CN116965062A - 对音频对象进行聚类 - Google Patents
对音频对象进行聚类 Download PDFInfo
- Publication number
- CN116965062A CN116965062A CN202280015933.0A CN202280015933A CN116965062A CN 116965062 A CN116965062 A CN 116965062A CN 202280015933 A CN202280015933 A CN 202280015933A CN 116965062 A CN116965062 A CN 116965062A
- Authority
- CN
- China
- Prior art keywords
- audio
- audio object
- rendering metadata
- category
- assigned
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 claims abstract description 441
- 238000000034 method Methods 0.000 claims abstract description 177
- 230000005236 sound signal Effects 0.000 claims description 59
- 230000008569 process Effects 0.000 description 83
- 230000006870 function Effects 0.000 description 75
- 239000011159 matrix material Substances 0.000 description 11
- 238000012545 processing Methods 0.000 description 5
- 101150116295 CAT2 gene Proteins 0.000 description 4
- 101100326920 Caenorhabditis elegans ctl-1 gene Proteins 0.000 description 4
- 101100126846 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) katG gene Proteins 0.000 description 4
- 101100494773 Caenorhabditis elegans ctl-2 gene Proteins 0.000 description 3
- 101100112369 Fasciola hepatica Cat-1 gene Proteins 0.000 description 3
- 101100005271 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) cat-1 gene Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000010755 BS 2869 Class G Substances 0.000 description 1
- 241000238631 Hexapoda Species 0.000 description 1
- 206010021403 Illusion Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
Landscapes
- Stereophonic System (AREA)
Abstract
一种用于对音频对象进行聚类的方法可以涉及识别多个音频对象,其中,该多个音频对象中的每个音频对象与指示相应空间位置信息的相应元数据和相应渲染元数据相关联。该方法可以涉及将该多个音频对象中的音频对象指派到多个渲染元数据类别中的渲染元数据类别,其中,至少一个渲染元数据类别包括要保持的多个渲染元数据类型。该方法可以涉及确定多个音频对象簇到每个渲染元数据类别的分配。该方法可以涉及基于指示空间位置信息的元数据并且基于音频对象到渲染元数据类别的指派,将该多个音频对象中的音频对象渲染到经分配的多个音频对象簇。
Description
相关申请的交叉引用
本申请要求以下优先申请的优先权:于2021年2月20日提交的国际专利申请PCT/CN2021/077110;于2021年3月24日提交的美国临时专利申请63/165,220;于2021年6月2日提交的美国临时专利申请63/202,227;以及于2021年6月8日提交的欧洲专利申请21178179.4,这些专利申请均通过引用特此并入。
技术领域
本公开涉及用于对音频对象进行聚类的***、方法和介质。
背景
能够呈现空间定位的音频内容的音频内容呈现设备正变得越来越流行。例如,这样的音频内容呈现设备可以能够呈现被感知为处于收听者的三维环境内的各种空间位置处的音频内容。尽管一些现有的音频内容呈现方法和设备在一些条件下提供了可接受的性能,但是改进的方法和设备也会是令人期望的。
符号和术语
贯穿本公开,包括在权利要求书中,术语“扬声器(speaker)”、“扩音器(loudspeaker)”和“音频再现换能器”同义地用于表示任何发声换能器(或一组换能器)。一套典型的耳机包括两个扬声器。扬声器可以被实施为包括多个换能器(例如,低音扬声器和高音扬声器),该多个换能器可以由单个公共扬声器馈送或多个扬声器馈送驱动。在一些示例中,一个或多个扬声器馈送可以在耦接到不同换能器的不同电路分支中经历不同处理。
贯穿本公开,包括在权利要求中,在广义上使用“对”信号或数据执行操作(例如,对信号或数据进行滤波、缩放、变换或应用增益)的表达来表示直接对信号或数据执行操作或对信号或数据的已处理版本(例如,在对其执行操作之前已经历了初步滤波或预处理的信号版本)执行操作。
贯穿本公开,包括在权利要求中,在广义上使用表达“***”来表示设备、***或子***。例如,实施解码器的子***可以被称为解码器***,并且包括这样的子***的***(例如,响应于多个输入而生成X个输出信号的***,其中,该子***生成M个输入,而其他X-M个输入是从外部源接收的)也可以被称为解码器***。
贯穿本公开,包括在权利要求中,在广义上使用术语“处理器”来表示可编程或以其他方式可配置(例如,用软件或固件)为对数据(例如,音频或视频或其他图像数据)执行操作的***或设备。处理器的示例包括现场可编程门阵列(或其他可配置集成电路或芯片组)、被编程和/或以其他方式被配置为对音频或其他声音数据执行流水线式处理的数字信号处理器、可编程通用处理器或计算机、以及可编程微处理器芯片或芯片组。
贯穿本公开,包括在权利要求中,术语“一个簇”或“多个簇”用于意指音频对象簇。术语“簇”和“音频对象簇”应当被理解为同义并且可互换使用。音频对象簇是具有一个或多个相似属性的音频对象(比如具有相似空间位置和/或相似渲染元数据的音频对象)的组合。在一些情况下,音频对象可以被指派到单个簇中,而在其他情况下,音频对象可以被指派到多个簇中。
发明内容
本公开的至少一些方面可以经由方法来实施。一些方法可以涉及识别多个音频对象,其中,该多个音频对象中的每个音频对象与指示相应空间位置信息的相应元数据和相应渲染元数据相关联。一些方法可以涉及将该多个音频对象中的音频对象指派到多个渲染元数据类别中的渲染元数据类别,其中,至少一个渲染元数据类别包括要保持的多个渲染元数据类型。一些方法可以涉及确定多个音频对象簇到每个渲染元数据类别的分配,其中,音频对象簇包括该多个音频对象中具有相似属性的一个或多个音频对象。一些方法可以涉及基于指示空间位置信息的元数据并且基于音频对象到渲染元数据类别的指派来将该多个音频对象中的音频对象渲染到经分配的多个音频对象簇。
在一些示例中,渲染元数据类别包括旁路模式类别和虚拟化类别。在一些示例中,包括在虚拟化类别中的多个渲染元数据类型包括多个虚拟化类型,各自表示从头部中心到音频对象的距离。
在一些示例中,渲染元数据类别包括区域类别或捕捉类别之一。
在一些示例中,被指派到第一渲染元数据类别的音频对象禁止被指派到该多个音频对象簇中被分配到第二渲染元数据类别的音频对象簇。
在一些示例中,确定该多个音频对象簇到每个渲染元数据类别的分配涉及:(i)确定初始多个音频对象簇到每个渲染元数据类别的初始分配;(ii)基于指示空间位置信息的元数据并且基于音频对象到渲染元数据类别的指派,将音频对象指派到初始多个音频对象簇;(iii)针对每个渲染元数据类别,确定将音频对象指派到初始多个音频对象簇的类别成本;(iv)至少部分地基于每个渲染元数据类别的类别成本来确定初始多个音频对象簇到每个渲染元数据类别的更新分配;以及(iv)重复(ii)至(iv),直到达到停止标准为止。在一些示例中,确定将音频对象指派到初始多个音频对象簇的类别成本是基于分配到渲染元数据类别的音频对象簇的位置和被指派到分配到该渲染元数据类别的音频对象簇的音频对象的位置。在一些示例中,类别成本基于相对于音频对象已被指派到的音频对象簇的左右放置的该音频对象的左右放置。在一些示例中,确定将音频对象指派到初始多个音频对象簇的类别成本是基于音频对象的响度。在一些示例中,确定将音频对象指派到初始多个音频对象簇的类别成本是基于音频对象到该音频对象已被指派到的音频对象簇的距离。在一些示例中,确定将音频对象指派到初始多个音频对象簇的类别成本是基于音频对象的渲染元数据类型与该音频对象已被指派到的音频对象簇的渲染元数据类型的相似度。在一些示例中,方法可以涉及基于每个渲染元数据类别的类别成本来确定全局成本,其中,初始多个音频对象簇的更新分配是基于全局成本的。在一些示例中,确定更新分配包括改变分配到多个渲染元数据类别中的至少一个渲染元数据类别的音频对象簇的数量。在一些示例中,方法可以进一步涉及基于每个渲染元数据类别的类别成本来确定全局成本,其中,音频对象簇的数量是基于全局成本来确定的。在一些示例中,确定音频对象簇的数量包括在指示可以添加的音频对象簇的最大数量的对音频对象簇的数量的约束下最小化全局成本。
在一些示例中,将该多个音频对象中的音频对象渲染到经分配的多个音频对象簇包括确定该多个音频对象中的每个音频对象在被渲染到被分配到该音频对象被指派到的渲染元数据类别的一个或多个音频对象簇时的对象到簇增益。在一些示例中,单独于被指派到该多个渲染元数据类别中的第二类别的音频对象的对象到簇增益来确定被指派到该多个渲染元数据类别中的第一类别的音频对象的对象到簇增益。在一些示例中,联合确定被指派到该多个渲染元数据类别中的第一类别的音频对象的对象到簇增益和被指派到该多个渲染元数据类别中的第二类别的音频对象的对象到簇增益。
本文描述的一些或所有操作、功能和/或方法可以由一个或多个设备根据存储在一个或多个非暂态介质上的指令(例如,软件)来执行。这样的非暂态介质可以包括如本文描述的存储器设备等存储器设备,包括但不限于随机存取存储器(RAM)设备、只读存储器(ROM)设备等。因此,本公开中描述的主题的一些创新方面可以经由在其上存储有软件的一个或多个非暂态介质来实施。
本公开的至少一些方面可以经由装置来实施。例如,一个或多个设备可以能够至少部分地执行本文公开的方法。在一些实施方式中,装置是或包括具有接口***和控制***的音频处理***。控制***可以包括一个或多个通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件部件或其组合。
本公开提供了各种技术优点。例如,可以与空间位置信息和指示音频对象将被渲染的方式的渲染元数据相关联的音频对象可以以跨不同渲染元数据类别保持渲染元数据的方式进行聚类。在一些情况下,当对相同渲染元数据类别内的音频对象进行聚类时,可以不保持渲染元数据。通过使用基于渲染元数据类别保持渲染元数据的混合方法来对音频对象进行聚类,本文描述的技术允许生成具有聚类的音频对象的音频信号,这减少了在渲染音频信号时的空间失真,并且减少了传输这样的音频信号所需的带宽。这样的音频信号可以有利地更忠实于与该音频信号相关联的音频内容创建者的意图。
在以下附图和说明中阐述了本说明书中所描述的主题的一个或多个实施方式的细节。从说明书、附图和权利要求中,其他特征、方面和优点将变得显而易见。注意,以下附图的相对尺寸可能不是按比例来绘制的。
附图说明
图1A和图1B图示了根据一些实施方式的基于渲染元数据和空间定位元数据的示例音频对象簇的表示。
图2示出了根据一些实施方式的用于在保持渲染元数据的同时基于空间定位元数据对音频对象进行聚类的过程的示例。
图3示出了根据一些实施方式的用于确定簇分配的过程的示例。
图4示出了根据一些实施方式的用于将音频对象指派到经分配的簇的过程的示例。
图5示出了图示能够实施本公开的各个方面的装置的部件的示例的框图。
在各个附图中,相似的附图标记和名称指示相似的元件。
具体实施方式
能够呈现空间定位的音频内容的音频内容呈现设备(无论是经由扩音器还是耳机呈现)正变得越来越流行。例如,这样的音频内容呈现设备可以能够呈现被感知为处于收听者的三维环境内的各种空间位置处的音频内容。这样的音频内容可以以包括“音频床”和“音频对象”的音频格式来编码,音频床包括要被渲染为在固定空间位置处的音频内容,音频对象包括可以被渲染为处于变化的空间位置和/或持续不同的持续时间的音频内容。例如,音频对象可以表示与移动对象(例如,嗡鸣的昆虫、移动的车辆等)相关联的声音效果、来自移动乐器(例如,行进乐队中移动的乐器等)的音乐、或其他可能在位置方面移动的音频内容。
每个音频对象可以与描述音频对象将如何被渲染的元数据(本文一般称为“渲染元数据”)和/或音频对象在被渲染时将被感知为处于的空间位置(本文一般称为“空间位置元数据”)相关联。例如,空间位置元数据可以指示音频对象在被渲染时将被收听者感知为处于的三维(3D)空间内的位置。空间位置元数据可以指定音频对象的方位角位置和/或音频对象的仰角位置。作为另一示例,渲染元数据可以指示音频对象将被渲染的方式。应当注意,用于耳机渲染模式的示例渲染元数据类型可以不同于用于扬声器渲染模式的渲染元数据类型。在一些实施方式中,渲染元数据可以与渲染元数据类别相关联。例如,与耳机渲染模式相关联的渲染元数据可以与对应于“旁路模式”类别的第一类别和对应于“房间虚拟化”类别的第二类别相关联,在“旁路模式”类别中,当渲染被指派到第一类别的音频对象时不应用房间虚拟化,而在“房间虚拟化”类别中,当渲染被指派到第二类别的音频对象时应用房间虚拟化技术。进一步继续该示例,在一些实施例中,渲染元数据类别可以在该类别内具有多个渲染元数据类型。作为更具体的示例,与渲染元数据的“房间虚拟化”类别相关联的渲染元数据可以具有多个渲染元数据类型,比如“近”、“中”和“远”,其各自可以指示从收听者的头部到音频对象要被渲染为处于的房间内的位置的相对距离。作为另一个示例,与扬声器渲染模式相关联的渲染元数据可以与对应于“捕捉(snap)”模式的第一渲染元数据类别和对应于“区域遮罩(zone mask)”模式的第二渲染元数据类别相关联,捕捉模式指示将音频对象渲染给特定扬声器以实现点声源型渲染,区域遮罩模式指示不将音频对象渲染给被包括在特定扬声器组(本文一般称为“区域遮罩”)中的特定扬声器。作为更具体的示例,在一些实施例中,渲染元数据的“捕捉”类别可以包括与特定扬声器相对应的渲染元数据类型。在一些实施例中,渲染元数据的“捕捉”类别可以包括二元值,其中,响应于渲染元数据为“1”或“是”(指示“捕捉”启用),音频对象可以由最接近的扬声器渲染。作为另一个更具体的示例,渲染元数据的“区域遮罩”类别可以包括与将不用于渲染音频对象的不同扬声器组(例如,“左侧环绕和右侧环绕”、“左和右”等)相对应的渲染元数据类型。在一些实施例中,渲染元数据的“区域遮罩”类别可以指示要将音频对象渲染给其的一个或多个扬声器(例如,“前”、“后”等),并且其他扬声器将被排除或禁止渲染音频对象。
与音频对象相关联的元数据(无论是空间位置元数据还是渲染元数据)可以由音频内容创建者指定,并且因此可以表示音频内容创建者的艺术愿望。因此,保持空间位置元数据和/或渲染元数据以便忠实地表示音频内容创建者的艺术愿望可能是很重要的。然而,在一些情况下,比如在电影或电视节目的声带中,音频内容可以包括数十或数百个音频对象。因此,被格式化为包括音频对象的音频内容可能尺寸很大并且相当复杂。因此,传输这样的音频内容以用于渲染可能是困难的并且可能需要大量带宽。增加的带宽要求对于这种音频内容的在家的观看者或收听者来说可能特别成问题,与电影院等相比,当观看者或收听者在家中观看或收听这种音频内容时可能更受带宽考虑因素的约束。
为了降低音频内容复杂度,可以至少部分地基于空间定位元数据对音频对象进行聚类,使得位置(例如,方位角位置和/或仰角位置)相对接近的音频对象被指派到相同的音频对象簇。然后,可以传输和/或渲染音频对象簇。通过使用与音频对象簇相关联的聚合元数据来渲染被指派到相同音频对象簇的音频对象,可以降低空间复杂度,从而减少用于传输和/或渲染音频信号的带宽。
然而,在不考虑渲染元数据以及每个音频对象已被指派到的渲染元数据类别的情况下对音频对象进行聚类可能会产生感知不连续性。例如,将被指派到渲染元数据的“旁路模式”类别的音频对象指派到与渲染元数据的“房间虚拟化”类别相关联的簇可能会导致感知失真,即使该音频对象和被指派到该簇的其他音频对象与相似的方位角空间位置和/或仰角空间位置相关联也是如此。特别地,通过将音频对象指派到与渲染元数据的“房间虚拟化”类别相关联的簇,该音频对象可以经历使用头部相关传递函数(HRTF)进行的变换,以模拟从源到收听者耳朵的传播路径。HRTF变换可能例如由于引入与渲染音频对象相关联的音色变化和/或由于在音频内容的几帧被指派到不同类别的情况下引入时间不连续性而扭曲音频对象的感知质量。此外,因为第一音频对象被音频内容创建者指派到“旁路模式”类别,所以使用要应用于被指派到音频对象的“房间虚拟化”类别的音频对象的HRTF来渲染第一音频对象可能使得第一音频对象以不忠实于音频内容创建者意图的方式被渲染。
以严格保持渲染元数据类别和/或严格保持特定渲染元数据类别内的渲染元数据类型的方式对音频对象进行聚类也可能具有某些后果。例如,利用严格保持的渲染元数据对音频对象进行聚类可能需要相对大量的簇,这增加了音频信号的复杂度并且可能需要更高的带宽来进行音频信号编码和传输。可替代地,利用严格保持的渲染元数据并且利用有限数量的簇对音频对象进行聚类可能由于使得具有相同渲染元数据但彼此相对较远地定位的两个音频对象被渲染到相同的簇而导致空间失真。
本文描述的技术、***、方法和介质描述了指派和/或生成音频对象簇,这些音频对象簇在一些情况下保持渲染元数据类别,而在其他情况下允许对与特定渲染元数据类别或渲染元数据类别内的特定渲染元数据类型相关联的音频对象和与不同渲染元数据类别或不同渲染元数据类型相关联的音频对象进行聚类。本文描述的技术、***、方法和介质可以允许通过对音频对象进行聚类来降低空间复杂度,从而减少传输和/或渲染这种音频对象所需的带宽,同时还通过在一些情况下保持渲染元数据而在其他情况下不保持渲染元数据来改善经渲染的音频对象的感知质量。具体地,通过允许在将音频对象指派到音频对象簇时灵活地使用渲染元数据类别或类型,可以减少或消除在聚类期间由严格渲染元数据约束产生的空间失真,同时仍然实现音频内容复杂度的降低,从而使得传输这种音频内容所需的带宽减少。音频对象簇可以被认为与具有相似属性的音频对象相关联,其中,相似属性可以包括相似的空间位置和/或相似的渲染元数据(例如,相同的渲染元数据类别、相同的渲染元数据类型等)。空间位置的相似度可以基于音频对象与该音频对象被分配到的簇的质心之间的距离(例如,欧几里得距离和/或任何其他合适的距离度量)来确定。在音频对象可以被渲染到多个音频对象簇的实施例中,音频对象可以与多个权重相关联,每个权重对应于一个音频对象簇,其中,权重指示音频对象被渲染到特定簇的程度。继续该示例,在音频对象距特定音频对象簇相对较远的情况下(例如,与音频对象相关联的空间位置距与音频对象簇相关联的质心相对较远),与音频对象簇相关联的权重可以相对较小(例如,接近或等于0)。在一些实施例中,基于与两个音频对象中的每一个音频对象相关联的指示每个音频对象被渲染到特定音频对象簇的程度的权重的相似度,这两个音频对象可以被认为具有相似的属性。
在一些实施方式中,可以生成音频对象簇,使得被指派到特定渲染元数据类别(例如,“旁路模式”)的音频对象被禁止指派到具有被指派到其他渲染元数据类别(例如,“虚拟化模式”)的音频对象的簇。在一些这样的实施方式中,特定渲染元数据类别内的音频对象可以被指派到含有具有在该特定类别内的相同渲染元数据类型的音频对象的簇和/或含有具有该特定类别内的不同渲染元数据类型的音频对象的簇。例如,在一些实施方式中,被指派到“虚拟化模式”类别并且具有“近”渲染元数据类型(例如,指示第一音频对象将被渲染为相对靠近收听者的头部)的第一音频对象可以被指派到包括第二音频对象的簇,该第二音频对象被指派到“虚拟化模式”类别并且具有“中”渲染元数据类型(例如,指示第二音频对象将被渲染为在从源到收听者头部的中距离范围内)。继续该示例,在一些实施方式中,第一音频对象可以被禁止指派到包括第三音频对象的簇,该第三音频对象被指派到“虚拟化模式”类别并且具有“远”渲染元数据类型(例如,指示第三音频对象将被渲染为距收听者的头部相对较远)。
图1A示出了对音频对象的聚类的表示的示例100,其中,不允许对被指派到特定渲染元数据类别的音频对象与被指派到其他渲染元数据类别的音频对象进行聚类。
在示例100中,存在两个渲染元数据类别。类别102(在图1A中表示为“类别1”)对应于与“旁路模式”渲染元数据相关联的音频对象。类别104(在图1A中表示为“类别2”)对应于与“虚拟化模式”渲染元数据相关联的音频对象。渲染元数据的“虚拟化模式”类别可以具有各种潜在的渲染元数据类型,比如距收听者头部的“近”、“中”和/或“远”距离。因此,被指派到渲染元数据的“虚拟化模式”类别的音频对象可以具有选自“近”、“中”或“远”之一的渲染元数据类型(如图1A所示并且如图1A中通过应用于每个音频对象的阴影类型所描绘的)。
图1A示出了已经基于与音频对象相关联的空间位置元数据并且基于与音频对象相关联的渲染元数据类别进行聚类的一组音频对象(例如,音频对象106)。所指派的簇被指示为描绘每个音频对象的圆圈内的数字。例如,如图1A所示,音频对象106已被指派到簇“1”。作为另一个示例,在类别104内,音频对象108已被指派到簇“4”。
在图1A的示例100中,在生成音频对象簇时严格保持渲染元数据类别。例如,被指派到渲染元数据的“旁路模式”类别的音频对象禁止被指派到分配到渲染元数据的“虚拟化模式”类别的簇。类似地,被指派到渲染元数据的“虚拟化模式”类别的音频对象禁止被指派到分配到渲染元数据的“旁路模式”类别的簇。
在图1A的示例100中,可以对被指派到特定渲染元数据类别的音频对象与被指派到相同渲染元数据类别但具有该类别内的不同渲染元数据类型的其他音频对象进行聚类。例如,在类别104内,可以将与“虚拟化模式”类别内的“近”渲染元数据类型相关联的音频对象110和各自与“虚拟化模式”类别内的“中”渲染元数据类型相关联的音频对象112和114进行聚类。作为另一个示例,在类别104内,可以将与渲染元数据的“虚拟化模式”类别内的“中”渲染元数据类型相关联的音频对象116和各自与渲染元数据的“虚拟化模式”类别内的“远”渲染元数据类型相关联的音频对象118和120进行聚类。
应当注意,示例100中描绘的对音频对象的聚类可以是聚类算法或技术的结果。例如,示例100中描绘的对音频对象的聚类可以使用在图2的过程200中示出并且下面结合该过程进行描述的技术来生成。在一些实施方式中,可以使用优化算法或技术来确定分配到图1A中所示的每个类别的音频对象簇的数量和/或每个簇的空间质心位置。例如,可以使用在图3的过程300中示出并且下面结合该过程进行描述的技术来迭代地确定音频对象簇的分配以生成最优分配。另外,在一些实施方式中,将音频对象指派到特定簇可以通过确定对象到簇增益来完成,该对象到簇增益描述音频对象在被渲染到特定簇时的比率或增益,如下面结合图4的过程400所描述的。
相比之下,图1B示出了对音频对象的聚类的表示的示例150,其中,在一些情况下允许将被指派到特定渲染元数据类别的音频对象指派到分配到其他渲染元数据类别的簇。
如图1B中所图示的,可以允许将被指派到特定渲染元数据类别的音频对象指派到分配到不同渲染元数据类别的簇。例如,各自被指派到“虚拟化模式”类别的音频对象152和154被指派到分配到“旁路模式”类别(例如,图1B的类别102)的簇。作为另一示例,各自被指派到“旁路模式”类别的音频对象156和158被指派到分配到“虚拟化模式”类别(例如,图1B的类别104)的簇。
应当注意,虽然图1A和图1B示出了每个音频对象被指派到单个簇,但是音频对象可以被指派或渲染到多个簇(如下面结合图2和图4所描述的)。特定音频对象被指派和/或渲染到特定簇的程度在本文中一般称为“对象到簇增益”。例如,对于音频对象j和簇c,对象到簇增益为1表示音频对象j被完全指派或渲染到簇c。作为另一个示例,对象到簇增益为0.5表示音频对象j以0.5的增益被指派或渲染到簇c,并且与音频对象j相关联的剩余信号被渲染到其他簇。作为又一示例,对象到簇增益为0指示音频对象j未被指派或渲染到簇c。
图2图示了根据一些实施例的用于将簇分配到不同渲染元数据类别并且将音频对象指派到经分配的簇的过程200的示例。过程200可以在各种设备上执行,比如在基于由音频内容创建者提供的音频对象和相关联的元数据对音频信号进行编码的服务器上执行。应当注意,过程200概括地描述了关于音频内容的单个帧的过程。然而,应当理解,在一些实施例中,过程200的框可以针对音频内容的一个或多个其他帧重复,例如以生成作为输入音频信号的压缩版本的完整输出音频信号。在一些实施方式中,过程200的一个或多个框可以省略。另外,在一些实施方式中,过程200的两个或更多个框可以基本上并行地执行。过程200的框可以以任何顺序执行,不限于图2所示的顺序。
过程200可以开始于202,即识别一组音频对象,其中,每个音频对象与空间位置元数据和渲染元数据相关联。可以针对输入音频信号的特定帧来识别该组音频对象中的音频对象。音频对象可以通过例如访问与输入音频信号的帧相关联的列表或表格来识别。空间位置元数据可以指示与对音频对象的渲染相关联的空间位置信息(例如,3D空间中的位置)。例如,空间位置信息可以指示音频对象的方位角和/或仰角位置。作为另一示例,空间位置信息可以指示笛卡尔坐标(例如,(x,y,z)坐标)中的空间位置。渲染元数据可以指示音频对象将被渲染的方式。
在204处,过程200可以将每个音频对象指派到渲染元数据类别。耳机渲染模式的示例渲染元数据类别包括渲染元数据的“旁路模式”类别和渲染元数据的“虚拟化模式”类别。扬声器渲染模式的示例渲染元数据类别包括渲染元数据的“捕捉模式”类别和渲染元数据的“区域遮罩”类别。在渲染元数据类别内,渲染元数据可以与渲染元数据类型相关联。
在一些实施方式中,至少一个渲染元数据类别可以包括一个或多个(例如,两个、三个、五个、十个等)渲染元数据类型。在耳机渲染模式中,渲染元数据的“虚拟化模式”类别内的示例渲染元数据类型包括“近”、“中”和“远”虚拟化。应当注意,渲染元数据的“虚拟化模式”类别内的渲染元数据类型可以指示要应用于音频对象以产生渲染元数据中指示的虚拟化的特定HRTF。例如,与“近”虚拟化相对应的渲染元数据可以指定要使用第一HRTF,而与“中”虚拟化相对应的渲染元数据可以指定要使用第二HRTF。渲染元数据的“捕捉”类别内的示例渲染元数据类型可以包括指示是否要启用捕捉的二元值和/或音频对象要被渲染给其的扬声器(例如,“左扬声器”、“右扬声器”或任何其他特定扬声器)的特定标识符。渲染元数据的“区域遮罩”类别内的示例渲染元数据类型包括“左侧环绕声和右侧环绕声”、“左扬声器和右扬声器”、或指示要被包括在对音频对象的渲染内或排除在对音频对象的渲染之外的一个或多个扬声器的扬声器的任何其他合适的组合。
在206处,过程200可以确定簇到每个渲染元数据类别的分配。过程200可以确定簇到每个渲染元数据类别的分配,使得分配到每个类别的一定数量的簇最优地包含在框202处识别的一组音频对象中的音频对象并且受到任何合适的约束。例如,过程200可以确定簇的分配,使得在所有渲染元数据类别下的簇的总数量小于或等于预定最大簇数量(本文一般表示为Mtotal)。在一些实施例中,在所有渲染元数据类别下的预定最大簇数量可以基于各种标准或要求来确定,比如基于传输具有预定最大簇数量的编码音频信号所需的带宽来确定。
作为另一个示例,过程200可以通过至少部分地基于与将被指派到每个簇的音频对象相关联的成本函数迭代地优化簇分配来确定簇分配。在一些实施例中,成本函数可以表示各种标准,比如被指派到特定簇的音频对象到该簇的质心的距离、音频对象当被渲染到特定簇时相对于该音频对象的(例如,如音频内容创建者所指示的)预期响度的响度等。可以并入成本函数中的各种标准下面结合图3更详细地描述。在一些实施方式中,可以根据不允许将被指派到特定类别的音频对象指派到分配到不同类别的簇的假设来分配簇。应当注意,用于确定音频对象簇到每个渲染元数据类别的分配的过程的示例在图3中示出并下面结合图3进行描述。
在208处,过程200可以基于空间位置元数据以及音频对象到渲染元数据类别的指派来将音频对象指派和/或渲染到经分配的簇。基于空间位置元数据来将音频对象指派和/或渲染到经分配的簇可以涉及基于相对于经分配的簇的空间位置(例如,仰角位置和/或方位角位置、笛卡尔坐标位置等)的音频对象的空间位置来将音频对象指派到簇。例如,在一些实施例中,过程200可以基于空间位置元数据并且基于每个经分配的簇的质心来将音频对象指派和/或渲染到经分配的簇,使得具有相似空间位置的音频对象被分配到相同的簇。在一些实施例中,可以基于与音频对象相关联的空间位置元数据中指示的空间位置与簇的质心之间的距离(例如,欧几里得距离等)来确定音频对象的空间位置的相似度。
基于音频对象到渲染元数据类别的指派来将音频对象指派和/或渲染到经分配的簇可以涉及通过将音频对象分配到与相同渲染元数据类别相关联的簇来保持渲染元数据类别。例如,在一些实施例中,过程200可以将音频对象指派到经分配的簇,使得如图1A示出并且上面结合图1描述的,被指派到第一渲染元数据类别(例如,“旁路模式”)的音频对象禁止被指派和/或渲染到分配到第二渲染元数据类别(例如,“虚拟化模式”)的簇。在一些实施方式中,基于音频对象到渲染元数据类别的指派来将音频对象指派和/或渲染到经分配的簇可以涉及允许音频对象被指派到与不同渲染元数据类别相关联的簇。例如,在一些实施例中,过程200可以将音频对象指派和/或渲染到经分配的音频对象簇,使得如图1B示出并且上面结合图1B描述的,被指派到第一渲染元数据类别(例如,“旁路模式”)的音频对象允许指派到分配到第二渲染元数据类别(例如,“虚拟化模式”)的音频对象簇。举例来说,在音频对象的跨类别指派减少空间失真(例如,由于音频对象簇相对于音频对象位置的位置)的情况下,音频对象的跨类别指派可能是令人期望的。应当注意,当被渲染到与不同渲染元数据类别相关联的音频对象簇时,音频对象的跨类别指派可能会引入音频对象的感知质量的音色变化。作为另一个示例,在一些实施例中,过程200可以指派音频对象,使得允许对与特定渲染元数据类别内的第一渲染元数据类型(例如,“近”虚拟化)相关联的音频对象和与第二渲染元数据类型(例如,“中”虚拟化)相关联的其他音频对象进行聚类,如关于图1A和图1B中的类别104所示。应当注意,用于将音频对象指派和/或渲染到受到各种约束的经分配的音频对象簇的示例过程在图4中示出并在下面结合图4进行描述。
将音频对象指派和/或渲染到特定簇可以包括确定音频对象到簇增益,该增益指示对象当被渲染为音频对象簇的一部分时向其施加的增益。对于特定音频对象j和音频对象簇c,音频对象到簇增益在本文中一般表示为如上所述,应当注意,音频对象j可以被渲染到多个音频对象簇,其中,针对特定音频对象j和特定簇c的音频对象到簇增益指示当将音频对象j作为簇c的一部分渲染时施加到音频对象的增益。在一些实施方式中,增益/>可以在0到1的范围内,其中,该值指示当将音频对象j渲染到音频对象簇c时要被施加的针对音频对象j的输入音频信号的比率。在一些实施方式中,在所有簇c上特定音频对象j的增益总和为1,这指示与音频对象j相关联的输入音频信号的整体必须分布在所有簇上。
图3示出了根据一些实施方式的用于生成跨多个渲染元数据类别的簇分配的过程300的示例。过程300的框可以在任何合适的设备上实施,比如在基于包括在输入音频信号中的音频对象生成编码音频信号的服务器上实施。应当注意,过程300概括地描述了关于音频内容的单个帧的过程,然而,应当理解,在一些实施例中,过程300的框可以针对音频内容的一个或多个其他帧重复,例如以得到音频内容的多个帧的簇分配。在一些实施方式中,过程300的一个或多个框可以省略。另外,在一些实施方式中,过程300的两个或更多个框可以基本上并行地执行。过程300的框可以以任何顺序执行,不限于图3所示的顺序。
一般而言,过程300可以开始于将簇初始分配到渲染元数据类别。在一些实施方式中,过程300可以迭代地循环通过下面描述的框304-318,以便在开始于初始分配之后将簇最优地分配到渲染元数据类别。在一些实施方式中,可以通过最小化全局成本函数来优化分配,该全局成本函数组合了每个渲染元数据类别的成本函数。渲染元数据类别的成本函数在本文中一般称为“类别内成本函数”。渲染元数据类别的类别内成本函数可以指示与在通过框304-318的当前迭代期间将音频对象指派到分配到渲染元数据类别的特定簇相关联的成本。在一些实施方式中,类别内成本函数可以基于对应的类别内惩罚函数,如下面结合框314所描述的。类别内惩罚函数可以取决于一个或多个类别内惩罚项,如下面结合框304-310所描述的。每个类别内惩罚项可以依次取决于针对特定音频对象j和簇c的音频对象到簇增益,本文一般表示为可以通过最小化特定渲染元数据类别的总组内惩罚函数来确定对象到簇增益(例如,如下面结合框312所描述的),其中,与该类别相关联的总组内惩罚函数是各个类别内惩罚项的总和。换言之,过程300可以针对在通过框304-318的当前迭代期间簇到渲染元数据类别的当前分配,经由过程300的框304-312确定最小化每个渲染元数据类别的类别内惩罚函数的对象到簇增益。对象到簇增益可以用于确定每个渲染元数据类别的类别内成本函数。然后可以组合类别内成本函数以生成全局成本函数。然后可以通过最小化全局成本函数来重新分配簇。
过程300可以开始于302,即确定簇到渲染元数据类别的初始分配,其中,每个渲染元数据类别被分配有簇的子集。在一些实施方式中,可以分配簇,使得经分配的簇的总数量小于或等于预定最大簇数量,本文一般表示为Mtotal。例如,在第一渲染元数据类别被分配有m个簇并且第二渲染元数据类别被分配有n个簇的情况下,m+n≤Mtotal。Mtotal可以基于比如要聚类的音频对象的总数量、基于经聚类的音频对象的用于传输编码音频信号的可用带宽等任何合适的标准来确定。例如,可以确定Mtotal,使得具有Mtotal个簇的用于传输编码音频信号的带宽小于阈值带宽。在一些实施方式中,每个渲染元数据类别可以被分配有至少一个簇。
过程300可以确定每个初始分配的簇的质心。例如,在一些实施方式中,可以基于被指派到与簇相关联的渲染元数据类别的感知上最显著的音频对象来确定簇的质心。作为更具体的示例,对于初始被分配有m个簇的第一渲染元数据类别(例如,“旁路模式”),m个簇中的每个簇的质心可以至少部分地基于被指派到第一渲染元数据类别的音频对象的感知显著性来确定。例如,在一些实施方式中,可以识别指派到第一渲染元数据类别的m个感知上最显著的音频对象。这m个感知上最显著的音频对象可以基于各种标准来识别,比如其响度、与被指派到第一渲染元数据类别的其他音频对象的空间距离、与第一渲染元数据类别中的音频对象相关联的音色差异等。在一些实施方式中,音频对象的感知显著性可以基于音频对象之间的差异来确定。例如,对于包括语音内容的音频对象,在与两个音频对象相关联的语音内容采用不同语言的情况下,这两个音频对象可以被确定为在感知上对于彼此而言是显著的。分配到每个渲染元数据类别的音频对象簇的质心可以以类似的方式确定。
在304处,过程300可以针对每个渲染元数据类别生成第一类别内惩罚项,该第一类别内惩罚项指示指派或渲染到该类别中的初始分配的音频对象簇的音频对象的位置与初始分配的音频对象簇的位置(例如,质心位置)之间的差异。
音频对象j的位置在本文中一般称为pj。在一些实施方式中,音频对象j的位置由音频内容创建者指定。簇c的位置在本文中一般称为pc。簇c的位置可以指示簇c的质心的位置,如上面结合框302所描述的。
音频对象j在被渲染到一个或多个簇之后的重构位置在本文一般称为用于计算/>的方程的示例由下式给出:
在一些实施方式中,pj、pc和可以是表示音频对象j在被渲染到一个或多个簇时的空间位置的三维向量。该空间位置可以用笛卡尔坐标表示。
第一类别内惩罚项可以指示音频对象在被指派或渲染到一个或多个簇时的位置与音频对象的原始位置之间的聚合差异(本文中一般称为Ep)。用于确定指示音频对象在被渲染到一个或多个簇时的位置与音频对象的原始位置之间的聚合差异的第一类别内惩罚项的示例方程由下式给出:
应当注意的是,关于上面描述的第一类别内惩罚项以及下面结合框306-310描述的其他类别内惩罚项,这些类别内惩罚项一般是关于单个音频对象j来描述的。可以针对每个音频对象计算类别内惩罚项,并且可以在被指派到特定渲染元数据类别的所有音频对象上计算总和。
在306处,过程300可以针对每个渲染元数据类别生成第二类别内惩罚项,该第二类别内惩罚项指示指派或渲染到该类别中的初始分配的簇的音频对象与该类别中的簇之间的距离。第二类别内成本在本文中一般称为ED。第二类别内成本ED可以基于音频对象j与音频对象j被指派到的簇c之间的距离测量来确定。用于计算ED的示例方程由下式给出:
在上面的方程中,表示音频对象j的位置与簇c的位置之间的距离。由于定位在左侧区域中的音频对象在被渲染到右侧区域中的簇(或反之亦然)时将生成感知伪影,因此音频对象j的位置与簇c的位置之间的距离是能有效地惩罚在进行双耳渲染时将音频对象j指派到定位在不同的方位半球中的簇c的经修改距离。用于计算音频对象j与簇c之间的修改距离的示例方程由下式给出:
在上面的方程中,Λ可以表示3×3对角矩阵,其由下式给出:
在上式中,λxx可以取决于音频对象j以及簇c的位置是否位于不同的左侧/右侧区域而不同。用于确定λxx的值的方程示例由下式给出:
在上式中,xj和xc分别表示音频对象位置和簇位置的x坐标。在上式中,a是介于0和1之间的常数。
在308处,过程300可以针对每个渲染元数据类别生成第三类别内惩罚项,该第三类别内惩罚项指示音频对象在被指派或渲染到分配到渲染元数据类别的各个簇时的响度保持。换言之,第三类别内惩罚项可以指示音频对象在被渲染到各个簇时的能量或幅度的变化,其中,能量或幅度被收听者感知为响度。因此,通过最小化第三类别内惩罚项,可以最小化由于渲染具有增强或减弱的幅度(以及因此增强或减弱的响度)的音频对象而引入的感知伪影。第三类别内惩罚项在本文中一般称为EN。用于计算第三类别内惩罚项的方程示例由下式给出:
在一些实施方式中,在310处,过程300可以生成第四类别内惩罚项,该第四类别内惩罚项指示与音频对象相关联的渲染元数据类型和该音频对象被指派或渲染到的簇的渲染元数据类型之间的不匹配。应当注意,对于不包括渲染元数据类别内的多个渲染元数据类型的类别,可以省略框310。例如,对于渲染元数据的“旁路模式”类别,可以不计算第四类别内惩罚项。
作为示例,在耳机渲染的情况下,第四类别内惩罚项可以指示与音频对象的渲染元数据的“虚拟化模式”类别相关联的虚拟化类型(例如,“近”、“中”或“远”)和该音频对象被指派或渲染到的一个或多个簇的虚拟化类型之间的不匹配。实际上,第四类别内惩罚项可以惩罚例如将具有特定虚拟化类型(例如,“近”、“中”或“远”)的音频对象指派到与不同虚拟化类型相关联的簇。在一些实施方式中,惩罚量可以取决于不同虚拟化类型之间的距离。例如,相对于将具有“近”虚拟化类型的第二音频对象指派到与“中”虚拟化类型相关联的簇,将具有“近”虚拟化类型的第一音频对象指派到与“远”虚拟化类型相关联的簇可以与更大的惩罚相关联。用于计算第四类别内惩罚项(本文中通常称为EG)的方程示例为:
在上面给出的方程中,UHRM(j)HRM(c)可以表示矩阵U的元素,该元素定义音频对象j和簇c的虚拟化类型的各种组合的惩罚权重。矩阵U的每一行可以指示与音频对象相关联的虚拟化类型,并且矩阵U的每一列可以指示与音频对象已被指派或渲染到的簇相关联的虚拟化类型。例如,矩阵元素[HRM(j),HRM(c)]可以指示由HRM(j)指示的虚拟化类型的音频对象j在被指派或渲染到具有虚拟化类型HRM(c)的簇c时的惩罚权重。在一些实施方式中,矩阵U可以是对称的,使得相同的惩罚权重被用于具有第一虚拟化类型的音频对象在被指派或渲染到具有第二虚拟化类型的簇时、以及具有虚拟化类型的音频对象在被指派或渲染到具有第一虚拟化类型的簇时。在一些实施方式中,矩阵U的对角线可以是0,这指示与音频对象相关联的虚拟化类型和与簇相关联的虚拟化类型的相似度。可以使用的矩阵U的具体示例为:
在312处,过程300可以针对每个音频对象和分配到与该音频对象相关联的渲染元数据类别的簇来确定对象到簇增益。对象到簇增益可以通过最小化对应于与音频对象相关联的渲染元数据类别的类别惩罚函数来确定。例如,对于与渲染元数据的“旁路模式”类别相关联的音频对象,可以针对分配到渲染元数据的“旁路模式”类别的一个或多个簇来确定该音频对象的对象到簇增益。作为另一个示例,对于与渲染元数据的“虚拟化模式”类别相关联的音频对象,可以针对分配到渲染元数据的“虚拟化模式”类别的一个或多个簇来确定该音频对象的对象到簇增益。
特定渲染元数据类别的类别惩罚函数可以被确定为在框304-310确定的任一类别内惩罚项的总和(例如,加权和)。例如,在一些实施方式中,渲染元数据的“虚拟化模式”类别的类别惩罚函数可以是在框304处确定的第一类别内惩罚项、在框306处确定的第二类别内惩罚项、在框308处确定的第三类别内惩罚项和/或在框310处确定的第四类别内惩罚项的加权和。作为在框304-310处确定的类别内惩罚项的加权和(并且在一些实施方式中可以用作渲染元数据的“虚拟化模式”类别的类别惩罚函数)的类别惩罚函数的方程示例由下式给出:
Ecat1=wPEP+wDED+wNEN+wGEG
在一些实施方式中,可以计算不包括指示与音频对象相关联的渲染元数据类型和该音频对象被指派或渲染到的簇的渲染元数据类型之间的不匹配的惩罚项的类别惩罚函数。例如,可以针对“旁路模式”类别确定这样的类别惩罚函数。在一些实施方式中,这样的类别惩罚函数可以是在框304处确定的第一类别内惩罚项、在框306处确定的第二类别内惩罚项和/或在308处确定的第三类别内惩罚项的加权和。作为在框304-308处确定的类别内惩罚项的加权和(并且在一些实施方式中可以用作渲染元数据的“旁路模式”类别的类别惩罚函数)的类别惩罚函数的方程示例由下式给出:
Ecat2=wPEP+wDED+wNEN
应当注意,在上面给出的为了计算类别惩罚函数Ecat2的示例中,该类别惩罚函数可以通过将第四个类别内惩罚项EG设置为0来从类别惩罚函数Ecat1得到。
应当注意,上面描述的示例类别惩罚函数仅仅是说明性的。在一些实施方式中,类别惩罚函数可以是任何合适的类别内惩罚项的加权和,比如第一类别内惩罚项和第二类别内惩罚项的加权和、第二类别内惩罚项和第四类别内惩罚项的加权和等。
如上所述,对于与特定渲染元数据类别相关联的给定的音频对象j,可以通过最小化与渲染元数据类别相关联的类别惩罚函数来确定对象到簇增益的向量,这些对象到簇增益指示音频对象j在被渲染到一个或多个簇时的增益(例如,指示为向量的元素)。例如,对于与渲染元数据的“旁路模式”类别相关联的音频对象,可以通过最小化“旁路模式”类别惩罚函数(例如,在上面的方程中的Ecat2)来确定对象到簇增益。可以通过最小化相关联的类别惩罚函数E来计算音频对象j的增益向量,称为例如,可以求解方程/>其中,E是与音频对象j相关联的渲染元数据类别的类别成本函数。
在314处,过程300可以针对每个渲染元数据类别,基于与渲染元数据类别相关联的音频对象的对象到簇增益来计算类别内成本函数。在一些实施方式中,可以基于渲染元数据类别内的音频对象的响度来确定类别内成本函数。另外或可替代地,在一些实施方式中,可以基于对应的类别内惩罚函数(例如,如上面描述的Ecat1和/或Ecat2等)来确定类别内成本函数。用于计算基于类别内惩罚函数E确定的类别内成本函数的示例方程由下式给出:
在上面给出的方程中,N′j表示音频对象j的部分响度。应当注意,类别内成本函数可以至少部分地基于以下各项的任何组合:1)相对于分配到音频对象簇的音频对象的位置的这些音频对象簇的位置(例如,基于上面在框304处描述的第一类别内惩罚项);2)相对于音频对象已被指派到的簇的左右放置的该音频对象的左右放置(例如,基于上面在框306处描述的第二类别内惩罚项);3)音频对象到该音频对象已被指派到的簇的距离(例如,基于上面在框306处描述的第二类别内惩罚项);4)音频对象的响度(例如,基于上面在框308处描述的第三类别内惩罚项);和/或5)与音频对象相关联的渲染元数据类型和与该音频对象已被指派到的簇相关联的渲染元数据类型的相似度(例如,基于上面在框310处描述的第四类别内惩罚项)。
在一些实施方式中,类别内成本函数可以被确定为音频对象与簇之间的位置差异的响度加权和。用于基于位置差异计算类别内成本函数的示例方程由下式给出:
应当注意,可以针对每个渲染元数据类别来确定类别内成本函数。例如,第一类别内成本函数l1可以针对渲染元数据的“虚拟化模式”类别来确定,并且第二类别内成本函数l2可以针对渲染元数据的“旁路模式”类别来确定。类似地,当对音频对象进行聚类以便以扬声器渲染模式进行渲染时,可以计算区域遮罩类别、捕捉类别等的类别内成本函数。
在316处,过程300可以计算将跨不同渲染元数据类别的类别成本函数进行组合的全局成本函数。例如,全局成本函数可以将与渲染元数据的“虚拟化模式”类别相关联的第一类别成本函数(例如,在上面给出的示例中的l1)和与渲染元数据的“旁路模式”类别相关联的第二类别成本函数(例如,在上面给出的示例中的l2)进行组合。用于计算全局成本函数的示例方程(本文通常称为lglobal)由下式给出:
lglobal=al1+(1-a)l2
在上面给出的方程中,a是指示每个渲染元数据类别的权重或重要性的加权常数。
在318处,过程300可以至少部分地基于在框316处确定的全局成本函数来将簇重新分配到渲染元数据类别。例如,在一些实施方式中,过程300可以通过针对每个类别选择最小化全局成本函数lglobal的簇数量来重新分配簇。作为更具体的示例,在一些实施方式中,过程300可以将要分配到第一渲染元数据类别的簇的数量选择为m,并且将要分配到第二渲染元数据类别的簇的数量选择为n。
在一些实施方式中,当前帧中要分配到特定渲染元数据类别的簇的数量可以不同于先前帧中要分配到特定渲染元数据类别的簇的数量(例如,作为向先前帧应用过程300的结果)。在一些实施方式中,分配到当前帧的簇的数量相对于分配到先前帧的簇的数量的变化可以是由于:当前帧中指示的音频对象数量相对于先前帧中指示的音频对象数量不同、当前帧中指示的活动音频对象数量相对于先前帧中指示的活动音频对象数量不同、和/或活动音频对象跨音频信号帧的空间位置变化。作为示例,在当前帧中可以将m个簇分配到第一渲染元数据类别,而在先前帧中将m’个簇分配到第一渲染元数据类别。在要在当前帧中添加包括被指派到不同渲染元数据类别的音频对象的两个重叠信号的情况下并且在当前帧中不存在可用于分配到第一类别的空闲簇的情况下,渲染可能引入伪影。通过添加先前未分配到任何渲染元数据类别的附加簇来将附加簇添加到特定渲染元数据类别可以允许更准确地对被指派到特定渲染元数据类别的音频对象进行聚类,同时不引入渲染伪影。
在一些实施方式中,给定在先前帧中m'个簇被分配到第一渲染元数据类别、在该先前帧中n'个簇被分配到第二渲染元数据类别、、在当前帧中m个簇被分配到第一渲染元数据类别、并且在当前帧中n个簇被分配到第二渲染元数据类别,第一渲染元数据类别和第二渲染元数据类别中的簇的增加分别由下式给出:
Δm=max(0,m-m′)并且Δn=max(0,n-n′)
可用于分配到第一类别渲染元数据或第二类别渲染元数据的簇的数量可以由下式给出:mfree=Mtotal–(m’+n’)。在一些实施方式中,过程300可以通过最小化lglobal(m,n)以使得满足下式来将簇重新分配到第一渲染元数据类别和第二渲染元数据类别:
m+n≤Mtotal以及Δm+Δn≤mfree。应当注意,在不允许音频对象的跨类别指派(例如,指派到与除了同音频对象相关联渲染元数据类别之外的渲染元数据类别相关联的簇)的情况下,过程300可以在此约束下重新分配簇。
举例来说,在Mtotal为21(例如,最大有21个簇可以分配到所有渲染元数据类别)并且m’为11且n’为10的情况下,mfree为0,因为m’+n’=Mtotal。继续该示例,过程300然后可以在框318处确定:m和n都无法增大,因为没有可用于分配的簇。作为具体示例,如果m被设置为13并且n被设置为8(例如,以满足标准m+n≤Mtotal),则Δm为2并且Δn为0。然而,由于Δm+Δn=2,这大于mfree(其为0),因此过程300可以确定13对于当前帧而言并非有效的m值。
应当注意,虽然上面的示例描述了两个渲染元数据类别,但是相同的技术可以应用于任何合适数量的渲染元数据类别(例如,三个、四个等)。例如,过程300可以最小化lglobal(mi),使得∑imi≤Mtotal并且∑iΔmi≤mfree。
然后,过程300可以循环回到框304。过程300可以循环通过框304-318,直到达到停止标准为止。停止标准的示例包括确定已经达到在框316处确定的全局成本函数的最小值、已经通过框304-318执行了多于预定阈值的迭代次数等。在一些实施方式中,作为循环通过框304-318直到达到停止标准为止的结果而确定的分配可以称为“最优分配”。
应当注意,过程300的框可以被执行以确定针对输入音频信号的特定帧的簇到渲染元数据类别的分配。可以针对输入音频信号的其他帧重复过程300的框,以确定针对输入音频信号的其他帧的簇到渲染元数据类别的分配。例如,在一些实施方式中,过程300可以针对输入音频信号的每个帧、针对输入音频信号的每隔一个帧等重复过程300的框。
图4示出了根据一些实施方式的用于将音频对象渲染到簇的过程400的示例。过程400的框可以在任何合适的设备上实施,比如在基于包括在输入音频信号中的音频对象生成编码音频信号的服务器上实施。应当注意,过程400概括地描述了关于音频内容的单个帧的过程,然而,应当理解,在一些实施例中,过程400的框可以针对音频内容的一个或多个其他帧重复,例如以生成作为输入音频信号的压缩版本的完整输出音频信号。在一些实施方式中,过程400的一个或多个框可以省略。另外,在一些实施方式中,过程400的两个或更多个框可以基本上并行地执行。过程400的框可以以任何顺序执行,不限于图4所示的顺序。
过程400可以开始于402,即获得簇到渲染元数据类别的分配。例如,分配可以指示将一定数量的簇分配到每个渲染元数据类别。作为更具体的示例,分配可以指示将第一数量的簇分配到第一渲染元数据类别(例如,渲染元数据的“旁路模式”类别)并将第二数量的簇分配到第二渲染元数据类别(例如,渲染元数据的“虚拟化模式”类别)。在扬声器渲染模式中,其他渲染元数据类别可以包括渲染元数据的“捕捉”类别、渲染元数据的“区域遮罩”类别等。在一些实施方式中,簇的分配还可以指示每个簇的质心位置。在一些实施方式中,每个簇的质心位置可以用于计算惩罚函数,该惩罚函数用于在框404处确定对象到簇增益。
在一些实施方式中,簇到渲染元数据类别的分配可以是优化过程的结果,该优化过程受制于各种约束或标准(例如,受最大簇数量影响)来确定簇到渲染元数据类别的最优分配。用于确定簇到渲染元数据类别的分配的示例过程在图3中示出并且上面结合图3进行描述。
应当注意,可以针对输入音频信号的各个帧指定簇到渲染元数据类别的分配。例如,所获得的分配可以指示:针对输入音频信号的第一帧,将m’个簇分配到第一渲染元数据类别,并且针对输入音频信号的第二帧,将m个簇分配到第一渲染元数据类别。输入音频信号的第一帧和输入音频信号的第二帧可以是或可以不是连续的帧。
在404处,过程400可以针对输入音频信号的帧中的每个音频对象确定被分配到与该音频对象相关联的渲染元数据类别的簇的对象到簇增益。例如,在音频对象与渲染元数据的“旁路模式”类别相关联并且m个簇已被分配到渲染元数据的“旁路模式”类别的情况下,过程400可以确定音频对象在被渲染到分配到渲染元数据的“旁路模式”类别的m个簇时的对象到簇增益。应当注意,渲染到特定簇的特定音频对象的对象到簇增益可以是0,这指示音频对象没有被指派或渲染到该簇。
在一些实施方式中,过程400可以通过单独最小化每个渲染元数据类别的类别惩罚函数来确定对象到簇增益。应当注意,通过单独最小化每个渲染元数据类别的惩罚函数来确定对象到簇增益将禁止将与第一渲染元数据类别相关联的音频对象指派或渲染到分配到第二渲染元数据类别的簇,其中,第一渲染元数据类别不同于第二渲染元数据类别。例如,在这样的实施方式中,将禁止将与渲染元数据的“旁路模式”类别相关联的音频对象指派和/或渲染到分配到渲染元数据的“虚拟化模式”类别的簇。这种聚类的示例在图1A中示出并且上面结合图1A进行描述。
在一些实施方式中,类别惩罚函数可以是结合图3的框312描述的类别惩罚函数。例如,结合过程300的框的迭代,类别惩罚函数可以是当达到停止标准时针对最终分配确定的最终类别惩罚函数。作为具体示例,在确定四个类别内惩罚项的情况下(例如,在耳机渲染模式情况下,并且针对渲染元数据的“虚拟化模式”类别),类别惩罚函数可以是(如结合图3的框312所描述的):
E=wPEP+wDED+wNEN+wGEG
作为另一个具体示例,在确定三个类别内惩罚项的情况下(例如,在耳机渲染模式情况下,并且针对渲染元数据的“旁路模式”类别),类别惩罚函数可以是(如结合图3的框312所描述的):
E=wPEP+wDED+wNEN
举例来说,在耳机渲染模式的情况下,过程400可以通过最小化与渲染元数据的“旁路模式”类别相关联的第一惩罚函数并且针对分配到“旁路模式”类别的簇(例如,如在框402处获得的分配中所指示的)来确定与“旁路模式”类别相关联的第一组音频对象的第一组对象到簇增益。继续该示例,过程400可以通过最小化与渲染元数据的“虚拟化模式”类别相关联的第二惩罚函数并且针对分配到“虚拟化模式”类别的簇(例如,如在框402处获得的分配中所指示的)来确定与“虚拟化模式”类别相关联的第二组音频对象的第二组对象到簇增益。
可替代地,在一些实施方式中,过程400可以通过最小化联合惩罚函数(例如,考虑所有渲染元数据类别)来确定对象到簇增益。在这样的实施方式中,与第一渲染元数据类别相关联的音频对象可以被指派或渲染到分配到第二渲染元数据类别的簇,其中,第一渲染元数据类别不同于第二渲染元数据类别。例如,在这样的实施方式中,与渲染元数据的“旁路模式”类别相关联的音频对象可以被指派和/或渲染到分配到渲染元数据的“虚拟化模式”类别的簇。这种簇的示例在图1B中示出并且上面结合该图进行描述。
表示联合惩罚函数的示例方程是:
E=w′PEP+w′DED+w′NEN+w′GE′G
在上面的方程中,EP、ED和EN分别表示框304、306和308中描述的第一惩罚项、第二惩罚项和第三惩罚项。因此,EP、ED和EN可以使用上面结合图3的框304、306和308描述的技术并考虑跨所有渲染元数据类别的音频对象和簇来确定。与上面结合框312所描述的类似,w′P、w′D、w′N和w′G表示每个惩罚项对整体联合惩罚函数的相对重要性。
E′G表示:1)与将与第一类别相关联的音频对象指派或渲染到分配到第二渲染元数据类别的簇之间的不匹配相关联的惩罚;以及2)与音频对象的渲染元数据类型和该音频对象被指派或渲染到的簇的渲染元数据类型之间的不匹配相关联的惩罚(其中,音频对象的渲染元数据类型和簇在相同的渲染元数据类别中)。举例来说,在耳机渲染的情况下,E′G可以指示对将与渲染元数据的“旁路模式”类别相关联的音频对象指派和/或渲染到渲染元数据的“虚拟化模式”类别的惩罚。继续这个示例,E′G可以另外或可替代地指示对将与“近”虚拟化类型相关联的音频对象指派到主要与“中”或“远”虚拟化类型相关联的簇的惩罚。用于确定E′G的示例方程由下式给出:
在上面的方程中,U表示如下的矩阵,该矩阵指示对将与渲染模式mode(j)相关联的音频对象j指派和/或渲染到与渲染模式mode(c)相关联的簇的惩罚。举例来说,在耳机渲染的情况下,模式的示例(例如,mode(j)和mode(c)的示例值)可以包括“旁路模式”、“近”虚拟化、“中”虚拟化和“远”虚拟化。在耳机渲染的情况下,U可以是4×4矩阵,其中,行指示与音频对象相关联的模式,并且列指示与音频对象被指派或渲染到的簇相关联的模式。作为更具体的示例,在一些实施方式中,U的前三行和前三列可以对应于不同的虚拟化类型(例如,“近”、“中”和“远”),并且U的第四行和第四列可以对应于旁路模式。这样的矩阵U的示例是:
如在上面的示例矩阵U中所示,与渲染元数据的“旁路模式”类别相关联的音频对象在被指派到分配到渲染元数据的“虚拟化模式”类别的簇时会受到严重惩罚(如U的最后一行中的1所指示的)。类似地,与渲染元数据的“虚拟化模式”类别的任何类型(例如,“近”、“中”和/或“远”虚拟化类型中的任何一个)相关联的音频对象在被指派到分配到渲染元数据的“旁路模式”类别的簇时可能受到严重惩罚(如U的最后一列中的1所指示的)。换言之,与将音频对象指派或渲染到相同渲染元数据类别内的其他渲染元数据类型相比,音频对象的跨类别指派或渲染受到的惩罚相对更大。举例来说,与“近”虚拟化类型相关联的音频对象可以被指派到与“中”虚拟化类型相关联的簇,其中,惩罚为0.3,可以被指派到与“远”虚拟化类型相关联的簇,其中,惩罚为0.7,并且可以被指派到与“旁路模式”渲染元数据相关联的跨类别簇,其中,惩罚为1。
在406处,过程400可以基于每个音频对象的对象到簇增益(例如,如在框404处确定的)来生成输出音频信号。输出音频信号可以包括根据针对每个音频对象确定的对象到簇增益而被指派或渲染到一个或多个簇的每个音频对象。用于生成特定簇c的输出音频信号(本文一般称为Iout,c)的示例方程是:
如上面的方程中所指示的,输入音频信号Iin,j中指示的j音频对象簇被迭代遍历,并且各自基于对象到簇增益被渲染到一个或多个簇c。
应当注意,过程400的框可以针对输入音频信号的一个或多个其他帧重复,使得输入音频信号的该一个或多个其他帧中指示的音频对象被指派或渲染到各个簇,从而生成包括输入音频信号的多个帧(例如,输入音频信号的所有帧)的完整输出音频信号。在一些实施方式中,完整输出音频信号可以被保存、传输到设备(例如,比如移动设备等用户设备、电视、扬声器等)以供呈现等。
图5是示出了能够实施本公开的各个方面的装置的部件的示例的框图。与本文提供的其他图一样,图5中示出的元件的类型和数量仅作为示例提供。其他实施方式可以包括更多、更少和/或不同类型和数量的元件。根据一些示例,装置500可以被配置用于执行本文公开的方法中的至少一些方法。在一些实施方式中,装置500可以是或可以包括电视、音频***的一个或多个部件、移动设备(比如蜂窝电话)、膝上型计算机、平板设备、智能扬声器或另一种类型的设备。
根据一些替代性实施方式,装置500可以是或者可以包括服务器。在一些这样的示例中,装置500可以是或者可以包括编码器。因此,在一些情况下,装置500可以是被配置用于在如家庭音频环境的音频环境内使用的设备,然而在其他情况下,装置500可以是被配置用于在“云”中使用的设备,例如,服务器。
在该示例中,装置500包括接口***505和控制***510。在一些实施方式中,接口***505可以被配置用于与音频环境的一个或多个其他设备进行通信。在一些示例中,音频环境可以是家庭音频环境。在其他示例中,音频环境可以是另一种类型的环境,如办公室环境、汽车环境、火车环境、街道或人行道环境、公园环境等。在一些实施方式中,接口***505可以被配置用于与音频环境的音频设备交换控制信息和相关联的数据。在一些示例中,控制信息和相关联的数据可以与装置500正执行的一个或多个软件应用程序有关。
在一些实施方式中,接口***505可以被配置用于接收内容流或用于提供内容流。内容流可以包括音频数据。音频数据可以包括但可以不限于音频信号。在一些情况下,音频数据可以包括如声道数据和/或空间元数据等空间数据。在一些示例中,内容流可以包括视频数据和与视频数据相对应的音频数据。
接口***505可以包括一个或多个网络接口和/或一个或多个外部设备接口(如一个或多个通用串行总线(USB)接口)。根据一些实施方式,接口***505可以包括一个或多个无线接口。接口***505可以包括用于实施用户接口的一个或多个设备,如一个或多个麦克风、一个或多个扬声器、显示***、触摸传感器***和/或手势传感器***。在一些示例中,接口***505可以包括控制***510与存储器***(如图5中示出的可选存储器***515)之间的一个或多个接口。然而,在一些情况下,控制***510可以包括存储器***。在一些实施方式中,接口***505可以被配置用于从环境中的一个或多个麦克风接收输入。
例如,控制***510可以包括通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、离散门或晶体管逻辑和/或离散硬件部件。
在一些实施方式中,控制***510可以驻留在超过一个设备中。例如,在一些实施方式中,控制***510的一部分可以驻留在本文描绘的环境之一内的设备中,并且控制***510的另一部分可以驻留在环境之外的设备中,如服务器、移动设备(例如,智能电话或平板计算机)等中。在其他示例中,控制***510的一部分可以驻留在一个环境内的设备中,并且控制***510的另一部分可以驻留在环境的一个或多个其他设备中。例如,控制***510的一部分可以驻留在实施基于云的服务的设备(如服务器)中,并且控制***510的另一部分可以驻留在实施基于云的服务的另一设备(如另一服务器、存储器设备等)中。在一些示例中,接口***505还可以驻留在多于一个设备中。
在一些实施方式中,控制***510可以被配置用于至少部分地执行本文公开的方法。根据一些示例,控制***510可以被配置用于实施对音频对象进行聚类的方法。
本文描述的一些或所有方法可以由一个或多个设备根据存储在一个或多个非暂态介质上的指令(例如,软件)来执行。这样的非暂态介质可以包括如本文描述的存储器设备等存储器设备,包括但不限于随机存取存储器(RAM)设备、只读存储器(ROM)设备等。例如,一个或多个非暂态介质可以驻留在图5中所示出的可选存储器***515和/或控制***510中。因此,可以在其上存储有软件的一个或多个非暂态介质中实施本公开中所描述的主题的各个创新方面。该软件可以例如包括用于确定簇到各种渲染元数据类别的分配、将音频对象指派或渲染到经分配的簇等的指令。该软件可以例如可由比如图5的控制***510的控制***的一个或多个部件来执行。
在一些示例中,装置500可以包括图5中示出的可选麦克风***520。可选麦克风***520可以包括一个或多个麦克风。在一些实施方式中,一个或多个麦克风可以是另一设备(如扬声器***的扬声器、智能音频设备等)的一部分或与另一个设备相关联。在一些示例中,装置500可以不包括麦克风***520。然而,在一些这样的实施方式中,装置500仍然可以被配置为经由接口***510接收音频环境中的一个或多个麦克风的麦克风数据。在一些这样的实施方式中,装置500的基于云的实施方式可以被配置成经由接口***510从音频环境中的一个或多个麦克风接收麦克风数据或至少部分地与麦克风数据相对应的噪声指标。
根据一些实施方式,装置500可以包括图5中示出的可选扩音器***525。可选扩音器***525可以包括一个或多个扩音器,该扩音器在本文中也可以被称为“扬声器”,或更通常地被称为“音频再现换能器”。在一些示例(例如,基于云的实施方式)中,装置500可以不包括扩音器***525。在一些实施方式中,装置500可以包括耳机。耳机可以经由耳机插孔或经由无线连接(例如,蓝牙)连接或耦接到装置500。
本公开的一些方面包括一种被配置(例如,被编程)成执行所公开方法的一个或多个示例的***或设备,以及一种存储用于实施所公开方法或其步骤的一个或多个示例的代码的有形计算机可读介质(例如,磁盘)。例如,一些公开的***可以是或者包括可编程通用处理器、数字信号处理器或微处理器,该可编程通用处理器、数字信号处理器或微处理器用软件或固件编程为和/或以其他方式被配置成对数据执行各种操作中的任一个,包括所公开方法或其步骤的实施例。这样的通用处理器可以是或者包括计算机***,该计算机***包括输入设备、存储器和处理子***,该处理子***被编程(和/或以其他方式被配置)为响应于向其断言的数据而执行所公开方法(或其步骤)的一个或多个示例。
一些实施例可以被实施为可配置的(例如,可编程的)数字信号处理器(DSP),该数字信号处理器被配置(例如,被编程和以其他方式被配置)为对一个或多个音频信号执行需要的处理,包括对所公开方法的一个或多个示例的执行。可替代地,所公开***(或其元件)的实施例可以被实施为通用处理器(例如,个人计算机(PC)或其他计算机***或微处理器,其可以包括输入设备和存储器),该通用处理器用软件或固件编程为和/或以其他方式被配置成执行各种操作中的任一个,包括所公开方法的一个或多个示例。替代性地,本发明***的一些实施例的元件被实施为被配置(例如,被编程)成执行所公开方法的一个或多个示例的通用处理器或DSP,并且该***还包括其他元件(例如,一个或多个扩音器和/或一个或多个麦克风)。被配置成执行所公开方法的一个或多个示例的通用处理器可以耦接到输入设备(例如,鼠标和/或键盘)、存储器和显示设备。
本公开的另一方面是一种计算机可读介质(例如,磁盘或其他有形存储介质),该计算机可读介质存储用于执行所公开方法或其步骤的一个或多个示例的代码(例如,可执行以执行所公开方法或其步骤的一个或多个示例的编码器)。
虽然在本文中已经描述了本公开的具体实施例和本公开的应用,但是对于本领域普通技术人员而言显而易见的是,在不脱离本文描述的并要求保护的本公开的范围的情况下,可以对本文描述的实施例和应用进行许多改变。应当理解,虽然已经示出和描述了本公开的某些形式,但是本公开不限于所描述和示出的具体实施例或所描述的具体方法。
所枚举的示例实施例:
示例1.一种用于对音频对象进行聚类的方法,该方法包括:识别多个音频对象,其中,音频对象与指示空间位置信息的元数据和渲染元数据相关联;将所述多个音频对象中的音频对象指派到多个渲染元数据类别中的渲染元数据类别,其中,至少一个渲染元数据类别包括要保持的多个渲染元数据类型;确定多个音频对象簇到每个渲染元数据类别的分配,其中,音频对象簇包括所述多个音频对象中具有相似属性的一个或多个音频对象;基于指示空间位置信息的所述元数据并且基于所述音频对象到所述渲染元数据类别的指派,将所述多个音频对象中的音频对象渲染到经分配的多个音频对象簇。
示例2.如示例1所述的方法,其中,所述渲染元数据类别包括旁路模式类别和虚拟化类别。
示例3.如示例2所述的方法,其中,被包括在所述虚拟化类别中的所述多个渲染元数据类型包括多个虚拟化类型,各自表示从头部中心到所述音频对象的距离。
示例4.如示例1所述的方法,其中,所述渲染元数据类别包括区域类别或捕捉类别之一。
示例5.如示例1至4中任一项所述的方法,其中,被指派到第一渲染元数据类别的音频对象禁止被指派到所述多个音频对象簇中被分配到第二渲染元数据类别的音频对象簇。
示例6.如示例1-5中任一项所述的方法,进一步包括传输音频信号,所述音频信号包括与所述经分配的多个音频对象簇中的每个音频对象簇相关联的空间信息和增益信息,其中,所述音频信号相比于包括与其中被指派到所述第一渲染元数据类别的音频对象被指派到与所述第二渲染元数据类别相关联的音频对象簇的音频对象簇相关联的空间信息和增益信息的音频信号具有更少的空间失真。
示例7.如示例1至6中任一项所述的方法,其中,确定所述多个音频对象簇到每个渲染元数据类别的所述分配包括:(i)确定初始多个音频对象簇到每个渲染元数据类别的初始分配;(ii)基于指示空间位置信息的所述元数据并且基于所述音频对象到所述渲染元数据类别的指派,将所述音频对象指派到所述初始多个音频对象簇;(iii)针对每个渲染元数据类别,确定将所述音频对象指派到所述初始多个音频对象簇的类别成本;(iv)至少部分地基于每个渲染元数据类别的所述类别成本来确定所述初始多个音频对象簇到每个渲染元数据类别的更新分配;以及(iv)重复(ii)至(iv),直到达到停止标准为止。
示例8.如示例7所述的方法,其中,确定将所述音频对象指派到所述初始多个音频对象簇的所述类别成本基于分配到所述渲染元数据类别的音频对象簇的位置和被指派到分配到所述渲染元数据类别的音频对象簇的音频对象的位置。
示例9.如示例8所述的方法,其中,所述类别成本基于相对于音频对象已被指派到的音频对象簇的左右放置的所述音频对象的左右放置。
示例10.如示例7至9中任一项所述的方法,其中,确定将所述音频对象指派到所述初始多个音频对象簇的所述类别成本基于所述音频对象的响度。
示例11.如示例7至10中任一项所述的方法,其中,确定将所述音频对象指派到所述初始多个音频对象簇的所述类别成本基于音频对象到所述音频对象已被指派到的音频对象簇的距离。
示例12.如示例7至11中任一项所述的方法,其中,确定将所述音频对象指派到所述初始多个音频对象簇的所述类别成本基于音频对象的渲染元数据类型与所述音频对象已被指派到的音频对象簇的渲染元数据类型的相似度。
示例13.如示例7至12中任一项的方法,进一步包括基于每个渲染元数据类别的所述类别成本来确定全局成本,其中,所述初始多个音频对象簇的所述更新分配基于所述全局成本。
示例14.如示例12所述的方法,其中,重复(ii)至(iv)直到达到所述停止标准为止包括确定已经实现所述全局成本的最小值。
示例15.如示例7至14中任一项所述的方法,其中,确定所述更新分配包括改变分配到所述多个渲染元数据类别中的至少一个渲染元数据类别的音频对象簇的数量。
示例16.如示例15所述的方法,进一步包括基于每个渲染元数据类别的所述类别成本来确定全局成本,其中,所述音频对象簇的数量是基于所述全局成本来确定的。
示例17.如示例16所述的方法,其中,确定所述音频对象簇的数量包括:受制于指示能够添加的音频对象簇的最大数量的对所述音频对象簇的数量的约束来最小化所述全局成本。
示例18.如示例1至17中任一项所述的方法,其中,将所述多个音频对象中的音频对象渲染到所述经分配的多个音频对象簇包括:确定所述多个音频对象中的每个音频对象在被渲染到分配到所述音频对象被指派到的渲染元数据类别的一个或多个音频对象簇时的对象到簇增益。
示例19.如示例18所述的方法,其中,被指派到所述多个渲染元数据类别中的第一类别的音频对象的对象到簇增益是独立于被指派到所述多个渲染元数据类别中的第二类别的音频对象的对象到簇增益来确定的。
示例20.如示例18所述的方法,其中,被指派到所述多个渲染元数据类别中的第一类别的音频对象的对象到簇增益是与被指派到所述多个渲染元数据类别中的第二类别的音频对象的对象到簇增益联合确定的。
示例21.如示例1至20中任一项所述的方法,进一步包括传输音频信号,所述音频信号包括与所述经分配的多个音频对象簇中的每个音频对象簇相关联的空间信息和增益信息,其中,传输所述音频信号相比于传输包括与所述多个音频对象中的每个音频对象相关联的空间信息和增益信息的音频信号需要更少带宽。
示例22.一种装置,所述装置被配置用于实施如示例1至21中任一项所述的方法。
示例23.一种***,所述***被配置用于实施如示例1至21中任一项所述的方法。
示例24.一个或多个非暂态介质,所述一个或多个非暂态介质具有存储于其上的软件,所述软件包括用于控制一个或多个设备执行如示例1至21中任一项所述的方法的指令。
Claims (24)
1.一种用于对音频对象进行聚类的方法,所述方法包括:
识别多个音频对象,其中,所述多个音频对象中的音频对象与指示相应空间位置信息的相应元数据和相应渲染元数据相关联;
将所述多个音频对象中的音频对象指派到多个渲染元数据类别中的渲染元数据类别,其中,至少一个渲染元数据类别包括要保持的多个渲染元数据类型;
确定多个音频对象簇到每个渲染元数据类别的分配,其中,音频对象簇包括所述多个音频对象中具有相似属性的一个或多个音频对象;
基于指示空间位置信息的所述元数据并且基于所述音频对象到所述渲染元数据类别的指派,将所述多个音频对象中的音频对象渲染到经分配的多个音频对象簇。
2.如权利要求1所述的方法,其中,所述渲染元数据类别包括旁路模式类别和虚拟化类别。
3.如权利要求2所述的方法,其中,被包括在所述虚拟化类别中的所述多个渲染元数据类型包括多个虚拟化类型,所述多个虚拟化类型各自表示从头部中心到所述音频对象的距离。
4.如权利要求1所述的方法,其中,所述渲染元数据类别包括区域类别或捕捉类别之一。
5.如权利要求1至4中任一项所述的方法,其中,被指派到第一渲染元数据类别的音频对象禁止被指派到所述多个音频对象簇中被分配到第二渲染元数据类别的音频对象簇。
6.如权利要求1至5中任一项所述的方法,进一步包括传输音频信号,所述音频信号包括与所述经分配的多个音频对象簇中的每个音频对象簇相关联的空间信息和增益信息,其中,所述音频信号相比于包括与其中被指派到所述第一渲染元数据类别的音频对象被指派到与所述第二渲染元数据类别相关联的音频对象簇的音频对象簇相关联的空间信息和增益信息的音频信号具有更少的空间失真。
7.如权利要求1至6中任一项所述的方法,其中,确定所述多个音频对象簇到每个渲染元数据类别的所述分配包括:
(i)确定初始多个音频对象簇到每个渲染元数据类别的初始分配;
(ii)基于指示空间位置信息的所述元数据并且基于所述音频对象到所述渲染元数据类别的指派,将所述音频对象指派到所述初始多个音频对象簇;
(iii)针对每个渲染元数据类别,确定将所述音频对象指派到所述初始多个音频对象簇的类别成本;
(iv)至少部分地基于每个渲染元数据类别的所述类别成本来确定所述初始多个音频对象簇到每个渲染元数据类别的更新分配;以及
(iv)重复(ii)至(iv),直到达到停止标准为止。
8.如权利要求7所述的方法,其中,确定将所述音频对象指派到所述初始多个音频对象簇的所述类别成本基于分配到所述渲染元数据类别的音频对象簇的位置和被指派到分配到所述渲染元数据类别的音频对象簇的音频对象的位置。
9.如权利要求8所述的方法,其中,所述类别成本基于相对于音频对象已被指派到的音频对象簇的左右放置的所述音频对象的左右放置。
10.如权利要求7至9中任一项所述的方法,其中,确定将所述音频对象指派到所述初始多个音频对象簇的所述类别成本基于所述音频对象的响度。
11.如权利要求7至10中任一项所述的方法,其中,确定将所述音频对象指派到所述初始多个音频对象簇的所述类别成本基于音频对象到所述音频对象已被指派到的音频对象簇的距离。
12.如权利要求7至11中任一项所述的方法,其中,确定将所述音频对象指派到所述初始多个音频对象簇的所述类别成本基于音频对象的渲染元数据类型与所述音频对象已被指派到的音频对象簇的渲染元数据类型的相似度。
13.如权利要求7至12中任一项所述的方法,进一步包括基于每个渲染元数据类别的所述类别成本来确定全局成本,其中,所述初始多个音频对象簇的所述更新分配是基于所述全局成本的。
14.如权利要求12所述的方法,其中,重复(ii)至(iv)直到达到所述停止标准为止包括确定已经实现所述全局成本的最小值。
15.如权利要求7至14中任一项所述的方法,其中,确定所述更新分配包括改变分配到所述多个渲染元数据类别中的至少一个渲染元数据类别的音频对象簇的数量。
16.如权利要求15所述的方法,进一步包括基于每个渲染元数据类别的所述类别成本来确定全局成本,其中,所述音频对象簇的数量是基于所述全局成本来确定的。
17.如权利要求16所述的方法,其中,确定所述音频对象簇的数量包括:受制于指示能够添加的音频对象簇的最大数量的对所述音频对象簇的数量的约束来最小化所述全局成本。
18.如权利要求1至17中任一项所述的方法,其中,将所述多个音频对象中的音频对象渲染到所述经分配的多个音频对象簇包括:确定所述多个音频对象中的每个音频对象在被渲染到分配到所述音频对象被指派到的渲染元数据类别的一个或多个音频对象簇时的对象到簇增益。
19.如权利要求18所述的方法,其中,被指派到所述多个渲染元数据类别中的第一类别的音频对象的对象到簇增益是独立于被指派到所述多个渲染元数据类别中的第二类别的音频对象的对象到簇增益来确定的。
20.如权利要求18所述的方法,其中,被指派到所述多个渲染元数据类别中的第一类别的音频对象的对象到簇增益是与被指派到所述多个渲染元数据类别中的第二类别的音频对象的对象到簇增益联合确定的。
21.如权利要求1至20中任一项所述的方法,进一步包括传输音频信号,所述音频信号包括与所述经分配的多个音频对象簇中的每个音频对象簇相关联的空间信息和增益信息,其中,传输所述音频信号相比于传输包括与所述多个音频对象中的每个音频对象相关联的空间信息和增益信息的音频信号需要更少带宽。
22.一种装置,所述装置被配置用于实施如权利要求1至21中任一项所述的方法。
23.一种***,所述***被配置用于实施如权利要求1至21中任一项所述的方法。
24.一个或多个非暂态介质,所述一个或多个非暂态介质具有存储于其上的软件,所述软件包括用于控制一个或多个设备执行如权利要求1至21中任一项所述的方法的指令。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021077110 | 2021-02-20 | ||
CNPCT/CN2021/077110 | 2021-02-20 | ||
US63/165,220 | 2021-03-24 | ||
US202163202227P | 2021-06-02 | 2021-06-02 | |
US63/202,227 | 2021-06-02 | ||
EP21178179.4 | 2021-06-08 | ||
PCT/US2022/016388 WO2022177871A1 (en) | 2021-02-20 | 2022-02-15 | Clustering audio objects |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116965062A true CN116965062A (zh) | 2023-10-27 |
Family
ID=88460561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280015933.0A Pending CN116965062A (zh) | 2021-02-20 | 2022-02-15 | 对音频对象进行聚类 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116965062A (zh) |
-
2022
- 2022-02-15 CN CN202280015933.0A patent/CN116965062A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230353970A1 (en) | Method, apparatus or systems for processing audio objects | |
JP7147948B2 (ja) | 音声処理装置および方法、並びにプログラム | |
EP2954703B1 (en) | Determining renderers for spherical harmonic coefficients | |
US10477310B2 (en) | Ambisonic signal generation for microphone arrays | |
CN111434126B (zh) | 信号处理装置和方法以及程序 | |
CN109996166A (zh) | 声音处理装置和方法、以及程序 | |
US11221821B2 (en) | Audio scene processing | |
US11930348B2 (en) | Computer system for realizing customized being-there in association with audio and method thereof | |
CN109964272A (zh) | 声场表示的代码化 | |
KR102643841B1 (ko) | 정보 처리 장치 및 방법, 그리고 프로그램 | |
US20230088922A1 (en) | Representation and rendering of audio objects | |
US11483669B2 (en) | Spatial audio parameters | |
CN116965062A (zh) | 对音频对象进行聚类 | |
US20240187807A1 (en) | Clustering audio objects | |
CN109479178B (zh) | 基于呈现器意识感知差异的音频对象聚集 | |
WO2018017394A1 (en) | Audio object clustering based on renderer-aware perceptual difference | |
US20240119946A1 (en) | Audio rendering system and method and electronic device | |
CN115167803A (zh) | 一种音效的调节方法、装置、电子设备及存储介质 | |
WO2023215405A2 (en) | Customized binaural rendering of audio content | |
WO2024036113A1 (en) | Spatial enhancement for user-generated content | |
WO2024149548A1 (en) | A method and apparatus for complexity reduction in 6dof rendering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |