用于对数据流进行编码和解码的方法和装置与流程

文档序号:16811282发布日期:2019-02-10 13:40阅读:205来源:国知局
用于对数据流进行编码和解码的方法和装置与流程

本发明的领域涉及对图像或图像序列且特别地对视频流进行编码和解码。

更具体地说,本发明涉及使用图像的基于块的表示对图像或图像序列进行压缩。

本发明可特别地应用到在当前或未来编码器中实施的图像或视频编码(jpeg、mpeg、h.264、hevc等及其改进)且应用到对应解码操作。



背景技术:

数字图像和图像序列就存储器而言占据了大量空间且这使得有必要在传输这些图像时对这些图像进行压缩以便防止在用于此传输的网络中发生拥塞问题。事实在于可在此网络上使用的位速率大体上有限。

众多视频数据压缩技术已经是已知的。这些视频数据压缩技术包含马赛厄斯维恩(mathiaswien)于2015年在信号和通信技术(signalandcommunicationtechnology)丛书中发表的“高效视频编码、编码工具和说明书(highefficiencyvideocoding,codingtoolsandspecification)”中所描述的hevc(“高效视频编码”)压缩标准,其提出相对于属于相同图像的其它像素(帧内预测)或相对于先前或后续图像(帧间预测)实施当前图像中的像素预测。

更具体地说,帧内预测利用图像内的空间冗余。为此目的,图像被细分为像素块。接着根据图像中的块被扫描的次序借助于对应于当前图像中的先前编码/解码块的已经重建的信息来预测像素块。

此外,传统地,对当前块进行编码借助于对当前块的预测来实行,所述预测被称为预测块,且预测残差或“残差块”对应于当前块与预测块之间的差。接着例如通过使用dct(离散余弦变换)类型变换来变换所获得的残差块。接着量化变换的残差块的系数,且接着通过熵编码进行编码且将其传输到解码器,所述解码器可通过将此残差块加入预测块来重建当前图像。

解码是一个接一个图像进行的,且对于每个图像,编码是一个接一个块进行的。对于每个块,读取流的对应元素。对残差块的系数实行反向量化和逆变换。接着,计算块的预测以获得预测块且通过将预测(预测块)加入解码的残差块来重建当前块。

在hevc标准中,有可能根据35种不同的帧内预测模式对当前块进行帧内预测。为了对选择来预测当前块的帧内预测模式进行编码,hevc标准定义两个预测模式列表:

-第一列表,其被称为mpm(最可能模式)列表,包括最可能用于当前块的三种帧内预测模式,这种mpm列表基于在对当前块的相邻块进行编码期间预先选择的预测模式来定义。

-第二列表,其被称为非mpm列表,包括32种其它剩余帧内预测模式,即,不包含在mpm列表中的帧内预测模式。

索引被传输到解码器以指示哪一mpm或非mpm列表用于预测当前块。在当前块由来自mpm列表的帧内预测模式编码时,在mpm列表中选择的预测模式的索引通过熵编码传输到解码器。在当前块由非mpm列表的帧内预测模式编码时,在非mpm列表中选择的帧内预测模式的索引由固定五位长度的代码编码。

非mpm列表包括大量帧内预测模式,且对此列表的预测模式的索引进行编码的成本因此为高。

l-l王(l-l.wang)和w-c西乌(w-csiu)于2013年在ieee发表的“用于以用hevc进行跳过和传信处理的折衷模式进行帧内预测的新颖自适应算法(noveladaptivealgorithmforintrapredictionwithcompromisedmodesskippingandsignalingprocessesinhevc)”中描述一种编码方法,通过所述编码方法有可能减少用于预测当前块的帧内预测模式的数目以便首先减少帧内预测模式的传信成本且其次减少选择预测模式的复杂度。对于每个当前块,这种方法构建一列表,所述列表取决于当前块的参考像素的方差的值而包括一种、三种或35种帧内预测模式。当前块的参考像素对应于位于当前块上方的行和位于当前块右边的列的像素。接着通过列表的预测模式中的一个预测当前块。这种方法通过减少可供用于预测当前块的帧内预测模式的数目而减少了用于预测当前块的预测模式的传信成本。所述方法还促进选择帧内预测模式以对当前块进行编码的步骤,原因是取决于预测模式的列表的大小,并未对所有帧内预测模式进行测试。此方法采取当前块的邻域作为决定可供用于当前块的预测模式的基础。然而,通过这种方法,一些预测模式不再可供用于预测当前块,且这可导致预测精确度的损失且因此导致对预测残差进行编码的成本提高。

因此需要一种用于对预测模式进行编码以预测当前块的新颖技术,从而使得有可能改进图像或视频数据的压缩。



技术实现要素:

本发明力图改进现有技术。为此目的,提出一种用于对表示至少一个图像的编码数据流进行解码的方法,所述图像被细分为块,至少两种预测模式可供用于预测图像的块,所述块被称为当前块。这种用于解码的方法包括针对所述当前块的以下步骤:

-对于可供用于预测所述当前块的每种预测模式,获得与可供使用的预测模式相关联的预测块,

-构建包括两种可供使用的预测模式中的至少一种的列表,

-对于包含在所述列表中的被称为当前模式的至少一种预测模式:

·确定与所述当前模式相关联的预测块和与其它可供使用的预测模式相关联且针对所述当前块获得的其它预测块之间的距离测量值,

·根据所述确定的距离测量值修改所述列表,

-从编码块流解码信息片段,所述信息片段针对所述当前块识别来自修改列表的预测模式,

-从与所述识别的预测模式相关联的预测块重建所述当前块。

根据本发明的用于解码的方法使得能够对表示预测模式的用于预测来自预测模式的修改列表的块的信息片段进行解码。有利地,预测模式列表根据由列表的预测模式递送的针对预测块的确定的距离测量值进行调整。这种调整使得有可能根据列表的预测模式提供的预测相对于彼此更高效地组织所述预测模式。

针对当前块的列表的预测模式的传信成本,也被称为对针对所述当前块识别列表的预测模式的信息片段进行编码的成本,因此得以优化。实际上,预测模式列表适合于由这些预测模式给出的预测之间的类似性。这种调整使得有可能优化和减少对针对所述当前块识别列表的预测模式的信息片段进行编码的成本。

术语“针对预测块的距离测量值”在本文中标示由预测块给出的预测与由其它预测块给出的预测之间的差的测量值。这种距离测量值量化预测块之间的距离。由于由这些块给出的预测不同,因此这种距离反而更大。因此,有可能识别明显靠近彼此或非常远离彼此的预测块且相应地调整预测模式列表。

预测块的距离测量值相对于由预测块给出的预测,即相对于预测块的内容来确定。因此,列表适合于相对于如现有技术中的当前块的邻域给出而非估计的预测的内容。因此以更大精确度调整列表。

有利地,例如当某些预测模式包含在除hevc标准的mpm列表外的列表中时,列表可包含可供用于当前块或仅其中一些当前块的所有预测模式。

本发明还涉及一种用于对呈编码数据流形式的至少一个图像进行编码的方法,所述图像被细分为块,至少两种预测模式可供用于预测所述图像的块,所述块被称为当前块。这种用于编码的方法包括针对所述当前块的以下步骤:

-对于可供用于预测所述当前块的每种预测模式,获得与可供使用的预测模式相关联的预测块,

-构建包括两种可供使用的预测模式中的至少一种的列表,

-对于包含在所述列表中的被称为当前模式的至少一种预测模式:

·确定与所述当前模式相关联的预测块和与其它可供使用的预测模式相关联且针对所述当前块获得的其它预测块之间的距离测量值,

·根据所述确定的距离测量值修改所述列表,

-从修改列表选择预测模式来对当前块进行编码,

-在数据流中对针对所述当前块识别在修改列表中选择的所述预测模式的信息片段进行编码。这种用于编码的方法的优点等同于用于解码的方法的那些优点。

上文所提及的实施例的不同模式或特性可被独立地或结合彼此加入上文所定义的用于解码的方法和/或用于编码的方法的特性。

根据本发明的一个特定实施例,当确定的距离测量值指示预测块类似于与另一可供使用的预测模式相关联的预测块时,对列表的修改对应于从列表剔除所述当前模式。

根据本发明的此特定实施例,当预测模式递送相同或明显靠近的预测块时,列表的预测模式的数目减少。因此,当列表中的预测模式的索引由固定长度代码编码时,那么对索引进行编码所需的位数可减少。

根据本发明的一个特定实施例,其它可供使用的预测模式不包含在所述列表中。本发明的此特定实施例因此使得能够从列表剔除给出类似于不包含在列表中的预测模式的预测的预测的那些预测模式。举例来说,不包含在列表中的这种预测模式是先前编码的预测模式,例如h.264/avc的mpm模式或hevc标准的mpm列表。此特定实施例使得能够从列表剔除与已经编码的其它模式冗余的预测模式。

根据本发明的一个特定实施例,针对第一预测块的距离测量值通过计算所述第一预测块与第二预测块之间计算的均方误差来确定,当计算的均方误差低于预先确定的阈值时所述第一预测块类似于所述第二预测块。本发明的此特定实施例通过将预测块之间的均方误差与预先确定的阈值进行比较来修改预测模式的列表。因此,有可能识别预测块是靠近还是远离。

根据本发明的另一特定实施例,预先确定的阈值随当前块的大小而变化。实际上,当前块越大,其包含大量信息片段的能力就越大。

根据本发明的另一特定实施例,重复用于确定与来自列表的预测模式相关联的预测块的距离测量值和用于根据确定的距离测量值修改所述列表的步骤,从而使得修改的列表包含等于2n的预测模式数,n是对列表的索引进行编码的位数。本发明的此特定实施例优化了可供用于预测当前块的预测模式的数目和当预测模式由固定长度编码传信时与这些预测模式相关联的传信成本。

根据本发明的另一特定实施例,对列表的修改对应于对列表的重新排序,其中列表的预测模式根据针对列表的每种预测模式确定的距离测量值的降序进行排序。因此,这种重新排序通过根据可变长度代码进行编码而优化了对这种列表的距离的编码。

根据本发明的另一特定实施例,针对包含在列表中的每种预测模式的距离测量值通过计算与所述预测模式相关联且针对所述当前模式获得的预测块的能量来确定。根据本发明的此特定实施例,包括最大数目信息片段的预测块放置在列表的开头处。

根据本发明的另一特定实施例,距离测量值通过计算预测块和与另一预测模式相关联的另一预测块之间的欧几里得距离来确定。因此,当列表被重新排序时,在与可供使用的其它预测块相距最大距离处的预测块放置在列表的开头处。因此,递送大部分不同的预测块的预测模式放置在列表的开头处。因此,有可能以低编码成本提出针对列表的索引的更大数目的预测块变种。

根据本发明的另一特定实施例,列表的修改类型(预测模式的剔除或预测模式的重新排序)根据所述图像的编码类型来确定。根据本发明的此特定实施例,解码的复杂度可适合于待解码图像的类型。

本发明还涉及一种适合于根据上文所定义的特定实施例中的任一个实施用于解码的方法的解码装置。此解码装置当然可包含关于用于根据本发明进行解码的方法的不同特性。因此,此解码装置的特性和优点与用于解码的方法的那些特性和优点相同且并未更充分详细地描述。

根据本发明的一个特定实施例,这种解码装置包含在端子中。

本发明还涉及一种适合于根据上文所定义的特定实施例中的任一个实施用于编码的方法的编码装置。此编码装置当然可包含关于用于根据本发明进行编码的方法的不同特性。因此,此编码装置的特性和优点与用于编码的方法的那些特性和优点相同且并未更充分详细地描述。

根据本发明的一个特定实施例,这种编码装置包含在端子或服务器中。

根据本发明,用于解码的方法和用于编码的方法可分别以有线形式或以软件形式以各种方式实施。

根据本发明的一个特定实施例,用于解码的方法和用于编码的方法分别由计算机程序实施。本发明还涉及一种计算机程序,所述计算机程序包括指令,所述指令用以当所述程序由处理器执行时根据上文所描述的实施例中的任一个实施用于解码的方法或用于编码的方法。这种程序可无论如何使用任何编程语言。所述任何编程语言可从通信网络下载和/或存储在计算机可读媒体上。

此程序可无论如何使用任何编程语言且呈源码、目标代码或在源码和目标代码之间的中间码的形式,例如无论如何以部分编译形式或以任何其它期望形式。

本发明的目的还在于提供可由计算机读取且包括如上文所提及的程序的指令的记录媒体或信息媒体。上文所提及的记录媒体可为无论如何能够存储程序的任何实体或装置。举例来说,媒体可包括存储装置,如rom,例如cdrom或微电子电路rom或者再次地磁记录装置,例如软性磁盘或硬盘驱动器。此外,记录媒体可为如可经由电缆或光缆,通过无线电或通过其它装置传送的电信号或光学信号的可传输载体。根据所提出技术的程序可特别地上传到因特网类型网。

作为替代方案,记录媒体可对应于其中并入程序的集成电路,所述电路适合于执行所讨论的方法或在执行所述方法时使用。

附图说明

本发明的其它特征和优点通过以下借助于简单的、说明性且非穷举的实例对特定实施例的描述和附图更加明显地呈现出来,在所述附图中:

-图1呈现根据本发明的一个特定实施例的用于编码的方法的步骤,

-图2呈现根据本发明的一个特定实施例的用于解码的方法的步骤,

-图3a、3b说明根据本发明的不同特定实施例的用于修改在根据本发明的用于编码和解码的方法中使用的预测模式列表的主要步骤,

-图4a和4b说明根据本发明的其它特定实施例的用于修改在根据本发明的用于编码和解码的方法中使用的预测模式列表的主要步骤,

-图5呈现根据本发明的特定实施例中的任一个的适合于实施用于编码的方法的编码装置的简化结构,

-图6呈现根据本发明的特定实施例中的任一个的适合于实施用于解码的方法的解码装置的简化结构。

具体实施方式

5.1一般原理

本发明的一般原理的目的在于改进用于预测待编码图像的像素块的预测模式的传信成本。当今压缩标准提出大量预测模式来对块进行编码,以便提供待编码块的像素的尽可能预测。因此,量化的预测残差为小或甚至为零,且这减少了对预测残差进行编码的成本。然而,预测模式的传信成本随可能的预测模式的数目而增加。现在,可看出,在某些情况下,预测模式提供预测,即彼此非常接近的预测块。因此,从位速率/失真视角来看,某些预测模式未必总是必要的。本发明力图调整可供用于预测和编码图像块以便减少预测模式的传信成本的预测模式的数目。

为此目的,预测模式的列表l根据相对于与列表l的预测模式相关联的至少一个预测块的内容确定的距离测量值来创建和修改。这种距离测量值对应于由来自这种列表的预测模式提供的预测与由属于或不属于列表的另一预测模式提供的预测之间的计算距离。

我们将首先呈现实行这种列表的创建和修改的模式,且接着呈现根据本发明的使用这种修改列表用于编码的方法和用于解码的方法。

5.2预测模式列表的创建和修改

在下文中,参考图3a、3b、4a、4b,我们呈现创建和修改预测模式的列表l的实施方案的变型。本发明在本文中在应用到以hevc标准定义的帧内预测模式的上下文中描述。本发明可容易地应用到其它压缩标准和其它预测模式。

可回想起hevc标准定义35种帧内预测模式:

-平面模式(模式0),此模式在于基于参考像素对预测块(或预测块)的像素进行线性内插;所述参考像素由先前重建的相邻块构建,

-dc模式(模式1),此模式在于向预测块的像素分配对应于参考像素的平均值的相同值,

-33种a(0)到a(32)角度模式,此类模式通过使当前块的参考像素在33个相关联方向中的一个上延伸来形成预测块。

在下文中,我们呈现实施用于创建和修改在根据本发明参考图1b所描述的编码方法和根据本发明参考图2b所描述的解码方法中使用的预测模式的列表的步骤(e10)的不同模式。

5.2.1第一实施模式

在图3a中所说明的实例中,对预测模式的列表l的修改对应于从列表l剔除提供类似于列表l中已经存在的其它预测模式的预测的预测的预测模式。

在步骤e100处,确定可供用于预测待编码/解码图像的当前块bc的帧内预测模式。取决于当前块bc的位置,情况可能是某些预测模式不可用。举例来说,如果块bc是图像的第一行的块,那么使用定位在当前块上方的相邻块和定位在当前块上方和左边的块的参考像素的预测模式不可用。如果块bc是图像的第一列的块,那么使用定位在当前块左边的相邻块以及定位在当前块上方和左边的块的参考像素的预测模式不可用。在本文中所描述的实施例中,可供使用的预测模式的数目n被视为等于35。

在步骤e101处,计算可供用于当前块bc的每种预测模式k的预测块p[k]。通过将对应预测应用到预测模式k(平面、dc或角度模式a(0)到a(32)中的一个)来获得预测块。预测块p[k]因此是与当前块bc具有相同大小且包括由预测块k给出的预测的像素块。

在步骤e102处,预测模式的列表l由可供用于当前块的预测模式构建。此列表l例如对应于以hevc标准被称为非mpm列表的预测模式列表。

非mpm列表由不包含在被称为mpm列表的列表中的剩余帧内预测模式构建。

根据hevc标准,mpm列表包括对当前块进行编码的最可能帧内预测模式中的三种。mtop和mleft指代与分别定位在当前块上方和左边的块相关联的预测模式,这些块已经被预先编码/解码。如果块中的一个未根据帧内预测模式进行编码,那么模式dc被分配给所述块。

如果mtop和mleft两者等于相同预测模式且如果此预测模式是dc或平面预测模式,那么列表mpm包括以下预测模式:mpm[0]=planar、mpm[1]=dc、mpm[2]=a(26)。

如果mtop和mleft两者等于相同角度预测模式m(n),那么列表mpm包括以下预测模式:mpm[0]=m(n)、mpm[1]=m(2+(n+29)mod32)、mpm[2]=m(2+(n-1)mod32)。

如果mtop和mleft不同,那么列表mpm包括以下预测模式:

mpm[0]=mleft、mpm[1]=mtop、mpm[2]=mlast,其中mlast被定义如下:

如果mleft不等于平面模式且mtop不等于平面模式,那么mlast等于平面模式,

否则,如果mleft不等于dc模式且mtop不等于dc模式,那么mlast等于dc模式,

否则,mlast等于角度模式a(26)。

在步骤e102处,当列表mpm被构建时,通过加入可供用于当前块且不包含在mpm列表中的所有帧内预测模式来构建列表l。在本文中所描述的实施例中,列表l包括32种预测模式中的nl个。

根据本发明的实施例的其它变型,列表l可根据其它标准构建,例如通过加入可供使用的所有帧内预测模式,或同样通过加入可供使用的所有帧内预测模式,除如由h.264/avc标准所定义的被称为mpm的一种帧内预测模式外。本发明力图改进对列表l的编码,无论其包含所有可供使用的预测模式还是仅某些可供使用的预测模式。

在步骤e103处,将变量ⅰ重置为0。此变量ⅰ用于滚动通过包含在列表l中的所有预测模式。

对于列表的每种预测模式l[i],确定预测模式l[i]是否给出类似于此列表l的另一预测模式的预测。为此目的,借助于范围为值i+1ànl-1的变量j在列表l上进行第二次滚动。在步骤e1040处,因此将变量j重置为值i+1。在步骤e1042处确定与预测模式l[i]相关联的预测块p(l[i])和与预测模式l[j]相关联的另一预测块p(l[j])之间的距离测量值。

根据本文中所描述的实施模式,距离测量值通过计算从预测块p(l[i])的像素和预测块p(l[j])的像素计算出的均方误差来确定。在步骤e1043处,实行测试以确定在步骤e1042处确定的均方误差是否低于预先确定的阈值t1。假设均方误差低于阈值t1(y代表是),那么从列表l剔除预测模式l[i](步骤e1045)且列表l的预测模式的数目nl因此减少1。在从列表l剔除预测模式l[i]期间,定位在列表l中的索引ⅰ之后的列表的所有预测模式被提高一个等级。接着,操作进行到步骤e106。

在步骤e1043处,假设均方误差大于或等于阈值t1(n代表否),那么操作进行到步骤e1044。

在步骤e1044处,j增加了1且检查j大于还是等于nl。换句话说,检查在第二循环期间是否已经滚动通过列表l的放置在预测模式l[i]之后的所有预测模式。如果答案是‘否’,那么所述方法在步骤e1042处重新开始。

如果答案是‘是’,那么所述方法进行到步骤e1046,在步骤e1046期间变量ⅰ增加了1以进行到列表l中的下一预测模式。接着所述方法进行到步骤e106。

在步骤e106处,检查在第一循环期间是否已经滚动通过列表l的所有预测模式。换句话说,测试ⅰ大于还是等于nl-1。如果测试e106的结果是‘是’,那么终止用于修改列表l的方法。如果测试e106的结果是‘否’,那么所述方法返回到步骤e1040以验证下一预测模式与列表l的其它预测模式的预测的类似性。

5.2.2第二实施模式

根据图3b中所说明的实例,对预测模式的列表l的修改对应于从列表l剔除给出类似于不包含在列表l中的其它预测模式的预测的预测模式。举例来说,不包含在列表l中的这些其它预测模式是hevc标准的mpm列表的预测模式。

图3b的步骤e100到e103等同于参考图3a所描述的那些步骤。

在实施方案的此模式中,对于列表l的每种预测模式l[i],确定预测模式l[i]是否给出类似于列表mpm的另一预测模式的预测。为此目的,借助于值的范围为0到nm-1的变量j滚动通过列表mpm,其中nm对应于包含在mpm列表中的预测模式的数目。

在步骤e1050处,变量j因此重置为值0。在步骤e1051处确定与预测模式l[i]相关联的预测块p(l[i])相对于与预测模式mpm[j]相关联的另一预测块p(mpm[j])的距离测量值。

取决于本文中所描述的实施模式,距离测量值通过计算从预测块p(l[i])的像素和预测块p(mpm[j])的像素计算出的均方误差来确定。在步骤e1052处,测试在步骤e1051处确定的均方误差是否小于预先确定的阈值t2。假设均方误差低于阈值t2,那么从列表l剔除预测模式l[i](步骤e1053)且列表l的预测模式的数目nl因此减少1。在从列表l剔除预测模式l[i]期间,列表l的定位在列表中的索引ⅰ之后的所有预测模式被提高一个等级。所述方法接着进行到步骤e1054。

在步骤e1052处,假设均方误差大于或等于阈值t2,那么所述方法进行到步骤e1055。

在步骤e1055处,j增加了1且验证j大于还是等于nm。换句话说,验证在第二循环期间是否已经滚动通过mpm列表的所有预测模式。如果答案是‘否’,那么所述方法在步骤e1051处重新开始。

如果答案是‘是’,那么所述方法进行到步骤e1056,在步骤e1056期间变量ⅰ增加了1以进行到列表l中的下一预测模式。接着,所述方法进行到步骤e1054。

在步骤e1054处,验证在第一循环期间是否已经滚动通过列表l的预测模式。换句话说,验证ⅰ大于还是等于nl。如果测试e1054的结果是‘是’,那么终止列表l的修改步骤。如果是否,那么所述方法在步骤e1050处重新开始以验证列表l中的下一预测模式的预测与mpm列表的预测模式中的每一种的预测的类似性。

为了优化修改列表l的预测模式的传信成本,有可能连续地应用对图3b中所说明的列表的修改且接着对图3a中所说明的列表的修改。

根据实施方案的一个变型,阈值t1和t2可根据上下文而变化。举例来说,阈值t1和/或t2可随当前块bc的大小而变化。因此,如果将大小设定为4x4像素的块定义为阈值t1,那么对于大小设定为8x8像素的块来说阈值将为4*t1,对于大小设定为16x16像素的块来说阈值将为16*t1,且对于大小设定为32x32像素的块来说阈值将为64*t1。

根据实施方案的另一变型,有可能使用除均方误差外的标准作为两个预测块之间的类似性的标准。举例来说,可使用两个预测块之间的欧几里得距离或两个像素块之间的其它距离测量值。

5.2.3第三实施模式

根据图4a中所说明的实例,对预测模式的列表l的修改对应于根据确定标准相对于与列表l的预测模式相关联的预测块的内容对预测模式的列表进行分类。

根据此实施模式,图4a的步骤e100到e102等同于参考图3a所描述的那些步骤。

在步骤e301中,计算列表l的每种预测模式l[i]的与预测模式l[i]相关联的预测块p(l[i])的能量e(l[i])。从预测块的像素的值计算预测块p(l[i])的e(l[i])。

在步骤e302处,对列表l进行分类以便根据能量e(l[i])的降序对列表的预测模式进行归类。

有利地,此特定实施例优化了对索引的编码,从而提供在列表l的开头处给出最大量信息的预测。

5.2.4第四实施模式

根据图4b中所说明的实例,对预测模式的列表l的修改对应于根据确定标准相对于与列表l的预测模式相关联的预测块的内容对预测模式的列表进行分类。在本文中所描述的示范性实施例中,标准对应于块之间的距离。

根据此实施模式,图4b的步骤e100到e103等同于参考图3a所描述的那些步骤。计算预测块与另一预测块的距离且将其保存在与已经针对其计算的预测模式相关联的表格t中。一开始,表格t为空。

在用于将变量ⅰ重置为值0的步骤e103之后,在步骤e410期间计算预测块p(l[i])与每个预测块p(l[k])之间的距离,k在0到nl的范围内。举例来说,这种距离根据包括预测块p(l[i])的像素的值的向量与包括预测块p(l[k])的像素的值的向量之间的欧几里得距离来计算。针对预测块p(l[i])计算的距离按距离降序保存在表格t中。

在步骤e411期间,变量ⅰ递增1以进行到列表l中的下一预测模式。在步骤e412期间,验证是否已经遍历列表l的所有预测模式。换句话说,在步骤e412期间测试ⅰ大于还是等于nl。如果是(大于),那么方法进行到步骤e413。如果否(等于),那么方法在步骤e410处重新开始以处理列表l中的下一预测模式。

在步骤e413处,通过对预测模式l[i]进行分类来更新列表l,从而使得列表l具有按保存在表格t中的预测块之间的距离降序的预测模式l[i]。换句话说,在通过使距离值递减进行分类之后,列表l呈现预测模式,从最远离其它模式的那些预测模式到最接近其它模式的那些预测模式。

这种实施模式使得有可能在列表的开头处提出最远离的预测模式且因此就根据可变长度代码对预测模式进行编码而言与最低编码成本相关联的最可能不同的预测。

作为替代方案,此实施模式可使用除两个预测块之间的欧几里得距离外的标准以对列表l进行分类。举例来说,有可能按两个预测块之间计算的均方误差的降序对列表l进行分类。

5.2.5替代实施例

上文呈现的替代实施例可独立地或彼此结合地应用到上文呈现的实施方案的特定实施例中的任一个。

5.2.5.1列表l的大小的控制

根据一个替代实施例,当通过剔除修改列表l时,检查其大小以便相对于包含在列表l中的预测模式优化所述预测模式的数目。

根据此变型,在重置步骤e103处,将列表l保存在临时列表lt中。当在图3a的步骤e1045或图3b的e1053期间修改列表l时,验证包含在修改列表l中的预测模式的数目nl是否是2的整数幂。换句话说,验证nl是否可以2b形式书写,其中b是整数且表示对列表的索引进行编码所需的位数。如果nl是2的整数幂,那么将修改列表l保存在临时列表lt中。

在列表l的修改步骤结束时,即在图3a的步骤e106或图3b的e1054之后,列表l由临时列表lt替换。临时列表lt包括最后修改的列表l,所述最后修改的列表l的预测模式的数目是2的幂。

因此,列表的预测模式的数目的减少相对于此列表的预测模式的编码成本得以优化。

5.2.5.2上下文匹配

列表l的修改方法(预测模式的剔除或分类)可取决于当前块bc所属的待解码/编码图像的类型。举例来说,可通过如参考图4a或4b所描述的分类操作修改属于帧内类型图像l的当前块,原因是这种方法是不太计算密集的。对于帧间类型图像,可通过剔除如参考图3a或3b所描述的冗余预测模式来修改列表l。

5.2.5.3从列表l剔除类似块的其它方法

作为变型,可通过w.h.科兹(w.h.equitz)于1989年在“ieee声学、语音、信号处理汇刊(ieeetransactionsonaccoustics,speech,signalprocess)”发表的“新的向量量化聚类算法(anewvectorquantizationclusteringalgorithm)”第1568-1575页,37-10行中所描述的“pairwisenearestneighbor”类型算法实行给出类似于另一预测模式的预测的从列表l剔除预测模式。

5.3编码方法

图1呈现根据本发明的一个特定实施例的用于对待以编码数据流str形式编码的图像序列i1、i2、...、in进行编码的方法的步骤。举例来说,这种编码方法由如参考图5所描述的编码装置实施。待编码图像序列i1、i2、...、in在输入编码方法时给出。编码方法输出表示在输入时提供的图像序列的编码数据流str。

以已知方式,以解码器预先建立和已知的编码次序一个接一个图像地对图像序列i1、i2、...、in进行编码。举例来说,可以时间次序i1、i2、...、in或以另一次序对图像进行编码,所述另一次序例如i1、i3、i2、...、in。

在步骤e0处,待以图像序列i1、i2、...、in编码的图像ik被细分为大小最大的块。每个大小设定最大的块可被重新细分为更小的块。举例来说,大小设定最大的块具有32x32像素的大小。这种大小设定最大的块可被细分为正方形或矩形子块,例如大小设定为16x16、8x8、4x4、16x8、8x16等。接着,在步骤e0处,根据图像ik的预先确定的扫描次序选择待编码图像ik的块bc。

在步骤e10处,创建和修改用以对当前块bc进行编码的预测模式的列表l。用于创建和修改列表l的步骤e10包括上文根据参考图3a、3b、4a和4b的本发明的不同实施例所描述的一组子步骤。

在修改创建的预测模式的列表l之后,在步骤e11处,从列表l的预测模式当中选择对当前块bc进行编码的预测模式。举例来说,选择针对当前块给出位速率与失真之间的最佳取舍的预测模式。

在步骤e12处,针对当前块bc在编码数据流str中编码识别选择的预测模式的信息片段。举例来说,这种信息片段以由固定长度或可变长度代码编码的索引idx的形式编码在流中。

在步骤e13处,从与在步骤e11处选择的预测模式相关联的当前块bc和预测块p(l[idx])计算预测残差res。根据待编码当前块bc与预测块p(l[idx])之间的差获得预测残差res。

在步骤e14处,以已知方式,接着例如通过dct变换来变换预测残差res且进行量化。接着获得量化的变换残差的系数。

在步骤e15处,接着以编码数据流str的形式对量化的变换残差的系数进行编码。此编码由熵编码模块进行,所述熵编码模块例如d.马博(d.marpe)、h.施瓦兹(h.schwarz)、t.韦根(t.wiegand)于2003年7月发表的“ieee用于视频技术的电路和系统汇刊(卷:13,期号:7)(ieeetransactionsoncircuitsandsystemsforvideotechnology(volume:13,issue:7))”,第620到636页,“以h.264/avc视频压缩标准的基于上下文的自适应二进制算术编码(context-basedadaptivebinaryarithmeticcodingintheh.264/avcvideocompressionstandard)”中所描述的cabac编码器。在步骤e15期间,针对当前块bc在编码数据流str中编码识别在步骤e11处选择的信息片段。举例来说,这种信息片段以由固定长度或可变长度代码编码的索引idx的形式编码在流中。

在步骤e16处,通过将反向量化和逆变换应用到量化的变换系数来重配预测残差res'。在步骤e17处,通过将重建的预测残差res'加入与在步骤e11处选择的预测模式相关联的预测块p(l[idx])来重建像素块rec。

在步骤e18处,验证是否已经对待编码图像的所有块进行了编码。如果答案是‘否’,那么编码方法通过根据待编码图像的预先确定的扫描次序继续进行到下一块而返回到步骤e10。

假设已经在步骤e19处处理了图像的所有块,那么从图像的重建块rec重配图像ikrec且将其保存在参考图像列表中以随后在对图像序列的后续图像进行编码期间用作参考。

5.4解码方法

图2呈现根据本发明的特定实施例的用于对表示待解码的图像序列i1、i2、...、in的编码数据的str数据流进行解码的方法的步骤。

举例来说,已经通过参考图1所呈现的编码方法生成数据流str。数据流str在如参考图6所描述的解码装置dec的输入端处提供。

解码方法一个接一个图像地实行流的解码。对于每个待解码图像,解码方法一个接一个块地实行图像的解码。

对于待在步骤e10处重建的图像的块bc,根据等同于在数据流str的编码期间使用的实施例的特定实施例创建和修改与当前块bc相关联的预测模式的列表l。用于创建和修改列表l的步骤e10包括上文已经根据参考图3a、3b、4a和4b的本发明的不同实施例所描述的一组子步骤。

在步骤e20处,对应于块bc的数据流str的数据由熵解码模块解码以一方面给出关于当前块bc的编码模式(或预测模式)的语法元素且另一方面给出当前块bc的预测残差的一组系数。解码的语法元素特别地包括关于预测模式的信息片段,所述信息片段针对当前块bc识别预测模式的列表l的预测模式当中的一种预测模式。举例来说,这种信息片段以列表l的索引idx的形式编码在流中。

在步骤e21处,块bc的预测残差的系数经历反向量化且接着经历逆变换以递送解码的预测残差res'。

在步骤e22处,从与列表的预测模式l[idx]相关联的预测块p(l[idx])和与已经从编码数据流str解码的当前块bc相关联的预测残差res'重建当前块。先前已经在步骤e10处计算预测块p(l[idx])。因此,通过将预测块p(l[idx])加入解码的预测残差res'来获得针对当前块bc的重建块rec。

在步骤e23处,验证是否已经对待解码图像的所有块进行了解码和重建。如果情况是‘否’,那么解码方法以根据待解码图像的预先确定的扫描次序继续进行到下一块而返回到步骤e10。

假设已经在步骤e24处处理了图像的所有块,那么从重配块rec重建图像ikrec且将其保存在参考图像列表中以随后在对图像序列的接下来的图像进行解码期间用作参考。

上文所描述的编码和解码方法可并入到标准视频编码器/解码器中,例如h.266、hevc/h.265、avc/h.264或任何类型的专有视频编码器/解码器。根据本发明的编码和解码方法还可使用预测编码借助于若干可供使用的预测模式应用到固定图像且更大体地固定信号的所有类型的编码器/解码器。

上文已经就空间基于块的编码(帧内编码)而言描述了编码和解码方法。这些方法可容易地应用到根据其它编码模式,例如帧间编码对块进行编码的情况。构建的预测模式列表可因此包含不同类型的编码模式(帧内、帧间、层间等)。

5.5编码装置

图5呈现根据本发明的特定实施例中的任一个的适合于实施编码方法的编码装置的简化结构。编码装置cod适合于对呈编码数据流形式的至少一个图像进行编码,所述图像被细分为块,至少两种预测模式可供用于预测所述图像的块,所述块被称为当前块。

编码装置cod特别地被配置成:

-对于可供用于预测所述当前块的每种预测模式,获得与可供使用的预测模式相关联的预测块,

-构建包括两种可供使用的预测模式中的至少一种的列表,

-对于包含在所述列表中的被称为当前模式的至少一种预测模式:

·确定与所述当前模式相关联的预测块与所获得的其它预测块之间的距离测量值,

·根据所述确定的距离测量值修改所述列表,

-从修改列表当中选择预测模式来对当前块进行编码,

-在数据列表中对信息片段进行编码,所述信息片段针对所述当前块识别在修改列表中选择的所述预测模式。

根据本发明的一个特定实施例,编码方法的步骤由计算机程序指令实施。为此目的,编码装置cod具有计算机的传统架构且特别地包括存储器mem、处理单元ut,所述处理单元例如装备有微处理器proc且由存储在存储器mem中的计算机程序pg管理。计算机程序pg包括指令,所述指令当程序被处理器proc执行时实施上文如所描述编码方法的步骤。

在初始化时,计算机程序pg的代码指令例如被载入到存储器ram中且接着被处理器proc执行。处理单元ut的处理器proc特别地根据计算机程序pg的指令实施上文所描述的编码方法的步骤。

根据本发明的另一实施例,编码方法由功能模块实施。为此目的,编码方法cod此外包括:

-获得模块obt,其用以针对可供用于预测所述当前块的每种预测模式获得与可供使用的预测模式相关联的预测块,

-构建模块cos,其用以构建包括可供使用的两种预测模式中的至少一种的列表,

-确定模块det,其用以确定与包含在列表中的预测模式相关联的预测块与所获得的其它预测块之间的距离测量值,

-修改模块mod,其用以根据所述确定的距离测量值修改所述列表,

-选择模块sel,其用以从修改列表选择预测模式来对当前块进行编码,

-编码模块,其用于在数据流中对信息片段进行编码,所述信息片段针对所述当前块识别在修改列表中选择的所述预测模块。

处理单元ut与上文所描述的不同功能模块和存储器mem协作来实施编码方法的步骤。

上文所描述的不同功能模块可呈硬件和/或软件形式。在软件形式中,这种功能模块可包含处理器、存储器和程序代码指令,当代码指令被处理器执行时所述程序代码指令实施对应于模块的功能。在硬件形式中,这种功能模块可由任何类型的调整的编码电路实施,所述调整的编码电路例如且非限制性地微处理器、数字信号处理器(dsp)、应用专用集成电路(asic)、现场可编程门阵列(fgpa)和逻辑单元布线。

5.6解码装置

图6呈现根据本发明的特定实施例中的任一个的适合于实施解码方法的解码装置dec的简化结构。解码装置dec适合于对表示至少一个图像的编码数据流进行解码,所述图像被细分为块,至少两种预测模式可供用于预测图像的块,所述块被称为当前块。解码装置dec特别地被配置成:

-对于可供用于预测当前块的每种预测模式,获得与可供使用的预测模式相关联的预测块,

-构建包括两种可供使用的预测模式中的至少一种的列表,

-对于包含在所述列表中的被称为当前模式的至少一种预测模式:

·确定与所述当前模式相关联的预测块与所获得的其它预测块之间的距离测量值,

·根据所述确定的距离测量值修改所述列表,

-从编码数据列表解码信息片段,所述信息片段针对所述当前块识别来自修改列表的预测模式,

-从与所述识别的预测模式相关联的预测块重建所述当前块。

根据本发明的一个特定实施例,解码装置dec具有计算机的传统架构且特别地包括存储器mem0、处理单元ut0,所述处理单元ut0例如装备有微处理器proc0且由存储在存储器mem0中的计算机程序pg0管理。计算机程序pg0包括指令,所述指令当程序被处理器proc0执行时实施上文如所描述编码方法的步骤。

在初始化时,计算机程序pg0的代码指令例如被载入到存储器ram中且接着被处理器proc0执行。处理单元ut0的处理器proc0特别地根据计算机程序pg0的指令实施上文所描述的编码方法的步骤。

根据本发明的另一特定实施例,解码方法由功能模块实施。为此目的,解码装置dec此外包括:

-获得模块obt0,其用以针对可供用于预测当前块的每种预测模式获得与可供使用的预测模式相关联的预测块,

-构建模块cos0,其用以构建包括可供使用的两种预测模式中的至少一种的列表,

-确定模块det0,其用以确定与包含在所述列表中的预测模式相关联的预测块与所获得的其它预测块之间的距离测量值,

-修改模块mod0,其用以根据所述确定的距离测量值修改所述列表,

-解码模块dc,其用以从编码数据流解码信息片段,所述信息片段针对所述当前块识别来自修改列表的预测模式,

-重建模式rc,其用以从与所述识别的预测模式相关联的预测块重建所述当前块。

处理单元ut0与上文所描述的不同功能模块和存储器mem0协作以便实施解码方法的步骤。

上文所描述的不同功能模块可呈硬件和/或软件形式。在软件形式中,这种功能模块可包含处理器、存储器和程序代码指令,当代码指令被处理器执行时所述程序代码指令实施对应于模块的功能。在硬件形式中,这种功能模块可由任何类型的调整的编码电路实施,所述调整的编码电路例如且非限制性地微处理器、数字信号处理器(dsp)、应用专用集成电路(asic)、现场可编程门阵列(fgpa)和逻辑单元布线。

权利要求书(按照条约第19条的修改)

1.一种用于对表示至少一个图像的编码数据流进行解码的方法,所述图像被细分为块,至少两种预测模式可供用于预测所述图像的块,所述块被称为当前块,所述方法包括针对所述当前块的以下步骤:

对于可供用于预测所述当前块的每种预测模式,获得(e101)与可供使用的所述预测模式相关联的预测块,

构建(e102)包括所述两种可供使用的预测模式中的至少一种的列表,

对于包含在所述列表中的被称为当前模式的每种预测模式:

确定(e1042、e1043)与所述当前模式相关联的所述预测块和与其它可供使用的预测模式相关联且针对所述当前块获得的其它预测块之间的距离测量值,

根据确定的所述距离测量值修改(e1045)所述列表,对所述列表的修改对应于剔除所述当前模式,或对应于对所述列表的重新排序,

从编码块流解码(e20)信息片段,所述信息片段针对所述当前块识别来自所述修改列表的预测模式,

根据与识别的所述预测模式相关联的所述预测块重建(e22)所述当前块。

2.一种用于对呈编码数据流形式的至少一个图像进行编码的方法,所述图像被细分为块,至少两种预测模式可供用于预测所述图像的块,所述块被称为当前块,用于编码的所述方法包括针对所述当前块的以下步骤:

对于可供用于预测所述当前块的每种预测模式,获得(e101)与可供使用的所述预测模式相关联的预测块,

构建(e102)包括所述两种可供使用的预测模式中的至少一种的列表,

对于包含在所述列表中的被称为当前模式的每种预测模式:

确定(e1042、e1043)与所述当前模式相关联的所述预测块和与其它可供使用的预测模式相关联且针对所述当前块获得的其它预测块之间的距离测量值,

根据确定的所述距离测量值修改(e1045)所述列表,对所述列表的修改对应于剔除所述当前模式,或对应于对所述列表的重新排序,

从所述修改列表选择(e11)预测模式来对所述当前块进行编码,

在所述数据流中对信息片段进行编码(e12),所述信息片段针对所述当前块识别在所述修改列表中选择的所述预测模式。

3.根据权利要求1或权利要求2所述的方法,其中当确定的所述距离测量值指示与包括在所述列表中的所述当前模式相关联的所述预测块类似于与另一可供使用的预测模式相关联的预测块时,所述列表的所述修改对应于从所述列表剔除所述当前模式。

4.根据权利要求3所述的方法,其中其它可供使用的所述预测模式不包含在所述列表中。

5.根据权利要求1到4中任一权利要求所述的方法,其中针对第一预测块的所述距离测量值通过计算所述第一预测块与第二预测块之间计算的均方误差来确定,当所述计算的均方误差低于预先确定的阈值时所述第一预测块类似于所述第二预测块。

6.根据权利要求5所述的方法,其中所述预先确定的阈值随所述当前块的大小而变化。

7.根据权利要求3到6中任一权利要求所述的方法,其中重复用于确定与来自所述列表的预测模式相关联的预测块的距离测量值和用于根据确定的所述距离测量值修改所述列表的步骤,从而使得所述修改的列表包含等于2n的预测模式数,n是对所述列表的索引进行编码的位数。

8.根据权利要求1或权利要求2所述的方法,其中对所述列表的所述修改对应于对所述列表的重新排序,其中所述列表的所述预测模式根据针对所述列表的每种预测模式确定的距离的标准的降序进行排序。

9.根据权利要求8所述的方法,其中包含在所述列表中的针对每种预测模式的所述距离测量值通过计算与所述预测模式相关联且针对所述当前模式获得的预测块的能量来确定。

10.根据权利要求8所述的方法,其中所述距离测量值通过计算所述预测块和与另一预测模式相关联的另一预测块之间的欧几里得距离来确定。

11.根据权利要求1或权利要求2所述的方法,其中对应于对所述列表的剔除或重新排序的所述列表的修改类型根据所述图像的帧内或帧间编码类型来确定。

12.一种用于对表示至少一个图像的编码数据流进行解码的装置,所述图像被细分为块,至少两种预测模式可供用于预测所述图像的块,所述块被称为当前块,所述解码装置适合于:

对于可供用于预测所述当前块的每种预测模式,获得与可供使用的所述预测模式相关联的预测块,

构建包括所述两种可供使用的预测模式中的至少一种的列表,

对于包含在所述列表中的被称为当前模式的每种预测模式:

确定与所述当前模式相关联的所述预测块和与其它可供使用的预测模式相关联且针对所述当前块获得的其它预测块之间的距离测量值,

根据确定的所述距离测量值修改所述列表,对所述列表的修改对应于剔除所述当前模式,或对应于对所述列表的重新排序,

从编码块流解码信息片段,所述信息片段针对所述当前块识别来自所述修改列表的预测模式,

从与识别的所述预测模式相关联的所述预测块重建所述当前块。

13.一种用于对呈编码数据流形式的至少一个图像进行编码的装置,所述图像被细分为块,至少两种预测模式可供用于预测所述图像的块,所述块被称为当前块,所述装置被配置成:

对于可供用于预测所述当前块的每种预测模式,获得与可供使用的所述预测模式相关联的预测块,

构建包括所述两种可供使用的预测模式中的一种的列表,

对于包含在所述列表中的被称为当前模式的每种预测模式:

确定与所述当前模式相关联的所述预测块和与其它可供使用的预测模式相关联且针对所述当前块获得的其它预测块之间的距离测量值,

根据确定的所述距离测量值修改所述列表,对所述列表的修改对应于剔除所述当前模式,或对应于对所述列表的重新排序,

从所述修改列表选择预测模式来对所述当前块进行编码,

在所述数据流中对信息片段进行编码,所述信息片段针对所述当前块识别在所述修改列表中选择的所述预测模式。

14.一种包括指令的计算机程序,所述指令用于当所述程序被处理器执行时实施根据权利要求1或3到11中任一权利要求的用于解码的所述方法。

15.一种包括指令的计算机程序,所述指令用于当所述程序被处理器执行时实施根据权利要求2到11中任一权利要求的用于编码的所述方法。

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