CN115691514A - 一种多声道信号的编解码方法和装置 - Google Patents
一种多声道信号的编解码方法和装置 Download PDFInfo
- Publication number
- CN115691514A CN115691514A CN202110865298.2A CN202110865298A CN115691514A CN 115691514 A CN115691514 A CN 115691514A CN 202110865298 A CN202110865298 A CN 202110865298A CN 115691514 A CN115691514 A CN 115691514A
- Authority
- CN
- China
- Prior art keywords
- blocks
- transient
- channel
- block
- information
- 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 226
- 230000001052 transient effect Effects 0.000 claims abstract description 1261
- 238000001228 spectrum Methods 0.000 claims abstract description 868
- 238000013528 artificial neural network Methods 0.000 claims abstract description 83
- 238000012545 processing Methods 0.000 claims description 264
- 230000003595 spectral effect Effects 0.000 claims description 69
- 230000015654 memory Effects 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 description 75
- 230000005236 sound signal Effects 0.000 description 69
- 230000002441 reversible effect Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 27
- 238000001514 detection method Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000012805 post-processing Methods 0.000 description 10
- 238000007781 pre-processing Methods 0.000 description 10
- 230000009466 transformation Effects 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000011022 operating instruction Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000009432 framing Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 108091026890 Coding region Proteins 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- 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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- 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/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
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)
- Mathematical Physics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例公开了一种多声道信号的编解码方法和装置。在多声道信号的编码方法中,待编码多声道信号的当前帧包括第一声道和第二声道,获得第一声道的M个块的第一分组信息和第二声道的M个块的第二分组信息,当第一分组信息和第二分组信息满足预设条件时,根据第一分组信息和第二分组信息获得第一调整分组信息和第二调整分组信息;接下来根据第一调整分组信息和第一声道的M个块的频谱获得第一待编码频谱,同样的可以获得第二待编码频谱,最后利用编码神经网络对第一待编码频谱和第二待编码进行编码,获得了频谱编码结果,通过码流可以携带该频谱编码结果。能够实现针对不同暂态标识的块进行分组、调整以及编码,提高对多声道信号的编码质量。
Description
技术领域
本申请涉及音频处理技术领域,尤其涉及一种多声道信号的编解码方法和装置。
背景技术
音频数据的压缩是媒体通信和媒体广播等媒体应用中不可或缺的环节。随着高清音频产业以及三维音频产业的发展,人们对音频质量的需求越来越高,随之而来的是媒体应用中音频数据量的迅猛增长。
目前的音频数据的压缩技术为基于信号处理的基本原理,在时间、空间上利用信号的相关性对原始的音频信号进行压缩,例如该音频信号包括立体声信号,以减少数据量,从而便于音频数据的传输或存储。
在目前的音频信号编码方案中,当音频信号是暂态信号时,存在编码质量低的问题。在解码端进行信号重建时,也会存在多声道信号的重建效果差的问题。
发明内容
本申请实施例提供了一种多声道信号的编解码方法和装置,用于提高多声道信号的编码质量和多声道信号的重建效果。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种多声道信号的编码方法,包括:
根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识;所述第一声道的M个块包括所述第一声道的第一块,所述第一块的第一暂态标识用于指示所述第一块为暂态块,或者指示所述第一块为非暂态块;
根据所述M个第一暂态标识获得所述第一声道的M个块的第一分组信息;
根据所述当前帧的第二声道的M个块的频谱获得所述第二声道的M个块的M个第二暂态标识;所述第二声道的M个块包括所述第二声道的第二块,所述第二块的第二暂态标识用于指示所述第二块为暂态块,或者指示所述第二块为非暂态块;
根据所述M个第二暂态标识获得所述第二声道的M个块的第二分组信息;
当所述第一分组信息和所述第二分组信息满足预设条件时,根据所述第一分组信息和所述第二分组信息获得第一调整分组信息和第二调整分组信息,所述第一调整分组信息与所述第一分组信息对应,所述第二调整分组信息与所述第二分组信息对应;其中,所述第一调整分组信息与所述第一分组信息相同且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息与所述第二分组信息相同;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;
根据所述第一调整分组信息和所述第一声道的M个块的频谱获得第一待编码频谱;
根据所述第二调整分组信息和所述第二声道的M个块的频谱获得第二待编码频谱;
利用编码神经网络对所述第一待编码频谱和所述第二待编码频谱进行编码,以获得频谱编码结果;
将所述频谱编码结果写入码流。
在上述方案中,待编码多声道信号的当前帧包括第一声道和第二声道,每个声道包括M个块的频谱,根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得第一声道的M个块的M个第一暂态标识,根据M个第一暂态标识获得第一声道的M个块的第一分组信息,同样的方式可以获得第二声道的M个块的第二分组信息,当第一分组信息和第二分组信息满足预设条件时,根据第一分组信息和第二分组信息获得第一调整分组信息和第二调整分组信息;接下来根据第一调整分组信息和第一声道的M个块的频谱获得第一待编码频谱,同样的可以获得第二待编码频谱,最后利用编码神经网络对第一待编码频谱和第二待编码进行编码,获得了频谱编码结果,通过码流可以携带该频谱编码结果。因此本申请实施例中根据当前帧的各个声道的M个暂态标识获得了各个声道的M个块的分组信息,在各个声道的M个块的分组信息满足预设条件时获得各个声道的M个块的调整分组信息,根据各个声道的M个块的调整分组信息和每个声道的M个块的频谱获得待编码频谱,从而能够实现针对不同暂态标识的块进行分组、调整以及编码,提高对多声道信号的编码质量。
在一种可能的实现方式中,所述方法还包括:对所述第一调整分组信息,以及所述第二调整分组信息进行编码,以获得分组信息编码结果;将所述分组信息编码结果写入所述码流。在上述方案中,编码端在获得第一调整分组信息以及第二调整分组信息之后,对第一调整分组信息,以及第二调整分组信息进行编码,获得分组信息编码结果,对于该调整分组信息所采用的编码方式,此处不做限定。通过对调整分组信息的编码,可以获得分组信息编码结果,该分组信息编码结果可以被写入到码流中,从而使得码流可以携带分组信息编码结果,以使得解码端通过解析码流得到分组信息编码结果,进行解析获得第一调整分组信息和第二调整分组信息。
在一种可能的实现方式中,所述第一分组信息包括:所述第一声道的M个块的第一分组数量或第一分组数量标识,所述第一分组数量标识用于指示所述第一分组数量,当所述第一分组数量大于1时,所述第一分组信息还包括:所述M个第一暂态标识;或者,所述第一分组信息包括:所述M个第一暂态标识;
和/或,
所述第二分组信息包括:所述第二声道的M个块的第二分组数量或第二分组数量标识,所述第二分组数量标识用于指示所述第二分组数量,当所述第二分组数量大于1时,所述第二分组信息还包括:所述M个第二暂态标识;或者,所述第二分组信息包括:所述M个第二暂态标识;
和/或,
所述第一调整分组信息包括:所述第一声道的M个块的第一调整分组数量或第一调整分组数量标识,所述第一调整分组数量标识用于指示所述第一调整分组数量,当所述第一调整分组数量大于1时,所述第一调整分组信息还包括:所述第一声道的M个块的M个第一调整暂态标识,所述第一块的第一调整暂态标识与所述第一块的第一暂态标识不同或所述第一块的第一调整暂态标识与所述第一块的第一暂态标识相同;或者,所述第一调整分组信息包括:所述M个第一调整暂态标识;
和/或,
所述第二调整分组信息包括:所述第二声道的M个块的第二调整分组数量或第二调整分组数量标识,所述第二调整分组数量标识用于指示所述第二调整分组数量,当所述第二调整分组数量大于1时,所述第二调整分组信息还包括:所述第二声道的M个块的M个第二调整暂态标识,所述第二块的第二调整暂态标识与所述第二块的第二暂态标识不同或所述第二块的第二调整暂态标识与所述第二块的第二暂态标识相同;或者,所述第二调整分组信息包括:所述M个第二调整暂态标识。
在上述方案中,第一调整分组信息和第一分组信息可以相同或者不同。第一分组信息包括:第一声道的M个块的第一分组数量或第一分组数量标识,第一调整分组信息包括:第一声道的M个块的第一调整分组数量或第一调整分组数量标识,当第一分组信息没有被调整时,第一分组数量和第一调整分组数量相同,第一分组数量标识和第一调整分组数量标识相同。当第一分组信息被调整时,第一分组数量和第一调整分组数量可以相同,也可以不同,例如针对第一分组信息的调整并不改变分组数量,则第一分组数量和第一调整分组数量相同,若针对第一分组信息的调整改变了分组数量,则第一分组数量和第一调整分组数量不同,例如第一分组信息调整之前,第一分组数量为2,第一分组信息被调整之后,第一调整分组数量为1。当第一分组信息被调整时,第一分组数量标识和第一调整分组数量标识可以相同,也可以不同。例如第一分组信息调整之前,第一分组数量为2,第一分组数量标识为1,第一分组信息被调整之后,若第一调整分组数量为2,第一分组数量标识仍然为1。同样的,第二调整分组信息和第二分组信息可以相同或者不同。
在一种可能的实现方式中,所述预设条件包括:所述第一分组信息与所述第二分组信息不一致。在上述方案中,第一分组信息与第二分组信息不一致是指第一分组信息和第二分组信息不完全一致,第一分组信息与第二分组信息不一致时可以认为第一分组信息和第二分组信息满足预设条件,第一分组信息与第二分组信息一致时可以认为第一分组信息和第二分组信息不满足预设条件。例如第一分组信息的M个块的分组数量与第二分组信息的M个块的分组数量相同,但是第一分组信息包括的M个第一暂态标识与第二分组信息包括的M个第二暂态标识不同。又如第一分组信息的M个块的分组数量与第二分组信息的M个块的分组数量不相同,该预设条件需要结合具体的应用场景来确定,此处不做限定。通过设置上述的预设条件,可以判断是否对第一分组信息和第二分组信息进行调整。
在一种可能的实现方式中,所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,且所述M个第一暂态标识和所述M个第二暂态标识不一致;
或,
所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,且所述第一声道的暂态块数量与所述第二声道的暂态块数量不一致;
或,
所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,所述M个第一暂态标识和所述M个第二暂态标识不一致,且所述第一声道的M个块中的第N块和所述第二声道的M个块中的第N块均为暂态,0≤N<M。
在上述方案的一种实现方式中,第一声道的M个块中有的块为暂态块,第一声道的M个块中有的块为非暂态块,同样的,第二声道的M个块包括暂态块和非暂态块。M个第一暂态标识和M个第二暂态标识不一致是指M个第一暂态标识中至少有一个暂态标识和M个第二暂态标识中相同索引的暂态标识的取值不同。例如,第一声道的M个块中有1个块A为暂态块,第二声道的M个块中有1个块B为暂态块,若块A在第一声道的M个块中的索引与块B在第二声道的M个块的索引相同,则块A的第一暂态标识与块B的第二暂态标识是一致的。例如第一声道的M个块中有一个块C为非暂态块,第二声道的M个块中有一个块D为暂态块,若块C在第一声道的M个块中的索引与块D在第二声道的M个块的索引相同,则块A的第一暂态标识与块B的第二暂态标识是不一致的。本申请实施例中当M个第一暂态标识和M个第二暂态标识不一致时可以确定第一分组信息和第二分组信息满足预设的条件,此时需要进行分组信息的调整。当M个第一暂态标识和M个第二暂态标识完全一致时可以确定第一分组信息和第二分组信息不满足预设的条件,此时不进行分组信息的调整。
在上述方案的一种实现方式中,第一声道的M个块中有的块为暂态块,第一声道的M个块中有的块为非暂态块,因此可以统计得到第一声道包括的暂态块数量,同样的,第二声道的M个块包括暂态块和非暂态块,因此可以统计得到第二声道包括的暂态块数量。本申请实施例中当第一通道的暂态块数量与第二声道的暂态块数量不同时可以确定第一分组信息和第二分组信息满足预设的条件,此时需要进行分组信息的调整。当第一通道的暂态块数量与第二声道的暂态块数量相同时可以确定第一分组信息和第二分组信息不满足预设的条件,此时不进行分组信息的调整。
在上述方案的一种实现方式中,第一声道的M个块中有的块为暂态块,第一声道的M个块中有的块为非暂态块,同样的,第二声道的M个块包括暂态块和非暂态块。M个第一暂态标识和M个第二暂态标识不一致是指M个第一暂态标识中至少有一个暂态标识和M个第二暂态标识中相同索引的暂态标识的取值不同。例如,第一声道的M个块中有1个块A为暂态块,第二声道的M个块中有1个块B为暂态块,若块A在第一声道的M个块中的索引与块B在第二声道的M个块的索引相同,则块A的第一暂态标识与块B的第二暂态标识是一致的。例如第一声道的M个块中有一个块C为非暂态块,第二声道的M个块中有一个块D为暂态块,若块C在第一声道的M个块中的索引与块D在第二声道的M个块的索引相同,则块A的第一暂态标识与块B的第二暂态标识是不一致的。第一声道的M个块中的第N块和第二声道的M个块中的第N块均为暂态,0≤N<M,第一声道的第N块的索引和第二声道的第N块的索引是相同的,N的取值大小以及N的取值个数不做限定,例如N的取值个数为1个时表示第一声道和第二声道具有相同索引的暂态块为1个,例如N的取值个数为2时表示第一声道和第二声道具有相同索引的暂态块为2个。本申请实施例中当M个第一暂态标识和M个第二暂态标识不一致、且第一声道的M个块中的第N块和第二声道的M个块中的第N块均为暂态时可以确定第一分组信息和第二分组信息满足预设的条件,此时需要进行分组信息的调整。当M个第一暂态标识和M个第二暂态标识完全一致、或者M个第一暂态标识和M个第二暂态标识不一致且第一声道和第二声道不具有相同索引的暂态块时可以确定第一分组信息和第二分组信息不满足预设的条件,此时不进行分组信息的调整。
在一种可能的实现方式中,所述第一声道的M个块具有各自的索引,所述第二声道的M个块具有各自的索引;
当所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,且所述第一声道的暂态块数量与所述第二声道的暂态块数量不一致时,如果所述第一声道的M个块中的暂态块的索引与所述第二声道的M个块中的暂态块的索引没有交集,所述根据所述第一分组信息和所述第二分组信息获得第一调整分组信息和第二调整分组信息包括:
当所述第一声道的暂态块数量小于所述第二声道的暂态块数量时,对所述第一分组信息进行调整,以获得所述第一调整分组信息,所述第一调整分组信息指示的所述第一声道的暂态块数量与所述第二分组信息指示的所述第二声道的暂态块数量相等;
或,
当所述第一声道的暂态块数量大于所述第二声道的暂态块数量时,对所述第二分组信息进行调整,以获得所述第二调整分组信息,所述第二调整分组信息指示的所述第二声道的暂态块数量与所述第一分组信息指示的所述第一声道的暂态块数量相等。
在上述方案中,当第一声道的暂态块数量与第二声道的暂态块数量不一致、且第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引没有交集时,则需要对暂态块数量较小的那个声道的分组信息进行调整,而暂态块数量较多的那个声道的分组信息保持不变,并且调整之后两个声道的分组信息指示的暂态块数量是相同的,通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。当第一声道的暂态块数量小于第二声道的暂态块数量时,对第一分组信息进行调整,以获得第一调整分组信息,具体的,第一分组信息的调整可以包括对M个块的第一暂态标识进行调整,例如M个块中的第一块的第一暂态标识从非暂态调整为暂态,以使得第一声道的暂态块数量增加,使得第一调整分组信息中第一声道的暂态块数量(即第一声道的调整后的暂态块数量)与所述第二分组信息指示的所述第二声道的暂态块数量相等。当第一声道的暂态块数量大于第二声道的暂态块数量时,对第二分组信息进行调整,以获得第二调整分组信息,具体的,第二分组信息的调整可以包括对M个块的第二暂态标识进行调整,例如M个块中的第二块的第二暂态标识从非暂态调整为暂态,以使得第二声道的暂态块数量增加,使得第二调整分组信息中第二声道的暂态块数量(即第二声道的调整后的暂态块数量)与所述第一分组信息指示的所述第一声道的暂态块数量相等。
在一种可能的实现方式中,所述第一声道的M个块具有各自的索引,所述第二声道的M个块具有各自的索引;
当所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,且所述第一声道的暂态块数量与所述第二声道的暂态块数量不一致时,如果所述第一声道的M个块中的暂态块的索引与所述第二声道的M个块中的暂态块的索引有交集,所述根据所述第一分组信息和所述第二分组信息获得第一调整分组信息和第二调整分组信息包括:
当所述M个第一暂态标识指示的暂态块的索引是所述M个第二暂态标识指示的暂态块的索引的一部分时,对所述M个第一暂态标识中的至少一个进行调整以获得所述M个第一调整暂态标识,所述M个第一调整暂态标识指示的所有暂态块的索引与所述M个第二暂态标识指示的所有暂态块的索引相同;
或
当所述M个第二暂态标识指示的暂态块的索引是所述M个第一暂态标识指示的暂态块的索引的一部分时,对所述M个第二暂态标识中的至少一个进行调整以获得所述M个第二调整暂态标识,所述M个第二调整暂态标识指示的所有暂态块的索引与所述M个第一暂态标识指示的所有暂态块的索引相同;
或
当所述M个第一暂态标识指示的暂态块的索引与所述M个第二暂态标识指示的暂态块的索引部分相同时,对所述M个第一暂态标识中的至少一个进行调整以获得所述M个第一调整暂态标识,对所述M个第二暂态标识中的至少一个进行调整以获得所述M个第二调整暂态标识,所述M个第一调整暂态标识指示的所有暂态块的索引与所述M个第二调整暂态标识指示的所有暂态块的索引相同。
在上述方案的一种实现方式中,例如第一声道的暂态块数量小于第二声道的暂态块数量,即M个第一暂态标识指示的暂态块的索引是M个第二暂态标识指示的暂态块的索引的一部分,此时第一声道的M个块的第一暂态标识需要调整,第二声道的M个块的第二暂态标识保持不变,对M个第一暂态标识中的至少一个进行调整以获得M个第一调整暂态标识,M个第一调整暂态标识指示的所有暂态块的索引与M个第二暂态标识指示的所有暂态块的索引相同,调整之后两个声道的分组信息指示的暂态块数量是相同的,通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。
在上述方案的一种实现方式中,例如第二声道的暂态块数量小于第一声道的暂态块数量,即M个第二暂态标识指示的暂态块的索引是M个第一暂态标识指示的暂态块的索引的一部分,此时第二声道的M个块的第二暂态标识需要调整,第一声道的M个块的第一暂态标识保持不变,对M个第二暂态标识中的至少一个进行调整以获得M个第二调整暂态标识,M个第二调整暂态标识指示的所有暂态块的索引与M个第一暂态标识指示的所有暂态块的索引相同,调整之后两个声道的分组信息指示的暂态块数量是相同的,通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。
在上述方案的一种实现方式中,例如第二声道的暂态块数量不等于第一声道的暂态块数量,但是M个第一暂态标识指示的暂态块的索引与M个第二暂态标识指示的暂态块的索引部分相同,此处的部分相同是指第一声道的M个块中的有的暂态块的索引与第二声道的M个块中的有的暂态块的索引部分相同,但是并不是完全相同。此时第一声道的M个块的第一暂态标识需要调整,第二声道的M个块的第二暂态标识需要调整,即两个声道的M个块的暂态标识都需要调整,对M个第一暂态标识中的至少一个进行调整以获得M个第一调整暂态标识,对M个第二暂态标识中的至少一个进行调整以获得M个第二调整暂态标识,M个第一调整暂态标识指示的所有暂态块的索引与M个第二调整暂态标识指示的所有暂态块的索引相同。调整之后两个声道的分组信息指示的暂态块数量是相同的,通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。
在一种可能的实现方式中,所述对所述M个第一暂态标识中的至少一个进行调整以获得所述M个第一调整暂态标识包括:
当所述第一块的第一暂态标识指示所述第一块为非暂态块时,如果所述第二声道的M个块的第三块的第二暂态标识指示所述第三块为暂态块,将所述第一块的第一暂态标识调整为所述第一块的第一调整暂态标识,所述第一块的第一调整暂态标识指示所述第一块为暂态块,所述第一块的索引与所述第三块的索引相同;
或
所述对所述M个第二暂态标识中的至少一个进行调整以获得所述M个第二调整暂态标识包括:
当所述第二块的第二暂态标识指示所述第二块为非暂态块时,如果所述第一声道的M个块的第四块的第一暂态标识指示所述第四块为暂态块,将所述第二块的第二暂态标识调整为所述第二块的第二调整暂态标识,所述第二块的第二调整暂态标识指示所述第二块为暂态块,所述第二块的索引与所述第四块的索引相同。
在上述方案中,以第一暂态标识的调整为例进行说明,当第一块的第一暂态标识指示第一块为非暂态块时,如果第二声道的M个块的第三块的第二暂态标识指示第三块为暂态块,将第一块的第一暂态标识调整为第一块的第一调整暂态标识,第一块的第一调整暂态标识指示第一块为暂态块,第一块的索引与第三块的索引相同。例如,第一块的第一暂态标识为1,而第三块的第二暂态标识为0,第一块的索引和第三块的索引都是4,则第一块的第一调整暂态标识为0。通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。
在一种可能的实现方式中,当所述第一调整分组数量大于1或所述M个第一调整暂态标识指示所述第一声道的M个块包括暂态块和非暂态块时,所述根据所述第一调整分组信息和所述第一声道的M个块的频谱获得第一待编码频谱包括:
根据所述第一调整分组信息对所述第一声道的M个块的频谱进行分组排列,以获得第一待编码频谱;
当所述第二调整分组数量大于1或所述M个第二调整暂态标识指示所述第二声道的M个块包括暂态块和非暂态块时,所述根据所述第二调整分组信息和所述第二声道的M个块的频谱获得第二待编码频谱包括:
根据所述第二调整分组信息对所述第二声道的M个块的频谱进行分组排列,以获得第二待编码频谱。
在上述方案中,以编码端获得第一调整分组信息为例,编码端获得M个块的第一调整分组信息之后,可以使用该M个块的第一调整分组信息对当前帧的M个块的频谱进行分组排列,通过对M个块的频谱进行分组排列,从而可以调整M个块的频谱在当前帧中的排列顺序。上述分组排列是根据M个块的第一调整分组信息进行的,M个块的第一调整分组信息是根据M个块的M个暂态标识获得,上述对M个块的分组排列之后,获得分组排列后的M个块的频谱,该分组排列后的M个块的频谱是以M个块的M个暂态标识为分组排序的依据,通过分组排序可以改变M个块的频谱的编码顺序。需要说明的是,上述当前帧的M个块可以是当前帧的第一声道的M个块。
在一种可能的实现方式中,所述根据所述第一调整分组信息对所述第一声道的M个块的频谱进行分组排列,以获得第一待编码频谱,包括:
将所述第一声道的M个块中被所述M个块的第一调整暂态标识指示为暂态块的频谱分到第一暂态组中,以及将所述第一声道的M个块中被所述M个块的第一调整暂态标识指示为非暂态块的频谱分到第一非暂态组中;将所述第一暂态组中的块的频谱排列至所述第一非暂态组中的块的频谱之前,以获得所述第一待编码频谱;
或,
所述根据所述第二调整分组信息对所述第二声道的M个块的频谱进行分组排列,以获得第二待编码频谱,包括:
将所述第二声道的M个块中被所述M个块的第二调整暂态标识指示为暂态块的频谱分到第二暂态组中,以及将所述第二声道的M个块中被所述M个块的第二调整暂态标识指示为非暂态块的频谱分到第二非暂态组中;将所述第二暂态组中的块的频谱排列至所述第二非暂态组中的块的频谱之前,以获得所述第二待编码频谱。
在上述方案中,编码端获得M个块的第一调整分组信息之后,对M个块基于暂态标识的不同进行分组,从而可以获得暂态组和非暂态组,接下来对M个块在当前帧的频谱中的位置进行排列,将暂态组中的块的频谱排列至非暂态组中的块的频谱之前,以获得待编码频谱。即在待编码频谱中所有暂态块的频谱位于非暂态块的频谱之前,从而能够将暂态块的频谱调整到编码重要性更高的位置,使得利用神经网络编解码处理后重建的音频信号能更好地保留暂态特征。上述当前帧的M个块可以是当前帧的第一声道的M个块。
在一种可能的实现方式中,所述根据所述第一调整分组信息对所述第一声道的M个块的频谱进行分组排列,以获得第一待编码频谱,包括:
将所述第一声道的M个块中被所述M个块的第一调整暂态标识指示为暂态块的频谱排列至所述第一声道的M个块中被所述M个块的第一调整暂态标识指示为非暂态块的频谱之前,以获得所述第一待编码频谱;
或,
所述根据所述第二调整分组信息对所述第二声道的M个块的频谱进行分组排列,以获得第二待编码频谱,包括:
将所述第二声道的M个块中被所述M个块的第二调整暂态标识指示为暂态块的频谱排列至所述第二声道的M个块中被所述M个块的第二调整暂态标识指示为非暂态块的频谱之前,以获得所述第二待编码频谱。
在上述方案中,编码端获得M个块的第一调整分组信息之后,根据该第一调整分组信息确定M个块中每个块的暂态标识,先从M个块中找到P个暂态块以及Q个非暂态块,则M=P+Q。将M个块中被M个第一调整暂态标识指示为暂态块的频谱排列至M个块中被M个暂态标识指示为非暂态块的频谱之前,以获得待编码频谱。即在待编码频谱中所有暂态块的频谱位于非暂态块的频谱之前,从而能够将暂态块的频谱调整到编码重要性更高的位置,使得利用神经网络编解码处理后重建的音频信号能更好地保留暂态特征。上述当前帧的M个块可以是当前帧的第一声道的M个块。
在一种可能的实现方式中,所述利用编码神经网络对所述第一待编码频谱和所述第二待编码频谱进行编码之前,所述方法还包括:
对所述第一待编码频谱进行组内交织处理,以获得组内交织处理后的第一频谱;
对所述第二待编码频谱进行组内交织处理,以获得组内交织处理后的第二频谱;
所述利用编码神经网络对所述第一待编码频谱和所述第二待编码频谱进行编码,包括:
利用所述编码神经网络对所述组内交织处理后的第一频谱和所述组内交织处理后的第二频谱进行编码。
在上述方案中,编码端在获得待编码频谱(例如第一待编码频谱和第二待编码频谱)之后,可以先根据各个声道的M个块的分组进行组内的交织处理,从而获得组内交织处理后的M个块的频谱。则组内交织处理后的M个块的频谱可以是编码神经网络的输入数据。上述当前帧的M个块可以是当前帧的第一声道的M个块。通过组内交织处理,还可以减少编码的边信息,提高编码效率。
在一种可能的实现方式中,所述第一声道的M个块中被所述M个第一调整暂态标识指示为暂态块的数量为P个,所述第一声道的M个块中被所述M个第一调整暂态标识指示为非暂态块的数量为Q个,M=P+Q;
所述对所述第一待编码频谱进行组内交织处理,包括:
对所述P个块的频谱进行交织处理,以获得所述P个块的交织处理后的频谱;
对所述Q个块的频谱进行交织处理,以获得所述Q个块的交织处理后的频谱。
在上述方案中,对P个块的频谱进行交织处理包括将所述P个块的频谱作为一个整体来进行交织处理;同理,对Q个块的频谱进行交织处理包括将所述Q个块的频谱作为一个整体来进行交织处理。若第一声道的M个块的调整分组数量为1,则需要对第一声道的M个块的频谱进行组内交织处理,以获得第一声道的M个块的组内交织处理后的频谱。
在一种可能的实现方式中,所述根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识前,所述方法还包括:
获得所述第一声道的第一窗类型,所述第一窗类型为短窗类型或非短窗类型;
获得所述第二声道的第二窗类型,所述第二窗类型为短窗类型或非短窗类型;
当所述第一窗类型和所述第二窗类型均为短窗类型时,才执行根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识的步骤。
在上述方案中,编码端可以先确定当前帧的窗类型,该窗类型可以为短窗类型或非短窗类型,例如编码端根据待编码多声道信号的当前帧确定窗类型。其中,短窗又可以称为短帧,非短窗又可以称为非短帧。当窗类型为短窗类型时,触发执行前述获得第一声道的M个块的M个第一暂态表示的步骤。本申请实施例中在当前帧的窗类型为短窗类型时执行前述的编码方案,实现在多声道信号为暂态信号时的编码。
在一种可能的实现方式中,所述方法还包括:
对所述第一窗类型和所述第二窗类型进行编码以获得窗类型编码结果;
将所述窗类型编码结果写入所述码流。
在上述方案中,编码端在获得当前帧的第一声道的第一窗类型和第二声道的第二窗类型之后,可以在码流中携带该窗类型,首先对该窗类型进行编码,对于该窗类型所采用的编码方式,此处不做限定。通过对窗类型的编码,可以获得窗类型编码结果,该窗类型编码结果可以被写入到码流中,从而使得码流可以携带窗类型编码结果。使得解码端可以通过码流获得窗类型编码结果,解析窗类型编码结果获得当前帧的第一声道的第一窗类型和第二声道的第二窗类型。根据第一声道的第一窗类型和第二声道的第二窗类型确定是否对码流进行继续解码,以获得第一声道的M个块的第一解码分组信息。
在一种可能的实现方式中,所述根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识,包括:
根据所述第一声道的M个块的频谱获得所述第一声道的M个块的M个第一频谱能量;
根据所述M个第一频谱能量获得所述第一声道的M个块的第一频谱能量平均值;
根据所述M个第一频谱能量与所述第一频谱能量平均值获得所述M个第一暂态标识。
在上述方案中,编码端获得M个频谱能量之后,可以将M个频谱能量进行平均,以获得频谱能量平均值,或者将M个频谱能量中的最大值或最大的若干个值剔除之后,再进行平均,以获得频谱能量平均值。通过M个频谱能量中每个块的频谱能量与频谱能量平均值进行比较,以确定每个块的频谱相比于M个块中其它块的频谱的变化情况,进而获得M个块的M个暂态标识,其中,一个块的暂态标识可以用于表示一个块的暂态特征。上述当前帧的M个块可以是当前帧的第一声道的M个块。本申请实施例通过每个块的频谱能量与频谱能量平均值可以确定出每个块的暂态标识,使得一个块的暂态标识能够确定该块的分组信息。
在一种可能的实现方式中,当所述第一块的第一频谱能量大于所述第一频谱能量平均值的K倍时,所述第一块的第一暂态标识指示所述第一块为暂态块;或,
当所述第一块的第一频谱能量小于或等于所述第一频谱能量平均值的K倍时,所述第一块的暂态标识指示所述第一块为非暂态块;
其中,所述K为大于或等于1的实数。
在上述方案中,K的取值有多种,此处不做限定。以M个块中第一块的暂态标识的确定过程为例,当第一块的频谱能量大于频谱能量平均值的K倍时,说明第一块相较于M个块的其它块,频谱变化过大,此时第一块的暂态标识指示第一块为暂态块。当第一块的频谱能量小于或等于频谱能量平均值的K倍时,说明第一块相较于M个块的其它块,频谱变化不大,第一块的暂态标识指示第一块为非暂态块。上述当前帧的M个块可以是当前帧的第一声道的M个块。不限定的是,编码端还可以根据其它方式获得M个块的M个暂态标识,例如获得第一块的频谱能量与频谱能量平均值的差值或者比例值,根据获得的差值或者比例值来确定M个块的M个暂态标识。
第二方面,本申请实施例还提供一种多声道信号的解码方法,包括:
从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息,所述第一解码分组信息用于指示所述第一声道的M个块的第一解码暂态标识;
从所述码流中获得所述当前帧的第二声道的M个块的第二解码分组信息,所述第二解码分组信息用于指示所述第二声道的M个块的第二解码暂态标识;
利用解码神经网络对所述码流进行解码,以获得所述第一声道的M个块的解码频谱和所述第二声道的M个块的解码频谱;
根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号;
根据所述第二解码分组信息和所述第二声道的M个块的解码频谱获得所述第二声道的第二重构信号。
在上述方案中,从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息,第一解码分组信息用于指示所述第一声道的M个块的第一解码暂态标识,同样的方式从码流中获得第二声道的M个块的第二解码分组信息,利用解码神经网络对码流进行解码,以获得第一声道的M个块的解码频谱和第二声道的M个块的解码频谱;利用第一解码分组信息和第一声道的M个块的解码频谱获得第一声道的第一重构信号,同样的,利用第二解码分组信息和第二声道的M个块的解码频谱获得第二声道的第二重构信号。解码码流时获得的第一声道的M个块的第一解码频谱和第二声道的M个块的第二解码频谱分别对应编码端的分组排列后的第一声道的M个块的频谱和分组排列后的第二声道的M个块的频谱,因此可以通过第一解码分组信息和第二解码分组信息获得第一声道的第一重构信号和第二声道的第二重构信号。在进行信号重建时,可以根据多声道信号中不同暂态标识的块进行解码和重构,因此能够提高多声道信号的重建效果。
在一种可能的实现方式中,所述根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号,包括:
当所述第一解码分组信息指示所述第一声道的M个块的第一解码分组数量大于1时,对所述第一声道的M个块的解码频谱进行逆分组排列处理,以获得所述第一声道的M个块的逆分组排列处理后的频谱;
根据所述第一声道的M个块的逆分组排列处理后的频谱获得所述第一声道的第一重构信号;
所述根据所述第二解码分组信息和所述第二声道的M个块的解码频谱获得所述第二声道的第二重构信号包括:
当所述第二解码分组信息指示所述第二声道的M个块的第二解码分组数量大于1时,对所述第二声道的M个块的解码频谱进行逆分组排列处理,以获得所述第二声道的M个块的逆分组排列处理后的频谱;
根据所述第二声道的M个块的逆分组排列处理后的频谱获得所述第二声道的第二重构信号。
在上述方案中,以第一声道的信号重构过程为例,解码端获得M个块的第一解码分组信息,解码端通过码流还获得第一声道的M个块的解码频谱,由于编码端对第一声道的M个块的解码频谱进行了分组排列处理,在解码端需要执行与编码端相逆的流程,因此根据M个块的第一解码分组信息对第一声道的M个块的解码频谱进行逆分组排列处理,以获得第一声道的M个块的逆分组排列处理的频谱,该逆分组排列处理与编码端的分组排列处理相逆。编码端在获得第一声道的M个块的逆分组排列处理的频谱之后,可以通过对第一声道的M个块的逆分组排列处理的频谱进行频域到时域的变换,以此获得第一声道的第一重构信号。
在一种可能的实现方式中,所述根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号,包括:
对所述第一声道的M个块的解码频谱进行组内解交织处理,以获得所述第一声道的M个块的组内解交织处理后的频谱;
根据所述第一声道的M个块的组内解交织处理后的频谱获得所述第一重构信号;
所述根据所述第二解码分组信息和所述第二声道的M个块的解码频谱获得所述第二声道的第二重构信号,包括:
对所述第二声道的M个块的解码频谱进行组内解交织处理,以获得所述第二声道的M个块的组内解交织处理后的频谱;
根据所述第二声道的M个块的组内解交织处理后的频谱获得所述第二重构信号。
在上述方案中,解码端执行的组内解交织为编码端的组内交织的逆过程,此处不再详细说明。
在一种可能的实现方式中,所述第一声道的M个块中被所述M个第一解码暂态标识指示为暂态块的数量为P个,所述第一声道的M个块中被所述M个第一解码暂态标识指示为非暂态块的数量为Q个,其中,M=P+Q;
所述根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号,包括:
对所述第一声道的所述P个块的解码频谱进行组内解交织处理和对所述第一声道的所述Q个块的解码频谱进行组内解交织处理,以获得所述第一声道的M个块的组内解交织处理后的频谱;
根据所述第一解码分组信息对所述第一声道的M个块的组内解交织处理后的频谱进行逆分组排列处理,以获得所述第一声道的M个块的逆分组排列处理后的频谱;
根据所述第一声道的M个块的逆分组排列处理后的频谱获得所述第一声道的第一重构信号。
在上述方案中,对P个块的频谱进行解交织处理包括将所述P个块的频谱作为一个整体来进行解交织处理;同理,对Q个块的频谱进行解交织处理包括将所述Q个块的频谱作为一个整体来进行解交织处理。编码端可以根据暂态组和非暂态组分别进行交织处理,从而可以获得P个块的交织处理后的频谱和Q个块的交织处理后的频谱。P个块的交织处理后的频谱、Q个块的交织处理后的频谱可以作为编码神经网络的输入数据。通过组内交织处理,还可以减少编码的边信息,提高编码效率。由于编码端进行了组内交织,解码端需要执行相应的逆过程,即解码端可以进行解交织处理。若第一声道的M个块的调整分组数量为1,则需要对第一声道的M个块的解码频谱进行组内解交织处理,以获得第一声道的M个块的组内解交织处理后的频谱
在一种可能的实现方式中,所述根据所述第一解码分组信息对所述第一声道的M个块的组内解交织处理后的频谱进行逆分组排列处理,包括:
根据所述第一解码分组信息获得所述第一声道的所述P个块的索引;
根据所述第一解码分组信息获得所述第一声道的所述Q个块的索引;
根据所述P个块的索引和所述Q个块的索引对所述第一声道的M个块的组内解交织处理后的频谱进行所述逆分组排列处理。
在上述方案中,编码端对M个块的频谱进行分组排列之前,M个块的索引是连续的,例如从0至M-1。当编码端进行分组排列之后,M个块的索引不再连续。解码端根据M个块的第一解码分组信息可以获得重构的分组排列后的M个块中的P个块的索引、重构的分组排列后的M个块中的Q个块的索引,通过逆分组排列处理,可以恢复出M个块的索引仍是连续的。
在一种可能的实现方式中,所述方法还包括:
从所述码流中获得当前帧的第一声道的窗类型;
从所述码流中获得所述当前帧的第二声道的窗类型;
当所述第一窗类型和所述第二窗类型均为短窗类型时,才执行从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息的步骤。
在上述方案中,只有在当前帧的第一窗类型和第二窗类型均为短窗类型时可以执行前述的编码方案,实现在多声道信号为暂态信号时的编码。解码端执行与编码端相逆的过程,因此解码端也可以先确定当前帧的第一窗类型和第二窗类型,该窗类型可以为短窗类型或非短窗类型,例如解码端从码流中获得当前帧的窗类型,当前帧包括第一声道和第二声道,则可以获得第一声道的第一窗类型和第二声道的第二窗类型。
在一种可能的实现方式中,所述第一解码分组信息包括:所述第一声道的M个块的第一解码分组数量或第一解码分组数量标识,所述第一解码分组数量标识用于指示所述第一解码分组数量,当所述第一解码分组数量大于1时,所述第一解码分组信息还包括:M个第一解码暂态标识;或者,所述第一解码分组信息包括:所述M个第一解码暂态标识;
和/或,
所述第二解码分组信息包括:所述第二声道的M个块的第二解码分组数量或第二解码分组数量标识,所述第二解码分组数量标识用于指示所述第二解码分组数量,当所述第二解码分组数量大于1时,所述第二解码分组信息还包括:M个第二解码暂态标识;或者,所述第二解码分组信息包括:所述M个第二解码暂态标识。
在上述方案中,编码端在码流中携带分组信息编码结果,该分组信息编码结果包括第一调整分组信息和第二调整分组信息,解码端通过解码码流可以得到第一解码分组信息和第二解码分组信息,第一解码分组信息对应于编码端的第一调整分组信息,第二解码分组信息对应于编码端的第二调整分组信息。例如,第一解码分组信息包括:第一声道的M个块的第一解码分组数量或第一解码分组数量标识,第一解码分组数量表示第一声道的分组数量或者调整分组数量,第一解码分组数量标识用于指示第一声道的分组数量或者调整分组数量。M个第一解码暂态标识用于指示第一声道的M个块分别对应的暂态标识或者调整暂态标识。同样的,第二解码分组信息与第一解码分组信息的说明相类似。
第三方面,本申请实施例还提供一种多声道信号的编码装置,包括:
暂态标识获得模块,用于根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识;所述第一声道的M个块包括所述第一声道的第一块,所述第一块的第一暂态标识用于指示所述第一块为暂态块,或者指示所述第一块为非暂态块;
分组信息获得模块,用于根据所述M个第一暂态标识获得所述第一声道的M个块的第一分组信息;
所述暂态标识获得模块,用于根据所述当前帧的第二声道的M个块的频谱获得所述第二声道的M个块的M个第二暂态标识;所述第二声道的M个块包括所述第二声道的第二块,所述第二块的第二暂态标识用于指示所述第二块为暂态块,或者指示所述第二块为非暂态块;
所述分组信息获得模块,用于根据所述M个第二暂态标识获得所述第二声道的M个块的第二分组信息;
分组信息调整模块,用于当所述第一分组信息和所述第二分组信息满足预设条件时,根据所述第一分组信息和所述第二分组信息获得第一调整分组信息和第二调整分组信息,所述第一调整分组信息与所述第一分组信息对应,所述第二调整分组信息与所述第二分组信息对应;其中,所述第一调整分组信息与所述第一分组信息相同且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息与所述第二分组信息相同;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;
频谱获得模块,用于根据所述第一调整分组信息和所述第一声道的M个块的频谱获得第一待编码频谱;
所述频谱获得模块,用于根据所述第二调整分组信息和所述第二声道的M个块的频谱获得第二待编码频谱;
编码模块,用于利用编码神经网络对所述第一待编码频谱和所述第二待编码频谱进行编码,以获得频谱编码结果;将所述频谱编码结果写入码流。
在本申请的第三方面中,多声道信号的编码装置的组成模块还可以执行前述第一方面以及各种可能的实现方式中所描述的步骤,详见前述对第一方面以及各种可能的实现方式中的说明。
第四方面,本申请实施例还提供一种多声道信号的解码装置,包括:
分组信息获得模块,用于从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息,所述第一解码分组信息用于指示所述第一声道的M个块的第一解码暂态标识;
所述分组信息获得模块,用于从所述码流中获得所述当前帧的第二声道的M个块的第二解码分组信息,所述第二解码分组信息用于指示所述第二声道的M个块的第二解码暂态标识;
解码模块,用于利用解码神经网络对所述码流进行解码,以获得所述第一声道的M个块的解码频谱和所述第二声道的M个块的解码频谱;
重构信号获得模块,用于根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号;
所述重构信号获得模块,用于根据所述第二解码分组信息和所述第二声道的M个块的解码频谱获得所述第二声道的第二重构信号。
在本申请的第四方面中,多声道信号的解码装置的组成模块还可以执行前述第二方面以及各种可能的实现方式中所描述的步骤,详见前述对第二方面以及各种可能的实现方式中的说明。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
第六方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,包括如前述第一方面所述的方法所生成的码流。
第八方面,本申请实施例提供一种通信装置,该通信装置可以包括终端设备或者芯片等实体,所述通信装置包括:处理器、存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述通信装置执行如前述第一方面或第二方面中任一项所述的方法。
第九方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持多声道信号的编码装置或者多声道信号的解码装置实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存多声道信号的编码装置或者多声道信号的解码装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
从以上技术方案可以看出,本申请实施例具有以下优点:
在本申请实施例中,待编码多声道信号的当前帧包括第一声道和第二声道,每个声道包括M个块的频谱,根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得第一声道的M个块的M个第一暂态标识,根据M个第一暂态标识获得第一声道的M个块的第一分组信息,同样的方式可以获得第二声道的M个块的第二分组信息,当第一分组信息和第二分组信息满足预设条件时,根据第一分组信息和第二分组信息获得第一调整分组信息和第二调整分组信息;接下来根据第一调整分组信息和第一声道的M个块的频谱获得第一待编码频谱,同样的可以获得第二待编码频谱,最后利用编码神经网络对第一待编码频谱和第二待编码进行编码,获得了频谱编码结果,通过码流可以携带该频谱编码结果。因此本申请实施例中根据当前帧的各个声道的M个暂态标识获得了各个声道的M个块的分组信息,在各个声道的M个块的分组信息满足预设条件时获得各个声道的M个块的调整分组信息,根据各个声道的M个块的调整分组信息和每个声道的M个块的频谱获得待编码频谱,从而能够实现针对不同暂态标识的块进行分组、调整以及编码,提高对多声道信号的编码质量。
在本申请的另一个实施例中,从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息,第一解码分组信息用于指示所述第一声道的M个块的第一解码暂态标识,同样的方式从码流中获得第二声道的M个块的第二解码分组信息,利用解码神经网络对码流进行解码,以获得第一声道的M个块的解码频谱和第二声道的M个块的解码频谱;利用第一解码分组信息和第一声道的M个块的解码频谱获得第一声道的第一重构信号,同样的,利用第二解码分组信息和第二声道的M个块的解码频谱获得第二声道的第二重构信号。解码码流时获得的第一声道的M个块的第一解码频谱和第二声道的M个块的第二解码频谱分别对应编码端的分组排列后的第一声道的M个块的频谱和分组排列后的第二声道的M个块的频谱,因此可以通过第一解码分组信息和第二解码分组信息获得第一声道的第一重构信号和第二声道的第二重构信号。在进行信号重建时,可以根据多声道信号中不同暂态标识的块进行解码和重构,因此能够提高多声道信号的重建效果。
附图说明
图1为本申请实施例提供的音频处理系统的组成结构示意图;
图2a为本申请实施例提供的音频编码器和音频解码器应用于终端设备的示意图;
图2b为本申请实施例提供的音频编码器应用于无线设备或者核心网设备的示意图;
图2c为本申请实施例提供的音频解码器应用于无线设备或者核心网设备的示意图;
图3a为本申请实施例提供的多声道编码器和多声道解码器应用于终端设备的示意图;
图3b为本申请实施例提供的多声道编码器应用于无线设备或者核心网设备的示意图;
图3c为本申请实施例提供的多声道解码器应用于无线设备或者核心网设备的示意图;
图4为本申请实施例提供的一种多声道信号的编码方法的示意图;
图5为本申请实施例提供的一种多声道信号的解码方法的示意图;
图6为本申请实施例提供的一种音频信号的编解码系统的示意图;
图7为本申请实施例提供的一种多声道信号的编码方法的示意图;
图8为本申请实施例提供的一种多声道信号的解码方法的示意图;
图9为本申请实施例提供的一种多声道信号的编码方法示意图;
图10为本申请实施例提供的一种多声道信号的解码方法的示意图;
图11为本申请实施例提供的一种多声道信号的编码方法的示意图;
图12为本申请实施例提供的一种多声道信号的解码方法的示意图;
图13为本申请实施例提供的一种多声道信号的编码方法示意图;
图14为本申请实施例提供的一种多声道信号的解码方法的示意图;
图15为本申请实施例提供的一种多声道信号的编码装置的组成结构示意图;
图16为本申请实施例提供的一种多声道信号的解码装置的组成结构示意图;
图17为本申请实施例提供的另一种多声道信号的编码装置的组成结构示意图;
图18为本申请实施例提供的另一种多声道信号的解码装置的组成结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
声音(sound)是由物体振动产生的一种连续的波。产生振动而发出声波的物体称为声源。声波通过介质(如:空气、固体或液体)传播的过程中,人或动物的听觉器官能感知到声音。
声波的特征包括音调、音强和音色。音调表示声音的高低。音强表示声音的大小。音强也可以称为响度或音量。音强的单位是分贝(decibel,dB)。音色又称为音品。
声波的频率决定了音调的高低。频率越高音调越高。物体在一秒钟之内振动的次数称为频率,频率单位是赫兹(hertz,Hz)。人耳能识别的声音的频率在20Hz至20000Hz之间。
声波的幅度决定了音强的强弱。幅度越大音强越大。距离声源越近,音强越大。
声波的波形决定了音色。声波的波形包括方波、锯齿波、正弦波和脉冲波等。
根据声波的特征,声音可以分为规则声音和无规则声音。无规则声音是指声源无规则地振动发出的声音。无规则声音例如是影响人们工作、学习和休息等的噪声。规则声音是指声源规则地振动发出的声音。规则声音包括语音和乐音。声音用电表示时,规则声音是一种在时频域上连续变化的模拟信号。该模拟信号可以称为音频信号(acousticsignals)。音频信号是一种携带语音、音乐和音效的信息载体。
由于人的听觉具有辨别空间中声源的位置分布的能力,则听音者听到空间中的声音时,除了能感受到声音的音调、音强和音色外,还能感受到声音的方位。
声音还可以根据分为单声道和立体声。单声道具有一个声音通道,用一个传声器拾取声音,用一个扬声器进行放音。立体声具有多个声音通道,且不同的声音通道传输不同声音波形。
当音频信号为暂态信号时,目前的编码端并未提取暂态特征并在码流中进行传输,该暂态特征用于表示音频信号的暂态帧中相邻块频谱的变化情况,从而在解码端进行信号重建时,无法从码流中获得重建的音频信号的暂态特征,存在音频信号重建效果差的问题。
本申请实施例提供一种音频处理技术,尤其是提供一种面向多声道信号的音频编码技术,以改进传统的音频编码系统,多声道信号是指包括多个声道的音频信号,例如多声道信号可以是立体声信号。音频处理包括音频编码和音频解码两部分。音频编码在源侧执行,包括编码(例如,压缩)原始音频以减少表示该音频所需的数据量,从而更高效地存储和/或传输。音频解码在目的侧执行,包括相对于编码器作逆处理,以重建原始音频。编码部分和解码部分也合称为编码。下面将结合附图对本申请实施例的实施方式进行详细描述。
本申请实施例的技术方案可以应用于各种的音频处理系统,如图1所示,为本申请实施例提供的音频处理系统的组成结构示意图。音频处理系统100可以包括:多声道信号的编码装置101和多声道信号的解码装置102。其中,多声道信号的编码装置101又可以称为音频编码装置,可用于生成码流,然后该音频编码码流可以通过音频传输通道传输给多声道信号的解码装置102,多声道信号的解码装置102又可以称为多音频解码装置,可以接收到码流,然后执行多声道信号的解码装置102的音频解码功能,最后获得重建后的信号。
在本申请的实施例中,该多声道信号的编码装置可以应用于各种有音频通信需要的终端设备、有转码需要的无线设备与核心网设备,例如多声道信号的编码装置可以是上述终端设备或者无线设备或者核心网设备的音频编码器。同样的,该多声道信号的解码装置可以应用于各种有音频通信需要的终端设备、有转码需要的无线设备与核心网设备,例如多声道信号的解码装置可以是上述终端设备或者无线设备或者核心网设备的音频解码器。例如,音频编码器可以包括无线接入网、核心网的媒体网关、转码设备、媒体资源服务器、移动终端、固网终端等,音频编码器还可以是应用于虚拟现实技术(virtual reality,VR)流媒体(streaming)服务中的音频编码器。
在申请实施例中,以适用于虚拟现实流媒体(VR streaming)服务中的音频编码模块(audio encoding及audio decoding)为例,端到端对音频信号的编解码流程包括:音频信号A经过采集模块(acquisition)后进行预处理操作(audioPReprocessing),预处理操作包括滤除掉信号中的低频部分,可以是以20Hz或者50Hz为分界点,提取信号中的方位信息,之后进行编码处理(audio encoding)打包(file/segment encapsulation)之后发送(delivery)到解码端,解码端首先进行解包(file/segment decapsulation),之后解码(audio decoding),对解码信号进行双耳渲染(audio rendering)处理,渲染处理后的信号映射到收听者耳机(headphones)上,可以为独立的耳机,也可以是眼镜设备上的耳机。
如图2a所示,为本申请实施例提供的音频编码器和音频解码器应用于终端设备的示意图。对于每个终端设备都可以包括:音频编码器、信道编码器、音频解码器、信道解码器。具体的,信道编码器用于对音频信号进行信道编码,信道解码器用于对音频信号进行信道解码。例如,在第一终端设备20中可以包括:第一音频编码器201、第一信道编码器202、第一音频解码器203、第一信道解码器204。在第二终端设备21中可以包括:第二音频解码器211、第二信道解码器212、第二音频编码器213、第二信道编码器214。第一终端设备20连接无线或者有线的第一网络通信设备22,第一网络通信设备22和无线或者有线的第二网络通信设备23之间通过数字信道连接,第二终端设备21连接无线或者有线的第二网络通信设备23。其中,上述无线或者有线的网络通信设备可以泛指信号传输设备,例如通信基站,数据交换设备等。
在音频通信中,作为发送端的终端设备首先进行音频采集,对采集到的音频信号进行音频编码,再进行信道编码后,通过无线网络或者核心网进行在数字信道中传输。而作为接收端的终端设备根据接收到的信号进行信道解码,以获得码流,然后经过音频解码恢复出音频信号,由接收端的终端设备进音频回放。
如图2b所示,为本申请实施例提供的音频编码器应用于无线设备或者核心网设备的示意图。其中,无线设备或者核心网设备25包括:信道解码器251、其他音频解码器252、本申请实施例提供的音频编码器253、信道编码器254,其中,其他音频解码器252是指除音频解码器以外的其他音频解码器。在无线设备或者核心网设备25内,首先通过信道解码器251对进入该设备的信号进行信道解码,然后使用其他音频解码器252进行音频解码,然后使用本申请实施例提供的音频编码器253进行音频编码,最后使用信道编码器254对音频信号进行信道编码,完成信道编码之后再传输出去。其中,其他音频解码器252是对信道解码器251解码后的码流进行音频解码。
如图2c所示,为本申请实施例提供的音频解码器应用于无线设备或者核心网设备的示意图。其中,无线设备或者核心网设备25包括:信道解码器251、本申请实施例提供的音频解码器255、其他音频编码器256、信道编码器254,其中,其他音频编码器256是指除音频编码器以外的其他音频编码器。在无线设备或者核心网设备25内,首先通过信道解码器251对进入该设备的信号进行信道解码,然后使用音频解码器255对接收到的音频编码码流进行解码,然后使用其他音频编码器256进行音频编码,最后使用信道编码器254对音频信号进行信道编码,完成信道编码之后再传输出去。在无线设备或者核心网设备中,如果需要实现转码,则需要进行相应的音频编码处理。其中,无线设备指的是通信中的射频相关的设备,核心网设备指的是通信中核心网相关的设备。
在本申请的一些实施例中,该多声道信号的编码装置可以应用于各种有音频通信需要的终端设备、有转码需要的无线设备与核心网设备,例如多声道信号的编码装置可以是上述终端设备或者无线设备或者核心网设备的多声道编码器。同样的,该多声道信号的解码装置可以应用于各种有音频通信需要的终端设备、有转码需要的无线设备与核心网设备,例如多声道信号的解码装置可以是上述终端设备或者无线设备或者核心网设备的多声道解码器。
如图3a所示,为本申请实施例提供的多声道编码器和多声道解码器应用于终端设备的示意图,对于每个终端设备都可以包括:多声道编码器、信道编码器、多声道解码器、信道解码器。该多声道编码器可以执行本申请实施例提供的音频编码方法,该多声道解码器可以执行本申请实施例提供的音频解码方法。具体的,信道编码器用于对多声道信号进行信道编码,信道解码器用于对多声道信号进行信道解码。例如,在第一终端设备30中可以包括:第一多声道编码器301、第一信道编码器302、第一多声道解码器303、第一信道解码器304。在第二终端设备31中可以包括:第二多声道解码器311、第二信道解码器312、第二多声道编码器313、第二信道编码器314。第一终端设备30连接无线或者有线的第一网络通信设备32,第一网络通信设备32和无线或者有线的第二网络通信设备33之间通过数字信道连接,第二终端设备31连接无线或者有线的第二网络通信设备33。其中,上述无线或者有线的网络通信设备可以泛指信号传输设备,例如通信基站,数据交换设备等。音频通信中作为发送端的终端设备对采集到的多声道信号进行多声道编码,再进行信道编码后,通过无线网络或者核心网进行在数字信道中传输。而作为接收端的终端设备根据接收到的信号,进行信道解码,以获得多声道信号编码码流,然后经过多声道解码恢复出多声道信号,由作为接收端的终端设备进回放。
如图3b所示,为本申请实施例提供的多声道编码器应用于无线设备或者核心网设备的示意图,其中,无线设备或者核心网设备35包括:信道解码器351、其他音频解码器352、多声道编码器353、信道编码器354,与前述图2b类似,此处不再赘述。
如图3c所示,为本申请实施例提供的多声道解码器应用于无线设备或者核心网设备的示意图,其中,无线设备或者核心网设备35包括:信道解码器351、多声道解码器355、其他音频编码器356、信道编码器354,与前述图2c类似,此处不再赘述。
其中,音频编码处理可以是多声道编码器中的一部分,音频解码处理可以是多声道解码器中的一部分,例如,对采集到的多声道信号进行多声道编码可以是将采集到的多声道信号经过处理后获得音频信号,再按照本申请实施例提供的方法对获得的音频信号进行编码;解码端根据多声道信号编码码流,解码获得音频信号,经过上混处理后恢复出多声道信号。因此,本申请实施例也可应用于终端设备、无线设备、核心网设备中的多声道编码器和多声道解码器。在无线或者核心网设备中,如果需要实现转码,则需要进行相应的多声道编码处理。
首先介绍本申请实施例提供的一种多声道信号的编码方法,该方法可以由终端设备执行,例如该终端设备可以是一种多声道信号的编码装置(如下简称编码端或者编码器,例如编码端可以是人工智能(artificial intelligence,AI)编码器)。本申请实施例中多声道信号可以包括多个声道,例如第一声道和第二声道,或者多个声道可以包括第一声道、第二声道和第三声道等。后续实施例中着重对第一声道的编码流程进行说明,其它声道的编码流程可以参阅对第一声道的编码处理方式,不再针对每个声道进行详细说明。如图4所示,对本申请实施例中编码端执行的编码流程进行说明:
401.根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得第一声道的M个块的M个第一暂态标识;第一声道的M个块包括第一声道的第一块,第一块的第一暂态标识用于指示第一块为暂态块,或者指示第一块为非暂态块。
编码端首先获得待编码多声道信号,将待编码多声道信号进行分帧处理,以获得待编码多声道信号的当前帧。后续实施例中以对当前帧的编码过程为例进行说明,待编码多声道信号的其它帧的编码方式与当前帧的编码方式类似。待编码多声道信号的当前帧包括第一声道和第二声道,每个声道包括M个块的频谱,例如第一声道可以是左声道,第二声道可以是右声道。或者第一声道和第二声道可以是多个声道中的任意两个声道,或者第一声道和第二声道可以是根据多声道信号获得的两个声道的信号。不限定的是,本申请实施例中,当前帧还可以包括3个声道或者更多声道,此处不做限定。本申请实施例中,针对第一声道和第二声道,获得暂态标识、获得分组信息、分组排列的方式相类似,后续实施例中仅以第一声道的处理为例,第二声道的处理可以参照对第一声道的处理方式,不再赘述。
编码端确定当前帧之后,对当前帧进行加窗处理,并进行时频变换,若当前帧包括M个块,则可以获得当前帧的M个块的频谱,M表示当前帧中包括的块个数,本申请实施例中对于M的取值不做限定,例如,对当前帧的音频信号进行分块(block),得到M个块的音频信号,一个块的音频信号与对该块的音频信号进行加窗时使用的窗函数的长度相同,再对M个块的音频信号进行加窗和时频变换,从而可以得到M个块的频谱。例如,编码端对当前帧的M个块的加窗后的音频信号进行时频变换,以获得M个块的修正的离散余弦变换(modifieddiscrete cosine transform,MDCT)频谱,后续实施例中以M个块的频谱为MDCT频谱为例,不限定的是,M个块的频谱也可以是其它频谱。上述当前帧的M个块可以是当前帧的第一声道的M个块。
编码端获得M个块的频谱之后,根据该M个块的频谱分别获得M个块的M个暂态标识。其中,每个块的频谱用于确定该块的暂态标识,每个块都对应一个暂态标识,一个块的暂态标识用于指示该块在M个块中的频谱变化情况。例如M个块中包括的某一个块为第一块,则该第一块对应一个暂态标识。上述当前帧的M个块可以是当前帧的第一声道的M个块。又如,第一声道的M个块中包括第四块,则第四块与第一块的索引不相同。
在本申请的一些实施例中,暂态标识的取值有多种实现方式,例如暂态标识可以指示第一块为暂态块,或者暂态标识可以指示第一块为非暂态块。其中,一个块的暂态标识为暂态表示该块的频谱相比于M个块中其它块的频谱变化较大,一个块的暂态标识为非暂态表示该块的频谱相比于M个块中其它块的频谱变化不大。例如暂态标识占用1个比特,若暂态标识取值为0则指示对应的块为暂态块,若暂态标识取值为1则指示对应的块为非暂态块。或者,若暂态标识取值为1则指示对应的块为暂态块,若暂态标识取值为0则指示对应的块为非暂态块,此处不做限定。
402.根据M个第一暂态标识获得第一声道的M个块的第一分组信息。
编码端在获得M个块的M个暂态标识之后,该M个块的M个暂态标识用于对M个块的分组,根据M个块的M个暂态标识获得M个块的第一分组信息,该M个块的第一分组信息可表示对M个块的分组方式,M个块的M个暂态标识是M个块的分组的依据,例如暂态标识相同的块可被分入一个组中,不同暂态标识的块被分入不同的组中。上述当前帧的M个块可以是当前帧的第一声道的M个块。
在本申请的一些实施例中,第一分组信息包括:第一声道的M个块的第一分组数量或第一分组数量标识,第一分组数量标识用于指示第一分组数量,当第一分组数量大于1时,第一分组信息还包括:M个第一暂态标识;或者,第一分组信息包括:M个第一暂态标识,也就是说第一分组信息可以不直接包括分组数量,而是由M个第一暂态标识间接指示分组数量,即当M个第一暂态标识指示第一声道的M个块均为暂态块或均为非暂态块时,分组数量为1,当M个第一暂态标识指示第一声道的M个块包括暂态块和非暂态块时,分组数量为2。
其中,M个块的第一分组信息可以有多种实现方式,M个块的第一分组信息包括:M个块的分组数量或分组数量标识,分组数量标识用于指示分组数量,当分组数量大于1时,M个块的第一分组信息还包括:M个块的M个暂态标识;或者,M个块的第一分组信息包括:M个块的M个暂态标识。通过上述M个块的第一分组信息可以指示M个块的分组情况,从而编码端可以使用该分组信息对M个块的频谱进行分组排列。上述当前帧的M个块可以是当前帧的第一声道的M个块。
例如M个块的第一分组信息包括:M个块的分组数量和M个块的暂态标识,该M个块的暂态标识又可以称为分组标志信息,因此本申请实施例中分组信息可以包括分组数量和分组标志信息。例如分组数量的取值可以为1或2。分组标志信息用于指示M个块的暂态标识。
例如M个块的第一分组信息包括:M个块的暂态标识,该M个块的暂态标识又可以称为分组标志信息,因此本申请实施例中分组信息可以包括分组标志信息。例如分组标志信息用于指示M个块的暂态标识。
例如M个块的第一分组信息包括:M个块的分组数量为1,即当分组数量等于1时,M个块的第一分组信息不包括M个暂态标识,而当分组数量大于1时,M个块的第一分组信息还包括:M个块的M个暂态标识。
又如,M个块的第一分组信息中的分组数量还可以替换为分组数量标识,用于指示分组数量,例如分组数量标识为0时指示分组数量为1,分组数量标识为1时指示分组数量为2。
403.根据当前帧的第二声道的M个块的频谱获得第二声道的M个块的M个第二暂态标识;第二声道的M个块包括第二声道的第二块,第二块的第二暂态标识用于指示第二块为暂态块,或者指示第二块为非暂态块;
404.根据M个第二暂态标识获得第二声道的M个块的第二分组信息。
其中,步骤403至404与前述步骤401至402的实现方式类似,此处不再赘述。
编码端获得当前帧的第二声道的M个块的频谱之后,根据该M个块的频谱分别获得M个块的M个暂态标识。其中,每个块的频谱用于确定该块的暂态标识,每个块都对应一个暂态标识,一个块的暂态标识用于指示该块在M个块中的频谱变化情况。例如M个块中包括的某一个块为第二块,则该第二块对应一个暂态标识。又如,第二声道的M个块中包括第三块,则第三块与第二块的索引不相同。
405.当第一分组信息和第二分组信息满足预设条件时,根据第一分组信息和第二分组信息获得第一调整分组信息和第二调整分组信息,第一调整分组信息与第一分组信息对应,第二调整分组信息与第二分组信息对应。
其中,第一调整分组信息与第一分组信息相同且第二调整分组信息是基于对第二分组信息进行调整获得的;或,第一调整分组信息是基于对第一分组信息进行调整获得的且第二调整分组信息与第二分组信息相同;或,第一调整分组信息是基于对第一分组信息进行调整获得的且第二调整分组信息是基于对第二分组信息进行调整获得的。
在本申请的一些实施例中,第一分组信息包括:第一声道的M个块的第一分组数量或第一分组数量标识,第一分组数量标识用于指示第一分组数量,当第一分组数量大于1时,第一分组信息还包括:M个第一暂态标识;或者,第一分组信息包括:M个第一暂态标识;
和/或,
第二分组信息包括:第二声道的M个块的第二分组数量或第二分组数量标识,第二分组数量标识用于指示第二分组数量,当第二分组数量大于1时,第二分组信息还包括:M个第二暂态标识;或者,第二分组信息包括:M个第二暂态标识;
和/或,
第一调整分组信息包括:第一声道的M个块的第一调整分组数量或第一调整分组数量标识,第一调整分组数量标识用于指示第一调整分组数量,当第一调整分组数量大于1时,第一调整分组信息还包括:第一声道的M个块的M个第一调整暂态标识,第一块的第一调整暂态标识与第一块的第一暂态标识不同或第一块的第一调整暂态标识与第一块的第一暂态标识相同;或者,第一调整分组信息包括:M个第一调整暂态标识;
和/或,
第二调整分组信息包括:第二声道的M个块的第二调整分组数量或第二调整分组数量标识,第二调整分组数量标识用于指示第二调整分组数量,当第二调整分组数量大于1时,第二调整分组信息还包括:第二声道的M个块的M个第二调整暂态标识,第二块的第二调整暂态标识与第二块的第二暂态标识不同或第二块的第二调整暂态标识与第二块的第二暂态标识相同;或者,第二调整分组信息包括:M个第二调整暂态标识。
具体的,第一分组信息、第二分组信息、第一调整分组信息、第二调整分组信息的实现方式可以是前述的针对分组信息的具体实现方式中的任意一种,此处不做限定。
需要说明的是,第一调整分组信息和第一分组信息可以相同或者不同,详见前述对第一调整分组信息和第一分组信息的说明,第一分组信息包括:第一声道的M个块的第一分组数量或第一分组数量标识,第一调整分组信息包括:第一声道的M个块的第一调整分组数量或第一调整分组数量标识,当第一分组信息没有被调整时,第一分组数量和第一调整分组数量相同,第一分组数量标识和第一调整分组数量标识相同。当第一分组信息被调整时,第一分组数量和第一调整分组数量可以相同,也可以不同,例如针对第一分组信息的调整并不改变分组数量,则第一分组数量和第一调整分组数量相同,若针对第一分组信息的调整改变了分组数量,则第一分组数量和第一调整分组数量不同,例如第一分组信息调整之前,第一分组数量为2,第一分组信息被调整之后,第一调整分组数量为1。当第一分组信息被调整时,第一分组数量标识和第一调整分组数量标识可以相同,也可以不同。例如第一分组信息调整之前,第一分组数量为2,第一分组数量标识为1,第一分组信息被调整之后,若第一调整分组数量为2,第一分组数量标识仍然为1。同样的,第二调整分组信息和第二分组信息可以相同或者不同,此处不再赘述。
在一种实施方式中,第一调整分组信息指示的第一声道的M个块中的暂态块的数量与第二调整分组信息指示的第二声道的M个块中的暂态块的数量相同。此时,第一调整分组信息指示的第一声道的M个块中的暂态块的位置(索引)与第二调整分组信息指示的第二声道的M个块中的暂态块位置(索引)可以相同,或者第一调整分组信息指示的第一声道的M个块中的暂态块的位置(索引)与第二调整分组信息指示的第二声道的M个块中的暂态块位置(索引)也可以不相同。
在另一种实施方式中,第一调整分组信息指示的第一声道的M个块中的暂态块的数量与第二调整分组信息指示的第二声道的M个块中的暂态块的数量相同,并且,第一调整分组信息指示的第一声道的M个块中的暂态块的位置(索引)与第二调整分组信息指示的第二声道的M个块中的暂态块位置(索引)也相同。
其中,当前帧包括第一声道和第二声道,若上述两个声道的分组信息满足预设的条件,则需要对分组信息进行调整,该预设条件需要结合具体的应用场景来确定,此处不做限定。通过判断第一分组信息和第二分组信息是否满足预设条件,从而可以对第一分组信息和第二分组信息中的至少一个进行调整,使得第一声道的暂态块数量和第二声道的暂态块数量相同,从而便于后续进行编码操作。
当第一分组信息和第二分组信息满足预设条件时,编码端需要对第一分组信息和第二分组信息中的至少一个分组信息进行调整,以获得第一调整分组信息和第二调整分组信息。例如只调整第一分组信息,则第一调整分组信息是基于对第一分组信息进行调整获得的且第二调整分组信息与第二分组信息相同。又如只调整第二分组信息,第一调整分组信息与第一分组信息相同且第二调整分组信息是基于对第二分组信息进行调整获得的。又如,第一分组信息和第二分组信息都调整,则第一调整分组信息是基于对第一分组信息进行调整获得的且第二调整分组信息是基于对第二分组信息进行调整获得的。编码端通过对第一分组信息和第二分组信息中的至少一个分组信息进行调整,以使得调整后的分组信息可以用于分组排列,从而可以得到待编码频谱。
在本申请的一些实施例中,预设条件包括:第一分组信息与第二分组信息不一致。
其中,第一分组信息与第二分组信息不一致是指第一分组信息和第二分组信息不完全一致,第一分组信息与第二分组信息不一致时可以认为第一分组信息和第二分组信息满足预设条件,第一分组信息与第二分组信息一致时可以认为第一分组信息和第二分组信息不满足预设条件。例如第一分组信息的M个块的分组数量与第二分组信息的M个块的分组数量相同,但是第一分组信息包括的M个第一暂态标识与第二分组信息包括的M个第二暂态标识不同。又如第一分组信息的M个块的分组数量与第二分组信息的M个块的分组数量不相同,该预设条件需要结合具体的应用场景来确定,此处不做限定。通过设置上述的预设条件,可以判断是否对第一分组信息和第二分组信息进行调整。
在本申请的一些实施例中,第一分组信息与第二分组信息不一致具有多种实现方式,例如第一分组信息与第二分组信息不一致包括:M个第一暂态标识指示第一声道的M个块包括暂态块和非暂态块,M个第二暂态标识指示第二声道的M个块包括暂态块和非暂态块,且M个第一暂态标识和M个第二暂态标识不一致;
或,
第一分组信息与第二分组信息不一致包括:M个第一暂态标识指示第一声道的M个块包括暂态块和非暂态块,M个第二暂态标识指示第二声道的M个块包括暂态块和非暂态块,第一通道的暂态块数量与第二声道的暂态块数量不同;
或,
第一分组信息与第二分组信息不一致包括:M个第一暂态标识指示第一声道的M个块包括暂态块和非暂态块,M个第二暂态标识指示第二声道的M个块包括暂态块和非暂态块,M个第一暂态标识和M个第二暂态标识不一致,且第一声道的M个块中的第N块和第二声道的M个块中的第N块均为暂态,0≤N<M。
在一种实现方式中,第一声道的M个块中有的块为暂态块,第一声道的M个块中有的块为非暂态块,同样的,第二声道的M个块包括暂态块和非暂态块。M个第一暂态标识和M个第二暂态标识不一致是指M个第一暂态标识中至少有一个暂态标识和M个第二暂态标识中相同索引的暂态标识的取值不同。例如,第一声道的M个块中有1个块A为暂态块,第二声道的M个块中有1个块B为暂态块,若块A在第一声道的M个块中的索引(index)与块B在第二声道的M个块的索引相同,则块A的第一暂态标识与块B的第二暂态标识是一致的。例如第一声道的M个块中有一个块C为非暂态块,第二声道的M个块中有一个块D为暂态块,若块C在第一声道的M个块中的索引与块D在第二声道的M个块的索引相同,则块A的第一暂态标识与块B的第二暂态标识是不一致的。本申请实施例中当M个第一暂态标识和M个第二暂态标识不一致时可以确定第一分组信息和第二分组信息满足预设的条件,此时需要进行分组信息的调整。当M个第一暂态标识和M个第二暂态标识完全一致时可以确定第一分组信息和第二分组信息不满足预设的条件,此时不进行分组信息的调整。
在一种实现方式中,第一声道的M个块中有的块为暂态块,第一声道的M个块中有的块为非暂态块,因此可以统计得到第一声道包括的暂态块数量,同样的,第二声道的M个块包括暂态块和非暂态块,因此可以统计得到第二声道包括的暂态块数量。本申请实施例中当第一通道的暂态块数量与第二声道的暂态块数量不同时可以确定第一分组信息和第二分组信息满足预设的条件,此时需要进行分组信息的调整。当第一通道的暂态块数量与第二声道的暂态块数量相同时可以确定第一分组信息和第二分组信息不满足预设的条件,此时不进行分组信息的调整。
在一种实现方式中,第一声道的M个块中有的块为暂态块,第一声道的M个块中有的块为非暂态块,同样的,第二声道的M个块包括暂态块和非暂态块。M个第一暂态标识和M个第二暂态标识不一致是指M个第一暂态标识中至少有一个暂态标识和M个第二暂态标识中相同索引的暂态标识的取值不同。例如,第一声道的M个块中有1个块A为暂态块,第二声道的M个块中有1个块B为暂态块,若块A在第一声道的M个块中的索引(index)与块B在第二声道的M个块的索引相同,则块A的第一暂态标识与块B的第二暂态标识是一致的。例如第一声道的M个块中有一个块C为非暂态块,第二声道的M个块中有一个块D为暂态块,若块C在第一声道的M个块中的索引与块D在第二声道的M个块的索引相同,则块A的第一暂态标识与块B的第二暂态标识是不一致的。第一声道的M个块中的第N块和第二声道的M个块中的第N块均为暂态,0≤N<M,第一声道的第N块的索引和第二声道的第N块的索引是相同的,N的取值大小以及N的取值个数不做限定,例如N的取值个数为1个时表示第一声道和第二声道具有相同索引的暂态块为1个,例如N的取值个数为2时表示第一声道和第二声道具有相同索引的暂态块为2个。本申请实施例中当M个第一暂态标识和M个第二暂态标识不一致、且第一声道的M个块中的第N块和第二声道的M个块中的第N块均为暂态时可以确定第一分组信息和第二分组信息满足预设的条件,此时需要进行分组信息的调整。当M个第一暂态标识和M个第二暂态标识完全一致、或者M个第一暂态标识和M个第二暂态标识不一致且第一声道和第二声道不具有相同索引的暂态块时可以确定第一分组信息和第二分组信息不满足预设的条件,此时不进行分组信息的调整。
进一步的,在本申请的一些实施例中,第一声道的M个块具有各自的索引,第二声道的M个块具有各自的索引;
当第一分组信息与第二分组信息不一致包括:M个第一暂态标识指示第一声道的M个块包括暂态块和非暂态块,M个第二暂态标识指示第二声道的M个块包括暂态块和非暂态块,且第一声道的暂态块数量与第二声道的暂态块数量不一致时,如果第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引没有交集,步骤405根据第一分组信息和第二分组信息获得第一调整分组信息和第二调整分组信息包括:
当第一声道的暂态块数量小于第二声道的暂态块数量时,对第一分组信息进行调整,以获得第一调整分组信息,第一调整分组信息指示的第一声道的暂态块数量与第二分组信息指示的第二声道的暂态块数量相等;
或,
当第一声道的暂态块数量大于第二声道的暂态块数量时,对第二分组信息进行调整,以获得第二调整分组信息,第二调整分组信息指示的第二声道的暂态块数量与第一分组信息指示的第一声道的暂态块数量相等。
具体的,第一声道的M个块分别具有索引,例如从0至M-1为M个块的索引,同样的,第二声道的M个块分别具有索引,例如从0至M-1为M个块的索引。第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引没有交集,即第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引完全不同。例如暂态块的暂态标识为0,非暂态块的暂态标识为1。例如M的取值为4,第一声道的4个块(索引分别为0-3)的暂态标识为1011(分别对应索引为0-3,即索引为0的块的暂态标识的值为1,索引为1的块的暂态标识的值为0,索引为2的块的暂态标识的值为1,以及索引为3的块的暂态标识的值为1),第二声道的4个块(索引分别为0-3)的暂态标识为0110(分别对应索引为0-3,即索引为0的块的暂态标识的值为0,索引为1的块的暂态标识的值为1,索引为2的块的暂态标识的值为1,以及索引为3的块的暂态标识的值为0),则第一声道和有一个暂态块,第二声道有两个暂态块,第一声道的一个暂态块的索引为1,第二声道的两个暂态块的索引为0和3,第一声道的4个块中的暂态块的索引与第二声道的4个块中的暂态块的索引没有交集。
当第一声道的暂态块数量与第二声道的暂态块数量不一致、且第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引没有交集时,则需要对暂态块数量较小的那个声道的分组信息进行调整,而暂态块数量较多的那个声道的分组信息保持不变,并且调整之后两个声道的分组信息指示的暂态块数量是相同的,通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。其中,第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引没有交集是指,第一声道的M个块中和第二声道的M个块中同一索引对应的两个块的暂态标识均不相同,即,以M为4为例进行说明,第一声道的M个块中索引为0的块的暂态标识与第二声道的M个块中索引为0的块暂态标识不相同,第一声道的M个块中索引为1的块的暂态标识与第二声道的M个块中索引为1的块暂态标识不相同,第一声道的M个块中索引为2的块的暂态标识与第二声道的M个块中索引为2的块暂态标识不相同,并且第一声道的M个块中索引为3的块的暂态标识与第二声道的M个块中索引为3的块暂态标识也不相同。
其中,当第一声道的暂态块数量小于第二声道的暂态块数量时,对第一分组信息进行调整,以获得第一调整分组信息,具体的,第一分组信息的调整可以包括对M个块的第一暂态标识进行调整,例如M个块中的第一块的第一暂态标识从非暂态调整为暂态,以使得第一声道的暂态块数量增加,使得第一调整分组信息中第一声道的暂态块数量(即第一声道的调整后的暂态块数量)与所述第二分组信息指示的所述第二声道的暂态块数量相等。
当第一声道的暂态块数量大于第二声道的暂态块数量时,对第二分组信息进行调整,以获得第二调整分组信息,具体的,第二分组信息的调整可以包括对M个块的第二暂态标识进行调整,例如M个块中的第二块的第二暂态标识从非暂态调整为暂态,以使得第二声道的暂态块数量增加,使得第二调整分组信息中第二声道的暂态块数量(即第二声道的调整后的暂态块数量)与所述第一分组信息指示的所述第一声道的暂态块数量相等。
进一步的,在本申请的一些实施例中,第一声道的M个块具有各自的索引,第二声道的M个块具有各自的索引;
当第一分组信息与第二分组信息不一致包括:M个第一暂态标识指示第一声道的M个块包括暂态块和非暂态块,M个第二暂态标识指示第二声道的M个块包括暂态块和非暂态块,且第一声道的暂态块数量与第二声道的暂态块数量不一致时,如果第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引有交集,步骤405根据第一分组信息和第二分组信息获得第一调整分组信息和第二调整分组信息包括:
当M个第一暂态标识指示的暂态块的索引是M个第二暂态标识指示的暂态块的索引的一部分时,对M个第一暂态标识中的至少一个进行调整以获得M个第一调整暂态标识,M个第一调整暂态标识指示的所有暂态块的索引与M个第二暂态标识指示的所有暂态块的索引相同;
或
当M个第二暂态标识指示的暂态块的索引是M个第一暂态标识指示的暂态块的索引的一部分时,对M个第二暂态标识中的至少一个进行调整以获得M个第二调整暂态标识,M个第二调整暂态标识指示的所有暂态块的索引与M个第一暂态标识指示的所有暂态块的索引相同;
或
当M个第一暂态标识指示的暂态块的索引与M个第二暂态标识指示的暂态块的索引部分相同时,对M个第一暂态标识中的至少一个进行调整以获得M个第一调整暂态标识,对M个第二暂态标识中的至少一个进行调整以获得M个第二调整暂态标识,M个第一调整暂态标识指示的所有暂态块的索引与M个第二调整暂态标识指示的所有暂态块的索引相同。
具体的,第一声道的M个块分别具有索引,例如从0至M-1为M个块的索引,同样的,第二声道的M个块分别具有索引,例如从0至M-1为M个块的索引。第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引有交集,即第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引部分相同,但是并不是完全相同。例如暂态块的暂态标识位0,非暂态块的暂态标识位1。例如M的取值为4,第一声道的4个块的暂态标识为0011,第二声道的4个块的暂态标识为0111,则第一声道有两个暂态块,第二声道有一个暂态块,第一声道的两个暂态块的索引为0和1,第二声道的一个暂态块的索引为0,第一声道的一个暂态块索引0和第二声道的一个暂态块索引0是相同的,即第一声道的4个块中的暂态块的索引与第二声道的4个块中的暂态块的索引有交集。
第一声道的M个块中的暂态块的索引与第二声道的M个块中的暂态块的索引有交集,具有多种实现方式。
在一种实现方式中,例如第一声道的暂态块数量小于第二声道的暂态块数量,即M个第一暂态标识指示的暂态块的索引是M个第二暂态标识指示的暂态块的索引的一部分,此时第一声道的M个块的第一暂态标识需要调整,第二声道的M个块的第二暂态标识保持不变,对M个第一暂态标识中的至少一个进行调整以获得M个第一调整暂态标识,M个第一调整暂态标识指示的所有暂态块的索引与M个第二暂态标识指示的所有暂态块的索引相同,调整之后两个声道的分组信息指示的暂态块数量是相同的,通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。
在一种实现方式中,例如第二声道的暂态块数量小于第一声道的暂态块数量,即M个第二暂态标识指示的暂态块的索引是M个第一暂态标识指示的暂态块的索引的一部分,此时第二声道的M个块的第二暂态标识需要调整,第一声道的M个块的第一暂态标识保持不变,对M个第二暂态标识中的至少一个进行调整以获得M个第二调整暂态标识,M个第二调整暂态标识指示的所有暂态块的索引与M个第一暂态标识指示的所有暂态块的索引相同,调整之后两个声道的分组信息指示的暂态块数量是相同的,通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。
在一种实现方式中,例如第二声道的暂态块数量不等于第一声道的暂态块数量,但是M个第一暂态标识指示的暂态块的索引与M个第二暂态标识指示的暂态块的索引部分相同,此处的部分相同是指第一声道的M个块中的有的暂态块的索引与第二声道的M个块中的有的暂态块的索引部分相同,但是并不是完全相同。此时第一声道的M个块的第一暂态标识需要调整,第二声道的M个块的第二暂态标识需要调整,即两个声道的M个块的暂态标识都需要调整,对M个第一暂态标识中的至少一个进行调整以获得M个第一调整暂态标识,对M个第二暂态标识中的至少一个进行调整以获得M个第二调整暂态标识,M个第一调整暂态标识指示的所有暂态块的索引与M个第二调整暂态标识指示的所有暂态块的索引相同。调整之后两个声道的分组信息指示的暂态块数量是相同的,通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。
接下来对本申请实施例中暂态标识的调整方式进行说明。例如,对M个第一暂态标识中的至少一个进行调整以获得M个第一调整暂态标识,包括:
当第一块的第一暂态标识指示第一块为非暂态块时,如果第二声道的M个块的第三块的第二暂态标识指示第三块为暂态块,将第一块的第一暂态标识调整为第一块的第一调整暂态标识,第一块的第一调整暂态标识指示第一块为暂态块,第一块的索引与第三块的索引相同;
或
对M个第二暂态标识中的至少一个进行调整以获得M个第二调整暂态标识包括:
当第二块的第二暂态标识指示第二块为非暂态块时,如果第一声道的M个块的第四块的第一暂态标识指示第四块为暂态块,将第二块的第二暂态标识调整为第二块的第二调整暂态标识,第二块的第二调整暂态标识指示第二块为暂态块,第二块的索引与第四块的索引相同。
其中,M个第一暂态标识的调整与M个第二暂态标识的调整相类似,接下来以第一暂态标识的调整为例进行说明,当第一块的第一暂态标识指示第一块为非暂态块时,如果第二声道的M个块的第三块的第二暂态标识指示第三块为暂态块,将第一块的第一暂态标识调整为第一块的第一调整暂态标识,第一块的第一调整暂态标识指示第一块为暂态块,第一块的索引与第三块的索引相同。例如,第一块的第一暂态标识为1,而第三块的第二暂态标识为0,第一块的索引和第三块的索引都是4,则第一块的第一调整暂态标识为0。通过这种调整方式,可以使得第一声道和第二声道的暂态块数量相同,从而便于后续针对第一声道和第二声道的频谱进行编码。
本申请的一些实施例中,编码端执行的方法还包括:
A1.对第一调整分组信息,以及第二调整分组信息进行编码,以获得分组信息编码结果。
A2.将分组信息编码结果写入码流。
其中,编码端在获得第一调整分组信息以及第二调整分组信息之后,对第一调整分组信息,以及第二调整分组信息进行编码,获得分组信息编码结果,对于该调整分组信息所采用的编码方式,此处不做限定。通过对调整分组信息的编码,可以获得分组信息编码结果,该分组信息编码结果可以被写入到码流中,从而使得码流可以携带分组信息编码结果,以使得解码端通过解析码流得到分组信息编码结果,进行解析获得第一调整分组信息和第二调整分组信息。
需要说明的是,步骤A2和后续步骤409之间没有先后顺序,可以先执行步骤409,再执行步骤A2,也可以先执行步骤A2,再执行步骤409,或者同时执行步骤A2和步骤409,此处不做限定。
406.根据第一调整分组信息和第一声道的M个块的频谱获得第一待编码频谱。
其中,第一待编码频谱是当前帧的第一声道的第一待编码频谱,第一待编码频谱又可以称为第一声道的分组排列后的M个块的频谱。
以编码端获得第一调整分组信息为例,编码端获得M个块的第一调整分组信息之后,可以使用该M个块的第一调整分组信息对当前帧的M个块的频谱进行处理,第一调整分组信息可用于调整M个块的频谱在当前帧中的排列顺序,通过第一调整分组信息可以生成第一待编码频谱。
在本申请的一些实施例中,当第一调整分组数量大于1或M个第一调整暂态标识指示第一声道的M个块包括暂态块和非暂态块时,根据第一调整分组信息和第一声道的M个块的频谱获得第一待编码频谱包括:
根据第一调整分组信息对第一声道的M个块的频谱进行分组排列,以获得第一待编码频谱。
以编码端获得第一调整分组信息为例,编码端获得M个块的第一调整分组信息之后,可以使用该M个块的第一调整分组信息对当前帧的M个块的频谱进行分组排列,通过对M个块的频谱进行分组排列,从而可以调整M个块的频谱在当前帧中的排列顺序。上述分组排列是根据M个块的第一调整分组信息进行的,M个块的第一调整分组信息是根据M个块的M个暂态标识获得,上述对M个块的分组排列之后,获得分组排列后的M个块的频谱,该分组排列后的M个块的频谱是以M个块的M个暂态标识为分组排序的依据,通过分组排序可以改变M个块的频谱的编码顺序。需要说明的是,上述当前帧的M个块可以是当前帧的第一声道的M个块。
407.根据第二调整分组信息和第二声道的M个块的频谱获得第二待编码频谱。
其中,第二待编码频谱是当前帧的第二声道的第二待编码频谱,第二待编码频谱又可以称为第二声道的分组排列后的M个块的频谱。
在本申请的一些实施例中,当第二调整分组数量大于1或M个第二调整暂态标识指示第二声道的M个块包括暂态块和非暂态块时,根据第二调整分组信息和第二声道的M个块的频谱获得第二待编码频谱包括:
根据第二调整分组信息对第二声道的M个块的频谱进行分组排列,以获得第二待编码频谱。
在本申请的一些实施例中,根据第一调整分组信息对第一声道的M个块的频谱进行分组排列,以获得第一待编码频谱,包括:
B1.将第一声道的M个块中被M个块的第一调整暂态标识指示为暂态块的频谱分到第一暂态组中,以及将第一声道的M个块中被M个块的第一调整暂态标识指示为非暂态块的频谱分到第一非暂态组中;将第一暂态组中的块的频谱排列至第一非暂态组中的块的频谱之前,以获得第一待编码频谱。
其中,编码端获得M个块的第一调整分组信息之后,对M个块基于暂态标识的不同进行分组,从而可以获得暂态组和非暂态组,接下来对M个块在当前帧的频谱中的位置进行排列,将暂态组中的块的频谱排列至非暂态组中的块的频谱之前,以获得待编码频谱。即在待编码频谱中所有暂态块的频谱位于非暂态块的频谱之前,从而能够将暂态块的频谱调整到编码重要性更高的位置,使得利用神经网络编解码处理后重建的音频信号能更好地保留暂态特征。上述当前帧的M个块可以是当前帧的第一声道的M个块。
或,根据第二调整分组信息对第二声道的M个块的频谱进行分组排列,以获得第二待编码频谱,包括:
B2.将第二声道的M个块中被M个块的第二调整暂态标识指示为暂态块的频谱分到第二暂态组中,以及将第二声道的M个块中被M个块的第二调整暂态标识指示为非暂态块的频谱分到第二非暂态组中;将第二暂态组中的块的频谱排列至第二非暂态组中的块的频谱之前,以获得第二待编码频谱。
在本申请的一些实施例中,根据第一调整分组信息对第一声道的M个块的频谱进行分组排列,以获得第一待编码频谱,包括:
C1.将第一声道的M个块中被M个块的第一调整暂态标识指示为暂态块的频谱排列至第一声道的M个块中被M个块的第一调整暂态标识指示为非暂态块的频谱之前,以获得第一待编码频谱。
其中,编码端获得M个块的第一调整分组信息之后,根据该第一调整分组信息确定M个块中每个块的暂态标识,先从M个块中找到P个暂态块以及Q个非暂态块,则M=P+Q。将M个块中被M个第一调整暂态标识指示为暂态块的频谱排列至M个块中被M个暂态标识指示为非暂态块的频谱之前,以获得待编码频谱。即在待编码频谱中所有暂态块的频谱位于非暂态块的频谱之前,从而能够将暂态块的频谱调整到编码重要性更高的位置,使得利用神经网络编解码处理后重建的音频信号能更好地保留暂态特征。上述当前帧的M个块可以是当前帧的第一声道的M个块。
或,根据第二调整分组信息对第二声道的M个块的频谱进行分组排列,以获得第二待编码频谱,包括:
将第二声道的M个块中被M个块的第二调整暂态标识指示为暂态块的频谱排列至第二声道的M个块中被M个块的第二调整暂态标识指示为非暂态块的频谱之前,以获得第二待编码频谱。
408.利用编码神经网络对第一待编码频谱和第二待编码频谱进行编码,以获得频谱编码结果;
409.将频谱编码结果写入码流。
在本申请实施例中,编码端获得第一待编码频谱和第二待编码频谱之后,可以使用编码神经网络进行编码,以生成频谱编码结果,再将该频谱编码结果写入到码流中,编码端可以向解码端发送该码流。
其中,一种可实现的方式是编码端以待编码频谱作为编码神经网络的输入数据,或者还可以对待编码频谱进行其它处理,然后作为编码神经网络的输入数据。经过编码神经网络处理之后,可以生成潜在变量(latent variables),潜在变量表示分组排列后的M个块的频谱的特征。
在本申请的一些实施例中,步骤408利用编码神经网络对第一待编码频谱和第二待编码频谱进行编码之前,编码端执行的方法还包括:
D1.对第一待编码频谱进行组内交织处理,以获得组内交织处理后的第一频谱;
D2.对第二待编码频谱进行组内交织处理,以获得组内交织处理后的第二频谱;
在这种实现场景下,步骤408利用编码神经网络对第一待编码频谱和第二待编码频谱进行编码,包括:
E1.利用编码神经网络对组内交织处理后的第一频谱和组内交织处理后的第二频谱进行编码。
其中,编码端在获得待编码频谱(例如第一待编码频谱和第二待编码频谱)之后,可以先根据各个声道的M个块的分组进行组内的交织处理,从而获得组内交织处理后的M个块的频谱。则组内交织处理后的M个块的频谱可以是编码神经网络的输入数据。上述当前帧的M个块可以是当前帧的第一声道的M个块。通过组内交织处理,还可以减少编码的边信息,提高编码效率。
在本申请的一些实施例中,第一声道的M个块中被M个第一暂态标识指示为暂态块的数量为P个,第一声道的M个块中被M个第一暂态标识指示为非暂态块的数量为Q个,M=P+Q;本申请实施例中对P和Q的取值不做限定。
具体的,步骤D1对第一待编码频谱进行组内交织处理,包括:
D11.对P个块的频谱进行交织处理,以获得P个块的交织处理后的频谱;
D12.对Q个块的频谱进行交织处理,以获得Q个块的交织处理后的频谱。
其中,对P个块的频谱进行交织处理包括将所述P个块的频谱作为一个整体来进行交织处理;同理,对Q个块的频谱进行交织处理包括将所述Q个块的频谱作为一个整体来进行交织处理。
需要说明的是,若第一声道的M个块的调整分组数量为1,则需要对第一声道的M个块的频谱进行组内交织处理,以获得第一声道的M个块的组内交织处理后的频谱。
在执行步骤D11和D12的情况下,步骤E1利用编码神经网络对组内交织处理后的第一频谱和组内交织处理后的第二频谱进行编码,包括:
利用编码神经网络对P个块的交织处理后的频谱、Q个块的交织处理后的频谱进行编码。
其中,在D11至D12中,编码端可以根据暂态组和非暂态组分别进行交织处理,从而可以获得P个块的交织处理后的频谱和Q个块的交织处理后的频谱。P个块的交织处理后的频谱、Q个块的交织处理后的频谱可以作为编码神经网络的输入数据。通过组内交织处理,还可以减少编码的边信息,提高编码效率。
在本申请的一些实施例中,步骤401根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得第一声道的M个块的M个第一暂态标识前,编码端执行的方法还包括:
F1.获得第一声道的第一窗类型,第一窗类型为短窗类型或非短窗类型;
F2.获得第二声道的第二窗类型,第二窗类型为短窗类型或非短窗类型;
F3.当第一窗类型和第二窗类型均为短窗类型时,才执行根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得第一声道的M个块的M个第一暂态标识的步骤。
在编码端执行401之前,编码端可以先确定当前帧的窗类型,该窗类型可以为短窗类型或非短窗类型,例如编码端根据待编码多声道信号的当前帧确定窗类型。其中,短窗又可以称为短帧,非短窗又可以称为非短帧。当窗类型为短窗类型时,触发执行前述步骤401。本申请实施例中在当前帧的窗类型为短窗类型时执行前述的编码方案,实现在多声道信号为暂态信号时的编码。
在本申请的一些实施例中,编码端执行前述步骤F1至F3的情况下,编码端执行的方法还包括:
G1.对第一窗类型和第二窗类型进行编码以获得窗类型编码结果;
G2.将窗类型编码结果写入码流。
其中,编码端在获得当前帧的第一声道的第一窗类型和第二声道的第二窗类型之后,可以在码流中携带该窗类型,首先对该窗类型进行编码,对于该窗类型所采用的编码方式,此处不做限定。通过对窗类型的编码,可以获得窗类型编码结果,该窗类型编码结果可以被写入到码流中,从而使得码流可以携带窗类型编码结果。使得解码端可以通过码流获得窗类型编码结果,解析窗类型编码结果获得当前帧的第一声道的第一窗类型和第二声道的第二窗类型。根据第一声道的第一窗类型和第二声道的第二窗类型确定是否对码流进行继续解码,以获得第一声道的M个块的第一解码分组信息。
在本申请的一些实施例中,步骤401根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得第一声道的M个块的M个第一暂态标识,包括:
H1.根据第一声道的M个块的频谱获得第一声道的M个块的M个第一频谱能量;
H2.根据M个第一频谱能量获得第一声道的M个块的第一频谱能量平均值;
H3.根据M个第一频谱能量与第一频谱能量平均值获得M个第一暂态标识。
其中,编码端获得M个频谱能量之后,可以将M个频谱能量进行平均,以获得频谱能量平均值,或者将M个频谱能量中的最大值或最大的若干个值剔除之后,再进行平均,以获得频谱能量平均值。通过M个频谱能量中每个块的频谱能量与频谱能量平均值进行比较,以确定每个块的频谱相比于M个块中其它块的频谱的变化情况,进而获得M个块的M个暂态标识,其中,一个块的暂态标识可以用于表示一个块的暂态特征。上述当前帧的M个块可以是当前帧的第一声道的M个块。本申请实施例通过每个块的频谱能量与频谱能量平均值可以确定出每个块的暂态标识,使得一个块的暂态标识能够确定该块的分组信息。
进一步的,在本申请的一些实施例中,当第一块的第一频谱能量大于第一频谱能量平均值的K倍时,第一块的第一暂态标识指示第一块为暂态块;或,
当第一块的第一频谱能量小于或等于第一频谱能量平均值的K倍时,第一块的暂态标识指示第一块为非暂态块;
其中,K为大于或等于1的实数。
其中,K的取值有多种,此处不做限定。以M个块中第一块的暂态标识的确定过程为例,当第一块的频谱能量大于频谱能量平均值的K倍时,说明第一块相较于M个块的其它块,频谱变化过大,此时第一块的暂态标识指示第一块为暂态块。当第一块的频谱能量小于或等于频谱能量平均值的K倍时,说明第一块相较于M个块的其它块,频谱变化不大,第一块的暂态标识指示第一块为非暂态块。上述当前帧的M个块可以是当前帧的第一声道的M个块。
不限定的是,编码端还可以根据其它方式获得M个块的M个暂态标识,例如获得第一块的频谱能量与频谱能量平均值的差值或者比例值,根据获得的差值或者比例值来确定M个块的M个暂态标识。
通过前述实施例对编码端的举例说明可知,待编码多声道信号的当前帧包括第一声道和第二声道,每个声道包括M个块的频谱,根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得第一声道的M个块的M个第一暂态标识,根据M个第一暂态标识获得第一声道的M个块的第一分组信息,同样的方式可以获得第二声道的M个块的第二分组信息,当第一分组信息和第二分组信息满足预设条件时,根据第一分组信息和第二分组信息获得第一调整分组信息和第二调整分组信息;接下来根据第一调整分组信息和第一声道的M个块的频谱获得第一待编码频谱,同样的可以获得第二待编码频谱,最后利用编码神经网络对第一待编码频谱和第二待编码进行编码,获得了频谱编码结果,通过码流可以携带该频谱编码结果。因此本申请实施例中根据当前帧的各个声道的M个暂态标识获得了各个声道的M个块的分组信息,在各个声道的M个块的分组信息满足预设条件时获得各个声道的M个块的调整分组信息,根据各个声道的M个块的调整分组信息和每个声道的M个块的频谱获得待编码频谱,从而能够实现针对不同暂态标识的块进行分组、调整以及编码,提高对多声道信号的编码质量。
本申请实施例还提供一种多声道信号的解码方法,该方法可以由终端设备执行,例如该终端设备可以是一种多声道信号的解码装置(如下简称解码端或者解码器,例如该解码端可以是AI解码器)。如图5所示,对本申请实施例中解码端执行的方法主要包括:
501.从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息,第一解码分组信息用于指示第一声道的M个块的第一解码暂态标识。
解码端接收编码端发送的码流,编码端在码流中携带分组信息编码结果,解码端解析该码流可以获得音频信号的当前帧的M个块的第一解码分组信息。解码端根据该M个块的第一解码分组信息可以确定M个块的M个第一解码暂态标识。例如第一解码分组信息可以包括:分组数量和分组标志信息。又如,分组信息可以包括分组标志信息,详见前述编码端的实施例说明。
需要说明的是,第一解码分组信息是解码端对码流进行解码得到的分组信息,例如编码端在码流中携带第一调整分组信息,则解码端得到的第一解码分组信息对应于前述的第一调整分组信息。第一解码分组信息用于指示第一声道的M个块的第一解码暂态标识,第一解码暂态标识对应于编码端的第一暂态标识或者第一调整暂态标识。同样的,后续步骤中得到第二解码分组信息对应于前述的第二调整分组信息,第二解码暂态标识对应于编码端的第二暂态标识或者第二调整暂态标识。
502.从码流中获得当前帧的第二声道的M个块的第二解码分组信息,第二解码分组信息用于指示第二声道的M个块的第二解码暂态标识。
503.利用解码神经网络对码流进行解码,以获得第一声道的M个块的解码频谱和第二声道的M个块的解码频谱。
其中,解码端获得码流之后,利用解码神经网络对码流进行解码,获得第一声道的M个块的解码频谱和第二声道的M个块的解码频谱,由于编码端对第一声道的M个块的解码频谱和第二声道的M个块的解码频谱进行分组排列后进行了编码,编码端在码流中携带频谱编码结果,该第一声道的M个块的解码频谱和第二声道的M个块的解码频谱对应于编码端的分组排列后的第一声道的M个块的频谱和第二声道的M个块的频谱,其中,解码端的解码神经网络与编码端的编码神经网络的执行过程相逆,通过解码,可以获得第一声道的M个块的解码频谱和第二声道的M个块的解码频谱。
504.根据第一解码分组信息和第一声道的M个块的解码频谱获得第一声道的第一重构信号。
第一声道的M个块的第一解码频谱对应于编码端的分组排列后的第一声道的M个块的频谱,因此可以通过第一解码分组信息获得第一声道的第一重构信号。在进行信号重建时,可以根据多声道信号中具有不同暂态标识的块进行解码和重构,因此能够提高多声道信号的重建效果。
505.根据第二解码分组信息和第二声道的M个块的解码频谱获得第二声道的第二重构信号。
第二声道的M个块的第二解码频谱对应于编码端的分组排列后的第二声道的M个块的频谱,因此可以通过第二解码分组信息获得第二声道的第二重构信号。在进行信号重建时,可以根据多声道信号中具有不同暂态标识的块进行解码和重构,因此能够提高多声道信号的重建效果。
在本申请的一些实施例中,根据第一解码分组信息和第一声道的M个块的解码频谱获得第一声道的第一重构信号,包括:
当第一解码分组信息指示第一声道的M个块的第一解码分组数量大于1时,对第一声道的M个块的解码频谱进行逆分组排列处理,以获得第一声道的M个块的逆分组排列处理后的频谱;
根据第一声道的M个块的逆分组排列处理后的频谱获得第一声道的第一重构信号;
根据第二解码分组信息和第二声道的M个块的解码频谱获得第二声道的第二重构信号包括:
当第二解码分组信息指示第二声道的M个块的第二解码分组数量大于1时,对第二声道的M个块的解码频谱进行逆分组排列处理,以获得第二声道的M个块的逆分组排列处理后的频谱;
根据第二声道的M个块的逆分组排列处理后的频谱获得第二声道的第二重构信号。
以第一声道的信号重构过程为例,解码端获得M个块的第一解码分组信息,解码端通过码流还获得第一声道的M个块的解码频谱,由于编码端对第一声道的M个块的解码频谱进行了分组排列处理,在解码端需要执行与编码端相逆的流程,因此根据M个块的第一解码分组信息对第一声道的M个块的解码频谱进行逆分组排列处理,以获得第一声道的M个块的逆分组排列处理的频谱,该逆分组排列处理与编码端的分组排列处理相逆。
编码端在获得第一声道的M个块的逆分组排列处理的频谱之后,可以通过对第一声道的M个块的逆分组排列处理的频谱进行频域到时域的变换,以此获得第一声道的第一重构信号。
其中,第二声道的解码过程的实现方式,与前述对第一声道进行解码的过程相类似,此处不再赘述。
在本申请的一些实施例中,步骤504根据第一解码分组信息和第一声道的M个块的解码频谱获得第一声道的第一重构信号,包括:
I1.对第一声道的M个块的解码频谱进行组内解交织处理,以获得第一声道的M个块的组内解交织处理后的频谱;
J1.根据第一声道的M个块的组内解交织处理后的频谱获得第一重构信号。
其中,解码端执行的组内解交织为编码端的组内交织的逆过程,此处不再详细说明。
步骤505根据第二解码分组信息和第二声道的M个块的解码频谱获得第二声道的第二重构信号,包括:
对第二声道的M个块的解码频谱进行组内解交织处理,以获得第二声道的M个块的组内解交织处理后的频谱;
根据第二声道的M个块的组内解交织处理后的频谱获得第二重构信号。
在本申请的一些实施例中,第一声道的M个块中被M个第一解码暂态标识指示为暂态块的数量为P个,第一声道的M个块中被M个第一解码暂态标识指示为非暂态块的数量为Q个,其中,M=P+Q;
根据第一解码分组信息和第一声道的M个块的解码频谱获得第一声道的第一重构信号,包括:
对第一声道的P个块的解码频谱进行组内解交织处理和对第一声道的Q个块的解码频谱进行组内解交织处理,以获得第一声道的M个块的组内解交织处理后的频谱;
根据第一解码分组信息对第一声道的M个块的组内解交织处理后的频谱进行逆分组排列处理,以获得第一声道的M个块的逆分组排列处理后的频谱;
根据第一声道的M个块的逆分组排列处理后的频谱获得第一声道的第一重构信号。
其中,对P个块的频谱进行解交织处理包括将所述P个块的频谱作为一个整体来进行解交织处理;同理,对Q个块的频谱进行解交织处理包括将所述Q个块的频谱作为一个整体来进行解交织处理。
其中,编码端可以根据暂态组和非暂态组分别进行交织处理,从而可以获得P个块的交织处理后的频谱和Q个块的交织处理后的频谱。P个块的交织处理后的频谱、Q个块的交织处理后的频谱可以作为编码神经网络的输入数据。通过组内交织处理,还可以减少编码的边信息,提高编码效率。由于编码端进行了组内交织,解码端需要执行相应的逆过程,即解码端可以进行解交织处理。
需要说明的是,若第一声道的M个块的调整分组数量为1,则需要对第一声道的M个块的解码频谱进行组内解交织处理,以获得第一声道的M个块的组内解交织处理后的频谱。
在本申请的一些实施例中,第一声道的M个块中被M个第一解码暂态标识指示为暂态块的数量为P个,第一声道的M个块中被M个第一解码暂态标识指示为非暂态块的数量为Q个,M=P+Q;
根据第一解码分组信息对第一声道的M个块的解码频谱进行逆分组排列处理,包括:
K1.根据第一解码分组信息获得第一声道的P个块的索引;
K2.根据第一解码分组信息获得第一声道的Q个块的索引;
K3.根据P个块的索引和Q个块的索引对第一声道的M个块的解码频谱进行逆分组排列处理。
其中,编码端对M个块的频谱进行分组排列之前,M个块的索引是连续的,例如从0至M-1。当编码端进行分组排列之后,M个块的索引不再连续。解码端根据M个块的第一解码分组信息可以获得重构的分组排列后的M个块中的P个块的索引、重构的分组排列后的M个块中的Q个块的索引,通过逆分组排列处理,可以恢复出M个块的索引仍是连续的。
在本申请的一些实施例中,解码端执行的方法还包括:
L1.从码流中获得当前帧的第一声道的窗类型;
L2.从码流中获得当前帧的第二声道的窗类型;
L2.当第一窗类型和第二窗类型均为短窗类型时,才执行从码流中获得当前帧的第一声道的M个块的第一解码分组信息的步骤。
其中,本申请实施例中只有在当前帧的第一窗类型和第二窗类型均为短窗类型时可以执行前述的编码方案,实现在多声道信号为暂态信号时的编码。解码端执行与编码端相逆的过程,因此解码端也可以先确定当前帧的第一窗类型和第二窗类型,该窗类型可以为短窗类型或非短窗类型,例如解码端从码流中获得当前帧的窗类型,当前帧包括第一声道和第二声道,则可以获得第一声道的第一窗类型和第二声道的第二窗类型。其中,短窗又可以称为短帧,非短窗又可以称为非短帧。当窗类型为短窗类型时,触发执行前述步骤501。
在本申请的一些实施例中,第一解码分组信息包括:第一声道的M个块的第一解码分组数量或第一解码分组数量标识,第一解码分组数量标识用于指示第一解码分组数量,当第一解码分组数量大于1时,第一解码分组信息还包括:M个第一解码暂态标识;或者,第一解码分组信息包括:M个第一解码暂态标识;
和/或,
第二解码分组信息包括:第二声道的M个块的第二解码分组数量或第二解码分组数量标识,第二解码分组数量标识用于指示第二解码分组数量,当第二解码分组数量大于1时,第二解码分组信息还包括:M个第二解码暂态标识;或者,第二解码分组信息包括:M个第二解码暂态标识。
其中,编码端在码流中携带分组信息编码结果,该分组信息编码结果包括第一调整分组信息和第二调整分组信息,解码端通过解码码流可以得到第一解码分组信息和第二解码分组信息,第一解码分组信息对应于编码端的第一调整分组信息,第二解码分组信息对应于编码端的第二调整分组信息。例如,第一解码分组信息包括:第一声道的M个块的第一解码分组数量或第一解码分组数量标识,第一解码分组数量表示第一声道的分组数量或者调整分组数量,第一解码分组数量标识用于指示第一声道的分组数量或者调整分组数量。M个第一解码暂态标识用于指示第一声道的M个块分别对应的暂态标识或者调整暂态标识。同样的,第二解码分组信息与第一解码分组信息的说明相类似,此处不再赘述。
通过前述实施例对解码端的举例说明可知,从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息,第一解码分组信息用于指示所述第一声道的M个块的第一解码暂态标识,同样的方式从码流中获得第二声道的M个块的第二解码分组信息,利用解码神经网络对码流进行解码,以获得第一声道的M个块的解码频谱和第二声道的M个块的解码频谱;利用第一解码分组信息和第一声道的M个块的解码频谱获得第一声道的第一重构信号,同样的,利用第二解码分组信息和第二声道的M个块的解码频谱获得第二声道的第二重构信号。解码码流时获得的第一声道的M个块的第一解码频谱和第二声道的M个块的第二解码频谱分别对应编码端的分组排列后的第一声道的M个块的频谱和分组排列后的第二声道的M个块的频谱,因此可以通过第一解码分组信息和第二解码分组信息获得第一声道的第一重构信号和第二声道的第二重构信号。在进行信号重建时,可以根据多声道信号中不同暂态标识的块进行解码和重构,因此能够提高多声道信号的重建效果。
为便于更好的理解和实施本申请实施例的上述方案,下面举例相应的应用场景来进行具体说明。
如图6所示,为本申请实施例提供的在广播电视领域应用的系统架构的示意图,本申请实施例也可以应用于广播电视的直播场景和后期制作场景,或应用于终端媒体播放中的三维声编解码器。
在直播场景下,直播节目三维声制作出的三维声信号经过应用本申请实施例的三维声编码获得码流,经广电网络传输到用户侧,由机顶盒中的三维声解码器进行解码重建三维声信号,由扬声器组进行回放。后期制作场景下,后期节目三维声制作出的三维声信号经过应用本申请实施例的三维声编码获得码流,经广电网络或者互联网传输到用户侧,由网络接收器或者移动终端中的三维声解码器进行解码重建三维声信号,由扬声器组或者耳机进行回放。
本申请实施例提供音频编解码器,音频编解码器具体可以包括无线接入网、核心网的媒体网关、转码设备、媒体资源服务器等,移动终端、固网终端等。还可以应用于广播电视或终端媒体播放、VR streaming服务中的音频编解码器。
接下来分别对本申请实施例中编码端和解码端的应用场景进行说明。
如图7所示,应用本申请实施例提出的编码器执行如下的多声道信号的编码方法,包括:
S11.确定当前帧的窗类型。
获得当前帧的音频信号,根据当前帧的音频信号确定当前帧的窗类型,并将窗类型写入码流。
一种具体的实现方式包括如下三个步骤:
1).将待编码音频信号进行分帧处理,获得当前帧的音频信号。
例如,当前帧的帧长为L个样点,则当前帧的音频信号为L点时域信号。
2).根据当前帧的音频信号进行暂态检测,确定当前帧的暂态信息。
进行暂态检测的方法有多种,本申请实施例不做限定。当前帧的暂态信息可以包括当前帧是否为暂态信号的标识、当前帧暂态发生的位置以及表征暂态程度的参数中的一种或多种。其中,暂态程度可以是暂态能量高低,或者是暂态发生位置的信号能量与相邻的非暂态位置的信号能量比。
3).根据当前帧的暂态信息,确定当前帧的窗类型,对所述当前帧的窗类型进行编码并将编码结果写入码流。
如果当前帧的暂态信息表征了当前帧为暂态信号,则当前帧的窗类型为短窗。
如果当前帧的暂态信息表征了当前帧为非暂态信号,则当前帧的窗类型为不包括短窗在内的其他窗类型。本申请实施例对其他窗类型不做限定,例如其他窗类型可以包括:长窗、切入窗、切出窗等。
S12.若当前帧的窗类型为短窗,对当前帧的音频信号进行短窗的加窗处理并进行时频变换,获得所述当前帧的M个块的MDCT频谱。
若当前帧的窗类型为短窗,对当前帧的音频信号进行短窗的加窗处理并进行时频变换,获得M个块的MDCT频谱。
例如,若当前帧的窗类型为短窗,使用M个叠接的短窗窗函数进行加窗处理,获得加窗后的M个块的音频信号,M为大于等于2的正整数。例如,短窗窗函数的窗长为2L/M,L为当前帧的帧长,叠接长度为L/M。例如,M等于8,L等于1024,短窗窗函数的窗长为256个样点,叠接长度为128个样点。
对加窗后的M个块的音频信号分别进行时频变换,获得当前帧的M个块的MDCT频谱。
例如,当前块的加窗后的音频信号的长度为256个样点,经过MDCT变换后,获得128点MDCT系数,即为当前块的MDCT频谱。
S13.根据M个块的MDCT频谱,获得当前帧的分组数量和分组标志信息,对所述当前帧的分组数量和分组标志信息进行编码并将编码结果写入码流。
在步骤S13获得当前帧的分组数量和分组标志信息之前,在一种实现方式中:首先,对M个块的MDCT频谱进行交织处理,获得交织后的M个块的MDCT频谱;接下来,对交织后的M个块的MDCT频谱进行编码预处理操作,获得预处理的MDCT频谱;然后对预处理的MDCT频谱进行解交织处理,获得解交织处理的M个块的MDCT频谱;最后,根据解交织处理的M个块的MDCT频谱确定当前帧的分组数量和分组标志信息。
对M个块的MDCT频谱进行交织处理,是将M个长度为L/M的MDCT频谱交织为长度为L的MDCT频谱。将M个块的MDCT频谱中频点位置为i的M个频谱系数按照所在块的序号从0到M-1顺序排列在一起,然后将M个块的MDCT频谱中频点位置为i+1的M个频谱系数按照所在块的序号从0到M-1顺序排列在一起,i的取值为从0开始直到L/M-1。
其中,编码预处理操作可以包括:频域噪声整形(frequency domain noiseshaping,FDNS)、时域噪声整形(temporal noise shaping,TNS)以及带宽扩展(bandwidthextension,BWE)等处理,这里不做限定。
解交织处理为交织处理的逆过程。预处理的MDCT频谱长度为L,将长度为L的预处理的MDCT频谱分成M个长度为L/M的MDCT频谱,每个块中的MDCT频谱按照频点从小到大排列,即可获得解交织处理的M个块的MDCT频谱。在对交织处理的频谱进行预处理,可以减少编码边信息,从而减少边信息的比特占用,提高编码效率。
根据解交织处理的M个块的MDCT频谱确定当前帧的分组数量和分组标志信息。具体方法包括如下3个步骤:
a).计算M个块的MDCT频谱能量。
假设解交织处理的M个块的MDCT频谱系数为mdctSpectrum[8][128],计算各个块的MDCT频谱能量,记为enerMdct[8]。其中,8为M的取值,128表示一个块中的MDCT系数的个数。
b).根据M个块的MDCT频谱能量,计算MDCT频谱能量的平均值。主要包括如下两种方法:
方法一:直接计算M个块的MDCT频谱能量的平均值,即enerMdct[8]的平均值,作为MDCT频谱能量的平均值avgEner。
方法二:确定M个块中MDCT频谱能量最大的块;计算除能量最大的1个块之外其他M-1个块的MDCT频谱能量的平均值,作为MDCT频谱能量的平均值avgEner。或者计算除能量最大的若干个块之外其他块的MDCT频谱能量的平均值,作为MDCT频谱能量的平均值avgEner。
c).根据M个块的MDCT频谱能量与MDCT频谱能量的平均值,确定当前帧的分组数量和分组标志信息,写入码流。
具体可以是:将各个块的MDCT频谱能量与MDCT频谱能量的平均值进行比较。如果当前块的MDCT频谱能量大于MDCT频谱能量的平均值的K倍,则当前块为暂态块,当前块的暂态标识为0;否则,当前块为非暂态块,当前块的非暂态标识为1。其中,K大于等于1,例如K=2。根据各个块的暂态标识,将M个块进行分组,确定分组数量和分组标志信息。其中,暂态标识值相同的为一组,M个块被分成N个组,N就是分组数量。分组标志信息为M个块中每个块的暂态标识值构成的信息。
例如,暂态块构成暂态组,非暂态块构成非暂态组。具体可以是:如果各个块的暂态标识不完全相同,则当前帧的分组数量numGroups为2,否则为1。分组数量可以由分组数量标识来表示。例如,分组数量标识为1,表示当前帧的分组数量为2;分组数量标识为0,表示当前帧的分组数量为1。根据M个块的暂态标识确定当前帧的分组标志信息groupIndicator。例如,将M个块的暂态标识顺序排列构成当前帧的分组标志信息groupIndicator。
在步骤S13获得分组数量和分组标志信息之前,另一种实现方式是:不对M个块的MDCT频谱进行交织处理和解交织处理,直接根据M个块的MDCT频谱确定当前帧的分组数量和分组标志信息,对所述当前帧的分组数量和分组标志信息进行编码并将编码结果写入码流。
根据M个块的MDCT频谱确定当前帧的分组数量和分组标志信息,与根据解交织后的M个块的MDCT频谱确定当前帧的分组数量和分组标志信息类似,这里不再赘述。
将当前帧的分组数量和分组标志信息,写入码流。
此外,非暂态组还可以进一步分成两个或两个以上的其他组,本申请实施例不做限定。例如,非暂态组可以分成谐波组和非谐波组。
S14.根据当前帧的分组数量和分组标志信息对M个块的MDCT频谱进行分组排列,获得分组排列的MDCT频谱。该分组排列的MDCT频谱即为当前帧的待编码频谱。
如果当前帧的分组数量为2,则需要对当前帧的M个块的音频信号频谱进行分组排列。排列的方式为:将M个块中属于暂态组的若干个块调整到前面,属于非暂态组的若干个块调整到后面。其中,编码器的编码神经网络对于排在前面的频谱会有更好的编码效果,因此将暂态块调整到前面可以确保暂态块的编码效果,从而保留更多的暂态块的频谱细节,提升编码质量。
根据当前帧的分组数量和分组标志信息对当前帧的M个块的MDCT频谱进行分组排列,也可以是根据当前帧的分组数量和分组标志信息对当前帧解交织后的M个块的MDCT频谱进行分组排列。
S15.利用编码神经网络对分组排列的MDCT频谱进行编码,写入码流。
分组排列的MDCT频谱先进行组内交织处理,获得组内交织的MDCT频谱。然后,再利用编码神经网络,对组内交织的MDCT频谱进行编码。组内交织处理与前述获得分组数量和分组标志信息之前对M个块的MDCT频谱进行的交织处理类似,只是交织的对象为属于同一分组内的MDCT频谱。例如,对属于暂态组的MDCT频谱块进行交织处理。对属于非暂态组的MDCT频谱块进行交织处理。
编码神经网络处理是预先训练好的,本申请实施例对编码神经网络的具体网络结构和训练方法不做限定。例如编码神经网络可以选择全连接网络或者卷积神经网络(convolutional neural networks,CNN)。
如图8所示,与编码端对应的解码流程,包括:
S21.根据接收到的码流解码,获得当前帧的窗类型。
S22.若当前帧的窗类型为短窗,则根据接收到的码流解码,获得分组数量和分组标志信息。
可以解析码流中的分组数量标识信息,根据分组数量标识信息确定当前帧的分组数量。例如,分组数量标识为1,表示当前帧的分组数量为2;分组数量标识为0,表示当前帧的分组数量为1。
如果当前帧的分组数量大于1,则可以根据接收到的码流解码,获得分组标志信息。
根据接收到的码流解码,获得分组标志信息,可以是:从码流中读取M比特的分组标志信息。根据分组标志信息的第i个比特位的值可以确定第i个块是否为暂态块。若第i个比特位的值为0,表示第i个块为暂态块;第i个比特位的值为1,表示第i个块为非暂态块。
S23.根据接收到的码流,利用解码神经网络,获得解码MDCT频谱。
解码端的解码流程与编码端的编码流程相对应。具体步骤包括:
首先,根据接收到的码流解码,利用解码神经网络,获得解码MDCT频谱。
然后,根据分组数量和分组标志信息,可以确定属于同一分组的解码MDCT频谱。对属于同一分组的MDCT频谱进行组内解交织处理,获得组内解交织处理的MDCT频谱。该组内解交织处理的过程与编码端获得分组数量和分组标志信息之前对交织处理的M个块的MDCT频谱的解交织处理相同。
S24.根据分组数量和分组标志信息,对组内解交织处理的MDCT频谱进行逆分组排列处理,获得逆分组排列处理的MDCT频谱。
如果当前帧的分组数量大于1,则需要根据分组标志信息对组内解交织处理的MDCT频谱进行逆分组排列处理。解码端的逆分组排列处理是编码端分组排列处理的逆过程。
例如,假设组内解交织处理的MDCT频谱是由M个L/M点的MDCT频谱块构成。根据分组标志信息确定第i个暂态块的块索引idx0(i),将组内解交织处理的MDCT频谱中第i个块的MDCT频谱作为逆分组排列处理的MDCT频谱中的第idx0(i)个块的MDCT频谱。第i个暂态块的块索引idx0(i)为分组标志信息中第i个标志值为0的块对应的块索引,i从0开始。暂态块的数量为分组标志信息中标志值为0的比特位的数量,记作num0。在处理完暂态块后,需要对非暂态块进行处理。根据分组标志信息确定第j个非暂态块的块索引idx1(j),将组内解交织处理的MDCT频谱中第num0+j个块的MDCT频谱作为逆分组排列处理的MDCT频谱中的第idx1(j)个块的MDCT频谱。第j个非暂态块的块索引idx1(j)为分组标志信息中第j个标志值为1的块对应的块索引,j从0开始。
S25.根据逆分组排列处理的MDCT频谱,获得当前帧的重构音频信号。
根据逆分组排列处理的MDCT频谱,获得重构音频信号,一种具体的实现方式是:首先,对逆分组排列处理的M个块的MDCT频谱进行交织处理,获得M个块的交织处理的MDCT频谱;接下来,对M个块的交织处理的MDCT频谱进行解码后处理操作,例如解码后处理可以包括逆TNS、逆FDNS、BWE处理等等,解码后处理跟编码端的编码预处理方式一一对应,获得解码后处理的MDCT频谱;然后对解码后处理的MDCT频谱进行解交织处理,获得M个块的解交织处理的MDCT频谱;最后,分别对M个块的解交织处理的MDCT频谱进行频域到时域的变换,并进行去加窗及叠接相加处理后,获得重构音频信号。
根据逆分组排列处理的MDCT频谱,获得重构音频信号的另一种具体的实现方式是:分别对M个块的MDCT谱进行频域到时域的变换,并进行去加窗及叠接相加处理后,获得重构音频信号。
如图9所示,编码端执行的多声道信号的编码方法包括:
S31.对输入信号进行分帧处理,获得当前帧的输入信号。
例如,帧长为1024,当前帧的输入信号为1024点音频信号。
S32.根据获得当前帧的输入信号进行暂态检测,获得暂态检测结果。
例如,将当前帧的输入信号分为L个块,计算每个块中的信号能量,如果相邻块中的信号能量发生突变,则认为当前帧为暂态信号。例如,L为大于2的正整数,可以取L=8。如果相邻块中的信号能量之间的差异大于预先设定的阈值,则认为当前帧为非暂态信号。
S33.根据暂态检测结果,确定当前帧的窗类型。
如果当前帧的暂态检测结果为暂态信号,则当前帧的窗类型为短窗,否则为长窗。
当前帧的窗类型除了短窗和长窗,还可以增加切入窗和切出窗。设当前帧的帧序号为i,根据i-1帧和i-2帧的暂态检测结果和当前帧的暂态检测结果,确定当前帧的窗类型。
如果第i帧、第i-1帧和第i-2帧的暂态检测结果均为非暂态信号,则第i帧的窗类型为长窗。
如果第i帧的暂态检测结果为暂态信号,第i-1帧和第i-2帧的暂态检测结果为非暂态信号,则第i帧的窗类型为切入窗。
如果第i帧和第i-1帧的暂态检测结果为非暂态信号,第i-2帧的暂态检测结果为暂态信号,则第i帧的窗类型为切出窗。
如果第i帧、第i-1帧和第i-2帧的暂态检测结果为除以上三种情况外的其他情况,则第i帧的窗类型为短窗。
S34.根据当前帧的窗类型,进行加窗及时频变换处理,获得当前帧的MDCT频谱。
根据长窗、切入窗、切出窗和短窗类型,分别进行加窗和MDCT变换:对长窗、切入窗、切出窗,若加窗后信号长度为2048,则获得1024个MDCT系数;对短窗,则加8个叠接的长度为256的短窗,每个短窗获得128个MDCT系数,将每个短窗的128点MDCT系数称为一个块,共1024个MDCT系数。
确定当前帧的窗类型是否为短窗,若是,执行如下步骤S35,若不是,执行如下步骤S312。
S35.若当前帧的窗类型为短窗,对当前帧的MDCT频谱进行交织处理,获得交织后的MDCT频谱。
若当前帧的窗类型为短窗,将8个块的MDCT频谱进行交织处理,即将8个128维度的MDCT频谱交织为长度1024的MDCT频谱。
交织后频谱形式可以是:block 0bin 0,block 1bin 0,block 2bin 0,…,block7bin 0,block 0bin 1,block 1,bin 1,block 2bin 1,…,block 7bin 1,…。
其中,block 0bin 0表示第0个块的第0个频点。
S36.对交织后的MDCT频谱进行编码预处理,获得预处理的MDCT频谱。
预处理可以包括FDNS、TNS、BWE等处理。
S37.对预处理的MDCT频谱进行解交织处理,获得M个块的MDCT频谱。
按与步骤S35相反的方式进行解交织,获得8个块的MDCT频谱,其中,每个块128点。
S38.根据M个块的MDCT频谱,确定分组信息。
信息可以包括分组数量numGroups和分组标志信息groupIndicator。根据M个块的MDCT频谱,确定分组信息的具体方案可以是编码端执行的前述步骤S13中的任何一种。例如,设短帧中8个块的MDCT频谱系数为mdctSpectrum[8][128],则计算各个块的MDCT频谱能量,记为enerMdct[8]。计算8个块的MDCT频谱能量的平均值,记为avgEner,此处有两种计算MDCT频谱能量的平均值的方法:
方法1:直接计算8个块MDCT频谱能量的平均值,即enerMdct[8]的平均值。
方法2:为了减少8个块中能量最大的块对平均值计算的影响,可以将最大块能量去除后,再计算平均值。
将各个块的MDCT频谱能量与平均能量比较,若大于平均能量的若干倍,则认为当前块是暂态块(标记为0),否则认为当前块是非暂态块(标记为1),所有暂态块构成暂态组,所有非暂态块构成非暂态组。
例如,当前帧的窗类型为短窗,初步判断所得的分组信息可以是:
分组数量numGroups:2。
Block索引:0 1 2 3 4 5 6 7。
分组标志信息groupIndicator:1 1 1 0 0 0 0 1。
分组数量和分组标志信息需要写入码流,传输到解码端。
S39.根据分组信息,对M个块的MDCT频谱进行分组排列,获得分组排列后的MDCT频谱。
根据分组信息对M个块的MDCT频谱进行分组排列的具体方案可以是编码端执行的前述步骤S14中的任何一种。
例如,将短帧的8个块中属于暂态组的若干个块放置到前面,属于其他组的若干个块放置到后面。
仍以步骤S38中的举例为例,若分组信息为:
Block索引:0 1 2 3 4 5 6 7。
分组标志信息groupIndicator:1 1 1 0 0 0 0 1。
则频谱排列布后的频谱形式如下:
Block索引:3 4 5 6 0 1 2 7。
即排列后的第0块的频谱为排列前的第3块的频谱,排列后的第1块的频谱为排列前的第4块的频谱,排列后的第2块的频谱为排列前的第5块的频谱,排列后的第3块的频谱为排列前的第6块的频谱,排列后的第4块的频谱为排列前的第0块的频谱,排列后的第5块的频谱为排列前的第1块的频谱,排列后的第6块的频谱为排列前的第2块的频谱,排列后的第7块的频谱为排列前的第7块的频谱。
S310.对分组排列后的MDCT频谱进行组内频谱交织处理,获得组内交织后MDCT频谱。
分组排列后的MDCT频谱,对每个组进行组内的交织处理,处理方式与步骤S35类似,只不过交织处理仅限于对属于同一分组的MDCT频谱进行处理。
仍以上述举例为例,排列后的频谱中,对暂态组(排列前的第3、4、5、6块,即排列后的第0、1、2、3块)进行交织,对其他组(排列前的第0、1、2、7块,即排列后的第4、5、6、7块)进行交织处理。
S311.利用编码神经网络,对组内交织后MDCT频谱进行编码。
本申请实施例对利用利用编码神经网络,对组内交织后MDCT频谱进行编码的具体方法不做限定。例如:组内交织后MDCT频谱,经过编码神经网络处理,生成潜在变量(latentvariables)。对潜在变量进行量化处理,获得量化后的潜在变量。对量化后的潜在变量进行算术编码,将算术编码结果写入码流。
S312.若当前帧不是短帧,则按照其他类型帧对应的编码方法对当前帧的MDCT频谱进行编码。
对于其他类型帧的编码,可以不进行分组、排列以及组内交织处理。例如,直接对步骤S34获得的当前帧的MDCT频谱利用编码神经网络进行编码。
例如,确定与窗类型对应的窗函数,对当前帧的音频信号进行加窗处理,获得加窗处理后的信号;相邻帧的窗有叠接时,对加窗处理后的信号进行时频正变换,如MDCT变换,获得当前帧的MDCT频谱;对当前帧的MDCT频谱进行编码。
如图10所示,解码端执行的多声道信号的解码方法包括:
S41.根据接收到的码流解码,获得当前帧的窗类型。
确定当前帧的窗类型是否为短窗,若是,执行如下步骤S42,若不是,执行如下步骤S410。
S42.若当前帧的窗类型为短窗,根据接收到的码流解码,获得分组数量和分组标志信息。
S43.根据接收到的码流解码,利用解码神经网络,获得解码MDCT频谱。
解码神经网络与编码神经网络相对应。例如,利用解码神经网络解码的具体方法:根据接收到的码流,进行算术解码,获得量化后的潜在变量。将量化后的潜在变量进行去量化处理,获得去量化后的潜在变量。将去量化后的潜在变量作为输入,经过解码神经网络处理,生成解码MDCT频谱。
S44.根据分组数量和分组标志信息,对解码MDCT频谱进行组内解交织处理,获得组内解交织处理的MDCT频谱。
根据分组数量和分组标志信息,确定属于同一组的MDCT频谱块。例如,解码MDCT频谱分为8个块。分组数量等于2,分组标志信息groupIndicator为1 1 1 0 0 0 0 1。分组标志信息中标志值为0的比特位的数量为4,那么解码MDCT频谱中前4个块的MDCT谱为一组,属于暂态组,需要进行组内解交织处理;标志值为1的比特位数量为4,那么后4个块的MDCT谱为一组,属于非暂态组,需要进行组内解交织处理。组内解交织处理获得的8个块的MDCT频谱即为该8个块的组内解交织处理的MDCT频谱。
S45.根据分组数量和分组标志信息,对组内解交织处理的MDCT频谱进行逆分组排列处理,获得逆分组排列处理的MDCT频谱。
根据分组标志信息groupIndicator,将组内解交织处理的MDCT频谱排列为按时间先后排序的M个块频谱。
例如,分组数量等于2,分组标志信息groupIndicator为1 1 1 0 0 0 0 1,则需要将组内解交织处理获得的第0块的MDCT频谱,调整为第3块的MDCT频谱(分组标志信息中第一个标志值为0的比特对应的元素位置索引为3);将组内解交织处理获得的第1块的MDCT频谱,调整为第4块的MDCT频谱(分组标志信息中第二个标志值为0的比特对应的元素位置索引为4);将组内解交织处理获得的第2块的MDCT频谱,调整为第5块的MDCT频谱(分组标志信息中第三个标志值为0的比特对应的元素位置索引为5);将组内解交织处理获得的第3块的MDCT频谱,调整为第6块的MDCT频谱(分组标志信息中第四个标志值为0的比特对应的元素位置索引为6);将组内解交织处理获得的第4块的MDCT频谱,调整为第0块的MDCT频谱(分组标志信息中第一个标志值为1的比特对应的元素位置索引为0);将组内解交织处理获得的第5块的MDCT频谱,调整为第1块的MDCT频谱(分组标志信息中第二个标志值为1的比特对应的元素位置索引为1);将组内解交织处理获得的第6块的MDCT频谱,调整为第2块的MDCT频谱(分组标志信息中第三个标志值为1的比特对应的元素位置索引为2);组内解交织处理获得的第7块的MDCT频谱,不作调整,直接作为第7块的MDCT频谱。
编码端,频谱分组排列后的短帧频谱形式如下:Block索引3 4 5 6 0 1 2 7。
解码端,逆分组排列处理的短帧频谱恢复为8个短帧的按时间先后排序的8个块频谱:Block索引0 1 2 3 4 5 6 7。
S46.对逆分组排列处理的MDCT频谱进行交织处理,获得交织处理的MDCT频谱。
若当前帧的窗类型为短窗,将逆分组排列处理的MDCT频谱进行交织处理,方法同前。
S47.对交织处理的MDCT频谱进行解码后处理,获得解码后处理的MDCT频谱。
解码后处理可以包括BWE逆处理、TNS逆处理、FDNS逆处理等等处理。
S48.对解码后处理的MDCT频谱进行解交织处理,获得重构的MDCT频谱。
S49.对重构的MDCT频谱进行逆MDCT变换以及加窗处理,获得重构音频信号。
重构的MDCT频谱包括M个块的MDCT频谱,分别对每一块的MDCT频谱进行逆MDCT变换。对逆变换后的信号进行加窗以及混叠相加处理后,即可获得短帧的重构音频信号。
S410.若当前帧的窗类型为其他窗类型,按照其他类型帧对应的解码方法解码,获得重构音频信号。
例如,根据接收到的码流解码,利用解码神经网络,获得重构的MDCT频谱。根据窗型(长窗、切入窗、切出窗)进行反变换和OLA,获得重构音频信号。
采用本申请实施例提出的方法,若当前帧的窗类型为短窗,根据当前帧的M个块的频谱,获得当前帧的分组数量和分组标志信息;根据当前帧的分组数量和分组标志信息对当前帧的M个块的频谱进行分组排列,获得分组排列的音频信号;利用编码神经网络对分组排列的频谱进行编码。能够保证当前帧音频信号为暂态信号时,能够将包含暂态特征的MDCT频谱调整到编码重要性更高的位置,使得利用神经网络编解码处理后重建的音频信号能更好地保留暂态特征。
本申请实施例也可以用于立体声编码,不同之处在于:首先,按照前述实施例中编码端步骤S31-310对立体声的左右声道分别进行处理后获得的左声道的组内交织后MDCT频谱和右声道的组内交织后MDCT频谱。然后步骤S311变为:利用编码神经网络对左声道的组内交织后MDCT频谱和右声道的组内交织后MDCT频谱进行编码。
编码神经网络的输入不再是单声道的组内交织后MDCT频谱,而是按照步骤S31-310对立体声的左右声道分别进行处理后获得的左声道的组内交织后MDCT频谱和右声道的组内交织后MDCT频谱。
编码神经网络可以是CNN网络,将左声道的组内交织后MDCT频谱和右声道的组内交织后MDCT频谱,作为CNN网络两个通道的输入。
相对应的,解码端执行的流程包括:
根据接收到的码流解码,获得当前帧的左声道的窗类型以及分组数量和分组标志信息。
根据接收到的码流解码,获得当前帧的右声道的窗类型以及分组数量和分组标志信息。
根据接收到的码流解码,利用解码神经网络,获得解码的立体声的MDCT频谱。
根据当前帧的左声道的窗类型以及分组数量和分组标志信息以及解码的左声道的MDCT频谱进行按照实施例一解码侧单声道解码的步骤进行处理,获得重构的左声道信号。
根据当前帧的右声道的窗类型以及分组数量和分组标志信息以及解码的右声道的MDCT频谱进行按照实施例一解码侧单声道解码的步骤进行处理,获得重构的右声道信号。
采用本申请实施例提出的方法,若当前帧的窗类型为短窗,根据当前帧的M个块的频谱,获得当前帧的分组数量和分组标志信息;根据当前帧的分组数量和分组标志信息对当前帧的M个块的频谱进行分组排列,获得分组排列的音频信号;利用编码神经网络对分组排列的频谱进行编码。能够保证当前帧音频信号为暂态信号时,能够将包含暂态特征的MDCT频谱调整到编码重要性更高的位置,使得利用神经网络编解码处理后重建的音频信号能更好地保留暂态特征。
本申请实施例也可以用于立体声编码。如图11所示,应用本申请实施例提出的编码器中对左右声道的分组信息进行调整的编码流程,包括:
S51.获得当前帧立体声信号的M个块的左声道频谱和M个块的右声道频谱。
对立体声信号进行分帧处理,获得当前帧的立体声信号。当前帧的立体声信号包括当前帧的左声道信号和当前帧的右声道信号。
将当前帧的左声道信号作为当前帧的音频信号,按照前述图7所示的编码端步骤S11、S12中的方法,确定当前帧的左声道信号的窗类型;若当前帧的左声道信号的窗类型为短帧,对当前帧的左声道信号进行短帧的加窗处理并进行时频变换,获得M个块的左声道频谱。
同样的,将当前帧的右声道信号作为当前帧的音频信号,按照前述图7所示的编码端步骤S11、S12中的方法,确定当前帧的右声道信号的窗类型;若当前帧的右声道信号的窗类型为短帧,对当前帧的右声道信号进行短帧的加窗处理并进行时频变换,获得M个块的右声道频谱。
S52.根据M个块的左声道频谱,获得左声道的分组数量和分组标志信息。
若当前帧的左声道信号的窗类型为短帧,根据M个块的左声道频谱,前述图7所示编码端步骤S13中的方法获得左声道的分组数量和分组标志信息。
S53.根据M个块的右声道频谱,获得右声道的分组数量和分组标志信息。
若当前帧的右声道信号的窗类型为短帧,根据M个块的右声道频谱,前述图7所示编码端步骤S13中的方法获得右声道的分组数量和分组标志信息。
S54.根据左、右声道的分组标志信息,确定是否进行分组标志信息调整,若需要进行调整,则根据左、右声道的分组标志信息,确定调整后的左、右声道的分组标志信息。
当左声道的分组数量和右声道的分组数量相等,左、右声道的分组标志信息的各个标志值不一致,且左声道的分组标志信息所指示的暂态块的数量和右声道的分组标志信息所指示的暂态块的数量不同时,根据左声道的分组标志信息和右声道的分组标志信息进行分组标志信息调整,获得调整后的分组标志信息;否则左、右声道的分组标志信息的各个标志值完全一致,或分组标志信息不一致但左右声道的暂态块的数量相同时,不进行调整处理,直接将左、右声道的分组标志信息作为左、右声道调整的分组标志信息。
完全一致是指每一个标志值都相等,不一致包括不完全一致或完全不一致,指有的相等有的不等或全部不等。比较是按照对应的位置进行比较的。比如1 1 1 0 0 0 1 1和1 1 1 0 0 0 0 1表示不完全一致。1 1 1 0 0 0 1 1和1 1 1 0 0 0 1 1表示完全一致,11 1 0 0 0 1 1和0 0 0 1 1 1 0 0表示完全不一致。
调整的具体方法可以是将左声道的分组标志信息与右声道的分组标志信息按对应的比特位进行与计算,将结果作为左、右声道调整的分组标志信息中对应比特位的值。
另一种实现方式是:首先根据左、右声道的分组数量,判断是否要比较左、右声道的分组标志信息。如果左、右声道的分组数量均等于2,则进一步比较左、右声道的分组标志信息以确定是否进行分组标志信息调整;否则,不需要进行分组标志信息调整。
左、右声道调整的分组标志信息编码后写入码流,传输到解码端。
S55.根据左、右声道调整的分组标志信息,对M个块的左声道频谱和M个块的右声道频谱进行分组排列,获得分组排列的立体声频谱。
分组排列的具体方法同前述图7所示步骤S14中的一致。根据调整的分组标志信息,分别对M个块的左声道频谱和M个块的右声道频谱进行分组排列,获得分组排列的左声道频谱和右声道频谱。
S56.利用编码神经网络对分组排列的立体声频谱进行编码。
一种方法是:根据调整的分组标志信息,对分组排列的左声道频谱先进行组内交织处理,获得组内交织的左声道频谱。同样,根据调整的分组标志信息,对分组排列的右声道频谱先进行组内交织处理,获得组内交织的右声道频谱然后。再利用编码神经网络,对组内交织的立体声频谱进行编码,写入码流。
立体声编码使用的编码神经网路可以是CNN网络,其中左声道频谱和右声道频谱分别作为CNN网络中一个通道的输入信号。
如图12所示,与前述图11所示的编码端对应的解码流程,包括如下步骤:
S61.根据接收到的码流解码,获得当前帧左、右声道的分组数量和分组标志信息。
根据接收到的码流解码,获得当前帧的左、右声道的窗类型。若当前帧的左声道的窗类型为短帧,则根据接收到的码流解码,获得左声道的分组数量和分组标志信息。若当前帧的右声道的窗类型为短帧,则根据接收到的码流解码,获得右声道的分组数量和分组标志信息。
S62.根据接收到的码流利用解码神经网络解码,获得组内解交织处理后的立体声频谱。
解码端与编码端对应。具体步骤包括:
首先,根据接收到的码流解码,利用解码神经网络,获得左声道解码频谱和右声道解码频谱。
然后,根据左声道的分组数量和分组标志信息,可以确定左声道解码频谱中属于同一分组的频谱。对属于同一分组的频谱进行组内解交织处理,获得组内解交织处理后的左声道频谱。同样,根据右声道的分组数量和分组标志信息,可以确定右声道解码频谱中属于同一分组的频谱。对属于同一分组的频谱进行组内解交织处理,获得组内解交织处理后的右声道频谱。解交织处理与编码端的解交织处理相同。
S63.根据左、右声道的分组数量和分组标志信息,对组内解交织处理后的立体声频谱进行逆分组排列处理,获得逆分组排列处理后的立体声频谱。
根据左声道的分组数量和分组标志信息,对组内解交织处理后的左声道频谱进行逆分组排列处理,获得逆分组排列处理后的左声道频谱。同样,根据右声道的分组数量和分组标志信息,对组内解交织处理后的右声道频谱进行逆分组排列处理,获得逆分组排列处理后的右声道频谱。逆分组排列处理的具体方法为前述图11所示编码端的步骤S55的分组排列的逆过程,此处不再详细说明。
S64.根据重构的立体声频谱,获得重构的立体声信号。
根据重构的左声道频谱,获得重构的左声道信号。根据重构的右声道频谱,获得重构的右声道信号。通过左、右声道的频谱获得重构的立体声信号的具体方法为前述图11所示编码端的步骤S56的编码的逆过程,此处不再详细说明。
前述实施例在立体声信号的左、右声道的窗类型均为短窗,但是左、右声道的分组标志信息不一致时,对于左、右声道分组标志值不一致的块,利用神经网络编解码后,重建音频信号的暂态特征不能很好的恢复。因此本申请实施例还包括对立体声信号进行左右声道分组调整的方案。
在本申请的一个实施例中,编码方法如图13所示:
S71.对立体声信号进行分帧处理,获得当前帧的立体声信号。
当前帧的立体声信号包括当前帧的左声道信号和当前帧的右声道信号。
S72.根据当前帧的立体声信号分别进行左、右声道的暂态检测,获得左、右声道的暂态检测结果。
左、右声道的暂态检测的具体方法同前述图7所示的步骤S12。
S73.根据左、右声道的暂态检测结果,分别确定当前帧的左、右声道信号的窗类型。
根据暂态检测结果确定窗类型的方法同前述图7所示的步骤S13。
S74.若当前帧的左声道信号的窗类型为短帧,根据当前帧的左声道信号,获得M个块的左声道频谱。
若当前帧的左声道信号的窗类型为短帧,对当前帧的左声道信号进行短帧的加窗处理并进行MDCT变换,获得M个块的左声道MDCT频谱。对当前帧的左声道的MDCT频谱进行交织处理,获得交织后的左声道MDCT频谱。对交织后的左声道MDCT频谱进行编码预处理,获得预处理后的左声道MDCT频谱。预处理可以包括FDNS、TNS、BWE等处理。对预处理后的左声道MDCT频谱进行解交织处理,获得M个块的左声道MDCT频谱。
S75.若当前帧的右声道信号的窗类型为短帧,根据当前帧的右声道信号,获得M个块的右声道频谱。
若当前帧的右声道信号的窗类型为短帧,对当前帧的右声道信号进行短帧的加窗处理并进行MDCT变换,获得M个块的右声道MDCT频谱。对当前帧的右声道的MDCT频谱进行交织处理,获得交织后的右声道MDCT频谱。对交织后的右声道MDCT频谱进行编码预处理,获得预处理后的右声道MDCT频谱。预处理可以包括FDNS、TNS、BWE等处理。对预处理后的右声道MDCT频谱进行解交织处理,获得M个块的右声道MDCT频谱。
S76.根据M个块的左声道频谱,获得左声道的分组数量和分组标志信息。
获得分组数量和分组标志信息的具体方法同前述图7所示的步骤S18。
S77.根据M个块的右声道频谱,获得右声道的分组数量和分组标志信息。
获得分组数量和分组标志信息的具体方法同前述图7所示的步骤S18。
S78.根据左、右声道的分组标志信息,确定是否进行分组标志信息调整,若需要进行调整,则根据左、右声道的分组标志信息,确定调整后的左、右声道的分组标志信息。
情况1:若左、右声道的分组标志信息指示左、右声道中暂态组包含的频谱块的位置完全相同,则不对左、右声道的分组标志信息进行调整。即,左声道暂态组包含的块的数量与右通道暂态组包含的块的数量相同,且左声道暂态组包含的块的位置与右通道暂态组包含的块的位置相同,则不对左、右声道的分组标志信息进行调整。
举例如下:
左声道的分组标志信息:1 1 1 1 1 1 0 0。
右声道的分组标志信息:1 1 1 1 1 1 0 0。
上述分组信息表明,左右通道的暂态组包含的频谱块的位置完全重叠,这种情况下,也不需要对左右通道分组信息进行任何调整。
情况2:若左声道暂态组包含的块的数量与右通道暂态组包含的块的数量相同,则不对左、右声道的分组标志信息进行调整。即左声道暂态组包含的块的数量与右通道暂态组包含的块的数量相同,且左声道暂态组包含的块的位置与右通道暂态组包含的块的位置不一致,则不对左、右声道的分组标志信息进行调整。
举例如下:
左声道的分组标志信息:0 0 0 1 1 1 1 1。
右声道的分组标志信息:1 1 1 1 1 0 0 0。
上述分组信息表明,左右通道的暂态组包含的块的数量相同,但左声道暂态组包含的块的位置与右通道暂态组包含的块的位置不一致,这种情况下,不需要对左、右通道分组标志信息进行任何调整。
在如下的情况3、4中,左声道暂态组包含的暂态块的数量与右通道暂态组包含的暂态块的数量不相同,则需要对左、右声道中至少一个声道的分组标志信息进行调整。其中,如下情况3中对左、右声道中一个声道的分组标志信息进行调整,在情况4中对左、右声道中一个声道的分组标志信息进行调整或者对两个声道的分组标志信息都进行调整。
情况3:若左右声道的分组标志信息指示左声道暂态组包含的块的数量与右通道暂态组包含的块的数量不同,且左、右声道中暂态组包含的块的位置完全不同,则对暂态组包含的块的数量较少的通道的分组标志信息进行调整,以保证左右通道的暂态组包含的块的数量相同。
举例如下:
左声道的分组标志信息groupIndicator_L:00011111。
右声道的分组标志信息groupIndicator_R:11110000。
则对左声道的分组标志信息进行调整,使左声道的暂态组中的块的数量和右通道的暂态组中的块的数量相同,例如可以将左声道序号为3(序号从0开始)的块的暂态标识改为暂态,此时调整后的分组信息如下:
左声道的分组标志信息groupIndicator_L:0 0 0 0 1 1 1 1。
右声道的分组标志信息groupIndicator_R:1 1 1 1 0 0 0 0。
通过上述调整,可保证左右声道的暂态组中的块的数量相同。
情况4:若左、右声道的分组标志信息指示左声道暂态组包含的块的数量与右通道暂态组包含的块的数量不同,且左、右声道中暂态组包含的块的位置不完全相同,即左、右声道的暂态组包含的频谱块的位置仅有部分不同,则需要进行分组信息调整。调整的方式可以是将左、右通道的暂态组进行并集处理,即扩大暂态组的范围。
举例如下,左、右声道的分组标志信息的序号都从0开始标号,需要对右声道的分组信息进行调整:
左声道的分组标志信息groupIndicator_L:1 1 1 0 0 0 0 1。
右声道的分组标志信息groupIndicator_R:1 1 1 1 0 0 0 1。
将左、右通道的暂态组进行并集处理,即扩大暂态组的范围,如上示例调整后的分组信息如下:
左声道的分组标志信息groupIndicator_L:1 1 1 0 0 0 0 1。
右声道的分组标志信息groupIndicator_R:1 1 1 0 0 0 0 1。
将右声道的序号为3的块由非暂态组调整到暂态组,从而将左、右通道的暂态块数量相同,即使左、右声道的暂态组包含的频谱块的位置保持一致。左、右声道调整后的分组标志信息编码后写入码流,传输到解码端。
举例如下,需要对左、右声道的分组信息进行调整:
左声道的分组标志信息groupIndicator_L:1 1 0 0 0 0 11。
右声道的分组标志信息groupIndicator_R:1 1 1 1 0 0 0 1。
将左、右通道的暂态组进行并集处理,即扩大暂态组的范围,如上示例调整后的分组信息如下:
左声道的分组标志信息groupIndicator_L:1 1 0 0 0 0 0 1。
右声道的分组标志信息groupIndicator_R:1 1 0 0 0 0 0 1。
S79.根据左、右声道调整后的分组标志信息,对M个块的左声道频谱和M个块的右声道频谱进行分组排列,获得分组排列的立体声频谱。
分组排列处理的具体方法同前述图7所示的步骤S14中的一致。根据调整后的分组标志信息,分别对M个块的左声道频谱和M个块的右声道频谱进行分组排列,获得分组排列的左声道频谱和右声道频谱。
S710.利用编码神经网络对分组排列的立体声频谱进行编码,写入码流。
一种方法是:根据调整后的分组标志信息,对分组排列的左声道频谱先进行组内交织处理,获得组内交织的左声道频谱。同样,根据调整后的分组标志信息,对分组排列的右声道频谱先进行组内交织处理,获得组内交织的右声道频谱。然后,再利用编码神经网络,对组内交织的立体声频谱进行编码。
立体声编码使用的编码神经网路可以是CNN网络,其中左声道频谱和右声道频谱分别作为CNN网络中一个通道的输入信号。
在本申请的一些实施例中,解码方法如图14所示,主要包括如下步骤:
S81.根据接收到的码流解码,获得当前帧的左声道的窗类型。
S82.根据接收到的码流解码,获得当前帧的右声道的窗类型。
S83.若当前帧的左声道的窗类型为短帧,则根据接收到的码流解码,获得左声道的分组数量和分组标志信息。
S84.若当前帧的右声道的窗类型为短帧,则根据接收到的码流解码,获得右声道的分组数量和分组标志信息。
S85.根据接收到的码流解码,利用解码神经网络,获得左声道解码频谱和右声道解码频谱。
S86.根据左声道的分组数量和分组标志信息,对左声道解码频谱进行组内解交织处理,获得组内解交织处理后的左声道频谱。
然后,根据左声道的分组数量和分组标志信息,可以确定左声道解码频谱中属于同一分组的频谱。对属于同一分组的频谱进行组内解交织处理,获得组内解交织处理后的左声道频谱。
S87.根据右声道的分组数量和分组标志信息,对右声道解码频谱进行组内解交织处理,获得组内解交织处理后的右声道频谱。
同样,根据右声道的分组数量和分组标志信息,可以确定右声道解码频谱中属于同一分组的频谱。对属于同一分组的频谱进行组内解交织处理,获得组内解交织处理后的右声道频谱。解交织处理与编码端的解交织处理相同。
S88.根据左声道的分组数量和分组标志信息,对组内解交织处理后的左声道频谱进行逆分组排列处理,获得逆分组处理后的左声道频谱。
逆分组排列处理的具体方法同前述图8所示的步骤S24。
S89.根据右声道的分组数量和分组标志信息,对组内解交织处理后的右声道频谱进行逆分组排列处理,获得逆分组处理后的右声道频谱。
逆分组排列处理的具体方法同前述图8所示的步骤S24。
S810.对逆分组处理后的左声道频谱进行交织处理,获得交织处理后的左声道频谱。
若当前帧的左声道的窗类型为短帧,将逆分组处理后的左声道频谱进行交织处理。
S811.对逆分组处理后的右声道频谱进行交织处理,获得交织处理后的右声道频谱。
若当前帧的右声道的窗类型为短帧,将逆分组处理后的右声道频谱进行交织处理。
S812.对交织处理后的左声道频谱进行解码后处理,获得解码后处理后的左声道频谱。
S813.对交织处理后的右声道频谱进行解码后处理,获得解码后处理后的右声道频谱。
解码后处理可以包括BWE、TNS逆处理、FDNS逆处理等处理。
S814.对解码后处理后的左声道频谱进行解交织处理,获得重构的左声道频谱。
S815.对解码后处理后的右声道频谱进行解交织处理,获得重构的右声道频谱。
S816.对重构的左声道频谱进行逆MDCT变换以及去加窗处理,获得重构的左声道信号。
S817.对重构的右声道频谱进行逆MDCT变换以及去加窗处理,获得重构的右声道信号。
本申请实施例中,根据左声道的分组标志信息和右声道的分组标志信息进行分组标志信息调整,获得左、右声道调整后的分组标志信息;根据左、右声道调整后的分组标志信息,对M个块的左声道频谱和M个块的右声道频谱进行分组排列,获得分组排列的立体声频谱。通过对左右声道的分组标志信息进行调整,确保将分组排列后的立体声频谱作为编码神经网络输入的时候左右声道分组保持一致,使得重建立体声信号左右声道的暂态特征能很好的恢复。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
为便于更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图15所示,本申请实施例提供的一种多声道信号的编码装置1500,可以包括:暂态标识获得模块1501、分组信息获得模块1502、分组信息调整模块1503、频谱获得模块1504和编码模块1505,其中,
暂态标识获得模块,用于根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识;所述第一声道的M个块包括所述第一声道的第一块,所述第一块的第一暂态标识用于指示所述第一块为暂态块,或者指示所述第一块为非暂态块;
分组信息获得模块,用于根据所述M个第一暂态标识获得所述第一声道的M个块的第一分组信息;
所述暂态标识获得模块,用于根据所述当前帧的第二声道的M个块的频谱获得所述第二声道的M个块的M个第二暂态标识;所述第二声道的M个块包括所述第二声道的第二块,所述第二块的第二暂态标识用于指示所述第二块为暂态块,或者指示所述第二块为非暂态块;
所述分组信息获得模块,用于根据所述M个第二暂态标识获得所述第二声道的M个块的第二分组信息;
分组信息调整模块,用于当所述第一分组信息和所述第二分组信息满足预设条件时,根据所述第一分组信息和所述第二分组信息获得第一调整分组信息和第二调整分组信息,所述第一调整分组信息与所述第一分组信息对应,所述第二调整分组信息与所述第二分组信息对应;其中,所述第一调整分组信息与所述第一分组信息相同且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息与所述第二分组信息相同;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;
频谱获得模块,用于根据所述第一调整分组信息和所述第一声道的M个块的频谱获得第一待编码频谱;
所述频谱获得模块,用于根据所述第二调整分组信息和所述第二声道的M个块的频谱获得第二待编码频谱;
编码模块,用于利用编码神经网络对所述第一待编码频谱和所述第二待编码频谱进行编码,以获得频谱编码结果;将所述频谱编码结果写入码流。
请参阅图16所示,本申请实施例提供的一种多声道信号的解码装置1600,可以包括:分组信息获得模块1601、解码模块1602、频谱获得模块1603和重构信号获得模块1604,其中,
分组信息获得模块,用于从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息,所述第一解码分组信息用于指示所述第一声道的M个块的第一解码暂态标识;
所述分组信息获得模块,用于从所述码流中获得所述当前帧的第二声道的M个块的第二解码分组信息,所述第二解码分组信息用于指示所述第二声道的M个块的第二解码暂态标识;
解码模块,用于利用解码神经网络对所述码流进行解码,以获得所述第一声道的M个块的解码频谱和所述第二声道的M个块的解码频谱;
重构信号获得模块,用于根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号;
所述重构信号获得模块,用于根据所述第二解码分组信息和所述第二声道的M个块的解码频谱获得所述第二声道的第二重构信号。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
接下来介绍本申请实施例提供的另一种多声道信号的编码装置,请参阅图17所示,多声道信号的编码装置1700包括:
接收器1701、发射器1702、处理器1703和存储器1704(其中多声道信号的编码装置1700中的处理器1703的数量可以一个或多个,图17中以一个处理器为例)。在本申请的一些实施例中,接收器1701、发射器1702、处理器1703和存储器1704可通过总线或其它方式连接,其中,图17中以通过总线连接为例。
存储器1704可以包括只读存储器和随机存取存储器,并向处理器1703提供指令和数据。存储器1704的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1704存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器1703控制多声道信号的编码装置的操作,处理器1703还可以称为中央处理单元(central processing unit,CPU)。具体的应用中,多声道信号的编码装置的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1703中,或者由处理器1703实现。处理器1703可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1703中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1703可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1704,处理器1703读取存储器1704中的信息,结合其硬件完成上述方法的步骤。
接收器1701可用于接收输入的数字或字符信息,以及产生与多声道信号的编码装置的相关设置以及功能控制有关的信号输入,发射器1702可包括显示屏等显示设备,发射器1702可用于通过外接接口输出数字或字符信息。
本申请实施例中,处理器1703用于执行前述实施例图4、图7、图9、图11、图13所示的由多声道信号的编码装置执行的方法。
接下来介绍本申请实施例提供的另一种多声道信号的解码装置,请参阅图18所示,多声道信号的解码装置1800包括:
接收器1801、发射器1802、处理器1803和存储器1804(其中多声道信号的解码装置1800中的处理器1803的数量可以一个或多个,图18中以一个处理器为例)。在本申请的一些实施例中,接收器1801、发射器1802、处理器1803和存储器1804可通过总线或其它方式连接,其中,图18中以通过总线连接为例。
存储器1804可以包括只读存储器和随机存取存储器,并向处理器1803提供指令和数据。存储器1804的一部分还可以包括NVRAM。存储器1804存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器1803控制多声道信号的解码装置的操作,处理器1803还可以称为CPU。具体的应用中,多声道信号的解码装置的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1803中,或者由处理器1803实现。处理器1803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1803可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1804,处理器1803读取存储器1804中的信息,结合其硬件完成上述方法的步骤。
本申请实施例中,处理器1803,用于执行前述实施例图5、图8、图10、图12、图14所示的由多声道信号的解码装置执行的方法。
在另一种可能的设计中,当多声道信号的编码装置或者多声道信号的解码装置为终端内的芯片时,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述第一方面任意一项的音频编码方法,或者第二方面任意一项的音频解码方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元,如只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述第一方面或第二方面方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (32)
1.一种多声道信号的编码方法,其特征在于,包括:
根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识;所述第一声道的M个块包括所述第一声道的第一块,所述第一块的第一暂态标识用于指示所述第一块为暂态块,或者指示所述第一块为非暂态块;
根据所述M个第一暂态标识获得所述第一声道的M个块的第一分组信息;
根据所述当前帧的第二声道的M个块的频谱获得所述第二声道的M个块的M个第二暂态标识;所述第二声道的M个块包括所述第二声道的第二块,所述第二块的第二暂态标识用于指示所述第二块为暂态块,或者指示所述第二块为非暂态块;
根据所述M个第二暂态标识获得所述第二声道的M个块的第二分组信息;
当所述第一分组信息和所述第二分组信息满足预设条件时,根据所述第一分组信息和所述第二分组信息获得第一调整分组信息和第二调整分组信息,所述第一调整分组信息与所述第一分组信息对应,所述第二调整分组信息与所述第二分组信息对应;其中,所述第一调整分组信息与所述第一分组信息相同且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息与所述第二分组信息相同;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;
根据所述第一调整分组信息和所述第一声道的M个块的频谱获得第一待编码频谱;
根据所述第二调整分组信息和所述第二声道的M个块的频谱获得第二待编码频谱;
利用编码神经网络对所述第一待编码频谱和所述第二待编码频谱进行编码,以获得频谱编码结果;
将所述频谱编码结果写入码流。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述第一调整分组信息,以及所述第二调整分组信息进行编码,以获得分组信息编码结果;
将所述分组信息编码结果写入所述码流。
3.根据权利要求1或2或所述的方法,其特征在于,所述第一分组信息包括:所述第一声道的M个块的第一分组数量或第一分组数量标识,所述第一分组数量标识用于指示所述第一分组数量,当所述第一分组数量大于1时,所述第一分组信息还包括:所述M个第一暂态标识;或者,所述第一分组信息包括:所述M个第一暂态标识;
和/或,
所述第二分组信息包括:所述第二声道的M个块的第二分组数量或第二分组数量标识,所述第二分组数量标识用于指示所述第二分组数量,当所述第二分组数量大于1时,所述第二分组信息还包括:所述M个第二暂态标识;或者,所述第二分组信息包括:所述M个第二暂态标识;
和/或,
所述第一调整分组信息包括:所述第一声道的M个块的第一调整分组数量或第一调整分组数量标识,所述第一调整分组数量标识用于指示所述第一调整分组数量,当所述第一调整分组数量大于1时,所述第一调整分组信息还包括:所述第一声道的M个块的M个第一调整暂态标识,所述第一块的第一调整暂态标识与所述第一块的第一暂态标识不同或所述第一块的第一调整暂态标识与所述第一块的第一暂态标识相同;或者,所述第一调整分组信息包括:所述M个第一调整暂态标识;
和/或,
所述第二调整分组信息包括:所述第二声道的M个块的第二调整分组数量或第二调整分组数量标识,所述第二调整分组数量标识用于指示所述第二调整分组数量,当所述第二调整分组数量大于1时,所述第二调整分组信息还包括:所述第二声道的M个块的M个第二调整暂态标识,所述第二块的第二调整暂态标识与所述第二块的第二暂态标识不同或所述第二块的第二调整暂态标识与所述第二块的第二暂态标识相同;或者,所述第二调整分组信息包括:所述M个第二调整暂态标识。
4.根据权利要求3所述的方法,其特征在于,所述预设条件包括:所述第一分组信息与所述第二分组信息不一致。
5.根据权利要求4所述的方法,其特征在于,所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,且所述M个第一暂态标识和所述M个第二暂态标识不一致;
或,
所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,且所述第一声道的暂态块数量与所述第二声道的暂态块数量不一致;
或,
所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,所述M个第一暂态标识和所述M个第二暂态标识不一致,且所述第一声道的M个块中的第N块和所述第二声道的M个块中的第N块均为暂态,0≤N<M。
6.根据权利要求5所述的方法,其特征在于,所述第一声道的M个块具有各自的索引,所述第二声道的M个块具有各自的索引;
当所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,且所述第一声道的暂态块数量与所述第二声道的暂态块数量不一致时,如果所述第一声道的M个块中的暂态块的索引与所述第二声道的M个块中的暂态块的索引没有交集,所述根据所述第一分组信息和所述第二分组信息获得第一调整分组信息和第二调整分组信息包括:
当所述第一声道的暂态块数量小于所述第二声道的暂态块数量时,对所述第一分组信息进行调整,以获得所述第一调整分组信息,所述第一调整分组信息指示的所述第一声道的暂态块数量与所述第二分组信息指示的所述第二声道的暂态块数量相等;
或,
当所述第一声道的暂态块数量大于所述第二声道的暂态块数量时,对所述第二分组信息进行调整,以获得所述第二调整分组信息,所述第二调整分组信息指示的所述第二声道的暂态块数量与所述第一分组信息指示的所述第一声道的暂态块数量相等。
7.根据权利要求5所述的方法,其特征在于,所述第一声道的M个块具有各自的索引,所述第二声道的M个块具有各自的索引;
当所述第一分组信息与所述第二分组信息不一致包括:所述M个第一暂态标识指示所述第一声道的M个块包括暂态块和非暂态块,所述M个第二暂态标识指示所述第二声道的M个块包括暂态块和非暂态块,且所述第一声道的暂态块数量与所述第二声道的暂态块数量不一致时,如果所述第一声道的M个块中的暂态块的索引与所述第二声道的M个块中的暂态块的索引有交集,所述根据所述第一分组信息和所述第二分组信息获得第一调整分组信息和第二调整分组信息包括:
当所述M个第一暂态标识指示的暂态块的索引是所述M个第二暂态标识指示的暂态块的索引的一部分时,对所述M个第一暂态标识中的至少一个进行调整以获得所述M个第一调整暂态标识,所述M个第一调整暂态标识指示的所有暂态块的索引与所述M个第二暂态标识指示的所有暂态块的索引相同;
或
当所述M个第二暂态标识指示的暂态块的索引是所述M个第一暂态标识指示的暂态块的索引的一部分时,对所述M个第二暂态标识中的至少一个进行调整以获得所述M个第二调整暂态标识,所述M个第二调整暂态标识指示的所有暂态块的索引与所述M个第一暂态标识指示的所有暂态块的索引相同;
或
当所述M个第一暂态标识指示的暂态块的索引与所述M个第二暂态标识指示的暂态块的索引部分相同时,对所述M个第一暂态标识中的至少一个进行调整以获得所述M个第一调整暂态标识,对所述M个第二暂态标识中的至少一个进行调整以获得所述M个第二调整暂态标识,所述M个第一调整暂态标识指示的所有暂态块的索引与所述M个第二调整暂态标识指示的所有暂态块的索引相同。
8.根据权利要求7所述的方法,其特征在于,所述对所述M个第一暂态标识中的至少一个进行调整以获得所述M个第一调整暂态标识包括:
当所述第一块的第一暂态标识指示所述第一块为非暂态块时,如果所述第二声道的M个块的第三块的第二暂态标识指示所述第三块为暂态块,将所述第一块的第一暂态标识调整为所述第一块的第一调整暂态标识,所述第一块的第一调整暂态标识指示所述第一块为暂态块,所述第一块的索引与所述第三块的索引相同;
或
所述对所述M个第二暂态标识中的至少一个进行调整以获得所述M个第二调整暂态标识包括:
当所述第二块的第二暂态标识指示所述第二块为非暂态块时,如果所述第一声道的M个块的第四块的第一暂态标识指示所述第四块为暂态块,将所述第二块的第二暂态标识调整为所述第二块的第二调整暂态标识,所述第二块的第二调整暂态标识指示所述第二块为暂态块,所述第二块的索引与所述第四块的索引相同。
9.根据权利要求3至8中任一所述的方法,其特征在于,当所述第一调整分组数量大于1或所述M个第一调整暂态标识指示所述第一声道的M个块包括暂态块和非暂态块时,所述根据所述第一调整分组信息和所述第一声道的M个块的频谱获得第一待编码频谱包括:
根据所述第一调整分组信息对所述第一声道的M个块的频谱进行分组排列,以获得第一待编码频谱;
当所述第二调整分组数量大于1或所述M个第二调整暂态标识指示所述第二声道的M个块包括暂态块和非暂态块时,所述根据所述第二调整分组信息和所述第二声道的M个块的频谱获得第二待编码频谱包括:
根据所述第二调整分组信息对所述第二声道的M个块的频谱进行分组排列,以获得第二待编码频谱。
10.根据权利要求9所述的方法,其特征在于,所述根据所述第一调整分组信息对所述第一声道的M个块的频谱进行分组排列,以获得第一待编码频谱,包括:
将所述第一声道的M个块中被所述M个块的第一调整暂态标识指示为暂态块的频谱分到第一暂态组中,以及将所述第一声道的M个块中被所述M个块的第一调整暂态标识指示为非暂态块的频谱分到第一非暂态组中;将所述第一暂态组中的块的频谱排列至所述第一非暂态组中的块的频谱之前,以获得所述第一待编码频谱;
或,
所述根据所述第二调整分组信息对所述第二声道的M个块的频谱进行分组排列,以获得第二待编码频谱,包括:
将所述第二声道的M个块中被所述M个块的第二调整暂态标识指示为暂态块的频谱分到第二暂态组中,以及将所述第二声道的M个块中被所述M个块的第二调整暂态标识指示为非暂态块的频谱分到第二非暂态组中;将所述第二暂态组中的块的频谱排列至所述第二非暂态组中的块的频谱之前,以获得所述第二待编码频谱。
11.根据权利要求9所述的方法,其特征在于,所述根据所述第一调整分组信息对所述第一声道的M个块的频谱进行分组排列,以获得第一待编码频谱,包括:
将所述第一声道的M个块中被所述M个块的第一调整暂态标识指示为暂态块的频谱排列至所述第一声道的M个块中被所述M个块的第一调整暂态标识指示为非暂态块的频谱之前,以获得所述第一待编码频谱;
或,
所述根据所述第二调整分组信息对所述第二声道的M个块的频谱进行分组排列,以获得第二待编码频谱,包括:
将所述第二声道的M个块中被所述M个块的第二调整暂态标识指示为暂态块的频谱排列至所述第二声道的M个块中被所述M个块的第二调整暂态标识指示为非暂态块的频谱之前,以获得所述第二待编码频谱。
12.根据权利要求3至11任一所述的方法,其特征在于,所述利用编码神经网络对所述第一待编码频谱和所述第二待编码频谱进行编码之前,所述方法还包括:
对所述第一待编码频谱进行组内交织处理,以获得组内交织处理后的第一频谱;
对所述第二待编码频谱进行组内交织处理,以获得组内交织处理后的第二频谱;
所述利用编码神经网络对所述第一待编码频谱和所述第二待编码频谱进行编码,包括:
利用所述编码神经网络对所述组内交织处理后的第一频谱和所述组内交织处理后的第二频谱进行编码。
13.根据权利要求12所述的方法,其特征在于,所述第一声道的M个块中被所述M个第一调整暂态标识指示为暂态块的数量为P个,所述第一声道的M个块中被所述M个第一调整暂态标识指示为非暂态块的数量为Q个,M=P+Q;
所述对所述第一待编码频谱进行组内交织处理,包括:
对所述P个块的频谱进行交织处理,以获得所述P个块的交织处理后的频谱;
对所述Q个块的频谱进行交织处理,以获得所述Q个块的交织处理后的频谱。
14.根据权利要求1至13中任一所述的方法,其特征在于,所述根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识前,所述方法还包括:
获得所述第一声道的第一窗类型,所述第一窗类型为短窗类型或非短窗类型;
获得所述第二声道的第二窗类型,所述第二窗类型为短窗类型或非短窗类型;
当所述第一窗类型和所述第二窗类型均为短窗类型时,才执行根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识的步骤。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
对所述第一窗类型和所述第二窗类型进行编码以获得窗类型编码结果;
将所述窗类型编码结果写入所述码流。
16.根据权利要求1至15中任一所述的方法,其特征在于,所述根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识,包括:
根据所述第一声道的M个块的频谱获得所述第一声道的M个块的M个第一频谱能量;
根据所述M个第一频谱能量获得所述第一声道的M个块的第一频谱能量平均值;
根据所述M个第一频谱能量与所述第一频谱能量平均值获得所述M个第一暂态标识。
17.根据权利要求16所述的方法,其特征在于,当所述第一块的第一频谱能量大于所述第一频谱能量平均值的K倍时,所述第一块的第一暂态标识指示所述第一块为暂态块;或,
当所述第一块的第一频谱能量小于或等于所述第一频谱能量平均值的K倍时,所述第一块的暂态标识指示所述第一块为非暂态块;
其中,所述K为大于或等于1的实数。
18.一种多声道信号的解码方法,其特征在于,包括:
从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息,所述第一解码分组信息用于指示所述第一声道的M个块的第一解码暂态标识;
从所述码流中获得所述当前帧的第二声道的M个块的第二解码分组信息,所述第二解码分组信息用于指示所述第二声道的M个块的第二解码暂态标识;
利用解码神经网络对所述码流进行解码,以获得所述第一声道的M个块的解码频谱和所述第二声道的M个块的解码频谱;
根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号;
根据所述第二解码分组信息和所述第二声道的M个块的解码频谱获得所述第二声道的第二重构信号。
19.根据权利要求18所述的方法,其特征在于,所述根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号,包括:
当所述第一解码分组信息指示所述第一声道的M个块的第一解码分组数量大于1时,对所述第一声道的M个块的解码频谱进行逆分组排列处理,以获得所述第一声道的M个块的逆分组排列处理后的频谱;
根据所述第一声道的M个块的逆分组排列处理后的频谱获得所述第一声道的第一重构信号;
所述根据所述第二解码分组信息和所述第二声道的M个块的解码频谱获得所述第二声道的第二重构信号包括:
当所述第二解码分组信息指示所述第二声道的M个块的第二解码分组数量大于1时,对所述第二声道的M个块的解码频谱进行逆分组排列处理,以获得所述第二声道的M个块的逆分组排列处理后的频谱;
根据所述第二声道的M个块的逆分组排列处理后的频谱获得所述第二声道的第二重构信号。
20.根据权利要求18所述的方法,其特征在于,所述根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号,包括:
对所述第一声道的M个块的解码频谱进行组内解交织处理,以获得所述第一声道的M个块的组内解交织处理后的频谱;
根据所述第一声道的M个块的组内解交织处理后的频谱获得所述第一重构信号;
所述根据所述第二解码分组信息和所述第二声道的M个块的解码频谱获得所述第二声道的第二重构信号,包括:
对所述第二声道的M个块的解码频谱进行组内解交织处理,以获得所述第二声道的M个块的组内解交织处理后的频谱;
根据所述第二声道的M个块的组内解交织处理后的频谱获得所述第二重构信号。
21.根据权利要求18所述的方法,其特征在于,所述第一声道的M个块中被所述M个第一解码暂态标识指示为暂态块的数量为P个,所述第一声道的M个块中被所述M个第一解码暂态标识指示为非暂态块的数量为Q个,其中,M=P+Q;
所述根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号,包括:
对所述第一声道的所述P个块的解码频谱进行组内解交织处理和对所述第一声道的所述Q个块的解码频谱进行组内解交织处理,以获得所述第一声道的M个块的组内解交织处理后的频谱;
根据所述第一解码分组信息对所述第一声道的M个块的组内解交织处理后的频谱进行逆分组排列处理,以获得所述第一声道的M个块的逆分组排列处理后的频谱;
根据所述第一声道的M个块的逆分组排列处理后的频谱获得所述第一声道的第一重构信号。
22.根据权利要求21所述的方法,其特征在于,
所述根据所述第一解码分组信息对所述第一声道的M个块的组内解交织处理后的频谱进行逆分组排列处理,包括:
根据所述第一解码分组信息获得所述第一声道的所述P个块的索引;
根据所述第一解码分组信息获得所述第一声道的所述Q个块的索引;
根据所述P个块的索引和所述Q个块的索引对所述第一声道的M个块的组内解交织处理后的频谱进行所述逆分组排列处理。
23.根据权利要求18至22中任一所述的方法,其特征在于,所述方法还包括:
从所述码流中获得当前帧的第一声道的窗类型;
从所述码流中获得所述当前帧的第二声道的窗类型;
当所述第一窗类型和所述第二窗类型均为短窗类型时,才执行从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息的步骤。
24.根据权利要求18至23中任一所述的方法,其特征在于,所述第一解码分组信息包括:所述第一声道的M个块的第一解码分组数量或第一解码分组数量标识,所述第一解码分组数量标识用于指示所述第一解码分组数量,当所述第一解码分组数量大于1时,所述第一解码分组信息还包括:M个第一解码暂态标识;或者,所述第一解码分组信息包括:所述M个第一解码暂态标识;
和/或,
所述第二解码分组信息包括:所述第二声道的M个块的第二解码分组数量或第二解码分组数量标识,所述第二解码分组数量标识用于指示所述第二解码分组数量,当所述第二解码分组数量大于1时,所述第二解码分组信息还包括:M个第二解码暂态标识;或者,所述第二解码分组信息包括:所述M个第二解码暂态标识。
25.一种多声道信号的编码装置,其特征在于,包括:
暂态标识获得模块,用于根据待编码多声道信号的当前帧的第一声道的M个块的频谱获得所述第一声道的M个块的M个第一暂态标识;所述第一声道的M个块包括所述第一声道的第一块,所述第一块的第一暂态标识用于指示所述第一块为暂态块,或者指示所述第一块为非暂态块;
分组信息获得模块,用于根据所述M个第一暂态标识获得所述第一声道的M个块的第一分组信息;
所述暂态标识获得模块,用于根据所述当前帧的第二声道的M个块的频谱获得所述第二声道的M个块的M个第二暂态标识;所述第二声道的M个块包括所述第二声道的第二块,所述第二块的第二暂态标识用于指示所述第二块为暂态块,或者指示所述第二块为非暂态块;
所述分组信息获得模块,用于根据所述M个第二暂态标识获得所述第二声道的M个块的第二分组信息;
分组信息调整模块,用于当所述第一分组信息和所述第二分组信息满足预设条件时,根据所述第一分组信息和所述第二分组信息获得第一调整分组信息和第二调整分组信息,所述第一调整分组信息与所述第一分组信息对应,所述第二调整分组信息与所述第二分组信息对应;其中,所述第一调整分组信息与所述第一分组信息相同且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息与所述第二分组信息相同;或,所述第一调整分组信息是基于对所述第一分组信息进行调整获得的且所述第二调整分组信息是基于对所述第二分组信息进行调整获得的;
频谱获得模块,用于根据所述第一调整分组信息和所述第一声道的M个块的频谱获得第一待编码频谱;
所述频谱获得模块,用于根据所述第二调整分组信息和所述第二声道的M个块的频谱获得第二待编码频谱;
编码模块,用于利用编码神经网络对所述第一待编码频谱和所述第二待编码频谱进行编码,以获得频谱编码结果;将所述频谱编码结果写入码流。
26.一种多声道信号的解码装置,其特征在于,包括:
分组信息获得模块,用于从码流中获得多声道信号的当前帧的第一声道的M个块的第一解码分组信息,所述第一解码分组信息用于指示所述第一声道的M个块的第一解码暂态标识;
所述分组信息获得模块,用于从所述码流中获得所述当前帧的第二声道的M个块的第二解码分组信息,所述第二解码分组信息用于指示所述第二声道的M个块的第二解码暂态标识;
解码模块,用于利用解码神经网络对所述码流进行解码,以获得所述第一声道的M个块的解码频谱和所述第二声道的M个块的解码频谱;
重构信号获得模块,用于根据所述第一解码分组信息和所述第一声道的M个块的解码频谱获得所述第一声道的第一重构信号;
所述重构信号获得模块,用于根据所述第二解码分组信息和所述第二声道的M个块的解码频谱获得所述第二声道的第二重构信号。
27.一种多声道信号的编码装置,其特征在于,所述多声道信号的编码装置包括至少一个处理器,所述至少一个处理器用于与存储器耦合,读取并执行所述存储器中的指令,以实现如权利要求1至17中任一项所述的方法。
28.根据权利要求27所述的多声道信号的编码装置,其特征在于,所述多声道信号的编码装置还包括:所述存储器。
29.一种多声道信号的解码装置,其特征在于,所述多声道信号的解码装置包括至少一个处理器,所述至少一个处理器用于与存储器耦合,读取并执行所述存储器中的指令,以实现如权利要求18至24中任一项所述的方法。
30.根据权利要求29所述的多声道信号的解码装置,其特征在于,所述多声道信号的解码装置还包括:所述存储器。
31.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至17、或者18至24中任意一项所述的方法。
32.一种计算机可读存储介质,包括如权利要求1至17任一项所述的方法所生成的码流。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110865298.2A CN115691514A (zh) | 2021-07-29 | 2021-07-29 | 一种多声道信号的编解码方法和装置 |
PCT/CN2022/096602 WO2023005415A1 (zh) | 2021-07-29 | 2022-06-01 | 一种多声道信号的编解码方法和装置 |
KR1020247004632A KR20240032117A (ko) | 2021-07-29 | 2022-06-01 | 다중 채널 신호 인코딩 및 디코딩 방법 그리고 장치 |
EP22848025.7A EP4362012A1 (en) | 2021-07-29 | 2022-06-01 | Encoding and decoding methods and apparatuses for multi-channel signals |
US18/423,990 US20240169998A1 (en) | 2021-07-29 | 2024-01-26 | Multi-Channel Signal Encoding and Decoding Method and Apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110865298.2A CN115691514A (zh) | 2021-07-29 | 2021-07-29 | 一种多声道信号的编解码方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115691514A true CN115691514A (zh) | 2023-02-03 |
Family
ID=85057730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110865298.2A Pending CN115691514A (zh) | 2021-07-29 | 2021-07-29 | 一种多声道信号的编解码方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240169998A1 (zh) |
EP (1) | EP4362012A1 (zh) |
KR (1) | KR20240032117A (zh) |
CN (1) | CN115691514A (zh) |
WO (1) | WO2023005415A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100481733C (zh) * | 2002-08-21 | 2009-04-22 | 广州广晟数码技术有限公司 | 用于对多声道数字音频信号进行压缩编码的编码器 |
US7502743B2 (en) * | 2002-09-04 | 2009-03-10 | Microsoft Corporation | Multi-channel audio encoding and decoding with multi-channel transform selection |
CN101246689B (zh) * | 2004-09-17 | 2011-09-14 | 广州广晟数码技术有限公司 | 音频编码系统 |
JP4378727B2 (ja) * | 2006-07-07 | 2009-12-09 | 日本ビクター株式会社 | 音声符号化方法及び音声復号化方法 |
CN102157151B (zh) * | 2010-02-11 | 2012-10-03 | 华为技术有限公司 | 一种多声道信号编码方法、解码方法、装置和系统 |
CN103295577B (zh) * | 2013-05-27 | 2015-09-02 | 深圳广晟信源技术有限公司 | 用于音频信号编码的分析窗切换方法和装置 |
FR3048808A1 (fr) * | 2016-03-10 | 2017-09-15 | Orange | Codage et decodage optimise d'informations de spatialisation pour le codage et le decodage parametrique d'un signal audio multicanal |
-
2021
- 2021-07-29 CN CN202110865298.2A patent/CN115691514A/zh active Pending
-
2022
- 2022-06-01 KR KR1020247004632A patent/KR20240032117A/ko active Search and Examination
- 2022-06-01 EP EP22848025.7A patent/EP4362012A1/en active Pending
- 2022-06-01 WO PCT/CN2022/096602 patent/WO2023005415A1/zh active Application Filing
-
2024
- 2024-01-26 US US18/423,990 patent/US20240169998A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023005415A1 (zh) | 2023-02-02 |
EP4362012A1 (en) | 2024-05-01 |
US20240169998A1 (en) | 2024-05-23 |
KR20240032117A (ko) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104364842A (zh) | 立体声音频信号编码器 | |
KR102492119B1 (ko) | 오디오 코딩/디코딩 모드를 결정하는 방법 및 관련 제품 | |
WO2004086817A2 (en) | Coding of main and side signal representing a multichannel signal | |
CN102576531B (zh) | 用于处理多信道音频信号的方法、设备 | |
US20230298600A1 (en) | Audio encoding and decoding method and apparatus | |
KR102637514B1 (ko) | 시간-도메인 스테레오 인코딩 및 디코딩 방법 및 관련 제품 | |
CN115691514A (zh) | 一种多声道信号的编解码方法和装置 | |
WO2023005414A1 (zh) | 一种音频信号的编解码方法和装置 | |
CN115497485A (zh) | 三维音频信号编码方法、装置、编码器和系统 | |
KR20080066537A (ko) | 부가정보를 가지는 오디오신호의 부호화/복호화 방법 및장치 | |
WO2023173941A1 (zh) | 一种多声道信号的编解码方法和编解码设备以及终端设备 | |
WO2022253187A1 (zh) | 一种三维音频信号的处理方法和装置 | |
EP4354430A1 (en) | Three-dimensional audio signal processing method and apparatus | |
CN116798438A (zh) | 一种多声道信号的编解码方法和编解码设备以及终端设备 | |
US20010056343A1 (en) | Sound signal encoding apparatus and method | |
WO2023051370A1 (zh) | 编解码方法、装置、设备、存储介质及计算机程序 | |
US20240087578A1 (en) | Three-dimensional audio signal coding method and apparatus, and encoder | |
KR20240001226A (ko) | 3차원 오디오 신호 코딩 방법, 장치, 및 인코더 | |
KR20240004869A (ko) | 3차원 오디오 신호 인코딩 방법 및 장치, 및 인코더 | |
KR20230035373A (ko) | 오디오 인코딩 방법, 오디오 디코딩 방법, 관련 장치, 및 컴퓨터 판독가능 저장 매체 | |
CN115346537A (zh) | 一种音频编码、解码方法及装置 | |
CN115376529A (zh) | 三维音频信号编码方法、装置和编码器 | |
CN115881138A (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 |