直流模式预测方法

文档序号:7665266阅读:225来源:国知局
专利名称:直流模式预测方法
技术领域
本发明涉及一种帧内预测方法,尤其是一种直流模式预测方法。
技术背景现有视频编码标准都是建立在变换编码和运动补偿的混和编码框架上 的,用变换编码降低视频序列的空间相关性,用运动补偿减少视频序列的时域 相关性。如图l所示,;魄频编码标准采用一系列最新技术,包括帧内预测、帧 间预测、变换、量化和熵编码等,这些技术的采用使得视频编码标准获得了 很高的编码效率。其中帧内预测技术的可1入是视频编码性能提高的重要因素 之一。帧内预测使用空间预测模式来消除图像内的冗余,它可以独立编解 码,提高预测的精度和质量,作为后续序列的参考帧,为视频回放提供随 机访问点。在现有帧内预测技术中,亮度或色度的像素值的预测采用的基于pxq块预测结构,其中p表示块的列数,q表示块的行数,它是利用该 pxq块上、右上、左、左上和左下已经重构的像素值,按照某些预测模式 及其计算规则来预测当前像素块的像素点的像素值,如图2所示,i表示 像素点的行坐标,取值为i=0, 1,…,2q; j表示像素点的列坐标,取值 为j=0, 1,…,2p; predMatrix[i, j]表示当前像素块中的行坐标为i,列 坐标为j的像素点的像素值。设C[i] ( i=0,l,…,2q)表示当前像素块左 侧像素块中与该当前像素块相邻的一列的第i行像素点的像素, R [ j] (j=0, 1,…,2p)表示当前像素块上侧像素块中与当前像素块相邻的一 行的第j列像素点的像素值,其中C[O]-R[O〗。对任意给定的坐标为(i, j) 的像素点,利用周围已经编码重构的像素点C[i] (i=0, 1,…,2q)和
R[j] (j=0, 1,…,2p)来预测,根据不同的标准和不同的预测块大小, 有着不同的预测模式,下面说明AVS标准和H. 264/AVC标准中的预测模式。在4见频编码中,对^L频图像的处理都是以16x16的宏块为单位的。 在AVS标准中, 一个宏块包括4个8 x 8的亮度块和2个8 x 8的色度块。 亮度块有5种预测模式垂直预测模式、水平预测模式、直流(Direct Current,以下简称DC)预测模式、对角下左预测模式、对角下右预测模 式。除DC预测模式外,其他的都为方向预测模式,图3示出了方向预测 模式的指向,其中,0、 1、 3、 4分别表示垂直预测模式的指向、水平模式 预测的指向、对角下左预测模式的指向、对角下右预测模式的指向;c表 示与当前像素块相邻的左边一列,r表示与当前像素块相邻的上边一行。未示出的DC预测模式定义如下1) 如果r[i]、 c[i] ( i=0~9)都"可用"(已知),如果某个样本 所在的块不存在或者此样本未解码,则此样本"不可用",否则,此样本"可用",则predMatrix[x, y] = ((r [x]+ 2xc [x+l]+c [x+2]+2)》2 + (c [y] +2xc [y+l] +c [y+2] +2) 〉〉2) >>1 (x, y=0 ~ 7)其中,predMatrix[x,y]表示当前像素块中,坐标为(x, y)的待预测的像 素点的像素值;r[x+l]表示与当前像素块相邻的上边一行中的,与待预测的 像素点位于同一列的像素点的像素值;r[x]表示r [x+l]表示的像素点的左侧 相邻像素点的像素值;r [x+2]表示r [x+l]表示的像素点的右侧相邻像素点的 像素值;c[x+l]表示与当前像素块相邻的左边一 列中的,与待预测的像素点 位于同一行的像素点的像素值;c[x]表示c[x+l]表示的像素点的上侧像素点 的像素值;c[x+2]表示c[x+l]表示的像素点的下侧像素点的像素值。下面的 分析中,上述符号均为上述表述的含义。2) 如果只有r[i] (i=0~9)"可用",贝'JpredMatrix[x, y] = (c [y〗+2xc [y+l]+c [y+2]+2)〉〉2 (x, y=0 ~ 7) 3) 如果只有c[i] (i=0-9)"可用",则predMatrix[x, y] = (c [y]+2xc [y+l]+c [y+2]+2)》2 ( x, y=0 ~ 7 );4) 否贝寸,predMatrix[x, y]=128(x, y=0 ~ 7) 色度块有4种模式才莫式0: DC预测(DC prediction) 模式1: 水平子贞测(horizontal prediction) 模式2: 垂直予贞观'J (vertical prediction) 才莫式3:平+反预测(plane predict ion j其中DC预测模式定义与亮度块8 x 8块预测模式的定义是一致的。在H. 264/AVC标准中, 一个宏块包括一个亮度块和两个色度块,而亮 度块为1个16 x 16的亮度块或者是16个4 x 4的亮度块,色度块为2个8 x8的。对于4x4的亮度块,有9种预测模式,这些预测模式和顺序为模式0: 垂直予页测(vertical prediction)才莫式1: ^K平予贞测(horizontal prediction)模式2: DC预测(DC prediction)才莫式3: 45度方向子贞观寸(diagonal down/left prediction) 模式4: 135度方向预观寸(diagonal down/right prediction) 模式5: 112. 5度方向预观'Uvertical- right prediction) 模式6: 157. 5度方向子贞测(horizontal-down prediction) 模式7: 67. 5度方向预测(vertical- left prediction) 模式8: 22. 5度方向预测(horizonta卜up prediction) 其中,除了DC预测模式,剩余的8种预测模式称为方向预测模式, 图4示出了参考像素和预测块,其中大写字母表示的为参考像素,小写字 母表示的是预测块。图5中的数字标明了各个方向预测模式的指向。 未标出的DC预测模式定义为l)如果r[i]、 c[i] (/ = 1, 2,…,4)都可用,则预测块中的所有预测样本的像素预测值均为predMatrix [x, y] = (土r[x]十土c[y]+4) /8 (x,"0 3);x=l y=l2) 如果只有r[i] (i=l, 2,…,4)可用,贝'J4predMatrix [x, y]=(》[x]+2) /4 (x,"0 3);3) 如果只有c[i] (/ = 1, 2,…,4)可用,贝'J4predMatrix [x, y]=(》[y]+2) /4 (x,"0 3);4)否贝'J, predMatrix [x, y]=128 (x,:k = 0~3)16xl6亮度块有4种模式,分别是模式0: 垂直予贞观寸(vertical prediction)才莫式1: K平子贞领寸(horizontal prediction)才莫式2: DC预测(DC prediction)才莫式3: 平4反子贞观寸(plane prediction)其中的DC预测模式定义与亮度块为4x4块的预测模式定义一致。8x8色度块有4种模式,分别是模式0: DC预测(DC prediction)模式1: 水平予贞观寸(horizontal prediction)模式2: 垂直子贞观'J (vertical prediction)才莫式3: 平玲反预测(plane prediction)其中的DC预测模式定义与亮度块为4x4块的预测模式定义一致。 从上述的分析可以看出AVS标准中,是通过对与坐标为(x,y)的当 前像素相关的可用的像素值r[x]、 r[x+l]、 r[x+2]、 c [x] 、 c[x+l]、 c[x+2] 滤波后的像素平均值作为当前像素的预测值;H. 264/AVC标准中,是通过 当前像素块的左边和上边已经编码可用的像素的平均值作为当前像素块 的预测值。这种直接计算平均或者滤波后计算平均的方法很粗糙,不能充
分揭示出像素间的相关性,因此,这种预测方法是不精确的。 发明内容本发明的目的是针对现有技术的缺陷,提供一种DC模式预测方法,用以 解决现有预测方法不精确问题,实现对当前像素块中各待预测像素点的精确 预测。本发明通过实施例提供了如下的技术方案一种DC模式预测方法,包括选取当前预测的宏块,将该宏块分为数个像素块;选取一个像素块作为当前像素块,根据该当前像素块的左侧像素块中与 该当前像素块相邻的像素列中,与该当前像素块中待预测的像素点位于同一 行的第一1"象素点;和/或该当前像素块的上侧像素块中与该当前像素块相邻的 像素行中,与该当前像素块中待预测的像素点位于同一列的第二像素点;和/ 或该当前像素块的左上侧像素块中,与该当前像素块相邻的第三像素点,预 测该当前像素块中的该待预测的像素点的像素值。本发明实施例通过对已编码可用的像素点的像素值进行滤波加权处理, 而不是简单的平均处理,以这些像素值滤波后的加权值,作为当前像素的预 测值,提高预测的精度。


图1为现有技术视频编码混合框架原理图; 图2为现有技术当前预测块的坐标示意图; 图3为现有技术AVS标准中方向预测的指向图;图4为现有技术H. 264/AVC标准中参考像素与当前预测块关系的示意图;图5为现有技术H. 264/AVC标准中方向预测的指向图; 图6为本发明DC模式预测方法流程图;图7为本发明DC模式预测方法当前像素块与相邻像素块中像素点的 关系图。
具体实施方式
下面结合附图和具体实施例进一步说明本发明的技术方案。图6为本发明DC模式预测方法流程图,图7为本发明DC模式预测方法当前像素块与相邻像素块中像素点的关系图。参见图6及图7,该DC模式预测方法包4舌步骤ll:选取当前预测的宏块,将该宏块分为数个像素块;由于视频 图像的处理是以16 x 16的宏块为单位进行处理的,因此该宏块选为16 x 16 像素点的。将该宏块按从左至右、从上至下的顺序分为若干个pxq的像素 块;p表示列数,q表示行数,p的数值可以取为4、 8、 16, q的数值可以取 为4、 8、 16。步骤12:选取一个像素块作为当前像素块l,根据该当前像素块的左 侧像素块2中与该当前像素块l相邻的像素列21中,与该当前像素块中待预 测的像素点位于同 一行的第 一像素点;和/或该当前像素块的上侧像素块3 中与该当前像素块1相邻的像素行31中,与该当前像素块中待预测的像素 点位于同一列的第二像素点;和/或该当前像素块的左上侧像素块中4,与 该当前像素块相邻的第三像素点,预测该当前像素块中的该待预测的像素 点的像素值上述流程图中的步骤12 ,具体实施例可分为第 一 实施例——AVS标准 下8 x 8亮度块和/或8 x 8色度块和/或H. 264/AVC标准下8 x 8色度块的DC模 式预测方法,及第二实施例一一H. 264/AVC标准下4 x 4亮度块的DC模式预 测方法。
第一实施例在进行DC预测之前,先要获得参考样本(像素点),以依 据参考样本进行预测。设当前像素块所属的图像样本矩阵为为8 x 8的矩阵I, I可表示亮度或色度矩阵。如果某个样本所在的块不"存在"或此样本尚未解 码,则此样本"不可用",反之此样本"可用,,。设当前像素块左上角样本的坐标是(xO,yO),其中,xO表示列,yO表示行, 则当前像素块参考样本按以下规则获得如果坐标为(xO+i-l, yO-l) (i=1..8)的样本"可用",即当前像素块 的上块中与当前像素块相邻的行可用,则该行元素(参考样本的像素值)为 r[i]=I[yO-l] [xO+i-1];否则r[i]"不可用,,;如果坐标为(xO+i-l, yO-l) (i=9. .16)的样本"可用",即当前像素块 的右上块中与当前像素块相邻的行可用,则r[i]-I[yO-l] [xO+i-l];否则r[i: 等于r[8〗;如果坐标为(xO-l, yO+i-1) (i=1..8)的样本"可用,,,即当前像素块 的左块中与当前像素块相邻的列可用,则c[i]=I[yO+i-1] [xO-l];否则c[i] "不可用";如果坐标为(x0-1, yO+i-l) (i=9..16)的样本"可用",即当前像素块 的左下块中与当前像素块相邻的列可用,则c[i]=I[yO+i-1] [xO-l];否则c[i: 等于c[8];如果坐标为(xO-l, yO-l)的样本"可用",则r
=I[yO-1] [xO-l];否则如果r[l]"可用,,,并且c[l]"可用",r[O] = (r[l]+c[l]+l)>〉l; 如果r[l]"可用",并且c[l]"不可用",r
=r[l]; 如果c[l]"可用",并且r[l]"不可用",r
=c[l]; 否则r[O]"不可用"。获取参考样本后,就要对当前像素块进行像素值DC预测,计算方法如下 (1 )如果r [i] 、 c[i] ( i=0...9 )均可用,即当前像素块左块中与当
前像素块相邻的列、当前像素块上块中与当前像素块相邻的行,及当前像 素块左上块中与当前像素块相邻的像素点均可用时,根据当前像素块左块 中与当前像素块相邻的列中,与待预测的像素点位于同行的第 一像素点的 像素值、当前像素块上块中与当前像素块相邻的行中,与待预测的像素点 位于同列的第二像素点的像素值、当前像素块的左上块中与当前像素块相 邻的第三像素点的像素值,预测当前像素块中的待预测的像素点的像素 值。具体为对所述第一像素点的像素值进行滤波,得到第一值,对所述第 二像素点的像素值进行滤波,得到第二值,对所述第三像素点的像素值进 行滤波,得到第三值;对所述第一值、第二值和第三值进行加权处理,将 加权后的值作为待预测的像素的像素值。如果当前像素块的行数和列数均大于8时(本实施例即为这种情况), 对所述第一像素点的像素值进行滤波,得到第一值具体为将与所述第一 像素点相邻的上像素点的像素值的权重设为1 ,将所述第 一像素点的像素 值的权重设为2,将与所述第一像素点相邻的下像素点的像素值的权重设 为l,将上述加权处理后的数据的平均值,作为所述第一值;对所述第二 像素点的像素值进行滤波,得到第二值具体为将与所述第二像素点相邻 的左像素点的像素值的权重设为1 ,将所述第二像素点的像素值的权重设 为2,将与所述第二像素点相邻的右像素点的像素值的权重设为l,将上述 加权处理后的数据的平均值,作为所述第二值;对所述第三像素点的像素 值进行滤波,得到第三值具体为将与所述第三像素点相邻的右像素点的 像素值的权重设为l,将所述第三像素点的像素值的权重设为2,将与所述 第三像素点相邻的下像素点的像素值的权重设为l,将上述加权处理后的 数据的平均值,作为所述第三值。举例如下以上述8 x 8的当前像素块为例,如要预测行坐标为yl,列 坐标为xl的像素点的像素值,那么第一像素点的像素值为c[yl+l],第一值 为EP [- (yl + l) ] = (c [yl] +2c [yl+l] +c [yl+2] +2) >>2;第二像素点的像素值
为1"^1+1],第二值为<formula>formula see original document page 13</formula>;第 三像素点的像素值为r[O],第三值为EP[O]- (r[l]+2r
+c[l]+2) >>2; 对上述第一值、第二值、第三值再进行加权处理,处理后的值作为预测值, 即预测值predMatr ix [x, y〗= EP [ (x+l) ] + p EP [- (y+l)〗+ ,EP
=a EP [ (x+l) ] + ^ EP [- (y+l) ] +yEP
,再根据上述再生 核插值函数计算出加权系数a、 p、 y,并且为了计算机实现,加权系数 的分母取为2的幂次,以便除法运算可以用右移位运算实现。因此可得到 AVS标准下8 x 8亮度块和/或8 x 8色度块和/或H. 264/AVC标准下8 x 8色度 块,且r[i]、 c[i] (1=0...9)均可用时,DC模式预测方法的计算式predMatrix[O, 0] = (56 x EP[l]+56 x EP[-1]-48 x EP[O]) /64;predMatrix[O, 1] = (20 x EP [1]+29 x EP [-2]-17 x EP
)/32;predMatrix
=(24xEP[l]+61 xEP [-3]-21 x EP
)/64;predMatrix
=(27x EP [1〗+124 x EP [-4] -23 x EP
) /128;predMatrix
=(7xEP [1] +63 x EP [-5] -6 x EP
) /64;predMatrix[o,5]=(6xEP[1]+127 x EP[-6]-5 x EP
)/128;predMatrix
=(lxEP[l] xEP[-7]-1 xEP
)/64;predMatrix[o,7]=(lxEP[l] xEP[-8]-1 xEP
)/128;predMatrix[1,0]=(29xEP[2]+20xEP [-1]_17 xEP
)/32;predMatrix[1,1]=(45x EP [2] 5 x EP [-2] -26 x EP
) /64;predMatrix[1,2]=(31x EP[2]+51 x EP[_3]-18 x EP
)/64;predMatrix[1,3]=(9 xEP [2] +28 x EP [-4] -5 x EP
) /32;predMatrix[1,4〗=(77xEP[2]81 xEP[-5]-46xEP
)/512;predMatrix[1,5]=(5xEP[2]+62xEP[-6]-3xEP
)/64;predMatrix[1,6]=(10xEP[2]+251 x EP[-7]-5 x EP
)/256;predMatrix[1,7]=(10xEP[2]+507 xEP[-8]-5 xEP
)/512;predMatrix[2,0]=(61xEP[3]+24 xEP [-1]-21 xEP
)/64;predMatrix[2,1]=(51x EP[3]+31 x EP[-2]-18 x EP
)/64;predMatrix[2,2]=(5xEP[3]+5xEP[-3]-2xEP
)/8;predMatrix[2,3]=(51x EP [3] +95 x EP [-4] -18 x EP
) /128;predMatrix[2,4]=(15xEP[3]+54xEP[-5]-5 xEP
)/64;predMatrix[2,5]=(15x EP[3]+118 x EP[-6]-5 x EP
)/128;predMatrix[2,5]=(4 xEP[3〗+61 xEP[-7]-l xEP
)/64;predMatrix[2,7]=(4 xEP[3]+125 x EP [-8]-l x EP
)/128;predMatrix[3,0]=(124 x EP [4] +27 x EP -23 x EP
) /128;predMatrix[3,1]=(28x EP [4] +9 x EP [-2] -5 x EP
) /32;predMatrix[3,2]=(95x EP[4]+51 x EP[-3]-18 x EP
)/128;predMatrix[3,3]=(35x EP [4] +35 x EP [-4] -6 x EP
) /64;predMatrix[3,4]=(46 xEP[4]+91 x EP [-5]-9 x EP
)/128;predMatrixD,5]=(27 x EP [4] +106 x EP [-6] -5 x EP
) /128;predMatrix6]=(7 x EP [4] +58 x EP [-7] -1 x EP
) /64;predMatrix7〗=(6 x EP[4]+123 x EP[-8]-l x EP[O]) /128;predMatrix[4,0]=(63 x EP [5] +7 x EP [-1] -6 x EP
) /64;predMatrix[4,1]=(481 x EP[5]+77 x EP[-2]-46 x EP
)/512;predMatrix[4,2]=(54 xEP[5]+15 xEP [-3]-5 xEP
)/64;predMatrix[4,3]=(91 x EP [5] 6 x EP [-4] -9 x EP
) /128;predMatrix[4,4]=(269 x EP [5] +269 x EP [-5] -26 x EP
) /512;predMatrix[4,5]-(174 x EP[5]+353 x EP[-6]-15 x EP
)/512;predMatrix[4,6]=(12 x EP [5] +53 x EP [-7] -1 x EP
) /64;predMatrix[4,7]=(13 xEP[5]+116 x EP[-8]-1 x EP
)/128;predMatrix[5,0]=(127 x EP [6] +6 x EP [-l] -5 x EP
) /128;predMatrix[5,1]=(62 x EP[6]+5 x EP[-2]-3 x EP
)/64;predMatrix[5,2]=(118 xEP[6]+15 xEP[-3]-5 xEP
)/128;predMatrix[5,3]=(106 xEP[6]+27 xEP[-4]-5 xEP
)/128;predMatrix[5,4]=(353 x EP [6] +174 x EP [-5]-15 x EP
) /512;predMatrix[5,5]=(33 x EP [6] +33 x EP [-6] -2 x EP
) /64;predMatrix[5,6]=(21 x EP [6〗4 x EP [-7] -1 x EP
) /64;predMatrix[5,7]=(23 x EP [6] +106 x EP [-8] -1 x EP
) /128;predMatrix[6,0]=(64 x EP[7〗+1 x EP[-1]-1 x EP[O]) /64;predMatrix[ 1]=(251 x EP [7] +10 x EP [-2] -5 x EP
) /256;predMatrix[6,2]=(61 xEP[7] xEP[-3〗-1 xEP
)/64;predMatrix[、3]=(58 x EP [7] +7 x EP [-4] -l x EP
) /64;predMatrix[ 4]=(53 x EP[7]+12 x EP [-5]-1 xEP
)/64;predMatrix[ 5]=(44 x EP [7] +21 x EP [-6] -1 x EP
) /64; predMatrix[6, 6] = (259 x EP[7]+259 x EP[-7]-6 x EP[O]) /512; predMatrix[6, 7〗=(41 x EP [7]+88 x EP [-8]-l x EP
)/128; predMatrix [7, 0] = (128xEP [8]+lxEP [-1] -lxEP
)/128; predMatrix [7, 1〗=(507xEP [8〗+10xEP [-2] —5xEP [O]) /512; predMatrix [7, 2] = (125xEP [8] xEP [-3] —lxEP
)/128; predMatrix [7, 3] = (123xEP [8] +6 x EP [-4] -1 x EP
) /128; predMatrix [7, 4] = (116 x EP[8]+13 x EP[-5]-l x EP
)/128; predMatrix [7, 5] = (106 x EP[8]+23 x EP[-6]-1 x EP
)/128; predMatrix [7, 6] = (88 x EP[8]+41 x EP [-7]-1 x EP
)/128; predMatrix [7, 7] = (1029 x EP[8]+1029 x EP [-8]-10 x EP
)/2048。(2) 如果只有r[i] (1=0...9)可用,即只有当前像素块上块中与当 前像素块相邻的行可用时,根据当前像素块的上块中与待预测的像素点位 于同列的第二像素点的像素值预测当前像素块的像素值。具体为对该第二 像素点的像素值进行滤波,得到第二值,将该第二值作为待预测的像素点 的像素值。如果当前像素块的行数和列数均大于或等于8时(本实施例即为这种 情况),对该第二像素点的像素值进行滤波,得到第二值具体为将与所 述第二像素点相邻的左像素点的像素值的权重设为l,将所述第二像素点 的像素值的权重设为2,将与所述第二像素点相邻的右像素点的像素值的 权重设为l,将上述加权处理后的数据的平均值,作为所述第二值。因此可得到AVS标准下8 x 8亮度块和/或8 x 8色度块和/或H. 264/AVC 标准下8x8色度块,只有r[i] (1=0...9)可用时,DC模式预测方法的计算 式predMatrix[x, y]= (r [x]十2xr [x+l]+r [x+2]+2)》2 ( x, y-0…7 )。(3) 如果只有c[i] (1=0...9)可用,即只有当前像素块的左块中与 当前像素块相邻的列可用时,根据当前像素块的左块中与待预测的像素点
位于同行的第一像素点的像素值预测当前像素块的像素值。具体为对该第 一像素点的像素值进行滤波,得到第一值,将该第一值作为待预测的像素 点的像素值。如果当前像素块的行数和列数均大于或等于8时(本实施例即为这种情况),对该第一像素点的像素值进行滤波,得到第一值具体为将与所 述第一像素点相邻的上像素点的像素值的权重设为l,将所述第一像素点 的像素值的权重设为2,将与所述第一像素点相邻的下像素点的像素值的 权重设为l,将上述加权处理后的数据的平均值,作为所述第一值。因此可得到AVS标准下8 x 8亮度块和/或8 x 8色度块和/或H. 264/AVC 标准下8x8色度块,只有c[i] (1=0...9)可用时,DC模式预测方法的计 算式predMatrix[x, y]= (c [y]十2xc [y+l]+c [y+2]+2)》2 ( x, y-0…7 )。 (4)如果当前像素块左块中的与当前像素块相邻的列、当前像素块 上块中的与当前像素块相邻的行均不可用时,将所述当前像素块中任一像 素的像素值均设为128。因此可得到AVS标准下8 x 8亮度块和/或8 x 8色度块和/或H. 264/AVC 标准下8x8色度块,r[i]、 c[i] (i-0…9)均不可用时,DC模式预测方法的计算式predMatrix[x, y]= 128 ( x, y=0.. 7 )。第二实施例在进行DC预测之前,先要获得参考样本(像素点),以依 据参考样本进行预测。设当前像素块所属的图像样本矩阵为4x4的矩阵I, I表示亮度矩阵。如果某个样本所在的块不"存在"或此样本尚未解码,则此 样本"不可用",反之此样本"可用"。设当前像素块左上角样本的坐标是(xO,yO),其中,xO表示列,yO表 示行,则当前像素块参考样本按以下规则获得如果坐标为(xO+i-l, yO-l) (i=1..4)的样本"可用",即当前像素块
的上块中与当前像素块相邻的行可用,则该行元素(参考样本的像素值)为r[i]=I[yO-l] [xO+i-1];否则r[i]"不可用";如果坐标为(xO+i-1, yO-1) (i=5. .8)的样本"可用",即当前像素块 的右上块中与当前像素块相邻的行可用,则r[i]-I[yO-l] [xO+i-1];否则r[i] 等于r[4];如果坐标为(xO-l, yO+i-1) (i=1..4)的样本"可用",即当前像素块 的左块中与当前像素块相邻的列可用,则c[i]=I[yO+i-1] [xO-l];否则c[i] "不可用";如果坐标为(x0-1, yO-l)的样本"可用",则r
=I[yO-1] [xO-l];否则如果r[l]"可用",并且c[l]"可用",r[O] = (r[l]+c[l]+l)》l; 如果r[l]"可用",并且c[l]"不可用",r
=r[l]; 如果c[l]"可用",并且r[l]"不可用",r
=c[l]; 否则r[O]"不可用"。获取参考样g, ;tfc^对当前像素块进行像素值DC预测,计算方法如下 (1)如果r[i]、 c[i] ( i=0...4)均可用,即当前像素块左块中与当 前像素块相邻的列、当前像素块上块中与当前像素块相邻的行均可用时, 根据当前像素块左块中与当前像素块相邻的列中,与待预测的像素点位于 同行的第 一像素点的像素值、当前像素块上块中与当前像素块相邻的行 中,与待预测的像素点位于同列的第二像素点的像素值、当前像素块的左 上块中与当前像素块相邻的第三像素点的像素值,预测当前像素块中的待 预测的像素点的像素值。具体为对所述第一像素点的像素值进行滤波,得 到第一值,对所述第二像素点的像素值进行滤波,得到第二值,对所述第 三像素点的像素值进行滤波,得到第三值;对所述第一值、第二值和第三 值进行加权处理,将加权后的值作为待预测的像素的像素值。如果当前像素块的行数和列数中至少有一个小于8时(本实施例即为 这种情况),对所述第一像素点的像素值进行滤波,得到第一值具体为 将与所述第一像素点相邻的上像素点的像素值的权重设为O,将所述第一 像素点的像素值的权重设为1 ,将与所述第 一像素点相邻的下像素点的像素值的权重设为O,将上述加权处理后的数据的平均值,作为所述第一值; 对所述第二像素点的像素值进行滤波,得到第二值具体为将与所述第二 像素点相邻的左像素点的像素值的权重设为0,将所述第二像素点的像素 值的权重设为l,将与所述第二像素点相邻的右像素点的像素值的权重设 为O,将上述加权处理后的数据的平均值,作为所述第二值;对所述第三 像素点的像素值进行滤波,得到第三值具体为将与所述第三像素点相邻 的右像素点的像素值的权重设为O,将所述第三像素点的像素值的权重设 为l,将与所述第三像素点相邻的下像素点的像素值的权重设为O,将上述 加权处理后的数据的平均值,作为所述第三值。举例如下以上述4 x 4的当前像素块为例,如要预测行坐标为yl,列 坐标为xl的像素点的像素值,那么第一像素点的像素值为c[yl+l],第一值 为EP[-(yl+l)]=0 x c[yl]+l x c[yl+l]+0 x c [yl+2] =c [yl + l];第二像素点 的像素值为r[xl + l],第二值为EP[(xl + l)]-0 x r[xl]+l x r[xl + l]+0 x r[xl+2]=r[Xl+l];第三像素点的像素值为r[O],第三值为EP[O卜O x r[l]+l x r[o]+Oxc[l]-r
;对上述第一值、第二值、第三值再进行加权 处理,处理后的值作为预测值,即预测值 predMatr ix [x, y] =a 1EP [ (x+l) ] 1EP [- (y+l) ]1EP
="r [x+l〗+y9lc[-(y+l)]+ylr
其中加权系数"l、 / 1、 yl是根据再生核插值函数得到的,再生核插 值函数的形成同上述AVS标准下形成的原理。因此可得到H. 264/AVC标准下4 x 4亮度块,且r[i]、 c[i] (i-l…4) 均可用时,DC模式预测方法的计算式predMatrix[O, 0] = (7 x r [1] + 7xc[l] - 6xr
+ 4) 〉〉 3; predMatrix[l, 0] = (29 x r [2] + 20xc[l] - 17"
+16) >> 5;predMatrix[O, 1] = (20 x r [1] + 29xC[2] - 17xr
+16) >〉 5;predMatrix[2, 0] = (15 x r [3] + 6xc[l] - 5xr
+ 8) 〉> 4;predMatrix[O, 2] = (6 x r [1] + 15xC[3] - 5xr
+ 8)》4;predMatrix[3, 0] = (31 x r [4] + 7xC[l] - 6 x r
+ 16)》5;predMatrix[O, 3] = (7 x r [1] + 31xC[4] - 6xr
+ 16)》5;predMatrix[2, 1] = (103 x r [3] + 61xC[2] - 36xr
+ 64)》7;predMatrix[l, 2] = (61 x r [2] + 103xC[3] - 36 x r
+ 64) >> 7;predMatrix[3, 1] = (28 x r [4] + 9xc[2] - 5xr
+ 16) 〉> 5;predMatrix[l, 3] = (9 x r [2] + 28xC[4] - 5xr
+ 16) 〉〉 5;predMatrix[3, 2] = (47 x r [4] + 26xC[3] - 9 x r
+ 32)》6;predMatrix[2, 3] = (26 x r[3] + 47xC[4] - 9 x r
+ 32)》6;predMatrix[l, 1] = (45 x r [2] + 45xc[2] - 26xr
+ 32)》6;predMatrix[2, 2] = (77 x r [3] + 77xC[3] - 26xr
+ 64)》7;predMatrix[3, 3] = (35 x r[4] + 35xc[4] - 6xr
+ 32)》6。 (2)如果只有r[i] (i-l…4)可用,即只有当前像素块上块中与当 前像素块相邻的行可用时,根据当前像素块的上块中与待预测的像素点位 于同列的第二像素点的像素值预测当前像素块的像素值。具体为对该第二 像素点的像素值进行滤波,得到第二值,将该第二值作为待预测的像素点 的像素值。如果当前像素块的行数和列数至少有一个小于8时(本实施例即为这 种情况),对该第二像素点的像素值进行滤波,得到第二值具体为将与 所述第二像素点相邻的左像素点的像素值的权重设为O,将所述第二像素 点的像素值的权重设为1,将与所述第二像素点相邻的右像素点的像素值 的权重设为O,将上述加权处理后的数据的平均值,作为所述第二值。因此可得到H. 264/AVC标准下4 x 4亮度块,只有r[i] (i二l…4)可用
时,DC纟莫式预测方法的计算式predMatrix[x,y] = (r[l]十r[2]+r[3]+ r[4]+2)〉>2。(3) 如果只有c[i] (i-l…4)可用,即只有当前像素块的左块中与 当前像素块相邻的列可用时,根据当前像素块的左块中与待预测的像素点 位于同行的第 一像素点的像素值预测当前像素块的像素值。具体为对该第 一像素点的像素值进行滤波,得到第一值,将该第一值作为待预测的像素 点的像素值。如果当前像素块的行数和列数至少有一个小于8时(本实施例即为这 种情况),对该第一像素点的像素值进行滤波,得到第一值具体为将与 所述第一像素点相邻的上像素点的像素值的权重设为O,将所述第一像素 点的像素值的权重设为l,将与所述第一像素点相邻的下像素点的像素值 的权重设为O,将上述加权处理后的数据的平均值,作为所述第一值。因此可得到H. 264/AVC标准下4x4亮度块,只有c[i] (i^…4)可用 时,DC模式预测方法的计算式predMatrix[x, y] = (c [1]+c [2]+c [3]+c [4]+2) >〉2。(4) 如果当前像素块左块中的与当前像素块相邻的列、当前像素块 上块中的与当前像素块相邻的行均不可用时,将所述当前像素块中任一像 素的像素值均设为128。因此可得到H. 264/AVC标准下4 x 4亮度块,r[i]、 c[i] (i = L..4)均 不可用时,DC模式预测方法的计算式predMatrix[x, y] = 128 ( x, y=0. , 3 )。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对 其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通 技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修 改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不 使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种直流模式预测方法,其特征在于包括选取当前预测的宏块,将该宏块分为数个像素块;选取一个像素块作为当前像素块,根据该当前像素块的左侧像素块中与该当前像素块相邻的像素列中,与该当前像素块中待预测的像素点位于同一行的第一像素点;和/或该当前像素块的上侧像素块中与该当前像素块相邻的像素行中,与该当前像素块中待预测的像素点位于同一列的第二像素点;和/或该当前像素块的左上侧像素块中,与该当前像素块相邻的第三像素点,预测该当前像素块中的该待预测的像素点的像素值。
2、 根据权利要求l所述的直流模式预测方法,其特征在于,所述宏块为 16 x 16像素点宏块。
3、 根据权利要求l所述的直流模式预测方法,其特征在于,所述将该宏 块分为数个像素块具体为将该宏块按从左至右、从上至下的顺序分为数 列和数行的数个像素块。
4、 根据权利要求l所述的直流模式预测方法,其特征在于,所述根据该 当前像素块的左側像素块中与该当前像素块相邻的像素列中,与该当前像 素块中待预测的像素点位于同 一行的第 一像素点;和/或该当前像素块的 上侧像素块中与该当前像素块相邻的像素行中,与该当前像素块中待预测 的像素点位于同 一列的第二像素点;和/或该当前像素块的左上侧像素块 中,与该当前像素块相邻的第三像素点,预测该当前像素块中的该待预测 的像素点的像素值具体为如果所述第 一像素点所在的像素列和第二像素点所在的像素行中的 所有像素点的像素值,以及第三像素点的像素值均已知,则对所述第一像 素点进行滤波处理得到第 一值,对所述第二像素点进行滤波处理得到第二 值,对所述第三像素点进行滤波处理得到第三值;将所述第一值、第二值 和第三值进行加权处理得到所述待预测的像素点的像素值;如果只有所述第 一像素点所在的像素列中的像素点的像素值已知,则 将对所述第 一像素点进行滤波处理后得到的第 一值作为所述待预测的像素点的像素值;如果只有所述第二像素点所在的像素行中的像素点的像素值已知,则 将对所述第二像素点进行滤波处理后得到的第二值作为所述待预测的像 素点的像素值;如果所述第 一像素点所在的像素列和第二像素点所在的像素行中的所有像素点的像素值均未知时,将所述当前像素块中任一像素点的像素值 设为128。
5、 根据权利要求4所述的直流模式预测方法,其特征在于,所述当前 像素块的行数和列数均大于或等于8。
6、 根据权利要求5所述的直流模式预测方法,其特征在于, 所述对所述第一像素点进行滤波处理得到第一值具体为将所述第一像素点所在的像素列上,位于所述第 一像素点上侧相邻的像素点的像素值 的权重设为l,将所述第一像素点的像素值的权重设为2,将所述第一像素 点所在的像素列上,位于所述第 一像素点下侧相邻的像素点的像素值的权 重设为l,将上述加权处理后的数据的平均值,作为所述第一值;所述对所述第二像素点进行滤波处理得到第二值具体为将所述第二 像素点所在的像素行上,位于所述第二像素点左侧相邻的像素点的像素值 的权重设为l,将所述第二像素点的像素值的权重设为2,将所述第二像素 点所在的像素行上,位于所述第二像素点右侧相邻的像素点的像素值的权 重设为l,将上述加权处理后的数据的平均值,作为所述第二值;所述对所述第三像素点进行滤波处理得到第三值具体为将所述第三 像素点所在的像素行上,位于所述第三像素点右侧相邻的像素点的像素值 的权重设为l,将所述第三像素点的像素值的权重设为2,将所述第三像素 点所在的像素列上,位于所述第三像素点下侧相邻的像素点的像素值的权重设为l,将上述加权处理后的数据的平均值,作为所述第三值。
7、 根据权利要求4所述的直流模式预测方法,其特征在于,所述当前像 素块的行数和列数中至少有一个小于8。
8、 根据权利要求7所述的直流模式预测方法,其特征在于, 所述对所述第一像素点进行滤波处理得到第一值具体为将所述第一像素点所在的像素列上,位于所述第一像素点上侧相邻的像素点的像素值 的权重设为0,将所述第一像素点的像素值的权重设为l,将所述第一像素 点所在的像素列上,位于所述第 一像素点下侧相邻的像素点的像素值的权 重设为0,将上述加权处理后的数据的平均值,作为所述第一值;所述对所述第二像素点进行滤波处理得到第二值具体为将所述第二 像素点所在的像素行上,位于所述第二像素点左侧相邻的像素点的像素值 的权重设为0,将所述第二像素点的像素值的权重设为l,将所述第二像素 点所在的像素行上,位于所述第二像素点右侧相邻的像素点的像素值的权 重设为0,将上述加权处理后的数据的平均值,作为所述第二值;所述对所述第三像素点进行滤波处理得到第三值具体为将所述第三 像素点所在的像素行上,位于所述第三像素点右侧相邻的像素点的像素值 的权重设为O,将所述第三像素点的像素值的权重设为l,将所述第三像素 点所在的像素列上,位于所述第三像素点下侧相邻的像素点的像素值的权 重设为0,将上述加权处理后的数据的平均值,作为所述第三值。
9、 根据权利要求4所述的直流模式预测方法,其特征在于,所述对所述 第一值、第二值和第三值进行加权处理的加权系数,是通过再生核插值函 数得到的。
10、 根据权利要求9所述的直流模式预测方法,其特征在于,所述再生核 插值函数的插值节点是与当前像素块相邻的像素值已知的像素点。
全文摘要
本发明涉及一种直流模式预测方法。直流模式预测方法包括选取当前预测的宏块,将该宏块分为数个像素块;选取一个像素块作为当前像素块,根据该当前像素块的左侧像素块中与该当前像素块相邻的像素列中,与该当前像素块中待预测的像素点位于同一行的像素点;和/或该当前像素块的上侧像素块中与该当前像素块相邻的像素行中,与该当前像素块中待预测的像素点位于同一列的像素点;和/或该当前像素块的左上侧像素块中,与该当前像素块相邻的像素点,预测该当前像素块中的该待预测的像素点的像素值。本发明通过对已编码可用的像素点进行滤波加权处理,而不是简单的平均处理,以滤波后的加权值作为当前像素的预测值,提高了预测的精度。
文档编号H04N7/32GK101163249SQ20071017772
公开日2008年4月16日 申请日期2007年11月20日 优先权日2007年11月20日
发明者冯会晓, 孔德慧, 孙晓伟, 尹宝才, 施云惠 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1