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

文档序号:9621418阅读:来源:国知局
传输视频发射(例如,动态自适应HTTP流式传输(DASH)等)、用于存储于数 据存储媒体上的数字视频的编码、存储在数据存储媒体上的数字视频的解码,或其它应用。 在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持例如视频流 式传输、视频回放、视频广播及/或视频电话等应用。
[0040] 在图1A的实例中,源模块12包含视频源18、视频编码器20和输出接口 22。在一 些情况下,输出接口 22可包含调制器/解调器(调制解调器)及/或发射器。在源模块 12中,视频源18可包含来源,例如视频俘获装置,例如摄像机,包含先前俘获的视频的视频 存档,用于从视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据作 为源视频的计算机图形系统,或此类来源的组合。作为一个实例,如果视频源18是摄像机, 那么源模块12和目的地模块14可形成所谓的相机电话或视频电话,如图1B的实例中所说 明。然而,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线和/或有线 应用。
[0041] 可由视频编码器20对所俘获、预俘获或计算机产生的视频进行编码。经编码视频 数据可经由源模块12的输出接口 22直接发射到目的地模块14。经编码视频数据还可(或 替代地)存储到存储装置31上用于稍后由目的地模块14或其它装置存取以用于解码和/ 或回放。
[0042] 在图1A的实例中,目的地模块14包含输入接口 28、视频解码器30和显示装置32。 在一些情况下,输入接口 28可包含接收器及/或调制解调器。目的地模块14的输入接口 28可经由链路16接收经编码视频数据。经由链路16传送或在存储装置31上提供的经编 码视频数据可包含由视频编码器20所产生的多种语法元素以供由例如视频解码器30的视 频解码器用于解码视频数据。此类语法元素可与在通信媒体上发射、存储于存储媒体上或 存储文件服务器的经编码视频数据包含在一起。
[0043] 显示装置32可与目的地模块14集成或在目的地模块14外部。在一些实例中, 目的地模块14可包含集成显示装置,并且还经配置以与外部显示装置介接。在其它实例 中,目的地模块14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且 可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管 (0LED)显示器或另一类型的显示装置。
[0044] 在相关方面中,图1B展示实例视频编码和解码系统KV,其中源模块12和目的地 模块14在装置或用户装置11上或为其部分。装置11可为电话手持机,例如"智能"电话 或类似物。装置11可包含与源模块12和目的地模块14操作通信的任选的控制器/处理 器模块13。图1B的系统10'可进一步包含视频编码器20与输出接口 22之间的视频处理 单元21。在一些实施方案中,视频处理单元21是单独的单元,如图1B中所说明;然而,在 其它实施方案中,视频处理单元21可实施为视频编码器20和/或处理器/控制器模块13 的一部分。系统1(V还可包含任选的跟踪器29,其可跟踪视频序列中的所关注对象。所关 注的待跟踪的对象可通过结合本发明的一或多个方面描述的技术来分段。在相关方面中, 跟踪可由显示装置32单独地或联合跟踪器29而执行。图1B的系统10'及其组件另外类 似于图1A的系统10及其组件。
[0045] 视频编码器20和视频解码器30可根据视频压缩标准(例如目前正在开发的高效 率视频译码(HEVC)标准)来操作,且可符合HEVC测试模型(腿)。或者,视频编码器20和 视频解码器30可根据其它专有或业界标准来操作,所述标准例如是ITU-T H. 264标准,也 被称为MPEG-4,第10部分,高级视频译码(AVC),或此类标准的扩展。但是,本发明的技术 不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-TH. 263。
[0046] 尽管图1A和1B的实例中未展示,但在一些方面中,视频编码器20和视频解码器 30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其 它硬件和软件以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例 中,如果适用的话,那么MUX-DEMUX单元可以符合ITU H. 223多路复用器协议,或例如用户 数据报协议(UDP)等其它协议。
[0047] 视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一 者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门 阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时, 装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中且使用一或多个 处理器用硬件执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每 一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应 装置中的组合编码器/解码器(编解码器)的部分。
[0048] 视频译码讨稈
[0049] 如上文简要提及,视频编码器20编码视频数据。视频数据可以包括一或多个图 片。图片中的每一者为形成视频的部分的静态图像。在一些情况下,图片可被称为视频 "帧"。当视频编码器20编码视频数据时,视频编码器20可产生位流。位流可以包含形成 视频数据的经译码的表示的一连串位。位流可包含经译码图片和相关联数据。经译码的图 片是图片的经译码的表示。
[0050] 为产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频 编码器20对所述图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联 数据。所述相关联数据可包含视频参数集(VPS)、序列参数集、图片参数集、调适参数集及 其它语法结构。序列参数集(SPS)可含有适用于零或更多个图片序列的参数。图片参数集 (PPS)可含有适用于零或零个以上图片的参数。自适应参数集(APS)可含有适用于零或更 多个图片的参数。APS中的参数可为比PPS中的参数更可能改变的参数。
[0051] 为产生经译码图片,视频编码器20可将图片分割为大小相等的视频块。视频块可 为样本的二维阵列。视频块中的每一者与树块相关联。在一些情况下,树块可被称作最大 译码单元(LCU)。HEVC的树块可广泛类似于例如H. 264/AVC等先前标准的宏块。然而,树 块不必限于特定大小,且可包含一或多个译码单元(CU)。视频编码器20可使用四叉树分割 将树块的视频块分割成与CU相关联的视频块(因此名称为"树块")。
[0052] 在一些实例中,视频编码器20可将图片分割成多个切片。所述切片中的每一者可 包含整数数目个CU。在一些情况下,一个切片包括整数数目个树块。在其它情况下,切片的 边界可在树块内。
[0053] 作为对图片执行编码操作的一部分,视频编码器20可对图片的每一切片执行编 码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的 经编码数据。与切片相关联的经编码数据可称为"经译码切片"。
[0054] 为产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频 编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包括 表示树块的经编码版本的数据。
[0055] 当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片 中的树块执行编码操作(即,编码)。举例来说,视频编码器20可按如下次序来编码切片的 树块:跨越切片中的树块的最顶行从左到右进行,接着跨越树块的下一较低行从左到右进 行,以此类推,直到视频编码器20已编码切片中的树块的每一者。
[0056] 作为根据光栅扫描次序编码树块的结果,可已编码在给定树块的上方和左边的树 块,但尚未编码在给定树块的下方和右边的树块。因此,当对给定树块进行编码时,视频编 码器20可能能够存取通过对给定树块的上方和左边的树块进行编码而产生的信息。然而, 当编码给定树块时,视频编码器20可能不能够存取通过编码在给定树块的下方和右边的 树块而产生的信息。
[0057] 为产生经译码树块,视频编码器20可对树块的视频块递归地执行四分树分割以 将所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举 例来说,视频编码器20可将树块的视频块分割成四个大小相等的子块、将所述子块中的一 者或一者以上分割成四个大小相等的子子块,以此类推。经分割CU可为视频块被分割成与 其它CU相关联的视频块的CU。未分割的CU可为其视频块未被分割成与其它CU相关联的 视频块的⑶。
[0058] 位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大 次数。CU的视频块在形状上可为正方形。CU的视频块的大小(例如,CU的大小)范围可 从8X8像素直到具有最大64X64个像素或更大的树块的视频块的大小(例如,树块的大 小)。
[0059] 视频编码器20可根据z扫描次序对树块的每一 CU执行编码操作(例如,编码)。 换句话说,视频编码器20可将左上⑶、右上⑶、左下⑶和接着右下⑶按此次序编码。当 视频编码器20对经分割的CU执行编码操作时,视频编码器20可根据z扫描次序对与经分 割的CU的视频块的子块相关联的CU进行编码。换句话说,视频编码器20可对与左上子块 相关联的CU、与右上子块相关联的CU、与左下子块相关联的CU,且接着是与右下子块相关 联的CU按所述顺序进行编码。
[0060] 作为根据z扫描次序编码树块的CU的结果,可已编码在给定CU的上方、左上方、 右上方、左边及左下方的⑶。尚未对给定⑶的右下方的⑶进行编码。因此,当对给定⑶ 进行编码时,视频编码器20可能能够存取通过对与给定CU相邻的一些CU进行编码而产生 的信息。然而,当对给定CU进行编码时,视频编码器20可能不能够存取通过对与给定CU 相邻的其他CU进行编码而产生的信息。
[0061] 当视频编码器20对未分割的⑶编码时,视频编码器20可产生用于所述⑶的一 或多个预测单元(PU)。CU的PU中的每一者可与CU的视频块内的不同视频块相关联。视 频编码器20可产生用于⑶的每一 PU的经预测视频块。PU的经预测视频块可为样本块。 视频编码器20可使用帧内预测或帧间预测来产生用于PU的预测视频块。
[0062] 当视频编码器20使用帧内预测来产生PU的经预测视频块时,视频编码器20可基 于与PU相关联的图片的经解码样本来产生的经预测视频块。如果视频编码器20使用 帧内预测来产生⑶的PU的经预测视频块,那么⑶为经帧内预测的⑶。当视频编码器20 使用帧间预测来产生PU的经预测视频块时,视频编码器20可基于不同于与PU相关联的图 片的一或多个图片的经解码样本来产生所述PU的经预测视频块。如果视频编码器20使用 帧间预测来产生CU的PU的经预测视频块,那么所述CU为经帧间预测CU。
[0063] 此外,当视频编码器20使用帧间预测来产生用于PU的经预测视频块时,视频编码 器20可产生用于所述PU的运动信息。用于PU的运动信息可指示所述PU的一或多个参考 块。PU的每一参考块可为参考图片内的视频块。参考图片可为除与HJ相关联的图片以外 的图片。在一些情况下,PU的参考块也可被称作的"参考样本"。视频编码器20可基于 PU的参考块产生所述的预测视频块。
[0064] 在视频编码器20产生用于⑶的一或多个PU的经预测视频块之后,视频编码器20 可基于用于CU的所述PU的预测视频块产生所述CU的残差数据。CU的残差数据可指示用 于CU的PU的预测视频块中的样本与CU的原始视频块之间的差。
[0065] 此外,作为对未分割的⑶执行编码操作的部分,视频编码器20可对⑶的残差数 据执行递归四分树分割以将CU的残差数据分割成与CU的变换单元(TU)相关联的一或多 个残差数据块(例如,残差视频块)。CU的每一 TU可与不同残差视频块相关联。
[0066] 视频编码器20可对与TU相关联的残差视频块应用一或多个变换以产生与TU相 关联的变换系数块(例如,变换系数的块)。在概念上,变换系数块可为变换系数的二维 (2D)矩阵。
[0067] 在产生变换系数块之后,视频编码器20可对所述变换系数块执行量化处理。量化 总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一 步压缩的过程。量化过程可减少与变换系数中的一些或全部相关联的位深度。例如,可在 量化期间将η位变换系数向下舍入到m位变换系数,其中η大于m。
[0068] 视频编码器20可使每一⑶与量化参数(QP)值相关联。与⑶相关联的QP值可 确定视频编码器20如何与所述CU相关联的变换系数块进行量化。视频编码器20可通过 调整与CU相关联的QP值来调整应用于与CU相关联的变换系数块的量化的程度。
[0069] 在视频编码器20量化变换系数块之后,视频编码器20可产生表示经量化变换系 数块中的变换系数的语法元素集。视频编码器20可将例如上下文自适应性二进制算术译 码(CABAC)操作的熵编码操作应用于这些语法元素中的一些。还可使用例如内容自适应可 变长度译码(CAVLC)、概率区间分割熵(PIPE)译码或其它二进制算术译码等其它熵译码技 术。
[0070] 由视频编码器20产生的位流可包含一系列网络提取层(NAL)单元。所述NAL单 元中的每一者可为含有NAL单元中的数据类型的指示及含有数据的字节的语法结构。举例 来说,NAL单元可含有表示视频参数集、序列参数集、图片参数集、经译码切片、补充增强信 息(SEI)、存取单元分隔符、填充数据或另一类型的数据的数据。NAL单元中的数据可包含 各种语法结构。
[0071] 视频解码器30可接收由视频编码器20产生的位流。所述位流可包含由视频编码 器20编码的视频数据的经译码表示。当视频解码器30接收到位流时,视频解码器30可对 所述位流执行解析操作。当视频解码器30执行解析操作时,视频解码器30可从所述位流提 取语法元素。视频解码器30可基于从位流提取的语法元素重构视频数据的图片。基于语 法元素重构视频数据的过程可与由视频编码器20执行以产生语法元素的过程大体互逆。
[0072] 在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于所述语 法元素产生用于⑶的PU的经预测视频块。另外,视频解码器30可对与⑶的TU相关联的 变换系数块进行反量化。视频解码器30可对变换系数块执行反变换以重构与CU的TU相 关联的残差视频块。在产生经预测视频块且重构残差视频块之后,视频解码器30可基于经 预测视频块及残差视频块重构CU的视频块。以此方式,视频解码器30可基于位流中的语 法元素重构CU的视频块。
[0073] 视频编码器
[0074] 图2A为说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框 图。视频编码器20可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频编码器20 可经配置以执行本发明的技术中的任一者或全部。作为一个实例,预测处理单元100可经 配置以执行本发明中描述的技术中的任一者或全部。在另一实施例中,视频编码器20包含 任选的层间预测单元128,所述层间预测单元经配置以执行本发明中描述的技术中的任一 者或全部。在其它实施例中,层间预测可由预测处理单元1〇〇(例如,帧间预测单元121及 /或帧内预测单元126)执行,在此情况下可省略层间预测单元128。然而,本发明的方面不 限于此。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件之间共享。在 一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的任 一者或全部。
[0075] 出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本 发明的技术可以适用于其它译码标准或方法。图2A中所描绘的实例是针对单层编解码器。 然而,如将关于图2B进一步描述,可复制视频编码器20中的一些或全部以用于多层编解码 器的处理。
[0076] 视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于 空间预测以减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测 以减小或移除视频序列的相邻帧或图片内的视频的时间冗余。帧内模式(I模式)可指代 若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧 间模式可指代若干基于时间的译码模式中的任一者。
[0077] 在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件 包含预测处理单元100、残差产生单元102、变换处理单元104、量化单元106、反量化单元 108、反变换单元110、重构单元112、滤波器单元113、经解码图片缓冲器114和熵编码单元 116。预测处理单元100包含帧间预测单元121、运动估计单元122、运动补偿单元124、帧内 预测单元126及层间预测单元128。在其它实例中,视频编码器20可包含更多、更少或
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1