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

文档序号:9872768阅读:来源:国知局
频和视频两者的编码。在一些实例中, 如果适用的话,那么多路复用器-多路分用器单元可W符合ITU H. 223多路复用器协议,或 例如用户数据报协议(UDP)等其它协议。
[0054] 视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者, 例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程口阵列 (FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分用软件实施时,装置可 将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中并使用一或多个处理器 用硬件执行所述指令W执行本发明的技术。视频编码器20和视频解码器30中的每一者可包 含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的 组合编码器/解码器(编解码器)的部分。
[00巧]视频译码过程
[0056] 如上文简要提及,视频编码器20编码视频数据。视频数据可W包括一或多个图片。 图片中的每一者为形成视频的部分的静态图像。在一些情况下,图片可被称为视频"帖"。当 视频编码器20编码视频数据时,视频编码器20可产生位流。位流可W包含形成视频数据的 经译码表示的位序列。位流可包含经译码图片和相关联数据。经译码的图片是图片的经译 码的表示。
[0057] 为产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编 码器20对所述图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数 据。所述相关联数据可包含视频参数集(VPS)、序列参数集、图片参数集、调适参数集及其它 语法结构。序列参数集(SPS)可含有适用于零或更多个图片序列的参数。图片参数集(PPS) 可含有适用于零或零个W上图片的参数。自适应参数集(APS)可含有适用于零或更多个图 片的参数。AI^中的参数可为比PI^中的参数更可能改变的参数。
[0058] 为产生经译码图片,视频编码器20可将图片分割为大小相等的视频块。视频块可 为样本的二维阵列。视频块中的每一者与树块相关联。在一些情况下,树块可被称作最大译 码单元化CU)。肥VC的树块可广泛类似于例如H.264/AVC等先前标准的宏块。然而,树块不必 限于特定大小,且可包含一或多个译码单元(CU)。视频编码器20可使用四叉树分割将树块 的视频块分割成与CU相关联的视频块(因此名称为"树块")。
[0059] 在一些实例中,视频编码器20可将图片分割成多个切片。所述切片中的每一者可 包含整数数目个CU。在一些情况下,一个切片包括整数数目个树块。在其它情况下,切片的 边界可在树块内。
[0060] 作为对图片执行编码操作的一部分,视频编码器20可对图片的每一切片执行编码 操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编 码数据。与切片相关联的经编码数据可称为"经译码切片"。
[0061] 为产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频 编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包括表 示树块的经编码版本的数据。
[0062] 当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片中 的树块执行编码操作(即,编码)。举例来说,视频编码器20可按如下次序来编码切片的树 块:跨越切片中的树块的最顶行从左到右进行,接着跨越树块的下一较低行从左到右进行, W此类推,直到视频编码器20已编码切片中的树块的每一者。
[0063] 作为根据光栅扫描次序编码树块的结果,可已编码在给定树块的上方和左边的树 块,但尚未编码在给定树块的下方和右边的树块。因此,当对给定树块进行编码时,视频编 码器20可能能够存取通过对给定树块的上方和左边的树块进行编码而产生的信息。然而, 当编码给定树块时,视频编码器20可能不能够存取通过编码在给定树块的下方和右边的树 块而产生的信息。
[0064] 为产生经译码树块,视频编码器20可对树块的视频块递归地执行四叉树分割W将 所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来 说,视频编码器20可将树块的视频块分割成四个大小相等的子块、将所述子块中的一者或 一者W上分割成四个大小相等的子子块,W此类推。经分割CU可为视频块被分割成与其它 CU相关联的视频块的CU。未分割CU可为其视频块未被分割成与其它CU相关联的视频块的 CUo
[0065] 位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大次 数。CU的视频块在形状上可为正方形。CU的视频块的大小(例如,CU的大小)范围可从8X8像 素直到具有最大64X64个像素或更大的树块的视频块的大小(例如,树块的大小)。
[0066] 视频编码器20可根据Z扫描次序对(例如,编码)树块的每一 CU执行编码操作。换句 话说,视频编码器20可将左上CU、右上CU、左下CU和接着右下CU按此次序编码。当视频编码 器20对经分割的CU执行编码操作时,视频编码器20可根据Z扫描次序对与经分割的CU的视 频块的子块相关联的CU进行编码。换句话说,视频编码器20可对与左上子块相关联的CU、与 右上子块相关联的CU、与左下子块相关联的CU,且接着是与右下子块相关联的CU按所述顺 序进行编码。
[0067] 作为根据Z扫描次序编码树块的CU的结果,可已编码在给定CU的上方、左上方、右 上方、左边的左下方的CU。尚未对给定CU的右下方的CU进行编码。因此,当对给定CU进行编 码时,视频编码器20可能能够存取通过对与给定CU相邻的一些CU进行编码而产生的信息。 然而,当对给定CU进行编码时,视频编码器20可能不能够存取通过对与给定CU相邻的其它 CU进行编码而产生的信息。
[0068] 当视频编码器20对进行未分割的CU编码时,视频编码器20可产生用于所述CU的一 或多个预测单元(PU)。〇]的PU中的每一者可与CU的视频块内的不同视频块相关联。视频编 码器20可产生用于CU的每一 PU的经预测视频块。PU的经预测视频块可为样本块。视频编码 器20可使用帖内预测或帖间预测来产生用于PU的预测视频块。
[0069] 当视频编码器20使用帖内预测来产生PU的经预测视频块时,视频编码器20可基于 与PU相关联的图片的经解码样本来产生PU的经预测视频块。如果视频编码器20使用帖内预 测来产生CU的PU的经预测视频块,那么CU为经帖内预测的CU。当视频编码器20使用帖间预 测来产生PU的经预测视频块时,视频编码器20可基于不同于与PU相关联的图片的一或多个 图片的经解码样本来产生所述PU的经预测视频块。如果视频编码器20使用帖间预测来产生 CU的PU的经预测视频块,那么所述CU为经帖间预测CU。
[0070] 此外,当视频编码器20使用帖间预测来产生用于PU的经预测视频块时,视频编码 器20可产生用于所述PU的运动信息。用于PU的运动信息可指示所述PU的一或多个参考块。 PU的每一参考块可为参考图片内的视频块。参考图片可为除与PU相关联的图片W外的图 片。在一些情况下,PU的参考块也可被称作PU的"参考样本"。视频编码器20可基于PU的参考 块产生所述PU的预测视频块。
[0071] 在视频编码器20产生用于CU的一或多个PU的经预测视频块之后,视频编码器20可 基于用于CU的所述PU的预测视频块产生所述CU的残余数据。CU的残余数据可指示用于CU的 PU的预测视频块中的样本与CU的原始视频块之间的差。
[0072] 此外,作为对未分割的CU执行编码操作的部分,视频编码器20可对CU的残余数据 执行递归四叉树分割W将CU的残余数据分割成与CU的变换单元(TU)相关联的一或多个残 余数据块(例如,残余视频块)dCU的每一TU可与不同残余视频块相关联。
[0073] 视频编码器20可对与TU相关联的残余视频块应用一或多个变换W产生与TU相关 联的变换系数块(例如,变换系数的块)。在概念上,变换系数块可为变换系数的二维(2D)矩 阵。
[0074] 在产生变换系数块之后,视频编码器20可对所述变换系数块执行量化处理。量化 总体上是指对变换系数进行量化W可能减少用W表示变换系数的数据的量从而提供进一 步压缩的过程。量化过程可减少与变换系数中的一些或全部相关联的位深度。例如,可在量 化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。
[0075] 视频编码器20可使每一 CU与量化参数(QP)值相关联。与CU相关联的QP值可确定视 频编码器20如何与所述CU相关联的变换系数块进行量化。视频编码器20可通过调整与CU相 关联的QP值来调整应用于与CU相关联的变换系数块的量化的程度。
[0076] 在视频编码器20量化变换系数块之后,视频编码器20可产生表示经量化变换系数 块中的变换系数的语法元素集。视频编码器20可将例如上下文自适应性二进制算术译码 (CABAC)操作的赌编码操作应用于运些语法元素中的一些。还可使用例如内容自适应可变 长度译码(CAVLC)、概率区间分割赌(PIPE)译码或其它二进制算术译码等其它赌译码技术。
[0077] 由视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。所述NAL单元中 的每一者可为含有NAL单元中的数据类型的指示及含有数据的字节的语法结构。举例来说, NAL单元可含有表示视频参数集、序列参数集、图片参数集、经译码切片、补充增强信息 (SEI)、存取单元分隔符、填充数据或另一类型的数据的数据。NAL单元中的数据可包含各种 语法结构。
[0078] 视频解码器30可接收由视频编码器20产生的位流。所述位流可包含由视频编码器 20编码的视频数据的经译码表示。当视频解码器30接收到位流时,视频解码器30可对所述 位流执行剖析操作。当视频解码器30执行剖析操作时,视频解码器30可从所述位流提取语 法元素。视频解码器30可基于从位流提取的语法元素重构视频数据的图片。基于语法元素 重构视频数据的过程可与由视频编码器20执行W产生语法元素的过程大体互逆。
[0079] 在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于所述语法 元素产生用于CU的PU的经预测视频块。另外,视频解码器30可对与CU的TU相关联的变换系 数块进行逆量化。视频解码器30可对变换系数块执行逆变换W重构与CU的TU相关联的残余 视频块。在产生经预测视频块且重构残余视频块之后,视频解码器30可基于经预测视频块 及残余视频块重构CU的视频块。W此方式,视频解码器30可基于位流中的语法元素重构CU 的视频块。
[0080] 视频编码器
[0081] 图2A是说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。 视频编码器20可经配置W处理视频帖的单层(例如针对皿VC)。此外,视频编码器20可经配 置W执行本发明的技术中的任一者或全部。作为一个实例,预测处理单元100可经配置W执 行本发明中描述的技术中的任一者或全部。在另一实施例中,视频编码器20包含任选层间 预测单元128,所述层间预测单元经配置W执行本发明中描述的技术中的任一者或全部。在 其它实施例中,层间预测可由预测处理单元1〇〇(例如,帖间预测单元121及/或帖内预测单 元126)执行,在此情况下可省略层间预测单元128。然而,本发明的方面不限于此。在一些实 例中,本发明中描述的技术可在视频编码器20的各种组件之间共享。在一些实例中,另外或 替代地,处理器(未图示)可经配置W执行本发明中描述的技术中的任一者或全部。
[0082] 出于解释的目的,本发明描述在皿VC译码的上下文中的视频编码器20。然而,本发 明的技术可W适用于其它译码标准或方法。图2A中所描绘的实例是针对单层编解码器。然 而,如将关于图2B进一步描述,可复制视频编码器20中的一些或全部W用于多层编解码器 的处理。
[0083] 视频编码器20可执行视频切片内的视频块的帖内和帖间译码。帖内译码依赖于空 间预测W减小或移除给定视频帖或图片内的视频的空间冗余。帖间译码依靠时间预测来减 少或移除视频序列的邻近帖或图片内的视频中的时间冗余。帖内模式(I模式)可指代若干 基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帖间模式可 指代若干基于时间的译码模式中的任一者。
[0084] 在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包 含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、 逆变换单元110、重构单元112、滤波器单元113、经解码图片缓冲器114和赌编码单元116。预 测处理单元100包含帖间预测单元121、运动估计单元122、运动补偿单元124、帖内预测单元 126及层间预测单元128。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。 此外,运动估计单元122与运动补偿单元124可高度集成,但出于解释的目的而在图2A的实 例中分开来表示。
[0085] 视频编码器20可W接收视频数据。视频编码器20可从各种源接收视频数据。举例 来说,视频编码器20可从视频源18(例如,图IA或IB中所展示)或另一源接收视频数据。视频 数据可表示一系列图片。为编码视频数据,视频编码器20可对图片中的每一者执行编码操 作。作为对图片执行编码操作的一部分,视频编码器20可对图片的每一切片执行编码操作。 作为对切片执行编码操作的部分,视频编码器20可对切片中的树块执行编码操作。
[0086] 作为对树块执行编码操作的部分,预测处理单元100可对树块的视频块执行四叉 树分割W将所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相关 联。举例来说,预测处理单元100可将树块的视频块分割成四个相等大小的子块,将所述子 块中的一或多者分割成四个相等大小的子子块,等等。
[0087] 与CU相关联的视频块的大小范围可从8x8样本高达最大64x64像素或更大的树块 大小。在本发明中,"NxN"和"N乘N"可互换使用来指代在垂直和水平尺寸方面的视频块的样 本尺寸,例如,16x16样本或16乘16样本。一般来说,16x16视频块在垂直方向上具有16个样 本(y=16),且在水平方向上具有16个样本(x=16)。同样,化N块一般在垂直方向上具有N个 样本,且在水平方向上具有N个样本,其中N表示非负整数值。
[0088] 此外,作为对树块执行编码操作的部分,预测处理单元100可产生用于所述树块的 阶层式四叉树数据结构。例如,树块可对应于四叉树数据结构的根节点。如果预测处理单元 100将树块的视频块分割成四个子块,则所述根节点在所述四叉树数据结构中具有四个子 节点。所述子节点中的每一者对应于与子块中的一者相关联的CU。如果预测处理单元100将 子块中的一者分割成四个子子块,那么对应于与子块相关联的CU的节点可具有四个子节 点,其中每一者对应于与子子块中的一者相关联的CU。
[0089] 四叉树数据结构的每一节点可含有用于对应树块或CU的语法数据(例如,语法元 素)。举例来说,四叉树中的节点可包含分裂旗标,所述分裂旗标指示对应于所述节点的CU 的视频块是否被分割(例如,分裂)成四个子块。用于CU的语法元素可递归地界定,且可取决 于所述CU的视频块是否分裂成子块。视频块未被分割的CU可对应于四叉树数据结构中的叶 节点。经译码树块可包含基于用于对应树块的四叉树数据结构的数据。
[0090] 视频编码器20可对树块的每一未分割CU执行编码操作。当视频编码器20对未分割 CU执行编码操作时,视频编码器20产生表示未分割CU的经编码表示的数据。
[0091] 作为对CU执行编码操作的部分,预测处理单元100可在CU的一或多个PU之间分割 CU的视频块。视频编码器20及视频解码器30可支持各种PU大小。假定特定CU的大小为 2化2N,则视频编码器20及视频解码器30可支持2Nx2N或NxN的PU大小,及2化2N、2化N、化2N、 NxN、2NxnU、nLx2N、nRx2N或类似的对称PU大小的帖间预测。视频编码器20和视频解码器30 还可支持用于2NxnU、2NxnD、化x2N和nRx2N的PU大小的不对称分割。在一些实例中,预测处 理单元100可执行几何分割W沿并不按直角与CU的视频块的侧会合的边界来在CU的PU间分 割CU的视频块。
[0092] 帖间预测单元121可对CU的每一 PU执行帖间预测。帖间预测可提供时间压缩。为了 对PU执行帖间预测,运动估计单元122可产生用于所述PU的运动信息。运动补偿单元124可 基于运动信息和除与CU相关联的图片(例如,参考图片)之外的图片的经解码样本产生PU的 经预测视频块。在本发明中,由运动补偿单元124产生的经预测视频块可称作经帖间预测视 频块。
[0093] 切片可为I切片、P切片,或B切片。运动估计单元122和运动补偿单元124可取决于 PU处于I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帖内 预测。因此,如果PU在I切片中,那么运动估计单元122和运动补偿单元124不对PU执行帖间 预测。
[0094] 如果PU在P切片中,那么含有所述PU的图片与被称作"列表0"的参考图片列表相关 联。列表0中的参考图片中的每一者含有可用于其它图片的帖间预测的样本。当运动估计单 元122关于P切片中的PU执行运动估计操作时,运动估计单元122可捜索列表0中的参考图片 W找出用于PU的参考块。PU的参考块可为最紧密对应于PU的视频块中的样本的一组样本, 例如样本块。运动估计单元122可使用多种度量来确定参考图片中的一组样本如何紧密地 对应于PU的视频块中的样本。例如,运动估计单元122可通过绝对差总和(SAD)、平方差总和 (SSD)或其它差异度量来确定参考图片中的一组样本对应于PU的视频块中的样本的接近程 度。
[OOM]在识别出P切片中的PU的参考块之后,运动估计单元122可产生指示列表O中含有 参考块的参考图片的参考索引,W及指示PU与参考块之间的空间位移的运动向量。在各种 实例中,运动估计单元122可W不同精确度产生运动向量。举例来说,运动估计单元122可W 四分之一样本精确度、八分之一样本精确度或其它分数样本精确度产生运动向量。在分数 样本精确度的情况下,参考块值可从参考图片中的整数位置样本值内插。运动估计单元122 可将参考索引及运动向量输出为PU的运动信息。运动补偿单元124可基于由PU的运动信息 识别的参考块而产生PU的经预测视频块。
[0096] 如果PU处于B切片中,那么含有PU的图片可与被称作"列表0"和"列表r的两个参 考图片列表相关联。在一些实例中,含有B切片的图片可与为列表0与列表1的组合的列表组 合相关联。
[0097] 此外,如果PU在B切片中,那么运动估计单元122可对PU执行单向预测或双向预测。 当运动估计单元122对PU执行单向预测时,运动估计单元122可捜索列表0或列表1中的参考 图片W找出用于所述PU的参考块。运动估计单元122可接着产生指示列表0或列表1中的含 有参考块的参考图片的参考索引和指示PU与所述参考块之间的空间位移的运动向量。运动 估计单元122可输出参考索引、预测方向指示符和运动向量作为所述PU的运动信息。预测方 向指示符可指示参考索引指示列表0还是列表1中的参考图片。运动补偿单元124可基于由 PU的运动信息指示的参考块来产生PU的经预测视频块。
[0098] 当运动估计单元122针对PU执行双向预测时,运动估计单元122可捜索列表0中的 参考图片W找到用于所述PU的参考块,且还可捜索列表1中的参考图片W找到用于所述PU 的另一参考块。运动估计单元122可接着产生指示列表0和列表1中的含有参考块的参考图 片的参考索引,W及指示所述参考块与PU之间的空间位移的运动向量。运动估计单元122可 输出PU的参考索引及运动向量作为PU的运动信息。运动补偿单元124可基于由PU的运动信 息指示的参考块而产生PU的经预测视频块。
[0099] 在一些情况下,运动估计单元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的运动信息。
[0100] 如下文参考图8到12进一步论述,预测处理单元100可经配置W通过执行图8到12 中说明的方法对PlK或任何其它参考层和/或增强层块或视频单元)进行译码(例如,编码或 解码)。举例来说,帖间预测单元121(例如,经由运动估计单元122和/或运动补偿单元124)、 帖内预测单元126或层间预测单元128可经配置W-起或分开地执行图8到12中说明的方 法。
[0101] 作为对CU执行编码操作的部分,帖内预测单元126可对CU的PU执行帖内预测。帖内 预测可提供空间压缩。当帖内预测单元12 6对PU执行帖内预测时,帖内预测单元12 6可基于 同一图片中的其它PU的经解码样本来产生用于PU的预测数据。用于PU的预测数据可包含经 预测视频块和各种语法元素。帖内预测单元126可对I切片、P切片W及B切片中的PU执行帖 内预测。
[0102] 为了对PU执
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1