球面矢量量化编解码方法

文档序号:7762492阅读:348来源:国知局
专利名称:球面矢量量化编解码方法
技术领域
本发明涉及量化编码技术领域,更具体地,涉及针对高斯分布数据的球面矢量量 化编解码方法。
背景技术
在量化编码中,矢量量化方法在相同的编码比特数下能获得比标量量化方法更低 的量化失真。格型矢量量化器是以空间网格中的格点作为矢量量化器来对信号进行量化。 它具有低存储空间、低运算复杂度、高量化精度等优点,因此已成为当前移动音频编解码领 域广泛采用的技术。有学者理论上证明,格型矢量量化配合基于概率的熵编码可以获得最 佳的矢量量化器,因此,2003年至今,基于概率模型的格型矢量量化成为研究的热点。将概率模型应用于格型矢量量化的一种常见方法是,使用某种映射对输入待量化 数据进行处理,使其符合某种特定的分布,然后使用符合这种分布的格型矢量量化器进行 量化。其中,高斯分布是常见的一种分布,通常采用球型矢量量化器。然而,由于满足高斯 分布的数据中,小能量矢量占了绝大多数,而球型量化采用均勻的格,在量化小能量矢量时 相对误差较大。因此对于满足高斯分布的数据,传统的格型矢量量化器性能仍有待提高。

发明内容
本发明针对现有量化方法的不足,提出一种适合高斯分布数据的球面矢量量化技 术方案,目的是通过提高占绝大多数的小能量矢量的量化性能,实现整体量化性能是提高。本发明提供的球面矢量量化编码方法技术方案采用球面量化码本参与量化,所述 球面量化码本从D维空间的格型矢量量化码本中进行球面截断得到,包括由D维空间中的 某个超球面或球面上以及附近的空间格点组成的外围球层,外围球层内部包含中空区域, 其中D大于或等于2,当D等于2时球面退化成环;编码过程包括以下步骤,步骤1. 1、对D维的输入待量化矢量进行压扩,得到在球面量化码本范围内的压扩 后矢量和对应的压扩参数;步骤1. 2、对步骤1. 1中所得压扩参数进行量化,得到压扩参数的量化索引;步骤1. 3、对步骤1. 1中所得压扩后矢量,使用球面量化码本对其进行量化,得到 压扩后矢量的量化索引;步骤1. 4、将步骤1. 2所得压扩后矢量的量化索引,以及步骤1. 3所得对应的压扩 参数的量化索引写入码流。而且,所述球面量化码本在超球面或球面的中心设置中心球,外围球层和中心球 之间是中空区域。本发明提供的相应球面矢量量化解码方法技术方案采用球面量化码本参与反量 化,所述球面量化码本从D维空间的格型矢量量化码本中进行球面截断得到,包括由D维空 间中的某个超球面或球面上以及附近的空间格点组成的外围球层,外围球层内部包含中空 区域,其中D大于或等于2,当D等于2时球面退化成环;解码过程包括以下步骤,
步骤2. 1、从码流中提取压扩后矢量的量化索引,以及对应的压扩参数的量化索 引;步骤2. 2、根据步骤2. 1所得压扩后矢量的量化索引,通过查找球面量化码本得出 对应的量化后的压扩后矢量;步骤2. 3、根据步骤2. 1所得压扩参数的量化索引,通过查找压扩参数量化码本得 到量化后的压扩参数;步骤2. 4、根据步骤2. 3所得量化后的压扩参数,对步骤2. 2所得量化后的压扩后 矢量,通过逆压扩重建量化后的待量化矢量,量化后的待量化矢量为D维。而且,所述球面量化码本在超球面或球面的中心设置中心球,外围球层和中心球 之间是中空区域。本发明的技术方案对满足高斯分布的矢量数据采用球面矢量量化方案进行量化, 提高了量化质量和效率,并提供了相应反量化方案,实用简便。


图1为本发明的球面量化码本示意图;图2为本发明实施例的球面矢量量化装置工作示意图;图3为本发明实施例的球面矢量逆量化装置工作示意图。
具体实施例方式本发明提供了针对高斯分布数据的球面矢量量化编码方法,以及相应的球面矢量 量化解码方法。具体实施时,可以由本领域技术人员采用计算机软件手段根据所提供技术 方案实现自动化量化编解码。由于在编解码应用中,往往还将编解码软件方法固化形成编 解码装置,本发明也提供了相应的球面矢量量化装置和球面矢量逆量化装置。以下结合附图和实施例做详细说明。实施例在本发明方法前提下进行实施,给出了详细的实施方式与具体的操作过 程,但本发明的实现不限于该实施例。通常格型矢量量化的码本一般都是球型或者金字塔形,因为格型矢量量化的码本 是使用数学方法生成的布满D维空间的格点,实际应用中量化比特数是有限的,因而需要 对码本进行截断。球型截断,就是采用超球面,从码本截取D维球。金字塔型截断,使用超 锥,也就是D维锥,对码本进行截断。本发明则创造性地设计了球面量化码本。所述球面量 化码本从D维空间的格型矢量量化码本中进行球面截断得到,包括由D维空间中的某个超 球面(3维以上时称为超球面)或球面上以及附近的空间格点组成的外围球层,其中D大于 或等于2,当D等于2时球面退化成环。外围球层可以只包括一个面上的格点,也可以包括 一个面上及其周围的格点,容许超球面或球面附近的空间格点加入外围球层,相当于球面 可以有一定厚度。换言之,外围球层可以包括不止一层格点。但球面内不能是实心的,也就 是说外围球层内部必须包含中空区域。考虑到某些情况,如对应的压扩参数如果采用增益 因子的话,就会面临无穷大的问题,本发明进一步提出,可以在在超球面或球面的中心设置 中心球,此时中空区域处于外围球层和中心球之间,如图1所示3维空间内球面的截面。这 样,可以提供临界值,避免压扩参数理论上可以达到无穷大,造成大大提高数据率的状况。中心球的半径可以具体实施时由本领域技术人员根据经验设定,可以包括一些小值点,最 简单的是直接设定为1个点,即超球面或球面的中心点。参与量化和反量化的球面量化码 本是一致的,实施时其空间维度D和输入待量化矢量的维数是一样的。编码方案 步骤1. 1、对输入待量化矢量⑴进行压扩,得到压扩后矢量⑵和对应的压扩参 数(3)。压扩的主要目的是将不在球面量化码本范围内的待量化矢量,通过某种算法进行变 换,使压扩后的待量化矢量在球面量化码本范围之内。一般现有压扩的目标都是缩小,而本 发明实施压扩时,为了将不在球面量化码本范围内的待量化矢量压缩到范围内,同时提供 缩小和放大的作用。实施压扩时可以采用的方法有很多,使用增益因子、线性/非线性变换、各种函数 映射均可,例如采用对数函数进行压扩。实施例采取了一种基于矢量能量的线性压扩方法, 针对每一个输入的D维待量化矢量X,其中&是乂的第i维分量,i = 1,2,…,D。通过计 算待量化矢量X的能量计算压扩参数G,对待量化矢量X进行压扩,得到压扩后矢量X计算 公式如下G=挪 ErefX=XfG
D其中E为待量化矢量X的能量,E=K,Eeef为参考能量。
i=\为节约资源起见,本身就在球面量化码本范围内的输入待量化矢量实际上可以不 进行压扩操作,直接进行下一步。实施例处理方式为,压扩前判断先输入待量化矢量是否在 中心球,如果否则进行压扩;如果是,将压扩后矢量设为零矢量,对应压扩参数为1,进行下 一步。在外围球层的输入待量化矢量参与压扩,这样程序比较简便,计算出来的压扩参数一 般会为1。步骤1. 2、对步骤1. 1中所得压扩参数(3)进行量化,得到压扩参数的量化索引 ⑷。实施例采用压扩参数量化码本对待量化的压扩参数G进行量化,该码本可由训练 得到,查找码本得到量化后的压扩参数;的量化索引KG,或量化索引KG的编码KG'。步骤1. 3、对步骤1. 1中所得压扩后矢量(2),使用球面量化码本对其进行量化,得 到压扩后矢量的量化索引(5)。实施例采用D维空间中的某个球面上或球面附近的格点作为球面量化码本,通过
搜索最近的码字作为压扩后矢量7的量化结果7得到对应的量化索引K,或者将量化索
引K用熵编码等编码方法编码后,输出量化索引K的编码K'。步骤1. 4、将步骤1. 2所得的压扩后矢量的量化索引(5),以及步骤1. 2所得的对 应的压扩参数的量化索引(4)写入码流。实施例将步骤1. 3所得量化后的压扩后矢量;所对应的量化索引K,或者量化索引K的编码K'写入码流;将步骤1. 2所得量化后的压扩参数0;所对应的量化索引KG,或者
量化索引KG的编码KG'写入码流。 解码方案步骤2. 1、从码流中提取压扩后矢量的量化索引(5),以及对应的压扩参数的量化 索引⑷。实施例从码流中提取本方案解码所需的参数,即编码时写入码流的量化索引,包
Λ
括量化后的压扩后矢量7的量化索引K或量化索引K的编码K',以及量化后的压扩参
yi
数(^;的量化索引KG或量化索引KG的编码KG'。步骤2. 2、根据步骤2. 1所得压扩后矢量的量化索引(5),通过查找球面量化码本 得出对应的量化后的压扩后矢量(6);
Λ实施例根据量化后的压扩后矢量;的量化索引K查找球面量化码本,得到对应的
yi
Λ
量化后的压扩后矢量7显然,解码时所用球面量化码本与编码时步骤1. 2所用球面量化
Λ ο
码本一致。如果解码端在步骤2. 1得到的是量化索引的编码K',先解码得到量化索引K即可。步骤2. 3、根据步骤2. 1所得压扩参数的量化索引(4),通过查找压扩参数量化码 本得到量化后的压扩参数(7);实施例根据量化后的压扩参数0;的量化索引KG,通过查找压扩参数量化码本,得
到量化后的压扩参数。如果解码端在步骤2. 1得到的是量化索引KG的编码KG',先解码
先得到量化索引KG即可。显然,此码本要与步骤1. 2中量化压扩参数使用的码本一致。步骤2. 4、根据步骤2. 3得到的量化后的压扩参数(7),对步骤2. 2所得的量化后 的压扩后矢量(6),通过逆压扩重建量化后的待量化矢量(8)。具体实施时,逆压扩过程与编码过程中的压扩相逆即可。实施例中,编码时对于落 入中心球中的矢量直接量化并设压扩参数1,解码时无需另外特别处理。实施例根据步骤2. 3中得到的量化后的压扩参数;,对步骤2. 2所得的量化后的
Λ
压扩后矢量;进行逆压扩,得到量化后的待量化矢量;计算方法如下 XΛ ο
权利要求
一种球面矢量量化编码方法,其特征在于采用球面量化码本参与量化,所述球面量化码本从D维空间的格型矢量量化码本中进行球面截断得到,包括由D维空间中的某个超球面或球面上以及附近的空间格点组成的外围球层,外围球层内部包含中空区域,其中D大于或等于2,当D等于2时球面退化成环;编码过程包括以下步骤,步骤1.1、对D维的输入待量化矢量进行压扩,得到在球面量化码本范围内的压扩后矢量和对应的压扩参数;步骤1.2、对步骤1.1中所得压扩参数进行量化,得到压扩参数的量化索引;步骤1.3、对步骤1.1中所得压扩后矢量,使用球面量化码本对其进行量化,得到压扩后矢量的量化索引;步骤1.4、将步骤1.2所得压扩后矢量的量化索引,以及步骤1.3所得对应的压扩参数的量化索引写入码流。
2.如权利要求1所述的球面矢量量化编码方法,其特征在于所述球面量化码本在超 球面或球面的中心设置中心球,外围球层和中心球之间是中空区域。
3.一种球面矢量量化解码方法,其特征在于采用球面量化码本参与反量化,所述球 面量化码本从D维空间的格型矢量量化码本中进行球面截断得到,包括由D维空间中的某 个超球面或球面上以及附近的空间格点组成的外围球层,外围球层内部包含中空区域,其 中D大于或等于2,当D等于2时球面退化成环;解码过程包括以下步骤,步骤2. 1、从码流中提取压扩后矢量的量化索引,以及对应的压扩参数的量化索引;步骤2. 2、根据步骤2. 1所得压扩后矢量的量化索引,通过查找球面量化码本得出对应 的量化后的压扩后矢量;步骤2. 3、根据步骤2. 1所得压扩参数的量化索引,通过查找压扩参数量化码本得到量 化后的压扩参数;步骤2. 4、根据步骤2. 3所得量化后的压扩参数,对步骤2. 2所得量化后的压扩后矢量, 通过逆压扩重建量化后的待量化矢量,量化后的待量化矢量为D维。
4.如权利要求3所述的球面矢量量化解码方法,其特征在于所述球面量化码本在超 球面或球面的中心设置中心球,外围球层和中心球之间是中空区域。
全文摘要
本发明属于量化编码技术领域,特别是涉及一种球面矢量量化编解码方法。本发明采用球面量化码本参与量化,所述球面量化码本从D维空间的格型矢量量化码本中进行球面截断得到,包括由D维空间中的某个超球面或球面上以及附近的空间格点组成的外围球层,其中D大于或等于2,当D等于2时球面退化成环。利用这种球面量化码本对满足高斯分布的矢量数据进行量化,量化的质量好切效率高。
文档编号H04L25/03GK101986630SQ20101051124
公开日2011年3月16日 申请日期2010年10月18日 优先权日2010年10月18日
发明者刘进峰, 方力, 王国英, 王恒, 王晓晨, 王松, 胡瑞敏, 董石, 陈先念, 高丽 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1