一种针对被舍弃的子空间分量的补偿编解码装置及方法转让专利

申请号 : CN201510226119.5

文献号 : CN106205626B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈笑天吴朝刚潘兴德张小新李靓

申请人 : 南京青衿信息科技有限公司

摘要 :

本发明提供了一种针对被舍弃的子空间分量的补偿编解码装置及方法,其中,补偿编码装置包括基础补偿矢量生成模块、基础补偿集合生成模块、补偿编码参数编码模块以及码流复用模块,并提供了相应的补偿编码执行步骤;补偿解码装置包括基础补偿矢量生成模块、基础补偿集合生成模块、码流解复用模块、补偿编码参数解码模块以及子空间分量补偿模块,并提供了相应的补偿解码执行步骤。该补偿编解码装置及方法能够对被舍弃的子空间分量进行有效补偿,有效提高信号重建质量,且重建后的音频能量也与原始能量相近。

权利要求 :

1.一种针对被舍弃的子空间分量的补偿编码装置,其特征在于,包括如下模块:基础补偿矢量生成模块,用于根据已感知编码的信号模型生成固定补偿矢量作为基础补偿矢量,或者根据当前帧中已编码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量;

基础补偿集合生成模块,用于将各个基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成一一对应的序号或特征参数;

补偿编码参数编码模块,用于根据补偿需要选出用于补偿的基础补偿矢量,并将这些基础补偿矢量的序号或特征参数作为补偿编码参数进行量化编码,获得补偿编码码流。

2.根据权利要求1所述的针对被舍弃的子空间分量的补偿编码装置,其特征在于,还包括如下模块:码流复用模块,用于将补偿编码码流存储为码流文件或直接发送到通信通道上。

3.根据权利要求1或2所述的针对被舍弃的子空间分量的补偿编码装置,其特征在于,所述基础补偿矢量集合包括固定基础补偿矢量集合和/或自适应基础补偿矢量集合;所述固定补偿矢量放置于固定基础补偿矢量集合中;所述自适应补偿矢量放置于自适应基础补偿矢量集合中。

4.根据权利要求1或2所述的针对被舍弃的子空间分量的补偿编码装置,其特征在于,所述固定补偿矢量根据正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧编码数据的变化而变化;所述自适应补偿矢量跟随每帧编码数据的变化而变化。

5.一种针对被舍弃的子空间分量的补偿编码方法,其特征在于,包括如下步骤:步骤1,根据已感知编码的信号模型生成固定补偿矢量作为基础补偿矢量,或者根据当前帧中已编码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量;

步骤2,将各个基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成一一对应的序号或特征参数;

步骤3,根据补偿需要选出用于补偿的基础补偿矢量,并将这些基础补偿矢量的序号或特征参数作为补偿编码参数进行量化编码,获得补偿编码码流。

6.根据权利要求5所述的针对被舍弃的子空间分量的补偿编码方法,其特征在于,还包括如下步骤:步骤4,将补偿编码码流存储为码流文件或直接发送到通信通道上。

7.根据权利要求5或6所述的针对被舍弃的子空间分量的补偿编码方法,其特征在于,所述基础补偿矢量集合包括固定基础补偿矢量集合和/或自适应基础补偿矢量集合;所述固定补偿矢量放置于固定基础补偿矢量集合中;所述自适应补偿矢量放置于自适应基础补偿矢量集合中。

8.根据权利要求5或6所述的针对被舍弃的子空间分量的补偿编码方法,其特征在于,所述固定补偿矢量根据正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧编码数据的变化而变化;所述自适应补偿矢量跟随每帧编码数据的变化而变化。

9.一种针对被舍弃的子空间分量的补偿解码装置,其特征在于,包括如下模块:基础补偿矢量生成模块,用于根据已感知解码的信号模型生成固定补偿矢量作为基础补偿矢量,或者根据当前帧中已解码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量;

基础补偿集合生成模块,用于将各个基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成一一对应的序号或特征参数;

码流解复用模块,用于读取码流文件或从通信通道上直接读取补偿编码码流;

补偿编码参数解码模块,用于对补偿编码码流进行解码,获得用于补偿的各个基础补偿矢量的序号或特征参数;

子空间分量补偿模块,用于根据序号或特征参数在基础补偿矢量集合中选出相对应的基础补偿矢量,再将选出的基础补偿矢量替代被舍弃的子空间分量。

10.根据权利要求9所述的针对被舍弃的子空间分量的补偿解码装置,其特征在于,所述基础补偿矢量集合包括固定基础补偿矢量集合和/或自适应基础补偿矢量集合;所述固定补偿矢量放置于固定基础补偿矢量集合中;所述自适应补偿矢量放置于自适应基础补偿矢量集合中。

11.根据权利要求9或10所述的针对被舍弃的子空间分量的补偿解码装置,其特征在于,所述固定补偿矢量根据正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧解码数据的变化而变化;所述自适应补偿矢量跟随每帧解码数据的变化而变化。

12.一种针对被舍弃的子空间分量的补偿解码方法,其特征在于,包括如下步骤:步骤1,根据已感知解码的信号模型生成固定补偿矢量作为基础补偿矢量,或者根据当前帧中已解码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量;

步骤2,将各个基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成一一对应的序号或特征参数;

步骤3,读取码流文件或从通信通道上直接读取补偿编码码流;

步骤4,对补偿编码码流进行解码,获得用于补偿的各个基础补偿矢量的序号或特征参数;

步骤5,用于根据序号或特征参数在基础补偿矢量集合中选出相对应的基础补偿矢量,再将选出的基础补偿矢量替代被舍弃的子空间分量。

13.根据权利要求12所述的针对被舍弃的子空间分量的补偿解码方法,其特征在于,所述基础补偿矢量集合包括固定基础补偿矢量集合和/或自适应基础补偿矢量集合;所述固定补偿矢量放置于固定基础补偿矢量集合中;所述自适应补偿矢量放置于自适应基础补偿矢量集合中。

14.根据权利要求12或13所述的针对被舍弃的子空间分量的补偿解码方法,其特征在于,所述固定补偿矢量根据正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧解码数据的变化而变化;所述自适应补偿矢量跟随每帧解码数据的变化而变化。

说明书 :

一种针对被舍弃的子空间分量的补偿编解码装置及方法

技术领域

[0001] 本发明涉及一种补偿编解码装置及方法,尤其是针对被舍弃的子空间分量的补偿编解码装置及方法。

背景技术

[0002] 随着科技的发展,出现了多种对声音信号的编码技术,上述声音通常指的是语音、音乐、自然声音和人工合成声音等人耳可感知的信号在内的数字声音。目前,很多声音编码技术已经成为工业标准被大量应用,融入人们的日常生活中,常用的声音编码技术有杜比实验室的AC-3、数字影院系统公司的DTS、移动图像专家组(MPEG)组织的MP3和AAC、微软公司的WMA,以及索尼公司的ATRAC。
[0003] 为了重现立体声的声音效果,现在多采用多个声道将多声道声音信号播放给用户,多声道声音信号的编码方法也从以AC-3和MP3为代表的和差立体声(M/S Stereo)和强度立体声(Intensity Stereo)等波形编码技术,演进到以MP3Pro、ITU EAAC+、MPEG Surround、Dolby DD+为代表的参数立体声(Parametric Stereo)和参数环绕声(Parametric Surround)技术。
[0004] 但是,无论是传统的PS技术还是MPEG Surround技术,都过分依赖了双耳的心理声学特性,而忽略了多声道声音信号本身的统计特性。例如,传统的PS技术和MPEG Surround技术都没有利用声道对之间的统计冗余信息。而且,MPEG Surround采用残差信息编码时,和声道信号和残差声道信号间仍然存在统计冗余,从而无法兼顾编码效率和编码信号的质量。专利申请201410395806.5、201410404895.5中提出了基于子空间映射(主成分分析(principal components analysis,PCA)、独立成分分析(Independent components analysis,ICA)等方法)的多声道音频编解码的方法,通过子空间映射有效去除冗余,兼顾多声道声音信号的统计特性和心理声学特性,提高了编码效率。该方法通过选择映射后子空间分量(数量为K)中重要的若干项进行感知编码,比如对若干主成分分量(数量为p)进行编码,其余的子空间分量(数量为K-p)则被舍弃,达到了降维的效果。这种降维处理有时会造成多声道音频间重建质量的差异,若某一通道音频与被舍弃的子空间分量(未进行感知编码的子空间分量)关联度高,则该通道的重建质量会显著变差,重建音频的能量也显著低于原始能量。如何能够在通过子空间映射进行降维处理时保证各通道的重建质量都不会显著降低,成为了一个关键问题。

发明内容

[0005] 本发明要解决的技术问题是在采用舍弃法降维处理后信号重建质量变差,重建后的音频能量显著低于原始能量。
[0006] 为了解决上述技术问题,本发明提供了一种针对被舍弃的子空间分量的补偿编码装置,包括如下模块:
[0007] 基础补偿矢量生成模块,用于根据已感知编码的信号模型生成固定补偿矢量作为基础补偿矢量,或者根据当前帧中已编码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量;
[0008] 基础补偿集合生成模块,用于将各个基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成一一对应的序号或特征参数;
[0009] 补偿编码参数编码模块,用于根据补偿需要选出用于补偿的基础补偿矢量,并将这些基础补偿矢量的序号或特征参数作为补偿编码参数进行量化编码,获得补偿编码码流。
[0010] 采用基础补偿矢量生成模块生成用于补偿的基础补偿矢量,该基础补偿矢量可以用作对被舍弃的子空间分量进行替代补偿,有效提高信号重建质量,重建后的音频能量也与原始能量相近;采用基础补偿集合生成模块将基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成对应的序号或特征参数,能够方便调用基础补偿矢量集合中的基础补偿矢量;采用补偿编码参数编码模块对补偿编码参数进行量化编码,方便将补偿编码参数进行存储或转发。
[0011] 作为本发明编码装置的进一步改进方案,还包括如下模块:
[0012] 码流复用模块,用于将补偿编码码流存储为码流文件或直接发送到通信通道上。
[0013] 采用码流复用模块能够将补偿编码码流存储为码流文件或直接发送到通信通道上,方便解码装置读取或接收,从而实时复用补偿编码参数。
[0014] 作为本发明编码装置的进一步限定方案,基础补偿矢量集合包括固定基础补偿矢量集合和/或自适应基础补偿矢量集合;固定补偿矢量放置于固定基础补偿矢量集合中;自适应补偿矢量放置于自适应基础补偿矢量集合中。采用将固定补偿矢量和自适应补偿矢量分别放置于固定基础补偿矢量集合和自适应基础补偿矢量集合中,方便分别且快速地调用固定补偿矢量和自适应补偿矢量,提高了补偿效率。
[0015] 作为本发明编码装置的进一步限定方案,固定补偿矢量根据正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧编码数据的变化而变化;自适应补偿矢量跟随每帧编码数据的变化而变化。采用已知的信号模型生成固定不变的固定补偿矢量,不会随着帧编码数据的变化而变化,具有较高的可靠性;采用自适应补偿矢量能够实时地跟随每帧编码数据的变化而变化,具有较高的实时性。
[0016] 本发明还提供了一种针对被舍弃的子空间分量的补偿编码方法,包括如下步骤:
[0017] 步骤1,根据已感知编码的信号模型生成固定补偿矢量作为基础补偿矢量,或者根据当前帧中已编码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量;
[0018] 步骤2,将各个基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成一一对应的序号或特征参数;
[0019] 步骤3,根据补偿需要选出用于补偿的基础补偿矢量,并将这些补偿矢量的序号或特征参数作为补偿编码参数进行量化编码,获得补偿编码码流。
[0020] 作为本发明补偿编码方法的进一步限定方案,还包括如下步骤:
[0021] 步骤4,将补偿编码码流存储为码流文件或直接发送到通信通道上。
[0022] 作为本发明补偿编码方法的进一步限定方案,基础补偿矢量集合包括固定基础补偿矢量集合和/或自适应基础补偿矢量集合;固定补偿矢量放置于固定基础补偿矢量集合中;自适应补偿矢量放置于自适应基础补偿矢量集合中。
[0023] 作为本发明补偿编码方法的进一步限定方案,固定补偿矢量根据正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧编码数据的变化而变化;自适应补偿矢量跟随每帧编码数据的变化而变化。
[0024] 本发明还提供了一种针对被舍弃的子空间分量的补偿解码装置,包括如下模块:
[0025] 基础补偿矢量生成模块,用于根据已感知解码的信号模型生成固定补偿矢量作为基础补偿矢量,或者根据当前帧中已解码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量;
[0026] 基础补偿集合生成模块,用于将各个基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成一一对应的序号或特征参数;
[0027] 码流解复用模块,用于读取码流文件或从通信通道上直接读取补偿编码码流;
[0028] 补偿编码参数解码模块,用于对补偿编码码流进行解码,获得用于补偿的各个基础补偿矢量的序号或特征参数;
[0029] 子空间分量补偿模块,用于根据序号或特征参数在基础补偿矢量集合中选出相对应的基础补偿矢量,再将选出的基础补偿矢量替代被舍弃的子空间分量。
[0030] 采用基础补偿矢量生成模块生成用于补偿的基础补偿矢量,该基础补偿矢量用于对被舍弃的子空间分量进行替代补偿,有效提高信号重建质量,重建后的音频能量也与原始能量相近;采用基础补偿集合生成模块将基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成对应的序号或特征参数,能够方便调用基础补偿矢量集合中的基础补偿矢量进行解码补偿;采用补偿编码参数解码模块对补偿编码参数进行解码,从而获得补偿编码参数;采用子空间分量补偿模块根据补偿编码参数在基础补偿矢量集合中选出对应的基础补偿矢量,从而进一步对被舍弃的子空间分量进行替代补偿。
[0031] 作为本发明补偿解码装置的进一步限定方案,基础补偿矢量集合包括固定基础补偿矢量集合和/或自适应基础补偿矢量集合;固定补偿矢量放置于固定基础补偿矢量集合中;自适应补偿矢量放置于自适应基础补偿矢量集合中。采用将固定补偿矢量和自适应补偿矢量分别放置于固定基础补偿矢量集合和自适应基础补偿矢量集合中,方便分别且快速地调用固定补偿矢量和自适应补偿矢量,提高了补偿效率。
[0032] 作为本发明补偿解码装置的进一步限定方案,固定补偿矢量根据正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧解码数据的变化而变化;自适应补偿矢量跟随每帧解码数据的变化而变化。采用已知的信号模型生成固定不变的固定补偿矢量,不会随着帧解码数据的变化而变化,具有较高的可靠性;采用自适应补偿矢量能够实时地跟随每帧解码数据的变化而变化,具有较高的实时性。
[0033] 本发明还提供了一种针对被舍弃的子空间分量的补偿解码方法,包括如下步骤:
[0034] 步骤1,根据已感知解码的信号模型生成固定补偿矢量作为基础补偿矢量,或者根据当前帧中已解码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量;
[0035] 步骤2,将各个基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成一一对应的序号或特征参数;
[0036] 步骤3,读取码流文件或从通信通道上直接读取补偿编码码流;
[0037] 步骤4,对补偿编码码流进行解码,获得用于补偿的各个基础补偿矢量的序号或特征参数;
[0038] 步骤5,用于根据序号或特征参数在基础补偿矢量集合中选出相对应的基础补偿矢量,再将选出的基础补偿矢量替代被舍弃的子空间分量。
[0039] 作为本发明补偿解码方法的进一步限定方案,基础补偿矢量集合包括固定基础补偿矢量集合和/或自适应基础补偿矢量集合;固定补偿矢量放置于固定基础补偿矢量集合中;自适应补偿矢量放置于自适应基础补偿矢量集合中。
[0040] 作为本发明补偿解码方法的进一步限定方案,固定补偿矢量根据正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧解码数据的变化而变化;自适应补偿矢量跟随每帧解码数据的变化而变化。
[0041] 本发明的有益效果在于:(1)采用基础补偿矢量生成模块生成用于补偿的基础补偿矢量,该基础补偿矢量用于对被舍弃的子空间分量进行替代补偿,有效提高信号重建质量,重建后的音频能量也与原始能量相近;(2)采用基础补偿集合生成模块将基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成对应的序号或特征参数,能够方便调用基础补偿矢量集合中的基础补偿矢量进行解码补偿;(3)在编码装置中采用补偿编码参数编码模块对补偿编码参数进行量化编码,方便将补偿编码参数进行存储或转发;(4)在解码装置中采用补偿编码参数解码模块对补偿编码参数进行解码,从而获得补偿编码参数;(5)在解码装置中采用子空间分量补偿模块根据补偿编码参数在基础补偿矢量集合中选出对应的基础补偿矢量,从而进一步对被舍弃的子空间分量进行替代补偿。

附图说明

[0042] 图1为现有的多声道声音信号编码方法流程图;
[0043] 图2为本发明的补偿编码装置结构示意图;
[0044] 图3为采用本发明的补偿编码装置对多声道声音信号编码方法进行补偿应用的流程示意图;
[0045] 图4为本发明的执行步骤207的具体流程示意图;
[0046] 图5为本发明的补偿解码装置结构示意图;
[0047] 图6为采用本发明的补偿解码装置对多声道声音信号解码方法进行补偿应用的流程示意图;
[0048] 图7为本发明的执行步骤303的具体流程示意图;
[0049] 图8为本发明的生成固定基础补偿矢量集合A1的流程示意图;
[0050] 图9为本发明的生成自适应基础补偿矢量集合A2的流程示意图;
[0051] 图10为本发明的一种对PCA主成分分量进行补偿处理编码的方法的流程示意图;
[0052] 图11为本发明的一种对PCA主成分分量进行补偿处理解码的方法的流程示意图;
[0053] 图12为本发明的一种以模型参数作为补偿编码参数的对PCA主成分分量进行补偿处理编码的方法的流程示意图;
[0054] 图13为本发明的一种以模型参数作为补偿编码参数的对PCA主成分分量进行补偿处理解码的方法的流程示意图;
[0055] 图14为本发明的一种无需固定基础补偿矢量集合存储的对PCA主成分分量进行补偿处理编码的方法的流程示意图;
[0056] 图15为本发明的一种无需固定基础补偿矢量集合存储的对PCA主成分分量进行补偿处理解码的方法的流程示意图;
[0057] 图16为本发明的一种矢量组合的对PCA主成分分量进行补偿处理编码的方法的流程示意图;
[0058] 图17为本发明的一种矢量组合的对PCA主成分分量进行补偿处理解码的方法的流程示意图;
[0059] 图18为本发明的一种调整映射矩阵系数对PCA主成分分量进行补偿处理编码的方法的流程示意图;
[0060] 图19为本发明的一种基于子空间映射的高效多声道音频编码装置的结构示意图;
[0061] 图20为本发明的一种基于子空间映射的高效多声道音频解码装置的结构示意图。

具体实施方式

[0062] 如图1所示,现有技术中的多声道声音信号编码方法包括如下步骤:
[0063] 步骤101,采用修正离散余弦变换MDCT或修正离散正弦变换MDST,将第一多声道声音信号映射为第一频域信号;
[0064] 步骤102,将第一频域信号划分为不同时频子带;
[0065] 步骤103,在不同时频子带中的每个时频子带内,计算所述第一多声道声音信号的第一统计特性;
[0066] 步骤104,根据第一统计特性,估计主成分分析PCA映射模型;
[0067] 步骤105,采用PCA映射模型,将第一多声道声音信号映射为第二多声道声音信号;
[0068] 步骤106,根据时间、频率和声道的不同,对第二多声道声音信号中的至少一组和所述PCA映射模型进行感知编码,并复用成编码多声道码流。
[0069] 该方法通过选择映射后子空间分量(数量为K)中重要的若干项进行感知编码,比如对若干主成分分量(数量为p)进行编码,其余的子空间分量(数量为K-p)则被舍弃,达到了降维的效果。这种降维处理有时会造成多声道音频间重建质量的差异,若某一通道音频与被舍弃的子空间分量(未进行感知编码的子空间分量)关联度高,则该通道的重建质量会显著变差,重建音频的能量也显著低于原始能量。
[0070] 下面结合附图2-20对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
[0071] 针对现有多声道编码方法中的问题,本发明给出了一种对被舍弃的子空间分量进行补偿编码/解码的方案,实施例1是对本发明对被舍弃的子空间分量进行补偿编码的补偿编码装置的说明;实施例2描述的是一种应用了此补偿编码方法的多声道编码方法;与编码对应,实施例3是对本发明对被舍弃的子空间分量进行补偿解码的补偿解码装置的说明;实施例4描述的是一种应用了此补偿解码方法的多声道解码方法;实施例13描述的是一种应用了实施例1所述补偿编码装置的多声道编码装置;实施例14描述的是一种应用了实施例3所述补偿解码装置的多声道解码装置;实施例5是对补偿编码中固定基础补偿矢量集合A1生成方法的说明;实施例6是对补偿编码中自适应基础补偿矢量集合A2生成方法的说明;实施例7~实施例12描述的是几种更具体的补偿编码/解码方法,其中实施例7和实施例8描述的是以基础补偿矢量在集合中序号indext为补偿编码参数时的情况;实施例9描述的是以模型参数为补偿编码参数时的情况;实施例10描述的是不对基础补偿矢量集合进行存储时的情况;实施例11描述的是从集合中选择两个矢量进行组合时的情况;实施例10描述的是补偿处理的一种变体方法,通过调整映射矩阵系数进行补偿处理。
[0072] 实施例1:
[0073] 如图2所示,本发明的补偿编码装置包括基础补偿矢量生成模块、基础补偿集合生成模块、补偿编码参数编码模块以及码流复用模块;其中,
[0074] 基础补偿矢量生成模块,用于根据已感知编码的信号模型生成固定补偿矢量作为基础补偿矢量 或者根据当前帧中已编码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量 固定补偿矢量可以根据已感知编码的正弦信号模型、随机噪声信号模型以及谐波和单弦加噪声HILN(Harmonic and Individual Line plus Noise)模型中的一种或几种生成,且不跟随每帧编码数据的变化而变化,自适应补偿矢量跟随每帧编码数据的变化而变化;
[0075] 基础补偿集合生成模块,用于将各个基础补偿矢量 放置于基础补偿矢量集合A中,并为各个基础补偿矢量 生成一一对应的序号或特征参数,基础补偿矢量集合A包括固定基础补偿矢量集合A1和/或自适应基础补偿矢量集合A2,固定补偿矢量放置于固定基础补偿矢量集合A1中,自适应补偿矢量放置于自适应基础补偿矢量集合A2中;
[0076] 补偿编码参数编码模块,用于根据补偿需要选出用于补偿的基础补偿矢量 并将这些基础补偿矢量 的序号或特征参数作为补偿编码参数进行量化编码,获得补偿编码码流;
[0077] 码流复用模块,用于将补偿编码码流存储为码流文件或直接发送到通信通道上,方便补偿解码装置读取或直接接收。
[0078] 本发明的补偿编码装置利用基础补偿矢量生成模块生成用于补偿的基础补偿矢量,该基础补偿矢量可以用作对被舍弃的子空间分量进行替代补偿,有效提高信号重建质量,重建后的音频能量也与原始能量相近;利用基础补偿集合生成模块将基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成对应的序号或特征参数,能够方便调用基础补偿矢量集合中的基础补偿矢量;利用补偿编码参数编码模块对补偿编码参数进行量化编码,方便将补偿编码参数进行存储或转发;利用码流复用模块能够将补偿编码码流存储为码流文件或直接发送到通信通道上,方便解码装置读取或接收,从而实时复用补偿编码参数;将固定补偿矢量和自适应补偿矢量分别放置于固定基础补偿矢量集合和自适应基础补偿矢量集合中,方便分别且快速地调用固定补偿矢量和自适应补偿矢量,提高了补偿效率;利用已知的信号模型生成固定不变的固定补偿矢量,不会随着帧编码数据的变化而变化,具有较高的可靠性,利用自适应补偿矢量能够实时地跟随每帧编码数据的变化而变化,具有较高的实时性。
[0079] 实施例2:
[0080] 如图3所示,采用本发明的补偿编码装置对多声道声音信号编码方法进行补偿应用,具体包括如下步骤:
[0081] 步骤201,采用修正离散余弦变换(MDCT,Modified Discrete Cosine Transform)或修正离散正弦变换(MDST,Modified Discrete Sine Transform),将第一多声道声音信号映射为第一频域信号;
[0082] 步骤202,将第一频域信号划分为不同时频子带;
[0083] 步骤203,在不同时频子带中的每个时频子带内,计算第一多声道声音信号的第一统计特性;
[0084] 步骤204,根据第一统计特性,估计PCA映射模型;
[0085] 步骤205,采用PCA映射模型,将第一多声道声音信号映射为第二多声道声音信号;
[0086] 步骤206,根据时间、频率和声道的不同,对第二多声道声音信号中的至少一组进行感知编码,得到感知编码码流;
[0087] 步骤207,根据时间、频率和声道的不同,利用本发明的编码补偿装置对第二多声道声音信号中未进行感知编码的至少一组进行补偿编码处理,得到补偿编码码流;
[0088] 步骤208对PCA映射模型进行编码得到PCA映射模型码流,并与感知编码码流、补偿编码码流等复用成编码多声道码流。
[0089] 其中,步骤201中第一多声道声音信号的最初表现形式为时域信号u(m,t),通过步骤201中的映射处理后,可以得到多声道频域信号x(m,k),m为声道序号,t为帧(或子帧)序号,k为频率序号;
[0090] 在执行步骤202时,若步骤201获得的第一频域信号为x(m,k),可以将x(m,k)划分为不同的时频子带xi(t,k),m为声道序号,i是时频子带的序号,t为帧(或子帧)序号,k为频率序号;
[0091] 在执行步骤205时,在不同时频子带内,计算多声道声音信号xi(t,k)的统计特性,并估计优化子空间映射模型Wi(t,k),采用估计的映射模型,将多声道信号映射到新的子空间,获得新的一组多声道信号zi(t,k);
[0092] 在执行步骤207时,具体的步骤如图4所示,包括:
[0093] 步骤1-1,根据已感知编码的信号模型生成固定补偿矢量作为基础补偿矢量 或者根据当前帧中已感知编码的主成分分量(第二多声道声音信号)拷贝生成自适应补偿矢量作为基础补偿矢量 其中,固定补偿矢量根据已感知编码的正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧编码数据的变化而变化,自适应补偿矢量跟随每帧编码数据的变化而变化;
[0094] 步骤1-2,将各个基础补偿矢量放置于基础补偿矢量集合A中,并为各个基础补偿矢量生成一一对应的序号或特征参数,其中,基础补偿矢量集合包括固定基础补偿矢量集合A1和/或自适应基础补偿矢量集合A2,固定补偿矢量放置于固定基础补偿矢量集合A1中,自适应补偿矢量放置于自适应基础补偿矢量集合A2中;
[0095] 步骤1-3,用于根据待补偿处理的第二多声道信号 的补偿需要选出用于补偿的基础补偿矢量 并将这些基础补偿矢量 的序号或特征参数作为补偿编码参数进行量化编码,获得补偿编码码流。
[0096] 在执行步骤208时,映射模型编码可以编码对应的映射矩阵(即特征矢量),也可以编码该模型的其他变换形式,亦可以直接编码借以计算映射矩阵的协方差矩阵。映射模型编码时,可以采用众所周知的标量量化、矢量量化和预测编码等方法,也可以采用熵编码(如huffman编码或算数编码)来进一步提高编码效率。
[0097] 实施例3:
[0098] 如图5所示,本发明补偿解码装置,包括基础补偿矢量生成模块、基础补偿集合生成模块、码流解复用模块、补偿编码参数解码模块以及子空间分量补偿模块。其中,[0099] 基础补偿矢量生成模块,用于根据已感知解码的信号模型生成固定补偿矢量作为基础补偿矢量 或者根据当前帧中已解码的主成分分量(第二多声道声音信号)拷贝生成自适应补偿矢量作为基础补偿矢量 其中,固定补偿矢量根据已感知解码的正弦信号模型、随机噪声信号模型以及HILN信号模型中的一种或几种生成,且不跟随每帧解码数据的变化而变化;自适应补偿矢量跟随每帧解码数据的变化而变化;
[0100] 基础补偿集合生成模块,用于将各个基础补偿矢量 放置于基础补偿矢量集合A中,并为各个基础补偿矢量 生成一一对应的序号或特征参数,其中,基础补偿矢量集合A包括固定基础补偿矢量集合A1和/或自适应基础补偿矢量集合A2,固定补偿矢量放置于固定基础补偿矢量集合A1中,自适应补偿矢量放置于自适应基础补偿矢量集合A2中;
[0101] 码流解复用模块,用于读取码流文件或从通信通道上直接读取补偿编码码流;
[0102] 补偿编码参数解码模块,用于对补偿编码码流进行解码,获得用于补偿的各个基础补偿矢量 的序号或特征参数;
[0103] 子空间分量补偿模块,用于根据序号或特征参数在基础补偿矢量集合A中选出相对应的基础补偿矢量 再将选出的基础补偿矢量 替代第二多声道信号 中被舍弃的子空间分量。
[0104] 利用基础补偿矢量生成模块生成用于补偿的基础补偿矢量,该基础补偿矢量用于对被舍弃的子空间分量进行替代补偿,有效提高信号重建质量,重建后的音频能量也与原始能量相近;利用基础补偿集合生成模块将基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成对应的序号或特征参数,能够方便调用基础补偿矢量集合中的基础补偿矢量进行解码补偿;利用补偿编码参数解码模块对补偿编码参数进行解码,从而获得补偿编码参数;利用子空间分量补偿模块根据补偿编码参数在基础补偿矢量集合中选出对应的基础补偿矢量,从而进一步对被舍弃的子空间分量进行替代补偿;将固定补偿矢量和自适应补偿矢量分别放置于固定基础补偿矢量集合和自适应基础补偿矢量集合中,方便分别且快速地调用固定补偿矢量和自适应补偿矢量,提高了补偿效率;利用已知的信号模型生成固定不变的固定补偿矢量,不会随着帧解码数据的变化而变化,具有较高的可靠性;利用自适应补偿矢量能够实时地跟随每帧解码数据的变化而变化,具有较高的实时性。
[0105] 实施例4:
[0106] 如图6所示,采用本发明的解码装置对多声道声音信号解码方法进行补偿应用,具体包括如下步骤:
[0107] 步骤301,对编码多声道码流进行解复用,得到感知编码码流、补偿编码码流、PCA映射模型码流;
[0108] 步骤302,对编码多声道码流中感知编码码流、PCA映射模型码流进行解码,获得第二多声道声音信号中的至少一组和PCA映射模型;
[0109] 步骤303,利用本发明的补偿解码装置对编码多声道码流中补偿编码码流进行解码得到补偿编码参数,利用补偿编码参数对第二多声道声音信号进行补偿处理获得补偿处理后的第二多声道声音信号;
[0110] 步骤304,采用PCA映射模型,将补偿处理后第二多声道声音信号映射回第一多声道声音信号;
[0111] 步骤305,采用修正离散余弦逆变换IMDCT或修正离散正弦逆变换IMDST,将第一多声道声音信号从频域映射为时域。
[0112] 其中,在执行步骤303时,具体的步骤如图7所示,包括:
[0113] 步骤2-1,根据已感知解码的信号模型生成固定补偿矢量作为基础补偿矢量,或者根据当前帧中已解码的主成分分量拷贝生成自适应补偿矢量作为基础补偿矢量,其中,基础补偿矢量集合A包括固定基础补偿矢量集合A1和/或自适应基础补偿矢量集合A2,固定补偿矢量放置于固定基础补偿矢量集合A1中,自适应补偿矢量放置于自适应基础补偿矢量集合A2中;
[0114] 步骤2-2,将各个基础补偿矢量放置于基础补偿矢量集合中,并为各个基础补偿矢量生成一一对应的序号或特征参数;
[0115] 步骤2-3,对补偿编码码流进行解码,获得用于补偿的各个基础补偿矢量 的序号或特征参数;
[0116] 步骤2-4,用于根据序号或特征参数在基础补偿矢量集合A中选出相对应的基础补偿矢量 再将选出的基础补偿矢量 替代第二多声道信号 中被舍弃的子空间分量。
[0117] 在执行步骤305时,当第一多声道声音信号在频域为多个分组声音信号时,在步骤304之前,还可以包括:对码流中的声道分组信息进行解码,获得解码的声道分组信息;根据解码的声道分组信息将多个分组声音信号进行分组复原,获得第三多声道声音信号,将第三多声道声音信号作为第一多声道声音信号执行步骤304。
[0118] 实施例5:
[0119] 固定基础补偿矢量集合A1可以根据已感知编码的信号模型生成或几种信号模型的组合来生成,比如正弦模型、随机噪声模型、HILN(Harmonic and Individual Line plus Noise)模型等。固定基础补偿矢量集合A1中的每一个基础补偿矢量 都由与其对应的补偿编码参数确定,两者一一对应,如A1中有Nt个矢量,则有Nt个补偿编码参数Paraset[i](i=1…Nt)与之一一对应,例如由HILN信号模型生成A1时,则Paraset[i]是一组HILN模型的固定基础补偿矢量集合。
[0120] 固定基础补偿矢量集合A1生成时,首先确定基础补偿矢量 所要表达的音调性参数Tnrset,再根据音调性参数Tnrset计算获得相应信号模型的归一化能量,最后再根据归一化能量生成相应信号模型的固定补偿矢量。
[0121] 具体步骤如图8所示,以根据音调性参数来生成正弦模型信号与随机噪声模型信号的组合信号为例来进行说明,此时Paraset[i]为音调性参数集Tnrset[i]。具体步骤如下:
[0122] 步骤3-1,确定集合A1所表达的模型参数集,即集合A1中元素个数Nt,以及每一个元素所对应音调性参数Tnrset[i](i=1…Nt,0≤Tnrset[i]≤1),音调性描述的是信号的调性,当Tnrset等于1时表示信号为纯弦性信号,当Tnrset等于0时表示信号为白噪声;
[0123] 步骤3-2,令indext=1;
[0124] 步骤3-3,根据音调性参数Tnrset[indext]构造出基础补偿矢量 具体为:
[0125] 首先,根据音调性参数Tnrset[indext]得到归一化补偿矢量中的噪性能量engo_n和弦性能量engo_t,满足engo_n+engo_t=1,计算方法可采用专利申请201210085257.2中的方法;
[0126] 然后,生成能量为engo_n的噪声信号 和能量为engo_t的弦性信号 生成方法可采用专利申请201210085257.2中的方法;
[0127] 最后,将噪声信号 和弦性信号 组合得到基础补偿矢量 为:
[0128]
[0129] 步骤3-4,将基础补偿矢量 加入到集合A1中,在集合A1中 对应的序号为indext。
[0130] 步骤3-5,令indext=indext+1,再转至步骤3-3,重复直至indext>Nt。
[0131] 实施例6:
[0132] 自适应基础补偿矢量集合A2可以根据当前帧或前后几帧的已解码信号来生成,如当前帧的已感知解码的p个主成分分量、前一帧的感知解码的p个主成分分量、当前帧的已解码的低频数据等。自适应基础补偿矢量集合A2需要在每帧数据处理中都进行更新。
[0133] 自适应基础补偿矢量集合A2在生成时,首先读取当前帧中已编码的主成分分量,并对各个已编码的主成分分量进行归一化处理;再将归一化后的已编码的主成分分量作为变化矢量,并设定与各个变化矢量相对应的编码参数。
[0134] 具体步骤如图9所示,以根据当前帧的感知编码/解码的p个主成分分量来生成自适应基础补偿矢量集合A2为例来对A2的生成过程进行说明:
[0135] 步骤4-1,令indext=1;
[0136] 步骤4-2,将当前帧的感知编码/解码的第indext个主成分分量 替换基础补偿矢量 并对基础补偿矢量 进行归一化处理为:
[0137]
[0138] 步骤4-3,将基础补偿矢量 加入到自适应基础补偿矢量集合A2,在集合A2中对应的补偿编码参数为indext;
[0139] 步骤4-4,令indext=indext+1,再转至步骤4-2,重复直至indext>p。
[0140] 实施例7和实施例8描述的是以基础补偿矢量在集合中序号indext为补偿编码参数时的补偿编码方法和补偿解码方法。
[0141] 实施例7:
[0142] 如图10所示,是一种对PCA主成分分量进行补偿处理编码的方法,包括如下步骤:
[0143] 步骤5-1,计算某个需要进行补偿的未经感知编码的主成分 的能量engo,并进行量化编码,量化编码的方法可采用公知的方法,可以是标量量化,也可以是矢量量化;
[0144] 步骤5-2,从基础补偿矢量集合A中选出用于补偿处理的基础补偿矢量 在集合A中的序号为indext作为补偿编码参数,对补偿编码参数indext进行量化编码,量化编码的方法可采用公知的方法,可以是标量量化,也可以是矢量量化,从基础补偿矢量集合A中选出用于补偿处理的基础补偿矢量 的方法可以有多种,比如根据信号音调性差异最小的准则,选择音调性与 最接近的基础补偿矢量;
[0145] 步骤5-3,调整 所对应的映射矩阵系数wok(k=1…K),如前所述,第o个主成分分量 逆映射到第k个通道的数据 上所对应的映射矩阵系数是wok,对于每一个k(k=1…K),如果 与第k个通道的数据 的音调性的差值的绝对值大于给定的阈值Threshold_1(音调性的取值范围在[0,1]内,那么阈值Threshold_1也应该在这个范围内,比如取0.3,如果两者音调性的差值较大,如大于0.5,则说明两个信号的特点差别很大,有可能一个为弦性信号,而另一个为噪性信号),则将映射矩阵系数wok调整为0,也可以不进行映射矩阵系数的调整,则步骤5-3可以省略。
[0146] 实施例8:
[0147] 如图11所示,是一种对PCA主成分分量进行补偿处理解码的方法,具体步骤为:
[0148] 步骤6-1,解码待补偿的被舍弃的某一主成分分量 的能量engo。
[0149] 步骤6-2,解码补偿编码参数indext,并据此从基础补偿矢量集合A中选出对应的基础补偿矢量
[0150] 步骤6-3,进行补偿处理,即将基础补偿矢量 拷贝到 并进行幅度调整:
[0151]
[0152] 实施例9描述的是以模型参数为补偿编码参数时的补偿编码方法和补偿解码方法。
[0153] 实施例9:
[0154] 对于基础补偿矢量集合A来说,其中的每一个矢量 由唯一确定的indext与之对应,因此前述实施例中将indext作为补偿编码参数并对其进行编码,解码端根据解码的indext和集合A就能确定对应的矢量 而对于固定基础补偿矢量集合A1来说,与indext类似,模型参数Paraset[indext](indext=1…Nt)与固定基础补偿矢量集合A1的矢量间也存在这种一一对应的关系,并且模型参数Paraset[indext](indext=1…Nt)与序号indext也存在这种一一对应关系。所以,可以选择模型参数Paraset[indext]作为补偿编码参数进行编码,这可以看作是对序号indext进行的一种特殊编码。以对模型参数为音调性参数Tnrset[i]进行编码为例来进行说明。
[0155] 如图12所示,以模型参数作为补偿编码参数的对PCA主成分分量进行补偿处理编码的方法,对被舍弃的主成分分量 进行补偿编码的步骤如下:
[0156] 步骤7-1,计算待补偿的被舍弃的某一主成分分量 的能量engo并进行编码,量化编码的方法可采用公知的方法,可以是标量量化,也可以是矢量量化;
[0157] 步骤7-2,从基础补偿矢量集合A中选出用于补偿处理的基础补偿矢量 ( 在集合A中的序号为indext,其对应的模型参数为模型参数Tnrset[indext]),对Tnrset[indext]进行量化编码,量化编码的方法可采用公知的方法,可以是标量量化,也可以是矢量量化;
[0158] 步骤7-3,调整 所对应的映射矩阵系数wok(k=1…K),调整步骤与前述的步骤5-3相同,也可以不进行这种调整,则步骤7-3可以省略。
[0159] 如图13所示,以模型参数作为补偿编码参数的对PCA主成分分量进行补偿处理解码的方法,对被舍弃的主成分分量 行补偿解码的步骤如下:
[0160] 步骤8-1,对待补偿的被舍弃的主成分分量 的能量engo进行解码;
[0161] 步骤8-2,解码音调性参数Tnrset[indext],并据此从基础补偿矢量集合A中选出对应的基础补偿矢量
[0162] 步骤8-3,进行补偿处理,即将补偿分量 拷贝到 并进行幅度调整:
[0163]
[0164] 由前述实施例5固定基础补偿矢量集合生成和前述实施例6自适应基础补偿矢量集合生成可知,基础补偿矢量集合A或A1或A2中的每一个矢量都是由一组确定的模型参数Paraset或一个确定的序号indext就可构建出来的,因此,可以不对集合A或A1或A2进行存储,而是在解码器中根据模型参数来直接生成补偿矢量(实施例5中方法)或根据序号indext(对应于在已感知解码的p个主成分分量中的第indext个主成分分量)通过对已感知解码的主成分分量进行归一化处理来生成补偿矢量(实施例6中方法);相应的,编码器中也不需要对集合A或A1或A2进行搜索来确定indext或模型参数Paraset,而是通过信号分析直接获得序号indext或模型参数Paraset并对其进行编码。根据模型参数来直接生成补偿矢量(实施例5中方法),相当于对待补偿处理主成分进行模型参数编码的方法来进行补偿处理,且与实施例9的方法是等效的;根据序号indext(在已感知解码的p个主成分分量中的第indext个主成分分量)通过对已感知解码的主成分分量进行归一化处理来生成补偿矢量,相当于通过从已感知解码的主成分分量中拷贝数据来进行补偿处理,且与实施例7/实施例8的方法是等效的。下面以不对固定基础补偿矢量集合进行存储时的补偿编码/补偿解码方法为例进行说明。
[0165] 实施例10:
[0166] 对于固定基础补偿矢量集合A1来说,其中的每一个矢量 都是由唯一确定的一组模型参数Paraset[indext](indext=1…Nt)生成的,因此,可以不对集合A1进行存储,而是在解码器根据模型来直接生成;相应的,编码器中也不需要对集合A1进行搜索来确定indext和Paraset[indext],而是通过信号分析直接获得模型Paraset[indext]并对其进行编码。这种处理方式与实施例9的方法是等效的,以模型参数为调性参数Tnrset时为例来进行说明。
[0167] 如图14所示,无需固定基础补偿矢量集合A存储的对PCA主成分分量进行补偿处理编码的方法。在编码中,对被舍弃的主成分分量 进行补偿编码的步骤如下:
[0168] 步骤9-1,计算 的能量engo并进行量化编码,量化编码的方法可采用公知的方法,可以是标量量化,也可以是矢量量化;
[0169] 步骤9-2,计算 的音调性参数Tnrset并进行量化编码,计算音调性的方法可采用专利申请201210085257.2中的方法;
[0170] 步骤9-3,调整 所对应的映射矩阵系数是wok(k=1…K),调整步骤与前述的步骤5-3相同,也可以不进行这种调整,则步骤9-3可以省略。
[0171] 如图15所示,无需固定基础补偿矢量集合存储的对PCA主成分分量进行补偿处理解码的方法,在解码中,对被舍弃的主成分分量 行补偿解码的步骤如下:
[0172] 步骤10-1,解码 的能量engo;
[0173] 步骤10-2,解码音调性参数Tnrset,并据此生成补偿分量 具体步骤为:
[0174] 首先,根据音调性参数Tnrset得到归一化补偿矢量的噪性能量engo_n和弦性能量engo_t,满足engo_n+engo_t=1,计算方法可采用专利申请201210085257.2中的方法;
[0175] 然后,生成能量为engo_n的噪声信号 和能量为engo_t的弦性信号 方法可采用专利申请201210085257.2中的方法;
[0176] 最后,将噪声信号 和弦性信号 组合得到补偿分量
[0177]
[0178] 步骤10-3,进行补偿处理,即将补偿分量 拷贝到 并进行幅度调整:
[0179]
[0180] 实施例11:
[0181] 除了从集合A(A=A1∪A2)中选择一个基础补偿矢量进行补偿处理外,还可以从集合A中选择两个或多个基础补偿矢量的组合来进行补偿处理。以分别从固定基础补偿矢量集合A1和自适应基础补偿矢量集合A2中各选择一个矢量进行组合为例进行说明。
[0182] 如图16所示,矢量组合的对PCA主成分分量进行补偿处理编码的方法。在编码器中,进行补偿处理编码的步骤如下:
[0183] 步骤11-1,计算待补偿的被舍弃的某一主成分分量 的能量engo;
[0184] 步骤11-2,从自适应基础补偿矢量集合A2中选出用于补偿处理的基础补偿矢量( 在集合A2中的序号为indext1作为补偿编码参数),从基础补偿矢量集合选出用于补偿处理的基础补偿矢量 的方法可以有多种,比如根据信号音调性差异最小的准则,选择音调性与 最接近的基础矢量;
[0185] 步骤11-3,确定自适应基础补偿矢量集合A2和固定基础补偿矢量集合A1的补偿处理在 的能量中的比重β1和β2,且β1和β2满足β1+β2=1,例如β1=1,β2=0时,则相当于只采用了自适应基础补偿矢量集合A2中的矢量进行处理;例如β1=0.6,β2=0.4,则相当于采用了固定基础补偿矢量集合A1和自适应基础补偿矢量集合A2的组合进行处理;
[0186] 比如可以通过计算 与 的相似程度的来确定β1、β2的值,相似程度的度量可以有多种方法,比如相关系数、音调性的相似度等,以采用相关系数为例, 与 的归一化互相关系数的绝对值中的最大值为cor1,则:
[0187] β1=cor1*cor1
[0188] β2=1-cor1*cor1
[0189] 以采用音调性的相似度为度量为例, 与 的音调性参数分别为TNR1和TNR2,则可以采用如下公式来确定β1和β2:
[0190] β1=1-2*abs(TNR1-TNR2)/(TNR1+TNR2)
[0191] β2=1-β1
[0192] 式中,abs()为绝对值函数;
[0193] 步骤11-4,确定从固定基础补偿矢量集合A1中所选矢量的目标音调性的值为TNR3,例如可以通过如下公式计算TNR3:
[0194] TNR3=TNR1-TNR2;
[0195] 步骤11-5,从基础补偿矢量集合A1中选出用于补偿处理的基础补偿矢量 (在集合A1中的序号为indext2作为补偿编码参数),从自适应基础补偿矢量集合A2选出用于补偿处理的基础补偿矢量 的方法可以有多种,比如根据信号音调性差异最小的准则,选择音调性与TNR3最接近的基础补偿矢量作为
[0196] 步骤11-6,对indext1、indext2、engo1和engo2进行量化编码,其中engo2=engo*β2,engo1=engo*β1。
[0197] 如图17所示,矢量组合的对PCA主成分分量进行补偿处理解码的方法。在解码器中,对 进行补偿处理解码的步骤如下:
[0198] 步骤12-1,对indext1、indext2、engo1以及engo2进行解码;
[0199] 步骤12-2,根据indext1从自适应基础补偿矢量集合A2中获取
[0200] 步骤12-3,根据indext2从固定基础补偿矢量集合A1中获取
[0201] 步骤12-4,进行补偿处理,即将补偿分量 拷贝到 并进行幅度调整:
[0202]
[0203] 实施例12:
[0204] 当采用从自适应基础补偿矢量集合A2中选择基础补偿矢量来生成补偿分量时,其效果等同于对映射矩阵系数进行调整,这形成了补偿处理方法的一种变体:调整映射矩阵系数的补偿处理方法:通过调整逆映射矩阵WT,达到利用经过感知编码的p个主成分中的一个或几个主成分来对被舍弃的一个或几个主成分进行补偿的目的。
[0205] 如图18所示,调整映射矩阵系数对PCA主成分分量进行补偿处理编码的方法。对于某个需要进行补偿的未经感知编码的主成分 在编码器中进行补偿处理编码的步骤如下:
[0206] 步骤13-1,从选择经过感知编码的p个主成分 中选择一个主成分 来对 进行补偿处理, 在p个主成分中的序号记为l, 的选择方法可以有多种,比如可以选择p个主成分 中最后一个 可以选择 中音调性与
最接近的一个作为 可以选择 中谱平坦度与 最接近的一个作为
[0207] 步骤13-2,计算 和 的能量engo和engl;
[0208] 步骤13-3,调整映射矩阵系数wlk:
[0209]
[0210] 步骤13-4,调整映射矩阵系数wok:
[0211] wok=0,k=1,…,K。
[0212] 在解码器中,只需对映射矩阵进行正常的解码处理,不需要进行特殊处理。
[0213] 实施例13:
[0214] 如图19所示,给出了一种基于子空间映射的高效多声道音频编码装置,该装置在专利申请201410395806.5、201410404895.5中方法的基础上,通过利用本发明前述的补偿处理方法,结合了对映射子空间成分进行感知编码和补偿处理的优点,能有效提高多声道音频的编码效率和重建质量。该装置的编码部分包括时频变换模块、频带划分模块、子空间映射模块、编码/补偿选择模块、感知编码模块、补偿处理编码模块、映射矩阵编码模块以及多声道音频码流复用模块。其中,
[0215] 时频变换模块,用于采用时频变换,或者采用子带滤波,将多声道声音信号映射为频域信号;
[0216] 频带划分模块,用于将频域信号划分为不同时频子带;
[0217] 子空间映射模块,用于在不同时频子带内,计算多声道声音信号X的统计特性,并估计PCA映射模型W,采用估计的映射模型,将多声道信号映射到新的子空间,获得新的一组多声道信号Z;
[0218] 编码/补偿选择模块,用于选择需要进行感知编码的p个主成分分量,以及需要进行补偿处理的q个主成分分量(q<=K-p);
[0219] 感知编码模块,用于分别对编码/补偿选择中选定的p个主成分分量进行感知编码,得到感知编码码流;
[0220] 补偿处理编码模块,用于根据本帧的感知编码的p个主成分分量对基础补偿矢量集合A中的自适应基础补偿矢量进行更新,分别对编码/补偿选择中选定的q个主成分分量进行补偿处理编码,得到补偿编码码流;
[0221] 映射模型编码模块,用于编码对应的映射矩阵(即特征矢量),得到映射模型编码码流,也可以编码该模型的其他变换形式,亦可以直接编码借以计算映射矩阵的协方差矩阵。映射模型编码时,可以采用众所周知的标量量化、矢量量化和预测编码等方法,也可以采用熵编码(如huffman编码或算数编码)来进一步提高编码效率;
[0222] 多声道音频码流复用模块,用于对感知编码码流、补偿编码码流、映射模型编码码流等进行复用得到编码多声道码流。
[0223] 其中,编码/补偿选择部分可以采用多种方法来进行选择。如,按照能量大小排序,选择能量最大的p个主成分分量进行感知编码,而对剩余的K-p个主成分分量中的q个进行补偿处理编码,q<=K-p,也可以按照 对 的重要程度来进行选择,具体步骤如下:
[0224] 首先,计算重要程度矩阵Q=(qij)K*K,qij表征了 对 的重要程度,可以采用多种方法计算,比如可以是:
[0225]
[0226] 也可以利用幅度值对重要程度进行加权:
[0227]
[0228] 然后,根据重要程度矩阵Q=(qij)K*K计算 的重要度P(j)
[0229] P(j)=max{qij,i=1,…,K};
[0230] 最后,根据P(j)对 进行排序,选择P(j)值最大的p个主成分分量进行感知编码,而对剩余的K-p个主成分分量中的q个进行补偿处理编码,q<=K-p。
[0231] 如图20所示,本发明对应给出了一种基于子空间映射的高效多声道音频解码装置,包括多声道音频码流解复用模块、感知解码模块、映射模型解码模块、补偿处理解码模块、子空间逆映射模块以及频时变换模块。其中,
[0232] 多声道音频码流解复用模块,用于对编码多声道码流进行解复用得到感知编码码流、补偿编码码流、映射模型编码码流等;
[0233] 感知解码模块,用于对编码多声道码流中感知编码码流进行解码,获得p个主成分分量;
[0234] 映射模型解码模块,用于从映射模型编码码流中解码得到PCA映射模型,即映射矩阵;
[0235] 补偿处理解码模块,用于根据本帧的已感知解码的p个主成分分量对基础补偿矢量集合A中的自适应基础补偿矢量进行更新,对需要进行补偿处理的q个主成分分量进行补偿处理解码;
[0236] 子空间逆映射模块,用于采用解码得到的PCA映射模型,将解码得到主成分分量映射回多声道数据的原始空间;
[0237] 频时变换模块,用于采用逆的时频变换,将多声道声音信号从频域映射为时域,或者采用逆的子带滤波,将多声道声音信号从子带域映射为时域。