用于视频信息的可缩放译码的装置和方法_3

文档序号:9621418阅读:来源:国知局
不同 功能组件。此外,运动估计单元122与运动补偿单元124可高度集成,但出于解释的目的而 在图2A的实例中分开来表不。
[0078] 视频编码器20可以接收视频数据。视频编码器20可从各种源接收视频数据。举 例来说,视频编码器20可从视频源18 (例如,图1A或1B中所示)或另一源接收视频数据。 视频数据可表示一系列图片。为编码视频数据,视频编码器20可对图片中的每一者执行编 码操作。作为对图片执行编码操作的一部分,视频编码器20可对图片的每一切片执行编码 操作。作为对切片执行编码操作的部分,视频编码器20可对切片中的树块执行编码操作。
[0079] 作为对树块执行编码操作的部分,预测处理单元100可对树块的视频块执行四叉 树分割以将所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相 关联。举例来说,预测处理单元1〇〇可将树块的视频块分割成四个相等大小的子块,将所述 子块中的一或多者分割成四个相等大小的子子块,等等。
[0080] 与⑶相关联的视频块的大小范围可从8X8样本高达最大64X64像素或更大的 树块大小。在本发明中,"NXN"与"N乘N"可互换使用来指在垂直和水平维度方面的视频 块的样本尺寸,例如,16 X 16个样本或16乘16个样本。一般来说,16 X 16视频块在垂直方 向上具有16个样本(y = 16),且在水平方向上具有16个样本(X = 16)。同样,NXN块一 般在垂直方向上具有N个样本,且在水平方向上具有N个样本,其中N表示非负整数值。
[0081] 此外,作为对树块执行编码操作的部分,预测处理单元100可产生用于所述树块 的阶层式四叉树数据结构。例如,树块可对应于四叉树数据结构的根节点。如果预测处理 单元100将树块的视频块分割成四个子块,则所述根节点在所述四叉树数据结构中具有四 个子节点。所述子节点中的每一者对应于与子块中的一者相关联的CU。如果预测处理单元 100将子块中的一者分割成四个子子块,那么对应于与子块相关联的CU的节点可具有四个 子节点,其中每一者对应于与子子块中的一者相关联的CU。
[0082] 四叉树数据结构的每一节点可含有用于对应树块或CU的语法数据(例如,语法元 素)。例如,四分树中的节点可包含分裂旗标,其指示对应于所述节点的CU的视频块是否被 分割(例如,分裂)成四个子块。用于CU的语法元素可递归地界定,且可取决于所述CU的 视频块是否分裂成子块。视频块未被分割的CU可对应于四叉树数据结构中的叶节点。经 译码树块可包含基于用于对应树块的四叉树数据结构的数据。
[0083] 视频编码器20可对树块的每一未分割⑶执行编码操作。当视频编码器20对未 分割CU执行编码操作时,视频编码器20产生表示未分割CU的经编码表示的数据。
[0084] 作为对⑶执行编码操作的部分,预测处理单元100可在⑶的一或多个之间分 割CU的视频块。视频编码器20及视频解码器30可支持各种PU大小。假定特定CU的大小 为2NX 2N,则视频编码器20及视频解码器30可支持2NX 2N或NXN的PU大小,及2NX 2N、 2NXN、NX2N、NXN、2NXnU、nLX2N、nRX2N或类似的对称PU大小的帧间预测。视频编码 器20及视频解码器30还可支持用于2NXnU、2NXnD、nLX2N和nRX2N的PU大小的不对 称分割。在一些实例中,预测处理单元100可执行几何分割以沿并不按直角与CU的视频块 的侧会合的边界来在CU的PU间分割CU的视频块。
[0085] 帧间预测单元121可对⑶的每一 PU执行帧间预测。帧间预测可提供时间压缩。 为了对PU执行帧间预测,运动估计单元122可产生用于所述PU的运动信息。运动补偿单 元124可基于运动信息和除与CU相关联的图片(例如,参考图片)之外的图片的经解码样 本产生PU的经预测视频块。在本发明中,由运动补偿单元124产生的经预测视频块可称作 经帧间预测视频块。
[0086] 切片可为I切片、P切片,或B切片。运动估计单元122和运动补偿单元124可取 决于PU处于I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有 PU都是经帧内预测。因此,如果PU在I切片中,那么运动估计单元122和运动补偿单元124 不对PU执行帧间预测。
[0087] 如果在P切片中,那么含有所述PU的图片与被称作"列表0"的参考图片列表 相关联。列表〇中的参考图片中的每一者含有可用于其它图片的帧间预测的样本。当运动 估计单元122关于P切片中的PU执行运动估计操作时,运动估计单元122可搜索列表0中 的参考图片以找出用于PU的参考块。的参考块可为最紧密对应于PU的视频块中的样 本的一组样本,例如样本块。运动估计单元122可使用多种度量来确定参考图片中的一组 样本如何紧密地对应于PU的视频块中的样本。例如,运动估计单元122可通过绝对差总和 (SAD)、平方差总和(SSD)或其它差异度量来确定参考图片中的一组样本对应于PU的视频 块中的样本的接近程度。
[0088] 在识别出P切片中的HJ的参考块之后,运动估计单元122可产生指示列表0中含 有参考块的参考图片的参考索引,以及指示PU与参考块之间的空间位移的运动向量。在各 种实例中,运动估计单元122可以不同精确度产生运动向量。举例来说,运动估计单元122 可以四分之一样本精确度、八分之一样本精确度或其它分数样本精确度产生运动向量。在 分数样本精确度的情况下,参考块值可从参考图片中的整数位置样本值内插。运动估计单 元122可将参考索引及运动向量输出为PU的运动信息。运动补偿单元124可基于由PU的 运动信息识别的参考块而产生PU的经预测视频块。
[0089] 如果处于B切片中,那么含有PU的图片可与被称作"列表0"和"清单1"的两 个参考图片列表相关联。在一些实例中,含有B切片的图片可与为列表0与列表1的组合 的列表组合相关联。
[0090] 此外,如果PU在B切片中,那么运动估计单元122可对PU执行单向预测或双向预 测。当运动估计单元122对PU执行单向预测时,运动估计单元122可搜索列表0或列表1 中的参考图片以找出用于所述PU的参考块。运动估计单元122可接着产生指示列表0或 列表1中的含有参考块的参考图片的参考索引和指不PU与所述参考块之间的空间位移的 运动向量。运动估计单元122可输出参考索引、预测方向指示符和运动向量作为所述PU的 运动信息。预测方向指示符可指示参考索引指示列表〇还是列表1中的参考图片。运动补 偿单元124可基于由PU的运动信息指示的参考块来产生PU的经预测视频块。
[0091] 当运动估计单元122针对PU执行双向预测时,运动估计单元122可搜索列表0中 的参考图片以找到用于所述PU的参考块,且还可搜索列表1中的参考图片以找到用于所述 PU的另一参考块。运动估计单元122可接着产生指示列表0和列表1中的含有参考块的参 考图片的参考索引,以及指示所述参考块与PU之间的空间位移的运动向量。运动估计单元 122可输出PU的参考索引及运动向量作为PU的运动信息。运动补偿单元124可基于由PU 的运动信息指示的参考块而产生PU的经预测视频块。
[0092] 在一些情况下,运动估计单元122不将PU的运动信息的整个集合输出到熵编码单 元116。实际上,运动估计单元122可参考另一 PU的运动信息用信号表示PU的运动信息。 举例来说,运动估计单元122可确定PU的运动信息足够类似于相邻PU的运动信息。在此 实例中,运动估计单元122可在与PU相关联的语法结构中指示一值,所述值向视频解码器 30指示具有与相邻PU相同的运动信息。在另一实例中,运动估计单元122可在与PU相 关联的语法结构中识别相邻PU和运动向量差(MVD)。运动向量差指示PU的运动向量与所 指示的相邻PU的运动向量之间的差。视频解码器30可使用所指示的相邻PU的运动向量 及运动向量差来确定的运动向量。通过在发信号通知第二PU的运动信息时参考第一 PU 的运动信息,视频编码器20可能够使用较少的位发信号通知第二PU的运动信息。
[0093] 如下文参考图4及5进一步论述,预测处理单元100可经配置以通过执行图4及 5中说明的方法而译码(例如,编码或解码)PU(或任何其它参考层及/或增强层块或视频 单元)。举例来说,帧间预测单元121 (例如,经由运动估计单元122和/或运动补偿单元 124)、帧内预测单元126或层间预测单元128可经配置以一起或单独地执行图4及5中说 明的方法。
[0094] 作为对CU执行编码操作的部分,帧内预测单元126可对CU的PU执行帧内预测。 帧内预测可提供空间压缩。当帧内预测单元126对PU执行帧内预测时,帧内预测单元126 可基于同一图片中的其它PU的经解码样本来产生用于的预测数据。用于PU的预测数 据可包含经预测视频块和各种语法元素。帧内预测单元126可对I切片、P切片以及B切 片中的PU执行帧内预测。
[0095] 为了对执行帧内预测,帧内预测单元126可使用多个帧内预测模式以产生用于 PU的预测数据的多个集合。当帧内预测单元126使用帧内预测模式来产生用于PU的预测 数据的集合时,帧内预测单元126可在与帧内预测模式相关联的方向和/或梯度上跨PU的 视频块从相邻的视频块扩展样本。相邻PU可在所述PU的上方、右上方、左上方或左侧, 假定对于PU、CU和树块采用从左到右、从上到下的编码次序。帧内预测单元126可取决于 PU的大小而使用各种数目个帧内预测模式,例如33个方向性帧内预测模式。
[0096] 预测处理单元100可从由运动补偿单元124针对PU产生的预测数据或由帧内预 测单元126针对PU产生的预测数据当中选择用于PU的预测数据。在一些实例中,预测处 理单元100基于预测数据集合的速率/失真量度来选择用于PU的预测数据。
[0097] 如果预测处理单元100选择由帧内预测处理单元126产生的预测数据,那么预测 处理单元100可用信号表示用以产生用于PU的预测数据的帧内预测模式,即,选定帧内预 测模式。预测处理单元100可以各种方式用信号表示所选帧内预测模式。举例来说,有可 能所选帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻的帧内预测模式 可为用于当前PU的最可能模式。因此,预测处理单元100可产生用以指示选定帧内预测模 式与相邻PU的帧内预测模式相同的语法元素。
[0098] 如上文所论述,视频编码器20可包含层间预测单元128。层间预测单元128经配 置以使用SVC中可用的一或多个不同层(例如,基础或参考层)预测当前块(例如,EL中 的当前块)。此预测可称作层间预测。层间预测单元128利用预测方法减少层间冗余,借此 改进译码效率且减少计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预 测及层间残差预测。层间帧内预测使用基础层中的位于同一地点的块的重构来预测增强层 中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残差预测 使用基础层的残差来预测增强层的残差。以下更详细地论述层间预测方案中的每一者。
[0099] 在预测处理单元100选择用于⑶的的预测数据之后,残余产生单元102可通 过从CU的视频块减去(例如,由减号指示)CU的PU的经预测视频块而产生用于CU的残差 数据。CU的残差数据可包含对应于CU的视频块中的样本的不同样本分量的2D残差视频 块。举例来说,残差数据可包含对应于CU的PU的经预测视频块中的样本的明度分量与CU 的原始视频块中的样本的明度分量之间的差的残差视频块。另外,CU的残差数据可包含对 应于CU的PU的预测视频块中的样本的色度分量与CU的原始视频块中的样本的色度分量 之间的差的残差视频块。
[0100] 预测处理单元100可执行四叉树分割以将CU的残差视频块分割成子块。每一未 分割残差视频块可与CU的不同TU相关联。与CU的TU相关联的残差视频块的大小及位置 可基于或可不基于与CU的PU相关联的视频块的大小及位置。被称为"残差四叉树"(RQT) 的四叉树结构可包含与残差视频块中的每一者相关联的节点。CU的TU可以对应于RQT的 叶节点。
[0101] 变换处理单元104可通过将一或多个变换应用到与⑶的每一 TU相关联的残差视 频块而产生用于所述TU的一或多个变换系数块。所述变换系数块中的每一者可为变换系 数的2D矩阵。变换处理单元104可将各种变换应用到与TU相关联的残差视频块。举例来 说,变换处理单元104可将离散余弦变换(DCT)、方向性变换或概念上类似的变换应用到与 TU相关联的残差视频块。
[0102] 在变换处理单元104产生与TU相关联的变换系数块之后,量化单元106可量化所 述变换系数块中的变换系数。量化单元106可基于与CU相关联的QP值而对与CU的TU相 关联的变换系数块进行量化。
[0103] 视频编码器20可以各种方式使QP值与⑶相关联。例如,视频编码器20可对与 CU相关联的树块执行速率失真分析。在速率失真分析中,视频编码器20可通过对树块执行 多次编码操作而产生所述树块的多个经译码表示。在视频编码器20产生树块的不同经编 码表示时,视频编码器20可使不同QP值与CU相关联。当给定QP值与具有最低位速率和 失真量度的树块的经译码表示中的CU相关联时,视频编码器20可发信号通知所述给定QP 值与CU相关联。
[0104] 反量化单元108和反变换单元110可分别将反量化及反变换应用于变换系数块以 从变换系数块重构残差视频块。重构单元112可以将经重构的残差视频块添加到来自由预 测处理单元100产生的一或多个预测视频块的对应样本,以产生与TU相关联的经重构视频 块。通过以此方式重构⑶的每一 TU的视频块,视频编码器20可重构⑶的视频块。
[0105] 在重构单元112重构⑶的视频块之后,滤波器单元113可执行解块操作以减小与 所述CU相关联的视频块中的成块假影。在执行一或多个解块操作之后,滤波器单元113可 将⑶的经重构视频块存储在经解码图片缓冲器114中。运动估计单元122和运动补偿单 元124可使用含有经重构视频块的参考图片来对后续图片的PU执行帧间预测。另外,帧内 预测单元126可使用经解码图片缓冲器114中的经重构视频块对处于与CU相同图片中的 其它PU执行帧内预测。
[0106] 熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码 单元116可从量化单元106接收变换系数块且可从预测处理单元100接收语法元素。当熵 编码单元116接收到数据时,熵编码单元116可以执行一或多个熵编码操作以产生经熵编 码数据。举例来说,视频编码器20可对所述数据执行上下文自适应可变长度译码(CAVLC) 操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术 译码(SBAC)操作、概率区间分割熵(PIPE)译码操作,或另一类型的熵编码操作。熵编码单 元116可输出包含经熵编码数据的位流。
[0107] 作为对数据执行熵编码操作的一部分,熵编码单元116可选择上下文模型。如果 熵编码单元116正执行CABAC操作,那么上下文模型可指示特定二进制数具有特定值的概 率的估计。在CABAC的情况下,术语"二进位"用以指语法元素的二进制化版本的位。
[0108] 多层视频编码器
[0109] 图2B为说明可实施根据本发明中描述的方面的技术的多层视频编码器23的实例 的框图。视频编码器23可经配置以处理多层视频帧,例如,用于SHVC及多视图译码。此外, 视频编码器23可经配置以执行本发明的技术中的任一者或全部。
[0110] 视频编码器23包含视频编码器20A及视频编码器20B,其中的每一者可经配置为 视频编码器20且可执行上文相对于视频编码器20所描述的功能。此外,如再使用参考数 字所指示,视频编码器20A和20B可包含系统及子系统中的至少一些作为视频编码器20。 虽然将视频编码器23说明为包含两个视频编码器20A和20B,但视频编码器23不受如此限 制且可包含任何数目的视频编码器20层。在一些实施例中,视频编码器23可包含用于存 取单元中的每一图片或帧的视频编码器20。例如,包含五个图片的存取单元可由包含五个 编码器层的视频编码器处理或编码。在一些实施例中,视频编码器23可包含比存取单元中 的帧更多的编码器层。在一些此类情况下,当处理一些存取单元时,一些视频编码器层可能 不在作用中。
[0111] 除了视频编码器20A及20B之外,视频编码器23可包含再取样单元90。在一些 情况下,再取样单元90可对所接收的视频帧的基础层上取样以例如创建增强层。再取样单 元90可对与帧的所接收的基础层相关联的特定信息上取样,但不对其它信息上取样。举例 来说,再取样单元90可上取样基础层的空间大小或像素数目,但切片的数目或图片次序计 数可保持恒定。在一些情况下,再取样单元90可不处理所接收的视频及/或可为任选的。 例如,在一些情况下,预测处理单元100可执行上取样。在一些实施例中,再取样单元9
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1