首页 > 乐器声学 专利正文
多声道音频信号编解码方法和装置与流程

时间:2022-01-19 阅读: 作者:专利查询

多声道音频信号编解码方法和装置与流程

1.本技术涉及音频编解码技术,尤其涉及一种多声道音频信号编解码方法和装置。


背景技术:

2.随着多媒体技术的不断发展,音频在多媒体通信、消费电子、虚拟现实、人机交互等领域得到了广泛应用。音频编码是多媒体技术的关键技术之一。音频编码通过去除原始音频信号中的冗余信息来实现数据量的压缩,以方便存储或传输。
3.多声道音频编码是两个以上声道的编码,常见的有5.1声道、7.1声道、7.1.4声道、22.2声道等。通过对多路原始音频信号进行多声道信号的筛选、组对、立体声处理、多声道边信息生成、量化处理、熵编码处理以及码流复用,形成串行比特流,以方便在信道中传输或在数字媒介中存储。
4.其中,如何减少多声道边信息的编码比特,以提升解码端重建信号的质量,成为一个亟需解决的技术问题。


技术实现要素:

5.本技术提供一种多声道音频信号编解码方法和装置,有益于提升编解码音频信号的质量。
6.第一方面,本技术实施例提供一种多声道音频信号编码方法,该方法可以包括:获取多声道音频信号的当前帧的p个声道的音频信号,p为大于1的正整数,该p个声道包括k个声道对,每个声道对包括两个声道,k为正整数,p大于或等于k*2。获取该p个声道的音频信号各自的能量/幅度。根据该p个声道的音频信号各自的能量/幅度,生成该k个声道对的能量/幅度均衡的边信息。对该k个声道对的能量/幅度均衡的边信息,和该p个声道的音频信号进行编码,以获取编码码流。
7.本实现方式,通过生成声道对的能量/幅度均衡的边信息,编码码流中携带k个声道对的能量/幅度均衡的边信息,而未携带未组对的声道的能量/幅度均衡的边信息,从而可以减少编码码流中能量/幅度均衡的边信息的比特数,降低多声道边信息的比特数,可以将节省的比特分配到编码器的其他功能模块,以提升解码端重建音频信号的质量,提升编码质量。
8.例如,可以将节省的比特用于多声道音频信号的编码,以降低数据部分的压缩率,提升解码端重建音频信号的质量。
9.换言之,编码码流包括控制信息部分和数据部分,该控制信息部分可以包括上述能量/幅度均衡的边信息,数据部分可以包括上述多声道音频信号,即编码码流包括多声道音频信号以及对该多声道音频信号进行编码过程中所产生的控制信息。本技术实施例可以通过降低控制信息部分所占用的比特数,以提升数据部分所占用的比特数,从而提升解码端重建音频信号的质量。
10.需要说明的是,节省的比特也可以用于其他控制信息传输,本技术实施例不以上
述举例说明作为限制。
11.一种可能的设计中,该k个声道对包括当前声道对,该当前声道对的能量/幅度均衡的边信息包括:该当前声道对的定点能量/幅度缩放比例和能量/幅度缩放标识,该定点能量/幅度缩放比例为能量/幅度缩放比例系数的定点化值,该能量/幅度缩放比例系数根据该当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度与该两个声道的音频信号各自的能量/幅度均衡后的能量/幅度获得,该能量/幅度缩放标识用于标识该当前声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度相对于各自的能量/幅度均衡前的能量/幅度是被放大或被缩小。
12.本实现方式,通过该当前声道对的定点能量/幅度缩放比例和能量/幅度缩放标识,可以使得解码端进行能量去均衡,以获取解码信号。
13.通过将浮点的能量/幅度缩放比例系数转换为定点能量/幅度缩放比例,可以节省该能量/幅度均衡的边信息所占用的比特,从而提升传输效率。
14.一种可能的设计中,该k个声道对包括当前声道对,根据该p个声道的音频信号各自的能量/幅度,生成该k个声道对的能量/幅度均衡的边信息,可以包括:根据该当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,确定该当前声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度。根据该当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,和该两个声道的音频信号各自的能量/幅度均衡后的能量/幅度,生成该当前声道对的能量/幅度均衡的边信息。
15.本实现方式,通过对声道对内的两个声道进行能量/幅度均衡,可以实现对于能量差异较大的声道对间,经过能量/幅度均衡后,仍可以保持较大的能量差异,从而使得后续编码处理过程中满足能量/幅度较大的声道对的编码需求,提高编码效率和编码效果,进而提升解码端重建音频信号的质量。
16.一种可能的设计中,该当前声道对包括第一声道和第二声道,该当前声道对的能量/幅度均衡的边信息包括:该第一声道的定点能量/幅度缩放比例、该第二声道的定点能量/幅度缩放比例、第一声道的能量/幅度缩放标识和第二声道的能量/幅度缩放标识。
17.本实现方式,通过当前声道对的两个声道各自的定点能量/幅度缩放比例和能量/幅度缩放标识,可以使得解码端进行能量去均衡,以获取解码信号的基础上,进一步降低该当前声道对的能量/幅度均衡的边信息所占用的比特。
18.一种可能的设计中,根据该当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,和该两个声道的音频信号各自的能量/幅度均衡后的能量/幅度,生成该当前声道对的能量/幅度均衡的边信息,可以包括:根据该当前声道对的第q声道的音频信号的能量/幅度均衡前的能量/幅度,和该第q声道的音频信号的能量/幅度均衡后的能量/幅度,确定该第q声道的能量/幅度缩放比例系数和该第q声道的能量/幅度缩放标识。根据该第q声道的能量/幅度缩放比例系数,确定该第q声道的定点能量/幅度缩放比例。其中,q为一或二。
19.一种可能的设计中,根据该当前声道对的两个声道的音频信号各自的能量/幅度,确定该当前声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度,可以包括:根据该当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,确定该当前声道对的音频信号的能量/幅度平均值,根据该当前声道对的音频信号的能量/幅度
平均值确定该当前声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度。
20.本实现方式,通过对声道对内的两个声道进行能量/幅度均衡,可以实现对于能量差异较大的声道对间,经过能量/幅度均衡后,仍可以保持较大的能量差异,从而使得后续编码处理过程中满足能量/幅度较大的声道对的编码需求,进而提升解码端重建音频信号的质量。
21.一种可能的设计中,对该k个声道对的能量/幅度均衡的边信息,和该p个声道的音频信号进行编码,以获取编码码流,可以包括:对该k个声道对的能量/幅度均衡的边信息、k、k个声道对各自对应的声道对索引以及该p个声道的音频信号进行编码,以获取编码码流。
22.第二方面,本技术实施例提供一种多声道音频信号解码方法,该方法可以包括:获取待解码码流。对该待解码码流进行解复用,以获取待解码多声道音频信号的当前帧,该当前帧包括的声道对的数量k,k个声道对各自对应的声道对索引,以及该k个声道对的能量/幅度均衡的边信息。根据该k个声道对各自对应的声道对索引,以及该k个声道对的能量/幅度均衡的边信息,对该待解码多声道音频信号的当前帧进行解码,以获取该当前帧的解码信号,k为正整数,每个声道对包括两个声道。
23.一种可能的设计中,该k个声道对包括当前声道对,该当前声道对的能量/幅度均衡的边信息包括:该当前声道对的定点能量/幅度缩放比例和能量/幅度缩放标识,其中,该定点能量/幅度缩放比例为能量/幅度缩放比例系数的定点化值,该能量/幅度缩放比例系数根据该当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度与该两个声道的音频信号各自的能量/幅度均衡后的能量/幅度获得,该能量/幅度缩放标识用于标识该当前声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度相对于各自的能量/幅度均衡前的能量/幅度是被放大或被缩小。
24.一种可能的设计中,该k个声道对包括当前声道对,根据该k个声道对各自对应的声道对索引,以及该k个声道对的能量/幅度均衡的边信息,对该待解码多声道音频信号的当前帧进行解码,以获取该当前帧的解码信号,可以包括:根据当前声道对对应的声道对索引,对该待解码多声道音频信号的当前帧进行立体声解码处理,以获取该当前帧的当前声道对的两个声道的音频信号。根据该当前声道对的能量/幅度均衡的边信息,对该当前声道对的两个声道的音频信号进行能量/幅度去均衡处理,以获取该当前声道对的两个声道的解码信号。
25.一种可能的设计中,该当前声道对包括第一声道和第二声道,该当前声道对的能量/幅度均衡的边信息包括:该第一声道的定点能量/幅度缩放比例、该第二声道的定点能量/幅度缩放比例、第一声道的能量/幅度缩放标识和第二声道的能量/幅度缩放标识。
26.其中,多声道音频信号解码方法的技术效果可以参见上述对应的编码方法的技术效果,此处不再赘述。
27.第三方面,本技术实施例提供一种音频信号编码装置,该音频信号编码装置可以为音频编码器,或音频编码设备的芯片或者片上系统,还可以为音频编码器中用于实现上述第一方面或上述第一方面的任一可能的设计的方法的功能模块。该音频信号编码装置可以实现上述第一方面或上述第一方面的各可能的设计中所执行的功能,功能可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个上述功能相应的模块。举例来说,一种可
能的设计中,该音频信号编码装置,可以包括:获取模块、均衡边信息生成模块和编码模块。
28.第四方面,本技术实施例提供一种音频信号解码装置,该音频信号解码装置可以为音频解码器,或音频解码设备的芯片或者片上系统,还可以为音频解码器中用于实现上述第二方面或上述第二方面的任一可能的设计的方法的功能模块。该音频信号解码装置可以实现上述第二方面或上述第二方面的各可能的设计中所执行的功能,功能可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个上述功能相应的模块。举例来说,一种可能的设计中,该音频信号解码装置,可以包括:获取模块、解复用模块和解码模块。
29.第五方面,本技术实施例提供一种音频信号编码装置,其特征在于,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行上述第一方面或上述第一方面的任一可能的设计的方法。
30.第六方面,本技术实施例提供一种音频信号解码装置,其特征在于,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行上述第二方面或上述第二方面的任一可能的设计的方法。
31.第七方面,本技术实施例提供一种音频信号编码设备,其特征在于,包括:编码器,所述编码器用于执行上述第一方面或上述第一方面的任一可能的设计的方法。
32.第八方面,本技术实施例提供一种音频信号解码设备,其特征在于,包括:解码器,所述解码器用于执行上述第二方面或上述第二方面的任一可能的设计的方法。
33.第九方面,本技术实施例提供一种计算机可读存储介质,其特征在于,包括根据上述第一方面或上述第一方面的任一可能的设计的方法获得的编码码流。
34.第十方面,本技术实施例提供一种计算机可读存储介质,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行上述第一方面中任一项所述的方法,或者,执行如上述第二方面中任一项所述的方法。
35.第十一方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机程序,当所述计算机程序被计算机执行时,用于执行上述第一方面中任一项所述的方法,或者执行上述第而方面中任一项所述的方法。
36.第十二方面,本技术提供一种芯片,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如上述第一方面中任一项所述的方法,或者以执行如上述第二方面中任一项所述的方法。
37.第十三方面,本技术提供一种编解码设备,该编解码设备包括编码器和解码器,该编码器用于执行上述第一方面或上述第一方面的任一可能的设计的方法,该解码器用于执行上述第二方面或上述第二方面的任一可能的设计的方法。
38.本技术实施例的多声道音频信号编解码方法和装置,通过获取多声道音频信号的当前帧的p个声道的音频信号和该p个声道的音频信号各自的能量/幅度,该p个声道包括k个声道对,根据p个声道的音频信号各自的能量/幅度,生成k个声道对的能量/幅度均衡的边信息,根据k个声道对的能量/幅度均衡的边信息,对p个声道的音频信号进行编码,获取编码码流。通过生成声道对的能量/幅度均衡的边信息,编码码流中携带k个声道对的能量/幅度均衡的边信息,而未携带未组对的声道的能量/幅度均衡的边信息,从而可以减少编码码流中能量/幅度均衡的边信息的比特数,降低多声道边信息的比特数,可以将节省的比特分配到编码器的其他功能模块,以提升解码端重建音频信号的质量,提升编码质量。
附图说明
39.图1为本技术实施例中的音频编码及解码系统实例的示意图;
40.图2为本技术实施例的一种多声道音频信号编码方法的流程图;
41.图3为本技术实施例的一种多声道音频信号编码方法的流程图;
42.图4为本技术实施例的编码端的处理过程的示意图;
43.图5为本技术实施例的多声道编码处理单元的处理过程的示意图;
44.图6为本技术实施例的一种多声道边信息的写入流程的示意图;
45.图7为本技术实施例的一种多声道音频信号解码方法的流程图;
46.图8为本技术实施例的解码端的处理过程的示意图;
47.图9为本技术实施例的多声道解码处理单元的处理过程的示意图;
48.图10为本技术实施例的一种多声道边信息解析的流程图;
49.图11为本技术实施例的一种音频信号编码装置1100的结构示意图;
50.图12为本技术实施例的一种音频信号编码设备1200的结构示意图;
51.图13为本技术实施例的一种音频信号解码装置1300的结构示意图;
52.图14为本技术实施例的一种音频信号解码设备1400的结构示意图。
具体实施方式
53.本技术实施例涉及的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
54.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c分别可以是单个,也可以分别是多个,也可以是部分是单个,部分是多个。
55.下面描述本技术实施例所应用的系统架构。参见图1,图1示例性地给出了本技术实施例所应用的音频编码及解码系统10的示意性框图。如图1所示,音频编码及解码系统10可包括源设备12和目的地设备14,源设备12产生经编码的音频数据,因此,源设备12可被称为音频编码装置。目的地设备14可对由源设备12所产生的经编码的音频数据进行解码,因此,目的地设备14可被称为音频解码装置。源设备12、目的地设备14或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于ram、rom、eeprom、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。源设备12和目的地设备14可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、所谓的“智能”电话等电话手持机、电视机、音箱、数字媒体播放器、视频游戏控制台、
车载计算机、任意可穿戴设备、虚拟现实(virtual reality,vr)设备、提供vr服务的服务器、增强现实(augmented reality,ar)设备、提供ar服务的服务器、无线通信设备或其类似者。
56.虽然图1将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
57.源设备12和目的地设备14之间可通过链路13进行通信连接,目的地设备14可经由链路13从源设备12接收经编码的音频数据。链路13可包括能够将经编码的音频数据从源设备12移动到目的地设备14的一或多个媒体或装置。在一个实例中,链路13可包括使得源设备12能够实时将经编码的音频数据直接发射到目的地设备14的一或多个通信媒体。在此实例中,源设备12可根据通信标准(例如无线通信协议)来调制经编码的音频数据,且可将经调制的音频数据发射到目的地设备14。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(rf)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源设备12到目的地设备14的通信的其它设备。
58.源设备12包括编码器20,另外可选地,源设备12还可以包括音频源16、预处理器18、以及通信接口22。具体实现形态中,所述编码器20、音频源16、预处理器18、以及通信接口22可能是源设备12中的硬件部件,也可能是源设备12中的软件程序。分别描述如下:
59.音频源16,可以包括或可以为任何类别的声音捕获设备,用于例如捕获现实世界的声音,和/或任何类别的音频生成设备。音频源16可以为用于捕获声音的麦克风或者用于存储音频数据的存储器,音频源16还可以包括存储先前捕获或产生的音频数据和/或获取或接收音频数据的任何类别的(内部或外部)接口。当音频源16为麦克风时,音频源16可例如为本地的或集成在源设备中的集成麦克风;当音频源16为存储器时,音频源16可为本地的或例如集成在源设备中的集成存储器。当所述音频源16包括接口时,接口可例如为从外部音频源接收音频数据的外部接口,外部音频源例如为外部声音捕获设备,比如麦克风、外部存储器或外部音频生成设备。接口可以为根据任何专有或标准化接口协议的任何类别的接口,例如有线或无线接口、光接口。
60.本技术实施例中,由音频源16传输至预处理器18的音频数据也可称为原始音频数据17。
61.预处理器18,用于接收原始音频数据17并对原始音频数据17执行预处理,以获取经预处理的音频19或经预处理的音频数据19。例如,预处理器18执行的预处理可以包括滤波、或去噪等。
62.编码器20(或称音频编码器20),用于接收经预处理的音频数据19,并用于执行后文所描述的各个编码方法的实施例,以实现本技术所描述的音频信号编码方法在编码侧的应用。
63.通信接口22,可用于接收经编码的音频数据21,并可通过链路13将经编码的音频
数据21传输至目的地设备14或任何其它设备(如存储器),以用于存储或直接重构,所述其它设备可为任何用于解码或存储的设备。通信接口22可例如用于将经编码的音频数据21封装成合适的格式,例如数据包,以在链路13上传输。
64.目的地设备14包括解码器30,另外可选地,目的地设备14还可以包括通信接口28、音频后处理器32和扬声设备34。分别描述如下:
65.通信接口28,可用于从源设备12或任何其它源接收经编码的音频数据21,所述任何其它源例如为存储设备,存储设备例如为经编码的音频数据存储设备。通信接口28可以用于藉由源设备12和目的地设备14之间的链路13或藉由任何类别的网络传输或接收经编码音频数据21,链路13例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或其任何组合,或任何类别的私网和公网,或其任何组合。通信接口28可以例如用于解封装通信接口22所传输的数据包以获取经编码的音频数据21。
66.通信接口28和通信接口22都可以配置为单向通信接口或者双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如经编码的音频数据传输的数据传输有关的信息。
67.解码器30(或称为解码器30),用于接收经编码的音频数据21并提供经解码的音频数据31或经解码的音频31。在一些实施例中,解码器30可以用于执行后文所描述的各个解码方法的实施例,以实现本技术所描述的音频信号解码方法在解码侧的应用。
68.音频后处理器32,用于对经解码的音频数据31(也称为经重构的音频数据)执行后处理,以获得经后处理的音频数据33。音频后处理器32执行的后处理可以包括:例如渲染,或任何其它处理,还可用于将将经后处理的音频数据33传输至扬声设备34。
69.扬声设备34,用于接收经后处理的音频数据33以向例如用户或观看者播放音频。扬声设备34可以为或可以包括任何类别的用于呈现经重构的声音的扬声器。
70.虽然,图1将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
71.本领域技术人员基于描述明显可知,不同单元的功能性或图1所示的源设备12和/或目的地设备14的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。源设备12和目的地设备14可以包括各种设备中的任一个,包含任何类别的手持或静止设备,例如,笔记本或膝上型计算机、移动电话、智能手机、平板或平板计算机、摄像机、台式计算机、机顶盒、电视机、相机、车载设备、音响、数字媒体播放器、音频游戏控制台、音频流式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备、智能眼镜、智能手表等,并可以不使用或使用任何类别的操作系统。
72.编码器20和解码器30都可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使
用一或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一或多个处理器。
73.在一些情况下,图1中所示音频编码及解码系统10仅为示例,本技术的技术可以适用于不必包含编码和解码设备之间的任何数据通信的音频编码设置(例如,音频编码或音频解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输等。音频编码设备可以对数据进行编码并且将数据存储到存储器,和/或音频解码设备可以从存储器检索数据并且对数据进行解码。在一些实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的设备执行编码和解码。
74.上述编码器可以是多声道编码器,例如,立体声编码器,5.1声道编码器,或7.1声道编码器等。
75.上述音频数据也可以称为音频信号,本技术实施例中的音频信号是指音频编码设备中的输入信号,该音频信号中可以包括多个帧,例如当前帧可以特指音频信号中的某一个帧,本技术实施例中以当前帧音频信号的编解码进行示例说明,音频信号中当前帧的前一帧或者后一帧都可以根据该当前帧音频信号的编解码方式进行相应的编解码,对于音频信号中当前帧的前一帧或者后一帧的编解码过程不再逐一说明。另外,本技术实施例中的音频信号可以是多声道音频信号,即包括p个声道。本技术实施例用于实现多声道音频信号编解码。
76.上述编码器可以执行本技术实施例的多声道音频信号编码方法,以实现降低多声道边信息的比特数,从而可以将节省的比特分配到编码器的其他功能模块,以提升解码端重建音频信号的质量,提升编码质量。其具体实施方式可以参见下述实施例的具体解释说明。
77.图2为本技术实施例的一种多声道音频信号编码方法的流程图,本技术实施例的执行主体可以是上述编码器,如图2所示,本实施例的方法可以包括:
78.步骤201、获取多声道音频信号的当前帧的p个声道的音频信号和该p个声道的音频信号各自的能量/幅度,该p个声道包括k个声道对。其中,多声道信号可以是5.1声道信号(对应的p为5+1=6),7.1声道信号(对应的p为7+1=8),或11.1声道信号(对应的p为11+1=12)等等。
79.其中,每个声道对(channel pair)包括两个声道。p为大于1的正整数,k为正整数,p大于或等于k*2。
80.在一些实施例中,p=2k。通过在多声道音频信号的当前帧中进行多声道信号的筛选和组对,可以获取k个声道对。上述p个声道包括k个声道对。
81.在一些实施例中,p=2*k+q,q为正整数。该p个声道的音频信号还包括未组对的q个单声道的音频信号。以5.1声道信号为例,该5.1声道包括左(l)声道、右(r)声道、中央(c)声道、低频效果(low frequency effects,lfe)声道、左环绕(ls)声道、以及右环绕(rs)声道。根据多声道处理指示符(multiprocflag)从5.1声道中筛选出参与多声道处理的声道,例如,参与多声道处理的声道包括l声道、r声道、c声道、ls声道、rs声道。在参与多声道处理的声道中进行组对。例如,将l声道和r声道组对,形成第一声道对。将ls声道和rs声道组对,形成第二声道对。lfe声道和c声道为未组对的声道。即p=6,k=2,q=2。上述p个声道包括第一声道对、第二声道对、以及未组对的lfe声道和c声道。
82.示例性的,在参与多声道处理的声道中进行组对的方式可以是,通过多次迭代的方式确定k个声道对,也即一次迭代确定一个声道对。例如,在第一迭代中计算参与多声道处理的p个声道中任意两个声道之间的声道间相关值,在第一迭代中选择声道间相关值最高的两个声道形成一个声道对。在第二迭代中选择剩余的声道中(p个声道中除已组对的声道)声道间相关值最高的两个声道形成一个声道对。以此类推,得到k个声道对。
83.需要说明的是,本技术实施例还可以采用其他组对方式,以确定k个声道对,本技术实施例不以上述进行组对的示例性说明作为限制。
84.步骤202、根据p个声道的音频信号各自的能量/幅度,生成k个声道对的能量/幅度均衡的边信息。
85.需要说明的是,本技术实施例中的“能量/幅度”表示的是能量或者幅度,并且,在实际处理过程中,对于一个帧的处理,如果一开始处理的是能量,那么后续的处理中都是对能量进行处理,或者,如果一开始处理的是幅度,那么后续的处理中都是对幅度进行处理。
86.例如,根据p个声道的音频信号的能量,生成k个声道对的能量均衡的边信息。即使用p个声道的能量进行能量均衡,得到能量均衡的边信息。或者,p个声道的音频信号的幅度,生成k个声道对的能量均衡的边信息。即使用p个声道的幅度进行能量均衡,得到能量均衡的边信息。或者,p个声道的音频信号的幅度,生成k个声道对的幅度均衡的边信息。即使用p个声道的幅度进行幅度均衡,得到幅度均衡的边信息。
87.具体地,本发明实施例会对声道对进行立体声编码处理,为了提高编码效率以及编码效果,例如在对当前声道对进行立体声编码处理之前,可以先对当前声道对的两个声道的音频信号的能量/幅度进行能量/幅度均衡,从而获得两个声道的能量/幅度均衡后的能量/幅度,再基于能量/幅度均衡后的能量/幅度进行后续的立体声编码处理。其中,在一种实施方式中,能量/幅度均衡可以基于当前声道对的两个声道的音频信号,但是不基于当前声道对之外的其他声道对和/或单声道对应的音频信号来进行;在另一种实施方式中,能量/幅度均衡除了要基于当前声道对的两个声道的音频信号外,还可以进一步基于其他声道对和/或单声道对应的音频信号来进行。
88.该能量/幅度均衡的边信息用于解码端进行能量/幅度去均衡,以获取解码信号。
89.一种可实现方式,该能量/幅度均衡的边信息可以包括定点能量/幅度缩放比例和能量/幅度缩放标识。该定点能量/幅度缩放比例为能量/幅度缩放比例系数的定点化值,该能量/幅度缩放比例系数根据能量/幅度均衡前的能量/幅度与能量/幅度均衡后的能量/幅度获得,该能量/幅度缩放标识用于标识能量/幅度均衡后的能量/幅度相对于能量/幅度均衡前的能量/幅度是被放大或被缩小。该能量/幅度缩放比例系数可以是能量/幅度缩放比例系数,该能量/幅度缩放比例系数在(0,1)之间。
90.以一个声道对为例,该声道对的能量/幅度均衡的边信息可以包括该声道对的定点能量/幅度缩放比例和能量/幅度缩放标识。以该声道对包括第一声道和第二声道为例,该声道对的定点能量/幅度缩放比例包括第一声道的定点能量/幅度缩放比例和第二声道的定点能量/幅度缩放比例,该声道对的能量/幅度缩放标识包括第一声道的能量/幅度缩放标识和第二声道的能量/幅度缩放标识。以第一声道为例,该第一声道的定点能量/幅度缩放比例为第一声道的能量/幅度缩放比例系数的定点化值,该第一声道的能量/幅度缩放比例系数根据第一声道的音频信号的能量/幅度均衡前的能量/幅度与该第一声道的音频
信号的能量/幅度均衡后的能量/幅度获得。该第一声道的能量/幅度缩放标识根据第一声道的音频信号的能量/幅度均衡前的能量/幅度与该第一声道的音频信号的能量/幅度均衡后的能量/幅度获得。例如,该第一声道的能量/幅度缩放比例系数为,第一声道的音频信号的能量/幅度均衡前的能量/幅度与该第一声道的音频信号的能量/幅度均衡后的能量/幅度中较小的,除以第一声道的音频信号的能量/幅度均衡前的能量/幅度与该第一声道的音频信号的能量/幅度均衡后的能量/幅度中较大的。举例而言,第一声道的音频信号的能量/幅度均衡前的能量/幅度大于该第一声道的音频信号的能量/幅度均衡后的能量/幅度,则第一声道的能量/幅度缩放比例系数为,第一声道的音频信号的能量/幅度均衡后的能量/幅度,除以该第一声道的音频信号的能量/幅度均衡前的能量/幅度。当第一声道的音频信号的能量/幅度均衡前的能量/幅度大于该第一声道的音频信号的能量/幅度均衡后的能量/幅度时,该第一声道的能量/幅度缩放标识为1。当第一声道的音频信号的能量/幅度均衡前的能量/幅度大于该第一声道的音频信号的能量/幅度均衡后的能量/幅度时,该第一声道的能量/幅度缩放标识为0。当然可以理解的,也可以设置,当第一声道的音频信号的能量/幅度均衡前的能量/幅度大于该第一声道的音频信号的能量/幅度均衡后的能量/幅度时,该第一声道的能量/幅度缩放标识为0,其实现原理类似,本技术实施例不以上述举例说明作为限制。
91.本技术实施例的能量/幅度缩放比例系数也可以称为浮点能量/幅度缩放比例系数。
92.另一种可实现方式,该能量/幅度均衡的边信息可以包括定点能量/幅度缩放比例。该定点能量/幅度缩放比例为能量/幅度缩放比例系数的定点化值,该能量/幅度缩放比例系数为能量/幅度均衡前的能量/幅度与能量/幅度均衡后的能量/幅度的比值。即该能量/幅度缩放比例系数为能量/幅度均衡前的能量/幅度,除以能量/幅度均衡后的能量/幅度。当该能量/幅度缩放比例系数小于1时,则解码端可以确定能量/幅度均衡后的能量/幅度相对于能量/幅度均衡前的能量/幅度是被放大。当该能量/幅度缩放比例系数大于1时,则解码端可以确定能量/幅度均衡后的能量相对于能量/幅度均衡前的能量/幅度是被缩小。当然可以理解的,该能量/幅度缩放比例系数也可以为能量/幅度均衡后的能量/幅度,除以能量/幅度均衡前的能量/幅度,其实现原理类似,本技术实施例不以上述举例说明作为限制。本实现方式中,该能量/幅度均衡的边信息可以不包括能量/幅度缩放标识。
93.步骤203、对k个声道对的能量/幅度均衡的边信息,对p个声道的音频信号进行编码,获取编码码流。
94.对k个声道对的能量/幅度均衡的边信息和p个声道的音频信号进行编码,获取编码码流。即,将k个声道对的能量/幅度均衡的边信息写入编码码流中。换言之,编码码流中携带k个声道对的能量/幅度均衡的边信息,而未携带未组对的声道的能量/幅度均衡的边信息,从而可以减少编码码流中能量/幅度均衡的边信息的比特数。
95.在一些实施例中,该编码码流中还携带当前帧的声道对个数以及k个声道对索引,该声道对个数以及k个声道对索引用于解码端进行立体声解码、能量/幅度去均衡等处理。一个声道对索引用于指示一个声道对所包括的两个声道。换言之,步骤203的一种可实现方式为,对k个声道对的能量/幅度均衡的边信息、声道对个数、k个声道对索引以及p个声道的音频信号进行编码,获取编码码流。该声道对个数可以为k。该k个声道对索引包括k个声道
对各自对应的声道对索引。
96.上述声道对个数、k个声道对索引、k个声道对的能量/幅度均衡的边信息的写入编码码流中的顺序可以是,先写入声道对个数,以使得解码端解码接收到的码流时,先获取到声道对个数。之后,写入k个声道对索引和k个声道对的能量/幅度均衡的边信息。
97.还需要说明的是,声道对个数可以为0,即没有组对的声道,则声道对个数和p个声道的音频信号进行编码,获取编码码流。解码端解码接收到的码流,先获取到声道对个数为0,则可以直接对待解码多声道音频信号的当前帧进行解码,而不用再解析获取能量/幅度均衡的边信息。
98.在获取编码码流之前,还可以根据声道的定点能量/幅度缩放比例,和能量/幅度缩放标识,对该声道的当前帧内的系数进行能量/幅度均衡。
99.本实施例,获取多声道音频信号的当前帧的p个声道,所述p个声道包括k个声道对,根据p个声道的音频信号的能量/幅度,生成k个声道对的能量/幅度均衡的边信息,根据k个声道对的能量/幅度均衡的边信息,对p个声道的音频信号进行编码,获取编码码流。通过生成声道对的能量/幅度均衡的边信息,编码码流中携带k个声道对的能量/幅度均衡的边信息,而未携带未组对的声道的能量/幅度均衡的边信息,从而可以减少编码码流中能量/幅度均衡的边信息的比特数,降低多声道边信息的比特数,可以将节省的比特分配到编码器的其他功能模块,以提升解码端重建音频信号的质量,提升编码质量。
100.图3为本技术实施例的一种多声道音频信号编码方法的流程图,本技术实施例的执行主体可以是上述编码器,本实施例为上述图2所示实施例所述的方法的一种具体的可实现方式,如图3所示,本实施例的方法可以包括:
101.步骤301、获取多声道音频信号的当前帧的p个声道的音频信号。
102.步骤302、对多声道音频信号的当前帧的p个声道进行多声道信号的筛选和组对,确定k个声道对和k个声道对索引。
103.其中,筛选和组对的具体实施方式可以参见图2所示实施例的步骤201的解释说明。
104.一个声道对索引用于指示该声道对所包括的两个声道。声道对索引的不同取值对应不同的两个声道。声道对索引的取值与两个声道的对应关系可以是预设的。
105.以5.1声道信号为例,例如,通过筛选和组对,将l声道和r声道组对,形成第一声道对。将ls声道和rs声道组对,形成第二声道对。lfe声道和c声道为未组对的声道。即k=2。第一声道对索引用于指示l声道和r声道组对。例如该第一声道对索引的取值为0。第二声道对索引用于指示ls声道和rs声道组对。例如该第二声道对索引的取值为9。
106.步骤303、分别对k个声道对各自的音频信号进行能量/幅度均衡处理,获取k个声道对各自的能量/幅度均衡后的音频信号和k个声道对各自的能量/幅度均衡的边信息。
107.以一个声道对的能量/幅度均衡处理为例,一种可实现方式,以声道对为粒度进行能量/幅度均衡处理:根据该声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,确定该声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度。根据该声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,和两个声道的音频信号各自的能量/幅度均衡后的能量/幅度,生成该当前声道对的能量/幅度均衡的边信息,并获取两个声道的能量/幅度均衡后的音频信号。
108.其中,对于确定该声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度,可以采用如下方式:根据该声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,确定该声道对的音频信号的能量/幅度平均值,根据该声道对的音频信号的能量/幅度平均值确定该声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度。例如,该声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度相等,均为该声道对的音频信号的能量/幅度平均值。
109.如上所述一个声道对可以包括第一声道和第二声道,该声道对的能量/幅度均衡的边信息包括:第一声道的定点能量/幅度缩放比例、第二声道的定点能量/幅度缩放比例、第一声道的能量/幅度缩放标识和第二声道的能量/幅度缩放标识。
110.在一些实施例中,可以根据该声道对的第q声道的音频信号的能量/幅度均衡前的能量/幅度,和第q声道的音频信号的能量/幅度均衡后的能量/幅度,确定第q声道的能量/幅度缩放比例系数。根据第q声道的能量/幅度缩放比例系数,确定第q声道的定点能量/幅度缩放比例。根据第q声道的能量/幅度均衡前的能量/幅度,和第q声道的能量/幅度均衡后的能量/幅度,确定第q声道的能量/幅度缩放标识。其中,q为一或二。
111.例如,可以根据如下公式(1)至(3)确定一个声道对的第q声道的定点能量/幅度缩放比例和第q声道的能量/幅度缩放标识。
112.根据公式(1)和(2)计算所述第q声道的定点能量/幅度缩放比例。
113.scaleint_q=ceil((1<<m)
×
scalef_q)
ꢀꢀꢀ
(1)
114.scaleint_q=clip(scaleint_q,1,2
m-1)
ꢀꢀꢀ
(2)
115.其中,scaleint_q为第q声道的定点能量/幅度缩放比例,scalef_q为第q声道的浮点能量/幅度缩放比例系数,m为从浮点能量/幅度缩放比例系数到定点能量/幅度缩放比例的定点化比特数,clip(x,a,b)函数是双向钳位函数,将x钳位到[a,b]之间,clip((x),(a),(b))=max(a,min(b,(x))),a≤b,ceil(x)是对x向上取整的函数。m可以取任意整数,例如,m取4。
[0116]
当energy_q>energy_qe,energybigflag_q置1,当energy_q≤energy_qe,energybigflag_q置0。
[0117]
其中,energy_q为第q声道的能量/幅度均衡前的能量/幅度,energy_qe为第q声道的能量/幅度均衡后的能量/幅度,energybigflag_q为第q声道的能量/幅度缩放标识。energy_qe可以是该声道对的两个声道的能量/幅度的平均值。
[0118]
上述公式(1)中的scalef_q的确定方式:当energy_q>energy_qe,scalef_q=energy_qe/energy_q,当energy_q≤energy_qe,scalef_q=energy_q/energy_qe。
[0119]
其中,energy_q为第q声道的能量/幅度均衡前的能量/幅度,energy_qe为第q声道的能量/幅度均衡后的能量/幅度,scalef_q为第q声道的浮点能量/幅度缩放比例系数。
[0120]
其中,通过如下公式(3)确定energy_q。
[0121][0122]
其中,samplecoef(q,i)表示能量/幅度均衡前的第q声道的当前帧的第i个系数,n为当前帧的频域系数的个数。
[0123]
在能量/幅度均衡处理过程中,可以根据根据所述第q声道的定点能量/幅度缩放比例和第q声道的能量/幅度缩放标识,对第q声道当前帧进行能量/幅度均衡,以获取第q声
道的能量/幅度均衡后的音频信号。
[0124]
例如,当energybigflag_q为1,qe(i)=q(i)
×
scaleint_q/(1《《m)。当energybigflag_q为0,qe(i)=q(i)
×
(1《《m)/scaleint_q。
[0125]
其中,i用于标识当前帧的系数,q(i)为能量/幅度均衡前的当前帧的第i个频域系数,qe(i)为能量/幅度均衡后的当前帧的第i个频域系数,m为从浮点能量/幅度缩放比例系数到定点能量/幅度缩放比例的定点化比特数。
[0126]
另一种可实现方式,以所有声道或所有声道对或所有声道中的部分声道为粒度进行能量/幅度均衡处理。例如,根据p个声道的音频信号各自的能量/幅度均衡前的能量/幅度,确定p个声道的音频信号的能量/幅度平均值,根据p个声道的音频信号的能量/幅度平均值确定一个声道对的两个声道的音频信号各自的能量/幅度均衡后的能量或幅度。例如,可以将p个声道的音频信号的能量/幅度平均值作为一个声道对的任意一个声道的音频信号的能量/幅度均衡后的能量或幅度。即能量/幅度均衡后的能量或幅度的确定方式与上述一种可实现方式不同,其他确定能量/幅度均衡的边信息的方式可以相同,其具体实施方式可以参见上述说明,此处不再赘述。
[0127]
在上述实施例中,当前声道对的能量/幅度均衡的边信息包括了第一声道的定点能量/幅度缩放比例和能量/幅度缩放标识、以及第二声道的定点能量/幅度缩放比例和能量/幅度缩放标识,即针对当前声道(第一声道或第二声道)来说,边信息同时包括了定点能量/幅度缩放比例和能量/幅度缩放标识,这是因为在获取能量/幅度缩放比例时,是通过当前声道能量/幅度均衡前的能量/幅度和所述当前声道的能量/幅度均衡后的能量/幅度中的较大者比上较小者或者较小者比上较大者,因此获得的能量/幅度缩放比例固定是大于或等于1,或者获得的能量/幅度缩放比例固定是小于或等于1的,因此单纯通过能量/幅度缩放比例或者定点能量/幅度缩放比例并不能确定能量/幅度均衡后的能量/幅度是不是大于能量/幅度均衡前的能量/幅度,因此需要能量/幅度缩放标识来指示。
[0128]
在本方面另一个实施例中,可以固定使用当前声道能量/幅度均衡前的能量/幅度和所述当前声道的能量/幅度均衡后的能量/幅度,或者固定使用前声道能量/幅度均衡后的能量/幅度和所述当前声道的能量/幅度均衡前的能量/幅度,这样就不需要通过能量/幅度缩放标识来指示了,相应地,当前声道的边信息就可以包括定点能量/幅度缩放比例,但是不需要包括能量/幅度缩放标识。
[0129]
步骤304、分别对k个声道对各自的能量/幅度均衡后的音频信号进行立体声处理,获取k个声道对各自的立体声处理后的音频信号和k个声道对各自的立体声边信息。
[0130]
以一个声道对为例,对该声道对的两个声道的能量/幅度均衡后的音频信号进行立体声处理,以获取该两个声道的立体声处理后的音频信号,并生成该声道对的立体声边信息。
[0131]
步骤305、对k个声道对的立体声处理后的音频信号、k个声道对的能量/幅度均衡的边信息、k个声道对的立体声边信息、k、k个声道对索引以及未组对的声道的音频信号进行编码,获取编码码流。
[0132]
对k个声道对的立体声处理后的音频信号、k个声道对的能量/幅度均衡的边信息、k个声道对的立体声边信息、声道对个数(k)、k个声道对索引以及未组对的声道的音频信号进行编码,获取编码码流,以供解码端解码重建音频信号。
[0133]
本实施例,获取多声道音频信号的当前帧的p个声道的音频信号,对多声道音频信号的当前帧的p个声道进行多声道信号的筛选和组对,确定k个声道对和k个声道对索引,分别对k个声道对各自的音频信号进行能量/幅度均衡处理,获取k个声道对各自的能量/幅度均衡后的音频信号和k个声道对各自的能量/幅度均衡的边信息,分别对k个声道对各自的能量/幅度均衡后的音频信号进行立体声处理,获取k个声道对各自的立体声处理后的音频信号和k个声道对各自的立体声边信息,对k个声道对的立体声处理后的音频信号、k个声道对的能量/幅度均衡的边信息、k个声道对的立体声边信息、k、k个声道对索引以及未组对的声道的音频信号进行编码,获取编码码流。通过生成声道对的能量/幅度均衡的边信息,编码码流中携带k个声道对的能量/幅度均衡的边信息,而未携带未组对的声道的能量/幅度均衡的边信息,从而可以减少编码码流中能量/幅度均衡的边信息的比特数,降低多声道边信息的比特数,可以将节省的比特分配到编码器的其他功能模块,以提升解码端重建音频信号的质量,提升编码质量。
[0134]
下面实施例以5.1声道信号为例,对本技术实施例的多声道音频信号编码方法进行示意性举例说明。
[0135]
图4为本技术实施例的编码端的处理过程的示意图,如图4所示,该编码端可以包括多声道编码处理单元401、声道编码单元402和码流复用接口403。该编码端可以是如上所述的编码器。
[0136]
多声道编码处理单元401用于对输入信号进行多声道信号的筛选、组对、立体声处理及能量/幅度均衡的边信息和立体声边信息的生成。本实施例中该输入信号为5.1(l声道、r声道、c声道、lfe声道、ls声道、rs声道)信号。
[0137]
一种举例,多声道编码处理单元401将l声道信号和r声道信号进行组对,形成第一声道对,并经过立体声处理得到中声道m1声道信号和侧声道s1声道信号,将ls声道信号和rs声道信号进行组对,形成第二声道对,并经过立体声处理得到中声道m2声道信号和侧声道s2声道信号。其中,多声道编码处理单元401的具体说明可以参见下述图5所示实施例。
[0138]
多声道编码处理单元401输出经过立体声处理的m1声道信号、s1声道信号、m2声道信号、s2声道信号和未经过立体声处理的lfe声道信号和c声道信号,以及能量/幅度均衡的边信息、立体声边信息和声道对索引。
[0139]
声道编码单元402用于对经过立体声处理的m1声道信号、s1声道信号、m2声道信号、s2声道信号和未经过立体声处理的lfe声道信号和c声道信号,以及多声道边信息进行编码,输出编码声道e1-e6。该多声道边信息可以包括能量/幅度均衡的边信息、立体声边信息和声道对索引。当然可以理解的,该多声道边信息还可以包括比特分配的边信息、熵编码的边信息等,本技术实施例对此不作具体限定。声道编码单元402将编码声道e1-e6发送给码流复用接口403。
[0140]
码流复用接口403将六个编码声道e1-e6进行复用形成串行比特流(bitstream),即编码码流,以方便多声道音频信号在信道中传输或者在数字媒质中存储。
[0141]
图5为本技术实施例的多声道编码处理单元的处理过程的示意图,如图5所示,上述多声道编码处理单元401可以包括多声道筛选单元4011和迭代处理单元4012,该迭代处理单元4012可以包括组对判决单元40121、声道对能量/幅度均衡单元40122、声道对能量/幅度均衡单元40123、立体声处理单元40124和立体声处理单元40125。
[0142]
多声道筛选单元4011根据多声道处理指示符(multiprocflag)从5.1输入声道(l声道、r声道、c声道、ls声道、rs声道、lfe声道)中筛选出参与多声道处理的声道,包括l声道、r声道、c声道、ls声道、rs声道。
[0143]
迭代处理单元4012中的组对判决单元40121在第一迭代步骤中,计算l声道、r声道、c声道、ls声道和rs声道中的每对声道之间的声道间相关值。在第一迭代步骤中,选择声道中(l声道、r声道、c声道、ls声道、rs声道)声道间相关值最高的声道对(l声道、r声道)形成第一声道对。将l声道和r声道经过声道对能量/幅度均衡单元40122进行能量/幅度均衡得到le声道和re声道。立体声处理单元40124对le声道和re声道进行立体声处理,获取第一声道对的边信息及立体声处理后的中声道m1和侧声道s1。该第一声道对的边信息包括第一声道对的能量/幅度均衡的边信息、立体声边信息和声道索引。在第二迭代步骤中选择声道中(c声道、ls声道、rs声道)声道间相关值最高的声道对(ls声道、rs声道)形成第二声道对。将ls声道和rs声道经过能量/幅度均衡单元40123进行能量/幅度均衡得到lse声道和rse声道。立体声处理单元40125对lse声道和rse声道进行立体声处理,获取第二声道对的边信息及立体声处理后的中声道m2和侧声道s2。第二声道对的边信息包括第二声道对的能量/幅度均衡的边信息、立体声边信息和声道索引。第一声道对的边信息和第二声道对的边信息组成了多声道边信息。
[0144]
声道对能量/幅度均衡单元40122和声道对能量/幅度均衡单元40123对输入的声道对的能量/幅度取平均得到能量/幅度均衡后的能量/幅度。
[0145]
例如,声道对能量/幅度均衡单元40122可以通过如下公式(4)确定能量/幅度均衡后的能量/幅度。
[0146]
energy_avg_pair1=avg(energy_l,energy_r)
ꢀꢀꢀ
(4)
[0147]
其中,avg(a1,a2)函数输出2个参数a1,a2的均值。energy_l为能量/幅度均衡前的l声道的帧能量/幅度,energy_r为能量/幅度均衡前的r声道的帧能量/幅度,energy_avg_pair1为第一声道对的能量/幅度均衡后的能量/幅度。
[0148]
其中,energy_l和energy_r可以通过上述公式(3)确定。
[0149]
声道对能量/幅度均衡单元40123可以通过如下公式(4)确定能量/幅度均衡后的能量/幅度。
[0150]
energy_avg_pair2=avg(energy_ls,energy_rs)
ꢀꢀꢀ
(5)
[0151]
其中,avg(a1,a2)函数输出2个参数a1,a2的均值。energy_ls为能量/幅度均衡前的ls声道的帧能量/幅度,energy_rs为能量/幅度均衡前的rs声道的帧能量/幅度,energy_avg_pair2为第二声道对的能量/幅度均衡后的能量/幅度。
[0152]
同时能量/幅度均衡过程中会生成如上述实施例的第一声道对的能量/幅度均衡的边信息和第二声道对的能量/幅度均衡的边信息。该第一声道对的能量/幅度均衡的边信息和第二声道对的能量/幅度均衡的边信息在编码码流中传输,以指导解码端的能量/幅度去均衡。
[0153]
对第一声道对的能量/幅度均衡的边信息的确定方式进行解释说明。
[0154]
s01:计算第一声道对经过声道对能量/幅度均衡单元40122均衡后的能量/幅度energy_avg_pair1。该energy_avg_pair1采用上述公式(4)确定。
[0155]
s02:计算第一声道对的l声道的浮点能量/幅度缩放比例系数。
[0156]
一种示例,l声道的浮点能量/幅度缩放比例系数为scalef_l。浮点能量/幅度缩放比例系数在(0,1)之间。如果energy_l>energy_le,scalef_l=energy_le/energy_l,反之如果energy_l≤energy_le,scalef_l=energy_l/energy_le。
[0157]
其中,energy_le等于energy_avg_pair1。
[0158]
s03:计算第一声道对的l声道的定点能量/幅度缩放比例。
[0159]
一种示例,l声道的定点能量/幅度缩放比例为scaleint_l。从浮点能量/幅度缩放比例系数scalef_l到定点能量/幅度缩放比例scaleint_l的定点化比特数为固定值。定点化比特数决定浮点转定点的精度,同时也要兼顾传输效率(因边信息要占用比特)。这里假设定点化比特数是4(即m=4),l声道的定点能量/幅度缩放比例的计算公式如下:
[0160]
scaleint_l=ceil((1<<4)
×
scalef_l)
[0161]
scaleint_l=clip(scaleint_l,1,15)
[0162]
clip((x),(a),(b))=max(a,min(b,(x))),a≤b。其中,ceil(x)函数是对x向上取整的函数。clip(x,a,b)函数是双向钳位函数,将x钳位到[a,b]之间。
[0163]
s04:计算第一声道对的l声道的能量/幅度缩放标识。
[0164]
一种示例,l声道的能量/幅度缩放标识为energybigflag_l。如果energy_l>energy_le,energybigflag_l置1,反之如果energy_l≤energy_le,energybigflag_l置0。
[0165]
对l声道当前帧内每个系数进行能量/幅度均衡,具体如下:
[0166]
若energybigflag_l为1,le(i)=l(i)
×
scaleint_l/(1<<4)。其中,i用于标识当前帧的系数,l(i)为能量/幅度均衡前的当前帧的第i个频域系数,le(i)为能量/幅度均衡后的当前帧的第i个频域系数。若energybigflag_l为0,le(i)=l(i)
×
(1<<4)/scaleint_l。
[0167]
对第一声道对的r声道可以执行类似的s01至s04操作,得到r声道的浮点能量/幅度缩放比例系数scalef_r、定点能量/幅度缩放比例scaleint_r、能量/幅度缩放标识energybigflag_r,及能量/幅度均衡后的当前帧re。即,将上述s01至s04中l替换为r。
[0168]
对第二声道对的ls声道可以执行类似的s01至s04操作,得到ls声道的浮点能量/幅度缩放比例系数scalef_ls、定点能量/幅度缩放比例scaleint_ls、能量/幅度缩放标识energybigflag_ls,及能量/幅度均衡后的当前帧lse。即,将上述s01至s04中l替换为ls。
[0169]
对第二声道对rs声道执行类似的s01至s04操作,得到rs声道的浮点能量/幅度缩放比例系数scalef_rs、定点能量/幅度缩放比例scaleint_rs、能量/幅度缩放标识energybigflag_rs,及能量/幅度均衡后的当前帧rse。
[0170]
将多声道边信息写到编码码流,该多声道边信息包括声道对个数、第一声道对的能量/幅度均衡的边信息、第一声道对索引、第二声道对的能量/幅度均衡的边信息和第二声道对索引。
[0171]
示例性的,声道对个数为currpaircnt,第一声道对的能量/幅度均衡的边信息和第二声道对的能量/幅度均衡的边信息为二维数组,第一声道对索引和第二声道对索引为一维数组。例如,第一声道对的定点能量/幅度缩放比例为pairildscale[0][0]和pairildscale[0][1],第一声道对的能量/幅度缩放标识为energybigflag[0][0]和energybigflag[0][1],第二声道对的定点能量/幅度缩放比例为pairildscale[1][0]和pairildscale[1][1],第二声道对的能量/幅度缩放标识为energybigflag[1][0]和
energybigflag[1][1]。第一声道对索引为pairindex[0],第二声道对索引为pairindex[1]。
[0172]
其中,声道对个数currpaircnt可以为固定比特长度,例如,可以由4比特组成,可以标识最多16个立体声对。
[0173]
其中,声道对索引pairindex[pair]的取值定义如表1所示,声道对索引可以为变长编码,用于在编码码流中传输,以节省比特以及用于解码端的音频信号恢复。例如,pairindex[0]=0,即指示声道对包括r声道和l声道。
[0174]
表1 5声道的声道对索引映射表
[0175] 0(l)1(r)2(c)3(rs)4(rs)0(l) 01361(r)
ꢀꢀ
2472(c)
ꢀꢀꢀ
583(rs)
ꢀꢀꢀꢀ
94(rs)
ꢀꢀꢀꢀꢀ
[0176]
本实施例中,pairildscale[0][0]=scaleint_l。pairildscale[0][1]=scaleint_r。
[0177]
pairildscale[1][0]=scaleint_ls。pairildscale[1][1]=scaleint_rs。
[0178]
energybigflag[0][0]=energybigflag_l。energybigflag[0][1]=energybigflag_r。
[0179]
energybigflag[1][0]=energybigflag_ls。energybigflag[1][1]=energybigflag_rs。
[0180]
pairindex[0]=0(l和r)。pairindex[1]=9(ls和rs)。
[0181]
示例性的,多声道边信息写码流的流程如图6所示。步骤601、设置变量pair=0,将声道对个数写入码流。例如,声道对个数currpaircnt可以使4比特。步骤602、判断pair是否小于声道对个数,若是,则执行步骤603,若否,则结束。步骤603、将第i声道对索引写入码流。i=pair+1,例如,将pairindex[0]写入码流。步骤604、将第i声道对的定点能量/幅度缩放比例写入码流。例如,将pairildscale[0][0]和pairildscale[0][1]写入到码流。pairildscale[0][0]和pairildscale[0][1]可以各占4比特。步骤605、将第i声道对的能量/幅度缩放标识写入码流。例如,将energybigflag[0][0]和energybigflag[0][1]写入到码流。energybigflag[0][0]和energybigflag[0][1]可以各占1比特。步骤606、将第i声道对的立体声边信息写入码流,且pair=pair+1,返回执行步骤602。返回步骤602之后,将pairindex[1]、pairildscale[1][0]、pairildscale[1][1]、energybigflag[1][0]、energybigflag[1][1]写入码流,直至结束。
[0182]
图7为本技术实施例的一种多声道音频信号解码方法的流程图,本技术实施例的执行主体可以是上述解码器,如图7所示,本实施例的方法可以包括:
[0183]
步骤701、获取待解码码流。
[0184]
其中,该待解码码流可以是如上编码方法实施例得到的编码码流。
[0185]
步骤702、对待解码码流进行解复用,以获取待解码多声道音频信号的当前帧以及该当前帧包括的声道对个数。
[0186]
以5.1声道信号为例,对待解码码流进行解复用后,得到m1声道信号、s1声道信号、m2声道信号、s2声道信号、lfe声道信号和c声道信号,以及声道对个数。
[0187]
步骤703、判断声道对个数是否等于0,若是,则执行步骤704,若否,则执行步骤705。
[0188]
步骤704、对待解码多声道音频信号的当前帧进行解码,以获取当前帧的解码信号。
[0189]
当声道对个数等于0时,即各个声道均未组对,则可以对待解码多声道音频信号的当前帧进行解码,以获取当前帧的解码信号。
[0190]
步骤705、解析该当前帧,获取该当前帧包括的k个声道对索引和k个声道对的能量/幅度均衡的边信息。
[0191]
当声道对个数等于k时,则可以对当前帧进行进一步解析,以获取其他控制信息,例如,k个声道对索引和当前帧的k个声道对的能量/幅度均衡的边信息,以便后续对待解码多声道音频信号的当前帧进行解码过程中进行能量/幅度去均衡,以获取当前帧的解码信号。
[0192]
步骤706、根据k个声道对索引,以及k个声道对的能量/幅度均衡的边信息,对待解码多声道音频信号的当前帧进行解码,以获取当前帧的解码信号。
[0193]
以5.1声道信号为例,对m1声道信号、s1声道信号、m2声道信号、s2声道信号、lfe声道信号和c声道信号进行解码,以获取l声道信号、r声道信号、ls声道信号、rs声道信号、lfe声道信号和c声道信号。解码过程中,基于k个声道对的能量/幅度均衡的边信息进行能量/幅度去均衡。
[0194]
在一些实施例中,一个声道对的能量/幅度均衡的边信息可以包括该声道对的定点能量/幅度缩放比例和能量/幅度缩放标识,其具体解释说明可以参见前述编码实施例的解释说明,此处不再赘述。
[0195]
本实施例,通过对待解码码流进行解复用,以获取待解码多声道音频信号的当前帧和该当前帧包括的声道对个数,当声道对个数大于0时,进一步解析该当前帧,获取k个声道对索引和k个声道对的能量/幅度均衡的边信息,根据k个声道对索引,以及k个声道对的能量/幅度均衡的边信息,对待解码多声道音频信号的当前帧进行解码,以获取当前帧的解码信号。由于编码端发送的码流未携带未组对的声道的能量/幅度均衡的边信息,从而可以减少编码码流中能量/幅度均衡的边信息的比特数,降低多声道边信息的比特数,可以将节省的比特分配到编码器的其他功能模块,以提升解码端重建音频信号的质量。
[0196]
下面实施例以5.1声道信号为例,对本技术实施例的多声道音频信号解码方法进行示意性举例说明。
[0197]
图8为本技术实施例的解码端的处理过程的示意图,如图8所示,该解码端可以包括码流解复用接口801、声道解码单元802和多声道解码处理单元803。本实施例的解码过程为上述图4和图5所示实施例的编码过程的逆过程。
[0198]
码流解复用接口801用于对编码端输出的码流进行解复用得到六路编码声道e1-e6。
[0199]
声道解码单元802用于对编码声道e1-e6进行逆熵编码和逆量化得到多声道信号,包括第一声道对的中声道m1和侧声道s1,第二声道对的中声道m2和侧声道s2,以及未组对
的c声道和lfe声道。声道解码单元802还解码得到多声道边信息。该多声道边信息包括上述图4所示实施例的声道编码处理过程中生成的边信息(例如,熵编码的边信息),以及多声道编码处理过程中生成的边信息(例如,声道对的能量/幅度均衡的边信息)。
[0200]
多声道解码处理单元803对第一声道对的中声道m1和侧声道s1,第二声道对的中声道m2和侧声道s2进行多声道解码处理。利用多声道边信息,将第一声道对的中声道m1和侧声道s1解码成l声道和r声道,将第二声道对的中声道m2和侧声道s2解码成ls声道和rs声道。l声道、r声道、ls声道、rs声道、未组对的c声道和lfe声道构成了解码端的输出。
[0201]
图9为本技术实施例的多声道解码处理单元的处理过程的示意图,如图9所示,上述多声道解码处理单元803可以包括多声道筛选单元8031和多声道解码处理子模块8032。该多声道编码处理子模块8032包括两个立体声解码盒、能量/幅度去均衡单元8033和能量/幅度去均衡单元8034。
[0202]
多声道筛选单元8031根据多声道边信息中的声道对个数和声道对索引从5.1输入声道(m1声道、s1声道、c声道、m2声道、s2声道、lfe声道)中筛选出参与多声道处理的m1声道、s1声道、m2声道、s2声道。
[0203]
多声道解码处理子模块8032中的立体声解码盒用于执行以下步骤:根据第一声道对的立体声边信息指导立体声解码盒将第一声道对(m1,s1)解码成le声道和re声道。根据第二声道对的立体声边信息指导立体声解码盒将第二声道对(m2,s2)解码成lse声道和rse声道。
[0204]
能量/幅度去均衡单元8033用于执行以下步骤:根据第一声道对的能量/幅度的边信息指导第一声道对去均衡单元,将le声道和re声道的能量/幅度去均衡恢复成l声道、r声道。能量/幅度去均衡单元8034用于执行以下步骤:根据第二声道对的能量/幅度均衡的边信息指导第一声道对去均衡单元将lse声道、rse声道恢复成ls声道、rs声道。
[0205]
对多声道边信息解码的过程进行解释说明。图10为本技术实施例的一种多声道边信息解析的流程图,本实施例为上述图6所示实施例的逆过程,如图10所示,步骤701、解析码流,得到当前帧的声道对个数。例如,声道对个数currpaircnt,声道对个数currpaircnt在码流中占用4比特。步骤702、判断当前帧的声道对个数是否为零,若是,则结束,若否,则执行步骤703。当前帧的声道对个数currpaircnt为零,表示当前帧没有进行组对,则不用解析获取能量/幅度均衡的边信息。当前帧的声道对个数currpaircnt不为零,循环解析第一声道对,
……
,第currpaircnt声道对的能量/幅度均衡的边信息。例如,设置变量pair=0。并执行后续步骤703至707。步骤703、判断pair是否小于声道对个数,若是,则执行步骤704,若否,则结束。步骤704、从码流解析第i声道对索引。i=pair+1。步骤705、从码流解析第i声道对的定点能量/幅度缩放比例。例如,pairildscale[pair][0]和pairildscale[pair][1]。步骤706、从码流解析第i声道对的能量/幅度缩放标识。例如,energybigflag[pair][0]和energybigflag[pair][1]。步骤707、从码流解析第i声道对的立体声边信息,且pair=pair+1,返回执行步骤703,直至解析出所有声道对索引、定点能量/幅度缩放比例以及能量/幅度缩放标识。
[0206]
以编码端5.1(l、r、c、lfe、ls、rs)信号为例描述第一声道对和第二声道对的边信息解析过程。
[0207]
第一声道对的边信息解析过程如下:从码流解析4比特的声道对索引pairindex
[0],根据声道对索引的定义规则映射成l声道和r声道。从码流解析l声道的定点能量/幅度缩放比例pairildscale[0][0]和r声道的定点能量/幅度缩放比例pairildscale[0][1]。从码流解析l声道的能量/幅度缩放标识energybigflag[0][0]和r声道的能量/幅度缩放标识energybigflag[0][1]。从码流解析第一声道对的立体声边信息。第一声道对的边信息解析结束。
[0208]
第二声道对的边信息解析过程如下:从码流解析4比特的声道对索引pairindex[1],根据声道对索引的定义规则映射成ls声道和rs声道。从码流解析ls声道的定点能量/幅度缩放比例pairildscale[1][0]和rs声道的定点能量/幅度缩放比例pairildscale[1][1]。从码流解析ls声道的能量/幅度缩放标识energybigflag[1][0]和rs声道的能量/幅度缩放标识energybigflag[1][1]。从码流解析第二声道对的立体声边信息。第二声道对的边信息解析结束。
[0209]
能量/幅度去均衡单元8033用于将第一声道对的le声道和re声道的能量/幅度去均衡的过程如下:
[0210]
根据l声道的定点能量/幅度缩放比例pairildscale[0][0]和l声道的能量/幅度缩放标识energybigflag[0][0]计算l声道的浮点能量/幅度缩放比例系数scalef_l。若l声道的能量/幅度缩放标识energybigflag[0][0]为1,scalef_l=(1《《4)/pairildscale[0][0];若l声道的能量/幅度缩放标识energybigflag[0][0]为0,scalef_l=pairildscale[0][0]/(1《《4)。
[0211]
根据l声道的浮点能量/幅度缩放比例系数scalef_l得到能量/幅度去均衡后的l声道的频域系数。l(i)=l
e(i)×
scalef_l;其中,i用于标识当前帧的系数,l(i)为能量/幅度均衡前的当前帧的第i个频域系数,le(i)为能量/幅度均衡后的当前帧的第i个频域系数。
[0212]
根据r声道的定点能量/幅度缩放比例pairildscale[0][1]和r声道的能量/幅度缩放标识energybigflag[0][1]计算r声道的浮点能量/幅度缩放比例系数scalef_r。若r声道的能量/幅度缩放标识energybigflag[0][1]为1,scalef_r=(1《《4)/pairildscale[0][1];若r声道的能量/幅度缩放标识energybigflag[0][1]为0,scalef_r=pairildscale[0][1]/(1《《4)。
[0213]
根据r声道的浮点能量/幅度缩放比例系数scalef_r得到能量/幅度去均衡后的r声道的频域系数。r(i)=r
e(i)×
scalef_r;其中,i用于标识当前帧的系数,l(i)为能量/幅度均衡前的当前帧的第i个频域系数,le(i)为能量/幅度均衡后的当前帧的第i个频域系数。
[0214]
能量/幅度去均衡单元8034用于将第二声道对lse声道和rse声道的能量/幅度去均衡,其具体实施方式与第一声道对的le声道和re声道的能量/幅度去均衡的一致,此处不再赘述。
[0215]
多声道解码处理单元803的输出是经过解码后的l声道信号、r声道信号、ls声道信号、rs声道信号、c声道信号和lfe声道信号。
[0216]
本实施例,由于编码端发送的码流未携带未组对的声道的能量/幅度均衡的边信息,从而可以减少编码码流中能量/幅度均衡的边信息的比特数,降低多声道边信息的比特数,可以将节省的比特分配到编码器的其他功能模块,以提升解码端重建音频信号的质量。
[0217]
基于与上述方法相同的发明构思,本技术实施例还提供了一种音频信号编码装置,该音频信号编码装置可以应用于音频编码器。
[0218]
图11为本技术实施例的一种音频信号编码装置的结构示意图,如图11所示,该音频信号编码装置1100包括:获取模块1101、均衡边信息生成模块1102、以及编码模块1103。
[0219]
获取模块1101,用于获取多声道音频信号的当前帧的p个声道的音频信号和p个声道的音频信号各自的能量/幅度,p为大于1的正整数,该p个声道包括k个声道对,每个声道对包括两个声道,k为正整数,p大于或等于k*2。
[0220]
均衡边信息生成模块1102,用于根据p个声道的音频信号各自的能量/幅度,生成k个声道对的能量/幅度均衡的边信息;
[0221]
编码模块1103,用于对k个声道对的能量/幅度均衡的边信息,和p个声道的音频信号进行编码,以获取编码码流。
[0222]
在一些实施例中,该k个声道对包括当前声道对,该当前声道对的能量/幅度均衡的边信息包括:该当前声道对的定点能量/幅度缩放比例和能量/幅度缩放标识,该定点能量/幅度缩放比例为能量/幅度缩放比例系数的定点化值,该能量/幅度缩放比例系数根据该当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度与该两个声道的音频信号各自的能量/幅度均衡后的能量/幅度获得,该能量/幅度缩放标识用于标识该当前声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度相对于各自的能量/幅度均衡前的能量/幅度是被放大或被缩小。
[0223]
在一些实施例中,该k个声道对包括当前声道对,均衡边信息生成模块1102用于:根据当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,确定当前声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度。根据当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,和该两个声道的音频信号各自的能量/幅度均衡后的能量/幅度,生成该当前声道对的能量/幅度均衡的边信息。
[0224]
在一些实施例中,该当前声道对包括第一声道和第二声道,该当前声道对的能量/幅度均衡的边信息包括:第一声道的定点能量/幅度缩放比例、第二声道的定点能量/幅度缩放比例、第一声道的能量/幅度缩放标识和第二声道的能量/幅度缩放标识。
[0225]
在一些实施例中,均衡边信息生成模块1102用于:根据当前声道对的第q声道的能量/幅度均衡前的能量/幅度,和该第q声道的音频信号的能量/幅度均衡后的能量/幅度,确定该第q声道的音频信号的能量/幅度缩放比例系数。根据该第q声道的能量/幅度缩放比例系数,确定该第q声道的定点能量/幅度缩放比例。根据该第q声道的能量/幅度均衡前的能量/幅度,和该第q声道的能量/幅度均衡后的能量/幅度,确定该第q声道的能量/幅度缩放标识。其中,q为一或二。
[0226]
在一些实施例中,均衡边信息生成模块1102用于:根据当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度,确定该当前声道对的音频信号的能量/幅度平均值,根据该当前声道对的音频信号的能量/幅度平均值确定该当前声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度。
[0227]
在一些实施例中,编码模块1103用于:对k个声道对的能量/幅度均衡的边信息、k、k个声道对各自对应的声道对索引以及p个声道的音频信号进行编码,以获取编码码流。
[0228]
需要说明的是,上述获取模块1101、均衡边信息生成模块1102、以及编码模块1103
可应用于编码端的音频信号编码过程。
[0229]
还需要说明的是,获取模块1101、均衡边信息生成模块1102、以及编码模块1103的具体实现过程可参考上述方法实施例中关于编码方法的详细描述,为了说明书的简洁,这里不再赘述。
[0230]
基于与上述方法相同的发明构思,本技术实施例提供一种音频信号编码器,音频信号编码器用于编码音频信号,包括:如执行如上述一个或者多个实施例中所述的编码器,其中,音频信号编码装置用于编码生成对应的码流。
[0231]
基于与上述方法相同的发明构思,本技术实施例提供一种用于编码音频信号的设备,例如,音频信号编码设备,请参阅图12所示,音频信号编码设备1200包括:
[0232]
处理器1201、存储器1202以及通信接口1203(其中音频信号编码设备1200中的处理器1201的数量可以一个或多个,图12中以一个处理器为例)。在本技术的一些实施例中,处理器1201、存储器1202以及通信接口1203可通过总线或其它方式连接,其中,图12中以通过总线连接为例。
[0233]
存储器1202可以包括只读存储器和随机存取存储器,并向处理器1201提供指令和数据。存储器1202的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。存储器1202存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0234]
处理器1201控制音频编码设备的操作,处理器1201还可以称为中央处理单元(central processing unit,cpu)。具体的应用中,音频编码设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0235]
上述本技术实施例揭示的方法可以应用于处理器1201中,或者由处理器1201实现。处理器1201可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1201可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1202,处理器1201读取存储器1202中的信息,结合其硬件完成上述方法的步骤。
[0236]
通信接口1203可用于接收或发送数字或字符信息,例如可以是输入/输出接口、管脚或电路等。举例而言,通过通信接口1203发送上述编码码流。
[0237]
基于与上述方法相同的发明构思,本技术实施例提供一种音频编码设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执
行如上述一个或者多个实施例中所述的多声道音频信号编码方法的部分或全部步骤。
[0238]
基于与上述方法相同的发明构思,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行如上述一个或者多个实施例中所述的多声道音频信号编码方法的部分或全部步骤的指令。
[0239]
基于与上述方法相同的发明构思,本技术实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述一个或者多个实施例中所述的多声道音频信号编码方法的部分或全部步骤。
[0240]
基于与上述方法相同的发明构思,本技术实施例还提供了一种音频信号解码装置,该音频信号解码装置可以应用于音频解码器。
[0241]
图13为本技术实施例的一种音频信号解码装置的结构示意图,如图13所示,该音频信号解码装置1300包括:获取模块1301、解复用模块1302、以及解码模块1303。
[0242]
获取模块1301,用于获取待解码码流。
[0243]
解复用模块1302,用于对待解码码流进行解复用,以获取待解码多声道音频信号的当前帧,当前帧包括的声道对的数量k,k个声道对各自对应的声道对索引,以及k个声道对的能量/幅度均衡的边信息;
[0244]
解码模块1303,用于根据k个声道对各自对应的声道对索引,以及k个声道对的能量/幅度均衡的边信息,对待解码多声道音频信号的当前帧进行解码,以获取当前帧的解码信号,k为正整数,每个声道对包括两个声道。
[0245]
在一些实施例中,该k个声道对包括当前声道对,该当前声道对的能量/幅度均衡的边信息包括:该当前声道对的定点能量/幅度缩放比例和能量/幅度缩放标识,该定点能量/幅度缩放比例为能量/幅度缩放比例系数的定点化值,该能量/幅度缩放比例系数根据该当前声道对的两个声道的音频信号各自的能量/幅度均衡前的能量/幅度与该两个声道的音频信号各自的能量/幅度均衡后的能量/幅度获得,该能量/幅度缩放标识用于标识该当前声道对的两个声道的音频信号各自的能量/幅度均衡后的能量/幅度相对于各自的能量/幅度均衡前的能量/幅度是被放大或被缩小。
[0246]
在一些实施例中,该k个声道对包括当前声道对,解码模块1303用于:根据当前声道对对应的声道对索引,对待解码多声道音频信号的当前帧进行立体声解码处理,以获取当前帧的当前声道对的两个声道的音频信号。根据该当前声道对的能量/幅度均衡的边信息,对该当前声道对的两个声道的音频信号进行能量/幅度去均衡处理,以获取该当前声道对的两个声道的解码信号。
[0247]
在一些实施例中,该当前声道对包括第一声道和第二声道,该当前声道对的能量/幅度均衡的边信息包括:该第一声道的定点能量/幅度缩放比例、该第二声道的定点能量/幅度缩放比例、第一声道的能量/幅度缩放标识和第二声道的能量/幅度缩放标识。
[0248]
需要说明的是,上述获取模块1301、解复用模块1302、以及解码模块1303可应用于解码端的音频信号解码过程。
[0249]
还需要说明的是,获取模块1301、解复用模块1302、以及解码模块1303的具体实现过程可参考上述方法实施例中关于解码方法的详细描述,为了说明书的简洁,这里不再赘述。
[0250]
基于与上述方法相同的发明构思,本技术实施例提供一种音频信号解码器,音频
信号解码器用于解码音频信号,包括:如执行如上述一个或者多个实施例中所述的解码器,其中,音频信号解码装置用于解码生成对应的码流。
[0251]
基于与上述方法相同的发明构思,本技术实施例提供一种用于解码音频信号的设备,例如,音频信号解码设备,请参阅图14所示,音频信号解码设备1400包括:
[0252]
处理器1401、存储器1402以及通信接口1403(其中音频信号解码设备1400中的处理器1401的数量可以一个或多个,图14中以一个处理器为例)。在本技术的一些实施例中,处理器1401、存储器1402以及通信接口1403可通过总线或其它方式连接,其中,图14中以通过总线连接为例。
[0253]
存储器1402可以包括只读存储器和随机存取存储器,并向处理器1401提供指令和数据。存储器1402的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。存储器1402存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0254]
处理器1401控制音频解码设备的操作,处理器1401还可以称为中央处理单元(central processing unit,cpu)。具体的应用中,音频解码设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0255]
上述本技术实施例揭示的方法可以应用于处理器1401中,或者由处理器1401实现。处理器1401可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1401可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1402,处理器1401读取存储器1402中的信息,结合其硬件完成上述方法的步骤。
[0256]
通信接口1403可用于接收或发送数字或字符信息,例如可以是输入/输出接口、管脚或电路等。举例而言,通过通信接口1403接收上述编码码流。
[0257]
基于与上述方法相同的发明构思,本技术实施例提供一种音频解码设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行如上述一个或者多个实施例中所述的多声道音频信号解码方法的部分或全部步骤。
[0258]
基于与上述方法相同的发明构思,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行如上述一个或者多个实施例中所述的多声道音频信号解码方法的部分或全部步骤的指令。
[0259]
基于与上述方法相同的发明构思,本技术实施例提供一种计算机程序产品,当所
述计算机程序产品在计算机上运行时,使得所述计算机执行如上述一个或者多个实施例中所述的多声道音频信号解码方法的部分或全部步骤。
[0260]
以上各实施例中提及的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signal processor,dsp)、特定应用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本技术实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0261]
上述各实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0262]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0263]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0264]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0265]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0266]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0267]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0268]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。