CN102595135A - 一种可伸缩视频编码的方法及装置 - Google Patents
一种可伸缩视频编码的方法及装置 Download PDFInfo
- Publication number
- CN102595135A CN102595135A CN201210043108XA CN201210043108A CN102595135A CN 102595135 A CN102595135 A CN 102595135A CN 201210043108X A CN201210043108X A CN 201210043108XA CN 201210043108 A CN201210043108 A CN 201210043108A CN 102595135 A CN102595135 A CN 102595135A
- Authority
- CN
- China
- Prior art keywords
- mrow
- frame
- roi
- enhancement layer
- reference frame
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 239000013598 vector Substances 0.000 claims abstract description 100
- 230000008569 process Effects 0.000 claims abstract description 50
- 239000010410 layer Substances 0.000 claims description 397
- 238000013139 quantization Methods 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 26
- 239000011229 interlayer Substances 0.000 claims description 20
- 238000012545 processing Methods 0.000 description 19
- 239000000872 buffer Substances 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 11
- 238000004806 packaging method and process Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 10
- 238000010187 selection method Methods 0.000 description 7
- 230000000903 blocking effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical group CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种可伸缩视频编码的方法及装置,包括:在编码增强层ROI(感兴趣区域)中每个宏块时,根据选择的最优运动矢量在相应的虚拟参考帧和原始参考帧中进行运动补偿,得到对应的虚拟参考帧预测值和原始参考帧预测值;并根据每个宏块的实际率失真代价,以所述虚拟参考帧预测值和所述原始参考帧预测值计算总率失真代价;再根据所述总率失真代价,遍历各个编码模式选择出能使所述总率失真代价最小的编码模式作为最优编码模式,进行增强层ROI编码操作。本发明实施例在编码增强层ROI的过程中,既能够充分有效地提高增强层ROI的编码效率,还可以在一定程度上控制增强层Background(背景)区域丢失后的误差传播,改善用户体验。
Description
技术领域
本发明涉及视频通信技术领域,尤其涉及一种可伸缩视频编码的方法及装置。
背景技术
随着通信技术的普及和发展,相应的移动电视,视频会议以及视频监控等视频服务也飞速发展起来。在用户通过各种各样的终端及不同的接入方式访问开展相应的视频服务的过程中,用户终端的多样性和网络环境的复杂性,使得如何有效传输视频内容成为设计视频服务系统的巨大挑战。
目前,SVC(可伸缩视频编码)技术能够在一定程度上有效传输相应的视频内容。SVC技术是通过在一段码流中同时编码多种码率、分辨率、帧率的子码流,在传输节点根据网络状况以及用户或者用户设备的需求进行简单的抽取操作就可以生成相应得适配码流。SVC技术相对于单一码流技术,其能提供一个空间、时间、质量可伸缩的码流,即从这个码流中可以抽取一些子码流。相应的子码流能满足网络传输速率以及终端用户对视频在空间、时间和信噪比等方面的需求,因此,SVC技术使得视频流能够更好地适应各种不同的网络环境和用户终端。
在SVC技术中,能提供的最低质量编码层被称作BL(基本层),能增强空间分辨率、时间分辨率或者信噪比强度的编码层被称作EL(增强层)。其中,空间可伸缩性使用分层编码(Layered Coding)的方法,利用层间的运动、纹理和残差信息;时间可伸缩性采用分级双向预测帧(Hierarchical B)编码技术;对于信噪比的可伸缩性,可以采用CGS(粗粒度质量可伸缩)和MGS(中等粒度质量可伸缩)的方法。
相应的SVC技术还提供了对ROI(感兴趣区域)编码的支持。ROI通常是指视频帧中对于浏览者而言包含具有明确高层语义的物体的区域,如某人,某物体等。在用户进行视频浏览的过程中,如果其设备的显示尺寸小,或者其可用带宽降低,则可以尽量保持感兴趣区域的清晰度,以不影响用户对该视频的观赏体验。例如,当接入带宽不足时,可以删除部分非感兴趣区域以适应带宽需求对视频主观质量的影响,即当带宽不足以传输基本层和增强层的编码码流时,可以传输基本层和ROI的编码码流以充分利用带宽,在一定程度上可以保持视频质量,保证用户的主观体验感受。
在SVC技术中的ROI技术是通过FMO(灵活宏块顺序)技术实现的。FMO技术允许将一帧中的MB(宏块)按照几种不同的方式编码到不同的SG(片组),解码端需要获知每个宏块所属的片组即可以进行解码。FMO技术支持7种不同的类型,即FMO类型0到FMO类型6,其中FMO类型6是通过在PPS(图片参数集)中显示标注宏块分配图以传递每个宏块所属的片组;而其他6种类型则通过预设的几种片组分配方式通知解码端每个宏块所属的片组。在编码过程中,不同片组的宏块之间可以独立解码,即在中间传输视频的节点处,可以以这些片组为单位进行抽取,以适应不同的应用需求。
在SVC中,ROI通常是一个或者若干矩形区域,故可通过FMO类型2来实现。例如,首先编码一个基本层,然后在编码增强层时,利用FMO技术,将感兴趣区域编码为ROI片,非感兴趣区域编码为Background(背景)片,形成的包含基本层码流与增强层码流(即包括ROI码流以及Background码流)的SVC码流。这样,在传输视频码流的MG(媒体网关)处,可以通过简单抽取以形成不同码率或分辨率,从而适应不用应用需求的子码流。例如,在MG处仅抽取基本层,则可以解码得到基本的视频质量;或者,在MG处抽取基本层加增强层ROI码流,则可以解码得到含有清晰的ROI以及低质量Background区域的码流;或者,传输整个码流,从而进一步提高解码视频的质量。
FMO技术保证了同一帧中同一层不同片组或者片的宏块在编码过程中不进行参考,即解码当前片的模式,运动矢量,残差等信息不需要当前帧中同一层其他片组的信息,从而通过牺牲一定的编码性能保证片或者片组能独立解码。然而,在视频技术中,由于存在时间上的参考,即当前帧可以使用其他帧进行参考,因此,若对时间预测不采取任何限制,将带来误差的扩散,导致相应的ROI解码视频质量无法预知。为避免时间预测带来的误差传播,需要对时间预测进行严格的限制,即第n帧中ROI仅使用参考帧中相应的ROI的值进行参考。
在SVC技术中,为了实现当前帧中ROI仅使用参考帧中相应的ROI的值进行参考,目前采用的一种方式是对当前帧中ROI的MB的运动矢量进行限制,将其限制在参考帧中相应的ROI内。
具体地,在SVC技术中存在子像素运动补偿,子像素位置的像素由其相邻像素插值得来,如图1所示,其中的大写字母所在的方格表示整像素,其他为子像素,其中子像素又分为半像素(如b,i,k,aa,bb等)和四分之一像素(如a,c,d等)。对于半像素,以b为例,是通过其相邻的6个像素进行插值,即:
b=(20(G+H)-5(F+I)+(E+J)+16)>>5 (1);
对于四分之一像素,以a为例,是通过其周围两个像素进行插值,即:
a=(b+G+1)>>1 (2);
为保证不使用Background区域的像素进行插值,在ROI宏块的运动估计的过程中,若运动矢量对应的参考块的所有像素都是属于图1所示的可用像素,则该运动矢量才视为有效。即通过对时间预测的运动矢量进行限制,使得含有基本码流与增强层ROI码流的子码流的解码图像中ROI解码值与完整码流中相应部分保持一致。
在实现本发明过程中,发明人发现该现有技术中至少存在如下问题:
通过运动矢量对时间预测进行严格限制,虽然能保证ROI解码区域的一致性,但由于人为约束了部分子像素,使之不做为参考,故而会大大降低整个SVC码流的编码效率。使得在达到相同解码质量的情况,在编码过程中需要耗费更多的比特。
在SVC技术中,为保证ROI解码区域的一致性,目前采用的另一种方式是对使用Background区域像素进行插值的像素设计半边插值滤波器,以通过对ROI的边界像素进行扩展,产生半边插值滤波器所需的像素,例如,对图1中的半像素b,可以使用如下式进行插值:
b=(20(G+H)-10I+2J+16)>>5 (3);
在实现本发明过程中,发明人发现该现有技术中至少存在如下问题:
通过半边插值避免背景像素的干扰,虽然能保证ROI解码区域的一致性,但是,该方式不论用户解码ROI还是解码整个增强层,除了设计标准支持的子像素插值滤波器外,还要设计相应的半边插值滤波器,这就不可避免的增加了解码器的复杂度。
发明内容
本发明的实施例提供了一种可伸缩视频编码的方法及装置,从而提高视频编码的效率及解码视频的质量,有效改善开展视频业务用户的体验。
一种可伸缩视频编码的方法,包括:
在编码增强层ROI(感兴趣区域)中每个宏块时,以原始参考帧作为参考,结合基本层信息选择最优运动矢量;
以所述最优运动矢量在虚拟参考帧中进行运动补偿,得到相应的虚拟参考帧预测值,以所述最优运动矢量在原始参考帧中进行运动补偿,得到相应的原始参考帧预测值;
根据每个宏块的实际率失真代价,以所述虚拟参考帧预测值和所述原始参考帧预测值计算总率失真代价;
根据所述总率失真代价,遍历各个编码模式选择出能使所述总率失真代价最小的编码模式作为最优编码模式,进行增强层ROI编码操作。
可选地,所述总率失真代价的计算公式包括:
J=Ds+Dc+λROIR;
其中,Ds为实际率失真代价中的源失真,R为实际率失真代价中的表示宏块相关的信息所需的码率;Pvrf为虚拟参考帧预测值,Porf为原始参考帧预测值;M是该宏块模式下的分块方式,b表示具体的每个分块;λROI为增强层ROI的拉格朗日参数,其为根据增强层ROI宏块的编码量化参数的不同设定。
可选地,所述的增强层ROI的拉格朗日参数λROI的计算公式包括:
或者,
其中,ΔQP=QPb-QPe,roi为基本层量化参数与增强层ROI宏块的量化参数之差;α为增强层ROI面积与基本层面积的比值。
可选地,在每个宏块编码结束后,该方法还包括:
虚拟重建帧的重建过程,包括:若所述宏块属于增强层ROI,则基于所述最优编码模式,并以所述虚拟参考帧作为参考帧,进行虚拟重建帧的重建,所述虚拟重建帧作为后续编码帧的虚拟参考帧;若所述宏块属于增强层Background区域,则基于错误隐藏的方式进行所述虚拟重建帧的重建;
原始重建帧的重建过程,包括:基于所述最优编码模式,并以所述原始参考帧作为参考帧,进行原始重建帧的重建,所述原始重建帧用于后续编码帧的原始参考帧。
可选地,若所述宏块属于增强层ROI,则所述的虚拟重建帧的重建操作包括:
若所述宏块为帧内编码块,包括层间预测的帧内编码模式,以该最优编码模式的预测方向以及残差得到重建值,以确定相应的虚拟重建帧;
若所述宏块为帧间编码块,包括层间预测的帧间编码模式,以该最优编码模式的运动矢量以及残差,以虚拟参考帧作为参考帧,进行运动补偿得到重建值,以确定相应的虚拟重建帧。
可选地,若所述宏块属于增强层Background区域,通过BLSkip错误隐藏方法以及虚拟参考帧得到相应的重建值,进而确定相应的虚拟重建帧;或者,若所述宏块属于增强层Background区域,则通过解码基本层的帧,并根据基本层与增强层尺寸比例,对解码的基本层帧进行上采样,作为重建值,进而确定相应的虚拟重建帧。
可选地,所述通过BLSkip错误隐藏方法以及虚拟参考帧得到相应的重建值,进而确定相应的虚拟重建帧的过程具体的括利用对应的基本层宏块信息进行错误隐藏,即:
若对应的基本层宏块为帧内编码块,则以其解码值作为重建值,若基本层与增强层分辨率不同,则进行插值处理以使两者匹配,之后,再以相应的解码值作为重建值,进而确定相应的虚拟重建帧;
若对应的基本层宏块为帧间编码块,则以基本层宏块的运动矢量以及残差,作为增强层运动矢量以及残差,再以虚拟参考帧作为参考帧,得出相应的重建值,其中,若基本层与增强层分辨率不同,则对基本层运动矢量和残差进行插值处理以使两者匹配,之后再以该插值后的运动矢量以及残差作为增强层运动矢量以及残差,并以虚拟参考帧作为参考帧,得出相应的重建值,进而确定相应的虚拟重建帧。
可选地,该方法还包括:
将下采样模块输入序列编码成SVC(可伸缩视频编码)的基本层码流;
通过已经编码的基本层中的运动矢量或者运动估计的中间结果信息或者用户交互指定,跟踪并提取出增强层ROI;
根据所述提取出的增强层ROI输出的ROI坐标,将帧中的宏块分为增强层ROI和增强层Background区域,用于后续过程中分别对增强层ROI和增强层Background区域进行编码:
其中,相应的编码增强层Background区域的过程具体包括:
对每个编码模式,以原始参考帧作为参考,结合基本层信息选择最优运动矢量,并计算当前模式下各个分块的实际率失真代价,并选择出率失真代价最小的模式作为最优编码模式,最后由Background片封装模块将该最优模式、残差、运动矢量以及宏块控制信息编码封装成增强层Background码流;
所述实际率失真代价J=Ds+λBackgroundR;
其中,λBackground为Background区域拉格朗日参数,根据增强层Background区域宏块的编码量化参数QPe,back的不同而设定为:
所述增强层ROI编码操作包括:该最优模式、残差、运动矢量以及宏块控制信息编码封装成增强层ROI码流;
在该帧所有宏块都原始重建帧重建过程和虚拟重建帧重建过程完成之后,将所述原始重建帧存储到相应的原始重建帧缓存中,用作后续编码帧的原始参考帧,将所述虚拟重建帧存储到相应的虚拟重建帧缓存中,用作后续编码帧的虚拟参考帧;
且该方法还包括:对所述基本层码流与所述增强层ROI码流及所述增强层Background码流进行复用操作。
一种可伸缩视频编码的装置,包括:
最优运动矢量选择模块,用于在编码增强层ROI中每个宏块时,以原始参考帧作为参考,结合基本层信息选择最优运动矢量;
总率失真代价计算模块,用于以所述最优运动矢量选择模块选择的最优运动矢量在虚拟参考帧中进行运动补偿,得到相应的虚拟参考帧预测值,以所述最优运动矢量在原始参考帧中进行运动补偿,得到相应的原始参考帧预测值;并根据每个宏块的实际率失真代价,以所述虚拟参考帧预测值和所述原始参考帧预测值计算总率失真代价;
增强层ROI编码模块,用于根据所述总率失真代价计算模块计算获得的总率失真代价,遍历各个编码模式选择出能使所述总率失真代价最小的编码模式作为最优编码模式,进行增强层ROI编码操作。
可选地,所述总率失真代价计算模块中总率失真代价的计算公式包括:
J=Ds+Dc+λROIR;
其中,Ds为实际率失真代价中的源失真,R为实际率失真代价中的表示宏块相关的信息所需的码率;Pvrf为虚拟参考帧预测值,Porf为原始参考帧预测值;M是该宏块模式下的分块方式,b表示具体的每个分块;λROI为增强层ROI的拉格朗日参数,其为根据增强层ROI宏块的编码量化参数的不同设定。
可选地,所述总率失真代价计算模块中的增强层ROI的拉格朗日参数λROI的计算公式包括:
或者,
其中,ΔQP=QPb-QPe,roi为基本层量化参数与增强层ROI宏块的量化参数之差;α为增强层ROI面积与基本层面积的比值。
可选地,该装置还包括:
虚拟重建帧重建模块,用于在每个宏块编码结束后,若所述宏块属于增强层ROI,则基于所述最优编码模式,并以所述虚拟参考帧作为参考帧,进行虚拟重建帧的重建,所述虚拟重建帧用于作为后续编码帧的虚拟参考帧;若所述宏块属于增强层Background区域,则基于错误隐藏的方式进行所述虚拟重建帧的重建;
原始重建帧重建模块,用于在每个宏块编码结束后,基于所述最优编码模式,并以所述原始参考帧作为参考帧,进行原始重建帧的重建,所述原始重建帧用于后续编码帧的原始参考帧。
可选地,所述虚拟重建帧重建模块中的虚拟重建帧的重建操作包括:
若所述宏块为帧内编码块,包括层间预测的帧内编码模式,以该最优编码模式的预测方向以及残差得到重建值,以确定相应的虚拟重建帧;
若所述宏块为帧间编码块,包括层间预测的帧间编码模式,以该最优编码模式的运动矢量以及残差,以虚拟参考帧作为参考帧,进行运动补偿得到重建值,以确定相应的虚拟重建帧。
可选地,所述虚拟重建帧重建模块中,若所述宏块属于增强层Background区域,通过BLSkip错误隐藏方法以及虚拟参考帧得到相应的重建值,进而确定相应的虚拟重建帧;或者,若所述宏块属于增强层Background区域,则通过解码基本层的帧,并根据基本层与增强层尺寸比例,对解码的基本层帧进行上采样,作为重建值,进而确定相应的虚拟重建帧。
可选地,所述通过BLSkip错误隐藏方法以及虚拟参考帧得到相应的重建值,进而确定相应的虚拟重建帧的过程具体的包括:
利用对应的基本层宏块信息进行错误隐藏:
若对应的基本层宏块为帧内编码块,则以其解码值作为重建值,若基本层与增强层分辨率不同,则还进行相应的插值处理以使两者匹配,之后,再以相应的解码值作为重建值,进而确定相应的虚拟重建帧;
若对应的基本层宏块为帧间编码块,则以基本层宏块的运动矢量以及残差作为增强层运动矢量以及残差,再以虚拟参考帧作为参考帧,得出相应的重建值,其中,若基本层与增强层分辨率不同,则对基本层运动矢量和残差进行插值处理以使两者匹配,之后再以该插值后的运动矢量以及残差作为增强层运动矢量以及残差,并以虚拟参考帧作为参考帧,得出相应的重建值,进而确定相应的虚拟重建帧。
可选地,该装置还包括:
编码基本层模块,用于将下采样模块输入序列编码成SVC(可伸缩视频编码)的基本层码流;
获取增强层ROI模块,用于通过已经编码的基本层中的运动矢量或者运动估计的中间结果信息或者用户交互指定,跟踪并提取出增强层ROI;
区域划分模块,用于根据所述获取增强层ROI模块提取出的增强层ROI输出的ROI坐标,将帧中的宏块分为增强层ROI和增强层Background区域,以用于后续过程中分别对增强层ROI和增强层Background区域进行编码:
且还包括编码增强层Background区域模块,该模块采用的编码增强层Background区域的过程具体包括:
对每个编码模式,以原始参考帧作为参考,结合基本层信息选择最优运动矢量,并计算当前模式下各个分块的实际率失真代价,并选择出率失真代价最小的模式作为最优编码模式,最后由Background片封装模块将该最优模式、残差、运动矢量以及宏块控制信息编码封装成Background码流;
所述实际率失真代价J=Ds+λBackgroundR;
其中,λBackground为Background区域拉格朗日参数,根据增强层Background区域宏块的编码量化参数QPe,back的不同而设定为:
所述增强层ROI编码模块的增强层ROI编码操作包括:由ROI片封装模块将该最优模式、残差、运动矢量以及宏块控制信息编码封装成ROI码流;
虚拟重建帧缓存模块,用于在该帧所有宏块的虚拟重建帧重建过程完成之后,将所述虚拟重建帧存储到相应的虚拟重建帧缓存中,用作后续编码帧的虚拟参考帧;
原始重建帧缓存模块,用于在该帧所有宏块的原始重建帧重建过程完成之后,将所述原始重建帧存储到相应的原始重建帧缓存中,用作后续编码帧的原始参考帧;
码流复用模块,用于将基本层编码模块输出的码流与所述编码增强层Background区域模块及所述增强层ROI编码模块获得的码流进行复用操作。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,在编码相应的增强层ROI的过程中,具体采用了通过RD(率失真准则)结合虚拟参考帧选择增强层ROI的编码模式的编码方式,而并未对运动矢量进行严格限制,使得与传统编码中的原始失真相比,本发明实施例中计算的总率失真代价还包含了Background区域丢失带来的传播失真。从而使得本发明实施例在编码增强层ROI的过程中,既能够充分有效地提高增强层ROI的编码效率,还可以在一定程度上控制Background区域丢失后的误差传播,改善用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中子像素插值示意图;
图2为本发明实施例提供的编码方法的具体实现过程示意图;
图3为本发明实施例提供的编码装置的具体实现结构示意图;
图4为本发明实施例提供的SVC编码器结构示意图;
图5为本发明实施例提供的增强层编码模块的结构示意图;
图6为本发明实施例提供的原始重建帧重建模块的结构示意图;
图7为本发明实施例提供的虚拟重建帧重建模块的结构示意图;
图8为本发明实施例中的虚拟重建帧重建模块的实施例一的结构示意图;
图9为本发明实施例中的虚拟重建帧重建模块的实施例二的结构示意图;
图10为本发明实施例的应用效果示意图一;
图11为本发明实施例的应用效果示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,考虑到在视频中,由于存在时间上的参考,即当前帧可以使用其他帧进行参考,因而仅保证片的独立性不能够使得抽取后的子码流(基本层和增强层ROI码流)中ROI解码值保持与完整视频码流(基本层和增强层码流)中ROI部分解码值的一致性。相应的不一致性主要是由于去除增强层Background区域的子码流与完整的码流其参考帧像素值不完全相同导致的。在对编码模式进行率失真选择的过程中,为了能限制时间预测带来误差的传播,需要知道虚拟参考帧与原始参考帧的像素值的区别。当增强层Background区域丢失时,由于基本层一直存在,故可以利用基本层来恢复该丢失的增强层区域。
本发明实施例中,具体称去除增强层Background区域后的码流的增强层重建帧为虚拟重建帧(VRCF,Virtual Reconstructed Frame);称完整码流的增强层重建帧为原始重建帧(ORCF,Original Reconstructed Frame);相应的作为参考帧的虚拟重建帧称为虚拟参考帧(VRF,Virtual Reference Frame),作为参考帧的原始重建帧称为原始参考帧(ORF,Original Reference Frame)。
基于上述描述,本发明实施例提供的可伸缩视频编码的方法的具体实现方式如图2所示,具体包括以下步骤:
步骤21,在编码增强层ROI中每个宏块时,以原始参考帧作为参考,结合基本层信息选择最优运动矢量;
其中,相应的原始参考帧为根据编码结构从原始重建帧缓存中选择获得,由于第一帧是I帧,故初始的原始重建帧是第1帧的增强层重建帧;
步骤22,以所述最优运动矢量在虚拟参考帧中进行运动补偿,得到相应的虚拟参考帧预测值,以所述最优运动矢量在原始参考帧中进行运动补偿,得到相应的原始参考帧预测值;
其中,相应的虚拟参考帧是从虚拟重建帧缓存中,根据编码结构选择获得,且初始的虚拟重建帧由两部分合并组成,即第一帧的增强层ROI的宏块的重建帧,以及第一帧增强层Background区域对应的基本层宏块的重建值的上采样,相应的具体的上采样比例需由基本层与增强层尺寸确定;
步骤23,根据每个宏块的实际率失真代价,以所述虚拟参考帧预测值和所述原始参考帧预测值计算总率失真代价;
其中,每个宏块的实际率失真代价是在编码ROI中每个宏块时,以原始参考帧作为参考,结合基本层信息选择最优运动矢量,计算获得,该实际率失真代价包括源失真Ds以及码率R;
其中,相应的总率失真代价的计算公式包括:
J=Ds+Dc+λROIR;
其中,Ds为实际率失真代价中的源失真,R为实际率失真代价中的表示宏块相关的信息所需的码率;Pvrf为虚拟参考帧预测值,Porf为原始参考帧预测值;M是该宏块模式下的分块方式,b表示具体的每个分块,例如,相应的M可以包括两个8x16分块方式,16x8分块方式或4个8x8分块方式,其中对于8X8分块方式,还可以细分为两个4x8或8x4或四个4x4分块方式;λROI为增强层ROI的拉格朗日参数,其为根据增强层ROI宏块的编码量化参数的不同设定;
上述增强层ROI的拉格朗日参数λROI的计算公式包括:
或者,
其中,ΔQP=QPb-QPe,roi为基本层量化参数与增强层ROI宏块的量化参数之差;α为增强层ROI面积与基本层面积的比值;
步骤24,根据所述总率失真代价,遍历各个编码模式选择出能使所述总率失真代价最小的编码模式作为最优编码模式,进行增强层ROI编码操作。
可选地,在上述实施例中,在每个宏块编码结束后,还可以包括虚拟参考帧的重建过程和原始重建帧的重建过程,其中:
相应的虚拟参考帧的重建过程具体可以包括:
若所述宏块属于增强层ROI,则基于所述最优编码模式,并以所述虚拟参考帧作为参考帧,进行虚拟重建帧的重建,所述虚拟重建帧用于作为后续编码帧的虚拟参考帧;具体地,若该宏块为帧内编码块,包括层间预测的帧内编码模式,则以该最优编码模式的预测方向以及残差得到重建值,以确定相应的虚拟重建帧;若该宏块为帧间编码块,包括层间预测的帧间编码模式,则以该最优编码模式的运动矢量以及残差,以虚拟参考帧作为参考帧,进行运动补偿得到重建值,以确定相应的虚拟重建帧。
若所述宏块属于增强层Background区域,则基于错误隐藏的方式进行相应的虚拟重建帧的重建,相应的错误隐藏的方式包括但不限于:BLSkip(基本帧跳过)的方法或者上采样的方法;即:若该宏块属于增强层Background区域,则通过BLSkip错误隐藏方法以及虚拟参考帧得到相应的重建值,进而确定相应的虚拟重建帧;或者,若该宏块属于增强层Background区域,则通过解码基本层的帧,并根据基本层与增强层尺寸比例,对解码的基本层帧进行上采样,作为重建值,进而确定相应的虚拟重建帧。
在通过BLSkip错误隐藏方法以及虚拟参考帧得到相应的重建值,进而确定相应的虚拟重建帧的过程中,可以利用对应的基本层宏块信息进行错误隐藏,具体包括:
若对应的基本层宏块为帧内编码块,则以其解码值作为重建值,若基本层与增强层分辨率不同,则进行插值处理以使两者匹配,之后,再以相应的解码值作为重建值,进而确定相应的虚拟重建帧;
若对应的基本层宏块为帧间编码块,则以基本层宏块的运动矢量以及残差,作为增强层运动矢量以及残差,再以虚拟参考帧作为参考帧,得出相应的重建值,其中,若基本层与增强层分辨率不同,则对基本层运动矢量和残差进行插值处理以使两者匹配,之后再以该插值后的运动矢量以及残差作为增强层运动矢量以及残差,并以虚拟参考帧作为参考帧,得出相应的重建值,进而确定相应的虚拟重建帧。
相应的原始重建帧的重建过程具体可以包括:基于所述最优编码模式,并以原始参考帧作为参考帧,进行原始重建帧的重建,所述原始重建帧用于后续编码帧的原始参考帧。
为便于理解,下面将对本发明实施例提供的SVC编码过程进行详细说明。本发明实施例提供的SVC编码的过程具体包括:
(1)将下采样模块输入序列编码成SVC的基本层码流;
(2)通过已经编码的基本层中的运动矢量或者运动估计的中间结果信息或者用户交互指定,跟踪并提取出增强层ROI;
(3)编码增强层,包括编码增强层ROI区域和编码增强层Background区域,根据提取出的增强层ROI输出的ROI坐标,通过FMO技术将帧中的宏块分为增强层ROI和增强层Background区域,用于后续过程中分别对增强层ROI和增强层Background区域进行编码,其中:
(31)相应的编码增强层Background区域的过程具体包括:
对每个编码模式,以原始参考帧作为参考,结合基本层信息选择最优运动矢量,并计算当前模式下各个分块的实际率失真代价,并选择出率失真代价最小的模式作为最优编码模式,最后由Background片封装模块将该最优模式、残差、运动矢量以及宏块控制信息编码封装成增强层Background码流;
所述实际率失真代价J=Ds+λBackgroundR;
其中,λBackground为Background区域拉格朗日参数,根据增强层Background区域宏块的编码量化参数QPe,back的不同而设定为:
(32)相应的编码增强层ROI的具体过程参见之前步骤21至步骤24所描述的处理过程,且增强层ROI编码操作包括:由ROI片封装模块将该最优模式、残差、运动矢量以及宏块控制信息编码封装成增强层ROI码流;
(4)重建帧的重建过程:编码结束后,还包括虚拟重建帧的重建过程和原始重建帧的重建过程;相应的虚拟重建帧的重建过程和原始重建帧的重建过程之前已经有详细描述,在此不再赘述;
需要说明的是,在该帧所有宏块都原始重建帧重建过程和虚拟重建帧重建过程完成之后,还将相应的原始重建帧存储到相应的原始重建帧缓存中,用作后续编码帧的原始参考帧,将相应的虚拟重建帧存储到相应的虚拟重建帧缓存中,用作后续编码帧的虚拟参考帧。
(5)在完成上述对基本层及增强层ROI和增强层Background区域编码操作后,还对获得的基本层码流与增强层ROI码流及增强层Background码流进行复用操作,以便于进行后续的码流传送处理。
本发明实施例还提供了一种可伸缩视频编码的装置,如图3所示,具体包括以下模块:
最优运动矢量选择模块31,用于在编码增强层ROI中每个宏块时,以原始参考帧作为参考,结合基本层信息选择最优运动矢量;其中,相应的原始参考帧为根据编码结构从原始重建帧缓存中选择获得,由于第一帧是I帧,故初始的原始重建帧是第1帧的增强层重建帧;
总率失真代价计算模块32,用于以所述最优运动矢量选择模块31选择的最优运动矢量在虚拟参考帧中进行运动补偿,得到相应的虚拟参考帧预测值,以所述最优运动矢量在原始参考帧中进行运动补偿,得到相应的原始参考帧预测值;并根据每个宏块的实际率失真代价,以所述虚拟参考帧预测值和所述原始参考帧预测值计算总率失真代价;
其中,相应的虚拟参考帧是从虚拟重建帧缓存中,根据编码结构选择获得,且初始的虚拟重建帧由两部分合并组成,即第一帧的增强层ROI的宏块的重建帧,以及第一帧增强层Background区域对应的基本层宏块的重建值的上采样,相应的具体的上采样比例需由基本层与增强层尺寸确定;
相应的每个宏块的实际率失真代价是在编码ROI中每个宏块时,以原始参考帧作为参考,结合基本层信息选择最优运动矢量,计算获得,该实际率失真代价包括源失真Ds以及码率R;
在该总率失真代价计算模块中总率失真代价的计算公式可以包括:
J=Ds+Dc+λROIR;
其中,Ds为实际率失真代价中的源失真,R为实际率失真代价中的表示宏块相关的信息所需的码率;Pvrf为虚拟参考帧预测值,Porf为原始参考帧预测值;M是该宏块模式下的分块方式,b表示具体的每个分块,相应的M可以包括两个8x16分块方式,16x8分块方式或4个8x8分块方式,其中对于8X8分块方式,还可以细分为两个4x8或8x4或者四个4x4分块方式;λROI为增强层ROI的拉格朗日参数,其为根据增强层ROI宏块的编码量化参数的不同设定;
在上述总率失真代价计算模块中的ROI区域拉格朗日参数λROI的计算公式具体可以包括:
或者,
其中,ΔQP=QPb-QPe,roi为基本层量化参数与增强层ROI宏块的量化参数之差;α为增强层ROI面积与基本层面积的比值;
增强层ROI编码模块33,用于根据所述总率失真代价计算模块32计算获得的总率失真代价,遍历各个编码模式选择出能使所述总率失真代价最小的编码模式作为最优编码模式,进行增强层ROI编码操作,该增强层ROI编码操作可以包括:由ROI片封装模块将该最优模式、残差、运动矢量以及宏块控制信息编码封装成ROI码流。
本发明实施例中,相应的装置还可以包括:
虚拟重建帧重建模块34,该虚拟重建帧重建模块34具体可以用于在每个宏块编码结束后,若相应的宏块属于增强层ROI,则基于上述最优编码模式,并以虚拟参考帧作为参考帧,进行虚拟重建帧的重建,该虚拟重建帧用于作为后续编码帧的虚拟参考帧。若相应的宏块属于增强层Background区域,则基于错误隐藏的方式进行虚拟重建帧的重建,其中,采用的错误隐藏的方式可以包括但不限于:BLSkip(基本帧跳过)的方法或者上采样的方法,具体地,可以通过BLSkip错误隐藏方法以及虚拟参考帧得到相应的重建值,进而确定相应的虚拟重建帧;或者,可以通过解码基本层的帧,并根据基本层与增强层尺寸比例,对解码的基本层帧进行上采样,作为重建值,进而确定相应的虚拟重建帧。。
在虚拟重建帧重建模块34中,根据宏块为帧内编码块或帧间编码块的不同,相应的虚拟重建帧的重建操作具体可以包括:
若该宏块为帧内编码块,包括层间预测的帧内编码模式,则以该最优编码模式的预测方向以及残差得到重建值,以确定相应的虚拟重建帧;
若该宏块为帧间编码块,包括层间预测的帧间编码模式,以该最优编码模式的运动矢量以及残差,以虚拟参考帧作为参考帧,进行运动补偿得到重建值,以确定相应的虚拟重建帧。
在虚拟重建帧重建模块34中,通过BLSkip错误隐藏方法以及虚拟参考帧得到相应的重建值,进而确定相应的虚拟重建帧的过程具体的包括:
利用对应的基本层宏块信息进行错误隐藏;
若对应的基本层宏块为帧内编码块,则以其解码值作为重建值,若基本层与增强层分辨率不同,则还进行相应的插值处理以使两者匹配,之后,再以相应的解码值作为重建值,进而确定相应的虚拟重建帧;
若对应的基本层宏块为帧间编码块,则以基本层宏块的运动矢量以及残差作为增强层运动矢量以及残差,再以虚拟参考帧作为参考帧,得出相应的重建值,其中,若基本层与增强层分辨率不同,则对基本层运动矢量和残差进行插值处理以使两者匹配,之后再以该插值后的运动矢量以及残差作为增强层运动矢量以及残差,并以虚拟参考帧作为参考帧,得出相应的重建值,进而确定相应的虚拟重建帧。
原始重建帧重建模块35,用于在每个宏块编码结束后,基于所述最优编码模式,并以所述原始参考帧作为参考帧,进行原始重建帧的重建,所述原始重建帧用于后续编码帧的原始参考帧。
需要说明的是,仍参照图3所示,本发明实施例提供的可伸缩视频编码的装置还可以包括以下处理模块:
编码基本层模块36,用于将下采样模块输入序列编码成SVC的基本层码流,并输出至码流复用模块312;
获取增强层ROI模块37,用于通过已经编码的基本层中的运动矢量或者运动估计的中间结果信息或者用户交互指定,跟踪并提取出增强层ROI;
区域划分模块38,用于根据所述获取增强层ROI模块37提取出的增强层ROI输出的ROI坐标,将帧中的宏块分为增强层ROI和增强层Background区域,以用于后续过程中分别对增强层ROI和增强层Background区域进行编码:
且还可以包括编码增强层Background区域模块39,该模块采用的编码增强层Background区域的过程具体包括:
对每个编码模式,以原始参考帧作为参考,结合基本层信息选择最优运动矢量,并计算当前模式下各个分块的实际率失真代价,并选择出率失真代价最小的模式作为最优编码模式,最后由Background片封装模块将该最优模式、残差、运动矢量以及宏块控制信息编码封装成Background码流;
所述实际率失真代价J=Ds+λBackgroundR;
其中,λBackground为Background区域拉格朗日参数,根据增强层Background区域宏块的编码量化参数QPe,back的不同而设定为:
虚拟重建帧缓存模块310,用于在虚拟重建帧重建模块34对该帧所有宏块的虚拟重建帧重建过程完成之后,将相应的虚拟重建帧存储到相应的虚拟重建帧缓存中,用作后续编码帧的虚拟参考帧;
原始重建帧缓存模块311,用于在原始重建帧重建模块35对该帧所有宏块的原始重建帧重建过程完成之后,将相应的原始重建帧存储到相应的原始重建帧缓存中,用作后续编码帧的原始参考帧;
码流复用模块312,用于将基本层编码模块36输出的码流与编码增强层Background区域模块39及增强层ROI编码模块33获得的码流进行复用操作,以便于后续进行相应的码流的传送处理。
从上述描述可以看出,本发明实施例是通过在率失真准则下,选择最合适的编码模式的方式进行增强层ROI的编码操作,从而使得本发明实施例能够与SVC标准实现很好的兼容,即在增强层完全接收时,可以使用标准解码器进行解码;在Background区域丢失的情况下,则可以利用标准解码器中均会包含的错误隐藏模块进行解码。
为便于进一步理解本发明,下面将结合在SVC编码器中的具体应用对本发明实施例的实现进行详细的描述。
本发明实施例中,相应的编码ROI的编码器如图4所示,主要可以包括基本层编码模块41,增强层感兴趣区域获取模块42,增强层编码模块43以及码流复用模块44,其中,相应的增强层编码模块43具体包括增强层ROI编码功能和Background(背景)区域编码功能。
下面将对图4中的各模块的具体实现进行详细说明。
图4中,相应的基本层编码模块41与传统SVC编码器的基本层编码模块无差别。其用于将下采样模块输入序列编码成SVC的基本层码流。相应的下采样模块是用来将输入序列进行滤波,生成低空间分辨率的序列,下采样模块视最终SVC码流的需求,若最终码流包含空间增强层,则该下采样模块起作用,否则,不需要该下采样模块。
图4中的增强层ROI获取模块42用于获取增强层的ROI,即通过已经编码的基本层中的运动矢量或者运动估计的中间结果等信息,跟踪并提取出增强层的ROI,以提供给相应的增强层编码模块43,便于该增强层编码模块43对相应的增强层ROI进行编码。
图4中的增强层编码模块43具体实现结构如图5所示,具体包括增强层ROI编码模块与增强层Background区域编码模块。具体用于根据增强层ROI获取模块42输出的ROI坐标,通过FMO(灵活宏块顺序)技术将帧中的宏块分为增强层ROI以及增强层Background区域。参照图5所示,相应的增强层编码模块43还包括相应的虚拟重建帧重建模块和原始重建帧重建模块。下面将结合图5对增强层编码模块43的具体实现进行描述:
(1)增强层Background区域编码模块
图5中相应的增强层Background区域编码模块用于将增强层Background区域的宏块将进行编码,产生增强层Background码流。即首先从原始重建帧缓存中,根据编码结构选择相应的原始参考帧,然后,在编码增强层Background区域中每个宏块时,在增强层Background区域宏块编码模块遍历选择编码模式时,对每个编码模式,以原始参考帧作为参考,结合基本层信息选择最优运动矢量,计算当前模式下宏块实际的率失真代价(包括源失真Ds以及码率R)并通过变换、量化、反量化、反变换等处理操作得到相应的残差,选择出率失真代价最小的模式作为最优编码模式,最后由增强层Background片封装模块将该最优模式、残差、运动矢量以及宏块控制信息编码封装成增强层Background码流。
其中,相应的率失真代价的计算公式如下:
J=Ds+λBackgroundR;
其中,λBackground为增强层Background区域拉格朗日参数,根据增强层Background区域宏块的编码量化参数QPe,back的不同而设定,例如可以为:
(2)增强层ROI编码模块
图5中的增强层ROI编码模块用于将增强层ROI的宏块将进行编码,产生增强层ROI码流。具体地,在该增强层ROI编码模块中,并不对该运动矢量进行严格限制,而是通过在率失真准则下,选择最合适的编码模式,以使得在一定程度上限制误差的传播。
具体地,在增强层ROI编码模块中采用的处理操作具体可以包括:
首先,从虚拟重建帧缓存以及原始重建帧缓存中,根据编码结构选择相应的虚拟参考帧与原始参考帧;其中,由于第一帧是I帧,因此初始的原始重建帧是第1帧的增强层重建帧,初始的虚拟重建帧由两部分合并组成,即第一帧的增强层ROI的宏块的重建帧,以及第一帧增强层Background区域对应的基本层宏块的重建值的上采样,相应的具体的上采样比例需由基本层与增强层尺寸确定;
然后,在编码ROI中每个宏块时,以原始参考帧作为参考,结合基本层信息选择最优运动矢量,并计算当前编码模式下宏块的实际率失真代价(包括源失真Ds以及表示宏块相关的信息所需的码率R),还通过变换、量化、反量化、反变换等处理得到相应的残差;
之后,在该编码模式下以该最优运动矢量在虚拟参考帧中进行运动补偿,得到相应的预测值Pvrf,在该编码模式下以该最优运动矢量在原始参考帧中进行运动补偿,得到相应的预测值Porf,并计算相应的差异失真Dc(MD,Mismatch Distortion),具体计算方式可以包括:
其中的M表示该宏块模式下的分块方式,b表示具体的每个分块,M可以包括两个8x16分块方式,16x8分块方式或4个8x8分块方式,其中对于8X8分块方式,还可以细分为两个4x8或8x4或者四个4x4分块方式;
再将源失真和差异失真之和作为总失真,并计算总率失真代价J,具体的计算公式可以包括:
J=Ds+Dc+λROIR;
其中,λROI为增强层ROI的拉格朗日参数,根据增强层ROI宏块的编码量化参数QPe,roi的不同设定,具体可以采用以下任一方式实现:
方式一:
方式二:
其中,ΔQP=QPb-QPe,roi为基本层量化参数与增强层ROI宏块的量化参数之差;α为增强层ROI面积与基本层面积的比值。
最后,遍历各个编码模式选择出能使总率失真代价J最小的编码模式作为最优编码模式,并由该增强层ROI编码模块中相应的增强层ROI片封装模块将该最优编码模式以及相关信息(如片头信息,宏块的残差以及各分块的运动矢量等信息)编码封装成增强层ROI码流。
需要说明的是,为简化描述,在部分附图中,相应的增强层ROI与增强层Background区域简化为ROI与Background区域,即在附图中相应的增强层ROI与ROI含义相同,相应的增强层Background区域与Background区域含义相同。
(3)原始重建帧重建模块
图5中的原始重建帧重建模块的具体实现如图6所示,具体用于在每个宏块编码结束后(具体包括增强层ROI编码以及增强层Background区域编码模块中的每个宏块),即确定每个宏块的最优编码模式后,进行相应的原始重建帧重建操作,具体可以包括:
若相应的宏块为帧内编码块(包括层间预测的帧内编码模式),以该最优编码模式的预测方向以及残差等相关信息得到重建值,以确定相应的原始重建帧;
若宏块为帧间编码块(包括层间预测的帧间编码模式),以该最优编码模式的运动矢量以及残差等相关信息,以原始参考帧作为参考帧,进行运动补偿得到重建值,以确定相应的原始重建帧。
当该帧所有宏块都重建完成之后,将该原始重建帧存储到相应的原始重建帧缓存中,用作后续编码帧的原始参考帧。
(4)虚拟重建帧重建模块
图5中的虚拟重建帧重建模块的具体实现结构如图7所示,具体可以用于在每个宏块编码结束后(具体包括增强层ROI编码以及增强层Background区域编码模块中的每个宏块),即确定每个宏块的最优模式后,进行相应的虚拟重建帧的重建操作,具体可以包括:
(a)若该宏块属于增强层ROI,则以该最优编码模式的相关信息以及虚拟参考帧作为参考帧,进行相应的虚拟重建帧的重建操作,可以包括:
若宏块为帧内编码块(包括层间预测的帧内编码模式),以该最优编码模式的预测方向以及残差等相关信息得到重建值,以确定相应的虚拟重建帧;
若宏块为帧间编码块(包括层间预测的帧间编码模式),以该最优编码模式的运动矢量以及残差等相关信息,以虚拟参考帧作为参考帧,进行运动补偿得到重建值,以确定相应的虚拟重建帧。
(b)若该宏块属于增强层Background区域,则通过错误隐藏的方式以及虚拟参考帧得到相应的重建值,确定相应的虚拟重建帧;例如,相应的错误隐藏的方式可以但不限于采用BLSkip(基本层跳过)错误隐藏方法或基本层上采样错误隐藏方法,等等;
在通过上述(a)和(b)的处理,使得该帧所有宏块的虚拟重建帧都重建完成之后,将相应的虚拟重建帧存储到相应的虚拟重建帧缓存中,用作后续编码帧的虚拟参考帧。
为便于对上述虚拟重建帧重建模块的理解,下面将结合具体的应用实施例对虚拟重建帧重建模块的具体应用进行进一步的描述。
实施例一:采用BLSkip错误隐藏方法实现虚拟重建帧重建模块
如图8所示,在该实施例中,相应的虚拟重建帧重建模块是在每个宏块编码结束后,即确定每个宏块的最优模式后,执行以下处理:
(a)若该宏块属于增强层ROI,则以相应的最优编码模式的相关信息以及虚拟参考帧作为参考帧,进行虚拟重建帧的重建,进一步包括:
若宏块为帧内编码块(包括层间预测的帧内编码模式),以该最优编码模式的预测方向以及残差等相关信息得到重建值,进而确定相应的虚拟重建帧;
若宏块为帧间编码块(包括层间预测的帧间编码模式),以该最优编码模式的运动矢量以及残差等相关信息,以虚拟参考帧作为参考帧,进行运动补偿得到重建值,进而确定相应的虚拟重建帧。
(b)若该宏块属于增强层Background区域,则通过BLSkip错误隐藏方法以及虚拟参考帧得到相应的重建值,进而确定相应的虚拟重建帧;
具体地可以利用对应的基本层宏块信息进行错误隐藏:
若对应的基本层宏块为帧内编码块,则以其解码值作为重建值,若基本层与增强层分辨率不同,则还可以进行相应的插值处理以使两者匹配,之后,再以相应的解码值作为重建值,进而确定相应的虚拟重建帧;
若对应的基本层宏块为帧间编码块,则以基本层宏块的运动矢量以及残差作为增强层运动矢量以及残差,再以虚拟参考帧作为参考帧,得出相应的重建值,其中,若基本层与增强层分辨率不同,则对基本层运动矢量和残差进行插值处理以使两者匹配,之后再以该插值后的运动矢量以及残差作为增强层运动矢量以及残差,并以虚拟参考帧作为参考帧,得出相应的重建值,进而确定相应的虚拟重建帧。
通过上述(a)和(b)的处理,当该帧所有宏块的虚拟重建帧都重建完成之后,将该虚拟重建帧存储到相应的虚拟重建帧缓存中,用作后续编码帧的虚拟参考帧。
实施例二:采用基本层上采样错误隐藏方法实现虚拟重建帧重建模块
如图9所示,在该实施例中,相应的虚拟重建帧重建模块是在每个宏块编码结束后(包括增强层ROI编码以及增强层Background区域编码模块中的每个宏块),即确定每个宏块的最优模式后,执行以下处理:
(a)若该宏块属于增强层ROI,则以相应的最优编码模式的相关信息以及虚拟参考帧作为参考帧,进行虚拟重建帧的重建操作,具体可以包括:
若宏块为帧内编码块(包括层间预测的帧内编码模式),以该最优编码模式的预测方向以及残差等相关信息得到重建值,进而确定相应的虚拟重建帧;
若宏块为帧间编码块(包括层间预测的帧间编码模式),以该最优编码模式的运动矢量以及残差等相关信息,以虚拟参考帧作为参考帧,进行运动补偿得到重建值,进而确定相应的虚拟重建帧。
(b)若该宏块属于增强层Background区域,则通过解码基本层的帧,并根据基本层与增强层尺寸比例,对解码的基本层帧进行上采样,作为重建值,进而确定相应的虚拟重建帧。
通过上述(a)和(b)的处理,当该帧所有宏块的虚拟重建帧都重建完成之后,将相应的虚拟重建帧存储到相应的虚拟重建帧缓存中,用作后续编码帧的虚拟参考帧。
通过上述本发明实施提供的技术方案,可以有效提高SVC技术中的增强层ROI编码的效率,并可以保证解码端能够获得高质量的视频图像,提高视频业务用户的体验。
假设需要编码两层空间分辨率的SVC码流,编码结构为IPPP…,帧内周期为32,一共编码四组量化参数,基本层与增强层分别为(22,26),(26,30),(30,34),(34,38)。
以将上述本发明实施例及相应的现有技术方案分别应用于SVC技术中为例,经过实际测试发现:
针对不同序列的码流(基本层和增强层)的编码效率,现有技术中的两种技术方案由于使用了严格的时间预测约束限制,导致编码效率下降十分严重,而本发明实施例中使用率失真准则选择最优编码模式,从一定程度上可以缩小编码效率下降的趋势;而且,由于还使用了基于拉格朗日参数的最优编码模式选择方式,从而可以进一步提升编码效率,并可以有效控制由于Background区域丢失后的误差传播。由此可见,本发明实施例的应用可以有效提升含有增强层ROI的SVC的编码效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
下面将结合附图对本发明实施例的具体的实施效果进行详细说明。
假设编码两层空间分辨率的SVC码流(QCIF基本层+CIF增强层),编码结构为IPPP…,帧内周期为32,一共编码四组量化参数,基本层与增强层分别为(22,26),(26,30),(30,34),(34,38)。
现将现有技术提供的第一种技术方案(mv_constrain)、现有技术提供的第二种技术方案(halfinterpolation)、本发明实施例提供的模式选择方法(mdrdo)以及本发明实施例提供的模式选择方法结合本发明实施例提供的拉格朗日参数选择方法(mdrdo+λroi)分别实施以进行相应的对比试验,比较该四种技术方案的编码性能。
其中,在本发明实施例提供的模式选择方法(mdrdo)中使用拉格朗日参数为: 在本发明实施例提供的模式选择方法结合拉格朗日参数选择方法(mdrdo+λroi)中使用拉格朗日参数为: 具体的地,以SVC对ROI区域时间预测不做任何限制的方法(orig)作为参照。
如图10所示,图中展示了不同序列的码流(基本层+增强层)的编码效率,以orig方法作为参照,计算码率节省,正值表示编码效率低与参照物,越大表示编码效率下降越厉害。可以看出,由于使用了严格的时间预测约束限制,mv_constrain与halfinterpolation方法的编码效率下降十分严重,其中mv_constrain方法对编码效率影响最大。而本发明实施例提供的mdrdo方法使用率失真准则选择最优模式,从一定程度上可以缩小编码效率下降的趋势;而且,如果使用再使用本发明实施例提供的第二种拉格朗日参数选择方法,则可以进一步提升编码效率,甚至在大部分情况下,能优于参照物orig(如,city,coastguard,crew,foreman,mobile和tempete序列)。由此可见,本发明实施例可以有效提升含有ROI区域的SVC的编码效率。
再如图11所示,图11展示了不同序列的码流(基本层+增强层ROI)的编码效率,同样,以orig方法作为参照,计算码率节省,负值表示编码效率高与参照物,负数越大表示编码效率提升越明显。可以看出,mv_constrain,halfinterpolation,mdrdo和mdrdo+λroi方法由于对ROI区域的时间参考进行了一定的约束,其相对于无约束的orig方法,可以有效降低传播误差,提升编码效率。对于ROI区域的编码效率,mv_constrain,halfinterpolation和mdrdo方法具有相似的性能,mdrdo方法略好于其他两种方法。如果使用再使用本发明实施例提出的第二种拉格朗日参数选择方法,则可以明显提升编码效率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种可伸缩视频编码的方法,其特征在于,包括:
在编码增强层ROI(感兴趣区域)中每个宏块时,以原始参考帧作为参考,结合基本层信息选择最优运动矢量;
以所述最优运动矢量在虚拟参考帧中进行运动补偿,得到相应的虚拟参考帧预测值,以所述最优运动矢量在原始参考帧中进行运动补偿,得到相应的原始参考帧预测值;
根据每个宏块的实际率失真代价,以所述虚拟参考帧预测值和所述原始参考帧预测值计算总率失真代价;
根据所述总率失真代价,遍历各个编码模式选择出能使所述总率失真代价最小的编码模式作为最优编码模式,进行增强层ROI编码操作。
3.根据权利要求2所述的方法,其特征在于,所述的增强层ROI的拉格朗日参数λROI的计算公式包括:
或者,
其中,ΔQP=QPb-QPe,roi为基本层量化参数与增强层ROI宏块的量化参数之差;α为增强层ROI面积与基本层面积的比值。
4.根据权利要求1至3任一项所述的方法,其特征在于,在每个宏块编码结束后,该方法还包括:
虚拟重建帧的重建过程,包括:若所述宏块属于增强层ROI,则基于所述最优编码模式,并以所述虚拟参考帧作为参考帧,进行虚拟重建帧的重建,所述虚拟重建帧作为后续编码帧的虚拟参考帧;若所述宏块属于增强层Background区域,则基于错误隐藏的方式进行所述虚拟重建帧的重建;
原始重建帧的重建过程,包括:基于所述最优编码模式,并以所述原始参考帧作为参考帧,进行原始重建帧的重建,所述原始重建帧用于后续编码帧的原始参考帧。
5.根据权利要求4所述的方法,其特征在于,若所述宏块属于增强层ROI,则所述的虚拟重建帧的重建操作包括:
若所述宏块为帧内编码块,包括层间预测的帧内编码模式,以该最优编码模式的预测方向以及残差得到重建值,以确定相应的虚拟重建帧;
若所述宏块为帧间编码块,包括层间预测的帧间编码模式,以该最优编码模式的运动矢量以及残差,以虚拟参考帧作为参考帧,进行运动补偿得到重建值,以确定相应的虚拟重建帧。
6.一种可伸缩视频编码的装置,其特征在于,包括:
最优运动矢量选择模块,用于在编码增强层ROI中每个宏块时,以原始参考帧作为参考,结合基本层信息选择最优运动矢量;
总率失真代价计算模块,用于以所述最优运动矢量选择模块选择的最优运动矢量在虚拟参考帧中进行运动补偿,得到相应的虚拟参考帧预测值,以所述最优运动矢量在原始参考帧中进行运动补偿,得到相应的原始参考帧预测值;并根据每个宏块的实际率失真代价,以所述虚拟参考帧预测值和所述原始参考帧预测值计算总率失真代价;
增强层ROI编码模块,用于根据所述总率失真代价计算模块计算获得的总率失真代价,遍历各个编码模式选择出能使所述总率失真代价最小的编码模式作为最优编码模式,进行增强层ROI编码操作。
8.根据权利要求7所述的装置,其特征在于,所述总率失真代价计算模块中的增强层ROI的拉格朗日参数λROI的计算公式包括:
或者,
其中,ΔQP=QPb-QPe,roi为基本层量化参数与增强层ROI宏块的量化参数之差;α为增强层ROI面积与基本层面积的比值。
9.根据权利要求6至8任一项所述的装置,其特征在于,还包括:
虚拟重建帧重建模块,用于在每个宏块编码结束后,若所述宏块属于增强层ROI,则基于所述最优编码模式,并以所述虚拟参考帧作为参考帧,进行虚拟重建帧的重建,所述虚拟重建帧用于作为后续编码帧的虚拟参考帧;若所述宏块属于增强层Background区域,则基于错误隐藏的方式进行所述虚拟重建帧的重建;
原始重建帧重建模块,用于在每个宏块编码结束后,基于所述最优编码模式,并以所述原始参考帧作为参考帧,进行原始重建帧的重建,所述原始重建帧用于后续编码帧的原始参考帧。
10.根据权利要求9所述的装置,其特征在于,所述虚拟重建帧重建模块中的虚拟重建帧的重建操作包括:
若所述宏块为帧内编码块,包括层间预测的帧内编码模式,以该最优编码模式的预测方向以及残差得到重建值,以确定相应的虚拟重建帧;
若所述宏块为帧间编码块,包括层间预测的帧间编码模式,以该最优编码模式的运动矢量以及残差,以虚拟参考帧作为参考帧,进行运动补偿得到重建值,以确定相应的虚拟重建帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210043108 CN102595135B (zh) | 2012-02-24 | 2012-02-24 | 一种可伸缩视频编码的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210043108 CN102595135B (zh) | 2012-02-24 | 2012-02-24 | 一种可伸缩视频编码的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102595135A true CN102595135A (zh) | 2012-07-18 |
CN102595135B CN102595135B (zh) | 2013-03-27 |
Family
ID=46483289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201210043108 Active CN102595135B (zh) | 2012-02-24 | 2012-02-24 | 一种可伸缩视频编码的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102595135B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442196A (zh) * | 2013-08-16 | 2013-12-11 | 福建省物联网科学研究院 | 一种基于矢量编码用于触摸屏设备的视频录制方法 |
WO2014083492A2 (en) * | 2012-11-27 | 2014-06-05 | Squid Design Systems Pvt Ltd | System and method of performing motion estimation in multiple reference frame |
CN103916673A (zh) * | 2013-01-06 | 2014-07-09 | 华为技术有限公司 | 基于双向预测的编码方法、解码方法和装置 |
CN103974060A (zh) * | 2013-01-31 | 2014-08-06 | 华为技术有限公司 | 视频质量调整方法和装置 |
CN104469369A (zh) * | 2014-11-17 | 2015-03-25 | 何震宇 | 一种利用解码端信息提高svc性能的方法 |
CN104838652A (zh) * | 2013-01-04 | 2015-08-12 | 英特尔公司 | 层间运动数据继承 |
CN105120261A (zh) * | 2015-09-18 | 2015-12-02 | 北京百度网讯科技有限公司 | 用于生成多码率视频的方法和装置 |
CN106063271A (zh) * | 2013-12-26 | 2016-10-26 | 三星电子株式会社 | 用于执行基于子块的预测的层间视频解码方法及其设备以及用于执行基于子块的预测的层间视频编码方法及其设备 |
WO2017015958A1 (zh) * | 2015-07-30 | 2017-02-02 | 华为技术有限公司 | 一种视频编解码方法及装置 |
CN108111846A (zh) * | 2012-11-15 | 2018-06-01 | 联发科技股份有限公司 | 用于可伸缩视频编码的帧间层预测方法及装置 |
CN108172168A (zh) * | 2017-12-22 | 2018-06-15 | 深圳市华星光电半导体显示技术有限公司 | 一种补偿表压缩方法 |
CN109547781A (zh) * | 2018-10-26 | 2019-03-29 | 西安科锐盛创新科技有限公司 | 基于图像预测的压缩方法及设备 |
CN109561303A (zh) * | 2018-10-26 | 2019-04-02 | 西安科锐盛创新科技有限公司 | 一种基于视频压缩的预测方法 |
CN109587494A (zh) * | 2018-10-26 | 2019-04-05 | 西安科锐盛创新科技有限公司 | 视频压缩的预测方法 |
CN109587481A (zh) * | 2018-10-26 | 2019-04-05 | 西安科锐盛创新科技有限公司 | 视频编码方法及设备 |
CN110636290A (zh) * | 2019-08-30 | 2019-12-31 | 北京大学 | 视频图像的运动矢量编解码方法以及编/解码器 |
US10652550B2 (en) | 2017-12-22 | 2020-05-12 | Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. | Compensation table compressing method |
CN111277857A (zh) * | 2018-12-04 | 2020-06-12 | 清华大学 | 一种流媒体调度方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262604A (zh) * | 2008-04-23 | 2008-09-10 | 哈尔滨工程大学 | 一种感兴趣区优先传输的可伸缩视频编码方法 |
CN101283599A (zh) * | 2005-10-12 | 2008-10-08 | 汤姆森许可贸易公司 | 感兴趣区域h.264可分级视频编码 |
CN101383962A (zh) * | 2007-09-07 | 2009-03-11 | 武汉大学 | 基于感兴趣区域的低码率空域增强层编解码方法 |
CN101742324A (zh) * | 2008-11-14 | 2010-06-16 | 北京中星微电子有限公司 | 视频编解码方法、视频编解码系统及编解码器 |
-
2012
- 2012-02-24 CN CN 201210043108 patent/CN102595135B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101283599A (zh) * | 2005-10-12 | 2008-10-08 | 汤姆森许可贸易公司 | 感兴趣区域h.264可分级视频编码 |
CN101383962A (zh) * | 2007-09-07 | 2009-03-11 | 武汉大学 | 基于感兴趣区域的低码率空域增强层编解码方法 |
CN101262604A (zh) * | 2008-04-23 | 2008-09-10 | 哈尔滨工程大学 | 一种感兴趣区优先传输的可伸缩视频编码方法 |
CN101742324A (zh) * | 2008-11-14 | 2010-06-16 | 北京中星微电子有限公司 | 视频编解码方法、视频编解码系统及编解码器 |
US20110096990A1 (en) * | 2008-11-14 | 2011-04-28 | Vimicro Electronics Corporation | Video Codec Method and System |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111846A (zh) * | 2012-11-15 | 2018-06-01 | 联发科技股份有限公司 | 用于可伸缩视频编码的帧间层预测方法及装置 |
WO2014083492A2 (en) * | 2012-11-27 | 2014-06-05 | Squid Design Systems Pvt Ltd | System and method of performing motion estimation in multiple reference frame |
WO2014083492A3 (en) * | 2012-11-27 | 2014-08-28 | Squid Design Systems Pvt Ltd | System and method of performing motion estimation in multiple reference frame |
CN104838652A (zh) * | 2013-01-04 | 2015-08-12 | 英特尔公司 | 层间运动数据继承 |
CN103916673A (zh) * | 2013-01-06 | 2014-07-09 | 华为技术有限公司 | 基于双向预测的编码方法、解码方法和装置 |
WO2014106487A1 (zh) * | 2013-01-06 | 2014-07-10 | 华为技术有限公司 | 基于双向预测的编码方法、解码方法和装置 |
CN103916673B (zh) * | 2013-01-06 | 2017-12-22 | 华为技术有限公司 | 基于双向预测的编码方法、解码方法和装置 |
CN103974060B (zh) * | 2013-01-31 | 2016-01-27 | 华为技术有限公司 | 视频质量调整方法和装置 |
CN103974060A (zh) * | 2013-01-31 | 2014-08-06 | 华为技术有限公司 | 视频质量调整方法和装置 |
CN103442196A (zh) * | 2013-08-16 | 2013-12-11 | 福建省物联网科学研究院 | 一种基于矢量编码用于触摸屏设备的视频录制方法 |
CN103442196B (zh) * | 2013-08-16 | 2016-12-07 | 福建省物联网科学研究院 | 一种基于矢量编码用于触摸屏设备的视频录制方法 |
CN106063271A (zh) * | 2013-12-26 | 2016-10-26 | 三星电子株式会社 | 用于执行基于子块的预测的层间视频解码方法及其设备以及用于执行基于子块的预测的层间视频编码方法及其设备 |
CN106063271B (zh) * | 2013-12-26 | 2019-09-03 | 三星电子株式会社 | 用于执行基于子块的预测的层间视频解码方法及其设备以及用于执行基于子块的预测的层间视频编码方法及其设备 |
US10567773B2 (en) | 2013-12-26 | 2020-02-18 | Samsung Electronics Co., Ltd. | Inter-layer video decoding method for performing subblock-based prediction and apparatus therefor, and inter-layer video encoding method for performing subblock-based prediction and apparatus therefor |
CN104469369B (zh) * | 2014-11-17 | 2017-10-31 | 何震宇 | 一种利用解码端信息提高svc性能的方法 |
CN104469369A (zh) * | 2014-11-17 | 2015-03-25 | 何震宇 | 一种利用解码端信息提高svc性能的方法 |
WO2017015958A1 (zh) * | 2015-07-30 | 2017-02-02 | 华为技术有限公司 | 一种视频编解码方法及装置 |
US10560719B2 (en) | 2015-07-30 | 2020-02-11 | Huawei Technologies Co., Ltd. | Video encoding and decoding method and apparatus |
CN105120261A (zh) * | 2015-09-18 | 2015-12-02 | 北京百度网讯科技有限公司 | 用于生成多码率视频的方法和装置 |
CN108172168A (zh) * | 2017-12-22 | 2018-06-15 | 深圳市华星光电半导体显示技术有限公司 | 一种补偿表压缩方法 |
CN108172168B (zh) * | 2017-12-22 | 2019-11-15 | 深圳市华星光电半导体显示技术有限公司 | 一种补偿表压缩方法 |
US10652550B2 (en) | 2017-12-22 | 2020-05-12 | Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. | Compensation table compressing method |
CN109561303B (zh) * | 2018-10-26 | 2020-12-15 | 广东弘视数字传媒有限公司 | 一种基于视频压缩的预测方法 |
CN109561303A (zh) * | 2018-10-26 | 2019-04-02 | 西安科锐盛创新科技有限公司 | 一种基于视频压缩的预测方法 |
CN109547781B (zh) * | 2018-10-26 | 2020-12-22 | 嘉兴奥恒进出口有限公司 | 基于图像预测的压缩方法及设备 |
CN109547781A (zh) * | 2018-10-26 | 2019-03-29 | 西安科锐盛创新科技有限公司 | 基于图像预测的压缩方法及设备 |
CN109587481A (zh) * | 2018-10-26 | 2019-04-05 | 西安科锐盛创新科技有限公司 | 视频编码方法及设备 |
CN109587494A (zh) * | 2018-10-26 | 2019-04-05 | 西安科锐盛创新科技有限公司 | 视频压缩的预测方法 |
CN109587494B (zh) * | 2018-10-26 | 2020-07-10 | 江苏怀业信息技术股份有限公司 | 视频压缩的预测方法 |
CN109587481B (zh) * | 2018-10-26 | 2020-07-10 | 江苏怀业信息技术股份有限公司 | 视频编码方法及设备 |
CN111277857A (zh) * | 2018-12-04 | 2020-06-12 | 清华大学 | 一种流媒体调度方法及装置 |
CN111277857B (zh) * | 2018-12-04 | 2021-04-13 | 清华大学 | 一种流媒体调度方法及装置 |
CN110636290A (zh) * | 2019-08-30 | 2019-12-31 | 北京大学 | 视频图像的运动矢量编解码方法以及编/解码器 |
CN110636290B (zh) * | 2019-08-30 | 2021-12-03 | 北京大学 | 视频图像的运动矢量编解码方法以及编/解码器 |
Also Published As
Publication number | Publication date |
---|---|
CN102595135B (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102595135B (zh) | 一种可伸缩视频编码的方法及装置 | |
US10791333B2 (en) | Video encoding using hierarchical algorithms | |
KR100888963B1 (ko) | 영상 신호의 스케일러블 인코딩 및 디코딩 방법 | |
CN101180882B (zh) | 用于对视频数据进行编码的方法和设备,及用于对视频数据进行解码的方法和设备 | |
KR100772882B1 (ko) | 인트라 bl 모드를 고려한 디블록 필터링 강도 결정 방법, 및 장치 | |
RU2409005C2 (ru) | Способ масштабируемого кодирования и декодирования видеосигнала | |
KR100772873B1 (ko) | 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 | |
CN104396249B (zh) | 可伸缩视频编码的层间预测的方法和设备 | |
JP5577334B2 (ja) | 立体ビデオ配信システムのエンコーダ最適化 | |
KR100913088B1 (ko) | 베이스 레이어의 내부모드 블록의 예측정보를 이용하여영상신호를 엔코딩/디코딩하는 방법 및 장치 | |
KR100725407B1 (ko) | 방향적 인트라 잔차 예측에 따라 비디오 신호를 인코딩하고디코딩하는 방법 및 장치 | |
JP5676637B2 (ja) | 符号化ビットストリームのマージ | |
US8902976B2 (en) | Hybrid encoding and decoding methods for single and multiple layered video coding systems | |
WO2007011189A1 (en) | Method of encoding and decoding video signals | |
JP2011528889A5 (zh) | ||
US20140192884A1 (en) | Method and device for processing prediction information for encoding or decoding at least part of an image | |
CN101584220B (zh) | 对视频信号进行编码的方法和系统、编码的视频信号、对视频信号进行解码的方法和系统 | |
KR102163477B1 (ko) | 비디오 부호화 및 복호화 방법, 그를 이용한 장치 | |
WO2006059848A1 (en) | Method and apparatus for multi-layered video encoding and decoding | |
CN102474616B (zh) | 用于生成、解码和转码经编码的视频数据流的方法和装置 | |
Suzuki et al. | Block-based reduced resolution inter frame coding with template matching prediction | |
GB2511288A (en) | Method, device, and computer program for motion vector prediction in scalable video encoder and decoder | |
CN117478874A (zh) | 一种高压缩率视频关键帧编码方法及解码方法 |
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 |