用于视频编码和解码中的自适应变换的方法和装置与流程

文档序号:20922509发布日期:2020-05-29 14:20阅读:207来源:国知局
用于视频编码和解码中的自适应变换的方法和装置与流程

本实施例总体上涉及一种用于视频编码和解码的方法和装置,并且更具体地,涉及一种用于利用自适应变换进行编码和解码的方法和装置。



背景技术:

为了实现高压缩效率,图像和视频编码方案通常采用预测和变换来利用视频内容中的空域和时域冗余。通常,使用帧内或帧间预测来利用帧内或帧间相关性,然后对原始块和预测块之间的差(通常表示为预测误差或预测残差)进行变换、量化和熵编码。为了重构视频,通过与预测、变换、量化和熵编码相对应的逆过程来解码压缩数据。



技术实现要素:

根据一般方面,提出了一种用于视频解码的方法,包括:访问图片的块的变换系数,所述块至少包括第一颜色分量和第二颜色分量;基于(1)所述块的所述第一颜色分量的所访问的变换系数和(2)第一变换,生成所述块的所述第一颜色分量的预测残差,所述第一变换至少对应于第一组变换基函数;基于所述块的所述第一颜色分量的所生成的预测残差,确定相位因子;以及基于(1)所述块的所述第二颜色分量的所访问的变换系数和(2)第二变换,生成所述块的所述第二颜色分量的预测残差,所述第二变换至少对应于第二组变换基函数,其中,基于所确定的相位因子来调整所述第一组变换基函数中的函数,以形成所述第二组变换基函数中的相应函数。

根据另一个一般方面,提供了一种用于视频编码的方法,包括:访问图片的块的预测残差,所述图片至少包括第一颜色分量和第二颜色分量;基于第一变换,对所述块的所述第一颜色分量的所述预测残差进行变换,以形成所述块的所述第一颜色分量的变换系数,所述第一变换至少对应于第一组变换基函数;基于所述块的所述第一颜色分量的所述变换系数,确定所述块的所述第一颜色分量的重构的预测残差;基于所述块的所述第一颜色分量的所述重构的预测残差,确定相位因子;基于第二变换,对所述块的所述第二颜色分量的所述预测残差进行变换,以形成所述块的所述第二颜色分量的变换系数,所述第二变换至少对应于第二组变换基函数,其中,基于所确定的相位因子来调整所述第一组变换基函数中的函数,以形成所述第二组变换基函数中的相应函数;以及对所述块的第一颜色分量和第二颜色分量的变换系数进行编码。

根据另一个一般方面,提供了一种用于视频解码的装置,至少包括一个存储器和一个或多个处理器,所述一个或多个处理器被配置为:访问图片的块的变换系数,所述块至少包括第一颜色分量和第二颜色分量;基于(1)所述块的所述第一颜色分量的所访问的变换系数和(2)第一变换,生成所述块的所述第一颜色分量的预测残差,所述第一变换至少对应于第一组变换基函数;基于所述块的所述第一颜色分量的所生成的预测残差,确定相位因子;以及基于(1)所述块的所述第二颜色分量的所访问的变换系数和(2)第二变换,生成所述块的所述第二颜色分量的预测残差,所述第二变换至少对应于第二组变换基函数,其中,基于所确定的相位因子来调整所述第一组变换基函数中的函数,以形成所述第二组变换基函数中的相应函数。

根据另一个一般方面,一种用于视频编码的装置,至少包括一个存储器和一个或多个处理器,所述一个或多个处理器被配置为:访问图片的块的预测残差,所述图片至少包括第一颜色分量和第二颜色分量;基于第一变换,对所述块的所述第一颜色分量的所述预测残差进行变换,以形成所述块的所述第一颜色分量的变换系数,所述第一变换至少对应于第一组变换基函数;基于所述块的所述第一颜色分量的所述变换系数,确定所述块的所述第一颜色分量的重构的预测残差;基于所述块的所述第一颜色分量的所述重构的预测残差,确定相位因子;基于第二变换,对所述块的所述第二颜色分量的所述预测残差进行变换,以形成所述块的所述第二颜色分量的变换系数,所述第二变换至少对应于第二组变换基函数,其中,基于所确定的相位因子来调整所述第一组变换基函数中的函数,以形成所述第二组变换基函数中的相应函数;以及对所述块的第一颜色分量和第二颜色分量的变换系数进行编码。

根据另一个一般方面,一种视频信号被格式化以包括图片的块的编码后的变换系数,所述块至少包括第一颜色分量和第二颜色分量,其中基于第一变换,对所述块的所述第一颜色分量的预测残差进行变换,以形成所述块的所述第一颜色分量的所述变换系数,所述第一变换至少对应于第一组变换基函数,其中,基于所述块的所述第一颜色分量的所述变换系数,形成所述块的所述第一颜色分量的重构的预测残差,其中,基于第二变换,对所述块的所述第二颜色分量的预测残差进行变换,以形成所述块的所述第二颜色分量的变换系数,所述第二变换至少对应于第二组变换基函数,其中,基于相位因子来调整所述第一组变换基函数中的函数,以形成所述第二组变换基函数中的相应函数,所述相位因子是基于所述块的所述第一颜色分量的所述重构的预测残差的。

所述相位因子可以基于稀疏度来确定,其中,所述稀疏度可以根据所述第一颜色分量的所述重构的预测残差来确定。在一个示例性实施例中,用多个候选变换对所述第一颜色分量的所述重构的预测残差进行变换,其中每个候选变换基于所述第一变换和多个候选相位因子中的候选相位因子,并且所确定的相位因子是从所述多个候选相位因子中选择的。具体地,基于来自所述多个候选变换中相应一个变换的变换系数来确定稀疏度,并且其中,与具有最小稀疏度的候选变换相对应的候选相位因子被确定为所述相位因子。

虽然稀疏度通常是基于非零系数的数量来量度的,但是这里,候选变换的稀疏度可以基于来自所述候选变换的超过阈值的变换系数的数量来量度。阈值可以基于对所述块进行量化的量化步长。

当亮度和色度分量对于所述块具有不同的尺寸时,在基于所述第一颜色分量确定所述相位因子之后,通过所述第一颜色分量和第二颜色分量之间的子采样率来缩放所确定的相位因子,以便用于所述第二颜色分量的变换。

当使用2d可分离变换时,所述第一变换可以对应于所述第一组变换基函数和第三组变换基函数,所述第二变换可以对应于所述第二组变换基函数和第四组变换基函数,其中,所确定的相位因子被用于调整所述第一组变换基函数中的所有基函数,以形成所述第二组变换基函数,并且,确定另一个相位因子并将其用于调整所述第三组变换基函数中的所有基函数,以形成所述第四组变换基函数。所述第一变换可以是dct、dst、基于dct的变换、基于dst的变换或klt(karhunen-loeve变换)。至少考虑计算复杂性,对应于所述第二变换的变换矩阵的元素可以被转换成整数或者受到其他约束。

本实施例还提供了一种其上存储有用于根据上述方法编码或解码视频数据的指令的计算机可读存储介质。本实施例还提供了一种其上存储有根据上述方法生成的比特流的计算机可读存储介质。本实施例还提供了一种用于发送根据上述方法生成的比特流的方法和装置。本实施例还提供了一种计算机程序产品,包括用于执行上述方法的软件代码指令。

附图说明

图1示出了示例性hevc(highefficiencyvideocoding,高效视频编码)视频编码器的框图。

图2示出了示例性hevc视频解码器的框图。

图3示出了根据实施例的在编码器侧对变换基函数进行相位调整的示例性方法。

图4示出了根据实施例的在解码器侧对变换基函数进行相位调整的示例性方法。

图5示出了根据实施例的使用稀疏度标准来推导相移因子的示例性方法。

图6示出了在其中可以实施示例性实施例的各个方面的示例性系统的框图。

具体实施方式

图1示出了示例性hevc编码器100。为了对具有一个或多个图片的视频序列进行编码,图片被分割成一个或多个条带,其中每个条带可以包括一个或多个条带分段。条带分段被组织成编码单元、预测单元和变换单元。

在本申请中,术语“重构的”和“解码的”可以互换使用,术语“图像”、“图片”和“帧”可以互换使用。通常,但不是必须的,术语“重构的”被用于编码器侧,而“解码的”被用于解码器侧。

hevc规范区分“块”和“单元”,其中“块”针对样点阵列中的特定区域(例如,亮度、y),并且“单元”包括所有编码的颜色分量(y、cb、cr或单色)的共位块、语法元素和与块相关联的预测数据(例如,运动矢量)。

为了编码,图片被分割成具有可配置尺寸的正方形编码树块(codingtreeblock,ctb),并且连续的一组编码树块被分组到条带中。编码树单元(codingtreeunit,ctu)包含编码的颜色分量的ctb。ctb是分割成编码块(codingblock,cb)的四叉树的根,并且编码块可以被分割成一个或多个预测块(predictionblock,pb),并且形成分割成变换块(transformblock,tb)的四叉树的根。对应于编码块、预测块和变换块,编码单元(codingunit,cu)包括预测单元(predictionunit,pu)、以及变换单元(transformunit,tu)的树形结构集合,pu包括所有颜色分量的预测信息,并且tu包括每个颜色分量的残差编码语法结构。亮度分量的cb、pb和tb的尺寸适用于对应的cu、pu和tu。在本申请中,术语“块”可以被用于指ctu、cu、pu、tu、cb、pb和tb中的任何一种。此外,“块”还可以被用于指在264/avc或其他视频编码标准中规定的宏块和分区,并且更一般地,指各种尺寸的数据阵列。

在示例性编码器100中,图片由编码器元件进行编码,如下所述。要编码的图片以cu为单位进行处理。使用帧内或帧间模式对每个cu进行编码。当以帧内模式对cu进行编码时,它执行帧内预测(160)。在帧间模式下,执行运动估计(175)和补偿(170)。编码器决定(105)使用帧内模式或帧间模式中的哪一个来对cu进行编码,并通过预测模式标志来指示帧内/帧间决定。通过从原始图像块中减去(110)预测块来计算预测残差。

为了利用空域冗余,帧内模式下的cu是从相同条带内的重构的临近样点中预测的。当考虑当前cu的编码/解码时,因果临近cu已经被编码/解码。为了避免不匹配,编码器和解码器具有相同的预测。因此,编码器和解码器都使用来自重构/解码的临近因果cu的信息来形成对当前cu的预测。

在hevc有一组35种帧内预测模式可用,包括平面(索引0)、dc(索引1)和33种角度预测模式(索引2-34)。从与当前块相邻的行和列中重构帧内预测参考。使用来自先前重构的块的可用样点,参考可以在水平和垂直方向上延伸超过块尺寸的两倍。当角度预测模式被用于帧内预测时,可以沿着角度预测模式所指示的方向复制参考样点。

对于帧间cu,对应的编码块被进一步分割成一个或多个预测块。帧间预测在pb级别上执行,并且对应的pu包含关于如何执行帧间预测的信息。运动信息(即运动矢量和参考图片索引)可以用两种方法来信令通知,即“合并(merge)模式”和“高级运动矢量预测(amvp)”。

在合并模式下,视频编码器或解码器基于已经编码的块来组建(assemble)候选列表,并且视频编码器信令通知候选列表中的候选之一的索引。在解码器侧,基于信令通知的候选来重构运动矢量(motionvector,mv)和参考图片索引。

在amvp下,视频编码器或解码器基于从已经编码的块中确定的运动矢量来组建候选列表。视频编码器然后信令通知候选列表中的索引以识别运动矢量预量度(motionvectorpredictor,mvp),并信令通知运动矢量差(motionvectordifference,mvd)。在解码器侧,运动矢量(mv)被重构为mvp+mvd。应用的参考图片索引也以amvp的pu语法显式地编码。

然后对预测残差进行变换(125)和量化(130)。hevc支持4×4、8×8、16×16和32×32的变换块尺寸。核心变换矩阵的元素是通过近似缩放后的离散余弦变换(discretecosinetransform,dct)基函数推导出的。hevc变换的设计考虑了诸如在矩阵条目被指定为整数值时限制变换计算的动态范围并最大化精度和正交性的接近度。为简单起见,仅指定了一个长度为32点的整数矩阵,并且子采样版本被用于其他尺寸。对于4×4的变换块尺寸,从离散正弦变换(discretesinetransform,dst)推导出的替代整数变换被应用于帧内预测模式的亮度残差块。

对量化后的变换系数以及运动矢量和其他语法元素进行熵编码(145)以输出比特流。编码器也可以跳过变换,并在4×4tu的基础上对未变换的残差信号直接应用量化。编码器还可以绕过变换和量化,即,在不应用变换或量化过程的情况下直接对残差进行编码。在直接pcm编码中,不应用预测,并且编码单元样点被直接编码到比特流。

编码器对编码块进行解码,以便为进一步预测提供参考。对量化后的变换系数进行去量化(140)和逆变换(150)以对预测残差进行解码。通过组合(155)解码的预测残差和预测块,图像块被重构。将环内滤波器(165)应用于重构的图片,例如,以执行去块/sao(采样自适应偏移)滤波以减少编码伪像。过滤后的图像存储在参考图片缓冲器(180)中。

图2示出了示例性hevc视频解码器200的框图。在示例性解码器200中,如下所述,比特流由解码器元件进行解码。视频解码器200通常执行与图1中描述的编码过程相反的解码过程,其执行视频解码作为编码视频数据的一部分。

具体地,解码器的输入包括视频比特流,其可以由视频编码器100生成。首先对比特流进行熵解码(230)以获得变换系数、运动矢量和其他编码信息。对变换系数进行去量化(240)和逆变换(250)以对预测残差进行解码。通过组合(255)解码的预测残差和预测块,图像块被重构。预测块可以从帧内预测(260)或运动补偿预测(即帧间预测)(275)获得(270)。如上所述,amvp和合并模式技术可以被用于推导运动补偿的运动矢量,其可以使用插值滤波器来计算参考块的亚整数样点的内插值。将环内滤波器(265)应用于重构的图像。过滤后的图像存储在参考图片缓冲器(280)中。

假设预测残差块可以由单个2d基函数表示,在dct变换之后,变换系数将是稀疏的,因为该块只有一个非零dct系数。量化之后,如果非零变换系数大于量化步长,则只需要对一个量化系数进行编码。

现在假设预测残差块在空域上被移位,则所得的变换系数可能不再是稀疏的,并且可能包含若干个dct系数。我们称这种现象为“频率扩展”,即频谱能量被分解到更多的系数上。量化之后,如果一个以上的dct系数大于量化步长,则我们可能需要对一个以上的非零系数进行编码,因此可能需要更多的比特用于编码。小的dct系数可能被量化为0,这也可能发生,这意味着重构失真。应当注意,信号中的空域移位被反映为变换域中的相位差。因此,对于空域上移位的块,如果根据预测残差信号来调整基函数的相位,则可能只需要一个量化系数,从而节省了此特。

在下文中,使用dct变换作为示例,我们描述了设计自适应变换的不同实施例。具体地,基于第一颜色分量的预测残差,我们可以调整另一个颜色分量的变换基函数的相位。这种技术可以应用于其他类型的变换。应当注意,变换的类型不限于基于三角变换的示例(例如,dct、dst),例如,该技术也可以被用于调整klt。

在一个实施例中,我们考虑2d可分离dct变换,并且我们根据给定的标准在每个方向(水平和垂直)上确定基函数的最佳相位。在这种情况下,基函数集合被分成水平和垂直变换矩阵cx和cy,其可以定义如下:

其中n×n是变换尺寸,cx(i,j)和cy(i,j)是变换矩阵cx和cy中的元素,并且变换矩阵中的行(例如,[cx(i,j)],j=1,...,n)是变换基函数。

前向变换可以表示为:

b=[b(u,v)]n×n=cx.b.cy(3)

其中b=[b(i,j)]n×n是要变换的块,b是变换后的块,并且(u,v)是频域中系数的坐标。逆变换可以表示为:

b=[b(i,j)]n×n=cy·b.cx.(4)

在典型的视频编码器中,使用帧内或帧间预测通过用先前重构的内容近似当前块来减少冗余。预测过程输出当前块的预量度和预测残差块。预测残差块然后被变换成变换系数块,该变换系数块被量化并编码成比特流。应用变换矩阵cx和cy,预测残差块ber=[ber(i,j)]n×n可以被变换成变换系数:

ber=[ber(u,v)]n×n=cx·ber.cy

可以对变换系数ber进行量化。可以对量化后的变换系数进行去量化和逆变换以获得重构的预测残差:

berq=[berq(i,j)]n×n=cy.berq.cx

其中berq=[berq(u,v)]n×n是当前块的去量化后的变换系数,并且berq是重构的预测残差块。

为了提高压缩效率,我们可以调整变换基函数的相位。一个目标是调整变换基的相位,使得信号在变换域中变得最稀疏,即,变换后的信号是最稀疏的。对于n×n块尺寸的2d可分离dct,cx由n个基函数组成,并且cy也由n个基函数组成。我们可以例如通过将cx中的每个基函数移位相移因子并且将cy中的每个基函数移位相移因子来适配基函数的相位。新的基函数可以表示为:

cφx=[cφx(i,j)]n×n且

cφy=[cφy(i,j)]n×n且

新的一组基函数仍然是正交的。

图3示出了根据实施例的在编码器侧对变换基函数进行相位调整的示例性方法300。对于要编码的当前块,在步骤310,使用帧内或帧间预测来获得对该块的预测。在步骤315,计算预测残差,即当前块和预测块之间的差。

然后对第一分量的预测残差进行变换(320),例如,使用如等式(3)中所述的dct进行变换:

其中上标“c0”表示第一颜色分量。然后对变换的系数进行量化(325)。第一分量可以是亮度分量或其他分量。专用于块的第一分量的变换可以被预先定义,或者可以在编码器侧选择,并且使用语法元素向解码器侧指示。

然后对量化后的变换系数进行去量化(330),并且对去量化后的变换系数进行逆变换(330)以重构预测残差:

根据第一分量的解码的残差块可以估计(340)相移因子以便分别在水平和垂直方向上调整基函数:

如等式(5)和(6)所示,相移因子()可以以像素为单位来表示、整数或非整数。应当注意,相移因子可以具有无限的浮点精度,因为被引入分析公式中以计算新的变换矩阵(),相移因子精度不限于像素、半像素或四分之一像素精度。给定方向(x或y)上的所有基函数都用相同的相移因子进行调整,以便保留dct基函数的正交特性。例如,对于中的所有基函数,以及对于中的所有基函数,

基函数可以被进一步调整,例如,以给定动态范围内的整数系数表示。变换矩阵中的元素可以被缩放,并且在设计量化和归一化时应该考虑变换的范数。

块的剩余颜色分量的预测残差可以基于调整后的变换基函数进行变换(350):

然后,对剩余颜色分量的变换系数进行量化(355)并编码成比特流。对量化后的变换系数进行去量化和逆变换(360),以重构剩余分量的预测残差。可以对去量化后的变换系数(k=1,2)执行逆变换,如下:

基于重构的预测残差(k=1,2)和预测块,可以重构当前块(370)。例如,使用熵编码器,可以将不同颜色分量的变换系数编码(380)成比特流。

通过对第一颜色分量使用已知变换,然后基于第一颜色分量的预测残差适配变换以用于其他颜色分量,可以改善其他颜色分量中的变换系数的稀疏度。通常,变换的自适应可以被视为预测阶段和变换阶段之间的协同作用的改进,这可能能够改进视频编码性能。自适应变换在编码器和解码器侧确定。

图4示出了根据实施例的在解码器侧对变换基函数进行相位调整的示例性方法400。方法400的输入可以是例如使用方法300生成的比特流。对于要解码的当前块,在步骤410,使用帧内或帧间预测来获得对当前块的预测。对变换系数进行解码(420),然后进行去量化(430)。对第一颜色分量的去量化后的变换系数进行逆变换(440)以生成第一颜色分量的预测残差:

根据第一颜色分量的解码的残差块可以估计(450)相移因子以便调整基函数以用于对剩余残差颜色分量进行变换。为了正确解码比特流,在编码器和解码器侧应该使用相同的方法来估计相移因子。

对剩余颜色分量的去量化后的变换系数(k=1,2)进行逆变换(460)以生成剩余分量的预测残差。逆变换可以如下执行:

基于重构的预测残差(k=0,1,2)和预测块,可以重构当前块(470)。

应当注意,对于一些块,量化可以被跳过,例如,在无损编码模式中。在这种情况下,基于解码后的预测残差本身来适配变换。即,可以跳过方法300中的步骤325、330、355和360以及方法400中的步骤430中的量化和去量化。另外,在步骤330或440,逆变换将被应用于变换系数,而不是去量化后的变换系数。

在下文中,更详细地描述了估计相移因子的不同方法。

相移因子确定

如前所述,通过调整变换基函数的相位,可以改善变换系数的稀疏度,从而提高压缩效率。通常,我们根据第一颜色分量的重构的预测残差块来估计相移因子。基于不同的标准,开发了不同的方法。

在一个实施例中,稀疏度量度被用于估计相移因子。稀疏度量度通常基于非零系数的数量。这里,我们调整稀疏度量度以指示非零系数的数量大于给定阈值ε。阈值ε可以取决于用于对当前块的系数进行编码的编码器/解码器的量化步长(qstep)(例如,ε=qstep)。

在一个示例中,稀疏度量度可以是:

其中

其中(x>ε?1∶0)对应于

这里,重构的预测残差将经过调整相位的变换。然后使用基于新变换的变换系数来量度稀疏度标准。基于稀疏度标准相移因子对可以被估计为提供最小稀疏度量度的对:

在另一个实施例中,该标准可以是伪rdo(ratedistortionoptimization,率失真优化),其可能比基于等式(7)的方法更有效但更复杂:

其中

并且λ是拉格朗日因子,其可以是视频编码器中使用的量化步长的函数,诸如h.264和hevc参考软件中使用的那些。

注意,这里是从初始变换中的第一颜色分量的预测残差的解码块,并且是使用调整后的转换的的转换后的结果。在将阈值ε(等式(9))应用于之后,可以对得到的进行逆变换,以得到新的预测残差块使用调整后的变换对进行变换、用ε来取阈(thresholding)、随后进行逆变换的过程,紧密模拟剩余颜色分量的残差重构,因此失真项

作为像素域中块之间平方差的和,可以从一个特定的调整后的变换中准确估计失真。因为设想最佳候选基函数降低高频能量,从而最小化失真项,其由稀疏度调节,如等式(9)所示,可以获得对应于接近的块的相移因子。因为一个块中的不同颜色分量通常在空间域中类似地移位,应用如上所述获得的相移因子也可以压缩另一个颜色分量中的变换系数的能量,因此可以提高压缩效率。

基于该标准,相移因子对可以被估计为:

图5示出了根据实施例的使用稀疏度标准推导相移因子的示例性方法500。方法500可以在编码器或解码器侧实施。在初始化(510)时,可以初始化不同的参数。例如,阈值ε被设置,并且初始最小稀疏度量度(lε,opt)被设置为大的数字。可以使用数值方法(520)来搜索相移因子例如,以预定的像素步长,在每个方向上使用从0到n/2(或其他值)的迭代来搜索相移因子像素步长的非限制性示例包括整数像素、半像素和四分之一像素精度。对于特定一对候选计算(530)稀疏度量度(lε)。如果当前稀疏度量度(lε)小于(540)lε,opt,则lε,opt被lε替代,并且被分别设置(550)为当前在搜索(560)结束时,获得相移因子在一个示例中,所获得的像素和像素。使用其他标准的方法可以类似于方法500来执行。

在上面,我们描述了用于dct变换的基函数的相位的适配。当编码器或解码器对第一颜色分量使用从dct推导出的基于dct的变换时,也可以调整其他分量的新的变换基函数。例如,如前所述,当设计变换基时,hevc将在矩阵条目被指定为整数值时限制变换计算的动态范围并最大化精度和正交性的接近度。当hevc核心变换被用于第一颜色分量时,如上所述,我们仍然可以基于对其它颜色分量的dct变换来推导变换基函数的相移因子。然而,新的变换基将被进一步转换为以整数形式指定,并且还应用其他限制,如已经应用于第一颜色分量的变换的那些限制。除了如上所述的相移因子之外,可以使用其他相位因子来调整变换基函数。

当色度子采样被用于颜色格式时,第一颜色分量和另一颜色分量可以具有不同的块尺寸。在这种情况下,基于第一颜色分量确定的相移因子可以基于子采样率或者更一般地基于不同颜色分量的块尺寸之间的比率来缩放。例如,对于4:2:0yuv视频,如果第一分量是y,则使用第一分量找到的相移因子可以除以2,因为其余分量(u,v)是以2的比率进行子采样。在4:2:0视频的另一示例中,如果第一分量是u,则相移因子被直接应用于v分量的基函数,因为u和v分量的尺寸相同,并且当应用于y分量的基函数时,相移因子乘以2。

通过使用来自块的一个颜色分量的信息来适配用于块中的另一个颜色分量的变换,可以在编码器和解码器侧计算与变换相关联的参数,因此没有或者只有很少的附加元数据需要被发送以指示转换。为了正确解码比特流,编码器和解码器应该使用相同的自适应方案。例如,阈值参数(ε)、拉格朗日因子(λ)和第一分量指示符(即指示哪个颜色分量将被用作第一颜色分量的信号,该第一颜色分量被用作推导其他颜色分量的新的变换基函数的基础)在编码器和解码器处应该是相同的。这可以通过将值存储在编码器或解码器中来实现,或者在比特流中使用语法元素来信令通知信息。因为发送变换信息,特别是对于小块尺寸,是昂贵的,所以根据本实施例局部地(即在块级别)调整变换能够实现不同块尺寸的自适应变换,而不会引入大的信令开销。

上面描述了各种方法,并且每个方法包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要特定顺序的步骤或动作,否则可以修改或组合特定步骤和/或动作的顺序和/或使用。

在本申请中使用各种数值,例如,视频格式使用三种颜色分量。应当注意,特定值是用于示例性目的,并且本实施例不限于这些特定值。

如上所述的适配变换的各种方法可以用于修改jvet(联合视频探索小组)或hevc编码器和解码器的变换和逆变换模块(125、150、240),如图1和图2所示。另外,量化和去量化模块(130、140、240)可以被调整以考虑变换矩阵的范数。然而,本实施例不限于jvet或hevc,并且可以应用于其他标准、建议及其扩展。上述各种实施例可以单独使用或组合使用。当在其他应用中使用变换时,也可以应用相位调整,例如,在当使用例如单应性(homography)配准不好时,使用同一场景的多传感器(例如,可见光和红外)的环境中。

图6示出了在其中可以实施示例性实施例的各个方面的示例性系统的框图。系统600可以被实现为包括下面描述的各种组件的设备,并且被配置为执行上面描述的过程。这种设备的示例包括但不限于个人计算机、膝上型计算机、智能手机、平板计算机、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、联网的家用电器和服务器。系统600可以通信地耦合到其他类似的系统,并且经由通信信道耦合到显示器,如图6所示,并且如本领域技术人员所知,以实施上述示例性视频系统。

系统600可以包括至少一个处理器610,其被配置为执行加载在其中的、用于实施如上所讨论的各种过程的指令。处理器610可以包括嵌入式存储器、输入输出接口和本领域已知的各种其他电路。系统600还可以包括至少一个存储器620(例如,易失性存储器设备、非易失性存储器设备)。系统600可以另外包括存储设备620,该存储设备620可以包括非易失性存储器,包括但不限于eeprom、rom、prom、ram、dram、sram、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备640可以包括内部存储设备、附加存储设备和/或网络可访问存储设备。系统600还可以包括编码器/解码器模块630,其被配置为处理数据以提供编码的视频或解码的视频。

编码器/解码器模块630表示可以包括在设备中以执行编码和/或解码功能的(多个)模块。如已知的,设备可以包括编码和解码模块中之一或者两者。此外,编码器/解码器模块630可以被实施为系统600的独立元件,或者可以作为本领域技术人员已知的硬件和软件的组合被结合在处理器610内。

要加载到处理器610上以执行上文所述的各种过程的程序代码可以存储在存储设备640中,并且随后加载到存储器620上以由处理器610执行。根据示例性实施例,处理器610、存储器620、存储设备640和编码器/解码器模块630中的一个或多个可以在执行上文讨论的过程期间存储各种项目中的一个或多个,包括但不限于输入视频、解码的视频、比特流、等式、公式、矩阵、变量、操作和操作逻辑。

系统600还可以包括通信接口650,其能够经由通信信道660与其他设备通信。通信接口650可以包括但不限于被配置为从通信信道660发送和接收数据的收发器。通信接口可以包括但不限于调制解调器或网卡,并且通信信道可以在有线和/或无线介质内实施。系统600的各种组件可以使用各种合适的连接(包括但不限于内部总线、线缆和印刷电路板)来连接或通信耦合在一起。

示例性实施例可以由处理器610实施的计算机软件或者由硬件或者由硬件和软件的组合来实现。作为非限制性示例,示例性实施例可以由一个或多个集成电路来实施。作为非限制性示例,存储器620可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实施,诸如光学存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器。作为非限制性示例,处理器610可以是适合于技术环境的任何类型,并且可以涵盖微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。

本文描述的实施方式可以以例如方法或过程、装置、软件程序、数据流或信号来实施。即使仅在单一实施方式形式的环境中讨论(例如,仅作为方法讨论),所讨论的特征的实施方式也可以以其他形式来实施(例如,装置或程序)。装置可以用例如适当的硬件、软件和固件来实施。这些方法可以在例如诸如处理器的设备中实施,其通常指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如计算机、手机、便携式/个人数字助理(“pda”)以及便于终端用户之间的信息通信的其他设备。

对“一个实施例”或“实施例”或“一个实施方式”或“实施方式”以及它们的其他变型的引用,意味着结合该实施例描述的特定特征、结构、特性等被包括在至少一个实施例中。因此,出现在说明书各处的短语“在一个实施例中”或“在实施例中”或“在一个实施方式中”或“在实施方式中”以及任何其他变型不一定都指同一实施例。

此外,本申请或其权利要求可以涉及“确定”各条信息。确定信息可以包括例如估计信息、计算信息、预测信息或从存储器中检索信息中的一个或多个。

此外,本申请或其权利要求可以涉及“访问”各条信息。访问信息可以包括例如接收信息、检索信息(例如,从存储器检索信息)、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息中的一个或多个。

此外,本申请或其权利要求可以涉及“接收”各条信息。与“访问”一样,接收是一个广义的术语。接收信息可以包括例如访问信息或检索信息(例如,从存储器检索信息)中的一个或多个。此外,“接收”通常以这样或那样的方式涉及在诸如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间。

对于本领域技术人员来说明显的是,实施方式可以产生各种格式化以承载例如可以被存储或发送的信息的信号。该信息可以包括例如用于执行方法的指令,或者由所描述的实施方式之一产生的数据。例如,信号可以被格式化以承载所描述的实施例的比特流。这种信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码和用编码的数据流调制载波。信号承载的信息可以是例如模拟或数字信息。如已知的,信号可以通过各种不同的有线或无线链路来发送。该信号可以存储在处理器可读介质上。

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