用于视频译码的参数集的指示及激活的方法、装置转让专利

申请号 : CN201380048905.X

文献号 : CN104662904B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王益魁

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

摘要 :

在一些实例中,视频编码器包含在SEI消息中的多个序列参数集SPS ID,使得可向视频解码器指示多个有效SPS。在一些实例中,视频解码器经由参考SEI消息,例如基于将所述VPS ID及一或多个SPS ID包含于所述SEI消息中,而激活视频参数集VPS及/或一或多个SPS。作为实例,所述SEI消息可为有效参数集SEI消息或缓冲周期SEI消息。

权利要求 :

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

解码包含视频数据及用于解码所述视频数据的语法信息的位流,其中所述语法信息包括有效参数集补充增强信息SEI消息,其中所述有效参数集SEI消息指示一或多个序列参数集SPS及一视频参数集VPS,且其中所述有效参数集SEI消息是包括所述有效参数集SEI消息及所述视频数据的存取单元的第一SEI网络抽象层单元中的第一SEI消息;

基于所述有效参数集SEI消息中的所述一或多个SPS及所述VPS的所述指示来激活用于解码所述视频数据的所述一或多个SPS及所述VPS;及基于所述一或多个经激活SPS及所述经激活VPS来解码所述视频数据。

2.根据权利要求1所述的方法,其中所述有效参数集SEI消息指示多个SPS,激活所述一或多个SPS包括基于所述有效参数集SEI消息中的所述多个SPS的所述指示而激活所述多个SPS,且基于所述一或多个经激活SPS来解码所述视频数据包括基于所述多个经激活SPS来解码所述视频数据。

3.根据权利要求2所述的方法,

其中所述视频数据包括多个层或多个视图中的至少一者,

其中所述多个SPS中的每一者与所述多个层或多个视图中的相应一或多者相关联,且其中基于所述多个SPS来解码所述视频数据包括对于所述层或视图中的每一者,基于与所述层或视图相关联的所述SPS来解码所述层或视图的所述视频数据。

4.根据权利要求1所述的方法,其中所述有效参数集SEI消息包含指示所述多个SPS中的第一SPS的第一语法元素,指定所述有效参数集SEI消息中指示的额外SPS的数目的第二语法元素,及分别指示所述额外SPS的一或多个额外语法元素。

5.根据权利要求4所述的方法,其中所述第一语法元素包括active_seq_param_set_id语法元素,所述第二语法元素包括num_additional_sps_ids_minus1语法元素,且所述一或多个额外语法元素包括additional_active_sps_id[i]语法元素,其中i=0;i≤num_additional_sps_ids_minus1;i++。

6.根据权利要求1所述的方法,其中所述有效参数集SEI消息包含指定所述多个SPS的数目的第一语法元素,及分别指示所述多个SPS的一或多个额外语法元素。

7.根据权利要求6所述的方法,其中所述第一语法元素包括num_sps_ids_minus1语法元素,且所述一或多个额外语法元素包括active_sps_id[i]语法元素,其中i=0;i≤num_additional_sps_ids_minus1;i++。

8.根据权利要求1所述的方法,其中所述语法信息进一步包括排除了所述一或多个SPS的任一指示的缓冲周期SEI消息。

9.根据权利要求1所述的方法,其中所述有效参数集SEI消息按解码次序在包括所述有效参数集SEI消息及所述视频数据的存取单元的第一视频译码层网络抽象层单元之前。

10.根据权利要求1所述的方法,其中基于所述有效参数集SEI消息中的所述一或多个SPS及所述VPS的所述指示而激活用于解码所述视频数据的所述一或多个SPS及所述VPS包括:基于所述有效参数集SEI消息中的所述指示而识别用于所述一或多个SPS及所述VPS的原始字节序列有效负载RBSP;及将所述RBSP复制到相应视频解码器数据结构中,

其中基于所述一或多个经激活SPS及所述经激活VPS而解码所述视频数据包括基于所述视频解码器数据结构中的所述RBSP而解码所述视频数据。

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

编码包含视频数据及用于解码所述视频数据的语法信息的位流,其中所述语法信息包括有效参数集补充增强信息SEI消息,其中所述有效参数集SEI消息指示一或多个序列参数集SPS及一视频参数集VPS,且其中编码所述位流包括编码所述位流使得所述有效参数集SEI消息为包括所述视频数据及所述有效参数集SEI消息的存取单元的第一SEI网络抽象层单元中的第一SEI消息;及基于所述有效参数集SEI消息中指示的所述一或多个SPS及所述VPS来编码所述视频数据,其中编码所述位流以包含所述有效参数集SEI消息包括编码所述位流而使得视频解码器响应于所述有效参数集SEI消息中的所述一或多个SPS及所述VPS的所述指示而激活用于解码所述视频数据的所述一或多个SPS及所述VPS。

12.根据权利要求11所述的方法,其中所述有效参数集SEI消息指示多个SPS,基于所述一或多个SPS来编码所述视频数据包括基于所述多个SPS来编码所述视频数据,且其中编码所述位流使得所述视频解码器激活所述一或多个SPS及所述VPS包括编码所述位流而使得视频解码器响应于所述有效参数集SEI消息中的所述多个SPS及所述VPS的所述指示而激活所述多个SPS及所述VPS。

13.根据权利要求12所述的方法,

其中所述视频数据包括多个层或多个视图中的至少一者,

其中所述多个SPS中的每一者与所述多个层或多个视图中的相应一或多者相关联,且其中基于所述多个SPS来编码所述视频数据包括对于所述层或视图中的每一者,基于与所述层或视图相关联的所述SPS来编码所述层或视图的所述视频数据。

14.根据权利要求11所述的方法,其中所述有效参数集SEI消息包含指示所述多个SPS中的第一SPS的第一语法元素,指定所述有效参数集SEI消息中指示的额外SPS的数目的第二语法元素,及分别指示所述额外SPS的一或多个额外语法元素。

15.根据权利要求14所述的方法,其中所述第一语法元素包括active_seq_param_set_id语法元素,所述第二语法元素包括num_additional_sps_ids_minus1语法元素,且所述一或多个额外语法元素包括additional_active_sps_id[i]语法元素,其中i=0;i≤num_additional_sps_ids_minus1;i++。

16.根据权利要求15所述的方法,其中所述有效参数集SEI消息包含指定所述多个SPS的数目的第一语法元素,及分别指示所述多个SPS的一或多个额外语法元素。

17.根据权利要求16所述的方法,其中所述第一语法元素包括num_sps_ids_minus1语法元素,且所述一或多个额外语法元素包括active_sps_id[i]语法元素,其中i=0;i≤num_additional_sps_ids_minus1;i++。

18.根据权利要求11所述的方法,其中所述语法信息进一步包括缓冲周期SEI消息,所述方法进一步包括编码所述缓冲周期SEI消息以排除所述一或多个SPS的任一指示。

19.根据权利要求11所述的方法,其中所述位流包括多个存取单元及多个有效参数集SEI消息,且编码所述位流包括编码所述位流而使得包含缓冲周期SEI消息的所述存取单元中的每一者也包含所述有效参数集SEI消息中的一者。

20.根据权利要求11所述的方法,其中编码所述位流包括编码所述位流而使得所述有效参数集SEI消息按编码次序在包括所述视频数据及所述有效参数集SEI消息的存取单元的第一视频译码层网络抽象层单元之前。

21.一种包括视频解码器的装置,所述视频解码器经配置以执行以下动作:

解码包含视频数据及用于解码所述视频数据的语法信息的位流,其中所述语法信息包括有效参数集补充增强信息SEI消息,其中所述有效参数集SEI消息指示一或多个序列参数集SPS及一视频参数集VPS,且其中所述有效参数集SEI消息是包括所述视频数据及所述有效参数集SEI消息的存取单元的第一SEI网络抽象层单元中的第一SEI消息;

基于所述有效参数集SEI消息中的所述一或多个SPS及所述VPS的所述指示来激活用于解码所述视频数据的所述一或多个SPS及所述VPS;及基于所述一或多个经激活SPS及所述经激活VPS来解码所述视频数据。

22.根据权利要求21所述的装置,其中所述有效参数集SEI消息指示多个SPS,且所述视频解码器经配置以基于所述有效参数集SEI消息中的所述多个SPS的所述指示而激活所述多个SPS,并基于所述多个经激活SPS来解码所述视频数据。

23.根据权利要求22所述的装置,

其中所述视频数据包括多个层或多个视图中的至少一者,

其中所述多个SPS中的每一者与所述多个层或多个视图中的相应一或多者相关联,且其中对于所述层或视图中的每一者,所述视频解码器经配置以基于与所述层或视图相关联的所述SPS来解码所述层或视图的所述视频数据。

24.根据权利要求21所述的装置,其中所述有效参数集SEI消息包含指示所述多个SPS中的第一SPS的第一语法元素,指定所述有效参数集SEI消息中指示的额外SPS的数目的第二语法元素,及分别指示所述额外SPS的一或多个额外语法元素。

25.根据权利要求24所述的装置,其中所述第一语法元素包括active_seq_param_set_id语法元素,所述第二语法元素包括num_additional_sps_ids_minus1语法元素,且所述一或多个额外语法元素包括additional_active_sps_id[i]语法元素,其中i=0;i≤num_additional_sps_ids_minus1;i++。

26.根据权利要求21所述的装置,其中所述有效参数集SEI消息包含指定所述多个SPS的数目的第一语法元素,及分别指示所述多个SPS的一或多个额外语法元素。

27.根据权利要求26所述的装置,其中所述第一语法元素包括num_sps_ids_minus1语法元素,且所述一或多个额外语法元素包括active_sps_id[i]语法元素,其中i=0;

i≤num_additional_sps_ids_minus1;i++。

28.根据权利要求21所述的装置,其中所述语法信息进一步包括排除了所述一或多个SPS的任一指示的缓冲周期SEI消息。

29.根据权利要求21所述的装置,其中所述有效参数集SEI消息按解码次序在包括所述视频数据及所述有效参数集SEI消息的存取单元的第一视频译码层网络抽象层单元之前。

30.根据权利要求21所述的装置,其中为基于所述有效参数集SEI消息中的所述一或多个SPS及所述VPS的所述指示而激活用于解码所述视频数据的所述一或多个SPS及所述VPS,所述视频解码器经配置以执行以下动作:基于所述有效参数集SEI消息中的所述指示而识别用于所述一或多个SPS及所述VPS的原始字节序列有效负载RBSP;及将所述RBSP复制到相应视频解码器数据结构中,

其中所述视频解码器经配置以基于所述视频解码器数据结构中的所述RBSP而解码所述视频数据。

31.根据权利要求21所述的装置,其中所述装置包括以下各者中的至少一者:

集成电路,其实施所述视频解码器;

微处理器,其实施所述视频解码器;及

无线通信装置,其包含所述视频解码器。

32.一种包括视频编码器的装置,所述视频编码器经配置以执行以下动作:

编码包含视频数据及用于解码所述视频数据的语法信息的位流,其中所述语法信息包括有效参数集补充增强信息SEI消息,其中所述有效参数集SEI消息指示一或多个序列参数集SPS及一视频参数集VPS,且其中所述视频编码器经配置以编码所述位流,使得所述有效参数集SEI消息为包括所述视频数据及所述有效参数集SEI消息的存取单元的第一SEI网络抽象层单元中的第一SEI消息;及基于所述有效参数集SEI消息中指示的所述一或多个SPS及所述VPS来编码所述视频数据,其中所述视频编码器编码所述位流以包含所述有效参数集SEI消息而使得视频解码器响应于所述有效参数集SEI消息中的所述一或多个SPS及所述VPS的所述指示而激活用于解码所述视频数据的所述一或多个SPS及所述VPS。

33.根据权利要求32所述的装置,其中所述有效参数集SEI消息指示多个SPS,所述视频编码器经配置以基于所述多个SPS来编码所述视频数据,且所述视频编码器编码所述位流而使得所述视频解码器响应于所述有效参数集SEI消息中的所述多个SPS的所述指示而激活所述多个SPS。

34.根据权利要求33所述的装置,

其中所述视频数据包括多个层或多个视图中的至少一者,

其中所述多个SPS中的每一者与所述多个层或多个视图中的相应一或多者相关联,且其中对于所述层或视图中的每一者,所述视频编码器经配置以基于与所述层或视图相关联的所述SPS来编码所述层或视图的所述视频数据。

35.根据权利要求32所述的装置,其中所述有效参数集SEI消息包含指示所述多个SPS中的第一SPS的第一语法元素,指定所述有效参数集SEI消息中指示的额外SPS的数目的第二语法元素,及分别指示所述额外SPS的一或多个额外语法元素。

36.根据权利要求35所述的装置,其中所述第一语法元素包括active_seq_param_set_id语法元素,所述第二语法元素包括num_additional_sps_ids_minus1语法元素,且所述一或多个额外语法元素包括additional_active_sps_id[i]语法元素,其中i=0;i≤num_additional_sps_ids_minus1;i++。

37.根据权利要求32所述的装置,其中所述有效参数集SEI消息包含指定所述多个SPS的数目的第一语法元素,及分别指示所述多个SPS的一或多个额外语法元素。

38.根据权利要求37所述的装置,其中所述第一语法元素包括num_sps_ids_minus1语法元素,且所述一或多个额外语法元素包括active_sps_id[i]语法元素,其中i=0;

i≤num_additional_sps_ids_minus1;i++。

39.根据权利要求32所述的装置,其中所述语法信息进一步包括缓冲周期SEI消息,且所述视频编码器经配置以编码所述缓冲周期SEI消息以排除所述一或多个SPS的任一指示。

40.根据权利要求32所述的装置,其中所述位流包括多个存取单元及多个有效参数集SEI消息,且所述视频编码器经配置以编码所述位流而使得包含缓冲周期SEI消息的所述存取单元中的每一者也包含所述有效参数集SEI消息中的一者。

41.根据权利要求32所述的装置,其中所述视频编码器经配置以编码所述位流而使得所述有效参数集SEI消息按编码次序在包括所述视频数据及所述有效参数集SEI消息的存取单元的第一视频译码层网络抽象层单元之前。

42.根据权利要求32所述的装置,其中所述装置包括以下各者中的至少一者:

集成电路,其实施所述视频编码器;

微处理器,其实施所述视频编码器;及

无线通信装置,其包含所述视频编码器。

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

用于译码包含视频数据及用于解码所述视频数据的语法信息的位流的装置,其中所述语法信息包括有效参数集补充增强信息SEI消息,其中所述有效参数集SEI消息指示一或多个序列参数集SPS及一视频参数集VPS,且其中所述有效参数集SEI消息是包括所述视频数据及所述有效参数集SEI消息的存取单元的第一SEI网络抽象层单元中的第一SEI消息;

用于基于所述有效参数集SEI消息中的所述一或多个SPS及所述VPS的所述指示而激活用于译码所述视频数据的所述一或多个SPS及所述VPS的装置;及用于基于所述一或多个经激活SPS及所述经激活VPS而译码所述视频数据的装置。

44.根据权利要求43所述的装置,其中所述有效参数集SEI消息指示多个SPS,所述用于激活所述一或多个SPS的装置包括用于基于所述有效参数集SEI消息中的所述多个SPS的所述指示而激活所述多个SPS的装置,且所述用于基于所述一或多个SPS而译码所述存取单元的所述视频数据的装置包括用于基于所述多个SPS而译码所述存取单元的所述视频数据的装置。

45.根据权利要求44所述的装置,

其中所述视频数据包括多个层或多个视图中的至少一者,

其中所述多个SPS中的每一者与所述多个层或多个视图中的相应一或多者相关联,且其中所述用于基于所述多个SPS而译码所述视频数据的装置包括对于所述层或视图中的每一者用于基于与所述层或视图相关联的所述SPS来译码所述层或视图的所述视频数据的装置。

46.根据权利要求43所述的装置,其中所述用于译码所述位流的装置包括用于解码所述位流的装置,且所述用于译码所述视频数据的装置包括用于解码所述视频数据的装置。

47.根据权利要求43所述的装置,其中所述用于译码所述位流的装置包括用于编码所述位流的装置,且所述用于译码所述视频数据的装置包括用于编码所述视频数据的装置。

48.一种上面存储有指令的计算机可读存储媒体,所述指令当由视频译码器的一或多个处理器执行时致使所述视频译码器执行以下动作:译码包含视频数据及用于解码所述视频数据的语法信息的位流,其中所述语法信息包括有效参数集补充增强信息SEI消息,其中所述有效参数集SEI消息指示一或多个序列参数集SPS及视频参数集VPS,且其中所述有效参数集SEI消息是包括所述视频数据及所述有效参数集SEI消息的存取单元的第一SEI网络抽象层单元中的第一SEI消息;

基于所述有效参数集SEI消息中的所述一或多个SPS及所述VPS的所述指示而激活用于译码所述视频数据的所述一或多个SPS及所述VPS;及基于所述一或多个经激活SPS及所述经激活VPS而译码所述视频数据。

49.根据权利要求48所述的计算机可读存储媒体,其中所述SEI消息指示多个SPS,所述致使所述视频译码器激活所述一或多个SPS的指令包括致使所述视频译码器基于所述有效参数集SEI消息中的所述多个SPS的所述指示而激活所述多个SPS的指令,且所述致使所述视频译码器基于所述一或多个SPS而译码所述存取单元的所述视频数据的指令包括致使所述视频译码器基于所述多个SPS而译码所述存取单元的所述视频数据的指令。

50.根据权利要求49所述的计算机可读存储媒体,

其中所述视频数据包括多个层或多个视图中的至少一者,

其中所述多个SPS中的每一者与所述多个层或多个视图中的相应一或多者相关联,且其中所述致使所述视频译码器基于所述多个SPS而译码所述视频数据的指令包括致使所述视频译码器对于所述层或视图中的每一者基于与所述层或视图相关联的所述SPS来译码所述层或视图的所述视频数据的指令。

51.根据权利要求48所述的计算机可读存储媒体,其中所述致使所述视频译码器译码所述位流的指令包括致使所述视频译码器解码所述位流的指令,且所述致使所述视频译码器译码所述视频数据的指令包括致使所述视频译码器解码所述视频数据的指令。

52.根据权利要求48所述的计算机可读存储媒体,其中所述致使所述视频译码器译码所述位流的指令包括致使所述视频译码器编码所述位流的指令,且所述致使所述视频译码器译码所述视频数据的指令包括致使所述视频译码器编码所述视频数据的指令。

说明书 :

用于视频译码的参数集的指示及激活的方法、装置

[0001] 本申请案主张2012年9月21日申请的第61/704,214号美国临时申请案的权利,所述案的全部内容以引用的方式并入本文中。

技术领域

[0002] 本发明涉及视频译码,且更明确地说,涉及用于视频译码的参数集。

背景技术

[0003] 数字视频能力可并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电传会议装置、视频流式发射装置,及其类似者。数字视频装置实施视频译码技术(例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC)(H.264/AVC))、目前在开发中的高效率视频译码(HEVC)标准定义的标准及这些标准的扩展中所描述的视频译码技术)。作为实例,H.264/AVC具有可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。视频装置可通过实施这些视频译码技术更有效率地发射、接收、编码、解码,及/或存储数字视频信息。
[0004] 视频译码技术包含空间(图片内)预测及/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,图片或图片的一部分)分割成多个视频块,其还可被称作树型块、译码单元(CU)及/或译码节点。可使用相对于同一图片中的相邻块中的参考样本的空间预测来编码图片的帧内译码(I)切片中的视频块。图片的帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。
[0005] 空间预测或时间预测导致译码用于块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量及指示经译码块与预测性块之间的差异的残余数据来编码帧间译码块。根据帧内译码模式及残余数 据来编码帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而导致接着可被量化的残余变换系数。可扫描最初布置成二维阵列的经量化的变换系数以便产生变换系数的一维向量,且可应用熵译码以实现甚至更多压缩。

发明内容

[0006] 大体来说,本发明描述用于指示哪些参数集有效地用于视频译码及在一些实例中支持这些参数集的激活的技术。在一些实例中,视频编码器包含在SEI消息(例如,有效参数集SEI消息或缓冲周期SEI消息)中的多个序列参数集(SPS)识别符(ID),使得多个有效SPS可经指示给视频解码器。在一些实例中,视频解码器经由参考SEI消息(例如,基于将VPS ID及一或多个SPS ID包含于SEI消息中)而激活一视频参数集(VPS)及/或一或多个SPS。SEI消息可为(例如)缓冲周期SEI消息的有效参数集SEI消息。
[0007] 在一实例中,一种解码视频数据的方法包括解码包含视频数据及用于解码视频数据的语法信息的位流,其中语法信息包括补充增强信息(SEI)消息,且其中所述SEI消息指示一或多个序列参数集(SPS)及一视频参数集(VPS)。所述方法进一步包括基于SEI消息中的所述一或多个SPS及所述VPS的指示来激活用于解码视频数据的所述一或多个SPS及所述VPS,及基于所述一或多个经激活SPS及所述经激活VPS来解码视频数据。
[0008] 在另一实例中,一种编码视频数据的方法包括编码包含视频数据及用于解码视频数据的语法信息的位流,其中语法信息包括补充增强信息(SEI)消息,且其中所述SEI消息指示一或多个序列参数集(SPS)及一视频参数集(VPS)。所述方法进一步包括基于SEI消息中指示的所述一或多个SPS及所述VPS来编码视频数据。编码所述位流以包含SEI消息包括编码所述位流,使得视频解码器响应于SEI消息内的所述一或多个SPS及所述VPS的指示而激活用于解码视频数据的所述一或多个SPS及所述VPS。
[0009] 在另一实例中,一种装置包括经配置以解码包含视频数据及用于解码视频数据的语法信息的位流的视频解码器,其中语法信息包括补充增强信息(SEI)消息,且其中所述SEI消息指示一或多个序列参数集(SPS)及视频参数集(VPS)。所述视频解码器经进一步配置以基于SEI消息中的所述一或多个SPS及所述VPS的指示来激活用于解码视频数据的所述一或多个SPS及所述VPS,并基于所述一或多个经激活SPS及所述经激活VPS来解码视频数据。
[0010] 在另一实例中,一种装置包括经配置以编码包含视频数据及用于解码视频数据的语法信息的位流的视频编码器,其中语法信息包括补充增强信息(SEI)消息,且其中所述SEI消息指示一或多个序列参数集(SPS)及一视频参数集(VPS)。所述视频编码器经进一 步配置以基于SEI消息中指示的所述一或多个SPS及所述VPS来编码视频数据。所述视频编码器编码所述位流以包含SEI消息,使得视频解码器响应于SEI消息中的所述一或多个SPS及所述VPS的指示而激活用于解码视频数据的所述一或多个SPS及所述VPS。
[0011] 在另一实例中,一种用于译码视频数据的装置包括用于译码包含视频数据及用于解码视频数据的语法信息的位流的装置,其中语法信息包括补充增强信息(SEI)消息,且其中所述SEI消息指示一或多个序列参数集(SPS)及一视频参数集(VPS)。所述装置进一步包括用于基于SEI消息中的所述一或多个SPS及所述VPS的指示来激活用于译码视频数据的所述一或多个SPS及所述VPS的装置,及用于基于所述一或多个经激活SPS及所述经激活VPS来译码视频数据的装置。
[0012] 在另一实例中,一种计算机可读存储媒体具有上面存储的指令,所述指令当由视频译码器的一或多个处理器执行时致使所述视频译码器译码包含视频数据及用于解码视频数据的语法信息的位流,其中语法信息包括补充增强信息(SEI)消息,且其中所述SEI消息指示一或多个序列参数集(SPS)及一视频参数集(VPS)。所述指令进一步使所述视频译码器基于SEI消息中的所述一或多个SPS及所述VPS的指示来激活用于译码视频数据的所述一或多个SPS及所述VPS;及基于所述一或多个SPS及所述VPS来译码视频数据。
[0013] 本发明的一或多个方面的细节陈述于随附图式及下文的描述中。本发明中所描述的技术的其它特征、目标及优点将从描述及图式且从权利要求书而显而易见。

附图说明

[0014] 图1是说明可利用本发明中所描述的用于指示有效参数集及激活参数集的技术的实例视频编码及解码系统的框图。
[0015] 图2是更详细地说明图1的实例中所示的视频编码器的框图。
[0016] 图3是更详细地说明图1的实例中所示的视频解码器的框图。
[0017] 图4是说明形成网络的部分的装置的实例集合的框图。
[0018] 图5是说明用于编码位流以包含补充增强信息(SEI)消息的实例方法的流程图,所述补充增强信息(SEI)消息将用于解码位流中的经编码视频数据的有效视频参数集(VPS)及多个有效序列参数集(SPS)指示给视频解码器。
[0019] 图6是说明用于解码包含指示用于解码位流的视频数据的有效VPS及多个有效SPS的SEI消息的位流的实例方法的流程图。
[0020] 图7是说明用于编码位流以包含SEI消息的实例方法的流程图,所述SEI消息将待由视频解码器激活以用于解码位流的视频数据的VPS及一或多个SPS指示给视频解码器。
[0021] 图8是说明用于解码包含SEI消息的位流及基于参考SEI消息中的VPS及一或多个SPS而激活用于解码位流的视频数据的所述VPS及一或多个SPS的实例方法的流程图。

具体实施方式

[0022] 大体来说,本发明描述用于指示哪些参数集有效地用于视频译码及在一些实例中支持这些参数集的激活的技术。在一些实例中,视频编码器包含SEI消息(例如,有效参数集SEI消息或缓冲周期SEI消息)中的多个序列参数集(SPS)识别符(ID),使得多个有效SPS可指示给视频解码器。在一些实例中,经译码视频数据可包括多个层及/或视图,且所述SPS中的每一者可用于译码(例如,编码或解码)所述层及/或视图中的相应一或多者。在其中有效SPS与相应层相关联的一些实例中,有效SPS可称作有效层SPS。多个SPS ID包含于SEI消息中可促进多视图、3D视频(3DV)及/或可缩放视频译码。
[0023] 在一些实例中,视频解码器经由参考SEI消息(例如,基于将VPS ID及一或多个SPS ID包含于SEI消息中)而激活视频参数集(VPS)及/或一或多个SPS。SEI消息可为(例如)有效参数集SEI消息。在这些实例中,由视频编码器提供的有效参数集SEI消息不仅指示有效VPS及所述一或多个有效SPS,而且使视频解码器激活其以用于解码视频数据。
[0024] 在其它实例中,编码器可不提供有效参数集SEI消息,且改为可包含在缓冲周期SEI消息(其根据当前HEVC规格可能已经包含单个SPS ID)中的作为第一语法元素的VPS ID。在这些实例中,视频编码器可包含在缓冲周期SEI消息中的多个SPS ID,且视频解码器可经由参考缓冲周期SEI消息而激活所述VPS及所述一或多个SPS。再次,经译码视频数据可包括多个层及/或视图,且多个SPS中的每一者可用于译码(例如,编码或解码)所述层及/或视图中的相应一或多者。在这些实例中,经由参考SEI消息(例如,通过视频解码器)激活多个SPS可促进多视图、3DV及/或可缩放视频译码。
[0025] 本发明的技术可实施于根据多种视频译码标准中的任一者而操作的视频译码器(例如,视频编码器及视频解码器)中。举例来说,本发明的技术可实施于根据目前在开发中的HEVC标准(其还可称作H.265)操作的视频译码器中。HEVC标准还可称作ISO/IEC23008-HEVC,其意欲为HEVC的交付版本的标准编号。所述标准化努力是基于称作HEVC测试模型(HM)的视频译码装置的模型。HM假定视频译码装置相对于根据先前译码标准(例如,ITU-T H.264/AVC)操作的装置的若干不同能力。举例来说,尽管H.264提 供九个帧内预测编码模式,但HM提供多达三十五个帧内预测编码模式。
[0026] HEVC的最近工作草案(WD)(称作“HEVC工作草案6”或“WD6”)描述于2012年2月美国加利福利亚圣何塞,ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码的联合协作小组(JCT-VC),第8次会议,Bross等人的“High-Efficiency Video Coding(HEVC)text specification draft 6”文献JCTVC-H1003中,所述文献以引用的方式全文并入本文中,且从2013年5月13日起,所述文献可从http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip下载。
[0027] 此外,HEVC的另一最近工作草案(工作草案8,称作“HEVC工作草案8”或“WD8”)描述于2012年7月瑞典斯德哥尔摩,ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的JCT-VC,第10次会议,Bross等人的“High Efficiency Video Coding(HEVC)Text Specification draft 8”文献HCTVC-J1003_d7中,所述文献以引用的方式全文并入本文中,且从2013年5月13日起,所述文献可从http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J 1003-v8.zip下载。
[0028] HEVC标准继续演进,且称作“HEVC工作草案10”或“WD10”的标准的较新草案描述于2013年1月14日到23日瑞士日内瓦,ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码的联合协作小组(JCT-VC),第12次会议,Bross等人的“High Efficiency Video Coding(HEVC)Text Specification Draft 10”文献JCTVC-L1003_v18中,从2013年5月13日起,所述文献可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v18.zip下载。WD10的全部内容特此以引用的方式并入。
[0029] H.264/AVC引入参数集的概念作为传达语法信息的方式,所述语法信息促进从视频编码器到视频解码器的数字视频信息的译码。如果图片经分割成多个区段(例如,切片)且那些区段在其自身输送单元(例如,实时输送协议(RTP)包)中输送,则响应于序列标头及图片标头的丢失的负面效应而在H.264/AVC中引入参数集。将图片分割成在其自身输送单元中输送的区段是最大传送单元(MTU)大小匹配所需要的。然而,图片的第一包(其不仅携载第一图片区段数据而且携载图片标头,且有时图片的群组(GOP)及序列标头)的丢失可导致通过视频解码器不正确重建构图片且有时也不正确重建构后续图片。在一些状况下,即使所有其它包未丢失,不正确重建构仍可能发生。如果具有图片标头的包丢失,则一些视频解码器实施方案甚至将不会尝试解码图片的所接收包。
[0030] 在H.264/AVC之前,作为解决此易损性的最初尝试,引入基于输送层的机制。举例来说,用于H.263的RTP有效负载格式(RFC 2429中指定)允许在与由视频编码器或包化 器选择的包样多的包中携载图片标头的冗余复本。然而,在H.264/AVC的设计期间,应认识到通过将语法信息包含于图片标头中引起的易损性为视频编码解码器自身的架构问题,而非输送问题。响应于此实现,参数集作为传达语法信息的方式而引人H.264/AVC中。
[0031] 参数集为包含允许视频解码器重建构经编码视频的语法元素的语法结构。基于语法元素预期改变所借以的频率而将不同语法元素包含于不同参数集中。举例来说,序列参数集(SPS)包含预期维持图片的序列不改变的语法元素,而图片参数集(PPS)包含可能在序列中图片与图片之间变化的语法元素。
[0032] 视频编码器可产生并输出参数集。视频解码器可接收所述参数集,并在解码来自经编码位流的视频数据时使用所述参数集。视频编码器可将参数集作为视频位流的部分来提供,或经由带外发射使用在视频编码器与解码器之间的可靠信道来提供参数集。在其它实例中,参数集可在编码器及解码器中经硬译码。
[0033] 参数集含有识别(“ID”),其直接地或间接地从切片标头参考。举例来说,每一SPS可包含SPS ID,且每一PPS可包含PPS ID并通过额外地包含SPS ID而参考SPS。此外,每一切片标头可使用PPS ID来参考PPS。因此,基于切片标头中的PPS ID,视频解码器可激活PPS。视频解码器还可基于PPS中的SPS ID而激活SPS。因为依据信息在位流中的位置而隐含地激活(如常见于视频编码解码器的语法元素)在参数集由视频解码器经由带外发射而接收的状况下是不可用的,以及其它原因,所以引入经由参考而激活的概念。
[0034] 类似于H.264/AVC,HEVC利用参数集来传达促进数字视频信息的译码的语法信息。然而,HEVC引入额外参数集(视频参数集(VPS))。其中,VPS可用以输送可适用于多个层(以及子层)及/或多个视图的信息。因此,VPS可促进译码包含(例如)用于可缩放视频译码的多层或(例如)用于多视图或3D视频译码的多个视图的视频数据。给定视频序列的每一层或视图可(但并非必须)根据相应SPS来译码。然而,给定视频序列的每一层或视图(无关于其具有相同还是不同的SPS)参考相同的VPS。
[0035] H.264/AVC不含有类似于VPS的参数集,且改为需要分层结构的复杂模型用于例如容量交换及会话协商等目的。在H.264/AVC的可缩放视频译码(SVC)扩展中,可缩放性信息补充增强信息(SEI)消息提供与HEVC的VPS大致相同的内容。然而,由于其本质为SEI消息,所以可缩放性信息SEI消息中多数相同信息必然在H.264/AVC SPS(其在一些应用情况下还需要经带外发射)中重复,且因此引起增加的初始延迟,尤其在重新发射用以保证带外发射的可靠性时。在使用参数集的带内发射的广播及多播状况下,相同信 息的此重复导致显著额外负担,因为参数集需要在每一随机存取点处被重复以用于调谐及信道切换。HEVC的VPS可解决这些缺陷,以及实现多层编码解码器的清洁且可扩展的高阶设计。
[0036] 可在VPS中输送的信息包含(例如):(1)由多个层或操作点共享以便避免不必要复制的共同语法元素;(2)会话协商所需要的操作点的必要信息,包含(例如)简档及层级;及(3)其它操作点特定信息,其不属于一个SPS,例如用于多个层或子层的假想的参考解码器(HRD)参数。每一操作点的必要信息的剖析不需要可变长度译码,且因此被认为对于多数网络元件是轻便的。预期VPS扩展(其可在HEVC扩展中指定)可含有比当前VPS中的语法元素更多的语法元素,以用于有效率参数发信、灵活及轻便会话协商以及高级位流调适(例如,基于3DV扩展中的视图识别符)。根据HEVC WD8,某一信息在属于层的VPS与SPS之间复制。引入此复制以允许版本1解码器忽视VPS网络抽象层(NAL)单元且仍使解码位流所需的所有信息可用。
[0037] 根据H.264/AVC,且在HEVC中,SPS含有应用于经译码视频序列(例如,图片的序列)的所有切片的信息。在HEVC中,经译码视频序列从瞬时解码刷新(IDR)图片,或断链存取(BLA)图片,或为位流中的第一图片的清洁随机存取(CRA)图片起始。经译码视频序列包含不是IDR或BLA图片的所有后续图片。位流由一或多个经译码视频序列组成。
[0038] SPS的内容可经粗略地再分为六个种类:(1)自参考,例如,其自身ID;(2)与解码器操作点相关的信息,例如简档、层级、图片大小,及子层的数目;(3)简档内某些工具的允用旗标,及在允用工具状况下的相关联的译码工具参数;(4)限制结构及变换系数译码的灵活性的信息;(5)时间可缩放性控制,其可类似于H.264/SVC;及(6)视觉可用性信息(VUI),其包含HRD信息。
[0039] HEVC PPS含有可在图片与图片之间变化的此信息。PPS包含大概类似于为H.264/AVC中的PPS的部分的信息的信息,包含(1)自参考,例如其自身ID;(2)初始图片控制信息,例如初始量化参数(QP)、指示切片标头中的某些工具或控制信息的使用或存在的旗标的数目;及(3)图像块信息。
[0040] 切片标头含有可在切片与切片之间变化的信息,以及仅用于某些切片或图片类型的相对较小或有关的此图片相关信息。切片标头的大小可引人注目地大于PPS,尤其当切片标头中存在图像块或波前入口点偏移且参考图片选择、预测权重或参考图片列表修改经显式地发信中时。
[0041] HEVC中的参数集的激活类似于H.264/AVC。切片标头含有PPS的参考。PPS接着 含有SPS的参考,且SPS含有VPS的参考。用于参数集的一个常见实施策略是将给定类型(PPS、SPS及VPS)的所有参数集保持于表中,表的最大大小间接地由参数集ID的编号范围所指定。在此实施策略之下,参数集的激活可通过以下方式完成:(1)基于切片标头中的信息(例如,PPS ID)存取PPS表,及将经发现用于PPS表中的PPS的信息复制到相关解码器数据结构中;
(2)在PPS中对SPS表中的相关SPS的参考(例如,SPS ID)之后,及将经发现用于SPS表中的SPS的信息复制到相关解码器数据结构中;及(3)在SPS中对VPS表中的相关VPS的参考(例如,VPS ID)之后,及将经发现用于VPS表中的VPS的信息复制到相关解码器数据结构中。因为可需要每一图片(至多)仅一次地执行这些操作,所以操作可被认为轻便。
[0042] 根据HEVC标准的提议,SPS还可通过在缓冲周期SEI消息中参考而激活。对于通过在缓冲周期SEI消息中参考而激活SPS,缓冲周期SEI消息可包含待被激活的SPS的SPS ID。额外地,HEVC WD8指定有效参数集SEI消息。根据HEVC WD8,有效参数集SEI消息可(例如)通过包含用于当前有效的VPS及SPS的VPS ID及SPS ID而指示当前有效的VPS及当前有效的SPS。根据HEVC WD8,视频解码器通过在有效参数集SEI消息中参考而不激活VPS及SPS。确切地说,视频编码器包含在位流中的有效参数集SEI消息以指示视频解码器当前应使哪些参数集有效以用于解码视频数据,且借此允许视频解码器确认适当解码操作。
[0043] 如上文所论述,视频编码器可将参数集作为视频位流的部分提供到视频解码器,或经由带外发射使用在视频编码器与解码器之间的可靠信道来提供参数集。视频解码器可将所接收参数集存储于数据结构(例如,用于每一参数集类型(PPS、SPS及VPS)的相应表)中,当稍后通过参考而激活时从表中检索用于每一类型的参数集中的一或多者,及将所检索参数集载入到相应解码数据结构中以用于解码位流中的视频数据。在一些实例中,视频编码器可包含在参数集网络抽象层(NAL)单元中的参数集。
[0044] 参数集NAL单元的接收的处置(无关于其类型)可为直接的,原因在于参数集NAL单元无需含有剖析依赖性,此意谓参数集NAL单元为自含式的且不需要从用于剖析的其它NAL单元导出的上下文。尽管不具有剖析依赖性的NAL单元的产生可花费再多几个位,但可实现参数集的直接剖析及参数集在其相应表条目中的存储。参数集的每一类型可含有扩展机制,其可允许在不破坏回溯兼容性情况下及在不建立与VPS及SPS中携载的简档/层级信息的剖析依赖性情况下在HEVC的将来版本中扩展参数集。
[0045] 视频译码标准大体上包含视频缓冲模型的规格。在H.264/AVC及HEVC中,缓冲模型称作假想参考解码器(HRD)。HRD包含经译码图片缓冲器(CPB)及经解码图片缓冲 器(DPB)两者的缓冲模型,且算术地指定CPB及DPB行为。HRD将约束条件直接强加于不同时序、缓冲器大小及位率上,并将约束条件间接强加于位流特性及统计上。完整HRD参数集包含五个基本参数:初始CPB移除延迟,CPB大小,位率、初始DPB输出延迟及DPB大小。
[0046] 在H.264/AVC及HEVC中,位流符合性及解码器符合性经指定为HRD规格的部分。尽管名称HRD暗示HRD为解码器,但HRD通常在编码器侧采用以保证位流符合性,且通常无需在解码器侧。HRD指定位流或HRD符合性的两种类型-即,类型I及类型II。而且,HRD指定两种类型解码器符合性-即,输出时序解码器符合性及输出次序解码器符合性。
[0047] 在H.264/AVC及HEVC HRD模型中,解码或CPB移除是基于存取单元,且假定图片解码是瞬时的。在实际应用中,如果符合解码器严格地遵照(例如,在图片时序SEI消息中)发信的解码时间以起始存取单元的解码,则输出特定解码的图片的最早可能时间等于彼特定图片的解码时间加上解码彼特定图片所需的时间。实际应用中解码图片所需的时间不可能等于零。
[0048] 在HEVC WD8中,HRD是在附录C中指定。在HEVC WD8中,HRD依赖于HRD参数。HRD参数可以hrd_parameters()语法结构在位流中提供。hrd_parameters()语法结构可包含于(作为实例)VPS及/或SPS、缓冲周期SEI消息及图片时序SEI消息中。
[0049] 如上文所论述,HEVC允许SPS待由时序解码器通过在缓冲周期SEI消息中被参考(例如,通过其SPS ID)而激活。以此方式,缓冲周期SEI消息允许无关于PPS经由切片标头中的参考的激活而激活SPS。HEVC WD8也指定允许视频编码器向视频解码器指示有效VPS及有效SPS的有效参数集SEI消息。然而,存在与用于激活参数集及指示有效参数集的这些现有技术相关联的问题。
[0050] 举例来说,在HEVC的多视图、3DV及/或可缩放视频译码扩展中,可在任何给定时间存在多个有效SPS。明确地说,视频译码器(例如,视频编码器或视频解码器)可使用不同SPS来译码(例如,编码或解码)一些层及/或视图的视频数据。在其中视频译码器根据不同有效SPS译码不同层的实例中,有效SPS中的一些可称作有效层SPS。然而,尽管经提议用于HEVC标准的有效参数集SEI消息可由视频编码器使用以向视频解码器指示有效VPS及单个有效SPS,但当前不可能经由有效参数集SEI消息或任何其它SEI消息指示多个有效SPS。
[0051] 作为另一实例,在HEVC WD8中,虽然HRD参数可包含于VPS中,但缓冲周期SEI消息可含有SPS ID但不含有VPS ID。因此,在一些状况下,HRD可从含有缓冲周 期SEI消息的存取单元初始化,但用于HRD操作的所选HRD参数中的至少一些包含于VPS中,不同于SPS,VPS不由缓冲周期SEI激活。在这些状况下,视频解码器剖析缓冲周期SEI消息中的一些语法元素的能力将取决于VPS中的信息。因此,视频译码器将需要基于对从缓冲周期SEI消息激活的SPS中的VPS的参考而在SPS之后间接地激活VPS。在这些状况下需要随后及间接地激活VPS可为视频解码器的计算上低效的实施方案。
[0052] 本发明描述用于指示哪些参数集有效地用于视频译码及(在一些实例中)支持这些参数集的激活的技术,所述技术可解决上述问题。在一些实例中,视频编码器包含在SEI消息(例如,有效参数集SEI消息或缓冲周期SEI消息)中的多个SPS ID,使得多个有效SPS可经指示给视频解码器。在一些实例中,经译码视频数据可包括多个层及/或视图,且SPS中的每一者可用于译码(例如,编码或解码)所述层及/或视图中的相应一或多者。在其中有效SPS与相应层相关联的一些实例中,有效SPS可称作有效层SPS。将多个SPS ID包含于SEI消息中可促进用于多视图、3DV及/或可缩放视频译码的有效参数集的更完整指示。
[0053] 在一些实例中,视频解码器经由参考SEI消息(例如,基于将VPS ID及一或多个SPS ID包含于SEI消息中)而激活VPS及一或多个SPS。SEI消息可为(例如)有效参数集SEI消息。在这些实例中,通过视频编码器在位流中提供的有效参数集SEI消息不仅指示所述有效VPS及所述一或多个有效SPS,而且使视频解码器激活其以用于解码位流的视频数据。在这些实例中,视频编码器可从缓冲周期SEI消息中移除SPS ID。此外,视频编码器可在这些实例中产生位流,使得对于包含缓冲周期SEI消息的每一存取单元,还存在为存取单元的第一SEI NAL单元中的第一SEI消息的有效参数集SEI消息。
[0054] 在其它实例中,视频编码器可不提供有效参数集SEI消息,且改为可包含在缓冲周期SEI消息中的(例如)作为第一语法元素的VPS ID,其可经固定长度译码(例如,具有四个位)。根据HEVC标准的提议,缓冲周期SEI消息可包含单个SPS ID。在根据本发明的实例中,视频编码器可在缓冲周期SEI消息中包含多个SPS ID(例如,连同VPS ID一起)。额外地,在一些实例中,视频解码器可经由参考缓冲周期SEI消息来激活所述VPS及所述一或多个SPS。再次,经译码视频数据可包括多个层及/或视图,且多个SPS中的每一者可用于译码(例如,编码或解码)所述层及/或视图中的相应一或多者。在这些实例中,(例如)通过视频解码器经由参考缓冲周期SEI消息激活多个SPS可促进多视图、3DV及/或可缩放视频译码。
[0055] 图1是说明可利用用于指示有效参数集及激活本发明中描述的参数集的技术的实例 视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,源装置12产生稍后待由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”板、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台,视频流式发射装置,或其类似者。在一些状况下,源装置12及目的地装置14可为无线通信而装备。
[0056] 目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码的视频数据从源装置12移到目的地装置14的任何类型的媒体或装置。在一实例中,链路16可包括用以使源装置12能够将经编码的视频数据直接实时发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码的视频数据,且将经编码的视频数据发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网、广域网或例如因特网等全球网络)的部分。通信媒体可包含路由器、交换器、基站,或可用以促进从源装置12到目的地装置14的通信的任何其它设备。
[0057] 或者,经编码数据可从输出接口22输出到存储装置36。类似地,可通过目的地装置14的输入接口28从存储装置36存取经编码数据。存储装置36可包含多种分布式或本地存取的数据存储媒体,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器,易失性或非易失性存储器,或用于存储经编码视频数据的任一其它合适的数字存储媒体。在另一实例中,存储装置36可对应于保存由源装置12产生的经编码视频数据的文件服务器或另一中间存储装置。目的地装置14可经由流式发射或下载从存储装置36存取所存储视频数据。文件服务器可为能够存储经编码视频数据并将彼经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)而存取经编码的视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等等),或两者的组合。经编码视频数据从存储装置36的发射可为流式发射、下载发射或两者的组合。
[0058] 本发明的技术不必限于无线应用或设定。所述技术可应用于支持多种多媒体应用(例如,(例如)经由因特网的空中电视广播、有线电视发射、卫星电视发射、流式视频发射)中的任一者的视频译码、供存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向 或双向视频发射以支持例如视频流式发射、视频回放、视频广播及/或视频电话等应用。
[0059] 在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些状况下,输出接口22可包含调制器/解调制器(调制解调器)及/或发射器。在源装置12中,视频源18可包含例如视频俘获装置(例如,视频摄影机)、含有先前俘获的视频的视频封存档、用以从视频内容提供者接收视频的视频馈入接口及/或用于产生计算机图形数据作为源视频的计算机图形系统的源,或这些源的组合。作为一实例,如果视频源18为视频摄影机,则源装置12与目的地装置14可形成所谓的摄影机电话或视频电话。然而,一般来说,本发明中所描述的技术可适用于视频译码,且可应用于无线及/或有线应用。
[0060] 经俘获、经预先俘获或经计算机产生的视频可由视频编码器20来编码。可经由源装置12的输出接口22将经编码的视频数据直接发射到目的地装置14。还可(或替代地)将经编码的视频数据存储于存储装置36上以供目的地装置14或其它装置随后存取以用于解码及/或回放。
[0061] 目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些状况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码的视频数据。经由链路16传达或在存储装置36上提供的经编码视频数据可包含由视频编码器20产生的各种语法元素,其供例如视频解码器30等视频解码器在解码所述视频数据时使用。这些语法元素可包含于在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码的视频数据中。
[0062] 显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成式显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如,液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0063] 视频编码器20及视频解码器30可根据视频压缩标准(例如,目前在开发中的高效率视频译码(HEVC)标准)而操作,且可符合HEVC测试模型(HM)。或者,视频编码器20及视频解码器30可根据其它专有或行业标准(例如,替代地称作MPEG-4第10部分(高级视频译码(AVC))的ITU-T H.264标准)或这些标准的扩展(例如,多视图视频译码(MVC)或可缩放视频译码(SVC)扩展)来操作。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2及ITU-T H.263。
[0064] 尽管未展示于图1中,但在一些方面中,视频编码器20及视频解码器30可各自与 音频编码器及解码器集成,且可包含适当MUX-DEMUX单元或其它硬件及软件以处置共同数据流或独立数据流中的音频及视频两者的编码。如果可适用,则在一些实例中,MUX-DEMUX单元可遵照ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
[0065] 视频编码器20及视频解码器30可各自实施为各种合适编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地在软件中实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,其中任一者可集成为相应装置中的组合式编码器/解码器(编码解码器(CODEC))的部分。
[0066] 一般来说,HM的工作模型描述视频帧或图片可划分成包含明度样本及色度样本两者的树型块或最大译码单元(LCU)序列。树型块具有与H.264标准的宏块的目的类似的目的。切片包含按译码次序的数个连续树型块。可将视频帧或图片分割成一或多个切片。每一树型块可根据四分树而分裂成若干译码单元(CU)。举例来说,树型块(作为四分树的根节点)可分裂成四个子节点,且每一子节点可又为父节点,且分裂成另外四个子节点。最后未分裂的子节点(作为四分树的叶节点)包括译码节点,即,经译码的视频块。与经译码的位流相关联的语法数据可定义树型块可分裂的最大次数,且还可定义译码节点的最小大小。
[0067] CU包含译码节点及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小,且形状必须为正方形。CU的大小的范围可从8×8像素直到具有最大64×64像素或大于64×64像素的树型块的大小。每一CU可含有一或多个PU及一或多个TU。与CU相关联的语法数据可描述(例如)CU到一或多个PU的分割。分割模式可视CU是经跳过或直接模式编码、经帧内预测模式编码抑或经帧间预测模式编码而不同。PU的形状可分割成非正方形。与CU相关联的语法数据也可描述(例如)CU根据四分树到一或多个TU的分割。TU的形状可为正方形或非正方形。
[0068] HEVC标准允许根据TU的变换,所述变换对于不同CU可不同。通常基于针对经分割LCU所定义的给定CU内的PU的大小而设定TU大小,但可能并非总是如此状况。TU通常具有与PU相同的大小,或小于PU。在一些实例中,可使用已知为“残余四分树”(RQT)的四分树结构而将对应于CU的残余样本再分为更小的单元。RQT的叶节点可被称作变换单元(TU)。可变换与TU相关联的像素差值以产生可量化的变换系数。
[0069] 一般来说,PU包含与预测过程有关的数据。举例来说,当将所述PU以帧内模式编码时,所述PU可包含描述所述PU的帧内预测模式的数据。作为另一实例,当将所述PU以帧间模式编码时,所述PU可包含定义所述PU的运动向量的数据。定义所述PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片,及/或用于运动向量的参考图片列表(例如,列表0或列表1)。
[0070] 一般来说,TU是用于变换过程及量化过程。具有一或多个PU的给定CU还可包含一或多个变换单元(TU)。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括可变换成使用TU而量化且扫描以产生串列化变换系数以用于熵译码的变换系数的像素差值。本发明通常使用术语“视频块”来指CU的译码节点。在一些特定状况下,本发明还可使用术语“视频块”来指包含译码节点及若干PU及TU的树型块(即,LCU或CU)。
[0071] 视频序列通常包含系列视频帧或图片。图片群组(GOP)通常包括系列视频图片中的一或多者。GOP可在GOP的标头、图片中的一或多者的标头中或在别处包含描述包含于GOP中的图片数目的语法数据。图片的每一切片可包含描述所述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小方面不同。
[0072] 作为一实例,HM支持以各种PU大小进行预测。假定特定CU的大小为2N×2N,则HM支持以2N×2N或N×N的PU大小进行帧内预测,及以2N×2N、2N×N、N×2N或N×N的对称PU大小进行帧间预测。HM还支持以2N×nU、2N×nD、nL×2N及nR×2N的PU大小进行帧间预测的不对称分割。在不对称分割中,CU的一个方向未分割,而另一方向分割成25%及75%。CU的对应于25%分割的部分由“n”继之以“上”、“下”、“左”或“右”的指示来指示。因此,例如,“2N×nU”是指在水平方向上以顶部2N×0.5N PU及底部2N×1.5N PU分割的2N×2N CU。
[0073] 在本发明中,“N×N”与“N乘N”可互换地使用以指视频块在垂直尺寸与水平尺寸方面的像素尺寸,例如,16×16像素或16乘16像素。大体来说,16×16块在垂直方向中将具有16个像素(y=16)且在水平方向中将具有16个像素(x=16)。同样地,N×N块通常在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。可按行及列来布置块中的像素。另外,块未必需要在水平方向中与在垂直方向中具有相同数目个像素。举例来说,块可包括N×M个像素,其中M未必等于N。
[0074] 在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可计算CU的TU的残余数据。PU可包括空间域(还称作像素域)中的像素数据,且TU可包括在将例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换的变换应用于残余视频数据之后的变换域中的系数。残余数据可对应于未经编码的图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含CU的残余数据的TU,且接着变换所述TU以产生CU的变换系数。
[0075] 在应用任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化一般是指如下过程:将变换系数量化以可能地减少用以表示所述系数的数据的量,从而提供进一步压缩。所述量化过程可减少与所述系数中的一些或所有相关联的位深度。举例来说,可在量化期间将n位值降值舍位到m位值,其中n大于m。
[0076] 在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数,以产生可经熵编码的串列化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描所述量化转换系数以形成一维向量之后,视频编码器20可熵编码所述一维向量,例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、几率区间分割熵(PIPE)译码或另一熵编码方法。视频编码器20还可熵编码与经编码的视频数据相关联的语法元素以供视频解码器30用于解码视频数据。
[0077] 为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待发射的符号。所述上下文可能是关于(例如)符号的相邻值是否为非零。为了执行CAVLC,视频编码器20可针对待发射的符号选择可变长度码。可将VLC中的码字建构成使得相对较短码对应于更有可能的符号,而较长码对应于较不可能的符号。以此方式,使用VLC可实现位节省(与(例如)针对待发射的每一符号使用等长度码字相比较)。机率确定可基于指派给符号的上下文而进行。
[0078] 视频编码器20可进一步发送语法数据(例如,基于块的语法数据、基于帧的语法数据,及基于GOP的语法数据)到视频解码器30(例如,在帧标头、块标头、切片标头或GOP标头中)。GOP语法数据可描述相应GOP中的帧的数目,且帧语法数据可指示用以编码对应帧的编码/预测模式。
[0079] 另外,视频编码器20可(例如)通过逆量化及逆变换残余数据来解码经编码的图片,并组合残余数据与预测数据。以此方式,视频编码器20可模拟由视频解码器30执行的解码过程。因此,视频编码器20及视频解码器30两者将有权存取实质上相同的经解码图片以用于图片间预测。
[0080] 一般来说,视频解码器30可执行为由视频编码器执行的编码过程的逆的解码过程。举例来说,视频解码器30可使用由视频编码器使用以熵编码经量化视频数据的熵编码技术的逆来执行熵解码。视频解码器30可使用由视频编码器20使用的量化技术的逆来进一步逆量化视频数据,且可执行由视频编码器20使用以产生经量化变换系数的变换的逆。视频解码器30接着可将所得残余块应用于相邻参考块(帧内预测)或来自另一图片的参考块(帧间预测)以产生用于最后显示的视频块。视频解码器30可经配置、指示控制或引导以基于由视频编码器20提供的语法元素与由视频解码器30接收的位流中的经编码视频数据执行由视频编码器20执行的各种过程的逆。
[0081] 在一些实例中,视频编码器20及视频解码器30可采用用于多视图视频译码(例如,包含两个或两个以上视图的视频数据的译码)的技术。在这些实例中,视频编码器20可编码包含用于两个或两个以上视图的经编码视频数据的位流,且视频解码器30可解码经编码视频数据以提供两个或两个以上视图(例如)到显示装置32。在一些实例中,视频解码器30可提供视频数据的多个视图以使显示装置32能够显示3D视频。在一些实例中,视频编码器20及视频解码器30可遵照HEVC标准的3D-HEVC扩展,例如,其中使用多视图译码或多视图加深度译码过程。3D-HEVC译码过程的HEVC扩展目前正在开发中,且如目前所提议,利用多视图译码或多视图加深度译码过程。
[0082] HEVC的3DV扩展可称作基于HEVC的3DV或3D-HEVC。3D-HEVC至少部分地基于2011年11月/12月,瑞士日内瓦,文献MPEG11/M22570(下文中“m22570”),ISO/IEC JTC1/SC29/WG11,Schwarz等人的“Description of 3D Video Coding Technology Proposal by Fraunhofer HHI(HEVC compatible configuration A)”及2011年11月/12月,瑞士日内瓦,文献MPEG11/M22571(下文中“m22571”),ISO/IEC JTC1/SC29/WG11,Schwarz等人的“Description of 3D Video Coding Technology Proposal by Fraunhofer HHI(HEVC compatible configuration B)”中提议的解决方案。用于3D-HEVC的参考软件描述在2012年2月,美国圣何塞,ISO/IEC JTC1/SC29/WG11MPEG2011/N12559,Schwarz等人的“Test Model under Consideration for HEVC based 3D video coding”处可得到。从2013年5月
21日起,参考软件(即,HTM版本3.0)可从https://hevc.hhi.fraunhofer.de/svn/svn_
3DVCSoftware/tags/HTM-3.0/得到。
[0083] 多视图或3D视频译码可涉及两个或两个以上纹理视图及/或包含纹理及深度分量的视图的译码。在一些实例中,由视频编码器20编码并由视频解码器30解码的视频数据包含在任一给定时间执行个体(即,在“存取单元”内)的两个或两个以上图片,或可导出在任一给定时间执行个体的两个或两个以上图片的数据。
[0084] 在一些实例中,装置(例如,视频源18)可通过(例如)使用两个或两个以上空间上偏移的摄影机(或其它视频俘获装置)来俘获共同场景而产生两个或两个以上图片。从稍微不同的水平位置同时(或几乎同时)俘获的相同场景的两个图片可用以产生三维效应。在一些实例中,视频源18(或源装置12的另一组件)可使用深度信息或视差信息从给定时间执行个体处的第一视图的第一图片产生在给定时间执行个体处的第二(或其它额外)视图的第二(或其它额外)图片。在此状况下,存取单元内的视图可包含对应于第一视图的纹理分量及可与纹理分量一起使用以产生第二视图的深度分量。深度或视差信息可通过俘获第一视图的视频俘获装置(例如)基于摄影机参数或其它已知关于视频俘获装置的配置及第一视图的视频数据的俘获的信息来确定。可额外地或替代地(例如)通过视频源18或源装置12的另一组件从摄影机参数及/或第一视图中的视频数据来计算深度或视差信息。
[0085] 为呈现3D视频,显示装置32可同时或几乎同时显示与共同场景的不同视图相关联的两个图形,所述共同场景被同时或几乎同时地俘获。在一些实例中,目的地装置14的用户可佩戴主动式眼镜以迅速地及替代地关上左透镜及右透镜,且显示装置32可与主动式眼镜同步迅速地在左视图与右视图之间切换。在其它实例中,显示装置32可同时显示两个视图,且用户可佩戴被动式眼镜(例如,具有偏光透镜),其过滤视图以使适当视图通过直到用户的眼睛。在其它实例中,显示装置32可包括自动立体显示器,其不需要眼镜供用户感知3D效应。
[0086] 在多视图译码的状况下(例如,在3D-HEvC中),图片间预测可包含当前视频块(例如,PU)根据时间上不同的图片(即,来自与当前图片不同的存取单元)中的另一视频块的预测,以及根据与当前图片相同的存取单元中的但与当前图片不同的视图相关联的不同图片的预测。在后一状况下,帧间预测可称作视图间译码。当译码非基础视图(例如,依赖视图)的图片时,来自相同存取单元但不同视图(例如,不同于参考视图)的图片可经添加到参考图片列表。视图间参考图片可经置于参考图片列表的任一位置中,任一帧间预测(例如,时间或视图间)参考图片通常就是这样。
[0087] 在多视图译码中,存在两种预测向量。一种是指向时间参考图片中的块的运动向量,且对应帧间预测称作运动补偿预测(MCP)。另一类型的预测向量为视差向量,其指向在与当前图片相同的存取单元中的但不同视图的图片中的块。在视差向量情况下,对应帧间预测称作视差补偿预测(DCP)。
[0088] 在一些实例中,视频编码器20及视频解码器30可采用用于可缩放视频译码(例如,译码还含有一或多个子集位流的高质量视频位流)的技术。子集视频位流可通过从较大高 质量视频位流丢弃包以减少子集位流所需的带宽而导出。子集位流可表示较低空间分辨率(较小屏幕)、较低时间分辨率(较低帧速率),或较低质量视频信号。各种位流可称作层及子层。可缩放视频译码可包含定义或建构当所述层以各种组织呈现时的操作点。在一些实例中,视频编码器20及视频解码器30可遵照视频译码标准(例如HEVC)的可缩放视频译码扩展。
[0089] 可缩放视频译码可包含针对具有不同分辨率的层的时间可缩放性。对于可缩放视频译码,GOP可包含所谓的关键图片,且所有图片以输出/显示次序位于此关键图片与先前关键图片之间。关键图片可在规则或不规则间隔内被译码,且可使用前关键图片作为运动补偿预测的参考来帧内译码或帧间译码。非关键图片可从具有较低时间层级的图片而阶层式预测,且关键图片可具有最低时间层级。
[0090] 可缩放视频译码还可包含基于纹理、残余及运动针对空间及信杂比(SNR)可缩放性的层间预测。空间可缩放性可经概括为两个层之间的任分辨率比。SNR可缩放性可通过粗粒度可缩放性(CGS)、中粒度可缩放性(MGS)或精细粒度可缩放性(FGS)而实现。两个空间或CGS层可属于不同依赖性层,而两个MGS层可在同一依赖性层中。可缩放视频译码可提供可用以减少层间冗余的层间预测方法。其经概括为层间纹理预测、层间冗余预测,及层间运动预测。
[0091] 视频编码器20产生用于由视频解码器30接收及/或检索的位流。所述位流可包含经编码数据(例如,经编码视频数据及语法信息),且可称作经编码位流。视频编码器20可将所述位流中的视频数据组织成网络抽象层(NAL)单元,其中的每一者可实际上为具有整数数目个字节的包。视频编码器20、输出接口22、源装置12的另一组件,或另一装置可将NAL单元框或囊封于系统输送协议包(例如,因特网协议(IP)或实时输送协议(RTP)包)中以经由链路16来发射或存储于存储装置36中。
[0092] NAL单元可包含视频译码层(VCL)NAL单元及非VCL NAL单元。VCL NAL单元包含经编码视频数据,其如上文所论述可包含多个层及/或视图。非VCL NAL单元可包含任何相关联的用以辅助视频解码器30解码及/或显示由经编码视频数据表示的视频图片或提供错误回复的额外信息(例如,语法信息)。
[0093] 由视频编码器20提供的语法信息可包含如上文描述的参数集,例如PPS、SPS及VPS。在一些实例中,视频编码器20可(例如)在参数集经由非VCL NAL单元所应用于的VCL NAL单元之前经由信道提供参数集,所述信道携载参数集所应用于的VCL NAL单元,此可称作参数集的“带内”发射。在其它实例中,视频编码器20可经由不同输送机制(例如,“带外”,其可比视频信道自身更可靠)提供参数集到视频解码器30。在 其它实例中,视频编码器20及/或视频解码器30可通过参数集硬译码。
[0094] 如上文所描述,视频解码器30可将参数集存储于用于每一参数集类型的相应数据结构(例如,包含多个PPS的PPS表,包含多个SPS的SPS表,及包含多个VPS的VPS表)中,所述数据结构中的一者中的每一参数集包含用于参数集的不同值。视频解码器30可(例如)通过将参数集的数据复制到相应解码数据结构中及应用解码结构中的数据以解码经编码视频数据而在任一给定时刻激活每一类型的一或多个参数集以解码经编码视频数据。
[0095] 视频解码器30可响应于在VCL NAL单元中的一或多者中(例如,在VCL NAL单元的切片标头中)直接或间接参考参数集而激活参数集以解码一或多个VCLNAL单元的视频数据。如上文所论述,每一参数集可包含一ID,其还可在另一参数集中被参考(例如,SPS中参考的VPS ID及PPS中参考的SPS ID),或在切片标头或VCLNAL单元内的别处内被参考。视频解码器30可基于对切片标头或VCL NAL单元内的别处中的其PPS ID的参考来激活PPS,基于对经激活PPS中的其SPS ID的参考来激活SPS,并基于对经激活SPS中的其VPS ID的参考来激活VPS。
[0096] 视频编码器20提供到视频解码器30的语法信息还可包含补充增强信息(SEI)消息。一些SEI消息为序列层级(例如,与经译码图片群组(GOP)或经译码视频图片的其它序列相关),而其它SEI消息可与特定译码的图片相关。SEI消息通常与特定经译码图片一起发射。即,为检索SEI消息,视频解码器通常需要检索包含SEI消息的经编码图片。一或多个SEI消息可包含于非VCL NAL单元(其可称作SEI NAL单元)中。
[0097] 呈指定形式的NAL单元集合可称作存取单元。通过视频解码器30解码每一存取单元可导致一或多个经解码图片或帧。在多视图视频译码状况下,通过视频解码器30解码每一存取单元可导致在相同(或实质上相同)时间执行个体与相应视图相关联的两个或两个以上图片或帧。在可缩放视频译码状况下,每一存取单元可包含用于单个图片或帧的视频数据的多个层及/或子层。由视频编码器20产生的存取单元可包含一或多个VCL NAL单元,及含有由视频解码器使用以解码存取单元的VCL NAL单元内的视频数据的语法信息(例如,SEI消息)的一或多个非VCLNAL单元(例如,SEI NAL单元)。
[0098] 如上文所论述,由视频编码器20包含于经编码位流中的SEI消息可包含(作为实例)有效参数集SEI消息及缓冲周期SEI消息。根据HEVC标准的提议,除由在PPS中参考而激活外,SPS还可由在缓冲周期SEI消息中参考来激活。在这些实例中,视频编码器20可译码缓冲周期SEI消息,使得其包含待被激活的SPS的SPS ID。视频解码器30激活与经解码缓冲周期SEI消息中的SPS ID相关联的SPS。
[0099] 额外地,根据HEVC WD8,视频编码器20可编码有效参数集SEI消息以(例如)通过将用于当前有效的VPS及SPS的VPS ID及SPS ID包含于有效参数集SEI消息中而指示当前有效的VPS及当前有效的SPS。根据HEVC WD8,视频解码器30不会通过在有效参数集SEI消息中参考VPS及SPS而激活VPS及SPS。实情为,视频编码器20可包含在经编码位流中的有效参数集SEI消息以向视频解码器30指示视频解码器当前应使哪些参数集有效以用于解码视频数据,且借此允许视频解码器确认适当解码操作。
[0100] 一般来说,由HEVC WD8指定的有效参数集SEI消息指示哪VPS为有效的及哪SPS为有效的以用于与有效参数集SEI消息相关联的存取单元的VCL NAL单元,例如,有效参数集SEI消息包含于存取单元的VCL NAL单元中。有效参数集SEI消息还可提供其它信息。根据HEVC WD8,有效参数集SEI消息按解码次序在视频数据的第一部分(例如,在存取单元中的第一VCL NAL单元)之前,例如,所述有效参数集SEI消息在在存取单元中的第一VCL NAL单元之前的非VCL NAL单元内。
[0101] HEVC WD8规格中的有效参数集SEI消息的语法及语义如下:
[0102]
[0103] active_vps_id指示对于与有效参数集SEI消息相关联的存取单元的VCL NAL单元为有效的VPS。
[0104] active_seq_param_set_id指示对于与有效参数集SEI消息相关联的存取单元的VCL NAL单元为有效的单个SPS的识别符。active_seq_param_set_id的值可在0到31(包含0及31)的范围内。
[0105] active_param_set_sei_extension_flag当等于0时指示在有效参数集SEI消息内没有额外数据跟随。active_param_set_sei_extension_flag的值应等于0是位流符合性的需要。active_param_set_sei_extension_flag的值1经保留以供ITU-T|ISO/IEC在未来使用。解码器应忽略有效参数集SEI消息中的active_param_set_sei_extension_flag的值且应忽略在有效参数集SEI消息内跟随在active_param_set_sei_extension_flag的值1之后的所有数据。
[0106] 如上文所论述,在根据本发明的一些实例中,视频编码器20可在SEI消息中包含多个SPS ID,使得可指示多个有效SPS(其中的一些可称作有效层SPS)。在一些实例中, 视频编码器20可在有效参数集SEI消息中包含多个SPS ID,而非由HEVC WD8指定的单个SPS ID。视频编码器20可指示多个有效SPS,其中的每一者可由视频解码器30使用以解码一或多个层及/或视图,以促进多视图、3DV或可缩放视频译码。在其中视频编码器20在有效参数集SEI消息中包含多个SPS ID的实例中,有效参数集SEI消息指示哪一VPS是有效的及哪些SPS是有效的以用于与有效参数集SEI消息相关联的存取单元的VCL NAL单元。
[0107] 在下文描述的根据本文中所描述的本发明的各种实例中,假定所有SPS共享用于其SPS ID的相同值空间且不同层或视图可共享SPS。如果不同层或视图不共享SPS,则还需要发信层ID或视图ID,或所述层ID或视图ID除SPS ID外还可经隐含地导出以识别SPS。举例来说,如果SPS仅应用于基础层或基础视图,则层ID或视图ID可经隐含地导出为等于0。因此,视频译码器可基于层或视图相对于其它层或视图的阶层位置而导出层ID。
[0108] 可由视频编码器20提供以根据本发明的技术指示多个SPS的有效参数集SEI消息的语法及语义的一个实例如下:
[0109]
[0110] active_vps_id指示对于与有效参数集SEI消息相关联的存取单元的VCL NAL单元为有效的VPS。
[0111] active_seq_param_set_id指示对于与SEI消息相关联的存取单元的VCL NAL单元为有效的一个SPS的识别符。active_seq_param_set_id的值可在0到31(包含0及31)的范围内。
[0112] bit_equal_to_one等于1。此语法元素总是等于一以用于回溯兼容性。
[0113] num_additional_sps_ids_minus1加1指定对于与SEI消息相关联的存取单元的VCL NAL单元为有效的额外SPS(其还可称作有效层SPS)的数目。num_additional_sps_ids_minus1的值可在0到30(包含0及30)的范围内。
[0114] additional_active_sps_id[i]指定对于与有效参数集SEI消息相关联的存取单元的VCL NAL单元为有效的第i个额外SPS的识别符。additional_active_sps_id[i]的值可在0到31(包含0及31)的范围内。
[0115] active_param_set_sei_extension2_flag当等于0时,指示在有效参数集SEI消息内没有额外数据跟随。active_param_set_sei_extension2_flag的值应等于0是位流符合性的需要。active_param_set_sei_extension2_flag的值1经保留以供ITU-T|ISO/IEC在未来使用。解码器应忽略有效参数集SEI消息中的active_param_set_sei_extension2_flag的值且应忽略在有效参数集SEI消息内跟随在active_param_set_sei_extension2_flag的值1之后的所有数据。
[0116] 作为另一实例,有效参数集SEI消息的语法及语义(其可根据本发明的技术由视频编码器20在基础HEVC规格及扩展HEVC规格两者中提供以(例如)用于多视图、3DV或可缩放视频译码)可为如下:
[0117]
[0118] active_vps_id识别对于与有效参数集SEI消息相关联的存取单元的VCL NAL单元为有效的VPS。
[0119] num_sps_ids_minus1加1指定对于与有效参数集SEI消息相关联的存取单元的VCL NAL单元为有效的SPS(其中的一些还可称作有效层SPS)的数目。num_sps_ids_minus1的值可在0到31(包含0及31)的范围内。
[0120] active_sps_id[i]指定对于与SEI消息相关联的存取单元的VCL NAL单元为有效的第i个SPS的识别符。active_sps_id[i]的值可在0到31(包含0及31)的范围内。
[0121] active_param_set_sei_extension_flag,当等于0时,指示在有效参数集SEI消息内没有额外数据跟随。active_param_set_sei_extension_flag的值应等于0是位流符合性的需要。active_param_set_sei_extension_flag的值1经保留以供ITU-T|ISO/IEC在未来使用。解码器应忽略有效参数集SEI消息中的active_param_set_sei_extension_flag的值且应忽略在有效参数集SEI消息内跟随在active_param_set_sei_extension_flag的值1之后的所有数据。
[0122] 如其中视频编码器20提供指示有效VPS及一或多个有效SPS的有效参数集SEI消息的上述实例中,参数集激活可与HEVC WD8中相同。举例来说,视频解码器30可基于通过视频编码器20在经编码位流中提供的切片标头中的PPS ID而激活PPS。视频解码器30可基于在如此激活的PPS中的SPS ID(或由视频编码器20提供缓冲周期SEI消息)而进一步激活一或多个SPS,且可基于经激活SPS中的VPS ID而激活VPS。
[0123] 在其中编码器20提供指示有效VPS及一或多个有效SPS的SEI消息的其它实例中,视频解码器30可基于在SEI消息中参考VPS及/或一或多个SPS而激活所述VPS及/或所述SPS。在这些实例中,SEI消息不仅指示有效VPS及有效SPS,而且激活有效VPS及有效SPS。因此,在这些实例中,与HEVC WD8中的VPS及SPS的激活相比,VPS及SPS的激活被改变。
[0124] 举例来说,视频编码器20可提供指示一有效VPS及一或多个有效SPS的有效参数集SEI消息,且视频解码器30可基于在SEI消息中参考VPS及/或一或多个SPS而激活VPS及/或所述一或多个SPS。另外,在这些实例中,SPS ID可从缓冲周期SEI消息中移除,即,视频编码器20可编码缓冲周期SEI消息,使得其排除任何SPS ID。在这些实例中,视频编码器20可编码位流,使得对于包含缓冲周期SEI消息的每一存取单元,还应存在有效参数集SEI消息,且所述有效参数集SEI消息应为存取单元的第一SEI NAL单元中的第一SEI消息。
[0125] 可根据其中SPS ID从缓冲周期SEI消息中移除的技术由视频编码器20提供的缓冲周期SEI消息的语法及语义如下:
[0126]
[0127]
[0128] 缓冲周期SEI消息语法及语义相对于HEVC WD8的变化是移除了seq_parameter_set_id语法元素。
[0129] 可根据其中有效参数集SEI消息激活VPS及一或多个SPS且SPS ID从缓冲周期SEI消息中移除的技术由视频编码器20提供的有效参数集SEI消息的语法及语义的实例如下:
[0130]
[0131] active_vps_id指示对于与有效参数集SEI消息相关联的存取单元的VCL NAL单元为有效的VPS。
[0132] active_seq_param_set_id指示对于与SEI消息相关联的存取单元的VCL NAL单元为有效的一个SPS的识别符。active_seq_param_set_id的值可在0到31(包含0及31)的范围内。
[0133] bit_equal_to_one等于1。
[0134] num_additional_sps_ids_minus1加1指定对于与SEI消息相关联的存取单元的VCL NAL单元为有效的额外SPS(其还可称作有效层SPS)的数目。num_additional_sps_ids_minus1的值可在0到30(包含0及30)的范围内。
[0135] additional_active_sps_id[i]指定对于与有效参数集SEI消息相关联的存取单元的VCLNAL单元为有效的第i个额外SPS的识别符。additional_active_sps_id[i]的值可在 0到31(包含0及31)的范围内。
[0136] active_param_set_sei_extension2_flag当等于0时,指示在有效参数集SEI消息内没有额外数据跟随。active_param_set_sei_extension2_flag的值应等于0是位流符合性的需要。active_param_set_sei_extension2_flag的值1经保留以供ITU-T|ISO/IEC在未来使用。解码器应忽略有效参数集SEI消息中的active_param_set_sei_extension2_flag的值且应忽略在有效参数集SEI消息内跟随在active_param_set_sei_extension2_flag的值1之后的所有数据。
[0137] 作为另一实例,有效参数集SEI消息的语法及语义(其可根据本发明的技术根据其中有效参数集SEI消息激活VPS及一或多个SPS且SPS ID从缓冲周期SEI消息中移除的技术由视频编码器20在基础HEVC规格及扩展HEVC规格两者中提供以(例如)用于多视图、3DV或可缩放视频译码)可为如下:
[0138]
[0139] active_vps_id识别对于与有效参数集SEI消息相关联的存取单元的VCL NAL单元为有效的VPS。
[0140] num_sps_ids_minus1加1指定对于与有效参数集SEI消息相关联的存取单元的VCL NAL单元为有效的SPS(其中的一些还可称作有效层SPS)的数目。num_sps_ids_minus1的值可在0到31(包含0及31)的范围内。
[0141] active_sps_id[i]指定对于与SEI消息相关联的存取单元的VCL NAL单元为有效的第i个SPS的识别符。active_sps_id[i]的值可在0到31(包含0及31)的范围内。
[0142] active_param_set_sei_extension_flag当等于0时,指示在有效参数集SEI消息内没有额外数据跟随。active_param_set_sei_extension_flag的值应等于0是位流符合性的需要。active_param_set_sei_extension_flag的值1经保留以供ITU-T|ISO/IEC在未来使用。解码器应忽略有效参数集SEI消息中的active_param_set_sei_extension_flag的值且应忽略在有效参数集SEI消息内跟随在active_param_set_sei_extension_flag的值1之后的所有数据。
[0143] 在其它实例中,视频编码器20提供指示一有效VPS及一或多个有效SPS的缓冲周 期SEI消息,而非有效参数集SEI消息,且视频解码器30可基于缓冲周期SEI消息中参考VPS及/或一或多个SPS而激活VPS及/或一或多个SPS。在这些实例中,有效参数集SEI消息可被移除,例如,视频编码器20可编码位流,使得包含激活PPS及一或多个SPS的缓冲周期SEI消息的存取单元不包含提供语法信息到视频解码器30以用于解码存取单元的视频数据的任何有效参数集SEI消息。另外,缓冲周期SEI消息可包含多个SPS ID以及VPS ID而非单个SPS ID及无VPS ID(如HEVC WD8中指定)。
[0144] 可由视频编码器20提供以激活VPS及一或多个SPS的缓冲周期SEI消息的语法及语义的一个实例如下:
[0145]
[0146] 下文未提及的那些语法元素的语义与HEVC WD8中相同。
[0147] active_vps_id识别对于与缓冲周期SEI消息相关联的存取单元的VCL NAL单元为 有效的VPS。
[0148] num_sps_ids_minus1加1指定对于与缓冲周期SEI消息相关联的存取单元的VCL NAL单元为有效的SPS(其中的一些还可称作有效层序列参数集)的数目。num_sps_ids_minus1的值可在0到31(包含0及31)的范围内。
[0149] active_sps_id[i]指定对于与缓冲周期SEI消息相关联的存取单元的VCL NAL单元为有效的第i个SPS的识别符。active_sps_id[i]的值可在0到31(包含0及31)的范围内。
[0150] 可由视频编码器20提供以激活VPS及一或多个SPS的缓冲周期SEI消息的语法及语义的另一实例如下:
[0151]
[0152] 下文未提及的那些语法元素的语义与HEVC WD8中相同。
[0153] video_parameter_set_id识别对于与缓冲周期SEI消息相关联的存取单元的VCL NAL单元为有效的VPS。
[0154] num_additional_sps_ids指定对于与缓冲周期SEI消息相关联的存取单元的VCL NAL单元为有效的额外SPS(其还可称作有效层SPS)的数目。num_additional_sps_ids的值可在0到31(包含0及31)的范围内。
[0155] sps_id_additional[i]指定对于与缓冲周期SEI消息相关联的存取单元的VCL NAL单元为有效的第i个额外SPS的识别符。sps_id_additional[i]的值可在0到31(包含0及31)的范围内。
[0156] 用以激活PPS及一或多个SPS的缓冲周期SEI消息的第一实例语法及语义可(例如)用于(例如)HEVC的扩展规格以用于可缩放视频译码的多视图。用以激活PPS及一或多个SPS的缓冲周期SEI消息的第二实例语法及语义可(例如)用于(例如)HEVC的基础规格或扩展规格。在一些实例中,缓冲周期SEI消息的第二实例语法及语义的语法元素num_addtional_sps_ids及sps_id_additional[i]仅在扩展规格中呈现,且不在(例如)HEVC的基础规格中呈现。在一些实例中,在基础规格中,第二实例的语法元素num_addtional_sps_ids的值需要等于0。在其中这些语法元素未呈现于基础规格中的实例中,可能在扩展中需要新缓冲周期SEI消息,抑或可需要新的不同类型的SEI消息来输送额外SPS ID。
[0157] 在根据本发明的其中VPS及一或多个SPS由视频解码器30基于在SEI消息中参考而激活的实例(例如,上文关于有效参数集SEI消息及缓冲周期SEI消息所描述的实例)中,根据一些实例,激活可如下。SPS原始字节序列有效负载(RBSP)包含可由一或多个PPS RBSP或含有SEI消息(例如,有效参数集或缓冲周期SEI消息)的一或多个SEI NAL单元参考的参数。每一SPS RBSP(例如,存储于表或SPS的其它数据结构中)最初被认为在解码过程的操作起始时非有效。至多一个SPS RBSP可被认为针对特定层或视图在解码过程操作期间的任一给定时刻有效,且任一特定SPS RBSP的激活导致用于特定层或视图的先前有效的SPS RBSP(如果存在)的去活。
[0158] 当特定SPS RBSP(具有特定SPS ID值(例如,seq_parameter_set_id的值))尚未有效,且特定SPS RBSP由PPS RBSP的激活(例如,使用彼SPS ID值)而参考,或由含有SEI消息的SEI NAL单元(例如,使用彼SPS ID值)参考时,特定SPS RBSP经激活以用于如由包含于含有参考PPS RBSP的SEI消息或VCLNAL单元的存取单元的VCLNAL单元中的层ID或视图ID识别的所述特定层或视图。SEI消息可为有效参数集SEI消息或缓冲周期SEI消息,如上文所论述。此SPS RBSP称为用于特定层或视图的有效SPS RBSP 直到其通过用于相同层或视图的另一SPS RBSP的激活而去活为止。视频编码器20可在解码过程及SPS激活之前提供具有彼特定SPS ID值(例如,seq_parameter_set_id的值)的SPS RBSP到解码器30。举例来说,除非SPS经由外部装置提供到解码器30,否则编码器可通过包含于具有等于0的TemporalId的至少一个存取单元中而提供SPS。用于特定层或视图的经激活SPS RBSP应在整个经译码视频序列中维持有效以用于所述特定层。
[0159] 除非含有用于经译码视频序列的特定层或视图的有效SPS RBSP的SPS ID值(例如,seq_parameter_set_id的值)的任一SPS NAL单元在经译码视频序列的最后存取单元之后并在另一经译码视频序列的第一VCL NAL单元及含有SEI消息(例如,有效参数集或缓冲周期SEI消息(如果存在))的第一SEI NAL单元之前,否则任一SPS NAL单元应具有与用于经译码视频序列的所述层或视图的有效SPS RBSP的内容相同的内容。
[0160] VPS RBSP包含可由一或多个SPS RBSP或(根据本发明的技术)含有SEI消息的一或多个SEI NAL单元参考的参数。SEI消息可为有效参数集SEI消息或缓冲周期SEI消息,如上文所论述。每一VPS RBSP最初被认为在解码过程的操作起始时非有效。至多一个VPS RBSP可被认为在解码过程的操作期间的任一给定时刻有效,且任一特定VPS RBSP的激活导致先前有效的VPS RBSP(如果存在)的去活。
[0161] 当具有特定VPS ID值(例如,video_parameter_set_id的值)的VPS RBSP尚未有效,且其由SPS RBSP的激活(例如,使用彼VPS ID值)而参考,或根据本发明的技术由含有SEI消息的SEI NAL单元(例如,使用彼VPS ID值)参考时,所述VPS RBSP经激活。如上文所论述,作为实例,SEI消息可为有效参数集或缓冲周期SEI消息。具有特定VPS ID值的VPS RBSP称作有效VPS RBSP直到其由另一VPS RBSP的激活而去活为止。除非VPS经由外部装置提供到解码器30,否则具有彼特定VPS ID值的VPS RBSP应在其激活之前可用于视频解码器30,且包含于具有等于0的TemporalId的至少一个存取单元中。经激活VPS RBSP应在整个经译码视频序列中维持有效。除非含有用于经译码视频序列的有效VPS RBSP的VPS ID值(例如,video_parameter_set_id的值)的VPS NAL单元在经译码视频序列的最后存取单元之后并在另一经译码视频序列的第一VCL NAL单元及第一序列参数集NAL单元之前,否则所述VPS NAL单元应具有与用于经译码视频序列的有效VPS RBSP的内容相同的内容。
[0162] 视频编码器20及视频解码器30可各自实施为多种合适编码器或解码器电路中的任一者(在适用时),例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码 器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,其中的任一者可集成为组合式视频编码器/解码器(CODEC)的部分。包含视频编码器20及/或视频解码器30的装置可包括集成电路、微处理器及/或无线通信装置(例如,蜂窝式电话)。
[0163] 图2是说明视频编码器20的实例配置的框图,视频编码器20可实施根据本发明的用于激活参数集并指示哪些参数集有效地用于视频译码的技术。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减小或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指若干基于时间的压缩模式中的任一者。
[0164] 在图2的实例中,视频编码器20包含分割单元35、预测处理单元41、参考图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。对于视频块重建构,视频编码器20还包含逆量化单元58、逆变换处理单元60及求和器62。解块滤波器(图2中未展示)还可经包含以滤波块边界以从经重建构的视频中移除方块效应假影。如果需要,则所述解块滤波器通常将滤波求和器62的输出。除解块滤波器以外,还可使用额外的环路滤波器(环路内或环路后)。
[0165] 如图2中所示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。此分割还可包含分割成切片、图像块或较大单元,以及(例如)根据LCU及CU的四分树结构的视频块分割。图2中说明的视频编码器20的实例配置大体上说明编码待编码的视频切片内的视频块的组件。切片可被划分成多个视频块(且可能被划分成称作图像块的视频块的集合)。
[0166] 预测处理单元41可基于错误结果(例如,译码位率及失真的程度)选择多个可能译码模式中的一者(例如多个帧内译码模式中的一者或多个帧间译码模式中的一者)用于当前视频块。预测处理单元41可提供所得帧内或帧间译码块到求和器50以产生残余块数据及提供到求和器62以重建构经编码块以用作参考图片。
[0167] 预测处理单元41内的帧内预测处理单元46可执行当前视频块相对于在与待译码的当前块相同的帧或切片内的一或多个相邻块的帧内预测性译码以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码,以提供时间压缩。
[0168] 运动估计单元42可经配置以根据视频序列的预定型样确定视频切片的帧间预测模 式。预定型样可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42及运动补偿单元44可高度集成,但为概念目的而分别说明。由运动估计单元42执行的运动估计为产生运动向量的过程,运动向量估计视频块的运动。运动向量(例如)可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的移位。
[0169] 预测性块为被发现与待译码的视频块的PU在像素差方面紧密匹配的块,可通过绝对差和(SAD)、平方差和(SSD)或其它差量度来确定像素差。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的次整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行相对于全像素位置及分数像素位置的运动搜索,且以分数像素精度输出运动向量。
[0170] 运动估计单元42通过比较帧间译码切片中的视频块的PU的位置与参考图片的预测性块的位置而计算所述PU的运动向量。参考图片可从第一参考图片列表(列表0)或第二参考图片列表(列表1)选择,所述列表中的每一者识别存储于参考图片存储器64中的一或多个参考图片。运动估计单元42将经计算运动向量发送到熵编码单元56及运动补偿单元44。
[0171] 由运动补偿单元44执行的运动补偿可涉及基于由运动估计确定的运动向量提取或产生预测性块,可能执行到子像素精度的内插。在接收到当前视频块的PU的运动向量时,运动补偿单元44可将运动向量所指向的预测性块定位于参考图片列表中的一者中。视频编码器20通过从正译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。像素差值形成块的残余数据,且可包含明度差分量与色度差分量两者。求和器50表示执行此减法运算的一或多个组件。
[0172] 运动补偿单元44还可产生与视频块及视频切片相关联的供由视频解码器30用于解码视频切片的视频块的语法元素。举例来说,运动补偿单元44可根据本发明的技术产生参数集及SEI消息。在其它实例中,运动估计单元42、帧内预测处理单元46、预测处理单元41及/或视频编码器20的另一组件可根据本发明的技术产生参数集、SEI消息及本文中描述的其它语法信息。
[0173] 如上文所描述,作为由运动估计单元42及运动补偿单元44执行的帧间预测的替代例,帧内预测处理单元46可对当前块进行帧内预测。明确地说,帧内预测处理单元46可确定帧内预测模式以用来编码当前块。在一些实例中,帧内预测处理单元46可(例如)在独立编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测处理单元46(或模式选择单元(未图示),在一些实例中)可从所测试模式中选择适当帧内预测模式以使用。 举例来说,帧内预测处理单元46可使用对各种经测试的帧内预测模式的位率-失真分析而计算位率-失真值,且在经测试模式当中选择具有最佳位率-失真特性的帧内预测模式。位率-失真分析通常确定经编码的块与经编码以产生经编码块的原始的未经编码的块之间的失真(或误差)的量,以及用以产生经编码块的位率(即,位数目)。帧内预测处理单元46可从失真及位率计算各种经编码块的比率以确定哪帧内预测模式展现块的最佳位率-失真值。
[0174] 在任一状况下,在选择帧内预测模式用于块后,帧内预测处理单元46可提供指示用于所述块的所选帧内预测模式的信息到熵编码单元56。熵编码单元56可编码指示所选帧内预测模式的信息。视频编码器20可包含所发射位流中的配置数据。配置数据可包含多个帧内预测模式索引表及多个经修改帧内预测模式索引表(还称作码字映射表),各种块的编码上下文的定义,以及最可能帧内预测模式、帧内预测模式索引表及用于上下文中的每一者的经修改帧内预测模式索引表的指示。
[0175] 在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可经包含于一或多个TU中并应用于变换处理单元52。变换处理单元52使用变换(例如离散余弦变换(DCT)或概念上类似的变换)将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域(例如频域)。
[0176] 变换处理单元52可将所得的变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减少位率。所述量化过程可减少与所述系数中的一些或所有相关联的位深度。可通过调整量化参数而修改量化程度。在一些实例中,量化单元54可接着执行包含经量化的变换系数的矩阵的扫描。或者,熵编码单元56可执行所述扫描。
[0177] 在量化之后,熵编码单元56对经量化的变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、几率区间分割熵(PIPE)译码或另一熵编码方法或技术。在通过熵编码单元56进行熵编码之后,经编码位流可经发射到视频解码器30,或经存档以用于稍后发射或由视频解码器30检索。熵编码单元56还可对正被译码的当前视频切片的运动向量、其它运动信息及其它语法元素进行熵编码。
[0178] 逆量化单元58及逆变换处理单元60分别应用逆量化及逆变换,以在像素域中重建构残余块供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块与参考图片列表中的一者内的参考图片中的一者的预测性块相加来计算参考块。运动补偿单元44 还可将一或多个内插滤波器应用于经重建构的残余块以计算次整数像素值以供用于运动估计中。求和器62将经重建构的残余块添加到由运动补偿单元44所产生的运动补偿预测块,以产生参考块以供存储于参考图片存储器64中。参考块可由运动估计单元42及运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。
[0179] 如上文所论述,运动补偿单元44、运动估计单元42、帧内预测处理单元46、预测处理单元41及/或视频编码器20的另一组件可产生由视频解码器30使用以解码由视频编码器20编码的视频数据的语法信息。语法信息可包含参数集,例如VPS、SPS及PPS。语法信息还可包含根据本发明的技术而配置的SEI消息,例如根据本文中描述的技术而配置的有效参数集SEI消息及缓冲周期SEI消息。熵编码单元56可编码SEI消息,或以其它方式包含作为经编码位流的部分的SEI消息。
[0180] 以此方式,图2的视频编码器20表示经配置以执行以下动作的视频编码器的一实例:编码包含视频数据及用于编码视频数据的语法信息的位流,其中语法信息包括SEI消息,其中SEI消息指示多个SPS及一VPS;及基于SEI消息中所指示的所述多个SPS及所述VPS来编码视频数据。
[0181] 图2的视频编码器20还表示经配置以执行以下动作的视频编码器的实例:编码包含视频数据及用于解码视频数据的语法信息的位流,其中语法信息包括SEI消息,且其中所述SEI消息指示一或多个SPS及一VPS;及基于SEI消息中所指示的所述一或多个SPS及所述VPS来编码视频数据。视频编码器20可编码位流以包含所述SEI消息,使得视频解码器响应于SEI消息中的所述一或多个SPS及所述VPS的指示而激活所述一或多个SPS及所述VPS以用于解码视频数据。
[0182] 视频编码器20编码SEI消息以使视频解码器30激活参数集,或向视频解码器30指示哪些参数集是有效的。视频编码器20还基于SEI消息中指示的所述一或多个SPS及所述VPS而编码视频数据。举例来说,视频编码器20可使用各种参数的特定值来编码视频数据,且接着可选择参数集以供视频解码器30用于基于用以编码视频数据的参数值来解码视频数据。视频编码器20接着可编码一或多个SEI消息以使视频解码器30激活参数集,或向视频解码器30指示哪些参数集是有效的。
[0183] 图3是说明根据本发明的可实施用于激活参数集及指示哪些参数集有效地用于视频译码的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90及参考图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,视频解码器
30可执行通常与关于来自图2的视频编码器20描述的编码遍次 互逆的解码遍次。
[0184] 在解码过程期间,视频解码器30接收表示经编码视频切片的视频块及相关联语法信息(例如,来自视频编码器20的语法元素)的经编码视频位流。视频解码器30的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量、其它运动信息及其它语法信息。熵解码单元80转递运动信息及其它语法元素到预测处理单元81。作为实例,视频解码器30可接收在视频切片层级及/或视频块层级处的语法信息。
[0185] 当视频切片经译码为帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于用信号表示的帧内预测模式及来自当前帧或图片的先前经解码的块的数据而产生当前视频切片的视频块的预测数据。当所述视频帧经译码为帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素来产生当前视频切片的视频块的预测性块。可根据在参考图片列表中的一者内的参考图片中的一者产生所述预测性块。视频解码器30可基于存储于参考图片存储器92中的参考图片使用默认建构技术来建构参考帧列表,列表0及列表1。
[0186] 运动补偿单元82通过剖析运动向量及其它语法信息而确定当前视频切片的视频块的预测信息,并使用所述预测信息来产生正被解码的当前视频块的预测性块。举例来说,运动补偿单元82使用一些所接收的语法信息来确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的建构信息、切片的每一帧间编码视频块的运动向量、切片的每一帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
[0187] 运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如由视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的次整数像素的内插值。在此状况下,运动补偿单元82可根据接收的语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
[0188] 逆量化单元86将位流中所提供且由熵解码单元80解码的经量化的变换系数逆量化(即,解量化)。逆量化过程可包含使用由视频编码器20所计算的视频切片中的每一视频块的量化参数,以确定量化程度及(同样)应所述应用的逆量化的程度。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中产生残余块。
[0189] 在运动补偿单元82基于运动向量及其它语法元素产生当前视频块的预测性块之后,视频解码器30通过对来自逆变换处理单元88的残余块与由运动补偿单元82所产生的 对应预测性块求和而形成经解码的视频块。求和器90表示执行此加法运算的一或多个组件。如果需要,还可应用解块滤波器来对经解码块滤波以便移除方块效应假影。其它环路滤波器(译码环路中或译码环路后)还可用以使像素转变平滑,或以其它方式改进视频质量。接着将给定帧或图片中的经解码的视频块存储于参考图片存储器92中,参考图片存储器92存储用于后续运动补偿的参考图片。参考图片存储器92还存储经解码的视频以用于稍后在显示装置(例如,图1的显示装置32)上呈现。
[0190] 根据本发明的技术,熵解码单元80可解码(例如,熵解码)包含视频数据及语法信息的经编码位流。语法信息可包含一或多个SEI消息,例如有效参数集及缓冲周期SEI消息,如本文中所论述。预测处理单元81(例如,运动补偿单元82及/或帧内预测单元84)可基于在SEI消息中的至少一者中参考一或多个参数集而激活所述一或多个参数集(例如,VPS及一或多个SPS)。在其它实例中,SEI消息可向预测处理单元81(例如,运动补偿单元82及/或帧内预测单元84)指示哪些参数集(例如,哪些VPS及一或多个SPS)是有效的。在任一状况下,预测处理单元81(例如,运动补偿单元82及/或帧内预测单元84)可使用有效参数集以用于解码经编码位流内的视频数据。
[0191] 以此方式,图3的视频解码器30表示经配置以执行以下动作的视频解码器的一实例:解码包含视频数据及用于解码视频数据的语法信息的位流,其中语法信息包括SEI消息,其中所述SEI消息指示多个SPS及一VPS;及基于SEI消息中指示的所述多个SPS及所述VPS来解码所述视频数据。
[0192] 视频解码器30还表示经配置以执行以下动作的视频解码器的实例:解码包含视频数据及用于解码视频数据的语法信息的位流,其中语法信息包括SEI消息,且其中所述SEI消息指示一或多个SPS及VPS;基于SEI消息中的所述一或多个SPS及所述VPS的指示而激活用于解码视频数据的所述一或多个SPS及所述VPS;及基于所述一或多个经激活SPS及所述经激活VPS来解码所述视频数据。
[0193] 图4是说明形成网络100的部分的装置的实例集合的框图。在此实例中,网络100包含路由装置104A、104B(路由装置104)及转码装置106。路由装置104及转码装置106意欲表示可形成网络100的部分的少数装置。其它网络装置(例如,交换器、集线器、网关、防火墙、桥接器及其它这些装置)还可包含于网络100中。在一些实例中,具有媒体感知的网络装置(即,所谓的媒体感知网络元件(MANE))可实施或使用本文中描述的参数集发信技术中的一或多者。此外,可沿在服务器装置102与客户端装置108之间的网络路径提供额外网络装置。在一些实例中,服务器装置102可对应于源装置12(图1),而客户端装置108可对应于目的地装置14(图1)。
[0194] 一般来说,路由装置104实施一或多个路由协议以经由网络100交换网络数据。在一些实例中,路由装置104可经配置以执行代理或快取操作。因此,在一些实例中,路由装置104可称作代理装置。一般来说,路由装置104执行路由协议以发现经由网络100的路由。通过执行这些路由协议,路由装置104B可发现从其自身经由路由装置104A到服务器装置102的网络路由。
[0195] 本发明的技术可通过例如路由装置104及转码装置106等网络装置来实施,但还可通过客户端装置108来实施。以此方式,路由装置104、转码装置106及客户端装置108表示经配置以执行本发明的技术的装置的实例,所述技术包含:译码包含视频数据及用于译码视频数据的语法信息的位流,其中语法信息包括用于视频数据的存取单元的SEI消息,其中所述SEI消息指示多个SPS及VPS;基于SEI消息中的所述一或多个SPS及所述VPS的指示来激活用于译码存取单元的视频数据的所述一或多个SPS及所述VPS;及/或基于SEI消息中指示的所述多个SPS及所述VPS来译码存取单元的视频数据。此外,图1的源装置12及目的地装置14、图2中所示的视频编码器20及图3中所示的视频解码器30还为可经配置以执行本发明的技术的实例装置,所述技术包含:译码包含视频数据及用于译码视频数据的语法信息的位流,其中语法信息包括用于视频数据的存取单元的SEI消息,其中所述SEI消息指示多个SPS及VPS;基于SEI消息中的所述一或多个SPS及所述VPS的指示来激活用于译码存取单元的视频数据的所述一或多个SPS及所述VPS;及/或基于SEI消息中指示的所述多个SPS及所述VPS来译码存取单元的视频数据。其它网络元件(例如,MANE)还可使用本发明的技术来改进视频数据到其它装置的传达或递送。
[0196] 图5是说明用于编码位流以包含补充增强信息(SEI)消息的实例方法的流程图,所述补充增强信息(SEI)消息向视频解码器指示用于解码位流中的经编码视频数据的有效视频参数集(VPS)及多个有效序列参数集(SPS)。根据图5的实例,视频编码器(例如,图2的视频编码器20)基于一VPS及多个SPS来编码(例如)存取单元的视频数据(120)。视频数据可包括(例如)用于可缩放视频译码的多个层。视频数据可额外地或替代地包括(例如)用于多视图或3D视频译码的多个视图。所述多个SPS中的每一者可与所述多个层及/或视图中的相应一或多者的视频数据相关联(例如,用以编码所述视频数据)。
[0197] 视频编码器可将VPS、SPS及其它参数集维持于数据结构中,并以类似于本文中关于视频解码器(例如,视频解码器30)描述的方式的方式来激活参数集以用于编码视频数据及解码视频数据。在其它实例中,视频编码器不必以类似于视频解码器的方式维持并激活参数集。在一些实例中,视频编码器根据对应于由视频解码器维持的参数集(例如, VPS及SPS)的参数值或设定来编码视频数据,且以此方式,视频编码器根据参数集来编码视频数据。
[0198] 根据图5的实例,视频编码器可进一步(例如)在编码视频数据之后编码具有VPS ID及多个SPS ID的SEI消息,以(例如)向视频解码器指示用于解码存取单元的视频数据的有效VPS及SPS(122)。在一些实例中,SEI消息为有效参数集SEI消息。在其它实例中,SEI消息为另一SEI消息,例如缓冲周期SEI消息。视频编码器包含在(例如)待提供到视频解码器30的经编码位流中的经编码SEI消息及经编码视频数据(124)。在一些实例中,视频编码器可包含在存取单元的VCL NAL单元中的经编码视频数据,且包含在存取单元的SEI NAL单元中的SEI信息。
[0199] 图6是说明用于解码位流的实例方法的流程图,所述位流包含指示用于解码所述位流的视频数据的有效VPS及多个有效SPS的SEI信息。根据图6的实例方法,视频解码器(例如,图3的视频解码器30)接收包含经编码视频数据及SEI消息的经编码位流(130)。经编码位流可包括多个存取单元,其中的每一者可包含(例如)在一或多个VCL NAL单元中的视频数据及(例如)在一或多个SEI NAL单元中的一或多个SEI消息。
[0200] 视频数据可包括(例如)用于可缩放视频译码的多个层。视频数据可额外地或替代地包括(例如)用于多视图或3D视频译码的多个视图。SEI消息可为有效参数集SEI消息,或另一SEI消息(例如,缓冲周期SEI消息)。
[0201] 根据图6的实例方法,视频解码器基于用于存取单元的有效VPS及多个有效SPS来解码存取单元的视频数据(132)。所述多个SPS中的每一者可与所述多个层及/或视图中的相应一或多者的视频数据相关联(例如,用以解码所述视频数据)。视频解码器还解码SEI消息(134)。SEI消息可包含指示用于解码存取单元的视频数据的有效VPS的VPS ID。SEI消息还可包含指示用于解码存取单元的所述多个层及/或视图的有效SPS的多个SPS ID。视频解码器可使用SEI消息中的VPS及SPS的指示以(例如)确认适当VPS及SPS已或正用以解码存取单元的视频数据。
[0202] 图7是说明用于编码位流以包含SEI消息的实例方法的流程图,所述SEI消息向视频解码器指示待由视频解码器激活以用于解码所述位流的视频数据的VPS及一或多个SPS。根据图7的实例方法,视频编码器(例如,图3的视频编码器20)基于一VPS及一或多个SPS来编码(例如)存取单元的视频数据(140)。视频数据可包括(例如)用于可缩放视频译码的多个层。视频数据可额外地或替代地包括(例如)用于多视图或3D视频译码的多个视图。多个SPS中的每一者可与所述多个层及/或视图中的相应一或多者的视频数据相关联(例如,用以编码所述视频数据)。
[0203] 根据图7的实例,视频编码器可进一步(例如)在编码视频数据之后,编码具有VPS ID及一或多个SPS ID的SEI消息以使视频解码器激活用于解码存取单元的视频数据的所述VPS及所述一或多个SPS(142)。在一些实例中,SEI消息为有效参数集SEI消息。在其它实例中,SEI消息为另一SEI消息,例如缓冲周期SEI消息。
[0204] 视频编码器包含在(例如)待提供到视频解码器30的经编码位流中的经编码SEI消息及经编码视频数据(144)。在一些实例中,视频编码器可包含在存取单元的VCL NAL单元中的经编码视频数据,且包含在存取单元的SEI NAL单元中的SEI消息。在其中视频解码器激活参数集以解码存取单元的视频数据所基于的SEI消息为有效参数集SEI消息的实例中,视频编码器可编码用于存取单元的缓冲周期SEI消息,使得其排除任何SPS ID。额外地,在其中SEI消息为有效参数集SEI消息的实例中,视频编码器可编码位流,使得包含缓冲周期SEI消息的每一存取单元还包含为存取单元的第一SEI NAL单元中的第一SEI消息的有效参数集SEI消息。在其中视频解码器激活参数集以解码存取单元的视频数据所基于的SEI消息为缓冲周期SEI消息的实例中,视频编码器可产生经编码位流(例如,位流内的存取单元)以排除任何有效参数集SEI消息。
[0205] 图8是说明用于解码包含SEI消息的位流及基于参考SEI消息中的一VPS及一或多个SPS而激活用于解码位流的视频数据的所述VPS及一或多个SPS的实例方法的流程图。根据图8的实例方法,视频解码器(例如,图3的视频解码器30)接收包含经编码视频数据及SEI消息的经编码位流(150)。经编码位流可包括多个存取单元,其中的每一者可包含(例如)在一或多个VCL NAL单元中的视频数据及(例如)在一或多个SEI NAL单元中的一或多个SEI消息。
[0206] 视频数据可包括(例如)用于可缩放视频译码的多个层。视频数据可额外地或替代地包括(例如)用于多视图或3D视频译码的多个视图。SEI消息可为有效参数集SEI消息,或另一SEI消息(例如,缓冲周期SEI消息)。
[0207] 根据图8的实例方法,视频解码器解码SEI消息(152)。SEI消息可包含于存取单元中的一者内,且借此与彼存取单元相关联。视频解码器接着基于在SEI消息中参考VPS及一或多个SPS(例如,基于将VPS及SPS的VPS ID及SPS ID包含于SEI消息中)而激活所述VPS及所述一或多个SPS(154)。视频解码器接着基于用于存取单元的有效VPS及所述一或多个有效SPS来解码存取单元的视频数据(156)。在其中SEI消息包含多个SPS ID的实例中,所述多个经参考SPS中的每一者可与多个层及/或视图中的相应一或多者的视频数据相关联(例如,用以解码所述视频数据)。
[0208] 应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不 同顺序执行、可增添、合并或完全省略(例如,对于实践所述技术来说并非所有所描述的动作或事件皆是必要的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多个处理器同时而非顺序地执行动作或事件。
[0209] 在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,则所述功能可作为一或多个指令或程序代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射,且通过基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、程序代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0210] 通过实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或无线技术(例如,红外线、无线电及微波)而从网站、服务器或其它远程源发射指令,则同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而实情为,是有关非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各者的组合也应包含在计算机可读媒体的范围内。
[0211] 可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编码解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
[0212] 本发明的技术可以多种装置或设备予以实施,所述装置或设备包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经 配置以执行所揭示技术的装置的功能方面,但未必要求通过不同硬件单元来实现。而是,如上文所描述,可将各种单元组合于编码解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合结合合适软件及/或固件来提供所述单元。
[0213] 已描述各种实例。这些及其它实例属于所附权利要求书的范围内。