用于动态范围控制的推迟响度调节的制作方法

文档序号:29978527发布日期:2022-05-11 12:25阅读:146来源:国知局
用于动态范围控制的推迟响度调节的制作方法
用于动态范围控制的推迟响度调节


背景技术:

1.声音节目,例如音乐、播客、实况录制的短视频剪辑或功能胶片,具有限定其动态和动态范围的响亮片段和软片段。在许多情况下,例如在嘈杂环境中通过头戴式耳机听或在夜间场景中通过家中的扬声器来听,希望减小播放声音的动态和动态范围以改善听者的体验。动态范围压缩器用于该目的。它们是数字信号处理器,该数字信号处理器将时变增益应用于 (声音节目的)输入数字音频信号,以便放大软片段并衰减该音频信号的响亮片段。为了避免可由音频信号的动态范围压缩引起的可听泵送伪影,可执行响度归一化过程,该响度归一化过程将输入音频信号“对准”到压缩特性或配置文件,同时根据该压缩特性压缩该音频信号。这可以通过用其节目响度抵消该输入音频信号的瞬时响度来完成,其中节目响度是旨在描述声音节目的总体响度(也称为集成响度)的计算值。


技术实现要素:

2.音频编码标准定义了用于动态范围压缩的方法,这些方法在正在创建或准备分发或存储/存档声音节目的编码端生成动态范围控制drc增益。该 drc增益在这里被称为drc增益序列,该drc增益序列与其相关联的声音节目时间对齐,使得该序列中的一个或多个增益值将被应用于该声音节目的对应数字音频帧。然后该drc增益序列被格式化为,例如与声音节目相关联的元数据,成为一个或多个比特流。如果该解码端需要(通常在经解码的音频信号的播放期间),解码端会获取比特流并应用流内drc增益来压缩经解码的音频信号的动态范围。此类基于元数据的方法的优点是质量改善,这是由于与实时压缩相比,drc增益的离线编码的前行时间间隔可能更大。另一个优点是,例如,可根据声音节目创建器或分配器的专业知识在编码端控制压缩特性。
3.对于在线应用程序中基于元数据的drc(例如,实况音频流传输以及将实况音频录制到文件),如果正在流播或写入文件进行存储的声音节目的节目响度尚不清楚(因为声音节目尚未结束),则存在挑战。这是因为如果该声音节目的实际节目响度(其只能在声音节目结束后确定)显著偏离预期或预测的节目响度,则压缩器特性可能无法正确调整(或响度归一化)。
4.本公开的一些方面描述了将用于动态范围控制(drc)的响度调节 (响度归一化)从编码端推迟到解码端的新型数字信号处理方法。其他方面描述了进行基于元数据的drc增益序列处理时,使用响度归一化改变解码端的压缩器特性的技术。这些方面对于例如,实况流传输以及实况录制到文件等应用程序尤其有益。
5.以上概述不包括本公开的所有方面的详尽列表。可预期的是,本公开包括可由上文概述的各个方面以及在下文的具体实施方式中公开并且在权利要求书部分特别指出的各个方面的所有合适的组合来实践的所有系统和方法。此类组合可具有未在上述发明内容中具体阐述的特定优点。
附图说明
6.本公开的各方面以举例的方式进行说明,而不仅限于各个附图的图示,在附图中类似的附图标号指示类似的元件。应当指出的是,在本公开中提到“一”或“一个”方面未必是同一方面,并且其意指至少一个。另外,为了简洁以及减少附图的总数,可使用给定附图示出本公开的不止一个方面的特征部,并且对于给定方面,可能并非需要该附图中的所有元件。
7.图1示出了drc特性曲线的示例。
8.图2是在解码端应用drc并且在编码端不执行响度归一化的音频编解码器系统的框图。
9.图3是在解码端应用drc并且在编码端不执行响度归一化的适用于实况流传输的音频编解码器系统的框图。
10.图4是在解码端应用drc并且在编码端不执行响度归一化的适用于实况录制以存储或存档的音频编解码器系统的框图。
11.图5描绘了在解码端应用drc的符合mpeg-d drc的音频编解码器系统的一部分。
12.图6描绘了在解码端应用drc并且在编码端应用响度归一化的符合 mpeg-d drc的音频编解码器系统的一部分。
13.图7描绘了在解码端应用drc和响度归一化的符合mpeg-d drc的音频编解码器系统的一部分。
14.图8是可生成向后兼容和非向后兼容的mpeg-d drc比特流扩展的新编码端过程的流程图。
15.图9是可使用向后兼容或非向后兼容的mpeg-d drc比特流扩展来产生drc增益序列的新解码端过程的流程图。
16.图10a和图10b是符合mpeg-d drc的音频编解码器系统的框图,其中向后兼容的编码端产生由新解码器和传统解码器两者处理的向后兼容的比特流。
具体实施方式
17.现在将参考所附附图来解释本公开的各方面。每当所描述的部件的形状、相对位置和其它方面未明确限定时,本发明的范围并不仅局限于所示出的部件,所示出的部件仅用于例证的目的。另外,虽然阐述了许多细节,但应当理解,本公开的一些方面可在没有这些细节的情况下被实施。在其他情况下,未详细示出熟知的电路、结构和技术,以免模糊对该描述的理解。
18.为了将动态范围控制适当地应用于音频信号,应将压缩器特性(drc 特性,drc配置文件)与该音频信号的该响度水平范围“对齐”。例如,参考图1,沿着输入水平轴对齐,使得drc特性曲线的过零点大致在该音频信号的响度水平范围的中心处。过零点处的电平也被称为drc输入响度目标—在图1所示的一组特性曲线示例中,该电平约为-31db。该响度水平范围的中心,例如可以是声音节目的平均水平,或声音节目中的平均对话水平。实现这种对齐的过程在此被称为响度归一化,结合音频信号的 drc,以达到给定响度目标。例如,音频信号(声音节目)的响度可以是称为集成响度的单个值。集成响度是音频信号的响度量度,其类似于均方根rms,但在人类听觉方面更真实。集成响度可等同于节目响度,因为它测
量声音节目在其整个持续时间内的响度。为了实现响度归一化,当以分贝(db)为单位给出集成响度时,可以从drc输入响度目标中减去集成响度以导出以db为单位的归一化增益。将该归一化增益添加到响度模型输出,该响度模型计算该音频信号(声音节目)的瞬时响度。该瞬时响度可以是响度值的序列,每个响度值基于构成输入数字音频信号的相应数字音频帧(并且表示人类感知的响度)来计算。实现响度归一化的另一种方式是将图1中描绘的drc特性曲线向零db的右侧或左侧移位(由归一化增益的大小决定)。在图1的示例中,曲线已经向左移位到-31db(该示例中的响度目标),并且因此与具有-31dba(a加权)或lkfs(响度k加权电平满标度)的集成响度的声音节目正确对齐(并且因此可以直接应用于该声音节目)-换句话说,在这种情况下的归一化增益将为零dba。
19.如果当该动态范围控制信号处理正在进行时声音节目的集成响度仍然未知,如实况音频的情况,则需要进行预测以应用响度归一化。然而,该预测可能是不正确的,从而导致drc增益在其中产生不希望有的偏置,或者导致drc增益产生泵送效应-音频信号的未压缩部分和压缩部分之间产生不希望有的响度移位。
20.为了减小不希望有的响度移位的可能性,本公开的一个方面将响度归一化应用于音频编解码器系统或方法的解码端而不是编码端中的drc。图 2的硬件框图中显示了音频编解码器系统和相关联的方法的示例。该音频编解码器系统和方法的各种硬件块可由编程处理器来实现。在此方法中,可以在至少两个实例中获得集成响度(该集成响度是结合drc执行的响度归一化所需要的,用于播放或存档/存储经解码的音频信号),下面将结合图 3和图4对其进行描述。
21.从图2开始,该音频编解码器系统具有编码端,该编码端可由一个或多个处理器实现,这些处理器执行存储在存储器中的指令或由存储在存储器中的指令配置,该存储器在这里通常被称为“编程处理器”,例如在一个或多个服务器中。上部音频信号处理路径包括侧链,该侧链包括计算或估计数字输入音频信号(序列)(这里也称为声音节目)的瞬时响度的响度模型。该估计基于感知响度标度(例如音响标度),因此其近似为对数。为了使该瞬时响度序列随时间推移变得平滑,可以应用如图所示的平滑滤波器。它会在不需要压缩增益变化但保持宏观动态响度转换不受影响的输入音频序列区域中产生平滑。
22.下部音频信号处理路径包括延迟块,该延迟块延迟该输入音频序列,以补偿由于该侧链而引起的延迟。然后将平滑响度序列和延迟的输入音频序列馈送到编码器。
23.该编码器对其输入中的一者或两者执行比特率降低操作,并且可产生包含其输入中的一者或两者的比特率降低版本的一个或多个比特流。然后可以将一个或多个比特流传输到解码端(例如,通过互联网),或者可以将一个或多个比特流写入文件用于存储或存档,直到解码端过程来访问。平滑响度(是指平滑响度值的序列,或单个平滑响度值)可以作为与延迟的输入音频序列相同比特流中的元数据被携带,例如与其“对应的”高级音频编码,aac,音频帧相关联。这也称为在该音频层。另选地,该平滑响度序列和其他响度值,如集成响度更新和drc有效载荷(如下面进一步讨论的)可以不在该音频层中传输,而是在更高层中,如在文件格式级别中传输。在这两种情况下,产生一个或多个比特流,其中提供经编码的音频连同相关联的元数据,例如平滑响度序列,或者如下文其他方面所述,向该解码端提供用于应用编码器源drc增益序列的指令。
24.该解码端还可被实现为编程处理器,例如执行存储在存储器中的指令或由存储在
存储器中的指令配置为音频播放设备的一部分的一个或多个处理器。此处需注意,该解码端过程可与该编码端过程在相同的音频播放设备中实现。另选地,该解码端过程可在音频播放设备中实现,该音频播放设备与执行该编码端过程的程序处理器分离。该音频播放设备的示例包括智能电话、平板电脑、数字媒体播放器、头戴式耳机或车辆信息娱乐系统。在该解码端,解码器撤销该编码器的比特率降低操作,以恢复该平滑响度序列和该延迟的输入音频序列。然后将经解码的平滑响度值映射到“对应的”drc或压缩增益值。该映射是实现例如图1所示的曲线中的一个(或另选地,任何其他期望曲线)的无存储输入-输出函数。该映射构成压缩器特性或压缩配置文件(drc特性),其输出是随时间变化的增益 (drc增益值序列),该随时间变化的增益是随时间变化的输入响度水平的函数。该映射还可包括从对数响度域到该drc增益的线性域的转换。如果需要压缩,则如图中的乘法器符号所示,将该drc增益值(序列)应用于该经解码的音频信号。尽管未示出,但该压缩音频可被传递到播放处理块,该播放处理块最终产生将压缩音频转换为声音的换能器(扬声器)驱动器输入信号。
25.从图2中可看出,在被输入到drc映射块之前,在解码端调节或归一化该平滑响度序列。例如,可以从该drc输入响度目标中减去恒定的集成响度(单个值)(在db域中)以导出以db为单位的归一化增益。将该归一化增益添加到该平滑响度序列中的每个平滑响度值,以产生在该drc过程中使用的归一化响度序列。这种drc过程至少有两种应用,例如,实况或实时流传输和实况录制到文件以进行存储或存档。
26.在一个此类应用中,现在参考图3,该编码端的输入音频是实况或实时数字音频录制,该录制正在,例如通过互联网传输到该解码端。该输入音频包含与编码和比特流传输同时发生的实况或实时事件的音频采集。这样,直到该实况事件结束才能计算表示整个声音节目的单个集成响度值。在此之前,该编码端中的集成响度测量块收集实况音频的样本,在一个比单个音频帧(5至100毫秒)更长的时间间隔内(例如几秒),该样本被发送到延迟时间对齐的编码器,并计算该间隔的响度度量。然后它“集成”或收集回到声音节目开始的若干此类度量,例如,对它们求平均值,以计算集成响度更新。该集成响度更新可以是仅针对在当前更新之前已经播放或流式传输的声音节目部分的集成响度的量度。例如周期性地重复该测量以实际上产生“运行平均”集成响度,并且将最新集成响度更新(其是单个值)传输到该解码端。需注意,这里所用的术语“运行平均”不需要执行实际平均,只需要基于收集响度测量结果(包括评估所收集的响度测量结果的统计结果)来执行从节目开始到当前更新的声音节目的响度的一些度量。可以计算更新(运行平均值),然后将其作为还包含编码声音节目 (编码音频信号)的比特流的一部分来提供,作为集成响度更新字段的多个实例,其中该比特流中的相邻实例在声音节目的持续时间内相隔一至十秒。
27.还需注意,术语“集成响度更新”也可被称为运行平均响度或“部分集成响度”;在该声音节目结束时,最后或最终的集成响度更新可表示整个声音节目的响度(也称为集成响度或节目响度,例如itu-r bs.1770-4 (10/2015)建议算法中描述的测量音频节目响度和真实峰值音频电平的例子。)
28.在该解码端,解码器获取该比特流并从中提取集成响度更新,然后解码端过程将该集成响度更新应用于drc过程的响度归一化。这可通过例如在输入到drc特性映射块之前将单个响度归一化增益值(例如,drc输入响度目标和该集成响度更新值之间的差值)添加到经解码或恢复的瞬时响度序列来完成。另选地,响度归一化可通过将该drc特性沿其输入
轴移位一个响度归一化增益值的量来完成。该响度归一化增益可在该比特流(声音节目)传输期间周期性地更新,其中最近的部分集成响度值(集成响度更新)已经在编码端针对实况事件的经过部分进行了计算。
29.在另一个应用中,现在参考图4,该编码端的输入音频是事件的实况或实时数字音频录制,该事件将在录制结束时(当该事件结束时)被写入文件用于存档或存储。表示整个实况音频事件的节目响度的单个集成响度值可在该集成响度模型块的录制结束时由集成响度模型块计算,并且事件一结束就将其提供给该编码器。该编码器将该集成响度值连同实况音频的编码版本以及由响度模型(基于相同的实况音频)计算的瞬时(和平滑) 响度序列的编码版本一起写入文件。在解码端,解码器获取文件(比特流),并且从该文件解码该输入音频和该瞬时响度序列,从该文件提取该集成响度值。然后解码端过程使用该集成响度值在输入到drc(压缩)映射块之前对经解码的瞬时响度序列进行响度归一化,然后在播放期间将 drc(压缩)映射块的输出应用于该经解码的输入音频(如果需要压缩)。
30.一方面,该平滑滤波器为非线性滤波器,例如美国专利号为 10,109,288中所述的非线性滤波器。该滤波器的有用属性是它的输出可与输入进行相同量的电平转换。这意味着,当将f(x)定义为非线性滤波器函数,将x(n)定义为输入信号,并且将y(n)定义为输出时,可写入
31.y(n)=f(x(n))
32.给定输入信号移位δl,如果输出移位δl,则f(x)满足移位特性,或以数学方式表示为:
33.y(n)+δl=f(x(n)+δl)
34.这是有益的,因为这避免了编码端中依赖于绝对响度值的任何侧链处理。
35.本公开的另一方面在此介绍了根据mpeg-d drc标准iso/iec、“信息技术-mpeg音频技术-第4部分:动态范围控制”、iso/iec 23003
‑ꢀ
4∶2020(“mpeg-d drc”)应用drc的方式,扩展以支持编码端的响度归一化。图5示出了基于从编码端获得的比特流中的元数据解码drc增益来生成和应用该drc增益的mpeg-d drc处理的一部分的简化框图。 mpeg-d drc提供预定义的drc特性和灵活的方式来编码参数化特性。
36.在图5中,编码端将平滑的瞬时响度序列(针对输入音频序列计算得到的)应用于所选择的drc特性(也被称为“映射块”,如上文结合图2 所使用的)。该drc特性映射块的输出产生drc增益序列,然后将该 drc增益序列馈送到drc编码器。后者执行比特率降低以将其输入序列编码成一个或多个比特流,然后将该一个或多个比特流传输到该解码端或以其他方式提供给解码端。在该解码端,drc解码器撤销比特率降低编码,以恢复该drc增益序列(经解码的drc增益序列)。然后将该经解码的 drc增益序列应用于经解码的音频信号(如果需要压缩)。
37.mpeg-d drc还支持一种类型的解码端处理,该处理将用于压缩声音节目的drc特性从图5所示的编码端使用的drc特性(以计算作为元数据插入到比特流中的drc增益序列)更改为可由解码端处理基于当前播放或收听条件选择的不同的drc特性。这在如图6所示的解码端中实现,首先将该编码端drc增益序列应用于逆特性a,该逆特性是在编码端中应用以产生编码端drc增益序列的drc特性a的逆特性。可在该比特流中提供该drc特性a(其用于编码端以产生该drc增益序列)的索引(标识符或指针),使得该解码端可识别该逆特性a。将
该drc增益序列作为输入应用于逆特性a会产生恢复的平滑瞬时响度序列。如果忽略量化效果,则该恢复的响度序列(在逆特性a块的输出处)本质上是编码端处理使用的平滑响度序列。因此,可将恢复的响度序列应用于第二drc特性b,以产生更适合压缩该经解码的音频信号的第二drc增益序列(比该drc特性a更适合)。然后将该第二drc增益序列应用于该经解码的音频(如果,例如在播放期间需要压缩)。
38.根据本文公开内容的一个方面,使用图2所示的方法替换图6所示的编码端中的侧链的响度归一化。这意味着该集成的基于响度的偏移(归一化增益)应用于该解码端而不是该编码端。图7示出了这一系统的框图。这在本文中也被称为增强型mpeg-d drc兼容系统(下文也被称为具有“新”编码器和“新”解码器)。这样的系统在其编码端具有被称为集成响度测量的块,其输出提供集成响度值更新,如上面结合图3所讨论的。将集成响度更新提供给音频编码器。这里,该编码器是drc编码器,它还编码drc增益序列(除了该输入音频之外)。该drc增益序列可结合图6 如上文所述那样进行确定。该经编码的drc增益序列和该集成响度更新经由一个或多个比特流提供给该解码端。该drc增益序列可被格式化为元数据,与同样被提供给该解码端的经编码的输入音频相关联。
39.该集成响度测量是集成响度的运行测量(在这里也称为运行平均值),其从该声音节目开始处开始,并且随时间推移继续“集成”该声音节目的音频信号,目的是仅计算该声音节目经过部分的集成响度值。随着该音频信号(声音节目)的继续,该集成响度测量,例如周期性(如每十秒)进行更新。这些集成响度更新被写入该比特流(例如,通过该drc编码器)。这可在mpeg-d drc中通过将更新写入该音频比特流的扩展字段或扩展有效载荷中或者将其作为mp4文件的一部分写入单独的元数据轨道中来支持。在不引入附加系统延迟的情况下,该更新的预见性等同于(在 drc特性a块的输出处)产生该drc增益序列的侧链的延迟。较大的预见性可在该声音节目开始时改善第一集成响度更新,即它可以更接近声音节目的节目响度。
40.在可由图7示出的第一种情况下,该输入音频是实况音频,其经由比特流同时流传输到该解码端(例如,通过互联网)。在这种情况下,不能在流传输期间提供节目响度(因为该实况音频事件尚未结束)。在这种情况下,基于所示的流中集成响度更新动态调整该drc(应用于该解码端) 或进行响度归一化—动态变化的归一化增益,其可等于该drc输入响度目标值和动态变化的集成响度更新之间的差值。为了限制该集成响度更新的变化率,可在流开始时而不是在流结束时对更新序列进行平滑化。另外,初始更新值(在流的开始处)可考虑输入音频的预期响度。例如,该预期响度可能是经过专业工作室的精心设置和该输入音频的初始经过部分的试验测量的结果。
41.在第二种情况下,该输入音频(在编码端)是如图4所示正被写入编码端音频文件的实况音频录制(而不是实况流传输)。在这种情况下,可在录制结束时将最终集成响度更新(该声音节目的真实集成响度或节目响度)写入文件,而不需要重写文件。当试图遵守mpeg-d drc时,这可通过(在编码端)将最终集成响度更新写入iso基础媒体文件格式级别的响度“框”或字段来实现。该音频流响度框类型被称为ludt。仍然参考图7,当该解码端获得经编码音频及其相关联的编码端drc增益序列和集成响度更新时,解码端过程可通过基于经解码的音频信号的响度归一化版本(使用drc特性b)确定该drc增益序列,从而应用drc。这种归一化在该示例中调整在逆特性a的输出处恢复的平滑瞬时响度,优选地通过使
用写入该响度框的最终集成响度更新值来实现。如果该录音在编码端结束而没有将响度框添加到流中,则仍然可通过使用流中集成的响度更新在解码端应用具有响度归一化的drc。
42.由于该流中集成响度更新可以随时间(例如,每1至10秒)缓慢变化,因此归一化将有效地促使drc特性b相应地移位。当该集成响度更新基于该声音节目的短持续时间(经过的时间间隔)时,在录制或流传输开始时,这种移位可能在经解码的音频的播放期间变得可听。为了限制集成响度更新变化的速率,更新本身可能会在录制或流传输开始时而不是结束时平滑。
43.在根据图6的编码端过程中,其中该输入音频是到文件的实况录音,可以使用侧链响度归一化来压缩(drc)该输入音频,然后在该编码端进行编码并将其写入文件。这可能在本质上导致压缩音频输出,如果不是在本质上与解码端过程中的输出相同,也可以将其与图7所示的输出相比较,在图7中,经解码后的音频在解码端被压缩,响度归一化基于包含比特流的集成响度更新。然而,如图7所示,将响度归一化推迟到解码端的优点在于,通过仅在录制或事件已结束时添加iso基础媒体文件格式级别 mp4级别的最终集成响度更新,从而在播放文件时改善收听体验。
44.现在转到图8,这是新编码端过程流程图,该过程可为解码端的drc 生成向后兼容和非向后兼容的mpeg-d drc比特流扩展。向后兼容的比特流扩展字段或有效载荷可由传统解码器(解码端过程)处理以根据扩展执行drc,但不执行响度归一化(当将drc应用于经解码的音频信号时)。关于此类传统解码器的示例,可参见图6。非向后兼容的比特流扩展不能由该传统解码器处理(以产生压缩音频)。可以如下方式启用该双重特征。
45.可以定义包含在该比特流中的标志,称为,例如 characteristicv1override。该编码端可设置或清除该标志,如下所述。为了产生向后兼容的比特流,该标志被赋予第一值,例如 characteristicv1override=1,并且在这种情况下,该比特流还将包含响度归一化增益,也称为encdrcnormgaindb。在该模式下,该编码端过程通过使用响度归一化增益(这里也称为编码端drc归一化增益)将该音频信号应用于具有响度归一化的第一drc特性来确定该第一drc增益序列。参见图10a和图10b,其为符合mpeg-d drc的音频编解码器系统的框图,其中向后兼容的编码端产生由新解码器和传统解码器两者处理的向后兼容的比特流。在该输入音频为实况录制的情况下,还计算集成响度更新并将其提供给该编码器(以结合到该比特流中)。如图10a所示,可以通过从该 drc输入响度目标减去预测的节目响度值(例如,假设以dba为单位)来计算该响度归一化增益。
46.该响度归一化增益encdrcnormgaindb是在新向后兼容的编码端过程中应用的值,以便产生向后兼容的比特流,其中该drc增益序列是利用响度归一化(到drc特性a)获得的。该比特流可由新解码器和传统解码器处理,例如如图10b所示。当该比特流由传统解码器处理时,后者在drc 期间不应用响度归一化。当该比特流由在drc期间应用响度归一化的新解码器处理时,encdrcnormgaindb用于补偿或中和或撤销由向后兼容的编码器对encdrcnormgaindb的应用,以便使用该集成响度更新来应用更准确的响度归一化。换句话说,当应用解码端drc响度归一化时,该新解码器的处理器补偿编码端drc归一化增益。
47.回到图8,为了使比特流能够被传统解码器和新解码器处理,当该标志具有该第一值时,例如characteristicv1override=1,该向后兼容的比特流还可包含第一drc配置字段,例如unidrcconfext_v1和第二drc配置字段,例如unidrcconfext_v2。该第一drc配置字
段指示解码端过程在没有响度归一化的情况下将drc应用于该经解码的音频信号,例如,如图10b中的传统解码器块所示。该第二drc配置字段指示解码端过程在响度归一化的情况下将drc应用于该经解码的音频信号,例如,如图 10b中的新解码器块所示。
48.仍然参考图8,该新编码端可创建非向后兼容的mpeg-d drc比特流扩展(不能由传统解码器处理以产生压缩音频的比特流扩展),如下所述。需注意,如果该编码端意识到仅有新解码端将会处理该比特流,则该编码端可能希望这样做。在这样的比特流中,该标志具有第二值,例如, characteristicv1override=0,并且该比特流不包含响度归一化增益(其旨在由解码端使用)。此外,该第一drc配置字段,例如 unidrcconfext_v1也从该比特流中省略。图9示出了可处理此类比特流的新解码器。换句话说,当标志具有该第二值,例如, characteristicv1override=0,该比特流包含该第二drc配置字段而不包含该第一drc配置字段。
49.图9是可使用向后兼容或非向后兼容的mpeg-d drc比特流扩展来产生drc增益序列的新解码端过程的流程图。该过程可开始于解析该比特流以检测该第二drc配置字段,例如unidrcconfext_v2和该标志characteristicv1override。响应于具有第一值(例如characteristicv1override =1)的该标志,该过程将drc应用于该音频信号,例如,如图10b所示 (新解码器块),使用该drc特性b和响度归一化,包括使用i)该响度归一化增益(例如,encdrcnormgaindb)和ii)集成响度更新的多个实例 (这两者都是由该drc解码器连同该音频信号从所获得的比特流解码获得的)。
50.一方面,仍然参考图9,当该标志具有该第一值,例如 characteristicv1override=1时,可包含在该第一drc配置字段中的该第一 drc特性的索引被包含在该第二drc配置字段中的第一drc特性的索引覆写。例如,该mpeg-d drc可定义能够由传统mpeg-d drc解码器识别的drc特性1至6(这里也称为传统索引值或传统范围)。在本公开中,根据增强的mpeg-d drc过程,以不同索引值(这里也称为新索引值或新范围)例如65至70复制那些相同的特性。换句话说,该传统特性可由其传统索引1至6或由其新指示65至70引用;传统特性的参数是相同的,如下表所示。
51.表6-索引范围为1至6和65至70的drc特性的参数
[0052][0053]
当新编码端过程生成向后兼容的比特流(characteristicv1override=1,图8中流程图的右侧)时,其生成该第一(v1)drc配置扩展字段和第二 (v2)drc配置扩展字段两者,其中该第一drc配置字段是指传统索引1 至6中的一者或多者,而不是新索引65至70中的任一者,以实现与传统解码器的向后兼容性。该v2扩展字段可指新索引值中的一者或多者,或者其可指传统索引值中的一者或多者。)该新索引值有效地向新解码器(符合本公开中的增强的mpeg-d drc过程的解码器)发信号通知在产生第二 drc增益序列时可能需要响度归一化。仅unidrcconfext_v2扩展支持drc特性索引65至70,其需要解码器中的响度归一化。
[0054]
新解码端过程可对v1和v2扩展字段两者进行解码,如图9右侧所示,从而提取指向相同的drc特性的两个索引(两个不同索引值)。在这种情况下,v2索引被称为覆写该v1索引,因为 characteristicv1override=1,新解码器将用来自unidrcconfext_v2扩展的drc特性索引替换从unidrcconfext_v1扩展获得的drc特性索引。
[0055]
回到图8,当生成非向后兼容的比特流(以提供给新解码器,而不是传统解码器)时,该标志characteristicv1override被设置为零,并且 unidrcconfext_v2扩展在该比特流中生成。该unidrcconfext_v2 扩展包含与该unidrcconfext_v1扩展基本上相同的比特流字段。虽然 unidrcconfext_v1不支持特性65至70,但传输的 unidrcconfext_v2支持特性65至70。由于在编码端生成drc序列的响度归一化在这种情况下没有被应用-见图7-它在解码器中没有被补偿(也见图7)。该情况等同于在图10b的解码端过程中将归一化增益例如 encdrcnormgaindb设置为零。当这种比特流由该新解码端过程解析时,响应于i)具有第二值的标志和ii)索引为第一值(例如,在65至70的范围内),该解码端过程使用第二drc特性b并且利用使用集成响度更新但不使用响度归一化增益的响度归一化将drc应用于音频信号(例如,求和块中的encdrcnormgaindb的值被设置为零)。换句话说,当在drc特性b 的输入处生成该归一化响度序列时,encdrcnormgaindb被设置为零。
[0056]
然而,如果该新解码器遇到i)具有第二值的标志和ii)为不同于第一值的第二值的索引(例如,在范围1至6中),则该解码端过程将drc应用于该音频信号(使用该第二drc特性b),但不实施响度归一化。换句话说,参考图10b,在该逆特性a的输出处该恢复的平滑瞬时响度序列未被调节(在被输入到drc特性b之前)-因此不存在该图中所示的求和块。
[0057]
以下附录包括在该mpeg-d drc标准的框架中提出的用于推迟响度归一化的方法的草稿说明书。该文档包括用新信息生成比特流的有效方法,该新信息也可用传统解码器解码。
[0058]
虽然已经在附图中描述和示出了某些方面,但是应当理解,这些方面仅仅是对本发明的说明而非限制,并且本发明不限于所示出和所述的具体结构和布置,因为本领域的普通技术人员可以想到各种其它修改型式。因此,要将描述视为示例性的而非限制性的。
[0059]
附录:
[0060]
国际标准化组织
[0061]
国际标准化组织
[0062]
iso/iec jtc1/sc29/wg6,mpeg音频编码
[0063]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
iso/iec jtc1/sc29/wg6 mxxxx
[0064]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
2020年xx月
[0065]
标题
ꢀꢀꢀ
提出的对iso/iec 23003-4的修订,以改进对实时编码的支持
[0066]

ꢀꢀꢀꢀꢀ
frank baumgarte,apple inc.
[0067]
1简介
[0068]
mpeg-d drc(iso/iec 23003-4)是一种与编解码器无关的工具,用于基于元数据进行响度和动态范围控制。当编码器中的动态范围压缩器生成drc增益元数据时,音频信号通常在压缩器的输入端进行响度归一化。该归一化用于将drc特性与源信号的响度曲线对准。在实时编码的情况下,例如对于直播,源信号的响度曲线在编码开始时可能是未知的并且drc特性的对准可能是关闭的。
[0069]
2问题描述
[0070]
mpeg-d drc标准建议使用两遍方法进行编码。在第一遍中,测量音频内容的综合响度。在第二遍中,基于响度测量对drc输入信号进行归一化,并对元数据进行编码。这种方法不适用于实时编码或实时应用程序。因此,无法在编码遍开始之前进行响度测量。一种解决方法可能是对专业工作室中经常使用的音频进行校准,这样可以实现相当可预测的制作响度,这可以作为测量的估计值。在其他环境中,音频信号的响度不太可预测,并且因此可能会显著偏离用于设置编码器的预期值。此类偏差可能会导致不期望的压缩伪影,诸如泵浦,以及在应用压缩增益之后不期望的响度偏移。这是由未对准的drc特性引起的,其中音频信号响度未在该特性内居中。
[0071]
3提出的改进
[0072]
所提出的解决方案是一种新的drc处理模式,其中drc输入响度归一化从编码器转移到解码器。此解决方案不需要在编码开始之前执行第一遍以测量内容的响度。相反,响度测量可以与编码并行进行。更新的响度值可以写入音频流中,该音频流将由解码器用于drc输入响度归一化。对于实时录制到文件,整个录制的响度值可以在录制结束时写入mp4文件格式标题,并且然后该值可以用于解码器中的归一化。除此之外,不需要重新编写或重新编码文件来实现drc输入的期望归一化以适当地调整解码器中的 drc特性。
[0073]
对于向后兼容性,所提出的比特流支持一种高效语法来服务于传统和新式解码器两者。该模式允许根据传统系统的需要对编码器中的drc链应用响度归一化。编码器归一化增益以建议的比特流语法传输,并在新式解码器中应用响度归一化时进行补偿。
[0074]
本文件第4节和第5节包含iso/iec 23003-4[1]和iso/iec 23091-3[2]的修正草案文本。与最新发布的标准相关的更改和添加以灰色突出显示,以简化审查过程。合并文本时应删除突出显示。
[0075]
4提出的对iso/iec 23003-4的修订
[0076]
在6.1.1中,将倒数第二段替换为:
[0077]
unidrcconfig()包含除绑定在loudnessinfoset()中的loudnessinfo()块之外的所有块。 unidrcconfig()有效负载的最后一部分可以包括未来的扩展有效负载。如果收到的 unidrcconfigexttype值不等于unidrcconfext_term,则drc工具解析器应读取并丢弃扩展有效负载的位(otherbit)。类似地,loudnessinfoset()有效负载的最后一部分可以包括未来的扩展有效负载。如果收到的loudnessinfosetexttype值不等于unidrcloudext_term,则drc工具解析器应读取并丢弃扩展有效负载的位(otherbit)。unidrcconfig()或loudnessinfoset()中的每个扩展有效负载类型在比特流中出现的次数不得超过一次,除非另有说明。如果两种有效负载都存在,则unidrcconext_v1或unidrcconext_v2类型的扩展有效负载应在比特流中 unidrcconext_param_drc类型的扩展有效负载之前。对于iso/iec 14496-12,根据表76提供了配置扩展有效负载。
[0078]
在第6.4.6节中替换以下段落:
[0079]
在表65、表67和表68中给出了流内drccoefficient语法。iso/iec 14496-12(iso基本媒体文件格式)的对应块的语法如表66和表69所示。这些对应块承载基本相同的信息。除了drclocation 外,两个块中同样包含的值的编码方式相同。
[0080]
发明人:
[0081]
在表65、表67和表68中给出了流内drccoefficient语法。iso/iec 14496-12(iso基本媒体文件格式)的对应块的语法如表66和表69所示。这些对应块承载基本相同的信息。除了drclocation 外,两个块中同样包含的值的编码方式相同。
[0082]
对于version=2且characteristicv1override=1的iso/iec 14496-12的drccoefficientsunidrc()有效负载(参见表69)承载与扩展unidrcconfext_v2基本相同的信息。对应的比特流字段以与表 a.10中指定相同的方式被编码。
[0083]
在第6.4.6节中替换以下段落:
[0084]
在drccoefficientsunidrcv1()有效负载中,可以定义自定义drc特性以支持更灵活的增益修改。这些参数特性可用于描述编码器侧drc和目标特性。如果定义了目标特性,则应在反转编码器侧特性后应用该特性。因此,对于最一般的用途,编码器侧的特性应该是可逆的,即在整个增益范围内具有负斜率或正斜率。此外,如果目标特性具有增益恒定的部分,则编码器侧特性也可以在这些部分中具有恒定增益。参数特性的计算如表19和表20所示。更多细节可在e.4中找到。
[0085]
发明人:
[0086]
在drccoefficientsunidrcv1()有效负载中,可以定义自定义drc特性以支持更灵活的增益修改。这些参数特性可用于描述编码器侧drc和目标特性。如果定义了目标特性,则应在反转编码器侧特性后应用该特性。因此,对于最一般的用途,编码器侧的特性应该是可逆的,即在整个增益范围内具有负斜率或正斜率。此外,如果目标特性具有增益恒定的部分,则编码器侧特性也可以在这些部分中具有恒定增益。参数特性的计算如表19和表20所示。更多细节可在e.4中找到。
[0087]
如果在比特流中提供了编码器侧特性,则建议使用线性增益插值。范围在65至70内的 iso/iec 23091-3(cicp)编码器特性仅由作为unidrcconfext_v2扩展的一部分的 drccoefficientsunidrcv1()支持。这些特性不应以其他方式使用。当该范围内的cicp特性在解码器中反转时,应在反转后基于可用的响度元数据和编码器归一化增益(如果适用)应用响度归一化。表e.3中的伪代码显示了这一点,其中根据sourceloudness和encdrcnormgaindb的值,使用偏移量计算反相特性的输出。sourceloudness为在任何归一化之前编码器处的综合 drc输入响度。sourceloudness的值从drc的响度元数据获得。encdrcnormgaindb是应用于编码器drc输入处的信号增益,以db为单位。当characteristicv1override==1时,此增益值在unidrcconfext_v2扩展有效负载中可用,以支持传统设备(另见e.4)。
[0088]
drcinputloudnesstarget的值是应用以在解码器中生成drc增益的drc特性的目标输入响度。基础媒体文件格式iso/iec 14496-12的drccoefficientsunidrc()有效负载仅在version》=2时才支持cicp特性65至70(另见表69)。
[0089]
将表17替换为:
[0090]
表17—drc增益样本和相关联斜率从db到线性域的转换(如果源drc特性具有负斜率,则 slopeisnegative==1)
[0091]
[0092][0093]
将表a.10替换为:
[0094]
表a.10—对unidrcconfig()、unidrcconfigextension()和loudnessinfoset()的顶级字段的编码
[0095][0096]
[0097]
将表a.16替换为:
[0098]
表a.16—对drccoefficientsbasic()、drccoefficientsunidrc()、drccoefficientsunidrcv1() 中的元数据的编码
[0099]
[0100]
[0101][0102]
将表a.22的标题替换为:
[0103]
表a.22—drccharacteristic和overridecicpcharacteristic字段的编码
[0104]
在表a.22后添加新表:
[0105]
表a.23—bsencdrcnormgain的编码
[0106][0107]
将表69替换为:
[0108]
表69—iso/iec 14496-12的drccoefficientsunidrc()有效负载的语法
[0109]
[0110]
[0111]
[0112]
[0113]
[0114][0115]
将表75替换为:
[0116]
表75—unidrcconfigextension()有效负载的语法
[0117]
[0118]
[0119][0120]
将表101替换为:
[0121]
表101—保留类型
[0122][0123][0124]
将表a.12替换为:
[0125]
表a.1—unidrc配置扩展类型
[0126][0127]
在第d.2.8节之前添加以下段落:
[0128]
iso/iec 23091-3(cicp)中指定的范围在65至70内的drc源特性仅在作为unidrcconfext_v2扩展的一部分的drccoefficientsunidrcv1()有效负载中受支持。它们对于预先不知道音频信号的综合响度并且不能使用两遍编码的实时内容很有用。对于此类应用, drc输入信号的响度归一化可以在解码器而不是编码器处进行。此类“延迟”归一化可以提供在编码器中获得响度测量值的机会,该响度测量值可以用于解码器中的归一化。基于 characteristicv1override标志,如果清除,则unidrcconfext_v2扩展有效负载包含通过支持 drc特性65至70而增强的unidrcconfext_v1扩展有效负载的所有信息,或者,如果设置了该标志,则它将覆盖unidrcconfext_v1扩展中drccoefficientsunidrcv1()有效负载的源特性。后一种行为在具有支持unidrcconfext_v2扩展的某些解码器和仅支持扩展到 unidrcconfext_v1的其他解码器的部署中很有用。由于可以向那些传统解码器提供 drccoefficientsunidrcv1()有效负载,因此它们仍然能够应用drc,但是它们无法利用具有特性 65至70的更灵活的drc输入响度归一化。
[0129]
在非向后兼容模式(characteristicv1override==0)中,比特流不应包含unidrcconfext_v1 扩展,并且在文件格式级别不应存在版本=1的drccoefficientsunidrc()有效负载。在向后兼容模式(characteristicv1override==1)中,比特流应包含与存在于unidrcconfext_v2扩展中的覆盖信息的模式匹配的unidrcconfext_v1扩展。在文件格式级别,对于每个版本=2的 drccoefficientsunidrc()有效负载,应存在与覆盖信息的模式匹配的版本=1的 drccoefficientsunidrc()有效负载。
[0130]
在第e.4节中替换以下段落:
[0131]
根据表e.3和表e.4计算发射器特性1至6的反相。由于增益总是为0db,因此特性1不具有有用的反相。
[0132]
发明人:
[0133]
根据表e.3和表e.4计算发射器特性1至6和65至70(参见iso/iec 23091-3)的反相。由于增益总是为0db,因此特性1和65不具有有用的反相。第d.1.1节解释了编码器中的drc输入响度归一化以匹配drc特性。此编码器侧归一化需要已知内容响度,但是例如对于实时内容可能不是已知的。如果内容响度在编码开始时未知,则当使用索引范围在65至70的drc特性时,可以省略编码器中的响度归一化。这些特性将使得drc解码器应用响度归一
化,因此无需在编码器处进行归一化。在解码器中应用drc输入响度归一化有两个选项。第一选项为非向后兼容的。它通过设置characteristicv1override=0并发送具有drccoefficientsunidrcv1()有效负载的 unidrcconfext_v2扩展来指示,该有效负载包括范围在65至70的一个或多个drccharateristic 值。编码器不应应用drc输入归一化。第二选项为向后兼容的。它通过设置 characteristicv1override=1,发送具有drccoefficientsunidrcv1()有效负载的unidrcconfext_v1 扩展,该有效负载不应包括范围在65至70内的drccharateristic值,以及发送具有覆盖特性索引 (包括范围在65至70内的索引)和编码器归一化增益值bsencnormgaindb的 unidrcconfext_v2扩展有效负载来指示。drc输入归一化通常应用于编码器中以与传统解码器向后兼容。
[0134]
对于具有目标特性的drc,建议使用线性drc增益编码(gaininterpolationtype=1),并且忽略斜率信息,如果增益编码为样条插值,则在解码器中使用线性插值。
[0135]
将表e.3替换为:
[0136]
表e.3—反相编码器drc特性1至6和65至70的计算
[0137][0138][0139]
将表e.4替换为:
[0140]
表e.4—索引范围为1至6和65至70的drc特性的参数
[0141][0142]
将表i.2替换为:
[0143]
表i.2—每个配置文件支持的流内有效负载处理
[0144][0145][0146]
将表i.3替换为:
[0147]
表i.3—每个配置文件对mpeg-4文件格式框处理的支持
[0148][0149][0150]
5提出的对iso/iec 23091-3的修订
[0151]
在第6.12节中替换以下内容:
[0152]
所有drc特性的定义基于-31lkfs的响度归一化的drc输入级别。
[0153]
发明人:
[0154]
索引范围在1至11内的特性定义基于-31lkfs的响度归一化的drc输入级别。对于
索引范围在65至70内的特性,drc输入不应采用响度归一化。
[0155]
在第6.12节中替换以下内容:
[0156]
表6—drc特性索引值为1至6的参数
[0157][0158]
发明人:
[0159]
表6—索引范围为1至6和65至70的drc特性的参数
[0160][0161][0162]
6结论
[0163]
本文档提出了对drc标准的改进,以进行实时编码。其中包括提出的对于 iso/iec 23003-4和iso/iec 23091-3的修正草案文本。来文提交人恳请使用提供的文本发布两项标准的修正草案。
[0164]
7参考文献
[0165]
[1]iso/iec 23003-4:2020信息技术—mpeg音频技术—第4部分:动态范围控制。
[0166]
[2]iso/iec 23091-3:2018信息技术—编码独立代码点—第3部分:音频。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1