專利名稱:用于視頻通信系統(tǒng)中的差錯彈性和隨機接入的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻數(shù)據(jù)通信系統(tǒng)。具體地,本發(fā)明涉及在視頻會議應(yīng)用中提供差錯 彈性和隨機訪問能力的技術(shù)。
背景技術(shù):
通過基于分組的現(xiàn)代通信網(wǎng)絡(luò)(例如,基于網(wǎng)際協(xié)議(IP)的網(wǎng)絡(luò))在發(fā)送者與接 收者之間提供高質(zhì)量數(shù)字視頻通信至少由于此類網(wǎng)絡(luò)上的數(shù)據(jù)傳輸通常是以盡力為基礎(chǔ) 執(zhí)行的這個事實而成為技術(shù)上的難題。現(xiàn)代通信網(wǎng)絡(luò)中的傳輸差錯通常將其自身表現(xiàn)為分 組丟失而非比特差錯,后者是早期通信系統(tǒng)中的特性。分組丟失常常是中間路由器中的擁 塞的結(jié)果,而非物理層差錯的結(jié)果。當(dāng)在數(shù)字視頻通信系統(tǒng)中發(fā)生傳輸差錯時,確保接收器可從差錯快速恢復(fù)并返回 傳入視頻信號的無差錯顯示是很重要的。然而,在傳統(tǒng)數(shù)字視頻通信系統(tǒng)中,接收器的穩(wěn)健 性因傳入數(shù)據(jù)被嚴(yán)重壓縮以節(jié)約帶寬這個事實而降低。此外,用在通信系統(tǒng)中的視頻壓縮 技術(shù)(例如,最新編解碼器ITU-T H. 264和H. 263或者ISO MPEG-2和MPEG-4編解碼器) 可在連續(xù)視頻分組或幀之間形成十分強的時間依存性。具體地,運動補償預(yù)測(例如,涉及 P幀或B幀的使用)編解碼器的使用形成其中所顯示的幀依賴于先前幀的幀依存性鏈。依 存性鏈可一直擴展到視頻序列的開頭。作為依存鏈的結(jié)果,給定分組的丟失可影響接收器 處多個連續(xù)分組的解碼。由于給定分組的丟失而導(dǎo)致的差錯傳播僅以“內(nèi)”(I)刷新點或者 完全不使用任何時間預(yù)測的幀終止。數(shù)字視頻通信系統(tǒng)中的差錯彈性要求在傳送信號中有至少某一級別的冗余度。然 而,這種要求與力圖消除或最小化所傳送信號中的冗余度的視頻壓縮技術(shù)的目的相反。在提供區(qū)分型服務(wù)的網(wǎng)絡(luò)(例如,基于區(qū)分型服務(wù)IP的網(wǎng)絡(luò)、租用線路上的專用 網(wǎng)等)上,視頻數(shù)據(jù)通信應(yīng)用可采用網(wǎng)絡(luò)特征來以無損或近似無損的方式向接收器遞送視 頻信號數(shù)據(jù)的部分或全部。然而,在未提供區(qū)分型服務(wù)的任意盡力型網(wǎng)絡(luò)(諸如因特網(wǎng)) 中,數(shù)據(jù)通信應(yīng)用必須依賴其自身的特征來實現(xiàn)差錯彈性。在文本或字母數(shù)字?jǐn)?shù)據(jù)通信中 有用的已知技術(shù)(例如,傳輸控制協(xié)議-TCP)不適于視頻或音頻通信,這對由人類接口需求 所導(dǎo)致的較低的端對端延遲有額外的約束。例如,TCP技術(shù)可用于文本或字母數(shù)字?jǐn)?shù)據(jù)輸送中的差錯彈性。TCP保持重發(fā)數(shù)據(jù)直至確認(rèn)所有數(shù)據(jù)被接收,即使其包括若干秒的延遲。 然而,TCP不適用于現(xiàn)場或交互式視頻會議應(yīng)用中的視頻數(shù)據(jù)輸送,因為無限制的端對端延 遲對于參與者而言是無法接受的。相關(guān)的問題是隨機接入。假定接收器加入現(xiàn)行視頻信號的傳輸。典型示例是加入 視頻會話的用戶,或者調(diào)諧至廣播的用戶。此類用戶將必須在傳入比特流中找到他/她能 夠開始解碼或與編碼器同步的點。然而,提供這種隨機接入點對壓縮效率具有相當(dāng)大的影 響。注意根據(jù)定義,隨機接入點是從該點開始任何差錯傳播終止的差錯彈性特征(即,其 是差錯恢復(fù)點)。因此,由特定編碼方案提供的隨機接入支持越好,其可提供差錯恢復(fù)支持 越佳。逆過程可能并非總為真;其依賴于關(guān)于差錯彈性技術(shù)已被設(shè)計成要解決的差錯的持 續(xù)時間和范圍所作出的假設(shè)。對于差錯彈性,某些狀態(tài)信息可被假定為在接收器處發(fā)生差 錯時可用。視頻通信系統(tǒng)中差錯彈性的一方面涉及對壓縮效率具有相當(dāng)大的影響的隨機接 入(例如,當(dāng)接收方加入現(xiàn)行視頻信號的傳輸時)。例如,隨機接入的實例是加入視頻會議 的用戶,或者調(diào)諧至廣播的用戶。這樣的用戶將必須在傳入比特流信號中尋找開始解碼或 要與編碼器同步的合適的點。隨機接入點是從該點開始任何傳播差錯終止的有效的差錯彈 性特征(或差錯恢復(fù)點)。因此,提供良好的隨機接入支持的特定編碼方案通常具有提供較 快速差錯恢復(fù)的差錯彈性技術(shù)。然而,逆過程依賴于關(guān)于差錯彈性技術(shù)被設(shè)計要解決的差 錯的持續(xù)時間和范圍的特定假設(shè)。差錯彈性技術(shù)可假定某些狀態(tài)信息在接收器處發(fā)生差錯 時可用。在此情形中,差錯彈性技術(shù)不確保良好的隨機接入支持。在用于數(shù)字電視系統(tǒng)(數(shù)字電纜TV或衛(wèi)星TV)的MPEG-2視頻編解碼器中,以周 期間隔(通常為0. 5秒)使用I畫面來實現(xiàn)快速切換成流。然而,I畫面顯著大于其P或B 對應(yīng)物(通常大3到6倍),并由此被避免使用,在低帶寬和/或低延遲應(yīng)用中尤其如此。在諸如視頻會議的交互式應(yīng)用中,請求幀內(nèi)更新的概念通常被用于差錯彈性。在 操作中,更新涉及從接收方對發(fā)送方的、關(guān)于使得解碼器被同步的內(nèi)畫面?zhèn)鬏數(shù)恼埱?。此?作的帶寬開銷是顯著的。另外,當(dāng)分組差錯發(fā)生時,也存在此開銷。如果分組丟失是由擁塞 導(dǎo)致的,則使用內(nèi)畫面只會惡化擁塞問題。另一種用于差錯穩(wěn)健性的傳統(tǒng)技術(shù)——在過去用于減輕由IDCT實現(xiàn)(例如,在 H. 261標(biāo)準(zhǔn)中)中的失配而導(dǎo)致的漂移——是周期性地編碼每個宏塊幀內(nèi)模式。H. 261標(biāo) 準(zhǔn)要求每132次強制幀內(nèi)編碼傳送一宏塊。隨著強制要被編碼為給定幀中幀內(nèi)的宏塊的百分比的增大,編碼效率下降。相反, 當(dāng)此百分比較低時,從分組丟失恢復(fù)的時間增加。強制幀內(nèi)編碼過程要求額外的精力以避 免運動相關(guān)漂移,該漂移由于必須避免某些運動矢量值——即使它們是最有效的——而進(jìn) 一步限制了編碼器的性能。除傳統(tǒng)之外,單層編解碼器、分層或可縮放編碼是多媒體數(shù)據(jù)編碼中的公知技術(shù)。 可縮放編碼用于生成以帶寬效率方式共同代表給定媒體的兩個或多個“經(jīng)縮放”比特流???縮放性可以多個維度——即時間、空間和質(zhì)量(也稱為SNR “信噪比”可縮放性)——來提 供。例如,視頻信號可以CIF或QCIF分辨率且每秒7. 5、15和30幀(fps)的幀速率下的不 同層來可縮放地編碼。取決于編解碼器的結(jié)構(gòu),空間分辨率和幀速率的任何組合可從編解 碼器比特流獲得。與不同層相對應(yīng)的比特可作為單獨的比特流傳送(即,每層一個流)或它們可在一個或多個比特流中被復(fù)用在一起。為了便于本文的描述,與給定層相對應(yīng)的經(jīng) 編碼比特可稱為該層的比特流,即使各個層被復(fù)用且在單個比特流中傳送。專門設(shè)計成提 供可縮放特征的編解碼器包括例如MPEG-2(也稱為ITU-T H. 262的IS0/IEC 13818-2)和 目前開發(fā)的SVC (稱為ITU-T H. 264 Annex G或MPEG-4第10部分SVC)。在共同轉(zhuǎn)讓國際
專利申請 No. PCT/US06/028365- "SYSTEM AND METHOD FOR SCALABLE AND LOW-DELAY
VIDEOCONFERENCING USING SCALABLE VIDEO CODING(用于使用可縮放視頻編碼的可縮放和 低延遲視頻會議的系統(tǒng)和方法)”一中描述了為視頻通信專門設(shè)計的可縮放編碼技術(shù)。注 意,即使并非專門設(shè)計成可縮放的編解碼器也可以時間維度呈現(xiàn)可縮放性的特性。例如,考 慮DVD和數(shù)字TV環(huán)境中使用的非可縮放編解碼器——MPEG-2 Main Profile (主型)編解 碼器。此外,假定以30fps操作的編解碼器以及使用IBBPBBPBBPBBPBB (周期N= 15幀)的 GOP結(jié)構(gòu)。通過連續(xù)消除B畫面,接著消除P畫面,得到總共三個時間分辨率——30fps (包 括所有畫面類型)、IOfps (僅有I和P)以及2fps (僅有I)——是可能的。連續(xù)消除過程導(dǎo) 致可解碼的比特流,因為MPEG-2Main Profile編解碼器被設(shè)計成使得P畫面的編碼不依賴 于B畫面,并且類似的I畫面的編碼不依賴于其它P或B畫面。在以下,具有時間可縮放特 征的單層編解碼器被認(rèn)為是可縮放視頻編碼的特例,因此被包括在術(shù)語可縮放視頻編碼, 除非另外明確指明??煽s放編解碼器通常具有錐形比特流結(jié)構(gòu),其中組成比特流之一(稱為“基層”) 在恢復(fù)某種基本質(zhì)量的原始媒體時是必需的。連同基層一起使用一個或多個剩余比特流 (稱為“增強層”)提升了所恢復(fù)媒體的質(zhì)量。增強層中的數(shù)據(jù)丟失是容許的,但是基層中 的數(shù)據(jù)丟失會導(dǎo)致所恢復(fù)媒體的顯著畸變或完全失敗。可縮放編解碼器提出了類似于由單層編解碼器針對差錯彈性和隨機接入所提出 的那些挑戰(zhàn)。然而,可縮放編解碼器的編碼結(jié)構(gòu)具有單層視頻編解碼器中不存在的獨特特 性。此外,與單層編碼不同,可縮放編碼可能涉及從一個可縮放性層切換到另一個(例如, 在CIF與QCIF分辨率之間來回切換)。聯(lián)播是用于視頻會議的編碼解決方案,它不如可縮放視頻編碼復(fù)雜但具有后者的 優(yōu)點中的某些。在聯(lián)播中,兩個不同版本的源被編碼(例如,以兩種不同空間分辨率)并傳 送。每個版本是獨立的,因為其解碼并不依賴于另一版本的接收。類似于可縮放和單層編 碼,聯(lián)播提出了類似的隨機接入和穩(wěn)健性問題。在下文中,聯(lián)播被認(rèn)為是可縮放編碼(其中 不執(zhí)行層間預(yù)測)的特例,并且兩者皆簡稱為可縮放視頻編碼技術(shù),除非另外明確指明?,F(xiàn)在針對改進(jìn)對視頻通信系統(tǒng)中經(jīng)編碼比特流的差錯彈性和隨機接入能力作出 考慮。關(guān)注開發(fā)對由端對端延遲和系統(tǒng)所用的帶寬具有最小影響的差錯彈性和隨機接入技 術(shù)。合需的差錯彈性和隨機接入技術(shù)將可應(yīng)用于可縮放和單層視頻編碼兩者。發(fā)明_既述本發(fā)明提供了用于在基于單層以及可縮放視頻編碼的視頻通信系統(tǒng)中提升差錯 彈性并提供隨機接入能力的系統(tǒng)和方法。在第一示例性實施例中,本發(fā)明提供了一種用于在不增加端對端延遲的情況下可 靠地傳送經(jīng)編碼的視頻信號的最低或單個時間層的全部或部分,并在隨后使用它來從分組 丟失中恢復(fù)的機制。提供特定技術(shù)以通過RTP以及在使用11.264 Annex G(SVC)NAL單元 時進(jìn)行傳送。
在第二示例性實施例中,本發(fā)明提供了一種使用基于服務(wù)器的內(nèi)幀來可靠地傳送 經(jīng)編碼的視頻信號的最低或單個時間層,并隨后在不會不利地影響其它接收器的情況下使 用它來使特定接收器從分組丟失中恢復(fù)的機制。在第三示例性實施例中,本發(fā)明提供了一種通過以精心協(xié)調(diào)的方式使用內(nèi)宏塊編 碼使得從單層或可縮放視頻編碼的分組丟失中恢復(fù)成為可能的機制。在第四示例性實施例中,本發(fā)明提供了一種收集和聚集來自一個或多個接收方的 反饋以便任選地選擇畫面參考幀以及分配內(nèi)宏塊的機制。在第五示例性實施例中,本發(fā)明提供了一種通過使用來自低分辨率空間層的信息 來從高分辨率空間可縮放層的分組丟失中恢復(fù)的機制。此外,在第六示例性實施例中,本發(fā)明提供了一種在很少的延遲或沒有延遲的情 況下從低空間或質(zhì)量分辨率切換到高空間或質(zhì)量分辨率的機制。通過與速率_失真最優(yōu)化量化器以及運動模式和矢量選擇相耦合,這些實施例在 或者獨立或者相互組合的情況下允許構(gòu)建具有高穩(wěn)健性和較小帶寬開銷的十分有效的視 頻通信系統(tǒng)。本文的描述說明了如何使用這些技術(shù)來實現(xiàn)對給定視頻系統(tǒng)的隨機接入,以及藉 由其接收器——無需對較低層進(jìn)行完全解碼——就可使用來自所述較低層的信息來有效 地重構(gòu)較高層的高空間分辨率數(shù)據(jù)的機制。本發(fā)明利用可縮放視頻編碼技術(shù)的特定屬性 來最小化對端對端延遲和帶寬的影響。在諸如通過端對端要求苛刻(端對端的最大值為 200ms)以及分組丟失率會很嚴(yán)重(即,較低的平均分組丟失率但有較長的突發(fā))的IP網(wǎng)絡(luò) 的視頻會議的通信應(yīng)用中,本發(fā)明尤其有用。一旦適當(dāng)?shù)剡x擇畫面編碼結(jié)構(gòu)和傳輸模式,本發(fā)明的技術(shù)就使得在極小的帶寬開 銷的情況下允許接近即時地進(jìn)行層切換成為可能。附圖簡述
圖1是示出根據(jù)本發(fā)明原理的用于遞送可縮放的經(jīng)編碼視頻數(shù)據(jù)的示例性視頻 會議系統(tǒng)的框圖;圖2是示出根據(jù)本發(fā)明原理的與單層視頻編碼的使用相兼容的示例性最終用戶 終端的框圖;圖3是示出根據(jù)本發(fā)明原理的與可縮放或聯(lián)播編碼的使用相兼容的示例性最終 用戶終端的框圖;圖4是示出根據(jù)本發(fā)明原理的多點SVCS的內(nèi)部交換結(jié)構(gòu)的框圖;圖5是示出SVCS的操作原理的框圖;圖6是示出根據(jù)本發(fā)明原理的示例性視頻編碼器的結(jié)構(gòu)的框圖;圖7是示出根據(jù)本發(fā)明原理的用于編碼基層和時間增強層的視頻編碼器的示例 性架構(gòu)的框圖;圖8是示出根據(jù)本發(fā)明原理的用于空間增強層的視頻編碼器的示例性架構(gòu)的框 圖;圖9是示出根據(jù)本發(fā)明原理的示例性分層畫面編碼結(jié)構(gòu)的框圖;圖10是示出根據(jù)本發(fā)明原理的另一示例性分層畫面編碼結(jié)構(gòu)的框圖;圖11是示出根據(jù)本發(fā)明原理的包括時間和空間可縮放性的示例性畫面編碼結(jié)構(gòu)
6的框圖;圖12是示出根據(jù)本發(fā)明原理的用于差錯彈性視頻通信的示例性分層畫面編碼結(jié) 構(gòu)的框圖;圖13是示出根據(jù)本發(fā)明原理的具有空間/質(zhì)量可縮放性的用于差錯彈性視頻通 信的示例性分層畫面編碼結(jié)構(gòu)的框圖;圖14是示出根據(jù)本發(fā)明原理的用于使用肯定確認(rèn)進(jìn)行LR畫面的可靠遞送的通信 協(xié)議的操作的時序圖;圖15是示出根據(jù)本發(fā)明原理的用于使用否定確認(rèn)進(jìn)行的LR畫面的可靠遞送的通 信協(xié)議的操作的時序圖;圖16是示出根據(jù)本發(fā)明原理的、當(dāng)R分組技術(shù)被用于通過RTP傳輸時傳送終端的 LRP發(fā)送模塊的示例性架構(gòu)的框圖;圖17是示出根據(jù)本發(fā)明原理的、當(dāng)R分組技術(shù)被用于通過RTP傳輸時接收終端的 UR接收模塊的示例性架構(gòu)的框圖;圖18是示出根據(jù)本發(fā)明原理的、當(dāng)R分組技術(shù)被用于通過RTP傳輸時服務(wù)器的 LRP發(fā)送和接收模塊的示例性架構(gòu)的框圖;圖19示出根據(jù)本發(fā)明原理的用于RTP分組的命名RTP報頭擴展的示例性結(jié)構(gòu);圖20示出根據(jù)本發(fā)明原理的RNACK分組的反饋控制信息字段的示例性結(jié)構(gòu);圖21示出現(xiàn)有技術(shù)系統(tǒng)中在發(fā)生分組丟失時H. 264 SVC解碼器如何達(dá)到非正確 狀態(tài);圖22示出目前針對現(xiàn)有技術(shù)系統(tǒng)定義的H. 264 SVC NAL報頭擴展;圖23示出根據(jù)本發(fā)明原理的具有幀索引的經(jīng)更改H.264 SVC NAL報頭擴展定義;圖24示出根據(jù)本發(fā)明原理的、幀索引位于報頭的擴展中的經(jīng)更改H. 264SVC NAL 報頭擴展定義;圖25示出根據(jù)本發(fā)明原理的用于快速轉(zhuǎn)發(fā)內(nèi)恢復(fù)的示例性切片編碼結(jié)構(gòu);圖26示出根據(jù)本發(fā)明原理的快速轉(zhuǎn)發(fā)內(nèi)恢復(fù)可如何結(jié)合SR(增強層)畫面使用;貫穿附圖中相同附圖標(biāo)記用于指代所例示的實施例的類似特征、元件、組件或部 分,除非另外聲明。此外,現(xiàn)在參照附圖詳細(xì)描述本發(fā)明是結(jié)合示例性實施例進(jìn)行的。本發(fā)明的詳細(xì)描述本發(fā)明提供了用于視頻通信系統(tǒng)中差錯彈性和隨機接入的系統(tǒng)和方法。這些機制 與可在視頻通信系統(tǒng)中使用的具有時間可縮放性的可縮放編碼技術(shù)以及單層和聯(lián)播視頻 編碼相兼容。這些系統(tǒng)和方法涉及在視頻信號傳輸中指定一組視頻幀或畫面來向接收方可靠 或有保證地遞送。指定組視頻幀的可靠遞送可通過使用安全或高可靠性的鏈路、或通過重 傳技術(shù)來實現(xiàn)。可靠遞送的視頻幀被用作參考畫面用于使接收器在差錯發(fā)生或隨機接入之 后與所傳送視頻信號重新同步。在優(yōu)選實施例中,示例性視頻通信系統(tǒng)可以是在基于分組的網(wǎng)絡(luò)上操作的多點視 頻會議系統(tǒng)10。(參看例如圖1)。多點視頻會議系統(tǒng)可包括任選網(wǎng)橋120a和120b (例如, 多點控制單元(MCU)或可縮放視頻通信服務(wù)器(SVCS))以協(xié)調(diào)網(wǎng)絡(luò)上的端點(例如,用戶 Ι-k和1-m)之間的可縮放多層或單層視頻通信。對于結(jié)合或不結(jié)合任選網(wǎng)橋120a和120b使用的點對點連接而言,示例性視頻通信系統(tǒng)的操作是相同的且是有益的。在共同轉(zhuǎn)讓的國際專利申請No. PCT/US06/28365- "SYSTEM AND METHOD FOR
SCALABLE AND LOW-DELAY VIDEOCONFERENCING USING SCALABLE VIDEO CODING (用于使用 可縮放視頻編碼的可縮放和低延遲視頻會議的系統(tǒng)和方法)”以及No.PCT/US06/28366—— "SYSTEM AND METHOD FOR A CONFERENCE SERVER ARCHITECTURE FOR LOW DELAY AND DISTRIBUTED CONFERENCING APPLICATIONS (用于低延遲和分布式會議應(yīng)用的會議服務(wù)器 架構(gòu)的系統(tǒng)和方法)”中提供了基于可縮放視頻編碼的可縮放視頻編碼技術(shù)和視頻會議系 統(tǒng)的詳細(xì)描述。此外,在2005年12月22日提交的美國臨時專利申請No. 60,753,343—— "C0MP0SITINGSCALABLE VIDEO CONFERENCE SERVER(合成可縮放視頻會議服務(wù)器)”中提供 了基于可縮放視頻編碼的可縮放視頻編碼技術(shù)和視頻會議系統(tǒng)的描述。所有前述國際和美 國臨時專利申請皆通過引用全部結(jié)合于此。圖1示出了視頻會議系統(tǒng)10的一般結(jié)構(gòu)。視頻會議系統(tǒng)10包括經(jīng)由LANl和2鏈 接在網(wǎng)絡(luò)100上的多個最終用戶終端(例如,用戶Ι-k和用戶1-m)和服務(wù)器120a和120b。 服務(wù)器可以是傳統(tǒng)MCU,或者可縮放視頻編碼服務(wù)器(SVCS)或合成可縮放視頻編碼服務(wù)器 (CSVCS)。后者服務(wù)器具有與傳統(tǒng)MCU相同的用途,但是具有顯著減小的復(fù)雜度和改進(jìn)的功 能。(參看例如國際專利申請No. PCT/US06/28366)以及2005年12月22日提交的美國臨 時專利申請No. 60/753,343。在本文的描述中,術(shù)語“服務(wù)器”可用于統(tǒng)指或者SVCS或者 CSVCS。圖2示出被設(shè)計成與基于單層編碼的視頻會議系統(tǒng)(例如,系統(tǒng)10) —起使用的 最終用廣終端10的架構(gòu)。圖3示出被設(shè)計成與基于多層編碼的視頻會議系統(tǒng)(例如,系 統(tǒng)10) —起使用的最終用戶終端140的架構(gòu)。終端140包括人機輸入/輸出設(shè)備(例如, 相機210A、話筒210B、視頻顯示器250C、揚聲器250D),以及耦合至輸入和輸出信號復(fù)用器 和分用器單元(例如,分組MUX 220A和分組DMUX 220B)的一個或多個網(wǎng)絡(luò)接口控制器卡 (NIC) 230。NIC 230可以是標(biāo)準(zhǔn)硬件組件,諸如以太網(wǎng)LAN適配器或任何其它合適的網(wǎng)絡(luò)接 口設(shè)備或者其組合。相機210A和話筒210B被設(shè)計成分別捕捉參與者的視頻和音頻信號以傳輸給其他 會議參與者。相反,視頻顯示器250C和揚聲器250D被設(shè)計成分別顯示和回放從其他參與 者接收到的視頻和音頻信號。視頻顯示器250C也被配置成任選地顯示參與者/終端140 自身的視頻。相機210A和話筒210B輸出分別經(jīng)由模數(shù)轉(zhuǎn)換器210E和210F耦合到視頻和 音頻編碼器210G和210H。視頻和音頻編碼器210G和210H被設(shè)計成壓縮輸入視頻和音頻 數(shù)字信號以減小在電子通信網(wǎng)絡(luò)上傳輸信號所需的帶寬。輸入視頻信號可以是實況或預(yù)先 錄制和存儲的視頻信號。編碼器壓縮本地數(shù)字信號以使傳輸信號所需的帶寬最小化。在本發(fā)明的示例性實施例中,音頻信號可用本領(lǐng)域中已知的任何合適的技術(shù)(例 如,G. 711、G. 729、G. 729EV、MPEG-1等)來編碼。在本發(fā)明的優(yōu)選實施例中,可縮放音頻編 解碼器G. 729EV被音頻編碼器210G用來編碼音頻信號。音頻編碼器210G的輸出被發(fā)送到 復(fù)用器MUX 220A以經(jīng)由NIC 230通過網(wǎng)絡(luò)100傳輸。分組MUX 220A可使用RTP協(xié)議執(zhí)行傳統(tǒng)復(fù)用。分組MUX 220A也可執(zhí)行可由網(wǎng)絡(luò) 100提供的任何相關(guān)服務(wù)質(zhì)量(QoS)處理。來自終端140的每個數(shù)據(jù)流在其自身的虛擬信 道或IP技術(shù)中的“端口號”中傳送。
圖3示出被配置成與其中使用可縮放或聯(lián)播視頻編碼的視頻會議系統(tǒng)一起使用 的最終用戶終端140。在此情形中,視頻編碼器210G具有多個輸出。圖3示出例如標(biāo)示為 “基”和“增強”的兩個層輸出。終端140的輸出(例如,單層輸出(圖2)或多層輸出(圖 3))經(jīng)由LRP處理模塊270A連接到分組MUX 220A。LRP處理模塊270A (和模塊270B)被設(shè) 計成通過處理特定類型的幀(例如,圖12和13中的“R”幀)以及諸如視頻序列報頭數(shù)據(jù) 的需要可靠傳輸?shù)娜魏纹渌畔⒌膫鬏攣磉M(jìn)行差錯彈性通信(“差錯彈性LRP操作”)。如 果視頻編碼器210G產(chǎn)生一個以上的增強層輸出,則增強層輸出的每一個可以與圖3中所示 的相同的方式連接到LRP處理模塊270A。類似地,在此情形中,附加增強層將經(jīng)由LRP處理 模塊270B提供給視頻編碼器230A?;蛘撸鰪妼虞敵龅囊粋€或多個可直接連接到分組MUX 220A,而非經(jīng)由LRP處理模塊270A。終端140還可配有一組視頻和音頻解碼器對230A和230B,其中每一對對應(yīng)于在視 頻會議中終端140處可看到或聽到的每個參與者。應(yīng)當(dāng)理解,盡管在圖2和3中示出解碼 器230A和230B的若干實例,但是使用單個解碼器對230A和230B來連續(xù)處理來自多個參 與者的信號是可能的。因此,終端140可配有單個解碼器對230A和230B或比參與者的數(shù) 目少的解碼器對230A和230B。音頻解碼器230B的輸出被連接到混音器240,后者又與驅(qū)動揚聲器250B的數(shù)模轉(zhuǎn) 換器(DA/C)250A連接?;煲羝鲗⒏鱾€信號組合成用于回放的單個輸出信號。如果到達(dá)的 音頻信號是預(yù)先混合的,則可能不需要混音器240。類似地,視頻解碼器230A的輸出可經(jīng)由 合成器260在視頻顯示器250C的幀緩沖器250B中被組合。合成器260被設(shè)計成將每個經(jīng) 解碼的畫面置于輸出畫面顯示的適當(dāng)區(qū)域。例如,如果顯示器被劃分成四個較小的區(qū)域,則 合成器260從視頻解碼器230A的每一個處獲得像素數(shù)據(jù)并將其放置在適當(dāng)?shù)膸彌_器位 置(例如,通過填充右下方的畫面)。為了避免雙重緩沖(例如,一次在解碼器230A的輸出 以及一次在幀緩沖器250B),合成器260可被實現(xiàn)為驅(qū)動解碼器230A的輸出像素的放置的 地址生成器。用于最優(yōu)化各個視頻輸出對顯示器250C的放置的其它技術(shù)也可用于類似效^ ο例如,在H. 264標(biāo)準(zhǔn)規(guī)范中,通過使用靈活宏塊排序(FMO)方案將多個參與者的視 圖組合在單個經(jīng)編碼的畫面中是可能的。在此方案中,每個參與者占用經(jīng)編碼圖像的一部 分——包括其切片之一。在概念上,單個解碼器可用于解碼所有參與者的信號。然而,從實 踐角度看來,接收器/終端將必須解碼四個較小的獨立編碼的切片。因此,圖2和3中所示 具有解碼器230A的終端140可用在H. 264規(guī)范的應(yīng)用中。注意用于轉(zhuǎn)發(fā)切片的服務(wù)器是 CSVCS。在終端140中,分用器DMUX 220B接收來自NIC 320的分組并經(jīng)由接收LRP模塊 270B將它們重定向到適當(dāng)?shù)慕獯a器單元230A,如圖2和圖3中所示。視頻解碼器230A的 輸入處的LRP模塊270B終止接收終端的那一端處的差錯彈性LRP操作(圖12和13)。MCU或服務(wù)器控制塊280協(xié)調(diào)服務(wù)器(SVCS/CSVCS)與最終用戶終端之間的交互。 在沒有中間服務(wù)器的點對點通信系統(tǒng)中,不需要服務(wù)器控制塊。類似地,在非會議應(yīng)用中, 在接收最終用戶終端處僅需要單個解碼器。對于涉及所存儲的視頻(例如,預(yù)先錄制的廣 播、預(yù)先編碼的材料)的應(yīng)用中,傳送最終用戶終端可不涉及音頻和視頻編碼塊或它們之 前的所有終端塊(例如,相機、話筒等)的整體功能。具體地,僅需要提供如下所說明的、與視頻分組的選擇性傳輸有關(guān)的部分。應(yīng)當(dāng)理解,終端140的各個組件可以是彼此互聯(lián)的、物理上單獨的軟件和硬件設(shè) 備或單元(例如,集成在個人計算機中),或者可以是其任何組合。圖4示出用于差錯彈性處理應(yīng)用中的示例性SVCS 400的結(jié)構(gòu)。SVCS 400的核心 是確定來自每一個可能源的哪個分組被傳送到哪個目的地和通過什么信道的交換機410。 (參見例如 PCT/US06/028366)。示例性SVCS 400的操作原理可參照圖5來理解。在此示例中,傳送終端或端點處 的SVC編碼器510產(chǎn)生除多個時間層(未在圖中示出)之外的三個空間層。各個經(jīng)編碼的 視頻層在各個分組中自傳送端點(SVC編碼器)傳送到SVCS 400。取決于網(wǎng)絡(luò)條件或用戶 偏好,SVCS 400決定哪個分組要被轉(zhuǎn)發(fā)到所示三個接收方/解碼器520的每一個。在圖5 所示示例中,SVCS 400僅將第一和第二空間層轉(zhuǎn)發(fā)到SVC解碼器520(0)、將所有三個空間 層轉(zhuǎn)發(fā)到SVC解碼器520 (1)、以及僅將第一(基)層轉(zhuǎn)發(fā)到SVC解碼器520 (2)。再次參看圖4,除PCT/US06/028366中描述的交換機之外,SVCS 400還包括分別 設(shè)置在交換機的輸入和輸出處的LRP單元470A和470B。SVCS 400被配置成在其傳入交換 機連接處終止彈性LRP處理,以及在其傳出交換機連接處發(fā)起彈性LRP處理。在使用SVCS 400的本發(fā)明的實現(xiàn)中,差錯彈性LRP處理并非在網(wǎng)絡(luò)上端對端地執(zhí)行,而是僅在每個單獨 的連接段(例如,發(fā)送方到SVCS、SVCS到SVCS以及SVCS到接收方)上執(zhí)行。然而,應(yīng)當(dāng) 理解,本發(fā)明的差錯彈性LRP處理可在使用或不使用SVCS的情況下以端對端方式在網(wǎng)絡(luò)上 執(zhí)行。沒有LRP單元470A和470B的SVCS 400可在使用SVCS的網(wǎng)絡(luò)中用于端對端LRP處 理。此外,SVCS 400可配備有一個以上NIC 230,如果SVCS 400通過不同網(wǎng)絡(luò)連接用戶,則 通常是這種情形。圖6示出可用于差錯彈性視頻通信系統(tǒng)中的示例性視頻編碼器600的架構(gòu)。視頻 編碼器600可例如是基于塊的經(jīng)運動補償?shù)霓D(zhuǎn)換編碼器。H. 264/MPEG-4 AVC設(shè)計是視頻編 碼器600的優(yōu)選設(shè)計。然而,也可使用其它編解碼器設(shè)計。例如,圖7示出用于編碼基于SVC 設(shè)計的基層和時間增強層的示例性視頻編碼器600’的架構(gòu),而圖8示出用于編碼空間增強 層的示例性視頻編碼器600”的架構(gòu)。(參見例如ΡσΓ/υΞΟθΛδβθδ和PCT/US06/028366)。 視頻編碼器600’和600”包括可用于使用空間可縮放性降低系統(tǒng)中的輸入分辨率(例如, 從CIF到CIF)的任選輸入下采樣器640。圖6還示出可使用視頻編碼器600實現(xiàn)的編碼過程。編碼器600中的增強參考控 制(ENC REF C0NTR0L)620用于創(chuàng)建“線程化”編碼結(jié)構(gòu)。(參見例如PCT/US06/28365和 PCT/US06/028366)?;跇?biāo)準(zhǔn)塊的經(jīng)運動補償?shù)木幗獯a器基于I、P和B畫面的常規(guī)結(jié)構(gòu)。 例如,在諸如IBBPBBP的畫面序列(按顯示次序)中,‘P’幀是從前一 P幀或I幀預(yù)測的,而 B畫面是使用前一以及后一 P或I幀兩者來預(yù)測的。盡管連續(xù)的I或P畫面之間的B畫面 的數(shù)目如同I畫面出現(xiàn)的速率一樣可變化,但是例如P畫面不可能用作在時間上比最近的 P畫面早的另一 P畫面的參考。H. 264是個例外,因為編碼器和解碼器保持兩個參考畫面列 表。選擇哪些畫面用作參考以及哪些參考用于要被編碼的特定畫面是可能的。圖6中的幀 緩沖器塊610代表存儲參考畫面列表的存儲器,而編碼器側(cè)的增強參考控制620決定對當(dāng) 前畫面使用哪些參考畫面。參照示出示例性分層畫面編碼結(jié)構(gòu)900的圖9可更好地理解增強參考控制520的操作。為了實現(xiàn)多個時間分辨率,用于視頻通信系統(tǒng)中的編解碼器可生成多個單獨的畫面 “線程”。給定級的線程被定義為使用或者來自相同線程的畫面、或者來自較低級線程的畫 面來進(jìn)行運動補償?shù)漠嬅嫘蛄?。線程的使用允許實現(xiàn)時間可縮放性,因為可消去任何數(shù)目 的頂級線程而不影響其余線程的解碼過程。在本發(fā)明的優(yōu)選實施例中,使用具有一組三個線程的編碼結(jié)構(gòu)(例如,圖9中的結(jié) 構(gòu)900)。在圖9中,畫面標(biāo)志中的字母‘L’指示任何可縮放層。L之后的數(shù)字(0、1和2) 標(biāo)識時間層,例如,其中“0”對應(yīng)于最低、或最粗糙的時間層,而“2”對應(yīng)于最高或最細(xì)的時 間層。圖9中所示的箭頭指示預(yù)測的方向、源和目標(biāo)。在多數(shù)應(yīng)用中,將僅使用P畫面,因 為使用B畫面增加編碼延遲達(dá)捕捉和編碼用于B畫面的參考畫面所占用的時間。然而,在 并非延遲敏感的應(yīng)用中,可能除LO畫面之外,畫面的一部分或全部可以是B畫面。類似的, LO畫面可以是形成傳統(tǒng)畫面組(GOP)的I畫面。繼續(xù)參看圖9,層LO僅是相隔四個畫面的常規(guī)P畫面序列。層Ll具有與LO相同 的幀速率,但是僅允許根據(jù)前一 LO幀進(jìn)行預(yù)測。層L2幀是根據(jù)最近的LO或Ll幀預(yù)測的。 LO提供完全時間分辨率的四分之一(1 4),Ll是LO幀速率的兩倍(1 2),而L2是L0+L1 幀速率的兩倍(1:1)??稍谠O(shè)計成適應(yīng)本發(fā)明的特定實現(xiàn)的不同帶寬/可縮放性要求的編碼結(jié)構(gòu)中類 似地構(gòu)造比以上討論的三個層L0、Ll和L2更多或更少的層。圖10示出在僅有兩個層LO 和Ll的線程化編碼結(jié)構(gòu)1000中轉(zhuǎn)換一系列傳統(tǒng)預(yù)測幀IPPP...的示例。此外,圖11示出 用于空間可縮放性的線程化編碼結(jié)構(gòu)1100的示例。編碼結(jié)構(gòu)1100包括由字母‘S’指示的 用于增強層的線程。應(yīng)當(dāng)注意,增強層的幀可具有與基層的幀不同的線程結(jié)構(gòu)。用于編碼時間層的視頻編碼器600’ (圖7)可被擴充以編碼空間和/或質(zhì)量增強 層。(參見例如PCT/US06/28365和PCT/US06/028366)。圖8示出用于空間增強層的示例性 編碼器600”。除基層信息也可用于編碼器600”之外,編碼器600”的結(jié)構(gòu)和功能類似于基 層編解碼器600,。此信息可包括運動矢量數(shù)據(jù)、宏塊模式數(shù)據(jù)、經(jīng)編碼的預(yù)測差錯數(shù)據(jù)或經(jīng) 重構(gòu)的像素數(shù)據(jù)。編碼器600”可重用此數(shù)據(jù)中的部分或全部以針對增強層S作出編碼決 定。該數(shù)據(jù)必須被縮放成增強層的目標(biāo)分辨率(如果基層為QCIF且增強層為CIF,則縮放2 的倍數(shù))。盡管空間可縮放性通常需要維護(hù)兩個編碼環(huán)路,但是通過將基層中用于增強層編 碼的數(shù)據(jù)僅限于可從當(dāng)前畫面的基層中編碼的信息計算出的那些值來執(zhí)行單環(huán)路解碼是 可能的(例如,在H. 264 SVC草案標(biāo)準(zhǔn)中)。例如,如果基層宏塊是幀間編碼(inter-code) 的,則增強層不能使用該宏塊的經(jīng)重構(gòu)像素作為預(yù)測的基礎(chǔ)。然而,它可使用其運動矢量和 預(yù)測差錯值,因為它們可通過只解碼當(dāng)前基層畫面中包含的信息來獲得。由于解碼器的復(fù) 雜度被顯著降低,因此單環(huán)路解碼是可取的。質(zhì)量或SNR可縮放性增強層編解碼器可以與空間可縮放性編解碼器相同的方式 來構(gòu)造。對于質(zhì)量可縮放性,與在較高分辨率版本的輸入上構(gòu)建增強層不同,編解碼器以相 同空間分辨率編碼殘余預(yù)測差錯。關(guān)于空間分辨率,在單或雙環(huán)路編碼配置中,基層的所有 宏塊數(shù)據(jù)可在增強層被重用。出于簡便起見,本文的描述一般針對使用空間可縮放性的技 術(shù)。然而,應(yīng)當(dāng)理解,相同的技術(shù)可應(yīng)用于質(zhì)量可縮放性。通過引用結(jié)合于此的國際專利申請PCT/US06/28365 [SVC編碼]描述了線程編碼 結(jié)構(gòu)(例如,編碼結(jié)構(gòu)900)在其針對存在傳輸差錯的穩(wěn)健性方面所具有的不同優(yōu)點。在基
11于運動補償預(yù)測的傳統(tǒng)技術(shù)水平的視頻編解碼器中,時間依存性是固有的。給定畫面處的 任何分組丟失不僅影響該特定畫面的質(zhì)量,而且或者直接或者間接地影響以給定畫面作為 參考的所有將來畫面。這是因為解碼器對將來的預(yù)測可構(gòu)建的參考幀將與編碼器處所用的 參考幀不同。隨后的差異或漂移會對傳統(tǒng)技術(shù)水平的視頻編解碼器造成極大的影響。相反,圖9中所示的線程結(jié)構(gòu)創(chuàng)建三個完備線程或依存鏈。關(guān)于L2畫面發(fā)生的分 組丟失將僅影響L2畫面;LO和Ll畫面仍可被解碼和顯示。類似地,關(guān)于Ll畫面發(fā)生的分 組丟失將僅影響Ll和L2畫面;LO畫面仍可被解碼和顯示。此外,線程結(jié)構(gòu)可被創(chuàng)建成包括 S畫面的線程或依存鏈(例如,圖11)。圖11中所示的示例性S分組線程結(jié)構(gòu)1100具有與 圖9中所示的L畫面線程結(jié)構(gòu)900相類似的特性。S2畫面處的分組丟失僅影響特定畫面, 而Sl畫面處的丟失還將影響隨后的S2畫面。在任一情形中,一旦將下一 SO畫面解碼,漂 移就將終止。再次參看圖9,在畫面質(zhì)量方面,LO畫面處發(fā)生的分組丟失可能是災(zāi)難性的,因為 將會影響所有畫面類型。如前所述,對此問題的傳統(tǒng)解決方案是周期性地編碼LO畫面作為 內(nèi)畫面或I畫面。然而,實現(xiàn)這種解決方案的帶寬開銷會是顯著的,因為I畫面通常比P畫 面大3-6倍。此外,導(dǎo)致需要使用I畫面的分組丟失通常是網(wǎng)絡(luò)擁塞的結(jié)果。試圖通過網(wǎng) 絡(luò)發(fā)送I畫面來補救分組丟失只會惡化擁塞問題。比使用I畫面?zhèn)鬏攣硌a救分組丟失更好的技術(shù)是將LO的特定百分比的內(nèi)宏塊編 碼為在任何給定畫面中內(nèi)部。這種技術(shù)有助于將比特率負(fù)荷分?jǐn)偟蕉鄠€畫面上而不是將負(fù) 荷集中到單個畫面中。已被編碼為在給定畫面中內(nèi)部的宏塊在同一周期中無需再次被強制 編碼為在內(nèi)部。在有限數(shù)目的畫面之后,接收器/解碼器將具有接收到的、關(guān)于畫面中的所 有宏塊位置的內(nèi)部信息。在使用這種技術(shù)時,在編碼器處必須注意不將失真預(yù)測引入到已 經(jīng)由運動預(yù)測編碼為內(nèi)部的區(qū)域中(即,“安全”對“非安全”幀區(qū)域)。因此,在編碼器處, 在給定周期中出于穩(wěn)健性目的已將宏塊編碼為內(nèi)部之后,對同一幀區(qū)域的將來時間預(yù)測可 僅從同一周期中已被編碼為內(nèi)部的位置開始進(jìn)行。在給定LO畫面中以幀內(nèi)模式編碼宏塊 的約10-15%可實現(xiàn)良好的權(quán)衡。結(jié)果,在約十個LO幀(即,40個畫面、或每秒30幀下的 1.3秒)之后,解碼器將與編碼器在LO層處重新同步。應(yīng)當(dāng)注意,當(dāng)解碼器在內(nèi)部刷新周 期開始之后立即加入流時,它必須等待下一周期開始以及等待直至下一周期完成,以便進(jìn) 行同步(即,總共接近兩個周期的延遲)。由于畫面編碼結(jié)構(gòu)(例如,結(jié)構(gòu)900)的層依存 性,隨后的Ll和L2畫面也將被準(zhǔn)確解碼,只要它們的數(shù)據(jù)被準(zhǔn)確接收到。因此,如果基層 LO和某些增強層畫面以其遞送被保證的方式傳送,則在分組丟失的情形中沒有嚴(yán)重后果的 情況下其余層可基于盡力來傳送。這種有保證傳輸可使用諸如區(qū)分型和FEC等已知技術(shù)來 執(zhí)行。在本文的描述中,也可參照提供這種區(qū)分型服務(wù)質(zhì)量的作為兩個實際或虛擬信道的 高可靠性信道(HRC)和低可靠性信道(LRC)(圖1)。(參見例如PCT/US06/28365和PCT/ US06/28366)。在使用可縮放視頻編碼結(jié)構(gòu)(圖11中的結(jié)構(gòu)1100)的視頻通信系統(tǒng)中,層 L0-L2和SO可例如在HRC上可靠傳送,而Sl和S2可在LRC上傳送。盡管Sl或S2分組的 丟失可導(dǎo)致有限的漂移,但是仍期望能夠盡可能多地避免信息丟失。內(nèi)宏塊編碼技術(shù)的一個缺點是在某些差錯狀況下,實現(xiàn)充分的I塊所需的LO幀之 一可能丟失,由此阻礙了過程的收斂。這種技術(shù)的另一個缺點是無論信道的狀況如何都有 編碼效率懲罰。換言之,強制內(nèi)宏塊將產(chǎn)生帶寬開銷,即使通信中完全沒有分組丟失也是如此。本發(fā)明的差錯彈性技術(shù)通過采用LO層的子集或整個LO層的可靠傳輸來克服用于 補償分組丟失的傳統(tǒng)技術(shù)的前述限制。差錯彈性或可靠性通過重發(fā)來確保。本發(fā)明的差錯 彈性技術(shù)不僅出于顯示目的而被設(shè)計成恢復(fù)丟失的畫面,還被設(shè)計成創(chuàng)建正確的參考畫面 以便于解碼依賴于丟失分組中所包含的那些畫而(整體或部分)的將來畫面。在本發(fā)明的 系統(tǒng)實現(xiàn)中,LO畫面的可靠傳輸可通過LRP模塊(例如,圖2中的模塊270A和270B以及 圖4中的模塊470A和470B)根據(jù)適當(dāng)?shù)谋Wo(hù)協(xié)議(例如,圖14中的協(xié)議1400)在發(fā)送和 接收方之間使用肯定或否定確認(rèn)來執(zhí)行。圖12示出示例性畫面編碼結(jié)構(gòu)1200,其中LO基層和L1-L2時間增強層與至少一 個可靠傳送的基層畫面相耦合以進(jìn)行差錯彈性視頻通信。在編碼結(jié)構(gòu)1200中,除標(biāo)示為 L0-L2畫面的常規(guī)基層和增強層之外,還有稱為LR( ‘R’代表可靠)的新的畫面類型。注 意在圖12中所示的編碼結(jié)構(gòu)1200中,層LR和L0-L2可等效于分別被標(biāo)示為L0-L3,因為 LR畫面總是經(jīng)編碼的視頻信號的最低時間層。根據(jù)用于差錯彈性視頻通信的本發(fā)明,可以 是P畫面的LR畫面被指定成將被可靠地遞送到接收方目的地。本發(fā)明的差錯彈性技術(shù)的操作可通過考慮其中LO畫面之一因分組丟失而被破壞 或丟失的示例來理解。如前所述,在傳統(tǒng)通信系統(tǒng)中,丟失LO畫面對所有后續(xù)L0-L2畫面 的影響是嚴(yán)重的。使用本發(fā)明的畫面編碼結(jié)構(gòu)1200,在丟失LO畫面之后的下一“可靠遞 送” LR畫面提供了重新同步點,接收方/編碼器可在該點之后繼續(xù)無失真地解碼和顯示。在圖12中所示的編碼結(jié)構(gòu)1200中,LR畫面之間的時間距離例如為12幀。LR畫 面的可靠遞送利用了具有極長時間距離(6幀或更多)的P畫面約為I畫面的大小的一半, 并且可靠遞送并非旨在確保相關(guān)畫面的及時顯示而是旨在創(chuàng)建合適的參考畫面以備將來 使用這個事實。因此,LR畫面的遞送可通過在連續(xù)LR畫面之間的一段時間內(nèi)極輕微地增 加系統(tǒng)中的帶寬來實現(xiàn)。編碼結(jié)構(gòu)1200可使用現(xiàn)有的H. 264AVC標(biāo)準(zhǔn)——在該標(biāo)準(zhǔn)下LR畫面可例如被存 儲在解碼器處作為長期參考畫面并可用MMCO命令來替換——來實現(xiàn)。圖13示出示例性畫面編碼結(jié)構(gòu)1300,其中LR畫面的概念被應(yīng)用于增強層畫面 (或者空間或者質(zhì)量可縮放性)。這里,要被可靠傳送的畫面被標(biāo)示為SR,而對于LR畫面, 它們組成空間或質(zhì)量增強層的最低時間層。注意盡管出于例示的目的LR畫面的概念在此通常被描述成應(yīng)用于經(jīng)編碼的視 頻信號的最低時間層,但此概念也可根據(jù)本發(fā)明原理被擴展或應(yīng)用到附加層。此擴展應(yīng)用 將導(dǎo)致以可靠方式傳送附加層。例如,參看圖12,除LR畫面之外,LO畫面也可被納入可靠 (重)傳送機制中。類似地,可包括任何空間/質(zhì)量增強層的畫面(來自最低或附加時間 層)。此外,視頻序列報頭或其它數(shù)據(jù)可被當(dāng)作或視為與系統(tǒng)中的LR等效,以使得它們(報 頭或其它數(shù)據(jù))被可靠地傳送。在下文中,出于描述簡便的目的,假定只有LR畫面被可靠 傳送,除非另外明確指明。然而,應(yīng)當(dāng)容易理解,附加層或數(shù)據(jù)可以完全相同的方法來可靠 傳送。當(dāng)沒有分組丟失時,用于LR幀的可靠遞送的帶寬開銷為零或可忽略是合乎需要 的。這意味著動態(tài)閉環(huán)算法應(yīng)當(dāng)被用于可靠遞送機制。在例如LR幀被主動重發(fā)多次的情 況中,使用開環(huán)算法也是可能的。
圖14示出用于LR幀的可靠遞送的優(yōu)選機制或協(xié)議1400。協(xié)議1400采用基于肯 定確認(rèn)(ACK)消息的機制向發(fā)送方(例如,發(fā)送器、SVCSl或SVCS2)指示特定LR畫面已被 預(yù)期接收方(例如,SVCS1、SVCS2或接收器)接收到。參看圖14中的時間軸,如果在指定時 間間隔內(nèi)(例如,一次往返行程的時間(RTT))未接收到確認(rèn),則發(fā)送器處的定時器發(fā)起給 定LR畫面的重傳。除針對LR畫面使用常規(guī)、周期或靜態(tài)結(jié)構(gòu)定義之外,還可采用動態(tài)結(jié)構(gòu)。 在此情形中,在系統(tǒng)操作中動態(tài)地定義LR畫面。在發(fā)送器從所有接收器接收到對傳送流中 特定幀的接收的肯定確認(rèn)之后,視頻通信系統(tǒng)隨后可將此幀指定為LR幀并使用它作為新 的錨定或同步點。換言之,在所有接收器已確認(rèn)它們皆已正確接收到特定畫面之后,發(fā)送編 碼器將使用該特定畫面作為LR畫面。如果特定LR畫面變得陳舊,則發(fā)送器可放棄該特定 LR畫面,并且在任何時候嘗試建立與較新畫面的重新同步點。如果使用否定確認(rèn)(NACK)消 息取代肯定ACK消息,則協(xié)議1200的操作是類似的。在此情形中,發(fā)送器一旦接收到NACK 就立即重發(fā)給定畫面。 當(dāng)通信系統(tǒng)中存在SVCS時,它可任選地充當(dāng)ACK消息的聚集點。在此情形中,SVCS 可僅向發(fā)送器發(fā)送單個歸納確認(rèn)消息以指示所有預(yù)期上游接收器皆已接收到LR畫面。這 種特征有助于使通信系統(tǒng)的不同組件之間的控制消息通信量最小化?;蛘?,SVCS可充當(dāng) ACK消息的終止點(‘ACK終止模式’)。在此模式中,SVCS立即確認(rèn)接收到的LR畫面并對 其進(jìn)行高速緩存。在此情形中,發(fā)送器不希望來自SVCS的上游的其他接收器的其它確認(rèn)。 然后,‘終止模式’ SVCS按需執(zhí)行對下游SVCS或接收器的重發(fā)以確??煽窟f送,并在所有接 收器皆已確認(rèn)接收之后從其高速緩沖器中移除LR畫面??衫么四J絹韺⑻囟ń邮掌? 端點與有問題的連接隔離開,從而使其它端點之間的通信不受到影響。注意在ACK終止模 式中,不再可能在發(fā)送器處動態(tài)地將畫面定義為LR畫面,因此在此情形中周期性或靜態(tài)模 式是適當(dāng)?shù)?。示例性協(xié)議1200 (使用肯定確認(rèn),但不用ACK聚集或終止)的操作的細(xì)節(jié)可參照 圖14來理解。附圖示出例如通過兩個單獨的SVCS單元1和2通信的發(fā)送器和接收器。應(yīng) 當(dāng)理解,協(xié)議1200的操作通常與其中不使用SVCS的系統(tǒng)(例如,具有發(fā)送器與接收器之間 的直接連接的系統(tǒng))以及其中使用一個或多個SVCS的系統(tǒng)中的相同。參看圖14,發(fā)送器在時刻t0傳送作為LR狀態(tài)的候選的LO幀。該幀可在一個或多 個傳輸層分組中輸送。在此出于描述方便起見,可假定使用單個分組。此外,如果使用幀分 段——在此情形中重傳會影響丟失的特定片段,但不一定是整個巾貞——則操作是相同的。在SVCSl處期望在給定時刻tl-tO內(nèi)接收到包含LR幀(LR)的分組。此時,發(fā)送 器期望SVCSl生成針對該幀的肯定確認(rèn)消息(ACK)。如果在系統(tǒng)的往返行程時間(RTT)內(nèi) 沒有接收到這種ACK,則發(fā)送器假定分組已丟失并在時間t2重傳LR幀。現(xiàn)在假定在SVCSl 處接收到幀。針對發(fā)送器的ACK可由SVCSl生成,該SVCSl還將幀轉(zhuǎn)發(fā)到SVCS2。與發(fā)送器 相類似,SVCSl還將經(jīng)歷多次幀重傳直至SVCS2確認(rèn)其接收。圖14示出在時間t6由SVCS2 接收到由SVCSl發(fā)送的LR幀。然后,SVCS2將持續(xù)向接收器傳送該幀直至其接收到來自接 收器的ACK(例如,ACK 1410)(例如,在時間t8)。當(dāng)最終用戶接收器(并非中間SVCS)接 收到LR幀時,它通知初始發(fā)送器其現(xiàn)在具有可用作供將來畫面的編碼用的參考畫面的此 新的正確接收到的幀。此ACK14010經(jīng)由SVCS傳播到達(dá)發(fā)送器(例如,在時間tlO)。在特 定視頻通信會話中的所有接收器確認(rèn)對新的LR幀的正確接收之后,發(fā)送器可隨后使用所傳送的幀作為參考畫面。如前所述,在H. 264視頻編碼標(biāo)準(zhǔn)中,通過將候選傳送畫面標(biāo)記為長期參考畫面 來便于使用所傳送的幀作為參考畫面。類似的標(biāo)記技術(shù)可與其它編碼方案一起使用。候選 傳送畫面未被用作參考畫面直至已從所有接收器收集到肯定ACK。注意在LR協(xié)議1400運 行的整個時間內(nèi),發(fā)送器持續(xù)傳送經(jīng)編碼的視頻。換言之,由于協(xié)議要求可能的重傳,因此 不引發(fā)附加的端對端延遲。LR處理機制的目標(biāo)是創(chuàng)建用于將來畫面的編碼的可靠參考畫 面。實際上,LR畫面的初始傳送被破壞且在特定接收器處無法適當(dāng)?shù)牟シ攀强赡艿?。發(fā)送 器(或SVCS)將持續(xù)傳送畫面直至其被特定接收器正確地接收到,而接收器將持續(xù)嘗試解 碼和回放發(fā)送器將繼續(xù)傳送的后續(xù)視頻幀。圖15示出使用否定確認(rèn)(NACK)的協(xié)議1500的操作。與使用ACK的協(xié)議的操作 的不同之處在于現(xiàn)在接收端點或SVCS具有檢測何時LR畫面未被接收到且已丟失的任務(wù)。 RTP或H. 264傳輸中丟失檢測用的具體技術(shù)將在下文中描述(例如,參照圖16-24)。這些 技術(shù)使得一接收到任何后續(xù)畫面就能夠檢測到丟失。在協(xié)議1500的操作中,當(dāng)接收端點或 SVCS檢測到LR畫面已丟失時,它就向傳送端點或SVCS發(fā)送NACK消息。然后,傳送端點或 SVCS從其高速緩沖器獲得丟失的畫面,并重傳或者丟失的幀或者將使得接收器能夠重新同 步其解碼器的更近的LR畫面。繼續(xù)參看圖15,假定使用圖9的畫面編碼結(jié)構(gòu)(四個時間層,即LR和L0-L2),以 及發(fā)送器和接收器通過SVCS通信。此外,假定由發(fā)送器在時間t0傳送的LR畫面丟失,而 后續(xù)的畫面——LO畫面——被成功地傳送到SVCS。一接收到LO畫面,SVCS就檢測作為參 考的LR畫面已丟失,并傳送NACK,后者由發(fā)送器在時間tR接收到。同時,發(fā)送器也已在時 間t2傳送Ll幀。一旦在時間tR接收到NACK,發(fā)送器就向SVCS重傳最近的LR畫面。發(fā)送 器繼續(xù)以適當(dāng)?shù)臅r間間隔傳送初始畫面流,例如,在時間t3傳送L2畫面而在時間t4傳送 Ll畫面。注意無論所需的LR畫面是否已丟失,SVCS都立即向下游接收器轉(zhuǎn)發(fā)已從接收器 處成功接收到的任何畫面。假定針對接收器的所有傳輸都成功,則當(dāng)在接收器處接收到重 傳的LR畫面時,接收器將具有用以解碼在較早時間t3和t4接收到的LO和Ll所必需的所 有信息。盡管可能太遲而不能顯示這些畫面,但是接收器(例如,在解碼畫面而非顯示它們 的“恢復(fù)模式”中)可將其解碼以便具有用于正確解碼在時間t5到達(dá)的L2畫面的正確參 考畫面。如果接收器具有足夠的CPU能力,則這種解碼可比實時更快地完成。在時間t5,接 收器可隨后開始常規(guī)地解碼和顯示沒有差錯的傳入視頻信號,并且沒有因丟失而導(dǎo)致任何 延遲。應(yīng)當(dāng)注意,如果所選的接收器改為在L2之前顯示LR、L0和Ll畫面,則通信會話的常 規(guī)(沒有丟失的情況下)端對端延遲將增加SVCS恢復(fù)所丟失的LR畫面所用的時間量。在 交互式通信中,附加延遲是不合需要的,并且消除該附加延遲是本發(fā)明的優(yōu)點之一。使用RTCP或其它反饋機制,可使用例如上述的肯定和否定確認(rèn)技術(shù)通知發(fā)送器 特定接收器正經(jīng)歷丟失分組。反饋可與針對每個單獨分組的各個ACK/NACK消息一樣詳細(xì)。 使用反饋使得編碼器能夠計算(確切或大致地)解碼器的狀態(tài),并相應(yīng)地進(jìn)行動作。此反 饋被生成并由可靠性和隨機接入控制(RFC)模塊530 (圖6)來收集。RRC模塊可隨后指令 編碼器使用內(nèi)宏塊,或適當(dāng)?shù)卦黾悠漕l率以在需要時進(jìn)一步幫助同步過程。當(dāng)使用肯定確認(rèn)時并且為了使已經(jīng)歷丟失分組的接收器能夠重新同步到經(jīng)編碼 的比特流,發(fā)送器可使用最近的LR畫面作為參考畫面來選擇編碼當(dāng)前幀。在知道此LR畫面已被可靠接收到的情況下,發(fā)送器可使用LR畫面作為參考來將當(dāng)前畫面編碼為P畫面。 在接收器正確地接收到當(dāng)前畫面之后,從此時開始它可在參考畫面緩沖器方面與編碼器同 步。換言之,將消除解碼器中出現(xiàn)的任何漂移。類似地,當(dāng)使用否定確認(rèn)時,解碼器可通過解碼給定畫面的所有必要參考畫面來 與比特流重新同步,即使它們太遲到達(dá)而不能被顯示時也是如此。如果解碼器可比實時更 快地(換言之,所占用的解碼時間少于畫面之間的時間)解碼,則其最終可與接收到的比特 流同步。通過在同步點開始顯示,解碼器可繼續(xù)常規(guī)解碼和顯示操作而沒有任何附加的端 對端延遲被添加到通信會話。用于重新同步接收器的這些技術(shù)在涉及例如5-10個參與者的中型到大型視頻會 議中具有明顯的優(yōu)勢。在此類會議中,使用I幀實現(xiàn)已經(jīng)歷分組丟失的接收器的重新同步 會對所有參與者施加相當(dāng)可觀的帶寬懲罰。實際上,最弱鏈路(即,具有最多差錯的鏈路) 上的參與者將影響具有最強鏈路的參與者的質(zhì)量。通過使用LR畫面,消除了內(nèi)畫面的使 用。盡管基于LR畫面的P畫面也具有帶寬開銷,只要幀之間的時間距離不是太大,開銷就 會顯著小于I畫面的。用于重新同步的LRP技術(shù)也適于諸如往返行程延遲、服務(wù)器的分布 等的系統(tǒng)參數(shù)。系統(tǒng)越好,在接收器處準(zhǔn)確接收到時LR畫面將建立得更快,從而導(dǎo)致對基 于LR畫面的更好預(yù)測,這又將導(dǎo)致更小的開銷。注意,當(dāng)使用反饋時,可能不必先驗決定LR幀的結(jié)構(gòu)。實際上,LR幀的結(jié)構(gòu)可通 過收集和整理來自所有接收器的反饋來統(tǒng)計和動態(tài)地建立。被確認(rèn)為被所有接收器接收到 的幀可被自動視為LR幀。在某些情形中,LR畫面的缺點在于到視頻會議的單個較差的連接仍會使針對所涉 及的所有參與者的質(zhì)量下降。在此類情形中,中間SVCS可扮演發(fā)送器代理的角色,并在其 余參與者未受影響地繼續(xù)會議的同時持續(xù)重發(fā)所需的數(shù)據(jù)。例如,在轉(zhuǎn)發(fā)SVCS到毗連SVCS 或所連接的端點的連接使得實現(xiàn)來自其對等設(shè)備的肯定確認(rèn)的時間大于預(yù)先配置的值的 情況中,轉(zhuǎn)發(fā)SVCS可被配置成就像端點確實發(fā)回肯定確認(rèn)(包括發(fā)回適當(dāng)?shù)腁CK)那樣對 待該端點。這種配置限制了有問題的端點或SVCS連接對整體系統(tǒng)的影響。從此時開始,轉(zhuǎn) 發(fā)SVCS將僅向其有問題的對等設(shè)備傳送LR幀,因為它是最終與解碼過程重新同步所需的 最小信息。如果較新的LR幀自發(fā)送器到達(dá)轉(zhuǎn)發(fā)SVCS,則它們將繼續(xù)被重傳到有問題的SVCS 或端點,由此給予有問題的SVCS或端點與發(fā)送器比特流同步的其它機會。由于沒有其它幀 (除LR之外的)在此鏈路上傳送,因此不會因這種重傳導(dǎo)致附加擁塞。實際上,如果此類經(jīng) 高速緩沖和重傳的LR幀的數(shù)目超過特定預(yù)定義數(shù)目(例如,2-3),則轉(zhuǎn)發(fā)SVCS可考慮要終 止特定的有問題的SVCS或端點連接。所終止的SVCS或端點隨后將必須使用其可用的任何 合適的隨機進(jìn)入機制來重新加入視頻會議會話。在連接或鏈路中斷是暫時的情況中,接收端點可以其正確次序解碼重傳的LR幀 并重新加入會話。期望由于LR幀的數(shù)目遠(yuǎn)小于幀的總數(shù),因此CPU負(fù)載將不會是個問題且 接收端點可跟得上解碼過程。應(yīng)當(dāng)理解,圖14中所示的協(xié)議1400是示例性的,并且其可易于針對其它系統(tǒng)性能 的改進(jìn)進(jìn)行更改。例如,在經(jīng)更改的協(xié)議1400中,一直傳回到發(fā)送器的確認(rèn)(例如,圖14 中所示的ACK[RCVR]消息)不必從接收端點發(fā)起,而是可僅從最靠近鏈中端點的最后SVCS 發(fā)起。連接到端點的最后SVCS可首先發(fā)回ACK[RCVR],并隨后如上所述地繼續(xù)向端點可靠
16傳送或重傳LR幀。協(xié)議1400的這種更改避免在發(fā)回ACK[RCVR]之前必須等待預(yù)先配置的 時間。如可為本領(lǐng)域技術(shù)人員所顯見的,根據(jù)本發(fā)明的原理,可用其它合適的傳輸層機 制替代用于實現(xiàn)LR幀的可靠傳輸?shù)腁RQ協(xié)議(例如,協(xié)議1400)。用于LR幀的合適傳輸?shù)?合適傳輸層機制包括諸如主動重傳、以及諸如使用交織的Reed-Solomon (理德-所羅門) 碼更復(fù)雜的FEC(前向糾錯)技術(shù)和混合式FEC-ARQ技術(shù)(參見例如Rubenstein等人在 2001年3月的計算機通信雜志上發(fā)表)。在本發(fā)明的實現(xiàn)中重點考慮接收器(例如,接收端點或SVCS)如何在最小延遲的 情況下檢測到LR畫面已丟失。本發(fā)明包括基于畫面編號和畫面編號引用的技術(shù)。此技術(shù) 通過向LR畫面指派與這些LR畫面分組一起被運送的序號來操作。接收器維護(hù)其已接收到 的LR畫面的編號的列表。另一方面,非LR畫面包含最近LR畫面在解碼次序中的序號。此 序號引用允許接收器甚至在接收后一 LR畫面之前檢測丟失的LR畫面。當(dāng)接收器接收到LR 畫面時,其可通過將其畫面編號與其所維護(hù)的畫面編號列表(接收到的畫面的編號應(yīng)當(dāng)比 前一畫面的編號大一,或者如果計數(shù)重新開始則為0)作比較來檢測是否已丟失先前LR畫 面中的一個或多個。當(dāng)接收器接收到非LR畫面時,它進(jìn)行測試以查看所引用的LR畫面的 編號是否存在于其編號列表中。如果不存在,則假定為丟失,并且可發(fā)起糾正動作(例如, NACK消息被傳回發(fā)送器)。LR畫面可使用標(biāo)志或其它信令手段(例如,根據(jù)其分組報頭或分組有效載荷參數(shù) 導(dǎo)出)等來標(biāo)識,或者它們的存在被暗示(例如,通過它們在經(jīng)編碼的視頻序列中的次序)。 作為LR畫面編號的使用的例示,假定兩個畫面LR和LO的序列以此次序被傳送。接收器的 編號列表最初為空。此外,假定對LR畫面指派序號0。LR畫面將在其分組中指示編號0的 情況下被傳送。LO畫面也在包括編號0作為對其所依賴的LR畫面——最近LR畫面——的 參考的情況下被傳送。如果LR畫面丟失,則接收器將接收到包含對具有編號0的LR畫面 的引用的幀L0。由于此編號在其列表中不存在(列表仍為空),因此接收器檢測到具有編 號0的LR畫面已丟失。它可隨后請求重發(fā)丟失的LR畫面。注意,使用LR畫面編號技術(shù)檢測丟失的LR畫面可在接收端點以及中間SVCS兩者 處執(zhí)行。例如在LRP (接收)模塊270B(圖2和3)或模塊470B(圖4)處執(zhí)行此操作。本文描述了 LR畫面編號技術(shù)的兩個不同實施例。一個實施例(在下文中稱為 ‘R分組’技術(shù))適用于系統(tǒng)使用RTP協(xié)議進(jìn)行傳輸?shù)那闆r。另一實施例適用于系統(tǒng)使用 H. 264Annex G(SVC)草案標(biāo)準(zhǔn)的情況。對于R分組技術(shù),假定RTP協(xié)議(在UDP和IP上)被用于兩個終端之間——可能 經(jīng)由一個或多個中間服務(wù)器——的通信。注意媒體傳送終端可執(zhí)行實時編碼,或者可從本 地或其它存儲(RAM、硬盤、存儲區(qū)網(wǎng)、文檔服務(wù)器等)訪問媒體數(shù)據(jù)。類似地,接收終端可執(zhí) 行實時解碼,以及它可將接收到的數(shù)據(jù)存儲在本地或其它存儲中以備將來回放,或者兩者。 對于在此的描述,假定(并非限制)實時編碼和解碼正在進(jìn)行。圖16示出傳送終端的LRP發(fā)送模塊(例如,圖2中的模塊270A)的架構(gòu)。LRP發(fā) 送模塊包括具有用于可能要求重傳的分組的本地存儲(例如,緩沖器1605)的分組處理器 (R分組控制器1610)。R分組控制器1610對R分組作標(biāo)記,并且還對RNACK作出響應(yīng)。R分 組控制器被連接到實現(xiàn)RTP/UDP/IP協(xié)議棧的復(fù)用器MUX 1620和分用器DMUX 1630。盡管MUX 1620和DMUX1630在圖16中被示為單獨的實體,但它們可被組合在同一單元中。MUX 1620和DMUX 1630被連接到提供物理層接口的一個或多個網(wǎng)絡(luò)接口控制器(NIC)。在優(yōu)選 實施例中,NIC是以太網(wǎng)適配器,但可使用任何其它NIC,這對于本領(lǐng)域技術(shù)人員是顯而易 見的。類似地,圖17示出接收終端的LRP接收模塊(例如,圖2中的模塊270B)的示例性 架構(gòu)。在此,R分組控制器(例如,控制器1610’)負(fù)責(zé)分組丟失檢測和適當(dāng)NACK消息的生 成。此外,圖18示出服務(wù)器的LRP發(fā)送和接收模塊(例如,圖4中的模塊420A和420B)—— 可與接收終端的組件以及背靠背(back-to-back)連接的傳送終端的那些組件相同——的 結(jié)構(gòu)。在優(yōu)選實施例中,傳送終端根據(jù)RTP規(guī)范對媒體數(shù)據(jù)進(jìn)行分組。注意盡 管針對RTP定義了不同的分組(稱為“有效載荷”)格式,但它們可共享同一公共報 頭。本發(fā)明針對RTP分組引入命名報頭擴展機制(參見2006年2月D. Singer的
draft_ietf_avt_rtp_hdrext_01 (進(jìn)#于中)-"A general mechanismfor RTP Header
Extensions (RTP報頭擴展的通用機制)”)以使得R分組可被適當(dāng)處理。根據(jù)本發(fā)明,在包含R分組的RTP會話中,用命名報頭擴展機制來對各個分組作標(biāo) 記。R分組報頭擴展元素標(biāo)識R分組自身以及先前發(fā)送的R分組。例如,此報頭擴展元素具
有名稱"com. layeredmedia. avtr-packet/200606”。每個R分組包括-且每個非R分組
應(yīng)當(dāng)包括——此類形式的報頭擴展元素。圖19示出發(fā)明性命名報頭擴展的示例性數(shù)據(jù)字段格式,其中這些字段定義如下。ID:4 比特針對此報頭擴展元素協(xié)商的本地標(biāo)識符,如例如D. Singer在2006年12月的
draft_ietf_avt_rtp_hdrext_01 (進(jìn)#于中)-"A general mechanism for RTPHeader
Extensions (RTP報頭擴展的通用機制),,中所定義的。長度(Ien)4 比特此報頭擴展元素的數(shù)據(jù)字節(jié)的長度減一,不計入報頭字節(jié)(ID和Ien)。如果存在 第二個字(取代范圍),則這將具有值6,如果不存在,則為2。因此,其值必須或者為2或者 為6。R:1 比特指示包含此報頭擴展元素的分組是系列SER中具有R序號RSEQ的R分組的比特。 如果此比特未被置位,則報頭擴展元素替代地指示媒體流在系列SER中的最近R分組具有 R序號RSEQ。如果此比特未被置位,則取代范圍應(yīng)當(dāng)不存在(即,Ien字段應(yīng)當(dāng)為2)并且 在存在的情況下必須被忽略。保留,必須為零(MBZ) 3比特保留比特。這些必須在傳送時被設(shè)為零,并且在接收時被忽略。系列ID(SER) 4 比特R分組系列的標(biāo)識符由此報頭擴展元素來描述。如果媒體編碼器僅描述單個R分 組系列,則此應(yīng)當(dāng)具有值0。例如,使用圖13中所示的可縮放視頻畫面編碼結(jié)構(gòu),L分組(空 間增強基層,所有線程)可比方將SER設(shè)為零,而S分組(空間增強層,所有線程)可將SER 設(shè)為1。
R分組序號(RSEQ) 16比特指示此R分組在系列SER中的編號的無符號序號。在給定系列中每發(fā)送一個R分 組,此值遞增1 (mod 2~16)。各個序列的RSEQ值是獨立的。取代范圍的起始(SUPERSEDE_START) 16比特被此R分組取代的最早R分組(包括此分組)的R序號,通過模2~16計算出。(由 于此值使用模運算,因此值RSEQ+1可用于SUPERSEDE_START以指示在取代范圍末端之前的 所有R分組已被取代。)此字段是任選的,并且僅在Ien = 6時存在。取代范圍的末端(SUPERSEDE_END) 16比特被此R分組取代最后R分組(包括此分組)的R序號,通過模2~16計算出。此值 必須位于閉合范圍[SUPERSEDE_START. . RSEQ]模2~16中。此字段是任選的,并且僅在Ien =6時存在。RTP分組可包含多個R分組標(biāo)記元素,只要這些元素的每一個都具有一不同的SER 值。然而,RTP分組不能包含一個以上的、R比特被置位的這種報頭擴展元素,S卩,R分組不 可屬于一個以上的系列。媒體流中使用R分組的所有RTP分組應(yīng)當(dāng)包括針對所有活躍系列的標(biāo)記元素。當(dāng)此報頭擴展元素的第二個字存在時,它指示此R分組取代某些先前接收到的R 分組,這意味著這些分組不再是重構(gòu)流狀態(tài)所必需的。第二個字必須僅在其R比特被置位 的報頭擴展元素中出現(xiàn)。R分組可僅取代系列中由元素的SER字段標(biāo)識的R分組。R分組不能取代其它系 列中的分組。對于取代元素而言,具有SUPERSEDE_END = RSEQ是有效的。這指示R分組 取代其自身,即,此R分組直接變成與流狀態(tài)無關(guān)。實際上,這樣做的最通常原因是 要結(jié)束一系列;這可通過發(fā)送具有取代范圍(SUPERSEDE_START,SUPERSEDE_END)= (RSEQ+1, RSEQ)的空分組(例如,RTP No-op分組,參見F. Andreasen在2005年5月的 draft-ietf-avt_rtp-no-op-00(進(jìn)行中)的 “A No-opPayload Format for RTP(RTP 的 No-op有效載荷格式)”),以使得該系列不再包含任何未經(jīng)取代的分組。在系列中發(fā)送的第一 R分組應(yīng)當(dāng)在取代范圍為(SUPERSEDE_START,SUPERSEDE, END) = (RSEQ+1,RSEQ-I)下發(fā)送,以明確該范圍內(nèi)沒有其它R分組存在。R分組可冗余地包括要被取代的分組范圍內(nèi)已被取代的分組。R分組的丟失由接收器來檢測,并且由該接收器用RTCP反饋消息向發(fā)送器進(jìn)行指 示。R分組否定確認(rèn)(NACK)消息是由PT = RTPFB且FMT = 4 (作為示例)標(biāo)識的RTCP反 饋消息(例如,參見J. Ott等人在2006年7月的RFC4585的“Extended RTP Profile for RTCP-based Feedback (RTP/AVPF)(基于 RTCP 反饋的擴展 RTP 概況(RTP/AVPF)) ”)。根據(jù) 本發(fā)明,也可選擇其它值。FCI字段必須包含至少一個且可包含一個以上的RNACK。RNACK分組用于指示一個或多個R分組的丟失。丟失分組經(jīng)由分組序號、系列標(biāo)識 符和位屏蔽來標(biāo)識。RNACK消息的結(jié)構(gòu)和語義類似于AVPF通用NACK消息的那些。圖20示出了 RNACK反饋控制信息(FCI)的示例性語法,其中各個字段定義如下R分組序號(RSEQ) 16比特
RSEQ字段指示接收器尚未接收到的RSEQ值。系列ID(SER) 4 比特哪個R分組序列正被此報頭擴展元素描述為丟失的標(biāo)識符。后續(xù)丟失R分組的位屏蔽(BLR) 12比特BLR允許報告緊隨由RSEQ指示的RTP分組之后的12個R分組中的任一個的丟失。 指示BLP的最低有效位為比特1,且其最高有效位為比特12,如果接收器尚未接收到系列 SER(模2~16)中的R分組號(RSEQ+i),則位屏蔽的比特i被設(shè)為比特1,并且指示此分組丟 失;否則比特i被設(shè)為0。注意發(fā)送器不能假定接收器已接收到R分組,因為其位屏蔽被 設(shè)為0。例如,如果序列中對應(yīng)于RSEQ的分組和后續(xù)的R分組已丟失,則BLR的最低有效 位可被設(shè)為1。然而,發(fā)送器不能僅因為比特BLR的比特2到15為0就推斷已接收到分組 RSEQ+2到RSEQ+16 ;所有發(fā)送器都知道接收器此時尚未將它們當(dāng)作丟失來報告。當(dāng)接收器檢測到其尚未接收到非替代的R分組時,它遵照RTCP (參見J. Ott和 S. Wenger 在 2004 年 8 月的 draft-ietf-avt-rtcp-feedback-11 (進(jìn)行中)一“Extended RTP Profile for RTCP-based Feedback(RTP/AVPF)(基于RTCP反饋的擴展RTP概況(RTP/ AVPF)) ”)盡可能快地發(fā)送RNACK消息。在多點情況中,這包括監(jiān)聽來自其它接收器的RNACK 分組但不針對已被報告的丟失R分組發(fā)送RNACK。當(dāng)發(fā)送器接收到RNACK分組時,其檢查該分組是否已被取代。如果其尚未被取代, 則發(fā)送器重傳被發(fā)送的RNACK所針對的分組(使用例如RTP重傳有效載荷,參見J. Rcy等 人在 2006 年 7 月的 RFC 4588 的 “RTP Retransmission Payload Format (RTP 重傳有效載 荷格式)”)。如果分組已被取代,則它重傳最近的分組,后者的R分組元素指示包括所請求 分組的取代分組范圍。取代重傳先前已發(fā)送的分組,發(fā)送器還可選擇生成和發(fā)送取代RNACK中所請求分 組的新的R分組。在某一時間段之后,如果接收器尚未接收到或者被發(fā)送的RNACK所針對的R分組 或者取代該分組的R分組的重傳,則它應(yīng)當(dāng)重傳RNACK消息。接收器不能以超過AVPF所準(zhǔn) 許的頻率發(fā)送RNACK消息。它在可能的情況下應(yīng)當(dāng)執(zhí)行對到發(fā)送器的往返行程時間的估 計,并且不應(yīng)當(dāng)以超過每往返行程時間一次的頻率發(fā)送RNACK消息。(如果接收器也充當(dāng) RTP發(fā)送器,且發(fā)送器正發(fā)送關(guān)于接收器的流的RTCP接收報告,則可根據(jù)發(fā)送器報告的LSR 和DLSR字段推斷出往返行程時間。)如果往返行程時間不可用,則接收器不應(yīng)當(dāng)比設(shè)置時 間段更頻繁地發(fā)送RNACK消息。可能值為100毫秒,盡管根據(jù)應(yīng)當(dāng)環(huán)境其它值也可能是合 適的,這對本領(lǐng)域技術(shù)人員是顯而易見的。上述RNACK機制也可作為肯定確認(rèn)‘RACK’消息來應(yīng)用。在此情形中,接收器向發(fā) 送器指示哪些分組已被正確接收。根據(jù)本發(fā)明的原理,在對分組報頭的語義進(jìn)行適當(dāng)修改 的情況下,與RNACK消息相同的設(shè)計可被用作這些‘RACK’消息。RACK消息可具有有效載荷 特定解釋,例如,它們可對應(yīng)于切片或整個幀。在此類情形中,RACK消息必須確認(rèn)相關(guān)切片 或幀所涉及的所有各個分組。在同一系統(tǒng)中組合使用RACK和RNACK也是可能的。R分組技術(shù)具有若干優(yōu)點。首先,它使得發(fā)送器能夠?qū)⑺蒖TP流中的分組子集 指示為高優(yōu)先級(R)分組。
它還使得接收器能夠確定其何時已丟失R分組、何時接收到流的任何分組,并且 無需考慮經(jīng)編碼的流的依存性結(jié)構(gòu)如何。它還使得接收器能夠向發(fā)送器指示其在何時已丟失R分組。這可通過否定確認(rèn)已 被標(biāo)識為丟失的任何分組來實現(xiàn)。任選地,接收到的R分組可由接收器進(jìn)行肯定確認(rèn)。另外,它使得不管已丟失多少其它非R分組,接收器都能夠確定其自接收到的最 后分組起未丟失任何R分組。又一個優(yōu)點在于,它使得發(fā)送器能夠——或者以編解碼器知曉的方式(例如, H. 264切片)或者以編解碼器未知曉的方式(例如,RFC 3984分段單元)——將幀劃分成 任何數(shù)目的R分組。另一個優(yōu)點在于,它使得發(fā)送器能夠聲明R分組取代先前的R分組,S卩,先前的某 些R分組不再是建立流狀態(tài)所必需的。這包括能夠聲明給定分組之前的所有R分組已被取 代,以及一定范圍的R分組被取代兩者。最后,另一個優(yōu)點在于,它允許編碼器以允許R分組狀態(tài)從FEC流恢復(fù)的方式對其 媒體流——或者對所有分組或者選擇性地僅對于R分組——應(yīng)用前向糾錯(FEC)(參見例
如 A. Li 在 2006 年 3 月的 draft-ietf-avt-ulp-17 (進(jìn)行中)-"RTP Payload Format
for Generic Forward Error Correction(通用前向糾錯的RTP有效載荷格式)”。允許接收器以最小延遲檢測LR畫面(包括SR畫面)已丟失的第二示例性檢測技 術(shù)可應(yīng)用于基于H. 264 Annex G(SVC)草案標(biāo)準(zhǔn)的系統(tǒng)。在此情形中,H. 264 Annex G(SVC) NAL單元被用作進(jìn)行傳輸?shù)幕A(chǔ)。目前H. 264 SVC編解碼器的設(shè)計不運送足以允許接收器 確定是否已接收到流的全部最低時間層(R)——即H. 264 SVC術(shù)語中的“關(guān)鍵畫面”的信 息。例如,參看圖21,幀0和幀3都是自身存儲在長期參考緩沖器中的位置0的關(guān)鍵幀。幀 4參考長期參考緩沖器中的位置0。如果幀3完全丟失,則幀4不能被正確解碼。然而,接 收器在H. 264 Annex G(SVC)草案標(biāo)準(zhǔn)下無法了解這些;接收器如同它能夠使用幀0作為幀 4的參考那樣來進(jìn)行操作,因而顯示不正確的圖像。用于使得解碼器能夠檢測幀丟失的機制要將連續(xù)幀號或索引指派給關(guān)鍵圖片,并 且使非關(guān)鍵幀通過參考最近的關(guān)鍵幀的幀索引來指示該最近的關(guān)鍵幀。通過檢查關(guān)鍵幀索 引,流接收器可確定其是否確實接收到當(dāng)前幀之前的流的全部關(guān)鍵畫面。對于以H. 264 SVC 語法提供幀索引信息,存在多種可能性。以下參照圖23和24描述了兩種替換性實施例。圖22示出SVC NAL報頭擴展的結(jié)構(gòu),如在目前的H. 264 Annex G草案(參見例如 2006 年 7 月在 Klagenfurt 由 J. Reichel、D. Santa Cruz 和 F. Ziliani 修改的聯(lián)合視頻組 的文獻(xiàn) JVT-T201 的 T. WiegancUG. Sullivan、J. Reichel、H. Schwarζ,Μ. Wien 等人的“Joint Draft 7, Rev. 2 Scalable Video Coding(聯(lián)合草案7,修訂版2 可縮放視頻編碼)”, 2006年7月在Klagenfurt的聯(lián)合視頻組的文檔JVT-TO 83 (經(jīng)修改)的"OnHighLevel Syntax (關(guān)于高級語法)”,這兩篇文獻(xiàn)皆通過引用全部結(jié)合于此)中定義的。圖22示出3 字節(jié)報頭的結(jié)構(gòu),以及各個字段的名稱及其比特長度。cbpendencyjd(依存性_10) (D)、 temporal_level (時間_級)(T)以及qualitt_level (質(zhì)量_級)(Q)字段分別指示空間/ 粗粒度質(zhì)量、時間和細(xì)粒度質(zhì)量維度中的點。換言之,它們指示NAL的有效載荷在由可縮放 編碼器提供的一組分辨率中的位置。注意,此方案中的基層通過D = Q = T = 0來標(biāo)識。此外,注意當(dāng)T = Q = 0 時,fragmented_flag(分段 _ 標(biāo)志)、last_fragmcnt_
21flag (最后_片段_標(biāo)志)、fragmentjrder (片段_次序)字段沒有使用,因為它們僅對 res經(jīng)編碼的數(shù)據(jù)相關(guān)(q>o)。這些字段提供總共4比特。如果后綴reserved_zero_ two_bits(保留_零_兩_比特)被包括在內(nèi),則總共為6比特。類似地,當(dāng)TXHfiQ = 0 時,總共 4 比特的字段 fragmented_flag> last_fragment_f lag> fragment_order 不被使 用。如果添加后綴保留比特,則總共為6比特。通過注意條件T = Q = O對應(yīng)于關(guān)鍵畫面, 而T > 0且Q =對應(yīng)于非關(guān)鍵畫面,可看到存在可用于引入幀編號的若干比特??捎玫谋?特數(shù)目受非關(guān)鍵幀比特的限制。圖23示出根據(jù)用于以H. 264 SVC語法提供幀索引信息的示例性技術(shù)的經(jīng)更改的 SVC NAL擴展報頭的結(jié)構(gòu)。注意報頭的長度不變;然而,某些比特取決于T和Q字段的值 而被不同地解釋。在T = 0且Q = 0的情況下,F(xiàn)、LF、F0和R2字段被解釋為指定了指派給 當(dāng)前接入單元的關(guān)鍵畫面幀索引的FI字段0 ^_ 1(^11儀_&£11^_1叔(關(guān)鍵_畫面_幀_ 索引))。在T>0且Q = O的情況下,F(xiàn)、LF、FO和R2字段被解釋為指定按照解碼次序相 對于當(dāng)前接入單元的最近關(guān)鍵幀的key_pic_frame_idx的LFI字段(last_key_picture_ framejdx (最后_關(guān)鍵_畫面_幀_索引))。對非關(guān)鍵幀使用6比特允許表示64個連續(xù)幀號。使用在每秒30幀下低至4個的 關(guān)鍵畫面時段,每個幀號周期為8. 4秒。最小周期時間為4. 2秒,對應(yīng)于2個的關(guān)鍵畫面時 段。明顯地,較長的時間提供更好的穩(wěn)健性,因為參考畫面與到達(dá)的畫面之間幀號重復(fù)的機 會得以減小。用于以H. 264 SVC語法提供幀索引信息的技術(shù)的第二實施例通過使用保留比特之 一作為擴展標(biāo)志——當(dāng)它被置位時發(fā)信號通知報頭中存在附加比特或字節(jié)——來允許較 長長度的幀索引。圖24示出此實施例的示例性SVC NAL報頭擴展結(jié)構(gòu),其中最初3字節(jié)報 頭的最后比特現(xiàn)在用作擴展標(biāo)志伍?,^切1181011_打叫(擴展_標(biāo)志))。當(dāng)EF標(biāo)志被置位 時,報頭中存在附加字節(jié)。取決于T字段(temporaljevel (時間_級))的值,此附加字節(jié) 被解釋為FI或LFI字段。在兩個實施例(3字節(jié)或4字節(jié)SVCNAL報頭擴展)中,F(xiàn)I字段值遞增并滿足以下 約束如果當(dāng)前畫面是IDR畫面,則FI值應(yīng)當(dāng)?shù)扔? ;以及否則,S卩,如果當(dāng)前畫面不是IDR畫面,則令PrevTLOFrameIdx等于按照解碼次序 T等于0的最近畫面的FI值。當(dāng)前畫面的FI的值應(yīng)當(dāng)?shù)扔?PrevTLOFrameIdx+Ι) % 256。 數(shù)字256表示FI字段的動態(tài)范圍(最大值+1),并且應(yīng)當(dāng)針對不同的FL字段長度調(diào)節(jié)成值 2~ (以比特計的FI長度)。在RTP傳輸上下文和II. 264 SVC NAL傳輸上下文中,根據(jù)本發(fā)明的用于指示R畫 面索引值并在非R畫面中引用它的替換性機制對于本領(lǐng)域技術(shù)人員將是顯而易見的?,F(xiàn)在關(guān)注在視頻通信系統(tǒng)中使用LR畫面進(jìn)行可靠傳輸和隨機接入的替換性實施 例(參看圖1)。在本發(fā)明的替換性實施例中,SVCS單元可被配置成通過解碼所有LR畫面 并將最近的LR畫面保留在緩沖器中來便于LR畫面的可靠傳輸。當(dāng)接收器經(jīng)歷分組丟失時, 它可從SVCS請求最近LR畫面的副本。此畫面現(xiàn)在可在SVCS處被編碼成高質(zhì)量內(nèi)畫面并 被傳送到接收器。此經(jīng)編碼的畫面被稱為內(nèi)LR畫面。盡管帶寬開銷可能很高,但是這僅影 響特定SVCS與經(jīng)歷分組丟失的接收器之間的鏈路。內(nèi)LR畫面隨后可被接收器用作應(yīng)當(dāng)被包含在其參考畫面緩沖器中的實際參考畫面的良好近似。為了改進(jìn)這種近似,幀內(nèi)編碼較 佳地應(yīng)當(dāng)具有極高質(zhì)量。由H. 264支持的SI/SP技術(shù)還可用來提供對用于與比特流同步所 需的參考幀的準(zhǔn)確再現(xiàn)。在此情形中,SI和SP畫面兩者必須由編碼器生成。SI畫面由未 接收到SP畫面的接收器使用。通過構(gòu)造,使用SI/SP畫面機制沒有漂移。注意盡管Si/ SP機制當(dāng)前僅被H. 264 AVC支持,但是完全可對SVC類型(可縮放)編碼應(yīng)用相同的方法。 SI畫面可被SVCS進(jìn)行高速緩存,并且僅提供給新參與者。在最接近接收最終用戶的SVCS不具有用于持續(xù)解碼LR畫面(或者在LR畫面不 存在的情況下的LO畫面)的計算能力的情形中,該任務(wù)可被指派給在傳輸路徑的較早級處 的SVCS。在極端情形中,指派(以及最終用戶的相關(guān)聯(lián)請求)可在發(fā)送器自身處進(jìn)行。注意常規(guī)解碼畫面與在使用內(nèi)LR畫面之后解碼的那些畫面之間的匹配并不一 定精確(除非使用SI/SP幀)。然而,結(jié)合內(nèi)宏塊,在傳輸期間可能存在的視覺偽像被極大 地減少的同時,視頻通信系統(tǒng)可逐漸恢復(fù)同步。這種技術(shù)的益處在于其將差錯處理完全局 部化在經(jīng)歷分組丟失的鏈路上。結(jié)果,其他參與者在其視頻信號的質(zhì)量上完全不遭受懲罰。以上差錯彈性技術(shù)也可用于提供對經(jīng)編碼視頻信號的隨機接入。例如,在圖1中 所示的視頻會議示例中,當(dāng)最終用戶3加入最終用戶1與2之間的現(xiàn)行視頻會議時,最終用 戶3將開始從兩個最終用戶1和2處接收經(jīng)編碼的視頻流。為了能夠適當(dāng)?shù)亟獯a這些流, 最終用戶3處的視頻解碼器必須與最終用戶1和2處的解碼器同步。這要求將最終用戶3 處的參考畫面與最終用戶1和2處的參考畫面對齊。如前所述,由于使用內(nèi)畫面會對系統(tǒng)帶寬產(chǎn)生較大影響——對于較大會議的媒體 尤其如此——因此使用內(nèi)畫面沒有吸引力。內(nèi)宏塊的替換性技術(shù)可用于在較小的時段內(nèi)實 現(xiàn)同步。在本發(fā)明的實施例中,基于服務(wù)器的內(nèi)LR畫面被直接用于隨機接入。當(dāng)參與者第 一次加入會議時,它立即請求這種內(nèi)LR畫面,并隨后進(jìn)入差錯恢復(fù)模式(就像丟失了分組 那樣)。通過同時使用內(nèi)宏塊,解碼器將快速與編碼器同步,但是在處于差錯恢復(fù)模式期間, 視覺偽像將被最小化。注意發(fā)送編碼器通過會話的信令機制了解新的用戶何時加入通信 會話,并且可由此發(fā)起使用內(nèi)宏塊或按需增加其頻率。這例如通過圖6中所示的RRC模塊 630來實現(xiàn)。因此,與內(nèi)宏塊相關(guān)聯(lián)的編碼效率的降低僅被限于新的用戶加入會話的期間。由基于服務(wù)器的內(nèi)畫面所導(dǎo)致的計算復(fù)雜度并非十分高。假定每三個LO幀中有 一個是LR幀,則僅需要解碼8%的幀。將僅需要對很少部分的幀進(jìn)行編碼。實際上,僅集 中在隨機接入問題上(例如,參與者改變分辨率、或預(yù)訂會話),則僅需要對10%或更少的 幀進(jìn)行編碼。還可通過限制每個被處理的流生成I幀的頻率來將編碼限于任何期望值。例 如,假定8%的幀被解碼且2%被編碼(對應(yīng)于每48幀的隨機進(jìn)入),則與必須解碼和編碼 整個流的譯碼MCU/服務(wù)器的傳統(tǒng)實現(xiàn)相比,總的復(fù)雜度小于3. 5% (8% x25% +2% x75% =3. 5%,假定編碼復(fù)雜度是解碼復(fù)雜度的3倍)。類似于傳統(tǒng)譯碼MCU,基于服務(wù)器的內(nèi) LR畫面技術(shù)可將內(nèi)幀請求(例如,對于差錯恢復(fù)、隨機接入以及畫面大小的改變)與傳送器 隔離開,并由此限制了這種幀內(nèi)請求對其它參與者端點的影響。如前所述,如果服務(wù)器不具有用于基于服務(wù)器的內(nèi)畫面處理的CPU能力,或者如 果服務(wù)器未在會議會話中預(yù)訂所請求的流,則內(nèi)畫面請求可傳播到下一 svcs( S卩,更靠近 特定視頻流的傳送器)。如果系統(tǒng)中沒有服務(wù)器具有合適的內(nèi)畫面處理功能,則內(nèi)畫面請求甚至可傳播到發(fā)送器/傳送器本身。以基于服務(wù)器的LR畫面為基礎(chǔ)的視頻會議保留基于可縮放視頻和聯(lián)播的視頻會 議的優(yōu)點。這些優(yōu)點包括因無需抖動緩沖器而實現(xiàn)的最小服務(wù)器延遲(即使具有LR畫面)、 改進(jìn)的差錯彈性、以及比傳統(tǒng)MCU的復(fù)雜度小一個量級的復(fù)雜度。以上所述的LR和基于服務(wù)器的內(nèi)LR畫面技術(shù)也可直接應(yīng)用于空間可縮放性和 SNR或質(zhì)量可縮放性。LR畫面和基于服務(wù)器的內(nèi)LR畫面的概念可應(yīng)用于空間或質(zhì)量層的任 一個。例如,圖13示出具有三個時間層和兩個空間或質(zhì)量層的示例性畫面編碼結(jié)構(gòu)1300。 除差錯彈性和隨機接入之外,空間可縮放性和SNR可縮放性需要考慮層切換。例如,當(dāng)正在 以CIF分辨率觀看參與者的最終用戶決定切換至QCIF或反之時,可能導(dǎo)致層切換的需要。 對于差錯彈性和隨機接入而言,層切換是類似的,但并不相同。不同分辨率(空間或質(zhì)量) 之間的相關(guān)性可被有益地用于創(chuàng)建有效的層切換機制。應(yīng)當(dāng)注意如當(dāng)前在H. 264 SVC標(biāo)準(zhǔn)化努力中所研究的,在空間可縮放性方面,在 單環(huán)路中操作接收器是可能的。如果在高分辨率下執(zhí)行的預(yù)測不使用要求以低分辨率應(yīng)用 運動補償?shù)娜魏蔚头直媛市畔?,則單環(huán)路操作可能的。換言之,預(yù)測可使用內(nèi)宏塊、運動矢 量、預(yù)測模式、經(jīng)解碼的預(yù)測差錯值,但不使用低分辨率的實際經(jīng)解碼的像素。雖然從計算 的觀點來看,單環(huán)路解碼使得可縮放解碼器較為簡單,但是其使得從低到高或從高到低的 分辨率切換成為一個復(fù)雜的問題。單環(huán)路解碼的替換方案是其中以兩個或多個接收分辨率 解碼接收到的信號的多環(huán)路解碼。多環(huán)路解碼顯著地增大了解碼復(fù)雜度,因為它類似于同 時操作多個解碼器(每個經(jīng)解碼的分辨率一個)。在許多視頻會議應(yīng)用中,分辨率之間的頻率切換是必需的。例如,考慮其中有5個 人參加并且說話者在較大窗口中呈現(xiàn)而其他參與者則在較小的窗口呈現(xiàn)的中型會議中的 動態(tài)布局。通過使用兩個分辨率下的LR畫面,解碼器可維護(hù)解碼環(huán)路,后者使得兩個分辨 率下的參考畫面緩沖器的內(nèi)容相近似——準(zhǔn)確而言是在LR時間點處。當(dāng)從一個分辨率切 換到另一個時,LR畫面可用作解碼成另一分辨率的起始點。假定這些LR畫面是每4個LO 畫面中的一個,則轉(zhuǎn)換在0.4秒內(nèi)發(fā)生,同時計算開銷小于單環(huán)路解碼的10% (準(zhǔn)確地為 1/12)。當(dāng)解碼器僅‘預(yù)訂’LR畫面時,SVCS可向解碼器傳送分割成較小片的LR幀。這些較 小的片可分散在LR周期上的所有幀之間,以在給定鏈路上維護(hù)平滑的比特率?;蛘?,SVCS 可跨時間地分散于來自多個流的不同LR幀上。兩個分辨率下的內(nèi)宏塊也可用來便于層切換。假定端點希望從低分辨率轉(zhuǎn)到高分 辨率。其將持續(xù)解碼低分辨率信號并以高分辨率顯示它(上采樣),同時將在“差錯恢復(fù)”模 式中開始解碼高分辨率信號但不顯示它。當(dāng)接收器確信其高分辨率解碼環(huán)路與編碼器充分 同步時,它可將顯示切換到經(jīng)解碼的高分辨率畫面且任選地停止解碼低分辨率環(huán)路。相反, 當(dāng)從高分辨率轉(zhuǎn)到低分辨率時,接收器可使用高分辨率畫面作為低分辨率編碼環(huán)路的良好 參考畫面,并以低分辨率在常規(guī)差錯恢復(fù)模式(并且進(jìn)行顯示)繼續(xù)。通過這種方法,端點 將避免必須持續(xù)接收高分辨率數(shù)據(jù)。使用內(nèi)宏塊的一個可能的缺點是其在切換或進(jìn)入時間與施加于流的當(dāng)前接收器 上開銷的量之間造就一種權(quán)衡。切換越快速,則對于當(dāng)前接收器而言,將有越多的開銷。以 上W066]所述方法或在服務(wù)器上生成內(nèi)幀的是用于有效地避開這種權(quán)衡的一種可能的方 法,但它在服務(wù)器上的確需要附加媒體處理。本發(fā)明之下的其它方法如下
方法(a),其中內(nèi)宏塊被包括在LR/SR幀中(以使得低速率切換或進(jìn)入將可能具有 極低的開銷),同時SVCS高速緩存LR/SR幀。當(dāng)新的接收器進(jìn)入流時,SVCS僅向其提供這 些幀以使得接收器可比實時更快地將它們解碼(通常為1 8)并且縮短進(jìn)入時間。方法(b),其中作為方法(a)的補充,SVCS移除高速緩存的LR/SR畫面中存在的、 對于接收器而言因后繼I宏塊而變得冗余的幀間宏塊。這在LR/SR幀由編碼器以切片形式 來配備的情況下可更容易實現(xiàn),以使此操作將僅需要刪去此類冗余的中間切片。在以下描 述中,這兩種方法(a)和(b)都稱為“內(nèi)宏塊快速轉(zhuǎn)發(fā)”。圖25示出內(nèi)宏塊快速轉(zhuǎn)發(fā)的操作。附圖示出在三個連續(xù)時刻t = i到i+2處各 自被編碼成三個單獨切片的LR畫面2500 (LR i到i+2)。在各個時刻,三個切片之一被編碼 為幀內(nèi)(A)。當(dāng)進(jìn)行組合時,這三個畫面一起向解碼器提供每個宏塊的至少一個內(nèi)版本。為 了用于創(chuàng)建參考畫面,除內(nèi)切片A之外,解碼器還必須接收圖中所示的陰影切片(B)。這些 陰影切片是使用宏塊數(shù)據(jù)從同一位置處的先前切片預(yù)測的。在實現(xiàn)快速轉(zhuǎn)發(fā)內(nèi)恢復(fù)時,服 務(wù)器需要高速緩存提供這種內(nèi)切片編碼的任何連續(xù)LR畫面。一旦有來自接收器的請求,服 務(wù)器就僅需傳送內(nèi)切片以及圖25中所指示的陰影切片B。圖25中所示的非陰影切片(C) 無需被傳送。注意并非所有LR畫面都必須提供此類內(nèi)切片編碼。例如,假定LR畫面的傳輸模 式諸如為LRI LRI LRI LR LR LR,其中‘I’上標(biāo)指示存在內(nèi)切片,則服務(wù)器不僅必須高速緩 存內(nèi)切片及其在LRI畫面中的依存切片,還必須高速緩存后續(xù)LR畫面中的依存切片。此技術(shù)可被擴展到高分辨率同步。例如,在如上所述同步到基層之后,接收器可在 開始時顯示經(jīng)上采樣的基層信息。同時,它可在增強(S)層(通過SRI畫面)中發(fā)起相同 的過程。注意這些畫面在SVCS處無需被高速緩存,而是接收器一被添加到會話就指示編 碼器開始生成它們。由于恢復(fù)點是根據(jù)高速緩存的基層來確定的,因此這不會增加同步時 間。這將僅影響由接收器看到的初始視頻質(zhì)量。圖26示出使用由三個切片構(gòu)成的LR畫面 的示例的這種高分辨率同步過程。參看圖26,SVCS高速緩存LRI畫面的整個周期2610以及后續(xù)LR畫面(2610,)。 當(dāng)客戶端加入(例如,在A點)時,SVCS盡可能快地向接收器傳送所有高速緩存的LR畫 面。一解碼所有這些畫面,接收器現(xiàn)在就處于同步(例如,在B點)并可開始LR流的常規(guī) 解碼。它還可顯示經(jīng)解碼的、上采樣到高分辨率的畫面。同時,在A點處,通知編碼器來生 成SRI畫面2620。這些畫面開始在C點到達(dá)接收器。一接收到整個周期的SRI畫面(例 如,在D點),接收器就從顯示上采樣的基層畫面切換到顯示經(jīng)解碼的全分辨率畫面。盡管 LR恢復(fù)是通過比實時更快速地解碼來實現(xiàn)的,但是SR恢復(fù)是通過實時解碼來實現(xiàn)的。在此 示例中,接收器能夠在B點產(chǎn)生顯示輸出(雖然以較低的質(zhì)量)。應(yīng)當(dāng)理解,根據(jù)本發(fā)明的 原理,可對SR恢復(fù)使用不同的定時或速率。例如,在帶寬允許的情況下,SR恢復(fù)可連同LR 恢復(fù)一起被快速轉(zhuǎn)發(fā)。此外,內(nèi)宏塊可一直存在于SR畫面中,而非僅在可適于較大會議或 與頻繁分辨率改變相關(guān)聯(lián)的會議時按需發(fā)起。最后,如果已在接收器中解碼LR畫面,則僅 快速轉(zhuǎn)發(fā)SR級所需的信息可被提供給解碼器??稍谡_時間指示解碼器開始使用如在H. 264規(guī)范中定義的恢復(fù)點SEI消息來顯 示畫面。參數(shù)recovery_frame_cnt (恢復(fù)中貞計數(shù))禾口 exact_match_flag (準(zhǔn)確_匹配_標(biāo) 志)可用于指示完成恢復(fù)的幀號,以及是否與編碼器相匹配。
在內(nèi)宏塊被減小以使得刷新需要較大數(shù)目的LR/SR幀的情況中,快速轉(zhuǎn)發(fā)方法將 要求發(fā)送大量LR/SR幀,從而導(dǎo)致比質(zhì)量相當(dāng)?shù)囊粋€I幀更大的總帶寬利用。此外,在許多 視頻切換技術(shù)(例如,語音激活切換)中,許多接收器將需要切換到較低或較高分辨率下的 相同畫面。在這些情形中,方法(a)可增加執(zhí)行R幀的解碼以及向切換或進(jìn)入接收器發(fā)送 常規(guī)內(nèi)幀的服務(wù)器(方法(C))。這種經(jīng)增加的方法(a)提供了在當(dāng)前預(yù)訂流的端點處維持 較小開銷的同時降低與基于服務(wù)器的內(nèi)幀方法相關(guān)聯(lián)的計算開銷與減小進(jìn)行切換時的帶 寬開銷以及切換時間本身之間的良好權(quán)衡。在另一方法(d)中,取決于系統(tǒng)中的約束,快速方法可僅用于縮短對同步的等待 時間而非完全消除這種等待時間。例如,如果系統(tǒng)中的進(jìn)入端點是帶寬有限的,則可能并不 較快地向它發(fā)送提前同步所需的所有LR/SR畫面。相反,為了更快速地同步,可向進(jìn)入端點 發(fā)送或提供較小的儲備(backlog)。以上所描述的各種技術(shù)和方法在實踐時可被組合或更改。例如,快速轉(zhuǎn)發(fā)方法可 僅應(yīng)用于LR級(最低空間/質(zhì)量分辨率)幀,這些幀隨后可被解碼并上采樣以用作后繼增 強層幀的參考。實際上,可在之后用于傳送增強層幀的帶寬和用于將它們解碼的CPU可在 同步期間使用以更快速地傳送和解碼LR幀。在編碼器并非帶寬有限的情形中,編碼器在周期性基礎(chǔ)上生成I幀或切片。編碼 器可操作成使得就在I切片或畫面之前的幀將作為緊接其后的幀的參考。SVCS可高速緩 存這種幀內(nèi)信息,并且阻止將其轉(zhuǎn)發(fā)到當(dāng)前接收此流的端點,由此避免任何開銷。對于新的 參與者,SVCS將提供此I畫面以及任何后續(xù)的R幀,以使得新的參與者可趕上實時。如果 從編碼器到SVCS可用其它帶寬,則有可能傳送所有LR幀,并且添加I切片或畫面作為附加 冗余畫面。冗余畫面將在SVCS處被高速緩存,而常規(guī)LR畫面被轉(zhuǎn)發(fā)到接收者。高速緩存 的I切片或畫面可如前所述地用于幫助接收器同步到特定流,同時未對當(dāng)前參與者造成任 何帶寬開銷。以上所述的方法也可用在一個到多個流送應(yīng)用的、要求低延遲和某些交互性度量 的上下文中,并在本發(fā)明下被要求權(quán)利。前述切換技術(shù)的潛在的缺點是它在從低分辨率切換到高分辨率時要求雙解碼環(huán) 路。一種替換性切換技術(shù)僅要求單環(huán)路解碼結(jié)構(gòu)。在要實現(xiàn)從低分辨率到高分辨率的切換 時,解碼器切換到由以較低分辨率解碼的參考畫面初始化的高分辨率解碼環(huán)路。從此時開 始,解碼并顯示高分辨率畫面,并且最終經(jīng)由內(nèi)宏塊與傳送器同步。當(dāng)進(jìn)行單環(huán)路解碼時,視頻編碼器僅以參與者所請求的大小編碼畫面是可能的。 這在以多個分辨率進(jìn)行編碼時是優(yōu)點,例如,極低分辨率的編碼可用于差錯隱藏目的。此外,根據(jù)本發(fā)明,空間和/或SNR可縮放性可用于差錯隱藏。例如,假定單環(huán)路 CIF/QCIF編碼。如果在高分辨率上發(fā)生差錯,對于差錯隱藏,解碼器可上采樣QCIF分辨率 的內(nèi)宏塊,并使用可用運動矢量、模式和在CIF層編碼的預(yù)測差錯。如果雙環(huán)路解碼是可能 的,或在工作中可基于差錯的檢測進(jìn)行,則解碼器還可使用上采樣的經(jīng)解碼的QCIF圖像作 為將來的幀的參考或用于顯示目的。使用在CIF層處使用的宏塊和/或消除對被破壞畫面 的依存性的時間結(jié)構(gòu),視頻通信系統(tǒng)將快速地從損壞中恢復(fù)。圖13中所示的相同LR方案也可用于穩(wěn)健性目的。當(dāng)在增強層發(fā)生分組丟失時, 低分辨率LR幀可提供恢復(fù)點。經(jīng)解碼的幀可用作高分辨率參考畫面緩沖器的估計,或者可替代高分辨率幀顯示直至高分辨率解碼環(huán)路恢復(fù)。當(dāng)與內(nèi)宏塊組合時,這可以是有效的差 錯彈性技術(shù)。此外,可在計算負(fù)載與切換速度之間進(jìn)行權(quán)衡。例如,通過更多地解碼低分辨 率層(例如,所有LO畫面),存在用于恢復(fù)高分辨率層的更多和更好的數(shù)據(jù)。對增強層信號 使用LR幀也是可能的。如在圖13的畫面編碼結(jié)構(gòu)中,當(dāng)存在一個以上的空間或質(zhì)量分辨率時,快速轉(zhuǎn)發(fā) 恢復(fù)和隱藏可同時發(fā)生。例如,當(dāng)解碼器不接收所要求的SR畫面時,它可使用隱藏來解碼 后續(xù)SR和S0-S2畫面。當(dāng)缺少的SR畫面通過重發(fā)變得可用時,解碼器可隨后重新解碼自SR 丟失起接收到的插入SR畫面,并且可能已被隱藏地顯示,以使其為后續(xù)SR畫面產(chǎn)生正確的 參考畫面。注意如果SR重傳足夠快,且重傳的SR早于在丟失的SR之后的SR畫面到達(dá), 則在允許其對必須解碼并接著顯示的畫面生成正確的參考畫面的情況下,解碼器也可解碼 已被隱藏地顯示的SO和Sl畫面的任一個或全部。如果畫面以切片形式來構(gòu)造,則根據(jù)本 發(fā)明的原理,本文所述的隱藏和快速轉(zhuǎn)發(fā)恢復(fù)技術(shù)皆可獨立地應(yīng)用于切片中的每一個。在空間可縮放性方面,帶寬效率在跨時間與跨空間分辨率之間存在有益的相互作 用。例如,在單環(huán)解碼中,基層處的內(nèi)宏塊對改進(jìn)較高空間層的編碼效率是有益的。此外, 試驗已表明,編碼的質(zhì)量越高(即,QP值越小),則運動估計的有效性越低。LR幀的典型大 小是LO幀的兩倍,但是大小差異隨著質(zhì)量的提高而減小。因此,對于越高分辨率和/或畫 面質(zhì)量,可令所有LO幀來將LR幀用作參考而沒有顯著的編碼效率懲罰。由于保證LR幀將 被可靠接收到,因此使用它們提供了更大程度的差錯彈性解決方案而在帶寬中沒有過度的 懲罰。針對視頻通信系統(tǒng)在LR畫面與內(nèi)宏塊的使用之間的選擇取決于所遇到的特定網(wǎng) 絡(luò)狀況、參與者的數(shù)目和若干其它因素。為了使視頻通信系統(tǒng)的效率最佳化,聯(lián)合考慮這些 技術(shù)的每一種在解碼過程中的效果是很重要的。理想地,如果編碼器完全知曉解碼器的狀 態(tài)——包括丟失分組,則最大化將來的幀的質(zhì)量是可能的。這可在編碼器與所有解碼器之 間維護(hù)緊密反饋環(huán)路的情況下實現(xiàn)。這通過RRC模塊530 (圖6)來表示??稍谒屑壪绿?供反饋,例如從各個宏塊、切片、畫面或整個層提供。RRC模塊530可被配置成根據(jù)模式選擇、運動矢量選擇等連同參考畫面選擇(常 規(guī)或LR參考)以及強制內(nèi)宏塊編碼過程的統(tǒng)計一起來協(xié)調(diào)編碼器的決定。此外,RRC模塊 530可被配置成維護(hù)與幀中可用于運動補償預(yù)測的安全對非安全部分有關(guān)的狀態(tài)信息。這 些決定可以與編碼器聯(lián)合的方式作出。可為編碼器所用的反饋越是詳細(xì),可作出的決定越 好。如果編碼器知道解碼器處所采用的差錯隱藏策略,則假定使用反饋編碼器將能夠 計算解碼器的準(zhǔn)確狀態(tài),即使存在分組差錯也如此。如果實際分組丟失信息不可用,則編碼 器仍可使用統(tǒng)計技術(shù)來估計分組丟失的概率性影響以及在執(zhí)行速率_失真最優(yōu)化時計入 分組丟失。例如,較高的丟失率將導(dǎo)致較大百分比的幀內(nèi)經(jīng)編碼的宏塊。類似地,可將諸如新用戶加入會議的操作引入編碼器的最優(yōu)化過程中。在此情形 中,向新用戶提供隨機接入點的需要轉(zhuǎn)化為編碼器處極高百分比的內(nèi)宏塊。使用可縮放編 碼,在層切換中觀測到相同的現(xiàn)象。出于系統(tǒng)效率起見,由RRC 530管理的反饋信息無需直接到達(dá)特定編碼器。作為 替換方案,中間SVCS可過濾反饋消息并向編碼器呈遞合并結(jié)果。系統(tǒng)中的中間節(jié)點可對反饋消息采取動作。例如,考慮NACK消息的情形。NACK可從最近的中間節(jié)點(SVCS)觸發(fā)重 傳。NACK可一直傳播至源,在那里它被用于跟蹤解碼器的狀態(tài)。此信息可例如引發(fā)編碼器 將參考畫面索引切換成指向LR畫面(或知道其自身已被適當(dāng)?shù)亟邮涨耶?dāng)前在編碼器的緩 沖器中可用的畫面)。NACK/ACK消息傳送的概念直接導(dǎo)致用于運動補償預(yù)測是安全或非安 全的畫面或畫面區(qū)的概念,后者又自然地導(dǎo)致LR畫面的概念。具有固定周期性結(jié)構(gòu)的LR 幀允許用NACK分發(fā),并且類似地緊密NACK/ACK反饋的使用實現(xiàn)LR畫面的完全動態(tài)選擇。
作為NACK/ACK反饋消息所隱含的“推入(push) ”方法的替換方案的是“拉出 (pull)”架構(gòu)。在拉出架構(gòu)中,LR畫面無需被確認(rèn),相反地被緩沖在每個中間SVCS處,并且 當(dāng)端點或其它下游服務(wù)器確定它們已錯失LR分組時基于請求(例如,類似于對新的I幀的 請求)來重傳。在這種拉出架構(gòu)的變體中,所有LO分組(或已用于給定應(yīng)用的可縮放編碼方案的 其它最低時間級)被緩沖在每個中間SVCS處并基于請求來重傳。此變體可使得端點在等 待錯失的LO分組的同時如果不具有解碼已到達(dá)的所有LO分組的CPU帶寬,則總是處于力 圖迎頭趕上的模式中。然而,拉出架構(gòu)的這種變體的優(yōu)點在于,不存在僅出于差錯彈性的目 的而引入的略大LR幀的附加開銷??煽啃苑纸M(不管LR還是L0)之間的間隔應(yīng)當(dāng)根據(jù)最弱參與者(端點或另一服 務(wù)器)的CPU和帶寬約束來確定。過于頻繁到達(dá)的可靠性分組會在恢復(fù)期間超出端點的容 量。視頻通信系統(tǒng)可被配置成向發(fā)送器發(fā)信號通知參與者的恢復(fù)能力,以使得可靠性分組 之間的間隔可盡可能地與最弱參與者所能處理的一樣小,但是不比它小。構(gòu)成編碼器決定作出過程的一部分的是宏塊編碼類型(mb_type)的選擇。此決定 計入與給定以上考慮的情況下的幀間編碼相關(guān)聯(lián)的失真和速率。與(受約束的)幀內(nèi)編碼 相關(guān)聯(lián)的失真和速率在無需考慮多個解碼器的情況下被計算出。取決于對成本函數(shù)的選 擇,必須對每個空間分辨率和mb_type計算一個或多個失真值。當(dāng)對解碼器狀態(tài)或成本函數(shù)的建模不準(zhǔn)確時,內(nèi)宏塊類型可替代或附加地選擇以 符合隨機模式。適當(dāng)數(shù)量的內(nèi)宏塊可根據(jù)對信道差錯概率以及隱藏能量的量的估計來確定。雖然已描述了被視為是本發(fā)明的優(yōu)選實施例的那些實施例,但是本領(lǐng)域技術(shù)人員 應(yīng)當(dāng)認(rèn)識到,可作出其它或進(jìn)一步的改變和更改而不背離本發(fā)明的精神,并且其旨在要求 保護(hù)落在本發(fā)明的真實范圍內(nèi)的所有這些改變和更改。應(yīng)當(dāng)理解,本發(fā)明的系統(tǒng)和方法可用任何硬件和軟件的組合來實現(xiàn)。用于實現(xiàn)和 操作前述系統(tǒng)和方法的軟件(即,指令)可被設(shè)置在計算機可讀介質(zhì)上,這些計算機可讀介 質(zhì)可包括但不限于固件、存儲器、存儲設(shè)備、微控制器、微處理器、集成電路、ASICS、可在線 下載的媒體以及其它可用的介質(zhì)。
權(quán)利要求
1.一種用于將用提供兩個或多個時間層的技術(shù)編碼的經(jīng)壓縮數(shù)字視頻解碼的系統(tǒng),其 中經(jīng)壓縮視頻畫面被構(gòu)造成一個或多個分組,并且在出差錯或一旦發(fā)起解碼的情況下,可 在來自發(fā)送器的經(jīng)壓縮數(shù)字視頻流中比實時更快地并在其預(yù)期呈現(xiàn)時間之后接收到至少 最低時間級畫面的分組,所述系統(tǒng)包括解碼器,在出差錯或一旦發(fā)起解碼的情況下它比實時更快地解碼所接收到的畫面,并 且如果在其預(yù)期呈現(xiàn)時間之后被解碼,則不顯示它們,由此所述解碼器可與所述接收到的經(jīng)壓縮數(shù)字視頻流同步,并隨后在實現(xiàn)此同步之后 執(zhí)行常規(guī)解碼和呈現(xiàn)。
2.一種用于將用提供兩個或多個時間層的技術(shù)編碼的經(jīng)壓縮數(shù)字視頻解碼的方法,其 中經(jīng)壓縮視頻畫面被構(gòu)造成一個或多個分組,并且在出差錯或一旦發(fā)起解碼的情況下,可 在來自發(fā)送器的經(jīng)壓縮的數(shù)字視頻流中比實時更快地且在其預(yù)期呈現(xiàn)時間之后接收到至 少最低時間級畫面的分組,所述方法包括在端點處比實時更快地解碼所接收到的畫面,并且如果在其預(yù)期呈現(xiàn)時間之后被解碼 則不顯示它們,由此所述解碼器可與所述接收到的經(jīng)壓縮數(shù)字視頻流同步;以及在實現(xiàn)此同步之后執(zhí)行常規(guī)解碼和呈現(xiàn)。
3.一種包括用于執(zhí)行方法權(quán)利要求2中所述的步驟的指令集的計算機可讀介質(zhì)。
全文摘要
提供了一種用于視頻通信系統(tǒng)中的差錯彈性傳輸和隨機接入的系統(tǒng)和方法。該視頻通信系統(tǒng)基于可用在視頻通信系統(tǒng)中的單層可縮放視頻、或具有時間可縮放性的聯(lián)播視頻編碼。視頻信號傳輸中的一組視頻幀或畫面被指定使用安全或高可靠性鏈路或通過重傳技術(shù)可靠或有保證地遞送到接收器。被可靠遞送的視頻幀在差錯發(fā)生之后或在隨機接入期間用作接收器與所傳送的視頻信號重新同步的參考畫面。
文檔編號H04N7/64GK102036071SQ20101052227
公開日2011年4月27日 申請日期2006年12月8日 優(yōu)先權(quán)日2005年12月8日
發(fā)明者A·埃爾法澤阿迪斯, J·倫諾克斯, M·薩克希納, O·莎彼洛, R·希萬拉, R·薩西恩, S·希伯利 申請人:維德約股份有限公司