B切片中的预测单元限于单向帧间预测的制作方法

文档序号:7791240阅读:130来源:国知局
B切片中的预测单元限于单向帧间预测的制作方法
【专利摘要】一种计算装置确定B切片中的预测单元PU是否限于单向帧间预测。另外,所述计算装置产生所述PU的合并候选者列表且确定所述合并候选者列表中的选定合并候选者。如果所述PU限于单向帧间预测,那么所述计算装置基于与所述选定合并候选者指定的运动信息相关联的不超过一个参考块产生所述PU的预测视频块。如果所述PU不限于单向帧间预测,那么所述计算装置基于与所述选定合并候选者指定的所述运动信息相关联的一或多个参考块产生所述PU的所述预测视频块。
【专利说明】B切片中的预测单元限于单向帧间预测
[0001] 本申请案主张2012年2月8日申请的第61/596,597号美国临时专利申请案以及 2012年4月11日申请的第61/622,968号美国临时专利申请案的权益,所述专利申请案的 每一者的全部内容以引用的方式并入本文中。

【技术领域】
[0002] 本发明涉及视频译码,且特定来说涉及视频译码中的帧间预测。

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


【发明内容】

[0006] 大体来说,本发明描述用于视频译码过程中的帧间预测的技术。视频译码器确定B 切片中的预测单元(PU)是否限于单向帧间预测。另外,视频译码器产生TO的合并候选者 列表且确定合并候选者列表中的选定合并候选者。如果PU限于单向帧间预测,那么视频译 码器基于与选定合并候选者指定的运动信息相关联的不超过一个参考块产生PU的预测视 频块。如果PU不限于单向帧间预测,那么视频译码器基于与选定合并候选者指定的运动信 息相关联的一或多个参考块产生PU的预测视频块。
[0007] 在一个方面中,本发明描述一种用于对视频数据进行译码的方法。所述方法包括 确定B切片中的PU是否限于单向帧间预测。所述方法还包括产生PU的合并候选者列表。 另外,所述方法包括确定合并候选者列表中的选定合并候选者。另外,所述方法包括在PU 限于单向帧间预测的情况下基于与选定合并候选者指定的运动信息相关联的不超过一个 参考块产生PU的预测视频块。所述方法还包括在TO不限于单向帧间预测的情况下基于与 选定合并候选者指定的运动信息相关联的一或多个参考块产生PU的预测视频块。
[0008] 在另一方面中,本发明描述一种视频译码装置,其包括经配置以确定B切片中的 PU是否限于单向帧间预测的一或多个处理器。所述一或多个处理器还经配置以产生TO的 合并候选者列表且确定合并候选者列表中的选定合并候选者。所述一或多个处理器经配置 使得如果PU限于单向帧间预测,那么所述一或多个处理器基于与选定合并候选者指定的 运动信息相关联的不超过一个参考块产生PU的预测视频块。此外,所述一或多个处理器经 配置使得如果PU不限于单向帧间预测,那么所述一或多个处理器基于与选定合并候选者 指定的运动信息相关联的一或多个参考块产生PU的预测视频块。
[0009] 在另一方面中,本发明描述一种视频译码装置,其包括用于确定B切片中的PU是 否限于单向帧间预测的装置。所述视频译码装置还包括用于产生PU的合并候选者列表的 装置。另外,所述视频译码装置包括用于确定合并候选者列表中的选定合并候选者的装置。 所述视频译码装置还包括用于在PU限于单向帧间预测的情况下基于与选定合并候选者指 定的运动信息相关联的不超过一个参考块产生PU的预测视频块的装置。所述视频译码装 置还包括用于在PU不限于单向帧间预测的情况下基于与选定合并候选者指定的运动信息 相关联的一或多个参考块产生PU的预测视频块的装置。
[0010] 在另一方面中,本发明描述一种计算机程序产品,其包括存储指令的一或多个计 算机可读存储媒体,所述指令当执行时配置一或多个处理器以确定B切片中的PU是否限于 单向帧间预测。所述指令还配置所述一或多个处理器以产生PU的合并候选者列表,且确定 合并候选者列表中的选定合并候选者。如果PU限于单向帧间预测,那么所述指令配置所述 一或多个处理器以基于与选定合并候选者指定的运动信息相关联的不超过一个参考块产 生PU的预测视频块。如果ro不限于单向帧间预测,那么所述指令配置所述一或多个处理 器以基于与选定合并候选者指定的运动信息相关联的一或多个参考块产生PU的预测视频 块。
[0011] -或多个实例的细节在附图和以下描述中陈述。从描述内容和图式并从权利要求 书将明白其它特征、目的和优点。

【专利附图】

【附图说明】
[0012] 图1是说明可利用本发明中描述的技术的实例视频译码系统的框图。
[0013] 图2是说明经配置以实施本发明中描述的技术的实例视频编码器的框图。
[0014] 图3是说明经配置以实施本发明中描述的技术的实例视频解码器的框图。
[0015] 图4是说明实例运动补偿操作的流程图。
[0016] 图5是说明另一实例运动补偿操作的流程图。
[0017] 图6是说明用于产生合并候选者列表的实例操作的流程图。
[0018] 图7是说明用于产生人为合并候选者的实例过程的流程图。
[0019] 图8是说明用于使用先进运动向量预测模式确定预测单元的运动信息的实例操 作的流程图。

【具体实施方式】
[0020] 如下文描述,图片可划分为一或多个切片。切片的每一者可包含整数数目的译码 单元(CU)。每一 CU可具有一或多个预测单元(PU)。切片可为I切片、P切片或B切片。在 I切片中,所有PU经帧内预测。视频编码器可对P切片中的ro执行帧内预测或单向帧间预 测。当视频编码器对P切片中的PU执行单向帧间预测时,视频编码器可识别或合成参考图 片的第一列表("列表〇")中列举的参考图片中的参考样本。参考块可为参考图片内的参 考样本的块。参考样本可对应于参考块中的实际像素,或例如通过使用实际像素进行内插 而合成的像素。视频编码器可接着基于PU的参考块产生ro的预测视频块。
[0021] 视频编码器可对B切片中的PU执行列表0单向帧间预测、列表1单向帧间预测或 双向帧间预测。当视频编码器对PU执行列表0单向帧间预测时,视频编码器可识别列表0 中列举的参考图片中的参考块或基于列表0中列举的参考图片中的参考样本合成参考块。 视频编码器可接着基于参考块产生PU的预测视频块。当视频编码器对ro执行列表1单向 帧间预测时,视频编码器可识别第二参考图片列表("列表1")中列举的参考图片中的参 考块或可基于列表1中列举的参考图片中的参考样本合成参考块。视频编码器可接着基于 参考块产生PU的预测视频块。当视频编码器对ro执行双向帧间预测时,视频编码器可识 别列表0中列举的参考图片中的参考块或基于列表0中列举的参考图片中的参考样本合成 参考块。另外,当视频编码器对PU执行双向帧间预测时,视频编码器可识别列表1中列举 的参考图片中的参考块或基于列表1中列举的参考图片中的参考样本合成参考块。视频编 码器可接着基于两个参考块产生PU的预测视频块。
[0022] 视频编码器可信令TO的运动信息以使视频解码器能够识别或合成视频编码器用 于产生PU的预测视频块的参考块。PU的运动信息可包含一或多个运动向量、参考图片索 弓丨,和指示帧间预测是否基于列表0和/或列表1的旗标。在一些例子中,视频编码器可使 用合并模式信令PU的运动信息。当视频编码器使用合并模式信令ro的运动信息时,视频 编码器可产生PU的合并候选者列表。合并候选者列表可包含多个合并候选者,其每一者指 定运动信息的集合。
[0023] 如果合并候选者指定识别列表0或列表1中列举的参考图片中的单一位置的运动 信息,那么合并候选者可为单向合并候选者。如果参考块中的样本基于运动信息识别的参 考图片中的运动信息所识别的位置处的样本来确定,那么参考块可与运动信息的集合相关 联。举例来说,如果参考块中的样本与运动信息识别的参考图片中的运动信息所识别的位 置处的视频块中的样本相同,那么参考块可与运动信息的集合相关联。如果参考块中的样 本从运动信息识别的参考帧中的运动信息所识别的位置处的视频块中的样本合成(例如, 内插),那么参考块也可与运动信息的集合相关联。
[0024] 如果合并候选者指定识别列表0中列举的参考图片中的位置和列表1中列举的参 考图片中的位置的运动信息,那么合并候选者可为双向合并候选者。视频编码器可基于空 间上与不同图片中的当前PU和/或协同定位ro相邻的PU的运动信息产生合并候选者指 定的运动信息。在产生当前PU的合并列表之后,视频编码器可选择合并候选者列表中的合 并候选者的一者,且信令选定合并候选者的合并候选者列表内的位置。视频解码器可基于 选定合并候选者指定的运动信息确定当前PU的运动信息。
[0025] 依据操作和所需存储器带宽,基于两个参考块产生TO的预测视频块可比基于单 一参考块产生PU的预测视频块要复杂。与基于两个参考块产生预测视频块相关联的复杂 性可随B切片中的双向帧间预测PU的数目增加而增力口。当小双向帧间预测PU的数目增加 时,可能尤其如此。因此,可有利地将B切片中的一些PU限于单向帧间预测。
[0026] 视频编码器可通过仅从TO的合并候选者列表选择单向合并候选者而将B切片中 的PU限于单向帧间预测。然而,在一些例子中,合并候选者列表可不包含任何单向合并候 选者。在此类例子中,视频编码器可不能使用合并模式信令PU的运动信息。这可减小译码 性能。此外,即使合并候选者列表包含至少一个单向合并候选者,如果与单向合并候选者指 定的运动信息相关联的参考块不充分类似于与PU相关联的视频块,那么译码效率也可减 小。
[0027] 根据本发明的技术,视频译码器(例如,视频编码器或视频解码器)可确定B切片 中的PU是否限于单向帧间预测。举例来说,视频译码器可确定在TO的大小特性小于特定 阈值的情况下PU限于单向帧间预测。TO的大小特性可为与PU相关联的视频块的大小的特 性,例如与PU相关联的视频块的高度、宽度、对角长度等。另外,视频译码器可产生PU的合 并候选者列表且确定合并候选者列表中的选定合并候选者。如果PU限于单向帧间预测,那 么视频译码器可基于与选定合并候选者指定的运动信息相关联的不超过一个参考块产生 PU的预测视频块。如果TO不限于单向帧间预测,那么视频译码器可基于与选定合并候选 者指定的运动信息相关联的一或多个参考块产生PU的预测视频块。通过以此方式将一些 PU限于单向帧间预测,视频译码器可减小与基于多个参考块产生预测视频块相关联的复杂 性。这可增加视频译码器能够对视频数据进行译码的速度且可减小数据带宽要求。
[0028] 为便于阐释,本发明可将位置或视频块描述为具有与CU或PU的各种空间关系。此 描述可解释为意味着位置或视频块具有与同CU或PU相关联的视频块的各种空间关系。此 夕卜,本发明可提到视频译码器当前正作为当前PU译码的PU。本发明可提到视频译码器当前 正作为当前CU译码的CU。本发明可提到视频译码器当前正作为当前图片译码的图片。

【专利附图】
附图
【附图说明】 [0029] 实例。附图中的参考数字指示的元件对应于以下描述中的相同参考数字 指示的元件。本发明中,具有以序数词(例如,"第一"、"第二"、"第三"等)开始的名称的 元件不一定暗示所述元件具有特定次序。而是,此类序数词仅用于指代相同或类似类型的 不同元件。
[0030] 图1是说明可利用本发明的技术的实例视频译码系统10的框图。如本文所描述 而使用,术语"视频译码器"一般指代视频编码器和视频解码器两者。在本发明中,术语"视 频译码"或"译码"可一般指代视频编码或视频解码。
[0031] 如图1所示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经 编码视频数据。因此,源装置12可称为视频编码装置或视频编码设备。目的地装置14可 解码源装置12产生的经编码视频数据。因此,目的地装置14可称为视频解码装置或视频 解码设备。源装置12和目的地装置14可为视频译码装置或视频译码设备的实例。
[0032] 源装置12和目的地装置14可包括广范围的装置,包含台式计算机、移动计算装 置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的"智能"电话等电话手 持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机等。在一些实 例中,源装置12和目的地装置14可经装备用于无线通信。
[0033] 目的地装置14可经由信道16从源装置12接收经编码视频数据。信道16可包括 能够将经编码视频数据从源装置12移动到目的地装置14的类型的媒体或装置。在一个实 例中,信道16可包括使源装置12能够实时将经编码视频数据直接发射到目的地装置14的 通信媒体。在此实例中,源装置12可根据例如无线通信协议等通信标准调制经编码视频数 据,且可将经调制视频数据发射到目的地装置14。通信媒体可包括无线或有线通信媒体,例 如射频(RF)频谱或一或多个物理发射线路。通信媒体可形成基于包的网络的一部分,例如 局域网、广域网或全球网络(例如,因特网)。通信媒体可包含路由器、开关、基站,或促进从 源装置12到目的地装置14的通信的其它设备。
[0034] 在另一实例中,信道16可对应于存储源装置12产生的经编码视频数据的存储媒 体。在此实例中,目的地装置14可经由磁盘存取或卡存取而存取存储媒体。存储媒体可包 含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、⑶-ROM、快闪存储器,或用于存储经 编码视频数据的其它适宜的数字存储媒体。在另一实例中,信道16可包含文件服务器或存 储源装置12产生的经编码视频的另一中间存储装置。在此实例中,目的地装置14可经由 串流或下载存取存储在文件服务器或其它中间存储装置处的经编码视频数据。文件服务 器可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的类型的服务 器。实例文件服务器包含网络服务器(例如,针对网站)、文件传送协议(FTP)服务器、网 络附接存储(NAS)装置和本地磁盘驱动器。目的地装置14可经由标准数据连接(包含因 特网连接)存取经编码视频数据。数据连接的实例类型可包含无线信道(例如,Wi-Fi连 接)、有线连接(例如,DSL、电缆调制解调器等),或适于存取存储在文件服务器上的经编码 视频数据的两者的组合。经编码视频数据从文件服务器的发射可为串流发射、下载发射,或 两者的组合。
[0035] 本发明的技术不限于无线应用或设置。所述技术可应用于视频译码以支持多种多 媒体应用的任一者,例如空中电视广播、电缆电视发射、卫星电视发射、串流视频发射(例 如,经由因特网)、编码数字视频以供存储在数据存储媒体上、解码存储在数据存储媒体上 的数字视频,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视 频发射以支持例如视频串流、视频重放、视频广播和/或视频电话等应用。
[0036] 在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口 22。在一 些情况下,输出接口 22可包含调制器/解调器(调制解调器)和/或发射器。在源装置12 中,视频源18可包含例如视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视 频档案、用以从视频内容提供者接收视频数据的视频馈送接口,和/或用于产生视频数据 的计算机图形系统等源,或此类源的组合。
[0037] 视频编码器20可编码所俘获、预先俘获或计算机产生的视频数据。经编码视频数 据可经由源装置12的输出接口 22直接发射到目的地装置14。经编码视频数据还可存储到 存储媒体或文件服务器上以供随后由目的地装置14存取用于解码和/或重放。
[0038] 在图1的实例中,目的地装置14包含输入接口 28、视频解码器30和显示装置32。 在一些情况下,输入接口 28可包含接收器和/或调制解调器。目的地装置14的输入接口 28经由信道16接收经编码视频数据。经编码视频数据可包含视频编码器20产生的表示视 频数据的多种语法元素。此类语法元素可与在通信媒体上发射、存储在存储媒体上或存储 在文件服务器上的经编码视频数据一起包含。
[0039] 显示装置32可与目的地装置14集成或可在目的地装置14外部。在一些实例中, 目的地装置14可包含集成显示装置,且还可经配置以与外部显示装置介接。在其它实例 中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据。显 示装置32可包括例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(0LED)显示器 或另一类型的显示装置等多种显示装置的任一者。
[0040] 视频编码器20和视频解码器30可根据例如当前在开发中的高效视频译码(HEVC) 标准等视频压缩标准操作,且可遵循HEVC测试模式(HM)。称为"HEVC工作草案7"或"WD7" 的即将到来的HEVC标准的最近草案在Bross等人的文献JCTVC-I1003_d54 "高效视频译 码(HEVC)文本规范草案7"中描述,ITU-T SG16 WP3和IS0/IEC JTC1/SC29/WG11的视频 译码联合协作团队(JCT-VC),第九次会议:瑞典日内瓦,2012年5月,其截至2012年7月 19 日可从http://phenix.int_evry.fr/jct/doc_end_user/documents/9_Geneva/wgll/ JCTVC-11003-V6. zip下载,其全部内容以引用的方式并入本文中。或者,视频编码器20和 视频解码器30可根据其它专有或工业标准操作,例如ITU-T H. 264标准,或者称为MPEG-4, 第10部分,先进视频译码(AVC),或此类标准的扩展。然而,本发明的技术不限于任何特定 译码标准或技术。视频压缩标准和技术的其它实例包含MPEG-2、ITU-T H. 263和专有或开 放源压缩格式(例如,VP8和相关格式)。
[0041] 尽管图1的实例中未图示,但视频编码器20和视频解码器30可各自与音频编码 器和解码器集成,且可包含适当MUX-DEMUX单元,或其它硬件和软件来处置共同数据流或 单独数据流中音频和视频两者的编码。如果适用,那么在一些实例中,MUX-DEMUX单元可遵 循ITU H. 223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
[0042] 再次,图1仅为实例,且本发明的技术可适用于不必包含编码与解码装置之间的 任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据可从本 地存储器检索、经由网络串流等。编码装置可编码数据并将数据存储到存储器,且/或解码 装置可从存储器检索和解码数据。在许多实例中,编码和解码由不彼此通信而是仅将数据 编码到存储器和/或从存储器检索和解码数据的装置执行。
[0043] 视频编码器20和视频解码器30各自可实施为多种适宜电路的任一者,例如一或 多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、 离散逻辑、硬件,或其任何组合。当所述技术部分实施在软件中时,装置可将软件的指令存 储在适宜的非暂时性计算机额可读存储媒体中且可使用一或多个处理器执行硬件中的指 令以执行本发明的技术。以上各项(包含硬件、软件、硬件与软件的组合等)的任一者可视 为一或多个处理器。视频编码器20和视频解码器30的每一者可包含在一或多个编码器或 解码器中,其任一者可作为组合式编码器/解码器(CODEC)的一部分集成在相应装置中。
[0044] 本发明可一般提及视频编码器20向例如视频解码器30等另一装置"信令"特定 信息。然而应理解,视频编码器20可通过使特定语法元素与视频数据的各种经编码部分相 关联而信令信息。即,视频编码器20可通过将特定语法元素存储到视频数据的各种经编码 部分的标头而"信令"数据。在一些情况下,此类语法元素可在由视频解码器30接收和解 码之前编码和存储(例如,在存储系统中)。因此,术语"信令"可一般指代用于解码经压缩 视频数据的语法或其它数据的通信。此通信可实时或近实时发生。或者,此通信可在一时 间跨度上发生,例如可能当编码时将语法元素在经编码位流中存储到媒介时发生,所述语 法元素接着可由解码装置在存储到此媒介之后的任何时间检索。
[0045] 如上文简要提及,视频编码器20编码视频数据。视频数据可包括一或多个图片, 图片的每一者可为形成视频的一部分的静止图像。在一些例子中,图片可称为视频"帧"。 当视频编码器20编码视频数据时,视频编码器20可产生位流。位流可包含形成视频数据 的经译码表示的位的序列。位流可包含经译码图片和相关联数据。经译码图片是图片的经 译码表示。
[0046] 为产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编 码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相 关联数据可包含序列参数集、图片参数集、调适参数集和其它语法结构。序列参数集(SPS) 可含有适用于零个或多个图片序列的参数。图片参数集(PPS)可含有适用于零个或多个图 片的参数。调适参数集(APS)可含有适用于零个或多个图片的参数。APS中的参数可为比 PPS中的参数更可能改变的参数。
[0047] 为产生经译码图片,视频编码器20可将图片分割为相等大小的视频块。视频块可 为样本的二维阵列。视频块的每一者与树块(treeblock)相关联。在一些例子中,树块可 称为最大译码单元(LCU)或"译码树块"。HEVC的树块可广义上类似于例如H. 264/AVC等 先前标准的宏块。然而,树块不必限于特定大小且可包含一或多个译码单元(CU)。视频编 码器20可使用四叉树分割将树块的视频块分割为与CU相关联的视频块,因此称为"树块"。
[0048] 在一些实例中,视频编码器20可将图片分割为多个切片。切片的每一者可包含整 数数目的CU。在一些例子中,切片包括整数数目的树块。在其它例子中,切片的边界可在树 块内。
[0049] 作为对图片执行编码操作的一部分,视频编码器20可对图片的每一切片执行编 码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的 经编码数据。与切片相关联的经编码数据可称为"经译码切片"。
[0050] 为产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频 编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包括 树块的经编码表示。
[0051] 当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片 中的树块(其在此情况下表示最大译码单元)执行编码操作(即,编码)。换句话说,视频编 码器20可以在切片中的树块的最顶部行上从左向右接着从树块的下一较低行上从左向右 以此类推直到视频编码器20已对切片中的树块的每一者编码的次序对切片的树块编码。
[0052] 由于根据光栅扫描次序对树块编码,所以给定树块上方以及左侧的树块可已编 码,但给定树块下方以及右侧的树块尚未编码。因此,视频编码器20可能够存取通过在编 码给定树块时编码给定树块上方以及左侧的树块产生的信息。然而,视频编码器20可不能 存取通过在编码给定树块时编码给定树块下方以及右侧的树块产生的信息。
[0053] 为产生经译码树块,视频编码器20可对树块的视频块递归执行四叉树分割以将 视频块分割为逐渐变小的视频块。较小视频块的每一者可与不同CU相关联。举例来说,视 频编码器20可将树块的视频块分割为四个相等大小的子块,将子块的一或多者分割为四 个相等大小的子子块,以此类推。经分割CU可为视频块分割为与其它CU相关联的视频块 的CU。未分割CU可为视频块未分割为与其它CU相关联的视频块的CU。
[0054] 位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大次 数。⑶的视频块可为正方形形状。⑶的视频块的大小(即,⑶的大小)范围可从8x8像 素到树块的视频块的大小(即,树块的大小),最大64x64像素或更大。
[0055] 视频编码器20可根据z扫描次序对树块的每一 CU执行编码操作(即,编码)。换 句话说,视频编码器20可以所述次序编码左上⑶、右上⑶、左下⑶且接着右下⑶。当视频 编码器20对经分割CU执行编码操作时,视频编码器20可根据z扫描次序对与经分割CU 的视频块的子块相关联的CU进行编码。换句话说,视频编码器20可以所述次序编码与左 上子块相关联的CU、与右上子块相关联的CU、与左下子块相关联的CU,且接着与右下子块 相关联的CU。
[0056] 由于根据z扫描次序对树块的⑶编码,给定⑶的上方、上方以及左侧、上方以及 右侧、左侧和下方以及左侧的⑶可已经编码。给定⑶的下方或右侧的⑶尚未编码。因 此,视频编码器20可能够存取通过当编码给定CU时编码与给定CU相邻的一些CU而产生 的信息。然而,视频编码器20可不能存取通过当编码给定CU时编码与给定CU相邻的其它 ⑶而产生的信息。
[0057] 当视频编码器20编码未经分割⑶时,视频编码器20可产生⑶的一或多个预测 单元(PU)。CU的PU的每一者可与CU的视频块内的不同视频块相关联。视频编码器20可 产生CU的每一 PU的预测视频块。PU的预测视频块可为样本的块。视频编码器20可使用 帧内预测或帧间预测来产生PU的预测视频块。
[0058] 当视频编码器20使用帧内预测产生PU的预测视频块时,视频编码器20可基于与 PU相关联的图片的经解码样本产生TO的预测视频块。如果视频编码器20使用帧内预测产 生⑶的TO的预测视频块,那么⑶为经帧内预测的⑶。
[0059] 当视频编码器20使用帧间预测产生PU的预测视频块时,视频编码器20可基于除 与PU相关联的图片的一或多个图片的经解码样本产生TO的预测视频块。如果视频编码器 20使用帧间预测产生⑶的TO的预测视频块,那么⑶为经帧间预测的⑶。
[0060] 此外,当视频编码器20使用帧间预测产生PU的预测视频块时,视频编码器20可 产生PU的运动信息。PU的运动信息可指示PU的一或多个参考块。PU的每一参考块可为 参考图片内的视频块。参考图片可为除与PU相关联的图片以外的图片,在一些例子中,PU 的参考块也可称为PU的"参考样本"。视频编码器20可基于PU的参考块产生PU的预测视 频块。
[0061] 如上文论述,切片可为I切片、P切片或B切片。在I切片中,所有PU经帧内预测。 在P切片和B切片中,PU可经帧内预测或帧间预测。当视频编码器20对P切片中的PU执 行帧间预测时,视频编码器20可产生识别单一参考图片中的位置的运动信息。换句话说, TO可经单向帧间预测。运动信息可包含参考图片索引和运动向量。参考图片索引可指示参 考图片在第一参考图片列表("列表〇")中的位置。运动向量可指示与PU相关联的视频 块与参考图片内的参考块之间的空间位移。例如视频编码器20或视频解码器30的视频译 码器可随后基于与PU的运动信息相关联的单一参考块产生PU的预测视频块。举例来说, 视频译码器可产生PU的预测视频块使得所述预测视频块与参考块匹配。
[0062] B切片中的PU可基于列表0单向帧间预测、基于第二参考图片列表("列表1") 单向帧间预测,或双向帧间预测。如果B切片中的PU基于列表0单向帧间预测,那么PU的 运动信息可包含列表〇参考图片索引和列表〇运动向量。列表〇参考图片索引可通过指示 参考图片在列表〇中的位置而识别参考图片。列表〇运动向量可指不与PU相关联的视频 块与参考图片内的参考块之间的空间位移。视频编码器20可基于与列表0运动向量相关 联的参考块产生PU的预测视频块。换句话说,视频编码器20可基于列表0运动向量识别 的参考样本的块产生PU的预测视频块,或可基于从列表0运动向量识别的参考样本的块合 成(例如,内插)的参考样本的块产生TO的预测视频块。
[0063] 如果B切片中的PU基于列表1单向帧间预测,那么PU的运动信息可包含列表1 参考图片索引和列表1运动向量。列表1参考图片索引可通过指不参考图片在列表1中的 位置而识别参考图片。列表1运动向量可指示PU与参考图片内的参考块之间的空间位移。 视频编码器20可基于与列表1运动向量相关联的参考样本的块产生PU的预测视频块。举 例来说,视频编码器20可基于列表1运动向量识别的参考样本的块产生PU的预测视频块, 或可基于从列表1运动向量识别的参考样本的块合成(例如,内插)的参考样本的块产生 PU的预测视频块。
[0064] 如果B切片中的PU双向帧间预测,那么PU的运动信息可包含列表0参考图片索 弓丨、列表0运动向量、列表1参考图片索引和列表1运动向量。在一些例子中,列表0和列 表1参考图片索引可识别同一图片。视频编码器20可基于与列表0和列表1运动向量相 关联的参考块产生PU的预测视频块。在一些实例中,视频编码器20可通过从与列表0运 动向量相关联的参考块中的样本和与列表1运动向量相关联的参考块中的样本内插预测 视频块而产生TO的预测视频块。
[0065] 在视频编码器20产生⑶的一或多个PU的预测视频块之后,视频编码器20可基 于CU的PU的预测视频块产生CU的残余数据。CU的残余数据可指示CU的PU的预测视频 块与CU的原始视频块中的样本之间的差异。
[0066] 此外,作为对未经分割⑶执行编码操作的一部分,视频编码器20可对⑶的残余 数据执递归行四叉树分割以将CU的残余数据分割为与CU的变换单元(TU)相关联的残余 数据的一或多个块(即,残余数据块)。
[0067] 视频译码器20可将一或多个变换应用于同TU相关联的残余视频块以产生与TU 相关联的变换系数块(即,变换系数的块)。概念上,变换系数块可为变换系数的二维(2D) 矩阵。
[0068] 在产生变换系数块之后,视频编码器20可对变换系数块执行量化过程。量化通常 指代变换系数经量化以可能减少用于表示变换系数的数据量从而提供进一步压缩的过程。 量化过程可减小与一些或所有变换系数相关联的位深度。举例来说,η位变换系数可在量 化期间下舍入到m位变换系数,其中η大于m。
[0069] 视频编码器20可使每一⑶与量化参数(QP)值相关联。与⑶相关联的QP值可 确定视频编码器20如何量化与⑶相关联的变换系数块。视频编码器20可通过调整与⑶ 相关联的QP值而调整施加到与CU相关联的变换系数块的量化程度。
[0070] 在视频编码器20量化变换系数块之后,视频编码器20可产生表示经量化变换系 数块中的变换系数的语法元素的集合。视频编码器20可向这些语法元素中的一些应用熵 编码操作,例如上下文自适应二进制算术译码(CABAC)操作。
[0071] 视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。NAL单元的每一 者可为含有NAL单元中数据的类型和含有所述数据的字节的指示的语法结构。举例来说, NAL单元可含有表示序列参数集、图片参数集、经译码切片、补充增强信息(SEI)、存取单元 限定符、填充数据,或另一类型的数据的数据。NAL单元中的数据可包含各种语法结构。
[0072] 视频解码器30可接收视频编码器20产生的位流。位流可包含由视频编码器20编 码的视频数据的经译码表示。当视频解码器30接收位流时,视频解码器30可对位流执行 解析操作。当视频解码器30执行解析操作时,视频解码器30可从位流提取语法元素。视 频解码器30可基于从位流提取的语法元素重建视频数据的图片。基于语法元素重建视频 数据的过程可通常与由视频编码器20执行以产生语法元素的过程互逆。
[0073] 在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于语法元 素产生CU的PU的预测视频块。另外,视频解码器30可反向量化与CU的TU相关联的变换 系数块。视频解码器30可对变换系数块执行反向变换以重建与CU的TU相关联的残余视 频块。在产生预测视频块且重建残余视频块之后,视频解码器30可基于预测视频块和残余 视频块重建CU的视频块。以此方式,视频解码器30可基于位流中的语法元素重建CU的视 频块。
[0074] 如上文描述,视频编码器20可使用帧间预测产生与⑶的PU的运动信息相关联的 预测视频块。在许多例子中,给定PU的运动信息可能与一或多个附近TO (即,视频块在空 间或时间上在给定PU的视频块附近的PU)的运动信息相同或类似。因为附近PU频繁地具 有类似运动信息,所以视频编码器20可参考一或多个附近PU的运动信息编码给定PU的运 动信息。参考所述一或多个附近PU的运动信息编码给定TO的运动信息可减少位流中指示 给定PU的运动信息所需的位的数目。
[0075] 视频编码器20可以各种方式参考一或多个附近PU的运动信息编码给定PU的运 动信息。举例来说,视频编码器20可使用合并模式或先进运动向量预测(AMVP)模式编码 给定PU的运动信息。为使用合并模式编码TO的运动信息,视频编码器20可产生PU的合 并候选者列表。合并候选者列表可包含一或多个合并候选者。合并候选者的一者指定运动 信息的集合。视频编码器20可基于空间上与同一图片中的PU相邻的PU所指定的运动信 息(其可称为空间合并候选者)或基于另一图片中协同定位的PU(其可称为时间合并候选 者)产生合并候选者的一或多者。如果合并候选者指定的运动信息与两个参考块相关联, 那么合并候选者可在本文中称为双向合并候选者或双向的合并候选者。否则,如果合并候 选者指定的运动信息与仅单一参考块相关联,那么合并候选者可在本文中称为单向合并候 选者或单向的合并候选者。视频编码器20可从合并候选者列表选择合并候选者的一者,且 信令PU的候选者索引值。候选者索引值可指示选定合并候选者在合并候选者列表中的位 置。
[0076] 当视频编码器20使用合并模式编码PU的运动信息时,视频解码器30可产生与视 频编码器20针对PU产生的相同的PU的合并候选者列表。视频解码器30可接着基于PU 的候选者索引值确定合并候选者列表中的合并候选者的哪一者由视频编码器20选择。视 频解码器30可接着采用选定合并候选者指定的运动信息作为PU的运动信息。选定候选者 指定的运动信息可包含一或多个运动向量和一或多个参考图片索引。
[0077] 当视频编码器20使用AMVP信令PU的运动信息时,视频编码器20可在PU基于列 表〇单向帧间预测的情况下或在PU基于列表0和列表1中的参考图片双向帧间预测的情 况下产生PU的列表0MV预测器候选者列表。列表0MV预测器候选者列表可包含一或多个 MV预测器候选者。MV预测器候选者的每一者指定运动信息的集合。视频编码器20可从列 表0 MV预测器候选者列表选择列表0 MV预测器候选者。视频编码器20可信令指示选定列 表0MV预测器候选者在列表0 MV预测器候选者列表中的位置的列表0MV预测器旗标。列 表0MV预测器旗标可表示为"mvp_10_flag"。
[0078] 另外,当视频编码器20使用AMVP信令PU的运动信息时,视频编码器20可在PU 基于列表1单向帧间预测的情况下或在PU双向帧间预测的情况下产生TO的列表1MV预测 器候选者列表。列表1MV预测器候选者列表可包含一或多个MV预测器候选者。MV预测器 候选者的每一者指定运动信息的集合。视频编码器20可接着从列表1 MV预测器候选者列 表选择列表1MV预测器候选者。视频编码器20可信令指示选定列表1MV预测器候选者在 列表1MV预测器候选者列表中的位置的列表1MV预测器旗标。列表1MV预测器旗标可表示 为 "mvp_ll_flag"。
[0079] 另外,当视频编码器20使用AMVP信令PU的运动信息时,视频编码器20可在PU 基于列表〇单向帧间预测的情况下或在PU双向帧间预测的情况下计算TO的列表0运动向 量差(MVD)。列表0 MVD指示PU的列表0运动向量与选定列表0 MV预测器候选者指定的 列表0运动向量之间的差。另外,视频编码器20可在PU基于列表1单向帧间预测的情况 下或在PU双向帧间预测的情况下输出PU的列表1MVD。列表1MVD指示PU的列表1运动向 量与选定列表1MV预测器候选者指定的列表1运动向量之间的差。视频编码器20可信令 列表0MVD和/或列表1MVD。
[0080] 当视频编码器20使用AMVP模式信令PU的运动信息时,视频解码器30可独立地 产生视频编码器20产生的相同列表0和/或列表1MV预测器候选者列表。在其它实例中, 视频编码器20可编码指定列表0和列表1MV预测器候选者列表的语法元素。如果PU基于 列表〇单向帧间预测或如果PU双向帧间预测,那么视频解码器30可从列表0 MV预测器候 选者列表确定选定列表〇 MV预测器候选者。视频解码器30可接着基于PU的选定列表0 MV预测器候选者和列表0 MVD确定PU的列表0运动向量。举例来说,视频解码器30可通 过将选定列表0MV预测器候选者和列表0 MVD指定的列表0运动向量相加而确定PU的列 表0运动向量。如果PU基于列表1单向帧间预测或如果PU双向帧间预测,那么视频解码 器30可从列表1MV预测器候选者列表确定选定列表1MV预测器候选者。视频解码器30可 接着基于选定列表1MV候选者和列表1MVD指定的列表1运动向量确定PU的列表1运动向 量。举例来说,视频解码器30可通过将选定列表1MV候选者和列表1MVD指定的列表1运 动向量相加而确定PU的列表1运动向量。
[0081] 如上文简要论述,当视频编码器20对B切片中的PU执行帧间预测时,视频编码器 20可产生与PU的一个或两个参考块相关联的运动信息。例如视频编码器20或视频解码器 30等视频译码器可接着基于与TO的运动信息相关联的参考块产生PU的预测视频块。为基 于两个参考块产生预测视频块,视频译码器可从存储器检索参考块的两者。因为存储器带 宽(即,数据可从存储器转移的速率)可能有限,所以可能与从存储器检索单一参考块将花 费的时间相比花费较长时间从存储器检索两个参考块。因此,如果B切片包含许多小双向 帧间预测PU,那么检索TO的每一者的两个参考块所需的额外时间可减缓视频译码器能够 产生B切片中的PU的预测视频块的速度。
[0082] 根据本发明的技术的各个实例,例如视频编码器20或视频解码器30等视频译码 器可确定B切片中的PU是否限于单向帧间预测。在一些实例中,视频译码器可基于PU的 大小特性或某一参数确定PU限于单向帧间预测。另外,视频译码器可产生TO的合并候选 者列表且确定合并候选者列表中的选定合并候选者。如果PU限于单向帧间预测,那么视频 译码器可基于与选定合并候选者指定的运动信息相关联的不超过一个参考块产生PU的预 测视频块。另一方面,如果PU不限于单向帧间预测,那么视频译码器可基于与选定合并候 选者指定的运动信息相关联的一或多个参考块产生PU的预测视频块。因为视频译码器在 基于单一参考块产生预测视频块时比在基于两个参考块产生预测视频块时从存储器转移 更少数据,所以由视频编码器和解码器将B切片中的特定TO限于单向帧间预测可增加视频 编码器和解码器能够产生B切片中的PU的预测视频块的速度。
[0083] 视频译码器(即,视频编码器或视频解码器)可基于各种准则确定B切片中的PU 限于单向帧间预测。举例来说,如果PU的大小特性低于特定阈值,那么视频译码器可确定 B切片中的TO限于单向帧间预测。在此实例中,如果PU的大小特性不低于特定阈值,那么 视频译码器可确定PU不限于单向帧间预测。举例来说,在此实例中,如果与TO相关联的视 频块的高度或宽度低于阈值,那么视频译码器可确定PU限于单向帧间预测。举例来说,如 果与PU相关联的视频块的高度和/或宽度小于N(例如,N = 8)像素,那么视频译码器可 确定PU限于单向帧间预测。
[0084] 在另一实例中,如果与TO相关联的视频块的第一尺寸小于阈值且与PU相关联的 视频块的第二尺寸小于或等于所述阈值,那么视频译码器可确定B切片中的PU限于单向帧 间预测。视频块的尺寸可为视频块的宽度或高度。举例来说,如果阈值等于8,那么在视频 块的宽度等于4但视频块的高度等于16的情况下,视频译码器可确定PU不限于单向帧间 预测。然而,如果阈值等于8,那么在视频块的宽度等于4但视频块的高度等于8的情况下, 视频译码器可确定PU限于单向帧间预测。
[0085] 在另一实例中,如果与TO相关联的视频块的第一尺寸小于第一阈值且与PU相关 联的视频块的第二尺寸小于第二阈值,那么视频译码器可确定B切片中的PU限于单向帧间 预测。举例来说,如果视频块的宽度小于8且视频块的高度小于16,那么视频译码器可确定 PU限于单向巾贞间预测。在一些例子中,第一阈值可与第二阈值相同。
[0086] 在另一实例中,如果与TO相关联的CU(例如,当前CU)的大小特性等于特定大小 且PU的大小特性低于阈值,那么视频译码器可确定PU限于单向帧间预测。在此实例中,如 果CU的大小特性不等于特定大小或PU的大小特性不低于阈值,那么视频译码器可确定PU 不限于单向帧间预测。在此实例中,特定大小可等于N(例如,N = 8)像素,且阈值也可等 于N(例如,N = 8)像素。在此实例中,对于具有8x8大小的⑶,⑶的具有小于8x8的大小 的任何PU可被抑制进行双向帧间预测。
[0087] 在另一实例中,如果参数指示B切片中的PU将限于单向帧间预测,那么视频译码 器可确定B切片中的PU限于单向帧间预测。
[0088] 视频译码器可以各种方式将B切片中的PU限于单向帧间预测。举例来说,视频译 码器可忽略与PU的运动信息相关联的参考块的一者且基于与PU的运动信息相关联的参考 块的另一者产生PU的预测视频块。举例来说,视频译码器可产生合并候选者列表,且如果 选定合并候选者是双向合并候选者,那么视频译码器可基于与选定合并候选者的列表0参 考图片索引以及选定合并候选者的列表0运动向量相关联的参考块产生PU的预测视频块。 在类似实例中,视频译码器可基于与选定合并候选者的列表1参考图片索引以及选定合并 候选者的列表1运动向量相关联的参考块产生PU的预测视频块。
[0089] 在关于视频译码器可如何将B切片中的PU限于单向帧间预测的另一实例中,视频 译码器可在PU的合并候选者列表中包含单向合并候选者,而不在PU的合并候选者列表中 包含双向合并候选者。在此实例中,视频译码器不将双向合并候选者转换为单向合并候选 者。在此实例中,如果可用单向合并候选者的数目不足以填充合并候选者列表,那么视频译 码器可在合并候选者列表中包含人为单向合并候选者。人为合并候选者可为基于一或多个 PU的运动信息产生但不指定所述一或多个ro的运动信息的合并候选者。
[0090] 在关于视频译码器可如何将B切片中的PU限于单向帧间预测的另一实例中,视频 译码器可将双向合并候选者转换为一或多个单向合并候选者,且在合并候选者列表中包含 所述一或多个单向合并候选者。在一些此类实例中,视频译码器可将双向合并候选者转换 为与列表0中的参考图片或列表1中的参考图片相关联的单一单向合并候选者。在一些此 类情况下,不论何时视频译码器将双向合并候选者转换为单向合并候选者,所述单向合并 候选者均与特定参考列表中的参考图片相关联。举例来说,视频译码器可仅将双向合并候 选者转换为与列表0中的参考图片相关联的单一单向合并候选者。或者,视频译码器可仅 将双向合并候选者转换为与列表1中的参考图片相关联的单一单向合并候选者。在其它此 类实例中,视频译码器可将双向合并候选者转换为两个单向合并候选者,其中一者与列表0 中的参考图片相关联且其中另一者与列表1中的参考图片相关联。因此,在一些实例中,在 产生合并候选者列表之后,视频译码器可将合并候选者列表中的双向合并候选者转换为单 向合并候选者,且将所述单向合并候选者包含在合并候选者列表中代替双向合并候选者。
[0091] 在一些实例中,视频译码器可在将双向合并候选者转换为单向合并候选者之前从 合并候选者列表移除复制的合并候选者。在其它实例中,视频译码器可在将双向合并候选 者转换为单向合并候选者之后从合并候选者列表移除复制的合并候选者。
[0092] 当视频编码器20使用AMVP编码B切片中的PU的运动信息时,视频编码器20可产 生、熵编码和输出PU的帧间预测模式指示符。所述帧间预测模式指示符可表示为"inter_ precLidc"。所述帧间预测模式指示符可指示PU基于列表0单向帧间预测、基于列表1单 向帧间预测,还是双向帧间预测。视频解码器30可在对PU执行帧间预测时使用帧间预测 模式指示符。因为帧间预测模式指示符具有三个可能值,所以帧间预测模式指示符可常规 行使用两个位表示。
[0093] 然而,如果B切片中的PU限于单向帧间预测,那么帧间预测模式指示符可具有两 个可能值:基于列表〇的单向帧间预测和基于列表1的单向帧间预测。因此,根据本发明的 技术,如果B切片中的PU限于单向帧间预测,那么帧间预测模式指示符可使用单一位表示。 否则,如果PU不限于单向帧间预测,那么帧间预测模式指示符可使用两个位表示。当PU限 于单向帧间预测时使用单一位表示帧间预测模式指示符可增加译码效率。
[0094] 此外,可在TO限于单向帧间预测的情况下使用与PU不限于单向帧间预测的情况 下不同的上下文对B切片中的PU的帧间预测模式指示符进行熵译码。这可进一步增加译 码效率。
[0095] 图2是说明经配置以实施本发明的技术的实例视频编码器20的框图。图2出于 阐释的目的而提供且不应视为限制如本发明广义上例证且描述的技术。出于阐释的目的, 本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码 标准或方法。
[0096] 在图2的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件 包含预测模块1〇〇、残余产生模块102、变换模块104、量化模块106、反向量化模块108、反向 变换模块110、重建模块112、滤波器模块113、经解码图片缓冲器114,和熵编码模块116。 预测模块100包含帧内预测模块121、运动估计模块122、运动补偿模块124和帧内预测模 块126。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。此外,运动估计 模块122和运动补偿模块124可高度集成,但在图2的实例中出于阐释的目的单独表示。
[0097] 视频编码器20可接收视频数据。视频编码器20可从各个源接收视频数据。举例 来说,视频编码器20可从视频源18(图1)或另一源接收视频数据。视频数据可表示一系 列图片。为编码视频数据,视频编码器20可对图片的每一者执行编码操作。作为对图片执 行编码操作的一部分,视频编码器20可对图片的每一切片执行编码操作。作为对切片执行 编码操作的一部分,视频编码器20可对切片中的树块执行编码操作。
[0098] 作为对树块执行编码操作的一部分,预测模块100可对树块的视频块执行四叉树 分割以将视频块划分为逐渐变小的视频块。较小视频块的每一者可与不同CU相关联。举 例来说,预测模块100可将树块的视频块分割为相等大小的子块,将子块的一或多者分割 为相等大小的子子块,以此类推。
[0099] 与CU相关联的视频块的大小范围可从8x8样本到具有最大64x64样本或更大的 树块的大小。在本发明中,"NxN"和"N乘N"可互换使用以指代在垂直和水平尺寸方面视 频块的样本尺寸(例如,16x16样本或16乘16样本)。一般来说,16x16视频块具有垂直方 向上(y = 16)十六个样本且水平方向上(X = 16)十六个样本。同样,N乘N块通常具有 垂直方向上N个样本以及水平方向上N个样本,其中N表示非负整数值。
[0100] 此外,作为对树块执行编码操作的一部分,预测模块100可产生树块的层级四叉 树数据结构。举例来说,树块可对应于四叉树数据结构的根节点。如果预测模块1〇〇将树 块的视频块分割为四个子块,那么根节点具有四叉树数据结构中的四个子节点。子节点的 每一者对应于与子块的一者相关联的CU。如果预测模块100将子块的一者分割为四个子子 块,那么对应于与子块相关联的CU的节点可具有四个子节点,其每一者对应于与子子块的 一者相关联的CU。
[0101] 四叉树数据结构的每一节点可含有对应树块或CU的语法数据(例如,语法元素)。 举例来说,四叉树中的节点可包含分离旗标,其指示对应于节点的CU的视频块是否分割 (即,分离)为四个子块。CU的语法元素递归地界定,且可取决于CU的视频块是否分离为 子块。视频块不分割的CU可对应于四叉树数据结构中的叶节点。经译码树块可包含对应 树块的基于四叉树数据结构的数据。
[0102] 视频编码器20可对树块的每一未经分割⑶执行编码操作。当视频编码器20对 未经分割⑶执行编码操作时,视频编码器20可产生未经分割⑶的经编码表示。
[0103] 作为对⑶执行编码操作的一部分,预测模块100可在⑶的一或多个PU之间分割 CU的视频块。视频编码器20和视频解码器30可支持各种PU大小。假定特定CU的大小为 2Nx2N,视频编码器20和视频解码器30可支持用于帧内预测的2Nx2N或NxN的PU大小,以 及用于帧间预测的2N X2N、2NxN、NX2N、NxN或类似的对称PU大小。视频编码器20和视频解 码器30还可支持用于帧间预测的2NxnU、2NxnD、nLx2N和nRx2N的PU大小的非对称分割。 在一些实例中,预测模块100可执行几何分割以沿着不以直角与⑶的视频块的侧边相遇的 边界在CU的PU之间分割CU的视频块。
[0104] 帧间预测模块121可对CU的PU的每一者执行帧间预测。帧间预测可提供时间压 缩。当帧间预测模块121对TO执行帧间预测时,帧间预测模块121可产生PU的预测数据。 PU的预测数据可包含对应于TO和PU的运动信息的预测视频块。运动估计模块122可产生 TO的运动信息。在一些例子中,运动估计模块122可使用合并模式或AMVP模式来信令PU 的运动信息。运动补偿模块124可基于除当前图片(S卩,参考图片)外的一或多个图片的 样本产生PU的预测视频块。
[0105] 切片可为I切片、P切片或B切片。运动估计模块122和运动补偿模块124可依 据ro在I切片、P切片还是B切片中而执行⑶的PU的不同操作。在I切片中,所有PU经 帧内预测。因此,如果TO在I切片中,那么运动估计模块122和运动补偿模块124不对PU 执行帧间预测。
[0106] 如果PU在P切片中,那么含有PU的图片与称为"列表0"的参考图片的列表相关 联。在一些实例中,列表0中列举的每一参考图片在显示次序中的当前图片之前发生。列 表0中参考图片的每一者含有可用于其它图片的帧间预测的样本。当运动估计模块122相 对于P切片中的PU执行运动估计操作时,运动估计模块122可搜索列表0中的参考图片以 寻找PU的参考块。PU的参考块可为样本的集合,例如最紧密对应于PU的视频块中的样本 的样本的块。运动估计模块122可使用多种量度来确定参考图片中的样本的集合与PU的 视频块中的样本对应的紧密程度。举例来说,运动估计模块122可通过绝对差之和(SAD)、 均方差之和(SSD)或其它差值量度确定参考图片中的样本的集合与PU的视频块中的样本 对应的紧密程度。
[0107] 在识别或合成P切片中的PU的参考块之后,运动估计模块122可产生指示含有参 考块的列表〇中的参考图片的参考图片索引,和指不PU与参考块之间的空间位移的运动向 量。运动估计模块122可产生不同精度的运动向量。举例来说,运动估计模块122可产生 四分之一样本精度、八分之一样本精度或其它分数样本精度的运动向量。在分数样本精度 的情况下,参考块值可从参考图片中的整数位置样本值内插。运动估计模块122可输出参 考图片索引和运动向量作为PU的运动信息。运动补偿模块124可基于与PU的运动信息相 关联的参考块产生PU的预测视频块。
[0108] 如果PU在B切片中,那么含有PU的图片可与参考图片的两个列表相关联,称为 "列表0"和"列表1"。在一些实例中,含有B切片的图片可与作为列表0与列表1的组合 的列表组合相关联。在一些实例中,列表1中列举的每一参考图片在显示次序中的当前图 片之后发生。
[0109] 此外,如果PU在B切片中,那么运动估计模块122可执行PU的单向帧间预测或双 向帧间预测。当运动估计模块122执行PU的单向帧间预测时,运动估计模块122可搜索列 表0或列表1的参考图片以寻找PU的参考块。运动估计|旲块122可接着广生指不含有参 考块的列表〇或列表1中的参考图片的参考图片索引,和指不PU与参考块之间的空间位移 的运动向量。
[0110] 当运动估计模块122执行PU的双向帧间预测时,运动估计模块122可搜索列表0 的参考图片以寻找PU的参考块,且还可搜索列表1的参考图片以寻找ro的另一参考块。运 动估计1旲块122可接着广生指不含有参考块的列表0和列表1中的参考图片的参考图片索 弓丨,和指示参考块与PU之间的空间位移的运动向量。ro的运动信息可包含参考图片索引 和PU的运动向量。运动补偿模块124可基于PU的运动信息指示的参考块产生PU的预测 视频块。
[0111] 运动补偿模块124可基于与PU的运动信息相关联的一或多个参考块产生PU的预 测视频块。根据本发明的技术,运动补偿模块124可确定PU是否限于单向帧间预测。另 夕卜,运动补偿模块124可产生PU的合并候选者列表,且确定合并候选者列表中的选定合并 候选者。如果PU限于单向帧间预测,那么运动补偿模块124可基于与选定合并候选者指定 的运动信息相关联的不超过一个参考块产生PU的预测视频块。如果TO不限于单向帧间预 测,那么运动补偿模块124可基于与选定合并候选者指定的运动信息相关联的一或多个参 考块产生PU的预测视频块。
[0112] 作为对CU执行编码操作的一部分,帧内预测模块126可对CU的PU执行帧内预测。 帧内预测可提供空间压缩。当帧内预测模块126对PU执行帧内预测时,帧内预测模块126 可基于同一图片中其它PU的经解码样本产生TO的预测数据。PU的预测数据可包含预测视 频块和各种语法元素。帧内预测模块126可对I切片、P切片和B切片中的PU执行帧内预 测。
[0113] 为对PU执行帧内预测,帧内预测模块126可使用多个帧内预测模式来产生PU的 预测数据的多个集合。当帧内预测模块126使用帧内预测模式来产生PU的预测数据的集 合时,帧内预测模块126可在与帧内预测模式相关联的方向和/或梯度上在PU的视频块上 延伸来自相邻PU的视频块的样本。相邻TO可在所述PU上方、上方以及右侧、上方以及左 侦牝或左侧,假定PU、CU和树块的从左向右、自顶向下编码次序。帧内预测模块126可使用 各种数目的帧内预测模式,例如33个定向帧内预测模式。在一些实例中,帧内预测模式的 数目可取决于PU的大小。
[0114] 预测模块100可从运动补偿模块124针对PU产生的预测数据或帧内预测模块126 针对ro产生的预测数据中选择PU的预测数据。在一些实例中,预测模块100基于预测数 据的集合的速率/失真量度选择PU的预测数据。
[0115] 如果预测模块100选择帧内预测模块126产生的预测数据,那么预测模块100可 信令用于产生PU的预测数据的帧内预测模式,即选定帧内预测模式。预测模块100可以各 种方式信令选定帧内预测模式。举例来说,有可能选定帧内预测模式与相邻PU的帧内预测 模式相同。换句话说,相邻PU的帧内预测模式可为当前ro的最可能模式。因此,预测模块 100可产生语法元素以指示选定帧内预测模式与相邻ro的帧内预测模式相同。
[0116] 在预测模块100选择⑶的TO的预测数据之后,残余产生模块102可通过从⑶的 视频块减去CU的PU的预测视频块而产生CU的残余数据。CU的残余数据可包含对应于CU 的视频块中的样本的不同样本组件的2D残余视频块。举例来说,残余数据可包含对应于CU 的PU的预测视频块中的样本的亮度组件与CU的原始视频块中的样本的亮度组件之间的差 的残余视频块。另外,CU的残余数据可包含对应于CU的PU的预测视频块中的样本的色度 组件与CU的原始视频块中的样本的色度组件之间的差的残余视频块。
[0117] 预测模块100可执行四叉树分割以将CU的残余视频块分割为子块。每一未划分 残余视频块可与CU的不同TU相关联。与CU的TU相关联的残余视频块的大小和位置可或 可不基于与CU的PU相关联的视频块的大小和位置。称为"残余四叉树"(RQT)的四叉树结 构可包含与残余视频块的每一者相关联的节点。CU的TU可对应于RQT的页节点。
[0118] 变换模块104可通过将一或多个变换应用于与TU相关联的残余视频块而产生⑶ 的每一 TU的一或多个变换系数块。变换系数块的每一者可为变换系数的2D矩阵。变换模 块104可将各种变换应用于与TU相关联的残余视频块。举例来说,变换模块104可将离散 余弦变换(DCT)、定向变换或概念上类似的变换应用于与TU相关联的残余视频块。
[0119] 在变换模块104产生与TU相关联的变换系数块之后,量化模块106可量化变换系 数块中的变换系数。量化模块106可基于与CU相关联的QP值量化与CU的TU相关联的变 换系数块。
[0120] 视频编码器20可以各种方式使QP值与CU相关联。举例来说,视频编码器20可 对与CU相关联的树块执行速率-失真分析。在速率-失真分析中,视频编码器20可通过 对树块执行编码操作多次而产生树块的多个经译码表示。当视频编码器20产生树块的不 同经编码表示时,视频编码器20可使不同QP值与CU相关联。当给定QP值与树块的经译 码表示中具有最低位速率和失真量度的CU相关联时,视频编码器20可信令给定QP值与CU 相关联。
[0121] 反向量化模块108和反向变换模块110可分别将反向量化和反向变换应用于变换 系数块以从变换系数块重建残余视频块。重建模块112可将经重建残余视频块与来自预测 模块100产生的一或多个预测视频块的对应样本相加以产生与TU相关联的经重建视频块。 通过以此方式重建⑶的每一 TU的视频块,视频编码器20可重建⑶的视频块。
[0122] 在重建模块112 (表示为加法器)重建⑶的视频块之后,滤波器模块113可执行 解块操作以减少与CU相关联的视频块中的成块假影。在执行所述一或多个解块操作之后, 滤波器模块113可将⑶的经重建视频块存储在经解码图片缓冲器114中。运动估计模块 122和运动补偿模块124可使用含有经重建视频块的参考图片对后续图片的PU执行帧间预 测。另外,帧内预测模块126可使用经解码图片缓冲器114中的经重建视频块对与CU相同 图片中的其它PU执行帧内预测。
[0123] 熵编码模块116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码 模块116可从量化模块106接收变换系数块且可从预测模块100接收语法元素。当熵编码 模块116接收数据时,熵编码模块116可执行一或多个熵编码操作以产生经熵编码数据。举 例来说,视频编码器20可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操 作、变量到变量(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操 作、概率间隔分割熵(PIPE)译码操作,或另一类型的熵编码操作。熵编码模块116可输出 包含经熵编码数据的位流。
[0124] 作为对数据执行熵编码操作的一部分,熵编码模块116可选择上下文模式。如果 熵编码模块116正执行CABAC操作,那么上下文模式可指示具有特定值的特定bin的概率 的估计值。在CABAC的上下文中,术语"bin"用于指代语法元素的二值化(binarized)版 本的位。
[0125] 图3是说明经配置以实施本发明的技术的实例视频解码器30的框图。图3出于 阐释的目的而提供且不限制如本发明广义上例证且描述的技术。出于阐释的目的,本发明 在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或 方法。
[0126] 在图3的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件 包含熵解码模块150、预测模块152、反向量化模块154、反向变换模块156、重建模块158、滤 波器模块159和经解码图片缓冲器160。预测模块152包含运动补偿模块162和帧内预测 模块164。在一些实例中,视频解码器30可执行通常与相对于图2的视频编码器20描述的 编码遍次互逆的解码遍次。在其它实例中,视频解码器30可包含更多、更少或不同功能组 件。
[0127] 视频解码器30可接收包括经编码视频数据的位流。所述位流可包含多个语法元 素。当视频解码器30接收位流时,熵解码模块150可对位流执行解析操作。作为对位流执 行解析操作的结果,熵解码模块150可从位流提取语法元素。作为执行解析操作的一部分, 熵解码模块150可对位流中的经熵编码语法元素进行熵解码。预测模块152、反向量化模块 154、反向变换模块156、重建模块158和滤波器模块159可执行重建操作,其基于从位流提 取的语法元素产生经解码视频数据。
[0128] 如上文论述,位流可包括一系列NAL单元。位流的NAL单元可包含序列参数集NAL 单元、图片参数集NAL单元、SEI NAL单元等。作为对位流执行解析操作的一部分,熵解码模 块150可执行解析操作,其从序列参数集NAL单元提取序列参数集,从图片参数集NAL单元 提取图片参数集且从SEI NAL单元提取SEI数据,并对所述序列参数集、图片参数集和SEI 数据进行熵解码。
[0129] 另外,位流的NAL单元可包含经译码切片NAL单元。作为对位流执行解析操作的 一部分,熵解码模块150可执行解析操作,其从经译码切片NAL单元提取经译码切片并对所 述经译码切片进行熵解码。经译码切片的每一者可包含切片标头和切片数据。切片标头可 含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的 图片参数集的语法元素。熵解码模块150可对经译码切片标头中的语法元素执行熵解码操 作(例如,CABAC解码操作)以恢复切片标头。
[0130] 作为从经译码切片NAL单元提取切片数据的一部分,熵解码模块150可执行解析 操作,其从切片数据中的经译码CU提取语法元素。所提取的语法元素可包含与变换系数块 相关联的语法元素。熵解码模块150可接着对一些语法元素执行CABAC解码操作。
[0131] 在熵解码模块150对未经分割⑶执行解析操作之后,视频解码器30可对未经分 割⑶执行重建操作。为对未经分割⑶执行重建操作,视频解码器30可对⑶的每一 TU执 行重建操作。通过对CU的每一 TU执行重建操作,视频解码器30可重建与CU相关联的残 余视频块。
[0132] 作为对TU执行重建操作的一部分,反向量化模块154可对与TU相关联的变换系 数块进行反向量化,即解量化。反向量化模块154可以与针对HEVC所提议或由H. 264解码 标准界定的反向量化过程类似的方式对变换系数块进行反向量化。反向量化模块154可使 用视频编码器20针对变换系数块的CU计算的量化参数QP来确定量化程度以及同样反向 量化模块154应用的反向量化程度。
[0133] 在反向量化模块154对变换系数块进行反向量化之后,反向变换模块156可产生 与变换系数块相关联的TU的残余视频块。反向变换模块156可对变换系数块应用反向变 换以便产生TU的残余视频块。举例来说,反向变换模块156可对变换系数块应用反向DCT、 反向整数变换、反向卡洛(Karhunen-Loeve)变换(KLT)、反向旋转变换、反向定向变换,或 另一反向变换。
[0134] 在一些实例中,反向变换模块156可基于来自视频编码器20的信令确定应用于变 换系数块的反向变换。在此类实例中,反向变换模块156可基于与变换系数块相关联的树 块的四叉树的根节点处的所信令变换确定反向变换。在其它实例中,反向变换模块156可 从例如块大小、译码模式等一或多个译码特性推断反向变换。在一些实例中,反向变换模块 156可应用级联反向变换。
[0135] 如果TO在跳过模式中编码或使用合并模式编码PU的运动信息,那么运动补偿模 块162可产生PU的合并候选者列表。运动补偿模块162可接着识别合并候选者列表中的 选定合并候选者。在识别合并候选者列表中的选定合并候选者之后,运动补偿模块162可 基于与选定合并候选者指定的运动信息相关联的所述一或多个参考块产生PU的预测视频 块。
[0136] 根据本发明的技术,运动补偿模块162可确定PU是否限于单向帧间预测。此外, 运动补偿模块162可产生PU的合并候选者列表,且确定合并候选者列表中的选定合并候选 者。如果PU限于单向帧间预测,那么运动补偿模块162可基于与选定合并候选者指定的运 动信息相关联的不超过一个参考块产生PU的预测视频块。否则,如果TO不限于单向帧间 预测,那么运动补偿模块162可基于与选定合并候选者指定的运动信息相关联的一或多个 参考块产生PU的预测视频块。
[0137] 如果使用AMVP模式对PU的运动信息进行编码,那么运动补偿模块162可产生列 表0MV预测器候选者列表和/或列表1MV预测器候选者列表。运动补偿模块162可接着确 定选定列表0MV预测器候选者和/或选定列表1MV预测器候选者。接下来,运动补偿模块 162可基于列表0MVD、列表1MVD、选定列表0MV预测器候选者指定的列表0运动向量和/或 选定列表1MV预测器候选者指定的列表1运动向量确定PU的列表0运动向量和/或PU的 列表1运动向量。运动补偿模块162可接着基于与列表0运动向量和列表0参考图片索引 以及/或列表1运动向量和列表1参考图片索引相关联的参考块广生PU的预测视频块。
[0138] 在一些实例中,运动补偿模块162可通过基于内插滤波器执行内插而改善PU的预 测视频块。待用于具有子样本精度的运动补偿的内插滤波器的识别符可包含在语法元素 中。运动补偿模块162可使用与视频编码器20在产生PU的预测视频块期间使用的相同的 内插滤波器来计算参考块的子整数样本的内插值。运动补偿模块162可根据所接收的语法 信息确定视频编码器20使用的内插滤波器,且使用所述内插滤波器产生预测视频块。
[0139] 如果使用帧内预测对TO进行编码,那么帧内预测模块164可执行帧内预测以产生 PU的预测视频块。举例来说,帧内预测模块164可基于位流中的语法元素确定PU的帧内预 测模式。位流可包含帧内预测模块164可用于确定PU的帧内预测模式的语法元素。
[0140] 在一些例子中,语法元素可指示帧内预测模块164将使用另一PU的帧内预测模式 来确定当前ro的帧内预测模式。举例来说,有可能当前PU的帧内预测模式与相邻PU的帧 内预测模式相同。换句话说,相邻PU的帧内预测模式可为当前ro的最可能模式。因此,在 此实例中,位流可包含指示PU的帧内预测模式与相邻PU的帧内预测模式相同的小语法元 素。帧内预测模块164可接着使用帧内预测模式基于空间上相邻PU的视频块产生PU的预 测数据(例如,预测样本)。
[0141] 重建模块158可使用与⑶的TU相关联的残余视频块和⑶的PU的预测视频块,即 帧内预测数据或帧间预测数据(视需要),来重建CU的视频块。特定来说,重建模块158可 将残余数据添加到预测数据以重建经译码视频数据。因此,视频解码器30可基于位流中的 语法元素产生预测视频块和残余视频块,且可基于预测视频块和残余视频块产生视频块。
[0142] 在重建模块158重建⑶的视频块之后,滤波器模块159可执行解块操作以减少与 CU相关联的成块假影。在滤波器模块159执行解块操作以减少与CU相关联的成块假影之 后,视频解码器30可将CU的视频块存储在经解码图片缓冲器160中。经解码图片缓冲器 160可提供用于后续运动补偿、帧内预测和显示装置(例如,图1的显示装置32)上的呈现 的参考图片。举例来说,视频解码器30可基于经解码图片缓冲器160中的视频块对其它CU 的PU执行帧内预测或帧间预测操作。
[0143] 图4是说明实例运动补偿操作200的流程图。例如视频编码器20或视频解码器 30等视频译码器可执行运动补偿操作200。视频译码器可执行运动补偿操作200以产生当 前PU的预测视频块。
[0144] 在视频译码器开始运动补偿操作200之后,视频译码器可确定当前PU的预测模式 是否为跳过模式(202)。如果当前PU的预测模式不是跳过模式(202的"否"),那么视频译 码器可确定当前PU的预测模式为帧间模式且当前TO的帧间预测模式为合并模式(204)。 如果当前PU的预测模式是跳过模式(202的"是"),或如果当前PU的预测模式为帧间模式 且当前PU的帧间预测模式为合并模式(204的"是"),那么视频译码器可产生当前PU的合 并候选者列表(206)。合并候选者列表可包含多个合并候选者。合并候选者的每一者指定 运动信息的集合,例如一或多个运动向量、一或多个参考图片索引、列表〇预测旗标和列表 1预测旗标。合并候选者列表可包含一或多个单向合并候选者或双向合并候选者。在一些 实例中,视频译码器可执行下文参看图6描述的实例操作以产生合并候选者列表。
[0145] 在产生合并候选者列表之后,视频译码器可确定合并候选者列表中的选定合并候 选者(208)。如果视频译码器是视频编码器,那么视频译码器可基于速率-失真分析从合并 候选者列表选择合并候选者。如果视频译码器是视频解码器,那么视频译码器可基于识别 合并候选者列表中的选定合并候选者的位置的语法元素(例如,mergejdx)选择合并候选 者。
[0146] 视频译码器可接着基于选定合并候选者指定的运动信息确定当前TO的运动信息 (210)。运动信息可包含一或多个运动向量和参考图片索引。视频译码器可以各种方式基 于选定合并候选者指定的运动信息确定当前PU的运动信息。举例来说,视频译码器可确定 当前PU的运动信息与选定合并候选者指定的运动信息相同。
[0147] 如果当前TO的帧间预测模式不是合并模式(204的"否"),那么视频译码器可使 用AMVP模式确定当前PU的运动信息(212)。下文详细描述的图8是说明用于使用AMVP模 式确定TO的运动信息的实例操作。
[0148] 在确定当前TO的运动信息之后,视频译码器可确定当前PU是否限于单向帧间预 测(214)。视频译码器可以各种方式确定当前PU是否限于单向帧间预测。举例来说,如果 当前PU的大小特性小于阈值,那么视频译码器可确定当前TO限于单向帧间预测。在此实 例中,如果PU的大小为或8x4、4x8或更小,那么视频译码器可确定当前PU限于单向帧间预 测。在另一实例中,如果视频译码器为视频解码器,那么视频解码器可基于所接收位流中的 语法元素确定当前PU限于单向帧间预测。
[0149] 响应于确定当前TO限于单向帧间预测(214的"是"),视频译码器可基于与当前 PU的运动信息相关联的不超过一个参考块产生当前TO的预测视频块(216)。如上文指示, 参考块可由选定合并候选者指定的运动信息识别或从选定合并候选者指定的运动信息所 识别的参考样本合成。
[0150] 另一方面,响应于确定当前PU不限于单向帧间预测(214的"否"),视频译码器可 基于与当前PU的运动信息相关联的一或多个参考块产生当前TO的预测视频块(218)。如 上文指示,所述一或多个参考块可由选定合并候选者指定的运动信息识别和/或从选定合 并候选者指定的运动信息所识别的参考样本合成。
[0151] 图5是说明另一实例运动补偿操作270的流程图。例如视频编码器20或视频解 码器30等视频译码器可执行运动补偿操作270以产生当前PU的预测视频块。视频译码器 可执行运动补偿操作270作为执行运动补偿操作200的替代。
[0152] 在视频译码器开始运动操作270之后,视频译码器可确定当前PU的预测模式是否 为跳过模式(272)。如果当前PU的预测模式不是跳过模式(272的"否"),那么视频译码器 可确定当前PU的预测模式为帧间模式且当前TO的帧间预测模式为合并模式(273)。如果 当前PU的预测模式为跳过模式(272的"是")或如果当前PU的预测模式为帧间模式且当 前PU的帧间预测模式为合并模式(273的"是"),那么视频译码器可确定当前PU是否限于 单向帧间预测(274)。如果当前PU限于单向帧间预测(274的"是"),那么视频译码器可产 生当前PU的合并候选者列表使得合并候选者列表不包含双向合并候选者(276)。视频译码 器可使用图6中说明的实例操作产生当前PU的合并候选者列表。
[0153] 另一方面,如果当前TO不限于单向帧间预测(274的"否"),那么视频译码器可产 生可包含单向和双向合并候选者的合并候选者列表(278)。在一些实例中,视频译码器可执 行下文参看图6描述的实例操作以产生合并候选者列表。因此,如果当前PU不限于单向帧 间预测,那么合并候选者列表可包含单向合并候选者和双向合并候选者。
[0154] 在产生当前TO的合并候选者列表之后,视频译码器可确定合并候选者列表中的 选定合并候选者(280)。如果视频译码器是视频编码器,那么视频译码器可基于速率-失真 分析从合并候选者列表选择合并候选者。如果视频译码器是视频解码器,那么视频译码器 可基于识别合并候选者列表中的选定合并候选者的位置的语法元素(例如,mergejdx)选 择合并候选者。
[0155] 视频译码器可接着基于选定合并候选者指定的运动信息确定当前TO的运动信息 (282)。选定合并候选者指定的运动信息可指定一或多个运动向量和一或多个参考图片索 弓丨。视频译码器可以各种方式基于选定合并候选者指定的运动信息确定当前PU的运动信 息。举例来说,视频译码器可确定当前PU的运动信息与选定合并候选者指定的运动信息相 同。
[0156] 如果当前TO的帧间预测模式不是合并模式(273的"否"),那么视频译码器可使 用AMVP模式确定当前PU的运动信息(284)。下文详细描述的图8是说明用于使用AMVP模 式确定TO的运动信息的实例操作。
[0157] 在确定当前TO的运动信息之后,视频译码器可产生当前PU的预测视频块(286)。 因为在当前PU限于单向帧间预测的情况下合并候选者列表仅包含单向合并候选者,所以 选定合并候选者仅与单一参考块相关联。因此,如果当前PU在B切片中且限于单向帧间预 测,那么当前PU的预测视频块可基于与选定合并候选者指定的运动信息相关联的不超过 一个参考块。
[0158] 另一方面,如果当前TO不限于单向帧间预测,那么合并候选者列表可包含单向合 并候选者和双向合并候选者。因为合并候选者列表可包含单向合并候选者和双向合并候选 者,所以选定合并候选者可与一个或两个参考块相关联。因此,如果当前PU在B切片中且 不限于单向帧间预测,那么当前PU的预测视频块可基于与选定合并候选者相关联的一或 多个参考块。
[0159] 图6是说明用于产生合并候选者列表的实例操作300的流程图。例如视频编码器 20或视频解码器30等视频译码器可执行操作300以产生当前PU的合并候选者列表。视 频译码器可在当前PU的预测模式为跳过模式时或当当前TO的预测模式为帧间模式且当前 PU的帧间预测模式为合并模式时执行操作300。
[0160] 在视频译码器开始操作300之后,视频译码器可确定空间合并候选者的运动信息 和可用性(302)。视频译码器可基于覆盖空间上与当前PU相邻的位置的PU的运动信息确 定空间合并候选者的运动信息。举例来说,视频译码器可基于覆盖当前PU的左侧、左下侧、 左上侧和右上侧的PU的运动信息确定空间合并候选者的运动信息。
[0161] 视频译码器可以各种方式确定空间合并候选者的可用性。举例来说,如果空间合 并候选者对应于经帧内预测的位于当前帧外部或位于当前切片外部的PU,那么视频译码器 可确定空间合并候选者不可用。此外,如果空间合并候选者的运动信息与另一空间合并候 选者的运动信息相同,那么视频译码器可确定所述空间合并候选者不可用。
[0162] 另外,视频译码器可确定时间合并候选者的运动信息和可用性(304)。时间合并候 选者可指定与当前PU搭配但在与当前ro不同的图片中的PU的运动信息。视频译码器可 以各种方式确定时间合并候选者的可用性。举例来说,如果时间合并候选者对应于经帧内 预测的PU,那么视频译码器可确定所述时间合并候选者不可用。
[0163] 在产生空间合并候选者和时间合并候选者之后,视频译码器可将空间合并候选者 和时间合并候选者的可用者包含在当前PU的合并候选者列表中(306)。如果合并候选者可 用,那么视频译码器可将空间或时间合并候选者包含在合并候选者列表中,且如果合并候 选者不可用,那么视频译码器可从合并候选者列表排除所述合并候选者。通过从合并候选 者列表排除不可用合并候选者,视频译码器可实际上执行从合并候选者列表删除(例如, 省略)不可用合并候选者的删除过程。
[0164] 在一些实例中,视频译码器产生合并候选者列表使得合并候选者列表仅包含单向 合并候选者。在一些此类实例中,视频译码器可确定双向合并候选者不可用。即,如果合并 候选者指定列表〇运动向量和列表1运动向量,那么视频译码器可确定合并候选者不可用。 因此,如果当前PU限于单向预测,那么视频译码器可确定单向合并候选者可用,而双向合 并候选者不可用。因为视频译码器不可将不可用合并候选者包含在合并候选者列表中,所 以合并候选者列表可在一些实例中仅包含单向合并候选者。在此实例中,视频译码器可实 际上执行从合并列表删除双向合并候选者的删除过程。
[0165] 在其中视频译码器产生合并候选者列表使得合并候选者列表仅包含单向合并候 选者的其它实例中,视频译码器可将双向合并候选者转换为单向合并候选者,且接着将单 向合并候选者的可用者包含在合并候选者列表中。在此类实例中,如果单向合并候选者与 已添加到合并候选者列表的单向合并候选者相同,那么视频译码器可不将所述单向合并候 选者添加到合并候选者列表。以此方式,视频译码器可从合并候选者列表删除复制的单向 合并候选者。通过在从合并候选者列表删除复制的单向合并候选者之前将双向合并候选者 转换为单向合并候选者,视频译码器可能够在删除之后避免合并候选者列表中的冗余合并 候选者。在删除复制的单向合并候选者之前将双向合并候选者转换为单向合并候选者可增 加视频译码器的硬件复杂性。另外,视频译码器可将相同的多个双向合并候选者转换为单 向合并候选者。
[0166] 在其它实例中,视频译码器可初始将可用双向合并候选者包含在当前TO的合并 候选者列表中。视频译码器可接着从合并候选者列表删除复制的合并候选者。在视频译码 器已产生合并候选者列表之后,视频译码器可从合并候选者列表确定选定合并候选者,并 在选定合并候选者为双向合并候选者的情况下将选定合并候选者转换为单向合并候选者。 在此实例中,视频译码器可通过仅使用列表0运动向量或列表1运动向量指示的参考块产 生当前PU的预测视频块而将选定双向合并候选者转换为单向合并候选者。
[0167] 与在从合并候选者列表删除复制的合并候选者之前将双向合并候选者转换为单 向合并候选者相比,在从合并候选者列表删除复制的合并候选者之后将选定双向合并候选 者转换为单向合并候选者可仅涉及单一转换,与多次转换形成对比。举例来说,如果转换 在删除复制的合并候选者之后发生,选定合并候选者是合并候选者列表中的第三合并候选 者,且第三合并候选者是双向合并候选者,那么视频译码器可仅将第三合并候选者转换为 单向合并候选者。在此实例中,如果转换在删除复制的合并候选者之前发生,选定合并候选 者是合并候选者列表中的第三合并候选者,且第三合并候选者是双向合并候选者,那么视 频译码器可归因于在转换之后执行删除操作而必须在视频译码器能够确定选定合并候选 者之前转换三个双向合并候选者。
[0168] 视频译码器可依据视频译码器在从合并候选者列表删除复制的合并候选者之前 还是之后将双向合并候选者转换为单向合并候选者而产生不同合并候选者列表。举例来 说,视频译码器可通过取双向合并候选者的列表〇运动向量并忽略双向合并候选者的列表 1运动向量而将双向合并候选者转换为单向合并候选者。在此实例中,第一合并候选者可 为单向的且可指定等于值MV1的列表0运动向量。在此实例中,第二合并候选者可为双向 的且可指定等于值MV1的列表0运动向量和等于值MV2的列表1运动向量。第一和第二合 并候选者可指定相同列表〇参考图片索引。在此实例中,如果视频译码器在从合并候选者 列表删除复制的合并候选者之前将第二合并候选者转换为单向合并候选者,那么可存在等 于MV1的两个单向合并候选者。因此,视频译码器可删除从第二合并候选者产生的单向合 并候选者,因为其在第一合并候选者上是冗余的。因此,视频译码器可将仅一个合并候选者 (例如,第一合并候选者)包含在合并候选者列表中。
[0169] 然而,在前一段落的实例中,如果视频译码器在从合并候选者列表删除复制的合 并候选者之后将第二合并候选者转换为单向合并候选者,那么视频译码器可将第一和第二 合并候选者两者包含在合并候选者列表中。在将第一和第二合并候选者包含在合并候选者 列表中之后,视频译码器可通过取(即,保持)第二合并候选者的列表0运动向量且忽略第 二合并候选者的列表1运动向量而将第二合并候选者转换为单向合并候选者。因此,合并 候选者列表可实际上包含两个合并候选者,其两者均指定等于MV1的列表0运动向量。
[0170] 在将可用合并候选者包含在合并候选者列表中之后,视频译码器可确定当前TO 是否在B切片中(308)。响应于确定当前PU在B切片中(308的"是"),视频译码器可执 行产生零个或多个人为合并候选者且将人为合并候选者包含在合并候选者列表中的过程 (310)。下文详细描述的图7说明用于产生人为合并候选者的实例过程。
[0171] 响应于确定当前TO不在B切片中(308的"否"),或在执行产生人为合并候选者 的过程之后,视频译码器可确定合并候选者列表中的合并候选者的数目小于合并候选者的 最大数目(312)。如果合并候选者列表中的合并候选者的数目不小于合并候选者的最大数 目(312的"否"),那么视频译码器已完成合并候选者列表。
[0172] 然而,响应于确定合并候选者列表中的合并候选者的数目小于合并候选者的最大 数目(312的"是"),视频译码器可产生零值合并候选者(314)。如果当前PU在P切片中, 那么零值合并候选者可指定具有等于零的量值的列表〇运动向量。如果当前PU在B切片 中且当前PU不限于单向帧间预测,那么零值合并候选者可指定具有等于零的量值的列表 〇运动向量和具有等于零的量值的列表1运动向量。在一些实例中,如果当前PU在B切片 中且当前PU限于单向帧间预测,那么零值合并候选者可指定具有等于零的量值的列表0运 动向量或列表1运动向量。视频译码器可接着将零值合并候选者包含在合并候选者列表中 (316)。
[0173] 在将零值合并候选者包含在合并候选者列表中之后,视频译码器可再次确定合并 候选者列表中的合并候选者的数目是否小于合并候选者的最大数目(312),且如果否,那么 视频译码器可产生额外零值合并候选者。以此方式,视频译码器可继续产生零值合并候选 者且将零值合并候选者包含在合并候选者列表中,直到合并候选者列表中的合并候选者的 数目等于合并候选者的最大数目为止。
[0174] 图7是说明用于产生人为合并候选者的实例过程350的流程图。例如视频编码器 20或视频解码器30等视频译码器可执行产生人为合并候选者以供包含在当前PU的合并候 选者列表中的过程350。
[0175] 在视频译码器开始过程350之后,视频译码器可确定是否产生人为合并候选者 (352)。视频译码器可以各种方式确定是否产生人为合并候选者。举例来说,视频译码器可 确定合并候选者列表中的人为合并候选者的数目是否等于可基于合并候选者列表中的原 始合并候选者产生的唯一人为候选者的总数目。原始合并候选者可为指定除当前PU以外 的TO的运动信息的合并候选者。此外,在此实例中,视频译码器可确定合并候选者列表是 否包含最大数目的合并候选者。在此实例中,如果这些条件两者均为假,那么视频译码器可 作出产生人为合并候选者的确定。
[0176] 如果视频译码器作出产生人为合并候选者的确定(352的"是"),那么视频译码器 可确定当前PU是否限于单向帧间预测(354)。如上文描述,视频译码器可以各种方式确定 当前PU是否限于单向帧间预测。举例来说,视频译码器可基于当前ro的大小特性确定当 前PU是否限于单向帧间预测。在另一实例中,视频译码器可基于当前树块、当前CU或当前 PU的语法元素中或切片标头、PPS、APS、SPS中或另一参数集中指示的参数确定当前PU是否 限于单向帧间预测。在一些实例中,树块中的参数可指定与树块相关联的所有ro限于单向 帧间预测。在一些实例中,CU中的参数可指定与CU相关联的所有PU限于单向帧间预测。 在一些实例中,PPS中的参数可指定与PPS相关联的所有PU限于单向帧间预测。在一些实 例中,APS中的参数可指定与APS相关联的所有PU限于单向帧间预测。在一些实例中,SPS 中的参数可指定与同SPS相关联的序列中的图片相关联的所有PU限于单向帧间预测。
[0177] 响应于确定当前TO限于单向帧间预测(354的"是"),视频译码器可产生人为单 向合并候选者(356)。在产生人为单向合并候选者之后,视频译码器可将人为单向合并候选 者包含在合并候选者列表中(358)。在将人为单向合并候选者包含在合并候选者列表中之 后,视频译码器可确定是否产生另一人为合并候选者(352),且如果是,那么产生另一人为 合并候选者。
[0178] 视频译码器可以各种方式产生人为单向合并候选者。举例来说,视频译码器可通 过首先取已在候选者列表中的一对单向合并候选者而产生人为单向合并候选者。第一和第 二单向合并候选者可分别指定运动向量MV1和MV2。在此实例中,视频译码器可接着根据第 一单向合并候选者指定的参考帧与第二单向合并候选者指定的参考帧之间的时间差缩放 MV2。在此实例中,视频译码器可产生指定MV2的经缩放版本的人为单向合并候选者。举例 来说,在此实例中,与第一单向合并候选者相关联的参考图片可在当前图片之后一个图片 发生,且与第二单向合并候选者相关联的参考图片可在当前图片之后四个图片发生。在此 实例中,视频译码器可将MV2的水平和垂直分量两者除以四且使用此经缩放MV2与对应于 MV1的参考图片索引一起作为人为候选者。可基于MV2对MV1执行类似缩放。
[0179] 在另一实例中,视频译码器可产生指定双向合并候选者指定的运动向量的一者的 人为单向合并候选者。举例来说,双向合并候选者可指定列表〇运动向量和列表1运动向 量。在此实例中,视频译码器可产生指定列表0运动向量但不指定列表1运动向量的人为 单向合并候选者。在此实例中,视频译码器可产生指定列表1运动向量但不指定列表〇运 动向量的另一人为单向合并候选者。以此方式,视频译码器可通过将双向合并候选者分离 为两个单向合并候选者(一个来自列表0运动向量且另一个来自列表1运动向量)而从双 向空间或时间合并候选者产生单向人为合并候选者。视频译码器可将单向合并候选者的任 一者或两者包含在合并候选者列表中。换句话说,视频译码器可产生人为单向合并候选者 使得人为单向合并候选者指定双向合并候选者指定的运动向量。
[0180] 在其中视频译码器基于双向合并候选者指定的运动向量产生人为单向合并候选 者的实例中,视频译码器可根据各种次序将人为单向合并候选者添加到合并候选者列表。 举例来说,视频译码器可基于第一双向合并候选者的列表0运动向量添加人为单向合并候 选者,接着基于第一双向合并候选者的列表1运动向量添加人为单向合并候选者,接着基 于第二双向合并候选者的列表0运动向量添加人为单向合并候选者,接着基于第二双向合 并候选者的列表1运动向量添加人为单向合并候选者。以此类推。
[0181] 如果当前PU不限于单向帧间预测(354的"否"),那么视频译码器可产生人为双 向合并候选者(360)。如上文提及,视频译码器可基于例如PU的大小特性、参数等各种因 素确定当前PU是否限于单向帧间预测。视频译码器可以各种方式产生人为双向合并候选 者。举例来说,视频译码器可选择合并候选者列表中的两个合并候选者的组合。在此实例 中,视频译码器可确定是否选定合并候选者的第一者指定列表0中的参考图片,是否选定 合并候选者的第二者指定列表1中的参考图片,以及是否所指定参考图片具有不同图片次 序计数。如果这些条件的每一者为真,那么视频译码器可产生指定组合中的第一合并候选 者的列表0运动向量和组合中的第二合并候选者的列表1运动向量的人为双向合并候选 者。在一些实例中,例如图4的实例中,其中合并候选者列表可包含单向合并候选者和双向 合并候选者,过程350不包含动作354、356和358。而是,视频译码器可产生B切片中的PU 的合并候选者列表中的人为双向合并候选者。
[0182] 在产生人为双向合并候选者之后,视频译码器可将人为双向合并候选者包含在当 前PU的合并候选者列表中(362)。视频译码器可接着确定是否产生另一人为合并候选者 (352),等等。
[0183] 图8是说明用于使用AMVP模式确定PU的运动信息的实例操作400的流程图。例 如视频编码器20或视频解码器30等视频译码器可执行操作400以使用AMVP模式确定PU 的运动信息。
[0184] 在视频译码器开始操作400之后,视频译码器可确定当前PU的帧间预测是否基于 列表0 (402)。如果当前PU的帧间预测基于列表0 (402的"是"),那么视频译码器可产生当 前PU的列表0MV预测器候选者列表(404)。列表0MV预测器候选者列表可包含两个列表 0MV预测器候选者。列表0MV预测器候选者的每一者可指定列表0运动向量。
[0185] 在产生列表0MV预测器候选者列表之后,视频译码器可确定列表0MV预测器候选 者列表中的选定列表0MV预测器候选者(406)。视频译码器可基于列表0MV预测器旗标 ("mvp_10_flag")确定选定列表0MV预测器候选者。视频译码器可接着基于当前PU的列 表0MVD以及选定列表0MV预测器候选者指定的列表0运动向量确定当前PU的列表0运动 向量(408)。
[0186] 此外,在确定当前TO的帧间预测不基于列表0(402的"否")之后,或在确定当前 PU的列表0运动向量(408)之后,视频译码器可确定当前PU的帧间预测是否基于列表1或 PU是否经双向帧间预测(410)。如果当前PU的帧间预测不基于列表1且当前PU未经双向 帧间预测(410的"否"),那么视频译码器已完成使用AMVP模式确定当前PU的运动信息。 响应于确定当前TO的帧间预测基于列表1或当前PU经双向帧间预测(410的"是"),视频 译码器可产生当前PU的列表1MV预测器候选者列表(412)。列表1MV预测器候选者列表 可包含两个列表1MV预测器候选者。列表0MV预测器候选者的每一者可指定列表1运动向 量。
[0187] 在产生列表1MV预测器候选者列表之后,视频译码器可确定列表1MV预测器候选 者列表中的选定列表1MV预测器候选者(414)。视频译码器可基于列表1MV预测器旗标 ("mvp_ll_flag")确定选定列表1MV预测器候选者。视频译码器可接着基于当前PU的列 表1MVD以及选定列表1MV预测器候选者指定的列表1运动向量确定当前PU的列表1运动 向量(416)。
[0188] 在一些实例中,视频译码器可不将双向MV预测器候选者添加到列表0和列表1MV 预测器候选者列表。换句话说,如果MV预测器候选者指定列表0运动向量和列表1运动向 量,那么视频译码器可从列表0和列表1MV预测器候选者列表排除MV预测器候选者。而是, 视频译码器可仅将单向MV预测器候选者添加到列表0和列表1MV预测器候选者列表。视 频译码器可通过检查每一可能且可用MV预测器候选者均为单向的且仅将单向MV预测器候 选者包含在MV预测器候选者列表中而实现此目的。
[0189] 在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如 果实施在软件中,那么所述功能可作为一或多个指令或代码存储在计算机可读媒体上或经 由计算机可读媒体发射,且由基于硬件的处理单元执行。计算机可读媒体可包含对应于例 如数据存储媒体等有形媒体的计算机可读存储媒体,或包含促进将计算机程序从一处转移 到另一处(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体通常 可对应于(1)非暂时性有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数 据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据 结构以用于实施本发明中描述的技术的任何可用媒体。计算机程序产品可包含计算机可读 媒体。
[0190] 借助实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或 其它光盘存储装置、磁盘存储装置,或其它磁性存储装置、快闪存储器,或可用于存储指令 或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,恰当地将任 何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线 (DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源发射指令,那 么同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的 定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它 暂时性媒体,而是针对非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含紧密光盘 (CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中磁盘通常以磁 性方式再现数据,而光盘使用激光以光学方式再现数据。上文的组合也应包含在计算机可 读媒体的范围内。
[0191] 指令可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路 (ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成或离散逻辑电路等一或多个处理器 执行。因此,如本文中所使用的术语"处理器"可指代上述结构或适于实施本文中所描述的 技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供在经配置 用于编码和解码的专门硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所 述技术完全实施于一或多个电路或逻辑元件中。
[0192] 本发明的技术可实施在广泛多种装置或设备中,包含无线手持机、集成电路(1C) 或1C组(例如,芯片组)。本发明中描述各个组件、模块或单元以强调经配置以执行所揭示 的技术的装置的功能方面,且不一定要求由不同硬件或软件单元实现。而是,如上所述,各 个组件、模块和单元可组合在编解码器硬件单元中或由互操作硬件单元(包含如上文描述 的一或多个处理器)结合适宜的软件和/或固件的集合提供。
[0193] 已描述各个实例。这些和其它实例均在所附权利要求书的范围内。
【权利要求】
1. 一种用于对视频数据进行译码的方法,所述方法包括: 确定B切片中的预测单元PU是否限于单向帧间预测; 产生所述PU的合并候选者列表; 确定所述合并候选者列表中的选定合并候选者; 如果所述PU限于单向帧间预测,那么基于与所述选定合并候选者指定的运动信息相 关联的不超过一个参考块产生所述PU的预测视频块;以及 如果所述PU不限于单向帧间预测,那么基于与所述选定合并候选者指定的所述运动 信息相关联的一或多个参考块产生所述PU的所述预测视频块。
2. 根据权利要求1所述的方法,其中确定所述TO是否限于单向预测包括: 如果所述PU的大小特性低于阈值,那么确定所述PU限于单向帧间预测;以及 如果所述PU的所述大小特性不低于所述阈值,那么确定所述PU不限于单向帧间预测。
3. 根据权利要求2所述的方法,其中在所述PU的所述大小特性低于所述阈值的情况下 确定所述PU限于单向帧间预测包括在与所述TO相关联的视频块的高度或宽度低于所述阈 值的情况下确定所述PU限于单向帧间预测。
4. 根据权利要求2所述的方法,其中在所述PU的所述大小特性低于所述阈值的情况下 确定所述PU限于单向帧间预测包括在与所述TO相关联的视频块的第一尺寸小于阈值且与 所述PU相关联的所述视频块的第二尺寸小于或等于所述阈值的情况下确定所述TO限于单 向帧间预测。
5. 根据权利要求2所述的方法,其中在所述PU的所述大小特性低于所述阈值的情况下 确定所述PU限于单向帧间预测包括在与所述TO相关联的视频块的第一尺寸小于第一阈值 且与所述PU相关联的所述视频块的第二尺寸小于第二阈值的情况下确定所述TO限于单向 帧间预测。
6. 根据权利要求5所述的方法,其中所述第一阈值与所述第二阈值相同。
7. 根据权利要求2所述的方法,其中确定所述PU是否限于单向预测包括: 如果与所述PU相关联的译码单元CU的大小特性小于或等于特定大小且所述PU的所 述大小特性低于所述阈值,那么确定所述PU限于单向帧间预测,其中所述CU的所述大小特 性是与所述CU相关联的视频块的高度或宽度;以及 如果所述CU的所述大小特性不等于所述特定大小且所述PU的所述大小特性不低于所 述阈值,那么确定所述PU不限于单向帧间预测。
8. 根据权利要求7所述的方法,其中所述特定大小等于8,且所述阈值等于8。
9. 根据权利要求1所述的方法,其进一步包括: 在产生所述合并候选者列表之后,将所述合并候选者列表中的双向合并候选者转换为 单向合并候选者;以及 将所述单向合并候选者代替于所述双向合并候选者包含在所述合并候选者列表中。
10. 根据权利要求9所述的方法,其中将所述双向合并候选者转换为所述单向合并候 选者包括将所述双向合并候选者转换为所述单向合并候选者使得所述单向合并候选者与 特定参考图片列表中的参考图片相关联,其中每当将双向合并候选者转换为单向合并候选 者,所述单向合并候选者就与所述特定参考图片列表中的参考图片相关联。
11. 根据权利要求1所述的方法,其中产生所述合并候选者列表包括在所述PU限于单 向帧间预测的情况下产生所述合并候选者列表使得所述合并候选者列表仅包含单向合并 候选者。
12. 根据权利要求11所述的方法,其中产生所述合并候选者列表使得所述合并候选者 列表仅包含单向合并候选者包括: 将双向合并候选者转换为一或多个单向合并候选者;以及 将所述单向合并候选者的任一者或两者包含在所述合并候选者列表中。
13. 根据权利要求12所述的方法,其进一步包括在将所述双向合并候选者转换为所述 一或多个单向合并候选者之前删除重复的合并候选者。
14. 根据权利要求12所述的方法,其进一步包括在将所述双向合并候选者转换为所述 单向合并候选者之后删除重复的合并候选者。
15. 根据权利要求12所述的方法,其中将所述双向合并候选者转换为一或多个单向合 并候选者包括将所述双向合并候选者转换为单一单向合并候选者,所述单一单向合并候选 者指不列表0中的参考图片或列表1中的参考图片。
16. 根据权利要求11所述的方法,其中产生所述合并候选者列表使得所述合并候选者 列表仅包含单向合并候选者包括: 产生人为单向合并候选者;以及 将所述人为单向合并候选者包含在所述合并候选者列表中。
17. 根据权利要求16所述的方法,其中: 所述合并候选者列表包含第一单向合并候选者和第二单向合并候选者,所述第一单向 合并候选者指定第一运动向量,所述第二单向合并候选者指定第二运动向量;且 产生所述人为单向合并候选者包括基于所述第一单向合并候选者指定的参考图片与 所述第二单向合并候选者指定的参考图片之间的时间差缩放所述第一运动向量。
18. 根据权利要求16所述的方法,其中产生所述人为单向合并候选者包括产生所述人 为单向合并候选者使得所述人为单向合并候选者指定所述双向合并候选者指定的运动向 量。
19. 根据权利要求1所述的方法,其中所述选定合并候选者是双向合并候选者。
20. 根据权利要求1所述的方法,其中确定所述选定合并候选者包括: 从位流解析指示所述选定合并候选者在所述合并候选者列表中的位置的语法元素;以 及 确定所述选定合并候选者在所述合并候选者列表中的所述位置处的所述选定合并候 选者。
21. 根据权利要求1所述的方法,其中所述方法包括产生包含指示所述选定合并候选 者在所述合并候选者列表中的位置的经编码语法元素的位流。
22. 根据权利要求1所述的方法,其中所述方法在移动计算装置上执行。
23. -种视频译码装置,其包括经配置以进行以下操作的一或多个处理器: 确定B切片中的预测单元PU是否限于单向帧间预测; 产生所述PU的合并候选者列表; 确定所述合并候选者列表中的选定合并候选者; 如果所述PU限于单向帧间预测,那么基于与所述选定合并候选者指定的运动信息相 关联的不超过一个参考块产生所述PU的预测视频块;以及 如果所述PU不限于单向帧间预测,那么基于与所述选定合并候选者指定的所述运动 信息相关联的一或多个参考块产生所述PU的所述预测视频块。
24. 根据权利要求23所述的视频译码装置,其中所述一或多个处理器经配置以: 在所述PU的大小特性低于阈值的情况下确定所述TO限于单向帧间预测;且 在所述PU的所述大小特性不低于所述阈值的情况下确定所述TO不限于单向帧间预 测。
25. 根据权利要求24所述的视频译码装置,其中所述一或多个处理器经配置以在与所 述PU相关联的视频块的高度或宽度低于所述阈值的情况下确定所述TO限于单向帧间预 测。
26. 根据权利要求24所述的视频译码装置,其中所述一或多个处理器经配置以在与所 述PU相关联的视频块的第一尺寸小于阈值且与所述TO相关联的所述视频块的第二尺寸小 于或等于所述阈值的情况下确定所述PU限于单向帧间预测。
27. 根据权利要求24所述的视频译码装置,其中所述一或多个处理器经配置以在与所 述PU相关联的视频块的第一尺寸小于第一阈值且与所述TO相关联的所述视频块的第二尺 寸小于第二阈值的情况下确定所述PU限于单向帧间预测。
28. 根据权利要求27所述的视频译码装置,其中所述第一阈值与所述第二阈值相同。
29. 根据权利要求24所述的视频译码装置,其中所述一或多个处理器经配置以: 在与所述PU相关联的译码单元CU的大小特性小于或等于特定大小且所述PU的所述 大小特性低于所述阈值的情况下确定所述PU限于单向帧间预测;且 在所述CU的所述大小特性不等于所述特定大小且所述PU的所述大小特性不低于所述 阈值的情况下确定所述PU不限于单向帧间预测。
30. 根据权利要求29所述的视频译码装置,其中所述特定大小等于8,且所述阈值等于 8〇
31. 根据权利要求23所述的视频译码装置,其中所述一或多个处理器进一步经配置 以: 在产生所述合并候选者列表之后,将所述合并候选者列表中的双向合并候选者转换为 单向合并候选者;且 将所述单向合并候选者代替于所述双向合并候选者包含在所述合并候选者列表中。
32. 根据权利要求31所述的视频译码装置,其中所述一或多个处理器经配置以将所述 双向合并候选者转换为所述单向合并候选者使得所述单向合并候选者与特定参考图片列 表中的参考图片相关联,其中每当所述一或多个处理器将双向合并候选者转换为单向合并 候选者,所述单向合并候选者就与所述特定参考图片列表中的参考图片相关联。
33. 根据权利要求23所述的视频译码装置,其中所述一或多个处理器经配置以产生所 述合并候选者列表使得在所述PU限于单向帧间预测的情况下所述合并候选者列表仅包含 单向合并候选者。
34. 根据权利要求33所述的视频译码装置,其中为产生所述合并候选者列表使得所述 合并候选者列表仅包含单向合并候选者,所述一或多个处理器经配置以: 将双向合并候选者转换为一或多个单向合并候选者;且 将所述单向合并候选者的任一者或两者包含在所述合并候选者列表中。
35. 根据权利要求34所述的视频译码装置,其中所述一或多个处理器进一步经配置以 在将所述双向合并候选者转换为所述一或多个单向合并候选者之前删除重复的合并候选 者。
36. 根据权利要求34所述的视频译码装置,其中所述一或多个处理器经配置以在将所 述双向合并候选者转换为所述一或多个单向合并候选者之后删除重复的合并候选者。
37. 根据权利要求34所述的视频译码装置,其中所述一或多个处理器经配置以将所述 双向合并候选者转换为单一单向合并候选者,所述单一单向合并候选者与列表〇中的参考 图片或列表1中的参考图片相关联。
38. 根据权利要求33所述的视频译码装置,其中为产生所述合并候选者列表使得所述 合并候选者列表仅包含单向合并候选者,所述一或多个处理器经配置以: 产生人为单向合并候选者;且 将所述人为单向合并候选者包含在所述合并候选者列表中。
39. 根据权利要求38所述的视频译码装置,其中: 所述合并候选者列表包含第一单向合并候选者和第二单向合并候选者,所述第一单向 合并候选者指定第一运动向量,所述第二单向合并候选者指定第二运动向量;且 为产生所述人为单向合并候选者,所述一或多个处理器经配置以基于所述第一单向合 并候选者指定的参考图片与所述第二单向合并候选者指定的参考图片之间的时间差缩放 所述第一运动向量。
40. 根据权利要求38所述的视频译码装置,其中所述一或多个处理器经配置以产生所 述人为单向合并候选者使得所述人为单向合并候选者指定双向合并候选者指定的运动向 量。
41. 根据权利要求23所述的视频译码装置,其中所述选定合并候选者是双向合并候选 者。
42. 根据权利要求23所述的视频译码装置,其中所述视频译码装置对视频数据进行解 码,且所述一或多个处理器经配置以基于指示所述选定合并候选者在所述合并候选者列表 中的位置的语法元素确定所述选定合并候选者。
43. 根据权利要求23所述的视频译码装置,其中所述视频译码装置对视频数据进行编 码,且所述一或多个处理器经配置以输出指示所述选定合并候选者在所述合并候选者列表 中的位置的语法元素。
44. 根据权利要求23所述的视频译码装置,其中所述视频译码装置是移动计算装置。
45. -种视频译码装置,其包括: 用于确定B切片中的预测单元PU是否限于单向帧间预测的装置; 用于产生所述PU的合并候选者列表的装置; 用于确定所述合并候选者列表中的选定合并候选者的装置; 用于在所述PU限于单向帧间预测的情况下基于与所述选定合并候选者指定的运动信 息相关联的不超过一个参考块产生所述PU的预测视频块的装置;以及 用于在所述PU不限于单向帧间预测的情况下基于与所述选定合并候选者指定的所述 运动信息相关联的一或多个参考块产生所述PU的所述预测视频块的装置。
46. 根据权利要求45所述的视频译码装置,其中所述用于确定所述PU是否限于单向预 测的装置包括: 用于在所述PU的大小特性低于阈值的情况下确定所述PU限于单向帧间预测的装置; 以及 用于在所述PU的所述大小特性不低于所述阈值的情况下确定所述PU不限于单向帧间 预测的装置。
47. 根据权利要求45所述的视频译码装置,其中所述选定合并候选者是双向合并候选 者。
48. -种计算机程序产品,其包括存储指令的一或多个计算机可读存储媒体,所述指令 当执行时配置一或多个处理器以: 确定B切片中的预测单元PU是否限于单向帧间预测; 产生所述PU的合并候选者列表; 确定所述合并候选者列表中的选定合并候选者; 在所述PU限于单向帧间预测的情况下,基于与选定合并候选者指定的运动信息相关 联的不超过一个参考块产生所述PU的预测视频块;且 在所述PU不限于单向帧间预测的情况下,基于与所述选定合并候选者指定的所述运 动信息相关联的一或多个参考块产生所述PU的所述预测视频块。
49. 根据权利要求48所述的计算机程序产品,其中所述指令配置所述一或多个处理器 以: 确定所述PU是否限于单向预测包括: 在所述PU的大小特性低于阈值的情况下确定所述ro限于单向帧间预测;以及 在所述PU的所述大小特性不低于所述阈值的情况下确定所述ro不限于单向帧间预 测。
50. 根据权利要求48所述的计算机程序产品,其中所述选定合并候选者是双向合并候 选者。
【文档编号】H04N19/176GK104094605SQ201380008193
【公开日】2014年10月8日 申请日期:2013年2月7日 优先权日:2012年2月8日
【发明者】翔林·王, 瓦迪姆·谢廖金, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1