音频对象的比特分配方法和装置与流程



1.本技术涉及音频编解码技术领域,尤其涉及音频对象的比特分配方法和装置。


背景技术:



2.三维音频(3d audio)使声音具有强烈的空间感、包围感及沉浸感,给人以“声临其境”的非凡听觉体验。近年来,人们对于音频技术的发展也越来越关注。
3.基于对象的音频技术是实现三维音频的一种重要的方式,通过渲染技术可以将相对独立的音频对象(audio object)表示为具有空间感和更加逼真听觉体验的音频场景。编码端编码音频对象使用的比特数是影响解码端重建音频对象质量的重要因素。因此,在固定比特速率下,如何在音频对象间分配比特数,从而使得渲染出的三维音频场景具有高质量,是目前音频编码研究的重要方向之一。
4.目前,常用的音频对象的比特分配方法是:一个音频帧中的多个音频对象平均分配总比特数,这会导致重建音频对象的质量整体质量不高,且编码效率低。


技术实现要素:



5.本技术实施例提供了音频对象的比特分配方法和装置,有助于提高重建音频对象的整体质量和编码效率。
6.为了达到上述目的,本技术提供了以下技术方案:
7.第一方面,提供了一种音频对象的比特分配方法,包括:对待编码音频帧中的多个待预渲染音频对象分别进行预渲染,以得到多个预渲染音频对象。然后,获取该多个预渲染音频对象各自的感知重要性参数值。该多个预渲染音频对象中的当前预渲染音频对象的感知重要性参数值用于指示当前渲染音频对象在该多个预渲染音频对象中的感知重要性程度。其中,当前预渲染音频对象可以是该多个预渲染音频对象中的任意一个预渲染音频对象。接着,基于该多个预渲染音频对象各自的感知重要性参数值,获取该多个待预渲染音频对象中当前待预渲染音频对象的比特分配参数值。其中,当前待预渲染音频对象可以是该多个待预渲染音频对象中的任意一个待预渲染音频对象。最后,基于当前待预渲染音频对象的比特分配参数值和该多个待预渲染音频对象对应的待分配总比特数,确定为当前待预渲染音频对象分配的目标比特数。示例的,该待分配该待分配总比特数可以用于编码该多个待预渲染音频对象。该目标比特数可以用于对当前待与预渲染音频对象进行编码。
8.该技术方案,在为待预渲染音频对象分配比特数时,考虑了不同预渲染音频对象在渲染回放端的感知特性的差异。相比传统技术中使用相同比特数编码不同音频对象的技术方案,有助于提高重建音频对象的整体质量。例如,一个预渲染音频对象的感知重要性参数值指示的感知重要性程度越高,编码器可以为该预渲染音频对象对应的待预渲染音频对象(即该预渲染音频对象在预渲染前的音频对象)分配越多比特数,该比特数可以用于编码该待预渲染音频对象。此时,解码器重建的音频对象的质量会越高。这样,有助于提高重建包含多个音频对象的音频帧的整体质量。同时,能够提高编码效率。
9.在一种可能的设计中,感知重要性程度包括能量强弱程度和频谱变化程度中的至少一种。
10.在一种可能的设计中,感知重要性参数包括能量重要性参数。其中,当前预渲染音频对象的能量重要性参数,是基于当前预渲染音频对象的能量计算得到的,用于指示当前预渲染音频对象的能量与该多个预渲染音频对象各自的能量之和之间的比值。
11.在一种可能的设计中,感知重要性参数包括感知强度重要性参数。其中,当前预渲染音频对象的感知强度重要性参数,是结合人耳听觉曲线和当前预渲染音频对象的能量计算得到的,用于指示当前预渲染音频对象的多个频带中能量最大的预设数量个频带的能量之和与该多个预渲染音频对象各自的多个频带中能量最大的预设数量个频带的能量之和之间的比值。
12.在一种可能的设计中,感知重要性参数包括频谱平坦度参数。当前预渲染音频对象的频谱平坦度参数,用于指示当前预渲染音频对象在该多个预渲染音频对象中的频谱平坦度。
13.在一种可能的设计中,当前预渲染音频对象是当前待预渲染音频对象经预渲染得到的音频对象。当前待预渲染音频对象的比特分配参数值包括第一比值,或根据第一比值确定的参数值。第一比值,是当前预渲染音频对象的感知重要性参数值与该多个预渲染音频对象各自的感知重要性参数值之和之间的比值。该可能的设计提供了获取当前待预渲染音频对象的比特分配参数值的一种具体实现方式,该方式实现简单。
14.在一种可能的设计中,该方法还包括:获取该多个待预渲染音频对象各自的内容重要性参数值。其中,当前待预渲染音频对象的内容重要性参数值用于指示当前待预渲染音频对象的内容所表征的声音类型在该多个待预渲染音频对象的内容所表征的声音类型中的重要性程度。该情况下,基于该多个预渲染音频对象各自的感知重要性参数值,获取该多个待预渲染音频对象中当前待预渲染音频对象的比特分配参数值,包括:基于该多个预渲染音频对象各自的感知重要性参数值和该多个待预渲染音频对象各自的内容重要性参数值,获取当前待预渲染音频对象的比特分配参数值。该可能的设计,在为待预渲染音频对象分配比特数时,还考虑了不同待预渲染音频对象的内容特征的差异。因此,相比传统技术中使用相同比特数编码不同音频对象的技术方案,能够进一步提高重建音频对象的整体质量和编码效率。
15.在一种可能的设计中,当前预渲染音频对象是当前待预渲染音频对象经预渲染得到的音频对象。当前待预渲染音频对象的比特分配参数值包括第二比值,或根据第二比值确定的参数值。其中,第二比值,是当前待预渲染音频对象的第一值与该多个待预渲染音频对象各自的第一值之和之间的比值。当前待预渲染音频对象的第一值是当前待预渲染音频对象的内容重要性参数值与当前预渲染音频对象的感知重要性参数值的积,或者是根据“当前待预渲染音频对象的内容重要性参数值与当前预渲染音频对象的感知重要性参数值的积”确定的参数值。该可能的设计提供了另一种获取当前待预渲染音频对象的比特分配参数值的具体实现方式,该方式实现简单。
16.在一种可能的设计中,声音类型包括以下至少一种:语音、音乐、音效、环境音或噪声。
17.在一种可能的设计中,为当前待预渲染音频对象分配的目标比特数与待分配总比
特数的比值等于第三比值,或等于根据第三比值确定的参数值。第三比值,是当前待预渲染音频对象的比特分配参数值与多个待预渲染音频对象各自的比特分配参数值之和之间的比值。该可能的设计提供了一种确定为当前待预渲染音频对象分配的目标比特数的具体实现方式。该可能的设计中,比特分配参数值不同的待预渲染音频对象,可以对应不同目标比特数。
18.在一种可能的设计中,基于当前待预渲染音频对象的比特分配参数值和待分配总比特数,确定为当前待预渲染音频对象分配的目标比特数,包括:基于多个比特分配参数值与多个优先级级别之间的对应关系,以及当前待预渲染音频对象的比特分配参数值,确定当前待预渲染音频对象的优先级级别;然后,基于当前待预渲染音频对象的优先级级别和待分配总比特数,确定为当前待预渲染音频对象分配的目标比特数。该可能的设计提供了另一种确定为当前待预渲染音频对象分配的目标比特数的具体实现方式,该可能的设计中,比特分配参数值不同的待预渲染音频对象,可以对应同一目标比特数或不同目标比特数。
19.在一种可能的设计中,为当前待预渲染音频对象分配的目标比特数与待分配总比特数的比值等于第四比值,或等于根据第四比值确定的参数值。其中,第四比值是当前待预渲染音频对象的优先级级别与该多个待预渲染音频对象各自的优先级级别之和之间的比值。
20.在一种可能的设计中,基于当前待预渲染音频对象的比特分配参数值和该多个待预渲染音频对象对应的待分配总比特数,包括:获取为当前待预渲染音频对象分配的初始比特数;基于该初始比特数,对当前待预渲染音频对象的比特分配参数值进行调整;基于待分配总比特数和当前待预渲染音频对象的调整后的比特分配参数值,确定为当前待预渲染音频对象分配的目标比特数。该可能的设计提供了另一种确定为当前待预渲染音频对象分配的目标比特数的实现方式。
21.该可能的设计通过为当前待预渲染音频对象分配的初始比特数对当前待预渲染音频对象的比特分配参数值进行调整,有助于进一步提高重建音频对象的整体质量和编码效率。并且,初始比特数可以按照传统技术获得,也就是说,该可能的设计提供了一种传统技术与本技术实施例提供的技术相结合的方案。或者,初始比特数可以按照本技术实施例提供的其中一种技术方案获得,也就是说,该可能的设计提供了本技术实施例提供的多种技术相结合的方案。
22.在一种可能的设计中,当前待预渲染音频对象的调整后的比特分配参数值包括:第五比值或根据第五比值确定的参数值。其中,第五比值,是当前待预渲染音频对象的第二值与多个待预渲染音频对象各自的第二值之和之间的比值。其中,当前待预渲染音频对象的第二值是为当前待预渲染音频对象分配的初始比特数与当前待预渲染音频对象的比特分配参数值之积,或者是根据“为当前待预渲染音频对象分配的初始比特数与当前待预渲染音频对象的比特分配参数值之积”确定的参数值。该可能的设计提供了一种调整比特分配参数值的具体实现方式。
23.在一种可能的设计中,为当前待预渲染音频对象分配的目标比特数与待分配总比特数的比值,等于当前待预渲染音频对象的调整后的比特分配参数值,或等于根据当前待预渲染音频对象的调整后的比特分配参数值确定的参数值。该可能的设计提供了一种确定
为当前待预渲染音频对象分配的目标比特数的具体实现方式。
24.在一种可能的设计中,该方法还包括:发送为该多个待预渲染音频对象分别分配的目标比特数之间的比例信息。该比例信息用于重建该多个待预渲染音频对象。
25.第二方面,提供了一种音频对象的比特分配装置。该音频对象的比特分配装置可以是编码器或者包含编码器的编码设备。示例的,该编码器可以是立体声编码器或多声道编码器等。示例的,该编码设备可以是终端如移动终端、固网终端等。或者,编码设备可以是网络设备如无线接入网或核心网中的媒体网关、转码设备、媒体资源服务器等。
26.在一种可能的设计中,该音频对象的比特分配装置用于执行上述第一方面提供的任一种方法。本技术可以根据上述第一方面提供的方法,对该音频对象的比特分配装置进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。示例性的,本技术可以按照功能将该音频对象的比特分配装置划分为预渲染模块、获取模块和确定模块等。上述划分的各个功能模块执行的可能的技术方案和有益效果的描述均可以参考上述第一方面中相应的技术方案,此处不再赘述。
27.在另一种可能的设计中,该音频对象的比特分配装置包括:处理器,用于实现上述第一方面描述的任一种方法。该装置还可以包括存储器,存储器与处理器耦合,处理器执行存储器中存储的指令时,可以实现上述第一方面描述的任一种方法。该设备还可以包括通信接口,该通信接口用于该设备与其它设备进行通信,示例性的,通信端口可以是收发器、电路、总线、模块或其它类型的通信接口。本技术中存储器中的指令可以预先存储也可以使用该装置时从互联网下载后存储,本技术对于存储器中指令的来源不进行唯一限定。本技术实施例中的耦合是单元或模块之间的间接耦合或连接,其可以是电性,机械或其它的形式,用于单元或模块之间的信息交互。
28.第三方面,提供了一种计算机可读存储介质,如计算机非瞬态的可读存储介质。其上储存有计算机程序(或指令),当该计算机程序(或指令)在计算机上运行时,使得该计算机执行上述第一方面提供的任一种方法。
29.第四方面,提供了一种计算机程序产品,当其在计算机上运行时,使得第一方面提供的任一种方法被执行。
30.第五方面,提供了一种音频系统,包括:编码装置和解码装置。其中,编码装置用于执行第一方面提供的任一种方法。解码装置用于接收该编码装置发送的信息,并执行解码过程。示例的,该编码装置可以是编码器(如立体声编码器或多声道编码器)或包含编码器的编码设备(如终端或网络设备)。相应的,该解码装置可以是解码器(如立体声解码器或多声道解码器)或包含解码器的解码设备(如终端或网络设备)。
31.可以理解的是,上述提供的任一种音频对象的比特分配装置、计算机存储介质、计算机程序产品或音频系统等均可以应用于上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
32.在本技术中,上述音频对象的比特分配装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本技术类似,属于本技术权利要求及其等同技术的范围之内。
33.本技术的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
34.图1a为本技术实施例提供的技术方案所适用的音频系统的结构示意图一;
35.图1b为本技术实施例提供的技术方案所适用的音频系统的结构示意图二;
36.图2为本技术实施例提供的技术方案所适用的音频系统的结构示意图三;
37.图3a为本技术实施例提供的技术方案所适用的音频系统的结构示意图四;
38.图3b为本技术实施例提供的技术方案所适用的音频系统的结构示意图五;
39.图4为本技术实施例提供的技术方案所适用的音频系统的结构示意图六;
40.图5为本技术实施例提供的一种计算机设备的硬件结构示意图;
41.图6为本技术实施例提供的音频对象的比特分配方法的流程示意图一;
42.图7为本技术实施例提供的一种确定目标比特数的流程示意图;
43.图8为本技术实施例提供的音频对象的比特分配方法的流程示意图二;
44.图9为本技术实施例提供的一种计算内容重要性参数值的方法的过程示意图;
45.图10为本技术实施例提供的音频对象的比特分配方法的流程示意图三;
46.图11为本技术实施例提供的音频对象的比特分配方法的流程示意图四;
47.图12为本技术实施例提供的一种音频对象的比特分配装置的结构示意图。
具体实施方式
48.以下,说明本技术所涉及的部分术语和技术:
49.1)、音频帧
50.音频数据是流式的,在实际应用中,为了便于音频处理和传输,通常取一时长内的音频数据量作为一帧音频,即音频帧。其中,该时长被称为“采样时间”,具体可以根据编解码器和具体应用的需求确定该时长的取值,例如该时长为2.5ms~60ms,ms为毫秒。
51.2)、音频对象
52.实现三维音频的一种重要的方式是基于对象的音频技术。在基于对象的音频技术中,每个音频帧可以包含多个音频对象。在编解码时,对该多个音频对象分别进行编解码。
53.在一些场景中,音频对象也可以被称为对象音频信号或音频信号。
54.3)、元数据(metadata)
55.元数据,又称中介数据、中继数据,是描述数据的数据(data about data),主要用于描述数据属性(property),支持例如指示存储位置、历史数据、资源查、文件记录等功能。元数据是关于数据的组织、数据域及其关系的信息。
56.4)、其他术语
57.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
58.在本技术的实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
59.本技术中术语“至少一个”的含义是指一个或多个,本技术中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。
60.应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
61.还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本技术中的字符“/”,一般表示前后关联对象是一种“或”的关系。
62.还应理解,在本技术的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
63.应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
64.还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
65.还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0066]
应理解,说明书通篇中提到的“一个实施例”、“一些实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
[0067]
在一些实施例中,本技术实施例提供的音频对象的比特分配方法,可以应用于终端的立体声编码器中。示例的,该终端可以是移动终端、固网终端等。
[0068]
如图1a所示,为本技术实施例提供的技术方案所适用的一种音频系统1的结构示意图。该音频系统1包括第一终端11和第二终端12。
[0069]
其中,第一终端11包括音频采集模块111、立体声编码器112和信道编码器113。第二终端12包括信道解码器121、立体声解码器122和音频回放模块123。
[0070]
基于图1a,在第一终端11中,音频采集模块111用于采集立体声信号,立体声编码器112用于对该立体声信号进行立体声编码。信道编码器113用于对经立体声编码的信号进行信道编码。可选的,经信道编码的信号经第一通信设备13处理后,在数字信道中传输。经第二通信设备14后,传输给第二终端12。其中,第一通信设备13和第二通信设备14中的任一种可以是无线网络通信设备或者有线网络通信设备。
[0071]
基于图1a,在第二终端12中,信道解码器121用于对接收到的信号进行信道解码。
立体声解码器122用于对经信道解码的信号进行立体声解码。音频回放模块123用于对经立体声解码的信号进行回放。
[0072]
图1a中的第一终端11和第一通信设备13是发送侧设备,第二终端12和第二通信设备14是接收侧设备。在一些场景中,第一终端11和第一通信设备13也可以作为接收侧设备,相应的,第二终端12和第二通信设备14作为发送侧设备。该情况下,第一终端11还可以包括信道解码器121、立体声解码器122和音频回放模块123,第二终端12还可以包括音频采集模块111、立体声编码器112和信道编码器113,如图1b所示。各模块的功能可以参考上文,此处不再赘述。
[0073]
在一些实施例中,本技术实施例提供的音频对象的比特分配方法,可以应用于网络设备(包括无线网网络设备或核心网网络设备)的立体声编码器中。示例的,该网络设备可以是无线接入网或核心网中的媒体网关、转码设备、媒体资源服务器等。
[0074]
如图2所示,为本技术实施例提供的技术方案所适用的一种音频系统2的结构示意图。该音频系统2包括:第一网络设备21和第二网络设备22。
[0075]
其中,第一网络设备21包括:第一信道解码器211、其他音频解码器212、立体声编码器213和第一信道编码器214。第二网络设备22包括:第二信道解码器221、立体声解码器222、其他音频编码器223和第二信道解码器224。
[0076]
在第一网络设备21中,第一信道解码器211用于对接收到的信号进行信道解码。其他音频解码器212用于对经信道解码的信号进行转码。立体声编码器213用于对经转码的信号进行立体声编码。第一信道编码器214用于对经立体声编码的信号进行信道编码。
[0077]
在第二网路设备22,第二信道解码器221用于对接收到的信号进行信道解码。立体声解码器222用于对经信道解码的信号进行立体声解码。其他音频编码器223用于对经立体声解码的信号进行转码。第二信道解码器224用于对经转码的信号进行信道编码。
[0078]
需要说明的是,立体声编解码处理可以是多声道编解码器中的一部分。例如,编码端对采集到的多声道信号进行多声道编码,可以包括:编码端将采集到的多声道信号经过下混处理后得到立体声信号,并对该立体声信号进行编码。解码端根据多声道信号解码码流,得到立体声信号,并对该立体声信号进行上混处理后恢复出多声道信号。
[0079]
基于此,本技术实施例提供的音频对象的比特分配方法,还可以应用于终端的多声道编码器中,该多声道编码器所在的音频系统可以参考图3a或图3b。或者,本技术实施例提供的音频对象的比特分配方法,还可以应用于网络设备(包括无线网网络设备或核心网网络设备)的多声道编码器中,该多声道编码器所在的音频系统可以参考图4。
[0080]
如图3a所示,为本技术实施例提供的技术方案所适用的一种音频系统3的结构示意图。其中,图3a是基于图1a进行绘制的,具体是将图1a中的立体声编码器112替换为多声道编码器114,将立体声解码器122替换为多声道解码器124。
[0081]
基于图3a,在第一终端11中,音频采集模块111用于采集多声道信号。多声道编码器114用于对该多声道信号进行多声道编码,其中包括立体声编码。信道编码器113用于对经多声道编码的信号进行信道编码。经信道编码的信号经第一通信设备13处理后,在数字信道中传输。经第二通信设备14后传输给第二终端12。
[0082]
基于图3a,在第二终端12中,信道解码器121用于对接收到的信号进行信道解码。多声道解码器124用于对经信道解码的信号进行多声道解码,其中包括立体声解码。音频回
放模块123用于对经多声道解码的信号进行回放。
[0083]
如图3b所示,为本技术实施例提供的技术方案所适用的另一种音频系统3的结构示意图。图3b是基于图1b和图3a进行绘制的,其相关内容的解释,可以基于图1b和图3a以及上述对图1b和图3a的文字描述推理得到,此处不再赘述。
[0084]
如图4所示,为本技术实施例提供的技术方案所适用的一种音频系统4结构示意图。图4是基于图2进行绘制的,具体是将图2中的立体声编码器213替换为多声道编码器215,将立体声解码器223替换为多声道解码器225。其中,多声道编码器215用于对经其他音频解码器212转码得到的信号进行多声道编码,其中包括立体声编码。第一信道编码器214用于对经多声道编码的信号进行信道编码。多声道解码器225用于对经第二信道解码器221信道解码得到的信号进行多声道解码,其中包括立体声解码。其他音频编码器223用于对经多声道解码的信号进行转码。其他模块/器件的功能可以参考上述对图2中相应模块的功能的描述,此处不再赘述。
[0085]
在一些实施例中,本技术实施例提供的音频对象的比特分配方法,可以应用于虚拟现实(virtual reality,vr)流(streaming)服务中的音频编码器(audio encoding)。该场景下,端到端对音频对象的处理流程包括:音频对象a经过采集模块(acquisition)后进行预处理操作(audio preprocessing),预处理操作可以包括滤除掉信号中的低频部分,通常是以20hz(赫兹)或者50hz为分界点提取信号中的方位信息,之后经音频编码器进行编码处理(audio encoding)打包(file/segment encapsulation)。经编码处理打包的信号被发送(delivery)到解码端。解码端对接收到的信号进行解包(file/segment decapsulation),并经音频解码器进行解码(audio decoding),然后对解码后的信号进行双耳渲染(audio rendering)处理,渲染处理后的信号映射到收听者耳机(headphones)上。该耳机可以是独立的耳机,也可以是htc vive等眼镜设备上的耳机。
[0086]
上述任一种音频系统中的模块/器件均是从逻辑功能的角度进行区分的。上述各模块/器件中的部分或全部可以通过软件实现,也可以通过硬件实现,还可以通过软件结合硬件实现。
[0087]
如图5所示,为本技术实施例提供的一种计算机设备5的硬件结构示意图。该计算机设备5可以用于执行本技术实施例提供的音频对象的比特分配方法。
[0088]
可选的,计算机设备5可以用于实现上述图1a、图1b或图2中立体声编码器的功能,或者用于实现图3a、图3b或图4中多声道编码器的功能。
[0089]
可选的,计算机设备5可以用于实现图1a中第一终端的功能,或者图1b中第一终端或第二终端的功能,或者图2中第一网络设备的功能,或者图3a中第一终端的功能,或者图3b中的第一终端或第二终端的功能,或者图4中第一网络设备的功能。
[0090]
如图5所示,计算机设备5可以包括处理器51、存储器52、通信接口53以及总线54。处理器51、存储器52以及通信接口53之间可以通过总线54连接。
[0091]
处理器51是计算机设备5的控制中心,可以是一个通用中央处理单元(central processing unit,cpu),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
[0092]
作为示例,处理器51可以包括一个或多个cpu,例如图5中所示的cpu0和cpu1。
[0093]
存储器52可以是只读存储器(read-only memory,rom)或可存储静态信息和指令
的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0094]
一种可能的实现方式中,存储器52可以独立于处理器51存在。存储器52可以通过总线54与处理器51相连接,用于存储数据、指令或者程序代码。处理器51调用并执行存储器52中存储的指令或程序代码时,能够实现本技术实施例提供的音频对象的比特分配方法。
[0095]
另一种可能的实现方式中,存储器52也可以和处理器51集成在一起。
[0096]
通信接口53,用于计算机设备5与其他设备通过通信网络连接,所述通信网络可以是以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。通信接口53可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
[0097]
总线54,可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0098]
需要指出的是,图5中示出的结构并不构成对计算机设备的限定,除图5所示部件之外,计算机设备5可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0099]
以下,结合附图对本技术实施例提供的音频对象的比特分配方法进行说明。该方法可以应用于编码器,示例的,该编码器可以是图1a、图1b或图2中的立体声编码器,也可以图3a、图3b或图4中的多声道编码器,还可以是vr streaming服务中的音频编码器。
[0100]
如图6所示,为本技术实施例提供的一种音频对象的比特分配方法的流程示意图。图6所示的方法可以包括以下步骤:
[0101]
s101:编码器对待编码音频帧中的多个待预渲染音频对象分别进行预渲染,以得到多个预渲染音频对象(prerendering object audio)。其中,待预渲染音频对象与预渲染音频对象一一对应。
[0102]
待编码音频帧可以是任意一帧具有编码需求的三维音频帧。为了区分预渲染前的音频对象和预渲染后的音频对象,本技术实施例中,将预渲染前的音频对象称为待预渲染音频对象,将预渲染后的音频对象称为预渲染音频对象。待编码音频帧包括的待预渲染音频对象的个数可以是预定义的。s101中“多个待预渲染音频对象”可以是待编码音频帧包括的部分或全部音频对象。可以理解的是,如果该多个待预渲染音频对象是待编码音频帧包括的部分音频对象,则另一部分音频对象的比特分配方法可以参考现有技术。
[0103]
本技术实施例对预渲染的具体实现方式不进行限定。例如,预渲染方法可以是实际渲染音频对象时所使用的方法,如基于头相关变换函数(head related transfer function,hrtf)的方法等,也可以是能够得到具有与实际渲染音频对象的结果具有相似特征的一种低复杂度的渲染方法。
[0104]
可选的,预渲染时所使用的元数据信息与实际渲染时所使用的元数据信息一致(即相同或相差不大)。这样,有助于使得编码器后续获得的多个预渲染音频对象的感知重要性参数值,更接近解码器实际渲染获得的多个音频对象的感知重要性参数值,从而有助于使得使用该技术方案进行比特分配后,提高重建音频对象的整体质量和编码效率。
[0105]
s102:编码器获取该多个预渲染音频对象各自的感知重要性参数值。
[0106]
当前预渲染音频对象的感知重要性参数值,用于指示当前预渲染音频对象在该多个预渲染音频对象中的感知重要性程度。其中,感知重要性程度可以包括:能量强弱程度和/或频谱变化程度。当前预渲染音频对象可以是该多个预渲染音频对象中的任意一个预渲染对象。
[0107]
当前预渲染音频对象的感知重要性参数,可以包括:用于指示一段时间内,当前预渲染音频对象在该多个预渲染音频对象中的能量强弱程度的参数和/或频谱变化程度的参数。
[0108]
其中,感知重要性程度可以通过一个感知重要性参数来度量,也可以通过多个感知重要性参数的组合来度量。
[0109]
本技术实施例对感知重要性参数具体是何种参数不进行限定。例如,感知重要性参数的可以包含以下参数1)-3)中的一种或多种:
[0110]
1)、能量重要性参数。其中,当前预渲染音频对象的能量重要性参数,是基于当前预渲染音频对象的能量计算得到的,用于指示当前预渲染音频对象的能量在该多个预渲染音频对象各自的能量之和之间的比值。可选的,当前预渲染音频对象的能量重要性参数可以是该比值,或者是根据该比值根据预设算法映射获得的值。例如,可以预设不同的比值对应的映射值,例如可以将位于[0.8,0.9]这个区间的能量重要性参数的值映射为0.85或0.8等等。盎然也可以采用其他的映射方式,具体的映射方式本发明实施例不做限定。
[0111]
2)、感知强度重要性参数。其中,当前预渲染音频对象的感知强度重要性参数,是结合人耳听觉曲线和当前预渲染音频对象的能量计算得到的,用于指示当前预渲染音频对象的多个频带中能量最大的预设数量个频带的能量之和与该多个预渲染音频对象各自的多个频带中能量最大的预设数量个频带的能量之和之间的比值。可选的,当前预渲染音频对象的感知强度重要性参数可以是该比值,或者是根据该比值映射获得的值。具体的映射方式可以参考能量重要性参数部分描述的方式。
[0112]
其中,多个频带中能量最大的预设数量个频带,可以是:按照能量从大到小的顺序对该多个频带进行排序后得到的序列中的前预设数量个频带,或者是:按照能量从小到大的顺序对该多个频带进行排序后得到的序列中的后预设数量个频带。
[0113]
3)、频谱平坦度参数。其中,当前预渲染音频对象的频谱平坦度参数用于指示当前预渲染音频对象在该多个预渲染音频对象中的频谱平坦度。
[0114]
可选的,当前预渲染音频对象的感知重要性参数值,可以基于该多个预渲染音频对象的特征得到,或者可以基于经过整形的该多个预渲染音频对象的特征得到。其中,该特征可以是时域特征,也可以是频域特征,还可以是时域特征与频域特征的结合。下文中均以基于该多个预渲染音频对象的特征得到为例进行说明的。
[0115]
以下,示例性说明能量重要性参数、感知强度重要性参数和频谱平坦度参数的获取方式:
[0116]
1)、能量重要性参数
[0117]
可选的,当前预渲染音频对象的能量重要性参数值可以包括:当前预渲染音频对象的能量值在该多个预渲染音频对象各自的能量值之和之间的比值,或者根据当前预渲染音频对象的能量值在多个预渲染音频对象各自的能量值之和之间的比值确定的参数值。其中,该参数值可以认为是对该比值进行处理(例如映射)后获得的值,本技术实施例对具体的处理方式不进行限定。
[0118]
示例的,第i个预渲染音频对象的能量重要性参数值e_impi满足如下公式1:
[0119][0120]
其中,ei表示第i个预渲染音频对象的能量值。1≤i≤n,n表示s102中的预渲染音频对象的个数。表示n个预渲染音频对象的总能量值。e_impi∈[0,1]。
[0121]
2)、感知强度重要性参数
[0122]
可选的,当前预渲染音频对象的感知强度重要性参数值可以基于当前预渲染音频对象的部分或全部频带的频带感知强度参数值获得。一个频带的频带感知强度参数值是结合人耳听觉曲线和该频带的能量计算得到的,用于指示该频带在当前预渲染音频对象中的能量强弱。
[0123]
示例的,第i个预渲染音频对象的感知强度重要性参数值intensity_impi可以通过如下步骤获得:
[0124]
a)、编码器计算第i个预渲染音频对象的每个频带的频带感知强度参数值。
[0125]
具体的:编码器将第i个预渲染音频对象的频域资源划分为多个频带,然后,获取该多个频带各自的频带感知强度参数值。本技术实施例对如何划分频带不进行限定。示例的,该多个频带中的频带b的频带感知强度参数值pi(b)满足如下公式2:
[0126]
公式2:pi(b)=ei(b)-t(b)。
[0127]
其中,ei(b)表示第i个预渲染音频对象的频带b的能量值,t(b)是根据人耳听觉曲线在该频带b计算出的一个常数因子,其取值可以根据实验经验总结得来。例如:其中,bf表示该频带b的中心频点对应的中心频率值。
[0128]
基于公式2,编码器可以获得第i个预渲染音频对象的每个频带的频带感知强度参数值。
[0129]
b)、编码器按照从大到小的顺序对a)中获得的每个频带的频带感知强度参数值进行排序,得到公式3所示集合pi(b):
[0130]
公式3:pi(b)≡{pi(b1),pi(b2),...,pi(b
l
)}。
[0131]
其中,pi(b)表示第i个预渲染音频对象排序后的频带感知强度参数值的集合,l表示第i个预渲染音频对象被划分的频带个数。
[0132]
c)、编码器根据集合pi(b),获得第i个预渲染音频对象的感知强度重要性参数值。
[0133]
示例性的,编码器取集合pi(b)中的前l个值,该l个值和intensity_impi满足如下公式4:
[0134][0135]
其中,l≤l,intensity_impi∈[0,1]。
[0136]
3)、频谱平坦度参数
[0137]
示例的,第i个预渲染音频对象的频谱平坦度参数值flatness_impi满足如下公式5:
[0138]
公式5:
[0139]
其中,ri(k)=ei(k)/ei,ei(k)表示第i个预渲染音频对象的第k个频带的能量值,b是第i个预渲染音频对象的频带个数。flatness_impi∈[0,1]。
[0140]
s103:编码器基于该多个预渲染音频对象各自的感知重要性参数值,获取该多个待预渲染音频对象各自的比特分配参数值。
[0141]
当前待预渲染音频对象的比特分配参数,用于指示为当前待预渲染音频对象分配的目标比特数。当前待预渲染音频对象可以是该多个待渲染音频对象中的任意一个待预渲染音频对象。也就是说,编码器可以按照获取当前待预渲染音频对象的比特分配参数值的方式,获取该多个待渲染音频对象中的每个待预渲染音频对象各自的比特分配参数值。
[0142]
可选的,当前预渲染音频对象的感知重要性参数值与当前待预渲染音频对象的比特分配参数值之间满足某种预定义规则,该规则可以用函数来表征,也可以不用函数来表征。其中,当前待预渲染音频对象经预渲染后得到当前预渲染音频对象。编码器可以基于该规则,以及当前预渲染音频对象的感知重要性参数值,确定当前待预渲染音频对象的比特分配参数值。
[0143]
以下,以该规则用函数来表征为例,对获取第i个待预渲染音频对象的比特分配参数值进行说明:
[0144]
在一些实现方式中,当第i个预渲染音频对象的感知重要性参数包括多个时,编码器可以在计算第i个待预渲染音频对象的比特分配参数值的过程中引入参数important_pi,参数important_pi用于指示第i个预渲染音频对象在n个待预渲染音频对象中的总体上的感知重要性程度。作为对比,第i个预渲染音频对象的不同感知重要性参数值用于表征指示第i个预渲染音频对象在n个待预渲染音频对象中的在不同角度的感知重要性程度。
[0145]
可选的,important_pi的取值可以由该多个感知重要性参数值通过一定的运算获得,例如important_pi的取值可以满足如下公式6:
[0146]
公式6:important_pi=f(parm_p
i_1
,parm_p
i_2
,

,parm_p
i_m
)。
[0147]
其中,parm_p
i_j
表示第i个预渲染音频对象的第j个感知重要性参数值。1≤j≤m,m是第i个预渲染音频对象的感知重要性参数的个数。
[0148]
可选的,公式6所表示的函数关系可以是线性的,也可以是非线性的。
[0149]
当感知重要性参数包括能量重要性参数、感知强度重要性参数和频谱平坦度参数
时,上述公式6具体可以表示为如下公式7:
[0150]
公式7:important_pi=f(e_impi,intensity_impi,flatness_impi)。
[0151]
可选的,公式7所表示的函数关系可以是线性的,也可以是非线性的。
[0152]
示例的,上述公式7具体可以表示为以下公式8:
[0153]
公式8:important_pi=a1·eimpi
+a2·
intensity
impi
+a3·
flatness
impi

[0154]
其中,a1、a2和a3是常数,其取值可以通过实验经验得到。
[0155]
可选的,a1、a2和a3满足如下公式9:
[0156]
公式9:a1+a2+a3=1,a1,a2,a3∈[0,1]。
[0157]
可选的,第i个待预渲染音频对象的比特分配参数值important_biti满足如下公式10:
[0158]
公式10:important_biti=f(important_pi)。
[0159]
可选的,公式10所表示的函数关系可以是线性的,也可以是非线性的。
[0160]
可选的,当前待预渲染音频对象的比特分配参数值,可以包括:第一比值,或根据第一比值确定的参数值。其中,第一比值,是当前预渲染音频对象的感知重要性参数值与该多个预渲染音频对象各自的感知重要性参数值之和之间的比值。
[0161]
具体的,s103可以包括:编码器首先将当前预渲染音频对象的感知重要性参数值与该多个预渲染音频对象各自的感知重要性参数值之和之间的比值作为第一比值;然后,将第一比值作为当前待预渲染音频对象的比特分配参数值,或者,根据第一比值确定参数值,并将该参数值作为当前待预渲染音频对象的比特分配参数值。其中,该参数值可以认为是对第一比值进行处理后获得的值,本技术实施例对具体的处理方式不进行限定。
[0162]
示例的,公式10可以进一步表示为以下公式11:
[0163][0164]
由此可知,在该示例中,important_biti∈[0,1]。
[0165]
在另一些实现方式中,编码器在获得第i个待预渲染音频对象的比特分配参数值important_biti的过程中可以不引入参数important_pi。例如,上述公式10可以替换为如下公式12:
[0166]
公式12:important_biti=f(parm_p
i_1
,parm_p
i_2
,

,parm_p
i_m
)。
[0167]
可选的,公式12所表示的函数关系可以是线性的,也可以是非线性的。
[0168]
当感知重要性参数包括能量重要性参数、感知强度重要性参数和频谱平坦度参数时,上述公式12具体可以表示为如下公式13:
[0169]
公式13:important_biti=f(e_impi,intensity_impi,flatness_impi)。
[0170]
公式13的具体体现形式,本技术实施例不作限制。
[0171]
s104:编码器获取该多个待预渲染音频对象对应的待分配总比特数。
[0172]
其中,待分配总比特数是为该多个待预渲染音频对象分配的总比特数。该待分配总比特数是编码器预先获知的,具体实现方式可以参考现有技术。对于编码器是如何预先获知的,本技术实施例不进行限定,例如可以是用户指示的,或者是预定义的等。
[0173]
s105:编码器基于待分配总比特数和该多个待预渲染音频对象各自的比特分配参数值,确定为该多个待预渲染音频对象分别分配的目标比特数。
[0174]
具体的,编码器基于待分配总比特数和当前待预渲染音频对象的比特分配参数值,确定为当前待预渲染音频对象分配的目标比特数。
[0175]
在一些实现方式中,为当前待预渲染音频对象分配的目标比特数与待分配总比特数的比值等于第三比值,或等于根据第三比值确定的参数值。第三比值是当前待预渲染音频对象的比特分配参数值与该多个待预渲染音频对象各自的比特分配参数值之和之间的比值。该参数值可以认为是对第三比值进行处理后获得的值,本技术实施例对具体的处理方式不进行限定。
[0176]
具体的,编码器首先将当前待预渲染音频对象的比特分配参数值与该多个待预渲染音频对象各自的比特分配参数值之和之间的比值作为第三比值;然后,将第三比值与待分配总比特数的乘积作为为当前待预渲染音频对象分配的目标比特数,或者根据第三比值获取参数值,并将该参数值与待分配总比特数的乘积作为为当前待预渲染音频对象分配的目标比特数。其中,该参数值可以是编码器对第三比值进行处理后得到的值,本技术实施例对处理方式不进行限定。
[0177]
例如,如果“为当前待预渲染音频对象分配的目标比特数与待分配总比特数的比值等于第三比值”,则为当前待预渲染音频对象分配的目标比特数,可以由当前待预渲染音频对象的比特分配参数值与待分配总比特数的乘积确定。
[0178]
示例的,以当前待预渲染音频对象是第i个待预渲染音频对象为例,为第i个待预渲染音频对象分配的目标比特数bits_objecti可以通过如下公式14获得:
[0179]
公式14:bits_objecti=important_biti*bits_available。
[0180]
其中,bits_available表示待分配总比特数。
[0181]
在另一些实现方式中,如图7所示,s105可以包括以下s105a-s105b:
[0182]
s105a:编码器基于多个比特分配参数值与多个优先级级别之间的对应关系,和该多个待预渲染音频对象各自的比特分配参数值,确定该多个待预渲染音频对象各自的优先级级别。
[0183]
具体包括:编码器基于多个比特分配参数值与多个优先级级别之间的对应关系,以及当前待预渲染音频对象的比特分配参数值,确定当前待预渲染音频对象的优先级级别。
[0184]
在一种实现方式中,编码器基于多个比特分配参数值所在区间与多个优先级级别之间的对应关系,以及该多个待预渲染音频对象各自的比特分配参数值,确定该多个待预渲染音频对象各自的优先级级别。
[0185]
具体包括:编码器基于多个比特分配参数值所在区间与多个优先级级别之间的对应关系,和当前待预渲染音频对象的比特分配参数值,确定当前待预渲染音频对象的优先级级别。
[0186]
其中,多个比特分配参数值所在的区间与多个优先级级别之间的对应关系可以是预定义的。本技术实施例对优先级级别具有包括几个级别,以及每个优先级级别对应的比特分配参数值所在的区间均不进行限定,具体可以根据实际需求而定。
[0187]
可选的,越高的优先级级别对应越多的目标比特数。例如,如表1所示,为多个比特分配参数值所在的区间与多个优先级级别之间的对应关系的一个示例。
[0188]
表1
[0189]
比特分配参数值所在的区间优先级级别[0.9,1]10[0.8,0.9)9[0.7,0.8)8[0.6,0.7)7[0.5,0.6)6[0.4,0.5)5[0.3,0.4)4[0.2,0.3)3[0.1,0.2)2[0,0.1)1
[0190]
可选的,越高的优先级级别对应越少的目标比特数。例如,表1中的优先级级别10-1可以替换为优先级1-10。
[0191]
该实现方式中,属于同一区间的不同比特分配参数值对应同一优先级级别数。
[0192]
在另一种实现方式中,编码器基于某种处理方式如收尾、去尾、四舍五入等中的一种或多种,将该多个待预渲染音频对象各自的比特分配参数值近似成相应的预设值;然后,基于多个预设值与多个优先级级别之间的对应关系,确定该多个待预渲染音频对象各自的优先级级别。
[0193]
具体包括:编码器将当前待预渲染音频对象的比特分配参数值近似成某个预设值;然后,基于多个预设值与多个优先级级别之间的对应关系,确定当前待预渲染音频对象优先级级别。
[0194]
该实现方式中,对应于同一预设值的不同比特分配参数值可以对应同一优先级级别。
[0195]
s105b:编码器基于待分配总比特数和该多个待预渲染音频对象各自的优先级级别,确定为该多个待预渲染音频对象分别分配的目标比特数。
[0196]
具体的,编码器基于待分配总比特数和该多个待预渲染音频对象各自的优先级级别,确定为当前待预渲染音频对象分配的目标比特数。
[0197]
可选的,为当前待预渲染音频对象分配的目标比特数与待分配总比特数的比值等于第四比值,或等于根据第四比值确定的参数值。第四比值是当前待预渲染音频对象的优先级级别与该多个待预渲染音频对象各自的优先级级别之和之间的比值。其中,该参数值可以认为是对第四比值进行处理后获得的值,本技术实施例对具体的处理方式不进行限定。
[0198]
具体的,编码器首先将当前待预渲染音频对象的优先级级别与该多个待预渲染音频对象各自的优先级级别之和之间的比值作为第四比值;然后,将第四比值与待分配总比特数的乘积作为为当前待预渲染音频对象分配的目标比特数,或者,根据第四比值确定参数值,并将该参数值与待分配总比特数的乘积作为为当前待预渲染音频对象分配的目标比特数。
[0199]
例如,假设该多个待预渲染音频对象是待预渲染音频对象1-3,待预渲染音频对象1-3的比特分配参数值分别为0.6、0.25和0.15,则基于表1可知,待预渲染音频对象1-3的优
先级级别分别为7、3、2,且这3个待预渲染音频对象对应的待分配总比特数是bits_available,那么:为待预渲染音频对象1-3分配的目标比特数在bits_available中的占比分别为:由此可知,为待预渲染音频对象1-3分配的目标比特数分别为:
[0200]
本实施例提供的音频对象的比特分配方法,在为待预渲染音频对象分配比特数时,考虑了不同预渲染音频对象在渲染回放端的感知特性的差异。相比传统技术中使用相同比特数编码不同音频对象的技术方案,有助于提高重建音频对象的整体质量。例如,一个预渲染音频对象的感知重要性参数值指示的感知重要性程度越高,编码器可以为该预渲染音频对象对应的待预渲染音频对象(即该预渲染音频对象在预渲染前的音频对象)分配越多比特数,该比特数可以用于编码该待预渲染音频对象。此时,解码器重建的音频对象的质量会越高。这样,有助于提高重建包含多个音频对象的音频帧的整体质量。同时,能够提高编码效率。
[0201]
如图8所示,为本技术实施例提供的另一种音频对象的比特分配方法的流程示意图。本实施例中相关术语的解释可以参考图6所示的实施例。图8所示的方法可以包括以下步骤:
[0202]
s201:编码器获取待编码音频帧中的多个待预渲染音频对象各自的内容重要性参数值。
[0203]
当前待预渲染音频对象的内容重要性参数值,用于指示当前待预渲染音频对象的内容所表征的声音类型在该多个待预渲染音频对象的内容所表征的声音类型中的重要性程度。
[0204]
需要说明的是,当前音频对象在预渲染前和预渲染后,各自内容所表征的声音类型不变,因此,当前待预渲染音频对象的内容重要性参数,等价于:当前预渲染音频对象的内容重要性参数。其中,当前预渲染音频对象的内容重要性参数值,用于指示当前预渲染音频对象的内容所表征的声音类型在该多个预渲染音频对象的内容所表征的声音类型中的重要性程度。
[0205]
可选的,声音类型可以包括以下至少一种:语音、音乐、音效、环境音、噪声等。当然,实际实现时,声音类型可以有其他划分方式。
[0206]
其中,哪种类型的声音的重要性程度较高,哪种类型的声音的重要性程度较低,是相对而言的,本技术实施例对其确定方式不进行限定,具体可以基于实际需求而定。示例的,可以定义:声音类型的重要性程度由高到低依次为:语音、音乐、音效、环境音、噪声。
[0207]
当前待预渲染音频对象的内容重要性参数值可以从待编码音频帧的元数据中获得,或者从当前待预渲染音频对象的特征中获得,或者从当前待预渲染音频对象整形后得到的音频对象的特征中获得。
[0208]
在一些实现方式中,从待编码音频帧的元数据中获得的该多个待预渲染音频对象各自的内容重要性参数值,可以表示为如下公式15:
[0209]
公式15:important_c≡{i_c1,i_c2,

,i_cn}。
[0210]
其中,{i_c1,i_c2,

,i_cn}是从待编码音频帧的元数据中获得n个待预渲染音频对象中的内容重要性参数值,且均为常数。示例的,{i_c1,i_c2,

,i_cn}中的每个值均属于(0,1]。
[0211]
在另一些实现方式中,如图9所示,假设预定义声音类型的重要性程度由高到低依次为:语音、音乐、音效、环境音、噪声,则编码器可以利用一种已知的音频分类器,得到该多个待预渲染音频对象各自的内容所表征的声音类型是语音的置信度得分,即得到该多个待预渲染音频对象对应的多个置信度得分,其中,一个待预渲染音频对象对应一个置信度得分。然后,对于每个待预渲染音频对象,编码器根据该待预渲染音频对象对应的置信度得分与内容重要性参数值之间的对应关系,计算该待预渲染音频对象的内容重要性参数值。
[0212]
可以理解的是,该实现方式可以概括为:通过一个待预渲染音频对象的内容所表征的声音类型是语音的置信度得分,来区分(或反映)该待预渲染音频对象的内容所表征的声音是语音、音乐、音效、环境音还是噪声等,从而确定待预渲该音频对象的内容重要性参数值。
[0213]
例如,第i个待预渲染音频对象的内容重要性参数值important_ci可以满足如下公式16:
[0214][0215]
其中,p_ci表示第i个待预渲染音频对象是语音的置信度得分,p_ci∈(0,1]。a和b是常数因子,用于使important_ci∈(0,1]。
[0216]
s202:编码器基于该多个待预渲染音频对象各自的内容重要性参数值,获得该多个待预渲染音频对象各自的比特分配参数值。
[0217]
示例的,第i个待预渲染音频对象的比特分配参数值important_biti满足如下公式17:
[0218]
公式17:important_biti=f(important_ci)。
[0219]
可选的,公式17所表示的函数关系可以是线性的,也可以是非线性的。
[0220]
可选的,当前待预渲染音频对象的比特分配参数值包括一个比值,或根据一个比值确定的参数值。其中,该比值是当前预渲染音频对象的感知重要性参数值与该多个预渲染音频对象各自的感知重要性参数值之和之间的比值。其中,该参数值可以认为是对该比值进行处理后得到的值,本技术实施例对具体的处理方式不进行限定。
[0221]
示例的,公式17可以进一步表示为以下公式18:
[0222][0223]
由此可知,在该示例中,important_biti∈[0,1]。
[0224]
s203:编码器获取该多个待预渲染音频对象对应的待分配总比特数。
[0225]
其中,s203的相关解释及示例可以参考上述s104,此处不再赘述。
[0226]
s204:编码器基于待分配总比特数和该多个待预渲染音频对象各自的比特分配参数值,确定为该多个待预渲染音频对象分别分配的目标比特数。
[0227]
其中,s204的相关解释及示例可以参考上述s105,此处不再赘述。
[0228]
本实施例提供的音频对象的比特分配方法,在为待预渲染音频对象分配的比特数时,考虑了不同待预渲染音频对象的内容特征的差异。相比传统技术中使用相同比特数编码不同音频对象的技术方案,有助于提高重建音频对象的整体质量。例如,一个待预渲染音频对象的内容重要性参数指示的内容重要性程度越高,编码器可以为该待预渲染音频对象分配越多比特数,该比特数可以用于编码。此时,解码器重建的音频对象的质量会越高。这样,有助于提高重建包含多个音频对象的音频帧的整体质量。同时,能够提高编码效率。
[0229]
如图10所示,为本技术实施例提供的另一种音频对象的比特分配方法的流程示意图。本实施例中相关内容的解释可以参考图6和图8所示的实施例。图10所示的方法可以包括以下步骤:
[0230]
s301:编码器对待编码音频帧中的多个待预渲染音频对象分别进行预渲染,以得到多个预渲染音频对象。音频对象与预渲染音频对象一一对应。
[0231]
s302:编码器获取该多个预渲染音频对象各自的感知重要性参数值。
[0232]
其中,s301-s302的相关解释及示例可以参考上述s101-s102,此处不再赘述。
[0233]
s303:编码器获取该多个待预渲染音频对象各自的内容重要性参数值。
[0234]
其中,s303的相关解释及示例可以参考上述s201。
[0235]
本技术实施例不限定s301-s302和s303的执行顺序,例如,可以先执行s301-s302再执行s303,也可以先执行s303再执行s301-s302,还可以同时执行s301-s302和s303。
[0236]
s304:编码器基于该多个预渲染音频对象各自的感知重要性参数值和该多个待预渲染音频对象各自的内容重要性参数值,获得该多个待预渲染音频对象各自的比特分配参数值。
[0237]
具体的,编码器基于当前预渲染音频对象的感知重要性参数值和当前待预渲染音频对象的内容重要性参数值,获得当前待预渲染音频对象的比特分配参数值。
[0238]
示例的,第i个待预渲染音频对象的比特分配参数值important_biti满足如下公式17:
[0239]
公式19:important_biti=f(important_pi,important_ci)。
[0240]
可选的,公式19所表示的函数关系可以是线性的,也可以是非线性的。
[0241]
可选的,当前待预渲染音频对象的比特分配参数值包括第二比值,或根据第二比值确定的参数值。第二比值,是当前待预渲染音频对象的第一值与该多个待预渲染音频对象各自的第一值之和之间的比值。其中,该参数值可以认为是对第二比值进行处理后得到的值,本技术实施例对具体处理方式不进行限定。当前待预渲染音频对象的第一值是当前待预渲染音频对象的内容重要性参数值与当前预渲染音频对象的感知重要性参数值的积;或者,当前待预渲染音频对象的第一值是根据“当前待预渲染音频对象的内容重要性参数值与当前预渲染音频对象的感知重要性参数值的积”确定的参数值。其中,该参数值可以认为是对该积进行处理后得到的值,本技术实施例对具体处理方式不进行限定。
[0242]
具体的,s304可以包括:编码器首先将当前待预渲染音频对象的第一值与该多个待预渲染音频对象各自的第一值之和之间的比值作为第二比值;然后,将第二比值作为当前待预渲染音频对象的比特分配参数值,或者,根据第二比值确定参数值,并将该参数值作为当前待预渲染音频对象的比特分配参数值。
[0243]
示例的,公式19可以进一步表示为以下公式20:
[0244][0245]
由此可知,在该示例中,important_biti∈[0,1]。
[0246]
s305:编码器获取该多个待预渲染音频对象对应的待分配总比特数。
[0247]
其中,s305的相关解释及示例可以参考上述s104,此处不再赘述。
[0248]
s306:编码器基于待分配总比特数和该多个待预渲染音频对象各自的比特分配参数值,确定为该多个待预渲染音频对象分别分配的目标比特数。
[0249]
其中,s306的相关解释及示例可以参考上述s105,此处不再赘述。
[0250]
本实施例提供的音频对象的比特分配方法,在为预渲染音频对象分配比特数时,考虑了不同预渲染音频对象在渲染回放端的感知特性的差异,以及不同待预渲染音频对象的内容之间的差异,相比传统技术中使用相同比特数编码不同音频对象的技术方案,有助于提高重建音频对象的整体质量。同时,能够提高编码效率。
[0251]
如图11所示,为本技术实施例提供的另一种音频对象的比特分配方法的流程示意图。图11所示的方法可以包括以下步骤:
[0252]
s401:编码器获取为待编码音频帧的多个待预渲染音频对象分别分配的初始比特数,以及该多个待预渲染音频对象各自的比特分配参数值。
[0253]
示例的,编码器获取的为多个待预渲染音频对象分别分配的初始比特数之间的关系可以表示为如下公式21:
[0254]
公式21:bit1+bit2+...+bitn=bits_available。
[0255]
其中,bit1、bit2、...、bitn分别表示使用某种已知的方法获得的为n个待预渲染音频对象中的第1个、第2个、
……
、第n个待预渲染音频对象分配的初始比特数。bits_available待分配总比特数。
[0256]
本技术实施例对编码器如何获取为该多个待预渲染音频对象分别分配的初始比特数不进行限定。例如,编码器可以为该多个待预渲染音频对象均分待分配总比特数,以得到该多个待预渲染对象各自对应的初始比特数。再如,编码器可以基于该多个待预渲染音频对象各自的能量,确定为该多个待预渲染音频对象分别分配的初始比特数。又如,为该多个待预渲染音频对象分别分配的初始比特数可以是预定义的。
[0257]
可选的,s401中的比特分配参数值的相关解释是图6、图8或图10所示的实施例中的比特分配参数值的相关解释,此处不再赘述。
[0258]
另外,编码器可以基于该多个待预渲染音频对象各自的内容重要性参数值,获取为该多个待预渲染音频对象分别分配的初始比特数,该情况下,编码器可以使用图8或图10所示的实施例中的方法获取该多个待预渲染音频对象各自的比特分配参数值。
[0259]
s402:编码器基于为该多个待预渲染音频对象分别分配的初始比特数,对该多个待预渲染音频对象各自的比特分配参数值分别进行调整,得到该多个待预渲染音频对象各自调整后的比特分配参数值。
[0260]
具体包括,编码器基于为当前待预渲染音频对象分别分配的初始比特数,对当前待预渲染音频对象的比特分配参数值进行调整,得到当前待预渲染音频对象各自调整后的比特分配参数值。
[0261]
可选的,第i个待预渲染音频对象调制后的比特分配参数值adjusti、第i个待预渲染音频对象的比特分配参数值adjust_infoi和为第i个待预渲染音频对象分配的初始比特数biti之间可以满足如下公式22:
[0262]
公式22:adjusti=f(adjust_infoi,biti)。
[0263]
也就是说,adjusti由adjust_infoi和biti通过函数关系得到。该函数关系可以是线性的,也可以是非线性的。
[0264]
进一步可选的,当前待预渲染音频对象的调整后的比特分配参数值包括:第五比值或根据第五比值确定的参数值。第五比值,是当前待预渲染音频对象的第二值与该多个待预渲染音频对象各自的第二值之和之间的比值。该参数值可以认为是对第五比值进行处理后获得的值,本技术实施例对具体的处理方式不进行限定。当前待预渲染音频对象的第二值是为当前待预渲染音频对象分配的初始比特数与当前待预渲染音频对象的比特分配参数值之积,或者是根据“为当前待预渲染音频对象分配的初始比特数与当前待预渲染音频对象的比特分配参数值之积”确定的参数值。该参数值可以认为是对该积进行处理后获得的值,本技术实施例对具体的处理方式不进行限定。
[0265]
具体的,编码器首先将当前待预渲染音频对象的第二值与该多个待预渲染音频对象各自的第二值之和之间的比值作为第五比值;然后,将第五比值作为当前待预渲染音频对象的调整后的比特分配参数值,或者,根据第五比值确定参数值,并将该参数值作为当前待预渲染音频对象的调整后的比特分配参数值。
[0266]
示例的,公式22可以进一步表示为以下公式23:
[0267][0268]
s403:编码器获取编码该多个待预渲染音频对象对应的待分配总比特数。
[0269]
其中,s403的相关解释及示例可以参考上述s104,此处不再赘述。
[0270]
s404:编码器基于待分配总比特数和该多个待预渲染音频对象各自调整后的比特分配参数值,确定为该多个待预渲染音频对象分别分配的目标比特数。
[0271]
可选的,为当前待预渲染音频对象分配的目标比特数与待分配总比特数的比值,等于当前待预渲染音频对象的调整后的比特分配参数值,或等于根据当前待预渲染音频对象的调整后的比特分配参数值确定的参数值。其中,该参数值可以认为是对当前待预渲染音频对象的调整后的比特分配参数值进行处理后获得的值,本技术实施例对具体的处理方式不进行限定。
[0272]
示例的,为第i个待预渲染音频对象分配的目标比特数adjust_biti满足如下公式24:
[0273]
公式24:adjust_biti=adjusti·
bits_available。
[0274]
可选的,s501中所获取的该多个待预渲染音频对象各自的比特分配参数值是基于感知重要性参数值确定的。基于此,上述公式22具体可以表示为如下公式25:
[0275]
公式25:adjusti=f(important_pi,biti)。
[0276]
上述公式23具体可以表示为如下公式26:
[0277][0278]
本实施例提供的音频对象的比特分配方法,基于为多个待预渲染音频对象分别分配的初始比特数,对该多个待预渲染音频对象各自的比特分配参数值分别进行调整,并基于该多个待预渲染音频对象各自调整后的比特分配参数值,确定为该多个待预渲染音频对象分别分配的目标比特数。这样,有助于进一步提高重建音频对象的整体质量。同时,提高编码效率。
[0279]
需要说明的是,在不冲突的情况下,上述任意多个实施例中的部分或全部特征可以结合,从而构成新的实施例。
[0280]
可选的,基于上文提供的任意一个实施例提供的音频对象的比特分配方法,编码器还可以向解码器发送为该多个待预渲染音频对象分别分配的目标比特数之间的比例信息。其中,该比例信息用于解码器重建该多个待预渲染音频对象。
[0281]
本技术实施例对该比例信息的具体实现方式不进行限定。例如,该比例信息可以是为该多个待预渲染音频对象分别分配的目标比特数之间的比例。又如,该比例信息可以是为该多个待预渲染音频对象分别分配的目标比特数。
[0282]
解码器接收到该比例信息之后,可以依据该多个待预渲染音频对象对应的待分配总比特数,以及该比例信息,确定该多个待预渲染音频对象对应的比特流(即该多个待预渲染音频对象编码后得到的比特流)中哪些比特是针对哪个待预渲染音频对象的,从而进一步利用针对特定待预渲染音频对象的比特,重建该特定待预渲染音频对象。
[0283]
例如,假设编码器向解码器发送的该多个待预渲染音频对象对应的比特流包含100比特,待编码音频帧包含待预渲染音频对象1-3,编码器向解码器发送的比例信息为3:3:4,“3:3:4”表示为待预渲染音频对象1-3分别分配的目标比特数之间的比例,那么,解码器基于该100比特和“3:3:4”,可以确定该100比特(分别标记为比特1-100)中的比特1-30、比特31-60、比特61-100,依次分别是为待预渲染音频对象1-3分配的比特。然后,使用比特1-30重建待预渲染音频对象1,使用比特31-60重建待预渲染音频对象2,使用比特61-100重建待预渲染音频对象3。重建过程可以参考现有技术,此处不再赘述。
[0284]
上述主要从方法的角度对本技术实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0285]
本技术实施例可以根据上述方法示例对音频对象的比特分配装置(如编码器或编码设备)进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0286]
如图12所示,图12示出了本技术实施例提供的一种音频对象的比特分配装置120
的结构示意图。该音频对象的比特分配装置120用于执行上述音频对象的比特分配方法,例如,执行图6、图8、图10或图11所示的音频对象的比特分配方法。示例的,音频对象的比特分配装置120包括:预渲染模块1201、获取模块1202和确定模块1203。
[0287]
预渲染模块1201,用于对待编码音频帧中的多个待预渲染音频对象分别进行预渲染,以得到多个预渲染音频对象。获取模块1202,用于获取该多个预渲染音频对象各自的感知重要性参数值;其中,该多个预渲染音频对象中的当前预渲染音频对象的感知重要性参数值用于指示当前预渲染音频对象在该多个预渲染音频对象中的感知重要性程度;基于该多个预渲染音频对象各自的感知重要性参数值,获取该待预渲染音频对象中当前待预渲染音频对象的比特分配参数值。确定模块1203,用于基于当前待预渲染音频对象的比特分配参数值和该多个待预渲染音频对象对应的待分配总比特数,确定为当前待预渲染音频对象分配的目标比特数。
[0288]
例如,结合图6,预渲染模块1201可以用于执行s101,获取模块1202可以用于执行s102-s104,确定模块1203可以用于执行s105。
[0289]
可选的,感知重要性程度包括能量强弱程度和频谱变化程度中的至少一种。
[0290]
可选的,感知重要性参数包括能量重要性参数。其中,当前预渲染音频对象的能量重要性参数,是基于当前预渲染音频对象的能量计算得到的,用于指示当前预渲染音频对象的能量与该多个预渲染音频对象各自的能量之和之间的比值。
[0291]
可选的,感知重要性参数包括感知强度重要性参数。其中,当前预渲染音频对象的感知强度重要性参数,是结合人耳听觉曲线和当前预渲染音频对象的能量计算得到的,用于指示当前预渲染音频对象的多个频带中能量最大的预设数量个频带的能量之和与该多个预渲染音频对象各自的多个频带中能量最大的预设数量个频带的能量之和之间的比值。
[0292]
可选的,感知重要性参数包括频谱平坦度参数。其中,当前预渲染音频对象的频谱平坦度参数,用于指示当前预渲染音频对象在该多个预渲染音频对象中的频谱平坦度。
[0293]
可选的,当前预渲染音频对象是当前待预渲染音频对象经预渲染得到的音频对象。当前待预渲染音频对象的比特分配参数值包括第一比值,或根据第一比值确定的参数值。其中,第一比值,是当前预渲染音频对象的感知重要性参数值与该多个预渲染音频对象各自的感知重要性参数值之和之间的比值。
[0294]
可选的,获取模块1202还用于:获取该多个待预渲染音频对象各自的内容重要性参数值;其中,当前待预渲染音频对象的内容重要性参数值用于指示当前待预渲染音频对象的内容所表征的声音类型在该多个待预渲染音频对象的内容所表征的声音类型中的重要性程度。获取模块在执行基于该多个预渲染音频对象各自的感知重要性参数值,获取当前待预渲染音频对象的比特分配参数值的方面,具体用于:基于该多个预渲染音频对象各自的感知重要性参数值和该多个待预渲染音频对象各自的内容重要性参数值,获取当前待预渲染音频对象的比特分配参数值。例如,结合图10,获取模块1202可以用于执行s303和s304。
[0295]
可选的,当前预渲染音频对象是当前待预渲染音频对象经预渲染得到的音频对象。当前待预渲染音频对象的比特分配参数值包括第二比值,或根据第二比值确定的参数值。其中,第二比值,是当前待预渲染音频对象的第一值与该多个待预渲染音频对象各自的第一值之和之间的比值;当前待预渲染音频对象的第一值是当前待预渲染音频对象的内容
重要性参数值与当前预渲染音频对象的感知重要性参数值的积,或者,当前待预渲染音频对象的第一值是根据当前待预渲染音频对象的内容重要性参数值与当前预渲染音频对象的感知重要性参数值的积确定的参数值。
[0296]
可选的,声音类型包括以下至少一种:语音、音乐、音效、环境音或噪声。
[0297]
可选的,为当前待预渲染音频对象分配的目标比特数与待分配总比特数的比值等于第三比值,或等于根据第三比值确定的参数值。其中,第三比值,是当前待预渲染音频对象的比特分配参数值与该多个待预渲染音频对象各自的比特分配参数值之和之间的比值。
[0298]
可选的,确定模块1203具体用于:基于多个比特分配参数值与多个优先级级别之间的对应关系,以及当前待预渲染音频对象的比特分配参数值,确定当前待预渲染音频对象的优先级级别。然后,基于当前待预渲染音频对象的优先级级别和待分配总比特数,确定为当前待预渲染音频对象分配的目标比特数。
[0299]
例如,结合图7,确定模块1203可以用于执行s105a-s105b。
[0300]
可选的,为当前待预渲染音频对象分配的目标比特数与待分配总比特数的比值等于第四比值,或等于根据第四比值确定的参数值。其中,第四比值是当前待预渲染音频对象的优先级级别与该多个待预渲染音频对象各自的优先级级别之和之间的比值。
[0301]
可选的,获取模块1202还用于,获取为当前待预渲染音频对象分配的初始比特数。该情况下,确定模块1203具体用于:基于该初始比特数,对当前待预渲染音频对象的比特分配参数值进行调整;接着,基于待分配总比特数和当前待预渲染音频对象的调整后的比特分配参数值,确定为当前待预渲染音频对象分配的目标比特数。
[0302]
例如,结合图11,获取模块1202可以用于执行s401中获取初始比特数的步骤。确定模块1203可以用于执行s402和s404。
[0303]
可选的,当前待预渲染音频对象的调整后的比特分配参数值包括:第五比值或根据第五比值确定的参数值。其中,第五比值,是当前待预渲染音频对象的第二值与该多个待预渲染音频对象各自的第二值之和之间的比值。当前待预渲染音频对象的第二值是该初始比特数与该当前待预渲染音频对象的比特分配参数值之积,或者,当前待预渲染音频对象的第二值是根据该初始比特数与该当前待预渲染音频对象的比特分配参数值之积确定的参数值。
[0304]
可选的,为当前待预渲染音频对象分配的目标比特数与待分配总比特数的比值,等于当前待预渲染音频对象的调整后的比特分配参数值,或等于根据当前待预渲染音频对象的调整后的比特分配参数值确定的参数值。
[0305]
可选的,如图12所示,该音频对象的比特分配装置120还包括:发送模块1204,用于发送为该多个待预渲染音频对象分别分配的目标比特数之间的比例信息。其中,该比例信息用于重建该多个待预渲染音频对象。
[0306]
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种音频对象的比特分配装置120的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
[0307]
作为示例,结合图1a或图1b,音频对象的比特分配装置120可以是立体声编码器112。结合图2,音频对象的比特分配装置120可以是立体声编码器213。结合图3a或图3b,音频对象的比特分配装置120可以是多声道编码器114。结合图4,音频对象的比特分配装置
120可以是多声道编码器215。
[0308]
作为示例,结合图1a或图3a,音频对象的比特分配装置120可以是第一终端11。结合图1b或图3b,音频对象的比特分配装置120可以是第一终端11或第二终端12。结合图2或图4,音频对象的比特分配装置120可以是第一网络设备21。
[0309]
作为示例,结合图5,上述预渲染模块1201、获取模块1202和确定模块1203中的部分或全部实现的功能可以通过图5中的处理器51执行图2中的存储器52中的程序代码实现。发送模块1204可以通过图5中的通信接口53中的接收单元实现。
[0310]
本技术实施例还提供了一种音频系统,包括编码装置和解码装置。其中,编码装置可以是上文提供的任意一种音频对象的比特分配装置120。解码装置用于接收该编码装置发送的信息,并执行解码过程(包括音频对象的重建过程)。
[0311]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上文提供的任一种编码器所执行的方法。
[0312]
关于上述提供的任一种音频系统和计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
[0313]
本技术实施例还提供了一种芯片。该芯片中集成了用于实现上述音频对象的比特分配装置120的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。所述的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定集成电路(application specific integrated circuit,asic)、微处理器(digital signal processor,dsp),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
[0314]
本技术实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如ssd)等。
[0315]
应注意,本技术实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
[0316]
在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以
及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。尽管结合具体特征及其实施例对本技术进行了描述,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。

技术特征:


1.一种音频对象的比特分配方法,其特征在于,包括:对待编码音频帧中的多个待预渲染音频对象分别进行预渲染,以得到多个预渲染音频对象;获取所述多个预渲染音频对象各自的感知重要性参数值;其中,所述多个预渲染音频对象中当前预渲染音频对象的感知重要性参数值用于指示所述当前预渲染音频对象在所述多个预渲染音频对象中的感知重要性程度;基于所述多个预渲染音频对象各自的感知重要性参数值,获取所述多个待预渲染音频对象中当前待预渲染音频对象的比特分配参数值;基于所述当前待预渲染音频对象的比特分配参数值和所述多个待预渲染音频对象对应的待分配总比特数,确定为所述当前待预渲染音频对象分配的目标比特数。2.根据权利要求1所述的方法,其特征在于,所述感知重要性参数包括以下至少一项:能量重要性参数、感知强度重要性参数或频谱平坦度参数;其中:所述当前预渲染音频对象的能量重要性参数,是基于所述当前预渲染音频对象的能量计算得到的,用于指示所述当前预渲染音频对象的能量与所述多个预渲染音频对象各自的能量之和之间的比值;所述当前预渲染音频对象的感知强度重要性参数,是结合人耳听觉曲线和所述当前预渲染音频对象的能量计算得到的,用于指示所述当前预渲染音频对象的多个频带中能量最大的预设数量个频带的能量之和与所述多个预渲染音频对象各自的多个频带中能量最大的预设数量个频带的能量之和之间的比值;所述当前预渲染音频对象的频谱平坦度参数,用于指示所述当前预渲染音频对象在所述多个预渲染音频对象中的频谱平坦度。3.根据权利要求1或2所述的方法,其特征在于,所述当前预渲染音频对象是所述当前待预渲染音频对象经预渲染得到的音频对象,所述当前待预渲染音频对象的比特分配参数值包括第一比值,或根据第一比值确定的参数值;所述第一比值,是所述当前预渲染音频对象的感知重要性参数值与所述多个预渲染音频对象各自的感知重要性参数值之和之间的比值。4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:获取所述多个待预渲染音频对象各自的内容重要性参数值;其中,所述当前待预渲染音频对象的内容重要性参数值用于指示所述当前待预渲染音频对象的内容所表征的声音类型在所述多个待预渲染音频对象的内容所表征的声音类型中的重要性程度;所述基于所述多个预渲染音频对象各自的感知重要性参数值,获取所述多个待预渲染音频对象中当前待预渲染音频对象的比特分配参数值,包括:基于所述多个预渲染音频对象各自的感知重要性参数值和所述多个待预渲染音频对象各自的内容重要性参数值,获取所述当前待预渲染音频对象的比特分配参数值。5.根据权利要求4所述的方法,其特征在于,所述当前预渲染音频对象是所述当前待预渲染音频对象经预渲染得到的音频对象,所述当前待预渲染音频对象的比特分配参数值包括第二比值,或根据第二比值确定的参数值;所述第二比值,是所述当前待预渲染音频对象的第一值与所述多个待预渲染音频对象各自的第一值之和之间的比值;所述当前待预渲染音频对象的第一值是所述当前待预渲染
音频对象的内容重要性参数值与所述当前预渲染音频对象的感知重要性参数值的积,或者,所述当前待预渲染音频对象的第一值是根据所述当前待预渲染音频对象的内容重要性参数值与所述当前预渲染音频对象的感知重要性参数值的积确定的参数值。6.根据权利要求4或5所述的方法,其特征在于,所述声音类型包括以下至少一种:语音、音乐、音效、环境音或噪声。7.根据权利要求1至6任一项所述的方法,其特征在于,为所述当前待预渲染音频对象分配的目标比特数与所述待分配总比特数的比值等于第三比值,或等于根据第三比值确定的参数值;所述第三比值,是所述当前待预渲染音频对象的比特分配参数值与所述多个待预渲染音频对象各自的比特分配参数值之和之间的比值。8.根据权利要求1至6任一项所述的方法,其特征在于,所述基于所述当前待预渲染音频对象的比特分配参数值和所述多个待预渲染音频对象对应的待分配总比特数,确定为所述当前待预渲染音频对象分配的目标比特数,包括:基于多个比特分配参数值与多个优先级级别之间的对应关系,以及所述当前待预渲染音频对象的比特分配参数值,确定所述当前待预渲染音频对象的优先级级别;基于所述当前待预渲染音频对象的优先级级别和所述待分配总比特数,确定为所述当前待预渲染音频对象分配的目标比特数。9.根据权利要求8所述的方法,其特征在于,为所述当前待预渲染音频对象分配的目标比特数与所述待分配总比特数的比值等于第四比值,或等于根据第四比值确定的参数值;所述第四比值是所述当前待预渲染音频对象的优先级级别与所述多个待预渲染音频对象各自的优先级级别之和之间的比值。10.根据权利要求1至9任一项所述的方法,其特征在于,所述基于所述当前待预渲染音频对象的比特分配参数值和所述多个待预渲染音频对象对应的待分配总比特数,确定为所述当前待预渲染音频对象分配的目标比特数,包括:获取为所述当前待预渲染音频对象分配的初始比特数;基于所述初始比特数,对所述当前待预渲染音频对象的比特分配参数值进行调整;基于所述待分配总比特数和所述当前待预渲染音频对象的调整后的比特分配参数值,确定为所述当前预渲染音频对象分配的目标比特数。11.根据权利要求10所述的方法,其特征在于,所述当前待预渲染音频对象的调整后的比特分配参数值包括:第五比值或根据第五比值确定的参数值;所述第五比值,是所述当前待预渲染音频对象的第二值与所述多个待预渲染音频对象各自的第二值之和之间的比值;其中,所述当前待预渲染音频对象的第二值是所述初始比特数与所述当前待预渲染音频对象的比特分配参数值之积,或者,所述当前待预渲染音频对象的第二值是根据所述初始比特数与所述当前待预渲染音频对象的比特分配参数值之积确定的参数值。12.根据权利要求11所述的方法,其特征在于,为所述当前待预渲染音频对象使用的目标比特数与所述待分配总比特数的比值,等于所述当前待预渲染音频对象的调整后的比特分配参数值,或等于根据所述当前待预渲染音频对象的调整后的比特分配参数值确定的参数值。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述方法还包括:发送为所述多个待预渲染音频对象分别分配的目标比特数之间的比例信息;其中,所述比例信息用于重建所述多个待预渲染音频对象。14.一种音频对象的比特分配装置,其特征在于,包括:预渲染模块,用于对待编码音频帧中的多个待预渲染音频对象分别进行预渲染,以得到多个预渲染音频对象;获取模块,用于获取所述多个预渲染音频对象各自的感知重要性参数值;其中,所述多个预渲染音频对象中当前预渲染音频对象的感知重要性参数值用于指示所述当前预渲染音频对象在所述多个预渲染音频对象中的感知重要性程度;基于所述多个预渲染音频对象各自的感知重要性参数值,获取所述多个待预渲染音频对象中当前待预渲染音频对象的比特分配参数值;确定模块,用于基于所述当前待预渲染音频对象的比特分配参数值和所述多个待预渲染音频对象对应的待分配总比特数,确定为所述当前待预渲染音频对象分配的目标比特数。15.根据权利要求14所述的装置,其特征在于,所述感知重要性参数包括以下至少一项:能量重要性参数、感知强度重要性参数或频谱平坦度参数;其中:所述当前预渲染音频对象的能量重要性参数,是基于所述当前预渲染音频对象的能量计算得到的,用于指示所述当前预渲染音频对象的能量与所述多个预渲染音频对象各自的能量之和之间的比值;所述当前预渲染音频对象的感知强度重要性参数,是结合人耳听觉曲线和所述当前预渲染音频对象的能量计算得到的,用于指示所述当前预渲染音频对象的多个频带中能量最大的预设数量个频带的能量之和与所述多个预渲染音频对象各自的多个频带中能量最大的预设数量个频带的能量之和之间的比值;所述当前预渲染音频对象的频谱平坦度参数,用于指示所述当前预渲染音频对象在所述多个预渲染音频对象中的频谱平坦度。16.根据权利要求14或15所述的装置,其特征在于,所述当前预渲染音频对象是所述当前待预渲染音频对象经预渲染得到的音频对象,所述当前待预渲染音频对象的比特分配参数值包括第一比值,或根据第一比值确定的参数值;所述第一比值,是所述当前预渲染音频对象的感知重要性参数值与所述多个预渲染音频对象各自的感知重要性参数值之和之间的比值。17.根据权利要求14或15所述的装置,其特征在于,所述获取模块还用于:获取所述多个待预渲染音频对象各自的内容重要性参数值;其中,所述当前待预渲染音频对象的内容重要性参数值用于指示所述当前待预渲染音频对象的内容所表征的声音类型在所述多个待预渲染音频对象的内容所表征的声音类型中的重要性程度;所述获取模块在基于所述多个预渲染音频对象各自的感知重要性参数值,获取所述多个待预渲染音频对象中当前待预渲染音频对象的比特分配参数值的方面,具体用于:基于所述多个预渲染音频对象各自的感知重要性参数值和所述多个待预渲染音频对象各自的内容重要性参数值,获取所述当前待预渲染音频对象的比特分配参数值。
18.根据权利要求17所述的装置,其特征在于,所述当前预渲染音频对象是所述当前待预渲染音频对象经预渲染得到的音频对象,所述当前待预渲染音频对象的比特分配参数值包括第二比值,或根据第二比值确定的参数值;所述第二比值,是所述当前待预渲染音频对象的第一值与所述多个待预渲染音频对象各自的第一值之和之间的比值;所述当前待预渲染音频对象的第一值是所述当前待预渲染音频对象的内容重要性参数值与所述当前预渲染音频对象的感知重要性参数值的积,或者,所述当前待预渲染音频对象的第一值是根据所述当前待预渲染音频对象的内容重要性参数值与所述当前预渲染音频对象的感知重要性参数值的积确定的参数值。19.根据权利要求17或18所述的装置,其特征在于,所述声音类型包括以下至少一种:语音、音乐、音效、环境音或噪声。20.根据权利要求14至19任一项所述的装置,其特征在于,为所述当前待预渲染音频对象分配的目标比特数与所述待分配总比特数的比值等于第三比值,或等于根据第三比值确定的参数值;所述第三比值,是所述当前待预渲染音频对象的比特分配参数值与所述多个待预渲染音频对象各自的比特分配参数值之和之间的比值。21.根据权利要求14至19任一项所述的装置,其特征在于,所述确定模块具体用于:基于多个比特分配参数值与多个优先级级别之间的对应关系,以及所述当前待预渲染音频对象的比特分配参数值,确定所述当前待预渲染音频对象的优先级级别;基于所述当前待预渲染音频对象的优先级级别和所述待分配总比特数,确定为所述当前待预渲染音频对象分配的目标比特数。22.根据权利要求21所述的装置,其特征在于,为所述当前待预渲染音频对象分配的目标比特数与所述待分配总比特数的比值等于第四比值,或等于根据第四比值确定的参数值;所述第四比值是所述当前待预渲染音频对象的优先级级别与所述多个待预渲染音频对象给子的优先级级别之和之间的比值。23.根据权利要求14至22任一项所述的装置,其特征在于,所述确定模块具体用于:获取为所述当前待预渲染音频对象分配的初始比特数;基于所述初始比特数,对所述当前待预渲染音频对象的比特分配参数值进行调整;基于所述待分配总比特数和所述当前待预渲染音频对象的调整后的比特分配参数值,确定为所述当前待预渲染音频对象分配的目标比特数。24.根据权利要求23所述的装置,其特征在于,所述当前待预渲染音频对象的调整后的比特分配参数值包括:第五比值或根据第五比值确定的参数值;所述第五比值,是所述当前待预渲染音频对象的第二值与所述多个待预渲染音频对象各自的第二值之和之间的比值;其中,所述当前待预渲染音频对象的第二值是所述初始比特数与所述当前待预渲染音频对象的比特分配参数值之积,或者,所述当前待预渲染音频对象的第二值是根据所述初始比特数与所述当前待预渲染音频对象的比特分配参数值之积确定的参数值。25.根据权利要求24所述的装置,其特征在于,为所述当前待预渲染音频对象分配的目标比特数与所述待分配总比特数的比值,等于所述当前待预渲染音频对象的调整后的比特
分配参数值,或等于根据所述当前待预渲染音频对象的调整后的比特分配参数值确定的参数值。26.根据权利要求14至25任一项所述的装置,其特征在于,所述装置还包括:发送模块,用于发送为所述多个待预渲染音频对象分别分配的目标比特数之间的比例信息;其中,所述比例信息用于重建所述多个待预渲染音频对象。27.根据权利要求14至26任一项所述的装置,其特征在于,所述装置是编码器,或者所述装置是包含编码器的编码设备。28.根据权利要求27所述的装置,所述编码器是立体声编码器或多声道编码器。29.一种音频对象的比特分配装置,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以执行权利要求1-13任一项所述的方法。30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1-13任一项所述的方法。

技术总结


公开了音频对象的比特分配方法和装置,涉及音频编解码技术领域,有助于提高重建音频对象的整体质量和编码效率。方法包括:对音频帧中的多个待预渲染音频对象分别进行预渲染,以得到多个预渲染音频对象;获取该多个预渲染音频对象各自的感知重要性参数值,当前预渲染音频对象的感知重要性参数值用于指示当前预渲染音频对象在该多个预渲染音频对象中的感知重要性程度;基于该多个预渲染音频对象各自的感知重要性参数值,获取当前待预渲染音频对象的比特分配参数值;基于当前待预渲染音频对象的比特分配参数值和该多个待预渲染音频对象对应的待分配总比特数,确定为当前待预渲染音频对象分配的目标比特数。方法可应用于立体声编码器或多声道编码器。编码器或多声道编码器。编码器或多声道编码器。


技术研发人员:

孟宪波 王宾 王喆 夏丙寅

受保护的技术使用者:

华为技术有限公司

技术研发日:

2021.01.21

技术公布日:

2022/7/29

本文发布于:2024-09-21 22:44:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/18630.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:音频   对象   多个   参数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议