技术领域 本发明通常涉及数据压缩。更具体地,本发明涉及用于使用在 数据压缩应用中的动态且可配置的量化器结构。 背景技术 本申请要求于2006年11月6日申请的美国临时专利申请号 60/857,013的优先权,其内容在此通过参考被全面合并。 本节意在提供在权利要求书中叙述的本发明的背景或环境。此 处的描述可以包括可能被追溯的概念,但是这些概念在之前不一定 已经被想到或追溯。因此,除非在此另有明示,否则本节所述对于 本申请的说明书和权利要求书来说不是其现有技术,并且不因包括 在本节中而承认是现有技术。 量化(quantization)通常指的是数字信号处理中的处理,其中, 一个连续的数值范围被离散符号或整数值的较小集合相近似。量化 的一个普通用途是在有损数据压缩中。使用量化的有损压缩系统的 例子是联合图像专家组(JPEG)图像压缩。在JPEG编码期间,表 示图像的数据用离散余弦变换来处理。图像数据被量化并被进行熵 编码。通过使用量化,被变换的图像数据值的精度减少,并且因此 表示该图像所需要的比特数可能减少。例如,能够以可接受的质量 用每像素少于3比特的JPEG来表示图像,其中,在JPEG压缩之前 一般需要每像素24比特来表示一个图像。 有损压缩的另一个普通的例子是用语音信号的数字传输看出。 传统上,数字传输的语音信号涉及用模数转换器对模拟语音波形进 行抽样、语音压缩(即,编码)、传输、语音解压缩(即,解码)、 数模变换,以及在耳机或扩音器中播放。如JPEG压缩的语音压缩可 用来减少用于表示语音信号的比特数。 已知为编码解码器的语音压缩系统使用不同算法对原始语音进 行编码,同时尝试保持高质量的重建语音。传统上,输入语音信号 或其参数表示被压缩并且使用量化器被量化。量化如上所述指的是 这样一种处理,即在特定范围内将诸如包括语音信号的不同语音参 数之类的输入映射到一个公值。换言之,语音编码涉及使用一组参 数来形成语音的替换表示,其中,对对应的(一个或多个)参数矢 量和/或标量值执行量化。不同范围中的输入被映射到不同的公值。 量化分割在表示输入语音信号的实数集合内定义了多个邻接的、不 相重叠的数值范围。使用码本来告诉量化器将哪个公值分配给落入 每个分割范围内的输入,其中,码本的每个公值通常被称为码字。 量化器自身可以被认为包括分别用于量化和解量化的编码器和 解码器,其中,编码器接收输入信号并输出其相关联码字的索引。 可以用各种方法来识别将与该输入信号相关联的正确码字。在接收 到一个或多个索引后,解码器就将它们转换成对应的码字,其中, 将码字作为表示原始输入信号的量化值输出。 这些语音压缩技术导致降低了用来传输语音信号的带宽数值。 然而,如上所述,量化器及其码本传统上按照它们的结构和大小已 被固定,例如,使用于移动环境中的当前语音编码器使用在建立处 理期间存储在存储器中的固定码本。而且,大多数语音编码器二进 制及其量化器被存储在移动设备的ROM存储器中。因此,当前的语 音编码器事实上并不灵活,而更新量化器变成了一个困难的任务。 发明内容 本发明的各个实施方式允许以二进制格式存储量化器配置和数 据,其中,二进制格式的数据继而在语音编码器的初始化(或重新 初始化/重新配置)期间被用作另外的输入。二进制数据中包括的配 置报头针对每个量化参数充分规定了动态量化器的结构和配置,并 且动态量化器数据及各自的配置以动态方式被完全分配到语音编码 器存储器中。 根据本发明的各个实施方式配置的动态量化器结构可以用这样 一种方式变得更加灵活,即动态量化器可以对于不同的类型输入数 据使用不同的处理方法和/或系统。另外,可以根据遇到的语音数据 的类型来使用若干种不同的预测性的和/或无记忆的量化器模式,而 这些不同的预测性的和/或无记忆的量化器模式可以和不同类型的预 测器一起使用。最后,子量化器数据可以是唯一的,或者在不同的 量化器之间被共享,而子量化器自身可以包括具有一级或多级的码 本。 用本发明的各个实施方式,在除了实际的二进制格式的数据之 外,还可以在存储码本数据的应用中将语音编码器的输出质量最大 化,并且量化器的运行时间更新也变得可能。另外,每个参数的量 化器及其各自的子量化器都可以独立更新。可以使用不同的预测性 和/或非预测性模式,并且码本的更新没有被固定到任何建立配置之 中。无需对设备的闪速存储器重新编程,就可以启动对于基于ROM 的编码解码器的更新,并且可下载的编码解码器更新也是可能的。 本发明的这些及其他优点和特征,连同其操作的组织和方式, 将从结合附图的下列详细说明中变得明显,其中,下述若干附图中 类似的元件具有类似的标记。 附图说明 图1示出了用于结合本发明使用的通用多媒体通信系统; 图2是可被用于本发明实施中的移动电话的透视图; 图3是图2的移动电话的电话电路的示意表示; 图4是根据该本发明的一个实施方式的数据结构表示;以及 图5说明了根据本发明各个实施方式的动态量化器的更新处理。 具体实施方式 图1示出了用于与本发明一起使用的通用多媒体通信系统。如 图1中所示,数据源100用模拟的、未压缩数字的或者压缩的数字 格式或者这些格式的任何组合来提供源信号。编码器110将源信号 编码成编码媒体比特流。编码器110可以能够对多个媒体类型如语 音、音频和视频进行编码,或者可能需要多个编码器110以对不同 媒体类型的源信号进行编码。编码器110也可以获得合成产生的输 入,比如图形和文字,或者它可以能够产生合成媒体的编码比特流。 在下文中,仅考虑对一个媒体类型的一个编码媒体比特流的处理以 简化描述。然而应当注意:实时广播服务通常包括数个流(通常至 少一个音频、视频和文字字幕流)。也应当注意:该系统可以包括 多个编码器,但是在下文中仅考虑一个编码器110以简化描述而不 失一般性 将编码媒体比特流传送到储存器120。储存器120可以包括用以 存储编码媒体比特流的任一类型的海量存储器。储存器120中的编 码媒体比特流的格式可以是基本自给比特流格式,或者一个或者多 个编码媒体比特流可以封装到容器文件中。一些系统“现场”操作、 即省略储存器并且将编码媒体比特流从编码器110直接地传送到发 送器130。编码媒体比特流然后按照需要传送到也称为服务器的发送 器130。传送中所使用的格式可以是基本自给(elementary self-contained)比特流格式、分组流格式,或者一个或者多个编码媒 体比特流可以封装到容器文件中。编码器110、储存器120和发送器 130可以驻留于同一物理设备中,或者它们可以包含于分开的设备 中。编码器110和发送器130可以用现场实时内容来操作,在该情 况下编码媒体比特流通常未被持久地存储而是被缓存于内容编码器 110中和/或发送器130中一段短时间以缓解处理延迟、传送延迟和/ 编码媒体比特速率中的变化。 发送器130使用通信协议栈来发送编码媒体比特流。该栈可以 包括但不限于实时传送协议(RTP)、用户数据报协议(UDP)和互 联网协议(IP)。当通信协议栈是面向分组时,发送器130将编码 媒体比特流封装成分组。例如,当使用RTP时,发送器130根据RTP 净荷格式将编码媒体比特流封装成RTP分组。通常,各媒体类型具 有专用RTP净荷格式。应当再次注意:系统可以包含多个发送器130, 但是以下描述为求简化仅考虑一个发送器130。 发送器130可以或者可以不通过通信网络连接到网关140。网关 140可以执行不同类型的功能,比如将根据一个通信协议栈的分组流 转译成另一通信协议栈、合并和分流数据流、以及根据下行链路和/ 或接收器能力来操控数据流,比如根据主导下行链路网络条件来控 制转发流的比特速率。网关140的例子包括多点会议控制单元 (MCU)、电路交换与分组交换视频电话之间的网关、蜂窝一键通 (PoC)服务器、数字视频广播手持(DVB-H)系统中的IP封装器 或者将广播传输本地转发到归属无线网络的机顶盒。当使用RTP时, 网关140被称为RTP混合器并且充当RTP连接的端点。 该系统包括通常能够接收发送的信号、将该信号解调和解封装 成为编码媒体比特流的一个或者多个接收器150。编码媒体比特流通 常进一步由解码器160处理,该解码器的输出是一个或者多个未压 缩媒体流。最后,呈现器(renderer)170例如可以用扬声器或者显 示器来再现未压缩媒体比特流。接收器150、解码器160和呈现器 170可以驻留于相同物理设备中,或者它们可以包含于单独设备中。 本发明的通信设备可以使用各种传输技术来通信,这些传输技 术包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、 通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、 传输控制协议/互联网协议(TCP/IP)、短消息收发服务(SMS)、 多媒体消息收发服务(MMS)、电子邮件、即时消息收发服务(IMS)、 蓝牙、IEEE 802.11等。通信设备可以使用各种介质来通信,这些介 质包括但不限于无线电、红外线、激光、线缆连接等。 图2和图3示出了本发明可以实施于其中的一个有代表性的移 动设备12。然而应当理解本发明并非意欲局限于一个特定类型的移 动设备12或者其它电子设备。图2和图3中所示的一些或者所有特 征可以并入到可以在图1中所示的任何或者所有设备中。 图2和图3的移动设备12包括壳30、形式为液晶显示器的显示 器32、小键盘34、麦克风36、耳机38、电池40、红外端口42、天 线44、根据本发明一个实施例的形式为UICC的智能卡46、读卡器 48、无线电接口电路52、编码解码器电路54、控制器56和存储器 58。独立电路和单元都是本领域中、例如Nokia移动设备范围中公 知的类型。 本发明的各个实施方式提供了在运行时间期间为动态且可配置 的量化器结构。这使得能够针对不同情形容易地重新配置与各种量 化器结构相关联的编码解码器。动态量化器结构的使用继而增强了 输入信号的压缩效率。本发明的各种实施方式可被用于语音压缩和 合成解决方案中,以用于以有效率的方式使编码解码器适用于不同 的文本到语音的话音。然而,应当指出动态量化器结构可以被应用 于允许有损压缩的其他压缩应用。 根据本发明的各个实施方式配置的量化器结构以这样的方式变 得灵活:1)量化器可以对不同类型的输入数据使用不同的处理方法 和/或系统;2)可以根据遇到的语音数据的类型来使用若干不同的预 测性的和/或无记忆的量化器模式。应当指出,这些不同的预测性的 和/或无记忆的量化器模式可以和不同类型的预测器一起使用;3)子 量化器数据可以是唯一的,或者可以在不同的量化器之间共享;以 及4)子量化器可以包括具有一级或多级/部分的码本。应当指出, 尽管此处使用的是广义上的术语″码本″,然而多个可能的预测器可以 被分配给任何给定的码本。 动态量化器数据以二进制格式表示。二进制格式在语音编码器 的初始化进程期间被用作附加数据。另外,如有需要,动态量化器 数据可以在语音编码器的运行时间处理期间被更新。量化器配置作 为具体配置报头被存储,该报头可以在以二进制格式的实际的码本 数据之前。可替换地,诸如码本数据之类的其他数据可以在量化器 配置之前,或者这些数据可以交织。配置报头针对配置中包括的每 个量化参数规定了量化器结构以及配置。 动态量化器数据和配置被充分且动态地分配到语音编码器存储 器中。这能够得到下列好处:(1)语音编码器可以具有初始码本配 置,即缺省配置;(2)动态量化器配置不需要包括用于所有相关参 数的码本;(3)每个子量化器可以通过再装载有关数据而被逐一更 新;以及(4)每个参数可以使用相同的码本和/或预测器以用于单个 存储器实例内的不同分段类型,其中,术语“分段(segment)类型” 指的是不同类型输入数据的不同操作模式。应当指出,不同的分段 类型取决于正在被量化和/或正在被处理的特定语音类型。 根据该本发明的一个实施方式对数据进行组织的例子在图4中 被示出。如上所讨论的那样,语音编码器可以具有初始码本(CB) 配置数据400。配置报头包括用于每个语音参数的不同的信息片,每 个信息片包括用于每个参数的包含标志。如上所述,每个参数都可 以使用相同的码本,即参数CB数据410,以用于具有单个存储器实 例的不同分段类型。因此,用于所有分段类型标志的公共码本也包 括在配置报头中。另外,指向分段类型CB数据420的分段类型包含 标志也被包括。对于每个分段类型,其中包括了与非预测性CB数据 430相关联的若干非预测性模式以及与预测性CB数据450相关联的 若干预测性模式。对于每个非预测性模式,包括与CB级数据440 相关联的若干级。对于每一级,其中包括单位为比特的级大小。而 且,预测性CB数据450与CB级数据460、CB预测器数据470以 及CB均值数据480相关联。 还在图4中示出的二进制格式存储配置报头,并且其在动态量 化器初始化开始的时候被分析。在分析动态量化器配置之后,可以 从二进制格式化数据读取实际的量化器数据并将其放入一个正确的 存储器结构中。 应当指出,只要在可预见到的变体中保持某些原则,即动态量 化器的使用,量化器以二进制格式表示,并且该二进制格式由配置 数据以及将被更新的量化器数据二者(必要时包括预测器数据)组 成,则可以变化本发明的各个实施方式的具体细节(例如,实际的 文件格式)。 图5说明了根据本发明的各个实施方式的动态量化器的更新处 理。应当指出,如图4中那样,CB指的是码本(包括可能的预测器), N表示实例的数量。在500处,码本配置报头被加载到语音编码器 中。在510处,分析码本配置报头以提取CB配置数据。在520处使 用CB配置数据加载CB通用数据。在530处加载参数CB数据。在 540处确定是否包括任何(一个或多个)参数。如果未包括,则处理 回到530。如果在540处包括(一个或多个)参数,则在550处加载 分段类型CB数据。在560处判断是否包括(一个或多个)分段类型。 如果不包括(一个或多个)分段类型,则处理回到550。如果包括(一 个或多个)分段类型,则处理继续到570,在570处加载非预测性的 CB数据。针对N个中的每个识别的非预测性模式实例重复非预测性 CB数据的加载。在580处加载预测性CB数据。如在570处,针对 N个中的每个预测模式实例加载预测性CB数据。在590处,处理完 成并退出。 本发明的各个实施方式提供了超过传统的量化器结构的各种优 点。语音编码器输出质量在除了实际的二进制格式化数据之外还存 储码本数据的应用中(例如,在文本-语音应用中)得到最大化。如 上所指出,量化器的运行时间更新被实现。另外,每个参数的量化 器,以及每个参数的子量化器都可以独立更新。当码本的加载不被 固定到任何建立配置中时,可以使用不同的预测性和/或非预测性的 码本模式。无需对装置的闪速存储器进行重新编程就可实现用于基 于ROM编码解码器的更新。最后,可下载的编码解码器更新也被实 现。 本发明在方法步骤的一般环境中被描述,所述方法步骤可以由 包括在网络环境中由计算机执行的计算机可执行指令(诸如程序代 码)的程序产品在一个实施方式中实现。通常,程序模块包括执行 特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数 据结构等等。计算机可执行指令、相关联的数据结构,以及程序模 块表示用于执行此处公开的方法步骤的程序代码。这类可执行指令 或相关联的数据结构的特定序列表示用于实现这类步骤中描述的功 能的对应行动的例子。 本发明的软件实施可以用具有以实现各个步骤的基于规则的逻 辑及其他逻辑的标准编程技术来实现。 为了说明和描述的目的已经给出了本发明的前述实施方式的描 述。这不意味着穷举或是将本发明限制到公开的精确形式,并且按 照上述教导,修改和变化是可能的,或者可以从本发明的实践中获 取。这些实施方式是为了解释本发明的原理及其实际应用而被选择 并描述,以便使本领域技术人员能够在各种实施方式中使用本发明 并且将其用于适于所考虑的特定使用的不同修改。