CN103281533B - 用于可伸缩视频编码中增强层运动估计的设备和方法 - Google Patents

用于可伸缩视频编码中增强层运动估计的设备和方法 Download PDF

Info

Publication number
CN103281533B
CN103281533B CN201310178010.XA CN201310178010A CN103281533B CN 103281533 B CN103281533 B CN 103281533B CN 201310178010 A CN201310178010 A CN 201310178010A CN 103281533 B CN103281533 B CN 103281533B
Authority
CN
China
Prior art keywords
motion vector
layer
search
image
enhancement layer
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
Application number
CN201310178010.XA
Other languages
English (en)
Other versions
CN103281533A (zh
Inventor
付桂鹏
张琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinyuan Microelectronics (Shanghai) Co., Ltd.
VeriSilicon Microelectronics Beijing Co Ltd
VeriSilicon Microelectronics Chengdu Co Ltd
Original Assignee
VeriSilicon Microelectronics Shanghai Co Ltd
VeriSilicon Microelectronics Beijing Co Ltd
VeriSilicon Microelectronics Chengdu Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by VeriSilicon Microelectronics Shanghai Co Ltd, VeriSilicon Microelectronics Beijing Co Ltd, VeriSilicon Microelectronics Chengdu Co Ltd filed Critical VeriSilicon Microelectronics Shanghai Co Ltd
Priority to CN201310178010.XA priority Critical patent/CN103281533B/zh
Publication of CN103281533A publication Critical patent/CN103281533A/zh
Application granted granted Critical
Publication of CN103281533B publication Critical patent/CN103281533B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

在视频编码器的设计中,运动估计是运算量最大,运算复杂度最高的部分。在对可伸缩视频编码器中,利用层间的相关性,可以减小增强层的运动估计的复杂性。本发明提出一种方法,利用较低分辨率的图层的运动信息,对增强层的运动矢量进行粗略估算,从而减少了增强层的运动估计的范围,从而减少了运算复杂性。

Description

用于可伸缩视频编码中增强层运动估计的设备和方法
技术领域
本发明属于图像处理领域,特别涉及可伸缩视频编码领域的一种设备和方法,用于在可伸缩视频编码中减少增强层的运动估计的计算复杂性。
背景技术
存在大量的视频编码标准,包括ITU-TH.261,ISO/IECMPEG-1Visual,ITU-TH.262或ISO/IECMPEG-2Visual,ITU-TH.263,ISO/IECMPEG-4Visual和ITU-TH.264或ISO/IECMPEG-4AVC。H.264/AVC是ITU-T视频编码专家组(VCEG)和ISO/IECMPEG的联合视频组(JVT)的工作输出。还存在着针对视频编码的专有解决方案(例如,VC-1,亦称SMPTE标准421M,其基于微软的视窗媒体视频(WindowsMediaVideo)版本9),以及国家标准化倡议(initiatives),例如中国的音频与视频编码标准工作组的AVS编码解码器。这些标准中的一些标准已经规定了一种可伸缩扩展,例如MPEG-2Visual和MPEG-4Visual。对于H.264/AVC,有时也被称为SVC标准的可伸缩视频编码扩展SVC当前正在发展当中。
可伸缩视频(ScalableVideo)可以提供不同分辨率和不同图像质量的视频压缩码流。由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,JointVideoTeam)提出的各种视频编解码器标准,如MPEG2、MPEG4、H.264/AVC中,都提供了可伸缩视频的编码方式。特别是基于H.264/AVC标准所扩展出的可伸缩视频编码(ScalableVideoCoding)提供了更多的工具来实现可伸缩视频的压缩,从而可以方便地根据不同的网络环境来提供不同质量的视频服务。采用可伸缩视频,可以只编码一份视频码流,而提供多种分辨率和传输码率供不同的环境使用。各种网络环境对传输视频的带宽有不同的要求,如光纤、铜轴、无线网络等等。并且有的传输环境中,如无线网络,可用带宽还会动态变化。这样可伸缩视频编码应用的需求量也越来越广泛。
SVC可以提供可伸缩视频比特流。可伸缩视频比特流的一部分可以被提取并且用降低的回放可视质量来解码。可伸缩视频比特流包括一个基本层以及一个或多个增强层。增强层可以增强时间分辨率(即,帧速率)、空间分辨率,或者仅仅增强由较低层或其一部分表示的视频内容的质量。在某些情况下,可以在特定位置之后,甚至在任意位置处,截取增强层的数据,并且每个截取位置可以包括表示逐渐增强的视觉质量的某些附加数据。这类可伸缩性被称为细粒度(粒度)可伸缩性(FGS)。与FGS相对比,由不提供细粒度可伸缩性的质量增强层所提供的可伸缩性被称为粗粒度可伸缩性(CGS)。基层也可以被设计成是FGS可伸缩的。
对于提供空间和CGS可伸缩性的机制来说,与早期标准中使用的技术类似的传统分层编码技术和某些新的层间预测方法一起使用。可以进行层间预测的数据包括内部纹理、运动和残差(residual)数据。单回路解码由约束的内部纹理预测模式来启用,借此可以将层间内部纹理预测应用于宏块(MB),针对该宏块的基层的对应块被置于内部MB之内。与此同时,基层中的那些内部MB使用受约束的内部预测。在单回路解码中,解码器需要仅仅对被期望回放的可伸缩层(被称为期望层)执行运动补偿和全图像重建。为此,解码复杂性得到极大的降低。期望层之外的所有层不需要被完全解码,这是因为重建期望层不需要到未被用于层间预测(其是层间内部纹理预测、层间运动预测或层间残差预测)的所有或部分数据。
在对一般视频进行实时编码时,会利用图像在时间上的冗余来提高压缩率。如压缩当前图像时,会在已构建的图像中寻找最匹配的块作为运动估计的结果,在编码时只记录最佳匹配块的相对偏移,即运动矢量,并对当前图像与最佳匹配块的差值,即残差图像,做空间变换,并只选用重要的信息进行编码传输。
发明内容
为了提高可伸缩图像序列编码的效率,本发明提出了一种用于可伸缩视频编码中增强层运动估计的方法,包括如下步骤:首先,对基本层图像宏块进行编码;将基本层每个宏块的运动矢量及其预测误差存入内存,以供增强层编码时使用;接着对增强层进行编码,采用其参考层的运动矢量和预测误差用来计算粗略搜索的起始点,所述参考层可以是基本层或较小尺寸的增强层。
根据本发明的一个方面,对基本层图像宏块进行编码的实施方法如下:
第一步,读入当前待编码宏块的亮度值到数组Image[16][16]中;
第二步,对Image[16][16]和Region1[48][48]做下变换运算得到其缩小后的图像SImage[4][4]与SRegion[12][12];
第三步,在SRegion[][]中搜索与SImage[][]最为匹配的位置;
第四步,对px=[-3,3],py=[-3,3]分别计算编码代价,选取编码代价最小的运动矢量(px,py)做为粗搜索的结果,其对应的整像素运动矢量为(4*px,4*py),将此运动矢量值记作mv0;
第五步,从Region1[][]中根据mv0运动矢量对应的搜索位置横纵方向均为±4的范围对Image[16][16]做全搜索运动估计;
第六步,对dx=[-4,4],dy=[-4,4]分别计算其编码代价值,选取代价最小的运动矢量(mv0.x+dx,mv0.y+dy)为整像素精细搜索的运动矢量,将此运动矢量值记作mv1;
第七步,对Region1[][]中对应mv1位置的横纵方向均为±1的范围内做H.264算法规定的1/2像素和1/4像素滤波,即用规范定义的6-tap滤波器对Region1[x][y],x=16+mv1.x-1的区域将图像横纵方向均扩大四倍,产生的扩大图像为Region2[72-3][72-3];
第八步,在Region2[][]中对Image[][]全搜索,得到1/4像素精度下预测误差;
第九步,对qx=[-4,4],qy=[-4,4]分别计算其代价值,选取代价最小的(qx,qy)对应的运动矢量(4*mv1.x+qx,4*mv1.y+qy)作为最终的1/4像素单位的运动矢量mv。
根据本发明的一个方面,对增强层图像宏块的编码实施方法如下:
第一步,取出本增强层宏块对应的参考层的四个宏块的运动矢量mvAN,mvBN,mvCN,mvDN,对以其为中心的±4范围内的矢量集取交集,定义为Smv
第二步,在集合Smv内,计算对应的各种mv的编码代价,取编码代价最小的mv作为粗略搜索的结果mv0N+1
第三步,如果交集为空,则直接用参考层运动矢量的平均值作为粗略搜索的运动矢量mv0N+1
第四步,按照基本层步骤第五步到第九步计算增强层的帧间预测的最佳运动矢量,得到N+1层的帧间运动估计最佳运动矢量,将此运动矢量标记为mvN+1
第五步,按照基本层步骤第五步到第九步计算使用层间残差预测工具所得的帧间预测的最佳运动矢量,得到采用层间残差预测工具的第N+1层的帧间运动估计的最佳运动矢量,将此运动矢量标记为mv’N+1
第六步,比较mvN+1和mv’N+1的编码代价,选择编码代价最小的运动矢量mv做为此宏块的最终运动矢量;
第七步,如果此层为最高层,则终止,如果是中间层,则按此方法继续对下一层层进行编码。
本发明还提出了一种用于可伸缩视频编码中增强层运动估计的设备,包括如下组成部分:基本层粗略运动搜索模块,用于对基本层的运动矢量进行粗略搜索;增强层粗略运动搜索模块,用于对增强层的运动矢量进行粗略搜索;整像素精度运动搜索/估计模块,利用粗略搜索的运动矢量来进一步运算,获得整像素的运动搜索/估计结果;四分之一像素精度运动搜索/估计模块,利用整像素搜索/估计模块的结果,进一步运算,获得四分之一像素的运动搜索/估计结果,并输出此时的重构图像和相关参数。
根据本发明的一个方面,上述整像素精度运动搜索/估计模块和四分之一像素精度运动搜索/估计模块在用于增强层编码时,会评估是否使用层间残差预测工具,以获得帧间预测的最佳运动矢量。
附图说明
下面结合附图及具体实施例对本发明再作进一步详细的说明:
图1为对非可伸缩图像序列编码时的运动估计方法流程图。
图2为本发明所述的对可伸缩图像序列编码时的运动估计方法流程图。
图3为根据本发明实施例的可伸缩图像序列编码设备。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可伸缩图像序列的编码中,基本层指的是图像尺寸最小的图像序列,其编码只用到相同层的图像。增强层指的是图像尺寸比基本层大或所编码的图像质量比基本层高的图像序列。增强层的编码不仅会用到其相同层的图像信息,还会用到比其层次低的图像序列的信息。此处将增强层编码所用到的低层次的图像层称为其参考层。参考层可以是基本层,也可以是其它增强层(图像分辨率或质量比当前编码的增强层低的层)。
运动估计的算法优化已经有许多研究。对于非可伸缩的图像序列进行运动估计,可按图1所示的过程进行。
第一步,在运动估计过程开始后,读入原始图像宏块Image[16][16]与搜索图像区域Region[H][W];
第二步,将原始图像宏块Image0[16][16]和搜索图像区域Region0[H][W]下变换为SImage[4][4]与SRegion[H/4][W/4];
下变换的方法可以根据***的运算能力和时序要求采用线性变换或多阶滤波器。此处将原始图像横纵方向缩小四倍,直接采用对应的16个像素的平均值作为下变换的结果。即,
SImage ( x , y ) = ( Σ i = 0 , 3 Σ j = 0,3 I ( 4 * x + i , 4 * y + j ) ) / 16 , 其中x=0..3,y=0..3
SRegion[H][W]的计算与上式类似。
第三步,在SRegion[][]中对SImage[4][4]做全搜索,计算SAD(x,y)与penalty(x,y),将SAD(x,y)+penalty(x,y)的最小值对应的(x,y)作为粗略搜索的运动向量mv0;
第四部,读入mv0运动向量对应的搜索图像区域为中心的区域Region1[16+2e+2f][16+2e+2f];
第五步,在Region1[f~16+2e+2f][f~16+2e]中对Image[16][16]做全搜索,计算SAD(x,y)与penalty(x,y),将SAD(x,y)+penalty(x,y)的最小值对应的(x,y)作为精细搜索的运动向量mv1;
第六步,将Region1[][]进行滤波,产生出半像素和1/4像素对应的Region2[16+2e][16+2e];
第七步,在Region2[][]中对Image[16][16]做全搜索,计算SAD(x,y)与penalty(x,y),将SAD(x,y)+penalty(x,y)的最小值对应的(x,y)作为精细搜索的运动向量mv;
结束运动估计过程。
针对可伸缩图像序列,本发明提出了一种可伸缩图像序列编码时的运动估计方法。为方便阐述,本实施方式以如下设置为例:增强层尺寸(宽和高)为其参考层的2倍,运动矢量在x,y方向上的搜索范围以±14为例,运动估计只对一个参考图像进行单向预测,有一个基本层,多个增强层。改进后的增强层的运动估计算法如图2所示。
首先对基本层进行编码。并将其最终每个宏块的运动矢量及其预测误差存入内存以供增强层编码时使用。接着对增强层进行编码。其中采用了其参考层(可以是基本层或较小尺寸的增强层)的运动矢量和预测误差用来计算粗略搜索的起始点。
以下以一个宏块的编码为例说明上述编码过程。为简化阐述,此处以搜索16x16宏块运动矢量为例。小块(8x8,4x4)图像的搜索可参考此说明进行。
在编码过程中,对不同运动矢量下的编码代价,可采用如下公式估计。
Cost(mv.x,mv.y)=SAD(mv.x,mv.y)+panelty(mv.x,mv.y)+Const(t)----公式1
其中SAD为采用运动矢量mv(单位为1/4像素)时按标准规定计算出来的预测图像与原始图像的误差的绝对值的和。SAD用以评估此运动矢量下目标图像与参考图像的匹配程度,即预测的误差。Panelty(mv.x,mv.y)为采用此运动矢量时的编码惩罚值。可用此运动矢量的编码比特数表示。为简化描述,此处的Panelty的计算由此运动矢量按照规范进行VLC编码时所需的比特数表示。Const(t)为采用不同的编码工具时产生的更多的编码比特,可设为常数,t表示不同的编码工具。此处在增强层编码时会用到两个工具,即运动矢量层间预测和预测残差层间预测。
对基本层图像宏块(其左上角坐标为(x,y))的编码实施方法如下:
1.读入当前待编码宏块的亮度值到数组Image[16][16]中。从其参考图像读入其搜索范围内的参考数据Region1[H][W]。其中,Region1左上角坐标为(x-16,y-16),右下角坐标为(x+32,y+32)。如果坐标落入图像外,按规范定义用其最近的有效像素进行填充。当x,y方向上的搜索范围为±14时,H=48,W=48即可满足运动估计所需的所有像素。参考数据比运动搜索的范围多两个像素,这样是因为运动估计会采用6-tap滤波器对1/2像素和1/4像素处的图像值作估算,所以两边上要多取出2行和2列。这样,对16x16的块,上下各扩出14行作为搜索范围,再上下扩出2行作为6-tap滤波器的输入,就得到48行的有效数据。类似地,左右方向得到48列图像。
2.对Image[16][16]和Region1[48][48]做下变换运算得到其缩小后的图像SImage[4][4]与SRegion[12][12]。下变换的方法可以根据***的运算能力和时序要求采用线性变换或多阶滤波器。此处将原始图像横纵方向缩小四倍,真接采用对应的16个像素的平均值作为下变换的结果。即,
SImage ( x , y ) = ( Σ i = 0 , 3 Σ j = 0,3 I ( 4 * x + i , 4 * y + j ) ) / 16 , 其中x=0..3,y=0..3
SRegion[12][12]的计算与上式类似。
3.在SRegion[][]中搜索与SImage[][]最为匹配的位置。此处以SAD为例做为匹配误差的测量。
SAD ( px , py ) = Σ x = 0 . . 3 Σ y = 0 . . 3 | SImage [ x ] [ y ] - SRegion [ 4 + px + x ] [ 4 + py + y ] |
其中px=[-3,3],py=[-3,3]。SAD计算了在运动矢量为(px,py)时SImage[][]与SRegion[][]对应块的误差的绝对值的和。因为SImage[][]与SRegion[][]均为图像四倍下变换的结果,所以对应原来图像,运动矢量则为(4*px,4*py)(以整像素为单位)。
4.对px=[-3,3],py=[-3,3]分别计算其编码代价。其编码代价采用公式1计算,其中每一组(px,py)对应的运动矢量为(16*px,16*py)。这是因为最终编码的运动矢量为1/4像素精度,所以运动矢量在编码时对应的值为其整像素运动矢量的4倍。选取编码代价最小的运动矢量(px,py)做为粗搜索的结果,其对应的整像素运动矢量为(4*px,4*py),将此运动矢量值记作mv0(以整像素为单位)。
5.从Region1[][]中根据mv0运动向量对应的搜索位置横纵方向均为±4的范围对Image[16][16]做全搜索运动估计。按如下公式计算SAD做为匹配误差的测量,
SAD ( dx , dy ) = Σ x = 0 . . 15 Σ y = 0 . . 15 | Image [ x ] [ y ] - Region 1 [ 16 + mv 0 . x + dx + x ] [ 16 + mv 0 . y + dy + y ] |
其中dx=[-4,4],dy=[-4,4]。将这些SAD值记录下来,以备增强层使用。
6.对dx=[-4,4],dy=[-4,4]分别计算其编码代价值。运动矢量惩罚值设定为运动矢量为(4*(mv0.x+dx),4*(mv0.y+dy)所对应的编码惩罚值。因为最终编码的运动矢量为1/4像素精度,所以其在编码时对应的值为当前整数运动估计的四倍。选取代价最小的运动矢量(mv0.x+dx,mv0.y+dy)为整像素精细搜索的运动矢量,将此运动矢量值记作mv1。
7.对Region1[][]中对应mv1位置的横纵方向均为±1的范围内做H.264算法规定的1/2像素和1/4像素滤波,即用规范定义的6-tap滤波器对Region1[x][y],x=16+mv1.x-1的区域将图像横纵方向均扩大四倍,产生的扩大图像为Region2[72-3][72-3]。(16x16区域扩大±1为18x18区域,四倍后变为72x72。因为+1之外的区域不再求1/2和1/4像素的差值,所以之外的3行和列无效。)
8.在Region2[][]中对Image[][]全搜索。得到1/4像素精度下预测误差。预测误差可用SAD测量。
SAD ( qx , qy ) = Σ x = 0 . . 15 Σ y = 0 . . 15 | Image [ x ] [ y ] - Region 2 [ 4 + qx + 4 * x ] [ 4 + qy + 4 * y ] |
其中qx=[-4,4],qy=[-4,4],但不计算(qx,py)为(-4,-4)、(0,-4)、(4,-4)、(-4,0)、(0,0)、(4,0)、(-4,4)、(0,4)、(4,4)的SAD值,这些位置的SAD值采用步骤5对应整像素的SAD。
9.对qx=[-4,4],qy=[-4,4]分别计算其代价值。模式矢量惩罚值设定为运动矢量为(4*mv1.x+qx,4*mv1.y+qy)所对应的编码惩罚值。选取代价最小的(qx,qy)对应的运动矢量(4*mv1.x+qx,4*mv1.y+qy)作为最终的1/4像素单位的运动矢量mv。
对增强层图像宏块作运动估计时,为方便叙述,定义基本层为第0层,其上的增强层为第1层;第1层之上的增强层为第2层。依次类推。下面的方法描述中,假设当前编码的增强层为第N+1层,在对其编码时,将参考第N层的图像。为完成对增强层的编码,
首先按照规范规定对其参考层的残差数据做上变换,所得图像为ResidualUpSampleN[][]。
上变换的一种简化实现如下所示:
1.找出所求像素点坐标(x,y)对应的原始图的坐标(xRef16,yRef16)。其中xRef16与yRef16为1/16像素精度的值,取其左上角点,即计算过程中采用舍弃法;
2.计算整数点坐标及相位:
a)xRef=(xRef16>>4)-xOffset,yRef=(yRef16>>4)-yOffset;
b)xPhase=(xRef16-16*xOffset)%16,yPhase=(yRef16-16*yOffset)%16
其中xOffset与yOffset为增强层图像为部分参考层图像时的左上角的偏差坐标值。
3.横向插值:
tempPred[x][yRef]=(16-xPhase)*refSampleArray[xRef,yRef]+xPhase*refSampleArray[xRef+1,yRef];
4.纵向插值:
predArray[x][y]=(16-yPhase)*tempPred[x,yRef]+yPhase*tempPred[x,yRef+1]。
对增强层图像宏块(其左上角坐标为(x,y))的编码实施方法如下:
1.取出本增强层宏块对应的参考层的四个宏块的运动矢量mvAN,mvBN,mvCN,mvDN。对以其为中心的±4范围内的矢量集取交集,定义为Smv
2.在集合Smv内,以第N层存储的4个相应运动矢量的SAD值的和作为预测误差,以对应的运动矢量的2倍来作为增强层的运动矢量mv。利用公式1计算对应的各种mv的编码代价。取编码代价最小的mv作为粗略搜索的结果mv0N+1
3.如果交集为空,则直接用参考层运动矢量的平均值作为粗略搜索的运动矢量mv0N+1。此处以16x16块的运动矢量为例,并且增强层图像为其参考层的尺寸在横纵方向均为两倍。按下式估算增强层的初始运动矢量mv0N+1
mv0N+1=(mvAN+mvBN+mvCN+mvDN)/4*2;
上式中除以四是对四个运动矢量取平均,乘以2是换算为增强层N+1层的运动矢量。
4.按照基本层步骤5-9计算增强层的帧间预测的最佳运动矢量。其中Region1[48][48]从N+1层的参考图像中获得,mv0采用步骤2或3所得,Image[16][16]为本层图像待编码宏块ImageN+1[16][16]。本步骤得到N+1层的帧间运动估计最佳运动矢量,将此运动矢量标记为mvN+1,即以N+1层为参考图像作帧间运动估计,所获得的最佳运动矢量。这里需要说明的是在计算不同运动矢量的惩罚值时,还要考虑到是否引入层间运动矢量的估计所减少的编码开销(常数)。进而决定是否在编码中采用层间运动矢量预测这一编码工具。因为此编码工具不影响本发明的内容,本发明不再详细说明。
5.按照基本层步骤5-9计算使用层间残差预测工具所得的帧间预测的最佳运动矢量。其中Region1[48][48]从N+1层的参考图像中获得,mv0采用步骤2或3所得,Image[16][16]则使用ImageN+1[16][16]与ResidualN[16][16]的差作为待编码的宏块图像数据。ResidualN[16][16]为第N层上变换所得图像,ResidualUpSampleN[][]中对应本层待编码宏块ImageN+1[16][16]的区域。本步骤得到采用层间残差预测工具的第N+1层的帧间运动估计的最佳运动矢量,将此运动矢量标记为mv’N+1。这里需要说明的是在计算不同运动矢量的惩罚值时,不仅要考虑到是否引入层间运动矢量的估计所减少的编码开销,进而决定是否在编码中采用层间运动矢量预测这一编码工具。另外,还要加入引入层间残差预测工具而引入的编码开销(常数)。因为这些编码工具不影响本发明的内容,本发明不再详细说明。
层间运动矢量预测是指在编码运动量时,运动矢量可以用从其参考层对应块的运动矢量上变换获得。这样,编码时只需标记一下,从而减少了编码运动矢量的比特数。
6.比较mvN+1和mv’N+1的编码代价,选择编码代价最小的运动矢量mv做为此宏块的最终运动矢量。记录的SAD值也对应作取舍供进一步的编码使用。
7.如果此层(第N+1层)为最高层,则终止。如果是中间层,则按此方法继续对N+2层进行编码。
图3示出了根据本发明的一种用于可伸缩视频编码中增强层运动估计的设备,用于实现上述对基本层图像宏块的编码以及对增强层图像宏块(其左上角坐标为(x,y))的编码的实施。
所述用于可伸缩视频编码中增强层运动估计的设备包括如下组成部分:基本层粗略运动搜索模块,用于根据基本层待编码图像和基本层重构图像对基本层的运动矢量进行粗略搜索;增强层粗略运动搜索模块,用于根据增强层待编码图像、参考层运动搜索结果和参考层运动矢量代价对增强层的运动矢量进行粗略搜索;整像素精度运动搜索/估计模块,利用基本层粗略运动搜索模块和增强层粗略运动搜索模块粗略搜索出的运动矢量来进一步运算,获得整像素的运动搜索/估计结果;四分之一像素精度运动搜索/估计模块,利用整像素精度运动搜索/估计模块的结果,进一步运算,获得四分之一像素的运动搜索/估计结果,并输出此时的重构图像和相关参数。
所述用于可伸缩视频编码中增强层运动估计的设备中的各个模块,可以根据实际的需要,分别完成对基本层图像宏块的编码以及对增强层图像宏块的编码的实施,实现的具体步骤也可以根据实际需要分别在不同的模块中完成。
在搜索/估计的过程中,上述整像素精度运动搜索/估计模块和四分之一像素精度运动搜索/估计模块在用于增强层编码时,会评估是否使用层间残差预测工具,以获得帧间预测的最佳运动矢量。
本发明将非可伸缩图像序列的运动估计方法进行扩展,从而应用到可伸缩图像的编码中。在对基本层进行运动估计时,采用与非可伸缩图像编码时相同的算法。在对增强层的运动估计时,有效地利用了低分辨率图像的运动估计结果,从而减少了增强层的运动估计的复杂度。
为达到上述目的,本发明专利包括以下内容:
1.提出了一种应用于可伸缩图像帧间编码的方案。首先对基本层图像做运动估计,得到其编码最优的运动矢量。然后对增强层图像进行运动估计,计算出增强层编码的最佳帧间编码方案和对应的运动矢量。
2.在对参考层进行运动估计的最后做精细搜索阶段,记录参考层对应的运动矢量所对应的预测误差,从而在估计增强层运动矢量的同时,对增强层对应的最佳运动向量的粗略估计提供指导。
3.在对增强层图像做运动估计时,忽略粗略搜索的过程,而用基本层所获得的运动矢量信息及预测误差值估算出高分辨率图像对应的运动矢量,并以此作为粗略搜索的结果以供进一步的精细搜索使用。
本发明应用范围并不限于实施方法中所限的条件,如增强层尺寸(宽和高)可以为其参考层的任意分数倍,运动矢量的搜索范围可以更大,也可以用多个解码图像作为参考图像,可应用于多个增强层。
本领域的技术人员应该理解,本发明的方法和装置可以采用硬件、软件、或硬件和软件相结合的方式,通过微处理器、数字信号处理器、现场可编程逻辑单元、或门阵列等各种方式实现。
综上所述,虽然本发明已以优选实施例披露如上,然而其并非用以限定本发明。本发明所属技术领域的普通技术人员,在不脱离本发明的精神和范围内,可作各种变动与修饰。因此,本发明的保护范围当视后附的权利要求所界定的范围为准。

Claims (4)

1.一种用于可伸缩视频编码中增强层运动估计的方法,其特征在于:
首先,对基本层图像宏块进行编码;
将基本层每个宏块的运动矢量及其预测误差存入内存,以供增强层编码时使用;
接着对增强层进行编码,采用其参考层的运动矢量和预测误差用来计算粗略搜索的起始点,所述参考层可以是基本层或较小尺寸的增强层;
对基本层图像宏块进行编码的实施方法如下:
第一步,读入当前待编码宏块的亮度值到数组Image[16][16]中;
第二步,对Image[16][16]和Region1[48][48]做下变换运算得到其缩小后的图像SImage[4][4]与SRegion[12][12];
第三步,在SRegion[][]中搜索与SImage[][]最为匹配的位置;
第四步,对px=[-3,3],py=[-3,3]分别计算编码代价,选取编码代价最小的运动矢量(px,py)做为粗搜索的结果,其对应的整像素运动矢量为(4*px,4*py),将此运动矢量值记作mv0;
第五步,从Region1[][]中根据mv0运动矢量对应的搜索位置横纵方向均为±4的范围对Image[16][16]做全搜索运动估计;
第六步,对dx=[-4,4],dy=[-4,4]分别计算其编码代价值,选取代价最小的运动矢量(mv0.x+dx,mv0.y+dy)为整像素精细搜索的运动矢量,将此运动矢量值记作mv1;
第七步,对Region1[][]中对应mv1位置的横纵方向均为±1的范围内做H.264算法规定的1/2像素和1/4像素滤波,即用规范定义的6-tap滤波器对Region1[x][y],x=16+mv1.x-1的区域将图像横纵方向均扩大四倍,产生的扩大图像为Region2[72-3][72-3];
第八步,在Region2[][]中对Image[][]全搜索,得到1/4像素精度下预测误差;
第九步,对qx=[-4,4],qy=[-4,4]分别计算其代价值,选取代价最小的(qx,qy)对应的运动矢量(4*mv1.x+qx,4*mv1.y+qy)作为最终的1/4像素单位的运动矢量mv。
2.如权利要求1中的方法,其特征在于:
对增强层图像宏块的编码实施方法如下:
第一步,取出本增强层宏块对应的参考层的四个宏块的运动矢量mvAN,mvBN,mvCN,mvDN,对以其为中心的±4范围内的矢量集取交集,定义为Smv
第二步,在集合Smv内,计算对应的各种mv的编码代价,取编码代价最小的mv作为粗略搜索的结果mv0N+1
第三步,如果交集为空,则直接用参考层运动矢量的平均值作为粗略搜索的运动矢量mv0N+1
第四步,按照基本层步骤第五步到第九步计算增强层的帧间预测的最佳运动矢量,得到N+1层的帧间运动估计最佳运动矢量,将此运动矢量标记为mvN+1
第五步,按照基本层步骤第五步到第九步计算使用层间残差预测工具所得的帧间预测的最佳运动矢量,得到采用层间残差预测工具的第N+1层的帧间运动估计的最佳运动矢量,将此运动矢量标记为mv’N+1
第六步,比较mvN+1和mv’N+1的编码代价,选择编码代价最小的运动矢量mv做为此宏块的最终运动矢量;
第七步,如果此层为最高层,则终止,如果是中间层,则按此方法继续对下一层层进行编码。
3.一种用于可伸缩视频编码中增强层运动估计的设备,其特征在于,包括如下组成部分:
基本层粗略运动搜索模块,用于对基本层的运动矢量进行粗略搜索;
增强层粗略运动搜索模块,用于对增强层的运动矢量进行粗略搜索;
整像素精度运动搜索/估计模块,利用粗略搜索的运动矢量来进一步运算,获得整像素的运动搜索/估计结果;
四分之一像素精度运动搜索/估计模块,利用整像素搜索/估计模块的结果,进一步运算,获得四分之一像素的运动搜索/估计结果,并输出此时的重构图像和相关参数。
4.如权利要求3中的设备,其特征在于:
所述整像素精度运动搜索/估计模块和四分之一像素精度运动搜索/估计模块在用于增强层编码时,会评估是否使用层间残差预测工具,以获得帧间预测的最佳运动矢量。
CN201310178010.XA 2013-05-14 2013-05-14 用于可伸缩视频编码中增强层运动估计的设备和方法 Active CN103281533B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310178010.XA CN103281533B (zh) 2013-05-14 2013-05-14 用于可伸缩视频编码中增强层运动估计的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310178010.XA CN103281533B (zh) 2013-05-14 2013-05-14 用于可伸缩视频编码中增强层运动估计的设备和方法

Publications (2)

Publication Number Publication Date
CN103281533A CN103281533A (zh) 2013-09-04
CN103281533B true CN103281533B (zh) 2016-02-24

Family

ID=49063962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310178010.XA Active CN103281533B (zh) 2013-05-14 2013-05-14 用于可伸缩视频编码中增强层运动估计的设备和方法

Country Status (1)

Country Link
CN (1) CN103281533B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483954B (zh) * 2017-08-11 2019-12-03 电子科技大学 基于多元线性回归的视频编码帧间预测方法
CN112001942B (zh) * 2020-07-03 2021-12-03 北京博雅慧视智能技术研究院有限公司 一种运动估计粗搜索方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794821A (zh) * 2006-01-11 2006-06-28 浙江大学 可分级视频压缩中插值的方法与装置
CN101198064A (zh) * 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
CN101227614A (zh) * 2008-01-22 2008-07-23 炬力集成电路设计有限公司 视频编码***的运动估计装置及其方法
CN101326550A (zh) * 2005-12-15 2008-12-17 模拟装置公司 利用预测指导的抽取搜索的运动估计
CN101699865A (zh) * 2009-10-28 2010-04-28 山东大学 一种块运动自适应的亚像素快速搜索方法
CN101795409A (zh) * 2010-03-03 2010-08-04 北京航空航天大学 内容自适应分数像素运动估计方法
CN102045563A (zh) * 2009-10-20 2011-05-04 英特尔公司 用于自适应地选取用于运动估计的搜索范围的方法和装置
CN102647594A (zh) * 2012-04-18 2012-08-22 北京大学 一种整像素精度运动估计方法及其***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101345287B1 (ko) * 2007-10-12 2013-12-27 삼성전자주식회사 스케일러블 영상 부호화 방법 및 장치와 그 영상 복호화방법 및 장치

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101326550A (zh) * 2005-12-15 2008-12-17 模拟装置公司 利用预测指导的抽取搜索的运动估计
CN1794821A (zh) * 2006-01-11 2006-06-28 浙江大学 可分级视频压缩中插值的方法与装置
CN101198064A (zh) * 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
CN101227614A (zh) * 2008-01-22 2008-07-23 炬力集成电路设计有限公司 视频编码***的运动估计装置及其方法
CN102045563A (zh) * 2009-10-20 2011-05-04 英特尔公司 用于自适应地选取用于运动估计的搜索范围的方法和装置
CN101699865A (zh) * 2009-10-28 2010-04-28 山东大学 一种块运动自适应的亚像素快速搜索方法
CN101795409A (zh) * 2010-03-03 2010-08-04 北京航空航天大学 内容自适应分数像素运动估计方法
CN102647594A (zh) * 2012-04-18 2012-08-22 北京大学 一种整像素精度运动估计方法及其***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于群智能优化的运动估计算法研究;张萍;《中国博士学位论文全文数据库-信息科技辑》;20111215;第I136-87页 *

Also Published As

Publication number Publication date
CN103281533A (zh) 2013-09-04

Similar Documents

Publication Publication Date Title
CN111385569B (zh) 一种编解码方法及其设备
CN103222265B (zh) 运动图像编码装置、运动图像解码装置、运动图像编码方法以及运动图像解码方法
RU2674306C1 (ru) Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
CN104412597B (zh) 用于3d视频编码的统一视差矢量推导的方法及装置
CN101600108B (zh) 一种多视点视频编码中的运动和视差联合估计方法
KR100278733B1 (ko) 동화상 부호화 시스템 및 동화상 복호 시스템
CN102238391B (zh) 一种预测编码方法、装置
US8582904B2 (en) Method of second order prediction and video encoder and decoder using the same
CN103503457B (zh) 图像编码装置、图像解码装置、图像编码方法以及图像解码方法
KR100955396B1 (ko) 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및장치 및 기록매체
WO2011121894A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR20040105872A (ko) 영상 데이터 변환 장치 및 영상 데이터 변환 방법
CN101867814B (zh) 图像编码设备和图像编码方法
KR100701478B1 (ko) 동화상 압축 부호화 방법과 동화상 압축 부호화 장치 및프로그램
JP2010504010A (ja) ビデオシーケンスにおけるデータ圧縮方法
CN101022555B (zh) 帧间预测编码的模式快速选择方法
CN103248895A (zh) 一种用于hevc帧内编码的快速模式估计方法
CN102045571B (zh) 一种立体视频编码快速迭代搜索方法
JP2009049519A (ja) 動画像符号化装置の予測動きベクトル生成装置
CN103281533B (zh) 用于可伸缩视频编码中增强层运动估计的设备和方法
KR100899658B1 (ko) 고속 동작을 위한 mpeg2/h.264 디지털 비디오트랜스코딩 시스템 및 방법
US20130170565A1 (en) Motion Estimation Complexity Reduction
CN101262607A (zh) 二重预测视频编解码方法和装置
KR100293445B1 (ko) 움직임벡터코딩방법
JP2012186762A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Device and method for motion estimation in enhancement layer in scalable video coding

Effective date of registration: 20170621

Granted publication date: 20160224

Pledgee: National integrated circuit industry investment fund, Limited by Share Ltd

Pledgor: VeriSilicon Microelectronics (Beijing) Co., Ltd.|(Shanghai) virisilicon Microelectronics Co., Ltd.|virisilicon Microelectronics (Chengdu)

Registration number: 2017990000508

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20190415

Granted publication date: 20160224

Pledgee: National integrated circuit industry investment fund, Limited by Share Ltd

Pledgor: VeriSilicon Microelectronics (Beijing) Co., Ltd.|VeriSilicon Microelectronics (Shanghai) Co., Ltd.|VERISILICON MICROELECTRONICS (CHENGDU) CO., LTD.

Registration number: 2017990000508

PC01 Cancellation of the registration of the contract for pledge of patent right
CP01 Change in the name or title of a patent holder

Address after: 100193 Block A106, Building 1, Zhongguancun Software Park, Haidian District, Beijing

Co-patentee after: Xinyuan Microelectronics (Shanghai) Co., Ltd.

Patentee after: VeriSilicon Microelectronics (Beijing) Co., Ltd.

Co-patentee after: VERISILICON MICROELECTRONICS (CHENGDU) CO., LTD.

Address before: 100193 Block A106, Building 1, Zhongguancun Software Park, Haidian District, Beijing

Co-patentee before: VeriSilicon Microelectronics (Shanghai) Co., Ltd.

Patentee before: VeriSilicon Microelectronics (Beijing) Co., Ltd.

Co-patentee before: VERISILICON MICROELECTRONICS (CHENGDU) CO., LTD.

CP01 Change in the name or title of a patent holder