一种邻帧预测深度相似性的视频编码方法
【专利摘要】该发明公开了一种邻帧预测深度相似性的视频编码方法,涉及计算机视觉和信号处理技术,研究偏重于视频帧间编码算法优化和视频图像相关处理。在原有帧间预测视频编码方法的基础上,利用相邻帧之间的纹理特征的相关性,优化每一帧预测的划分过程,另外通过控制量化参数(QP)和参考帧选择过程(RFS)来保证预测的准确性,在缩减编码时间与保证预测精准中达到一个平衡,真正从整体上优化了整个帧间编码过程。
【专利说明】一种邻帧预测深度相似性的视频编码方法
【技术领域】
[0001] 本发明涉及计算机视觉和信号处理技术,研宄偏重于视频帧间编码算法优化和视 频图像相关处理。
【背景技术】
[0002] HEVC是ITU-T视频编码专家组和ISO动态图像专家组组织联合成立jCT-VC(Joint CollaborativeTeam-VideoCoding)组织制定的最新一代视频编码标准。
[0003] 本发明针对HEVC中的帧间编码的预测帧的构造过程中的预测算法进行了整体性 优化。HEVC的帧间编码过程涉及面广,流程相对复杂,当今的研宄趋势主要趋向于在流程 中某一个细节,用数学方法减少算法的冗余执行,达到节省编码时间的目的。在这些已经公 开的相关技术和文献内容中,算法的优化主要有两种途径:削减原有编码过程以及大幅改 变原编码过程。这两种主要途径在实际应用中很难被采纳,削减原有编码过程以达到编码 时间的缩短,这违背了HEVC制定的初衷,这种类型的优化往往对某些特定类型的视频序列 可以起到极好的优化效果,但却忽略了由被削减的编码过程进行判断的特殊情况,而研宄 人员往往会回避这些特殊情况,以偏概全;而另一个途径,则是运用数学理论自制一套全新 的预测算法,大幅度甚至整体地替换掉原有的编码预测机制,不仅理解不易,其真实的算法 性能指标,与经过大量实验而制定的ffiVC标准相比,是否真的更好也有待更多的实验来检 验。
【发明内容】
[0004] 本发明在原有帧间预测视频编码方法的基础上,利用相邻帧之间的纹理特征的相 关性,优化每一帧预测的划分过程,另外通过控制量化参数(QP)和参考帧选择过程(RFS) 来保证预测的准确性,在缩减编码时间与保证预测精准中达到一个平衡,真正从整体上优 化了整个帧间编码过程。
[0005] 在H. 265的编码结构设计中,划分,预测,变换三个主要的编码过程拥有各自独立 的编码结构,分别是CodingUnit(CU),PredictionUnit(PU)和TransformUnit(TU)。他 们都是帧的编码结构,编码结构是面积小于图像帧的矩形像素块,为了保证网络传输的及 时性,编码和传输都是以编码结构为单位,而不是以帧为单位。
[0006] 本发明一种邻帧预测深度相似性的视频编码方法,该方法包括:
[0007] 步骤1 :选取待编码的视频,将视频中每相邻的8个视频帧划分为一组(GOP,Group ofPictures),选择该组中一帧进行编码,称其为当前帧;
[0008] 步骤2 :从该组中已经编码的视频帧中选择一帧为当前帧的参考帧,若当前帧为 该组中第一帧则选择前一组的最后一帧为参考帧;
[0009] 步骤3 :判断选择出的参考帧与当前帧是否跨越视频场景;若跨越视频场景,则对 当前帧进行编码时其起始深度为〇,最大深度不超过根据需要的编译精度设定的最大深度, 计算其量化参数,则跳转到步骤6 ;若未跨越视频场景,则转到步骤4 ;
[0010] 步骤4:计算出当前帧的量化参数,将当前帧的量化参数与参考帧的量化参数进 行比较,若当前帧的量化参数大于参考帧的量化参数,将参考帧的起始深度减1作为当前 帧的起始深度;否则,将参考帧的起始划分深度作为当前帧的起始深度;
[0011] 步骤5 :计算参考帧的平均深度,若参考帧的平均深度接近其起始深度,则限定当 前帧的最大深度不超过参考帧的最大深度;若参考帧的平均深度更接近最大深度,则当前 帧的最大深度不超过设定的最大深度;
[0012] 步骤6 :将当前帧及其起始深度、最大深度、平均深度、量化参数存入参考帧候选 列表,作为后续视频帧编码的候选参考帧;
[0013] 步骤7 :根据编码配置信息,依次对所有的视频帧进行编码,完成整个视频的编 码。
[0014] 进一步地,对所述步骤1划分的视频组中的8个视频帧按照视频顺序进行0?7 编号,选择其中视频帧进行编码的顺序为〇,3,5,2,6,4,7,1。
[0015] 进一步地,所述步骤2中选择该组候选参考帧中与当前帧距离最近的一帧为当前 帧的参考帧。
[0016] 进一步地,所述步骤3中判断参考帧与当前帧是否跨越视频场景的方法为:分别 计算出当前帧和参考帧的起始深度、平均深度、最大深度的差值的绝对值;分别设定三个绝 对值的加权系数分别为7、10、3,计算其加权之和T,若T> 25,并且当前帧与参考帧的距离 大于等于4,则认为参考帧与当前帧跨越了视频场景,否则未跨越视频场景。
[0017] 进一步地,步骤7的具体步骤如下:
[0018] 步骤7-1 :根据步骤1到步骤6完成⑶的划分,经过后续的变换、量化、变换编码、 反变换、反量化等过程完成一个CU的编码;
[0019] 步骤7-2 :遍历当前帧的所有⑶,重复执行步骤7-1,完成一个帧的完整编码过程。 [0020] 步骤7-3 :按照配置文件中指定的一个组(GOP)内的所有视频帧的编码顺序,以及 每一帧的参考帧的相对位置,依次对该组内的所有帧编码;
[0021] 步骤7-4 :被编码视频的所有组按照显示顺序,重复执行步骤7-3,完成所有组的 编码,没有包含在任何组内的帧,按照配置文件指定的模式进行编码。
[0022] 本发明一种邻帧预测深度相似性的视频编码方法,用相邻帧之间的纹理特征的相 关性,优化每一帧预测的划分过程,从而具有在保证预测的准确性的同时缩减了编码时间 的效果。
【专利附图】
【附图说明】
[0023] 图1为⑶深度与纹理复杂度示意图;
[0024] 图2为Co-located⑶和Current⑶的位置关系示意图;
[0025] 图3为单向预测帧的选取方法示意图;
[0026] 图4为双向预测帧的选取方法示意图;
[0027] 图5为当如帧的参考帧选取:跨越场景边界不意图;
[0028] 图6为视频序列Vidyol的QP和平均深度的关系曲线图;
[0029] 图7邻帧预测深度优化算法在不同清晰度视频序列ASTP的变化直方图;
[0030] 图8邻帧预测深度优化算法在不同清晰度视频序列BD-bitrate的变化直方图。
【具体实施方式】
[0031] 下面针对附图对本发明进行进一步说明。首先需要说明几个概念:
[0032] (1)在H. 265的编码结构设计中,划分,预测,变换三个主要的编码过程拥有各自 独立的编码结构,分别是CodingUnit(CU),PredictionUnit(PU)和TransformUnit(TU)〇 他们都是帧的编码结构,编码结构是面积小于图像帧的矩形像素块,为了保证网络传输的 及时性,编码和传输都是以编码结构为单位,而不是以帧为单位。
[0033] (2)当前⑶(current⑶)是指当前正在被编码的编码单元,Co-located⑶是指 与当前CU在不同帧中位置且大小相同的CU。
[0034] CU划分的优化算法主要利用了视频编码的两个特性:
[0035] (1)邻近帧之间的相关性;
[0036] (2)⑶划分过程中,深度大小与纹理复杂度的对应关系。
[0037] 所谓邻近帧之间的相关性,是视频编码帧间预测的基础,一个视频中的相邻图像 帧很可能属于同一个场景,因此它们之间的差异相对较小,所以可以用邻近帧的块来作为 当前帧中需要编码的块的预测,也称为PU。
[0038] CU的深度与CU的大小相对应。而当深度值越大,即CU的尺寸越小时,即会进行精 确度相对较高的预测。在纹理复杂度的层面来说,纹理较复杂的图像会更多地进行精确度 高的预测,纹理平坦的图像则会相对粗糙地进行预测,CU的划分不需要那么精确。纹理复 杂度和CU深度的关系如图1所示。
[0039] ⑶划分的优化算法的主要思路是:利用参考帧的co-located⑶的株度彳目息,确 定当前帧当前CU的起始和结束搜索深度。
[0040] Co-located⑶是指当前帧时域参考帧中,和当前帧当前⑶处于相同坐标范围内 的CU,如图4所示。因为参考帧已经被编码,所以可获得其详细的深度信息,包括最小、最大 和平均划分深度。这些深度信息用于初始化当前CU的深度信息,以减少深度搜索过程的耗 时。
[0041] 本发明的主要包括以下步骤:
[0042] A.判断当前帧类型是否符合帧间优化算法的条件;
[0043] B.优化当前帧的搜索深度;
[0044]C.利用量化参数(QP)与搜索深度的关系,校验并修正优化后的最小搜索深度;
[0045] D.根据帧类型,判断是否保存当前帧搜索深度的相关信息。
[0046] 步骤A中判断当前帧类型是否符合帧间优化算法的条件涉及到不同类型的帧的 参考帧选取(RFS)过程,其差异也被考虑到优化算法当中,以下是对参考帧选取(RFS)过程 的具体描述:
[0047] 类型为B帧或P帧的图像帧,编码器使用帧间模式进行编码,其中心思想是利用邻 近帧的亮度和色度块作为源图像中CU的预测帧,组成预测帧的这些邻近帧的不同大小的 亮度和色度块称为PU。
[0048] 在H. 265中,图像帧类型的不同决定了参考帧选取方式的不同。
[0049] 当源图像帧为P帧,只在显示顺序前向选取参考帧,即为当前帧在显示顺序上的 前一帧,当前图像序列的编码顺序和显示顺序一致,其过程如图3所示,P0C表示图像的显 示顺序,方块中的数字表示编码顺序,绿色的方块表示已经编码的帧,白色的方块表示当前 正在编码的帧,箭头的方向表示参考帧选取的方向。
[0050] 当源图像帧是B帧时,在当前帧显示顺序的前向和后向,都要取得参考帧的候选, 当前图像序列被编码的顺序和显示顺序是不一致的,而参考帧则必须是比当前帧在编码顺 序上更靠前的帧,所以可能出现以下情况:
[0051] (1)当前帧和参考帧在显示顺序上不相邻,甚至有很大间隔;
[0052] (2)参考帧在显示顺序上比当前帧更靠后;
[0053] 双向预测帧的选取过程如图4所示,箭头所指向的帧都是参考帧的候选集合,先 暂存在两个列表中,根据预测帧的构建结果,选出最匹配的参考帧。
[0054] 依据帧间编码中B帧参考帧的选取过程,如果当前帧为B帧,其参考帧与当前帧的 距离可能会较大,导致参考帧和当前帧位于不同的场景当中,如图5所示。
[0055] 由于CU划分的优化是基于相邻帧之间的相关性进行的,当参考帧和当前帧处于 不同的场景中时,这种相关性就变得非常弱,再进行深度划分的优化会导致预测的较大幅 度的偏差,虽然缩减了编码时间,但会造成编码后的图像清晰度的损失。
[0056] 所以在发明中提出的CU划分的优化算法中,每隔16帧会进行一次判断:分别选取 当前帧的前向和后向的第一个参考帧pre_Pic和suf_Pic,如果pre_Pic和suf_Pic的三 个深度信息变量的差值Ad印thstart、Ad印thend和Ad印thavg加权之后的绝对值之和超过 了某个阀值Threshold且pre_Pic和suf_Pic的显示顺序(POC)之差大于等于4,则表明 参考帧的选取有可能跨越了场景边界,则不进行优化,保留原来的CU划分算法。经过实验, Threshold的值设置为25,三个深度信息变量的加权值分别设置7、10、3时,算法达到了最 优的性能。判断标志giveup_flag如式1所示。
[0057] giveup_flag= 7X|Adepthstart |+10X|Adepthavg |+3X|Adepthend| ^25&&|P0C pre-Pic_P〇Csuf-PicI多 4 (1)
[0058] 综上所述,步骤A的具体步骤如下:
[0059] A1.从候选帧列表中取出第一个候选帧作为当前帧预测时进行深度划分的参考 帧,理论上来说,这一帧是在P0C顺序上距离当前帧最近的帧,所以尽管它不一定是单个的 特定的CU的最佳参考帧,但从整体上的深度信息来看,这一帧在所有候选当中是最优的参 考帧;
[0060] A2.判断该帧的类型是B-Slice还是P-Slice:如果是B-Slice,则需要在进行 最大深度信息优化标志distance-scale的判断之前,如式5判断标志giveup_flag,如 果为真则当前帧不进行优化,按照原算法进行预测;如果是P-Slice,则不需要进行参考 帧和当前帧是否属于同一场景的检验,直接进行深度信息的优化(最小深度优化以及 distance-scale标志的判断);
[0061] 步骤B中优化当前帧的深度信息的优化算法主要内容如下:
[0062] B1.用co-locatedCU的最小划分深度depthstart (n-1)初始化当前CU的起始划分 深度depthstart (n),CU的划分过程便略过了深度小于depthstart (n-1)的部分,同时,为了保 证预测的准确性,量化参数对深度的影响会考虑在内。
[0063]B2?用co-locatedCU的最大划分深度cbpthend(n_l)初始化当前CU的终止划分 深度cbpthend(n),即可略过深度大于cbpthend(n-l)的深度划分过程,提高编码速率。但由于 深度较大的划分过程是比较精确的划分过程,过度的简化深度较大的划分过程可能会引起 预测准确性地较大偏差,所以优化算法为这种简化提出了限制条件,只有式1中标志0pt_ decide_flag为真,才能进行深度较大的划分过程的优化。式2中preQP表示参考帧的QP, currQP表示当前帧的QP,max_pre_dpt表示参考帧的最大划分深度,即depthend(n-l)。
[0064] opt_decide_flag= (distance_scale> = 11 |preQP<currQP)&&max_pre_dpt<3 (2)
[0065] 式1中的变量distance_scale的值由co-located⑶的最小、最大深度和平均深 度的差值的绝对值之比来决定,如式3所示,max、min、avg分别表示参考帧的最大,最小和 平均划分深度。
【权利要求】
1. 一种邻帧预测深度相似性的视频编码方法,该方法包括: 步骤1 :选取待编码的视频,将视频中每相邻的8个视频帧划分为一组,选择该组中一 帧进行编码,称其为当前帧; 步骤2 :从该组中已经编码的视频帧中选择一帧为当前帧的参考帧,若当前帧为该组 中第一帧则选择前一组的最后一帧为参考帧; 步骤3 :判断选择出的参考帧与当前帧是否跨越视频场景;若跨越视频场景,则对当前 帧进行编码时其起始深度为〇,最大深度不超过根据需要的编译精度设定的最大深度,计算 其量化参数,则跳转到步骤6 ;若未跨越视频场景,则转到步骤4 ; 步骤4:计算出当前帧的量化参数,将当前帧的量化参数与参考帧的量化参数进行比 较,若当前帧的量化参数大于参考帧的量化参数,将参考帧的起始深度减1作为当前帧的 起始深度;否则,将参考帧的起始划分深度作为当前帧的起始深度; 步骤5 :计算参考帧的平均深度,若参考帧的平均深度接近其起始深度,则限定当前帧 的最大深度不超过参考帧的最大深度;若参考帧的平均深度更接近最大深度,则当前帧的 最大深度不超过设定的最大深度; 步骤6 :将当前帧及其起始深度、最大深度、平均深度、量化参数存入参考帧候选列表, 作为后续视频帧编码的候选参考帧; 步骤7 :根据编码配置信息,依次对所有的视频帧进行编码,完成整个视频的编码。
2. 如权利要求1所述的一种邻帧预测深度相似性的视频编码方法,其特征在于所述步 骤1划分的视频组中的8个视频帧按照视频顺序进行0?7编号,选择其中视频帧进行编 码的顺序为 〇, 3, 5, 2,6,4, 7,1。
3. 如权利要求1所述的一种邻帧预测深度相似性的视频编码方法,其特征在于所述步 骤2中选择该组候选参考帧中与当前帧距离最近的一帧为当前帧的参考帧。
4. 如权利要求1所述的一种邻帧预测深度相似性的视频编码方法,其特征在于所述步 骤3中判断参考帧与当前帧是否跨越视频场景的方法为:分别计算出当前帧和参考帧的起 始深度、平均深度、最大深度的差值的绝对值;分别设定三个绝对值的加权系数分别为7、 1〇、3,计算其加权之和T,若T > 25,并且当前帧与参考帧的距离大于等于4,则认为参考帧 与当前帧跨越了视频场景,否则未跨越视频场景。
5. 如权利要求1所述的一种邻帧预测深度相似性的视频编码方法,其特征在于步骤7 的具体步骤如下: 步骤7-1 :根据步骤1到步骤6完成CU的划分,经过后续的变换、量化、变换编码、反变 换、反量化等过程完成一个CU的编码; 步骤7-2 :遍历当前帧的所有CU,重复执行步骤7-1,完成一个帧的完整编码过程。 步骤7-3 :按照配置文件中指定的一个组内的所有视频帧的编码顺序,以及每一帧的 参考帧的相对位置,依次对该组内的所有帧编码; 步骤7-4 :被编码视频的所有组按照显示顺序,重复执行步骤7-3,完成所有组的编码, 没有包含在任何组内的帧,按照配置文件指定的模式进行编码。
【文档编号】H04N19/124GK104519362SQ201410811013
【公开日】2015年4月15日 申请日期:2014年12月23日 优先权日:2014年12月23日
【发明者】桑楠, 刘虹呈, 丁先树, 饶云波, 雷航, 周波, 将自国 申请人:电子科技大学