首页> 中国专利> 用于视图间或层间参考图片的位流约束和运动向量限制

用于视图间或层间参考图片的位流约束和运动向量限制

摘要

本发明描述用于运动向量限制的技术,其中位流中的信息确保来自运动向量预测值的所导出的运动向量顺应运动向量限制。还描述用于指示用于并行解码的所述运动向量限制的技术。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-28

    授权

    授权

  • 2016-01-20

    实质审查的生效 IPC(主分类):H04N19/31 申请日:20140103

    实质审查的生效

  • 2015-09-02

    公开

    公开

说明书

本申请案主张以下申请案的权利:2013年1月4日申请的美国临时申请案第 61/749,213号、2013年1月21日申请的美国临时申请案第61/754,864号、2013年1月 22日申请的美国临时申请案第61/755,274号和2013年1月29日申请的美国临时申请 案第61/758,206号,所述申请案中的每一者的全部内容以引用的方式并入本文中。

技术领域

本发明涉及视频译码,且更明确地说,涉及用于译码视频数据的技术。

背景技术

可将数字视频能力并入到广泛范围的装置中,所述装置包含数字电视、数字直播 系统、无线广播系统、个人数字助理(PDA)、膝上型计算机或桌上型计算机、数码相 机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫 星无线电电话、视频电话会议装置和其类似者。数字视频装置实施视频压缩技术,例 如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(先进视 频译码(AVC))、当前在开发过程中的高效率视频译码(HEVC)标准定义的标准和这些标 准的扩展中所描述的视频压缩技术,以更有效率地发射、接收和存储数字视频信息。

视频压缩技术包含空间预测和/或时间预测以减少或去除视频序列中所固有的冗 余。对于基于块的视频译码,可将视频帧或切片分割成块。可进一步分割每一块。使 用相对于同一帧或切片中的相邻块中的参考样本的空间预测编码经帧内译码(I)帧或切 片中的块。经帧间译码(P或B)帧或切片中的块可使用相对于同一帧或切片中的相邻块 中的参考样本的空间预测或相对于其它参考帧中的参考样本的时间预测。空间或时间 预测产生待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像 素差。

根据指向形成预测性块的参考样本的块的运动向量和指示经译码块与预测性块之 间的差的残余数据编码经帧间译码块。根据帧内译码模式和残余数据来编码经帧内译 码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生接着可经量 化的残余变换系数。可按特定次序扫描最初排列成二维阵列的经量化的变换系数以产 生变换系数的一维向量以用于熵译码。

发明内容

一般来说,本发明描述视频译码技术,其确保所导出的运动向量不违反运动向量 限制。例如,视频编码器可在位流中传信语法元素,所述语法元素定义视频解码器将 导出运动向量的方式。所述技术可确保位流不包含将致使视频解码器导出违反运动向 量限制的运动向量的语法元素值。

本发明也描述用于指示解码延迟的技术,所述解码延迟可用于并行解码。例如, 所述技术可指示可由视频解码器普遍使用以用于并行解码的解码延迟。可结合确保所 导出的运动向量不违反运动向量限制的技术使用用于指示解码延迟的这些技术。然 而,本发明中所描述的技术不限于此。

在一个实例中,本发明描述一种视图间或层间视频解码的方法,所述方法包括: 接收位流,所述位流包含用于从运动向量预测值导出当前块的运动向量的信息,其中 所述运动向量参考视图间参考图片或层间参考图片,其中所述位流受到约束以使得所 述信息确保所述所导出的运动向量顺应运动向量限制,且其中所述运动向量限制会限 制所述运动向量的范围以参考所述视图间或层间参考图片的子部分。所述方法也包含 基于所述位流中的所述信息导出所述当前块的所述运动向量,且基于所述所导出的运 动向量视图间或层间预测解码所述当前块。

在一个实例中,本发明描述一种视图间或层间视频编码的方法,所述方法包括: 确定信息,所述信息用于从运动向量预测值导出当前块的运动向量,所述信息确保所 述所导出的运动向量顺应运动向量限制,其中所述运动向量参考视图间参考图片或层 间参考图片,且其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间 或层间参考图片的子部分。所述方法也包含基于所述信息导出所述当前块的所述运动 向量,基于所述所导出的运动向量视图间或层间预测编码所述当前块,且产生用于导 出所述运动向量的所述所确定的信息以用于输出。

在一个实例中,本发明描述一种包括视频解码器的装置,所述视频解码器包括一 或多个处理器且经配置以:接收位流,所述位流包含用于从运动向量预测值导出当前 块的运动向量的信息,其中所述运动向量参考视图间参考图片或层间参考图片,其中 所述位流受到约束以使得所述信息确保所述所导出的运动向量顺应运动向量限制,且 其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间或层间参考图片 的子部分。所述视频解码器也经配置以基于所述位流中的所述信息导出所述当前块的 所述运动向量,且基于所述所导出的运动向量视图间或层间预测解码所述当前块。

在一个实例中,本发明描述一种包括视频编码器的装置,所述视频编码器包括一 或多个处理器且经配置以:确定信息,所述信息用于从运动向量预测值导出当前块的 运动向量,所述信息确保所述所导出的运动向量顺应运动向量限制,其中所述运动向 量参考视图间参考图片或层间参考图片,且其中所述运动向量限制会限制所述运动向 量的范围以参考所述视图间或层间参考图片的子部分。所述视频编码器也经配置以基 于所述信息导出所述当前块的所述运动向量,基于所述所导出的运动向量视图间或层 间预测编码所述当前块,且产生用于导出所述运动向量的所述所确定的信息以用于输 出。

在一个实例中,本发明描述一种计算机可读存储媒体,其具有存储于其上的指 令,所述指令在执行时致使用于解码视频数据的装置的一或多个处理器:接收位流, 所述位流包含用于从运动向量预测值导出当前块的运动向量的信息,其中所述运动向 量参考视图间参考图片或层间参考图片,其中所述位流受到约束以使得所述信息确保 所述所导出的运动向量顺应运动向量限制,且其中所述运动向量限制会限制所述运动 向量的范围以参考所述视图间或层间参考图片的子部分。所述指令也致使所述一或多 个处理器基于所述位流中的所述信息导出所述当前块的所述运动向量,且基于所述所 导出的运动向量视图间或层间预测解码所述当前块。

在一个实例中,本发明描述一种装置,所述装置包括:用于接收位流的装置,所 述位流包含用于从运动向量预测值导出当前块的运动向量的信息,其中所述运动向量 参考视图间参考图片或一层间参考图片,其中所述位流受到约束以使得所述信息确保 所述所导出的运动向量顺应运动向量限制,且其中所述运动向量限制会限制所述运动 向量的范围以参考所述视图间或层间参考图片的子部分。所述装置也包含用于基于所 述位流中的所述信息导出所述当前块的所述运动向量的装置,和用于基于所述所导出 的运动向量视图间或层间预测解码所述当前块的装置。

一或多个实例的细节陈述于随附图式和以下描述中。其它特征、目标和优势将从 所述描述和所述图式以及从权利要求书而显而易见。

附图说明

图1为说明可利用本发明中所描述的技术的实例视频编码和解码系统的框图。

图2为说明实例多视图视频译码(MVC)解码次序的图形图。

图3为说明用于多视图视频译码的结构的概念图。

图4为说明两个视图的并行译码过程的实例的流程图。

图5为说明可实施本发明中所描述的技术的实例视频编码器的框图。

图6为说明可实施本发明中所描述的技术的实例视频解码器的框图。

图7为说明根据本发明中所描述的技术的视图间或层间视频解码的实例操作的流 程图。

图8为说明根据本发明中所描述的技术的视图间或层间视频编码的实例操作的流 程图。

具体实施方式

运动向量限制指将运动向量的x分量或y分量中的至少一者限于值范围内。以此 方式,运动向量限制会限制可用以帧间预测当前块的参考图片的块。例如,如果y分 量被限制在某一范围内,那么参考图片中的在y分量范围之外的任何块无法被用以帧 间预测当前块。一般来说,运动向量限制可用以限制运动向量的范围以参考参考图片 的子部分,如更详细所描述,所述参考图片可为视图间或层间参考图片。

可能存在运动向量限制可为有用的各种原因。作为一个实例,运动向量限制可减 少为了帧间预测当前块所需要存取的参考图片的数据量,此举增加存储器频宽效率。 例如,对于帧间预测当前块来说,可不需要存取驻留于限制范围之外的块的视频数 据。

作为另一实例,运动向量限制可实现并行解码。例如,在多视图视频译码或可缩 放视频译码中,可用参考视图或层(例如,基本视图或层)中的图片来帧间预测(例如, 视图间预测或层间预测)相依视图或层中的图片。在无运动向量限制的情况下,视频解 码器可能需要在重构建相依视图或层图片之前重构建整个参考视图或层图片。出于此 原因,运动向量限制可为合乎需要的,以避免需要在重构建相依视图或层图片之前重 构建整个参考视图或层图片。

此外,在具有运动向量限制的情况下,视频解码器可能能够与参考视图或层图片 并行地重构建相依视图或层图片。例如,假定运动向量限制定义:用于相依视图或层 图片中的任何块的运动向量的y分量不能在参考视图或层(例如,基本视图或层)中大于 Th,其中Th定义y分量限制。换句话说,如果当前块位于相依视图或层图片中的(x, y),那么仅位于参考视图或层图片中的(x,y+Th)处或上方的块可被用以帧间预测当前 块。

在此实例中,在视频解码器重构建参考视图或层图片直到y+Th块之后,视频解码 器可能能够与参考视图或层图片并行地重构建相依视图或层图片。此情形的原因在 于:在参考视图或层图片中的y+Th块之后的任何块皆无法用以帧间预测相依视图或层 图片中的具有y分量值“y”的块。在此意义上,运动向量限制可定义并行解码延迟 (即,在视频解码器可开始相依视图或层图片的重构建之前必须重构建的参考视图或层 图片的行数)。在一些实例中,基于用于重构建参考视图或层图片的滤波类型,视频解 码器可能直到在y+Th行之后的若干行中的一些块经重构建之后才能够开始相依视图或 层图片的重构建。

然而,使用运动向量限制可能存在问题。例如,在许多状况下,视频编码器可能 不传信当前块的实际运动向量的信息(例如,语法元素)。而是,视频编码器可传信视频 解码器可导出运动向量所根据的信息(例如,语法元素)。作为一个实例,作为合并/跳 过模式或先进运动向量预测(AMVP)模式的部分,视频编码器可传信候选运动向量预测 值的列表的索引,而非传信当前块的运动向量的信息。视频解码器可基于所接收的索 引从候选运动向量预测值的列表选择运动向量预测值,且基于运动向量预测值导出用 于当前块的运动向量。在这些实例中的一些中,在导出运动向量的过程中,视频解码 器有可能导出违反运动向量限制的运动向量。

例如,在合并/跳过模式中,视频解码器采用运动向量预测值的运动向量(即,将当 前块的运动向量设定为等于运动向量预测值)。可能无法保证在当前块的运动向量被设 定等于运动向量预测值的情况下运动向量将遵守当前块的运动向量限制。

作为另一实例,在AMVP模式中,视频解码器接收选定运动向量预测值与从最佳 匹配搜索确定的运动向量之间的运动向量差(MVD)。视频解码器将MVD与选定运动向 量预测值相加以导出用于当前块的运动向量。然而,在一些实例中,通过将MVD与运 动向量预测值相加所得的所导出的运动向量有可能违反运动向量限制。

当使用运动向量限制(例如,在下文更详细描述的时间运动向量预测值(TMVP)中) 时可能存在其它这些问题。如下文更详细所描述,当使用运动向量限制时,也可能存 在关于指示参考特定参考图片列表的运动向量预测值的所有MVD为零的MVD旗标的 问题。

本发明中所描述的技术可确保在位流中的由视频解码器使用以导出运动向量的信 息确保所导出的运动向量不会违反运动向量限制。作为一个实例,对于合并/跳过模 式,所述技术可确保位流不包含候选运动向量预测值的列表的针对运动向量预测值的 索引,所述运动向量预测值如果被采用作为当前块的运动向量,那么将致使所导出的 运动向量违反运动向量限制。作为另一实例,对于AMVP模式,所述技术可确保位流 包含在与运动向量预测值相加时会致使所得的所导出的运动向量顺应运动向量限制的 MVD。

在使用运动向量限制作为并行解码的部分的情况下也可能存在问题或关注事项。 一些技术可将并行解码延迟设定为两个宏块行的固定值。然而,一些新近视频译码标 准并不依赖于宏块,而是使用树型块或最大译码单元(LCU)或译码树型单元(CTU)的阶 层式结构。每一树型块可根据四分树而分裂成译码单元(CU)。例如,树型块(作为四分 树的根节点)可分裂成四个子节点,且每一子节点又可为父节点,且分裂成另外四个子 节点。最后未分裂的子节点(作为四分树的叶节点)包括译码节点(即,经译码的视频 块)。因此,来自使用“宏块”的压缩技术的“行”的概念可能并不十分适用于使用树 型块而非宏块的技术。

实际上,可能不存在从宏块行到利用此阶层式结构的视频译码标准中的块行的直 接扩展。换句话说,在使用树型块阶层式结构的视频译码技术中可能不存在并行解码 延迟两个宏块行的直接方式。

为了克服将运动向量限制固定到数个宏块行的限制,一些技术传信例如以LCU行 为单位的运动向量限制。然而,视频解码器仍可需要将LCU行的单位转换成视频解码 器可利用以确定何时开始并行解码的值(例如,并行解码延迟)。

作为一个实例,视频解码器可需要基于LCU大小将LCU行转换成视频解码器可 利用以确定何时开始并行解码的值。然而,可不存在每一视频解码器可将LCU行转换 成视频解码器可利用于并行解码的值的统一方式,从而导致不同视频解码器确定不同 量的并行解码延迟。不同视频解码器确定不同量的并行解码延迟可导致解码效率低 下,和可能的解码错误。

在一些实例中,本发明中所描述的技术可传信以译码单元大小为单位的并行解码 延迟。以此方式,可能存在每一视频解码器可能能够确定并行解码延迟的一致方式。 例如,视频解码器可不需要所接收的并行解码延迟信息到可用以确定何时可开始并行 解码的值的任何进一步转换。

图1为说明可利用本发明中所描述的技术的实例视频编码和解码系统10的框图。 如图1中所示,系统10包含源装置12,源装置12产生将由目的地装置14稍后解码的 经编码视频数据。源装置12和目的地装置14可包括广泛范围的装置中的任一者,包 含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智 能型”电话的电话手机、所谓的“智能型”板、电视、摄影机、显示装置、数字媒体 播放器、视频游戏控制台、视频流式传输装置或其类似者。在一些状况下,源装置12 和目的地装置14可经配备以用于无线通信。

目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够 将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一 个实例中,链路16可包括通信媒体以使源装置12能够实时将经编码视频数据直接传 输到目的地装置14。经编码视频数据可根据通信标准(例如,无线通信协议)加以调制 且被传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频 (RF)频谱或一或多个物理传输线。通信媒体可形成基于封包的网络(例如,局域网、广 域网或例如因特网的全球网络)的部分。通信媒体可包含路由器、交换器、基站或可有 用于促进从源装置12到目的地装置14的通信的任何其它装备。

替代地,经编码数据可从输出接口22输出到存储装置34。类似地,可通过输入接 口从存储装置34存取经编码数据。存储装置34可包含多种分布式或本地存取的数据 存储媒体中的任一者,例如硬盘机、蓝光光盘、DVD、CD-ROM、快闪存储器、易失 性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在 另一实例中,存储装置34可对应于文件服务器或可保持由源装置12产生的经编码视 频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置34存取所 存储视频数据。文件服务器可为能够存储经编码视频数据且将彼经编码视频数据传输 到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网 站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘机。目的地装置14可经由包含 因特网连接的任何标准数据连接存取经编码视频数据。此情形可包含适合于存取存储 于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如, DSL、缆线调制解调器等)或两者的组合。经编码视频数据从存储装置34的传输可为流 式传输、下载传输或两者的组合。

本发明的技术不必限于无线应用或设置。技术可适用于支持多种多媒体应用中的 任一者的视频译码,所述应用例如空中电视广播、有线电视传输、卫星电视传输、流 式传输视频传输(例如,经由因特网)、编码数字视频以用于存储于数据存储媒体上、解 码存储于数据存储媒体上的数字视频或其它应用。在一些实例中,系统10可经配置以 支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播和/或视频电 话的应用。

在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一 些状况下,输出接口22可包含调制器/解调制器(调制解调器)和/或传输器。在源装置 12中,视频源18可包含例如以下各者的源:视频捕获装置(例如,摄像机)、含有先前 捕获的视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口,和/或用于 产生计算机图形数据作为源视频的计算机图形系统,或这些源的组合。作为一个实 例,如果视频源18为摄像机,那么源装置12和目的装置14可形成所谓的摄影机电话 或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码,且可适用于无 线和/或有线应用。

可由视频编码器20来编码所捕获、预捕获或计算机产生的视频。经编码视频数据 可经由源装置12的输出接口22直接传输到目的地装置14。经编码视频数据也可(或替 代地)存储到存储装置34上以供稍后由目的地装置14或其它装置存取以用于解码和/或 播放。

目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些状况下, 输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28经由链路 16接收经编码视频数据。经由链路16传达或在存储装置34上所提供的经编码视频数 据可包含由视频编码器20产生以供例如视频解码器30的视频解码器使用以解码视频 数据的多种语法元素。这些语法元素可与传输于通信媒体上、存储于存储媒体上或存 储于文件服务器上的经编码视频数据包含在一起。在本发明中,位流中的术语“信 息”通常用以指位流中的任何信息,包含语法元素。

显示装置32可与目的地装置14集成或在目的地装置14的外部。在一些实例中, 目的地装置14可包含集成式显示装置且也经配置以与外部显示装置介接。在其它实例 中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数 据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机 发光二极管(OLED)显示器或另一类型的显示装置。

视频编码器20和视频解码器30可根据视频压缩标准操作,视频压缩标准例如 ITU-T H.264标准,替代地被称作MPEG-4第10部分先进视频译码(AVC)或这些标准 的扩展。替代地,视频编码器20和视频解码器30可根据例如高效率视频译码(HEVC) 标准的其它专有或工业标准操作且可符合HEVC测试模型(HM)。然而,本发明的技术 不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。

尽管未在图1中展示,但在一些方面中,视频编码器20和视频解码器30可各自 与音频编码器和解码器集成,且可包含适当MUX-DEMUX单元或其它硬件和软件以处 置共同数据流或独立数据流中的音频和视频两者的编码。如果适用,那么在一些实例 中,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议 (UDP)的其它协议。

视频编码器20和视频解码器30各自可实施为多种合适编码器电路中的任一者, 例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程 门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。在所述技术部分地以软 件实施时,装置可将软件的指令存储于合适的非暂时性计算机可读媒体中且在硬件中 使用一或多个处理器执行指令以执行本发明的技术。

视频编码器20和视频解码器30中的每一者可包含于一或多个编码器或解码器 中,其中的任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。作为 一个实例,装置可包含视频解码器30,且装置的一个实例为集成电路(IC),且装置的 另一实例为微处理器。作为另一实例,装置可包含视频解码器30,且装置的一个实例 为无线通信装置。视频编码器20可类似地形成于IC、微处理器或无线通信装置中。

存在由ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的视频 译码联合协作组(JCT-VC)开发的新的视频译码标准,即,高效率视频译码(HEVC)。 HEVC标准化努力是基于视频译码装置的演进模型,其被称作HEVC测试模型(HM)。 HM假设视频译码装置相对于根据(例如)ITU-T H.264/AVC的现有装置的若干额外能 力。例如,H.264提供9个帧内预测编码模式,而HM可提供多达33个帧内预测编码 模式。

在下文中被称作HEVC WD9的HEVC的新近工作草案(WD)可从http://phenix.int- evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v13.zip得到。被称 作“HEVC工作草案10”或“WD10”的HEVC标准的另一新近草案描述于文件 JCTVC-L1003v34,布罗斯(Bross)等人的“高效率视频译码(HEVC)文本规范草案10(针 对FDIS和最后通话)(High efficiency video coding(HEVC)text specification draft 10(for  FDIS&Last Call))”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合协 作组(JCT-VC),第12次会议:瑞士日内瓦,2013年1月14日到23日)中,所述文件 可从http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003- v34.zip下载。HEVC标准的又一草案在本文中被称作“WD10修订版”,其描述于布 罗斯等人的“编辑提议的对HEVC版本1的校正(Editors'proposed corrections to HEVC  version 1)”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合协作组 (JCT-VC),第13次会议,韩国仁川,2013年4月)中,所述文件可从http://phenix.int- evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0432-v3.zip得到。HEVC  WD9、WD10和WD10修订版的内容全文以引用的方式并入本文中。

一般来说,HM的工作模型描述可将视频帧或图片划分成包含亮度和色度样本两者 的树型块或最大译码单元(LCU)的序列。树型块可具有与H.264标准的宏块的目的类似 的目的。切片包含按译码次序的数个连续树型块。可将视频帧或图片分割成一或多个 切片。每一树型块可根据四分树而分裂成译码单元(CU)。例如,树型块(作为四分树的 根节点)可分裂成四个子节点,且每一子节点又可为父节点,且分裂成另外四个子节 点。作为四分树的叶节点的最后未分裂子节点包括译码节点,即经译码视频块。与经 译码的位流相关联的语法数据可定义树型块可分裂的最大次数,且也可定义译码节点 的最小大小。

CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU 的大小对应于译码节点的大小且形状必须为正方形。CU的大小可在从8×8个像素直到 最大64×64个像素或更大的树型块的大小的范围内。每一CU可含有一或多个PU和一 或多个TU。例如,与CU相关联的语法数据可描述将CU分割成一或多个PU的情 形。分割模式可在CU是被跳过还是以直接模式编码、以帧内预测模式编码或以帧间预 测模式编码之间而为不同的。PU可经分割以使形状为非正方形。例如,与CU相关联 的语法数据也可描述根据四分树将CU分割成一或多个TU的情形。TU的形状可为正 方形或非正方形。

HEVC标准允许根据TU的变换,所述变换对于不同CU可为不同的。TU通常基 于针对经分割LCU定义的给定CU内的PU的大小而设定大小,但此可不总是为所述 状况。TU的大小通常与PU相同或小于PU。在一些实例中,可使用被称作“残余四分 树”(RQT)的四分树结构将对应于CU的残余样本再分成较小单元。RQT的叶节点可被 称作变换单元(TU)。可变换与TU相关联的像素差值以产生变换系数,变换系数可被量 化。

一般来说,PU包含与预测过程有关的数据。例如,在PU经帧内模式编码(帧内预 测)时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,在PU经帧间 模式编码(帧间预测)时,PU可包含定义用于PU的运动向量的数据。例如,定义PU的 运动向量的数据可描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨 率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/ 或运动向量的参考图片列表(例如,列表0(L0)或列表1(L1))。列表0和列表1可分别被 称作RefPicList0和RefPicList1。

一般来说,TU是用于变换过程和量化过程。具有一或多个PU的给定CU也可包 含一或多个变换单元(TU)。在预测之后,视频编码器20可计算对应于PU的残余值。 残余值包括像素差值,像素差值可使用TU变换成变换系数、经量化且扫描以产生串行 化变换系数以用于熵译码。本发明通常使用术语“视频块”来指CU的译码节点。在一 些特定状况下,本发明也可使用术语“视频块”来指树型块,即LCU,或包含译码节 点和PU以及TU的CU。

例如,对于根据当前在开发过程中的高效率视频译码(HEVC)标准的视频译码,视 频帧(也被称作图片)可经分割成译码单元(CU)、预测单元(PU)和变换单元(TU)。CU通 常指充当基本单元的图像区,各种译码工具被应用于所述基本单元以用于视频压缩。 CU通常具有正方形几何形状,且可被视为类似于在其它视频译码标准(例如,ITU-T  H.264)下的所谓的“宏块”。

为了达成优选译码效率,CU可取决于其含有的视频数据而具有可变大小。即, CU可经分割或“分裂”成较小块或子CU,其中的每一者也可被称作CU。另外,未分 裂成子CU的每一CU可分别出于预测和变换CU的目的而进一步分割成一或多个PU 和TU。

PU可被视为类似于在其它视频译码标准(例如,H.264)下的块的所谓的分割区。 PU为执行用于块的预测以产生“残余”系数的基础。CU的残余系数表示CU的视频 数据与使用CU的一或多个PU确定的用于CU的经预测数据之间的差。具体地说,一 或多个PU指定出于预测的目的如何来分割CU,和使用哪一预测模式来预测CU的每 一分割区内所含有的视频数据。

CU的一或多个TU指定CU的残余系数块的分割区,基于所述分割区将变换应用 于块以产生CU的残余变换系数块。一或多个TU也可与所应用的变换的类型相关联。 变换将残余系数从像素或空间域转换到例如频域的变换域。另外,一或多个TU可指定 参数,基于所述参数将量化应用于所得残余变换系数块以产生经量化的残余变换系数 块。残余变换系数可经量化以可能地减少用以表示系数的数据量。

CU通常包含表示为Y的一个亮度分量和表示为U和V的两个色度分量。换句话 说,未进一步分裂成子CU的给定CU可包含Y、U和V分量,所述分量中的每一者可 出于预测和变换CU的目的而进一步分割成一或多个PU和TU,如先前所描述。例 如,取决于视频采样格式,U和V分量的大小就样本数目来说可与Y分量的大小相同 或不同。因此,可针对给定CU的Y、U和V分量中的每一者执行上文参考预测、变 换和量化所描述的技术。

为了编码CU,首先基于CU的一或多个PU来导出用于CU的一或多个预测值。 预测值为含有用于CU的经预测数据的参考块,且是基于CU的对应PU而导出,如先 前所描述。例如,PU指示将被确定经预测数据的CU的分割区,和用以确定经预测数 据的预测模式。可经由帧内(I)预测(即,空间预测)或帧间(P或B)预测(即,时间预测)模 式导出预测值。因此,一些CU可使用相对于相同帧中的相邻参考块或CU的空间预测 来帧内译码(I),而其它CU可相对于其它帧中的参考块或CU来帧间译码(P或B)。

在基于CU的一或多个PU识别出一或多个预测值时,计算对应于一或多个PU的 CU的原始视频数据与一或多个预测值中所含有的用于CU的经预测数据之间的差。此 差(也被称作预测残余)包括残余系数,且指由一或多个PU指定的CU的部分与一或多 个预测值之间的像素差,如先前所描述。残余系数通常排列成对应于CU的一或多个 PU的二维(2-D)阵列。

为了达成进一步压缩,通常(例如)使用离散余弦变换(DCT)、整数变换、卡忽南-拉 维(K-L)变换或另一变换来变换预测残余。变换将空间域中的预测残余(即,残余系数) 转换成变换域(例如,频域)中的残余变换系数,也如先前所描述。变换系数通常也排列 成对应于CU的一或多个TU的2-D阵列。为了进一步压缩,残余变换系数可经量化以 可能地减少用以表示系数的数据量,也如先前所描述。

为了达成更进一步的压缩,熵译码器随后使用上下文自适应性可变长度译码 (CAVLC)、上下文自适应性二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)或另 一熵译码方法来编码所得残余变换系数。熵译码可通过相对于其它CU减少或去除CU 的视频数据中所固有的由系数表示的统计冗余来达成此进一步压缩。

视频序列通常包含一系列视频帧或图片。图片群组(GOP)通常包括一系列一或多个 视频图片。GOP可在GOP的标头中、图片中的一或多者的标头中或别处包含语法数 据,语法数据描述包含于GOP中的图片的数目。图片的每一切片可包含切片语法数 据,其描述相应切片的编码模式。视频编码器20通常对个别视频切片内的视频块进行 操作以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化 的大小,且可根据所指定的译码标准而在大小上不同。

作为实例,HM支持各种PU大小的预测。假定特定CU的大小为2N×2N,HM支 持按2N×2N或N×N的PU大小的帧内预测,和按2N×2N、2N×N、N×2N或N×N的对 称PU大小的帧间预测。HM也支持用于帧间预测的按2N×nU、2N×nD、nL×2N和 nR×2N的PU大小的非对称分割。在非对称分割中,CU的一个方向未分割,而另一方 向分割成25%和75%。对应于25%分割区的CU的部分由“n”后跟着“上(Up)”、 “下(Down)”、“左(Left)”或“右(Right)”的指示来指示。因此,例如,“2N×nU” 指经水平地分割的2N×2N CU,其中2N×0.5N PU在上且2N×1.5N PU在下。

在本发明中,“N×N”与“N乘N”可互换使用以指视频块的按照垂直和水平维 度的像素尺寸,例如,16×16像素或16乘16像素。一般来说,16×16块在垂直方向中 将具有16个像素(y=16)且在水平方向中将具有16个像素(x=16)。同样地,N×N块通 常在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数 值。可将块中的像素排列成行和列。此外,块未必需要在水平方向中与在垂直方向中 具有相同数目个像素。例如,块可包括N×M个像素,其中M未必等于N。

在使用CU的PU的帧内预测性或帧间预测性译码之后,视频编码器20可计算CU 的TU的残余数据。PU可包括空间域(也被称作像素域)中的像素数据,且TU可包括在 将变换(例如,离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)应用于 残余视频数据之后的在变换域中的系数。残余数据可对应于未经编码图片的像素与对 应于PU的预测值之间的像素差。视频编码器20可形成包含CU的残余数据的TU,且 接着变换TU以产生CU的变换系数。

在进行任何变换以产生变换系数之后,视频编码器20可执行对变换系数的量化。 量化通常指一过程,在所述过程中量化变换系数以可能地减少用以表示系数的数据 量,从而提供进一步压缩。量化过程可减少与系数中的一些或全部相关联的位深度。 例如,可在量化期间将n位值降值舍位到m位值,其中n大于m。

在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数以产 生可经熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应性扫描。在 扫描经量化变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应 性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上 下文自适应性二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法 来对一维向量进行熵编码。视频编码器20也可对与经编码视频数据相关联的语法元素 (例如,与经编码视频数据相关联的信息)进行熵编码以供视频解码器30在解码视频数 据时使用。

为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待传输的符 号。上下文可与(例如)符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器 20可选择待传输的符号的可变长度码。VLC中的码字可经构建以使得相对短的码对应 于较大可能的符号,而较长码对应于较小可能的符号。以此方式,相对于(例如)针对待 传输的每一符号使用等长度码字,使用VLC可达成位节省。概率确定可基于指派给符 号的上下文。

视频编码器20和视频解码器30可经配置以实施本发明中所描述的技术。视频编 码器20和视频解码器30通常可被称作视频译码器。在本发明的实例中,视频译码器 可确定运动向量范围和行/列延迟中的至少一者,且可基于所述确定来帧间预测块。在 一些实例中,视频译码器可基于一或多个约束存取不同视图中的图片和不同层中的图 片中的至少一者,且可基于所存取的图片来视图间或层间预测块。

例如,上文所描述的技术与HEVC标准有关。本发明可能涉及高效率视频译码 (HEVC)标准和其扩展,如有时被称作SHVC的可缩放视频译码(SVC)和有时被称作 MV-HEVC和3DV-HEVC的多视图视频译码(MVC,3DV)。然而,本发明中所描述的 技术不应被视为限于任何特定标准,且仅出于说明的目的而提供对任何标准或任何扩 展的描述。

视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或 ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也称作 ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。 多视图视频译码(MVC)为H.264/AVC的扩展。MVC扩展的新近公开可得到的联合草案 描述于“针对一般视听服务的先进视频译码(Advanced video coding for generic  audiovisual services)”(ITU-T推荐H.264,2010年3月)中。MVC扩展的更新近的公开 可得到的联合草案描述于“针对一般视听服务的先进视频译码(Advanced video coding  for generic audiovisual services)”(ITU-T推荐H.264,2011年6月)中。从2012年1月 起已核准MVC扩展的现行联合草案。

在本发明中,片语“多视图视频译码”当被完整写出时泛指存在多个视图的视频 译码。缩写字MVC可用以更具体地指H.264/AVC MVC扩展或HEVC的MVC扩展(基 于HEVC的MVC或MV-HEVC)。其它多视图视频译码技术描述于HEVC的3DV扩展 (基于HEVC的3DV或3DV-HEVC)中。

本发明中所描述的技术适用于多视图视频译码以及可缩放视频译码。例如,最近 完成了HEVC标准,且正在对HEVC标准的扩展以及基于HEVC的标准进行讨论。对 于多视图视频译码,HEVC标准的扩展包含MV-HEVC(不具有深度的多视图)和3D- HEVC(具有深度的多视图)。又,3DV标准是基于HEVC标准。对于可缩放视频译 码,HEVC标准的扩展包含SHVC。本发明中所描述的技术适用于所有这些标准,且通 常适用于任何用于视频译码的技术(不管是基于标准还是以其它方式)。

在多视图视频译码中,存在各自包含多个图片的多个不同视图。视图中的一者被 称作基本视图,且其它视图被称作相依视图。视频编码器20或视频解码器30可利用 基本视图中的图片来帧间预测相依视图中的图片,但视频编码器20或视频解码器30 不可利用相依视图中的图片来帧间预测基本视图中的图片。视频编码器20或视频解码 器30可利用相依视图中的图片来帧间预测另一相依视图中的图片。换句话说,视频编 码器20或视频解码器30不可用另一视图中的图片来帧间预测基本视图中的图片,但 可用其它视图(即,基本视图或其它相依视图)中的图片来帧间预测相依视图中的图片。 当用另一视图中的图片来帧间预测图片时,另一视图中的图片被称作视图间参考图 片。

应理解,视频编码器20或视频解码器30可用基本视图中的另一图片来帧间预测 基本视图中的图片,且类似地,视频编码器20或视频解码器30可用相依视图中的另 一图片来帧间预测相同相依视图中的图片。在这些状况下,因为用于帧间预测的图片 与经帧间预测的图片在相同的视图中,所以用于帧间预测的图片并非视图间参考图 片。

在可缩放视频译码中,存在多个层。层中的一者被称作基本层,且其它层被称作 增强层。类似于多视图视频译码,视频编码器20或视频解码器30可利用基本层中的 图片来帧间预测增强层中的图片,但视频编码器20或视频解码器30不可利用增强层 中的图片来帧间预测基本层中的图片。视频编码器20或视频解码器30可利用增强层 中的图片来帧间预测另一增强层中的图片,只要经帧间预测的图片处于比用于帧间预 测的图片高的层即可。换句话说,可缩放视频译码可被视为阶层式译码方案,其中可 用来自较低层的图片帧间预测来自较高层的图片,但来自较低层的图片无法用来自较 高层的图片帧间预测。然而,在一些状况下,来自较低层的图片可用来自较高层的图 片帧间预测。基本层为最低层,且因此不可将较高层中的图片用以帧间预测基本层中 的图片。当用另一层中的图片来帧间预测图片时,另一层中的图片被称作层间参考图 片。

类似于多视图视频译码,应理解,视频编码器20或视频解码器30可用基本层中 的另一图片来帧间预测基本层中的图片,且类似地,视频编码器20或视频解码器30 可用相同增强层中的另一图片来帧间预测增强层中的图片。在这些状况下,因为用于 帧间预测的图片与经帧间预测的图片在相同的层中,所以用于帧间预测的图片并非层 间参考图片。

图2为说明实例多视图视频译码(MVC)解码次序的图形图。图2说明MVC位流结 构。例如,图2中展示典型MVC解码次序(即,位流次序)。解码次序排列被称作时间 优先译码。每一存取单元经定义为含有在一个输出时间例项的所有视图的经译码图 片。应理解,图2中所说明的解码次序可与输出或显示次序不相同。

在图2中,S0到S7各自指多视图视频的不同视图。T0到T8各自表示一个输出时 间例项。存取单元可包含在一个输出时间例项的所有视图的经译码图片。例如,第一 存取单元包含在时间例项T0的所有视图S0到S7(即,图片0到7),第二存取单元包 含在时间例项T1的所有视图S0到S7(即,图片8到15),等等。

在图2中,视图中的每一者包含图片的集合。例如,视图S0包含图片0、8、16、 24、32、40、48、56和64的集合,视图S1包含图片1、9、17、25、33、41、49、57 和65的集合,等等。在一些实例中,视图的每一图片包含两个分量:一个分量被称作 纹理视图分量,且另一个分量被称作深度视图分量。视图内的纹理视图分量和深度视 图分量可被视为对应于彼此。例如,视图的纹理视图分量可被视为对应于视图的深度 视图分量,且反之亦然(即,深度视图分量对应于其在集合中的纹理视图分量,且反之 亦然)。如本发明中所使用,对应的纹理视图分量和深度视图分量可被视为单一存取单 元的同一视图的部分。

纹理视图分量包含经显示的实际图像内容。例如,纹理视图分量可包含亮度(Y)和 色度(Cb和Cr)分量。深度视图分量可指示其对应纹理视图分量中的像素的相对深度。 作为一个实例,深度视图分量可类似于仅包含亮度值的灰阶图像。换句话说,深度视 图分量可不传递任何图像内容,而是提供对纹理视图分量中的像素的相对深度的度 量。

例如,深度视图分量中的像素的像素值的范围可在0到255之间(例如,8位值)。 在一些实例中,较小像素值可指示根据检视者的观点来说像素较近,且较大像素值可 指示根据检视者的观点来说像素离得较远。又,此8位值可映射到灰阶。例如,较小 像素值映射到亮像素,其中零值映射到纯白像素,较大像素值映射到暗像素,其中值 255映射到黑像素,且中间的像素值映射到不同的灰阶。因此,指示像素的深度的像素 值可仅需要亮度分量(例如,映射到灰阶的8位值)。

出于说明的目的而提供仅使用亮度值(例如,强度值)来识别深度的深度视图分量, 且其不应被视为限制性的。在一些实例中,可利用任何技术来指示纹理视图分量中的 像素的相对深度。

深度视图分量可能并非在每一实例中皆为必要的。例如,在多视图视频译码的一 些实例中,不存在深度视图分量。在这些实例中,纹理视图分量和图片可为同义的。

根据多视图视频译码,根据同一视图中的纹理视图分量或根据一或多个不同视图 中的纹理视图分量帧间预测纹理视图分量。纹理视图分量可以视频数据块为单位予以 译码,所述视频数据块被称作“视频块”且在H.264内容脉络中通常被称作“宏 块”。例如HEVC标准的其它视频译码标准可将视频块称作树型块或译码单元(CU)。

尽管图2说明时间优先译码的实例,但在一些实例中,有可能并行编码或解码图 片,如关于图4更详细描述。例如,视图S1的第一图片(例如,纹理视图分量和可能 的深度视图分量)可用视图S0的第一图片来帧间预测。例如,视图S1的第一图片中的 块可使用视图S0的第一图片中的块作为预测值块,其中用于视图S1的第一图片中的 块的运动向量参考视图S0的第一图片中的预测值块。在此意义上,出于帧间预测目 的,视图S0中的第一图片可为用于视图S1的第一图片的参考图片。

在一些状况下,为了用视图S0的第一图片中的块帧间预测视图S1的第一图片中 的块,视频解码器30可在开始重构建视图S1的第一图片之前(即,在解码视图S1的 第一图片之前)完全地重构建视图S0的第一图片(即,完全地解码视图S0的第一图 片)。在并行解码中,视频解码器30可与解码视图S0的第一图片并行地开始解码视图 S1的第一图片。

一般来说,并行解码是基于运动向量限制的概念。运动向量限制指对块的运动向 量的x分量或y分量中的至少一者(和可能两者)的限制。作为一个实例,运动向量限制 可定义运动向量分量的范围。

参考图片中的在运动向量分量的所定义范围之外的任何块无法被用以帧间预测当 前块。作为实例,运动向量限制可定义y分量阈值(Th)。在此实例中,当前图片中的任 何块的运动向量的y分量不能大于Th。此情形意味参考图片中的相对于当前图片中的 块的垂直距离大于Th的任何块无法被用以帧间预测当前图片中的所述块。

如更详细所描述,本发明中所描述的技术可确保块的所导出的运动向量顺应运动 向量限制。例如,视频编码器20可产生包含信息的位流以用于输出,所述信息定义视 频解码器30导出当前块的运动向量的方式。所述技术可约束视频编码器20可产生以 用于在位流中输出的信息,以使得当视频解码器30基于位流中的信息导出当前块的运 动向量时,视频解码器30不会导出违反运动向量限制的运动向量。换句话说,位流受 到约束以使得信息确保所导出的运动向量顺应运动向量限制。

此外,如更详细所描述,经产生以用于由视频编码器20输出的位流可包含按可由 视频解码器30利用的单位指定并行解码延迟的信息,以用于达成确定何时开始图片的 并行解码而不需要进一步转换所接收的值的目的。例如,如果并行解码延迟以行为单 位,那么视频解码器30可能不能够确定何时开始图片的并行解码,这是因为HEVC视 频译码技术的阶层式结构未必对应于行。如更详细所描述,视频编码器20可传信基于 译码单元大小(例如,LCU大小、最小译码单元(SCU)大小)或固定大小来指示并行解码 延迟的信息。

图3为说明用于多视图视频译码的结构的概念图。图3说明多视图视频译码结 构。例如,图3中展示用于多视图视频译码的典型多视图视频译码预测(包含每一视图 内的图片间预测和视图间预测两者)结构,其中预测由箭头指示,箭头指向的对象将箭 头源于的对象用于预测参考。在多视图视频译码中,视图间预测由视差运动补偿支 持,视差运动补偿使用H.264/AVC运动补偿的语法,但允许将不同视图中的图片用作 参考图片。

两个视图的译码也可由多视图视频译码支持,且多视图视频译码的优势中的一者 为视频编码器20可将两个以上视图作为3D视频输入,且视频解码器30可解码此多视 图表示。因此,具有视频解码器(如视频解码器30)的任何呈现器可预期具有两个以上 视图的3D视频内容。

在多视图视频译码中,允许在相同存取单元(即,具有相同时间例项)中的图片之间 的视图间预测。当译码在非基本视图中的一者中的图片时,如果图片在不同视图中但 在相同时间例项,那么可将所述图片添加到参考图片列表中。视图间预测参考图片可 被置于参考图片列表的任何位置中,正如任何帧间预测参考图片一样。当将视图间预 测参考图片用于运动补偿时,对应运动向量被称作“视差运动向量”。

在图3中,视图S0可被视为基本视图,且其它视图(S1到S7)可被视为相依视图。 例如,视图S0可为基本视图,这是因为在视图S0中没有图片是用另一视图中的图片 来视图间预测。然而,视图S0中的图片可用视图S0中的其它图片来帧间预测。其它 视图可为相依视图,这是因为在这些其它视图中的至少一个图片经视图间预测。例 如,视图S1中的第一图片是用视图S0中的第一图片和视图S2中的第一图片来视图间 预测。应理解,相依视图中的一些图片可用相同视图中的其它图片来帧间预测。

例如,术语“帧间预测”指基于参考图片中的块(例如,参考图片中的预测值块)来 预测当前图片中的块的状况。当前图片中的块的运动向量参考参考图片中的块。在多 视图视频译码中,参考图片可为与当前图片在相同视图中的图片或在另一视图中的图 片。如果参考图片在另一视图中,那么参考图片和当前图片在相同存取单元中。例 如,如上文所描述,存取单元包含在相同时间例项的不同视图的图片,且可要求另一 视图中的参考图片与当前图片在相同的存取单元中。

当参考图片在不同于当前图片的另一视图中时,参考另一视图中的参考图片的运 动向量被称作视差运动向量。又,当参考图片在不同于当前图片的另一视图中时,当 前图片中的块可被称作经视图间预测。换句话说,在视图间预测中,当前图片中的块 是用视差运动向量来视图间预测,所述视差运动向量参考在不同于包含当前图片的视 图的视图中的参考图片中的块。

为了执行帧间预测(即,视图间预测或使用相同视图中的图片的帧间预测),视频编 码器20和视频解码器30可构建一或两个参考图片列表(被称作RefPicList0和 RefPicList1)。视频编码器20和视频解码器30可出于帧间预测目的而利用参考图片列 表中所识别的图片。在本发明中所描述的技术中,视图间参考图片(即,在不同于经编 码或解码的当前图片的视图的视图中的参考图片)可被插入于参考图片列表内的任何位 置。在视频编码器20和视频解码器30构建参考图片列表(即,构建RefPicList0和 RefPicList1)之后,参考图片列表的参考索引可识别包含于参考图片列表中的任何参考 图片。

例如,对于经双向预测图片(B图片),视频编码器20可传信RefPicList0的索引和 RefPicList1的索引,所述索引识别用以编码经双向预测图片的参考图片。视频解码器 30可利用索引来确定解码(例如,重构建)当前图片所需要的参考图片(来自RefPicList0 的一个参考图片和来自RefPicList1的一个参考图片)。对于单向预测图片(P图片),视 频编码器20可传信RefPicList0或RefPicList1中的一者的索引或仅传信RefPicList0的 索引(在所述状况下视频解码器30可能不构建RefPicList1),所述索引识别用以编码经 单向预测图片的参考图片。视频解码器30可利用索引来确定解码(例如,重构建)当前 图片所需要的参考图片。

通常,用于B图片(经双向预测图片)的第一或第二参考图片列表的参考图片列表构 建包含两个步骤:参考图片列表初始化,和参考图片列表重新排序(修改)。参考图片列 表初始化为基于POC(图片次序计数,与图片的显示次序对准)值的次序将参考图片存储 器(也被称作经解码图片缓冲器(DPB))中的参考图片置于列表中的显式机制。参考图片 列表重新排序机制可将在参考图片列表初始化期间被置于列表中的图片的位置修改到 任何新的位置,或将参考图片存储器中的任何参考图片置于任何位置中,即使所述图 片并不属于经初始化列表也然。可将在参考图片列表重新排序(修改)之后的一些图片置 于列表中的极远位置中。然而,如果图片的位置超过列表的作用中参考图片的数目, 那么所述图片不会被视为最终参考图片列表的输入项。可对于每一列表在切片标头中 传信作用中参考图片的数目。

图4为说明两个视图的并行译码过程的实例的流程图。图4说明补充增强信息 (SEI)的并行译码(例如,解码)信息。在H.264/AVC的MVC扩展中,存在支持并行解码 的SEI消息。对于每一视图分量,当解码一个宏块时,认为在当前视图和参考视图之 间存在至少两个宏块(MB)行延迟。对于每一视图和其参考视图中的每一者,在SEI消 息中传信以额外MB行为单位的额外延迟。此SEI消息的使用的实例展示于图4中。

图4说明与解码第二视图(视图1)的图片42并行地解码第一视图(视图0)的图片 40。在此实例中,图片40为图片42的参考图片(即,图片40的块被用以帧间预测且特 定地视图间预测图片42的块)。又,图4说明由处理器P0解码图片40和由处理器P1 解码图片42。对处理器P0和P1的参考用以说明经执行以解码图片40和图片42的处 理算法。处理器P0和P1可为视频解码器30的部分。换句话说,图4说明并行地解码 图片40和42的视频解码器30的实例。

在时间44,视频解码器30开始解码过程,但对于图片42,在视频解码器30开始 解码图片42的第一行之前存在延迟。例如,在图4中,并行解码延迟为宏块的两个 行。如上文所描述,一些技术可能要求至少两个行的解码延迟。视频编码器20可在 SEI消息中将精确的解码延迟传信到视频解码器30。

在时间46,视频解码器30解码图片40的宏块的第一行以重构建图片40的宏块的 第一行。在时间48,视频解码器30将图片40的宏块的经重构建第一行存储于视频解 码器30的经解码图片缓冲器(DPB)中。在时间50,视频解码器30解码第二行以重构建 图片40的宏块的第二行。在时间52,视频解码器30将图片40的宏块的经重构建第二 行存储于视频解码器30的DPB中。又,在时间52,视频解码器30确定图片42的并 行解码可以开始。例如,第一处理算法(处理器P0)通知第二处理算法(处理器P1):图 片42的并行解码可以开始(例如,通过将控制信号“通知视图-1”发送到处理器P1)。

在时间54,视频解码器30解码图片40的第三行以重构建图片40的第三行,且并 行(例如,同时)地解码图片42的第一行以重构建图片42的第一行。在时间56,视频 解码器30将图片40的经重构建第三行存储于DPB中。尽管未说明,视频解码器30 也可将图片42的经重构建第一行存储于DPB中。

又,在时间56,处理器P0通知处理器P1:图片42之下一行的解码可以开始。在 时间58,视频解码器30解码图片40的第四行以重构建图片40的第四行,且并行(例 如,同时)地解码图片42的第二行以重构建图片42的第二行。视频解码器30重复这些 步骤以重构建图片40和图片42。以此方式,视频解码器30可实施来自不同视图的两 个图片的并行解码,其中来自一视图的一个图片(例如,视图0的图片40)为来自另一 视图的另一图片(例如,视图1的图片42)的参考图片。

在一些实例中,运动向量限制促进并行解码。在图4中所说明的实例中,可限制 图片42中的块的运动向量以使得图片42中的块的运动向量的y分量不能大于一个行 的距离。作为一个实例,在图4中,视频解码器30开始与解码图片40的第三行并行 地解码图片42的第一行(即,视频解码器30在解码图片42的第一行之前必须等待直到 重构建了图片40的两个行)。在此实例中,如果图片42的第一行中的块的运动向量参 考在图片40的第二行之后的块,那么可能存在解码错误,这是因为视频解码器30可 能尚未解码图片40的那个行。在具有运动向量限制的情况下,视频编码器20可不将 图片42中的y分量大于一个行的距离的块的运动向量值传信到视频解码器30。

在图4中所说明的实例中,运动向量限制可为对于图片42的运动向量的y分量的 一个行。以此方式,在视频解码器30重构建图片40的第二行之后,视频解码器30可 能能够开始解码图片42,这是因为图片42中的块将不参考参考图片中的距所述块的垂 直距离达一个以上行的任何块。因此,运动向量限制可被视为指示并行解码延迟。如 下文更详细所描述,在一些实例中,基于由视频解码器30执行的滤波,视频解码器30 可需要在开始重构建当前图片(例如,图片42)之前重构建参考图片(例如,图片40)的额 外行。

在图4的上文实例中,视频编码器20和视频解码器30可根据H.264/AVC的MVC 扩展而起作用。然而,当将与运动向量限制和并行解码延迟有关的技术扩展到基于 HEVC的视频译码技术时,可能存在某些问题。例如,当参考图片在不同视图中时, 实施运动向量限制可能存在某些问题,且可能存在关于利用用于通过HEVC译码结构 指示并行解码延迟的技术的某些问题。此外,尽管针对多视图视频译码描述上文实 例,但本发明中所描述的技术也可扩展到可缩放视频译码,包含HEVC的可缩放扩展 (例如,SHVC)。

在可缩放视频译码(SVC)中,可能存在多个层。在最底层级的层可能只是充当基本 层(BL),且在最顶层级的层只是作为增强层(EL)。中间的所有层可充当EL和BL两 者。例如,中间的层可为在其下方的层的EL,且同时作为在其上方的层的BL。出于 描述的简单起见,本发明假定在说明当前技术的过程中存在两个层,BL和EL。应注 意,本发明中所描述的技术也适用于具有多个层的状况。

例如,上文实例描述视图间预测的概念,其中来自相依视图的图片的当前块是用 另一视图(例如,基本视图)中的参考图片来帧间预测。在一些实例中,在层间预测中, 来自增强层的图片的当前块是用另一层(例如,基本层)中的参考图片来帧间预测。在本 发明中所描述的技术中,运动向量限制和并行解码也可用于可缩放视频译码技术。例 如,可能存在对于参考层间图片(例如,基本层图片)的增强层图片的块的运动向量限 制。又,有可能并行解码两个层,其中一个层出于帧间预测目的(例如,层间预测目的) 而使用另一层,其方式类似于上文关于图4所描述的方式。

如上文所描述,对于多视图视频译码,正在对于不同的基于HEVC的多视图视频 译码扩展进行讨论。一个实例为HEVC的3DV扩展且另一实例为HEVC的MV扩展。 例如,MPEG正开发基于HEVC的3DV和MV标准,其中标准化努力的部分也包含基 于HEVC的多视图视频编码解码器的标准化。在基于HEVC的3DV和MV中,启用了 基于来自不同视图的经重构建视图分量的视图间预测。

基于HEVC的3DV与基于HEVC的MV之间的差异中的一者为仅高阶语法(仅 HLS)要求。例如,在AVC中,以扩展实际上实现“仅HLS”要求的方式来进行多视图 扩展。“仅HLS”要求保证在多视图视频译码(MVC)中仅存在高阶语法(HLS)改变,以 使得无需重新设计AVC中的在宏块层级的模块,且所述模块可被完全重新用于 MVC。

将此仅HLS要求扩展到MV-HEVC,而非3DV-HEVC。例如,MV-HEVC标准的 一个要求可为MV-HEVC相对于HEVC标准实现仅HLS要求。3DV-HEVC标准可能不 要求仅HLS改变。尽管3DV-HEVC不要求仅HLS改变,但如果关于HEVC标准作出 仅HLS改变,那么结果仍可顺应3DV-HEVC。换句话说,如果多回路解码被视为可接 受的,那么有可能可针对HEVC的MVC/3DV扩展且也针对HEVC的可缩放视频译码 (SVC)扩展(SHVC)实现“仅HLS”要求。

为了实现视图间预测,最小的改变和潜在地(尽管不一定)HLS改变是出于以下的图 片识别目的,其中参考图片列表构建和标记需要能够识别特定视图中的图片。例如, 对于多视图视频译码,参考图片列表(RefPicList0和RefPicList1)中的一者或两者可包含 视图间图片(即,不与正被编码或解码的图片在相同的视图中的图片)或层间图片(即, 不与正被编码或解码的图片在相同的层中的图片)。

如果HLS改变不足以在H.264/MVC中实现“仅HLS”要求,那么作出其它约 束、假设,以使得低层级译码模块绝不可会遇到需要实施HEVC的低层级译码模块未 被配置用于的功能(例如,处置零运动相关缩放)的情形。这些约束、修改和假设为:(1) 在同置图片为(仅)视图间参考图片的情况下停用时间直接模式,(2)将(仅)视图间参考图 片视为不是短期的:与空间直接相关,且停用隐含加权预测。

仅HLS HEVC扩展的一个实例为MV-HEVC,且MV-HEVC的最新工作草案为G. 泰克、K.韦格纳、Y.陈、M.汉努克塞拉的JCT3V-B1004,“MV-HEVC草案文本2 (MV-HEVC Draft Text 2)”,其在http://phenix.it-sudparis.eu/jct2/doc_end_user/ documents/2_Shanghai/wg11/JCT3V-B1004-v1.zip处可得到,所述草案的全部内容以引 用的方式并入本文中。

本发明也涉及中上(Nakagami)等人的题为“MV-HEVC:用于HEVC简单3D扩展 的视图间向量的垂直长度限制(MV-HEVC:Vertical length restriction of inter-view vector  for HEVC simple 3D extension)”且可从http://phenix.it-sudparis.eu/jct2/doc_end_user/ current_document.php?id=225得到的JCT3V-B0037,其全部内容以引用的方式并入。在 JCT3V-B0037中,建议将MV-HEVC中的运动向量指向在垂直方向上限制到基本视图 参考帧,以放宽存储器频宽要求且使得解码器更具并行友好性。建议此限制由在SPS 中传信的旗标来指示。

尽管上文关于并行解码描述运动向量限制,但运动向量限制可出于其它额外独立 的原因而为有用的。换句话说,在一些实例中,即使视频解码器30未经配置以实施并 行解码,运动向量限制仍可为有用的或合乎需要的。

作为一个实例,运动向量限制可用于存储器频宽减少(例如,减少存储器存取和/或 需存取的数据量)。例如,在具有运动向量限制的情况下,视频编码器20或视频解码器 30为了编码或解码当前图片而需要从参考图片存取的数据量可减少。可基于针对每一 经预测的像素从参考图片存取的像素的数目来估计存储器频宽。例如,存储器频宽随 着在参考图片中存取的像素的数目的减少而降低。在许多使用状况中,存储器频宽可 被视为瓶颈,且在最差的状况下存储器频宽减少可被视为优势。例如,技术可相对于 其它技术简化、减少或消除存储器存取。

例如,当参考另一视图中的图片的运动向量的垂直分量受到约束时,可减小存取 参考视图图片的像素所需要的存储器频宽。作为一个实例,如果将垂直分量(即,运动 向量的y分量)限制为较小值,那么可能不需要出于内插目的存取在垂直方向上在块之 外的任何像素。

例如,块的运动向量可不参考参考图片中的整数像素,而是改为参考次整数像素 (被称作像元(pel))。视频编码器20和视频解码器30通过内插参考图片中的相邻整数像 素的像素值而产生这些次整数像素或像元。例如,视频编码器20和视频解码器30从 DPB存取参考图片的像素值,包含延伸到由运动向量所参考的块之外的像素的像素 值,以用于内插次整数像素。在具有运动向量限制的情况下,视频编码器20和视频解 码器30可能不需要为了内插而存取驻留于运动向量受限制于的区域之外的像素的像素 值,此减少视频编码器20和视频解码器30需要从相应DPB检索的数据量,且由此促 进存储器频宽减少。

然而,为了确保运动向量不违反运动向量限制,可需要考虑额外方面。例如,视 频编码器20可不传信块的运动向量的x分量和y分量(视频解码器30使用所述分量确 定块的运动向量)。而是,视频编码器20可传信由视频解码器30用以导出运动向量的 信息。

例如,作为合并/跳过模式和先进运动向量预测(AMVP)模式的部分,视频解码器 30可基于运动向量预测值导出当前块的运动向量。在合并/跳过模式和AMVP模式中, 视频编码器20可不传信当前块的运动向量,而是可改为传信候选运动向量预测值的列 表的索引。视频解码器30可自由候选运动向量预测值的列表的索引识别的运动向量预 测值导出当前块的运动向量。

例如,在合并/跳过模式和AMVP模式中,视频编码器20和视频解码器30各自构 建候选运动向量预测值的列表。视频编码器20和视频解码器30可实施实质上类似技 术以构建候选运动向量预测值的相应列表,以使得列表中所识别的候选运动向量预测 值对于视频编码器20和视频解码器30两者来说为相同的。

在合并/跳过模式和AMVP模式中,视频编码器20和视频解码器30基于相邻块的 运动信息构建候选运动向量预测值的列表。相邻块的实例包含空间相邻块和时间相邻 块。空间相邻块指与当前块相邻且与当前块在相同的图片中的块。时间相邻块指与当 前块相邻但在另一图片中的块。可为当前块的运动向量预测值的空间相邻块的运动向 量被称作空间运动向量预测值(SMVP)。可为当前块的运动向量预测值的时间相邻块的 运动向量被称作时间运动向量预测值(TMVP)。

对于合并/跳过模式或AMVP模式两者,视频编码器20传信候选运动向量预测值 的列表的索引,视频解码器30接收所述索引。视频解码器30接着从所传信的候选运 动向量预测值的列表的索引识别运动信息(例如,参考图片和一或多个运动向量),且基 于所识别的运动信息确定当前块的运动向量。

例如,在合并/跳过模式中,视频解码器30接收候选运动向量预测值的列表的索 引,且基于所传信的索引识别存储于候选运动向量预测值的列表中的运动信息。视频 解码器30从所识别的运动信息确定参考图片列表、参考索引和运动向量。视频解码器 30接着采用从所识别的运动信息确定的参考图片列表、参考索引和运动向量作为当前 块的运动信息。换句话说,当前块继承由候选运动向量预测值的列表的索引所识别的 块的运动信息。以此方式,视频解码器30基于运动向量预测值导出当前块的运动向量 (例如,视频解码器30将当前块的运动向量设定为等于运动向量预测值)。

在一些实例中,在合并/跳过模式中,如果由候选运动向量预测值的列表的索引识 别的块指时间相邻块,那么视频解码器30可不采用与此运动向量候选者相关联的运动 信息。视频解码器30可利用任何已知技术或待开发的任何技术来确定参考图片列表的 参考索引(例如,选择参考图片列表的一者或两者的索引零)。在本发明中,可能存在对 参考图片列表的某些约束,例如当时间相邻块的运动向量被用作运动向量预测值时, 默认索引(例如,索引零)被用作参考图片列表的参考索引。

以此方式,视频解码器30可在合并/跳过模式中确定用于当前块的运动信息。在合 并模式中,视频解码器30也可接收当前块与由所确定的运动信息参考的块之间的残余 数据,且视频解码器30可利用残余数据以确定当前块的像素值。在跳过模式中,视频 解码器30可不接收当前块与由所确定的运动信息参考的块之间的残余数据。在此实例 中,视频解码器30可假定残余数据为零(即,设定当前块的像素值等于由所确定的运动 信息参考的块的像素值)。

AMVP模式可类似于合并/跳过模式;然而,除了接收候选运动向量预测值的列表 的索引之外,视频解码器30也可接收来自视频编码器20的用于参考图片列表的参考 索引值和运动向量差。运动向量差(MVD)可为由候选运动向量预测值的列表的索引所 识别的块的运动向量与另一运动向量(例如,由视频编码器20基于最佳匹配搜索找到的 运动向量)之间的运动向量差。

例如,视频解码器30可确定由候选运动向量预测值的列表的索引所识别的块的运 动向量。视频解码器30可将由候选运动向量预测值的列表的索引所识别的块的运动向 量的值与所传信的运动向量差相加或相减以确定当前块的运动向量。另外,视频解码 器30可基于指示参考图片列表的所传信的信息和彼参考图片列表的所传信索引确定所 确定的运动向量参考的参考图片。以此方式,视频解码器30可在AMVP模式中确定当 前块的运动信息。

如上文所描述,对于合并/跳过模式和AMVP模式,视频编码器20和视频解码器 30构建候选运动向量预测值的列表。下文描述用以构建候选运动向量预测值的列表的 实例方式。在一些实例中,如果时间相邻块的运动信息将被包含于候选运动向量预测 值的列表中,那么视频编码器20和视频解码器30可基于图片次序计数(POC)值缩放时 间相邻块的运动向量信息。

下文提供关于视频编码器20和视频解码器30可确定将哪些时间运动向量预测值 包含于候选运动向量预测值的列表中的方式的一些描述。为了得到时间运动向量预测 值(TMVP),视频编码器20和视频解码器30可首先识别同置图片。如果当前图片为B 切片(例如,经双向预测的切片),那么视频编码器20可在切片标头中传信 collocated_from_l0_flag,以指示同置图片来自于哪一参考图片列表(例如,同置图片来 自RefPicList0还是RefPicList1)。视频解码器30可基于在切片标头中传信的 collocated_from_l0_flag确定同置图片系来自哪一参考图片。

在识别参考图片列表之后,视频编码器20可在切片标头中传信collocated_ref_idx 语法元素以识别在所识别的参考图片列表中的图片。collocated_ref_idx语法元素为视频 编码器20可在位流中传信的信息的一个实例。视频解码器30可基于collocated_ref_idx 语法元素识别在所识别的参考图片列表中的图片,其中collocated_ref_idx语法元素为 视频解码器30所接收的位流中的信息的一个实例。

视频编码器20和视频解码器30可通过检查同置图片来识别同置预测单元(PU)。 同置PU可为同置区的右下PU(例如,BR块)抑或所谓的‘中心3’或CR块(即,同置 区的中心的右下PU)。

假设亮度位置(xP,yP)指定相对于当前图片的左上亮度样本的当前亮度预测块的左 上样本,且变量nPbW和nPbH分别指定亮度预测块的宽度和高度,BR块和中心3或 CR块可被定义如下:

-同置区的右下PU:

xPRb=xP+nPbW

yPRb=yP+nPbH

-如果(yP>>Log2CtbSizeY)等于(yPRb>>Log2CtbSizeY),且xPRb小于 pic_width_in_luma_samples,那么以下情况适用。

-同置PU指定亮度预测块涵盖在由colPic指定的同置图片内的由((xPRb >>4)<<4,(yPRb>>4)<<4)给定的经修改位置。

-中心3:

xPCtr=xP+(nPbW>>1)

yPCtr=yP+(nPbH>>1)

-变量同置PU指定亮度预测块涵盖在colPic内的由((xPCtr>>4)<<4,(yPCtr >>4)<<4)给定的经修改位置。

在一些实例中,当视频编码器20和视频解码器30通过以上过程识别运动向量以 产生用于AMVP或合并/跳过模式的运动候选者时,视频编码器20和视频解码器30可 基于时间位置(由POC值反映)缩放运动向量。在HEVC中,序列参数集(SPS)包含旗标 sps_temporal_mvp_enable_flag,且当sps_temporal_mvp_enable_flag等于1时,切片标 头包含旗标pic_temporal_mvp_enable_flag。当对于特定图片来说 pic_temporal_mvp_enable_flag和temporal_id两者皆等于0时,在解码特定图片或按解 码次序在特定图片之后的图片的过程中,不将来自按解码次序在彼特定图片之前的图 片的运动向量用作时间运动向量预测值。

当使用运动向量限制时,可能存在关于确保在合并/跳过模式抑或AMVP模式中使 用运动向量预测值所导出的运动向量顺应运动向量限制的某些问题。例如,有可能在 合并/跳过模式中,如果当前块的运动向量被设定为等于运动向量预测值,那么当前块 的运动向量违反运动向量限制。作为另一实例,有可能在AMVP模式中,如果将运动 向量预测值与运动向量差相加或相减,那么所得的所导出的运动向量违反运动向量限 制。可能存在关于使用运动向量限制的其它问题,其在下文更详细地予以描述。

此外,当并行解码技术扩展到基于HEVC的多视图视频译码技术时,可能存在某 些问题。例如,如上文所描述,对于H.264/AVC的MVC扩展,视频编码器20在SEI 消息中传信并行解码延迟信息,且并行解码延迟为至少两个行。然而,归因于基于 HEVC的技术的译码单元的阶层式结构,不存在从宏块行到MV-HEVC、3DV-HEVC或 SHVC中的块行的直接扩展。

又,在JCT3V-B0037中所描述的技术中,视频编码器可传信垂直视差运动向量范 围(即,用于y分量的运动向量限制)。然而,视频解码器可能不能直接确定按LCU行 的延迟。作为一个实例,视频解码器可需要基于LCU大小计算LCU行延迟。换句话 说,LCU行的值可能并非可由视频解码器30用以确定何时开始并行解码使用视图间或 层间图片作为参考图片的图片的值,且为了使视频解码器30确定何时开始并行解码图 片,可能需要将LCU行的值额外地转换成基于LCU大小的值。然而,在依据LCU行 传信运动向量限制的实例中,可能不存在确定何时并行解码图片的统一方式。因此, 不同视频解码器可在不同时间开始并行解码,从而可能造成解码错误。

下文描述根据本发明的技术。例如,针对合并/跳过模式和AMVP模式提出了各种 技术以解决上文所提及的难题和相关问题(例如,导出违反运动向量限制的运动向量)。 本发明也描述用于增强并行解码的技术,其解决了依赖于LCU行来确定何时开始并行 解码的上文所描述的限制。

明确地说,本发明首先描述当利用运动向量限制时与存储器频宽减少有关的技 术。本发明接着描述与支持并行解码有关的技术。应理解,当利用运动向量限制时在 本发明中针对存储器频宽减少所描述的技术可独立于在本发明中针对并行解码所描述 的技术。换句话说,即使视频解码器30未经配置以用于并行解码,视频解码器30仍 可利用本发明中所描述的存储器频宽减少技术,且反之亦然。

如上文所描述,运动向量限制的一个潜在益处为存储器频宽减少。例如,运动向 量限制的益处可在参考图片(即,块被用以帧间预测当前图片的块的图片)为视图间参考 图片或层间参考图片的实例中实现;然而,本发明中所描述的技术不限于此。例如, 运动向量限制会限制运动向量的范围以参考视图间或层间参考图片的子部分(例如,小 于全部图片的部分)。当垂直视差运动向量受到约束时,可减少存取图片的像素所需要 的存储器频宽。换句话说,如果参考另一视图中的图片(即,参考视图间参考图片)的运 动向量的y分量范围受到限制,那么可减少需要从存储视图间参考图片的DPB检索的 数据量。例如,如果垂直分量范围被限制到相对较小的值,那么视频编码器20和视频 解码器30可能不需要出于内插目的而存取存储于由运动向量参考的块的DPB输出中 的视图间参考图片的像素的像素值。在使用层间参考图片而非视图间参考图片的情况 下,相同的情形也可成立。

出于描述的容易起见,在本发明中所描述的用于具有运动向量限制的存储器频宽 减少的技术是关于参考图片为视图间或层间参考图片的实例加以描述。此外,在一些 实例中,对于基于HEVC的可缩放视频译码(SHVC),参考层间参考图片的运动向量的 一或两个分量(水平和垂直)可能总是被限制为零。在一些实例中,对于基于HEVC的多 视图视频译码(MV-HEVC或3DV-HEVC),对于参考视图间参考图片的运动向量的运动 向量限制可为可选择的,且对于参考视图间参考图片的运动向量的限制范围可为可选 择的。

如上文所描述,将运动向量限制用于视图间或层间参考图片的问题中的一者在 于:从运动向量预测值所导出的运动向量可违反运动向量限制。根据本发明中所描述 的技术,视频编码器20产生以用于输出且视频解码器30所接收的位流(即,经由链路 16或经由存储装置34)可受到约束,以使得当前块的所导出的运动向量不会违反运动向 量限制。换句话说,位流受到约束,以使得信息确保所导出的运动向量顺应运动向量 限制。

例如,在本发明中所描述的技术中,位流将不包含将被用于由视频解码器30通过 层间或视图间参考图片进行的运动补偿的会致使运动向量不满足运动向量限制的运动 向量或用以形成(即,导出)运动向量的其它语法。换句话说,位流包含用于从运动向量 预测值导出当前块的运动向量的信息,其中运动向量参考视图间或层间参考图片,且 其中运动向量限制会限制运动向量的范围以参考视图间或层间参考图片的子部分。例 如,如果对于由视频解码器30进行的运动补偿,运动向量分量(即,水平分量或x分量 和/或垂直分量或y分量)中的一者或两者被限制为零,那么位流不可包含会致使运动向 量的水平和/或垂直分量为非零的运动向量或用于导出运动向量的语法。

在此实例中,运动向量的范围被限制为零,意味所导出的运动向量必须具有零值 以顺应运动向量限制。例如,运动向量限制会限制运动向量以参考视图间或层间参考 图片的子部分,且在此实例中,视图间或层间参考图片的子部分为被称作零运动向量 的子部分。换句话说,运动向量限制会限制运动向量以仅参考位于与当前块位于当前 图片中的位置相同的在视图间或层间参考图片中的位置的块。

视频解码器30可在合并/跳过模式或AMVP模式中从运动向量预测值导出运动向 量。在本发明中所描述的技术中,当参考图片为视图间或层间参考图片时,位流不可 包含致使视频解码器30从运动向量预测值导出运动向量以到于所导出的运动向量违反 合并/跳过模式或AMVP模式中的运动向量限制的信息(例如,语法元素)。

例如,在合并/跳过模式中,视频编码器20在经产生以用于输出的位流中包含候选 运动向量预测值的列表的合并索引,且视频解码器30从位流接收所述索引,以识别将 用于运动补偿的合并候选者。通过候选运动向量预测值的列表的索引,视频解码器30 可确定运动信息,包含参考图片列表、参考图片列表的索引和运动向量。

在合并/跳过模式中,视频解码器30采用选定运动向量预测值的运动信息(即,设 定运动向量等于运动向量预测值以导出运动向量)。在此实例中,视频编码器20可确定 候选运动向量预测值的列表的索引是否识别视图间或层间参考图片的参考图片列表的 索引。如果候选运动向量预测值的列表的索引识别参考视图间或层间参考图片的运动 信息,那么视频编码器20可确定由候选运动向量预测值(即,运动向量预测值)的列表 的索引所识别的运动向量违反运动向量限制抑或顺应运动向量限制。如果视频编码器 20确定运动向量预测值违反运动向量限制,那么视频编码器20可避免包含(即,不包 含)将致使视频解码器30选择将导致违反运动向量限制的所导出的运动向量的运动向量 预测值的候选运动向量预测值的列表的索引。

以此方式,对于合并/跳过模式,视频解码器30接收且视频编码器20产生以用于 输出的位流可不包含致使视频解码器30导出违反运动向量限制的当前块的运动向量的 信息。运动向量限制可针对运动向量参考视图间或层间参考图片的情况。例如,由候 选运动向量预测值的列表的索引所识别的运动信息的运动向量必须满足合并模式中的 限制。作为一个实例,限制可为水平和垂直分量两者为零,例如,在SHVC中。

换句话说,视频编码器20可确定候选运动向量预测值的列表的索引,所述索引识 别用以导出运动向量的运动向量预测值,所述运动向量的值顺应运动向量限制。这是 因为视频解码器30将设定运动向量等于运动向量预测值以导出运动向量。因此,要求 值被运动向量采用的运动向量预测值顺应运动向量限制。视频编码器20可产生候选运 动向量预测值的列表的索引以用于输出,且视频解码器30所接收的位流中的信息包含 候选运动向量预测值的列表的索引。

如上文所描述,AMVP可稍稍不同于合并/跳过模式。例如,类似于合并/跳过模 式,视频编码器20可传信候选运动向量预测值的列表的索引,视频解码器30从所述 列表选择运动向量预测值。不同于合并/跳过模式,在AMVP模式中,视频解码器30 不采用运动向量预测值作为当前块的运动向量。而是,视频编码器20也在位流中传信 运动向量差,且视频解码器30将运动向量预测值与运动向量差相加或相减以导出当前 块的运动向量。又,不同于合并/跳过模式,在AMVP模式中,视频解码器30不采用 运动向量预测值的参考图片列表和参考图片列表索引作为参考图片列表和参考图片列 表索引。取而代之,视频编码器20传信识别参考图片列表和识别参考图片列表的索引 的信息。视频解码器30从此信息确定当前块的运动信息。

在AMVP模式中,视频编码器20可确定视频编码器20将传信的由视频编码器20 所识别的参考图片列表的参考图片列表索引是否识别视图间或层间参考图片。如果参 考图片列表索引识别视图间或层间参考图片,那么视频编码器20可传信运动向量差, 以使得当将运动向量差与运动向量预测值相加或相减时,所导出的运动向量遵守运动 向量限制。

换句话说,视频编码器20可确定识别用以导出运动向量的运动向量预测值的候选 运动向量预测值的列表的索引,且可确定运动向量差,以使得当将运动向量差与运动 向量预测值相加时,所得运动向量顺应运动向量限制。

视频编码器20可产生候选运动向量预测值的列表的索引以用于输出,且视频解码 器30所接收的位流中的信息包含候选运动向量预测值的列表的索引。视频编码器20 也可产生运动向量差以用于输出,且视频解码器30所接收的位流中的信息包含运动向 量差。

视频解码器30可从所接收的位流确定识别用以导出运动向量的运动向量预测值的 候选运动向量预测值的列表的索引,且可从所接收的位流确定运动向量差,运动向量 差的值使得当将运动向量差与运动向量预测值相加时,所得运动向量顺应运动向量限 制。视频解码器30可通过将运动向量预测值与运动向量差相加而导出运动向量。

再次,在AMVP模式中,候选运动向量预测值的列表的索引被用以选择运动向量 预测值,且也传信识别参考图片列表的信息和识别参考图片列表的参考图片列表索引 的信息以选择参考图片。在本发明中所描述的技术中,视频编码器20可确定选定参考 图片是否为视图间或层间参考图片。如果选定参考图片为视图间或层间参考图片,那 么视频编码器20可确定运动向量差,所述运动向量差当与经由候选运动向量预测值的 列表的索引来选择的运动向量预测值相加或相减时,致使视频解码器30导出顺应运动 向量限制的运动向量。

作为实例,假定运动向量限制要求块的参考层间参考图片的运动向量为零(即,x 分量和y分量两者为零)。又,假定视频编码器20确定候选运动向量预测值的列表的索 引,且视频解码器30从候选运动向量预测值的列表的索引识别运动向量预测值 (MVP)。在此实例中,在AMVP模式中,视频编码器20可传信运动向量差(MVD),以 使得当将MVD与MVP相加时,所得运动向量等于零(即,MVD的x分量为MVP的x 分量的负数,且MVD的y分量为MVP的y分量的负数)。

以此方式,对于AMVP,视频解码器30接收的位流和视频编码器20产生以用于 输出的位流可不包含致使视频解码器30导出违反运动向量限制的当前块的运动向量的 信息。运动向量限制可用于运动向量参考视图间或层间参考图片的情况。例如,运动 向量差可补偿运动向量预测值以使得所导出的运动向量顺应运动向量限制。换句话 说,在本发明中所描述的技术中,一起不满足运动向量限制的MVP和MVD不应存在 于位流中,其中在位流中的候选运动向量预测值的列表的索引识别MVP,且其中 MVD包含于位流中。

当在合并/跳过模式和AMVP的情况下使用运动向量限制时,可能存在需要解决的 某些特殊状况。在合并/跳过模式的情况下,可能需要关于TMVP的进一步约束,且在 AMVP的情况下,可能需要关于包含于位流中的旗标的进一步约束。每一者被依次更 详细地描述。

如上文所描述,视频编码器20和视频解码器30基于包含空间和时间相邻块的相 邻块的运动信息构建候选运动向量预测值的列表。时间相邻块的运动向量被称作时间 运动向量预测值(TMVP)。对于来自空间相邻块的运动向量预测值(即,SMVP),保证 SMVP所参考的参考图片在图片的参考图片列表中被识别,这是因为空间相邻块与当 前块在相同的图片中。又,如果空间相邻块的运动向量参考视图间或层间参考图片, 那么保证空间相邻块的运动向量满足运动向量限制。

然而,对于时间相邻块的运动向量,可能无法保证运动向量参考当前图片的参考 图片列表中的一者中的参考图片。此外,时间相邻块的运动向量可违反运动向量限 制。

在AMVP模式中,传信参考图片列表和参考索引,因此即使在选择TMVP的情况 下,所导出的运动向量仍将参考当前图片的参考图片列表中可用的图片。又,在 AMVP模式中,如果TMVP违反运动向量限制,那么运动向量差可补偿TMVP以使得 所导出的运动向量顺应运动向量限制。

在合并/跳过模式中,可能不存在此控制(例如,如果TMVP违反运动向量限制,那 么无法补偿TMVP)。因此,在合并/跳过模式中,选择TMVP(例如,时间合并候选者) 可导致在运动向量范围之外的运动向量(即,视差运动向量或参考另一层的运动向量违 反运动向量限制),这是因为时间相邻块(即,同置块)可包含指向长期参考图片的运动 向量,长期参考图片不为视图间或层间参考图片。

例如,在合并/跳过模式中,如果选择TMVP,那么视频编码器20和视频解码器 30可需要确定参考图片列表和参考图片列表索引。在合并/跳过模式中,视频编码器20 和视频解码器30可利用默认参考图片列表和默认索引(例如,HEVC中的索引0),而非 使用TMVP的参考图片列表和参考图片列表索引。用于TMVP的默认索引可被称作 TMVP参考索引,这是因为默认索引不一定需要限于索引0。

确保TMVP符合运动向量限制的一个技术为使视频编码器20和视频解码器30实 施运动向量截割,以使得运动向量在运动向量范围内。然而,此TMVP截割将要求在 上文所描述的仅高阶语法(仅HLS)改变下不允许的在图片的块层级的视频译码改变。换 句话说,TMVP截割可对于3DV-HEVC良好地起作用,但对于MV-HEVC或SHVC不 起作用。

为了避免块层级改变且顺应仅HLS要求,可能存在对参考图片列表和/或哪些图片 可用于帧间预测的额外约束,以使得TMVP不会造成违反运动向量限制。作为一个实 例,视频编码器20和视频解码器30可不使用并非使用视图间预测的任何视图(即,任 何图片)的视图间参考图片的正常时间长期参考图片。对于通过任何层的层间参考图片 而使用层间预测的任何图片,相同的情形可成立。作为另一实例,视频编码器20和视 频解码器30在TMVP期间用作另一图片的同置图片(例如,时间图片)的任何图片在其 参考图片列表中的任一者中无法具有长期参考(时间)图片。

作为另一实例,视频编码器20和视频解码器30可不在参考图片列表中包含参考 索引等于TMVP参考索引的视图间或层间参考图片(例如,来自基本视图或基本层的参 考图片)。例如,如上文所描述,用于TMVP的默认参考索引在HEVC中为零(即,在 参考图片列表中的第一输入项)。在一些实例中,视频编码器20和视频解码器30可不 在参考图片列表的零参考索引处包含视图间或层间参考图片。

作为又一实例,视频编码器20和视频解码器30可避免在候选运动向量预测值的 列表中包含TMVP。例如,如果运动向量限制适用且参考图片列表的TMVP参考索引 (例如,在HEVC中的零索引)识别视图间或层间参考图片(例如,在基本视图中或在基 本层中的图片),那么视频编码器20和视频解码器30可停用TMVP。

仅出于说明的目的而提供用于解决合并/跳过模式下的TMVP的上文技术。这些技 术可与另一技术结合使用,或单独地使用。

在AMVP模式的情况下,可能存在关于运动向量差(MVD)控制的额外约束。如上 文所描述,视频编码器20传信且视频解码器30接收在运动向量(例如,使用最佳匹配 搜索找到的运动向量)与运动向量预测值(MVP)之间的运动向量差(MVD)。HEVC标准 使用mvd_l1_zero_flag语法元素,其指示在RefPicList1中所识别的图片的MVD未被 传信且经推断为零。换句话说,如果mvd_l1_zero_flag为真(例如,数字1),那么视频 解码器30确定在参考图片在RefPicList1中的情况下,MVD为零。在此状况下,所导 出的运动向量等于MVP,这是因为MVD经推断为零。

然而,如果启用运动向量限制,那么可能需要使用MVD补偿MVP的违反运动向 量限制的分量。例如,如果垂直MV分量将被限制,那么视频解码器30应能够用 MVD补偿MVP的可能大的垂直分量,使得在垂直方向上的最后所导出的运动向量满 足运动向量限制。因此,在一些实例中,当启用运动向量限制且在具有运动向量限制 的情况下可能不启用mvd_l1_zero_flag时,视频编码器20可总是传信MVD。

因此,在一些实例中,可能需要对mvd_l1_zero_flag的额外约束。例如,对于使用 视图间预测的任何视图分量(例如,纹理视图分量或深度视图分量),mvd_l1_zero旗标 可受到约束而总是等于0。作为另一实例,如果启用运动向量限制,那么视频编码器 20和视频解码器30可推断mvd_l1_zero_flag的值等于0,且视频编码器20可不传信且 视频解码器30可不接收位流中的mvd_l1_zero_flag的值。作为另一实例, mvd_l1_zero_flag仍可被传信,但具有停用值(例如,0)。

作为另一实例,技术可相反地来应用。例如,如果mvd_l1_zero_flag将为真,那么 可不启用运动向量限制。换句话说,视频编码器20可在mvd_l1_zero_flag为真的情况 下不传信指示启用运动向量限制的运动向量限制旗标,且可仅在mvd_l1_zero_flag为假 的情况下传信指示启用运动向量限制的运动向量限制旗标。

视频编码器20可以如下方式实施仅在mvd_l1_zero_flag为假的情况下传信指示启 用运动向量限制的旗标的条件。

作为另一实例,简化技术可为当启用运动向量限制时,没有显式地传信的参考索 引(在AMVP模式下)可指向视图间或层间参考图片。例如,在AMVP模式中,视频编 码器20可确定是否启用运动向量限制。如果启用运动向量限制,那么视频编码器20 可确定不参考视图间或层间参考图片的参考图片列表的参考索引。在此实例中, mvd_l1_zero_flag可不被约束为等于零,这是因为视频编码器20将不选择视图间或层 间参考图片。因此,所导出的运动向量将不参考视图间或层间参考图片,其中运动向 量限制可能不适用。

紧接在前面的实例技术可被视为对参考索引的约束。在此实例中,视频编码器20 可比较绝对值或替代地仅正值(因为负垂直值分量可指向参考视图的已经重构建块)与运 动向量限制要求。仅在运动向量不满足运动向量限制的条件的情况下,才不允许使用 参考视图间或层间参考图片(例如,基本视图或基本层)的参考索引。例如,有可能 mvd_l1_zero_flag等于一且参考索引参考视图间或层间参考图片的所导出运动向量满足 运动向量限制规则。如果所导出的运动向量将满足运动向量限制规则,那么即使 mvd_l1_zero_flag为真,视频编码器20仍可选择参考视图间或层间参考图片的参考索 引。

如上文所描述,对于多视图视频译码,运动向量限制的使用可为可选择的,且在 位流中用指示启用运动向量限制的旗标或其它语法元素来指示。对于可缩放视频译 码,可永久地启用运动向量限制,且在一些实例中,运动向量限制要求可为:所导出 的运动向量为零向量(例如,如果运动向量参考层间参考图片,那么所导出的运动向量 的水平(x)分量和垂直(y)分量两者皆等于零)。

上文所描述的实例MVD控制技术也可与可缩放视频译码技术(例如,SHVC)一起 使用。例如,如果运动向量为约束(例如,使用运动向量限制),那么视频编码器20可 设定mvd_l1_zero_flag为零以使得能够通过MVD补偿运动向量预测值,使得所导出的 运动向量满足约束(例如,MV=MVD+MVP=0)。换句话说,视频编码器20可避免 导致所导出的运动向量违反运动向量限制的MVP和MVD的组合。

作为另一实例,视频编码器20可避免选择在启用mvd_l1_zero_flag的情况下将致 使所导出的运动向量违反运动向量限制的运动向量预测值。例如,在启用 mvd_l1_zero_flag的情况下,视频编码器20可仅选择可满足约束(即,运动向量限制)的 运动向量预测值(例如,AMVP候选者)。

例如,对于层间参考图片,一个实例可将用以形成帧间预测的MV限制为零。其 意味对于AMVP模式,MV=MVP+MVD等于零。如上文所描述,视频解码器30基 于由视频编码器20传信且由视频解码器30接收的MVP索引(即,候选运动向量预测 值的列表的索引)确定MVP。对于参考列表L1(即,RefPicList1),当参考索引指向层间 参考图片时,MV应等于零,因此在启用mvd_l1_zero_flag的情况下,视频编码器20 可仅选择候选运动向量预测值的列表的索引,所述索引参考具有值零的运动向量预测 值(即,水平和垂直分量等于零)。以此方式,因为从经启用的mvd_l1_zero_flag推断 MVD等于零,所以所导出的运动向量将等于零,这是因为MVP等于0(即,MV= MVP+MVD,且MVP=0和MVD=0,因此MV=0)。因此,对于层间参考图片来 说,在启用mvd_l1_zero_flag和MV被约束为零的情况下,视频编码器20不应使用且 传信指向使用非零AMVP候选者(即,MVP不等于0)的层间参考图片的参考索引的 MVP索引(即,候选运动向量预测值的列表的索引)。

作为另一实例,针对使用MV约束(即,运动向量限制)的层也可停用 mvd_l1_zero_flag(传信为零)。作为又一实例,视频编码器20可仅针对视图间或层间 (例如,基本视图/层)传信mvd_l1_zero_flag,且可针对具有MV约束的增强视图/层跳 过mvd_l1_zero_flag传信,且mvd_l1_zero_flag的值经推断为零。

作为另一实例,如果参考图片列表L1(RefPicList1)包含至少一个视图间/层间参考 图片,那么视频编码器20可针对具有MV约束的增强视图/层仅传信为零或经推断为零 的mvd_l1_zero_flag。作为又一实例,视频编码器20和视频解码器30可根据参考图片 而不同地处理mvd_l1_zero_flag。例如,如果参考图片为视图间/层间图片,那么视频 编码器20可总是传信MVD值,而不管mvd_l1_zero_flag。

类似特征也可适用于MVC扩展。又,在以上实例中,MV可被约束为其它值而非 零,可针对垂直MV分量、水平MV分量或两者进行约束。换句话说,运动向量限制 可要求将所导出的运动向量限制为非零值。又,限制可适用于仅y分量、仅x分量或 适用于x分量和y分量两者。此外,对一个分量的限制不一定需要等于对另一分量的 限制。

一般来说,在一些实例中,视频编码器20可确定旗标(例如,mvd_l1_zero_flag)的 值总是指示用于参考图片列表(例如,RefPicList1)中的图片的运动向量差不为零,且可 产生旗标的值以用于输出。根据视频解码器30的观点来说,视频解码器30可从所接 收的位流确定旗标值(例如,mvd_l1_zero_flag),所述旗标值指示在参考图片列表(例 如,RefPicList1)中所识别的图片的运动向量差是否为零,且所述旗标值总是指示在参 考图片列表中的图片的运动向量差不为零。

在一些实例中,对于运动向量限制,除了如上文关于TMVP所描述的视图间或层 间参考图片的定位之外,视图间或层间参考图片(例如,基本视图或基本层参考图片)的 定位可能影响存储器频宽减少。例如,存储器频宽减少的重要状况可为最坏情况情 境。否则,如果考虑某其它非最坏情况条件,那么对于视频解码器30来说,仍可需要 考虑最坏情况的实施方案,否则可能不会达成实际简化或存储器频宽减少。为此,为 了从运动向量限制(例如,用于多视图视频译码的视差运动向量范围或用于可缩放视频 译码的层间运动向量范围)获益,当运动向量限制适用时,可能存在对参考图片的某些 约束。

例如,假定未使用视图间预测的视图的每一视图分量(即,纹理视图分量或深度视 图分量)的不同时间参考图片的最大数目为maxNumTempPics0,且假定用视图间预测译 码的每一视图分量的不同时间参考图片的最大数目为maxNumTempPics1。在一些实例 中,maxNumTempPics0应小于或等于maxNumTempPics1。

因此,为了通过限制参考视图间或层间参考图片(例如,基本视图或基本层参考图 片)的运动向量的垂直分量而进行实际存储器频宽减少,视图间或层间参考图片可能必 须存在于至少一个参考列表中。否则,如果未将视图间或层间参考图片插入到参考图 片列表中且(例如)可取而代之使用其它时间参考图片,那么对于参考视图间或层间参考 图片的运动向量的运动向量限制未解决在此实例中的将使得所有时间图片作为参考列 表中的参考图片的最坏情况。

换句话说,如果启用运动向量限制,那么运动向量限制的益处(例如,存储器频宽 减少)可仅在视图间或层间参考图片包含于参考图片列表中的一者中的情况下为可用 的。否则,在参考图片列表中的所有图片将为时间图片,且运动向量限制将不适用。 因此,在一些实例中,如果启用运动向量限制,那么视频编码器20和视频解码器30 可经配置以要求在参考图片列表中的一者中包含至少一个视图间或层间参考图片。

作为对参考图片列表的一个实例约束,非基本视图或层(例如,相依视图或相依/增 强层)的所有视图分量具有多达两个时间参考图片和一个视图间或层间参考图片(例如, 基本视图或基本层)。作为对参考图片列表的另一实例约束,非基本视图或层的所有视 图分量具有多达两个时间参考图片,一些视图分量经视图间或层间预测(使用一个视图 间或层间参考图片),且一些视图分量未经视图间或层间预测。

如上文所描述,对于多视图视图译码,运动向量限制的使用可为可选择的。在一 些实例中,尤其在逐LCU地排列像素存储器时,为了促进存储器存取,当(或仅当)视 差运动向量具有零垂直分量时可能存在存储器频宽减少益处。为了视差运动向量范围 的传信的简单起见,在一些实例中,视频编码器20可在补充增强信息(SEI)消息、序列 参数集、视频参数集或视频可用性信息(VUI)消息中传信指示视差运动向量的y分量被 限制为零的旗标。

以下伪码说明用于在SEI消息中包含指示视差运动向量的y分量被限制为零的旗 标的方式。

zero_vertical_disparity_mv_flag等于1指示视差运动向量总是具有等于0的垂直 分量。zero_vertical_disparity_mv_flag等于0指示视差运动向量可具有不等于0的垂直 分量。

video_parameter_set_id指定含有视图间相依关系信息的视频参数集。 video_parameter_set_id的值应等于由含有并行解码信息SEI消息的存取单元的经译码 图片的视图分量所参考的video_parameter_set_id的值。

pdi_init_delay_ctb_vertical_minus3和pdi_init_delay_ctb_horizontal_minus2指定 任何参考视图分量中的不应被使用如作用中视频参数集识别符(等于当前SEI消息中所 含有的语法元素video_parameter_set_id)中所指定的视图间预测的经译码视图分量用于 视图间参考的不可用的参考区域。

变量horCtb经导出为:horCtb=pdi_init_delay_ctb_horizontal_minus2? pdi_init_delay_ctb_horizontal_minus2+2+(CtbAddrInRS%PicWidthInCtbsY):0。变量 verCtb经导出为:verCtb=CtbAddrInRS/PicWidthInCtbsY+pdi_init_delay_ctb_ vertical_minus3+3。

当不存在时,pdi_init_delay_ctb_vertical_minus3经推断为-1,或等效地,verCtb经 推断为:CtbAddrInRS/PicWidthInCtbsY+2。

以此方式,位流约束规则可制订为以下的限制集合。如果存在对用于通过层间/视 图间参考图片(例如,由来自合并/跳过或AMVP模式的参考索引识别)进行的运动补偿 的运动向量的限制,那么在使用合并/跳过模式的情况下,位流可(例如,应)不含有合 并/跳过索引(即,用于合并/跳过模式的候选运动向量预测值的列表的索引),或在使用 AMVP模式的情况下,位流可(例如,应)不含有MVP索引(即,用于AMVP模式的候 选运动向量预测值的列表的索引)和MVD,所述合并/跳过索引或MVP索引和MVD将 产生不满足运动向量限制的运动向量。另外,位流可(例如,应)不含有用于 mvd_l1_zero_flag的非零值(意味停用此旗标),这是因为位流可能需要具有非零MVD 以使得对于参考列表L1(RefPicList1),MV=MVP+MVD将满足MV约束(即,运动向 量限制)。

例如,如果对于层间/视图间参考图片将运动向量的一或两个分量限制为零,那么 位流可(例如,应)不含有用于合并模式的合并索引,或用于AMVP模式的MVP索引和 MVD,所述合并索引或MVP索引和MVD将产生非零运动向量或运动向量分量。另 外,位流可(例如,应)不含有用于mvd_l1_zero_flag的非零值(意味停用此旗标),这是 因为位流可能需要具有非零MVD以使得对于参考列表L1(RefPicList1),MV=MVP+ MVD等于零。

可将上文所描述的约束中的一些或全部强加于存在于位流中的语法元素(例如,信 息)。例如,用于位流的约束规则可被制订为如下:对于每一参考图片列表RefPicListX (其中X为0或1),合并索引(merge_idx)、MVP索引(mvp_lX_flag)、参考索引 (ref_idx_lX)、MVD(MvdLX)和mvd_l1_zero_flag应提供具有满足运动向量限制的运动 向量分量(例如,两个分量等于零(例如,对于SHVC状况))的MV。

换句话说,视频编码器20和视频解码器30可各自构建候选运动向量预测值的列 表。在合并/跳过模式中,视频编码器20可确定候选运动向量预测值的列表的索引(所 述索引识别用以导出运动向量的运动向量预测值,所述运动向量的值顺应运动向量限 制)且产生候选运动向量预测值的列表的索引以用于输出。在合并/跳过模式中,视频解 码器30可从所接收的位流确定候选运动向量预测值的列表的索引,所述索引识别用以 导出运动向量的运动向量预测值。在此实例中,视频解码器30可将运动向量设定为等 于运动向量预测值,且此外,运动向量预测值顺应运动向量限制。

对于AMVP模式,视频编码器20可确定候选运动向量预测值的列表的索引,所述 索引识别用以导出运动向量的运动向量预测值。视频编码器20也可确定运动向量差以 使得当将运动向量差与运动向量预测值相加时,所得运动向量顺应运动向量限制。视 频编码器20也可产生候选运动向量预测值的列表的索引和运动向量差以用于输出。在 AMVP模式中,视频解码器30可从所接收的位流确定识别用以导出运动向量的运动向 量预测值的候选运动向量预测值的列表的索引,且从所接收的位流确定运动向量差, 运动向量差的值使得将运动向量差与运动向量相加时所得运动向量顺应运动向量限 制。视频解码器30可通过将运动向量预测值与运动向量差相加而导出运动向量。

对于实现为仅HLS解决方案(不存在在块层级的改变)或具有允许的块层级改变的 HLS解决方案的HEVC SVC扩展,所有描述是有效的。基本层编码解码器可为 HEVC、AVC、MPEG-2等等。可将限制施加于垂直运动向量(MV)分量、水平MV分量 或两者上,也包含参考列表L0(RefPicList0)、参考列表L1(RefPicList1)或两者。然 而,对于SVC状况,对参考层间参考图片的MV的两个分量为零运动向量的限制为使 用状况中的一者。

因此,在一些实例中,视频编码器20可经配置以确定用于从运动向量预测值导出 当前块的运动向量的信息,所述信息确保所导出的运动向量顺应运动向量限制。在这 些实例中,运动向量可参考视图间或层间参考图片(例如,相对于包含当前块的图片的 在另一视图或层中的图片)。又,运动向量限制与参考视图间或层间参考图片的运动向 量相关联。

视频编码器20可基于信息导出当前块的运动向量,且基于所述所导出的运动向量 视图间或层间预测编码当前块。视频编码器20也可产生用于导出运动向量的所确定的 信息以用于输出。

在一些实例中,视频解码器30可经配置以接收位流,所述位流包含用于从运动向 量预测值导出当前块的运动向量的信息。类似于上文,运动向量参考视图间或层间参 考图片,且运动向量限制与参考视图间或层间参考图片的运动向量相关联。在本发明 中所描述的技术中,位流中的信息确保所导出的运动向量顺应运动向量限制。

在本发明中所描述的技术中,视频解码器30可基于位流中的信息导出当前块的运 动向量。视频解码器30也可基于所导出的运动向量视图间或层间预测解码当前块。

上文关于用于存储器频宽减少的运动向量限制描述实例。下文描述关于并行解码 的技术。关于用于存储器频宽减少的运动向量限制所描述的技术并不一定需要与并行 解码一起使用。换句话说,即使视频编码器20和视频解码器30不实施并行解码,视 频编码器20和视频解码器30仍可经配置以实施运动向量限制。

如上文所描述,一些技术已依赖于宏块行以指示并行解码延迟。然而,对于基于 HEVC的视频译码技术来说,依赖于宏块行可能并非可行的。又,一些技术传信按 LCU行的并行解码延迟,但仍需要基于LCU大小转换这些值以使得视频解码器30可 确定何时开始并行解码。

例如,一些技术直接地传信运动向量限制(例如,在JCT3V-B0037中)。运动向量 限制的此直接传信意味传信对运动向量分量的值的限制。这些技术将极可能要求将对 运动向量分量的值的限制转换成LCU行单位,其可能会出问题,这是因为仍将需要基 于LCU大小来计算LCU行延迟(作为一个实例)。

在一些实例中,根据本发明中所描述的技术,视频编码器20可传信且视频解码器 30可接收以块大小为单位的运动向量限制信息。基于运动向量限制信息,视频解码器 30可确定何时开始并行解码。作为一个实例,视频编码器20可产生以块大小为单位的 运动向量限制的垂直运动向量范围以用于输出,且视频解码器30可从所接收的位流确 定以块大小为单位的运动向量限制的垂直运动向量范围。块大小单位可包括最大译码 单元高度和最小译码单元高度单位中的一者。视频解码器30可基于垂直运动向量范围 并行解码视图间或层间参考图片和包含当前块的当前图片。

例如,运动向量限制可定义水平和垂直分量的值的范围。在一个实例中,视频编 码器20可传信且视频解码器30可接收以最大译码单元(LCU)高度或宽度为单位的垂直 运动向量范围或水平运动向量范围(例如,垂直或水平视差运动向量范围或用于层间参 考图片的垂直或水平运动向量范围)。作为另一实例,视频编码器20可传信且视频解码 器30可接收以最小译码单元(SCU)为单位的运动向量限制范围。作为又一实例,视频 编码器20可传信且视频解码器30可接收以四为单位的运动向量限制范围。

在一些实例中,如果运动向量限制指示垂直运动向量范围等于或近似为零(意味运 动向量总是具有等于或小于零(例如,小于LCU高度)的垂直分量),那么直到那时视频 编码器20才可传信水平运动向量范围。在一些实例中,视频编码器20可总是传信水 平运动向量范围。

在一些实例中,视频编码器20有可能直接传信LCU行延迟。LCU行延迟指示垂 直延迟。在这些实例中,当视频编码器20传信LCU行延迟时,视频编码器20也可直 接传信LCU列延迟。LCU列延迟指示水平延迟。在这些实例中,视频解码器30可直 接从位流接收LCU行(垂直)延迟和LCU列(水平)延迟。作为一个实例,如果运动向量 (例如,视差运动向量或参考层间参考图片的运动向量)被视为典型地小的(例如,对于 垂直分量来说为0,且对于水平分量来说为-2),那么可使得LCU行延迟为1,且也可 使得LCU列延迟为小的(例如,1或2)。

在上文实例中,视频编码器20可依据行或列直接传信并行解码延迟(例如,LCU 行延迟和LCU列延迟)。通过依据行或列直接传信并行解码延迟,可不需要将基于运动 向量分量的运动限制转换成行或列。换句话说,视频编码器20在传信LCU行延迟和 LCU列延迟的过程中可能已经考虑到LCU大小或块的大小。

上文实例描述运动向量限制(例如,x分量和y分量的运动向量范围或LCU行或列 延迟)的传信。在一些实例中,视频编码器20可传信且视频解码器30可接收在补充增 强信息(SEI)消息中的运动向量限制。在一些实例中,视频编码器20可传信且视频解码 器30可接收在视频参数集中的运动向量限制。在一些实例中,视频编码器20可传信 且视频解码器30可接收在序列参数集中的运动向量限制。在一些实例中,视频编码器 20可传信且视频解码器30可接收在视频可用性信息(VUI)消息中的运动向量限制。

下文描述用于传信并行解码信息的实例技术。例如,下文提供实例伪码和伪码的 语义以用于实施并行解码。可单独地或联合地实施这些技术。又,下文针对并行解码 信息提供的实例不应被视为限制性的,且仅出于说明目的而提供。此外,出于描述容 易起见,关于多视图视频译码描述技术,但这些技术也可扩展到可缩放视频译码技 术。例如,在描述使用例如“视图间参考”的术语的情况下,所述术语可用层间参考 来替换。换句话说,用于视图间参考的技术也可扩展到层间参考。

下文证明并行解码信息SEI消息语法。

video_parameter_set_id指定含有视图间或层间相依关系信息的视频参数集。 video_parameter_set_id的值应等于由含有并行解码信息SEI消息的存取单元的经译码 图片的视图分量或层分量所参考的video_parameter_set_id的值。

pdi_init_delay_ctb_vertical_minus2和pdi_init_delay_ctb_horizontal_minus2指定 任何参考视图分量或层图片中的不应被使用如作用中视频参数集识别符(等于当前SEI 消息中所含有的语法元素video_parameter_set_id)中所指定的视图间或层间预测的经译 码视图分量用于视图间或层间参考的不可用的参考区域。

变量horCtb经导出为:horCtb=pdi_init_delay_ctb_horizontal_minus2? pdi_init_delay_ctb_horizontal_minus2+2+(CtbAddrInRS%PicWidthInCtbsY):0;

变量verCtb经导出为:

verCtb=CtbAddrInRS/PicWidthInCtbsY+pdi_init_delay_ctb_vertical_minus2+2;

refCtb地址refCtbAddr经导出为:

refCtbAddr=Min(horCtb,PicWidthInCtbsY)+verCtb*PicWidthInCtbsY。

不可用参考区域包含等于或大于refCtbAddr的所有译码树型块地址。当解码经译 码的视图分量时,来自不可用参考区域(其来自参考视图的视图分量)的样本不应由视图 间或层间预测过程参考。

pdi_init_delay_ctb_vertical_minus2的值应在0到PicHeightInCtbsY-2的范围中, 包含0和PicHeightInCtbsY-2。pdi_init_delay_ctb_horizontal_minus2的值应在0到 PicWidthInCtbsY-2的范围中,包含0和PicWidthInCtbsY-2。

当pdi_init_delay_ctb_horizontal_minus2等于0时,LCU行中具有小于verCtb的垂 直地址的任何LCU(译码树型块)可用于视图间或层间预测。垂直LCU行延迟可(例 如,应)等于或大于2。水平LCU列延迟在适用的情况下可(例如,应)等于或大于2。

在一些实例中,可需要对于每一视图具有相同LCU(译码树型块)大小的约束。当 视图具有不同LCU大小时,最大LCU大小可适用于上文导出。可在视频参数集扩展 中传信此最大LCU大小。

当解码当前LCU时,假定水平视差运动向量极小,视频解码器30可需要同置 LCU。然而,为了使得同置LCU可用,同置LCU的下、右和右下LCU可需要至少被 解块滤波。为了实现彼情形,可需要预测(通过(例如)运动补偿和/或帧内预测)上文所提 及的LCU中的下LCU和右LCU。在此状况下,可需要至少两个LCU行延迟和两个 LCU列延迟。换句话说,为了实现回路内滤波(例如,样本自适应性偏移(SAO)滤波和 解块滤波),视频解码器30在开始并行解码当前图片之前可需要等待直到视图间或层间 参考图片的额外行经重构建为止。

在一些实例中,视频编码器20可仅在pdi_init_delay_ctb_vertical_minus2等于2时 传信pdi_init_delay_ctb_horizontal_minus2。作为另一实例,视频编码器20可仅传信垂 直LCU行延迟,如下:

verCtb=CtbAddrInRS/PicWidthInCtbsY+pdi_init_delay_ctb_vertical_minus3+3。

不可用参考区域为矩形区域,其具有作为左上角的坐标(0, (verCtb*PicWidthInCtbsY))和作为右下角的(PicWidthInSamples,PicHeightInSamples)。当 解码经译码的视图分量时,来自不可用参考区域(其来自参考视图的视图分量)的样本可 (例如,应)不由视图间或层间预测过程来参考。

在一些实例中,视频编码器20可传信pdi_init_delay_ctb_rs_address,其按光栅扫 描次序指定LCU延迟。在一些实例中,视频编码器20可传信 pdi_init_delay_ctb_rs_address_minusctbwidth。在这些实例中,pdi_init_delay_ctb_rs_ address_minusctbwidth+PicWidthInCtbsY按光栅扫描次序指示LCU延迟。

在一些实例中,视频编码器20可对于每一视图针对其所有参考视图或层单独地传 信pdi_init_delay_ctb_vertical_minus2和pdi_init_delay_ctb_horizontal_minus2。在一些 实例中,针对使用视图间或层间预测的每一视图或层的每一参考视图或层,视频编码 器20可单独地传信pdi_init_delay_ctb_vertical_minus2和pdi_init_delay_ctb_horizontal _minus2。例如:

在一些实例中,对于所有上文状况,pdi_init_delay_ctb_horizontal_minus1未被传信 且经推断等于0。在一些实例中,video_parameter_set_id可被传信为固定长度(例如, u(4))。

当假定仅像素重构建(包含例如运动补偿和帧内预测)需要逐LCU地进行,而解块 可逐块(即,8×8块)地进行且样本自适应性偏移(SAO)滤波可逐线地进行时,可显著地 降低LCU延迟。例如,当视频编码器20仅传信垂直LCU行延迟时,最小行延迟为 2。当视频编码器20传信垂直LCU行延迟和水平LCU列延迟两者时,最小行延迟为 1,且最小LCU列延迟也为1。在后一状况下,语法可被如下修改:

语义为类似的,但其中verCtb和horCtb的计算被稍微修改如下:变量horCtb经导出 为:horCtb=pdi_init_delay_ctb_horizontal_minus1?pdi_init_delay_ctb_horizontal_minus1+ 1+(CtbAddrInRS%PicWidthInCtbsY):0;变量verCtb经导出为:

verCtb=CtbAddrInRS/PicWidthInCtbsY+pdi_init_delay_ctb_vertical_minus1+1;

下文描述具有不同LCU大小的并行解码信息SEI消息。此实例类似于用于并行解 码信息SEI消息的替代者中的一者,其额外地支持各种经译码视图分量中的不同CTU 大小。此外,尽管关于SEI消息描述实例,但技术可扩展到VUI语法元素。

下文提供并行解码信息SEI消息语法。

并行解码信息SEI消息可与任何存取单元相关联。在SEI消息中传信的信息适用 于从与SEI消息相关联的存取单元开始到独占式地含有相同类型的SEI消息的按解码 次序之下一个存取单元或到经译码视频序列的末尾(按解码次序较早的一者)的所有存取 单元。应理解,一些视图分量(在并行解码信息SEI消息中传信了其并行解码信息)可不 存在于经译码视频序列中。

video_parameter_set_id指定含有视图间或层间相依关系信息的视频参数集。 video_parameter_set_id的值可(例如,应)等于由含有并行解码信息SEI消息的存取单元 的经译码图片的视图分量所参考的video_parameter_set_id的值。

对于经译码视图分量i的第j个参考视图的视图分量,变量refLog2CtbSizeY、 refPicWidthInCtbsY[i][j]和refPicHeightInCtbsY[i][j]可分别被设定为等于 Log2CtbSizeY、PicWidthInCtbsY和PicHeightInCtbsY。

pdi_init_delay_ctu_vertical_minus2[i][j]和pdi_init_delay_ctu_horizontal_ minus2[i][j]指定第i个经译码视图分量的第j个参考视图分量中的不可用参考区域, 所述不可用参考区域可(例如,应)不被使用由video_parameter_set_id识别的作用中视频 参数集中所指定的视图间或层间预测的第i个经译码视图分量用于视图间参考。 pdi_unit_delay_ctu_vertical_minus2[i][j]的范围可(例如,应)为0到refPicHeightInCtbs -3,包含0和refPicHeightInCtbs-3。pdi_unit_delay_ctu_horizontal_minus2[i][j]的范 围可(例如,应)为0到refPicWidthInCtbs-3,包含0和refPicWidthInCtbs-3。

在一些实例中,视频编码器20可传信单一语法元素 pdi_init_delay_ctu_minus2[i][j],且不传信pdi_init_delay_ctu_vertical_minus2[i][j]和 pdi_init_delay_ctu_horizontal_minus2[i][j]。在这些实例中,视频解码器30可如下从 pdi_init_delay_ctu_minus2[i][j]导出pdi_init_delay_ctu_vertical_minus2[i][j]和 pdi_init_delay_ctu_horizontal_minus2[i][j]的值:pdi_init_delay_ctu_horizontal_minus2 [i][j]=pdi_init_delay_ctu_minus2[i][j]%refPicWidthInCtbs,且pdi_init_delay_ctu_ vertical_minus2[i][j]=pdi_init_delay_ctu_minus2[i][j]/refPicWidthInCtbs。

变量horCtb[i][j]被如下导出:horCtb[i][j]=pdi_init_delay_ctu_ horizontal_minus2[i][j]?pdi_init_delay_ctu_horizontal_minus2[i][j]+2:0。变量 verCtb[i][j]被如下导出:verCtb[i][j]=pdi_init_delay_ctu_vertical_minus2[i][j]? pdi_init_delay_ctu_vertical_minus2[i][j]+2:0。

变量ctbAddr被如下导出:

if(Log2CtbSizeY<refLog2CtbSizeY)

ctbAddr=CtbAddrInRS>>((refLog2CtbSizeY-Log2CtbSizeY)*2))

else

ctbAddr=CtbAddrInRS<<((Log2CtbSizeY-refLog2CtbSizeY)*2)

表示refCtb[i][j]的地址的变量refCtbAddr[i][j]被如下导出:refCtbAddr[i][j] =horCtb[i][j]+verCtb[i][j]*refPicWidthInCtbsY[i][j]+ctbAddr。

经译码视图分量i的第j个参考视图中的不可用参考区域包含具有等于或大于 refCtbAddr[i][j]的地址的所有译码树型单元。当解码第i个经译码视图分量时,来自 不可用参考区域(其来自经译码视图分量i的第j个参考视图的视图分量)的样本可(例 如,应)不由视图间或层间预测过程参考。

图5为说明可实施本发明中所描述的技术的实例视频编码器20的框图。视频编码 器20可执行视频切片内的视频块的帧内译码和帧间译码。帧内译码依赖于空间预测以 减少或去除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减少 或去除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于 空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可 指若干基于时间的压缩模式中的任一者。视频编码器20也可执行视图间预测译码和层 间预测译码,其中视频编码器20使用其它视图或层的块以用于帧间预测。

在图5的实例中,视频编码器20包含分割单元350、预测处理单元410、参考图 片存储器640、求和器500、变换处理单元520、量化处理单元540和熵编码单元 560。参考图片存储器640为经解码图片缓冲器(DPB)的实例。预测处理单元410包含 运动估计单元420、运动补偿单元440和帧内预测单元460。针对视频块重构建,视频 编码器20也包含反量化处理单元580、反变换处理单元600和求和器620。也可包含 解块滤波器(图5中未展示)以对块边界进行滤波从而从经重构建视频去除方块效应伪 影。在需要时,解块滤波器通常将对求和器620的输出进行滤波。除了解块滤波器之 外,也可使用额外回路滤波器(回路内或回路后)。

如图5中所示,视频编码器20接收视频数据,且分割单元350将数据分割成视频 块。此分割也可包含分割成切片、图像块或其它较大单元,以及(例如)根据LCU和CU 的四分树结构的视频块分割。视频编码器20大体上说明编码在待编码的视频切片内的 视频块的组件。切片可划分成多个视频块(且可能被划分成被称作图像块的视频块的集 合)。预测处理单元410可基于错误结果(例如,译码速率和失真的电平)选择用于当前 视频块的多个可能译码模式中的一者,例如,多个帧内译码模式中的一者或多个帧间 译码模式中的一者。预测处理单元410可将所得经帧内译码或经帧间译码块提供到求 和器500以产生残余块数据且提供到求和器620以重构建经编码块以用作参考图片。

预测处理单元410内的帧内预测单元460可执行相对于在与待译码的当前块相同 的帧或切片中的一或多个相邻块的对当前视频块的帧内预测性译码以提供空间压缩。 预测处理单元410内的运动估计单元420和运动补偿单元440执行相对于一或多个参 考图片中的一或多个预测性块的对当前视频块的帧间预测性译码以提供时间压缩。

运动估计单元420可经配置以根据视频序列的预定型样确定视频切片的帧间预测 模式。运动估计单元420和运动补偿单元440可高度集成,但为概念目的而分别说 明。由运动估计单元420执行的运动估计为产生估计视频块的运动的运动向量的过 程。例如,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预 测性块的移位。运动估计单元420也可确定运动向量预测值以确定运动向量差 (MVD)。

预测性块为经发现在像素差方面密切匹配待译码的视频块的PU的块,像素差可通 过绝对差和(SAD)、平方差和(SSD)或其它差度量确定。在一些实例中,视频编码器20 可计算存储于参考图片存储器640中的参考图片的次整数像素位置的值。例如,视频 编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位 置的值。因此,运动估计单元420可执行相对于全像素位置和分数像素位置的运动搜 索且输出具有分数像素精度的运动向量。

运动估计单元420通过比较PU的位置与参考图片的预测性块的位置而计算经帧间 译码切片中的视频块的PU的运动向量。可从第一参考图片列表(列表0或RefPicList0) 或第二参考图片列表(列表1或RefPicList1)选择参考图片,所述列表中的每一者识别存 储于参考图片存储器640中的一或多个参考图片。运动估计单元420将经计算运动向 量发送到熵编码单元56和运动补偿单元440。运动补偿单元420也可将经计算运动向 量预测值和MVD发送到熵编码单元560。

由运动补偿单元440执行的运动补偿可涉及基于由运动估计(可能执行到子像素精 度的内插)确定的运动向量提取或产生预测性块。在接收到当前视频块的PU的运动向 量时,运动补偿单元440可在参考图片列表中的一者中寻找运动向量所指向的预测性 块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值来形 成残余视频块,从而形成像素差值。像素差值形成块的残余数据,且可包含亮度和色 度差分量两者。求和器500表示执行此减法运算的一或多个组件。运动补偿单元440 也可产生与视频块和视频切片相关联的语法元素(例如,信息)以供视频解码器30在解 码视频切片的视频块时使用。

作为对由运动估计单元420和运动补偿单元440执行的帧间预测(如上文所描述)的 替代,帧内预测单元460可帧内预测当前块。明确地说,帧内预测单元460可确定用 以编码当前块的帧内预测模式。在一些实例中,帧内预测单元460可(例如)在单独编码 遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元460可从经测试模式 选择适当帧内预测模式来使用。例如,帧内预测单元460可使用针对各种经测试帧内 预测模式的位率-失真分析来计算位率-失真值,且在经测试模式当中选择具有最佳位率 -失真特性的帧内预测模式。位率-失真分析通常确定经编码块与经编码以产生经编码块 的原始未经编码块之间的失真(或误差)的量,以及用以产生经编码块的位率(即,位的 数目)。帧内预测单元460可根据各种经编码块的失真和位率计算比率以确定哪一帧内 预测模式展现出块的最佳位率-失真值。

在任何状况下,在选择块的帧内预测模式之后,帧内预测单元460可将指示块的 选定帧内预测模式的信息提供到熵编码单元560。熵编码单元560可根据本发明的技术 编码指示选定帧内预测模式的信息。视频编码器20可在所传输位流中包含配置数据, 所述配置数据可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也称 作码字映射表)、各种块的编码上下文的定义,和最有可能用于上下文中的每一者的帧 内预测模式、帧内预测模式索引表和经修改帧内预测模式索引表的指示。

在预测处理单元410经由帧间预测或帧内预测产生当前视频块的预测性块之后, 视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视 频数据可包含于一或多个TU中且应用于变换处理单元520。变换处理单元520使用例 如离散余弦变换(DCT)或概念上类似的变换的变换将残余视频数据变换成残余变换系 数。变换处理单元520可将残余视频数据从像素域转换到变换域,例如,频域。

变换处理单元520可将所得变换系数发送到量化处理单元540。量化处理单元540 对变换系数进行量化以进一步减小位率。量化过程可减少与系数中的一些或全部相关 联的位深度。可通过调整量化参数来修改量化的程度。在一些实例中,量化处理单元 540可接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元560可执行 扫描。

在量化之后,熵编码单元560熵编码经量化变换系数。例如,熵编码单元560可 执行上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码 (CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率区间分割熵 (PIPE)译码或另一熵编码方法或技术。在由熵编码单元560进行熵编码之后,可将经编 码位流传输到视频解码器30或加以封存以供稍后传输或由视频解码器30检索。熵编 码单元560也可对正被译码的当前视频切片的运动向量和其它语法元素进行熵编码。

反量化处理单元580和反变换处理单元600分别应用反量化和反变换,以在像素 域中重构建残余块以供稍后用作参考图片的参考块。运动补偿单元440可通过将残余 块与参考图片列表中的一者内的参考图片中的一者的预测性块相加来计算参考块。运 动补偿单元440也可将一或多个内插滤波器应用于经重构建残余块以计算次整数像素 值以供在运动估计中使用。求和器620将经重构建残余块与由运动补偿单元440产生 的经运动补偿预测块相加以产生参考块以供存储于参考图片存储器640中。参考块可 由运动估计单元420和运动补偿单元440用作参考块以帧间预测后续视频帧或图片中 的块。

在一些实例中,预测处理单元410可经配置以实施本发明中所描述的技术。然 而,本发明中所描述的技术不限于此。在一些实例中,与视频编码器20内的一或多个 其它单元结合的预测处理单元410可经配置以实施本发明中所描述的技术。在一些实 例中,处理单元(图5中未图示)可经配置以实施本发明中所描述的技术。换句话说,视 频编码器20可包含一或多个处理器,且可经配置以实施本发明中所描述的实例技术。

例如,视频编码器20(例如,经由预测处理单元410)可确保在视频解码器30所接 收的位流中传信的信息致使视频解码器30导出顺应运动向量限制的运动向量。作为一 个实例,对于合并/跳过模式,视频编码器20可确定信息,例如,候选运动向量预测值 的列表的索引,所述索引识别用以导出运动向量的运动向量预测值,所述运动向量的 值顺应运动向量限制。作为另一实例,对于AMVP模式,视频编码器20可确定候选运 动向量预测值的列表的索引,所述索引识别用以导出运动向量的运动向量预测值。视 频编码器20也可确定运动向量差,以使得当将运动向量差与运动向量预测值相加时, 所得运动向量顺应运动向量限制。在用于合并/跳过模式和AMVP模式的实例中,视频 编码器20可产生候选运动向量预测值的列表的索引以用于输出。对于AMVP模式,视 频编码器20也可产生运动向量差以用于输出。

在一些实例中,视频编码器20可确定旗标(例如,mvd_l1_zero_flag)的值总是指示 参考图片中的图片的运动向量差不为零。视频编码器20也可产生旗标的值以用于在位 流中输出。

对于并行解码,视频编码器20可以块大小为单位输出运动向量限制的垂直运动向 量范围。例如,运动向量限制可包含垂直运动向量范围和水平运动向量范围中的至少 一者。在这些实例中,块大小单位可为用于垂直向量范围的最大译码单元高度和最小 译码单元高度单位和用于水平向量范围的最大译码单元宽度和最小译码单元宽度单位 中的一者。

在一些实例中,视频编码器20可确定包含第一视图间或层间参考图片的任何视图 间参考图片或任何层间参考图片中的不可用参考区域,所述不可用参考区域无法被当 前块用于视图间或层间参考。在这些实例中,视频编码器20可基于所确定的不可用区 域导出当前块的运动向量,以使得运动向量不参考任何视图间或层间参考图片中的不 可用参考区域。视频编码器20也可经配置以产生指示不可用参考区域的信息以用于输 出。作为一个实例,视频编码器20可产生按光栅扫描次序指示不可用参考区域的信息 以用于输出。

图6为说明可实施本发明中所描述的技术的实例视频解码器30的框图。在图6的 实例中,视频解码器30包含熵解码单元800、预测处理单元810、反量化处理单元 860、反变换单元880、求和器900和参考图片存储器920。参考图片存储器920为经 解码图片缓冲器(DPB)的实例。预测处理单元810包含运动补偿单元820和帧内预测单 元840。在一些实例中,视频解码器30可执行与关于来自图5的视频编码器20所描述 的编码遍次大体上互反的解码遍次。

在一些实例中,预测处理单元810可经配置以实施本发明中所描述的技术。然 而,本发明中所描述的技术不限于此。在一些实例中,与视频解码器30内的一或多个 其它单元结合的预测处理单元810可经配置以实施本发明中所描述的技术。在一些实 例中,处理单元(图6中未图示)可经配置以实施本发明中所描述的技术。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视 频块和相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元800对位流 进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元800将运动向 量和其它语法元素转递到预测处理单元810。视频解码器30可接收在视频切片层级和/ 或视频块层级处的语法元素。

当视频切片经译码为帧内译码(I)切片时,预测处理单元810的帧内预测单元840 可基于所传信的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前 视频切片的视频块的预测数据。当视频帧经译码为帧间译码(即,B、P或GPB)切片 时,预测处理单元810的运动补偿单元820基于从熵解码单元800接收的运动向量和 其它语法元素而产生当前视频切片的视频块的预测性块。可从参考图片列表中的一者 内的参考图片中的一者产生预测性块。视频解码器30可基于存储于参考图片存储器 920中的参考图片使用默认构建技术或任何其它技术来构建参考帧列表,列表0和列表 1。

运动补偿单元820通过剖析运动向量和其它语法元素来确定当前视频切片的视频 块的预测信息,且使用预测信息来产生正被解码的当前视频块的预测性块。例如,运 动补偿单元820使用所接收的语法元素中的一些来确定用以译码视频切片的视频块的 预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或 GPB切片)、切片的参考图片列表中的一或多者的构建信息、切片的每一经帧间编码视 频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态和用以解码当前视频 切片中的视频块的其它信息。

运动补偿单元820也可基于内插滤波器执行内插。运动补偿单元820可使用如由 视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的次整数像素的 内插值。在此状况下,运动补偿单元820可根据所接收的语法元素确定由视频编码器 20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。

反量化处理单元860对在位流中所提供且由熵解码单元800解码的经量化变换系 数进行反量化(即,解量化)。反量化过程可包含使用由视频编码器20针对视频切片中 的每一视频块所计算的量化参数确定量化的程度,且同样地确定应所述应用的反量化 的程度。反变换处理单元880将反变换(例如,反DCT、反整数变换或概念上类似的反 变换过程)应用于变换系数以便在像素域中产生残余块。

在运动补偿单元820基于运动向量和其它语法元素产生当前视频块的预测性块之 后,视频解码器30通过将来自反变换处理单元880的残余块与由运动补偿单元820产 生的对应预测性块求和来形成经解码视频块。求和器900表示执行此求和运算的一或 多个组件。在需要时,也可应用解块滤波器来对经解码块滤波以便去除方块效应伪 影。其它回路滤波器(在译码回路中抑或在译码回路之后)也可用以使像素转变平滑,或 以其它方式改善视频质量。给定帧或图片中的经解码视频块接着被存储于参考图片存 储器920中,参考图片存储器920存储用于后续运动补偿的参考图片。参考图片存储 器920也存储经解码视频以供稍后呈现于例如图4的显示装置32的显示装置上。

以此方式,视频解码器30为经配置以实施本发明中所描述的实例技术的视频解码 器的实例。例如,视频解码器30可包含一或多个处理器,且可经配置以实施本发明中 所描述的实例技术。

例如,视频解码器30可从运动向量预测值导出运动向量,所述运动向量被确保顺 应运动向量限制。例如,在合并/跳过模式中,视频解码器30将运动向量设定为等于运 动向量预测值,且因此,要求运动向量预测值顺应运动向量限制。在AMVP模式中, 视频解码器30从位流确定运动向量差,所述运动向量差的值使得当将运动向量差与运 动向量预测值相加时,所得运动向量顺应运动向量限制。在此实例中,视频解码器30 可通过将运动向量预测值与运动向量差相加而导出运动向量。

在一些实例中,视频解码器30可从所接收的位流确定运动向量限制的具有块大小 的垂直运动向量范围。视频解码器30可基于垂直运动向量范围并行解码视图间或层间 参考图片和包含当前块的当前图片。

又,在一些实例中,视频解码器30可从所接收的位流确定任何视图间参考图片或 任何层间参考图片中的不可用参考区域,所述不可用参考区域无法被当前块用于视图 间或层间参考。在这些实例中,视频解码器30可基于位流中的信息导出当前块的运动 向量,以使得运动向量不参考任何视图间参考图片或任何层间参考图片中的不可用参 考区域。作为一个实例,视频解码器30可按光栅扫描次序确定不可用参考区域。

图7为说明根据本发明中所描述的技术的视图间或层间视频解码的实例操作的流 程图。出于说明的目的,关于视频解码器30描述所述技术。例如,视频解码器30可 接收位流,所述位流包含用于从运动向量预测值导出当前块的运动向量的信息(1000)。 运动向量可参考视图间或层间参考图片。位流可受到约束以使得从位流接收的信息可 确保所导出的运动向量顺应运动向量限制。又,运动向量限制会限制运动向量的范围 以参考视图间或层间参考图片的子部分。

视频解码器30可基于位流中的信息导出当前块的运动向量(1002)。视频解码器30 可基于所导出的运动向量视图间或层间预测解码当前块(1004)。

图8为说明根据本发明中所描述的技术的视图间或层间视频编码的实例操作的流 程图。出于说明的目的,关于视频解码器30描述所述技术。例如,视频编码器20可 确定用于从运动向量预测值导出当前块的运动向量的信息,所述信息确保所导出的运 动向量顺应运动向量限制(1006)。类似于上文,运动向量参考视图间或层间参考图片, 且运动向量限制会限制运动向量的范围以参考视图间或层间参考图片的子部分。

视频编码器20可基于信息导出当前块的运动向量(1008)。视频编码器20可基于所 导出的运动向量视图间或层间预测编码当前块(1010)。视频编码器20可产生用于导出 运动向量的所确定的信息以用于输出(1012)。

在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。 如果以软件来实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒 体上或经由计算机可读媒体来传输,且由基于硬件的处理单元来执行。计算机可读媒 体可包含计算机可读存储媒体或通信媒体,计算机可读存储媒体对应于例如数据存储 媒体的有形媒体,通信媒体包含促进计算机程序(例如)根据通信协议从一处传送到另一 处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机 可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算 机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数 据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。

作为实例而非限制,此计算机可读存储媒体可包括RAM、ROM、EEPROM、CD- ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用 于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。 又,任何连接被适当地称作计算机可读媒体。例如,如果使用同轴电缆、光纤缆线、 双绞线、数字用户线(DSL),或例如红外线、无线电和微波的无线技术而从网站、服务 器或其它远端源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL,或例如红外线、 无线电和微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体 和数据存储媒体不包含连接、载波、信号或其它瞬态媒体,而是针对非瞬态有形存储 媒体。如本文中所使用,磁盘和光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字 多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过 激光以光学方式再生数据。以上各物的组合也应包含于计算机可读媒体的范围内。

可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、 现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器来执行 指令。因此,如本文中所使用,术语“处理器”可指前述结构或适合于实施本文中所 描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功 能性提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编 码解码器中。又,所述技术可完全实施于一或多个电路或逻辑元件中。

本发明的技术可实施于广泛多种装置或设备中,包含无线手机、集成电路(IC)或 IC的集合(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行 所揭示的技术的装置的功能方面,但未必要求由不同硬件单元实现。更确切来说,如 上文所描述,各种单元可组合于编码解码器硬件单元中或由结合合适的软件和/或固件 的交互操作的硬件单元的集合(包含如上文所描述的一或多个处理器)来提供。

已描述各种实例。这些和其它实例在以下权利要求书的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号