CN102638678A - 视频编解码帧间图像预测方法及视频编解码器 - Google Patents
视频编解码帧间图像预测方法及视频编解码器 Download PDFInfo
- Publication number
- CN102638678A CN102638678A CN2011100369987A CN201110036998A CN102638678A CN 102638678 A CN102638678 A CN 102638678A CN 2011100369987 A CN2011100369987 A CN 2011100369987A CN 201110036998 A CN201110036998 A CN 201110036998A CN 102638678 A CN102638678 A CN 102638678A
- Authority
- CN
- China
- Prior art keywords
- flag bit
- interpolation
- filtering
- predicting unit
- pixels
- 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.)
- Granted
Links
Images
Abstract
本发明公开一种视频编解码帧间图像预测方法及视频编解码器,包括:在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量后;分别执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差,执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差;第一插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元,第二插值滤波处理的参考图像均来自参考帧;选择执行第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差对应的插值滤波处理;设置插值标识,以插值标识指示选择执行的插值滤波处理。本发明可提高视频编解码效率。
Description
技术领域
本发明涉及运动图像预测编码和插值滤波技术领域,尤其涉及视频编解码帧间图像预测方法及视频编解码器。
背景技术
运动图像压缩编解码总体上分为帧间图像编解码和帧内图像编解码两种预测编解码技术。帧内图像编/解码利用来自当前帧已经编/解码图像块的信息对当前编/解码图像块进行预测编/解码。帧间图像编/解码利用已经完成编/解码的图像帧信息对当前编/解码图像进行预测编/解码。
帧间图像编/解码通过对参考帧进行插值滤波,为当前帧提供残差信号尽可能小的帧间图像预测。现有的参考帧插值滤波所使用的所有插值像素均来自参考帧。然而,插值后的图像信号是用来对当前帧进行预测,现有的插值算法中未能将当前帧的图像信息加以利用。
在近两年国际视频压缩编码标准提案中,帧间图像编解码预测信息改进的算法中,有利用当前帧中当前编/解码块的空间相邻信息对帧间图像预测信息进行二阶预测的算法,然而,发明人在实现本发明的过程中,发现所有这些算法都是对帧间预测信息的改动,视频编解码的效率并不高。
发明内容
本发明实施例提供一种视频编码帧间图像预测方法,用以提高视频编码效率,该方法包括:
在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量;
按如下方法执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
按如下方法执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像均来自参考帧;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
确定第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差,选择执行确定的预测误差对应的插值滤波处理;
以及,设置插值标识,以插值标识指示选择执行的插值滤波处理。
本发明实施例还提供一种视频解码帧间图像预测方法,用以提高视频解码效率,该方法包括:
解码获得当前帧中当前解码单元的运动矢量和插值标识;
根据插值标识,选择:
按如下方法执行第一插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;
或,按如下方法执行第二插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像均来自参考帧;
进行运动补偿,得到残差图像。
本发明实施例还提供一种视频编码器,用以提高视频编码效率,包括:
运动估计模块,用于在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量;
第一预测误差获得模块,用于执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差,包括:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
第二预测误差获得模块,用于执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差,包括:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像均来自参考帧;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
选择执行模块,用于确定第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差,选择执行确定的预测误差对应的插值滤波处理;
标识设置模块,用于设置插值标识,以插值标识指示选择执行的插值滤波处理。
本发明实施例还提供一种视频解码器,用以提高视频解码效率,包括:
运动矢量获得模块,用于解码获得当前帧中当前解码单元的运动矢量;
插值标识获得模块,用于解码获得当前帧中当前解码单元的插值标识;
插值滤波选择执行模块,用于根据插值标识,选择:
执行第一插值滤波处理,包括:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;
或,执行第二插值滤波处理,包括:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像均来自参考帧;
运动补偿模块,用于进行运动补偿,得到残差图像。
本发明实施例中,在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量后;分别执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差,执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差;其中第一插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元,第二插值滤波处理的参考图像均来自参考帧;确定第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差,选择执行确定的预测误差对应的插值滤波处理;在选择执行第一插值滤波处理时,同时利用了参考帧和当前帧的信息进行帧间图像预测,还通过利用当前帧中当前预测单元的空间相邻像素信息从运动估计阶段对帧间图像预测进行改进,另外引入最小率失真代价或最小失真代价对应的预测误差的判断,还最大程度地保证了视频编码效率不受损耗;有利于提高视频编码效率,降低提供相同视频质量所需要的比特率,还可以减少非零预测残差信号,有利于减少方块效应;设置插值标识,以插值标识指示选择执行的插值滤波处理,可以使解码端知晓编码端采用的编码方式,以便采用对应的方式进行解码。
本发明实施例中,解码获得当前帧中当前解码单元的运动矢量和插值标识;根据插值标识,可以确定编码端采用的编码方式,以便选择对应的方式进行解码,如:按如下方法执行第一插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;或,按如下方法执行第二插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像均来自参考帧;进行运动补偿,得到残差图像;在选择执行第一插值滤波处理时,同时利用了参考帧和当前帧的信息进行帧间图像预测,还通过利用当前帧中当前预测单元的空间相邻像素信息从运动估计阶段对帧间图像预测进行改进,能够提高视频解码效率,降低提供相同视频质量所需要的比特率,还可以减少非零预测残差信号,有利于减少方块效应。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中视频编码帧间图像预测方法的处理流程图;
图2为本发明实施例中视频编码帧间图像预测方法的处理流程图;
图3为本发明实施例中插值标识的具体设置示意图;
图4为本发明实施例中视频解码帧间图像预测方法的处理流程图;
图5为本发明实施例中传统视频编/解码帧间图像预测的方法示意图;
图6为本发明实施例中同时利用参考帧和当前帧进行视频编/解码帧间图像预测的方法示意图;
图7为本发明实施例中第一插值滤波算法示意图;
图8为本发明实施例中视频编码器的结构示意图;
图9为本发明实施例中视频解码器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
如图1所示,本发明实施例中,视频编码帧间图像预测方法的一种处理流程可以包括:
步骤101、在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量(Motion Vector,MV);
步骤102、执行插值滤波处理,得到非整(fractional)像素位置像素值,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;
步骤103、利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;
步骤104、在整像素位置的最优运动矢量和非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿。
具体实施时,本发明实施例中,视频编码帧间图像预测方法的另一种处理流程为传统的视频编码帧间图像预测处理流程,即仅利用参考帧的信息进行帧间图像预测。也就是说,传统方法与图1所示流程的区别在于,在上述步骤102中,插值滤波处理的参考图像均来自参考帧。
具体实施时,本发明实施例的用于插值滤波处理的参考图像是可选择的。参考图像可以是参考帧图像块,也可以是当前帧图像块和参考帧图像块,对应于产生最小率失真代价或最小失真代价对应的预测误差的插值滤波处理作为最优方法来引用。实施时,可以分别对图1所示流程和传统方法流程进行对应的预测误差计算,将计算出的两种方法的预测误差进行最小率失真代价或最小失真代价比较,选择产生最小率失真代价或最小失真代价对应的预测误差的插值滤波处理作为最优方法来引用。
在执行选择之后,还可以设置一插值标识,以该插值标识指示选择执行的插值滤波处理。该插值标识可用于提供给解码端进行对应解码方法的选用。
如图2所示,本发明实施例中视频编码帧间图像预测方法的处理流程可以包括:
步骤201、在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量;
步骤202、执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差;
具体包括:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在整像素位置的最优运动矢量和非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;其中参考帧搜索窗是指参考帧整像素周围的一定范围内,该范围可以根据实际需要进行设定;
步骤203、执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差;
具体包括:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像均来自参考帧;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在整像素位置的最优运动矢量和非整像素位置的最优运动矢量中选择最优运动矢量进行运动补偿;同样地,其中参考帧搜索窗是指参考帧中整像素周围的一定范围内,该范围可以根据实际需要进行设定;上述的非整像素位置可以是1/2、1/4像素位置,当然,1/2、1/4像素位置仅为一例,实施时还可以是其它的像素位置,例如1/8、1/16像素位置;
步骤204、确定第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差,选择执行确定的预测误差对应的插值滤波处理;
步骤205、设置插值标识,以插值标识指示选择执行的插值滤波处理。
由图2所示流程可以得知,本发明实施例中,在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量后;分别执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差,执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差;其中第一插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元,第二插值滤波处理的参考图像均来自参考帧;确定第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差,选择执行确定的预测误差对应的插值滤波处理;在选择执行第一插值滤波处理时,同时利用了参考帧和当前帧的信息进行帧间图像预测,还通过利用当前帧中当前预测单元的空间相邻像素信息从运动估计阶段对帧间图像预测进行改进,另外引入最小率失真代价或最小失真代价对应的预测误差的判断,还最大程度地保证了视频编码效率不受损耗;有利于提高视频编码效率,降低提供相同视频质量所需要的比特率,还可以减少非零预测残差信号,有利于减少方块效应;设置插值标识,以插值标识指示选择执行的插值滤波处理,可以使解码端知晓编码端采用的编码方式,以便采用对应的方式进行解码。
具体实施时,设置插值标识,可以是:在PU(Prediction Unit,预测单元)、CU(CodingUnit,编码单元)、条带头(slice header)、图像参数集(picture parameter set)、或序列参数集(sequence parameter set)中,设置插值标识。
设置插值标识,可以是:设置一标志位,该标志位用于指示选择执行的插值滤波处理。该标志位取值为1时,指示选择执行第一插值滤波处理;该标志位取值为0时,指示选择执行第二插值滤波处理。
例如,将该标志位记为combo_interpolation_flag,可以在PU中设置combo_interpolation_flag,用来表示当前PU选择执行的插值滤波处理。取值为1表示选择执行第一插值滤波处理。取值为0表示选择执行第二插值滤波处理。
combo_interpolation_flag也可以在CU中设置,还可以在更高层的条带头、图像参数集、甚至在序列参数集中设置。不同的设置位置对应有不同的编码效率。
下表给出一个combo_interpolation_flag的具体设置实例:
else if(PredMode==MODE_INTER){ | ||
if(entropy_coding_mode_flag) | ||
inter_partitioning_idc | 2 | ue(v)|ae(v) |
for(i=0;i<NumPuParts(inter_partitioning_idc);i++){ | ||
if(NumMergeCandidates>0){ | ||
merge_flag[i] | 2 | ue(1)|ae(v) |
if(merge_flag[i]&&NumMergeCandidates>1) | ||
merge_left_flag[i] | 2 | ue(1)|ae(v) |
} | ||
combo_interpolation_flag[i] | 2 | ue(1)|ae(v) |
if(!merge_flag[i]){ | ||
if(slice_type==B ) |
另一实施例中,设置插值标识,可以包括:
按如下方法设置用于指示选择执行的插值滤波处理的标志位:
确定当前帧中当前预测单元是否位于当前图像左方和上方的边界处;
若是,则在当前帧中当前预测单元设置标志位;
若否,则在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值不同时,在当前帧中当前预测单元设置标志位;在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值相同时,不在当前帧中当前预测单元设置标志位,而将该相同取值作为当前帧中当前预测单元的标志位取值。
其中,当标志位取值为1时,指示选择执行第一插值滤波处理;当标志位取值为0时,指示选择执行第二插值滤波处理。
仍假设将该标志位记为combo_interpolation_flag,下表给出一个通过判断后,当当前PU需要设置标志位时具体设置combo_interpolation_flag取值的具体实例:
else if(PredMode==MODE_INTER){ | ||
if(entropy_coding_mode_flag) | ||
inter_partitioning_idc | 2 | ue(v)|ae(v) |
for(i=0;i<NumPuParts(inter_partitioning_idc);i++){ | ||
if(NumMergeCandidates>0){ | ||
merge_flag[i] | 2 | ue(1)|ae(v) |
if(mere_flag[i]&&NumMergeCandidates>1) | ||
merge_left_flag[i] | 2 | ue(1)|ae(v) |
} | ||
if(partitionOnBoundary||!derivation) | ||
combo_interpolation_flag[i] | 2 | ue(1)|ae(v) |
if(!merge_flag[i]){ | ||
if(slice_type==B) |
以将插值标识设置于PU中为例,位于图像左方和上方边界处的PU,例如图3中的PU A、B and C。这种情况下,combo_interpolation_flag是在语法中被编码表示的,也就是说,在当前帧中当前PU设置有combo_interpolation_flag。当PU不在图像左方和上方边界处,例如图3中的PU E,combo_interpolation_flag语法是否被编码取决于其相邻PU的combo_interpolation_flag取值,具体分为下列两种情况。
当相邻三个PU的combo_interpolation_flag是相同取值时,当前PU的combo_interpolation_flag不在语法元素中编码,即不在当前帧中当前预测单元设置combo_interpolation_flag,而是可以由相邻PU的combo_interpolation_flag推算出来,其取值就是相邻PU的combo_interpolation_flag取值。
当相邻三个PU的combo_interpolation_flag取值不同时,当前PU的combo_interpolation_flag在语法元素中编码,即还需在当前帧中当前PU设置combo_interpolation_flag。
另一实施例中,设置插值标识,可以包括:
在条带头中设置第一标志位,所述第一标志位用于指示当前条带包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前条带包含的PU或CU选择执行的插值滤波处理;
或,在图像参数集中设置第一标志位,所述第一标志位用于指示当前图像包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前图像包含的PU或CU选择执行的插值滤波处理;
或,在序列参数集中设置第一标志位,所述第一标志位用于指示当序列包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前序列包含的PU或CU选择执行的插值滤波处理。
其中,当第二标志位取值为1时,可以指示选择执行第一插值滤波处理;当第二标志位取值为0时,可以指示选择执行第二插值滤波处理。
实施时,可以用CABAC(Context-Adaptive Binary Arithmetic Coding,适应性二元算术编码)方式,对插值标识进行编码,从而节省由于编码预测方式而带来的比特开销(overhead)。实施中也可以用VLC(Variable Length Coding,变长编码)等其它方式,对插值标识进行编码。
如图4所示,本发明实施例中,视频解码帧间图像预测方法的处理流程可以包括:
步骤401、解码获得当前帧中当前解码单元的运动矢量和插值标识;
步骤402、根据插值标识,选择执行第一插值滤波处理或第二插值滤波处理;
其中,第一插值滤波处理包括:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;
第二插值滤波处理包括:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像均来自参考帧;
步骤403、进行运动补偿,得到残差图像。
由图4所示流程可以得知,本发明实施例中,解码获得当前帧中当前解码单元的运动矢量和插值标识;根据插值标识,可以确定编码端采用的编码方式,以便选择对应的方式进行解码,如:按如下方法执行第一插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;或,按如下方法执行第二插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像均来自参考帧;进行运动补偿,得到残差图像;在选择执行第一插值滤波处理时,同时利用了参考帧和当前帧的信息进行帧间图像预测,还通过利用当前帧中当前预测单元的空间相邻像素信息从运动估计阶段对帧间图像预测进行改进,能够提高视频解码效率,降低提供相同视频质量所需要的比特率,还可以减少非零预测残差信号,有利于减少方块效应。
如前所述,插值标识可包含于PU、CU、条带头、图像参数集、或序列参数集中。
一个实施例中,解码获得所述插值标识,可以包括:
从条带头中获得第一标志位,所述第一标志位用于指示当前条带包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前条带包含的PU或CU选择执行的插值滤波处理;若所述第一标志位指示当前条带包含的PU或CU中设有第二标志位,则从当前条带包含的PU或CU中获得第二标志位;
或,从图像参数集中获得第一标志位,所述第一标志位用于指示当前图像包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前图像包含的PU或CU选择执行的插值滤波处理;若所述第一标志位指示当前图像包含的PU或CU中设有第二标志位,则从当前图像包含的PU或CU中获得第二标志位;
或,从序列参数集中获得第一标志位,所述第一标志位用于指示当前序列包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前序列包含的PU或CU选择执行的插值滤波处理;若所述第一标志位指示当前序列包含的PU或CU中设有第二标志位,则从当前序列包含的PU或CU中获得第二标志位。
其中,所述第二标志位取值为1时,可选择执行第一插值滤波处理;所述第二标志位取值为0时,可选择执行第二插值滤波处理。
另一实施例中,解码获得所述插值标识,可以包括:
解码获得标志位,所述标志位用于指示选择执行的插值滤波处理。
又一实施例中,解码获得所述插值标识,可以包括:
按如下方法解码获得用于指示选择执行的插值滤波处理的标志位:
确定当前帧中当前预测单元是否位于当前图像左方和上方的边界处;
若是,则从当前帧中当前预测单元解码获得标志位;
若否,则在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值不同时,从当前帧中当前预测单元解码获得标志位;在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值相同时,不从当前帧中当前预测单元解码获得标志位,而将该相同取值作为当前帧中当前预测单元的标志位取值。
具体实施时,上述标志位取值为1时,可选择执行第一插值滤波处理;上述标志位取值为0时,可选择执行第二插值滤波处理。
上述插值标识可以CABAC方式进行编码;也可以VLC方式进行编码。
下面举具体实例详细说明本发明实施例中利用参考帧和当前帧中已经编码的可解码像素信息进行预测图像插值的第一插值滤波处理对应的视频编/解码帧间图像预测方法,该方法打破了传统的视频编/解码帧间图像预测方案中所有插值信息均来自参考帧的限制。
图5简单示出了传统视频编/解码帧间图像预测的方法(包含第二插值滤波处理)。传统方法用编解码顺序中位于当前编/解码帧之前的图像帧作为参考帧,通过对参考帧进行插值滤波提供对当前帧的预测编/解码信息;图5中用于生成预测图像的参考图像均来自参考帧,即第k-1帧。
图6示例性说明了本发明实施例同时利用参考帧和当前帧进行帧间图像预测的视频编/解码帧间图像预测方法(包含第一插值滤波处理)。与图5对比可以看出,本发明实施例同时利用参考帧和当前帧进行帧间图像预测的方法与传统的视频编/解码帧间图像预测方法相比,不仅应用了参考帧的图像数据信息,还应用了当前帧的图像数据信息。在图6中,第k帧斜线部分标出了当前帧(第k帧)中用于计算预测图像的像素位置;图6中用于生成预测图像的参考图像来自参考帧(第k-1帧)和当前帧(第k帧)。
在近两年国际视频压缩编解码标准提案中,帧间图像编码预测信息改进的算法中,有利用当前帧当前编/解码块空间相邻信息对帧间图像预测信息进行二阶预测的算法。但是,所有这些都是对帧间预测信息的改动,而不涉及到对运动矢量的最优化选择。
本发明实施例在编码端可利用当前帧中当前预测单元的空间相邻像素信息对预测信息从运动估计(Motion Estimation)阶段进行改进。首先在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量,再执行第一插值滤波处理、非整像素位置运动估计及运动补偿。其中,编码端和解码端的第一插值滤波算法可以如图7所示,按如下公式执行第一插值滤波处理:
以亮度为例,其中K是滤波器水平方向的阶数,L是滤波器垂直方向的阶数;γm,n是参与滤波的整像素位置像素亮度值,pi,j是插值滤波处理得到的预测像素的亮度值,αm,n是滤波系数,(i,j)是所述预测像素在当前预测单元中的位置,(m,n)是所述参与滤波的整像素的位置;
若以色度为例,则上述公式中,K是滤波器水平方向的阶数,L是滤波器垂直方向的阶数;γi,j是参与滤波的整像素位置像素色度值,pi,j是插值滤波处理得到的预测像素的色度值,αm,n是滤波系数,(i,j)是所述预测像素在当前预测单元中的位置,(m,n)是所述参与滤波的整像素的位置;当或者时,γm,n是所述当前编码帧中当前预测单元空间相邻像素色度值,否则,γm,n是参考帧中参与滤波的整像素位置像素色度值。
本发明实施例提出的利用参考帧和当前帧的信息进行视频编/解码帧间图像预测的方法包含了所有以本发明实施例方式生成预测图像的方法,涵盖了各种生成αm,n滤波系数的方法。
由上述实施例可知,本发明实施例在进行视频编/解码帧间图像预测时可应用当前帧中当前预测单元的空间相邻像素信息进行图像插值,从而使预测图像与当前图像更为相似,从而提供有效的帧间图像预测信息,使视频压缩编解码效率大幅提升。
基于同一发明构思,本发明实施例中还提供了一种视频编码器和视频解码器,如下面的实施例所述。由于该视频编码器/视频解码器解决问题的原理与视频编/解码帧间图像预测方法相似,因此该视频编码器/视频解码器的实施可以参见视频编/解码帧间图像预测方法的实施,重复之处不再赘述。
如图8所示,本发明实施例中,视频编码器可以包括:
运动估计模块801,用于在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量;
第一预测误差获得模块802,用于执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差,包括:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
第二预测误差获得模块803,用于执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差,包括:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像均来自参考帧;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
选择执行模块804,用于确定第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差,选择执行确定的预测误差对应的插值滤波处理;
标识设置模块805,用于设置插值标识,以插值标识指示选择执行的插值滤波处理。
一个实施例中,标识设置模块805可具体用于:在PU、CU、条带头、图像参数集、或序列参数集中,设置插值标识。
一个实施例中,标识设置模块805可具体用于:在条带头中设置第一标志位,所述第一标志位用于指示当前条带包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前条带包含的PU或CU选择执行的插值滤波处理;
或,在图像参数集中设置第一标志位,所述第一标志位用于指示当前图像包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前图像包含的PU或CU选择执行的插值滤波处理;
或,在序列参数集中设置第一标志位,所述第一标志位用于指示当序列包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前序列包含的PU或CU选择执行的插值滤波处理。
一个实施例中,所述第二标志位取值为1时,指示选择执行第一插值滤波处理;所述第二标志位取值为0时,指示选择执行第二插值滤波处理。
一个实施例中,标识设置模块805可具体用于:设置标志位,所述标志位用于指示选择执行的插值滤波处理。
一个实施例中,标识设置模块805可具体用于:
设置用于指示选择执行的插值滤波处理的标志位,包括:
确定当前帧中当前预测单元是否位于当前图像左方和上方的边界处;
若是,则在当前帧中当前预测单元设置标志位;
若否,则在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值不同时,在当前帧中当前预测单元设置标志位;在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值相同时,不在当前帧中当前预测单元设置标志位,而将该相同取值作为当前帧中当前预测单元的标志位取值。
一个实施例中,所述标志位取值为1时,指示选择执行第一插值滤波处理;所述标志位取值为0时,指示选择执行第二插值滤波处理。
一个实施例中,第一预测误差获得模块802具体可以用于:
按如下公式执行第一插值滤波处理:
以亮度为例,其中K是滤波器水平方向的阶数,L是滤波器垂直方向的阶数;γm,n是参与滤波的整像素位置像素亮度值,pi,j是插值滤波处理得到的预测像素的亮度值,αm,n是滤波系数,(i,j)是所述预测像素在当前预测单元中的位置,(m,n)是所述参与滤波的整像素的位置;
若以色度为例,则上述公式中,K是滤波器水平方向的阶数,L是滤波器垂直方向的阶数;γi,j是参与滤波的整像素位置像素色度值,pi,j是插值滤波处理得到的预测像素的色度值,αm,n是滤波系数,(i,j)是所述预测像素在当前预测单元中的位置,(m,n)是所述参与滤波的整像素的位置;
如图9所示,本发明实施例中,视频解码器可以包括:
运动矢量获得模块901,用于解码获得当前帧中当前解码单元的运动矢量;
插值标识获得模块902,用于解码获得当前帧中当前解码单元的插值标识;
插值滤波选择执行模块903,用于根据插值标识,选择:
执行第一插值滤波处理,包括:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;
或,执行第二插值滤波处理,包括:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像均来自参考帧;
运动补偿模块904,用于进行运动补偿,得到残差图像。
一个实施例中,所述插值标识可包含于PU、CU、条带头、图像参数集、或序列参数集中。
一个实施例中,插值标识获得模块902可以具体用于:
从条带头中获得第一标志位,所述第一标志位用于指示当前条带包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前条带包含的PU或CU选择执行的插值滤波处理;在所述第一标志位指示当前条带包含的PU或CU中设有第二标志位时,从当前条带包含的PU或CU中获得第二标志位;
或,从图像参数集中获得第一标志位,所述第一标志位用于指示当前图像包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前图像包含的PU或CU选择执行的插值滤波处理;在所述第一标志位指示当前图像包含的PU或CU中设有第二标志位时,从当前图像包含的PU或CU中获得第二标志位;
或,从序列参数集中获得第一标志位,所述第一标志位用于指示当前序列包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前序列包含的PU或CU选择执行的插值滤波处理;在所述第一标志位指示当前序列包含的PU或CU中设有第二标志位时,从当前序列包含的PU或CU中获得第二标志位。
一个实施例中,插值滤波选择执行模块903可具体用于:
在所述第二标志位取值为1时,选择执行第一插值滤波处理;
在所述第二标志位取值为0时,选择执行第二插值滤波处理。
一个实施例中,插值标识获得模块902可具体用于:
解码获得标志位,所述标志位用于指示选择执行的插值滤波处理。
一个实施例中,插值标识获得模块902可具体用于:
解码获得用于指示选择执行的插值滤波处理的标志位,包括:
确定当前帧中当前预测单元是否位于当前图像左方和上方的边界处;
若是,则从当前帧中当前预测单元解码获得标志位;
若否,则在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值不同时,从当前帧中当前预测单元解码获得标志位;在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值相同时,不从当前帧中当前预测单元解码获得标志位,而将该相同取值作为当前帧中当前预测单元的标志位取值。
一个实施例中,插值滤波选择执行模块903可具体用于:
在所述标志位取值为1时,选择执行第一插值滤波处理;
在所述标志位取值为0时,选择执行第二插值滤波处理。
一个实施例中,插值滤波选择执行模块903可以具体用于:
按如下公式执行第一插值滤波处理:
以亮度为例,其中K是滤波器水平方向的阶数,L是滤波器垂直方向的阶数;γm,n是参与滤波的整像素位置像素亮度值,pi,j是插值滤波处理得到的预测像素的亮度值,αm,n是滤波系数,(i,j)是所述预测像素在当前预测单元中的位置,(m,n)是所述参与滤波的整像素的位置;
若以色度为例,则上述公式中,K是滤波器水平方向的阶数,L是滤波器垂直方向的阶数;γi,j是参与滤波的整像素位置像素色度值,pi,j是插值滤波处理得到的预测像素的色度值,αm,n是滤波系数,(i,j)是所述预测像素在当前预测单元中的位置,(m,n)是所述参与滤波的整像素的位置;
当或者时,γm,n是所述当前解码帧中当前预测单元空间相邻像素色度值,否则,γm,n是参考帧中参与滤波的整像素位置像素色度值。
综上所述,本发明实施例中,在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量后;分别执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差,执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差;其中第一插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元,第二插值滤波处理的参考图像均来自参考帧;确定第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差,选择执行确定的预测误差对应的插值滤波处理;在选择执行第一插值滤波处理时,同时利用了参考帧和当前帧的信息进行帧间图像预测,还通过利用当前帧中当前预测单元的空间相邻像素信息从运动估计阶段对帧间图像预测进行改进,另外引入最小率失真代价或最小失真代价对应的预测误差的判断,还最大程度地保证了视频编码效率不受损耗;有利于提高视频编码效率,降低提供相同视频质量所需要的比特率,还可以减少非零预测残差信号,有利于减少方块效应;设置插值标识,以插值标识指示选择执行的插值滤波处理,可以使解码端知晓编码端采用的编码方式,以便采用对应的方式进行解码。
本发明实施例中,解码获得当前帧中当前解码单元的运动矢量和插值标识;根据插值标识,可以确定编码端采用的编码方式,以便选择对应的方式进行解码,如:按如下方法执行第一插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;或,按如下方法执行第二插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像均来自参考帧;进行运动补偿,得到残差图像;在选择执行第一插值滤波处理时,同时利用了参考帧和当前帧的信息进行帧间图像预测,还通过利用当前帧中当前预测单元的空间相邻像素信息从运动估计阶段对帧间图像预测进行改进,能够提高视频解码效率,降低提供相同视频质量所需要的比特率,还可以减少非零预测残差信号,有利于减少方块效应。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (36)
1.一种视频编码帧间图像预测方法,其特征在于,该方法包括:
在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量;
按如下方法执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
按如下方法执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像均来自参考帧;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
确定第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差,选择执行确定的预测误差对应的插值滤波处理;
以及,设置插值标识,以插值标识指示选择执行的插值滤波处理。
2.如权利要求1所述的方法,其特征在于,所述设置插值标识,包括:
在预测单元PU、编码单元CU、条带头、图像参数集、或序列参数集中,设置插值标识。
3.如权利要求2所述的方法,其特征在于,所述设置插值标识,包括:
在条带头中设置第一标志位,所述第一标志位用于指示当前条带包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前条带包含的PU或CU选择执行的插值滤波处理;
或,在图像参数集中设置第一标志位,所述第一标志位用于指示当前图像包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前图像包含的PU或CU选择执行的插值滤波处理;
或,在序列参数集中设置第一标志位,所述第一标志位用于指示当序列包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前序列包含的PU或CU选择执行的插值滤波处理。
4.如权利要求3所述的方法,其特征在于:
所述第二标志位取值为1时,指示选择执行第一插值滤波处理;
所述第二标志位取值为0时,指示选择执行第二插值滤波处理。
5.如权利要求2所述的方法,其特征在于,所述设置插值标识,包括:
设置标志位,所述标志位用于指示选择执行的插值滤波处理。
6.如权利要求2所述的方法,其特征在于,所述设置插值标识,包括:
按如下方法设置用于指示选择执行的插值滤波处理的标志位:
确定当前帧中当前预测单元是否位于当前图像左方和上方的边界处;
若是,则在当前帧中当前预测单元设置标志位;
若否,则在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值不同时,在当前帧中当前预测单元设置标志位;在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值相同时,不在当前帧中当前预测单元设置标志位,而将该相同取值作为当前帧中当前预测单元的标志位取值。
7.如权利要求5或6所述的方法,其特征在于:
所述标志位取值为1时,指示选择执行第一插值滤波处理;
所述标志位取值为0时,指示选择执行第二插值滤波处理。
10.一种视频解码帧间图像预测方法,其特征在于,该方法包括:
解码获得当前帧中当前解码单元的运动矢量和插值标识;
根据插值标识,选择:
按如下方法执行第一插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;
或,按如下方法执行第二插值滤波处理:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像均来自参考帧;
进行运动补偿,得到残差图像。
11.如权利要求10所述的方法,其特征在于,所述插值标识包含于PU、CU、条带头、图像参数集、或序列参数集中。
12.如权利要求11所述的方法,其特征在于,解码获得所述插值标识,包括:
从条带头中获得第一标志位,所述第一标志位用于指示当前条带包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前条带包含的PU或CU选择执行的插值滤波处理;若所述第一标志位指示当前条带包含的PU或CU中设有第二标志位,则从当前条带包含的PU或CU中获得第二标志位;
或,从图像参数集中获得第一标志位,所述第一标志位用于指示当前图像包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前图像包含的PU或CU选择执行的插值滤波处理;若所述第一标志位指示当前图像包含的PU或CU中设有第二标志位,则从当前图像包含的PU或CU中获得第二标志位;
或,从序列参数集中获得第一标志位,所述第一标志位用于指示当前序列包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前序列包含的PU或CU选择执行的插值滤波处理;若所述第一标志位指示当前序列包含的PU或CU中设有第二标志位,则从当前序列包含的PU或CU中获得第二标志位。
13.如权利要求12所述的方法,其特征在于:
所述第二标志位取值为1时,选择执行第一插值滤波处理;
所述第二标志位取值为0时,选择执行第二插值滤波处理。
14.如权利要求11所述的方法,其特征在于,解码获得所述插值标识,包括:
解码获得标志位,所述标志位用于指示选择执行的插值滤波处理。
15.如权利要求11所述的方法,其特征在于,解码获得所述插值标识,包括:
按如下方法解码获得用于指示选择执行的插值滤波处理的标志位:
确定当前帧中当前预测单元是否位于当前图像左方和上方的边界处;
若是,则从当前帧中当前预测单元解码获得标志位;
若否,则在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值不同时,从当前帧中当前预测单元解码获得标志位;在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值相同时,不从当前帧中当前预测单元解码获得标志位,而将该相同取值作为当前帧中当前预测单元的标志位取值。
16.如权利要求14或15所述的方法,其特征在于:
所述标志位取值为1时,选择执行第一插值滤波处理;
所述标志位取值为0时,选择执行第二插值滤波处理。
19.一种视频编码器,其特征在于,包括:
运动估计模块,用于在参考帧的整像素位置进行运动估计,确定当前帧中当前预测单元的整像素位置的最优运动矢量;
第一预测误差获得模块,用于执行第一插值滤波处理、非整像素位置运动估计及运动补偿,获得第一预测误差,包括:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
第二预测误差获得模块,用于执行第二插值滤波处理、非整像素位置运动估计及运动补偿,获得第二预测误差,包括:执行插值滤波处理,得到非整像素位置像素值,该插值滤波处理的参考图像均来自参考帧;利用得到的非整像素位置像素值,在所述整像素位置的最优运动矢量所指向的参考帧搜索窗内进行非整像素位置的运动估计,得到非整像素位置的最优运动矢量;在所述整像素位置的最优运动矢量和所述非整像素位置的最优运动矢量中选择最优运动矢量,对选择的最优运动矢量进行运动补偿;
选择执行模块,用于确定第一预测误差与第二预测误差中最小率失真代价或最小失真代价对应的预测误差,选择执行确定的预测误差对应的插值滤波处理;
标识设置模块,用于设置插值标识,以插值标识指示选择执行的插值滤波处理。
20.如权利要求19所述的视频编码器,其特征在于,所述标识设置模块具体用于:在PU、CU、条带头、图像参数集、或序列参数集中,设置插值标识。
21.如权利要求20所述的视频编码器,其特征在于,所述标识设置模块具体用于:
在条带头中设置第一标志位,所述第一标志位用于指示当前条带包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前条带包含的PU或CU选择执行的插值滤波处理;
或,在图像参数集中设置第一标志位,所述第一标志位用于指示当前图像包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前图像包含的PU或CU选择执行的插值滤波处理;
或,在序列参数集中设置第一标志位,所述第一标志位用于指示当序列包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前序列包含的PU或CU选择执行的插值滤波处理。
22.如权利要求21所述的视频编码器,其特征在于:
所述第二标志位取值为1时,指示选择执行第一插值滤波处理;
所述第二标志位取值为0时,指示选择执行第二插值滤波处理。
23.如权利要求20所述的视频编码器,其特征在于,所述标识设置模块具体用于:
设置标志位,所述标志位用于指示选择执行的插值滤波处理。
24.如权利要求20所述的视频编码器,其特征在于,所述标识设置模块具体用于:
设置用于指示选择执行的插值滤波处理的标志位,包括:
确定当前帧中当前预测单元是否位于当前图像左方和上方的边界处;
若是,则在当前帧中当前预测单元设置标志位;
若否,则在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值不同时,在当前帧中当前预测单元设置标志位;在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值相同时,不在当前帧中当前预测单元设置标志位,而将该相同取值作为当前帧中当前预测单元的标志位取值。
25.如权利要求23或者24所述的视频编码器,其特征在于:
所述标志位取值为1时,指示选择执行第一插值滤波处理;
所述标志位取值为0时,指示选择执行第二插值滤波处理。
28.一种视频解码器,其特征在于,包括:
运动矢量获得模块,用于解码获得当前帧中当前解码单元的运动矢量;
插值标识获得模块,用于解码获得当前帧中当前解码单元的插值标识;
插值滤波选择执行模块,用于根据插值标识,选择:
执行第一插值滤波处理,包括:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像来自参考帧及当前帧中当前预测单元相邻左方和上方的预测单元;
或,执行第二插值滤波处理,包括:执行插值滤波处理,得到预测图像,该插值滤波处理的参考图像均来自参考帧;
运动补偿模块,用于进行运动补偿,得到残差图像。
29.如权利要求28所述的视频解码器,其特征在于,所述插值标识包含于PU、CU、条带头、图像参数集、或序列参数集中。
30.如权利要求29所述的视频解码器,其特征在于,所述插值标识获得模块具体用于:
从条带头中获得第一标志位,所述第一标志位用于指示当前条带包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前条带包含的PU或CU选择执行的插值滤波处理;在所述第一标志位指示当前条带包含的PU或CU中设有第二标志位时,从当前条带包含的PU或CU中获得第二标志位;
或,从图像参数集中获得第一标志位,所述第一标志位用于指示当前图像包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前图像包含的PU或CU选择执行的插值滤波处理;在所述第一标志位指示当前图像包含的PU或CU中设有第二标志位时,从当前图像包含的PU或CU中获得第二标志位;
或,从序列参数集中获得第一标志位,所述第一标志位用于指示当前序列包含的PU或CU中是否设有第二标志位,所述第二标志位用于指示当前序列包含的PU或CU选择执行的插值滤波处理;在所述第一标志位指示当前序列包含的PU或CU中设有第二标志位时,从当前序列包含的PU或CU中获得第二标志位。
31.如权利要求30所述的视频解码器,其特征在于,所述插值滤波选择执行模块具体用于:
在所述第二标志位取值为1时,选择执行第一插值滤波处理;
在所述第二标志位取值为0时,选择执行第二插值滤波处理。
32.如权利要求29所述的视频解码器,其特征在于,所述插值标识获得模块具体用于:
解码获得标志位,所述标志位用于指示选择执行的插值滤波处理。
33.如权利要求29所述的视频解码器,其特征在于,所述插值标识获得模块具体用于:
解码获得用于指示选择执行的插值滤波处理的标志位,包括:
确定当前帧中当前预测单元是否位于当前图像左方和上方的边界处;
若是,则从当前帧中当前预测单元解码获得标志位;
若否,则在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值不同时,从当前帧中当前预测单元解码获得标志位;在当前帧中当前预测单元相邻左方和上方的预测单元的标志位取值相同时,不从当前帧中当前预测单元解码获得标志位,而将该相同取值作为当前帧中当前预测单元的标志位取值。
34.如权利要求32或33所述的视频解码器,其特征在于,所述插值滤波选择执行模块具体用于:
在所述标志位取值为1时,选择执行第一插值滤波处理;
在所述标志位取值为0时,选择执行第二插值滤波处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110036998.7A CN102638678B (zh) | 2011-02-12 | 视频编解码帧间图像预测方法及视频编解码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110036998.7A CN102638678B (zh) | 2011-02-12 | 视频编解码帧间图像预测方法及视频编解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102638678A true CN102638678A (zh) | 2012-08-15 |
CN102638678B CN102638678B (zh) | 2016-12-14 |
Family
ID=
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296593A (zh) * | 2015-05-29 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 图像恢复方法和装置 |
CN110636290A (zh) * | 2019-08-30 | 2019-12-31 | 北京大学 | 视频图像的运动矢量编解码方法以及编/解码器 |
WO2020069655A1 (zh) * | 2018-10-06 | 2020-04-09 | 华为技术有限公司 | 插值滤波器的训练方法、装置及视频图像编解码方法、编解码器 |
CN111201791A (zh) * | 2017-11-07 | 2020-05-26 | 华为技术有限公司 | 用于视频编码的帧间预测装置和方法的插值滤波器 |
CN111726630A (zh) * | 2019-03-18 | 2020-09-29 | 华为技术有限公司 | 基于三角预测单元模式的处理方法及装置 |
WO2020211870A1 (en) * | 2019-04-19 | 2020-10-22 | Huawei Technologies Co., Ltd. | Method and apparatus for deriving interpolation filter index for current block |
CN112135127A (zh) * | 2019-11-05 | 2020-12-25 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN112422976A (zh) * | 2019-08-23 | 2021-02-26 | 北京大学 | 一种视频编码标准中的亮度分量运动补偿方法及视频编码方法 |
CN114640848A (zh) * | 2021-04-13 | 2022-06-17 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN114762348A (zh) * | 2019-12-03 | 2022-07-15 | 夏普株式会社 | 运动图像解码装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080107180A1 (en) * | 2006-11-03 | 2008-05-08 | Samsung Electronics Co., Ltd. | Method and apparatus for video predictive encoding and method and apparatus for video predictive decoding |
US20080187044A1 (en) * | 2007-02-05 | 2008-08-07 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding based on inter prediction |
CN101641960A (zh) * | 2007-01-22 | 2010-02-03 | 三星电子株式会社 | 使用自适应内插滤波器对图像编码与解码的方法和设备 |
CN101816183A (zh) * | 2007-10-04 | 2010-08-25 | 三星电子株式会社 | 使用子像素运动估计对图像进行帧间预测编码/解码的方法和设备 |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080107180A1 (en) * | 2006-11-03 | 2008-05-08 | Samsung Electronics Co., Ltd. | Method and apparatus for video predictive encoding and method and apparatus for video predictive decoding |
CN101641960A (zh) * | 2007-01-22 | 2010-02-03 | 三星电子株式会社 | 使用自适应内插滤波器对图像编码与解码的方法和设备 |
US20080187044A1 (en) * | 2007-02-05 | 2008-08-07 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding based on inter prediction |
CN101816183A (zh) * | 2007-10-04 | 2010-08-25 | 三星电子株式会社 | 使用子像素运动估计对图像进行帧间预测编码/解码的方法和设备 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296593A (zh) * | 2015-05-29 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 图像恢复方法和装置 |
US11297324B2 (en) | 2017-11-07 | 2022-04-05 | Huawei Technologies Co., Ltd. | Interpolation filter for an inter prediction apparatus and method for video coding |
US11375199B2 (en) | 2017-11-07 | 2022-06-28 | Huawei Technologies Co., Ltd. | Interpolation filter for an inter prediction apparatus and method for video coding |
CN111201791A (zh) * | 2017-11-07 | 2020-05-26 | 华为技术有限公司 | 用于视频编码的帧间预测装置和方法的插值滤波器 |
CN111201791B (zh) * | 2017-11-07 | 2022-05-24 | 华为技术有限公司 | 用于视频编码的帧间预测装置和方法的插值滤波器 |
WO2020069655A1 (zh) * | 2018-10-06 | 2020-04-09 | 华为技术有限公司 | 插值滤波器的训练方法、装置及视频图像编解码方法、编解码器 |
CN111726630A (zh) * | 2019-03-18 | 2020-09-29 | 华为技术有限公司 | 基于三角预测单元模式的处理方法及装置 |
CN111726630B (zh) * | 2019-03-18 | 2024-03-15 | 华为技术有限公司 | 基于三角预测单元模式的处理方法及装置 |
WO2020211870A1 (en) * | 2019-04-19 | 2020-10-22 | Huawei Technologies Co., Ltd. | Method and apparatus for deriving interpolation filter index for current block |
US11924407B2 (en) | 2019-04-19 | 2024-03-05 | Huawei Technologies Co., Ltd. | Method and apparatus for deriving an interpolation filter index for a current block |
CN112422976A (zh) * | 2019-08-23 | 2021-02-26 | 北京大学 | 一种视频编码标准中的亮度分量运动补偿方法及视频编码方法 |
CN112422976B (zh) * | 2019-08-23 | 2024-04-16 | 北京大学 | 一种视频编码标准中的亮度分量运动补偿方法及视频编码方法 |
CN110636290B (zh) * | 2019-08-30 | 2021-12-03 | 北京大学 | 视频图像的运动矢量编解码方法以及编/解码器 |
CN110636290A (zh) * | 2019-08-30 | 2019-12-31 | 北京大学 | 视频图像的运动矢量编解码方法以及编/解码器 |
CN112135127A (zh) * | 2019-11-05 | 2020-12-25 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN114762348A (zh) * | 2019-12-03 | 2022-07-15 | 夏普株式会社 | 运动图像解码装置 |
CN114640848A (zh) * | 2021-04-13 | 2022-06-17 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102387360A (zh) | 视频编解码帧间图像预测方法及视频编解码器 | |
US9942566B2 (en) | Method and apparatus for intra mode coding | |
CN105611304B (zh) | 处理视频数据的方法和装置 | |
CN103220508B (zh) | 编解码方法和装置 | |
CN103067716B (zh) | 深度图像的编解码方法和编解码装置 | |
CN106464870B (zh) | 用于对帧内画面进行编码和解码的基于模板匹配的方法和装置 | |
US20160044329A1 (en) | Image Predictive Coding Method and Image Encoder | |
CN111133759B (zh) | 编码或解码视频数据的方法和装置 | |
US20140119439A1 (en) | Method and apparatus of intra mode coding | |
CN106878752B (zh) | 一种视频编码模式的编解码方法和装置 | |
CN108540811A (zh) | 使用亮度采样的色度块的内部预测方法以及使用其的装置 | |
CN104243982A (zh) | 一种视频编解码处理方法及装置 | |
KR20150034696A (ko) | 현재 블록의 분할을 예측하여 비디오를 코딩하는 방법, 디코딩 방법 및 이에 상응하는 코딩 및 디코딩 장치 및 컴퓨터 프로그램 | |
EP3562158A1 (en) | Method and apparatus for combined intra prediction modes | |
US20200396444A1 (en) | Method and Apparatus for Intra Prediction Fusion in Image and Video Coding | |
CN103974063A (zh) | 一种深度模型的编解码方法及视频编解码器 | |
CN108353175A (zh) | 使用系数引起的预测处理视频信号的方法和装置 | |
CN102377992B (zh) | 运动矢量的预测值的获取方法和装置 | |
CN103609114B (zh) | 编码装置、解码装置、编解码系统、编码方法以及解码方法 | |
CN103096060A (zh) | 帧内图像预测编解码的自适应环路滤波方法及装置 | |
CN105992000B (zh) | 影像流的处理方法及其影像处理装置 | |
CN102843554A (zh) | 帧间图像预测编解码方法及视频编解码器 | |
CN104104947A (zh) | 一种视频编码方法和装置 | |
CN102638678A (zh) | 视频编解码帧间图像预测方法及视频编解码器 | |
CN103248885A (zh) | 帧内图像预测编解码方法及视频编解码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161214 Termination date: 20220212 |
|
CF01 | Termination of patent right due to non-payment of annual fee |