CN1972132A - 声音处理方式 - Google Patents
声音处理方式 Download PDFInfo
- Publication number
- CN1972132A CN1972132A CNA200510123942XA CN200510123942A CN1972132A CN 1972132 A CN1972132 A CN 1972132A CN A200510123942X A CNA200510123942X A CN A200510123942XA CN 200510123942 A CN200510123942 A CN 200510123942A CN 1972132 A CN1972132 A CN 1972132A
- Authority
- CN
- China
- Prior art keywords
- section
- segment
- acoustic
- quiet
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000005457 optimization Methods 0.000 claims abstract description 18
- 238000005520 cutting process Methods 0.000 claims abstract description 5
- 230000003044 adaptive effect Effects 0.000 claims description 36
- 230000000630 rising effect Effects 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 5
- 241001269238 Data Species 0.000 claims description 3
- 230000006835 compression Effects 0.000 description 23
- 238000007906 compression Methods 0.000 description 23
- 238000004458 analytical method Methods 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 5
- 230000033228 biological regulation Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- NHDHVHZZCFYRSB-UHFFFAOYSA-N pyriproxyfen Chemical compound C=1C=CC=NC=1OC(C)COC(C=C1)=CC=C1OC1=CC=CC=C1 NHDHVHZZCFYRSB-UHFFFAOYSA-N 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
本发明提供一种声音处理方式,其步骤包括:将待处理的声音数据利用不固定长度分段规则,从该待处理的声音数据中每次切割区分出一个段;利用编码优化流程对该段进行编码得到编码结果,并重复上述切割分段与编码优化流程,直到处理完所有待处理的声音数据;并在处理的同时将该编码结果输出,产生自适应差分脉冲编码文件。解码流程则为编码流程的逆过程。本发明的声音编码优化流程同时采用了多种误差量化指标,允许使用者可依音质需求与压缩率的考虑来设定各量化指标的最大误差临界值,以获得满意的高质量声音与最适当的压缩率。
Description
技术领域
本发明是指一种声音处理方法,尤指一种自适应差分脉冲编码调制(Adaptive Differential Pulse Code Modulation,ADPCM)声音处理方法。
背景技术
ADPCM压缩算法是一种针对声音波形数据的有损压缩算法,其所保存的是连续波形资料前后采样点变化的差值,以达到描述整个波形的目的。ADPCM压缩算法有很多种变形方式,但其核心原理基本上是相同的。以下介绍几种ADPCM现有技术不同的处理方式:
一、传统ADPCM不分段声音处理方式
IMA(Interactive Multimedia Association)提过一种将16-bit数据格式的音源经过ADPCM处理成4-bit数据格式的压缩解压缩方法,类似此种经ADPCM处理最后成为4-bit数据格式的编解码方法,业界通称为4-bit ADPCM,以下说明IMA曾提出的4-bit ADPCM声音处理方式:
(一)、编码基本计算规则:
其算法数学公式如下:
Ln=4(Xn-$Xn-1)/SSn……………………………(式I)
$Xn-1=$Xn-2±D$Xn-1……………………………(式II)
D$Xn1=SSn-1*Ln-1(C2C1C0)/4+SSn-1/8………(式III)
SSn=f2(SPn)……………………………………(式IV)
SPn=SPn-1+f1(Ln-1)……………………………(式V)
式I中,Ln的范围是(-7~+7),如果超出,按-7或+7计,Ln是4-Bitcode,最高位代表符号,为1表示负值,为0表示正值。式II中,取“+”或“-”取决于Ln-1,Ln-1为正值,取“+”,为负值取“-”。式III中,Ln-1(C2C1C0)表示Ln-1 code的绝对值,即不考虑符号的值。
在这些公式中,所有变量的下标“n”等,表示的是正在处理的第n个声音采样点对应的各个参数,“n-1”则表示前一个声音采样点对应的各个参数。而初始化的变量下标是0,表示预处理前的默认值,比如$X0、SP0则分别表示预处理时默认的predictor和stepsize index。
f1(Ln-1)=index_table[Ln-1]
f2(SPn)=stepsize_table[SPn]
index_table[]和stepsize_table[]两个表格属性如下:
index_table[8]={-1,-1,-1,-1,2,4,6,8};
stepsize_table[89]={7,8,9,10,11,12,13,14,16,17,
19,21,23,25,28,31,34,37,41,45,50,55,60,66,73,80,88,97,107,
118,130,143,157,173,190,209,230,253,279,307,
337,371,408,449,494,544,598,658,724,796,876,963,
1060,1166,1282,1411,1552,1707,1878,2066,2272,2499,
2749,3024,3327,3660,4026,4428,4871,5358,5894,6484,
7132,7845,8630,9493,10442,11487,12635,13899,
15289,16818,18500,20350,22385,24623,27086,29794,
32767};
初始化值:SP0=1,f1(L0)=0,$X0=0,然后利用前面的通用计算公式逐一递推即可。
(二)、解码基本计算规则:
$Xn=$Xn-1±D$Xn…………………………(式I)
D$Xn=SSn*Ln(C2C1C0)/4+SSn/8…………(式II)
SSn=f2(SPn)…………………………………(式III)
SPn=SPn-1+f1(Ln-1)…………………………(式IV)
公式中各个参数的含义与编码中所述相同。
和编码一样,先让SP0=1,f1(L0)=0,$X0=0,作为默认值,逐一用公式计算。
上述IMA处理声音的方式提供了一种ADPCM压缩编解码的核心运算方式,但若仅使用此算法,很明显的当压缩编解码后的音质无法达到要求,唯一的方式只有提高采样频率(sample rate)或将4-bit ADPCM压缩提升到5-bit(或更高位数)ADPCM压缩,提高采样频率意味着声音数据量会大幅增加,而从4-bit ADPCM改变成5-bit ADPCM除了数据量增加外,其储存的数据格式也会改变为5-bit,在现今内存数据总线(data bus)通用格式为8-bit or 16-bit的情形下,又造成数据保存与解码时处理数据的困扰。另外,若语音产品中夹杂4-bit ADPCM与5-bit ADPCM的声音压缩方法,在处理上也会更为复杂又没效率。
二、固定长度分段式ADPCM声音处理方式:
原则上编解码的核心算法类似前述IMA ADPCM,但固定以每n个(例如n=64)采样点组成一个段(block),每个段头带有参数以优化该段音质,优化方式随着各厂家技术有所不同,以下为一举例说明
(一)编码:
每64个声音采样点为一个段,每一个段的开始都重新设定predictor和stepsize index,即公式中的$Xn和SPn,保存至ADPCM文檔。
(二)解码:
以64个声音采样点为一个段,对应自适应差分脉冲编码(4-bit ADPCMcode)是34个字节为一个段,前面两个字节是段头(blockhead)优化参数,后面32个字节是4-bit ADPCM code,代表64个声音采样点。在解码过程中,每个段的开始,利用段头优化参数重新设定公式中的SPn和$Xn。
解码算法是编码的逆过程,把4位的ADPCM code转化成16位的脉冲编码(PCM code)。
上述固定长度分段式ADPCM声音处理方式,比起没有分段的传统ADPCM声音处理方式,其压缩解压缩后的音质可以更接近原始音源,音质的改善程度要视其分段优化法则与段的长度而定,在不改变采样频率,数据格式维持同样的位数,与相同的分段优化法则下,要提高解码后的音质只有缩短分段长度,如此又会造成压缩率大幅下降。
对于8K左右采样频率的声音数据,在使用上述的两种算法解压缩声音数据后,通常仍会有失真太大音质不好问题。若对编解码处理过后合成的音质有更高的要求,或声音数据中有较多的静音,则在使用上述的算法时,这类声音数据在音质和压缩比率两方面将无法获得较好的处理结果。
因此鉴于现有技术的缺点,发明人经过悉心试验与研究,并一本锲而不舍的精神,终于研发出此声音处理方式。
发明内容
为获得较佳的声音压缩效果,本发明的ADPCM声音压缩算法采用不固定长度声音分段的方式,从该待处理的声音数据中每次切割区分出一个段,利用该编码优化流程对该段进行编码得到编码结果,并重复上述切割分段与编码优化流程,直到处理完所有待处理声音信息。本发明的ADPCM声音压缩算法中的段长度是不固定的,段长度会随着待处理音源各个区间声音数据的特性而改变,段的长度根据声音编码优化法则与所允许的误差指标而调整。
本发明声音处理方式中的编码优化法则,采用了多种误差量化指标,使压缩处理后的声音与原始音源间的误差可量化,因此允许使用者可依音质需求与压缩率考虑来设定各量化指标的最大误差临界值,以获得满意的高质量声音与最适当的压缩率。本发明声音处理方式也特别对音源中的静音部份作特殊压缩处理,以提高整体压缩率。
本发明的主要构想为提供一种声音处理方式,其步骤包括:提供待处理的声音资料、不固定长度分段规则、编码(encoder)优化流程及自适应差分脉冲编码文件;将该待处理的声音数据利用该不固定长度分段规则,从该待处理的声音数据中每次切割区分出一个段;利用该编码优化流程对该段进行编码,得到编码结果;重复上述该不固定长度分段规则与该编码优化流程,直到处理完所有该待处理的声音数据,并获得多个段;以及在声音处理的同时将该编码结果输出至该自适应差分脉冲编码文件中。
根据上述构想,其中该不固定长度分段规则为依据该待处理的声音数据在不同位置的特性。
根据上述构想,其中该多个段为多个声音段(General Block)。
根据上述构想,其中该多个段为多个静音段(Silence Block)。
根据上述构想,其中该多个段中具有终止段(End Block)。
根据上述构想,其中该多个段为多个声音段、静音段与终止段。
根据上述构想,其中该等声音段具有多个声音采样点(sample)。
根据上述构想,其中该等静音段具有多个声音采样点。
根据上述构想,其中该等静音段中的该等声音采样点为多个静音点(silence sample)。
根据上述构想,其中该等静音段只记录静音点的数目,不需利用该编码流程。
根据上述构想,其中该终止段代表一段声音的结束,不需利用该编码流程。
根据上述构想,其中该等静音段,在统计数目后直接输出到该自适应差分脉冲编码文件中。
根据上述构想,其中该等声音采样点中有一段可以建立该静音段时,则以该静音段前面的所有该等声音采样点作为初步声音段的长度,也就是初步的该等声音采样点数目。
本发明的另一构想为提供一种声音编码优化流程,其步骤包括:提供第一声音段、最小误差信号功率观念、累加误差观念、瞬间信号-噪声比(SNR)观念及自适应差分脉冲编码文件;利用该最小误差信号功率观念及该累加误差观念分析该第一声音段的总体误差情况,从该第一声音段获得第二声音段;利用该最小误差信号功率观念及该瞬间SNR观念分析该第二声音段的瞬间误差情况,从该第二声音段获得第三声音段;利用该最小误差信号功率观念优化该编码;以及将编码结果输出至该自适应差分脉冲编码文件。
上述的第一、第二、与第三声音段,指的是待处理声音在编码优化过程中,各个不同处理阶段的输入与输出数据段,之前经过初步分段规则所产出的声音数据,为编码优化过程中第一阶段处理的输入数据,亦即上述的第一声音段,而经编码优化过程第一阶段处理后的产出,即上述的第二声音段,再经编码优化过程第二阶段处理后的产出,即上述的第三声音段,该第三声音段再经编码优化过程产出最后的自适应差分脉冲编码文件。在上述的声音编码优化过程处理中,误差信号功率观念被重复使用来决定该段头参数的最佳化。
根据上述构想,其中该第一声音段、第二声音段与第三声音段分别包括段头参数。
根据上述构想,其中该段头参数包括:$Xn参数;以及Spn参数;其中该$Xn参数为该第一声音段中的第一个声音采样点的运算结果;而选择该SPn参数的法则是采最小误差信号功率观念,令所选取的SPn参数会使其编解码后的声音与原始音源之间的误差信号功率是最小。
根据上述构想,其中该误差信号功率为该第一声音段中所有该声音采样点和相对应的合成声音采样点的差值平方后累加,再开平方根,然后除以该第一声音段的长度。
根据上述构想,其中所有该声音采样点合成误差绝对值的累加为合成累加误差值(εrror_Acc)。
根据上述构想,可针对该合成累加误差值设定合成累加误差临界值,作为该声音编码优化流程的条件。
根据上述构想,其中该合成累加误差值小于该合成累加误差临界值时,即获得该第二声音段。
根据上述构想,其中若该第二声音段有声音采样点的合成瞬间SNR误差(εrror_snr),大于合成声音误差的瞬间SNR临界值,则将在该声音采样点之前的声音采样点重新组成声音段,即获得该第三声音段。
根据上述构想,其中该合成声音误差的瞬间SNR误差临界值为index[SNR_abs]与index[SNR_ratio],作为该声音编码优化流程的条件。
根据上述构想,其中该第三声音段的每一声音采样点皆对应自适应差分脉冲编码。
根据上述构想,其中该第三声音段包括段头。
根据上述构想,其中该段头包括段属性、长度参数、$Xn参数与Spn参数。
根据上述构想,保存该第三声音段的长度与该段头,并将该自适应差分脉冲编码输出至该自适应差分脉冲编码文件。
本发明的又一构想为提供一种声音解码(decoder)流程,其步骤包括:提供待处理的自适应差分脉冲编码文件及解码方式;以及利用该解码方式对该待处理的自适应差分脉冲编码文件中的多个段进行解码。
根据上述构想,其中该自适应差分脉冲编码文件为多个段在一时间轴上有次序的组合。
根据上述构想,其中该自适应差分脉冲编码文件具有多个声音段。
根据上述构想,其中该自适应差分脉冲编码文件具有多个静音段。
根据上述构想,其中该自适应差分脉冲编码文件具有终止段。
根据上述构想,其中该自适应差分脉冲编码文件具有多个声音段、静音段与终止段。
根据上述构想,其中该多个段的最开始具有段头。
根据上述构想,其中该多个段除该段头外,其余的数据为自适应差分脉冲编码。
根据上述构想,其中该段头使用3个字节,分别为第一个字节、第二个与第三个字节。
根据上述构想,其中该第一个字节的数值不等于”1”时,则该段为声音段。
根据上述构想,其中该第一个字节的数值代表该段的长度。
根据上述构想,其中该第一个字节的数值等于”0”时,代表声音采样点。
根据上述构想,其中该第二个字节与该第三个字节为组合数据。
根据上述构想,其中该第一个字节的数值等于”1”且该组合数据不等于”0”时,则该段为静音段。
根据上述构想,其中该组合数据代表静音长度(silence size)。
根据上述构想,其中该静音段不需利用该解码方式。
根据上述构想,其中该第一个字节的数值等于”1”且该组合数据等于”0”时,则该段为终止段。
根据上述构想,其中该终止段代表一段声音的结束,不需利用该解码方式。
附图说明
图1是本发明的声音编码流程图;
图2是本发明的静音段处理流程图;
图3是本发明的声音段处理流程图;及
图4是本发明的声音解码流程图。
具体实施方式
本发明将可由以下的实施例说明而得到充分的了解,使得熟习本方法的人士可以据以完成,然而本发明的实施并非可由下列实施例而被限制其实施型态。
本发明的自适应差分脉冲编码有损压缩算法如下:
一、编码:
(一)、不固定长度分段规则:
根据声音资料在不同地方的特性,段的长度最大是256个声音采样点,最小是8个。共有三种不同类型的段,分别是:声音段、静音段、终止段。终止段只是表示一段声音的结束。大体上来讲,若待处理的声音数据中有一段是静音,则建立静音段,最小长度是10个,最大是65535个,若少于10个静音点,当成声音段来处理,若大于65535个静音点,则建立新的静音段来表示剩余的静音段;静音段会用三个字节(byte)表示其属性和静音点的长度。若该待处理的声音中某一段没有静音点或静音点不足10个,则建立声音段,也用三个字节表示段的属性和参数,其中包括的信息有:段的长度(block size),$Xn和SPn,声音段的长度规定最少为8个字节。
(二)、编码优化流程:
请参阅图1,是本发明的声音编码流程图。本发明的编码算法较为复杂,在此针对该流程图做详细的说明。
有效的段(包括有声音采样点)有两种,其分别是静音段和声音段。静音段储存声音静音,只记录静音点的数目即可,不需要用编码算法。对一个具体的声音数据编码时,是按顺序逐段分析编码并输出结果到ADPCM文件中,逐段分析编码的过程是:准备好待处理的声音数据(10),若文件指针到达结尾(11),则结束当前声音的编码过程(12);若文件指针并未到达结尾,则按顺序从待处理的声音数据中读取一段较长的声音数据,其为265个声音采样点(13),分析这个段(14),确定建立静音段还是声音段(15)。若是静音段(16),统计静音点的数目,建立静音段输出到ADPCM文件;若是声音段(17),则要进行复杂的分析,分析后从这一较长声音段中选取最前面的一段(最小8个声音采样点,最大256个声音采样点),按编码基本算法公式编码输出。
(1)、静音段的统计:
请参阅图2,其是本发明的静音段处理流程图。建立静音段的条件是在声音段中至少有连续10个静音点。如上所述,先读取265个声音采样点分析(161),如果265个声音采样点的最开始没有10个以上的连续静音点,则以静音段之前的声音采样点初步建立General Block,长度不确定(166);而如果265个声音采样点的最开始就有10个以上的连续静音点,则确定建立静音段(162),统计静音点的数目后输出静音段到该ADPCM文件中。若265个都是静音点,则继续读声音档案中数据,若还有静音点,增加静音的统计数目(163),直到统计到静音的数目等于65535或者后面没有静音点(164),则结束并输出静音段到ADPCM文件中(165),如果65535个后面还有静音点,就要建立新的静音段来储存。
前面几次提到,一次读取265个声音采样点来做初步分析是由于256个声音采样点的最末端可能有不足10个的静音点,这些静音点或许可以跟256个声音采样点后面的声音采样点组成静音段。而如果分析265个声音采样点,即使在256个声音采样点最后只有一个静音点(声音采样点[256]),也可以用这256个后面的265-256个声音采样点来分析声音采样点[256]应该归属于当前声音段还是即将处理的静音段。
(2)、声音段的编码过程:
请参阅图3,是本发明的声音段处理流程图。声音段最少是8个声音采样点。如上所述,先读取265个声音采样点分析,若265个声音采样点的最开始不满足建立静音段的条件,则确定建立声音段,这时,要首先初步确定声音段的长度,此分两种情况:
(a)若265个声音采样点中有一段可以建立静音段,也就是有10个以上的连续静音点,则以这个静音段的前面的所有声音采样点作为初步声音段的长度(166),也就是初步的声音采样点数目。若这个数目小于8,要用后面的静音点补齐到至少是8个声音采样点。
(b)若265个声音采样点中没有任何一段可以建立静音段,则选取最前面的256个声音采样点作为初步声音段的长度(171)。
为了方便说明,把刚才初步确定的声音段表示为第一声音段,声音采样点数目表示为第一声音段长度。初步的声音段声音采样点数目确定后,将进行以下的分析,大致分为三个步骤:
(a)这一步将以最小误差信号功率观念,及累加误差观念分析该第一声音段,也就是分析该第一声音段的总体误差情况,根据误差最终从该第一声音段中获得新的段,新段的长度可能会改变,组成新段的声音数据将会符合累加误差临界值的限制,下面为详细说明。
对该第一声音段求得最合适的$Xn和SPn(172)。$Xn等于该第一声音段中第一个声音采样点,低7bits设为0,再加上40H;SPn的获取是用了试验的方法,让SPn分别试着取SPn能取的最小值到最大值,对该第一声音段中的声音采样点进行编码与解码的过程,求得不同的SPn对应的误差信号功率,哪个SPn值得到的误差信号功率最小,就选用哪个作为最合适的SPn。误差信号功率计算方法是:该第一声音段中所有声音采样点和相对应的合成声音采样点的差值平方后累加,再开平方根,然后除以该第一声音段长度block1size(173)。
求得该第一声音段最合适的$Xn和SPn后,用最合适的$Xn和SPn计算合成累加误差值εrror_Acc(所有声音采样点合成误差绝对值累加)(174),若合成累加误差值εrror大于某个给定的合成累加误差临界值index[Acc](175),则减少该第一声音段的数目(176),即该第一声音段长度减少,对减少之后的剩余声音采样点计算合适的$Xn和SPn,用上述方法获得新的εrror_Acc,重新和index[Acc]比较,若还是大于index[Acc],再按上述重复循环,一次减少8个声音采样点,直到第一声音段计算得到的εrror_Acc小于index[Acc]或者该第一声音段长度将小于8(因为声音段规定最少是8个声音采样点),这时确定的声音段记为第二声音段,声音采样点的长度记作block2size,后面将对该第二声音段继续分析。
(b)这一步将以瞬间信号-噪声比(SNR)观念分析该第二声音段,也就是分析该第二声音段中声音采样点的瞬间误差情况,最终从该第二声音段中获得新的声音段,新的声音段的长度可能会改变,组成新段的声音数据将会符合瞬间信号-噪声比(SNR)临界值的限制,下面为详细说明。
对上面确定的该第二声音段中block2size个声音采样点使用最小误差信号功率观念求得最合适的$Xn和SPn(177),然后逐个进行编码与解码(178),若有一个声音采样点的合成瞬间信号-噪声误差(εrror_snr)大于预先设定的合成瞬间信号-噪声误差临界值(179)(若此原音声音采样点的值和静音点的差值绝对值在1024以内,则误差临界值指标,采用原声音采样点和合成声音采样点的差值绝对值index[SNR_abs];若原音声音采样点值偏离静音点较远,和静音点的差值绝对值大于1024,则误差临界值指标,采用原声音采样点和合成声音采样点的差值绝对值除以原音声音采样点的值所得到的比例值index[SNR_ratio]),那么该声音采样点的合成误差太大,则以该第二声音段中这个合成误差太大的声音采样点之前的所有声音采样点重新组成新的段,暂且命名为第三声音段(180),包括的声音采样点数目为block3size。同样,block3size要保证至少是8个,若分析时发现在8个以内有误差太大的声音采样点,是不处理的,要强制其等于8个声音采样点。
(c)前面得到的第三声音段和其长度block3size是最终的声音段,剩下的问题是如何对该第三声音段建立一个声音段并计算其中所有声音采样点的自适应差分脉冲编码(ADPCM code),并把这个声音段的段头和所有该ADPCM code输出保存到该ADPCM文件中,下面将详细说明。
使用最小误差信号功率观念,对该第三声音段中block3size个声音采样点求得最合适的$Xn和SPn(181),然后首先保存block3size和段头到该ADPCM文件(182),段头中的信息就是$Xn和SPn,实际上$Xn就是该第三声音段中第一个声音采样点低7位为0后得到的值,命名为$Xn[1],用$Xn[1]加上SPn即为段头值,而编码与解码计算时使用的$Xn等于$Xn[1]加上40H。保存block3size和段头后,用基本ADPCM编码公式逐个计算ADPCM code,并输出保存至该ADPCM文件。
至此,计算完成了第一个声音段,然后继续对当前声音数据后面剩余的所有声音采样点重新进行上述所有分析解码过程,直到整个声音数据处理完毕(183)。
若声音段的采样点数目太少的话,ADPCM文件会增大,压缩程度不好,故此例中采用最小8个声音采样点为一个声音段。另外,若一个声音文档处理到结束的时候,剩下的声音采样点不足8个,则最少是8个的规定就无效,亦即实际上在一个声音文档的ADPCM文件最后一个段的数目是有可能少于8个声音采样点的。
二、解码:
请参阅图4,其是本发明的声音解码流程图。以4-bit ADPCM为例说明,本发明产出的ADPCM编码压缩后文件(21)可以看作是很多个段在时间轴上有次序的组合,其时间顺序是:……→前一个字节高4位→当前字节低4位→当前字节高4位……。本发明产出的ADPCM文件共有三种不同类型的段,分别是:声音段、静音段、终止段。无论那种类型的段,在段的最开始有个段头,占用三个字节(22),可根据段头判断本段是属于那种类型的段(23)以及本段的其它信息、参数,下面逐一说明。
若段头的第一个字节(byte)不等于“1“,则本段是声音段,第一个字节数值代表本段的长度,指16位声音采样点的数量,如为”0“,代表256个声音采样点。这时,把第2、3字节当成一个数据,高9位代表上面解码算法中的$Xn,低7位代表SPn。下面说明如何提取这两个字节中的信息,而得到predi ctor($Xn)和step index(SPn)的值。
xxxxxxxxxiiiiiii
上面x有9个位,代表当前段要重设的predictor,实际上在使用这个值做计算时,要加上一个值40H,当做误差值,因为在编码过程中,predictor的后面7位是被省略,40H是省略掉的误差的中间值,如此会减低总体的误差。i有7个位,代表SPn的值。
段头后面的数据是ADPCM code(24)。如此该声音段中第一个解码PCMcode(25)是“$Xn+40H“,第二个用段头提供的SPn用上面运算法则计算,第三个及后面的可根据解码的基本运算法则完整地计算得到。
ADPCM code是4 bits数据,而计算机储存数据最少是以Byte为单位,如果在当前General Block中只剩下一个ADPCM code(4 bits)没有处理(251),并且这个code没有和前一个code共享一个Byte来保存,那这个4bits的ADPCM code是如何存放的呢?如果没有选择备用段(sparingblock),那么,这个ADPCM code是按Byte来保存了(252),高4Bits无效;如果选择了备用段,那么,这个ADPCM code是按Byte来保存了(252),但是高4Bits是有效的,高4Bits保存的是下一个General Block的第一个ADPCM code。如此,当前的block即处理完毕(253)。
若段头的第一个字节等于“1“,把第2、3字节当成一个组合数据,若这个组合数据不等于”0“,则本段是静音段(26),这个组合数据代表静音长度,其含义是:后面有silence size个PCM声音采样点是静音,此时将不用上面的运算公式计算(27)。
若段头的第一个字节等于“1”,把第2、3字节当成一个组合数据,若这个组合数据等于”0“,则本段是终止段(28),终止段只表示一段声音的结束(29)。
综上所述,本发明的声音编码优化流程同时采用了多种误差量化指标,允许使用者可依音质需求与压缩率的考虑来设定各量化指标的最大误差临界值,以获得满意的高质量声音与最适当的压缩率。
虽然本发明已由上述的实施例详细叙述而可由本领域普通技术人员作出修改和改动,然而都不脱离如附加的权利要求书的保护范围。
Claims (10)
1.一种声音演算方式,其步骤包括:
提供待处理的声音资料、不固定长度分段规则、编码优化流程及自适应差分脉冲编码文件;
将该待处理的声音数据利用该不固定长度分段规则,从该待处理的声音数据中每次切割区分出一个段;
利用该编码优化流程对该段进行编码,得到编码结果;
重复上述该不固定长度分段规则与该编码优化流程,直到处理完所有该待处理的声音数据,并获得多个段;以及
在声音处理的同时将该编码结果输出至该自适应差分脉冲编码文件中。
2.根据权利要求1所述的声音演算方式,其中,该不固定长度分段规则为依据该待处理的声音数据在不同位置的特性。
3.根据权利要求1所述的声音演算方式,其中,该多个段:
为多个声音段;
为多个静音段;或
具有终止段。
4.根据权利要求1所述的声音演算方式,其中该多个段为多个声音段、静音段与终止段,其中:
该等声音段具有多个声音采样点;
该等静音段具有多个声音采样点,而该等静音段中的该等声音采样点为多个静音点;
该等静音段只记录静音点的数目,不需利用该编码流程;
该终止段代表一段声音的结束,不需利用该编码流程;
该等静音段,在统计数目后直接输出到该自适应差分脉冲编码文件中;和/或
该等声音采样点中有一段可以建立该静音段时,则以该静音段前面的所有该等声音采样点作为初步声音段的长度,也就是初步的该等声音采样点数目。
5.一种声音编码优化流程,其步骤包括:
提供第一声音段、最小误差信号功率观念、累加误差观念、瞬间信号-噪声比观念及自适应差分脉冲编码文件;
利用该最小误差信号功率观念及该累加误差观念分析该第一声音段的总体误差情况,从该第一声音段获得第二声音段;
利用该最小误差信号功率观念及该瞬间SNR观念分析该第二声音段的瞬间误差情况,从该第二声音段获得第三声音段;
利用该最小误差信号功率观念优化该编码;以及
将编码结果输出至该自适应差分脉冲编码文件。
6.根据权利要求5所述的声音编码优化流程,其中,该第一声音段、第二声音段与第三声音段分别包括段头参数,其中:
该段头参数包括:
$Xn参数以及
Spn参数;
其中该$Xn参数为该第一声音段中的第一个声音采样点的运算结果;及
该SPn参数的选择会使其所对应的合成声音与原始音源间的误差信号功率有最小值;
该误差信号功率为该第一声音段中所有该声音采样点和相对应的合成声音采样点的差值平方后累加,再开平方根,然后除以该第一声音段的长度,其中所有该声音采样点合成误差绝对值的累加为合成累加误差值,并可针对该合成累加误差值设定一合成累加误差临界值,作为该声音编码优化流程的条件,其中:
该合成累加误差值小于该合成累加误差临界值时,即获得该第二声音段;和/或
若该第二声音段有声音采样点的合成瞬间SNR误差,大于合成声音误差的瞬间SNR临界值,则将在该声音采样点的前的声音采样点重新组成声音段,即获得该第三声音段,其中该合成声音误差的瞬间SNR误差临界值为index[SNR_abs]与index[SNR_ratio],作为该声音编码优化流程的条件;
该第三声音段的每一声音采样点皆对应自适应差分脉冲编码;和/或
该第三声音段包括段头,其中:
该段头包括段属性、长度参数、$Xn参数与Spn参数;和/或
保存该第三声音段的长度与该段头,并将该自适应差分脉冲编码输出至该自适应差分脉冲编码文件。
7.一种声音解码流程,其步骤包括:
提供待处理的自适应差分脉冲编码文件及解码方式;以及
利用该解码方式对该待处理的自适应差分脉冲编码文件中的多个段进行解码。
8.根据权利要求7所述的声音解码流程,其中,该自适应差分脉冲编码文件为多个段在时间轴上有次序的组合。
9.根据权利要求7所述的声音解码流程,其中,该自适应差分脉冲编码文件:
具有多个声音段;
具有多个静音段;或
具有终止段。
10.根据权利要求7所述的声音解码流程,其中:
该自适应差分脉冲编码文件具有多个声音段、静音段与终止段;和/或
该多个段的最开始具有段头,其中:
该多个段除该段头外,其余的数据为自适应差分脉冲编码;
该段头使用3个字节,分别为第一个字节、第二个与第三个字节;
该第一个字节的数值不等于”1”时,则该段为声音段;
该第一个字节的数值代表该段的长度;
该第一个字节的数值等于”0”时,代表声音采样点;
该第二个字节与该第三个字节为组合数据;
该第一个字节的数值等于”1”且该组合数据不等于”0”时,则该段为静音段;
该组合数据代表静音长度;
该静音段不需利用该解码方式;
该第一个字节的数值等于”1”且该组合数据等于”0”时,则该段为终止段;和/或
该终止段代表一段声音的结束,不需利用该解码方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510123942XA CN1972132B (zh) | 2005-11-24 | 2005-11-24 | 声音处理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510123942XA CN1972132B (zh) | 2005-11-24 | 2005-11-24 | 声音处理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1972132A true CN1972132A (zh) | 2007-05-30 |
CN1972132B CN1972132B (zh) | 2010-07-07 |
Family
ID=38112770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510123942XA Expired - Fee Related CN1972132B (zh) | 2005-11-24 | 2005-11-24 | 声音处理方式 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1972132B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143039A (zh) * | 2010-06-29 | 2011-08-03 | 华为技术有限公司 | 数据压缩中数据分段方法及设备 |
CN107809252A (zh) * | 2017-10-28 | 2018-03-16 | 徐慧民 | 一种新型24位adpcm音频压缩/解压缩方法 |
-
2005
- 2005-11-24 CN CN200510123942XA patent/CN1972132B/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143039A (zh) * | 2010-06-29 | 2011-08-03 | 华为技术有限公司 | 数据压缩中数据分段方法及设备 |
WO2011140930A1 (zh) * | 2010-06-29 | 2011-11-17 | 华为技术有限公司 | 数据压缩中数据分段方法及设备 |
CN102143039B (zh) * | 2010-06-29 | 2013-11-06 | 华为技术有限公司 | 数据压缩中数据分段方法及设备 |
US8924591B2 (en) | 2010-06-29 | 2014-12-30 | Huawei Technologies Co., Ltd. | Method and device for data segmentation in data compression |
CN107809252A (zh) * | 2017-10-28 | 2018-03-16 | 徐慧民 | 一种新型24位adpcm音频压缩/解压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1972132B (zh) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1734511B1 (en) | Entropy coding by adapting coding between level and run-length/level modes | |
EP1224662B1 (en) | Variable bit-rate celp coding of speech with phonetic classification | |
CA2697830C (en) | A method and an apparatus for processing a signal | |
CA2430111C (en) | Speech parameter coding and decoding methods, coder and decoder, and programs, and speech coding and decoding methods, coder and decoder, and programs | |
US20020049586A1 (en) | Audio encoder, audio decoder, and broadcasting system | |
EP1072036B1 (en) | Fast frame optimisation in an audio encoder | |
KR100889750B1 (ko) | 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법 | |
EP1119108A1 (en) | Lossless compression encoding method and device, and lossless compression decoding method and device | |
JPH08251030A (ja) | 高速および低速再生能力を与えるためのシステム、記憶および検索システム、ならびに高速および低速再生能力を与えるための方法 | |
JPH1084284A (ja) | 信号再生方法および装置 | |
KR101108637B1 (ko) | 디지털 신호 압축 시의 코딩에 사용되는 멀티펄스딕셔너리의 인덱스간 트랜스 코딩 | |
JPH08335100A (ja) | ディジタル音声データの記憶および検索方法、ならびにディジタル音声記憶および検索システム | |
US5673364A (en) | System and method for compression and decompression of audio signals | |
JP4728568B2 (ja) | レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化 | |
KR102017721B1 (ko) | 벡터 조인트 인코딩/디코딩 방법 및 벡터 조인트 인코더/디코더 | |
US20030195746A1 (en) | Speech coding/decoding method and apparatus | |
CN1972132B (zh) | 声音处理方式 | |
JPH03121633A (ja) | 可聴音信号符号化方法 | |
US6480550B1 (en) | Method of compressing an analogue signal | |
JPH06348300A (ja) | 合成手段による解析法技術を用いる音声のコード化器における励起ゲインの量子化の為の方法と装置 | |
JP4062971B2 (ja) | オーディオ信号符号化方法 | |
JP4508599B2 (ja) | データ圧縮方法 | |
JP3916934B2 (ja) | 音響パラメータ符号化、復号化方法、装置及びプログラム、音響信号符号化、復号化方法、装置及びプログラム、音響信号送信装置、音響信号受信装置 | |
JP3803306B2 (ja) | 音響信号符号化方法、符号化器及びそのプログラム | |
JPH0761044B2 (ja) | 音声符号化法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100707 Termination date: 20201124 |