CN104768008B - 一种用于可伸缩视频编码的快速编码方法 - Google Patents
一种用于可伸缩视频编码的快速编码方法 Download PDFInfo
- Publication number
- CN104768008B CN104768008B CN201510137002.XA CN201510137002A CN104768008B CN 104768008 B CN104768008 B CN 104768008B CN 201510137002 A CN201510137002 A CN 201510137002A CN 104768008 B CN104768008 B CN 104768008B
- Authority
- CN
- China
- Prior art keywords
- mrow
- macro block
- mode
- coding
- current coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000010410 layer Substances 0.000 claims description 60
- 239000013598 vector Substances 0.000 claims description 22
- 239000011229 interlayer Substances 0.000 claims description 20
- 238000005303 weighing Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 11
- 230000009467 reduction Effects 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009954 braiding Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种用于可伸缩视频编码的快速编码方法,涉及视频编码技术领域。为了解决现有可伸缩视频编码的快速编码技术存在的未能兼顾编码效率,未综合利用多种相关性等问题。通过探讨DCT系数的能量分布与宏块纹理同质性之间的关系,并利用最优化方法找到预测精度和运算时间减少量的最佳折中。研究了图像运动信息与编码模式之间的关系,通过利用基本层的信息以及相邻宏块的上下文信息,本发明显著减少参与Lagrangian率失真计算的候选模式数量,从而减少编码时间。实验证明,本发明可以在不损失编码器编码效率的前提下,极大地减少编码时间。相比于当前最先进的SVC快速算法,本发明需要更少的编码时间,但是可以获得和其他算法非常相似的率失真性能。
Description
技术领域
本发明涉及一种可伸缩视频编码的快速编码方法,涉及视频编码技术领域。
背景技术
SVC标准是以H.264/AVC视频编解码标准为基础,由国际电联电信标准化部门(ITU-T)视频编码专家组(VCEG)和国际标准化组织(ISO)动态图像专家组(MPEG)组成的联合视频专家组(JVT)共同制定的国际可伸缩视频编码标准。在保持高效率压缩的同时,SVC编码器产生的码流可实现在时间(帧率)、空间(分辨率)和视频质量(信噪比)上的可伸缩,即通过一次编码产生的码流可以解码出不同帧率、分辨率和质量等级的视频。现有可伸缩视频编码技术存在的主要问题有:
1、编码复杂度极高。为了实现对可伸缩性的支持,SVC标准采用了多层编码框架,继承了H.264/AVC标准中所有的先进编码技术并引入了层间编码技术和工具。SVC标准优异的编码性能是以极高的运算复杂度为代价的。这些复杂度极高的算法导致SVC视频编解码***的运算效率大大降低,无法满足实时视频通信的需求,严重阻碍了该标准的推广与应用。
2、未能兼顾编码效率和运算复杂度。在降低SVC标准运算复杂度的研究方面,来自学术界和工业界的研究人员做了很多努力,取得了丰富的研究成果。这些成果中,基本都未能克服编码效率和运算复杂度二者之间的矛盾。运算复杂度的降低是以牺牲编码效率为代价的。能够较大程度减少编码时间的算法通常会引起编码器编码性能的损失;而能够保证编码器编码性能不下降的快速算法,通常只能够减少少量的编码时间。
3、多种相关性信息未能得到综合利用。时间相关性,空间相关性等上下文信息常被用作先验知识,排除对部分编码模式的Lagrangian率失真代价的计算过程,达到减少编码时间的目的。SVC标准采用了多层编码框架,其引入的层间相关性尚未得到充分利用。此外,图像纹理和运动信息都可以为快速模式决策提供辅助信息。尚未有算法将上述的时间、空间、层间相关性,纹理信息和运动信息等信息有效结合用于模式决策过程,减少编码时间。
4、对具有不同特征的视频序列不具有普适性。现有的SVC快速编码算法一般采用单一线索减少候选编码模式的数量,这样的算法往往仅对具备某一特定特征的视频序列有效,而对其他视频序列的有效性则无法保证。因此,现有的算法对具有不同特征的视频序列不具有普适性。
发明内容
本发明的目的是提供一种用于可伸缩视频编码的快速编码方法,以解决现有可伸缩视频编码的快速编码技术存在未能兼顾编码效率和运算复杂度、没有综合利用多种相关性信息以及对具有不同特征的视频序列不具有普适性的问题。
本发明为解决上述技术问题采取的技术方案是:
一种用于可伸缩视频编码的快速编码方法,所述方法的实现过程为:
步骤一:检查增强层中的当前编码宏块在基本层中的相应宏块的编码模式;如果其在基本层中的相应宏块的编码模式是帧内编码,则进行步骤二;否则,进行步骤三;
步骤二:对当前编码宏块采用穷举式的模式选择,从包括层间预测模式和层内预测模式在内的所有候选模式中选择Lagrangian率失真代价最小的作为当前编码宏块的最优编码模式,然后,进行步骤十一;
步骤三:检查增强层中的当前编码宏块在基本层中的相应宏块的编码模式以及当前编码宏块的空间相邻宏块的编码模式;如果这些宏块中至少有一个宏块的编码模式为MODE_SKIP,则进行步骤四;否则,进行步骤六;
步骤四:比较当前编码宏块采用MODE_SKIP和MODE_16×16这两种编码模式时的Lagrangian率失真代价;如果采用MODE_SKIP时的Lagrangian率失真代价较小,则进行步骤五;否则,进行步骤六;
步骤五:将MODE_SKIP选作当前编码宏块的最优编码模式,然后,进行步骤十一;
步骤六:测量宏块内容的同质性(AC coefficients)
计算当前编码宏块的交流(AC)系数能量,交流系数能量的大小用来衡量宏块内容的同质性;通过比较当前编码宏块的交流系数能量和交流系数能量的门限值,确定当前编码宏块内容同质性的高低,如果当前编码宏块的交流系数能量大于门限值,说明当前编码宏块内容的同质性较低,则进行步骤七;否则,进行步骤十;
步骤七:计算增强层中的当前编码宏块在基本层中的相应宏块的运动向量差(MVDsum),MVDsum的大小可以用来衡量宏块运动的剧烈程度;通过比较当前编码宏块在基本层中相应宏块的MVDsum和MVDsum的门限值,确定当前编码宏块运动的剧烈程度,如果MVDsum值能量大于门限值,说明当前编码宏块内容运动剧烈,则进行步骤八;否则,进行步骤九;
步骤八:保持原有的匹配宏块的搜索范围,从所有候选模式中选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式;然后,进行步骤十一;
步骤九:将搜索范围减小为匹配宏块的原搜索范围的一半,从候选编码模式MODE_8×8,MODE_8×4,MODE_4×8,MODE_4×4,以及层间预测模式inter-layer textureprediction,inter-layer motion prediction和inter-layer residual prediction中选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式;然后,进行步骤十一;
步骤十:从较大的候选编码模式MODE_16×16、MODE_16×8和MODE_8×16中选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式;然后,进行步骤十一;
步骤十一:结束当前编码宏块的模式决策过程。
在步骤六中,
利用公式(1)计算当前编码宏块的交流(AC)系数能量,
由式(1)计算一个16×16大小的宏块f(m,n)的交流系数能量。
利用公式(5)计算AC系数能量大小的门限值,
由式(5)计算,在预测精度PA≥PAMIN的前提下,使预测精度与编码时间减少量的和达到最大值时的AC系数能量。
在步骤七中,利用公式(6)和公式(7)计算增强层中的当前编码宏块在基本层中相应宏块的运动向量差:
对于一个16×16的宏块,用16个运动向量的平均平方和作为该宏块的运动向量差MVDsum,
MVactual是实际运动向量值,MVp是预测的运动向量值,x和y分别代表水平和垂直方向。
采用与选择AC系数能量的门限值相同的方法,选择最合理的MVDsum门限值。
本发明的有益效果是:
本发明探讨了离散余弦变换(DCT)系数的能量分布与宏块纹理同质性之间的关系,并利用最优化方法找到预测精度和运算时间减少量的最佳折中。此外,本发明还研究了图像运动信息与编码模式之间的关系,用基本层的运动信息辅助增强层的编码。基于以上研究,本发明提出了一种快速SVC编码算法。该算法的提出可以有效解决SVC标准编码复杂度过高,远不能满足实时应用需求的问题,促进可伸缩视频编码标准的完善,推动其编码性能的进一步提升,尤其是可以突破其在实时性应用方面的障碍。因此,本发明对未来视频应用业务的发展将提供重要的理论与技术支撑。
本发明利用图像运动信息与编码模式之间的关系,通过基本层的信息以及相邻宏块的上下文信息来解决本发明所提出的问题,本发明方法显著减少参与Lagrangian率失真计算的候选模式数量,从而减少编码时间。实验证明,本发明可以在不损失编码器编码效率的前提下,极大地减少编码时间。相比于当前最先进的SVC快速算法,本发明需要更少的编码时间,但是可以获得和其他算法非常相似的率失真性能。
附图说明
图1为AC系数能量的门限值与预测精度和编码时间减少量之间的关系图;图中的横坐表示AC系数能量的门限值,左侧纵坐标表示预测精度,单位是%,右侧纵坐标表示编码时间的减少量,单位是%;
图2为MVD的门限值与预测精度和编码时间减少量之间的关系图;图中的横坐表示MVD的门限值,左侧纵坐标表示预测精度,单位是%,右侧纵坐标表示编码时间的减少量,单位是%;
图3为所提出的快速编码算法的流程图;
图4为对视频序列的率失真性能表现图,图中的“CIF-QCIF 30Hz”中文含义为基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF,视频序列的帧率是30Hz;
其中(a)Bus、(b)Foreman、(c)Mobile、(d)Mother-daughter;
图4(a)中,Bus中文含义为视频序列的名称是Bus,图中的横坐表示编码码率,也即比特率,单位是kbits/s,左侧纵坐标表示峰值信噪比,单位是dB,右侧纵坐标表示编码时间的减少量,单位是%;
图4(b)中,Foreman中文含义为视频序列的名称是Foreman,图中的横坐表示编码码率,也即比特率,单位是kbits/s,左侧纵坐标表示峰值信噪比,单位是dB,右侧纵坐标表示编码时间的减少量,单位是%;
图4(c)中,Mobile中文含义为视频序列的名称是Mobile,图中的横坐表示编码码率,也即比特率,单位是kbits/s,左侧纵坐标表示峰值信噪比,单位是dB,右侧纵坐标表示编码时间的减少量,单位是%;
图4(d)中,Mother-daughter中文含义为视频序列的名称是Mother-daughter,图中的横坐表示编码码率,也即比特率,单位是kbits/s,左侧纵坐标表示峰值信噪比,单位是dB,右侧纵坐标表示编码时间的减少量,单位是%。
具体实施方式
具体实施方式一:本实施方式描述用于可伸缩视频编码的快速编码方法的实现过程,编码框架如图3所示:
基本层的模式选择过程采用穷举式的模式决策算法。对于增强层,提出的快速编码算法如下所述:
步骤一:检查增强层中的当前编码宏块在基本层中的相应宏块的编码模式;如果其在基本层中的相应宏块的编码模式是帧内编码,则进行步骤二;否则,进行步骤三;
步骤二:对当前编码宏块采用穷举式的模式选择算法,从所有候选模式(包括八种帧间预测模式MODE_SKIP,MODE_16×16,MODE_16×8,MODE_8×16,MODE_8×8,MODE_8×4,MODE_4×8,MODE_4×4,两种帧内预测模式INTRA_16×16,INTRA_4×4,以及层间预测模式,inter-layer texture prediction,inter-layer motion prediction和inter-layerresidual prediction)中选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式。然后,进行步骤十一;
步骤三:检查增强层中的当前编码宏块在基本层中的相应宏块的编码模式以及当前编码宏块的空间相邻宏块的编码模式;如果这些宏块中至少有一个宏块的编码模式为MODE_SKIP,则进行步骤四;否则,进行步骤六;
步骤四:比较当前编码宏块采用MODE_SKIP和MODE_16×16这两种编码模式时的Lagrangian率失真代价。如果采用MODE_SKIP时的Lagrangian率失真代价较小,则进行步骤五;否则,进行步骤六;
步骤五:将MODE_SKIP选作当前编码宏块的最优编码模式。然后,进行步骤十一;
步骤六:利用公式(1)计算当前编码宏块的交流(AC)系数能量,交流系数能量的大小可以用来衡量宏块内容的同质性。通过比较当前编码宏块的交流系数能量和在下文中确定的交流系数能量的门限值,确定当前编码宏块内容同质性的高低。如果当前编码宏块的交流系数能量大于门限值,说明当前编码宏块内容的同质性较低,则进行步骤七;否则,进行步骤十;
步骤七:利用公式(7)计算增强层中的当前编码宏块在基本层中的相应宏块的运动向量差(MVD),MVD的大小可以用来衡量宏块运动的剧烈程度。通过比较当前编码宏块在基本层中的相应宏块的MVD和在下文中确定的MVD的门限值,确定当前编码宏块运动的剧烈程度。如果MVD值能量大于门限值,说明当前编码宏块内容运动剧烈,则进行步骤八;否则,进行步骤九;
步骤八:保持原有的匹配宏块的搜索范围,从所有候选模式中选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式。然后,进行步骤十一;
步骤九:将搜索范围减小为匹配宏块的原搜索范围的一半,从候选编码模式MODE_8×8,MODE_8×4,MODE_4×8,MODE_4×4,以及层间预测模式inter-layer textureprediction,inter-layer motion prediction和inter-layer residual prediction中选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式。然后,进行步骤十一;
步骤十:从较大的候选编码模式MODE_16×16、MODE_16×8和MODE_8×16中
选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式。然后,进行步骤十一;
步骤十一:结束当前编码宏块的模式决策过程。
在步骤六中,当前编码宏块的交流系数能量的计算过程描述如下:
DCT系数与图像纹理同质性间关系:在图像的平滑区域,经DCT变换后,图像的能量通常主要集中于图像的低频成分区域,而对于包含丰富细节的区域,图像的能量通常较多地分布在频域的交流系数上,也即高频成分区域。
根据能量守恒定律,一个16×16大小的宏块f(m,n)的交流(AC)系数能量可由式(1)计算
可以根据AC系数的能量判断宏块中包含图像细节的丰富程度。根据图像细节的丰富程度,可以减少参与Lagrangian率失真代价计算的候选编码模式的数量。
在步骤六中,判断AC系数能量大小的门限值的确定过程描述如下:
若要将宏块分类为细节丰富的宏块和细节较少的宏块,需要一个合理的AC系数能量的门限值。该门限需要最大程度的减少用于模式决策的时间,同时还要尽可能的保证重建图像的质量。因此,合理的AC系数能量的门限值需要满足式(2)
J(Thr)=D(Thr)+T(D|Thr) (2)
其中Thr是AC系数能量的门限值,D是预测的精确程度,由式(3)定义
其中,Pmode(i)是从部分编码模式中选择出来的最优编码模式;Fmode(i)是从全部编码模式中选择出来的最优编码模式。T是最优编码模式时从部分编码模式中选择出来的宏块数量。如果从部分编码模式中选择出来的最优编码模式与从全部编码模式中选择出来的最优编码模式一致,则Pmode(i)∩Fmode(i)等于1,否则等于0。因此,式(3)是从全部编码模式中和部分编码模式中选择出相同最优编码模式的比例。
我们的目的是在预测精度PA≥PAMIN的前提下,找到可以使预测精度与编码时间减少量的和达到最大值时的AC系数能量,并将其作为门限值。为了寻找该AC系数能量的门限值,式(3)转化为式(4)所示的最优化问题
式(4)的解由式(5)给出
由式(5)可知,最合理的AC系数能量的门限值可以使预测精度的斜率等于编码时间减少量的斜率的相反数。比该最合理门限小的门限值,可以使预测精度提高,但是需要较多的编码时间。比该最合理门限大的门限值,可以减少较多的编码时间,但是重建图像的质量会降低。
为了找到最合理的AC系数能量的门限值,我们对4个标准测试视频序列的编码数据进行了采集和分析。4个视频分别是Bus,Foreman,Mobile和Mother-daughter。对每个视频序列的前80帧进行编码,基本层编码的视频序列的格式是QCIF,增强层视频序列的格式是CIF。因此,编码数据采集自126720(4×80×22×18)个编码宏块。
表1给出了AC系数能量的门限值与预测精度和编码时间减少量之间的关系。相应的关系曲线如图1所示,图中PA代表预测精度,TR代表编码时间的减少量。
表1:AC系数能量的门限值与预测精度和编码时间减少量之间的关系
AC系数能量的门限值 | 50000 | 75000 | 100000 | 150000 | 200000 |
PA | 87.38 | 84.69 | 83.95 | 81.56 | 80.66 |
TR | 36.47 | 42.00 | 46.17 | 53.33 | 59.26 |
经过大量测试和分析,本发明中将125000选作最合理的AC系数能量的门限值。
在步骤七中,利用公式(7)计算增强层中的当前编码宏块在基本层中的相应宏块的运动向量差的过程描述如下:
并非所有基本层的上采样数据都适合层间预测,尤其对于包含缓慢运动和丰富空间细节视频序列,通过帧间预测往往可以获得更加精确匹配宏块。因此需要有效地度量视频序列的运动剧烈程度以及空间细节的多少。
增强层中的当前编码宏块在基本层中的相应宏块的运动向量差(MVD)可以作为运动剧烈程度的度量。MVD是实际运动向量与其预测值间的差值,由式(6)定义:
其中,MVactual是实际运动向量值,MVp是预测的运动向量值。x和y分别代表水平和垂直方向。
在SVC标准中,每个4×4块都分配一个运动向量。那么对于一个16×16的宏块,我们用16个运动向量的均方和作为该宏块的运动向量差,如式(7)所示。
一般来说,运动平缓的视频序列具有较小的MVD值,反之亦反。MVD值很容易从已编码的数据中抽取出来,这也符合本发明的降低SVC编码器的编码复杂度的目标。
在步骤七中,判断宏块运动剧烈程度的MVD门限值的确定过程描述如下:
一个合理的MVD门限值可以达到预测精度和编码时间减少量的最佳折中。该门限值在快速模式决策算法中起到重要的作用。最合理的MVD门限值需要满足以下两个条件。
(1)尽可能多地排除不必要的候选编码模式,节省尽量多的编码时间。
(2)尽可能高地保持预测精度,不引起重建图像质量的降低。
采用与上文中选择AC系数能量的门限值相同的方法,选择最合理的MVD门限值。
表2给出了MVD门限值与预测精度和编码时间减少量之间的关系。相应的关系曲线如图2所示,图中PA代表预测精度,TR代表编码时间的减少量。
表2:MVD门限值与预测精度和编码时间减少量之间的关系
MVD门限值 | 0.1 | 0.2 | 0.5 | 1.0 | 2.0 |
PA | 91.41 | 91.07 | 87.44 | 85.76 | 83.94 |
TR | 54.29 | 55.14 | 68.25 | 75.50 | 81.46 |
经过大量测试和分析,本发明将1.0选作最合理的MVD门限值。
对发明方法进行验证:
为了验证本发明的有效性,将所提出的算法(即本发明方法)整合进了JVT提供的标准参考软件JSVM 9.18中。实验中使用了由JVT推荐的4个具有不同运动剧烈程度和图像细节的标准视频测试序列。为了保证测试数据的可靠性,测试中使用了28至40之间的多个量化参数(Quantization Parameter,QP)。一直启用率失真优化。采用CABAC熵编码方法。运动向量的搜索范围设为±32像素,并采用1/4像素精度的运动估计。分层式B结构(Hierarchical B Structure)的GOP尺寸设置为16。每个视频序列所处理的帧数均为150帧。测试中,采用了一个基本层和一个增强层,基本层和增强层采用相同的QP值。
实验中,评价算法有效性的指标包括:
(1)编码时间的减少量(Time Reduction,TR),根据式(8)计算
TR=(TJSVM-TProposed)/TJSVM×100% (8)
其中,TJSVM和TProposed分别是标准参考软件JSVM和所提出算法编码视频序列所用的编码时间。
(2)加权平均峰值信噪比增加量PSNR(BDPSNR,dB)和加权平均比特率增加量bit rate(BDBR,%)。
(3)峰值信噪比增加量ΔPSNR和比特率增加量ΔBR
△PSNR=PSNRProposed-PSNRJSVM
其中PSNRProposed和PSNRJSVM分别是所提出算法和标准参考软件JSVM编码视频序列所得到的峰值信噪比。
△BR=(BRProposed-BRJSVM)/BRJSVM×100%
其中BRProposed和BRJSVM分别是所提出算法和标准参考软件JSVM编码视频序列所产生的比特率。
1.与标准参考软件JSVM的性能比较
本发明所提出的算法与标准参考软件JSVM 9.18的对比结果如表3所示。
表3:编码QCIF/CIF序列时的性能比较
从表3中可见,与标准参考软件JSVM 9.18相比,所提出的算法能够明显地减少编码时间,同时并不会引起明显的比特率增加与重建图像质量损失。具体来说,所提出的算法可以减少61%~84%的编码时间,而对率失真性能的影响是可以忽略不计的,即峰值信噪比的降低介于0.02dB到0.10dB之间,而比特率的增加介于0.43%至1.96%之间。
从表3中可以很明显地看出,编码时间的减少量随着QP值的增加而增加。所提出的算法对运动平缓并含有少量细节的视频序列表现最好,对于运动复杂并含有丰富细节的视频序列也可以有效地减少编码时间。比如,对于Mother-Daughter这种包含大部分静态区域的视频序列,平均节省的编码时间可以达到78%,当QP值为40时,节省的编码时间可以达到84%。所提出算法能够大大减少编码所用时间,这得益于算法能够有效地提前排除不可能成为最优编码模式的模式。对于Mother-Daughter这种视频序列,候选编码模式往往可以提前局限于MODE_SKIP和MODE_16×16,因此可以明显地减少编码时间。
本发明所提出的算法与标准参考软件JSVM 9.18的综合性能比较如表4所示。相对于标准参考软件JSVM 9.18,所提出算法能够平均减少63%到80%的编码时间,同时引起的峰值信噪比的降低小于0.08dB,而比特率的增加不超过1.29%。
表4:所提出的算法与标准参考软件JSVM 9.18的综合性能比较
编码不同视频序列所得到的率失真曲线如图4所示。在图4中,不同QP值所对应的时间减少量也同时做出了标注。每个子图中的两条率失真曲线几乎重叠,这说明所提出的算法和标准参考软件JSVM 9.18能够获得非常相似的编码效率。图中的时间减少量曲线说明对于不同的视频序列,所提出的算法都能够减少60%以上的编码时间。
为了测试所提出算法的鲁棒性。我们对更高分辨率的视频序列进行了实验。此外我们还测试了多个增强层的情况。表5中比较了使用提出的算法与标准参考软件JSVM 9.18编码更高分辨率的视频时,两者的编码性能:基本层编码CIF图像,增强层编码4CIF图像。表6比较了使用提出的算法与标准参考软件JSVM 9.18编码两个增强层时,两者的编码性能:基本层编码QCIF图像,第一增强层编码CIF图像,第二增强层编码4CIF图像。
表5:编码CIF/4CIF序列时的性能比较
表6:编码QCIF/CIF/4CIF序列时的性能比较
表5和表6表明,提出的算法能够在保持和标准参考软件JSVM 9.18非常接近的编码效率的同时,可以大幅度降低SVC标准的编码复杂度。具体地说,编码CIF/4CIF视频序列时,平均编码时间可以减少57%~59%。编码两个增强层时,平均编码时间可以减少67%~69%。
2.与当前最先进的SVC快速编码算法的性能比较
提出的算法与当前最先进的三种SVC快速编码算法进行了比较。这三种算法是分别由Kim,Zhao和Lee提出的。对比试验中,我们采用了相同的视频序列以及完全一样的测试条件。
对比实验的结果如表7至表9所示。实验结果表明,提出的算法能够减少更多的编码时间。此外,与这三种快速编码算法相比,我们提出的算法所引起的比特率增加较小,峰值信噪比的降低也较小。因此可以说,相比于当前最先进的SVC快速算法,我们提出的算法具有更加优秀的编码性能。
表7:与Kim提出的算法的编码性能比较
表8:与Lee提出的算法的编码性能比较
表9:与Zhao提出的算法的编码性能比较
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (3)
1.一种用于可伸缩视频编码的快速编码方法,其特征在于,所述方法的实现过程为:
步骤一:检查增强层中的当前编码宏块在基本层中的相应宏块的编码模式;如果其在基本层中的相应宏块的编码模式是帧内编码,则进行步骤二;否则,进行步骤三;
步骤二:对当前编码宏块采用穷举式的模式选择,从包括层间预测模式和层内预测模式在内的所有候选模式中选择Lagrangian率失真代价最小的作为当前编码宏块的最优编码模式,然后,进行步骤十一;
步骤三:检查增强层中的当前编码宏块在基本层中的相应宏块的编码模式以及当前编码宏块的空间相邻宏块的编码模式;如果这些宏块中至少有一个宏块的编码模式为MODE_SKIP,则进行步骤四;否则,进行步骤六;
步骤四:比较当前编码宏块采用MODE_SKIP和MODE_16×16这两种编码模式时的Lagrangian率失真代价;如果采用MODE_SKIP时的Lagrangian率失真代价较小,则进行步骤五;否则,进行步骤六;
步骤五:将MODE_SKIP选作当前编码宏块的最优编码模式,然后,进行步骤十一;
步骤六:测量宏块内容的同质性
计算当前编码宏块的交流系数能量,交流系数能量的大小用来衡量宏块内容的同质性;通过比较当前编码宏块的交流系数能量和交流系数能量的门限值,确定当前编码宏块内容同质性的高低,如果当前编码宏块的交流系数能量大于门限值,说明当前编码宏块内容的同质性较低,则进行步骤七;否则,进行步骤十;
步骤七:计算增强层中的当前编码宏块在基本层中的相应宏块的运动向量差MVDsum,MVDsum的大小可以用来衡量宏块运动的剧烈程度;通过比较当前编码宏块在基本层中相应宏块的MVDsum和MVDsum的门限值,确定当前编码宏块运动的剧烈程度,如果MVDsum值能量大于门限值,说明当前编码宏块内容运动剧烈,则进行步骤八;否则,进行步骤九;
步骤八:保持原有的匹配宏块的搜索范围,从所有候选模式中选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式;然后,进行步骤十一;
步骤九:将搜索范围减小为匹配宏块的原搜索范围的一半,从候选编码模式MODE_8×8,MODE_8×4,MODE_4×8,MODE_4×4,以及层间预测模式inter-layertextureprediction,inter-layer motion prediction和inter-layer residualprediction中选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式;然后,进行步骤十一;
步骤十:从较大的候选编码模式MODE_16×16、MODE_16×8和MODE_8×16中选择Lagrangian率失真代价最小的,作为当前编码宏块的最优编码模式;然后,进行步骤十一;
步骤十一:结束当前编码宏块的模式决策过程。
2.根据权利要求1所述的一种用于可伸缩视频编码的快速编码方法,其特征在于,在步骤六中,
利用公式(1)计算当前编码宏块的交流(AC)系数能量,
<mrow>
<msub>
<mi>E</mi>
<mrow>
<mi>A</mi>
<mi>C</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>m</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>15</mn>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>15</mn>
</munderover>
<msup>
<mrow>
<mo>(</mo>
<mi>f</mi>
<mo>(</mo>
<mrow>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>-</mo>
<mfrac>
<mn>1</mn>
<mn>256</mn>
</mfrac>
<msup>
<mrow>
<mo>(</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>m</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>15</mn>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>15</mn>
</munderover>
<mi>f</mi>
<mo>(</mo>
<mrow>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
由式(1)计算一个16×16大小的宏块f(m,n)的交流系数能量;
利用公式(5)计算AC系数能量大小的门限值,
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<mfrac>
<mrow>
<mo>&part;</mo>
<mi>D</mi>
<mrow>
<mo>(</mo>
<mi>T</mi>
<mi>h</mi>
<mi>r</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>T</mi>
<mi>h</mi>
<mi>r</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mo>&part;</mo>
<mi>T</mi>
<mrow>
<mo>(</mo>
<mi>D</mi>
<mo>|</mo>
<mi>T</mi>
<mi>h</mi>
<mi>r</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>T</mi>
<mi>h</mi>
<mi>r</mi>
</mrow>
</mfrac>
<mo>=</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mfrac>
<mrow>
<mo>&part;</mo>
<mi>D</mi>
<mrow>
<mo>(</mo>
<mi>T</mi>
<mi>h</mi>
<mi>r</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>T</mi>
<mi>h</mi>
<mi>r</mi>
</mrow>
</mfrac>
<mo>=</mo>
<mo>-</mo>
<mfrac>
<mrow>
<mo>&part;</mo>
<mi>T</mi>
<mrow>
<mo>(</mo>
<mi>D</mi>
<mo>|</mo>
<mi>T</mi>
<mi>h</mi>
<mi>r</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>T</mi>
<mi>h</mi>
<mi>r</mi>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
由式(5)计算,在预测精度PA≥PAMIN的前提下,使预测精度与编码时间减少量的和达到最大值时的AC系数能量,其中Thr是AC系数能量的门限值;D是预测的精确程度;T是最优编码模式时从部分编码模式中选择出来的宏块数量。
3.根据权利要求2所述的一种用于可伸缩视频编码的快速编码方法,其特征在于,在步骤七中,利用公式(6)和公式(7)计算增强层中的当前编码宏块在基本层中相应宏块的运动向量差:
对于一个16×16的宏块,用16个运动向量的平均平方和作为该宏块的运动向量差MVDsum,
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<mo>|</mo>
<msub>
<mi>MVD</mi>
<mi>x</mi>
</msub>
<mo>|</mo>
<mo>=</mo>
<mo>|</mo>
<msubsup>
<mi>MV</mi>
<mrow>
<mi>a</mi>
<mi>c</mi>
<mi>t</mi>
<mi>u</mi>
<mi>a</mi>
<mi>l</mi>
</mrow>
<mi>x</mi>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>MV</mi>
<mi>p</mi>
<mi>x</mi>
</msubsup>
<mo>|</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>|</mo>
<msub>
<mi>MVD</mi>
<mi>y</mi>
</msub>
<mo>|</mo>
<mo>=</mo>
<mo>|</mo>
<msubsup>
<mi>MV</mi>
<mrow>
<mi>a</mi>
<mi>c</mi>
<mi>t</mi>
<mi>u</mi>
<mi>a</mi>
<mi>l</mi>
</mrow>
<mi>y</mi>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>MV</mi>
<mi>p</mi>
<mi>y</mi>
</msubsup>
<mo>|</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>6</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>MVD</mi>
<mrow>
<mi>s</mi>
<mi>u</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>15</mn>
</munderover>
<mfrac>
<msqrt>
<mrow>
<msubsup>
<mi>MVD</mi>
<mi>x</mi>
<mn>2</mn>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>MVD</mi>
<mi>y</mi>
<mn>2</mn>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
</mrow>
</msqrt>
<mn>16</mn>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>7</mn>
<mo>)</mo>
</mrow>
</mrow>
MVactual是实际运动向量值,MVp是预测的运动向量值,x和y分别代表水平和垂直方向;
采用与权利要求2中选择AC系数能量的门限值相同的方法,选择最合理的MVDsum门限值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510137002.XA CN104768008B (zh) | 2015-03-26 | 2015-03-26 | 一种用于可伸缩视频编码的快速编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510137002.XA CN104768008B (zh) | 2015-03-26 | 2015-03-26 | 一种用于可伸缩视频编码的快速编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104768008A CN104768008A (zh) | 2015-07-08 |
CN104768008B true CN104768008B (zh) | 2018-01-30 |
Family
ID=53649568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510137002.XA Active CN104768008B (zh) | 2015-03-26 | 2015-03-26 | 一种用于可伸缩视频编码的快速编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104768008B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109544591B (zh) * | 2018-10-31 | 2021-05-28 | 北京金山云网络技术有限公司 | 一种运动估计方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101888553A (zh) * | 2010-06-30 | 2010-11-17 | 香港应用科技研究院有限公司 | 用于可伸缩视频编码的方法和装置 |
CN102801980A (zh) * | 2012-08-09 | 2012-11-28 | 芯原微电子(北京)有限公司 | 一种用于可伸缩视频编码的解码装置和方法 |
CN103533369A (zh) * | 2013-10-24 | 2014-01-22 | 东南大学 | 一种可分级视频编码空间增强层的快速模式选择方法 |
CN104320660A (zh) * | 2014-10-31 | 2015-01-28 | 中国科学技术大学 | 用于无损视频编码的率失真优化方法及编码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8705624B2 (en) * | 2009-11-24 | 2014-04-22 | STMicroelectronics International N. V. | Parallel decoding for scalable video coding |
-
2015
- 2015-03-26 CN CN201510137002.XA patent/CN104768008B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101888553A (zh) * | 2010-06-30 | 2010-11-17 | 香港应用科技研究院有限公司 | 用于可伸缩视频编码的方法和装置 |
CN102801980A (zh) * | 2012-08-09 | 2012-11-28 | 芯原微电子(北京)有限公司 | 一种用于可伸缩视频编码的解码装置和方法 |
CN103533369A (zh) * | 2013-10-24 | 2014-01-22 | 东南大学 | 一种可分级视频编码空间增强层的快速模式选择方法 |
CN104320660A (zh) * | 2014-10-31 | 2015-01-28 | 中国科学技术大学 | 用于无损视频编码的率失真优化方法及编码方法 |
Non-Patent Citations (1)
Title |
---|
基于小波变换的多视角视频可伸缩编码***;金雪松等;《计算机工程》;20130131;第39卷(第1期);第298-303页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104768008A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101385356B (zh) | 采用帧内预测模式的图像编码方法 | |
CN101964906B (zh) | 基于纹理特性的快速帧内预测方法和装置 | |
CN102484719B (zh) | 对视频编码的方法和设备及对视频解码的方法和设备 | |
CN100586184C (zh) | 帧内预测方法 | |
CN103634606B (zh) | 视频编码方法和装置 | |
CN107087200B (zh) | 针对高效率视频编码标准的跳过编码模式提前判决方法 | |
CN101247525B (zh) | 一种提高图像帧内编码速率的方法 | |
CN102025995B (zh) | 一种可伸缩视频编码的空间增强层快速模式选择方法 | |
CN106231312A (zh) | 用于对图像进行编码的装置 | |
CN1323555C (zh) | H.264/avc多参考帧的快速选择方法 | |
CN101056408B (zh) | 用于确定视频编码中跳跃模式的阈值的方法和装置 | |
CN103607590A (zh) | 基于结构相似度的高效视频编码感知率失真优化方法 | |
CN101557519B (zh) | 一种多视点视频编码方法 | |
CN106060555A (zh) | 一种基于多核处理器的编码器 | |
CN104768008B (zh) | 一种用于可伸缩视频编码的快速编码方法 | |
KR20060085004A (ko) | H.264/avc에서의 고속 매크로블록 모드 선택 방법 | |
Kondo et al. | Tree structured hybrid intra prediction | |
CN104954785A (zh) | 一种用于可伸缩视频编码的分层式模式决策方法 | |
KR20060085003A (ko) | H.264/avc에서의 시방향 에러은닉 방법 | |
Kim et al. | A fast mode selection algorithm in H. 264 video coding | |
Chen et al. | Adaptive linear prediction for block-based lossy image coding | |
CN101277449A (zh) | 一种264视频以任意比例降低分辨率的像素域转码的方法 | |
Yu et al. | A fast intra mode selection method for H. 264 high profile | |
Wei et al. | An efficient intra-mode selection algorithm for H. 264 based on edge classification and rate-distortion estimation | |
Huang et al. | Memory analysis of VLSI architecture for 5/3 and 1/3 motion-compensated temporal filtering [video coding applications] |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190620 Address after: 150000 Heilongjiang Harbin Dalian economic and Trade Zone, the North Road and Xingkai Road intersection Patentee after: HIT ROBOT GROUP Co.,Ltd. Address before: 150001 No. 92 West straight street, Nangang District, Heilongjiang, Harbin Patentee before: Harbin Institute of Technology |
|
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20240626 Granted publication date: 20180130 |