有变换单元尺寸选择、模式信息单元尺寸选择、图像宽度/高度决定的视频处理装置及方法与流程

文档序号:11162270阅读:331来源:国知局
有变换单元尺寸选择、模式信息单元尺寸选择、图像宽度/高度决定的视频处理装置及方法与制造工艺

本申请请求2014年5月28日提交的申请号为62/003,612的美国临时专利申请的优先权。相关的专利申请的全文被本申请引用。

技术领域

本发明与视频处理(例如视频编码)相关,更具体来说,本发明是关于一种具有变换单元尺寸选择、模式信息单元尺寸选择以及/或者图像宽度/长度决定的视频处理装置以及相关的视频处理方法。



背景技术:

传统的视频编码标准通常采用一种基于区块的编码技术来利用空间以及时间冗余。举例来说,基本的途径是分割整个源图像为多个区块、在每一个区块执行帧内/帧间预测、每一区块的变换残余、以及执行量化以及熵编码。此外,一个重构的图像是在编码循环中产生,来提供编码后续区块所需使用的参考像素数据。对于某些视频编码标准,可使用环内滤波来提供重构图像的图像质量。

在视频编码器中帧内预测单元以及帧间预测单元是用来产生预测的像素/样本,该预测的像素/样本是在产生重构图像(作为参考图像)时需要的。对于某些视频编码标准,一个当前正在编码的区块(例如当前转换单元)的帧内预测需要先前重构区块的重构像素。如果当前区块跨越了一个图像边界,在该图像边界需要相邻像素填充(pixel padding)来创造超出该图像边界的位于当前区块其上或者其左的填充像素。

因此,需要一种创新的视频编码器设计,其能够避免在执行帧内预测之前,填充位于图像边界的当前区块其上或者其左的相邻像素。



技术实现要素:

本发明的目的之一是提供一种具有变换单元尺寸选择、模式信息单元尺寸选择以及/或者图像宽度/高度决定的视频处理装置,以及相关的视频处理方法。

依据本发明的一方面,提供一种视频处理装置,包含控制电路以及尺寸选择电路。控制电路用来决定图像边界信息。尺寸选择电路用来参考至少该图像边界信息来选择编码图像相关的区块的尺寸,其中该尺寸的选择是被该图像边界信息所限制,从而保证具有该选择的尺寸的该区块不会跨过该图像的图像边界。

依据本发明的另一方面,提供一种视频处理装置,包含图像宽度决定电路与图像高度决定电路。图像宽度决定电路参考显示宽度来决定待编码的图像的图像宽度。图像高度决定电路参考显示高度来决定该编码的该图像的图像高度。其中该图像宽度是通过扩展该显示宽度至一个最接近的并且是超级区块边长整数倍的值来设置的,或者该图像高度是通过扩展该显示高度至一个最接近的并且是该超级区块边长整数倍的值来设置的。

依据本发明的又一方面,提供一种视频处理方法,该方法包含:决定图像边界信息;以及利用尺寸选择电路来参考至少该图像边界信息,以选择与图像编码相关的区块的尺寸,其中该尺寸的选择是被该图像边界信息而限制,来保证具有选择的尺寸的该区块不会跨过该图像的图像边界。

依据本发明的再一方面,提供一种视频处理方法,该方法包含:利用图像宽度决定电路来参考显示宽度来决定待编码的图像的图像宽度;以及利用图像高度决定电路来参考显示高度来决定该编码的该图像的图像高度;其中该图像宽度是通过扩展该显示宽度至一个最接近的并且是超级区块边长整数倍的值来设置的,或者该图像高度是通过扩展该显示高度至一个最接近的并且是该超级区块边长整数倍的值来设置的。

在本领域的技术人员阅读了如下的本发明的细节说明与举例的附图之后,可了解本发明的其他目的。

附图说明

图1是依据本发明的第一实施例的视频处理装置的示意图。

图2是像素填充举例的示意图。

图3是依据本发明的一实施例的变换单元尺寸选择方法的流程图。

图4是将一个图像分割为64x64尺寸的区块(或称为超级区块)的举例说明。

图5是依据本发明的第二实施例的视频处理装置的示意图。

图6是依据本发明的一实施例的模式信息单元高度选择方法的流程图。

图7是依据本发明的一实施例的模式信息单元宽度选择方法的流程图。

图8是依据本发明的第三实施例的视频处理装置的示意图。

具体实施方式

整个说明书和权利要求书采用确定的术语来指代特定的部件。正如本领域的技术人员将理解的是,制造商可以使用不同的名称来指代某一部件。本文件无意于区分那些名称不同但功能相同的部件。在下面的说明书和权利要求书中,用开放式方式使用术语“包含”和“包括”,因此应当被解释为“包含,但是不限于……”。同样地,术语“耦合”既可以表示间接电气连接也可以表示直接电气连接。因此,如果一个设备与另一个设备耦合,其连接可以是通过直接电气连接或者是通过其他设备和连接件的间接电气连接。

图1是依据本发明第一实施例的一种视频处理装置的示意图。该视频处理装置100可以是一个电子装置的一部分,例如个人电脑(例如笔记本电脑或者桌上电脑)、移动电话、平板或者可穿戴设备的一部分。该视频处理装置100可包括视频编码器的至少一部分(即部分或者全部)来编码原始图像,来产生包含多个连续的编码的图像的一个视频序列。视频编码装置100的至少一部分可由集成电路(IC)实现。简单来说,任意的使用所提出的视频编码装置100的电子装置或者电子系统落入本发明的范围。

如图1所示,视频处理装置(例如部分视频编码器)100包含控制电路102、尺寸选择电路104、运动补偿电路106(表示为MC)、帧内预测电路108(表示为IP)以及一个模式选择电路110。模式选择电路110是用来决定当前区块的一个预测模式。举例来说,当当前区块的预测模式是决定为帧间预测时,从运动补偿电路106产生的预测的像素/采样是输出给后续的编码步骤,例如重建电路(未表示)。为了另举一例,当当前区块的预测模式是决定为帧内预测时,从帧内预测电路108产生的预测的像素/采样是输出给后续的编码步骤,例如重建电路(未表示)。

VP9编码标准是一个由开发的开放的并且免授权费用的视频编码标准。在这个实施例中,运动补偿电路106以及帧内预测电路108中的每一个都支持VP9编码。VP9将一个图像划分为64x64大小的区块,其称为超级区块SB64x64。该图像的超级区块SB64x64以光栅扫描的顺序处理:从左至右、从上至下。此外,VP9支持基于四叉树(quad-tree)的编码。因此,可使用递归分区(recursive partitioning)来划分每一个超级区块SB64x64为一个或者多个分区(例如更小尺寸的区块)来进行进一步的处理。举例来说,一个超级区块SB64x64可划分为一个或者多个编码单元(或称为模式信息单元(MI)),其中由VP9编码标准支持的子划分分区可包含方形分区,例如64x64大小的区块、32x32大小的区块、16x16大小的区块、8x8大小的区块以及更进一步包含非方形分区,例如64x32大小的区块、32x64大小的区块、32x16大小的区块、16x32大小的区块、…8x8大小的区块。因此,可能的编码单元(MI单元)的尺寸可包含64x64、32x32、16x16、8x8、64x32、32x64、32x16、16x32、…8x8。每一个编码单元(MI单元)可进一步分割为一个或者多个变换单元(TU),每一个的TU尺寸是从32x32、16x16、8x8以及4x4中选择。

在VP9中的帧内预测是在变换区块分区之后。换言之,帧内预测可在由所使用的TU尺寸的4个不同的规格上执行(即4x4、8x8、16x16以及32x32)。因此,帧内预测操作是应用至每一可能具有TU尺寸4x4、8x8、16x16以及32x32中的一个的方形变换区块。举例来说,一个16x8区块具有8x8变换,将导致两个8x8帧内预测。VP9使用一共10种不同的帧内预测操作,包含H_PRED(水平预测)、V_PRED(垂直预测)、DC_PRED(DC预测)、TM_PRED(真实运动预测)以及6角度预测模式。

与其他的编码标准相似,当前区块的VP9的帧内预测需要两个一维阵列,其包含属于相邻区块的左侧重建像素以及上侧重建像素。然而,依据VP9编码标准,在图像的边界对于帧内预测没有限制。因此,在图像边界,所有的TU尺寸4x4、8x8、16x16以及32x32都是允许的,其中由VP9定义的图像边界是等于显示边界扩展至是8的整数倍的最近的值。在一个典型的VP9编码器设计中,针对一个跨过图像边界的变换区块,在进行帧内预测之前,需要执行相邻像素填充。图2是像素填充的一个举例说明。变换区块206-209具有相同的4x4的TU尺寸。变换区块201、202以及210具有相同的8x8的TU尺寸。变换区块203以及205具有相同的16x16的TU尺寸。变换区块204具有32x32的TU尺寸。待编码的图像IMG具有图像宽度W以及图像高度H。此外,图像IMG的图像边界具有图像垂直边界PB_V以及图像水平边界PB_H,其中,图像垂直边界PB_V等于显示垂直边界扩展至一个是8的整数倍的最近的值,并且图像水平边界PB_V等于显示水平边界扩展至一个是8的整数倍的最近的值。如图2所示,变换区块207、209以及210是在图像垂直边界PB_V上,并且变换区块201以及202是在图像水平边界PB_H上。然而,变换区块205是跨过图像垂直边界PB_V,变换区块203是跨过图像水平边界PB_H,并且变换区块204是跨过图像水平边界PB_H以及图像垂直边界PB_V。

如上所述,一个当前区块的VP9帧内预测需要两个一维阵列,其包含属于相邻区块的左侧重建像素以及上侧重建像素。关于跨过图像垂直边界PB_V的变换区块205,重建像素的上侧阵列的一部分是不可获得的。因此,在图像垂直边界PB_V上的一个重建边界像素P1被复制,以形成超出图像垂直边界PB_V的多个填充像素P1’,其中重建边界像素P1以及填充像素P1’对应相同的行。关于跨过图像水平边界PB_H以及图像垂直边界PB_V的变换区块204,重建像素的上侧阵列的一部分是不可获得的,重建像素的左侧阵列的一部分是不可获得的。因此在图像垂直边界PB_V上的一个重建边界像素P2被复制,以形成超出图像垂直边界PB_V的多个填充P2’,其中重建的边界像素P2以及填充的像素P2’对应相同的行。此外,在图像水平边界PB_H上的一个重建边界像素P3被复制,以形成超出图像水平边界PB_H的多个填充P3’,其中重建的边界像素P3以及填充的像素P3’对应相同的列。关于跨过图像水平边界PB_H的变换区块203,重建像素的左侧阵列的一部分是不可获得的。因此,在图像水平边界PB_H上的一个重建边界像素P4被复制,以形成超出图像水平边界PB_H的多个填充像素P4’,其中重建边界像素P4以及填充像素P4’对应相同的列。

如图2所示,如果变换区块205被更小尺寸的变换区块代替(例如两个在图像垂直边界PB_V垂直排列的8x8变换区块),对于每一个更小尺寸的变换区块的帧内预测,则不需要填充上侧相邻像素。相似地,如果变换区块204被更小尺寸的变换区块代替(例如位于图像右底角落的一个8x8变换区块,对于每一个更小尺寸的变换区块的帧内预测,则不需要填充上侧与左侧相邻像素。如果变换区块203被更小尺寸的变换区块代替(例如两个在图像水平边界PB_H水平排列的8x8变换区块),对于每一个更小尺寸的变换区块的帧内预测,则不需要填充左侧相邻像素。依据上述观察,本发明因此提出一种修正的TU尺寸选择机制来代替传统的TU尺寸选择机制(其对在图像边界处的帧内预测没有限制),因此避免了针对图像边界处,在执行帧内预测之前,需要填充上侧或左侧相邻像素的问题。所提出的TU尺寸选择机制的进一步细节在以下部分中详细说明。

所提出的TU尺寸选择机制是通过尺寸选择电路104与控制电路102合作完成的。控制电路102是安排来决定图像边界信息INF_PB。尺寸选择电路104是安排来参考至少该图像边界信息INF_PB来选择与一个图像的编码相关的一个区块的尺寸(例如一个变换单元的一个TU尺寸Size_TU),其中TU尺寸Size_TU的选择是被图像边界信息INF_PB约束,从而保证与所选择的TU尺寸相关的变换单元不会跨过图像的图像边界(例如具有选择的TU尺寸的变换单元是正好位于该图像的图像边界上)。

在这个实施例中,控制电路102可依据图像的宽度W、图像的高度H、以及一个MI单元(该MI单元需要子分割为一个或者多个变换单元来进行帧内预测)的位置相关信息来设置图像边界信息,其中图像边界信息INF_PB指示MI单元是否跨过图像边界。举例来说,图像边界信息INF_PB可使用一个跨过水平边界旗标MI_h_cross_boundary_flag以及一个跨过垂直边界旗标MI_v_cross_boundary_flag来实现。当前编码的MI单元的位置相关信息可包含一个开始X轴位置XL、结束X轴位置XH、开始Y轴位置YL以及一个结束Y轴位置YH,其中XH>XL以及YH>YL。具体来说,MI单元的上-左角位于(XL,YH),MI单元的上-右角位于(XH,YH),MI单元的下-左角位于(XL,YL),并且MI单元的下-右角位于(XH,YL)。图像的图像宽度W与图像高度H可依据显示区域的显示宽度以及显示高度分别决定。设置跨水平边界旗标MI_h_cross_boundary_flag的操作可通过如下的伪代码实现。

If(XL<W)&&(XH>W)

MI_h_cross_boundary_flag=1

else

MI_h_cross_boundary_flag=0

设置跨垂直边界旗标MI_v_cross_boundary_flag的操作可通过如下的伪代码实现。

If(YL<H)&&(YH>H)

MI_v_cross_boundary_flag=1

else

MI_v_cross_boundary_flag=0

需注意的是,上述举例说明并非是本发明的限制。在一个替代设计中,控制电路102可配置为使用不同的计算算法来设置图像边界信息INF_PB,以指示MI单元是否跨过图像边界。

图3是依据本发明的一个实施例的TU尺寸选择方法的一个流程图。如果结果是基本相同的,则步骤的顺序不需依照图3所示的顺序执行。TU尺寸选择方法可由尺寸选择电路104实现。尺寸选择电路104至少部分地依据图像边界信息INF_PB来决定变换单元的TU尺寸。在步骤302,尺寸选择电路104参考图像边界信息INF_PB(其可包含跨过水平边界旗标MI_h_cross_boundary_flag以及跨过垂直边界旗标MI_v_cross_boundary_flag)来决定MI单元是否跨过图像垂直边界(例如图2中所示的PB_V)。当跨过垂直边界旗标MI_v_cross_boundary_flag指示MI单元跨过图像垂直边界(即MI_v_cross_boundary_flag=1),方法执行至步骤310。当跨过垂直边界旗标MI_v_cross_boundary_flag指示MI单元是完全位于图像垂直边界之内的(即MI_v_cross_boundary_flag=0),上述方法执行至步骤304。

在步骤304,尺寸选择电路104进一步参考图像边界信息INF_PB(其可包含跨过水平边界旗标MI_h_cross_boundary_flag以及跨过垂直边界旗标MI_v_cross_boundary_flag)来决定MI单元是否跨过图像水平边界(例如图2中所示的PB_H)。当跨过水平边界旗标MI_h_cross_boundary_flag指示MI单元跨过图像水平边界(即MI_h_cross_boundary_flag=1),方法执行至步骤308。当跨过跨过水平边界旗标MI_h_cross_boundary_flag指示MI单元是完全位于图像水平边界之内的(即MI_h_cross_boundary_flag=0),上述方法执行至步骤306。

如上所述,VP9说明了MI单元可分割为一个或者更多的变换单元,每一个变换单元的TU尺寸从32x32、16x16、8x8以及4x4中选择。因此,一个变换单元必须是一个方形分区,其具有边长从32、16、8以及4中选择,其中变换单元的宽度以及高度等于相同的边长。更进一步,MI单元中定义的变换单元必须等于或者小于MI单元,并且MI单元可以是一个方形分区或者一个非方形分区。因此,可选择的TU尺寸是依赖于MI单元的宽度与MI单元的高度的最小值。因此,在每一个MI单元尺寸中,并非所有可能的TU尺寸32x32、16x16、8x8以及4x4都是可选择的。在步骤306中,边选择电路104从可选择的候选TU边长中选择一个目标TU边长,每一个候选边长等于或者小于MI单元的宽度与MI单元的高度中的最小值。

在步骤308中,可实施额外的限制在可能的TU尺寸32x32、16x16、8x8以及4x4来决定可选择的TU尺寸,从而保证具有一个最终选择的TU尺寸的一个转换单元不会跨过图像的水平边界。举例来说,尺寸选择电路104检查图像的高度H是否是可以被至少一个第一候选TU边长(例如32或者16)整除来产生一个检查结果,并且依据该检查结果以及MI单元的尺寸来决定一个选择的目标TU边长来设定TU尺寸。当检查结果指示图像的高度H可以被第一候选TU边长(例如32或者16)整除时,尺寸选择电路104从至少一个可选择的候选TU边长中选择目标TU边长,每一个可选择的候选TU边长等于或者小于第一候选TU边长(例如32或者16)、MI单元的宽度、MI单元的高度中的最小值。然而,当检查结果指示图像的高度H不可以被任一个第一候选TU边长(例如32以及16)整除时,尺寸选择电路104从至少一个可选择的候选TU边长中选择目标TU边长,每一个可选择的候选TU边长等于或者小于第二候选TU边长(例如8)、MI单元的宽度、MI单元的高度中的最小值,其中该第二候选TU边长(例如8)小于每一第一候选TU边长(例如32与16)。

在步骤310中,尺寸选择电路104参考图像边界信息INF_PB(其可包含跨过水平边界旗标MI_h_cross_boundary_flag以及跨过垂直边界旗标MI_v_cross_boundary_flag)来决定MI单元是否跨过图像水平边界(例如图2中所示的PB_H)。当跨过水平边界旗标MI_h_cross_boundary_flag指示MI单元跨过图像水平边界(即MI_h_cross_boundary_flag=1)时,流程进行至步骤314。当跨过水平边界旗标MI_h_cross_boundary_flag指示MI单元是完全在图像水平边界内时(即MI_h_cross_boundary_flag=0),流程进行至步骤312。

在步骤312,可实施额外的限制在可能的TU尺寸32x32、16x16、8x8以及4x4来决定可选择的TU尺寸,从而保证具有一个最终选择的TU尺寸的一个转换单元不会跨过图像的垂直边界。举例来说,尺寸选择电路104检查图像的宽度W是否是可以被至少一个第一候选TU边长(例如32或者16)整除来产生一个检查结果,并且依据该检查结果以及MI单元的尺寸来决定一个选择的目标TU边长来设定TU尺寸。当检查结果指示图像的高度H可以被第一候选TU边长(例如32或者16)整除时,尺寸选择电路104从至少一个可选择的候选TU边长中选择目标TU边长,每一个可选择的候选TU边长等于或者小于第一候选TU边长(例如32或者16)、MI单元的宽度、MI单元的高度中的最小值。然而,当检查结果指示图像的宽度W不可以被任一个第一候选TU边长(例如32以及16)整除时,尺寸选择电路104从至少一个可选择的候选TU边长中选择目标TU边长,每一个可选择的候选TU边长等于或者小于第二候选TU边长(例如8)、MI单元的宽度、MI单元的高度中的最小值,其中该第二候选TU边长(例如8)小于每一第一候选TU边长(例如32与16)。

在步骤314中,可实施额外的限制在可能的TU尺寸32x32、16x16、8x8以及4x4来决定可选择的TU尺寸,从而保证具有一个最终选择的TU尺寸的一个转换单元不会跨过图像的垂直边界。举例来说,尺寸选择电路104检查图像的宽度W与高度H是否都是可以被至少一个相同的候选TU边长(即至少一个第一候选TU边长,例如32或者16)整除来产生一个检查结果,并且依据该检查结果以及MI单元的尺寸来决定一个选择的目标TU边长来设定TU尺寸。当检查结果指示图像的高度H与宽度W都可以被第一候选TU边长(例如32或者16)整除时,尺寸选择电路104从至少一个可选择的候选TU边长中选择目标TU边长,每一个可选择的候选TU边长等于或者小于第一候选TU边长(例如32或者16)、MI单元的宽度、MI单元的高度中的最小值。然而,当检查结果指示图像的宽度W与高度H不可以都被任一个相同的第一候选TU边长(例如32以及16)整除时,尺寸选择电路104从至少一个可选择的候选TU边长中选择目标TU边长,每一个可选择的候选TU边长等于或者小于第二候选TU边长(例如8)、MI单元的宽度、MI单元的高度中的最小值,其中该第二候选TU边长(例如8)小于每一第一候选TU边长(例如32与16)。

在一种情况下,当在图像边界的帧内预测没有限制时,所有的TU尺寸4x4、8x8、16x16以及32x32在图像边界都被允许。为了避免在图像边界处,在执行帧内预测之前填充上侧或者左侧的相邻像素,图1中的视频处理装置使用尺寸选择电路104来适当地控制TU尺寸选择。然而,这仅仅作为举例说明,而并非是本发明的限制。在其他替代设计中,一个边界MI单元的MI单元的尺寸可被适当地控制来达到避免在执行帧内预测之前在图像边界填充相邻像素的相同的目的,其中该边界MI单元是在超级区块中的并且最接近图像的图像边界。

图4是将一个图像分割为64x64尺寸大小的区块(或称为超级区块)的示意图。待编码的图像IMG具有图像宽度W以及图像高度H。此外,图像IMG的图像边界包含图像垂直边界PB_V以及图像水平边界PB_H。图像边界等于显示边界扩展至最接近的8的整数倍。因此,图像垂直边界PB_V等于显示垂直边界扩展至一个是8的整数倍的最近的值,并且图像水平边界PB_V等于显示水平边界扩展至一个是8的整数倍的最近的值。为了清楚以及简单说明,在图4中仅仅绘示了3个超级区块,其中超级区块SB64x64_1跨过图像垂直边界PB_V,超级区块SB64x64_2跨过图像垂直边界PB_V与图像水平边界PB_H两者,并且超级区块SB64x64_3跨过图像水平边界PB_H。如上所述,一个MI单元可分割为一个或者多个变换区块,每一个具有从32x32、16x16、8x8以及4x4中的TU尺寸。因此,如果MI单元尺寸可适当地选择来保证MI单元MI1-MI9(其是接近图像边界的边界MI单元)没有跨过图像边界,在每一个MI单元MI1-MI9中的定义的任意的变换单元是保证完全位于图像边界内的,因此不需要在执行帧内预测之前执行相邻像素填充。基于上述观察,本发明因此提出一种修正的MI单元尺寸选择机制来代替传统的MI单元尺寸选择机制,从而避免最接近图像边界的边界MI单元跨过图像边界。所提出的MI单元尺寸选择机制将如下详述。

图5是依据本发明的第二实施例的视频处理装置的示意图。视频处理装置500可以是电子装置的一部分,例如个人电脑(例如笔记本电脑或者桌上电脑)、移动电话、平板或者可穿戴设备的一部分。该视频处理装置500可包括视频编码器的至少一部分(即部分或者全部)来编码原始图像,来产生包含多个连续的编码的图像的一个视频序列。视频编码装置500的至少一部分可由集成电路(IC)实现。简单来说,任意的使用所提出的视频编码装置500的电子装置或者电子系统落入本发明的范围。

所提出的MI单元尺寸选择机制是通过是通过尺寸选择电路504与控制电路502合作完成的。控制电路502是安排来决定图像边界信息INF_PB’。尺寸选择电路504是安排来参考至少该图像边界信息INF_PB’来选择与一个图像的编码相关的一个区块的尺寸(例如一个MI单元的一个MI单元尺寸Size_MI),其中MI单元尺寸Size_MI的选择是被图像边界信息INF_PB’约束,从而保证具有所选择的MI单元尺寸的MI单元不会跨过图像的图像边界(例如具有选择的MI单元尺寸的MI单元是正好位于该图像的图像边界上)。

视频处理装置100与500之间的主要差别是控制电路与尺寸选择电路的设计。在图5所示的实施例中,控制电路502依据图像的宽度W、图像的高度H以及超级区块(其可子分割为一个或者多个MI单元)的位置相关信息来设置图像边界信息INF_PB’,其中图像边界信息INF_PB’指示超级区块是否跨过图像边界。在这个实施例中,图像边界信息INF_PB’可通过使用跨过水平边界旗标SB_h_cross_boundary_flag以及跨过垂直边界旗标SB_v_cross_boundary_flag实现。举例来说,当前编码的超级区块的位置相关信息包含一个开始X轴位置XL’、结束X轴位置XH’、开始Y轴位置YL’以及一个结束Y轴位置YH’,其中XH’>XL’以及YH’>YL’。具体来说,超级区块的上-左角位于(XL’,YH’),超级区块的上-右角位于(XH’,YH’),超级区块的下-左角位于(XL’,YL’),并且超级区块的下-右角位于(XH’,YL’)。图像的图像宽度W与图像高度H可依据显示区域的显示宽度以及显示高度分别决定。设置跨水平边界旗标SB_h_cross_boundary_flag的操作可通过如下的伪代码实现。

If(XL’<W)&&(XH’>W)

SB_h_cross_boundary_flag=1

else

SB_h_cross_boundary_flag=0

设置跨垂直边界旗标SB_v_cross_boundary_flag的操作可通过如下的伪代码实现。

If(YL’<H)&&(YH’>H)

SB_v_cross_boundary_flag=1

else

SB_v_cross_boundary_flag=0

需注意的是,上述举例说明并非是本发明的限制。在一个替代设计中,控制电路502可配置为使用不同的计算算法来设置图像边界信息INF_PB’,以指示超级区块是否跨过图像边界。

如上所述,一个具有区块尺寸64x64的超级区块可被分割为一个或者多个MI单元,其中可能的MI单元尺寸对应方形分区(例如64x64尺寸区块、32x32尺寸区块、16x16尺寸区块以及8x8尺寸区块)以及非方形分区(例如64x32尺寸区块、32x64尺寸区块、32x16尺寸区块、16x32尺寸区块、…、8x8尺寸区块)。因此关于最接近图像边界的边界MI单元,需要决定边界MI单元的宽度与高度,从而保证具有选择的MI单元尺寸的MI单元不跨过图像边界。

图6是依据本发明的实施例的一种MI单元高度选择方法的流程图。MI单元高度选择方法由尺寸选择电路504实现。尺寸选择电路504至少依据图像边界信息INF_PB’决定MI单元(其是在一个超级区块内部的最接近图像边界的边界MI单元)的高度。在步骤602,尺寸选择电路504参考图像边界信息INF_PB’(其可包含跨过水平边界旗标SB_h_cross_boundary_flag以及跨过垂直边界旗标SB_v_cross_boundary_flag)来决定超级区块是否跨过图像水平边界(例如图4中所示的PB_H)。当跨过跨过水平边界旗标SB_h_cross_boundary_flag指示超级区块跨过图像水平边界(即SB_h_cross_boundary_flag=1),方法执行至步骤606。然而,当跨过水平边界旗标SB_h_cross_boundary_flag指示超级单元是完全位于图像水平边界之内的(即SB_h_cross_boundary_flag=0),上述方法执行至步骤604。

当超级区块是完全位于图像水平边界内时,超级区块内定义的任意的MI单元都不会跨过图像水平边界。如上所述,可能的MI单元尺寸将包含64x64、32x32、16x16、8x8、64x32、32x64、32x16、16x32、…、8x8。因此,在步骤604中,边选择电路504从可选择的候选MI单元高度中选择一个目标MI单元高度,每一个候选MI单元高度等于或者小于一个最大可能MI单元高度(即64)。

在步骤606中,可实施额外的限制在可能的MI单元高度64、32、16、8来决定可选择的MI单元高度,从而保证具有选择的MI单元高度的MI单元不会跨过图像的水平边界。举例来说,尺寸选择电路504检查图像的高度H是否是可以被至少一个第一候选MI单元高度(例如32或者16)整除来产生一个检查结果,并且依据该检查结果来决定一个选择的目标MI单元高度来设定MI单元尺寸。当检查结果指示图像的高度H可以被第一候选MI单元高度(例如32或者16)整除时,尺寸选择电路504从至少一个可选择的候选MI单元高度中选择目标MI单元高度,每一个可选择的候选MI单元高度等于或者小于第一候选MI单元高度(例如32或者16)。然而,当检查结果指示图像的高度H不可以被任一个第一候选MI单元高度(例如32以及16)整除时,尺寸选择电路504从至少一个可选择的候选MI单元高度中选择目标MI单元高度,每一个可选择的候选MI单元高度等于或者小于第二候选MI单元高度,例如最小可能MI单元高度(即8)。

图7是依据本发明的实施例的一种MI单元宽度选择方法的流程图。MI单元宽度选择方法由尺寸选择电路504实现。尺寸选择电路504至少部分地依据图像边界信息INF_PB’决定MI单元(其是在一个超级区块内部的最接近图像边界的边界MI单元)的宽度。在步骤702,尺寸选择电路504参考图像边界信息INF_PB’(其可包含跨过水平边界旗标SB_h_cross_boundary_flag以及跨过垂直边界旗标SB_v_cross_boundary_flag)来决定超级区块是否跨过图像垂直边界(例如图4中所示的PB_V)。当跨过跨过跨过垂直边界旗标SB_v_cross_boundary_flag指示超级区块跨过图像垂直边界(即SB_v_cross_boundary_flag=1),方法执行至步骤706。然而,当跨过垂直边界旗标SB_v_cross_boundary_flag指示超级单元是完全位于图像垂直边界之内的(即SB_v_cross_boundary_flag=0),上述方法执行至步骤704。

当超级区块是完全在图像垂直边界内时,超级区块内定义的任意的MI单元都不会跨过图像垂直边界。如上所述,可能的MI单元尺寸将包含64x64、32x32、16x16、8x8、64x32、32x64、32x16、16x32、…、8x8。因此,在步骤704中,边选择电路504从可选择的候选MI单元高度中选择一个目标MI单元高度,每一个候选MI单元高度等于或者小于一个最大可能MI单元高度(即64)。

在步骤706中,可实施额外的限制在可能的MI单元宽度64、32、16、8来决定可选择的MI单元宽度,从而保证具有选择的MI单元宽度的MI单元不会跨过图像的垂直边界。举例来说,尺寸选择电路504检查图像的宽度W是否是可以被至少一个第一候选MI单元宽度(例如32或者16)整除来产生一个检查结果,并且依据该检查结果来决定一个选择的目标MI单元宽度来设定MI单元尺寸。当检查结果指示图像的宽度W可以被第一候选MI单元宽度(例如32或者16)整除时,尺寸选择电路504从至少一个可选择的候选MI单元宽度中选择目标MI单元宽度,每一个可选择的候选MI单元宽度等于或者小于第一候选MI单元宽度(例如32或者16)。然而,当检查结果指示图像的宽度W不可以被任一个第一候选MI单元宽度(例如32以及16)整除时,尺寸选择电路504从至少一个可选择的候选MI单元宽度中选择目标MI单元宽度,每一个可选择的候选MI单元宽度等于或者小于第二候选MI单元宽度,例如最小可能MI单元宽度(即8)。

如上所述,一个图像可分割为多个超级区块,一个超级区块可分割为一个或者MI单元,一个MI单元可分割为一个或者多个TU。当图像的图像边界是通过显示区域的显示边界扩展至是8的整数倍的一个最接近的值时,每一个具有区块尺寸64x64的超级区块不能保证完全在图像的图像边界之内。因此,一个跨过图像边界的超级区块中的一个MI中定义的一个TU可能并非完全在图像边界之内。在另一个替代设计中,可适当地设定图像边界来达到在执行帧内预测之前在图像边界处需要相邻像素填充的问题。

图8是依据本发明的第三实施例的视频处理装置的示意图。视频处理装置800可以是电子装置的一部分,例如个人电脑(例如笔记本电脑或者桌上电脑)、移动电话、平板或者可穿戴设备的一部分。该视频处理装置800可包括视频编码器的至少一部分(即部分或者全部)来编码原始图像,来产生包含多个连续的编码的图像的一个视频序列。视频编码装置800的至少一部分可由集成电路(IC)实现。简单来说,任意的使用所提出的视频编码装置800的电子装置或者电子系统落入本发明的范围。

如图8所示,视频处理装置(例如部分视频编码器)800包含图像宽度决定电路802以及图像高度决定电路804。图像宽度决定电路802被安排来参考显示区域的显示宽度WDIS来决定待编码的图像的图像宽度WPIC。图像高度决定电路804被安排来参考显示区域的显示高度HDIS来决定待编码的图像的图像高度HPIC。显示分辨率信息,包含显示宽度WDIS与显示高度HDIS,可在一个容器(container,例如MKV或者WebM)中设定,或者在编码的视频比特流的后续信息中设定。一个超级区块(即64x64尺寸区块)是具有边长等于64的一个方形分区,其中超级区块的宽度与高度都等于相同的边长。在第一个实施例中,图像宽度WPIC是通过将显示宽度WDIS扩展至一个是超级区块(SB)边长(即64)整数倍的最接近的值。举例来说,设置图像宽度WPIC的操作可用如下的伪代码表示:picture_width=((display_width+63)>>6)<<6,其中“>>”是一个右比特-位移操作符,并且“<<”是一个左比特-位移操作符。由于图像宽度WPIC是SB边长(即64)的整数倍,具有图像宽度WPIC的图像将分割为多个SB,每一个SB并没有跨过图像垂直边界。以这样的方式,在一个SB中的每一个MI单元中定义的变换单元保证完全位于图像垂直边界之内,因此在执行帧内预测之前在图像垂直边界处不需要相邻像素填充。

在第二个实施例中,图像高度HPIC是通过将显示高度HDIS扩展至一个是超级区块(SB)边长(即64)整数倍的最接近的值。举例来说,设置图像高度HPIC的操作可用如下的伪代码表示:picture_height=((display_height+63)>>6)<<6,其中“>>”是一个右比特-位移操作符,并且“<<”是一个左比特-位移操作符。由于图像高度HPIC是SB边长(即64)的整数倍,具有图像高度HPIC的图像将分割为多个SB,每一个SB并没有跨过图像水平边界。以这样的方式,在一个SB中的每一个MI单元中定义的变换单元保证完全位于图像水平边界之内,因此在执行帧内预测之前在图像水平边界处不需要相邻像素填充。

在第三个实施例中,图像宽度WPIC是通过将显示宽度WDIS扩展至一个是超级区块(SB)边长(即64)整数倍的最接近的值,图像高度HPIC是通过将显示高度HDIS扩展至一个是超级区块(SB)边长(即64)整数倍的最接近的值。由于图像高度HPIC与图像宽度WPIC是SB边长(即64)的整数倍,具有图像宽度WPIC与图像高度HPIC的图像将分割为多个SB,每一个SB并没有跨过图像边界。以这样的方式,在一个SB中的每一个MI单元中定义的变换单元保证完全位于图像边界之内,因此在执行帧内预测之前在图像边界处不需要相邻像素填充。

本发明通过上述实施例进行举例说明,本发明并非局限于上述举例说明。本发明应理解为涵盖本领域技术人员可了解的多种变型的实施方式与相似的安排。因此,本发明的权利要求书应该理解为涵盖本领域技术人员可了解的多种变型的实施方式与相似的安排的较广范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1