一种基于虚拟参考帧的帧内编码方法

文档序号:7803368阅读:523来源:国知局
一种基于虚拟参考帧的帧内编码方法
【专利摘要】本发明提出了一种基于虚拟参考帧的帧内编码方法,对帧内视频边界的编码单元CU(Coding?Unit)采用HEVC标准的预测模式进行编码,对其余的编码单元采用虚拟参考帧预测与标准预测相结合的方式进行编码。首先,构造待编码块的虚拟参考帧,虚拟参考帧的范围包括已编码区域的重建数据以及未编码区域的信息两部分构成,未编码区域的数据采用水平/垂直平铺的方式进行填充。其次,对待编码的CU进行基于虚拟参考帧的预测,预测方式采用快速菱形搜索方式,如果预测的残差足够小,就标记该块为INTER方式,并记录其运动矢量的数值;如果运动矢量为0,则标记其为SKIP块;如果预测的残差比较大,则采用HEVC标准的预测方式,并标记块的类型为INTRA块。经过测试,本发明提出的基于虚拟参考帧的预测编码能有效提高帧内编码的预测精度。
【专利说明】一种基于虚拟参考帧的帧内编码方法
【技术领域】
[0001]本发明涉及一种新的帧内编码方法,尤其涉及一种基于虚拟参考帧的帧内编码,属于计算机视觉【技术领域】。
【背景技术】
[0002]计算机性能、网络带宽和移动终端处理能力的不断提高,对视频处理提出了速度、性能等方面的新需求。为了不断提高压缩性能,ITU和ISO组织推出了一系列视频编码标准,包括ITU组织的H.26x系列和ISO组织的MPEG-X系列标准,以及最新制定的HEVC标准。最新的HEVC标准致力于满足于用户的I)高清,2)3D,3)移动无线,以满足新的家庭影院、远程监控、数字广播、移动流媒体、便携摄像、医学成像等新领域的需求。在HEVC标准中有多种配置模式,包括HE (High Efficiency)高性能、LC(Low Complexity)低复杂度配置。
[0003]这些编码标准所采用的基本编码框架相同,多采用运动补偿+DCT的基本框架。这种框架下视频帧一般分为 I (Intra-frame)、P (Predictive-frame) > B (BidirectionaIIypredicted-frame)三种类型:1帧在预测时,不参考其它帧的信息,通过变换、量化等过程完成编码#帧以前向已编码帧的重建图像为参考,进行运动补偿后编码残差出帧则以前后双向已编码帧的重建图像为参考,进行运动补偿后编码残差。
[0004]在三种类型的视频帧中,I帧是关键帧,起到码流容错的作用。I帧编码过程中一般只利用了空间相关性,所以压缩比一般比较低。虽然在一个视频序列里,I帧的个数比较少,但其每帧编码位数却 远高于P、B帧。例如,在H.264标准中,I帧的编码位率是P帧的3~5倍;在HEVC标准中,随着新的帧间预测技术的引入,I帧与P帧的压缩比进一步扩大,在某些视频中,可以达到1: 10。对于输出码率恒定(CBR)的视频流,I帧的码率突然增大,将直接导致减少后续P/B帧的编码位数的下降,进而影响到恢复图像和预测图像的质量。提高I帧的压缩比,不仅对于视频质量的稳定性与连续性起到了至关重要的作用。
[0005]预测是视频中常用的提高压缩比的方法,即根据图像特点,利用视频帧之间及其内部的相关性,以已编码对象为参考,保留较少的差分信息,减少最终编码位数。如何在已编码的图像中找到当前待预测对象的最佳匹配源,最大限度地去除冗余信息,使差分信息量达到最小值,这是预测的关键所在。由于I帧在序列中的作用,不能采用P/B帧的方式进行帧间预测,只能采用帧内预测,即在当前图像内部寻找相似对象。帧内预测多采用“空间相邻点预测”,也即基于图像的空域相关性,认为图像上各点与其空间相邻点具有相似性,通过搜索找到相似点后,进行差分编码。
[0006]H.264标准中采用的帧内预测以16X16的宏块及4X4的块为基本预测单元,对块内各点在9个方向上进行预测。以4X4块为例,如图1 (a)所示,a,b,…,P为当前待预测块,周围17个点Q, I,…,P为已编码点。对a-p逐点,沿图1 (b)所示的O, I,…,8及方向2 (DC预测)共九个方向,取P-Q-H中的点,用适当的预测公式计算预测值,与原始采样值做差分,差值最小的模式为最终预测模式,最后对预测残差系数进行DCT编码。
[0007]在最新的HEVC标准中,引入了⑶(编码单元),PU(预测单元),TU(变换单元),三个新的概念。编码单元类似于H.264/AVC中的宏块概念,其大小最大可以为64X64 ;预测单元是进行预测的基本单元;变换单元是进行变换和量化的基本单元。三个单元的分离,使得变换、预测和编码各个处理环节更加灵活,也更符合视频图像的纹理特征。预测单元的大小可以为4X 4,8 X 8,16 X 16,32 X 32,64X 64,块的大小不同,预测的模式也不相同,分别为17,34,34,34,和3种模式可选.统一的帧内预测角度为:+/-[0,2,5,9,13,17,21,26,32]/32。
[0008]H.264/HEVC标准进行帧内编码时,对每一待编码的象素点均采用多种预测模式,但只是利用了待预测块的上一行,左一列数据,在这个数据范围内,采用近乎穷举的预测点搜索方法进行预测,如果图像相邻点间相关性很差,这种预测不仅不会使图像数据量减少还会因记录模式信息等因素引入更多的冗余信息。
[0009]也就是说,帧内编码的核心是:是否存在足够的相似点,以提高预测的准确度,直接决定预测的效果;如何找到相似点的位置,它决定整个预测过程的运算复杂度。

【发明内容】

[0010]本发明的目的是提供一种基于虚拟参考帧的帧内预测编码方法。该方法通过对HEVC标准进行分析,改变帧内编码时的预测方式,给出适合于帧内编码的编码结构,该结构中,将利用更多的可参考数据,提高预测的准确度,减少数据的冗余。
[0011]通过对HEVC标准进行分析发现,在帧内编码时,帧内预测只利用了当前块的上一行,左一列数据,其上方及左方的广阔区域数据都没有加以利用。本发明的基于虚拟参考帧的帧内编码方法,利用已经重建的区域,再加上虚构出来的一块右方及下方的区域,作为当前待编码块(或待编码像素点)的参考块,完成帧内预测。这种方法结合当前的帧内预测方法,可明显提高压缩效率。
[0012]为实现上述目的,本发明采用下述的技术方案。其特征在于包括以下步骤:
[0013]步骤一:对巾贞内位于视频边界的编码单元⑶(Coding Unit)采用HEVC标准的预测模式进行编码;
[0014]步骤二:,对其余的编码单元进行预测方式判断,首先对待预测数据在虚拟参考帧内进行搜索匹配,所述虚拟参考帧的数据由已知数据或是已编码区域的重建数据,以及虚构出来的一块右方及下方区域构成,上述两个区域与待编码的单元有一定的空间相关性,其次,对搜索匹配获得的匹配数据与待预测数据之间的残差进行判断,如果残差小于预定阈值,就采用虚拟参考帧的方式进行预测,并对残差和运动矢量进行编码;反之,若残差大于预定阈值,将进一步采用HEVC标准的预测模式进行预测,通过比较两种预测方式的残差大小,选取残差较小的一种方式进行帧内预测,然后对预测的残差数据进行量化,熵编码;
[0015]步骤三:在编码码流输出前,如果采用HEVC标准的预测模式进行编码,则CU类型为INTRA块;如果是基于虚拟参考帧进行编码,则CU类型为INTER,并给出运动矢量值。
[0016]为了节省解码的运算量,对一种特殊的INTER类型⑶进行标识,即运动矢量为O的SKIP块。
[0017]利用未编码数据构造虚拟参考帧时,采用水平平铺和垂直平铺的方法,水平平铺是将当前块左边的数据复制到当前块的右侧及下方,垂直平铺的方式是将当前块上方的数据复制到当前块的右侧及下方。
[0018]本发明所提供的基于虚拟参考帧的帧内预测算法可以克服原有标准中帧内预测只利用了当前块的上一行,左一列数据,其上方及左方的广阔区域数据都没有加以利用的缺点,利用已经重建的区域,再加上虚构出来的一块右方及下方的区域,作为当前待编码块的参考块,完成帧内预测。这种方法结合当前的帧内预测方法,可明显提高压缩效率。
【专利附图】

【附图说明】
[0019]图1是H.264标准中的空间相邻点预测;
[0020]图2是HEVC标准中的帧内预测;
[0021]图3是虚拟参考帧中各块的相对位置;
[0022]图4是基于虚拟参考帧的编码框架;
[0023]图5是基于虚拟参考帧的帧内编码流程;
【具体实施方式】
[0024]前已述及,本发明根据基于虚拟参考帧的帧内编码方法,实现了在不增加运算复杂度的前提下,提高预测效果,降低I帧的输出码流。
[0025]下面结合【专利附图】
附图
【附图说明】本发明的实现方式。
[0026]步骤一:虚拟参考帧的构造
[0027]本发明的核心是利用已经编码和未编码区域完成对当前块的帧内预测,有别于标准中的只利用已编码区域进行帧内预测。相当于帧内编码算法引入了运动估计的概念,从本质上改变了了帧内预测的预测方法,也即不采用固定的插值模式和固定的角度进行预测,而是将当前待预测块看成是帧间块的类型,在一定的搜索范围内进行预测,如果搜索到了最佳匹配块,那么该块就是其预测参考块,进而完成预测,提高I帧的编码效率。因而本发明的第一步是构造虚拟参考帧。
[0028]要构造虚拟参考帧,需要利用已经重建的区域,再加上虚构出来的一块右方及下方的区域,作为当前待编码块的参考帧。图3指出了各块所在的位置,图3所示的最大范围定义为当前待编码块Current的虚拟参考中贞。
[0029]第一行块:UL为UP Left块即左上块;UP为上块;UR为Up Right块即右上块;
[0030]第二行块:L为Left块;Current为当前待编码块;R为Right即右块;
[0031]第三行块:DL为左下块;Down为下块,DR为右下块。
[0032]BM块为Best Match ±夹,即为当前块找到的最佳匹配块,图3中的BMl和BM2代表了最佳匹配块可能处的不同位置,如果是BMl位置,其数据用到了已经编码的UL,UP, L块信息外,还将会使用到未编码块Current的信息;如果是BM2位置,除了将用到已经编码的UP, UR,还将会使用到未编码的Current块和R块的信息。
[0033]除了图示的BMl和BM2两个位置外,BM块还可以图3中的任意位置。图3所示的范围定义为当前待编码块Current的虚拟参考帧,也是当前待编码块将要预测的范围,在该范围内进行搜索,以求达到当前块的最佳的帧内预测效果。虚拟参考帧是指根据当前待预测块的大小,一般情况下范围不超过±64X64的大小,最小的范围可以到±8X8。为了提高块搜索的精度,采用了前向预测+后向预测概念。[0034]前向预测:是指预测时利用的信息为前面能够取得重建内容的块,以图3为例,即Current块在UL, UP, UR, L中找到可以用来预测的信息,不可以用到R、Current、DL、Down、DR块的内容。
[0035]后向预测是指预测时利用后面尚未编码的信息,即Current块可以在R、Current、DL、Down, DR块中找到用来预测的信息。
[0036]这里的后向预测有别于B帧的后向预测概念,如果在编码B帧时用到了后向预测,则在解码端需要解码帧的顺序进行调整才可以正确解码。为了不给解码端造成不必要的麻烦,将不对编码块的顺序做任何调整。
[0037]如何利用尚未编码的Current、R等块位置的信息来进行后向预测Current ±夹,这就成为了本发明在构造虚拟参考帧的一个重点。解决这个问题的关键是如何构造不存在的数据,具体方法有下面3种:
[0038](I)为了减少计算量,可以采用了水平平铺和垂直平铺的方法。水平平铺就是将L块复制到Current、R块及下方的DL、Down、DR块;垂直平铺就是将UP块复制到Current、Down ik,以及将UR块的信息复制到R和DR ±夹,将L块的信息平铺到DL块。
[0039](2)根据块的纹理统计特性来选取合适信息进行复制。
[0040](3)直接将Current,R,DL, Down, DR块的信息填写成128或者其它数值。
[0041]以上三种方法各有优缺点,第(I)种数值构造方式简单,只涉及数据的复制,但不够精确;第(2)种数值构造复杂,需要进行图像特征的统计,但数据相对精确;第(3)种数值构造简单,但数据之间的相关性弱些。综合考虑计算量和数据的相关性,本发明将使用(I)来构造尚未编码的数据。
[0042]步骤二:基于虚拟参考帧的预测过程
[0043]图4是基于虚拟参考帧的帧内编码框架,在该图中,只针对帧类型为I帧进行处理,其它的帧类型不采用本框架。其它帧类型,仍采用标准的方法进行编码。对输入的I帧,以编码单元CU为单位,进行虚拟参考帧预测与HEVC标准预测相结合的方式进行预测,取残差系统低的方式做为最终的预测模式。对残差系数进行变换、量化、熵编码进行输出,进行码流的输出。
[0044]图5是基于虚拟参考帧的帧内编码流程,在该流程中包含预测类型的判定和块类型的语法标注。
[0045]对采集输入视频序列,确定帧类型,当前为I帧时,编码过程中将其划分为NXN小块,其中第i行,第j列的当前块记做Curiijtl
[0046]第一步:W,y_ (i e [0,N)J e [0,7V)),对当前块Curi,」进行判断,判断内容为是否为边
界?是否为LCU级?若为边界或LCU级都将采用HEVC标准的方法进行帧内预测,记录其Modei, j=INTRA。判断准则是:若当前块的UL块,UP块,UR块,L块有一个不存在,则说明处于Curi, j为边界块;否则说明Curi, j不为边界块也不为IXU级,则可以进行搜索预测,进入
下一步。
[0047]第二步:创建虚拟参考帧,在本发明中采用水平平铺的方式来创建,水平平铺当前current块和R块。设定搜索范围,若块尺寸为32X32,则搜索范围为64X64,其他块大小时,搜索范围为32X32。
[0048]第三步:对当前块Curi, j进行预测,预测的方式采用整像素和亚像素运动估计的方法,匹配准则采用SAD值最小的方法,记录其水平和垂直运动矢量VectX,VectY ;
[0049]第四步:根据运动矢量类型判断其预测模式,预测模式Modei,」为3种类型,即Inter, Intra, Skip。若SAD值小于设定的阈值,则记录VectX, VectY,同时标记ModeiJ =Inter。若VectX = VectY = O,则为Modei,」=Skip块,同时标记该块模式为Modei, j =Inter。若SAD值大于设定的阈值,则说明没有得到最佳匹配块,Modeiij = Intra,采用标准的预测模式进行预测。
[0050]第五步.根据不同的类型进入不同的编码处理过程
[0051]Modeijj = Skip即在码流里只记录其Modei,」信息,不用写入码流。
[0052]Modei,」=Intra采用HEVC标准的方法进行预测,直接进行变换处理,码流里包含Modeijj信息和处理后的数据信息。
[0053]Modeio- = Inter,采用本发明的基于虚拟参考帧的方式进行预测,并对残差进行变换处理,码流里包含Modei, j信息和残差处理后的数据信息以及运动矢量VectX,VectY信
肩、O
[0054]第六步:输出压 缩码流
[0055]件能分析
[0056]采用本发明方法对HEVC标准的HM进行实现、测试并与标准算法HM6.0结果相比较。对恢复图像质量,本发明采用BDBR作为衡量指标。配置文件:L0W_delay_P_Main.cfg,低延迟;编码帧类型:IPIPIP...;编码帧数:共20帧,10个I帧,10个P帧。测试序列分别为 CLASS A~E,其中 CLASS A为超清视频序列"Traffic" (4096x2048p30fps)," PeopleOnStreet" (3840x2160p30fps).中截取的 2560x1600 的序列;CLASS B 为 1920xl080p24fps: " ParkScene" ," Kimono" , 1920xl08050-60fps: " Cactus" ," BasketbalIDrive","BQTerrace;/ ;CLASS C为832x480p30_60fps(WVGA):" BasketballDrill"," BQMall","PartyScene"," RaceHorses;/ ;CLASS D 为 416x240p30_60fps (WQVGA):" BasketballPaSS"," BQSquare"," BlowingBubbles"," RaceHorses" ;CLASS E 为 1280x720p60fpsvideo conferencing scenes: " Vidyol" , " Vidyo3" and" Vidyo4"不同的视频类型分辨率不同,帧频不同。
[0057]表1~表3给出了不同搜索范围的情况下的测试结果,表1~3的搜索范围依次为64,32,16。以表1为例,第一列为视频类别CLASS A~E,第二~四列,与标准HEVC HM6.0具有相同PSNR值的基础上,亮度分量Y、色度分量U、色度分量V,三个分量所节省的位率百分比。
[0058]表1 搜索范围 64,BDBR =-0.85%
[0059]
【权利要求】
1.一种基于虚拟参考帧的帧内编码方法,其特征在于: 步骤一:对巾贞内位于视频边界的编码单元CU (Coding Unit)采用HEVC标准的预测模式进行编码; 步骤二:,对其余的编码单元进行预测方式判断,首先对待预测数据在虚拟参考帧内进行搜索匹配,所述虚拟参考帧的数据由已知数据或是已编码区域的重建数据,以及虚构出来的一块右方及下方区域构成,上述两个区域与待编码的单元有一定的空间相关性,其次,对搜索匹配获得的匹配数据与待预测数据之间的残差进行判断,如果残差小于预定阈值,就采用虚拟参考帧的方式进行预测,并对残差和运动矢量进行编码;反之,若残差大于预定阈值,将进一步采用HEVC标准的预测模式进行预测,通过比较两种预测方式的残差大小,选取残差较小的一种方式进行帧内预测,然后对预测的残差数据进行量化,熵编码; 步骤三:在编码码流输出前,如果采用HEVC标准的预测模式进行编码,则CU类型为INTRA块;如果是基于虚拟参考帧进行编码,则CU类型为INTER,并给出运动矢量值。
2.如权利要求1所述的帧内编码方法,其特征在于:为了节省解码的运算量,对一种特殊的INTER类型⑶进行标识,即运动矢量为O的SKIP块。
3.如权利要求1所述的帧内编码方法,其特征在于:利用未编码数据构造虚拟参考帧时,采用水平平铺和垂直平铺的方法,水平平铺是将当前块左边的数据复制到当前块的右侧及下方,垂直平铺的方式是将当前块上方的数据复制到当前块的右侧及下方。
【文档编号】H04N19/176GK103929641SQ201410196016
【公开日】2014年7月16日 申请日期:2014年5月12日 优先权日:2014年5月12日
【发明者】姚春莲, 姜东 , 李越辉, 毛典辉, 李素, 曹倩 申请人:北京工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1