用于编码和解码代表图像序列的数据流的方法和装置与流程

文档序号:20275227发布日期:2020-04-03 19:33阅读:215来源:国知局
用于编码和解码代表图像序列的数据流的方法和装置与流程

本发明的领域在于编码和解码图像序列,尤其在于视频流。

更具体地,本发明涉及通过将图像划分为块来压缩图像序列。

本发明尤其可以应用于在当前或将来的编码器中实现的视频编码任务(jpeg、mpeg、h.264、hevc等、以及对其的修改)、以及对应的解码任务。



背景技术:

数字图像序列在存储器方面占据大量空间,这要求在传输这些图像时进行压缩,以便防止在用于该传输的网络上发生拥塞问题。更具体地,能在该网络上使用的带宽通常是有限的。

已经知道用于压缩视频数据的许多技术。这些技术包括hevc压缩标准("highefficiencyvideocoding,codingtoolsandspecification",matthiaswien,signalsandcommunicationtechnology,2015),该标准提议根据属于同一图像的其他像素来预测当前图像的像素(帧内预测)或根据属于前一或后一图像的其他像素来预测当前图像的像素(帧间预测)。

更具体地,帧内预测利用图像内的空间冗余。考虑到这一点,图像被划分为像素块。然后根据其中扫描图像中的块的顺序,使用与当前图像中的先前编码/解码的块对应的已经重构的信息,来预测这些像素块。

而且,以常规方式并且如图1a所示,通过供应预测器块pred的当前块的预测(p)、以及与当前块bc和预测器块pred之间的差对应的预测残差res或“残差块”,来执行当前块bc的编码。然后,例如使用dct(离散余弦变换)类型的变换,来变换(t)获得的残差块res。然后,对变换后的残差块的系数进行量化(q),并通过熵编码(c)在数据流flx中编码,并传输到解码器,该解码器可以通过将残差块res添加到预测器块pred,来重构当前块brec。按照已知的方式,当前块也在编码器(brec)处重构,以便用于预测图像序列中的其他块。

例如,如图1b所示,以图像为基础对图像执行解码,并且对于每一图像,以块为基础对块执行解码。对于要重构的每个块,从数据流flx解码(d)与该块对应的元素。执行残差块resrec的系数的逆量化(q-1)和逆变换(t-1)。然后,计算块的预测(p)以获得预测器块pred,并且通过将预测(即,预测器块)添加到解码的残差块resrec,来重构(brec)当前块。

以常规方式,对于当前块bc的图像间预测,在与图像序列中先前编码和重构的图像对应的参考图像iref中,查找预测器块pred。当对当前图像进行编码/解码时,多个参考图像可以在编码器和解码器处的存储器(mem)中可用。为了由解码器和编码器使用相同的参考图像iref以获得当前块的预测器块pred,在代表图像序列的数据流flx中编码标识用于预测当前块的参考图像的语法元素。类似地,为了标识参考图像中的预测器块,在代表图像序列的数据流flx中编码一个或多个语法元素。以常规方式,标识参考图像iref中的预测器块的这些语法元素对应于运动向量mv,该运动向量mv指示参考图像iref中的预测器块pred的位置相对于当前图像中的当前块bc的位置。

已知如上所述的视频编码用于编码特定图像序列,例如多视图图像序列。为此目的,已知为“帧封装”的技术包括例如将一时刻的所有视图封装到单一图像中、以及将包括封装的视图的图像传输到常规2d视频编码器。

图2a示出了多视图序列的图像的视图的示例排列。例如,图像(a)示出了一个在另一个之上的两个视图v1、v2的排列,图像(b)示出了并排的两个视图v1、v2的排列,而图像(c)示出了根据左右、上下扫描的方式的四个视图v1、v2、v3、v4的排列。其他视图排列是可能的,并且不限于两个或四个视图。

根据hevc标准,在图像序列的数据流中编码“frame_packing_arrangement_type”语法元素。该语法元素使得能够指示在当前图像中执行的帧封装的类型。换句话说,该语法元素指示在当前图像中排列视图的方式。例如,值4指示“上下”排列,这规定一个视图排列在另一视图的下方。但是,hevc编码器不使用当前图像中视图的排列。

更特定于立体视频序列(即,每一时刻包含两个视图的视频序列:用于左眼的一个视图(vg)和用于右眼(的一个视图vd))的另一技术包括将每一时刻的左侧视图和右侧视图交错以获得图像序列vd(0)、vg(0)、vd(1)、vg(1)、vd(2)、vg(2)……。这样的示例在图2b中示出。然后将具有交错视图的图像序列传输到常规2d视频编码器。

上文呈现的技术的缺陷在于以下事实:对多视图序列中的每个视图进行编码,而没有利用相同时刻的视图之间存在的视图间相关性。没有修改2d视频编码器,并且可用于对从帧封装导出的图像序列中的图像进行编码或对交错图像进行编码的编码模式与用于单视图(monoview)2d图像序列的编码模式相同。

因此,需要一种用于对当前块进行编码的新技术,使得能够改进多视图图像序列的视频数据的压缩。



技术实现要素:

本发明对现有技术进行了改进。为此,本发明涉及一种用于解码代表图像序列的数据流的方法,其中使用参考图像的预测器块对图像序列中的当前图像的至少一个当前块进行编码,经由位置信息在参考图像中标识所述预测器块。有利地,这种解码方法包括以下步骤:

-获得使得能够从参考图像的集合标识该参考图像的信息项,

-当参考图像满足预定标准时,使用第一解码模式解码位置信息,

-否则,使用第二解码模式来解码该位置信息,所述第一和第二解码模式包括至少一个不同的解码参数,

-从预测器块重构当前块。

根据本发明,针对取决于所使用的参考图像而不同的预测器块的位置信息项,由此可以获得解码模式,并因此获得编码模式。

由此,例如,取决于用于预测当前块的参考图像,可用于对与预测器块相关联的位置信息进行编码的编码模式变化。例如,作为参考图像的结果,可能不允许某些编码模式。由此,取决于参考图像,相对于运动向量的常规编码,可以简化用信号通知参考图像中的预测器块的位置信息所需的语法。

例如,第二解码模式对应于诸如hevc标准之类的现有标准的常规解码,并且第一解码模式对应于适于参考图像的特异性(specificity)的新解码模式。

根据本发明,解码模式的解码参数可以以非限制性方式对应于用于用信号通知解码模式的一个或多个语法元素、或者创建运动向量的预测器列表以便对预测器块的运动向量进行解码的方式、或用于编码解码模式的语法元素的熵编码上下文、或甚至熵编码上下文的初始化概率等。

有利地,根据本发明的解码方法既适用于多视图图像序列的解码又适用于单视图图像序列的解码。

根据本发明的一个特定实施例,获得使得能够从参考图像的集合标识该参考图像的信息项包括:对所述参考图像的标识符进行解码。由此,在对位置信息进行解码之前,通过对参考图像的标识符进行解码来执行参考图像的标识。在这种情况下,根据所标识的参考图像确定使用第一解码模式还是第二解码模式。

根据本发明的一个特定实施例,获得使得能够从参考图像的集合标识该参考图像的信息项包括:

-对指示必须使用第一解码模式还是第二解码模式对位置信息进行解码的信息项进行解码,

-当必须使用第一解码模式对位置信息进行解码时,通过推断第一解码模式的使用,来标识该参考图像,

-当必须使用第二解码模式对位置信息进行解码时,通过从数据流中解码参考图像的标识符,来标识该参考图像。

根据本发明的该特定实施例,通过推断第一解码模式的使用来执行参考图像的标识。根据该备选方案,当使用第一解码模式时,不需要在数据流中传送参考图像的标识符。标识位置信息的解码模式的语法元素的传送就足够了。

根据本发明的一个特定实施例,位置信息可以是参考图像中预测器块的运动向量或坐标。

根据本发明的另一特定实施例,所述图像序列代表多视图视频,所述图像序列中的图像包括所述多视图视频的一时刻的视图的排列,并且其中当该参考图像对应于当前图像时,该参考图像满足预定标准。根据本发明的该特定实施例,取决于用于当前块的参考图像是当前图像(即,当前正在解码的图像)还是常规参考图像,来适配对预测器块的位置信息的解码。

根据本发明的该另一特定实施例的另一备选方案,所述当前块属于与一时刻的第一视图对应的当前图像的第一区域,并且所述预测器块属于与不同于第一视图的时刻的第二视图对应的当前图像的第二区域,所述第二区域对应于先前重构的当前图像的区域。该备选方案使用位于已重构的当前图像的一部分中的预测器块,利用时刻的视图间相关性。

根据本发明的另一特定实施例,所述图像序列代表立体视频,所述立体视频在每个时刻包括左侧视图和右侧视图,所述图像序列中的图像交替地对应于立体视频的左侧视图或右侧视图,并且其中当参考图像对应于与当前图像相同的时刻的视图时、或当参考图像对应于与当前图像相同的视图时,该参考图像满足预定标准。根据本发明的该特定实施例,并且根据第一备选方案,预测器块的位置信息的第一解码模式的使用取决于当前块的参考图像是否是与当前图像对应的视图的补充视图。更具体地,如果当前图像对应于一时刻的左侧视图或相应地对应于右侧视图,则如果参考图像对应于同一时刻的左侧视图或相应地对应于右侧视图,就满足该标准。

根据本发明的该特定实施例的另一备选方案,预测器块的位置信息的第一解码模式的使用取决于当前块的参考图像是否对应于与当前图像相同的视图。更具体地,如果当前图像对应于一时刻的左侧视图或相应地对应于右侧视图,则如果参考图像对应于另一时刻的左侧视图或相应地对应于右侧视图,就满足该标准。

根据本发明的另一特定实施例,当所述参考图像的类型对应于预定类型时,所述参考图像满足所述预定标准。根据本发明的该特定实施例,对预测器块的位置信息的解码适于参考图像的类型。例如,根据hevc标准,根据两种类型分类参考图像:所谓的短期图像和所谓的长期图像。短期参考图像由代表相对于当前图像的时间偏移的索引标识。长期参考图像由其在图像序列中的编号标识。该特定实施例使得运动向量的编码能够适于参考图像的类型。例如,运动向量的新编码模式用于“长期”类型的参考图像,而hevc标准的常规编码模式用于“短期”类型的参考图像。

根据本发明的另一特定实施例,所述位置信息对应于运动向量,并且所述第一解码模式创建包括以下运动向量中的至少一个的运动向量的列表:

-指向与当前图像的当前块在空间上并置的参考图像的第一块的运动向量,

-指向位于第一块上方的参考图像块的运动向量,

-指向位于第一块左方的参考图像块的运动向量,

-指向位于第一块上方和左方的参考图像块的运动向量,

-指向位于第一个块右方的参考图像块的运动向量,

-指向位于第一块上方和右方的参考图像块的运动向量,

-指向位于第一块下方的参考图像块的运动向量,

-指向位于第一块下方和右方的参考图像块的运动向量,

-指向位于第一块下方和左方的参考图像块的运动向量。

根据本发明的该特定实施例,相对于指向以与当前块并置的参考图像的块为中心的参考图像的块的区域的运动向量的列表,对使得能够标识预测器块的运动向量进行编码。

根据本发明的该特定实施例的备选方案,列表仅包括用于预测器块的单一运动向量,并且该运动向量是标识与当前块在空间上并置的参考图像的块的运动向量。根据该实施例,当参考图像不是当前图像时,这样的运动向量对应于零向量。当参考图像对应于当前图像时,这样的运动向量对应于指向与正解码/编码的视图中的当前块相同的、用作当前块的参考的当前图像的视图中的相同位置的、当前图像中的位移。

根据本发明的另一特定实施例,使用第一解码模式解码包括以下步骤:

-创建运动向量的列表,

-从数据流中解码索引,该索引标识来自列表中的运动向量的、要用来标识预测器块的运动向量,

-从数据流中解码信息项,该信息项指示所标识的运动向量的水平分量或相应地垂直分量是否等于零,

-当所标识的运动向量的水平分量或相应地垂直分量不同于零时,向水平或相应地垂直分量分配等于1的值。

本发明的该特定实施例使得能够重新使用hevc标准的amvp(高级运动向量预测)解码模式的语法的一部分。

根据本发明的另一特定实施例,使用第一解码模式的解码和使用第二解码模式的解码均使用相同的语法元素,来用信号通知标识所述预测变量所要使用的运动向量,第一解码模式和第二解码模式使用不同的熵解码类型,或者当第一解码模式和第二解码模式使用相同的熵解码类型时,由此相同的熵解码类型使用基于上下文的解码,第一解码模式和第二解码模式使用不同的解码上下文。

根据另一备选方案,本发明的该特定实施例使得能够在适配熵解码的类型的同时、重新使用现有标准解码模式的语法。术语熵解码在本文中应理解为是指:对二进制数据序列的解码使得能够在输出处提供符号,该符号代表允许重构图像序列的语法元素的值。

根据另一备选方案,本发明的该特定实施例使得熵解码上下文(以及因此熵编码上下文)能够适合于参考图像。

本发明还涉及一种用于编码代表图像序列的数据流的方法,对于所述图像序列中的当前图像的至少一个当前块,该方法包括以下步骤:

-对信息项进行编码,使得在对当前块进行解码时能够获得信息项,该后一信息项使得能够从参考图像的集合中标识参考图像,

-当参考图像满足预定标准时,使用第一编码模式对用于预测当前块的参考图像的预测器块的位置信息进行编码,

-当参考图像不满足预定标准时,使用第二编码模式,对该位置信息进行编码,由此所述第一和第二编码模式包括至少一个不同的编码参数,

-至少从预测器块对当前块进行编码。

该编码方法的特征和优点与解码方法的特征和优点相同,并在此不再详细描述。根据参考上文的解码方法描述的任一特定实施例,可以以对应的方式实现该编码方法。

本发明还涉及一种解码装置,该解码装置被配置为实现根据以上定义的任一特定实施例的解码方法。不用说,该解码装置可以具有相对于根据本发明的解码方法提供的不同特征。由此,该解码装置的特征和优点与解码方法的特征和优点相同,并在此不再详细描述。

根据本发明的一个特定实施例,这样的解码装置被包括在终端内。

本发明还涉及一种编码装置,该编码装置被配置为实现根据以上定义的任一特定实施例的编码方法。不用说,该编码装置可以具有相对于根据本发明的编码方法提供的不同特征。由此,该编码装置的特征和优点与编码方法的特征和优点相同,并在此不再详细描述。

根据本发明的一个特定实施例,这样的编码装置被包括在终端或服务器内。

根据本发明的解码方法以及相应的编码方法可以以各种方式实现,特别是以有线形式或软件形式。根据本发明的一个特定实施例,解码方法以及相应的编码方法由计算机程序实现。本发明还涉及一种计算机程序,该计算机程序包括指令,当所述程序由处理器执行时,所述指令用于实现根据上述任一特定实施例的解码方法或编码方法。这样的程序可以使用任何编程语言。可以从通信网络下载程序和/或将其保存在计算机可读介质上。

该程序可以使用任何编程语言,并且可以采用源代码、目标代码或源代码与目标代码之间的中间代码的形式,例如部分编译的形式、或任何其他期望的形式。

本发明还涉及一种记录介质或计算机可读信息介质,并且包括上文所述的计算机程序的指令。上文所述的记录介质可以是能够存储程序的任何实体或装置。例如,介质可以包括存储部件,例如rom,例如cd-rom或微电子电路rom,或者甚至是磁记录部件,例如软盘或硬盘驱动器。另一方面,记录介质可以对应于诸如电或光信号之类的可传输介质,其可以经由电缆或光缆、通过无线电、或通过其他方式来承载。根据本发明的程序尤其可以从因特网类型的网络下载。

替代地,记录介质可以对应于其中合并有程序的集成电路,该电路适合于执行所讨论的方法或在所讨论的方法的执行中。

本发明还涉及一种信号,该信号包括代表图像序列的编码数据,对于该图像序列中的图像的至少一个当前块,所述图像序列包括当块的编码数据,所述当前块从参考图像的预测器块通过预测来编码,所述预测器块由位置信息项在参考图像中标识。

根据本发明的一个特定实施例,这样的信号还包括与图像或图像序列的一组块相关联的激活信息项,所述当前块属于所述一组块,所述激活信息指示:

-当参考图像满足预定标准时,可以使用第一解码模式来解码预测器块的位置信息;以及

-当参考图像不满足预定标准时,使用第二解码模式来解码位置信息,由此第一和第二解码模式包括至少一个不同的解码参数。

根据本发明的另一特定实施例,这样的信号还包括使用信息项,该使用信息项指示当参考图像满足预定标准时,必须使用第一解码模式来解码预测器块的位置信息,或者当参考图像不满足预定标准时,必须使用第二解码模式来解码预测器块的位置信息,由此第一和第二解码模式包括至少一个不同的解码参数。

根据本发明的另一特定实施例,该信号包括上文描述的所述激活信息和上文描述的所述使用信息。

附图说明

通过阅读为了说明目的作为简单非限制性示例提供的多个特定实施例的以下描述,并参考附图,可以更好地理解本发明的其他特征和优点,其中:

-图1a和1b分别示出了根据现有技术的视频编码和解码方法的步骤,

-图2a示出了在图像序列的图像中排列多视图视频序列的同一时刻的视图的示例,

-图2b示出了立体视频的视图的交错以便形成图像序列的示例,

-图3a示出了根据本发明的一个特定实施例的用于编码图像序列的方法的步骤,

-图3b和3c示出了根据本发明的一个特定实施例的用于解码图像序列的方法的备选方案,

-图4示出了图像序列的图像中的多视图序列的两个视图的特定排列,

-图5示出了根据本发明另一实施例的用于编码图像序列的方法的步骤,

-图6a示出了根据现有技术的编码模式来编码运动向量的步骤,

-图6b和6c示出了通过使用图6a中所述的编码模式之一来编码运动向量所获得的数据流,

-图7a示出了根据本发明的一个特定实施例的用于编码运动向量的步骤,

-图7b-g示出了通过根据图7a中描述的备选方案之一来编码运动向量所获得的数据流,

-图8示出了根据本发明另一实施例的用于解码图像序列的方法的步骤,

-图9示出了根据本发明特定实施例的用于编码图像序列的装置,

-图10示出了根据本发明特定实施例的用于解码图像序列的装置。

具体实施方式

5.1一般原理

本发明的一般原理是取决于用于预测当前块的参考图像,来适配用于预测图像的当前块的运动向量的编码和解码。因此,本发明使得能够改进用于压缩常规视频编码器的性能水平。

5.2实现示例

5.2.1根据本发明特定实施例的用于编码图像序列的方法

参考图3a描述了根据本发明的一个特定实施例的用于编码代表图像序列的数据流的方法。针对图像序列中要编码的当前图像的像素的当前块在这里描述了该方法。

在步骤e30中,在数据流中编码信息项,该信息项使得在对当前块进行解码时能够获得一信息项,后一信息项使得能够从参考图像的集合中标识参考图像。使用这样的参考图像以使用位置信息项来预测当前块,该位置信息项使得能够在参考图像中标识当前块的预测器块。

根据备选方案,这样的编码信息项可以对应于参考图像的标识符,例如,在编码器的存储器中存储的参考图像列表之中的参考图像的索引。

根据该备选方案,在步骤e31中,检查该参考图像是否满足预定标准。

根据子备选方案,图像序列代表多视图视频,并且图像序列中的图像包括多视图视频的一时刻的视图的排列。根据该子备选方案,当参考图像对应于当前图像时,即当参考图像由相对于当前图像的时间偏移来标识时,如果参考图像索引例如等于0,则参考图像满足预定标准。

根据另一备选方案,图像序列代表立体视频。常规地,立体视频在每个时刻包括两个视图:左眼的一个视图(左侧视图)和右眼的一个视图(右侧视图)。图像序列中的图像交替地对应于立体视频的左侧视图或右侧视图,即,左侧视图和右侧视图在时间上是交错的,如图2b所示。根据该子备选方案,当参考图像对应于与当前图像相同的时刻的视图时,参考图像满足预定标准。

可替代地,当参考图像对应于与当前图像相同的视图时,参考图像满足预定标准。

根据另一子备选方案,图像序列代表常规2d视频。当参考图像的类型对应于预定类型时,例如当参考图像是符合hevc标准的长期参考画面类型的图像时,参考图像满足预定标准。

根据另一备选方案,这样的编码信息项可以对应于指示符,该指示符指示必须使用第一编码模式还是使用第二编码模式来编码预测器块的位置信息。根据该备选方案,当必须使用第一编码模式来编码位置信息时,通过推断(deducing)第一编码模式的使用来标识参考图像,即,当使用第一编码模式时,无须对参考图像的索引进行编码。当必须使用第二编码模式来编码位置信息时,必须在数据流中对标识参考图像的索引进行编码。

应当注意,根据该另一备选方案,不执行步骤e31。

更具体地,当图像序列代表多视图视频时,并且当图像序列中的图像包括多视图视频的一时刻的视图的排列时,根据该备选方案,当未编码参考图像的索引时,向该索引分配值0,并且因此参考图像对应于当前图像。

当图像序列代表在每个时刻包括左侧视图和右侧视图的立体视频时,以及当图像序列中的图像交替地对应于立体视频的左侧视图或右侧视图时,并且当未对参考图像的索引进行编码时,参考图像对应于与当前图像相同的时刻的视图。

当图像序列代表常规2d视频时,并且当未编码参考图像的索引时,参考图像对应于预定类型的参考图像的列表中的第一图像,例如符合hevc标准的长期参考画面类型的第一图像。

当参考图像满足预定标准时,在步骤e32中,使用第一编码模式对预测器块的位置信息进行编码。

当参考图像不满足预定标准时,在步骤e33中,使用第二编码模式对预测器块的位置信息进行编码。

第一和第二编码模式包括至少一个不同的编码参数。例如,编码模式的编码参数可以以非限制性方式对应于用于用信号通知编码模式的一个或多个语法元素、或者创建运动向量的预测器列表以便对预测器块的运动向量进行解码的方式、或用于编码解码模式的语法元素的熵编码上下文、或甚至熵编码上下文的初始化概率。

在步骤e34中,通过对预测残差的变换和量化、以及对变换和量化的系数进行熵编码,以常规方式从预测器块对当前块进行编码。常规地,当前块被重构以便存储在存储器中。

5.2.2根据本发明特定实施例的用于解码图像序列的方法

参考图3b描述了根据本发明特定实施例的备选方案的用于解码代表图像序列的数据流的方法。针对图像序列中要解码的当前图像的当前块在这里描述了该方法。使用参考图像的预测器块在数据流中编码该当前块。通过位置信息项在参考图像中标识该预测器块。

在步骤e350中,获得使得能够从参考图像的集合中标识参考图像的信息项。

根据该备选方案,步骤e350对应于参考图像的标识符iref的解码。

在步骤e360中,确定参考图像是否满足预定标准。

当图像序列代表具有图像中视图排列的多视图视频时,当参考图像的标识符等于0时(当参考图像由相对于当前图像的时间偏移来标识时),即当参考图像的标识符指示参考图像是当前图像时,参考图像满足预定标准。

当图像序列代表立体视频时,并且视图在图像序列中交错时,当参考图像的标识符指示参考图像对应于与当前图像相同时刻的视图时,参考图像满足预定标准。可以通过根据当前图像的相应索引poc1(在itu的视频压缩标准中已知,poc是“画面顺序计数”的缩写)、以及参考图像的相应索引poc2(从参考图像iref的标识符获得poc2)进行计算,来实现此验证。如图2b所示,例如假设(assumed)交错,并因此检查以下内容:

-如果poc1是偶数(在图2b的示例中,当前图像是右侧视图),并且如果poc2=poc1+1(在图2b的示例中,参考图像是对应的左侧视图),则参考图像满足预定标准,

-如果poc1是奇数(在图2b的示例中,当前图像是左侧视图),并且如果poc2=poc1-1(在图2b的示例中,参考图像是对应的右侧视图),则参考图像满足预定标准,

-否则,参考图像不满足预定标准。

当图像序列代表常规的2d视频时,当参考图像的类型对应于预定类型时,例如当参考图像是符合hevc标准的长期参考画面类型的图像时,参考图像满足预定标准。

当参考图像满足预定标准时,在步骤e370中使用第一解码模式对位置信息进行解码。

当参考图像不满足预定标准时,在步骤e380中使用第二解码模式对位置信息进行解码。

类似于上文描述的编码方法,第一和第二解码模式包括至少一个不同的解码参数。

在步骤e390中,以常规方式,从预测器块以及从解码的、反量化的和逆变换的系数重构当前块。

参考图3c描述了根据本发明特定实施例的另一备选方案的用于解码代表图像序列的数据流的方法。针对图像序列中要解码的当前图像的当前块在这里描述了该方法。使用参考图像的预测器块在数据流中编码当前块。通过位置信息项在参考图像中标识该预测器块。

在步骤e351中,获得使得能够从参考图像的集合中标识参考图像的信息项。

根据该备选方案,步骤e351包括在步骤e3510中对指示必须使用第一解码模式还是使用第二解码模式来解码位置信息的信息项进行解码。

当必须使用第一解码模式对位置信息进行解码时,在步骤e3511中,通过推断第一解码模式的使用来标识参考图像。

当图像序列代表具有图像中视图排列的多视图视频时,参考图像是当前图像。

当图像序列代表立体视频时,并且视图在图像序列中交错时,假定例如图2b所示的交错,因此,如果当前图像的索引为poc1,则参考图像的编号为poc2,poc2通过以下方式获得:

-如果poc1是偶数(在图2b的示例中,当前图像是右侧视图),则poc2=poc1+1(在图2b的示例中,参考图像是对应的左侧视图),

-如果poc1为奇数(在图2b的示例中,当前图像是左侧视图),则poc2=poc1-1(在图2b的示例中,参考图像是对应的右侧视图)。

从先前计算的poc2中获得先前重构并存储在存储器中的图像之中的参考图像的标识符iref。

当图像序列代表常规2d视频时,参考图像被标识为预定类型的参考图像,例如,符合hevc标准的长期类型的图像。

然后,在步骤e371中,使用第一解码模式来解码位置信息。

当必须使用第二解码模式来解码位置信息时,在步骤e3512中,通过从数据流中解码参考图像的标识符,来标识参考图像。

在步骤e381中,使用第二解码模式来解码位置信息。

类似于上文描述的编码方法,第一和第二解码模式包括至少一个不同的解码参数。

在步骤e390中,以常规方式从预测器块以及从解码的、反量化的和逆变换的系数重构当前块。

5.2.3根据本发明的另一特定实施例的编码图像序列的方法

参考图5描述根据本发明的一个特定实施例的用于对编码的数据流的图像序列进行编码的方法,其中,图像序列中的每个图像包括根据上文描述的帧封装技术排列的多视图视频序列的图像的视图。这里描述的示例考虑了“上下”排列和包括两个视图的多视图序列,这样的示例在图2a(a)和图4中使出。不言而喻,该编码方法适用于其他类型的排列,并适用于超过2个的视图数目。

在步骤e50中,选择要编码的视频的当前图像ic。视频的至少一个图像被认为已经以已知的方式(例如通过图像内空间编码)先前编码。该先前编码的图像已被重构并存储在存储器中。

以已知的方式,将要编码的图像ic划分为要编码的像素的块的集合。这些块可具有固定或可变的尺寸,可以是正方形或矩形,或者取决于所使用的编码器可以是随机形状。

根据本发明的一个特定实施例,在步骤e51中,在数据流中编码指示是否激活块内复制的指示符。这是二进制指示符。该指示符可以在视频的每个图像处进行编码,或者对于视频的一组图像仅进行一次编码,或者对于整个视频仅进行一次编码。这在此处称为activate_ibc。

根据本发明的一个特定实施例,指示符activate_ibc没有被编码,并且缺省地激活块内复制。

块内复制是这样的预测方法,其使得能够使用由指向当前图像的参考区域的运动向量标识的预测器块来对要编码的图像的当前块进行编码。因此,在这种情况下,用于预测当前块的参考图像是当前图像。应当注意,只能使用包括先前编码和重构的块的当前图像的区域。

根据本发明的一个特定实施例,在步骤e52中,也在数据流中编码指示帧封装类型的指示符fp_type。

根据本发明的一个特定实施例,如图4所示,当前图像ic被划分为两个区域a和b,每个区域对应于同一时刻的视图。区域a在这里被认为已例如通过常规的图像内或图像间编码被先前编码和重构。

在步骤e53中,在图像ic的部分b中选择要编码的当前块bc。

编码器将仿真块bc的编码,以便为此块选择最佳编码模式。

在步骤e54中,编码器使用常规预测技术,例如hevc标准中使用的那些预测技术(g.j.sullivan;j.-r.ohm;w.-j.han;t.wiegand(december2012)."overviewofthehighefficiencyvideocoding(hevc)standard"(pdf).ieeetransactionsoncircuitsandsystemsforvideotechnology.ieee.22(12))来仿真该块bc的编码。

因此,例如,编码器通过图像间预测来仿真当前块bc的编码。该方法是本领域技术人员已知的,并且参考图6a进行描述。该方案包括使用由从存储在存储器中的先前编码的图像(也称为参考图像)导出的像素构成的块来预测当前块bc。在这种情况下,以常规方式,在流中编码运动向量和指示用于预测该块的参考图像的索引。

然后,在预测器块和原始块之间形成残差,并且对该残差进行变换、量化和编码。

图6a更详细地示出了现有技术中运动向量的编码。在hevc的现有技术中,可以使用两种不同的模式来编码运动向量:merge(合并)模式和amvp模式(高级运动向量预测)。

图6b和图6c示出了编码通过如下所述的merge模式和amvp模式分别获得的运动向量的数据流的示例。

在步骤e60中,对二进制语法元素(例如,图6b或6c中所示的“inter_flag”指示符)进行编码,以便通知解码器使用了merge模式或amvp模式中的哪一个。

在merge模式中,在步骤e61中,创建运动向量的列表。列表中的运动向量是已经用于编码当前块的相邻块(位于左边的块、位于当前块上方的块、在先前图像中并置的块)的运动向量。对于hevc标准已知填充此列表的方式。

在步骤e62中,编码器将使用标准(例如,速率失真成本)从列表中选择将用于预测当前块的运动向量。在步骤e62中,对于列表中的每个运动向量,编码器通过执行利用该运动向量预测、编码和重构当前块bc的步骤,并通过编码指示列表中的运动向量的索引(图6b中的i_mvp)、以及指示所使用的参考图像的索引(图6b中的iref),来计算与该运动向量相关联的速率失真成本。

在步骤e63中,为merge编码模式选择在速率/失真方面提供最佳标准的列表中的运动向量。

在amvp模式中,在步骤e64中,创建新的预测器列表,包括以与merge模式相同的方式、已用于对与当前块bc相邻的块进行编码的运动向量的集合。但是,在amvp模式下,该列表与merge模式下的列表不同。hevc标准已知填充此列表的方式。

以与merge模式相同的方式,在步骤e65中,对于amvp列表中的每个运动向量,编码器计算与每个运动向量相关联的速率失真成本。在amvp模式中,对索引(图6c中的i_mvp)进行编码以便指示所选择的运动向量mva、以及指示所使用的参考图像的索引(图6c中的iref)。然后对运动向量残差mvr进行编码。残差mvr的水平分量mvrx和垂直分量mvry被独立地编码。针对这些分量中的每个分量编码以下信息:

-指示该分量是否等于零的语法元素(图6c中的mvrx0、mvry0),

-在适当情况下,指示该分量是否等于一的语法元素(图6c中的mvrx1、mvry1),

-在适当情况下,指示该分量的幅度减小2的语法元素(图6c中的mvrx2、mvry2),

-在适当情况下,指示分量符号的语法元素(图6c中的sgx、sgy)。

因此,通过mvp+mvr给出用于使用amvp模式对当前块进行编码的运动向量mva。

在步骤e66中,为amvp编码模式选择在速率/失真方面提供最佳标准的列表中的运动向量。

在步骤e67中,编码器选择提供最佳速率/失真标准的merge或amvp编码模式。

返回参考图5,在步骤e55中,编码器通过帧内预测(即通过空间预测)来仿真当前块bc的编码。该模式包括通过从位于当前块的紧靠左方或紧靠上方的解码像素的值进行插值,来预测当前块。以已知的方式,编码器为当前块bc选择最佳帧内预测模式。

在步骤e56中,如果指示符activate_ibc等于1,即,如果块内复制编码模式被激活,则编码器仿真该编码模式。

根据这里描述的特定实施例,该模式包括搜索存储在存储器中的当前图像的部分,在这种情况下为图4中的部分a,以寻找允许对当前块进行预测的预测器块。该预测器块的使用将由一个或多个语法元素编码,该语法元素指示预测器块在存储在存储器中的当前图像的部分中的位置。然后,以常规方式,以与图像间编码类似的方式,对当前块和预测器块之间的预测残差进行编码。

参考图7a更详细地描述预测器块在存储的当前图像的部分中的位置的编码。

根据本发明的一个特定实施例,预测器块的位置由运动向量定义。

根据本发明,用于当前块的该块内复制编码模式的预测器块的运动向量的编码模式不同于常规预测器块的运动向量的编码,即不同于从merge或amvp模式导出的运动向量的编码。若干替代实施例对于编码从块内复制编码模式导出的运动向量是可能的。在图7b-g中示出了对为此模式获得的运动向量进行编码的数据流的示例。

更具体地,取决于用于当前块的块内复制编码模式,用于预测当前块的参考图像是当前图像。因此,根据第一备选方案,当编码指示当前块的编码模式是块内复制模式的信息项时,当前块的该编码模式不需要对指示参考图像的索引的编码。ibc_flag在本文中是这样的指示符,其指示当前块的编码模式是块内复制模式。该备选方案在图7b-d中示出。

根据另一备选方案,没有编码信息以指示使用块内复制编码模式来预测当前块。根据替代实施例,例如从以merge或amvp编码模式之一编码的参考图像的索引值(图7e-g中的指示符iref)推断该信息。当参考图像的索引iref等于0时,该索引指示当前图像是参考图像。根据该备选方案,如参考图6b或6c所描述的,merge或amvp模式的运动向量的编码语法取决于参考图像是当前图像还是另一图像而不同。

参考图7a,根据本发明的一个特定实施例,在步骤e70中,创建运动向量的列表。这样的列表包括例如以下9个运动向量:-(0,-h/2)、(1,-h/2)、(-1,-h/2)、(0,-h/2-1)、(1,-h/2-1)、(-1,-h/2-1)、(0,-h/2+1)、(1,-h/2+1)、(-1,-h/2+1),其中h是当前图像的高度。

可以理解的是,选择这些运动向量是因为,如果区域a和b是立体视频的两个视图,则很可能好的预测器块位于靠近当前块的区域b中的坐标的、区域a的分区中,因此在此处示出的示例中为-h/2的偏移量。图4通过阴影线框示出了具有这些运动向量的可能的预测器块pred。

根据本发明的其他特定实施例,可以以不同的方式来填充列表,例如,用单个运动向量、或诸如在merge或amvp模式下的其他向量来填充。

在步骤e71中,编码器将使用标准(例如,速率失真成本)以从列表中选择运动向量,该列表将用于预测当前块bc。在步骤e71中,对于列表中的每个运动向量,编码器通过执行利用该运动向量预测、编码和重构当前块bc的步骤,并通过编码运动向量,来计算与该运动向量相关联的速率失真成本,例如根据图7b-g所示的特定实施例之一。

根据本发明的一个特定实施例,在流中没有编码运动向量残差mvr。

根据备选方案,仅一个运动向量是可能的,即,列表仅包括一个运动向量。根据该备选方案,这是向量(0,-h/2),并且当通过块内块复制编码模式对当前块进行编码时,始终使用该运动向量。根据该备选方案,不需要编码指示从列表中选择的运动向量的索引(i_mvp)。

根据另一备选方案,该列表包括多个运动向量。根据此备选方案(如图7c和7f所示),使用与amvp编码模式类似的编码语法,但是利用与amvp编码模式的不同的预测器来填充运动向量的列表,例如在步骤e70中创建的列表。

根据另一备选方案,该列表包括多个运动向量。根据该备选方案(如图7b或7g所示),使用amvp编码模式的语法元素的子集。例如,对运动向量的列表中的运动向量的索引(i_mvp)进行编码,然后对于要编码的运动向量的每个水平和垂直分量,编码指示该分量是否等于0的语法元素(mvrx0,mvry0)、以及适当时其符号(sgx,sgy)。如果该语法元素指示该分量不等于零,则向其自动分配值1。该备选方案的优点在于,重新使用传统amvp编码模式的语法元素的子部分,由此简化了实现。

根据另一备选方案,该列表包括多个运动向量。根据此备选方案(如图7c、7d、7e或7f所示),对于amvp编码模式(图7c或7f)或merge编码模式(图7d或7e)编码相同的语法元素,但是块内复制编码模式编码这些语法元素所使用的熵编码类型是不同的。例如,霍夫曼类型编码用于块内复制编码模式。

根据又一备选方案,该列表包括多个运动向量。根据此备选方案(如图7c、7d、7e或7f所示),对于amvp或merge编码模式编码相同的语法元素,并且所用的熵编码类型也相同,在这种情况下,基于上下文的熵编码,例如detlevmarpe,heikoschwarz,andthomaswiegand"context-basedadaptivebinaryarithmeticcodingintheh.264/avcvideocompressionstandard",ieeetransactionsoncircuitsandsystemsforvideotechnology,vol.13,no.7,july2003中描述的cabac类型的编码(基于上下文的自适应二进制算术编码)。根据此备选方案,用于对块内复制编码模式的运动向量进行编码的算术编码器的上下文不同于用于对merge或amvp编码模式的运动向量进行编码的算术编码器的上下文。

在步骤e72中,对于块内复制编码模式,选择在速率/失真方面提供最佳标准的在步骤e70中创建的列表中的运动向量。

可以理解的是,当在数据流中编码这样的指示符时,部分a和b的待编码图像ic中的位置取决于图像中视图的排列,因此潜在地取决于指示符“fp-type”。

返回参考图5,在步骤e57中,编码器从在先前步骤中仿真的不同编码模式中为当前块bc选择用于实际编码当前块的编码模式。通过比较每个编码模式获得的速率失真成本,来执行此操作。

在步骤e58中,在数据流中编码一个或多个语法元素,以便标识在步骤e57中选择的编码模式以对当前块bc进行编码。

根据本发明的替代实施例,在块内复制编码模式被激活的情况下,为当前块bc编码语法元素ibc_flag。如果在步骤e57中选择了块内复制编码模式,则其值为1;否则该值为0。根据本发明的一个特定实施例,仅针对图像的部分b的块,对该语法元素进行编码。

如果指示符ibc_flag等于0,则以常规方式对merge或amvp编码模式的语法元素进行编码,如图6b或6c所示。如果指示符ibc_flag等于1,则根据参考图7b-d描述的替代实施例之一,对用于编码当前块bc的运动向量的语法元素进行编码。

根据另一备选方案,不编码语法元素ibc_flag。如果在步骤e57中选择的运动向量的编码模式是merge或amvp编码模式,则例如根据图6b或6c所示的语法对merge或amvp编码模式的语法元素进行编码。应当注意,根据该备选方案,相对于常规编码来修改参考图像的索引iref的编码,使得该索引iref的值0被保留用于块内复制编码模式,并且不能用于merge或amvp编码模式。

如果在步骤e57中选择了块内复制编码模式,则根据参考图7e-g描述的替代实施例之一对用于编码当前块bc的运动向量的语法元素进行编码,由此向参考图像的索引iref分配值0。

在步骤e59中,如果指示符activate_ibc等于1,并且如果当前块bc属于图像的部分a,则将当前块bc的重构版本存储在存储器中,该存储器包括先前编码解码和重构的图像。例如,图1a中的存储器mem包括用于帧间预测的图像。因此,当前块的重构版本使得能够预测用于编码的当前图像和/或后续图像的后续块。对于要编码的当前图像的后续块,迭代该编码方法。

5.2.4根据本发明另一特定实施例的用于解码图像序列的方法

这里参考图8描述根据本发明一个特定实施例的用于解码代表图像序列的编码数据流的方法。认为已经根据参考图5和7a描述的任一特定实施例对数据流进行了编码。

在步骤e80中,根据本发明的一个特定实施例,从数据流中解码指示块内复制是否被激活的指示符activate_ibc。这样的指示符activate_ibc可以在视频的每个图像处解码,或者对于视频的图像组仅解码一次,或者对于整个视频仅解码一次。

对于图像ic的要解码的当前块,从数据流中解码与该当前块对应的语法元素。这些元素特别包括指示符,该指示符指示用于当前块的编码模式,并且使解码器能够应用适当的解码。

根据这里描述的特定实施例,如果指示符activate_ibc等于1,并且如果当前块属于图像的部分b,则在步骤e80中,对语法元素ibc_flag进行解码以便确定是否对于当前块使用块内复制编码模式。

在使用块内复制模式对当前块进行编码的情况下,在步骤e81中,根据用于对该信息进行编码的编码备选方案,并且如参考图7a-g描述的那样,对当前块的运动向量进行解码。因此,这种解码不同于从常规参考图像导出预测器块的情况下所使用的解码。

在使用常规帧间编码模式来编码当前块的情况下,在步骤e82中,根据用于对该信息进行编码的编码,并且如参考图6a-c描述的那样,对当前块的运动向量进行解码。。

在步骤e83中,使用由在步骤e81或e82中解码的运动向量所标识的预测器块、以及从数据流解码的系数,来重构当前块。

在步骤e84中,如果activate_ibc等于1,并且如果当前块属于图像的部分a,则将当前块的重构版本存储在存储器中,该存储器包括先前编码解码和重构的图像,例如,图1b中的存储器mem包括用于帧间预测的图像。因此,当前块的重构版本使得能够重构用于解码的当前图像和/或后续图像的后续块。对于要解码的当前图像的后续块,迭代该解码方法。

5.2.5本发明的其他特定实施例

上文描述的编码和解码方法还根据其备选方案中的任一个在代表立体视频的图像序列的情况下应用,在该图像序列中左侧视图和右侧视图交错。

指示符activate_ibc因此代表是否使用参考图7a-g描述的编码或解码模式来激活当前块的运动向量的编码或解码模式。在本发明的该特定实施例中,参考图5至8描述的步骤是类似的,唯一的区别在于用于图7a-g所示的编码或解码模式的参考图像,该参考图像因此是当前图像的补充视图的图像。上文已经描述了用于标识这种参考图像的方法。

上文描述的编码和解码方法还根据其备选方案中的任一个应用于常规2d图像序列的情况。指示符activate_ibc由此代表是否使用参考图7a-g描述的编码或解码模式来激活当前块的运动向量的编码或解码模式。在本发明的该特定实施例中,参考图5至8描述的步骤是类似的,唯一的区别在于用于图7a-g所示的编码或解码模式的参考图像,该参考图像由此是预定类型的图像,例如所谓的长期图像(也已知为hevc标准的长期参考画面),其由视频序列中其编号标识,而不是针对常规参考图像、由与当前图像的时间偏移标识。

根据本发明的该特定实施例,使用长期类型参考图像的当前图像的块仅使用amvp模式。因此,根据某些替代实施例,指示使用merge还是amvp模式的二进制语法元素不需要被编码/解码。

5.2.6根据本发明的特定实施例的用于编码图像序列的装置

图9示出了适于实现根据本发明的任一特定实施例的编码方法的编码装置cod的简化结构。

根据本发明的一个特定实施例,通过计算机程序指令来实现编码方法的步骤。为此,编码装置cod具有计算机的常规结构,并且特别地包括存储器mem1、处理单元ut,该处理单元ut例如配备有处理器proc、并且由存储在存储器mem1中的计算机程序pg控制。计算机程序pg包括指令,当处理器proc执行该程序时,该指令用于实现如上所述的编码方法的步骤。

在启动时,计算机程序pg的代码指令例如在由处理器proc执行之前被加载到存储器中。处理单元ut的处理器proc特别地根据计算机程序pg的指令,来实现上述编码方法的步骤。

根据本发明的另一特定实施例,该编码方法由功能模块实现。为此目的,编码装置cod还包括:

-第一编码模块cd1,被配置为对信息项进行编码,使得在对当前块进行解码时能够获得信息项,该后一信息项使得能够从参考图像的集合中标识参考图像,

-第二编码模块cd2,被配置为当参考图像满足预定标准时,使用第一编码模式对用于预测当前块的参考图像的预测器块的位置信息进行编码,

-第三编码模块cd3,被配置为当参考图像不满足预定标准时,使用第二编码模式,对该位置信息进行编码,由此所述第一和第二编码模式包括至少一个不同的编码参数,

-第四编码模块cd4,被配置为至少从预测器块对当前块进行编码。

处理单元ut与上文描述的不同功能模块和存储器mem1协作,以实现该编码方法的步骤。

上文描述的不同功能模块可以是硬件和/或软件形式。按照软件形式,这样的功能模块可以包括处理器、存储器和程序代码指令,用于当由处理器执行代码指令时、实现与模块对应的功能。按照硬件形式,这样的功能模块可以通过任何类型的合适的编码电路来实现,例如但不限于微处理器、数字信号处理器(dsp)、特定用途集成电路(asic)、fpga电路(现场可编程门阵列)、逻辑单元的布线等。

5.2.7根据本发明的特定实施例的用于解码图像序列的装置

图10示出了适于实现根据本发明的任一特定实施例的解码方法的解码装置dec的简化结构。

根据本发明的一个特定实施例,解码装置dec具有计算机的常规架构,并且特别地包括存储器mem0、处理单元ut0,该处理单元ut0例如配备有处理器proc0、并且由存储在存储器mem0中计算机程序pg0控制。该计算机程序pg0包括指令,当处理器proc0执行该程序时,该指令用于实现如上所述的解码方法的步骤。

在启动时,例如,在由处理器proc0执行之前,将计算机程序pg0的代码指令加载到存储器中。处理单元ut0的处理器proc0特别地根据计算机程序pg0的指令来实现上述解码方法的步骤。

根据本发明的另一特定实施例,该解码方法通过功能模块来实现。为此,解码装置dec还包括:

-获得模块obt,被配置为获得使得能够从参考图像的集合标识该参考图像的信息项,

-第一解码模块dc1,被配置为当参考图像满足预定标准时,使用第一解码模式解码位置信息,

-第二解码模块dc2,被配置为当参考图像不满足预定标准时,根据第二解码模式对位置信息进行解码,由此所述第一和第二解码模式包括至少一个不同的解码参数,

-重构模块rec,被配置为至少从预测器块重构当前块。

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

上文描述的不同功能模块可以是硬件和/或软件形式。按照软件形式,这样的功能模块可以包括处理器、存储器和程序代码指令,用于当由处理器执行代码指令时、实现与模块对应的功能。按照硬件形式,这样的功能模块可以通过任何类型的合适的解码电路来实现,例如但不限于微处理器、数字信号处理器(dsp)、特定用途集成电路(asic)、fpga电路、逻辑单元的布线等。

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