CN117651995A - 编码装置及方法、解码装置及方法、以及程序 - Google Patents

编码装置及方法、解码装置及方法、以及程序 Download PDF

Info

Publication number
CN117651995A
CN117651995A CN202280047189.2A CN202280047189A CN117651995A CN 117651995 A CN117651995 A CN 117651995A CN 202280047189 A CN202280047189 A CN 202280047189A CN 117651995 A CN117651995 A CN 117651995A
Authority
CN
China
Prior art keywords
audio signal
encoded
unit
encoding
frame
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
Application number
CN202280047189.2A
Other languages
English (en)
Inventor
河野明文
知念徹
本间弘幸
畠中光行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Group Corp
Original Assignee
Sony Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Group Corp filed Critical Sony Group Corp
Priority claimed from PCT/JP2022/027053 external-priority patent/WO2023286698A1/ja
Publication of CN117651995A publication Critical patent/CN117651995A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本技术涉及编码装置及方法、解码装置及方法、以及程序,利用其可以在维持实时操作的状态下提高编码效率。编码装置设置有:优先级信息生成单元,用于基于音频信号和/或音频信号的元数据来生成指示音频信号的优先级的优先级信息;时间频率转换单元,用于对音频信号执行时间频率转换并生成MDCT系数;以及比特分配单元,用于对多个音频信号按照从具有由优先级信号指示的最高优先程度的音频信号开始的顺序执行音频信号的MDCT系数的量化。本技术适用于编码装置。

Description

编码装置及方法、解码装置及方法、以及程序
技术领域
本技术涉及一种编码装置及方法、解码装置及方法、以及程序,更具体地,涉及一种能够在维持实时操作的状态下提高编码效率的编码装置及方法、解码装置及方法、以及程序。
背景技术
通常,已知符合作为国际标准的运动图像专家组(MPEG)-D统一语音和音频编码(USAC)标准和作为MPEG-D USAC标准的核心编码器的MPEG-H 3D音频标准等的编码技术(例如,参考非专利文献1至3)。
现有技术文献
非专利文献
非专利文献1:ISO/IEC 23003-3、MPEG-D USAC
非专利文献2:ISO/IEC 23008-3、MPEG-H 3D音频
非专利文献3:ISO/IEC 23008-3:2015/AMENDMENT3,MPEG-H 3D音频阶段2
发明内容
本发明要解决的问题
在MPEG-H 3D音频标准等中处理的3D音频中,保持每个对象的元数据,例如,表示声音材料(对象)的位置、距离或对象的增益的水平角和垂直角,并且可再现三维声音方向、距离、传播等。因此,利用3D音频,与典型的立体再现相比,能够以更真实的感觉执行音频再现。
然而,为了传输由3D音频实现的大量对象的数据,需要一种能够以高压缩效率和高速解码更多音频声道的编码技术。即,期望提高编码效率。
此外,为了执行与3D音频的现场或音乐会的现场流,必须实现编码效率和实时性能的提高。
本技术是考虑到这种情况而做出的,并且旨在在维持实时操作的状态下提高编码效率。
问题的解决方案
根据本技术的第一方面的编码装置包括:优先级信息生成单元,基于音频信号或音频信号的元数据中的至少来生成指示音频信号的优先级的优先级信息;时间频率变换单元,其对音频信号执行时间频率变换并且生成MDCT系数;以及比特分配单元,其对于多个音频信号,以由优先级信息指示的音频信号的优先级的降序量化音频信号的MDCT系数。
根据本技术的第一方面的编码方法或者程序包括以下步骤:基于音频信号或者音频信号的元数据中的至少生成指示音频信号的优先级的优先级信息;对音频信号执行时间频率变换并生成MDCT系数;以及对于多个音频信号,按照优先级信息指示的音频信号的优先级的降序量化音频信号的MDCT系数。
在本技术的第一方面,针对多个音频信号,基于音频信号以及音频信号的元数据中的至少一者生成指示音频信号的优先级的优先级信息,对音频信号执行时间频率变换,生成MDCT系数,并且按照由优先级信息指示的音频信号的优先级的降序对音频信号的MDCT系数进行量化。
根据本技术的第二方面的解码装置包括:解码单元,获取编码的音频信号,并且对编码的音频信号进行解码,所述编码的音频信号是通过针对多个音频信号获取按照基于音频信号以及音频信号的元数据中的至少一者而生成的优先级信息指示的音频信号的优先级的降序对音频信号的MDCT系数进行量化而获得的。
根据本技术的第二方面的解码方法或程序包括以下步骤:获取编码的音频信号,并对编码的音频信号进行解码,所述编码的音频信号是通过针对多个音频信号按照基于音频信号或音频信号的元数据中的至少生成的优先级信息指示的音频信号的优先级的降序对音频信号的MDCT系数进行量化而获得的。
在本技术的第二方面,获取编码的音频信号,并对编码的音频信号进行解码,所述编码的音频信号是通过针对多个音频信号按照基于音频信号以及音频信号的元数据中的至少一者生成的优先级信息指示的音频信号的优先级的降序对音频信号的MDCT系数进行量化而获得的。
根据本技术的第三方面的编码装置包括:编码单元,编码音频信号并生成编码的音频信号;缓冲器,保持包括每个帧的编码的音频信号的比特流;以及插入单元,在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下,将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到比特流中。
根据本技术的第三方面的编码方法或程序包括以下步骤:编码音频信号并生成编码的音频信号;在缓冲器中保持包括用于每个帧的编码的音频信号的比特流;以及在针对待处理的帧在预定时间内未完成用于编码音频信号的处理的情况下,将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到比特流中。
在本技术的第三方面,对音频信号进行编码,并且生成编码的音频信号,将包括每个帧的编码的音频信号的比特流保持在缓冲器中,并且在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下,预先生成的编码的静默数据作为待处理的帧的编码的音频信号被插入到比特流中。
根据本技术的第四方面的解码装置包括解码单元,该解码单元获取比特流并且解码编码的音频信号,该比特流是通过对音频信号编码并且生成编码的音频信号,在针对待处理的帧在预定时间内没有完成用于编码音频信号的处理的情况下,将预先生成的编码的静默数据作为待处理的帧的编码音频信号插入到包括编码的音频信号的比特流中而获得的。
根据本技术的第四方面的解码方法或程序包括以下步骤:获取比特流,并且对编码的音频信号进行解码,该比特流是通过对音频信号进行编码并且生成编码的音频信号,在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到包括编码的音频信号的比特流中而获得的。
在本技术的第四方面,获取比特流,并且对编码的音频信号进行解码,该比特流是通过对音频信号进行编码并且生成编码的音频信号,在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到包括针对每个帧的编码的音频信号的比特流中而获得的。
根据本技术的第五方面的编码装置包括:时间频率变换单元,其对对象的音频信号执行时间频率变换并且生成MDCT系数;听觉心理参数计算单元,其基于MDCT系数和关于对象的掩蔽阈值的设置信息计算听觉心理参数;以及比特分配单元,其基于听觉心理参数和MDCT系数执行比特分配处理并生成量化的MDCT系数。
根据本技术的第五方面的编码方法或程序包括以下步骤:对对象的音频信号执行时间频率变换并且生成MDCT系数;基于MDCT系数计算听觉心理参数和关于对象的掩蔽阈值的设置信息;以及基于听觉心理参数和MDCT系数执行比特分配处理并生成量化的MDCT系数。
在本技术的第五方面中,对对象的音频信号执行时间频率变换并且生成MDCT系数,基于MDCT系数和关于对象的掩蔽阈值的设置信息计算听觉心理参数,并且基于听觉心理参数和MDCT系数执行比特分配处理,并且生成量化的MDCT系数。
附图说明
图1是示出编码器的配置示例的示图。
图2是示出对象音频编码单元的配置示例的示图。
图3是用于描述编码处理的流程图。
图4是用于描述比特分配处理的流程图。
图5是示出元数据的Config的语法示例的示图。
图6是示出解码器的配置示例的示图。
图7是示出解包/解码单元的配置示例的示图。
图8是用于描述解码处理的流程图。
图9是用于描述选择解码处理的流程图。
图10是示出对象音频编码单元的配置示例的示图。
图11是示出内容分发系统的配置示例的示图。
图12是用于描述输入数据的示例的示图。
图13是用于描述上下文计算的示图。
图14是示出编码器的配置示例的示图。
图15是示出对象音频编码单元的配置示例的示图。
图16是示出了初始化单元的配置示例的示图。
图17是用于描述进度信息和处理完成可用性确定的示例的示图。
图18是用于描述包括编码数据的比特流的示例的示图。
图19为示出编码数据的语法示例的示图.
图20是示出扩展数据的示例的示图。
图21是用于描述片段数据的示图。
图22是示出AudioPreRoll()的配置示例的示图。
图23是用于描述初始化处理的流程图。
图24是用于描述编码处理的流程图。
图25是用于描述编码的静音数据插入处理的流程图。
图26是示出解包/解码单元的配置示例的示图。
图27是用于描述解码处理的流程图。
图28是示出编码器的配置示例的示图。
图29是示出对象音频编码单元的配置示例的示图。
图30是用于描述编码处理的流程图。
图31是示出计算机的配置示例的示图。
具体实施方式
在下文中,将参考附图描述应用本技术的实施方式。
<第一实施方式>
<关于本技术>
考虑到对象(声音)的重要性,本技术执行编码处理,以便在保持实时操作的状态下提高编码效率并且增加可发送对象的数量。
例如,为了实现直播流,需要执行作为实际时间处理的编码处理。即,在一秒内分发f帧的声音的情况下,需要在1/f秒内完成一帧的编码和比特流输出。
以这种方式,为了达到执行编码处理作为实际时间处理的目标,以下方法是有效的。
·以逐步方式执行编码处理。
首先,完成最小编码,并且此后执行具有提高的编码效率的附加编码处理。在已经过去预先设置的预定时间限制而未完成附加编码处理的情况下,在该时间终止该处理,并且输出紧接的前一阶段的编码处理结果。
·此外,在经过预定的时间限制而未完成最小编码的情况下,终止处理,并输出预先准备的静音数据的比特流。
顺便提及,在同时再现多声道或多个对象的音频信号的情况下,使用这些音频信号再现的声音包括与其他声音相比重要的声音和不那么重要的声音。例如,不重要的声音是即使不再现整个声音中的特定声音也不会使收听者感到不适的声音等。
如果按照不考虑声音的重要性(即,声道或对象的重要性)的处理顺序进行具有增加编码效率的附加编码处理,则存在处理终止并且声音质量劣化的情况,尽管声音是重要的声音。
因此,在本技术中,通过按照声音的重要性的顺序以提高的编码效率执行附加编码处理,可在保持实时操作的状态下提高全部内容的编码效率。
这样,对具有较高重要性的声音完成附加编码处理,并且不完成附加编码处理,并且仅对具有较低重要性的声音执行最小编码。因此,可以提高全部内容的编码效率。结果,能够增加能够发送的对象的数量。
如上所述,根据本技术,在包括在多声道中的每个声道的音频信号和对象的音频信号的编码中,按照每个声道的音频信号和每个对象的音频信号的优先级的降序执行具有增加的编码效率的附加编码处理。因此,可以在实际时间处理中提高全部内容的编码效率。
注意,在以下描述中,将描述对象的音频信号根据MPEG-H标准进行编码的情况。然而,在根据包括声道的音频信号的MPEG-H标准执行编码的情况下或者在通过其他方法执行编码的情况下,执行类似的处理。
<编码器的配置示例>
图1为示出应用本技术的编码器的实施方式的配置示例的示图。
图1中所示的编码器11包括信号处理装置或者例如用作编码器(编码装置)的计算机等。
图1中示出的示例是N个对象的音频信号和N个对象的元数据被输入至编码器11并且根据MPEG-H标准执行编码的示例。需注意,在图1中,#0至#N-1表示分别指示N个对象的对象编号。
编码器11包括对象元数据编码单元21、对象音频编码单元22和打包单元23。
对象元数据编码单元21对符合MPEG-H标准的N个对象中的每一个的所提供的元数据进行编码,并将因此获得的编码元数据提供给打包单元23。
例如,对象的元数据包括指示对象在三维空间中的位置的对象位置信息、指示对象的优先级(重要程度)的优先级值、以及指示用于对象的音频信号的增益校正的增益的增益值。具体地,在本示例中,元数据至少包括优先级值。
这里,对象位置信息例如包括水平角度(方位)、垂直角度(高度)和距离(半径)。
水平角度和垂直角度是表示在三维空间中从用作参考的收听位置观看对象的位置在水平方向和垂直方向上的角度。另外,距离(Radius)表示在三维空间中从作为参考的收听位置到对象的对象位置的距离。可以说,这样的对象位置信息是指示基于对象的音频信号的声音的声源位置的信息。
另外,对象的元数据可包括用于扩展对象的声音图像的扩展处理等的参数。
对象音频编码单元22基于包括在所提供的每个对象的元数据中的优先级值,对符合MPEG-H标准的N个对象中的每一个的所提供的音频信号进行编码,并且将所获得的编码的音频信号作为结果提供给打包单元23。
打包单元23打包从对象元数据编码单元21提供的编码的元数据和从对象音频编码单元22提供的编码的音频信号,并且输出因此获得的编码比特流。
<对象音频编码单元的配置示例>
此外,对象音频编码单元22被配置为例如如图2中所示。
在图2的示例中,对象音频编码单元22包括优先级信息生成单元51、时间频率变换单元52、听觉心理参数计算单元53、比特分配单元54和编码单元55。
优先级信息生成单元51基于所提供的每个对象的音频信号以及包括在所提供的每个对象的元数据中的优先级值中的至少一者,生成指示每个对象的优先级(即,音频信号的优先级)的优先级信息,并且将优先级信息提供给比特分配单元54。
例如,优先级信息生成单元51基于音频信号的声压或频谱形状、多个对象的音频信号的频谱形状与声道之间的相关性等分析对象的音频信号的优先级。然后,优先级信息生成单元51基于分析结果生成优先级信息。
此外,例如,MPEG-H的对象的元数据包括作为指示对象的优先级的参数的优先级值,作为从0到7的3比特整数,并且较大的优先级值表示对象具有较高优先级。
关于优先级值,可存在内容创建者有意设置优先级值的情况,或者可存在用于生成元数据的应用分析每个对象的音频信号以便自动设置优先级值的情况。此外,在没有内容创建者的意图并且没有对音频信号的分析的情况下,例如,作为应用的默认,可以将诸如最高优先级“7”的固定值设置为优先级值。
因此,当优先级信息生成单元51生成对象(音频信号)的优先级信息时,可以仅使用音频信号的分析结果而不使用优先级值,并且可以使用优先级值和分析结果两者。
例如,在使用优先级值和分析结果两者的情况下,即使音频信号的分析结果相同,也可将具有较大(较高)优先级值的对象的优先级设置为较高。
时间频率变换单元52使用修改的离散余弦变换(MDCT)对每个对象的所提供的音频信号执行时间频率变换。
时间频率变换单元52将MDCT系数提供给比特分配单元54,该MDCT系数是通过时间频率变换获得的每个对象的频谱信息。
听觉心理参数计算单元53基于所供应的每个对象的音频信号计算用于考虑人的听觉特性(听觉掩蔽)的听觉心理参数并且将该听觉心理参数供应至比特分配单元54。
比特分配单元54基于从优先级信息生成单元51提供的优先级信息、从时间频率变换单元52中提供的MDCT系数、以及从听觉心理参数计算单元53中提供的听觉心理参数执行比特分配处理。
在比特分配处理中,执行基于用于计算和评估每个缩放因子带(scale factorband)的量化比特和量化噪声的听觉心理模型的比特分配。然后,基于比特分配的结果针对每个缩放因子带量化MDCT系数,并且获得量化的MDCT系数。
比特分配单元54将针对以此方式获得的每个对象的每个缩放因子带的量化的MDCT系数作为每个对象的量化结果(更具体地,每个对象的MDCT系数的量化结果)提供给编码单元55。
这里,缩放因子带是通过基于人类听觉特性将多个子频带(这里,MDCT的分辨率)与预定带宽捆绑而获得的频带(频带)。
通过如上所述的比特分配处理,将其中在MDCT系数的量化中生成的量化噪声被掩蔽而不被感知的缩放因子带的量化比特的一部分分配(分派)到量化噪声容易被感知的缩放因子带。因此,抑制了整体声音质量的劣化,并且可以执行有效的量化。即,可以提高编码效率。
注意,比特分配单元54将在实际时间处理的时间限制内不能获得量化的MDCT系数的对象的预先准备的静音数据(Mute data)作为对象的量化结果提供给编码单元55。
静音数据是指示每个缩放因子带的MDCT系数的值“0”的零数据,更具体地,静音数据的量化值(即,MDCT系数“0”的量化的MDCT系数)被输出到编码单元55。注意,这里,静音数据被输出到编码单元55。然而,代替提供静音数据,指示量化结果(量化的MDCT系数)是否是静音数据的静音信息(Mute information)可以被提供给编码单元55。在这种情况下,编码单元55根据静音信息切换是执行正常编码处理还是直接编码MDCT系数“0”的量化的MDCT系数。此外,代替编码MDCT系数“0”的量化的MDCT系数,可以使用预先准备的MDCT系数“0”的编码数据。
此外,例如,对于每个对象,比特分配单元54将指示量化结果(量化的MDCT系数)是否是静音数据的静音信息提供给打包单元23。打包单元23将从比特分配单元54提供的静音信息存储在编码的比特流的辅助区域中等。
编码单元55对从比特分配单元54提供的每个对象的每个缩放因子带的量化的MDCT系数进行编码,并将因此获得的编码的音频信号提供给打包单元23。
<编码处理的描述>
随后,将描述编码器11的操作。即,在下文中,将参考图3中的流程图描述由编码器11进行的编码处理。
在步骤S11中,对象元数据编码单元21编码提供的每个对象的元数据,并将因此获得的编码元数据提供给打包单元23。
在步骤S12中,优先级信息生成单元51基于所提供的每个对象的音频信号以及所提供的每个对象的元数据的优先级值中的至少一者来生成优先级信息并且将优先级信息提供至比特分配单元54。
在步骤S13中,时间频率变换单元52使用MDCT对所提供的每个对象的音频信号执行时间频率变换,并且将作为结果获得的用于每个缩放因子带的MDCT系数提供给比特分配单元54。
在步骤S14中,听觉心理参数计算单元53基于所供应的每个对象的音频信号计算听觉心理参数并且将该听觉心理参数供应至比特分配单元54。
在步骤S15中,比特分配单元54基于从优先级信息生成单元51提供的优先级信息、从时间频率变换单元52中提供的MDCT系数、以及从听觉心理参数计算单元53中提供的听觉心理参数执行比特分配处理。
比特分配单元54将通过比特分配处理获得的量化的MDCT系数提供给编码单元55,并且将静音信息提供给打包单元23。注意,稍后将描述比特分配处理的细节。
在步骤S16中,编码单元55对从比特分配单元54提供的量化的MDCT系数进行编码,并且将所获得的编码的音频信号作为结果提供给打包单元23。
例如,编码单元55对量化的MDCT系数执行基于上下文的算术编码,并且将编码的量化的MDCT系数作为编码的音频信号输出到打包单元23。注意,编码方法不限于算术编码。例如,可以使用霍夫曼编码或其他编码方法来执行编码。
在步骤S17中,打包单元23将从对象元数据编码单元21提供的编码元数据和从编码单元55提供的编码音频信号打包。
此时,打包单元23在编码的比特流的辅助区域等中存储从比特分配单元54提供的静音信息。
然后,打包单元23输出通过打包得到的编码比特流,并结束编码处理。
如上所述,编码器11基于对象的音频信号和优先级值生成优先级信息并且使用优先级信息执行比特分配处理。这样,提高了整个内容在实际时间处理中的编码效率,并且能够传输更多的对象数据。
<比特分配处理的描述>
接下来,将参考图4中的流程图描述与图3中的步骤S15的处理对应的比特分配处理。
在步骤S41中,比特分配单元54基于从优先级信息生成单元51提供的优先级信息,按照优先级信息指示的对象的优先级的降序,设置每个对象的处理的顺序(处理顺序)。
在该示例中,在总共N个对象当中将具有最高优先级的对象的处理顺序设置为“0”,并且将具有最低优先级的对象的处理顺序设置为“N-1”。注意,处理顺序的设置不限于此。例如,可将具有最高优先级的对象的处理顺序设置为“1”,并且将具有最低优先级的对象的处理顺序设置为“N”,并且优先级可由除数字之外的符号表示。
在下文中,自具有较高优先级的对象按顺序执行最小量化处理(即,最小编码处理)。
即,在步骤S42中,比特分配单元54将指示待处理的对象的处理目标ID设置为“0”。
处理目标ID的值从“0”增加1并且被更新。另外,在将处理目标ID的值设为n的情况下,该处理目标ID所指示的对象是步骤S41中设置的处理顺序中的第n个对象。
因此,比特分配单元54按照在步骤S41中设置的处理顺序处理每个对象。
在步骤S43中,比特分配单元54确定处理目标ID的值是否小于N。
在步骤S43中确定处理目标ID的值小于N的情况下,即,在尚未对所有对象执行量化处理的情况下,执行步骤S44中的处理。
即,在步骤S44中,比特分配单元54针对由处理目标ID指示的待处理的对象的每个缩放因子带,对MDCT系数执行最小量化处理。
这里,最小量化处理是在比特分配循环处理之前执行的第一量化处理。
具体地,比特分配单元54基于听觉心理参数和MDCT系数来计算和评估每个缩放因子带的量化的比特和量化的噪声。因此,针对每个缩放因子带,确定量化的MDCT系数的目标比特深度(量化的比特深度)。
比特分配单元54针对每个缩放因子带量化MDCT系数,使得每个缩放因子带的量化的MDCT系数是目标量化的比特深度内的数据,并获得量化的MDCT系数。
此外,比特分配单元54生成表示量化结果不是待处理对象的静音数据的静音信息,并且保持静音信息。
在步骤S45中,比特分配单元54确定该时间是否在实际时间处理的预定时间限制内。
例如,在从比特分配处理开始已经过去了预定时间的情况下,确定该时间不在时间限制内。
该时间限制是由比特分配单元54考虑到在比特分配单元54的后续阶段中的编码单元55和打包单元23所需的处理时间而设置(确定)的阈值,例如,使得编码的比特流可被实时输出(分配),即,编码处理可被执行为实际时间处理。
此外,可以基于先前的比特分配处理的处理结果,诸如通过比特分配单元54的先前处理获得的对象的量化的MDCT系数的值,动态地改变这个时间限制。
在步骤S45中确定该时间在时间限制内的情况下,此后,处理进行至步骤S46。
在步骤S46中,比特分配单元54保存(保持)通过步骤S44中的处理获得的量化的MDCT系数作为待处理对象的量化结果,并且将“1”加到处理目标ID的值。从而将尚未被执行最小量化处理的新对象设置为待处理的新对象。
如果执行步骤S46中的处理,此后,处理返回到步骤S43,并且重复上述处理。即,对新的待处理对象执行最小量化处理。
以这种方式,在步骤S43至步骤S46中,按照优先级从高到低的顺序对每个对象执行最小量化处理。因此,可以提高编码效率。
此外,在步骤S45中确定时间不在时间限制内的情况下,即,在已经达到时间限制的情况下,终止每个对象的最小量化处理,然后,处理进行至步骤S47。即,在这种情况下,对于不是处理对象的对象的最小量化处理在未完成状态下终止。
在步骤S47中,比特分配单元54对于不是上述步骤S43至S46中的处理对象的对象(即,在其上未完成最小量化处理的对象),将预先准备的静音数据的量化值保存(保持)为每个对象的量化结果。
也就是说,在步骤S47中,对于未完成最小量化处理的对象,静音数据的量化值被用作对象的量化结果。
此外,对于未完成最小量化处理的对象,比特分配单元54生成并保持静音信息,该静音信息指示量化结果是静音数据。
如果执行了步骤S47中的处理,此后,处理进行至步骤S54。
此外,在步骤S43中确定处理目标ID的值不小于N的情况下,即,在时间限制内对所有对象完成了最小量化处理的情况下,执行步骤S48中的处理。
在步骤S48中,比特分配单元54将指示待处理的对象的处理目标ID设置为“0”。因此,再次按照优先级从高到低的顺序将对象设置为待处理的对象,并且执行下面的处理。
在步骤S49中,比特分配单元54确定处理目标ID的值是否小于N。
在步骤S49中确定处理目标ID的值小于N的情况下,即,在尚未对所有对象执行附加量化处理(附加编码处理)的情况下,执行步骤S50中的处理。
在步骤S50中,比特分配单元54针对由处理目标ID指示的待处理对象的每个缩放因子带,对MDCT系数执行附加量化处理(即,一次附加比特分配循环处理),并根据需要更新并保存量化结果。
具体地,比特分配单元54基于听觉心理参数和量化的MDCT系数重新计算和重新评估每个缩放因子带的量化的比特和量化噪声,其中,所述听觉心理参数和量化的MDCT系数是通过先前的处理(诸如最小量化处理)获得的对象的每个缩放因子带的量化结果。结果,针对每个缩放因子带,新确定量化的MDCT系数的目标量化的比特深度。
比特分配单元54再次量化每个缩放因子带的MDCT系数,使得每个缩放因子带的量化的MDCT系数是目标量化的比特深度内的数据,并获得量化的MDCT系数。
然后,在通过步骤S50中的处理获得比作为对象的量化结果保持的量化的MDCT系数具有更少的量化噪声等的高质量量化的MDCT系数的情况下,比特分配单元54用新获得的量化的MDCT系数替换保持的量化的MDCT系数,并保存新获得的量化的MDCT系数。即,所保持的量化的MDCT系数被更新。
在步骤S51中,比特分配单元54确定时间是否在实际时间处理的预定时间限制内。
例如,如在步骤S45的情况下,在从比特分配处理开始已经过去预定时间的情况下,在步骤S51中确定该时间不在时间限制内。
注意,步骤S51中的时间限制可以与步骤S45的情况中的时间限制相同,或者可以根据如上所述的先前的比特分配处理(即,最小量化处理或者附加的比特分配循环处理)的处理结果动态地改变。
在步骤S51中确定为处于时间限制内的情况下,由于直到时间限制为止还剩余时间,因此处理进入步骤S52。
在步骤S52中,比特分配单元54确定附加量化处理的循环处理(即,附加比特分配循环处理)是否结束。
例如,在步骤S52中,在附加比特分配循环处理被重复预定次数的情况下,在最近的两次比特分配循环处理中的量化噪声之间的差等于或小于阈值的情况下等,确定循环处理结束。
在步骤S52中确定为循环处理尚未结束的情况下,返回到步骤S50,重复上述处理。
另一方面,在步骤S52中确定为循环处理结束的情况下,执行步骤S53的处理。
在步骤S53中,比特分配单元54保存(保持)在步骤S50中更新的量化的MDCT系数作为待处理对象的最终量化结果,并且将“1”添加到处理目标ID的值。因此,将尚未执行附加量化处理的新对象设置为待处理的新对象。
如果执行步骤S53中的处理,此后,处理返回到步骤S49,并且重复上述处理。即,对待处理的新对象执行附加量化处理。
以这种方式,在步骤S49至S53中,按照优先级的降序对每个对象执行附加量化处理。因此,可以进一步提高编码效率。
此外,在步骤S51中确定时间不在时间限制内的情况下,即,在时间限制已经到来的情况下,终止针对每个对象的附加量化处理,之后,处理进行到步骤S54。
即,在这种情况下,对于一些对象,完成最小量化处理。然而,附加量化处理在未完成状态下终止。因此,对于一些对象,输出最小量化处理的结果作为最终量化的MDCT系数。
然而,在步骤S49至S53中,按照优先级的降序执行处理,终止处理的对象是具有相对低优先级的对象。也就是说,由于可以针对具有高优先级的对象获得高质量的量化的MDCT系数,因此可以最小化声音质量的劣化。
此外,在步骤S49中确定处理目标ID的值不小于N的情况下,即,在时间限制内对于所有对象完成附加量化处理的情况下,处理进行至步骤S54。
在执行步骤S47中的处理的情况下,在步骤S49中确定处理目标ID的值不小于N,或者在步骤S51中确定时间不在时间限制内,执行步骤S54中的处理。
在步骤S54中,比特分配单元54将作为每个对象的量化结果保持的量化的MDCT系数(即,保存的量化的MDCT系数)输出到编码单元55。
此时,对于未完成最小量化处理的对象,将作为量化结果保持的静音数据的量化值输出到编码单元55。
此外,比特分配单元54将每个对象的静音信息提供给打包单元23,并且结束比特分配处理。
如果将静音信息提供给打包单元23,则在上述图3的步骤S17中,打包单元23将静音信息存储在编码比特流中。
静音信息是具有作为值的“0”或“1”的标志信息等。
具体地,例如,在要对对象进行编码的帧中的所有量化的MDCT系数为零的情况下,即,在量化结果是静音数据的情况下,静音信息的值是“1”。另一方面,在量化结果不是静音数据的情况下,静音信息的值是“0”。
例如,这种静音信息被写入对象的元数据、编码比特流的辅助区域等中。注意,静音信息不限于标志信息,并且可以具有字母的字符串或诸如“MUTE”的其他符号。
作为示例,图5中示出了将静音信息添加到MPEG-H的ObjectMetadataConfig()中的语法示例。
在图5的示例中,静音信息“mutdObjectFlag[o]”通过在元数据的Config中的对象的数量(num_objects)来存储。
如上所述,在对象的所有量化的MDCT系数是“0”的情况下,“1”被设置为静音信息(互斥ObjectFlag[o]),并且在其他情况下,“0”被设置。
通过在解码侧写入这种静音信息,0数据(零数据)可以用作MDCT输出,而不是对具有静音信息“1”的对象执行修正离散余弦逆变换(MDCT)。结果,可以加速解码处理。
如上所述,比特分配单元54从具有较高优先级的对象开始按顺序执行最小量化处理和附加量化处理。
这样,可以对具有较高优先级的对象完成附加量化处理(附加比特分配循环处理),并且可以在实际时间处理中提高全部内容的编码效率。结果,可以传输更多的对象数据。
应注意,上面已经描述了优先级信息输入至比特分配单元54并且时间频率变换单元52对所有对象执行时间频率变换的情况。然而,例如,优先级信息可以被提供给时间频率变换单元52。
在这种情况下,时间频率变换单元52不对具有由优先级信息指示的低优先级的对象执行时间频率变换,将每个缩放因子带的所有MDCT系数替换成0数据(零数据),并且将零数据提供给比特分配单元54。
因此,与在图2中示出的配置的情况相比,可进一步减少具有低优先级的对象的处理时间和处理量,并且可为具有高优先级的对象确保更多的处理时间。
<解码器的配置示例>
随后,将描述接收(获取)从图1中示出的编码器11输出的编码比特流并解码编码元数据和编码音频信号的解码器。
例如,这种解码器被配置为如图6中所示。
图6中所示的解码器81包括解包/解码单元91、渲染单元92以及混合单元93。
解包/解码单元91获取从编码器11输出的编码比特流,并且对编码比特流进行解包和解码。
解包/解码单元91将通过解包和解码而获得的每个对象的音频信号和每个对象的元数据提供给渲染单元92。此时,解包/解码单元91根据包括在编码比特流中的静音信息对每个对象的编码的音频信号进行解码。
渲染单元92基于从解包/解码单元91提供的每个对象的音频信号和包括在每个对象的元数据中的对象位置信息来生成M个声道的音频信号,并将生成的音频信号提供给混合单元93。此时,渲染单元92生成M个声道中的每一个的音频信号,以便将每一个的声音图像定位于由对象的对象位置信息指示的位置处。
混合单元93将从渲染单元92提供的每个声道的音频信号提供给与每个外部声道对应的扬声器并且再现声音。
应注意,在用于每个声道的编码的音频信号包括在编码的比特流中的情况下,混合单元93对从解包/解码单元91供应的每个声道的音频信号和从渲染单元92供应的每个声道的音频信号执行针对每个声道的加权加法,并且生成每个声道的最终音频信号。
<解包/解码单元的配置示例>
此外,更具体地,例如,如在图7中所示,配置图6中所示的解码器81的解包/解码单元91。
图7所示的解包/解码单元91包括静音信息获取单元121、对象音频信号获取单元122、对象音频信号解码单元123、输出选择单元124、0值输出单元125和IMDCT单元126。
静音信息获取单元121从提供的编码比特流中获取每个对象的音频信号的静音信息,并将静音信息提供给输出选择单元124。
此外,静音信息获取单元121从提供的编码比特流中获取每个对象的编码元数据并解码该编码元数据,并且将所获得的元数据作为结果提供给渲染单元92。此外,静音信息获取单元121将提供的编码比特流提供给对象音频信号获取单元122。
对象音频信号获取单元122从静音信息获取单元121提供的编码的比特流中获取每个对象的编码的音频信号,并将编码的音频信号提供给对象音频信号解码单元123。
对象音频信号解码单元123解码从对象音频信号获取单元122提供的每个对象的编码的音频信号,并将因此获得的MDCT系数提供给输出选择单元124。
输出选择单元124基于从静音信息获取单元121提供的每个对象的静音信息,选择性地切换从对象音频信号解码单元123提供的每个对象的MDCT系数的输出目的地。
具体地,在关于预定对象的静音信息的值是“1”的情况下,即,在量化结果是静音数据的情况下,输出选择单元124将对象的MDCT系数设置为零,并且将零提供给0值输出单元125。即,零数据被提供给0值输出单元125。
另一方面,在关于预定对象的静音信息的值是“0”的情况下,即,在量化结果不是静音数据的情况下,输出选择单元124将从对象音频信号解码单元123提供的对象的MDCT系数提供给MDCT单元126。
0值输出单元125基于从输出选择单元124提供的MDCT系数(零数据)生成音频信号,并且将音频信号提供给渲染单元92。在这种情况下,因为MDCT系数为零,所以生成静默音频信号。
MDCT单元126基于从输出选择单元124提供的MDCT系数执行MDCT,生成音频信号,并且将音频信号提供给渲染单元92。
<解码处理的描述>
接下来,将描述解码器81的操作。
如果从编码器11提供用于一个帧的编码比特流,那么解码器81执行解码处理,以便生成音频信号,并且将音频信号输出给扬声器。在下文中,将参考图8中的流程图描述由解码器81执行的解码处理。
在步骤S81中,解包/解码单元91获取(接收)从编码器11发送的编码比特流。
在步骤S82中,解包/解码单元91执行选择解码处理。
应注意,稍后将描述选择解码处理的细节。在选择解码处理中,基于静音信息选择性地解码每个对象的编码的音频信号。然后,作为结果获得的每个对象的音频信号被提供给渲染单元92。此外,从编码比特流获取的每个对象的元数据被提供给渲染单元92。
在步骤S83中,渲染单元92基于从解包/解码单元91提供的每个对象的音频信号和包括在每个对象的元数据中的对象位置信息来渲染每个对象的音频信号。
例如,渲染单元92基于对象位置信息通过矢量基本振幅平移(VBAP)生成每个声道的音频信号,使得每个对象的声音图像位于由对象位置信息指示的位置处,并且将音频信号供应至混合单元93。注意,再现方法不限于VBAP,并且可以使用其他方法。此外,如上所述,物体的位置信息包括例如水平角(方位角)、垂直角(仰角)和距离(半径),并且可由例如正交坐标(X,Y,Z)表示。
在步骤S84中,混合单元93将从渲染单元92提供的每个声道的音频信号提供给与该声道对应的扬声器并且再现声音。如果每个声道的音频信号被供应至扬声器,则解码处理结束。
如上所述,解码器81从编码比特流获取静音信息,并根据静音信息对每个对象的编码音频信号进行解码。
<选择解码处理的描述>
随后,将参考图9中的流程图描述与图8中的步骤S82中的处理对应的选择解码处理。
在步骤S111中,静音信息获取单元121从提供的编码比特流中获取每个对象的音频信号的静音信息,并将静音信息提供给输出选择单元124。
此外,静音信息获取单元121从编码比特流获取每个对象的编码元数据,并对编码元数据进行解码,并将因此获得的元数据提供给渲染单元92,并将编码比特流提供给对象音频信号获取单元122。
在步骤S112中,对象音频信号获取单元122将零设置给待处理对象的对象编号,并且保持对象编号。
在步骤S113中,对象音频信号获取单元122确定所保持的对象编号是否小于对象编号N。
在步骤S113中确定对象数量小于N的情况下,在步骤S114中,对象音频信号解码单元123解码待处理对象的编码音频信号。
即,对象音频信号获取单元122从静音信息获取单元121提供的编码比特流中获取待处理对象的编码音频信号,并将编码音频信号提供给对象音频信号解码单元123。
然后,对象音频信号解码单元123解码从对象音频信号获取单元122提供的编码的音频信号,并且将因此获得的MDCT系数提供给输出选择单元124。
在步骤S115中,输出选择单元124确定从静音信息获取单元121提供的处理对象的静音信息的值是否为“0”。
在步骤S115中确定静音信息的值是“0”的情况下,输出选择单元124将从对象音频信号解码单元123提供的待处理对象的MDCT系数提供给MDCT单元126,并且处理进行到步骤S116。
在步骤S116中,MDCT单元126基于从输出选择单元124提供的MDCT系数执行MDCT,生成待处理的对象的音频信号,并且将音频信号提供给渲染单元92。如果生成音频信号,此后,处理进行到步骤S117。
另一方面,在步骤S115中确定静音信息的值不是“0”(即,静音信息的值是“1”)的情况下,输出选择单元124将MDCT系数设置为零并且将零提供给0值输出单元125。
0值输出单元125根据输出选择单元124提供的为零的MDCT系数生成待处理对象的音频信号,并将该音频信号提供给渲染单元92。因此,0值输出单元125基本上不执行任何处理以生成音频信号,诸如MDCT。
注意,由0值输出单元125生成的音频信号是静音信号。如果生成音频信号,此后,处理进行到步骤S117。
如果在步骤S115中确定静音信息的值不是“0”或当在步骤S116中生成音频信号时,在步骤S117中,对象音频信号获取单元122将保持的对象编号加一,并更新待处理对象的对象编号。
如果更新对象编号,此后,处理返回至步骤S113,并且重复上述处理。即,生成待处理的新对象的音频信号。
而且,在步骤S113中确定待处理对象的对象编号不小于N的情况下,因为获得所有对象的音频信号,所以选择解码处理结束,此后,处理进行到图8中的步骤S83。
如上所述,解码器81对编码的音频信号进行解码,同时针对每个对象基于静音信息确定是否对将被处理的帧的每个对象的编码的音频信号进行解码。
即,解码器81根据每个音频信号的静音信息仅解码必要的编码的音频信号。因此,在根据音频信号再现的声音的声音质量的劣化被最小化的同时,不仅可以减少解码的计算量,而且可以减少诸如渲染单元92的处理等的后续处理的计算量。
<第二实施方式>
<对象音频编码单元的配置示例>
此外,上述第一实施方式是分配固定视点3D音频内容(音频信号)的示例。在这种情况下,用户的收听位置是固定位置。
然而,在MPEG-I自由视点3D音频(MPEG-I free viewpoint 3DAudio)中,用户的收听位置不是固定位置,并且用户可以移动到任何位置。因此,每个对象的优先级根据用户的收听位置与对象的位置之间的关系(位置关系)而改变。
因此,在要分发的内容(音频信号)是自由视点3D音频内容的情况下,可以考虑对象的音频信号、元数据的优先级值、对象位置信息和指示用户的收听位置的收听位置信息来生成优先级信息。
在这种情况下,例如,编码器11的对象音频编码单元22被配置为如图10中所示。要注意的是,在图10中,与在图2的情况下的部分对应的部分由相同的参考标号表示,并且将适当地省略其描述。
在图10中示出的对象音频编码单元22包括优先级信息生成单元51、时间频率变换单元52、听觉心理参数计算单元53、比特分配单元54和编码单元55。
图10中的对象音频编码单元22的配置与在图2中示出的配置基本相同。然而,配置与图2中示出的示例的不同之处在于除了优先级值之外,对象位置信息和监控位置信息被提供给优先级信息生成单元51。
即,在图10中的示例中,每个对象的音频信号、包括在每个对象的元数据中的优先级值和对象位置信息、以及指示用户在三维空间中的收听位置的收听位置信息被提供给优先级信息生成单元51。
例如,收听位置信息由编码器11从作为内容分发目的地的解码器81接收(获取)。
此外,这里,由于内容是自由视点3D音频内容,所以包括在元数据中的对象位置信息例如是指示三维空间中的声源位置(即,对象的绝对位置)的坐标信息等。注意,对象位置信息不限于此,并且可以是指示对象的相对位置的坐标信息。
优先级信息生成单元51基于每个对象的音频信号、每个对象的优先级值、或每个对象的对象位置信息和监控位置信息(元数据和监控位置信息)中的至少任一个生成优先级信息并且将优先级信息提供至比特分配单元54。
例如,与对象和用户(收听者)之间的距离短的情况相比,随着对象和收听者之间的距离变得更长,对象的音量降低,并且对象的优先级趋于降低。
因此,例如,通过使用随着对象和用户的收听位置之间的距离变长而降低优先级的低阶非线性函数来调整优先级,对于由优先级信息生成单元51基于音频信号和对象的优先级值获得的优先级,指示调整的优先级的优先级信息可被设置为最终优先级信息。这样,可以获得更适于主观性的优先级信息。
即使在对象音频编码单元22具有图10中所示的配置的情况下,编码器11也执行参照图3描述的编码处理。
然而,在步骤S12中,根据需要通过使用对象位置信息和收听位置信息生成优先级信息。即,基于音频信号、优先级值或对象位置信息和收听位置信息中的至少一个生成优先级信息。
<第三实施方式>
<内容分发系统的配置示例>
顺便提及,即使在现场或音乐会的现场流中执行如在第一实施方式中的用于提高编码效率的实际时间处理的限制处理,由于实现编码器的硬件中的操作系统(OS)等的中断,处理负荷可能迅速增加。在这种情况下,认为在实际时间处理的时间限制内未完成处理的对象的数量增加,并且给出听觉不适感。即,声音质量可能劣化。
因此,为了防止这种听觉不舒服感觉的出现,即,声音质量的劣化,通过预先渲染准备具有不同数量的对象的多条输入数据,并且每个输入数据可以通过不同的硬件编码(编码)。
在这种情况下,例如,在未发生实际时间处理的限制处理的编码的比特流中,具有最大数量的对象的编码比特流被输出至解码器81。因此,即使在多个硬件中包括处理负荷由于OS的中断等而迅速增加的硬件的情况下,也可以防止听觉不适感的发生。
如上所述,例如,在预先准备多条输入数据的情况下,如图11所示,配置分发内容的内容分发系统。
图11中所示的内容分发系统包括编码器201-1至201-3以及输出单元202。
例如,在内容分发系统中,准备具有彼此不同的对象数量的三条输入数据D1至D3作为用于再现相同内容的数据。
这里,输入数据D1是包括N个对象的音频信号和元数据的数据,并且例如,输入数据D1是对其不执行预渲染的原始数据等。
此外,输入数据D2是小于输入数据D1的包括16个对象的音频信号和元数据的数据,并且例如,输入数据D2是通过对输入数据D1执行预先渲染而获得的数据等。
类似地,输入数据D3是包括小于输入数据D2的10个对象的音频信号和元数据的数据,并且例如,输入数据D3是通过对输入数据D1执行预先渲染而获得的数据等。
即使通过这种输入数据D1到输入数据D3中的任一个再现内容(音频),也基本上再现相同的声音。
在内容分发系统中,输入数据D1被提供(输入)至编码器201-1,输入数据D2被提供至编码器201-2,并且输入数据D3被供应至编码器201-3。
编码器201-1至201-3由彼此不同的硬件(诸如,计算机)实现。换言之,编码器201-1至201-3由彼此不同的OS实现。
编码器201-1通过对所提供的输入数据D1执行编码处理生成编码比特流,并且将编码比特流提供给输出单元202。
类似地,编码器201-2通过对所提供的输入数据D2执行编码处理生成编码比特流并将该编码比特流提供至输出单元202,并且编码器201-3通过对所提供的输入数据D3执行编码处理生成编码的比特流并将该编码的比特流提供至输出单元202。
要注意的是,在后文中,在不需要特别彼此区分编码器201-1至201-3的情况下,编码器201-1至201-3也简称为编码器201。
例如,每个编码器201具有与图1中所示的编码器11的配置相同的配置。每个编码器11通过执行参照图3描述的编码处理来生成编码比特流。
此外,这里,将描述在内容分发系统中设置三个编码器201的示例。然而,编码器201的数量不限于此,并且可设置两个或四个或更多个编码器201。
输出单元202选择分别从多个编码器201提供的编码比特流中的一个并且将选择的编码比特流传输至解码器81。
例如,输出单元202指定多个编码比特流是否包括不包括值为“1”的静音信息的编码的比特流,即,所有对象的静音信息的值为“0”的编码的比特流。
然后,在存在不包括具有值“1”的静音信息的编码比特流的情况下,输出单元202从不包括具有值“1”的静音信息的编码比特流中选择具有最大数量的对象的编码比特流,并且将编码比特流发送给解码器81。
此外,在不存在不包括具有值“1”的静音信息的编码比特流的情况下,例如,输出单元202选择具有最大数量的对象的编码比特流、具有其静音信息是“0”的最大数量的对象的编码比特流等,并且将编码比特流发送给解码器81。
如上所述,通过选择多个编码比特流中的一个并输出编码比特流,能够防止听觉不舒服感觉的出现并且实现高质量的音频再现。
此处,参考图12,将描述在包括N个对象(N>16)的元数据和音频信号的数据被准备为内容的原始数据的情况下的输入数据D1至D3的具体示例。
在该示例中,在输入数据D1至D3的任一个中,原始(original)数据相同,并且数据中的对象的数量为N。
具体地,输入数据D1被假定为原始数据本身。
因此,输入数据D1是包括N个原始(original)对象的元数据和音频信号的数据,并且通过预渲染生成的新对象的元数据和音频信号不包括在输入数据D1中。
并且,输入数据D2和D3是通过对原始数据进行预渲染而获得的数据。
具体地,输入数据D2是包括N个原始对象当中具有高优先级的四个对象的元数据和音频信号以及通过预渲染生成的12个新对象的元数据和音频信号的数据。
通过基于N个原始对象之中未包括在输入数据D2中的(N-4)个对象的数据预渲染来生成不是原始的且包括在输入数据D2中的12个对象的数据。
此外,在输入数据D2中,关于四个对象,原始对象的元数据和音频信号没有被预先渲染并被包括在输入数据D2中。
输入数据D3是包括通过预呈现生成的新对象的元数据和音频信号的数据,其中不包括原始对象的数据。
通过基于N个原始对象的数据进行预渲染来生成10个对象的元数据和音频信号。
如上所述,通过基于原始对象的数据执行预渲染并且生成新对象的元数据和音频信号,可以准备对象数量减少的输入数据。
注意,这里,原始对象数据仅是输入数据D1。然而,考虑到OS的中断的突然发生等,原始数据可以被用作在其上不执行预渲染的多条输入数据。即,例如,不仅输入数据D1而且输入数据D2也可以是原始数据。
以这种方式,例如,即使在使用输入数据D1作为输入的编码器201-1中突然发生OS等的中断,如果在使用输入数据D2作为输入的编码器201-2中没有发生OS等的中断,则可以防止声音质量的劣化。即,编码器201-2可能获得不包括值为“1”的静音信息的编码比特流。
此外,例如,通过基于原始对象数据执行预渲染,可准备其对象数量进一步小于图12中示出的输入数据D3的多条输入数据。此外,输入数据D1至D3中的每一个的对象信号(音频信号)和多条对象元数据(元数据)的数量可以由用户侧设置,或者可以根据每个编码器201的资源等动态地改变。
如上所述,根据第一实施方式至第三实施方式中描述的本技术,即使在实际时间处理的所有处理未在时间限制内完成的情况下,全部内容的编码效率也可以通过按照对象的声音的重要性的降序执行用于提高编码效率的附加比特分配处理来提高。
<第四实施方式>
<关于下溢>
如上所述,在符合MPEG-H 3D音频标准等处理的3D音频中,保持每个对象的元数据,例如,指示声音材料(对象)的位置、距离、对象的增益等的水平角和垂直角,并且可再现三维声音方向、距离、传播等。
在通常的立体声再现中,混合工程师基于包括大量声音材料的多声道数据将被称为混合的各个声音材料向下平移到左声道和右声道,以获得立体声音频信号。
另一方面,在3D音频中,称为对象的每个声音材料被布置在三维空间中,并且这些对象的位置信息被描述为上述元数据。因此,在3D音频中,对混合之前的大量对象(更具体地,对象的对象音频信号)进行编码。
然而,在如实况广播中实时地执行编码的情况下,当对大量对象进行编码时,发送装置需要高处理能力。即,在一帧数据不能在预定时间内被编码的情况下,发生下溢(underflow)状态,在该状态下,不存在要由发送装置发送的数据,并且发送处理失败。
为了避免这种下溢,在要求实时性能的编码装置中,主要关于需要大量计算资源的称为比特分配的处理,控制比特分配处理,以在预定时间内完成处理。
在最近的编码装置中,为了遵循技术上的进步并且降低成本,在许多情况下,诸如Linux(注册商标)的操作系统(OS)安装在诸如个人计算机的通用硬件上,而不是使用专用硬件的编码装置上,并且编码软件在其上操作。
然而,在诸如Linux(注册商标)的OS中,并行执行除编码之外的大量系统进程,并且系统进程作为具有高优先级的进程执行。因此,经常在处理编码软件之前执行系统处理。在这种情况下,在最坏情况下,在编码时的处理未达到比特分配处理,并且可能发生下溢。
为了避免这样的下溢,在没有需要输出的处理数据的情况下,经常采用编码和传输静默数据(静音数据)的方法。
对于诸如MPEG-D USAC或MPEG-H 3D音频的编码标准,使用基于上下文的算术编码技术。
在这种基于上下文的算术编码技术中,先前帧和帧的量化的MDCT系数被用作上下文,基于上下文自动地选择要被编码的量化的MDCT系数的出现频率表,并且执行算术编码。
在此处,参照图13,描述在基于上下文的算术编码中的上下文计算方法。
要注意的是,在图13中,垂直方向表示频率,并且水平方向表示时间,即,对象音频信号的帧。
此外,每一矩形或圆形表示每一帧的每一频率的MDCT系数块,每一MDCT系数块包含两个MDCT系数(经量化的MDCT系数)。具体地,每个矩形表示编码的MDCT系数块,并且每个圆形表示未编码的MDCT系数块。
在此示例中,MDCT系数块BLK11是编码目标。此时,与MDCT系数块BLK11相邻的四个MDCT系数块BLK12至BLK15被设置为上下文。
具体地,MDCT系数块BLK12至BLK14是在时间上紧接在要编码的MDCT系数块BLK11的帧之前的帧中的具有与MDCT系数块BLK11的频率相同或相邻的频率的MDCT系数块。
此外,MDCT系数块BLK15是MDCT系数块BLK11的待编码帧中的频率与MDCT系数块BLK11的频率相邻的MDCT系数块。
基于MDCT系数块BLK12至BLK15计算上下文值,并且基于上下文值选择用于对待编码的MDCT系数块BLK11进行编码的出现频率表(算术编码频率表)。
在解码时,必须使用与编码时的出现频率表相同的出现频率表,从算术码(即,编码的量化的MDCT系数)执行可变长度解码。因此,作为上下文或语境值的计算,需要在编码和解码时执行完全相同的计算。
应注意,由于基于上下文的算术编码的更详细的内容与本技术不直接相关,因此这里省略其描述。
顺便提及,利用上述用于编码和发送静默数据(静音数据)的方法,需要用于编码静默数据的计算。因此,结果,存在不能在预定时间内输出一帧数据的情况。
因此,根据本技术,即使在MPEG-H使用基于上下文的算术编码技术作为在使用诸如Linux(注册商标)的OS的基于软件的编码装置中的编码方法的情况下,可防止下溢的发生。
具体地,根据本技术,例如,即使在编码处理由于在OS中生成的其他处理负荷而未完成的情况下,通过发送预先准备的编码的静音数据,可防止下溢的发生。
<编码器的配置示例>
图14是示出应用本技术的编码器的另一个实施方式的配置示例的示图。要注意的是,在图14中,与在图1的情况下的部分对应的部分由相同的参考标号表示,并且适当地省略其描述。
例如,在图14中示出的编码器11是使用OS等的基于软件的编码装置。即,例如,编码器11通过由诸如PC的信息处理装置中的OS操作编码软件来实现。
编码器11包括初始化单元301、对象元数据编码单元21、对象音频编码单元22和打包单元23。
初始化单元301基于从OS等提供的初始化信息执行在编码器11的激活等时执行的初始化,基于初始化信息生成编码的静音数据,并将编码的静音数据提供给对象音频编码单元22。
编码的静音数据是通过对静音数据的量化值(即,具有MDCT系数“0”的量化的MDCT系数)进行编码而获得的数据。可以说,这种编码的静音数据是静默数据的MDCT系数的量化值,即,通过对静默音频信号的MDCT系数的量化值进行编码而获得的编码的静默数据。应注意,在下文中,将描述为假设基于上下文的算术编码被执行为编码。然而,编码不限于此,并且可以通过其他编码方法来执行编码。
对象音频编码单元22对提供的符合MPEG-H标准的每个对象的音频信号(在下文中,也称为对象音频信号)进行编码,并将因此获得的编码的音频信号提供给打包单元23。此时,对象音频编码单元22适当地使用从初始化单元301提供的编码的静音数据作为编码音频信号。
注意,如在上述实施方式中,对象音频编码单元22可基于每个对象的元数据计算优先级信息,并且例如使用优先级信息量化MDCT系数。
<对象音频编码单元的配置示例>
此外,例如,图14中所示的编码器11的对象音频编码单元22被配置为如图15所示。要注意的是,在图15中,与在图2的情况下的部分对应的部分由相同的参考数字表示,并且适当地省略其描述。
在图15的示例中,对象音频编码单元22包括时间频率变换单元52、听觉心理参数计算单元53、比特分配单元54、上下文处理单元331、可变长度编码单元332、输出缓冲器333、处理进度监控单元334、处理完成可用性确定单元335和编码的静音数据插入单元336。
比特分配单元54基于从时间频率变换单元52中供应的MDCT系数和从听觉心理参数计算单元53中供应的听觉心理参数执行比特分配处理。应注意,如在上述实施方式中,比特分配单元54可基于优先级信息执行比特分配处理。
比特分配单元54将针对通过比特分配处理获得的每个对象的每个缩放因子带的量化的MDCT系数提供给上下文处理单元331和可变长度编码单元332。
上下文处理单元331基于从比特分配单元54提供的量化的MDCT系数,确定(选择)编码量化的MDCT系数所需的出现频率表。
例如,如参考图13所描述的,上下文处理单元331从在聚焦量化的MDCT系数(MDCT系数块)附近的多个量化的MDCT系数的代表值确定用于编码聚焦量化的MDCT系数的出现频率表。
上下文处理单元331将指示针对每个量化的MDCT系数(更具体地,针对每个MDCT系数块)确定的每个量化的MDCT系数的出现频率表的索引(在下文中,也称为出现频率表索引)提供给可变长度编码单元332。
可变长度编码单元332参考由从上下文处理单元331提供的出现频率表索引指示的出现频率表,可变长度编码从比特分配单元54供应的量化的MDCT系数,并且执行无损压缩。
具体地,可变长度编码单元332通过执行基于上下文的算术编码作为可变长度编码来生成编码的音频信号。
另外,在上述非专利文献1至3所示的编码标准中,作为变长编码技术,使用算术编码。对于本技术,可以应用除算术编码技术之外的其他可变长度编码技术,例如,霍夫曼编码技术等。
可变长度编码单元332将通过执行可变长度编码而获得的编码的音频信号提供至输出缓冲器333并且使输出缓冲器333保持编码的音频信号。
编码量化的MDCT系数的上下文处理单元331和可变长度编码单元332对应于在图2中示出的对象音频编码单元22的编码单元55。
输出缓冲器333保持包括从可变长度编码单元332提供的每个帧的编码音频信号的比特流,并在适当的定时将保持编码音频信号(比特流)提供给打包单元23。
处理进度监控单元334监控由时间频率变换单元52执行的每个处理至比特分配单元54、上下文处理单元331以及可变长度编码单元332的进度,并且将指示监控结果的进度信息提供至处理完成可用性确定单元335。
处理进度监控单元334根据从处理完成可用性确定单元335提供的确定结果,向比特分配单元54、上下文处理单元331和可变长度编码单元332适当地指示时间频率变换单元52,例如终止执行处理。
处理完成可用性确定单元335基于从处理进度监控单元334提供的进度信息,执行处理完成可用性确定,以确定用于编码对象音频信号的处理是否在预定时间内完成,并将确定结果提供给处理进度监控单元334和编码的静音数据插入单元336。此外,具体而言,仅在确定为在规定时间内未完成处理的情况下,将确定结果提供给编码的静音数据插入单元336。
编码的静音数据插入单元336根据从处理完成可用性确定单元335提供的确定结果,将预先准备(生成)的编码的静音数据插入到输出缓冲器333中的包括每个帧的编码音频信号的比特流中。
在这种情况下,编码的静音数据被插入到比特流中,作为确定处理在预定时间内未完成的帧的编码的音频信号。
即,在确定处理在预定帧中的时间内未完成的情况下,终止比特分配处理。因此,不能获得预定帧中的编码的音频信号。因此,输出缓冲器333不将编码的音频信号保持在预定帧中。因此,将编码的静音数据(其是通过编码零数据而获得的编码的静默数据,即,静默音频信号(静默信号))作为预定帧的编码的音频信号插入到比特流中。
例如,可针对每个对象(对象音频信号)插入编码的静音数据,并且在比特分配处理终止的情况下,可假设所有对象的编码的音频信号为编码的静音数据。
<初始化单元的配置示例>
此外,例如,如图16所示,配置图14所示的编码器11的初始化单元301。
初始化单元301包括初始化处理单元361和编码的静音数据生成单元362。
初始化信息被提供给初始化处理单元361。例如,初始化信息包括指示包括在要被编码的内容中的对象和声道的数量(即,对象的数量和声道的数量)的信息。
初始化处理单元361基于提供的初始化信息执行初始化并将由初始化信息指示的对象的数量(更具体地,指示对象的数量的对象数量信息)提供给编码的静音数据生成单元362。
编码的静音数据生成单元362生成与由初始化处理单元361提供的对象编号信息指示的对象的数量一样多的多条编码的静音数据,并将编码的静音数据提供给编码的静音数据插入单元336。即,编码的静音数据生成单元362针对每个对象生成编码的静音数据。注意,每个对象的编码的静音数据相同。
此外,在编码器11编码每个声道的音频信号的情况下,编码的静音数据生成单元362基于指示声道的数量的声道数量信息生成与声道的数量一样多的多条编码的静音数据。
<关于处理的进程和编码的静音数据>
随后,将描述由编码器11的每个单元执行的处理的进程和编码的静音数据。
处理进度监控单元334通过从处理器或OS提供的定时器指定时间,并且生成进度信息,该进度信息指示从输入用于一个帧的对象音频信号时到生成该帧的编码音频信号时的处理的进度。
此处,将参照图17描述进度信息和处理完成可用性确定的具体示例。要注意的是,在图17中,假设用于一个帧的对象音频信号包括1024个样本。
在图17中所示的示例中,时间t11表示待处理帧的对象音频信号供应至时间频率变换单元52的时间,即,开始对待处理对象音频信号进行时间频率变换的时间。
此外,时间t12是成为预定阈值的时间,并且如果通过时间t12完成对象音频信号的量化,即,量化的MDCT系数的生成,则可以无延迟地输出(传输)待处理的帧的编码的音频信号。换言之,如果在时间t12完成用于生成量化的MDCT系数的处理,则不发生下溢。
时间t13是待处理的帧的编码音频信号的输出(即,编码比特流)开始的时间。在本示例例中,从时刻t11到时刻t13的时刻为21msec。
此外,抛面线(阴影线)的矩形部分指示在从对象音频信号获得量化的MDCT系数之前执行的处理中,不管对象音频信号如何,执行其所需计算量(计算量)基本上固定的处理(在下文中,也称为不变处理)所需的时间。更具体地,阴影矩形部分表示直到完成不变处理所需的时间。例如,时间频率变换和听觉心理参数的计算是不变的处理。
另一方面,没有阴影的矩形部分指示在从对象音频信号获得量化的MDCT系数之前执行的处理中,执行其所需计算量(即,处理时间根据对象音频信号)改变的处理所需的时间(在下文中,也称为可变处理)。例如,比特分配处理是变量处理。
处理进度监控单元334通过向比特分配单元54监控时间频率变换单元52的处理的进度状态或者监控OS的中断处理的发生状态等,指定直到不变处理或可变处理完成为止所需的时间。注意,直到不变处理或可变处理完成为止所需的时间由于OS的中断处理等的出现而改变。
例如,处理进度监控单元334生成表示完成不变处理所需的时间和完成可变处理所需的时间的信息作为进度信息,并且将进度信息提供给处理完成可用性确定单元335。
例如,在由箭头Q11表示的示例中,不变处理和可变处理在作为阈值的时间t12之前完成(结束)。即,量化的MDCT系数可以通过时间t12获得。
因此,处理完成可用性确定单元335将指示用于编码对象音频信号的处理在预定时间内(即,到应当开始输出编码的音频信号的时间)完成的确定结果提供至处理进度监控单元334。
此外,例如,在由箭头Q12表示的示例中,在时刻t12之前完成不变处理。然而,因为可变处理的处理时间长,所以在时间t12之前未完成可变处理。换言之,可变处理的完成时间稍微超过时间t12。
因此,处理完成可用性确定单元335将指示用于编码对象音频信号的处理在预定时间内未完成的确定结果提供至处理进度监控单元334。更具体地,处理完成可用性确定单元335将指示需要终止比特分配处理的确定结果提供至处理进度监控单元334。
在这种情况下,例如,处理进度监控单元334根据从处理完成可用性确定单元335提供的确定结果,指示比特分配单元54终止比特分配处理,更具体地,比特分配循环处理。
然后,比特分配单元54终止比特分配循环处理。然而,因为比特分配单元54执行至少最小量化处理,所以尽管质量劣化,但是可以在没有下溢的情况下获得量化的MDCT系数。
而且,例如,在由箭头Q13表示的示例中,由于在OS中发生中断处理,所以在时间t12之前未完成不变的处理,所以发生下溢。
然后,处理完成可用性确定单元335将指示用于编码对象音频信号的处理在预定时间内未完成的确定结果提供至处理进度监控单元334和编码的静音数据插入单元336。更具体地,处理完成可用性确定单元335将表示需要输出编码的静音数据的确定结果提供给处理进度监控单元334和编码的静音数据插入单元336。
在这种情况下,时间频率变换单元52至可变长度编码单元332停止(终止)正在执行的处理,并且通过编码的静音数据插入单元336插入编码的静音数据。
接下来,将描述编码的静音数据。在描述编码的静音数据之前,首先,将描述编码的音频信号。
如上所述,对于每个帧,编码的音频信号从可变长度编码单元332被供应到输出缓冲器333。然而,更具体地,提供包括编码音频信号的编码数据。注意,这里,例如,假设遵照MPEG-H3D音频标准执行对量化的MDCT系数的可变长度编码。
例如,用于一个帧的编码数据至少包括Indep标记(独立标记)、当前帧的编码音频信号(编码的量化的MDCT系数)、指示是否存在关于预滚动帧(PreRollFrame)的数据的预滚动帧标记。
Indep标志是指示当前帧是否为使用预测编码的帧或差分编码的帧的标志信息。
例如,Indep标志的值“1”(即,Indep=1)表示当前帧是不使用预测、差异等编码的帧。换句话说,Indep=1指示当前帧的编码音频信号是量化的MDCT系数(即,编码的量化的MDCT系数)的绝对值。
因此,在解码器81侧(即,再现装置侧),在从中间再现编码比特流的情况下,可以从Indep=1的帧开始处理(再现)。换句话说,Indep=1的帧是可随机访问的帧。
例如,Indep标志的值“0”,即,Indep=0指示当前帧是使用预测或差异编码的帧。换句话说,Indep=0指示当前帧的编码的音频信号是通过对当前帧的量化的MDCT系数与紧接在当前帧之前的帧的量化的MDCT系数之间的差值进行编码而获得的。因此,Indep=0的帧是无法随机访问的帧,即,不是随机访问的访问目的地的帧。
此外,预滚动帧标志是指示预滚动帧的编码的音频信号是否包括在当前帧的编码数据中的标志信息。
例如,在预滚动帧标志的值是“1”的情况下,预滚动帧的编码的音频信号(编码的量化的MDCT系数)被包括在当前帧的编码的数据中。
在这种情况下,当前帧的编码数据包括Indep标记、当前帧的编码音频信号、预滚动帧标记和预滚动帧的编码音频信号。
另一方面,在预滚动帧标志的值是“0”的情况下,预滚动帧的编码的音频信号不包括在当前帧的编码数据中。
注意,预滚动帧是可随机访问的帧,即,就时间而言,紧挨在Indep=1的帧之前的帧。
此处,将参考图18描述包括多个帧中的每一个的编码数据(编码音频信号)的位流的示例。
应注意,在图18中,#x表示对象音频信号的帧(时间帧)的帧号。此外,其中没有写入字符“Indep=1”的帧被假定为Indep=0的帧。
例如,“#0”表示具有零原点的第零帧(第0帧),即,第一帧,并且“#25”表示第25帧。在下文中,具有帧号“#x”的帧被描述为帧#x。
在图18中,在由箭头Q31表示的部分中,示出了通过在处理完成可用性确定单元335确定在预定时间内完成处理的情况下执行的正常编码处理获得的比特流。
具体地,在该示例中,由箭头W11表示的帧#0和由箭头W12表示的帧#25是Indep=1的帧,即,可随机访问的帧。
例如,如果假设在所有帧中Indep=1,则可以从任何帧开始解码(再现)。然而,因为编码效率显著地劣化,所以如通常假设Indep=1那样针对几十个帧执行编码。因此,将描述为假设在图18中为每25帧设置Indep=1。
此外,在帧#25的部分中写入的字符“PreRollFrame(=#24)”表示作为用于帧#25的预滚动帧的帧#24的编码音频信号存储在帧#25的编码数据(比特流)中。
例如,在从帧#25开始解码的情况下,由于MDCT的特性,帧#25的编码的音频信号仅包括信号(对象音频信号)的奇数函数分量。因此,如果仅使用帧#25的编码的音频信号执行解码,则不可能将帧#25再现为完整数据,并且发生异常噪声。
因此,为了防止这种异常噪声的出现,作为预滚动帧的帧#24的编码的音频信号被存储在帧#25的编码数据中。
然后,在从帧#25开始解码的情况下,从帧#25的编码数据中提取(提取)帧#24的编码的音频信号,更具体地,编码的音频信号的偶函数分量,并且该编码的音频信号与帧#25的奇函数分量合成。
因此,作为帧#25的解码结果,可获得完整的对象音频信号,并且可防止在再现时发生异常噪声。
此外,在由箭头Q32表示的部分中,在帧#24中示出在处理完成可用性确定单元335确定在预定时间内未完成处理的情况下获得的比特流。即,在由箭头Q32表示的部分中,示出了将编码的静音数据插入帧#24中的示例。
注意,在下文中,其中插入编码的静音数据的帧被特别地称为静音帧。
在该示例中,由箭头W13表示的帧#24是静音帧,并且该帧#24是紧接在随机访问帧#25之前的帧(预滚动帧)。
在作为静音帧的帧#24中,基于在初始化时的对象的数量预先计算的编码的静音数据被插入到比特流中,作为帧#24的编码的音频信号。更具体地说,包括编码的静音数据的编码数据被插入到比特流中。
编码的静音数据生成单元362通过对具有MDCT系数“0”的量化的MDCT系数(静音数据的量化值)执行算术编码来生成编码的静音数据,如假设帧#24是可随机访问帧,即,Indep=1。
具体地,仅针对与将被处理的帧相应的一个帧使用量化的MDCT系数(静默数据),而不使用与即将被处理的帧之前的帧相应的量化的MDCT系数,来生成编码的静音数据。即,在不使用与紧接的前一帧的差和紧接的前一帧的上下文的情况下生成编码的静音数据。
这是因为紧接在帧#24之前的帧#23的数据(量化的MDCT系数)在初始化时(即,在生成编码的静音数据时)不存在。
这样,在静音帧不是可随机访问帧的情况下,作为静音帧的编码数据,生成包括值为“1”的Indep标志、作为作为静音帧的当前帧的编码音频信号的编码的静音数据以及值为“0”的预滚动帧标志的编码数据。
在这种情况下,虽然静音帧的Indep标志的值是“1”,但是在解码器81侧,解码不从静音帧开始。
此外,在该示例中,作为静音帧的帧#24的下一帧#25是可随机访问帧,即Indep=1的帧。
因此,在帧#25的编码数据中,作为帧#25的预滚动帧的帧#24的编码的静音数据被存储为预滚动帧的编码的音频信号。在这种情况下,例如,编码的静音数据插入单元336将帧#24的编码的静音数据插入(存储)到由输出缓冲器333保持的帧#25的编码数据中。
在由箭头Q33指示的部分中,示出了其中随机访问帧#25是静音帧的示例。
在作为静音帧的帧#25中,包括在初始化时基于对象的数量预先计算的编码的静音数据的编码数据被插入比特流中。如在由箭头Q32指示的示例中,编码的静音数据通过利用MDCT系数“0”对量化的MDCT系数执行算术编码来获得,如假设Indep=1。
此外,由于帧#25是可随机访问帧,所以预滚动帧的编码的音频信号被存储在帧#25的编码数据中。在这种情况下,编码的静音数据被假设为预滚动帧的编码的音频信号。
因此,在静音帧是可随机访问的帧的情况下,作为静音帧的编码数据,包括具有值“1”的Indep标志的编码数据、作为作为静音帧的当前帧的编码音频信号的编码的静音数据、具有值“1”的预滚动帧标志和作为预滚动帧的编码音频信号的编码的静音数据。
如上所述,编码的静音数据插入单元336根据当前帧的类型(诸如作为静音帧的当前帧是预滚动帧还是可随机访问帧)来插入编码的静音数据。
根据本技术,即使在使用基于上下文的算术编码技术的MPEG-H是使用诸如Linux(注册商标)的OS的基于软件的编码装置中的编码方法的情况下,也可以防止下溢的发生。
具体地,根据本技术,例如,即使在由于在OS中生成的其他处理负荷而未完成对象音频信号的编码的情况下,也可防止下溢的发生。
<编码数据的配置示例>
随后,将描述存储编码的音频信号的编码数据的配置示例。
图19示出了编码数据的语法示例。
在该示例中,“usacIndependenceyFlag”表示Indep标记。
此外,“mpegh3daSingleChannelElement(usacIndexpendencyyFlag)”指示对象音频信号,更具体地,编码的音频信号。编码的音频信号是当前帧的数据。
此外,编码数据存储由“mpegh3daExtElement(usacIndependent yFlag)”表示的扩展数据。
例如,该扩展数据具有图20所示的配置。
在图20所示的示例中,由“usacExtElementSegmentData[i]”表示的片段数据适当地存储在扩展数据中。
例如,通过如图21中所示的配置数据的UsacExtElementType确定存储在片段数据中的数据和存储数据的顺序。
在图21中所示的示例中,在UsacExtElementType是“ID_EXT_ELE_AUDIOPREROLL”、“AudioPreRoll()”存储在片段数据中的情况下。
例如,“AudioPreRoll()”是具有图22中所示的配置的数据。
在该示例中,通过由“numPreRollFrames”表示的数量来存储由“AccessUnit()”表示的当前帧之前的帧的编码音频信号。
具体地,此处,由“AccessUnit()”表示的单个编码音频信号是预滚动帧的编码音频信号。此外,通过增加由“numPreRollFrames”表示的数量,可以存储在时间方面更靠前(过去侧)的帧的编码音频信号。
<初始化处理的描述>
接下来,将描述在图14中示出的编码器11的操作。
首先,参照图23中的流程图,描述在激活编码器11时执行的初始化处理等。
在步骤S201中,初始化处理单元361基于所提供的初始化信息执行初始化。例如,初始化处理单元361重置在编码器11的每个单元进行编码处理时使用的参数,或者重置输出缓冲器333。
此外,初始化处理单元361基于初始化信息生成对象编号信息,并将对象编号信息提供给编码的静音数据生成单元362。
在步骤S202中,编码的静音数据生成单元362基于从初始化处理单元361提供的对象编号信息生成编码的静音数据,并将编码的静音数据提供至编码的静音数据插入单元336。
例如,如参考图18所描述的,编码的静音数据生成单元362通过如假设Indep=1那样用MDCT系数“0”对量化的MDCT系数执行算术编码来生成编码的静音数据。此外,编码的静音数据通过由对象编号信息指示的对象的数量生成。如果生成了编码的静音数据,则初始化处理结束。
如上所述,编码器11执行初始化并生成编码的静音数据。通过在编码之前预先生成编码的静音数据,在编码对象音频信号时,根据需要插入编码的静音数据,并且可防止下溢的发生。
<编码处理的描述>
当初始化处理结束时,此后,编码器11在任何时间并行执行编码处理和编码的静音数据插入处理。首先,将参考图24中的流程图描述由编码器11进行的编码处理。
应注意,因为步骤S231至S233中的处理类似于图3中的步骤S11、S13和S14中的处理,所以省略其描述。
在步骤S234中,比特分配单元54基于从时间频率变换单元52中供应的MDCT系数和从听觉心理参数计算单元53中供应的听觉心理参数执行比特分配处理。
在比特分配处理中,对于每个对象,按照任意顺序对每个缩放因子带的MDCT系数执行最小量化处理和附加比特分配循环处理。
比特分配单元54将通过比特分配处理获得的量化的MDCT系数提供给上下文处理单元331和可变长度编码单元332。
在步骤S235中,上下文处理单元331基于从比特分配单元54提供的量化的MDCT系数,选择用于编码量化的MDCT系数的出现频率表。
例如,如参考图13所描述的,上下文处理单元331基于在当前帧中和就在当前帧之前的帧中待处理的量化的MDCT系数的频率(缩放因子带)附近的频率的量化的MDCT系数计算上下文值,用于在当前帧中处理的量化的MDCT系数。
然后,上下文处理单元331基于上下文来选择用于对待处理的量化的MDCT系数进行编码的出现频率表,并且将指示选择结果的出现频率表索引提供给可变长度编码单元332。
在步骤S236中,可变长度编码单元332基于由从上下文处理单元331供应的出现频率表索引指示的出现频率表,对从比特分配单元54供应的量化的MDCT系数执行可变长度编码。
可变长度编码单元332将包括通过可变长度编码获得的编码音频信号的编码数据(更具体地,通过执行可变长度编码获得的当前帧的编码音频信号)提供至输出缓冲器333并且使输出缓冲器333保持编码数据。
即,如参照图18所描述的,可变长度编码单元332生成至少包括Indep标记、当前帧的编码音频信号以及preroll帧标记的编码数据,并且使输出缓冲器333保持编码数据。如上所述,根据preroll帧标志的值,编码数据包括预滚动帧的编码的音频信号,视情况而定。
注意,根据处理完成可用性确定单元335的处理完成可用性确定结果,针对各对象或各帧执行上述步骤S232至S236中的各处理。即,根据处理结束可用性确定的结果,不执行多个处理的一部分或全部,或者中途停止(终止)处理的执行。
此外,通过后面描述的编码的静音数据插入处理,编码的静音数据被适当地插入到包括由输出缓冲器333保持的每个帧的每个对象的编码的音频信号(编码数据)的比特流中。
输出缓冲器333将保持编码的音频信号(编码数据)在适当的定时供应至打包单元23。
如果针对每个帧将编码的音频信号(编码数据)从输出缓冲器333供应至打包单元23,此后,执行步骤S237中的处理,并且编码处理结束。然而,因为步骤S237中的处理类似于图3中的步骤S17中的处理,所以省略其描述。应注意,更具体地,在步骤S237中打包包括编码音频信号的编码元数据和编码数据,并且输出作为结果获得的编码比特流。
如上所述,编码器11执行可变长度编码,打包作为结果获得的编码的音频信号和编码的元数据,并且输出编码的比特流。以这种方式,可以有效地传输对象的数据。
<编码的静音数据插入处理的描述>
接下来,将参考图25中的流程图描述与由编码器11进行的编码处理同时执行的编码的静音数据插入处理。例如,针对对象音频信号的每个帧或针对每个对象执行编码的静音数据插入处理。
在步骤S251中,处理完成可用性确定单元335执行处理完成可用性确定。
例如,如果开始上述编码处理,则开始监控由处理进度监控单元334、时间频率变换单元52至比特分配单元54、上下文处理单元331以及可变长度编码单元332执行的每个处理的进度,并且生成进度信息。然后,处理进度监控单元334将生成的进度信息提供给处理完成可用性确定单元335。
然后,处理完成可用性确定单元335基于从处理进度监控单元334提供的进度信息进行处理完成可用性确定,并将确定结果提供给处理进度监控单元334和编码的静音数据插入单元336。
例如,在可变长度编码单元332的可变长度编码在打包单元23应该开始打包的时间之前未完成的情况下,即使仅执行最小量化处理作为比特分配处理,也确定用于编码对象音频信号的处理在预定时间内未完成。然后,指示用于编码对象音频信号的处理在预定时间内未完成的确定结果,更具体地,指示需要输出编码的静音数据的确定结果被提供给处理进度监控单元334和编码的静音数据插入单元336。
此外,例如,如果在比特分配处理中仅执行最小量化处理或者如果比特分配循环处理在中途终止,则可变长度编码单元332的可变长度编码可在打包单元23应当开始打包的时间之前完成。在这种情况下,虽然确定编码对象音频信号的处理在预定时间内未完成,但是确定结果不提供给编码的静音数据插入单元336,并且仅提供给处理进度监控单元334。更具体地,将指示需要终止比特分配处理的确定结果提供给处理进度监控单元334。
处理进度监控单元334根据从处理完成可用性确定单元335提供的确定结果,控制由时间频率变换单元52向比特分配单元54、上下文处理单元331和可变长度编码单元332适当执行的处理的执行。
即,例如,如参照图17所描述的,处理进度监控单元334适当地指示时间频率变换单元52的每个处理块至可变长度编码单元332以停止要执行的处理的执行、终止进行中的处理等。
具体地,例如,假设指示编码对象音频信号的处理在预定帧中的预定时间内未完成的确定结果,更具体地,指示有必要输出编码的静音数据的确定结果被提供给处理进度监控单元334。
在这种情况下,处理进度监控单元334向可变长度编码单元332指示时间频率变换单元52停止对由时间频率变换单元52向可变长度编码单元332执行的预定帧的处理或者进行中的处理。然后,在参考图24所描述的编码处理中,步骤S232至S236中的处理在中途停止或终止。
因此,可变长度编码单元332不在预定帧中执行量化的MDCT系数的可变长度编码,并且不将预定帧的编码的音频信号(编码数据)从可变长度编码单元332供应到输出缓冲器333。
此外,例如,假设指示需要终止比特分配处理的确定结果在预定帧中被提供给处理进度监控单元334。在这种情况下,处理进度监控单元334指示比特分配单元54仅执行最小量化处理或终止比特分配循环处理。
然后,在参考图24所描述的编码处理中,在步骤S234中执行响应于处理进度监控单元334的指令的比特分配处理。
在步骤S252中,编码的静音数据插入单元336基于从处理完成可用性确定单元335提供的确定结果,确定是否插入编码的静音数据,换言之,待处理的当前帧是否是静音帧。
例如,在步骤S252中,在指示用于编码对象音频信号的处理在预定时间内未完成的确定结果(更具体地,指示有必要输出编码的静音数据的确定结果)被提供作为处理完成可用性确定的结果的情况下,确定插入编码的静音数据。
在步骤S252中确定不插入编码后的静音数据的情况下,不执行步骤S253中的处理,编码后的静音数据插入处理结束。
例如,在表示有必要终止比特分配处理的确定结果被提供给处理进度监控单元334的情况下,在步骤S252中确定不插入编码的静音数据。因此,编码的静音数据插入单元336不插入编码的静音数据。
注意,在将被处理的当前帧是可随机访问的帧并且紧接在当前帧之前的帧是静音帧的情况下,编码的静音数据插入单元336插入预滚动帧的编码的静音数据。
即,例如,如图18中的箭头Q32所示,编码的静音数据插入单元336将编码的静音数据插入到由输出缓冲器333保持的当前帧的编码数据中,作为预滚动帧的编码音频信号。
在步骤S252中确定插入编码的静音数据的情况下,编码的静音数据插入单元336根据将在步骤S253中处理的当前帧的类型,将编码的静音数据插入当前帧的编码数据中。
更具体地,例如,如参考图18所描述的,编码的静音数据插入单元336生成包括具有值“1”的Indep标记的当前帧的编码数据、作为待处理的当前帧的编码音频信号的编码的静音数据、以及预滚动帧标记。
此时,在当前帧是可随机访问的帧的情况下,编码的静音数据插入单元336将编码的静音数据作为预滚动帧的编码的音频信号存储在待处理的当前帧的编码数据中。
然后,编码的静音数据插入单元336将当前帧的编码数据插入到比特流中与当前帧对应的部分中,所述比特流包括由输出缓冲器333保持的每个帧的编码数据。
注意,在当前帧是如上所述的当前帧的下一帧(紧随其后)的预滚动帧的情况下,编码的静音数据在适当的定时被插入到下一帧的编码数据中,作为预滚动帧的编码的音频信号。
此外,在当前帧是静音帧的情况下,可变长度编码单元332可生成不存储编码的音频信号的当前帧的编码数据,并将编码数据提供至输出缓冲器333。在这种情况下,编码的静音数据插入单元336将编码的静音数据作为当前帧或预滚动帧的编码的音频信号插入在输出缓冲器333保持的当前帧的编码的数据中。
如果编码的静音数据被插入到由输出缓冲器333保持的比特流中,则编码的静音数据插入处理结束。
如上所述,编码器11适当地插入编码的静音数据。这样,可以防止下溢的发生。
应注意,即使在必要时插入编码的静音数据的情况下,比特分配单元54也可按照优先级信息指示的顺序执行比特分配处理。在这种情况下,比特分配单元54执行与参照图4描述的比特分配处理相似的处理,例如,插入关于未完成最小量化处理的对象的编码的静音数据。
<解码器的配置示例>
此外,例如,使用由图14中所示的编码器11输出的编码比特流作为输入的解码器81被配置为如图6中所示。
然而,解码器81的解包/解码单元91的配置例如在图26中示出的配置。要注意的是,在图26中,与在图7的情况下的部分对应的部分由相同的参考标号表示,并且适当地省略其描述。
图26中所示的拆包/解码单元91包括对象音频信号获取单元122、对象音频信号解码单元123和IMDCT单元126。
对象音频信号获取单元122从提供的编码比特流中获取每个对象的编码音频信号(编码数据),并将编码音频信号提供给对象音频信号解码单元123。
此外,对象音频信号获取单元122从所供应的编码比特流中获取每个对象的编码元数据,解码所获取的编码元数据,并且将所获得的元数据作为结果供应给渲染单元92。
<解码处理的描述>
接下来,将描述解码器81的操作。即,在下文中,将参考图27中的流程图描述由解码器81执行的解码处理。
在步骤S271中,解包/解码单元91获取(接收)从编码器11发送的编码比特流。
在步骤S272中,解包/解码单元91解码编码比特流。
即,解包/解码单元91的对象音频信号获取单元122从编码比特流中获取每个对象的编码元数据,解码所获取的编码元数据,并且将所获得的元数据作为结果提供给渲染单元92。
此外,对象音频信号获取单元122从编码比特流获取每个对象的编码音频信号(编码数据),并将编码音频信号提供给对象音频信号解码单元123。
然后,对象音频信号解码单元123解码从对象音频信号获取单元122提供的编码的音频信号,并且将作为结果获得的MDCT系数提供给MDCT单元126。
在步骤S273中,MDCT单元126基于从对象音频信号解码单元123提供的MDCT系数执行MDCT,以生成每个对象的音频信号,并且将音频信号提供给渲染单元92。
如果执行MDCT,此后,执行步骤S274和S275中的处理,并且解码处理结束。然而,这些处理与图8中的步骤S83和S84中的处理相似,省略其描述。
如上所述,解码器81解码编码比特流并再现声音。以这种方式,可以执行再现而不引起下溢,即,不中断声音。
<第五实施方式>
<编码器的配置示例>
顺便提及,包括在内容中的对象包括不希望从其他对象掩蔽的重要对象。此外,即使在单个对象中,包括在对象的音频信号中的多个频率分量包括不希望从其他对象掩蔽的重要频率分量。
因此,对于不希望从其他对象掩蔽的对象和频率,可以设置关于来自该对象的三维空间中的所有其他对象的声音的听觉掩蔽量,即,掩蔽阈值(空间掩蔽阈值)(在下文中,也称为可允许的掩蔽阈值)的可允许上限值。
掩蔽阈值是由于掩蔽而不能听到声音的声压的边界的阈值,并且小于阈值的声音无法被可听地感知。注意,在以下描述中,频率屏蔽被简称为屏蔽。可以使用连续的掩蔽来代替频率掩蔽,并且可以使用频率掩蔽和连续的掩蔽两者。频率掩蔽是这样一种现象,其中,当多个频率的声音同时再现时,特定频率的声音掩蔽另一频率的声音,以便难以听到另一频率的声音。连续掩蔽是这样一种现象,其中,当再现特定声音时,在时间方面前后再现的声音被掩蔽以使得难以听到。
在设置指示这种上限值(可允许掩蔽阈值)的设置信息的情况下,设置信息可用于比特分配处理,更具体地,听觉心理参数的计算。
设置信息是关于期望不从其他对象掩蔽的重要对象和频率的掩蔽阈值的信息。例如,设置信息包括指示对象ID的信息、指示设置的上限值(可允许的掩蔽阈值)的信息等,对象ID指示设置可允许的掩蔽阈值(即,上限值)的对象(音频信号)和设置上限值的频率。即,例如,在设置信息中,针对每个对象,针对每个频率设置上限值(允许遮掩阈值)。
通过使用设置信息,通过优先将比特分配给被内容创建者认为是重要的对象或频率并且比其他对象和频率提高声音质量比,可以提高全部内容的声音质量或提高编码效率。
图28为示出在使用设置信息的情况下的编码器11的配置示例的示图。要注意的是,在图28中,与在图1的情况下的部分对应的部分由相同的参考标号表示,并且适当地省略其描述。
图28中示出的编码器11包括对象元数据编码单元21、对象音频编码单元22和打包单元23。
在该示例中,与图1中示出的示例不同,包括在对象的元数据中的优先级值不被提供给对象音频编码单元22。
对象音频编码单元22基于所提供的设置信息,根据MPEG-H标准等对已提供的N个对象中的每一个的音频信号进行编码,并且将所获得的编码音频信号作为结果提供给打包单元23。
注意,设置信息所指示的上限值可由用户设置(输入),或者可由对象音频编码单元22基于音频信号来设置。
具体地,例如,对象音频编码单元22可基于每个对象的音频信号执行音乐分析等,并且基于分析结果设置上限值,诸如作为结果获得的内容的风格或旋律。
例如,对于声音(vocal)对象,根据分析结果自动确定声音的重要频带,并且可以基于确定结果设置上限值。
此外,作为设置信息所指示的上限值(可允许的掩蔽阈值),对于所有频率的公共值可被设置为单个对象,或者上限值可针对每个频率被设置为单个对象。另外,可对多个对象设置所有频率的共同上限值或每个频率的上限值。
<对象音频编码单元的配置示例>
此外,例如,如图29中所示,配置图28中所示的编码器11的对象音频编码单元22。要注意的是,在图29中,与在图2的情况下的部分对应的部分由相同的参考数字表示,并且适当地省略其描述。
在图29中所示的示例中,对象音频编码单元22包括时间频率变换单元52、听觉心理参数计算单元53、比特分配单元54和编码单元55。
时间频率变换单元52使用MDCT对每个对象的供应的音频信号执行时间频率变换,并且将因此获得的MDCT系数供应至听觉心理参数计算单元53和比特分配单元54。
听觉心理参数计算单元53基于所供应的设置信息和从时间频率变换单元52中供应的MDCT系数计算听觉心理参数,并且将所计算的听觉心理参数供应至比特分配单元54。
注意,这里,将描述听觉心理参数计算单元53基于设置信息和MDCT系数计算听觉心理参数的示例。然而,可以基于设置信息和音频信号来计算听觉心理参数。
比特分配单元54基于从时间频率变换单元52中供应的MDCT系数和从听觉心理参数计算单元53中供应的听觉心理参数执行比特分配处理。
在比特分配处理中,执行基于用于计算和评估每个缩放因子带的量化比特和量化噪声的听觉心理模型的比特分配。然后,基于比特分配的结果针对每个缩放因子带量化MDCT系数,并且获得(生成)量化的MDCT系数。
比特分配单元54将针对以此方式获得的每个对象的每个缩放因子带的量化的MDCT系数提供给编码单元55,作为每个对象的量化结果,更具体地,每个对象的MDCT系数的量化结果。
通过如上所述的比特分配处理,在MDCT系数的量化中生成的量化噪声被掩蔽并且不被感知的缩放因子带的量化比特的一部分被分配给量化噪声容易被感知的缩放因子带。
此时,根据设置信息,优先地将比特分配给重要对象和频率(缩放因子带)。换句话说,根据上限值,比特被适当地分配给上限值被设置到的对象和频率。
因此,可以防止整体声音质量的劣化,具体地,防止用户(内容创建者)认为重要的对象或者频率的声音质量的劣化并且执行有效量化。即,可以提高编码效率。
在参数中,当计算量化的MDCT系数时,听觉心理参数计算单元53基于设置信息针对每个对象针对每个频率计算掩蔽阈值(听觉心理参数)。然后,在比特分配单元54进行的比特分配处理时,分配量化比特,使得量化噪声不超过掩蔽阈值。
例如,在计算听觉心理参数时,根据设置信息对设置上限值的频率执行参数调整,以便减少可允许的量化噪声,并且计算听觉心理参数。
注意,参数调整的调整量可以根据设置信息所指示的可允许掩蔽阈值(即,上限值)而改变。结果,可以将更多的比特分配给频率。
编码单元55对从比特分配单元54提供的每个对象的每个缩放因子带的量化的MDCT系数进行编码,并将因此获得的编码的音频信号提供给打包单元23。
<编码处理的描述>
随后,将描述具有在图28中示出的配置的编码器11的操作。即,在下文中,将参考图30中的流程图描述在图28中示出的编码器11进行的编码处理。
要注意的是,由于步骤S301的处理与图3中的步骤S11的处理相似,所以省略其描述。
在步骤S302中,听觉心理参数计算单元53获取设置信息。
在步骤S303中,时间频率变换单元52使用MDCT对每个对象的供应的音频信号执行时间频率变换,并且为每个缩放因子带生成MDCT系数。时间频率变换单元52将生成的MDCT系数提供给听觉心理参数计算单元53和比特分配单元54。
在步骤S304中,听觉心理参数计算单元53基于在步骤S302中获取的设置信息和从时间频率变换单元52中提供的MDCT系数计算听觉心理参数,并且将听觉心理参数提供至比特分配单元54。
此时,听觉心理参数计算单元53基于设置信息所指示的上限值计算听觉心理参数,以便减少针对设置信息所指示的对象或频率(缩放因子带)的可允许的量化噪声。
在步骤S305中,比特分配单元54基于从时间频率变换单元52中供应的MDCT系数和从听觉心理参数计算单元53中供应的听觉心理参数执行比特分配处理。
比特分配单元54将通过比特分配处理获得的量化的MDCT系数提供给编码单元55。
在步骤S306中,编码单元55对从比特分配单元54提供的量化的MDCT系数进行编码,并将因此获得的编码的音频信号提供给打包单元23。
例如,编码单元55对量化的MDCT系数执行基于上下文的算术编码,并且将编码的量化的MDCT系数作为编码的音频信号输出到打包单元23。注意,编码方法不限于算术编码,并且可以是包括霍夫曼编码方法、其他编码方法等的任何其他编码方法。
在步骤S307中,打包单元23将从对象元数据编码单元21提供的编码元数据和从编码单元55提供的编码音频信号打包,并输出作为结果获得的编码比特流。若输出打包得到的编码比特流,则编码处理结束。
如上所述,编码器11基于设置信息计算听觉心理参数并且执行比特分配处理。以这种方式,可以增加分配给对象上或内容创建者期望优先化的频带中的声音的比特数,并且可以提高编码效率。
注意,在本实施方式中,已经描述了优先级信息不用于比特分配处理的示例。然而,本技术不限于此,并且甚至在优先级信息用于比特分配处理的情况下,设置信息可以用于计算听觉心理参数。在这种情况下,将设置信息提供给图2中示出的对象音频编码单元22的听觉心理参数计算单元53,并且使用设置信息计算听觉心理参数。此外,设置信息可被提供至在图15中示出的对象音频编码单元22的听觉心理参数计算单元53,并且设置信息可用于计算听觉心理参数。
<计算机的配置示例>
注意,上述一系列处理可以由硬件或软件执行。在由软件执行一系列处理的情况下,在计算机上安装构成软件的程序。这里,计算机的示例包括结合在专用硬件中的计算机,并且例如,能够通过安装各种程序执行各种功能的通用个人计算机。
图31是示出通过程序执行上述一系列处理的计算机的硬件的配置示例的框图。
在计算机中,中央处理单元(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)
一种编码装置,包括:
优先级信息生成单元,基于音频信号以及音频信号的元数据中的至少一者来生成指示音频信号的优先级的优先级信息;
时间频率变换单元,其对音频信号执行时间频率变换并生成MDCT系数;以及
比特分配单元,按照优先级信息指示的音频信号的优先级的降序对多个音频信号量化音频信号的MDCT系数。
(2)
根据(1)的编码装置,其中,
比特分配单元对多个音频信号的MDCT系数执行最小量化处理,并且按照优先级信息指示的音频信号的优先级的降序,执行用于基于最小量化处理的结果量化MDCT系数的附加量化处理。
(3)
根据(2)的编码装置,其中,
在比特分配单元不能在预定的时间限制内对所有音频信号执行附加量化处理的情况下,比特分配单元输出最小量化处理的结果作为未完成附加量化处理的音频信号的量化结果。
(4)
根据(3)的编码装置,其中,
比特分配单元按照优先级信息指示的音频信号的优先级的降序来执行最小量化处理。
(5)
根据(4)的编码装置,其中,
在比特分配单元不能在时间限制内对所有音频信号执行最小量化处理的情况下,比特分配单元输出零数据的量化值作为未完成最小量化处理的音频信号的量化结果。
(6)
根据(5)的编码装置,其中,
比特分配单元进一步输出指示音频信号的量化结果是否是零数据的量化值的静音信息。
(7)
根据(3)至(6)中任一项的编码装置,其中,
比特分配单元基于比特分配单元的后续阶段所需的处理时间来确定时间限制。
(8)
根据(7)的编码装置,其中,
比特分配单元基于到目前为止执行的最小量化处理的结果或附加量化处理的结果动态地改变时间限制。
(9)
根据(2)至(8)中任一项的编码装置,其中,
优先级信息生成单元基于音频信号的声压、音频信号的频谱形状、或者多个音频信号的频谱形状的相关性生成优先级信息。
(10)
根据(2)至(9)中任一项的编码装置,其中,
元数据包括指示预先生成的音频信号的优先级的优先级值。
(11)
根据(2)至(10)中任一项的编码装置,其中,
元数据包括位置信息,位置信息指示基于音频信号的声音的声源位置,并且
优先级信息生成单元至少基于位置信息和指示用户的收听位置的收听位置信息生成优先级信息。
(12)
根据(2)至(11)中任一项的编码装置,其中,
多个音频信号包括对象的音频信号以及声道的音频信号中的至少一者。
(13)
根据(2)至(12)中任一项的编码装置,还包括:
听觉心理参数计算单元,听觉心理参数计算单元基于音频信号计算听觉心理参数,其中
该比特分配单元基于该听觉心理参数执行该最小量化处理和该附加量化处理。
(14)
根据(2)至(13)中任一项的编码装置,还包括:
编码单元,对从比特分配单元输出的音频信号的量化结果进行编码。
(15)
根据(13)的编码装置,其中,
该听觉心理参数计算单元基于该音频信号以及关于该音频信号的掩蔽阈值的设置信息计算该听觉心理参数。
(16)
一种编码装置的编码方法,其中,包括:
基于音频信号以及音频信号的元数据中的至少一者来生成指示音频信号的优先级的优先级信息;
对音频信号执行时间频率变换并且生成MDCT系数;以及
针对多个音频信号,按照优先级信息指示的音频信号的优先级的降序对音频信号的MDCT系数进行量化。
(17)
一种用于使计算机执行处理的程序,处理包括:
基于音频信号以及音频信号的元数据中的至少一者来生成指示音频信号的优先级的优先级信息;
对音频信号进行时间频率变换,生成MDCT系数;以及
针对多个音频信号,按照优先级信息指示的音频信号的优先级的降序对音频信号的MDCT系数进行量化。
(18)
一种解码装置,包括:
解码单元,被配置为获取编码的音频信号,并且对编码的音频信号进行解码,编码的音频信号是通过针对多个音频信号按照基于音频信号以及音频信号的元数据中的至少一者生成的优先级信息指示的音频信号的优先级的降序量化音频信号的MDCT系数而获得的。
(19)
根据(18)的解码装置,其中,
解码单元进一步获取静音信息,静音信息指示音频信号的量化结果是否是零数据的量化值,并且根据静音信息,基于通过解码获得的MDCT系数生成音频信号,或者生成将MDCT系数设置为零的音频信号。
(20)
一种通过解码装置进行的解码方法,解码装置包括:
获取编码的音频信号,编码的音频信号是通过针对多个音频信号按照基于音频信号以及音频信号的元数据中的至少一者生成的优先级信息指示的音频信号的优先级的降序量化音频信号的MDCT系数而获得的。
(21)
一种用于使计算机执行处理的程序,处理包括:
获取编码的音频信号,编码的音频信号是通过针对多个音频信号按照基于音频信号以及音频信号的元数据中的至少一者生成的优先级信息指示的音频信号的优先级的降序量化音频信号的MDCT系数而获得的;以及
解码编码的音频信号。
(22)
一种编码装置,包括:
编码单元,对音频信号进行编码并生成编码的音频信号;
缓冲器,保持包括用于每个帧的编码的音频信号的比特流;以及
插入单元,被配置为在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下,将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到比特流中。
(23)
根据(22)的编码装置,进一步包括:
比特分配单元,量化音频信号的MDCT系数,其中
编码单元对MDCT系数的量化结果进行编码。
(24)
根据(23)的编码装置,进一步包括:
生成单元,生成编码的静默数据。
(25)
根据(24)的编码装置,其中,
生成单元通过对静默数据的MDCT系数的量化值进行编码来生成编码的静默数据。
(26)
根据(24)或(25)的编码装置,其中,
生成单元仅基于一帧的静默数据生成编码的静默数据。
(27)
根据(24)至(26)中任一项的编码装置,其中,
音频信号包括声道或者对象的音频信号,以及
生成单元基于声道的数量以及对象的数量中的至少一者生成编码的静默数据。
(28)
根据(22)至(27)中任一项的编码装置,其中,
插入单元根据待处理的帧的类型来插入编码的静默数据。
(29)
根据(28)的编码装置,其中,
在待处理的帧是可随机访问帧的预滚动帧的情况下,插入单元将编码的静默数据作为关于可随机访问帧的预滚动帧的编码的音频信号插入到比特流中。
(30)
根据(28)或(29)的编码装置,其中,
在待处理的帧是随机访问帧的情况下,插入单元将编码的静默数据作为待处理的帧的预滚动帧的编码的音频信号插入到比特流中。
(31)
根据(23)至(27)中任一项的编码装置,其中,
如果比特分配单元对MDCT系数仅执行最小量化处理或者中途终止在对MDCT系数执行最小量化处理之后执行的附加量化处理,则在预定时间内完成用于编码音频信号的处理的情况下,插入单元不插入编码的静默数据。
(32)
根据(22)至(31)中任一项的编码装置,其中,
编码单元对音频信号执行可变长度编码。
(33)
根据(32)的编码装置,其中,
可变长度编码是基于上下文的算术编码。
(34)
一种由编码装置进行的编码方法,编码装置包括:
编码音频信号并生成编码的音频信号;
在缓冲器中保持包括每个帧的编码的音频信号的比特流;并且;以及
在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下,将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到比特流中。
(35)
一种用于使计算机执行处理的程序,处理包括:
对音频信号进行编码并且生成编码的音频信号;
在缓冲器中保持包括每个帧的编码的音频信号的比特流;并且
在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下,将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到比特流中。
(36)
一种解码装置,包括:
解码单元,获取比特流,并且解码编码的音频信号,比特流是通过对音频信号进行编码并且生成编码的音频信号,在针对待处理的帧在预定时间内没有完成用于对音频信号进行编码的处理的情况下将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到包括每个帧的编码的音频信号的比特流中而获得的。
(37)
一种解码装置的解码方法,包括:
获取比特流,并且对编码的音频信号进行解码,比特流是通过对音频信号进行编码并且生成编码的音频信号,在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到包括编码的音频信号的比特流中而获得的。
(38)
一种用于使计算机执行处理的程序,处理包括:
获取比特流,并且对编码的音频信号进行解码,比特流是通过对音频信号进行编码并且生成编码的音频信号,在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下将预先生成的编码的静默数据作为待处理的帧的编码的音频信号插入到包括编码的音频信号的比特流中而获得的。
(39)
一种编码装置,包括:
时间频率变换单元,其对对象的音频信号执行时间频率变换并生成MDCT系数;
听觉心理参数计算单元,基于MDCT系数和关于对象的掩蔽阈值的设置信息计算听觉心理参数;以及
比特分配单元,基于听觉心理参数和MDCT系数执行比特分配处理,并且生成量化的MDCT系数。
(40)
根据(39)的编码装置,其中,
设置信息包括指示针对每个频率设置的掩蔽阈值的上限值的信息。
(41)
根据(39)或(40)的编码装置,其中,
设置信息包括指示为一个或多个对象中的每个设置的掩蔽阈值的上限值的信息。
(42)
一种编码装置的编码方法,其中,包括:
对对象的音频信号进行时间频率变换并生成MDCT系数;
基于MDCT系数和关于对象的掩蔽阈值的设置信息计算听觉心理参数;以及
基于该听觉心理参数和该MDCT系数执行比特分配处理并且生成量化的MDCT系数。
(43)
一种程序,用于使计算机执行包括以下步骤的处理:
对对象的音频信号进行时间频率变换并生成MDCT系数;
基于MDCT系数和关于对象的掩蔽阈值的设置信息计算听觉心理参数;以及
基于该听觉心理参数和该MDCT系数执行比特分配处理并且生成量化的MDCT系数。
附图标记列表
11 编码器
21 对象元数据编码单元
22 对象音频编码单元
23 打包单元
51 优先级信息生成单元
52 时间频率变换单元
53 听觉心理参数计算单元
54 比特分配单元
55 编码单元
81 解码器
91解包/解码单元
92 渲染单元
331 上下文处理单元
332 可变长度编码单元
333 输出缓冲器
334 处理进度监控单元
335 处理结束可用性判定部
336编码的静音数据插入单元
362编码的静音数据生成单元。

Claims (43)

1.一种编码装置,包括:
优先级信息生成单元,被配置为基于音频信号以及音频信号的元数据中的至少一者来生成指示所述音频信号的优先级的优先级信息;
时间频率变换单元,被配置为对所述音频信号执行时间频率变换并且生成MDCT系数;以及
比特分配单元,被配置为针对多个所述音频信号,按照所述优先级信息指示的所述音频信号的优先级的降序来量化所述音频信号的所述MDCT系数。
2.根据权利要求1所述的编码装置,其中,
所述比特分配单元对多个所述音频信号的所述MDCT系数执行最小量化处理,并且按照所述优先级信息指示的所述音频信号的优先级的降序,执行用于基于最小量化处理的结果量化所述MDCT系数的附加量化处理。
3.根据权利要求2所述的编码装置,其中,
在所述比特分配单元不能在预定的时间限制内对所有所述音频信号执行所述附加量化处理的情况下,所述比特分配单元输出所述最小量化处理的结果作为未完成所述附加量化处理的音频信号的量化结果。
4.根据权利要求3所述的编码装置,其中,
所述比特分配单元按照所述优先级信息指示的所述音频信号的优先级的降序来执行所述最小量化处理。
5.根据权利要求4所述的编码装置,其中,
在所述比特分配单元不能在所述时间限制内对所有所述音频信号执行所述最小量化处理的情况下,所述比特分配单元输出零数据的量化值作为未完成最小量化处理的所述音频信号的量化结果。
6.根据权利要求5所述的编码装置,其中,
所述比特分配单元进一步输出静音信息,所述静音信息指示所述音频信号的所述量化结果是否是所述零数据的量化值。
7.根据权利要求3所述的编码装置,其中,
所述比特分配单元基于所述比特分配单元的后续阶段所需的处理时间来确定所述时间限制。
8.根据权利要求7所述的编码装置,其中,
所述比特分配单元基于到目前为止执行的所述最小量化处理的结果或所述附加量化处理的结果来动态地改变时间限制。
9.根据权利要求2所述的编码装置,其中,
所述优先级信息生成单元基于所述音频信号的声压、所述音频信号的频谱形状、或者多个所述音频信号的频谱形状的相关性来生成所述优先级信息。
10.根据权利要求2所述的编码装置,其中,
所述元数据包括指示预先生成的所述音频信号的优先级的优先级值。
11.根据权利要求2所述的编码装置,其中,
所述元数据包括位置信息,所述位置信息指示基于所述音频信号的声音的声源位置,并且
所述优先级信息生成单元至少基于所述位置信息和指示用户的收听位置的收听位置信息来生成所述优先级信息。
12.根据权利要求2所述的编码装置,其中,
多个所述音频信号包括对象的音频信号以及声道的音频信号中的至少一者。
13.根据权利要求2所述的编码装置,进一步包括:
听觉心理参数计算单元,被配置为基于所述音频信号来计算听觉心理参数,其中,
所述比特分配单元基于所述听觉心理参数执行所述最小量化处理和所述附加量化处理。
14.根据权利要求2所述的编码装置,进一步包括:
编码单元,被配置为对从所述比特分配单元输出的所述音频信号的量化结果进行编码。
15.根据权利要求13所述的编码装置,其中,
所述听觉心理参数计算单元基于所述音频信号以及关于所述音频信号的掩蔽阈值的设置信息来计算所述听觉心理参数。
16.一种编码装置的编码方法,包括:
基于音频信号以及音频信号的元数据中的至少一者来生成指示所述音频信号的优先级的优先级信息;
对所述音频信号执行时间频率变换并且生成MDCT系数;并且
针对多个所述音频信号,按照所述优先级信息指示的所述音频信号的优先级的降序来量化所述音频信号的所述MDCT系数。
17.一种程序,使计算机执行处理,所述处理包括:
基于音频信号以及音频信号的元数据中的至少一者来生成指示所述音频信号的优先级的优先级信息;
对所述音频信号执行时间频率变换并且生成MDCT系数;并且
针对多个所述音频信号,按照所述优先级信息指示的所述音频信号的优先级的降序来量化所述音频信号的所述MDCT系数。
18.一种解码装置,包括:
解码单元,被配置为获取编码的音频信号,并且对所述编码的音频信号进行解码,所述编码的音频信号是通过针对多个音频信号按照基于音频信号以及音频信号的元数据中的至少一者生成的优先级信息指示的所述音频信号的优先级的降序量化所述音频信号的MDCT系数而获得的。
19.根据权利要求18所述的解码装置,其中,
所述解码单元进一步获取静音信息,所述静音信息指示所述音频信号的量化结果是否是零数据的量化值,并且根据所述静音信息,基于通过解码获得的MDCT系数生成音频信号,或者生成将MDCT系数设置为零的音频信号。
20.一种解码装置的解码方法,包括:
获取编码的音频信号,所述编码的音频信号是通过针对多个音频信号按照基于音频信号以及音频信号的元数据中的至少一者生成的优先级信息指示的所述音频信号的优先级的降序量化所述音频信号的MDCT系数而获得的;并且
解码所述编码的音频信号。
21.一种程序,使计算机执行处理,所述处理包括:
获取编码的音频信号,所述编码的音频信号是通过针对多个音频信号按照基于音频信号以及音频信号的元数据中的至少一者生成的优先级信息指示的所述音频信号的优先级的降序量化所述音频信号的MDCT系数而获得的;并且
解码所述编码的音频信号。
22.一种编码装置,包括:
编码单元,被配置为对音频信号进行编码并且生成编码的音频信号;
缓冲器,被配置为保持包括每个帧的所述编码的音频信号的比特流;以及
插入单元,被配置为在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下,将预先生成的编码的静默数据作为所述待处理的帧的编码的音频信号插入到所述比特流中。
23.根据权利要求22所述的编码装置,进一步包括:
比特分配单元,被配置为量化所述音频信号的MDCT系数,其中,
所述编码单元对所述MDCT系数的量化结果进行编码。
24.根据权利要求23所述的编码装置,进一步包括:
生成单元,被配置为生成所述编码的静默数据。
25.根据权利要求24所述的编码装置,其中,
所述生成单元通过对静默数据的MDCT系数的量化值进行编码来生成所述编码的静默数据。
26.根据权利要求24所述的编码装置,其中,
所述生成单元仅基于一个帧的静默数据生成所述编码的静默数据。
27.根据权利要求24所述的编码装置,其中,
所述音频信号包括声道的音频信号或者对象的音频信号,并且所述生成单元基于所述声道的数量以及所述对象的数量中的至少一者来生成所述编码的静默数据。
28.根据权利要求22所述的编码装置,其中,
所述插入单元根据所述待处理的帧的类型来插入所述编码的静默数据。
29.根据权利要求28所述的编码装置,其中,
在所述待处理的帧是可随机访问帧的预滚动帧的情况下,所述插入单元将所述编码的静默数据作为关于所述可随机访问帧的预滚动帧的所述编码的音频信号插入到所述比特流中。
30.根据权利要求28所述的编码装置,其中,
在所述待处理的帧是可随机访问的帧的情况下,所述插入单元将所述编码的静默数据作为所述待处理的帧的预滚动帧的所述编码的音频信号插入到所述比特流中。
31.根据权利要求23所述的编码装置,其中,
如果所述比特分配单元对所述MDCT系数仅执行最小量化处理或者中途终止在对所述MDCT系数执行所述最小量化处理之后执行的附加量化处理,则在所述预定时间内完成用于编码所述音频信号的处理的情况下,所述插入单元不插入所述编码的静默数据。
32.根据权利要求22所述的编码装置,其中,
所述编码单元对所述音频信号执行可变长度编码。
33.根据权利要求32所述的编码装置,其中,
所述可变长度编码是基于上下文的算术编码。
34.一种编码装置的编码方法,包括:
对音频信号进行编码并且生成编码的音频信号;
在缓冲器中保持包括每个帧的所述编码的音频信号的比特流;并且
在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下,将预先生成的编码的静默数据作为所述待处理的帧的编码的音频信号插入到所述比特流中。
35.一种程序,使计算机执行处理,所述处理包括:
对音频信号进行编码并且生成编码的音频信号;
在缓冲器中保持包括每个帧的所述编码的音频信号的比特流;并且
在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下,将预先生成的编码的静默数据作为所述待处理的帧的编码的音频信号插入到比特流中。
36.一种解码装置,包括:
解码单元,被配置为获取比特流,并且解码编码的音频信号,所述比特流是通过对音频信号进行编码并且生成编码的音频信号,在针对待处理的帧在预定时间内没有完成用于对音频信号进行编码的处理的情况下将预先生成的编码的静默数据作为所述待处理的帧的所述编码的音频信号插入到包括每个帧的编码的音频信号的比特流中而获得的。
37.一种解码装置的解码方法,包括:
获取比特流,并且对编码的音频信号进行解码,所述比特流是通过对音频信号进行编码并且生成编码的音频信号,在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下将预先生成的编码的静默数据作为所述待处理的帧的编码的音频信号插入到包括编码的音频信号的比特流中而获得的。
38.一种程序,使计算机执行处理,所述处理包括:
获取比特流,并且对编码的音频信号进行解码,所述比特流是通过对音频信号进行编码并且生成编码的音频信号,在针对待处理的帧在预定时间内未完成用于对音频信号进行编码的处理的情况下将预先生成的编码的静默数据作为所述待处理的帧的编码的音频信号插入到包括编码的音频信号的比特流中而获得的。
39.一种编码装置,包括:
时间频率变换单元,被配置为对对象的音频信号执行时间频率变换并且生成MDCT系数;
听觉心理参数计算单元,被配置为基于所述MDCT系数和关于所述对象的掩蔽阈值的设置信息来计算听觉心理参数;以及
比特分配单元,被配置为基于所述听觉心理参数和所述MDCT系数来执行比特分配处理,并且生成量化的MDCT系数。
40.根据权利要求39所述的编码装置,其中,
所述设置信息包括指示针对每个频率设置的所述掩蔽阈值的上限值的信息。
41.根据权利要求39所述的编码装置,其中,
所述设置信息包括指示针对一个或多个所述对象中的每个设置的所述掩蔽阈值的上限值的信息。
42.一种编码装置的编码方法,其中,包括:
对对象的音频信号进行时间频率变换并且生成MDCT系数;
基于所述MDCT系数和关于所述对象的掩蔽阈值的设置信息来计算听觉心理参数;并且
基于所述听觉心理参数和所述MDCT系数来执行比特分配处理,并且生成量化的MDCT系数。
43.一种程序,使计算机执行处理,所述处理包括:
对对象的音频信号进行时间频率变换并且生成MDCT系数;
基于所述MDCT系数和关于所述对象的掩蔽阈值的设置信息来计算听觉心理参数;并且
基于所述听觉心理参数和所述MDCT系数来执行比特分配处理,并且生成量化的MDCT系数。
CN202280047189.2A 2021-07-12 2022-07-08 编码装置及方法、解码装置及方法、以及程序 Pending CN117651995A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2021-115100 2021-07-12
JP2022014722 2022-02-02
JP2022-014722 2022-02-02
PCT/JP2022/027053 WO2023286698A1 (ja) 2021-07-12 2022-07-08 符号化装置および方法、復号装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
CN117651995A true CN117651995A (zh) 2024-03-05

Family

ID=90045607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280047189.2A Pending CN117651995A (zh) 2021-07-12 2022-07-08 编码装置及方法、解码装置及方法、以及程序

Country Status (1)

Country Link
CN (1) CN117651995A (zh)

Similar Documents

Publication Publication Date Title
US20240055007A1 (en) Encoding device and encoding method, decoding device and decoding method, and program
US9984692B2 (en) Post-encoding bitrate reduction of multiple object audio
US9875746B2 (en) Encoding device and method, decoding device and method, and program
KR101086347B1 (ko) 부가정보 비트스트림 변환을 포함하는 다양한 채널로구성된 다객체 오디오 신호의 부호화 및 복호화 장치 및방법
EP3987515B1 (en) Performing psychoacoustic audio coding based on operating conditions
JP2023072027A (ja) 復号装置および方法、並びにプログラム
US20230253000A1 (en) Signal processing device, signal processing method, and program
EP4372740A1 (en) Encoding device and method, decoding device and method, and program
CN117651995A (zh) 编码装置及方法、解码装置及方法、以及程序
US20230360660A1 (en) Seamless scalable decoding of channels, objects, and hoa audio content
TW202123220A (zh) 使用方向性元資料之多通道音頻編碼及解碼

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication