用于使用非均匀重构空间进行数据压缩的方法和设备的制作方法

文档序号:7993514阅读:228来源:国知局
用于使用非均匀重构空间进行数据压缩的方法和设备的制作方法
【专利摘要】给出了使用自适应重构级别的编码和解码方法。由编码器形成重构空间参数,并且将其插入到具有编码的视频数据的比特流中。重构空间参数可以包括解码器可以根据其来确定编码的视频数据的解量化的级别的参数。重构空间参数可以包括第一重构级别和其他级别之间的步长。第一重构级别可以不等于步长。在一些情况下,该步长可以不等于用于对变换域系数进行量化的量化步长。
【专利说明】用于使用非均匀重构空间进行数据压缩的方法和设备
[0001]版权通告
[0002]本文档和附属材料的公开的一部分包含要求了版权的材料。版权人不反对任何人在专利商标局的文件或记录中发表的专利文档或专利公开的复制,但是无论如何保留所有其他版权权利。
【技术领域】
[0003]本申请大体上涉及数据压缩,具体地,涉及用于使用非均匀重构空间进行量化的方法和设备。
【背景技术】
[0004]数据压缩发生在众多上下文中。在通信和计算机联网中非常普遍地使用数据压缩,以有效地存储、传输和再现信息。其在图像、音频和视频的编码方面得到了具体应用。由于每个视频帧所需的大量数据以及经常需要发生的编码和解码的速度,因此视频对数据压缩提出相当大的挑战。视频编码的当前最新技术是ITU-T H.264/AVC视频编码标准。该标准定义了针对不同应用的多个不同简档,包括主简档、基线简档等等。通过MPEG-1TU的联合发起,当前正在开发下一代视频编码标准:高效视频编码(HEVC)。
[0005]存在用于编码/解码图像和视频的多个标准,包括H.264,其使用基于块的编码过程。在这些过程中,图像或帧被分割成块,通常是4X4或8X8,并且块被频谱变换成系数、量化、和熵编码。在许多情况中,被变换的数据不是实际像素数据,而是预测操作之后的残差数据。预测可以是:巾贞内的,即帧/图像内的块到块;或者帧间的,即在帧之间(也称为运动预测)。预计HEVC将也具有这些特征。
[0006]当对残差数据进行频谱变换时,这些标准中的多个标准规定了使用离散余弦变换(DCT)或基于它的一些变形。然后使用量化器对所得DCT系数进行量化,其中,量化器采用均匀量化步长,即,数据空间的均匀划分。
[0007]有损压缩(例如,音频/视频编码、视频编码、图像编码等)中的工作常常关注于改善速率_失真性能。也即是说,大多数编码和解码方案的目标是找到失真和编码速率之间的最佳平衡。通常使用J = d+xr类型的速率-失真优化表达式,其中,拉格朗日乘数λ表示编码速率与失真之间的期望折中。
[0008]在解码器处使用与编码器处量化对数据空间的均匀划分相匹配的均匀重构空间重构数据并不始终实现最佳的速率-失真性能。

【发明内容】

[0009]本申请描述了用于实现有损数据压缩的速率-失真改善的方法以及编码器/解码器。在一些实施例中,本文所述的数据压缩过程或设备可以应用于对音频数据、图像数据和/或视频数据进行编码和解码。具体地,本申请描述了使用非均匀重构空间进行解量化的数据压缩的方法和过程。描述了用于在编码器处确定非均匀重构空间、将用于非均匀重构的参数传送到解码器、以及在解码器处当解量化数据时应用非均匀重构空间的方法和设备。
[0010]在第一方面,本申请公开了一种用于对视频数据进行编码的方法,所述视频数据被划分为包括量化变换系数集合的块。所述方法包括:针对当前块中的每一个量化变换系数集合,收集统计数据,所述统计数据包括量化变换系数的数量和所述集合中的所有量化变换系数的相应非取整量化值之和。然后,所述方法包括:针对所述当前块,基于所述统计数据导出步长,从预定的量化参数(QP)集合中选择具有最接近所导出的步长的相应步长的QP,以及使用针对所述当前块所选择的QP来对下一个块进行编码。
[0011]在一个方面,本申请描述了一种对编码数据的比特流进行解码的方法。所述方法包括:从所述比特流中提取重构空间参数,其中,所述重构空间参数标识第一重构级别和其他重构级别的重构步长,所述第一重构级别不等于所述重构步长;对所述编码数据进行解码,以获得多个量化变换系数;以及基于所述第一重构级别和所述重构步长对每一个量化变换系数进行解量化,以生成重构变换系数。
[0012]在另一方面,本申请描述了一种用于对数据进行编码的方法,所述数据包括量化变换域系数。所述方法包括:基于所述量化变换域系数生成重构空间参数,其中,所述重构空间参数标识第一重构级别和其他重构级别的重构步长,并且所述第一重构级别不等于所述重构步长;对所述量化变换域系数进行熵编码;以及生成包含编码的量化变换域系数和所述重构空间参数在内的比特流。
[0013]在又一方面,本申请描述了被配置为执行这种编码和解码方法的编码器和解码器。
[0014]在又一方面,本申请描述了存储计算机可执行程序指令的非瞬时计算机可读介质,当执行所述计算机可执行程序指令时,所述计算机可执行程序指令将处理器配置为执行所描述的编码和/或解码的方法。
[0015]本领域普通技术人员将通过结合附图阅读以下示例的描述,来理解本申请的其他方面和特征。
【专利附图】

【附图说明】
[0016]现在以示例方式参照附图,附图示出了本申请的示例性实施例,在附图中:
[0017]图1以框图形式示出了用于对视频进行编码的编码器;
[0018]图2以框图形式示出了用于对视频进行解码的解码器;
[0019]图3示出了示例性数据空间;
[0020]图4示出了实际数据在数据空间的子部分中的示例性非均匀分布;
[0021]图5示出了示例性自适应重构空间;
[0022]图6示出了第二示例性自适应重构空间;
[0023]图7示出了第三示例性自适应重构空间;
[0024]图8示出了第四示例性自适应重构空间;
[0025]图9以流程图的形式示出了用于使用重构空间参数来对数据进行编码的示例性方法;
[0026]图10以流程图的形式示出了用于使用重构空间参数对编码数据进行解码的示例性方法;[0027]图11示出了编码器的示例性实施例的简化框图;以及
[0028]图12示出了解码器的示例性实施例的简化框图。
[0029]在不同的附图中可能已经使用类似的附图标记来指示类似的组件。
【具体实施方式】
[0030]在以下描述中,参考用于视频编码的H.264标准,描述了 一些示例性实施例。本领域普通技术人员将理解的是,本申请不限于H.264,而是可适用于其他视频编码/解码标准,包括可能的将来的标准,例如,HEVC、多视图编码标准、可伸缩视频编码标准、以及可重新配置的视频编码标准。还将清楚的是,本申请不一定限制于视频编码/解码,并且可以应用于音频编码/解码、图像编码/解码、或者任何其他数据的有损编码/解码。本申请广泛地应用于采用量化的任何有损数据压缩过程,而不论正在编码/解码的数据的类型如何。
[0031]在以下描述中,当参考视频或图像时,在某种程度上可以互换地使用术语帧、片、平铺块(tile)和矩形片组。本领域技术人员将清楚的是,在H.264标准的情况中,帧可以包含一个或多个片。还将清楚的是,根据适用的图像或视频编码标准的特定要求,某些编码/解码操作是逐帧执行的,一些编码/解码操作是逐片执行的,一些编码/解码操作是逐平铺块执行的,以及一些编码/解码操作是逐矩形片组执行的。在任何特定实施例中,适用的图像或视频编码标准可以确定是否关于帧和/或片和/或平铺块和/或矩形片组来执行以下描述的操作,视情况而定。相应地,根据本公开,本领域普通技术人员将理解,本文描述的特定操作或过程以及对帧、片、平铺块、矩形片组的特定引用对于给定实施例是否适用于帧、片、平铺块、矩形片组、或者其中的一些或全部。这也可应用于编码单元、编码单元组等等,这些根据以下描述将变得明显。
[0032]在下面的讨论中,提到了 DCT系数和DCT域;然而,将清楚的是,本申请不限于DCT系数的编码、基于块的变换系数的编码、基于块的数据的编码、或者任何特定的数据类型。
[0033]就下面所述的过程或方法应用于图像和/或视频而言,它们可以应用于视频或图像的一部分,例如,帧、片、画面组(GOP),或者基于任何其他因素,例如,应用于编码单元、编码单元组。就本文所述的过程或方法应用于诸如音乐或语音数据等的音频而言,它们可以应用于数据点的分组或序列,例如,音频采样。应当注意的是,术语画面和帧可以互换使用。
[0034]现在参照图1,图1以框图形式示出了用于对视频进行编码的编码器10。还参照图2,图2示出了用于对视频进行解码的解码器50的框图。将清楚的是,本文描述的编码器10和解码器50均可以在专用或通用计算设备(包含一个或多个处理单元和存储器)上实现。编码器10或解码器50执行的操作可以通过例如专用集成电路或通过通用处理器可执行的存储程序指令来实现,视情况而定。设备可以包括额外软件,包括例如用于控制基本设备功能的操作系统。关于以下描述,本领域普通技术人员将清楚在其中可以实现编码器10或解码器50的设备和平台的范围。
[0035]编码器10接收视频源12并产生编码比特流14。解码器50接收编码比特流14并输出解码视频帧16。编码器10和解码器50可以被配置为符合多个视频压缩标准来操作。例如,编码器10和解码器50可以符合H.264/AVC。在其他实施例中,编码器10和解码器50可以符合其他视频压缩标准,包括诸如HEVC之类的H.264/AVC标准的演进。
[0036]编码器10包括空间预测器21、编码模式选择器20、变换处理器22、量化器24和熵编码器26。本领域普通技术人员将清楚的是,编码模式选择器20确定视频源的适合编码模式,例如对象帧/片是1、P还是B类型,帧/片内的特定编码单元(例如宏块)是帧间还是帧内编码。变换处理器22对空间域数据执行变换。具体地,变换处理器22应用基于块的变换来将空间域数据变换为频谱分量。例如,在很多实施例中,使用离散余弦变换(DCT)。在一些示例中,可以使用其他变换,如离散正弦变换等。根据宏块的大小,该基于块的变换是在宏块或者子块的基础上执行的。在H.264标准中,例如,典型的16X 16的宏块包含16个4X4的变换块,并且对4X4的块执行DCT过程。在一些情况中,变换块可以是8X8的,这意味着针对每个宏块存在4个变换块。在其他情况中,变换块可以是其他大小。在一些情况中,16X 16的宏块可以包括4X4和8X8的变换块的非重叠的组合。
[0037]将基于块的变换应用于像素数据块得到变换域系数的集合。在该上下文中,“集合”是有序集合,在该集合中系数具有系数位置。在一些示例中,变换域系数的集合可被认为是系数的“块”或矩阵。在本文的描述中,短语“变换域系数的集合”或“变换域系数的块”被互换地使用,并且用于指示变换域系数的有序集合。
[0038]量化器24对变换域系数的集合进行量化。然后,熵编码器26对量化后的系数和相关联的息进行编码。
[0039]帧内编码的帧/片(即,类型I)不参照其他帧/片进行编码。换言之,它们不采用时间预测。然而,帧内编码的帧依赖于帧/片内的空间预测,如图1中由空间预测器21所示。即,在对特定块编码时,可以将块中的数据与针对该帧/片已经编码的块内邻近像素的数据进行比较。使用预测算法,可以将块的源数据转换为残差数据。然后,变换处理器22对残差数据进行编码。例如,H.264规定了 4X4变换块的9种空间预测模式。在一些实施例中,这9种模式中的每一种可以用于独立地处理块,然后使用速率-失真优化来选择最佳模式。
[0040]H.264标准还规定了使用运动预测/补偿来利用时间预测。相应地,编码器10具有反馈环路,反馈环路包括:解量化器28、逆变换处理器30和去块处理器32。这些元件反映了解码器50执行以再现帧/片的解码过程。帧存储器34用于存储再现帧。按照这种方式,运动预测基于在解码器50处重构帧是什么,而不基于原始帧,由于编码/解码中涉及的有损压缩,原始帧可能不同于重构帧。运动预测器36使用帧存储器34中存储的帧/片作为源帧/片,来与当前帧进行比较,以识别相似块。相应地,对于应用了运动预测的宏块,变换处理器22编码的“源数据”是出自运动预测过程的残差数据。例如,其可以包括关于参考帧、空间置换或“运动矢量”的信息、以及表示参考块与当前块之间的差异(如果存在)的残差像素数据。关于参考帧和/或运动矢量的信息可以不由变换处理器22和/或量化器24处理,而是可以提供给熵编码器26,作为比特流的一部分与量化后的系数一起编码。
[0041]本领域普通技术人员将清楚用于实现H264编码器的细节和可能变形。
[0042]解码器50包括:熵解码器52、解量化器54、逆变换处理器56、空间补偿器57和去块处理器60。帧缓冲器58提供重构帧以便由运动补偿器62在应用运动补偿时使用。空间补偿器57表示根据先前解码块来恢复特定帧内编码块的视频数据的操作。
[0043]熵解码器52接收并解码比特流14,以恢复量化后的系数。在熵解码过程中,还可以恢复辅助信息,如果适用,一些辅助信息可以提供给运动补偿环路,以用于运动补偿。例如,熵解码器52可以恢复运动矢量和/或针对帧间编码宏块的参考帧信息。[0044]然后,解量化器54对量化后的系数进行解量化,以产生变换域系数,然后,逆变换处理器56对变换域系数进行逆变换,以重建“视频数据”。将清楚的是,在一些情况下,如对于帧内编码的宏块,重建的“视频数据”是用于空间补偿的、相对于帧内先前解码块的残差数据。空间补偿器57根据残差数据和来自先前解码块的像素数据来产生视频数据。在其他情况下,如对于帧间编码的宏块,来自逆变换处理器56的重建“视频数据”是用于运动补偿的、相对于来自不同帧的参考块的残差数据。在本文中,空间和运动补偿均可以称为“预测操作”。
[0045]运动补偿器62在帧缓冲器58内定位针对特定帧间编码的宏块指定的参考块。运动补偿器62基于针对帧间编码的宏块指定的参考帧信息和运动矢量来进行该操作。然后,运动补偿器62提供参考块像素数据,以与残差数据组合,从而得到针对该宏块的重构视频数据。
[0046]然后,可以对重构帧/片应用去块过程,如去块处理器60所示。在去块之后,输出帧/片作为解码视频帧16,例如以在显示设备上显示。将理解的是,视频回放机(如计算机、机顶盒、DVD或蓝光播放器和/或移动手持设备)可以在输出设备上显示之前将解码帧缓存在存储器中。
[0047]期望符合HEVC的编码器和解码器将具有这些相同或类似特征中的多个特征。
[0048]量化
[0049]对于具有预测P的给定像素块X,残差为z = x-p。(例如,通过使用DCT)对残差z进行变换,以生成变换域系数集合C。使用所选量化步长q来对系数c进行量化,以产生量化系数集合 U。这可以被表达为:
[0050]u = round (c/q+f)(I)
[0051]其中,通过应用量化步长q,将输入c量化为U,并且I >f>0是取整偏移。因为通过确定性函数计算量化输出,因此这可以称作硬判决量化。
[0052]可以从速率-失真的角度来观察该量化操作。实际上,量化操作可以被重新定义,以选择索引U,使得所选索引导致最小速率-失真成本。可以按下式表达最小速率-失真成本:
[0053]min I e — u'q 12+ A- r(w)(2)

I!
[0054]在等式(2)中,c是变换系数的矩阵,q是量化步长,u是系数被量化至的相应索引矩阵。符号λ是拉格朗日乘数,其是终端用户基于其对编码速率和视频质量的偏好所确定的常数。相对小的λ更偏好更好的质量,而较大的λ着重于较低的编码速率。r(u)表示针对索引u的熵编码的速率函数。熵编码可以是任何适当或适用的熵编码方案。例如,在JPEG图像的情况下,编码可以是Huffman编码。在H.264视频的情况下,编码可以是CAVLC或CABAC编码。另一种与上下文有关或者与上下文无关的编码方案可以在特定的实施例中应用。显然,等式(2)的量化输出不再是由确定性函数给出的,而是与速率和失真都有关的优化过程的输出。因此,其被称作软判决量化。
[0055]在Yang等提交的美国专利公开n0.2007/0217506 (下文中称为“Yang”)中描述了软判决量化的示例性实施例。Yang公开描述了给定固定q(或者一般地,量化器的矩阵q,其中,不同的步长可以用于不同的系数位置)的条件下优化U。这被称作“软判决量化”,这是因为在速率-失真优化中变换域系数自身被视为自由参数。在Yang中描述了将软判决量化应用于使用CAVLC的H.264编码,并且它可以包括使用格子来搜索针对给定的熵编码方案产生最小累积速率-失真的量化系数集合U。在Yang中所述的示例中,H.264CAVLC编码方案用于说明的目的。
[0056]在H.264中以及在很多其他编码方案中,量化步长被预先确定,并且在特定的示例中,编码器选择量化步长之一以用于量化特定的数据点集合,不论是块、片、还是帧等。然后,编码器只需发送索引或指示符以向解码器通知使用了哪一种量化步长。
[0057]现在参照图3,图3用图形示出了数据空间100的一部分。在该示例中,数据空间100包含要使用所选量化方案量化的数据点集合。在概念上,为了执行量化,可以认为数据空间100被划分为子部分Atl, A1,...An,其中,N+1是子部分的数量。每一个子部分可以由其索引i引用,其中,i =0,1,...,N。落入子部分Ai之一中的数据点被量化为经量化的变换域系数U=索引i。重构级别qu处于其相应子部分的中点处。当解码器重构数据点时,它将其重构为重构级别qu;在u = i的情况下,数据点被重构为qi;而不论实际的数据点在子部分Ai中所处的位置如何。在量化步长为q的情况下,每一个重构级别Qi由i *q给出。如果源数据是均匀的,则中点重构级别的假设将导致最小失真;然而,在很多情况下,源数据的均匀分布的假设可能不准确。
[0058]现在参照图4,图4示出了示例性子部分A”中点重构级别被示出为qi。源数据点的非均匀分布如附图标记102所示。将清楚的是,具有如102所示的分布的数据点将由处于或接近q/的自适应重构级别来更好地表示。自适应重构级别可以基于与索引i相关联或者指派给索引i (即,位于子部分Ai中)的数据点的实际分布。在一些实施例中,自适应重构级别可以基于算术平均或中值或模式。通过调整重构级别以反映子部分Ai中的实际数据点的分布,当前描述的过程补偿了当依赖于均匀假设时可归因于数据点的非均匀分布的失真中的一些。
[0059]在很多数据压缩过程中,当执行量化时,未分离地考虑数据空间的划分和重构级别的选择。例如,在ITU-T H.264/AVC中,在选择量化步长的情况下,这二者都被包括在内。本 申请人:已经认识到,数据空间的划分和针对每一个子部分的重构级别的选择可以被分离地考虑,而无需基于例如如ITU-T H.264/AVC中一样处于子部分的中点处的预定的重构级别。
[0060]因此,在该过程情况下的量化变为两级操作。第一,将数据点指派给量化索引(即,基于数据空间的划分,将数据点分组为子部分)。该第一阶段的划分/量化可以是均匀的、非均匀的、预定的硬判决量化或软判决量化。可以基于速率-失真优化过程从预设的多个候选步长/划分大小中选择步长/划分大小。在所有这些可能的变形中,数据点中的每一个被指派给所选量化划分结构的索引之一。
[0061]第二,确定划分的数据空间的子部分中的一个或多个(例如,每一个索引)的自适应重构级别。自适应重构级别可以基于落入子部分中的实际数据点的平均。平均可以对块或编码单元、块或编码单元组、片、帧、画面组(GOP)或者考虑到特定应用的其他适当的数据点集合而进行。平均还可能对具有公共量化参数qP的编码单元或帧组进行。在一些情况下,相同的帧或GOP可以具有qp不同的编码单元,在该情况下,具有相同qP的那些编码单元可以被认为是用于确定该编码单元组的自适应重构级别的目的的编码单元组。[0062] 每一个索引的自适应重构级别的选择可以基于速率-失真分析。换言之,它可以基于选择考虑子部分中的实际数据点而最小化总失真的重构级别。它还可以基于最小化成本函数,该成本函数包括由于重构级别与实际数据点之间的差别引起的失真以及与发送重构级别相关联的速率成本。与发送重构级别相关联的速率成本可以基于用于对重构级别进行熵编码的编码方案。速率还可以取决于熵编码器操作的模式(例如,CABAC的旁路模式)。
[0063]在分别于2011年2月25日和2011年6月8日提交的美国专利申请n0.61/446,528和n0.13/155,616中描述了用于选择和应用自适应重构级别的示例性过程;其内容通过引用的方式并入本文。
[0064]这些早前的申请中所描述的一个示例性过程提出了以格式i.q+δ i构造的自适应重构级别,其中,i是索引(在本文中也称作量化变换域系数u),q是由量化参数qP设置的量化步长,\是第i个量化级别的偏移。图5用图形示出了根据格式1.q+Si构造的重构空间120。如美国专利n0.61/446,528中的实施例中所描述的,可以针对重构级别中的一些(例如,前三个或前四个)计算偏移,并且公共偏移(其可能是使用平均来选择的)可以用于后续级别。在该示例性说明中,偏移S4用于第四级别以及高于第四级别的级别。
[0065]早前的申请中所述的另一个示例性过程提出了以格式i.(q+δ)构造的自适应重构级别,其中,i是索引(量化变换域系数),q是通过量化参数qP设置的量化步长,并且δ是量化步长的偏移。图6用图形示出了根据该格式构造的重构空间130。将注意的是,该格式仍然导致均匀的重构空间,这是因为每一个级别相距q+ δ。
[0066]格式为i.(!+ δ i的前一个示例性重构空间的可能问题是与发送所有偏移相关联的速率-失真成本。还可能存在不足以生成足够准确的偏移以证明每一个级别的成本合理的统计数据。如所提到的,一些级别可以使用平均偏移来解决该问题。格式为i.(q+S)的后一个示例性重构空间的可能问题是重构空间保持均匀,这在量化设计中限制了速率-失真编码性能增益。还将注意的是,两个方案都仍然基于用于在编码器处对变换域系数进行量化的量化步长q。
[0067]为了改善速率-失真性能,本申请提出了使用格式(i.a+bj的更一般的重构空间。通过该格式,重构空间部分地与量化步长解耦,这是因为a不一定等于q。如图7中所示,这导致设计完全灵活的非均匀的重构空间150。将注意的是,当a = q时,该格式降级为格式(i.q+ δ J。还将注意的是,当b = O时,该格式降级为i.(q+ δ )。
[0068]然而,已经注意到,在a古q且匕古O的情况下,实现最佳速率_失真性能。
[0069]还已经注意到,从速率-失真的角度来看,信令匕的传输成本是不合理的,使得格式可以简化为格式α.a+b)。图8用图形示出了根据该格式(i.a+b)构造的重构空间160。将注意的是,第一级别(例如,i = I)处于a+b,后续级别(i > I)间隔a。
[0070]可以将落入第i个子部分中的所有采样(即,变换域系数)定义为C(i)j,j =1,...,队。在该标记中,第i个子部分中的米样的数量为队。
[0071]在编码过程中,如果在例如片报头中的系数数据开始时信号通知重构空间,则这些采样可以是来自前一片、帧等的数据,然后,这些采样用于确定当前片、帧等的重构空间。在一个实施例中,当前片的重构空间可以基于具有相同类型和/或相同量化参数的前一片的采样数据;并且在片报头中信号通知重构空间。在某些情况下,以这种方式收集的统计数据可能是不稳定的,例如,采样数据的总数可能小于给定的阈值。在该情况下,可以使用重构空间的一些默认参数。在另一实施例中,如果在片/帧数据的末尾信号通知重构空间参数,则重构空间可以基于当前片或帧的采样数据;然而,这将导致解码器处的一片/帧延迟,这在一些实现中是不可接受的。
[0072]将理解的是,量化变换域系数U是使用量化步长q量化的变换域系数C,在下文中将量化步长q标记为qqP,以指定与针对特定的片、帧等所选择的qP值相关联的量化步长。注意,在一些实施例中,量化变换域系数U也可以并入缩放;例如,在一些示例性实现中,可以将这些值缩放128或某一其他因子(例如2%其中,m具有以比特为单位的计算精度),从而帮助促进有效的计算实现。在下面的描述中省略了缩放和相关操作的一些细节,但是本领域普通技术人员将理解这些细节。
[0073]根据变换域系数C(i)p可以按下式计算第i个级别的平均值:
【权利要求】
1.一种用于对视频数据进行编码的方法,所述视频数据被划分为包括量化变换系数集合的块,所述方法包括: 针对当前块中的每一个量化变换系数集合,收集统计数据,所述统计数据包括量化变换系数的数量和所述集合中的所有量化变换系数的相应非取整量化值之和, 针对所述当前块, 基于所述统计数据导出步长, 从预定的量化参数QP集合中选择具有最接近所导出的步长的相应步长的QP,以及 使用针对所述当前块所选择的QP来对下一个块进行编码。
2.根据权利要求1所述的方法,其中,所述当前块是以下各项之一:编码单元CU、大编码单元LCU、以及片。
3.根据权利要求1或权利要求2所述的方法,其中,收集统计数据是在每一个量化级别针对所述级别中的系数集合来执行的。
4.根据权利要求1至3中任意一项所述的方法,还包括:在导出所述步长之前确定初始QP,并且编码包括:将所选择的QP编码为所选择的QP与所述初始QP之差。
5.根据权利要求1至4中任意一项所述的方法,其中,收集统计数据包括:对所有非取整量化值求和,并且 量化级别中的量化变换系数的数量高于预定阈值。
6.一种用于对编码单元组的变换域系数进行编码的编码器,所述编码器包括: 处理器; 存储器;以及 编码应用,所述编码应用存储在所述存储器中并且包含用于将所述处理器配置为执行根据权利要求1至5中任意一项所述的方法的指令。
7.一种对编码数据的比特流进行解码的方法,所述数据包括指定量化步长的量化参数,所述方法包括: 从所述比特流中提取重构空间参数数据,并且对重构空间参数进行重构,以指定第一重构级别以及其他重构级别的重构步长,其中所述第一重构级别不等于所述重构步长,并且所述重构步长不等于所述量化步长; 对所述编码数据进行解码,以获得多个量化变换系数;以及 基于所述重构空间参数对每一个量化变换系数进行解量化,以生成重构变换系数。
8.根据权利要求7所述的方法,其中,所述重构步长不等于2%其中,m是用于表示所述重构步长的精度的比特数量。
9.根据权利要求7或权利要求8所述的方法,其中,解量化包括:基于所述第一重构级别与所述重构步长之差来计算第一级别偏差,并且其中,如果所述量化变换系数为非零,则根据所述第一级别偏差加上所述量化变换系数与所述重构步长的乘积来计算所述重构变换系数。
10.根据权利要求7至9中任意一项所述的方法,其中,提取包括:提取亮度分量的第一重构空间参数数据,并且提取色度分量的第二重构空间参数数据,并且解量化包括:使用根据所述第一重构空间参数数据重构的第一重构空间参数来生成亮度值的重构变换系数,并且使用根据所述第二重构空间参数数据重构的第二重构空间参数来生成色度值的重构变换系数。
11.根据权利要求7至10中任意一项所述的方法,其中,从所述比特流中提取重构空间参数数据包括:提取重构空间增量索引,并且基于所述重构空间增量索引和相应的重构空间参数预测来重构所述重构空间参数。
12.根据权利要求11所述的方法,其中,所述重构变换系数针对当前片,并且所述重构空间参数预测与来自另一片的数据无关。
13.一种用于对编码数据的比特流进行解码的解码器,所述解码器包括: 处理器; 存储器;以及 解码应用,所述解码应用存储在所述存储器中并且包含用于将所述处理器配置为执行根据权利要求7至12中任意一项所述的方法的指令。
14.一种用于对数据进行编码的方法,所述数据包括量化变换域系数以及指定量化步长的量化参数,所述方法包括: 基于所述量化变换域系数生成重构空间参数,并且根据所述重构空间参数导出重构空间参数数据,其中,所述重构空间参数标识第一重构级别和其他重构级别的重构步长,所述第一重构级别不等于所述重构步长,并且所述重构步长不等于所述量化步长; 对所述量化变换域系数进行熵编码;以及 生成包含编码的量化变换域系数和所述重构空间参数数据在内的比特流。
15.根据权利要求14所述的方法,其中,生成包括:将所述第一重构级别设置为等于量化至第一级别的变换域系数的平均值。
16.根据权利要求14或权利要求15所述的方法,其中,生成包括:使用量化至除第一级别之外的级别的变换域系数的平均步长来确定所述重构步长。
17.根据权利要求14至16中任意一项所述的方法,其中,生成包括:生成亮度分量的第一重构空间参数集合并且生成色度分量的第二重构空间参数集合。
18.根据权利要求14至17中任意一项所述的方法,其中,生成包括:预测所述重构空间参数,确定所述预测的误差,对所述误差进行量化,以及对量化误差进行编码,并且生成所述比特流包括:将编码的量化误差插入到片报头中。
19.根据权利要求18所述的方法,其中,所述量化变换域系数针对当前片,并且预测所述重构空间参数与来自另一片的数据无关。
20.一种用于对编码单元组的变换域系数进行编码的编码器,所述编码器包括: 处理器; 存储器,所述存储器存储数据点;以及 编码应用,所述编码应用存储在所述存储器中并且包含用于将所述处理器配置为执行根据权利要求14至19中任意一项所述的方法的指令。
21.一种存储处理器可执行指令的非瞬时处理器可读介质,当执行所述处理器可执行指令时 ,所述处理器可执行指令将一个或多个处理器配置为执行根据权利要求1至5、7至12以及14至19中任意一项所述的方法。
【文档编号】H04N19/463GK103959786SQ201280059215
【公开日】2014年7月30日 申请日期:2012年10月1日 优先权日:2011年9月30日
【发明者】余祥, 王競, 何大可 申请人:黑莓有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1