数字音信数据编码方法技术

技术编号:34546766 阅读:15 留言:0更新日期:2022-08-17 12:29
本申请公开一种数字音信数据编码方法,包含以下步骤:存储量化音信数据中的所有频率的多个初始量化值的正负号;将量化音信资料中各初始量化值取绝对值,以分别形成多个量化值;依据多个量化值中的上一笔量化值,预测多个量化值中的目前量化值的比特长度以产生比特长度预测值,直到由高频至低频依序预测完所有多个量化值的比特长度;以及判断目前量化值的比特长度是否大于比特长度预测值,若否,直接存储目前量化值,不进行编码,若是,将目前量化值进行编码。进行编码。进行编码。

【技术实现步骤摘要】
数字音信数据编码方法


[0001]本申请涉及音信数据,特别是涉及一种数字音信数据编码方法。

技术介绍

[0002]数字音信数据通常以一帧帧(frame)方式压缩后经由有线或无线网络传送到接收端解压缩后播放,一般采用有损(lossy)压缩的方法把人耳无法辨别的声音细微差异移除,以提升压缩效率。
[0003]如图1示出典型的音信数据编码流程的步骤801至807。原始音信数据PCM先经过时域对频域变换(Time Domain to Frequency Domain Transform),将声音信号的能量集中到中低频。改进的离散余弦变换(MDCT,Modified Discrete Cosine Transform)是常用的音信压缩格式如AAC,MP3,采用的变换。变换的输出经过心理声学模型(Psychoacoustic Model)的评估,去除一些被屏蔽(Mask)的频率,再经过量化(Quantization)减小输出值。然后再用熵编码(entropy encoding)如霍夫曼编码(Huffman coding)或算术编码(Arithmetic coding)进行无损压缩(lossless compression),最后打包成一帧数据输出。
[0004]如图2示出音信压缩数据的译码流程的步骤809至813。压缩数据先进行无损解压缩得到量化后的数值,然后再乘以增益值得到接近原始MDCT的输出,最后再执行MDCT逆变换(Inverse MDCT)即到接近编码前的原始音信数据。
[0005]量化主要是将MDCT输出值除以增益值(Gain)的结果取整数,由图3所示,可观察到较大的数值主要集中在低频和中频,这就是MDCT变换的效果。而量化后MDCT的输出值大幅降低,很多高频部分都接近0,有利于后续熵编码的压缩率。值得注意的是若增益值越大则量化后数值越小,压缩后的数据长度也越小,但增益值越大相对的音信数据失真的程度也越高,因此以相同的增益如何获得较佳的压缩率就是音信编码器的重要课题。

技术实现思路

[0006]本申请针对现有技术的不足提供一种数字音信数据编码方法,包含以下步骤:(a)将原始音信数据进行改进的离散余弦变换,以将原始音信数据的音信信号的波形从时域转频域,以形成一转换音信数据;(b)将转换音信数据除以增益值的取得的数值撷取整数值,以量化转换音信数据,以形成量化音信数据;(c)存储量化音信数据中所有频率的多个初始量化值的正负号;(d)将量化音信资料中各初始量化值取绝对值,以分别形成多个量化值;(e)依据量化音信资料中的多个量化值中的上一笔量化值,以预测目前量化值的比特长度以产生比特长度预测值,直到由高频至低频依序预测完所有多个量化值的比特长度;以及(f)将目前量化值的比特长度小于等于比特长度预测值的部分比特,称为余数直接存储,不进行编码,大于比特长度预测值的部分比特称为商数,后续进行编码,若目前量化值的比特长度小于等于比特长度预测值,则其商数为0,反复执行步骤(f)直到处理完量化音信数据中的所有多个量化值。
[0007]在一实施方案中,所述的数字音信数据编码方法还包含以下步骤:(g)对所有商数
进行第一次编码:判断商数是否小于2,若是,编码字符即为商数,若否,则编码字符为2;(h)对大于等于2的商数进行第双步编码:判断商数是否大于3,若否,依据商数值,据以加入0个至3个字符“1”至编码字符串,最后加入字符“0”表示商数编码完成,不执行后续步骤,若是,则执行后续步骤(i)至(l);(i)将字符“2”加入编码字符串;(j)将商数值的最低二个比特依序加入编码字符串;(k)商数值往右移二个比特;(l)判断商数值是否大于3,若是,再次执行步骤(i)至(k),若否,依据商数值,据以加入0个至3个字符“1”至编码字符串,最后加入字符“0”表示商数编码完成。
[0008]在一实施方案中,所述数字音信数据编码方法还包含以下步骤:依序取得从低频到高频排序的多个量化值的比特长度;以及由高频至低频,将多个量化值的比特长度排序。
[0009]在一实施方案中,所述数字音信数据编码方法还包含以下步骤:依据上一笔量化值的比特长度与上一笔量化值的比特长度预测值,以预测目前量化值的比特长度,以下方程序表示:P[n]=P[n

1]*a+B[n

1]*(1

a),其中P[n]代表目前量化值的比特长度预测值,P[n

1]代表上一笔量化值的比特长度预测值,B[n

1]代表上一笔量化值的比特长度,a代表介于0至1范围内的系数。
[0010]在一实施方案中,所述数字音信数据编码方法还包含以下步骤:将直接存储的所有余数,与经压缩的最终编码字符串打包成音信比特流传输至音信播放端;拆开音信比特流,将最终编码字符串的压缩数据进行解压缩,以得到所有编码字符串;将所有编码字符串译码后得到所有商数;由上一笔量化值的比特长度预测值和上一笔量化值的比特长度推算出目前量化值的比特长度预测值,依据预测比特长度由音信比特流取出余数;结合商数和余数以还原出目前的量化值;计算出目前量化值的比特长度,再和目前量化值的预测比特长度,推算出下一笔量化值的比特长度预测值;以及如此迭代出所有的量化值,加上存储的正负号,以还原出原始音信数据的所有初始量化值。
[0011]如上所述,本申请提供一种数字音信数据编码方法及方法,其,其具有以下特点:
[0012]将量化后数值先经过自适应比特长度编码(adaptive bit length encode),再进行熵编码,以提高压缩率;
[0013]自适应比特长度编码会依据过往的数值预测下一笔数值的比特长度,比特长度预测值以上的比特进行编码,预测值以下的比特直接存储不压缩,减少压缩运算量;
[0014]利用频率间数值的相关性,减小预测值比特长度与实际比特长度的误差。
[0015]为使能更进一步了解本申请的特征及
技术实现思路
,请参阅以下有关本申请的详细说明与图式,然而所提供的图式仅用于提供参考与说明,并非用来对本申请加以限制。
附图说明
[0016]图1为音信数据编码流程图。
[0017]图2为音信压缩数据的译码流程图。
[0018]图3为MDCT输出与量化后数值的曲线图。
[0019]图4为本申请实施例的数字音信数据编码方法进行量化值编码的步骤流程图。
[0020]图5为本申请实施例的数字音信数据编码方法的依据上一笔量化值的比特长度和比特长度预测值以预测目前量化值的比特长度的步骤流程图。
[0021]图6为本申请实施例的数字音信数据编码方法的编码步骤流程图。
[0022]图7为本申请实施例的数字音信数据编码方法的原始音信信号的频率由低至高排序的量化值的比特长度的示意图。
[0023]图8为本申请实施例的数字音信数据编码方法的原始音信信号的频率由高至低排序的量化值的比特长度与预测的比特长度的示意图。
具体实施方式<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数字音信数据编码方法,其特征在于,所述数字音信数据编码方法包含以下步骤:(a)将原始音信数据进行改进的离散余弦变换,以将所述原始音信数据的音信信号的波形从时域转频域,以形成转换音信数据;(b)将所述转换音信数据除以增益值的取得的数值撷取整数值,以量化所述转换音信数据,以形成量化音信数据;(c)存储所述量化音信数据中所有频率的多个初始量化值的正负号;(d)将所述量化音信资料中各所述初始量化值取绝对值,以分别形成多个量化值;(e)依据所述量化音信资料中的所述多个量化值中的上一笔所述量化值,以预测目前所述量化值的比特长度以产生比特长度预测值,直到由高频至低频依序预测完所有所述多个量化值的比特长度;以及(f)将目前所述量化值的比特长度小于等于所述比特长度预测值的部分比特,称为余数直接存储,不进行编码,大于所述比特长度预测值的部分比特称为商数,后续进行编码,若目前所述量化值的比特长度小于等于所述比特长度预测值,则其商数为0,反复执行步骤(f)直到处理完所述量化音信数据中的所有所述多个量化值。2.根据权利要求1所述的数字音信数据编码方法,其特征在于,所述数字音信数据编码方法还包含以下步骤:(g)对所有商数进行第一次编码:判断商数是否小于2,若是,编码字符即为商数,若否,则编码字符为2;(h)对大于等于2的商数进行第双步编码:判断商数是否大于3,若否,依据商数值,据以加入0个至3个字符“1”至编码字符串,最后加入字符“0”表示商数编码完成,不执行后续步骤,若是,则执行后续步骤(i)至(l);(i)将字符“2”加入编码字符串;(j)将商数值的最低二个比特依序加入编码字符串;(k)商数值往右移二个比特;以及(l)判断商数值是否大于3,若是,再次执行步骤(i)至(k),若否,依据商数值,据以加入0个至3个字符“1”至编码字符串,最后加入字...

【专利技术属性】
技术研发人员:李敬祥
申请(专利权)人:同响科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1