使用網際網路協議保持流式音頻和視頻的同步的製作方法
2024-03-06 00:43:15 1
專利名稱:使用網際網路協議保持流式音頻和視頻的同步的製作方法
技術領域:
一般而言,本發明涉及數字電影播放系統,具體來說,涉及用於在播放過程中同步數字電影的音頻和視頻內容的方法和設備。
背景技術:
「數字電影」的概念包括使用數位技術生產、交付並在劇院或電影院呈現聽覺/視覺材料的過程。數字電影節目通常在諸如DVD-ROM、磁帶或計算機硬碟驅動器之類的物理介質上以壓縮和加密的形式分發,並且通常可以通過使用衛星或其他寬帶通信路徑靠電子傳輸的方式來分發。
數字電影播放系統控制進行數字電影放映所需的過程。這些過程包括接收或存儲數字電影節目,將其解壓縮或解密為可以由數字內容解碼器進行處理的數字視頻或音頻數據流,對數據流的內容進行解碼以獲取可以用於驅動視頻顯示器或音頻放大器的信號,以及控制其他功能,如在電影劇場可以發現的特殊效果、幕布或劇場照明等。
由於各種商業原因,必須以單獨的數據流傳送和處理視頻和音頻內容。例如,一個影片的視頻數據可以用多個音頻數據集合來進行分發,所述音頻集合具有不同語言或影響影片評級的語音的粗俗差異。在播放時,可以選擇相應的音頻數據以便與視頻數據一起呈現。視頻數據和所選擇的音頻數據在獨立的流中向設備傳輸,以便進行諸如內容解碼之類的處理。
典型的數字電影播放系統包括多個設備,它們通過電力網彼此進行通信,電力網類似於用於將計算機互連起來的許多網絡。這些網絡使用被稱為傳輸控制協議/網際網路協議(TCP/IP)的通信協議,常常遵循通常被稱為乙太網的標準,在IEEE 802.3標準中對該標準進行了描述。選擇此網絡和協議可以簡化實現數字電影播放系統的任務,因為使用它們所需要的電接口以及邏輯接口以及過程都是現成的,並具有相對比較低的成本。令人遺憾的是,使用這種網絡和協議使得對視頻和音頻數據流的處理和呈現難以同步。
在視頻和音頻數據流之間缺少同步可能會在本打算同時出現的視頻和音頻內容中的事件中引入時間差異。如果時間差異足夠大,那麼,結果可能對觀眾造成困擾。同步誤差可能由播放系統中的計時誤差所引起,或者它們可以由視頻和音頻數據流內傳送的控制播放系統的操作的控制信息中的錯誤所引起。控制信息錯誤的產生來源可能有多種,包括在創作或製作視頻/音頻內容的母版過程中產生的錯誤,將數據流從一種數據格式或標準轉換為另一種,視頻和音頻內容的長度的差異,當從一個節目切換到另一個節目時,產生對準誤差。
有在各種上下文中用於同步音頻和視頻數據流的已知方法,包括在諸如IP網絡之類的網絡上以數據包傳輸的流的同步。這些方法中有許多是為用於網絡延遲不可預測,音頻或視頻內容的數據包丟失或接收時有錯誤,以及競爭網絡流量是可變的情況而設計的。用於保持獨立的視頻和音頻數據流之間的同步的常見的方法包括從落後於一個數據流的另一個數據流中丟棄信息的數據包,調整對數據流進行處理的設備的處理時鐘的速度,以及截斷解碼或從接收到的數據包恢復數據的進程。
與數字視頻和音頻內容的其他應用不同,數字電影播放系統不應該丟棄視頻和音頻內容的數據包,恢復的視頻和音頻內容的質量必須保持在其最高的水平。在某些實現方式中對處理時鐘的速度的調整不可能進行,或者無吸引力,因為它在放映時會產生明顯的扭曲。
發明內容
本發明的目標是提供分離的的視頻和音頻數據流的同步,以便視頻和音頻數據是完整的。
根據本發明的一個方面,通過導出傳送視頻和音頻內容的視頻和音頻數據包序列的定時信息並通過有選擇地延遲數據包來實現同步,來同步音頻/視頻節目的音頻內容和視頻內容。向此定時信息應用知覺模型,以獲取視頻和音頻數據包序列之間的感覺到的錯位的度量。如果感覺到的錯位的度量表明音頻數據包太早,則使音頻數據包延遲一個量,以便根據知覺模型,音頻和視頻數據包序列之間的感覺到的錯位減少。如果感覺到的錯位的度量表明音頻數據包太晚,則使視頻數據包和音頻數據包兩者都延遲相應的量,以便根據知覺模型,音頻和視頻數據包序列之間的感覺到的錯位減少。
通過參考下列討論和附圖,可以更好地理解本發明的各種功能以及其優選實施例,在幾個附圖中,類似的參考編號表示相同的元素。下列討論和圖形的內容是只作為示例來闡述的,不應該理解為對本發明的範圍的限制。
圖1是數字電影網絡的功能示意方框圖。
圖2是數字電影播放系統的功能示意方框圖。
圖3包括用於保持視頻和音頻數據的同步的組件的數字電影播放系統中的影片播放器的示意方框圖。
圖4是可以用來實現本發明的各個方面的設備的示意方框圖。
具體實施例方式
A.引言圖1顯示了具有多個播放系統的數字電影網絡。典型的系統對於數字電影影院綜合體中的每一個劇場都具有一個播放系統;然而,網絡和設備可以以多種方式來組織和安裝,包括,例如單個劇場中多個播放系統,具有一個或多個屏幕。這後一種方案允許多個數字電影節目同時在一個劇場中放映。
請參看圖1,影院管理伺服器10、網關30以及播放系統40a、40b使用影院網絡交換機20通過網絡彼此連接在一起。優選情況下,使用了千兆乙太網或1000Base-T網絡。影院管理伺服器10執行各種服務,包括對數字電影網絡中的播放系統40a、40b的管理和總體控制。網關30是可選的,提供了數字電影網絡和一個或多個通信路徑之間的通信鏈路,如衛星通信鏈路33或地球寬帶網37。或者,網關也可以集成到交換機20中,以提供單一交換機/網關或路由器設備。通信路徑可以用來提供諸如電影宣傳材料和數字電影節目解密密鑰之類的信息。也可以提供虛擬專用網絡或類似的功能,以更好地保護諸如解密密鑰之類的敏感信息。
在數字電影網絡的優選實現方式中,每一個播放系統40都可以在功能上獨立於網絡中的所有其他播放系統。相應的播放系統40可以提供數字電影放映,無需從任何其他播放系統中的設備提供服務。播放系統可以以各種方式來實現。下面將描述一種方式。
B.播放系統如圖2所示的示意方框圖顯示了播放系統40的一種實現方式,包括影片存儲器41、影片播放器42、顯示器43、音頻處理器44、自動化接45以及交換機49。交換機49提供了影片播放器42之外的所有這些設備之間的網絡連接。通信路徑51、53、54直接將影片播放器42分別連接到影片存儲器41、顯示器43以及音頻處理器44。
影片存儲器41通過通信路徑52連接到網絡交換機20,並充當文件伺服器,用於接收和存儲一個或多個數字電影節目。影片存儲器41可以存儲影片配置、影片時間表、以及涉及授權、數字權限管理和加密的信息。在優選的實現方式中,影片存儲器41還充當動態主機配置協議(DHCP)伺服器,以控制向播放系統40中的設備分配網絡IP位址,並可以實現服務位置協議(SLP)用戶和服務代理,以便有助於在播放系統內提供服務。分別在網際網路徵求意見資料(RFC)1541和RFC 2165中描述了DHCP和SLP。影片存儲器41從存儲的節目中提取視頻和音頻信息,將提取的信息重新格式化為編碼過的數據流,並將編碼過的數據流提供到影片播放器42。優選情況下,編碼過的數據流通過直接連接了影片存儲器41和影片播放器42的寬帶通信路徑51(如專用1000Base-T乙太網路徑)從前者傳送到後者。在典型的實現方式中,編碼過的表示傳送根據一些標準進行編碼的視頻信息,如國際標準化組織(ISO)電影專家小組(MPEG)文件SO/IEC 13818-1到13818-9中描述的MPEG-2標準,或ISO/IEC 154442000中描述的JPEG-2000標準,並傳送音頻信息,該音頻信息可以作為脈碼調製(PCM)數據、MetaAudio增強PCM數據或通過諸如MetaAudio Dolby F之類的編碼過程產生的數據來進行編碼。位於加利福尼亞舊金山的Dolby Laboratories所推出的Dolby Show Store DSS100是合適的影片存儲器41的一個示例。
影片播放器42是數字內容解碼器,該解碼器對編碼過的數據流進行解碼,以獲取數字視頻和數字音頻信息,所述數字視頻和數字音頻信息通過通信路徑53、54分別提供到顯示器43和音頻處理器44。編碼過的表示可以是加密的。如果是加密的,影片播放器42使用相應的視頻內容解密密鑰,對視頻內容進行解密。優選情況下,使用諸如聯邦信息處理標準(FIPS)出版物197中所描述的技術,並利用由諸如RSA Cryptography Standard PKCS #1 v2.1或在IEEE1363-2000標準中所描述那些技術所提供的密鑰生成和交換。影片存儲器41從影院管理伺服器10接收相應的視頻內容解密密鑰,可以存儲此密鑰,隨後根據需要將它傳給影片播放器42,也可以將密鑰傳遞給影片播放器42而不存儲它。
在一個實現方式中,影片存儲器41接收視頻內容解密密鑰的加密的版本,該加密過的視頻內容解密密鑰是使用唯一地與影片播放器42關聯的公鑰進行加密的。影片播放器42使用其自己的私鑰對加密的視頻內容解密密鑰進行解密,根據需要,使用視頻內容解密密鑰對視頻信息進行解密和解碼,並且如果需要,對解碼過的視頻信息進行加密,供隨後交付到顯示器43。加密可以遵循一些標準或其他規範,如提出的電影與電視工程師學會(SMPTE)DC28.4標準,也可以遵循與顯示器43兼容的專有的過程。位於加利福尼亞舊金山的DolbyLaboratories所推出的Dolby Show Player,DSP100是合適的影片播放器42的一個示例。
顯示器43從影片播放器42接收解碼過的視頻信息,在必要時,對該信息進行解密,並呈現視頻信息以供觀看。顯示器基本上可以是能夠呈現視頻信息的任何設備,如液晶顯示器(LCD)面板或能夠將圖像投射到屏幕或其他顯示介質中的投影儀。優選情況下,解碼過的視頻信息通過寬帶通信路徑53,以符合高清晰度串行數據接口(HD-SDI)的形式(如SMPTE 292M標準所描述的)直接從影片播放器42傳送到顯示器43。Barco N.V.,Pres.Kennedypark 35,8500Kortrijk,Belgium所推出的DP 100型投影儀是合適的顯示器43的一個示例。
音頻處理器44從影片存儲器42接收音頻信息,在必要時,對音頻信息進行解碼,並根據需要施加過濾和均衡,以產生可以供揚聲器或其他聲換能器放大後呈現的信號。位於加利福尼亞舊金山的Dolby Laboratories所推出的CP650型電影聲音處理器是合適的音頻處理器44的一個示例。優選情況下,音頻信息通過直接連接影片播放器42和音頻處理器44的寬帶通信路徑54從前者傳送給後者,並遵循SMPTE 276M標準。
自動化接45響應通過交換機49接收到的命令產生信號,以控制特殊效果、劇場照明,幕布及影院自動化系統中的其他組件。位於加利福尼亞舊金山的Dolby Laboratories所推出的NetworkAutomation Interface NA10是合適的自動化接口的一個示例。
交換機49切換播放系統40的網絡內的通信。在優選實現方式中,它支持1000Mb/s或更快的網絡,如1000Base-T網絡。
C.影片存儲器下面所描述的本發明的一種實現方式被集成到接收和處理編碼過的視頻和音頻數據的影片播放器42中。視頻數據遵循上文所提及的MPEG-2標準。視頻和音頻數據根據內容流式協議(CSP)以數據包的形式組織。影片存儲器41響應它在符合材料交換格式(MXF)的數據文件中讀取的數據,產生符合CSP的數據流。MXF是一種被提議的標準,當前正處於被SMPTE W25技術委員會針對廣播應用領域接受的過程中。如果需要,本發明的各個方面可以集成到其他設備中或播放系統的某些部件中。本發明的原理可以用來使符合其他標準的視頻和音頻數據流同步。
上文所提及的Dolby Show Store DSS100使用了CSP。使用此協議對本發明不是必不可少的,但是,也是如上文所提及的,其使用確實提供了可以由Dolby Show Player DSP 100進行處理的數據流。通過使用CSP,影片存儲器41將視頻和音頻數據組織為數據包。每一個視頻數據包都具有傳送視頻數據的數據部分和傳送控制信息的標頭部分,控制信息包括「卷ID」、視頻「卷幀計數」、視頻「幀分數偏移」、視頻「幀時間偏移」,以及視頻「幀速率」。每一個音頻數據包都具有傳送音頻數據的數據部分和傳送控制信息的標頭部分,控制信息包括卷ID、音頻「卷幀計數」、音頻「幀分數偏移」、音頻「採樣速率」,以及音頻「幀速率」。
對於這裡所描述的實現方式,影片存儲器41存儲了以「軌跡文件」組織的MXF文件。每一個軌跡文件中的數據都代表節目材料的「卷」的視頻內容或音頻內容,原則上對應於由常規的影片的卷傳送的視覺或聽覺材料。軌跡文件可以代表諸如電影之類的節目的全部或一部分。通常,標準長度的電影的數據被組織在一組多個視頻磁跡文件中和一組多個音頻磁跡文件中,它們中每一個都按順序播放,以產生視頻和音頻數據流。隨著影片存儲器41讀取軌跡文件,它在符合CSP的數據流中產生信息的數據包。視頻數據包傳送相應的視頻幀的視頻數據。音頻數據包傳送可以對應於相應的視頻幀的一段時間內或基本上可能需要的任何其他時間段的音頻數據。
卷ID和卷幀計數是由影片存儲器41產生的。從在時間上彼此關聯的相應的視頻和音頻軌跡文件對,產生數據包,為這些數據包產生了唯一的卷ID。「卷幀計數」以幀為單位代表從該軌跡文件開始相應的幀在軌跡文件內的位置。從軌跡文件獲取上文所提及的諸如「幀分數偏移」之類的其他控制信息,並將它們插入到符合CSP數據包的標頭中。
D.影片播放器如圖3所示的示意方框圖顯示了影片播放器42的一種實現方式。視頻緩衝器61接收和存儲在通過通信路徑51從影片存儲器41接收到的CSP視頻數據流中傳送的視頻內容的數據包。可以使用常規的網絡協議來控制視頻數據包從影片存儲器41傳輸到視頻緩衝器61中。隨後,存儲在視頻緩衝器61中的視頻內容的數據包被傳遞到視頻解碼器63,以便解碼為解碼過的視頻幀,然後,沿著通信路徑53傳遞到如上文所描述的顯示器43。編碼過的數據包與時鐘同步地傳遞到視頻解碼器63,該時鐘以等於由視頻解碼器63輸出解碼過的幀的速率的恆定的速率運轉。此速率是視頻幀速率。在每一個數據包中傳送的編碼過的數據的量不是恆定的。結果,傳遞到視頻解碼器63的編碼過的數據的比特速率或數據速率將改變。
緩衝器62是可選的,在需要以變化非常大的數據速率向視頻解碼器63提供視頻數據的系統中可以使用。通過允許視頻緩衝器61以較低成本的存儲電路(它們不能以滿足視頻解碼器63的需求的峰值速率提供視頻數據)實現,其使用可以降低實施費用。在此可選配置中,視頻緩衝器61以滿足視頻解碼器63的平均數據速率要求的速率向緩衝器62提供視頻數據。緩衝器62存儲了足夠的視頻數據,以便它可以以實現最可能的圖像質量的所需的幀速率所需要的最高數據速率向視頻解碼器63提供最大可能的視頻內容數據包。
音頻緩衝器64接收和存儲在通過通信路徑51從影片存儲器41接收到的CSP音頻數據流中傳送的音頻內容的數據包。可以使用常規的網絡協議來控制音頻數據包從影片存儲器41傳輸到音頻緩衝器64中。如上文所描述的,由處理器65讀取存儲在音頻緩衝器64中的音頻內容的數據包,並沿著通信路徑54傳遞到音頻處理器44。
剩餘的組件對視頻解碼器63和處理器65的操作進行控制,以便可以實現視頻和音頻數據之間的同步,並在播放過程中保持同步。
E.同步1.概述如上所述,這裡所描述的實現方式對封裝在CSP數據流中的視頻和音頻數據進行處理,CSP數據流是從存儲在根據提議的MXF標準格式化的軌跡文件中的數據產生的。這些特定編碼標準所需的此特定實現方式所特有的特點不是本發明的基本特點。
請參看圖3,以恆定的速率與其信號標記了視頻幀周期的開始的時鐘同步地從視頻緩衝器61中讀取編碼過的視頻數據的數據包。在從視頻緩衝器61中讀取視頻數據包時,解碼器模型67對在視頻數據包中傳送的信息進行分析,以獲取那些數據包的視頻定時信息。被傳遞到同步控制器66的此定時信息表明相應的視頻數據包將由視頻解碼器63作為解碼過的視頻幀輸出的時間。下面將描述此模型可以獲取視頻定時信息的一種方式。
原則上,通過基本上沿著從影片存儲器41到顯示器43的輸入端的路徑的任何地方的視頻數據包,可以獲得視頻定時信息,但首選在被輸入到解碼器63之前對數據包進行分析的方案,因為可以更輕鬆地調節視頻和音頻數據流的相對對準。圖中所顯示的特定方案是有吸引力的,因為解碼器模型67可以在視頻數據包以相對適度的數據速率傳遞給緩衝器62的過程中對視頻數據包中的數據進行分析,而不是必須在數據以大大可變的速率(包括高得多峰值速率,存在於緩衝器62的輸出端)傳遞時對數據進行分析。
也可以與上文所提及的視頻幀速率時鐘同步地從音頻緩衝器64中讀取音頻數據。在許多實現方式中,不能預期音頻數據包與視頻數據包對準,並且以不等於視頻幀速率的速率來讀取視頻數據包。在從音頻緩衝器64中讀取音頻數據包時,處理器65對音頻數據包中傳送的信息進行分析,以獲取音頻定時信息。被傳遞到同步控制器66的此定時信息表明相應的音頻數據包將沿著通信路徑54輸出的時間。下面將描述此處理器可以獲取音頻數據包的音頻定時信息的一種方式。
同步控制器66分別從解碼器模型67和處理器65接收視頻定時信息和音頻定時信息,並在每一個視頻幀的開始判斷視頻和音頻數據流的相對對準。此信息被傳遞到知覺模型68,該模型導出兩個數據流之間的任何定時錯位或同步誤差的可感覺性的度量。響應可感覺性的度量,同步控制器66調節視頻數據包和/或音頻數據包的相對定時,以減少被認為是可感覺到的任何調諧錯位。下面將描述執行此任務的方式。優選的實現方式包括可選偏移控制器69。在這些實現方式中,同步控制器66解決定時對準中的由偏移控制器69指定的任何需要的偏移。例如,可能需要偏移,以解決音頻處理器44中的處理延遲。
2.知覺模型視頻和音頻數據流之間的同步的誤差將導致畫面和聲音彼此不協調。取決於誤差的大小,此錯位可能對觀眾造成困擾。有許多事件具有視覺和聽覺線索,如爆炸、腳步聲和語音。語音中的同步誤差可能是最煩人的,一般被稱為「口型吻合」誤差。標題為「Relative Timingof Sound and Vision for Broadcasting」的國際電信聯盟(ITU)文件TTU-R BT.1359-1中,如果誤差超出由「Threshold of Detectability」定義的時間間隔範圍,將同步誤差分類為明顯的,如果誤差超出由「Threshold of Acceptability」定義的時間間隔範圍,則將誤差分類為無法接受。根據此文件,由Threshold of Detectability定義的時間間隔從+45毫秒到-125毫秒,由Threshold of Acceptability定義的時間間隔從+90毫秒到-190毫秒,其中,正數表明音頻先於視頻。
在一個實現方式中,知覺模型68提供了具有三個值的感覺到的錯位的度量。一個值(如零),表明,定時錯位,如果有的話,在由Threshold of Detectability定義的時間間隔範圍之內。第二個值(如+1)表明,音頻比視頻超前了超出了由Threshold of Detectability定義的時間間隔範圍的量。第三個值(如+1)表明,音頻比視頻超前了超出了由Threshold of Detectability定義的時間間隔範圍的量。可以使用各種各樣的模型。
3.視頻定時(視頻解碼器模型)與上文所提及的視頻幀時鐘同步地,解碼器模型67導出每一個視頻幀周期的相應的視頻數據包的視頻定時信息。
通過向視頻數據包中傳送的信息應用解碼器模型67來獲取視頻定時信息。相應的視頻數據包的此定時信息表明將由視頻解碼器63輸出從該相應的視頻數據包解碼的視頻數據的時間。在下面的段落中描述了從根據上文所提及的CSP格式化的視頻數據包獲取視頻定時信息的一種方式。
符合CSP的視頻數據流中的每一個視頻數據包都具有標頭部分和數據部分,所述標頭部分有控制信息,所述數據部分有代表幀中的圖像或可視節目的畫面的數據。相應的數據包的標頭包括解碼-順序視頻「卷幀計數」,對於相應的軌跡文件的數據流中的每一個連續的視頻數據包,該計數增大1,還包括視頻率「幀速」和視頻「幀分數偏移」,從中可以導出視頻定時信息。從可以表達為下列公式的計算中獲取解碼時間戳(DTS) DTS代表相應的數據包中傳送的數據將被視頻解碼器63解碼並輸出的順序或相對時間。數據包被解碼的順序不一定是對應的解碼過的數據被解碼器輸出的順序,後者可以被稱為「呈現順序」。
可以從DTS和也在視頻數據包標頭中傳送的視頻幀時間偏移(TO)值導出按呈現順序的每一個數據包的相對時間或視頻呈現時間(VPT)。下面將說明達到這一目的的一種方式。
每一個視頻數據包都被分為三種類型中的一種,通常被稱為I數據包、P數據包和B數據包,表明了是如何對數據包中的視頻數據進行編碼的,以及將如何對它進行解碼。I數據包傳送被獨立於視頻節目中的所有其他幀進行編碼的數據,因此,可以獨立於視頻數據流中的所有其他數據包地對它進行解碼。P數據包傳送使用從視頻節目中的前面的幀預測的值而進行編碼的數據,在沒有對對應於前面的幀的數據包進行解碼的情況下,不能對它進行解碼。例如,一個P數據包可以依賴於緊前面的I數據包,或者也可以依賴於另一個P數據包,而該另一個P數據包又直接或間接地依賴於一個I數據包。B數據包傳送使用從視頻數據流中的後面的幀預測的值(並且可能從前面的幀)而進行編碼的數據,在沒有對對應於那些前面的和後面的幀的數據包進行解碼的情況下,不能對它進行解碼。
表I中顯示的信息代表視頻數據流中的數據包序列的一個示例。
表I此序列中的數據包按解碼順序來顯示,如DTS的值所表達的。由TO值來表達從DTS導出VPT所需要的調整。此推導可以表達為
例如,類型P的第二個數據包的VPT是DTS+TO=2+2=4。類型B的第三個數據包的VPT是DTS+TO=3+(-1)=2。
對於這裡所顯示的示例,DTS的值是任意選擇的整數,而視頻幀速率是任意選擇的等於1,以簡化討論。
這些數據包的VPT表示將從這些數據包解碼的幀的呈現順序。幀的呈現順序是I1B3B4P2B6B7P5,其中,序列中的每一個元素的下標是對應的數據包的DTS。
符合MPEG-2的視頻數據流中的編碼過的視頻數據包被組織為以I數據包開始的Group of Pictures(GOP)中。例如,表I中所按解碼順序顯示的數據包序列可以是一個GOP。雖然解碼順序中的每一個GOP都以I數據包開始,但是,I數據包不一定對應於GOP的將由視頻解碼器輸出的第一個幀。這可以通過可以是一個GOP的數據包序列的另一個示例看出,由表II中顯示的信息來代表。
表II此序列中的數據包也是按解碼順序來顯示的。以與上文所討論的相同的方式根據DTS和TO導出VPT。在此示例中,第一個B數據包可能依賴於前面的GOP中的一個數據包。
這些數據包的VPT表示,將從這些數據包解碼的幀的呈現順序是B2B3I1B5B6P4,其中,序列中的每一個元素的下標是對應的數據包的DTS。
如果時間T1是GOP中的第一個數據包被輸入到視頻解碼器的時間,而T2是為該GOP輸出解碼過的數據的第一個幀的時間,那麼,這兩個時間之間的時間間隔(T2-T1)是常數,可以被稱為該解碼器的解碼延遲。由於在視頻解碼器63中發生了幀的重新排序,所以,一個GOP內的單個幀的解碼延遲不是常數。解碼器模型67根據進入解碼器的數據包的DTS,導出由視頻解碼器63輸出的幀的VPT。在一個實現方式中,如上文所描述的,解碼器模型67根據DTS來計算VPT,並解決緩衝器62中的緩衝延遲、解碼延遲,以及在視頻解碼器63中發生的幀重新排序。模型的這種實現方式甚至對於異常情況(如中途開始播放)能夠通過GOP判斷正確的VPT值,因為模型解決視頻解碼器63的實際操作。
在另一個實現方式中,解碼器模型67使用先進先出(FIFO)緩衝器,該緩衝器具有解決緩衝器62和視頻解碼器63中的延遲的長度。隨著視頻數據包被傳遞到緩衝器62,關聯的DTS值被推入FIFO。隨著由視頻解碼器63輸出視頻幀,從FIFO中讀取時間值,作為該幀的VPT。從計算上來說,此實現方式的複雜程度比上文所描述的實現方式稍小一些,但它不能通過GOP判斷異常情況(如中途開始播放)的正確的VPT。
對於任何一個實現方式,VPT代表從視頻解碼器63輸出相應的視頻數據包的解碼過的視頻幀,以供顯示器43呈現。
4.音頻定時符合CSP的音頻數據流中的每一個音頻數據包都具有標頭部分和數據部分,所述標頭部分有控制信息,所述數據部分有代表音頻樣本的幀的數據。數據部分可以傳送代表幀中的單個樣本的PCM數據,它也可以傳送一組數據,該組數據代表已經使用一些塊編碼進程(如轉換編碼或塊縮放)編碼過的音頻樣本的幀。由數據包標頭中的信息指定音頻幀中的由一個數據包代表的樣本的數量。通常,標頭指定了音頻採樣速率和音頻幀速率。通過將音頻採樣速率除以音頻幀速率,可以計算出音頻幀中的樣本數量。
標頭部分還包括控制信息,根據該控制信息,可以導出音頻呈現時間(APT)。在下面的段落中描述了可以從符合CSP的音頻數據包獲取音頻定時信息的一種方式。
相應的數據包的標頭包括音頻卷幀計數,對於相應的軌跡文件的數據流中的每一個連續的數據包,該計數增大1。從可以表達為下列公式的計算中獲取按呈現順序的每一個數據包的開始的相對時間,或音頻幀時間(AFT) 在從音頻緩衝器64中讀取一個音頻數據包時,處理器65確定對應於該數據包的每一個音頻幀的AFT。與上文所提及的視頻幀時鐘同步地,處理器65確定音頻數據流中的與當前視頻幀周期的開始最接近地對準的樣本周期的音頻呈現時間(APT)。在典型的情況下,此對準位置並不與音頻幀的開始重合,而是在一個幀內的某處出現。在這些情況下,通過外推法根據其中出現了對準位置的幀的開始的AFT獲取對準位置的定時信息。可以以各種方式執行此外推法。一種方式可以表達為 其中,K=音頻幀的開始和當前視頻幀的開始之間的樣本周期數量。
5.同步控制同步控制器66負責實現和保持視頻和音頻數據流之間的同步。下面的討論描述了如何使用本發明的原理來在播放過程中保持同步;然而,也可以使用這些相同的原理在播放開始時實現同步。如果需要,也可以使用基本上任何已知的同步技術來實現播放開始時的初始同步。
根據需要監視和調整視頻和音頻數據流的相對對準,以通過延遲對視頻數據包和音頻數據包的處理,保持所需要的極限內的同步。在一個實現方式中,通過在整數的視頻幀周期內暫停從視頻緩衝器61讀取視頻數據,延遲對視頻數據包的處理,通過在可以等於音頻樣本周期的整數倍或音頻幀周期的整數倍的指定的時間段內暫停從音頻緩衝器64讀取數據,延遲對音頻數據的處理。
對於每一個視頻幀,同步控制器66獲取當前視頻幀的視頻定時信息以及音頻數據流中的實際與視頻幀的開始對準的位置的音頻定時信息。此定時信息被傳遞到知覺模型68,該模型判斷兩個數據流之間的任何錯位是否是可感覺到的。在一個實現方式中,這是通過判斷視頻和音頻時間之間的差異是否超出由上文所提及的ITU Threshold ofDetectability定義的時間間隔之外。
如果知覺模型68表明沒有可感覺到的錯位,則繼續對兩個數據流進行正常的處理從視頻緩衝器61讀取視頻數據,並將它傳給視頻解碼器63,從音頻緩衝器64讀取音頻數據,並將它通信路徑54傳給音頻處理器44。
如果音頻和視頻時間表明音頻數據流早於視頻數據流,並且知覺模型68表明數據流之間的錯位是可感覺到的,那麼,繼續對視頻數據流進行正常的處理,但同步控制器66指示處理器65將對音頻數據流的處理延遲指定的時間間隔DA,它要麼是音頻幀周期的整數倍,要麼是音頻樣本周期的整數倍。確定此時間間隔的持續時間DA的一種方式可以表達為 其中,VPT=當前視頻幀的呈現時間;APT=當前音頻樣本的呈現時間;PA=根據需要的音頻幀周期或音頻樣本周期;以及 在此時間間隔中,處理器65將諸如零值樣本之類的數據或以前的樣本的值插入到沿著路徑54傳遞的音頻數據流中。如果音頻數據包傳送由塊編碼過程產生的數據,則優選情況下,零值數據被插入在從音頻緩衝器64中讀取的下一個音頻數據包的前面。在此實現方式中,音頻處理器44可以通過屏蔽其輸出或通過重複以前的樣本來對對插入的數據作出響應。被屏蔽的時間間隔後面的音頻的振幅可以逐漸地從非常低的電平朝著需要的正常電平的方向增大。如果影片播放器42或音頻處理器44在它輸出先於延遲的音頻樣本之前得到了延遲的通知,那麼,根據需要,被屏蔽的時間間隔前面的音頻的振幅可以逐漸地朝著非常低的電平的方向縮小。
如果視頻和音頻時間表明視頻數據流早於音頻數據流,並且知覺模型68表明數據流之間的錯位是可感覺到的,那麼,則同步控制器66指示視頻解碼器63將對視頻數據流的處理延遲指定的時間間隔Dv,Dv是視頻幀周期的整數倍,它指示處理器65將對音頻數據流處理延遲指定的時間間隔DA,如上所述,它要麼是音頻幀周期的整數倍,要麼是音頻樣本周期的整數倍。確定兩個時間間隔的持續時間的一種方式可以表達為 其中,Pv=視頻幀周期。
在時間間隔Dv過程中,視頻解碼器63將一個或多個視頻幀的數據插入到沿著路徑53傳遞的視頻數據流中。這些插入的幀可以是以前的視頻幀的重複,也可以代表任何任意圖像,如沒有亮度的圖像,通常叫做「黑色幀」。在時間間隔Da中,如上文所描述的,處理器65將諸如零值樣本之類的數據插入到沿著路徑54傳遞的音頻數據流中。
在典型的實現方式中,視頻幀周期大致為40毫秒,而音頻樣本周期大致為20μs。對音頻數據流的對準的調整通常可以以比對於視頻數據流進行的細得多的增量進行。
對相對對準的調整也可以由數據流中傳送的源材料的變化,如從宣傳尾部變換到主要電影功能,通過視頻或音頻幀速率或音頻採樣率的變化,或指定操作員指定的偏移的變化來觸發。
每當從一個軌跡文件切換到另一個軌跡文件時,影片存儲器41的一個實現方式產生不同的卷ID、並為從新的軌跡文件產生的數據包重置初始幀計數(Frame Count)為零。在有些情況下,影片存儲器41可以在不同的時間在視頻軌跡文件和音頻軌跡文件之間切換。在此情況下,影片播放器42的優選實現方式暫停進行任何對準的變化,直到兩個數據流中的數據包具有匹配的卷ID。
F.實現方式集成了本發明的各個方面的設備可以以各種方式來實現,包括由計算機或某些其他設備執行的軟體,其他設備包括比較專業化的組件,如連接到類似於通用計算機中的那些組件的組件的數位訊號處理器(DSP)電路。圖4是可以用來實現本發明的各個方面的設備70的示意方框圖。處理器72提供了計算資源。RAM 73是供處理器72用來執行處理過程的系統隨機存取存儲器(RAM)。ROM 74代表某種形式的永久存儲器,如用於存儲對設備70進行操作所需要的程序的只讀存儲器(ROM),還可能用於實現本發明的各個方面。I/O控制項75代表用於通過通信信道76、77接收和傳輸信號的接口電路。在所顯示的實施例中,所有主要系統組件都連接到總線71,該總線可以代表一個以上的物理或邏輯總線;然而,總線體系結構不是實現本發明所需要的。
在由通用計算機系統實現的實施例中,可以包括額外的組件,用於連接到諸如鍵盤或滑鼠和顯示器,以及用於控制具有諸如磁帶或磁碟或光學介質之類的存儲介質的存儲設備78。存儲介質可以用來記錄作業系統、實用程序和應用程式的指令的程序,並可以包括實現本發明的各個方面的程序。優選情況下,可以使計算機系統能容忍硬體故障。達到這一目的一種方式是提供冗餘組件(如雙電源)和冗餘存儲設備,並使用能夠檢測並對故障作出反應的作業系統。
實施本發明的各個方面所需的功能可以通過以多種方式實現的組件來執行,包括離散邏輯組件、集成電路、一個或多個ASIC和/或程序控制的處理器。實現這些組件的方式對本發明來說不重要。
本發明的軟體實現方式可以通過諸如基帶或調製通信路徑之類的各種機器可讀的介質,在包括從超聲波到紫外線頻率的頻譜範圍內進行傳遞,或通過使用了基本上任何記錄技術(包括磁帶、磁卡或磁碟、光卡或光碟),以及包括紙張的介質上的可檢測的標記來傳送信息的存儲介質來進行傳遞。
權利要求
1.一種用於處理音頻/視頻節目的音頻內容和視頻內容的方法,其中,該方法包括接收傳送第一控制信息和音頻內容的音頻數據包序列,並從第一控制信息中獲取音頻數據包序列中相應的音頻數據包的音頻時間信息;接收傳送第二控制信息和視頻內容的視頻數據包序列,並從第二控制信息中獲取視頻數據包序列中相應的視頻數據包的視頻時間信息;根據音頻時間信息和視頻時間信息確定相應的音頻數據包與相應的視頻數據包的相對時間對準,並向相對時間對準應用知覺模型,以獲取相應的音頻數據包和相應的視頻數據包之間的感覺到的錯位的度量;如果感覺到的錯位的度量表明相應的音頻數據包在相應的視頻數據包的所需要的時間對準之前一個超過第一閾值的時間間隔,將相應的音頻數據包的全部或一部分延遲第一量,以便根據知覺模型,延遲的相應音頻數據包和相應的視頻數據包之間的感覺到的錯位減少;以及如果感覺到的錯位的度量表明相應的音頻數據包在相應的視頻數據包的所需要的時間對準之後一個超過第二閾值的時間間隔,將相應的視頻數據包延遲第二量,將相應的音頻數據包的全部或一部分延遲第三量,以便根據知覺模型,延遲的相應的音頻數據包和延遲的相應的視頻數據包之間的感覺到的錯位減少。
2.根據權利要求1所述的方法,其中在相應的音頻數據包中傳送的數據代表具有音頻幀周期的聽覺信息的間隔,在相應的視頻數據包中傳送的數據代表具有視頻幀周期的視覺信息的間隔;第一量等於音頻幀周期的整數倍;第二量等於視頻幀周期的整數倍;以及第三量等於音頻幀周期的整數倍。
3.根據權利要求1所述的方法,其中在相應的音頻數據包中傳送的數據代表多個樣本,每一個樣本都具有音頻樣本周期,在相應的視頻數據包中傳送的數據代表具有視頻幀周期的視覺信息的間隔;第一量等於音頻樣本周期的的整數倍;第二量等於視頻幀周期的整數倍;以及第三量等於音頻樣本周期的的整數倍。
4.根據權利要求1所述方法,該方法包括通過外推法從傳送相應的音頻數據包的開始的時間的第一控制信息獲取音頻時間信息。
5.根據權利要求1所述的方法,包括將信息插入到從被延遲的所有或部分相應的音頻數據包產生的音頻數據流中;以及減少插入的信息前面的音頻內容的播放電平,增大插入的信息後面的音頻內容的播放電平。
6.根據權利要求1所述的方法,其中從通信網絡接收音頻數據包序列和視頻數據包序列,並存儲在設備中的一個或多個緩衝器中;以及使用用於控制網絡中的通信的協議來控制存儲信息在一個或多個緩衝器中的存儲。
7.根據權利要求1所述方法,該方法確定第一量、第二量和第三量,以便感覺到的錯位減少到這樣的程度,即根據知覺模型不會感覺到所述錯位。
8.一種傳送可由設備執行的指令的程序的介質,所述程序被執行以執行用於處理音頻/視頻節目的音頻內容和視頻內容的方法,其中,該方法包括接收傳送第一控制信息和音頻內容的音頻數據包序列,並從第一控制信息中獲取音頻數據包序列中相應的音頻數據包的音頻時間信息;接收傳送第二控制信息和視頻內容的視頻數據包序列,並從第二控制信息中獲取視頻數據包序列中相應的視頻數據包的視頻時間信息;根據音頻時間信息和視頻時間信息確定相應的音頻數據包與相應的視頻數據包的相對時間對準,並向相對時間對準應用知覺模型,以獲取相應的音頻數據包和相應的視頻數據包之間的感覺到的錯位的度量;如果感覺到的錯位的度量表明相應的音頻數據包在相應的視頻數據包的所需要的時間對準之前一個超過第一閾值的時間間隔,將相應的音頻數據包的全部或一部分延遲第一量,以便根據知覺模型,延遲的相應的音頻數據包和相應的視頻數據包之間的感覺到的錯位減少;以及如果感覺到的錯位的度量表明相應的音頻數據包在相應的視頻數據包的所需要的時間對準之後一個超過第二閾值的時間間隔,將相應的視頻數據包延遲第二量,將相應的音頻數據包的全部或一部分延遲第三量,以便根據知覺模型,延遲的相應的音頻數據包和延遲的相應的視頻數據包之間的感覺到的錯位減少。
9.根據權利要求8所述的介質,其中在相應的音頻數據包中傳送的數據代表具有音頻幀周期的聽覺信息的間隔,在相應的視頻數據包中傳送的數據代表具有視頻幀周期的視覺信息的間隔;第一量等於音頻幀周期的整數倍;第二量等於視頻幀周期的整數倍;以及第三量等於音頻幀周期的整數倍。
10.根據權利要求8所述的介質,其中在相應的音頻數據包中傳送的數據代表多個樣本,每一個樣本都具有音頻樣本周期,在相應的視頻數據包中傳送的數據代表具有視頻幀周期的視覺信息的間隔;第一量等於音頻樣本周期的整數倍;第二量等於視頻幀周期的整數倍;以及第三量等於音頻樣本周期的整數倍。
11.根據權利要求8所述的介質,其中,所述方法包括通過外推法從傳送相應的音頻數據包的開始的時間的第一控制信息獲取音頻時間信息。
12.根據權利要求8所述的介質,其中,所述方法包括將信息插入到從被延遲的所有或部分相應的音頻數據包產生的音頻數據流中;以及減少插入的信息前面的音頻內容的播放電平,增大插入的信息後面的音頻內容的播放電平。
13.根據權利要求8所述的介質,其中從通信網絡接收音頻數據包序列和視頻數據包序列,並存儲在設備中的一個或多個緩衝器中;以及使用用於控制網絡中的通信的協議來控制信息在一個或多個緩衝器中的存儲。
14.根據權利要求8所述的介質,其中,所述方法確定第一量、第二量和第三量,以便感覺到的錯位減少到這樣的程度,即根據知覺模型不會感覺到所述錯位。
全文摘要
數字電影網絡中的播放系統,通過導出視頻和音頻數據流中傳送的信息的數據包的定時信息,檢查定時信息以判斷在兩個數據流之間是否有很可能可感覺到的錯位,如果錯位被認為是可感覺到的,則向一個或兩個數據流中引入延遲,以校正錯位,從而同步視覺和聽覺內容的放映。如果音頻數據流先於視頻數據流,則音頻數據流被延遲音頻樣本周期的整數倍。如果視頻數據流先於音頻數據流,則視頻數據流被延遲視頻幀的整數倍,音頻數據流被延遲音頻樣本周期的整數倍。減少插入的信息前面的音頻內容的播放電平,增大插入的信息後面的音頻內容的播放電平。
文檔編號H04N7/24GK1969561SQ200580020154
公開日2007年5月23日 申請日期2005年4月8日 優先權日2004年6月18日
發明者特雷弗·達維斯, 約翰·D·庫林, 格普·拉克什米納拉亞納, 馬丁·J.·理查茲 申請人:杜比實驗室特許公司