CN111341330B - 音频编解码方法、存取方法及其相关设备及存储装置 - Google Patents

音频编解码方法、存取方法及其相关设备及存储装置 Download PDF

Info

Publication number
CN111341330B
CN111341330B CN202010084574.7A CN202010084574A CN111341330B CN 111341330 B CN111341330 B CN 111341330B CN 202010084574 A CN202010084574 A CN 202010084574A CN 111341330 B CN111341330 B CN 111341330B
Authority
CN
China
Prior art keywords
remainder
value
audio file
sampling point
target audio
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.)
Active
Application number
CN202010084574.7A
Other languages
English (en)
Other versions
CN111341330A (zh
Inventor
方磊
赵亚
杨军
方昕
方四安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
iFlytek Co Ltd
Original Assignee
iFlytek Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN202010084574.7A priority Critical patent/CN111341330B/zh
Publication of CN111341330A publication Critical patent/CN111341330A/zh
Application granted granted Critical
Publication of CN111341330B publication Critical patent/CN111341330B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Abstract

本申请公开了一种音频编解码方法、存取方法及其相关设备及存储装置。其中,音频编码方法包括:获取目标音频文件的目标模值;利用目标模值分别对目标音频文件中每个采样点的值进行分解,得到每个采样点的倍数和余数;分别对每个采样点的倍数和余数进行编码,得到每个采样点的倍数编码值和余数编码值;基于目标音频文件的每个采样点的倍数编码值和余数编码值,得到目标音频文件的编码数据。上述方案,能够提高音频文件的数据安全性。

Description

音频编解码方法、存取方法及其相关设备及存储装置
技术领域
本申请涉及音频数据处理技术领域,特别是涉及一种音频编解码方法、存取方法及其相关设备及存储装置。
背景技术
目前,音频技术已得到广泛的应用,故各行各业每天都会产生大量的音频文件。而不少行业如公共安全领域对其音频文件需要极高的保密性。现有的音频文件通常采用对音频文件中的数据值进行明文编码,进而对编码后的音频文件进行存储、通信。明文编码数据极易被窃听,从而导致音频文件的信息泄露,进而造成重大损失。
基于此,针对现有的音频文件存在的安全风险,如何提高音频文件的数据安全性,成为亟待解决的问题。
发明内容
本申请主要是提供一种音频编解码方法、存取方法及其相关设备及存储装置,能够提高音频文件的数据安全性。
为了解决上述问题,本申请第一方面提供了一种音频编码方法,包括:获取目标音频文件的目标模值;利用目标模值分别对目标音频文件中每个采样点的值进行分解,得到每个采样点的倍数和余数;分别对每个采样点的倍数和余数进行编码,得到每个采样点的倍数编码值和余数编码值;基于所述目标音频文件的每个采样点的倍数编码值和余数编码值,得到所述目标音频文件的编码数据。
为了解决上述问题,本申请第二方面提供了一种音频解码方法,包括:从目标音频文件的编码数据中,获取目标音频文件的每个采样点的倍数编码值和余数编码值;分别对每个采样点的倍数编码值和余数编码值进行解码,得到每个采样点的倍数和余数;基于每个采样点的倍数和余数,得到目标音频文件的每个采样点的值。
为了解决上述问题,本申请第三方面提供了一种音频存储方法,包括:获取待存储的至少一个音频文件;将每个音频文件分别作为目标音频文件,并执行上述第一方面的音频编码方法对音频文件进行编码,得到每个音频文件的编码数据;存储至少一个音频文件的编码数据。
为了解决上述问题,本申请第四方面提供了一种音频读取方法,包括:从存储空间中读取至少一个音频文件的编码数据;执行上述第二方面的音频解码方法对编码数据进行解码,得到每个音频文件。
为了解决上述问题,本申请第五方面提供了一种音频处理设备,包括相互耦接的处理器和存储器,其中,处理器用于执行存储器存储的计算机程序以执行上述第一方面的音频编码方法和/或执行上述第二方面的音频解码方法;或者,处理器用于执行存储器存储的计算机程序以执行上述第三方面的音频存储方法和/或执行上述第四方面的音频读取方法。
为解决上述问题,本申请第六方面提供了一种存储装置,存储有能够被处理器执行以实现上述任一方面的方法的计算机程序。
上述方案中,利用目标音频文件的目标模值分别对目标音频文件中每个采样点的值进行分解,得到每个采样点的倍数和余数,然后分别对每个采样点的倍数和余数进行编码,得到每个采样点的倍数编码值和余数编码值,以得到目标音频文件的编码数据,由此,通过构造倍数编码值和余数编码值得到目标音频文件的编码数据,实现对音频文件的安全编码,提高编码数据的安全性。
附图说明
图1是本申请音频编码方法一实施例的流程示意图;
图2是本申请音频编码方法另一实施例的流程示意图;
图3是本申请音频编码方法另一实施例步骤S204中倍数霍夫曼树的示意图;
图4是本申请音频解码方法一实施例的流程示意图;
图5是本申请音频存储方法一实施例的流程示意图;
图6是本申请音频读取方法一实施例的流程示意图;
图7是本申请音频处理设备一实施例的框架示意图;
图8是本申请存储装置一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
请参阅图1,图1是本申请音频编码方法一实施例的流程示意图。具体而言,本实施例方法包括以下步骤:
步骤S101:获取目标音频文件的目标模值。
为避免直接通过采样点的值获取到目标音频文件,提高音频信号的数据安全性,本实施例方法采用目标模值来对目标音频文件进行倍数和余数的分解并分别进行编码处理。
其中,目标模值为小于或等于目标音频文件中采样点的最大值的正整数,具体可以为预先设定好的,或者根据该目标音频文件确定得到的。在一些实施例中,由于目标音频文件最后得到的倍数和余数的数值范围可能会影响后续编码数据量,故可以将倍数和目标模值的数值范围设置为接近,具体可根据目标音频文件的数据量化精度确定其目标模值,使得目标音频文件的倍数和余数的数据分布更集中。例如,本步骤S101具体包括:基于目标音频文件的数据量化精度,获取数据量化值域;获取数据量化值域的上限域值,并遍历上限域值的所有组除数与商,以获得每组除数与商中的较大值;从所有组除数与商的较大值中选择最小值作为目标模值。当然,为进一步增加数据的安全性,可在覆盖最小值的预设范围内选择一个正整数作为目标模值,该预设范围可自定义,在此不作限定。其中,数据量化精度是指存储音频数据时每个采样点占据存储空间的字节大小,如但不限于8bit、16bit。通过二进制转换,利用数据量化精度获取数据量化值域。例如,数据量化精度为16bit,数据量化值域为-32768至32768;数据量化精度为8bit,数据量化值域为-256至256。
步骤S102:利用目标模值分别对目标音频文件中每个采样点的值进行分解,得到每个采样点的倍数和余数。
目标音频文件为音频信号的存储载体,由若干个采样点的值组成。音频信号通过模拟信号或数字信号表示。连续变化的模拟信号曲线,能够反应音频信号的频率、幅度变化信息,而按照预设规则从模拟信号中选择若干个点作为采样点,并获取该若干个采样点的值。预设规则包括采集频率,采集频率为8K采样或16K采样等。
在获取目标模值后,利用目标模值分别对目标音频文件中每个采样点的值进行分解,即可得到每个采样点的倍数和余数。在一实施例中,将每个采样点的值除以目标模值所得的商和余数分别作为采样点的倍数和余数。相较于直接通过采样点的值获得目标音频文件,将采样点的值分解为倍数和余数后,仅在同时获知倍数、余数和目标模值,才能获得目标音频文件的采样点的值,再通过采样点的值获得目标音频文件,提高数据安全性。另外,通过目标模值将目标音频文件中采样点的值分解成倍数和余数,分解后的倍数与余数的取值范围远小于采样点的取值范围,从而倍数与余数的数据分布更加集中,进而可为后续编码提供更有力的前提,并能够减少编码数据对存储空间的占用。
步骤S103:分别对每个采样点的倍数和余数进行编码,得到每个采样点的倍数编码值和余数编码值。
为实现目标音频文件的数据编码,对采样点的倍数进行编码得到倍数编码值,对采样点的余数进行编码得到余数编码值。其中,可采用现有任意编码方式实现对倍数和余数的编码。在一实施例中,可利用无损数据压缩的熵编码(权编码)算法对采样点的倍数和余数分别进行编码,可基于数据出现频率实行变长编码。出现频率高的倍数或余数,其编码值更短,所占存储空间更小。熵编码方式有多种,下面具体以霍夫曼编码方式进行具体举例说明:
具体地,对目标音频文件中的采样点的倍数进行频率统计,得到倍数频率分布情况。基于倍数频率分布情况,生成倍数霍夫曼编码表。其中,霍夫曼编码表的生成可以为现有技术的生成方式,例如,基于倍数频率分布情况,建立倍数霍夫曼树,并通过倍数霍夫曼树生成倍数霍夫曼编码表。利用倍数霍夫曼编码表对每个采样点的倍数进行霍夫曼编码,得到每个采样点的倍数编码值。
同理,对目标音频文件中的采样点的余数进行频率统计,得到余数频率分布情况。基于余数频率分布情况,生成余数霍夫曼编码表。例如,可基于余数频率分布情况,建立余数霍夫曼树,并通过余数霍夫曼树生成余数霍夫曼编码表。利用余数霍夫曼编码表对每个采样点的余数进行霍夫曼编码,得到每个采样点的余数编码值。
在一实施例中,对于上述倍数和余数的频率统计,可以从目标音频文件所有采样点的倍数中随机抽取部分倍数,并对随机抽取的倍数进行频率统计得到倍数频率分布情况,并从目标音频文件所有采样点的余数中随机抽取部分余数,并对随机抽取的余数进行频率统计得到余数频率分布情况,从而获取部分倍数和余数实现频率分布情况的统计,进而提高编码效率。又或者,可以从目标音频文件所有采样点的倍数和余数分别进行频率统计,得到倍数频率分布情况和余数频率分布情况。
在另一实施例中,待编码的目标音频文件有若干个时,可以综合利用若干个目标音频文件中的采样点的倍数和余数进行频率统计,并利用综合统计得到的倍数频率分布情况(如倍数频率分布表)建立倍数霍夫曼编码表,利用综合统计得到的余数频率分布情况(如余数频率分布表)建立余数霍夫曼编码表,进而基于倍数霍夫曼编码表和余数霍夫曼编码对若干个目标音频文件中的每个采样点的倍数和余数进行编码,即,可对若干个目标音频文件的倍数、余数分别进行频率统计,由此可为若干个目标音频文件生成统一的倍数霍夫曼编码表和余数霍夫曼编码表,故无需针对每个音频文件分别生成倍数霍夫曼编码表和余数霍夫曼编码表,提高编码效率,而且综合若干个目标音频文件统计得到的倍数和余数的频率,进而保证后续对若干个音频文件编码时实际出现频率高的倍数和余数仅可采用少字节编码,减低编码数据量。
具体地,可对若干个目标音频文件中所有采样点的倍数和余数分别进行频率统计,得到倍数频率分布情况和余数频率分布情况,进而基于倍数频率分布情况和余数频率分布情况得到倍数霍夫曼编码表和余数霍夫曼编码表,然后利用对应编码表实现对每个采样点倍数和余数的编码。当然,为提高频率统计效率,也可仅抽取部分倍数和余数进行频率统计,例如,从多个目标音频文件所有采样点的倍数中随机抽取部分倍数(如在每个目标音频文件的倍数中随机抽取50个),并对随机抽取的倍数进行频率统计得到倍数频率分布情况,并从若干个目标音频文件所有采样点的余数中随机抽取部分余数(如在每个目标音频文件的余数中随机抽取50个),并对随机抽取的余数进行频率统计得到余数频率分布情况。
步骤S104:基于目标音频文件的每个采样点的倍数编码值和余数编码值,得到目标音频文件的编码数据。
分别获取到每个采样点的倍数编码值和余数编码值后,综合倍数编码值和余数编码值,即可得到目标音频文件的编码数据。例如,基于目标音频文件每个采样点的倍数编码值生成目标音频文件的倍数编码文件,基于目标音频文件每个采样点的余数编码值生成目标音频文件的余数编码文件,以由目标音频文件的倍数编码文件、余数编码文件组成目标音频文件的编码数据。
在另一实施例中,由于采样点的值可以是正值或负值,因此可将采样点的正负值同样进行编码。
如在本步骤S103之前,本实施例方法还可包括为每个采样点生成正/负码值,其中,正/负码值表示对应采样点的值为正数或负数。例如,若采样点的值为正数,则该采样点对应的符号值为正码值,可以用正标识值+1表示,若采样点的值为负数,则该采样点对应的符号值为负码值,可以用负标识值-1表示;又例如,若采样点的值为正数,则该采样点对应的符号值可以为1,若采样点的值为负数,则该采样点对应的符号值可以为0。正/负码值可采用任意不同值表示对应采样点为正数或负数,故在此不做具体限定。
在为目标音频文件每个采样点生成正/负码值后,本步骤S103则可具体包括基于目标音频文件的每个采样点的倍数编码值、余数编码值以及正/负码值,得到目标音频文件的编码数据。具体如,基于目标音频文件每个采样点的倍数编码值生成目标音频文件的倍数编码文件,基于目标音频文件每个采样点的余数编码值生成目标音频文件的余数编码文件,基于目标音频文件每个采样点的正/负码值生成目标音频文件的符号文件,以由目标音频文件的倍数编码文件、余数编码文件和符号文件组成目标音频文件的编码数据。又例如,倍数编码值和正/负码值可作为同一编码文件,具体地,基于目标音频文件每个采样点的倍数编码值和正/负码值生成目标音频文件的倍数编码文件,基于目标音频文件每个采样点的余数编码值生成目标音频文件的余数编码文件,以由目标音频文件的倍数编码文件和余数编码文件组成目标音频文件的编码数据。其中,倍数编码文件由倍数编码值和正/负码值共同组成,并且倍数编码文件中倍数编码值和正/负码值对应的高低位排列顺序不作任何限定。
通过上述方式,利用目标音频文件的目标模值分别对目标音频文件中每个采样点的值进行分解,得到每个采样点的倍数和余数,然后分别对每个采样点的倍数和余数进行编码,得到每个采样点的倍数编码值和余数编码值,以得到目标音频文件的编码数据,由此,对于目标音频文件的编码数据,需要获知倍数和余数以及目标模值方可对应正确解码得到目标音频文件,实现对音频文件的加密,提高数据安全性。具体地,由于目标模值外界无法获知,倍数与余数分开编码,可实现音频文件的加密,提高数据安全性。
另外,在一些实施例中,可采用霍夫曼编码等熵编码方式对倍数和余数进行编码得到目标音频文件的编码数据,由于该编码方式中需要按照编码表进行编码,外界无法获取该编码表的情况下,无法将倍数和余数进行正确解码,因此可进一步提高数据加密,而且,由于该编码方式为不定长编码,目标模值使得倍数和余数集中在更小的数据范围内,故可大大减少最终生成的编码数据量,进而可节省数据存储空间。
请参阅图2,图2是本申请音频编码方法另一实施例的流程示意图。具体而言,本实施例方法包括以下步骤:
步骤S201:基于目标音频文件的数据量化精度,获取数据量化值域;获取数据量化值域的上限域值,并遍历上限域值的所有组除数与商,以获得每组除数与商中的较大值;从所有组除数与商的较大值中选择最小值作为目标模值。
本实施例中,为使得数据分布更集中,进而可为后续霍夫曼编码创造有利的编码条件,选择一目标模值,以使得目标音频文件的倍数和余数范围更小。
为清楚地描述本申请的技术方案,以数据量化精度获取的数据量化值域为16bit为例,则其原始量化值域为:C=(-32767,32768)且C为整数。故目标音频文件的采样点的值分布非常离散,只考虑正数部分,其值取值范围为[0,32768),假定倍数为a,余数为b,目标模值为K,目标是使得(32768-b)/K=a,且遍历所有组{a,K},以得到每组{a,K}中的较大值max{a,K},进而从所有组max{a,K}中找出最小值作为目标模值。根据不等式上限原则,很容易得到当a约等于K时,可得max{a,K}的最小值,则可得K=180,a=182,那通过K值的分解16bit的采样取值将从C=(-32767,32768)投影到倍数和余数的取值范围C’=(-182,182),数据集中度提升了180倍,为后续霍夫曼编码的前提条件。同理可得8bit的K值为12,a为10。当然,为增加数据的安全性,可在最小值的预设范围内选择一个正整数作为目标模值,该预设范围可自定义,在此不作限定。
步骤S202:利用目标模值分别对目标音频文件中每个采样点的值进行分解,得到每个采样点的倍数和余数。
本实施例中,对目标音频文件中每个采样点的值进行分解时,将每个采样点的值除以目标模值得到的商和余数分别作为采样点的倍数和余数,即可得到每个采样点的倍数和余数。
步骤S203:对目标音频文件中的采样点的倍数和余数分别进行频率统计,得到倍数频率分布情况和余数频率分布情况。
频率分布情况是指采样点倍数或余数为特定值的次数。以获取倍数频率分布情况为例,一目标音频文件的采样点的倍数为a1、a2、a3、a4、a5、a6、a7、a8、a9和a10,其对应数值大小为2、3、5、6、2、3、5、3、2、3。对目标音频文件中的采样点的倍数进行频率统计,得到倍数频率分布情况:数值为2的倍数出现频率为3次,数值为3的倍数出现频率为4次,数值为5的倍数出现频率为2次,数值为6的倍数出现频率为1次。同样,对目标音频文件中的采样点的余数进行频率统计,即可得到余数频率分布情况。
步骤S204:基于倍数频率分布情况,建立倍数霍夫曼树,并通过倍数霍夫曼树生成倍数霍夫曼编码表;以及基于余数频率分布情况,建立余数霍夫曼树,并通过余数霍夫曼树生成余数霍夫曼编码表。
承接步骤S203的举例,获取到倍数频率分布情况后,第一步,从频率1、2、3、4中选取最小的两个频率值1和2相加得到3;第二步,再从频率3(前述第一步中,最小的两个频率值1和2相加得到的3)、3和4(3和4为第一步中频率1、2、3、4未相加的频率值)中选取最小的两个频率值3和3相加得到6,最后,从频率6(第二步中频率值3和3相加得到的6)、4(4为第一步中频率1、2、3、4未相加的频率值)相加得到10,建立倍数霍夫曼树如图3所示(实线圆形中数字表示倍数)。通过倍数霍夫曼树生成倍数霍夫曼编码表。当获知倍数霍夫曼树以及霍夫曼编码表时,可获知倍数频率分布情况,否则仅获知霍夫曼树无法对应到倍数的数值大小,增加数据编码的安全性。同样,基于余数频率分布情况,建立余数霍夫曼树,并通过余数霍夫曼树,即可生成余数霍夫曼编码表,在此不再赘述。
步骤S205:利用倍数霍夫曼编码表对每个采样点的倍数进行霍夫曼编码,得到每个采样点的倍数编码值,以及利用余数霍夫曼编码表对每个采样点的余数进行霍夫曼编码,得到每个采样点的余数编码值。
基于霍夫曼编码特性,出现频率越高的倍数或余数,编码越短,而出现频率越低的倍数或余数,编码越长,从而利用霍夫曼编码表对每个采样点进行霍夫曼编码,可最大化的无损压缩编码数据,节省数据的存储空间。另外,目标音频文件的采样点的值分布非常离散,不利于实现高效编码。由于目标模值的存在,使得目标音频文件的采样点的值分解成倍数与余数,从而分布更集中的倍数与余数进行编码,实现了目标音频文件的压缩编码。
承接步骤S203的举例,倍数为2的霍夫曼编码为01,倍数为3的霍夫曼编码为1,倍数为5的霍夫曼编码为001,倍数为6的霍夫曼编码为000。频率最大为4,采样点的倍数为3,该采样点的霍夫曼编码最短,为1;而频率最小为1,采样点的倍数为6,该采样点的霍夫曼编码最长,为000。出现频率高的倍数,其编码值更短,从而减小所有倍数的存储空间。同样,利用余数霍夫曼编码表对每个采样点的余数进行霍夫曼编码,得到每个采样点的余数编码值。
步骤S206:为每个采样点生成正/负码值。
其中,正/负码值表示对应采样点的值为正数或负数。采样点的值带有正负信息,可以直接记录其正负信息得到正/负码值。
步骤S207:基于目标音频文件的每个采样点的倍数编码值、余数编码值以及正/负码值,得到目标音频文件的编码数据。
分别获取到每个采样点的倍数编码值、余数编码值和正/负码值后,即可得到目标音频文件的编码数据。例如,基于目标音频文件每个采样点的倍数编码值生成目标音频文件的倍数编码文件,基于目标音频文件每个采样点的余数编码值生成目标音频文件的余数编码文件,基于目标音频文件每个采样点的正/负码值生成目标音频文件的符号文件,以由目标音频文件的倍数编码文件、余数编码文件和符号文件组成目标音频文件的编码数据。
通过上述方式,基于目标音频文件的数据量化精度确定目标模值;利用目标模值分别对目标音频文件中每个采样点的值进行分解,得到每个采样点的倍数和余数,使得同时获知目标模值、倍数和余数才可获知采样点的值;对分解后的倍数与余数进行频率统计,得到相应的频率分布情况;基于频率分布情况,建立霍夫曼树,并通过霍夫曼树生成霍夫曼编码表,然后分别利用倍数或余数霍夫曼编码表对每个采样点的倍数或余数进行霍夫曼编码,得到每个采样点的倍数或余数编码值;最后将目标音频文件的每个采样点的倍数编码值和余数编码值,作为目标音频文件的编码数据。由于目标模值外界无法获知,倍数与余数分开编码,可实现音频文件的加密编码,提高数据安全性。由于目标模值使得倍数和余数集中在更小的数据范围内,再加上霍夫曼编码为不定长编码,使得倍数编码值和余数编码值较短,可节省数据存储空间。利用霍夫曼编码实现音频文件的无损压缩,并且霍夫曼编码表外界也无法获知,进一步提高数据安全性。
可以理解的是,上述采用霍夫曼编码的实施例中,采用的是对采样点的倍数和余数分别进行频率统计,得到倍数频率分布情况和余数频率分布情况,进而生成对应的倍数霍夫曼编码表和余数霍夫曼编码表,进而基于对应的编码表对倍数和余数进行编码。在其他实施例中,为了节约资料,提高运算效率,也可对采样点的倍数和余数统一进行频率统计,得到倍数-余数频率分布情况,并基于所述倍数-余数频率分布情况,生成倍数-余数霍夫曼编码表(具体如基于所述倍数-余数频率分布情况,建立一倍数-余数霍夫曼树,并通过倍数-余数霍夫曼树生成倍数-余数霍夫曼编码表);并利用倍数-余数霍夫曼编码表分别对每个所述采样点的倍数和余数进行霍夫曼编码,得到每个所述采样点的倍数编码值和余数编码值。其中,如前面实施例所述,可对目标音频文件的所有采样点的倍数和余数进行频率统计或者对其中部分采样点的倍数和余数进行频率统计。若待编码的目标音频文件有若干个,则可以综合利用若干个目标音频文件中的采样点的倍数和余数进行频率统计,例如,可对若干个目标音频文件中所有采样点的倍数和余数统一进行频率统计,得到倍数-余数频率分布情况,或者,从多个目标音频文件所有采样点的倍数中随机抽取部分倍数,并从若干个目标音频文件所有采样点的余数中随机抽取部分余数,并对随机抽取的倍数和余数统一进行频率统计得到倍数-余数频率分布情况。
继续具体举例说明,一目标音频文件的采样点的倍数为a1、a2、a3、a4、a5、a6、a7、a8、a9和a10,其对应数值大小为2、3、5、6、2、3、5、3、2、3;采样点的余数为b1、b2、b3、b4、b5、b6、b7、b8、b9和b10,其对应数值大小为1、3、6、5、5、3、5、6、7、2。对目标音频文件中的所有采样点的倍数和余数进行频率统计,得到倍数-余数频率分布情况:数值为1的倍数或余数共出现频率为1次,数值为2的倍数或余数共出现频率为4次,数值为3的倍数或余数共出现频率为6次,数值为5的倍数或余数共出现频率为5次,数值为6的倍数或余数共出现频率为3次,数值为7的倍数或余数共出现频率为1次。类似于上述实施例的倍数霍夫曼树建立过程,按照获取到的倍数-余频率分布情况,可对应建立一倍数-余数霍夫曼树。再基于该倍数-余数霍夫曼树,可为上述的每个数值1、2、3、5、6、7确定对应的霍夫曼编码,进而得到倍数-余数霍夫曼编码表。由于该倍数-余数霍夫曼编码表包含倍数和余数所出现的所有数值对应的编码值,故后续利用该倍数-余数霍夫曼编码表对每个采样点的倍数和余数分别进行霍夫曼编码,得到每个采样点的倍数编码值和余数编码值。
请参阅图4,图4是本申请音频解码方法一实施例的流程示意图。具体而言,本实施例方法包括以下步骤:
步骤S401:从目标音频文件的编码数据中,获取目标音频文件的每个采样点的倍数编码值和余数编码值。
其中,该目标音频文件的编码数据可以为由上述任一实施例编码得到编码数据。
具体地,目标音频文件的编码数据包括独立的倍数编码值和余数编码值,获知目标音频文件的编码数据,即可得到每个采样点的倍数编码值和余数编码值。例如,目标音频文件的编码数据包括倍数编码文件和余数编码文件,其中,倍数编码文件是基于目标音频文件每个采样点的倍数编码值生成的,余数编码文件是基于目标音频文件每个采样点的余数编码值生成的。
在一实施例中,目标音频文件的编码数据包括倍数编码值、余数编码值和正/负码值,其中,正/负码值表示对应采样点的值为正数或负数。从编码数据中获取每个采样点的正/负码值,然后基于每个采样点的正/负码值,即可确定采样点的符号值。其中,正码值可以表示正数,则符号值为+1,负码值可以表示负值,则符号值为-1。该正/负码值的说明可参考上述编码方法实施例的相关描述,在此不做赘述。
步骤S402:分别对每个采样点的倍数编码值和余数编码值进行解码,得到每个采样点的倍数和余数。
利用预设倍数霍夫曼编码表对每个采样点的倍数编码值进行霍夫曼解码,得到每个采样点的倍数。利用预设余数霍夫曼编码表对每个采样点的余数编码值进行霍夫曼解码,得到每个采样点的余数。或者,倍数和余数共用一霍夫曼编码表,则利用预设倍数-余数霍夫曼编码表对对每个采样点的倍数编码值和余数编码值分别进行霍夫曼解码,得到每个采样点的倍数和余数。其中,该预设倍数霍夫曼编码表、预设余数霍夫曼编码表和预设倍数-余数霍夫曼编码表可以为对该目标音频文件进行编码时生成并保存的,该预设倍数霍夫曼编码表、预设余数霍夫曼编码表和预设倍数-余数霍夫曼编码表的生成可参考上述编码实施例方法的相关描述。
步骤S403:基于每个采样点的倍数和余数,得到目标音频文件的每个采样点的值。
例如,将采样点的倍数与目标模值之间的积与采样点的余数相加,得到采样点的值。
在一实施例中,目标音频文件的编码数据包括倍数编码值、余数编码值和正/负码值,获取将采样点的倍数与目标模值之间的积与采样点的余数相加的和,并将上述得到的和与符号值的积作为采样点的值。
通过上述方式,利用目标音频文件的编码数据获取目标音频文件的每个采样点的倍数编码值和余数编码值;分别对每个采样点的倍数编码值和余数编码值进行解码,得到每个采样点的倍数和余数;基于每个采样点的倍数和余数,得到目标音频文件的每个采样点的值,由编码数据获得采样点的值,将密文转换为明文,实现对编码的目标音频文件的解码,而且需要对目标音频文件的采样点的倍数编码值和余数编码值分别进行解码,方可得到正确的采集点的值,故提高数据安全性。
请参阅图5,图5是本申请音频存储方法一实施例的流程示意图,本实施例中,存储方法包括:
步骤S501:获取待存储的至少一个音频文件。
例如,通过音频采集器获取得到的至少一个音频文件,或者接收到远端设备发送的至少一个音频文件。
步骤S502:将每个音频文件分别作为目标音频文件,并对音频文件进行编码,得到每个音频文件的编码数据。
具体地,将每个音频文件分别作为目标音频文件,并执行上述任一音频编码方法实施例的步骤对音频文件进行编码,得到每个音频文件的编码数据。其中,该采用的编码方式可以为霍夫曼编码方式。
步骤S503:存储至少一个音频文件的编码数据。
将通过步骤S502得到的至少一个音频文件的编码数据存储在相应存储空间中。
通过上述方式,将音频文件作为目标音频文件,利用目标模值分解采样点的值为倍数与余数后分别进行编码,将倍数编码值和余数编码值作为目标音频文件的编码数据,实现对音频文件数据的安全编码,然后存储音频文件的编码数据,其实质为将倍数编码值和余数编码值分离存储,实现对音频文件的安全存储。
进一步地,若基于最大压缩比的霍夫曼编码技术,可实现对音频文件数据的安全编码,然后存储音频文件的编码数据,实现对音频文件的安全保密存储的同时,减小音频文件所占用的存储空间,实现无损压缩的高效存储。
请参阅图6,图6是本申请音频读取方法一实施例的流程示意图,本实施例中,读取方法包括:
步骤S601:从存储空间中读取至少一个音频文件的编码数据。
本实施例音频文件为执行上述任一音频编码方法实施例的步骤对音频文件进行编码,得到每个音频文件的编码数据后,将编码数据存储在存储空间。
步骤S602:对编码数据进行解码,得到每个音频文件。
具体地,执行上述任一音频解码方法实施例的步骤对步骤S601中的编码数据进行解码,得到每个音频文件。例如,从音频文件的编码数据中,获取音频文件的每个采样点的倍数编码值和余数编码值;分别对每个采样点的倍数编码值和余数编码值进行解码,得到每个采样点的倍数和余数;基于每个采样点的倍数和余数,得到音频文件的每个采样点的值,得到音频文件。
通过上述方式,从存储空间中读取至少一个音频文件的编码数据;从音频文件的编码数据中,获取音频文件的每个采样点的倍数编码值和余数编码值;分别对每个采样点的倍数编码值和余数编码值进行解码,得到每个采样点的倍数和余数;基于每个采样点的倍数和余数,得到音频文件的每个采样点的值,得到音频文件,从而实现对编码数据的解码,得到每个音频文件,实现音频的读取。
请参阅图7,图7是本申请音频处理设备一实施例的框架示意图。具体而言,本实施例中音频处理设备700包括相互耦接的存储器710和处理器720。其中,存储器710用于存储的程序指令以及处理器720处理时所需存储的数据。
处理器720控制存储器710及其自身以实现上述目标跟踪方法任一实施例的步骤。处理器720还可以称为CPU(Central Processing Unit,中央处理单元)。处理器720可能是一种集成电路芯片,具有信号的处理能力。处理器720还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器720可以由多个成电路芯片共同实现。
请参阅图8,图8为本申请存储装置800一实施例的框架示意图。本申请存储装置800存储有能够被处理器运行的程序指令801,程序指令801用于实现上述任一目标跟踪方法的实施例中步骤。
该存储装置800具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序指令801的介质,或者也可以为存储有该程序指令801的服务器,该服务器可将存储的程序指令801发送给其他设备运行,或者也可以自运行该存储的程序指令801。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (13)

1.一种音频编码方法,其特征在于,包括:
获取目标音频文件的目标模值;
利用所述目标模值分别对目标音频文件中每个采样点的值进行分解,得到每个所述采样点的倍数和余数;
分别对每个所述采样点的倍数和余数进行编码,得到每个所述采样点的倍数编码值和余数编码值;
基于所述目标音频文件的每个采样点的倍数编码值和余数编码值,得到所述目标音频文件的编码数据;
其中,所述获取目标音频文件的目标模值,包括:
基于所述目标音频文件的数据量化精度,获取数据量化值域;
获取所述数据量化值域的上限域值,并遍历所述上限域值的所有组除数与商,以获得每组除数与商中的较大值;
从所有组除数与商的较大值中选择最小值作为所述目标模值,或者在覆盖所述最小值的预设范围内选择一个正整数作为所述目标模值。
2.根据权利要求1所述的方法,其特征在于,所述分别对每个所述采样点的倍数和余数进行编码,得到每个所述采样点的倍数编码值和余数编码值,包括:
对所述目标音频文件中的采样点的倍数和余数分别进行频率统计,得到倍数频率分布情况和余数频率分布情况;
基于所述倍数频率分布情况,生成倍数霍夫曼编码表,以及基于所述余数频率分布情况,生成余数霍夫曼编码表;
利用所述倍数霍夫曼编码表对每个所述采样点的倍数进行霍夫曼编码,得到每个所述采样点的倍数编码值,以及利用所述余数霍夫曼编码表对每个所述采样点的余数进行霍夫曼编码,得到每个所述采样点的余数编码值;
或者,所述分别对每个所述采样点的倍数和余数进行编码,得到每个所述采样点的倍数编码值和余数编码值,包括:
对所述目标音频文件中的采样点的倍数和余数统一进行频率统计,得到倍数-余数频率分布情况;
基于所述倍数-余数频率分布情况,生成倍数-余数霍夫曼编码表;
利用所述倍数-余数霍夫曼编码表分别对每个所述采样点的倍数和余数进行霍夫曼编码,得到每个所述采样点的倍数编码值和余数编码值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述倍数频率分布情况,生成倍数霍夫曼编码表,以及基于所述余数频率分布情况,生成余数霍夫曼编码表,包括:
基于所述倍数频率分布情况,建立倍数霍夫曼树,并通过所述倍数霍夫曼树生成所述倍数霍夫曼编码表;以及
基于所述余数频率分布情况,建立余数霍夫曼树,并通过所述余数霍夫曼树生成所述余数霍夫曼编码表;
所述基于所述倍数-余数频率分布情况,生成倍数-余数霍夫曼编码表,包括:
基于所述倍数-余数频率分布情况,建立一倍数-余数霍夫曼树,并通过所述倍数-余数霍夫曼树生成所述倍数-余数霍夫曼编码表。
4.根据权利要求2所述的方法,其特征在于,所述目标音频文件有若干个;
所述对所述目标音频文件中的采样点的倍数和余数分别进行频率统计,得到倍数频率分布情况和余数频率分布情况,包括:
对所述若干个目标音频文件中所有采样点的倍数和余数分别进行频率统计,得到倍数频率分布情况和余数频率分布情况;或者,
从所述若干个目标音频文件所有采样点的倍数中随机抽取部分倍数,并对随机抽取的倍数进行频率统计得到倍数频率分布情况,并从所述若干个目标音频文件所有采样点的余数中随机抽取部分余数,并对随机抽取的余数进行频率统计得到余数频率分布情况;
所述对所述目标音频文件中的采样点的倍数和余数统一进行频率统计,得到倍数-余数频率分布情况,包括:
对所述若干个目标音频文件中所有采样点的倍数和余数统一进行频率统计,得到倍数-余数频率分布情况;或者,
从所述若干个目标音频文件所有采样点的倍数中随机抽取部分倍数,并从所述若干个目标音频文件所有采样点的余数中随机抽取部分余数,并对随机抽取的倍数和余数进行频率统计得到倍数-余数频率分布情况。
5.根据权利要求1所述的方法,其特征在于,
所述利用目标模值分别对目标音频文件中每个采样点的值进行分解,得到每个所述采样点的倍数和余数,包括:
将每个所述采样点的值除以所述目标模值所得的商和余数分别作为所述采样点的倍数和余数。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为每个所述采样点生成正/负码值,其中,所述正/负码值表示对应所述采样点的值为正数或负数;
所述基于所述目标音频文件的每个采样点的倍数编码值和余数编码值,得到所述目标音频文件的编码数据,包括:
基于所述目标音频文件的每个采样点的倍数编码值、余数编码值以及正/负码值,得到所述目标音频文件的编码数据。
7.根据权利要求6所述的方法,其特征在于,所述基于所述目标音频文件的每个采样点的倍数编码值、余数编码值以及正/负码值,得到所述目标音频文件的编码数据,包括:
基于所述目标音频文件每个采样点的倍数编码值生成所述目标音频文件的倍数编码文件,基于所述目标音频文件每个采样点的余数编码值生成所述目标音频文件的余数编码文件,基于所述目标音频文件每个采样点的正/负码值生成所述目标音频文件的符号文件,以由所述目标音频文件的倍数编码文件、余数编码文件和符号文件组成所述目标音频文件的编码数据;或者,
基于所述目标音频文件每个采样点的倍数编码值和正/负码值生成所述目标音频文件的倍数编码文件,基于所述目标音频文件每个采样点的余数编码值生成所述目标音频文件的余数编码文件,以由所述目标音频文件的倍数编码文件和余数编码文件组成所述目标音频文件的编码数据。
8.一种音频解码方法,其特征在于,包括:
从目标音频文件的编码数据中,获取所述目标音频文件的每个采样点的倍数编码值和余数编码值;其中,所述目标音频文件的编码数据由权利要求1至7任一项所述的方法编码得到;
分别对每个所述采样点的倍数编码值和余数编码值进行解码,得到每个所述采样点的倍数和余数;
基于每个所述采样点的倍数和余数,得到所述目标音频文件的每个所述采样点的值。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
从所述编码数据中获取每个所述采样点的正/负码值,其中,所述正/负码值表示对应所述采样点的值为正数或负数;
所述基于每个所述采样点的倍数和余数,得到所述目标音频文件的每个所述采样点的值,包括:
基于每个所述采样点的倍数、余数和正/负码值,得到所述目标音频文件的每个所述采样点的值。
10.一种音频存储方法,其特征在于,包括:
获取待存储的至少一个音频文件;
将每个所述音频文件分别作为目标音频文件,并执行权利要求1至7任一项所述的方法对所述音频文件进行编码,得到每个所述音频文件的编码数据;
存储所述至少一个音频文件的编码数据。
11.一种音频读取方法,其特征在于,包括:
从存储空间中读取至少一个音频文件的编码数据;
执行权利要求8至9任一项所述的方法对所述编码数据进行解码,得到每个音频文件。
12.一种音频处理设备,其特征在于,包括相互耦接的处理器和存储器,其中,
所述处理器用于执行所述存储器存储的计算机程序以执行权利要求1至7任一项所述的方法和/或执行权利要求8至9任一项所述的方法;或者,
所述处理器用于执行所述存储器存储的计算机程序以执行权利要求10所述的方法和/或执行权利要求11所述的方法。
13.一种存储装置,其特征在于,存储有能够被处理器执行以实现如权利要求1-11中任一项所述方法的计算机程序。
CN202010084574.7A 2020-02-10 2020-02-10 音频编解码方法、存取方法及其相关设备及存储装置 Active CN111341330B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010084574.7A CN111341330B (zh) 2020-02-10 2020-02-10 音频编解码方法、存取方法及其相关设备及存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010084574.7A CN111341330B (zh) 2020-02-10 2020-02-10 音频编解码方法、存取方法及其相关设备及存储装置

Publications (2)

Publication Number Publication Date
CN111341330A CN111341330A (zh) 2020-06-26
CN111341330B true CN111341330B (zh) 2023-07-25

Family

ID=71183589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010084574.7A Active CN111341330B (zh) 2020-02-10 2020-02-10 音频编解码方法、存取方法及其相关设备及存储装置

Country Status (1)

Country Link
CN (1) CN111341330B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109410970A (zh) * 2018-10-12 2019-03-01 北京微播视界科技有限公司 用于生成音频数据的方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4103287A (en) * 1973-12-17 1978-07-25 Bell Telephone Laboratories, Incorporated Variable length codes for high quality image encoding
JP2806310B2 (ja) * 1995-07-11 1998-09-30 村田機械株式会社 符号化装置及びそれを備えたファクシミリ装置
JP3680380B2 (ja) * 1995-10-26 2005-08-10 ソニー株式会社 音声符号化方法及び装置
US8010870B2 (en) * 2005-04-25 2011-08-30 Sony Corporation Coding apparatus and coding method
US8050334B2 (en) * 2005-07-07 2011-11-01 Nippon Telegraph And Telephone Corporation Signal encoder, signal decoder, signal encoding method, signal decoding method, program, recording medium and signal codec method
US7830921B2 (en) * 2005-07-11 2010-11-09 Lg Electronics Inc. Apparatus and method of encoding and decoding audio signal
KR101756834B1 (ko) * 2008-07-14 2017-07-12 삼성전자주식회사 오디오/스피치 신호의 부호화 및 복호화 방법 및 장치
CN101604527A (zh) * 2009-04-22 2009-12-16 网经科技(苏州)有限公司 VoIP环境下基于G.711编码隐藏传送宽频语音的方法
GB2544814B (en) * 2015-11-30 2019-06-19 Imagination Tech Ltd Modulo hardware generator
CN109347758B (zh) * 2018-08-30 2022-01-04 赛尔网络有限公司 一种报文压缩的方法、设备、系统和介质
CN109827656A (zh) * 2019-02-21 2019-05-31 国网江苏省电力有限公司南京供电分公司 基于stft时频谱系数收缩的有载分接开关信号降噪方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109410970A (zh) * 2018-10-12 2019-03-01 北京微播视界科技有限公司 用于生成音频数据的方法和装置

Also Published As

Publication number Publication date
CN111341330A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
US20110181448A1 (en) Lossless compression
CN111683046B (zh) 文件压缩以及获取的方法、装置、设备及存储介质
US20180253559A1 (en) Secured lossless data compression using encrypted headers
CN116013488B (zh) 具有自适应数据重排功能的病案数据智能安全管理系统
CN107578452B (zh) 一种具有兼容格式和不变尺寸的jpeg图像加密方法
CN106849956B (zh) 压缩方法、解压缩方法、装置和数据处理系统
US10474637B2 (en) Systems, media and methods for virtualized data compression
Rahmani et al. An efficient histogram-based index mapping mechanism for reversible data hiding in VQ-compressed images
CN115296862A (zh) 一种基于数据编码的网络数据安全传输方法
US20100321218A1 (en) Lossless content encoding
CN103152054A (zh) 算术编码的方法和设备
US8677123B1 (en) Method for accelerating security and management operations on data segments
US10075183B2 (en) Compression and encryption of a file
CN114579571A (zh) 数据处理方法及装置
Cao et al. Separable reversible data hiding in encrypted VQ-encoded images
CN111341330B (zh) 音频编解码方法、存取方法及其相关设备及存储装置
US10230391B2 (en) Compression and/or encryption of a file
CN112956131B (zh) 编码装置、解码装置、编码方法、解码方法、计算机可读取的记录介质
CN116208171A (zh) 数据压缩和解压缩方法、装置、电子设备及存储介质
US8593310B1 (en) Data-driven variable length encoding of fixed-length data
US10505713B2 (en) Compression and/or encryption of a file
Mesra et al. New Lossless Compression Method using Cyclic Reversible Low Contrast Mapping (CRLCM).
CN112686966B (zh) 图像无损压缩方法和装置
Bhardwaj et al. An Approach for Enhancing Data Storage Capacity in Quick Response Code using Zip Compression Technique
Kozhemiakina et al. Means and results of efficiency analysis for data compression methods applied to typical multimedia data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant