产生额外合并候选者.pdf

上传人:1*** 文档编号:663106 上传时间:2018-03-02 格式:PDF 页数:43 大小:4.97MB
返回 下载 相关 举报
摘要
申请专利号:

CN201280054674.9

申请日:

2012.11.07

公开号:

CN104126302A

公开日:

2014.10.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N 19/119申请日:20121107|||公开

IPC分类号:

H04N19/119(2014.01)I; H04N19/52(2014.01)I; H04N19/96(2014.01)I; H04N19/109(2014.01)I

主分类号:

H04N19/119

申请人:

高通股份有限公司

发明人:

郑云非; 翔林·王; 马尔塔·卡切维奇

地址:

美国加利福尼亚州

优先权:

2011.11.07 US 61/556,746; 2011.11.21 US 61/562,284; 2011.11.22 US 61/562,940; 2012.11.06 US 13/669,992

专利代理机构:

北京律盟知识产权代理有限责任公司 11287

代理人:

宋献涛

PDF下载: PDF下载
内容摘要

在产生用于帧间预测视频译码的候选者列表时,视频译码器可在将空间候选者和时间候选者添加到候选者列表时执行修剪操作,而在将人工产生的候选者添加到候选者列表时不执行修剪操作。人工产生的候选者可具有与已在候选者列表中的空间候选者或时间候选者的运动信息相同的运动信息。

权利要求书

1.  一种对视频数据进行译码的方法,所述方法包含:
确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分且其中所述空间候选者中的每一者具有相关联的运动信息;
确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分且其中所述时间候选者具有相关联的运动信息;
基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,
响应于所述候选者列表包含少于指定数目的候选者,将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息相同或与所述时间候选者的运动信息相同的运动信息。

2.
  根据权利要求1所述的方法,其中空间候选者的所述集合包含具有相同运动信息的两个或更多空间候选者,且其中空间候选者的所述子集仅包括所述两个或更多空间候选者中的一者。

3.
  根据权利要求1所述的方法,其中基于空间候选者的所述集合的所述子集和所述时间候选者产生所述候选者列表包含执行修剪操作以从所述候选者列表排除具有重复运动信息的候选者。

4.
  根据权利要求1所述的方法,其中将所述人工产生的候选者添加到所述候选者列表包含在不对所述人工产生的候选者执行一或多个修剪操作的情况下添加所述人工产生的候选者。

5.
  根据权利要求1所述的方法,其中所述人工产生的候选者为非缩放双向预测性候选者。

6.
  根据权利要求1所述的方法,其中所述人工产生的候选者为零候选者。

7.
  根据权利要求1所述的方法,其中所述人工产生的候选者为运动向量偏移候选者。

8.
  根据权利要求1所述的方法,其进一步包含:
产生第二人工产生的候选者,其中所述人工产生的候选者和所述第二人工产生的候选者并行地产生。

9.
  根据权利要求1所述的方法,其进一步包含:
使用合并模式对所述当前视频帧的所述当前部分进行译码,其中用于所述合并模式的运动信息是基于所述候选者列表而确定。

10.
  根据权利要求1所述的方法,其中所述方法由视频编码器执行,其中所述方法进一步包含从所述候选者列表选择候选者以及产生指示所述选定候选者的索引的语法元素。

11.
  根据权利要求1所述的方法,其中所述方法由视频解码器执行,且其中所述方法进一步包含接收识别来自所述候选者列表的候选者的语法元素以及使用所述所识别候选者的运动信息对所述当前视频帧的所述当前部分进行解码。

12.
  一种用于对视频数据进行译码的装置,所述装置包含:
视频译码器,其经配置以:确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分且其中所述空间候选者中的每一者具有相关联的运动信息;确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分且其中所述时间候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,响应于所述候选者列表包含少于指定数目的候选者,将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息相同或与所述时间候选者的运动信息相同的运动信息。

13.
  根据权利要求12所述的装置,其中空间候选者的所述集合包含具有相同运动信息的两个或更多空间候选者,且其中空间候选者的所述子集仅包括所述两个或更多空间候选者中的一者。

14.
  根据权利要求12所述的装置,其中所述视频译码器通过执行修剪操作以从所述候选者列表排除具有重复运动信息的候选者而基于空间候选者的所述集合的所述子集和所述时间候选者产生所述候选者列表。

15.
  根据权利要求12所述的装置,其中所述视频译码器通过在不对所述人工产生的候选者执行一或多个修剪操作的情况下添加所述人工产生的候选者来将所述人工产生的候选者添加到所述候选者列表。

16.
  根据权利要求12所述的装置,其中所述人工产生的候选者为非缩放双向预测性候选者。

17.
  根据权利要求12所述的装置,其中所述人工产生的候选者为零候选者。

18.
  根据权利要求12所述的装置,其中所述人工产生的候选者为运动向量偏移候选者。

19.
  根据权利要求12所述的装置,其中所述视频译码器进一步经配置以产生第二人工产生的候选者,其中所述人工产生的候选者和所述第二人工产生的候选者并行地产生。

20.
  根据权利要求12所述的装置,其中所述视频译码器进一步经配置以使用合并模式对所述当前视频帧的所述当前部分进行译码,其中用于所述合并模式的运动信息是基于所述候选者列表而确定。

21.
  根据权利要求12所述的装置,其中所述视频译码器为视频编码器且其中所述视频编码器经配置以从所述候选者列表选择候选者以及产生指示所述选定候选者的索引的语法元素。

22.
  根据权利要求12所述的装置,其中所述视频译码器为视频解码器,且其中所述视频解码器经配置以接收识别来自所述候选者列表的候选者的语法元素以及使用所述所识别候选者的运动信息对所述当前视频帧的所述当前部分进行解码。

23.
  根据权利要求12所述的装置,其中所述装置包含以下各者中的至少一者:
集成电路;
微处理器;以及,
无线通信装置,其包括所述视频译码器。

24.
  一种用于对视频数据进行译码的装置,所述装置包含:
用于确定与当前视频帧的当前部分相关联的空间候选者的集合的装置,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分且其中所述空间候选者中的每一者具有相关联的运动信息;
用于确定与所述当前视频帧的所述当前部分相关联的时间候选者的装置,其中所述时间候选者对应于参考视频帧的一部分且其中所述时间候选者具有相关联的运动信息;
用于基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表的装置;以及,
用于响应于所述候选者列表包含少于指定数目的候选者而将人工产生的候选者添加到所述候选者列表的装置,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息相同或与所述时间候选者的运动信息相同的运动信息。

25.
  根据权利要求24所述的装置,其中空间候选者的所述集合包含具有相同运动信息的两个或更多空间候选者,且其中空间候选者的所述子集仅包括所述两个或更多空间候选者中的一者。

26.
  根据权利要求24所述的装置,其中所述用于基于空间候选者的所述集合的所述子集和所述时间候选者产生所述候选者列表的装置包含用于执行修剪操作以从所述候选者列表排除具有重复运动信息的候选者的装置。

27.
  根据权利要求24所述的装置,其中所述用于将所述人工产生的候选者添加到所述候选者列表的装置包含用于在不对所述人工产生的候选者执行一或多个修剪操作的情况下添加所述人工产生的候选者的装置。

28.
  根据权利要求24所述的装置,其中所述人工产生的候选者为非缩放双向预测性候 选者。

29.
  根据权利要求24所述的装置,其中所述人工产生的候选者为零候选者。

30.
  根据权利要求24所述的装置,其中所述人工产生的候选者为运动向量偏移候选者。

31.
  根据权利要求24所述的装置,其进一步包含:
用于产生第二人工产生的候选者的装置,其中所述人工产生的候选者和所述第二人工产生的候选者并行地产生。

32.
  根据权利要求24所述的装置,其进一步包含:
用于使用合并模式对所述当前视频帧的所述当前部分进行译码的装置,其中用于所述合并模式的运动信息是基于所述候选者列表而确定。

33.
  根据权利要求24所述的装置,其中所述装置包含视频编码器,且其中所述装置进一步包含用于从所述候选者列表选择候选者的装置和用于产生指示所述选定候选者的索引的语法元素的装置。

34.
  根据权利要求24所述的装置,其中所述装置包含视频解码器,且其中所述装置进一步包含用于接收识别来自所述候选者列表的候选者的语法元素的装置和用于使用所述所识别候选者的运动信息对所述当前视频帧的所述当前部分进行解码的装置。

35.
  一种存储指令的计算机可读存储媒体,所述指令在被执行时致使一或多个处理器执行以下操作:
确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分且其中所述空间候选者中的每一者具有相关联的运动信息;
确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分且其中所述时间候选者具有相关联的运动信息;
基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,
响应于所述候选者列表包含少于指定数目的候选者而将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息相同或与所述时间候选者的运动信息相同的运动信息。

36.
  根据权利要求35所述的计算机可读存储媒体,其中空间候选者的所述集合包含具有相同运动信息的两个或更多空间候选者,且其中空间候选者的所述子集仅包括所述两个或更多空间候选者中的一者。

37.
  根据权利要求35所述的计算机可读存储媒体,其中所述指令致使所述一或多个处理器通过执行修剪操作以从所述候选者列表排除具有重复运动信息的候选者来基于空间候选者的所述集合的所述子集和所述时间候选者产生所述候选者列表。

38.
  根据权利要求35所述的计算机可读存储媒体,其中所述指令致使所述一或多个处理器在不对所述人工产生的候选者执行一或多个修剪操作的情况下将所述人工产生的候选者添加到所述候选者列表。

39.
  根据权利要求35所述的计算机可读存储媒体,其中所述人工产生的候选者为非缩放双向预测性候选者。

40.
  根据权利要求35所述的计算机可读存储媒体,其中所述人工产生的候选者为零候选者。

41.
  根据权利要求35所述的计算机可读存储媒体,其中所述人工产生的候选者为运动向量偏移候选者。

42.
  根据权利要求35所述的计算机可读存储媒体,其存储在被执行时致使所述一或多个处理器执行以下操作的其它指令:
产生第二人工产生的候选者,其中所述人工产生的候选者和所述第二人工产生的候选者并行地产生。

43.
  根据权利要求35所述的计算机可读存储媒体,其存储在被执行时致使所述一或多个处理器执行以下操作的其它指令:
使用合并模式对所述当前视频帧的所述当前部分进行译码,其中用于所述合并模式的运动信息是基于所述候选者列表而确定。

44.
  根据权利要求35所述的计算机可读存储媒体,其中所述一或多个处理器包含视频编码器,其中所述计算机可读存储媒体存储其它指令,所述指令在被执行时致使所述一或多个处理器从所述候选者列表选择候选者以及产生指示所述选定候选者的索引的语法元素。

45.
  根据权利要求35所述的计算机可读存储媒体,其中所述一或多个处理器包含视频解码器,其中所述计算机可读存储媒体存储其它指令,所述指令在被执行时致使所述一或多个处理器接收识别来自所述候选者列表的候选者的语法元素以及使用所述所识别候选者的运动信息对所述当前视频帧的所述当前部分进行解码。

说明书

产生额外合并候选者
本申请案主张以下各者的权益:
2011年11月7日申请的美国临时申请案第61/556,746号;
2011年11月21日申请的美国临时申请案第61/562,284号;和
2011年11月22日申请的美国临时申请案61/562,940,
其中每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码,且更特定来说涉及视频数据的合并模式预测。
背景技术
可将数字视频能力并入于广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏机、蜂窝式或卫星无线电电话、视频电话会议装置和其类似者。数字视频装置实施视频压缩技术(例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC))定义的标准、目前在开发中的高效视频译码(HEVC)标准和这些标准的扩展中所描述的视频压缩技术)以更有效率地发射、接收和存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测,以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频块分割成视频块,视频块还可被称作树块、译码单元(CU)和/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测来编码图片的帧内译码(I)切片中的视频块。图片的帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
发明内容
本发明描述用于在视频编码器处产生供帧间预测译码使用的候选者列表和用于在 视频解码器处产生相同候选者列表的技术。视频编码器和视频解码器可通过实施用于建构候选者列表的相同技术来产生相同候选者列表。举例来说,视频编码器和视频解码器两者可建构具有相同数目的候选者的列表。视频编码器和解码器可首先考虑空间候选者(例如,同一图片中的相邻块),接着考虑时间候选者(例如,不同图片中的候选者),且最后可考虑人工产生的候选者,直到将所要数目的候选者添加到列表为止。根据本发明的技术,可在候选者列表建构期间针对某些类型的候选者利用修剪操作,以便从候选者列表移除重复,而对于其它类型的候选者,可能不使用修剪以便减小译码器复杂性。
在一实例中,一种对视频数据进行译码的方法包括:确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分,且其中所述空间候选者中的每一者具有相关联的运动信息;确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分,且其中所述时间候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,响应于所述候选者列表包含的候选者少于指定数目,将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息或所述时间候选者的运动信息相同的运动信息。
在另一实例中,一种用于对视频数据进行译码的装置包括视频译码器,所述视频译码器经配置以:确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分,且其中所述空间候选者中的每一者具有相关联的运动信息;确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分,且其中所述时间候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,响应于所述候选者列表包含的候选者少于指定数目,将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息或所述时间候选者的运动信息相同的运动信息。
在另一实例中,一种用于对视频数据进行译码的装置包括:用于确定与当前视频帧的当前部分相关联的空间候选者的集合的装置,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分,且其中所述空间候选者中的每一者具有相关联的运动信息;用于确定与所述当前视频帧的所述当前部分相关联的时间候选者的装置,其中所述时间候选者对应于参考视频帧的一部分,且其中所述时间候选者具有相关联的运动信息;用于基于空间候选者的所述集合的子集和所述时间候选者产生候选者列 表的装置;以及,用于响应于所述候选者列表包含的候选者少于指定数目而将人工产生的候选者添加到所述候选者列表的装置,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息或所述时间候选者的运动信息相同的运动信息。
在另一实例中,一种计算机可读存储媒体存储在被执行时致使一或多个处理器执行以下操作的指令:确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分,且其中所述空间候选者中的每一者具有相关联的运动信息;确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分,且其中所述时间候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,响应于所述候选者列表包含的候选者少于指定数目而将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息或所述时间候选者的运动信息相同的运动信息。
一或多个实例的细节陈述于附图和以下描述中。其它特征、目标和优势将从所述描述和所述图式以及从权利要求书显而易见。
附图说明
图1说明可利用本发明的技术的实例视频译码系统的框图。
图2说明经配置以实施本发明的技术的实例视频编码器的框图。
图3说明经配置以实施本发明的技术的实例视频解码器的框图。
图4说明帧间预测模块的实例配置的框图。
图5说明实例合并操作的流程图。
图6说明实例高级运动向量预测(AMVP)操作的流程图。
图7说明由视频解码器执行的实例运动补偿操作的流程图。
图8说明译码单元(CU)和与CU相关联的实例源位置的概念图。
图9说明实例候选者列表建构操作的流程图。
图10展示将经组合候选者添加到合并候选者列表的图形实例。
图11展示将经缩放候选者添加到合并候选者列表的图形实例。
图12展示将零候选者添加到合并候选者列表的图形实例。
图13A和图13B展示产生mv_offset候选者的图形实例。
图14说明本发明中所描述的技术的实例的流程图。
具体实施方式
视频编码器可执行帧间预测以减少图片之间的时间冗余。如下文所描述,译码单元(CU)可具有多个预测单元(PU)。换句话说,多个PU可属于CU。当视频编码器执行帧间预测时,视频编码器可用信号通知用于PU的运动信息。PU的运动信息可包括(例如)参考图片索引、运动向量和预测方向指示符。运动向量可指示PU的视频块与PU的参考块之间的位移。PU的参考块可为类似于PU的视频块的参考图片的一部分。参考块可定位于由参考图片索引和预测方向指示符指示的参考图片中。
为了减少表示PU的运动信息所需要的位的数目,视频编码器可根据合并模式或高级运动向量预测(AMVP)过程产生用于PU中的每一者的候选者列表。用于PU的候选者列表中的每一候选者可指示运动信息。由候选者列表中的一些候选者指示的运动信息可基于其它PU的运动信息。如果候选者指示指定空间候选者位置或时间候选者位置中的一者的运动信息,则本发明可将所述候选者称作“原始”候选者。举例来说,对于合并模式,可存在五个原始空间候选者位置和一个原始时间候选者位置。在一些实例中,视频编码器可通过组合来自不同原始候选者的部分运动向量、修改原始候选者或仅插入零运动向量作为候选者来产生额外候选者。这些额外候选者不被视为原始候选者且在本发明中可称作人工产生的候选者。
本发明的技术一般涉及用于在视频编码器处产生候选者列表的技术和用于在视频解码器处产生相同候选者列表的技术。视频编码器和视频解码器可通过实施用于建构候选者列表的相同技术来产生相同候选者列表。举例来说,视频编码器和视频解码器两者可建构具有相同数目的候选者(例如,五个候选者)的列表。视频编码器和解码器可首先考虑空间候选者(例如,同一图片中的相邻块),接着考虑时间候选者(例如,不同图片中的候选者),且最后可考虑人工产生的候选者直到将所要数目的候选者添加到列表为止。根据本发明的技术,可在候选者列表建构期间针对某些类型的候选者利用修剪操作以便从候选者列表移除重复,而对于其它类型的候选者,可能不使用修剪以便减小译码器复杂性。举例来说,对于空间候选者集合和对于时间候选者,可执行修剪操作以从候选者的列表排除具有重复运动信息的候选者。然而,当将人工产生的候选者添加到候选者的列表时,可在不对人工产生的候选者执行修剪操作的情况下添加人工产生的候选者。
在产生用于CU的PU的候选者列表之后,视频编码器可从候选者列表选择候选者且在位流中输出候选者索引。选定候选者可为具有产生最紧密地匹配正被译码的目标PU的预测子的运动向量的候选者。候选者索引可指示在候选者列表中选定候选者的位 置。视频编码器还可基于由PU的运动信息指示的参考块产生用于PU的预测性视频块。可基于由选定候选者指示的运动信息确定PU的运动信息。举例来说,在合并模式中,PU的运动信息可与由选定候选者指示的运动信息相同。在AMVP模式中,PU的运动信息可基于PU的运动向量差和由选定候选者指示的运动信息确定。视频编码器可基于CU的PU的预测性视频块和用于CU的原始视频块产生用于CU的一或多个残余视频块。视频编码器可接着编码一或多个残余视频块且在位流中输出一或多个残余视频块。
位流可包括识别PU的候选者列表中的选定候选者的数据。视频解码器可基于由PU的候选者列表中的选定候选者指示的运动信息确定PU的运动信息。视频解码器可基于PU的运动信息识别用于PU的一或多个参考块。在识别PU的一或多个参考块之后,视频解码器可基于PU的一或多个参考块产生用于PU的预测性视频块。视频解码器可基于用于CU的PU的预测性视频块和用于CU的一或多个残余视频块来重构用于CU的视频块。
为了易于解释,本发明可将位置或视频块描述为与CU或PU具有各种空间关系。此描述可解译为是指位置或视频块和与CU或PU相关联的视频块具有各种空间关系。此外,本发明可将视频译码器当前在译码的PU称作当前PU。本发明可将视频译码器当前在译码的CU称作当前CU。本发明可将视频译码器当前在译码的图片称作当前图片。
附图说明实例。由附图中的参考数字指示的元件对应于由以下描述中的相似参考数字指示的元件。在本发明中,具有以序数词(例如,“第一”、“第二”、“第三”等等)开始的名称的元件未必暗示元件具有特定次序。而是,这些序数词仅用以指代相同或类似类型的不同元件。
图1说明可利用本发明的技术的实例视频译码系统10的框图。如本文中所使用描述,术语“视频译码器”一般指代视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”一般可指代视频编码和视频解码。
如图1中所展示,视频译码系统10包括源装置12和目的地装置14。源装置12产生经编码视频数据。因此,源装置12可称作视频编码装置。目的地装置14可解码由源装置12产生的经编码视频数据。因此,目的地装置14可称作视频解码装置。源装置12和目的地装置14可为视频译码装置的实例。
源装置12和目的地装置14可包含广泛范围的装置,包括桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能型”手机的电话手机、电视、相机、显示装置、数字媒体播放器、视频游戏机、车用计算机或其类似者。在一些实例中,源装置12和目的地装置14可经配备以用于无线通信。
目的地装置14可经由通道16从源装置12接收经编码视频数据。通道16可包含能够将经编码视频数据从源装置12移动到目的地装置14的一类型的媒体或装置。在一实例中,通道16可包含使得源装置12能够即时地将经编码视频数据直接发射到目的地装置14的通信媒体。在此实例中,源装置12可根据通信标准(例如无线通信协议)调制经编码视频数据,且可将经调制视频数据发射到目的地装置14。通信媒体可包含无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网络、广域网络或例如因特网的全球网络)的部分。通信媒体可包括路由器、交换器、基站或促进从源装置12到目的地装置14的通信的其它设备。
在另一实例中,通道16可对应于存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包括多种本端存取的数据存储媒体,例如蓝光光碟、DVD、CD-ROM、快闪存储器或用于存储经编码视频数据的其它合适数字存储媒体。在另一实例中,通道16可包括文件服务器或存储由源装置12产生的经编码视频的另一中间存储装置。在此实例中,目的地装置14可经由串流或下载存取存储于文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的一类型的服务器。实例文件服务器包括网络服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附接存储(NAS)装置和本地磁盘驱动器。目的地装置14可经由标准数据连接(包括因特网连接)存取经编码视频数据。数据连接的实例类型可包括无线通道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或适合用于存取存储于文件服务器上的经编码视频数据的无线通道与有线连接的组合。经编码视频数据从文件服务器的传输可为串流传输、下载传输,或两者的组合。
本发明的技术不限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视传输、卫星电视传输、(例如)经由因特网的串流视频传输、数字视频的编码以供存储于数据存储媒体上、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持例如视频串流、视频播放、视频广播和/或视频电话的应用。
在图1的实例中,源装置12包括视频源18、视频编码器20和输出接口22。在一些状况下,输出接口22可包括调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包括例如视频俘获装置的源,例如视频摄影机、含有先前俘获的视频数据的视频存档、从视频内容提供者接收视频数据的视频馈送接口,和/或用于产生视频数据的计算机图形系统,或这些源的组合。
视频编码器20可编码所俘获、预俘获或计算机产生的视频数据。经编码视频数据可经由源装置12的输出接口22直接发射到目的地装置14。经编码视频数据还可存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码和/或播放。
在图1的实例中,目的地装置14包括输入接口28、视频解码器30和显示装置32。在一些状况下,输入接口28可包括接收器和/或调制解调器。目的地装置14的输入接口28经由通道16接收经编码视频数据。经编码视频数据可包括由视频编码器20产生的表示视频数据的多种语法元素。这些语法元素可包括于在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码视频数据内。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包括集成显示装置且还可经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据。显示装置32可包含多种显示装置中的任一者,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可根据视频压缩标准(例如,目前在开发中的高效视频译码(HEVC)标准)而操作,且可符合HEVC测试模型(HM)。即将到来的HEVC标准的最近草案(称作“HEVC工作草案6”或“WD6”)描述于文件JCTVC-H1003,布洛斯(Bross)等人的“High efficiency video coding(HEVC)text specification draft6”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC)第8次会议:美国加州圣何塞,2012年2月)中,其于2012年5月1日可从http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip下载,其全部内容以引用的方式并入本文中。HEVC标准的另一最近草案(称作“HEVC工作草案7”或“WD7”)描述于文件HCTVC-I1003,布洛斯(Bross)等人的“High Efficiency Video Coding(HEVC)Text Specification Draft7”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC)第9次会议:瑞士日内瓦,2012年4月27日到2012年5月7日)中,其于2012年6月5日可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v3.zip下载。
或者,视频编码器20和视频解码器30可根据例如ITU-T H.264标准或者被称作MPEG-4第10部分(高级视频译码(AVC))的其它专属或工业标准或这些标准的扩展而操作。然而,本发明的技术不限于任何特定译码标准或技术。视频压缩标准和技术的其它实例包括MPEG-2、ITU-T H.263和专属或开发原始码压缩格式(例如VP8和相关格式)。
尽管未展示于图1的实例中,但视频编码器20和视频解码器30可各自与音频编码 器和解码器集成,且可包括适当的MUX-DEMUX单元或其它硬件和软件,以处置共同数据串流或单独数据串流中的音频和视频两者的编码。如果可适用,则在一些实例中,MUX-DEMUX单元可遵照ITU H.223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。
再次,图1仅为实例且本发明的技术可应用于视频译码设定(例如,视频编码或视频解码),其未必包括编码装置与解码装置之间的任何数据通信。在其它实例中,数据可被从本地存储器检索、经由网络串流传输或其类似者。编码装置可编码数据且将所述数据存储到存储器,和/或解码装置可从存储器检索数据且解码所述数据。在许多实例中,编码和解码由不与彼此通信而是仅将数据编码到存储器和/或从存储器检索数据且解码所述数据的装置执行。
视频编码器20和视频解码器30各自可实施为多种合适电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。当所述技术部分以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读存储媒体中且可使用一或多个处理器来在硬件中执行指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包括于一或多个编码器或解码器中,其中任一者可集成为相应装置中的组合编码器/解码器(CODEC)的部分。
如上文简短地提及,视频编码器20编码视频数据。视频数据可包含一或多个图片。图片中的每一者为形成视频的部分的静态图像。在一些例子中,图片可称作视频“帧”。当视频编码器20编码视频数据时,视频编码器20可产生位流。位流可包括形成视频数据的经译码表示的位序列。位流可包括经译码图片和相关联的数据。经译码图片为图片的经译码表示。
为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联的数据。相关联的数据可包括序列参数集、图片参数集、调适参数集和其它语法结构。序列参数集(SPS)可含有可应用于零或更多个图片序列的参数。图片参数集(PPS)可含有可应用于零或更多个图片的参数。调适参数集(APS)可含有可应用于零或更多个图片的参数。APS中的参数可为比PPS中的参数更可能改变的参数。
为了产生经译码图片,视频编码器20可将图片分割为视频块。视频块可为二维样本阵列。视频块中的每一者与树块相关联。在一些例子中,树块可称作最大译码单元(LCU)。HEVC的树块可宽泛地类似于先前标准(例如H.264/AVC)的宏块。然而,树块不 一定限于特定大小且可包括一或多个译码单元(CU)。视频编码器20可使用四叉树分割以将树块的视频块分割为与CU相关联的视频块,因此得名“树块”。
在一些实例中,视频编码器20可将图片分割为多个切片。切片中的每一者可包括整数个CU。在一些例子中,切片包含整数个树块。在其它例子中,切片的边界可在树块内。
作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可称作“经译码切片”。
为了产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包含表示树块的经编码版本的数据。
当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片中的树块执行编码操作(即,进行编码)。换句话说,视频编码器20可以跨越切片中的最顶部行的树块从作到右进行,接着跨越下一较低行的树块从左到右进行等等的次序编码切片的树块,直到视频编码器20已编码切片中的树块的每一者为止。
作为根据光栅扫描次序编码树块的结果,给定树块上方和左方的树块可能已编码,但给定树块的下方和右方的树块尚未编码。因此,视频编码器20可能够在编码给定树块时存取通过编码给定树块的上方和左方的树块产生的信息。然而,视频编码器20可能不能在编码给定树块时存取通过编码给定树块的下方和右方的树块产生的信息。
为了产生经译码树块,视频编码器20可递归地对树块的视频块执行四叉树分割以将视频块划分为逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,视频编码器20可将树块的视频块分割为四个同等大小的子块,将子块中的一或多者分割为四个同等大小的子子块等等。已分割CU可为其视频块经分割为与其它CU相关联的视频块的CU。非分割CU可为其视频块未分割为与其它CU相关联的视频块的CU。
位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大次数。CU的视频块形状可为正方形的。CU的视频块的大小(即,CU的大小)可在8×8像素直到具有64×64像素或更大的最大值的树块的视频块大小(即,树块的大小)的范围内。
视频编码器20可根据z扫描次序对树块的每一CU执行编码操作(即,进行编码)。换句话说,视频编码器20可以彼次序编码左上CU、右上CU、左下CU和接着右下CU。当视频编码器20对已分割CU执行编码操作时,视频编码器20可根据z扫描次序编码 与已分割CU的视频块的子块相关联的CU。换句话说,视频编码器20可以所述次序编码与左上子块相关联的CU、与右上子块相关联的CU、与左下子块相关联的CU,和接着与右下子块相关联的CU。
作为根据z扫描次序编码树块的CU的结果,给定CU上方、左上方、右上方、左方和左下方的CU可能已编码。给定CU下方或右方的CU尚未编码。因此,视频编码器20可能够在编码给定CU时存取通过编码与给定CU相邻的一些CU所产生的信息。然而,视频编码器20可能不能在编码给定CU时存取通过编码与给定CU相邻的其它CU所产生的信息。
当视频编码器20编码非分割CU时,视频编码器20可产生用于CU的一或多个预测单元(PU)。CU的PU中的每一者可与CU的视频块内的不同视频块相关联。视频编码器20可产生用于CU的每一PU的预测性视频块。PU的预测性视频块可为样本的块。视频编码器20可使用帧内预测或帧间预测以产生用于PU的预测性视频块。
当视频编码器20使用帧内预测以产生PU的预测性视频块时,视频编码器20可基于与PU相关联的图片的经解码样本来产生PU的预测性视频块。如果视频编码器20使用帧内预测以产生CU的PU的预测性视频块,则CU为帧内预测的CU。当视频编码器20使用帧间预测以产生PU的预测性视频块时,视频编码器20可基于不同于与PU相关联的图片的一或多个图片的经解码样本来产生PU的预测性视频块。如果视频编码器20使用帧间预测以产生CU的PU的预测性视频块,则CU为帧间预测的CU。
此外,当视频编码器20使用帧间预测以产生用于PU的预测性视频块时,视频编码器20可产生用于PU的运动信息。用于PU的运动信息可指示PU的一或多个参考块。PU的每一参考块可为参考图片内的视频块。参考图片可为不同于与PU相关联的图片的图片。在一些例子中,PU的参考块还可称作PU的“参考样本”。视频编码器20可基于PU的参考块产生用于PU的预测性视频块。
在视频编码器20产生用于CU的一或多个PU的预测性视频块之后,视频编码器20可基于用于CU的PU的预测性视频块产生用于CU的残余数据。用于CU的残余数据可指示用于CU的PU的预测性视频块中的样本与CU的原始视频块之间的差异。
此外,作为对非分割CU执行编码操作的部分,视频编码器20可对CU的残余数据执行递归四叉树分割以将CU的残余数据分割为与CU的变换单元(TU)相关联的残余数据的一或多个块(即,残余视频块)。CU的每一TU可与不同残余视频块相关联。
视频译码器20可将一或多个变换应用于与TU相关联的残余视频块以产生与TU相关联的变换系数块(即,变换系数块)。概念上,变换系数块可包含表示变换在频域中的 量值的二维(2D)变换系数矩阵。
在产生变换系数块之后,视频编码器20可对变换系数块执行量化过程。量化一般指代如下过程:量化变换系数以可能地减少用以表示变换系数的数据的量,从而提供进一步压缩。量化过程可减少与变换系数中的一些或全部系数相关联的位深度。举例来说,可在量化期间将n位变换系数向下舍位到m位变换系数,其中n大于m。
视频编码器20可使每一CU与量化参数(QP)值相关联。与CU相关联的QP值可确定视频编码器20如何量化与CU相关联的变换系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的变换系数块的量化程度。
在视频编码器20量化变换系数块之后,视频编码器20可产生表示经量化变换系数块中的变换系数的语法元素集合。视频编码器20可将熵编码操作(例如上下文自适应二进制算术译码(CABAC)操作)应用于这些语法元素中的一些语法元素。
由视频编码器20产生的位流可包括一系列网络抽象层(NAL)单元。NAL单元中的每一者可为含有NAL单元中的数据的类型的指示和含有所述数据的字节的语法结构。举例来说,NAL单元可含有表示序列参数集、图片参数集、经译码切片、补充增强信息(SEI)、存取单元定界符、填充符数据或另一类型的数据的数据。NAL单元中的数据可包括各种语法结构。
视频解码器30可接收由视频编码器20产生的位流。位流可包括由视频编码器20编码的视频数据的经译码表示。当视频解码器30接收位流时,视频解码器30可对位流执行解析操作。当视频解码器30执行解析操作时,视频解码器30可从位流提取语法元素。视频解码器30可基于从位流提取的语法元素重构视频数据的图片。基于语法元素重构视频数据的过程一般可与由视频编码器20执行以产生语法元素的过程互逆。
在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于语法元素产生用于CU的PU的预测性视频块。另外,视频解码器30可反量化与CU的TU相关联的变换系数块。视频解码器30可对变换系数块执行反变换以重构与CU的TU相关联的残余视频块。在产生预测性视频块且重构残余视频块之后,视频解码器30可基于预测性视频块和残余视频块来重构CU的视频块。以此方式,视频解码器30可基于位流中的语法元素来重构CU的视频块。
如上文简短地描述,视频编码器20可使用帧间预测以产生用于CU的PU的预测性视频块和运动信息。在许多例子中,给定PU的运动信息可能与一或多个附近PU(即,其视频块在空间上或时间上在给定PU的视频块附近的PU)的运动信息相同或类似。因为附近PU经常具有类似运动信息,所以视频编码器20可参考附近PU的运动信息来编 码给定PU的运动信息。参考附近PU的运动信息来编码给定PU的运动信息可减少位流中指示给定PU的运动信息所需要的位的数目。
视频编码器20可以各种方式参考附近PU的运动信息来编码给定PU的运动信息。举例来说,视频编码器20可指示给定PU的运动信息与附近PU的运动信息相同。本发明可使用片语“合并模式”来指代指示给定PU的运动信息与附近PU的运动信息相同或可从附近PU的运动信息导出。在另一实例中,视频编码器20可计算用于给定PU的运动向量差(MVD)。MVD指示给定PU的运动向量与附近PU的运动向量之间的差。在此实例中,视频编码器20可将MVD而非给定PU的运动向量包括于给定PU的运动信息中。在位流中表示MVD比表示给定PU的运动向量所需要的位少。本发明可使用片语“高级运动向量预测”(AMVP)模式指代通过使用MVD和识别候选者运动向量的索引值来用信号通知给定PU的运动信息。
为了使用合并模式或AMVP模式来用信号通知给定PU的运动信息,视频编码器20可产生用于给定PU的候选者列表。候选者列表可包括一或多个候选者。用于给定PU的候选者列表中的候选者中的每一者可指定运动信息。由每一候选者指示的运动信息可包括运动向量、参考图片索引和预测方向指示符。候选者列表中的候选者可包括“原始”候选者,其中每一者指示不同于给定PU的PU内的指定候选者位置中的一者的运动信息。
在产生用于PU的候选者列表之后,视频编码器20可从用于PU的候选者列表选择候选者中的一者。举例来说,视频编码器可比较每一候选者与正被译码的PU且可选择具有所要速率-失真性能的候选者。视频编码器20可输出用于PU的候选者索引。候选者索引可识别选定候选者在候选者列表中的位置。
此外,视频编码器20可基于由PU的运动信息指示的参考块产生用于PU的预测性视频块。可基于由用于PU的候选者列表中的选定候选者指示的运动信息确定PU的运动信息。举例来说,在合并模式中,PU的运动信息可与由选定候选者指示的运动信息相同。在AMVP模式中,可基于用于PU的运动向量差(MVD)和由选定候选者指示的运动信息确定PU的运动信息。视频编码器20可如上文所描述处理用于PU的预测性视频块。
当视频解码器30接收到位流时,视频解码器30可产生用于CU的PU中的每一者的候选者列表。由视频解码器30针对PU产生的候选者列表可与由视频编码器20针对PU产生的候选者列表相同。从位流解析得到的语法元素可指示在PU的候选者列表中选定候选者的位置。在产生用于PU的候选者列表之后,视频解码器30可基于由PU的运 动信息指示的一或多个参考块产生用于PU的预测性视频块。视频解码器30可基于由用于PU的候选者列表中的选定候选者指示的运动信息确定PU的运动信息。视频解码器30可基于用于PU的预测性视频块和用于CU的残余视频块重构用于CU的视频块。
图2说明经配置以实施本发明的技术的实例视频编码器20的框图。图2是出于解释的目的而提供且不应视为限制如本发明中广泛地示范和描述的技术。出于解释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可应用于其它译码标准或方法。
在图2的实例中,视频编码器20包括多个功能组件。视频编码器20的功能组件包括预测模块100、残差产生模块102、变换模块104、量化模块106、反量化模块108、反变换模块110、重构模块112、滤波器模块113、经解码图片缓冲器114,和熵编码模块116。预测模块100包括帧间预测模块121、运动估计模块122、运动补偿模块124和帧内预测模块126。在其它实例中,视频编码器20可包括更多、更少或不同功能组件。此外,运动估计模块122和运动补偿模块124可高度集成,但出于解释的目的而在图2的实例中分开地表示。
视频编码器20可接收视频数据。视频编码器20可从各种源接收视频数据。举例来说,视频编码器20可从视频源18(图1)或另一源接收视频数据。视频数据可表示一系列图片。为了编码视频数据,视频编码器20可对图片中的每一者执行编码操作。作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。作为对切片执行编码操作的部分,视频编码器20可对切片中的树块执行编码操作。
作为对树块执行编码操作的部分,预测模块100可对树块的视频块执行四叉树分割以将视频块划分为逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,预测模块100可将树块的视频块分割为四个同等大小的子块,将子块中的一或多者分割为四个同等大小的子子块等等。
与CU相关联的视频块的大小可在8×8样本直到具有64×64样本或更大的最大值的树块的大小的范围内。在本发明中,“N×N”与“N乘N”可互换使用以指就垂直和水平尺寸而言的视频块的样本尺寸,例如,16×16样本或16乘16样本。一般来说,16×16视频块在垂直方向上具有16个样本(y=16)且在水平方向上具有16个样本(x=16)。同样,N×N块一般在垂直方向上具有N个样本且在水平方向上具有N个样本,其中N表示非负整数值。
此外,作为对树块执行编码操作的部分,预测模块100可产生用于树块的阶层式四叉树数据结构。举例来说,树块可对应于四叉树数据结构的根节点。如果预测模块100 将树块的视频块分割为四个子块,则在四叉树数据结构中根节点具有四个子节点。子节点中的每一者对应于与子块中的一者相关联的CU。如果预测模块100将子块中的一者分割为四个子子块,则对应于与子块相关联的CU的节点可具有四个子节点,所述子节点中的每一者对应于与子子块中的一者相关联的CU。
四叉树数据结构的每一节点可含有用于对应树块或CU的语法数据(例如,语法元素)。举例来说,四叉树中的节点可包括指示对应于节点的CU的视频块是否被分割(即,分裂)为四个子块的分裂旗标。用于CU的语法元素可递归地定义,且可取决于CU的视频块是否分裂为子块。其视频块未分割的CU可对应于四叉树数据结构中的叶节点。经译码树块可包括基于用于对应树块的四叉树数据结构的数据。
视频编码器20可对树块的每一非分割CU执行编码操作。当视频编码器20对非分割CU执行编码操作时,视频编码器20产生表示非分割CU的经编码表示的数据。
作为对CU执行编码操作的部分,预测模块100可将CU的视频块分割于CU的一或多个PU当中。视频编码器20和视频解码器30可支持各种PU大小。假定特定CU的大小为2N×2N,视频编码器20和视频解码器30可支持2N×2N或N×N的PU大小以用于帧内预测,和2N×2N、2N×N、N×2N、N×N或类似者的对称PU大小以用于帧间预测。视频编码器20和视频解码器30还可支持用于2N×nU、2N×nD、nL×2N和nR×2N的PU大小的非对称分割以用于帧间预测。在一些实例中,预测模块100可执行几何分割以沿着边界将CU的视频块分割于CU的PU当中,所述边界不与CU的视频块的边以直角相交。
帧间预测模块121可对CU的每一PU执行帧间预测。帧间预测可提供时间压缩。为了对PU执行帧间预测,运动估计模块122可产生用于PU的运动信息。运动补偿模块124可基于不同于与CU相关联的图片的图片(即,参考图片)的运动信息和经解码样本来产生用于PU的预测性视频块。在本发明中,经由通过运动补偿模块124产生的预测性视频块而预测的视频块可称作帧间预测的视频块。
切片可为I切片、P切片或B切片。运动估计模块122和运动补偿模块124可针对CU的PU执行不同操作,此取决于PU在I切片、P切片还是B切片中。在I切片中,所有PU经帧内预测。因此,如果PU在I切片中,则运动估计模块122和运动补偿模块124不对PU执行帧间预测。
如果PU在P切片中,则含有PU的图片与称作“列表0”的参考图片的列表相关联。列表0中的参考图片的每一者含有可用于其它图片的帧间预测的样本。当运动估计模块122关于P切片中的PU执行运动估计操作时,运动估计模块122可在列表0中的参考 图片中搜索用于PU的参考块。PU的参考块可为最紧密地对应于PU的视频块中的样本的样本集合(例如,样本的块)。运动估计模块122可使用多种度量来确定参考图片中的样本集合对应于PU的视频块中的样本的紧密程度。举例来说,运动估计模块122可通过绝对差的总和(SAD)、平方差的总和(SSD)或其它差度量来确定参考图片中的样本集合对应于PU的视频块中的样本的压缩程度。
在识别P切片中的PU的参考块之后,运动估计模块122可产生指示列表0中的含有参考块的参考图片的参考索引和指示PU与参考块之间的空间位移的运动向量。在各种实例中,运动估计模块122可以不同的精度产生运动向量。举例来说,运动估计模块122可以四分之一样本精度、八分之一样本精度或其它分数样本精度产生运动向量。在分数样本精度的状况下,可从参考图片中的整数位置样本值内插得到参考块值。运动估计模块122可输出参考索引和运动向量作为PU的运动信息。运动补偿模块124可基于由PU的运动信息识别的参考块产生PU的预测性视频块。
如果PU位于B切片中,则含有PU的图片可与称作“列表0”和“列表1”的两个参考图片列表相关联。在一些实例中,含有B切片的图片可与为列表0和列表1的组合的列表组合相关联。
此外,如果PU位于B切片中,则运动估计模块122可针对PU执行单向预测或双向预测。当运动估计模块122针对PU执行单向预测时,运动估计模块122可在列表0或列表1的参考图片中搜索用于PU的参考块。运动估计模块122可接着产生指示列表0或列表1中的含有参考块的参考图片的参考索引和指示PU与参考块之间的空间位移的运动向量。运动估计模块122可输出参考索引、预测方向指示符和运动向量作为PU的运动信息。预测方向指示符可指示参考索引指示列表0或列表1中的参考图片。运动补偿模块124可基于由PU的运动信息指示的参考块产生PU的预测性视频块。
当运动估计模块122针对PU执行双向预测时,运动估计模块122可在列表0中的参考图片中搜索用于PU的参考块且还可在列表1中的参考图片中搜索用于PU的另一参考块。运动估计模块122可接着产生指示列表0和列表1中的含有参考块的参考图片的参考索引和指示参考块与PU之间的空间位移的运动向量。运动估计模块122可输出PU的参考索引和运动向量作为PU的运动信息。运动补偿模块124可基于由PU的运动信息指示的参考块产生PU的预测性视频块。
在一些例子中,运动估计模块122不向熵编码模块116输出用于PU的运动信息的完整集合。而是,运动估计模块122可参考另一PU的运动信息来用信号通知PU的运动信息。举例来说,运动估计模块122可确定PU的运动信息充分类似于相邻PU的运 动信息。在此实例中,运动估计模块122可在与PU相关联的语法结构中指示一值,所述值向视频解码器30指示PU具有与相邻PU相同的运动信息或具有可从相邻PU导出的运动信息。在另一实例中,运动估计模块122可在与PU相关联的语法结构中识别与相邻PU相关联的运动候选者和运动向量差(MVD)。MVD指示PU的运动向量和与相邻PU相关联的所指示运动候选者的运动向量之间的差。视频解码器30可使用所指示运动候选者的运动向量和MVD来确定PU的运动向量。通过在用信号通知第二PU的运动信息时参考与第一PU相关联的候选者的运动信息,视频编码器20可能够使用比传达运动向量原本所需的位少的位来用信号通知第二PU的运动信息。
如下文所描述,帧间预测模块121可产生用于CU的每一PU的候选者列表。候选者列表中的一或多者可包括一或多个原始候选者和从原始候选者导出的一或多个额外候选者。
作为对CU执行编码操作的部分,帧内预测模块126可对CU的PU执行帧内预测。帧内预测可提供空间压缩。当帧内预测模块126对PU执行帧内预测时,帧内预测模块126可基于同一图片中的其它PU的经解码样本来产生用于PU的预测数据。用于PU的预测数据可包括预测性视频块和各种语法元素。帧内预测模块126可对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测模块126可使用多个帧内预测模式来产生用于PU的多个预测数据集合。当帧内预测模块126使用帧内预测模式来产生用于PU的预测数据集合时,帧内预测模块126可在与帧内预测模式相关联的方向和/或梯度上跨越PU的视频块从相邻PU的视频块延伸样本。相邻PU可在PU的上方、右上方、左上方或左方,假定用于PU、CU和树块的编码次序为从左到右、从上到下。帧内预测模块126可使用各种数目个帧内预测模式(例如,33种方向性帧内预测模式)。在一些实例中,帧内预测模式的数目可取决于PU的大小。
预测模块100可从由运动补偿模块124针对PU产生的预测数据或由帧内预测模块126针对PU产生的预测数据当中选择用于PU的预测数据。在一些实例中,预测模块100基于预测数据集合的速率/失真度量来选择用于PU的预测数据。
如果预测模块100选择由帧内预测模块126产生的预测数据,则预测模块100可用信号通知用以产生PU的预测数据的帧内预测模式(即,选定帧内预测模式)。预测模块100可以各种方式用信号通知选定帧内预测模式。举例来说,选定帧内预测模式可能与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为用于当前PU的最可能模式。因此,预测模块100可产生指示选定帧内预测模式与相邻PU的帧内预测 模式相同的语法元素。
在预测模块100选择用于CU的PU的预测数据之后,残差产生模块102可通过从CU的视频块减去CU的PU的预测性视频块来产生用于CU的残余数据。CU的残余数据可包括对应于CU的视频块中的样本的不同样本分量的2D残余视频块。举例来说,残余数据可包括对应于CU的PU的预测性视频块中的样本的明度分量与CU的原始视频块中的样本的明度分量之间的差的残余视频块。另外,CU的残余数据可包括对应于CU的PU的预测性视频块中的样本的色度分量与CU的原始视频块中的样本的色度分量之间的差的残余视频块。
预测模块100可执行四叉树分割以便将CU的残余视频块分割为子块。每一未划分残余视频块可与CU的不同TU相关联。与CU的TU相关联的残余视频块的大小和位置可能基于或可能不基于与CU的PU相关联的视频块的大小和位置。称作“残余四叉树”(RQT)的四叉树结构可包括与残余视频块的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
变换模块104可通过将一或多个变换应用于与TU相关联的残余视频块来产生用于CU的每一TU的一或多个变换系数块。变换系数块中的每一者可为2D变换系数矩阵。变换模块104可将各种变换应用于与TU相关联的残余视频块。举例来说,变换模块104可将离散余弦变换(DCT)、方向变换或概念上类似的变换应用于与TU相关联的残余视频块。
在变换模块104产生与TU相关联的变换系数块之后,量化模块106可量化变换系数块中的变换系数。量化模块106可基于与CU相关联的QP值量化与CU的TU相关联的变换系数块。
视频编码器20可以各种方式使QP值与CU相关联。举例来说,视频编码器20可对与CU相关联的树块执行速率-失真分析。在速率-失真分析中,视频编码器20可通过对树块执行编码操作多次而产生树块的多个经译码表示。当视频编码器20产生树块的不同经编码表示时,视频编码器20可使不同QP值与CU相关联。当给定QP值与树块的具有最低速率和失真度量的经译码表示中的CU相关联时,视频编码器20可用信号通知给定QP值与CU相关联。
反量化模块108和反变换模块110可分别将反量化和反变换应用于变换系数块以从变换系数块重构残余视频块。重构模块112可将经重构残余视频块添加到来自由预测模块100产生的一或多个预测性视频块的对应样本以产生与TU相关联的经重构视频块。通过以此方式重构用于CU的每一TU的视频块,视频编码器20可重构CU的视频块。
在重构模块112重构CU的视频块之后,滤波器模块113可执行解块操作以减少与CU相关联的视频块中的块假影。在执行一或多个解块操作之后,滤波器模块113可将CU的经重构视频块存储于经解码图片缓冲器114中。运动估计模块122和运动补偿模块124可使用含有经重构视频块的参考图片来对后续图片的PU执行帧间预测。另外,帧内预测模块126可使用经解码图片缓冲器114中的经重构视频块来对与CU在同一图片中的其它PU执行帧内预测。
熵编码模块116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码模块116可从量化模块106接收变换系数块且可从预测模块100接收语法元素。当熵编码模块116接收数据时,熵编码模块116可执行一或多个熵编码操作以产生经熵编码数据。举例来说,视频编码器20可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变-可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作,或另一类型的熵编码操作。熵编码模块116可输出包括经熵编码数据的位流。
作为对数据执行熵编码操作的部分,熵编码模块116可选择上下文模型。如果熵编码模块116正在执行CABAC操作,则上下文模型可指示特定二进位具有特定值的概率的估计。在CABAC的上下文中,术语“二进位”用以指代语法元素的二进位版本的位。
图3说明经配置以实施本发明的技术的实例视频解码器30的框图。图3是出于解释的目的而提供且不限制本发明中宽泛地例证和描述的技术。出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可应用于其它译码标准或方法。
在图3的实例中,视频解码器30包括多个功能组件。视频解码器30的功能组件包括熵解码模块150、预测模块152、反量化模块154、反变换模块156、重构模块158、滤波器模块159和经解码图片缓冲器160。预测模块152包括运动补偿模块162和帧内预测模块164。在一些实例中,视频解码器30可执行解码回合,所述解码回合大体上与关于图2的视频编码器20所描述的编码回合互逆。在其它实例中,视频解码器30可包括更多、更少或不同功能组件。
视频解码器30可接收包含经编码视频数据的位流。位流可包括多个语法元素。当视频解码器30接收位流时,熵解码模块150可对位流执行解析操作。作为对位流执行解析操作的结果,熵解码模块150可从位流提取语法元素。作为执行解析操作的部分,熵解码模块150可熵解码位流中的经熵编码语法元素。预测模块152、反量化模块154、反变换模块156、重构模块158和滤波器模块159可基于从位流提取的语法元素执行产 生经解码视频数据的重构操作。
如上文所论述,位流可包含一系列NAL单元。位流的NAL单元可包括序列参数集NAL单元、图片参数集NAL单元、SEI NAL单元等等。作为对位流执行解析操作的部分,熵解码模块150可执行解析操作,解析操作提取和熵解码来自序列参数集NAL单元的序列参数集、来自图片参数集NAL单元的图片参数集、来自SEI NAL单元的SEI数据等等。
另外,位流的NAL单元可包括经译码切片NAL单元。作为对位流执行解析操作的部分,熵解码模块150可执行解析操作,解析操作提取和熵解码来自经译码切片NAL单元的经译码切片。经译码切片中的每一者可包括切片标头和切片数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包括识别与含有切片的图片相关联的图片参数集的语法元素。熵解码模块150可对经译码切片标头中的语法元素执行熵解码操作(例如CABAC解码操作)以恢复切片标头。
作为提取来自经译码切片NAL单元的切片数据的部分,熵解码模块150可执行解析操作,解析操作提取来自切片数据中的经译码CU的语法元素。经提取语法元素可包括与变换系数块相关联的语法元素。熵解码模块150可接着对语法元素中的一些执行CABAC解码操作。
在熵解码模块150对非分割CU执行解析操作之后,视频解码器30可对非分割CU执行重构操作。为了对非分割CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过针对CU的每一TU执行重构操作,视频解码器30可重构与CU相关联的残余视频块。
作为对TU执行重构操作的部分,反量化模块154可反量化(即,解量化)与TU相关联的变换系数块。反量化模块154可以类似于针对HEVC提议或由ITU-T H.264译码标准定义的反量化过程的方式反量化变换系数块。反量化模块154可使用由视频编码器20针对变换系数块的CU计算的量化参数QP来确定量化程度,且同样确定供反量化模块154应用的反量化程度。
在反量化模块154反量化变换系数块之后,反变换模块156可产生用于与变换系数块相关联的TU的残余视频块。反变换模块156可将反变换应用于变换系数块以便产生用于TU的残余视频块。举例来说,反变换模块156可将反DCT、反整数变换、反卡忽南-拉维变换(KLT)、反旋转变换、反方向变换,或另一反变换应用于变换系数块。
在一些实例中,反变换模块156可基于来自视频编码器20的信令确定待应用于变换系数块的反变换。在这些实例中,反变换模块156可基于在与变换系数块相关联的树 块的四叉树的根节点处用信号通知变换来确定反变换。在其它实例中,反变换模块156可从一或多个译码特性(例如块大小、译码模式或其类似者)推断反变换。在一些实例中,反变换模块156可应用级联反变换。
如果CU的PU是使用帧间预测而编码,则运动补偿模块162可产生用于PU的候选者列表。位流可包括识别选定候选者在PU的候选者列表中的位置的数据。在产生用于PU的候选者列表之后,运动补偿模块162可基于由PU的运动信息指示的一或多个参考块产生用于PU的预测性视频块。PU的参考块可在与所述PU不同的时间图片中。运动补偿模块162可基于由PU的候选者列表中的选定候选者指示的运动信息确定PU的运动信息。
在一些实例中,运动补偿模块162可通过基于内插滤波器执行内插来改进PU的预测性视频块。待用于具有子样本精度的运动补偿的内插滤波器的识别符可包括于语法元素中。运动补偿模块162可在PU的预测性视频块的产生期间使用由视频编码器20使用的相同内插滤波器,以计算用于参考块的子整数样本的内插值。运动补偿模块162可根据所接收语法信息来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生经预测视频块。
如果PU是使用帧内预测进行编码,则帧内预测模块164可执行帧内预测以产生用于PU的预测性视频块。举例来说,帧内预测模块164可基于位流中的语法元素确定用于PU的帧内预测模式。位流可包括帧内预测模块164可用以确定PU的帧内预测模式的语法元素。
在一些例子中,语法元素可指示帧内预测模块164将使用另一PU的帧内预测模式来确定当前PU的帧内预测模式。举例来说,当前PU的帧内预测模式可能与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为用于当前PU的最可能模式。因此,在此实例中,位流可包括指示PU的帧内预测模式与相邻PU的帧内预测模式相同的小语法元素。帧内预测模块164可接着基于空间相邻PU的视频块而使用帧内预测模式产生用于PU的预测数据(例如,预测性样本)。
重构模块158可在适用时使用与CU的TU相关联的残余视频块和CU的PU的预测性视频块(即,帧内预测数据或帧间预测数据)以重构CU的视频块。因此,视频解码器30可基于位流中的语法元素产生预测性视频块和残余视频块,且可基于预测性视频块和残余视频块产生视频块。
在重构模块158重构CU的视频块之后,滤波器模块159可执行一或多个滤波操作以改进总译码质量。由滤波器模块159执行的滤波操作的实例可包括解块滤波操作、样 本自适应偏移滤波操作和自适应环路滤波操作中的一或多者。在滤波器模块159执行滤波操作之后,视频解码器30可将CU的视频块存储于经解码图片缓冲器160中。经解码图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测和呈现于显示装置(例如图1的显示装置32)上。举例来说,视频解码器30可基于经解码图片缓冲器160中的视频块对其它CU的PU执行帧内预测或帧间预测操作。
图4说明帧间预测模块121的实例配置的概念图。帧间预测模块121可根据多个分割模式将当前CU分割为PU。举例来说,帧间预测模块121可根据2N×2N、2N×N、N×2N和N×N分割模式将当前CU分割为PU。
帧间预测模块121可对PU中的每一者执行整数运动估计(IME)且接着执行分数运动估计(FME)。当帧间预测模块121对PU执行IME时,帧间预测模块121可在一或多个参考图片中搜索用于PU的参考块。在找到用于PU的参考块之后,帧间预测模块121可产生以整数精度指示PU与用于PU的参考块之间的空间位移的运动向量。当帧间预测模块121对PU执行FME时,帧间预测模块121可改进通过对PU执行IME而产生的运动向量。通过对PU执行FME而产生的运动向量可具有子整数精度(例如,1/2像素精度、1/4像素精度等)。在产生用于PU的运动向量之后,帧间预测模块121可使用用于PU的运动向量以产生用于PU的预测性视频块。
在帧间预测模块121使用AMVP模式用信号通知PU的运动信息的一些实例中,帧间预测模块121可产生用于PU的候选者列表。候选者列表可包括一或多个原始候选者和从原始候选者导出的一或多个额外候选者。在产生用于PU的候选者列表之后,帧间预测模块121可从候选者列表选择候选者且产生用于PU的运动向量差(MVD)。用于PU的MVD可指示由选定候选者指示的运动向量与使用IME和FME针对PU产生的运动向量之间的差。在这些实例中,帧间预测模块121可输出识别选定候选者在候选者列表中的位置的候选者索引。帧间预测模块121还可输出PU的MVD。下文详细描述的图6说明实例AMVP操作。
除了通过对PU执行IME和FME来产生用于PU的运动信息的外,帧间预测模块121还可对PU中的每一者执行合并操作。当帧间预测模块121对PU执行合并操作时,帧间预测模块121可产生用于PU的候选者列表。用于PU的候选者列表可包括一或多个原始候选者和从原始候选者导出的一或多个额外候选者。候选者列表中的原始候选者可包括一或多个空间候选者和时间候选者。空间候选者可指示当前图片中的其它PU的运动信息。时间候选者可基于不同于当前图片的图片的并置的PU的运动信息。时间候选者还可称作时间运动向量预测子(TMVP)。
在产生候选者列表之后,帧间预测模块121可从候选者列表选择候选者中的一者。帧间预测模块121可(例如)从候选者列表选择候选者以实现所要经重构视频质量和/或压缩。帧间预测模块121可接着基于由PU的运动信息指示的参考块产生用于PU的预测性视频块。在合并模式中,PU的运动信息可与由选定候选者指示的运动信息相同。下文描述的图5说明实例合并操作的流程图。
在基于IME和FME产生用于PU的预测性视频块之后和在基于合并操作产生用于PU的预测性视频块之后,帧间预测模块121可选择通过FME操作产生的预测性视频块或通过合并操作产生的预测性视频块。在一些实例中,帧间预测模块121可基于通过FME操作产生的预测性视频块和通过合并操作产生的预测性视频块的速率/失真分析来选择用于PU的预测性视频块。
在帧间预测模块121已选择通过根据分割模式中的每一者分割当前CU而产生的PU的预测性视频块之后,帧间预测模块121可选择用于当前CU的分割模式。在一些实例中,帧间预测模块121可基于通过根据分割模式中的每一者分割当前CU而产生的PU的选定预测性视频块的速率/失真分析来选择用于当前CU的分割模式。帧间预测模块121可将与属于选定分割模式的PU相关联的预测性视频块输出到残差产生模块102。帧间预测模块121可将指示属于选定分割模式的PU的运动信息的语法元素输出到熵编码模块116。
在图4的实例中,帧间预测模块121包括IME模块180A到180N(统称为“IME模块180”)、FME模块182A到182N(统称为“FME模块182”)、合并模块184A到184N(统称为“合并模块184”)、PU模式决策模块186A到186N(统称为“PU模式决策模块186”)和CU模式决策模块188。
IME模块180、FME模块182和合并模块184可对当前CU的PU执行IME操作、FME操作和合并操作。图4的实例将帧间预测模块121说明为包括用于CU的每一分割模式的每一PU的单独IME模块180、FME模块182和合并模块184。在其它实例中,帧间预测模块121不包括用于CU的每一分割模式的每一PU的单独IME模块180、FME模块182和合并模块184。
如图4的实例中所说明,IME模块180A、FME模块182A和合并模块184A可对通过根据2N×2N分割模式分割CU而产生的PU执行IME操作、FME操作和合并操作。PU模式决策模块186A可选择由IME模块180A、FME模块182A和合并模块184A产生的预测性视频块中的一者。
IME模块180B、FME模块182B和合并模块184B可对通过根据N×2N分割模式分 割CU而产生的左PU执行IME操作、FME操作和合并操作。PU模式决策模块186B可选择由IME模块180B、FME模块182B和合并模块184B产生的预测性视频块中的一者。
IME模块180C、FME模块182C和合并模块184C可对通过根据N×2N分割模式分割CU而产生的右PU执行IME操作、FME操作和合并操作。PU模式决策模块186C可选择由IME模块180C、FME模块182C和合并模块184C产生的预测性视频块中的一者。
IME模块180N、FME模块182N和合并模块184可对通过根据N×N分割模式分割CU而产生的右下PU执行IME操作、FME操作和合并操作。PU模式决策模块186N可选择由IME模块180N、FME模块182N和合并模块184N产生的预测性视频块中的一者。
PU模式决策模块186可经配置以选择产生所要经重构视频质量和/或所要压缩比的预测性视频块。PU模式决策模块可(例如)基于多个可能预测性视频块的速率-失真分析选择预测性视频块,且选择针对给定译码情形提供最佳速率-失真取舍的预测性视频块。作为一实例,对于带宽受限的应用,PU模式决策模块186可偏向选择增加压缩比的预测性视频块,而对于其它应用,PU模式决策模块186可偏向选择增加经重构视频质量的预测性视频块。在PU模式决策模块186选择用于当前CU的PU的预测性视频块之后,CU模式决策模块188选择用于当前CU的分割模式且输出属于选定分割模式的PU的预测性视频块和运动信息。
图5说明实例合并操作200的流程图。视频编码器(例如视频编码器20)可执行合并操作200。在其它实例中,视频编码器可执行不同于合并操作200的合并操作。举例来说,在其它实例中,视频编码器可执行合并操作,其中视频编码器执行比合并操作200多、少的步骤或与合并操作200不同的步骤。在其它实例中,视频编码器可以不同次序或并行地执行合并操作200的步骤。编码器还可对以跳跃模式编码的PU执行合并操作200。
在视频编码器开始合并操作200之后,视频编码器可产生用于当前PU的候选者列表(202)。视频编码器可以各种方式产生用于当前PU的候选者列表。举例来说,视频编码器可根据下文关于图8到图13B描述的实例技术中的一者产生用于当前PU的候选者列表。
如上文简短地论述,用于当前PU的候选者列表可包括时间候选者。时间候选者可指示并置的PU的运动信息。并置的PU可在空间上与当前PU并置,但在参考图片而非 当前图片中。本发明可将包括并置的PU的参考图片称作相关参考图片。本发明可将相关参考图片的参考图片索引称作相关参考图片索引。如上文所描述,当前图片可与一或多个参考图片列表(例如,列表0、列表1等)相关联。参考图片索引可通过指示在参考图片列表的一者中参考图片的位置来指示参考图片。在一些实例中,当前图片可与组合参考图片列表相关联。
在一些常规视频编码器中,相关参考图片索引为涵盖与当前PU相关联的参考索引源位置的PU的参考图片索引。在这些常规视频编码器中,与当前PU相关联的参考索引源位置紧接于当前PU左方或紧接于当前PU上方。在本发明中,如果与PU相关联的视频块包括特定位置,则PU可“涵盖”所述特定位置。在这些常规视频编码器中,如果参考索引源位置不可用,则视频编码器可使用零的参考图片索引。
然而,可存在以下例子:与当前PU相关联的参考索引源位置在当前CU内。在这些例子中,如果PU在当前CU上方或左方,则涵盖与当前PU相关联的参考索引源位置的PU可被视为可用。然而,视频编码器可需要存取当前CU的另一PU的运动信息以便确定含有并置的PU的参考图片。因此,这些视频编码器可使用属于当前CU的PU的运动信息(即,参考图片索引)以产生用于当前PU的时间候选者。换句话说,这些视频编码器可使用属于当前CU的PU的运动信息产生时间候选者。因此,视频编码器可能不能并行地产生用于当前PU和涵盖与当前PU相关联的参考索引源位置的PU的候选者列表。
根据本发明的技术,视频编码器可在不参考任何其它PU的参考图片索引的情况下显式地设定相关参考图片索引。此可使得视频编码器能够并行地产生用于当前PU和当前CU的其它PU的候选者列表。因为视频编码器显式地设定相关参考图片索引,所以相关参考图片索引不基于当前CU的任何其它PU的运动信息。在视频编码器显式地设定相关参考图片索引的一些实例中,视频编码器可始终将相关参考图片索引设定为固定的预定义预设参考图片索引(例如0)。以此方式,视频编码器可基于由预设参考图片索引指示的参考帧中的并置的PU的运动信息产生时间候选者,且可将时间候选者包括于当前CU的候选者列表中。
在视频编码器显式地设定相关参考图片索引的实例中,视频编码器可显式地在语法结构(例如图片标头、切片标头、APS或另一语法结构)中用信号通知相关参考图片索引。在此实例中,视频编码器可用信号通知用于每一LCU、CU、PU、TU或其它类型的子块的相关参考图片索引。举例来说,视频编码器可用信号通知:用于CU的每一PU的相关参考图片索引等于“1”。
在一些实例(例如下文参看图9A到图9F和图10A到图10F描述的实例)中,相关参考图片索引可经隐式地而非显式地设定。在这些实例中,视频编码器可使用由涵盖当前CU外部的位置的PU的参考图片索引指示的参考图片中的PU的运动信息产生用于当前CU的PU的候选者列表中的每一时间候选者,即使这些位置并不严格地邻近当前PU也如此。
在产生用于当前PU的候选者列表之后,视频编码器可产生与候选者列表中的候选者相关联的预测性视频块(204)。视频编码器可通过基于所指示候选者的运动信息确定当前PU的运动信息和接着基于由当前PU的运动信息指示的一或多个参考块产生预测性视频块来产生与候选者相关联的预测性视频块。视频编码器可接着从候选者列表选择候选者中的一者(206)。视频编码器可以各种方式选择候选者。举例来说,视频编码器可基于对与候选者相关联的预测性视频块的每一者的速率/失真分析来选择候选者中的一者。
在选择候选者之后,视频编码器可输出候选者索引(208)。候选者索引可指示在候选者列表中选定候选者的位置。在一些实例中,候选者索引可表示为“merge_idx”。
图6说明实例AMVP操作210的流程图。视频编码器(例如视频编码器20)可执行AMVP操作210。图6仅为AMVP操作的一实例。
在视频编码器开始AMVP操作210之后,视频编码器可产生用于当前PU的一或多个运动向量(211)。视频编码器可执行整数运动估计和分数运动估计以产生用于当前PU的运动向量。如上文所描述,当前图片可与两个参考图片列表(列表0和列表1)相关联。如果当前PU经单向预测,则视频编码器可产生用于当前PU的列表0运动向量或列表1运动向量。列表0运动向量可指示当前PU的视频块与列表0中的参考图片中的参考块之间的空间位移。列表1运动向量可指示当前PU的视频块与列表1中的参考图片中的参考块之间的空间位移。如果当前PU经双向预测,则视频编码器可产生用于当前PU的列表0运动向量和列表1运动向量。
在产生用于当前PU的一或多个运动向量之后,视频编码器可产生用于当前PU的预测性视频块(212)。视频编码器可基于由用于当前PU的一或多个运动向量指示的一或多个参考块产生用于当前PU的预测性视频块。
另外,视频编码器可产生用于当前PU的候选者列表(213)。视频译码器可以各种方式产生用于当前PU的候选者列表。举例来说,视频编码器可根据下文关于图8到图13B描述的实例技术中的一或多者产生用于当前PU的候选者列表。在一些实例中,当视频编码器在AMVP操作210中产生候选者列表时,候选者列表可限于两个候选者。相比而言,当视频编码器在合并操作中产生候选者列表时,候选者列表可包括更多候选者(例如, 五个候选者)。
在产生用于当前PU的候选者列表之后,视频编码器可产生用于候选者列表中的每一候选者的一或多个运动向量差(MVD)(214)。视频编码器可通过确定由候选者指示的运动向量与当前PU的对应运动向量之间的差来产生用于候选者的运动向量差。
如果当前PU经单向预测,则视频编码器可产生用于每一候选者的单一MVD。如果当前PU经双向预测,则视频编码器可产生用于每一候选者的两个MVD。第一MVD可指示候选者的运动向量与当前PU的列表0运动向量之间的差。第二MVD可指示候选者的运动向量与当前PU的列表1运动向量之间的差。
视频编码器可从候选者列表选择候选者中的一或多者(215)。视频编码器可以各种方式选择一或多个候选者。举例来说,视频编码器可选择具有最紧密地匹配待编码的运动向量的相关联运动向量的候选者,此可减少表示用于候选者的运动向量差所需的位数目。
在选择一或多个候选者之后,视频编码器可输出用于当前PU的一或多个参考图片索引、一或多个候选者索引,和用于一或多个选定候选者的一或多个运动向量差(216)。
在当前图片与两个参考图片列表(列表0和列表1)相关联且当前PU经单向预测的例子中,视频编码器可输出用于列表0的参考图片索引(“ref_idx_10”)或用于列表1的参考图片索引(“ref_idx_11”)。视频编码器还可输出指示用于当前PU的列表0运动向量的选定候选者在候选者列表中的位置的候选者索引(“mvp_10_flag”)。或者,视频编码器可输出指示用于当前PU的列表1运动向量的选定候选者在候选者列表中的位置的候选者索引(“mvp_11_flag”)。视频编码器还可输出用于当前PU的列表0运动向量或列表1运动向量的MVD。
在当前图片与两个参考图片列表(列表0和列表1)相关联且当前PU经双向预测的例子中,视频编码器可输出用于列表0的参考图片索引(“ref_idx_10”)和用于列表1的参考图片索引(“ref_idx_11”)。视频编码器还可输出指示用于当前PU的列表0运动向量的选定候选者在候选者列表中的位置的候选者索引(“mvp_10_flag”)。另外,视频编码器可输出指示用于当前PU的列表1运动向量的选定候选者在候选者列表中的位置的候选者索引(“mvp_11_flag”)。视频编码器还可输出用于当前PU的列表0运动向量的MVD和用于当前PU的列表1运动向量的MVD。
图7说明由视频解码器(例如视频解码器30)执行的实例运动补偿操作220的流程图。图7仅为一实例运动补偿操作。
当视频解码器执行运动补偿操作220时,视频解码器可接收用于当前PU的选定候 选者的指示(222)。举例来说,视频解码器可接收指示选定候选者在当前PU的候选者列表内的位置的候选者索引。
如果当前PU的运动信息是使用AMVP模式进行编码且当前PU经双向预测,则视频解码器可接收第一候选者索引和第二候选者索引。第一候选者索引指示用于当前PU的列表0运动向量的选定候选者在候选者列表中的位置。第二候选者索引指示用于当前PU的列表1运动向量的选定候选者在候选者列表中的位置。在一些实例中,单一语法元素可用以识别两个候选者索引。
另外,视频解码器可产生用于当前PU的候选者列表(224)。视频解码器可以各种方式产生用于当前PU的此候选者列表。举例来说,视频解码器可使用下文参看图8到图15描述的技术来产生用于当前PU的候选者列表。当视频解码器产生用于候选者列表的时间候选者时,视频解码器可显式地或隐式地设定识别包括并置的PU的参考图片的参考图片索引,如上文关于图5所描述。
在产生用于当前PU的候选者列表之后,视频解码器可基于由用于当前PU的候选者列表中的一或多个选定候选者指示的运动信息确定当前PU的运动信息(225)。举例来说,如果当前PU的运动信息是使用合并模式而编码,则当前PU的运动信息可与由选定候选者指示的运动信息相同。如果当前PU的运动信息是使用AMVP模式而编码,则视频解码器可使用由所述或所述选定候选者指示的一或多个运动向量和位流中指示的一或多个MVD来重构当前PU的一或多个运动向量。当前PU的参考图片索引和预测方向指示符可与所述一或多个选定候选者的参考图片索引和预测方向指示符相同。在确定当前PU的运动信息之后,视频解码器可基于由当前PU的运动信息指示的一或多个参考块产生用于当前PU的预测性视频块(226)。
相对于当前视频块的位置(在AMVP中,加上MVD)使用相邻块的运动信息。换句话说,相邻块的MV指代相对于相邻块的运动。当前块的MV指代相对于当前块的运动。因此如果当前块采用相邻块运动信息,则所采用MV定义相对于当前块(而非所采用的MV所源于的相邻块)的运动。
图8说明CU250和与CU250相关联的实例候选者位置252A到252E的概念图。本发明可将候选者位置252A到252E统称为候选者位置252。候选者位置252表示与CU250在同一图片中的空间候选者。候选者位置252A定位于CU250左方。候选者位置252B定位于CU250上方。候选者位置252C定位于CU250右上方。候选者位置252D定位于CU250左下方。候选者位置252E定位于CU250左上方。图8将用以提供帧间预测模块121和运动补偿模块162可产生候选者列表的方式的实例。下文将参考帧间预 测模块121解释实例,但应理解运动补偿模块162可实施相同技术,且因此产生相同候选者列表。
图9说明用于根据本发明的技术重构候选者列表的实例方法的流程图。将参考包括五个候选者的列表描述图9的技术,但本文中所描述的技术还可与具有其它大小的列表一起使用。五个候选者可各自具有合并索引(例如,0到4)。将参考一般视频译码器描述图9的技术。一般视频译码器可(例如)为视频编码器(例如视频编码器20)或视频解码器(例如视频解码器30)。
为了根据图9的实例重构候选者列表,视频译码器首先考虑四个空间候选者(902)。四个空间候选者可(例如)包括候选者位置252A、252B、252C和252D。四个空间候选者对应于与当前CU(例如,CU250)在同一图片中的四个PU的运动信息。视频译码器可以特定次序考虑列表中的四个空间候选者。举例来说,候选者位置252A可被第一个考虑。如果候选者位置252A可用,则候选者位置252A可指派到合并索引0。如果候选者位置252A不可用,则视频译码器可不将候选者位置252A包括于候选者列表中。候选者位置可出于各种理由而不可用。举例来说,如果候选者位置不在当前图片内,则候选者位置可能不可用。在另一实例中,如果候选者位置经帧内预测,则候选者位置可能不可用。在另一实例中,如果候选者位置在与当前CU不同的切片中,则候选者位置可能不可用。
在考虑候选者位置252A之后,视频译码器可接下来考虑候选者位置252B。如果候选者位置252B可用且不同于候选者位置252A,则视频译码器可将候选者位置252B添加到候选者列表。在此特定上下文中,术语“相同”和“不同”指代与候选者位置相关联的运动信息。因此,如果两个候选者位置具有相同运动信息则被视为相同,且如果其具有不同运动信息则被视为不同。如果候选者位置252A不可用,则视频译码器可将候选者位置252B指派到合并索引0。如果候选者位置252A可用,则视频译码器可将候选者位置252指派到合并索引1。如果候选者位置252B不可用或与候选者位置252A相同,则视频译码器跳过候选者位置252B且不将其包括于候选者列表中。
候选者位置252C由视频译码器类似地考虑以供包括于列表中。如果候选者位置252C可用且不与候选者位置252B和252A相同,则视频译码器将候选者位置252C指派到下一可用合并索引。如果候选者位置252C不可用或并非不同于候选者位置252A和252B中的至少一者,则视频译码器不将候选者位置252C包括于候选者列表中。接下来,视频译码器考虑候选者位置252D。如果候选者位置252D可用且不与候选者位置252A、252B和252C相同,则视频译码器将候选者位置252D指派到下一可用合并索引。如果候选者位置252D不可用或并非不同于候选者位置252A、252B和252C中的至少一 者,则视频译码器不将候选者位置252D包括于候选者列表中。尽管以上实例大体上描述个别地考虑候选者252A到252D以供包括于候选者列表中,但在一些实施方案中,可首先将所有候选者252A到252D添加到候选者列表,稍后从候选者列表移除重复。
在视频译码器考虑前四个空间候选者之后,候选者列表可包括四个空间候选者或列表可包括少于四个空间候选者。如果列表包括四个空间候选者(904,是),则视频译码器考虑时间候选者(906)。时间候选者可对应于不同于当前图片的图片的并置的PU的运动信息。如果时间候选者可用且不同于前四个空间候选者,则视频译码器将时间候选者指派到合并索引4。如果时间候选者不可用或与前四个空间候选者中的一者相同,则视频译码器不将所述时间候选者包括于候选者列表中。因此,在视频译码器考虑时间候选者(906)之后,候选者列表可包括五个候选者(框902处考虑的前四个空间候选者和框904处考虑的时间候选者)或可包括四个候选者(框902处考虑的前四个空间候选者)。如果候选者列表包括五个候选者(908,是),则视频译码器完成建构列表。
如果候选者列表包括四个候选者(908,否),则视频译码器可考虑第五空间候选者(910)。第五空间候选者可(例如)对应于候选者位置252E。如果位置252E处的候选者可用且不同于位置252A、252B、252C和252D处的候选者,则视频译码器可将第五空间候选者添加到候选者列表,第五空间候选者经指派到合并索引4。如果位置252E处的候选者不可用或并非不同于候选者位置252A、252B、252C和252D处的候选者,则视频译码器可不将位置252处的候选者包括于候选者列表中。因此在考虑第五空间候选者(910)之后,列表可包括五个候选者(框902处考虑的前四个空间候选者和框910处考虑的第五空间候选者)或可包括四个候选者(框902处考虑的前四个空间候选者)。
如果候选者列表包括五个候选者(912,是),则视频译码器完成产生候选者列表。如果候选者列表包括四个候选者(912,否),则视频译码器添加人工产生的候选者(914)直到列表包括五个候选者(916,是)为止。
如果在视频译码器考虑前四个空间候选者之后,列表包括少于四个空间候选者(904,否),则视频译码器可考虑第五空间候选者(918)。第五空间候选者可(例如)对应于候选者位置252E。如果位置252E处的候选者可用且不同于已包括于候选者列表中的候选者,则视频译码器可将第五空间候选者添加到候选者列表,第五空间候选者经指派到下一可用合并索引。如果位置252E处的候选者不可用或并非不同于已包括于候选者列表中的候选者中的一者,则视频译码器可不将位置252E处的候选者包括于候选者列表中。视频译码器可接着考虑时间候选者(920)。如果时间候选者可用且不同于已包括于候选者列表中的候选者,则视频译码器可将所述时间候选者添加到候选者列表,所述时间候选者 经指派到下一可用合并索引。如果时间候选者不可用或并非不同于已包括于候选者列表中的候选者中的一者,则视频译码器可不将所述时间候选者包括于候选者列表中。
如果在考虑第五空间候选者(框918)和时间候选者(框920)之后,候选者列表包括五个候选者(922,是),则视频译码器完成产生候选者列表。如果候选者列表包括少于五个候选者(922,否),则视频译码器添加人工产生的候选者(914)直到列表包括五个候选者(916,是)为止。
根据本发明的技术,可在空间候选者和时间候选者之后人工产生额外合并候选者以使合并候选者列表的大小固定为合并候选者的指定数目(例如上文图9的实例中的五)。额外合并候选者可包括(例如)经组合双向预测性合并候选者(候选者1)、经缩放双向预测性合并候选者(候选者2),和零向量合并/AMVP候选者(候选者3)。
图10展示经组合合并候选者的实例。经组合双向预测性合并候选者可通过组合原始合并候选者而产生。具体来说,原始候选者中的两个候选者(其具有mvL0和refIdxL0或mvL1和refIdxL1)可用以产生双向预测性合并候选者。图10展示经组合双向预测性合并候选者的实例。在图10中,两个候选者包括于原始合并候选者列表中。一候选者的预测类型为列表0单向预测,且另一候选者的预测类型为列表1单向预测。在此实例中,mvL0_A和ref0是从列表0拾取,且mvL1_B和ref0是从列表1拾取,且接着可产生双向预测性合并候选者(其具有列表0中的mvL0_A和ref0以及列表1中的mvL1_B和ref0)并检查其是否不同于已包括于候选者列表中的候选者。如果其不同,则视频译码器可将双向预测性合并候选者包括于候选者列表中。
图11展示经缩放合并候选者的实例。经缩放双向预测性合并候选者可通过缩放原始合并候选者而产生。具体来说,来自原始候选者的一候选者(其可具有mvLX和refIdxLX)可用以产生双向预测性合并候选者。图11展示经缩放双向预测性合并候选者的实例。在图11的实例中,两个候选者包括于原始合并候选者列表中。一候选者的预测类型为列表0单向预测,且另一候选者的预测类型为列表1单向预测。在此实例中,mvL0_A和ref0可从列表0拾取,且ref0可复制到列表1中的参考索引ref0′。接着,可通过缩放具有ref0和ref0′的mvL0_A而计算mvL0′_A。缩放可取决于POC距离。接着,可产生双向预测性合并候选者(其具有列表0中的mvL0_A和ref0以及列表1中的mvL0′_A和ref0′)并检查其是否为重复的。如果其并非重复的,则可将其添加到合并候选者列表。
图12展示零向量合并候选者的实例。零向量合并候选者可通过组合零向量与可经参考的参考索引而产生。图12展示零向量合并候选者的实例。如果零向量候选者并非 重复的,则可将其添加到合并候选者列表。对于每一产生的合并候选者,运动信息可与列表中的前一候选者的运动信息比较。在一实例中,如果新产生的候选者不同于已包括于候选者列表中的候选者,则将所产生的候选者添加到合并候选者列表。确定候选者是否不同于已包括于候选者列表中的候选者的此过程有时称作修剪。通过修剪,每一新产生的候选者可与列表中的现有候选者比较,此可具有高计算成本。在一些例子中,修剪操作可包括比较一或多个新候选者与已在候选者列表中的候选者和不添加为已在候选者列表中的候选者的重复的新候选者。在其它例子中,修剪操作可包括将一或多个新候选者添加到候选者列表且稍后从所述列表移除重复候选者。
与先前技术相比,在一些例子中,本发明的技术提供简化和改进。在一些实例中,本发明的技术包括将修剪操作限于组合的双向预测候选者,此是指仅将经组合的双向预测候选者与列表中的候选者进行比较。在此实例中,即使运动信息与列表中的一些相同,可能也不比较或修剪所有其它候选者(例如经缩放双向预测性候选者、零候选者和mv_offset候选者)。本发明的技术可另外包括移除经缩放双向预测候选者且不考虑将其包括于候选者列表中。
根据本发明的进一步技术,可添加新候选者(偏移候选者)且将其与零候选者集成以补偿由上述简化引起的任何可能性能损失。可通过将一些偏移mv添加到现有合并候选者的运动向量而产生偏移候选者。可添加的偏移mv可包括(例如)(4,0)、(-4,0)、(0,4)和(0,-4)。这些偏移值可添加到另一运动向量以产生偏移候选者。还可使用不同于所展示的偏移值的偏移值。
以下表1展示Mv_offset候选者的实例。作为表1中所展示的实例,前两个候选者来自空间相邻块和时间相邻块。通过使现有候选者偏移而产生最后三个候选者。
表1Mv_offset候选者实例

合并候选者L0L1备注0mvL0_A,refL0_AmvLI_A,refL1_A现有的1mvL0_B,refL0_B 现有的2mvL0_A+mv_offset(0),refL0_AmvL1_A-mv_offset(0),refL1_A产生的3mvL0_B+mv_offset(0),refL0_B 产生的4mvL0_A+mv_offset(1),refL0_AmvL1_A-mv_offset(1),refL1_A产生的

根据本发明的技术,用于产生mv_offset候选者的过程可包括以下步骤:
1.如果现有合并候选者为单向预测候选者,则可通过将偏移值添加到现有合并候选者的运动向量和复制参考索引来产生基于现有合并候选者的mv_offset候选者,如表1 的合并候选者3所展示。
2.如果现有合并候选者为双向预测候选者,则可通过以下操作来产生基于现有合并候选者的mv_offset候选者:
a.如果L0和L1的两个参考帧来自当前帧的同一侧(向前或向后),则可通过将偏移值添加到指向离当前帧较远的参考帧的运动向量来产生mv_offset候选者。参看例如图13A。
b.如果L0和L1的两个参考帧来自当前帧的不同侧,则可通过将偏移值添加到来自一列表的mv和从来自另一列表的mv减去相同偏移值来产生mv_offset候选者。参看例如图13B。
图13A展示根据以上步骤2(a)产生mv_offset候选者的图形实例。在图13A中,两个参考帧(在此实例中为N-3和N-2)在当前帧的同一侧。在图13A中,两个参考帧相对于当前帧向后,但相同技术可用于两个参考帧相对于当前帧向前的例子。参考帧N-2具有相关联的运动向量mv1,且参考帧N-3具有相关联的运动向量mv2。为了产生人工候选者,将mv_offset添加到指向较远参考帧的运动向量,其在图13A的实例中为参考帧N-3的mv2。因此,在图13A的实例中,人工产生的合并候选者为双向预测候选者,其具有参考帧N-2的运动信息和从参考帧N-3导出的运动信息(mv2+mv_offset)。
图13B展示根据以上步骤2(b)产生mv_offset候选者的图形实例。在图13B中,一参考帧(N-1)相对于当前帧向后,且一参考帧(N+1)相对于当前帧向前。参考帧N-1具有相关联的运动向量mv1,且参考帧N+1具有相关联的运动向量mv2。为了产生人工候选者,将mv_offset添加到一参考帧的运动向量且从另一参考帧的运动向量减去mv_offset。因此,在图13B的实例中,人工产生的合并候选者为双向预测候选者,其具有从参考帧N-1导出的运动信息和从参考帧N+1导出的运动信息。
根据本发明的技术,零候选者可集成到偏移候选者中。在此技术中,可在偏移候选者之前视情况如下添加零候选者:
·如果在空间相邻块和时间相邻块中未找到候选者,则在偏移候选者之前添加mv=(0,0)refidx=0。
·如果在空间相邻块和时间相邻块中已找到候选者mv=(0,0)refidx=0,则在偏移候选者之前添加mv=(0,0)refidx=1。
根据本发明的额外技术,最后额外合并候选者可包括:
候选者1:组合的双向预测候选者(具有修剪操作)
候选者2:与零集成的偏移候选者(无修剪操作)
由于“候选者2”中的候选者不需要修剪,因此候选者1与2可并行地产生。
图14是展示本发明中所描述的技术的实例的流程图。图14的技术可由视频译码器(例如视频编码器20或视频解码器30)执行。视频解码器可确定与当前视频帧的当前部分相关联的空间候选者的集合(142)。空间候选者的集合可对应于邻近当前部分的当前视频帧的相邻部分。每一空间候选者具有相关联的运动信息。视频译码器还可确定与当前视频帧的当前部分相关联的时间候选者(144)。时间候选者对应于参考视频帧的一部分,且时间候选者具有相关联的运动信息。
基于空间候选者的集合的子集和时间候选者,视频译码器可产生候选者列表(146)。响应于候选者列表包括的候选者少于最大数目,视频译码器可将人工产生的候选者添加到候选者列表(148)。人工产生的候选者可具有与所述子集的空间候选者或时间候选者的运动信息相同的运动信息。通过将具有与已包括于列表中的候选者的运动信息相同的运动信息的人工产生的候选者包括于候选者列表中,译码器复杂性可减小。
空间候选者的集合可包括具有相同运动信息的两个或更多空间候选者,而空间候选者的子集仅包括两个或更多空间候选者中的一者。因此,通过移除或修剪空间候选者和包括更多独特候选者,如通过(例如)速率-失真度量测量的视频译码质量可得以改进。修剪空间候选者但不修剪人工产生的候选者的组合可给予提供优良视频译码质量与低复杂性的所要折衷。
在一或多个实例中,所描述的功能可在硬件、软件、固件或其任何组合中实施。如果在软件中实施,则功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体而传输,且通过基于硬件的处理单元执行。计算机可读媒体可包括计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,通信媒体包括(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包括计算机可读媒体。
举例来说而非限制,这些计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光碟存储器、磁盘存储器或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或无线技术(例如红外线、无线电和微波)而从网站、服务器或 其它远端源传输指令,则同轴电缆、光纤缆线、双绞线、DSL或无线技术(例如红外线、无线电和微波)包括于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包括连接、载波、信号或其它暂时性媒体,而是针对非暂时性有形存储媒体。如本文中所使用,磁盘和光碟包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。以上各物的组合也应包括于计算机可读媒体的范围内。
可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指代上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编码解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,所述装置或设备包括无线手机、集成电路(IC)或IC集合(例如,晶片集)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求通过不同硬件单元来实现。而是,如上文所描述,可将各种单元组合于编码解码器硬件单元中,或通过互操作性硬件单元(包括如上文所描述的一或多个处理器)的集合结合合适软件和/或固件来提供所述单元。
已描述各种实例。这些和其它实例在以下权利要求书的范围内。

产生额外合并候选者.pdf_第1页
第1页 / 共43页
产生额外合并候选者.pdf_第2页
第2页 / 共43页
产生额外合并候选者.pdf_第3页
第3页 / 共43页
点击查看更多>>
资源描述

《产生额外合并候选者.pdf》由会员分享,可在线阅读,更多相关《产生额外合并候选者.pdf(43页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104126302A43申请公布日20141029CN104126302A21申请号201280054674922申请日2012110761/556,74620111107US61/562,28420111121US61/562,94020111122US13/669,99220121106USH04N19/119201401H04N19/52201401H04N19/96201401H04N19/10920140171申请人高通股份有限公司地址美国加利福尼亚州72发明人郑云非翔林王马尔塔卡切维奇74专利代理机构北京律盟知识产权代理有限责任公司11287代理人宋献涛54发明名。

2、称产生额外合并候选者57摘要在产生用于帧间预测视频译码的候选者列表时,视频译码器可在将空间候选者和时间候选者添加到候选者列表时执行修剪操作,而在将人工产生的候选者添加到候选者列表时不执行修剪操作。人工产生的候选者可具有与已在候选者列表中的空间候选者或时间候选者的运动信息相同的运动信息。30优先权数据85PCT国际申请进入国家阶段日2014050786PCT国际申请的申请数据PCT/US2012/0639322012110787PCT国际申请的公布数据WO2013/070757EN2013051651INTCL权利要求书4页说明书27页附图11页19中华人民共和国国家知识产权局12发明专利申请权。

3、利要求书4页说明书27页附图11页10申请公布号CN104126302ACN104126302A1/4页21一种对视频数据进行译码的方法,所述方法包含确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分且其中所述空间候选者中的每一者具有相关联的运动信息;确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分且其中所述时间候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,响应于所述候选者列表包含少于指定数目的候选者,将人工产生的候选者添加。

4、到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息相同或与所述时间候选者的运动信息相同的运动信息。2根据权利要求1所述的方法,其中空间候选者的所述集合包含具有相同运动信息的两个或更多空间候选者,且其中空间候选者的所述子集仅包括所述两个或更多空间候选者中的一者。3根据权利要求1所述的方法,其中基于空间候选者的所述集合的所述子集和所述时间候选者产生所述候选者列表包含执行修剪操作以从所述候选者列表排除具有重复运动信息的候选者。4根据权利要求1所述的方法,其中将所述人工产生的候选者添加到所述候选者列表包含在不对所述人工产生的候选者执行一或多个修剪操作的情况下添加所述人工产生。

5、的候选者。5根据权利要求1所述的方法,其中所述人工产生的候选者为非缩放双向预测性候选者。6根据权利要求1所述的方法,其中所述人工产生的候选者为零候选者。7根据权利要求1所述的方法,其中所述人工产生的候选者为运动向量偏移候选者。8根据权利要求1所述的方法,其进一步包含产生第二人工产生的候选者,其中所述人工产生的候选者和所述第二人工产生的候选者并行地产生。9根据权利要求1所述的方法,其进一步包含使用合并模式对所述当前视频帧的所述当前部分进行译码,其中用于所述合并模式的运动信息是基于所述候选者列表而确定。10根据权利要求1所述的方法,其中所述方法由视频编码器执行,其中所述方法进一步包含从所述候选者列。

6、表选择候选者以及产生指示所述选定候选者的索引的语法元素。11根据权利要求1所述的方法,其中所述方法由视频解码器执行,且其中所述方法进一步包含接收识别来自所述候选者列表的候选者的语法元素以及使用所述所识别候选者的运动信息对所述当前视频帧的所述当前部分进行解码。12一种用于对视频数据进行译码的装置,所述装置包含视频译码器,其经配置以确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分且其中所述空间候选者中的每一者具有相关联的运动信息;确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部。

7、分且其中所述时权利要求书CN104126302A2/4页3间候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,响应于所述候选者列表包含少于指定数目的候选者,将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息相同或与所述时间候选者的运动信息相同的运动信息。13根据权利要求12所述的装置,其中空间候选者的所述集合包含具有相同运动信息的两个或更多空间候选者,且其中空间候选者的所述子集仅包括所述两个或更多空间候选者中的一者。14根据权利要求12所述的装置,其中所述视频译码器通过执行修剪操作以从所述候选者列表。

8、排除具有重复运动信息的候选者而基于空间候选者的所述集合的所述子集和所述时间候选者产生所述候选者列表。15根据权利要求12所述的装置,其中所述视频译码器通过在不对所述人工产生的候选者执行一或多个修剪操作的情况下添加所述人工产生的候选者来将所述人工产生的候选者添加到所述候选者列表。16根据权利要求12所述的装置,其中所述人工产生的候选者为非缩放双向预测性候选者。17根据权利要求12所述的装置,其中所述人工产生的候选者为零候选者。18根据权利要求12所述的装置,其中所述人工产生的候选者为运动向量偏移候选者。19根据权利要求12所述的装置,其中所述视频译码器进一步经配置以产生第二人工产生的候选者,其中。

9、所述人工产生的候选者和所述第二人工产生的候选者并行地产生。20根据权利要求12所述的装置,其中所述视频译码器进一步经配置以使用合并模式对所述当前视频帧的所述当前部分进行译码,其中用于所述合并模式的运动信息是基于所述候选者列表而确定。21根据权利要求12所述的装置,其中所述视频译码器为视频编码器且其中所述视频编码器经配置以从所述候选者列表选择候选者以及产生指示所述选定候选者的索引的语法元素。22根据权利要求12所述的装置,其中所述视频译码器为视频解码器,且其中所述视频解码器经配置以接收识别来自所述候选者列表的候选者的语法元素以及使用所述所识别候选者的运动信息对所述当前视频帧的所述当前部分进行解码。

10、。23根据权利要求12所述的装置,其中所述装置包含以下各者中的至少一者集成电路;微处理器;以及,无线通信装置,其包括所述视频译码器。24一种用于对视频数据进行译码的装置,所述装置包含用于确定与当前视频帧的当前部分相关联的空间候选者的集合的装置,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分且其中所述空间候选者中的每一者具有相关联的运动信息;用于确定与所述当前视频帧的所述当前部分相关联的时间候选者的装置,其中所述时间候选者对应于参考视频帧的一部分且其中所述时间候选者具有相关联的运动信息;权利要求书CN104126302A3/4页4用于基于空间候选者的所述集合的子集和所述。

11、时间候选者产生候选者列表的装置;以及,用于响应于所述候选者列表包含少于指定数目的候选者而将人工产生的候选者添加到所述候选者列表的装置,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息相同或与所述时间候选者的运动信息相同的运动信息。25根据权利要求24所述的装置,其中空间候选者的所述集合包含具有相同运动信息的两个或更多空间候选者,且其中空间候选者的所述子集仅包括所述两个或更多空间候选者中的一者。26根据权利要求24所述的装置,其中所述用于基于空间候选者的所述集合的所述子集和所述时间候选者产生所述候选者列表的装置包含用于执行修剪操作以从所述候选者列表排除具有重复运动信息的候选者的装置。。

12、27根据权利要求24所述的装置,其中所述用于将所述人工产生的候选者添加到所述候选者列表的装置包含用于在不对所述人工产生的候选者执行一或多个修剪操作的情况下添加所述人工产生的候选者的装置。28根据权利要求24所述的装置,其中所述人工产生的候选者为非缩放双向预测性候选者。29根据权利要求24所述的装置,其中所述人工产生的候选者为零候选者。30根据权利要求24所述的装置,其中所述人工产生的候选者为运动向量偏移候选者。31根据权利要求24所述的装置,其进一步包含用于产生第二人工产生的候选者的装置,其中所述人工产生的候选者和所述第二人工产生的候选者并行地产生。32根据权利要求24所述的装置,其进一步包含。

13、用于使用合并模式对所述当前视频帧的所述当前部分进行译码的装置,其中用于所述合并模式的运动信息是基于所述候选者列表而确定。33根据权利要求24所述的装置,其中所述装置包含视频编码器,且其中所述装置进一步包含用于从所述候选者列表选择候选者的装置和用于产生指示所述选定候选者的索引的语法元素的装置。34根据权利要求24所述的装置,其中所述装置包含视频解码器,且其中所述装置进一步包含用于接收识别来自所述候选者列表的候选者的语法元素的装置和用于使用所述所识别候选者的运动信息对所述当前视频帧的所述当前部分进行解码的装置。35一种存储指令的计算机可读存储媒体,所述指令在被执行时致使一或多个处理器执行以下操作确。

14、定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分且其中所述空间候选者中的每一者具有相关联的运动信息;确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分且其中所述时间候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,权利要求书CN104126302A4/4页5响应于所述候选者列表包含少于指定数目的候选者而将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息相同或与所述时间候选者的运动信。

15、息相同的运动信息。36根据权利要求35所述的计算机可读存储媒体,其中空间候选者的所述集合包含具有相同运动信息的两个或更多空间候选者,且其中空间候选者的所述子集仅包括所述两个或更多空间候选者中的一者。37根据权利要求35所述的计算机可读存储媒体,其中所述指令致使所述一或多个处理器通过执行修剪操作以从所述候选者列表排除具有重复运动信息的候选者来基于空间候选者的所述集合的所述子集和所述时间候选者产生所述候选者列表。38根据权利要求35所述的计算机可读存储媒体,其中所述指令致使所述一或多个处理器在不对所述人工产生的候选者执行一或多个修剪操作的情况下将所述人工产生的候选者添加到所述候选者列表。39根据权。

16、利要求35所述的计算机可读存储媒体,其中所述人工产生的候选者为非缩放双向预测性候选者。40根据权利要求35所述的计算机可读存储媒体,其中所述人工产生的候选者为零候选者。41根据权利要求35所述的计算机可读存储媒体,其中所述人工产生的候选者为运动向量偏移候选者。42根据权利要求35所述的计算机可读存储媒体,其存储在被执行时致使所述一或多个处理器执行以下操作的其它指令产生第二人工产生的候选者,其中所述人工产生的候选者和所述第二人工产生的候选者并行地产生。43根据权利要求35所述的计算机可读存储媒体,其存储在被执行时致使所述一或多个处理器执行以下操作的其它指令使用合并模式对所述当前视频帧的所述当前部。

17、分进行译码,其中用于所述合并模式的运动信息是基于所述候选者列表而确定。44根据权利要求35所述的计算机可读存储媒体,其中所述一或多个处理器包含视频编码器,其中所述计算机可读存储媒体存储其它指令,所述指令在被执行时致使所述一或多个处理器从所述候选者列表选择候选者以及产生指示所述选定候选者的索引的语法元素。45根据权利要求35所述的计算机可读存储媒体,其中所述一或多个处理器包含视频解码器,其中所述计算机可读存储媒体存储其它指令,所述指令在被执行时致使所述一或多个处理器接收识别来自所述候选者列表的候选者的语法元素以及使用所述所识别候选者的运动信息对所述当前视频帧的所述当前部分进行解码。权利要求书CN。

18、104126302A1/27页6产生额外合并候选者0001本申请案主张以下各者的权益00022011年11月7日申请的美国临时申请案第61/556,746号;00032011年11月21日申请的美国临时申请案第61/562,284号;和00042011年11月22日申请的美国临时申请案61/562,940,0005其中每一者的全部内容以引用的方式并入本文中。技术领域0006本发明涉及视频译码,且更特定来说涉及视频数据的合并模式预测。背景技术0007可将数字视频能力并入于广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理PDA、膝上型或桌上型计算机、数码相机、数字记录装置、。

19、数字媒体播放器、视频游戏装置、视频游戏机、蜂窝式或卫星无线电电话、视频电话会议装置和其类似者。数字视频装置实施视频压缩技术例如,在由MPEG2、MPEG4、ITUTH263、ITUTH264/MPEG4第10部分高级视频译码AVC定义的标准、目前在开发中的高效视频译码HEVC标准和这些标准的扩展中所描述的视频压缩技术以更有效率地发射、接收和存储数字视频信息。0008视频压缩技术执行空间图片内预测和/或时间图片间预测,以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频块分割成视频块,视频块还可被称作树块、译码单元CU和/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测来。

20、编码图片的帧内译码I切片中的视频块。图片的帧间译码P或B切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。发明内容0009本发明描述用于在视频编码器处产生供帧间预测译码使用的候选者列表和用于在视频解码器处产生相同候选者列表的技术。视频编码器和视频解码器可通过实施用于建构候选者列表的相同技术来产生相同候选者列表。举例来说,视频编码器和视频解码器两者可建构具有相同数目的候选者的列表。视频编码器和解码器可首先考虑空间候选者例如,同一图片中的相邻块,接着考虑时间候选者例如,不同图片中的候选者,且最后可考虑。

21、人工产生的候选者,直到将所要数目的候选者添加到列表为止。根据本发明的技术,可在候选者列表建构期间针对某些类型的候选者利用修剪操作,以便从候选者列表移除重复,而对于其它类型的候选者,可能不使用修剪以便减小译码器复杂性。0010在一实例中,一种对视频数据进行译码的方法包括确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分,且其中所述空间候选者中的每一者具有相关联的运动信息;确说明书CN104126302A2/27页7定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分,且其中所述时间。

22、候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,响应于所述候选者列表包含的候选者少于指定数目,将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息或所述时间候选者的运动信息相同的运动信息。0011在另一实例中,一种用于对视频数据进行译码的装置包括视频译码器,所述视频译码器经配置以确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分,且其中所述空间候选者中的每一者具有相关联的运动信息;确定与所述当前视频帧的所述当前部分相关联的时间。

23、候选者,其中所述时间候选者对应于参考视频帧的一部分,且其中所述时间候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,响应于所述候选者列表包含的候选者少于指定数目,将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息或所述时间候选者的运动信息相同的运动信息。0012在另一实例中,一种用于对视频数据进行译码的装置包括用于确定与当前视频帧的当前部分相关联的空间候选者的集合的装置,其中空间候选者的所述集合对应于所述当前视频帧的邻近所述当前部分的相邻部分,且其中所述空间候选者中的每一者具有相关联的运动信息;用于。

24、确定与所述当前视频帧的所述当前部分相关联的时间候选者的装置,其中所述时间候选者对应于参考视频帧的一部分,且其中所述时间候选者具有相关联的运动信息;用于基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表的装置;以及,用于响应于所述候选者列表包含的候选者少于指定数目而将人工产生的候选者添加到所述候选者列表的装置,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息或所述时间候选者的运动信息相同的运动信息。0013在另一实例中,一种计算机可读存储媒体存储在被执行时致使一或多个处理器执行以下操作的指令确定与当前视频帧的当前部分相关联的空间候选者的集合,其中空间候选者的所述集合对应于所。

25、述当前视频帧的邻近所述当前部分的相邻部分,且其中所述空间候选者中的每一者具有相关联的运动信息;确定与所述当前视频帧的所述当前部分相关联的时间候选者,其中所述时间候选者对应于参考视频帧的一部分,且其中所述时间候选者具有相关联的运动信息;基于空间候选者的所述集合的子集和所述时间候选者产生候选者列表;以及,响应于所述候选者列表包含的候选者少于指定数目而将人工产生的候选者添加到所述候选者列表,其中所述人工产生的候选者具有与所述子集的空间候选者的运动信息或所述时间候选者的运动信息相同的运动信息。0014一或多个实例的细节陈述于附图和以下描述中。其它特征、目标和优势将从所述描述和所述图式以及从权利要求书显。

26、而易见。附图说明0015图1说明可利用本发明的技术的实例视频译码系统的框图。0016图2说明经配置以实施本发明的技术的实例视频编码器的框图。说明书CN104126302A3/27页80017图3说明经配置以实施本发明的技术的实例视频解码器的框图。0018图4说明帧间预测模块的实例配置的框图。0019图5说明实例合并操作的流程图。0020图6说明实例高级运动向量预测AMVP操作的流程图。0021图7说明由视频解码器执行的实例运动补偿操作的流程图。0022图8说明译码单元CU和与CU相关联的实例源位置的概念图。0023图9说明实例候选者列表建构操作的流程图。0024图10展示将经组合候选者添加到合。

27、并候选者列表的图形实例。0025图11展示将经缩放候选者添加到合并候选者列表的图形实例。0026图12展示将零候选者添加到合并候选者列表的图形实例。0027图13A和图13B展示产生MV_OFFSET候选者的图形实例。0028图14说明本发明中所描述的技术的实例的流程图。具体实施方式0029视频编码器可执行帧间预测以减少图片之间的时间冗余。如下文所描述,译码单元CU可具有多个预测单元PU。换句话说,多个PU可属于CU。当视频编码器执行帧间预测时,视频编码器可用信号通知用于PU的运动信息。PU的运动信息可包括例如参考图片索引、运动向量和预测方向指示符。运动向量可指示PU的视频块与PU的参考块之间。

28、的位移。PU的参考块可为类似于PU的视频块的参考图片的一部分。参考块可定位于由参考图片索引和预测方向指示符指示的参考图片中。0030为了减少表示PU的运动信息所需要的位的数目,视频编码器可根据合并模式或高级运动向量预测AMVP过程产生用于PU中的每一者的候选者列表。用于PU的候选者列表中的每一候选者可指示运动信息。由候选者列表中的一些候选者指示的运动信息可基于其它PU的运动信息。如果候选者指示指定空间候选者位置或时间候选者位置中的一者的运动信息,则本发明可将所述候选者称作“原始”候选者。举例来说,对于合并模式,可存在五个原始空间候选者位置和一个原始时间候选者位置。在一些实例中,视频编码器可通过。

29、组合来自不同原始候选者的部分运动向量、修改原始候选者或仅插入零运动向量作为候选者来产生额外候选者。这些额外候选者不被视为原始候选者且在本发明中可称作人工产生的候选者。0031本发明的技术一般涉及用于在视频编码器处产生候选者列表的技术和用于在视频解码器处产生相同候选者列表的技术。视频编码器和视频解码器可通过实施用于建构候选者列表的相同技术来产生相同候选者列表。举例来说,视频编码器和视频解码器两者可建构具有相同数目的候选者例如,五个候选者的列表。视频编码器和解码器可首先考虑空间候选者例如,同一图片中的相邻块,接着考虑时间候选者例如,不同图片中的候选者,且最后可考虑人工产生的候选者直到将所要数目的候。

30、选者添加到列表为止。根据本发明的技术,可在候选者列表建构期间针对某些类型的候选者利用修剪操作以便从候选者列表移除重复,而对于其它类型的候选者,可能不使用修剪以便减小译码器复杂性。举例来说,对于空间候选者集合和对于时间候选者,可执行修剪操作以从候选者的列表排除具有重复运动信息的候选者。然而,当将人工产生的候选者添加到候选者的列表时,可在不对人说明书CN104126302A4/27页9工产生的候选者执行修剪操作的情况下添加人工产生的候选者。0032在产生用于CU的PU的候选者列表之后,视频编码器可从候选者列表选择候选者且在位流中输出候选者索引。选定候选者可为具有产生最紧密地匹配正被译码的目标PU的。

31、预测子的运动向量的候选者。候选者索引可指示在候选者列表中选定候选者的位置。视频编码器还可基于由PU的运动信息指示的参考块产生用于PU的预测性视频块。可基于由选定候选者指示的运动信息确定PU的运动信息。举例来说,在合并模式中,PU的运动信息可与由选定候选者指示的运动信息相同。在AMVP模式中,PU的运动信息可基于PU的运动向量差和由选定候选者指示的运动信息确定。视频编码器可基于CU的PU的预测性视频块和用于CU的原始视频块产生用于CU的一或多个残余视频块。视频编码器可接着编码一或多个残余视频块且在位流中输出一或多个残余视频块。0033位流可包括识别PU的候选者列表中的选定候选者的数据。视频解码器。

32、可基于由PU的候选者列表中的选定候选者指示的运动信息确定PU的运动信息。视频解码器可基于PU的运动信息识别用于PU的一或多个参考块。在识别PU的一或多个参考块之后,视频解码器可基于PU的一或多个参考块产生用于PU的预测性视频块。视频解码器可基于用于CU的PU的预测性视频块和用于CU的一或多个残余视频块来重构用于CU的视频块。0034为了易于解释,本发明可将位置或视频块描述为与CU或PU具有各种空间关系。此描述可解译为是指位置或视频块和与CU或PU相关联的视频块具有各种空间关系。此外,本发明可将视频译码器当前在译码的PU称作当前PU。本发明可将视频译码器当前在译码的CU称作当前CU。本发明可将视。

33、频译码器当前在译码的图片称作当前图片。0035附图说明实例。由附图中的参考数字指示的元件对应于由以下描述中的相似参考数字指示的元件。在本发明中,具有以序数词例如,“第一”、“第二”、“第三”等等开始的名称的元件未必暗示元件具有特定次序。而是,这些序数词仅用以指代相同或类似类型的不同元件。0036图1说明可利用本发明的技术的实例视频译码系统10的框图。如本文中所使用描述,术语“视频译码器”一般指代视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”一般可指代视频编码和视频解码。0037如图1中所展示,视频译码系统10包括源装置12和目的地装置14。源装置12产生经编码视频数据。因此。

34、,源装置12可称作视频编码装置。目的地装置14可解码由源装置12产生的经编码视频数据。因此,目的地装置14可称作视频解码装置。源装置12和目的地装置14可为视频译码装置的实例。0038源装置12和目的地装置14可包含广泛范围的装置,包括桌上型计算机、移动计算装置、笔记型例如,膝上型计算机、平板计算机、机顶盒、例如所谓的“智能型”手机的电话手机、电视、相机、显示装置、数字媒体播放器、视频游戏机、车用计算机或其类似者。在一些实例中,源装置12和目的地装置14可经配备以用于无线通信。0039目的地装置14可经由通道16从源装置12接收经编码视频数据。通道16可包含能够将经编码视频数据从源装置12移动。

35、到目的地装置14的一类型的媒体或装置。在一实例中,通道16可包含使得源装置12能够即时地将经编码视频数据直接发射到目的地装置14的通信媒体。在此实例中,源装置12可根据通信标准例如无线通信协议调制经编码视频数据,且可将经调制视频数据发射到目的地装置14。通信媒体可包含无线或有线通信说明书CN104126302A5/27页10媒体,例如射频RF频谱或一或多个物理传输线。通信媒体可形成基于包的网络例如,局域网络、广域网络或例如因特网的全球网络的部分。通信媒体可包括路由器、交换器、基站或促进从源装置12到目的地装置14的通信的其它设备。0040在另一实例中,通道16可对应于存储由源装置12产生的经编。

36、码视频数据的存储媒体。在此实例中,目的地装置14可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包括多种本端存取的数据存储媒体,例如蓝光光碟、DVD、CDROM、快闪存储器或用于存储经编码视频数据的其它合适数字存储媒体。在另一实例中,通道16可包括文件服务器或存储由源装置12产生的经编码视频的另一中间存储装置。在此实例中,目的地装置14可经由串流或下载存取存储于文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的一类型的服务器。实例文件服务器包括网络服务器例如,用于网站、文件传送协议FTP服务器、网络附接存储NAS装置和本。

37、地磁盘驱动器。目的地装置14可经由标准数据连接包括因特网连接存取经编码视频数据。数据连接的实例类型可包括无线通道例如,WIFI连接、有线连接例如,DSL、缆线调制解调器等或适合用于存取存储于文件服务器上的经编码视频数据的无线通道与有线连接的组合。经编码视频数据从文件服务器的传输可为串流传输、下载传输,或两者的组合。0041本发明的技术不限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视传输、卫星电视传输、例如经由因特网的串流视频传输、数字视频的编码以供存储于数据存储媒体上、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,视频译。

38、码系统10可经配置以支持单向或双向视频传输以支持例如视频串流、视频播放、视频广播和/或视频电话的应用。0042在图1的实例中,源装置12包括视频源18、视频编码器20和输出接口22。在一些状况下,输出接口22可包括调制器/解调器调制解调器和/或发射器。在源装置12中,视频源18可包括例如视频俘获装置的源,例如视频摄影机、含有先前俘获的视频数据的视频存档、从视频内容提供者接收视频数据的视频馈送接口,和/或用于产生视频数据的计算机图形系统,或这些源的组合。0043视频编码器20可编码所俘获、预俘获或计算机产生的视频数据。经编码视频数据可经由源装置12的输出接口22直接发射到目的地装置14。经编码视。

39、频数据还可存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码和/或播放。0044在图1的实例中,目的地装置14包括输入接口28、视频解码器30和显示装置32。在一些状况下,输入接口28可包括接收器和/或调制解调器。目的地装置14的输入接口28经由通道16接收经编码视频数据。经编码视频数据可包括由视频编码器20产生的表示视频数据的多种语法元素。这些语法元素可包括于在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码视频数据内。0045显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包括集成显示装置且还可经配置以与外部显示装置介接。。

40、在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据。显示装置32可包含多种显示装置中的任一者,例如液晶显示器LCD、等离子体显示器、有机发光二极管OLED显示器或另一类型的显示装置。说明书CN104126302A106/27页110046视频编码器20和视频解码器30可根据视频压缩标准例如,目前在开发中的高效视频译码HEVC标准而操作,且可符合HEVC测试模型HM。即将到来的HEVC标准的最近草案称作“HEVC工作草案6”或“WD6”描述于文件JCTVCH1003,布洛斯BROSS等人的“HIGHEFCIENCYVIDEOCODINGHEVCTEXTSPE。

41、CICATIONDRAFT6”ITUTSG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作小组JCTVC第8次会议美国加州圣何塞,2012年2月中,其于2012年5月1日可从HTTP/PHENIXINTEVRYFR/JCT/DOC_END_USER/DOCUMENTS/8_SAN20JOSE/WG11/JCTVCH1003V22ZIP下载,其全部内容以引用的方式并入本文中。HEVC标准的另一最近草案称作“HEVC工作草案7”或“WD7”描述于文件HCTVCI1003,布洛斯BROSS等人的“HIGHEFCIENCYVIDEOCODINGHEVCTEXTSPECICATI。

42、ONDRAFT7”ITUTSG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作小组JCTVC第9次会议瑞士日内瓦,2012年4月27日到2012年5月7日中,其于2012年6月5日可从HTTP/PHENIXITSUDPARISEU/JCT/DOC_END_USER/DOCUMENTS/9_GENEVA/WG11/JCTVCI1003V3ZIP下载。0047或者,视频编码器20和视频解码器30可根据例如ITUTH264标准或者被称作MPEG4第10部分高级视频译码AVC的其它专属或工业标准或这些标准的扩展而操作。然而,本发明的技术不限于任何特定译码标准或技术。视频压缩标准。

43、和技术的其它实例包括MPEG2、ITUTH263和专属或开发原始码压缩格式例如VP8和相关格式。0048尽管未展示于图1的实例中,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包括适当的MUXDEMUX单元或其它硬件和软件,以处置共同数据串流或单独数据串流中的音频和视频两者的编码。如果可适用,则在一些实例中,MUXDEMUX单元可遵照ITUH223多路复用器协议,或例如用户数据报协议UDP的其它协议。0049再次,图1仅为实例且本发明的技术可应用于视频译码设定例如,视频编码或视频解码,其未必包括编码装置与解码装置之间的任何数据通信。在其它实例中,数据可被从本地存储器检索、。

44、经由网络串流传输或其类似者。编码装置可编码数据且将所述数据存储到存储器,和/或解码装置可从存储器检索数据且解码所述数据。在许多实例中,编码和解码由不与彼此通信而是仅将数据编码到存储器和/或从存储器检索数据且解码所述数据的装置执行。0050视频编码器20和视频解码器30各自可实施为多种合适电路中的任一者,例如一或多个微处理器、数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA、离散逻辑、硬件或其任何组合。当所述技术部分以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读存储媒体中且可使用一或多个处理器来在硬件中执行指令以执行本发明的技术。视频编码器20和视频解码器。

45、30中的每一者可包括于一或多个编码器或解码器中,其中任一者可集成为相应装置中的组合编码器/解码器CODEC的部分。0051如上文简短地提及,视频编码器20编码视频数据。视频数据可包含一或多个图片。图片中的每一者为形成视频的部分的静态图像。在一些例子中,图片可称作视频“帧”。当视频编码器20编码视频数据时,视频编码器20可产生位流。位流可包括形成视频数据的经译码表示的位序列。位流可包括经译码图片和相关联的数据。经译码图片为图片的经说明书CN104126302A117/27页12译码表示。0052为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对图片执行编码操作时。

46、,视频编码器20可产生一系列经译码图片和相关联的数据。相关联的数据可包括序列参数集、图片参数集、调适参数集和其它语法结构。序列参数集SPS可含有可应用于零或更多个图片序列的参数。图片参数集PPS可含有可应用于零或更多个图片的参数。调适参数集APS可含有可应用于零或更多个图片的参数。APS中的参数可为比PPS中的参数更可能改变的参数。0053为了产生经译码图片,视频编码器20可将图片分割为视频块。视频块可为二维样本阵列。视频块中的每一者与树块相关联。在一些例子中,树块可称作最大译码单元LCU。HEVC的树块可宽泛地类似于先前标准例如H264/AVC的宏块。然而,树块不一定限于特定大小且可包括一或。

47、多个译码单元CU。视频编码器20可使用四叉树分割以将树块的视频块分割为与CU相关联的视频块,因此得名“树块”。0054在一些实例中,视频编码器20可将图片分割为多个切片。切片中的每一者可包括整数个CU。在一些例子中,切片包含整数个树块。在其它例子中,切片的边界可在树块内。0055作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可称作“经译码切片”。0056为了产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频编码器20对树块执行编码操作时,。

48、视频编码器20可产生经译码树块。经译码树块可包含表示树块的经编码版本的数据。0057当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片中的树块执行编码操作即,进行编码。换句话说,视频编码器20可以跨越切片中的最顶部行的树块从作到右进行,接着跨越下一较低行的树块从左到右进行等等的次序编码切片的树块,直到视频编码器20已编码切片中的树块的每一者为止。0058作为根据光栅扫描次序编码树块的结果,给定树块上方和左方的树块可能已编码,但给定树块的下方和右方的树块尚未编码。因此,视频编码器20可能够在编码给定树块时存取通过编码给定树块的上方和左方的树块产生的信息。然而,视频编码器20。

49、可能不能在编码给定树块时存取通过编码给定树块的下方和右方的树块产生的信息。0059为了产生经译码树块,视频编码器20可递归地对树块的视频块执行四叉树分割以将视频块划分为逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,视频编码器20可将树块的视频块分割为四个同等大小的子块,将子块中的一或多者分割为四个同等大小的子子块等等。已分割CU可为其视频块经分割为与其它CU相关联的视频块的CU。非分割CU可为其视频块未分割为与其它CU相关联的视频块的CU。0060位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大次数。CU的视频块形状可为正方形的。CU的视频块的大小即,CU的大小可在88像素直到具有6464像素或更大的最大值的树块的视频块大小即,树块的大小的范围内。0061视频编码器20可根据Z扫描次序对树块的每一CU执行编码操作即,进行编码。换句话说,视频编码器20可以彼次序编码左上CU、右上CU、左下CU和接着右下CU。当视频编码器20对已分割CU执行编码操作时,视频编码器20可根据Z扫描次序编码与已分割CU说明书CN104126302A128/27页13的视频块的子块相关联的CU。换句话说,视频编码器20可以所述次序编码与左上子块相关联的CU、与右上子块相关联的CU、与左下子块相关联的CU,和接着与右下子块相关联的CU。0062作为根据Z。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1