对数字图像块进行基于掩码的处理的系统和方法与流程

文档序号:11291330阅读:410来源:国知局
对数字图像块进行基于掩码的处理的系统和方法与流程



背景技术:

在本发明的一些实施例中,本发明涉及压缩数字图像和/或视频的系统和方法,更具体地但不专门地,涉及生成用于处理数字图像块的一组变换系数的系统和方法。

当以非压缩方式存储通过数码相机获得的静态图像等数字图像以及数字视频时,数字图像以及数字视频需要大量的存储资源,其中,数字图像以及数字视频用全数据集表示。传输表示数字图像和/或视频的全数据集需要大量的网络资源,例如,通信带宽。由于单个视频可能包括数以千计的帧,所以视频中的该问题尤为显著。在多数情况下,可能无法为每幅图像存储和/或传输全数据集,或相反地,为每幅图像存储和/或传输全数据集需要大量的处理和网络资源。

此外,随着相机(静态图像和视频)和显示屏的质量以及分辨率能力的提升,每幅图像中生成的数据量继续增长。移动设备(例如,智能手机和平板电脑)上运行的基于视频的应用依赖于视频的传输,且会产生大量的网络流量,尤其是在无线网络中。

为了压缩静态数字图像和数字视频,已经提出了不同的解决方案,以减小图像以及视频数据的大小,从而节省必要的存储资源和网络资源。

例如,2012年12月,sullivan等人在《ieee用于视频技术的电路和系统汇刊》第22卷第12期《高效视频编码(highefficiencyvideocoding,简称hevc)标准综述》中写道“如今,高效视频编码(highefficiencyvideocoding,简称hevc)正成为itu-t视频编码专家组和iso/iec动态图像专家组的最新视频编码标准,hevc标准化工作的主要目标是:相对于现有标准,大幅度提高压缩性能——在降低50%的码率范围内获得同样的感知视频质量”。



技术实现要素:

本发明的目的是提供一种改进的视频压缩技术。

该目的是通过独立权利要求中提供的解决方案来实现的。各从属权利要求中进一步定义了有利的实现方式。

第一方面,一种用于生成帧或帧的一部分中的块的一组变换系数的装置,包括:媒体编码器,耦合至用于接收帧或帧的一部分的数据接口,所述媒体编码器用于:指定一个大小和形状与所述帧或帧的一部分中划分出的块相同的旋转对称掩码,用以处理所述块;采用所述旋转对称掩码,将所述块划分为两个互补的部分;生成旋转对称块对,其中,每个旋转对称块包括所述两个互补的部分中的其中一个;计算所述旋转对称块对中每个旋转对称块的变换系数。

第二方面,一种用于生成帧或帧的一部分中块的一组系数的方法,包括:指定一个大小和形状与所述帧或帧的一部分中划分出的块相同的旋转对称掩码,用以处理所述块;采用所述旋转对称掩码,将所述块划分为两个互补的部分;生成旋转对称块对,其中,每个旋转对称块包括所述两个互补的部分中的其中一个;计算所述旋转对称块对中每个旋转对称块的变换系数,其中,所述方法可用于操作根据第一方面所述的装置。

第三方面,一种用于解码帧或帧的一部分中的块的装置,包括:媒体编码器,耦合至数据接口,用于接收至少一个表示旋转对称块对中至少一个旋转对称块的变换系数,以及接收指示用于处理所述块的相关指定旋转对称掩码的信号,其中,所述变换系数对帧或帧的一部分中的块进行编码,所述相关指定旋转对称掩码的大小和形状与所述帧或帧的一部分中划分出的块相同;所述媒体编码器用于:基于所接收的至少一个变换系数的逆变换,计算旋转对称块对,其中,所述旋转对称块对中的每个旋转对称块具有两个互补的部分中的其中一个;基于所述旋转对称掩码,将所述两个互补的部分重构成从相同的帧或帧的一部分中划分出的块。

第四方面,一种用于基于一组变换系数重构帧或帧的一部分中的块的方法,包括:接收一组表示旋转对称块对中每个旋转对称块的变换系数,以及接收指示用于处理所述块的相关指定旋转对称掩码的信号,其中,所述变换系数表示块在频域上的数据,所述相关指定旋转对称掩码的大小和形状与所述帧或帧的一部分中划分出的块相同;基于所接收的一组变换系数的逆变换,计算所述旋转对称块对,其中,所述旋转对称块对中的每个旋转对称块均具有两个互补的部分中的其中一个;基于所述旋转对称掩码,将所述两个互补的部分重构成所述块,其中,所述方法可用于操作根据第三方面所述的装置。

第五方面,一种计算机程序,用于:当运行在计算机上时,执行根据第一方面所述的方法。可配置所述计算机程序供媒体编码器使用,所述程序代码可包括:指令用以:指定一个大小和形状与帧或帧的一部分中划分出的块相同的旋转对称掩码,用以处理所述块;采用所述旋转对称掩码,将所述块划分为两个互补的部分;生成旋转对称块对,其中,每个旋转对称块包括所述两个互补的部分中的其中一个;计算所述旋转对称块对中每个旋转对称块的变换系数。

第六方面,一种计算机程序,用于:当运行在计算机上时,执行根据第五方面所述的方法。为了清晰起见,此处详细描述了编码装置、编码方法和/或编码计算机程序产品。对于每个所描述的编码功能和/或结构,都暗含了对应的解码功能和/或结构。为了简洁和清晰起见,省略了关于所述编码功能和/或结构元件所对应的解码功能和/或结构元件的描述。为了清晰起见,术语“媒体编码器”也指所述方法和计算机程序产品。例如,短语“媒体编码器用于”也指“所述方法还包括”以及“所述计算机程序产品还包括用于……的指令”。

在各个方面中,通过提高图像和/或视频压缩效率和/或降低图像和/或视频压缩的资源需求(例如,存储器和/或处理器),改善了系统性能。

在根据第一方面的装置的第一种可能的实现中,所述媒体编码器用于:通过在所述两个互补的部分的每个部分中添加互补数据,生成大小和形状与所述块相同的所述旋转对称块对中的每个旋转对称块。

添加所述互补数据使得可将每个部分作为整个块进行处理,按照块形式处理每个部分比按照部分块形式处理更加高效。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第二种可能的实现形式中,所述互补数据是所述两个互补的部分中的每个部分的2d镜像,其中,所述旋转对称块是通过将所述两个互补的部分中的每个与包含0(0)、1(1)和–1(–1)的组中的一个数值相乘得到的。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第三种可能的实现形式中,所述媒体编码器用于:通过识别所述块中的像素值图案,指定所述旋转对称掩码。

基于像素值的图案进行指定,可生成两个互补的部分,其中,所述两个互补的部分中每个部分中的像素彼此类似,例如,具有相似的强度和/或颜色。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第四种可能的实现形式中,所述旋转对称掩码是一种二进制掩码,其中,所述二进制掩码中定义了将所述块划分成两个互补的部分的划分方式,使得将所述块关于所述块的中心旋转180度后,所述块的形状和划分方式保持不变。

使用所述二进制掩码可以将所述块高效地划分为互补的部分。每个部分包括具有相似特征的像素,使得可以对每个部分进行高效处理。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第五种可能的实现形式中,多维空间为二维(twodimensional,简称2d)空间,所述块为m×n的块,其中,所述旋转对称掩码用于定义将所述m×n的块划分为两个互补的组的划分方式,使得当位于(m,n)的某个像素被分配至第一组时,位于(m–m–1,n–n–1)的对应像素被分配至第二组。

可以进行复杂的块划分,从而可以高效处理每个由此产生的互补部分。通过任意的块划分,对包含非连续图像的块进行划分,从而改善具有相似属性的组的压缩性能,例如,当所述块包括两个具有所述块某个位置上的黑色像素以及2d镜像位置上的白色像素的组的图像时,所述掩码用于将所述图像划分为包括所述黑色像素的第一组和包括所述白色像素的第二组。通过任意的划分,对第一组和第二组的压缩得到了改善。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第六种可能的实现形式中,所述旋转对称掩码用于定义一条将所述块划分为两个互补的组的梯度线,其中,所述梯度线由二进制序列定义,所述二进制序列中的每个比特定义了沿着所述梯度线的单个移动步长,其中,水平方向是所述比特的一种状态,而垂直方向则是所述比特的另一种状态。

相比直线而言,所述梯度模型可以更准确地划分所述两个像素组,例如,当利用地形等复杂轮廓划分所述两个像素组时。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第七种可能的实现形式中,所述旋转对称掩码用于定义两个互补的部分,其中,至少一个部分中包括某些像素特征高于预定义阈值的可能性。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第八种可能的实现形式中,多维空间为二维(twodimensional,简称2d)空间,其中,所述旋转对称掩码用于定义一条连接所述二维空间的对边的线,所述线将所述二维空间划分为两个2d镜像互补的部分。

所述旋转对称掩码可用于划分多维空间和/或数据,使得此处所述的系统和/或方法与基于多维空间的不同图像和/或视频标准相结合。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第九种可能的实现形式中,将所述连接所述二维空间的对边的线离散化为反对称曲线,所述反对称曲线穿过矩形块的中点,将所述矩形块划分为两个镜像互补的部分。

相比直线而言,所述曲线可以更准确地划分所述两个像素组,例如,当利用地形等复杂轮廓划分所述两个像素组时。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第十种可能的实现形式中,所述反对称曲线是一条连接所述矩形块的对边的离散斜线,所述反对称曲线穿过所述矩形块的中点,将所述矩形块划分为两个2d镜像互补的部分。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第十一种可能的实现形式中,所述旋转对称掩码为矩形。

处理矩形块提高了此处根据允许将所述帧(或所述帧中的子区域)分割为矩形块的标准所描述的系统和/或方法的兼容性。

同样根据第一方面或者根据第一方面的前述实现形式中任意一种实现形式,在所述装置的第十二种可能的实现形式中,所述数据接口还用于接收至少一个表示旋转对称块对中至少一个旋转对称块的变换系数,以及接收指示用于处理所述块的相关指定旋转对称掩码的信号,其中,所述变换系数对帧或帧的一部分中的块进行编码,所述相关指定旋转对称掩码的大小和形状与从所述帧或帧的一部分中划分出的块相同;所述媒体编码器还用于:基于所接收的至少一个变换系数的逆变换,计算所述旋转对称块对,其中,所述旋转对称块对中的每个旋转对称块具有两个互补的部分中的其中一个;基于所述旋转对称掩码,将所述两个互补的部分重构成从相同的帧或帧的一部分中划分出的块。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第一种可能的实现形式中,从多个旋转对称掩码中指定所述旋转对称掩码,其中,所述多个旋转对称掩码定义了多种不同的旋转对称性。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第二种可能的实现形式中,根据所述块内的像素值图案,进行指定。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第三种可能的实现形式中,通过在所述旋转对称块对中的每个旋转对称块中添加互补数据,进行生成,以形成所述块的大小和形状。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第四种可能的实现形式中,基于从所述块的空间相邻块和所述块的时间相邻块中至少一个中提取的内容,指定所述旋转对称掩码。

可选地,所述相邻块包括先前已处理的块。所述先前已处理的块可作为预测块,从而为当前正在处理的块选择掩码。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第五种可能的实现形式中,根据所述空间相邻块和时间相邻块中至少一个中的像素值图案,提取所述内容。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第六种可能的实现形式中,基于所述块的空间相邻块和时间相邻块中至少一个的相关信息,指定所述旋转对称掩码。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第七种可能的实现形式中,所述空间相邻块和时间相邻块中至少一个的相关信息与预测相关。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第八种可能的实现形式中,所述预测与帧内预测的方向模式相关。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在说书方法的第九种可能的实现形式中,所述空间相邻块和时间相邻块中至少一个中的像素值图案与像素值的至少一个边缘相关。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第十种可能的实现形式中,所述预测与帧间预测相关。

同样根据第五方面或者根据第五方面的前述实现形式中任意一种实现形式,在所述方法的第十一种可能的实现形式中,基于满足通过下式计算出的旋转对称条件的2d离散正交变换,计算所述变换系数:

tp,q(m–m–1,n–n–1)=(–1)(p+q)tp,q(m,n)

其中:

{tp,q(m,n)}是2d变换基础;

(m,n)表示像素位置;

m=0,1,…,m–1;n=0,1,…,n–1;p和q表示空间频率;p=0,1,…,m–1;q=0,1,…,n–1。

除非另有定义,否则此处使用的所有技术和/或科技术语与本发明所属领域的普通技术人员公知的含义相同。尽管与此处所述的相似或等同的方法和材料可用于实践或测试本发明实施例,但下面描述了示例性方法和/或材料。若发生冲突,以本专利申请书为准,包括各个定义。另外,所述材料、方法和示例仅供说明,不是用来进行必要限制。

附图说明

此处仅作为示例,结合附图描述了本发明的一些实施例。现在具体结合附图,需要强调的是所示的项目作为示例,为了说明性地讨论本发明的实施例。这样,根据附图说明,如何实践本发明实施例对本领域技术人员而言是显而易见的。

在附图中:

图1是本发明一些实施例提供的一种生成用于编码和/或处理帧中的块的一组变换系数的方法的流程图;

图2是本发明一些实施例提供的一种生成用于编码和/或处理帧中块的一组变换系数的媒体编码器的变换部件的方框图;

图3是描述本发明一些实施例提供的简单旋转对称掩码的一些示例的示意图;

图4是描述本发明一些实施例提供的为块选择旋转对称掩码的示意图;

图5a至图5c是描述本发明一些实施例提供的用于定义旋转对称掩码的像素2d镜像的示意图;

图5d至图5e是描述本发明一些实施例提供的任意旋转对称掩码的示例的示意图;

图6a至图6d是本发明一些实施例提供的旋转对称掩码库的一些示例;

图7是通过图表描述本发明一些实施例提供的旋转对称掩码的层级排列的示意图;

图8是描述本发明一些实施例提供的旋转对称掩码的生成和/或表现形式的示意图;

图9是本发明一些实施例提供的选择和/或指定用于划分块的旋转对称掩码的各种计算机化标准和/或方法的列表;

图10是本发明一些实施例提供的一种用于图像压缩和解压缩且包含图1和/或图2中的系数编码器/解码器的示例系统的方框图;

图11是本发明一些实施例提供的一种对一组用于编码帧中的块的变换系数进行解码的方法的流程图;

图12a至图12i包括执行此处所述的方法和/或系统后的实验结果的图像和图表。

具体实施方式

本发明一些实施例的一方面涉及生成一组用于编码帧或帧的一部分中的块的变换系数的方法和/或系统,以及对两个互补的部分的编码,其中,所述两个互补的部分是通过基于某个选择的旋转对称掩码对所述块进行划分后得到的。通过所述方法和/或系统,提高了所述块的压缩率,且没有大幅度降低图像质量,因此,减小了存储和/或传输所述块所需的大小(例如,比特数)。任何的图像质量下降都是在预定义可允许的限度内和/或类似于采用非此处所述方法的标准方法的所造成的图像质量下降,例如,峰值信噪比(peaksignaltonoiseratio,简称psnr)可以作为定义图像质量的客观指标。

此处所述的术语“帧”或“图像”有时是指帧的一部分或图像的一部分。可以计算整个帧(和/或图像)和/或所述帧的一部分的变换系数,例如,计算片和/或方块的变换系数。例如,如压缩标准中所定义的,这些片和/或方块是所述帧的子部分。

所述方法和/或系统包括用于对块进行编码的编码器,该编码器用于:为所述块选择合适的旋转对称掩码,基于所述掩码将所述块划分为两个互补的部分,利用每个部分生成旋转对称块对,以及计算所述旋转对称块中的其中一个或两个的变换系数。

所述方法和/或系统包括用于解码所述变换系数以及重建所述块的解码器。对所述变换系数进行解码,以重建所述旋转对称块对。将所述旋转对称块对中的每个旋转对称块转换回(例如,基于逆变换计算)所述两个互补的部分中的各自的部分。根据所述旋转对称掩码,将所述两个互补的部分重新连接在一起,以形成所述块。

为了清晰起见,此处详细描述了所述编码器。对于每个所描述的编码功能和/或结构,都暗含了对应的解码功能和/或结构。为了简洁和清晰起见,在描述中省略了编码功能和/或结构元件所对应的解码功能和/或结构元件。

可选地,指定掩码,以将块划分为两个互补的部分。相对于压缩整个块或相对于采用标准划分方法压缩所述块(例如,高效视频编码(highefficiencyvideocoding,简称hevc)标准和/或h.265标准中定义的四个方块),这两个互补的部分能被压缩得更好。

可选地,选择所述掩码,以基于所述块的图像中的一个或多个视觉特征划分所述块。所述块可以包含根据这些视觉特征划分的不同类型的内容,例如,所示的穿过所述块的斜线或斜边。所述掩码可大体按照视觉特征将所述块划分为两个互补的部分。相对于在所述视觉特征以外的其他位置对所述块进行划分,例如,按照所述hevc标准的规定,划分为四个相等的块,这两个互补的部分相互间更同质(即,每个部分通常描述了所述各种类型的内容中其中一种)。

可选地,为不同的块选择不同的掩码。可以独立地为这些块选择掩码,例如,基于块内的内容。通过自定义的掩码选择,对每个块的压缩得到了改善。

每个块所使用的每个掩码与为该块所计算出的一组变换系数相关。例如,将每个块所使用的掩码与计算出的变换系数一起传输,和/或传输指示与所述变换系数相关的掩码(例如,从可能的掩码库中选择)的信号。

所述掩码具有旋转对称的属性。可选地,所述掩码定义了将所述块划分为两个互补的部分,使得将所述块关于所述块的中心旋转180度后,所述块的形状和划分方式保持不变。所述掩码可以是二进制掩码(如此处所述)。旋转对称使得可以采用合适的正交变换方法计算两个维度中的正交变换系数,例如,2d离散余弦变换(discretecosinetransform,简称dct)。压缩所述正交变换系数比压缩非正交变换系数更高效。

所述两个互补的部分中的每一个保留有所述块中的该部分内的原始图像内容的二维拓扑,使得可以重构出同一幅图像。

可选地,所述掩码基于所述块的图像中一个或多个特征划分所述块。这些特征可以包括所述块中的像素图案,例如,基于本地视觉图案、强度值,和/或色彩值。

可以基于第一像素组和第二像素组指定所述掩码,每个像素组包含不同的分类值和/或定义值。所述掩码分别基于所述第一组和所述第二组将所述块划分为所述两个互补的部分。

可以指定满足旋转对称定义的不同掩码。所述掩码可以基于线性划分直线,该直线可以成0度至359度之间的任意角度。所述掩码可以基于划分曲线,该曲线可以是一条离散反对称曲线,所述离散反对称曲线从定义该掩码的所述块中间穿过。所述掩码可以将所述块划分为包含所述块中连续和/或非连续子区域的互补的部分。

可选地,基于从时间块和/或空间块中提取的预测信息指定所述旋转对称掩码。可以基于所述时间块和/或空间块中一个或多个边的映射进行预测。可以基于所述时间块和/或空间块中像素图案的映射进行预测,例如,本地视觉特征,像素强度和/或像素颜色。所述预测可以是帧间预测和/或帧内预测。

在详细解释本发明至少一个实施例之前,需要理解的是,本发明并不一定限于将其应用于以下描述中提出和/或附图和/或示例中示出的组件和/或方法的结构细节和排列。本发明能够包含其他实施例,或能够通过不同方式实践或执行。

本发明可以是一个系统、方法和/或计算机程序产品。该计算机程序产品可以包括计算机可读存储介质(或多个介质),该计算机可读存储介质中包括计算机可读介质上的计算机可读程序指令,使得处理器可执行本发明各个方面。

所述计算机可读存储介质可以是有形设备,该有形设备可保留和存储供指令执行设备使用的指令。例如,所述计算机可读存储介质可以是但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备,或上述设备的任意合适组合。所述计算机可读存储介质的具体示例的非详尽列表包括:便携计算机软盘、硬盘、随机存取存储器(randomaccessmemory,简称ram)、只读存储器(read-onlymemory,简称rom)、可擦可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom,或闪存)、静态随机存取存储器(staticrandomaccessmemory,简称sram)、便携只读光盘(compactdiscread-onlymemory,简称cd-rom)、数字多功能光盘(digitalversatiledisc,简称dvd)、记忆棒、软盘,以及上述设备的任意合适组合。此处使用的计算机可读存储介质不应理解为本身瞬时的信号,例如,无线电波或其他自由传播的电磁波、通过波导或其他传输介质(例如,通过光缆的光脉冲)传播的电磁波,或通过电线传输的电信号。

可以从计算机可读存储介质下载此处所述的计算机可读程序指令到各自计算/处理设备中,或通过因特网、局域网、广域网和/或无线网络等网络下载此处所述的计算机可读程序指令到外部计算机或外部存储设备中。所述网络可以包括铜传输线缆、传输光纤、无线传输、路由器、防火墙、交换机、网关计算机,和/或边缘服务器。每个计算/处理设备中的网卡或网络接口从所述网络中接收计算机可读程序指令,并转发所述计算机程序可读程序指令,以存储在各自计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机可读程序指令可以是汇编指令、指令集架构(instructionsetarchitecture,简称isa)指令、机器指令、与机器相关的指令、微码、固件指令、状态设定数据,或者用一种或多种编程语言的任意组合所编写的源代码或目标代码中的任意一种,所述编程语言包括smalltalk或c++等面向目标的编程语言以及c编程语言或相似编程语言等传统过程化编程语言。所述计算机可读程序指令可以全部在用户计算机上上执行,或者一部分作为独立软件包在用户计算机上执行,或者一部分在用户计算机上执行,一部分在远程计算机上执行,或全部在远程计算机或服务器上执行。在后一种情景中,所述远程计算机可以通过任何类型的网络连接到所述用户计算机,所述网络包括局域网(localareanetwork,简称lan)或广域网(wideareanetwork,简称wan),也可以(例如,利用网络服务提供商通过因特网)连接至外部计算机。在一些实施例中,包含诸如可编程逻辑电路、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或可编程逻辑阵列(programmablelogicarray,简称pla)的电子电路系统可以通过利用计算机可读程序指令的状态信息个性化所述电子电路系统,执行计算机可读程序指令,从而执行本发明各个方面。

此处结合根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图描述了本发明各个方面。应理解的是,计算机可读程序指令能够实现所述流程图和/或方框图中的每个方框以及所述流程图和/或方框图中的方框组合。

可以将这些计算机可读程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,以生成机器,使得这些通过计算机或其他可编程数据处理装置的处理器所执行的指令创建实现所述流程图和/或方框图中的一个或多个方框所指定的功能/动作的方式。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可指示计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得存储有指令的计算机可读存储介质包括含有指令的制品,这些指令用于实现所述流程图和/或方框图的一个或多个方框所指定的功能/动作的各个方面。

还可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在所述计算机、其他可编程装置或其他设备上执行一系列操作步骤,从而生成计算机实现过程,使得在所述计算机、其他可编程装置或其他设备上执行的指令实现所述流程图和/或方框图的一个或多个方框所指定的功能/动作。

附图中的流程图和方框图示出了根据本发明各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,所述流程图或方框图中的每个方框可以表示包括一个或多个用于实现一个或多个特定逻辑功能的可执行指令的模块、片段或部分指令。在一些可替换的实现中,方框中提到的功能可以不按附图中指出的顺序发生。例如,事实上,图中所示的两个连续的方框可以大致同时执行,或者,有时候,所述方框可以按照相反的顺序执行,这取决于所涉及的功能。还需注意的是,基于专用硬件的系统可以实现所述方框图和/或流程图的每个方框以及所述方框图和/或流程图中的方框组合,该基于专用硬件的系统执行特定功能或动作,或执行专用硬件和计算机指令的组合。

现在请参见图1,图1是本发明一些实施例提供的一种生成用于编码帧中的块的一组变换系数的方法的流程图。请一并参考图2,图2是本发明一些实施例提供的一种生成用于编码帧中的块的一组变换系数的媒体编码器202的转换部件的方框图。图2中的所述媒体编码器用于执行图1方法的一个或多个方框。图2中所述媒体编码器所执行的图1方法改善了视频和/或静态格式的数字图像的压缩性能,且没有大幅度降低图像质量,例如,如图12a至图12i所述。需要说明的是,除了所描述的编码功能或代替所描述的编码功能,所述编码器202还可以作为系数解码器。解码功能基于所描述的编码功能,但为了清晰和简洁起见,省略了所述解码功能。所述媒体编码器提高了图像和/或视频压缩效率和/或降低了图像和/或视频压缩的资源需求(例如,存储器和/或处理器),从而改善了系统性能。

需要说明的是,为了清晰简洁,结合用于计算(此处所描述的)变换系数的元件和/或方法描述所述媒体编码器202。所述媒体编码器202可以包括其他编码组件和/或与其他编码组件进行通信,例如,图10中的图像编码器/解码器1004。

所述媒体编码器202包括一个或多个处理器204,所述一个或多个处理器204与一个或多个存储有供所述处理器204执行的程序指令的存储器206(或其他类型的计算机可读存储介质)通信。如此处所述,所述存储器206可以存储有供处理过程中使用的数据。所述编码器202可以实现为在现有图像压缩软件程序中实现的软件模块、集成在现有图像压缩硬件中的芯片、插入到现有的用于改善图像压缩的设备中的独立盒子,或上述设备的任意组合。处理器204可以基于并行处理技术执行所述方法的步骤。可以使用单个处理器,和/或可以将一个或多个处理器设置地较远。可以对预定义的一组旋转对称掩码中的各种候选掩码进行并行处理,以选择最佳的掩码用来划分所述块。可以将一个或多个存储器206设置地较远。

所述媒体编码器202提高了图像和/或视频压缩效率和/或降低了图像和/或视频压缩的资源需求(例如,存储器和/或处理器),从而改善了系统性能。

在步骤102中,接收帧和/或块。所述媒体编码器202耦合至输入数据接口208,所述输入数据接口208用于接收帧210和/或所述帧的一个或多个块。可以接收所述帧210作为静态数字图像,或者作为包含多个帧的视频的一部分。如此处所述,可以使用画面间压缩技术从所述视频中接收所述帧210。

在步骤103中,指定所接收的帧的块或其他部分。可以基于帧划分方式指定所述块,例如,基于视频和/或静态图像标准,如hevc、动态图像专家组(movingpictureexpertsgroup,简称mpeg)、联合图像专家小组(jointphotographicexpertsgroup,简称jpeg)。或者,或此外,可以基于所接收的块指定所述块,其中,其他执行图像压缩标准的编码器等已经预先将所接收的块进行了划分,例如,采用四分树划分方式的编码器将所述帧到块(例如16×16)的划分减至4×4。

可选地,所述媒体编码器202用于指定在所述帧内划分出的块。可选地,块指定模块212a包含用于指示所述媒体编码器202指定所述块的程序指令。

例如,可以基于视频和/或静态图像标准,如hevc、动态图像专家组(movingpictureexpertsgroup,简称mpeg)、联合图像专家小组(jointphotographicexpertsgroup,简称jpeg),将所述帧划分为多个块。

这些块可以是标准大小,例如,64×64像素、32×32像素、16×16像素、8×8像素、4×4像素或其他大小。

这些块可以是正方形(l×l像素)或矩形(m×n像素)。例如,可以基于某些帧划分方式定义矩形,如,将编码块划分为矩形预测块,用来进行hevc标准中定义的画面间预测。处理矩形块提高了此处根据允许将所述帧(或所述帧中的子区域)分割为矩形块的标准所描述的系统和/或方法的兼容性。

这些块可表示亮度数据和/或色度数据。

在步骤104中,选择旋转对称掩码。或者,或此外,指定旋转对称掩码,例如,接收并指定预先选择的掩码,基于预定义的一套规则(例如,基于标准)和/或基于例如此处结合图9所述的一个或多个参数指定所述旋转对称掩码。

可选地,从多个旋转对称掩码中指定所述掩码,其中,所述多个旋转对称掩码定义了多种不同的旋转对称性,例如,从一个或多个掩码库中指定所述掩码。

可选地,掩码选择和/或指定模块212b包含用于指示所述媒体编码器202选择掩码和/或指定掩码的程序指令。

可选地,所述旋转对称掩码关于所述掩码的块的中心成2阶(由于成360/2=180度旋转对称,故此处称为c2)旋转对称。

现在请参见图3,图3是描述本发明一些实施例提供的旋转对称掩码的一些示例的示意图,例如,直角梯形302、直角三角形304、矩形306以及正方形308。

现在请重新参见图1,媒体编码器用于为指定的块从多个旋转对称掩码中选择旋转对称掩码,所述多个旋转对称掩码定义了多维空间中多种不同的旋转对称性,且具有与所述块相同的大小和形状。

现在请参见图4,图4是描述本发明一些实施例提供的为帧406中的块404选择某个旋转对称掩码402的示意图。所述帧406包含一个房子的图像。所述块404的一部分是所述房子的屋顶,另一部分是天空。基于某个压缩偏好指标(例如,率失真)和/或区分天空和房子的最佳视觉特征边界和/或边缘,从一组多个可用掩码410中选择所述掩码402。从对未选择的掩码的视觉检测中可以明显看出,与采用所述掩码402相比,采用任何其他掩码将会导致屋顶部分包含更多的天空以及天空部分包含更多屋顶。与采用标准分区408或其他掩码压缩整个块404相比,采用所述掩码402划分所述块404改善了图像压缩。

现在请重新参见图2,可以从多个掩码中选择所述旋转对称掩码,所述多个掩码存储在旋转对称掩码库212f中,或者存储在存储器206中以及与处理器204通信的其他计算机可读存储介质中。

所述库212f中可以存储有多个不同的旋转对称掩码库。每个库可以基于所述块的大小和/或形状。例如,一个库包含大小为16×16像素的块的掩码,另一个库包含大小为8×8像素的块的掩码。

可选地,不同旋转对称掩码是大小和形状与所述块相同的正方形掩码(即,l×l像素)。或者,不同旋转对称掩码是大小和形状与所述块相同的矩形掩码(即,m×n像素)。

所述旋转对称掩码用于定义一条连接矩形或正方形对边的线,所述线将对应的矩形或正方形块划分为两个2d镜像互补的部分。可以基于二维镜像条件定义不同的线。所述线可以是直线或其他形式,例如,梯级或其他任意形状。所述线可以成任意角度倾斜或者所述线的一部分在0至359度范围内倾斜。通过2d镜像属性,所述块被高效地压缩。

可选地,基于将位于(m,n)的某个像素分配至第一组,将位于(m–m–1,n–n–1)的对应像素分配至第二组这一条件,所述旋转对称掩码用于将大小为m×n的块划分为两个互补的组。可以任意进行划分。如此处所述,组可以是连续的(或相邻的)或非连续的(或不相邻的),且通过一条线进行划分。或者,如此处所述,每个组可以是非连续(或不相邻)区域。通过任意的块划分,对包含非连续图像的块进行划分,从而改善具有相似属性的组的压缩性能,例如,当所述块包括两个具有所述块某个位置上的黑色像素以及2d镜像位置上的白色像素的组的图像时,所述掩码用于将所述图像划分为包括所述黑色像素的第一组和包括所述白色像素的第二组。通过任意的划分,对第一组和第二组的压缩得到了改善。

可选地,基于像素特征将图像划分为第一组和第二组。第一像素组包含第一像素特征值,第二像素组包含第二像素特征值。可以基于图像的属性选择所述像素特征,这些属性最适于划分块,从而改善了压缩。

可选地,所述旋转对称掩码用于定义两个互补的部分,其中,一个或多个部分包括某些像素特征高于预定义阈值的可能性。例如,高于某个强度值的像素,具有某种颜色的像素,和/或本地像素统计图案。例如,可以基于一个或多个部分较窄或几乎平直的直方图和/或所述部分中与直接相邻像素(代表噪声区域)关联性低(例如,低于预定义阈值)的大多数像素选择预定义阈值。

可选地,所述旋转对称掩码用于定义梯度模型,所述梯度模型用于划分包含第一像素特征值的第一像素组和包含第二像素特征值的第二像素组。相比直线而言,所述梯度模型可以更准确地划分所述两个像素组,例如,当利用地形等复杂轮廓划分所述两个像素组时。

可以通过二进制序列定义所述梯度线。所述二进制序列中的每个比特定义了沿着所述梯度线的单个移动步长,例如,如图8中所示和所描述的,水平方向是该比特(例如,0或1)的一种状态,而垂直方向则是该比特的另一种不同状态。

如此处所述,用于定义第一组和第二组的像素特征可以和像素颜色、像素强度以及本地像素图案中的一个或多个相关。例如,第一像素组包括的大部分是红色,而第二像素组大部分为蓝色。或者,又例如,第一像素组可以包括高强度像素,而第二像素组可以包括低强度像素,其中,高强度和低强度是基于阈值限定的。在满足镜像需求的同时,可以选择组间梯度划分的位置,例如,作为划分两种像素特征的最佳线条。

可选地,所述旋转对称掩码用于定义一条线、一个平面或其他更高维度的表面,所述线、平面或其他更高维度的表面连接多维空间的对边,将所述多维空间划分为两个镜像互补的部分。被划分的块可以包括多维图像数据,例如,三维(three-dimensional,简称3d)图像数据或四维(four-dimensional,简称4d)数据。可以基于多维旋转对称掩码划分所述块中的3d或4d图像数据。或者,或此外,被划分的块定义了2d图像数据,例如,基于像素颜色和/或强度空间,在更高维度表示所述2d图像数据。所述旋转对称掩码可用于划分多维空间和/或数据,使得此处所述的系统和/或方法与基于多维空间的不同图像和/或视频标准相结合。

现在请参见图5a至图5c,图5a至图5c是描述本发明一些实施例提供的用于定义旋转对称掩码的像素2d镜像的示意图。

图5a描述了2d镜像的总体概念。仅作为示例,示出了大小为8×8像素的块502。一条横穿块502中心的虚拟线504划分区域a和区域b。区域a和区域b中具有相同编号的像素相互之间呈2d镜像。可以将像素2d镜像推广到m×n的矩形:当像素(m,n)位于区域a时,像素(m–1–m,n–1–n)位于区域b。

需要理解的是,可以将2d镜像概念应用于其他不同大小的正方形或矩形块。需要理解的是,可以针对其他呈不同倾斜角的虚拟线描述2d镜像概念,例如,垂直的虚拟线,即,用一条垂直穿过所述块502中心的虚拟线限定和划分区域a和区域b。

如图5b和图5c所示,连接所述块502的对边且穿过所述块502中心的多条不同的线用于形成旋转对称掩码库。每条单独的线定义了单个掩码。每条线将所述块502划分为两个互补的部分:区域a和区域b。

可选地,不同旋转对称掩码由各自的矩阵(例如,每个像素位置用该矩阵中的位置表示)定义。每个矩阵定义了区域a和区域b的不同划分方式,例如,通过一条连接二维空间的对边的线将所述二维空间划分为两个互补的部分。

需要说明的是,当所述线经过样本的位置时,由于会将整个样本分配至区域a并从区域b中移除,故不需要进行二次取样。通过将样本添加至区域a并从区域b移除,而不是,例如,为每个区域进行一组完整的计算,可以节省计算资源(例如,处理器和/或存储器)。

现在请参见图5d至图5e,图5d至图5e是描述本发明一些实施例提供的任意旋转对称掩码的示例的示意图。可以在满足此处所述的2d镜像属性的某个组合中定义所述掩码。

每个掩码被划分为两个不同的区域。白色子区域(例如,像素)描述的是区域a(图5d中的1150a和图5e中的1550b)。黑色子区域(例如,像素)描述的是区域b(图5d中的1152a和图5e中的1552b)。组成区域a的子区域并不一定互相连接。组成区域b的子区域并不一定互相连接。a中的子区域和b中的子区域可以相互交织。区域a中的像素可位于区域b中的像素之间,所述区域b中的像素将所述区域a中的像素区分开。区域b中的像素可位于区域a中的像素之间,所述区域a中的像素将所述区域b中的像素区分开。可以进行复杂的块划分,使得可以对每个由此产生的互补部分进行高效处理。

可选地,旋转对称掩码是二进制掩码,为所述掩码中的每个像素(或划分出的其他子区域)赋两个可能的值中的一个值。二进制值定义了包含第一像素特征(例如,白色或1)值的第一像素组(例如,区域a)和包含第二像素特征(例如,黑色或0)值的第二像素组(例如,区域b)之间的旋转对称性。所述第一组中的一个或多个成员(例如,像素或其他子区域)可以位于所述第二组中的两个或多个成员之间。使用所述二进制掩码可以将所述块高效地划分为互补的部分。每个部分包括具有相似特征的像素,使得可以对每个部分进行高效处理。

现在请参见图6a至图6d,图6a至图6d是本发明一些实施例提供的旋转对称掩码库的一些示例。图6a是用于划分大小为32×32像素的块的掩码库的示例。图6b是用于划分大小为16×16像素的块的掩码库的示例。图6c和图6d是用于划分大小为8×8像素的块的掩码库的示例。

图6a至图6c中的旋转对称掩码基于斜线,该斜线将块划分为掩码的暗区域602(例如,蓝色)和掩码的亮区域(604)(例如,红色)所表示的两个梯形区域。所述库中的各掩码中的线均具有稍微不同的倾斜角。所有掩码共同定义了块内斜线的所有不同排列方式。根据斜线划分,l×l大小的正方形块有2×(l–1)种不同的划分方式。

在图6b中,有平行线穿过掩码606a和掩码606b,这表示将掩码606a和掩码606b从32个掩码的组中移除,从而基于上文中的表达式形成包括30个掩码的组。这两个掩码是由于镜像对称形成的现有掩码的副本,因此,可将其从所生成的组中移除。类似地,图6c中,用平行线示出了两个相同的掩码,表示从组中移除冗余掩码。

图6d是用于基于经过块中心的梯级图案划分8×8大小的块的掩码库的示例。所述梯级图案用曲切线的离散化表示,例如,包含图5b和图5c所示的掩码线。描述了138种不同的旋转对称掩码,表示可用来生成将所述块划分为两个互补的部分的梯级图案的所有组合方式。需要说明的是,从总共140种可能的掩码中删除相同的掩码:掩码70和掩码71。需要说明的是,图6c中示出的基于斜线的掩码集合是基于图6d中梯级图案的掩码的子集。

可选地,如图6d中的举例说明,将连接多维空间的对边的线离散化为反对称曲线,该反对称曲线图穿过矩形(或正方形)块的中心,将所述矩形(或正方形)块划分为两个镜像互补的部分。该反对称曲线可以是一条连接所述矩形(或正方形)块的对边的离散斜线,该离散斜线穿过所述矩形(或正方形)块的中心,并将所述矩形块划分为两个镜像互补的部分。所述线的离散是一种基于像素的表示方法,所述像素表示离散值。

可选地,按照层级排列方式,映射不同旋转对称掩码(可存储在一个或多个库中)中的每个旋转对称掩码。所述层级排列方式可节省处理时间和/或资源,从而识别出最佳掩码。

可单独映射每个库,可按照层级排列方式映射每个库中的掩码。或者,基于同一种层级排列方式同时映射一个或多个库,且基于同一种层级排列方式映射每个库中的掩码。

将掩码集合划分为各个不连贯的部分。所述层级排列方式可以根据所述线与二维空间的边所成的角度,例如,在层级排列方式中,可将图6a至图6d中的线映射为0–60度、61–120度和121–180的组。当所述线是对称和/或非对称时,所述层级排列方式中,继续进行181–240度、241–300度和301–360度的映射。所述层级排列方式可以是分层的,例如,将0–60度的组进一步划分为0–15度、16–30度、31–45度和46–60度的子组。

从多个库中选择某个掩码库和/或从掩码库中选择掩码子集可以改善系统性能,例如,减少信令开销(例如,减少用于向解码器发送所选掩码的编码比特的数量),提高处理器资源利用率(例如,降低计算复杂度)和/或降低存储器需求。

可以基于所处块的内容选择掩码子集和/或某个掩码库(可以在预处理步骤中执行)。例如,可以检测图像中边和/或边界的方向和/或角度。可以识别出角度在识别出的棱角(例如,基于接近程度阈值)左右范围内的掩码,作为子集,进而从该子集中选择出某个掩码。

可识别出先前编码的旋转对称块(旋转对称块对中的单个旋转对称块或两个旋转对称块),作为被处理的块的预测块。可以从相同帧(即,画面内)和/或视频的其他帧(即,画面间)中识别出所述旋转对称块。可以基于和被处理的块之间的空间和/或时间关系识别出所述旋转对称块。所述预测块可用于选择掩码子集。

从所述块和/或预测块的内容中识别出的像素图案可用于减小掩码子集的大小,其中,所使用的掩码是从所述掩码子集中选择出的。集合越小,越能改善系统性能。

现在请参见图7,图7是通过图表描述本发明一些实施例提供的层级排列的示意图。

刻度盘702通过图表描述了掩码库706的层级排列。所述库706包括针对如图6b所述的大小16×16的块的斜线掩码。将所述圆盘702划分为区域704a–704h。每个区域表示45度的线倾斜角。由于所述斜线掩码的对称性,故将所述层级排列进行简化,将扇形704a和704e划分为一组(如扇形708c所示),将扇形704b和704f划分为一组(如扇形708b所示),将扇形704c和704g划分为一组(如扇形708a所示),将扇形704d和704h划分为一组(如扇形708d所示)。扇形708a–708d中每个扇形包括8或7个掩码,这些掩码的线倾斜角都在各自的角度范围内。

可选地,媒体编码器用于:在按照根据所述层级排列定义的顺序对不同旋转对称掩码中的至少一些掩码进行迭代掩码选择时,选择旋转对称掩码。例如,参见图7,在4个具有代表性的分区708a–708d中进行查找,这些分区具有表达式22.5+45k所定义的圆心角且跨度为45度,其中,k=0,1,2,3。可以基于利用合适的函数计算出的最低成本选择分区,例如,最低率失真指标。可以采用相似的方式选择所选分区中的掩码。当所述层级排列包括其他等级时,可以采用迭代方式在所述其他等级中进行查找,直至识别出掩码。

现在请参见图8,图8是描述本发明一些实施例提供的旋转对称掩码的生成和/或表现形式的示意图。可选地,基于包含掩码的块的不同组合方式生成掩码库。

例如,描述了如何生成l×l大小的块的掩码,这也可以推广到m×n大小的块。可以从左上角开始向块的中心方向,生成掩码。这一组移动动作可以是2d镜像的,从而自块的中心到右下方获得剩余的掩码图案。

每一步移动中,可以采用二进制表现形式表示掩码。每一步移动要么是水平的(即,从左到右),要么是垂直的(即,从上到下),由1(例如,向右一步)或0(例如,向下一步)表示。可以传输压缩的或进一步压缩的二进制掩码表现形式。使用所述二进制表现形式,可以高效地传输掩码(即,在处理器和/或存储器资源利用率方面),例如,从编码器传输到解码器。

集合中的每种组合方式可以由共2×l步移动定义。

用二进制图案804表示掩码802,用二进制图案808表示掩码806。

现在请参见图9,图9是本发明一些实施例提供的选择和/或指定用于划分块的旋转对称掩码和/或掩码库的计算机化方法的列表(例如,流程图)。可以基于块(例如,预先和/或动态)生成所述掩码和/掩码库,而不是选择所述掩码和/或掩码库和/或除了选择所述掩码和/或掩码库。媒体编码器202用于执行该方法的一个或多个方框。可以执行该方法的一个或多个方框,从而进行掩码选择。可以按照任意顺序和/或同时执行各个方框。

此处所述的(按顺序和/或并行执行,可选地,结合起来执行)一个或多个选择方法可以作为从掩码库中选择某个掩码的基础。或者,或此外,所述选择方法可用于首先从多个掩码库中选择某个掩码库,和/或从该掩码库中选择掩码子集。可以从所选库和/或所选子集中选择某个掩码。梯级和/或分层选择中,通过在每一个选择步骤中减小集合大小,可以缩小查找范围,从而为选择节省了资源和/或计算。

通过从库(或掩码子集)中而不是从一个更大的候选掩码集合中选择掩码,减少了用于向解码器发送所选掩码的编码比特的数量,和/或降低了计算复杂度和/或节省了存储器资源和/或处理器资源。

可选地,在步骤902中,基于块的大小和/或形状,选择和/或指定库和/或掩码。可以从此处所述的所选库中选择所述掩码。

或者,或此外,在步骤904中,所述媒体编码器用于:基于下面列举项中的任意一个或多个的压缩偏好但不一定限于:块、片、方块、帧和序列,从多个旋转对称掩码和/或掩码库中选择和/或指定旋转掩码和/或旋转对称掩码库。

所述压缩偏好包括一个或多个定义了使用某个掩码时的压缩偏好的参数。可以以掩码为单位和/或以掩码库为单位定义所述压缩偏好。

例如,可以基于先前为掩码和/或库统计的数据估计所述压缩偏好。或者,例如,可以通过在所述块中使用候选掩码中的一个或多个候选掩码的方式,计算所述压缩偏好。

当压缩参数涉及取舍时,所述压缩偏好可以有利于掩码选择,例如,以降低质量为代价减小大小。

所述压缩偏好是从下列选项的一个或多个中单独选择或组合得到的:

*压缩复杂度偏好:是与用以基于掩码进行压缩的处理资源相关的指标,例如,计算次数、处理器资源和/或存储器资源。该指标可以依赖于执行该方法的特定计算机;

*压缩质量偏好(例如,图像失真):基于掩码的压缩是一种有损耗的操作,会降低块的视觉质量。肉眼能够或不能够从视觉上能察觉到质量较差。可以基于与基于掩码的压缩造成的信息丢失相关的指标确定出所述压缩质量偏好,例如,峰值信噪比(peaksignaltonoiseratio,简称psnr)和/或结构相似度(structuralsimilarityindexmeasurement,简称ssim);

*压缩大小偏好:基于所选掩码进行压缩后得到的块的大小(例如,比特数)。

可选地,所述媒体编码器用于根据一组针对块压缩复杂度、块压缩大小以及块压缩质量的偏好中的一项自动生成所述旋转对称掩码库。所生成的掩码库具有众所周知的压缩偏好标准,从而可以轻松和/或快速地选择所述库。因为只包含了满足压缩标准的掩码,故所生成的库中的掩码数量可以小于生成所有可能的组合方式。

每个掩码可以与压缩偏好相关,例如,与压缩偏好值一起存储、与压缩偏好值匹配和/或标有压缩偏好值。每个掩码可以与一个或多个指标相关,以计算压缩复杂度偏好、压缩质量偏好和/或压缩大小偏好。

可选地,不同旋转对称掩码中的每个旋转对称掩码均与估计复杂度指标相关,该指标表示将各自掩码应用到与该掩码的大小和形状相同的示例块时的计算复杂度。对估计复杂度指标较低的掩码进行估计需要更少的资源(例如,处理器和/或存储器)。基于估计结果的掩码选择提高了系统效率和/或使用了更少的资源。

可选地,不同旋转对称掩码中的每个旋转对称掩码均与估计失真指标相关,该指标表示将各自掩码应用到与该掩码的大小和形状相同的示例块而产生的压缩失真等级。所述估计失真指标有利于基于有损压缩取舍来选择掩码,例如,选择出具有无法从视觉分辨的压缩失真等级的掩码,这也会改善图像压缩。在实现目标压缩失真等级的同时,对估计失真指标较小的掩码进行估计需要更少的资源(例如,处理器和/或存储器)。

可选地,所述媒体编码器用于基于所述块的压缩偏好,选择旋转对称掩码。可选地,从压缩复杂度偏好、压缩质量偏好和压缩大小偏好的一个或多个中选择出所述压缩偏好。

或者,或此外,在步骤906中,基于包含所接收的帧的预处理视频数据选择和/或指定掩码。对所述视频数据的预处理可以由所述媒体编码器、连接至所述媒体编码器的其他计算机,或独立于(例如,远离)所述媒体编码器的其他计算机执行。可以将预处理的数据独立于该帧和/或与该帧一起(例如,标记在帧上)传输至所述媒体编码器。

可以基于视频的帧的内容中一个或多个识别出的特征进行预处理,例如,像素图案的统计分布、边、像素强度和像素颜色可以基于预处理结果对视频数据进行预分类。可以基于识别出的特征进行分类,从而可以选择所述掩码和/或掩码库。通过预分类的视频数据,可以更高效地选择出所述掩码和/或基于所述分类使用更少的资源,因此,改善了系统性能。

可选地,所述媒体编码器用于:基于对所述视频数据的分类,从多个候选旋转对称掩码和/或掩码库中选择旋转对称掩码和/或掩码库。例如,通过所述预处理,可以识别出包含具有很多直线的帧的视频,例如,房子、汽车或其他人工结构的图像。可以将所述视频数据分类为包含直线的数据。可以选择直线(即,不同角度)掩码库。又例如,通过所述预处理,可以识别出包含具有很多曲线的帧的视频,例如,树、树枝和地形的图像。可以将所述视频数据分类为包含曲线的数据。可以选择曲线(即,可以选择基于曲线离散的梯级线)掩码库。

如此处所述,通过对内容进行预处理,可以为基于预测的编码提供信息。

可选地,所述媒体编码器用于基于所述预处理的视频数据自动生成所述旋转对称掩码和/或掩码库。可以根据压缩复杂度偏好、压缩大小偏好和/或压缩质量偏好的预处理结果中的一个或多个压缩参数,从不同旋转对称掩码的掩码库中选择不同的旋转对称掩码。可以根据所述视频数据预先计算出所述压缩参数。

通过所述视频数据的预处理,可以改善所述编码器的性能。可以在压缩之前而不是压缩时进行大资源量运算。可以准备作为掩码选择基础的数据,以加快块压缩过程中的掩码选择,而不是在压缩过程中进行掩码选择计算。

或者,或此外,在步骤908中,所述媒体编码器用于:基于变换过程的结果和/或对应用于两个互补的部分中至少一个部分的变换过程结果的估计,选择和/或指定旋转对称掩码。通过基于结果和/或估计结果的掩码选择,提高了系统效率和/或使用了更少的资源。

变换过程的结果可以包括变换过程后得到的互补部分中的一个或两个部分的大小(例如,高于某个阈值的变换系数的值和/或绝对值的和)。可以选择在变换过程后使得所述部分的大小达到最小的掩码。可以计算一个或两个部分的大小,例如,两个部分的大小之和。

变换过程的结果估计可以包括残差数据的绝对差异和(sumofabsolutedifference,简称sad),所述残差数据是变换过程中的输入。

变换过程的结果估计可以包括沿着残差数据的水平和/或垂直方向的第一、第二和/或高阶导数的绝对值的之和。

可以基于先前采用同一个掩码编码的部分中的值进行所述估计。

可以通过众所周知的变换过程估计变换过程的结果,例如,压缩标准所定义的一个或多个变换过程。

或者,或此外,在步骤910中,所述媒体编码器用于:基于量化过程和/或应用于旋转对称块对中至少一个旋转对称块的变换系数的熵编码过程的结果和/或结果估计,选择和/或指定所述旋转对称掩码。

可以选择在量化和/或熵编码过程后使得所述部分的大小达到最小的掩码,例如,分别为量化后非零系数的数量和/或所生成的比特的大小。可以计算一个或两个部分的大小,例如,两个部分的大小之和。

可以基于先前采用同一个掩码进行量化和/或熵编码的部分中的值进行所述估计。

或者,或此外,在步骤912中,所述媒体编码器用于:根据所述块中像素值的图案,选择和/或指定所述旋转对称掩码。所述媒体编码器可用于通过识别所述块中像素值的图案指定所述旋转对称掩码。基于像素值的图案进行指定,可生成两个互补的部分,其中,所述两个互补的部分中每个部分中的像素彼此类似,例如,具有相似的强度和/或颜色。

可以从所述块中提取所述像素值的图案,例如,采用图像划分方法,例如,用于基于强度阈值、边缘检测或其他合适方法等定位边界和/或边缘的方法。所述像素值的图案可以包括所述块内识别出的线的方向和/或线(或曲线)的图案。例如,可以基于最低成本函数将提取出的像素图案和某个对称掩码进行匹配,以识别出包含与提取出的像素图案最相似的图案的掩码,例如,与方向和/或图案与所述块中识别出的线相同的掩码进行匹配。基于所述像素值图案进行选择会生成两个互补的部分,其中,所述两个互补的部分中每个部分中的像素彼此类似,例如,具有相似的强度和/或颜色。

或者,或此外,为所述块中的两个组定义所述像素值图案,其中,这两个组满足此处所述的镜像对称标准。可以基于所述像素值图案将所述块中的像素和本地区域划分到所述两个组中的其中一个。例如,基于像素颜色、像素强度、像素特征和/或本地视觉图案。基于图像和/或各自部分中的大多数像素,一个组可以包括像素图案和/或其他像素特征,另一个组可以包括其他不属于所述第一组的像素。

可选地,所述像素特征基于像素的直接相邻像素的空间相关性,例如,所述像素周围3×3大小、约5×5大小、或其他大小的预定义窗口内。所述两个互补部分中的至少一个部分可以包括与直接相邻像素相关性高的像素(例如,平滑区域),例如,高于预定义的相关性阈值。

可选地,从某个像素特征(例如,强度等级、颜色等级和空间衍生方向)的直方图中得到所述像素特征。所述两个互补部分中的至少一个部分可以包括在该像素特征的相同范围内具有一个或多个像素特征的像素。例如,当使用强度等级表示所述像素特征,且所述像素特征的范围较小时,所述两个互补部分中的一个部分可以包括具有相似强度的像素(例如,平滑区域)。需要说明的是,该部分的形状可以是任意的,只要指定掩码具有旋转对称属性即可。当在空间上不一定连接在一起的像素具有相似的强度时,可以对这些像素进行分组。用于指定将块划分为同质区域(甚至是两个互补部分的任意形状)的旋转对称掩码的媒体编码器提高了图像和/或视频压缩效率和/或降低了图像和/或视频压缩的资源要求(例如,存储器和/或处理器),从而改善了系统性能。

例如,重新参见图4,基于边缘检测方法提取出块404中的房子和天空之间的边缘。基于成本函数,将检测出的边缘映射至掩码402。在掩码库中,所述掩码402中的图案是与所提取的边缘最相似的图案。或者,或此外,将像素分类为紫色的像素或其他颜色(即,红色或白色)的像素。或者,或此外,将像素分类为低强度(即,背景天空)的像素或高强度(即,屋顶)的像素。

或者,或此外,在步骤914中,基于估计的码率指标选择和/或指定所述旋转对称掩码,该指标指示某个旋转掩码应用于大小和/或形状与被处理的块相同的示例块时所传输的比特数。比特数越少,表示采用该掩码进行压缩时的效率更高。不同旋转对称掩码中的每个旋转对称掩码均与估计的码率指标相关,该指标指示当所述掩码应用于该大小和形状的示例块时所传输的比特数。

可以将码率指标与每个掩码存储在一起,从而可以基于估计的码率指标值快速地选择掩码。可以预先为每个掩码计算码率指标,而不是在运行时间内重新计算,从而减少了选择时所需的计算量。可以基于示例块计算所述码率指标,该示例块可以是基于之前的块样本的平均值(或其他指标)预定义的块。可以基于和被处理的块之间的相似度,例如,基于成本函数,从块库中选择该示例块。

或者,或此外,在步骤916中,所述媒体编码器用于:基于统计分类器,选择和/或指定所述旋转对称掩码。所述统计分类器是通过对使用不同旋转对称掩码中至少一些旋转对称掩码后得到的训练集合记录结果进行分析而生成的。该结果(可以是加权的结果)可以包括压缩性能指标(例如,大小、复杂度和质量)、处理器资源利用率和存储器利用率等。所述统计分类器可基于对包含多种不同预期效果的结果进行的预测,改善掩码选择。

可以基于系统已经处理的实际帧的历史记录获得该训练集合。或者,可以基于对将要处理的帧类型的预测,获得该训练集合,例如,自然渠道可以通过自然视频去训练分类器。

分类的结果可以用作输入,从而进一步训练和更新该分类器。

可以基于监督学习和/或无监督学习方法训练所述统计分类器。

可以将所述分类器应用于所述块本身,从而将所述块内的像素划分到两个组中的其中一个。可以基于所述旋转对称掩码的旋转对称约束划分所述两个组。选择所述掩码,与所述块内两个组的排列方式进行匹配。通过所述掩码划分所述块所生成的两个互补的部分中每个部分包括各自组中的像素。

或者,或此外,在步骤918中,所述媒体编码器用于:基于从所述块的空间和/或时间相邻块中提取的内容,选择和/或指定所述旋转对称掩码。所述相邻块可以是画面内的块和/或画面间的块。空间块可以是在相对于所述块的一个、若干个或所有方向上的相邻块。时间相邻块可以来自先前帧(例如,时间上更早的)和/或后续帧(例如,时间上更晚的)上的相邻块。所述相邻块可以是直接相邻块,或者相距两个或多个块(或帧)。包含相似像素图案、用作预测块的相邻块改善了系统性能和/或需要更少的资源。

可选地,所述相邻块包括先前已处理的块。所述先前已处理的块可作为预测块,从而为当前正在处理的块选择掩码。可选地,基于所述块的空间相邻块和/或时间相邻块的相关信息,选择所述旋转对称掩码。可选地,所述空间相邻块和/或时间相邻块的相关信息与预测有关。可选地,所述预测与帧内预测的方向模式有关。可以通过hevc等图像压缩标准来定义方向。例如,所述信息中包括用于减小当前正在处理的块和一个或多个相邻块之间的差值数据,而不包括冗余信息。可以基于所述差值数据选择所述掩码。又例如,所述信息包括所述空间块和/或时间块的像素强度、像素颜色、像素特征和/或本地视觉图案,所述空间块和/或时间块的像素强度、像素颜色、像素特征和/或本地视觉图案与正在处理的块中区域的强度、颜色和/或视觉图案相似(例如,由阈值定义)或相同。

可选地,根据所述空间相邻块和/或时间相邻块中的像素值图案提取内容。可以基于所述空间和/或时间块与正在处理的块之间的像素相似度提取所述内容,例如,基于相似的颜色、相似的强度和/或相似的本地视觉图案。可以基于相似度阈值定义像素图案之间的相似度,其中,提取出高于该阈值的像素,而不提取低于该阈值的像素。

可选地,所述空间相邻块和/或时间相邻块中的像素值图案与像素值的一个或多个边缘相关。可以按照此处所述的,例如,基于图像划分、强度变化、颜色变化或其他参数,对所述边缘进行检测。可以基于边缘本身进行所述预测,而不是基于图像中的剩余像素或者除了基于图像中的剩余像素。

所述相邻块的像素图案可作为预测块,以选择当前块中的掩码。例如,该像素图案包括屋顶和天空(如图4所述)之间的边界和/或边缘。所述屋顶和天空之间的边缘会继续穿过若干个相邻块。所述屋顶和天空之间的边缘可能会改变帧的强度、颜色和/或空间位置,例如,当照相机掠过该场景时和/或当该场景内的光线变化时。可以基于所述空间相邻块和/或时间相邻块内的相似边缘图案,预测所述屋顶和天空之间的边缘。

基于预测块进行编码提高了系统效率和/或使用了更少的资源。

重新参见图1,在步骤106中,基于所述旋转对称掩码将所述块划分为两个互补的部分。可选地,块划分模块212c包含用于指示所述媒体编码器202划分所述块的程序指令。

在步骤108中,生成旋转对称块对,其中每个旋转对称块包括两个互补的部分中的其中一个。可选地,对生成模块212d包含用于指示所述媒体编码器202生成所述对的程序指令。

所述媒体编码器用于:基于所述两个互补的部分中的其中一个以及为了形成与所述块大小和/或形状相同的块而添加的另一个部分,生成所述旋转对称块对中的每个旋转对称块。

可选地,所添加的部分是构成所述旋转对称块的部分的2d镜像。

可选地,所添加的部分是构成所述旋转对称块的部分的2d镜像,但携带有负号。此时,所述旋转对称块包含两个反对称部分。

所述媒体编码器可用于:通过在所述两个互补的部分中的每个部分中添加互补数据,生成与所述块的大小和/或形状相同的旋转对称块对中的每个旋转对称块。可选地,所述互补数据包括预定义序列,例如,全0序列。添加所述互补数据使得可将每个部分作为整个块进行处理,按照块形式处理每个部分比按照部分块形式处理更加高效。

可选地,所述互补数据是所述两个互补的部分中的每个部分的2d镜像,其中,所述旋转对称块是通过将所述两个互补的部分中的每个与包含0(0)、1(1)和–1(–1)的组中的一个数值相乘得到的。可以通过与同一个值相乘生成互补数据集合中的每个值,例如,将每个值乘以0、乘以1(即,对称)或乘以–1(即,反对称)。

可选地,所添加的部分填充预定义序列,例如,全0序列。

可选地,将构成所述旋转对称块的部分旋转180度而生成所添加的部分。

可选地,所添加部分的维度基于所述互补部分的维度,例如,二维。

用矩阵表示所生成的旋转对称块对中的每个旋转对称块,该矩阵包括基于所选掩码、沿主对角线或其他切线图案成2d镜像的值。

在步骤110中,计算出所述旋转对称块对中一个或两个旋转对称块的一个或多个变换系数。可选地,计算出所述旋转对称块中每个旋转对称块的变换系数。可选地,系数计算模块212e包含用于指示所述媒体编码器202计算所述变换系数的程序指令。

可以基于一种或多种基于标准的计算方法、基于一种或多种编码技术,和/或基于专有方法计算所述变换系数。一个编码技术的示例包括二维离散余弦变换(discretecosinetransform,简称dct)。例如,可以基于每个维度上所使用的两个可分离的快速dct计算所述二维离散余弦变换。例如,当所述旋转对称块用矩阵表示时,可以先沿着行再沿着列,或者先沿着列再沿着行计算出2d-dct。转换方法的其他示例包括满足镜像条件的2d离散正弦变换(discretesinetransform,简称dst)和其他正交和/或正交归一变换方案,例如:

tp,q(m–m–1,n–n–1)=(–1)(p+q)tp,q(m,n)

其中,{tp,q(m,n)}是2d变换基础;(m,n)是像素位置;m=0,1,…,m–1;n=0,1,…,n–1;p和q是空间频率;p=0,1,…,m–1;q=0,1,…,n–1;对于对称和反对称的情况,p+q分别是偶数或奇数。

标准编码技术的一个示例是针对整数变换和/或逆变换的hevc标准和/或h.265标准。

可选地,当2d镜像部分携带有负号(即,反对称)时,计算出所述两个互补的部分中每个部分的正交变换系数集合。用于计算变换系数的对称变换函数集合和反对称变换函数集合可以不同。当计算所述变换系数时,采用各自的对称或反对称变换函数。

可选地,所述媒体编码器用于:采用一个或多个适用于所述旋转对称掩码各个部分的空间预测块,对一个或多个变换系数进行编码。可以为预测块、预测矢量、预测误差和/或预测残差计算出变换系数。可以基于正在处理的旋转对称块中的部分和对应的预测块之间的差值,计算出时间块和/或空间块(即,画面间的块和/或画面内的块)的预测残差。

可选地,所述媒体编码器用于:采用一个或多个适用于所述旋转对称掩码各个部分的时间预测块,对一个或多个变换系数进行编码。可选地或此外,所述媒体编码器用于:采用与各个对应的部分相关的空间预测块,对所述旋转对称块中的每个旋转对称块的一个或多个变换系数进行编码。或者,或此外,所述媒体编码器用于:采用与各个对应的部分相关的运动矢量,对所述旋转对称块对中的每个旋转对称块的一个或多个变换系数进行编码。所述运动矢量可用于计算时间预测块。

需要说明的是,可以基于针对所有变换系数的同一种方法、针对不同变换系数(或变换系数集合)的不同方法,和/或各种方法的组合,计算出所述变换系数。

可选地,所述媒体编码器用于采用适用于所述旋转对称掩码的熵编码上下文模型,对一个或多个变换系数进行编码。可以基于所选的掩码定义该熵编码上下文模式模型,从而采用无损数据压缩对所述变换系数进行编码,例如,基于霍夫曼编码和/或算术编码。由于所述编码器预先知道所述掩码的熵编码特征,故可以计算出更简单的代码。

该熵编码上下文模型可以是专门设计的模型和/或基于标准的模型,例如,基于上下文的自适应二进制算术编码(context-basedadaptivebinaryarithmeticcoding,简称cabac)方案,例如,h.265/hevc、h.264/mpeg-4或其他标准中的cabac。

在步骤112中,所计算出的变换系数用于进一步的处理、存储和/或传输。可选地,如此处所述,耦合至所述媒体编码器202的输入输出接口214用于提供计算出的变换系数216。

可选地,在步骤114中,为所述帧内的其他块重复方框102至112。可以为其他帧重复方框102至112。需要说明的是,可以并行处理某个帧内的各个块。

现在请参见图10,图10是本发明一些实施例提供的一种用于图像压缩和解压缩且包含系数编码器/解码器1002的示例系统1000的方框图。编码器/解码器1002可以包括图2所示的媒体编码器202的变换组件、媒体编码器202的变体(例如,不包括处理器204,采用了其他编码器/解码器的处理器),和/或图1中方法的其他实现。将编码器1002集成到系统1000中提高了图像和/或视频的编码效率,改善了系统1000的整体性能,例如,改善了压缩性能以及降低了处理器资源需求、发送器/接收器需求和/或存储器需求。将编码器1002集成到系统1000中可以获得更高的图像质量、更高的图像分辨率,和/或使得采用相同资源能处理更多的图像。

系数编码器/解码器1002可以在与数字图像和/或视频相关的设备和/或系统中实现,例如,数码相机、电视(例如,高清电视)、数码摄像机、电视播放单元、智能手机(或其他移动设备)、网页浏览器、查看和/或编辑图像和/或视频的计算机软件、网络设备(用于改善网络性能)、实时会话应用(例如,视频聊天、视频会议和智真系统)。编码器/解码器1002的实现降低了资源需求(例如,存储器),从而改善了设备和/或系统的性能,例如,使得存储器可以存储更多图像和/或视频,能够存储质量和/或分辨率更高的图像和/或视频,减小每幅图像和/或每个视频的大小,从而可以通过网络连接更快地传输图像和/或视频。

编码器/解码器1002中集成有图像编码器/解码器1004,用于通过压缩和/或解压缩,对图像和/或视频进行编码和/或解码。编码器/解码器1004可以基于标准(例如,hvec、mpeg-4和jpeg)和/或基于一个或多个专有协议。系数编码器/解码器1002中可以集成有图像编码器/解码器1004,例如,作为集成在编码器/解码器1004的硬件中的芯片或其他一个或多个硬件元件、作为插入编码器/解码器1004的芯片或其他硬件元件、作为外部软件模块、作为集成在编码器/解码器1004的代码中的软件模块,和/或上述元件的组合。

图像编码器/解码器1004可以包括编码和/或解码组件,例如,量化(例如,量化单元执行)、系数扫描(例如,系数扫描模块执行)、熵编码(例如,熵编码模块执行)和画面内和/或画面间预测(例如,预测模块执行)。

所述系统1000包括耦合至所述图像编码器/解码器1004的数据接口1006,用于从图像生成器1008、发送器/接收器1010(例如,网络接口、电视电缆、无线收发器)和/或存储有图像的存储器1012等接收一幅或多幅图像。

所述图像编码器/解码器1004采用变换系数处理所接收的图像,其中,所述变换系数是为如图1和图2所述的一个或多个图像帧的一个或多个块生成的。

所压缩的图像可以存储在所述存储器1012中和/或采用所述发送器/接收器1010进行传输。

在解码时,可以从所述存储器1012的存储中检索到和/或从所述发送器/接收器1010接收到图像。在此处所述的系数编码器/解码器1002解码所述变换系数时,所述图像编码器/解码器1004进行解码。解码出的图像可以显示在显示器1014上、由所述发送器/接收器1010传输,和/或存储在所述存储器1012中。

现在请参考图11,图11是本发明一些实施例提供的一种根据一组变换系数重构帧中的块的方法的流程图。图11中的方法基于图1中的方法并对图1中的方法进行了补充。图1中的方法描述了如何转换块,是图11中的方法的逆变换。图11中的方法可以由图2中媒体编码器的变换部件202执行,所述变换部件作为媒体编码器的逆变换部件。逆变换可以由各个变换模块和/或其他用于执行逆变换处理组件中一个或多个组件的模块执行。

在步骤1102中,接收表示旋转对称块对中一个或多个旋转对称块的一组变换系数。可选地,变换系数表示块在频域上的数据。

需要说明的是,在某些情况下,可以接收和/或不接收(例如,跳过不包含系数的块)不包含任何系数的一个或多个旋转对称块,例如,可以接收指示不存在表示旋转对称块的变换系数的信号。或者,或此外,需要说明的是,在某些情况下,整个块只接收到一个系数(例如,dc系数)。

可以在没有故意接收到指示相关所选旋转对称掩码的信号(例如,从预测块的方向推断出该掩码)时,接收该信号或假设已知该信号。旋转对称掩码定义了多维空间中的旋转对称性,大小和/或形状与从帧中解码出的块相同。可选地,信号表示多个旋转对称掩码中的某个旋转对称掩码,所述多个旋转对称掩码定义多种不同旋转对称性。

在步骤1104中,基于所接收的一组变换系数的逆变换,计算旋转对称块对。所述旋转对称块对中的每个旋转对称块包括两个互补的部分中的其中一个。

在步骤1106中,从所述旋转对称块对中每个旋转对称块中提取出所述两个互补的部分中的其中一个。

在步骤1108中,将所述两个互补的部分重构成块。可以基于所述旋转对称掩码进行重构。或者,基于一个矩形或正方形块的形成,将所述两个部分重构成块,而不利用掩码,例如,将两个部分像拼图一样拼起来。

可选地,在帧内指定所述块。

在步骤1112中,解码出的块用于进一步处理、存储和/或传输。可以从重构的块中重构所述帧。可以将所述帧显示在屏幕上,例如,作为视频的一部分。

现在请参见图12a至图12i,图12a至图12i包括执行此处所述的方法和/或系统的实验结果的图像和图表。这些图表阐述了相对于采用基于压缩标准的方法的图像压缩,采用此处所述的系统和/或方法改善了性能。这些实验是基于采用帧内编码方法的帧进行的。

这些实验按照以下方式执行:

从每个yuv视频序列获取一个帧。如不同标准所定义,采用了各种帧大小,所述标准包括通用图像格式(commonintermediateformat,简称cif)、1/4cif(quartercommonintermediateformat,简称qcif)和高清(highdefinition,简称hd)。统一将每个帧划分为固定大小为n×n的块,包括8×8、16×16和32×32像素大小。

生成包含2×(n–1)种不同线条朝向的旋转对称掩码库,以选择和使用掩码。

基于h.265标准使用整数变换、缩放和量化方案。

通过将变换系数的n×n矩阵进一步划分为变换系数的4×4子矩阵,进行系数扫描。通过在每个4×4矩阵中进行之字形扫描并跳过系数0,进行系数扫描。

基于h.264cavlc标准对变换系数进行编码,所述标准也定义了预测模式、掩码类型和mb类型(此处定义为所选择的编码块(即,标准n×n块或划分为此处所述两个互补的部分的块))的信号。

n×n块的块帧内预测基于四种模式:垂直(v)、水平(h)、dc(即,平坦)(d)和平面(p)。所述旋转对称块对中的编码旋转对称块基于单独和/或通用帧内预测。所述通用帧内预测包括v、h、d和p4种帧内模式。所述单独帧内预测包括组合4种帧内模式得到的16种帧内预测模式:vv,vh,…,pp。

基于率失真(ratedistortion,简称rd)成本函数决定是否基于标准n×n编码方法对某个块进行编码或者使用旋转对称掩码并对(此处所述的)旋转对称块对进行编码,该函数定义为:sse+lambda×bits,其中,sse表示重构块和输入块之间的方差之和,lambda表示取决于量化参数(qp)的术语,bits表示包括信令比特的块中编码比特数。或者,基于非零系数比例(图表中用pernzcoeff表示)决定是否进行编码。

这些结果总结如下:

如图所示,在相同psnr下,码率降低了高达15%。35qcif序列帧被划分为16×16大小的块,从而在35–45db的psnr范围内,码率平均下降大约7%。10个更大的序列帧被划分为16×16大小的块,使码率平均下降大约7.5%。

图12a是作为此处所述实验的一部分、根据此处所述的系统和/或方法正在处理的图像(即,帧)的示例。该图像对应于名为akiyo.cif的cif序列的第10个帧。该cif帧的大小为352×288像素。基于n×n大小的正方形块,将该帧统一划分为块,其中,n=16像素(1202中描述了一个示例块)。采用qp=30对该帧进行编码。包含2(n–1)=30种不同线条朝向的旋转对称掩码库为用于选择划分所述块的掩码提供了基础。图中描述了包含具有线条朝向的相关所选掩码的块,例如,包含掩码的块1204。在许多情况下,掩码线沿着所述块的边。将没有选择掩码的块编码为单个n×n块,且在图像中,所述块不包含掩码,例如,块1202。

图12b至图12i的图表包括基于图12a中的处理的实验结果。

图12b是描述在相同目标质量水平(psnr表示)下,相对于图12a中采用标准n×n变换块进行图像编码,当选择掩码将块划分为两个互补的部分以进行编码时,图12a中整个帧的码率得到提升的图表。该图表中,将码率提高的比例表示为psnr函数。需要说明的是,采用此处所述的系统和/或方法,使得图12a中的图像的码率提升了不止10%。

图12c是描述在相同目标质量水平(psnr表示)下,相对于图12a中采用标准n×n变换块进行图像编码,当选择掩码将块划分为两个互补的部分以进行编码时,图12a中整个帧的非零系数比例(pernz)得到提升的图表。在量化后非零变换系数的数量用于估计用于编码变换系数的编码比特的数量。需要说明的是,非零系数指标不包括信令比特(例如,预测模式、掩码选择模式和mb类型)开销。该如该图表所示,采用此处所述的系统和/或方法,使得非零变换系数比例提高了大约15%。

图12d是描述针对c2处理方案和n×n处理方案,将y-psnr作为码率函数的图表。所述c2处理方案是以变换块的两个互补的部分的掩码选择和生成,或采用标准方法的n×n块编码为基础描述的方法和/或系统。以某个指标为基础选择基于掩码的编码或基于n×n块的编码,该指标与每个基于掩码的分区以及每个n×n块相关。n×n处理方案是基于一种将每个块编码为单个n×n块的标准方法。如该图表所示,在相同psnr值下,所述c2方法的码率比所述n×n方法的码率更小,该psnr值表示相同码率下的质量提升。

图12e是描述基于c2方法和n×n方法,将y-psnr作为整个帧的非零变换系数比例的函数的图表。如该图表所示,所述c2方法(即,此处所述的系统和/或方法)中的压缩性能得到了改善,在相同psnr下的非零变换系数比例更小。这代表在相同的非零变换系数比例下质量得到了提升。

图12f是描述在n×n标准情形下使用帧内预测模式时的频率直方图。在x轴上,1表示无预测,2表示垂直预测,3表示水平预测,4表示dc预测,5表示平面预测。

图12g是描述使用此处所述的方法和/或系统的c2方案的帧内预测模式时的频率直方图。有16中不同的预测模式:1表示无预测,2表示vv预测,3表示vh预测,4表示vd预测,5表示vp预测,6表示hv预测,…,17表示pp预测。

图12h是描述使用30个旋转对称掩码的库中每个掩码时的频率直方图。

图12i是描述将3个变量的比值作为qp函数的图表。

线1214表示为c2方法所选择的块与标准nxn方法中的图像块的比例。例如,当qp=30时,帧内大约35%的块基于c2方法(基于掩码选择以及对两个互补的部分的编码)进行编码,而将剩余块(大于65%)编码为单个16×16块。

线1212表示帧内基于c2方法所编码的比特的比例。例如,当qp=30时,帧内大约45%的比特基于c2方法进行编码。

线1210表示帧内采用c2方法所编码的非零变换系数的比例。例如,当qp=30时,所述帧内45%以上的非零变换系数采用c2方法进行编码。

本发明各种实施例是出于说明的目的而描述的,但并不旨在穷举或并不限于此处公开的实施例。在不脱离所述实施例的范围和精神的前提下,许多修改和变换对于本领域的普通技术人员是显而易见的。此处使用的术语的选择是用来最佳解释实施例的原理、实际应用或相对于市场中已发现技术的技术提升,或者使得本领域的其他普通技术人员理解此处所公开的实施例。

希望在从本申请发展成熟的专利有效期内,将会形成许多相关的图像编码器和/或图像解码器,且术语“编码器”的范围旨在包括所有此类新技术。

此处使用的术语“大约”是指10%。

术语“包括”以及“有”表示“包括但不限于”。该术语包含术语“由……组成”以及“基本由……组成”。

短语“基本由……组成”是指成分或方法可以包括其他成分和/或步骤,但只要该其他成分和/或步骤没有实质上改变所所宣称的成分或方法的基本特征和新颖特征。

除非上下文中另有明确说明,此处使用的单数形式“一个”和“所述”包括复数含义。例如,术语“一种混合物”或“至少一种混合物”可以包括多种混合物,包括混合物的组合。

此处使用的词“示例性的”表示“作为一个例子、示例或说明”。任何“示例性的”实施例并不一定理解为优先于或优越于其他实施例,和/或并不排除其他实施例特点的结合。

此处使用的词语“可选地”表示在一些实施例中提供且在其他实施例中“没有提供”。本发明任何特定实施例都可以包括多个“可选的”特征,除非这些特征冲突。

在整个申请中,可以采用范围格式呈现本发明的各个实施例。应当理解的是,采用范围格式进行描述仅仅是为了方便和简洁起见,不应解释为对本发明范围的固定限制。相应地,应认为对范围的描述是已经具体公开了所以可能子范围以及该范围内的单个数值。例如,应认为1–6范围的描述是已经具体公开了1–3、1–4、1–5、2–4、2–6、3–6等子范围,以及所述范围内的单个数字,例如1、2、3、4、5和6。这适用任何广度的范围。

当此处指出一个数字范围时,表示包括了在指出的这个范围内的任意所列举的数字(分数或整数)。短语在第一个所指示的数和第二个所指示的数“范围内”以及“从”第一个所指示的数到第二个所指示的数“范围内”和在这里互换使用,表示包括第一个和第二个所指示的数以及二者之间所有的分数和整数。

单个实施例也可以提供某些特征的组合,这些特征在各个实施例正文中有简短的描述。相反地,本发明的各个特征在单个实施例的正文中有简短的描述,也可以分别提供这些特征或任何适合的子组合或者作为本发明所述的任何合适的其他实施例。不可认为各个实施例的正文中描述的某些特征是这些实施例的必要特征,除非没有这些元素,该实施例无效。

虽然已经描述了本发明及其中的具体实施例,显然,对于本领域技术人员来说,许多替代方案、修改和变化将是显而易见的。相应地,本发明旨在包含所有属于所附权利要求的精神和广泛范围内的此类替代方案、修改和变化。

此处,本说明书中提及的所有出版物、专利和专利说明书都通过引用本说明书结合在本说明书中,同样,每个单独的出版物、专利或专利说明书也具体且单独地结合在此。此外,对本申请的任何参考的引用或识别不可当做是允许这样的参考在现有技术中优先于本发明。就使用节标题而言,不应该将节标题理解成必要的限定。

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