CN118053437A - 音频编码方法、解码方法、装置、设备及存储介质 - Google Patents
音频编码方法、解码方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118053437A CN118053437A CN202211459916.4A CN202211459916A CN118053437A CN 118053437 A CN118053437 A CN 118053437A CN 202211459916 A CN202211459916 A CN 202211459916A CN 118053437 A CN118053437 A CN 118053437A
- Authority
- CN
- China
- Prior art keywords
- sub
- residual
- bits
- energy
- band
- 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 67
- 238000013139 quantization Methods 0.000 claims description 21
- 238000001228 spectrum Methods 0.000 claims description 21
- 230000003595 spectral effect Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 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
-
- 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/04—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 predictive techniques
- G10L19/26—Pre-filtering or post-filtering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (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)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本公开实施例提供了一种音频编码方法、解码方法、装置、设备及存储介质。基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量;对各个子频带的第一子残差能量进行编码,得到编码后的第一码流;获取剩余编码比特;将所述剩余编码比特分配至多个子频带,获得所述多个子频带分别对应的子剩余编码比特;基于所述子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流。本公开实施例提供的音频编码方法,对音频帧的高频带各子频带的残差能量进行编码,无需对高频带中各个子频带的形状进行编码,从而降低码流消耗的比特数,提高音频编码的效率。
Description
技术领域
本公开实施例涉及音频编解码技术领域,尤其涉及一种音频编码方法、解码方法、装置、设备及存储介质。
背景技术
音频数据在传输过程中往往存在丢包现象,通常采用前向纠错(Forward errorcorrection,FEC)技术来克服丢包。在采用FEC技术编码时不仅会编码帧(即主帧)的信息,同时也会编码历史帧(即冗余帧)的信息。然而现有技术中,只对低频部分采用FEC技术进行编码,对高频部分未采用FEC技术,使得高频部分的音频存在杂音,听感较差。
发明内容
本公开实施例提供一种音频编码方法、解码方法、装置、设备及存储介质,对高频带中的高频带残差能量进行编码,可以减少编码后音频在整个频带中的杂音,提高音频编码质量,从而提高音频数据在整个频带的听感。
第一方面,本公开实施例提供了一种音频编码方法,包括:
基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量;其中,所述子频带残差能量为子频带的实际能量与预测能量之差;所述第一子残差能量为所述残差能量中能够被所述设定能量分辨率整除的部分,所述第二子残差能量为所述残差能量中被所述设定能量分辨率整除后的余数部分;
对各个子频带的第一子残差能量进行编码,得到编码后的第一码流;
获取剩余编码比特;其中,所述剩余编码比特为设定编码比特减去对各个子频带的第一子残差能量进行编码所使用的编码比特;
将所述剩余编码比特分配至多个子频带,获得所述多个子频带分别对应的子剩余编码比特;
基于所述子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流;所述音频帧的编码码流包括所述第一码流以及所述第二码流。
第二方面,本公开实施例还提供了一种音频解码方法,包括:
确定音频帧的高频带中各子频带的第一子残差能量;
基于所述第一子残差能量确定已使用解码比特;
根据所述已使用解码比特和设定解码比特获得剩余解码比特;
确定所述剩余解码比特在各子频带中分配的子剩余解码比特;
根据所述子剩余解码比特,对音频码流进行解码,获得第二子残差能量,所述音频码流为所述音频帧的编码码流;
基于所述第一子残差能量和所述第二子残差能量确定所述音频帧。
第三方面,本公开实施例还提供了一种音频编码装置,包括:
残差能量划分模块,用于基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量;其中,所述子频带残差能量为子频带的实际能量与预测能量之差;所述第一子残差能量为所述残差能量中能够被所述设定能量分辨率整除的部分,所述第二子残差能量为所述残差能量中被所述设定能量分辨率整除后的余数部分;
第一编码模块,用于对各个子频带的第一子残差能量进行编码,得到编码后的第一码流;
剩余编码比特获取模块,用于获取剩余编码比特;其中,所述剩余编码比特为设定编码比特减去对各个子频带的第一子残差能量进行编码所使用的编码比特;
剩余编码比特分配模块,用于将所述剩余编码比特分配至多个子频带,获得所述多个子频带分别对应的子剩余编码比特;
第二编码模块,用于基于所述子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流;所述音频帧的编码码流包括所述第一码流以及所述第二码流。
第四方面,本公开实施例还提供了一种音频解码装置,包括:
第一子残差能量确定模块,用于确定音频帧的高频带中各子频带的第一子残差能量;
已使用解码比特确定模块,用于基于所述第一子残差能量确定已使用解码比特;
剩余解码比特确定模块,根据所述已使用解码比特和设定解码比特获得剩余解码比特;
子剩余解码比特确定模块,用于确定所述剩余解码比特在各子频带中分配的子剩余解码比特;
第二子残差能量获取模块,用于根据所述子剩余解码比特,对音频码流进行解码,获得第二子残差能量,所述音频码流为所述音频帧的编码码流;
音频帧确定模块,用于基于所述第一子残差能量和所述第二子残差能量确定所述音频帧。
第五方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例所述的音频编码方法或者本公开实施例所述的音频解码方法。
第六方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例所述的音频编码方法或者本公开实施例所述的音频解码方法。
本公开实施例公开了一种音频编码方法、解码方法、装置、设备及存储介质,基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量;其中,子频带残差能量为子频带的实际能量与预测能量之差;第一子残差能量为残差能量中能够被设定能量分辨率整除的部分,第二子残差能量为残差能量中被设定能量分辨率整除后的余数部分;对各个子频带的第一子残差能量进行编码,得到编码后的第一码流;获取剩余编码比特;其中,剩余编码比特为设定编码比特减去对各个子频带的第一子残差能量进行编码所使用的编码比特;将剩余编码比特分配至多个子频带,获得多个子频带分别对应的子剩余编码比特;基于子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流;音频帧的编码码流包括第一码流以及第二码流。本公开实施例提供的音频编码方法,将剩余编码比特分配至多个子频带,基于分配后的子剩余编码比特对第二子残差能量进行编码,可以减少编码后音频在整个频带中的杂音,提高音频编码质量,从而提高音频数据在整个频带的听感。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是本公开实施例所提供的一种音频编码方法的流程示意图;
图2a是本公开实施例所提供的高频带的示例图;
图2b是本公开实施例所提供的将残差能量划分为第一自残差能量和第二自残差能量的示例图;
图3是本公开实施例所提供的一种音频解码方法的流程示意图;
图4是本公开实施例所提供的一种音频编码装置的结构示意图;
图5是本公开实施例所提供的一种音频解码装置的结构示意图;
图6是本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
图1为本公开实施例所提供的一种音频编码流程示意图,本公开实施例适用于对音频数据进行编码的情形,该方法可以由音频编码装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、PC端或服务器等。
如图1所示,所述方法包括:
S110,基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量。
其中,子频带残差能量为子频带的实际能量与预测能量之差;第一子残差能量为残差能量中能够被设定能量分辨率整除的部分,第二子残差能量为残差能量中被设定能量分辨率整除后的余数部分。
高频带为处于设定频率范围内的频带,且包括多个子频带。示例性的,图2a是本实施例中高频带的示例图,如图2a所示,高频带为8-20kHz的频带。本实施例中,可以对8-20kHz内的音频进行编码,也可以对8-12kHz的音频进行编码。
其中,设定能量分辨率可以是预先设置的,例如可以是6dB、3dB或者9dB等,此处不做限定。
本实施例中,基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量的方式可以是:将子频带的实际能量转换到对数域,获得子频带的实际对数能量;将实际对数能量与预测对数能量做差,获得对数残差能量;基于设定能量分辨率将对数残差能量划分为第一子残差能量和第二子残差能量。
本实施例中,每个子频带的实际能量的获取过程可以是:对音频信号依次作如下处理:预加重处理、预滤波处理、瞬态稳态信号检测、加窗处理、改进离散余弦变换(Modified Discrete Cosine Transform,MDCT)处理及频带能量计算。上述各个处理阶段的过程可以参照现有的音频信号处理方式,此处不做限定。且上述音频信号处理过程会消耗一定量的编码比特。
其中,若高频带为8-12kHz的频带,则包括8-9.6kHz及9.6-12kHz两个子频带;若高频带为8-20kHz的频带,则包括8-9.6kHz、9.6-12kHz、12-15.6kHz及15.6-20kHz四个子频带。各子频带的对数残差能量的获取方式可以是音频帧各子频带的实际对数能量与预测对数能量之间的差值。每个子频带的预测对数能量可以是对上一音频帧中该子频带的实际对数能量及上一子频带的实际对数能量进行线性叠加获得。
本实施例中,将子频带的实际能量转换到对数域的方式可以是:将子频带的实际能量进行以10为底的对数转换。示例性的,假设子频带实际能量为m,则子频带的实际对数能量可表示为:log10(m)。预测对数能量可以由上一音频帧在该子频带的实际对数能量和音频帧中上一个子频带的实际对数能量确定。示例性的,假设上一音频帧在该子频带的实际对数能量为Q1,音频帧中上一个子频带的实际对数能量为Q2,则预测对数能量可以表示为:c*Q1+Q2,其中,c为帧间预测系数,可以预先设置。假设音频帧中该子频带的实际对数能量为Q0,则对数残差能量可以表示为:Q0-(c*Q1+Q2)。
本实施例中,基于设定能量分辨率将对数残差能量划分为第一子残差能量和第二子残差能量的过程可以是:首先将对数残差能量与设定能量分辨率作商,然后对作商结果进行四舍五入取整运算,获得第一子残差能量对应的量化信息;然后将对数残差能量减去第一子残差能量对应的量化信息和设定能量分辨率的乘积,获得第二子残差能量。其中,对作商结果进行四舍五入取整运算的过程可以是:将作商结果与0.5进行累加,获得累加结果,最后取累加结果的整数部分。假设F为对数残差能量,Q为设定能量分辨率,则第一子残差能量对应的量化信息的计算过程可以是:q1=取整(F/Q+0.5),第二子残差能量的计算过程可以是:F2=F-F1*Q。示例性的,图2b是本实施例中,将残差能量划分为第一自残差能量和第二自残差能量的示例图,如图2b所示,将残差能量划分为第一自残差能量和第二自残差能量。
S120,对各个子频带的第一子残差能量进行编码,得到编码后的第一码流。
对第一子残差能量进行编码可以理解为:对第一子残差能量进行主帧编码或者对第一子残差能量进行冗余帧编码。本实施例中,在对第一子残差能量进行主帧编码或者冗余帧编码时,会耗费一定量的编码比特,对第一子残差能量编码耗费的编码比特与音频信号处理消耗的编码比特之和可以理解为已使用编码比特,即已使用编码比特=对音频信号处理消耗的编码比特+对第一子残差能量编码消耗的编码比特。本实施例中,对第一子残差能量进行编码的方式可以是采用现有的编码器进行编码,此处不做限定。
本实施例中,对多个子频带的第一子残差能量分别进行编码,获得多个子频带分别对应的已使用编码比特,最后将多个子频带分别对应的已使用编码比特进行累加,从而获得音频帧对应的已使用编码比特。
S130,获取剩余编码比特。
其中,剩余编码比特为设定编码比特减去对各个子频带的第一子残差能量进行编码所使用的编码比特。
本实施例中,获取剩余编码比特的方式可以是:将设定编码比特与已使用编码比特相减,获得剩余编码比特。
其中,设定编码比特可以理解为预先设定的音频帧所对应的编码比特,即对音频帧编码后所耗费的编码比特,可以是预先设定的。本实施例中,剩余编码比特的计算公式可以表示为:剩余编码比特=设定编码比特-已使用编码比特。
S140,将剩余编码比特分配至多个子频带,获得多个子频带分别对应的子剩余编码比特。
本实施例中,可以按照一定的分配比例剩余编码比特分配至多个子频带。
具体的,将剩余编码比特分配至多个子频带的方式可以是:确定多个子频带的分配比例;根据分配比例将剩余编码比特按照整数倍比特分配至多个子频带。
其中,分配比例可以是预先设定的分配比例。本实施例中,假设高频带为8-20kHz的频带,则包括Bit[0]:8-9.6kHz、Bit[1]:9.6-12kHz、Bit[2]:12-15.6kHz及Bit[3]:15.6-20kHz四个子频带,四个子频带的分配比例可以是m:n:p:q,示例性的,四个子频带的分配比例可以设置为Bit[0]:Bit[1]:Bit[2]:Bit[3]=2:1:1:1。假设高频带为8-12kHz的频带,则包括Bit[0]:8-9.6kHz及Bit[1]:9.6-12kHz两个子频带,两个子频带的分配比例可以是m:n,示例性的,两个子频带的分配比例可以设置为Bit[0]:Bit[1]=2:1。
可选的,根据分配比例将剩余编码比特分配至多个子频带之后,还包括:若剩余未分配的编码比特;则按照分配比例将未分配的编码比特按照整数倍比特分配至多个子频带中的低频带。
具体的,假设四个子频带的分配比例可以设置为Bit[0]:Bit[1]:Bit[2]:Bit[3]=m:n:p:q,则将剩余编码比特中能被(m+n+p+q)整除的部分按m:n:p:q进行分配,然后将剩余未分配的编码比特按照m:n:p:q优先分配至四个子频带中的低带中。示例性的,假设剩余编码比特为8,且四个子频带的分配比例为Bit[0]:Bit[1]:Bit[2]:Bit[3]=2:1:1:1,则首先将其中5个编码比特按2:1:1:1分配,剩余未分配编码比特为3,则将2个编码比特分配至第一个子频带Bit[0]中,将1个编码比特分配至第二个子频带Bit[1]中,最终的分配结果为:Bit[0]=4,Bit[1]=2,Bit[2]=1,Bit[3]=1。假设剩余编码比特为2,则全部分配给第一个子频带Bit[0]内,最终的分配结果为:Bit[0]=2,Bit[1]=0,Bit[2]=0,Bit[3]=0。
具体的,假设两个子频带的分配比例可以设置为Bit[0]:Bit[1]=m:n,则将剩余编码比特中能被(m+n)整除的部分按m:n进行分配,然后将剩余未分配的编码比特按照m:n优先分配至两个子频带中的低带中。示例性的,假设剩余编码比特为8,且四个子频带的分配比例为Bit[0]:Bit[1]=2:1,则首先将其中6个编码比特按2:1分配,剩余未分配编码比特为2,则将2个编码比特分配至第一个子频带Bit[0]中,最终的分配结果为:Bit[0]=6,Bit[1]=2。假设剩余编码比特为2,则全部分配给第一个子频带Bit[0]内,最终的分配结果为:Bit[0]=6,Bit[1]=2。假设剩余编码比特为2,则全部分配给第一个子频带Bit[0]内,最终的分配结果为:Bit[0]=2,Bit[1]=0。
S150,基于子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流。
其中,音频帧的编码码流包括第一码流以及第二码流。
具体的,基于子剩余编码比特对各个子频带的第二子残差能量进行编码的方式可以是:根据子剩余比特和设定能量分辨率确定对子剩余编码比特进行量化,获得子剩余编码比特的量化信息;将量化信息写入音频码流。
其中,量化信息可以是二进制码。具体的,根据子剩余比特和设定能量分辨率确定对子剩余编码比特进行量化的方式可以是:将0.5与设定能量分辨率相乘,获得乘法结果,然后将第二子残差能量与乘法结果相加,获得求和结果;再然后然后计算2的子剩余比特次幂,获得指数运算结果;然后将求和结果与指数运算结果相乘后与设定能量分辨率作商,获得量化信息。示例性的,假设:第二子残差能量为F2,设定能量分辨率为Q,子剩余比特为b,则量化信息可以表示:q2=取整((F2+0.5*Q)*2^b/Q)。在获得各子频带的量化信息后,将该量化信息写入音频码流,从而获得完整的音频码流。
本公开实施例的技术方案,基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量;其中,子频带残差能量为子频带的实际能量与预测能量之差;第一子残差能量为残差能量中能够被设定能量分辨率整除的部分,第二子残差能量为残差能量中被设定能量分辨率整除后的余数部分;对各个子频带的第一子残差能量进行编码,得到编码后的第一码流;获取剩余编码比特;其中,剩余编码比特为设定编码比特减去对各个子频带的第一子残差能量进行编码所使用的编码比特;将剩余编码比特分配至多个子频带,获得多个子频带分别对应的子剩余编码比特;基于子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流;音频帧的编码码流包括第一码流以及第二码流。本公开实施例提供的音频编码方法,将剩余编码比特分配至所述多个子频带,基于分配后的子剩余编码比特对第二子残差能量进行编码,可以减少编码后音频在整个频带中的杂音,提高音频编码质量,从而提高音频数据在整个频带的听感。
图3是本公开实施例提供的一种音频解码方法的示意图,如图3所示,该解码方法包括如下步骤:
S310,确定音频帧的高频带中各子频带的第一子残差能量。
其中,其中,高频带为处于设定频率范围内的频带,且包括多个子频带。本实施例中,设定频率范围可以是8-12kHz,或者8-12kHz。若高频带为8-12kHz的频带,则包括8-9.6kHz及9.6-12kHz两个子频带;若高频带为8-20kHz的频带,则包括8-9.6kHz、9.6-12kHz、12-15.6kHz及15.6-20kHz四个子频带。
确定音频帧的第一子残差能量的方式可以是:采用与上述实施例的编码器对应的解码器对音频帧进行解码处理,获得第一子残差能量对应的量化信息,将该量化信息与设定能量分辨率相乘,获得第一子残差能量。示例性的,第一子残差能量的计算过程为:F1=q1*Q,其中,q1为第一子残差能量对应的量化信息,Q为设定能量分辨率。
S320,基于第一子残差能量确定已使用解码比特。
其中,解码比特为对音频帧进行编码时所使用的比特,在解码侧,为了便于理解,描述为解码比特。已使用解码比特可以理解为第一子残差能量对应的解码比特与音频解码过程中消耗的解码比特之和。
S330,根据已使用解码比特和设定解码比特获得剩余解码比特。
其中,设定解码比特可以理解为预先设定的音频帧所对应的解码比特。根据已使用解码比特和设定解码比特确定剩余解码比特的方式可以是:将设定解码比特与已使用解码比特相减,获得剩余解码比特。
S340,确定剩余解码比特在各子频带中分配的子剩余解码比特。
本实施例中,根据预设的分配比例确定剩余解码比特在各子频带中分配的子剩余解码比特。
确定剩余解码比特在各子频带中分配的子剩余解码比特的过程可以是:获取剩余解码比特在各子频带的分配比例;根据分配比例确定剩余解码比特在各子频带分配的子剩余解码比特。
其中,分配比例可以与编码时的分配比例相同。本实施例中,假设高频带为8-20kHz的频带,则包括Bit[0]:8-9.6kHz、Bit[1]:9.6-12kHz、Bit[2]:12-15.6kHz及Bit[3]:15.6-20kHz四个子频带,四个子频带的分配比例可以是m:n:p:q,示例性的,四个子频带的分配比例可以设置为Bit[0]:Bit[1]:Bit[2]:Bit[3]=2:1:1:1。假设高频带为8-12kHz的频带,则包括Bit[0]:8-9.6kHz及Bit[1]:9.6-12kHz两个子频带,两个子频带的分配比例可以是m:n,示例性的,两个子频带的分配比例可以设置为Bit[0]:Bit[1]=2:1。
可选的,还包括:若剩余未分配的解码比特;则按照分配比例将未分配的解码比特优先分配至多个子频带中的低频带。
具体的,假设四个子频带的分配比例可以设置为Bit[0]:Bit[1]:Bit[2]:Bit[3]=m:n:p:q,则将剩余解码比特中能被(m+n+p+q)整除的部分按m:n:p:q进行分配,然后将剩余未分配的解码比特按照m:n:p:q优先分配至四个子频带中的低带中。示例性的,假设剩余解码比特为8,且四个子频带的分配比例为Bit[0]:Bit[1]:Bit[2]:Bit[3]=2:1:1:1,则首先将其中5个解码比特按2:1:1:1分配,剩余未分配解码比特为3,则将2个解码比特分配至第一个子频带Bit[0]中,将1个解码比特分配至第二个子频带Bit[1]中,最终的分配结果为:Bit[0]=4,Bit[1]=2,Bit[2]=1,Bit[3]=1。假设剩余解码比特为2,则全部分配给第一个子频带Bit[0]内,最终的分配结果为:Bit[0]=2,Bit[1]=0,Bit[2]=0,Bit[3]=0。
具体的,假设两个子频带的分配比例可以设置为Bit[0]:Bit[1]=m:n,则将剩余解码比特中能被(m+n)整除的部分按m:n进行分配,然后将剩余未分配的解码比特按照m:n优先分配至两个子频带中的低带中。示例性的,假设剩余解码比特为8,且四个子频带的分配比例为Bit[0]:Bit[1]=2:1,则首先将其中6个解码比特按2:1分配,剩余未分配解码比特为2,则将2个解码比特分配至第一个子频带Bit[0]中,最终的分配结果为:Bit[0]=6,Bit[1]=2。假设剩余解码比特为2,则全部分配给第一个子频带Bit[0]内,最终的分配结果为:Bit[0]=6,Bit[1]=2。假设剩余解码比特为2,则全部分配给第一个子频带Bit[0]内,最终的分配结果为:Bit[0]=2,Bit[1]=0。
S350,根据子剩余解码比特,对音频码流进行解码,获得第二子残差能量。
其中,音频码流为音频帧的编码码流。
本实施例中,根据子剩余解码比特对音频码流解码的过程是上述实施例中基于子剩余编码比特对第二子残差能量进行编码的逆过程。其过程可以是:根据子剩余解码比特提取音频码流中各子频带的量化信息,然后对子剩余解码比特、量化信息及设定能量分辨率进行解码,获得第二子残差能量。具体的,对子剩余解码比、量化信息及设定能量分辨率进行解码的过程可以是:首先计算2的子剩余解码比特次幂,获得指数运算结果;然后将量化信息与0.5求和,将求和结果与设定能量分辨率相乘,获得乘法结果;然后将乘法结果与指数运算结果作商;最后将作商结果与0.5和设定能量分辨率的乘积结果作差,获得第二子残差能量。示例性的,假设:量化信息为q2,设定能量分辨率为Q,子剩余比特为b,则第二子残差能量可以表示:F2=取整((q2+0.5)*Q/2^b-0.5Q)。
S360,基于第一子残差能量和第二子残差能量确定音频帧。
具体的,基于第一子残差能量和第二子残差能量确定音频帧的方式可以是:根据第一子残差能量和第二子残差能量确定残差能量;确定各子频带的频谱形状;基于残差能量和频谱形状确定音频帧。
其中,其中,频谱形状为各子频带的频谱形状。
具体的,根据第一子残差能量和第二子残差能量确定音频帧的高频带残差能量的方式可以是:第一子残差能量和第二子残差能量进行累加,获得音频帧的高频带中各子频带残差能量。其中,子频带残差能量可以理解为高频带对数残差能量。示例性的,可以表示:F=F1+F2。
具体的,确定各子频带的频谱形状的方式可以是:随机生成所述各子频带的频谱形状;或者,根据历史音频帧的频谱形状确定所述音频帧各子频带的频谱形状。
其中,根据历史音频帧的频谱形状确定音频帧的频谱形状的方式可以是:将历史音频帧的频谱形状叠加随机生成的频谱形状,获得音频帧的频谱形状。
具体的,基于高频带残差能量和频谱形状确定音频帧的音频信号的方式可以是:获取音频帧的预测对数能量;将预测对数能量和对数残差能量进行累加,获得实际对数能量;基于实际对数能量和频谱形状确定音频帧的音频信号。
其中,预测对数能量可以是高频带内各子频带分别对应的预测对数能量,对数残差能量可以是高频带内各子频带分别对应的对数残差能量,实际对数带能量可以是高频带内各子频带分别对应的实际对数能量。每个子频带的预测对数能量可以上一音频帧中该子频带的实际对数能量及上一子频带的实际对数能量进行线性叠加获得。示例性的,假设上一音频帧在该子频带的实际对数能量为Q1,音频帧中上一个子频带的实际对数能量为Q2,则子频带的预测对数能量可以表示为:c*Q1+Q2,其中,c为帧间预测系数,可以预先设置。假设对数残差能量为F,则实际对数能量的计算公式可以表示为:F+c*Q1+Q2。
可选的,根据第一子残差能量和第二子残差能量确定实际对数能量的过程还可以是:首先将第一子残差能量与预测对数能量进行累加,将累加结果再与第二子残差能量进行累加,获得实际对数能量。
基于实际对数能量和频谱形状确定音频帧的音频帧的方式可以是:首先将实际对数能量转换为实际能量,然后首先根据各子频带的实际能量和频谱形状确定出各子频带对应的频谱信号,最后基于子频带对应的频谱信号确定音频帧的音频帧。
本实施例的技术方案,确定音频帧的高频带中各子频带的第一子残差能量;基于第一子残差能量确定已使用解码比特;根据已使用解码比特和设定解码比特获得剩余解码比特;确定剩余解码比特在各子频带中分配的子剩余解码比特;根据子剩余解码比特,对音频码流进行解码,获得第二子残差能量,音频码流为音频帧的编码码流;基于第一子残差能量和第二子残差能量确定音频帧。本实施例提供的音频解码方法,可以提高解码后的音频数据在整个频带的听感。
图4为本公开实施例所提供的一种音频编码装置结构示意图,如图4所示,装置包括:
残差能量划分模块410,用于基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量;其中,子频带残差能量为子频带的实际能量与预测能量之差;第一子残差能量为残差能量中能够被设定能量分辨率整除的部分,第二子残差能量为残差能量中被设定能量分辨率整除后的余数部分;
第一编码模块420,用于对各个子频带的第一子残差能量进行编码,得到编码后的第一码流;
剩余编码比特获取模块430,用于获取剩余编码比特;其中,剩余编码比特为设定编码比特减去对各个子频带的第一子残差能量进行编码所使用的编码比特;
剩余编码比特分配模块440,用于将剩余编码比特分配至多个子频带,获得多个子频带分别对应的子剩余编码比特;
第二编码模块450,用于基于子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流;音频帧的编码码流包括第一码流以及第二码流。
可选的,残差能量划分模块410,还用于:
将子频带的实际能量转换到对数域,获得子频带的实际对数能量;
将实际对数能量与预测对数能量做差,获得对数残差能量;
基于设定能量分辨率将对数残差能量划分为第一子残差能量和第二子残差能量。
可选的,剩余编码比特分配模块440,还用于:
确定多个子频带的分配比例;
根据分配比例将剩余编码比特按照整数倍比特分配至多个子频带。
可选的,剩余编码比特分配模块440,还用于:
若剩余未分配的编码比特;
则按照分配比例将未分配的编码比特分配按照整数倍比特至多个子频带中的低频带。
可选的,基第二编码模块450,还用于:
根据子剩余比特和设定能量分辨率确定对子剩余编码比特进行量化,获得子剩余编码比特的量化信息;
将量化信息写入音频码流。
图5为本公开实施例所提供的一种音频解码装置结构示意图,如图5所示,装置包括:
第一子残差能量确定模块510,用于确定音频帧的高频带中各子频带的第一子残差能量;
已使用解码比特确定模块520,用于基于第一子残差能量确定已使用解码比特;
剩余解码比特确定模块530,用于根据已使用解码比特和设定解码比特获得剩余解码比特;
子剩余解码比特确定模块540,用于确定剩余解码比特在各子频带中分配的子剩余解码比特;
第二子残差能量获取模块550,用于根据子剩余解码比特,对音频码流进行解码,获得第二子残差能量,音频码流为音频帧的编码码流;
音频帧确定模块560,用于基于第一子残差能量和第二子残差能量确定音频帧。
可选的,子剩余解码比特确定模块540,还用于:
获取剩余解码比特在各子频带的分配比例;
根据分配比例确定剩余解码比特在各子频带分配的子剩余解码比特。
可选的,音频帧确定模块560,还用于:
根据第一子残差能量和第二子残差能量确定残差能量;
确定各子频带的频谱形状;
基于残差能量和频谱形状确定音频帧。
可选的,音频帧确定模块560,还用于:
随机生成各子频带的频谱形状;或者,
根据历史音频帧的频谱形状确定音频帧各子频带的频谱形状。
本公开实施例所提供的音频编码装置可执行本公开任意实施例所提供的音频编码方法,本公开实施例所提供的音频解码装置可执行本公开任意实施例所提供的音频解码方法具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
图6为本公开实施例所提供的一种电子设备的结构示意图。下面参考图6,其示出了适于用来实现本公开实施例的电子设备(例如图6中的终端设备或服务器)600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。编辑/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开实施例提供的电子设备与上述实施例提供的音频编码方法或者音频解码方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的音频编码方法或者音频解码方法方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量;其中,所述子频带残差能量为子频带的实际能量与预测能量之差;所述第一子残差能量为所述残差能量中能够被所述设定能量分辨率整除的部分,所述第二子残差能量为所述残差能量中被所述设定能量分辨率整除后的余数部分;对各个子频带的第一子残差能量进行编码,得到编码后的第一码流;获取剩余编码比特;其中,所述剩余编码比特为设定编码比特减去对各个子频带的第一子残差能量进行编码所使用的编码比特;将所述剩余编码比特分配至多个子频带,获得所述多个子频带分别对应的子剩余编码比特;基于所述子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流;所述音频帧的编码码流包括所述第一码流以及所述第二码流。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:确定音频帧的高频带中各子频带的第一子残差能量;基于所述第一子残差能量确定已使用解码比特;根据所述已使用解码比特和设定解码比特获得剩余解码比特;确定所述剩余解码比特在各子频带中分配的子剩余解码比特;根据所述子剩余解码比特,对音频码流进行解码,获得第二子残差能量,所述音频码流为所述音频帧的编码码流;基于所述第一子残差能量和所述第二子残差能量确定所述音频帧。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (13)
1.一种音频编码方法,其特征在于,包括:
基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量;其中,所述子频带残差能量为子频带的实际能量与预测能量之差;所述第一子残差能量为所述残差能量中能够被所述设定能量分辨率整除的部分,所述第二子残差能量为所述残差能量中被所述设定能量分辨率整除后的余数部分;
对各个子频带的第一子残差能量进行编码,得到编码后的第一码流;
获取剩余编码比特;其中,所述剩余编码比特为设定编码比特减去对各个子频带的第一子残差能量进行编码所使用的编码比特;
将所述剩余编码比特分配至多个子频带,获得所述多个子频带分别对应的子剩余编码比特;
基于所述子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流;所述音频帧的编码码流包括所述第一码流以及所述第二码流。
2.根据权利要求1所述的方法,其特征在于,基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量,包括:
将子频带的实际能量转换到对数域,获得子频带的实际对数能量;
将所述实际对数能量与预测对数能量做差,获得对数残差能量;
基于设定能量分辨率将所述对数残差能量划分为第一子残差能量和第二子残差能量。
3.根据权利要求1所述的方法,其特征在于,将所述剩余编码比特分配至所述多个子频带,包括:
确定所述多个子频带的分配比例;
根据所述分配比例将所述剩余编码比特按照整数倍比特分配至所述多个子频带。
4.根据权利要求3所述的方法,其特征在于,根据所述分配比例将所述剩余编码比特按照整数倍比特分配至所述多个子频带之后,还包括:
若剩余未分配的编码比特;
则按照所述分配比例将未分配的编码比特分配按照整数倍比特至所述多个子频带中的低频带。
5.根据权利要求2所述的方法,其特征在于,基于所述子剩余编码比特对各个子频带的第二子残差能量进行编码,包括:
根据所述子剩余比特和所述设定能量分辨率确定对所述子剩余编码比特进行量化,获得所述子剩余编码比特的量化信息;
将所述量化信息写入音频码流。
6.一种音频解码方法,其特征在于,包括:
确定音频帧的高频带中各子频带的第一子残差能量;
基于所述第一子残差能量确定已使用解码比特;
根据所述已使用解码比特和设定解码比特获得剩余解码比特;
确定所述剩余解码比特在各子频带中分配的子剩余解码比特;
根据所述子剩余解码比特,对音频码流进行解码,获得第二子残差能量,所述音频码流为所述音频帧的编码码流;
基于所述第一子残差能量和所述第二子残差能量确定所述音频帧。
7.根据权利要求6所述的方法,其特征在于,确定所述剩余解码比特在各子频带中分配的子剩余解码比特,包括:
获取所述剩余解码比特在各子频带的分配比例;
根据所述分配比例确定所述剩余解码比特在各子频带分配的子剩余解码比特。
8.根据权利要求6所述的方法,其特征在于,基于所述第一子残差能量和所述第二子残差能量确定所述音频帧,包括:
根据所述第一子残差能量和所述第二子残差能量确定残差能量;
确定各子频带的频谱形状;
基于所述残差能量和所述频谱形状确定所述音频帧。
9.根据权利要求8所述的方法,其特征在于,确定各子频带的频谱形状,包括:
随机生成所述各子频带的频谱形状;或者,
根据历史音频帧的频谱形状确定所述音频帧各子频带的频谱形状。
10.一种音频编码装置,其特征在于,包括:
残差能量划分模块,用于基于设定能量分辨率将音频帧对应的高频带各子频带的残差能量划分为第一子残差能量和第二子残差能量;其中,所述子频带残差能量为子频带的实际能量与预测能量之差;所述第一子残差能量为所述残差能量中能够被所述设定能量分辨率整除的部分,所述第二子残差能量为所述残差能量中被所述设定能量分辨率整除后的余数部分;
第一编码模块,用于对各个子频带的第一子残差能量进行编码,得到编码后的第一码流;
剩余编码比特获取模块,用于获取剩余编码比特;其中,所述剩余编码比特为设定编码比特减去对各个子频带的第一子残差能量进行编码所使用的编码比特;
剩余编码比特分配模块,用于将所述剩余编码比特分配至多个子频带,获得所述多个子频带分别对应的子剩余编码比特;
第二编码模块,用于基于所述子剩余编码比特对各个子频带的第二子残差能量进行编码,得到编码后的第二码流;所述音频帧的编码码流包括所述第一码流以及所述第二码流。
11.一种音频解码装置,其特征在于,包括:
第一子残差能量确定模块,用于确定音频帧的高频带中各子频带的第一子残差能量;
已使用解码比特确定模块,用于基于所述第一子残差能量确定已使用解码比特;
剩余解码比特确定模块,根据所述已使用解码比特和设定解码比特获得剩余解码比特;
子剩余解码比特确定模块,用于确定所述剩余解码比特在各子频带中分配的子剩余解码比特;
第二子残差能量获取模块,用于根据所述子剩余解码比特,对音频码流进行解码,获得第二子残差能量,所述音频码流为所述音频帧的编码码流;
音频帧确定模块,用于基于所述第一子残差能量和所述第二子残差能量确定所述音频帧。
12.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的音频编码方法或者权利要求6-9中任一所述的音频解码方法。
13.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-5中任一所述的音频编码方法或者权利要求6-9中任一所述的音频解码方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211459916.4A CN118053437A (zh) | 2022-11-17 | 2022-11-17 | 音频编码方法、解码方法、装置、设备及存储介质 |
PCT/CN2023/132288 WO2024104460A1 (zh) | 2022-11-17 | 2023-11-17 | 音频编码方法、解码方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211459916.4A CN118053437A (zh) | 2022-11-17 | 2022-11-17 | 音频编码方法、解码方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118053437A true CN118053437A (zh) | 2024-05-17 |
Family
ID=91043660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211459916.4A Pending CN118053437A (zh) | 2022-11-17 | 2022-11-17 | 音频编码方法、解码方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118053437A (zh) |
WO (1) | WO2024104460A1 (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100721537B1 (ko) * | 2004-12-08 | 2007-05-23 | 한국전자통신연구원 | 광대역 음성 부호화기의 고대역 음성 부호화 장치 및 그방법 |
KR101413968B1 (ko) * | 2008-01-29 | 2014-07-01 | 삼성전자주식회사 | 오디오 신호의 부호화, 복호화 방법 및 장치 |
CN103380455B (zh) * | 2011-02-09 | 2015-06-10 | 瑞典爱立信有限公司 | 对音频信号的高效编码/解码 |
CN110706715B (zh) * | 2012-03-29 | 2022-05-24 | 华为技术有限公司 | 信号编码和解码的方法和设备 |
ES2741506T3 (es) * | 2014-03-14 | 2020-02-11 | Ericsson Telefon Ab L M | Método y aparato de codificación de audio |
CN103928030B (zh) * | 2014-04-30 | 2017-03-15 | 武汉大学 | 基于子带空间关注测度的可分级音频编码系统及方法 |
CN105280190B (zh) * | 2015-09-16 | 2018-11-23 | 深圳广晟信源技术有限公司 | 带宽扩展编码和解码方法以及装置 |
CN112735446B (zh) * | 2020-12-30 | 2022-05-17 | 北京百瑞互联技术有限公司 | 在lc3音频码流中添加额外信息的方法、系统及介质 |
CN119274562A (zh) * | 2022-06-15 | 2025-01-07 | 腾讯科技(深圳)有限公司 | 音频编码及解码方法、装置、设备、介质及程序产品 |
-
2022
- 2022-11-17 CN CN202211459916.4A patent/CN118053437A/zh active Pending
-
2023
- 2023-11-17 WO PCT/CN2023/132288 patent/WO2024104460A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024104460A1 (zh) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106941004B (zh) | 音频信号的比特分配的方法和装置 | |
CA3131695C (en) | Method and apparatus for generating from a coefficient domain representation of hoa signals a mixed spatial/coefficient domain representation of said hoa signals | |
US10089997B2 (en) | Method for predicting high frequency band signal, encoding device, and decoding device | |
CN111246209A (zh) | 自适应编码方法、装置、电子设备及计算机存储介质 | |
US20170149441A1 (en) | Split gain shape vector coding | |
KR20150058483A (ko) | 오디오 신호의 비트를 할당하는 방법 및 장치 | |
CN114995638A (zh) | 触觉信号生成方法、装置、可读介质及电子设备 | |
CN114125432A (zh) | 视频数据处理方法、装置、设备及存储介质 | |
CN104934034B (zh) | 用于信号处理的方法和装置 | |
CN118053437A (zh) | 音频编码方法、解码方法、装置、设备及存储介质 | |
CN116760992B (zh) | 视频编码、认证、加密和传输方法、装置、设备和介质 | |
CN115103191B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN113096670B (zh) | 音频数据的处理方法、装置、设备及存储介质 | |
US20140114652A1 (en) | Audio coding device, audio coding method, and audio coding and decoding system | |
CN117746872A (zh) | 音频编码方法、装置、设备及存储介质 | |
CN118413239A (zh) | 污水泵在线故障预测方法、系统、电子设备以及存储介质 | |
CN117935823A (zh) | 一种自适应语音通信方法、设备及存储介质 | |
CN116805484A (zh) | 语音检测方法、装置、介质以及电子设备 | |
CN117478516A (zh) | 带宽分配方法、装置、电子设备、介质及产品 | |
CN118571235A (zh) | 音频编解码方法及相关装置 | |
CN117651081A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN114760389A (zh) | 语音通话方法、装置、计算机存储介质及电子设备 | |
CN116457797A (zh) | 使用神经网络处理音频的方法和装置 |
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 |