视频译码中的目标输出层转让专利

申请号 : CN201380056073.6

文献号 : CN104782131B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈颖王益魁

申请人 : 高通股份有限公司

摘要 :

在一个实例中,一种装置包含视频译码器,所述视频译码器经配置以对包括多个视频数据层的多层位流进行译码,其中所述多个视频数据层与多个层集合相关联,且其中每一层集合含有所述多个层中的一或多个视频数据层;且对所述位流的指示一或多个输出操作点的一或多个语法元素进行译码,其中每一输出操作点与所述多个层集合中的一个层集合和所述多个层中的一或多个目标输出层相关联。

权利要求 :

1.一种解码视频数据的方法,所述方法包括:

从包含多层视频数据的多层位流解码包括所述多层视频数据的层集合的操作点,其中所述层集合包括视频数据的一或多个第一目标输出层和视频数据的至少一个其他层,且其中所述视频数据的一或多个第一目标输出层期望被输出以用于显示;

从所述多层位流解码指示存在于所述多层位流中的输出层集合的数目的值,其中每一输出层集合包括相应的一或多个目标输出层;

从所述多层位流解码一或多个第一语法元素,所述一或多个第一语法元素指示在所述输出层集合的数目之中的第一输出层集合,第一输出层集合包括所述一或多个第一目标输出层而不包括所述操作点的所述层集合的所述至少一个其他层;

从所述多层位流解码一或多个第二语法元素,所述一或多个第二语法元素指示所述一或多个第一目标输出层中的相应目标输出层是否将被输出;及基于所述一或多个第二语法元素指示所述相应目标输出层中的至少一个相应目标输出层将被输出而输出所指示的至少一个相应目标输出层。

2.根据权利要求1所述的方法,其中所述一或多个第二语法元素包括用于每一目标输出层的相应输出层旗标。

3.根据权利要求1所述的方法,其中所述多层位流包括多视图位流,使得所述多层视频数据的每一层包括视频数据视图,且所述一或多个目标输出层包括一或多个目标输出视图。

4.根据权利要求1所述的方法,其中所述多层位流包括一或多个深度层,使得所述一或多个目标输出层包括一或多个目标输出深度层,所述一或多个目标输出深度层包括深度数据。

5.根据权利要求1所述的方法,其中所述多层位流包括具有多个可缩放视频数据层的位流,使得所述多层视频数据的每一层包括视频数据的可缩放层且所述一或多个目标输出层包括一或多个可缩放目标输出层。

6.根据权利要求5所述的方法,其中所述一或多个目标输出层包括具有数值最高layer_id的层。

7.根据权利要求1所述的方法,其进一步包括:

将经解码图片缓冲器中的包含于所述一或多个目标输出层中的第一经解码图片标记为待用于输出的图片;以及将所述经解码图片缓冲器中的所述至少一个其他层中的第二经解码图片标记为不用于输出的图片,使得所述不用于输出的图片被早于所述待用于输出的图片从所述经解码图片缓冲器去除。

8.根据权利要求7所述的方法,其进一步包括:

确定所述标记为不用于输出的图片是否用于帧间预测和层间预测中的一者;以及当所述不用于输出的图片不用于帧间预测和层间预测中的一者时,从所述经解码图片缓冲器去除所述标记为不用于输出的图片。

9.根据权利要求1所述的方法,其中所述一或多个第二语法元素包含于所述经编码位流的视频参数集VPS和VPS扩展中的一者中。

10.根据权利要求1所述的方法,其中所述一或多个第二语法元素包含于所述经编码位流的补充增强信息SEI消息中。

11.一种用于编码视频数据的方法,所述方法包括:

编码包括多层视频数据的层集合的操作点以作为包含所述多层视频数据的多层位流,其中所述层集合包括视频数据的一或多个第一目标输出层和视频数据的至少一个其他层,且其中所述视频数据的一或多个第一目标输出层期望被输出以用于显示;

在所述多层位流中编码指示存在于所述多层位流中的输出层集合的数目的值,其中每一输出层集合包括相应的一或多个目标输出层;

在所述多层位流中编码一或多个第一语法元素,所述一或多个第一语法元素指示在所述输出层集合的数目之中的第一输出层集合,第一输出层集合包括所述一或多个第一目标输出层而不包括所述操作点的所述层集合的所述至少一个其他层;

在所述多层位流中编码一或多个第二语法元素,所述一或多个第二语法元素指示所述一或多个第一目标输出层中的相应目标输出层是否将被输出;及输出所述多层位流。

12.根据权利要求11所述的方法,其中所述一或多个第二语法元素包括用于每一目标输出层的相应输出层旗标。

13.根据权利要求11所述的方法,其中所述多层位流包括多视图位流,使得所述多层视频数据的每一层包括视频数据视图,且所述一或多个目标输出层包括一或多个目标输出视图。

14.根据权利要求11所述的方法,其中所述多层位流包括一或多个深度层,使得所述一或多个目标输出层包括一或多个目标输出深度层,所述一或多个目标输出深度层包括深度数据。

15.根据权利要求11所述的方法,其中所述多层位流包括具有多个可缩放视频数据层的位流,使得所述多层视频数据的每一层包括视频数据的可缩放层且所述一或多个目标输出层包括一或多个可缩放目标输出层。

16.根据权利要求15所述的方法,其中所述一或多个目标输出层包括具有数值最高layer_id的层。

17.根据权利要求11所述的方法,其中编码所述一或多个第二语法元素包括将所述一或多个第二语法元素包含于所述经编码位流的视频参数集VPS和VPS扩展中的一者中。

18.根据权利要求11所述的方法,其中编码所述一或多个第二语法元素包括将所述一或多个第二语法元素包含于所述经编码位流的补充增强信息SEI消息中。

19.一种用于对视频数据进行译码的设备,所述设备包括:

存储器,其经配置以存储包含多层视频数据的多层位流,所述多层视频数据包括视频数据的多个层;及一或多个处理器,其经配置以进行以下操作:

对包括所述多层视频数据的层集合的操作点进行译码,其中所述层集合包括视频数据的一或多个第一目标输出层和视频数据的至少一个其他层,且其中所述视频数据的一或多个第一目标输出层期望被输出以用于显示;

对所述多层位流的指示存在于所述多层位流中的输出层集合的数目的值进行译码,其中每一输出层集合包括相应的一或多个目标输出层;

对所述多层位流的一或多个第一语法元素进行译码,所述一或多个第一语法元素指示在所述输出层集合的数目之中的第一输出层集合,第一输出层集合包括所述一或多个第一目标输出层而不包括所述操作点的所述层集合的所述至少一个其他层;及对所述多层位流的一或多个第二语法元素进行译码,所述一或多个第二语法元素指示所述一或多个第一目标输出层中的相应目标输出层是否将被输出。

20.根据权利要求19所述的设备,其中所述一或多个第二语法元素包括用于每一目标输出层的相应输出层旗标。

21.根据权利要求19所述的设备,其中译码包括解码,且其中所述一或多个处理器经进一步配置以:将经解码图片缓冲器中的包含于所述一或多个目标输出层中的第一经解码图片标记为待用于输出的图片;以及将所述经解码图片缓冲器中的所述至少一个其他层中的第二经解码图片标记为不用于输出的图片,使得所述不用于输出的图片被早于所述待用于输出的图片从所述经解码图片缓冲器去除。

22.根据权利要求21所述的设备,其中所述一或多个处理器经进一步配置以:确定所述标记为不用于输出的图片是否用于帧间预测和层间预测中的一者;以及当所述不用于输出的图片不用于帧间预测和层间预测中的一者时,从所述经解码图片缓冲器去除所述标记为不用于输出的图片。

23.一种用于译码视频数据的装置,所述装置包括:

用于对包含多层视频数据的多层位流的操作点进行译码的装置,所述操作点包括所述多层视频数据的层集合,其中所述层集合包括视频数据的一或多个第一目标输出层和视频数据的至少一个其他层,且其中所述视频数据的一或多个第一目标输出层期望被输出以用于显示;

用于对所述多层位流的指示存在于所述多层位流中的输出层集合的数目的值进行译码的装置,其中每一输出层集合包括相应的一或多个目标输出层;

用于对所述多层位流的一或多个第一语法元素进行译码的装置,所述一或多个第一语法元素指示在所述输出层集合的数目之中的第一输出层集合,第一输出层集合包括所述一或多个第一目标输出层而不包括所述操作点的所述层集合的所述至少一个其他层;及用于对所述多层位流的一或多个第二语法元素进行译码的装置,所述一或多个第二语法元素指示所述一或多个第一目标输出层中的相应目标输出层是否将被输出。

24.根据权利要求23所述的装置,其中所述一或多个第二语法元素包括用于每一目标输出层的相应输出层旗标。

25.根据权利要求23所述的装置,其进一步包括:

用于将经解码图片缓冲器中的包含于所述一或多个目标输出层中的第一经解码图片标记为待用于输出的图片的装置;以及用于将所述经解码图片缓冲器中的所述至少一个其它层中的第二经解码图片标记为不用于输出的图片,以使得所述不用于输出的图片被早于所述待用于输出的图片从所述经解码图片缓冲器去除的装置。

26.根据权利要求25所述的装置,其进一步包括:

用于确定所述标记为不用于输出的图片是否用于帧间预测和层间预测中的一者的装置;以及用于当所述不用于输出的图片不用于帧间预测和层间预测中的一者时从所述经解码图片缓冲器去除所述标记为不用于输出的图片的装置。

27.一种上面存储有计算机程序的非暂时性计算机可读存储媒体,所述计算机程序在执行时致使处理器进行以下操作:对包含多层视频数据的多层位流的操作点进行译码,所述操作点包括所述多层视频数据的层集合,其中所述层集合包括视频数据的一或多个第一目标输出层和视频数据的至少一个其他层,且其中所述视频数据的一或多个第一目标输出层期望被输出以用于显示;

对所述多层位流的指示存在于所述多层位流中的输出层集合的数目的值进行译码,其中每一输出层集合包括相应的一或多个目标输出层;

对所述多层位流的一或多个第一语法元素进行译码,所述一或多个第一语法元素指示在所述输出层集合的数目之中的第一输出层集合,第一输出层集合包括所述一或多个第一目标输出层而不包括所述操作点的所述层集合的所述至少一个其他层;及对所述多层位流的一或多个第二语法元素进行译码,所述一或多个第二语法元素指示所述一或多个第一目标输出层中的相应目标输出层是否将被输出。

28.根据权利要求27所述的非暂时性计算机可读存储媒体,其中所述一或多个第二语法元素包括用于每一目标输出层的相应输出层旗标。

29.根据权利要求27所述的非暂时性计算机可读存储媒体,其中所述计算机程序进一步使所述处理器进行以下操作:将经解码图片缓冲器中的包含于所述一或多个目标输出层中的第一经解码图片标记为待用于输出的图片;以及将所述经解码图片缓冲器中的所述至少一个其他层中的第二经解码图片标记为不用于输出的图片,使得所述不用于输出的图片被早于所述待用于输出的图片从所述经解码图片缓冲器去除。

30.根据权利要求29所述的非暂时性计算机可读存储媒体,其中所述计算机程序进一步使所述处理器进行以下操作:确定所述标记为不用于输出的图片是否用于帧间预测和层间预测中的一者;以及当所述不用于输出的图片不用于帧间预测和层间预测中的一者时,从所述经解码图片缓冲器去除所述标记为不用于输出的图片。

说明书 :

视频译码中的目标输出层

[0001] 本申请案主张2012年10月30日申请的美国临时专利申请案第61/720,364号的权利,所述申请案的全部内容特此以引用的方式并入。

技术领域

[0002] 本发明涉及视频译码。

背景技术

[0003] 数字视频能力可并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板型计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏主机、蜂窝式或卫星无线电电话、所谓的“智能型手机”、视频电话会议装置、视频流式传输器装置,和其类似者。数字视频装置实施视频译码技术,例如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分“先进视频译码(AVC)”定义的标准、目前正在开发的高效率视频译码(HEVC)标准和这些标准的扩展(例如可缩放视频译码(SVC)和多视图视频译码(MVC))中所描述的那些视频译码技术。布罗斯(Bross)等人的HEVC的工作草案(WD)的版本6“高效率视频译码(HEVC)文本规范草案6(High efficiency video coding(HEVC)text specification draft 6)”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的关于视频译码的联合合作团队(JCT-VC),2012年2月1日到10日美国加利福尼亚圣荷西第8次会议)可从http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=5096获得。视频装置可通过实施这些视频译码技术来更有效地发射、接收、编码、解码和/或存储数字视频信息。
[0004] 视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码来说,可将视频截块(例如,视频图片或视频图片的一部分)分割为视频块,所述视频块也可称作树型块、译码单元(CU)和/或译码节点。图片的帧内译码(I)截块中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的帧间译码(P或B)截块中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
[0005] 空间预测或时间预测导致待译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量和指示经译码块与预测性块之间的差的残余数据来编码帧间译码块。根据帧内译码模式和残余数据来编码帧内译码块。为进行进一步压缩,可将残余数据从像素域变换到变换域,从而导致残余变换系数,可接着量化残余变换系数。可扫描最初布置成二维阵列的经量化的变换系数以便产生变换系数的一维向量,且可应用熵译码以达成甚至更多压缩。

发明内容

[0006] 本发明的技术包含在多视图视频译码和/或可缩放视频译码中确定一或多个目标输出层。例如,如当前HEVC基本规范(如上文所提及的WD 6)中所定义的操作点可包含数个视频数据层,使得操作点指具有视频数据位流的一或多个层的层集合。在一些个例中,这些层的仅一个子集可经解码用于输出(例如,显示)。根据本发明的方面,可定义具体地识别供输出的目标视频数据层的输出操作点。
[0007] 在一个实例中,一种解码视频数据的方法包含:从多层位流获得包含多个层集合的多个视频数据层,其中每一层集合含有所述多个层中的一或多个视频数据层;和基于所述位流的一或多个语法元素来确定一或多个输出操作点,其中每一输出操作点与所述多个层集合中的一个层集合和所述多个层中的一或多个目标输出层相关联。
[0008] 在另一实例中,一种用于编码视频数据的方法包含:编码包含多个层集合的多个视频数据层,其中每一层集合含有所述多个层中的一或多个视频数据层;和编码指示一或多个输出操作点的一或多个语法元素,其中每一输出操作点与所述多个层集合中的一个层集合和所述多个层中的一或多个目标输出层相关联。
[0009] 在另一实例中,一种设备包含一或多个处理器,所述一或多个处理器经配置以对包括多个视频数据层的多层位流进行译码,其中所述多个视频数据层与多个层集合相关联,且其中每一层集合含有所述多个层中的一或多个视频数据层;和对所述位流的指示一或多个输出操作点的一或多个语法元素进行译码,其中每一输出操作点与所述多个层集合中的一个层集合和所述多个层中的一或多个目标输出层相关联。
[0010] 在另一实例中,一种用于译码视频数据的装置包含:用于对包括多个视频数据层的多层位流进行译码的装置,其中所述多个视频数据层与多个层集合相关联,且其中每一层集合含有所述多个层中的一或多个视频数据层;和用于对所述位流的指示一或多个输出操作点的一或多个语法元素进行译码的装置,其中每一输出操作点与所述多个层集合中的一个层集合和所述多个层中的一或多个目标输出层相关联。
[0011] 在另一实例中,一种非暂时性计算机可读存储媒体上面存储有指令,所述指令在执行时使得用于对视频数据进行译码的装置的处理器进行以下操作:对包括多个视频数据层的多层位流进行译码,其中所述多个视频数据层与多个层集合相关联,且其中每一层集合含有所述多个层中的一或多个视频数据层;和对所述位流的指示一或多个输出操作点的一或多个语法元素进行译码,其中每一输出操作点与所述多个层集合中的一个层集合和所述多个层中的一或多个目标输出层相关联。
[0012] 一或多个实例的细节阐述于随附图式和以下描述中。其它特征、目标和优点将从所述描述和所述图式以及从权利要求书显而易见。

附图说明

[0013] 图1为根据本发明的方面的说明可利用用于确定一或多个目标输出层的技术的实例视频编码和解码系统的框图。
[0014] 图2为根据本发明的方面的说明可实施用于确定一或多个目标输出层的技术的视频编码器的实例的框图。
[0015] 图3为根据本发明的方面的说明可实施用于确定一或多个目标输出层的技术的视频解码器30的实例的框图。
[0016] 图4为说明实例MVC预测型样的概念图。
[0017] 图5为说明实例可缩放视频译码序列的概念图。
[0018] 图6为根据本发明的方面的说明用于编码输出操作点的实例过程的流程图。
[0019] 图7为根据本发明的方面的说明用于解码输出操作点的实例过程的流程图。

具体实施方式

[0020] 本发明的技术包含在多视图视频译码和/或可缩放视频译码中确定一或多个目标输出层。当前,运动图片专家群组(MPEG)正基于即将来临的高效率视频译码(HEVC)标准开发三维视频(3DV)标准。标准化努力的部分也包含基于HEVC的多视图视频编码解码器和可缩放视频编码解码器的标准化。例如,一个标准化努力包含开发被称作MV-HEVC的HEVC的多视图扩展,且另一努力是被称作3D-HEVC的深度增强型基于HEVC的全3DV编码解码器。关于可缩放视频译码,视图可调性和/或空间可调性也可有助于三维视频服务,因而这些可调性允许实现用于更多视图的回溯兼容扩展,和/或以允许由旧版装置进行解码的方式增强视图的分辨率。
[0021] 对于三维视频数据,一般来说,每一视图对应于藉以俘获常见场景的对应视频数据的不同视角或角度。经译码视图可用于视频数据的三维(3D)显示。例如,可使用不同偏振的光而同时或接近同时地显示两个视图(例如,人类检视者的左眼视图和右眼视图),且检视者可佩戴被动型偏光眼镜,使得检视者的眼睛中每一者接收到所述视图中的相应视图。替代地,检视者可佩戴独立地遮挡每一眼睛的主动型眼镜,且显示器可与眼镜同步而在每一眼睛的图像之间快速交替。
[0022] 通过例如如在ITU-T H.264标准(或者被称作MPEG-4第10部分“先进视频译码(AVC)标准”)的附录H中所阐述的多视图视频译码(MVC)的多视图译码,特定视图的特定图片被称作视图分量。即,视图的视图分量对应于视图的特定时间执行个体。多视图视频可含有相对大量的视图间统计相依性,这是由于用以俘获多视图数据的所有摄影机从不同视点俘获同一场景。这些相依性可被利用于组合式时间和/或视图间预测,其中不仅从时间上相邻的图像而且从来自其它视图的对应图像来预测图像。即,可在同一存取单元中(即,在同一时间执行个体内)的图片当中执行视图间预测。
[0023] 如上文所提及,可缩放视频译码也可用以对多个视图译码以提供视图可调性和/或空间可调性。例如,可缩放视频译码(SVC)在H.264/AVC标准的附录G中予以描述,且可用以对视频数据的多个层进行译码。在一些个例中,每一层可对应于特定视图。
[0024] 如本文中所描述,视频“层”可通常指具有至少一个共同特性(例如视图、帧率、分辨率或其类似者)的图片的序列。例如,层可包含与多视图视频数据的特定视图相关联的视频数据。作为另一实例,层可包含与可缩放视频数据的特定层相关联的视频数据。因此,本发明可互换地提及视频数据的层和视图。
[0025] 在任何状况下,视频译码器(例如,如下文更详细地描述的视频编码器或视频解码器)可使用一或多个参数集来描述或确定经译码视频数据的多种特性。通过参数集,不需要对于每一图片或图片序列重复很少改变的信息,由此增加译码效率。在一些个例中,参数集可形成视频位流的一部分。在其它个例中,参数集可以其它方式由视频解码器来接收(例如,频带外传输、硬译码或其类似者)。经译码视频序列与其相关联参数集一起可表示视频位流的可独立解码部分。
[0026] HEVC继承H.264/AVC的参数集概念,但包含若干修改和添加。一般来说,序列参数集(SPS)含有应用到经译码视频序列的所有截块的信息。在HEVC中,经译码视频序列含有在第一瞬时解码再新(IDR)图片(包含于序列中)与之后的IDR图片(不包含于序列中)或位流的末尾(如果第一IDR图片是位流中的最后一个IDR图片)之间的所有图片。图片参数集(PPS)含有可在图片间改变的信息。
[0027] HEVC也包含视频参数集(VPS)结构。一般来说,VPS描述经译码视频序列的总体特性,包含时间子层之间的相依性。VPS可允许实现HEVC标准在系统层处的兼容扩充性。例如,VPS可提供关于可缩放或多视图位流结构的额外信息,所述信息针对能够解码这些层的解码器可为相关的,但允许旧版解码器来解码基本层并忽略这些层。
[0028] 当多个视频数据层包含于位流中时,操作点可用以对来自位流的某些层进行剖析或提取。例如,多层位流可包含多个操作点以促进解码并显示所接收经编码数据的子集。如本文中所描述,“操作点”可通常指可包含一或多个视频数据层的层集合。如上文所提及,层通常可指具有至少一个共同特性(例如,视图、帧率、分辨率或其类似者)的图片的序列(例如,视频数据的视图、可缩放视频数据的层和其类似者)。因此,操作点可指具有一或多个视频数据视图、一或多个视频数据层或其类似者的层集合。因而,本文中可互换地使用“操作点”与“层集合”。
[0029] 使用不同操作点可允许各种用户端装置来执行调适。即,具有不同呈现和解码能力的用户端装置可提取不同视图以显示二维或三维视频数据。用户端装置也可与服务器装置协商以检索具可变位速率的数据以适应于具各种频宽能力的输送媒体。
[0030] 因此,每一操作点可表示以可变时间帧率和空间分辨率编码的多视图视频数据视图的视图的不同组合和/或可缩放视频数据层的不同组合(例如,不同层集合)。换句话说,操作点可指在包含以下各者的三个维度上对多视图视频数据的编码:视图维度(反映视图的数目)、时间维度(反映帧率)和空间维度(反映空间分辨率)。在一些个例中,一个以上操作点可与同一位流子集相关联。即,一个以上层集合可与同一位流相关联,使得位流包含一或多个层集合。
[0031] 视频编码器可定义针对基本视图/层与增强视图/层的各种组合的数个层集合。特定层集合可包含数个视频数据层,包含用于显示的一或多个目标输出层。例如,目标输出视图可包含多视图视频数据的希望输出(例如,在显示时可检视)的视图。同样,目标输出层可包含希望输出的可缩放视频数据层。如本文中所描述,可互换地使用目标输出视图与目标输出层。
[0032] 例如,关于MVC,可在SPS中传信操作点。MVC数据的目标输出视图可与MVC数据的目标最高时间层级一起经传信。关于SVC,可根据操作点的(例如)具有最高dependency_id和quality_id的最高层来自动地选择目标输出层。关于HEVC,操作点可指定子位流,可基于所述子位流的最高时间层级来提取所述子位流。HEVC也可使用可被重命名为layer_id的nuh_reserved_zero_6bits值的列表。
[0033] 当调适HEVC以供多个视频数据层使用时,例如针对HEVC的多视图译码扩展(MV-HEVC),可单独地在VPS中传信操作点。例如,可针对每一操作点在VPS中传信存在于位流(待解码)中的视图。关于HEVC的可缩放扩展(HSVC或者替代性地SHVC)的标准化,预期到具有最高layer_id的层将是特定操作点的目标输出层。
[0034] 包含使用VPS结构的针对HEVC中的操作点的当前方法在通过多个层译码时可具有缺陷。例如,定义于HEVC中的操作点对于位流提取用途可为足够的,但VPS并不指定操作点的目标输出视图/层。即,VPS并不识别视频数据的希望显示的特定层。
[0035] 在不知晓哪些层是目标输出层的情况下,不用于输出的某些层的经解码图片可被保持于经解码图片缓冲器(DPB)中历时比所需时间长的时间,由此增加多视图序列的存储要求。此外,当多个视图包含于子位流中时,内容提供者可能想要控制解码哪些子位流并提供所述子位流作为到显示器的输出以控制观看体验。例如,内容提供者可能不想允许用户观看来自某子位流或子位流的组合的图片。在HEVC的当前VPS方案下,此控制可能不可用。
[0036] 本发明的技术包含从包含数个层集合(各自含有一或多个视频数据层)的多个视频数据层确定与数个层集合中的一个层集合和一或多个目标输出层相关联的一或多个输出操作点。例如,本发明的技术包含确定输出操作点,所述输出操作点识别多视图视频数据的一或多个目标输出视图和/或可缩放视频数据的一或多个目标输出层。
[0037] 本发明的技术也包含由视频编码器传信指示输出操作点和/或目标输出层的一或多个语法元素,和由视频解码器从经编码位流剖析指示输出操作点和/或目标输出层的一或多个语法元素。提供并利用具有目标输出层的输出操作点的指示可使关于经解码图片缓冲器管理的效率增加,且可使关于指示待输出(例如,显示)的特定视图和/或层的灵活性增加。
[0038] 根据本发明的方面,如当前HEVC基本规范(例如,如上文所提及的WD 6)中所定义的一个操作点可对应于一或多个输出操作点,其中每一输出操作点具有不同目标输出视图和/或层。例如,在一些个例中,视频译码器(例如,视频编码器或视频解码器)可使用层集合中的数个视频数据层来恰当地对视频数据译码。然而,可能仅需将经解码层的子集用于输出(例如,显示)。根据本发明的方面,视频译码器可确定具体地识别目标视频数据层以供输出的输出操作点。在一些个例中,视频译码器可确定层集合的一个以上输出操作点(例如)以适应用于输出的视频数据层的不同组合。
[0039] 在一实例中,出于说明的目的,假设层集合对于立体应用(例如,用于输出的两个视图)包含基本视图(视图0)、第一视图(视图1)、第二视图(视图2)和第三视图(视图3)。进一步假设,视图2和视图3提供最佳立体输出。在此实例中,视频解码器可使用基本视图作为参考来解码视图2和视图3。此外,如果视频解码器符合某些常规译码标准(例如,上文提及的H.264/AVC的MVC或SVC扩展),那么视频解码器可选择输出点的最高层级以供输出(即,基本层),而不管视图2和视图3是用于输出的最佳视图。
[0040] 根据本发明的方面,层集合指定经解码的一或多个子位流,且输出操作点指示在层集合内的待输出的层的子集。因此,在以上实例中,视频解码器可解码具有基本视图、第一视图、第二视图和第三视图的层集合。此外,视频解码器可确定层集合的输出操作点,其中输出操作点包含视图2和视图3。因此,视频译码器可解码并输出视图2和视图3以供显示。
[0041] 如上文所描述,先前并未针对HEVC指定输出操作点。此外,对H.264/AVC的MVC扩展并未遭遇确定操作点的哪些子位流希望用于显示的问题,这是因为MVC并不使用操作点的概念,且MVC位流的所有目标视图由位流中的所有视图指定。因此,虽然本发明的技术可以多种标准来实施,但本发明的方面提供一种使用HEVC标准来指定操作点的特定目标输出视图的机制。
[0042] 图1为根据本发明的方面的说明可利用用于确定一或多个目标输出层的技术的实例视频编码和解码系统10的框图。如图1中所展示,系统10包含源装置12,所述源装置12提供待由目的地装置14在稍后时间解码的经编码视频数据。明确地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括广泛范围的装置中的任一者,所述装置包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓“智能型”手机的电话手机、所谓“智能型”板、电视、摄影机、显示装置、数字媒体播放器、视频游戏主机、视频流式传输器装置,或其类似者。在一些状况下,源装置12和目的地装置14可经配备以用于无线通信。
[0043] 目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括通信媒体以使得源装置12能够将经编码视频数据实时地直接传输到目的地装置14。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将经编码视频数据传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于封包的网络(例如,局域网、广域网或例如因特网的全球网络)的部分。通信媒体可包含路由器、交换器、基站,或可用以促进从源装置12到目的地装置14的通信的任何其它装备。
[0044] 在一些实例中,可将经编码数据从输出接口22输出到存储装置。类似地,可由输入接口从存储装置存取经编码数据。存储装置可包含多种分散式或本地存取式数据存储媒体中的任一者,例如,硬盘机、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在其它实例中,存储装置可对应于可存储由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取所存储视频数据。文件服务器可为能够存储经编码视频数据且将彼经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘机。目的地装置14可经由任何标准数据连接(包含因特网连接)而存取经编码视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等等),或两者的结合。经编码视频数据从存储装置的传输可为流式传输、下载传输,或其组合。
[0045] 本发明的技术未必限于无线应用或设定。所述技术可应用于支持例如以下应用的多种多媒体应用中的任一者的视频译码:空中电视广播、有线电视传输、卫星电视传输、例如HTTP动态自适应性流式传输(DASH)的因特网流式传输视频传输、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播和/或视频电话的应用。
[0046] 在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于确定一或多个目标输出层的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。例如,源装置12可从外部视频源18(例如,外部摄影机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成式显示装置。
[0047] 图1的所说明的系统10仅为一个实例。用于确定一或多个目标输出层的技术可由任何数字视频编码和/或解码装置来执行。虽然通常由视频编码装置执行本发明的技术,但也可由视频编码器/解码器(通常被称为“编码解码器(CODEC)”)执行所述技术。此外,也可由视频预处理器来执行本发明的技术。源装置12和目的地装置14仅仅为这些译码装置的实例,在所述译码装置中,源装置12产生用于传输到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以实质对称方式进行操作,使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传输,例如,用于视频流式传输、视频播放、视频广播或视频电话。
[0048] 源装置12的视频源18可包含例如摄像机的视频俘获装置、含有先前俘获的视频的视频存档,和/或从视频内容提供者接收视频的视频馈入接口。作为另一替代例,视频源18可产生基于计算机图形的数据作为源视频,或产生实况视频、经封存视频和计算机产生的视频的组合。在一些状况下,如果视频源18为摄像机,那么源装置12和目的装置14可形成所谓的摄影机电话或视频电话。然而,如上文所提及,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。在每一状况下,经俘获、预先俘获或计算机产生的视频可由视频编码器20来编码。经编码视频信息可接着由输出接口22输出到计算机可读媒体16上。
[0049] 计算机可读媒体16可包含暂时性媒体,例如,无线广播或有线网络传输;或存储媒体(即,非暂时性存储媒体),例如,硬盘、随身碟、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(图中未示)可从源装置12接收经编码视频数据,且(例如)经由网络传输将所述经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘压印设施)的计算装置可从源装置12接收经编码视频数据且产生含有所述经编码视频数据的光盘。因此,在各种实例中,可将计算机可读媒体16理解成包含各种形式的一或多个计算机可读媒体。
[0050] 目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的也由视频解码器30使用的语法信息,所述语法信息包含描述块和其它经译码单元(例如,GOP)的特性和/或处理的语法元素。显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0051] 尽管未展示于图1中,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当MUX-DEMUX单元或其它硬件和软件以处置共同数据流或独立数据流中的音频和视频两者的编码。如果适用,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。
[0052] 视频编码器20和视频解码器30可各自实施为多种合适编码器或解码器电路中的任一者(在适用时),例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一或多个编码器或解码器中,其中的任一者可集成为组合式视频编码器/解码器(CODEC)的部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置(例如,蜂窝式电话)。
[0053] 在展示于图1中的实例中,系统10也包含具有路由器36的服务器/内容递送网络34。在一些实例中,如上文所描述,源装置12可经由多种无线和/或有线传输或存储媒体而与服务器/内容递送网络34通信。此外,虽然在图1的实例中分离地展示,但在一些实例中,源装置12和服务器/内容递送网络34包括同一装置。服务器/内容递送网络34可存储经译码视频数据的一或多个版本(来自源装置12的视频编码器20),且可使得此经译码视频数据可供目的地装置14和视频解码器30存取。在一些实例中,路由器36可对以所请求的格式将经译码视频数据提供到目的地装置14负责。
[0054] 本发明可通常涉及将某信息“传信”到另一装置(例如,视频解码器30)的视频编码器20和/或服务器/内容递送网络34。然而,应理解,视频编码器20和/或服务器/内容递送网络34可通过使某些语法元素与视频数据的各种经编码部分相关联来传信信息。即,视频编码器20和/或服务器/内容递送网络34可通过将某些语法元素存储到视频数据的各种经编码部分的标头中来“传信”数据。在一些状况中,可在由视频解码器30接收并解码之前编码并存储此类语法元素(例如,存储到存储装置24)。因此,术语“传信”可大体上指用于解码压缩视频数据的语法或其它数据的通信,而不论此类通信是实时抑或接近实时抑或在一时间跨度内发生,例如当在编码时将语法元素存储到媒体,所述语法元素接着可在被存储到此媒体之后的任何时间由解码装置来检索时可能发生。
[0055] 视频编码器20和视频解码器30可根据被替代性地称作MPEG-4第10部分“先进视频译码(AVC)”的视频压缩标准(例如,ITU-T H.264标准)或这些标准的扩展来操作。ITU-T H.264/MPEG-4(AVC)标准由ITU-T视频译码专家群组(VCEG)连同ISO/IEC动画专家群组(MPEG)一起作为被称为联合视频团队(JVT)的集体伙伴的产物而制订。在一些方面中,本发明中所描述的技术可应用于大体符合H.264标准的装置。H.264标准被描述于ITU-T研究群组在2005年3月公布的ITU-T推荐H.264“用于一般视听服务的先进视频译码”中,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
[0056] 虽然本发明的技术不限于任何特定译码标准,但所述技术可与HEVC标准相关。更具体来说,视频编码器20和视频解码器30可经配置以根据HEVC标准的扩展(例如,多视图扩展或三维视频(3DV)扩展,包含可缩放视频译码(SVC)扩展)来对视频数据进行译码。
[0057] 一般来说,HEVC允许视频图片被划分成包含明度样本和色度样本两者的树型块或最大译码单元(LCU)的序列。位流内的语法数据可定义LCU的大小,LCU就像素的数目来说为最大译码单元。截块包含数个连续译码树型单元(CTU)。CTU中的每一者可包括明度样本的译码树型块、色度样本的两个对应译码树型块,和用以对译码树型块的样本进行译码的语法结构。在单色图片或具有三个分离色彩平面的图片中,CTU可包括单一译码树型块和用以对译码树型块的样本进行译码的语法结构。
[0058] 可将视频图片分割成一或多个截块。每一树型块可根据四分树而分裂成数个译码单元(CU)。一般来说,四分树数据结构每CU包含一个节点,其中根节点对应于树型块。如果将CU分裂成四个子CU,那么对应于所述CU的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子CU中的一者。CU可包括具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块和色度样本的两个对应译码块,以及用以对译码块的样本进行译码的语法结构。在单色图片或具有三个分离色彩平面的图片中,CU可包括单一译码块和用以对译码块的样本进行译码的语法结构。译码块为样本的N×N块。
[0059] 所述四分树数据结构中的每一节点可提供针对对应CU的语法数据。例如,四分树中的节点可包含分裂旗标,从而指示是否将对应于节点的CU分裂成子CU。可递归地定义用于CU的语法元素,且用于CU的语法元素可视CU是否分裂成子CU而定。如果CU未经进一步分裂,那么其被称作叶CU。在本发明中,即使不存在原始叶CU的显式分裂,叶CU的四个子CU也被称作叶CU。例如,如果16×16大小的CU未经进一步分裂,那么四个8×8子CU也被称作叶CU,尽管16×16CU从未经分裂。
[0060] 除了CU不具有大小区别之外,CU的用途类似于H.264标准的宏块的用途。例如,树型块可分裂成四个子节点(也被称作子CU),且每一子节点又可为父节点并分裂成另外四个子节点。被称作四分树的叶节点的最终的未分裂子节点包括译码节点,所述译码节点也被称作叶CU。与经译码位流相关联的语法数据可定义可分裂树型块的最大次数(其被称作最大CU深度),且也可定义所述译码节点的最小大小。因而,位流也可定义最小译码单元(SCU)。本发明使用术语“块”来指HEVC的内容脉络中的CU、PU或TU中的任一者,或其它标准的内容脉络中的类似数据结构(例如,在H.264/AVC中的宏块和其子块)。
[0061] CU包含译码节点和与所述译码节点相关联的数个预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小,且形状必须为正方形。CU的大小的范围可从8×8像素直到具有最大64×64像素或大于64×64像素的树型块的大小。每一CU可含有一或多个PU和一或多个TU。
[0062] 一般来说,PU表示对应于对应CU的全部或一部分的空间区域,且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。例如,当PU经帧内模式编码时,用于PU的数据可包含于残余四分树(RQT)中,残余四分树可包含描述对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义所述PU的一或多个运动向量的数据。预测块可为同一预测应用到的样本的矩形(即,正方形或非正方形)块。CU的PU可包括图片的明度样本的预测块、色度样本的两个对应预测块,和用以预测所述预测块样本的语法结构。在单色图片或具有三个分离色彩平面的图片中,PU可包括单一预测块和用以对预测块样本进行预测的语法结构。
[0063] TU可包含将(例如)以下各者的变换应用到残余视频数据之后在变换域中的系数:离散余弦变换(DCT)、整数变换、小波变换,或概念上类似的变换。残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含CU的残余数据的TU,且接着变换所述TU以产生CU的变换系数。变换块可为同一变换应用到的样本的矩形块。CU的变换单元(TU)可包括明度样本的变换块、色度样本的两个对应变换块,和用以对变换块样本进行变换的语法结构。在单色图片或具有三个分离色彩平面的图片中,TU可包括单一变换块和用以对变换块样本进行变换的语法结构。
[0064] 在使用CU的PU的帧内预测性或帧间预测性译码之后,视频编码器20可计算CU的TU的残余数据。PU可包括描述在空间域(也称作像素域)中产生预测性像素数据的方法或模式的语法数据,且TU可包括在将例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换的变换应用到残余视频数据之后在变换域中的系数。残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含CU的残余数据的TU,且接着变换所述TU以产生CU的变换系数。
[0065] 在应用任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化大体指如下过程:将变换系数量化以可能地减少用以表示所述系数的数据的量,从而提供进一步压缩。所述量化过程可减少与所述系数中的一些或全部相关联的位深度。例如,可在量化期间将n位值降值舍位到m位值,其中n大于m。
[0066] 在量化之后,视频编码器可扫描变换系数,从而从包含经量化的变换系数的二维矩阵产生一维向量。扫描可经设计成将较高能量(且因此较低频率)系数置于阵列前部,且将较低能量(且因此较高频率)系数置于阵列后部。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数,以产生可经熵编码的串列化向量。在其它实例中,视频编码器20可执行自适应性扫描。在扫描经量化的变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法而熵编码所述一维向量。视频编码器20也可熵编码与经编码视频数据相关联的语法元素以供视频解码器30用于解码视频数据。
[0067] 为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待传输的符号。所述上下文可能关于(例如)符号的相邻值是否为非零。为了执行CAVLC,视频编码器20可针对待传输的符号选择可变长度码。可建构VLC中的码字使得相对较短码对应于更有可能的符号,而较长码对应于较不可能的符号。以此方式,使用VLC可达成位节省(与(例如)针对待传输的每一符号使用等长度码字相比较)。概率确定可基于指派给符号的上下文。
[0068] 视频编码器20可进一步发送语法数据(例如,基于块的语法数据、基于图片的语法数据,和基于图片群组(GOP)的语法数据)到视频解码器30(例如,在图片标头、块标头、截块标头或GOP标头中)。GOP语法数据可描述相应GOP中的图片数目,且图片语法数据可指示用以编码对应图片的编码/预测模式。
[0069] 在一些实例中,视频编码器20可产生在解码视频数据时可使用的某些参数集,且视频解码器30可接收所述参数集。例如,参数集可包含通过分离地传信很少改变的信息来改善效率的SPS、PPS或VPS。此外,参数集的使用可允许实现重要标头信息的频带外传输,从而避免需要为了错误恢复进行冗余传输。在频带外传输实例中,参数集网络抽象层(NAL)单元可在不同于例如补充增强信息(SEI)NAL单元的其它NAL单元的信道上进行传输。
[0070] SEI NAL单元(称作SEI消息)可含有对于从VCL NAL单元解码经译码图片样本不必要但可辅助与解码、显示、错误恢复和其它用途相关的过程的信息。SEI消息可含于非VCL NAL单元中。SEI消息可包含于一些标准规范的规范性部分中,且因此对于顺应标准的解码器实施并非总是为强制的。SEI消息可为序列层级SEI消息或图片层级SEI消息。一些序列层级信息可含于SEI消息中,例如,SVC的实例中的可调性信息SEI消息和MVC中的视图可调性信息SEI消息中。
[0071] 在HEVC中,视频编码器20可定义操作点以指示子位流,可基于所述子位流的最高时间层级而从经编码位流提取所述子位流;以及nuh_reserved_zero_6bits的列表。例如,视频编码器20可传信根据下文展示的表1的操作点:
[0072] 表1:操作点
[0073]
[0074] 在以上表1中,等于1的op_layer_id_included_flag[opIdx][i]可指定,针对layer_id值的第opIdx集合存在具有等于i的layer_id的层。此外,等于1的op_layer_id_included_flag[opIdx][i]可指定,针对layer_id值的第opIdx集合不存在具有等于i的layer_id的层。
[0075] 视频编码器20也可在VPS中传信语法元素vps_max_nuh_reserved_zero_layer_id,其中vps_max_nuh_reserved_zero_layer_id指定操作点的OpLayerIdSet中的经译码视频序列中的所有NAL单元的nuh_reserved_zero_6bits的最大值,视频参数集中的opIdx-th hrd_parameters()语法结构应用到所述操作点。
[0076] 在一些个例中,视频编码器20可传信操作点以供对HEVC的多视图扩展(MV-HEVC)或3D-HEVC使用。MV-HEVC的多视图扩展和3D-HEVC的最新工作草案分别指定于以下两者中:在http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/1_Stockholm/wg11/JCT3V-A1004-v1.zip处可获得的“MV-HEVC工作草案1”(ITU-T SG16WP 3和ISO/IEC JTC 1/SC 29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年7月16日到20日瑞典斯德哥尔摩第1次会议,JCT3V-A1004),和在http://phenix.int-evry.fr/jct2/doc_end_user/documents/1_Stockholm/wg11/JCT3V-A1005-v1.zip处可获得的“3D-HEVC测试模型1”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的关于3D视频译码扩展开发的联合合作团队,2012年7月16日到20日瑞典斯德哥尔摩第1次会议,JCT3V-A1005)。
[0077] MV-HEVC和/或3D0-HEVC的操作点可仅在视频参数集中进行传信。例如,视频编码器20可传信每一操作点的待呈现并解码的视图。
[0078] 如上文所提及,定义于HEVC中的操作点对于位流提取用途可为足够的,但VPS不指定操作点的目标输出视图/层。即,VPS并不识别视频数据的希望被显示的特定层。
[0079] 在不知晓哪些层是目标输出层的情况下,不用于输出的某些层的经解码图片可能被保持于视频编码器20和/或视频解码器30的经解码图片缓冲器(DPB)中历时比所需时间长的时间,由此增加多视图序列的存储要求。此外,当多个视图包含于子位流中时,与服务器/内容递送网络34相关联的内容提供者可能想要控制哪些子位流由视频解码器30进行解码且经提供作为到显示装置32的输出,以控制观看体验。此控制在当前VPS方案下可能不可用。
[0080] 视频编码器20和视频解码器30可经配置以单独或以任何组合执行本发明的各种技术中的一或多者。例如,根据本发明的方面,视频编码器20可通过经编码位流中的一或多个语法元素来指示数据,所述数据指示具有多个视频数据层的操作点(例如,层集合)。此外,视频编码器20可编码指示操作点的输出操作点的一或多个语法元素,其中输出操作点与视频数据的多个层中的一或多个目标输出层相关联。
[0081] 同样,视频解码器30可从经编码位流获得数据,所述数据指示具有多个视频数据层的操作点(例如,层集合)。此外,视频解码器30可基于经编码位流的一或多个语法元素来确定操作点的输出操作点,其中输出操作点与视频数据的多个层中的一或多个目标输出层相关联。
[0082] 例如,根据本发明的方面,对于对HEVC的多视图扩展(MV-HEVC)或对HEVC的三维视频扩展(3DV,其可包含深度数据的一或多个层),视频编码器20可在VPS或VPS扩展中传信每一输出操作点的目标输出层。视频解码器30可接收此传信,且确定每一输出操作点的目标输出层。
[0083] 作为实例,关于MV-HEVC,输出操作点可指层集合,其具有属于包含于所述操作点中的视图的经识别目标输出视图的列表。如以下表2的实例中所展示,视频编码器20可在VPS扩展中传信输出操作点:
[0084] 表2-具有输出操作点的VPS扩展
[0085]
[0086]
[0087] 在以上表2的实例中,num_layer_operation_points可指定存在于视频参数集应用到的经译码视频序列中的输出操作点的最大数目。此外,op_point_index可识别操作点,基于所述操作点,形成当前第i输出操作点。此外,等于l的output_layer_flag[op_point_index][j]可指示具等于j的layer_id的层是当前第i输出操作点的输出目标。此外,等于0的output_layer_flag[j]可指示具等于j的layer_id的层并非当前第i输出操作点的输出目标。
[0088] 作为另一实例,如以下表3的实例中所展示,视频编码器20可在VPS中传信输出操作点:
[0089] 表3-具有输出操作点的VPS
[0090]
[0091] 在以上表3的实例中,num_target_views可指定当前第i输出操作点的目标输出视图的数目。此外,target_layer_id[i][j]可指定当前第i输出操作点的第j目标输出视图的layer_id。
[0092] 在再一实例中,视频编码器20可使用其它语法结构来传信目标输出视图。例如,视频编码器20可在SEI消息中编码指示目标输出视图的数据,或使用其它频带外传信技术。
[0093] 关于3D-HEVC,输出操作点可指操作点(例如,层集合),其具有属于包含于所述操作点中的视图的所识别目标输出纹理或深度视图的列表。视频编码器20可使用类似于上文关于MV-HEVC所描述的那些的语法和语义来传信3D-HEVC的输出操作点。然而,对于3D-HEVC,经传信为目标输出视图的每一layer_id可对应于深度视图抑或纹理视图。
[0094] 关于HSVC,操作点的目标输出层可被导出为具有数值上最高的layer_id的层。例如,输出操作点可为操作点(例如,层集合),其仅具有所述操作点中的被考虑供输出的具有最大layer_id的层。因此,视频解码器30可解码layer_id语法元素以确定特定操作点的输出操作点。
[0095] 因此,根据本发明的方面,如当前HEVC基本规范中所定义的一个操作点可对应于一或多个输出操作点,其中每一输出操作点具有不同目标输出视图和/或层。例如,视频编码器20可在经编码位流中传信经解码层的子集对于输出(例如,显示)可为所要的指示(且视频解码器30可通过剖析经编码位流来获得所述指示)。虽然上文关于视频编码器20进行了描述,但在一些实例中,服务器/内容递送网络34可负责进行此传信。
[0096] 例如,服务器/内容递送网络34可确定位流的哪些层对于输出是最佳的。在此实例中,服务器/内容递送网络34可负责产生和/或变更VPS、VPS扩展、SEI消息或用于指示输出操作点的目标输出层的其它结构。
[0097] 关于经解码图片缓冲器(如(例如)关于图2和3所描述,也称作参考图片存储器)管理,根据本发明的方面,当输出操作点正被解码时,视频编码器20和/或视频解码器30可从经解码图片缓冲器去除并非输出目标的层的经解码图片,只要所述图片对于时间预测(例如,层或视图内的帧间预测)或层间/视图间预测来说不再被需要便可。例如,为了促进去除,视频编码器20可将并不属于目标输出视图或层的层的每一视图分量的PicOutputFlag设定为等于0。因此,视频编码器20和/或视频解码器30可确定哪些图片不用于参考且不用于输出,且基于所述确定从经解码图片缓冲器去除这些图片。
[0098] 图2为根据本发明的方面的说明可实施用于确定一或多个目标输出层的技术的视频编码器20的实例的框图。视频编码器20可执行视频截块内的视频块的帧内译码和帧间译码。帧内译码依赖于空间预测以减少或去除给定视频图片内的视频中的空间冗余。帧间译码依赖于时间预测以减少或去除视频序列的邻近图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指若干基于时间的译码模式中的任一者。
[0099] 如上文所提及,视频编码器20可经调适以执行多视图和/或可缩放视频译码。在一些个例中,视频编码器20可经配置以符合MV-HEVC视频译码标准,使得时间执行个体中的每一视图可由例如视频解码器30的解码器来处理。在其它个例中,视频编码器20可经配置以符合3D-HEVC视频译码标准,且可经配置以除编码每一视图的纹理图(即,明度和色度值)外也编码每一视图的深度图。在再其它个例中,视频编码器20可经配置以根据HSVC视频译码标准来编码多个可缩放视频数据层。虽然参看特定译码标准,但应理解,所述技术并非特定针对任何一个译码标准,且可与将来和/或尚未开发出的标准一起实施。
[0100] 在任何状况下,如图2中所展示,视频编码器20接收待编码的视频图片内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、参考图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46和分割单元48。对于视频块重建构,视频编码器20也包含反量化单元58、反变换单元60和求和器62。解块滤波器(图2中未展示)也可被包含以对块边界进行滤波从而从经重建构的视频去除方块效应伪影。如果需要,那么解块滤波器通常将对求和器62的输出进行滤波。除解块滤波器外,也可使用额外滤波器(回路内或回路后)。为简洁起见,未展示这些滤波器,但这些滤波器在需要时可对求和器50的输出进行滤波(作为回路内滤波器)。
[0101] 在编码过程期间,视频编码器20接收待译码的视频图片或截块。可将图片或截块划分成多个视频块。运动估计单元42和运动补偿单元44执行相对于一或多个参考图片中的一或多个块的对所接收视频块的帧间预测性译码以提供时间预测。帧内预测单元46可替代性地执行相对于在与待译码块相同的图片或截块中的一或多个相邻块的对所接收视频块的帧内预测性译码以提供空间预测。视频编码器20可执行多个译码遍次(例如)以针对视频数据的每一块选择适当译码模式。
[0102] 此外,分割单元48可基于对先前译码遍次中的先前分割方案的评估而将视频数据的块分割成子块。例如,分割单元48可最初基于速率-失真分析(例如,速率-失真优化)将图片或截块分割成LCU,且将所述LCU中的每一者分割成子CU。模式选择单元40可进一步产生指示LCU到子CU的分割的四分树数据结构。四分树的叶节点CU可包含一或多个PU和一或多个TU。
[0103] 模式选择单元40可(例如)基于错误结果而选择译码模式(帧内或帧间)中的一者,且将所得帧内或帧间译码的块提供到求和器50以产生残余块数据,并提供到求和器62以重建构经编码块来用作参考图片。模式选择单元40也将语法元素(例如运动向量、帧内模式指示符、分割信息和其它此语法信息)提供到熵编码单元56。
[0104] 运动估计单元42和运动补偿单元44可高度集成,但为概念目的而分离地说明。由运动估计单元42执行的运动估计为产生运动向量的过程,运动向量估计视频块的运动。例如,运动向量可指示当前图片内的视频块的PU相对于参考图片内的预测性块(或其它经译码单元)的移位,所述预测性块是相对于当前图片内正被译码的当前块(或其它经译码单元)。预测性块为被发现在像素差方面紧密地匹配于待译码块的块,所述像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差度量予以确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的次整数像素位置的值。例如,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分率像素位置的值。因此,运动估计单元42可执行相对于全像素位置和分率像素位置的运动搜索,且以分率像素精度输出运动向量。
[0105] 运动估计单元42通过比较帧间译码截块中的视频块的PU的位置与参考图片的预测性块的位置而计算所述PU的运动向量。参考图片可从第一参考图片列表(列表0)或第二参考图片列表(列表1)选择,所述列表中的每一者识别存储于参考图片存储器64中的一或多个参考图片。运动估计单元42将经计算运动向量发送到熵编码单元56和运动补偿单元44。
[0106] 由运动补偿单元44执行的运动补偿可涉及到基于由运动估计单元42确定的运动向量来提取或产生预测性块。再一次,在一些实例中,运动估计单元42和运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动向量时,运动补偿单元44可将运动向量所指向的预测性块定位于参考图片列表中的一者中。求和器50通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。一般来说,运动估计单元42执行关于明度分量的运动估计,且运动补偿单元44将基于所述明度分量所计算的运动向量用于色度分量与明度分量两者。模式选择单元40也可产生与视频块和视频截块相关联的语法元素以供视频解码器30用于解码视频截块的视频块。
[0107] 作为由运动估计单元42和运动补偿单元44执行的帧间预测的替代例,帧内预测单元46可帧内预测当前块,如上文所描述。明确地说,帧内预测单元46可确定用来编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在分离的编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中,模式选择单元40)可从所测试的模式选择适当帧内预测模式以使用。
[0108] 例如,帧内预测单元46可使用对各种经测试的帧内预测模式的速率-失真分析而计算速率-失真值,且在经测试的模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析通常确定经编码块与经编码以产生经编码块的原始未经编码块之间的失真(或错误)量,以及用以产生经编码块的位速率(即,位数目)。帧内预测单元46可根据各种经编码块的失真和速率计算比率以确定哪一帧内预测模式展现块的最佳速率-失真值。
[0109] 在选择块的帧内预测模式之后,帧内预测单元46可将指示块的所选择帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示所选择帧内预测模式的信息。视频编码器20可在经传输的位流中包含配置数据,其可包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也被称作码字映射表)、各种块的编码上下文的定义和将用于所述上下文中的每一者的最有可能的帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示。
[0110] 视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换的变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换。也可使用小波变换、整数变换、子频带变换或其它类型的变换。
[0111] 在任何状况下,变换处理单元52将变换应用于残余块,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域(例如频域)。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减少位速率。所述量化过程可减少与所述系数中的一些或所有相关联的位深度。可通过调整量化参数而修改量化程度。在一些实例中,量化单元54可接着执行包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可执行所述扫描。
[0112] 在量化之后,熵编码单元56熵译码经量化的变换系数。例如,熵编码单元56可执行上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的状况下,上下文可基于相邻块。在通过熵编码单元56进行熵译码之后,可将经编码位流传输到另一装置(例如,视频解码器30)或经封存以供稍后传输或检索。
[0113] 反量化单元58和反变换单元60分别应用反量化和反变换以在像素域中重建构残余块,(例如)以供稍后用作参考块。运动补偿单元44可通过将残余块加到参考图片存储器64的图片中的一者的预测性块来计算参考块。运动补偿单元44也可将一或多个内插滤波器应用于经重建构的残余块以计算次整数像素值以供用于运动估计中。求和器62将经重建构的残余块加到由运动补偿单元44产生的运动补偿预测块,以产生经重建构的视频块以供存储于参考图片存储器64中。经重建构的视频块可由运动估计单元42和运动补偿单元44用作参考块以对后续视频图片中的块进行帧间译码。
[0114] 视频编码器20可产生如上文所描述的数个语法元素,所述语法元素可由熵编码单元56或视频编码器20的另一编码单元来编码。在一些实例中,视频编码器20可产生并编码用于多视图和/或多层位流的语法元素,如上文所描述。
[0115] 例如,根据本发明的方面,熵编码单元56可将指示具有多个视频数据层的操作点(例如,层集合)的一或多个语法元素编码于经编码位流中。此外,熵编码单元56可编码指示层集合的输出操作点的一或多个语法元素,其中输出操作点与视频数据的多个层中的一或多个目标输出层相关联。
[0116] 在一些实例中,根据本发明的方面,视频编码器20可根据例如MV-HEVC、3D-HEVC或HSVC的视频译码标准来指示输出操作点的目标输出层。例如,关于多视图视频译码(例如,MV-HEVC或3D-HEVC),视频编码器20可编码VPS扩展(例如,例如关于以上表2的实例所展示并描述的所述VPS扩展)、VPS(例如,例如关于以上表3的实例展示并描述的VPS)、SEI消息或其它消息以指示一或多个输出操作点,其中每一输出操作点具有相关联的目标输出层。如上文所提及,当编码深度视图时,输出操作点可指如下一操作点:其具有属于包含于所述操作点中的视图的所识别目标输出纹理或深度视图的列表。
[0117] 关于HSVC,视频编码器20可将layer_id编码到每一视频数据层,以识别每一视频数据层(如(例如)关于以下图5更详细描述)。根据本发明的方面,输出操作点可为一操作点,其仅具有所述操作点中的被考虑用于输出的具有最大layer_id的层。
[0118] 因此,根据本发明的方面,如当前HEVC基本规范中所定义,一个操作点可对应于一或多个输出操作点,其中每一输出操作点具有不同目标输出视图和/或层。例如,视频编码器20可在经编码位流中传信经解码层的子集对于输出(例如,显示)可为所要的指示。
[0119] 根据本发明的一些方面,视频编码器20可基于所确定的输出操作点和目标输出层而从参考图片存储器64去除一或多个图片。例如,视频编码器20可从参考图片存储器64去除并非输出目标且并不需要用于时间预测(例如,层或视图内的帧间预测)或层间/视图间预测的图片。
[0120] 以此方式,视频编码器20表示经配置以编码包含多个层集合的多个视频数据层的视频编码器的一个实例,其中每一层集合含有多个层中的一或多个视频数据层。视频编码器20也经配置以编码位流的一或多个语法元素从而指示一或多个输出操作点,其中每一输出操作点与所述多个层集合中的一个层集合和所述多个层中的一或多个目标输出层相关联。
[0121] 图3为根据本发明的方面的说明可实施用于确定一或多个目标输出层的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考图片存储器82和求和器80。
[0122] 如上文所提及,视频解码器30可经调适以执行多视图和/或可缩放视频译码。在一些个例中,视频解码器30可经配置以符合MV-HEVC视频译码标准。在其它个例中,视频解码器30可经配置以符合3D-HEVC视频译码标准,且可经配置以除编码每一视图的纹理图(即,明度和色度值)外也解码每一视图的深度图。在再其它个例中,视频解码器30可经配置以根据HSVC视频译码标准来解码多个可缩放视频数据层。虽然参看特定译码标准,但应理解,所述技术并非特定针对任何一个译码标准,且可与将来和/或尚未开发出的标准一起实施。
[0123] 在一些实例中,视频解码器30可执行解码遍次,所述解码遍次大体上与关于视频编码器20(图2)所描述的编码遍次互逆。运动补偿单元72可基于从熵解码单元70接收的运动向量而产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符而产生预测数据。
[0124] 在解码过程期间,视频解码器30从视频编码器20接收经编码视频位流,所述视频位流表示经编码视频截块的视频块和相关联的语法元素。视频解码器30可接收视频截块层级和/或视频块层级的语法元素。
[0125] 熵解码单元70解码位流以产生经量化的系数、运动向量或帧内预测模式指示符和其它语法元素。在一些实例中,熵解码单元70或视频解码器的另一单元可剖析并解码来自多视图和/或多层位流的语法元素,如上文所描述。
[0126] 根据本发明的方面,熵解码单元70可从经编码位流获得数据,所述数据指示具有多个视频数据层的操作点(例如,层集合)。此外,熵解码单元70可对指示操作点的输出操作点的一或多个语法元素进行解码,其中输出操作点与视频数据的多个层中的一或多个目标输出层相关联。视频解码器30可基于一或多个语法元素来确定输出操作点和目标输出层。
[0127] 在一些实例中,根据本发明的方面,视频解码器30可符合视频译码标准,例如,MV-HEVC、3D-HEVC或HSVC。例如,关于多视图视频译码(例如,MV-HEVC或3D-HEVC),视频解码器30可基于指示于以下各者中的输出操作点和目标输出层来剖析来自所接收的经编码位流的子位流:VPS扩展(例如,例如关于以上表2的实例所展示并描述的VPS扩展)、VPS(例如,例如关于以上表3的实例所展示并描述的VPS)、SEI消息或其它消息。当解码深度视图时,输出操作点可指一操作点,其具有属于包含于所述操作点中的视图的所识别目标输出纹理或深度视图的列表。
[0128] 关于HSVC,熵解码单元70可解码每一视频数据层的layer_id。根据本发明的方面,视频解码器30可基于操作点中的具有最大layer_id的层推断输出操作点。
[0129] 因此,根据本发明的方面,如当前HEVC基本规范中所定义的一个操作点可对应于一或多个输出操作点,其中每一输出操作点具有不同目标输出视图和/或层。熵解码单元70可基于从所接收的经编码位流剖析并解码得到的一或多个语法元素来解码包含目标输出层的子位流。
[0130] 熵解码单元70将运动向量和其它语法元素转递到运动补偿单元72。对于特定输出层,当视频截块经译码为帧内译码(I)截块时,帧内预测单元74可基于经传信的帧内预测模式和来自当前图片的先前经解码块的数据而产生当前视频截块的视频块的预测数据。当视频图片被译码为帧间译码(即,B、P或GPB)截块时,运动补偿单元72基于从熵解码单元70接收的运动向量和其它语法元素而产生当前视频截块的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储于参考图片存储器82中的参考图片,使用默认建构技术来建构参考图片列表(列表0和列表1)。
[0131] 运动补偿单元72通过剖析运动向量和其它语法元素而确定当前视频截块的视频块的预测信息,且使用所述预测信息以产生正被解码的当前视频块的预测性块。例如,运动补偿单元72使用一些所接收的语法元素以确定用以译码视频截块的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测截块类型(例如,B截块、P截块或GPB截块)、截块的参考图片列表中的一或多者的建构信息、截块的每一帧间编码视频块的运动向量、截块的每一帧间译码视频块的帧间预测状态,和用以解码当前视频截块中的视频块的其它信息。
[0132] 运动补偿单元72可使用经解码运动向量以从先前经解码图片(例如,从参考图片存储器82)检索数据。运动补偿单元72也可基于内插滤波器执行内插。运动补偿单元72可使用如由视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的次整数像素的内插值。在此状况下,运动补偿单元72可从所接收的语法元素确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
[0133] 反量化单元76反量化(即,解量化)提供于位流中且由熵解码单元70解码的经量化变换系数。反量化过程可包含使用由视频解码器30针对视频截块中的每一视频块计算的量化参数QPY来确定应所述应用的量化程度且同样反量化程度。反变换单元78将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数,以便在像素域中产生残余块。
[0134] 在运动补偿单元72基于运动向量和其它语法元素产生当前视频块的预测性块之后,视频解码器30通过将来自反变换单元78的残余块与由运动补偿单元72产生的对应预测性块求和而形成经解码的视频块。求和器80表示执行此求和运算的(多个)组件。如果需要,也可应用解块滤波器来对经解码块滤波以便去除方块效应伪影。其它回路滤波器(译码回路内抑或译码回路后)也可用以使像素转变平滑,或以其它方式改善视频质量。接着将给定图片中的经解码的视频块存储于参考图片存储器82中,参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82也存储经解码的视频以用于稍后在显示装置(例如,图1的显示装置32)上呈现。
[0135] 根据本发明的一些方面,视频解码器30可基于所确定的输出操作点和目标输出层而从参考图片存储器82去除一或多个图片。例如,视频解码器30可从参考图片存储器82去除并非输出目标且不需要用于时间预测(例如,层或视图内的帧间预测)或层间/视图间预测的图片。视频解码器30可基于经解码位流的一或多个语法元素来确定参考图片存储器82的图片是否用于预测或包含于目标输出层中。例如,熵解码单元70可解码层的每一视图分量的PicOutputFlag,所述PicOutputFlag指示图片是否属于目标输出视图。视频解码器30可从参考图片存储器82去除并不属于目标输出视图且在解码期间被标记为“不用于参考”的图片。
[0136] 因此,在一实例中,视频解码器30可解码与层集合相关联的一或多个输出部分点中的输出操作点,以及解码包含一或多个层的经解码但不输出层的集合,所述一或多个层并非一或多个目标输出层中的一者,但属于层集合。此外,视频解码器30可将经解码图片缓冲器中的包含于一或多个目标输出层中的第一经解码图片标记为待用于输出的图片,且将经解码图片缓冲器中的包含于经解码但并非输出层的集合中的第二经解码图片标记为不用于输出的图片,使得不用于输出的图片被早于待用于输出的图片从经解码图片缓冲器去除。此外,视频解码器30可确定被标记为不用于输出的图片是否用于帧间预测和层间预测中的一者,且在不用于输出的图片不用于帧间预测和层间预测中的一者时从经解码图片缓冲器去除被标记为不用于输出的图片。
[0137] 以此方式,视频解码器30表示可从多层位流获得包含多个层集合的多个视频数据层的视频解码器30的一个实例,其中每一层集合含有多个层中的一或多个视频数据层。视频解码器30也可基于位流的一或多个语法元素来确定一或多个输出操作点,其中每一输出操作点与所述多个层集合中的一个层集合和多个层中的一或多个目标输出层相关联。
[0138] 图4为说明实例MVC预测型样的概念图。虽然关于H.264/AVC和MVC描述图4,但应理解,类似预测型样可供包含MV-HEVC和3D-HEVC(多视图加深度)的其它多视图视频译码方案使用。因此,以下对MVC的参考大体上应用到多视图视频译码,且并不限于H.264/MVC。
[0139] 在图4的实例中,说明八个视图(具有视图ID“S0”到“S7”),且针对每一视图说明十二个时间位置(“T0”到“T11”)。即,图4中的每一列对应于一个视图,而每一行指示一个时间位置。
[0140] 尽管MVC具有可由H.264/AVC解码器解码的所谓基本视图,且立体视图对也可由MVC支持,但MVC的优点为,其可支持使用两个以上视图作为3D视频输入并解码由多个视图表示的此3D视频的实例。具有MVC解码器的用户端的呈现器可预期具有多个视图的3D视频内容。
[0141] 在图4中的每一列与每一行的交叉点处使用包含字母的画有阴影的方块来指示图4中的图片,所述字母指明对应图片经帧内译码(即,I帧),抑或在一个方向上经帧间译码(即,作为P帧),抑或在多个方向上经帧间译码(即,作为B帧)。一般来说,用箭头指示预测,其中所指入(pointed-to)的图片将所指出(point-from)的物件用于预测参考。例如,从视图S0的处于时间位置T0的I帧来预测视图S2的处于时间位置T0的P帧。
[0142] 如同单一视图视频编码一样,可关于不同时间位置处的图片预测性地编码多视图视频译码视频序列的图片。例如,视图S0的处于时间位置T1的b帧具有从视图S0的处于时间位置T0的I帧指入其的箭头,从而指示从所述I帧预测所述b帧。然而,另外,在多视图视频编码的内容脉络中,可对图片进行视图间预测。即,视图分量可将其它视图中的视图分量用于参考。例如,在MVC中,实现视图间预测,就如同另一视图中的视图分量为帧间预测参考一样。潜在的视图间参考在序列参数集(SPS)MVC扩展中加以传信,且可通过参考图片列表建构过程来修改,此情形允许实现帧间预测或视图间预测参考的灵活排序。
[0143] 在MVC中,允许在同一存取单元(即,具有同一时间执行个体)中的图片当中的视图间预测。通常,存取单元是包含针对共同时间执行个体的所有视图分量(例如,所有NAL单元)的数据单元。因此,在MVC中,准许在同一存取单元中的图片当中的视图间预测。当对非基本视图中的一者中的图片进行译码时,在所述图片在不同视图中但具有同一时间执行个体(例如,同一POC值,且因此在同一存取单元中)的情况下,所述图片可被添加到参考图片列表中。正如任何帧间预测参考图片一样,视图间预测参考图片可被放置于参考图片列表的任何位置中。
[0144] 图4提供视图间预测的各种实例。在图4的实例中,视图S1的图片被说明为从视图S1的不同时间位置处的图片而预测得到,以及从视图S0和S2的在同一时间位置处的图片而视图间预测得到。例如,从视图S1的处于时间位置T0与T2的B帧中的每一者以及从视图S0与S2的处于时间位置T1的b帧预测视图S1的处于时间位置T1的b帧。
[0145] 在图4的实例中,大写字母“B”和小写字母“b”希望指示图片之间的不同阶层架构关系而非不同编码方法。一般来说,大写字母“B”图片在预测阶层架构上相较于小写字母“b”图片较高。图4也使用不同等级的阴影来说明预测阶层架构的变化,其中较大量的阴影(即,相对较深)图片在预测阶层架构上高于具有较少阴影(即,相对较浅)的那些图片。例如,以完全阴影来说明图4中的所有I帧,而P帧具有稍微较浅的阴影,且B帧(和小写字母b帧)具有相对于彼此的各种等级的阴影,但始终比P帧和I帧的阴影浅。
[0146] 一般来说,预测阶层架构与视图次序索引有关,这是因为应在解码在预测阶层架构中相对较低的图片之前解码在所述阶层架构中相对较高的图片,使得所述阶层架构中的相对较高的那些图片可在解码所述阶层架构中的相对较低的图片期间被用作参考图片。视图次序索引为指示存取单元中的视图分量的解码次序的索引。如在H.264/AVC的附录H(MVC修正)中所指定,视图次序索引隐含于SPS MVC扩展中。在SPS中,对于每一索引i,传信对应view_id。在一些实例中,视图分量的解码应遵循视图次序索引的升序。如果呈现所有视图,那么视图次序索引呈从0到num_views_minus_1的连续次序。
[0147] 以此方式,用作参考图片的图片可在解码参考所述参考图片而编码的图片之前予以解码。视图次序索引为指示存取单元中的视图分量的解码次序的索引。对于每一视图次序索引i,传信对应view_id。视图分量的解码遵循视图次序索引的升序。如果呈现所有视图,那么视图次序索引的集合可包括从零到比视图的总数小一的连续排序的集合。
[0148] 对于处于阶层架构的相等层级的某些图片来说,相对于彼此的解码次序可能并不重要。例如,视图S0在时间位置T0处的I帧被用作视图S2在时间位置T0处的P帧的参考图片,所述P帧又用作视图S4在时间位置T0处的P帧的参考图片。因此,视图S0在时间位置T0处的I帧应在视图S2在时间位置T0处的P帧之前进行解码,视图S2在时间位置T0处的P帧应在视图S4在时间位置T0处的P帧之前进行解码。然而,在视图S1与S3之间,解码次序并不重要,这是因为视图S1和S3并不依赖于彼此以进行预测,而是仅从预测阶层架构上的较高视图进行预测。此外,视图S1可在视图S4之前经解码,只要视图S1在视图S0和S2之后经解码便可。
[0149] 以此方式,阶层架构排序可用以描述视图S0到S7。使记法SA>SB意味着视图SA应在视图SB之前经解码。在图4的实例中,使用此记法,S0>S2>S4>S6>S7。又,关于图4的实例,S0>S1,S2>S1,S2>S3,S4>S3,S4>S5,且S6>S5。可能遵循不违反这些要求的视图的任何解码次序。因此,许多不同解码次序是可能的。
[0150] 根据本发明的方面,视频译码器(例如,视频编码器20或视频解码器30)可确定具有一或多个目标输出层的输出操作点。例如,视频编码器20可从展示于图4中的多视图结构来确定一或多个目标输出层,且将指示目标输出层的数据编码于经编码位流中。同样,视频解码器30可基于从经编码位流剖析并解码得到的数据来确定包含一或多个目标输出层的输出操作点。
[0151] 例如,视频编码器20可编码VPS扩展(例如,例如关于以上表2的实例所展示并描述的VPS扩展)、VPS(例如,例如关于以上表3的实例展示并描述的VPS)、SEI消息或其它消息以指示一或多个输出操作点,其中每一输出操作点具有相关联的目标输出层。如上文所提及,当编码深度视图时,输出操作点可指一操作点,其具有属于包含于操作点中的视图的所识别目标输出纹理或深度视图的列表。
[0152] 视频解码器30可接收数据,且确定用于显示的目标输出视图。作为一实例,视频解码器30可接收包含视图S0、S2、S4和S6的操作点。视频解码器30可基于包含于位流中的语法元素来确定,立体输出操作点的目标输出视图包含视图S0和S4。视频解码器30可解码S0、S2、S4和S6中的每一者,但可仅输出视图S0和S4。
[0153] 图5为说明可缩放视频译码的概念图。虽然关于H.264/AVC和SVC来描述图5,但应理解,可使用包含HSVC的其它多层视频译码方案来译码类似层。因此,以下对SVC的参考可大体上应用到可缩放视频译码,且并不限于H.264/SVC。
[0154] 在SVC中,在包含以下各者的三个维度上启用可调性:(例如)空间、时间和质量(表示为位速率或信噪比(SNR))。一般来说,通常可通过添加到任何维度中的表示来达成更好的表示。例如,在图5的实例中,层0是以具有7.5Hz的帧率和64千字节/秒(KBPS)的位速率的四分之一共同中间格式(Quarter Common Intermediate Format,QCIF)来译码。此外,层1是以具有15Hz的帧率和64KBPS的位速率的QCIF来译码,层2是以具有15Hz的帧率和256KBPS的位速率的CIF来译码,层3是以具有7.5Hz的帧率和512KBPS的位速率的QCIF来译码,且层4是以具有30Hz的帧率和1兆字节/秒(MBPS)的位速率的4CIF来译码。应理解,仅为了举例目的而提供展示于图5中的层的特定数目、内容和布置。
[0155] 在任何状况下,一旦视频编码器(例如,视频编码器20)已用可缩放方式编码内容,视频解码器(例如,视频解码器30)便可使用提取器工具来根据应用要求调适实际递送的内容,所述应用要求可取决于(例如)用户端或传输信道。
[0156] 在SVC中,具有最低空间和质量层的图片通常与H.264/AVC兼容。在图5的实例中,具有最低空间和质量层的图片(层0和层1中的图片,以QCIF分辨率)可与H.264/AVC兼容。在那些图片当中,具有最低时间层级的那些图片形成时间基本层(层0)。可通过具有较高时间层级(层1)的图片来增强此时间基本层(层0)。
[0157] 除H.264/AVC兼容层外,还可添加若干空间和/或质量增强层以提供空间和/或质量可调性。每一空间或质量增强层自身可为时间上可调的,其与H.264/AVC兼容层具有相同的时间可调性结构。
[0158] 根据本发明的方面,视频译码器(例如,视频编码器20或视频解码器30)可确定具有一或多个目标输出层的输出操作点。例如,视频编码器20可确定一或多个目标输出层,且将指示目标输出层的数据编码于经编码位流中。同样,视频解码器30可基于从经编码位流剖析并解码得到的数据来确定包含一或多个目标输出层的输出操作点。
[0159] 在一些实例中,可基于操作点的layer_id来导出目标输出层。例如,视频解码器30可解码包含层0、层1和层2的操作点。在此实例中,视频解码器30可基于最高layer_id(例如,层2)来确定输出操作点。因而,视频解码器30可输出层2的图片作为目标输出图片。
[0160] 图6为根据本发明的方面的说明用于编码输出操作点的实例过程的流程图。尽管关于视频编码器20(图1和2)进行描述,但应理解,其它装置可经配置以执行类似于图6的方法的方法。
[0161] 在此实例中,视频编码器20可编码层集合的多个视频数据层(100)。例如,视频编码器20可编码多视图位流(包含例如符合MV-HEVC标准或3D-HEVC标准的位流)的多个视频数据视图。在此实例中,层集合可包含解码位流所需的多个视频数据视图以及希望输出(例如,由解码位流的用户端装置显示)的视频数据视图。在另一实例中,视频编码器20可编码可缩放位流(包含例如符合HSVC标准的位流)的多个可缩放视频数据层。在此实例中,层集合可包含仅为解码位流所需的多个视频数据层(例如,“并非待输出层”)以及希望输出的视频数据层。
[0162] 视频编码器20可确定多个层中的哪些层是目标输出层(102)。目标输出层可包含希望输出的层,所述层在显示时提供视频数据的可检视表示。可基于表示的所要质量、视频译码装置的能力、频宽考虑事项或其它因子来选择目标输出层。
[0163] 视频编码器20可编码指示输出操作点的数据,所述输出操作点包含所确定的目标输出层(104)。例如,视频编码器20可编码指示目标输出层的一或多个语法元素,且将这些语法元素包含于参数集中。如上文关于表2和表3所描述,视频编码器20可将指示输出操作点的数据编码于VPS扩展或VPS中。在其它实例中,视频编码器20可将指示输出操作点的数据编码于SPS或其它消息中。视频编码器20可接着输出经熵编码的数据(例如,以供存储或传输到另一装置)(106)。
[0164] 图7为根据本发明的方面的说明用于解码输出操作点的实例过程的流程图。尽管关于视频解码器30(图1和3)进行描述,但应理解,其它装置可经配置以执行类似于图7的方法的方法。
[0165] 最初,视频解码器30解码层集合的多个视频数据层(120)。例如,视频解码器30可解码多视图位流(包含例如符合MV-HEVC标准或3D-HEVC标准的位流)的多个视频数据视图。在此实例中,层集合可包含解码位流所需的多个视频数据视图以及希望输出的视频数据视图。在另一实例中,视频解码器30可解码可缩放位流(包含例如符合HSVC标准的位流)的多个可缩放视频数据层。在此实例中,层集合可包含解码位流所需的多个视频数据层以及希望输出的视频数据层。
[0166] 视频解码器30也可解码指示输出操作点的数据,所述输出操作点包含一或多个目标输出层(122)。如上文所提及,目标输出层可包含希望输出的层,所述层在显示时提供视频数据的可检视表示。在一些实例中,目标输出层可为已被解码的多个层的子集。
[0167] 指示目标输出层的数据可包含指示目标输出层的一或多个语法元素。如上文所描述,这些语法元素可包含于VPS扩展、VPS、SPS或另一类型的消息中。
[0168] 视频解码器30可基于数据从位流提取目标输出层(124)。例如,视频解码器30可从位流提取含有目标输出层的一或多个子位流。视频解码器30也可解码一或多个子位流。视频解码器30可接着输出目标输出层以供显示(例如,由显示装置32(图1)来显示)(126)。
[0169] 因此,视频解码器30获得包含多个层集合的多个视频数据层,其中每一层集合含有多个层中的一或多个视频数据层;且基于位流的一或多个语法元素来确定一或多个输出操作点,其中每一输出操作点与多个层集合中的一层集合和多个层中的一或多个目标输出层相关联。
[0170] 应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列执行、可经添加、合并或完全省略(例如,对于实践所述技术来说并非所有所描述的动作或事件皆是必要的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多个处理器并行而非顺序地执行动作或事件。
[0171] 为了说明的目的,已关于开发中的HEVC标准而描述了本发明的某些方面。然而,本发明中所描述的技术可用于其它视频译码过程,包含尚未开发出的其它标准或专有视频译码过程。
[0172] 如本发明中所描述的视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样,在适用时,视频译码可指视频编码或视频解码。
[0173] 在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)为非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0174] 通过实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。又,任何连接可适当地称为计算机可读媒体。例如,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或无线技术(例如,红外线、无线电和微波)而从网站、服务器或其它远端源传输指令,那么同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电和微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是针对非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各物的组合也应包含于计算机可读媒体的范围内。
[0175] 可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器来执行指令。因此,本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。此外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编码解码器中。又,所述技术可完全以一或多个电路或逻辑元件来实施。
[0176] 本发明的技术可以多种装置或设备予以实施,所述装置或设备包含无线手机、集成电路(IC)或IC集合(例如,芯片集)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求通过不同硬件单元来实现。确切来说,如上文所描述,可将各种单元组合于编码解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合结合合适软件和/或固件来提供所述单元。
[0177] 已描述各种实例。这些和其它实例在以下权利要求书的范围内。