CN101511016A - 基于hhi分层b帧预测结构的多视点视频编码的改进方法 - Google Patents
基于hhi分层b帧预测结构的多视点视频编码的改进方法 Download PDFInfo
- Publication number
- CN101511016A CN101511016A CN 200910021528 CN200910021528A CN101511016A CN 101511016 A CN101511016 A CN 101511016A CN 200910021528 CN200910021528 CN 200910021528 CN 200910021528 A CN200910021528 A CN 200910021528A CN 101511016 A CN101511016 A CN 101511016A
- Authority
- CN
- China
- Prior art keywords
- frame
- macro block
- encoded
- borderline region
- adjacent viewpoint
- 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
Images
Abstract
本发明涉及视频编码技术领域,公开了一种基于HHI分层B帧预测结构的多视点视频编码的改进方法。本发明针对帧间预测部分进行了改进,其他部分的处理方式同MVC参考软件中的方法,包括如下两个部分:(1)B视中非关键帧的每个宏块在进行帧间预测时,是否选择相邻视点帧作为其参考帧;(2)以宏块为单位进行帧间预测时,判断每个宏块是否需要进行小尺寸分割模式的帧间预测。用本发明的方法可以为待编码帧中的每个宏块有效地选择参考帧,并且对宏块的分割模式进行了限定,减少了某些宏块不必要的小尺寸分割模式帧间预测,大大降低了编码的时间复杂度。
Description
技术领域
本发明涉及视频编码技术领域,特别涉及一种基于HHI分层B帧预测结构的多视点视频编码的改进方法。
背景技术
随着多媒体技术的发展,人们不再满足于仅仅是坐在电视机前观看传来的固定视角视频节目,况且该视角也是由拍摄时的摄像机位置而非观众自己决定的。正是由于这种需求,加之数字多媒体技术的发展以及数字摄像机成本的大幅度降低,促使了FTV(Free Viewpoint Television)和3DTV(3Dimensional Television)的出现。作为下一代的电视,它们致力于给用户提供具有三维印象并且可交互的视听体验。理论上讲,这两者并没有本质的区别,只是偏重点有所不同,FTV着眼于交互性(interoperability),用户可以选择自己想要观看的视角和距离;而3DTV旨在提供用户三维的拟真体验。
三维印象的提供依赖于多摄像机阵列从不同角度对同一场景进行拍摄所获得的时间上同步的多视点视频序列,而摄像机阵列获得的视频数据量随着摄像机的数目增加而呈线性增加,如何存储和传输这些海量的视频数据是研究者面临的首要问题。作为FTV和3DTV系统中的重要环节,多视点视频编码(MVC,Multi-view Video Coding)应运而生,并成为以上两种应用的关键技术。MPEG组织很早就注意到了该技术潜在的巨大前景,将其先后置于3DAV组织及JVT组织下进行探索,致力于实现MVC的标准化。
MPEG框架下MVC的研究集中在三个方面:预测结构、预测工具和预处理工具,它们分别从不同的渠道提高多视点视频的编码效率。其中,MVC预测结构的研究主要是通过设计视点间和时间方向的预测关系,有效去除多视点视频信号的视点间和时间方向的冗余信息;编码工具的研究主要从利用视点间相关性和补偿视点间差异性两个角度出发,研究一些新的编码工具,以提高MVC的编码效率;预处理工具主要包括高层语法的扩展研究,它是在H.264/AVC的框架下定义一些新的语法语义,以适应和支持MVC的具体应用。
关于预测结构的研究,其关键是在合理的计算复杂度和支持随机访问的前提下寻找一种有效的参考结构,以最大限度地去除多视点视频序列中时间方向和视点间的冗余,从而提高编码效率。最直接的思路就是将各个视点的视频序列单独用现有的标准编码,显然,这不能有效的利用视点间的相关性。同一时刻各视点的帧间具有很高的相似性,各视点视频序列中存在着明显的数据冗余。相关实验也证明,与传统视频编码中利用运动估计和运动补偿来消除时间方向上数据冗余类似,利用合理的视差估计与补偿方法能有效地消除各视点的帧间数据冗余,得以有效地提高多视点视频的压缩性能。基于此,先后有GoGOP结构、顺序视点预测结构及棋盘分解结构被提出。综合评估了兼容性,编码性能和随机访问性能之后,由FraunhoferHHI(Heinrich-Hertz-Institute)提出的基于分层B帧的视点间预测和时域预测相结合的预测编码结构,获得了较高的编码效率,被JVT采纳为JMVM的参考预测结构。该方案是GoGOP结构的一种,其特点在于它是对H.264/MPEG4 AVC的直接扩展,并延用了分层的B帧结构,此结构的计算复杂度很高。
于是,很多研究者致力于通过各种方式降低HHI分层B帧预测结构的时间复杂度。时间方向的运动估计/补偿和视点间的视差估计/补偿是多视点视频序列编码中计算量最大的部分,其中视差估计/补偿类似于之前各种标准中的运动估计/补偿,只是其参考帧来自另外一个摄像机在同一时刻的图像帧。
目前,基于HHI分层B帧预测结构的多视点视频编码方法,未考虑到由于摄像机的位置关系,待编码图像边界的一些宏块很可能在相邻视点帧中找不找匹配,而对于上述找不到匹配的宏块以相邻视点帧作为参考进行帧间预测,造成编码的时间复杂度额外提高。
发明内容
本发明的目的在于提供一种基于HHI分层B帧预测结构的多视点视频编码的改进方法,它能够在不影响重构图像质量的条件下,有效地降低视频序列编码的时间复杂度。
为了达到上述目的,本发明采用以下技术方案予以实现。一种基于HHI分层B帧预测结构的多视点视频编码的改进方法,其特征在于,
对于I视的非关键帧和P视的非关键帧,其参考帧选择时间方向帧;P视的关键帧和B视的关键帧,其参考帧选择同时刻的相邻视点帧;
对于B视的非关键帧,其中每个宏块为16×16像素,其参考帧选择性包括:最近的前向时间方向帧、最近的后向时间方向帧、同时刻的前向相邻视点帧、同时刻的后向相邻视点帧;当待编码帧中的每个宏块确定参考帧时,首先,选择前向时间方向帧和后向时间方向帧;然后,将前向相邻视点帧和后向相邻视点帧分别与待编码帧进行相关性判断后,其相关性强的相邻视点帧作为参考帧;
对于I视的非关键帧、B视和P视的全部帧,在确定帧间预测的宏块分割模式时,对待编码帧中的待编码宏块,先进行帧内预测,得到最佳的帧内预测模式BestMode_Intra,再进行16×16,16×8,8×16三种宏块分割模式的帧间预测,得到帧间预测的最佳宏块分割模式BestMode_Inter;如果BestMode_Intra=Intra_16×16并且BestMode_Inter=Inter_16×16,则跳过8×8,8×4,4×8,4×4四种宏块分割模式的帧间预测;否则,进行8×8,8×4,4×8,4×4四种宏块分割模式的帧间预测;其中,Intra_16×16表示帧内16×16预测模式,Inter_16×16表示帧间16×16的宏块分割模式。
(1)、本发明的进一步特点在于:
所述将前向相邻视点帧和后向相邻视点帧分别与待编码帧进行相关性判断后,其相关性强的相邻视点帧作为参考帧,具体步骤如下:
首先,在B视的关键帧和非关键帧中定义边界区域和中心区域;
利用关键帧以宏块为单位进行帧间预测的结果,将前一关键帧与其前向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RT0_FMB;将后一关键帧与其前向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RTn_FMB;
利用关键帧以宏块为单位进行帧间预测的结果,将前一关键帧与其后向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RT0_BMB;将后一关键帧与其后向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RTn_BMB;
利用前一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的前向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域F_T0;利用后一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的前向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域F_Tn;Set边界区域F_T0和Set边界区域F_Tn的并集记为Set边界区域F;
利用前一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的后向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域B_T0;利用后一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的后向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域B_Tn;Set边界区域B_T0和Set边界区域B_Tn的并集记为Set边界区域B;
其次,设定相关性判断阈值r_thresh;
当RT0_FMB>r_thresh或RTn_FMB>r_thresh时,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的前向相邻视点帧增加为待编码宏块的参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域F时,将待编码帧的前向相邻视点帧增加为待编码宏块的参考帧;
当RT0_BMB>r_thresh或RTn_BMB>r_thresh时,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的前向相邻视点帧增加为待编码宏块的参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域B时,将待编码帧的前向相邻视点帧增加为待编码宏块的参考帧。
(2)、本发明的更进一步特点在于:
所述相关性判断阈值r_thresh为0.5~0.7。
所述中心区域,其边界离帧左边界的水平距离和离帧右边界的水平距离分别为帧宽度的10%,离帧上边界的垂直距离和离帧下边界的垂直距离分别为帧高度的10%。
所述边界区域为左右边带、上下边带或由左右边带和上下边带组成的回字形区域,其中左右边带的宽度为帧宽度的1%~4%,上下边带的宽度为帧高度的1%~4%。
从以上技术方案可以看出,本发明的技术方案具有以下有益效果:
(1)、传统的帧间预测时,盲目地将相关性不强的相邻视点帧也作为参考帧,徒然增加计算量;本发明对B视的非关键帧进行帧间预测时,只是增加很小的计算量,先判定每个宏块是否需要选择相邻视点帧作为参考帧,摒弃了参考帧中相关性不强的相邻视点帧,从而,在不影响重构图像质量的条件下,有效地降低视频序列编码的时间复杂度。
(2)、在所有帧进行帧间预测时,并不是每个宏块都要将7种宏块分割模式的编码代价进行比较,而是选择性地跳过8×8,8×4,4×8,4×4四种宏块分割模式的帧间预测,进一步有效地降低视频序列编码的时间复杂度。
(3)、本发明在编码中没有增加任何附加信息,无需对解码端作任何修改,实施方便。
附图说明
图1为多视点平行相机系统成像示意图;
图2为多视点视频编解码系统框图;
图3为分层B帧预测结构示意图;
图4为分层B帧预测结构时间层的示意图;
图5为多视点视频编码的空间-时间预测结构示意图;
图6为GOP长度为12的3个视点空间-时间预测结构示意图;
图7为宏块在帧中位置的二维索引号表示示意图;
图8为本发明的视频编码处理流程图;
图9为帧中边界区域和中心区域的划分示意图;
图10为MVC的预测结构图。
具体实施方式
参照图1、图2,多视点视频编码(Multi-view Video Coding,MVC)中,由具有N个摄像机C的多视点视频采集系统从不同角度拍摄同一场景得到的一组视频,即N路原始视点;即N路原始视点视频经过多视点视频编解码系统后得到N路恢复视点。多视点视频编解码系统中,发送端通过多视点视频编码器,在保证信息质量和传输安全的情况下,编码压缩数据,传输到接收端后,由多视点视频解码器解码。
参照图3,对于每个视点,在时间方向上采用HHI分层B帧预测结构。分层B帧预测结构每隔特定时间间隔插入一幅关键帧,两个关键帧之间的帧称为非关键帧。一个图像组GOP是由一个关键帧和一组非关键帧组成的,它们的编码顺序与显示顺序不同,由帧间预测结构决定。
参照图4,给出了HHI分层B帧预测结构GOP内部的预测关系,其中I、P或B后面紧跟的数字表示该帧所在的时间层。
参照图5,为典型的多视点视频编码的空间-时间预测结构示意图,其中每个视点GOP的长度为8,在实际中,每个视点GOP的长度为12或者15。将单视点中的GOP扩展为多视点中的GoGOP(Group of GOP),如图5中虚框内的部分。另外,为了方便描述,根据视点间的预测关系,将视点分为I视,B视和P视。对于I视,关键帧采用帧内预测,非关键帧的参考帧选择时间方向帧;对于B视,关键帧的参考帧选择同时刻的相邻视点帧,非关键帧的参考帧既选择时间方向帧,也选择同时刻的相邻视点帧;对于P视,关键帧的参考帧选择同时刻的相邻视点帧,非关键帧的参考帧选择时间方向帧。与单视点视频编码相比,多视点视频编码可以通过去除视点间的冗余来进一步提高压缩效率。
参照图6,以GOP长度为12的三个视点预测结构示意说明各帧的编码顺序。一个GoGOP中,各帧的编码顺序关系表现为:(1)首先编码视点V0的各帧,然后编码视点V2的各帧,而后编码视点V1的各帧;(2)对于每个单独的视点,关键帧的编码顺序先于非关键帧。另外,还存在如下事实:在一定的时间间隔内,B视点中各时刻的帧V1/Tn(0≤n≤12)和对应时刻的相邻视点帧之间的相关性很强。为了表示方便,对于帧V0/Tn,“/”前面的字母V0表示帧所在的视点,“/”后面的Tn表示帧所在的时刻。
参照图7,在编码中,需要将各帧按照水平/垂直坐标划分为许多宏块,每个宏块在帧中的位置用(i,j)表示,(i,j)为宏块的二维索引号。
基于各帧的编码顺序及上述事实,本发明着重改进B视的非关键帧的帧间预测编码,能够在不影响重构图像质量的条件下,有效地降低视频序列编码的计算复杂度。对于B视的非关键帧,由于既可以利用时间相关性,也可以利用相邻视点帧间的相关性进行帧间预测,本发明按照以下的方式进行处理:如果相邻视点帧间存在很强的相关性,除了以时间方向帧为参考,还以相邻视点帧为参考进行帧间预测,能够大大地提高编码的性能;如果相邻视点帧间的相关性弱,那么就只选择时间方向的帧为参考,跳过以此相邻视点帧为参考的帧间预测。在以宏块为单位进行帧间预测时,本发明主要包括以下两方面的工作:(1)对于B视点的非关键帧,以宏块为单位进行帧间预测时参考帧的选择;(2)对于I视的非关键帧、B视和P视的全部帧,对帧间预测的宏块分割模式进行有选择性的取舍。
参照图8,说明本发明的具体编码方法。对于I视的非关键帧和P视的非关键帧,其参考帧选择时间方向帧;P视的关键帧和B视的关键帧,其参考帧选择同时刻的相邻视点帧;换言之,进行帧间预测时,为待编码宏块选择参考帧的方法与MVC标准参考软件中的方法相同。
对于B视点的非关键帧,在进行帧间预测时,为待编码宏块选择适当的参考帧,其具体方法如下:
对于B视点的非关键帧,其中每个宏块为16×16像素,其参考帧选择性包括:最近的前向时间方向帧、最近的后向时间方向帧、同时刻的前向相邻视点帧、同时刻的后向相邻视点帧;当其待编码帧中的每个宏块确定参考帧时,首先,选择前向时间方向帧和后向时间方向帧;然后,将上述两个相邻视点帧分别与待编码帧进行相关性判断后,其相关性强的相邻视点帧作为参考帧;
对于I视的非关键帧、B视和P视的全部帧,在确定帧间预测的宏块分割模式时,对待编码帧中的待编码宏块,先进行帧内预测,得到最佳的帧内预测模式BestMode_Intra,再进行16×16,16×8,8×16三种宏块分割模式的帧间预测,得到帧间预测的最佳宏块分割模式BestMode_Inter;如果BestMode_Intra=Intra_16×16并且BestMode_Inter=Inter_16×16,则跳过8×8,8×4,4×8,4×4四种宏块分割模式的帧间预测;否则,进行8×8,8×4,4×8,4×4四种宏块分割模式的帧间预测;其中,Intra_16×16表示帧内16×16预测模式,Inter_16×16表示帧间16×16的宏块分割模式。
对于B视点的非关键帧,将两个相邻视点帧分别与待编码帧进行相关性判断后,其相关性强的相邻视点帧作为参考帧,更具体步骤如下:
首先,在B视的关键帧和非关键帧中定义边界区域和中心区域;
利用关键帧以宏块为单位进行帧间预测的结果,将前一关键帧与其前向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RT0_FMB;将后一关键帧与其前向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RTn_FMB;
利用关键帧以宏块为单位进行帧间预测的结果,将前一关键帧与其后向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RT0_BMB;将后一关键帧与其后向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RTn_BMB;
利用前一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的前向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域F_T0;利用后一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的前向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域F_Tn;Set边界区域F_T0和Set边界区域F_Tn的并集记为Set边界区域F;
利用前一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的后向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域B_T0;利用后一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的后向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域B_Tn;Set边界区域B_T0和Set边界区域B_Tn的并集记为Set边界区域B;
其次,设定相关性判断阈值r_thresh;其阈值r_thresh为0.5~0.7;
当RT0_FMB>r_thresh或RTn_FMB>r_thresh时,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的前向相邻视点帧增加为参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域F时,将待编码帧的前向相邻视点帧增加为参考帧;
当RT0_BMB>r_thresh或RTn_BMB>r_thresh时,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的后向相邻视点帧增加为参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域B时,将待编码帧的后向相邻视点帧增加为参考帧。
参照图9,为了便于度量相邻视点帧间相关性的强弱,在一帧中定义了中心区域和边界区域。其中,中心区域中的宏块最有可能在相邻帧里找到匹配块。在实际中可选择,中心区域离左边界的水平距离和离右边界的水平距离分别为帧宽度的10%,中心区域离上边界的垂直距离和离下边界的垂直距离分别为帧高度的10%。边界区域中的宏块相对于中心区域中的宏块,在相邻视点中找到匹配块的可能性要小。在实际中可选择边界区域为左右边带、上下边带或由左右边带和上下边带组成的回字形区域,其中左右边带的宽度为帧宽度的1%~4%,上下边带的宽度为帧高度的1%~4%。
为了使本发明的技术方案更加清楚,下面结合附图及实施例对本发明作进一步的详细说明。在本实施例中,采用8个摄像机左右排列,边界区域的左右边界选为4个宏块的宽度,上下边界取0;中心区域区域选择参照图9。
参照图10为MVC的预测结构图,从左至右表示为视点Vk(0≤k≤7),每个视点的GOP长度为12。下面仅以8个视点中前3个视点为例进行说明,其余视点的处理与之类似。其中,Tn(0≤n≤12)表示帧在时间方向上所处的时刻。
本实施例以宏块为单位进行帧间预测,对于I视的非关键帧、P视的全部帧和B视的关键帧,其参考帧的选择方法和MVC测试软件中的方法相同;对于B视的非关键帧,首先为待编码宏块确定参考帧,其次确定帧间预测时宏块的分割模式。
本实施例的具体步骤如下:
(1)对B视的前一关键帧V1/T0以前向相邻视点帧V0/T0为参考,并以宏块单位进行帧间预测。当待编码宏块B(i,j)能够在前向相邻视点帧V0/T0中找到匹配块时,如果该宏块是在边界区域,将该宏块位置添加到集合Set边界区域F_T0中;如果该宏块是在中心区域,将该宏块位置添加到集合Set中心区域F_T0中。统计集合Set中心区域F_T0中的宏块个数Cnt中心区域F_T0_MatchMB,并计算出占中心区域总宏块个数Cnt中心区域F_T0_TotalMB的比值:
RT0_FMB=Cnt中心区域F_T0_MatchMB/Cnt中心区域F_T0_TotalMB。
(2)对B视的前一关键帧V1/T0以后向相邻视点帧V2/T0为参考,并以宏块单位进行帧间预测。当待编码宏块B(i,j)能够在后向相邻视点帧V2/T0中找到匹配块时,如果该宏块是在边界区域,将该宏块位置添加到集合Set边界区域B_T0中;如果该宏块是在中心区域,将该宏块位置添加到集合Set中心区域B_T0中。统计集合Set中心区域B_T0中的宏块个数Cnt中心区域B_T0_MatchMB,并计算出占中心区域总宏块个数Cnt中心区域B_T0_TotalMB的比值:
RT0_BMB=Cnt中心区域B_T0_MatchMB/Cnt中心区域B_T0_TotalMB。
(3)对B视的后一关键帧V1/T12以前向相邻视点帧V0/T12为参考,并以宏块单位进行帧间预测。当待编码宏块B(i,j)能够在前向相邻视点帧V0/T12中找到匹配块时,如果该宏块是在边界区域,将该宏块位置添加到集合Set边界区域F_T12中;如果该宏块是在中心区域,将该宏块位置添加到集合Set中心区域F_T12中。Set边界区域F_T0和Set边界区域F_T12的并集记为Set边界区域F。统计集合Set中心区域F_T12中的宏块个数Cnt中心区域F_T12_MatchMB,并计算出占中心区域总宏块个数Cnt中心区域F_T12_TotalMB的比值:
RT12_FMB=Cnt中心区域F_T12_MatchMB/Cnt中心区域F_T12_TotalMB。
(4)对B视的后一关键帧V1/T12以后向相邻视点帧V2/T12为参考,并以宏块单位进行帧间预测。当待编码宏块B(i,j)能够在后向相邻视点帧V2/T12中找到匹配块时,如果该宏块是在边界区域,将该宏块位置添加到集合Set边界区域B_T12中;如果该宏块是在中心区域,将该宏块位置添加到集合Set中心区域B_T12中。Set边界区域B_T0和Set边界区域B_T12的并集记为Set边界区域B。统计集合Set中心区域B_T12中的宏块个数Cnt中心区域B_T12_MatchMB,并计算出占中心区域总宏块个数Cnt中心区域B_T12_TotalMB的比值:
RT12_BMB=Cnt中心区域B_T12_MatchMB/Cnt中心区域B_T12_TotalMB。
(5)设定相关性判断阈值r_thresh;本实施例中阈值r_thresh为0.6。
当RT0_FMB>r_thresh或RT12_FMB>r_thresh时,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的前向相邻视点帧增加为参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域F时,将待编码帧的前向相邻视点帧增加为参考帧;
当RT0_BMB>r_thresh或RT12_BMB>r_thresh时,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的后向相邻视点帧增加为参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域B时,将待编码帧的后向相邻视点帧增加为参考帧。
本发明的相关性判断基于以下原理和经验。
如果RT0_FMB≤0.6,则认为前一关键帧V1/T0与前向相邻视点帧V0/T0的相关性很弱;如果RT12_FMB≤0.6,则认为后一关键帧V1/T12与前向相邻视点帧V0/T12的相关性很弱;因为在一定的时间间隔内,B视中各时刻的帧V1/Tn,(0≤n≤12)和同时刻的前向相邻视点帧V0/Tn之间的相关性很相似,因此当RT0_FMB≤0.6且RT12_FMB≤0.6时,则认为B视的非关键帧和同时刻的前向相邻视点帧之间相关性很弱,参考帧不选择前向相邻视点帧。当RT0_FMB>0.6或RTn_FMB>0.6时,认为B视的非关键帧和同时刻的前向相邻视点帧之间相关性较强,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的前向相邻视点帧增加为待编码宏块的参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域F时,将待编码帧的前向相邻视点帧增加为待编码宏块的参考帧。
如果RT0_BMB≤0.6,则认为前一关键帧V1/T0与后向相邻视点帧V2/T0的相关性很弱;如果RT12_BMB≤0.6,则认为后一关键帧V1/T12与后向相邻视点帧V2/T12的相关性很弱;因为在一定的时间间隔内,B视中各时刻的帧V1/Tn,(0≤n≤12)和同时刻的后向相邻视点帧V2/Tn之间的相关性很相似,因此当RT0_BMB≤0.6且RT12_BMB≤0.6时,则认为B视的非关键帧和同时刻的后向相邻视点帧之间相关性很弱,参考帧不选择后向相邻视点帧。当RT0_BMB>0.6或RTn_BMB>0.6时,认为B视的非关键帧和同时刻的后向相邻视点帧之间相关性较强,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的后向相邻视点帧增加为待编码宏块的参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域B时,将待编码帧的后向相邻视点帧增加为待编码宏块的参考帧。
(6)在以宏块为单位进行帧间预测时,确定待编码宏块的参考帧后,接着要对待编码宏块的宏块分割模式进行取舍。具体实现步骤为:对当前编码帧中的待编码宏块,先进行帧内预测,得到最佳的帧内预测模式BestMode_Intra,再进行16×16,16×8,8×16三种宏块分割模式的帧间预测,得到帧间预测的最佳宏块分割模式BestMode_Inter;如果BestMode_Intra=Intra_16×16并且BestMode_Inter=Inter_16×16,则跳过8×8,8×4,4×8,4×4四种宏块分割模式的帧间预测;否则,进行8×8,8×4,4×8,4×4四种宏块分割模式的帧间预测;其中,Intra_16×16表示帧内16×16预测模式,Inter_16×16表示帧间16×16的宏块分割模式。将16×16,16×8,8×16三种宏块分割模式定义为宏块的大尺寸分割模式;将8×8,8×4,4×8,4×4四种宏块分割模式定义为宏块的小尺寸分割模式。
本实施例中,在对B的关键帧进行帧间预测时,判断一个宏块能否在其参考帧中找到匹配的具体方法是:对于位置为(i,j)的宏块B,通过帧间预测后,得到了相应的视差矢量(x,y)和亮度分量Y的预测误差D(x,y)(i,j)。其中,(i,j)表示宏块的二维索引号(见图7),并且引入纹理描述算子:
其中,256=16×16表示一个宏块包含的像素个数;Y(u,v)表示宏块B中像素(u,v)的亮度值。纹理描述算子Text表示一个宏块内各像素点亮度值的波动程度。如果D(x,y)(i,j)≤Text或者D(x,y)(i,j)≤Threshold,位置为(i,j)的宏块B能够在参考帧中找到匹配;如果D(x,y)(i,j)>Text且D(x,y)(i,j)>Threshold,位置为(i,j)的宏块B不能在参考帧中找到匹配。其中,阈值Threshold=256×n,256表示宏块包含的像素个数,n表示宏块中每个像素的亮度值与其预测值之差的绝对值的均值,这里n的取值为10。
在本发明测试中,发明人使用以下的测试序列:Akko & Kayo,Ballroom,Flamenco2,Exit,Racel,Rena;使用同一台计算机,在相同的测试环境下,分别将本发明的方法和HHI预测方案对上述的测试序列进行了测试。同时,发明人还选择了其他多视点视频编码方法一和方法二作为参照,进行了比较。方法一是TU Berlin提出的MVC分级预测结构的方法(“Core Experimental onview-temporal prediction structures,”ISO/IEC JTC1/SC29/WG11,MPEG2006/M13196,April 2006),方法二是霍俊彦提出的灵活MVC预测结构的方法(霍俊彦,“提高多视点视频编码效率的技术研究,”西安电子科技大学博士论文,2008.4)。
三种方法都是与HHI预测方案得到的测试结果进行比较,分别得到峰值信噪比(PSNR),编码的码率(bitrate)以及编码消耗的时间(time)三个方面的数据。ΔPSNR表示改进后的方法相对于HHI预测方案的PSNR的变化量,如果变化量小于0.05dB,在主观视觉上几乎看不出差别。Δbitrate表示改进的方法相对于HHI预测方案的编码码率的变化百分比,Δtime表示改进的方法相对于HHI预测方案编码所消耗的时间的变化百分比。比较结果见表1。
表1.本发明方法和其他两种方法的编码性能比较
从表中可以看出:对于方法一,MVC分级预测结构对不同的测试序列都能够有效地降低编码的时间,但是Δbitrate的差异比较大,如对于序列Flamenco2,Δbitrate=-0.11%,而对于Rena,Δbitrate=4.47%。对于方法二,对于不同的测试序列,得到的Δtime差别很大,如对于序列Ballroom,编码时间只降低了5.81%。本发明方法对于不同的测试序列,在Δbitrate很小的情况下,都能有效地降低编码所消耗的时间。从平均值来看,本发明方法取得了很好的效果。
Claims (5)
1、一种基于HHI分层B帧预测结构的多视点视频编码的改进方法,其特征在于,
对于I视的非关键帧和P视的非关键帧,其参考帧选择时间方向帧;P视的关键帧和B视的关键帧,其参考帧选择同时刻的相邻视点帧;
对于B视的非关键帧,其中每个宏块为16×16像素,其参考帧选择性包括:最近的前向时间方向帧、最近的后向时间方向帧、同时刻的前向相邻视点帧、同时刻的后向相邻视点帧;当待编码帧中的每个宏块确定参考帧时,首先,选择前向时间方向帧和后向时间方向帧;然后,将前向相邻视点帧和后向相邻视点帧分别与待编码帧进行相关性判断后,其相关性强的相邻视点帧作为参考帧;
对于I视的非关键帧、B视和P视的全部帧,在确定帧间预测的宏块分割模式时,对待编码帧中的待编码宏块,先进行帧内预测,得到最佳的帧内预测模式BestMode_Intra,再进行16×16,16×8,8×16三种宏块分割模式的帧间预测,得到帧间预测的最佳宏块分割模式BestMode_Inter;如果BestMode_Intra=Intra_16×16并且BestMode_Inter=Inter_16×16,则跳过8×8,8×4,4×8,4×4四种宏块分割模式的帧间预测;否则,进行8×8,8×4,4×8,4×4四种宏块分割模式的帧间预测;其中,Intra_16×16表示帧内16×16预测模式,Inter_16×16表示帧间16×16的宏块分割模式。
2、根据权利要求1所述的一种基于HHI分层B帧预测结构的多视点视频编码的改进方法,其特征在于,
所述将前向相邻视点帧和后向相邻视点帧分别与待编码帧进行相关性判断后,其相关性强的相邻视点帧作为参考帧,具体步骤如下:
首先,在B视的关键帧和非关键帧中定义边界区域和中心区域;
利用关键帧以宏块为单位进行帧间预测的结果,将前一关键帧与其前向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RT0_FMB;将后一关键帧与其前向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RTn_FMB;
利用关键帧以宏块为单位进行帧间预测的结果,将前一关键帧与其后向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RT0_BMB;将后一关键帧与其后向相邻视点帧相匹配的宏块按照边界区域和中心区域进行分类,计算中心区域相匹配的宏块个数与中心区域宏块总个数的比值,记为RTn_BMB;
利用前一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的前向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域F_T0;利用后一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的前向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域F_Tn;Set边界区域F_T0和Set边界区域F_Tn的并集记为Set边界区域F;
利用前一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的后向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域B_T0;利用后一关键帧以宏块为单位进行帧间预测的结果,将与关键帧的后向相邻视点帧中的宏块相匹配的关键帧中边界区域的宏块集合,记为Set边界区域B_Tn;Set边界区域B_T0和Set边界区域B_Tn的并集记为Set边界区域B;
其次,设定相关性判断阈值r_thresh;
当RT0_FMB>r_thresh或RTn_FMB>r_thresh时,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的前向相邻视点帧增加为待编码宏块的参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域F时,将待编码帧的前向相邻视点帧增加为待编码宏块的参考帧;
当RT0_BMB>rthresh或RTn_BMB>r_thresh时,如果待编码宏块不属于待编码帧的边界区域,直接将待编码帧的后向相邻视点帧增加为待编码宏块的参考帧;如果待编码宏块属于待编码帧的边界区域,并且待编码宏块属于Set边界区域B时,将待编码帧的后向相邻视点帧增加为待编码宏块的参考帧。
3、根据权利要求2所述的一种基于HHI分层B帧预测结构的多视点视频编码的改进方法,其特征在于,所述相关性判断阈值r_thresh为0.5~0.7。
4、根据权利要求2所述的一种基于HHI分层B帧预测结构的多视点视频编码的改进方法,其特征在于,所述中心区域,其边界离帧左边界的水平距离和离帧右边界的水平距离分别为帧宽度的10%,离帧上边界的垂直距离和离帧下边界的垂直距离分别为帧高度的10%。
5、根据权利要求2所述的一种基于HHI分层B帧预测结构的多视点视频编码的改进方法,其特征在于,所述边界区域为左右边带、上下边带或由左右边带和上下边带组成的回字形区域,其中左右边带的宽度为帧宽度的1%~4%,上下边带的宽度为帧高度的1%~4%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910021528 CN101511016B (zh) | 2009-03-13 | 2009-03-13 | 基于hhi分层b帧预测结构的多视点视频编码的改进方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910021528 CN101511016B (zh) | 2009-03-13 | 2009-03-13 | 基于hhi分层b帧预测结构的多视点视频编码的改进方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101511016A true CN101511016A (zh) | 2009-08-19 |
CN101511016B CN101511016B (zh) | 2010-08-11 |
Family
ID=41003245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910021528 Expired - Fee Related CN101511016B (zh) | 2009-03-13 | 2009-03-13 | 基于hhi分层b帧预测结构的多视点视频编码的改进方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101511016B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438141A (zh) * | 2011-10-25 | 2012-05-02 | 中国科学技术大学 | 一种立体视频码流处理方法及装置 |
CN102572419A (zh) * | 2010-12-28 | 2012-07-11 | 深圳市融创天下科技股份有限公司 | 一种帧间预测方法、装置 |
-
2009
- 2009-03-13 CN CN 200910021528 patent/CN101511016B/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572419A (zh) * | 2010-12-28 | 2012-07-11 | 深圳市融创天下科技股份有限公司 | 一种帧间预测方法、装置 |
CN102572419B (zh) * | 2010-12-28 | 2014-09-03 | 深圳市云宙多媒体技术有限公司 | 一种帧间预测方法、装置 |
CN102438141A (zh) * | 2011-10-25 | 2012-05-02 | 中国科学技术大学 | 一种立体视频码流处理方法及装置 |
CN102438141B (zh) * | 2011-10-25 | 2013-03-27 | 中国科学技术大学 | 一种立体视频码流处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101511016B (zh) | 2010-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102055982B (zh) | 三维视频编解码方法及装置 | |
CN104704835B (zh) | 视频编码中运动信息管理的装置与方法 | |
Merkle et al. | Efficient compression of multi-view video exploiting inter-view dependencies based on H. 264/MPEG4-AVC | |
KR101158491B1 (ko) | 다시점 영상 부호화, 복호화 방법 및 그 장치. | |
KR101662918B1 (ko) | 깊이-맵 추정 및 업데이트를 사용한 효율적인 멀티-뷰 코딩 | |
CN101668205B (zh) | 基于残差宏块自适应下采样立体视频压缩编码方法 | |
CN101729892B (zh) | 一种非对称立体视频编码方法 | |
KR102250092B1 (ko) | 다시점 비디오 부호화 방법 및 장치, 다시점 비디오 복호화 방법 및 장치 | |
KR100738867B1 (ko) | 다시점 동영상 부호화/복호화 시스템의 부호화 방법 및시점간 보정 변이 추정 방법 | |
CN103338370B (zh) | 一种多视点深度视频快速编码方法 | |
CN102438147B (zh) | 帧内同步立体视频多参考帧模式视间预测编码及解码方法 | |
EP1927250A1 (en) | Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method | |
CN101867816A (zh) | 一种基于人眼视觉特性的立体视频非对称压缩编码方法 | |
MX2008002391A (es) | Metodo y aparato para codificar video de vistas multiples. | |
CN104995916A (zh) | 视频数据解码方法和视频数据解码设备 | |
Chen et al. | Coding techniques in multiview video coding and joint multiview video model | |
CN101584220B (zh) | 对视频信号进行编码的方法和系统、编码的视频信号、对视频信号进行解码的方法和系统 | |
Li et al. | Approaches to H. 264-based stereoscopic video coding | |
CN101568038B (zh) | 基于视差/运动联合估计的多视点容错编码框架 | |
KR20170056595A (ko) | 인터-레이어 예측을 이용한 멀티 레이어 영상 부호화 또는 복호화 방법 및 장치 | |
CN102625097B (zh) | 三维视频帧内预测方法及编解码方法 | |
CN101557519B (zh) | 一种多视点视频编码方法 | |
CN101511016B (zh) | 基于hhi分层b帧预测结构的多视点视频编码的改进方法 | |
CN101547350A (zh) | 高效平面与立体数字视频编码及解码方法 | |
Oh et al. | Multi-view video coding based on the lattice-like pyramid GOP structure |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100811 Termination date: 20130313 |