用于增强层视频编码的适应性量化的制作方法

文档序号:7734566阅读:139来源:国知局
专利名称:用于增强层视频编码的适应性量化的制作方法
用于增强层视频编码的适应性量化概述工程师使用压缩(也称为译码或编码)来减少数字视频的比特率。压缩通过将视 频转变为较低的比特率形式来减少存储和发送视频的成本。解压缩(也称为解码)从压缩 形式重构原始视频的版本。“编解码器(codec)”是编码器/解码器系统。一般而言,通过量化来实现从压缩得到大量比特率的减少。根据可能的定义,量化 是通常用于有损压缩的逼近不可逆映射函数的术语,其中有一组指定的可能输出值,并且 该组可能的输出值中的每一成员具有导致对该特定输出值的选择的一组相关联的输入值。 已经开发了各种量化技术,包括标量或矢量、均勻或非均勻、有或没有死区以及自适应或非 自适应量化。在许多实现中,编码器执行本质上是按照量化因子对原始数据值的加偏除法的量 化。一个或多个量化参数(QP)指示用于数据值的反量化的量化因子。对于通常被实现为 乘法操作的反量化,编码器和解码器使用QP指示的量化因子来重构数据值的版本。量化通 常将保真度的损失引入到原始数据值,这在解码结果中可以示为压缩错误或失真。大多数可缩放视频编解码器将视频分成基层和增强层。基层以较低的质量水平和 /或较低的分辨率单独提供视频的重构,而可以添加增强层以提供将提高视频质量的额外 信息。当今的许多单层数字视频编码标准允许QP在基层中在空间上改变。该特征使得编 码能够适用于宏块特性,并由此就给定的速率实现更好的知觉质量。虽然上述技术在某些视频编码的实例中提供了可接受的性能,但是它们中没有一 个提供以下所述的技术和工具的优点和益处。概述在概述中,详细描述提出用于使用空间可变量化对增强层视频进行可缩放编码和 解码的技术和工具。量化可以是对于增强层视频的整个图片是可变的,或者可以单独地对 于图片的增强层视频中的每个色通道是可变的。当通用视频编码器对视频图片的增强层编 码时,该技术和工具改进其性能。在一些实施例中,诸如编码器的工具为按照多色通道(例如一亮度(“Y”)通道和 两个色度(“U”和“V”)通道)组织的图片编码增强层视频。工具在帧上选择性地在空间 上改变量化,并且在某些情况下,工具选择性地在空间上改变量化并且也在图片的增强层 视频的多个色通道之间改变量化。工具以比特流的形式输出图片的经编码的增强层视频, 发信号表示QP信息。QP信息指示QP至少部分参数化图片的增强层视频的经改变的量化。对于相应的解码,诸如解码器的工具为按照多色通道组织的图片解码增强层视 频。工具以比特流的形式接收图片的经编码的增强层视频,接收指示QP至少部分地参数化 图片的增强层视频的经改变的量化的QP信息。在反量化期间,工具解决了在帧上空间上改 变的量化以及图片的增强层视频的多个色通道之间的量化。在其他实施例中,诸如视频解码器的工具从比特流接收图片视频的经编码的信 息。经编码的信息包括图片视频的当前单元的QP选择信息。当工具解码当前单元时,工具 使用图片视频在空间上相邻的单元的一个或多个QP预测当前单元的QP。工具接着使用QP选择信息在预测的QP和另一 QP之间选择,并在当前单元的重构中使用所选的QP。在某些 实现中,工具为每个色通道的预测的QP解码不同的信息。对于相应的编码,诸如编码器的工具从比特流发信号表示图片视频的经编码的信 息。经编码的信息包括图片视频的当前单元的QP选择信息。当工具编码当前单元时,在确 定了当前单元的QP之后,工具编码QP选择信息。工具使用图片视频的空间上相邻的单元 的一个或多个QP来预测当前单元的QP。如果所预测的QP是当前单元的实际QP,那么QP 选择信息就如此指示。否则,QP选择信息为当前单元指示另一 QP。上述和其他目的、特征以及优点在参考附图继续阅读以下详细描述后将变得显而 易见。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。 本概述并不旨在标识出所要求保护的主题的关键特征或必要特征;也不旨在用于确定或限 制所要求保护的主题的范围。附图简述

图1是其中可以实现所描述的若干实施例的合适的计算环境的框图。图2是用于编码用空间上和/或跨图片的色通道改变的一个或多个QP量化的增 强层视频图片的示例性编码系统的框图。图3是用于解码用空间上和/或跨图片的色通道改变的一个或多个QP量化的增 强层视频图片的示例性解码系统的框图。图4是用于编码用空间上和/或跨图片的色通道改变的一个或多个QP量化的增 强层视频的通用技术的流程图。图5是示出确定和发信号表示用于编码用空间上和/或跨图片的色通道改变的一 个或多个QP量化的增强层视频的示例性技术的流程图。图6A和6B是示出发信号表示用于图片的增强层视频的宏块的QP的示例性技术 的流程图,其中QP在空间上和/或跨色通道改变。图7是用于解码用空间上和/或跨图片的色通道改变的一个或多个QP量化的增 强层视频的通用技术的流程图。图8是使用空间预测来编码和发送信号表示用于视频单元的QP的通用技术的流 程图。图9是使用空间预测来编码和发送信号表示用于宏块的QP的通用技术的流程图。图10是使用空间预测来解码用于视频单元的QP的通用技术的流程图。图11是示出用于发送信号表示/接收指示第一和第二示例性组合实现中的帧QP 和通道QP的信息的比特流句法的伪代码列表。图12是示出第一和第二示例性组合实现中的示例性QP预测的伪代码列表。图13是示出用于发送信号表示/接收指示用于第一和第二示例性组合实现中的 宏块级差异QP信息的比特数的信息的比特流句法的伪代码列表。图14是示出用于发送信号表示/接收第一示例性组合实现中的QP选择信息的比 特流句法的伪代码列表。图15是示出用于发送信号表示/接收指示在第二示例性组合实现中如何填充QP 值的表格的信息的比特流句法的伪代码列表。图16是示出用于发送信号表示/接收第二示例性组合实现中的QP选择信息的比特流句法的伪代码列表。图17A-F是在第二示例性组合实现中用于QP选择信息的VLC表格。详细描述本文中描述了用于在空间上和逐个色通道的适应性量化的技术和工具。取决于实 现,增强层视频的空间上和跨色通道的适应性量化可以有助于在若干个方面改进可缩放视 频编码性能,尤其是对于高比特深度视频的高保真编码。许多基层视频编码器在空间上适应性量化。当增强层视频表示经重构的基层视频 和原始视频之间的质量差异时,增强层中信号的能量可以大致地与基层中适应性量化的强 度成比例地变化。增强层视频在空间上的适应性量化有助于改进增强层视频的编码性能。增强层视频在空间上的适应性量化可具有其他的优点。在某些可缩放视频编码/ 解码系统中,从基层视频预测增强层视频的某些区域,而例如使用运动补偿从先前重构的 增强层视频预测增强层视频的其他区域。在增强层视频的不同区域中使用不同水平的量化 可以通过允许编码器适应于不同区域的特性来改进性能。在增强层视频的色通道之间的适应性量化也可以改进性能。不同的视频格可以使 用不同色空间中的采样,诸如RGB、YUV和YCbCr。对于YUV和YCbCr,Y表示视频的视觉亮 度(光亮度)通道,而U和V或Cb和Cr表示视频的彩色(色度)通道。一般而言,人眼通 常对于亮度的变化比色彩的变化更加敏感,因此,开发了编码器以通过降低色度通道相对 于亮度通道的分辨率来利用该事实。在YUV色彩空间中,一个色度采样率是4 4 4,这 表示对于每个亮度样本,存在对应的一 U样本和一 V样本。另一色度采样率是4 2 2, 这表示单个U样本和单个V样本对应于两个水平的亮度样本。与诸如4 4 4的较高分 辨率的色度采样率相比,诸如4 2 2或4 2 0的较低分辨率的色度采样率导致更 少的色度样本并且通常需要编码较少的比特。除了由于色度采样在不同的通道中不同的分 辨率之外,视频中的每个色通道可以被量化为基层视频中不同水平的保真度。某些可缩放视频编码器以较低的色度采样率(例如4 2 0)和/或保真度来 编码基层视频,而以较高的色度采样率(例如4 2 2或4 4 4)编码增强层视频。 增强层视频的色通道由此可以具有与亮度通道不同的信号能量。在增强层视频的不同通道 中使用不同水平的量化可通过允许编码器适应于通道的特性来改进性能。在一些实现中,部分或全部增强层视频可以被重新映射到较低的色度分辨率,以 便使用基层视频编码器/解码器进行编码/解码。通道之间的适应性量化也可以对这种情 况有所帮助。例如,如果基层视频是增强层视频的声调映射版本,那么与色度通道相比,为 亮度通道使用不同的QP可以改进性能。本文也描述了用于高效地编码和发信号表示QP值的技术和工具。例如,编码和发 信号表示用于增强层视频的QP值的一种方法包括使用QP预测来充分利用QP值中单元间 的空间冗余。在许多情况下,这有助于降低发信号表示用于图片的单元或图片的色通道的 QP的成本,其中单元是块、宏块、段或某些其他类型的单元。空间QP预测可以结合发信号表 示量化是否在图片上在空间上或跨图片中的色通道变化的简单机制来使用。本文中描述的某些技术和工具解决了背景中提到的一个或多个问题。通常,给定 的技术/工具不能解决所有这样的问题。相反,就编码时间、编码资源、解码时间、解码资源 和/或质量的限制和折衷而言,给定的技术/工具改进了用于特定实现或情况的编码和/或性能。I.计算环境图1示出了其中可实现所描述的若干实施例的合适计算环境(100)的一个通用示 例。计算环境(100)并非旨在对使用范围或功能提出任何限制,因为这些技术和工具可以 在完全不同的通用或专用计算环境中实现。参考图1,计算环境(100)包括至少一个处理单元(110)和存储器(120)。在图1 中,这一最基本配置(130)包括在虚线内。处理单元(110)执行计算机可执行指令,且可以 是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理 能力。存储器(120)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器 (例如,R0M、EEPR0M、闪存等)或两者的某一组合。存储器(120)储存用所描述的用于使用 在空间上和/或跨图片的色通道改变的QP的增强层视频编码和/或解码的一个或多个技 术或工具实现编码器的软件(180)。计算环境可具有额外的特征。例如,计算环境(100)包括存储(140)、一个或多个 输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、 控制器或网络等互连机制(未示出)将计算环境(100)的组件互连。通常,操作系统软件 (未示出)为在计算环境(100)中执行的其它软件提供了操作环境,并协调计算环境(100) 的组件的活动。存储(140)可以是可移动或不可移动的,且包括磁盘、磁带或磁带盒、⑶-ROM、DVD 或可用于储存信息并可在计算环境(100)内访问的任何其它介质。存储(140)储存用于实 现视频编码器的软件(180)的指令。输入设备(150)可以是诸如键盘、鼠标、笔或跟踪球等触摸输入设备、语音输入设 备、扫描设备或可向计算环境(100)提供输入的另一设备。对于音频或视频编码,输入设备 (150)可以是声卡、显卡、TV调谐卡、或接受模拟或数字形式的音频或视频输入的类似的设 备、或将音频或视频样值读入计算环境(100)的CD-ROM或CD-RW。输出设备(160)可以是 显示器、打印机、扬声器、CD刻录机、或从计算环境(100)提供输出的另一设备。通信连接(170)允许通过通信介质到另一计算实体的通信。通信介质传达诸如已 调制数据信号形式的计算机可执行指令、音频或视频输入或输出、或其它数据等信息。已调 制数据信号是其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例 而非局限,通信介质包括以电、光、RF、红外、声学或其它载波实现的有线或无线技术。各种技术和工具可以在计算机可读介质的一般上下文中描述。计算机可读介质可 以是可在计算环境内访问的任何可用介质。作为示例而非局限,对于计算环境(100),计算 机可读介质包括存储器(120)、存储(140)、通信介质以及上述任一个的组合。该技术和工具可在诸如程序模块中所包括的在目标真实或虚拟处理器上的计算 环境中执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定 任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。程序模块的功 能可以如各实施例中所需的组合或在程序模块之间分离。用于程序模块的计算机可执行指 令可以在本地或分布式计算环境中执行。为了呈现,详细描述使用了如“生产”和“编码”等术语来描述计算环境中的计算机 操作。这些术语是由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。II.示例件编码工具图2是用于将输入视频编码为基层和增强层的编码工具O00)的框图,结合所述 编码工具可实现某些所述实施例。对于基层,基层比特流048)的格式可以是Windows媒 体视频或VC-I格式、MPEG-x格式(例如,MPEG-I、MPEG-2或MPEG-4)、H. 26x格式(例如, H. 261、H. 262、H. 263 或 H. 264)或其它格式。工具000)处理视频图片。术语“图片”一般指的是源、经编码的或经重构的图像 数据。对于逐行视频,图片是逐行视频帧。对于隔行视频,图片可以指的是隔行视频帧、帧 的上半帧、或帧的下半帧,取决于上下文。通用术语“图片”会用于表示这些各个选项。编码工具包括接受输入视频图片(20 和输出基层视频到基层编码器(220)的第 一缩放器004)。第一缩放器(204)可以下采样或用其他方式缩放输入视频图片(202)以 例如降低采样深度、空间分辨率或色度采样分辨率。或者,在某些实例中,第一缩放器上采 样输入视频图片(20 或者根本不改变输入视频图片002)。基层编码器(220)编码基层视频并输出基层比特流(M8),并且另外使得输入到 反缩放器052)的经重构基层视频可用。如果由于缩放经重构基层视频与输入视频图片 (202)具有不同的比特深度、空间分辨率、色度采样率等,那么反缩放器052)可以上采样 (或用其他方式反缩放)经重构的基层视频,使得它与输入视频图片(20 具有相同的分辨率。将输入视频图片(20 与经重构基层视频比较以产生输入到第二缩放器(254)的 增强层视频。第二缩放器(254)可以是或可以不是与第一缩放器(204)相同的物理组件或 软件程序。第二缩放器(254)输出增强层视频(256)到增强层编码器040)。增强层编码器(MO)压缩增强层视频的帧间编码预测的“图片”(256)和增强层视 频的帧内编码的“图片” 056)。增强层视频中给定时间处的“图片”表示输入视频图片和 经重构的基层视频图片之间的差异,但是仍被示例性编码器(MO)编码为图片。为了呈现 起见,图3示出了用于通过增强层编码器Q40)的帧内编码内容的路径以及用于帧间编码 的预测内容的路径。增强层编码器O40)的许多组件被用于压缩帧内编码内容和帧间编码 预测内容两者。由这些组件执行的实际操作可以根据所压缩的信息的类型而不同。虽然图 2示出了单个增强层编码器040),但是增强层视频(256)本身可以分成多个层的残差视频 以便用分开的残差编码器编码。一般而言,所编码的增强层视频(256)表示经重构的基层 视频和输入视频之间的差异(但不必是所有差异)。一般而言,在编码器Q40)内,帧间编码的预测内容(为图片)是按照从先前经重 构的内容(为一个或多个其他图片,它们通常被称为基准图片或锚)的预测来表示的。例 如,在给定时间的内容被编码为逐行P帧或B帧、隔行P半帧或B半帧或隔行P帧或B帧。 在编码器O40)内,预测残差是预测信息和相应的原始增强层视频之间的差异。如果增强层视频056)的内容被编码为预测图片,那么运动估计器(258)关于表 示先前重构的增强层视频内容的一个或多个基准图片估计增强层视频图片的宏块或其他 样本集的运动。图片存储(264)将经重构的增强层视频066)缓冲为基准图片。当使用多 个基准图片时,多个基准图片可以来自不同的时间方向或来自相同的时间方向。运动估计 器(258)输出诸如运动矢量信息的运动信息060)。
在运动补偿器( 形成经运动补偿的当前图片(沈8)时,它将运动矢量应用到 经重构的增强层视频内容066)(被存储为基准图片)。在经运动补偿的增强层视频068) 的块和原始增强层视频(268)的相应的块之间的差异(如果有任何的差异话)是该块的预 测残差070)。在稍后的增强层视频的重构期间,将经重构的预测残差加到经运动补偿的增 强层视频(268)中,以获得更接近原始的增强层视频056)的经重构内容。然而,在有损压 缩中,某些信息仍从原始增强层视频056)中丢失。或者,运动估计器和运动补偿器应用另 一类型的运动估计/补偿。频率变换器(观0)将空间域视频信息转换成频域(即,频谱、变换)数据。对于基 于块的视频图片,频率变换器O80)向样本数据或预测残差数据的块应用DCT、DCT的变体 或其它前向块变换,从而产生频率变换系数块。或者,频率变换器(观0)应用诸如傅立叶 变换等另一常规频率变换或使用小波或子带分析。频率变换器(观0)可应用8X8、8X4、 4X8、4X4或其它大小的频率变换。量化器( 然后量化变换系数块。量化器082)向频谱数据数据应用非均勻的 标量量化,其步长在逐图片的基础、逐宏块的基础或其它基础上在空间上变化。此外,在某 些情况下,量化器跨增强层视频图片的色通道改变量化。量化器( 也可以为至少某些 空间数据系数应用另一类型的量化,例如均勻或适应性量化,或者在不使用频率变换的编 码器系统中直接量化空间域数据。当需要重构的增强层视频图片用于后续的运动估计/补偿时,反量化器(四0)在 量化的频谱数据系数上执行反量化。反频率变换器(四2)执行逆频率变换,从而产生重构 的预测残差块(对于预测的增强层视频内容)或样本(对于帧内编码的残差视频内容)。 如果增强层视频(256)是运动补偿预测的,则重构的预测残差被加到经运动补偿的预测器 068),以形成重构的增强层视频。图片存储(沈4)缓冲重构的增强层视频,以在后续的运 动补偿预测中使用。熵编码器(观4)压缩量化器082)的输出以及某些辅助信息(例如,量化参数 值)。典型的熵编码技术包括算术编码、差分编码、哈夫曼编码、行程长度编码、LZ编码、字 典式编码以及上述的组合。熵编码器(观4)通常对不同种类的信息使用不同的编码技术, 并可从特定编码技术内的多个代码表中进行选择。控制器(未示出)接收来自诸如运动估计器058)、频率变换器Q80)、量化器 082)、反量化器(四0)和熵编码器084)等各个模块的输入。控制器评估编码期间的中 间结果,例如设置量化步长和执行速率-失真分析。控制器与诸如运动估计器058)、频率 变换器080)、量化器( 和熵编码器(观4) 一起工作以设置并改变编码期间的编码参 数。当编码器评估编码期间的不同编码参数选择时,编码器可迭代地执行某些级(例如,量 化和反量化)以评估不同的参数设置。编码器可以在前进到下一级之前设置一个级处的参 数。或者,编码器可以对不同的编码参数进行联合评估。要评估的编码参数决策树以及相 应编码的定时取决于实现。在某些实施例中,控制器也可以从编码会话向导接口、从另一编 码器应用程序接口或从另一源接收输入,以指示视频具有要实用特定的规则编码的特定内 容。以上描述明确地解决增强层视频的运动补偿。编码器(MO)另外地执行增强层视 频的帧内压缩。在该实例中,缩放器(254)将增强层视频(256)提供给编码器040),而编码器将它帧内压缩为经帧内编码图片,而没有运动补偿。相反,将增强层视频(256)直接提 供给频率变换器080)、量化器082)、和熵编码器084),并且输出为经编码的视频。可以 缓冲帧内编码的增强层视频的经重构版本,以用于其他增强层视频的后续运动补偿。编码器Q40)内的模块之间所示的关系指示了编码器中的一般信息流;为简明起 见,未示出其它关系。具体地,图2 —般不示出指示用于视频序列、图片、宏块、块等的模式、 表等辅助信息。这样的辅助信息一旦被最终化,通常在该辅助信息的熵编码之后在输出比 特流中发送。视频编码器的具体实施例通常使用增强层编码器Q40)的变体或补充版本。取决 于所需的实现和压缩类型,编码器的模块可被添加、省略、分成多个模块、与其它模块组合、 和/或用相似的模块来替代。例如,控制器可被拆分成与编码器的不同模块相关联的多个 控制器模块。在替换实施例中,具有不同模块和/或其它模块配置的编码器执行一个或多 个所描述的技术。III.示例件解码工具图3是解码系统(300)的框图,所述解码系统(300)包括示例性增强层解码器 (340),结合该系统可实现所述的某些实施例。系统(300)包括接收基层比特流(302)和输 出经重构的基层视频到第一反缩放器(352)的基层解码器(320)。基层比特流(30 可以 是 Windows 媒体视频或 VC-I 格式、MPEG-χ 格式(例如,MPEG-I、MPEG-2 或 MPEG-4)、H. 26x 格式(例如,H. 261, H. 262, H. 263或H. 264)或其它格式的比特流。在某些实施例中,使用 运动补偿编码基层比特流(302),并由此基层解码器(320)包括运动补偿循环。第一反缩放 器(352)可用于上采样或用其它方式反缩放经重构的基层视频到所需的比特深度、空间分 辨率、色度采样率和/或所输出的经重构视频图片(398)的其他分辨率。系统还包括用于接收增强层比特流(304)的增强层解码器(340)。增强层比特流 (340)可以与基层比特流(30 是相同格式的,或者它可以是不同格式的。熵解码器(384) 可用于解码用包括算术编码、差分编码、哈夫曼编码、行程长度编码、LZ编码、字典式编码以 及上述的组合的熵编码方法编码的比特流的元素。熵解码器(384)通常对不同种类的信息 使用不同的解码技术,并可从特定解码技术内的多个代码表中进行选择。熵解码器(384) 将诸如运动矢量信息(360)的辅助信息输出到运动补偿器(362)。反量化器(390)将反量化到熵解码器(384)的某些输出上。在某些实施例中,反 量化器(390)可用于反转非均勻的标量量化,其步长在逐图片的基础、逐宏块的基础、逐色 通道的基础或其它基础上变化。更一般地,反量化器(390)可用于在反转编码期间所应用 的量化。反频率变换器(392)接受反量化器(390)的输出。反频率变换器(392)可用通过 对反量化器(390)的输出应用反DCT、反DCT的变体或其它反块变换,从而产生空间域值的 块。反频率变换器(392)可用于反转8X8、8X4、4X8、4X4或其它大小的频率变换。反频 率变换器(39 为预测残差(在帧间编码的增强层视频内容的情况下)或样本(在帧内增 强层视频内容的情况下)输出经重构的数据(370)。从熵解码器(384)输出的运动矢量信息(360)被输入到运动补偿器(36 。运动 补偿器(36 将运动矢量信息应用到缓冲在图片存储(364)中的先前重构的增强层视频上 并且输出运动补偿预测的增强层视频(368)。
在帧间编码的增强层视频的解码中,将运动补偿预测的增强层视频(368)与预测 残差(370)组合以形成经重构的增强层视频(366)。经重构的增强层视频(366)由图片存 储(364)缓冲(以用于后续的运动补偿)并且从增强层解码器(340)输出到第二反缩放器 (354)。增强层解码器(340)可用于解码8比特视频、10比特视频或具有某个其他比特深 度的视频。如果增强层解码器(340)解码8比特视频并且要重构具有较高比特深度(例如 10比特)的输出视频,那么第二反缩放器(354)上采样经重构的增强层视频(366)到较高 的比特深度。或者,如果增强层解码器(340)解码16比特视频并且要构建具有较低比特深 度(例如8比特)的输出视频,那么第二反缩放器(354)下采样经重构的增强层视频(366) 到较低的比特深度。解码工具将来自第二反缩放器(3M)的反缩放的、已重构的增强层视 频输出与第一反缩放器(352)的反缩放的、已重构基层视频输出组合,以产生输出视频的 经重构的视频图片(398)。以上描述明确地针对帧间编码的增强层视频的解码。使用帧内解码的解码器 (340)也解码经帧内编码的增强层视频。在该实例中,熵解码器(384)、反量化器(390)和 反频率变换器(39 如先前所述地起作用,以生成增强层视频的样本,而绕过运动补偿。经 重构的增强层视频(366)被缓充在图片存储(364)中,以用于将来的运动补偿。解码器(340)内的模块之间所示的关系指示了解码器中的一般信息流;为简明起 见,未示出其它关系。具体地,图3 —般不示出指示用于视频序列、图片、宏块、块等的模式、 表等辅助信息。视频解码器的具体实施例通常使用通用解码器(340)的变体或补充版本。取决于 所需的实现和压缩类型,解码器的模块可被添加、省略、分成多个模块、与其它模块组合、和 /或用相似的模块来替代。在替换实施例中,具有不同模块和/或其它模块配置的解码器执 行一个或多个所描述的技术。虽然图3示出了单个增强层解码器(340),但是增强层视频本身可以被分成多个 残差视频层以便用分开的残差编码器编码并且发信号表示为多个增强层比特流。给定解码 系统包括用于解码多个增强层比特流中的一个或多个的一个或多个独立的残差解码器。一 般而言,所解码的增强层视频表示经重构的基层视频和原始输入视频之间的差异(但不必 是所有差异)。IV.在空间上和跨通道改变量化依照第一组技术和工具,编码器在空间上和/或跨图片的色通道改变增强层视频 的量化。例如,编码器为增强层视频的多个单元(诸如宏块)逐单元地改变量化,可能在单 元的不同的色通道中使用不同的量化。编码器发信号表示参数化可变量化的量化参数。相 应的解码器在空间上和/或跨图片的色通道改变增强层视频的反量化。A.通用编码技术图4示出了用于使用在空间上在图片上改变和/或跨图片的色通道改变的量化来 编码增强层视频的通用技术(400)流程图。诸如参考图2所述的编码工具(200)执行技术 G00),或者可以使用某些其他的工具。编码工具确定(40 是否在空间上对增强层视频图片改变量化。这可以由用户输 入或通过对图片或图片部分的分析来指示。例如,如果用户期望压缩中的高度的速率失真效率,那么用户可以指示工具使用空间上不同的QP。或者,如果正在编码的图片具有阀值以 上的高度复杂性或空间变化性,则在编码图片时,软件中预设的阀值指示工具使用空间上 变化的QP。工具也确定(410)是否要改变增强层视频图片的多个色通道之间的量化。图片可 以是各种色彩格式(例如具有4 4 4、4 2 2或4 2 0的色度采样率的YUV或 YCbCr色彩空间)的图片。如果它是YUV或YCbCr图片,那么图片具有一个亮度通道和两个 色通道。图片的独立的通道(也称为色平面或组分)可以具有不同的空间分辨率。依照用 户指示、编码器向导设置或通过分析图片、图片一部分和/或一个或多个色通道,工具可以 跨不同的图片色通道改变QP。接着,工具使用确定的一个或多个QP编码(420)增强层视频图片。工具确定图片 的一个或多个QP。如果图片的QP在图片上在空间上无变化,那么仅对图片使用单个QP。 如果图片的QP确实在空间上变化,那么为图片中的每个单元(例如宏块、块)确定不同的 QP。此外,如果QP跨图片的色通道变化,那么工具为多个通道确定多个QP,并且可能为图片 中的每个单元确定不同的QP。例如,为图片中的单元的亮度通道和每个色通道确定不同的 QP。一般而言,编码工具将QP应用到图片中的每个单元上并且生成增强层比特流。工具输出(430)经编码的增强层比特流,包括指示所使用的一个QP或多个QP的 信息。通常,指示一个QP或多个QP的信息和图片或单元的其他经参数化的信息一起散布 在比特流中。例如,工具发信号表示增强层比特流中用于图片中每个单元的一个或多个QP。 发信号可以在比特流中按图片级或单元级完成。在某些实现中,工具在图片级发信号表示 单个比特以指示QP是否在空间上变化,并且如果QP在空间上变化,那么工具发信号表示另 一比特以指示QP是否跨图片的色通道变化。如果QP在图片上在空间上变化或跨图片的色 通道变化,那么工具在比特流的单元级发信号表示图片中的每个单元的QP的值。在这种情 况下,工具可以另外地在图片级上发信号表示使用多少比特来在比特流的单元级上发信号 表示每个单元的QP信息。或者,工具发信号表示包括不同可能的QP值的表格,并接着发信 号表示比特流的单元级上的图片中的每个单元从表中得到的选择值。工具为增强层视频图片执行技术000)并且在逐图片的基础上重复技术(400)。 或者,工具为一组图片、片段或其他视频部分执行技术,并且在该基础上重复技术。B.示例性编码技术图5示出了使用在空间上或跨个别帧的色通道变化的QP编码增强层视频的示例 性技术(500)的流程图。使用诸如参考图2描述的编码工具(200)来执行技术(500),或者 可以使用某些其他工具。工具在逐帧的基础上重复技术(500)。工具首先确定(505) QP对于帧是否在空间上变化。工具依照诸如所需的速率失真 效率、压缩速度、帧的复杂程度或其他标准的多个标准中的一个或多个分析帧以确定变化 的帧是否是可接受的或合乎需要的。例如,用户通过诸如编码向导的用户界面指示需要高 度的速率失真效率。工具接着确定空间上可变的QP是实现所需程度的速率失真效率所必 需的。或者,工具确定帧的复杂度在预定或用户定义的阀值之上,并由此确定需要空间上可 变的QPo如果工具确定空间上可变的QP是不需要的,那么工具依照诸如经压缩文件的速 率限制、感知质量和/或输入视频的复杂度的标准来确定(510)帧QP。工具发信号表示(515)增强层比特流中的帧QP。如果工具确定QP确实在空间上变化,那么工具确定(520) QP是否跨帧的色通道变 化。工具独立地分析每个色通道或者与其他色通道一起分析每个色通道,以便依照诸如所 需的速率失真效率、压缩速度、帧的复杂程度、帧中每个通道的复杂度、通道内和不同通道 之间的变化量或其他标准的多个标准中的一个或多个来确定变化的QP对于每个色通道是 否是可接受的或是合乎需要的。如果工具确定QP不跨色通道变化,那么工具确定(525)要在帧内使用的QP。例如, 工具依照诸如关于相应的宏块的速率限制、感知质量和/或视频的复杂度的标准确定用于 帧中的宏块的QP。在工具确定了(52 帧内的QP之后,工具发信号表示(530)帧QP。一般而言,帧 QP是编码帧中的每个宏块时使用的“默认”QP。在一个示例中,帧QP是帧中宏块的QP的平 均。或者,工具将帧QP确定为帧中最常见的QP以降低用于发信号表示用于宏块的QP的比 特成本。例如,工具发信号表示QP在空间上变化,QP不跨通道变化以及使用χ比特来发信 号表示帧QP,并接着发信号表示帧QP本身的值。或者,工具可以发信号表示帧QP是给定 表(例如,用于序列的QP表)中的多个条目之一,或者工具可以以某些其他的方式发信号 表示帧QP。工具接着发信号表示(53 用于帧中的宏块的QP。在一个实施例中,这包括相对 于预测的QP发信号表示用于每个宏块的QP,所述预测的QP可以是帧QP或基于在帧中空间 上相邻的一个或多个其他宏块的QP预测的QP。在另一实施例中,这包括将用于每个宏块的 QP发信号表示为表中多个值之一。如果工具确定QP在空间和色通道两者上都变化,那么工具确定640)要在帧的第 一色通道中使用的QP。例如,工具继续到依照诸如关于相应的宏块的速率限制、感知质量和 /或视频的复杂度的标准确定用于Y色通道中的宏块的QP。在工具确定了(MO)用于通道中的宏块的QP之后,工具发信号表示( 用于通 道的帧QP。一般而言,用于通道的帧QP是在编码通道中的每个宏块时使用的“默认”QP。 在一个示例中,工具通过对通道中的每个宏块的QP求平均来确定用于通道的帧QP。在另一 示例中,工具选择用于通道的帧QP作为通道中最常用的QP。在一个实施例中,发信号表示 用于通道的帧QP包括发信号表示QP在空间和帧中的不同色通道两者上变化,并接着发信 号表示用于通道本身的帧QP。或者,用于通道的帧QP可以用信号表示为QP表(例如用于 序列的QP表)中的若干个值之一。在工具用信号表示了用于通道的帧QP之后,工具检查(550)在帧中是否存在还未 经分析的其他色通道,例如色度(U,V)通道。如果存在,那么工具为用于每一个其他通道的 帧QP执行确定640)步骤和发信号( 步骤。或者,工具可以在为任一通道发信号步骤 (545)之前为用于每个通道的帧QP执行确定步骤(540),或者可以以某个其他的顺序执行步骤。工具接着发信号表示(55 用于每个通道的宏块的QP。在一个实施例中,这包括 相对于预测的QP发信号表示用于每个通道中的每个宏块的QP。预测的QP可以是通道QP, 或者预测的QP可以是基于色通道中一个或多个相邻宏块的QP的QP。在另一实施例中,工 具将每个通道中每个宏块的QP发信号表示为表中多个QP值之一。
在某些情况下,每个色通道可能不在空间上变化,且因此在诸如发信号步骤645) 或发信号步骤(55 处工具用跳过比特指示在编码过程中的某个点上用于色通道中的宏 块的QP全部等于用于通道的帧QP。C.首骑元图6Α是示出用于发信号表示(555)用于多个色通道的每一个中的宏块的QP的一 种方法的细节(600)的流程图。工具发信号表示(605)用于一个或多个通道内的QP变化的帧级信息。例如,工具 在帧级发信号表示用于相对于每个通道的帧QP定义宏块QP的比特数目。或者,工具发信 号表示指示QP索引表的信息,并且使用用于不同QP的多个值来填充该表,所述QP可以包 括通道QP。为每个色通道指示不同的表,或者两个或多个色通道可以共享表。此外,一个或 多个色通道在帧上可能不在空间上变化,因此可为该通道仅指示单个QP。工具在逐宏块的基础上发信号表示(615)关于下一宏块的QP的信息。在一个实 施例中,工具发信号表示宏块的实际QP是否与宏块的预测的QP相同,后者可以是用于色通 道的帧的QP或用于宏块的QP的空间上的预测值。宏块QP预测规则可以取决于实现而不 同。如果实际的QP与预测的QP不同,那么工具接着发信号表示宏块的QP和预测的QP之 间的差异。或者,工具发信号表示宏块的实际QP是否等于宏块的预测的QP,后者再次可以 是用于色通道的帧的QP或用于宏块的空间上预测的QP值。如果宏块QP不等于预测的QP, 那么工具发信号表示宏块的QP是QP索引表中的多个QP值之一。在工具发信号表示给定色通道中的宏块的QP的信息之后,工具检查(620)是否存 在具有空间上变化的QP的另一个色通道。如果存在一个或多个其QP还未用信号表示的其 他色通道,那么工具为下一色通道中的宏块执行发信号(61 步骤。如果不存在具有空间 上变化的QP的另一色通道,那么工具检查(62 在帧中是否存在另一宏块。可以依照光栅 扫描顺序或某些其他的顺序来检查宏块。如果在通道中存在其QP还未用信号表示的另一 宏块,那么工具为下一宏块执行发信号(61 和检查(620)步骤。如果在帧中不存在其他 的宏块,那么工具就完成了用信号表示用于帧的每个色通道中的宏块的QP。P.用于帧中的宏块的QP信令图6b是示出用信号表示(535)帧中的宏块的在空间上变化的QP的一种方法的细 节(630)的流程图。作为第一步骤,工具发信号表示(635)用于在帧上的QP空间变化的帧级信息。例 如,工具在帧级发信号表示用于相对于帧QP定义宏块QP的比特数。或者,工具发信号表示 指示QP索引表的信息,并且使用用于不同QP的多个值来填充该表。工具在逐宏块的基础上发信号表示(64 关于下一宏块的QP的信息。工具发信 号表示宏块的QP是否与宏块的预测的QP相同,后者可以是帧的QP或用于宏块的QP的空 间上的预测值。宏块QP预测规则可以取决于实现而不同。如果实际的QP与预测的QP不 同,那么工具发信号表示宏块的QP和预测的QP之间的差异。或者,如果宏块QP不等于预 测的QP,那么工具发信号表示宏块的QP是QP索引表中的多个QP值之一。在工具发信号表示关于用于帧的宏块的QP的信息之后,工具检查(650)在帧中是 否存在另一宏块。可以依照光栅扫描顺序或某些其他的顺序来检查宏块。如果在帧中存在 另一宏块,那么工具为下一宏块执行发信号(64 步骤。如果在帧中不存在另一宏块,那么工具就完成了。E.通用解码技术图7示出了用于使用在图片上在空间上或跨图片的色通道变化的反量化来解码 增强层视频的一般方法(700)。将诸如参考图3所述的解码工具(300)用于执行技术(700) 或可以使用某些其他工具。解码工具接收(710)比特流形式的经编码的信息用于增强层视频。经编码的信息 包括指示用于图片的单元(例如宏块、块)或其通道的QP的信息。在某些实施例中,工具 依照图5、6A和6B中示出的技术用信号表示的信息,接收用信号表示的句法元素、评估句 法元素并遵循有适当条件的比特流路径,以确定在空间上和/或在图片的通道之间变化的 QP。或者,工具接收依照另一方法用信号表示的QP信息。工具接着解码(720)增强层视频。这样做,工具在空间上和/或在用于增强层视 频的单元的通道之间改变反量化(依照用信号表示的QP信息)。工具为增强层视频图片执行技术(700)并且在逐图片的基础上重复技术。或者, 工具为一组图片、片段或其他视频部分执行技术,并且在该基础上重复技术。V.量化参数的预测编码和解码依照第二组技术和工具,编码器使用空间预测来预测性地编码量化参数。相应的 解码器在解码期间使用空间预测来预测量化参数。例如,编码器和解码器使用QP预测规则 来预测宏块的QP,而非考虑图片或图片的通道内空间上相邻的宏块的QP。QP的空间预测可 用于编码在空间上和通道之间都变化的QP,或者它可以用于编码和解码其他类型的QP。A.通用编码图8是用于使用空间预测来编码和发信号表示QP的通用技术(800)的流程图。诸 如参考图2所述的编码工具(200)可用于执行方法(800),或者可以使用某些其他的工具。 虽然参考整个图片描述技术(800),但是可以单独地将技术应用于图片中的每个色通道。工具获得(805)用于图片中下一单元的QP。单元可以是宏块、块或图片的其他区 域。由于技术(800)针对QP值的编码和发信号表示,因此编码器已确定了单元的QP和图 片的QP。工具为单元确定(810)预测的QP。预测的QP的值取决于运作中的QP预测规则。 虽然QP预测规则取决于实现,但是编码器和解码器使用相同的QP预测规则,不管它是什 么。第一示例性预测规则将当前单元左侧和当前单元之上的单元的QP作比较。如果两个 相邻单元的QP相同,那么编码器将该QP用作预测的QP。否则,编码器将图片QP用作当前 单元的预测的QP。依照第二示例性预测规则,编码器将用于左侧、上侧和右上侧的邻居的 QP的中值QP用作预测的QP。或者,编码器使用另一预测规则,例如,认为单个邻居的QP是 预测的QP。对于这些示例性规则中的任何一个,QP预测规则通过使将图片QP或其他默认 的QP用作当前单元的预测的QP,或通过用伪QP值来替代缺少的相邻单元来解决其中一个 或多个相邻单元在图片之外或没有QP的情况。工具参考预测的QP发信号表示(82 用于单元的QP。例如,工具发信号表示指示 单元是否使用预测的QP的单个比特。如果否,那么工具也发信号表示指示用于单元的实际 QP的信息。发信号表示实际的QP的一种方法是发信号表示用于单元的QP和预测的QP之 间的差异。另一方法是发信号表示指示编码器和解码器两者可用的QP表中备选QP的QP索引。或者,工具联合发信号表示选择信息,使用单个代码以指示不使用预测的QP并且还 指示要使用的实际QP,代替独立于选择细化信息发信号表示使用/不使用选择决定。工具接着检查(830)以查看图片(或通道)中是否存在其他带有要编码的QP的 单元。如果存在其他单元,那么工具重复获取(810)下一单元的QP的步骤,为该单元确定 (810)预测的QP并且发信号表示(825)该单元的QP。B.通用解码图10是示出使用空间预测为视频单元解码QP的一般技术(1000)的流程图。诸 如参考图3所述的解码工具(300)或其他解码工具的解码工具执行技术(1000)。虽然参考 整个图片描述技术(1000),但是可以单独地将技术应用于图片中的每个色通道。工具接收用于图片中的下一单元(例如宏块、块)的QP选择信息。一般地,选择 信息指示用于单元的QP是否是预测的QP或另一 QP,在后一情况下QP选择信息也指示另 一 QP是什么。例如,工具接收(作为QP选择信息的一部分)指示单元是否使用预测的QP 的单个比特。如果否,那么工具也接收(作为QP选择信息的一部分)指示用于单元的实际 QP的信息。在差分代码方法中,工具接收指示用于单元的QP和预测的QP之间的差异的信 息。在替换性QP选择方法中,工具接收指示对编码器和解码器两者可用的QP表中备选QP 的QP索引。QP选择信息可以包括独立的判定标志和选择代码,或者它可以包括联合表示信 息的单个代码。工具预测(1010)单元的QP,并且预测的QP的值取决于运作中的QP预测规则。当 在编码期间使用参考图8所述的任一示例性QP预测规则时,该规则也在解码期间使用。即 使未将预测的QP用作当前单元的实际QP,也将预测的QP用于确定实际的QP。或者,当QP 选择信息指示不使用预测的QP时,编码器跳过预测的QP的确定,并且为当前单元解码独立 地发信号表示的QP。工具使用QP选择信息在预测的QP和另一 QP之间作出选择(1015)。例如,工具解 释指示单元是否使用预测的QP的QP选择信息的一部分。如果否,那么工具也解释指示用 于单元的另一 QP的其它QP选择信息。在差分编码方法中,工具将差异值与预测的QP组合 以确定另一 QP。在替换性QP选择方法中,工具查找可用QP表中的QP索引以确定另一 QP。工具接着检查(1025)图片(或通道)中是否存在带有要重构的QP的其他单元。 如果存在,那么工具重复接收用于下一单元的QP选择信息的步骤,为该单元确定预测的QP 并且为该单元选择QP。C.示例性预测规则图9是示出使用用于在编码期间预测宏块的QP的示例性预测规则的技术(900) 的流程图。诸如参考图2所述的编码工具在为帧或帧的通道中的宏块(QP_MB)编码和发信 号表示QP时执行技术(900)。工具首先检查(905)与当前宏块的左侧直接相邻的宏块的QP(QP_LEFT)是否与当 前宏块的上方直接相邻的宏块的QP(QP_T0P)相同。QP_LEFT等于QP_T0P指示用于帧或色 通道的该特定部分的QP的趋势,这样使得假设当前宏块的QP即QP_MB最可能接近(如果 不相等的话)QP_LEFT是合理的。由此,QP_PRED(预测)被设置为(910)等于QP_LEFT。如 果QP_LEFT不等于QP_T0P,或者如果QP_LEFT或QP_T0P中任一个不可用,那么QP_PRED被 设置为(915)等于QP_FRAME,后者是帧或色通道的默认QP。一般地,QP_FRAME等于用于该帧或色通道的QP的平均、帧或色通道中最常见的QP或期望降低与发信号表示用于宏块的 QP相关联的比特率的某个其他的值。在替换性QP预测规则中,取决于在编码用于宏块的QP时遵循的扫描顺序,依照诸 如QP_T0P和QP_B0TT0M(当前宏块的下方直接相邻的宏块的QP)、QP_LEFT和QP_RIGHT (当 前宏块的右侧直接相邻的宏块的QP)或帧或通道内的QP的某些其他的组合等不同宏块的 QP来预测的QP_PRED。或者,关于仅单个先前解码的QP (诸如QP_LEFT)、三个先前解码的 QP或QP的某些其他的组合来预测的QP_PRED。在某些示例中,该工具执行多次检查以确 定QP_PRED。例如,如果QP_LEFT不等于QP_T0P_LEFT (左上方),那么工具检查以确定QP_ T0P_LEFT是否等于QP_T0P,并且如果是,那么设置QP_PRED等于QP_LEFT (假定QP值水平 连续)。在还有一示例中,QP_PRED是基于其他色通道或其他帧中的先前重构的宏块的QP 的。返回到图9,工具接着检查(920)QP_MB是否等于QP_PRED。在具有高度冗余的QP 值的帧或色通道的区域中,QP_MB将最可能等于QP_PRED。在该实例中,工具发信号表示 (930)QP_SKIP (跳过)是1。QP.SKIP是一比特指示符,当将其设置为1时指示当前宏块使 用QP_PRED且比特流不包括用于当前宏块的其他QP选择信息。如果QP_MB不等于QP_PRED,那么工具发信号表示(925) QP_SKIP是0。将QP_SKIP 设置为0指示在编码和解码期间QP_MB不等于QP_PRED,并且因此发信号表示(935)用于 QP.MB的另一 QP。在差分编码方法中,发信号将该另一 QP表示为相对于QP_PRED的差异值。 在替换性QP选择方法中,发信号将QP_MB表示为QP值的表中多个可用QP之一。或者,以 某种其他方式发信号表示另一 QP。P.跳过宏块的处理QP预测规则通过例如将图片QP或其他默认QP分配给用于当前单元的预测的QP 来解决相邻QP的不可用性。在某些实现中,编码器和解码器通过将伪QP值缓冲到否则将 缺少QP的单元中来降低不可用QP的频率。例如,即使QP在帧或通道中在空间上变化,但 是仍可以编码和解码某些宏块而无需使用QP。对于跳过的宏块或其所有块都未被解码的 宏块(依照用于宏块的经编码块模式),比特流不包括变换系数数据并且不使用QP。相似 地,当QP在空间上或在通道之间变化时,如果宏块在第一通道有变换系数而在第二通道中 没有变换系数(例如由于第二通道中的块的经编码的块状态在经编码的块模式中为0),那 么比特流在第二通道中不包括用于宏块的QP信息。因此,在某些实现中,如果对于特定的单元QP不可用,那么编码器和解码器推断 用于该单元的QP等于用于该单元的预测的QP,并且经推断的值被用于后续的QP预测。例 如,如果宏块被跳过,那么宏块的QP被设置为等于用于宏块的预测的QP,并且将推断的QP 值与用于帧的其他实际的QP(以及可能推断的QP值)一起缓冲。VI.组合的实现在第一和第二组合的实现中,编码器和解码器使用在空间上和/或在增强层视频 的通道之间变化的QP,并且编码器和解码器在编码和解码用于宏块的QP值时使用空间预 测。编码器和解码器在第一和第二组合的实现中使用相同的QP预测规则,尽管可以替代地 使用其他QP预测规则。在第一组合的实现中,当没有为宏块使用预测的QP时,发信号表示 相对于预测的QP不同的的用于宏块的实际的QP。相反,在第二组合的实现中,当没有为宏块使用预测的QP时,将用于宏块的实际QP发信号表示为对用于帧的可用QP表的替换性QP 索引。A.二船鍵3;_句一般{言骑元在第一和第二组合的实现中,QP_FRAME_UNIFORM(帧制服)是1比特帧级句法元 素。它指示QP是否在帧上在空间上变化。如果QP_FRAME_UNIFORM等于0,那么QP在帧上 在空间上变化。如果QP_FRAME_UNIFORM不等于0,那么QP在帧上在空间上无变化,并且编 码器和解码器使用帧QP的简单帧级信号表示。相似地,QP_CHANNEL_UNIFORM (通道制服)是指示QP是否跨帧的色通道变化的1 比特帧级句法元素。如果QP_CHANNEL_UNIFORM等于0,那么QP (除了可能在每个通道内在 空间上变化之外)在色通道上变化。如果QP_CHANNEL_UNIFORM不等于0,那么QP跨色通道无变化。图11示出了在第一和第二示例性组合实现中用于接收指示帧QP和通道专用QP 的信息的比特流句法和伪代码。图11到16示出了用于YUV色彩空间的色通道,但是伪代 码可以适用于RGB空间、YCbCr或某些其他的色彩空间。如果QP_CHANNEL_UNIFORM不等于0,那么QP跨色通道无变化,且比特流包括信号 表示QP_FRAME的N个比特。如果QP_CHANNEL_UNIFORM等于0,那么比特流包括用于QP_ FRAME_Y的N个比特、用于QP_FRAME_U的N个比特以及用于QP_FRAME_V的N个比特。N的 值可以被预定义、为序列设置或者甚至为帧设置。此外,尽管图11示出了用于所有类型的 QP的相同的N比特值,但是可以使用不同数目的比特来发信号表示QP_FRAME、QP_FRAME_Y、 QP_FRAME_U 和 / 或 QP_FRAME_V。图11和13到16示出了用于接收比特流句法元素和确定宏块的QP的编码器端操 作。相应的编码器端的编码和发信号操作反映出图11和13到16中的操作。例如,编码器 确定差异QP值(或替换性QP索引)并发信号表示它,而非接收用于差异QP值(或替换性 QP索引)的信息并对它解码。B.第一和第二组合实现中的空间预测规则图12示出了在第一和第二组合实现中编码器和解码器使用的示例性QP预测规 则。QP预测规则一般对应于参考图9的步骤(905、910和915)解释的规则。对于当前的宏 块,如果左侧相邻的宏块和上方相邻的宏块都可用并且这两个相邻的宏块具有相等的QP, 那么该QP被用作用于当前宏块的预测的QP。然而,如果QP_T0P与QP_LEFT不同,或者如果 任一邻居不可用,那么工具将QP_FRAME (或用于Y、U或V通道的合适的通道专用QP_FRAME_ 值)用作用于当前宏块的预测的QP。或者,编码器和解码器使用不同的QP预测规则。例如,编码器和解码器将用于当 前宏块的预测的QP设置为来自左侧、上方和右上方的邻居的QP值的中值。或者,如果来自 左上方和上方的邻居的QP值相同(示出水平一致的趋势),那么编码器和解码器将用于当 前宏块的预测的QP设置为QP_LEFT,如果来自左上方和左侧的邻居的QP值相同(示出垂直 一致的趋势),那么将用于当前宏块的预测的QP设置为QP_T0P,而否则将用于当前宏块的 预测的QP设置为QP_FRAME。C.在第一组合的实现中发信号表示QP差异在第一方案中,QP_MB与QP_PRED不同,比特流包括QP_MB相对于QP_PRED的差异值。一般地,依照编码器和解码器确定的惯例,发信号将差异表示为带符号整数或不带符号 整数。图13示出了用于接收指示用于区别地用信号表示用于帧或通道的QP_MB的比特 数的信息的比特流句法和伪代码。图13中示出的句法元素是在比特流的帧级用信号表示 的。如果QP_FRAME_UNIFORM = = 0,那么QP在增强层视频的帧上在空间上变化,并由此QP_ MB信息在宏块级发信号表示。如果QP_FRAME_UNIFORM不等于0,那么在比特流的帧级发信 号表示帧(或通道)的QP。如果QP_CHANNEL_UNIFORM 不等于 0,那么工具解码 NUM_BITS_QP_MB (3 比特)。 NUM_BITS_QP_MB(3比特)是指示用于发信号表示用于帧中的宏块的QP_MB差异的比特数 的3比特值。这产生用于差异QP_MB信息的0比特到7比特的数目。当比特数为0时,总 是将预测的QP用于宏块,因为不允许差异比特。在另一极端,当比特数为7时,可以发信号 表示相对于QP_PRED在27 = 1 步骤的范围内的差异。取决于惯例,差异值可以在从整数 QP步骤-64到63中、整数QP步骤-32到95中、半QP步骤-32到31. 5中等变化。在某些 实现中,范围一般是以QP_PRED为中心(或0差分)。设置用于发信号表示差异QP_MB信息 的比特数在较高分辨率发信号表示差异QP_MB信号的成本相对于使用较大的QP范围或较 大的QP分辨率的质量好处之间折衷。如果QP_CHANNEL_UNIFORM 是=0,那么工具解码 NUM_BITS_QP_MB_Y (3 比特)、 NUM_BITS_QP_MB_U(3比特)和NUM_BITS_QP_MB_V (3比特),它们分别是指示用于发信号表 示用于Y通道、U通道和V通道中的宏块的QP_MB差异的比特数的3比特值。这在各自的 通道中产生用于差异QP_MB信息的0比特到7比特的数目。不同的通道无需彼此使用相同 数据的差异QP_MB。例如,Y通道可能比U通道或V通道复杂得多,并且因此Y通道可以为 差异QP_MB值使用4比特而U通道和V通道各自使用2比特。通过将用于通道的差异QP_ MB比特数设置为0,可有效地禁止用于该通道的空间上适应性量化。图14示出了用于接收指示用于每个宏块的QP的信息的比特流句法和伪代码。图 14示出了宏块级句法元素。如果QP_FRAME_UNIFORM等于0,那么QP在帧上在空间上变化。 对于当前的宏块,比特流包括用于指示QP_MB是否等于QP_PRED的比特QP_SKIP。如果QP_ SKIP等于1,那么QP_MB被设置为等于QP_PRED。QP_SKIP = 0指示明确地发信号表示QP_ MB。如果这样,那么接下来的比特流句法元素取决于QP_CHANNEL_UNIFORM是否等于0。如果QP_CHANNEL_UNIFORM 不等于 0,那么比特流包括 DIFF_QP_MB (NUM_BITS_QP_ MB比特)。在图13的示例中,NUM_BITS_QP_MB可以是从0到7的整数。对于当前的宏块, DIFF_QP_MB 表示 QP_MB 和 QP_PRED 之间的差异。QP_MB 被确定为QP_MB = DIFF_QP_MB+QP_ PRED,其中QP_PRED是用于当前宏块的已预测的QP。如果QP_CHANNEL_UNIFORM等于0,那么用于当前宏块的QP跨帧的不同色通道变 化,且因此比特流包括 DIFF_QP_MB_Y(NUM_BITS_QP_MB_Y 比特)、DIFF_QP_MB_U (NUM_BITS_ QP_MB_U 比特)和 DIFF_QP_MB_V(NUM_BITS_QP_MB_V 比特)。在图 13 的示例中,用于每一 通道的差异QP_MB的比特数可以是从0到7的整数。DIFF_QP_MB_Y表示QP_MB_Y和QP_ PRED_Y 之间的差异。QP_MB_Y = DIFF_QP_MB_Y+QP_PRED_Y。DIFF_QP_MB_U 和 DIFF_QP_MB_ V分别表示用于U通道和V通道的相似的值。该设计允许用非常简单且高效的方式来充分利用QP中的宏块间冗余。即使在不同的色通道为给定的宏块使用不同的量化器时,用于宏块的1比特QP_SKIP元素足以指示 色通道的QP与相邻的宏块(诸如左侧或上方的邻居)的相应的色通道的QP相同。此外, 使用简单的比较并选择单个相邻宏块的QP的预测比混合两个或多个相邻的宏块更为简 单-前者消除了取中值或取平均数的运算,并且在压缩方面提供相似的效率。较为复杂的 QP预测规则可以以较高的计算复杂度为代价提供更加精确的预测。在图13和14中所示的方法中,使用简单的固定长度编码(FLC)表(具有在帧之 间或在通道之间变化的代码长度)。对于差异QP_MB值的许多分布,这种FCL的性能可以与 可变长度编码一样好。或者,编码器和解码器为差异QP_MB值使用可变长度代码。另外,发送用于发信号表示差异QP的比特数的能力在改进压缩效率方面提供了 额外的灵活度。如果宏块QP与帧QP非常接近,那么可以通过仅使用1或2比特来发信号 表示用于不使用预测的QP的宏块的差异QP_MB来充分利用该接近性。如果宏块QP是非常 不同的(就具有较大的范围而言),那么可使用更多的比特来发信号表示用于宏块的差异 QP_MB。用于发信号表示用于每个色通道的差异QP_MB的比特数也可以根据用于每个通 道的相应的宏块QP的特征而不同。例如,如果用于所有宏块的U和V通道的QP保持相同, 而亮度QP对于宏块在空间上变化,那么工具使用0比特来发信号表示用于U和V通道中的 每一个的差异QP_MB,而用1或更多比特来发信号表示Y通道的差异QP_MB。P. 二船鍵31Φ制言骑赫丰射情在第二组合的实现中,如果QP_SKIP不等于1,那么可以在宏块级使用QP索引明确 地发信号表示QP_MB。QP索引参考可用QP表中的QP,后者是在帧级用信号表示的。图15 示出了用于接收指定用于帧的表(或用于通道的表)中的QP值的信息,接着填充QP表的 比特流句法和伪代码。图15示出了帧级句法元素。如果QP_FRAME_UNIFORM 等于 0 ^P 在帧上在空间上变化)而 QP_CHANNEL_UNIFORM 不等于0 (QP在帧中色通道上无变化),那么比特流包括指定用于帧的QP表的值的句法元 素。NUM_QP_INDEX(3比特)是调节用于帧的表中的不同QP的数目的3比特值。NUM_QP_ INDEX具有23 = 8个可能的值,从0到7。在其他示例中,可以使用更多或更少的比特来发 信号表示 NUM_QP_INDEX。也调节表中不同的QP的数目的内变量NUM_QP等于NUM_QP_INDEX+2,范围为2到 9。QP索引表中的第一个QP即QP_MB_TABLE
是QP_FRAME,即用于帧的默认QP值。可用 QP 一般是从最常用到最不常用的来排序,以便于在宏块级别对QP索引进行有效的可变长 度编码。例如,在图17A到17F中所示的表中,使用单个比特来发信号表示QP_MB是否等于 QP_MB_TABLE
。通过接收和解码用于每个位置的QP值,从位置1到位置NUM_QP_1填充QP表的剩 余的行。在图15中,比特流包括用于发信号表示表中每个位置的QP值的8比特,尽管在其 他示例中可以使用更多或更少的比特。在图15中,使用表中位置0处的QP_FRAME和表中 从1到NUM_QP_INDEX+1的每个其他位置的用信号表示的QP值产生QP索引表。如果QP_CHANNEL_UNIFORM等于0 (QP跨帧中的色通道变化),那么比特流包括用 于为帧中Y、u和V色通道的每一个填充QP表的句法元素。对于每个通道,使用通道专用的 QP和供替换的QP来填充表的位置。
图16示出了在第二组合实现中用于接收指示用于宏块的QP的信息,接着确定QP 的比特流句法和伪代码。图16示出了宏块级句法元素。QP_SKIP如同在第一种组合的实现 中使用。同样,如果用于当前的宏块QP_SKIP等于1,那么对该宏块QP_MB = QP_PRED。如 果QP_SKIP不等于1,那么附加的信息指示明确地发信号表示用于宏块的QP_MB。然而,在 第二种组合的实现中,工具参考在帧级建立的QP表发信号表示非预测的QP。当QP_CHANNEL_UNIFORM指示QP在通道之间无变化时,内部计数器即NUM_QP_ EFFECTIVE (有效QP数)等于NUM_QP_1 (其中NUM_QP是根据比特流中的帧级信息设置的, 如图15中)。这建立了对存储在用于帧的QP表中的备选的QP值的计数。例如,如果NUM_ QP等于9,那么QP表具有8个备选的QP值,在位置0处的帧QP值和在表中的位置1-8处 的8个备选的QP值。由此,NUM_QP_EFFECTIVE等于8。QP_ID是用于在QP表中定位QP的 值。起初,QP_ID为0。如果NUM_QP_EFFECTIVE大于1,那么QP表包括默认值与在位置1和2处的至少两 个备选的值以及比特流中指示用于宏块的QP的QP_ID(QP表中位置的索引)的可变长度代 码(“VLC”)。图17A-F示出了可用于可变长度编码和解码的VLC表的若干个示例。例如, 图17A示出了对应于NUM_QP_EFFECTIVE = 2的VLC表(1700),其中VLC表(1700)包括对 应于VLC为0的QP_ID为0。VLC表(1700)还包括对应于VLC为1的QP_ID为1。相似地, 图17B示出了对应于NUM_QP_EFFECTIVE = 3的VLC表(1705)以及用于QP_ID为0,1,2的 VLC0 图 17C-F 示出 了分别对应于 NUM_QP_EFFECTIVE = 4、5、6 和 7 的 VLC 表(1710、1715、 1720、1730)。通常,在帧或色通道中最常用的QP_ID值被放置在VLC表的顶部附近,这样使 得使用较少的比特来发信号表示最常用的QP_ID。或者,编码器和解码器使用其他VLC来表 示QP_ID。编码器和解码器可使用单个表格,来代替对NUM_QP_EFFECTIVE的不同值使用不 同的VLC表,但是改变多个表通常导致略微更为高效的信号发送(例如,比较图17A和17B 中不同的VLC表中QP_ID = = 1的VLC长度)。不存在用于NUM_QP_EFFECTIVE = 1的VLC表,因为如果QP表仅具有QP_FRAME (或 通道QP)以及一个备选的QP,那么可以推测非推测的QP是未经推测的QP的QP。换而言之, 用于当前宏块的QP_PRED是表中两个QP值之一。如果宏块不使用QP_PRED (即QP_SKIP = =0),那么唯一的用于宏块的另一选项是QP表中的另一 QP,并且用于QP_ID的比特流中不 包括VLC。如果NUM_QP_EFFECTIVE大于1,那么比特流包括在VLC表之一中与QP_ID相关联 的VLC,其中NUM_QP_EFFECTIVE指示要使用的表。例如,如果NUM_QP_EFFECTIVE等于4且 工具解码霍夫曼代码110,那么工具从图17C中所示的表(1710)确定对应的QP_ID为2。当 NUM_QP_EFFECTIVE等于4,那么QP表中备选的QP值的数目为4,且QP表也包括QP_FRAME。 由此,QP表中的QP_ID为0、1、2、3和4。然而,相应的VLC表仅包括4个位置,因为预测的 QP无需位置,其在QP表中的ID可以是0、1、2、3和4。这有助于降低与发信号表示QP_ID 相关联的总比特率。由此,无论NUM_QP_EFFECTIVE是否大于1,解码工具都确定QP_PRED的ID,被示为 QP_PRED_ID。工具接着检查用信号表示的QP_ID(或初始化的QP_ID)是否大于QP_PRED_ ID。如果是,那么工具递增QP_ID。如果否,那么工具不递增QP_ID。一旦工具确定了适当 的QP_ID,工具就使用由QP_ID指示的QP表中的值来确定QP_MB。
例如,如果用于当前宏块的预测的QP的QP_PRED_ID为1且NUM_QP_EFFECTIVE为 1,那么QP_ID保留其初始值0并且参考具有两个可用QP的QP表中的另一(非预测的)QP。 如果预测的QP的QP_PRED_ID为0,那么就递增QP_IP并且参考具有两个可用QP的QP表中 的另一(非预测的)QP。作为另一示例,对于当前宏块令QP_PRED_ID等于2。如果工具接收到指示图17D 中所示的表(175)中的QP_ID为0的VLC,因为QP_ID < QP_PRED_ID,那么工具查找QP表 中值为0的QP_ID。相反,如果工具接受指示图17D中所示的表(1715)中的QP_ID为4的 VLC,则工具递增QP_ID,并且在QP表中查找值为4的QP_ID。通过充分利用用信号表示的 QP_ID值无需包括QP_PRED_ID作为可能的选择的事实来降低与用信号表示的QP_ID值相关 联的总比特率。如果QP_CHANNEL_UNIFORM等于0(QP在通道之间变化),那么为帧的每个色通道中 的QP_SKIP不等于1的宏块执行该过程。如果期望帧或色通道中的宏块的QP是较大范围内的较小的QP选择集合,那么第 二组合的实现的方法尤其有用。例如,如果帧或色通道的某些选择在空间上或时间上是非 常复杂的,而帧或色通道的其他选择相对统一,那么该方案可有助于改进增强层视频的帧 的总体压缩。该技术也充分利用段内的宏块间冗余,允许使用最短的VLC代码发信号表示 最常见的宏块QP,并且在某些情况下通过使用较低的QP_ID的VLC代码以用信号表示实际 较高的QP_ID来改进性能。VII.替换尽管本文中提出了关于增强层视频的编码和解码的许多示例,但是本文中所描述 的用于QP的空间预测的技术和工具可以被更一般地应用到其他类型的视频上。类似地,本 文中所描述的用于在空间上和/或跨通道改变QP的技术和工具可以被更一般地应用到其 他类型的视频上。QP预测的许多示例涉及用于当前单元的单个预测的QP的空间预测。或者,编码器 和解码器可以为当前单元计算多个预测器,并且比特流包括指示从多个预测器中对当前单 元选择预测的QP的信息。作为另一替换,编码器和解码器使用来自其他图片中位于同处的 宏块的时间预测,或者使用来自另一色通道中位于同处的宏块的QP的一个通道中的宏块 的QP的预测,来代替执行对QP的空间预测。鉴于可应用本发明的原理的许多可能的实施例,应该认识到所示的实施例仅是本 发明的优选示例,并且不应该被认为限制本发明的范围。在某些情况下,上述技术中某些步 骤可以被省略或冲突。本发明的范围而是由所附权利要求定义的。我们由此要求保护落入 这些附权利要求的范围和精神之内的所有作为本发明。
权利要求
1.一种存储指令的计算机可读存储介质,所述指令在执行时使得计算机执行一方法, 包括为在多个色通道中组织的图片编码(420)增强层视频,包括选择性地在空间上或在用 于所述图片的增强层视频的多个色通道之间改变量化;以及以比特流的形式输出(430)用于所述图片的经编码的增强层视频,包括发信号表示指 示至少部分地参数化用于所述图片的增强层视频的变化的量化的多个量化参数的量化参数信息。
2.如权利要求1所述的计算机可读存储介质,其特征在于,其中所述方法还包括在编码期间确定是否使用空间量化变化;以及确定是否使用通道之间的量化变化;作为输出的一部分,发信号表示指示对于所述空间量化变化的开/关判定和对于通道 之间的量化变化的开/关判定的信息。
3.如权利要求2所述的计算机可读存储介质,其特征在于,其中所述方法还包括,在逐 图片的基础上为多个图片的每一个重复是否使用空间量化变化的判定,是否在通道之间使 用量化变化的判定,并且发信号表示指示对于所述空间量化变化的开/关判定和对于通道 间的所述量化变化的开/关判定的信息。
4.如权利要求2所述的计算机可读存储介质,其特征在于,其中发信号表示指示对于 所述空间量化变化的开/关判定的信息是1比特标记,并且其中发信号表示指示对于通道 间的量化变化的开/关判定的信息是1比特标记。
5.如权利要求1所述的计算机可读存储介质,其特征在于,其中所述编码包括对所述 图片的增强层视频的宏块的块的变换系数执行所述量化。
6.如权利要求1所述的计算机可读存储介质,其特征在于,其中所述发信号表示所述 量化参数信息包括发信号表示指示用于所述图片的增强层视频或用于所述图片的增强层视频的相应的 色通道的一个或多个图片级量化参数的图片级信息;以及对于所述图片的增强层视频的多个宏块的每一个,发信号表示指示用于所述宏块的宏 块级量化参数的宏块级信息。
7.如权利要求6所述的计算机可读存储介质,其特征在于,其中所述发信号表示所述 量化参数信息还包括发信号表示指示所述宏块级信息的分辨率的附加图片级信息,所述宏块级信息表示相 对于一个或多个图片级量化参数之一的量化参数差异。
8.如权利要求6所述的计算机可读存储介质,其特征在于,其中所述发信号表示所述 量化参数信息还包括发信号表示定义用于所述图片的增强层视频的一个或多个备选量化参数的附加图片 级信息、表示对一个或多个图片级量化参数之一或对所定义的一个或多个的备选量化参数 之一的选择的宏块级信息。
9.如权利要求1所述的计算机可读存储介质,其特征在于,其中所述编码包括,对于所 述图片的增强层视频的当前宏块,使用用于空间上相邻的宏块的一个或多个宏块级量化参数预测用于所述当前宏块的宏块级量化参数。
10.如权利要求9所述的计算机可读存储介质,其特征在于,其中所述发信号包括,对 于所述当前宏块,发信号表示指示所述当前宏块是否使用所述预测的宏块级量化参数的宏 块级信息。
11.一种方法,包括从比特流接收用于图片的视频的经编码的信息,包括接收用于所述图片视频的当前单 元的量化参数选择信息;以及解码所述图片的视频,包括对于所述当前单元使用用于所述图片的视频的空间上相邻的单元的一个或多个量化参数来预测(1010) 用于所述当前单元的量化参数;使用所述量化参数选择信息在所述预测的量化参数和另一量化参数之间选择 (1015);在所述当前单元的重构中使用所选的量化参数。
12.如权利要求11所述的方法,其特征在于,其中所述经编码的信息还包括指示另一 量化参数的信息,以及其中另一量化参数是相对于所述预测的量化参数区别地用信号表示 的。
13.如权利要求11所述的方法,其特征在于,其中所述经编码的信息还包括指示另一 量化参数的信息,以及其中用信号将另一量化参数表示为在多个预先确定的备选量化参数 中的选择。
14.如权利要求11所述的方法,其特征在于,其中所述在空间上相邻的单元包括在所 述当前单元的左侧的左侧单元和在所述当前单元的上方的上方单元,并且其中预测所述量 化参数使用一个或多个预测规则,依照如果用于所述左侧单元的量化参数等于用于所述上方单元的量化参数,那么用于所述 当前单元的预测的量化参数等于用于所述左侧单元的量化参数;以及 否则,用于所述当前单元的预测的量化参数等于默认的量化参数。
15.如权利要求14所述的方法,其特征在于,其中所述默认量化参数是用于所述图片 的视频的图片级量化参数。
16.如权利要求11所述的方法,其特征在于,其中所述经编码的信息还包括指示用于 相对于所述预测的量化参数区别地用信号表示另一量化参数的比特数的分辨率信息。
17.如权利要求11所述的方法,其特征在于,其中所述经编码的信息还包括 用于所述图片的视频的一个或多个备选量化参数的备选量化参数信息;以及 对用于所述当前单元的所述一个或多个备选量化参数之一的选择。
18.一种编码器系统,包括用于存储数字媒体数据的存储器;以及被编程为解码所述数字媒体数据的数字媒体处理器,其中所述解码包括 接收用于图片的默认量化参数和一个或多个备选量化参数的图片级信息; 定义用于所述图片的所述默认量化参数和所述一个或多个备选化参数;以及 对所述图片的多个宏块的每一个使用用于空间上相邻的宏块的一个或多个量化参数来预测(1010)用于所述宏块的量化参数;接收(100 表示量化参数选择的宏块级信息;至少部分基于所述宏块级信息,在所述预测的量化参数和另一量化参数之间选择 (1015),其中所述对另一量化参数的选择包括使用所述宏块级信息在所述默认的量化参数 和所定义一个或多个备选量化参数之间选择;以及 在所述当前宏块的重构中使用所选的量化参数。
19.如权利要求18所述的解码器系统,其特征在于,其中所述宏块级信息包括指示是 否使用所述预测的量化参数的判定的比特,以及如果否,还包括对另一量化参数的选择。
20.如权利要求18所述的解码器系统,其特征在于,其中所述解码还包括接收指示用 于所述图片的可用量化参数的计数的图片级信息,其中对所述宏块级信息的解释至少部分 地取决于所述可用量化参数的计数。
全文摘要
呈现了用于使用在空间上和/或在色通道之间变化的量化来编码增强层视频的技术和工具以及相应的解码技术和工具。例如,编码工具确定量化是否在图片上在空间上变化,并且该工具也确定量化是否在该图片中在色通道之间变化。该工具以经编码的比特流的形式发信号表示用于该图片中的宏块的量化参数。在某些实现中,为了发信号表示该量化参数,工具预测该量化参数,并且参考预测的量化参数来发信号表示该量化参数。解码工具接收经编码的比特流,预测该量化参数,并且使用用信号表示的信息来确定用于该增强层视频的宏块的量化参数。该解码工具执行可以在空间上和/或在色通道之间变化的反量化。
文档编号H04N7/50GK102057677SQ200980121348
公开日2011年5月11日 申请日期2009年5月29日 优先权日2008年6月3日
发明者C·图, C-L·林, S·孙, S·瑞古纳萨恩 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1