首页 / 专利库 / 玩具与游戏 / 游戏机 / 对视频译码中的未输出先前图片标志的经改进推断

对视频译码中的未输出先前图片标志的经改进推断

阅读:580发布:2022-08-17

专利汇可以提供对视频译码中的未输出先前图片标志的经改进推断专利检索,专利查询,专利分析的服务。并且根据某些方面,一种用于对视频信息进行译码的设备包含处理器,所述处理器经配置以确定与当前层的待解码当前图片相关联的旗标的值,所述旗标指示是否应输出经解码图片 缓冲器 DPB中的图片,其中所述当前图片为开始新的经译码视频序列CVS的 帧 内随机存取点IRAP图片,且其中所述确定所述旗标的所述值是基于以下各项中的至少一者:(1)所述当前图片的 色度 格式和在前图片的色度格式,(2)所述当前图片的 亮度 样本的位深度和在前图片的亮度样本的位深度,或(3)所述当前图片的色度样本的位深度和在前图片的色度样本的位深度。,下面是对视频译码中的未输出先前图片标志的经改进推断专利的具体信息内容。

1.一种用于对视频信息进行译码的设备,所述设备包括:
存储器,其经配置以存储与当前层相关联的视频信息;以及
硬件处理器,其操作性地耦合到所述存储器且经配置以:
获得所述当前层的待解码的当前图片的色度格式、所述当前图片的亮度样本的位深度或所述当前图片的色度样本的位深度中的至少一者,其中所述当前图片为开始新的经译码视频序列CVS的内随机存取点IRAP图片;
获得所述当前层的经解码的在前图片的色度格式、所述在前图片的亮度样本的位深度或所述在前图片的色度样本的位深度中的至少一者;且
确定与所述当前图片相关联的第一旗标的值,所述第一旗标指示是否应输出经解码图片缓冲器DPB中的图片,其中所述确定所述第一旗标的所述值是基于以下各项中的至少一者:(1)所述当前图片的所述色度格式和所述在前图片的所述色度格式,(2)所述当前图片的所述亮度样本的所述位深度和所述在前图片的所述亮度样本的所述位深度,或(3)所述当前图片的所述色度样本的所述位深度和所述在前图片的所述色度样本的所述位深度。
2.根据权利要求1所述的设备,其中所述处理器经配置以通过以下操作来确定所述第一旗标的所述值:
响应于确定(4)所述当前图片的所述色度格式与所述在前图片的所述色度格式不同,(5)所述当前图片的所述亮度样本的所述位深度与所述在前图片的所述亮度样本的所述位深度不同,或(6)所述当前图片的所述色度样本的所述位深度与所述在前图片的所述色度样本的所述位深度不同:
将所述第一旗标的所述值设置成等于1。
3.根据权利要求1所述的设备,其中所述处理器经进一步配置以:
对位流中的语法元素进行解码,所述语法元素指示是否应输出所述DPB中的图片,其中所述语法元素与所述当前图片相关联;且
通过以下操作来确定所述第一旗标的所述值:
响应于确定(4)所述当前图片的所述色度格式与所述在前图片的所述色度格式不同,(5)所述当前图片的所述亮度样本的所述位深度与所述在前图片的所述亮度样本的所述位深度不同,或(6)所述当前图片的所述色度样本的所述位深度与所述在前图片的所述色度样本的所述位深度不同:
将所述第一旗标的所述值设置成等于所述语法元素的经解码值。
4.根据权利要求1所述的设备,其中:
所述当前图片的所述色度格式、所述当前图片的所述亮度样本的所述位深度和所述当前图片的所述色度样本的所述位深度是从在解码所述当前图片时对所述当前层有效的第一序列参数集SPS导出;且
所述在前图片的所述色度格式、所述在前图片的所述亮度样本的所述位深度和所述在前图片的所述色度样本的所述位深度是从在解码所述在前图片时对所述当前层有效的第二SPS导出。
5.根据权利要求1所述的设备,其中所述当前图片的所述亮度样本的所述位深度、所述当前图片的所述色度样本的所述位深度、所述在前图片的所述亮度样本的所述位深度和所述在前图片的所述色度样本的所述位深度的相应值被指定为相应实际位深度值减8。
6.根据权利要求1所述的设备,其中所述第一旗标为NoOutputOfPriorPicsFlag。
7.根据权利要求2所述的设备,其中所述处理器经进一步配置以:
获得所述当前图片的宽度、所述当前图片的高度和与所述当前图片相关联的图片存储区的数目,其中所述当前图片的所述宽度和所述当前图片的所述高度是以亮度样本为单位指定,且与所述当前图片相关联的图片存储区的所述数目指示解码从所述当前图片开始的所述经译码视频序列中的所述当前层所需的最小DPB大小;且
获得所述在前图片的宽度、所述在前图片的高度和与所述在前图片相关联的图片存储区的数目,其中所述在前图片的所述宽度和所述在前图片的所述高度是以亮度样本为单位指定,且与所述在前图片相关联的图片存储区的所述数目指示解码在所述在前图片处结束的经译码视频序列中的所述当前层所需的最小DPB大小。
8.根据权利要求7所述的设备,其中所述处理器经配置以通过以下操作来确定所述第一旗标的所述值:
响应于确定(7)所述当前图片的所述宽度与所述在前图片的所述宽度不同,(8)所述当前图片的所述高度与所述在前图片的所述高度不同,或(9)与所述当前图片相关联的图片存储区的所述数目与和所述在前图片相关联的图片存储区的所述数目不同:
将所述第一旗标的所述值设置成等于1。
9.根据权利要求7所述的设备,其中所述处理器经进一步配置以:
对位流中的语法元素进行解码,所述语法元素指示是否应输出所述DPB中的图片,其中所述语法元素与所述当前图片相关联;且
通过以下操作来确定所述第一旗标的所述值:
响应于确定(7)所述当前图片的所述宽度与所述在前图片的所述宽度不同,(8)所述当前图片的所述高度与所述在前图片的所述高度不同,或(9)与所述当前图片相关联的图片存储区的所述数目与和所述在前图片相关联的图片存储区的所述数目不同:
将所述第一旗标的所述值设置成等于所述语法元素的经解码值。
10.根据权利要求7所述的设备,其中:
所述当前图片的所述宽度、所述当前图片的所述高度和与所述当前图片相关联的图片存储区的所述数目是从在解码所述当前图片时对所述当前层有效的第一序列参数集SPS导出;且
所述在前图片的所述宽度、所述在前图片的所述高度和与所述在前图片相关联的图片存储区的所述数目是从在解码所述在前图片时对所述当前层有效的第二SPS导出。
11.根据权利要求1所述的设备,其中与所述当前图片相关联的指示不应输出随机存取跳过前导RASL图片的旗标经启用以指示所述IRAP图片开始所述新的CVS。
12.根据权利要求1所述的设备,其中与所述当前图片相关联的指示不应输出随机存取跳过前导RASL图片的所述旗标为NoRaslOutputFlag。
13.根据权利要求1所述的设备,其中所述设备选自由以下各者中的一或多者组成的群组:台式计算机、笔记本计算机、膝上型计算机、平板计算机、机顶盒、电话手持机、智能电话、智能板、电视、相机、显示装置、数字媒体播放器、视频游戏机视频流式传输装置。
14.一种对视频信息进行解码的方法,所述方法包括:
存储与当前层相关联的视频信息;
获得所述当前层的待解码的当前图片的色度格式、所述当前图片的亮度样本的位深度或所述当前图片的色度样本的位深度中的至少一者,其中所述当前图片为开始新的经译码视频序列CVS的帧内随机存取点IRAP图片;
获得所述当前层的经解码的在前图片的色度格式、所述在前图片的亮度样本的位深度或所述在前图片的色度样本的位深度中的至少一者;以及
确定与所述当前图片相关联的第一旗标的值,所述第一旗标指示是否应输出经解码图片缓冲器DPB中的图片,其中所述确定所述第一旗标的所述值是基于以下各项中的至少一者:(1)所述当前图片的所述色度格式和所述在前图片的所述色度格式,(2)所述当前图片的所述亮度样本的所述位深度和所述在前图片的所述亮度样本的所述位深度,或(3)所述当前图片的所述色度样本的所述位深度和所述在前图片的所述色度样本的所述位深度。
15.根据权利要求14所述的方法,其中所述确定所述第一旗标的所述值包括:
响应于确定(4)所述当前图片的所述色度格式与所述在前图片的所述色度格式不同,(5)所述当前图片的所述亮度样本的所述位深度与所述在前图片的所述亮度样本的所述位深度不同,或(6)所述当前图片的所述色度样本的所述位深度与所述在前图片的所述色度样本的所述位深度不同:
将所述第一旗标的所述值设置成等于1。
16.根据权利要求14所述的方法,其进一步包括:
对位流中的语法元素进行解码,所述语法元素指示是否应输出所述DPB中的图片,其中所述语法元素与所述当前图片相关联;以及
通过以下操作来确定所述第一旗标的所述值:
响应于确定(4)所述当前图片的所述色度格式与所述在前图片的所述色度格式不同,(5)所述当前图片的所述亮度样本的所述位深度与所述在前图片的所述亮度样本的所述位深度不同,或(6)所述当前图片的所述色度样本的所述位深度与所述在前图片的所述色度样本的所述位深度不同:
将所述第一旗标的所述值设置成等于所述语法元素的经解码值。
17.根据权利要求14所述的方法,其中:
所述当前图片的所述色度格式、所述当前图片的所述亮度样本的所述位深度和所述当前图片的所述色度样本的所述位深度是从在解码所述当前图片时对所述当前层有效的第一序列参数集SPS导出;且
所述在前图片的所述色度格式、所述在前图片的所述亮度样本的所述位深度和所述在前图片的所述色度样本的所述位深度是从在解码所述在前图片时对所述当前层有效的第二SPS导出。
18.根据权利要求14所述的方法,其中所述当前图片的所述亮度样本的所述位深度、所述当前图片的所述色度样本的所述位深度、所述在前图片的所述亮度样本的所述位深度和所述在前图片的所述色度样本的所述位深度的相应值被指定为相应实际位深度值减8。
19.根据权利要求14所述的方法,其中所述第一旗标为NoOutputOfPriorPicsFlag。
20.根据权利要求15所述的方法,其进一步包括:
获得所述当前图片的宽度、所述当前图片的高度和与所述当前图片相关联的图片存储区的数目,其中所述当前图片的所述宽度和所述当前图片的所述高度是以亮度样本为单位指定,且与所述当前图片相关联的图片存储区的所述数目指示解码从所述当前图片开始的所述经译码视频序列中的所述当前层所需的最小DPB大小;以及
获得所述在前图片的宽度、所述在前图片的高度和与所述在前图片相关联的图片存储区的数目,其中所述在前图片的所述宽度和所述在前图片的所述高度是以亮度样本为单位指定,且与所述在前图片相关联的图片存储区的所述数目指示解码在所述在前图片处结束的经译码视频序列中的所述当前层所需的最小DPB大小。
21.根据权利要求20所述的方法,其中所述确定所述第一旗标的所述值包括:
响应于确定(7)所述当前图片的所述宽度与所述在前图片的所述宽度不同,(8)所述当前图片的所述高度与所述在前图片的所述高度不同,或(9)与所述当前图片相关联的图片存储区的所述数目与和所述在前图片相关联的图片存储区的所述数目不同:
将所述第一旗标的所述值设置成等于1。
22.根据权利要求20所述的方法,其进一步包括:
对位流中的语法元素进行解码,所述语法元素指示是否应输出所述DPB中的图片,其中所述语法元素与所述当前图片相关联;以及
通过以下操作来确定所述第一旗标的所述值:
响应于确定(7)所述当前图片的所述宽度与所述在前图片的所述宽度不同,(8)所述当前图片的所述高度与所述在前图片的所述高度不同,或(9)与所述当前图片相关联的图片存储区的所述数目与和所述在前图片相关联的图片存储区的所述数目不同:
将所述第一旗标的所述值设置成等于所述语法元素的经解码值。
23.根据权利要求20所述的方法,其中:
所述当前图片的所述宽度、所述当前图片的所述高度和与所述当前图片相关联的图片存储区的所述数目是从在解码所述当前图片时对所述当前层有效的第一序列参数集SPS导出;且
所述在前图片的所述宽度、所述在前图片的所述高度和与所述在前图片相关联的图片存储区的所述数目是从在解码所述在前图片时对所述当前层有效的第二SPS导出。
24.一种包括指令的非暂时性计算机可读媒体,所述指令在包括计算机硬件的处理器上执行时致使所述处理器:
存储与当前层相关联的视频信息;
获得所述当前层的待解码的当前图片的色度格式、所述当前图片的亮度样本的位深度或所述当前图片的色度样本的位深度中的至少一者,其中所述当前图片为开始新的经译码视频序列CVS的帧内随机存取点IRAP图片;
获得所述当前层的经解码的在前图片的色度格式、所述在前图片的亮度样本的位深度或所述在前图片的色度样本的位深度中的至少一者;且
确定与所述当前图片相关联的第一旗标的值,所述第一旗标指示是否应输出经解码图片缓冲器DPB中的图片,其中所述确定所述第一旗标的所述值是基于以下各项中的至少一者:(1)所述当前图片的所述色度格式和所述在前图片的所述色度格式,(2)所述当前图片的所述亮度样本的所述位深度和所述在前图片的所述亮度样本的所述位深度,或(3)所述当前图片的所述色度样本的所述位深度和所述在前图片的所述色度样本的所述位深度。
25.根据权利要求24所述的计算机可读媒体,其中所述指令进一步致使所述处理器通过以下操作来确定所述第一旗标的所述值:
响应于确定(4)所述当前图片的所述色度格式与所述在前图片的所述色度格式不同,(5)所述当前图片的所述亮度样本的所述位深度与所述在前图片的所述亮度样本的所述位深度不同,或(6)所述当前图片的所述色度样本的所述位深度与所述在前图片的所述色度样本的所述位深度不同:
将所述第一旗标的所述值设置成等于1。
26.根据权利要求24所述的计算机可读媒体,其中:
所述当前图片的所述色度格式、所述当前图片的所述亮度样本的所述位深度和所述当前图片的所述色度样本的所述位深度是从在解码所述当前图片时对所述当前层有效的第一序列参数集SPS导出;且
所述在前图片的所述色度格式、所述在前图片的所述亮度样本的所述位深度和所述在前图片的所述色度样本的所述位深度是从在解码所述在前图片时对所述当前层有效的第二SPS导出。
27.一种用于对视频信息进行解码的设备,所述设备包括:
用于存储与当前层相关联的视频信息的装置;
用于获得所述当前层的待解码的当前图片的色度格式、所述当前图片的亮度样本的位深度或所述当前图片的色度样本的位深度中的至少一者的装置,其中所述当前图片为开始新的经译码视频序列CVS的帧内随机存取点IRAP图片;
用于获得所述当前层的经解码的在前图片的色度格式、所述在前图片的亮度样本的位深度或所述在前图片的色度样本的位深度中的至少一者的装置;以及
用于确定与所述当前图片相关联的第一旗标的值的装置,所述第一旗标指示是否应输出经解码图片缓冲器DPB中的图片,其中所述确定所述第一旗标的所述值是基于以下各项中的至少一者:(1)所述当前图片的所述色度格式和所述在前图片的所述色度格式,(2)所述当前图片的所述亮度样本的所述位深度和所述在前图片的所述亮度样本的所述位深度,或(3)所述当前图片的所述色度样本的所述位深度和所述在前图片的所述色度样本的所述位深度。
28.根据权利要求27所述的设备,其中所述用于确定所述第一旗标的所述值的装置经配置以通过以下操作来确定所述第一旗标的所述值:
响应于确定(4)所述当前图片的所述色度格式与所述在前图片的所述色度格式不同,(5)所述当前图片的所述亮度样本的所述位深度与所述在前图片的所述亮度样本的所述位深度不同,或(6)所述当前图片的所述色度样本的所述位深度与所述在前图片的所述色度样本的所述位深度不同:
将所述第一旗标的所述值设置成等于1。
29.根据权利要求27所述的设备,其中:
所述当前图片的所述色度格式、所述当前图片的所述亮度样本的所述位深度和所述当前图片的所述色度样本的所述位深度是从在解码所述当前图片时对所述当前层有效的第一序列参数集SPS导出;且
所述在前图片的所述色度格式、所述在前图片的所述亮度样本的所述位深度和所述在前图片的所述色度样本的所述位深度是从在解码所述在前图片时对所述当前层有效的第二SPS导出。

说明书全文

对视频译码中的未输出先前图片标志的经改进推断

技术领域

[0001] 本发明涉及视频译码和压缩的领域,包含单层视频译码和多层视频译码两者。多层视频译码可包含可缩放视频译码(SVC)、多视图视频译码(MVC)、3D视频译码(3DV)等。

背景技术

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

发明内容

[0005] 可缩放视频译码(SVC)是指使用基础层(BL)(有时被称作参考层(RL))和一或多个可缩放增强层(EL)的视频译码。在SVC中,基础层可携载具有基础质量平的视频数据。所述一或多个增强层可携载额外的视频数据以支持(例如)较高的空间、时间和/或信噪比(SNR)水平。可相对于先前编码的层来界定增强层。举例来说,底层可充当BL,而顶层可充当EL。中间层可充当EL或RL,或两者。举例来说,中间层(例如,既不是最低层也不是最高层的层)可为中间层下方的层的EL,例如基础层或任何介入的增强层,且同时充当中间层上方的一或多个增强层的RL。类似地,在HEVC标准的多视图或3D扩展中,可存在多个视图,且可利用一个视图的信息对另一视图的信息(例如,运动估计、运动向量预测和/或其它冗余)进行译码(例如,编码或解码)。
[0006] 一种根据某些方面的用于对视频信息进行译码的设备包含存储器和处理器。所述存储器单元经配置以存储与当前层相关联的视频信息。所述处理器经配置以:获得所述当前层的待解码的当前图片的色度格式、所述当前图片的亮度样本的位深度或所述当前图片的色度样本的位深度中的至少一者,其中所述当前图片为开始新的经译码视频序列(CVS)的帧内随机存取点(IRAP)图片;获得所述当前层的经解码的在前图片(preceding picture)的色度格式、所述在前图片的亮度样本的位深度或所述在前图片的色度样本的位深度中的至少一者;且确定与所述当前图片相关联的第一旗标的值,所述第一旗标指示是否应输出经解码图片缓冲器(DPB)中的图片,其中所述确定所述第一旗标的所述值是基于以下各项中的至少一者:(1)所述当前图片的所述色度格式和所述在前图片的所述色度格式,(2)所述当前图片的所述亮度样本的所述位深度和所述在前图片的所述亮度样本的所述位深度,或(3)所述当前图片的所述色度样本的所述位深度和所述在前图片的所述色度样本的所述位深度。
[0007] 本发明的系统、方法和装置各自具有若干创新方面,其中没有单个方面单独负责本文中所揭示的合乎需要的属性。在附图和以下描述中阐述一或多个实例的细节,其并不希望限制本文中所描述的发明性概念的全部范围。其它特征、目标和优点将从所述描述和图式以及从权利要求书而显而易见。

附图说明

[0008] 图1A为说明可利用根据本发明中所描述的方面的技术的实例视频编码和解码系统的框图
[0009] 图1B为说明可执行根据本发明中所描述的方面的技术的另一实例视频编码和解码系统的框图。
[0010] 图2A为说明可实施根据本发明中所描述的方面的技术的视频编码器的实例的框图。
[0011] 图2B为说明可实施根据本发明中所描述的方面的技术的视频编码器的实例的框图。
[0012] 图3A为说明可实施本发明中所描述的方面的技术的视频解码器的实例的框图。
[0013] 图3B为说明可实施根据本发明中所描述的方面的技术的视频解码器的实例的框图。
[0014] 图4为说明根据本发明的一个实施例的不同层中的图片的实例配置的框图。
[0015] 图5为说明根据本发明的一个实施例的对视频信息进行译码的方法的流程图

具体实施方式

[0016] 一般来说,本发明涉及在高级视频编解码器的上下文中的单层译码以及用于可缩放视频译码的层间预测,例如HEVC(高效率视频译码)。更具体来说,本发明涉及用于HEVC的可缩放视频译码扩展(可被称为SHVC)中的经改进的层间预测性能的系统和方法。
[0017] 在以下描述中,描述与某些实施例相关的H.264/高级视频译码(AVC)技术;也论述了HEVC标准和相关技术。虽然本文中在HEVC和/或H.264标准的上下文中描述某些实施例,但所属领域的技术人员可了解,本文中所揭示的系统和方法可适用于任何合适的视频译码标准。举例来说,本文中所揭示的实施例可适用于以下标准中的一或多者:国际电信联盟(ITU)电信标准分会(ITU-T)H.261、国际标准化组织(ISO)和国际电工委员会(IEC)(ISO/IEC)移动图片专家组(MPEG)1(MPEG-1)Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。
[0018] 在许多方面,HEVC一般遵循先前视频译码标准的框架。HEVC中的预测单元不同于某些先前视频译码标准中的预测单元(例如,宏块)。实际上,在HEVC中不存在如在某些先前视频译码标准中所理解的宏块的概念。宏块由基于四叉树方案的分层结构替换,分层结构可提供高灵活性以及其它可能益处。举例来说,在HEVC方案内,定义三个类型的块:译码单元(CU)、预测单元(PU)和变换单元(TU)。CU可指区分裂的基本单元。可将CU视为类似于宏块的概念,但HEVC不限制CU的最大大小,且可允许递归分裂成四个大小相等的CU以改进内容适应性。可将PU视为帧间/帧内预测的基本单元,且单个PU可含有多个任意形状分区以有效地对不规则图像图案译码。可将TU视为变换的基本单元。可独立于PU界定TU;然而,TU的大小可限于TU属于的CU的大小。将此块结构分离成三个不同概念可允许根据单元的相应作用来优化每一单元,这可导致改进的译码效率。
[0019] 仅出于说明的目的,用仅包含视频数据的两个层(例如,例如基础层等较低层,和例如增强层等较高层)的实例来描述本文中所揭示的某些实施例。视频数据的“层”通常可指具有至少一个共同特性(例如,视图、帧率、分辨率等等)的图片序列。举例来说,层可包含与多视图视频数据的特定视图(例如,透视图)相关联的视频数据。作为另一实例,层可包含与可缩放视频数据的特定层相关联的视频数据。因此,本发明可互换地参考视频数据的层和视图。也就是说,视频数据的视图可被称作视频数据的层,且视频数据的层可被称作视频数据的视图。另外,多层编解码器(还被称作多层视频译码器或多层编码器-解码器)可共同指多视图编解码器或可缩放编解码器(例如,经配置以使用MV-HEVC、3D-HEVC、SHVC或另一多层译码技术编码和/或解码视频数据的编解码器)。视频编码和视频解码可通常被称作视频译码。应理解,这些实例可适用于包含多个基础层和/或增强层的配置。另外,为了易于解释,参考某些实施例,以下揭示内容包含术语“帧”或“块”。然而,这些术语不打算是限制性的。举例来说,下文所描述的技术可与任何合适的视频单元(例如,块(例如,CU、PU、TU、宏块等)、切片、帧等)一起使用。
[0020] 视频译码标准
[0021] 例如视频图像、TV图像、静态图像或由录像机或计算机产生的图像等数字图像可由布置成水平和垂直线的像素或样本构成。单个图像中的像素的数目通常有数万个。每一像素通常含有亮度和色度信息。在无压缩的情况下,将从图像编码器传达到图像解码器的信息的绝对量将使实时图像传输变得不可能。为了减少待传输的信息量,已开发出例如JPEG、MPEG和H.263标准等数个不同压缩方法。
[0022] 视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其SVC和MVC扩展。
[0023] 此外,ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的视频译码联合合作小组(JCT-VC)正开发一种新的视频译码标准,即高效率视频译码(HEVC)。对HEVC草案10的完全引用为Bross等人的文件JCTVC-L1003,“高效率视频译码(HEVC)文字规范草案10(High Efficiency Video Coding(HEVC)Text Specification Draft 10)”(ITU-T SG16WP3与ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第12次会议:瑞士日内瓦,2013年1月14日到2013年1月23日)。对HEVC的多视图扩展(即,MV-HEVC)和对HEVC的可缩放扩展(名为SHVC)也正分别由JCT-3V(ITU-T/ISO/IEC 3D视频译码扩展开发联合合作小组)和JCT-VC开发。
[0024] 概述
[0025] 帧内随机存取点(IRAP)图片可提供用于解码位流的随机存取点。解码器可通过解码IRAP图片开始解码位流,而不必解码在IRAP图片之前的图片。当对IRAP图片进行解码时,经解码图片缓冲器(DPB)可具有在缓冲器中的数个经解码图片。如果输出DPB中的现有图片会影响解码器的性能(例如,DPB中存在过多图片以至于解码器不能输出),那么可能需要移除此些现有图片而不将其输出(例如,清空现有图片)。
[0026] 变量NoOutputOfPriorPicsFlag可指示在解码IRAP图片时,是否应在从DPB移除图片之前将DPB中的图片输出。举例来说,当对IRAP图片进行解码时,当不应在移除DPB中的图片之前将其输出时,NoOutputOfPriorPicsFlag的值可被设置成1。NoOutputOfPriorPicsFlag的值可基于对应语法元素和/或各种条件和信息来确定。在HEVC、SHVC和MV-HEVC(例如,SHVC工作草案4和MV-HEVC工作草案6)的早期版本中,当空间分辨率或图片存储区的数目改变时,NoOutputOfPriorPicsFlag可被设置成等于1。通过将NoOutputOfPriorPicsFlag设置成1,解码器可通过按需要移除DPB中的图片来控制DPB中可用的存储器的量。然而,DPB中所需的存储器的量还可能受图片的色彩格式和/或位深度的变化影响。
[0027] 为了解决这些和其它挑战,在确定IRAP图片的NoOutputOfPriorPicsFlag的值时,根据某些方面的技术可考虑图片的色彩格式和/或位深度。举例来说,技术可确定当前层中的待解码的当前图片的色彩格式和/或位深度是否不同于当前层中的在前图片的色彩格式和/或位深度。当前图片和在前图片的色彩格式和/或位深度可分别从当前有效序列参数集(SPS)和在解码在前图片时有效的SPS获得。如果色彩格式或位深度改变,那么NoOutputOfPriorPicsFlag的值可被设置成等于1以引发移除DPB中的图片而不输出图片。
[0028] 通过考虑图片的色彩格式和/或位深度的变化,技术可更准确地确定NoOutputOfPriorPicsFlag的值。举例来说,技术可更好地预测在缓冲器中将需要额外存储器的情形。
[0029] 视频译码系统
[0030] 下文参考附图更充分地描述新颖系统、设备和方法的各种方面。然而,本发明可以许多不同形式来体现,且不应被解释为限于贯穿本发明所呈现的任何特定结构或功能。实际上,提供这些方面以使得本发明将透彻且完整,并且将向所属领域的技术人员充分传达本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围既定涵盖本文中所揭示的无论是独立于本发明的任一其它方面还是与之组合而实施的新颖系统、设备和方法的任何方面。举例来说,可使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本发明的范围既定涵盖使用除本文中所阐述的本发明的各种方面之外的或不同于本文中所阐述的本发明的各种方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,可通过权利要求的一或多个要素来体现本文中所揭示的任何方面。
[0031] 尽管本文中描述了特定方面,但这些方面的许多变化和排列属于本发明的范围内。尽管提到了优选方面的一些益处和优点,但本发明的范围不希望限于特定益处、用途或目标。实际上,本发明的方面希望广泛地适用于不同无线技术、系统配置、网络和传输协议,其中的一些是借助于实例而在图中和在优选方面的以下描述中加以说明。详细描述和图式仅说明本发明,而不是限制由所附权利要求书和其等效物界定的本发明的范围。
[0032] 附图说明若干实例。由附图中的参考数字指示的元件对应于在以下描述中由相同参考数字指示的元件。在本发明中,名称以序数词(例如,“第一”、“第二”、“第三”等等)开始的元件未必暗示所述元件具有特定次序。实际上,此些序数词仅用于指代相同或类似类型的不同元件。
[0033] 图1A为说明可利用根据本发明中所描述的方面的技术的实例视频译码系统10的框图。如本文中所描述地使用,术语“视频译码器”一般指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指视频编码和视频解码。除了视频编码器和视频解码器之外,本申请案中所描述的方面还可扩展到其它相关装置,例如,转码器(例如,可解码位流且重新编码另一位流的装置)和中间框(例如,可修改、变换和/或以其它方式操纵位流的装置)。
[0034] 如图1A中所展示,视频译码系统10包含源装置12,其产生在稍后时间由目的地装置14解码的经编码视频数据。在图1A的实例中,源装置12和目的地装置14构成单独装置。然而,应注意,源装置12和目的地装置14可在同一装置上或为其部分,如图1B的实例中所展示。
[0035] 再次参考图1A,源装置12和目的地装置14可分别包括广泛范围的装置中的任一者,包含台式计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏机视频流式传输装置等等。在一些情况下,源装置12和目的地装置14可经装备以用于无线通信。
[0036] 目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在图1A的实例中,链路16可包括使得源装置12能够实时将经编码视频数据传输到目的地装置14的通信媒体。经编码视频数据可根据通信标准(例如,无线通信协议)来调制,且被传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。
通信媒体可能形成基于数据包的网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任一其它设备。
[0037] 或者,经编码数据可从输出接口22输出到任选的存储装置31。类似地,可由(例如)目的地装置14的输入接口28从存储装置31存取经编码数据。存储装置31可包含多种分布式或本地存取数据存储媒体中的任一者,例如硬盘驱动器、闪存器、易失性或非易失性存储器,或用于存储经编码视频数据的任一其它合适的数字存储媒体。在另一实例中,存储装置31可对应于文件服务器或可保持由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置31存取所存储的视频数据。文件服务器可为能够存储经编码视频数据并将所述经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附接存储(NAS)装置,或本地磁盘驱动器。目的地装置14可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。此可包含无线信道(例如,无线局域网(WLAN)连接)、有线连接(例如,数字用户线(DSL)、电缆调制解调器等)或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置31的传输可为流式传输、下载传输或两者的组合。
[0038] 本发明的技术不限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,例如空中电视广播、有线电视传输、卫星电视传输、例如经由因特网的流视频传输(例如,超文本传送协议(HTTP)动态自适应流式传输等)、用于存储在数据存储媒体上的数字视频的编码、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播和/或视频电话等应用。
[0039] 在图1A的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包含例如视频捕获装置(例如,摄像机)、含有先前所捕获视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据以作为源视频的计算机图形系统等源,或此类源的组合。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的“相机电话”或“视频电话”,如图1B的实例中所说明。然而,本发明中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。
[0040] 可由视频编码器20对所捕获、预捕获或计算机产生的视频进行编码。可经由源装置12的输出接口22将经编码视频数据传输到目的地装置14。经编码视频数据还可(或替代地)存储到存储装置31上以供稍后由目的地装置14或其它装置存取以用于解码和/或播放。图1A和1B中所说明的视频编码器20可包括图2A中所说明的视频编码器20、图2B中所说明的视频编码器23或本文中所描述的任一其它视频编码器。
[0041] 在图1A的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28可经由链路16和/或从存储装置31接收经编码视频数据。经由链路16传达或在存储装置31上提供的经编码视频数据可包含由视频编码器20产生的多种语法元素以供由视频解码器(例如,视频解码器30)用于解码视频数据。此类语法元素可与在通信媒体上传输、存储在存储媒体上或存储文件服务器的经编码视频数据包含在一起。图1A和1B中所说明的视频解码器30可包括图3A中所说明的视频解码器30、图3B中所说明的视频解码器33或本文中所描述的任一其它视频解码器。
[0042] 显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,且还可经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0043] 在相关方面中,图1B展示实例视频编码和解码系统10′,其中源装置12和目的地装置14在装置11上或为其部分。装置11可为电话手持机,例如“智能”电话等等。装置11可包含与源装置12和目的地装置14操作性通信的任选的控制器/处理器装置13。图1B的系统10′可进一步包含视频编码器20与输出接口22之间的视频处理单元21。在一些实施方案中,视频处理单元21为单独单元,如图1B中所说明;然而,在其它实施方案中,视频处理单元21可实施为视频编码器20和/或处理器/控制器装置13的一部分。系统10′还可包含任选的跟踪器29,其可跟踪视频序列中的所关注对象。待跟踪的对象或兴趣可通过结合本发明的一或多个方面而描述的技术来分段。在相关方面中,可由显示装置32单独地或与跟踪器29联合来执行跟踪。图1B的系统10′和其组件在其它方面类似于图1A的系统10和其组件。
[0044] 视频编码器20和视频解码器30可根据例如HEVC等视频压缩标准来操作,且可符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可根据其它专有或行业标准或此类标准的扩展来操作,所述标准例如ITU-T H.264标准,或者被称作MPEG-4第10部分AVC。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
[0045] 尽管图1A和1B的实例中未展示,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件软件以处理共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
[0046] 视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地在软件中实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中并使用一或多个处理器在硬件中执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合式编码器/解码器(编解码器)的部分。
[0047] 视频译码过程
[0048] 如上文简要提及,视频编码器20对视频数据进行编码。视频数据可包括一或多个图片。图片中的每一者为形成视频的部分的静态图像。在一些情况下,图片可被称作视频“帧”。当视频编码器20对视频数据进行编码时,视频编码器20可产生位流。位流可包含形成视频数据的经译码表示的一连串位。位流可包含经译码图片和相关联的数据。经译码图片为图片的经译码表示。
[0049] 为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相关联的数据可包含视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、自适应参数集(APS)和其它语法结构。SPS可含有适用于图片的零或更多序列的参数。PPS可含有适用于零或更多图片的参数。APS可含有适用于零或更多图片的参数。APS中的参数可为比PPS中的参数更可能改变的参数。
[0050] 为了产生经译码图片,视频编码器20可将图片分割成大小相等的视频块。视频块可为样本的二维阵列。视频块中的每一者与树块相关联。在一些情况下,树块可被称作最大译码单元(LCU)。HEVC的树块可广泛类似于例如H.264/AVC等先前标准的宏块。然而,树块不必限于特定大小,且可包含一或多个译码单元(CU)。视频编码器20可使用四叉树分割将树块的视频块分割成与CU相关联的视频块(因此名称为“树块”)。
[0051] 在一些实例中,视频编码器20可将图片分割成多个切片。切片中的每一者可包含整数数目个CU。在一些情况下,切片包括整数数目个树块。在其它情况下,切片的边界可在树块内。
[0052] 作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可被称作“经译码切片”。
[0053] 为了产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包括表示树块的经编码版本的数据。
[0054] 当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片中的树块执行编码操作(例如,编码)。举例来说,视频编码器20可按以下次序对切片的树块进行编码:跨越切片中的树块的最顶行从左到右进行,接着跨越树块的下一较低行从左到右进行,以此类推,直到视频编码器20已对切片中的树块的每一者进行编码为止。
[0055] 作为根据光栅扫描次序对树块进行编码的结果,可能已对给定树块的上方和左方的树块进行编码,但尚未对给定树块的下方和右方的树块进行编码。因此,当对给定树块进行编码时,视频编码器20可能能够存取通过对在给定树块的上方和左方的树块进行编码而产生的信息。然而,当对给定树块进行编码时,视频编码器20可能不能够存取通过对在给定树块的下方和右方的树块进行编码而产生的信息。
[0056] 为了产生经译码树块,视频编码器20可对树块的视频块递归地执行四叉树分割以将所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,视频编码器20可将树块的视频块分割成四个大小相等的子块、将所述子块中的一或多者分割成四个大小相等的子子块(sub-sub-block),以此类推。经分割CU可为视频块被分割成与其它CU相关联的视频块的CU。未经分割的CU可为视频块未被分割成与其它CU相关联的视频块的CU。
[0057] 位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大次数。CU的视频块可为正方形形状。CU的视频块的大小(例如,CU的大小)范围可从8×8像素直到具有64×64像素或更大的最大值的树块的视频块的大小(例如,树块的大小)。
[0058] 视频编码器20可根据z扫描次序对树块的每一CU执行编码操作(例如,编码)。换句话说,视频编码器20可按所述次序对左上CU、右上CU、左下CU和接着右下CU进行编码。当视频编码器20对经分割CU执行编码操作时,视频编码器20可根据z扫描次序对与经分割CU的视频块的子块相关联的CU进行编码。换句话说,视频编码器20可按所述次序对与左上子块相关联的CU、与右上子块相关联的CU、与左下子块相关联的CU和接着与右下子块相关联的CU进行编码。
[0059] 作为根据z扫描次序对树块的CU进行编码的结果,可已对给定CU的上方、左上方、右上方、左方和左下方的CU进行编码。尚未对给定CU的右下方的CU进行编码。因此,当对给定CU进行编码时,视频编码器20可能能够存取通过对与给定CU相邻的一些CU进行编码而产生的信息。然而,当对给定CU进行编码时,视频编码器20可能不能够存取通过对与给定CU相邻的其它CU进行编码而产生的信息。
[0060] 当视频编码器20对未经分割的CU进行编码时,视频编码器20可产生用于所述CU的一或多个预测单元(PU)。CU的PU中的每一者可与CU的视频块内的不同视频块相关联。视频编码器20可产生CU的每一PU的经预测视频块。PU的经预测视频块可为样本块。视频编码器20可使用帧内预测或帧间预测来产生PU的经预测视频块。
[0061] 当视频编码器20使用帧内预测来产生PU的经预测视频块时,视频编码器20可基于与PU相关联的图片的经解码样本而产生PU的经预测视频块。如果视频编码器20使用帧内预测来产生CU的PU的经预测视频块,那么CU为经帧内预测CU。当视频编码器20使用帧间预测来产生PU的经预测视频块时,视频编码器20可基于不同于与PU相关联的图片的一或多个图片的经解码样本而产生PU的经预测视频块。如果视频编码器20使用帧间预测来产生CU的PU的经预测视频块,则所述CU为经帧间预测CU。
[0062] 此外,当视频编码器20使用帧间预测来产生PU的经预测视频块时,视频编码器20可产生PU的运动信息。PU的运动信息可指示PU的一或多个参考块。PU的每一参考块可为参考图片内的视频块。参考图片可为不同于与PU相关联的图片的图片。在一些情况下,PU的参考块也可被称作PU的“参考样本”。视频编码器20可基于PU的参考块而产生PU的经预测视频块。
[0063] 在视频编码器20产生CU的一或多个PU的经预测视频块之后,视频编码器20可基于CU的PU的经预测视频块而产生CU的残余数据。CU的残余数据可指示CU的PU的经预测视频块与CU的原始视频块中的样本之间的差。
[0064] 此外,作为对未经分割的CU执行编码操作的部分,视频编码器20可对CU的残余数据执行递归四叉树分割以将CU的残余数据分割成与CU的变换单元(TU)相关联的一或多个残余数据块(例如,残余视频块)。CU的每一TU可与不同残余视频块相关联。
[0065] 视频编码器20可将一或多个变换应用于与TU相关联的残余视频块以产生与TU相关联的变换系数块(例如,变换系数块)。在概念上,变换系数块可为变换系数的二维(2D)矩阵。
[0066] 在产生变换系数块之后,视频编码器20可对所述变换系数块执行量化过程。量化通常指对变换系数进行量化以可能地减少用以表示变换系数的数据的量从而提供进一步压缩的过程。量化过程可减小与变换系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。
[0067] 视频编码器20可使每一CU与量化参数(QP)值相关联。与CU相关联的QP值可确定视频编码器20如何对与CU相关联的变换系数块进行量化。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的变换系数块的量化的程度。
[0068] 在视频编码器20对变换系数块进行量化之后,视频编码器20可产生表示经量化变换系数块中的变换系数的语法元素集。视频编码器20可将例如上下文自适应二进制算术译码(CABAC)操作等熵编码操作应用于这些语法元素中的一些。还可使用例如内容自适应可变长度译码(CAVLC)、概率区间分割熵(PIPE)译码或其它二进制算术译码等其它熵译码技术。
[0069] 由视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。NAL单元中的每一者可为含有NAL单元中的数据类型的指示和含有数据的字节的语法结构。举例来说,NAL单元可含有表示视频参数集、序列参数集、图片参数集、经译码切片、补充增强信息(SEI)、存取单元分隔符、填充数据或另一类型的数据的数据。NAL单元中的数据可包含各种语法结构。
[0070] 视频解码器30可接收由视频编码器20产生的位流。位流可包含由视频编码器20编码的视频数据的经译码表示。当视频解码器30接收到位流时,视频解码器30可对位流执行剖析操作。当视频解码器30执行剖析操作时,视频解码器30可从位流提取语法元素。视频解码器30可基于从位流提取的语法元素而重建视频数据的图片。基于语法元素而重建视频数据的过程一般可与由视频编码器20执行以产生语法元素的过程互逆。
[0071] 在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于所述语法元素而产生CU的PU的经预测视频块。另外,视频解码器30可对与CU的TU相关联的变换系数块进行反量化。视频解码器30可对变换系数块执行反变换以重建与CU的TU相关联的残余视频块。在产生经预测视频块且重建残余视频块之后,视频解码器30可基于经预测视频块和残余视频块而重建CU的视频块。以此方式,视频解码器30可基于位流中的语法元素而重建CU的视频块。
[0072] 视频编码器
[0073] 图2A为说明可实施根据本发明中所描述的方面的技术的视频编码器20的实例的框图。视频编码器20可经配置以处理视频帧的单层(例如,针对HEVC)。此外,视频编码器20可经配置以执行本发明的技术中的任一者或全部,包含(但不限于)上文和下文关于图4和5更详细地描述的推断NoOutputOfPriorPicsFlag的方法和相关过程。作为一个实例,预测处理单元100可经配置以执行本发明中所描述的技术中的任一者或全部。在另一实施例中,视频编码器20包含任选的层间预测单元128,层间预测单元128经配置以执行本发明中所描述的技术中的任一者或全部。在其它实施例中,层间预测可由预测处理单元100(例如,帧间预测单元121和/或帧内预测单元126)执行,在此情况下可省略层间预测单元128。然而,本发明的方面不限于此。在一些实例中,本发明中所描述的技术可在视频编码器20的各种组件间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中所描述的技术中的任一者或全部。
[0074] 出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。图2A中所描绘的实例是针对单层编解码器。然而,如将关于图2B进一步描述,可复制视频编码器20中的一些或全部以用于处理多层编解码器。
[0075] 视频编码器20可对视频切片内的视频块执行帧内和帧间译码。帧内译码依赖于空间预测来减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指若干基于时间的译码模式中的任一者。
[0076] 在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换单元110、重建单元112、滤波器单元113、经解码图片缓冲器114和熵编码单元116。预测处理单元100包含帧间预测单元121、运动估计单元122、运动补偿单元124、帧内预测单元126和层间预测单元128。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。
此外,运动估计单元122和运动补偿单元124可高度集成,但出于解释的目的而在图2A的实例中分开表示。
[0077] 视频编码器20可接收视频数据。视频编码器20可从各种源接收视频数据。举例来说,视频编码器20可从视频源18(例如,图1A或1B中所展示)或另一源接收视频数据。视频数据可表示一系列图片。为了对视频数据进行编码,视频编码器20可对图片中的每一者执行编码操作。作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。作为对切片执行编码操作的部分,视频编码器20可对切片中的树块执行编码操作。
[0078] 作为对树块执行编码操作的部分,预测处理单元100可对树块的视频块执行四叉树分割以将所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,预测处理单元100可将树块的视频块分割成四个大小相等的子块,将所述子块中的一或多者分割成四个大小相等的子子块,以此类推。
[0079] 与CU相关联的视频块的大小范围可从8×8样本直到64×64像素或更大的最大值的树块的大小。在本发明中,“N×N”和“N乘N”可互换使用来指在垂直和水平尺寸方面的视频块的样本尺寸,例如,16×16样本或16乘16样本。一般来说,16×16视频块在垂直方向上具有十六个样本(y=16),且在水平方向上具有十六个样本(x=16)。同样,N×N块一般在垂直方向上具有N个样本,且在水平方向上具有N个样本,其中N表示非负整数值。
[0080] 此外,作为对树块执行编码操作的部分,预测处理单元100可产生树块的分层四叉树数据结构。举例来说,树块可对应于四分树数据结构的根节点。如果预测处理单元100将树块的视频块分割成四个子块,那么根节点在四叉树数据结构中具有四个子级节点。所述子级节点中的每一者对应于与子块中的一者相关联的CU。如果预测处理单元100将子块中的一者分割成四个子子块,那么对应于与子块相关联的CU的节点可具有四个子级节点,其中的每一者对应于与子子块中的一者相关联的CU。
[0081] 四叉树数据结构的每一节点可含有对应树块或CU的语法数据(例如,语法元素)。举例来说,四叉树中的节点可包含分裂旗标,其指示对应于节点的CU的视频块是否被分割(例如,分裂)成四个子块。CU的语法元素可被递归地定义,且可取决于CU的视频块是否分裂成子块。视频块未被分割的CU可对应于四叉树数据结构中的叶节点。经译码树块可包含基于对应树块的四分树数据结构的数据。
[0082] 视频编码器20可对树块的每一未经分割的CU执行编码操作。当视频编码器20对未经分割的CU执行编码操作时,视频编码器20产生表示未经分割的CU的经编码表示的数据。
[0083] 作为对CU执行编码操作的部分,预测处理单元100可在CU的一或多个PU间分割CU的视频块。视频编码器20和视频解码器30可支持各种PU大小。假定特定CU的大小为2N×2N,那么视频编码器20和视频解码器30可支持2N×2N或N×N的PU大小,以及2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N或类似的对称PU大小的帧间预测。视频编码器20和视频解码器30还可支持2N×nU、2N×nD、nL×2N和nR×2N的PU大小的不对称分割。在一些实例中,预测处理单元100可执行几何分割以沿并不按直与CU的视频块侧会合的边界在CU的PU间分割CU的视频块。
[0084] 帧间预测单元121可对CU的每一PU执行帧间预测。帧间预测可提供时间压缩。为了对PU执行帧间预测,运动估计单元122可产生PU的运动信息。运动补偿单元124可基于运动信息和除与CU相关联的图片(例如,参考图片)以外的图片的经解码样本而产生PU的经预测视频块。在本发明中,由运动补偿单元124产生的经预测视频块可被称作经帧间预测视频块。
[0085] 切片可为I切片、P切片,或B切片。运动估计单元122和运动补偿单元124可取决于PU是在I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都经帧内预测。因此,如果PU在I切片中,那么运动估计单元122和运动补偿单元124不对PU执行帧间预测。
[0086] 如果PU在P切片中,那么含有PU的图片与被称作“列表0”的参考图片列表相关联。列表0中的参考图片中的每一者含有可用于对其它图片进行帧间预测的样本。当运动估计单元122关于P切片中的PU执行运动估计操作时,运动估计单元122可搜索列表0中的参考图片以找出PU的参考块。PU的参考块可为最紧密对应于PU的视频块中的样本的一组样本,例如,样本块。运动估计单元122可使用多种度量来确定参考图片中的一组样本对应于PU的视频块中的样本的紧密程度。举例来说,运动估计单元122可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定参考图片中的一组样本对应于PU的视频块中的样本的紧密程度。
[0087] 在识别出P切片中的PU的参考块之后,运动估计单元122可产生指示列表0中的含有参考块的参考图片的参考索引和指示PU与参考块之间的空间位移的运动向量。在各种实例中,运动估计单元122可以变化的精确度产生运动向量。举例来说,运动估计单元122可以四分之一样本精确度、八分之一样本精确度或其它分数样本精确度产生运动向量。在分数样本精确度的情况下,参考块值可从参考图片中的整数位置样本值内插。运动估计单元122可输出参考索引和运动向量作为PU的运动信息。运动补偿单元124可基于由PU的运动信息识别的参考块而产生PU的经预测视频块。
[0088] 如果PU在B切片中,那么含有PU的图片可与被称作“列表0”和“列表1”的两个参考图片列表相关联。在一些实例中,含有B切片的图片可与为列表0与列表1的组合的列表组合相关联。
[0089] 此外,如果PU在B切片中,那么运动估计单元122可对PU执行单向预测或双向预测。当运动估计单元122对PU执行单向预测时,运动估计单元122可搜索列表0或列表1的参考图片以找出PU的参考块。运动估计单元122可随后产生指示列表0或列表1中的含有参考块的参考图片的参考索引和指示PU与参考块之间的空间位移的运动向量。运动估计单元122可输出参考索引、预测方向指示符和运动向量作为PU的运动信息。预测方向指示符可指示参考索引指示列表0还是列表1中的参考图片。运动补偿单元124可基于由PU的运动信息指示的参考块而产生PU的经预测视频块。
[0090] 当运动估计单元122对PU执行双向预测时,运动估计单元122可搜索列表0中的参考图片以找到PU的参考块,且还可搜索列表1中的参考图片以找到PU的另一参考块。运动估计单元122可随后产生指示列表0和列表1中的含有参考块的参考图片的参考索引和指示参考块与PU之间的空间位移的运动向量。运动估计单元122可输出PU的参考索引和运动向量作为PU的运动信息。运动补偿单元124可基于由PU的运动信息指示的参考块而产生PU的经预测视频块。
[0091] 在一些情况下,运动估计单元122不将PU的运动信息的完整集合输出到熵编码单元116。实际上,运动估计单元122可参考另一PU的运动信息而用信号表示PU的运动信息。举例来说,运动估计单元122可确定PU的运动信息足够类似于相邻PU的运动信息。在此实例中,运动估计单元122可在与PU相关联的语法结构中指示一值,所述值向视频解码器30指示PU具有与相邻PU相同的运动信息。在另一实例中,运动估计单元122可在与PU相关联的语法结构中识别相邻PU和运动向量差(MVD)。运动向量差指示PU的运动向量与所指示的相邻PU的运动向量之间的差。视频解码器30可使用所指示的相邻PU的运动向量和运动向量差来确定PU的运动向量。通过在用信号表示第二PU的运动信息时参考第一PU的运动信息,视频编码器20可能能够使用较少位用信号表示第二PU的运动信息。
[0092] 如下文参考图5进一步论述,预测处理单元100可经配置以通过执行图5中所说明的方法对PU(或任何其它参考层和/或增强层块或视频单元)进行译码(例如,编码或解码)。举例来说,帧间预测单元121(例如,经由运动估计单元122和/或运动补偿单元124)、帧内预测单元126或层间预测单元128可经配置以一起或分开地执行图5中说明的方法。
[0093] 作为对CU执行编码操作的部分,帧内预测单元126可对CU的PU执行帧内预测。帧内预测可提供空间压缩。当帧内预测单元126对PU执行帧内预测时,帧内预测单元126可基于同一图片中的其它PU的经解码样本而产生PU的预测数据。PU的预测数据可包含经预测视频块和各种语法元素。帧内预测单元126可对I切片、P切片和B切片中的PU执行帧内预测。
[0094] 为了对PU执行帧内预测,帧内预测单元126可使用多个帧内预测模式来产生PU的预测数据的多个集合。当帧内预测单元126使用帧内预测模式来产生PU的预测数据的集合时,帧内预测单元126可在与帧内预测模式相关联的方向和/或梯度上跨越PU的视频块从相邻PU的视频块扩展样本。假定对于PU、CU和树块采用从左到右、从上到下的编码次序,相邻PU可在PU的上方、右上方、左上方或左方。帧内预测单元126可取决于PU的大小而使用各种数目个帧内预测模式,例如33个定向帧内预测模式。
[0095] 预测处理单元100可从由运动补偿单元124针对PU产生的预测数据或由帧内预测单元126针对PU产生的预测数据间选择PU的预测数据。在一些实例中,预测处理单元100基于预测数据集合的速率/失真度量而选择PU的预测数据。
[0096] 如果预测处理单元100选择由帧内预测单元126产生的预测数据,那么预测处理单元100可用信号表示用以产生PU的预测数据的帧内预测模式,例如,所选帧内预测模式。预测处理单元100可以各种方式用信号表示所选帧内预测模式。举例来说,所选帧内预测模式有可能与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为当前PU的最可能模式。因此,预测处理单元100可产生用以指示所选帧内预测模式与相邻PU的帧内预测模式相同的语法元素。
[0097] 如上文所论述,视频编码器20可包含层间预测单元128。层间预测单元128经配置以使用SVC中可用的一或多个不同层(例如,基础层或参考层)来预测当前块(例如,EL中的当前块)。此预测可被称作层间预测。层间预测单元128利用预测方法来减少层间冗余,进而改进译码效率且减少计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测和层间残余预测。层间帧内预测使用基础层中的协同定位块的重建来预测增强层中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残余预测使用基础层的残余来预测增强层的残余。下文更详细地论述层间预测方案中的每一者。
[0098] 在预测处理单元100选择CU的PU的预测数据之后,残余产生单元102可通过从CU的视频块减去(例如,由减号指示)CU的PU的经预测视频块而产生CU的残余数据。CU的残余数据可包含对应于CU的视频块中的样本的不同样本分量的2D残余视频块。举例来说,残余数据可包含对应于CU的PU的经预测视频块中的样本的亮度分量与CU的原始视频块中的样本的亮度分量之间的差的残余视频块。另外,CU的残余数据可包含对应于CU的PU的经预测视频块中的样本的色度分量与CU的原始视频块中的样本的色度分量之间的差的残余视频块。
[0099] 预测处理单元100可执行四叉树分割以将CU的残余视频块分割成子块。每一未经划分的残余视频块可与CU的不同TU相关联。与CU的TU相关联的残余视频块的大小和位置可或可不基于与CU的PU相关联的视频块的大小和位置。被称为“残余四叉树”(RQT)的四叉树结构可包含与残余视频块中的每一者相关联的节点。CU的TU可以对应于RQT的叶节点。
[0100] 变换处理单元104可通过将一或多个变换应用于与CU的每一TU相关联的残余视频块而产生用于所述TU的一或多个变换系数块。变换系数块中的每一者可为变换系数的2D矩阵。变换处理单元104可将各种变换应用于与TU相关联的残余视频块。举例来说,变换处理单元104可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于与TU相关联的残余视频块。
[0101] 在变换处理单元104产生与TU相关联的变换系数块之后,量化单元106可对所述变换系数块中的变换系数进行量化。量化单元106可基于与CU相关联的QP值而对与CU的TU相关联的变换系数块进行量化。
[0102] 视频编码器20可以各种方式使QP值与CU相关联。举例来说,视频编码器20可对与CU相关联的树块执行速率-失真分析。在速率-失真分析中,视频编码器20可通过对树块执行多次编码操作而产生树块的多个经译码表示。当视频编码器20产生树块的不同经编码表示时,视频编码器20可使不同QP值与CU相关联。当给定QP值与具有最低位率和失真度量的树块的经译码表示中的CU相关联时,视频编码器20可用信号表示给定QP值与CU相关联。
[0103] 反量化单元108和反变换单元110可分别将反量化和反变换应用于变换系数块,以从变换系数块重建残余视频块。重建单元112可以将经重建残余视频块添加到来自由预测处理单元100产生的一或多个经预测视频块的对应样本,以产生与TU相关联的经重建视频块。通过以此方式重建CU的每一TU的视频块,视频编码器20可重建CU的视频块。
[0104] 在重建单元112重建CU的视频块之后,滤波器单元113可执行解块操作以减少与CU相关联的视频块中的块假象。在执行一或多个解块操作之后,滤波器单元113可将CU的经重建视频块存储在经解码图片缓冲器114中。运动估计单元122和运动补偿单元124可使用含有经重建视频块的参考图片对后续图片的PU执行帧间预测。另外,帧内预测单元126可使用经解码图片缓冲器114中的经重建视频块对在与CU相同的图片中的其它PU执行帧内预测。
[0105] 熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元116可从量化单元106接收变换系数块,且可从预测处理单元100接收语法元素。当熵编码单元116接收到数据时,熵编码单元116可执行一或多个熵编码操作以产生经熵编码数据。举例来说,视频编码器20可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作或另一类型的熵编码操作。熵编码单元116可输出包含经熵编码数据的位流。
[0106] 作为对数据执行熵编码操作的一部分,熵编码单元116可选择上下文模型。如果熵编码单元116正执行CABAC操作,那么上下文模型可指示特定二进制数具有特定值的概率的估计。在CABAC的上下文中,术语“二进制数”用以指语法元素的二进制化版本的位。
[0107] 多层视频编码器
[0108] 图2B为说明可实施根据本发明中所描述的方面的技术的多层视频编码器23(也被简称为视频编码器23)的实例的框图。视频编码器23可经配置以处理多层视频帧(例如,针对SHVC和多视图译码)。此外,视频编码器23可经配置以执行本发明的技术中的任一者或全部。
[0109] 视频编码器23包含视频编码器20A和视频编码器20B,其中的每一者可被配置为视频编码器20且可执行上文关于视频编码器20所描述的功能。此外,如再使用参考数字所指示,视频编码器20A和20B可包含系统和子系统中的至少一些作为视频编码器20。尽管将视频编码器23说明为包含两个视频编码器20A和20B,但视频编码器23不受此限制且可包含任何数目个视频编码器20层。在一些实施例中,视频编码器23可包含针对存取单元中的每一图片或帧的视频编码器20。举例来说,包含五个图片的存取单元可由包含五个编码器层的视频编码器处理或编码。在一些实施例中,视频编码器23可包含比存取单元中的帧更多的编码器层。在一些此类情况下,当处理一些存取单元时,视频编码器层中的一些可能无效。
[0110] 除了视频编码器20A和20B之外,视频编码器23还可包含再取样单元90。在一些情况下,再取样单元90可对所接收视频帧的基础层进行上取样以(例如)创建增强层。再取样单元90可对与帧的所接收基础层相关联的特定信息进行上取样,但不对其它信息进行上取样。举例来说,再取样单元90可对基础层的空间大小或像素数目进行上取样,但切片的数目或图片次序计数可保持恒定。在一些情况下,再取样单元90可不处理所接收视频且/或可为任选的。举例来说,在一些情况下,预测处理单元100可执行上取样。在一些实施例中,再取样单元90经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则和/或光栅扫描规则。尽管主要描述为对基础层或存取单元中的较低层进行上取样,但在一些情况下,再取样单元90可对层进行下取样。举例来说,如果在视频的流式传输期间减小带宽,那么可对帧进行下取样而不是上取样。
[0111] 再取样单元90可经配置以从较低层编码器(例如,视频编码器20A)的经解码图片缓冲器114接收图片或帧(或与图片相关联的图片信息)并对所述图片(或所接收的图片信息)进行上取样。可随后将此经上取样图片提供到较高层编码器(例如,视频编码器20B)的预测处理单元100,所述较高层编码器经配置以对与较低层编码器相同的存取单元中的图片进行编码。在一些情况下,较高层编码器为从较低层编码器移除的一个层。在其它情况下,在图2B的层0编码器与层1编码器之间可存在一或多个较高层编码器。
[0112] 在一些情况下,可省略或绕过再取样单元90。在此些情况下,可直接提供来自视频编码器20A的经解码图片缓冲器114的图片,或至少不提供到再取样单元90,不提供到视频编码器20B的预测处理单元100。举例来说,如果提供到视频编码器20B的视频数据和来自视频编码器20A的经解码图片缓冲器114的参考图片具有相同大小或分辨率,那么可将参考图片提供到视频编码器20B而无任何再取样。
[0113] 在一些实施例中,视频编码器23使用下取样单元94对待提供到较低层编码器的视频数据进行下取样,之后将所述视频数据提供到视频编码器20A。替代地,下取样单元94可为能够对视频数据上取样或下取样的再取样单元90。在另外其它实施例中,可省略下取样单元94。
[0114] 如图2B中所说明,视频编码器23可进一步包含多路复用器98或mux。mux 98可从视频编码器23输出经组合的位流。可通过从视频编码器20A和20B中的每一者取得位流且使在给定时间输出哪一位流交替来产生经组合的位流。虽然在一些情况下,可一次一个位地交替来自两个(或在两个以上视频编码器层的情况下更多)位流的位,但在许多情况下,不同地组合所述位流。举例来说,可通过一次一个块地交替所选位流来产生输出位流。在另一实例中,可通过从视频编码器20A和20B中的每一者输出非1:1比率的块来产生输出位流。举例来说,可针对从视频编码器20A输出的每一块从视频编码器20B输出两个块。在一些实施例中,可预编程来自mux 98的输出流。在其它实施例中,mux 98可基于从视频编码器23外部的系统(例如,从包含源装置12的源装置上的处理器)接收的控制信号而组合来自视频编码器20A、20B的位流。可基于来自视频源18的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订)或基于用于确定来自视频编码器23的所要分辨率输出的任何其它因素而产生控制信号。
[0115] 视频解码器
[0116] 图3A为说明可实施本发明中所描述的方面的技术的视频解码器30的实例的框图。视频解码器30可经配置以处理视频帧的单层(例如,针对HEVC)。此外,视频解码器30可经配置以执行本发明的技术中的任一者或全部,包含(但不限于)上文和下文关于图4和5更详细地描述的推断NoOutputOfPriorPicsFlag的方法和相关过程。作为一个实例,运动补偿单元
162和/或帧内预测单元164可经配置以执行本发明中所描述的技术中的任一者或全部。在一个实施例中,视频解码器30可任选地包含层间预测单元166,层间预测单元166经配置以执行本发明中所描述的技术中的任一者或全部。在其它实施例中,层间预测可由预测处理单位152(例如,运动补偿单元162和/或帧内预测单元164)执行,在此情况下,可省略层间预测单元166。然而,本发明的方面不限于此。在一些实例中,本发明中所描述的技术可在视频解码器30的各种组件间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中所描述的技术中的任一者或全部。
[0117] 出于解释的目的,本发明描述在HEVC译码的上下文中的视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。图3A中所描绘的实例是针对单层编解码器。然而,如将关于图3B进一步描述,可复制视频解码器30中的一些或全部以用于处理多层编解码器。
[0118] 在图3A的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含熵解码单元150、预测处理单元152、反量化单元154、反变换单元156、重建单元158、滤波器单元159和经解码图片缓冲器160。预测处理单元152包含运动补偿单元162、帧内预测单元164和层间预测单元166。在一些实例中,视频解码器30可执行一般与关于图2A的视频编码器20描述的编码遍次互逆的解码遍次。在其它实例中,视频解码器30可包含较多、较少或不同的功能组件。
[0119] 视频解码器30可接收包括经编码视频数据的位流。位流可包含多个语法元素。当视频解码器30接收到位流时,熵解码单元150可对位流执行剖析操作。作为对位流执行剖析操作的结果,熵解码单元150可从位流提取语法元素。作为执行剖析操作的部分,熵解码单元150可对位流中的经熵编码语法元素进行熵解码。预测处理单元152、反量化单元154、反变换单元156、重建单元158和滤波器单元159可执行重建操作,重建操作基于从位流提取的语法元素而产生经解码视频数据。
[0120] 如上文所论述,位流可包括一系列NAL单元。位流的NAL单元可包含视频参数集NAL单元、序列参数集NAL单元、图片参数集NAL单元、SEI NAL单元等等。作为对位流执行剖析操作的一部分,熵解码单元150可执行剖析操作,所述剖析操作从序列参数集NAL单元提取序列参数集且对所述序列参数集进行熵解码、从图片参数集NAL单元提取图片参数集且对所述图片参数集进行熵解码、从SEI NAL单元提取SEI数据且对所述SEI数据进行熵解码,等等。
[0121] 另外,位流的NAL单元可包含经译码切片NAL单元。作为对位流执行剖析操作的部分,熵解码单元150可执行剖析操作,所述剖析操作从经译码切片NAL单元提取经译码切片且对经译码切片NAL单元进行熵解码。经译码切片中的每一者可包含切片标头和切片数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有所述切片的图片相关联的图片参数集的语法元素。熵解码单元150可对经译码切片标头中的语法元素执行熵解码操作(例如,CABAC解码操作),以恢复切片标头。
[0122] 作为从经译码切片NAL单元提取切片数据的部分,熵解码单元150可执行剖析操作,所述剖析操作从切片数据中的经译码CU提取语法元素。所提取的语法元素可包含与变换系数块相关联的语法元素。熵解码单元150可随后对语法元素中的一些执行CABAC解码操作。
[0123] 在熵解码单元150对未经分割的CU执行剖析操作之后,视频解码器30可对未经分割的CU执行重建操作。为了对未经分割的CU执行重建操作,视频解码器30可对CU的每一TU执行重建操作。通过对CU的每一TU执行重建操作,视频解码器30可重建与CU相关联的残余视频块。
[0124] 作为对TU执行重建操作的一部分,反量化单元154可对与TU相关联的变换系数块进行反量化(例如,解量化)。反量化单元154可以类似于针对HEVC所提议或由H.264解码标准定义的反量化过程的方式对变换系数块进行反量化。反量化单元154可使用由视频编码器20针对变换系数块的CU计算的量化参数QP来确定量化程度,且同样地,确定反量化单元154应用的反量化的程度。
[0125] 在反量化单元154对变换系数块进行反量化之后,反变换单元156可产生与变换系数块相关联的TU的残余视频块。反变换单元156可将反变换应用于变换系数块,以便产生TU的残余视频块。举例来说,反变换单元156可将反DCT、反整数变换、反卡忽南-拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、反定向变换或另一反变换应用于变换系数块。在一些实例中,反变换单元156可基于来自视频编码器20的信令而确定待应用于变换系数块的反变换。在此些实例中,反变换单元156可基于在与变换系数块相关联的树块的四叉树的根节点处的用信号表示的变换而确定反变换。在其它实例中,反变换单元156可从例如块大小、译码模式等一或多个译码特性推断反变换。在一些实例中,反变换单元156可应用级联的反变换。
[0126] 在一些实例中,运动补偿单元162可通过基于内插滤波器执行内插而改良PU的经预测视频块。待用于具有子样本精确度的运动补偿的内插滤波器的识别符可包含在语法元素中。运动补偿单元162可使用由视频编码器20在产生PU的经预测视频块期间使用的相同内插滤波器来计算参考块的次整数样本的内插值。运动补偿单元162可根据接收到的语法信息确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生经预测视频块。
[0127] 如下文参考图5进一步论述,预测处理单元152可通过执行图5中所说明的方法对PU(或任何其它参考层和/或增强层块或视频单元)进行译码(例如,编码或解码)。举例来说,运动补偿单元162、帧内预测单元164或层间预测单元166可经配置以一起或分开地执行图5中所说明的方法。
[0128] 如果是使用帧内预测对PU进行编码,那么帧内预测单元164可执行帧内预测以产生PU的经预测视频块。举例来说,帧内预测单元164可基于位流中的语法元素而确定PU的帧内预测模式。位流可包含帧内预测模块164可用以确定PU的帧内预测模式的语法元素。
[0129] 在一些情况下,语法元素可指示帧内预测单元164将使用另一PU的帧内预测模式来确定当前PU的帧内预测模式。举例来说,当前PU的帧内预测模式有可能与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为当前PU的最可能模式。因此,在此实例中,位流可包含小语法元素,所述小语法元素指示PU的帧内预测模式与相邻PU的帧内预测模式相同。帧内预测单元164可接着使用帧内预测模式基于空间相邻PU的视频块而产生PU的预测数据(例如,经预测样本)。
[0130] 如上文所论述,视频解码器30还可包含层间预测单元166。层间预测单元166经配置以使用SVC中可用的一或多个不同层(例如,基础层或参考层)来预测当前块(例如,EL中的当前块)。此预测可被称作层间预测。层间预测单元166利用预测方法来减少层间冗余,进而改进译码效率且减少计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测和层间残余预测。层间帧内预测使用基础层中的协同定位块的重建来预测增强层中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残余预测使用基础层的残余来预测增强层的残余。下文更详细地论述层间预测方案中的每一者。
[0131] 重建单元158可使用与CU的TU相关联的残余视频块和CU的PU的经预测视频块(例如,帧内预测数据或帧间预测数据,如果适用)来重建CU的视频块。因此,视频解码器30可基于位流中的语法元素而产生经预测视频块和残余视频块,且可基于经预测视频块和残余视频块而产生视频块。
[0132] 在重建单元158重建CU的视频块之后,滤波器单元159可执行解块操作以减少与CU相关联的块假象。在滤波器单元159执行解块操作以减少与CU相关联的块假影之后,视频解码器30可将CU的视频块存储在经解码图片缓冲器160中。经解码图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测和在例如图1A或1B的显示装置32等显示装置上呈现。举例来说,视频解码器30可基于经解码图片缓冲器160中的视频块而对其它CU的PU执行帧内预测或帧间预测操作。
[0133] 多层解码器
[0134] 图3B为说明可实施根据本发明中所描述的方面的技术的多层视频解码器33(也被简称为视频解码器33)的实例的框图。视频解码器33可经配置以处理多层视频帧(例如,针对SHVC和多视图译码)。此外,视频解码器33可经配置以执行本发明的技术中的任一者或全部。
[0135] 视频解码器33包含视频解码器30A和视频解码器30B,其中的每一者可被配置为视频解码器30且可执行上文关于视频解码器30所描述的功能。此外,如再使用参考数字所指示,视频解码器30A和30B可包含系统和子系统中的至少一些作为视频解码器30。尽管将视频解码器33说明为包含两个视频解码器30A和30B,但视频解码器33不受此限制且可包含任何数目个视频解码器30层。在一些实施例中,视频解码器33可包含针对存取单元中的每一图片或帧的视频解码器30。举例来说,包含五个图片的存取单元可由包含五个解码器层的视频解码器处理或解码。在一些实施例中,视频解码器33可包含比存取单元中的帧更多的解码器层。在一些此等情况下,当处理一些存取单元时,一些视频解码器层可能无效。
[0136] 除了视频解码器30A和30B之外,视频解码器33还可包含上取样单元92。在一些实施例中,上取样单元92可对所接收视频帧的基础层进行上取样以创建待添加到帧或存取单元的参考图片列表的增强型层。此增强型层可存储在经解码图片缓冲器160中。在一些实施例中,上取样单元92可包含关于图2A的再取样单元90描述的实施例中的一些或全部。在一些实施例中,上取样单元92经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则和/或光栅扫描规则。在一些情况下,上取样单元92可为经配置以对所接收视频帧的层进行上取样和/或下取样的再取样单元。
[0137] 上取样单元92可经配置以从较低层解码器(例如,视频解码器30A)的经解码图片缓冲器160接收图片或帧(或与图片相关联的图片信息)并对所述图片(或所接收的图片信息)进行上取样。可随后将此经上取样图片提供到较高层解码器(例如,视频解码器30B)的预测处理单元152,所述较高层解码器经配置以对与较低层解码器相同的存取单元中的图片进行解码。在一些情况下,较高层解码器为从较低层解码器移除的一个层。在其它情况下,在图3B的层0解码器与层1解码器之间可存在一或多个较高层解码器。
[0138] 在一些情况下,可省略或绕过上取样单元92。在此些情况下,可直接提供来自视频解码器30A的经解码图片缓冲器160的图片,或至少不提供到上取样单元92,不提供到视频解码器30B的预测处理单元152。举例来说,如果提供到视频解码器30B的视频数据和来自视频解码器30A的经解码图片缓冲器160的参考图片具有相同大小或分辨率,那么可将参考图片提供到视频解码器30B而不进行上取样。此外,在一些实施例中,上取样单元92可为经配置以对从视频解码器30A的经解码图片缓冲器160接收的参考图片进行上取样或下取样的再取样单元90。
[0139] 如图3B中所说明,视频解码器33可进一步包含多路分用器99或demux。demux 99可将经编码视频位流分裂成多个位流,其中由demux 99输出的每一位流被提供到不同的视频解码器30A和30B。可通过接收位流来产生多个位流,且视频解码器30A和30B中的每一者在给定时间接收位流的一部分。虽然在一些情况下,可在视频解码器(例如,图3B的实例中的视频解码器30A和30B)中的每一者之间一次一个位地交替来自在demux 99处接收的位流的位,但在许多情况下,不同地划分所述位流。举例来说,可通过一次一个块地交替哪一视频解码器接收位流来划分所述位流。在另一实例中,可通过到视频解码器30A和30B中的每一者的块的非1:1比率来划分位流。举例来说,可针对被提供到视频解码器30A的每一块将两个块提供到视频解码器30B。在一些实施例中,可预编程由demux 99对位流的划分。在其它实施例中,demux 99可基于从视频解码器33外部的系统(例如,从包含目的地模块14的目的地装置上的处理器)接收的控制信号而划分位流。可基于来自输入接口28的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订)或基于用于确定可由视频解码器33获得的分辨率的任何其它因素而产生控制信号。
[0140] 帧内随机存取点(IRAP)图片
[0141] 一些视频译码方案可提供贯穿位流的各种随机存取点,使得可从那些随机存取点中的任一者开始解码位流而无需解码位流中的在那些随机存取点之前的任何图片。在此些视频译码方案中,按输出次序在随机存取点之后的全部图片(例如,包含在与提供随机存取点的图片相同的存取单元中的那些图片)可被正确地解码而不使用在随机存取点之前的任何图片。举例来说,即使位流的一部分在传输期间或在解码期间丢失,解码器仍可从下一个随机存取点开始恢复解码位流。对随机存取的支持可促进(例如)动态流式传输服务、搜寻操作、信道切换等。
[0142] 在一些译码方案中,此些随机存取点可由被称作帧内随机存取点(IRAP)图片的图片提供。举例来说,存取单元(“auA”)中所含有的增强层(“layerA”)中的随机存取点(例如,由增强层IRAP图片提供)可提供层特定随机存取,使得对于layerA(例如,作为用于预测layerA的层的参考层)的具有存取单元(“auB”)(其在layerB中且按解码次序在auA之前)中所含有的随机存取点(或auA中所含有的随机存取点)的每一参考层(“layerB”),layerA中按输出次序在auB之后的图片(包含位于auB中的那些图片)可被正确地解码而无需对layerA中在auB之前的任何图片进行解码。
[0143] IRAP图片可使用帧内预测来译码(例如,不参考其它图片而译码),且可包含(例如)瞬时解码刷新(IDR)图片、清洁随机存取(CRA)图片和断链存取(BLA)图片。当位流中存在IDR图片时,按解码次序在IDR图片之前的全部图片不由按解码次序在IDR图片之后的图片用于预测。当在位流中存在CRA图片时,在CRA图片之后的图片可或可不将按解码次序在CRA图片之前的图片用于预测。按解码次序在CRA图片之后但使用按解码次序在CRA图片之前的图片的那些图片可被称作随机存取跳过前导(RASL)图片。按解码次序在IRAP图片之后且按输出次序在IRAP图片之前的另一类型的图片为随机存取可解码前导(RADL)图片,其可不含有对按解码次序在IRAP图片之前的任何图片的参考。如果在CRA图片之前的图片不可用,那么RASL图片可由解码器丢弃。BLA图片对解码器指示在BLA图片之前的图片可能不可用于解码器(例如,因为两个位流经拼接在一起且BLA图片为按解码次序的第二位流的第一图片)。含有作为IRAP图片的基础层图片(例如,层ID值为0的图片)的存取单元(例如,由跨越多个层的与相同输出时间相关联的所有经译码图片组成的图片群组)可被称为IRAP存取单元。
[0144] IRAP图片的跨层对准
[0145] 在SVC中,可能不需要跨越不同层对准(例如,在同一存取单元中含有)IRAP图片。举例来说,如果需要对准IRAP图片,那么含有至少一个IRAP图片的任一存取单元将仅含有IRAP图片。另一方面,如果不需要对准IRAP图片,那么在单个存取单元中,一个图片(例如,在第一层中)可为IRAP图片,且另一图片(例如,在第二层中)可为非IRAP图片。在位流中具有此些非对准IRAP图片可提供一些优点。举例来说,在双层位流中,如果在基础层中存在比在增强层中更多的IRAP图片,那么在广播和多播应用中,可实现低调入延迟和高译码效率。
[0146] 在一些视频译码方案中,图片次序计数(POC)可用于跟踪显示经解码图片的相对次序。每当在位流中出现某些类型的图片时,此些译码方案中的一些可使POC值被复位(例如,设置成零或设置成在位流中用信号表示的某一值)。举例来说,可将某些IRAP图片的POC值复位,从而使按解码次序在那些IRAP图片之前的其它图片的POC值也被复位。当不需要跨越不同层对准IRAP图片时,其可能成问题。举例来说,当一个图片(“picA”)是IRAP图片且同一存取单元中的另一图片(“picB”)不是IRAP图片时,含有picA的层中的图片(“picC”)的归因于picA是IRAP图片而被复位的POC值可不同于含有picB的层中的图片(“picD”)的未被复位的POC值,其中picC和picD在同一存取单元中。此使picC及picD具有不同POC值,即使其属于同一存取单元(例如,相同输出时间)。因此,在此实例中,用于导出picC和picD的POC值的导出过程可经修改以产生与POC值和存取单元的定义一致的POC值。
[0147] 层初始化图片(LIP)
[0148] 在一些译码方案中,层初始化图片(“LIP图片”)可被定义为具有被设置成1的NoRaslOutputFlag旗标(例如,在被设置成1的情况下指示将不输出RASL图片且在被设置成0的情况下指示将输出RASL图片的旗标)的IRAP图片或初始IRAP存取单元中所含有的图片,所述初始IRAP存取单元是具有被设置成1的NoRaslOutputFlag的基础层图片(例如,具有为
0的层ID或在位流中界定的最小层ID的图片)的IRAP存取单元。
[0149] 在一些实施例中,可在每一LIP图片处激活SPS。举例来说,具有被设置成1的NoRaslOutputFlag旗标的每一IRAP图片或包含在初始IRAP存取单元中的每一图片,新的SPS可不同(例如,指定不同图片分辨率等)于先前激活的SPS。然而,在LIP图片不是IRAP图片(例如,初始IRAP存取单元中所含有的任何图片)且初始IRAP存取单元中的基础层图片是旗标NoClrasOutputFlag旗标(例如,在被设置成1的情况下指示将不输出跨层随机存取跳过图片且在被设置成0的情况下指示将输出跨层随机存取跳过图片的旗标)被设置成0的IDR图片的情况下,不应允许LIP图片激活新的SPS。如果在此情况下在此LIP图片处激活新的SPS,确切来说在新的SPS的SPS RBSP的内容不同于在初始IRAP存取单元之前先前有效的SPS的内容时,在不同图片分辨率和错误恢复中可能存在问题。举例来说,新的SPS可更新分辨率且使用时间预测来参考不同大小的图片。
[0150] 提升和清空图片
[0151] 经解码(例如,使得其可显示或用于预测其它图片)的图片被存储在经解码图片缓冲器(DPB)中。待输出的图片可被标记为“需要用于输出”,且待用于预测其它图片的图片可被标记为“用于参考”。既不被标记为“需要用于输出”也不被标记为“用于参考”的经解码图片(例如,初始地被标记为“用于参考”或“需要用于输出”但随后被标记为“不用于参考”或“不需要用于输出”的图片)可存在于DPB中直到其通过解码过程被移除为止。在输出次序一致的解码器中,从DPB移除图片的过程常常紧跟在输出被标记为“需要用于输出”的图片之后。输出和后续移除的此过程可被称为“提升”。
[0152] 还存在解码器可移除DPB中的图片而不输出的情形,即使这些图片可被标记为“需要用于输出”。为易于在本文中描述,在解码IRAP图片时存在于DPB中的经解码图片(无论经解码图片是否被标记为“需要用于输出”或“用于参考”)被称作与IRAP图片相关联的“滞后DPB图片”或IRAP图片的“相关联滞后DPB图片”。下文描述在HEVC上下文中的此类情形的一些实例。
[0153] 在一个实例中,当具有等于值“1”的NoRaslOutputFlag的CRA图片存在于位流中间(例如,不是位流中的第一图片)时,将不输出且将从DPB移除与CRA图片相关联的滞后DPB图片。此些情形可能发生在拼接点处,其中两个位流接合在一起且后一个位流的第一图片是具有等于值“1”的NoRaslOutputFlag的CRA图片。在另一实例中,当具有等于值“1”的NoRaslOutputFlag且不是CRA图片(例如,IDR图片)的IRAP图片picA存在于位流中间且图片的分辨率在picA处改变(例如,随着激活新的SPS)时,picA的相关联滞后DPB图片可在其可输出之前从DPB移除,因为如果相关联滞后DPB图片继续占据DPB,那么对从picA开始的图片的解码可(例如)归因于缓冲区溢出而变得成问题。在此情况下,与picA相关联的no_output_of_prior_pics_flag(例如,在被设置成1的情况下指示先前经解码且存储在DPB中的图片应从DPB移除而不输出且在被设置成0的情况下指示先前经解码且存储在DPB中的图片不应从DPB移除而不输出的旗标)的值应由编码器或拼接器设置成等于值“1”,或NoOutputOfPriorPicsFlag(例如,可基于包含在位流中的信息而确定的导出值)可由解码器导出为等于值“1”,以清空滞后图片而不输出到DPB外。下文关于图4进一步描述拼接操作。
[0154] 从DPB移除相关联滞后DPB图片而不输出的此过程可被称作“清空”。即使在上文未描述的情形中,IRAP图片也可指定no_output_of_prior_pics_flag的值等于值“1”,使得解码器将清空IRAP图片的相关联DPB滞后图片。
[0155] 包含拼接点的位流
[0156] 参考图4,将描述具有拼接点的实例位流。图4展示通过拼接位流410和420而产生的多层位流400。位流410包含增强层(EL)410A和基础层(BL)410B,且位流420包含EL 420A和BL 420B。EL 410A包含EL图片412A,且BL 410B包含BL图片412B。EL 420A包含EL图片422A、424A和426A,且BL 420B包含BL图片422B、424B和426B。多层位流400进一步包含存取单元(AU)430到460。AU 430包含EL图片412A和BL图片412B,AU 440包含EL图片422A和BL图片422B,AU 450包含EL图片424A和BL图片424B,且AU 460包含EL图片426A和BL图片426B。在图4的实例中,BL图片422B为IRAP图片,且AU 440中的对应EL图片422A为尾部图片(trailing picture)(例如,非IRAP图片),且因此,AU 440是非对准IRAP AU。另外,应注意AU440是紧跟在拼接点470之后的存取单元。
[0157] 尽管图4的实例说明两个不同位流接合在一起的情况,但在一些实施例中,当位流的一部分被移除时拼接点可存在。举例来说,位流可具有部分A、B和C,部分B在部分A与C之间。如果将部分B从位流移除,那么其余部分A和C可接合在一起,且其接合在一起的点可被称作拼接点。更一般来说,如本申请案中所论述的拼接点可被视为在一或多个用信号表示或导出的参数或旗标具有预定值时存在。举例来说,在未接收到在特定位置存在拼接点的特定指示的情况下,解码器可确定旗标(例如,NoClrasOutputFlag)的值,且基于旗标的值而执行本申请案中所描述的一或多种技术。
[0158] 清空多层上下文中的图片
[0159] 清空图片的过程在多层位流中也是相关的。更具体来说,其与属于初始IRAP存取单元的全部图片相关,且还与不在初始IRAP存取单元中的IRAP图片相关。如上文所描述,在例如SHVC和MV-HEVC等一些现有实施方案中,IRAP存取单元可被定义为含有具有等于值“0”的nuh_layer_id的IRAP图片的存取单元(无论存取单元中的其它图片是否为IRAP图片),且初始IRAP存取单元可被定义为含有具有等于值“0”的nuh_layer_id且具有等于值“1”的NoRaslOutputFlag的IRAP图片的存取单元(同样无论存取单元中的其它图片是否为IRAP图片)。
[0160] 关于SHVC和MV-HEVC中的存取单元(例如,存取单元可含有IRAP图片和非IRAP图片两者)中具有非对准IRAP图片的可能性,在HEVC的上下文中的先前章节中所描述的情形可在SHVC/MV-HEVC位流的不同层中发生。举例来说,具有等于值“1”的NoRaslOutputFlag的CRA图片picA可存在于位流中间(例如,不在位流的第一存取单元中)的增强层处,其以不具有与picA在同一层中的CRA图片的初始IRAP存取单元开始。另外,图片的分辨率改变可发生在基础层的分辨率不改变的存取单元处的增强层中的IRAP图片处,或反之亦然。类似情形可针对不同DPB大小出现。
[0161] 清空SVC和MVC中的图片
[0162] 归因于SVC的单循环译码设计,每存取单元仅一个经重建图片插入在DPB中,在所谓的中等粒度可缩放性(MGS)在使用中时的情况除外(在此情况下,可存在来自被存储在DPB中的所谓的关键图片存取单元的两个经解码图片)。然而,在每一存取单元中可仅输出最高层的经解码图片。因此,包含清空图片的用于管理DPB的操作仅关注最高层中的图片,主要因为基础层的经解码图片不需要存在于DPB中以便预测增强层。
[0163] 在MVC中,一个以上视图可为目标输出视图,且需要维持经解码视图分量以预测另一层中的视图分量,即使不需要其来预测同一层中的视图分量。因此,来自一个以上视图的视图分量可存在于DPB中。针对每一IDR视图分量用信号表示旗标no_output_of_prior_pics_flag(例如,以等于值“0”的non_idr_flag用信号表示非基础视图的IDR视图分量),且视图分量的清空是层特定的(或视图特定的)。在MVC中,为简单起见,MVC中的存取单元中的IDR视图分量被对准。举例来说,如果存取单元中的一个视图分量是IDR视图分量,那么所述存取单元中的全部视图分量也是IDR视图分量。因此,还跨越位流中的全部视图执行清空操作,即使所述操作可能是视图/层特定的。
[0164] 清空SHVC和MV-HEVC中的图片
[0165] 当在SHVC和MV-HEVC中的当前设计下发生清空时,DPB中的全部图片被移除而不被输出(例如,显示)。位流中的仅一个层的图片(在仅基础层存在于位流中时的不重要情况除外)不可能被清空,因此清空不是层特定的。
[0166] 输出时序符合性
[0167] 在一些实施方案(例如,SHVC、MV-HEVC等)中,例如SHVC工作草案(WD)3和MV-HEVC工作草案5,如下文所描述而执行输出和从DPB移除图片以用于输出时序符合性。与清空过程相关的部分以斜体字展示。在以下实例中,图片的所调用的移除是特定针对每一层的,如HEVC规范的章节F.13.3.2中所指定。
[0168]
[0169]
[0170] 表1-SHVC WD 3和MV-HEVC WD 5中的输出时序符合性
[0171] 输出次序符合性
[0172] 在一些实施方案(例如,SHVC、MV-HEVC等)中,如下文所描述而执行输出和从DPB移除图片以用于输出次序符合性。与清空过程相关的部分以斜体字展示。在以下实例中,当被调用时图片的移除是针对全部层执行的。
[0173]
[0174]
[0175] 表2-SHVC WD 3和MV-HEVC WD 5中的输出次序符合性
[0176] 输出时序符合性与输出次序符合性的比较
[0177] 如上文所描述,输出时序符合性和输出次序符合性可能并不导致相同的清空行为。举例来说,对于输出时序符合性解码器,针对层中并非位流中的层的第一图片且具有等于值“1”的NoRaslOutputFlag的每一图片调用清空。当调用清空时,DPB中的所述层的全部经解码图片被清空。另一方面,对于输出次序符合性解码器,仅针对基础层中并非位流中的第一图片且具有等于值“1”的NoRaslOutputFlag的每一图片调用清空。当调用清空时,DPB中的全部层的全部经解码图片被清空。
[0178] 在具有两个层的位流中,当EL中作为IRAP图片且不属于IRAP AU的LIP图片激活不同分辨率且BL的分辨率归因于BL图片在非IRAP AU中(例如,不是IRAP图片)而在此AU处不可改变时,可能需要图片的层特定清空。此处,仅来自EL而非来自BL的图片将被清空。此特征不可用于输出次序符合性。
[0179] 在具有两个层的位流中,在存取单元包含作为IDR图片的BL图片和作为非IRAP图片的EL图片的情况下,可在存取单元处更新BL图片的分辨率,而不更新EL图片的分辨率。在此情况下,应仅对来自BL的图片执行清空,且不应清空EL图片。此特征不可用于输出次序符合性。
[0180] 用信号表示指示先前图片的输出的旗标
[0181] 在一些实施例中,基于no_output_of_prior_pics_flag和其它条件而导出变量NoOutputOfPriorPicsFlag(例如,由解码器导出以确定在解码IRAP图片时在清空DPB之前是否输出DPB中的图片的值)。举例来说,no_output_of_prior_pics_flag可为在位流中用信号表示的值,而NoOutputOfPriorPicsFlag可为由编码器基于包含在位流中的信息而导出的值。解码器可基于no_output_of_prior_pics_flag的值和其它条件而导出NoOutputOfPriorPicsFlag的值,且随后使用NoOutputOfPriorPicsFlag的所导出值来确定是否输出图片。在一些实施例中,旗标NoOutputOfPriorPicsFlag可指示当前存取单元是否包括两个不同位流被拼结在一起的拼接点。
[0182] 在一些实施例中,NoClRasOutputFlag和NoRaslOutputFlag可为基于包含在位流中的信息而导出的变量。举例来说,可针对每个IRAP图片(例如,在BL和/或EL中)导出NoRaslOutputFlag,且可仅针对最低层图片(例如,BL图片)导出NoClRasOutputFlag。NoClRasOutputFlag和NoRaslOutputFlag中的每一者的值可指示位流中的一些图片归因于某些参考图片的不可用性而可能不可正确解码。参考图片的此不可用性可发生在随机存取点处。跨层随机存取跳过(CL-RAS)图片以某些方式为RASL图片的多层等效物。如果解码器在随机存取点(例如,具有BL IRAP图片的存取单元)处开始解码位流,且存取单元中的EL图片不是IRAP图片,那么所述EL图片是CL-RAS图片。EL中的全部图片可为CL-RAS图片(例如,可解码但不可正确解码)直到IRAP图片在EL中发生为止。当在位流中提供此EL IRAP图片时,EL可被称为已经被初始化。
[0183] 举例来说,在图4的实例中,EL图片422A可为并非IRAP图片的LIP图片,且BL图片422B可为具有与其相关联的旗标NoClRasOutputFlag的IRAP图片。在此实例中,可基于与BL图片422B相关联的NoClRasOutputFlag的值而推断与EL图片422A相关联的
NoOutputOfPriorPicsFlag的值。举例来说,如果NoClRasOutputFlag等于值“1”,那么EL图片422A的NoOutputOfPriorPicsFlag也可被设置成值“1”,从而致使DPB中的图片在其从DPB移除之前将不被输出。另一方面,如果NoClRasOutputFlag等于值“0”,那么EL图片422A的NoOutputOfPriorPicsFlag也可被设置成值“0”,从而致使DPB中的图片在输出之后将从DPB移除。
[0184] 对NoOutputOfPriorPicsFlag的经改进推断
[0185] 如上文所解释,帧内随机存取点(IRAP)图片可提供用于解码位流的随机存取点。解码器可通过解码IRAP图片开始解码位流而不必解码在IRAP图片之前的图片。当对IRAP图片进行解码时,经解码图片缓冲器(DPB)可具有缓冲器中的数个经解码图片。已经从位流解码的图片被存储在DPB中。DPB中的经解码图片可包含被标记为“需要用于输出”的图片或被标记为“用于参考”的图片。DPB中的经解码图片还可包含既不被标记为“需要用于输出”也不被标记为“用于参考”的图片;此些经解码图片存在于DPB中直到其通过解码过程被移除为止。如果输出DPB中的现有图片会影响解码器的性能(例如,解码器的DPB中存在过多图片以至于不能输出),那么可能需要移除此些现有图片而不将其输出(例如,清空现有图片)。
按需要不移除DPB中的现有图片可导致缓冲器的溢出或解码和输出后续图片的延迟。
[0186] 变量NoOutputOfPriorPicsFlag可指示在解码IRAP图片时,是否应在从DPB移除DPB中的图片之前将其输出。当对IRAP图片进行解码时,当不应在移除DPB中的图片之前将其输出时,NoOutputOfPriorPicsFlag的值可被设置成1。或者,当对IRAP图片进行解码时,当应在移除DPB中的图片之前将其输出时,NoOutputOfPriorPicsFlag的值可被设置成0。NoOutputOfPriorPicsFlag的值可基于对应语法元素和/或各种条件和信息来确定。可在位流中接收语法元素no_output_of_prior_pics_flag,且解码器可将
NoOutputOfPriorPicsFlag的值设置成等于no_output_of_prior_pics_flag的经解码值。
或者可基于各种条件导出或推断NoOutputOfPriorPicsFlag的值。举例来说,在SHVC和MV-HEVC(例如,SHVC工作草案4和MV-HEVC工作草案6)的早期版本中,当空间分辨率或图片存储区的数目变化时,NoOutputOfPriorPicsFlag可被设置成等于1。通过将
NoOutputOfPriorPicsFlag设置成1,解码器可通过按需要移除DPB中的图片来控制DPB中可用的存储器的量。然而,DPB中所需的存储器的量还可能受图片的色彩格式和/或位深度的变化影响。除非假定最坏情况或最大色彩格式或位深度,否则不考虑色彩格式和/或位深度可导致DPB的存储器大小次优。
[0187] 为了解决这些和其它挑战,在确定IRAP图片的NoOutputOfPriorPicsFlag的值时,根据某些方面的技术可考虑图片的色彩格式和/或位深度。举例来说,技术可确定当前层中的待解码的当前图片的色彩格式和/或位深度是否不同于当前层中的在前图片的色彩格式和/或位深度。当前图片和在前图片的色彩格式和/或位深度可分别从当前有效序列参数集(SPS)和在解码在前图片时有效的SPS获得。图片的位深度可包含图片的亮度分量的位深度和图片的色度分量的位深度。如果色彩格式或位深度改变,那么NoOutputOfPriorPicsFlag的值可被设置成等于1以引发移除DPB中的图片而不输出图片。在一个实例中,如果亮度样本的位深度从8位变成16位,那么所希望的是清空DPB中的图片以使得更多存储器可用于DPB中。
[0188] 通过考虑图片的色彩格式和/或位深度的变化,技术可更准确地确定NoOutputOfPriorPicsFlag的值,且解码位流所需且足够的DPB大小的最优值可被指示。举例来说,技术可更好地预测在缓冲器中将需要额外存储器的情形。除了图片存储区的数目和空间分辨率的变化之外,清空DPB还使得在色彩格式或位深度变化时更多存储装置可用。
[0189] 下文进一步解释与推断NoOutputOfPriorPicsFlag相关的某些细节。贯穿本发明所使用的各种术语是具有它们的一般含义的广义术语。
[0190] 实例实施例
[0191] 可如以下实例中所展示而实施上述技术。在SHVC和MV-HEVC(例如,SHVC WD 4和MV-HEVC WD 6)的早先版本的上下文中提供实例。SHVC和MV-HEVC的早先版本的变化以斜体字指示。章节C.3.2描述在SHVC WD 4和MV-HEVC WD 6中的图片移除上的输出时序DPB操作。章节C.5.2.2描述在SHVC WD 4和MV-HEVC WD 6中的图片移除上的输出次序DPB操作。每一章节中的第一“否则”分支涉及基于图片的色度格式 和位 深度而推断
NoOutputOfPriorPicsFlag。
[0192]
[0193]
[0194]
[0195] 表3-实例实施例
[0196] 根据一些实施例,推断NoOutputOfPriorPicsFlag中所使用的语法元素和变量可指以下各项:
[0197] ·语法元素pic_width_in_luma_samples指亮度样本的单元中的图片的宽度。
[0198] ·语法元素pic_height_in_luma_samples指亮度样本的单元中的图片的高度。
[0199] ·语法元素chroma_format_idc指图片的色度格式。
[0200] ·语法元素bit_depth_luma_minus8指图片的亮度样本的位深度减8位。
[0201] ·语法元素bit_depth_chroma_minus8指图片的色度样本的位深度减8位。
[0202] ·语法元素sps_max_dec_pic_buffering_minus1[HighestTid]指解码经译码视频序列层所需的图片存储区的数目。
[0203] 以上语法元素可结合当前层的经解码当前图片从针对当前层的有效SPS导出。以上语法元素还可结合当前层的在前图片从在解码在前图片时对当前层有效的SPS导出。在前图片可为当前层中按解码次序在当前图片之前的图片。
[0204] 如果图片为IRAP图片且对于IRAP图片,NoRaslOutputFlag的值等于1,那么在当前图片的以上语法元素的任何值不同于在前图片的相应语法元素的值的情况下,NoOutputOfPriorPicsFlag的值可被设置成1。变量NoRaslOutputFlag可指示是否输出与当前图片相关联的任何随机存取跳过前导(RASL)图片。如果NoRaslOutputFlag等于1,那么RASL图片在帧间预测时参考的一些参考图片将不存在,且因此不应输出/显示RASL图片。如上文所解释,RASL图片可指与IRAP图片相关联的前导图片,如果从所述IRAP图片开始解码位流,那么应不输出/显示所述前导图片。解码器可将当前图片的每一语法元素与在前图片的对应语法元素比较,且如果任何语法元素的值已经改变,那么NoOutputOfPriorPicsFlag可被设置成1,无论语法元素no_output_of_prior_pics_flag的值为多少。如说明书的文字指示,将NoOutputOfPriorPicsFlag的值设置成语法元素no_output_of_prior_pics_flag的值可为优选的。但在需要时,允许解码器将NoOutputOfPriorPicsFlag的值设置成1。举例来说,在一些情况下,DPB大小足够大,以使得即使第一旗标的值被设置成等于no_output_of_prior_pics_flag的经解码值,DPB大小溢出仍不会发生。在此类情况下,允许解码器选择将第一旗标的值设置成等于1还是等于no_output_of_prior_pics_flag的经解码值可为有益的。
[0205] 在一个实施例中,chroma_format_idc的值从在前图片变成当前图片。如上文所解释,语法元素的值是从当前层的在解码当前层的当前图片时有效的SPS和当前层的在解码当前层的在前图片时有效的SPS导出。在当前图片的chroma_format_idc的值和在前图片的chroma_format_idc的值不同时,解码器将NoOutputofPriorPicsFlag的值设置成1,无论no_output_of_prior_pics_flag语法元素的值为多少。
[0206] 在另一实施例中,bit_depth_luma_minus8的值从在前图片变成当前图片。在当前图片的bit_depth_luma_minus8的值和在前图片的bit_depth_luma_minus8的值不同时,解码器将NoOutputofPriorPicsFlag的值设置成1,无论no_output_of_prior_pics_flag语法元素的值为多少。
[0207] 在另一实施例中,bit_depth_chroma_minus8的值从在前图片变成当前图片。在当前图片的bit_depth_chroma_minus8的值和在前图片的bit_depth_chroma_minus8的值不同时,解码器将NoOutputofPriorPicsFlag的值设置成1,无论no_output_of_prior_pics_flag语法元素的值为多少。
[0208] 一般而言,在以上语法元素的值从在前图片增加到当前图片时而不是在以上语法元素的值减少时,DPB中需要更多存储器。然而,每当以上语法元素的值变化(无论是增加或减少)时,解码器可通过移除DPB中的图片而不输出来获得DPB中足够量的存储器。以此方式,可使用一个条件步骤而不是使用多个步骤考虑语法元素的值是增加还是减少而在DPB中释放额外存储器。检查语法元素值的变化而不是确定值是增加还是减少可使NoOutputOfPriorPicsFlag的推断过程更有效。
[0209] 确定NoOutputOfPriorPicsFlag的值的方法
[0210] 图5为说明根据本发明的一个实施例的对视频信息进行译码的方法的流程图。所述方法涉及确定指示是否应输出经解码图片缓冲器中的图片的旗标(例如,NoOutputOfPriorPicsFlag)的值。取决于实施例,过程500可由编码器(例如,如图2A、2B等中所展示的编码器)、解码器(例如,如图3A、3B等中所展示的解码器)或任一其它组件执行。
关于图3B中的解码器33描述过程500的框,但可由如上文所提及的其它组件(例如,编码器)执行过程500。取决于实施例,解码器33的层1视频解码器30B和/或解码器33的层0解码器
30A可执行过程500。关于图5所描述的所有实施例可分开地或彼此组合地实施。上文(例如)关于图4解释与过程500相关的某些细节。
[0211] 过程500在框501处开始。解码器33可包含用于存储与当前层相关联的视频信息的用于解码的存储器(例如,经解码图片缓冲器160)。
[0212] 在框502处,解码器33获得当前层的待解码的当前图片的色度格式、当前图片的色度样本的位深度和当前图片的亮度样本的位深度。当前图片可为开始新的经译码视频序列(CVS)的帧内随机存取点(IRAP)图片。当前图片的色度格式、当前图片的亮度样本的位深度和当前图片的色度样本的位深度可从在解码当前图片时对当前层有效的第一序列参数集(SPS)导出。
[0213] 与当前图片相关联的指示不应输出随机存取跳过前导(RASL)图片的旗标可指示当前图片开始新的CVS。如果启用旗标,那么旗标指示当前图片开始新的CVS;如果不启用旗标,那么旗标指示当前图片不开始新的CVS。旗标可相同或类似于NoRaslOutputFlag。举例来说,NoRaslOutputFlag可被设置成等于1以指示当前图片开始新的CVS。
[0214] 在框503处,解码器33获得当前层的经解码的在前图片的色度格式、在前图片的色度样本的位深度和在前图片的亮度样本的位深度。在前图片的色度格式、在前图片的亮度样本的位深度和在前图片的色度样本的位深度可从在解码在前图片时对当前层有效的第二SPS导出。
[0215] 在一些实施例中,当前图片的亮度样本的位深度、当前图片的色度样本的位深度、在前图片的亮度样本的位深度和在前图片的色度样本的位深度的相应值被指定为8位减相应实际位深度值。举例来说,当前图片的亮度样本的位深度是由语法元素bit_depth_luma_minus8的值提供,其中bit_depth_luma_minus8表示8位减当前图片的亮度样本的位深度的实际值。
[0216] 在框504处,解码器33确定与当前图片相关联的第一旗标的值,所述第一旗标指示是否应输出经解码图片缓冲器(DPB)中的图片。解码器33可基于以下各项中的至少一者而确定第一旗标的值:(1)当前图片的色度格式和在前图片的色度格式,(2)当前图片的色度样本的位深度和在前图片的色度样本的位深度,或(3)当前图片的亮度样本的位深度和在前图 片的亮 度样本 的位 深度。第一 旗标可 为或类 似于 上文所 解释的NoOutputOfPriorPicsFlag。
[0217] 在某些实施例中,响应于确定(4)当前图片的色度格式与在前图片的色度格式不同,(5)当前图片的亮度样本的位深度与在前图片的亮度样本的位深度不同,或(6)当前图片的色度样本的位深度与在前图片的色度样本的位深度不同,解码器33将第一旗标的值设置成等于1。出于说明性目的作为一实例提供值1,但解码器33可按需要使用指示启用第一旗标的任何值。当启用第一旗标时,移除但不输出DPB中的图片。
[0218] 在其它实施例中,解码器33对位流中与当前图片相关联的语法元素进行解码,所述语法元素指示是否应输出DPB中的图片。响应于确定(4)当前图片的色度格式与在前图片的色度格式不同,(5)当前图片的亮度样本的位深度与在前图片的亮度样本的位深度不同,或(6)当前图片的色度样本的位深度与在前图片的色度样本的位深度不同,解码器33将第一旗标的值设置成等于语法元素的经解码值。举例来说,语法元素为no_output_of_prior_pics_flag,且即使在前图片与当前图片之间的色度格式、明度位深度和色度位深度存在变化,解码器33仍将第一旗标的值设置成no_output_of_prior_pics_flag的经解码值。
[0219] 在某些实施例中,解码器33获得当前图片的宽度、当前图片的高度和与当前图片相关联的图片存储区的数目。当前图片的宽度和当前图片的高度是以亮度样本为单位指定,且与当前图片相关联的图片存储区的数目指示解码从当前图片开始的经译码视频序列中的当前层所需的最小DPB大小。可针对CVS指定且在SPS中用信号表示图片存储区的数目。对于每一CVS和特定层,仅一个SPS可为有效的。解码器33还获得在前图片的宽度、在前图片的高度和与在前图片相关联的图片存储区的数目。在前图片的宽度和在前图片的高度是以亮度样本为单位指定,且与在前图片相关联的图片存储区的数目指示解码在在前图片处结束的经译码视频序列中的当前层所需的最小DPB大小。当前图片的宽度、当前图片的高度和与当前图片相关联的图片存储区的数目可从在解码当前图片时对当前层有效的第一序列参数集(SPS)导出。在前图片的宽度、在前图片的高度和与在前图片相关联的图片存储区的数目可从在解码在前图片时对当前层有效的第二SPS导出。
[0220] 在一个实施例中,响应于确定(7)当前图片的宽度与在前图片的宽度不同,(8)当前图片的高度与在前图片的高度不同,或(9)与当前图片相关联的图片存储区的数目与和在前图片相关联的图片存储区的数目不同,解码器33将第一旗标的值设置成等于1。
[0221] 在另一实施例中,解码器33对位流中与当前图片相关联的语法元素(例如,no_output_of_prior_pics_flag)进行解码,所述语法元素指示是否应输出DPB中的图片。响应于确定(7)当前图片的宽度与在前图片的宽度不同,(8)当前图片的高度与在前图片的高度不同,或(9)与当前图片相关联的图片存储区的数目与和在前图片相关联的图片存储区的数目不同,解码器33将第一旗标的值设置成等于语法元素的经解码值。
[0222] 过程500在框505处结束。取决于实施例,在过程500中可添加和/或省略块,且取决于实施例,可按不同次序执行过程500的块。
[0223] 在本发明中关于推断NoOutputOfPriorPicsFlag而描述的任何特征和/或实施例可分开地或以其任何组合来实施。举例来说,结合图1到4描述的任何特征和/或实施例和本发明的其它部分可以与结合图5描述的任何特征和/或实施例的任何组合来实施,且反之亦然。
[0224] 可使用多种不同技术和技艺中的任一者来表示本文中所揭示的信息及信号。举例来说,可由电压电流电磁波磁场或磁粒子、光场或光粒子或其任何组合来表示可贯穿以上描述参考的数据、指令、命令、信息、信号、位、符号和芯片。
[0225] 结合本文中所揭示的实施例描述的各种说明性逻辑块、电路和算法步骤可实施为电子硬件、计算机软件,或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体上关于其功能性而描述了各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用和施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但此类实施方案决策不应被解释为会导致脱离本发明的范围。
[0226] 本文中所描述的技术可在硬件、软件、固件或其任一组合中实施。此些技术可实施于多种装置中的任一者中,例如通用计算机、无线通信装置手持机或具有多种用途(包含在无线通信装置手持机和其它装置中的应用)的集成电路装置。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或分开实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在被执行时执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存器、磁性或光学数据存储媒体等等。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式携载或传达程序代码且可由计算机存取、读取和/或执行(例如,传播的信号或波)。
[0227] 程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一者、上述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合式视频编码器-解码器(编解码器)中。另外,所述技术可完全实施于一或多个电路或逻辑元件中。
[0228] 本发明的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元来实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在一个编解码器硬件单元中,或通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
[0229] 已经描述本发明的各种实施例。这些和其它实施例在所附权利要求书的范围内。
相关专利内容
标题 发布/更新时间 阅读量
游戏机 2020-05-11 190
游戏机 2020-05-11 915
游戏机 2020-05-11 674
游戏机 2020-05-12 580
游戏机 2020-05-13 708
游戏机 2020-05-12 1038
游戏机 2020-05-13 343
游戏机 2020-05-13 244
游戏机 2020-05-14 57
游戏机 2020-05-14 210
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈