信息处理装置和方法以及程序
文献发布时间:2023-06-19 11:32:36
技术领域
本技术涉及一种信息处理装置和方法以及程序,尤其涉及能够在抑制对声音质量的影响的同时减少对象的总数的信息处理装置和方法以及程序。
背景技术
传统上,MPEG(运动图像专家组)-H 3D音频标准是已知的(例如,参考非专利文献1和非专利文献2)。
根据由MPEG-H 3D音频标准等支持的3D音频,可以再现三维声音的方向、距离、声音传播等,并且实现与传统立体声再现相比增加音频沉浸感的音频再现。
[现有技术文献]
[非专利文献]
非专利文献1:ISO/IEC 23008-3,MPEG-H 3D Audio
非专利文献2:ISO/IEC 23008-3:2015/AMENDMENT3,MPEG-H 3D Audio Phase 2
发明内容
[技术问题]
然而,根据3D音频,在内容中包括的对象的数量变大的情况下,整个内容的数据大小变大,并且多个对象的数据的解码处理、渲染处理等中的计算量也变大。此外,例如,在通过操作等确定对象的数量上限的情况下,在该操作等中不能处理包括超过上限的对象数量的内容。
因此,可以设想通过丢弃内容中包含的一些对象来减少对象的总数。然而,在这种情况下,有可能由于丢弃对象而降低整个内容的声音质量。
鉴于如上所述的这种情况而构成本技术,并且使得可以在抑制对声音质量的影响的同时减少对象的总数。
[问题的解决方案]
根据本技术的一个方面的信息处理装置包括:通过对象选择单元,被配置为获取L个对象的数据,并且从L个对象中选择将原样输出其数据的M个通过对象;以及对象生成单元,被配置为基于L个对象中不是通过对象的多个非通过对象的数据,生成N个新对象的数据,N小于(L-M)。
根据本技术的一个方面的信息处理方法或程序包括以下步骤:获取L个对象的数据;从L个对象中选择将原样输出其数据的M个通过对象;以及基于所述L个对象中不是通过对象的多个非通过对象的数据,生成N个新对象的数据,N小于(L-M)。
在本技术的一个方面中,获取L个对象的数据,并且从L个对象中选择将原样输出其数据的M个通过对象。然后,基于所述L个对象中不是通过对象的多个非通过对象的数据,生成N个新对象的数据,N小于(L-M)。
附图说明
图1是示出虚拟扬声器的位置的确定的示图;
图2是描绘预渲染处理装置的构造的示例的示图;
图3是示出对象输出处理的流程图;
图4是描绘编码装置的构造的示例的示图;
图5是描绘编码装置的构造的示例的另一视图;
图6是描绘解码装置的构造的示例的示图;
图7是描绘计算机的构造的示例的示图。
具体实施方式
在下文中,参考附图描述应用本技术的实施例。
<第一实施例>
<本技术>
本技术将多个对象分类为通过对象和非通过对象,并基于非通过对象生成新对象,以使得能够减少对象的总数,同时抑制对声音质量的影响。
应当注意,在本技术中,对象可以是任何东西,只要它具有对象数据,例如,音频对象或图像对象。
此处的对象数据表示例如对象信号和对象的元数据。
特别地,例如,如果对象是音频对象,则音频对象的数据包括作为对象信号的元数据和音频信号,并且如果对象是图像对象,则图像对象的数据包括作为对象信号的元数据和图像信号。
给出以下描述,以对象是音频对象的情况为例。
在对象是音频对象的情况下,对象的音频信号和元数据被作为对象的数据进行处理。
在此处,元数据包括例如指示对象在三维空间中的位置的位置信息、指示对象的优先级的优先级信息、对象的音频信号的增益信息、指示对象的声音的声像的传播的传播信息等。
此外,对象的位置信息包括例如指示从被确定为参考的位置到对象的距离的半径、指示对象在水平方向上的位置的水平角度以及指示对象在垂直方向上的位置的垂直角度。
本技术可以应用于例如预渲染处理装置,该预渲染处理装置接收包括在内容中的多个对象,更具体地,接收对象的数据,作为对其的输入,并根据该输入输出适当数量的对象,更具体地,输出对象的数据。
在下文中,输入时的对象的数量用nobj_in表示,输出时的对象的数量用nobj_out表示。特别地,在此处满足nobj_out 在本技术中,已经输入的一些nobj_in对象被确定为将原样输出其数据而根本不改变的对象,即,要通过的对象。在下面的描述中,这种要通过的对象被称为通过对象。 此外,在nobj_in个输入对象中未被确定为通过对象的对象被确定为不是通过对象的非通过对象。在本技术中,非通过对象的数据用于生成新对象的数据。 以这种方式,如果输入nobj_in个对象,则对象被分类为通过对象和非通过对象。 然后,基于被确定为非通过对象的对象,生成比非通过对象的总数少的新对象的数量,并且输出所生成的新对象的数据和通过对象的数据。 由此,根据本技术,输出少于nobj_in个输入的nobj_out个对象,并且实现对象总数的减少。 在下文中,假设被确定为通过对象的对象的数量是nobj_dynamic。例如,假设通过对象的数量(即nobj_dynamic)可以由用户等设置在满足由以下表达式(1)指示的条件的范围内。 [数学公式1] 0≤nobj_dynamic 根据表达式(1)所指示的条件,nobj_dynamic(即通过对象的数量)等于或大于0但小于nobj_out。 例如,可以通过用户的输入操作等来预先确定或者指定nobj_dynamic,即通过对象的数量。然而,也可以基于整个内容的数据量(数据大小)、解码时处理的计算量等,动态地确定作为通过对象的数量的nobj_dynamic,使得nobj_dynamic变得等于或小于预先确定的最大数量。在这种情况下,预先确定的最大数量小于nobj_out。 应当注意,整个内容的数据量是通过对象的元数据和音频信号以及新生成的对象的元数据和音频信号的总数据量(数据大小)。此外,在确定nobj_dynamic时要考虑的解码时处理的计算量可以仅仅是对象的编码数据(元数据和音频信号)的解码处理的计算量,或者可以是解码处理的计算量和渲染处理的计算量的总和。 此外,不仅作为通过对象的数量的nobj_dynamic,而且作为最终要输出的对象的数量的nobj_out,都可以基于整个内容的数据量或解码时处理的计算量来确定,或者nobj_out可以由用户等指定。此外,nobj_out也可以提前确定。 在此处,描述了通过对象的选择方法的特定示例。 首先,在下面的描述中,ifrm用作指示音频信号的时间帧的索引,iobj用作指示对象的索引。应当注意,在下面的描述中,索引为ifrm的时间帧被称为时间帧ifrm,索引为iobj的对象被称为对象iobj。 此外,优先级信息包括在每个对象的元数据中,并且包括在时间帧ifrm中对象iobj的元数据中的优先级信息被表示为priority_raw[ifrm][iobj]。特别地,假设预先提供给对象的元数据包括优先级信息priority_raw[ifrm][iobj]。 在这种情况下,例如,在本技术中,为每个时间帧计算由以下表达式(2)指示的每个对象的优先级信息priority[ifrm][iobj]的值。 [数学公式2] priority[ifrm][iobj]=priority_raw[ifrm][iobj]+weight×priority_gen[ifrm][iobj]...(2) 应当注意,在表达式(2)中,priority_gen[ifrm][iobj]是对象iobj在基于priority_raw[ifrm][iobj]之外的信息计算的时间帧ifrm中的优先级信息。 例如,对于优先级信息priority_gen[ifrm][iobj]的计算,不仅在元数据中包括的增益信息、位置信息和传播信息,而且对象的音频信号等也可以单独使用或以任何组合使用。此外,不仅在当前时间帧中的增益信息、位置信息、传播信息和音频信号,而且在时间上先前的时间帧中的增益信息、位置信息、传播信息和音频信号(例如,紧接在当前时间帧之前的时间帧)可以用于计算当前时间帧中的优先级信息priority_gen[ifrm][iobj]。 作为计算优先权信息priority_gen[ifrm][iobj]的具体方法,使用例如在PCT专利公开号WO2018/198789中描述的方法就足够了。 特别地,可以使用配置包括在元数据中的位置信息的半径的倒数,作为优先级信息priority_gen[ifrm][iobj],使得例如越靠近用户的对象设置的优先级越高。作为替代,作为优先级信息priority_gen[ifrm][iobj],可以使用配置在元数据中包括的位置信息的水平角度的绝对值的倒数,使得例如更高的优先级被设置给位于更靠近用户前方的对象。 作为另一替代,基于在彼此不同的时间帧中的元数据中包括的位置信息,对象的移动速度可以用作优先级信息priority_gen[ifrm][iobj]。作为另一种选择,元数据中包含的增益信息本身可以用作优先级信息priority_gen[ifrm][iobj]。 作为又一替代,例如,包括在元数据中的传播信息的平方值等可以用作优先级信息priority_gen[ifrm][iobj],或者可以基于对象的属性信息来计算优先级信息priority_gen[ifrm][iobj]。 此外,在表达式(2)中,权重是在计算优先级信息priority[ifrm][iobj]时确定优先级信息priority_raw[ifrm][iobj]和优先级信息priority_gen[ifrm][iobj]之间的比率的参数,并且被设置为例如0.5。 应当注意,在MPEG-H 3D音频标准中,在某些情况下,优先级信息priority_raw[ifrm][iobj]不被应用于对象,因此,在这种情况下,如果优先级信息priority_raw[ifrm][iobj]的值被设置为0,以执行表达式(2)的计算就足够了。 在根据表达式(2)计算每个对象的优先级信息priority[ifrm][iobj]之后,对于每个时间帧ifrm,各个对象的优先级信息priority[ifrm][iobj]以值的降序排序。然后,选择具有优先级信息priority[ifrm][iobj]的相对较高值的nobj_dynamic上层对象,作为时间帧ifrm中的通过对象,而剩余对象被确定为非通过对象。 换言之,通过按优先级信息priority[ifrm][iobj]的降序选择nobj_dynamic个对象,nobj_in个对象被分类为nobj_dynamic个通过对象和(nobj_in-nobj_dynamic)个非通过对象。 在执行分类之后,关于nobj_dynamic个通过对象,通过对象的元数据和音频信号按原样输出到后续阶段。 另一方面,关于(nobj_in-nobj_dynamic)个非通过对象,对非通过对象执行渲染处理,即预渲染处理。因此,生成(nobj_out-nobj_dynamic)个新对象的元数据和音频信号。 特别地,例如,关于每个非通过对象,执行VBAP的渲染处理(矢量基本振幅平移),并且向(nobj_out-nobj_dynamic)个虚拟扬声器渲染非通过对象。在此处,虚拟扬声器对应于新对象,并且虚拟扬声器在三维空间中的设置位置被设置成彼此不同。 例如,假设spk是指示虚拟扬声器的索引,并且由索引spk指示的虚拟扬声器被表示为虚拟扬声器spk。此外,假设在时间帧ifrm中索引为iobj的非通过对象的音频信号被表示为sig[ifrm][iobj]。 在这种情况下,关于每个非通过对象iobj,基于包括在元数据中的位置信息和虚拟扬声器在三维空间中的位置来执行VBAP。因此,对于每个非通过对象iobj,获得(nobj_out-nobj_dynamic)个虚拟扬声器spk中每个的增益gain[ifrm][iobj][spk]。 然后,对于每个虚拟扬声器spk,计算各个非通过对象iobj的音频信号sig[ifrm][iobj]乘以虚拟扬声器spk的增益gain[ifrm][iobj][spk]的总和,并且作为计算结果获得的音频信号用作与虚拟扬声器spk对应的新对象的音频信号。 例如,通过k-均值法确定对应于新对象的虚拟扬声器的位置。特别地,对于每个时间帧,通过k-均值法将包括在非通过对象的元数据中的位置信息分成(nobj_out-nobj_dynamic)个聚类,并且将每个聚类的中心位置确定为虚拟扬声器的位置。 因此,在nobj_in=24、nobj_dynamic=5和nobj_out=10的情况下,例如,以如图1所示的方式确定虚拟扬声器的位置。在这种情况下,虚拟扬声器的位置可能根据时间帧而改变。 在图1中,未由阴影线(斜线)指示的圆圈表示非通过对象,并且这种非通过对象被设置在三维空间中由元数据中包括的位置信息指示的位置处。 在该示例中,对每个时间帧执行如上所述的排序,并且选择nobj_dynamic(=5)个通过对象,同时将(nobj_in-nobj_dynamic(=24–5=19))个剩余对象确定为非通过对象。 在此处,由于虚拟扬声器的数量(即(nobj_out-nobj_dynamic))是10-5=5,所以19个非通过对象的位置信息被分成五个聚类,并且各个聚类的中心的位置被确定为虚拟扬声器SP11-1至SP11-5的位置。 在图1中,虚拟扬声器SP11-1至SP11-5设置在对应于虚拟扬声器的聚类的中心位置。应当注意,在没有必要具体区分虚拟扬声器SP11-1至SP11-5的情况下,在某些情况下,虚拟扬声器SP11-1至SP11-5中的每一个仅被称为虚拟扬声器SP11。 在渲染处理中,19个非通过对象被渲染到以这种方式获得的五个虚拟扬声器SP11。 应当注意,与虚拟扬声器SP11对应的新对象的音频信号通过渲染处理确定,而包括在新对象的元数据中的位置信息是指示与新对象对应的虚拟扬声器SP11的位置的信息。 此外,包括在新对象的元数据中的除位置信息之外的信息(例如,优先级信息、增益信息和传播信息)是包括在与新对象对应的聚类中的非通过对象的元数据的信息的平均值、最大值等。换言之,例如,属于聚类的非通过对象的增益信息的平均值或最大值被确定为包括在与聚类对应的新对象的元数据中的增益信息。 在以如上所述的方式生成(nobj_out-nobj_dynamic=5)个新对象的音频信号和元数据之后,新对象的音频信号和元数据被输出到后续阶段。 结果,在该示例中,(nobj_dynamic=5)个通过对象的音频信号和元数据以及(nobj_out-nobj_dynamic=5)个新对象的音频信号和元数据因此被输出到后续阶段。 换言之,总共输出(nobj_out=10)个对象的音频信号和元数据。 以这种方式,输出比nobj_in个输入对象少的nobj_out个对象,从而可以减少对象的总数。 因此,可以减小包括多个对象的整个内容的数据大小,并且还可以减小在后续阶段对对象的解码处理和渲染处理的计算量。此外,即使在nobj_in(即,输入的对象的数量)超过由操作等确定的对象的数量的情况下,因为输出的数量可以等于由操作等确定的对象的数量,所以可以通过操作等处理包括输出的对象数据的内容。 此外,根据本技术,具有高优先级信息priority[ifrm][iobj]的对象用作通过对象,并且原样输出对象的音频信号和元数据,使得在通过对象中不会发生内容声音的声音质量的劣化。 此外,关于非通过对象,由于基于非通过对象生成新对象,所以可以最小化对内容声音的声音质量的影响。特别地,如果通过使用非通过对象生成新对象,则所有对象的声音分量都包括在内容的声音中。 因此,与例如保留多个可以处理的对象而丢弃其他对象的情况相比,可以降低对内容声音的声音质量的影响。 如上所述,根据本技术,可以减少对象的总数,同时抑制对声音质量的影响。 应当注意,尽管前面的描述针对通过k-均值法确定虚拟扬声器的位置的示例,但是可以以任何方式确定虚拟扬声器的位置。 例如,根据非通过对象在三维空间中的集中程度,非通过对象的分组(聚类)可以通过除了k-均值法以外的方法来执行,并且每个组的中心位置、属于一个组的非通过对象的位置的平均位置等可以被确定为虚拟扬声器的位置。应当注意,对象在三维空间中的集中程度指示对象设置在三维空间中的集中(拥挤)程度。 此外,根据非通过对象的集中程度,分组时的组数可以被确定为小于(nobj_in-nobj_dynamic)的预定数量。 否则,即使在使用k-均值法的情况下,根据非通过对象的位置的集中程度、指定用户的操作的编号、整个内容的数据量(数据大小)或解码时的处理的计算量,可以确定新生成的对象的数量,使得其等于或小于预先确定的最大数量。在这种情况下,如果新生成的对象的数量小于(nobj_in-nobj_dynamic),就足够了,因此,满足上述表达式(1)的条件。 此外,虚拟扬声器的位置可以是预先确定的固定位置。在这种情况下,例如,如果每个虚拟扬声器的位置被设置为22个声道的扬声器排列中的每个扬声器的排列位置,则在后续阶段有助于新对象的处理。否则,多个虚拟扬声器中的几个虚拟扬声器的位置可以是预先确定的固定位置,而剩余虚拟扬声器的位置由k-均值法等确定。 此外,虽然此处描述了未被确定为通过对象的所有对象都用作非通过对象的示例,但是可以丢弃一些对象,而不用作通过对象或非通过对象。在这种情况下,可以丢弃具有较低优先级信息priority[ifrm][iobj]值的预定数量的较低对象,或者可以丢弃具有等于或低于预定阈值的优先级信息priority[ifrm][iobj]值的对象。 例如,在包括多个对象的内容是电影等的声音的情况下,一些对象具有低的重要性,即使被丢弃,对最终获得的内容的声音的声音质量也几乎没有影响。因此,在这种情况下,即使只有部分未被确定为通过对象的对象用作非通过对象,这也对声音质量几乎没有影响。 相反,例如,在包括多个对象的内容是音乐等的情况下,由于在大多数情况下不包括具有低重要性的对象,所以重要的是,使用未被确定为通过对象的所有对象作为非通过对象,以便降低对声音质量的影响。 虽然前面的描述针对基于优先级信息选择通过对象的示例,但是也可以基于对象在三维空间中的集中程度(拥挤程度)来选择通过对象。 在这种情况下,例如,基于在各个对象的元数据中包括的位置信息来执行对象的分组。然后,基于分组的结果执行对象的排序。 特别地,例如,可以将与任何其他对象的距离等于或大于预定值的对象确定为通过对象,并且将与其他对象的距离小于预定值的对象确定为非通过对象。 此外,在基于在各个对象的元数据中包括的位置信息通过k-均值法等执行聚类(分组)的情况下,并且在只有一个对象属于聚类的情况下,属于聚类的对象可以被确定为通过对象。 在这种情况下,关于多个对象所属的集群,可以将属于该集群的所有对象确定为非通过对象,或者可以将属于该集群的对象中由优先级信息指示的优先级最高的对象确定为通过对象,而将剩余对象确定为非通过对象。 在以这种方式根据集中程度等选择通过对象的情况下,也可以根据分组或聚类的结果、整个内容的数据量(数据大小)、解码时处理的计算量等来动态确定nobj_dynamic,即通过对象的数量。 此外,除了通过VBAP等的渲染处理生成新对象之外,非通过对象的音频信号的平均值、线性耦合值等可以用作新对象的音频信号。通过使用平均值等生成新对象的方法是有用的,特别是在要新生成仅仅一个对象的情况下。 <预渲染处理装置的构造示例> 接下来,描述应用上述本技术的预渲染处理装置。例如,以图2所示的方式来构造如上所述的这种预渲染处理装置。 图2中描绘的预渲染处理装置11是信息处理装置,其接收多个对象的数据,作为对其的输入,并且输出少于该输入的对象的数量的数据。预渲染处理装置11包括优先级计算单元21、通过对象选择单元22和对象生成单元23。 在预渲染处理装置11中,nobj_in个对象的数据(即对象的元数据和音频信号)被提供给优先级计算单元21。 此外,指示分别作为输入的对象的数量、输出的对象的数量和通过对象的数量的nobj_in、nobj_out和nobj_dynamic的数量信息被提供给通过对象选择单元22和对象生成单元23。 优先级计算单元21基于所提供的每个对象的元数据和音频信号来计算每个对象的优先级信息priority[ifrm][iobj],并将每个对象的优先级信息priority[ifrm][iobj]、元数据和音频信号提供给通过对象选择单元22。 从优先级计算单元21向通过对象选择单元22提供对象的元数据、音频信号和优先级信息priority[ifrm][iobj],并且还从外部提供数量信息。换言之,通过对象选择单元22从优先级计算单元21获取对象数据和优先级信息priority[ifrm][iobj],并且还从外部获取数量信息。 通过对象选择单元22基于所提供的数量信息和从优先级计算单元21提供的优先级信息priority[ifrm][iobj]来选择通过对象。通过对象选择单元22将从优先级计算单元21提供的通过对象的元数据和音频信号原样输出到后续阶段,并将从优先级计算单元21提供的非通过对象的元数据和音频信号提供给对象生成单元23。 对象生成单元23基于所提供的数量信息和从通过对象选择单元22提供的非通过对象的元数据和音频信号来生成新对象的元数据和音频信号,并将新对象的元数据和音频信号输出到后续阶段。 <对象输出处理的描述> 接下来,描述预渲染处理装置11的操作。具体地,下面参考图3的流程图描述预渲染处理装置11的对象输出处理。 在步骤S11中,优先级计算单元21基于提供的预定时间帧中每个对象的元数据和音频信号,计算每个对象的优先级信息priority[ifrm][iobj]。 例如,优先级计算单元21基于元数据和音频信号计算每个对象的优先级信息priority_gen[ifrm][iobj],并基于元数据中包括的优先级信息priority_raw[ifrm][iobj]和计算的优先级信息priority_gen[ifrm][iobj]执行表达式(2)的计算,从而计算优先级信息priority[ifrm][iobj]。 优先级计算单元21将每个对象的优先级信息priority[ifrm][iobj]、元数据和音频信号提供给通过对象选择单元22。 在步骤S12中,通过对象选择单元22基于所提供的数量信息和从优先级计算单元21提供的优先级信息priority[ifrm][iobj],从nobj_in个对象中选择nobj_dynamic个通过对象。换言之,执行对象的排序。 特别地,通过对象选择单元22执行各个对象的优先级信息priority[ifrm][iobj]的排序,以具有较高选择优先级信息priority[ifrm][iobj]值的nobj_dynamic个上层对象作为通过对象。在这种情况下,尽管在nobj_in个输入对象中没有被确定为通过对象的所有对象被确定为非通过对象,但是只有不是通过对象的一部分对象可以被确定为非通过对象。 在步骤S13中,通过对象选择单元22向后续阶段输出通过步骤S12中的处理从优先级计算单元21提供的各个对象的元数据和音频信号中选择的通过对象的元数据和音频信号。 此外,通过对象选择单元22将通过对象分类而获得的(nobj_in-nobj_dynamic)非通过对象的元数据和音频信号提供给对象生成单元23。 应当注意,虽然此处描述了基于优先级信息执行对象分类的示例,但是也可以如上所述基于对象位置等的集中程度来选择通过对象。 在步骤S14中,对象生成单元23基于所提供的数量信息和从通过对象选择单元22提供的非通过对象的元数据和音频信号来确定(nobj_out-nobj_dynamic)虚拟扬声器的位置。 例如,对象生成单元23通过k-均值法对非通过对象的位置信息进行聚类,并将作为聚类结果获得的(nobj_out-nobj_dynamic)个聚类中的每个的中心位置确定为与该聚类对应的的虚拟扬声器的位置。 应当注意,虚拟扬声器的位置的确定方法不限于k-均值法,并且可以通过其他方法来确定这样的位置,或者可以将预先确定的固定位置确定为虚拟扬声器的位置。 在步骤S15中,对象生成单元23基于从通过对象选择单元22提供的非通过对象的元数据和音频信号以及在步骤S14中获得的虚拟扬声器的位置来执行渲染处理。 例如,对象生成单元23执行VBAP作为渲染处理,以计算每个虚拟扬声器的增益gain[ifrm][iobj][spk]。此外,对于每个虚拟扬声器,对象生成单元23计算非通过对象的音频信号sig[ifrm][iobj]乘以增益gain[ifrm][iobj][spk]的总和,并将作为计算结果获得的音频信号确定为与虚拟扬声器对应的新对象的音频信号。 此外,对象生成单元23基于在确定虚拟扬声器的位置时获得的聚类结果和非通过对象的元数据来生成新对象的元数据。 因此,获得了关于(nobj_out-nobj_dynamic)新对象的元数据和音频信号。应当注意,作为新对象的音频信号的生成方法,例如,也可以执行除了VBAP之外的渲染处理。 在步骤S16中,对象生成单元23将通过步骤S15中的处理获得的(nobj_out-nobj_dynamic)个新对象的元数据和音频信号输出到后续阶段。 因此,在一个时间帧中输出nobj_dynamic个通过对象的元数据和音频信号以及(nobj_out-nobj_dynamic)个新对象的元数据和音频信号。 特别地,在预渲染处理之后,整体输出nobj_out个对象的元数据和音频信号,作为对象的元数据和音频信号。 在步骤S17中,预渲染处理装置11判定是否已经对所有时间帧执行了该处理。 在步骤S17中判定没有对所有时间帧执行处理的情况下,处理返回到步骤S11,并且重复执行上述处理。特别地,为下一个时间帧执行处理。 另一方面,在步骤S17中判定已经对所有时间帧执行了处理的情况下,预渲染处理装置11的每个单元停止执行处理,并且对象输出处理结束。 以如上所述的方式,预渲染处理装置11基于优先级信息执行对象的分类。关于具有高优先级的通过对象,预渲染处理装置11原样输出元数据和音频信号。关于非通过对象,预渲染处理装置11执行渲染处理,以生成新对象的元数据和音频信号,然后输出生成的元数据和音频信号。 因此,关于具有高优先级信息并且对内容声音的声音质量具有相当大影响的对象,按原样输出元数据和音频信号,并且关于其他对象,在渲染处理中生成新对象,因此,对象的总数减少,同时减少对声音质量的影响。 应当注意,尽管前面的描述针对对每个时间帧执行对象分类的示例,但是相同的对象可以总是被确定为通过对象,而与时间帧无关。 在这种情况下,例如,优先级计算单元21获得在所有时间帧中对象的优先级信息priority[ifrm][iobj],并将关于所有时间帧的获得的优先级信息priority[ifrm][iobj]的总和确定为对象的优先级信息priority[iobj]。然后,优先级计算单元21对各个对象的优先级信息priority[iobj]进行排序,并选择具有较高优先级信息priority[iobj]值的nobj_dynamic个上层对象作为通过对象。 否则,可以对包括多个连续时间帧的每个间隔执行对象排序。在这种情况下,类似于优先级信息priority[iobj],如果对于每个间隔获得每个对象的优先级信息也是足够的。 <本技术在编码装置中的应用示例1> <编码装置的构造示例> 顺便提及,上述本技术可以应用于具有执行3D音频编码的3D音频编码单元的编码装置。例如,以图4所示的方式构造这种编码装置。 图4所示的编码装置51包括预渲染处理单元61和3D音频编码单元62。 预渲染处理单元61对应于图2所示的预渲染处理装置11,并且具有与预渲染处理装置11的构造类似的构造。具体地,预渲染处理单元61包括上述优先级计算单元21、通过对象选择单元22和对象生成单元23。 向预渲染处理单元61提供多个对象的元数据和音频信号。预渲染处理单元61执行预渲染处理,以减少对象的总数,并将减少后的各个对象的元数据和音频信号提供给3D音频编码单元62。 3D音频编码单元62对从预渲染处理单元61提供的对象的元数据和音频信号进行编码,并输出作为编码结果获得的3D音频代码串。 例如,假设nobj_in个对象的元数据和音频信号被提供给预渲染处理单元61。 在这种情况下,预渲染处理单元61执行类似于上文参考图3描述的对象输出处理的处理,并将nobj_dynamic个通过对象的元数据和音频信号以及(nobj_out-nobj_dynamic)个新对象的元数据和音频信号提供给3D音频编码单元62。 因此,在该示例中,3D音频编码单元62总共编码并输出nobj_out对象的元数据和音频信号。 以这种方式,编码装置51减少对象的总数,并且在减少之后执行各个对象的编码。因此,可以减小要输出的3D音频代码串的大小(代码量),并减小编码处理中的计算量和存储量。此外,在3D音频代码串的解码侧,在执行3D音频代码串的解码的3D音频解码单元中和在随后的渲染处理单元中,也可以减少计算量和存储量。 应当注意,此处的描述针对预渲染处理单元61被设置在编码装置51内部的示例。然而,这不是限制性的,并且预渲染处理单元61可以设置在编码装置51的外部,即,在编码装置51的前一阶段,或者可以设置在3D音频编码单元62内部的最前一阶段。 <本技术在编码装置中的应用例2> <编码装置的构造示例> 此外,在本技术应用于编码装置的情况下,指示对象是通过对象还是新生成的对象的预渲染处理标志也可以包括在3D音频代码串中。 在这种情况下,例如,以图5所示的方式构造编码装置。应当注意,在图5中,对应于图4的情况的元件由相同的附图标记表示,并且适当地省略其描述。 图5所示的编码装置91包括预渲染处理单元101和3D音频编码单元62。 预渲染处理单元101对应于图2所示的预渲染处理装置11,并且具有与预渲染处理装置11的构造类似的构造。具体地,预渲染处理单元101包括上述优先级计算单元21、通过对象选择单元22和对象生成单元23。 然而,在预渲染处理单元101中,通过对象选择单元22和对象生成单元23为每个对象生成预渲染处理标记,并为每个对象输出元数据、音频信号和预渲染处理标记。 预渲染处理标志是指示该对象是通过对象还是新生成的对象(即该对象是否是预渲染处理对象)的标志信息。 例如,在对象是通过对象的情况下,对象的预渲染处理标志的值被设置为0。相反,在对象是新生成的对象的情况下,对象的预渲染处理标志的值被设置为1。 因此,例如,预渲染处理单元101执行类似于上文参考图3描述的对象输出处理的处理,以减少对象的总数,并且在对象的总数减少之后生成每个对象的预渲染处理标志。 然后,关于nobj_dynamic个通过对象,预渲染处理单元101向3D音频编码单元62提供元数据、音频信号和值为0的预渲染处理标志。 相比之下,关于(nobj_out-nobj_dynamic)个新对象,预渲染处理单元101向3D音频编码单元62提供元数据、音频信号和值为1的预渲染处理标志。 3D音频编码单元62对从预渲染处理单元101提供的总共nobj_out个对象的元数据、音频信号和预渲染处理标志进行编码,并输出作为编码结果获得的3D音频代码串。 <解码装置的构造示例> 此外,例如,以如图6所示的方式构造解码装置,该解码装置接收从编码装置91输出的并且包括预渲染处理标志的3D音频代码串,作为其输入,并且执行3D音频代码串的解码。 图6所示的解码装置131包括3D音频解码单元141和渲染处理单元142。 3D音频解码单元141通过接收等获取从编码装置91输出的3D音频代码串,解码所获取的3D音频代码串,并将作为解码结果获得的对象的元数据、音频信号和预渲染处理标志提供给渲染处理单元142。 基于从3D音频解码单元141提供的元数据、音频信号和预渲染处理标志,渲染处理单元142执行渲染处理,以生成用于内容再现的每个扬声器的扬声器驱动信号,并输出生成的扬声器驱动信号。扬声器驱动信号是用于驱动扬声器以再现包含在内容中的各个对象的声音的信号。 具有如上所述的这种构造的解码装置131可以通过使用预渲染处理标志来减少3D音频解码单元141和渲染处理单元142中的处理的计算量和存储量。特别地,在本示例中,与图4所示的编码装置51的情况相比,解码时的计算量和存储量可以进一步减少。 在此处,描述了在3D音频解码单元141和渲染处理单元142中使用预渲染处理标志的特定示例。 首先,描述在3D音频解码单元141中使用预渲染处理标志的示例。 3D音频代码串包括对象的元数据、音频信号和预渲染处理标志。如上所述,元数据包括优先级信息等等。然而,在某些情况下,元数据可能不包括优先级信息。此处的优先级信息是上面描述的优先级信息priority_raw[ifrm][iobj]。 预渲染处理标志具有基于由作为3D音频编码单元62的前一阶段的预渲染处理单元101计算的优先级信息priority[ifrm][iobj]设置的值。因此,可以认为,例如,其预渲染处理标志的值为0的通过对象是具有高优先级的对象,并且其预渲染处理标志的值为1的新生成的对象是具有低优先级的对象。 因此,在元数据不包括优先级信息的情况下,3D音频解码单元141可以使用预渲染处理标志来代替优先级信息。 特别地,例如,假设3D音频解码单元141仅解码具有高优先级的对象。 此时,在对象的预渲染处理标志的值是1的情况下,3D音频解码单元141确定对象的优先级信息的值是0,并且关于该对象,不执行3D音频代码串中包括的音频信号等的解码。 另一方面,在对象的预渲染处理标志的值为0的情况下,3D音频解码单元141确定对象的优先级信息的值为1,并且关于该对象,执行在3D音频代码串中包括的元数据和音频信号的解码。 由此,解码中的计算量和存储量可以减少省略解码处理的对象不需要的量。应当注意,编码装置91的预渲染处理单元101可以基于预渲染处理标志,即基于非通过对象的选择结果,生成元数据的优先级信息。 接下来,描述在渲染处理单元142中使用预渲染处理标志的示例。 在某些情况下,渲染处理单元142基于元数据中包括的扩散信息来执行扩散处理。 在此处,传播处理是基于在每个对象的元数据中包括的传播信息的值来传播对象的声音的声像的处理,并且用于增加声音的沉浸感。 另一方面,预渲染处理标志的值为1的对象是由编码装置91的预渲染处理单元101新生成的对象,即,被确定为非通过对象的多个对象混合的对象。然后,这种新生成的对象的传播信息的值是从例如多个非通过对象的传播信息的平均值获得的一个值。 因此,如果对预渲染处理标志的值为1的对象执行传播处理,这意味着基于不一定合适的单个传播信息,对最初是多个对象的对象执行传播处理,导致声音沉浸感的可能退化。 因此,渲染处理单元142可以被配置为基于关于其预渲染处理标志的值为0的对象的传播信息来执行传播处理,但是不对其预渲染处理标志的值为1的对象来执行传播处理。因此,可以防止声音沉浸感的退化,并且由于不执行不必要的传播处理,所以还可以将计算量和存储量减少不必要的处理所需要的量。 应用本技术的预渲染处理装置可以另外设置在执行包括多个对象的内容的再现或编辑的装置、解码侧的装置等中。例如,在编辑对应于对象的轨道的应用程序中,由于过多的轨道使编辑变得复杂,所以如果应用能够在编辑时减少轨道数量(即,对象数量)的本技术是有效的。 <计算机的构造示例> 顺便提及,虽然上述一系列处理可以由硬件执行,但是也可以由软件执行。在通过软件执行一系列处理的情况下,包括在软件中的程序被安装到计算机中。此处的计算机包括包含在专用硬件中的计算机,或者例如包括可以通过在其中安装各种程序来执行各种功能的通用个人计算机。 图7是描绘根据程序执行上述一系列处理的计算机的硬件构造的示例的框图。 在计算机中,CPU(中央处理器)501、ROM(只读存储器)502和RAM(随机存取存储器)503通过总线504相互连接。 此外,输入/输出接口505连接到总线504。输入单元506、输出单元507、记录单元508、通信单元509和驱动器510连接到输入/输出接口505。 输入单元506包括例如键盘、鼠标、麦克风、成像装置等。输出单元507包括显示器、扬声器等。记录单元508包括例如硬盘、非易失性存储器等。通信单元509包括例如网络接口等。驱动器510驱动可移动记录介质511,例如,磁盘、光盘、磁光盘或半导体存储器。 在以上述方式构造的计算机中,CPU 501通过输入/输出接口505和总线504将例如记录在记录单元508中的程序加载到RAM 503中,并执行该程序,以执行上述一系列处理。 例如,要由计算机(CPU 501)执行的程序可以作为封装介质等记录在可移动记录介质511上,并且可以提供。此外,可以通过有线或无线传输介质,例如,局域网、互联网或数字卫星广播,来提供程序。 在计算机中,通过将可移动记录介质511安装在驱动器510上,程序可以通过输入/输出接口505安装到记录单元508中。作为替代,程序可以由通信单元509通过有线或无线传输介质接收,并安装到记录单元508中。作为另一替代,程序可以预先安装在ROM 502或记录单元508中。 应当注意,要由计算机执行的程序可以是这样的程序,通过该程序,按照本说明书中描述的顺序按时间序列执行处理,或者可以是这样的程序,通过该程序,并行地或在必要的时间(例如,当调用处理时)执行处理。 此外,本技术的实施例不限于上文描述的实施例,并且在不脱离本技术的主题的情况下,允许各种变更。 例如,本技术可以采用云计算的构造,通过该构造,由多个设备通过网络共享并协同处理一个功能。 此外,上文参考流程图描述的每个步骤可以由单个设备执行,或者可以由多个设备共享和执行。 另外,在一个步骤中包括多个处理的情况下,一个步骤中包括的多个处理可以由一个设备执行,或者可以由多个设备共享和执行。 此外,本技术也可以采用如下所述的构造。 (1)一种信息处理装置,包括: 通过对象选择单元,被配置为获取L个对象的数据,并且从L个对象中选择将原样输出其数据的M个通过对象;以及 对象生成单元,被配置为基于所述L个对象中不是通过对象的多个非通过对象的数据,生成N个新对象的数据,N小于(L-M)。 (2)根据(1)所述的信息处理装置,其中, 所述对象生成单元基于(L-M)个非通过对象的数据生成新对象的数据。 (3)根据(1)或(2)所述的信息处理装置,其中, 所述对象生成单元基于所述多个非通过对象的数据,通过渲染处理生成将被设置在彼此不同的位置的N个新对象的数据。 (4)根据(3)所述的信息处理装置,其中, 所述对象生成单元基于包括在多个非通过对象的数据中的位置信息来确定N个新对象的位置。 (5)根据(4)所述的信息处理装置,其中, 所述对象生成单元基于位置信息通过k-均值法确定N个新对象的位置。 (6)根据(3)所述的信息处理装置,其中, 所述N个新对象的位置是预先确定的。 (7)根据(3)至(6)中任一项所述的信息处理装置,其中, 所述数据包括对象的对象信号和元数据。 (8)根据(7)所述的信息处理装置,其中, 所述对象包括音频对象。 (9)根据(8)所述的信息处理装置,其中, 所述对象生成单元执行VBAP作为渲染处理。 (10)根据(1)至(9)中任一项所述的信息处理装置,其中, 所述通过对象选择单元基于L个对象的优先级信息选择M个通过对象。 (11)根据(1)至(9)中任一项所述的信息处理装置,其中, 所述通过对象选择单元基于L个对象在空间中的集中程度来选择M个通过对象。 (12)根据(1)至(11)中任一项所述的信息处理装置,其中, 指定表示通过对象的数量的M。 (13)根据(1)至(11)中任一项所述的信息处理装置,其中, 所述通过对象选择单元基于所述通过对象的数据和新对象的数据的总数据大小来确定表示通过对象的数量的M。 (14)根据(1)至(11)中任一项所述的信息处理装置,其中, 所述通过对象选择单元基于对通过对象的数据和新对象的数据进行解码时的处理的计算量,确定表示通过对象的数量的M。 (15)一种信息处理装置的信息处理方法,包括: 获取L个对象的数据; 从L个对象中选择将原样输出其数据的M个通过对象;以及 基于所述L个对象中不是通过对象的多个非通过对象的数据,生成N个新对象的数据,N小于(L-M)。 (16)一种程序,促使计算机执行以下步骤: 获取L个对象的数据; 从L个对象中选择将原样输出其数据的M个通过对象;以及 基于所述L个对象中不是通过对象的多个非通过对象的数据,生成N个新对象的数据,N小于(L-M)。 [符号说明] 11:预渲染处理装置21:优先级计算单元22:通过对象选择单元23:对象生成单元。
- 信息处理装置、信息处理装置控制方法、信息处理装置控制程序以及记录了信息处理装置控制程序的计算机可读取的记录介质
- 信息处理装置、信息处理装置控制方法、信息处理装置控制程序和记录有信息处理装置控制程序的记录介质