等级分割中的块级别变换选择和隐式信令的编码变换方法和设备与流程

文档序号:14213586阅读:239来源:国知局
等级分割中的块级别变换选择和隐式信令的编码变换方法和设备与流程

本发明大体涉及对静止图像或视频图像的图像进行编码和解码的领域,具体涉及使用量化变换系数将源图像编码为输出比特流,并使用逆变换的变换系数将输入比特流解码为解码图像。本发明还涉及用于对源图像进行编码的编码器和用于使用逆变换的变换系数对输入比特流进行解码的解码器。最后,本发明涉及一种具有用于执行这种方法的程序代码的计算机程序。



背景技术:

数字视频通信和存储应用由各种各样的数字设备来实现,例如数码相机、蜂窝无线电话、笔记本电脑、广播系统、视频会议系统等。这些应用中最重要和最具挑战性的任务之一为视频压缩。视频压缩的任务复杂,并且受到两个相互冲突的参数的限制:压缩效率和计算复杂度。itu-th.264/avc或itu-th.265/hevc等视频编码标准提供了良好的参数折衷。出于这一原因,支持视频编码标准是几乎所有视频压缩应用的强制性要求。

现有视频编码标准基于源图像分块。这些块的处理取决于它们的尺寸、空间位置和编码器指定的编码模式。编码模式可根据预测类型分为两类:帧内预测模式和帧间预测模式。帧内预测模式使用相同图片的像素来产生参考样本,以计算被重构块的像素的预测值。帧内预测也可以称为空间预测。帧间预测模式设计用于时间预测,并使用先前或后续图像的参考样本来预测当前图像的块的像素。在预测阶段之后,针对作为原始信号与其预测之间的差异的预测误差或残差进行变换编码。然后,使用熵编码器来编码变换系数和辅助信息,例如上下文自适应二进制算术编码cabac,用于avc/h.264和hevc/h.265。

显然,对于不同的预测模式,预测误差数据不同,并强烈依赖于待预测的内容。因此,不同情况下,从压缩性能方面来看,不同的变换是有利的。为提高变换编码阶段的编码效率,可以针对不同的特定情况使用具有不同能量压缩的多种变换。

根据第一个例子,2013年11月,在iso/iec23008-2:2013中定义的众知的最近通过的itu-th.265/hevc标准“信息技术—异构环境中的高效编码和媒体传送—第2部分:高效率视频编码”宣布了一套最先进的视频编码工具,提供了编码效率和计算复杂度之间的合理折衷。关于itu-th.265/hevc标准的概述在garyj.sullivan的文章“高效率视频编码(overviewofthehighefficiencyvideocoding,简称hevc)标准概述”(ieee视频技术电路和系统汇刊,2012年12月,第22卷,第12期)中给出,其全部内容通过引用并入本文。

hevc/h.265视频编码标准提供源图像分块,例如编码单元(codingunit,简称cu)。每个cu可以进一步分为更小的cu或预测单元(predictionunit,简称pu)。pu可以根据应用于pu的像素的处理类型进行帧内或帧间预测。在帧间预测的情况下,pu表示通过使用为pu指定的运动向量的运动补偿进行处理的像素的面积区域。对于帧内预测,pu指定一组变换单元(transformunit,简称tu)。tu可具有不同尺寸,例如,4×4、8×8、16×16和32×32像素,并且可以以不同方式进行处理。对于正在执行tu变换的编码,即正使用离散余弦变换(discretecosinetransform,简称dct)或hevc/h.265中的离散正弦变换(discretesinetransform,简称dst)对预测误差进行变换和量化,将其应用于帧内编码块,并量化。因此,重构的像素包括量化噪声和阻碍人为因素,可能会影响预测的准确性。

与仅使用一种变换以保持简单设计的现有众知视频编码标准相比,hevc/h.265标准规定了用于帧内编码的两种变换:用于4×4块的dst和用于其他块的dct。dst选择用于4×4块,因为该变换为小的帧内预测块提供更好的能量压缩。

根据另一个例子,在jm/kta中,众知模式相关定向变换(mode-dependentdirectionaltransform,简称mddt)被提出来压缩帧内预测产生的残差,因为沿着预测的方向残差通常具有高能量,且因为边缘比光滑区域更难以预测。它由一系列预定义的可分离变换组成。每种变换在一个预测方向上进行有效的压缩能量,因此有利于其中一个帧内模式。mddt的类型与所选的帧内预测模式耦合,所以没有显式地发送信号通知。

对于也包含方向信息的帧间预测误差,除非边缘方向被显式地检测和传送,否则不能使用mddt。然而,由此引入的附带信息是明显的,并且影响整体性能改善。因此,mddt仅针对帧内编码宏块提出。

针对22个帧内预测模式预先定义了22种可分离变换。每个由用于水平和垂直变换的两个变换矩阵组成。存储所有mddt矩阵的内存约为1.5kb。变换矩阵基于一大组视频序列,都为帧内编码。根据相关的帧内预测模式,将所有的块分为22类。对于每种类别的块,计算水平和垂直相关矩阵的预测误差,其中特征向量分别用于构建水平和垂直变换矩阵。mddt的矩阵获取过程类似于卡-洛变换(karhunen-loève-transform,简称klt)的矩阵获取过程,但mddt并非最佳,因为mddt是基于总体统计数据分离和设计的,可能不符合某些视频序列的局部统计。此外,仅包含整数的mddt的基向量是特征向量的缩放和舍入版本,并且彼此不是正交的。

众所周知,可分离变换有效地处理水平和垂直边缘,因为基础图像只包括水平和垂直边缘,像棋盘。mddt虽然是一种可分离变换,但被用来沿任意方向压缩能量,看起来似乎十分矛盾。对不同帧内预测模式下mddt的基础图像进行了研究。据发现,虽然基础图像也有棋盘图案,但零点交叉的位置与dct或整数余弦变换(integercosinetransform,简称ict)的位置不同。

在mddt中,根据观察,由于每个帧内模式在统计上具有不同的方向信息,因此每个帧内模式采用一个变换矩阵。虽然这不需要额外的信令信息或率失真搜索,但在每个帧内模式内,由于图像内容的多样性,一个变换矩阵可能不能适应残差特性的潜在可变性。

根据另一个例子,在众知的率失真优化变换(rate-distortion-optimizedtransform,简称rdot)中,预测残差用不同的基函数进行变换,并且根据率失真(rate-distortion,简称r-d)性能选择最佳的一个。在rdot中,对于每个帧内方向,存在不同的k对离线训练的垂直和水平变换候选对,每个帧内模式产生总共k个不同的变换路径。编码器尝试所有候选项,并选择最小r-d成本值的最佳路径。变换索引在比特流中显式地用信号通知。与mddt相比,rdot通过强加模式和数据依赖性来进一步细化变换,从而在变换域中实现更好的能量压缩。尽管rdot可以通过提供更多的变换矩阵来扩展mddt,但是对于每个变换路径,编码器必须执行变换、量化、熵编码、去量化、逆变换和重构,这给编码器带来了大的计算负担。

根据这一限制,也可以采用几种快速的rdot方案来协同地加速编码过程,见x.zhao、l.zhang、s.ma和w.wao的“率失真优化变换的视频编码”(ieee视频技术用电路与系统汇刊,2012年1月,第22卷,第1期,138-151页)。一种方法是采用dct的编码结果来跳过不必要的rdot踪迹。具体地,dct在rdot之前执行,若dct的r-d成本低于阈值,则执行rdot。这表明只有当dct也可以实现良好的编码性能时才执行rdot,因为最佳的基于dct和rdot的编码模式高度相关。另一种方法是在rdot中应用亮度编码加速(luminancecodingspeedup,简称lcs)技术。在lcs中,针对其余模式恢复用于色度的dc帧内预测模式的亮度编码结果。

与基于训练的方法不同,受图像编码中可分离定向二维dct的启发,在r.a.cohen、s.klomp、a.vetro和h.sun的“方向自适应变换编码预测残差”中提出了一种新的方向自适应残差变换(direction-adaptiveresidualtransform,简称dart)结构(ieee国际会议会刊(proc.ieeeint.conf.imageprocess,简称icip),2010年,185-188页)。dart包含主要变换和辅助变换。在dart的主变换阶段,沿每个方向的每个定向路径采用不同的1-d变换。然后,在辅助变换阶段,只有第一阶段产生的dc系数采用dct处理。在某些情况下,观察到短dct路径,这可能会限制dct的性能。为解决这一问题,通过组合来自相邻扫描的像素来执行路径折叠。与现有的基于klt的模式相关的定向变换相比,这种方法更加灵活,因为无须进行训练。dart方案在h.264/kta软件中已实现,并且据观察,与mddt相比,具有更好的编码性能。

根据另一示例,提高残差变换编码效率的另一种方式是使用自适应多重变换(adaptivemultipletransform,简称amt),也称为增强多重变换(enhancedmultipletransform,简称emt),参见garysullivan、gillboyce、jianlechen和elenaalshina的“未来视频编码:未来视频编码调查的联合探索模型1(jointexplorationmodel1,简称jem1)”,itu-tsg16q6,td213(wp3/16)。除了在高效视频编码(high-efficiencyvideocoding,简称hevc)中使用的dct-ii和4×4dst-vii之外,还使用amt对帧间和帧内编码块进行残差编码。除了hevc中的当前变换之外,还利用来自dct/dst系列的多个选择的变换。新引入的变换矩阵为dst-vii、dct-viii、dst-i和dct-v。

图9示出了根据atm的变换编码的信令。amt适用于小于64×64的cu,并且是否应用amt由cu内的所有tu的cu层级别控制。对于启用amt的cu中的每个tu,要使用的水平或垂直变换通过索引用信号通知给选择的变换集。每个变换集合通过从上述变换矩阵中选择两个变换而形成。

如图9所示,在cu级别,标志emtcuflag用于选择两个选项中的一个。第一种选择是将dct-ii(dct2_emt)应用于不需要附加比特的残差变换编码。第二种选择在于应用包括在图9中的表示为emt变换的变换集合中的一个变换。

根据第一种选择,给定cu中包括的所有tu都使用dct-ii进行分解。根据第二种选择,每个tu需要两个额外的信令位,所谓的emttuidx。对于帧内编码,使用查找表来将帧内预测模式映射到仅包括两个变换的变换集合。对于帧间编码,总是使用变换集合{dct-viii、dst-vii}。因此,两个位足以对垂直和水平变换的选择进行编码。所有上面列出的位都使用cabac进行上下文建模编码。

对于帧内预测残差,变换集是基于帧内预测模式预定义的,因此每个帧内预测模式具有其自身的变换集。例如,一个变换集可以为{dct-viii、dst-vii}。注意,即使对于相同的帧内预测模式,对于水平变换设置的变换可能不同于对于垂直变换设置的变换。然而,所有帧内预测模式的不同变换集合的总数以及新引入的变换的数量是有限的。然而,对于帧间预测残差,只有一个变换集用于所有帧间模式以及水平和垂直变换。

对于任意应该选择多个变换其中之一的变换过程来说,一个重要方面是信令,因为信令可能会显着影响编码性能。在hevc/h.265中,不需要信令,因为可以通过解析帧内预测模式和块尺寸来检测变换类型。类似地,mmdt不需要任何信令,因为定向变换被显式地映射到帧内预测模式。在rdot情况下,由于在率失真优化(rate-distortionoptimization,简称rdo)过程中选择变换,并且在没有附加信息(即没有信令)的情况下不能在解码器侧检测到信令,所以需要信令。amt也需要信令。

orange实验室的gordonclare、félixhenry和jung对jct-vc会议(jctvc-g273,日内瓦,2011年11月)的投稿中描述了“符号数据隐藏”形式的数据隐藏技术。经过细微修改,已采用到hevc/h.265标准中作为符号位隐藏(signbithiding,简称sbh)。在视频压缩的情况下,量化变换系数的矩阵可以被分成系数组(coefficientgroup,简称cg),并根据系数扫描顺序变换成一维阵列,因此这些系数可以由熵编码器有效地编码。例如,ituth.265/hevc标准规定了水平、垂直和对角扫描顺序。根据这个标准选择扫描顺序取决于块预测模式,因此取决于残差信号的统计特性。

tu可以被分成几个cg,并且在每个cg中指定第一个和最后一个非零量化变换系数的位置。这些位置只能在特定扫描顺序的上下文中指定,因为可以仅为有序集合确定第一个和最后一个元素。

符号数据隐藏技术假定在给定的一组值或可修改的系数内隐藏仅一个符号标志,其被定义为由最后和第一个非零量化变换系数界定的区间。这种技术并非在所有情况下都有益,因此,对给定的cg内是否应用隐式或显式的符号编码作出特别的决定。

在解码器侧有一个符号隐藏状态校验程序。具体来说,这一决定基于变换系数或可修改系数的数目。若该数目大于阈值,则从残差总和的奇偶性中推断出第一变换系数的第一个符号。否则,执行系数符号的正常显式解码,如可以从us20130272424a1中获得。

在ep2675159a1中,公开了使用重叠子集的多比特信息隐藏方法。cg内的变换系数的初始集合被分成部分重叠的子集,使得可以通过修改重叠区域内的值来控制两个部分重叠子集的隐藏符号的值。第一符号位基于使用第一子集确定的奇偶校验值,第二符号位基于使用第二子集确定的奇偶校验值。第一子集和第二子集在两个子集的一部分系数上重叠。



技术实现要素:

认识到上述缺点和问题,本发明旨在改进现有技术。具体而言,本发明的目的在于提供一种用于改进图像编码和解码的编码器、解码器、编码方法和解码方法。

本发明特别旨在改善编码和解码中量化变换系数的使用。本发明还旨在信令机制方面改进编码和解码,以保持较低的信令开销。

上述提到的本发明的目标是由所附独立权利要求提供的解决方案实现的。本发明的有益实施均在各自附属权利要求中进一步定义。

本发明第一方面提供了一种使用量化变换系数将源图像编码为输出比特流的编码器。所述编码器包括获取装置,用于从源图像获得位于变换块中的输入数据。所述编码器包括变换装置,用于根据从一组变换类型中选择的变换类型将所述输入数据变换为变换系数。所述编码器包括量化装置,用于量化所述变换系数以生成量化的变换系数。所述编码器包括计算装置,用于生成用于识别所述一组变换类型中所选择的变换类型的索引信息,并确定待隐藏信息,其中所述待隐藏信息为索引信息的至少一部分。所述编码器包括隐藏装置,用于隐藏待隐藏在量化的变换系数中的信息。

因此,提出隐藏关于所选变换类型的信息,即隐藏用于至少部分地标识变换类型集合中的所选变换类型的信息。计算装置的优点在于可能不需要在输出比特流中添加索引信息的显式信令。可以有利地至少减少索引信息的显式信令。输出比特流的比特率因此可以被降低。

根据第一方面,在所述编码器的第一种实现方式中,待隐藏信息为索引信息,使得从该组变换类型中选择的变换类型可基于隐藏信息识别。

因此,隐藏用于识别所选变换类型的所有索引信息是有利的,因为不需要其他信息来识别所选变换类型。输出比特流内的附加显式信令则不是必需的。

根据第一方面,在所述编码器的第二种实现方式中,所述编码器包括信令装置。待隐藏信息为索引信息的一部分。信令装置用于在输出比特流中添加作为索引信息的另一部分的信令信息,使得在该组变换类型中选择的变换类型可基于隐藏的信息和信令信息识别。

因此,仅由部分索引信息组成的隐藏信息是有利的,因为可以减少识别所选变换类型所需的显式信令的数量。换言之,隐藏用于识别包含所选变换类型的子集的信息是有利的。输出比特流可以包括,例如量化变换系数中的隐藏信息以及作为显式信令传送的信令信息,除了量化变换系数之外,还将所述信令信息添加到输出比特流。然后隐藏信息允许识别包括所选变换类型的子集,且附加信令信息允许识别子集内的所选变换类型。由于信令信息不需要在整个变换类型集合内标识选择的变换类型,因此可以减少信令信息的大小或量。

根据第一方面,在所述编码器的第三种实现方式中,所述隐藏装置用于根据隐藏条件隐藏待隐藏在量化的变换系数和中的信息。

根据第一方面,在所述编码器的第四种实现方式中,所述隐藏条件包括将取决于量化变换系数的参数与阈值进行比较。所述隐藏装置用于校验隐藏条件,并用于仅当隐藏条件满足时隐藏待隐藏在量化变换系数中的信息。

根据第一方面,在所述编码器的第五种实现方式中,若隐藏条件不满足,则信令装置用于在输出比特流中添加作为索引信息的信令信息。

根据第一方面,在所述编码器的第六种实现方式中,所述编码器包括:分割装置,用于根据等级分层数据结构对所述源图像进行递归分割,其中所述数据结构的一层为所述变换块。在第一个可选的实现方式中,所述隐藏装置用于隐藏待隐藏在数据结构的第一层中的信息的第一部分,和待隐藏在数据结构第二层中的信息的第二部分,其中所述第二层不同于与所述第一层。在第二个可选的实现方式中,所述待隐藏信息为索引信息的一部分,所述隐藏装置用于隐藏待隐藏在数据结构的第一层中的信息,所述信令装置用于在所述输出比特流中添加与第一层不同的所述数据结构的第二层中作为所述索引信息的另一部分的信令信息。

根据第一方面,在所述编码器的第七种实现方式中,所述编码器包括:分割装置,用于根据等级分层数据结构对所述源图像进行递归分割,其中所述数据结构的一层为所述变换块。所述分割装置用于将变换块分割成多个系数组。所述隐藏装置用于隐藏待隐藏在位于多个系数组中的至少一个中的量化变换系数中的信息。

根据第一方面,在所述编码器的第八种实现方式中,所述计算装置用于对量化变换系数应用校验函数以获得校验函数的结果。所述计算装置用于确定校验函数的结果是否对应于待隐藏信息。若校验函数的结果不对应于待隐藏信息,则所述计算装置用于修改量化变换系中的至少一个,使得校验函数的结果对应于待隐藏信息。

根据第一方面,在所述编码器的第九种实现方式中,待隐藏信息包括具有第一和第二值的标志。所述第一值标识该组变换类型的默认变换类型为所标识的变换类型。所述第二值指示所选择的变换类型包括在由所述一组变换类型组成的子集中,而没有默认变换类型。

本发明的第二方面提供一种解码器,用于使用逆变换的变换系数将输入比特流解码成解码图像。所述解码器包括获取装置,用于从输入比特流获得位于变换块中的量化变换系数。所述解码器包括去量化装置,用于对量化的变换系数进行去量化以生成变换系数。所述解码器包括计算装置,用于从所述量化变换系数重构隐藏信息,其中所述隐藏信息为索引信息的至少一部分。所述解码器包括逆变换装置,用于根据借助于索引信息从一组变换类型中识别的变换类型将变换系数逆变换为逆变换的变换系数。

根据第二方面,在所述解码器的第一种实现方式中,待隐藏信息为索引信息,从而基于隐藏信息从变换类型集合中识别变换类型。

根据第二方面,在所述解码器的第二种实现方式中,所述解码器包括提取装置。所述待隐藏的信息为索引信息的一部分。所述提取装置用于从输入比特流提取作为索引信息的另一部分的信令信息,从而基于隐藏信息和信令信息从变换类型集合中识别变换类型。

根据第二方面,在所述解码器的第三种实现方式中,所计算装置用于根据隐藏条件从量化变换系数重构隐藏信息。

根据第二方面,在所述解码器的第四种实现方式中,所述隐藏条件包括将取决于量化变换系数的参数与阈值进行比较。所述计算装置用于校验隐藏条件,并且用于仅当隐藏条件满足时从量化变换系数重构隐藏信息。

根据第二方面,在所述解码器的第五种实现方式中,若隐藏条件不满足,则所述提取装置用于从输入比特流中提取作为索引信息的信令信息。

根据第二方面,在所述解码器的第六种实现方式中,所述解码器包括:逆分割装置,用于通过对等级分层数据结构进行逆分割来获得解码图像,其中所述数据结构的一层为变换块。在第一个可选的实现方式中,所述计算装置用于从所述数据结构的第一层重构所述隐藏信息的第一部分,并从所述数据结构的第二层重构所述隐藏信息的第二部分,其中所述第二层不同于所述第一层。在第二个可选的实现方式中,待隐藏信息为索引信息的一部分,所述计算装置用于重构数据结构的第一层中的隐藏信息,所述提取装置用于从所述输入比特流中提取与第一层不同的所述数据结构的第二层中作为所述索引信息的另一部分的信令信息。

根据第二方面,在所述解码器的第七种实现方式中,所述解码器包括:逆分割装置,用于通过对等级分层数据结构进行逆分割来获得解码图像,其中所述数据结构的一层为变换块。所述逆分割装置用于通过对多个系数组进行逆分割来获得变换。所述计算装置用于从位于多个系数组中至少一个的量化变换系数重构隐藏信息。

根据第二方面,在所述解码器的第八种实现方式中,所述计算装置用于对量化变换系数应用校验函数以获得校验函数的结果,其中校验函数的结果对应于隐藏信息。

根据第二方面,在所述解码器的第九种实现方式中,待隐藏信息包括具有第一和第二值的标志,所述第一值标识该组变换类型的默认变换类型为所标识的变换类型,所述第二值指示所标识的变换类型包括在由所述一组变换类型组成的子集中,而没有默认变换类型。

根据第一方面的编码器的功能和根据第二方面的解码器的功能,以及它们的任一实现方式的任一功能都可以由处理器或计算机执行,且它们的任一装置可以作为该处理器或计算机中的软件和/或硬件实现。

本发明第三方面提供了一种使用量化变换系数将源图像编码为输出比特流的方法。该方法包括:从源图像获得位于变换块中的输入数据。该方法包括:根据从一组变换类型中选择的变换类型,将输入数据变换为变换系数。该方法包括:量化变换系数以生成量化的变换系数。该方法包括:生成用于识别所述一组变换类型中的所选变换类型的索引信息。该方法包括:确定待隐藏信息,其中所述待隐藏信息为索引信息的至少一部分。该方法包括:隐藏待隐藏在量化变换系数中的信息。

根据本发明第三方面的使用量化的变换系数将源图像编码成输出比特流的方法的其他特征或实现可用于执行根据本发明第一方面的编码器的功能及其不同的实现方式。

本发明的第四方面提供一种用于使用逆变换的变换系数将输入比特流解码成解码图像的方法。该方法包括:从输入比特流获得位于变换块中的量化变换系数。该方法包括:对量化变换系数进行逆量化以生成变换系数。该方法包括:从量化变换系数重构隐藏信息,其中隐藏信息为索引信息的至少一部分。该方法包括:根据通过索引信息从一组变换类型中识别的变换类型,将变换系数逆变换为逆变换的变换系数。

根据第三或第四方面或其任何实现方式中的方法可以由处理器或计算机执行。

根据本发明第四方面的使用逆变换的变换系数将输入比特流解码成解码图像的方法的其他特征或实现方式可用于执行根据本发明的第二方面及其不同实现方式的解码器的功能。

本发明第五方面提供了一种具有程序代码的计算机程序,所述程序代码用于计算机程序在计算设备上运行时,执行根据本发明第三方面的源图像编码方法或根据本发明第四方面的输入比特流解码方法。

本发明的一个重要方面是:在解码器一侧,通过应用校验函数,例如奇偶性校验函数,检索应该选择的逆变换的全部或部分信息,以解析量化变换系数。本发明涉及所选变换类型的信令。具体地,在解码器一侧,通过应用校验函数,例如奇偶校验函数,检索应该选择的逆变换的全部或部分信息,以解析量化变换系数(quantizedtransformcoefficient,简称qtc)。该类型的隐式信令可称为隐藏。

需要说明的是,本申请中所描述的所有设备、元件、单元和装置可以以软件或硬件元件或其任何种类的组合来实现。本申请中所描述的各种实体执行的所有步骤以及所描述的由各种实体执行的功能旨在表示相应的实体用于或执行相应的步骤和功能。即使在以下特定实施例的描述中,外部实体完全形成的特定功能或步骤未反映在执行该特定步骤或功能的该实体的特定详细元件的描述中,技术人员应知,这些方法和功能可在相应的软件或硬件元件或其任何组合中实施。

附图说明

结合所附附图,下面具体实施例的描述将阐述上述本发明的各方面及其实现方式,其中:

图1示出了根据本发明实施例的编码器;

图2示出了根据本发明实施例的解码器;

图3示出了根据本发明另一实施例的编码器;

图4示出了根据本发明实施例的解码方法的流程图;

图5示出了根据本发明另一实施例的解码方法的流程图;

图6示出了根据本发明又一实施例的解码方法的流程图;

图7示出了根据本发明实施例的源图像编码方法;

图8示出了根据本发明另一实施例的输入比特流解码方法;

图9示出了根据现有技术的变换编码的信令。

具体实现方式

图1示出了根据本发明实施例的编码器100,具体为用于使用量化变换系数112将源图像101编码成输出比特流114的编码器100。

所述编码器100包括获取装置102、104和106,用于从源图像101获得位于变换块(transformblock,简称tu)中的输入数据。

所述编码器100包括变换装置109,用于根据从一组变换类型中选择的变换类型将所述输入数据变换为变换系数110。

所述编码器100包括量化装置111,用于量化所述变换系数110,以生成量化的变换系数112。所述编码器100包括计算装置,用于生成用于识别所述一组变换类型中所选择的变换类型的索引信息,并确定待隐藏信息,其中所述待隐藏信息为索引信息的至少一部分。

所述编码器100包括隐藏装置,用于隐藏待隐藏在量化的变换系数112中的信息。

图3示出了根据本发明实施例的编码器,具体为用于使用量化变换系数308和313将源图像301编码成输出比特流318的编码器300。

所述编码器300包括获取装置302,用于从源图像301获得位于变换块(transformblock,简称tu)中的输入数据303。

所述编码器300包括变换装置305和310,用于根据从一组变换类型305和310中选择的变换类型将所述输入数据303变换为变换系数306和311。

所述编码器300包括量化装置307和312,用于量化所述变换系数306和311,以生成量化的变换系数308和313。

所述编码器300包括计算装置315,用于生成用于识别所述一组变换类型305和310中所选择的变换类型的索引信息,并确定待隐藏信息,其中所述待隐藏信息为索引信息的至少一部分。

所述编码器300包括隐藏装置319,用于隐藏待隐藏在量化的变换系数308和313中的信息。具体地,源图片可以是静止图片或视频图片。

具体地,编码器可以包括分割装置。分割装置在图1中由参考标识102标识。分割装置用于根据等级分层数据结构对源图像101进行递归分割。数据结构的一层为变换块。分割装置可以特别用于对源图像101进行四叉树分割。

等级分层数据结构可包括定义编码树单元(codingtreeunit,简称ctu)、编码单元(codingunit,简称cu)、预测单元(predictionunit,简称pu)或变换单元(transformunit,简称tu)中至少一个的其它层。ctu为预定义大小的视频序列的编码结构的根,包含图片的一部分,例如64×64像素。ctu可分割成cu。cu为预定义大小的视频序列的基本编码结构,包括图像的一部分,属于ctu。cu可进一步分割成cu。pu为cu分割的结果的编码结构。pu可以根据应用于pu的像素的处理类型进行帧内或帧间预测。pu可以被分割为几个tu或者与一个tu重合。tu为变换块的一个例子。

具体地,获取装置102、104、106和302可用于从预测块的残差数据获得变换块的输入数据303,pu为预测块的示例。输入数据303可以为残差数据的子部分,即变换块(transformunit,简称tu)可以为预测块(predictionunit,简称pu)的子块。这样,编码器可用于编码视频的源图像101。

在图1中,残差数据对应于参考105和107。获得装置包括预测装置104和106,用于建立源图像101的像素数据(即,位于预测块中的像素的数据)和用于所述像素的预测数据之差,以获得残差数据105和107。预测装置优先支持帧内预测模式和帧间预测模式,并相应地包括帧内预测装置104和帧间预测装置106。图1中的参考103示出了源图像101可以通过帧内或帧间预测来处理。

具体地,获取装置可以可选地用于获取作为源图像101的像素的数据的输入数据303,例如根据等级分层数据结构的一层来获得。这样,编码器不包括预测阶段,并且可用于对作为静止图片的源图片101进行编码。

具体地,所述编码器可以包括切换器304,以将输入数据303发送到变换类型集合305和310,从而基于输入数据执行几个候选变换。输入数据可以由几个并行排列的变换装置305和310来处理,每个变换装置用于于根据变换类型其中之一变换输入数据。该组变换类型可以包括n个不同类型,其中n个变换类型在图3中被标识为“变换1”和“变换n”。

每个变换装置305和310生成变换系数306和311,以及标识用于获取变换系数306和311的相应变换类型的索引信息309和314。变换系数306和311由量化装置307和312进行量化,以获得量化的变换系数。

隐藏装置319用于于隐藏待隐藏在量化变换系数308,和313中的信息。计算装置315用于于选择量化变换系数308和313,以及提供最小率失真(rate-distortion,简称rd)成本的相关索引信息309和314。计算装置315相应地输出选择的量化变换系数316,然后优先通过熵装置317对其进行熵编码。熵装置在图1中通过参考113来识别。

图1和图3的实施例的不同特征可以结合在一起。

具体地,所述隐藏装置319用于隐藏待隐藏在量化变换系数112、308和313中的信息。

具体地,所述隐藏装置319用于根据隐藏条件隐藏待隐藏在量化的变换系数112、308和313中的信息。所述隐藏条件包括将取决于量化变换系数112、308和313的参数与阈值进行比较。所述隐藏装置319用于校验隐藏条件,并用于仅当隐藏条件满足时隐藏待隐藏在量化变换系数112、308和313中的信息。

隐藏条件可以为量化变换系数112、308和313与阈值限制的比较。例如,隐藏条件可以包括以下条件或其他已知隐藏条件。

-非零量化变换系数(quantizedtransformcoefficient,简称qtc)的数量大于阈值。这种情况下,对tu或cg中存在的非零qtc的数量进行计数。若数量高于阈值,则隐藏条件满足。

-阈值低于qtc扫描内的重要qtc位置之间的最大差值。这种情况下,根据扫描模式或扫描顺序扫描tu或cg或多个cg的qtc。从所扫描的qtc中选择显着qtc,重要qtc为例如非零系数或高于给定值的系数。计算根据扫描模式或扫描顺序的重要qtc的位置之间的差值。若该差值高于阈值,则隐藏条件满足。

-tu的尺寸大于阈值。这种情况下,若tu的尺寸高于阈值,则隐藏条件满足。

具体地,所述计算装置315用于:对量化变换系数112、308和313应用校验函数以获得校验函数的结果;确定校验函数的结果是否对应于待隐藏信息;若否,则修改量化变换系数112、308和313中的至少一个,使得校验函数的结果对应于待隐藏信息。

例如,校验可以为以下函数之一或其他众知的校验函数:

-使用二进制模式从tu中选择的一些qtc的最低有效位所应用的奇偶校验函数;

-最后或第一非零qtc位置索引或者最后和第一非零qtc位置索引的线性组合所应用的奇偶校验函数。

应用于给定qtc的这种奇偶校验函数包括校验给定qtc的奇偶性值。由于待隐藏信息包括一个或几个比特,所以可以通过给定qtc的奇偶性值来隐藏一个这样的比特。具体地,若给定qtc的奇偶性值与待隐藏比特的奇偶性值匹配,则在编码器处不需要进行额外处理。这表明给定的qtc在比特流中以未修改的形式编码。另一方面,若给定qtc的奇偶性值与待隐藏比特的奇偶性值不匹配,则编码器用于修改给定qtc,使其奇偶性匹配待隐藏比特的奇偶性。这可以通过,例如修改给定qtc其中之一的值来获得奇偶性匹配。例如,可以修改给定qtc其中之一的最低有效位(leastsignificantbit,简称lsb)。

一般而言,为了隐藏变换类型的信息,可以使用不同的已知机制,例如隐藏在非重叠变换系数集合中的单层数据,根据us20130272424a1对多个符号位完成隐藏,或者根据ep2675159a1隐藏在变换系数的重叠集合中的单层数据,或者根据alexeyfilippov、vasilyrufitskiy和vladimirpotapov的“基于标量量化的多层数据隐藏用于视频编码应用”(ieee视觉通信与图像处理会议,2014年12月,瓦莱塔,马耳他,262-265页)隐藏在等级结构编码单元中的多层数据。

图2示出了根据本发明实施例的解码器200,具体为用于使用逆变换的变换系数将输入比特流201解码为解码图像212的解码器200。

所述解码器包括获取装置202、204和206,用于从输入比特流201获得位于变换块(transformunit,简称tu)中的量化变换系数。

所述解码器包括去量化装置209,用于对量化的变换系数进行去量化以生成变换系数210。所述解码器包括计算装置208,用于从所述量化变换系数重构隐藏信息,其中所述隐藏信息为索引信息的至少一部分。

所述解码器包括逆变换装置211,用于根据借助于索引信息从一组变换类型中识别的变换类型将变换系数210逆变换为逆变换的变换系数212。

图2的解码器200是图1的编码器100的对应部件,因为获取部件包括用于处理输入比特流的熵解码部件202。它还包括分别用于帧内预测模式和帧间预测模式的预测装置204和206,其中参考203示出了帧内预测和帧间预测之间的选择。预测装置204和206的各个输出205和207由去量化装置209处理。

图4示出了根据本发明实施例的解码方法的流程图。

该实施例依赖于众知的增强型多重变换(enhancedmultipletransform,简称emt)技术,在例如garysullivan、gillboyce、jianlechen和elenaalshina的“未来视频编码:未来视频编码调查的联合探索模型1(jointexplorationmodel1,简称jem1)”,itu-tsg16q6,td213(wp3/16)中使用在解码器侧显式地指示选择的变换类型得比特流语法中的特定信令标志emtcuflag和emttuidx描述。

现在,在图14的实施例中,根据本发明的编码方案,在cu或pu级别显式地编码emtcuflag,并在qtc内的tu级别隐式编码emttuflag。换言之,emttuflag为编码器隐藏在qtc中的信息以及解码器从qtc重构的信息。

在该方法的开始(401)之后,从输入比特流解析emtcuflag。然后校验emtcuflag(403)的值。若该emtcuflag不满足,则第一变换类型,例如dct-ii应用于cu或pu级别,即,逆变换装置211根据该第一变换类型针对包括emtcuflag的cu或pu的每个tu应用逆变换。该第一种变换类型为例如默认变换类型。若该emtcuflag满足,则逆变换装置211使用另一个变换类型。这种情况下,针对给定cu或pu的所有tu启用不同的变换类型。在该实施例和所有进一步实施例中,emtcuflag非强制性。

若emtcuflag标志设置为满足,则在tu上的循环内执行进一步处理。在循环中处理的当前tu的索引称为“idx”,并且从0扫描到n-1,其中n表示正被处理的cu或pu中的tu的数量。在初始化步骤405,将每个tu索引的变换索引emttuidx(idx)设置为零。tu循环从隐藏条件校验(410)开始,指示当前处理的tu的qtc中是否存在隐藏标志。

若隐藏条件(410)不满足,则从比特流中解析(412)能够为处理的tu(emttuflag)启用选择变换的标志的值。否则,通过应用校验函数,从qtc重构或获取(411)该标志的值。因此,计算装置208用于将校验函数应用于qtc以获得校验函数的结果,其中校验函数的结果对应于隐藏信息。该隐藏信息可以直接作为待选择或识别的变换类型的索引。

或者,如图4所示,该隐藏信息“emttuflag(idx)=checkfunc()”用于识别所选择的变换类型,其中弱emttuflag(420)值满足,则下一步骤为解析(422)来自比特流的指示水平和垂直变换类型的变换类型索引emttuidx。否则,若emttuflag(420)值不满足,则通过将emttuidx分配给零来选择默认的变换类型。

另一实施例包括与图4所描述的相同的处理步骤,但不同之处在于,在隐藏条件(410)不满足的情况下,emttuflag值被设置为不满足。具体地,通过将emttuidx分配给零来选择默认的变换类型。

图5示出了根据本发明另一实施例的解码方法的流程图。

相对于图4的实施例,该实施例中有不同的默认变换,所述变换中的每一个都应用于垂直和水平方向,并分别根据两种情况来进行选择:

-隐藏条件不满足;

-隐藏条件满足,但emttuidx为零。

例如,当隐藏条件(510)不满足时,emttuidx(513)为-1,dct2应用于水平和垂直方向。在另一种情况下,若隐藏条件(510)满足,但emttuflag为零(523),则在水平和垂直两个方向上都应用dst2。图5的其余步骤对应于图4的步骤。

图6示出了根据本发明又一实施例的解码方法的流程图。

该实施例中引入了额外的条件校验。这个实施例的理念依赖于在编码和解码期间以相同顺序处理tu。若在处理顺序内连续处理的几个tu被指示具有默认变换类型,则假定其余的tu具有相同的默认变换类型,并且禁用其余tu的信令,从而减少开销。可禁止tu级别信令的这些连续处理的tu的数目由阈值tzc定义。

下面详细描述图6实施例相对于图4实施例的修改。在步骤605中,保持当前数量的emttuflag等于零的连续处理的tu的计数器变量“zero_counter”初始化为“0”。在步骤606中,将“zero_counter”值与阈值tzc进行比较。若“zero_counter”大于或等于阈值tzc,则假定其余的tu具有相同的默认变换类型,并且emttuidx设置为“0”(607)。否则,执行对应于图1中的参考的410的隐藏条件(610)校验。从图6的流程图可以看出,“zero_counter”和tzc之间的比较结果控制给定cu或pu中的其余tu的处理。相对于图4的另一个修改为:若tu具有非零emttuflag,则将“zero_counter”重置为零(621)。否则,若tu具有零emttuflag,则“zero_counter”递增(624)。

图5和图6的实施例也可以结合。

在可选实施例中,emtcuflag可被移除。通过去除这样的cu级别标志进行变换所带来的最重要的好处是,当考虑到两个不同变体的rd成本,即标志值为0和1时,由于避免双程方案而可能降低计算复杂度。另一方面,若cu中的一个变换比其他变换更频繁地被选择,则cu级别标志的存在可以最大程度减小信令成本。因此,这两种选择都可用于各自的优化目标,即降低复杂度或增加编码增益。

本发明解决了当所有变换,包括dct-ii(dct2_emt)在tu级别上可用时减少信令开销的问题。这是通过使用数据隐藏来发送信号通知是否使用dct-ii(或其他预测模式的变换,预测块的尺寸等)来实现的。本发明在其多媒体编码实施例中具有以下优势:

-可用于与下一代视频编码标准的基础的jem兼容的混合视频编码框架中的许多潜在应用。

-与使用cabac编码该标志相比,它提供了与jem1相比更低的bd率和主观质量改进。

-每个tu都可以单独处理而不需要在cu级别上作出决定。

-可以避免冗余信令(语法),如emtcuflag。

图7示出了根据本发明实施例的用于使用量化变换系数112将源图像101编码成输出比特流114的方法700。

该方法包括:从源图像(101和301)获得(701)位于变换块(transformunit,简称tu)中的输入数据(303)。

该方法包括:根据从一组变换类型(305和310)中选择的变换类型,将输入数据(303)变换(702)为变换系数(110、306和311)。

该方法包括:量化(703)变换系数(110、306和311)以生成量化的变换系数(112、308和313)。

该方法包括:生成(704)用于识别所述一组变换类型(305和310)中的所选变换类型的索引信息。

该方法包括:确定(705)待隐藏信息,其中所述待隐藏信息为索引信息的至少一部分。

该方法包括:隐藏(706)待隐藏在量化变换系数(112、308和313)中的信息。

图8示出根据本发明另一实施例的用于使用逆变换的变换系数将输入比特流(201)解码成解码图像(212)的方法800。

该方法包括:从输入比特流(201)获得(801)位于变换块(transformunit,简称tu)中的量化变换系数。

该方法包括:对量化变换系数进行逆量化(802)以生成变换系数(210)。

该方法包括:从量化变换系数重构(803)隐藏信息,其中隐藏信息为索引信息的至少一部分。该方法包括:根据通过索引信息从一组变换类型中识别的变换类型,将变换系数(210)逆变换(804)为逆变换的变换系数(212)。

已经结合作为实例的不同实施例以及实施方案描述了本发明。但本领域技术人员通过实践所请发明,研究附图、本公开以及独立权项,能够理解并获得其他变体。在权利要求以及描述中,术语“包括”不排除其他元件或步骤,且“一个”并不排除复数可能。单个元件或其他单元可满足权利要求书中所叙述的若干实体或项目的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的组合不能在有利的实现方式中使用。

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