一种用于视频编码的帧内预测方法

文档序号:7587960阅读:118来源:国知局
专利名称:一种用于视频编码的帧内预测方法
技术领域
本发明涉及计算机数字视频编码技术领域,针对的是视频编码系统。具体的研究发明内容为帧内预测技术。
背景技术
为了在当前有限的传输带宽和存储媒体中传输和存放图像,我们必须对图像进行压缩编码处理。在动态图像的压缩编码技术中,编码算法分帧内编码和帧间编码两种情况。其中对视频序列中的第一幅图像或景物变换后的第一幅图像,采用帧内变换编码,其它图像采用帧间编码。在现有技术中,帧内编码使用空间预测以利用源信号中的空间统计相关性,帧间编码使用基于块的帧间预测以利用时域统计相关性。在具体编码时,规定了图像内基本处理块的预测方式,如果是采用帧间预测,按相应的算法计算当前块的运动向量,得到其预测值;否则是采用帧内预测,利用当前块的相邻的已重构的像素按相应的帧内预测技术做预测;进而对预测残差进行变换以去除变换块内的空间相关性,再进行量化;最后,使用现有JVT技术的变长编码或算术编码对量化变换系数信息进行编码。
目前,由ITU-T和ISO/IEC JTC1两个国际标准化组织联合形成的音视频标准化联合组织JVT推出的视频编码标准是目前国内外十分流行的一种编码标准,它广泛应用于电视图像压缩、多媒体通讯、多媒体计算机、图像数据库和通信等领域。在JVT中一个宏块包括一个16×16的亮度样值块和两个对应的色度样值块,用作视频编解码过程的基本处理单元。
在JVT标准提供的5.0版本视频编码标准的帧内预测技术中,亮度或色度样值的预测采用的是基于p×q块的预测结构,其中p表示块的列数,q表示块的行数,它是利用该p×q块上、右上、左、左上和左下边(图3)已经重构的像素样值,按照某些预测模式及其计算规则来预测当前块的像素样值,其中,i=0,1,...,2q-1,表示像素行坐标,j=0,1,...,2p-1,表示像素列坐标,ti表示当前块左边一列第i行像素样值,sj表示当前块上边一行第j列像素样值,aij表示当前块第i行j列的像素样值;其中,在处理亮度样值时,JVT标准定义当块为4×4块、4×8块、8×4块和8×8块时,即p=4或p=8时,q=4或q=8时,采用9种预测模式,这些预测模式和顺序为模式0垂直预测(vertical prediction)模式1水平预测(horizontal prediction)模式2DC预测(DC prediction)模式345度方向预测(diagonal down/left prediction)模式4135度方向预测(diagonal down/right prediction)模式5112.5度方向预测(vertical-right prediction)模式6157.5度方向预测(horizontal-down prediction)模式767.5度方向预测(vertical-left prediction)模式822.5度方向预测(horizontal-up prediction)其中,除了DC预测模式,剩余的8种预测模式称为方向预测模式,图4中的数字标明了各个方向预测模式的指向,未标出的2表示DC预测模式。其中的DC预测模式定义为i.如果sj(j=0,1,2,...,p-1),ti(i=0,1,2,...,q-1)都可用,则所有预测样本 等于(Σj=0p-1sj+Σi=0q-1ti+(p+q)/2)/(p+q);]]>ii.如果ti(i=0,1,2,...,q-1)不可用,sj(j=0,1,2,...,p-1)可用,则所有预测样本 等于(Σj=1p-1sj+p/2)p;]]>iii.如果sj(j=0,1,2,...,p-1)不可用,ti(i=0,1,2,...,q-1)可用,则所有预测样本 等于(Σi=0q-1ti+q/2)/q;]]>iv.如果sj(j=0,1,2,...,p-1),ti(i=0,1,2,...,q-1)都不可用,则所有预测样本 等于128,i=0,1,2,...,q-1,表示像素行坐标,j=0,1,2,...,p-1,表示像素列坐标;在处理亮度样值时,JVT标准还定义p=q=16时采用4种预测模式,这些预测模式为和顺序为模式0垂直预测(vertical prediction)模式1水平预测(horizontal prediction)模式2DC预测(DC prediction)模式3平板预测(plane prediction)其中的DC预测模式定义与亮度块为4×4块、4×8块、8×4块和8×8块的预测模式定义一致。
在处理色度样值时,JVT标准定义8×8块的4种预测模式和顺序为模式0DC预测(DC prediction)模式1水平预测(horizontal prediction)模式2垂直预测(vertical prediction)模式3平板预测(plane prediction)其中的DC预测模式定义与亮度块为4×4块、4×8块、8×4块和8×8块的预测模式定义一致。
JVT的预测结构很细,但其在DC预测模式上的预测精准性不够高,并且其对样值的预测模式比较多,如其对亮度样值的预测在4×4块、4×8块、8×4块和8×8块块的预测模式就有9种,导致整个算法的复杂度很高。

发明内容
本发明目的在于克服DC预测模式预测不精准的缺陷,降低编码过程中帧内预测算法的计算复杂度,提供一种用于视频编码的帧内预测方法。
本发明的系统框图如图1所示,这种用于视频编码的帧内预测方法,是通过视频摄像机得到原始视频序列作为输入,通过视频采集卡后变成视频序列数据进入计算机,并采用JVT提供的视频编码技术,由计算机进行处理与运算。其方法步骤为计算机系统接受采集卡处理好的原始视频流,然后读出接收到的视频序列的一幅图像,并将该图像的像素样值按从左至右,从上到下的顺序分成16×16的宏块;从计算机存储器读取到的宏块被送到帧内预测模块,在具体编码时,规定了图像内基本处理块的预测方式,如果是采用帧间预测,按相应的算法计算当前块的运动向量,得到其预测值;否则采用帧内预测,利用当前块的相邻的已重构的像素按相应的帧内预测技术做预测,即按JVT的预测模式和本发明提出的帧内预测方法进行样值预测,或按本发明提出的简化的预测模式和预测模式计算方法进行样值预测,然后按JVT标准的方法对预测残差进行变换以去除变换块内的空间相关性,再进行量化;接着,使用现有JVT技术的变长编码或算术编码对量化变换系数信息进行编码,直到本图像编码完成为止,最后输出本图像编码比特流;读取接收到的序列中的下一幅图像,以此类推直至所有图像均编码完成为止,流程见图6。
在JVT标准提供的5.0版本视频编码标准的帧内预测技术中,亮度或色度样值的预测采用的是基于p×q块的预测结构,其中p表示块的列数,q表示块的行数,它是利用该p×q块上、右上、左、左上和左下边已经重构的像素样值,按照某些预测模式及其计算规则来预测当前块的像素样值,其中,i=0,1,...,2q-1,表示像素行坐标,j=0,1,...,2p-1,表示像素列坐标,ti表示当前块左边一列第i行像素样值,sj表示当前块上边一行第j列像素样值,aij表示当前块第i行j列的像素样值;其中,1).在处理亮度样值时,JVT标准定义当块为4×4块、4×8块、8×4块和8×8块时,即p=4或p=8时,q=4或q=8时,采用9种预测模式,这些预测模式和顺序为模式0垂直预测模式1水平预测模式2DC预测模式345度方向预测模式4135度方向预测模式5112.5度方向预测模式6157.5度方向预测模式767.5度方向预测模式822.5度方向预测其中,除了DC预测模式,剩余的8种预测模式称为方向预测模式;2).在处理亮度样值时,JVT标准还定义p=q=16时采用4种预测模式,这些预测模式为和顺序为模式0垂直预测模式1水平预测模式2DC预测模式3平板预测3).在处理色度样值时,JVT标准定义8×8块的4种预测模式和顺序为模式0DC预测模式1水平预测模式2垂直预测模式3平板预测本发明的特征在于,从计算机存储器读取宏块数据后进入帧内预测模块,所述对每个选择帧内预测的16×16宏块中的像素样值进行预测由以下步骤顺次组成(1).取一个16×16宏块为当前预测宏块;(2).将该宏块按从左至右,从上到下的顺序分成p×q,p表示块的列数,可等于4,8,或16,q表示块的行数,可等于4,8,或16;(3)取一个p×q块为当前块;(4)预测当前块p×q的像素亮度或色度样值;(5)取下一个p×q块作为当前块,重复第(3)至(5)步的过程,直到该宏块预测完毕为止;其中,在进行当前块p×q的像素亮度或色度样值预测时,其中的DC预测模式方法的主要特征为当前块是利用相邻块(U,L,UR,UL,DL)中已解码像素的样值来计算其DC预测模式的,其中,定义符号C表示当前块,符号U表示与当前块相邻的上块,符号L表示与当前块相邻的左块,符号UL表示与当前块相邻的左上块,符号UR表示与当前块相邻的右上块,符号DL表示当前块表示与当前块相邻的左下块;1).与当前块相邻的上、右上、左、左上和左下块均可用时,定义DC预测模式下当前块所有像素预测值可用近似JVT标准的8个预测方向的方法求取,但与这8个预测方向的滤波方法不同;2).与当前块相邻的上面块可用时,定义DC预测模式下当前块所有像素预测值可用近似JVT标准的8个预测方向的方法求取,但与这8个预测方向的滤波方法不同;3).与当前块相邻的左面块可用时,定义DC预测模式下当前块所有像素预测值可用近似JVT标准的8个预测方向的方法求取,但与这8个预测方向的滤波方法不同;4).与当前块相邻的上、左面块均不可用时,定义DC预测模式下当前块所有像素预测值为128。
本发明所述一种用于视频编码的帧内预测方法,其特征还在于,在进入帧内预测模块后,所述DC预测模式,可具体采用以下方法定义1)与当前块相邻的上、右上、左、左上和左下面块均可用时,定义DC预测模式下当前块所有像素预测值可用双向预测方法求取,见图5中DC0;2)与当前块相邻的上面块可用时,定义DC预测模式下当前块所有像素预测值可用近似垂直方向预测方法求取,见图5中DC1;虽然该方法与垂直预测的方向一致,但运算过程中选取的相邻像素和滤波方法不同;3)与当前块相邻的左面块可用时,定义DC预测模式下当前块所有像素预测值也可用近似水平方向预测方法求取,见图5中DC2;虽然该方法与水平预测的方向一致,但运算过程中选取的相邻像素和滤波方法不同;
4)与当前块相邻的上、左面块均不可用时,定义DC预测模式下当前块所有像素预测值为128,这与现有JVT标准相同。
本发明所述一种用于视频编码的帧内预测方法,其特征还在于,在进入帧内预测模块后,所述DC预测模式,可具体采用以下方法定义数值(1)首先对当前块已重构出的相邻像素ti、sj和f,按JVT方法做相应点的低通滤波,放到数组中,记该数组为EP,并记该数组中第m个数组变量为EPm,其中,i=0,1,...,2q-1,表示像素行坐标,j=0,1,...,2p-1,表示像素列坐标,p×q表示的块大小,p表示块的列数,可等于4,8,或16,q表示块的行数,可等于4,8,或16,ti表示当前块左边一列第i行像素样值,sj表示当前块上边一行第j列像素样值,aij表示当前块第i行j列的像素样值;m表示数组EP的下标变量;在以下计算中,符号“>>”表示位右移运算;EP由下列算法得到A.如果当前宏块有上边相邻的已重构的像素,即sj可用,其中,j=0,1,2,...,p-1,则a)EP(j+1)=s(j);j=0,...,p-1b)如果当前宏块有右上边相邻的已重构的像素,即sj可用,其中,j=p,p+1,p+2,...,2p-1,则EP(1+j+p)=s(p+j); j=0,…,p-1EP(1+j+p)=s(p+p-1);j=p,…,q-1否则EP(1+j+p)=EP(p); j=0,...,p-1c)EP(1+j+p)=EP(p+j); j =p,...,q+1d)EP(0)=s0;
B.如果当前宏块有左边相邻的已重构的像素,即ti可用,其中,i=0,1,2,...,q-1,则a)EP(-1-i)=t(i);i=0,…,q-1b)如果当前宏块有左下边相邻的已重构的像素,即ti可用,其中,i=q,q+1,q+2,...,2q-1,则EP(-1-i-q)=t(q+i);i=0,…,q-1EP(-1-i-q)=t(q+q-1);i=q,…,p-1否则EP(-1-i-q)=EP(-q);i=0,...,q-1c)EP(-1-i-q)=EP(-i-q);i=p,p+1d)EP(0)=t0;C.如果sj可用,并且可用ti,其中,i=0,1,2,...,q-1,其中,j=0,1,2,...,p-1,则EP(0)=f;D.定义变量last_pix等于EP(-(p+q));取i等于-(p+q),其中,i表示记数器,做以下步骤,a).令变量new_pix等于(last_pix+(EP(i)<<1)+EP(i+1)+2)>>2;b).令变量last_pix等于EP(i);c).令下标为i的数组变量EPi等于new_pix;d).i增1,转至a),直至i大于(p+q)为止;(2)DC预测模式的运算规则
i.如果sj,ti都可用,则所有预测样本 等于(EPi+EPj)>>1,见图5中DC0其中,i=0,1,2,...,q-1,表示像素行坐标,j=0,1,2,...,p-1,表示像素列坐标;ii.如果ti不可用,sj可用,则所有预测样本 等于EPj,见图5中DCi;其中,i=0,1,2,...,q-1,表示像素行坐标,j=0,1,2,...,p-1,表示像素列坐标;iii.如果sj不可用,ti可用,则所有预测样本 等于EPi,见图5中DC2其中,i=0,1,2,...,q-1,表示像素行坐标,j=0,1,2,...,p-1,表示像素列坐标;iv.如果sj,ti都不可用,则所有预测样本 等于128,其中,i=0,1,2,...,q-1,表示像素行坐标,j=0,1,2,...,p-1,表示像素列坐标。
本发明所述一种用于视频编码的帧内预测方法,其特征还在于,从硬件的实现上考虑,当p×q块为4×4或4×8或8×4或8×8大小时,亮度样值9种预测模式的结构非常复杂,希望用一种更为简单的预测模式来实现图像的压缩,而且又能保证图像压缩的性能不降低。因此本发明提出可以选取9种预测模式中的部分预测模式,并按编码的需要对这些模式做重新的模式排序;如可采用一种基于5种预测模式的帧内亮度样值预测方法,即本发明提出的DC预测,以及JVT中采用的垂直预测、水平预测、45度方向预测、135度方向预测模式;模式0垂直预测(vertical prediction)模式1水平预测(horizontal prediction)模式2DC预测(DC prediction,本发明提出的DC预测模式)模式345度方向预测(diagonal down/left prediction)
模式4135度方向预测(diagonal down/right prediction)这种简化的预测结构比原来JVT采用的9种预测模式少了4个方向的预测计算,大大减少了计算复杂度。
同样地,对于16×16亮度块和8×8色度块,也可只采用本发明提出的DC预测模式以及与JVT中的垂直预测模式、水平预测模式和平板预测模式中的一种或两种预测模式。
本发明一种用于视频编码的帧内预测方法与JVT标准的帧内预测方法相比,其DC预测模式使预测更为准确,提高了图像的编码质量;其简化的预测模式,在保证图像编码性能没有下降的条件下,大大减少了计算的复杂度。


图1系统框图;图2当前块与其相邻块位置图;图3 p×q块样值的预测结构图;图4 p×q块亮度样值的8个预测方向图;图5 DC预测模式示意图;图6系统流程图;图7 8×8块亮度样值的预测结构图;图8亮度样值在9种预测模式下按本发明定义和JVT标准定义下样值信噪比及比特率曲线图;图9亮度样值在本发明定义的5种预测模式下和JVT标准定义的9种预测模式下样值信噪比及比特率曲线图;图10色度两个样值中的第一个样值U在本发明定义的DC预测和平板预测2种预测模式下和JVT标准定义的4种预测模式下样值信噪比及比特率曲线图;图11色度两个样值中的第二个样值V在本发明定义的DC预测和平板预测2种预测模式下和JVT标准定义的4种预测模式下样值信噪比及比特率曲线图;具体实施方式
根据本发明技术方案,按照图1,图6所示,通过视频摄像机得到原始的视频序列作为输入,通过视频采集卡后变成视频数据流进入计算机,并采用JVT提供的视频编码技术,对序列中图像的亮度样值做基于8×8块的帧内预测,具体步骤如下1.读取序列中的一幅图像;2.将图像按16×16大小划分成一个个的宏块;3.取一个16×16宏块为当前预测宏块;4.将该宏块按从左至右,从上到下的顺序分成8×8的块;5.取一个8×8块为当前块;6.预测当前块8×8块的像素亮度样值;当前的8×8块周边的已经编码完的像素亮度样值位置如图7所示,定义其9种预测模式极其顺序为模式0垂直预测(vertical prediction)模式1水平预测(horizontal prediction)模式2DC预测(DC prediction)模式345度方向预测(diagonal down/left prediction)模式4135度方向预测(diagonal down/right prediction)模式5112.5度方向预测(vertical-right prediction)模式6157.5度方向预测(horizontal-down prediction)模式767.5度方向预测(vertical-left prediction)模式822.5度方向预测(horizontal-up prediction)按本发明提出的一种用于视频编码的帧内预测方法,9种模式下本块的预测模式定义如下1.首先对当前块已重构出的相邻像素ti、sj和f,按JVT方法做相应点的低通滤波,放到数组中,记该数组为EP,并记该数组中第m个数组变量为EPm,其中,i=0,1,...,2q-1,表示像素行坐标,j=0,1,...,2p-1,表示像素列坐标,p×q表示的块大小,p表示块的列数,可等于4,8,或16,q表示块的行数,可等于4,8,或16,ti表示当前块左边一列第i行像素样值,sj表示当前块上边一行第j列像素样值,aij表示当前块第i行j列的像素样值;m表示数组EP的下标变量;在以下计算中,符号“>>”表示位右移运算。
EP由下列算法得到A.如果当前宏块有上边相邻的已重构的像素,即sj(j=0,1,2,...,7)可用,则a)EP(j+1)=s(j);j=0,...,7b)如果当前宏块有右上边相邻的已重构的像素,即sj(j=7,8,...,15)可用,则EP(1+j+p)=s(p+j); j=0,...,7否则EP(1+j+p)=EP(p);j=0,...,7c)EP(1+j+p)=EP(p+j);j=8,9d)EP(0)=s0;B.如果当前宏块有左边相邻的已重构的像素,即ti(i=0,1,2,...,7)可用,则a)EP(-1-i)=t(i); i=0,...,7b)如果当前宏块有左下边相邻的已重构的像素,即ti(i=8,9,...,15)可用,则EP(-1-i-q)=t(q+i));i=0,...,7否则EP(-1-i-q)=EP(-q);i=0,...,7
c)EP(-1-i-q)=EP(-i-q);i=8,9d)EP(0)=t0;C.如果sj(j=0,1,2,...,7)可用,并且ti(i=0,1,2,...,7)可用,则EP(0)=f;E.定义变量last_pix等于EP(-16);取i等于-16,其中,i表示记数器,做以下步骤,a).令变量new_pix等于(last_pix+(EP(i)<<1)+EP(i+1)+2)>>2;b).令变量last_pix等于EP(i);c).令下标为i的数组变量EPi等于new_pix;d).i增1,转至a),直至i大于16为止;2.计算各模式下的预测值a、模式0垂直预测(vertical Prediction)使用本模式的必要条件是sj(j=0,1,2,...,7)可用,预测样本 的产生方法如下a~000=a~010=a~020=···=a~070=s0;]]>a~001=a~011=a~021=···=a~071=s1;]]>a~000=a~012=a~022=···=a~072=s2;]]>a~007=a~017=a~027=···=a~077=s7;]]>b、模式1水平预测(horizontal prediction)
使用本模式的必要条件是ti(i=0,1,2,...,7)可用,预测样本 的产生方法如下a~100=a~101=a~102=···=a~107=t0;]]>a~110=a~111=a~112=···a~117=t1;]]>a~120=a~121=a~122=···=a~127=t2;]]>a~170=a~171=a~172=···=a~177=t7;]]>c、模式2DC预测(DC prediction)i.如果sj(j=0,1,2,...,7),ti(i=0,1,2,...,7)都可用,则所有预测样本 等于(EPi+EPj)>>1;ii.如果ti(i=0,1,2,...,7)不可用,sj(j=0,1,2,...,7)可用,则所有预测样本 等于EPj;iii.如果sj(j=0,1,2,...,7)不可用,ti(i=0,1,2,...,7)可用,则所有预测样本 等于EPi;iv.如果sj(j=0,1,2,...,7),ti(i=0,1,2,...,7)都不可用,则所有预测样本 等于128,i=0,1,2,...,7,表示像素行坐标,j=0,1,2,...,7,表示像素列坐标;其它预测模式和其运算规则与JVT标准相同。
7.确定当前块的最优预测模式a.定义k表示当前预测模式,令其初始值为0;b.由下面的预测残差公式,得到预测模式k下的预测残差值Δk
Δk=aij-a~kij]]>这里,aij表示原始像素亮度样值, 表示模式k下预测像素亮度样值,k表示预测模式编码号;i=0,1,2,...,q-1表示像素行坐标;j=0,1,2,...,p-1表示像素列坐标;c.采用JVT中的编码方法,对各个像素的预测残差做DCT变换(DCT变换指离散余弦变换)、量化和熵编码,计算当前块在当前模式下的编码比特数;并对各个像素的预测残差做DCT变换和量化后,再进行反量化和反DCT变换,然后加上预测值 重构块中的各个像素点的亮度样值,记为 k表示预测模式编码号;i=0,1,2,...,q-1表示像素行坐标;j=0,1,2,...,p-1表示像素列坐标;d.采用JVT中的方法计算该块在当前预测模式下的失真率,记为rdcost;distortion=Σi,j(aij-a^kij)2]]>rd cost=distortion+lambda×rate;其中,distortion为当前块的所有像素的原始亮度样值与预测值差的平方和,lambda为常数,rate为在当前模式下编码当前块所用比特数;e.k值增1,重复第b,c,d,e步,直至本块所有预测模式都执行一遍为止;d.比较各个模式下的rdcost,选取rdcost最小的模式为当前最优预测模式;8.将最优预测模式下的预测值作为该块的最后预测值,记为 i=0,1,2,...,q-1表示像素行坐标;j=0,1,2,...,p-1表示像素列坐标;将最优预测模式下的重构值作为该块的最后重构值,记为 i=0,1,2,...,q-1表示像素行坐标;j=0,1,2,...,p-1表示像素列坐标;9.取下一个8×8块作为当前块,重复第6至9步的过程,直到该宏块完全编码为止;
10.取下一个宏块作为当前预测宏块,重复第3至10步的过程,直到完成整幅图像的编码为止。
11.取下一幅图像,重复第2至11步的过程,直到完成整个序列的编码为止。
如果选择简化的预测模式,则每次只需计算第6步中根据需要挑选出的预测模式的预测值,如可只需计算前5种预测模式的预测值。
实例结果1.利用本发明提出的改进DC预测模式的9种预测模式的预测结构,对一幅1280×720的高清视频序列,以8×8块作为基本处理块,做了10帧全帧内预测测试,并且与现有JVT标准中帧内预测技术在不同量化值下的样值信噪比及比特率做了比较(下表),画出了亮度样值信噪比(记为PSNRY)与比特率(记为Bitrate)曲线图(图8)。
高清视频序列测试结果(帧率30Hz,10帧,1280*720)

从图中可以看出,利用本发明提出的改进DC预测模式的9种预测方法求出的曲线在利用JVT帧内预测方法求出的曲线上方,这表明本发明在没有增加任何复杂度的条件下,图像在压缩性能上的提高。
2.利用本发明提出的简化的预测结构,如只取前5种预测模式,保持其原有顺序,分别对一幅1280×720的高清视频序列,做了10帧全帧内测试,与现有JVT标准中帧内预测技术在不同量化值下的样值信噪比及比特率做了比较(下表),画出了样值信噪比与比特率曲线图(图9)。
高清视频序列测试结果(帧率30Hz,10帧,1280*720)


从图可以看出,利用本发明提出的简化预测模式方法求出的曲线与利用JVT帧内预测方法求出的曲线基本重合,这表明本发明在减少了大量的复杂度的条件下,仍能很好的保持图像的压缩性能。
3.利用本发明提出的简化的预测结构对两个色度样值进行DC预测(模式0)和平板预测(模式1)2种预测模式的预测,分别对一幅1280×720的高清视频序列,做了10帧全帧内测试,与现有JVT标准中帧内预测技术在不同量化值下的样值信噪比及比特率做了比较(下表),画出了色度样值信噪比(记为PSNRU和PSNRV)样值信噪比与比特率曲线图(图10、图11)。
高清视频序列测试结果(帧率30Hz,10帧,1280*720)

从图可以看出,利用本发明提出的简化预测模式方法求出的曲线与利用JVT帧内预测方法求出的曲线基本重合,这表明本发明在减少了大量的复杂度的条件下,仍能很好的保持图像的压缩性能。
权利要求
1.一种用于视频编码的帧内预测方法,其视频编码是通过视频摄像机得到原始视频流作为输入,通过视频采集卡后变成视频数据流进入计算机,并采用JVT提供的视频编码技术,由计算机进行处理与运算,其方法步骤为计算机系统接受采集卡处理好的原始视频流,然后读出接收到的视频序列的一幅图像,并将该图像的像素样值按从左至右,从上到下的顺序分成16×16的宏块;从计算机存储器读取到的宏块被送到帧内预测模块,在具体编码时,规定了图像内基本处理块的预测方式,如果是采用帧间预测,按相应的算法计算当前块的运动向量,得到其预测值;否则采用帧内预测,利用当前块的相邻的已重构的像素按相应的帧内预测技术做预测,然后按JVT标准的方法对预测残差进行变换以去除变换块内的空间相关性,再进行量化;接着,使用JVT技术的变长编码或算术编码对量化变换系数信息进行编码,直到本图像编码完成为止,最后输出本图像编码比特流;读取接收到的序列中的下一幅图像,以此类推直至所有图像均编码完成为止;在JVT标准提供的5.0版本视频编码标准的帧内预测技术中,亮度或色度样值的预测采用的是基于p×q块的预测结构,其中p表示块的列数,q表示块的行数,它是利用该p×q块上、右上、左、左上和左下边已经重构的像素样值,按照某些预测模式及其计算规则来预测当前块的像素样值,其中,i=0,1,…,2q-1,表示像素行坐标,j=0,1,…,2p-1,表示像素列坐标,ti表示当前块左边一列第i行像素样值,sj表示当前块上边一行第j列像素样值,aij表示当前块第i行j列的像素样值;其中,1).在处理亮度样值时,JVT标准定义当块为4×4块、4×8块、8×4块和8×8块时,即p=4或p=8时,q=4或q=8时,采用9种预测模式,这些预测模式和顺序为模式0垂直预测模式1水平预测模式2DC预测模式345度方向预测模式4135度方向预测模式5112.5度方向预测模式6157.5度方向预测模式767.5度方向预测模式822.5度方向预测其中,除了DC预测模式,剩余的8种预测模式称为方向预测模式;2).在处理亮度样值时,JVT标准还定义p=q=16时采用4种预测模式,这些预测模式为和顺序为模式0垂直预测模式1水平预测模式2DC预测模式3平板预测3).在处理色度样值时,JVT标准定义8×8块的4种预测模式和顺序为模式0DC预测模式1水平预测模式2垂直预测模式3平板预测本发明的特征在于,从计算机存储器读取宏块数据后进入帧内预测模块,所述对每个选择帧内预测的16×16宏块中的像素样值进行预测由以下步骤顺次组成(1).取一个16×16宏块为当前预测宏块;(2).将该宏块按从左至右,从上到下的顺序分成p×q,p表示块的列数,可等于4,8,或16,q表示块的行数,可等于4,8,或16;(3).取一个p×q块为当前块;(4).预测当前块p×q的像素亮度或色度样值;(5).取下一个p×q块作为当前块,重复第(3)至(5)步的过程,直到该宏块预测完毕为止;其中,在进行当前块p×q的像素亮度或色度样值预测时,其中的DC预测模式方法的主要特征为当前块是利用相邻块(U,L,UR,UL,DL)中已解码像素的样值来计算其DC预测模式的,其中,定义符号C表示当前块,符号U表示与当前块相邻的上块,符号L表示与当前块相邻的左块,符号UL表示与当前块相邻的左上块,符号UR表示与当前块相邻的右上块,符号DL表示当前块表示与当前块相邻的左下块;1).与当前块相邻的上、右上、左、左上和左下块均可用时,定义DC预测模式下当前块所有像素预测值可用近似JVT标准的8个预测方向的方法求取,但与这8个预测方向的的滤波方法不同;2).与当前块相邻的上面块可用时,定义DC预测模式下当前块所有像素预测值可用近似JVT标准的8个预测方向的方法求取,但与这8个预测方向的滤波方法不同;3).与当前块相邻的左面块可用时,定义DC预测模式下当前块所有像素预测值可用近似JVT标准的8个预测方向的方法求取,但与这8个预测方向的滤波方法不同;4).与当前块相邻的上、左面块均不可用时,定义DC预测模式下当前块所有像素预测值为128。
2.根据权利要求1所述一种用于视频编码的帧内预测方法,其特征在于,在进入帧内预测模块后,所述DC预测模式,可具体采用以下定义1)与当前块相邻的上、右上、左、左上和左下面块均可用时,定义DC预测模式下当前块所有像素预测值可用双向预测方法求取;2)与当前块相邻的上面块可用时,定义DC预测模式下当前块所有像素预测值可用近似垂直方向预测方法求取,虽然该方法与垂直预测的方向一致但运算过程中选取的相邻像素和滤波方法不同;3)与当前块相邻的左面块可用时,定义DC预测模式下当前块所有像素预测值也可用近似水平方向预测方法求取,虽然该方法与水平预测的方向一致但运算过程中选取的相邻像素和滤波方法不同;4)与当前块相邻的上、左面块均不可用时,定义DC预测模式下当前块所有像素预测值为128。
3.根据权利要求1或2所述一种用于视频编码的帧内预测方法,其特征在于,在进入帧内预测模块后,所述DC预测模式,可具体采用以下定义数值(1)首先对当前块已重构出的相邻像素ti、sj和f,按JVT方法做相应点的低通滤波,放到数组中,记该数组为EP,并记该数组中第m个数组变量为EPm,其中,i=0,1,…,2q-1,表示像素行坐标,j=0,1,…,2p-1,表示像素列坐标,p×q表示的块大小,p表示块的列数,可等于4,8,或16,q表示块的行数,可等于4,8,或16,ti表示当前块左边一列第i行像素样值,sj表示当前块上边一行第j列像素样值,aij表示当前块第i行j列的像素样值;m表示数组EP的下标变量;在以下计算中,符号“>>”表示位右移运算;EP由下列算法得到A.如果当前宏块有上边相邻的已重构的像素,即sj可用,其中,j=0,1,2,…,p-1,则a)EP(j+1)=s(j);j=0,…,p-1b)如果当前宏块有右上边相邻的已重构的像素,即sj可用,其中,j=p,p+1,p+2,…,2p-1,则EP(1+j+p)=s(p+j);j=0,…,p-1EP(1+j+p)=S(p+p-1);j=p,…,q-1否则EP(1+j+p)=EP(p);j=0,…,p-1c)EP(1+j+p)=EP(p+j);j=p,…,q+1d)EP(0)=s0;B.如果当前宏块有左边相邻的已重构的像素,即ti可用,其中,i=0,1,2,…,q-1,则a)EP(-1-i)=t(i);i=0,…,q-1b)如果当前宏块有左下边相邻的已重构的像素,即ti可用,其中,i=q,q+1,q+2,…,2q-1,则EP(-1-i-q)=t(q+i);i=0,…,q-1EP(-1-i-q)=t(q+q-1);i=q,…,p-1否则EP(-1-i-q)=EP(-q);i=0,…,q-1c)EP(-1-i-q)=EP(-i-q);i=p,p+1d)EP(0)=t0;C.如果sj可用,并且可用ti,其中,i=0,1,2,…,q-1,其中,j=0,1,2,…,p-1,则EP(0)=f;D.定义变量last_ix等于EP(-(p+q));取i等于-(p+q),其中,i表示记数器,做以下步骤,a).令变量new_pix等于(last_pix+(EP(i)<<1)+EP(i+1)+2)>>2;b).令变量last_pix等于EP(i);c).令下标为i的数组变量EPi等于new_pix;d).i增1,转至a),直至i大于(p+q)为止;(2)DC预测模式的运算规则i.如果sj,ti都可用,则所有预测样本 等于(EPi+EPj)>>1,其中,i=0,1,2,…,q-1,表示像素行坐标,j=0,1,2,…,p-1,表示像素列坐标;ii.如果ti不可用,sj可用,则所有预测样本 等于EPj,其中,i=0,1,2,…,q-1,表示像素行坐标,j=0,1,2,…,p-1,表示像素列坐标;iii.如果sj不可用,ti可用,则所有预测样本 等于EPi,其中,i=0,1,2,…,q-1,表示像素行坐标,j=0,1,2,…,p-1,表示像素列坐标;iv.如果sj,ti都不可用,则所有预测样本 等于128,其中,i=0,1,2,…,q-1,表示像素行坐标,j=0,1,2,…,p-1,表示像素列坐标。
4.根据权利要求1所述一种用于视频编码中的帧内预测方法,其特征在于,也可以选取9种预测模式中的部分预测模式,并按编码的需要对这些模式做重新的模式排序;如可采用一种基于5种预测模式的帧内亮度样值预测方法,即本发明提出的DC预测,以及JVT中采用的垂直预测、水平预测、45度方向预测、135度方向预测模式;同样地,对于16×16亮度块和8×8色度块,也可只采用本发明提出的DC预测,JVT中采用的垂直预测、水平预测、和平板预测模式中的一种或两种预测模式。
全文摘要
一种用于视频编码的帧内预测方法涉及计算机数字视频编码技术领域,其视频编码是通过摄像机得到原始视频流作为输入,通过视频采集卡进入计算机,并采用JVT提供的视频编码技术,由计算机进行处理与运算。本发明是基于空间预测的帧内预测模式编码图像的方法,着重定义了利用相邻块中已解码像素的样值来计算DC预测模式的运算规则;并主要根据其上、右上、左、左上和左下块是否可用来重新定义DC模式。具体编码中,多种预测模式可以被重新组合,并按编码的需要对这些模式做重新的模式排序。本发明的方法与JVT标准相比,在不增加任何计算复杂度的情况下提了视频编码质量,也可适当的选取某些模式,在不降低任何图像编码性能的基础上减少编码的计算复杂度。
文档编号H04N7/32GK1535027SQ20041000066
公开日2004年10月6日 申请日期2004年1月16日 优先权日2004年1月16日
发明者孔德慧, 张楠, 尹宝才, 王雁来, 孙艳丰, 岳文颖 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1