采用比特挪移方法的标量量化及其在视频编码中的应用的利记博彩app

文档序号:7752661阅读:232来源:国知局
专利名称:采用比特挪移方法的标量量化及其在视频编码中的应用的利记博彩app
技术领域
总的来说,本申请涉及图像处理领域,包括但不仅限于用于视频处理的采用比特 挪移方法的标量量化。
背景技术
人们对高效的数据压缩(或更普遍地讲,编码)技术的要求在不断增加。例如,视 频编码是许多应用的核心技术,这些应用包括消费电子方面,例如DVD播放机/刻录机、数 码相机、移动电话等等;互联网方面,例如流媒体视频应用、远程教育、监控和/或安全的应 用等等。除此之外,音频压缩技术也有着广泛的应用,例如基于MPEG标准的音乐播放(包 括MP3播放器),计算机,数字电视,卫星广播,有线广播等等。有损视频压缩的核心技术是量化。量化过程利用一系列整数值的量化标志来将一 定范围内连续的输入值或较大范围的离散输入值进行近似。一个视频帧被分为多个宏块 (macroblock,简称MB),这些宏块依次被编码。其中,每一个宏块(MB)可选择帧内模式或者 帧间模式其中的一种进行编码。在帧内模式下,宏块的原始数据,也就是宏块的像素值,将 在不进行预测的情况下做变换编码。另一方面,帧间模式下的解码,是对之前得到的解码帧 做运动补偿来预测当前宏块。帧内/帧间模式下的预测误差、或者残差,通过变换得到变换 系数。量化技术即是用在对变换系数的处理。在很多情况下,视频编码系统使用标量量化, 对标量的输入数据进行操作。也就是,每一个输入数据都被分别处理得到一个输出值,即, 用有限的数值集合来近似一定范围内的连续输入值。一个以X(如视频数据)为输入的标量量化器,包括两个函数(1)分类函数I = C [X],该函数根据编码器端输入的X,选择一个整数值的标识符 I表示某一类,或者量化指标;(2)重构函数Y = R[I],该函数根据量化指标I,在解码端将 X的值重构(表示为Y)。传统的编码技术利用死区加上均勻阈值的分类量化器/均勻重构 量化器(DZ+UTQ/URQ),来近似表示某一范围内的输入值。尽管这种技术把对死区大小的调 整和DZ+UTQ相关联,如利用死区的参数(ζ)和/或四舍五入时的补偿值(f)来改善编码时 标量量化器的编码效率,但这种技术还是会引起率失真的增加。上述提到的当今图像处理技术和相关的编码技术的缺陷在于,它们仅仅提供了对 传统技术存在问题的概述,而且并不全面。其他前沿的问题,和这里所述的非限制性的实施 例的相应优点,将随着下面的详细描述而显而易见。

发明内容
下面将给出一个简要概要来提供对于在此描述的一些方面的基本理解。这个概要不是本发明的广泛概述。它的目的不是为了示意本发明重要或是关键的部分,也不是描述 本发明的范围。它的真正目的是作为后面将给出的更多的细节方面描述的前奏,以简洁的 形式给出本发明的一些想法。为了纠正当前图像处理技术和传统视频处理技术的其他不足、在此所述的各种系 统、方法和设备利用比特挪移参数来适应性归零变换系数。例如,一种编码视频数据的方法 可以包括将图像分成视频数据块;将视频数据块的像素值变换成变换系数;基于可变的比 特挪移参数来调整预定义的量化区间的大小;并基于预定义的量化区间,通过将变换系数 的系数值映射成经量化的系数值(包括经量化的系数值的编码的视频数据),来量化变换 系数。在另一个示例中,一种编码器可以包含一个分割单元,它可以将一幅图像分成视 频数据块。而且,所述编码器可以包含一个频率变换单元,它可以将视频数据块的像素值变 换成变换系数。另外,编码器可以包含一个比特挪移量化单元,这个单元可以预定义量化区 间;按照一个可变的比特挪移参数来改变量化区间的大小;并且可以基于量化区间来将变 换系数值量化为经量化的系数值。在另一个示例中,一种系统可以包含将视频数据块中的像素值变换成变换系数的 装置;基于可变的比特挪移参数来调整预定义的量化区间大小的装置;以及基于预定义的 量化区间将变换系数量化成经量化的系数值的装置。下面的描述和附图详细阐述了本发明的某些示例性方面。然而这些方面仅仅表示 可以采用本发明原理的各种方式中的一些方式。本发明旨在包含所有的这些方面及其等价 物。本发明其他的优点和区别特征从接下来详细地描述和图示中将变得显然。


参考下面的图,将介绍本发明的非限制性和非穷举性实施例,其中相同的参考标 号在整个说明书中是指相同部件,除非另有指定。图1示出了根据一个实施例的图像处理系统的框图。图2示出了根据一个实施例的图像处理系统的分类阈值。图3-图4示出了根据一个实施利的率失真曲线。图5示出了根据一个实施例的编码器的框图。图6-图8示出了根据一个实施例的不同比特挪移量化单元的框图。图9-图16示出了根据一个实施例的与使用比特挪移参数来适应性归零变换系数 相关的不同进程。图17示出了根据一个实施例的可以执行本发明系统和方法的计算机系统的框 图。
具体实施例方式这里用了多个实施例来说明使用比特挪移参数的适应性归零变换系数的系统、方 法和设备。但本发明并不仅限于这些实施例。为了使本发明的技术方案和优点更加清楚,下面结合实施例对本发明作进一步的 详细阐述。然而,一个本领域内的技术人员应该知道,该技术的实施可以在缺少一个或多个
6细节的情况下,也可以在与其他方法、单元、或者材料等联合使用的情况下进行。在其他情 况下,常用的结构、材料、或者操作,都将不再进行详细的阐述,以免混淆。整个说明书中参考“一个实施例”,是指连同该实施例所描述的一个特定的功能、 结构或特征包含于至少一个实施例中。因此,在本说明书中提及的“一个实施例”不一定都 指向同一个实施例。此外,其中特定的功能、结构和特征可以以任何合适的方式组合在一个 或多个实施例中。此处使用的术语“单元”、“系统”、“接口”、和类似的词语都指的是与计算机相关的 实体、硬件、软件(例如,执行)、和/或者固件。比如,一个单元可以是一个处理器,一个进 程可以在一个处理器、一个对象、一个可执行程序、一个存储设备、和/或者一台计算机上 运行。作为示例,一个在服务器上运行的应用程序和该服务器可以是一个单元。一个或多 个单元可以在一个进程中,并且一个单元可以存在于一台计算机上、或者分布在两台或两 台以上的计算机之间。此外,这些单元可以从多种计算机可读介质进行操作,这些介质上存储有多种数 据结构。这些单元可以通过本地和/或者远程进程相互通信,比如依据一个具有一个或多 个数据包的信号(例如,一个单元上的数据通过该信号与本地系统、分布式系统或者通过 网络连接的其他系统中的另一个单元相交互,网络连接的方式有因特网、局域网、广域网
寸乂 O如另一个例子,一个单元可以是有着特殊功能的装置,这个功能由靠电动或电子 电路操作的机械部分提供;这个电动或电子电路的操作可以由软件应用程序来完成,或者 由一个或多个处理器执行的固件应用程序来完成;这里一个或多个处理器可以处于装置内 部或者外部,并且可以执行至少一部分软件或固件应用程序。还有一个例子,通过没有机 械部分的电子单元来提供特殊功能的装置,也可以是一个单元;其中电子单元可以包括一 个或者多个处理器,该处理器可以操作提供电子元件的至少一部分功能的软件和/或者固 件。从某方面来说,一个元件可以通过(比如处于云计算系统内的)虚拟机来仿真一个电 子元件。“示例性的”和/或者〃指示性〃这种词在这里用于指一个例子。为了避免混淆, 本发明并不仅限于这些例子。另外,任何被描述成“示例性的”和“指示性”的方面或设计 都并不一定指它们要优于其他的方面或设计,也不意味着排除本领域内普通技术人员应熟 知的同等示例性的单元和技术。此外,用于说明书或者权利要求中的术语“包括”、“具有”、 “包含”、及其他类似词语,都具有包含的意义,与开头过渡用的“包括” 一样,它们都不排除 其他额外的成分。人工智能系统,例如使用明确或不明确训练出的分类器,可以依照本发明的一个 或多个的方面与执行推理、和/或概率决定和/或基于统计的决定一同应用。例如,一个人 工智能系统可以用来通过分割单元510 (见下文)来自动地把图像分成视频数据块。而且, 人工智能系统可以用来通过频率变换单元520 (见下文)来自动地把视频数据块中的像素 值变换成变换系数。更进一步地,人工智能系统还可以被用来通过比特挪移量化单元120 来自动地预定义的量化区域;基于可变的比特挪移参数来改变量化区间的尺寸;以及根 据量化区间来将变换系数量化为经量化的系数值。在此使用的“推理”一词总的来说指的是关于系统、环境、用户和/或是从事件和/或数据中得到的一系列观察项的各个状态的推理过程。得到的数据和事件包括用户数据、 设备数据、环境数据、感应数据、应用数据、隐式数据和显式数据等。推理可以被用于识别具 体的背景或行动,或者根据一些数据或事件的认识生成一个概率分布。推理还可以被用来从一系列事件和/或数据合成高等级事件。这些推理导致从一 系列的观察得到的事件和/或存储的事件数据中构建的新的事件或行动,这些事件是不是 在时间接近性上相关,这些事件和数据是不是从一个或数个事件和数据源中得来。不同的 分类方法和/或是系统(例如,支持向量机、神经网络、专家系统、贝叶斯信任网络、模糊逻 辑和数据融合引擎)可以与本发明中的自动和/或是推理的操作一同使用。另外,本发明可以被实现为一种方法、设备、或是使用标准编程和/或工程技术来 制造软件、硬件、固件、或其任意组合以控制计算机实现本发明的制造品。这里提及的术语 “制造品”指的是包含从任何计算机可读设备、计算机可读载体或计算机可读介质中可获得 的计算机程序。例如,计算机可读介质包括,但不局限于,一个磁性存储设备,例如,硬盘;软 盘;磁条;光盘(例如,压缩光盘(⑶),一个数字视频光盘(DVD),一个蓝光光盘(BD));—个 智能卡;一个闪存设备(例如,卡,条,键控));和/或是一个模仿存储设备和/或以上的任 意一种计算机可读介质的虚拟设备。如图1,显示了根据一个实施例的图像处理系统100的框图。图像处理系统100 的方面和在此说明的系统、其他设备、和进程可以构成包含于机器内的机器可执行命令,例 如包含于与一个或多个机器相关联的一个或多个机器可读介质中。当这样的命令被一个或 多个机器执行时,例如,计算机、计算设备、虚拟机器等,可以让机器按照上面描述的步骤执 行。而且,这些系统和过程可以被嵌入硬件中,例如用ASIC或类似硬件来实现。另夕卜, 有些进程中的进程块顺序不应该被限制住。有些进程块可以排成多个顺序来运行而不是完 全按照图示执行。图像处理系统100包括含有比特挪移量化单元120的编码器110。编码器110可 以接收和/或获得可包括像素块的视频数据(X) 105。另外,编码器110可以和解码器130 耦接起来,解码器13可以0把X重建成重构数据(Y) 125。如上述所说,虽然传统的图像处理技术可以通过调整死区的大小和/或补偿值 (与DZ+UTQ相关)来改进编码标量量化器的编码效率,但是这种技术也会导致率失真的增 加。从另一个方面来讲,编码器110这样被包含在一个图像处理系统(例如,图像处理 系统100)里面可以通过利用比特挪移参数(d)来适应性归零变换系数来改进与标量量化 相关的率失真性能。例如,在图2中分析了根据一个实施例的经过比特挪移量化单元120改 进过的量化器210的分类阀值205。如图所示,s是量化器210的分类区域(或区间)的区 间大小,或是宽度,不等于I = -1,0,和1 ;ζ是死区参数;207是重构值(Y)。同样地,位于 量化器210的区间I = 0的死区的大小212可以通过比特挪移量化单元120调整至s+2d ; 死区的分类阈值205可以由比特挪移量化单元120设置为-zs/2-d和zs/2+d。通过将死区的大小212增加d (在死区的分类阈值205处),比特挪移量化单元120 可以将有着量化索引I = 1和I = -1的分类区域的区间宽度215减小为s-d ;相反,所有 的非死区的分类区域在传统的DZ+UTQ/URQ量化技术中都有着区间大小S。相应地,不像传统的图像处理技术,比特挪移量化单元会在量化过程中“挪移”比特,例如,从标有量化索引 工=i和〗=4的分类区域中,并且可以有效地减少通过解码器130进行重建得到的量化 输出(Y) 125的码率。同样的,如下所述,与传统的量化器技术相比,比特挪移量化单元120 可以减少率失真。在一个或多个方面中,编码器110的率失真性能可以如下得到可以表明,在某个 包含了一个死区参数ζ的工作点,一个比特挪移参数d可以产生如公式(1)所定义的失真 的变化D(d) - D(O) = 2 χ2p{x)dx - 2 J+^ (jc - )2 p(x)dx,(”其中T = zs/2,D(d)是比特挪移参数d对应的失真,而D(O)是没有比特挪移时的 失真,也即,传统DZ+UTQ/URQ的失真。公式(1)可以估计为如下定义的公式(2)
D(d)-D(O) = e~x{T+d)(~2s)(T + d) + 2sTe~λΤ + e~λΤ+ s2)^ -1)λ
(2)同样,可以表明,在某个包含了 一个死区参数ζ的工作点,一个比特挪移参数d可 以如公式(3)所定义的码率的变化H (d) -H (0) = -A (T+d) IogA (T+d) +A (T) IogA (T)(T+d)A (s-d) [_log2- λ T-λ d+logA (s_d)]tA (s) [_log2_ λ T+logA (s)](3)其中A(x) = l-e-“(4)如图3和图4所示,传统DZ+UTQ/URQ量化技术是基于对死区参数ζ的不同设定的,
与此传统技术相关的率失真曲线(见虚线310和410),在给定比特率(或率失真)(纵轴表 示均方差D ;横轴表示码率H)的情况下,比使用了采用比特挪移量化单元120 (见线320和 420)得到的失真更大,比特挪移量化单元120的比特挪移参数d的范围例如取0到s-sz/2 时。现在参考图5,示出了根据一个实施例的编码器110的框图。除了比特挪移量化单 元120外,编码器110还包括一个分割单元510和一个频率变换单元520。分割单元510把 一副图像分割成多个视频数据块。一方面,图像,比如视频信号、视频数据105等,是一种时 域信号,通常由一到多个二维的图像帧组成,每一帧又由一系列的数据块构成;另一方面, 视频信号数据块能表示成8*8的视频信号像素区域(又叫宏块),和/或者其他适当大小的 块、和/或者其他的像素排列。在另一个例子里,视频信号数据块可以包括帧内编码块、帧 间编码块和其他类型的块。帧内编码块(又称I块)是指只用该数据块所在的同一帧内的 信息来编码。帧间编码块(又称预测块或者P块)是指用当前帧、前面的帧和/或者后面 的帧的信息来编码的块。频率变换单元520用于将数据块的像素值变换成变换系数,例如,离散余弦变换 (DCT)系数,其包括一个DC系数(代表数据块像素的均值);和一组AC系数(代表数据块 像素在各自增大的频率下的变化)。另外,比特挪移量化单元120用于预定义如与量化器210相关的量化区间(见上文)。此外,比特挪移量化单元120通过一个变化的比特挪移参数,比如d,来调整量化 区间的大小。而且,比特挪移量化单元120基于量化区间来将某个变换系数量化为经量化 的系数值。比如,比特挪移量化单元120能根据预定义的量化区间通过将每个系数值映射 成一个经量化的系数值来量化变换系数,其中量化区间的大小可以根据可变的比特挪移参 数来调整。一方面,比特挪移量化单元120基于一个四舍五入的补偿值来调整量化区间的大 小,此补偿值不属于由比特挪移量化单元120编码的视频数据。另一方面,比特挪移量化 单元120还能基于可变的比特挪移参数的值来调整量化区间的大小,这个值等于或者大于 零,且小于或者等于预定义的量化区间的步长减去半个与死区相关的量化区间的步长,比 如,这个值等于或者大于零,且小于或者等于s-sz/2。另一方面,比特挪移量化单元120还能用于调整、或更新视频数据中与数据块像 素相关的视频序列的每个场的比特挪移参数或者视频序列的每一帧的比特挪移参数。一方 面,比特挪移量化单元能进一步针对每个视频序列更新一次比特挪移量化参数;和/或者 针对每个视频序列的预定义子序列更新其比特挪移参数。另一方面,比特挪移量化单元120还能基于宏块的类型来量化变换系数,宏块的 类型包括帧内编码(I)的宏块(I块),帧间预测编码(P)的宏块(P块)或者双向预测编码 (B)的宏块(B块)中的至少一种。而且,比特挪移量化单元120能基于宏块的类型来调整 比特挪移参数。现在参考图6,根据一个实施例,显示了比特挪移量化单元120,其包括检测单元 610和调整单元620。检测单元610用于基于一个频率、一个视频数据区域或一个视频数据 的子序列中的至少一种来检测变化系数的一个或者多个变化或方差。另外,调整单元620 能基于一个或多个方差来调整可变的比特挪移参数。图7示出了根据一个实施例的比特挪移量化单元120,它包括一个分割单元710。 分割单元710可以被配置为将视频数据分成不同的区域或是不同的子序列中的至少一种。 而且,检测单元610可以被进一步配置为基于不同的区域或是不同的子序列中的至少一种 来检测一个或多个方差。图8示出了根据一个实施例的比特挪移量化单元120,它包括一个预测单元810和 一个数据库单元820。数据库单元820可以用来将信息(例如,包含例如与视频数据105等 相关的一个块的变换系数和/或经量化的系数值等的)信息存储在例如存储介质的数据存 储器(未示出)中。而且,预测单元810可以被配置来基于之前编码的块的信息来预测一 个例如与经量化的系数值相关的要进行编码的数据块,之前编码的块的信息例如是与通过 比特挪移量化单元120、检测单元610、调整单元620等产生的并且例如经由数据库单元820 存在数据存储器中的相关信息。图9-16示出根据本发明的方法。为了解释上的简单,这个方法以一系列操作来描 述。应该指出,本发明的创新不局限于所图示的操作或是操作的顺序。例如,操作可以以任 意的顺序执行或是同时执行,或是和其他未在此提及的操作一起执行。而且,并不是需要所 有图示的操作来实现根据本发明的方法。而且,所属领域的技术人员将理解这个方法可以 表示成包含一系列相关状态的状态图或状态事件。另外,还应当理解以下和整个说明书公
10开的这些方法可以存在一个工业品上来将这些方法传输或是转换进计算机中。在此提及 的术语工业品旨在包含一个可以从任意计算机可读设备、载体或是媒介中获取的计算机程序。图9示出了根据一个实施例的与编码器(例如110)等相关的进程900。在910,一 个图像(例如视频数据105等)可以被划分成块,例如代表图像的8*8像素区域(或是宏 块)。在920,块中的像素可以被变换成变换系数。在930,预定义的量化区间的大小可以基 于一个可变的比特挪移参数(例如,d)来加以调整、修改等(例如,图2所示的与I = -1、 工=0、和〗=i相关的区间)。在940,可以基于预定义的量化区间通过将变换系数的系数 值映射成量化后的系数值来量化变换系数。图10示出了根据一个实施例的另一个与编码器(例如110)等相关的进程 (1000)。在1010,一个视频序列可以从例如视频数据105等的视频数据中被检测出来。在 1020,可以针对视频序列的每一场或是每一帧来更新一次可变的比特挪移参数(例如,d)。 在1030,预定义的量化区间可以基于可变的比特挪移参数来加以调整。在1040,与视频序 列的一个块的像素相关的变换系数可以基于预定义的量化区间通过将变换系数的系数值 映射成量化后的系数值而被量化。图11示出了根据一个实施例的与基于宏块的类型采用不同的比特挪移参数相关 的进程(1100)。在1110,例如经由编码器110等通过量化变换系数来编码视频数据,所述 量化基于预定义的量化区间,这个量化区间可以按照比特挪移参数来加以调整,该比特挪 移参数可以作为视频数据的宏块的类型(例如,I类,P类,B类等)的函数。不同的比特挪 移参数(例如,d)可以按照宏块的类型在1120中来选择、使用等。在1130,预定义的量化 区间的大小可以基于不同的比特挪移参数来加以调整。在1140,与宏块中块的像素相关联 的变换系数可以基于预定义的量化区间通过将变换系数的系数值映射成量化后的系数值 而被量化。图12中描述了根据一个实施例的用于基于所检测到的变换系数的方差来调整可 变的比特挪移参数的进程1200。在1210,与视频数据的不同频率、不同区域、不同子序列相 关的一个或多个变换系数的方差可以被检测出来。一个可变的比特挪移参数可以在1220 基于一个或多个方差来调整(或修改)。在1230,可以通过可变的比特挪移参数来调整、修 改预定义的量化区间的大小。在1240,与视频数据中的块像素相关的变换系数可以基于预 定义的量化区间通过将变换系数的系数值映射成量化后的系数值而被量化。图13描述了根据一个实施例的将视频数据分成不同区域和/或不同子序列的进 程1300。在1310,视频数据可以被划分为包含块的不同的区域、或是包含块的不同的子序 列。块的像素可以在1320被变换成变换系数。在1330,变换系数的方差可以基于不同的区 域或是不同的子序列而被检测出来。一个可变的比特挪移参数(例如,d)可以基于所检测 到的方差在1340来加以调整。在1350,可以通过可变的比特挪移参数来调整、修改预定义 的量化区间的大小。在1360,可以基于预定义的量化区间,通过将变换系数的系数值映射成 量化后的系数值来量化变换系数。图14-图15示出了根据一个实施例的例如编码器110使用一个比特挪移参数(d) 来适应性地将变换系数归零的进程(1400和1500)。在1410,一幅图像或是图像信息可以 被分成视频数据块。进程1400,例如,通过编码器110或是其变型,可以在1420例如参照与数据库单元820相关的数据存储器中的信息来确定一个或多个视频数据块之前是否已经 被例如编码器110等编码。如果进程1400确定一个或多个块已经被编码,则进程1400,例 如通过预测单元810,可以基于之前编码的块来预测和/或选择一个块;否则,进程400可 以在1440选择一个块。在1510处,进程1500可以把数据块的像素值变换成变换系数。在1520,进程1500 可以例如经过编码器110基于可变的比特挪移参数来调整预定义的量化区间的大小。在 1530,基于预定义的量化区间,通过把变换系数的系数值映射成经量化的系数值来量化变 换系数。现在参考图16,它是根据一个实施例的例如经由编码器110利用比特挪移参数 (d)来适应性归零变换系数的另一个进程(1600)。在1605,一个视频序列可以被检测、分 析、获得、接收等等。进程1600可以在1610确定是否检测到一个新的视频序列场和/或者 视频序列帧。如果进程1600确定检测到一个新的场和/或帧,则流程到达1620,在1620可 以被更新可变的比特挪移参数;否则进程转到1640,在1640,进程1600可以将场和/或者 帧的视频数据块的像素值变换为变换系数。流程从1620到达1630,在1630,进程1600可以基于可变的比特挪移参数来调整 预定义的量化空间的大小。在1650,基于预定义的量化空间的大小,通过把变换系数的系数 值映射到经量化的系数值,来量化变换系数。在本发明中所采用的术语“处理器”基本上可以指任何计算处理单元或者设备,包 括但是不局限于包括单核处理器;有软件多路线执行能力的单核处理器;多核处理器;有 软件多路线执行能力的多核处理器;有硬件多路线技术的多核处理器;并行平台;和带有 分布式共享内存的并行平台。另外,一个处理器可以指被设计为执行在此所述的功能和/ 或进程的一个集成电路、一个专用集成电路(ASIC)、一个数字信号处理器(DSP)、一个现场 可编程门阵列(FPGA)、一个可编程的逻辑控制器(PLC)、一个复杂可编程逻辑装置(CPLD)、 一个离散的门或者晶体管逻辑电路、离散的硬件组成或者其组合。处理器可以采用纳米级 别构造,例如但不局限于基于分子或者量子点的晶体管、开关和门,从而优化空间利用率或 者提高移动设备的性能。一个处理器还可以被实现为一些计算处理单元的组合。在本发明中,术语“储存”、“数据存储”、“数据存储器”、“数据库”、“存储媒介”和基 本上任何与单元和/或进程相关的其他信息存储单元指的是“存储单元”、或者包含于“存 储器”中的实体、或者包含存储器的单元。应当理解,在此所述的存储单元可以是易失性存 储器或非易失性存储器、或者可以既包括易失性存储器也可以包括非易失性存储器。举例来说,但不限于此,例如非易失性存储器可以包含于上述的(例如与数据库 单元820相关的)存储系统、非易失性存储器1722 (见下文)、硬盘存储器1724 (见下文) 和存储设备1746 (见下文)中。而且,非易失性存储器可以包含于只读存储器(ROM)、可 编程ROM (PROM)、可擦可编程ROM (EPROM)、电子式可清除ROM (EEPROM)、或者闪存。易失 性存储器可包含随机存储器(RAM),它作为外部高速缓冲存储器。举例来说,但不限于此, RAM可以以很多形式获得,例如同步RAM (SRAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、双数 据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)、和直接内存总线 RAM(DRRAM)。另外,在此公开的系统或者方法的存储单元旨在包括、但不限于包括这些和任 何其他适合类型的存储器。
为了给本发明的不同方面提供一个背景环境,图17和下面的讨论将给出一个关 于可实施本发明各方面的环境的简要、大概的描述,例如与图1-16相关的不同进程的实 施。虽然上面介绍的是本项发明在计算机可执行程序运行的环境,所属领域的技术人员应 当认识到本发明的创新技术也可以与其他程序模块一起实施。一般来讲,程序模块包括可 以完成特定任务和/或对特定数据类型操作的路径、程序、组件、数据结构等。而且,所属领域的技术人员将理解本发明的系统能够兼容其他的计算机系统配 置,包括单处理器或多处理计算机系统、微型计算机设备、大型计算机和个人计算机、手持 计算设备(例如PDA、电话、手表)、基于微处理器或可编程的消费或工业电子产品等。以上 介绍的方面也可以在通过通信网络连接的远程处理设备执行任务的分布式计算环境中应 用。然而,并不是本发明的所有方面都可以在独立计算机中实现。在分布式计算环境中,程 序模块可以设置在本地和远程内存存储设备中。参照图17,示出了根据一个实施例的一个可执行本发明的系统和方法的计算系统 1700的框图。计算机1712包括一个处理单元1714、一个系统内存1716和一个系统总线 1718。系统总线1718将包括,但不限于,系统内存1716的系统组件耦接到处理单元1714。 处理单元1714可以是任意一种可用处理器。双微处理器和其他多处理器单元结构也可以 作为处理单元1714来使用。系统总线1718可以是以下几种类型总线结构中的任意一种包括内存总线或内 存控制器、外围总线或外部总线、和/或本地总线,本地总线使用包括但不限于工业标准单 元(ISA),微通道架构(MSA),扩展ISA (EISA),智能驱动电子(IDE), VESA本地总线(VLB), 外围组件互连(PCI),卡线,通用串联总线(USB),高级图形接口(AGP),个人计算机存储卡 国际协会总线(PCMCIA),火线(IEEE 1194)和小计算机系统界面(SCSI)局部总线的可用总 线单元中的任意一种。系统存储器1716包括易失性存储器1720和非易失性性存储器1722。一个基本输 入/输出系统(BIOS),包括例如在启动过程中在计算机1712内的元件之间传输信息的路 径,可将信息存储在非易失性存储器1722中。比如说,非易失性存储器1722包括(不只包 括)ROM、PROM、EPROM、EEPROM或是闪存。举例来说,易失性存储器1720包括作为外部高速 缓冲存储器的RAM。RAM也可以是多种形式,例如SRAM、动态RAM(DRAM)、同步DRAM (SDRAM)、 双数据率SDRAM (DDRSDRAM)、增强型SDRAM (ESDRAM)、同步链接DRAM (SLDRAM)、直接总线 RAM(RDRAM)、直接总线动态RAM(DRDRAM)和总线动态RAM(RDRAM)。计算机1712也可以包括可移动/不可移动、易失性/非易失性的计算存储媒介, 例如SAN存储的网络连接存储(NAS)等。例如,图17图示了硬盘存储1724。硬盘存储器 1724包括(不局限于)类似于磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动 器、LS-100驱动器的装置,闪存卡或是内存条。而且,硬盘存储器1724可以包括独立的存 储媒介、也可以包括与其他存储媒介一起使用的存储媒介,其他存储媒介包括(但不限于) 光盘驱动器,例如高密度磁盘ROM驱动器(⑶-ROM)、⑶可记录驱动器(⑶-R Drive),⑶可 写驱动器(⑶-RW Drive)或是数字多功能光盘(DVD-ROM)。为了连接硬盘存储设备1724和 系统总线1718,通常使用一个可移动或是不可移动的接口,例如接口 1726。应当理解,图17描述了在用户和在适当的操作环境1700中描述的计算机资源之 间充当中间人的软件。这种软件包括一个操作系统1728。操作系统1728可以存储在硬盘存储器1724中,来控制和分配计算机1712的资源。系统应用程序1730通过使用程序模块 1732和存储在系统存储器1716或是硬盘存储器1724中的程序数据1734的操作系统1728
来管理资源。一个用户可以经输入设备1736输入命令或信息到计算机1712中。输入设备1736 包括(但不限于)一个指示装置,例如鼠标、轨迹球、触针、触摸板、键盘、麦克风、控制杆、游 戏摇杆、卫星天线、扫描仪、TV调谐卡、数字照相机、数字视频摄像机、网络照相机等。这些 和其他输入设备通过系统总线1718经由接口端口 1738连接到处理单元1714。接口端口 1738例如包括一个串行端口、一个并行端口、一个游戏端口和一个通用串行总线(USB)。输 出设备1740包括一些与输入设备1736相同类型的端口。所以,例如,一个USB端口可以用来给计算机1712提供输入以及从计算机1712给 输出设备1740提供信息输出。提供输出适配器1742来说明除了使用特殊适配器的其他 输出设备1740之外存在一些例如显示器、扬声器、和打印机的输出设备1740。输出适配器 1742例如(但不限于)包括能够连接输出设备1740和系统总线1718的视频和声音卡。应 该注意,有的设备和系统可以既提供输入也提供输出能力,例如远程计算机1744。计算机1712可以使用与一个或是多个远程计算机(例如远程计算机1744)的逻 辑连接来在一个连网的环境中操作。远程计算机1744可以是个人计算机、服务器、路由器、 网络计算机、工作站、基于微处理器的设备、同等设备或是其他公共网络节点等,而且主要 包括很多与之前介绍的计算机1712相关的很多单元。为了简洁,在远程计算机1744中只介绍一个存储设备1746。远程计算机1744通 过一个网络接口 1748逻辑连接到计算机1712,然后物理连接到通信连接1750。网络接口 1748包括有线和/或是无线通信网络,例如局域网络(LAN)和广域网络(WAN)。LAN技术包 括光纤分布式数据接口(FDDI)、铜分布式数据接口(⑶DI)、以太网、令牌环等。广域网技术 包括(但不限于)点对点链接、电路交换网(例如综合业务数字网络(ISDN)及其变型)、包 交换网络和数字用户线路(DSL)。通信连接1750指的是用于将网络接口 1748连接到总线1718的硬件/软件。这 里为了解释的清楚,通信连接1750被包含在计算机1712中,它也可以在计算机1712之外。 用于连接至网络接口 1748的硬件/软件例如可以包含包括规则电话调变调制解调器、电缆 调制器和DSL调制解调器,ISDN适配器,和以太网卡的内部和外部技术。以上关于本发明的实施例的说明,包含摘要中描述的部分,其目的并不是要穷举 或是将所公开的实施例限制为所公开的具体形式。在此,具体的实施例和实例是以解释的 目给出的,而所属领域的技术人员能够认识到可以进行各种变型,这些变型被认为落入这 些实施例和实例的范围。在这点上,虽然已经给出了本发明较佳的实施例和相应附图的描述,但是应当理 解,可以使用其它类似的实施例,或者可以在不脱离本发明的范围的情况下对所述的实施 例进行修改和添加,来执行相同的、类似的、可替换的或者代替功能。因此,所公开的本发 明不应当局限于在此所述的任何单个实施例,凡在本发明的精神和原则之内所作的任何修 改、等同替换和改进等,均应包含在本发明的所附权利要求的保护范围之内。
权利要求
一种对视频数据进行编码的方法,包括将一幅图像分割成多个视频数据块;对多个视频数据块中的一个视频数据块的像素值作变换得到变换系数;基于可变的比特挪移参数,调整预定义的量化区间的大小;基于预定义的量化区间,通过将一个变换系数的系数值映射成一个经量化的系数值,来量化变换系数,其中,经编码的视频数据包括这些经量化的系数值。
2.根据权利要求1所述的方法,其中调整预定义的量化区间的大小包括基于四舍五 入补偿值来调整预定义的量化区间的大小,其中,该四舍五入补偿值不包括在经编码的视 频数据中。
3.根据权利要求1所述的方法,其中调整预定义的量化区间的大小包括基于可变的 比特挪移参数的值来调整预定义的量化区间的大小,其中可变的比特挪移参数的值大于或 等于零,以及其中可变的比特挪移参数的值小于或等于预定义的量化区间的步长减去与死 区相关的预定义的量化区间的步长的一半。
4.根据权利要求1所述的方法,还包括至少在每一帧视频序列或每一场视频序列中,更新一次可变的比特挪移参数。
5.根据权利要求1所述的方法,还包括在每一个与量化相关的视频序列中,更新一次可变的比特挪移参数;或者 在每一个预定义的视频子序列中,更新一次可变的比特挪移参数。
6.根据权利要求1所述的方法,还包括基于宏块的类型,利用量化来编码视频数据; 其中,宏块的类型至少包括以下的一种帧内编码(I)的宏块、帧间预测编码(P)的宏块、和双向预测编码(B)的宏块;以及 基于宏块的类型采用不同的比特挪移参数。
7.根据权利要求1所述的方法,还包括基于视频数据的频率、视频数据的区域、或者视频数据的子序列中的至少一种,来检测 变换系数的一个或多个方差;和基于一个或多个方差,来调整可变的比特挪移参数。
8.根据权利要求1所述的方法,还包括 把视频数据分割成不同的区域;基于不同的区域,检测变换系数的一个或多个方差;和 基于一个或多个方差,调整可变的比特挪移参数。
9.根据权利要求1所述的方法,还包括 把视频数据分割成不同的子序列;基于不同的子序列,检测变换系数的一个或多个方差;和 基于一个或多个方差,调整可变的比特挪移参数。
10.根据权利要求1所述的方法,还包括基于多个已经经由量化而编码的块,来预测一个块。
11.一种编码器,包括分割单元,将一幅图像分割成多个视频数据块;频率变换单元,将视频数据块的像素值变换为变换系数;和 比特挪移量化单元,用于 预定义量化区间;基于可变的比特挪移参数,调整量化区间的大小;和 基于量化区间,将变换系数量化为经量化的系数值。
12.根据权利要求11所述的编码器,其中,比特挪移量化单元被进一步配置为基于四 舍五入的补偿值来调整量化区间的大小,该四舍五入的补偿值未包括在与经量化的系数值 相关联的编码数据中。
13.根据权利要求11所述的编码器,其中,比特挪移量化单元被进一步配置为基于可 变的比特挪移参数的值来调整量化区间的大小,其中可变的比特挪移参数的值大于或等于 零,且小于或等于预定义的量化区间的步长减去与死区相关的量化区间的步长的一半。
14.根据权利要求11所述的编码器,其中,比特挪移量化单元被进一步地配置为在视 频数据中与视频数据块的像素相关联的视频序列的每一场或每一帧中更新一次可变的比 特挪移参数的值。
15.根据权利要求11所述的编码器,其中,比特挪移量化单元被进一步地配置为在视频数据中与视频数据块的像素相关联的每一个视频序列中,更新一次可变的比特 挪移参数;或者在视频序列的每一个预定义的子序列中,更新一次可变的比特挪移参数。
16.根据权利要求11所述的编码器,其中比特挪移量化单元被进一步配置为 基于宏块的类型,来量化变换系数,其中,宏块的类型至少包括以下的一种帧内编码(I)的宏块、帧间预测编码(P)的宏 块、双向预测编码⑶的宏块;以及基于宏块的类型来改变可变的比特挪移参数。
17.根据权利要求11所述的编码器,其中比特挪移量化单元包括检测单元,基于视频数据的频率、视频数据的区域、或者视频数据的子序列中的至少一 种,检测变换系数的一个或多个方差;和调整单元,基于一个或多个方差,调整可变的比特挪移参数。
18.根据权利要求17所述的编码器,其中比特挪移量化单元还包括分割单元,将视频数据分割成不同的区域和不同的子序列中的至少一种,其中 检测单元,进一步被配置为基于不同的区域和不同的子序列中的至少一种,来检测一 个或多个方差。
19.根据权利要求17所述的编码器,其中比特挪移量化单元进一步包括数据库单元,在数据存储器中存储视频数据块的信息,所述信息包括变换系数和经量 化的系数值中的至少一种;和预测单元,根据所述信息,来预测其它视频数据块,其中频率变换单元被进一步配置为 将所述的其它视频数据块的像素值变换为变换系数。
20.一种系统,包括用于将视频数据块的像素值变换成变换系数的装置; 基于可变的比特挪移参数来调整预定义的量化区间的大小的装置;基于预定义的量化区间将变换系数量化为经量化的系数值的装置。
全文摘要
本申请公开了采用比特挪移方法的标量量化及其在视频编码中的应用,提出了通过采用比特挪移参数来适应性归零变换系数的系统、方法和装置。一个分割单元,用于将一幅图像分成多个视频块。另外,一个频率变换单元,用于将一个视频块的像素值变换为变换系数。除此之外,一个采用比特挪移方法的量化单元,来预定义量化区间。特别是,该采用比特挪移方法的量化单元,可以基于可变的比特挪移参数调整量化区间的大小。此外,该采用比特挪移方法的量化单元可以基于量化区间将变换系数量化为经量化的系数值。
文档编号H04N7/26GK101931805SQ201010211749
公开日2010年12月29日 申请日期2010年6月18日 优先权日2009年6月19日
发明者区子廉, 张星宇, 张毅文 申请人:香港科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1