本申请要求2006年8月2日提交的美国临时专利申请序号60/834,993的优先权,其在此整个被引入作为参考。此外,本申请涉及共同转让的、题为“用于视频解码的自适应几何分割方法和设备(METHODS ANDAPPARATUS FOR ADAPTIVE GEOMETRIC PARTITIONING FOR VIDEODECODING)”的、律师签号为PU070128的非临时专利申请,其在此被引入作为参考,并且随此同时提交。
背景技术
大多数视频编码技术都利用预测加残差编码来模拟视频图像。其它方法也可能将预测作为一个步骤而考虑到信号变换的某一处理中,如当利用提升方案产生小波变换时(有或没有运动补偿)。基于分块对每一帧执行预测。即,以树结构将每一帧分割成块或嵌套块集合,然后利用帧内或帧间预测器加上某种残差编码对每一个块分割进行编码。通过定义网格区来执行将帧分割成块,网格区通常是遍布全帧的块(被称为宏块),然后也可进一步将每个宏块分割成更小的块(也称为子块或子宏块)。典型地,具有不同纹理、颜色、平滑度和/或不同运动的目标和/或帧区边界上的宏块,倾向于进一步被分割成子块,以便使宏块编码尽可能的高效,同时得到尽可能高的客观和/或主观质量。
在最近研究中,树结构已显示出对于图像信息编码是次最优的。这些研究支持,基于树的图像编码不能对通过规则边缘或轮廓分割的不同区域进行最优编码(在此,区域被认为具有意义明确且一致的特性,如平坦、平滑或固定纹理)。该问题起因于以下事实:树结构不能最优地捕获沿边缘、轮廓或有向纹理而存在的几何冗余。该概念意味着,宏块的自适应树分割即使优于简单的固定尺寸帧分割,也仍然不足以最优地高效捕获二维数据中所包括的几何信息以供编码使用。
帧分割是高效视频编码中非常重要的一个过程。最近的视频压缩技术,如国际标准化组织/国际电工委员会(ISO/IEC)运动图像专家组4(MPEG-4)第10部分-先进视频编码(AVC)标准/国际电信联盟电信标准化部(ITU-T)H.264建议(以下称为“MPEG-4 AVC标准”),使用基于树的帧分割。这看来比简单的均匀块分割更有效,均匀块分割典型地用于更早视频编码标准和建议中,如ISO/IEC MPEG-2标准和ITU-T H.263建议(以下称为“H.263建议”)。然而,基于树的帧分割仍然不能尽可能高效地对视频信息编码,因为它不能高效地捕获二维数据的几何结构。
在当前主要视频编码中都采用树结构宏块分割。ITU-T H.261建议(以下称为“H.261建议”)、ISO/IEC MPEG-1标准和ISO/IEC MPEG-2标准/ITU-T H.263建议(以下称为“MPEG-2标准”)只支持16×16宏块(MB)分割。ISO/IEC MPEG-4第10部分的AVC标准/ITU-T H.264建议(以下称为“MPEG-4 AVC标准”)简单描述文件或ITU-T H.263(+)建议都支持16×16MB的16×16和8×8分块。MPEG-4 AVC标准支持树结构分级宏块分块。16×16MB可被分割成大小为16×8、8×16或8×8的宏块分块。8×8分块也被称为子宏块。子宏块可进一步分解为8×4、4×8和4×4大小的子宏块分块。转到图1,一般用附图标记100来指示MPEG-4 AVC标准宏块分割集合。尤其是,用附图标记110来指示宏块分块,并且用附图标记120来指示子宏块分块。在最近研究中,树结构已显示出对于图像信息编码是次最优的。这些研究当中的一些研究表明,基于树的编码***不能对通过规则边缘或轮廓分割的不同区域进行最优编码。
关于该主题的一些先前工作在实验上确定了,需要其它类型的块分割、而不是简单树分割所提供的块分割,来用于运动补偿。除基于树的块分割以外,这些技术建议使用某些能够更适合于运动边缘的附加宏块分块,以供运动估计和补偿之用。
在H.263编解码器框架内的一种先有技术方法中(以下称为“第一先有技术方法”),建议使用两种附加的对角线运动补偿方式。当选择这些方式之一时,相关宏块被分割成通过对角线段划分的两个相似三角形。取决于编码方式,对于其中一种方式,对角线段从左下角到右上角,对于第二种方式,从左上角到右下角。转到图2A和2B,一般分别用附图标记200和250来指示与在此描述的指定的“第一先有技术方法”对应的附加运动补偿编码方式。运动补偿编码方式200对应于右上对角线边缘编码方式,而运动补偿编码方式250对应于左上对角线边缘编码方式。
从这些方式只是16×8或8×16运动补偿方式在固定对角线方向上的简单变化这个意义上讲,第一先有技术方法是非常受限的。它们所定义的边缘非常粗糙,并且不足以精确地拟合视频帧中存在的多种边缘。没有对几何信息的显式编码,这削弱了在编码器中对该信息进行适当的处理。在编码方式列表中引入这两种方式,这增加了位于编码方式列表中这两种方式后面的其它编码方式的编码开销。
第一先有技术方法的直接演化涉及其它三种先有技术方法,在此分别被称为第二、第三和第四先有技术方法。在这些工作中,全都引入了比第一先有技术方法中所描述的方式集合更大的运动补偿编码方式集合。相对于第二、第三和第四先有技术方法描述的***引入了包括有向分块的附加编码方式大集合。这些方式是16×8、8×16方式的不同转换版本以及第一先有技术方法中提议的具有Z字形廓线的方式的不同转换版本。转到图3,一般用附图标记300来指示与指定的“第二”、“第三”和“第四先有技术方法”相关的运动补偿编码方式。示出了18种运动补偿编码方式。
和第一先有技术方法的情况一样,第二、第三和第四先有技术方法中为运动补偿定义的分块对于视频帧内容是非常粗糙和不精确的。即使有向分块集合在数量上超过第一先有技术方法中的分块集合,它们也仍然不足以精确地对视频帧中存在的多种边缘进行高效编码。在这种情况下,没有对几何信息的显式编码,这这削弱了在编码器中对几何信息进行适当处理的能力。而且,为对大得多的方式集合进行编码而引入的开销,对方式列表中有向方式后面的无方向方式产生更坏影响。
第五先有技术方法提议,除了第二、第三和第四先有技术方法以前在基于运动补偿的预测方面的用途外,还在第二、第三和第四先有技术方法的有向方式分块内使用帧内预测。第五先有技术方法的缺陷继承于第二、第三和第四先有技术方法,因此前面段落中阐述的所有那些缺陷也都适用于第五先有技术方法。
第六先有技术方法根据文献中发现的研究工作提出了最灵活的框架。第六先有技术方法建议只引入两种方式,其中利用连接两个边界点的线段来产生块分块。所建议的运动补偿编码方式中的第一种方式将宏块分割成两个分块,这两个分块是通过连接两个宏块边界点的线段来实现分割的。转到图4A,一般用附图标记400来指示根据在此描述的指定“第六先有技术方法”的第一运动补偿编码方式的宏块分割。
所建议的第二种方式基于以下过程:将宏块初步分割成子块,然后利用连接每个子块边界上两个点的线段来分割每个子块。转到图4B,一般用附图标记450来指示根据在此描述的指定“第六先有技术方法”的第二运动补偿编码方式的宏块分割。
对于第六先有技术方法中概述的方案,仍然存在几种缺陷,包括以下。
在关于第六先有技术方法的第一缺陷中,被定义为通过线段连接两个边界点的块分割不能高效处理更复杂边界或轮廓的情况。为此,第六先有技术方法提议将宏块分割成子块,并在每个子块中利用线段来连接点,以便近似更复杂的形状,这是低效的。
在关于第六先有技术方法的第二缺陷中,只为运动补偿考虑分块,而不管在所产生的分块内使用某种帧内编码技术。这禁止了所建议的技术去处理暴露效应(在排序期间新数据从目标后面出现的情形),或禁止所建议的技术仅仅以非时间预测方式对任何视频帧中的信息进行编码。
在关于第六先有技术方法的第三缺陷中,在失真和编码代价方面,通过对边界点编码而实现的分块编码不是足够高效的。这是因为,它们不能适当表现分块边界的几何特性;因此,它们不能适当显示视频帧中数据的几何特性。实际上,视频帧中的数据典型地呈现几何信息的不同统计信息,如不同视频分量和/或目标的局部取向和局部位置。简单使用边界点并不能反映这种信息。因而,不能采用这种统计信息供编码用。
在关于第六先有技术方法的第四缺陷中,不同的视频压缩质量具有不同的几何信息精度要求,以便在失真与编码代价之间实现最佳折衷。第六先有技术方法不能根据视频压缩质量,去修改被发送用于对块分块编码的信息。而且,因为第六先有技术方法没有,并且/或者相反,描述分块几何信息的适当表示,所以第六先有技术方法不支持(如果需要的话)以高于某种几何信息的精度对另一种几何信息进行编码。
在关于第六先有技术方法的第五缺陷中,第六先有技术方法看来似乎不能处理那些位于分块边界上、且部分在边界一侧而部分在边界另一侧的像素。当需要时,这些像素应该能够混合来自分块两边的信息。
转到图8,一般用附图标记800来指示一种能够根据MPEG-4 AVC标准执行视频编码的视频编码器。
视频编码器800包括帧排序缓冲器810,该帧排序缓冲器810具有与组合器885的非反相输入进行信号通信的输出。组合器885的输出以信号通信方式和变换与量化器825的第一输入连接。变换与量化器825的输出以信号通信方式与熵编码器845的第一输入及逆变换与逆量化器850的第一输入连接。熵编码器845的输出以信号通信方式与组合器890的第一非反相输入连接。组合器890的输出以信号通信方式与输出缓冲器835的第一输入连接。
编码器控制器805的第一输出以信号通信方式与以下连接:帧排序缓冲器810的第二输入、逆变换与逆量化器850的第二输入、图像型决策模块815的输入、宏块型(MB型)决策模块820的输入、帧内预测模块860的第二输入、解块滤波器865的第二输入、运动补偿器870的第一输入、运动估计器875的第一输入以及参考图像缓冲器880的第二输入。
编码器控制器805的第二输出以信号通信方式与以下连接:补充增强信息(SEI)***器830的第一输入、变换与量化器825的第二输入、熵编码器845的第二输入、输出缓冲器835的第二输入以及序列参数集(SPS)和图像参数集(PPS)***器840的输入。
图像型决策模块815的第一输出以信号通信方式与帧排序缓冲器810的第三输入连接。图像型决策模块815的第二输出以信号通信方式与宏块型决策模块820的第二输入连接。
SPS和PPS***器840的输出以信号通信方式与组合器890的第三非反相输入连接。
逆量化与逆变换器850的输出以信号通信方式与组合器825的第一非反相输入连接。组合器825的输出以信号通信方式与帧内预测模块860的第一输入以及解块滤波器865的第一输入连接。解块滤波器865的输出以信号通信方式与参考图像缓冲器880的第一输入连接。参考图像缓冲器880的输出以信号通信方式与运动估计器875的第二输入连接。运动估计器875的第一输出以信号通信方式与运动补偿器870的第二输入连接。运动估计器875的第二输出以信号通信方式与熵编码器845的第三输入连接。
运动补偿器870的输出以信号通信方式与开关897的第一输入连接。帧内预测模块860的输出以信号通信方式与开关897的第二输入连接。宏块型决策模块820的输出以信号通信方式与开关897的第三输入连接。开关897的输出以信号通信方式与组合器825的第二非反相输入连接。
帧排序缓冲器810和编码器控制器805的输入可用作编码器800的输入,用于接收输入图像801。而且,SEI***器830的输入可用作编码器800的输入,用于接收元数据。输出缓冲器835的输出可用作编码器800的输出,用于输出位流。
转到图10,一般用附图标记1000来指示一种能够根据MPEG-4 AVC标准执行视频解码的视频解码器。
视频解码器1000包括输入缓冲器1010,该输入缓冲器1010具有以信号通信方式与熵解码器1045的第一输入连接的输出。熵解码器1045的第一输出以信号通信方式和逆变换与逆量化器1050的第一输入连接。逆变换与逆量化器1050的输出以信号通信方式与组合器1025的第二非反相输入连接。组合器1025的输出以信号通信方式与解块滤波器1065的第二输入以及帧内预测模块1060的第一输入连接。解块滤波器1065的第二输出以信号通信方式与参考图像缓冲器1080的第一输入连接。参考图像缓冲器1080的输出以信号通信方式与运动补偿器1070的第二输入连接。
熵解码器1045的第二输出以信号通信方式与运动补偿器1070的第三输入以及解块滤波器1065的第一输入连接。熵解码器1045的第三输出以信号通信方式与解码器控制器1005的输入连接。解码器控制器1005的第一输出以信号通信方式与熵解码器1045的第二输入连接。解码器控制器1005的第二输出以信号通信方式和逆变换与逆量化器1050的第二输入连接。解码器控制器1005的第三输出以信号通信方式与解块滤波器1065的第三输入连接。解码器控制器1005的第四输出以信号通信方式与帧内预测模块1060的第二输入、运动补偿器1070的第一输入以及参考图像缓冲器1080的第二输入连接。
运动补偿器1070的输出以信号通信方式与开关1097的第一输入连接。帧内预测模块1060的输出以信号通信方式与开关1097的第二输入连接。开关1097的输出以信号通信方式与组合器1025的第一非反相输入连接。
输入缓冲器1010的输入可用作解码器1000的输入,用于接收输入位流。解块滤波器1065的第一输出可用作解码器1000的输出,用于输出输出图像。
具体实施方式
本发明原理针对用于视频编码和解码的自适应几何分割方法和设备。
本说明书说明本发明原理。因此,应该理解,本领域技术人员将能够设计虽然未在此明确描述或示出、但体现本发明原理且被包括在本发明原理精神和范围内的各种配置。
在此列举的所有例子和条件语言都预定以教导为目的,来帮助读者理解本发明者所提出的用于促进本领域的本发明原理和概念,并且应该被看作是不限于这种具体列举的例子和条件。
而且,在此列举本发明的原理、方面和实施例及本发明特例的所有语句,都预定包括本发明的结构和功能等效物。另外,这种等效物意图包括当前周知的等效物以及将来开发的等效物,即与结构无关地执行相同功能的任何被开发元件。
因而,例如,本领域技术人员应该理解,在此给出的框图代表体现本发明原理的说明性电路的概念视图。类似地,应该理解,任何流程表、流程图、状态转移图、伪码等,都代表基本上可在计算机可读介质上表示、因而可通过计算机或处理器来执行的各种过程,而不管这种计算机或处理器是否被明确示出。
可以利用专用硬件以及能够与适当软件关联地执行软件的硬件,来提供图中所示各元件的功能。当通过处理器来提供这些功能时,可以通过单个专用处理器、单个共享处理器、或其中一些可被共享的多个单独处理器,来提供这些功能。而且,术语“处理器”或“控制器”的显式使用不应被看作是专门指能够执行软件的硬件,而可以隐含包括但不限于数字信号处理器(DSP)硬件、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储器。
也可以包括其它常规和/或定制的硬件。类似地,图中所示的任何开关都只是概念性的。可以通过程序逻辑的操作、专用逻辑、程序控制与专用逻辑的交互,乃至手动地,如可从上下文更具体理解的可由实施者选择的特定技术,来执行它们的功能。
在本发明权利要求中,被表示为用于执行指定功能的装置的任何元件都预定包括执行该功能的任何方式,例如包括a)执行该功能的电路元件的组合,或b)任何形式的软件,因而包括固件和微码等形式,该软件与用于执行该软件的适当电路结合、以执行该功能。如这种权利要求所定义的本发明原理在于,由所列举的各种装置提供的功能性以权利要求所要求的方式被组合和集合在一起。因而,认为能够提供那些功能性的任何装置都等效于在此示出的装置。
说明书中对本发明原理“一个实施例”或“实施例”的引用意味着,连同实施例一起描述的特定特征、结构、特性等被包括在本发明原理的至少一个实施例中。因而,存在于整个说明书不同位置的短语“一个实施例中”或“实施例中”的出现,不一定都指同一实施例。
应该理解,术语“块”和“区域”在此互换使用。
应该进一步理解,短语“现有视频编码标准”和“视频编码建议”可以指任何现有视频编码标准和建议,包括那些仍未开发、但在本发明原理应用于它们的时期内存在的视频编码标准和建议。这种标准和建议包括但不限于H.261、H.262、H.263、H.263+、H.263++、MPEG-1、MPEG-2、MPEG-4 AVC等。
而且,当相对于视频编码标准和/或建议使用时,术语“扩展版本”指修改、演化或相反扩展的版本。
而且,应该理解,短语“图像数据”意味着指与任何静止图像和运动图像(即包括运动的图像序列)对应的数据。
另外,如在此所使用的,“高级句法”指分层位于宏块层之上的位流中存在的句法。例如,如在此所使用的,高级句法可以指但不限于片头级、SEI级、PPS级、SPS级和NAL单元头级的句法。
应该理解,术语“和/或”的使用,例如“A和/或B”情况,意味着包括选择第一列举选项(A)、选择第二列举选项(B)或者选择这两个选项(A和B)。进一步,例如在“A、B和/或C”的情况下,这种措辞意味着包括:选择第一列举选项(A),选择第二列举选项(B),选择第三列举选项(C),选择第一和第二列举选项(A和B),选择第一和第三列举选项(A和C),选择第二和第三列举选项(B和C),或者选择所有三种选项(A、B和C)。这可以扩展到多个列举项,这点对于本领域及相关领域技术人员是很明显的。
如上所述,本发明原理针对用于视频编码和解码的自适应几何分割方法和设备。
本发明原理的一个或多个实施例利用参数模型进行帧区域分割,它能捕获和表示局部信号几何结构,以克服基于树的方法的低效率。如本发明原理的各实施例中所使用的参数模拟被定义为,通过至少一条曲线(在一次多项式的特殊情况下,变为直线)的隐式或显式公式来定义图像部分(或宏块)内的至少一个分块,并且其特定实施例是根据所谓的“隐式曲线”公式来共同定义分块和曲线。如根据本发明原理使用的一般曲线公式不同于上述第六先有技术方法的地方在于:第六先有技术方法将块内切割分块之间的边界定义为,位于块***的两个给定点之间的直线连接。
给定待预测帧的区域或块,除基于经典树分割的方式以外,还测试几何分割方式。将相关块或区域分割成通过一种或一组参数模型描述的几个区域。尤其是,它的形式可以是将块或区域分割成两个分块,其中通过参数模型或函数
来描述它们的边界,其中x和y代表坐标轴,且
代表包括描述分块形状的信息的参数集。一旦利用
将帧块或帧区域分割成分块,则基于失真与编码代价之间的某种折衷,通过最适当的预测器来预测所产生的每个分块。
我们关心这种分块描述的原因是因为在最近研究中,树结构已被证明对于图像信息编码是次最优的。这些研究认定基于树的图像编码不能对通过规则边缘或轮廓分割的不同区域进行最优编码。该问题起因于树结构不能最优地捕获沿边缘、轮廓或有向纹理存在的几何冗余。在视频序列中,需要对边缘和/或轮廓进行编码的不同情形是常见的。其中一种情形就是当对帧内编码数据进行编码时,不同种类可见数据之间的边界是最相关类型信息之一如边缘和目标轮廓。在帧间编码数据中,运动目标周围以及不同运动区域之间的轮廓也很重要。
本发明原理的实施例提供一种适于二维(2D)数据几何结构的一般几何帧分割技术。然后,利用最有效类型的预测如帧间和/或帧内预测类型,对所产生的每个区域进行编码。实施例包括在块或帧区域中产生几何分块。将块或帧区域分割成几何上合适的分块而非经典树,允许减少要发送的信息量以及预测过程所产生的残差量。根据本发明原理,利用参数模型来产生、近似以及/或者编码每个块内的分块边界。这种方法允许更好地捕获二维数据的主要几何特性。例如,可以将模型参数定义为独立地携带信息,该信息例如涉及但不限于分块边界角度、位置、不连续性和/或甚至曲率。将参数模型用于分块编码允许非常紧凑的分块边缘描述,这使待编码的参数数量最小化。此外,可以这样定义分块模型参数,以便对独立的或不同的几何信息进行去耦,以便根据它们的统计信息和特性对每个参数进行最佳编码。这种基于模型的几何信息处理也允许选择性地减少或增加每个几何参数所投入的编码信息量。除编码效率外,这种特征还用于在使编码效率影响最小化的同时,控制计算复杂性。
使用基于参数模型的分块描述的优点之一是,有可能高效地描述块内两个分块之间的平滑分块边界。常常可以通过某种多项式
来模拟且精确近似帧内图像中的两个不同运动目标之间的边界、或边缘。转到图5,一般用附图标记500来指示基于多项式模型的、具有分块P0和P1的平滑边界分块。
为了进行几何图像和视频编码,可以这样操作
(以下也表示为f(x,y)),以致它们描述几何信息如局部角度、位置和/或某一曲率大小。因此,在一阶多项式
的特定情况下,可以这样表示分块,以致它们描述相对于一组给定坐标轴的角度和距离:
f(x,y)=xcosθ+ysinθ-ρ
其中通过那些位置(x,y)来定义位置边界,以致f(x,y)=0。
转到图6,一般用附图标记600来指示,把具有参数描述几何结构(角度和位置)的一阶多项式用作参数模型的例子。
在针对每个块产生两个区域的实施例中,可以利用如下的隐式公式来描述分块:
位于零线(f(x,y)=0)一侧的所有像素都被分类为属于一个分块区(例如分块1)。位于另一侧的所有像素都被分类在另一区中(例如分块0)。
处理分块边界上的像素的可选方法
考虑分块的离散性质,我们发现在分割线或曲线附近,某些像素只能被认为部分地属于某一分块或另一个分块。这是由于,参数模型公式是连续的,而分块实现是离散的。
这种像素可能容易受到用于描述分块每一边的预测器的影响。因此,可以利用不同于分块1和0的标记,将像素标记为“部分表面(partialsurface)”。为简单起见,我们采用以下惯例:利用1或0来标记某一或另一分块中的像素。因而,可以利用0和1之间的某一值来识别“部分表面”像素,该值也可以包括相关像素在多大程度上属于分块0的信息(例如,1值将指示完全属于分块0,0.5将指示一半属于分块0,而0将指示不属于分块0)。当然,上文中各处的编号排列是用于说明和澄清的,并且给定在此提供的本发明原理的教导,本领域及相关领域普通技术人员将能预期供本发明原理之用的这些及其它各种编号排列,同时保持本发明原理的精神。通过以下对分块0进行标记的定义,来正式表示以上:
Label(x,y)=1表示那个像素被包括在第一分块中。Label(x,y)=0表示该像素位于第二分块中,对于该特定像素,其余值表示它被部分地归类,也指示来自第一分块的预测对该值的贡献的权重。来自第二分块的预测对“部分表面”像素值贡献的权重为(1-Label(x,y))。以分块掩模的形式产生该一般像素分类。转到图7,一般用附图标记700来指示利用一阶多项式从参数模型f(x,y)产生的分块掩模。如上所述,以上描述的浮点数只是可能选择值的例子。实际上,取决于f(x,y),不同于0.5的阈值也是可能的。对于被分类为“部分表面”的每个像素,也可作为与该像素重叠的分块之一内的一个或多个相邻像素的函数、或者作为与该像素重叠的多个分块的函数的组合,来预测该像素。而且,本领域及相关领域普通技术人员应该理解,可以修改在此描述的本发明原理的任何方面,以便整数实现以及/或者利用查找表。
采样分块函数f(x,y)参数空间的考虑
需要编码并发送模型参数,以允许解码器确定相关块或区域的分块。为此,分块参数的精度受限于人们愿意为描述块或分块区域而投入的最大编码代价量。
不失一般性,通过为f(x,y)的每个参数确定值域和采样精度,来先验地定义可能分块(或几何模型)的库。例如,在一阶多项式几何边界的情况下,可以这样定义,以致:
且
其中Δρ和Δθ是选择的量化步长(参数精度)。然而,可以建立选择值的偏移量。θ和ρ的量化索引是被发送用于对分块形状进行编码的信息。然而,在垂直和水平方向方式(如为MPEG-4 AVC标准而定义的方式)用作分割编码方式的情况下,从可能的分块配置集中消除ρ=0、且角度等于0和90度的几何分块。这可以节省位数并减小复杂性。
解码器需要知道编码器所用的参数精度。可以作为某些现有数据(例如MPEG-4 AVC标准中的量化参数)的函数,显式或隐式地为每种分块参数发送参数精度。可以按照某种高级句法如序列、图像和/或片级句法,来修改参数精度。
使用在此相对于本发明原理描述的区域分割的视频通信***,应该为使用区域分割的每个区域发送必需编码的参数集,以描述分块形状。为每个几何编码区域发送的其余数据的类型,将类似于基于树的分块方式所发送的数据类型。的确,对于每一基于模型的分块,都应发送预测信息。另外,在预测后,最终也可对预测残差进行编码。
基于参数模型的几何区域分割的使用,影响视频编码器/解码器中取决于帧分割的所有处理。视频***中能够得益于本发明原理、并且可适合于本发明原理的一些更普通处理/模块包括但不限于:编码器/解码器的一般控制;区域预测(运动补偿/帧内数据预测);运动估计;熵编码/解码;以及用于减少人为噪声的循环内滤波。
以下,相对于MPEG-4 AVC标准框架来描述实施例。然而,应该理解,本发明原理不只是限于MPEG-4 AVC,而是可以容易地相对于其它视频编码标准和建议使用本发明原理,同时保持本发明原理的精神。
扩展MPEG-4 AVC标准视频编码器和解码器,以便考虑根据本发明原理的
参数模型分块
现在将描述涉及根据本发明原理扩展MPEG-4 AVC标准的实施例。MPEG-4 AVC标准依赖于基于树的帧分割来优化编码性能。根据本发明原理的实施例扩展MPEG-4 AVC标准有助于克服MPEG-4 AVC标准所属的基于树的帧分割的固有缺陷。
可以以新的块编码方式的形式,将基于参数模型的区域分割的使用包括在MPEG-4 AVC标准中。MPEG-4 AVC标准的基于树的帧分割在需要时,将每幅图像分割成16×16、16×8、8×16、8×8、8×4、4×8和4×4的块。这些分块类型的每一种都和编码方式关联,同时取决于方式,该编码方式可以是帧间或帧内编码方式类型。除这些块分块方式以外,我们引入了附加的分块方式,以致利用参数模型f(x,y)来描述块内的分块。这种利用参数模型分割的块方式在此被称为“几何方式”。其目标是产生尽可能大的分块;因此,参数模型的用途是应用于16×16尺寸的块或基于树的分块的树叶部分的集合。然而,当关心压缩效率时,也考虑8×8“几何方式”块。取决于复杂性因素,也可使能或禁止8×8“几何方式”块的使用。可以用信号通知高级句法,以指示是否使用8×8“几何方式”。当未使用这种方式时,这可以节省编码开销。句法级的特定例子包括但不限于序列、图像和/或片级。
为了***这种新的编码方式系列,可以修改编码器和/或解码器。如图8、9、10和11中所描述的,可以修改和扩展MPEG-4 AVC标准中的主要构件块的功能性,以便处理这些能够捕获和编码几何信息的新方式。
转到图9,一般用附图标记900来指示一种能够根据被扩展用于本发明原理的MPEG-4 AVC标准来执行视频编码的视频编码器。
视频编码器900包括帧排序缓冲器910,该帧排序缓冲器910具有与组合器985的非反相输入进行信号通信的输出。组合器985的输出以信号通信方式和具有几何扩展的变换与量化器927的第一输入连接。具有几何扩展的变换与量化器927的输出以信号通信方式与具有几何扩展的熵编码器945的第一输入、以及逆变换与逆量化器950的第一输入连接。具有几何扩展的熵编码器945的输出以信号通信方式与组合器990的第一非反相输入连接。组合器990的输出以信号通信方式与输出缓冲器935的第一输入连接。
具有几何扩展的编码器控制器905的第一输出以信号通信方式与以下连接:帧排序缓冲器910的第二输入、逆变换与逆量化器950的第二输入、图像型决策模块915的输入、具有几何扩展的宏块型(MB型)决策模块920的输入、具有几何扩展的帧内预测模块960的第二输入、具有几何扩展的解块滤波器965的第二输入、具有几何扩展的运动补偿器970的第一输入、具有几何扩展的运动估计器975的第一输入以及参考图像缓冲器980的第二输入。
具有几何扩展的编码器控制器905的第二输出以信号通信方式与以下连接:SEI***器930的第一输入、具有几何扩展的变换与量化器927的第二输入、具有几何扩展的熵编码器945的第二输入、输出缓冲器935的第二输入以及SPS与PPS***器940的输入。
图像型决策模块915的第一输出以信号通信方式与帧排序缓冲器910的第三输入连接。图像型决策模块915的第二输出以信号通信方式与具有几何扩展的宏块型决策模块920的第二输入连接。
SPS与PPS***器940的输出以信号通信方式与组合器990的第三非反相输入连接。
逆量化与逆变换器950的输出以信号通信方式与组合器925的第一非反相输入连接。组合器925的输出以信号通信方式与具有几何扩展的帧内预测模块960的第一输入以及具有几何扩展的解块滤波器965的第一输入连接。具有几何扩展的解块滤波器965的输出以信号通信方式与参考图像缓冲器980的第一输入连接。参考图像缓冲器980的输出以信号通信方式与具有几何扩展的运动估计器975的第二输入连接。具有几何扩展的运动估计器975的第一输出以信号通信方式与具有几何扩展的运动补偿器970的第二输入连接。具有几何扩展的运动估计器975的第二输出以信号通信方式与具有几何扩展的熵编码器945的第三输入连接。
具有几何扩展的运动补偿器970的输出以信号通信方式与开关997的第一输入连接。帧内预测模块960的输出以信号通信方式与开关997的第二输入连接。具有几何扩展的宏块型决策模块920的输出以信号通信方式与开关997的第三输入连接。开关997的输出以信号通信方式与组合器925的第二非反相输入以及组合器985的反相输入连接。
帧排序缓冲器910的输入和具有几何扩展的编码器控制器905的输入可用作编码器900的输入,用于接收输入图像901。而且,SEI***器930的输入可用作编码器900的输入,用于接收元数据。输出缓冲器935的输出可用作编码器900的输出,用于输出位流。
现在转到图11,一般用附图标记1100来指示一种能够根据被扩展用于本发明原理的MPEG-4 AVC标准来执行视频解码的视频解码器。
视频解码器1100包括输入缓冲器1110,输入缓冲器1110具有以信号通信方式与具有几何扩展的熵解码器1145的第一输入连接的输出。具有几何扩展的熵解码器1145的第一输出以信号通信方式与具有几何扩展的逆变换与逆量化器1150的第一输入连接。具有几何扩展的逆变换与逆量化器1150的输出以信号通信方式与组合器1125的第二非反相输入连接。组合器1125的输出以信号通信方式与具有几何扩展的解块滤波器1165的第二输入,以及具有几何扩展的帧内预测模块1160的第一输入连接。具有几何扩展的解块滤波器1165的第二输出以信号通信方式与参考图像缓冲器1180的第一输入连接。参考图像缓冲器1180的输出以信号通信方式与具有几何扩展的运动补偿器1170的第二输入连接。
具有几何扩展的熵解码器1145的第二输出以信号通信方式与具有几何扩展的运动补偿器1170的第三输入以及具有几何扩展的解块滤波器1165的第一输入连接。具有几何扩展的熵解码器1145的第三输出以信号通信方式与具有几何扩展的解码器控制器1105的输入连接。具有几何扩展的解码器控制器1105的第一输出以信号通信方式与具有几何扩展的熵解码器1145的第二输入连接。具有几何扩展的解码器控制器1105的第二输出以信号通信方式和具有几何扩展的逆变换与逆量化器1150的第二输入连接。具有几何扩展的解码器控制器1105的第三输出以信号通信方式与具有几何扩展的解块滤波器1165的第三输入连接。具有几何扩展的解码器控制器1105的第四输出以信号通信方式与具有几何扩展的帧内预测模块1160的第二输入、运动补偿器1170的第一输入以及参考图像缓冲器1180的第二输入连接。
具有几何扩展的运动补偿器1170的输出以信号通信方式与开关1197的第一输入连接。具有几何扩展的帧内预测模块1160的输出以信号通信方式与开关1197的第二输入连接。开关1197的输出以信号通信方式与组合器1125的第一非反相输入连接。
输入缓冲器1110的输入可用作解码器1100的输入,用于接收输入位流。具有几何扩展的解块滤波器1165的第一输出可用作解码器1100的输出,用于输出输出图像。
关于和相对于MPEG-4 AVC标准使用本发明原理有关的可能修改/扩展,可以修改/扩展编码器和/或解码器控制模块以包括“几何方式”所需的所有决策规则和编码过程结构。
关于和相对于MPEG-4 AVC标准使用本发明原理有关的另一可能修改/扩展,可以修改运动补偿模块以便利用由f(x,y)描述的任意分块及其参数来补偿块。
关于和相对于MPEG-4 AVC标准使用本发明原理有关的又一可能修改/扩展,可以修改运动估计模块以便为基于参数模型的编码方式中可得的不同种类分块测试和选择最适当的运动矢量。
关于和相对于MPEG-4 AVC标准使用本发明原理有关的又一可能修改/扩展,可以修改帧内预测以便考虑基于参数模型的块分割、同时可能在每一分块中选择最合适的预测方式。
关于和相对于MPEG-4 AVC标准使用本发明原理有关的又一可能修改/扩展,可以修改解块循环内滤波器模块以便利用基于参数模型的分块来处理块内更复杂形状的运动区域。
关于和相对于MPEG-4 AVC标准使用本发明原理有关的又一可能修改/扩展,可以修改和扩展熵编码和/或解码以便编码和/或解码和基于参数模型的方式关联的新数据。而且,可以修改运动预测以便处理更复杂形状的运动区域。也可产生并使用用于对基于参数模型的分块参数进行高效编码的预测器。
编码器特定块
编码器控制:
可以扩展编码器控制模块,以便考虑基于参数模型块分割的新方式。这些方式(被称为几何方式)被***MPEG-4 AVC标准中的现有方式中。在用于运动补偿的帧间方式的特殊情况下,使用基于参数模型的16×16和8×8分割块。这些方式中的每一种方式分别被***宏块尺寸方式内以及子宏块尺寸方式内。通过结构相似性,对于16×16几何方式,将这些方式在逻辑上***到16×8和/或8×16方式的前面、中间或后面,并且对于8×8几何方式,将这些方式在逻辑上***到8×4和/或4×8方式的前面、中间或后面。在示例实施中,为了允许在低位速率下以低代价使用16×8和8×16以及8×4和4×8方式,将16×16和8×8几何方式***到它们的MPEG-4 AVC有向方式的紧后面。根据它们的全局使用统计信息,我们也可将它们***到MPEG-4 AVC有向方式(以及子方式)的紧前面,如表1和表2所示。
表1
宏块方式 |
子宏块方式 |
16x16块 |
8x8块 |
16x8块 |
8x4块 |
8x16块 |
4x8块 |
16x16几何块 |
8x8几何块 |
8x8子宏块 |
4x4块 |
… |
|
表2
宏块方式: |
子宏块方式: |
16x16块 |
8x8块 |
16x16几何块 |
8x8几何块 |
16x8块 |
8x4块 |
8x16块 |
4x8块 |
8x8子宏块 |
4x4块 |
… |
|
运动估计
可以修改运动估计模块,以便在需要时处理经过几何修改的分块。例如,在几何方式下,以和基于经典树的16×8、8×16、8×4或4×8分块方式相同的方式,来描述运动。的确,这些方式可以象目前基于参数模型的分块方式的某些特定实例那样运行。因而,它们不被包括在使用中的参数模型的可能配置内。取决于需要以及是正在对P块还是B块编码,可以利用一个或多个参考来模拟每个分块。
P方式例子:在完全P方式的基于参数模型的分割块中,通过从参考帧中选择的匹配补片来模拟两个分块。每个补片都必须具有被设计成适合选定几何分块的形状。以和P宏块及P子宏块相同的方式,每个分块都发送运动矢量。在其一个例子中,选择运动矢量以及f(x,y)模型参数,以致依据某种失真测量(D)和某种编码代价测量(R)最佳地描述块中所包括的信息。为此,对于每个块都共同优化所有参数,以致使D和R一同最小化:
其中λ是乘数,MV1和MV0代表分块中的两个运动矢量,θ和ρ代表一阶多项式的特定情况下的分块参数,每个Ωx都代表每一种信息的有效值集合。
供本发明原理一个或多个实施例使用的失真测量修改例子是,将所产生的掩模用于每个分块(见图7中的掩模例子)。然后,可以修改任何基于经典块的失真测量,以考虑分块,以致:
在以上表达式中,MASKP1(x,y)和MASKP0(x,y)分别代表每个f(x,y)分块。有可能通过将那些非常小的掩模值(例如小于给定阈值(如O.5))的加法运算次数减少为0,来实现其快速实施。这种简化的例子也可以是产生这样一个简化掩模,其中所有等于或小于O.5的值都被舍入为O,且所有大于0.5的值都被舍入为1。然后,在实施例中,只对那些在掩模中为1的位置进行求和,以计算失真。在这种情况下,只需要加法运算,并且可以忽略每个掩模中的所有O值位置。
在实施例中,除了在每个分块中执行运动搜索以外,应该和运动信息一起确定分块自己。因此,也对f(x,y)参数执行搜索。转到图16,一般用附图标记1600来指示一种利用基于模型的分块参数和预测搜索(例如,用于运动估计的运动矢量搜索)进行几何方式估计的示例方法。
方法1600包括开始块1605,开始块1605将控制传递给循环限制块1610。循环限制块1610对所有的可能数量的边缘执行循环(其中边缘数量取决于几何精度),并初始化变量i,并将控制传递给功能块1615。功能块1615产生具有参数集i的分块,并将控制传递给功能块1620。对于给定的分块集i,功能块1620搜索最佳预测器,并将控制传递给决策块1625。决策块1625确定是否已确定最佳分块和最佳预测。如果是这样的话,将控制传递给功能块1630。否则,将控制传递给循环限制块1635。
功能块1630存储最佳几何参数和预测器选择,并将控制传递给循环限制块1635。
循环限制块1635结束对于所有的可能数量的边缘的循环,并将控制传递给结束块1640。
在希望为块分块使用几种可能类型模型的情况下,运动估计可能涉及不同模型的测试,以便寻找适于数据的最佳模型。可以通过发送必需的辅助信息,来处理解码器上的最佳模型选择。
熵编码
可以扩展熵编码,以便根据它们的统计信息以及来自相邻编码-解码块的预测模型,对几何参数进行编码,这些相邻编码-解码块可能自己包括几何分块信息。用于参数模型分割块的运动矢量预测器适合于它们各自分割块的几何结构,以及已经编码的相邻块的几何结构。根据从空间和/或时间相邻块中自适应选择的运动矢量集,来预测每一几何分块运动矢量。其实施例是,取决于当前块分块的几何结构来使用1或3个空间相邻块。当运动矢量数为3时,它们被执行中值滤波。然后,按照MPEG-4 AVC标准,利用可变长编码(VLC)或基于算术编码(AC)的编码,对预测的运动矢量进行编码。
现在将描述两种用于基于模型的分块参数的示例编码方法。
在用于基于模型的分块参数的第一示例编码方法中,当不存在基于模型(或几何)的相邻块时,对这种参数进行编码而不预测。然后,对于一阶多项式情况,在可变长编码的一个实施例中,可以利用均匀码对角度编码,并且可以利用Golomb码对半径编码。
在用于基于模型的分块参数的第二示例编码方法中,当存在至少一个基于模型(或几何)的相邻块时,对这种参数进行预测编码。通过将前面相邻块的参数模型投影到当前块中,来执行参数预测实施例。实际上,对于一阶多项式情况,一个例子是,通过使前面块的线条延续到当前块中,来预测参数。当两个块可用时,预测线是将相邻线与宏块边界的两个交点连接起来的线。
转到图13,一般用附图标记1300来指示从左边块的参数为右边块进行分块参数预测的例子。
转到图14,一般用附图标记1400来指示从上面块的参数为下面块进行分块参数预测的例子。
转到图15,一般用附图标记1500来指示从上面块和左边块为右边块进行分块参数预测的例子。
然后,利用Golomb码对预测参数进行不同编码。在角度的特定情况下,可以利用其周期特性,以便为后面的VLC或AC编码获得最可能的统计信息。在VLC的一个例子中,可以使用Golomb码。
关于几何块方式的编码过程结构,图17、18和19描述了一般基于参数模型的块的编码流程图的特定实施例。实际上,为了对基于参数模型的块进行编码,除了运动数据以外,在块编码过程的某一点还要对分块参数编码。
转到图17,一般用附图标记1700来指示一种用于对几何分割的预测块进行编码的示例方法。
方法1700包括开始块1705,开始块1705将控制传递给决策块1710。决策块1710确定当前方式类型是否为几何方式类型。如果是,则将控制传递给功能块1715。否则,将控制传递给结束块1730。
功能块1715对该几何方式类型编码,并将控制传递给功能块1720。功能块1720对几何分块参数编码,并将控制传递给功能块1725。功能块1725对分块预测编码,并将控制传递给结束块1730。
转到图18A,一般用附图标记1800来指示用于对几何分割的帧间预测块进行编码的示例方法。
方法1800包括开始块1802,开始块1802将控制传递给决策块1804。决策块1804确定当前方式类型是否为几何帧间方式类型。如果是,则将控制传递给功能块1806。否则,将控制传递给结束块1812。
功能块1806对该几何帧间方式类型编码,并将控制传递给功能块1808。功能块1808对几何分块参数编码(例如,如果相邻几何数据可用于预测,则利用相邻几何数据,并据此修改编码表),并将控制传递给功能块1810。功能块1810对分块帧间预测进行编码(例如,如果相邻解码数据可用于预测,则利用相邻解码数据,并据此修改编码表),并将控制传递给结束块1812。
转到图18B,一般用附图标记1850来指示用于对几何分割的帧内预测块进行编码的示例方法。
方法1850包括开始块1852,开始块1852将控制传递给决策块1854。决策块1854确定当前方式类型是否为几何帧内方式类型。如果是,则将控制传递给功能块1856。否则,将控制传递给结束块1862。
功能块1856对该几何帧内方式类型编码,并将控制传递给功能块1858。功能块1858对几何分块参数编码(例如,如果相邻几何数据可用于预测,则利用相邻几何数据,并据此修改编码表),并将控制传递给功能块1860。功能块1860对分块帧内预测进行编码(例如,如果相邻解码数据可用于预测,则利用相邻解码数据,并据此修改编码表),并将控制传递给结束块1862。
转到图19,一般用附图标记1900来指示利用多种类型模型进行编码的示例方法。
方法1900包括开始块1905,开始块1905将控制传递给决策块1910。决策块1910确定当前方式类型是否为几何方式类型。如果是,则将控制传递给功能块1915。否则,将控制传递给结束块1950。
功能块1915对该几何方式类型编码,并将控制传递给准备块1920。准备块1920为当前分块选择参数模型A或B。如果选择了参数模型A,则将控制传递给功能块1935。否则,如果选择了参数模型B,则将控制传递给功能块1925。
功能块1935指定与参数模型A对应的码,并将控制传递给功能块1940。功能块1940对参数模型A的几何分块参数进行编码,并将控制传递给功能块1945。
功能块1925指定与参数模型B对应的码,并将控制传递给功能块1930。功能块1930对参数模型B的几何分块参数进行编码,并将控制传递给功能块1945。
功能块1945对分块预测进行编码,并将控制传递给结束块1950。
编码器/解码器共享块
运动补偿
可以扩展运动补偿模块,以便补偿基于参数模型的分割块中的非方形/非矩形分块。运动补偿过程的块重构是直接从上述运动估计过程得出的。实际上,补偿对应于,把最佳分块集和与运动矢量关联的两个分块形状像素映射一起用作预测器。如以上所定义的,按照给定规则,将“部分表面”像素计算为和运动矢量关联的像素映射的组合。
帧内预测
升级帧内预测,以便根据基于参数模型的块的分块来预测帧内数据。以和利用基于参数模型的分块的运动补偿和运动估计相同的方式,来定义利用基于参数模型的分块的帧内预测,两者基本不同之处在于,改为使用帧内预测,以填充所产生的每一个分块。
循环内解块滤波器
循环内解块滤波减小由预测的块结构以及残差编码离散余弦变换(DCT)所引入的分块人为噪声。循环内解块滤波取决于编码视频数据以及跨越块边界的像素之间的局部强度差异,来修改滤波器强度。本发明原理的实施例引入一种新的视频数据表示形式。对于每一4×4块,包括基于参数模型的分块的块不一定具有恒定运动矢量值,或恒定参考帧值。实际上,利用基于参数模型的分块,在这种任意分割的块中,通过参数模型所限定的形状来定义受给定运动矢量影响的面积和块边界。因此,4×4块可能看上去似乎一半在某个分块,另一半在另一分块中,意味在给定位置使用运动矢量和参考帧。因而,通过修改滤波器强度决策过程,来扩展循环内解块滤波器模块。该过程现在应该能够考虑内部块分块的特定形状来决定滤波器强度。取决于待滤波的块边界部分,需要根据分块形状、而不是如其它MPEG-4 AVC方式那样根据4×4块,来获得适当的运动矢量和参考帧。转到图12,一般用附图标记1200来指示基于参数模型的分割宏块。基于参数模型的分割宏块包括解块面积的一些例子,指示怎样为解块滤波强度决策选择信息,对于受到解块滤波的每个4×4块的每一边都计算一次滤波强度。
通过选择与待滤波块的一侧重叠最多的分块,来选择被考虑用于滤波强度计算的分块。然而,为了简化角落块中的计算,第二备选方法考虑整个变换块,以便从包括受到滤波的两个块边缘的大部分的分块中,获得运动和参考帧信息。
第三备选方法用于将循环内解块滤波和基于参数模型的块分割组合起来,无论何时何地块边界受到基于模型的块分割方式(例如几何方式)影响,该第三备选方法都总是允许通过块边界进行某种程度的滤波。几何方式可以是影响/邻接边界的任意的块。同时,在几何方式中,解块滤波可以或不得应用于那些不位于宏块边界上的变换块。
用于组合循环内解块滤波的第四备选方法考虑头两种方法中的任一种,但是向触发变换块中某种程度滤波使用的条件集合添加以下条件:如果块边界受到包括基于模型的分块曲线和宏块边界之间连接处的变换块的影响,则使用某种程度的解块。
解码器特定块
解码器控制模块
可以扩展解码器控制模块,以便考虑基于参数模型块分块的新方式。以和在编码器端执行的相同方式,将这些方式(几何方式)***MPEG-4AVC标准中的现有方式中。可以修改解码器控制模块,以便完全匹配编码器的结构和解码过程序列,以准确恢复在编码器端编码的信息。
熵解码
可以扩展熵解码,以供基于模型的块分割之用。根据上述熵编码过程,需要扩展熵解码,以致熵解码匹配上述编码过程。图20、21和22描述了其可能的特定实施例,用于一旦指示使用了块方式的码字已被解码、并可用于解码器控制,就对和基于参数模型的编码方式相关的信息进行解码。
转到图20,一般用附图标记2000来指示用于对几何分割的预测块进行解码的示例方法。
方法2000包括开始块2005,开始块2005将控制传递给功能块2010。功能块2010确定当前方式类型是否为几何方式类型。如果是,就将控制传递给功能块2015。否则,将控制传递给结束块2025。
功能块2015对几何分块参数解码,并将控制传递给功能块2020。功能块2020对分块预测解码,并将控制传递给结束块2025。
现在转到图21A,一般用附图标记2100来指示用于对几何分割的帧间预测块进行解码的示例方法。
方法2100包括开始块2112,开始块2112将控制传递给功能块2114。功能块2114确定当前方式类型是否为几何方式类型。如果是,则将控制传递给功能块2116。否则,将控制传递给结束块2120。
功能块2116对几何分块参数解码(例如,如果相邻几何数据可用于预测,则利用相邻几何数据,并据此修改编码表),并将控制传递给功能块2118。功能块2118对分块帧间预测进行解码(例如,如果相邻解码数据可用于预测,则利用相邻解码数据,并据此修改编码表),并将控制传递给结束块2120。
现在转到图21B,一般用附图标记2150来指示用于对几何分割帧内预测块进行解码的示例方法。
方法2150包括开始块2162,开始块2162将控制传递给功能块2164。功能块2164确定当前方式类型是否为几何方式类型。如果是,则将控制传递给功能块2166,否则,将控制传递给结束块2170。
功能块2166对几何分块参数解码(例如,如果相邻几何数据可用于预测,则利用相邻几何数据,并据此修改编码表),并将控制传递给功能块2168。功能块2168对分块帧内预测进行解码(例如,如果相邻解码数据可用于预测,则利用相邻解码数据,并据此修改编码表),并将控制传递给结束块2170。
转到图22,一般用附图标记2200来指示利用多种类型模型进行解码的示例方法。
方法2200包括开始块2205,开始块2205将控制传递给决策块2210。决策块2210确定当前方式类型是否为几何方式类型。如果是,则将控制传递给功能块2215。否则,将控制传递给结束块2240。
功能块2215对该参数模型选择进行解码,并将控制传递给准备块2220。准备块2220为当前分块选择参数模型A或B。如果选择了参数模型A,则将控制传递给功能块2225。否则,如果选择了参数模型B,则将控制传递给功能块2230。
功能块2225对参数模型A的几何分块参数进行解码,并将控制传递给功能块2235。
功能块2230对参数模型B的几何分块参数进行解码,并将控制传递给功能块2235。
功能块2235对分块预测进行解码,并将控制传递给结束块2240。
转到图23,一般用附图标记2300来指示用于片头句法编码的示例方法。
方法2300包括开始块2305,开始块2305将控制传递给功能块2310。功能块2310对片相关信息I编码,并将控制传递给功能块2315。功能块2315对片质量(QP)编码信息进行编码,并将控制传递给功能块2320。功能块2320对几何参数精度信息编码,并将控制传递给功能块2325。功能块2325对片相关信息II编码,并将控制传递给结束块2330。短语“片相关信息I”和“片相关信息II”表示片头相关信息,以致几何精度参数被***片头的现有句法中。
转到图24,一般用附图标记2400来指示推导几何参数精度的示例方法。
方法2400包括开始块2405,开始块2405将控制传递给功能块2410。功能块2410获得当前宏块的QP参数,并将控制传递给功能块2415。功能块2415计算几何参数精度,并将控制传递给结束块2420。
转到图25,一般用附图标记2500来指示重构几何块的示例方法。
方法2500包括开始块2505,开始块2505将控制传递给功能块2510。功能块2510从参数确定几何分块,并将控制传递给功能块2515。功能块2515重新组合分块预测,并将控制传递给功能块2520。功能块2520应用防混叠过程,并将控制传递给功能块2525。功能块2525添加重构的残差,并将控制传递给结束块2530。
转到图26,一般用附图标记2600来指示为当前块搜索最佳方式的示例方法。
方法2600包括开始块2605,开始块2605将控制传递给功能块2610、功能块2615、功能块2620、功能块2625及功能块2630。功能块2610测试16×16块方式,并将控制传递给功能块2635。功能块2615测试16×8块方式,并将控制传递给功能块2635。功能块2620测试8×16块方式,并将控制传递给功能块2635。功能块2625测试16×16几何块方式,并将控制传递给功能块2635。功能块2630测试8×8块方式,并将控制传递给功能块2635。
功能块2635为当前块选择最佳方式,并将控制传递给结束块2640。
转到图27,一般用附图标记2700来指示用于片头句法解码的示例方法。
方法2700包括开始块2705,开始块2705将控制传递给功能块2710。功能块2710对片相关信息I解码,并将控制传递给功能块2715。功能块2715对片质量(QP)编码信息解码,并将控制传递给功能块2720。功能块2720对几何参数精度信息解码,并将控制传递给功能块2725。功能块2725对片相关信息II解码,并将控制传递给结束块2730。
现在将描述本发明的诸多附带优点/特征中的一些,以上已经描述了其中一些附带优点/特征。例如,一个优点/特征是这样一种设备,该设备包括编码器,该编码器用于通过响应至少一种参数模型自适应地分割图像至少一部分,来编码与图像对应的图像数据。该至少一种参数模型包括至少一条曲线的隐式和显式公式的至少之一。
另一优点/特征是具有如上所述编码器的设备,其中该至少一种参数模型和该至少一条曲线的至少之一是从几何信号模型获得的。
又一优点/特征是具有如上所述编码器的设备,其中该至少一种参数模型和该至少一条曲线中的至少之一,描述一条或多条图像轮廓和一条或多条边界的至少之一。
又一优点/特征是具有如上所述编码器的设备,其中至少一个多项式用作该至少一种参数模型和该至少一条曲线的至少之一。
而且,另一优点/特征是具有如上所述编码器的设备,其中一阶多项式模型用作该至少一种参数模型和该至少一条曲线的至少之一。
此外,另一优点/特征是具有如上所述编码器的设备,其中如上所述使用一阶多项式模型,并且该一阶多项式模型包括角度参数和距离参数。
而且,另一优点/特征是具有如上所述编码器的设备,其中当多种参数模型可用时,从模型集中为给定图像部分自适应地选择该至少一种参数模型,并且对该选择显式或隐式编码。
另外,又一优点/特征是具有如上所述编码器的设备,其中该编码器利用至少一个高级句法元素,对该至少一种参数模型和该至少一条曲线的至少之一的参数精度执行显式或隐式编码。
而且,另一优点/特征是具有如上所述使用至少一个高级句法元素的编码器的设备,其中该至少一个高级句法元素位于片头级、SEI级、PPS级、SPS级和网络抽象层单元头级的至少之一上。
此外,另一优点/特征是具有如上所述编码器的设备,其中修改该至少一种参数模型和该至少一条曲线的至少之一的参数精度,以便控制压缩效率和编码复杂性至少之一。
而且,另一优点/特征是具有如上所述编码器的设备,其中取决于压缩质量参数来修改该至少一种参数模型和该至少一条曲线的至少之一的参数精度。
另外,另一优点/特征是具有如上所述编码器的设备,其中从空间相邻块和时间相邻块至少之一,来预测和至少一幅图像的至少一个分块关联的预测器数据。
而且,另一优点/特征是具有如上所述编码器的设备,其中从空间相邻块和时间相邻块至少之一,来预测该至少一种参数模型和该至少一条曲线的至少之一的分块模型参数。
此外,另一优点/特征是具有如上所述编码器的设备,其中该编码器根据该至少一种参数模型和该至少一条曲线的至少之一,利用以下至少之一来计算部分地位于多个分块中的像素的预测值:防混叠过程,像素对应位置的部分预测值的组合,像素对应位置的全部预测值,邻域,以及像素部分地位于其中的多个分块中的不同分块预测器。
而且,另一优点/特征是具有如上所述编码器的设备,其中该编码器是现有视频编码标准或视频编码建议的现有混合预测编码器的扩展版本。
另外,另一优点/特征是具有如上所述的、作为现有视频编码标准或视频编码建议的现有混合预测编码器的扩展版本的编码器的设备,其中该编码器将基于参数模型的分块分别应用于图像宏块和子宏块至少之一,作为图像宏块和子宏块至少之一的编码方式。
而且,另一优点/特征是具有如上所述应用基于参数模型的分块的编码器的设备,其中基于参数模型的编码方式被***现有视频编码标准或视频编码建议的现有宏块和子宏块编码方式内。
此外,另一优点/特征是具有如上所述应用基于参数模型的分块的编码器的设备,其中该编码器对该至少一种参数模型和该至少一条曲线的至少之一的模型参数进行编码,以便和分块预测数据一起产生基于参数模型的分块。
而且,另一优点/特征是具有如上所述应用基于参数模型的分块的编码器的设备,其中该编码器选择该至少一种参数模型、该至少一条曲线和分块预测的至少之一的模型参数,以便共同使失真测量和编码代价测量的至少之一最小化。
另外,另一优点/特征是具有如上所述应用基于参数模型的分块的编码器的设备,其中与至少两个基于参数模型的分块重叠的至少一幅图像的像素是,来自该至少两个基于参数模型的分块的预测的加权线性平均。
而且,另一优点/特征是具有如上所述应用基于参数模型的分块的编码器的设备,其中分块预测的类型是帧间类型和帧内类型至少之一。
此外,另一优点/特征是具有如上所述应用基于参数模型的分块的编码器的设备,其中该编码器选择性地将该至少一种参数模型和该至少一条曲线的至少之一的参数预测用于分块模型参数编码。
而且,另一优点/特征是具有如上所述选择性地使用参数预测的编码器的设备,其中一特定图像的当前块的预测是基于从相邻块到当前块的曲线外推。
另外,另一优点/特征是具有如上所述选择性地使用参数预测的编码器的设备,其中该编码器取决于该至少一种参数模型和该至少一条曲线的至少之一的参数是否被预测,来利用不同上下文或编码表对图像数据进行编码。
而且,另一优点/特征是具有如上所述应用基于参数模型的分块的编码器的设备,其中该编码器是ISO/IEC MPEG-4第10部分AVC标准/ITU-TH.264建议的编码器的扩展版本。
此外,另一优点/特征是具有如上所述应用基于参数模型的分块的编码器的设备,其中当使用基于参数模型的分块方式时,该编码器应用解块滤波和参考帧滤波至少之一,以适于处理由于宏块和子宏块至少之一的非树分割而受到至少一个基于参数模型的分块影响的变换尺寸块。
相关领域的普通技术人员基于此处的教导,可以容易弄清本发明原理的这些及其它特征和优点。应该理解,可以以各种形式的硬件、软件、固件、专用处理器或它们的组合,来实施本发明原理的教导。
最优选的是,将本发明原理的教导实施为硬件和软件的组合。而且,可以将软件实施为确实可在程序存储单元上具体化的应用程序。可将该应用程序上载到包括任何合适架构的机器、并由该机器执行。优选地,在具有硬件如一个或多个中央处理器(CPU)、随机存储器(RAM)和输入/输出(I/O)接口的计算机平台上,实施该机器。该计算机平台也可包括操作***和微指令码。在此描述的各种过程和功能可以是可通过CPU执行的微指令码一部分或应用程序一部分、或它们的任何组合。另外,其它各种***单元可连接到该计算机平台,如附加数据存储单元和打印单元。
应该进一步理解,因为优选地用软件来实施附图中所描述的一些***组成部件和方法,所以***部件或过程功能块之间的实际连接可以随本发明原理的编程方式而变。给定此处的教导,相关领域的普通技术人员将能够预期本发明原理的这些及类似实施或配置。
虽然在此参考附图描述了说明性实施例,但是应该理解,本发明原理不限于那些确切的实施例,并且在不脱离本发明范围或精神的情况下,相关领域普通技术人员可以对本发明进行各种变化和更改。所有这种变化和更改都预定被包括在如所附权利要求所阐述的本发明原理范围内。