首页 / 专利库 / 视听技术与设备 / 视频编码层 / 用于三维视频译码的网络抽象层单元标头设计

用于三维视频译码的网络抽象层单元标头设计

阅读:23发布:2020-10-16

专利汇可以提供用于三维视频译码的网络抽象层单元标头设计专利检索,专利查询,专利分析的服务。并且一种 视频编码 器产生包括至少第一语法元素及第二语法元素的 网络抽象层 NAL单元。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述第二语法元素指示所述NAL单元的NAL单元标头包括高级视频译码AVC兼容3维视频3DV标头扩展还是包括多视图视频译码MVC兼容3DV标头扩展。所述视频 编码器 输出包括所述NAL单元的位流。一种视频 解码器 接收所述NAL单元,且确定所述第二语法元素是否指示所述NAL单元的所述NAL单元标头包括所述AVC兼容3DV标头扩展或所述MVC兼容3DV标头扩展。,下面是用于三维视频译码的网络抽象层单元标头设计专利的具体信息内容。

1.一种用于编码视频数据的方法,所述方法包含:
产生包括至少第一语法元素及第二语法元素的网络抽象层NAL单元,所述第一语法元素指示所述NAL单元属于特定NAL单元类型,其中:
纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内,
所述第二语法元素指示所述NAL单元的NAL单元标头包括高级视频译码AVC兼容三维视频3DV标头扩展还是多视图译码MVC兼容标头扩展,
所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素,且
所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
2.根据权利要求1所述的方法,其中所述AVC兼容3DV标头扩展具有语法结构,所述语法结构相同而不管所述NAL单元封装纹理视图分量的经译码切片还是深度视图分量的经译码切片。
3.根据权利要求1所述的方法,其中:
如果所述NAL单元包括MVC兼容3DV标头扩展,那么所述NAL单元不封装纹理视图分量的经译码切片;
所述NAL单元封装深度视图分量的经译码切片,且
如果所述NAL单元包括所述AVC兼容3DV标头扩展,那么所述深度视图分量的所述经译码切片具有第一语法结构,且如果所述NAL单元包括所述MVC兼容3DV标头扩展,那么所述深度视图分量的所述经译码切片具有第二语法结构,所述第二语法结构不同于所述第一语法结构。
4.根据权利要求3所述的方法,其中所述NAL单元为第一NAL单元,所述特定NAL单元类型为第一NAL单元类型,所述MVC兼容3DV标头扩展为第一MVC兼容3DV标头扩展,且所述方法进一步包含:
产生第二NAL单元,所述第二NAL单元属于第二NAL单元类型,所述第二NAL单元的NAL单元标头包括第二MVC兼容3DV标头扩展,所述第二MVC兼容3DV标头扩展具有与所述第一MVC兼容3DV标头扩展的语法结构相同的语法结构,所述第二NAL单元封装纹理视图分量的经译码切片。
5.根据权利要求1所述的方法,其中所述第一语法元素指示所述NAL单元为前缀基于AVC的3DV NAL单元。
6.根据权利要求1所述的方法,其中所述第二语法元素紧接地在所述AVC兼容3DV标头扩展或所述MVC兼容3DV标头扩展之前。
7.根据权利要求1所述的方法,其中所述第一语法元素的值等于二十一。
8.根据权利要求1所述的方法,其中所述NAL单元包括纹理视图分量的切片的经译码表示及第三语法元素,所述第三语法元素指示所述纹理视图分量的视图索引,其中如果所述视频数据是针对第一解码器配置文件而编码,那么相比于如果所述视频数据是针对第二解码器配置文件而编码,所述第三语法元素在所述NAL单元的NAL单元标头中含有较少数目个位。
9.根据权利要求1所述的方法,其进一步包含在移动计算装置中编码所述视频数据。
10.一种用于解码视频数据的方法,所述方法包含:
接收包括至少第一语法元素及第二语法元素的网络抽象层NAL单元,所述第一语法元素指示所述NAL单元属于特定NAL单元类型,其中纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内;及
至少部分地基于所述第二语法元素来确定所述NAL单元的NAL单元标头包括高级视频译码AVC兼容三维视频3DV标头扩展还是多视图译码MVC兼容标头扩展,其中:
所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素,且
所述MVC兼容3DV标头3DV扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
11.根据权利要求10所述的方法,其中所述AVC兼容3DV标头扩展具有语法结构,所述语法结构相同而不管所述NAL单元封装纹理视图分量的经译码切片还是深度视图分量的经译码切片。
12.根据权利要求10所述的方法,其中:
如果所述NAL单元包括MVC兼容3DV标头扩展,那么所述NAL单元不封装纹理视图分量的经译码切片;
所述NAL单元封装深度视图分量的经译码切片,且
如果所述NAL单元包括所述AVC兼容3DV标头扩展,那么所述深度视图分量的所述经译码切片具有第一语法结构,且如果所述NAL单元包括所述MVC兼容3DV标头扩展,那么所述深度视图分量的所述经译码切片具有第二语法结构,所述第二语法结构不同于所述第一语法结构。
13.根据权利要求12所述的方法,其中所述NAL单元为第一NAL单元,所述特定NAL单元类型为第一NAL单元类型,所述MVC兼容3DV标头扩展为第一MVC兼容3DV标头扩展,且所述方法进一步包含:
接收第二NAL单元,所述第二NAL单元属于第二NAL单元类型,所述第二NAL单元的NAL单元标头包括第二MVC兼容3DV标头扩展,所述第二MVC兼容3DV标头扩展具有与所述第一MVC兼容3DV标头扩展的语法结构相同的语法结构,所述第二NAL单元封装纹理视图分量的经译码切片。
14.根据权利要求10所述的方法,其进一步包含:
响应于确定所述第二语法元素指示所述NAL单元包括所述AVC兼容3DV标头扩展,至少部分地基于所述AVC兼容3DV标头扩展来重建所述视频数据的至少一部分;及响应于确定所述第二语法元素指示所述NAL单元的所述NAL单元标头包括所述MVC兼容3DV标头扩展,至少部分地基于所述MVC兼容3DV标头扩展来重建所述视频数据的至少一部分。
15.根据权利要求10所述的方法,其中所述方法进一步包含基于所述第一语法元素来确定所述NAL单元为前缀AVC兼容3DV NAL单元。
16.根据权利要求10所述的方法,其中所述第二语法元素紧接地在所述AVC兼容3DV标头扩展或所述MVC兼容3DV标头扩展之前。
17.根据权利要求10所述的方法,其中所述第一语法元素的值等于二十一。
18.根据权利要求10所述的方法,其中所述NAL单元包括纹理视图分量的切片的经译码表示及第三语法元素,所述第三语法元素指示所述纹理视图分量的视图索引,其中如果所述视频数据是针对第一解码器配置文件而编码,那么相比于如果所述视频数据是针对第二解码器配置文件而编码,所述第三语法元素在所述NAL单元的NAL单元标头中含有较少数目个位。
19.根据权利要求10所述的方法,其进一步包含在移动计算装置中解码所述视频数据。
20.一种编码视频数据的视频编码装置,所述视频编码装置包含一或多个处理器,所述一或多个处理器经配置以:
产生包括至少第一语法元素及第二语法元素的网络抽象层NAL单元,所述第一语法元素指示所述NAL单元属于特定NAL单元类型,其中:
纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内,
所述第二语法元素指示所述NAL单元的NAL单元标头包括高级视频译码AVC兼容三维视频3DV标头扩展还是多视图译码MVC兼容标头扩展,
所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素,且
所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
21.根据权利要求20所述的视频编码装置,其中所述AVC兼容3DV标头扩展具有语法结构,所述语法结构相同而不管所述NAL单元封装纹理视图分量的经译码切片还是深度视图分量的经译码切片。
22.根据权利要求20所述的视频编码装置,其中:
如果所述NAL单元包括MVC兼容3DV标头扩展,那么所述NAL单元不封装纹理视图分量的经译码切片;
所述NAL单元封装深度视图分量的经译码切片,且
如果所述NAL单元包括所述AVC兼容3DV标头扩展,那么所述深度视图分量的所述经译码切片具有第一语法结构,且如果所述NAL单元包括所述MVC兼容3DV标头扩展,那么所述深度视图分量的所述经译码切片具有第二语法结构,所述第二语法结构不同于所述第一语法结构。
23.根据权利要求22所述的视频编码装置,其中所述NAL单元为第一NAL单元,所述特定NAL单元类型为第一NAL单元类型,所述MVC兼容3DV标头扩展为第一MVC兼容3DV标头扩展,且所述一或多个处理器经进一步配置以:
产生第二NAL单元,所述第二NAL单元属于第二NAL单元类型,所述第二NAL单元的NAL单元标头包括第二MVC兼容3DV标头扩展,所述第二MVC兼容3DV标头扩展具有与所述第一MVC兼容3DV标头扩展的语法结构相同的语法结构,所述第二NAL单元封装纹理视图分量的经译码切片。
24.根据权利要求20所述的视频编码装置,其中所述第一语法元素指示所述NAL单元为前缀基于AVC的3DV NAL单元。
25.根据权利要求20所述的视频编码装置,其中所述第二语法元素紧接地在所述AVC3DV标头扩展或所述MVC标头扩展之前。
26.根据权利要求20所述的视频编码装置,其中所述第一语法元素的值等于二十一。
27.根据权利要求20所述的视频编码装置,其中所述NAL单元包括纹理视图分量的切片的经译码表示及第三语法元素,所述第三语法元素指示所述纹理视图分量的视图索引,其中如果所述视频数据是针对第一解码器配置文件而编码,那么相比于如果所述视频数据是针对第二解码器配置文件而编码,所述第三语法元素在所述NAL单元的NAL单元标头中含有较少数目个位。
28.根据权利要求20所述的视频编码装置,其中所述视频编码装置为移动计算装置。
29.一种解码视频数据的视频解码装置,所述视频解码装置包含一或多个处理器,所述一或多个处理器经配置以:
接收包括至少第一语法元素及第二语法元素的网络抽象层NAL单元,所述第一语法元素指示所述NAL单元属于特定NAL单元类型,其中纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内;且
至少部分地基于所述第二语法元素来确定所述NAL单元的NAL单元标头包括高级视频译码AVC兼容三维视频3DV标头扩展还是多视图译码MVC兼容标头扩展,其中:
所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素,且
所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
30.根据权利要求29所述的视频解码装置,其中所述AVC兼容3DV标头扩展具有语法结构,所述语法结构相同而不管所述NAL单元封装纹理视图分量的经译码切片还是深度视图分量的经译码切片。
31.根据权利要求29所述的视频解码装置,其中:
如果所述NAL单元包括MVC兼容3DV标头扩展,那么所述NAL单元不封装纹理视图分量的经译码切片;
所述NAL单元封装深度视图分量的经译码切片,且
如果所述NAL单元包括所述AVC兼容3DV标头扩展,那么所述深度视图分量的所述经译码切片具有第一语法结构,且如果所述NAL单元包括所述MVC兼容3DV标头扩展,那么所述深度视图分量的所述经译码切片具有第二语法结构,所述第二语法结构不同于所述第一语法结构。
32.根据权利要求31所述的视频解码装置,其中所述NAL单元为第一NAL单元,所述特定NAL单元类型为第一NAL单元类型,所述MVC兼容3DV标头扩展为第一MVC兼容3DV标头扩展,且所述一或多个处理器经进一步配置以:
接收第二NAL单元,所述第二NAL单元属于第二NAL单元类型,所述第二NAL单元的NAL单元标头包括第二MVC兼容3DV标头扩展,所述第二MVC兼容3DV标头扩展具有与所述第一MVC兼容3DV标头扩展的语法结构相同的语法结构,所述第二NAL单元封装纹理视图分量的经译码切片。
33.根据权利要求29所述的视频解码装置,其中所述一或多个处理器经配置以:
响应于确定出所述第二语法元素指示所述NAL单元包括所述AVC兼容3DV标头扩展,至少部分地基于所述AVC兼容3DV标头扩展来重建所述视频数据的至少一部分;且响应于确定出所述第二语法元素指示所述NAL单元的所述NAL单元标头包括所述MVC兼容3DV标头扩展,至少部分地基于所述MVC兼容3DV标头扩展来重建所述视频数据的至少一部分。
34.根据权利要求29所述的视频解码装置,其中所述一或多个处理器经配置以基于所述第一语法元素来确定出所述NAL单元为前缀AVC兼容3DV NAL单元。
35.根据权利要求29所述的视频解码装置,其中所述第二语法元素紧接地在所述AVC兼容3DV标头扩展或所述MVC兼容3DV标头扩展之前。
36.根据权利要求29所述的视频解码装置,其中所述第一语法元素的值等于二十一。
37.根据权利要求29所述的视频解码装置,其中所述NAL单元包括纹理视图分量的切片的经译码表示及第三语法元素,所述第三语法元素指示所述纹理视图分量的视图索引,其中如果所述视频数据是针对第一解码器配置文件而编码,那么相比于如果所述视频数据是针对第二解码器配置文件而编码,所述第三语法元素在所述NAL单元的NAL单元标头中含有较少数目个位。
38.根据权利要求29所述的视频解码装置,其中移动计算装置解码所述视频数据。
39.一种编码视频数据的视频编码装置,所述视频编码装置包含:
用于产生包括至少第一语法元素及第二语法元素的网络抽象层NAL单元的装置,所述第一语法元素指示所述NAL单元属于特定NAL单元类型,其中:
纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内,
所述第二语法元素指示所述NAL单元的NAL单元标头包括高级视频译码AVC兼容三维视频3DV标头扩展还是多视图译码MVC兼容标头扩展,
所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素,
所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
40.一种解码视频数据的视频解码装置,所述视频解码装置包含:
用于接收包括至少第一语法元素及第二语法元素的网络抽象层NAL单元的装置,所述第一语法元素指示所述NAL单元属于特定NAL单元类型,其中纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内;及
用于至少部分地基于所述第二语法元素来确定所述NAL单元的NAL单元标头包括高级视频译码AVC兼容三维视频3DV标头扩展还是多视图译码MVC兼容标头扩展的装置,其中:
所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素,且
所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
41.一种计算机可读存储媒体,其存储在由视频编码装置的一或多个处理器执行时配置所述视频编码装置以进行以下操作的指令:
产生包括至少第一语法元素及第二语法元素的网络抽象层NAL单元,所述第一语法元素指示所述NAL单元属于特定NAL单元类型,其中:
纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内,
所述第二语法元素指示所述NAL单元的NAL单元标头包括高级视频译码AVC兼容三维视频3DV标头扩展还是多视图译码MVC兼容标头扩展,
所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素,
所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
42.一种计算机可读存储媒体,其存储在由视频解码装置的一或多个处理器执行时配置所述视频解码装置以进行以下操作的指令:
接收包括至少第一语法元素及第二语法元素的网络抽象层NAL单元,所述第一语法元素指示所述NAL单元属于特定NAL单元类型,其中纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内;及
至少部分地基于所述第二语法元素来确定所述NAL单元的NAL单元标头包括高级视频译码AVC兼容三维视频3DV标头扩展还是多视图译码MVC兼容标头扩展,其中:
所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素,
所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。

说明书全文

用于三维视频译码的网络抽象层单元标头设计

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

技术领域

[0002] 本发明是关于视频译码(即,视频数据的编码及/或解码)。

背景技术

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

发明内容

[0006] 一种网络抽象层(NAL)单元可包括高级视频译码(AVC)兼容3维视频(3DV)标头扩展,或可包括多视图视频译码(MVC)兼容3DV标头扩展。所述NAL单元标头中的语法元素指示所述NAL单元的NAL单元标头包括所述AVC兼容3DV标头扩展还是包括所述MVC兼容3DV标头扩展。一种视频解码器接收所述NAL单元,且至少部分地基于所述语法元素来确定所述NAL单元的所述NAL单元标头包括所述AVC兼容3DV标头扩展还是所述MVC兼容3DV标头扩展。所述视频解码器可部分地基于所述AVC兼容3DV标头扩展或所述MVC兼容
3DV语法元素来重建所述NAL单元的视频数据。
[0007] 在一个方面,本发明描述一种用于编码视频数据的方法,其包含产生包括至少第一语法元素及第二语法元素的NAL单元。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述第二语法元素指示所述NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展。所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
[0008] 在另一方面,本发明描述一种用于解码视频数据的方法,其包含接收包括至少第一语法元素及第二语法元素的NAL单元。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述方法也包含至少部分地基于所述第二语法元素来确定所述NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展。所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
[0009] 在另一方面,本发明描述一种编码视频数据的视频编码装置。所述视频编码装置包含一或多个处理器,所述一或多个处理器经配置以产生包括至少第一语法元素及第二语法元素的NAL单元。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述第二语法元素指示所述NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展。所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
[0010] 在另一方面,本发明描述一种解码视频数据的视频解码装置。所述视频解码装置包含一或多个处理器,所述一或多个处理器经配置以接收包括至少第一语法元素及第二语法元素的NAL单元。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述一或多个处理器也经配置以至少部分地基于所述第二语法元素来确定所述NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展。所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
[0011] 在另一方面,本发明描述一种编码视频数据的视频编码装置。所述视频编码装置包含用于产生包括至少第一语法元素及第二语法元素的NAL单元的装置。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述第二语法元素指示所述NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容标头扩展。所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
[0012] 在另一方面,本发明描述一种解码视频数据的视频解码装置。所述视频解码装置包含用于接收包括至少第一语法元素及第二语法元素的NAL单元的装置。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述视频解码装置亦包含用于至少部分地基于所述第二语法元素来确定所述NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容标头扩展的装置。所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
[0013] 在另一方面,本发明描述一种计算机可读存储媒体,所述计算机可读存储媒体存储在由视频编码装置的一或多个处理器执行时配置所述视频编码装置以接收包括至少第一语法元素及第二语法元素的NAL单元的指令。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述一或多个处理器也经配置以至少部分地基于所述第二语法元素来确定所述NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展。所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
[0014] 在另一方面,本发明描述一种计算机可读存储媒体,所述计算机可读存储媒体存储在由视频解码装置的一或多个处理器执行时配置所述视频解码装置以接收包括至少第一语法元素及第二语法元素的NAL单元的指令。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述视频解码装置亦包含用于至少部分地基于所述第二语法元素来确定所述NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容标头扩展的装置。所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
[0015] 在随附图式及以下描述中阐明本发明的一或多个实例的细节。其它特征、目标及优势将从描述、图式及权利要求书变得显而易见。

附图说明

[0016] 图1为说明可利用本发明所描述的技术的实例视频译码系统的框图
[0017] 图2为说明可实施本发明所描述的技术的实例视频编码器的框图。
[0018] 图3为说明可实施本发明所描述的技术的实例视频解码器的框图。
[0019] 图4为根据本发明的一或多种技术的说明由视频编码器执行作为用以编码视频数据的进程的部分的实例操作的流程图
[0020] 图5为根据本发明的一或多种技术的说明由视频解码器执行作为用以解码视频数据的进程的部分的实例操作的流程图。
[0021] 图6为根据本发明的一或多种技术的说明由视频解码器执行作为用以解码经编码视频数据的进程的部分的另一实例操作的流程图。
[0022] 图7为说明实例多视图视频译码(MVC)兼容3维视频(3DV)解码顺序的概念图
[0023] 图8为说明实例MVC时间及视图间预测结构的概念图。

具体实施方式

[0024] 位流可包括视频数据的经编码表示。视频数据的经编码表示可包含一系列网络抽象层(NAL)单元。多视图视频译码(MVC)兼容3维视频(3DV)及高级视频译码(AVC)兼容3维视频(3DV)为H.264/AVC视频译码标准的两种扩展。除了H.264/AVC标准中定义的语法元素集合以外,用于MVC兼容3DV及AVC兼容3DV扩展的NAL单元的NAL单元标头也可包括不同语法元素集合。针对MVC兼容3DV及AVC兼容3DV扩展使用新NAL单元类型已被提议为用以适应这些额外语法元素的方式。然而,H.264/AVC标准的可用NAL单元类型的数目有限,且可需要节约剩余可用NAL单元类型以用于H.264/AVC标准的未来扩展。
[0025] 本发明的技术解决这个问题。根据本发明的技术,一种视频编码器可产生包括至少第一语法元素及第二语法元素的NAL单元。所述第一语法元素指示所述NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于所述特定NAL单元类型的NAL单元内。所述第二语法元素指示所述NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容标头扩展。所述AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。所述MVC兼容3DV标头扩展相比于所述AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。所述视频编码器输出包括所述NAL单元的位流。一种视频解码器可接收所述NAL单元,且至少部分地基于所述第二语法元素来确定所述NAL单元的所述NAL单元标头包括所述AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展。所述视频解码器可部分地基于所述AVC兼容3DV标头扩展或所述MVC兼容3DV标头扩展来重建视频数据。以此方式,分离NAL单元类型无需用于NAL单元标头包括AVC兼容3DV标头扩展的NAL单元及NAL单元标头包括MVC兼容3DV标头扩展的NAL单元。
[0026] 附加图式说明实例。附加图式中由参考数字指示的组件对应于以下描述中由类似参考数字指示的组件。在本发明中,具有始于序数词(例如,“第一”、“第二”、“第三”,等等)的名称的组件未必暗示出所述组件具有特定顺序。实情为,这些序数词可仅仅用以是指同一或相似类型的不同组件。
[0027] 图1为说明可利用本发明的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”一般地是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”一般地可指视频编码或视频解码。
[0028] 如图1所示,视频译码系统10包括源装置12及目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称作视频编码装置或视频编码仪器。目的地装置14可解码由源装置12产生的经编码视频数据。因此,目的地装置14可被称作视频解码装置或视频解码仪器。源装置12及目的地装置14可为视频译码装置或视频译码仪器的实例。
[0029] 源装置12及目的地装置14可包含广泛范围的装置,所述装置包括台式计算机、移动计算装置、笔记本(例如,便携式)计算机、平板计算机、机顶盒、电话手机(诸如,所谓的“智能”手机)、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车内计算机,或其类似者。
[0030] 目的地装置14可经由频道16而从源装置12接收经编码视频数据。频道16可包含能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,频道16可包含使源装置12能够实时地将经编码视频数据直接传输到目的地装置14的一或多个通信媒体。在这个实例中,源装置12可根据诸如无线通信协议的通信标准来调制经编码视频数据,且可将经调制视频数据传输到目的地装置14。所述一或多个通信媒体可包括无线及/或有线通信媒体,诸如,射频(RF)频谱或一或多个实体传输线。所述一或多个通信媒体可形成基于封包的网络的部分,诸如,局域网、广域网,或全局网络(例如,因特网)。所述一或多个通信媒体可包括路由器、交换机、基站,或促进从源装置12到目的地装置14的通信的其它设备。
[0031] 在另一实例中,频道16可包括存储由源装置12产生的经编码视频数据的存储媒体。在这个实例中,目的地装置14可经由磁盘访问或卡访问而访问所述存储媒体。存储媒体可包括各种各样的本地访问数据存储媒体,诸如,蓝光光盘、DVD、CD-ROM、闪存存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
[0032] 在另外实例中,频道16可包括存储由源装置12产生的经编码视频数据的文件服务器或另一中间存储装置。在这个实例中,目的地装置14可经由流式处理或下载而访问存储在所述文件服务器或另一中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据传输到目的地装置14的服务器类型。实例文件服务器包括web服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附接式存储(NAS)装置,及本地磁盘驱动器
[0033] 目的地装置14可经由诸如因特网连接的标准数据连接而访问经编码视频数据。数据连接的实例类型可包括适合于访问存储在文件服务器上的经编码视频数据的无线频道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器,等等),或这两者的组合。
从文件服务器对经编码视频数据的传输可为流式处理传输、下载传输,或这两者的组合。
[0034] 本发明的技术不限于无线应用或设置。所述技术可应用于支持诸如以下各者的各种各样的多媒体应用的视频译码:空中电视广播、有线电视传输、卫星电视传输、流式处理视频传输(例如,经由因特网)、供存储在数据存储媒体上的视频数据的编码、存储在数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持诸如视频流式处理、视频播放、视频广播及/或视频电话的应用。
[0035] 在图1的实例中,源装置12包括视频源18、视频编码器20及输出接口22。在一些实例中,输出接口22可包括调制器/解调器(调制解调器)及/或传输器。视频源18可包括视频捕获装置(例如,视频摄像机)、含有经先前捕获的视频数据的视频存档、用以从视频内容提供商接收视频数据的视频馈送接口,及/或用于产生视频数据的计算机图形系统,或这些视频数据源的组合。
[0036] 视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12直接经由输出接口22而将经编码视频数据传输到目的地装置14。在其它实例中,经编码视频数据亦可存储到存储媒体或文件服务器上以供目的地装置14稍后访问以用于解码及/或播放。
[0037] 在图1的实例中,目的地装置14包括输入接口28、视频解码器30及显示装置32。在一些实例中,输入接口28包括接收器及/或调制解调器。输入接口28可经由频道16而接收经编码视频数据。显示装置32可与目的地装置14整合或可在目的地装置14外部。
一般而言,显示装置32显示经解码视频数据。显示装置32可包含各种各样的显示装置,诸如,液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
[0038] 在一些实例中,视频编码器20及视频解码器30根据诸如ISO/IEC MPEG-4Visual及ITU-T H.264(也被称为ISO/IEC MPEG-4AVC)(包括其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展)的视频压缩标准而操作。到2013年1月14日为止,H.264/AVC的MVC扩展的新近草稿可在http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zip处下载而得到,其全部内容是以引用方式并入本文中。此外,作为MVC标准的扩展,存在MPEG文件w12351的“WD of MVC extension for inclusion of depth maps”中所描述的视频译码标准,即,“基于MVC的3DV”(即,MVC兼容3DV),其全部内容是以引用方式并入本文中。H264/AVC的AVC兼容3DV扩展的草稿被描述于Mannuksela等人的“3D-AVC Draft Text4”(ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的关于3D视频译码扩展开发的联合合作团队,2012年10月第2次会议,中国上海)中,到2013年1月14日为止,所述草稿可在http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/2_Shanghai/wg11/JCT3V-B1002-v1.zip处得到,其全部内容是以引用方式并入本文中。符合AVC兼容3DV的任何合法位流可始终含有符合MVC配置文件(例如,立体高配置文件)的子位流。
[0039] 在其它实例中,视频编码器20及视频解码器30可根据包括ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262、ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及目前在开发中的高效率视频译码(HEVC)标准的其它视频压缩标准而操作。被称作“HEVC工作草稿9”的即将到来的HEVC标准的草稿被描述于Bross等人的“High Efficiency Video Coding(HEVC)text specification draft9”(ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的关于视频译码的联合合作团队(JCT-VC),2012年10月第11次会议,中国上海)中,到2013年1月14日为止,所述草稿可从http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v8.zip下载,其全部内容是以引用方式并入本文中。虽然本发明的技术是关于H.264/AVC予以描述,但这些技术可应用于其它译码标准,且不限于任何特定译码标准或技术。
[0040] 图1仅仅为实例,且本发明的技术可应用于未必包括编码装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据是从本地存储器被检索、经由网络进行流式处理,或其类似者。视频编码装置可编码数据且将数据存储到存储器,及/或视频解码装置可从存储器检索且解码数据。在许多实例中,编码及解码是由不会相互通信而仅仅将数据编码至存储器及/或从存储器检索数据且解码数据的装置执行。
[0041] 视频编码器20及视频解码器30各自可被实施为各种各样的合适电路中任一者,诸如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程数组(FPGA)、离散逻辑、硬件,或其任何组合。如果所述技术是部分地以软件予以实施,那么装置可将用于所述软件的指令存储在合适的非暂时性计算机可读存储媒体中,且可使用一或多个处理器来以硬件执行所述指令以执行本发明的技术。前述者(包括硬件、软件、硬件与软件的组合,等等)中任一者可被视为一或多个处理器。视频编码器20及视频解码器30中每一者可包括在一或多个编码器或解码器中,所述一或多个编码器或解码器中任一者可被整合为相应装置中的组合式编码器/解码器(CODEC)的部分。
[0042] 本发明通常可涉及视频编码器20将某些信息“发信”至诸如视频解码器30的另一装置。术语“发信”一般地可指用以解码经压缩视频数据的语法元素及/或其它数据的通信。这个通信可实时地或近实时地发生。或者,这个通信可遍及一时间跨度而发生,诸如,可能在编码的时间以经编码位流将语法元素存储到计算机可读存储媒体时发生,所述语法元素接着可由解码装置在将其存储到这个媒体之后的任何时间检索。
[0043] 视频序列通常包括一系列视频帧。图片群组(GOP)通常包含一系列一或多个视频帧。GOP可包括在GOP的标头中、在GOP的一或多个帧的标头中或在别处的语法数据,所述语法数据描述包括在GOP中的帧的数目。每一帧可包括描述用于相应帧的编码模式的帧语法数据。视频编码器20通常对个别视频帧内的视频块进行操作以便编码视频数据。在H.264/AVC中,视频块可对应于宏块,或宏块的分区。在HEVC中,视频块可对应于译码单元(CU)。视频块可具有固定或变化大小,且其大小可根据指定译码标准而不同。此外,每一视频帧可包括多个切片。每一切片可包括多个视频块。
[0044] 当视频编码器20编码视频块时,视频编码器20可产生对应于视频块的预测性像素块。视频编码器20可执行帧内预测或帧间预测以产生预测性像素块。当视频编码器20对视频块执行帧内预测时,视频编码器20可基于与视频块相同的视频帧内的样本(例如,像素分量的值)来产生对应于视频块的预测性像素块。当视频编码器20执行帧间预测以产生对应于视频块的预测性像素块时,视频编码器20可基于一或多个参考图片内的样本来产生预测性像素块。参考图片可为不同于含有视频块的图片的图片。
[0045] 在视频编码器20产生对应于视频块的预测性像素块之后,视频编码器20可产生对应于视频块的残余视频块。残余视频块中的每一样本可基于视频块及预测性像素块中的对应样本之间的差。视频编码器20可将变换应用于残余视频块以产生一或多个系数块。视频编码器20可将各种变换应用于残余视频块。举例来说,视频编码器20可将诸如离散余弦变换(DCT)、整数变换、小波变换或概念上相似变换的变换应用于残余视频块。视频编码器20可量化系数块以进一步缩减用以表示视频块的位的数目。在量化系数块之后,视频编码器20可熵编码表示系数块中的系数的语法元素及与视频块相关联的其它语法元素。举例来说,视频编码器20可对语法元素执行上下文自适应性二进制算术译码(CABAC)、上下文自适应性可变长度译码(CAVLC)、指数哥伦布译码,或另一类型的熵编码。视频编码器20可输出包括与视频块相关联的经熵编码语法元素的位流。
[0046] 视频解码器30可接收包括视频数据的经编码表示的位流。视频解码器30可分析所述位流以从所述位流提取语法元素。作为从位流提取语法元素的部分,视频解码器30可熵解码位流的部分。视频解码器30可至少部分地基于与视频块相关联的语法元素来执行帧间或帧内预测以产生用于视频块的预测性像素块。此外,视频解码器30可反量化与视频块相关联的系数块的系数,且可将一或多个反变换应用于所述系数块以产生用于视频块的残余视频块。视频解码器30接着可至少部分地基于残余视频块及预测性像素块来重建视频块。以此方式,通过重建帧的视频块中的每一者,视频解码器30可重建所述帧。
[0047] 如上文所提到,视频编码器20可执行帧间预测以产生对应于特定视频块的预测性像素块。更具体言之,视频编码器20可执行单向帧间预测或双向帧间预测以产生预测性像素块。
[0048] 当视频编码器20针对特定视频块执行单向帧间预测时,视频编码器20可搜索单一参考图片列表中的参考图片内的参考块。所述参考块可为相似于特定视频块的样本块。此外,当视频编码器20执行单向帧间预测时,视频编码器20可产生用于特定视频块的运动信息。用于特定视频块的运动信息可包括运动矢量及参考图片索引。运动矢量可指示特定视频块在当前帧(即,包括特定视频块的帧)内的位置与参考块在参考帧内的位置之间的空间位移。参考图片索引指示含有参考图片列表的参考帧在参考图片列表内的位置。用于特定视频块的预测性像素块可等于参考块。
[0049] 当视频编码器20针对特定视频块执行双向帧间预测时,视频编码器20可搜索第一参考图片列表(“列表0”)中的参考图片内的第一参考块,且可搜索第二参考图片列表(“列表1”)中的参考图片内的第二参考块。视频编码器20可至少部分地基于第一参考块及第二参考块来产生用于特定视频块的预测性像素块。此外,视频编码器20可产生指示特定视频块与第一参考块之间的空间位移的第一运动矢量。视频编码器20也可产生识别含有第一参考块的参考图片在第一参考图片列表内的位置的第一参考图片索引。此外,视频编码器20可产生指示特定视频块与第二参考块之间的空间位移的第二运动矢量。视频编码器20也可产生识别包括第二参考块的参考图片在第二参考图片列表内的位置的第二参考图片索引。
[0050] 当视频编码器20对特定视频块执行单向帧间预测时,视频解码器30可使用特定视频块的运动信息以识别特定视频块的参考样本。视频解码器30接着可基于特定视频块的参考样本来产生特定视频块的预测性像素块。当视频编码器20对特定视频块执行双向帧间预测时,视频解码器30可使用特定视频块的运动信息以识别特定视频块的两个参考样本。视频解码器30可基于特定视频块的两个参考样本来产生特定视频块的预测性像素块。
[0051] 多视图视频译码(MVC)兼容3DV为H.264/AVC标准的扩展。MVC兼容3DV也可被称作基于MVC的3DV。在对H.264/AVC的MVC兼容3DV扩展中,可存在来自不同视点的同一场景的多个视图。术语“访问单元”用以是指对应于同一时间例项的图片集合。因此,视频数据可被概念化为随时间而出现的一系列访问单元。
[0052] MVC兼容3DV支持视图间预测。视图间预测相似于H.264/AVC中使用的帧间预测,且可使用相同语法元素。然而,当视频译码器对视频块执行视图间预测时,视频编码器20可使用在与视频块相同的访问单元内但在不同视图中的图片作为参考图片。与此对比,常规帧间预测仅使用在不同访问单元中的图片作为参考图片。在MVC兼容3DV中,如果视频解码器(例如,视频解码器30)可在不参考任何其它视图中的图片的情况下解码视图中的图片,那么所述视图被称作“基本视图”。当译码在非基本视图中的一者中的图片时,如果图片在不同视图中但在与视频译码器当前正译码的图片相同的时间例项内,那么视频译码器可将所述图片添加至参考图片列表中。类似于其它帧间预测参考图片,视频译码器可在参考图片列表的任何位置处插入视图间预测参考图片。在MVC兼容3DV中,视图间预测可受到不均等运动补偿支持。不均等运动补偿使用H.264/AVC运动补偿的语法,但可允许将不同视图中的图片用作参考图片。两个或两个以上视图的译码可受到MVC兼容3DV支持。MVC兼容3DV的优势中的一者可为:MVC兼容3DV编码器可使用两个以上视图作为3D视频输入,且MVC解码器可解码此多视图表示。结果,支持MVC兼容3DV的视频解码器可处理具有两个以上视图的3D视频内容。
[0053] MVC兼容3DV提供深度图。深度图为像素值表示对应“纹理”图片所示的对象的三维深度的图片。在一些实例中,深度图中的较亮像素值可对应于较接近相机的对象,且深度图中的较暗像素值可对应于较远离相机的对象。“纹理”图片可为正常H.264/AVC图片。在一个访问单元中的视图的纹理部分(即,访问单元中的纹理视图)被命名为“纹理视图分量”。用于访问单元的深度图亦可被称作访问单元的“深度视图分量”。术语“视图分量”可用以是指访问单元中的视图,且共同地是指同一访问单元中的纹理视图分量及深度视图分量两者。在一些情况下,在MVC兼容3DV中,不允许基于纹理视图分量来编码深度视图分量。
[0054] 此外,存在产生对H.264/AVC的三维视频(3DV)译码扩展(即,AVC兼容3DV)的正在进行中的努力。类似于MVC兼容3DV,AVC兼容3DV提供深度图。在AVC3DV扩展中,视频编码器20可以与访问单元的其它视图相同的方式编码深度图。即,除了用于不同视图的纹理图片以外,访问单元也可包括深度图。AVC兼容3DV允许基于纹理视图分量来编码深度视图分量。此情形可增加译码效率,但可增加复杂性。
[0055] 在MVC兼容3DV及AVC兼容3DV两者中,视频编码器20可使用基于深度影像的显现(DIBR)以基于可用纹理及深度视图分量来产生合成纹理视图分量。合成纹理视图分量可为基于深度图及一或多个纹理视图分量而合成的纹理视图分量。举例来说,特定纹理视图分量可为左眼纹理视图分量,且视频编码器20可使用DIBR以产生右眼纹理视图分量用于3维视频播放。在一些情况下,可使用合成纹理视图分量作为用于访问单元间访问或视图间预测的参考图片。用作参考图片的合成纹理视图分量可被称作视图合成参考图片(VSRP)。视频译码器可包括在参考图片列表中的VSRP。
[0056] 如上文简要地所提到,视频编码器20可输出含有经编码视频数据的位流。所述位流可包括形成经译码图片及关联数据的表示的位序列。位流可包含网络抽象层(NAL)单元序列。所述NAL单元中每一者包括NAL单元标头且封装原始字节序列有效负载(RBSP)。NAL单元标头可包括指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为封装在NAL单元内的含有整数数目个字节的语法结构。在一些情况下,RBSP可包括零个位。
[0057] 不同类型的NAL单元可封装不同类型的RBSP。举例来说,第一类型的NAL单元可封装用于图片参考集(PPS)的RBSP,第二类型的NAL单元可封装用于经译码切片的RBSP,第三类型的NAL单元可封装用于补充增强信息(SEI)的RBSP,等等。
[0058] 封装用于视频译码数据的RBSP(与用于参数集及SEI讯息的RBSP相对)的NAL单元可被称作视频译码层(VCL)NAL单元。封装经译码切片的NAL单元可被称作经译码切片NAL单元。在AVC兼容3DV的一些设计中,封装经译码深度视图分量的VCL NAL单元具有NAL单元类型21。
[0059] 封装符合AVC兼容3DV的经译码视图分量的NAL单元在其NAL单元标头中相比于封装符合MVC兼容3DV的经译码视图分量的NAL单元具有不同语法元素。举例来说,封装符合AVC兼容3DV的经译码视图分量的NAL单元可包括以下语法元素:non_idr_flag、anchor_pic_flag、temporal_id、inter_view_flag、depth_flag及view_idx flag。用于MVC兼容3DV的NAL单元也包括non_idr_flag、anchor_pic_flag、temporal_id及inter_view_flag语法元素。non_idr_flag、anchor_pic_flag、temporal_id及inter_view_flag语法元素可在用于AVC兼容3DV及MVC兼容3DV的NAL单元中具有相同语义。然而,用于MVC兼容3DV的NAL单元不包括view_idx及depth_flag语法元素。
[0060] view_idx语法元素指定用于NAL单元的视图顺序索引。具有相同view_idx值的NAL单元属于同一视图。view_idx语法元素可与MVC兼容3DV中的view_order_index语法元素相同。如果depth_flag语法元素等于1,那么NAL单元属于深度视图分量。如果depth_flag语法元素等于0,那么NAL单元属于纹理视图分量。当不存在depth_flag语法元素时,视频解码器30可推断(即,自动地确定)出depth_flag语法元素等于0。
[0061] 上文所描述的AVC兼容3DV的设计存在若干问题。第一,为了使AVC兼容3DV与对AVC的其它扩展共存,可需要新NAL单元类型用于非基本纹理视图分量及/或深度视图分量的VCL NAL单元。第二,如果非基本纹理视图分量的VCL NAL单元相比于MVC兼容3DV中使用的前缀NAL单元具有不同语法元素,那么AVC兼容3DV扩展的当前设计可需要使用新前缀NAL单元。前缀NAL单元可为包括NAL单元标头(及NAL单元标头扩展)且封装0字节RBSP的NAL单元。因此,上文所描述的AVC兼容3DV的设计可需要使用三个新NAL单元类型:新前缀NAL单元类型、用于非基本纹理视图分量的VCL NAL单元的新NAL单元类型,及用于深度视图分量的VCL NAL单元的新NAL单元类型。新NAL单元类型的使用可有问题,这是因为在H.264/AVC标准中仅存在少许剩余未使用NAL单元类型。
[0062] 本发明的技术可解决上文所描述的问题。根据本发明的技术,视频编码器20可产生包括至少第一语法元素及第二语法元素的NAL单元。第一语法元素(“nal_unit_type”)指示NAL单元属于特定NAL单元类型。纹理视图分量的的译码切片及深度视图分量的经译码切片可封装在属于特定NAL单元类型的NAL单元内。第二语法元素(“avc_based_3dv_flag”)指示NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展。“avc_based_3dv_flag”可紧接地在AVC3DV标头扩展或MVC标头扩展之前。AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。MVC兼容3DV标头扩展相比于AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。
[0063] 因为NAL单元可包括“avc_based_3dv_flag”,所以包括AVC兼容3DV标头扩展及MVC兼容3DV标头扩展的NAL单元可属于同一NAL单元类型。因此,“avc_based_3dv_flag”可消除针对用于包括AVC兼容3DV标头扩展及MVC兼容3DV标头扩展的NAL单元的分离NAL单元类型的需要。以此方式,本发明的技术可节约可用NAL单元类型以用于H.264/AVC的未来扩展。在一些实例中,仅在“nal_unit_type”等于21时,NAL单元才可包括“avc_based_3dv_flag”。
[0064] 图2为说明经配置以实施本发明的技术的实例视频编码器20的框图。图2是出于解释的目的而提供,且不应被视为限制如本发明广泛地所例示及描述的技术。出于解释的目的,本发明在H.264/AVC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
[0065] 在图2的实例中,视频编码器20包括预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重建单元112、滤波器单元113、经解码图片缓冲器114及熵编码单元116。预测处理单元100包括帧间预测处理单元121及帧内预测处理单元126。帧间预测处理单元121包括运动估计单元122及运动补偿单元124。在其它实例中,视频编码器20可包括更多、更少或不同功能组件。
[0066] 视频编码器20接收视频数据。为了编码视频数据,视频编码器20可编码视频数据的每一图片的每一切片。作为编码切片的部分,视频编码器20可编码切片中的视频块。
[0067] 帧间预测处理单元121可通过对视频块执行帧间预测来产生用于视频块的预测性数据。用于视频块的预测性数据可包括对应于视频块的预测性像素块,及用于视频块的运动信息。
[0068] 切片可为I切片、P切片或B切片。运动估计单元122及运动补偿单元124可取决于视频块在I切片、P切片还是B切片中而针对视频块执行不同操作。在I切片中,所有视频块被帧内预测。因此,如果视频块在I切片中,那么运动估计单元122及运动补偿单元124不对视频块执行帧间预测。
[0069] 如果视频块在P切片中,那么运动估计单元122可搜索参考图片列表(例如,列表0)中的参考图片以获得用于视频块的参考块。在视频编码器20使用MVC兼容3DV或AVC兼容3DV的实例中,参考图片列表可包括视图间参考图片。在视频编码器20使用AVC兼容
3DV的实例中,参考图片列表中的视图间参考图片可包括基于深度图而合成的参考图片。视频块的参考块可为最接近地对应于视频块的像素块。运动估计单元122可使用各种各样的指标以确定参考图片中的像素块对应于视频块的接近程度。举例来说,运动估计单元122可通过绝对差总和(SAD)、平方差总和(SSD)或其它差指标来确定参考图片中的像素块对应于视频块的接近程度。
[0070] 运动估计单元122可产生指示列表0中含有P切片中视频块的参考块的参考图片的参考图片索引,及指示视频块与参考块之间的空间位移的运动矢量。运动估计单元122可输出参考图片索引及运动矢量作为视频块的运动信息。运动补偿单元124可基于由视频块的运动信息指示的参考块来产生用于视频块的预测性像素块。
[0071] 如果视频块在B切片中,那么运动估计单元122可针对视频块执行单向帧间预测或双向帧间预测。为了针对视频块执行单向帧间预测,运动估计单元122可搜索列表0或第二参考图片列表(例如,列表1)的参考图片以获得用于视频块的参考块。在视频编码器20使用MVC或3DV的实例中,列表0及/或列表1可包括视图间参考图片。运动估计单元
122可产生指示含有参考块的参考图片在列表0或列表1中的位置的参考图片索引,及指示视频块与参考块之间的空间位移的运动矢量。运动估计单元122也可产生指示参考图片在列表0还是列表1中的预测方向指示符。
[0072] 为了针对视频块执行双向帧间预测,运动估计单元122可搜索列表0中的参考图片以获得用于视频块的参考块,且也可搜索列表1中的参考图片以获得用于视频块的另一参考块。运动估计单元122可产生指示含有参考块的参考图片在列表0及列表1中的位置的参考图片索引。此外,运动估计单元122可产生指示参考块与视频块之间的空间位移的运动矢量。视频块的运动信息可包括视频块的参考图片索引及运动矢量。运动补偿单元124可基于由视频块的运动信息指示的参考块来产生视频块的预测性样本块。样本块可为样本(例如,亮度样本或色度样本)的块。
[0073] 帧内预测处理单元126可通过对视频块执行帧内预测来产生用于视频块的预测性数据。用于视频块的预测性数据可包括用于视频块的预测性像素块,及各种语法元素。像素块可为像素的块。因为每一像素可包括多个样本,所以每一像素块可划分成多个样本块,每一类型的样本是针对一个样本块。帧内预测处理单元126可对I切片、P切片及B切片中的视频块执行帧内预测。
[0074] 为了对视频块执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式以产生用于视频块的多个预测性数据集合。为了使用帧内预测模式以产生用于视频块的预测性数据集合,帧内预测处理单元126可在与帧内预测模式相关联的方向上横越视频块而扩展来自相邻视频块的样本。相邻视频块可在视频块上方、右上方、左上方或左边,此是假定针对视频块的从左到右的从顶到底编码顺序。在一些实例中,帧内预测模式的数目可取决于视频块的大小。
[0075] 预测处理单元100可从由帧间预测处理单元121针对视频块产生的预测性数据或由帧内预测处理单元126针对视频块产生的预测性数据当中选择用于视频块的预测性数据。在一些实例中,预测处理单元100基于预测性数据集合的速率/失真指标来选择用于视频块的预测性数据。
[0076] 残余产生单元102可通过从视频块的对应样本减去预测性像素块中的样本来产生残余样本块。变换处理单元104可通过将一或多个变换应用于残余样本块来产生用于每一残余样本块的系数块。变换处理单元104可将各种变换应用于残余样本块。举例来说,变换处理单元104可将离散余弦变换(DCT)、方向变换或概念上相似变换应用于残余样本块。
[0077] 量化单元106可量化系数块中的系数。量化进程可缩减与所述系数中的一些或全部相关联的位深度。举例来说,在量化期间可将n位系数降值舍位至m位系数,其中n大于m。量化单元106可基于量化参数(QP)值来量化系数块。视频编码器20可通过调整QP值来调整应用于系数块的量化程度。
[0078] 反量化单元108及反变换处理单元110可分别将反量化及反变换应用于系数块,以从系数块重建残余样本块。重建单元112可将经重建残余样本块中的样本添加至来自由预测处理单元100产生的一或多个预测性样本块的对应样本以产生经重建样本块。滤波器单元113可执行去块操作以缩减经重建视频块中的块假象。在滤波器单元113对经重建视频块执行一或多个去块操作之后,经解码图片缓冲器114可存储经重建视频块。运动估计单元122及运动补偿单元124可使用含有经重建视频块的参考图片以对后续图片的视频块执行帧间预测。此外,帧内预测处理单元126可使用经解码图片缓冲器114中的经重建视频块以执行帧内预测。
[0079] 熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元116可从量化单元106接收系数块,且可从预测处理单元100接收语法元素。熵编码单元116可对数据执行一或多个熵编码操作以产生经熵编码数据。举例来说,视频编码器20可对数据执行CAVLC操作、CABAC操作、变量至变量(V2V)长度译码操作、基于语法的上下文自适应性二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布译码操作,或另一类型的熵编码操作。
[0080] 视频编码器20可输出包括由熵编码单元116产生的经熵编码数据的位流。所述位流可包括一系列NAL单元。所述NAL单元中每一者可包括NAL单元标头及RBSP。根据本发明的技术,NAL单元标头可包括指示切片标头包括AVC兼容3DV标头扩展还是包括MVC兼容3DV标头扩展的语法元素。在一些实例中,视频编码器20可产生符合下表1所描述的语法的NAL单元。
[0081] 表1
[0082]nal_unit(NumBytesInNALunit){
forbidden_zero_bit
nal_ref_idc
nal_unit_type
NumBytesInRBSP=0
nalUnitHeaderBytes=1
if(nal_unit_type==14||nal_unit_type==20){
svc_extension_flag
if(svc_extension_flag)
nal_unit_header_svc_extension()/*附件G中指定*/
Else
nal_unit_header_mvc_extension()/*附件H中指定*/
nalUnitHeaderBytes+=3
}
if(nal_unit_type==21){
avc_based_3dv_flag
if(avc_based_3dv_flag){
nal_unit_header_avc_3dv_extension()/*附件J中指定*/
nalUnitHeaderBytes+=2
[0083]}
else{
nal_unit_header_mvc_extension()/*附件H中指定*/
nalUnitHeaderBytes+=3
}
}
for(i=nalUnitHeaderBytes;iif(i+2rbsp_byte[NumBytesInRBSP++]
rbsp_byte[NumBytesInRBSP++]
i+=2
emulation_prevention_three_byte/*等于0x03*/
}else
rbsp_byte[NumBytesInRBSP++]
}
}
[0084] 在表1的实例语法中,svc_extension_flag语法元素指示NAL单元关于对H.264/AVC标准的可缩放视频译码(SVC)扩展还是关于H.264/AVC标准的MVC兼容3DV扩展。根据本发明的技术,当svc_extension_flag语法元素等于1时,重用NAL单元类型21。svc_extension_flag语法元素现在可为NAL单元标头扩展的第一标志。如果svc_extension_flag语法元素等于1,那么NAL单元关于SVC且包括SVC标头扩展nal_unit_header_svc_extension()。如果svc_extension_flag语法元素等于0,那么NAL单元关于MVC兼容3DV,且NAL单元包括MVC兼容3DV标头扩展nal_unit_header_mvc_extension()。在MVC兼容3DV及SVC两者中,存在共享同一NAL单元标头设计的两个NAL单元类型(14及20)。NAL单元类型14是针对前缀NAL单元,且NAL单元类型20是针对在增强层或非基本视图处的其它VCL NAL单元。
[0085] 在表1的实例语法中,NAL单元类型21重用于AVC兼容3DV标头扩展及MVC兼容3DV标头扩展两者。即,如果nal_unit_type语法元素等于21,那么NAL单元可包括AVC兼容3DV标头扩展或MVC兼容3DV标头扩展。在表1的实例语法中,avc_based_3dv_flag语法元素指示NAL单元包括AVC兼容3DV标头扩展nal_unit_header_avc_3dv_extension()还是MVC兼容3DV标头扩展nal_unit_header_mvc_extension()。
[0086] 如果avc_based_3dv_flag语法元素等于1,那么NAL单元包括AVC兼容3DV标头扩展。即,对于符合H.264/AVC标准的附件J(或在附件J不用于基于AVC的3DV扩展的情况下指定基于AVC的3DV扩展的附件)中指定的一或多个配置文件的经译码视频序列,avc_based_3dv_flag语法元素的值可等于1。在一些实例中,符合H.264/AVC标准的附件J中指定的一或多个配置文件的视频解码器未经配置成处理nal_unit_type语法元素等于21且avc_based_3dv_extension_flag语法元素等于0所针对的NAL单元。因此,这些视频解码器可忽略(即,从位流移除且放弃)nal_unit_type语法元素等于21且avc_based_3dv_extension_flag语法元素等于0所针对的NAL单元。
[0087] 如果avc_based_3dv_flag语法元素等于0,那么NAL单元包括MVC兼容3DV标头扩展。即,对于符合H.264/AVC标准的附件I(基于MVC的3DV)中指定的一或多个解码器配置文件的经译码视频序列,avc_based_3dv_flag语法元素的值可等于0。因此,符合H.264/AVC标准的附件I中指定的一或多个配置文件但未经配置成处理nal_unit_type语法元素等于21所针对的NAL单元的视频解码器可忽略(即,从位流移除且放弃)nal_unit_type语法元素等于21且avc_based_3dv_extension_flag语法元素等于1所针对的NAL单元。
[0088] 在其它实例中,avc_based_3dv_flag语法元素可在AVC兼容3DV扩展中被重命名为mvc_3dv_extension_flag。在这些实例中,如果mvc_3dv_extension_flag等于1,那么NAL单元包括MVC兼容3DV标头扩展。如果mvc_3dv_extension_flag等于0,那么NAL单元包括AVC兼容3DV标头扩展。
[0089] 如果NAL单元类型为前缀NAL单元或MVC VCL NAL单元,那么MVC兼容3DV中的NAL单元可包括1字节NAL单元标头及3字节MVC NAL单元标头扩展。MVC兼容3DV中的前缀NAL单元可仅含有NAL单元标头及MVC NAL单元标头扩展。下表2指示用于nal_unit_header_mvc_extension函数的实例语法结构。
[0090] 表2
[0091]nal_unit_header_mvc_extension(){ C 描述符
non_idr_flag 全部 u(1)
priority_id 全部 u(6)
view_id 全部 u(10)
temporal_id 全部 u(3)
anchor_pic_flag 全部 u(1)
inter_view_flag 全部 u(1)
reserved_one_bit 全部 u(1)
}
[0092] 在表2及下表的实例中,具有形式u(n)(其中n为非负整数)的描述符的语法元素为长度n的无正负号值。在表2的实例语法结构中,non_idr_flag指示NAL单元是否属于瞬时解码刷新(IDR)NAL单元。随机访问点为仅包括I切片的图片。priority_id语法元素可用于单路径适应,其中可仅仅通过检查priority_id来进行适应。view_id语法元素可指示当前视图的视图标识符。NAL单元可封装当前视图的视图分量的切片的经译码表示。temporal_id语法元素可指示NAL单元的时间级别。所述时间级别可指示与NAL单元相关联的帧速率。anchor_pic_flag语法元素可指示NAL单元是否属于可用于随机访问的锚图片。锚图片为所有切片可仅参考同一访问单元中的切片的经译码图片。即,视图间预测可用以编码锚图片,但帧间预测可不用以编码锚图片。inter_view_flag语法元素指示当前视图分量是否用于针对其它视图中的NAL单元的视图间预测。NAL单元可封装当前视图分量的切片的经译码表示。
[0093] 如果NAL单元包括MVC兼容3DV标头扩展,那么NAL单元不封装纹理视图分量的经译码切片。如果封装深度视图分量的经译码切片的NAL单元包括AVC兼容3DV标头扩展,那么所述NAL单元可具有第一语法结构,且如果所述NAL单元包括MVC兼容3DV标头扩展,那么所述NAL单元可具有第二语法结构,第二语法结构不同于第一语法结构。在一些实例中,视频编码器20可产生(且视频解码器30可接收)属于不同NAL单元类型的另一NAL单元。所述另一NAL单元的NAL单元标头可包括第二MVC兼容3DV标头扩展。第二MVC兼容3DV标头扩展可具有与第一MVC兼容3DV标头扩展的语法结构相同的语法结构。所述另一NAL单元可封装纹理视图分量的经译码切六。
[0094] 下表3指示用于nal_unit_header_avc_3dv_extension函数的实例语法结构。
[0095] 表3
[0096]nal_unit_header_avc_3dv_extension(){ C 描述符
non_idr_flag 全部 u(1)
anchor_pic_flag 全部 u(1)
temporal_id 全部 u(3)
inter_view_flag 全部 u(1)
depth_flag 全部 u(1)
view_idx 全部 u(8)
}
[0097] 在表3的实例语法结构中,non_idr_flag语法元素、anchor_pic_flag语法元素、temporal_id语法元素及inter_view_flag语法元素可具有与nal_unit_header_mvc_extension的对应语法元素的语义相同的语义。depth_flag语法元素可指示NAL单元封装深度视图分量的经编码数据还是纹理视图分量的经编码数据。即,视频解码器30可基于深度标志语法元素来确定NAL单元封装深度视图分量的经编码数据还是纹理视图分量的经编码数据。举例来说,如果depth_flag语法元素等于1,那么NAL单元封装深度视图分量的经编码数据。在这个实例中,如果depth_flag语法元素等于0,那么NAL单元封装纹理视图分量的经编码数据。在一些实例中,如果depth_flag语法元素不存在于NAL单元中,那么视频解码器30可自动地确定出depth_flag语法元素等于0。MVC兼容3DV标头扩展的语法不考虑深度标志语法元素。即,在一些实例中,MVC兼容3DV标头扩展不能包括深度标志语法元素。AVC兼容3DV标头扩展具有语法结构,所述语法结构相同而不管NAL单元封装纹理视图分量的经译码切片还是深度视图分量的经译码切片。
[0098] 在表3的实例语法中,对于非基本视图纹理的VCL NAL单元及前缀NAL单元,可共享同一NAL单元类型。在这种状况下,在NAL单元标头中发信view_idx,而非view_id。view_idx语法元素指示用于NAL单元的视图顺序索引。具有相同view_idx语法元素值的NAL单元属于同一视图。view_idx语法元素可具有与MVC兼容3DV规范(即,基于MVC的
3DV规范)中的视图顺序索引(VOIdx)的语义相同的语义。在一些实例中,对于前缀NAL单元,view_idx语法元素始终等于0。
[0099] 在一些实例中,如果nal_unit_header_avc_3dv_extension函数的view_idx语法元素及depth_flag语法元素皆等于0,那么NAL单元的RBSP为前缀NAL单元AVC 3DV RBSP。在表1的实例语法中,同一NAL单元类型用于非基本视图纹理分量的VCL NAL单元及前缀NAL单元。前缀NAL单元AVC3DV RSBP可为包括0个字节的RBSP。下表4提供前缀NAL单元AVC3DV RBSP的实例语法结构。
[0100] 表4
[0101]prefix_nal_unit_avc_3dv_rbsp(){ C 描述符
}
[0102] 在另一实例中,新NAL单元类型用于前缀AVC兼容3DV NAL单元。下表5为新NAL单元类型用于前缀AVC兼容3DV NAL单元的NAL单元的实例语法结构。在表5的实例语法中,如果NAL单元的nal_unit_type语法元素等于17,那么NAL单元为前缀AVC兼容3DV NAL单元。因此,nal_unit_type语法元素可指示NAL单元为前缀AVC兼容3DV NAL单元,且视频解码器30可基于nal_unit_type语法元素来确定出NAL单元为前缀AVC兼容3DV NAL单元。
[0103] 表5
[0104]nal_unit(NumBytesInNALunit){ C 描述符
forbidden_zero_bit 全部 f(1)
nal_ref_idc 全部 u(2)
nal_unit_type 全部 u(5)
NumBytesInRBSP=0
nalUnitHeaderBytes=1
if(nal_unit_type==14||nal_unit_type==20){
svc_extension_flag 全部 u(1)
if(svc_extension_flag)
nal_unit_header_svc_extension()/*附件G中指定*/ 全部
Else
nal_unit_header_mvc_extension()/*附件H中指定*/ 全部
nalUnitHeaderBytes+=3
}
if(nal_unit_type==21||nal_unit_type==17){
avc_based_3dv_flag 全部 u(1)
if(avc_based_3dv_flag){
nal_unit_header_avc_3dv_extension()/*附件J中指定*/
nalUnitHeaderBytes+=2
}
else if(nal_unit_type==21){
nal_unit_header_mvc_extension()/*附件H中指定*/ 全部
nalUnitHeaderBytes+=3
}
}
for(i=nalUnitHeaderBytes;iif(i+2rbsp_byte[NumBytesInRBSP++] 全部 b(8)
rbsp_byte[NumBytesInRBSP++] 全部 b(8)
i+=2
emulation_prevention_three_byte/*等于0x03*/ 全部 f(8)
}else
rbsp_byte[NumBytesInRBSP++] 全部 b(8)
}
}
[0105] 在另一实例中,视频编码器20产生将新NAL单元类型用于非基本视图纹理视图分量或深度视图分量的VCL NAL单元的NAL单元。下表6为新NAL单元类型用于非基本视图纹理视图分量或深度视图分量的VCL NAL单元的NAL单元的实例语法。在表6的实例语法结构中,如果NAL单元的nal_unit_type语法元素等于22,那么NAL单元为非基本视图纹理视图分量或深度视图分量的VCL NAL单元。
[0106] 表6
[0107]nal_unit(NumBytesInNALunit){ C 描述符
forbidden_zero_bit 全部 f(1)
nal_ref_idc 全部 u(2)
nal_unit_type 全部 u(5)
NumBytesInRBSP=0
nalUnitHeaderBytes=1
if(nal_unit_type==14||nal_unit_type==20){
svc_extension_flag 全部 u(1)
if(svc_extension_flag)
nal_unit_header_svc_extension()/*附件G中指定*/ 全部
Else
nal_unit_header_mvc_extension()/*附件H中指定*/ 全部
nalUnitHeaderBytes+=3
}
if(nal_unit_type==22){
nal_unit_header_avc_3dv_extension()/*附件J中指定*/
nalUnitHeaderBytes+=2
}
for(i=nalUnitHeaderBytes;iif(i+2rbsp_byte[NumBytesInRBSP++] 全部 b(8)
rbsp_byte[NumBytesInRBSP++] 全部 b(8)
i+=2
emulation_prevention_three_byte/*等于0x03*/ 全部 f(8)
}else
rbsp_byte[NumBytesInRBSP++] 全部 b(8)
}
}
[0108] 在表6的实例语法中,视频编码器20可展开nal_unit_header_avc_3dv_extension函数,如下表7的实例语法所示。与表3的实例所示的nal_unit_header_avc_3dv_extension函数对比,表7的实例语法包括reserved_one_bit语法元素。reserved_one_bit语法元素为保留位。
[0109] 表7
[0110]nal_unit_header_avc_3dv_extension(){ C 描述符
non_idr_flag 全部u(1)
anchor_pic_flag 全部u(1)
temporal_id 全部u(3)
inter_view_flag 全部u(1)
depth_flag 全部u(1)
reserved_one_bit 全部u(1)
view_idx 全部u(8)
}
[0111]
[0112] 在另一实例中,一个新NAL单元类型可用于非基本视图纹理视图分量的VCL NAL单元,且另一新NAL单元类型可用于深度视图分量的VCL NAL单元。在这个实例中,视频编码器20可产生符合下表8所示的实例语法结构的NAL单元。在表8的实例语法结构中,非基本视图纹理视图分量的VCL NAL单元的NAL单元类型可等于22。此外,在表8的实例语法结构中,纹理视图分量NAL单元的VCL NAL单元的NAL单元类型可等于23。
[0113] 表8
[0114]nal_unit(NumBytesInNALunit){ C 描述符
forbidden_zero_bit 全部 f(1)
nal_ref_idc 全部 u(2)
nal_unit_type 全部 u(5)
NumBytesInRBSP=0
nalUnitHeaderBytes=1
if(nal_unit_type==14||nal_unit_type==20){
svc_extension_flag 全部 u(1)
if(svc_extension_flag)
nal_unit_header_svc_extension()/*附件G中指定*/ 全部
Else
nal_unit_header_mvc_extension()/*附件H中指定*/ 全部
nalUnitHeaderBytes+=3
}
if(nal_unit_type==22||nal_unit_type==23){
nal_unit_header_avc_3dv_extension()/*附件J中指定*/
nalUnitHeaderBytes+=2
}
for(i=nalUnitHeaderBytes;iif(i+2rbsp_byte[NumBytesInRBSP++] 全部 b(8)
rbsp_byte[NumBytesInRBSP++] 全部 b(8)
i+=2
emulation_prevention_three_byte/*等于0x03*/ 全部 f(8)
}else
rbsp_byte[NumBytesInRBSP++] 全部 b(8)
}
}
[0115] 在表8的实例语法中,视频编码器20可展开nal_unit_header_avc_3dv_extension函数,如下表9的实例语法结构所示。
[0116] 表9
[0117]nal_unit_header_avc_3dv_extension(){ C 描述符
non_idr_flag 全部u(1)
anchor_pic_flag 全部u(1)
temporal_id 全部u(3)
inter_view_flag 全部u(1)
reserved_two_zero_bits 全部u(2)
view_idx 全部u(8)
}
[0118] 在表9的实例语法结构中,non_idr_flag语法元素、anchor_pic_flag语法元素、temporal_id语法元素、inter_view_flag语法元素及view_idx语法元素可具有与上文所描述的语义相同的语义。reserved_two_zero_bits语法元素可为保留2位无正负号值。表9不同于表7之处在于:表9不包括depth_view语法元素,且包括reserved_two_zero_bits语法元素,而非reserved_one_bit语法元素。
[0119] 在另一实例中,对于前缀AVC兼容3DV NAL单元,视频编码器20不发信表7及表9所示的view_idx语法元素;因此,可节省一个字节。在一些实例中,view_idx语法元素中的位的数目可不同于表7及表9的8位无正负号值。举例来说,在视频编码器20不发信view_idx语法元素的实例中,view_idx语法元素可为10位值。在表9的实例语法中,view_idx可为9位值。在其它实例中,用于view_idx语法元素的位的数目可为其它值,诸如,4、5、6、7或更少。
[0120] 在一些实例中,视频编码器20针对不同解码器配置文件以自适应性方式发信view_idx语法元素。举例来说,如果视频编码器20针对第一解码器配置文件编码视频数据,那么相比于如果视频编码器20针对第二解码器配置文件编码视频数据,view_idx语法元素可在NAL单元标头中含有较少数目个位。在这个实例中,当视频编码器20针对第二解码器配置文件编码视频数据时,view_idx语法元素可包括一个额外字节。
[0121] 此外,在上表7及9的实例语法中,视频编码器20可将view_idx语法元素发信为2位无正负号值。结果,NAL单元标头扩展可含有仅1个字节。或者,在一些视频解码器配置文件中,NAL单元标头扩展的长度可等于1个字节。视频编码器20可针对允许较大数目个经译码视图的其它解码器配置文件发信用于view_idx语法元素的扩展字节。在其中视频编码器20发信用于view_idx语法元素的扩展字节的实例中,view_idx语法元素的第一扩展字节中发信的位可包括view_idx语法元素的最低有效位(即,view_idx_lsb),而view_idx语法元素的第二扩展字节包括最高有效位(view_idx_msb)。因此,view_idx语法元素可等于view_idx_msb<<(numBitsViewIdxFirstByte)+view_idx_lsb,其中view_idx_msb为view_idx语法元素的最高有效位,numBitsViewIdxFirstByte为view_idx语法元素的第一字节的视图的数目,且view_idx_lsb为view_idx语法元素的最低有效位。
[0122] 在一些实例中,视频编码器20不在NAL单元标头扩展中发信inter_view_flag语法元素。在一些此类实例中,以其它方式用于inter_view_flag语法元素的位可用作view_idx语法元素的额外位。以此方式,通过不发信inter_view_flag语法元素,视频编码器20可发信额外视图的视图索引。举例来说,在一些实例中,视频编码器20可将view_idx发信为3位值。结果,NAL单元标头扩展可仅含有一个字节。或者,在一些视频解码器配置文件中,NAL单元标头扩展的长度等于1个字节,而对于实现较大数目个经译码视图的配置文件,发信用于view_idx的扩展字节。在视频编码器20发信用于view_idx的扩展字节的实例中,view_idx的第一扩展字节中发信的位可包括view_idx的最低有效位,而view_idx的第二扩展字节包括最高有效位。举例来说,当视图的数目小于8时,NAL单元标头扩展中的三个位足够。在实现八个以上视图(例如,100个视图)的视频解码器配置文件中,视频编码器20可发信view_idx_msb语法元素。视频解码器30可如下计算view_idx:view_idx=view_idx_msb<<(numBitsViewIdxFirstByte)+view_idx_lsb,其中view_idx_msb为view_idx的最高有效位,view_idx_lsb为view_idx的最低有效位,且numBitViewIdxFirstByte指示第一字节中的view_idx的位的数目。
[0123] 图3为说明经配置以实施本发明的技术的实例视频解码器30的框图。图3是出于解释的目的而提供,且不限制如本发明广泛地所例示及描述的技术。出于解释的目的,本发明在H.264/AVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
[0124] 在图3的实例中,视频解码器30包括熵解码单元150、预测处理单元152、反量化单元154、反变换处理单元156、重建单元158、滤波器单元159及经解码图片缓冲器160。预测处理单元152包括运动补偿单元162及帧内预测处理单元164。在其它实例中,视频解码器30可包括更多、更少或不同功能组件。
[0125] 视频解码器30可接收位流。熵解码单元150可分析位流以从位流提取语法元素。作为分析位流的部分,熵解码单元150可熵解码位流中的经熵编码语法元素。预测处理单元152、反量化单元154、反变换处理单元156、重建单元158及滤波器单元159可基于从位流提取的语法元素来产生经解码视频数据(即,重建视频数据)。从位流提取的语法元素可包括表示系数块的语法元素。
[0126] 根据本发明的技术,视频解码器30可接收NAL单元。熵解码单元150可从NAL单元分析第一语法元素及第二语法元素。熵解码单元150可基于第二语法元素来确定NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是包括MVC兼容3DV标头扩展。响应于确定出NAL单元包括AVC兼容3DV标头扩展,熵解码单元150可从NAL单元分析AVC兼容3DV标头扩展。响应于确定出NAL单元包括MVC兼容3DV标头扩展,熵解码单元150可从NAL单元分析MVC兼容3DV标头扩展。预测处理单元152、反量化单元154、反变换处理单元156、重建单元158及滤波器单元159可基于AVC兼容3DV标头扩展或MVC兼容标头扩展的语法元素来重建至少一些视频数据。
[0127] 反量化单元154可反量化(即,去量化)系数块。反量化单元154可使用QP值以确定量化程度,且同样地,确定反量化单元154将应用的反量化程度。在反量化单元154反量化系数块之后,反变换处理单元156可将一或多个反变换应用于系数块以便产生残余样本块。举例来说,反变换处理单元156可将反DCT、反整数变换、反卡忽南-拉维变换(KLT)、反旋转变换、反方向变换或另一反变换应用于系数块。
[0128] 如果使用帧内预测来编码视频块,那么帧内预测处理单元164可执行帧内预测以产生用于视频块的预测性像素块。举例来说,帧内预测处理单元164可基于位流中的语法元素来确定用于视频块的帧内预测模式。帧内预测处理单元164可使用所述帧内预测模式以基于空间相邻视频块来产生用于视频块的预测性像素块。
[0129] 运动补偿单元162可基于从位流提取的语法元素来建构第一参考图片列表(列表0)及第二参考图片列表(列表1)。在使用MVC兼容3DV或AVC兼容3DV来编码位流的实例中,列表0及/或列表1可包括视图间参考图片。在使用AVC兼容3DV来编码位流的实例中,列表0及/或列表1中的视图间参考图片可包括基于深度图而合成的参考图片。此外,如果使用帧间预测来编码视频块,那么熵解码单元150可提取用于视频块的运动信息。
运动补偿单元162可基于视频块的运动信息来确定用于视频块的一或多个参考块。运动补偿单元162可基于用于视频块的一或多个参考块来产生用于视频块的预测性像素块。
[0130] 重建单元158可基于用于视频块的残余像素块及视频块的预测性像素块来重建视频块。特别地,重建单元158可将残余像素块的样本(例如,亮度或色度分量)添加至预测性像素块的对应样本以重建视频块。滤波器单元159可执行去块操作以缩减与视频块相关联的块假象。视频解码器30可将视频块存储在经解码图片缓冲器160中。经解码图片缓冲器160可提供用于后续运动补偿、帧内预测及在显示装置(诸如,图1的显示装置32)上呈现的参考图片。举例来说,视频解码器30可基于经解码图片缓冲器160中的视频块而对其它CU的PU执行帧内预测或帧间预测操作。
[0131] 图4为根据本发明的一或多种技术的说明由视频编码器20执行作为用以编码视频数据的进程的部分的实例操作200的流程图。图4的流程图及以下诸图的流程图是作为实例而提供。在其它实例中,本发明的技术可使用多于、少于或不同于图4及以下诸图的实例所示的步骤的步骤予以实施。
[0132] 在图4的实例中,视频编码器20可产生包括至少第一语法元素及第二语法元素的NAL单元(202)。第一语法元素可指示NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于特定NAL单元类型的NAL单元内。第二语法元素可指示NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展。AVC兼容3DV标头扩展包括与AVC兼容3DV相关联的语法元素。MVC兼容3DV标头扩展相比于AVC兼容3DV标头扩展具有不同语法结构,且包括与MVC兼容3DV相关联的语法元素。视频编码器20可输出包括NAL单元的位流(204)。
[0133] 图5为根据本发明的一或多种技术的说明由视频解码器30执行的实例操作230的流程图。在图5的实例中,视频解码器30可接收包括至少第一语法元素及第二语法元素的NAL单元(232)。第一语法元素可指示NAL单元属于特定NAL单元类型。纹理视图分量及深度视图分量的经译码切片封装在属于特定NAL单元类型的NAL单元内。视频解码器30可至少部分地基于第二语法元素来确定NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展(234)。AVC兼容3DV标头扩展可包括与AVC兼容3DV相关联的语法元素。MVC兼容3DV标头扩展相比于AVC兼容3DV标头扩展可具有不同语法结构,且可包括与MVC兼容3DV相关联的语法元素。
[0134] 图6为根据本发明的一或多种技术的说明由视频解码器30执行作为用以解码经编码视频数据的进程的部分的另一实例操作250的流程图。图6可为图5的操作230的更特定实例。在图6的实例中,视频解码器30可接收包括NAL单元的位流(252)。视频解码器30可从位流分析NAL单元类型语法元素(254)。视频解码器30接着可确定NAL单元类型语法元素是否具有特定值(例如,21)(256)。响应于确定出NAL单元类型语法元素具有特定值(256的“是”),视频解码器30可从位流分析3DV指示元素(例如,avc_based_3dv_flag)(258)。3DV指示元素可指示NAL单元的NAL单元标头包括AVC兼容3DV标头扩展还是MVC兼容3DV标头扩展。在从位流分析3DV指示语法元素之后,视频解码器30可确定3DV指示语法元素是否指示NAL单元的NAL单元标头包括AVC兼容3DV标头扩展(260)。
[0135] 响应于确定出3DV指示语法元素指示NAL单元的NAL单元标头包括AVC兼容3DV标头扩展(260的“是”),视频解码器30可从位流分析AVC兼容3DV标头扩展的语法元素(262)。响应于确定出3DV指示语法元素指示NAL单元的NAL单元标头不包括AVC兼容3DV标头扩展(260的“否”),视频解码器30可从位流分析MVC兼容3DV标头扩展的语法元素(264)。
[0136] 响应于确定出NAL单元类型语法元素不等于特定值(256的“否”),或在从位流分析AVC兼容3DV标头扩展或MVC兼容3DV标头扩展之后,视频解码器30可从位流分析封装在NAL单元内的RBSP(266)。视频解码器30接着可至少部分地基于从封装在NAL单元内的RBSP分析的语法元素来重建视频数据(268)。因此,如果3DV指示语法元素指示NAL单元的NAL单元标头包括AVC兼容3DV标头扩展,那么视频解码器30可至少部分地基于AVC兼容3DV标头扩展来解码视频数据。
[0137] 图7为说明实例MVC兼容3DV解码顺序的概念图。在图7的实例中,每一正方形对应于视图分量。正方形的列对应于访问单元。每一访问单元可经定义为含有时间例项的所有视图的经译码图片。正方形的行对应于视图。在图7的实例中,访问单元被标记为T0…T7,且视图被标记为S0…S7。因为一访问单元的每一视图分量是在下一访问单元的任何视图分量之前被解码,所以图7的解码顺序可被称作时间优先译码。如图7的实例所示,访问单元的解码顺序可不完全相同于视图的输出或显示顺序。
[0138] 图8为说明实例MVC时间及视图间预测结构的概念图。在图8的实例中,每一正方形对应于视图分量。被标记为“I”的正方形为经帧内预测视图分量。被标记为“P”的正方形为经单向帧间预测视图分量。被标记为“B”及“b”的正方形为经双向帧间预测视图分量。被标记为“b”的正方形可使用被标记为“B”的正方形作为参考图片。从第一正方形指向第二正方形的箭头指示第一正方形可在帧间预测中作为用于第二正方形的参考图片。如由图8中的垂直箭头所指示,同一访问单元的不同视图中的视图分量可用作参考图片。使用访问单元的一个视图分量作为用于所述同一访问单元的另一视图分量的参考图片可被称作视图间预测。
[0139] 在MVC兼容3DV中,可实施视图间预测,就好像另一视图中的视图分量为帧间预测参考图片一样。可在SPS MVC扩展中发信潜在视图间参考图片,如下表10所示。可在参考图片列表建构进程期间修改参考图片列表,以便实现帧间预测或视图间预测参考图片的灵活排序。
[0140] 表10
[0141]seq_parameter_set_mvc_extension(){ 描述符
num_views_minus1 ue(v)
for(i=0;i<=num_views_minus1;i++)
view_id[i] ue(v)
for(i=1;i<=num_views_minus1;i++){
num_anchor_refs_l0[i] ue(v)
for(j=0;janchor_ref_l0[i][j] ue(v)
num_anchor_refs_l1[i] ue(v)
for(j=0;janchor_ref_l1[i][j] ue(v)
}
for(i=1;i<=num_views_minus1;i++){
num_non_anchor_refs_l0[i] ue(v)
for(j=0;jnon_anchor_ref_l0[i][j] ue(v)
num_non_anchor_refs_l1[i] ue(v)
for(j=0;jnon_anchor_ref_l1[i][j] ue(v)
}
num_level_values_signalled_minus1 ue(v)
for(i=0;i<=num_level_values_signalled_minus1;i++){
level_idc[i] u(8)
num_applicable_ops_minus1[i] ue(v)
for(j=0;j<=num_applicable_ops_minus1[i];j++){
applicable_op_temporal_id[i][j] u(3)
applicable_op_num_target_views_minus1[i][j] ue(v)
for(k=0;k<=applicable_op_num_target_views_minus1[i][j];k++)
applicable_op_target_view_id[i][j][k] ue(v)
applicable_op_num_views_minus1[i][j] ue(v)
}
}
}
[0142] 在上表10中,具有类型描述符ue(v)的语法元素可为使用0阶指数哥伦布译码而编码的可变长度无正负号整数,其中左位优先。具有类型描述符u(3)及u(8)的语法元素可分别为具有3个位及8个位的无正负号整数。在表10的SPS MVC扩展中,视频编码器20可针对每一视图发信可用以形成参考图片列表0及参考图片列表1的视图的数目。针对锚图片(如在SPS MVC扩展中所发信)的预测关系可不同于针对同一视图的非锚图片(在SPS MVC扩展中所发信)的预测关系。
[0143] 视频译码器可执行参考图片列表建构进程以灵活地排列时间及视图预测参考。执行参考图片列表建构进程可不仅提供潜在译码效率增益,而且提供错误恢复,这是因为参考图片区段及冗余图片机构接着可扩展至视图尺寸。
[0144] 参考图片列表建构可包括以下步骤。第一,视频译码器可针对如在H.264/AVC标准中指定的时间(视图间)参考图片应用参考图片列表初始化进程,而不使用来自其它视图的参考图片。第二,视频译码器可以视图间参考图片在SPS MVC扩展中出现的顺序将视图间参考图片附加至列表的末端。第三,视频译码器针对视图内参考图片及视图间参考图片两者应用参考图片列表修改(RPLM)进程。视频译码器可通过如在MVC SPS扩展中指定的RPLM命令中的视图间参考图片的索引值来识别所述视图间参考图片。
[0145] 在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而存储在计算机可读媒体上或经由计算机可读媒体进行传输,且由基于硬件的处理单元执行。计算机可读媒体可包括对应于诸如数据存储媒体的有形媒体的计算机可读存储媒体,或包括(例如)根据通信协议而促进计算机程序从一处传送至另一处的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)为非暂时性的有形计算机可读存储媒体,或(2)诸如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器访问以检索用于实施本发明所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包括计算机可读媒体。
[0146] 作为实例而非限制,这些计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪存存储器,或可用以存储呈指令或数据结构的形式的所要代码且可由计算机访问的任何其它媒体。同样,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外线、无线电及微波的无线技术而从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电及微波的无线技术包括在媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包括连接、载波、信号或其它暂时性媒体,而是有关非暂时性有形存储媒体。如本文所使用,磁盘及光盘包括光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式重现数据,而光盘通过激光以光学方式重现数据。以上各者的组合亦应包括在计算机可读媒体的范围内。
[0147] 指令可由诸如以下各者的一或多个处理器执行:一或多个数字信号处理器(DSP)、一般用途微处理器、专用集成电路(ASIC)、现场可编程逻辑数组(FPGA),或其它等效集成或离散逻辑电路。因此,如本文所使用,术语“处理器”可指前述结构或适合于实施本文所描述的技术的任何其它结构中任一者。此外,在一些方面,本文所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或并入在组合式编码解码器中。同样,所述技术可完全地实施在一或多个电路或逻辑组件中。
[0148] 本发明的技术可实施在各种各样的装置或仪器中,所述装置或仪器包括无线手机、集成电路(IC)或IC集合(例如,芯片集)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必需要通过不同硬件单元而实现。实情为,如上文所描述,各种单元可组合在编码解码器硬件单元中,或由包括如上文所描述的一或多个处理器的互操作性硬件单元集合结合合适软件及/或固件而提供。
[0149] 已描述各种实例。这些及其它实例是在所附权利要求书的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈