CN117476021A - 量化方法、反量化方法及其装置 - Google Patents
量化方法、反量化方法及其装置 Download PDFInfo
- Publication number
- CN117476021A CN117476021A CN202211139939.7A CN202211139939A CN117476021A CN 117476021 A CN117476021 A CN 117476021A CN 202211139939 A CN202211139939 A CN 202211139939A CN 117476021 A CN117476021 A CN 117476021A
- Authority
- CN
- China
- Prior art keywords
- spectrum
- value
- subband
- spectrum value
- psychoacoustic
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 383
- 238000013139 quantization Methods 0.000 title claims abstract description 296
- 238000001228 spectrum Methods 0.000 claims abstract description 1048
- 230000005236 sound signal Effects 0.000 claims abstract description 230
- 230000003595 spectral effect Effects 0.000 claims abstract description 109
- 238000012545 processing Methods 0.000 claims abstract description 72
- 230000008569 process Effects 0.000 claims description 168
- 238000004590 computer program Methods 0.000 claims description 17
- 230000000873 masking effect Effects 0.000 claims description 13
- 230000002596 correlated effect Effects 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 38
- 238000005259 measurement Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 14
- 238000011002 quantification Methods 0.000 description 13
- 238000007906 compression Methods 0.000 description 12
- 230000006835 compression Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000007493 shaping process Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 238000005070 sampling Methods 0.000 description 6
- 238000009499 grossing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 101150036464 aptx gene Proteins 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- -1 aptXHD Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
- G10L19/035—Scalar quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种量化方法、反量化方法及其装置,属于音频信号处理技术领域。该方法包括:基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数;基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,其中,编码帧中目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,可用比特数基于编码端向解码端传输音频信号能够使用的目标码率确定;基于目标频谱值,得到目标频谱值的量化值。本申请有助于根据目标码率将每帧的码率保持在恒定状态,能够提高传输过程中的码率稳定性,进而提高发送音频信号的编码码流的抗干扰性。
Description
本申请要求于2022年07月27日提交的申请号为202210892838.0、发明名称为“量化方法、反量化方法及其装置”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本申请涉及音频信号处理技术领域,特别涉及一种量化方法、反量化方法及其装置。
背景技术
随着生活质量的提高,人们对高质量音频的需求不断增大。为了利用有限的带宽更好地传输音频信号,通常需要先在编码端对音频信号进行数据压缩,然后将经过压缩的码流传输到解码端。解码端对接收到的码流进行解码处理,得到解码后的音频信号,解码后的音频信号用于回放。
然而,在音频信号的传输过程中,音频发送设备和音频接收设备之间的连接吞吐量和稳定性对音频信号的质量有较大的影响。例如,有数据表明蓝牙连接质量在接收信号强度指示(received signal strength indication,RSSI)处于-80(分贝毫瓦,dBm)以下时,所有编解码器都会受影响。而对于蓝牙编解码器而言,在蓝牙连接质量受到严重干扰时,如果码率波动大,音频发送设备向音频接收设备发送的信号的占空比高,较容易出现丢包和断续情况,造成人耳主观听感体验的严重下降。因此,保障传输过程中的码率稳定性是蓝牙等短距场景中亟需解决的技术问题。
发明内容
本申请提供了一种量化方法、反量化方法及其装置,有助于根据目标码率将每帧的码率保持在恒定状态,能够提高传输过程中的码率稳定性,进而提高发送音频信号的编码码流的抗干扰性。所述技术方案如下:
第一方面,本申请提供了一种量化方法。该方法应用于编码端,该方法包括:基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数;基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,其中,编码帧中目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,可用比特数基于编码端向解码端传输音频信号能够使用的目标码率确定;基于目标频谱值,得到目标频谱值的量化值。
在本申请提供的量化方法中,可以基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数,并基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,然后基于目标频谱值,得到目标频谱值的量化值。其中,编码帧中目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,且可用比特数基于编码端向解码端传输音频信号能够使用的目标码率确定。根据本申请的描述可知,该量化方法实际是根据目标码率进行比特分配,从而根据目标码率实现对量化精度进行控制的过程。且该过程通过调整子带的心理声学谱系数,并根据心理声学谱系数对子带内的频谱值进行掩蔽指导实现。因此,通过根据该量化方法进行量化,有助于根据目标码率将每帧的码率保持在恒定状态,能够提高传输过程中的码率稳定性,进而提高发送音频信号的编码码流的抗干扰性。
在一种实现方式中,基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,包括:基于子带的心理声学谱包络系数,确定对音频信号的频谱进行掩蔽的心理声学谱;在音频信号的频谱值中,获取子带中未被心理声学谱掩蔽的待定频谱值;基于待定频谱值,确定子带中需要被量化的目标频谱值。
可选地,基于待定频谱值,确定子带中需要被量化的目标频谱值,包括:获取编码帧中待定频谱值耗费的第二比特总数;当第二比特总数小于或等于每帧信号的可用比特数时,将待定频谱值确定为目标频谱值;当第二比特总数大于每帧信号的可用比特数时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第二比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第二比特总数小于或等于每帧信号的可用比特数,将待定频谱值确定为目标频谱值。
其中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第二比特总数,包括:按照第一调整方式调整音频信号中子带的心理声学谱包络系数;基于调整后的心理声学谱包络系数更新待定频谱值;基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第二比特总数。
可选地,第一调整方式基于目标位深得到。
可选地,第一调整方式指示当第二比特总数大于每帧信号的可用比特数时,增大音频信号中子带的心理声学谱包络系数。
可选地,第一调整方式指示在完成音频信号中第一子带的心理声学谱包络系数的调整后,对音频信号中第二子带的心理声学谱包络系数进行调整,第一子带的频率高于第二子带的频率。
在一种实现方式中,获取编码帧中待定频谱值耗费的第二比特总数,包括:基于子带的心理声学谱包络系数,对待定频谱值进行量化,得到待定频谱值的量化值;获取编码端编码每帧信号的每个量化值耗费的比特数,得到第二比特总数。
可选地,在获取编码帧中待定频谱值耗费的第二比特总数之前,基于待定频谱值,确定子带中需要被量化的目标频谱值,还包括:基于子带的心理声学谱包络系数,预估编码帧中待定频谱值耗费的第三比特总数;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,确定执行获取编码帧中待定频谱值耗费的第二比特总数的过程;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,确定执行获取编码帧中待定频谱值耗费的第二比特总数的过程。
其中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,包括:按照第二调整方式调整音频信号中子带的心理声学谱包络系数;基于调整后的心理声学谱包络系数更新待定频谱值;基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第三比特总数。
在一种实现方式中,基于待定频谱值,确定子带中需要被量化的目标频谱值,包括:基于子带的心理声学谱包络系数,预估编码帧中待定频谱值耗费的第三比特总数;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,将待定频谱值确定为目标频谱值;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,将待定频谱值确定为目标频谱值。
其中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,包括:按照第二调整方式调整音频信号中子带的心理声学谱包络系数;基于调整后的心理声学谱包络系数更新待定频谱值;基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第三比特总数。
可选地,第二调整方式基于目标位深得到。
可选地,第二调整方式指示当第三比特总数大于每帧信号的可用比特数时,增大音频信号中子带的心理声学谱包络系数,当第三比特总数小于每帧信号的可用比特数时,减小音频信号中子带的心理声学谱包络系数。
可选地,第二调整方式指示在完成音频信号中第三子带的心理声学谱包络系数的调整后,对音频信号中第四子带的心理声学谱包络系数进行调整,第三子带的频率高于第四子带的频率。
在一种实现方式中,基于子带的心理声学谱包络系数,预估编码帧中待定频谱值耗费的第三比特总数,包括:基于子带的心理声学谱包络系数,获取子带中每个频谱值消耗的平均比特数;基于子带的平均比特数和子带包括的频谱值的总数,获取子带中频谱值耗费的第四比特总数;基于子带耗费的第四比特总数,获得第三比特总数。
第二方面,本申请提供了一种量化方法,该方法应用于编码端,该方法包括:当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,其他频谱值为音频信号的频谱值中除目标频谱值外的频谱值;基于残余频谱值,得到残余频谱值的量化值;基于残余频谱值,得到残余频谱值的量化指示信息,量化指示信息用于指示对残余频谱值进行反量化的方式;向解码端提供量化指示信息。
在该量化方法中,当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,基于残余频谱值,得到残余频谱值的量化值,能够有效利用剩余比特,有助于根据目标码率将每帧的码率保持在恒定状态,能够提高传输过程中的码率稳定性,进而提高发送音频信号的编码码流的抗干扰性。
在一种实现方式中,重要程度通过频谱值所属频点所在的子带的标度因子反映。
在一种实现方式中,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,包括:在音频信号的所有子带中,确定具有最大标度因子的基准子带;基于每个子带到基准子带的距离,确定子带的其他频谱值成为残余频谱值的权重;按照权重由高到低的顺序,依次确定对应子带的其他频谱值是否为残余频谱值,直至编码帧中目标频谱值和残余频谱值耗费的第五比特总数与每帧信号的可用比特数的差值在第二阈值范围内;其中,当将子带的其他频谱值作为残余频谱值时,若编码帧中目标频谱值和所有已确定为残余频谱值耗费的第五比特总数大于每帧信号的可用比特数,则子带的其他频谱值及小于或等于子带的权重的其他子带中的其他频谱值均不能成为残余频谱值。
在一种实现方式中,任一子带的权重与任一子带到基准子带的距离反相关。
在一种实现方式中,子带的权重还基于子带被心理声学谱掩蔽的情况得到,被心理声学谱掩蔽的子带的权重大于未被心理声学谱掩蔽的子带的权重。
在一种实现方式中,基于残余频谱值,得到残余频谱值的量化指示信息,包括:对残余频谱值执行取舍处理;基于经过取舍处理的残余频谱值,确定对残余频谱值进行量化的量化方式,得到量化指示信息。
可选地,目标频谱值基于本申请第一方面提供的任一的方法确定。
第三方面,本申请提供了一种反量化方法,该方法应用于解码端,该方法包括:接收编码端提供的经编码码流;基于经编码码流,获取音频信号的频谱值表示的信息的重要程度;基于重要程度,确定经编码码流中残余频谱值的码值和量化指示信息,量化指示信息用于指示编码端对残余频谱值进行反量化的方式;基于残余频谱值的量化指示信息,对残余频谱值的码值执行反量化操作,得到反量化后的码值。
在该反量化方法中,当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,基于残余频谱值,得到残余频谱值的量化值,能够有效利用剩余比特,有助于根据目标码率将每帧的码率保持在恒定状态,能够提高传输过程中的码率稳定性,进而提高发送音频信号的编码码流的抗干扰性。
在一种实现方式中,重要程度通过频谱值所属频点所在的子带的标度因子反映,其中,子带的标度因子基于对经编码码流解码得到。
在一种实现方式中,基于重要程度,确定经编码码流中残余频谱值的码值和量化指示信息,包括:在音频信号的所有子带中,确定具有最大标度因子的基准子带;基于每个子带到基准子带的距离,在经编码码流中确定每个子带的残余频谱值的码值和量化指示信息。
在一种实现方式中,当第一子带到基准子带的距离小于第二子带到基准子带的距离时,第一子带的残余频谱值的码值在第二子带的残余频谱值的码值之前,第一子带的残余频谱值的量化指示信息在第二子带的残余频谱值的量化指示信息之前。
在一种实现方式中,每个子带的残余频谱值的码值和量化指示信息在经编码码流中的位置还基于子带被心理声学谱掩蔽的情况得到,被心理声学谱掩蔽的子带的残余频谱值的码值在未被心理声学谱掩蔽的子带的残余频谱值的码值之前,被心理声学谱掩蔽的子带的残余频谱值的量化指示信息在未被心理声学谱掩蔽的子带的残余频谱值的量化指示信息之前,子带被心理声学谱掩蔽的情况基于经编码码流得到。
在一种实现方式中,基于残余频谱值的量化指示信息,对残余频谱值的码值执行反量化操作,得到反量化后的码值,包括:基于残余频谱值的量化指示信息,确定对残余频谱值执行反量化操作的偏移值;基于残余频谱值的码值和偏移值执行反量化操作,得到反量化后的码值。
第四方面,本申请提供了一种量化装置,量化装置应用于编码端,量化装置包括:第一处理模块、第二处理模块和第三处理模块。其中,第一处理模块,用于基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数;第二处理模块,用于基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,其中,编码帧中目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,可用比特数基于编码端向解码端传输音频信号能够使用的目标码率确定;第三处理模块,用于基于目标频谱值,得到目标频谱值的量化值。
可选地,第二处理模块用于:基于子带的心理声学谱包络系数,确定对音频信号的频谱进行掩蔽的心理声学谱;在音频信号的频谱值中,获取子带中未被心理声学谱掩蔽的待定频谱值;基于待定频谱值,确定子带中需要被量化的目标频谱值。
可选地,第二处理模块用于:获取编码帧中待定频谱值耗费的第二比特总数;当第二比特总数小于或等于每帧信号的可用比特数时,将待定频谱值确定为目标频谱值;当第二比特总数大于每帧信号的可用比特数时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第二比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第二比特总数小于或等于每帧信号的可用比特数,将待定频谱值确定为目标频谱值;其中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第二比特总数,包括:按照第一调整方式调整音频信号中子带的心理声学谱包络系数;基于调整后的心理声学谱包络系数更新待定频谱值;基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第二比特总数。
可选地,第一调整方式基于目标位深得到。
可选地,第一调整方式指示当第二比特总数大于每帧信号的可用比特数时,增大音频信号中子带的心理声学谱包络系数。
可选地,第一调整方式指示在完成音频信号中第一子带的心理声学谱包络系数的调整后,对音频信号中第二子带的心理声学谱包络系数进行调整,第一子带的频率高于第二子带的频率。
可选地,第二处理模块用于:基于子带的心理声学谱包络系数,对待定频谱值进行量化,得到待定频谱值的量化值;获取编码端编码每帧信号的每个量化值耗费的比特数,得到第二比特总数。
可选地,第二处理模块用于:基于子带的心理声学谱包络系数,预估编码帧中待定频谱值耗费的第三比特总数;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,确定执行获取编码帧中待定频谱值耗费的第二比特总数的过程;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,确定执行获取编码帧中待定频谱值耗费的第二比特总数的过程;其中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,包括:按照第二调整方式调整音频信号中子带的心理声学谱包络系数;基于调整后的心理声学谱包络系数更新待定频谱值;基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第三比特总数。
可选地,第二处理模块用于:基于子带的心理声学谱包络系数,预估编码帧中待定频谱值耗费的第三比特总数;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,将待定频谱值确定为目标频谱值;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,将待定频谱值确定为目标频谱值;其中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,包括:按照第二调整方式调整音频信号中子带的心理声学谱包络系数;基于调整后的心理声学谱包络系数更新待定频谱值;基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第三比特总数。
可选地,第二调整方式基于目标位深得到。
可选地,第二调整方式指示当第三比特总数大于每帧信号的可用比特数时,增大音频信号中子带的心理声学谱包络系数,当第三比特总数小于每帧信号的可用比特数时,减小音频信号中子带的心理声学谱包络系数。
可选地,第二调整方式指示在完成音频信号中第三子带的心理声学谱包络系数的调整后,对音频信号中第四子带的心理声学谱包络系数进行调整,第三子带的频率高于第四子带的频率。
可选地,第二处理模块用于:基于子带的心理声学谱包络系数,获取子带中每个频谱值消耗的平均比特数;基于子带的平均比特数和子带包括的频谱值的总数,获取子带中频谱值耗费的第四比特总数;基于子带耗费的第四比特总数,获得第三比特总数。
第五方面,本申请提供了一种量化装置,量化装置应用于编码端,量化装置包括:第一处理模块、第二处理模块、第三处理模块和提供模块。其中,第一处理模块,用于当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,其他频谱值为音频信号的频谱值中除目标频谱值外的频谱值;第二处理模块,用于基于残余频谱值,得到残余频谱值的量化值;第三处理模块,用于基于残余频谱值,得到残余频谱值的量化指示信息,量化指示信息用于指示对残余频谱值进行反量化的方式;提供模块,用于向解码端提供量化指示信息。
可选地,重要程度通过频谱值所属频点所在的子带的标度因子反映。
可选地,第一处理模块用于:在音频信号的所有子带中,确定具有最大标度因子的基准子带;基于每个子带到基准子带的距离,确定子带的其他频谱值成为残余频谱值的权重;按照权重由高到低的顺序,依次确定对应子带的其他频谱值是否为残余频谱值,直至编码帧中目标频谱值和残余频谱值耗费的第五比特总数与每帧信号的可用比特数的差值在第二阈值范围内;其中,当将子带的其他频谱值作为残余频谱值时,若编码帧中目标频谱值和所有已确定为残余频谱值耗费的第五比特总数大于每帧信号的可用比特数,则子带的其他频谱值及小于或等于子带的权重的其他子带中的其他频谱值均不能成为残余频谱值。
可选地,任一子带的权重与任一子带到基准子带的距离反相关。
可选地,子带的权重还基于子带被心理声学谱掩蔽的情况得到,被心理声学谱掩蔽的子带的权重大于未被心理声学谱掩蔽的子带的权重。
可选地,第三处理模块用于:对残余频谱值执行取舍处理;基于经过取舍处理的残余频谱值,确定对残余频谱值进行量化的量化方式,得到量化指示信息。
可选地,目标频谱值基于第一方面中任一设计的量化方法确定。
第六方面,本申请提供了一种反量化装置,反量化装置应用于解码端,反量化装置包括:接收模块、获取模块、确定模块和处理模块。其中,接收模块,用于接收编码端提供的经编码码流;获取模块,用于基于经编码码流,获取音频信号的频谱值表示的信息的重要程度;确定模块,用于基于重要程度,确定经编码码流中残余频谱值的码值和量化指示信息,量化指示信息用于指示编码端对残余频谱值进行反量化的方式;处理模块,用于基于残余频谱值的量化指示信息,对残余频谱值的码值执行反量化操作,得到反量化后的码值。
可选地,重要程度通过频谱值所属频点所在的子带的标度因子反映,其中,子带的标度因子基于对经编码码流解码得到。
可选地,确定模块用于:在音频信号的所有子带中,确定具有最大标度因子的基准子带;基于每个子带到基准子带的距离,在经编码码流中确定每个子带的残余频谱值的码值和量化指示信息。
可选地,当第一子带到基准子带的距离小于第二子带到基准子带的距离时,第一子带的残余频谱值的码值在第二子带的残余频谱值的码值之前,第一子带的残余频谱值的量化指示信息在第二子带的残余频谱值的量化指示信息之前。
可选地,每个子带的残余频谱值的码值和量化指示信息在经编码码流中的位置还基于子带被心理声学谱掩蔽的情况得到,被心理声学谱掩蔽的子带的残余频谱值的码值在未被心理声学谱掩蔽的子带的残余频谱值的码值之前,被心理声学谱掩蔽的子带的残余频谱值的量化指示信息在未被心理声学谱掩蔽的子带的残余频谱值的量化指示信息之前,子带被心理声学谱掩蔽的情况基于经编码码流得到。
可选地,处理模块用于:基于残余频谱值的量化指示信息,确定对残余频谱值执行反量化操作的偏移值;基于残余频谱值的码值和偏移值执行反量化操作,得到反量化后的码值。
第七方面,本申请提供了一种计算机设备,包括存储器和处理器,存储器存储有程序指令,处理器运行程序指令以执行第一方面、第二方面和第三方面中任一涉及的方法。
第八方面,本申请提供了一种计算机可读存储介质,存储介质内存储有计算机程序,计算机程序被处理器执行时实现第一方面、第二方面和第三方面中任一涉及的方法的步骤。
第九方面,本申请提供了一种计算机程序产品,计算机程序产品内存储有计算机指令,计算机指令被处理器执行时实现第一方面、第二方面和第三方面中任一涉及的方法的步骤。
附图说明
图1是本申请实施例提供的一种蓝牙互连场景的示意图;
图2是本申请实施例提供的量化方法、反量化方法所涉及的一种系统框架图;
图3是本申请实施例提供的一种音频编解码整体框架图;
图4是本申请实施例提供的一种计算机设备的结构示意图;
图5是本申请实施例提供的一种量化方法的流程图;
图6是本申请实施例提供的一种基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值的流程图;
图7是本申请实施例提供的一种第一调整过程的流程图;
图8是本申请实施例提供的一种基于子带的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数的流程图;
图9是本申请实施例提供的一种第二调整过程的流程图;
图10是本申请实施例提供的一种获取编码帧中待定频谱值耗费的第二比特总数的流程图;
图11是本申请实施例提供的一种量化方法的流程图;
图12是本申请实施例提供的一种基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值的流程图;
图13是本申请实施例提供的一种反量化方法的流程图;
图14是本申请实施例提供的一种量化装置的结构示意图;
图15是本申请实施例提供的一种量化装置的结构示意图;
图16是本申请实施例提供的一种反量化装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请实施例涉及的实施环境和背景知识进行介绍。
随着真无线立体声(true wireless stereo,TWS)耳机、智能音箱和智能手表等短距传输设备(如蓝牙设备)在人们日常生活中的广泛普及和使用,人们在各种场景下对追求高质量音频播放体验的需求也变得越来越迫切,尤其是在地铁、机场、火车站等蓝牙信号易受干扰的环境中。在短距传输场景中,由于连通音频发送设备与音频接收设备的信道对数据传输大小的限制,在进行音频信号传输时,为了减少音频信号传输时占用的带宽,通常使用音频发送设备中的音频编码器对音频信号进行编码,然后向音频接收设备传输。音频接收设备接收到经过编码的音频信号后,需要使用音频接收设备中的音频解码器对经过编码后的音频信号进行解码后,然后才能进行播放。可见,在短距传输设备普及的同时,也促使了各种音频编解码器的蓬勃发展。其中,短距传输场景可以包括蓝牙传输场景和无线传输场景等,本申请实施例以蓝牙传输场景为例,对本申请实施例提供的量化方法进行说明。
目前,蓝牙音频编解码器有子带编码器(sub-band coding,SBC)、动态影像专家组(Moving Picture Experts Group,MPEG)的蓝牙高级音频编码器(advanced audiocoding,AAC)系列(如AAC-LC、AAC-LD、AAC-HE、AAC-HEv2等)、LDAC、aptX系列(如aptX、aptXHD、aptX low latency)编码器、低延迟高清音频编解码器(low-latency hi-definitionaudio codec,LHDC)、低功耗低延迟的LC3音频编解码器以及LC3plus等。
在音频信号的传输过程中,音频发送设备和音频接收设备之间的连接吞吐量和稳定性对音频信号的质量有较大的影响。例如,有数据表明蓝牙连接质量在接收信号强度指示处于-80dBm以下时,所有编解码器都会受影响。而对于蓝牙编解码器而言,在蓝牙连接质量受到严重干扰时,如果码率波动大,音频发送设备向音频接收设备发送的信号的占空比高,较容易出现丢包和断续情况,造成人耳主观听感体验的严重下降。因此,保障传输过程中的码率稳定性是蓝牙等短距场景中亟需解决的技术问题。
针对此,本申请实施例提供了一种量化方法。该量化方法可视为一种量化过程中的比特分配方法。该方法包括:基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数,基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,并基于目标频谱值,得到目标频谱值的量化值。其中,编码帧中目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,可用比特数基于编码端向解码端传输音频信号能够使用的目标码率确定。且音频信号可以为语音信号或音乐信号等以音频形式呈现的信号。
该量化方法实际是根据目标码率进行比特分配,从而根据目标码率实现对量化精度进行控制的过程。且该过程通过调整子带的心理声学谱系数,并根据心理声学谱系数对子带内的频谱值进行掩蔽指导实现。因此,通过根据该量化方法进行量化,有助于根据目标码率将每帧的码率保持在恒定状态,能够提高传输过程中的码率稳定性,进而提高发送音频信号的编码码流的抗干扰性。
图1是本申请实施例提供的一种量化方法、反量化方法涉及的应用场景的示意图。参见图1,该应用场景包括音频发送设备和音频接收设备。音频发送设备配置有音频编码器。音频接收设备配置有音频解码器。可选的,音频发送设备可以是手机、电脑(如笔记本电脑、台式电脑)、平板(如手持式平板、车载式平板)、智能可穿戴设备等能够发送音频数据流的设备。音频接收设备可以是耳机(如TWS耳机、无线头戴式耳机、无线颈圈式耳机)、音箱(如智能音箱)、智能可穿戴设备(如智能手表、智能眼镜)、智能车载设备等能够接收音频数据流并进行播放的设备。在一些场景中,短距传输场景中的音频接收设备也可以是手机、电脑、平板等。
图2是本申请实施例提供的量化方法、反量化方法所涉及的一种系统框架图。参见图2,该系统包括编码端和解码端。其中,编码端包括输入模块、编码模块和发送模块。解码端包括接收模块、输入模块、解码模块和播放模块。
在编码端,用户根据使用场景从两种编码模式中确定一种编码模式,这两种编码模式为低延迟编码模式和高音质编码模式。这两种编码模式的编码帧长分别为5ms和10ms。比如使用场景为打游戏、直播、通话等,则用户可选择低延迟编码模式,使用场景为通过耳机或音响欣赏音乐等,则用户可选择高音质编码模式。用户还需要提供待编码的音频信号(如图2所示的脉冲编码调制(pulse code modulation,PCM)数据)给编码端。此外,用户还需要设定编码所得到的码流的目标码率,即音频信号的编码码率。其中,目标码率越高表示音质相对越好,但是在短距传输过程中码流的抗干扰性越差;目标码率越低,音质相对越差,但是在短距传输中码流的抗干扰性越高。简单来讲,编码端的输入模块获取用户提交的编码帧长、编码码率以及待编码的音频信号。
编码端的输入模块将用户提交的数据输入到编码模块的频域编码器中。
编码模块的频域编码器基于接收到的数据,通过编码以得到码流。其中,频域编码端对待编码的音频信号进行分析,以得到信号特点(包括单声道/双声道、平稳/非平稳、满带宽/窄带宽信号、主观/客观等),根据信号特点以及码率档位(即编码码率)进入相应的编码处理子模块,通过编码处理子模块来编码音频信号,以及打包码流的包头(包括采样率、声道数、编码模式、帧长等),最终得到码流。
编码端的发送模块将码流发送给解码端。可选地,该发送模块为如图2所示的发送模块或其他类型的发送模块,本申请实施例对此不作限定。
在解码端,解码端的接收模块接收到码流之后,将码流发送给解码模块的频域解码器中,并通知解码端的输入模块获取配置的位深和声道解码模式等。可选地,该接收模块为如图2所示的接收模块或其他类型的接收模块,本申请实施例对此不作限定。
解码端的输入模块将获取的位深和声道解码模式等信息输入到解码模块的频域解码器中。
解码模块的频域解码器基于位深、声道解码模式等来解码码流,以得到所需的音频数据(如图2所示的PCM数据),将得到的音频数据发送给播放模块,播放模块进行音频播放。其中,声道解码模式指示所需解码的声道。
图3是本申请实施例提供的一种音频编解码整体框架图。参见图3,编码端的编码流程包括如下步骤:
(1)PCM输入模块
输入PCM数据,该PCM数据为单声道数据或双声道数据,位深可以是16比特(bit)、24bit、32bit浮点或32bit定点。可选地,PCM输入模块将输入的PCM数据变换到同一位深,比如24bit位深,并对PCM数据进行解交织后按照左声道和右声道放置。
(2)加低延迟分析窗&改进离散余弦变换(modified discrete cosinetransform,MDCT)变换模块
对步骤(1)处理后的PCM数据加低延迟分析窗以及进行MDCT变换后得到MDCT域的频谱数据。加窗的作用是防止频谱泄漏。
(3)MDCT域信号分析模块&自适应带宽检测模块
MDCT域信号分析模块在全码率场景下生效,自适应带宽检测模块在低码率(如码率<=150kbps/声道)下激活。首先,根据上述步骤(2)得到的MDCT域的频谱数据,进行带宽检测,以得到截止频率或者说有效带宽。其次,对有效带宽内的频谱数据进行信号分析,即分析频点分布是集中的还是均匀的,以得到能量集中度,基于能量集中度得到指示待编码的音频信号是客观信号还是主观信号的标志(flag)(客观信号的标志为1,主观信号的标志为0)。如果是客观信号,在低码率下不对标度因子进行频域噪声整形(spectral noiseshaping,SNS)处理和MDCT谱的平滑,因为这样会降低客观信号的编码效果。然后,基于带宽检测结果和主客观信号标志来确定是否进行MDCT域的子带截止操作。如果音频信号是客观信号,则不做子带截止操作;如果音频信号是主观信号且带宽检测结果标识为0(满带宽的),则子带截止操作由码率决定;如果音频信号是主观信号且带宽检测结果标识非0(即带宽小于采样率的一半的有限带宽),则子带截止操作由带宽检测结果决定。
(4)子带划分选取和标度因子计算模块
根据码率档位以及上述步骤(3)得到的主客观信号标志和截止频率,从多种子带划分方式中选取最佳的子带划分方式,并得到编码该音频信号所需要的子带总个数。同时计算得到频谱的包络线,即计算所选取的划分子带方式对应的标度因子。
(5)MS声道变换模块
针对双声道的PCM数据,根据上述步骤(4)计算得到的标度因子进行联合编码判别,即判别是否对左右声道数据进行MS声道变换。
(6)谱平滑模块和基于标度因子的频域噪声整形模块
谱平滑模块根据低码率的设定(如码率<=150kbps/声道)进行MDCT谱平滑,频域噪声整形模块基于标度因子对经过谱平滑的数据进行频域噪声整形,得到调节因子,调节因子用于对音频信号的频谱值进行量化。其中,低码率的设定由低码率判别模块进行控制,当不满足低码率的设定时,无需进行谱平滑和频域噪声整形。
(7)标度因子编码模块
根据标度因子的分布对多个子带的标度因子进行差分编码或者熵编码。
(8)比特分配&MDCT谱量化和熵编码模块
基于步骤(4)得到的标度因子和步骤(6)得到的调节因子,通过粗估和精估的比特分配策略来控制编码为恒定码率(constant bit rate,CBR)编码模式,并对MDCT谱值进行量化和熵编码。
(9)残余编码模块
若步骤(8)的比特消耗还没有达到目标比特,则进一步对子带进行重要性排序,将比特优先分配到重要子带的MDCT谱值的编码上。
(10)流包头信息打包模块
包头信息包括音频采样率(如44.1kHz/48kHz/88.2kHz/96kHz)、声道信息(如单声道和双声道)、编码帧长(如5ms和10ms)、编码模式(如时域、频域、时域切频域或频域切时域模式)等。
(11)比特流(即码流)发送模块
码流包含包头、边信息、载荷等。其中,包头携带包头信息,该包头信息如上述步骤(10)中的描述。边信息包括标度因子的编码码流、选取的子带划分方式的信息、截止频率信息、低码率标志、联合编码判别信息(即MS变换标志)、量化步长等信息。载荷包括MDCT频谱的编码码流和残余编码码流。
解码端的解码流程包括如下步骤:
(1)流包头信息解析模块
从接收的码流中解析出包头信息,包头信息包括音频信号的采样率、声道信息、编码帧长、编码模式等信息,根据码流大小、采样率和编码帧长计算得到编码码率,即得到码率档位信息。
(2)标度因子解码模块
从码流中解码出边信息,包括选取的子带划分方式的信息、截止频率信息、低码率标志、联合编码判别信息、量化步长等信息,以及各个子带的标度因子。
(3)基于标度因子的频域噪声整形模块
在低码率(如编码码率小于150kbps/声道)下,还需要基于标度因子做频域噪声整形,得到调节因子,调节因子用于对频谱值的码值进行反量化。其中,低码率的设定由低码率判别模块进行控制,当不满足低码率的设定时,无需进行频域噪声整形。
(4)MDCT谱解码模块和残余解码模块
MDCT谱解码模块根据上述步骤(2)得到的子带划分方式的信息、量化步长信息以及标度因子,解码码流中的MDCT频谱数据。在低码率档位下进行空洞补全,如计算得到比特还有剩余,则残余解码模块进行残余解码,以得到其他子带的MDCT频谱数据,进而最终的MDCT频谱数据。
(5)LR声道变换模块
根据步骤(2)得到的边信息,如果根据联合编码判别判定是双声道联合编码模式且不是解码低功耗模式(如编码码率大于150kbps/声道且采样率大于88.2kHz),则对步骤(4)得到的MDCT频谱数据进行LR声道变换。
(6)逆MDCT变换模块&加低延迟合成窗模块和交叠相加模块
逆MDCT变换模块在步骤(4)和步骤(5)的基础上,对得到的MDCT频谱数据进行MDCT逆变换,以得到时域混叠信号,然后加低延迟合成窗模块对时域混叠信号加低延迟合成窗,交叠相加模块将当前帧与上一帧的时域混叠缓存信号叠加得到PCM信号,即通过交叠相加得到最终的PCM数据。
(7)PCM输出模块
根据配置的位深和声道解码模式,输出相应声道的PCM数据。
需要说明的是,图3所示的音频编解码框架仅作为本申请实施例终端一个示例,并不用于限制本申请实施例,本领域技术人员可以在图3的基础上得到其他的编解码框架。
请参考图4,图4是根据本申请实施例示出的一种计算机设备的结构示意图。可选地,该计算机设备可以为图1中所示的任一设备。例如,该计算机设备可以是音频发送设备。此时,该计算机设备能够实现本申请实施例提供的量化方法中的部分或全部功能。如图4所示,计算机设备20包括处理器201、存储器202、通信接口203和总线204。其中,处理器201、存储器202、通信接口203通过总线204实现彼此之间的通信连接。
计算机设备20可以包括多个处理器,如图4中所示的处理器201和处理器205。这些处理器中的每一个为一个单核处理器,或者一个多核处理器。可选地,这里的处理器指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。处理器201可以包括通用处理器和/或专用硬件芯片。通用处理器可以包括:中央处理器(central processingunit,CPU)、微处理器或图形处理器(graphics processing unit,GPU)。CPU例如是一个单核处理器(single-CPU),又如是一个多核处理器(multi-CPU)。专用硬件芯片是一个高性能处理的硬件模块。专用硬件芯片包括数字信号处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程逻辑门阵列(field-programmablegate array,FPGA)或者网络处理器(network processer,NP)中的至少一项。处理器201还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的量化方法、反量化方法的部分或全部功能,可以通过处理器201中的硬件的集成逻辑电路或者软件形式的指令完成。
存储器202用于存储计算机程序,计算机程序包括操作系统202a和可执行代码(即程序指令)202b。存储器202例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的可执行代码并能够由计算机存取的任何其它介质,但不限于此。例如存储器202用于存放出端口队列等。存储器202例如是独立存在,并通过总线204与处理器201相连接。或者存储器202和处理器201集成在一起。存储器202可以存储可执行代码,当存储器202中存储的可执行代码被处理器201执行时,处理器201用于执行本申请实施例提供的量化方法、反量化方法的部分或全部功能。且处理器201执行对应功能的实现方式请相应参考方法实施例中的相关描述。存储器202中还可以包括操作系统等其他运行进程所需的软件模块和数据等。
通信接口203使用例如但不限于收发器一类的收发模块,来实现与其他设备或通信网络之间的通信。通信接口204包括有线通信接口,可选地,还包括无线通信接口。其中,有线通信接口例如以太网接口等。可选地,以太网接口为光接口、电接口或其组合。无线通信接口为无线局域网(wireless local area networks,WLAN)接口、蜂窝网络通信接口或其组合等。
总线204是任何类型的,用于实现计算机设备的内部器件(例如,存储器202、处理器201、通信接口203)互连的通信总线。例如系统总线。本申请实施例以计算机设备内部的上述器件通过总线204互连为例说明。可选地,计算机设备20内部的上述器件还可以采用除了总线204之外的其他连接方式彼此通信连接。例如,计算机设备20内部的上述器件通过内部的逻辑接口互连。
可选地,计算机设备还包括输出设备和输入设备。输出设备和处理器201通信,能够以多种方式来显示信息。例如,输出设备为液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器201通信,能够以多种方式接收用户的输入。例如,输入设备是鼠标、键盘、触摸屏设备或传感设备等。
需要说明的是,上述多个器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。且上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供程序开发平台的计算机程序产品包括一个或多个计算机指令,在计算机设备上加载和执行这些计算机程序指令时,全部或部分地实现本申请实施例提供的量化方法、反量化方法的流程或功能。
并且,计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质存储有提供程序开发平台的计算机程序指令。
在一种可实现方式中,本申请实施例提供的量化方法、反量化方法可以通过部署在计算机设备上的一个或多个功能模块实现。该一个或多个功能模块具体可以通过计算机设备执行可执行程序实现。当本申请实施例提供的量化方法、反量化方法通过部署在计算机设备上的多个功能模块实现时,该多个功能模块可以采用集中式部署,或者采用分布式部署。并且,该多个功能模块具体可以通过一个或多个计算机设备执行计算机程序实现。该一个或多个计算机设备中的每个计算机设备能够实现本申请实施例提供的量化方法、反量化方法中的部分或全部功能。
应当理解的是,以上内容是对本申请实施例提供的量化方法、反量化方法的应用场景的示例性说明,并不构成对于该量化方法、反量化方法的应用场景的限定。例如,本申请实施例在对量化方法、反量化方法的实现过程进行说明时,是以该量化方法、反量化方法应用于蓝牙传输场景的短距传输为例,但并不排除该量化方法、反量化方法还可以应用于其他短距传输场景,如该量化方法、反量化方法还可以应用于无线传输的短距传输场景和其他场景。则本申请实施例提供的量化方法、反量化方法可以应用于短距传输场景中的音频发送设备,即短距传输场景中的编码端,也可以应用于其他的传输场景中的编码端,并且,还可以应用于短距传输场景中的音频接收设备,即短距传输场景中的解码端,也可以应用于其他的传输场景中的解码端。换种方式来讲,本申请实施例提供的量化方法、反量化方法可以应用于所有编码音频信号相关的场景中。并且,对本领域普通技术人员可知,随着业务需求的改变,应用场景可以根据应用需求进行调整,本申请实施例对其不做一一列举。
图5是本申请实施例提供的一种量化方法的流程图,该方法应用于如图4所示的音频发送设备。如图5所示,该方法包括如下步骤:
步骤301、获取音频信号的多个子带及每个子带的标度因子。
音频发送设备获取到待发送至音频接收设备的音频信号后,可以先对音频信号加低延迟分析窗,将加低延迟分析窗的音频信号变换至频域,得到音频信号的频域信号,然后基于该频域信号划分得到多个子带(如32个子带),并得到每个子带的标度因子(scalefactor,SF)。其中,子带的标度因子用于指示子带中频点的最大幅值。例如,子带的标度因子可以为表示该最大幅值所需的比特数。
步骤302、获取编码端向解码端传输每帧信号的可用比特数,及编码端对音频信号进行编码使用的目标位深。
该可用比特数可以基于目标码率和帧长确定。其中,目标码率为编码端向解码端传输音频信号能够使用的码率。码率是数据传输时单位时间传送的数据位数。音频信号包括多个信号帧。帧长为信号帧的长度。帧长通常使用时长表示。在一种实现方式中,可以根据帧长和目标码率确定传输每帧信号能够使用的总比特数,然后在该总比特数的基础上减去用于发送经过编码的信号的数据包的包头和边信息(sideinfo)消耗的比特数,得到传输每帧信号的可用比特数。并且,该总比特数可以等于帧长和目标码率的乘积。
编码端对音频信号进行编码使用的目标位深(bit depth)用于指示编码端在对音频信号进行编码时,表示一个时间点上的振幅使用的比特数量。当表示一个时间点上的振幅使用的比特数量越大,表示的振幅变化就越精确。需要说明的是,音频信号也具有位深,当音频信号的位深与编码端对音频信号进行编码使用的目标位深不同时,在对音频信号进行量化之前,需要先对音频信号进行位深变换,将音频信号的位深变换为目标位深。例如,当目标位深为24比特(bit),音频信号的位深为16bit或32bit(如32bit定点或32bit浮点)时,需要先对音频信号进行位深变换,将音频信号的位深变换为24bit。类似地,当音频信号的位深与编码端对音频信号进行编码使用的目标位深不同时,音频解码器对编码码流进行解码后,也需要对解码得到的音频信号进行位深变换,将解码得到的音频信号的位深由目标位深变换为音频信号本身的位深。其中,目标位深是编码端和解码端均具有的属性值,在编码端的编码体系和解码端的解码体系确定后不会发生变化。
步骤303、基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数。
一般地,若对频谱值均进行量化和编码,其编码码流消耗的比特数会远大于基于目标码率确定的可用比特数。因此,在量化过程中,需要先对可用比特数进行比特分配,然后对分配到比特的频谱值执行量化操作。对可用比特进行比特分配是指确定音频信号的频谱值中哪些需要被量化编码,哪些不需要被量化编码的过程。其中,不需要被量化编码的频谱值可以处理为被掩蔽状态,而哪些频谱值需要被掩蔽可以通过心理声学谱进行衡量。因此,比特分配的过程可以看成是在目标码率和位深的限制下,确定心理声学谱,然后根据心理声学谱确定需要被掩蔽的频谱值的过程。心理声学谱可以通过音频信号的多个子带的心理声学谱包络系数(psychoacoustics scale factor)表示,相应的,比特分配的过程可以看成是在目标码率和位深的限制下,确定音频信号的各个子带的心理声学谱包络系数的过程。而该过程实际是基于目标码率、位深和子带的调整因子确定该子带的心理声学谱包络系数的初始值,根据该初始值确定需要被量化编码的频谱值耗费的比特总数,并根据该比特总数和可用比特数的大小关系,确定是否对初始值进行动态调整,并在确定需要对初始值进行动态调整时,对该心理声学谱包络系数进行动态调整的过程。
在一种实现方式中,第i个子带的心理声学谱包络系数可以根据该第i个子带的标度因子和动态调整因子得到。动态调整因子为对心理声学谱包络系数的可调参数。在对心理声学谱包络系数进行调整时,可以根据目标码率确定是否对该动态调整因子进行调整。示例地,由于心理声学谱用于确定哪些频谱值需要被掩蔽,则可以基于第i个子带的标度因子和动态调整因子中的较小值,确定第i个子带的心理声学谱包络系数。
可选地,可以基于位深确定动态调整因子的取值范围。由于码流采用二进制数据表示,则可以根据表示目标位深所需的二进制位数确定该取值范围。例如,当目标位深为24bit时,由于24=16<24<32=25,则可以确定动态调整因子的取值可以有32个,且由于该目标位深为24bit,则可以设置动态调整因子的取值范围的非负数部分包括24个取值,用该非负数部分表示频谱值的整数,负数部分包括8个取值,用负数部分表示频谱值的小数,则该取值范围可以为[-8,23]中的整数。
如果对标度因子进行了噪声整形,还可以联合噪声整形确定的调整因子(可称为静态调整因子)和动态调整因子,对心理声学谱包络系数进行调整。可选地,可以将动态调整因子和静态调整因子的和确定为总调整因子,并基于总调整因子和第i个子带的标度因子中的较小值,确定第i个子带的心理声学谱包络系数。
另外,为平衡解码得到的音频信号的音质和编码的压缩效率,还可以设置心理声学谱包络系数的最大值和最小值,以使用该最大值和最小值限定心理声学谱包络系数的取值。使用最大值限定心理声学谱包络系数的取值,能够保证解码得到的音频信号的音质。使用最小值限定该心理声学谱包络系数的取值,能够保证对音频信号进行编码的压缩效率。在一种实现方式中,该最大值和最小值可以根据动态调整因子的取值范围确定。示例地,可以将动态调整因子的最大值确定为心理声学谱包络系数的最大值,将动态调整因子的最小值确定为心理声学谱包络系数的最小值,例如,假设动态调整因子的范围为[-8,23],则心理声学谱包络系数的最大值为23,心理声学谱包络系数的最小值为-8。
此时,还可以基于心理声学谱包络系数的最小值确定心理声学谱包络系数。可选地,在获取总调整因子和第i个子带的标度因子中的较小值后,可以基于该较小值和该最小值中的较大者,确定第i个子带的心理声学谱包络系数。例如,可以确定第i个子带的标度因子和动态调整因子中的较小值,并基于该较小值和该最小值中的较大者,确定第i个子带的心理声学谱包络系数。
示例地,第i个子带的静态调整因子dradjust(i)、动态调整因子dr、标度因子E(i)、心理声学谱包络系数psySF(i)、心理声学谱包络系数的最小值SF_BIT_MIN,可以满足公式1:
psySF(i)=MAX(MIN(E(i),dr+dradjust(i)),SF_BIT_MIN),i∈[0,B-1]
其中,MAX(x,y)表示取x和y中的最大值。MIN(x,y)表示取x和y中的最小值。B为音频信号具有的子带的总数。可选地,该B个子带具体可以为音频信号的子带中需要编码的子带,如根据音频信号的截止频率得到的需要编码的子带。
步骤304、基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,其中,编码帧中目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,可用比特数基于编码端向解码端传输音频信号能够使用的目标码率确定。
其中,音频信号包括多帧信号,在对音频信号进行编码时可以以帧为单位进行编码,则编码帧中的频谱值是指被编码的帧包括的音频信号的频谱值。
步骤303中确定的子带的心理声学谱包络系数的数值为心理声学谱包络系数初始值,在基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值的过程中,需要根据该初始值确定需要被量化编码的频谱值耗费的比特总数,并根据该比特总数和可用比特数的大小关系,确定是否对初始值进行动态调整,并在确定需要对初始值进行动态调整时,对该心理声学谱包络系数进行动态调整。在一种实现方式中,如图6所示,该步骤304的实现过程,包括:
步骤3041、基于子带的心理声学谱包络系数,确定对音频信号的频谱进行掩蔽的心理声学谱。
在一种可实现方式中,将多个子带的心理声学谱包络系数按照子带的频率依次连接后,得到的曲线即为心理声学谱。
步骤3042、在音频信号的频谱值中,获取未被心理声学谱掩蔽的待定频谱值。
音频信号的频谱也可以通过曲线表示,音频信号的频谱的幅值整体比心理声学谱的幅值大,则位于音频信号的频谱与心理声学谱之间的频谱值均为待定频谱值,位于心理声学谱下方的频谱值为被掩蔽的频谱值。
步骤3043、基于待定频谱值,确定子带中需要被量化的目标频谱值。
确定待定频谱值后,可以获取待定频谱值耗费的比特总数,并根据该比特总数和可用比特数的大小关系,确定是否对初始值进行动态调整,并在确定需要对初始值进行动态调整时,对心理声学谱包络系数进行动态调整。并且,根据应用需求,该过程可以包括本申请实施例提供的第一调整过程和第二调整过程中的至少一个。且当对心理声学谱包络系数进行动态调整的过程包括第一调整过程和第二调整过程时,可以先执行第一调整过程后执行第二调整过程,且第二调整过程在第一调整过程的基础上进行调整。其中,第一调整过程中通过预估的方式确定待定频谱值耗费的比特总数,其调整精度较低,因此该第一调整过程也可称为粗调过程。第二调整过程通过对待定频谱值进行量化,并根据对量化后的待定频谱值进行编码需要耗费的比特,确定待定频谱值耗费的比特总数,因此该第二调整过程也称为细调过程。并且,当不使用本申请实施例提供的第二调整过程进行调整时,还可以使用其他的调整方式进行细调,以使得比特分配能够符合目标码率的要求。例如,可以根据其他需要在调整过程对频谱值进行量化的调整方式进行细调,以保证调整精度。
下面以对心理声学谱包络系数进行动态调整的过程包括第一调整过程和第二调整过程为例,对该调整过程的实现方式进行说明:
如图7所示,第一调整过程包括:
步骤a1、基于子带的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数。
在一种可实现方式中,如图8所示,该步骤a1的实现过程包括:
步骤a11、基于子带的心理声学谱包络系数,获取子带中每个频谱值消耗的平均比特数。
在一种可实现方式中,可以基于子带的心理声学谱包络系数,获取子带中频谱值的量化等级衡量因子,并基于量化等级衡量因子指示的量化等级,得到不同量化等级的频谱值消耗的平均比特数。可选的,可以预先获取量化等级与量化等级的频谱值消耗的平均比特数的对应关系,在确定频谱值的量化等级衡量因子后,可以根据该量化等级衡量因子查询该对应关系,得到对应量化等级的频谱值消耗的平均比特数。例如,可以根据熵编码过程统计不同量化等级的频谱值消耗的比特数,并根据统计结果得到该对应关系。示例的,第i个子带的量化等级衡量因子qs(i)指示对该第i个子带中频谱值进行量化的量化等级,其与量化等级的频谱值消耗的平均比特数bitps,可以满足以下对应关系:
可选的,量化等级衡量因子可以基于子带的心理声学谱包络系数和标度因子得到。在一种实现方式中,可以基于子带的标度因子和心理声学谱包络系数的差值,得到量化等级衡量因子。例如,可以将子带的标度因子和心理声学谱包络系数的差值,确定为量化等级衡量因子。其中,由于量化等级衡量因子用于指示量化等级,该量化等级应该使用正数表示,则在基于子带的标度因子和心理声学谱包络系数的差值,确定量化等级衡量因子时,可以基于该差值与0中的较大值,确定量化等级衡量因子。例如,第i个子带的标度因子E(i)和心理声学谱包络系数psySF(i),及量化等级衡量因子qs(i)可以满足公式2:
qs(i)=MAX(E(i)-psySF(i),0)
其中,i的取值为[0,B-1]中的整数。B为音频信号具有的子带的总数。可选地,该B个子带具体可以为音频信号的子带中需要编码的子带,如根据音频信号的截止频率得到的需要编码的子带。
步骤a12、基于子带的平均比特数和子带包括的频谱值的总数,获取子带中频谱值耗费的第四比特总数。
在获取子带中每个频谱值消耗的平均比特数后,可以确定子带包括的频谱值的总数(即子带包括的频点的总数),然后基于该平均比特数和该总数,确定子带中频谱值耗费的第四比特总数。在一种实现方式中,对于任一子带,可以将该子带中每个频谱值消耗的平均比特书和该子带包括的频谱值的总数的乘积,确定为该子带中频谱值耗费的第四比特总数。
步骤a13、基于子带耗费的第四比特总数,获得第三比特总数。
在获取每个子带中频谱值耗费的第四比特总数后,可以根据每帧信号包括的子带,确定编码帧中待定频谱值耗费的第三比特总数。在一种实现方式中,可以将每帧信号包括的多个子带的第四比特总数之和,确定为该第三比特总数。
步骤a2、当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,确定执行获取编码帧中待定频谱值耗费的第二比特总数的过程,即执行第二调整过程。
当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,说明当前心理声学谱对音频信号的频谱的掩蔽程度基本能够满足目标码率的要求,则可以执行第二调整过程,对心理声学谱进行细调,以得到较为准确的心理声学谱。需要说明的是,当调整过程仅包括第一调整过程时,该步骤a2为:当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,将待定频谱值确定为目标频谱值。其中,第一阈值范围可以根据对音频信号的音质要求确定。例如,在音质允许被干扰的范围内,该第一阈值范围可以为[-10bit,10bit]。又例如,若是对码率要求较严格的场景,该第一阈值范围可以仅包括0,即第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内是指第三比特总数等于每帧信号的可用比特数。
步骤a3、当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,确定执行获取编码帧中待定频谱值耗费的第二比特总数的过程。
需要说明的是,当调整过程仅包括第一调整过程时,该步骤a3为:当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,将待定频谱值确定为目标频谱值。
在一种实现方式中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,包括:
步骤a31、按照第二调整方式调整音频信号中子带的心理声学谱包络系数。
第二调整方式用于指示对心理声学谱包络系数进行调整的方式,包括:对每个子带的心理声学谱包络系数的调整幅度,对多个子带的心理声学谱包络系数的优先顺序等。在一种可实现方式中,第二调整方式基于目标位深得到。例如,如前面描述,可以基于目标位深确定动态调整因子的取值范围、初始值和步进长度。并且,该第一调整过程也可以包括粗调过程和细调过程。并且,为了提高调整速度,可以先执行粗调过程,后执行细调过程。粗调过程使用动态调整因子对心理声学谱包络系数进行调整,细调过程使用辅助调整因子对心理声学谱包络系数进行调整。并且,该辅助调整因子也可以根据目标位深得到。
例如,继续以步骤303中的例子为例,当目标位深为24bit时,动态调整因子的取值范围为[-8,23]中的整数,为保证调整速度可以将该动态调整因子的初始值设置为该取值范围中的最大值23,且本着越调越精细化的原则,可以设置动态调整因子的步进长度的初始值为该取值范围的跨度32,且每调整一次步进长度缩小一倍,即步进长度step=step/2。
由于细调过程使用辅助调整因子对心理声学谱包络系数进行调整,则可以使用动态调整因子的取值范围为中表示小数部分的跨度确定辅助调整因子的取值,即当动态调整因子的取值范围为[-8,23]中的整数时,辅助调整因子可以有八个取值,分别为[0,7]中的整数。且由于高频的音频信号相对于中低频的音频信号的重要性略低,调整过程中可以优先调整中高频的子带的心理声学谱包络系数,则辅助因子的初始值可以为7,并在每次调整过程中递减,即辅助调整因子可以按照7,6,5,4,3,2,1,0的顺序变化。
可选的,当第三比特总数与每帧信号的可用比特数的差值大于第一阈值范围的最大值,如第三比特总数大于每帧信号的可用比特数时,说明压缩效率不够,则第二调整方式可以指示增大音频信号中子带的心理声学谱包络系数,以减小音频信号的频谱包络与心理声学谱包络之间的宽度,减少音频信号的频谱包络与心理声学谱包络之间包括的频点数量,从而达到加大压缩效率的效果。当第三比特总数与每帧信号的可用比特数的差值小于第一阈值范围的最小值,如第三比特总数小于每帧信号的可用比特数时,说明压缩效率过大,则第二调整方式可以指示减小音频信号中子带的心理声学谱包络系数,以增大音频信号的频谱包络与心理声学谱包络之间的宽度,增加音频信号的频谱包络与心理声学谱包络之间包括的频点数量,从而达到减小压缩效率的效果。
并且,第二调整方式指示在完成音频信号中第三子带的心理声学谱包络系数的调整后,对音频信号中第四子带的心理声学谱包络系数进行调整,第三子带的频率高于第四子带的频率。即第二调整方式指示调整原则为:先调整音频信号中高频子带的心理声学谱系数,后调整音频信号中低频子带的心理声学谱系数。
另外,第二调整方式还可以指示先使用动态调整因子对子带的心理声学谱包络系数进行调整,然后使用辅助调整因子对子带的心理声学谱包络系数进行调整。由于动态调整因子的调整幅度大,辅助调整因子的调整幅度小,且该第一调整过程需要对心理声学谱包络系数进行大幅度的调整,通过先使用动态调整因子后使用辅助调整因子进行调整,能够有效保证对子带的心理声学谱包络系数的调整速率。
步骤a32、基于调整后的心理声学谱包络系数更新待定频谱值。
每次对心理声学谱包络系数进行调整后,可以基于调整后的心理声学谱包络系数更新待定频谱值。其实现过程请相应参考步骤3042中的相关描述,此处不在赘述。
步骤a33、基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第三比特总数。
每次更新后的待定频谱值后,可以基于更新后的待定频谱值,获取更新后的待定频谱值耗费的第三比特总数。其实现过程请相应参考步骤a1中的相关描述,此处不在赘述。
下面以一个调整过程为例对第一调整过程进行举例说明,第一调整过程包括:
步骤S11、获取音频信号的多个子带及每个子带的标度因子,其中,第i个子带的标度因子为E(i)。
步骤S12、获取目标码率和帧长,基于目标码率和帧长得到传输每帧信号能够使用的总比特数bitTarget,获取目标位深为24bit,基于位深确定动态调整因子dr的初始值=23、动态调整因子的初始步进长度step=32、动态调整因子的步进长度step的更新方式为step=step/2、动态调整因子的取值范围为[-8,23]中的整数、辅助调整因子drQuater的初始值=7,辅助调整因子的步进长度为-1、辅助调整因子的取值范围为[0,7]中的整数。
步骤S13、获取每个子带的静态调整因子,其中,第i个子带的静态调整因子为dradjust(i)。
步骤S14、基于当前的dr和每个子带的dradjust(i),按照公式1计算每个子带的心理声学谱包络系数psySF(i),并基于每个子带的心理声学谱包络系数psySF(i)和标度因子E(i),按照公式2计算每个子带的量化等级衡量因子qs(i)。
步骤S15、基于每个子带的量化等级衡量因子qs(i)、子带包括的频点总数和每帧包括的子带,估计编码每帧信号需要耗费的总比特数bits,并按照step=step/2缩小步进长度。然后,进行比特分配达标判断,若bits>bitTarget,下次更新需要增大音频信号中子带的心理声学谱包络系数,即将dr更新为dr+step。若bits<bitTarget,下次更新需要减小音频信号中子带的心理声学谱包络系数,即将dr更新为dr-step。
需要说明的是,在按照步进长度对dr进行更新时,还可以对dr进行范围限制。在一种实现方式中,对dr进行范围限制时,可以控制更新后的dr不超出其取值范围。例如,更新后的dr、dr的取值范围中的最小值SF_BIT_MIN和最大值SF_BIT_MAX,可以满足:
dr=max(min(dr,SF_BIT_MAX),SF_BIT_MIN)。
步骤S16、根据更新后的dr执行第一调整过程,即执行步骤S14和步骤S15,直至循环6次,步进长度step更新为0,若比特分配仍不达标,则利用辅助调整因子drQuater对高低频进行比特分配调整,即压缩高频的比特占比,提高低频的比特占比。在根据辅助调整因子drQuater完成一轮的调整后,若比特分配仍不达标,说明还需要进行较大幅度的调整,则继续更新dr,此时更新dr的方式为dr=dr-1,并基于更新后的dr执行步骤S14和步骤S15,若比特分配仍不达标,更新drQuater=drQuater-1,则进入继续利用更新后的辅助调整因子drQuater进行调整的循环,直至比特分配达标(即满足bits=bitTarget)时跳出循环,完成第一调整过程,或者,达到极端条件(step==0且drQuater==0且dr==SF_BIT_MIN)时,结束第一调整过程。其中,辅助调整因子drQuater完成一轮的调整,是指对drQuater的更新遍历完drQuater的取值范围中的取值,并使用更新后的drQuater执行了调整过程。该极端条件是指对频谱值已经压缩的足够多,但是bits仍小于bitTarget,此时为保证音质,可以结束第一调整过程。
利用辅助调整因子drQuater对高低频进行比特分配调整的过程包括:在音频信号的所有频点中,找出所有未被量化为0的所有频点,并统计其总数,在所有未被量化为0的频点中从高频到低频依次找到(总数×drQuater/drQuater的取值总数)个频点(如当drQuater为7,其取值范围为[0,7]中的整数,取值总数为8时,drQuater/取值总数为7/8),然后确定每个找到的频点所在的子带,将每个子带的psySF(i)均按照更新后的psySF(i)=psySF(i)+1进行更新,将每个子带的量化等级衡量因子qs(i)均按照更新后的qs(i)=qs(i)-1进行更新,然后根据更新后的psySF(i)和qs(i)预估bits,根据该bits进行比特达标判断,当bits=bitTarget时跳出循环,完成第一调整过程。当该bits<bitTarget时,将drQuater更新为drQuater-1,然后根据更新后的drQuater执行调整psySF(i)和qs(i)、根据调整后的psySF(i)和qs(i)预估bits,并根据bits进行比特达标判断的过程。
在利用辅助调整因子drQuater对高低频进行比特分配调整时,通过从高频到低频依次待调整的频点,实际是先调整音频信号中高频子带的心理声学谱系数,后调整音频信号中低频子带的心理声学谱系数,能够保证优先为携带有较重要信息的中低频频谱值分配比特,保证较重要信息能够传输至音频接收设备,从而保证音质。
如图9所示,第二调整过程包括:
步骤b1、获取编码帧中待定频谱值耗费的第二比特总数。
在一种可实现方式中,如图10所示,该步骤b1的实现过程包括:
步骤b11、基于子带的心理声学谱包络系数,对待定频谱值进行量化,得到待定频谱值的量化值。
当执行了第一调整过程时,该步骤b11中使用的心理声学谱包络系数为结束第一调整过程时的心理声学谱包络系数psySF(i)。当未执行第一调整过程时,该步骤b11中使用的心理声学谱包络系数为步骤303中确定的子带的心理声学谱包络系数psySF(i)。
量化是将浮点的频谱值转化为整型数值,从而方便后面编码码流的打包。在本申请实施例中,可以分别根据心理声学谱对频谱值的带内掩蔽作用,及由心理声学谱包络系数决定的量化精度,对频谱值进行量化,然后根据两者的量化结果,确定待定频谱值的量化值。
其中,量化精度与心理声学谱包络系数呈反相关关系。例如,可以根据子带的心理声学谱包络系数确定子带的底噪,该底噪的大小可以反映量化精度。当底噪大小越小时,量化精度越高。例如,第i个子带的心理声学谱包络系数psySF(i)和底噪NF(i),可以满足:
NF(i)=2psySF(i),i∈[0,B-1]
在一种实现方式中,对于第i个子带,根据心理声学谱对频谱值的带内掩蔽作用对子带中第k个频点的频谱值X(k)进行量化时,可以先根据第i个子带的心理声学谱包络系数psySF(i),获取第i个子带的量化等级衡量因子qs(i),然后根据量化等级衡量因子qs(i)对频谱值进行量化。
第i个子带中的频谱值X(k)、量化等级衡量因子qs(i)和频谱值X(k)的第一量化值Xqs(k)可以满足:
Xqs(k)=2qs(i)-1,i∈[0,B-1]
其中,i的取值为[0,B-1]中的整数。B为音频信号具有的子带的总数。可选地,该B个子带具体可以为音频信号的子带中需要编码的子带,如根据音频信号的截止频率得到的需要编码的子带。
根据量化精度,对频谱值进行量化时,第i个子带中的频谱值X(k)、第i个子带的心理声学谱包络系数psySF(i)、频谱值X(k)的第二量化值Xqm(k)可以满足:
其中,i的取值为[0,B-1]中的整数。B为音频信号具有的子带的总数。可选地,该B个子带具体可以为音频信号的子带中需要编码的子带,如根据音频信号的截止频率得到的需要编码的子带。|X(k)|表示X(k)的绝对值。bandstart[i]指示第i个子带的第一个频点,bandend[i]指示第i个子带的最后一个频点。int(x)表示对x向下取整。
c为对频谱值进行截断处理的参数。在一种实现方式中,当第i个子带的量化等级衡量因子qs(i)为1时,c的取值可以为0.375,当第i个子带的量化等级衡量因子qs(i)为其他值时,c的取值可以为0.5,此时,对频谱值进行截断处理相当于是对频谱值进行四舍五入。需要说明的是,c的取值可以根据解码端对音质的要求和对压缩效率的需求确定,在应用过程中可以根据需求进行调整。
在确定待定频谱值的第一量化值和第二量化值后,本着节约压缩比特的原则,可以基于第一量化值和第二量化值中的较小者,确定待定频谱值的量化值。例如,将该较小者确定为待定频谱值的量化值。并且,由于量化值为整型数据,为了保证该待定频谱值不被量化为负数,可以将该较小者和0中的较大者确定为待定频谱值的量化值。例如,待定频谱值的量化值Xq(k)、其第一量化值Xqs(k)、其第二量化值Xqm(k)可以满足公式:
Xq(k)=MAX(MIN((Xqs(k),Xqm(k))),0)bandstart[i]<k<bandend[i],i∈[0,B-1]
并且,当频谱值为0时,其量化值的符号位为0,该符号位不在编码码流中传输。当频谱值为正数时,其量化值的符号位为1,该符号位需要在编码码流中传输,用于指示频谱值的符号。当频谱值为负数时,其量化值的符号位为0,该符号位需要在编码码流中传输,用于指示频谱值的符号。
步骤b12、获取编码端编码每帧信号的每个量化值耗费的比特数,得到第二比特总数。
在一种实现方式中,码本可以指示对量化值进行编码的方式。例如,可以指示量化值与其编码后的编码值的对应关系,及指示编码值耗费的比特数。则可以根据量化值查询对量化值进行编码的码本,以得到每个量化值耗费的比特数,然后将所有量化值耗费的比特数的总和,确定为该第二比特总数。
步骤b2、当第二比特总数小于或等于每帧信号的可用比特数时,将待定频谱值确定为目标频谱值。
当第二比特总数小于或等于每帧信号的可用比特数时,说明当前心理声学谱对音频信号的频谱的掩蔽程度能够满足目标码率的要求,则可以基于该心理声学谱对音频信号的频谱值进行编码,可以将待定频谱值确定为目标频谱值。
步骤b3、当第二比特总数大于每帧信号的可用比特数时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第二比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第二比特总数小于或等于每帧信号的可用比特数,将待定频谱值确定为目标频谱值。
在一种实现方式中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第二比特总数,包括:
步骤b31、按照第一调整方式调整音频信号中子带的心理声学谱包络系数。
在一种实现方式中,第一调整方式基于目标位深得到。
第一调整方式用于指示对心理声学谱包络系数进行调整的方式,包括:对每个子带的心理声学谱包络系数的调整幅度,对多个子带的心理声学谱包络系数的优先顺序等。该第二调整过程也可以包括粗调过程和细调过程。并且,为了保证调整的精确度,可以先执行细调过程,后执行粗调过程。粗调过程使用动态调整因子对心理声学谱包络系数进行调整,细调过程使用辅助调整因子对心理声学谱包络系数进行调整。
在一种可实现方式中,第一调整方式基于目标位深得到。例如,如前面描述,可以基于目标位深确定动态调整因子的取值范围和步进长度、及辅助调整因子的取值范围和步进长度。例如,继续以步骤303中的例子为例,当目标位深为24bit时,动态调整因子的取值范围为[-8,23]中的整数,且为保证调整的精确度,可以设置动态调整因子的步进长度为1。
由于细调过程使用辅助调整因子对心理声学谱包络系数进行调整,则可以使用动态调整因子的取值范围为中表示小数部分的跨度确定辅助调整因子的取值,即当动态调整因子的取值范围为[-8,23]中的整数时,辅助调整因子可以有八个取值,分别为[0,7]中的整数。且为保证调整的精确度,可以设置辅助调整因子的步进长度为1。需要说明的是,当执行了第一调整过程时,该第二调整过程中动态调整因子的初始值为结束第一调整过程时动态调整因子的取值,辅助调整因子的初始值为结束第一调整过程时辅助调整因子的取值。当未执行第一调整过程时,该第二调整过程中动态调整因子的初始值可以参考第一调整过程中动态调整因子的初始值,第二调整过程中辅助调整因子的初始值可以参考第一调整过程中辅助调整因子的初始值,此处对其确定方式此处不再赘述。
并且,当执行第一调整过程时,由于第二调整过程需要对频谱值执行量化,量化后的频谱值耗费的比特总数通常会比第一调整过程中预估的比特总数多,因此,在该第二调整过程中需要将心理声学谱包络系数调大,即对动态调整因子和辅助调整因子进行更新时,总体上需要增大动态调整因子和辅助调整因子。
可选地,第一调整方式指示当第二比特总数大于每帧信号的可用比特数时,说明压缩效率不够,则可以增大音频信号中子带的心理声学谱包络系数,以减小音频信号的频谱包络与心理声学谱包络之间的宽度,减少音频信号的频谱包络与心理声学谱包络之间包括的频点数量,从而达到加大压缩效率的效果。
并且,第一调整方式指示在完成音频信号中第一子带的心理声学谱包络系数的调整后,对音频信号中第二子带的心理声学谱包络系数进行调整,第一子带的频率高于第二子带的频率。即第一调整方式指示调整原则为:先调整音频信号中高频子带的心理声学谱系数,后调整音频信号中低频子带的心理声学谱系数。
另外,第一调整方式还可以指示先使用辅助调整因子对子带的心理声学谱包络系数进行调整,然后使用动态调整因子对子带的心理声学谱包络系数进行调整。由于动态调整因子的调整幅度大,辅助调整因子的调整幅度小,且该第二调整过程中需要根据对频谱值的量化过程进行调整,其需要在小范围内对心理声学谱包络系数进行调整,因此通过先使用辅助调整因子后使用动态调整因子进行调整,能够有效保证对子带的心理声学谱包络系数进行调整的精确度。
步骤b32、基于调整后的心理声学谱包络系数更新待定频谱值。
每次对心理声学谱包络系数进行调整后,可以基于调整后的心理声学谱包络系数更新待定频谱值。其实现过程请相应参考步骤3042中的相关描述,此处不在赘述。
步骤b33、基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第二比特总数。
每次更新后的待定频谱值后,可以基于更新后的待定频谱值,获取更新后的待定频谱值耗费的第二比特总数。其实现过程请相应参考步骤b1中的相关描述,此处不在赘述。
下面以一个调整过程为例,对在执行了第一调整过程的基础上执行的第二调整过程进行举例说明,第二调整过程包括:
步骤S21、基于每个子带的心理声学谱包络系数psySF(i),对各个子带中的待定频谱值进行量化,得到待定频谱值的量化值。该过程的实现方式请相应参考步骤b11中的相关描述。
步骤S22、根据对待定频谱值的量化值进行熵编码使用的码本,查询得到熵编码所需的比特,将每一帧中所有频点所需的比特叠加,得到编码每帧信号的每个量化值耗费的比特数,得到第二比特总数bits。
步骤S23、进行比特分配达标判断,若bits<=bitTarget,表示比特分配达标,则可以结束第二调整过程。否则进入下面微调过程:
结束第一调整过程时的drQuater不等于7时,按照第一调整过程中根据drQuater进行调整的过程进行调整,然后根据更新后的psySF(i)和qs(i)执行步骤S21至步骤S23,比特分配达标时结束第二调整过程,否则更新drQuater=drQuater+1,若更新后的drQuater不等于7则继续根据drQuater进行调整的过程,在drQuater等于7时,更新dr=dr+1,然后使用更新后的dr按照第一调整过程中根据dr进行调整的过程进行调整,然后根据更新后的psySF(i)和qs(i)执行步骤S21至步骤S23,比特分配达标时结束第二调整过程,否则更新drQuater=0,然后继续根据drQuater进行调整的过程,直到满足bits<=bitTarget,或者,达到极端条件(dr==SF_BIT_MAX)后结束第二调整过程。
需要说明的是,在进行比特分配达标判断时,还可以根据dr的范围限制确定是否结束第二调整过程。在一种实现方式中,当dr达到dr的取值范围中的最大值SF_BIT_MAX时,若比特仍不达标,此时为保证音频信号音质,结果第二调整过程。
步骤305、基于目标频谱值,得到目标频谱值的量化值。
在确定目标频谱值后,就可以基于目标频谱值得到目标频谱值的量化值。当对心理声学谱包络系数的调整过程包括第二调整过程时,由于该第二调整过程中会对待定频谱值进行量化,目标频谱值是对待定频谱值进行筛选得到的,因此,在该第二调整过程中实际已经对目标频谱值进行了量化,则可以直接将结束第二调整过程时目标频谱值的量化值,确定为目标频谱值的量化值。当对心理声学谱包络系数的调整过程不包括第二调整过程时,则可以根据结束第一调整过程时各个子带的心理声学谱包络系数,对目标频谱值进行量化,得到目标频谱值的量化值。其实现过程可以相应参考步骤b11中的实现方式。
综上所述,在本申请实施例提供的量化方法中,可以基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数,并基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,然后基于目标频谱值,得到目标频谱值的量化值。其中,编码帧中目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,且可用比特数基于编码端向解码端传输音频信号能够使用的目标码率确定。根据本申请实施例的描述可知,该量化方法实际是根据目标码率进行比特分配,从而根据目标码率实现对量化精度进行控制的过程。且该过程通过调整子带的心理声学谱系数,并根据心理声学谱系数对子带内的频谱值进行掩蔽指导实现。因此,通过根据该量化方法进行量化,有助于根据目标码率将每帧的码率保持在恒定状态,能够提高传输过程中的码率稳定性,进而提高发送音频信号的编码码流的抗干扰性。
并且,在第一调整过程中,由于没有对频谱值进行量化,用于比特分配达标判断的第三比特总数通过预估得到,第二调整过程需要对频谱值进行了量化,用于比特分配达标判断的第一比特总数根据量化和编码过程得到,其准确度较高,因此其调整的精确度较高。在对音频信号进行量化的过程中,可以根据应用需求确定调整子带的心理声学谱系数使用的调整方式。
本申请实施例还提供了一种量化方法和反量化方法。量化方法应用于音频发送设备,反量化方法应用于音频接收设备。量化方法和反量化方法可以在编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时执行,即在进行比特分配后有剩余比特的情况下执行。其中,目标频谱值可以根据编码端向解码端传输音频信号能够使用的目标码率得到。在一种实现方式中,可以根据本申请实施例提供的前述量化方法得到。例如,可以根据前述步骤301至步骤305得到。或者,该目标频谱值还可以根据其他方式得到,本申请实施例对其不做具体限定。
下面分别对量化方法和反量化方法的实现过程进行说明。如图11所示,量化方法包括以下步骤:
步骤901、当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,其他频谱值为音频信号的频谱值中除目标频谱值外的频谱值。
目标频谱值可以为在比特分配过程中,已经被分配比特的频谱值,则其他频谱值为比特分配过程中未被分配比特的频谱值。其中,目标频谱值可以根据编码端向解码端传输音频信号能够使用的目标码率得到。在一种实现方式中,可以根据本申请实施例提供的前述量化方法得到。例如,可以根据前述步骤301至步骤305得到。
在一种可实现方式中,频谱值表示的信息的重要程度可以通过频谱值所属频点所在的子带的标度因子反映。则如图12所示,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值的实现过程,包括:
步骤9011、在音频信号的所有子带中,确定具有最大标度因子的基准子带。
当音频信号为单声道信号时,可以在该单声道信号的多个子带的标度因子中,确定具有最大值的标度因子,该具有最大值的标度因子所属的子带即为基准子带。当音频信号为双声道信号时,可以在该双声道信号的多个子带的标度因子中,确定具有最大值的标度因子,该具有最大值的标度因子所属的子带即为基准子带。例如,假设音频信号为双声道信号,每个声道的信号具有32个子带,双声道信号共具有64个子带,则可以在64个子带对应的64个标度因子中确定具有最大值的标度因子,并将具有最大值的标度因子所属的子带确定为基准子带。
步骤9012、基于每个子带到基准子带的距离,确定子带的其他频谱值成为残余频谱值的权重。
在一种实现方式中,任一子带的权重与任一子带到基准子带的距离反相关。可选地,子带的权重还基于子带被心理声学谱掩蔽的情况得到,被心理声学谱掩蔽的子带的权重大于未被心理声学谱掩蔽的子带的权重。示例地,可以设置未被心理声学谱掩蔽的所有子带的权重,均小于被心理声学谱掩蔽的子带的权重。
在执行该步骤9012时,可以根据影响子带的权重的因素对音频信号的多个子带进行排序,通过子带在排序中的顺序反映不同子带的权重。例如,当子带的权重基于子带到基准子带的距离和被心理声学谱掩蔽的情况得到时,可以基于该距离和被心理声学谱掩蔽的情况对音频信号的多个子带进行排序,并确定排序在前的子带的权重大于排序在后的子带的权重。其中,排序遵循的原则为:所有被心理声学谱掩蔽的子带的权重,均大于未被心理声学谱掩蔽的子带的权重;在所有被心理声学谱掩蔽的子带中,到基准子带的距离越小,子带的权重越大;在所有未被心理声学谱掩蔽的子带中,到基准子带的距离越小,子带的权重越大。
或者,在对多个子带进行排序时,也可以先根据子带到基准子带的距离和被心理声学谱掩蔽的情况,对子带的权重进行量化,然后根据子带的权重由大到小的顺序,对多个子带进行排序。在一种实现方式中,排序队列中索引为i的子带的权重band[i]、子带到基准子带的距离和子带被心理声学谱掩蔽的情况,满足下面公式:
for i=0,1,...,chNum*bandsNum
其中,pB为基准子带的索引。i%2为声道索引。i/2为左声道或右声道中子带的索引。qs[i%2][i/2]表示第i%2个声道的第i/2个子带的量化等级衡量因子。子带的量化等级衡量因子小于或等于0表示子带被心理声学谱掩蔽了,子带的量化等级衡量因子大于0表示子带未被心理声学谱掩蔽。bandsNum为单个声道中子带的总数,chNum为声道的总数。abs(x)表示x的绝对值。
在根据子带的权重对多个子带进行排序后,可以将band[i]和索引i配对,以band[i]为值参考进行降序排序,并将排序结果记录在rank结构体数组中。rank结构体数组包括成对出现的元素rank[i].val和元素rank[i].idx。元素rank[i].val指示band[i]的取值,与元素rank[i].val对应的元素rank[i].idx指示band[i]对应的索引i。
步骤9013、按照权重由高到低的顺序,依次确定对应子带的其他频谱值是否为残余频谱值,直至编码帧中目标频谱值和残余频谱值耗费的第五比特总数与每帧信号的可用比特数的差值在第二阈值范围内。其中,当将子带的其他频谱值作为残余频谱值时,若编码帧中目标频谱值和所有已确定为残余频谱值耗费的第五比特总数大于每帧信号的可用比特数,则子带的其他频谱值及小于或等于子带的权重的其他子带中的其他频谱值均不能成为残余频谱值。其中,第二阈值范围可以根据对音频信号的音质要求确定。例如,在音质允许被干扰的范围内,该第二阈值范围可以为[-10bit,10bit]。又例如,若是对码率要求较严格的场景,该第二阈值范围可以仅包括0,即编码帧中目标频谱值和残余频谱值耗费的第五比特总数与每帧信号的可用比特数的差值在第二阈值范围内是指第五比特总数等于每帧信号的可用比特数。
在确定多个子带的权重后,可以按照权重由高到低的顺序,依次对每个子带中的每个其他频谱值进行遍历。在遍历到任一其他频谱值时,确定编码该其他频谱值耗费的比特,然后确定编码所有目标频谱值、所有已确定为残余频谱值和当前其他频谱值耗费的第五比特总数,并根据将该第五比特总数与可用比特数的大小关系,确定当前其他频谱值是否能够被确定为残余频谱值。例如,当将某个子带的一个其他频谱值作为残余频谱值时,若编码帧中目标频谱值和所有已确定为残余频谱值耗费的第五比特总数大于每帧信号的可用比特数,则该其他频谱值及小于或等于该子带的权重的其他子带中的其他频谱值均不能成为残余频谱值。
步骤902、基于残余频谱值,得到残余频谱值的量化值。
对残余频谱值进行量化的实现方式请相应参考步骤b11中的相关描述。
步骤903、基于残余频谱值,得到残余频谱值的量化指示信息,量化指示信息用于指示对残余频谱值进行反量化的方式。
对于被心理声学谱掩蔽的子带和未被心理声学谱掩蔽的子带,对子带的残余频谱值进行反量化的实现方式不同,则在对残余频谱值进行量化后,还需要确定该残余频谱值的量化指示信息。对残余频谱值进行反量化的实现方式可以根据残余频谱值的幅值确定。并且,为了保证音质效果,还可以对残余频谱值执行取舍处理,并基于经过取舍处理的残余频谱值,确定对残余频谱值进行量化的量化方式,得到量化指示信息。可选地,量化指示信息可以用标志位表示,不同的标志位指示不同的反量化方式。在一种实现方式中,对于第i%2个声道的第i/2个子带中的残余频谱值m[i%2][i/2],该残余频谱值的标志位mRes[i%2][i/2]、第i/2个子带的心理声学谱包络系数psySF[i%2][i/2]满足:
qs[i%2][i/2]≤0时,
qs[i%2][i/2]>0时,
其中,max(x,y)表示取x和y中的最大值。min(x,y)表示取x和y中的最小值。int(x)表示对x向下取整。abs(x)表示x的绝对值。mQ[i%2][i/2]第i%2个声道的第i/2个子带中的残余频谱值的量化值。qs[i%2][i/2]表示第i%2个声道的第i/2个子带的量化等级衡量因子。0.375和0.125均为对残余频谱值执行取舍处理的偏移值。该偏移值的取值可以根据应用需求进行确定,例如根据应用需求对音质和压缩效率等要求进行确定。
步骤904、向解码端提供量化指示信息。
编码端得到残余频谱值的量化指示信息后,需要向解码端提供该量化指示信息,以便于解码端基于该量化指示信息对码值进行反量化。
如图13所示,反量化方法可以包括以下步骤:
步骤1101、接收编码端提供的经编码码流。
步骤1102、基于经编码码流,获取音频信号的频谱值表示的信息的重要程度。
在一种可实现方式中,频谱值表示的信息的重要程度可以通过频谱值所属频点所在的子带的标度因子反映。子带的标度因子越大,子带中频谱值表示的信息越重要。此时,可以根据经编码码流解码得到各个子带的标度因子,然后根据子带的标度因子,确定音频信号的频谱值表示的信息的重要程度。
步骤1103、基于重要程度,确定经编码码流中残余频谱值的码值和量化指示信息,量化指示信息用于指示编码端对残余频谱值进行反量化的方式。
在一种实现方式中,重要程度通过频谱值所属频点所在的子带的标度因子反映。则该步骤1103的实现过程可以包括:
步骤11031、在所有子带中,确定具有最大标度因子的基准子带。
该步骤11031的实现过程请相应参考步骤9011中的相关描述,此处不再赘述。
步骤11032、基于每个子带到基准子带的距离,在经编码码流中确定每个子带的残余频谱值的码值和量化指示信息。
可以先确定子带的残余频谱值的码值和量化指示信息在经编码流中的位置,然后从对应位置中读取数据,得到残余频谱值的码值和量化指示信息。
在一种实现方式中,子带的残余频谱值的码值和量化指示信息在经编码流中的位置,可以与任一子带到基准子带的距离呈反相关关系。例如,当第一子带到基准子带的距离小于第二子带到基准子带的距离时,第一子带的残余频谱值的码值在第二子带的残余频谱值的码值之前,第一子带的残余频谱值的量化指示信息在第二子带的残余频谱值的量化指示信息之前。
可选地,每个子带的残余频谱值的码值和量化指示信息在经编码码流中的位置还基于子带被心理声学谱掩蔽的情况得到,被心理声学谱掩蔽的子带的残余频谱值的码值在未被心理声学谱掩蔽的子带的残余频谱值的码值之前,被心理声学谱掩蔽的子带的残余频谱值的量化指示信息在未被心理声学谱掩蔽的子带的残余频谱值的量化指示信息之前,子带被心理声学谱掩蔽的情况基于经编码码流得到。
其中,编码端在确定每个子带的其他频谱值是否成为残余频谱值时,是根据子带的其他频谱值成为残余频谱值的权重,依次对每个子带的其他频谱值进行判断的,且当一个子带的其他频谱值不能成为残余频谱值时,权重比其小的所有子带的其他频谱值均不能成为残余频谱值。因此,子带的残余频谱值的码值和量化指示信息在经编码流中的位置与子带的权重呈正相关关系。则子带的残余频谱值的码值和量化指示信息在经编码流中的位置的实现方式的原理请相应参考量化方法实施例中的相关描述,此处不再赘述。
步骤1104、基于残余频谱值的量化指示信息,对残余频谱值的码值执行反量化操作,得到反量化后的码值。
量化指示信息用于指示对残余频谱值进行反量化的方式。在获取残余频谱值的量化指示信息后,即可根据该量化指示信息所指示的反量化方式,对残余频谱值的码值执行反量化操作,得到反量化后的码值。
在一种实现方式中,若编码端在确定对残余频谱值进行量化的量化方式时,对残余频谱值执行取舍处理,则对该步骤1104的实现方式可以包括:基于残余频谱值的量化指示信息,确定对残余频谱值执行反量化操作的偏移值;然后基于残余频谱值的码值和偏移值执行反量化操作,得到反量化后的码值。
示例地,对于第i%2个声道的第i/2个子带中的残余频谱值m[i%2][i/2],该残余频谱值的标志位mRes[i%2][i/2]与其偏移值ResQ[i%2][i/2]满足:
qs[i%2][i/2]≤0时,
qs[i%2][i/2]>0时,
其中,qs[i%2][i/2]表示第i%2个声道的第i/2个子带的量化等级衡量因子。0.5、0.25和0.125均为对残余频谱值执行取舍处理的偏移值。该偏移值的取值可以根据应用需求进行确定,例如根据应用需求对音质和压缩效率等要求进行确定。
综上所述,在本申请实施例提供的量化方法和反量化方法中,当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,基于残余频谱值,得到残余频谱值的量化值,能够有效利用剩余比特,有助于根据目标码率将每帧的码率保持在恒定状态,能够提高传输过程中的码率稳定性,进而提高发送音频信号的编码码流的抗干扰性。
本申请实施例还提供了一种量化装置,量化装置应用于编码端。如图14所示,量化装置包括:第一处理模块1301、第二处理模块1302和第三处理模块1303。
第一处理模块1301,用于基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数;
第二处理模块1302,用于基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,其中,编码帧中目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,可用比特数基于编码端向解码端传输音频信号能够使用的目标码率确定;
第三处理模块1303,用于基于目标频谱值,得到目标频谱值的量化值。
可选地,第二处理模块1302用于:基于子带的心理声学谱包络系数,确定对音频信号的频谱进行掩蔽的心理声学谱;在音频信号的频谱值中,获取子带中未被心理声学谱掩蔽的待定频谱值;基于待定频谱值,确定子带中需要被量化的目标频谱值。
可选地,第二处理模块1302用于:获取编码帧中待定频谱值耗费的第二比特总数;当第二比特总数小于或等于每帧信号的可用比特数时,将待定频谱值确定为目标频谱值;当第二比特总数大于每帧信号的可用比特数时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第二比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第二比特总数小于或等于每帧信号的可用比特数,将待定频谱值确定为目标频谱值;其中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第二比特总数,包括:按照第一调整方式调整音频信号中子带的心理声学谱包络系数;基于调整后的心理声学谱包络系数更新待定频谱值;基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第二比特总数。
可选地,第一调整方式基于目标位深得到。
可选地,第一调整方式指示当第二比特总数大于每帧信号的可用比特数时,增大音频信号中子带的心理声学谱包络系数。
可选地,第一调整方式指示在完成音频信号中第一子带的心理声学谱包络系数的调整后,对音频信号中第二子带的心理声学谱包络系数进行调整,第一子带的频率高于第二子带的频率。
可选地,第二处理模块1302用于:基于子带的心理声学谱包络系数,对待定频谱值进行量化,得到待定频谱值的量化值;获取编码端编码每帧信号的每个量化值耗费的比特数,得到第二比特总数。
可选地,第二处理模块1302用于:基于子带的心理声学谱包络系数,预估编码帧中待定频谱值耗费的第三比特总数;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,确定执行获取编码帧中待定频谱值耗费的第二比特总数的过程;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,确定执行获取编码帧中待定频谱值耗费的第二比特总数的过程;其中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,包括:按照第二调整方式调整音频信号中子带的心理声学谱包络系数;基于调整后的心理声学谱包络系数更新待定频谱值;基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第三比特总数。
可选地,第二处理模块1302用于:基于子带的心理声学谱包络系数,预估编码帧中待定频谱值耗费的第三比特总数;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,将待定频谱值确定为目标频谱值;当第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,将待定频谱值确定为目标频谱值;其中,对子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中待定频谱值耗费的第三比特总数,包括:按照第二调整方式调整音频信号中子带的心理声学谱包络系数;基于调整后的心理声学谱包络系数更新待定频谱值;基于更新后的待定频谱值,获取编码帧中更新后的待定频谱值耗费的第三比特总数。
可选地,第二调整方式基于目标位深得到。
可选地,第二调整方式指示当第三比特总数大于每帧信号的可用比特数时,增大音频信号中子带的心理声学谱包络系数,当第三比特总数小于每帧信号的可用比特数时,减小音频信号中子带的心理声学谱包络系数。
可选地,第二调整方式指示在完成音频信号中第三子带的心理声学谱包络系数的调整后,对音频信号中第四子带的心理声学谱包络系数进行调整,第三子带的频率高于第四子带的频率。
可选地,第二处理模块1302用于:基于子带的心理声学谱包络系数,获取子带中每个频谱值消耗的平均比特数;基于子带的平均比特数和子带包括的频谱值的总数,获取子带中频谱值耗费的第四比特总数;基于子带耗费的第四比特总数,获得第三比特总数。
本申请实施例还提供了另一种量化装置,量化装置应用于编码端。如图15所示,量化装置包括:第一处理模块1401、第二处理模块1402、第三处理模块1403和提供模块1404。
第一处理模块1401,用于当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,其他频谱值为音频信号的频谱值中除目标频谱值外的频谱值;
第二处理模块1402,用于基于残余频谱值,得到残余频谱值的量化值;
第三处理模块1403,用于基于残余频谱值,得到残余频谱值的量化指示信息,量化指示信息用于指示对残余频谱值进行反量化的方式;
提供模块1404,用于向解码端提供量化指示信息。
可选地,重要程度通过频谱值所属频点所在的子带的标度因子反映。
可选地,第一处理模块1401用于:在音频信号的所有子带中,确定具有最大标度因子的基准子带;基于每个子带到基准子带的距离,确定子带的其他频谱值成为残余频谱值的权重;按照权重由高到低的顺序,依次确定对应子带的其他频谱值是否为残余频谱值,直至编码帧中目标频谱值和残余频谱值耗费的第五比特总数与每帧信号的可用比特数的差值在第二阈值范围内;其中,当将子带的其他频谱值作为残余频谱值时,若编码帧中目标频谱值和所有已确定为残余频谱值耗费的第五比特总数大于每帧信号的可用比特数,则子带的其他频谱值及小于或等于子带的权重的其他子带中的其他频谱值均不能成为残余频谱值。
可选地,任一子带的权重与任一子带到基准子带的距离反相关。
可选地,子带的权重还基于子带被心理声学谱掩蔽的情况得到,被心理声学谱掩蔽的子带的权重大于未被心理声学谱掩蔽的子带的权重。
可选地,第三处理模块1403用于:对残余频谱值执行取舍处理;基于经过取舍处理的残余频谱值,确定对残余频谱值进行量化的量化方式,得到量化指示信息。
可选地,目标频谱值基于第一方面中任一设计的量化方法确定。
本申请实施例还提供了一种反量化装置,反量化装置应用于解码端,如图16所示,反量化装置包括:接收模块1501、获取模块1502、确定模块1503和处理模块1504。
接收模块1501,用于接收编码端提供的经编码码流;
获取模块1502,用于基于经编码码流,获取音频信号的频谱值表示的信息的重要程度;
确定模块1503,用于基于重要程度,确定经编码码流中残余频谱值的码值和量化指示信息,量化指示信息用于指示编码端对残余频谱值进行反量化的方式;
处理模块1504,用于基于残余频谱值的量化指示信息,对残余频谱值的码值执行反量化操作,得到反量化后的码值。
可选地,重要程度通过频谱值所属频点所在的子带的标度因子反映,其中,子带的标度因子基于对经编码码流解码得到。
可选地,确定模块1503用于:在音频信号的所有子带中,确定具有最大标度因子的基准子带;基于每个子带到基准子带的距离,在经编码码流中确定每个子带的残余频谱值的码值和量化指示信息。
可选地,当第一子带到基准子带的距离小于第二子带到基准子带的距离时,第一子带的残余频谱值的码值在第二子带的残余频谱值的码值之前,第一子带的残余频谱值的量化指示信息在第二子带的残余频谱值的量化指示信息之前。
可选地,每个子带的残余频谱值的码值和量化指示信息在经编码码流中的位置还基于子带被心理声学谱掩蔽的情况得到,被心理声学谱掩蔽的子带的残余频谱值的码值在未被心理声学谱掩蔽的子带的残余频谱值的码值之前,被心理声学谱掩蔽的子带的残余频谱值的量化指示信息在未被心理声学谱掩蔽的子带的残余频谱值的量化指示信息之前,子带被心理声学谱掩蔽的情况基于经编码码流得到。
可选地,处理模块1504用于:基于残余频谱值的量化指示信息,确定对残余频谱值执行反量化操作的偏移值;基于残余频谱值的码值和偏移值执行反量化操作,得到反量化后的码值。
综上所述,在本申请实施例提供的量化装置和反量化装置中,当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,基于残余频谱值,得到残余频谱值的量化值,能够有效利用剩余比特,有助于根据目标码率将每帧的码率保持在恒定状态,能够提高传输过程中的码率稳定性,进而提高发送音频信号的编码码流的抗干扰性。
本申请实施例提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器存储有程序指令,处理器运行程序指令以执行本申请实施例提供的方法。例如,执行以下过程:基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数;基于子带的心理声学谱包络系数确定子带中需要被量化的目标频谱值,其中,编码帧中目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,可用比特数基于编码端向解码端传输音频信号能够使用的目标码率确定;基于目标频谱值,得到目标频谱值的量化值。并且,计算机设备通过执行存储器中的程序指令,执行本申请实施例提供的方法的步骤的实现过程可以相应参考上述方法实施例中对应的描述。可选地,图4为本申请实施例提供一种计算机设备的结构示意图。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性计算机可读存储介质,该计算机可读存储介质包括程序指令,当程序指令在计算机设备上运行时,使得计算机设备执行如本申请实施例提供的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的方法。
应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请实施例中涉及到的音频信号都是在充分授权的情况下获取的。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (32)
1.一种量化方法,其特征在于,所述方法应用于编码端,所述方法包括:
基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数;
基于所述子带的心理声学谱包络系数确定所述子带中需要被量化的目标频谱值,其中,编码帧中所述目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,所述可用比特数基于所述编码端向解码端传输所述音频信号能够使用的目标码率确定;
基于所述目标频谱值,得到所述目标频谱值的量化值。
2.如权利要求1所述的方法,其特征在于,所述基于所述子带的心理声学谱包络系数确定所述子带中需要被量化的目标频谱值,包括:
基于所述子带的心理声学谱包络系数,确定对所述音频信号的频谱进行掩蔽的心理声学谱;
在所述音频信号的频谱值中,获取所述子带中未被所述心理声学谱掩蔽的待定频谱值;
基于所述待定频谱值,确定所述子带中需要被量化的目标频谱值。
3.如权利要求2所述的方法,其特征在于,所述基于所述待定频谱值,确定所述子带中需要被量化的目标频谱值,包括:
获取所述编码帧中所述待定频谱值耗费的第二比特总数;
当所述第二比特总数小于或等于每帧信号的可用比特数时,将所述待定频谱值确定为所述目标频谱值;
当所述第二比特总数大于每帧信号的可用比特数时,对所述子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中所述待定频谱值耗费的第二比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中所述待定频谱值耗费的第二比特总数小于或等于每帧信号的可用比特数,将所述待定频谱值确定为所述目标频谱值;
其中,所述对所述子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中所述待定频谱值耗费的第二比特总数,包括:
按照第一调整方式调整所述音频信号中子带的心理声学谱包络系数;
基于调整后的心理声学谱包络系数更新所述待定频谱值;
基于更新后的待定频谱值,获取所述编码帧中更新后的待定频谱值耗费的第二比特总数。
4.如权利要求3所述的方法,其特征在于,所述第一调整方式基于所述目标位深得到。
5.如权利要求3所述的方法,其特征在于,所述第一调整方式指示当所述第二比特总数大于每帧信号的可用比特数时,增大所述音频信号中子带的心理声学谱包络系数。
6.如权利要求3所述的方法,其特征在于,所述第一调整方式指示在完成所述音频信号中第一子带的心理声学谱包络系数的调整后,对所述音频信号中第二子带的心理声学谱包络系数进行调整,所述第一子带的频率高于所述第二子带的频率。
7.如权利要求3至6任一所述的方法,其特征在于,所述获取所述编码帧中所述待定频谱值耗费的第二比特总数,包括:
基于所述子带的心理声学谱包络系数,对所述待定频谱值进行量化,得到所述待定频谱值的量化值;
获取所述编码端编码每帧信号的每个量化值耗费的比特数,得到所述第二比特总数。
8.如权利要求3所述的方法,其特征在于,在所述获取所述编码帧中所述待定频谱值耗费的第二比特总数之前,所述基于所述待定频谱值,确定所述子带中需要被量化的目标频谱值,还包括:
基于所述子带的心理声学谱包络系数,预估所述编码帧中所述待定频谱值耗费的第三比特总数;
当所述第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,确定执行获取所述编码帧中所述待定频谱值耗费的第二比特总数的过程;
当所述第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对所述子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中所述待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中所述待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,确定执行获取所述编码帧中所述待定频谱值耗费的第二比特总数的过程;
其中,所述对所述子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中所述待定频谱值耗费的第三比特总数,包括:
按照第二调整方式调整所述音频信号中子带的心理声学谱包络系数;
基于调整后的心理声学谱包络系数更新所述待定频谱值;
基于更新后的待定频谱值,获取所述编码帧中更新后的待定频谱值耗费的第三比特总数。
9.如权利要求2所述的方法,其特征在于,所述基于所述待定频谱值,确定所述子带中需要被量化的目标频谱值,包括:
基于所述子带的心理声学谱包络系数,预估所述编码帧中所述待定频谱值耗费的第三比特总数;
当所述第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内时,将所述待定频谱值确定为所述目标频谱值;
当所述第三比特总数与每帧信号的可用比特数的差值在第一阈值范围外时,对所述子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中所述待定频谱值耗费的第三比特总数,直至基于调整后的心理声学谱包络系数确定的编码帧中所述待定频谱值耗费的第三比特总数与每帧信号的可用比特数的差值在第一阈值范围内,将所述待定频谱值确定为所述目标频谱值;
其中,所述对所述子带的心理声学谱包络系数进行调整,并基于调整后的心理声学谱包络系数,确定编码帧中所述待定频谱值耗费的第三比特总数,包括:
按照第二调整方式调整所述音频信号中子带的心理声学谱包络系数;
基于调整后的心理声学谱包络系数更新所述待定频谱值;
基于更新后的待定频谱值,获取所述编码帧中更新后的待定频谱值耗费的第三比特总数。
10.如权利要求8或9所述的方法,其特征在于,所述第二调整方式基于所述目标位深得到。
11.如权利要求8或9所述的方法,其特征在于,所述第二调整方式指示当所述第三比特总数大于每帧信号的可用比特数时,增大所述音频信号中子带的心理声学谱包络系数,当所述第三比特总数小于每帧信号的可用比特数时,减小所述音频信号中子带的心理声学谱包络系数。
12.如权利要求8或9所述的方法,其特征在于,所述第二调整方式指示在完成所述音频信号中第三子带的心理声学谱包络系数的调整后,对所述音频信号中第四子带的心理声学谱包络系数进行调整,所述第三子带的频率高于所述第四子带的频率。
13.如权利要求8至12任一所述的方法,其特征在于,所述基于所述子带的心理声学谱包络系数,预估所述编码帧中所述待定频谱值耗费的第三比特总数,包括:
基于所述子带的心理声学谱包络系数,获取所述子带中每个频谱值消耗的平均比特数;
基于所述子带的平均比特数和所述子带包括的频谱值的总数,获取所述子带中频谱值耗费的第四比特总数;
基于所述子带耗费的所述第四比特总数,获得所述第三比特总数。
14.一种量化方法,其特征在于,所述方法应用于编码端,所述方法包括:
当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,所述其他频谱值为所述音频信号的频谱值中除所述目标频谱值外的频谱值;
基于所述残余频谱值,得到所述残余频谱值的量化值;
基于所述残余频谱值,得到所述残余频谱值的量化指示信息,所述量化指示信息用于指示对所述残余频谱值进行反量化的方式;
向解码端提供所述量化指示信息。
15.如权利要求14所述的方法,其特征在于,所述重要程度通过所述频谱值所属频点所在的子带的标度因子反映。
16.如权利要求14或15所述的方法,其特征在于,所述基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,包括:
在所述音频信号的所有子带中,确定具有最大标度因子的基准子带;
基于每个子带到所述基准子带的距离,确定所述子带的其他频谱值成为所述残余频谱值的权重;
按照所述权重由高到低的顺序,依次确定对应子带的所述其他频谱值是否为残余频谱值,直至所述编码帧中所述目标频谱值和所述残余频谱值耗费的第五比特总数与每帧信号的可用比特数的差值在第二阈值范围内;
其中,当将所述子带的其他频谱值作为残余频谱值时,若所述编码帧中所述目标频谱值和所有已确定为残余频谱值耗费的第五比特总数大于每帧信号的可用比特数,则所述子带的其他频谱值及小于或等于所述子带的权重的其他子带中的其他频谱值均不能成为残余频谱值。
17.如权利要求16所述的方法,其特征在于,任一子带的权重与所述任一子带到所述基准子带的距离反相关。
18.如权利要求16或17所述的方法,其特征在于,被心理声学谱掩蔽的子带的权重大于未被所述心理声学谱掩蔽的子带的权重。
19.如权利要求14至18任一所述的方法,其特征在于,所述基于所述残余频谱值,得到所述残余频谱值的量化指示信息,包括:
对所述残余频谱值执行取舍处理;
基于经过取舍处理的残余频谱值,确定对所述残余频谱值进行量化的量化方式,得到所述量化指示信息。
20.如权利要求19所述的方法,其特征在于,所述目标频谱值基于权利要求1至13任一所述的方法确定。
21.一种反量化方法,其特征在于,所述方法应用于解码端,所述方法包括:
接收编码端提供的经编码码流;
基于所述经编码码流,获取音频信号的频谱值表示的信息的重要程度;
基于所述重要程度,确定所述经编码码流中残余频谱值的码值和量化指示信息,所述量化指示信息用于指示编码端对所述残余频谱值进行反量化的方式;
基于所述残余频谱值的量化指示信息,对所述残余频谱值的码值执行反量化操作,得到所述反量化后的码值。
22.如权利要求21所述的方法,其特征在于,所述重要程度通过所述频谱值所属频点所在的子带的标度因子反映,其中,子带的标度因子基于对所述经编码码流解码得到。
23.如权利要求21或22所述的方法,其特征在于,所述基于所述重要程度,确定所述经编码码流中残余频谱值的码值和量化指示信息,包括:
在所述音频信号的所有子带中,确定具有最大标度因子的基准子带;
基于每个子带到所述基准子带的距离,在所述经编码码流中确定每个子带的残余频谱值的码值和量化指示信息。
24.如权利要求23所述的方法,其特征在于,当第一子带到所述基准子带的距离小于第二子带到所述基准子带的距离时,所述第一子带的残余频谱值的码值在所述第二子带的残余频谱值的码值之前,所述第一子带的残余频谱值的量化指示信息在所述第二子带的残余频谱值的量化指示信息之前。
25.如权利要求23或24所述的方法,其特征在于,每个子带的残余频谱值的码值和量化指示信息在所述经编码码流中的位置还基于所述子带被心理声学谱掩蔽的情况得到,被所述心理声学谱掩蔽的子带的残余频谱值的码值在未被所述心理声学谱掩蔽的子带的残余频谱值的码值之前,被所述心理声学谱掩蔽的子带的残余频谱值的量化指示信息在未被所述心理声学谱掩蔽的子带的残余频谱值的量化指示信息之前,所述子带被心理声学谱掩蔽的情况基于所述经编码码流得到。
26.如权利要求21至25任一所述的方法,其特征在于,所述基于所述残余频谱值的量化指示信息,对所述残余频谱值的码值执行反量化操作,得到所述反量化后的码值,包括:
基于所述残余频谱值的量化指示信息,确定对所述残余频谱值执行反量化操作的偏移值;
基于所述残余频谱值的码值和所述偏移值执行反量化操作,得到所述反量化后的码值。
27.一种量化装置,其特征在于,所述量化装置应用于编码端,所述量化装置包括:
第一处理模块,用于基于对音频信号进行编码使用的目标位深和每个子带的标度因子,得到每个子带的心理声学谱包络系数;
第二处理模块,用于基于所述子带的心理声学谱包络系数确定所述子带中需要被量化的目标频谱值,其中,编码帧中所述目标频谱值耗费的第一比特总数小于或等于每帧信号的可用比特数,所述可用比特数基于所述编码端向解码端传输所述音频信号能够使用的目标码率确定;
第三处理模块,用于基于所述目标频谱值,得到所述目标频谱值的量化值。
28.一种量化装置,其特征在于,所述量化装置应用于编码端,所述量化装置包括:
第一处理模块,用于当编码帧中目标频谱值耗费的第一比特总数小于每帧信号的可用比特数时,基于音频信号的频谱值表示的信息的重要程度,在其他频谱值中确定需要被量化的残余频谱值,所述其他频谱值为所述音频信号的频谱值中除所述目标频谱值外的频谱值;
第二处理模块,用于基于所述残余频谱值,得到所述残余频谱值的量化值;
第三处理模块,用于基于所述残余频谱值,得到所述残余频谱值的量化指示信息,所述量化指示信息用于指示对所述残余频谱值进行反量化的方式;
提供模块,用于向解码端提供所述量化指示信息。
29.一种反量化装置,其特征在于,所述反量化装置应用于解码端,所述反量化装置包括:
接收模块,用于接收编码端提供的经编码码流;
获取模块,用于基于所述经编码码流,获取音频信号的频谱值表示的信息的重要程度;
确定模块,用于基于所述重要程度,确定所述经编码码流中残余频谱值的码值和量化指示信息,所述量化指示信息用于指示编码端对所述残余频谱值进行反量化的方式;
处理模块,用于基于所述残余频谱值的量化指示信息,对所述残余频谱值的码值执行反量化操作,得到所述反量化后的码值。
30.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有程序指令,所述处理器运行所述程序指令以执行权利要求1至26任一所述的方法。
31.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至26任一所述的方法的步骤。
32.一种计算机程序产品,其特征在于,所述计算机程序产品内存储有计算机指令,所述计算机指令被处理器执行时实现权利要求1至26任一所述的方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/092043 WO2024021729A1 (zh) | 2022-07-27 | 2023-05-04 | 量化方法、反量化方法及其装置 |
EP23844944.1A EP4481732A1 (en) | 2022-07-27 | 2023-05-04 | Quantization method and dequantization method, and apparatuses therefor |
TW112127641A TW202411983A (zh) | 2022-07-27 | 2023-07-24 | 量化方法、反量化方法及其裝置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210892838 | 2022-07-27 | ||
CN2022108928380 | 2022-07-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117476021A true CN117476021A (zh) | 2024-01-30 |
Family
ID=89636676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211139939.7A Pending CN117476021A (zh) | 2022-07-27 | 2022-09-19 | 量化方法、反量化方法及其装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4481732A1 (zh) |
CN (1) | CN117476021A (zh) |
TW (1) | TW202411983A (zh) |
WO (1) | WO2024021729A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100547113B1 (ko) * | 2003-02-15 | 2006-01-26 | 삼성전자주식회사 | 오디오 데이터 인코딩 장치 및 방법 |
CN1461112A (zh) * | 2003-07-04 | 2003-12-10 | 北京阜国数字技术有限公司 | 一种基于极小化全局噪声掩蔽比准则和熵编码的量化的音频编码方法 |
CN1677492A (zh) * | 2004-04-01 | 2005-10-05 | 北京宫羽数字技术有限责任公司 | 一种增强音频编解码装置及方法 |
TWI271703B (en) * | 2005-07-22 | 2007-01-21 | Pixart Imaging Inc | Audio encoder and method thereof |
KR101428487B1 (ko) * | 2008-07-11 | 2014-08-08 | 삼성전자주식회사 | 멀티 채널 부호화 및 복호화 방법 및 장치 |
CN101494054B (zh) * | 2009-02-09 | 2012-02-15 | 华为终端有限公司 | 一种音频码率控制方法及系统 |
CN101853663B (zh) * | 2009-03-30 | 2012-05-23 | 华为技术有限公司 | 比特分配方法、编码装置及解码装置 |
CN110867190B (zh) * | 2013-09-16 | 2023-10-13 | 三星电子株式会社 | 信号编码方法和装置以及信号解码方法和装置 |
-
2022
- 2022-09-19 CN CN202211139939.7A patent/CN117476021A/zh active Pending
-
2023
- 2023-05-04 EP EP23844944.1A patent/EP4481732A1/en active Pending
- 2023-05-04 WO PCT/CN2023/092043 patent/WO2024021729A1/zh active Application Filing
- 2023-07-24 TW TW112127641A patent/TW202411983A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
TW202411983A (zh) | 2024-03-16 |
WO2024021729A1 (zh) | 2024-02-01 |
EP4481732A1 (en) | 2024-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102738899B1 (ko) | 공간적 오디오 파라미터 인코딩 및 연관된 디코딩의 결정 | |
WO2021052293A1 (zh) | 音频编码方法和装置 | |
CN111179946B (zh) | 无损编码方法和无损解码方法 | |
US20110184734A1 (en) | Method and apparatus for voice activity detection, and encoder | |
US9865269B2 (en) | Stereo audio signal encoder | |
US20090099851A1 (en) | Adaptive bit pool allocation in sub-band coding | |
US9799339B2 (en) | Stereo audio signal encoder | |
CN112334980B (zh) | 自适应舒适噪声参数确定 | |
US10770081B2 (en) | Stereo audio signal encoder | |
CN114495951A (zh) | 音频编解码方法和装置 | |
WO2008086700A1 (fr) | Procédé commandé par la source et système pour coder la fréquence d'un signal audio | |
CN109215668B (zh) | 一种声道间相位差参数的编码方法及装置 | |
WO2024021730A1 (zh) | 音频信号的处理方法及其装置 | |
EP4539044A1 (en) | Audio signal processing method and apparatus, storage medium, and computer program product | |
CN117476021A (zh) | 量化方法、反量化方法及其装置 | |
CN112151046A (zh) | Lc3编码器自适应调节多声道传输码率的方法、装置及介质 | |
EP4539045A1 (en) | Audio encoding and decoding method and apparatus, storage medium, and computer program product | |
WO2024179055A1 (zh) | 音频编解码方法及相关装置 | |
WO2024179056A1 (zh) | 音频信号的处理方法及相关装置 | |
CN112951252A (zh) | 一种lc3音频码流的混音方法、装置、介质及设备 | |
WO2024179054A1 (zh) | 音频编解码方法及相关装置 | |
EP4462426A1 (en) | Multi-channel signal encoding and decoding methods, encoding and decoding devices, and terminal device | |
WO2024146408A1 (zh) | 场景音频解码方法及电子设备 | |
CN117476017A (zh) | 音频编解码方法、装置、存储介质及计算机程序产品 | |
KR20240165992A (ko) | 파라미터 공간 오디오 인코딩 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |