用于编码和解码图像的装置和方法与流程

文档序号:14652374发布日期:2018-06-08 22:06阅读:142来源:国知局
用于编码和解码图像的装置和方法与流程

本发明涉及用于编码和/或解码数字图像或视频流的方法和装置;特别地,描述了借助于所谓的可控离散余弦变换(Steerable Discrete Cosine Transform,SDCT)来压缩和解压缩数字图像或视频流的装置和方法。



背景技术:

本发明解决的问题

2D离散余弦变换(DCT)是用于基于块的图像和视频压缩的最常见变换,其基础是流行的视频编码标准,诸如MPEG-2(例如,用于地面和卫星标清视频广播和DVD存储格式)、H.264/AVC(用于在IP网络和蓝光光盘上的高清视频广播、流传输)以及最近标准化的H.265/HEVC(预计将取代上述场景中的H.264/AVC)。任何DCT变换都包括一个包含恒定值基函数的所谓的DC(直流)分量或基函数,以及包含图像的高频谱分量(即,细节)的AC(交流)分量。

在典型的编码框架中,图像被细分为具有正方形形状的像素(或样本)块,然后DCT将应用于每个块(有可能使块的尺寸适应图像特性),每个块然后在最简单的情况下被独立地编码和解码(更高级的压缩方案可以包括帧内和帧间块预测,以进一步提高编解码器性能)。

特别地,DCT将图像分离成关于图像视觉质量具有不同重要性的部分(或频谱子带)。

作用于二维信号(例如,图像的像素)的N×N个输入样本的正方形块或矩阵上的每个2D离散余弦变换使用其分量为余弦的一组实数基向量。每个DCT基包含对称“二次差”矩阵的特征向量(参见例如G.Stang SIAM review,第41卷,第1期,第135-147页,1999年)。

显然,DCT压缩信号能量的实际能力取决于要编码的特定图像或图像块的语义。由变换产生的值一般被称为系数或经变换的系数。

2D DCT由沿着垂直和水平方向的两个可分离的1D(一维)变换组成,因此被应用于所考虑的块的每一行和列。出于这个原因,由水平和垂直图案支配的图像是期望的并且可以通过这种常规DCT高效地表示。

但是,数字图像,尤其是自然图像,常常呈现任意形状的不连续性;在那些情况下,2D离散余弦变换变得低效,因为重要的系数不限于经变换的系数的矩阵的区域,并且这导致在解码侧较高的位速率或重构伪像。图18-a在视觉上描述了上述说法:围绕所表示的倾斜屋顶的边缘,重构伪像变得明显。

现有技术描述

过去几年间已经提出了几种解决方案来修改可分离的2D DCT的实现,以便将方向信息结合到变换中。定向DCT(DDCT)是这种意义上的第一次尝试,其中第一个1D DCT可以选择遵循除垂直或水平之外的方向,然后在第一步中由所有定向变换产生的系数被重新布置,使得可以将第二变换应用于彼此最佳对准的系数(参见B.Zeng和J.Fu的“Directional discrete cosine transforms-a new framework for image coding”,Circuits and Systems for Video Technology,IEEE Transactions on,第18卷,第3期,第305-313页,2008)。但是,这种方法面临着几个问题:需要各种长度的1D DCT,其中有一些非常短,并且它们的长度不总是2的幂。而且,第二DCT可能不总是被应用于相似的AC频率的系数。

在帧内视频编码的具体领域中,已经提出了使用来自训练视频数据的预测残差从Karhunen-Loeve变换(KLT)导出的依赖模式的定向变换(MDDT)(参见Y.Ye和M.Karczewicz的“Improved H.264intra coding based on bidirectional intra prediction,directional transform,and adaptive coefficient scanning”,Image Processing(ICIP),2008年第15届IEEE国际会议,2008年,第2116-2119页)。已经建议了MDDT的几种变化和增强,其利用对称性来减少所需的变换矩阵的数量(参见M.Budagavi和M.Zhou的“Orthogonal MDDT and mode dependent DCT,”ITU-T Q,第6卷,2010;H.Yang、J.Zhou和H.Yu的“Simplified MDDT(SMDDT)for intra prediction residual”,Doc.JCTVC-B039,MPEG-H/JCT-VC,2010;A.Tanizawa、J.Yamaguchi、T.Shiodera、T.Chujoh和T.Yamakage的“Improvement of intra coding by bidirectional intra prediction and 1dimensional directional unified transform”,Doc.JCTVC-B042,MPEGH/JCT-VC,2010)。这些方法的主要缺点在于训练集需要被处理以便获得针对给定编码模式的最优变换的事实。

最近,在图像处理领域中也研究了基于图的做法,并且已经开发出了用于滤波和变换的技术(例如,图傅立叶变换),以便克服传统编码处理的限制。

根据这个想法,每个图像可以被表示为节点和边的组合,其中每个像素是节点并且边描述像素之间的连接性区域(参见D.Shuman、S.Narang、P.Frossard、A.Ortega和P.Vandergheynst的“The emerging field of signal processing on graphs:Extending highdimensional data analysis to networks and other irregular domains”,Signal Processing Magazine,IEEE,第30卷,第3期,第83-98页,2013年)。这种图表示允许人们以优雅且有效的方式设计感知不连续性的变换。

A.Ortega等人在“Edge-adaptive transforms for efficient depth map coding”(Picture Coding Symposium(PCS),2010.IEEE,2010,第2808-2811页)和“Graph based transforms for depth video coding”(Acoustics,Speech and Signal Processing ICASSP),2012年IEEE国际会议,IEEE,2012,第813-816页)中已经提出了使用图变换来进行深度图编码的基于块的方法。虽然深度图编码领域中的结果看起来令人鼓舞,但它们都声称在非分段平滑的自然图像上的结果不令人满意。此外,基于图的压缩技术的主要缺点之一在于表示和编码图所需的成本,这可能掩盖了由这些新变换提供的编码效率。



技术实现要素:

当块包含任意形状的不连续时,基于块的可分离变换往往是低效的。近年来,结合方向信息的变换已经作为一种吸引人的替代方法而被探索。

本发明旨在通过提供用于基于新的定向变换(即,所谓的可控离散余弦变换(SDCT))对数字图像或视频流进行编码和/或解码的方法和装置来解决这个问题。通过在网格图的图变换理论中建立其定义,获得了修改2D DCT基的朝向的SDCT。根据要编码的图像的语义,SDCT使得能够精确匹配每个图像块中的方向性,以便优化整个编码和解码系统的编码性能。

当与常规的DCT相比时,所提出的编码链提供了显著的性能增益。而且,可控的DCT所基于的数学框架允许将转换推广为比单个纯旋转更复杂的控制模式。

附图说明

图1示出了根据现有技术的参考图像编码-解码系统的框图。

图2绘出了用于样本块N×N的二维DCT基函数,其中在a)中N=8并且在b)中N=4。

图3示出了路径图(a)、网格图(b)和正方形图(c)。

图4示出了如图2(a)中的2D DCT基向量,其中突出显示了重数(multiplicity)为2的特征值的对应的两个特征向量。

图5示出了如图2(a)中的2D DCT基向量,其中突出显示了与λ=4对应的N-1个(即,在本示例中对于N=8是7个)特征向量。

图6示出了如图2(a)中的2D DCT基向量,其中在图6中突出显示了与重数为1的特征值对应的N-1个特征向量。

图7绘出了可控离散余弦变换(SDCT),其中常规DCT的每个分量已经旋转了45°(六十进制的度数)。

图8示出了根据新的可控余弦变换的参考图像编码和解码装置的框图。

图9绘出了根据本发明的与可控余弦变换SDCT相关联的编码步骤的框图。

图10绘出了以示例性方式示出在给定0和90六十进制度数之间的一组N个角度的情况下找到最优角度θ的可能方法之一的框图。

图11示出了根据本发明的、与逆可控离散余弦变换ISDCT相关联的解码步骤的框图。

图12示出了一种用于在子带中读取和细分SDCT的可能做法的示例。步骤涉及(a-b)在之字形排序之后读取块的一半(c)在多个(在图中的示例中是四个)子带中划分经排序的系数,

图13表示对于测试实验所采用的测试图像之一。

图14在不同的角度量化(4、16、128)的情况下按照PSNR和所保留的系数的数量,示出了DCT与SDCT之间的比较测试。

图15通过基于编码/解码处理改变块尺寸:a)4×4块尺寸、b)8×8块尺寸、以及c)16×16块尺寸,按照所保留的系数和PSNR,示出了DCT与SDCT之间的比较测试。

图16绘出了利用SDCT的视频压缩的典型块方案。

图17示出了利用ISDCT的视频解码的典型块方案。

图18示出了使用8×8块用DCT(a)和SDCT(b)这两者重构的图13中的测试图像的细节。

图19在4个子带的情况下,按照所保留的系数和PSNR,示出了SDCT与SDCT之间的比较测试。

图20绘出了玩具图像(a)及其对应的像素值(b)。

图21以图形形式(a)和数值(b)示出了图20中的玩具图像的DCT变换的系数。不同的数值已经用不同的灰度级表示。

图22以图形形式(a)和数值(b)示出了图20中的玩具图像的SDCT变换的系数。不同的数值已经用不同的灰度级表示。

图23分别针对SDCT(a)和DCT(b)变换绘出了图20中的对应玩具图像的重构图像。

具体实施方式

在本说明书中,对“实施例”的任何引用将指示在至少一个实施例中包括关于本发明的实现方式描述的特定配置、结构或特征。因此,可能出现在本说明书的不同部分中的短语“在实施例中”以及其它类似的短语不一定全都涉及相同的实施例。此外,任何特定的配置、结构或特征可以以任何被认为合适的方式组合在一个或多个实施例中。因此下面的参考仅仅是为了简单起见而使用的,并且不限制各种实施例的保护范围或扩展。

为了简单起见,如果没有不同地陈述,那么下面的描述是指灰度级图像,但是所有实施例都也可以通过文献中众所周知的某种处理(例如,颜色分量的下采样、颜色空间的变化等)被应用于图像或视频的彩色分量。

图1示出了用于数字图像的典型编码/解码处理。应当注意的是,可以在编码器100和解码器110中执行许多其它操作,但是,本说明书旨在以示例性的方式仅绘出图像编码装置的主要单元。

参考图1,用于基于混合视频编码来压缩数字图像的编码装置100基本上包括变换单元101、量化器102和熵编码装置(或编码器)103。

变换单元101以待编码的图像或块图像作为输入,并使用具体的变换将其转换到频域。在常见的图像标准(如JPEG)中,单位变换通常由离散余弦变换表示。离散余弦变换(DCT)将图像表示为量值和频率不同的正弦波之和。它旨在通过将视觉上重要的信息集中于仅几个系数来以更高效的方式表示信号的原始样本(例如,图像),使得经变换的参数需要更少的位进行编码。

使用可分离性原理,可以通过接连对图像的行和列进行1D操作来在两个步骤中计算2D DCT(或2D DCT,或简单地DCT)。它工作于图像f,即N×N个样本的块,样本典型地是图像样本(或者在空间和/或时间域中预测之后的残差值)。二维DCT的输出是表示DCT域中的图像块数据的一组N×N个系数,其可以被认为是一组标准基模式的“权重”(即,施加到每个基模式的权重),其中基模式常常被称为DCT的基函数。

图2示出了在N=8和64个基函数(图2-a)以及具有N=4和16个基函数(图2-b)的情况下Y块的基模式。水平频率从左到右增加,垂直频率从上到下增加。左上角的常数值基函数常常被称为DC基函数,并且对应的DCT系数在文献中常常被称为DC系数。其它基函数在垂直和水平方向都呈现频率的逐渐增加。

如稍后参照图8描述的,本发明用新的可控离散余弦变换替换这个阶段。

经变换的系数具有使得能够在以下阶段进行高效压缩的一些特征。

量化器102将输入范围值缩小为更小的集合。在主要的图像编码方案中,量化器单元利用HVS(人类视觉系统)对高频的低敏感度。因此,高频分量中的信息量在这个阶段被减少,有时舍入到零,这取决于它们相对于量化矩阵的位置。

关于所选的量化类型,这个步骤可以是有损的或无损的。

在数据被量化为有限的一组值之后,经量化的系数在被发送到信道或存储单元之前被传递到单元103。

熵编码单元103以高效的方式重新布置样本(例如,之字形扫描读取)减少了对符号进行编码所需的位数。典型的熵编码技术是例如霍夫曼编码或者如CABAC或CAVLC之类的算术编码。

类似地,同样参考图1,基于混合视频解码的图像解码装置110主要包括以下单元:熵解码器113、解量化器112和逆变换单元111。

熵解码器113将包括经编码和量化的图像系数的输入位流转换成经量化的系数。

解量化器112通过重构要传递给最终主级的系数的值来执行单位量化器102的逆处理。

逆变换单元111以经解量化的系数作为输入并且将图像信号的输出(所谓的样本或像素值)重构回到空间域中。

逆变换单元通常由DCT的逆(逆离散余弦变换(IDCT或III型DCT))表示。

由于DCT被证明不是图像或视频编码/解码设备的最优变换,因此本发明公开了基于下面详细描述的新型定向变换(可控离散余弦变换或SDCT)的设备。SDCT通过考虑每个图像块的方向信息来改进常规的DCT,从而使编码适应当前样本块的具体语义。

图8图示了基于可控离散余弦变换的示例性参考图像编码器和解码器对,其中所述编码器被馈送有包含任何格式(例如,RGB、YUV等)的原始数据的图像f或图像块。

编码器设备11包括以下部分:

-输入单元1104(例如,用于以太网、USB、火线或SATA接口标准的适配器和/或用于GPRS/UMTS/LTE通信标准的调制解调器等),其被配置用于从源S(例如,相机,存储在存储介质中的视频流等)获取图像f的至少一部分;

-输出单元1105(例如,用于以太网、USB、火线或SATA接口标准的适配器和/或用于GPRS/UMTS/LTE通信标准的调制解调器等),其被配置用于将经编码的图像的至少一部分输出到目的地,例如能够对SDCT视频流进行解码的解码器、存储介质等;

-处理单元1100(例如,一个或多个CPU、GPU、DSP、CPLD、FPGA等),其被配置用于:读取具有优选为正方形形状的所述图像f的至少一部分,通过优选地执行实现SDCT变换处理的指令集,根据SDCT变换对图像f的所述部分进行编码,并且借助于输出单元1105将经变换的系数f^输出到目的地1110,其中所述经变换的系数f^表示编码SDCT格式的图像f。

处理单元1100也可以用结构化方式来描述,即,它们可以包括变换单元1101(在这里由新的SDCT变换单元表示)、量化器1102和熵编码器1103。这意味着(虚拟)元件的物理实现1101-1103可以通过使用执行实现所述元件1101-1103中的至少一个元件的功能的指令集的单个物理处理器或者通过使用实现所述元件1101-1103中的至少一个元件的功能的不同专用硬件部件或者上述两种解决方案的组合来进行。

为了更好地理解本发明公开的内容,现在提供变换单元1101的详细描述。

如前所述,离散余弦变换无法以有效的方式表示图像的不沿某个水平或垂直方向的不连续性。这个问题可以通过对常规的图像或视频编码应用一些与图论有关的元素来解决。

基于图的变换可以被看作是先前描述的基于块的变换的推广(或者,相反,基于块的变换可以被认为是基于图的变换的特殊情况)。图像(或其任何子集)可以被表示为由边E连接的节点或顶点V的图G:每个节点或顶点表示图像的像素,并且两个节点之间的每条边描述像素之间的邻接:连接两个像素的边指示它们水平或垂直相邻接。

根据图论可以得知(参见R.Merris,“Laplacian matrices of graphs:a survey”,Linear algebra and its applications,第197卷,第143-176页,1994),给定两个图G1和G2,第一个图G1由顶点集合V1和边集合E1表示,并且第二个图G2由顶点集合V2和边集合E2表示,G1和G2的乘积是新的图G=G1×G2,其顶点集合V是笛卡尔乘积V=V1×V2

根据图论还可以得知(参见R.Merris,“Laplacian matrices of graphs:a survey”,Linear algebra and its applications,第197卷,第143-176页,1994,以及“Laplacian graph eigenvectors”,Linear algebra and its applications,第278卷,第1期,第221-236页,1998),给定顶点数为n1的第一个图G1和顶点数为n2的第二个图G2,对于乘积图G=G1×G2的图拉普拉斯L,L(G)的特征值的多重集(multiset)是λi(G1)+λj(G2)的所有可能的和,其中每个元素λi(G1)是第一个图G1的第i个特征值并且0≤i<n1-1,每个元素λj(G2)是第二个图G2的第j个特征值并且0≤j<n2-1。

而且,如果vi是提供λi(G1)的G1的特征向量,并且vj是提供λj(G2)的G2的特征向量,那么Kronecker积(表示为)是提供λi(G1)+λj(G2)的G1×G2的特征向量。

路径图Pn(参见图3-a)是特定的简单图,其具有度为1或2的两个或更多个顶点(即,路径图不是分支的,并且它包含度为1的两个终端顶点并且,取决于图的维度,所有其它顶点的度为2)。根据“离散余弦变换”(G.Strang,SIAM review,第41卷,第1期,第135-147页,1999)可知,n个顶点的路径图Pn的拉普拉斯矩阵L(G)=D(G)-A(G)的特征向量恰好是1D-DCT类型II的基向量。

对于值k=0,...,n-1,其中v(k)=(υ0(k)1(k),...,υn-1(k))是与λk对应的L的特征向量。假设第二个公式中的特征值的重数总是1,则1D DCT基是图路径Pn的拉普拉斯算子的唯一特征基,即,用于由路径图表示的信号(例如,图像)的图变换相当于1D-DCT变换。

二维网格图Gmn可以被看作是分别在n和m顶点上的两个路径图Pn和Pm的笛卡尔乘积(参见图3-b)。当m=n,即,两个图具有相同数量的顶点时,两个图Pn的乘积是正方形网格图(参见图3-c)。

也如在“Analyzing the optimality of predictive transform coding using graph-based models”(C.Zhang和D.Florencio,Signal Processing Letters,IEEE,第20卷,第1期,第106-109页,2013)中所述,可以说2D DCT的基向量形成了正方形网格图的拉普拉斯矩阵的特征基。

从这些考虑出发,直接的是以数学方式计算作为n个元素上的两个路径图Pk和Pl的乘积生成的正方形网格图的拉普拉斯算子L的特征向量λk,l和对应的特征向量v(k,l),如

对于0≤k,l≤n-1,其中v(k)是与λk对应的路径图的特征向量,并且v(l)是与λl对应的路径图的特征向量。于是,与λk,l对应的特征向量v(k,l)是Kronecker积

给定上面的公式,显然存在一些重复的特征值,并且以下考虑是直接的:

-对于每个k≠l,λk,l=λl,k

-λ=4的重数是n-1;

-存在重数为1的n-1个特征值(即,λk,k,其中k≠n/2,假设n是大于0的偶数);

-对于1≤k≤n-1,除λk,n-k之外,所有其它元素都具有重数2。

而且,特征值对λk,l和λl,k的特征空间的维度大于1。这意味着2D DCT不是正方形网格图的拉普拉斯算子的唯一特征基。

图4、5和6绘出了前述概念,假设n=8,突出显示了以矩阵形式表示的一些相同的2D DCT基特征向量;左上角元素(矩阵坐标0,0)是特征向量v(0,0),右下角元素(矩阵坐标7,7)是特征向量v(7,7)。特别地,在图4中,与重数为2的特征值对应的两个特征向量由周围的矩形突出显示:显然,具有坐标(1,0)和(0,1)的特征向量具有相同的“形状”,除了90度(π/2弧度)旋转之外。在图5中,以相同的方式突出显示了与λ=4对应的n-1个特征向量,即,在n=8的本例中为7个;在图6中,与重数为1的特征值对应的n-1个特征向量由周围的矩形标记。

因而,本发明公开了用于从新的变换开始对图像或视频流进行编码和解码的装置和方法,该新的变换的定义取决于先前的理论考虑。一般而言,本发明提出在图像或视频编码处理中使用通过按根据某个标准确定的至少一个旋转角度(θ)旋转常规2D DCT矩阵的至少一个基向量旋转而获得的新型DCT变换。相反,在解码处理中,通过使用以相同的方式从常规2D DCT获得的相同的新型DCT变换对图像系数进行逆变换来执行逆域变换,即,实现在编码侧执行的相同的旋转操作。

变换单元1101以图像或图像块作为输入。为了简单起见,令输入为8×8像素的图像块f,即,N=8且n=8。图9中描述了由单元1101执行的用于计算编码步骤的方法。

由于已经证明2D DCT不是正方形网格图的拉普拉斯算子的唯一特征基,因此有可能找到所述拉普拉斯算子的其它可能的特征基。

原则上,我们可以按不同的角度旋转给定2D DCT矩阵的每个或任何特征空间,每次获得一个新的2D DCT变换,我们称之为SDCT(“可控离散余弦变换”)。这可以通过旋转与8×8块相关联的正方形网格图的拉普拉斯算子的特征空间的所有基向量来完成,如上面所解释的。应当注意的是,正方形网格图只取决于图像像素的几何特性(邻接和块维度),而不取决于特定的像素值本身。

在这些新的特征基和得到的所有可能的变换矩阵当中,系统可以使用更好地表示待压缩的具体图像或图像块的性质的特征基和变换矩阵,即,系统将选择更好地描述当前样本的基函数,例如对于常规的2D-DCT,不连续性在伪像和编码效率方面具有不良表示。

因此,所有可能的特征值λ和特征向量v被计算。给定其对应的特征空间具有维度2的拉普拉斯算子L的特征值λk,l,以及2D DCT n×n变换矩阵的两个向量v(k,l)和v(l,k)(从现在开始整体上表示为V),v(k,l)和v(l,k)是与λk,l对应的L的特征向量。根据以下公式,对于在从0到π/2弧度的范围内变化的θk,l,与λk,l对应的特征空间的任何其它可能的基可以被定义为特征向量v(k,l)和v(l,k)的旋转的结果:

以这种方式,通过旋转角度θ从基向量v获得新的特征向量v'。因此,可以定义新的变换矩阵V',其包括如此获得的向量v'来代替基向量v。在下面的描述中,2D-DCT变换矩阵V也被称为“离散余弦变换信息”,而新的变换矩阵V'也通过术语“变换信息”引用。

鉴于上述假设,图9中示出了SDCT计算的可能实施例;首先SDCT变换单元1101获取原始图像f或原始数据的图像块(步骤200);然后在步骤201,所述单元1101为当前图像块选择最优角度θ。在下文中以示例的方式提供并在图10中可视地描述了一种用于选择所述旋转角度的可能方法。

为了选择最好的旋转角度,令R是例如0和π/2弧度之间要测试的角度的有限数量,并且V是原始2D-DCT基矩阵。这R个角度可以例如在0和π/2之间均匀隔开:在数学公式中θi=i*π/(2(R-1))弧度,0≤i≤R-1。

J表示测量或估计与当前块相关联的编码效率的目标函数;在这种情况下,令J是表示经变换的系数的稀疏度(的量度)的度量,并且Jopt是所述目标函数的最优值。

然后,所提出的穷尽方法包括迭代地尝试该集合的所有R个角度;所述方法包括以下步骤:

-对于0≤i≤R-1的每个角度θi,V中的每对向量旋转当前角度θi(步骤303);

-利用原始2D-DCT V的旋转后的向量计算新的变换矩阵V'(步骤304);

-针对当前的V'计算目标函数J(θi)(步骤305);

-然后将J(θi)的值与最优值Jopt进行比较(步骤306):如果J(θi)>Jopt,那么J(θi)变成新的Jopt(步骤307),并且θi保持为最优的当前角度;

-在步骤306或307之后角度索引i增加,并且对新的当前角度θi执行步骤303的旋转。

图10中所示的所有计算步骤都针对每个角度执行。因此,在0和π/2弧度之间的R个可能角度的有限集合中,所考虑的方法找到优化目标函数J的一个角度(即,θopt)。

显然,这不是计算最优旋转角度的唯一途径。可以采用任何其它合适的方法来选择所述角度θ,例如,分层搜索。

一旦选择了最优角度θ,就可以通过生成变换信息V'在步骤202中将其应用于原始DCT矩阵V的向量。

可以如下创建新的变换矩阵可控离散余弦变换(SDCT),即,以上描述中的V'。对于重数大于1的每个特征基,对应的特征向量(或基向量)成对旋转。已被证明具有重数1的对角元素保持不变。因此,在本发明的一些实施例中,定义具有单个重数的特征基的基向量或特征向量不旋转,或者相当于旋转大小为0°的角度。因此,如果原始DCT矩阵的所有其它基向量被旋转相同的角度,那么存在定义了按相同角度旋转的不同特征空间的多组基向量。

实质上,SDCT变换包括选择由其基向量定义的且维度大于一的至少一个特征空间并旋转这些基向量。以这种方式,获得了特定的SDCT变换。本发明提出通过使变换适应信号的语义而将SDCT用于换二维信号,以进行压缩。

要注意的是,原则上,每个特征空间可以旋转不同的旋转角度,即,对于每对DCT基,系统可以选择更好地表示当前样本块的旋转角度。换句话说,定义不同特征空间的基向量组被旋转不同的角度。以这种方式,SDCT的每个分量根据最大化该特定块的编码效率的角度来确定方向。结果是:与常规(2D)DCT相比,编码性能得到改进,并且在解码器侧,所重构的图像或视频具有较少的可见伪像。更一般而言,定义不同特征空间的至少两组基向量被旋转不同的角度。

因此,在本发明的一个实施例中,对SDCT进行修改,使得根据要表示的图像或块图像的编码性能,按不同的旋转角度旋转每个DCT原始对。

本发明的另一个实施例表示前一个实施例的特殊情况,其中每个特征空间呈现相同的旋转角度,即,如果基向量成对旋转,那么每对原始DCT基向量根据相同的旋转角度定向。更一般而言,定义两个或更多个特征空间的两组或更多组基向量被旋转相同的角度。

在按相同的角度旋转所有特征空间后,如前所述,SDCT仍然相当于正方形网格图的图变换,但其朝向不同于原始DCT。图7描述了旋转角度为π/4弧度的这种特殊情况。具体而言,根据本发明的实施例,如下获得图7中的新变换矩阵V':

1)对于重数为2的每个特征值λk,l,旋转对应的特征向量;

2)与λ=4对应的n-1个特征向量以v(k,n-k)和v(n-k,k)对的形式旋转;

3)如果n是偶数,那么特征向量v(n/2,n/2)不旋转;

4)重数为1的对角元素v(k,k)不旋转,即,那些DCT基向量保持不变。

与之前在图1中描述的常规编码方案相比,在这种情况下,即,对于其中每个特征空间呈现相同旋转角度的实施例,用于获得旋转后的DCT变换的公共旋转角度是解码器为了恢复/解压缩视频流或静态图像的图像块的原始样本所需的唯一信息,如图8中突出显示的。在视频位流中,对于每个宏块或编码单元或图像部分,编码模式被用信号通知。编码模式可以表示帧内或帧间预测模式、用于运动补偿预测或变换编码的分区。在本发明的实施例中,旋转信息可以在编码器和解码端处已知的具体编码模式中暗示。

为了减少存储和/或发送根据本发明混合编码的图像所需的位速率,在根据已知技术输出之前,一个或多个旋转角度也可以被编码装置11量化并可能被熵编码;它们也可以以任何合适的方式与经混合编码的图像数据f^多路复用。在这种情况下,根据本发明的解码装置1110将以相反的次序执行编码器所执行的操作的逆操作:首先,从输入数字流解复用一个或多个角度值,然后熵解码,并最终在被用于计算图像系数上的ISDCT之前被解量化。

最后在步骤203(参见图9),SDCT变换单元1101通过将在步骤202获得的新变换矩阵SDCT应用于图像样本f来计算经SDCT变换的系数,即,SDCT变换单元1101优选地通过使用快速傅立叶变换算法来将变换矩阵V'乘以图像向量f。

然后将经SDCT变换的系数传递给单元1102和1103,以便如先前在图1中针对单元102和103所述的那样进行量化和熵编码。

特别地,熵编码器单元103可以将图像分量从低频分量到高频分量重新布置(例如,以“之字形”次序)并保留最重要的分量。显然,增加所保留的系数的数量将导致对原始图像分量的更好重构。

如果必须处理整个图像(或者静止图像或者作为视频流的一部分的图像),则对图像已被分成的每个图像块重复上述混合编码过程。

总而言之,根据本发明的编码装置11执行用于编码数字图像或视频流的方法,其中所述方法包括以下阶段:

-接收阶段,其中借助于输入单元1104接收图像f的至少一部分;

-旋转阶段,其中借助于处理单元1100确定至少一个旋转角度θ,用于旋转用于变换所述图像f的所述部分的离散余弦变换矩阵V(也称为离散余弦变换信息)的基向量,并且其中旋转后的变换矩阵V'(也称为变换信息)是按所述至少一个旋转角度θ旋转所述离散余弦变换矩阵V的至少一个基向量的结果;

-变换阶段,其中,基于图像f的所述部分中包含的像素和所述旋转后的变换矩阵V',通过借助于所述旋转后的变换矩阵V'将图像f的所述部分中包含的像素值从空间域变换到频域中,计算经变换的系数f^;

-输出阶段,其中,借助于输出单元1105,将经变换的系数f^发送到目的地1110。

类似地,图8还以示例性方式描述了根据本发明的图像解码器1110。解码器设备1110包括以下部分:

-输入单元1114(例如,用于以太网、USB、火线或SATA接口标准的适配器和/或用于GPRS/UMTS/LTE通信标准的调制解调器等),其被配置为从通信信道或存储介质C获取图像f的至少一个编码部分;在本发明的特定实施例中,用于获得旋转后的DCT矩阵的至少一个旋转角度或其指示符(图中未示出)也与编码图像部分一起被发送;

-输出视频单元1115(例如,用于VGA、HDMI或S-视频显示标准的适配器和/或用于以太网、USB、火线或SATA接口标准的适配器等),其被配置为输出重构的图像f',优选地通过将其显示在LCD面板等上;

-处理单元1200(例如,一个或多个CPU、GPU、DSP、CPLD、FPGA等),其被配置用于通过输入单元1114至少接收图像f的经变换的系数f^、通过处理所述经变换的系数f^以根据ISDCT变换解码图像f的所述部分(优选地执行实现ISDCT解压缩算法的指令集),并且通过所述输出视频单元1115输出重构的图像f'。

处理单元1200也可以用结构化的方式描述,即,它们可以包括逆SDCT(ISDCT)变换单元1111、解量化器1112和熵解码器1113。这意味着(虚拟)元件1111-1113的物理实现可以通过使用执行实现所述元件1111-1113中的至少一个元件的功能的指令集的单个物理处理器或者通过使用实现所述元件1111-1113中的至少一个元件的功能的不同专用硬件组件或者刚刚提到的解决方案的组合来进行。

在本发明的第一实施例中,由编码装置11将旋转角度或其指示符发送到解码装置1110。在这种情况下,取决于在编码侧的本发明的所选实施例,熵解码器单元1113以经量化、熵编码的系数和角度θ或当前图像块的角度θi作为输入。即,在解码器侧,系统可以接收一个角度值θ,这意味着每对对应的基向量需要旋转相同的角度θ,或者更多的角度值θi,其中i是随着编码装置决定在该图像块中旋转的基对的数量而变化的数字。

在本发明的另一个实施例中,不发送(一个或多个)旋转角度或其指示符,而是在相关联的编码模式中暗示旋转信息,如前面所述。在这种实施例中,编码器装置在位流的元数据中用信号通知这种编码方法与任何所需的关于预测模式与旋转角度之间的关系的显式或隐式的信息一起使用。解码装置从接收到的位流中获取这个信令,并且基于通过(一个或多个)相同的旋转角度获得的旋转后的DCT变换矩阵逆转在编码侧对某个图像部分执行的变换。

为了简单起见,令θ是仅一个角度并且f^是一个图像块系数。对于每个图像块,熵解码器1113和随后的解量化器1112从它们的编码和量化形式恢复f^系数(在理想的信道传输的情况下)和角度θ。

然后,逆SDCT变换单元1111基于图11中描述的过程在空间域中重构图像块f。单元1111在这里由上述可控余弦变换的逆变换(逆可控余弦变换或ISDCT或SDCT-1)表示。

首先,在这个实施例中,ISDCT单元1111在步骤400确定角度θ并从解量化器1112获取图像块的(经解码和解量化的)系数f^(步骤401)。在本发明的另一个可能的实施例中,块的旋转角度θ与系数f^一起由编码装置11发送。在这种情况下,解码装置还从解量化器获得由输入接口1114接收、由熵解码器1113解码并由解量化器1112解量化的这种角度。然后,每个2D-DCT基向量对v(k,l)和v(l,k)根据以下公式按角度θ被旋转(步骤401):

从而对于θ=45°恢复在图7中以示例性方式描述的变换矩阵SDCT V'(步骤402)。

在步骤403中对矩阵V'进行转置,从而生成逆变换矩阵V'T,即,ISDCT。然后,通过矩阵乘法f=V'T·f^恢复出原始图像块f(步骤404)。

在这里,f是原始块图像,但是,在公共的编码/解码单元中,由于一些有损编码步骤或发送/接收错误,f可以是原始样本的近似重构。

要注意的是,根据图11中描述的方法步骤来处理每个图像块(经熵解码和解量化的)。如果必须处理整个图像(静态图像或者作为视频流的一部分的图像),则针对图像已经被分成的每个图像块重复上述混合解码过程。

使用其向量基具有与水平/垂直朝向不同的朝向的变换矩阵的目标是通过使域变换的系数不平衡而获得的更紧凑的信号表示。对于每对旋转后的特征向量,相应的经变换的系数的总能量保持不变,但是有可能稀疏化每个特征空间中的信号表示。在最优情况下,旋转将该对的所有能量压缩在两个系数之一中。

总而言之,根据本发明的解码装置1110执行用于解码数字图像或视频流的方法,其中所述方法包括以下阶段:

-接收阶段,其中通过输入单元1114接收图像f的编码部分的经变换的系数f^;

-旋转阶段,其中借助于处理单元1200确定用于旋转离散余弦变换矩阵V的基向量的至少一个旋转角度θ,以便逆变换所述图像f的编码部分,并且其中借助于处理单元1200确定旋转后的变换矩阵V',其中所述旋转后的变换矩阵V'是按所述至少一个旋转角度θ旋转所述离散余弦变换矩阵V的至少一个基向量的结果;

-逆变换阶段,其中通过借助于所述旋转变换矩阵V'将所述经变换的系数f^从频域逆变换到空间域中,基于经变换的系数f^和所述旋转后的变换矩阵V'来计算重构的图像f';

-输出阶段,其中通过输出视频单元1115输出重构的图像f'。

性能测试

由于解决量化步骤(分别由图8和1中的单元1112和112执行)和熵编码阶段(单元1113和113中)的目标功能在要比较的配置中不改变,所以已经执行了M项非线性近似,以便以计算较不密集的方式相对于常规2D-DCT以简单的方式评估所提出的SDCT变换的性能。

由于通过DCT和SDCT变换获得的较少系数是重要的,因此实际的近似值是将小的分量削减为零。

给定上述假设,可以在解码器侧将重构的图像Irec表示为其M个最大的经变换的系数ci和对应基函数vi的线性和,如下面的公式所给出的:

其中M理想地是用于图像重构的接收器的经变换的非零系数的数量。由此可见,少量的系数导致更好的压缩性能。

选择M以便最大化M个最大系数中的能量J:

已经用多个测试图像进行了实验,以评估用于构建SDCT变换的量化角度的数量的影响以及块的维度对编码效率的影响(即,SDCT已被应用于4×4、8×8、16×16像素块尺寸)。

为了简单起见,在这里仅报告测试的子集(用图13中的测试图像执行)。这里采用PSNR(峰值信噪比)作为信号质量的量度。

参考图14,已经评估了根据8×8块的可用系数的数量的SDCT的性能测试结果。具体而言,图14示出了相比于常规2D-DCT根据所发送的系数(即,上式中的M)的4、16和128个角度的SDCT性能。

显然,增加角度的数量可以改进SDCT的性能。对于大于16的可用角度的数量,改进变得可忽略不计。下面给出的测试已经用16角度量化执行。

为了研究块尺寸对编码效率的影响,测试图像被细分为不同尺寸的块;图15图示了对于4×4块尺寸划分(图15-a)、8×8块尺寸划分(图15-b)、16×16块尺寸划分(图15-c)的DCT与SDCT之间的比较。当使用单个旋转角度时,对于较小的图像块,SDCT的效果增加,因为非常有可能在较小的区域中在它们的不连续处存在单个主导方向。

在图18中举例说明了由可控DCT获得的显著改进的细节,图18表示具有六个保留系数(即,M=6)和8×8块尺寸的重构的图像房子。SDCT(图18-b)相对于DCT(图18-a)提供更好的视觉质量,由于新的旋转后的系数给出了变换与边缘方向的对准,沿边缘的伪像被最小化。

考虑图20-a中的玩具图像(对应的像素值在图20-b中),图21(a)和(b)示出了经DCT变换的系数并且图22(a)和(b)是经SDCT变换的系数。如图22-a中可以看到的,SDCT以非常高效的方式将能量集中在几个系数中(即,在我们的玩具图像的理想情况下,经变换的矩阵的一半由非零系数组成)。图23-a中解码器侧的对应的重构图像完全遵循图20中穿过玩具图像的对角不连续性。

相反,常规2D-DCT(图21(a)和(b))生成图23-b中的重构图像;显然它在图像的平坦区域呈现出明显的噪音。

其它实施例和推广

本发明的优选实施例涉及灰度级图像,但是另一个实施例涉及用于其中色度分量已被处理的彩色图像的编码和解码单元。

本描述涉及基于块的SDCT,但是它可以应用于任何维度的正方形块,图15以示例性方式示出了具有16×16、8×8、4×4像素块的一些实验。

为了简单起见,在本说明书中例示的本发明的实施例中,SDCT和ISDCT块的尺寸对于整个图像是相同的。无论如何,还有可能使用这样的SDCT编码和解码处理:块尺寸以与在传统2D-DCT适用的一些当前视频标准中类似的方式适应视频数据语义。这允许通过避免包含相同种类的定向不连续性的图像区域的不必要的最优角度的传输来进一步提高编码效率。

在另一个实施例中,在SDCT中,原始2D-DCT的每个特征基可以旋转不同的旋转角度,即,对于每一对DCT基,系统可以选择更好地表示当前样本的旋转角度。以这种方式,SDCT根据使该特定块的编码效率最大化的一个或多个角度来定向。

在本发明的另一个实施例中,利用要旋转的特征空间的标识来发送一个或多个角度θ;标识度量可以是包含所有可能的特征空间的查找表中的索引,或者标识度量可以是隐式的(例如,解码器可以从角度的接收次序导出与θ对应的特征空间)。在另一个实施例中,选择最优角度θ的度量不是穷尽搜索,而是任何其它搜索方法,即,通过连续增加最优角度θ执行的分层搜索。

在另一个实施例中,图10中的目标函数J可以遵循不同的做法来测量编码效率,例如,可以应用计算给定失真D的最小传输位速率R的率失真优化度量,例如,最小化拉格朗日成本函数J=D+λR,其中λ在这里是所谓的拉格朗日乘数。

在另一个实施例中,目标函数J可以遵循不同的做法来测量编码效率,例如,可以应用心理视觉优化度量,诸如SSIM(结构相似度)优化。

在另一个实施例中,目标函数J可以是取决于当前图像的感兴趣区域(ROI)的心理视觉优化度量,即,如果当前块关于当前图像的感兴趣区域,则编码装置可以仅在这部分上应用心理视觉优化,并且在图像的其它部分(或帧内)上使用任何其它方法。

在本发明的另一个实施例中,SDCT是整数变换;已知具有低误差的类DCT变换的实现需要具有浮点实现的长字长算术;这意味着复杂的硬件实现。最近的编码器和解码器通过用整数算术指定DCT来解决这个问题。整数变换避免由于浮点表示略有不同而造成的编码器-解码器不匹配和漂移。

在另一个实施例中,编码和解码装置可以以不同的方式执行最优角度的选择。图8中的编码装置可以包括至少包含一组预建立的可控离散余弦变换的存储器单元(例如,只读存储器和/或随机存取存储器和/或固态存储器和/或硬盘等);每个SDCT具有按预定数量的角度旋转的基。在这种情况下,最优角度的选择可以用可用SDCT当中的最优SDCT的选择来代替。关于所选择的SDCT变换的信息(例如,所选择的矩阵的指示符或在位流语法中包括的相关联的编码模式)被传送到解码器装置,该解码器装置获取它并且在从对应的一组预建立的ISDCT中选择的对应逆SDCT上操作相同的选择。这种指示符可以与暗示具体SDCT的使用的具体编码模式相关联。

上面提到的一组可控离散余弦变换可以以多种模式构造。在第一个示例中,具有16角度量化,编码器和解码器可以在存储器中具有16个SDCT,其中每对特征基已经旋转了相同的角度θ。在第二个示例中,变换组中的每个SDCT可以使每对向量根据不同的旋转角度旋转。

在另一个实施例中,当前块的角度θ可以根据当前图像的一个或多个先前编码的块或先前编码的图像的角度θ来预测。在这种情况下,有可能只向解码器发送“跳过”标志(如果它们完全相同)或预测的差异。在解码器侧,当接收到“跳过”标志或预测的差异时,将相应地导出角度θ。

在本发明的另一个实施例中,变换DCT和SDCT可以以混合方式应用,以便根据每个块或图像块的具体语义最大化编码性能。在这种情况下,例如,当没有发送旋转角度θ或相关联的编码模式时,系统可以使用简单的2D-DCT或任何其它变换;相反,当解码器接收到角度θ或暗示角度θ的编码模式时,解码装置知道已经应用了可控余弦变换并相应地重构经变换的系数。更详细地说,可以在编码位流的语法信息中指定SDCT和/或相关联的一个或多个角度,例如PPS(图片参数集)或切片头部或在编码器和解码器侧处已知的任何其它语法表示。

在本发明的另一个实施例中,可以在应用SDCT之前应用子带编码。子带编码基于频率将源输出分解为分量。作为关于对角线对称的变换矩阵,有可能仅考虑以任意方式排序的系数的子部分,所考虑的系数的示例和所提出的排序的示例在图12-a和12-b中示出。

在本实施例中,所考虑的SDCT可以被细分为可变数量的子带,图12-c示出了相等尺寸的四个子带的示例性划分。然后为每个子带指派不同的旋转角度θ,其更好地表示所考虑的样本块。图19中绘出了一些结果:通过增加所保留的系数的值,4子带SDCT优于SDCT。

在本发明的另一个实施例中,借助于可控离散余弦变换SDCT对数字视频流进行编码和解码的另一种方法和相关联的系统被采用。

在图16中示例性地描述了采用新的SDCT进行视频压缩的典型块方案。以下在图16中仅描述对于理解可控余弦变换在这个框架中的用途所必要的视频编码系统的主要部分。

对于每个图像块,编码系统执行帧内预测或者运动估计和补偿,以预测当前图像样本。

在通用框架中,除了灰度级图像编码,帧内预测单元(图16中的变换、缩放和量化单元500)还对色度分量执行某种处理(例如,缩放滤波)。

在常规的混合视频编码和解码系统中,如MPEG2、MPEG4/AVC或HEVC,由单元500执行的变换操作是普通的2D-DCT变换。这同样适用于由缩放和逆变换单元510执行的逆变换操作,通过该逆变换操作,普通的逆2D-DCT变换被执行以便重构图像样本、计算率失真成本并决定如何执行混合编码处理。

代替地,根据本发明的实施例,除了不存在熵编码阶段1103以外,单元500包含如图8中所绘出的对帧内的类图像编码;有时,取决于图像语义,预测单元可以根据空间上相邻的块预测当前块。

帧间预测单元利用运动估计单元在一组先前编码的帧中找到最相似的块,并通过所谓的“运动补偿”利用所选择的块来预测当前块。

所预测的像素值与原始的像素值之间的差异被计算,以用于预测性帧内编码和帧间编码。这种差异常常被称为“残余图像”或“残差”或“残余值”。根据本发明的实施例,然后根据图9中描述的编码方法来变换这个残余图像,从而生成经SDCT变换的系数(如前所述)。这些系数在被发送到信道或存储单元之前被量化和熵编码。因此,在本发明的一个实施例中,SDCT被应用于残余图像块。

在本发明的另一个实施例中,角度θ是所选择的帧内编码模式的方向;在这种情况下,由于解码装置已经接收到帧内模式预测信息(例如,索引)并且可以容易地导出预测方向信息,因此可能没必要发送角度信息或相关联的编码模式。

类似地,图17示出了利用可控离散余弦变换的示例性视频解码装置。视频流的混合编码样本分别由熵解码器602和逆量化器604进行熵解码和解量化,从而恢复经SDCT变换的系数。

经SDCT变换的系数馈送帧内解码器606,帧内解码器606包含根据图11中呈现的解码步骤操作的逆SDCT(或ISDCT)变换单元。

这个解码阶段的输出可以是残余块或者内部块。在第一种情况下,即,如果解码的样本与残余块有关,那么这通常意味着已经从同一帧内部的相邻块(帧内预测)或者从包含在参考缓冲器中的先前解码的帧中的块预测出(帧间预测)当前块。在第一种情况下(即,帧内预测),这些残余值被加到当前图片内部的参考块值上;在第二种情况下,即,帧间预测,运动补偿的预测器608恢复运动信息(例如,在一个或多个先前解码的图像/帧中的参考块的运动向量和索引),并将残余值加到一个或多个先前解码的帧的对应的块值。

在这个时候,在视频解码装置可能执行的一些附加操作之后,图像可以被发送到显示设备。

这些操作(如解缩放、解块等)在这里没有绘出和描述,因为它们对于本发明可忽略。

在本发明的另一个实施例中,首先关于不连续性(如边界和/或颜色变化)的存在和朝向来分析图像或图像块;取决于这种分析的结果,做出关于使用普通2D-DCT或SDCT变换的决定;还可能基于不连续性的朝向来选择最优角度。

在开始混合视频编码之前,可以通过针对整个图像区分在每个块上要应用的域变换的类型以及可能还有变换的块尺寸(如果执行自适应的块尺寸的话)来完成分析。在本发明的替代实施例中,在混合编码期间逐个块地完成分析,和/或在视频数据的情况下逐个图像地完成分析。

在另一个实施例中,SDCT变换的维度也可以基于图像语义的分析来确定:例如,如果具有不同朝向的两个不连续性将被包括在同一SDCT变换块(即,16×16)中,那么块变换的维度可以减少到8×8或4×4,直到两个不连续性中只有一个存在或者至少在不同的变换块中占主导地位。

混合视频编码是在描述本发明的上下文;无论如何,它适用于任何二维信号的压缩和解压缩,其中域变换对解决本发明所面临的技术问题是有用的,即,通过采用定向变换使通过域变换获得的系数适应二维信号中存在的不连续性的朝向来提高编码效率。

在本说明书中用作输入二维信号的术语“图像”和“图像块”必须以其最广泛的含义来解释。它们可以涵盖从自然图像、人造图像、图像的预测误差、较高分辨率的图像的二次采样版本、所述类型的图像的任何部分等直接导出或提取的像素值。

本说明书已经解决了一些可能的变体,但是对于本领域技术人员来说显而易见的是,也可以实现其它实施例,其中一些元件可以用其它技术上等同的元件替换。因此,本发明不限于本文描述的解释性示例,而是可以在不脱离如所附权利要求阐述的基本发明构思的情况下对等同的部分和元件进行许多修改、改进或替换。

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