图像编解码方法及装置与流程

文档序号:14864428发布日期:2018-07-04 10:12阅读:140来源:国知局
图像编解码方法及装置与流程

本申请涉及编解码技术领域,更具体的说,尤其涉及图像编解码方法及装置。



背景技术:

在现有视频序列处理中,为了使编码后的视频序列支持随机访问功能,视频序列被分割成多个具有随机访问功能的片段(简称为随机访问片段),如图1所示,一个视频序列包括至少一个随机访问片段,每个随机访问片段包括一幅随机访问图像以及多幅非随机访问图像。其中,一个随机访问片段中的图像可以进行帧内编码,或者,参考该随机访问片段中的其他图像利用帧间预测进行编码,这种帧间预测进行编码简称为帧间编码。

然而在现有技术中,一个随机访问片段中的图像只能作为该随机访问片段中的其他图像的参考图像,即不允许跨随机访问点的帧间预测(interprediction),这种现有技术的机制会的限制图像编码和图像解码的效率。



技术实现要素:

本申请提供一种图像编解码方法及装置,以提高图像编码和图像解码的效率,并根据码流数据中待解码图像的参考图像的标识信息,查找到唯一对应的图像,提高图像解码的正确率。技术方案如下:

本申请的第一方面提供一种图像编码方法,所述方法包括:

获取待编码视频序列的待编码图像以及知识库图像集中的至少一幅知识库图像;从所述至少一幅知识库图像中选取所述待编码图像的参考图像,其中,所述知识库图像集中的图像用于作为所述待编码视频序列中的图像的备选参考图像;根据所述参考图像对所述待编码图像进行帧间编码,从而获得所述待编码图像的码流数据,所述待编码图像的码流数据包括所述待编码图像的编码数据和用于标识所述参考图像的标识信息。由此可知,对于待编码视频序列中的待编码图像,可以从知识库图像集中的至少一幅知识库图像中选取参考图像,相对于待编码图像仅能从其所在的随机访问片段中选取参考图像来说,增加待编码图像可参考的参考图像的数量,即在一定程度上扩展待编码图像的参考图像的候选范围,进而有利于在一定程度上提高图像编码的效率,并且待编码图像的码流数据中包括用于标识待编码图像的参考图像的标识信息,这样即使参考图像被编码为基于全帧内模式编码或者帧间编码的随机访问图像,解码端在接收到码流数据后,解码端根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

其中,在获取待编码视频序列的待编码图像以及知识库图像集中的至少一幅知识库图像之前,该方法还可以包括:从所述待编码视频序列中选取知识库图像作为知识库图像集中的部分或者全部的图像。

其中,知识库图像集可以是待编码视频序列的子集,也可以与所述待编码视频序列有交集(知识库图像集中有不属于待编码视频序列的图像),也可以与待编码视频序列无交集(比如基于待编码视频序列中的图像建模得到)。

其中,用于标识所述参考图像的标识信息包括参考图像在知识库图像集中的编号。

在一个实现方式中,所述待编码图像为所述待编码图像所在的随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像。

在一个实现方式中,所述至少一幅知识库图像中至少一幅图像不属于所述待编码图像所在的随机访问片段,使得不属于待编码图像所在的随机访问片段的图像也可能被选为参考图像,扩展了待编码图像的参考图像的候选范围。

在一个实现方式中,所述知识库图像集中的图像可以是所述待编码视频序列中的背景图像、所述待编码视频序列中的场景切换图像、所述待编码视频序列中的图像建模得到的图像和所述待编码视频序列中的图像合成的图像中的至少一种图像。

在一个实现方式中,所述知识库图像可以是待编码视频序列中的背景图像、待编码视频序列中的场景切换图像、待编码视频序列中的图像建模得到的图像和待编码视频序列中的图像合成的图像中的至少一种图像。

在一个实现方式中,知识库图像构成的图像集与待编码视频序列构成的图像集是两个互相独立的图像集合,但知识库图像集中包括从待编码视频序列中选取出的图像。

在一个实现方式中,所述知识库图像集中的图像仅用于作为待编码视频序列中的图像的备选参考图像,以将知识库图像集中的图像和待编码视频序列中的图像进行区分。

在一个实现方式中,从所述至少一幅知识库图像中选取所述待编码图像的参考图像包括:从所述至少两幅知识库图像中选取所述待编码图像的参考图像,以为待编码图像选取多幅参考图像。

在一个实现方式中,所述知识库图像集中不同的图像具有不同的标识信息,以通过标识信息查找到唯一对应的图像。

在一个实现方式中,所述参考图像的标识信息包括:所述参考图像在所述知识库图像集中的编号信息。

在一个实现方式中,所述待编码视频序列包括至少两个序列分段,所述参考图像的标识信息包括所述待编码图像所在的参考序列分段的标识信息,一个参考序列分段可以对应一个所述知识库图像集,且知识库图像集中不同的参考图像在知识库图像集中具有相同的编号信息时,通过待编码图像所在的参考序列分段的标识信息仍可以对参考图像进行区分,所述参考序列分段的标识信息用于指示所述参考图像用于作为所述参考序列分段中的图像的备选参考图像,所述参考序列分段包括所述待编码图像所在的随机访问片段,所述参考序列分段为所述至少两个序列分段中的任意一个序列分段。

在一个实现方式中,所述根据所述参考图像对所述待编码图像进行帧间编码包括:根据所述参考图像,获取所述参考图像的重建图像;根据所述参考图像的重建图像对所述待编码图像进行帧间编码;相应的,所述参考图像的标识信息包括所述参考图像的质量层信息,所述参考图像的质量层信息用于指示所述参考图像的重建图像的分辨率和所述参考图像的重建图像的码流码率中的至少一种,这样当同一个知识库图像具有多个质量层的重建图像时,可以明确参考哪个重建图像。多个质量层的待编码视频序列的码流数据可以共用一个质量层的知识库码流数据,这样当解码端因为网络带宽波动而切换不同质量层的码流数据时,如果这些质量层对应于同一个质量层的知识库码流数据,则解码端可以减少知识库码流数据的下载量,提高传输效率,知识库码流数据由知识库图像集中图像的码流数据组成。

其中,在一个实现方式中,所述根据所述参考图像对所述待编码图像进行帧间编码也可以包括:在已存在所述参考图像的重建图像时,获取所述参考图像的重建图像。已存在的原因在于,参考图像之前已被用于待编码视频序列中其它图像的参考图像。

根据第一方面,在一个实现方式中,所述方法还包括:向解码端发送所述参考图像的码流数据,所述参考图像的码流数据不属于所述待编码视频序列的码流数据,所述参考图像的码流数据包括所述参考图像的编码数据和所述参考图像的图像类型,所述参考图像的图像类型用于指示所述参考图像为所述知识库图像集中的图像,所述解码端为执行图像解码方法的解码器、终端或计算机设备。

其中,待编码视频序列的码流数据与知识库图像集(或者参考图像)的码流数据可以是两个独立的码流,也就是说,即便参考图像是待编码视频序列中的图像,在生成码流数据时,参考图像会作为待编码视频序列中的图像生成码流数据,同时也会作为知识库图像生成码流数据,两个码流数据的编码方式可以不同,在参考图像会作为待编码视频序列中的图像时,按照现有的方式对参考图像进行编码,在参考图像作为知识库图像时,进行全帧内模式编码或者以其他知识库作为参考图像进行编码。

在一个实现方式中,所述参考图像的码流数据还包括所述参考图像的标识信息。

在一个实现方式中,所述参考图像的码流数据携带在所述参考图像对应的网络提取层单元中。

在一个实现方式中,所述参考图像的图像类型以及所述参考图像的标识信息携带在所述参考图像对应的网络提取层单元的网络提取层单元头中;或者,

所述参考图像的图像类型携带在所述参考图像对应的网络提取层单元的网络提取层单元头中,所述参考图像的标识信息携带在所述参考图像对应的网络提取层单元的网络提取层条带头中。

在一个实现方式中,所述待编码图像的码流数据还包括所述待编码图像的图像类型,所述待编码图像的图像类型用于指示所述待编码图像的编码数据根据所述知识库图像集中的图像进行帧间编码得到。

在一个实现方式中,向解码端发送所述待编码图像的码流数据,所述待编码图像的码流数据于所述待编码视频序列的码流数据。

在一个实现方式中,所述待编码图像的码流数据携带在所述待编码图像对应的网络提取层单元中。

在一个实现方式中,所述待编码图像的图像类型还用于指示所述参考图像的数量。

在一个实现方式中,所述待编码图像的图像类型以及所述参考图像的标识信息携带在所述待编码图像对应的网络提取层单元的网络提取层单元头中;或者,

所述待编码图像的图像类型携带在所述待编码图像对应的网络提取层单元的网络提取层单元头中,所述参考图像的标识信息携带在所述待编码图像对应的网络提取层单元的网络提取层条带头中。

本申请的第二方面提供一种图像编码装置,所述装置包括:获取单元,用于获取待编码视频序列的待编码图像以及知识库图像集中的至少一幅知识库图像;选取单元,用于从所述至少一幅知识库图像中选取所述待编码图像的参考图像,其中,所述知识库图像集中的图像用于作为所述待编码视频序列中的图像的备选参考图像;编码单元,用于根据所述参考图像对所述待编码图像进行帧间编码,从而获得所述待编码图像的码流数据,所述待编码图像的码流数据包括所述待编码图像的编码数据和用于标识所述参考图像的标识信息。由此可知,对于待编码视频序列中的待编码图像,可以从知识库图像集中的至少一幅知识库图像中选取参考图像,相对于待编码图像仅能从其所在的随机访问片段中选取参考图像来说,增加待编码图像可参考的参考图像的数量,即在一定程度上扩展待编码图像的参考图像的候选范围,进而有利于在一定程度上提高图像编码的效率,并且待编码图像的码流数据中包括用于标识待编码图像的参考图像的标识信息,这样即使参考图像被编码为基于全帧内模式编码的随机访问图像,解码端在接收到码流数据后,解码端根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

本申请的第三方面提供一种图像解码方法,所述方法包括:获取待解码图像的码流数据,所述待解码图像的码流数据包括所述待解码图像的编码数据和用于标识所述待解码图像的参考图像的标识信息;根据所述参考图像的标识信息,在已重建图像集中查找具有所述参考图像的标识信息的已重建图像,所述已重建图像为已重建得到的知识库重建图像,所述知识库重建图像为知识库图像集中的图像的重建图像,所述知识库图像集中的图像用于作为所述待解码图像所在的待解码视频序列中的图像的备选参考图像;在查找到具有所述参考图像的标识信息的已重建图像的情况下,根据具有所述参考图像的标识信息的已重建图像,对所述待解码图像的编码数据进行帧间解码,从而获得所述待解码图像的重建图像,由此可知待解码图像可以从随机访问片段之外的已重建图像集中获取解码所需的参考图像,增加待解码图像可参考的参考图像的数量,即在一定程度上扩展待解码图像的参考图像的候选范围,进而有利于在一定程度上提高图像解码的效率,并且解码端根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

其中,存在知识库重建图像的原因在于,知识库重建图像之前已被用于待解码视频序列中其它图像的帧间解码,因此已被重建。

在一个实现方式中,所述方法还包括:在未查找到具有所述参考图像的标识信息的已重建图像的情况下,根据所述参考图像的标识信息,获取具有所述参考图像的标识信息的码流数据作为所述参考图像的码流数据,所述参考图像的码流数据不属于所述待解码视频序列的码流数据,从而将待解码视频序列的码流数据中具有参考图像的标识信息的码流数据排除,所述参考图像的码流数据包括所述参考图像的编码数据和所述参考图像的标识信息;根据所述参考图像的编码数据,解码得到所述参考图像的重建图像,所述参考图像的重建图像具有所述参考图像的标识信息;根据所述参考图像的重建图像,对所述待解码图像的编码数据进行帧间解码,从而获得所述待解码图像的重建图像,使得解码端在未查找到具有参考图像的标识信息的已重建图像的情况下,通过解码参考图像的码流数据中的编码数据,仍可以得到参考图像的重建图像,进而实现对待解码图像的解码。

在一个实现方式中,所述待解码图像为所述待解码图像所在的随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像。

在一个实现方式中,知识库图像集中的图像仅用于作为待解码图像所在的待解码视频序列中的图像的备选参考图像,以将知识库图像集中的图像和待编码视频序列中的图像进行区分。

在一个实现方式中,所述方法还包括:将所述参考图像的重建图像作为所述已重建图像集中的新的已重建图像,从而更新所述已重建图像集,以增加已重建图像集中已重建图像的数量,这样在对待解码视频序列中的其他待解码图像进行解码时,可提高匹配的已重建图像的几率,提高图像解码的效率。

在一个实现方式中,所述参考图像的码流数据包括所述参考图像的图像类型,所述参考图像的图像类型用于指示所述参考图像为所述知识库图像集中的图像。

在一个实现方式中,所述参考图像的图像类型以及所述参考图像的标识信息携带在所述参考图像对应的网络提取层单元的网络提取层单元头中;或者,

所述参考图像的图像类型携带在所述参考图像对应的网络提取层单元的网络提取层单元头中,所述参考图像的标识信息携带在所述参考图像对应的网络提取层单元的网络提取层条带头中。

在一个实现方式中,所述参考图像的码流数据携带在所述参考图像对应的网络提取层单元中。

在一个实现方式中,所述已重建图像集中不同的已重建图像具有不同的标识信息,以对已重建图像进行区分。

在一个实现方式中,所述待解码视频序列包括至少两个序列分段,所述参考图像的标识信息包括所述待解码图像所在的参考序列分段的标识信息,所述参考序列分段的标识信息用于指示所述参考图像用于作为所述参考序列分段中的图像的备选参考图像,所述参考序列分段包括所述待解码图像所在的随机访问片段,所述参考序列分段为所述至少两个序列分段中的任意一个序列分段,以在序列分段各自对应的知识库图像集中参考图像的编号信息相同的情况下,通过待解码图像所在的参考序列分段的标识信息可以区分参考图像。

在一个实现方式中,所述方法还包括:在所述待解码视频序列的播放顺序为顺序播放时,删除所述已重建图像集中具有先前序列分段的标识信息的已重建图像,从而更新所述已重建图像集,节省存储空间,所述先前序列分段为在播放顺序上在所述参考序列分段之前的序列分段。

在一个实现方式中,所述参考图像的标识信息包括所述参考图像的质量层信息,所述参考图像的质量层信息用于指示所述参考图像的重建图像的分辨率和所述参考图像的重建图像的码流码率中的至少一种,以根据参考图像的质量层信息,从已重建图像集中获取与待解码图像的质量层信息匹配的已重建图像,实现对待解码图像的正确解码。

在一个实现方式中,所述待解码图像的码流数据还包括所述待解码图像的图像类型,所述待解码图像的图像类型用于指示所述待解码图像的编码数据根据所述知识库图像集中的图像进行帧间编码得到。

在一个实现方式中,所述待解码图像的图像类型还用于指示所述参考图像的数量,在所述待解码图像的图像类型指示所述参考图像的数量为至少两个时,所述参考图像的标识信息为至少两个,所述参考图像与所述参考图像的标识信息一一对应,以在参考至少两幅参考图像的重建图像进行解码时仍能查找到具有参考图像的标识信息的已重建图像。

在一个实现方式中,所述待解码图像的图像类型以及所述待解码图像的标识信息携带在所述待解码图像对应的网络提取层单元的网络提取层单元头中;或者,

所述待解码图像的图像类型携带在所述待解码图像对应的网络提取层单元的网络提取层单元头中,所述待解码图像的标识信息携带在所述待解码图像对应的网络提取层单元的网络提取层条带头中。

本申请的第四方面提供一种图像解码装置,所述装置包括:获取单元,用于获取待解码图像的码流数据,所述待解码图像的码流数据包括所述待解码图像的编码数据和用于标识所述待解码图像的参考图像的标识信息;查找单元,用于根据所述参考图像的标识信息,在已重建图像集中查找具有所述参考图像的标识信息的已重建图像,所述已重建图像为已重建得到的知识库重建图像,所述知识库重建图像为知识库图像集中的图像的重建图像,所述知识库图像集中的图像用于作为所述待解码图像所在的待解码视频序列中的图像的备选参考图像;解码单元,用于在查找到具有所述参考图像的标识信息的已重建图像的情况下,根据具有所述参考图像的标识信息的已重建图像,对所述待解码图像的编码数据进行帧间解码,从而获得所述待解码图像的重建图像,由此可知待解码图像可以从随机访问片段之外的已重建图像集中获取解码所需的参考图像,增加待解码图像可参考的参考图像的数量,即在一定程度上扩展待解码图像的参考图像的候选范围,进而有利于在一定程度上提高图像解码的效率,并且图像解码装置根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

本申请的第五方面提供一种图像编码装置,所述图像编码装置包括:存储器、处理器和发送器,所述处理器用于执行第一方面以及上述所有实现方式所提供的图像编码方法。

本申请的第六方面提供一种存储介质,所述存储介质上记录有用于执行第一方面以及上述所有实现方式所提供的图像编码方法的程序代码。

本申请的第七方面提供一种图像解码装置,所述图像解码装置包括:存储器、处理器和接收器,所述处理器用于执行第三方面以及上述所有实现方式所提供的图像解码方法。

本申请的第八方面提供一种存储介质,所述存储介质上记录有用于执行第三方面以及上述所有实现方式所提供的图像解码方法的程序代码。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为随机访问片段的示意图;

图2为本申请实施例提供的图像编码方法的一种流程图;

图3为本申请实施例提供的图像编码方法的另一种流程图;

图4为本申请实施例提供的图像编码方法的再一种流程图;

图5为本申请实施例提供的图像解码方法的一种流程图;

图6为本申请实施例提供的图像解码方法的另一种流程图;

图7为本申请实施例提供的图像编码装置的一种结构示意图;

图8为本申请实施例提供的图像编码装置的另一种结构示意图;

图9为本申请实施例提供的图像解码装置的结构示意图;

图10为本申请实施例提供的图像解码装置的结构示意图。

具体实施方式

在对图1所示随机访问片段中的任意一幅图像进行编码时,均仅能从随机访问片段中选取图像作为参考图像,使得可作为随机访问片段中图像的参考图像受限,这样在一定程度上降低图像编码的效率。为此本发明实施例对可作为随机访问片段中图像的参考图像进行改动,例如使图1所示随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像可参考不位于随机访问片段中的图像,下面则结合图2对这三幅图像如何参考不位于随机访问片段中的图像为参考图像,并说明根据参考图像进行编码和解码的过程。

请参阅图2,其示出了本申请实施例提供的图像编码方法的一种流程图,该方法可以由编码器、服务器或者计算机设备执行,在图2中以编码器执行所述图像编码方法为例进行说明,可以包括以下步骤:

201:获取待编码视频序列和知识库图像集,其中待编码视频序列是接收到的将要进行编码的视频序列,所述视频序列是一套完整视频的图像序列或多套完整视频的图像序列。

知识库图像集是一个由至少一幅图像构成的图像集合,且知识库图像集中的图像可以用于作为待编码视频序列中的图像的备选参考图像,这样对于随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像可以从知识库图像集中的图像来选取参考图像。在本发明实施例中,知识库图像集中的图像的形式包括但不限于下述方式:知识库图像集中的图像从其他视频序列中选取。

知识库图像集中的图像可以是待编码视频序列中的背景图像、待编码视频序列中的场景切换图像、待编码视频序列中的图像建模得到的图像和待编码视频序列中的图像合成的图像中的至少一种图像,背景图像可以通过对待编码视频序列进行背景建模而得到,场景切换图像通过对待编码视频序列进行场景切换检测而得到。

其中,对待编码视频序列进行场景切换检测的方法有多种,例如计算待编码视频序列中相邻两幅图像中多组像素之间的像素值差异均值,当像素值差异均值大于某一阈值时,认为这两幅图像之间发生了场景切换;又例如对待编码视频序列中的两幅图像分别提取图像特征(例如sift),当图像特征的匹配度小于某一阈值时,认为这两幅图像之间发生了场景切换。

知识库图像集中的图像是从待编码视频序列中提取出的一幅图像,其提取方式是:获取待编码视频序列中的多组相似图像组,从各组相似图像组中分别提取至少一幅图像,所提取的各幅图像存储在知识库图像集中,以作为待编码视频序列中的图像的备选参考图像,其中各组相似图像组分别由在待编码视频序列中多次出现且图像相似度在预设相似度范围内的至少两幅图像组成。

在这里需要说明的一点是:知识库图像集中的图像可以仅用于作为待编码视频序列中的图像的备选参考图像,以将知识库图像集中的图像和待编码视频序列中的图像进行区分,对于知识库图像来说,其构成的图像集与待编码视频序列构成的图像集是两个互相独立的图像集合,但知识库图像集中的图像可以从待编码视频序列中提取或由待编码视频序列中的图像建模或合成得到。

202:将知识库图像集中图像的图像类型指定为预设第一类型,以通过预设第一类型指示图像为知识库图像集中的图像,并且还可以为知识库图像集中不同的图像设置不同的标识信息,这样对于知识库图像集中的图像来说,通过标识信息可以查找到知识库图像集中唯一对应的图像。

在本发明实施例中,知识库图像集中图像的标识信息包括:图像在知识库图像集中的编号信息,对于不同的图像来说,其在知识库图像集中的编号信息不同,例如知识库图像集根据图像获取顺序,对图像从0开始编号,以使知识库图像集中的图像具有不同的编号。

203:获取待编码视频序列中的待编码图像,并将待编码图像的图像类型指定为预设第二类型,其中待编码图像是待编码图像所在的随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像。

在h.265标准中可以通过nal_unit_type指示各幅图像的图像类型,在本申请实施例中,使用预设第一类型和预设第二类型来作为知识库图像集中的图像的nal_unit_type和待编码图像的nal_unit_type,如预设第一类型命名为idr_lb,预设第二类型命名为idr_l。

并且在h.265标准中nal_unit_type在22号到31号的rsv_irap_vcl22、rsv_irap_vcl23、rsv_vcl24、…、rsv_vcl31被保留供扩展使用,因此在本申请实施例中可以使用保留的nal_unit_type来作为预设第一类型的取值和预设第二类型的取值,例如可以采用但不限于如下两种方式:

方式一:使用rsv_irap_vcl22来指示图像为知识库图像集中的图像,即预设第一类型idr_lb的取值为rsv_irap_vcl22,使用rsv_irap_vcl23来指示待编码图像的编码数据根据知识库图像集中的图像进行帧间编码得到,即预设第二类型idr_l的取值为rsv_irap_vcl23。

方式二:使用rsv_irap_vcl22来指示图像为知识库图像集中的图像,即预设第一类型idr_lb的取值为rsv_irap_vcl22,使用rsv_vcl24来指示待编码图像的编码数据根据知识库图像集中的图像进行帧间编码得到,即预设第二类型idr_l的取值为rsv_vcl24。

204:获取知识库图像集中的至少一幅知识库图像,并从至少一幅知识库图像中选取待编码图像的参考图像。

其中至少一幅知识库图像可以是待编码视频序列中的背景图像和待编码视频序列中的场景切换图像,当然获取的知识库图像也可以是待编码视频序列中的图像建模得到的图像和待编码视频序列中的图像合成的图像。

对于至少一幅知识库图像中的图像来说,至少一幅图像不属于待编码图像所在的随机访问片段,也就是说,至少一幅不属于待编码图像所在的随机访问片段的图像可作为待编码图像的备选参考图像,这使得不属于待编码图像所在的随机访问片段的图像也可能被选为待编码图像的参考图像。而从至少一幅知识库图像中选取参考图像的方式可以是:选取与待编码图像的图像相似度最高的图像为待编码图像的参考图像。

205:对参考图像进行帧内编码,从而获得参考图像的编码数据。

206:根据参考图像的编码数据,重建得到参考图像的重建图像,其中参考图像的标识信息作为参考图像的重建图像的标识信息,以使得不同的参考图像的重建图像,具有不同的标识信息。

207:根据参考图像的重建图像对待编码图像进行帧间编码,从而获得待编码图像的编码数据。

208:将参考图像的码流数据携带在参考图像对应的nalu(networkabstractionlayerunit,网络提取层单元)中发送至解码端,解码端可以是执行图像解码方法的解码器、终端或计算机设备,图2以解码器为例进行说明。

其中参考图像的码流数据不属于待编码视频序列的码流数据,即参考图像的码流数据与待编码视频序列的码流数据相互独立,参考图像的码流数据包括参考图像的编码数据、参考图像的图像类型和参考图像的标识信息。参考图像的图像类型和参考图像的标识信息携带在参考图像对应的nalu的nalunitheader(网络提取层单元头)中。

在至少一幅知识库图像是从待编码视频序列中选取的情况下,从至少一幅知识库图像中选取的待编码图像的参考图像属于待编码视频序列中的图像,也就是说待编码视频序列中的一幅图像是待编码图像的参考图像,对于待编码视频序列中这种类型的图像来说,这种类型的图像具有两个码流数据,一个是作为待编码视频序列中的图像的码流数据,一个是作为参考图像的码流数据。在至少一幅知识库图像不是从待编码视频序列中选取的情况下,从至少一幅知识库图像中选取的待编码图像的参考图像不属于待编码视频序列中的图像,因此参考图像的码流数据不属于待编码视频序列的码流数据,且对于待编码视频序列中每幅图像来说,其仅具有一个码流数据,这个码流数据属于待编码视频序列的码流数据。

209:将待编码图像的码流数据携带在待编码图像对应的nalu中发送至解码端。待编码图像的码流数据包括待编码图像的编码数据、用于标识参考图像的标识信息和待编码图像的图像类型,待编码图像的图像类型和参考图像的标识信息携带在待编码图像对应的nalu的nalunitheader中。

在本申请实施例中,参考图像的标识信息为参考图像在知识库图像集中的编号信息,则携带有上述图像对应的图像类型和参考图像在知识库图像集中的编号信息的nalunitheader的语法示例如表1所示:

表1携带有图像类型和编号信息的nalunitheader的语法示例

从上述表1可知,当nal_unit_type为idr_lb时,表明nalunitheader与知识库图像集中的图像对应,说明nalu中携带的是知识库图像集中的图像,如参考图像的码流数据;当nal_unit_type为idr_l时,表明nalunitheader与待编码视频序列中的待编码图像对应,说明nalu中携带的是待编码图像的码流数据。

并且从nalunitheader中位于nal_unit_type之后的语法元素中解析得到一个编号lb_idx,这个编号则是参考图像的标识信息。其中lb_idx可以为一个整数比特定长码,如16位定长码或8位定长码,如表1斜体部分所示。

之所以选用16位定长码或8位定长码是因为原始nalunitheader的比特数为16(原有四个语法元素占用的比特数:1+6+6+3=16),即总比特数为8的整数倍,为了保证改变后的nalunitheader的比特数仍在8的整数倍,所以lb_idx选用16位定长码或8位定长码。并且从表1所示可知,表1中封装一幅参考图像的编号,表明为待编码图像选取了一幅参考图像,因此在本申请实施例中,待编码图像可根据选取的一幅参考图像的重建图像编码或解码。

当然还可以为待编码图像选取不同数目的参考图像,如为所有待编码图像中的至少一幅待编码图像选取一幅参考图像,为所有待编码图像中的其他待编码图像选取多幅参考图像,在本申请实施例中,以为其他待编码图像选取两幅参考图像为了进行说明。将参考一幅参考图像的待编码图像的图像类型指定为预设第三类型,将参考两幅参考图像的图像类型指定为预设第四类型,以通过图像类型指示参考图像的数量。

比如预设第三类型命名为idr_l_uni,预设第四类型命名为idr_l_bi。相应的,携带有这两种图像类型的nalunitheader的语法示例均如表2所示:

表2携带有图像类型和编号信息的nalunitheader的语法示例

当nal_unit_type为idr_l_uni时,表明nalunitheader与待编码视频序列中的待编码图像对应,且为待编码图像选取一幅参考图像,在nalunitheader中位于nal_unit_type之后的语法元素中解析得到一个编号lb_idx,这个编号是为选取的参考图像的标识信息。当nal_unit_type为idr_l_bi时,表明nalunitheader与待编码视频序列中的待编码图像对应,且为待编码图像选取两幅参考图像,在nalunitheader中位于nal_unit_type之后的语法元素中解析得到两个编号lb_idx和lb_idx2,这两个编号分别是选取的两幅参考图像各自对应的标识信息。当nal_unit_type为idr_lb时,表明nalunitheader与参考图像对应,在nalunitheader中位于nal_unit_type之后的语法元素中解析得到一个编号lb_idx,这个编号是参考图像的标识信息。

在本申请实施例中,还可以采用其他方式来携带图像类型和参考图像的标识信息,如参考图像的图像类型携带在参考图像对应的nalu的nalunitheader中,参考图像的标识信息携带在参考图像对应的nalu的网络提取层条带头(sliceheader或称slicesegmentheader)中。待编码图像的图像类型携带在待编码图像对应的nalu的nalunitheader中,为待编码图像选取的参考图像的标识信息携带在待编码图像对应的nalu的sliceheader中。

在本申请实施例中,采用h.265标准中现有nalunitheader语法示例中的nal_unit_type来表示图像的图像类型,如表3所示。

表3h.265标准中nalunitheader语法示例

而在nalu的条带头中携带参考图像在知识库图像集中的编号信息的语法示例如表4所示:

表4携带有编号信息的条带头语法示例

当nalunitheader中nal_unit_type为idr_lb时,表明nalu与参考图像对应,在sliceheader中语法元素中解析得到的编号lb_idx就是参考图像的标识信息;当nalunitheader中nal_unit_type为idr_l,表明nalu与待编码图像对应,在sliceheader中语法元素中解析得到的编号lb_idx是为待编码图像选取的参考图像的标识信息。并且参考图像的标识信息lb_idx为一个整数比特定长码,如16位定长码或8位定长码,如表3斜体部分所示;也可以使用exp-golombcode(unsignedexponential-golombcode,无符号指数哥伦布码)。

若为待编码图像选取的参考图像的数量不同,如前所述为所有待编码图像中的至少一幅待编码图像选取一幅参考图像,为所有待编码图像中的其他待编码图像选取两幅参考图像,则携带有参考图像在知识库图像集中的编号信息的条带头的语法示例如表5所示:

表5携带有编号信息的条带头语法示例

从上述技术方案可知,对于待编码视频序列中的待编码图像,可以从知识库图像集中的至少一幅知识库图像中选取参考图像,相对于待编码图像仅能从其所在的随机访问片段中选取参考图像来说,增加待编码图像可参考的参考图像的数量,即在一定程度上扩展待编码图像的参考图像的候选范围,进而有利于在一定程度上提高图像编码的效率。且待编码图像的码流数据中包括用于标识待编码图像的参考图像的标识信息,这样即使参考图像被编码为基于全帧内(allintra)模式编码或者帧间编码的随机访问图像,解码端在接收到码流数据后,解码端根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

请参阅图3,其示出了本申请实施例提供的图像编码方法的另一种流程图,图3所示的图像编码方法为在图2基础上进行变化得到,与图2所示图像编码方法的不同之处在于:

步骤301:将待编码视频序列划分成至少两个序列分段,并为每个序列分段分配各自对应的标识信息,如序列分段编号。例如将一部120分钟时长的电影切分成60段长度为2分钟左右的序列分段,每个在2分钟左右的序列分段均对应一个唯一的序列分段编号,这个序列分段编号则可以作为序列分段的标识信息。

步骤302:对每个序列分段分别构建一个知识库图像集,进而在对序列分段中的待编码图形进行编码时需要从待编码图像所在的序列分段对应的知识库图像集中获取至少一幅知识库图像,并从获取的至少一幅知识库图像中选取待编码图像的参考图像条件,这种方式允许待编码视频序列的各个序列分段同时并行地执行知识库图像集构建和待编码图像的编码,可加快图像编码速度。

并且任意一个知识库图像集中不同的图像具有不同的标识信息,但是不同的知识库图像集中不同的图像可以具有相同的标识信息,例如图像的标识信息是图像在知识库图像集中的编号信息,不同的知识库图像集中图像的编号信息从0开始,当把这些图像的码流数据汇总之后,多个图像对应相同的编号信息会使得解码产生混乱。因此,为了克服这一问题,正确区分各个知识库图像集中的各幅图像,在本申请实施例中,将至少两个序列分段中的任意一个序列分段视为参考序列分段,参考图像的标识信息包括:待编码图像所在的参考序列分段的标识信息,如步骤305,以指示参考图像可以用于作为参考序列分段中的图像的备选参考图像,待编码图像所在的参考序列分段包括待编码图像所在的随机访问片段。

也就是说在本申请实施例中,参考图像的标识信息包括:参考图像在知识库图像集中的编号信息和待编码图像所在的参考序列分段的标识信息,则携带有这种类型的标识信息的nalunitheader的语法示例如表6所示。

表6携带有编号信息和参考序列分段的标识信息的nalunitheader的语法示例

其中vid_idx是待编码图像所在的参考序列分段的标识信息,frame_idx是编号信息,vid_idx和frame_idx的总长度为x比特,vid_idx的长度为x1比特,占用x比特中的高x1位,frame_idx占用x比特中的低(x-x1)位,x1可以为x/2、6、7或者10。

并且应用在顺序播放的应用场景中,已完成编码的序列分段对应的知识库图像集中的各幅图像不再被使用,因此可以删除部分作为备选参考图像的图像,从而节省存储空间,其中删除的作为备选参考图像的图像是具有先前序列分段的标识信息的图像,先前序列分段为在播放顺序上在当前待编码图像所在的参考序列分段之前的序列分段。

请参阅图4,其示出了本申请实施例提供的图像编码方法的再一种流程图,图4所示的图像编码方法为在图2基础上进行变化得到,与图2所示图像编码方法的不同之处在于:

对一个待编码视频序列进行多次编码,得到待编码视频序列在不同质量层的码流数据,每个待编码视频序列的码流数据(简称视频码流数据)分别对应一个质量层。例如将原始分辨率为1920x1080的待编码视频序列进行多次编码,得到1920x1080@4mbps(即图像分辨率为1920x1080,码流码率为4mbps(millionbitspersecond,兆比特每秒))、1920x1080@2.5mbps、1280x720@1mbps三个质量层的视频码流数据。相对应的,根据预设质量层关系,即预先分配的视频码流数据和知识库图像集的知识库码流码流的对应关系,获得知识库图像集在不同质量层的知识库码流数据,如步骤406和步骤407。

例如预设质量层关系为:1920x1080@4mbps质量层的视频码流数据和1920x1080@2.5mbps质量层的视频码流数据共同使用质量层是分辨率为1920x1080的知识库码流数据,1280x720@1mbps质量层的视频码流数据单独使用质量层是分辨率为1280x720的知识库码流数据,即3个质量层的视频码流数据对应2个质量层的知识库码流数据。根据这个对应关系,对知识库图像集中的各幅图像进行2次编码,得到知识库图像集中各幅图像各自对应质量层分别是分辨率为1920x1080和分辨率为1280x720的重建图像,以得到对应质量层的知识库码流数据。

又例如预设质量层关系为:1920x1080@4mbps质量层的视频码流数据和1920x1080@2.5mbps质量层的视频码流数据共同使用质量层是码流速率为1920x1080@2.5mbps的知识库码流数据,1280x720@1mbps质量层的视频码流数据单独使用质量层是码流速率为1280x720@1mbps的知识库码流数据。根据这个对应关系,对知识库图像集组成的图像序列进行2次编码,得到1920x1080@2.5mbps和1280x720@1mbps这两个质量层的知识库码流数据,对于知识库库图像集中图像的重建图像来说,其对应的质量层是其所在知识库码流数据的码流速率。

上述这种多个质量层的视频码流数据共用一个质量层的知识库码流数据的好处在于:当解码端因为网络带宽波动而切换不同质量层的视频码流数据时,如果这些质量层对应于同一个质量层的知识库码流数据,则解码端可以减少知识库码流数据的下载量,提高传输效率。

在编码3个质量层的待编码视频序列时,需要选用预设的对应质量层的图像为待编码图像的参考图像,因此参考图像的标识信息包括参考图像的质量层信息,参考图像的质量层信息用于指示参考图像的重建图像的分辨率和参考图像的重建图像的码流码率中的至少一种。在nalunitheader中携带有编号信息和参考图像的质量层信息的方式如表7所示。

表7携带有编号信息和质量层信息的nalunitheader的语法示例

其中quality_idx是质量层信息,在本申请实施例中为不同质量层设置不同的质量层信息,如可以用质量层编号来表示不同的质量层,frame_idx是参考图像的编号信息,quality_idx和frame_idx的总长度为y比特,quality_idx的长度为y1比特,占用y比特中的高y1位,frame_idx占用y比特中的低(y-y1)位,y1可以为4、5、6、7或者8。

当然,在本申请实施例中,可以将上述图3和图4结合以使知识库图像集中的图像可以支持多序列分段和多质量层码流的方式,即参考图像的标识信息包括:待编码图像所在的参考序列分段的标识信息、参考图像在知识库图像集中的编号信息和参考图像的质量层信息三部分:

1)待编码图像所在的参考序列分段的标识信息vid_idx,长度为z1比特,占用高z1位

2)参考图像的质量层信息quality_idx,长度为z2比特,占用中间z2位。

3)参考图像在知识库图像集中的编号信息frame_idx,长度为(x-z1-z2)比特,占用低(x-z1-z2)位。

x、z1、z2为正整数,例如x=24,z1=8,z2=8;或者x=16,z1=8,z2=4;或者x=24,z1=10,z2=6,如表8给出的语法元素组织所示,其中由vid_idx、quality_idx、frame_idx组成的24比特的标识信息对应唯一一个参考图像。

表8携带有参考序列分段的标识信息、质量层信息和编号信息的nalunitheader的语法示例

需要说明的是,知识库图像集中图像的标识信息的组成部分可以按照任意顺序排列,上述表8只是给出了一种优选的排列顺序,例如还可以按照quality_idx、vid_idx、frame_idx的顺序排列。

请参阅图5,其示出了本申请实施例提供的图像解码方法,该方法可以由解码器、终端或者计算机设备执行,可以包括以下步骤:

501:接收携带有码流数据的nalu,并从nalu的nalunitheader中获取nal_unit_type。其中nal_unit_type指示图像的图像类型,以根据nal_unit_type确定码流数据所属图像,以对码流数据进行不同方式的处理。

具体的,当nal_unit_type指示图像是待解码视频序列中的待解码图像,且待解码图像是待解码图像所在的随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像,并使用知识库图像集中的图像作为参考图像时,确定码流数据是待解码视频序列中待解码图像的码流数据,执行步骤502至步骤507,待解码视频序列是接收到的将要进行解码的视频序列,所述视频序列是一套完整视频的图像序列或多套完整视频的图像序列;当nal_unit_type指示图像是参考图像时,确定码流数据是参考图像的码流数据,执行步骤508至步骤510;当nal_unit_type指示图像是图1所示随机访问片段中的随机访问图像,且随机访问图像使用其所在的随机访问片段中的其他图像作为参考图像时,确定码流数据是随机访问片段中参考随机访问片段中图像为参考图像的图像的码流数据,执行步骤511;当nal_unit_type指示图像是图1所示随机访问片段中的非随机访问图像,且非随机访问图像使用其所在的随机访问片段中的其他图像作为参考图像时,确定码流数据是随机访问片段中参考随机访问片段中图像为参考图像的图像的码流数据,执行步骤512。

502:当nal_unit_type指示图像是待解码视频序列中的待解码图像,且待解码图像是待解码图像所在的随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像,并使用知识库图像集中的图像作为参考图像时,从携带在nalu的待解码图像的码流数据中获取用于标识待解码图像的参考图像的标识信息。

当参考图像的标识信息携带在待解码图像对应的nalu的nalunitheader中时,则会从nalunitheader中获取参考图像的标识信息;当参考图像的标识信息携带在待解码图像对应的nalu的sliceheader中时,则会从sliceheader中获取参考图像的标识信息。

在这里需要说明的一点是:对于待解码图像来说,待解码图像的图像类型除指示其使用知识库图像集中的图像作为参考图像,待解码图像的图像类型还用于指示待解码图像所参考的参考图像的数量,在待解码图像的图像类型指示参考图像的数量为至少两个时,参考图像的标识信息为至少两个,参考图像与参考图像的标识信息一一对应,以在参考至少两幅参考图像的重建图像进行解码时仍能查找到具有参考图像的标识信息的已重建图像。

503:根据参考图像的标识信息,在已重建图像集中查找具有参考图像的标识信息的已重建图像,其中已重建图像为已重建得到的知识库重建图像,也就是说已重建图像集由已重建得到的知识库重建图像组成,知识库重建图像为知识库图像集中的图像的重建图像,知识库图像集中的图像用于作为待解码图像所在的待解码视频序列中的图像的备选参考图像,这样对于待解码视频序列中的随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像可以从知识库图像集中的图像来选取参考图像。

在本申请实施例中,知识库图像集中不同的图像具有不同的标识信息,将知识库图像集中图像的标识信息分配给图像的重建图像,即已重建得到的知识库重建图像的标识信息是知识库图像集中对应图像的标识信息,使得已重建图像集中不同的已重建图像具有不同的标识信息,实现对已重建图像的区分,这样通过参考图像的标识信息,可以查找到与其唯一对应的已重建图像。

例如参考图像的标识信息可以包括:参考图像在知识库图像集中的编号信息,因此在查找已重建图像时,是根据参考图像在知识库图像集中的编号信息来查找。此外,可以获取到多个待解码图像的码流数据,而这多个待解码图像的码流数据具有的质量层信息不同,这就意味着在对具有质量层信息的待解码图像的码流数据进行解码时,需要查找到质量层信息匹配的已重建图像,为此参考图像的标识信息包括参考图像的质量层信息,参考图像的质量层信息用于指示参考图像的重建图像的分辨率和参考图像的重建图像的码流码率中的至少一种,以根据参考图像的质量层信息,从已重建图像集中获取与待解码图像的质量层信息匹配的已重建图像,实现对待解码图像的正确解码。

在这里需要说明的一点是:知识库图像集中的图像可以仅用于作为待编码视频序列中的图像的备选参考图像,以将知识库图像集中的图像和待编码视频序列中的图像进行区分。

504:在查找到具有参考图像的标识信息的已重建图像的情况下,根据具有参考图像的标识信息的已重建图像,从待解码图像的码流数据中获取待解码图像的编码数据,并对待解码图像的编码数据进行帧间解码,从而获得待解码图像的重建图像。

505:在未查找到具有参考图像的标识信息的已重建图像的情况下,根据参考图像的标识信息,获取具有参考图像的标识信息的码流数据作为参考图像的码流数据,其中参考图像的码流数据不属于待解码视频序列的码流数据,从而将待解码视频序列的码流数据中具有参考图像的标识信息的码流数据排除,参考图像的码流数据包括参考图像的编码数据和参考图像的标识信息,而参考图像的标识信息携带在参考图像对应的nalu的nalunitheader中,或者携带在参考图像对应的nalu的sliceheader中。

506:根据参考图像的编码数据,解码得到参考图像的重建图像,参考图像的重建图像具有参考图像的标识信息,而不同的参考图像的标识信息不同,因此通过参考图像的标识信息可以对参考图像的重建图像进行区分。

在解码得到参考图像的重建图像后,还可以将参考图像的重建图像作为已重建图像集中的新的已重建图像,从而更新已重建图像集,在本申请实施例中,更新已重建图像集是指将新的已重建图像添加到已重建图像集中,增加已重建图像集中已重建图像的数量,这样在对待解码视频序列中的其他待解码图像进行解码时,可提高匹配的已重建图像的几率,提高图像解码的效率。

507:根据参考图像的重建图像,对待解码图像的编码数据进行帧间解码,从而获得待解码图像的重建图像,使得在未查找到具有参考图像的标识信息的已重建图像的情况下,通过解码参考图像的码流数据中的编码数据,仍可以得到参考图像的重建图像,以实现对待解码图像的解码。

508:当nal_unit_type指示图像是参考图像时,从参考图像的码流数据中获取参考图像的编码数据。

509:根据参考图像的编码数据,解码得到参考图像的重建图像,参考图像的重建图像具有参考图像的标识信息,而不同的参考图像的标识信息不同,因此通过参考图像的标识信息可以对参考图像的重建图像进行区分。

510:将参考图像的重建图像作为已重建图像集中的新的已重建图像,从而更新已重建图像集,在本申请实施例中,更新已重建图像集是指将新的已重建图像添加到已重建图像集中,增加已重建图像集中已重建图像的数量,这样在对待解码视频序列中的其他待解码图像进行解码时,可提高匹配的已重建图像的几率,提高图像解码的效率。

511:当nal_unit_type指示图像是图1所示随机访问片段中的随机访问图像,且随机访问图像使用其所在的随机访问片段中的其他图像作为参考图像时,使用传统的基于帧内预测解码方式对图像进行解码。

512:当nal_unit_type指示图像是图1所示随机访问片段中的非随机访问图像,且非随机访问图像使用其所在的随机访问片段中的其他图像作为参考图像时,使用传统的基于帧间预测的解码方式对图像进行解码。

藉由上述技术方案可知,在接收到的码流数据属于待解码视频序列中的待解码图像,且待解码图像是待解码图像所在的随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像时,可以根据码流数据中参考图像的标识信息,在已重建图像集中查找到具有参考图像的标识信息已重建图像,并根据具有参考图像的标识信息的已重建图像,对码流数据中待解码图像的编码数据进行帧间解码,也就是说对于随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像来说,其可以从随机访问片段之外的已重建图像集中获取解码所需的参考图像,增加待解码图像可参考的参考图像的数量,即在一定程度上扩展待解码图像的参考图像的候选范围,进而有利于在一定程度上提高图像解码的效率,并且根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

请参阅图6,其示出了本申请实施例提供的图像解码方法的另一种流程图,图6所示的解码方法为在图5所示的解码方法的基础上进行变化得到,与图5不同之处在于:

在本申请实施例中,待解码视频序列可以包括至少两个序列分段,将至少两个序列分段中的任意一个序列分段作为参考序列分段,步骤603中指出参考图像的标识信息包括待解码图像所在的参考序列分段的标识信息,参考序列分段的标识信息用于指示参考图像用于作为参考序列分段中的图像的备选参考图像,参考序列分段包括所述待解码图像所在的随机访问片段,这样在查找已重建图像时,则是根据具有参考图像在知识库图像集中的编号信息和待解码图像所在的参考序列分段的标识信息进行查找。

之所以参考图像的标识信息包括待解码图像所在的参考序列分段的标识信息,是因为待解码视频序列的每个序列分段均对应一个知识库图像集,而不同的知识库图像集中不同的图像可以具有相同的标识信息,例如不同的知识库图像集中图像的编号信息从0开始,当把这些图像的码流数据汇总之后,多个图像对应相同的编号信息会使得解码产生混乱。因此,为了克服这一问题,正确区分各个参考图像,需要使参考图像的标识信息包括待解码图像所在的参考序列分段的标识信息。

在待解码视频序列包括至少两个序列分段的情况下,待解码视频序列的播放顺序可以为顺序播放,相应的本申请实施例提供的图像解码方法还包括步骤611:删除已重建图像集中具有先前序列分段的标识信息的已重建图像,从而更新已重建图像集,节省存储空间,先前序列分段为在播放顺序上在参考序列分段之前的序列分段。

以待解码图像所在的参考序列分段的标识信息为参考序列分段的分段编号,且分段编号按播放顺序从小到大设置为例,每接收到参考图像的码流数据,均会对参考图像的码流数据中的编码数据进行解码,得到参考图像的重建图像,并将参考图像的重建图像作为已重建图像集中的新的已重建图像,因此在顺序播放的应用场景中,已重建图像集中的新的已重建图像具有的参考序列分段的分段编号大于已重建图像集中部分已有的已重建图像具有的参考序列分段的分段编号,对于这部分已有的已重建图像来说,再次接收到的待解码图像不再参考其进行解码,因此可以将这部分已有的已重建图像删除,以节省存储空间。

本申请实施例提供如图7所示图像编码装置,可以包括:获取单元11、选取单元12、编码单元13和发送单元14。上述单元可通过软件编程实现,可通过硬件编程实现,或者通过电路实现。

获取单元11,用于获取待编码视频序列的待编码图像以及知识库图像集中的至少一幅知识库图像。其中,待编码图像可以为图1所示随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像。

选取单元12,用于从至少一幅知识库图像中选取待编码图像的参考图像,其中,知识库图像集中的图像用于作为待编码视频序列中的图像的备选参考图像。

编码单元13,用于根据参考图像对待编码图像进行帧间编码,从而获得待编码图像的码流数据,待编码图像的码流数据包括待编码图像的编码数据、用于标识参考图像的标识信息和待编码图像的图像类型,待编码图像的图像类型用于指示待编码图像的编码数据根据知识库图像集中的图像进行帧间编码得到以及指示参考图像的数量。

发送单元14,用于向解码端发送参考图像的码流数据以及用于向解码端发送待编码图像的码流数据,参考图像的码流数据由编码单元13对参考图像进行编码得到,参考图像的码流数据不属于待编码视频序列的码流数据,参考图像的码流数据包括参考图像的编码数据、参考图像的图像类型和参考图像的标识信息,参考图像的图像类型用于指示参考图像为知识库图像集中的图像。

其中参考图像的码流数据携带在参考图像对应的nalu中。对于参考图像的码流数据中的参考图像的图像类型和参考图像的标识信息来说,参考图像对应的nalu通过以下两种方式携带,一种实现方式是:参考图像的图像类型以及参考图像的标识信息携带在参考图像对应的nalu的nalunitheader中;另一种实现方式是:参考图像的图像类型携带在参考图像对应的nalu的nalunitheader中,参考图像的标识信息携带在参考图像对应的nalu的sliceheader或称slicesegmentheader中。

待编码图像的码流数据携带在待编码图像对应的nalu中。对于待编码图像的码流数据中的待编码图像的图像类型和参考图像的标识信息来说,待编码图像对应的nalu通过以下两种方式携带,一种实现方式是:待编码图像的图像类型以及参考图像的标识信息携带在待编码图像对应的nalu的nalunitheader中;另一种实现方式是:待编码图像的图像类型携带在待编码图像对应的nalu的nalunitheader中,参考图像的标识信息携带在待编码图像对应的nalu的sliceheader或称slicesegmentheader中。

在本申请实施例中,知识库图像集中不同的图像具有不同的标识信息。如一种实现方式中:参考图像的标识信息包括参考图像在知识库图像集中的编号信息。

另一种实现方式中,待编码视频序列包括至少两个序列分段,参考图像的标识信息还包括待编码图像所在的参考序列分段的标识信息,参考序列分段的标识信息用于指示参考图像用于作为参考序列分段中的图像的备选参考图像,参考序列分段包括待编码图像所在的随机访问片段,参考序列分段为至少两个序列分段中的任意一个序列分段。

再一种实现方式中,编码单元14根据参考图像对待编码图像进行帧间编码包括:编码单元根据参考图像,获取参考图像的重建图像,并根据参考图像的重建图像对待编码图像进行帧间编码。相应的,

参考图像的标识信息还包括参考图像的质量层信息,参考图像的质量层信息用于指示参考图像的重建图像的分辨率和参考图像的重建图像的码流码率中的至少一种。

从上述技术方案可知,对于待编码视频序列中的待编码图像,可以从知识库图像集中的至少一幅知识库图像中选取参考图像,相对于待编码图像仅能从其所在的随机访问片段中选取参考图像来说,增加待编码图像可参考的参考图像的数量,即在一定程度上扩展待编码图像的参考图像的候选范围,进而有利于在一定程度上提高图像编码的效率。且待编码图像的码流数据中包括用于标识待编码图像的参考图像的标识信息,这样即使参考图像被编码为基于全帧内(allintra)模式编码或者帧间编码的随机访问图像,解码端在接收到码流数据后,解码端根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

本申请实施例提供如图8所示图像编码装置,可以包括:存储器21、处理器22和发送器23。

处理器22,用于获取待编码视频序列的待编码图像以及知识库图像集中的至少一幅知识库图像,从至少一幅知识库图像中选取待编码图像的参考图像,根据参考图像对待编码图像进行帧间编码,从而获得待编码图像的码流数据,其中,待编码视频序列的待编码图像以及知识库图像集中的至少一幅知识库图像可以存储在存储器21中,知识库图像集中的图像用于作为待编码视频序列中的图像的备选参考图像,待编码图像的码流数据包括待编码图像的编码数据、用于标识参考图像的标识信息和待编码图像的图像类型,待编码图像的图像类型用于指示待编码图像的编码数据根据知识库图像集中的图像进行帧间编码得到以及指示参考图像的数量。

其中待编码图像可以图1所示是随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像。

存储器21还可以用于存储代码,以用于处理器22读取以执行本申请实施例提供的图像编码方法。

发送器23,用于向解码端发送参考图像的码流数据以及用于向解码端发送待编码图像的码流数据,参考图像的码流数据由处理器22对参考图像进行编码得到,参考图像的码流数据不属于待编码视频序列的码流数据,参考图像的码流数据包括参考图像的编码数据、参考图像的图像类型和参考图像的标识信息,参考图像的图像类型用于指示参考图像为知识库图像集中的图像。

其中参考图像的码流数据携带在参考图像对应的nalu中。对于参考图像的码流数据中的参考图像的图像类型和参考图像的标识信息来说,参考图像对应的nalu通过以下两种方式携带,一种实现方式是:参考图像的图像类型以及参考图像的标识信息携带在参考图像对应的nalu的nalunitheader中;另一种实现方式是:参考图像的图像类型携带在参考图像对应的nalu的nalunitheader中,参考图像的标识信息携带在参考图像对应的nalu的sliceheader或slicesegmentheader中。

待编码图像的码流数据携带在待编码图像对应的nalu中。对于待编码图像的码流数据中的待编码图像的图像类型和参考图像的标识信息来说,待编码图像对应的nalu通过以下两种方式携带,一种实现方式是:待编码图像的图像类型以及参考图像的标识信息携带在待编码图像对应的nalu的nalunitheader中;另一种实现方式是:待编码图像的图像类型携带在待编码图像对应的nalu的nalunitheader中,参考图像的标识信息携带在待编码图像对应的nalu的sliceheader或slicesegmentheader中。

在本申请实施例中,知识库图像集中不同的图像具有不同的标识信息。如一种实现方式中:参考图像的标识信息包括参考图像在知识库图像集中的编号信息。

另一种实现方式中,待编码视频序列包括至少两个序列分段,参考图像的标识信息还包括待编码图像所在的参考序列分段的标识信息,参考序列分段的标识信息用于指示参考图像用于作为参考序列分段中的图像的备选参考图像,参考序列分段包括待编码图像所在的随机访问片段,参考序列分段为至少两个序列分段中的任意一个序列分段。

再一种实现方式中,处理器22根据参考图像对待编码图像进行帧间编码包括:编码单元根据参考图像,获取参考图像的重建图像,并根据参考图像的重建图像对待编码图像进行帧间编码。相应的,

参考图像的标识信息还包括参考图像的质量层信息,参考图像的质量层信息用于指示参考图像的重建图像的分辨率和参考图像的重建图像的码流码率中的至少一种。

从上述技术方案可知,对于待编码视频序列中的待编码图像,可以从知识库图像集中的至少一幅知识库图像中选取参考图像,相对于待编码图像仅能从其所在的随机访问片段中选取参考图像来说,增加待编码图像可参考的参考图像的数量,即在一定程度上扩展待编码图像的参考图像的候选范围,进而有利于在一定程度上提高图像编码的效率。且待编码图像的码流数据中包括用于标识待编码图像的参考图像的标识信息,这样即使参考图像被编码为基于全帧内(allintra)模式编码或者帧间编码的随机访问图像,解码端在接收到码流数据后,解码端根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

此外,本申请实施例还提供一种存储介质,所述存储介质上记录有执行本申请实施例提供的图像编码方法的程序代码。

本申请实施例提供如图9所示图像解码装置,可以包括:获取单元31、查找单元32和解码单元33。上述单元可通过软件编程实现,可通过硬件编程实现,或者通过电路实现。

获取单元31,用于获取待解码图像的码流数据,待解码图像的码流数据包括待解码图像的编码数据、用于标识待解码图像的参考图像的标识信息和待解码图像的图像类型,待解码图像的图像类型用于指示待解码图像的编码数据根据知识库图像集中的图像进行帧间编码得到。

其中,待解码图像可以是图1所示随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像。

在一种实现方式中,待解码图像的图像类型还用于指示参考图像的数量,在待解码图像的图像类型指示参考图像的数量为至少两个时,参考图像的标识信息为至少两个,参考图像与参考图像的标识信息一一对应。

其中待解码图像的图像类型以及待解码图像的标识信息携带在待解码图像对应的nalu的nalunitheader中。或者,待解码图像的图像类型携带在待解码图像对应的nalu的nalunitheader中,待解码图像的标识信息携带在待解码图像对应的nalu的sliceheader或slicesegmentheader中。

查找单元32,用于根据参考图像的标识信息,在已重建图像集中查找具有参考图像的标识信息的已重建图像,已重建图像为已重建得到的知识库重建图像,也就是说已重建图像集由已重建得到的知识库重建图像组成,知识库重建图像为知识库图像集中的图像的重建图像,知识库图像集中的图像用于作为待解码图像所在的待解码视频序列中的图像的备选参考图像。

其中已重建图像集中不同的已重建图像具有不同的标识信息,实现对已重建图像的区分,这样通过参考图像的标识信息,可以查找到与其唯一对应的已重建图像。

解码单元33,用于在查找到具有参考图像的标识信息的已重建图像的情况下,根据具有参考图像的标识信息的已重建图像,对待解码图像的编码数据进行帧间解码,从而获得待解码图像的重建图像。

从上述技术方案可知,在获取待解码图像的码流数据后,根据码流数据中参考图像的标识信息,在已重建图像集中查找到具有参考图像的标识信息已重建图像,并根据具有参考图像的标识信息的已重建图像,对码流数据中待解码图像的编码数据进行帧间解码,也就是说对于待解码图像来说,其可以从随机访问片段之外的已重建图像集中获取解码所需的参考图像,增加待解码图像可参考的参考图像的数量,即在一定程度上扩展待解码图像的参考图像的候选范围,进而有利于在一定程度上提高图像解码的效率,并且根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

在一种实现方式中,获取单元31,还用于在查找单元未查找到具有参考图像的标识信息的已重建图像的情况下,根据参考图像的标识信息,获取具有参考图像的标识信息的码流数据作为参考图像的码流数据,参考图像的码流数据不属于待解码视频序列的码流数据,参考图像的码流数据包括参考图像的编码数据、参考图像的标识信息和参考图像的图像类型,参考图像的图像类型用于指示参考图像为知识库图像集中的图像。

其中,参考图像的码流数据携带在参考图像对应的nalu中。对于参考图像的码流数据中的参考图像的图像类型和参考图像的标识信息来说,参考图像对应的nalu通过以下两种方式携带,一种实现方式是:参考图像的图像类型以及参考图像的标识信息携带在参考图像对应的nalu的nalunitheader中;另一种实现方式是:参考图像的图像类型携带在参考图像对应的nalu的nalunitheader中,参考图像的标识信息携带在参考图像对应的nalu的sliceheader或slicesegmentheader中。

对于参考图像的标识信息来说,一种实现方式中,参考图像的标识信息包括:参考图像在知识库图像集中的编号信息。

另一种实现方式中,待解码视频序列包括至少两个序列分段,参考图像的标识信息还包括待解码图像所在的参考序列分段的标识信息,参考序列分段的标识信息用于指示参考图像用于作为参考序列分段中的图像的备选参考图像,参考序列分段包括待解码图像所在的随机访问片段,参考序列分段为至少两个序列分段中的任意一个序列分段。相应的图9所示图像解码装置还包括:删除单元34,用于在待解码视频序列的播放顺序为顺序播放时,删除已重建图像集中具有先前序列分段的标识信息的已重建图像,从而更新已重建图像集,先前序列分段为在播放顺序上在参考序列分段之前的序列分段。

再一种实现方式中,参考图像的标识信息还包括参考图像的质量层信息,参考图像的质量层信息用于指示参考图像的重建图像的分辨率和参考图像的重建图像的码流码率中的至少一种。

解码单元33,还用于根据参考图像的编码数据,解码得到参考图像的重建图像,参考图像的重建图像具有参考图像的标识信息。

解码单元33,还用于根据参考图像的重建图像,对待解码图像的编码数据进行帧间解码,从而获得待解码图像的重建图像,使得在未查找到具有参考图像的标识信息的已重建图像的情况下,通过解码参考图像的码流数据中的编码数据,仍可以得到参考图像的重建图像,以实现对待解码图像的解码。

相应的,图9所示图像解码装置还包括:更新单元35,用于将参考图像的重建图像作为已重建图像集中的新的已重建图像,从而更新已重建图像集,在本申请实施例中,更新已重建图像集是指将新的已重建图像添加到已重建图像集中,增加已重建图像集中已重建图像的数量,这样在对待解码视频序列中的其他待解码图像进行解码时,可提高匹配的已重建图像的几率,提高图像解码的效率。

本申请实施例提供如图10所示图像解码装置,可以包括:存储器41、处理器42和接收器43。

处理器42,用于通过接收器43获取待解码图像的码流数据,根据参考图像的标识信息,在已重建图像集中查找具有参考图像的标识信息的已重建图像,在查找到具有参考图像的标识信息的已重建图像的情况下,根据具有参考图像的标识信息的已重建图像,对待解码图像的编码数据进行帧间解码,从而获得待解码图像的重建图像。

其中,已重建图像集中的已重建图像和待解码图像的重建图像存储在存储器41中,已重建图像为已重建得到的知识库重建图像,也就是说已重建图像集由已重建得到的知识库图像组成,已重建图像集中不同的已重建图像具有不同的标识信息,实现对已重建图像的区分,这样通过参考图像的标识信息,可以查找到与其唯一对应的已重建图像。知识库重建图像为知识库图像集中的图像的重建图像,知识库图像集中的图像用于作为待解码图像所在的待解码视频序列中的图像的备选参考图像。

其中,待解码图像可以是图1所示随机访问片段中在解码顺序上的第一幅图像、第二幅图像和第三幅图像中的任意一幅图像,

在一种实现方式中,存储器41还用于存储代码,以用于处理器42读取以执行本申请实施例提供的图像解码方法。

待解码图像的码流数据包括待解码图像的编码数据、用于标识待解码图像的参考图像的标识信息和待解码图像的图像类型,待解码图像的图像类型用于指示待解码图像的编码数据根据知识库图像集中的图像进行帧间编码得到。

在一种实现方式中,待解码图像的图像类型还用于指示参考图像的数量,在待解码图像的图像类型指示参考图像的数量为至少两个时,参考图像的标识信息为至少两个,参考图像与参考图像的标识信息一一对应。

其中待解码图像的图像类型以及待解码图像的标识信息携带在待解码图像对应的nalu的nalunitheader中。或者,待解码图像的图像类型携带在待解码图像对应的nalu的nalunitheader中,待解码图像的标识信息携带在待解码图像对应的nalu的sliceheader或slicesegmentheader中。

从上述技术方案可知,在获取待解码图像的码流数据后,根据码流数据中参考图像的标识信息,在已重建图像集中查找到具有参考图像的标识信息已重建图像,并根据具有参考图像的标识信息的已重建图像,对码流数据中待解码图像的编码数据进行帧间解码,也就是说对于待解码图像来说,其可以从随机访问片段之外的已重建图像集中获取解码所需的参考图像,增加待解码图像可参考的参考图像的数量,即在一定程度上扩展待解码图像的参考图像的候选范围,进而有利于在一定程度上提高图像解码的效率,并且根据参考图像的标识信息可以查找到与其唯一对应的参考图像的重建图像,实现图像的正确解码。

在一种实现方式中,处理器42,还用于在查找单元未查找到具有参考图像的标识信息的已重建图像的情况下,根据参考图像的标识信息,通过接收器43获取具有参考图像的标识信息的码流数据作为参考图像的码流数据,参考图像的码流数据不属于待解码视频序列的码流数据,参考图像的码流数据包括参考图像的编码数据、参考图像的标识信息和参考图像的图像类型,参考图像的图像类型用于指示参考图像为知识库图像集中的图像。

其中,参考图像的码流数据携带在参考图像对应的nalu中。对于参考图像的码流数据中的参考图像的图像类型和参考图像的标识信息来说,参考图像对应的nalu通过以下两种方式携带,一种实现方式是:参考图像的图像类型以及参考图像的标识信息携带在参考图像对应的nalu的nalunitheader中;另一种实现方式是:参考图像的图像类型携带在参考图像对应的nalu的nalunitheader中,参考图像的标识信息携带在参考图像对应的nalu的sliceheader或slicesegmentheader中。

对于参考图像的标识信息来说,一种实现方式中,参考图像的标识信息包括:参考图像在知识库图像集中的编号信息。

另一种实现方式中,待解码视频序列包括至少两个序列分段,参考图像的标识信息还包括待解码图像所在的参考序列分段的标识信息,参考序列分段的标识信息用于指示参考图像用于作为参考序列分段中的图像的备选参考图像,参考序列分段包括待解码图像所在的随机访问片段,参考序列分段为至少两个序列分段中的任意一个序列分段。处理器42还可以用于在待解码视频序列的播放顺序为顺序播放时,删除已重建图像集中具有先前序列分段的标识信息的已重建图像,从而更新已重建图像集,先前序列分段为在播放顺序上在参考序列分段之前的序列分段。

再一种实现方式中,参考图像的标识信息还包括参考图像的质量层信息,参考图像的质量层信息用于指示参考图像的重建图像的分辨率和参考图像的重建图像的码流码率中的至少一种。

处理器42,还用于根据参考图像的编码数据,解码得到参考图像的重建图像,并根据参考图像的重建图像,对待解码图像的编码数据进行帧间解码,从而获得待解码图像的重建图像,使得在未查找到具有参考图像的标识信息的已重建图像的情况下,通过解码参考图像的码流数据中的编码数据,仍可以得到参考图像的重建图像,以实现对待解码图像的解码。

其中,参考图像的重建图像具有参考图像的标识信息,处理器42还用于将参考图像的重建图像作为已重建图像集中的新的已重建图像,从而更新已重建图像集,在本申请实施例中,更新已重建图像集是指将新的已重建图像添加到已重建图像集中,增加已重建图像集中已重建图像的数量,这样在对待解码视频序列中的其他待解码图像进行解码时,可提高匹配的已重建图像的几率,提高图像解码的效率。

此外,本申请实施例还提供一种存储介质,所述存储介质上记录有执行本申请实施例提供的图像解码方法的程序代码。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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