CN101267567A - 帧内预测、编解码方法及装置 - Google Patents
帧内预测、编解码方法及装置 Download PDFInfo
- Publication number
- CN101267567A CN101267567A CN 200710088041 CN200710088041A CN101267567A CN 101267567 A CN101267567 A CN 101267567A CN 200710088041 CN200710088041 CN 200710088041 CN 200710088041 A CN200710088041 A CN 200710088041A CN 101267567 A CN101267567 A CN 101267567A
- Authority
- CN
- China
- Prior art keywords
- predictive mode
- predicted value
- pixel
- expansion
- predicted
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例公开了一种帧内预测方法,包括:编码端根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值。本发明实施例同时公开了一种帧内预测编码方法,编码端在扩展的预测模式下,根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值。本发明实施例还公开了一种帧内预测解码方法,解码端在扩展的预测模式下,根据当前解码块中已预测像素的预测值确定当前解码块中待预测像素的预测值,对当前编码块进行解码。本发明实施例同时公开了一种编码端和一种解码端。利用本发明实施例提供的方法和装置可以提高帧内预测编码的率失真性能。
Description
技术领域
本发明涉及视频编码技术,特别涉及帧内预测、编解码方法及装置。
背景技术
在视频编码中,帧内编码压缩率很低。帧内编码时,帧内编码块使用周围的信息来进行预测,不依赖于前面的已编码帧,因而可以在得不到前面帧的情况下进行解码。
在现有技术中,对当前编码块进行帧内预测时,使用已解码块与当前编码块的相邻行和相邻列像素进行帧内预测。根据这些已解码块的像素,可以选择不同方向帧内预测模式或者直流系数(DC)预测模式对当前编码块进行帧内预测。每一种预测模式对应一个预测器,每一个预测器用于计算获得对应预测模式下当前编码块的预测结果。
现有技术中包含了基于大小为4×4,8×8,和16×16的块的帧内预测模式。其中4×4和8×8预测模式均有9个预测器,16×16预测模式有4个预测器。现有技术中的帧内预测技术,也可以由5个预测器对编码块进行帧内预测。
以先进视频编码(AVS)亮度分量帧内预测为例,如图1所示,图1中的8×8方格矩阵表示当前编码块,水平和垂直两行像素的0~16个点是和当前编码块相邻的块像素点,从中选取像素点作为当前编码块像素点预测值的参考样本r[i]和c[i],在帧内预测时,首先要判断相邻参考样本点的可用性,然后利用不同方向的预测器对当前编码块的8×8共64个像素点进行预测,产生相应的预测值。
如果图1所示的当前编码块的相邻块像素点已经完成编码,并且非图象边缘或者条带边缘,则该像素点可用。
AVS中五个方向帧内预测器,对应的帧内预测模式分别为:
Intra_8×8_Vertical、Intra_8×8_Horizontal、Intra_8×8_DC、Intra_8×8_Down_Left以及Intra_8×8_Down_Right预测模式。假设当前要预测的像素的坐标为(x,y),则
当使用Intra_8×8_Vertical预测模式时,当前编码块内的每个像素[x,y]的预测值predMatrix[x,y]=r[x+1](x,y=0~7)。
当采用Intra_8×8_Horizontal预测模式时,当前编码块内的每个像素[x,y]的预测值predMatrix[x,y]=c[y+1](x,y=0~7)。
当采用Intra_8×8DC预测模式时,根据参考样本r[i]和c[i]的可用性,
当前编码块内的每个像素[x,y]的预测值predMatrix[x,y]=((r[x]+2×r[x+1]+r[x+2]+2)>>2+(c[y]+2×c[y+1]+c[y+2]+2)>>2)>>1(x,y=0~7);或predMatrix[x,y]=(r[x]+2×r[x+1]+r[x+2]+2)>>2(x,y=0~7);或
predMatrix[x,y]=(c[y]+2×c[y+1]+c[y+2]+2)>>2(x,y=0~7);或
predMatrix[x,y]=128(x,y=0~7)。
当采用Intra_8×8_Down_Left预测模式时,
predMatrix[x,y]=((r[x+y+1]+2×r[x+y+2]+r[x+y+3]+2)>>2+(c[x+y+1]+2×c[x+y+2]+c[x+y+3]+2)>>2)>>1(x,y=0~7)。
当采用Intra_8×8_Down_Right预测模式时,
如果x等于y,则predMatrix[x,y]=(c[1]+2×r[0]+r[1]+2)>>2(x,y=0~7);
如果x大于y,则predMatrix[x,y]=(r[x-y+1]+2×r[x-y]+r[x-y-1]+2)>>2(x,y=0~7);
如果y大于x,则predMatrix[x,y]=(c[y-x+1]+2×c[y-x]+c[y-x-1]+2)>>2。
由以上描述可见,现有技术中的帧内预测,其预测器只利用当前编码块相邻块的一行和一列像素来进行预测,其预测精度不高,因此帧内编码率失真性能较差,不能进一步反应当前编码块的内容变化。
发明内容
有鉴于此,本发明实施例一方面提供了帧内预测、编解码方法,另一方面提供帧内预测装置,包括编码端以及解码端,能够提高帧内编码率失真性能。
一种帧内预测方法,包括:编码端根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值。
一种帧内预测编码方法,包括:
编码端计算每一种预测模式下,当前编码块每个像素的预测值,根据所述预测值选择第一预测模式,所述每一种预测模式包括扩展的预测模式,对于所述扩展的预测模式,所述编码端根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值;
所述编码端根据所述第一预测模式对所述当前编码块进行编码,获得编码结果,将所述编码结果以及所述第一预测模式的标识信息生成码流。
一种帧内预测解码方法,包括:
解码端从编码端生成的码流中获取第一预测模式标识信息;
根据所述第一预测模式标识信息确定所述第一预测模式,如果所述第一预测模式为扩展的预测模式,则所述解码端根据当前解码块已预测像素的预测值,确定当前解码块中待预测像素的预测值,对当前解码块进行解码。
一种编码端,包括:预测模式选择单元和编码单元,
所述预测模式选择单元,用于计算每一种预测模式下,当前编码块每个像素的预测值,根据所述预测值选择第一预测模式,所述每一种预测模式包括扩展的预测模式,对于所述扩展的预测模式,所述预测模式选择单元根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值;
所述编码单元,用于根据所述第一预测模式对所述当前编码块进行编码,获得编码结果,将所述编码结果以及所述第一预测模式的标识信息生成码流。
一种解码端,包括:预测模式获取单元以及解码单元,
所述预测模式获取单元,用于从编码端生成的码流中获取第一预测模式的标识信息;
所述解码单元,根据所述第一预测模式的标识信息确定所述第一预测模式,如果所述第一预测模式为扩展的预测模式,则所述解码单元根据当前解码块已预测像素的预测值,确定当前解码块中待预测像素的预测值,对当前解码块进行解码。
由以上技术方案可见,本发明实施例提供的帧内预测、编解码方法及装置,通过在现有预测模式基础上进一步增加新的帧内预测模式,根据当前编码块中已预测像素的预测值预测当前编码块中待预测的像素的预测值,从而提高了帧内编码率失真性能。
附图说明
图1为现有技术8×8帧内预测示意图;
图2为本发明帧内预测编码方法实施例的流程图;
图3为本发明实施例8×8扩展帧内预测示意图;
图4为本发明实施例第一种扩展的预测模式的具体预测方式示意图;
图5为本发明实施例第二种扩展的预测模式的具体预测方式示意图;
图6为图2所示方法的一个较佳实现方式的流程图;
图7为本发明帧内预测解码方法实施例的流程图。
具体实施方式
为使本发明的目的、技术方案和有益效果更加清楚明白,下面结合实施例和附图,对本发明做进一步地详细说明。
本发明实施例提供的帧内预测方法,根据当前编码块中已预测像素的预测值预测当前编码块中待预测像素的预测值。
图2为本发明帧内预测编码方法实施例的流程图,该流程包括:
步骤201,编码端计算每一种预测模式下,当前编码块每个像素的预测值,根据计算出的预测值选择第一预测模式,所述每一种预测模式包括扩展的预测模式,即根据当前编码块已预测像素的预测值确定待预测像素的预测值的预测模式,对于扩展的预测模式,编码端根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值。
本步骤中,编码端计算每一种预测模式下,当前编码块每个像素的预测值,根据计算出的预测值选择第一预测模式可以为:编码端计算每一种预测模式下,当前编码块每个像素的预测值,根据计算出的预测值确定当前编码块的率失真率(RDcost),选择当前编码块RDcost值最小的预测模式作为第一预测模式。
对于AVS,本步骤中的每一种预测模式不仅可以包括:一种或多种扩展的预测模式,还可以包括现有的五种预测模式,对于现有的预测模式,编码端根据当前编码块相邻块的一行和一列已预测像素的预测值确定当前编码块所包含像素的预测值。
步骤202,编码端根据选择的第一预测模式对当前编码块进行编码,获得编码结果,将编码结果以及第一预测模式的标识信息生成码流。
本步骤中,将第一预测模式生成码流的目的是使解码端可以通过读取码流而获取编码端选择的第一预测模式。为了减少解码端将第一预测模式生成码流所占用的空间,该方法进一步可以包括:设置每一种扩展模式与一种现有预测模式的映射关系,并设置扩展的预测模式的标识信息。当第一预测模式为扩展的预测模式时,编码端将第一预测模式对应的现有预测模式的标识信息以及扩展的预测模式的标识信息生成码流。
比如现有技术有5种预测模式,编号分别为0、1、2、3、4,现增加两种扩展的预测模式,编号分别为5和6。如果编码端选择的第一预测模式为扩展的预测模式,则编码端可以预先将扩展的预测模式与现有技术中的五种预测模式的两种建立映射关系,比如编号为5的预测模式和编号为3的预测模式建立映射关系;编号为6的预测模式和编号为4的预测模式建立映射关系,同时设置一个扩展的预测模式的标识信息,如当采用扩展的预测模式时,该扩展的预测模式的标识信息为1;否则为0。这样,当第一预测模式为编号为5的扩展的预测模式时,编码端可以用编号为3的预测模式的标识信息和扩展的预测模式的标识信息来表示。由于扩展的预测模式的标识信息只需要一个比特位表示,因此可以减少解码端将第一预测模式生成码流所占用的空间。
步骤201中所述的扩展的预测模式可以为:Intra_8×8_Down_Left_Ext和/或Intra_8×8_Down_Right_Ext预测模式。
这两种扩展的预测模式的具体预测方法如下所述:
如图3中所示,对于8×8的帧内预测模式,标有Pxy(x,y=0~7)的块为需要预测的像素,每一个像素的预测值表示为predMatrix[x,y]。在图3中最上面的一行和最左侧的一列表示可用参考样本点r[i]和c[j]。
Intra_8×8_Down_Left_Ext预测模式的具体预测方式如图4所示,当前要预测的像素为X,则利用该像素的左、上、右上像素A、B和C滤波得到像素X的预测值。根据A、B和C像素滤波得到X像素预测值的方法可以有很多种,包括:(1,2,1)/4、(3,4,1)/8、(1,4,3)/8、(4,3,1)/8、(1,6,1)/8、(1,5,2)/8、(2,1,1)/4、(1,1,2)/4等。其中括号中的三个数字分别表示利用像素A、B和C预测值计算像素X预测值时的系数。以(1,2,1)/4为例,像素X的预测值=(A+B<<1+C+2)>>2,即(A+2B+C+2)/4。
采用Intra_8×8_Down_Left_Ext预测模式对当前编码块全部像素进行预测具体描述如下:
当r[i]、c[j](i,j=1~8)均可用时,可以采用Intra_8×8_Down_Left_Ext预测模式,由于图3中r[i]、c[j](i,j=1~8)均为可用参考样本点,因此predMatrix[0,0]=((c[1]+2×r[1]+r[2]+2)>>2,即第一个像素P00的预测值是通过其左边的c[1],正上方的r[1]和右上方的r[2]预测得到的。
第一行的其余像素的预测值为:
predMatrix[x,0]=((predMatrix[x-1,0]+2x1[i]+r[i+1]+2)>>2(x=1~7,i=2~8),即Px0是通过其左边的Px-1,0,正上方的r[i]及右上方的r[i+1]预测得到的。
第二行到第八行预测如下:
第一列的像素的预测值为:
predMatrix[0,y]=((c[j]+2×predMatrix[0,y-1]+predMatrix[1,y-1]+2)>>2,(y=1~7,j=2~8),即P0y是通过其左边的c[j=2~8],正上方的P0,y-1及右上方的P1,y-1预测得到的。
其余的第二列到第七列像素的预测值为:
predMatrix[x,y]=((predMatrix[x-1,y]+2×predMatrix[x,y-1]+predMatrix[x+1,y-1]+2)>>2(x=1~7,y=1~7),即
Pxy是通过其左边的Px-1,y,正上方的Px,y-1及右上方的Px+1,y-1预测得到的。
第八列像素的预测值为:
predMatrix[x,y]=((predMatrix[x-1,y]+2×predMatrix[x,y-1]+r[x+1,y-1]+2)>>2(x=7,y=1~7);
如果当前要预测像素右上方参考样本点不存在,则使用相邻块参考样本中相同列位置的点作为参考样本点值,即用图3中的r[9]代替C点。对于该情况,也可以采用要预测像素上方参考样本点代替,即利用图4中的B点代替C点,如下:
predMatrix[x,y]=((predMatrix[x-1,y]+3×predMatrix[x,y-1]+2)>>2(x=7,y=1~7)。
Intra_8×8_Down_Right_Ext预测模式的具体预测方式如图5所示,当前要预测的像素为X,则利用该像素的左、左下和左上像素A1、B1和C1滤波得到像素X的预测值。根据A1、B1和C1像素滤波得到X像素预测值的方法可以有很多种,包括:(1,2,1)/4、(3,4,1)/8、(1,4,3)/8、(4,3,1)/8、(1,6,1)/8、(1,5,2)/8、(2,1,1)/4、(1,1,2)/4等。其中括号中的三个数字分别表示利用像素A1、B1和C1预测值计算像素X预测值时的系数。以(1,2,1)/4为例,像素X的预测值=(A1+B1<<1+C1+2)>>2,即(A1+2B1+C1+2)/4。
采用Intra_8×8_Down_Right_Ext预测模式对当前编码块全部像素进行预测具体描述如下:
当r[i]、c[j](i,j=1~8)均可用时,可以采用Intra_8×8_Down_Right_Ext预测模式,由于图3中r[i]、c[j](i,j=1~8)均为可用参考样本点,因此predMatrix[0,0]=((r[1]+2×c[1]+c[2]+2)>>2,即第一个像素P00的预测值是通过其正上方的r[1],左边的c[1]和左下方的c[2]预测得到的。
第一列的其余像素的预测值为:
predMatrix[0,y]=((predMatrix[0,y-1]+2×c[j]+c[j+1]+2)>>2(y=1~7,j=2~8),即P0y是通过其正上方的P0,y-1,左边的c[j]及左下方c[j+1]预测得到的。
第二列到第八列中的像素的预测如下:
第一行的像素的预测值为:
predMatrix[x,0]=((r[i]+2×predMatrix[x-1,0]+predMatrix[x-1,1]+2)>>2,(x=1~7,i=2~8);
即Px0是通过其正上方的r[i=2~8],左边的Px-1,0及左下方的Px-1,1预测得到的。
其余的第二行到第七行像素的预测值为:
predMatrix[x,y]=((predMatrix[x,y-1]+2×predMatrix[x-1,y]+predMatrix[x-1,y+1]+2)>>2(x=1~7,y=1~7);
即Pxy是通过其正上方的Px,y-1,左边的Px-1,y及左下方的Px-1,y+1预测得到的。
第八行像素的预测值为:
predMatrix[x,y]=((predMatrix[x,y-1]+2×predMatrix[x-1,y]+r[x-1,y+1]+2)>>2(x=1~7,y=7);
如果当前要预测像素左下方参考样本点不存在,则使用相邻块参考样本中相同行位置点作为参考样本值,即用c[9]代替C1点。对于该情况,不存在的左下方参考样本点也可以采用要预测像素左侧参考样本点来代替,即用B1点代替C1点。如下式所示:
predMatrix[x,y]=((predMatrix[x,y-1]+3×predMatrix[x-1,y]+2)>>2(x=1~7,y=7)。
图4和图5给出的两种扩展的预测模式Intra_8×8_Down_Left_Ext和Intra_8×8_Down_Right_Ext,均采用三个已预测像素的预测值确定待预测像素的预测值,实际应用中也可以采用4个、5个或任意多个已预测像素的预测值确定待预测像素的预测值。
另外,除了图4和图5给出的两种扩展的预测模式外,还可以增加其它扩展的预测模式。比如可以对现有的所有预测模式或其中部分预测模式进行扩展,即将所有预测方向或两个以上预测方向中的每一个预测方向扩展为多个预测器的组合。这些扩展的预测模式在确定当前编码块的像素的预测值时,需要根据已预测像素的预测值进行计算。
图6为图2所示方法的一个较佳实现方式的流程图。该实现方式中,编码端可选的帧内预测模式如表1所示。
预测模式编号IntraLumaPredMode | 预测模式名称 |
0 | Intra_8×8_Vertical |
1 | Intra_8×8_Horizontal |
2 | Intra_8×8_DC |
3 | Intra_8×8_Down_Left |
4 | Intra_8×8_Down_Right |
5(3E) | Intra_8×8_Down_Left_Ext |
6(4E) | Intra_8×8_Down_Right_Ext |
表1
其中,Intra_8×8_Down_Left_Ext和Intra_8×8_Down_Right_Ext为扩展的预测模式。
图6所示流程包括如下步骤:
步骤601,编码端计算表1中每一种预测模式下,当前编码块每个像素的预测值,根据计算出的预测值,选择第一预测模式,本实施例中为最佳预测模式。
最佳预测值可以根据率失真率优化(RDO,Rate-DistortionOptimization)原则,计算每种预测模式编码的RDcost,选择RDcost最小的作为当前编码块的最佳预测模式。
为了兼容现有技术,可以设置标识是否使用帧内预测扩展模式的标记,本实施例中用extended_intra_prediction表示。如果编码端从现有五种预测模式中选择最佳预测模式(bestmode),则设置extended_intra_prediction为0;
如果编码端从包含扩展预测模式的7种预测模式中选择bestmode,则设置extended_intra_prediction为1。
步骤602,编码端根据选择的最佳预测模式对当前编码块进行编码,获得编码结果,将编码结果以及最佳预测模式的标识信息生成码流。
本步骤中,编码端可以直接将选择的最佳预测模式的编号生成码流;或通过设置扩展的预测模式的标识信息,这里用extended_intra_prediction_flag表示,并设置Intra_8×8_Down_Left_Ext预测模式和Intra_8×8_Down_Right_Ext预测模式与其余五种现有预测模式中任意两种的映射关系。本实施例中选择预测模式编号为3和4的两种现有模式分别与Intra_8×8_Down_Left_Ext预测模式和Intra_8×8_Down_Right_Ext预测模式建立映射关系。
同时,本实施例中设置extended_intra_prediction_flag为1时表示扩展的预测模式;为0时表示现有预测模式。当然,也可以采用其它的设置方法,设置extended_intra_prediction_flag,只要能够区分出相映射的现有预测模式和扩展的预测模式即可。
如果编码端选择的最佳预测模式bestmode=5(3E),则编码端可以将extended_intra_prediction_flag=1以及bestmode=3生成码流;如果bestmode=3,则编码端可以将extended_intra_prediction_flag=0及bestmode=3生成码流。
如果编码端选择的bestmode=6(4E),则编码端可以将extended_intra_prediction_flag=1以及bestmode=4生成码流;如果bestmode=4,则编码端可以将extended_intra_prediction_flag=0及bestmode=4生成码流。
本发明的预测模式按照如下的编码比特流的语法表进行编码,新的扩展帧内预测模式用Extended_Intra_Prediction标志。
序列头定义如下:
sequence_header(){ | 描述符 |
if(profile_id==0×20)/*Jizhun profile*/ | |
reserved_bits | ′000′ |
else{/*Zengqiang profile*/ | |
entropy_coding_mode_flag | u(1) |
extended_intra_prediction | u(1) |
reserved_bits | ′00′ |
} | |
next_start_code() | |
} |
宏块语法定义:
if(MbType==′I_8×8′){ | |
for(i=0;i<4;i++){ | |
pred_mode_flag | u(1)|ae(v) |
if(!pred_mode_flag) | |
intra_luma_pred_mode | u(2)|ae(v) |
if(extended_intra_prediction){ | |
if(Intra_8×8Down Left||Intra_8×8_Down_Right){ | |
extended_intra_prediction_flag | u(1)|ae(v) |
} | |
} | |
} |
intra_chroma_pred_mode | ue(v)|ae(v) |
if(chroma_format==′10′) | |
intra_chroma_pred_mode_422 | ue(v)|ae(v) |
} |
其中,extended_intra_prediction等于1表示使用本发明的新帧内预测类型;
ae(v):用基于上下文的自适应二元算术码编码的语法元素
u(n):n位无符号整数。在语法表中,如果n是‘v’,其比特数由其他语法元素值确定。解析过程由函数read_bits(n)的返回值规定,该返回值用高位在前的二进制表示。
ue(v):无符号整数语法元素,用指数哥伦布码编码。
图7为本发明帧内预测解码方法实施例的流程图。该流程包括:
步骤701,解码端从编码端生成的码流中获取第一预测模式标识信息,根据第一预测模式标识信息确定第一预测模式。
步骤702,如果第一预测模式为扩展的预测模式,则解码端根据当前解码块已预测像素的预测值,确定当前解码块中待预测像素的预测值,对当前解码块进行解码。
该方法还可以包括:如果解码端获取的第一预测模式为现有预测模式,则解码端根据当前解码块相邻的一行和一列已预测像素的预测值确定当前解码块所包含像素的预测值。
该方法进一步可以包括:预先设置每一种扩展的预测模式与一种现有预测模式的映射关系,并设置扩展的预测模式的标识信息。
当第一预测模式标识信息包括现有预测模式的标识信息以及扩展的预测模式的标识信息时,解码端通过比较预先设置的现有预测模式的标识信息以及扩展的预测模式的标识信息,和第一预测模式标识信息中包括的现有预测模式的标识信息以及扩展的预测模式的标识信息,确定第一预测模式。
利用本发明实施例提供的帧内预测编码和解码方法进行帧内预测编解码可以显著提高帧内编码效率。在AVSP2中,使用本发明实施例提供的方法可以使得帧内编码率失真率平均增加0.1dB的增益。
本发明实施例同时提供了一种编解码***,包括:编码端和解码端。
其中,编码端,用于计算每一种预测模式下,当前编码块每个像素的预测值,根据所述预测值选择第一预测模式,所述每一种预测模式包括扩展的预测模式,对于扩展的预测模式,编码端根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值;根据第一预测模式对当前编码块进行编码,获得编码结果,将编码结果以及第一预测模式的标识信息生成码流;
解码端,用于从所述码流中获取第一预测模式的标识信息;根据第一预测模式的标识信息确定第一预测模式,如果第一预测模式为扩展的预测模式,则解码端根据当前解码块已预测像素的预测值,确定当前解码块中待预测像素的预测值,对当前解码块进行解码。
其中,编码端包括:预测模式选择单元和编码单元。
预测模式选择单元,用于计算每一种预测模式下,当前编码块每个像素的预测值,根据所述预测值选择第一预测模式,每一种预测模式包括扩展的预测模式,对于扩展的预测模式,预测模式选择单元根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值;
编码单元,用于根据第一预测模式对当前编码块进行编码,获得编码结果,将编码结果以及第一预测模式的标识信息生成码流。
预测模式选择单元包括:扩展的预测模式预测单元、现有预测模式预测单元以及模式选择单元。
其中,扩展的预测模式预测单元,用于在扩展的预测模式下,根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值;
现有预测模式预测单元,用于在现有预测模式下,根据当前编码块相邻的一行和一列已预测像素的预测值确定当前编码块所包含像素的预测值;
模式选择单元,用于根据扩展的预测模式预测单元和现有预测模式预测单元确定的预测值,选择第一预测模式。
编码单元包括:模式映射单元和码流生成单元。
模式映射单元,用于保存设置的每一种扩展的预测模式与现有预测模式的映射关系,以及设置的扩展的预测模式的标识信息;
码流生成单元,用于根据第一预测模式对当前编码块进行编码,获得编码结果,将编码结果以及第一预测模式对应的现有预测模式的标识信息以及扩展的预测模式的标识信息生成码流。
解码端包括:预测模式获取单元以及解码单元。
预测模式获取单元,用于从编码端生成的码流中获取第一预测模式的标识信息;
解码单元,根据第一预测模式的标识信息确定第一预测模式,如果第一预测模式为扩展的预测模式,则解码单元根据当前解码块已预测像素的预测值,确定当前解码块中待预测像素的预测值,对当前解码块进行解码。
其中,解码单元包括:预测模式确定单元、扩展预测模式解码单元以及现有预测模式解码单元。
预测模式确定单元,根据第一预测模式的标识信息确定第一预测模式;
扩展预测模式解码单元,用于在第一预测模式为扩展的预测模式时,根据当前解码块已预测像素的预测值,确定当前解码块中待预测像素的预测值,对当前解码块进行解码;
现有预测模式解码单元,用于在第一预测模式为现有预测模式时,根据当前解码块相邻的一行和一列已预测像素的预测值确定当前解码块所包含像素的预测值。
预测模式确定单元包括:模式映射单元和模式确定单元。
模式映射单元,用于保存设置的每一种扩展的预测模式与现有预测模式的映射关系,以及设置的扩展的预测模式的标识信息;
模式确定单元,用于比较第一预测模式的标识信息中包含的和模式映射单元中保存的现有预测模式的标识信息以及扩展的预测模式标识信息,确定第一预测模式。
由以上实施例可见,通过增加扩展的预测模式,编码端根据当前编码块中已预测像素的预测值确定待预测像素的预测值,从而可以提高帧内编码率失真性能,在较低的信号标志代价下提供最优的编码率失真性能。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1. 一种帧内预测方法,其特征在于,该方法包括:编码端根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值。
2. 如权利要求1所述的方法,其特征在于,所述确定当前编码块中待预测像素的预测值的方法包括:
所述编码端根据当前待预测像素相邻的两个或两个以上已预测像素的预测值确定所述当前待预测像素的预测值。
3. 如权利要求2所述的方法,其特征在于,所述确定当前编码块中待预测像素的预测值的方法具体为:所述编码端根据当前待预测像素右侧、正上方以及右上侧相邻的三个已预测像素A、B以及C的预测值确定当前待预测像素的预测值;或
所述编码端根据当前要预测像素正上方、左侧以及左下侧相邻的三个已预测像素A1、B1以及C1的预测值确定当前要预测像素的预测值。
4. 如权利要求3所述的方法,其特征在于,所述编码端确定当前要预测像素的预测值的计算方法具体为:
所述编码端对所述三个已预测像素的预测值进行滤波确定当前待预测像素的预测值。
5. 如权利要求4所述的方法,其特征在于,所述编码端对所述三个已预测像素的预测值进行滤波确定当前待预测像素的预测值的具体方法为:
所述三个已预测像素为所述A、B以及C时,所述当前待预测像素的预测值等于所述A的预测值、两倍的所述B的预测值以及所述C的预测值之和加2再除以4;
所述三个已预测像素为所述A1、B1以及C1时,所述当前待预测像素的预测值等于所述A1的预测值、两倍的所述B1的预测值以及所述C1的预测值之和加2再除以4。
6. 一种帧内预测编码方法,其特征在于,该方法包括:
编码端计算每一种预测模式下,当前编码块每个像素的预测值,根据所述预测值选择第一预测模式,所述每一种预测模式包括扩展的预测模式,对于所述扩展的预测模式,所述编码端根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值;
所述编码端根据所述第一预测模式对所述当前编码块进行编码,获得编码结果,将所述编码结果以及所述第一预测模式的标识信息生成码流。
7. 如权利要求6所述的方法,其特征在于,所述每一种预测模式进一步包括:现有预测模式,
对于所述现有预测模式,所述编码端根据当前编码块相邻的一行和一列已预测像素的预测值确定当前编码块所包含像素的预测值。
8. 如权利要求7所述的方法,其特征在于,该方法进一步包括:设置所述每一种扩展模式与所述现有预测模式的映射关系,设置扩展的预测模式的标识信息,
当所述第一预测模式为扩展的预测模式时,所述编码端将选择的第一预测模式的标识信息生成码流为:
所述编码端将所述第一预测模式对应的现有预测模式的标识信息以及所述扩展的预测模式的标识信息生成码流。
9. 如权利要求6至8任一项所述的方法,其特征在于,所述选择第一预测模式为选择率失真率RDcost最小的预测模式。
10. 一种帧内预测解码方法,其特征在于,该方法包括:
解码端从编码端生成的码流中获取第一预测模式标识信息;
根据所述第一预测模式标识信息确定所述第一预测模式,如果所述第一预测模式为扩展的预测模式,则所述解码端根据当前解码块已预测像素的预测值,确定当前解码块中待预测像素的预测值,对当前解码块进行解码。
11. 如权利要求10所述的方法,其特征在于,该方法进一步包括:
如果所述第一预测模式为现有预测模式,则所述解码端根据当前解码块相邻的一行和一列已预测像素的预测值确定当前解码块所包含像素的预测值。
12. 如权利要求11所述的方法,其特征在于,该方法进一步包括:设置所述每一种扩展模式与所述现有预测模式的映射关系,设置扩展的预测模式的标识信息,
当所述第一预测模式标识信息包括现有预测模式的标识信息以及扩展的预测模式的标识信息时,所述解码端确定所述第一预测模式为:
所述解码端根据所述现有预测模式的标识信息以及所述扩展的预测模式的标识信息确定所述第一预测模式。
13. 一种编码端,其特征在于,所述编码端包括:预测模式选择单元和编码单元,
所述预测模式选择单元,用于计算每一种预测模式下,当前编码块每个像素的预测值,根据所述预测值选择第一预测模式,所述每一种预测模式包括扩展的预测模式,对于所述扩展的预测模式,所述预测模式选择单元根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值;
所述编码单元,用于根据所述第一预测模式对所述当前编码块进行编码,获得编码结果,将所述编码结果以及所述第一预测模式的标识信息生成码流。
14. 如权利要求13所述的编码端,其特征在于,所述预测模式选择单元包括:扩展的预测模式预测单元、现有预测模式预测单元以及模式选择单元,
所述扩展的预测模式预测单元,用于在所述扩展的预测模式下,根据当前编码块中已预测像素的预测值确定当前编码块中待预测像素的预测值;
所述现有预测模式预测单元,用于在现有预测模式下,根据当前编码块相邻的一行和一列已预测像素的预测值确定当前编码块所包含像素的预测值;
所述模式选择单元,用于根据所述扩展的预测模式预测单元和现有预测模式预测单元确定的预测值,选择所述第一预测模式。
15. 如权利要求14所述的方法,其特征在于,所述编码单元包括:模式映射单元和码流生成单元,
所述模式映射单元,用于保存设置的每一种扩展的预测模式与所述现有预测模式的映射关系,以及设置的扩展的预测模式的标识信息;
所述码流生成单元,用于根据所述第一预测模式对所述当前编码块进行编码,获得编码结果,将所述编码结果以及所述第一预测模式对应的现有预测模式的标识信息以及扩展的预测模式的标识信息生成码流。
16. 一种解码端,其特征在于,所述解码端包括:预测模式获取单元以及解码单元,
所述预测模式获取单元,用于从编码端生成的码流中获取第一预测模式的标识信息;
所述解码单元,根据所述第一预测模式的标识信息确定所述第一预测模式,如果所述第一预测模式为扩展的预测模式,则所述解码单元根据当前解码块已预测像素的预测值,确定当前解码块中待预测像素的预测值,对当前解码块进行解码。
17. 如权利要求16所述的解码端,其特征在于,所述解码单元包括:预测模式确定单元、扩展预测模式解码单元以及现有预测模式解码单元,
所述预测模式确定单元,根据所述第一预测模式的标识信息确定所述第一预测模式;
所述扩展预测模式解码单元,用于在所述第一预测模式为扩展的预测模式时,根据当前解码块已预测像素的预测值,确定当前解码块中待预测像素的预测值,对当前解码块进行解码;
所述现有预测模式解码单元,用于在所述第一预测模式为现有预测模式时,根据当前解码块相邻的一行和一列已预测像素的预测值确定当前解码块所包含像素的预测值。
18.如权利要求17所述的方法,其特征在于,所述预测模式确定单元包括:模式映射单元和模式确定单元,
所述模式映射单元,用于保存设置的所述每一种扩展的预测模式与所述现有预测模式的映射关系,以及设置的扩展的预测模式的标识信息;
所述模式确定单元,用于比较所述第一预测模式的标识信息中包含的和所述模式映射单元中保存的现有预测模式的标识信息以及扩展的预测模式标识信息,确定所述第一预测模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710088041 CN101267567A (zh) | 2007-03-12 | 2007-03-12 | 帧内预测、编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710088041 CN101267567A (zh) | 2007-03-12 | 2007-03-12 | 帧内预测、编解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101267567A true CN101267567A (zh) | 2008-09-17 |
Family
ID=39989647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710088041 Pending CN101267567A (zh) | 2007-03-12 | 2007-03-12 | 帧内预测、编解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101267567A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011110039A1 (en) * | 2010-03-12 | 2011-09-15 | Mediatek Singapore Pte. Ltd. | Motion prediction methods |
CN104902283A (zh) * | 2010-04-09 | 2015-09-09 | 韩国电子通信研究院 | 视频解码方法 |
CN106851310A (zh) * | 2011-01-12 | 2017-06-13 | 佳能株式会社 | 错误恢复改进的视频编码和解码 |
CN109792529A (zh) * | 2016-09-22 | 2019-05-21 | Lg 电子株式会社 | 图像编译***中的基于照度补偿的间预测方法和设备 |
CN111937389A (zh) * | 2018-03-29 | 2020-11-13 | 华为技术有限公司 | 用于视频编解码的设备和方法 |
US11095878B2 (en) | 2011-06-06 | 2021-08-17 | Canon Kabushiki Kaisha | Method and device for encoding a sequence of images and method and device for decoding a sequence of image |
-
2007
- 2007-03-12 CN CN 200710088041 patent/CN101267567A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011110039A1 (en) * | 2010-03-12 | 2011-09-15 | Mediatek Singapore Pte. Ltd. | Motion prediction methods |
CN102439978A (zh) * | 2010-03-12 | 2012-05-02 | 联发科技(新加坡)私人有限公司 | 运动预测方法 |
CN104902283A (zh) * | 2010-04-09 | 2015-09-09 | 韩国电子通信研究院 | 视频解码方法 |
CN104902283B (zh) * | 2010-04-09 | 2018-12-14 | 韩国电子通信研究院 | 视频解码方法 |
CN106851310A (zh) * | 2011-01-12 | 2017-06-13 | 佳能株式会社 | 错误恢复改进的视频编码和解码 |
US10609380B2 (en) | 2011-01-12 | 2020-03-31 | Canon Kabushiki Kaisha | Video encoding and decoding with improved error resilience |
US11146792B2 (en) | 2011-01-12 | 2021-10-12 | Canon Kabushiki Kaisha | Video encoding and decoding with improved error resilience |
US11095878B2 (en) | 2011-06-06 | 2021-08-17 | Canon Kabushiki Kaisha | Method and device for encoding a sequence of images and method and device for decoding a sequence of image |
CN109792529A (zh) * | 2016-09-22 | 2019-05-21 | Lg 电子株式会社 | 图像编译***中的基于照度补偿的间预测方法和设备 |
CN111937389A (zh) * | 2018-03-29 | 2020-11-13 | 华为技术有限公司 | 用于视频编解码的设备和方法 |
CN111937389B (zh) * | 2018-03-29 | 2022-01-14 | 华为技术有限公司 | 用于视频编解码的设备和方法 |
US11323695B2 (en) | 2018-03-29 | 2022-05-03 | Huawei Technologies Co., Ltd. | Bidirectional intra prediction signaling |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102685474B (zh) | 预测模式的编解码方法、编解码设备及网络*** | |
CN102771125B (zh) | 使用树形结构的编码/解码方法和装置 | |
CN102577378B (zh) | 用于对模式信息进行编码和解码的方法和设备 | |
JP5727114B1 (ja) | ピクチャ境界の符号化単位を符号化/復号化する方法及びその装置 | |
US9215462B2 (en) | Image encoding/decoding method and device | |
CN100539702C (zh) | 用于图像编码和解码的装置及方法 | |
CN101647281B (zh) | 视频编码和解码的方法和设备 | |
CN100380984C (zh) | 基于空间预测的帧内编码 | |
CN104581162B (zh) | 通过使用大型变换单元解码图像的方法 | |
CN103384333B (zh) | 使用预测模式的视频解码装置 | |
US20140119439A1 (en) | Method and apparatus of intra mode coding | |
CN101677406B (zh) | 一种视频编解码的方法及装置 | |
CN101569201B (zh) | 基于帧内预测进行编码和解码的方法和装置 | |
CN101500160B (zh) | 一种码流标识方法、装置及编解码*** | |
CN103067704B (zh) | 一种基于编码单元层次提前跳过的视频编码方法和*** | |
CN101309408B (zh) | 一种亮度块帧内预测模式选择方法 | |
CN101584218A (zh) | 基于帧内预测的编码和解码方法及设备 | |
CN103096071A (zh) | 导出运动信息的方法 | |
CN101267567A (zh) | 帧内预测、编解码方法及装置 | |
CN103096055A (zh) | 一种图像信号帧内预测及解码的方法和装置 | |
CN102986213A (zh) | 视频编码/解码设备和方法 | |
CN103188496A (zh) | 基于运动矢量分布预测的快速运动估计视频编码方法 | |
KR101488498B1 (ko) | 참조 블록 파형 정보에 기반하여 인트라 영상을 부호화 하는 장치 및 복호화 하는 장치 | |
CN102857763B (zh) | 一种基于帧内预测的解码方法和解码装置 | |
CN101621694B (zh) | 一种运动估计方法、***及显示终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080917 |