在dct系数编码模式之间切换的制作方法

文档序号:6596136阅读:262来源:国知局
专利名称:在dct系数编码模式之间切换的制作方法
技术领域
本发明涉及数字视频和图像素材的编码和解码。更具体地,本发明涉及在视频和图像编码中的变换系数的高效编码和解码。
背景技术
本部分旨在提供在权利要求书中记载的本发明的背景或者环境。这里的描述可以包括能够探求的概念,但是这些概念未必是先前已经设想或者探求的概念。因此除非这里另行指明,在本部分中描述的内容并非是对于在本申请中的说明书和权利要求书的现有技术、也并不因为被包含在本节中而被承认为现有技术。视频编码器将输入视频变换成适合于存储和/或传输的压缩表示。视频解码器将压缩的视频表示解压缩回可查看形式。通常,编码器丢弃原始视频序列中的某些信息以便用更紧凑形式(即,以更低比特率)表示视频。传统的混合视频编码解码器(例如ITU-T H. 263和H. 264)在两个阶段中对视频信息进行编码。在第一阶段中,预测像素的“块”或者某个画面区域中的像素值。例如可以通过运动补偿机制来预测这些像素值,这些机制涉及发现和指示在先前编码的视频帧之一中的与编码的块接近对应的区域。备选地,可以经由空间机制来预测像素值,这些机制涉及使用块周围的像素值以估计块内的像素值。第二阶段涉及对预测误差或者预测残差(即, 预测的像素块与原始像素块之间的差)进行编码。这通常通过使用指定变换(例如,离散余弦变换(DCT)或者其变体)对像素值中的差进行变换、量化变换系数以及对量化系数进行熵编码来实现。通过改变量化过程的保真度,编码器可以控制像素表示的精确度(即,画面质量)与所得的编码视频表示的大小(即,文件大小或者传输比特率)之间的平衡。应当注意,关于视频和/或图像压缩,有可能变换实际图像和/或视频帧的块而不应用预测。熵编码机制(诸如霍夫曼编码、算术编码)利用表示量化变换系数的符号值的统计概率以向概率更高的信号分配更短的码字。另外,为了利用变换系数之间的相关性,可以对成对变换系数进行熵编码。附加地,自适应熵编码机制通常在广泛的图像和视频内容范围内实现高效压缩。变换系数的高效编码是视频和图像编码的编码解码器实现更高压缩性能的重要部分。

发明内容
根据一个实施方式,对块的最后非零系数的位置和值进行编码,此后,对下一系数分组(例如,(游程(rim),级别)对)进行编码。如果大于1的幅值(不包括最后系数) 的累积和小于预定的定值,并且块内的最后非零系数的位置小于某个位置阈值,则对下一对进行编码。重复这些过程直到大于1的幅值(不包括最后系数)的累积和不再少于预定的定值和/或块内的最新非零系数的位置不再小于该某个位置阈值。当这发生时,在级别模式中对其余系数进行编码。根据另一实施方式,对块的最后非零系数的位置和值进行编码,此后,对下一系数分组(例如,(游程,级别)对)进行编码。如果当前级别的幅值大于1,则在比特流中表明代码是否应当在游程模式中继续编码或者编码器是否将向级别模式切换。如果表明游程模式,则该过程继续并且对下一对进行编码。否则,在级别模式中对其余系数进行编码。在此描述的各种实施方式通过更精确地限定从一个编码模式向另一编码模式的切换应当发生的位置,来改进用于对变换系数进行编码的先前解决方案。这继而提高编码效率。用信令显式发送切换位置通过向编码器直接通知在何处切换编码模式来进一步提高编码效率。本发明的这些和其它优点以及特征连同其组织和操作方式将根据在与附图结合时的以下详细描述而变得明显,其中,相同元件在以下描述的若干幅图中通篇具有相同标号。


通过参照附图来描述各种实施方式中的实施方式,其中图1是传统视频编码器的框图;图2是传统视频解码器的框图;图3图示了示例性变换和系数编码顺序;图4是图示了根据一个实施方式的用于DCT系数的编码而执行的各种过程的流程图;图5是图示了根据另一实施方式的用于DCT系数的编码而执行的各种过程的流程图;图6是用于与本发明的各种实施方式一起使用的通用多媒体通信系统的表示;图7是可以与本发明的各种实施方式的实现结合使用的电子设备的透视图;以及图8是可以包括在图7的电子设备中的电路系统的示意图。
具体实施例方式各种实施方式针对一种用于在视频和/或图像编码中对量化变换系数(例如,DCT 系数)块进行熵编码时提高效率的方法。以游程模式编码和级别模式编码这两个单独编码模式对量化系数进行编码。还提供了用于在这两个模式之间进行切换的“规则”,并且通过允许熵编码器基于上下文信息和规则自适应地判定何时在两个编码模式之间切换和/或通过用信令显式发送切换位置(例如,向熵编码器显式通知它是否应当切换编码模式)来实现各种实施方式。图1是传统视频编码器的框图。更具体地,图1示出了待编码的图像100如何经历像素预测102以及预测误差编码103。对于像素预测102,图像100经历帧间预测106过程、帧内预测108过程或者两者。模式选择110选择帧间预测和帧内预测之一以获得预测块112。然后从原始图像100减去预测块112从而获得也被称为预测残差120的预测误差。 在帧内预测108中,存储在帧存储器114中的相同图像100的先前重建部分被用来预测当前块。在帧间预测106中,存储在帧存储器114中的先前编码的图像被用来预测当前块。在预测误差编码103中,预测误差/残差120最初经历变换操作122。然后在IM量化所得变换系数。
在1 对量化的变换系数IM进行熵编码。也就是说,向熵编码1 传递对图像块112的预测误差和预测表示进行描述的数据(例如,运动矢量、模式信息和量化的变换系数)。编码器通常包括逆变换130和逆量化128以在本地获得编码图像的重建版本。首先, 在1 逆量化所量化的系数,然后应用逆变换操作130以获得预测误差的编码版本、然后获得解码版本。然后,将结果与预测112相加以获得图像块的编码和解码版本。重建的图像块继而可以经历滤波操作116以创建向参考帧存储器114发送的最终重建图像140。一旦处理了所有图像块,就可以应用滤波。图2是传统视频解码器的框图。如图2中所示,在熵解码200之后是预测误差解码202和像素预测204两者。在预测误差解码202中使用逆量化206和逆变换208,从而最终获得重建的预测误差信号210。对于像素预测204,在212发生帧内预测或者帧间预测之一,以创建图像块214的预测表示。图像块214的预测表示与重建的预测误差信号210被结合用来创建初步重建图像216,初步重建图像216转而可以被用于在212的帧间预测或者帧内预测。可以在重建每个块之后或者一旦处理了所有图像块就应用滤波218。可以输出滤波图像作为最终重建图像220,或者可以在参考帧存储器222中存储滤波图像从而使其可用于预测212。解码器通过应用与由解码器使用的预测机制类似的预测机制来重建输出视频,以便形成像素块的预测表示(使用由编码器创建并且按压缩表示来存储的运动或者空间信息)。附加地,解码器利用预测误差解码(预测误差编码的逆操作,该操作在空间像素域中恢复量化的预测误差信号)。在应用预测和预测误差解码过程之后,解码器将预测和预测误差信号(即,像素值)求和,以形成输出视频帧。解码器(和编码器)也可以应用附加滤波过程以便在传递输出视频以供显示和/或存储输出视频作为用于视频序列中的即将来临的帧的预测参考之前提高输出视频的质量。在传统视频编码解码器中,与每个运动补偿图像块关联的运动矢量指示运动信息。这些运动矢量中的每个表示待编码(在编码器侧)或者待解码(在解码器侧)的画面中的图像块相对于先前编码或者解码的画面之一中的预测源块而言的位移。为了高效地表示运动矢量,通常关于块具体预测运动矢量对运动矢量进行区别编码。在传统视频编码解码器中,例如通过计算相邻块的编码或者解码的运动矢量的中值来以预定义方式创建预测运动矢量。图3图示了变换系数300的8x8块。通过变换像素或者预测残差来获得8x8个变换系数。图3图示了变换系数300的8x8块的Z字形扫描。变换系数的排序可以始于块的左上角(具有最低频率系数)并且例如以Z字形方式向块的右下角(具有最高频率系数) 进行。继而,可以(按照Z字形图案)扫描二维系数阵列。继而,可以按逆序(例如,最后系数具有的索引值为0,从最后一个到第一个)对这些系数进行编码。应当注意,其它变换类型、变换大小和/或扫描顺序以及系数的交织是可能的。在Z字形扫描之后,每个非零系数由(游程,级别)对表示,其中游程值表明连续零值的数目而级别值表明非零系数的值。根据各种实施方式,假设在待编码的块中存在至少一个非零系数。通常按照最后一个到第一个系数的顺序对系数进行编码,其中首先对更高频率系数进行编码。然而,按照任何其它顺序的编码是可能的。如果在编码过程期间的任何点在块中都不再有待编码的系数,那么如果需要的话,用信令发送块结束通知并且停止针对当前块的编码。
—种熵编码方法,涉及使用两个不同模式来对变换系数自适应地进行编码。在被称为“游程”模式的第一模式中,将系数编码为(游程,级别)对。也就是说,“游程-级别” 指代非零级别前的零的游程长度,其中变换系数的量化通常导致将更高阶系数量化为0。如果下一非零系数具有大于1的幅值,则编码解码器切换到“级别”模式。在级别模式中,将剩余系数依次编码为单值、即在这一模式中未表明游程值。例如,8x8块的量化的DCT系数可以具有以下值
2 0 0 1 0 0 0 0将量化的DCT系数排序成如图3中所示1维表从而获得以下系数列表。20 -2 01010010100000 -1 0—0从最后非零系数开始按逆序对经排序的系数进行编码。首先,对最后非零系数的位置和值(-1)进行编码。继而,在游程模式中对接下来的系数进行编码从而获得以下编码 (游程,级别)对的序列。
00000 I (游程=5’ 级另,J=I)
01‘(游程=1,级别=1)
001(游程=2,级另丨J=I) Oi (游程=1,级别=1)
0-2(游程=1,级别=-2)由于最后的编码的系数具有大于1的幅值,所以编码器切换到级别模式。在级别模式中,每次一个地对其余系数(0和2、进行编码,此后块编码完成。即使在游程模式中继续将是有益的(例如,当在游程模式中继续时编码解码器产生的比特数将更少),但是这样的编码方案仍然经常导致向级别模式切换。这是因为游程编码基于关于相同数字的游程的编码信息而不是对数字本身进行编码。在模式之间进行切换可以发生在固定位置或者并非隐含确定的任何点。在一个实施方式中,对块的最后非零系数的位置和值进行编码。如果最后系数的幅值大于1,则该过程继续进行级别编码。否则,对下一(游程,级别)对进行编码。如果当前级别的幅值等于1,则编码过程返回先前操作并且对下一对进行编码。最后,在级别模式中对其余系数进行编码。图4图示了根据一个实施方式的又一示例性编码方法,该方法获得比上述编码方法的可能效率更大的效率。在400,根据一个实施方式的编码操作开始。在410,对块的最后非零系数的位置和值进行编码。应当注意,未根据游程或者级别编码模式对块的最后非零系数的这一特定编码进行编码。在420,确定是否存在待编码的其余非零系数。如果不再有待编码的系数,则在425对最后(游程)或者块末尾进行编码,并且在480停止操作。在 430,如果存在更多系数,则对接下来的系数(例如(游程,级别)对)进行编码。在440,确定当前级别的幅值是否等于1,并且如果是的话,则操作返回420并且在430对下一对进行编码。应当注意,可以在440和后续过程使用大于“1”的不同最小幅值阈值。如果当前级别的幅值不等于1,则在450,针对幅值大于1的那些系数确定幅值(不包括最后系数的幅值)的累积和。在460,确定大于1的幅值(不包括最后系数)的累积和是否小于累积阈值L (例如,3)以及块内的最后非零系数的位置是否小于K,并且如果是的话,则操作通过返回420并且在430对下一对进行编码来重复其自身。如果在460,确定大于1的幅值(不包括最后系数)的累积和不小于累积阈值L和/或块内的最后非零系数的位置不小于K, 则在470在级别模式中对其余系数进行编码。一旦不再有系数留待编码,则在480停止操作。应当注意,在460的确定(先前编码的非零系数的幅值的累积和是否大于最小幅值阈值)可以通过幅值大于2的当前级别来满足。附加地,至少可以通过针对先前编码的非零系数之一的任何幅值满足最大出现次数来满足该确定。例如,如果出现两个系数(每个系数具有等于2的幅值),则所得的大于1的幅值(不包括最后系数)的累积和将超过累积阈值3。也就是说,概括来说,在编码模式之间的切换可以基于幅值的累积和以及位置或者幅值的出现以及位置,其中针对每个幅值级别个别地限定最大出现次数。各种实施方式利用多个系数以判定是否在游程与级别编码模式之间进行切换。另外,各种实施方式把系数的位置视为切换标准的一部分。应当注意,根据经验测试来选择累积阈值3。然而,也可以使用其它值,其中例如使累积阈值L依赖于量化参数(QP)值以反映不同质量级别的变化统计。类似地,位置阈值K的值可以变化(例如,基于在对块进行编码时使用的QP、块或者画面的编码模式)。另外,虽然在此描述的两个模式为游程模式和级别模式,但是也可以使用任何两个编码模式。如上所述,各种实施方式允许基于指示是否应当切换模式的显式信号来自适应地判定何时从例如游程模式向级别模式切换。图5图示了根据另一实施方式执行的过程,其中通过在比特流中发送如下语法元素来用信令显式发送切换位置,该语法元素指示编码器应当在游程模式中继续还是切换到级别模式。在500,编码操作开始。在510,对块的最后非零系数的位置和值进行编码。应当注意,未根据游程或者级别编码模式对块的最后非零系数的这一特定编码进行编码。在520,确定是否有待编码的其余非零系数。如果不再有待编码的系数,则在525对最后(游程)或者块末尾进行编码,并且在570停止操作。在530, 如果存在更多系数,则对下一系数分组(例如(游程,级别)对)进行编码。在M0,确定当前级别的幅值是否等于1,并且如果是的话,则操作返回520并且在530对下一对进行编码。可以在540和后续过程使用不同于“1”的幅值阈值。如果当前级别的幅值不等于1,则在阳0,确定当前级别的幅值是否大于1。如果当前级别的幅值大于1,则在比特流中指示编码器应当在游程模式中继续还是切换到级别模式。如果指示游程模式,则操作返回530并且对下一对进行编码。否则,在560,在级别模式中对其余剩余系数进行编码。一旦不再有系数留待编码,则在570停止操作。存在根据各种实施方式的对比特流中的切换指示进行编码的不同方法。例如,可以将指示实现为存储在比特流中的单个比特。备选地,该指示可以与一个或者多个其它编码元素组合。在此描述的各种实施方式通过更精确地限定从一个编码模式向另一编码模式的切换应当发生的位置来改进用于对变换系数进行编码的先前解决方案。这转而提高编码效率。用信令显式发送切换位置通过向编码器直接通知在何处切换编码模式来进一步提高编码效率。图6是在其中可以实现各种实施方式的通用多媒体通信系统的图形表示。如图6 中所示,数据源600以模拟、未压缩数字或者压缩数字格式或者这些格式的任何组合提供源信号。应当注意,可以从位于实际上任何类型的网络内的远程设备直接或者间接接收待解码的比特流。附加地,可以从本地硬件或者软件接收比特流。编码器610可以能够对多于一个的媒体类型(诸如音频和视频)进行编码,或者可能需要多于一个的解码器610以对源信号的不同媒体类型进行编码。编码器610也可以获得合成产生的输入、诸如图形和文本,或者它可以能够产生合成媒体的编码比特流。在下文中,仅考虑一个媒体类型的一个编码媒体比特流的处理,以简化描述。然而,应当注意,实时广播服务通常包括若干流(通常至少一个音频、视频和文本字幕流)。也应当注意,系统可以包括多个编码器,但是在图6 中仅描绘了一个编码器610以在不失一般性的情况下简化描述。还应当理解,虽然在此包含的文本和示例可以具体描述编码过程,但是本领域技术人员应当理解,相同概念和原理也适用于对应解码过程并且反之亦然。向储存器620传送编码比特流。储存器620可以包括用于存储编码媒体比特流的任何类型的海量存储器。储存器620中的编码媒体比特流的格式可以是基本自含式比特流格式,或者可以向容器文件中封装一个或者多个编码媒体比特流。某些系统“现场”操作, 即,省略储存器并且从编码器610向发送器630直接传送编码媒体比特流。继而,按照需要向也被称为服务器的发送器630传送编码媒体比特流。在传输中使用的格式可以是基本自含式比特流格式、分组流格式,或者可以封装到容器文件中的一个或者多个编码媒体比特流。编码器610、储存器620和服务器630可以驻留在相同物理设备中,或者它们可以被包括在不同设备中。编码器610和服务器630可以用现场实时内容操作,在这种情况下编码比特流通常不是永久存储,而是短时间段地缓存在内容编码器610中和/或服务器630中, 以平滑掉处理延迟、传送延迟和编码媒体比特速率的变化。服务器630使用通信协议栈来发送编码媒体比特流。栈可以包括但不限于实时传送协议(RTP)、用户数据报协议(UDP)和网际协议(IP)。当通信协议栈是面向分组的时,服务器630将编码媒体比特流封装成分组。例如,当使用RTP时,服务器630根据RTP净荷格式将编码媒体比特流封装成RTP分组。通常,每种媒体类型具有专用RTP净荷格式。同样应当注意,系统可以包含多于一个的服务器630,但是为了简洁起见,以下描述仅考虑一个服务器630。服务器630可以通过通信网络连接到网关640或者可以不通过通信网络连接到网关640。网关640可以执行不同类型的功能,诸如将根据一个通信协议栈的分组流转译成另一通信协议栈、对数据流进行合并和分叉,以及根据下行链路和/或接收器能力操控数据流(诸如根据主导的下行链路网络条件控制转发流的比特率)。网关640的示例包括MCU、 在电路切换视频电话与分组切换视频电话之间的网关、蜂窝一键通(PoC)服务器、在手持式数字视频广播(DVB-H)系统中的IP封装器,或者向家庭无线网络本地转发广播传输的机顶盒。当使用RTP时,网关640被称为RTP混合器或者RTP翻译器并且通常充当RTP连接的端点。系统包括通常能够接收所传输的信号、将该信号解调和解封装成编码媒体比特流的一个或者多个接收器650。将编码媒体比特流传送到记录储存器655。记录储存器655 可以包括用于存储编码媒体比特流的任何类型的海量存储器。备选地或者附加地,记录储存器655可以包括计算存储器、诸如随机存取存储器。记录储存器655中的编码媒体比特流的格式可以是基本自含式比特流格式,或者可以将一个或者多个编码媒体比特流封装到容器文件中。如果存在相互关联的多个编码媒体比特流,诸如音频流和视频流,则通常使用容器文件并且接收器650包括或者附接到根据输入流生成容器文件的容器文件生成器。某些系统“现场”操作,即,省略记录储存器655并且从接收器650直接向解码器660传送编码媒体比特流。在某些系统中,在记录储存器655中仅维持记录流的最近部分(例如,记录流的最近10分钟选录),而从记录储存器655丢弃任何更早的记录数据。从记录储存器655向解码器660传送编码媒体比特流。如果存在相互关联并且被封装到容器文件中的多个编码媒体比特流、诸如音频流和视频流,则使用文件解析器(图中未示出)以解封装来自容器文件的每个编码媒体比特流。记录储存器655或者解码器 660可以包括文件解析器,或者文件解析器附接到记录储存器655或者解码器660。编码媒体比特流通常由解码器660进一步处理,解码器660的输出是一个或者多个未压缩媒体流。最后,渲染器670可以例如用扬声器或者显示器再现未压缩媒体流。接收器650、记录储存器655、解码器660和渲染器670可以驻留在相同物理设备中,或者它们可以被包括在在不同设备中。根据各种实施方式的发送器630可以被配置用于出于多个原因而选择传输层,该原因诸如响应于接收器650的请求或者供比特流在其上传送的网络的主导条件。来自接收器的请求可以是例如针对用于显示的层的变化或者与先前渲染设备相比具有不同能力的渲染设备的变化的请求。图7和图8示出了可以供本发明在其中实现的一个有代表性的电子设备12。然而,应当理解,本发明并非意在被限制到一个特定设备类型。图7和图8的电子设备12包括外壳30、采用液晶显示器形式的显示器32、小键盘34、麦克风36、耳机38、电池40、红外线端口 42、天线44、根据一个实施方式的采用UICC形式的智能卡46、读卡器48、无线电接口电路系统52、编码解码器电路系统M、控制器56和存储器58。个别的电路和单元都是本领域中公知的类型。在方法步骤或者过程的一般上下文中描述在此描述的各种实施方式,这些方法步骤或者过程在一个实施方式中可以由体现为计算机可读介质的计算机程序产品实现,该计算机程序产品包括由联网环境中的计算机执行的计算机可执行指令,诸如程序代码。计算机可读介质可以包括可移除和不可移除存储设备,其包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、光盘(⑶)、数字多功能盘(DVD)等。一般而言,程序模块可以包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、关联数据结构以及程序模块代表用于执行在此公开的方法步骤的程序代码的示例。这样的可执行指令或者关联数据结构的特定序列代表用于实现在这样的步骤或者过程中描述的功能的对应动作的示例。
可以用软件、硬件、应用逻辑或者软件、硬件和应用逻辑的组合实现本发明的实施方式。软件、应用逻辑和/或硬件可以驻留在例如芯片组、移动设备、台式计算机、膝上型计算机或者服务器上。可以用标准编程技术实现各种实施方式的软件和web实现,这些技术用基于规则的逻辑和其它逻辑实现各种数据库搜索步骤或者过程、相关步骤或者过程、比较步骤或者过程和判定步骤或者过程。各种实施方式也可以完全或者部分地在网元或者模块内实现。应当注意,如在此和在接下来的权利要求中使用的术语“部件”和“组件”旨在包括使用一行或者多行软件代码的实现和/或硬件实现和/或用于接收手工输入的设备。尽管在权利要求中的限制在其中未使用术语“装置”的情况下不应被解释为构成 “装置加功能”的限制,但是在前述示例中描述的个别和具体结构应当被理解为构成用于执行在接下来的权利要求中描述的具体功能的装置的有代表性的结构。附加地,在之前描述中对术语“步骤”的使用不应当被用来将权利要求中的任何具体限制解释为构成“步骤加功能”这样的限制。在这里描述或者以别的方式提及的包括授权专利、专利申请和非专利出版物的个别参考文献这一程度上,这样的参考文献并非意在也不应当被解释为限制接下来的权利要求的范围。已经出于图示和描述的目的呈现了实施方式的上述描述。上述描述并非意在穷举本发明或者使本发明的实施方式限于公开的精确形式,并且根据上述教导有可能进行修改和变化或者可以根据各种实施方式的实践来获悉修改和变化。选择和描述在此讨论的实施方式以便说明各种实施方式的原理和性质及其实际应用,以支持本领域技术人员在各种实施方式中和用如与设想的特定用途相适应的各种修改来利用本发明。可以在方法、装置、模块、系统和计算机程序产品的所有可能组合中组合在此描述的实施方式的特征。
权利要求
1.一种方法,包括对块的最后非零系数的位置和值进行编码;当至少一个系数的幅值小于或者等于阈值时,根据第一编码模式对所述至少一个系数进行编码;以及确定大于所述阈值的先前编码的非零系数的幅值的累积和;以及其中,当所述累积和小于累积阈值并且所述最后非零系数的所述位置小于位置阈值时根据所述第一编码模式对后续系数进行编码; 否则,根据第二编码模式对后续系数进行编码。
2.根据权利要求1所述的方法,其中所述第一编码模式包括配置用于对所述至少一个成组系数编码的游程编码模式,并且其中所述组包括游程和级别对。
3.根据权利要求1所述的方法,其中所述第二编码模式包括配置用于每次一个地对系数进行编码的级别编码模式。
4.根据权利要求1所述的方法,其中所述累积阈值至少依赖于在对所述块进行编码时使用的量化参数。
5.根据权利要求1所述的方法,其中当针对所述先前编码的非零系数之一的任何可能的幅值至少满足最大出现阈值时,大于所述阈值的所述先前编码的非零系数的幅值的所述累积和大于所述累积阈值。
6.一种计算机可读介质,具有存储在其上的计算机程序,所述计算机程序包括可操作用于使处理器执行根据权利要求1至5中所述的任一方法的指令。
7.一种装置,包括处理器,所述处理器配置用于 对块的最后非零系数的位置和值进行编码;当至少一个系数的幅值小于或者等于阈值时,根据第一编码模式对所述至少一个系数进行编码;以及确定大于所述阈值的先前编码的非零系数的幅值的累积和;以及其中当所述累积和小于累积阈值并且所述最后非零系数的所述位置小于位置阈值时根据所述第一编码模式对后续系数进行编码; 否则,根据第二编码模式对后续系数进行编码。
8.根据权利要求7所述的装置,其中所述第一编码模式包括配置用于对所述至少一个成组系数编码的游程编码模式,并且其中所述组包括游程和级别对。
9.根据权利要求7所述的装置,其中所述第二编码模式包括配置用于每次一个地对系数进行编码的级别编码模式。
10.根据权利要求7所述的装置,其中所述累积阈值至少依赖于在对所述块进行编码时使用的量化参数。
11.根据权利要求7所述的装置,其中当针对所述先前编码的非零系数之一的任何可能的幅值至少满足最大出现阈值时,大于所述阈值的所述先前编码的非零系数的幅值的所述累积和大于所述累积阈值。
12.一种方法,包括对编码比特流中的块的最后非零系数的位置和值进行解码;根据第一编码模式和第二编码模式的至少一个编码模式从所述编码比特流解码至少一个量化变换系数,其中所述解码产生以下之一根据所述第一编码模式来编码的量化系数组,其中大于阈值的先前编码的非零系数的幅值的累积和小于累积阈值,并且最后非零系数的位置小于位置阈值;以及根据所述第二编码模式来编码的量化系数,其中大于所述阈值的先前编码的非零系数的幅值的所述累积和之一是等于或者大于所述累积阈值的值,并且所述最后非零系数的所述位置是等于或者大于所述位置阈值的值。
13.根据权利要求12所述的方法,其中所述第一编码模式包括配置用于对成组系数编码的游程编码模式,并且其中所述组包括游程和级别对。
14.根据权利要求12所述的方法,其中所述第二编码模式包括配置用于每次一个地对系数进行编码的级别编码模式。
15.根据权利要求12所述的方法,其中所述累积阈值依赖于在对所述块进行编码时使用的量化参数。
16.根据权利要求12所述的方法,其中当针对所述先前编码的非零系数之一的任何可能的幅值至少满足最大出现阈值时,大于所述阈值的所述先前编码的非零系数的幅值的所述累积和大于所述累积阈值。
17.一种计算机可读介质,具有存储在其上的计算机程序,所述计算机程序包括可操作用于使处理器执行根据权利要求12至16中所述的任一方法的指令。
18.一种装置,包括处理器,所述处理器配置成对编码比特流中的块的最后非零系数的位置和值进行解码;根据第一编码模式和第二编码模式的至少一个编码模式从所述编码比特流解码至少一个量化变换系数,其中所述解码产生以下之一根据所述第一编码模式来编码的量化系数组,其中大于阈值的先前编码的非零系数的幅值的累积和小于累积阈值,并且最后非零系数的位置小于位置阈值;以及根据所述第二编码模式来编码的量化系数,其中大于所述阈值的先前编码的非零系数的幅值的所述累积和之一是等于或者大于所述累积阈值的值,并且所述最后非零系数的所述位置是等于或者大于所述位置阈值的值;以及输出包括所述量化系数组和所述量化系数的至少一项的量化系数块。
19.根据权利要求18所述的装置,其中所述第一编码模式包括配置用于对成组系数编码的游程编码模式,并且其中所述组包括游程和级别对。
20.根据权利要求18所述的装置,其中所述第二编码模式包括配置用于每次一个地对系数进行编码的级别编码模式。
21.根据权利要求18所述的装置,其中所述累积阈值依赖于在对所述块进行编码时使用的量化参数。
22.根据权利要求18所述的装置,其中当针对所述先前编码的非零系数之一的任何可能的幅值至少满足最大出现阈值时,大于所述阈值的所述先前编码的非零系数的幅值的所述累积和大于所述累积阈值。
全文摘要
提供一种用于在视频编码中对量化变换系数块进行熵编码时提高效率的系统和方法。在两个单独编码模式(即游程模式到级别模式编码模式)中对量化系数进行编码。提供用于在这两个模式之间进行切换的“规则”,并且通过允许熵编码器基于上下文信息、规则自适应地判定何时在两个编码模式之间进行切换和/或通过用信令显式发送切换位置(例如,它是否应当切换编码模式)来实现各种实施方式。
文档编号G06T9/00GK102273080SQ200980154196
公开日2011年12月7日 申请日期2009年11月23日 优先权日2008年12月3日
发明者A·阿拉皮罗, J·莱尼玛, K·雨居尔 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1