Cabac编码器的基于速率-失真建模的量化的制作方法

文档序号:7732189阅读:136来源:国知局
专利名称:Cabac编码器的基于速率-失真建模的量化的制作方法
技术领域
本发明涉及数字视频编码,且更确切地说,涉及用于支持基于上下文的自适应二 进制算术编码(CABAC)的视频编码过程的量化技术。
背景技术
可将数字视频能力并入广泛范围的装置中,包括数字电视、数字直播系统、无线 广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数字相机、数字记录装置、视频游 戏装置、视频游戏控制台、蜂窝式或卫星无线电电话及其类似者。数字视频装置实施例如 MPEG-2、MPEG-4或ITU-T H. 264/MPEG-4,第10部分、高级视频编码(AVC)的视频压缩技术, 以更有效地发射及接收数字视频信息。视频压缩技术执行空间预测及时间预测以减少或移 除视频序列中所固有的冗余。帧内编码依赖于空间预测来减少或移除给定经编码单元内的视频块之间的空间 冗余,给定经编码单元可包含视频帧、视频帧的片段、一群图片,或视频块的另一经界定单 元。对比而言,帧间编码依赖于时间预测来减少或移除视频序列的连续经编码单元的视频 块之间的时间冗余。对于帧内编码,视频编码器执行空间预测以基于同一经编码单元内的 其它数据来压缩数据。对于帧间编码,视频编码器执行运动估计及运动补偿以追踪两个或 两个以上邻近经编码单元的对应视频块的移动。经编码视频块可由预测信息表示,所述预测信息可用于产生或识别预测性块,及 指示正被编码的块与所述预测性块之间的差异的剩余数据块。在帧间编码的情况下,使用 一个或一个以上运动向量来识别预测性数据块,而在帧内编码的情况下,可使用预测模式 来产生预测性块。帧内编码及帧间编码两者可界定若干不同的预测模式,其可界定编码中 所使用的不同块大小及/或预测技术。也可包括额外类型的语法元素作为经编码视频数据 的一部分,以便控制或界定编码过程中所使用的编码技术或参数。在基于块的预测编码之后,视频编码器可应用变换、量化及熵编码过程来进一步 减小与剩余块的通信相关联的位速率。变换技术可包含离散余弦变换或概念上类似的过 程。或者,可使用小波变换、整数变换或其它类型的变换。在离散余弦变换(DCT)过程中, 作为一实例,变换过程将一组像素值转换成变换系数,其可表示频域中像素值的能量。将量 化应用于所述变换系数,且量化大体涉及限制与任何给定变换系数相关联的位的数目的过 程。熵编码包含共同地压缩经量化变换系数的序列的一个或一个以上过程。基于上下文的自适应二进制算术编码(CABAC)是一种类型的熵编码技术,其当前 在一些编码标准中受到支持,例如ITU-T H. 264/MPEG4、AVC标准。CABAC可涉及若干阶段, 包括二值化、上下文模型选择及二进制算术编码。在二值化中,将任何非二进制符号映射为二进制序列(有时称为频率组串)。在上下文建模中,将模型概率分布指派给正被编码的元 素(例如,符号)。接着,在后续二进制算术编码阶段中,使用所指派的概率分布来执行编 码,以便产生形成正根据所指派的模型概率分布而编码的元素的经编码表示的位序列。CABAC过程可通过知晓给定上下文中元素的概率而无损地压缩界定视频流的元 素。CABAC通常比其它熵编码技术(例如,内容自适应可变长度编码(CAVLC)技术)更 有效地压缩数据,但可能要求解码器侧上显著更复杂的处理。在以下出版物中更全面地 描述ITU H. 264/AVC设定中的CABAC 戴特勒夫·马波(Detlev Marpe)、海柯·斯卡华兹 (Heiko Schwarz)及托马斯·维根德(Thomas ffiegand)的“H. 264/AVC视频压缩标准中的 基于上下文的自适应二进制算数编码(“Context-based Adaptive BinaryArithmetic Coding in the H. 264/AVC Video Compression Standard “) ”,其于 2003 年 7 月在 "IEEE 视频技术电路及系统译文(“IEEE Translations on Circuits and Systems for VideoTechnology丨丨)”,第13卷,第7号中登载。

发明内容
大体而言,本发明描述可用于针对支持基于上下文的自适应二进制算术编码 (CABAC)的视频编码过程而量化视频块的系数的量化技术。所描述的技术可通过在量化过 程期间执行及/或估计CABAC步骤中的一些步骤来考虑量化过程期间的CABAC。可使用所 述技术来实现视频编码的编码速率与量化步骤中的失真之间的所需平衡。根据所述技术, 可针对不同经量化系数组而估计与经由CABAC对视频块进行编码相关联的多个成本。接 着,可选择与最低成本相关联的经量化系数组来界定经量化系数。在一个实例中,本发明提供一种针对支持CABAC的视频编码过程而量化视频块的 系数的方法。所述方法包含针对所述视频块产生多个经量化系数组,其中基于对所述视频 块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化 系数组中的每一者;估计与经由CABAC对所述视频块进行编码相关联的多个成本,其中所 述所估计的成本分别是基于所述经量化系数组中的不同组;及选择所述经量化系数组中与 所述成本中的最低一个成本相关联的给定一个组。在另一实例中,本发明提供一种经配置以针对支持CABAC的视频编码过程而量化 视频块的系数的设备。所述设备包含量化单元,所述量化单元针对所述视频块产生多个 经量化系数组,其中基于对所述视频块的系数中的特定一个系数对应于所述视频块的最后 非零系数的假定而界定所述经量化系数组中的每一者;估计与经由CABAC对所述视频块进 行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同 组;及选择所述经量化系数组中与最低成本相关联的给定组。在另一实例中,本发明提供一种针对支持CABAC的视频编码过程而量化视频块的 系数的装置,所述装置包含用于针对所述视频块而产生多个经量化系数组的装置,其中基 于对所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界 定所述经量化系数组中的每一者;用于估计与经由CABAC对视频块进行编码相关联的多个 成本的装置,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;及用于选 择所述经量化系数组中与最低成本相关联的给定组的装置。在另一实例中,本发明提供一种经配置以针对支持基于上下文的自适应二进制算术编码(CABAC)的视频编码过程而量化视频块的系数的装置,所述装置包含编码单元及发 射器,所述编码单元包括量化单元及CABAC单元。所述量化单元计算用于视频块的多个经 量化系数组,其中基于对所述视频块的系数中的特定一个系数对应于所述视频块的最后非 零系数的假定而界定所述经量化系数组中的每一者;估计与经由CABAC对视频块进行编码 相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;选 择所述经量化系数组中与最低成本相关联的给定一个组;及输出所述经量化系数组中的所 述给定一个组。所述CABAC单元接收所述经量化系数组中的所述给定一个组;对所述经量 化系数组中的所述给定一个组执行CABAC,以将所述经量化系数组中的所述给定一个组熵 编码为位流;及输出所述位流,且发射器发射所述位流。本发明中所描述的技术可以硬件、软件、固件或其任何组合来实施。如果以软件来 实施,则软件可在一个或一个以上处理器如微处理器、专用集成电路(ASIC)、现场可编程门 阵列(FPGA)或数字信号处理器(DSP)中执行。执行所述技术的软件最初可存储在计算机 可读媒体中且在处理器中加载并执行。因此,本发明还涵盖一种包含指令的计算机可读媒体,所述指令在执行后即使得 装置在支持CABAC的视频编码过程中量化视频块的系数,其中所述指令使得所述装置针 对所述视频块而产生多个经量化系数组,其中基于对所述视频块的系数中的特定一个系数 对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者;估计与经 由CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所 述经量化系数组中的不同组;及选择所述经量化系数组中与最低成本相关联的给定组。在随附图式及以下描述中阐述本发明的一个或一个以上方面的细节。本发明中所 描述的技术的其它特征、目标及优点将从描述及图式且从权利要求书中显而易见。


图1是说明视频编码及解码系统的示范性框图。图2是说明符合本发明的视频编码器的实例的框图。图3是说明四乘四元素视频块的锯齿形扫描的概念图。图4是说明符合本发明的视频解码器的实例的框图。图5到图10是说明符合本发明的技术的流程图。
具体实施例方式图1是说明可实施本发明的技术的一个示范性视频编码及解码系统10的框图。如 图ι中所示,系统10包括源装置12,其经由通信信道15将经编码的视频发射到目的地装置 16。源装置12及目的地装置16可包含广泛范围的装置中的任一者。在一些情况下,源装 置12及目的地装置16包含无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电 话,或可经由通信信道15传送视频信息的任何无线装置,在此情况下,通信信道15是无线 的。然而,本发明的技术(其与量化有关)未必限于无线应用或设定。在图1的实例中,源装置12可包括视频源20、视频编码器22、调制器/解调器(调 制解调器)23及发射器24。目的地装置16可包括接收器26、调制解调器27、视频解码器 28及显示装置30。根据本发明,源装置12的视频编码器22可经配置以应用考虑上下文自适应二进制算术编码(CABAC)的效应的量化技术。以此方式,源装置12可实现所需水平的 量化,且借此改进编码过程。图1的所说明系统10只是示范性的。本发明的量化技术可由支持CABAC的任何编 码装置执行。源装置12只是此编码装置的一个实例。本发明的量化技术可包括针对支持 CABAC以进行熵编码的视频编码过程而量化视频块的系数。在此情况下,视频编码器22可 产生用于所述视频块的多个经量化系数组,其中基于对所述视频块的系数中的特定一个系 数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者。所述最 后非零系数可视所使用的扫描次序(例如锯齿形扫描)而定。视频编码器22可估计与经 由CABAC对视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经 量化系数组中的不同组;且选择所述经量化系数组中与最低成本相关联的给定一个组。在 针对将不同系数视为视频块的最后非零系数的单遍中的不同经量化系数组中的每一者而 产生所估计的成本的范围内,此方法可称为一遍方法。或者,本发明的量化技术可遵循两遍方法。在此情况下,所述技术可包括在第一遍 中估计视频块的最后非零系数,且接着基于对所估计的最后非零系数实际上是所述视频块 的最后非零系数的假定而在第二遍中针对所述视频块而产生经量化系数组。本发明提出组 合一遍方法及两遍方法两者。在组合一遍方法中,可将每个可能系数视为是所述最后非零 系数,且可针对是最后非零系数的不同系数而产生许多可能的经量化系数组。然而,在两遍 方法中,使用估计技术来估计所述最后非零系数,且仅可针对所估计的最后非零系数固定 为所述最后非零系数的单个情况而产生并考虑经量化系数组。组合一遍方法与一遍方法相 比可能计算上更密集,但在一些情况下可得出更准确的结果。可使用各种额外技术来降低 一遍方法的计算复杂性。两遍方法相对于一遍方法可显著降低复杂性,且在许多情况下,相 对于一遍方法而言,两遍方法中的编码质量的降低可忽略。大体而言,源装置12产生经编码视频数据,用于发射到目的地装置16。然而,在 一些情况下,装置12、16可以大致对称的方式而操作。举例来说,装置12、16中的每一者可 包括视频编码及解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视频发 射,例如,以用于视频串流、视频回放、视频广播或视频电话。源装置12的视频源20可包括视频捕捉装置,例如视频相机、含有先前捕捉的视频 的视频档案,或来自视频内容提供者的视频馈入。作为另一替代方案,视频源20可产生基 于计算机图形的数据作为源视频,或实时视频(live video)、存档的视频与计算机产生的 视频的组合。在一些情况下,如果视频源20为视频相机,则源装置12及目的地装置16可 形成所谓的相机电话或视频电话。在每一情况下,所捕捉的、预捕捉的或计算机产生的视频 可由视频编码器22编码。接着,经编码的视频信息可由调制解调器23根据通信标准(例 如,码分多址(CDMA)或另一通信标准)进行调制,且经由发射器24发射到目的地装置16。 调制解调器23可包括各种混频器、滤波器、放大器或为信号调制而设计的其它组件。发射 器24可包括为发射数据而设计的电路,包括放大器、滤波器及一个或一个以上天线。目的地装置16的接收器26经由信道15而接收信息,且调制解调器27解调所述 信息。又,视频编码过程可实施本文所述的技术以改进量化过程。视频解码器28所执行的 视频解码过程可在重新建构视频序列的过程中执行逆量化。显示装置28向用户显示经解 码的视频数据,且可包含多种显示装置中的任一者,例如阴极射线管、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。在图1的实例中,通信信道15可包含任何无线或有线通信媒体,例如射频(RF)频 谱或一个或一个以上物理发射线路,或无线媒体与有线媒体的任何组合。通信信道15可形 成基于包的网络(例如,局域网络、广域网络,或例如因特网的全球网络)的一部分。通信 信道15大体表示任何合适的通信媒体,或不同通信媒体的集合,以用于将视频数据从源装 置12发射到目的地装置16。视频编码器22及视频解码器28可根据支持CABAC的视频压缩标准(例如, ITU-TH.264标准,替代地描述为MPEG-4,第10部分,高级视频编码(AVC))而操作。尽管图 1中未展示,但在一些方面中,视频编码器22及视频解码器28可各自与音频编码器及解码 器集成,且可包括适当的MUX-DEMUX (多路复用-多路分用)单元,或其它硬件及软件,以处 理共同数据流或单独数据流中的音频与视频两者的编码。如果适用,则MUX-DEMUX单元可 符合ITU H. 223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。ITU-T H. 264/MPEG-4(AVC)标准由 ITU-T 视频编码专家组(VCEG)连同 IS0/IEC 运动图片专家组(MPEG)制订为被称为联合视频小组(JVT)的集体合作的产品。在一些方 面中,本发明中所描述的技术可应用于大体符合H. 264标准的装置。在ITU-T研究组发表 的且日期为2005年3月的ITU-T建议案H. 264 “通用视频音频服务的高级视频编码(“ Advanced Video Coding for generic audiovisual services “),,中描述了 H. 264 标准, 所述标准在本文中可称为H. 264标准或H. 264规范,或H. 264/AVC标准或规范。联合视频 小组(JVT)继续致力于对H. 264/MPEG-4 AVC的扩展。视频编码器22及视频解码器28各自可实施为一个或一个以上微处理器、数字信 号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、 固件或其任何组合。视频编码器22及视频解码器28中的每一者可包括在一个或一个以上 编码器或解码器中,其中任一者可在相应移动装置、订户装置、广播装置、服务器或其类似 者中集成为组合编码器/解码器(CODEC)的一部分。视频序列通常包括一系列视频帧。视频编码器22对个别视频帧内的视频块进行 操作,以便对视频数据进行编码。所述视频块可具有固定或变化的大小,且可根据指定编码 标准而在大小上有所不同。每一视频帧包括一系列片段。每一片段可包括一系列宏块,其 可布置为子块。作为一实例,ITU-T H. 264标准支持各种块大小的帧内预测(例如对于亮 度(Iuma)分量而言为16X16、8X8或4X4,且对于色度分量而言为8X8),以及各种块大 小的帧间预测(例如对于亮度分量而言为16X16、16X8、8X16、8X8、8X4、4X8及4X4, 且对于色度分量而言为对应的按比例缩放的大小)。视频块可包含像素数据块,或变换系数 块,例如,遵循例如离散余弦变换的变换过程或概念上类似的变换过程。本发明的量化技术 通常应用于经变换视频块的变换系数。较小的视频块可提供较好的分辨率,且可用于视频帧的包括高水平的细节的位 置。大体而言,可将宏块(MB)及各种子块视为视频块。另外,可将片段视为一系列视频块, 例如MB及/或子块。每一片段可为视频帧的可独立解码单元。在预测之后,可对8X8剩 余块或4X4剩余块执行变换,且如果使用帧内16X16预测模式,则可将额外变换应用于色 度分量或亮度分量的4X4块的DC系数。又,在变换之后,所述数据可仍被称为是视频块, 亦即,变换系数块。术语“系数”大体指代变换系数,但可替代地指代其它类型的系数或值,例如像素值,或另一类型的系数。在基于帧内或基于帧间的预测性编码及变换技术(例如,H. 264/AVC中所使用的 4X4或8X8整数变换或离散余弦变换DCT)之后,可执行量化。下文更详细地论述量化,但 量化大体指代对系数进行量化以可能地减少用于表示系数的数据的量的过程。量化过程可 减小与一些或所有系数相关联的位深度。举例来说,在量化期间,可将8位值下舍(round down)成7位值。本发明的量化技术考虑将执行CABAC的事实。确切地说,在量化之后,可根据CABAC方法执行熵编码。本发明提供用于以可实现 速率与失真的所需平衡的方式来量化视频块的系数的技术。所描述的技术实施CABAC的估 计,以便改进所述量化,且在对通信速率的给定位预算下实现(例如)所需水平的质量。根据本发明的技术,视频编码器22可针对视频块而产生多个经量化系数组,其中 基于所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界 定所述经量化系数组中的每一者。视频编码器22可估计与经由CABAC对视频块进行编码 相关联的多个成本,其中所估计的成本分别是基于所述经量化系数组中的不同组;且选择 所述经量化系数组中与最低成本相关联的给定一个组。视频编码器22可将选定的经量化 系数组用于视频块的量化。此方法称为一遍方法。或者,本发明的量化技术可遵循两遍方法。在此情况下,视频编码器22可在第一 遍中估计视频块的最后非零系数,且接着基于对所估计的最后非零系数实际上是所述视频 块的最后非零系数的假定而在第二遍中针对所述视频块而产生经量化系数组。在两遍方法 中,使用估计技术来估计所述最后非零系数,且仅可针对所估计的最后非零系数实际上是 所述最后非零系数的情况而考虑经量化系数组。单独的估计遍可消除对执行与不具有正确 的系数作为最后非零系数的经量化系数组相关联的计算的需要。图2是说明包括执行符合本发明的剩余系数的量化的速率_失真(RD)量化单元 40的视频编码器50的实例的框图。视频编码器50可对应于装置20的视频编码器22,或 不同装置的视频编码器。视频编码器50可执行视频帧内的块的帧内编码及帧间编码。帧 内编码依赖于空间预测来减少或移除给定视频帧内的视频中的空间冗余。帧间编码依赖于 时间预测来减少或移除视频序列的邻近帧内的视频中的时间冗余。对于帧间编码,视频编 码器50执行运动估计以追踪两个或两个以上邻近帧之间的匹配视频块的移动。帧内模式 (I模式)可指代基于空间的压缩模式,且例如预测(P模式)或双向(B模式)的帧间模式 可指代基于时间的压缩模式。如图2中所示,视频编码器50接收视频帧内待编码的当前视频块。在图2的实例 中,视频编码器50包括预测单元32、参考帧存储装置34、块变换单元38、RD量化单元40、 逆量化单元42、逆变换单元44及CABAC编码单元46。还可包括解块滤波器(未图示)以 对块边界进行滤波以移除块效应假象(blockiness artifact)。视频编码器50还包括求和 器48及求和器51。预测单元32大体表示帧内预测单元及/或帧间预测单元。在编码过程期间,视频编码器50接收待编码的视频块,且预测单元32执行预测性 编码技术。对于帧间编码而言,预测单元32将待编码的视频块与一个或一个以上视频参考 帧或片段中的各种块进行比较,以便界定预测性块。对于帧内编码而言,预测单元32基于 同一经编码单元内的相邻数据而产生预测性块。预测单元32输出预测块,且加法器48将 所述预测块从正被编码的视频块减去,以便产生剩余块。
对于帧间编码而言,预测单元32可包含运动估计及运动补偿单元,其识别指向预 测块的运动向量,且基于所述运动向量而产生所述预测块。通常,将运动估计视为产生运动 向量的过程,其估计运动。举例来说,所述运动向量可指示预测性帧内的预测性块相对于当 前帧内的正被编码的当前块的位移。通常将运动补偿视为基于由运动估计确定的运动向量 而提取或产生预测性块的过程。如所提到的,对于帧内编码,预测单元32基于同一经编码 单元内的相邻数据而产生预测性块。一个或一个以上帧内预测模式可界定帧内预测块可如 何界定。视频编码器50通过将预测单元32所产生的预测视频块从正被编码的原始视频块 减去而形成剩余视频块。求和器48执行此减法运算。变换单元38对所述剩余块应用变换 (例如,离散余弦变换(DCT)或概念上类似的变换),从而产生包含剩余变换块系数的视频 块。举例来说,变换单元38可执行由H. 264标准界定的其它变换,所述变换在概念上类似 于DCT。也可使用小波变换、整数变换、次频带变换或其它类型的变换。在任何情况下,变换 单元38均对剩余块应用变换,从而产生剩余变换系数块。所述变换可将剩余信息从像素域 转换为频域。RD量化单元40 (本文也称为“量化单元40” )对剩余变换系数进行量化以进一步 减小位速率。确切地说,量化单元40执行下文更详细描述的量化技术中的一者或一者以 上,以便考虑由CABAC单元46执行的CABAC编码。以此方式,量化单元40可实施速率-失 真模型并实现所要水平的量化,其(例如)针对给定速率或位预算而实现所需数目的位。在量化之后,CABAC单元46根据CABAC方法对经量化的变换系数进行熵编码,以进 一步压缩数据。在由CABAC单元46进行的熵编码之后,可将经编码的视频发射到另一装置 或存档以供稍后发射或检索。逆量化单元42及逆变换单元44分别应用逆量化及逆变换, 以在像素域中重新建构剩余块以用作参考块。求和器51将经重新建构的剩余块与运动补 偿单元36所产生的经运动补偿的预测块相加,以产生经重新建构的视频块以存储在参考 帧存储装置34中。所述经重新建构的视频块可由预测单元32用作参考块,以对后续视频 帧中的块进行帧间编码。可将预测误差E(x,y)(亦即正被编码的块I (χ,y)与预测的块P(x,y)之间的差 异)表示为变换基础函数fu(x,y)的加权和E(x,y) = Σ ΣCijfij (x,y)其中χ及y界定给定系数在视频块内的位置,且 为加权因子,有时称为预测误 差系数。通常在8X8(N = 8)或4X4(N = 4)块基础上执行所述变换。随后可如下量化权
重 CiJ Iij = Q(cij; QP)其中Iij被称为经量化的系数或水平,QP为量化参数,且Q为界定量化步长的量化 矩阵。量化的运算引入信息损失。然而,可用较小数目的位来表示经量化的系数,借此节省 发射带宽、存储空间及处理资源。按照惯例通过调整QP的值来控制压缩的水平(信息损 失)。经量化的变换系数连同运动向量及一些控制信息可形成完整的经编码元素序列。 在从编码装置发射到解码装置之前,所有这些元素通常经熵编码,以便进一步减少其表示所需要的位的数目。在解码器侧上,通过首先以与编码器中相同的方式建构其预测且通过将经压缩预 测误差添加到所述预测来获得当前帧中的块。通过对经解量化的系数应用逆变换来得出经 压缩预测误差,如下 其中rij为经解量化(也称为经重新建构)的系数。可通过逆量化来计算系数A 经重新建构的帧R(x,y)与原始帧I (x,y)之间的差异可称为重新建构误差。按照惯例,视频编解码器中的变换系数的量化通常是基于统一重新建构量化器 (URQ)。对数据进行量化的分类规则由编码器界定。量化的一个实例是所谓的死区加统 一阈值量化(DZ-UTQ)方法。下文的等式界定此死区量化器,其中&表示死区参数,其中 0 ^ f0 ^ 0. 5 其中Iij对应于与给定QP相关联的水平。概念上,可通过使Iij与对应的QP相乘而导出对应于水平Iij的重新建构值riJ = Iij · QP等式
Qp表示针对MPEG-4 AVC而实际上指定的
等式的数学上简化的版本,因为出于简单性目的而忽略了用于使对应的基础函数标准化的 不同比例因子。在H. 264及MPEG-4 AVC中,可根据以下等式来执行量化Iij = Sgn(Cij) [|CiJ · Q(QP% 6,i,j)+f]/215+QP/6, i,j = 0,· · ·,3其中Q表示量化矩阵,%表示模除法,且f针对帧内帧而言等于215+qiV6/3,且针对 帧间帧而言等于215+qpAV6。可根据以下等式来执行系数的解量化riJ = Iij · R(QP% 6,i,j),i,j = 0,· · ·,3其中R表示解量化矩阵。与Q及R相关联的值为QP% 6 = 0. 1,. . .,5,且可经预 计算及存储。可使用锯齿形扫描或另一扫描次序来对给定块中的系数进行排序(扫描),从而 产生经一维排序的系数向量。扫描(例如,锯齿形扫描)也可称为串行化,因为与所述块所 界定的二维图案相比其产生一维系数系列。针对4X4块的实例锯齿形扫描出现在图3中。 锯齿形扫描大体假定,在应用二维(2D)变换之后,具有最多能量的变换系数(亦即,较高值 系数)对应于低频率变换函数,且朝向所述块的左上部而定位,如图3中所描绘。因此,在 通过锯齿形扫描产生的系数向量中,较高量值系数将最有可能朝向经一 排序的系数向量 的开头出现。在量化之后,低能量系数中的大多数可能等于O。
CABAC是H. 264/AVC中所使用的对变换系数进行编码的一种方法。图2的CABAC 编码单元46可执行此编码。大体而言,使用CABAC对任何数据符号进行编码可涉及以下阶 段二值化、上下文模型选择、算术编码及概率更新。对于二值化而言,CABAC单元46在算 术编码之前将任何为非二进制值的符号转换为二进制代码。在上下文模型选择中,CABAC单 元46例如依据与最近编码的数据符号相关联的统计数据从可用模型的选集中选择上下文 模型。“上下文模型”是经二值化的符号的一个或一个以上频率组的概率模型。此模型可依 据最近编码的数据符号的统计数据而选自可用模型的选集。上下文模型将每一频率组的概 率存储为“1”或“0”。对于算术编码而言,CABAC单元46根据选定概率模型(也称为上下文模型)对每 一频率组进行编码。基于实际经编码值(例如,如果频率组值为“1”,则“1”的频率计数增 加)而更新选定概率模型(概率更新)。CABAC中的概率估计可基于使用有限状态机(FSM) 的表驱动估计器。在此情况下,CABAC中的每一概率模型可从128个不同状态中取出具有 相关联的概率值P的一个状态。可通过是两个二进制决策“0”或“1”中概率最小的“最小 概率符号”的六十四个单独概率状态之间的转变过程来执行概率更新。可针对经二值化的 符号的每一位(或“频率组”)而重复上下文模型选择、算术编码及概率更新。CABAC单元46使用CABAC对变换系数进行编码包括所谓的显著性映射的编码 及非零系数的编码。如果块具有非零系数,则对为二进制值的显著性映射进行编码。对 于扫描次序中的每一系数,发射一位符号significant_coeff_flag。如果significant COeff_flag符号为一,S卩,如果相应扫描位置处存在非零系数,则发送另一一位符号last_ significant_coeff_flag。此 last_significant_coeff_flag 符号指示当前非零系数是否 为块内部的最后非零系数(last_significant_c0eff_flag = 1),或是否后面有其它非零 ^ML (last_signif icant_coeff_f lag = 0)。对于对显著性映射进行编码而言,可将多达十五个不同概率模型用于 significant_coeff_flag及 last_significant_coeff_flag两者。模型的选择及因此对应 上下文索引可视扫描位置而定。对于对非零水平c0efT_abS_level_minuS 1= |、卜1编 码而言,可使用十个上下文,其中所述上下文中的五个用于对二进制表示的第一位进行编 码,且其它五个专用于对第二到第14位进行编码。所述上下文可由CABAC单元46选择,如 下1.将参数NumLgl及NumEql分别设定为等于块中至此为止经编码的大于一及 等于一的系数的数目。以逆向扫描次序对非零水平进行编码,且因此更新参数NumLgl及 NumEql,亦即,首先对对应于高频率变换函数的系数进行编码。2.可通过以下等式来确定经二值化符号的第一位的上下文 3.可通过以下等式来选择经二值化符号的第2到第14位的上下文Ctx2 = min (4,NumLgl)。CABAC单元46还可支持具有固定分布的旁路模式。coeff_abs_level_minus 1的 二进制表示中的其它位可经过旁路模式。最终,可使用每一非零系数的一个位来发送非零系数的正负号,例如,其中1指示正且0指示负(或与此相反)。针对每一NXN视频块,在给定其变换系数 的情况下,需要得出对应的经量化系 数Iij (其确定经重新建构的系数Aj),使得预测误差E (X,y)与所述预测误差的经重新建构
的版本云(X,力之间的均方误差(MSE)失真D在对系数进行编码的速率R的约束的条件下最
小化。换句话说,目标是使以下表达最小化
条件为 R < Rbudget可使用其它加法失真量度来替代MSE,例如,经活动性加权的MSE。使上述等式最 小化的受速率约束的问题可通过经由使用拉格朗日乘数(Lagrange multiplier) λ “合并” 速率与失真而转换为等效的不受约束的问题来解决。在此情况下,不受约束的问题变为确 定(针对固定λ)系数水平,其产生如下界定的最小总拉格朗日成本 在H. 264的情况下,给定块的平方重新建构误差 与以下平方量化误差成比例 速率R是对经量化系数Iu进行编码所需的位的数目。下文所论述的所提出算法得出经量化系数值Iij,针对所述经量化系数值Iij,总拉 格朗日成本函数J(X)的值接近于其最小值。因为MPEG-4 AVC中所使用的变换是正交的,所以可将拉格朗日成本J( λ )计算 为 在此情况下,JU ,Ciplij)在经量化为水平Iij时为系数Cij的拉格朗日成本。换 句话说 量化误差err (Cij,Iij)与 O^-Cij)2 成比例 又,QP表示量化参数,且%表示模除法。N(QP% 6,i,j)表示标准化矩阵。编码质 量通常随QP变小而提高。亦即,QP的较小值通常对应于较少的量化,且因此对应于较高质 量编码。或者,倘若QP以此方式界定,编码质量可随QP变小而降低。在量化及解量化矩阵Q及R的情况下,标准化矩阵N(QP% 6,i,j)的值可仅视在 由i及j以及值QP% 6 = 0,1, ...,5指定的块中的位置而定。可通过使用CABAC的一部 分(例如,如针对ITU H. 264而界定)对Iij进行编码来计算对值Iij进行编码所需的位 ("bits (Iij)")的数目。然而,并非执行所有CABAC步骤,RD量化单元40出于量化的目的可仅执行CABAC的前两个步骤。所述前两个步骤包括二值化及上下文模型选择。接着,替 代于调用算术编码器来执行二进制算术编码,RD量化单元40可估计对每一频率组进行编 码所需的位的数目。假定为给定频率组选择的上下文对应于有限状态机中的状态m,则可将 对给定频率组进行编码所需的位的所估计数目表示为指派给状态m的概率ρ的熵。RD量化 单元40每宏块一次地确定每一频率组的上下文可能是足够的。对于每一系数而言,可测试水平|1」的至多3个可能值=OJf0Kf^与单遍 实例一样,在此两遍方法中,可如下计算4X4块值 可假定使用锯齿形扫描来对给定块中的系数进行排序(扫描),此产生经一维排 序的系数向量。所述经排序的系数可表示为Ci,其中i = 0,. . .,M,且(例如)M对于4X4 块而言等于15,且对于8X8块而言等于63。根据本发明,RD量化单元40可产生经量化系数/水平Ii,如下1.计算拉格朗日成本Jk( λ ),且产生经量化系数的向量lk,假定系数Ck(k = M, M-1,...,0)为块中的最后非零系数,亦即,用于扫描位置k的last_significant_coeff_ flag等于1。a.对于每一系数Ci(i = k-1, ...,0),当经量化值Ii等于预选定的值组(如0、 Ifloor R lceil)时,计算所述系数的拉格朗日成本J( λ,Ci, Ii)。2.挑选Ii的使J(X,Ci, Ii)最小化的值,且使用对应于Ii的选定值的J(X,Ci, Ii)来更新拉格朗日成本JkU)。RD量化单元40所执行的量化技术的速度可如下增加。1.系数Ci相较于距Iceil而言更接近于lfl。。r(如通过(例如)lfl。at与lfl。。r或Iceil 之间的绝对距离而测量),则在上文的步骤1. a中可仅考虑值lfl·。2.系数Ck相较于距l。eil而言更接近于lfl。。,,且lfl。 等于零,则系数Ck不可能为 最后非零系数。因此,在此情况下,可针对k的此值而跳过拉格朗日成本Jk(X)的计算。3.当Jk(X)开始随k的减小而增加时,可终止JkU)的计算。总而言之,RD量化单元40可针对支持CABAC的视频编码过程而量化视频块的系 数。RD量化单元40可针对所述视频块产生多个经量化系数组,其中基于所述视频块的系数 中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中 的每一者;估计与经由CABAC对视频块进行编码相关联的多个成本,其中所估计的成本分 别是基于所述经量化系数组中的不同组;选择所述经量化系数组中与最低成本相关联的给 定一个组;且将所述经量化系数组中的所述给定一个组输出到CABAC编码单元46。CABAC 编码单元46可接着对所述经量化系数组中的所述给定一个组执行CABAC过程,以将所述经 量化系数组中的所述给定一个组熵编码为位流,并输出所述位流。量化单元40可通过计算与速率_失真模型相关联的拉格朗日成本函数来估计成 本。与所述经量化系数组中的所述选定一个组相关联的特定成本界定与多个成本相关联的 位的最低数目。量化单元40可存储指示位的最低数目的值,其与特定成本相关联。
拉格朗日成本函数可界定与所述经量化系数组中的经量化系数中的每一者相关 联的个别系数拉格朗日成本组。对于经量化系数的等于零、最低值及最高值的值,量化单元 40计算与所述经量化系数组中的所述经量化系数相关联的个别系数拉格朗日成本组。上文 描述了这些值的实例。大体而言,所述最低值是基于视频块的系数中的个别一个系数的绝 对值、量化参数及量化矩阵,且最高值包含最低值加一。为了加速此量化过程,量化单元40可实施类似上文所提及的技术的加速技术。举 例来说,对于所述经量化系数中的个别一个系数,如果所述经量化系数中的所述个别一个 系数相较于距最高值而言更接近于最低值,则针对等于最高值的值,量化单元40可跳过与 所述经量化系数中的所述个别一个系数相关联的个别系数拉格朗日成本的计算。又,如果视频块的系数中的针对所述经量化系数组中的一者而对应于视频块的最 后非零系数的特定一个系数界定相较于距最高值而言更接近于最低值的值,且如果最低值 等于零,则RD量化单元40可跳过估计与对用于所述经量化系数组中的所述一者的视频块 进行编码相关联的特定成本。另外,当用于界定与所述组中的特定一个组相关联的特定拉 格朗日成本的求和开始随视频块的系数的值减小而增加时,RD量化单元40可终止估计与 所述组中的所述特定一个组相关联的多个成本。可使用这些或其它技术来加速量化过程, 而不会使经编码视频中的质量降级。图4是说明视频解码器60的实例的框图,视频解码器60对以本文所述的方式编 码的视频序列进行解码。视频解码器60包括CABAC解码单元52,其执行由图3的CABAC单 元46执行的编码的互逆解码功能。视频解码器60可对视频帧内的块执行帧内解码及帧间解码。在图4的实例中,视 频解码器60包括CABAC解码单元52 (上文所提及)、运动补偿单元54、逆量化单元56、逆变 换单元58及参考帧存储装置62。视频解码器60还包括求和器64。任选地,视频解码器60 还可包括解块滤波器(未图示),其对求和器64的输出进行滤波。图4说明用于对视频块 进行帧间解码的视频解码器60的时间预测组件。尽管图4中未展示,但视频解码器60还 可包括用于对一些视频块进行帧内解码的空间预测组件。在由CABAC解码单元52执行的CABAC解码之后,运动补偿单元54接收运动向量 及来自参考帧存储装置62的一个或一个以上经重新建构的参考帧。逆量化单元56对经量 化的块系数进行逆量化,亦即,解量化。逆量化过程可为如H. 264解码所界定的常规过程。 逆变换单元58对变换系数应用逆变换,例如,逆DCT或概念上类似的逆变换过程,以便在像 素域中产生剩余块。运动补偿单元54产生经运动补偿的块,求和器64对所述块与剩余块 进行求和以形成经解码的块。如果需要,还可应用解块滤波器来对经解码的块进行滤波以 便移除块效应假象。接着,将经滤波的块放置在参考帧存储装置62中,存储装置62从运动 补偿提供参考块且还对驱动显示装置(例如,图1的装置28)产生经解码的视频。图5是说明由视频编码器50执行的一遍技术的流程图。如图所示,速率_失真 (RD)量化单元40基于非零系数假定而产生经量化系数组(101)。确切地说,RD量化单元 40假定给定系数为最后非零系数,且基于此假定而计算用于所述视频块的系数组。RD量化 单元40接下来假定另一系数为最后非零系数,且基于此假定而产生用于所述视频块的另 一系数组,依此类推。对于经量化系数组中的每一者,量化单元基于拉格朗日成本函数而估计成本(102)。确切地说,对于每一组,RD量化单元40在多个可能值(例如,零、最低值及最高值) 下确定用于每一系数的个别拉格朗日成本函数。所述最低值可基于视频块的系数中的个别 一个系数的绝对值、量化参数及量化矩阵(或其参数),且最高值可包含最低值加一。RD量化单元40选择具有最低总拉格朗日成本的经量化系数组(103)。确切地说, RD量化单元40对一组的每一系数的最低个别拉格朗日成本进行求和,且针对每一可能组 重复此过程。又,拉格朗日成本平衡速率与失真的成本。RD量化单元40选择具有总最低拉 格朗日的组(103),且RD量化单元40将选定经量化系数组输出到CABAC编码单元46 (104)。 CABAC编码单元46基于选定经量化系数组及任何其它语法参数而执行CABAC以产生经编码 的位流(105),且输出所述经编码的位流(106)。图6是更详细地说明估计成本的示范性过程的另一流程图。确切地说,量化单元 40针对零值、最低值及最高值而计算每一系数的个别拉格朗日成本函数。又,所述最低值可 基于视频块的系数中的个别一个系数的绝对值、量化参数及量化矩阵(或从所述矩阵映射 的参数),且最高值可包含最低值加一。如上文所提,RD量化单元40可如何计算4X4块的系数Cij的最低值(lfl。 )及最 高值(Ireil)的一个实例如下 Ifloor = floor (Ifloat),Iceil = lfl。。r+l。又,运算底部(Ifl。at)表示与Ifl。at相关联的最低值,QP表示量化参数,且Q表示例 如针对H. 264/AVC而界定的量化矩阵的量化矩阵。QP% 6、i及j的值可用于界定来自矩阵 Q的参数。函数%表示模除法。RD量化单元40为每一系数选择最低成本个别系数拉格朗日成本函数(111), 且(例如)通过对选定个别系数拉格朗日成本进行求和来确定所述组的总拉格朗日成本 (112)。如果存在另一经量化系数组要考虑(113的“是”分支),则RD量化单元40重复步 骤的此过程(110到112)。确切地说,对于通过假定给定系数为最后非零系数而界定的每一 系数组,量化单元40重复步骤的此过程(110到112)。一旦已针对每一可能的经量化系数 组(由最后非零系数假定界定)而确定总拉格朗日成本,则RD量化单元40选择具有最低 总拉格朗日成本的经量化系数组(114)。图7到图9说明可用于加速量化过程而不实质上牺牲经量化系数中的质量的任选 技术。图7到图9的技术可个别地或共同地使用。图7到图9的技术最适用于一遍量化过 程,但这些技术中的一些(确切地说是图7的技术)也可用于下文更详细陈述的两遍量化。 如图7中所示,如果个别经量化系数相较于距顶部而言更接近于底部(121的“是”分支), 则RD量化单元40可在最高值处跳过与个别经量化系数相关联的个别系数拉格朗日成本的 计算(122)。在此情况下,RD量化单元40可假定与个别经量化系数相关联的个别系数拉格 朗日成本将在零或最低值处最小化。因此,在此情况下,RD量化单元40可在最高值处避免 与同个别经量化系数相关联的拉格朗日成本的计算相关联的不必要计算。然而,如果个别 经量化系数并非相较于距顶部而言更接近于底部(121的“否”分支),则不跳过所述计算 (123)。在图8的技术中,RD量化单元40确定最低值是否等于零(131)且对应于最后非零系数的特定系数是否相较于距顶部而言更接近于底部(132)。如果这两个可能性均为真 (131的“是”分支及132的“是”分支),则RD量化单元40可跳过针对与所述特定最后非零 系数相关联的特定经量化系数组而估计与对视频块进行编码相关联的特定成本(133)。在 此情况下,RD量化单元40可假定所述特定经量化系数组的总拉格朗日成本将不包含最小 值,且即使所述值被完全计算也不会被选择。因此,在此情况下可跳过对特定成本的计算。 然而,如果这些可能性中的任一者为假(131的“否”分支或132的“否”分支),则RD量化 单元40不跳过对特定成本的估计。图8的技术是RD量化单元40避免一些不必要计算的 另一方式。在图9的技术中,RD量化单元40监视界定特定成本的求和,即,监视经量化系数 中的每一者的个别拉格朗日成本的求和,以界定与给定系数组相关联的总拉格朗日成本。 如果用以界定特定成本中的一者的求和开始随视频块的系数的值减小而增加(141的“是” 分支),则RD量化单元40终止对所述组的多个成本的估计(142)。在此情况下,RD量化单 元40可假定与给定系数组相关联的总拉格朗日成本将不是总最小值。因此,当识别出步骤 141的可能性(141的“是”分支)时,可避免计算。当求和不随视频块的系数的值减小而增 加(141的“否”分支)时,不终止计算(143)。如上文所提及,本发明也涵盖两遍方法。在两遍方法中,本发明的技术可包括在第 一遍中估计视频块的最后非零系数,且接着基于对所估计的最后非零系数实际上为所述视 频块的最后非零系数的假定而在第二遍中针对所述视频块产生经量化系数组。单独的估计 遍可消除对执行与不具有正确系数作为最后非零系数的经量化系数组相关联的计算的需 要。根据本发明,RD量化单元40可根据如下文更详细概述的此两遍方法而产生经量化系 数。类似于单遍方法,下文所论述的所提出的两遍算法得出经量化系数值Iij,对于所 述经量化系数值、,总拉格朗日成本函数Κλ)的值接近于其最小值。两遍方法的特征可 在于复杂性低于基于穷举搜索而使总拉格朗日成本函数J( λ)最小化的方法。对于每一系数Cij而言,可测试水平IlijI的至多3个可能值0、/f"及/广。与单遍 实例一样,在此两遍方法中,可如下计算4X4块值『及1『" 此外,为了降低复杂性,如果系数Cij相较于距if"而言更接近于/f°f (例如,如由 或/fZ之间的绝对距离测量),则仅考虑值/f°f。如果Cij相较于1而言更接近于水
平0,则其可被指派有水平0,而不进行任何进一步分析。换句话说,可在两遍方法的第二遍 期间应用图7的技术。可假定给定块中的系数是使用锯齿形扫描(例如,如图3中所示)进行排序(扫 描)的,从而产生经一维排序的系数向量。经排序的系数可表示为4,其中i = 0,...,M, 且(例如)M对于4X4块而言等于15,且对于8X8块而言等于63。RD量化单元40可使用以下符号,以便计算对除正负号位之外的Ii的值进行编码所需的位signif icant_coeff_f lag,其指示系数是否为非零,last_significant_coeff_flag,其识别最后非零系数,及coeff_abs_level_minusl,其表示系数的绝对值减 1。在 significant_coefT_flag 及 last_significant_coeff_flag 的情况下,上下 文及因此对符号进行编码所需的位可仅视扫描位置i而定。然而,用于COefT_abS_level_ minusl的频率组的上下文(例如,包括第一频率组-greater_than_l符号)可视以反向次 序扫描的其它非零水平的值而定。换句话说,Ii的上下文视具有索引j的经量化系数的值 (其中j > i)而定。因此,RD量化单元40可在两个单独遍中获得经量化系数/水平li。在第一遍中, RD量化单元40可估计哪一系数应为最后非零系数。此所估计的最后非零系数可表示为ck。 在第二遍中,RD量化单元40可在假定系数Ck实际上为块中的最后非零系数的情况下确定 并产生经量化系数的最终值。在实施中,在第一遍中,RD量化单元40可仅考虑系数C/。,...,C/,,其中I1为Ijtoat > 0.5的情况下i的最大值,且i0为/Ztoai >1的情况下i的最大值,或如果此索引不存在,则、=0。此外,为了降低复杂性,当将系数Ci (i =、,. . .,I1)量化为Ii = 0时,可将Jsum的 值预计算为量化误差的总和err(Ci,Ii),如下 RD量化单元40可在第一遍中执行一些或所有以下步骤,所述第一遍用于估计视 频块的最后非零系数。1)如果对于系数C/。Jfloat >1.5,则a)更新 Jsum 的值: b)当c,·。为最后非零系数时,计算所述块的拉格朗日成本人(A)的近似值为 在此情况下,bits^tq为指示C/。为最后非零系数所需的位的数目(亦即,用以将 laSt_SignifiCant_COeff_flag编码为等于1的位的数目)的近似值。此外,bitslast =。为 指示K非最后非零系数所需的位的数目(亦即,用以将laSt_SignifiCant_COeff_flag编 码为等于0的位的数目)的近似值。c)将起始索引i0更新为i0 = i0+l。2)对于系数4,其中 i = i。,...,h a)更新 Jsum 的值: _0] Jsum = Jsum-err(Ci,0)。b)当(^经量化为0时,得出拉格朗日成本乂入,(^,0)。c)如果系数Ci相较于1而言更接近于0,则如下计算Jsim的更新值
Jsum = Jsum+jU,Ci,0)d)如果系数Ci相较于0而言更接近于1,则计算拉格朗日成本的两个额外值i) Jlast =。( λ,Ci,1) -Ci经量化为1,且非最后非零系数,ii) Jlast = i ( λ,Ci,1) -Ci经量化为1,且为最后非零系数。更新Jsim的值Jsum = JSUffl+min (J ( λ,Ci,0),Jlast = 0 ( λ,Ci,1))。当Ci为最后非零系数时,拉格朗日成本JiU)的近似值为Ji(X) = J^+Ji—U,。”当计算将经量化系数的值编码为等于1所需的位时,RD量化单元40将greater than_l符号的上下文固定为5个可能值中的一者。假定具有JkU)的最小对应值的系数Ck为块中的最后非零系数。在上文的步骤中,RD量化单元40在不明确考虑每个可能最后非零系数的每个可 能情形的情况下估计视频块的最后非零系数。在此情况下,RD量化单元40通过求与经由 CABAC对视频块进行编码相关联的成本的近似值来估计所述最后非零系数。近似成本中的 不同成本对应于是最后非零系数的不同系数。最终的所估计的最后非零系数界定最低近似 成本。步骤1可被视为特殊情况,而步骤2可关于大多数系数而执行。在上文的步骤中,RD量化单元40通过循序地将视频块的系数中的每一者视为是 最后非零系数而以循序方式界定近似成本中的不同成本。在如此做的过程中,当将视频块 的系数中的每一者视为最后非零系数时,RD量化单元40循序地向上及向下调整所累加的 成本。确切地说,上文的步骤2(a)(其中将Jsum更新为Jsum = Jsmrerr (Ci,0))可使得所累 加的成本减小。在此情况下,步骤2 (a)可使得Jsum变得更小。另一方面,步骤2 (c)及2(d) (其中将 Jsum 的值更新为 Jsum = JSUffl+J ( λ,Ci,0)或更新为 Jsum = JSUffl+min (J ( λ,Ci,0),Jlast = QU,Ci,l)))可使得所累加的成本变得更大。因此,RD量化单元40通过循序地将视频块 的系数中的每一者视为是最后非零系数而以循序方式界定近似成本中的不同成本,且在如 此做的过程中,通过向上及向下调整来累加总成本。以此方式,RD量化单元40在不明确考 虑每个可能最后非零系数的每个可能情形的情况下估计视频块的最后非零系数。一旦RD量化单元40已估计出最后非零系数,则RD量化单元40可执行第二遍,其 基于对所估计的最后非零系数实际上为视频块的最后非零系数的假定而针对所述视频块 产生经量化系数组。确切地说,在第二遍中,RD量化单元40在假定第一遍中所选择的系数 ck实际上为视频块中的最后非零系数的情况下确定每一经量化系数的最终值。在此情况 下,对于每一系数Ci (i = k,. . .,0),RD量化单元40得出拉格朗日成本J ( λ,Ci,Ii)经最小 化的情况下水平Ii的值。如先前所描述,可考虑水平Ii的三个不同值,例如,0、/f°°f及ife//。 为了在对水平Ii的值进行编码时计算上下文,可使用已为水平Ijj = k,. . .,i+1)选择的 值。换句话说,产生经量化系数组可包含计算与用于视频块的经量化系数组中如具有 等于零、最低值及最高值的值的每一可能的非零经量化系数相关联的拉格朗日成本。又,所 述最低值可基于视频块的系数中的个别一个系数的绝对值、量化参数及量化矩阵,且所述 最高值可包含最低值加一。图10是说明可使用上文概述的两遍方法的编码技术的流程图。在此情况下,RD量化单元40估计视频块的最后非零系数(151)。如上文所解释,此估计步骤(151)可包括求 与经由CABAC对视频块进行编码相关联的成本的近似值,且所述近似成本中的不同成本可 对应于是最后非零系数的不同系数。在此情况下,最终的所估计的最后非零系数界定最低 近似成本。此外,在估计步骤(151)期间,RD量化单元40可通过循序地将视频块的系数中的 每一者视为是最后非零系数而以循序方式界定近似成本中的不同成本。在如此做的过程 中,当将视频块的系数中的每一者视为是最后非零系数时,RD量化单元40循序地向上及向 下调整所累加的成本。接下来,RD量化单元40基于对所估计的最后非零系数实际上为最后非零系数的 假定而产生经量化系数组(152)。产生步骤(152)可包括计算与用于视频块的经量化系数 组中的如具有等于零、最低值及最高值的值的每一可能非零经量化系数相关联的拉格朗日 成本。一旦经产生,则RD量化单元40可将经量化系数组输出到CABAC单元46,其对所产生 的经量化系数组执行CABAC,以将所产生的经量化系数组熵编码为位流(153)。接着可输出 经编码的位流,且可能对其进行调制并将其发射到另一装置。本发明的所述技术可在广泛多种装置或设备中实施,包括无线手持机及集成电路 (IC)或一组IC(亦即,芯片组)。已描述经提供以强调功能方面的任何组件、模块或单元, 且其未必需要通过不同硬件单元等来实现。因此,本文所描述的技术可以硬件、软件、固件或其任何组合来实施。描述为模块 或组件的任何特征可一起实施在集成逻辑装置中或单独地实施为离散但可交互操作的逻 辑装置。如果以软件来实施,则所述技术可通过一包含在经执行时执行上述方法中的一者 或一者以上的指令的计算机可读媒体来至少部分地实现。计算机可读数据存储媒体可形成 可包括封装材料的计算机程序产品的一部分。计算机可读媒体可包含例如同步动态随机存 取存储器(SDRAM)的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器 (NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及 其类似者。另外或替代地,可至少部分地通过计算机可读通信媒体来实现所述技术,所述计 算机可读通信媒体以指令或数据结构的形式来载运或传送代码,且可由计算机来存取、读 取及/或执行。代码可由一个或一个以上处理器来执行,所述一个或一个以上处理器例如是一个 或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑 阵列(FPGA),或其它等效集成或离散逻辑电路。因此,本文中所使用的术语“处理器”可指 代上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方 面中,本文中所描述的功能性可在经配置以用于编码及解码的专用软件模块或硬件模块内 提供,或并入组合视频编码器-解码器(CODEC)中。又,所述技术可在一个或一个以上电路 或逻辑元件中完整地实施。已描述了本发明的各种方面。这些及其它方面在随附权利要求书的范围内。
权利要求
一种针对支持基于上下文的自适应二进制算术编码(CABAC)的视频编码过程而量化视频块的系数的方法,所述方法包含针对所述视频块而产生多个经量化系数组,其中基于所述视频块的所述系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一个组;估计与经由所述CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;以及选择所述经量化系数组中与所述成本中的最低一个成本相关联的给定一个组。
2.根据权利要求1所述的方法,其进一步包含输出所述经量化系数组中的所述给定一 个组。
3.根据权利要求2所述的方法,其进一步包含接收所述经量化系数组中的所述给定一个组;对所述经量化系数组中的所述给定一个组执行所述CABAC,以将所述经量化系数组中 的所述给定一个组熵编码为位流;以及输出所述位流。
4.根据权利要求1所述的方法,其中估计所述成本包含计算与速率_失真模型相关联 的拉格朗日成本函数。
5.根据权利要求4所述的方法,其中与所述经量化系数组中的所述选定一个组相关联 的特定成本界定与所述多个成本相关联的位的最低数目。
6.根据权利要求5所述的方法,其进一步包含存储指示位的所述最低数目的值,所述 值与所述特定成本相关联。
7.根据权利要求4所述的方法,其中所述拉格朗日成本函数界定与所述经量化系数组 中的所述经量化系数中的每一者相关联的个别系数拉格朗日成本组。
8.根据权利要求7所述的方法,其进一步包含针对所述经量化系数的等于零、最低值及最高值的值而计算与所述经量化系数组中的 所述经量化系数相关联的所述个别系数拉格朗日成本组。
9.根据权利要求8所述的方法,其中所述最低值是基于所述视频块的所述系数中的个 别一个系数的绝对值、量化参数及量化矩阵,且其中所述最高值包含所述最低值加一。
10.根据权利要求8所述的方法,其进一步包含针对所述经量化系数中的个别一个系数如果所述经量化系数中的所述个别一个系数相较于距所述最高值而言更接近于所述 最低值,则针对等于所述最高值的值,跳过与所述经量化系数中的所述个别一个系数相关 联的个别系数拉格朗日成本的计算。
11.根据权利要求8所述的方法,其进一步包含如果所述视频块的所述系数中的针对所述经量化系数组中的一个组对应于所述视频 块的所述最后非零系数的所述特定一个系数界定相较于距所述最高值而言更接近于所述 最低值的值,且如果所述最低值等于零,则针对所述经量化系数组中的所述一个组,跳过估 计与对所述视频块进行编码相关联的特定成本。
12.根据权利要求8所述的方法,其进一步包含当用以界定与所述组中的特定一个组相关联的特定拉格朗日成本的求和开始随所述 视频块的所述系数的值减小而增加时,终止估计与所述组中的所述特定一个组相关联的所 述多个成本。
13.一种包含指令的计算机可读媒体,所述指令在执行后即使得装置在支持基于上下 文的自适应二进制算术编码(CABAC)的视频编码过程中量化视频块的系数,其中所述指令 使得所述装置针对所述视频块而产生多个经量化系数组,其中基于所述视频块的所述系数中的特定 一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一个 组;估计与经由所述CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的 成本分别是基于所述经量化系数组中的不同组;以及选择所述经量化系数组中与最低成本相关联的给定一个组。
14.根据权利要求13所述的计算机可读媒体,其中所述指令使得所述装置从量化单元输出所述经量化系数组中的所述给定一个组。
15.根据权利要求14所述的计算机可读媒体,其中所述指令使得所述装置从所述量化单元接收所述经量化系数组中的所述给定一个组;对所述经量化系数组中的所述给定一个组执行所述CABAC,以将所述经量化系数组中 的所述给定一个组熵编码为位流;以及从CABAC单元输出所述位流。
16.根据权利要求13所述的计算机可读媒体,其中所述指令使得所述装置计算与速 率_失真模型相关联的拉格朗日成本函数。
17.根据权利要求16所述的计算机可读媒体,其中与所述经量化系数组中的所述选定 一个组相关联的特定成本界定与所述多个成本相关联的位的最低数目。
18.根据权利要求17所述的计算机可读媒体,其中所述指令使得所述装置存储指示位 的所述最低数目的值,所述值与所述特定成本相关联。
19.根据权利要求16所述的计算机可读媒体,其中所述拉格朗日成本函数界定与所述 经量化系数组中的所述经量化系数中的每一者相关联的个别系数拉格朗日成本组。
20.根据权利要求19所述的计算机可读媒体,其中所述指令使得所述装置 针对所述经量化系数的等于零、最低值及最高值的值而计算与所述经量化系数组中的 所述经量化系数相关联的所述个别系数拉格朗日成本组。
21.根据权利要求20所述的计算机可读媒体,其中所述最低值是基于所述视频块的所 述系数中的个别一个系数的绝对值、量化参数及量化矩阵,且其中所述最高值包含所述最 低值加一。
22.根据权利要求20所述的计算机可读媒体,其中针对所述经量化系数中的个别一个 系数如果所述经量化系数中的所述个别一个系数相较于距所述最高值而言更接近于所述 最低值,则所述指令使得所述装置针对等于所述最高值的值,跳过与所述经量化系数中的 所述个别一个系数相关联的个别系数拉格朗日成本的计算。
23.根据权利要求20所述的计算机可读媒体,其中如果所述视频块的所述系数中的针对所述经量化系数组中的一个组对应于所述视频块的所述最后非零系数的所述特定一个 系数界定相较于距所述最高值而言更接近于所述最低值的值,且如果所述最低值等于零, 则所述指令使得所述装置针对所述经量化系数组中的所述一个组,跳过估计与对所述视频 块进行编码相关联的特定成本。
24.根据权利要求20所述的计算机可读媒体,其中所述指令使得所述装置在用以界定 与所述组中的特定一个组相关联的特定拉格朗日成本的求和开始随所述视频块的所述系 数的值减小而增加时,终止估计与所述组中的所述特定一个组相关联的所述多个成本。
25.—种经配置以针对支持基于上下文的自适应二进制算术编码(CABAC)的视频编码 过程而量化视频块的系数的设备,所述设备包含量化单元,其针对所述视频块而产生多个经量化系数组,其中基于所述视频块的所述系数中的特定 一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一个 组;估计与经由所述CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的 成本分别是基于所述经量化系数组中的不同组;以及选择所述经量化系数组中与最低成本相关联的给定一个组。
26.根据权利要求25所述的设备,其中所述量化单元输出所述经量化系数组中的所述给定一个组。
27.根据权利要求26所述的设备,其进一步包含CABAC单元,所述CABAC单元接收所述经量化系数组中的所述给定一个组;对所述经量化系数组中的所述给定一个组执行所述CABAC,以将所述经量化系数组中 的所述给定一个组熵编码为位流;以及输出所述位流。
28.根据权利要求25所述的设备,其中估计所述成本包含计算与速率_失真模型相关 联的拉格朗日成本函数。
29.根据权利要求28所述的设备,其中与所述经量化系数组中的所述选定一个组相关 联的特定成本界定与所述多个成本相关联的位的最低数目。
30.根据权利要求29所述的设备,其中所述量化单元存储指示位的所述最低数目的 值,所述值与所述特定成本相关联。
31.根据权利要求28所述的设备,其中所述拉格朗日成本函数界定与所述经量化系数 组中的所述经量化系数中的每一者相关联的个别系数拉格朗日成本组。
32.根据权利要求31所述的设备,其中所述量化单元针对所述经量化系数的等于零、最低值及最高值的值,计算与所述经量化系数组中的 所述经量化系数相关联的所述个别系数拉格朗日成本组。
33.根据权利要求32所述的设备,其中所述最低值是基于所述视频块的所述系数中的 个别一个系数的绝对值、量化参数及量化矩阵,且其中所述最高值包含所述最低值加一。
34.根据权利要求32所述的设备,其中针对所述经量化系数中的个别一个系数如果所述经量化系数中的所述个别一个系数相较于距所述最高值而言更接近于所述最低值,则所述量化单元针对等于所述最高值的值而跳过与所述经量化系数中的所述个别一个系数相关联的个别系数拉格朗日成本的计算。
35.根据权利要求32所述的设备,其中如果所述视频块的所述系数中的针对所述经量 化系数组中的一个组对应于所述视频块的所述最后非零系数的所述特定一个系数界定相 较于距所述最高值而言更接近于所述最低值的值,且如果所述最低值等于零,则所述量化 单元针对所述经量化系数组中的所述一个组,跳过估计与对所述视频块进行编码相关联的 特定成本。
36.根据权利要求32所述的设备,其中所述量化单元在用以界定与所述组中的特定一个组相关联的特定拉格朗日成本的求和开始随所述 视频块的所述系数的值减小而增加时,终止估计与所述组中的所述特定一个组相关联的所 述多个成本。
37.根据权利要求23所述的设备,其中所述设备包含一个或一个以上电路、集成电路 (IC)芯片或IC芯片组。
38.一种针对支持基于上下文的自适应二进制算术编码(CABAC)的视频编码过程而量 化视频块的系数的装置,所述装置包含用于针对所述视频块产生多个经量化系数组的装置,其中基于对所述视频块的所述系 数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组 中的每一个组;用于估计与经由所述CABAC对所述视频块进行编码相关联的多个成本的装置,其中所 述所估计的成本分别是基于所述经量化系数组中的不同组;以及用于选择所述经量化系数组中与最低成本相关联的给定一个组的装置。
39.根据权利要求38所述的装置,其进一步包含用于输出所述经量化系数组中的所述给定一个组的装置。
40.根据权利要求39所述的装置,其进一步包含用于接收所述经量化系数组中的所述给定一个组的装置;用于对所述经量化系数组中的所述给定一个组执行所述CABAC以将所述经量化系数 组中的所述给定一个组熵编码为位流的装置;以及用于输出所述位流的装置。
41.根据权利要求38所述的装置,其中用于估计所述成本的装置包含用于计算与速 率-失真模型相关联的拉格朗日成本函数的装置。
42.根据权利要求41所述的装置,其中与所述经量化系数组中的所述选定一个组相关 联的特定成本界定与所述多个成本相关联的位的最低数目。
43.根据权利要求42所述的装置,其进一步包含用于存储指示位的所述最低数目的值 的装置,所述值与所述特定成本相关联。
44.根据权利要求41所述的装置,其中所述拉格朗日成本函数界定与所述经量化系数 组中的所述经量化系数中的每一者相关联的个别系数拉格朗日成本组。
45.根据权利要求44所述的装置,其进一步包含用于针对所述经量化系数的等于零、最低值及最高值的值而计算与所述经量化系数组 中的所述经量化系数相关联的所述个别系数拉格朗日成本组的装置。
46.根据权利要求45所述的装置,其中所述最低值是基于所述视频块的所述系数中的个别一个系数的绝对值、量化参数及量化矩阵,且其中所述最高值包含所述最低值加一。
47.根据权利要求45所述的装置,其进一步包含针对所述经量化系数中的个别一个系数如果所述经量化系数中的所述个别一个系数相较于距所述最高值而言更接近于所述 最低值,则用于针对等于所述最高值的值而跳过与所述经量化系数中的所述个别一个系数 相关联的个别系数拉格朗日成本的计算的装置。
48.根据权利要求45所述的装置,其进一步包含如果所述视频块的所述系数中的针对所述经量化系数组中的一个组对应于所述视频 块的所述最后非零系数的所述特定一个系数界定相较于距所述最高值而言更接近于所述 最低值的值,且如果所述最低值等于零,则用于针对所述经量化系数组中的所述一个组跳 过估计与对所述视频块进行编码相关联的特定成本的装置。
49.根据权利要求45所述的装置,其进一步包含用于在用以界定与所述组中的特定一个组相关联的特定拉格朗日成本的求和开始随 所述视频块的所述系数的值减小而增加时终止估计与所述组中的所述特定一个组相关联 的所述多个成本的装置。
50.一种经配置以针对支持基于上下文的自适应二进制算术编码(CABAC)的视频编码 过程而量化视频块的系数的装置,所述装置包含编码单元及发射器,所述编码单元包括量 化单元及CABAC单元,其中所述量化单元针对所述视频块而计算多个经量化系数组,其中基于所述视频块的所述系数中的特定 一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一个 组;估计与经由所述CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的 成本分别是基于所述经量化系数组中的不同组;选择所述经量化系数组中与最低成本相关联的给定一个组;以及输出所述经量化系数组中的所述给定一个组;且其中所述CABAC单元接收所述经量化系数组中的所述给定一个组;对所述经量化系数组中的所述给定一个组执行所述CABAC,以将所述经量化系数组中 的所述给定一个组熵编码为位流;以及输出所述位流;且其中所述发射器发射所述位流。
51.根据权利要求50所述的装置,其中所述装置包含无线通信装置。
52.根据权利要求51所述的装置,其中所述装置包括调制器,所述调制器在所述发射 器发射所述位流之前对所述位流进行调制。
全文摘要
本发明描述针对支持基于上下文的自适应二进制算术编码(CABAC)的视频编码过程而量化视频块的系数的技术。一种方法可包含针对所述视频块而产生多个经量化系数组,其中基于所述视频块的所述系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者;估计与经由所述CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;及选择所述经量化系数组中与最低成本相关联的给定一个组。
文档编号H04N7/26GK101911702SQ200980101857
公开日2010年12月8日 申请日期2009年1月8日 优先权日2008年1月8日
发明者叶琰, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1