王 豐
中國電影科學技術研究所(中央宣傳部電影技術質量檢測所),北京 100086
沉浸式音頻(Immersive Audio)技術在電影中的應用具有里程碑意義,其憑借高品質的包容感、更加明確的位置感以及更為豐富細膩的聲音細節迅速走進廣大觀眾的視野,成為現階段業界最為關注的焦點之一。與傳統影廳5.1 聲道、7.1 聲道等二維環繞聲技術相比,沉浸式音頻影廳在觀眾區上方增加了能夠展現聲場高度(維度)的音頻聲道,同時具備了基于音頻資產與元數據信息共同描述的音頻對象元素,每個揚聲器都是一個獨立發聲單元,聲像定位效果更為準確。
為推動電影沉浸式音頻技術的規范化發展,美國電影電視工程師協會(SMPTE)從2018 年起陸續發布多個技術標準,對影院沉浸式音頻元數據類型、聲場組結構、碼流以及素材交換格式等多個方面作出規范,其目的是通過規范沉浸式音頻系統的技術要求,讓技術團隊在沉浸式音頻系統的研發和升級改造時有章可循,逐步提升不同品牌沉浸式音頻系統的互操作性,進而改變現階段不同品牌系統互不兼容的生態環境。
SMPTE 頒布的電影沉浸式音頻系列標準具有較強的前瞻性,其定義的功能特性可以從技術層面為影視聲音創作提供更大的表現空間,但當時尚無能夠完整支持其全部功能的沉浸式音頻系統。為此,SMPTE 于2021年針對SMPTE ST 2098-2:2019 沉浸式音頻碼流規范(Immersive Audio Bitstream Specification)標準(以下簡稱“SMPTE ST 2098-2”)發布了約束性文檔SMPTE RDD 57:2021(以下簡稱“SMPTE RDD 57”),針對SMPTE ST 2098-2 的基礎功能提出支持建議,對一些高級功能做出了限制建議,其目的是降低沉浸式音頻碼流的復雜度,階段性推進影院放映端的應用普及率,未來會根據行業發展情況逐步取消相關功能性限制,直至支持完整功能特性。為促進沉浸式音頻技術的健康發展與推廣,提升沉浸式音頻技術的優化與普及,使研發者能夠在正確理解和遵循標準的前提下進行技術創新,確保不同品牌系統之間具備互操作性,同時使內容創作者和觀眾能夠在不同的渲染還音平臺享受盡可能一致的聽覺體驗,需要對沉浸式音頻所涉及的相關標準進行跟蹤研究和深入分析。本文深入研究了SMPTE ST 2098-2 標準中各內容元素參數位段的功能含義,梳理了沉浸式音頻所涉及的全部功能特性,并結合其他相關標準,介紹了現階段電影行業沉浸式音頻技術的實際應用情況。
SMPTE ST 2098-2 是關于沉浸式音頻碼流的主要標準,它從兩個部分定義了沉浸式音頻碼流(Immersive Audio Bitstream, IABitstream)結構,包括前導碼部分(Preamble)和沉浸式音頻幀部分(IAFrame),如圖1 所示。其中IAFrame 是IABitstream 中最重要的元素(Element),全部沉浸式音頻數據都存在于其中,包括用于揚聲器陣列的聲床信息,以及可呈現到任意揚聲器或任意虛擬位置的音頻對象信息,此外還包含多個音頻數據元素,每個元素都帶有脈沖編碼調制(Pulse Code Modulation, PCM)或數字無損壓縮編碼(Digital Losslessly-coded, DLC)音頻資產信息。

圖1 沉浸式音頻碼流結構示意圖
IAFrame 元素是由多個子級元素組成的層次結構。子級元素類型包括聲床定義元素(BedDefinition)、音頻對象元素(ObjectDefinition)、無損壓縮音頻元素(AudioDataDLC)、脈沖編碼調制音頻元素(AudioDataPCM)、制作工具信息元素(AuthoringTool-Info)和 用 戶 數 據 元 素(UserData),如 圖2 所示。SMPTE ST 2098-2 明確指出,IABitstream 中除上述元素外不能夠包含任何其他類型的元素。

圖2 元素層級結構圖
IAFrame 是層級最高的幀頭元素,其數據字段主要包含6類位段(圖3)。

圖3 沉浸式音頻幀(IAFrame)元素
起始的Version 位段用于指定沉浸式音頻碼流的版本,符合IABitstream 規范碼流版本的值應為1,該參數位段禁止使用0 或2 的值。最后的SubElement-Count 位段表示當前元素中包含的下級元素(子元素)總數。
SampleRate 與BitDepth 用于規定音頻內容的采樣頻率和量化深度,同一個IABitstream 中所有音頻內容應使用相同的采樣率與量化深度。SampleRate的編碼值為“0x0”表示采樣率為48kHz,編碼值為“0x1”表示采樣率為96kHz,編碼值“0x2”與“0x3”表示預留的未定義采樣率。BitDepth 編碼值為“0x0”表示16bit 的量化深度,BitDepth 編碼值為“0x1”表示24bit的量化深度,BitDepth 編碼值“0x2”與“0x3”表示預留的未定義量化深度,IAFrame 中的所有被取樣音頻內容的量化深度取值范圍應在(-2n-1≤量化值<2n-1)的范圍內。
FrameRate 用于表示IAFrame 的幀率,同時控制音頻內容的采樣數(SampleCount),FrameRate 編碼值所對應的幀率與音頻采樣數的對應關系如表1所示。

表1 幀率與采樣數的對應關系
MaxRendered 表示在單幀播放期間可同時被渲染的最大聲道數和對象數之和。例如,對于具有無條件聲床的9.1OH 聲床和無條件對象的118 個對象的IAFrame 元素,該IAFrame 的最大渲染計數為128。對于所有預設的聲道或對象,無論是否存在音頻資產,其數量都會包含在最大渲染計數中。2022 年底,SMPTE 對SMPTE ST 2098-2 標準進行了修訂,對MaxRendered 位段要求做了補充,規定采樣頻率為48kHz 碼流的MaxRendered 值不高于128,規定采樣頻率為96kHz碼流的MaxRendered 值不高于64。
BedDefinition 元素包含聲床元數據和指向音頻資產的信息,主要包含14 類位段,其結構如圖4所示。

圖4 聲床定義(BedDefinition) 元素
MetaID 用于識別幀與幀之間的元數據信息。在一個IAFrame 中相同類型的兩個元素不得具有相同的MetaID,在連續的IAFrame 中,相同類型和相同MetaID 的元素通常表示連續音頻。
ConditionalBed 表示符合特定聲場環境時才會被激活的條件聲床,該位段值為0 表示BedDefinition 元素不存在條件聲床,BedDefinition 直接被激活;值為1表示BedDefinition 元素存在條件聲床,且會隨之出現BedUseCase 位段。從功能特性來看,條件聲床屬于沉浸式音頻的高級功能,是為特定聲場組環境而使用的聲床,當該聲床元素為主元素,且條件聲床存在并被激活時,條件聲床應(與其他有效聲床元素一起)從對應的揚聲器中還音。當該聲床元素為子元素,且條件聲床存在并被激活時,條件聲床應替代原聲床從對應揚聲器中還音。
ChannelCount 表示BedDefinition 中的聲道總數量,ChannelID 表示聲床中的一個唯一聲道,聲道標準名稱參數及重映射路由目的地遵從SMPTE ST 428-12、ITU-R BS.2051-3 和SMPTE ST 2098-5 中的定義。一個BedDefinition 元素中的同一個ChannelID 值不能出現1 次以上。AudioDataID 用于識別碼流中攜帶的相關單聲道音頻資產,當該位段為0時表示沒有音頻資產,IABitstream 編碼器可通過把該字段設為0 的方式表示靜音音頻資產。
此外,ChannelGainPrefix 規定了聲道增益值的編碼方式;ChannelDecorInfoExists 表示是否對該聲床聲道的音頻資產進行去相關處理;AudioDescription 用于提供音頻資產的描述信息,音頻資產可以描述為基本音頻類型的組合,其代碼值對應的基本描述信息內容如表2所示。

表2 音頻內容描述代碼與描述信息內容的關系
BedRemap 元素是BedDefinition 元素的可選子元素,用于描述如何將聲床從原有配置轉換為不同的播放配置。例如,該元素可以提供將9.1 聲床下混到5.1 聲床的相關信息,以便在5.1 聲場配置的影院中播放內容。BedRemap 元素應具備明確的目標環境指向,并提供混合系數,從而將BedDefinition 元素中的每個通道分配到還音系統支持的聲道上。當Bed-Remap 元素存在并被激活時,聲音以與重映射參數一致的方式重映射到渲染器配置中,并通過該特定目標環境所對應的揚聲器還音。BedRemap 元素主要包含8類位段,具體映射如圖5所示。

圖5 聲床重映射(BedRemap)元素
RemapUseCase 表示激活重映射元素的目標聲場組類型,如5.1、7.1DS、9.1OH 等。SourceChannels 對應的聲道數量應為原BedDefinition 元素中指定聲床所包含的聲道數量。DestinationChannels 對應的聲道數量應等于重映射后所定義的實際輸出聲道數量。RemapInfoExists 出現在重映射子塊中,位段值應設置為1,表示需要進行重映射處理。DestinationChannelID 表示重映射的聲道標識,在每個BedRemap 元素子塊中具有唯一值,聲道標識及路由目的地遵從SMPTE ST 428-12、ITU-R BS.2051-2 和SMPTE ST 2098-5 中的定義。RemapGainPrefix 規定了對重映射增益值編碼的方式,代碼值為0 表示無增益變化,代碼值為1 表示靜音,代碼值為2 表示聲道增益代碼(RemapGain)包含在IABitstream 中,根據增益代碼設置增益大小。
ObjectDefinition 元素包含元數據和指向音頻資產的指針信息,能夠生成一個音頻對象的一幀。為了給對象元數據參數提供足夠的時間分辨率,需要將單個IAFrame 所對應的時長進行分割,將一幀的聲音內容按照一定的時間間隔劃分為多個子塊,子塊的數量、排列順序以及每個子塊的采樣數和持續時長如表3所示。

表3 不同幀率與音頻子塊參數的對應關系
在ObjectDefinition 元素中還包含著區域(Zone)信息,該信息由碼流中的代碼值來表示。對于影廳來說,區域是指影廳不同部分所包含的揚聲器合集,一般可分為9 個區域,包括銀幕后方三區域(左中右)、左右墻二區域、后墻二區域(左右)、頂層二區域(左右)。但當子元素ObjectZoneDefinition19 被激活時,高級區域配置會取代原有的9個區域。
ObjectDefinition 元素主要包含22 類位段,如圖6所示。該元素可以支持ObjectDefinition 和Object-ZoneDefinition19兩類子元素。

圖6 對象定義元素(ObjectDefinition)
ConditionalObject 表示符合特定聲場環境時才會被激活的音頻對象,其作用與前面的ConditionalBed基本一致。從功能特性上來看,條件對象是為特定目標環境而使用的替代音頻對象,當該對象為主對象元素,且條件對象被激活時,條件對象應(與其他有效對象元素一起)出現在對應的位置上。當該對象為子對象元素,且條件對象被激活時,不同坐標位置的子音頻對象將替換主音頻對象,主音頻對象應不發聲。
除了以上元素外,PanInfoExists 表示子塊(Sub Block)中是否存在聲象移動信息;ObjectGainPrefix 表示對象增益值的編碼方法;ObjectPosX、ObjectPosY、ObjectPosZ 規定了移動音頻對象在三維空間中的位置坐標;ObjectSnap 位段相當于調整音頻音色與音頻位置優先級關系的總開關,而ObjectZoneControl 位段相當于區域控制功能的總開關;ObjectSpreadMode 指定了碼流中音頻對象的擴散信息類型,其代碼值對應的標識及功能如表4 所示;ObjectDecorCoefPrefix規定了對“去相關”增益值進行編碼的方法。

表4 擴散類型描述
ObjectZoneDefinition19 是ObjectDefinition 元素的可選子元素,定義了與ObjectDefinition 中常規9 區域定義方式不同的替代分區定義,將還音環境區域擴展至影廳內19 個分區。如果解碼器能夠識別ObjectZoneDefinition19 參數位段,并且支持Object-ZoneDefinition19 元素識別,應將音頻信號區域設置關系與19 個區域位置相關聯,并將主ObjectDefinition 元素中的ZoneGainPrefix 和ZoneGain 值替換為子元素(ObjectZoneDefinition19)中的ZoneGainPrefix 和ZoneGain19值。
AudioDataPCM 與AudioDataDLC 元素都是攜帶實際音頻內容的位段,一般來說也是數據量最大的位段。AudioDataPCM 元素主要包含了線性PCM 無壓縮音頻數據內容,其采樣頻率支持48kHz 或96kHz,量化深度支持16bit 或24bit,該元素用于表示音頻內容,會被聲床和音頻對象元素所引用。該元素主要包含AudioDataID、PCMData 共2 類位段。AudioDataDLC 元素由聲床元素和音頻對象元素組成,所攜帶的音頻資產應符合編碼規范,該規范是為數字影院而設計,采用了時域線性預測音頻壓縮方式,對音頻資產進行無損編碼。每個AudioDataDLC 元素包含一幀單聲道無損壓縮編碼音頻波形,該元素不能用于非整數幀率的IAFrame。該元素主要包含AudioDataID、DLCSize、DLCSampleRate 等19 類參數位段。AudioDataPCM 和AudioDataDLC 元素僅用于表示音頻內容,解碼過程中會被聲床和音頻對象元素所引用,元素本身不涉及功能特性內容,在此不做過多分析與解讀。
AuthoringToolInfo 元素用于標識創建沉浸式音頻的供應廠商和制作工具(包括版本號),渲染器在解碼過程中可能會跳過這個元素,該元素包含AuthoringToolURI 參數位段。AuthoringToolURI 是一個以空字符結束的ASCII 文本字符串,每個字符包含在一個8bit 字節中。它是由國際互聯網工程任務組(IETF)發布的IETF RFC 2396 定義的統一資源標識符組成,標識內容是制作工具供應商注冊的DNS 可解析域名(大多為官方網址),以防止不同供應商提供的工具標識符之間的重復。URI 的其余部分可由制作工具供應商以符合RFC 2396的任何方式定義。
UserData 元素攜帶使用SMPTE UL 標識的未定義用戶數據,渲染器在解碼過程中可能會跳過這個元素。該元素包含UserID、UserDataBytes 兩類參數位段。UserID 是符合SMPTE ST 298 標準的SMPTE管理通用標簽,用于標識創建UserDataBytes 的實體及其定義,與無法識別的UserID 相關聯的UserData-Bytes可能會被忽略。
沉浸式音頻技術自2012 年在電影行業正式商用以來,迅速成為電影行業的重要發展方向,國際上有電影電視工程師協會(SMPTE)、數字電影倡導組織(DCI)、跨協會數字電影論壇(ISDCF)等多個組織參與了沉浸式音頻標準的商討或制定,2018 年發布的SMPTE ST 2098 系列標準較為重要。在其制定標準的過程中,眾多國際廠商展開了技術博弈,多家企業為實現技術互操作性和標準化發展公開并統一了諸如元數據類型、聲場組結構、碼流規范等技術指標,同時最大限度地保留了諸如源母版格式、渲染算法等自有知識產權的核心技術內容。
ISDCF 于2019 年2 月底組織電影行業技術公司基于SMPTE ST 2098-2 實施了初步互插拔測試(Plug-Fest),測試過程中的DCP 素材均使用符合SMPTE ST 2098-2 碼流規范的MXF 數據文件來生成。巴可(Barco)、杜比(Dolby)、Xperi/DTS、D-BOX 等廠商參加了測試,測試結果表明現階段有條件實現沉浸式音頻基礎功能的正確渲染還音,但對一些高級功能尚不能實現互操作。為兼顧大多廠商音頻渲染器現階段的實際運算能力,降低音頻編碼的復雜程度,控制沉浸式音頻在電影行業廣泛應用的技術門檻,ISDCF 認為需要制定一份約束性文檔,并于2020 年針對SMPTE ST 2098-2 發布了沉浸式音頻碼流約束-IAB 應用簡介1(Immersive Audio Bitstream Constrants-IAB Application Profile 1),該文檔包含了對數字電影數據包(DCP)和合成播放列表(CPL)標識符、聲床聲道、音頻對象以及元數據信息等完整特性的約束建議,逐步引導不同廠商沉浸式音頻系統實現渲染還音的互操作。
SMPTE 采納了ISDCF 的建議,于2021 年發布了SMPTE RDD 57 文檔,該文檔針對ST 2098-2 的基礎功能提出明確建議,對現階段用于DCP 的沉浸式音頻碼流提出多項約束性建議,未來會根據行業的發展情況逐步取消相關功能性限制,直至完全符合SMPTE ST 2098-2的全部功能要求。
SMPTE RDD 57 文檔主要對沉浸式音頻碼流的以下功能做出了限制:
(1)采樣率限制為48kHz,且不允許使用其他采樣率;
(2)幀率僅允許是24FPS、25FPS、30FPS、48FPS和60FPS;
(3)僅允許擁有1 個聲床,聲床最多包含10 個聲道,聲場組僅允許采用SMPTE ST 428-12:2013 數字電影發行母版通用音頻聲道和聲場組(D-Cinema Distribution Master Common Audio Channels and Soundfield Groups)標準中定義的7.1DS 聲場組,或SMPTE ST 2098-5:2018 數字電影沉浸式音頻聲道和聲場組(D-Cinema Immersive Audio Channels and Soundfield Groups)標準中定義的9.1OH 聲場組;
(4)僅允許BedUseCase 參數位段被設置為Always Use 的條件聲床存在,并且BedDefinition 不擁有任何子元素,對同步聲床功能也做出了禁用建議;
(5)ChannelGainPrefix 與ObjectGainPrefix 位段值只能為0,且不能存在ChannelGain 和ObjectGain 位段,也就是說現階段音頻增益控制功能暫不能包含在碼流中;
(6)聲床內容不允許進行去相關處理,且不允許包 含ChannelDecorCoefPrefix 和ChannelDecorCoef 位段,在對音頻對象進行去相關處理時,ObjectDecorCoefPrefix 位段值僅允許為0 或1,不允許包含Object-DecorCoef 位段;
(7)僅允許ObjectUseCase 參數位段被設置為Always Use 的條件對象存在,并且ObjectDefinition 不能擁有任何子元素;
(8)如果存在ObjectSnapTolExists 位段,則該位段值應為0,不允許包含ObjectSnapTolerance 位段;
(9)如果存在區域增益控制信息,ZoneGainPrefix位段值僅允許為0 或1,且僅可存在11 種區域賦值方式;
(10)區域擴散中ObjectSpreadMode 位段值應始終為2,不允許包含ObjectSpreadX、ObjectSpreadY 和ObjectSpreadZ 這3個位段;
(11)不 允 許 包 含ObjectZoneDefinition19 位 段信息;
(12)不允許包含BedRemap、AuthoringToolInfo 和UserData 這三個元素。
目前,我國有多家從事電影沉浸式音頻技術的公司或機構,他們通過不斷技術研發和創新,為電影制作和放映提供了多種出色的沉浸式音頻解決方案,并在國內外影院中得到了一定范圍的應用與認可。
中國電影科學技術研究所(中央宣傳部電影技術質量檢測所)始終積極推進數字電影沉浸式音頻技術發展,在沉浸式音頻系列技術標準制定期間就已開始積極關注和跟蹤相關進展,并在標準發布后第一時間對標準進行了研究和解讀,認為相關標準的發布,為制版和發行的統一、系統間的兼容提供了技術和標準指導。我單位技術研發團隊對SMPTE ST 2098 系列標準的兼容性、技術專利壁壘、國產化可行性等關鍵問題進行了深入研究和探索,為實現數字電影沉浸式音頻系統全流程國產化、打破國外技術壟斷并與國際技術標準實現兼容,推動沉浸式音頻技術在行業制作、發行、放映等環節的應用打下了良好的基礎。現階段正在逐步推進《數字電影沉浸式音頻發行母版技術要求》《數字電影沉浸式音頻渲染效果主觀評價方法》等相關沉浸式音頻標準的起草,旨在形成具有我國自主知識產權的數字影院沉浸式音頻標準化體系,提高相關領域的國際話語權和行業競爭力,實現電影還音技術的高質量發展。
沉浸式音頻技術在影視、音樂、娛樂等諸多行業的應用愈發普及,儼然已成為當今乃至未來一段時間音頻技術的發展方向。對于電影行業來說,沉浸式音頻系統已成為高端影廳的標配,同時節目制作機構也有越來越多的混錄棚通過升級改造具備了支持電影沉浸式音頻制作生產的硬件環境,與其相關的技術標準也緊隨技術與市場的發展不斷修訂更新。
隨著技術標準的不斷完善,沉浸式音頻的元數據類型以及功能特性將會逐步統一,音頻內容的編解碼方式也會逐步走向一致,國內外不同廠商的沉浸式音頻設備將會逐步實現良好的兼容,從而有效降低影片的制作運營成本。標準對技術發展具有規范促進作用,在保證通用性、兼容性和可操作性方面發揮了積極作用,但同時也可能會產生專業技術壁壘,使有些公司不得不放棄自研技術,甚至需要為制作符合標準的產品支付高額的專利授權費。
在現階段電影行業中,沉浸式音頻技術仍有著多元化發展空間,比如目前在母板格式和渲染算法等方面還沒有統一的標準規范,可以預見沉浸式音頻未來的主要技術賽道將從“功能特性創新”逐步轉換為“渲染算法創新”。相關研究人員和從業人員要找準切入點,積極提升沉浸式音頻技術領域多元化發展,將技術研發與市場應用相結合,逐步拓展活躍用戶數量,充分發掘核心技術所蘊含的商業價值,推動其形成技術標準,用技術實力提升市場博弈能力和行業競爭力,進一步推動電影行業高質量發展。?