一种高效感知音频比特分配方法转让专利

申请号 : CN200810151741.4

文献号 : CN101425293B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张涛要强刘宝琦陈存彪李海

申请人 : 天津大学

摘要 :

本发明属于音频编码技术领域,涉及一种高效感知音频比特分配方法,包括下列步骤:建立基于心理声学的人耳听觉模型,根据它计算频谱包络的掩蔽特性,确定比特分配的掩蔽曲线;根据SNRoffset公式,一次逼近比特分配参数的初值,由比特分配的掩蔽曲线与比特分配参数共同计算出噪声容限,计算得到比特分配指针;采用循环迭代的方式对比特分配参数进行SNRoffset步长调节将允许的最大限度的比特数分配给所有的声道,如果当前分配的比特数超过允许分配的比特数,下一次计算时减小SNRoffset的值;否则增加SNRoffset的值,如此反复计算直到比特池中的可用比特数得到最大限度的利用。本发明在保证比特分配精度的同时有效的降低了比特分配叠代的次数,从而实现种高效感知音频比特分配。

权利要求 :

1.一种高效感知音频比特分配方法,包括下列步骤:

第一步:建立基于心理声学的人耳听觉模型,根据它计算频谱包络的掩蔽特性,从而确定比特分配的掩蔽曲线;

第二步:根据下列公式,一次逼近比特分配参数的初值,式中,bitleft是比特剩余数,nbin是量化谱线的个数,snroffset为信噪比偏移量SNRoffset的初值:snroffset=bitleft/nbin×128;

第三步:由比特分配的掩蔽曲线与比特分配参数共同计算出噪声容限,计算得到比特分配指针;

第四步:采用循环迭代的方式对比特分配参数进行SNRoffset步长调节将允许的最大限度的比特数分配给所有的声道,如果当前分配的比特数超过允许分配的比特数,下一次计算时减小SNRoffset的值;否则增加SNRoffset的值,如此反复计算直到比特池中的可用比特数得到最大限度的利用。

2.根据权利要求1所述的高效感知音频比特分配方法,其特征在于,第四步的步长调节按下列步骤执行:(1)给定第一迭代次数N1,第二迭代次数N2以及初始调节步长S1,设当前处于初步概略态;

(2)如果处于初步概略态,统计迭代次数,当迭代次数超过第一迭代次数N1时,设定步长为最大调节步长S2,进入超快速收敛态;

(3)根据噪声门限进行比特分配;

(4)当处于初步概略态时,以初始调节步长S1,并根据bitleft/bitref来修正步长,从而调整SNRoffset;当处于超快速收敛态时,以最大调节步长S2调整SNRoffset;当处于临界收敛搜索态时,以最小调节步长S3调整SNRoffset;

(5)判断bitleft与bitref是否异号,若是,则判断步长是否最小,若已经为最小,则比特分配完成并退出迭代,若步长并不是最小,则将调节步长设为最小调节步长S3进入临界收敛搜索态;

(6)返回步骤(2)继续执行迭代循环。

3.根据权利要求2所述的高效感知音频比特分配方法,其特征在于,当进入临界收敛搜索态时,采用定长法调整步长或采用二分法搜索步长。

4.根据权利要求2所述的高效感知音频比特分配方法,其特征在于,步骤(5)之后步骤(6)之前,若处于在初步概略态,且迭代次数大于第二迭代次数N2,对步长进一步修订;

若bitleft大于阈值T,则加大步长修正程度。

说明书 :

一种高效感知音频比特分配方法

技术领域

[0001] 本发明属于音频编码技术领域,具体涉及一种数字音频感知编码的比特分配方法。

背景技术

[0002] 近些年来,CD音质的数字音频已经足以取代模拟音频。网络、无线以及多媒体计算系统等新出现的应用面临着一系列的限制,如信道带宽的降低、存储容量的限制以及低成本的要求。这些新的应用也产生了低码率下传输高质量数字音频的需要。针对这一需求,已经有很多研究致力于高保真(CD音质)数字音频的感知透明编码。
[0003] 目前的主流音频编码技术都是基于人耳感知模型的有损编码系统,利用感知无关和统计冗余来获得编码增益。感知音频编码器的通用结构如图1所示。通用的感知音频编码器由滤波器组、心理声学模型、比特分配与量化、熵编码以及码流格式化模块组成。
[0004] 输入信号被分段成持续时间2到50ms之间的为平稳帧,然后时间-频率分析模块计算每帧的时间和频率分量。通常时-频映射要尽量与人耳听觉系统的分析特性相匹配,从而由输入音频提取出一套在感知失真尺度下易于量化与编码的时-频参数。
[0005] 心理声学模型对输入音频信号进行分析,根据人耳听觉模型的听觉阈值和掩蔽效应去除信号中感知无关的分量,并进一步确定编码输入信号所需的比特数。心理声学研究认为:人耳能否听见声音取决于声音的频率,幅度是否高于这种频率下的听觉阈值,低频区的频率分辨率高于高频区。如果信号频率中有低于绝对听觉阈值的部分,那么这部分信号可舍弃而不被人耳觉察;如果某一频率的声音幅度小于另一声音的听觉阈值,并在其掩蔽范围内,则该声音被掩蔽;同样,某噪声幅度在某一声音的听觉阈值内,该噪声也被掩蔽。有关掩蔽曲线模型详细内容可参见朱丽,郭从良发表的论文“心理声学模型在数字音频中的应用”(出处:《电声技术》2002年第8期总第206期)。
[0006] 比特分配模块根据心理声学模型确定的比特需求为需要编码的输入信号分配比特量化器使用比特分配模块分配的比特数来量化表示输入信号。
[0007] 熵编码模块对量化信息采用Huffman编码、算术编码等算法降低统计冗余度。
[0008] 码流格式化模块将一帧输入信号的编码表示按照一定的语法规范进行格式化,提供码流信息、帧内辅助信息、帧数据和用户数据等。
[0009] 实际的编码系统通常被限制于一定的输出码率,即每帧音频输入信号的编码表示的码字是受限的。为了在给定的码率限制下达到较好的编码质量,通常需要多次的比特分配和量化编码尝试来决定合适的比特分配与量化编码。通常的比特分配与量化是以双层循环叠代来实现的,内层循环负责对码率进行控制,外层循环负责对质量进行控制。比特分配的双层循环叠代结构如图2所示。因此,在音频编码技术中,比特分配算法是整个编解码系统的核心部分,比特分配算法的性能直接影响着音频编码系统的性能,也是最消耗计算资源的处理过程。
[0010] 衡量循环迭代性能的两个因素是:精度和效率。目前关于高效比特分配的算法也主要有两种,第一种是以牺牲精度为代价换取比特分配的高效率;第二种是利用相邻帧之间信号的相关性预测比特分配信息,从而降低循环的运算量,在不损失精度的前提下提高比特分配效率。如果目标码率足够高,那么牺牲精度的算法可能是可以接受的,但是在必须对码率进行严格限制的情况下它是不可接受的。而第二种算法是基于帧间较好的相关性,而对于经常出现的剧烈变化的序列,效率明显降低。

发明内容

[0011] 本发明的目的在于克服现有技术的不足,提供一种高效的感知音频比特分配方法。该方法基于人耳的感知模型,通过对比特分配参数与信号掩蔽比之间的定量分析,精确计算比特分配参数的初值(一次逼近),然后再经过临界收敛控制的叠代循环确定最佳比特分配参数。具体步骤如下:
[0012] 第一步:建立基于心理声学的人耳听觉模型,根据它计算频谱包络的掩蔽特性,从而确定比特分配的掩蔽曲线;
[0013] 第二步:根据下列公式,一次逼近比特分配参数的初值,式中,bitleft是比特剩余数,nbin是量化谱线的个数:
[0014] snroffset=bitleft/nbin×128
[0015] ;
[0016] 第三步:由比特分配的掩蔽曲线与比特分配参数共同计算出噪声容限,计算得到比特分配指针。
[0017] 第四步:,采用循环迭代的方式对比特分配参数进行SNRoffset步长调节将允许的最大限度的比特数分配给所有的声道,如果当前分配的比特数超过允许分配的比特数,下一次计算时减小SNRoffset的值;否则增加SNRoffset的值,如此反复计算直到比特池中的可用比特数得到最大限度的利用。
[0018] 第四步的步长调节按下列步骤执行:
[0019] (1)给定第一迭代次数N1,第二迭代次数N2以及初始调节步长S1,设当前处于初步概略态;
[0020] (2)如果处于初步概略态,统计迭代次数,当迭代次数超过第一迭代次数N1时,设定步长为最大调节步长S2,进入超快速收敛态。
[0021] (3)根据噪声门限进行比特分配;
[0022] (4)当处于初步概略态时,以初始调节步长S1,并根据bitleft/bitref来修正步长,从而调整SNRoffset;当处于超快速收敛态时,以最大调节步长S2调整SNRoffset;当处于临界收敛搜索态时,以最小调节步长S3调整SNRoffset。
[0023] (5)判断bitleft与bitref是否异号,若是,则判断步长是否最小,若已经为最小,则比特分配完成并退出迭代,若步长并不是最小,则将调节步长设为最小调节步长S3进入临界收敛搜索态;
[0024] (6)返回步骤(2)继续执行迭代循环。
[0025] 本发明提供了一种新的高效的感知音频比特分配方法。该方法基于人耳的感知模型,通过对比特分配参数与信号掩蔽比之间的定量分析,精确计算比特分配参数的初值(一次逼近),然后再经过临界收敛控制的叠代循环确定最佳比特分配参数。由于每帧信号进行一次精确的比特分配参数初值的计算,因此可以很好的逼近最优值,保证后面的迭代过程快速收敛,有效地降低了迭代循环次数;同时,由于每帧只计算一次比特分配参数初值,因而计算开销也很小。因此该方法在保证比特分配精度的同时有效的降低了比特分配叠代的次数,从而实现了一种高效的感知音频比特分配。

附图说明

[0026] 图1是感知音频编码器结构框图;
[0027] 图2是现有技术中双层循环比特分配结构框图;
[0028] 图3是本发明的感知音频比特分配流程图;
[0029] 图4是本发明应用于AC-3音频编码器的比特剩余与其他方法的对比;
[0030] 图5是本发明应用于AC-3音频编码器的平均迭代次数与其他方法的对比;
[0031] 图6是本发明应用于AC-3音频编码器的最大迭代次数与其他方法的对比。

具体实施方式

[0032] 本发明是一种通过定量分析与计算一次逼近比特分配参数的初值再经过临界收敛控制的迭代循环确定最佳比特分配参数的高效感知音频比特分配方法。主要步骤如下:
[0033] 第一步:计算掩蔽曲线:它包含一个基于人耳听觉的参数模型,根据它计算频谱包络的掩蔽特性来确定比特分配的掩蔽曲线。
[0034] 第二步:一次逼近比特分配参数的初值。
[0035] 第三步:计算噪声门限。由比特分配得到的掩蔽曲线与比特分配参数共同计算出噪声门限,计算得到比特分配指针。
[0036] 第四步:编码器循环迭代对比特分配参数进行粗步长调节,将允许的最大限度的比特数分配给所有的声道。(图中的N1,N2均为迭代步长的门限,可以依实际情况设定)。如果当前分配的比特数超过允许分配的比特数,下一次计算时减小SNRoffset的值;否则增加SNRoffset的值,这种反复计算直到比特池中的可用比特数得到最大的利用。
[0037] 下面结合附图和实施例对本发明做进一步详述。
[0038] 实施例1:
[0039] 本实施例是基于PC机matlab7.0环境下的。PC机主处理器为Pentium42.8GHz,内存为256M。实施例所用的编码器版本为AC-3立体声双声道编码器。选取的三类音频文件击掌,钢琴,以及流行音乐,均为双声道wav文件,帧长为4464比特。参见图3,本实施例预设图3中的三个参数N1,N2,S分别为10,10,1024。
[0040] 定义1:初步概略态——从根本上说,初步概略态是基于对snroffset定量分析公式,进行一次逼近snroffset估算之后的状态。
[0041] 定义2:超快速收敛态——这种状态也发生在初步概略态,但是当迭代次数超过N1时,需要将步长调大以便迅速收敛。(此处,我们规定N1=10)。
[0042] 定义3:临界收敛搜索态——进过初步概略态的计算,snroffset的值已经非常逼近最佳值,此状态的最大特点是所耗用的比特数刚刚超过可用比特数并且步长没有达到最小,此时只需要采用二分法继续缩短步长,在小范围内局部迭代搜索,则可以找到最佳值。
[0043] 第 一 步 : 通 过 snroffset 的 定 量 分 析 公 式(1)
[0044] (这里的n为量化比特数,Const为一常数),从式(1)我们得出了信噪比偏移量与量化比特数之间的关系是128倍的线性关系,之后我们得到相应的snroffset的具体计算公式
[0045] snroffset=bitleft/nbin×128 (2)
[0046] (这里bitleft是比特剩余数,nbin是量化谱线的个数)然后,对比特分配参数进行一次逼近计算,之后进入初步概略态。
[0047] 第二步:在初步概略态进行无条件的循环以确定步长,并且统计迭代次数,看其是否超过N1,即10次并且仍然未找到合适步长,此时要使迭代迅速收敛,故使其进入超快速收敛态。
[0048] 第三步:处于初步概略态时,以初始调节步长S1,并根据bitleft/bitref来修正步长,从而调整SNRoffset;当处于超快速收敛态时,以最大调节步长S2=1024调整SNRoffset;当处于临界收敛搜索态时,以最小调节步长S3=4调整SNRoffset。(这里的bitref是参考比特数)
[0049] 第四步:经过数次迭代后,如果bitleft与bitref异号,表明此时比特分配数已经超过了系统可用的比特分配数,需要判断步长是否最小,若已经为最小,则比特分配完成并退出迭代,若步长并不是最小,则进入临界收敛搜索态。当迭代次数过多(此实施例中设定为10次)bitleft与bitref仍然同号或者bitleft仍然还很大时,再一次的调大步长。
[0050] 第五步:当进入临界收敛搜索态,此实施例中,采用定长法调整步长以至最后找到最佳的比特分配参数,完成此算法。在每次迭代结束前,判断若处于在初步概略态,且迭代次数大于N2=10,对步长进一步修订,此实施例中步长加倍;若bitleft大于阈值T,则加大步长修正程度,此实施例中步长加倍。
[0051] 实施例2:
[0052] 实验环境以及步骤均与实施例1相同,所不同的是在实施例2的第五步中,当进入临界收敛搜索态,采用二分法逐步降低步长以至最后找到最佳的比特分配参数,完成此算法。
[0053] 实验结果与原始迭代方法的比较如图4,图5,图6所示。(其中方案一是采用定长法进行局部搜索,方案二是采用二分法进行局部搜索)。