Global Sources
電子工程專輯
 
電子工程專輯 > 放大/轉換
 
 
放大/轉換  

用H.26L降低視訊會議系統對網路頻寬的需求

上網時間: 2003年05月31日     打印版  Bookmark and Share  字型大小:  

關鍵字:Digital video  coding  videoconferencing  ITU-T  ISO/IEC JTC1 

由於網路頻寬的限制以及編碼技術的制約,即時視訊通訊應用中存在視訊品質差、圖像延遲大和抗封包丟失能力弱等問題,而在包括音訊、視訊和數據的視訊會議呼叫中,視訊部份通常會佔用整個呼叫可用頻寬的絕大部份。本文介紹的H.26L針對這種問題,能將頻寬需求降低50%,因而可在低頻寬網路上實現視訊會議系統應用。圖1:ITU-T建議和MPEG標準的發展。

從固定和行動視訊電話以及視訊會議到DVD和數位電視,數位視訊正被越來越多的應用採用。這一現象之所以出現歸功於視訊編碼標準的發展,有了這些編碼標準,系統和系統之間才能實現互通性。此外,這些標準也為降低整個網路結構中所需的頻寬作出了貢獻,並在位元率不變時,讓系統可以獲得更好的視訊品質,同時減少系統對視訊儲存的要求。幾年以前,基於模組的壓縮算法才趨於成熟,而如今出現的H.26L標準卻已經在編碼效率上實現了突破,它可以透過進一步擴展優先標準中的基本技術,將位元率降低50%。

H.26L中包含訊框內預測(intra prediction)功能、更靈活的運動補償功能、新的4×4整型轉換功能,還能實現功能更強大的熵編碼,這些對於H.26L而言都很關鍵。H.26L中提供了多種編碼工具,這就使系統開發商能夠針對不同的終端系統應用來最佳化其算法,達到區分產品的目的。但在開始採用H.26L進行開發之前,我們必需了解它能夠作些什麼,以及如何完成其功能。只有這樣,設計者才能很好的利用這項剛剛推出的視訊編碼標準所具備的優勢進行設計。

H.26L概述

開發視訊編碼標準的正式組織有兩個,其一是ITU-T,其二是ISO/IEC JTC1。ITU-T視訊編碼標準被稱作建議,以H.26X的形式表示(例如,H.261、H.262、H.263和H.26L)。ISO/IEC標準則以MPEG-x的形式表示(例如,MPEG-1、MPEG-2和MPEG-4)。

ITU-T建議本來是為視訊會議和視訊電話等即時視訊通訊應用設計,而MPEG標準主要則是為視訊儲存(DVD)、廣播視訊(廣播TV)以及視訊流(例如,網上視訊、DSL上的視訊以及無線視訊應用)設計。這兩個標準委員會通常都獨立工作,唯一的例外就是二者合作開發了H.262/MPEG-2標準。

最近,ITU-T和ISO/IEC已經達成協議,再次合作開發由ITU-T發起的H.26L標準。他們之所以能在開發H.26L上達成一致,原因在於,從性能的角度而言,H.26L超越了現有的所有視訊編碼標準。圖1對ITU-T建議和ISO/IEC MPEG標準的發展演化過程進行了總結。

開發H.26L計畫的目的,是為了透過採用‘Back-To-Basics’方法,開發出一種基於通用模組的,簡單直接的高性能視訊編碼標準。H.26L標準的開發工作是由ITU-T視訊編碼專家組(VCEG)發起的,開始於1997年。到2001年年底,他們發現,基於H.26L的軟體所能提供的視訊品質,就是現有的最好的基於MPEG-4的軟體也無法與之媲美。於是,ISO/IEC MPEG與ITU-T圖2:H.26L編碼器採用一種基於整數的轉換方式,類似於老式DCT轉換。 VCEG結合起來組成了一個聯合視訊開發組(JVT),接管了H.26L計畫。JVT希望設立一個唯一的視訊編碼標準,同時使其成為MPEG-4標準家族和ITU-T建議家族的新成員(比如,成為MPEG-4中的第10部份或ITU-T中的H.264)。

H.26L的開發目前正進行中,其第一版可望在2003年年底前公佈。

目前的H.26L標準中包含了一些能夠使其區別於現有的一些其它標準的特性,如:

1. 對位元率的節省高達50%。在大多數位元率的情況下,當編碼最佳化程度接近時,H.26L與H.263v2(H.263+)或MPEG-4簡化版相較,H.26L可以允許位元率的降低程度平均達到50%。

2. 可提供高品質的視訊訊號。H.26L即使在位元率很低的情況下也能提供品質穩定的視訊訊號。

3.

對延遲約束的適應性較強。當用於即時通訊應用中(例如視訊會議)時,H.26L可以以低延遲模式工作,而應用於對延遲沒有要求的應用中(例如視訊儲存)時,H.26L又可以以較高的效率處理延遲。

4. 具有誤差處理能力。在封包網路中出現封包丟失時或在較易出錯的無線網路中出現誤碼時,H.26L能夠提供處理這類問題所必需的工具。

5. 網路非常友好。在H.26L中,有一個新的特性,那就是視訊編碼層和網路適配層從概念上分離開來。視訊編碼層用於對視訊圖像的內容進行高比壓縮,而網路適配層用於根據用戶所使用的網路類型的不同,將壓縮後的資訊打包。這使得封包過程變得更加靈活和簡單,同時也改善了對資訊優先權的控制情況。圖3:QCIF圖像劃分為16×16巨集塊。

綜合以上這些特性,可以看出H.26L在視訊應用方面具有相當的優勢。在本文的結束部份,我們將討論H.26L用於視訊會議時所具備的優勢。

H.26L是如何實現上述功能的呢?

開發H.26L的主要目的是希望找到一種方法來充分地實現更好的視訊品質,這種視訊品質是任何現有視訊編碼標準都無法達到的。但H.26L的實現方法和以前的那些標準(例如H.263和MPEG-4)中所用到的方法差別並不顯著,它包含以下四個主要步驟:

1. 首先,將每個視訊訊框分成畫素塊,於是,對視訊訊框的處理可以設立在處理畫素塊的基礎上。2. 其次,透過進行變換、量化和熵編碼(或可變長度編碼),對一些原始畫素塊編碼,因而將視訊訊框中的空間冗餘度利用起來。3. 然後,只對連續訊框之間出現的變化進行編碼,因而充分利用連續訊框之間存在的時間冗餘度。這個過程是透過運動估值和補償來實現的。4. 最後,對餘差模組編碼,也就是說,透過變換、量化和熵編碼對原始模組和相應的預測模組之間的差異進行編碼,因而充分利用視訊訊框內剩餘的空間冗餘度。

從編碼的角度來看,H.26L和其它編碼標準的主要差別如圖2中的編碼模組框圖所示。從運動估值和補償的角度來看,H.26L採用了各種尺寸和形狀的模組,子畫素運動估值的解析度更高,並且可以有多種參考訊框選擇方案。從所採用的變換方式來看,H.26L採用的基於整數的變換方式類似於早期那些標準中所採用的DCT變換,不同的是,採用這種變換方式進行反變換時,不存在失配問題。

在H.26L中,熵編碼有兩種實現方法,其一是利用一個通用的可變長度編碼表來實現,此外,也可由基於上下文的自適應二進制算術編碼實現。

如何組織位元流

前面講到,在H.26L中,我們會將一個特定的視訊圖像化分為許多小畫素塊,這些小畫素塊就叫做巨集塊(macroblock)。如圖3所示,我們將一幅解析度為QCIF(176×144畫素)的圖像劃分為99個16×16的巨集塊。對其它訊框所作的巨集塊分段處理與此類似。

我們以原圖像的解析度對該圖像的亮度資訊取樣,而對圖像的色差資訊Cb和Cr,則從水平方向和垂直方向上進行下取樣。此外還應注意的是,一幅圖像只能被分割成整數片,因為如果該圖像在傳輸過程中丟失了一些資訊的話,那麼整數片的分割方法會大幅有助於資訊的再同步。

訊框內預測(intraprediction)編碼圖4:4×4亮度塊的訊框內預測模式。

訊框內編碼是指只利用視訊圖像內的空間冗餘度來最佳化編碼。採用這種編碼方式得到的圖像訊框被稱作I-圖。I-圖通常是透過直接對一訊框中的各巨集塊進行變換得到的,其文件很大,因為此時訊框內還含有大量的資訊,而且編碼過程絲毫沒有利用圖像的時間資訊。

要提高H.26L中訊框內編碼過程的編碼效率,就必須將同一訊框中相鄰巨集塊之間的空間關聯性利用起來。提出這一想法的依據是人們發現相鄰的巨集塊常常具有類似的特性。因此,作為對某一特定巨集塊進行編碼的第一步,我們可以根據周圍的巨集塊來預測我們所感興趣的巨集塊,通常我們會選擇目標巨集塊左側和上側的巨集塊,因為這些巨集塊已經透過編碼了。然後再對實際的巨集塊與預測巨集塊之間的差別進行編碼。這樣,要表達出我們所感興趣的巨集塊時所需的位數就比直接對該巨集塊進行變換所需的位數少得多。

H.26L提供了6種模式用於實現4×4亮度塊的預測,包括直流預測(模式0)和其它5種有方向的預測模式(模式1到模式5,如圖4所示)。圖中,畫素A到畫素I均經過編碼,可將這些畫素作為相鄰模組,用於預測目標塊。

例如,如果選擇模式2進行預測,那麼畫素a、e、i和m在預測中被設置為與畫素A相等,畫素b、f、j和n在預測中被設置為與畫素B相等。對於空間細節含量較少的區域(平坦區域),H.26L也支援16×16的訊框內編碼,此時可在4種預測模式中選用一種來對整個巨集塊進行預測。

最後,每個塊在選擇其預測模式時,它採用各種模式的可能性由其周圍模組編碼時所採用的預測模式來決定,分配給某模式的符號越短,採用這種模式的可能性就越大。

訊框間預測和編碼

在訊框間預測和編碼(interprediction and coding)中,運動估值和補償在實現時必須利用連續訊框之間存在的時間冗餘度,因而這種方法可有效地實現視訊序列的編碼。如果運動估值所選定的參考訊框是一個經過編碼的訊框,那麼目標訊框(被編碼訊框)就叫做P-圖。如果已編碼訊框和未編碼訊框均被選作參考訊框,那麼目標訊框就叫做B-圖。

H.26L中的運動估值能夠支援早期視訊標準中的大多數重要特性,不同的是H.26L中的功能更多也更靈活,因而其效率得到了改善。除了支援P-圖(既支援單參考訊框也支援多參考訊框)和B-圖以外,H.26L還支援一種新的叫做SP-圖的流間過渡圖像。H.26L中採用的運動估值所具備的主要特性包括:塊大小和形狀多種多樣,高精密度的子畫素運動向量,多參考訊框以及預測迴路中的消塊濾波器。

1. 塊大小:我們可以透過使用多個不同大小和不同形狀的塊來完成每個16×16巨集塊的運動補償,見圖5。即使只有4×4那麼小的塊,H.26L也可為其傳送特有的運動向量,因此H.26L最多可以為每一個巨集塊傳送16個運動向量。H.26L同時也支援大小為16×8、8×16、8×8、8×4和4×8的塊,如圖5所示。H.26L這種能夠對小尺寸塊進行運動補償的能力,從整體上改善了目標預測的性能。特別值得一提的是,這同時還改善了整個系統模型處理精細運動細節的能力,並使得主觀視覺品質得到提高,因為這些小尺寸塊不會產生大的塊狀馬賽克。

2.圖5:H.26L中為實現運動估值而採用的各種分割巨集塊的模式。 運動估值的精確性:如果不由現有標準能達到的空間精確度來決定運動向量,而由更高級的空間精確度來決定運動向量,那麼H.26L中算法的預測能力又會得到進一步增強。H.26L中,四分之一畫素精確度(Quarter-pixel-accurate)是其最低運動補償精密度。而在高位元率和高視訊解析度下,採用八分之一畫素精確度(eighth-pixel accuracy)可能對提高編碼效率很有幫助。

3. 可選擇多個參考圖像:H.26L標準提供了一個選項,在圖像進行訊框間互編碼時可以選擇多個參考訊框,最多5個,這樣,主觀視訊品質更好,對需要編碼的視訊訊框進行編碼的效率也更高。此外,採用多個參考訊框也可以使H.26L位流具備更強的差錯處理能力。

具備消塊濾波器:H.26L定義了一種自適應消塊濾波器,該濾波器位於預測迴路內,可工作於水平塊邊緣和垂直塊邊緣,以去除由於塊預測誤差引起的干擾效應。這種濾波通常是基於大小為4×4的塊邊界進行的,邊界的兩端上均有兩個畫素透過三點式濾波得到更新。

H.26L中的整數轉換

不論是訊框內預測還是訊框間預測,預測誤差塊中包含的資訊最後都以變換係數的形式表達出來。H.26L採用了一種和浮點8×8 DCT相反的純整數空間轉換(類似於離散餘弦變換,形狀為4×4),這種轉換方法由早期的標準中用過的舍入誤差容限定義。4×4的小尺寸有助於降低塊狀和環狀馬賽克,而採用整數轉換又消除了反變換過程中編碼器和譯碼器之間的失配問題。

H.26L中的量化

量化是數據壓縮中很重要的一步。在H.26L中,變換係數透過無擴展死區的分級量化量進行量化。在每個巨集塊的基礎上可選擇32種不同的量化步長,這與早前一些標準的量化能力(例如,H.263支援31種不同量化步長)類似。但在H.26L中,量化步長是以前次步長的12.5%的速率遞增,而不像過去的標準中那樣每次遞增一個常量。有些時候,亮度係數的量化非常粗糙,而色差訊號在量化時則採用了這種更精細的量化步長,因而色差訊號的保真度較亮度係數大有改善。

量化後的變換係數對應於各種不同的頻率。圖6左上角的係數代表直流值,而其它部份的係數則代表各種非零的頻率值。編碼過程的下一步就是將量化後的係數排成一列,直流係數排在列首。

H.26L規定了兩種不同的係數掃描方式,見圖6。大多數情況下採用的都是簡單的雙掃描方式,這種方式和早期的視訊編碼標準中所採用的傳統掃描方式相同,根據係數所對應的頻率將他們以升序方式排列。要提高編碼效率就得採用雙掃描方式,這種掃描方式只適用於量化步長較小的塊內掃描。

熵編碼

熵編碼是視訊編碼過程中的最後一步。至今為止,H.26L中只採用了兩種熵編碼方法。第一種方法的基礎是對通用可變長度碼(UVLC)的應用,第二種方法的基礎是基於上下文的自適應二進制算術編碼。人們已經為在熵編碼中統一採用一種方法付出了實質性的努力,這種方法很可能是基於特殊VLC的自適應應用的一種方法。

在對量化後的變換係數、運動向量以及其它編碼資訊進行壓縮的各種方法中,基於VLC的熵編碼方法是使用最廣泛的一種。VLC的基礎就是為出現可能性較大的符號分配較短的字符,而為出現頻率較低的符號分配較長的字符。各符號和相應的字符儲存在一個叫做VLC表的查找表中,編碼器和譯碼器中都存有該表。圖6:H.26L中的兩種掃描方式:單掃描(上圖)和雙掃描(下圖)。

在H.263之類視訊編碼標準中,根據感興趣資訊的類型(例如變換係數或運動向量)不同,需使用許多的VLC表。而在H.26L中,不論符號所代表的是什麼數據類型,都可以用一個通用的VLC表來對編碼器中所有的符號進行熵編碼。

基於上下文的自適應二進制算數編碼在編碼器和譯碼器內都採用了一種概率模型,該模型適用於所有的語法元素(如變換係數、運動向量)。為了提高算術編碼方式的編碼效率,我們可以透過對上下文建模,將一個潛在的概率模型應用於視訊訊框的不斷變化的統計量。這樣,我們就能對編碼符號進行有條件的概率估計。

如果我們採用了恰當的上下文模型,那麼我們就可以根據目前符號周圍的已編碼符號的情況來決定如何在各種概率模型之間切換,因而達到利用符號間已有的冗餘度的目的。每個語法元素都支援一個不同的模型,例如,運動向量和變換係數的模型就不相同。如果一個特定的符號具有非二進制的值,那麼就將它映射為一個二進制序列,或者叫做‘bins’。確切的二進制值轉換是透過一個特定的二進制樹實現的,在本文討論的模型中採用的是UVLC二進制樹。

接著,採用新的概率估計來對這個二進制結果進行算術運算,此處採用的概率估計系在前一次上下文建模階段更新後的概率估計。在對每個二進制數值編碼過後,這個概率估計的值又要根據剛剛編碼之的二進制符號進行調整。

本文結論

在利用數位訊號處理器實現H.26L的過程中,充分利用了各種新技術,使得即時視訊通訊應用的視訊品質和圖像延遲都有所改善。一個即時視訊會議應用最能說明H.26L的實現機制。視訊會議一般都將穩定的視訊品質、較低的延遲和較強的抗封包丟失能力作為最主要的要求(即便在頻寬有限的情況下也要求視訊品質穩定)。而在一次涉及音訊、視訊和數據的視訊會議呼叫中,視訊部份通常會佔用整個呼叫可用頻寬的絕大部份。如果視訊部份所需的頻寬能夠得到降低,那麼將會有更多的低頻寬網路接受視訊會議系統這種應用。H.26L就針對這種需求,將頻寬需求從H.26+所需的320kbps降低到160kbps。

此外,許多視訊會議解決方案為了保證視訊品質令人滿意,仍在採用二次(two-pass)編碼方式,但這種編碼方法會為會議呼叫導入令人討厭的延遲。H.26L方案則保證了即使只採用一次性(one pass)編碼仍能得到優秀的視訊訊號,這樣做也就降低了二次編碼方法中的處理延遲。儘管在目前,大多數視訊會議呼叫都產生在本地專用網上,但在封包傳輸中仍然會出現一定程度的封包丟失。H.26L具備的編碼端的誤差處理能力和在解碼端的隱藏錯誤的能力使其即使在封包丟失率很高的情況下也能有效對抗這種封包丟失。

作者:Vishal Markandey


Email: v-markandey@ti.com


Jeremiah Golston


Email: j-golston@ti.com


德州儀器公司

Faouzi Kossentini


總裁和CEO


Email: faouzi@ubvideo.com


Foued Ben Amara


業務發展經理


Emial: foued@ubvideo.com


Ali Jerbi


產品經理


Email: ali@ubvideo.com


UB Video Inc.




投票數:   加入我的最愛
我來評論 - 用H.26L降低視訊會議系統對網路頻寬的...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首