22可以 四分之一样本精度、八分之一样本精度或其它分数样本精度产生运动向量。在分数样本精 度的状况下,参考块值可从整数位置样本值内插在参考图片中。运动估计单元122可将参考 索引及运动向量作为PU运动信息输出。运动补偿单元124可基于由PU的运动信息识别的参 考块而产生PU的经预测视频块。
[0091]如果PU位于B切片中,则含有PU的图片可与称为"列表0"及"列表Γ的两个参考图 片列表相关联。在一些实例中,含有B切片的图片可与列表组合(即列表0与列表1的组合)相 关联。
[0092] 此外,如果PU在B切片中,则运动估计单元122可对PU执行单向预测或双向预测。当 运动估计单元122对PU执行单向预测时,运动估计单元122可搜索列表0或列表1的参考图片 以找出用于所述PU的参考块。运动估计单元122可接着产生指示列表0或列表1中的含有参 考块的参考图片的参考索引和指示PU与所述参考块之间的空间位移的运动向量。运动估计 单元122可输出参考索引、预测方向指示符和运动向量作为所述PU的运动信息。预测方向指 示符可指示参考索引指示列表〇还是列表1中的参考图片。运动补偿单元124可基于由PU的 运动信息指示的参考块来产生PU的经预测视频块。
[0093]当运动估计单元122针对PU执行双向预测时,运动估计单元122可搜索列表0中的 参考图片以找到用于所述PU的参考块,且还可搜索列表1中的参考图片以找到用于所述PU 的另一参考块。运动估计单兀122可接着广生指不列表0和列表1中的含有参考块的参考图 片的参考索引,以及指示所述参考块与PU之间的空间位移的运动向量。运动估计单元122可 输出PU的参考索引及运动向量作为PU的运动信息。运动补偿单元124可基于由PU的运动信 息指示的参考块而产生PU的经预测视频块。
[0094]在一些情况下,运动估计单元122不将PU的运动信息的完整集合输出到熵编码单 元116。实际上,运动估计单元122可参考另一 PU的运动信息用信号表示PU的运动信息。举例 来说,运动估计单元122可确定PU的运动信息足够类似于相邻PU的运动信息。在此实例中, 运动估计单元122可在与PU相关联的语法结构中指示一值,所述值向视频解码器30指示PU 具有与相邻PU相同的运动信息。在另一实例中,运动估计单元122可在与PU相关联的语法结 构中识别相邻PU和运动向量差(MVD)。运动向量差指示PU的运动向量与所指示的相邻PU的 运动向量之间的差。视频解码器30可使用所指示的相邻PU的运动向量及运动向量差来确定 PU的运动向量。通过在用信号表示第二PU的运动信息时参考第一PU的运动信息,视频编码 器20可能够使用较少的位用信号表示第二PU的运动信息。
[0095] 下文参考图7A和7B进一步论述,预测处理单元100可经配置以通过执行图7A和7B 中说明的方法对PU(或任何其它参考层和/或增强层块或视频单元)进行译码(例如,编码或 解码)。举例来说,帧间预测单元121(例如,经由运动估计单元122和/或运动补偿单元124)、 帧内预测单元126或层间预测单元128可经配置以一起或单独执行图7A和7B中说明的方法。 [0096]作为对CU执行编码操作的一部分,帧内预测单元126可对CU的PU执行帧内预测。帧 内预测可提供空间压缩。当帧内预测单元126对PU执行帧内预测时,帧内预测单元126可基 于同一图片中的其它PU的经解码样本来产生用于的预测数据。用于PU的预测数据可包含 预测视频块和各种语法元素。帧内预测单元126可对I切片、P切片以及B切片中的PU执行帧 内预测。
[0097]为了对PU执行帧内预测,帧内预测单元126可使用多个帧内预测模式以产生用于 PU的预测数据的多个集合。当帧内预测单元126使用帧内预测模式来产生用于PU的预测数 据的集合时,帧内预测单元126可在与帧内预测模式相关联的方向和/或梯度上跨PU的视频 块从相邻的视频块扩展样本。相邻PU可在所述PU的上方、右上方、左上方或左侧,假定对 于PU、CU和树块采用从左到右、从上到下的编码次序。帧内预测单元126可取决于PU的大小 而使用各种数目个帧内预测模式,例如33个方向性帧内预测模式。
[0098] 预测处理单元100可从由运动补偿单元124针对PU产生的预测数据或由帧内预测 单元126针对PU产生的预测数据当中选择用于PU的预测数据。在一些实例中,预测处理单元 100基于预测数据集合的速率/失真量度来选择用于PU的预测数据。
[0099] 如果预测处理单元100选择由帧内预测单元126产生的预测数据,那么预测处理单 元100可用信号表示用以产生用于PU的预测数据的帧内预测模式,例如,选定帧内预测模 式。预测处理单元100可以各种方式用信号表示所选帧内预测模式。举例来说,有可能所选 帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为用于 当前PU的最可能模式。因此,预测处理单元100可产生用以指示选定帧内预测模式与相邻 的帧内预测模式相同的语法元素。
[0100] 如上文所论述,视频编码器20可包含层间预测单元128。层间预测单元128经配置 以使用SVC中可用的一或多个不同层(例如,基础或参考层)预测当前块(例如,EL中的当前 块)。此预测可称作层间预测。层间预测单元128利用预测方法减少层间冗余,借此改进译码 效率且降低计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间 残余预测。层间帧内预测使用基础层中的位于同一地点的块的重构来预测增强层中的当前 块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残余预测使用基础 层的残余来预测增强层的残余。以下更详细地论述层间预测方案中的每一者。
[0101] 在预测处理单元1〇〇选择用于⑶的PU的预测数据之后,残余产生单元102可通过从 CU的视频块减去(例如,由减号指示)CU的PU的经预测视频块而产生用于CU的残余数据。CU 的残余数据可包含对应于CU的视频块中的样本的不同样本分量的2D残余视频块。举例来 说,残余数据可包含对应于CU的PU的经预测视频块中的样本的明度分量与CU的原始视频块 中的样本的明度分量之间的差。此外,CU的残余数据可包含对应于CU的PU的预测视频块中 的样本的色度分量与CU的原始视频块中的样本的色度分量之间的差的残余视频块。
[0102] 预测处理单元100可执行四叉树分割以将CU的残余视频块分割成子块。每一未划 分残余视频块可与CU的不同TU相关联。与CU的TU相关联的残余视频块的大小及位置可或可 不基于与CU的PU相关联的视频块的大小及位置。被称为"残余四叉树"(RQT)的四叉树结构 可包含与残余视频块中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
[0103] 变换处理单元104可通过将一或多个变换应用到与⑶的每一 TU相关联的残余视频 块而产生用于所述TU的一或多个变换系数块。所述变换系数块中的每一者可为变换系数的 2D矩阵。变换处理单元104可将各种变换应用到与TU相关联的残余视频块。举例来说,变换 处理单元104可将离散余弦变换(DCT)、方向性变换或概念上类似的变换应用到与TU相关联 的残余视频块。
[0104] 在变换处理单元104产生与TU相关联的变换系数块之后,量化单元106可量化所述 变换系数块中的变换系数。量化单元106可基于与CU相关联的QP值而量化与CU的TU相关联 的变换系数块。
[0105] 视频编码器20可以各种方式使QP值与⑶相关联。例如,视频编码器20可对与⑶相 关联的树块执行速率-失真分析。在速率-失真分析中,视频编码器20可通过对树块执行多 次编码操作而产生所述树块的多个经译码表示。在视频编码器20产生树块的不同经编码表 示时,视频编码器20可使不同QP值与CU相关联。当给定QP值与具有最低位速率及失真量度 的树块的经译码表示中的CU相关联时,视频编码器20可用信号表示所述给定QP值与CU相关 联。
[0106] 逆量化单元108和逆变换单元110可分别将逆量化及逆变换应用于变换系数块以 从变换系数块重构残余视频块。重构单元112可以将经重构的残余视频块添加到来自由预 测处理单元100产生的一或多个预测视频块的对应样本,以产生与TU相关联的经重构视频 块。通过以此方式重构用于⑶的每一 TU的视频块,视频编码器20可重构⑶的视频块。
[0107] 在重构单元112重构CU的视频块之后,滤波器单元113可执行解块操作以减少与所 述CU相关联的视频块中的成块假象。在执行一或多个解块操作之后,滤波器单元113可将CU 的经重构视频块存储在经解码图片缓冲器114中。运动估计单元122和运动补偿单元124可 使用含有经重构视频块的参考图片来对后续图片的PU执行帧间预测。另外,帧内预测单元 126可使用经解码图片缓冲器114中的经重构视频块对处于与CU相同图片中的其它PU执行 帧内预测。
[0108] 熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单 元116可从量化单元106接收变换系数块且可从预测处理单元1〇〇接收语法元素。当熵编码 单元116接收到数据时,熵编码单元116可以执行一或多个熵编码操作以产生经熵编码数 据。例如,视频编码器20可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操 作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操 作、概率区间分割熵(PIPE)译码操作或另一类型的熵编码操作。熵编码单元116可输出包含 经熵编码数据的位流。
[0109] 作为对数据执行熵编码操作的一部分,熵编码单元116可选择上下文模型。如果熵 编码单元116正执行CABAC操作,那么上下文模型可指示特定二进制数具有特定值的概率的 估计值。在CABAC的情况下,术语"二进位"用以指语法元素的二进制化版本的位。
[0110] 多层视频编码器
[0111] 图2B是说明可实施根据本发明中描述的方面的技术的多层视频编码器21的实例 的框图。视频编码器21可经配置以处理多层视频帧,例如,用于SHVC和多视图译码。此外,视 频编码器21可经配置以执行本发明的技术中的任一者或全部。
[0112] 视频编码器21包含视频编码器20A及视频编码器20B,其中的每一者可经配置为视 频编码器20且可执行上文相对于视频编码器20所描述的功能。此外,如再使用参考数字所 指示,视频编码器20A和20B可包含系统及子系统中的至少一些作为视频编码器20。虽然将 视频编码器21说明为包含两个视频编码器20A和20B,但视频编码器21不被如此限制且可包 含任何数目的视频编码器20层。在一些实施例中,视频编码器21可包含用于存取单元中的 每一图片或帧的视频编码器20。举例来说,包含五个图片的存取单元可由包含五个编码器 层的视频编码器处理或编码。在一些实施例中,视频编码器21可包含比存取单元中的帧多 的编码器层。在一些此等情况下,当处理一些存取单元时,一些视频编码器层可能不在作用 中。
[0113] 除了视频编码器20A及20B之外,视频编码器21可包含再取样单元90。在一些情况 下,再取样单元90可对所接收的视频帧的基础层上取样以例如创建增强层。再取样单元90 可对与帧的所接收的基础层相关联的特定信息进行上取样,但不对其它信息进行上取样。 例如,再取样单元90可对基础层的空间大小或像素数目进行上取样,但切片的数目或图片 次序计数可保持恒定。在一些情况下,再取样单元90可不处理所接收的视频及/或可为任选 的。例如,在一些情况下,预测处理单元100可执行上取样。在一些实施例中,再取样单元90 经配置以对层上取样且重新组织、重新界定、修改或调节一或多个切片以符合一组切片边 界规则和/或光栅扫描规则。虽然主要描述为对基础层或存取单元中的较低层上取样,但在 一些情况下,再取样单元90可对层下取样。举例来说,如果在视频的流式传输期间减小带 宽,那么可对帧下取样而不是上取样。
[0114] 再取样单元90可经配置以从较低层编码器(例如,视频编码器20A)的经解码图片 缓冲器114接收图片或帧(或与图片相关联的图片信息)且对所述图片(或所接收的图片信 息)上取样。随后可将经上取样图片提供到较高层编码器(例如,视频编码器20B)的预测处 理单元100,所述较高层编码器经配置以编码与较低层编码器相同的存取单元中的图片。在 一些情况下,较高层编码器为从较低层编码器去除的一个层。在其它情况下,在图2B的层0 编码器与层1编码器之间可存在一或多个较高层编码器。
[0115] 在一些情况下,可省略或绕过再取样单元90。在此些情况下,可直接提供来自视频 编码器20A的经解码图片缓冲器114的图片,或至少不提供到再取样单元90,不提供到视频 编码器20B的预测处理单元100。例如,如果提供到视频编码器20B的视频数据及来自视频编 码器20A的经解码图片缓冲器114的参考图片具有相同的大小或分辨率,那么可将参考图片 提供到视频编码器20B而没有任何再取样。
[0116] 在一些实施例中,视频编码器21使用下取样单元94对将提供到较低层编码器的视 频数据下取样,之后将所述视频数据提供到视频编码器20A。替代地,下取样单元94可为能 够对视频数据上取样或下取样的再取样单元90。在又其它实施例中,可省略下取样单元94。
[0117] 如图2B中所说明,视频编码器21可进一步包含多路复用器98或mux。多路复用器98 可从视频编码器21输出组合的位流。可通过从视频编码器20A和20B中的每一者取得位流且 交替在给定时间输出哪一位流来创造组合的位流。虽然在一些情况下,可一次一个位地交 替来自两个(或在两个以上视频编码器层的情况下,两个以上)位流的位,但在许多情况下, 不同地组合所述位流。举例来说,可通过一次一个块地交替选定位流来产生输出位流。在另 一实例中,可通过从视频编码器20A和20B中的每一者输出非1:1比率的块来产生输出位流。 举例来说,针对从视频编码器20A输出的每一块可从视频编码器20B输出两个块。在一些实 施例中,可预编程来自多路复用器98的输出流。在其它实施例中,多路复用器98可基于从视 频编码器21外部的系统(例如从包含源模块12的源装置上的处理器)接收的控制信号而组 合来自视频编码器20A、20B的位流。可基于来自视频源18的视频的分辨率或位速率、基于链 路16的带宽、基于与用户相关联的预订(例如,付费预订对免费预订)或基于用于确定从视 频编码器21所要的分辨率输出的任何其它因素而产生控制信号。
[0118] 视频解码器
[0119] 图3A是说明可实施本发明中描述的方面的技术的视频解码器的实例的框图。视频 解码器30可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频解码器30可经配置以 执行本发明的技术中的任一者或全部。作为一个实例,运动补偿单元162及/或帧内预测单 元164可经配置以执行本发明中描述的技术中的任一者或全部。在一个实施例中,视频解码 器30可任选地包含层间预测单元166,所述层间预测单元经配置以执行本发明中描述的技 术中的任一者或全部。在其它实施例中,层间预测可由预测处理单位152(例如,运动补偿单 元162及/或帧内预测单元164)执行,在该情况下,可省略层间预测单元166。然而,本发明的 方面不受如此限制。在一些实例中,本发明中描述的技术可在视频解码器30的各种组件之 间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技 术中的任一者或全部。
[0120]出于解释的目的,本发明描述在HEVC译码的情况下的视频解码器30。然而,本发明 的技术可适用于其它译码标准或方法。图3A中所描绘的实例是针对单层编解码器。然而,如 将相对于图3B进一步描述,可复制视频编码器30中的一些或全部以用于多层编解码器的处 理。
[0121] 在图3A的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包 含熵解码单元150、预测处理单元152、逆量化单元154、逆变换单元156、重构单元158、滤波 器单元159和经解码图片缓冲器160。预测处理单元152包含运动补偿单元162、帧内预测单 元164和层间预测单元166。在一些实例中,视频解码器30可执行一般与相对于图2A的视频 编码器20描述的编码遍次互逆的解码遍次。在其它实例中,视频解码器30可包含更多、更少 或不同的功能组件。
[0122] 视频解码器30可接收包括经编码视频数据的位流。所述位流可包含多个语法元 素。当视频解码器30接收到位流时,熵解码单元150可对所述位流执行剖析操作。对位流执 行剖析操作的结果是,熵解码单元150可从所述位流提取语法元素。作为执行剖析操作的部 分,熵解码单元150可对位流中的经熵编码语法元素进行熵解码。预测处理单元152、逆量化 单元154、逆变换单元156、重构单元158及滤波器单元159可执行重构操作,重构操作基于从 位流提取的语法元素产生经解码视频数据。
[0123] 如上文所论述,位流可包括一系列NAL单元。位流的NAL单元可包含视频参数集NAL 单元、序列参数集NAL单元、图片参数集NAL单元、SEI NAL单元等等。作为对位流执行剖析操 作的一部分,熵解码单元150可执行剖析操作,所述剖析操作从序列参数集NAL单元提取序 列参数集且对所述序列参数集进行熵解码、从图片参数集NAL单元提取图片参数集且对所 述图片参数集进行熵解码、从SEI NAL单元提取SEI数据且对所述SEI数据进行熵解码,等 等。
[0124] 此外,位流的NAL单元可包含经译码切片NAL单元。作为对位流执行剖析操作的一 部分,熵解码单元150可执行剖析操作,所述剖析操作从经译码切片NAL单元提取经译码切 片且对所述经译码切片进行熵解码。经译码的切片中的每一者可以包含切片标头以及切片 数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有所 述切片的图片相关联的图片参数集的语法元素。熵解码单元150可对经译码切片标头中的 语法元素执行熵解码操作(例如,CABAC解码操作),以恢复切片标头。
[0125] 作为从经译码切片NAL单元提取切片数据的部分,熵解码单元150可执行从切片数 据中的经译码CU提取语法元素的剖析操作。所提取的语法元素可包含与变换系数块相关联 的语法元素。熵解码单元150可接着对语法元素中的一些执行CABAC解码操作。
[0126] 在熵解码单元150对未分割的⑶执行剖析操作之后,视频解码器30可对未分割的 ⑶执行重构操作。为了对未分割⑶执行重构操作,视频解码器30可以对⑶的每一 TU执行重 构操作。通过对CU的每一 TU执行重构操作,视频解码器30可重构与CU相关联的残余视频块。 [0127]作为对TU执行重构操作的部分,逆量化单元154可逆量化(例如,解量化)与TU相关 联的变换系数块。逆量化单元154可以类似于针对HEVC所提议或由Η.264解码标准定义的逆 量化过程的方式来逆量化变换系数块。逆量化单元154可使用由视频编码器20针对变换系 数块的CU计算的量化参数QP来确定量化程度,且同样地,确定逆量化单元154应用的逆量化 的程度。
[0128] 在逆量化单元154对变换系数块进行逆量化之后,逆变换单元156可产生用于与变 换系数块相关联的TU的残余视频块。逆变换单元156可将逆变换应用到变换系数块以便产 生所述TU的残余视频块。举例来说,逆变换单元156可将逆DCT、逆整数变换、逆卡忽南-拉维 (Karhunen-Loeve)变换(KLT)、逆旋转变换、逆方向性变换或另一逆变换应用于变换系数 块。在一些实例中,逆变换单元156可基于来自视频编码器20的信令而确定适用于变换系数 块的逆变换。在这些实例中,逆变换单元156可基于在用于与变换系数块相关联的树块的四 叉树