视频编码处理方法与流程

文档序号:17009044发布日期:2019-03-02 02:10阅读:295来源:国知局
视频编码处理方法与流程

本发明涉及视频编解码技术领域,特别涉及一种视频编码处理方法。



背景技术:

视频编码,是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。

在进行视频编码处理时,考虑到现实生活中物体运动是连续的,一个连续的视频序列中前后两帧视频图像之间的差异比较小,可能只是物体的相对位置发生了变化,或者这两帧图像在边界上发生了变化。对于视频编码器而言,如果对整个视频图像进行编码,则会造成很大的码流浪费,如果只根据两幅图像的差异和参考帧进行编码,则可大大减低码流浪费。

现有的视频编码方法在进行运动估计运算过程中计算量较大,导致编码效率较低。



技术实现要素:

鉴于此,本发明实施例提供了一种视频编码处理方法,所述方法包括:

将待编码图像分割为至少一个互不重叠的预测单元;

对于所述预测单元,基于高级向量预测为所述预测单元构建候选运动向量列表,所述候选运动向量列表包括所述预测单元的至少一个运动向量;

计算所述候选运动向量列表中每个运动向量的率失真代价,并从计算结果中获取高级向量预测的最小率失真代价值和高级向量预测的最优运动向量;

以所述高级向量预测的最优运动向量在参考帧中的映射点为初选点进行整像素运动估计,并从计算结果中获取整像素运动估计的最优运动向量;

将所述整像素运动估计的最优运动向量进行第一放大操作处理,得到第一放大操作处理的参考最优运动向量;

当所述高级向量预测的最优运动向量和所述第一放大操作处理的参考最优运动向量相同时,将所述高级向量预测的最优运动向量和所述高级向量预测的最小率失真代价值进行运动估计;

将该待编码图像输入到编码器中进行编码预测,得到每个预测单元在参考帧中的预测图像块;

将预测图像块和原始预测单元作差,得到预测残差块,并对预测残差块分别进行离散余弦变换变换和量化处理,得到量化的离散余弦变换系数;

将量化的离散余弦变换系数进行熵编码,得到压缩码率并输出;

将量化的离散余弦变换系数进行反量化处理和反离散余弦变换变换,得到重构图像的残差块,进而将重构图像的残差块与帧内或帧间的预测图像块相加,得到重构图像;

将重构图像经过去块滤波和自适应像素补偿处理后,加入到参考帧队列中,并作为下一帧待编码图像的参考图像。

优选地,所述视频编码处理方法还包括:

当所述高级向量预测的最优运动向量和所述第一放大操作处理的参考最优运动向量不同时,以所述整像素运动估计的最优运动向量在参考帧中的映射点为初选点进行第二放大操作处理,并从计算结果中获取第二放大操作处理的最优运动向量;

以所述第二放大操作处理的最优运动向量在参考帧中的映射点为初选点进行第一放大操作处理,得到第一放大操作处理的最小率失真代价值和第一放大操作处理的最优运动向量;

如果所述高级向量预测的最小率失真代价值小于所述第一放大操作处理的最小率失真代价值,则将所述高级向量预测的最优运动向量和所述高级向量预测的最小率失真代价值确定为运动估计过程的最优结果;

如果所述高级向量预测的最小率失真代价值大于所述第一放大操作处理的最小率失真代价值,则将所述第一放大操作处理的最优运动向量和所述高级向量预测的最小率失真代价值确定为运动估计过程的最优结果。

采用本发明,通过计算候选运动向量列表中每个运动向量的率失真代价,获取高级向量预测的最优运动向量,通过将整像素运动估计的最优运动向量执行第一方法操作处理,获取第一放大操作处理的参考最优运动向量,当高级向量预测的最优运动向量与第一放大操作处理的参考最优运动向量相同时,无需进行第二放大操作处理和第一放大操作处理,直接将高级向量预测的最优运动向量和高级向量预测的最小率失真代价值作为最优结果,从而减小了进行第二放大操作处理和第一放大操作处理计算的计算量,缩短了运动估计过程的时长,提高了视频编码效率。

附图说明

图1为本发明实施例提供的视频编码处理方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

参考图1,本发明实施例提供的视频编码处理方法包括如下步骤:

步骤一、将待编码图像分割为至少一个互不重叠的预测单元。

步骤二、对于所述预测单元,基于高级向量预测为所述预测单元构建候选运动向量列表,所述候选运动向量列表包括所述预测单元的至少一个运动向量。

步骤三、计算所述候选运动向量列表中每个运动向量的率失真代价,并从计算结果中获取高级向量预测的最小率失真代价值和高级向量预测的最优运动向量。

步骤四、以所述高级向量预测的最优运动向量在参考帧中的映射点为初选点进行整像素运动估计,并从计算结果中获取整像素运动估计的最优运动向量。

步骤五、将所述整像素运动估计的最优运动向量进行第一放大操作处理,得到第一放大操作处理的参考最优运动向量。

步骤六、当所述高级向量预测的最优运动向量和所述第一放大操作处理的参考最优运动向量相同时,将所述高级向量预测的最优运动向量和所述高级向量预测的最小率失真代价值进行运动估计。

步骤七、将该待编码图像输入到编码器中进行编码预测,该过程主要利用视频数据的空间相关性和时间相关性,采用帧内预测或帧间预测去除每个预测单元的时空域冗余信息,得到每个预测单元在参考帧中的预测图像块。

步骤八、将预测图像块和原始预测单元作差,得到预测残差块,并对预测残差块分别进行离散余弦变换变换和量化处理,得到量化的离散余弦变换系数。

离散余弦变换是一种与傅里叶变换紧密相关的数学运算,在傅里叶级数展开式中,如果被展开的函数为实偶函数,则其傅里叶级数中只包含余弦项,在将其离散化后可得到余弦变换,该过程即为离散余弦变换。量化处理为数字信号处理领域一种常用的技术,是指将信号的连续取值或者离散取值近似为有限多个离散值的过程。量化处理主要应用于从连续信号到数字信号的转换中,连续信号经过采样成为离散信号,离散信号经过量化即成为数字信号。

步骤九、将量化的离散余弦变换系数进行熵编码,得到压缩码率并输出。

步骤十、将量化的离散余弦变换系数进行反量化处理和反离散余弦变换变换,得到重构图像的残差块,进而将重构图像的残差块与帧内或帧间的预测图像块相加,得到重构图像。

步骤十一、将重构图像经过去块滤波和自适应像素补偿处理后,加入到参考帧队列中,并作为下一帧待编码图像的参考图像。通过循环执行上述步骤使得视频图像能够一帧帧地向后编码。其中去块滤波的主要作用是增强图像的边界,降低图像边界不连续性。自适应像素补偿主要用于对经过区块滤波处理后的图像进行局部信息补偿,以减少源图像和重构图像之间的失真。

在所述步骤二中,对于待编码图像中任一预测单元,终端为该预测单元构建候选运动向量列表。

在视频编码过程中,对于任一待编码图像,终端可按照预设格式将该待编码图像分割成至少一个相互独立的宏块。该预设格式由终端设置,可以为4*4、8*8、16*16等。对于每个预测单元,终端可为该预测单元构建一个候选运动向量列表,该候选运动向量列表中包括当前预测单元的至少一个运动向量,该至少一个运动向量包括时域运动向量和空域运动向量。

具体地,可以采取以下步骤来构建候选运动向量列表:

步骤2011、基于高级向量预测,终端构建空域候选列表和时域候选列表。

空域候选列表包括当前预测单元的至少一个空域运动向量。举例来说,基于高级向量预测构建空域候选列表时,需要从a0、a1中选出一个候选运动向量,从b0、b1、b2中选出一个候选运动向量。对于a0、a1的选择顺序为a0->a1->scaleda0->scaleda1,该scaled为比例伸缩模式,当前一个块的运动向量可用时,该块即为候选运动向量,并停止对后续块的判断。对于b0、b1、b2的选择顺序为(scaledb0->scaledb1->scaledb2)b0->b1->b2,当前一个块的运动向量可用时,该块即为候选运动向量,并停止对后续块的判断。

时域候选列表包括至少一个时域运动向量。基于高级向量预测构建时域候选列表时,可根据临近已编码图像中对应参考块所在位置的预测单元的运动信息进行选取。

步骤2012、终端从空域候选列表中,选取第一预设数量个空域运动向量。

步骤2013、终端从时域候选列表中,选取第二预设数量个时域运动向量。

步骤2014、终端根据第一预设数量个空域运动向量和第二预设数量个时域运动向量,构建第一运动预测列表。通过将第一预设数量个空域运动向量和第二预设数量个时域运动向量加入到同一列表中,可得到第一运动预测列表。

步骤2015、终端对第一运动预测列表中相同的运动向量进行合并,并采用零运动向量进行填补,得到第二运动预测列表。

对于第一运动预测列表中的运动向量,终端可将第一运动预测列表中相同的运动向量进行合并。具体地,终端可将第一运动预测列表中第一预设数量个空域运动向量中相同的运动向量进行合并,并将第二预设数量个时域运动向量中相同的运动向量进行合并。当对第一运动预测列表中相同的运动向量进行合并后,第一运动预测列表中运动向量的数量将减少,此时可通过构造零运动向量进行填补,从而得到第二运动预测列表。

步骤2016、终端从第二运动预测列表中,选取第三预设数量个运动向量。

为了提高计算精度,在从第二运动预测列表中,选取第三预设数量个运动向量时,需保证所选取的第三预设数量个运动向量中同时包括时域运动向量和空域运动向量。

步骤2017、根据第三预设数量个运动向量,构建候选运动向量列表。

终端通过将第三预设数量个运动向量加入到同一列表中,可得到候选运动向量列表。

下面举一例来详细阐述构建候选运动向量列表的过程,基于高级向量预测终端构建一个空域候选列表和时域候选列表,该空域候选列表包括5个空域运动向量,时域候选列表包括2个时域运动向量。终端从空域候选列表中选取2个空域运动向量,从时域候选列表中选取1个时域运动向量,通过对所选取的空域运动向量和时域运动向量进行合并,并采用零运动向量进行填补,可得到候选运动向量列表。

1、终端计算候选运动向量列表中每个运动向量的率失真代价,并从计算结果中获取高级向量预测的最优运动向量和高级向量预测的最小率失真代价值。

终端在计算候选运动向量列表中每个运动向量的率失真代价时,可采用残差变换后再绝对值求和计算候选运动向量列表中每个运动向量的率失真代价,得到至少一个率失真代价值。其中,残差变换后再绝对值求和是指将预测残差块经过哈德曼变换后再绝对值求和。从计算结果中获取高级向量预测的最优运动向量和高级向量预测的最小率失真代价值时,可从至少一个率失真代价值中,选取最小的率失真代价值,进而将所选取的率失真代价值作为高级向量预测的最小率失真代价值,将高级向量预测的最小率失真代价值对应的运动向量作为高级向量预测的最优运动向量。

2、终端以高级向量预测的最优运动向量在参考帧中的映射点为初选点进行整像素运动估计,并从计算结果中获取整像素运动估计的最优运动向量。

终端获取高级向量预测的最优运动向量在参考帧中的映射点,并以映射点为初选点进行整像素运动估计,在整像素运动估计过程中,终端根据每次移动的位置,可确定一个运动向量,进而计算所确定的运动向量的率失真代价,得到率失真代价值。整像素运动估计过程结束后,终端从得到的率失真代价值中,选取最小的率失真代价值,并将最小的率失真代价值对应的运动向量作为整像素运动估计的最优运动向量。其中,整像素运动估计的最优运动向量可用运动向量_整像素运动估计表示。

由于高级向量预测对应的像素精度为1/4像素精度,而目前以高级向量预测的最优运动向量在参考帧中的映射点为初选点进行整像素运动估计时,只参考整像素位置,却忽略了分像素位置,导致确定的初选点并不准确。

为了提高整像素运动估计的初选点的准确性,本发明实施例提供的方法还将对高级向量预测的最优运动向量在参考帧中的映射点的位置进行修正,进而以修正后的位置为初选点进行整像素运动估计。考虑到运动向量_高级向量预测的像素精度为1/4像素精度,在修正初选点的位置时可结合分像素位置,使得修正后的初选点的位置更接近实际的整像素位置。具体修正时,可采用如下规则:如果向正方向移动,则先加上2个单位再右移2个单位;如果向负方向移动,则先减去2个单位再右移2个单位,该正方向和负方向由所建立的坐标系确定。

3、终端将整像素运动估计的最优运动向量进行第一放大操作处理,例如放大到1/4像素精度,得到1/4像素运动估计的参考最优运动向量,并判断高级向量预测的最优运动向量与1/4像素运动估计的参考最优运动向量是否相同。

基于所得到的整像素运动估计的最优运动向量,终端通过将运动向量_整像素运动估计左移2个单位,得到1/4像素运动估计的参考最优运动向量,该1/4像素运动估计的参考最优运动向量理论上为进行1/4像素运动估计得到的最优运动向量,该1/4像素运动估计的参考最优运动向量可用运动向量_new表示,该过程记为运动向量_new=运动向量_整像素运动估计<<2。

由于高级向量预测的最优运动向量与1/4像素运动估计的参考最优运动向量为采用不同方法得到的、理论上的1/4像素运动估计对应的最优运动向量,因此,本发明实施例终端通过将高级向量预测的最优运动向量与1/4像素运动估计的参考最优运动向量进行比较,可确定是否需要进行1/2像素运动估计和1/4像素运动估计。当高级向量预测的最优运动向量和1/4像素运动估计的参考最优运动向量相同时,则确定无需进行1/2像素运动估计和1/4像素运动估计;当高级向量预测的最优运动向量和1/4像素运动估计的参考最优运动向量不同时,则确定需要进行1/2像素运动估计和1/4像素运动估计。

4、终端将高级向量预测的最优运动向量和高级向量预测的最小率失真代价值确定为运动估计过程的最优结果。

当高级向量预测的最优运动向量和1/4像素运动估计的参考最优运动向量相同时,终端无需进行1/2像素运动估计和1/4像素运动估计,直接将高级向量预测的最优运动向量和高级向量预测的最小率失真代价值确定为运动估计过程的最优结果。

由于无需进行1/2像素运动估计和1/4像素运动估计,因而大大降低了运动估计过程的计算量,缩短了视频编码时间,提高了视频编码效率。

5、终端以整像素运动估计的最优运动向量在参考帧中的映射点为初选点进行1/2像素运动估计,并从计算结果中获取1/2像素运动估计的最优运动向量。

当高级向量预测的最优运动向量和1/4像素运动估计的参考最优运动向量不同时,为了确保视频编码精度,终端将以整像素运动估计的最优运动向量在参考帧中的映射点为初选点进行1/2像素运动估计。在进行1/2像素运动估计之前,终端可根据参考帧中的整像素位置,通过进行插值计算,得到1/2像素位置。基于所得到的1/2像素位置和原有的整像素位置,终端以整像素运动估计的最优运动向量在参考帧中的映射点为初选点进行1/2像素运动估计。在以整像素运动估计的最优运动向量在参考帧中的映射点为初选点进行移动的过程中,终端根据每次移动的位置,确定一个运动向量,进而计算所确定的运动向量的率失真代价,得到率失真代价值。1/2像素运动估计过程结束后,终端从得到的率失真代价值中,选取最小的率失真代价值,并将最小的率失真代价值对应的运动向量作为1/2像素运动估计的最优运动向量。其中,1/2像素运动估计的最优运动向量可用运动向量_1/2像素运动估计表示。

6、终端以1/2像素运动估计的最优运动向量在参考帧中的映射点为初选点进行1/4像素运动估计,得到1/4像素运动估计的最小率失真代价值和1/4像素运动估计的最优运动向量。

基于得到的1/2像素位置和原有的整像素位置,通过进行插值计算可得到1/4像素位置,进而基于所得到的1/4像素位置、1/2像素位置及原有的整像素位置,终端以1/2像素运动估计的最优运动向量在参考帧中的映射点为初选点进行1/4像素运动估计。在以1/2像素运动估计的最优运动向量在参考帧中的映射点为初选点进行移动的过程中,终端根据每次移动的位置,确定一个运动向量,进而计算所确定的运动向量的率失真代价,得到率失真代价值。1/4像素运动估计过程结束后,终端从得到的率失真代价值中,选取最小的率失真代价值,该最小的率失真代价值即为1/4像素运动估计的最小率失真代价值,该1/4像素运动估计的最小率失真代价值对应的运动向量为1/4像素运动估计的最优运动向量。

7、根据高级向量预测的最小率失真代价值、1/4像素运动估计的最小率失真代价值、高级向量预测的最优运动向量及1/4像素运动估计的最优运动向量,确定运动估计过程的最优结果。

由于高级向量预测的最小率失真代价值与1/4像素运动估计的最小率失真代价值为采用不同方法得到的、理论上的1/4像素运动估计对应的率失真代价值,终端通过将高级向量预测的最小率失真代价值和1/4像素运动估计的最小率失真代价值进行比较,可以最小的计算量为代价的前提下,得到高精度运动向量。

具体地,在确定运动估计过程的最优结果时,包括但不限于如下两种情况:

1、如果高级向量预测的最小率失真代价值小于1/4像素运动估计的最小率失真代价值,则终端将高级向量预测的最优运动向量和高级向量预测的最小率失真代价值确定为运动估计过程的最优结果。

当高级向量预测的最小率失真代价值小于1/4像素运动估计的最小率失真代价值时,说明采用高级向量预测方法获取高级向量预测的最优运动向量时计算量最小,因而终端可将高级向量预测的最优运动向量和高级向量预测的最小率失真代价值确定为运动估计过程的最优结果。

2、如果高级向量预测的最小率失真代价值大于1/4像素运动估计的最小率失真代价值,则终端将1/4像素运动估计的最优运动向量和1/4像素运动估计的最小率失真代价值确定为运动估计过程的最优结果。

当高级向量预测的最小率失真代价值大于1/4像素运动估计的最小率失真代价值时,说明采用高级向量预测方法获取高级向量预测的最优运动向量时计算量较大,因而终端可将1/4像素运动估计的最优运动向量和1/4像素运动估计的最小率失真代价值确定为运动估计过程的最优结果。

本发明实施例提供的方法,通过计算候选运动向量列表中每个运动向量的率失真代价,获取高级向量预测的最优运动向量,通过将整像素运动估计的最优运动向量放大到1/4精度,获取1/4像素运动估计的参考最优运动向量,当高级向量预测的最优运动向量与1/4像素运动估计的参考最优运动向量相同时,无需进行1/2像素运动估计和1/4像素运动估计,直接将高级向量预测的最优运动向量和高级向量预测的最小率失真代价值作为最优结果,从而减小了进行1/2像素运动估计和1/4像素运动估计计算的计算量,提高了视频编码的效率。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1