视频的编码、解码的方法及装置、存储介质与流程

文档序号:20275230发布日期:2020-04-03 19:33阅读:418来源:国知局
视频的编码、解码的方法及装置、存储介质与流程

本公开涉及视频技术领域但不限于视频技术领域,尤其涉及一种视频的编码、解码的方法及装置、存储介质。



背景技术:

omaf(omnidirectionalmediaformat,全景媒体格式)是属于mpeg-i(movingpictureexpertsgroup,动态图像专家组)的一种视频格式,可以看作是vr(virtualreality,虚拟现实)的第一个行业标准。omaf起源于mpeg的vr标准化的发展规划。其中,omaf定义了一种媒体格式,支持全景媒体应用,并专用于360°视频、图像以及音频等,并对360°视频的编码,提出了一种投影和矩形区域的rwp(region-wise-packing,智能区域打包)的方法,但是该方法会消耗较大的信令开销。



技术实现要素:

本公开提供一种视频的编码、解码的方法及装置、存储介质。

根据本公开实施例的第一方面,提供一种视频的编码方法,该方法包括:

将视频的帧分为独立帧和从属帧;所述从属帧包括:第一类从属帧;

通过编码所述独立帧的参数,生成每一个所述独立帧的rwp编码配置;其中,所述独立帧的rwp编码配置包括:用于解码还原所述视频的参数;

通过基于所述从属帧与被所述从属帧所从属独立帧之间的差异及从属关系编码的所述第一类从属帧的参数,生成每一个所述第一类从属帧的rwp编码配置。

根据本公开实施例的第二方面,提供一种视频的解码方法,该方法包括:

通过解包独立帧的rwp编码配置,获取所述独立帧的参数;

通过基于与从属帧对应的独立帧的参数,解码得到的所述从属帧的rwp编码配置,获取所述从属帧的参数;其中所述从属帧至少包括:第一类从属帧;

至少基于所述独立帧的参数和所述第一类从属帧的参数,解包所述视频的帧。

根据本公开实施例的第三方面,提供一种视频的编码装置,该装置包括:

分类模块,配置为将视频的帧分为独立帧和从属帧;所述从属帧包括:第一类从属帧;;

第一编码模块,配置为通过编码所述独立帧的参数,生成每一个所述独立帧的rwp编码配置;其中,所述独立帧的rwp编码配置包括:用于解码还原所述视频的参数;

第二编码模块,配置通过基于所述从属帧与被所述从属帧所从属独立帧之间的差异及从属关系编码的所述第一类从属帧的参数,生成每一个所述第一类从属帧的rwp编码配置。

根据本公开实施例的第四方面,提供一种视频的解码装置,该装置包括:

第一获取模块,配置为通过解包独立帧的rwp编码配置,获取所述独立帧的参数;

第二获取模块,配置为通过基于与从属帧对应的独立帧的参数,解码得到的所述从属帧的rwp编码配置,获取所述从属帧的参数;其中所述从属帧至少包括:第一类从属帧;

解包模块,配置为至少基于所述独立帧的参数和所述第一类从属帧的参数,解包所述视频的帧。

根据本公开的第五方面,提供一种处理装置,该装置至少包括:处理器和存储器;所述存储器用于存储能够运行在所述处理上的可执行指令;其中,当执行所述可执行指令时,所述处理器执行上述任一项所述的方法。

根据本公开的第六方面,提供一种非临时性计算机存储介质,存储有计算机可执行指令,用于执行上述任一项所述的方法。

基于本公开实施例的技术方案,如果从属帧的参数与第一类独立帧的参数相同,则至少基于第一类独立帧与从属帧之间的差异和从属关系对视频的帧的参数进行编码。与被从属帧中相同的参数则不需要再次编码到从属帧的rwp编码配置中。因此,相比于对从属帧的所有参数进行编码,减少了信令的开销,进而降低了整个视频的信令开销。

附图说明

图1是本公开实施例提供的一种视频的编码方法的流程图;

图1是本公开实施例提供的一种视频的编码方法的流程图;

图2是本公开实施例提供的rwp在erp(equirectangularprojection,球形投影)图像中的应用示意图;

图3是本公开实施例提供的另一种视频的编码方法的流程图;

图4是本公开实施例提供的一种视频的解码方法的流程图;

图5是本公开实施例提供的另一种视频的解码方法的流程图;

图6是本公开实施例提供的一种视频的编码装置的结构图;

图7是本公开实施例提供的一种视频的解码装置的结构图;

图8是本公开实施例提供的一种编码或解码设备的硬件实体示意图。

具体实施方式

本公开实施例提供了一种视频的编码方法,如图1所示,该方法包括:

步骤101、将视频的帧分为独立帧和从属帧;所述从属帧包括第一类从属帧;

步骤102、通过编码所述独立帧的参数,生成每一个所述独立帧的rwp编码配置;其中,所述独立帧的rwp编码配置包括:用于解码还原所述视频的参数;

步骤103、通过基于所述从属帧与被所述从属帧所从属独立帧之间的差异及从属关系编码的所述第一类从属帧的参数,生成每一个所述第一类从属帧的rwp编码配置。

上述步骤提供了一种对视频进行编码的方法,该视频包括至少两帧。在本公开中,视频可以是omaf格式的360°视频。典型的omaf格式的360°视频为立体视频,并支持3dof(3degreesoffreedom,三个自由度)导航,其中,3dof导航包括偏航、滚动和俯仰运动。

omaf格式的360°视频可以用于vr技术和/或ar(augmentedreality,增强现实)技术,并且omaf格式规定了的360°视频的以下几个方面:

1)坐标系:

坐标系由单位球体和三个坐标轴构成,即x(前后方向)轴,y(横向,左右方向)轴和z(垂直,上下方向)轴。从用户的角度来看,是从球体的中心向外看向球体的内表面。

2)投影和矩形的rwp方法:

投影方法是一种应用于内容制作侧的几何操作过程,用于通过球体信号产生2d(twodimensional,二维)视频图像,这些2d视频图像是由多个摄像机捕获的视频信号拼接得到。rwp方法允许根据投影图像生成压缩图像,其中,在压缩图像的一些区域相对于投影图像的区域设置更多的像素,从而可以改善这些区域的视觉质量。

3)使用isobmff(isobasemediafileformat,iso基础媒体文件格式)存储全景媒体和相关的数据;

4)采用dash(dynamicadaptivestreamingoverhttp,基于超文本传输协议的动态自适应流传输),或mmt(mpegmediatransport,基于mpeg的媒体传输)的传输方式;

5)媒体文件和演示文稿文件。

rwp方法用于将由全景视频投影格式制定的表示格式的投影图像,划分为矩形区域,并进行变形,例如,这些变形包括区域尺寸变换、区域镜像或区域旋转。通过在投影图像上应用rwp能够生成压缩图像。但是,在omaf标准的第一版中,只定义了静态的rwp。静态的rwp仅允许定义一次压缩图像和投影图像中的区域,并且在omaf应用的整个持续时间内保持不变。omaf是由mpeg开发的系统标准。

视频的帧至少涉及图像,例如,投影图像或压缩图像,有时,视频的帧还可以包括音频的帧。在本公开中,帧至少包括图像,但是对于帧是否包括音频这里不做限定。

所述投影图像是全景视频的图像,并且该视频可以由omaf制定的格式定义,其可以被视为球面图像。有时,投影图像的视角是小于360°的3d视频的图像,因此,投影图像根据实际需求也可以为半球图像或扇形图像。

在对视频的投影图像执行rwp处理之后,获得包含分区后的压缩图像。参数可以用于描述视频的帧和/或区域,并且所述参数可以根据描述对象被分为帧参数和区域参数。

本公开实施例在omaf应用中定义了一种动态rwp,并提出了优化这种动态rwp的信令的机制。

第一版omaf标准引入了一种rwp工具,该rwp工具用于将投影图像分成矩形区域,然后对这些区域进行包括调整大小、镜像或旋转的变换,再将这些区域打包到压缩图像。具体地在生成压缩图像时,可以为对应于投影图像中个的重要区域的压缩图像区域分配更多的像素。

图2示出了矩形的压缩图像,其被分成了若干区域,并且这些区域对应于投影图像中的不同区域或位置,在图2给出的示例中,rwp用于为360°视频的前部区域分配更多的像素(从而提高该区域的图像质量),同时适度地降低左、右和后部区域的质量,并且显著降低顶部和底部区域的质量。

帧参数是描述关于整个帧的属性或情况的参数,例如,投影图像的尺寸,压缩图像的尺寸等。

区域参数是描述包括在帧中区域的参数,例如,区域的尺寸、在球体中区域的投影位置等。

rwp编码配置至少是通过编码上述两种参数所获得的,然后将rwp编码配置传输到解码器,解码器可以通过解码rwp编码配置来恢复原始视频。上述图像的尺寸可以包括图像宽度和/或图像高度。

视频的压缩帧至少被分为独立帧和第一类从属帧。需要对独立帧的参数进行编码以生成独立帧的rwp编码配置。这里,对独立帧的编码可以是完全编码,即,对解码独立帧所需的所有参数进行编码,并且,独立帧的rwp编码配置可以称为完整rwp编码配置。

从属帧与独立帧可具有一些相同参数,然后这些相同参数可以从独立帧被继承,这种继承关系被称为从属关系。

并且,从属帧还可以具有与独立帧不同的一些参数,这些不同的参数就是上述步骤中所描述的差异。

因此,如果从属帧的rwp编码配置根据独立帧和从属帧之间的差异和从属关系进行编码,则意味着从属帧中反映差异而没有继承的参数可以被编码到从属帧的rwp编码配置中。在从属帧的rwp编码配置中可以省略从独立帧继承的参数的编码,因此可以减少从属帧的信令开销,并通过较少的比特数携带更多的信息。

在一些实施例中,上述独立帧包括:

第一类独立帧;所述第一类独立帧,能够与所述视频中所述第一类独立帧后的各所述从属帧建立从属关系;

第二类独立帧;所述第二类独立帧,能够与所述视频中的所述第二类独立帧下一个所述从属帧建立从属关系。

第一类独立帧可以与任意被处理的帧建立从属关系,在实际应用中,可以存在一个或多个第一类独立帧。当处理从属帧时,可以选择一个第一类独立帧作为从属,并用来建立从属关系。

第二类独立帧指的是另一种独立帧,其rwp编码配置也携带解码所需的所有参数。第二类独立帧与第一类独立帧的差别在于,第二类独立帧只能与紧邻的下一个帧建立从属关系,并且下一个帧为从属帧。第二类独立帧可以设置在在帧的参数短时间内发生显著变化的场景下。

通过将独立帧分为上述两种类型,能够满足不同视频需求并能够灵活设置编码模式。

在一些实施例中,每一所述独立帧的rwp编码配置中携带有帧类型标志位;

所述第一类独立帧的帧类型标志位具有第一数值;

所述第二类独立帧的帧类型标志位具有第二数值。

上述第二数值不同于第一数值。

帧类型标志位通过不同的数值,可以用于区分具有不同类型的帧,也就是说,帧类型标志位的不同数值,对应于不同类型的被指示帧。

在本公开实施例中,帧类型标志位至少可以区分独立帧的类型。

在一些实施例中,所述第一类独立帧的rwp编码配置中包括:所述第一类独立帧的帧id。

当设置有第一类独立帧的帧id时,被选择的用于作为后续从属帧从属的独立帧的帧id将被编码,以用于简便指示帧之间的从属关系。帧id可以是视频中的第一类独立帧的帧编号,或视频中每个帧的帧编号,用于表示一个第一类独立帧在多个第一类独立帧中的位置。

在一些实施例中,所述第一类从属帧的rwp编码配置中包括:被所述第一类从属帧从属且用于指示从属关系的所述第一类独立帧的帧id。

当一个第一类独立帧用于一个第一类从属帧从属时,需要将第一类独立帧的帧id添加到这个第一类从属帧的rwp编码配置中以指示其编码从属是哪一个独立帧。

在一些实施例中,如图3所示,所述从属帧还包括:第二类从属帧,所述第二类从属帧仅与紧邻的前一个帧建立从属关系,所述方法还包括:

步骤104、通过基于所述第二类从属帧与所述第二类从属帧的前一个帧的参数之间的差异及从属关系,编码的所述第二类从属帧的参数,生成每一个所述第二类从属帧的rwp编码配置;其中,所述前一个帧为与所述第二类从属帧建立有从属关系的帧。

第一类从属帧和第二类从属帧都是从属帧,并且他们的rwp编码配置都可以根据他们与被从属帧之间的差异和从属关系来编码。

然而,第一类从属帧和第二类从属帧之间的差异在于,第二类从属帧仅与紧邻的前一个帧建立从属关系,并且不限定前一个帧的类型。前一个帧的类型不限于第一类独立帧或者是第二类独立帧。

例如,紧邻的前一个帧是从属帧,则当前的第二类从属帧也可以从属前一个帧。也就是说,上述第二类从属帧可以使用任意类型的前一个帧作为编码从属。此外,因为相邻的帧的参数通常非常相似,因此,对第二类从属帧的编码处理也可以尽可能地减少信令开销。

在一些实施例中,所述前一个帧的类型为:所述第一类独立帧、第二类独立帧、第一类从属帧和第二类从属帧中的任一种。

第二类从属帧的前一个帧可以是独立帧或从属帧,在编码过程中前一个帧的类型不需要进行限制。当第二类从属帧的前一个帧是独立帧时,独立帧可以是第一类的也可以是第二类的。

在一些实施例中,所述从属帧的rwp编码配置中包括帧类型标志位;

当所述帧类型标志位具有第三数值时,所述第三数值指示从属帧为第一类从属帧;

当所述帧类型标志位具有第四数值时,所述第四数值指示从属帧为第二类从属帧。

用于区分所述从属帧的帧类型标志位与用于区分独立帧的帧类型标志位相同。第三数值用于指示第一类从属帧,而第四数值用于指示第二类从属帧。

第四数值与第三数值不同。实际上第四数值与第一数值和第二数值都不相同;第三数值也与第一数值和第二数值也都不相同。

帧类型标志位也可以用于区分从属帧的类型,也就是说,帧类型标志可以用于指示独立帧和从属帧的类型。

上述帧类型标志位的四种数值可以由表1来表示:

表1

根据表1可以看出,具有两个比特的帧类型标志位可以清楚且容易地区分视频中的四种类型的帧。

在一些实施例中,当一个从属帧继承被从属帧的帧参数时,所述从属帧的rwp编码配置包括:

至少一个帧继承标志位,用于指示所述被从属帧的帧参数被继承;或者,

当一个从属帧不继承被从属帧的帧参数时,所述从属帧的rwp编码配置包括:

至少一个帧继承标志位,用于指示所述被从属帧中没有帧参数被继承;

被从属帧包括:独立帧或从属帧。

当从属帧具有与对应的被从属帧具有相帧参数时,从属帧的rwp编码配置可以继承被从属帧的帧参数。因此,可以在rwp编码配置中引入帧继承标志位以指示是否继承帧参数。帧参数实际上是视频中一帧的整个图像的参数,例如,图像的尺寸,图像的尺寸可以包括图像的宽度和/或图像的高度。

在一些实施例中,所述帧继承标志位包括:

第一类的帧继承标志位,用于指示所述被从属帧的投影图像高度和投影图像宽度是否被继承;

第二类的帧继承标志位,用于指示所述被从属帧的压缩图像高度度和压缩图像宽度是否被继承。

帧继承标志位包括两种类型,用于指示是否分别继承投影图像和压缩图像的宽度和高度参数。

在一些实施例中,该方法还包括:

当所述从属帧不继承所述被从属帧的帧参数时,将所述从属帧的帧参数编码至所述从属帧的rwp编码配置。

如果从属帧的帧参数与被从属帧的帧参数不相同,则可以直接对从属帧的帧参数进行编码,而不继承被从属帧的帧参数。

在一些实施例中,所述从属帧的rwp编码配置包括:区域继承标志位,用于指示对应被从属帧的至少部分区域是否被继承。

通过rwp的使用,视频的帧可以被划分为多个区域,每个区域可以由一个或多个区域参数来描述。在编码独立帧的区域参数时,解码所需的参数将被编码到独立帧的rwp编码配置中。然而,在编码从属帧的区域参数时,与被从属帧的区域参数不同的区域参数将被编码到从属帧的rwp编码配置中。

这里,在rwp编码配置中设置区域继承标志位,该区域继承标志位用来指示被从属帧的至少一个区域是否被从属帧所继承。当从属帧的区域参数与被从属帧的区域参数均不同时,被从属帧的区域参数则不能被继承。此时,区域继承标志位被设置为指示该区域的区域参数不被继承的数值。当从属帧的区域与被从属帧的区域,具有的至少一个相同区域参数时,被继承帧的至少一个区域参数可以被继承,此时,可以将区域继承标志位设置为指示至少一个区域被继承的数值。

在一些实施例中,当所述区域继承标志位指示对应被从属帧没有区域被继承时,所述从属帧的rwp编码配置包括:解码所述从属帧所需的区域参数。

当从属帧的区域参数与被从属帧的区域参数均不同时,区域继承标志位被设置为具有指示区域不被继承的值,并且对应于区域继承标志位的区域参数需要在从属帧的rwp编码配置中进行编码。

在一些实施例中,一个所述被从属帧包括n个区域,一个所述从属帧包括m个区域,n和m均为正整数;

当所述被从属帧的第i个区域与所述从属帧的第j个区域具有至少一个相同的区域参数时,所述从属帧的rwp编码配置包括:

所述被从属帧的第i个区域的区域id,用于指示所述从属帧与所述被从属帧之间的区域从属关系;

参数继承标志位,用于指示所述被从属帧的第i个区域中的至少一个相同的区域参数被继承;

其中,所述i是大于或等于0且小于n的整数,所述j是大于或等于0且小于m的整数。

在上述情况下,由于区域id至少被分配给第一类独立帧,i和j都可以是相应帧中区域的编号,因为i可以等于或不等于j,那么区域从属关系的设定可以更加灵活,并且区域从属关系可以根据固定的模式来设定。如果区域从属关系灵活设定,则可以在来自独立帧和从属帧的两个最相似的区域之间形成区域从属关系,从而减少更多的信令开销。

在一些实施例中,所述被从属帧具有n个区域,所述从属帧具有m个区域,所述n和m为正整数;

当所述被从属帧的第i个区域中与对应的从属帧的第i个区域中具有至少一个相同的区域参数时,所述从属帧的rwp编码配置中的参数继承标志位,用于指示所述被从属帧的第i个分区中的区域参数被继承;其中,所述i为大于0小于n且小于m的整数。

在这种情况下,可以省略用于标记继承了哪个区域的区域id。也就是说,即使没有指示区域从属关系的区域id,上述解决方案也可以执行,因为区域之间的从属关系可以根据区域次序来确定。

当被从属帧的第i个区域与从属帧的第i个区域具有从属关系时,从属帧的rwp编码配置的参数继承标志位,用于指示第i个区域的区域参数中的哪些区域参数被继承。其中,i是大于等于0小于n且小于m的整数。

从属帧的第i个区域与被从属帧的第i个区域具有从属关系时,参数继承标志位用于指示哪些参数要被继承。

当n等于m时,从属帧的每个区域与被从属帧的每个区域相对应,因此,可以对应地处理从属帧的区域。

上述区域参数包括但不限于以下区域参数中的至少一个:

区域的尺寸,包括区域的宽度和/或区域的高度;

区域的压缩类型;

区域的位置,用于指示区域在投影图像或压缩图像中的位置;

变换类型,包括旋转和/或镜像等。

在一些实施例中,当m小于n时,所述从属帧的rwp编码配置包括:区域丢弃标志位,所述区域丢弃标志位,用于指示丢弃所述被从属帧中不被所述从属帧所从属的区域;

当m大于n时,所述从属帧的rwp编码配置中包括:至少解码m减n个区域所需的区域参数。

当n大于m时,被从属帧中存在冗余区域,区域丢弃标志位被设置到每个冗余区域。这些冗余区域既没有需要编码的参数,也没有可以继承的参数。因此,每个冗余区域的rwp编码配置可以仅包括区域丢弃标志位,用于指示不存在区域与指示的区域具有从属关系。

当n小于m时,从属帧具有更多区域,在处理第(n+1)个区域到第m个区域时,没有可以从属的被从属帧的区域,因此,无法比较第(n+1)个区域到第m个区域。从属帧没有能够继承的参数,因此,可以直接对这些多出的区域对应的区域参数进行编码。

在一些实施例中,所述将视频的帧分为独立帧和从属帧,包括:

将所述视频的帧的第一帧设定为独立帧;

在所述第一帧之后,每间隔指定数量的所述从属帧后设定一个独立帧;或,

在所述第一帧之后,根据流切换点确定所述独立帧,并将所述独立帧以外的帧设定为所述从属帧。

在编码的过程中,需要处理多个视频帧,因为第一帧不可能从属其他帧,因此,第一帧需要被完全编码。也就是说,第一帧需要被设置为独立帧。

为了确保从属帧的编码精度,可以在指定数量的间隔或者指定时间间隔内(例如预设秒数或预设帧数)中设置多个独立帧,并且可以对每个独立帧进行完全编码。或者,也可以通过流切换/接入点确定独立帧的位置,以确保当数据流发生明显改变时,存在至少一个完全编码的独立帧,并且避免被从属帧与从属帧之间的差异过大。

本公开实施例还提供一种视频的解码方法,如图4所示,该方法包括:

步骤201、通过解包独立帧的rwp编码配置,获取所述独立帧的参数;

步骤202、通过基于与从属帧对应的独立帧的参数,解码得到的所述从属帧的rwp编码配置,获取所述从属帧的参数;其中所述从属帧至少包括:第一类从属帧;

步骤203、至少基于所述独立帧的参数和所述第一类从属帧的参数,解包所述视频的帧。

在解码的过程中,需要对获得的rwp编码配置进行解包,从而获取独立帧的参数。

由于从属帧的rwp编码配置是根据其自身与被从属帧之间的差异和从属关系来进行编码的,也就是说,有一些从属帧的参数是编码在被从属帧的rwp编码配置中的,那么,被从属帧的参数,是需要结合被从属帧的rwp编码配置和从属帧的rwp编码配置的解码得到的。

基于独立帧的参数和从属帧的参数对视频进行解包,进而可以恢复原始视频中的图像。

由于从属帧的rwp编码配置是基于独立帧的参数进行编码的,因此可以节省了大量的信令开销,并减少端解码端所接收的信令数量,从而降低传输压力及存储空间的使用,且实现rwp编码配置的动态解码。

在一些实施例中,所述通过基于与从属帧对应的所述独立帧的参数,解码得到的所述从属帧的rwp编码配置,获取所述从属帧的参数,包括:

当所述从属帧的rwp编码配置中的帧继承标志位指示所述被从属帧的至少一个帧参数被继承时,根据所述被从属帧的rwp编码配置,获取所述从属帧的至少一个帧参数;或者,

当所述从属帧的rwp编码配置中的帧继承标志位指示没有被从属帧的帧参数被继承时,根据所述从属帧的rwp编码配置,获取所述从属帧的帧参数。

帧继承标志位,可以被配置为确定当前帧是否有继承帧参数。

当确定从属帧继承了被从属帧的参数时,则至少需要基于被从属帧的帧参数对从属帧进行解码。如果从属帧没有继承被从属帧的帧参数时,则从属帧的帧参数需要从从属帧自身的rwp编码配置中直接进行解码获得。

这样,就可以通过帧继承标志位识别一个从属帧是否具有与被从属帧相同的至少一个帧参数。因此,解码操作是可以是基于没有大量信令及重复解码的帧参数进行的。

上述帧参数包括但不限于投影图像宽度、投影图像高度、压缩图像宽度以及压缩图像高度等。

在一些实施例中,所述解包所述视频的帧,包括:

根据获取的所述帧参数解包所述视频的帧。

上述帧参数指的是视频中描述帧的参数。当视频被解包时,需要通过解包上述帧参数来获得对每一帧相对应的描述。例如,视频帧的图像尺寸可以由帧参数来决定。然后,继续对帧进行解码来获得图像的相关参数,包括区域的尺寸,如区域宽度和/或区域高度等。

在一些实施例中,所述根据所述被从属帧的rwp编码配置,获取所述从属帧的至少一个帧参数,包括:

当所述从属帧的rwp编码配置中的第一类的帧继承标志位指示所述被从属帧的投影图像高度和投影图像宽度被继承时,根据所述被从属帧的rwp编码配置,获取继承的所述投影图像高度和投影图像宽度;和/或,

当所述从属帧的rwp编码配置中的第二类的帧继承标志位指示所述被从属帧的压缩图像高度和压缩图像宽度被继承时,根据所述被从属帧的rwp编码配置,获取继承的所述压缩图像高度和压缩图像宽度。

上述帧参数可以包括投影图像的宽度参数和高度参数,也可以包括压缩图像的宽度参数和高度参数。在解码过程中,可以通过帧继承标志位的值或类型,来识别从属帧对应的被从属帧,以及识别被从属帧的哪些帧参数被继承。

在一些实施例中,所述方法还包括:

当一个独立帧的帧类型标志位具有第一数值时,存储所述第一类独立帧的rwp编码配置;并存储前一个帧的rwp编码配置;其中,存储的所述rwp编码配置用于提供所述从属帧的参数。

由于第一类从属帧可以从属任一个第一类独立帧,并且第二类从属帧从属于前一个帧,因此,解码器可以保存第一类独立帧以及前一帧的数据。

对于第一类独立帧,帧类型标志位具有第一数值,因此可以通过帧类型标志位清楚且容易地识别出第一类独立帧。而前一帧是当前要解码的所述从属帧紧邻的前一个帧,因此,解码器可以直接识别对应的前一个帧。

如果当前从属帧所从属的是前一个帧,则可以基于该前一个帧的rwp编码配置和正在被解码的从属帧的rwp编码配置来对从属帧进行解码。如果从属帧所从属的是第一类独立帧,则可以基于已经存储的独立帧的rwp编码配置和当前从属帧的rwp编码配置来对该从属帧进行解码。

在一些实施例中,如图5所示,所述通过基于与从属帧对应的所述独立帧的参数,解码得到的所述从属帧的rwp编码配置,获取所述从属帧的参数,包括:

步骤302、通过基于前一个帧的参数,解码得到的所述从属帧的rwp编码配置,获取所述从属帧的参数;其中,所述前一个帧是当前解码的所述从属帧紧邻的前一个帧,并且所述前一个帧与所述第二类从属帧具有从属关系;

所述解包所述视频的帧,包括:

步骤303、基于所述第二类从属帧的参数,解包所述视频的帧。

上述从属帧也可以是第二类从属帧,即仅引用前一个帧的从属帧;第一类从属帧可以从属任何类型的独立帧。

因此,在解码过程中,还需要基于第二类从属帧的rwp编码配置和前一个帧的rwp编码配置对第二类从属帧进行解码。

在一些实施例中,所述前一个帧包括以下任一种:第一类独立帧,第二类独立帧,第一类从属帧和第二类从属帧。

第一类从属帧的前一个帧可以是上述任一种类型的帧,第一类独立帧也可以与任意帧具有从属关系,因此,也可以与下一帧即第二类从属帧具有从属关系。而第二类独立帧只能与下一帧具有从属关系,也就是说第二类独立帧可以作为第二类从属帧的编码从属。并且第一类从属帧也可以与第二类从属帧具有从属关系。

在一些实施例中,所述方法还包括:

当所述从属帧的rwp编码配置的帧类型标志位具有第三数值时,通过匹配所述第一类独立帧的rwp编码配置中保存的帧id,与所述从属帧的rwp编码配置中保存的用于指示被从属帧的帧id,确定被从属的所述第一类独立帧;和/或

当所述从属帧的rwp编码配置的帧类型标志位具有第四数值时,确定被从属帧为所述从属帧的前一个帧。

第一类从属帧的帧类型标志位具有第三数值,当正在解码的从属帧具有第三数值的帧类型标志位时,则需要通过rwp编码配置中的帧id,确定当前的从属帧所从属的是在当前帧之前已经解码并存储的哪一个第一类独立帧。第一类独立帧由帧id来进行区分,因此,从属帧的rwp编码配置中的帧id可以对应于相应的第一类独立帧的帧id。

第二类从属帧具有第四数值的帧类型标志位,在当前解码的从属帧具有第四数值的帧类型标志位时,可以基于当前从属帧的rwp编码配置和前一个帧的rwp编码配置对该从属帧进行解码,从而获取从属帧的参数,并最终恢复视频的图像。

在一些实施例中,所述通过基于与从属帧对应的所述独立帧的参数,解码得到的所述从属帧的rwp编码配置,获取所述从属帧的参数,包括:

当所述从属帧的rwp编码配置中的区域继承标志位指示继承被从属帧的至少一个区域时,基于所述从属帧的rwp编码配置和所述被从属帧的rwp编码配置,获取所述继承区域的区域参数。

在完成对每一帧的帧参数的解码后,再继续对区域参数进行解码。当解码从属帧时,可以通过区域继承标志位来确定被从属帧的区域是否被继承。如果确定被从属帧的区域被继承,则说明当前从属帧的rwp编码配置中继承了被从属帧的至少一个区域参数。

具体地,当区域继承标志位指示区域不具有继承的区域参数时,可以直接解码该区域。然而,当区域继承标志位指示区域具有继承的区域参数时,则需要基于被从属帧的rwp编码配置和当前的从属帧的rwp编码配置来解码该区域,从而获取该区域的区域参数。

当正在解码的从属帧具有继承被从属帧的区域参数的区域时,可以通过确定被从属帧的区域参数来确定,进而提高解码的效率。

在一些实施例中,所述基于所述从属帧的rwp编码配置和所述被从属帧的rwp编码配置,获取所述继承区域的区域参数,包括:

当所述从属帧的rwp编码配置中的参数继承标志位指示被从属帧的至少一个区域参数被继承时,基于所述被从属帧的rwp编码配置,获取所述继承区域的区域参数;和/或,

当所述从属帧的rwp编码配置中的参数继承标志位指示所述被从属帧没有区域参数被继承时,基于所述从属帧的rwp编码配置,获取所述区域参数。

对于从属帧,包括两种区域从属关系,一种是通过被从属帧继承了上述继承区域的一部分区域参数,并且继承区域的另一部分区域参数可以与被从属帧的区域参数不同,而通过直接解码从属帧的rwp编码配置来获取。另一种是继承区域的所有区域参数都继承于被从属帧。

因此,对于从属帧的继承区域,还需要通过参数继承标志位来识别每个区域参数是否继承了被从属帧的区域参数。如果继承了被从属帧的区域参数,则需要根据被从属帧的区域参数进行解码,否则,基于当前解码的从属帧的rwp编码配置直接解码区域参数。

在一些实施例中,所述获取区域参数之前,所述方法还包括:

根据所述从属帧的rwp编码配置中,用于指示区域从属关系的区域id,确定继承的所述被从属帧的区域;或,

如果所述从属帧的rwp编码配置中没有指示区域从属关系的区域id,则当第m个区域的区域继承标志位指示具有区域从属关系时,确定所述被从属帧的第m个区域被继承,其中,m时大于或等于0的整数,且m小于或等于m减1,所述m为所述从属帧或所述被从属帧中最小的总区域数。

上述从属帧与被从属帧的区域之间的区域从属关系可以通过两种方式来确定。如果一个区域通过携带区域id来指示哪两个区域具有从属关系,则当前区域继承标志位指示当前区域具有区域从属关系,并且区域从属关系可以直接由区域id确定。

或者,如果不存在用于指示区域之间的从属关系的区域id,那么当区域继承标志位指示当前第p个区域具有区域从属关系时,则根据当前区域的数量来确定区域从属关系。例如,如果当前区域是从属帧的第p个区域,则该第p个区域具有指示区域从属关系的区域继承标志位,也就是说,当前从属帧的第p个区域与被从属帧的第p个区域具有区域从属关系。

在一些实施例中,该方法还包括:

当所述从属帧的rwp编码配置包括区域丢弃标志位时,跳过比较所述区域丢弃标志位所指示的从属帧的区域。

从属帧的区域数量可能与被从属帧的区域数量不同,在编码过程中,如果被从属帧的区域数量大于从属帧的区域数量时,冗余区域会被添加到从属帧的rwp编码配置中,但是,这些区域没有任何区域参数被继承,也不需要对任何参数进行编码,而是通过添加的区域丢弃标志位来标记这些被添加的区域。因此,在解码过程中,当解码处理到带有区域丢弃标志位的区域时,跳过对该区域的解码,并对下一区域进行处理。

这样,可以快速排除不必要的区域比较,从而提高解码效率。

本公开实施例提供一种视频的编码装置,如图6所示,该编码装置600包括:

分类模块601,配置为将视频的帧分为独立帧和从属帧;所述从属帧包括第一类从属帧;

第一编码模块602,配置为通过编码所述独立帧的参数,生成每一个所述独立帧的rwp编码配置;其中,所述独立帧的rwp编码配置包括:用于解码还原所述视频的参数;

第二编码模块603,配置为通过基于所述从属帧与被所述从属帧所从属独立帧之间的差异及从属关系编码的所述第一类从属帧的参数,生成每一个所述第一类从属帧的rwp编码配置。

在一些实施例中,所述独立帧包括:

第一类独立帧;所述第一类独立帧,能够与所述视频中所述第一类独立帧后的各所述从属帧建立从属关系;

第二类独立帧;所述第二类独立帧,能够与所述视频中的所述第二类独立帧下一个所述从属帧建立从属关系。在一些实施例中,每一所述独立帧的rwp编码配置中携带有帧类型标志位;

所述第一类独立帧的帧类型标志位具有第一数值;

所述第二类独立帧的帧类型标志位具有第二数值。在一些实施例中,所述第一类独立帧的rwp编码配置中包括:所述第一类独立帧的帧id。在一些实施例中,所述第一类从属帧的rwp编码配置中包括:被所述第一类从属帧从属且用于指示从属关系的所述第一类独立帧的帧id。

在一些实施例中,所述从属帧还包括:第二类从属帧,所述第二类从属帧仅与紧邻的前一个帧建立从属关系,所述装置还包括:

第三编码模块,配置为通过基于所述第二类从属帧与所述从属帧的前一个帧的参数之间的差异及从属关系,编码的所述第二类从属帧的参数,生成每一个所述第二类从属帧的rwp编码配置;其中,所述前一个帧为与所述第二类从属帧建立有从属关系的帧。

在一些实施例中,所述前一个帧的类型为:所述第一类独立帧、第二类独立帧、第一类从属帧和第二类从属帧中的任一种。

在一些实施例中,所述从属帧的rwp编码配置中包括帧类型标志位;

当所述帧类型标志位具有第三数值时,所述第三数值指示所述从属帧为第一类从属帧;

当所述帧类型标志位具有第四数值时,所述第四数值指示所述从属帧为第二类从属帧。

在一些实施例中,当一个从属帧继承了被从属帧的帧参数时,所述从属帧的rwp编码配置包括:

至少一个帧继承标志位,用于指示所述被从属帧的帧参数被继承;

或者,

当一个从属帧不继承被从属帧的帧参数时,所述从属帧的rwp编码配置包括:

至少一个帧继承标志位,用于指示所述被从属帧中没有帧参数被继承;

所述被从属帧包括:独立帧和从属帧。

在一些实施例中,所述帧继承标志位包括:

第一类帧继承标志位,用于指示所述被从属帧的投影图像高度和投影图像宽度是否被继承;

第二类帧继承标志位,用于指示所述被从属帧的压缩图像高度和压缩图像宽度是否被继承。

在一些实施例中,所述装置还包括:

第四编码模块,配置为当所述从属帧不继承所述被从属帧的帧参数时,将所述从属帧的帧参数编码到所述从属帧的rwp编码配置中。

在一些实施例中,所述从属帧的rwp编码配置包括:

区域继承标志位,用于指示被从属帧的至少部分区域是否被继承。

在一些实施例中,一个所述被从属帧包括n个区域,一个所述从属帧包括m个区域,n和m均为正整数;

当所述被从属帧的第i个区域与所述从属帧的第j个区域具有至少一个相同的区域参数时,所述从属帧的rwp编码配置包括:

所述被从属帧的第i个区域的区域id,用于指示所述从属帧与所述被从属帧之间的区域从属关系;

参数继承标志位,用于指示所述被从属帧的第i个区域中的至少一个相同的区域参数被继承;

34.其中,所述i是大于或等于0且小于n的整数,所述j是大于或等于0且小于m的整数。在一些实施例中,所述被从属帧具有n个区域,所述从属帧具有m个区域,所述n和m为正整数;

当所述被从属帧的第i个区域中与对应的从属帧的第i个区域中具有至少一个相同的区域参数时,所述从属帧的rwp编码配置中的参数继承标志位,用于指示所述被从属帧的第i个分区中的区域参数被继承;其中,所述i为大于0小于n且小于m的整数。

在一些实施例中,当m小于n时,所述从属帧的rwp编码配置包括:区域丢弃标志位,所述区域丢弃标志位用于指示丢弃所述被从属帧中不被所述从属帧所从属的区域;

当m大于n时,所述从属帧的rwp编码配置中包括:至少解码m减n个区域所需的区域参数。

在一些实施例中,所述分类模块包括:

第一设定子模块,配置为将所述视频的帧的第一帧设定为独立帧;

第二设定子模块,配置为在所述第一帧之后,每间隔指定数量的所述从属帧后设定一个独立帧;或,

第三设定子模块,配置为在所述第一帧之后,根据流切换点确定所述独立帧,并将所述独立帧以外的帧设定为所述从属帧。

本公开实施例还提供一种视频的解码装置,如图7所示,该解码装置700,包括:

第一获取模块701,配置为通过解包独立帧的rwp编码配置,获取所述独立帧的参数;

第二获取模块702,配置为通过基于与从属帧对应的所述独立帧的参数,解码得到的所述从属帧的rwp编码配置,获取所述从属帧的参数;其中所述从属帧至少包括:第一类从属帧;

解包模块703,至少基于所述独立帧的参数和所述第一类从属帧的参数,解包所述视频的帧。

在一些实施例中,所述第二获取模块,包括:

第一获取子模块,配置为当所述从属帧的rwp编码配置中的帧继承标志位指示所述被从属帧的至少一个帧参数被继承时,根据所述被从属帧的rwp编码配置,获取所述从属帧的至少一个帧参数;或者,

第二获取子模块,配置为当所述从属帧的rwp编码配置中的帧继承标志位指示所述被从属帧的帧参数没有被继承时,根据所述从属帧的rwp编码配置,获取所述从属帧的帧参数。

在一些实施例中,所述解包模块,还配置为根据获取的所述帧参数解包所述视频的帧。

在一些实施例中,所述第一获取模块,还配置为:

当所述从属帧的rwp编码配置中的第一类的帧继承标志位指示所述被从属帧的投影图像高度和投影图像宽度被继承时,根据所述被从属帧的rwp编码配置,获取继承的所述投影图像高度和投影图像宽度;和/或,

当所述从属帧的rwp编码配置中的第二类的帧继承标志位指示所述被从属帧的压缩图像高度和压缩图像宽度被继承时,根据所述被从属帧的rwp编码配置,获取继承的所述压缩图像高度和压缩图像宽度。

在一些实施例中,所述装置还包括:

第一保存模块,配置为当一个独立帧的帧类型标志位具有第一数值时,存储所述第一类独立帧的rwp编码配置;

第二保存模块,配置为存储前一个帧的rwp编码配置;其中,存储的所述rwp编码配置用于提供所述从属帧的参数。

在一些实施例中,所述第二获取模块,包括:

第三获取子模块,配置为通过基于前一个帧的参数,解码得到的所述从属帧的rwp编码配置,获取所述从属帧的参数;其中,所述前一个帧是当前解码的所述从属帧紧邻的前一个帧,并且所述前一个帧与所述第二类从属帧具有从属关系;

所述解包模块,配置为基于所述第二类从属帧的参数,解包所述视频的帧。

在一些实施例中,所述前一个帧包括以下任一种:第一类独立帧,第二类独立帧,第一类从属帧和第二类从属帧。

在一些实施例中,所述装置还包括:

第一确定模块,配置为当所述从属帧的rwp编码配置的帧类型标志位具有第三数值时,通过匹配所述第一类独立帧的rwp编码配置中保存的帧id,与所述从属帧的rwp编码配置中保存的用于指示所述被从属帧的帧id,确定被从属的所述第一类独立帧;和/或

第二确定模块,配置为当所述从属帧的rwp编码配置的帧类型标志位具有第四数值时,确定被从属帧为所述从属帧的前一个帧。

在一些实施例中,所述第二获取模块,包括:

第四获取子模块,配置为当所述从属帧的rwp编码配置中的区域继承标志位指示所述被从属帧的至少一个区域被继承时,基于所述从属帧的rwp编码配置和所述被从属帧的rwp编码配置,获取所述继承区域的区域参数。

在一些实施例中,所述第四获取子模块,还配置为:

当所述从属帧的rwp编码配置中的参数继承标志位指示所述被从属帧的至少一个区域参数被继承时,基于所述被从属帧的rwp编码配置,获取所述继承区域的区域参数;和/或,

当所述从属帧的rwp编码配置中的参数继承标志位指示所述被从属帧没有被继承的区域参数时,基于所述从属帧的rwp编码配置,获取所述继承区域的区域参数。

在一些实施例中,所述装置还包括:

第三确定模块,配置为根据所述从属帧的rwp编码配置中,用于指示区域从属关系的区域id,确定继承的所述被从属帧的区域;或,

第四确定模块,配置为如果所述从属帧的rwp编码配置中没有指示区域从属关系的区域id,则当第m个区域的区域继承标志位指示具有区域从属关系时,确定所述被从属帧的第m个区域被继承,其中,m时大于或等于0的整数,且m小于或等于m减1,所述m为所述从属帧或所述被从属帧中最小的总区域数。

在一些实施例中,所述装置还包括:

停止模块,配置为当所述从属帧的rwp编码配置包括区域丢弃标志位时,跳过比较所述区域丢弃标志位所指示的从属帧的区域。

上述装置实施例的描述与上述方法实施例的描述类似,并且具有与方法实施例类似的优点。对于本发明的装置实施例中未公开的技术细节,请参见本发明方法实施例的描述。

需要说明的是,在本发明实施例中,如果上述方法以软件功能模块的形式实现并作为独立产品出售或使用,也可以存储在计算机存储介质中。基于这样的理解,本公开的实施例的技术方案实质上可以以软件产品的形式体现,或者以存储在存储介质中的软件产品的形式体现,包括多个指令。编码或解码设备执行本公开的各种实施例的全部或部分方法。上述存储介质包括可以存储程序代码的各种介质,例如usb闪存驱动器,移动硬盘,只读存储器(rom),磁盘或光盘。因此,本发明的实施例不限于硬件和软件的任何特定组合。

相应地,本发明实施例提供一种终端,包括存储器和处理器,所述存储器存储可在处理器上执行的计算机程序,当所述处理器执行所述程序时,执行上述实施例提供的编码或解码方法中的步骤。

相应地,本发明实施例提供了一种计算机可读存储介质,存储计算机程序,当处理器执行计算机程序时,实现上述实施例提供的方法步骤。

这里要注意的是,上述存储介质和设备实施例的描述与上述方法实施例的描述类似,并且具有与方法实施例类似的优点。对于本公开的存储介质和设备实施例中未公开的技术细节,请从属本公开的方法实施例的描述。

图8是根据本公开实施例的编码或解码设备的硬件实体的示意图。如图8所示,设备800的硬件实体包括:处理器801,i/o接口802和存储器803。

处理器801通常控制编码或解码设备800的整体操作。

i/o接口802可以使编码或解码设备能够通过网络与其他终端或服务器通信。

存储器803被配置为存储可由处理器801执行的指令和应用,并且还可以缓存要由处理器801处理或处理的数据以及编码或解码设备800中的各种模块(例如,图像数据,音频数据,语音)。通信数据和视频通信数据可以通过闪存(flash)或随机存取存储器(ram)来实现。

应当理解,在整个说明书中使用的短语“一个实施例”或“实施例”意味着与实施例有关的特定特征,结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书中使用的“在一个实施例中”或“在实施例中”不一定意味着相同的实施例。另外,这些特定特征,结构或特性可以在一个或多个实施例中以任何合适的方式组合。应当理解,在本公开的各种实施例中,上述过程的序列号的大小并不意味着执行的顺序,并且每个过程的执行顺序应该由其功能和内部逻辑来确定。并且不应该限于本公开的实施例。本公开的实施例的序列号仅用于描述,并不代表实施例的优点和缺点。

应理解,术语“包括”、“包含”或其任何其他变体旨在涵盖非排他性包含,使得包括一系列元件的过程,方法,物品或装置包括那些元素。还包括未明确列出的其他元素,或此类流程,方法,文章或设备固有的元素。由短语“包括”定义的元素不排除在包含该元素的过程、方法、项目或设备中存在其他等效元素。

在本公开提供的若干实施例中,应理解,所公开的装置和方法可以以其他方式实现。上述装置实施例仅是示意性的。例如,模块的划分仅是逻辑功能划分。在实际实现中,可以存在其他划分方式,例如,可以组合多个模块或组件,或者可以集成到另一个系统中,或者可以忽略或不执行某些特征。另外,所示或讨论的组件的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,并且可以是电,机械或其他形式。

上面描述为单独组件的模块可以或可以不是物理上分开的,并且显示为模块的组件可以是或可以不是物理模块;它们可能位于一个地方或分布在多个网络模块中;可以根据实际需要选择部分或全部模块,以达到实施例方案的目的。

另外,本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以将每个模块单独作为一个模块使用,也可以将两个或两个以上的模块集成在一个模块中;模块可以以硬件的形式或以硬件加软件功能模块的形式实现。

本领域技术人员将理解,实现前述方法实施例的全部或部分步骤可以由与程序指令相关的硬件执行。上述程序可以存储在计算机存储介质中,当执行时,该程序包括方法实施例的上述步骤;上述存储介质包括:可移动存储设备,只读存储器(rom),磁盘或光盘等,可以存储程序代码。

或者,如果本公开的上述集成单元以软件功能模块的形式实现并作为独立产品出售或使用,则其可以存储在计算机存储介质中。基于这样的理解,本公开的实施例的技术方案实质上可以以软件产品的形式体现,或者以存储在存储介质中的软件产品的形式体现,包括多个指令。使编码或解码设备执行本公开的各种实施例的全部或部分方法。上述存储介质包括可以存储程序代码的各种介质,例如移动存储设备,rom,磁盘或光盘。

以上仅为本发明的实施例,但本发明的范围不限于此,本领域技术人员可以容易地想到本发明所公开的技术范围内的变化或替换。它旨在被本公开的范围所涵盖。因此,本公开的范围应由所附权利要求的范围确定。

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