背景技术
通常被称作基于块的混合编码方法的通用且高效的视频编码方法涉及使用基于块的时间预测和变换编码。该方法实质上是所有国际视频编码标准的核心。
在基于块的混合视频编码器中,每个画面被划分成块。使用运动补偿预测和变换编码的组合来编码帧间画面中的每个块。当运动补偿预测去除了时间相关时,变换编码还对空域中的信号进行去相关,并且将能量压缩为几个系数。
针对各种国际标准已经开发了不同的变换。在国际标准化组织/国际电工委员会(ISO/IEC)运动图像专家组-4(MPEG-4)第10部分高级视频编码(AVC)标准/国际电信联盟电信分部(ITU-T)H.264推荐标准(以下称为“MPEG-4AVC标准”)之前的标准中,变换块大小典型地为8×8。8×8变换大小具有以下优点:是二进(dyadic)的,大到足以捕获趋势和周期性,而同时小到足以最小化由于变换区域上的局部瞬变所引起的扩散效应。
在MPEG-4AVC标准中,如下三种附加变换也是可用的:
●16×16模式下预测的帧内宏块中针对4×4亮度DC系数阵列的Hadamard变换;
●任何宏块中针对2×2色度DC系数阵列的Hadamard变换;以及
●4×4基于DCT的变换。
这种4×4的较小尺寸使得编码器能够使预测误差编码适合于移动对象的边界,使编码块尺寸与运动补偿的最小块尺寸相匹配,以及通常使变换更好地适合于局部预测误差信号。
为了编码针对帧间帧的亮度分量的残差数据,编码器从8×8和4×4变换中进行选择。相反,如下针对色度分量的变换是固定的:与针对DC系数的2×2Hadamard编码级联的4×4变换。
KTA中针对帧间画面的亮度和色度残差的变换
VCEG“关键技术区域(key technical area)”(KTA)软件已经提供了一种公共平台,以在MPEG-4AVC标准的结束之后在视频编码中集成新的进展。在KTA中采用使用扩展块尺寸和大变换的建议。在当前KTA软件中,实现了大于16×16像素的运动分区(motion partition)。具体地,除了现有的MPEG-4AVC标准分区尺寸以外,还使用尺寸为64×64、64×32、32×64、32×32、32×16、16×32的宏块。较大的块变换还用于更好地捕获高清视频中通常更平滑的内容。更大的块变换包括16×16、16×8和8×16变换。注意,所有这些变换应用于亮度分量。针对色度分量的变换与MPEG-4AVC标准相同,是级联的4×4变换。这样的固定变换不考虑视频内容的特性。
典型色度变换
转向图1,视频编码器中针对色度编码的传统方法由附图标记100总体指示。方法100包括开始框110,开始框110将控制传递至循环限制框120。循环限制框120使用范围从1,...,画面数目(#)(例如,在输入视频序列中)的变量j开始第一循环(循环(1)),并且将控制传递至循环限制框130。循环限制框130使用范围从1,...,块数目(#)(例如,在输入视频序列的当前画面中)的变量i开始第一循环(循环(2)),并且将控制传递至功能框140。功能框140对画面j中针对块i的亮度分量进行编码,并且将控制传递至功能框150。功能框150利用固定变换对画面j中针对块i的色度分量进行编码,并且将控制传递至循环限制框160。循环限制框160结束循环(2),并且将控制传递至功能框170。功能框170结束循环(1),并且将控制传递至结束框199。
转向图2,视频解码器中针对色度解码的传统方法由附图标记200总体指示。方法200包括开始框210,开始框210将控制传递至循环限制框220。循环限制框220使用范围1,...,画面数目(#)(例如,在输入视频序列中)的变量j开始第一循环(循环(1)),并且将控制传递至循环限制框230。循环限制框230使用范围从1,...,块数目(#)(例如,在输入视频序列的当前画面中)的变量i开始第一循环(循环(2)),并且将控制传递至功能框240。功能框240对画面j中针对块i的亮度分量进行解码,并且将控制传递至功能框250。功能框250利用固定变换对画面j中针对块i的色度分量进行解码,并且将控制传递至循环限制框260。循环限制框260结束循环(2),并且将控制传递至功能框270。功能框270结束循环(1),并且将控制传递至结束框299。
因此,关于方法100,如上所述,对于色度而言,用于每个块和每个画面的变换是固定的,而亮度分量可以使用自适应变换。作为方法120的一部分,可能利用自适应选择的变换来对块的亮度分量进行编码。然而,始终利用固定变换对色度分量进行编码,并因此也利用固定变换进行解码(例如,通过方法200)。不利地,如上所述,这种固定变换不考虑视频内容的特性。
具体实施方式
本发明原理涉及一种视频编码和解码中针对帧间帧的改进色度变换的方法和设备。
本说明书示意了本发明原理。因此将认识到的是,尽管这里没有明确描述或示出,本领域的技术人员将能够设想体现本发明原理并包括在本发明精神和范围内的各种布置。
这里所引述的所有示例和条件性语言均为了教导的目的,以帮助读者理解本发明原理以及发明人对现有技术做出贡献的构思,应看作不会被限制为这里具体引述的示例和条件。
此外,这里对本发明的原理、方面、实施例及其特定示例做出引述的所有声明意在包括本发明的结构和功能上的等同物。另外,该等同物将包括当前已知的等同物以及将来开发出的等同物,即所开发出来的执行相同功能的任何组件,而与结构无关。
因此,本领域的技术人员可以理解,例如这里所表示的框图展示出体现本发明的示意性电路的概念图。类似地,将理解,任何流程、流程图、状态转移图、伪代码等表现出实质上可以在计算机可读介质上表现的、并且由计算机或处理器执行的各个过程,无论是否明确示出该计算机或处理器。
可以通过使用专用硬件和能够执行适合的软件的关联软件的硬件而实现图中所示各个组件的功能。当由处理器来提供时,这些功能可以由单个的专用处理器、单个的共享处理器、或多个单独的处理器来提供,其中一些可以是共享的。此外,术语“处理器”或“控制器”的显式使用不应被解释为排他性地指代能够执行软件的硬件,而且可以隐式地包括(不限为)数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)以及非易失性存储器。
还可以包括常规和/或定制的其它硬件。类似地,图中所示的任何开关仅是概念上的。其功能可以通过程序逻辑的操作、专用逻辑、程序控制和专用逻辑的交互、或甚至是手动地实现,实施者可以选择的具体技术可以从上下文中得到明确的理解。
在权利要求书中,表示为用于执行指定功能的装置的任何组件意在包括执行该功能的任何方式,例如包括:a)执行该功能的电路元件的组合,或b)任意形式的软件,包括固件、微代码等,并与用于执行该软件以执行该功能的适合的电路进行组合。由权利要求所限定的本发明原理在于如下事实:将各个引述的装置所提供的功能以权利要求所要求的方式组合在一起。因此,可以把能够提供这些功能的任意装置看作与这里所示的装置相等同。
在说明书中涉及本发明原理的“一个实施例”或“实施例”是指:结合实施例描述的特定特征、结构、特性等包括在本发明的至少一个实施例中。因此,贯穿说明书在不同地方出现的短语“在一个实施例中”或“在实施例中”以及任何其他变型不必均指相同的实施例。
应当理解的是,以下“/”、“和/或”和“至少一个”中任意的使用,例如在“A/B”、“A和/或B”和“A和B中的至少一个”的情况下,意在包括只选择第一所列项目(A)、或只选择第二所列项目(B)、或选择两个项目(A和B)。作为另一示例,在“A、B和/或C”以及“A、B和C中的至少一个”的情况下,这样的表示意在包括只选择第一所列项目(A)、只选择第二所列项目(B)、只选择第三所列项目(C)、选择第一和第二所列项目(A和B)、选择第一和第三所列项目(A和C)、选择第二和第三所列项目(B和C)、或选择所有三个项目(A和B和C)。对于本领域和相关领域的普通技术人员来说显而易见的是,对于所列的许多项目,上述是可以扩展的。
同样如这里所使用的,词语“画面”和“图像”可互换使用,并且指代的是来自视频序列的静止图像或画面。如已知的,画面可以是帧或场。
此外,如这里所使用的,词语“信号”指的是表示对于对应解码器的某种东西。例如,编码器可以用信号通知一组变换和/或逆变换中特定的变换,以便使得解码器知晓编码器一侧使用的哪种特定变换和/或逆变换。在这种情况下,可以在编码器侧和解码器侧使用相同的变换。因此,例如编码器可以向解码器传输特定变换和/或逆变换,使得解码器可以使用相同的特定变换和/或逆变换,或者如果解码器已经具有特定变换和/或逆变换以及其他,那么可以使用信号通知(而无须传输)来简单地允许解码器知道和选择特定变换和/或逆变换。通过避免任意实际变换的传输,可以实现比特节省。应该认识到的是可以按照多种方式实现信号通知。例如,可以将一个或多个高级元素、标记等等用于向对应解码器信号通知信息。
此外,如这里所使用的,短语“条件邻近块(causal neighboringblock)”是指在编码或解码顺序方面在当前块之前的邻近块。当处理当前块时已经编码或解码了这种块。
出于示意和描述的目的,这里在对结合MPEG-4AVC标准使用的KTA软件的改进上下文中描述示例。然而,应当认识到本发明原理不仅限于上述。在给定这里提供的本发明原理的教导下,本领域和相关领域的普通技术人员容易理解的是,本发明原理同样可适用,并且当应用于其他标准的扩展时或者当应用和/或合并到还没有开发的标准中时能够提供至少类似的利益。还应当认识到,本发明原理还应用于不满足标准但是满足专利限定的视频编码器和视频解码器。
此外,为了清楚起见,使用4:2:0色度格式来描述本发明原理。然而,本领域和相关领域普通技术人员容易理解的是,本发明原理可以容易地应用于其他格式(例如,4:2:2格式,4:4:4格式等)。
转向图3,可以应用本发明原理的示例性视频编码器由附图标记300总体指示。视频编码器300包括具有与组合器385的非反相输入进行信号通信的输出。组合器385的输出与变换和量化器325的第一输入信号通信连接。变换和量化器325的输出与熵编码器345的第一输入以及逆变换和逆量化器350的第一输入信号通信连接。熵编码器345的输出与组合器390的第一非反相输入信号通信连接。组合器390的输出与输出缓冲器335的第一输入信号通信连接。
编码器控制器305的第一输出与帧排序缓冲器310的第二输入、逆变换和逆量化器350的第二输入、画面类型判定模块315的输入、宏块类型(MB-类型)判定模块320的第一输入、帧内预测模块360的第二输入、去块滤波器365的第二输入、运动补偿器370的第一输入、运动估计器375的第一输入以及参考画面缓冲器380的第二输入信号通信连接。
编码器控制器305的第二输出与补充增强信息(SEI)***器330的第一输入、变换和量化器325的第二输入、熵编码器345的第二输入、输出缓冲器335的第二输入以及序列参数集(SPS)和画面参数集(PPS)***器340的输入信号通信连接。
SEI***器330的输出与组合器390的第二非反相输入信号通信连接。
画面类型判定模块315的第一输出与帧排序缓冲器310的第三输入信号通信连接。画面类型判定模块315的第二输出与宏块类型判定模块320的第二输入信号通信连接。
序列参数集(SPS)和画面参数集(PPS)***器340的输出与组合器390的第三非反相输入信号通信连接。
逆量化和逆变换器350的输出与组合器319的第一非反相输入信号通信连接。组合器319的输出与帧内预测模块360的第一输入以及去块滤波器365的第一输入信号通信连接。去块滤波器365的输出与参考画面缓冲器380的第一输入信号通信连接。参考画面缓冲器380的输出与运动估计器375的第二输入和运动补偿器370的第三输入信号通信连接。运动估计器375的第一输出与运动补偿器370的第二输入信号通信连接。运动估计器375的第二输出与熵编码器345的第三输入信号通信连接。
运动补偿器370的输出与开关397的第一输入信号通信连接。帧内预测模块360的输出与开关397的第二输入信号通信连接。宏块类型判定模块320的输出与开关397的第三输入信号通信连接。开关397的第三输入确定开关的“数据”输入(与控制输入相比较,即与第三输入相比较)是由运动补偿器370还是帧内预测模块360提供。开关397的输出与组合器319的第二非反相输入和组合器385的反相输入信号通信连接。
帧排序缓冲器310的第一输入和编码器控制器105的输入可用作编码器300用于接收输入画面的输入。此外,补偿增强信息(SEI)***器330的第二输入可用作编码器300用于接收元数据的输入。输出缓冲器335的输出可用作编码器300用于输出比特流的输出。
转向图4,可以应用本发明原理的示例性视频解码器由附图标记400总体指示。视频解码器400包括具有与熵解码器445的第一输入信号通信连接的输出的输入缓冲器410。熵解码器445的第一输出与逆变换和逆量化器450的第一输入信号通信连接。逆变换和逆量化器450的输出与组合器425的第二非反相输入信号通信连接。组合器425的输出与去块滤波器465的第二输入以及内预测模块460的第一输入信号通信连接。去块滤波器465的第二输出与参考画面缓冲器480的第一输入信号通信连接。参考画面缓冲器480的输出与运动补偿器470的第二输入信号通信连接。
熵解码器445的第二输出与运动补偿器470的第三输入、去块滤波器465的第一输入以及帧内预测器460的第三输入信号通信连接。熵解码器445的第三输出与解码器控制器405的输入信号通信连接。解码器控制器405的第一输出与熵解码器445的第二输入信号通信连接。解码器控制器405的第二输出与逆变换和逆量化器450的第二输入信号通信连接。解码器控制器405的第三输出与去块滤波器465的第三输入信号通信连接。解码器控制器405的第四输出与帧内预测模块460的第二输入、运动补偿器470的第一输入和参考画面缓冲器480的第二输入信号通信连接。
运动补偿器470的输出与开关497的第一输入信号通信连接。帧内预测模块460的输出与开关497的第二输入信号通信连接。开关497的输出与组合器425的第一非反相输入信号通信连接。
输入缓冲器410的输入可用作解码器400的输入,用于接收输入比特流。去块滤波器465的第一输出可用作解码器400的输出,用于输出输出画面。
如上所述,本发明原理涉及视频编码和解码中针对帧间帧的改进色度变换的方法和装置。即,本发明提出了改进针对帧间画面的色度分量变换的方法和装置,并且本发明提出了改进针对帧间帧的色度分量编码效率的新变换。在一个实施例中,本发明介绍针对帧间画面的色度分量的更多变换,并且允许编码器从多个变换中进行选择。本发明还公开和描述了选择和信号通知选定变换的方法。
改进方法1-基于亮度信息确定色度变换
在KTA软件中,支持尺寸为32×32和64×64的宏块。对于32×32块,除了现有的MPEG-4AVC标准运动分区尺寸(16×16,16×8,8×16,8×8,8×4,4×8和4×4)以外,还可以实现使用32×32,32×16和16×32分区的帧间编码。转向图5,可以应用本发明原理的32×32块下KTA允许的运动分区由附图标记500总体指示。对于尺寸为64×64的宏块,还附加地使用64×64,64×32和32×64分区。
更大的变换可以更好地捕获高清视频中通常更平滑的内容。对于帧间画面而言,针对亮度分量,除了4×4和8×8变换以外还可以使用16×16,16×8和8×16变换。具体地,对于尺寸为16×16,16×8和8×16,的每个运动分区而言,除了4×4和8×8变换以外还可以使用16×16,16×8和8×16变换。对于比16×16更大的运动分区而言,除了除了4×4和8×8变换以外还可以使用16×16变换。
同样为了更好地捕获色度分量中的更平滑内容,本发明提出对于色度引入更大的变换。考虑4:2:0色度格式,色度分区可以与其亮度对应方的四分之一一样大小,这是因为色度分量沿着两个维度被减半。由于针对平滑区域通常选择更大的运动分区尺寸,因此,与运动分区尺寸成比例地设计变换是合理的。在一个实施例中,使用具有最大变换和最小变换约束的分区尺寸变换。例如,当运动分区是16×16时,那么8×8变换(两个方向上16×16的一半)用于色度。当运动分区是64×64时,那么最大变换16×16用于色度。
改进方法1的第一变型
关于另一种考虑,针对色度分区的变换尺寸还应当反映同一位置亮度和色度分量之间的依赖。在一个示例中,根据相同运动分区的亮度变换来判定色度变换。在一个实施例中,色度变换与亮度变换对准,但是沿着两个维度减半(8×8亮度变换意味着4×4色度变换),可能具有最大变换尺寸和最小变换尺寸约束(4×4级联变换)。
改进方法1的第二变型
关于又一种考虑,色度编码尺寸应当既反映运动分区尺寸又反映亮度变换尺寸,并且可以被判定为依赖于两个参数。对于一个示例而言,当运动分区尺寸大于阈值时,色度变换尺寸由亮度变换尺寸来确定。否则,色度变换尺寸由运动分区信息尺寸来确定。
转向图6,对于帧间画面中的色度分量使用自适应变换来编码视频序列的示例性方法由附图标记600总体指示。方法600包括开始框610,开始框610将控制传递至循环限制框620。循环限制框620使用范围从1,...,画面数目(#)(例如,在输入视频序列中)的变量j开始第一循环(循环(1)),并且将控制传递至循环限制框630。循环限制框630使用范围从1,...,块数目(#)(例如,在输入视频序列的当前画面中)的变量i开始第二循环(循环(2)),并且将控制传递至功能框640。功能框640对画面j中针对块i的亮度分量进行编码,并且将控制传递至功能框650。功能框650利用自适应变换对画面j中针对块i的色度分量进行编码,并且将控制传递至循环限制框660。循环限制框660结束循环(2),并且将控制传递至功能框670。功能框670结束循环(1),并且将控制传递至结束框699。关于功能框650,应当认识到例如可以根据运动分区尺寸和/或亮度变换尺寸自适应地确定色度变换。
转向图7,对于帧间画面中的色度分量使用自适应变换来解码视频序列的示例性方法由附图标记700总体指示。方法700包括开始框710,开始框710将控制传递至循环限制框720。循环限制框720使用范围1,...,画面数目(#)(例如,在输入比特流中)的变量j开始第一循环(循环(1)),并且将控制传递至循环限制框730。循环限制框730使用范围从1,...,块数目(#)(例如,在输入比特流的当前画面中)的变量i开始第二循环(循环(2)),并且将控制传递至功能框740。功能框740对画面j中针对块i的亮度分量进行解码,并且将控制传递至功能框750。功能框750利用自适应变换对画面j中针对块i的色度分量进行解码,并且将控制传递至循环限制框760。循环限制框760结束循环(2),并且将控制传递至功能框770。功能框770结束循环(1),并且将控制传递至结束框799。关于功能框750,应当认识到例如可以根据运动分区尺寸和/或亮度变换尺寸自适应地确定色度变换。
改进方法1-与亮度信息无关地确定色度变换
上述方法向帧间画面的色度分量引入更多变换。此外,针对色度的变换尺寸由亮度信息导出,并且不需要间接成本。另一方面,色度和亮度分量通常不高度相关,并因此根据亮度信息来确定色度信息会引起编码器不能捕获色度分量中的内容特性。
因此,根据该方法,本发明提出了基于色度变换尺寸自身信息来确定色度变换尺寸。编码器必须判定使用哪个变换。一种方法是使用每个变换尺寸来计算速率失真(RD)RD成本,并且选择获得最小成本的变换尺寸。在选择变换尺寸之后,需要指示该变换。可以在块级别、分片级别、画面级别、序列级别等上确定/指示变换尺寸。使用块级别作为示例,本发明可以信号通知为每个块选择的变换尺寸。当考虑到亮度与色度之间的相关性时,需要仅对亮度与色度变换尺寸之间的差进行编码。
为了进一步降低指示色度编码尺寸而引起的间接成本,一种方法是隐式地指示这种信息。具体地,在编码器和解码器处均使用相同公式来导出该信息。在一个实施例中,因果邻近块的中间变换尺寸用于当前块,可能具有对最大和最小变换尺寸的约束。除了变换尺寸以外,诸如运动分区信息、亮度变换信息之类的其他信息也可以用于导出当前块的变换。
下文中,图8和9涉及本发明原理的实施例,包括编码器向对应解码器显式地信号通知色度变换。
转向图8,对于帧间画面中的色度分量使用自适应变换来编码视频序列的示例性方法由附图标记800总体指示。在方法800中,在得到的比特流中显式地信号通知针对色度分量的变换。方法800包括开始框810,开始框810将控制传递至循环限制框820。循环限制框820使用范围从1,...,画面数目(#)(例如,在输入视频序列中)的变量j开始第一循环(循环(1)),并且将控制传递至循环限制框830。循环限制框830使用范围从1,...,块数目(#)(例如,在输入视频序列的当前画面中)的变量i开始第二循环(循环(2)),并且将控制传递至功能框840。功能框840对画面j中针对块i的亮度分量进行编码,并且将控制传递至功能框850。功能框850对画面j中针对块i的色度变换进行编码,并且将控制传递至功能框860。功能框860利用判定的变换对画面j中针对块i的色度分量进行编码,并且将控制传递至循环限制框870。循环限制框870结束循环(2),并且将控制传递至功能框880。功能框880结束循环(1),并且将控制传递至结束框899。关于功能框850,应当认识到可以对色度变换尺寸本身或者与亮度变换尺寸的差进行编码。
转向图9,对于帧间画面中的色度分量使用自适应变换来解码视频序列的示例性方法由附图标记900总体指示。方法900包括开始框910,开始框910将控制传递至循环限制框920。循环限制框920使用范围1,...,画面数目(#)(例如,在输入比特流中)的变量j开始第一循环(循环(1)),并且将控制传递至循环限制框930。循环限制框930使用范围从1,...,块数目(#)(例如,在输入比特流的当前画面中)的变量i开始第二循环(循环(2)),并且将控制传递至功能框940。功能框940对画面j中针对块i的亮度分量进行解码,并且将控制传递至功能框950。功能框950对画面j中针对块i的色度变换进行解码,判定色度变换的变换尺寸,并且将控制传递至功能框960。功能框960利用判定的变换对画面j中针对块i的色度分量进行解码,并且将控制传递至循环限制框970。循环限制框970结束循环(2),并且将控制传递至功能框980。功能框980结束循环(1),并且将控制传递至结束框999。关于功能框950,应当认识到可以对色度变换尺寸本身或者色度变换尺寸与亮度变换尺寸的差进行解码。
下文中,图10和11涉及本发明原理的实施例,包括编码器和对应的解码器导出色度变换,并因此避免必须显式地信号通知色度变换。
转向图10,对于帧间画面中的色度分量使用自适应变换来编码视频序列的另一示例性方法由附图标记1000总体指示。在方法1000中,在得到的比特流中无需信号通知针对色度分量的变换,并因此从对应的解码器中隐式地导出针对色度分量的变换。方法1000包括开始框1010,开始框1010将控制传递至循环限制框1020。循环限制框1020使用范围从1,...,画面数目(#)(例如,在输入视频序列中)的变量j开始第一循环(循环(1)),并且将控制传递至循环限制框1030。循环限制框1030使用范围从1,...,块数目(#)(例如,在输入视频序列的当前画面中)的变量i开始第二循环(循环(2)),并且将控制传递至功能框1040。功能框1040对画面j中针对块i的亮度分量进行编码,并且将控制传递至功能框1050。功能框1050对画面j中针对块i的色度变换进行编码,并且将控制传递至功能框1060。功能框1060结束循环(2),并且将控制传递至功能框1070。功能框1070结束循环(1),并且将控制传递至结束框1099。关于功能框1050,色度变换尺寸是隐式的。可以根据运动分区信息、亮度变换信息和/或用于因果邻近块的变换尺寸来确定色度变换尺寸。例如,在一个实施例中,因果邻近块的中间变换尺寸用于当前块。
转向图11,对于帧间画面中的色度分量使用自适应变换来解码视频序列的示例性方法由附图标记1100总体指示。在方法1100中,隐式地导出针对色度分量的变换。方法1100包括开始框1110,开始框1110将控制传递至循环限制框1120。循环限制框1120使用范围1,...,画面数目(#)(例如,在输入视频序列中)的变量j开始第一循环(循环(1)),并且将控制传递至循环限制框1130。循环限制框1130使用范围从1,...,块数目(#)(例如,在输入视频序列的当前画面中)的变量i开始第二循环(循环(2)),并且将控制传递至功能框1140。功能框1140对画面j中针对块i的亮度分量进行解码,并且将控制传递至功能框1150。功能框1150对画面j中针对块i的色度变换进行解码,并且将控制传递至功能框1160。功能框1160结束循环(2),并且将控制传递至功能框11700。功能框1170结束循环(1),并且将控制传递至结束框1199。关于功能框1150,色度变换尺寸是隐式的。可以根据运动分区信息、亮度变换信息和/或用于因果邻近块的变换尺寸来确定色度变换尺寸。例如,在一个实施例中,因果邻近块的中间变换尺寸用于当前块。
语法
假定对于每个块显式地指示针对色度分量的变换尺寸,本发明提供与如何定义语法以应用本发明原理有关的示例。可以在各个级别(例如在运动分区级别、分片级别、画面级别和/或等)上应用语法。根据本发明原理实施例,表1示出了针对从编码器向对应的解码器直接发送变换尺寸的情况的示例性宏块层语法。在该示例中,本发明考虑三种变换尺寸:4×4;8×8;和16×16。表2示出了针对从编码器向对应的解码器发送色度变换尺寸与亮度变换尺寸之间差的情况的示例性宏块层语法。当对色度残差进行帧间编码时(即,mb_type!=INTRA,CodedBlockPatternChroma>0,并且没有将当前宏块编码为DIRECT或SKIP模式),仅需要变换尺寸。
表1
表2
表1和表2中的一些语法元素的语义如下:
Transform_size_chroma指定宏块中色度的变换尺寸的值。
Transform_size_chroma_luma_difference指定宏块中色度变换尺寸与色度变换尺寸之间的差。可以通过将该值与亮度变换尺寸相加来获得色度变换尺寸。
现在将给出对于本发明的许多附加优点/特征的一些的描述,其中的一些在前面已经描述。例如,一个优点/特征是一种具有视频编码器的设备,视频编码器使用帧间编码对画面中的至少一部分进行编码。响应于至少一个选择准则从多个变换中自适应地选择变换,以应用于该部分的色度分量。
另一个优点/特征是一种具有上述视频编码器的设备,其中,至少一个选择准则包括运动分区信息和亮度变换信息中的至少一个。
又一个优点/特征是一种具有上述视频编码器的设备,其中,将变换显式地信号通知到对应的解码器。
又一个优点/特征是一种具有上述视频编码器的设备,其中,如上所述将变换显式地信号通知到对应的解码器,将色度变换尺寸与亮度变换尺寸之间的已编码差显式地信号通知到对应的解码器。
此外,另一个优点/特征是一种具有上述视频编码器的设备,其中,隐式地导出与变换相对应的色度变换尺寸。
此外,另一个优点/特征是一种具有上述视频编码器的设备,其中,如上所述隐式地导出与变换相对应的色度变换尺寸,根据运动分区信息、亮度变换信息和用于相对于该部分的因果邻近块的变换尺寸中的至少一个隐式地导出色度变换尺寸。
基于这里的教导,本领域的普通技术人员可以容易地确定本发明的这些以及其它特征和优点。应理解的是,本发明的教导可以以硬件、软件、固件、专用处理器或其组合的各种形式来实现。
最优选地,将本发明的教导实现为硬件和软件的组合。此外,可以将软件实现为在程序存储单元上具体体现的应用程序。可将该应用程序上载到包括任何适合架构在内的机器并由该机器执行。优选地,在具有硬件(如,一个或多个中央处理单元(“CPU”)、随机访问存储器(“RAM”)以及输入/输出(“I/O”)接口)的计算机平台上实现该机器。该计算机平台还可以包括操作***和微指令代码。这里描述的各种处理和功能可以是可由CPU执行的微指令代码的一部分或应用程序的一部分或其组合。此外,可将其它各种***单元连接到计算机平台,如附加的数据存储单元和打印单元。
还应理解的是,由于在附图中描述的一些构成***组件和方法优选地以软件来实现,***组件或处理功能块之间的实际连接可以根据对本发明原理编程的方式而有所不同。在这里给出教导的情况下,本领域的普通技术人员将能够想到本发明的这些以及类似的实现方式或配置。
虽然这里参考附图描述了示意性的实施例,但是应理解的是,本发明并不限于这些确定的实施例,在不背离本发明的范围或精神的情况下,本领域的普通技术人员可以实现各种变化和修改。所有这些变化和修改旨在包括在如所附权利要求中所阐述的本发明的范围内。