2007年9月12日 星期三

網路封包遺失的資訊修補藝術(二)

http://compotechasia.blogspot.com/2007/09/blog-post_12.html

作者:鍾慶豐

視訊編碼與封包化
經由IP網路來傳遞即時視訊,因封包遺失為其常態,故應用層(application-layer)的錯誤控制方法常經由聯合來源端與通道編碼方法(joint source-channel coding,JSCC)來加以搭配使用。其中來源端編碼(source coding)與前導錯誤修正 (forward error correction,FEC)更是常被加入錯誤控制的設計裡面,用以緩和因封包遺失所帶來的衝擊。不過要在IP網路上保證即時視訊品質有其一定的難度,在處理這些視訊QoS的問題上面,一個通常的作法是應用錯誤控制策略來因應。

不同的錯誤控制策略,其使用的方法(元件)亦可能在不同的網路層級上加以實作,並且可能被放在傳送端或接收端來處理。在傳送端,其可能應用的有錯誤修復(error resilience)來源編碼策略、應用層重傳機制或是混合式的FEC方法;在接收端,其可能應用的策略主要有錯誤隱藏 (error concealment)方法。不管是在接收端或傳送端,每一種不同的錯誤控制方法都被用來處理封包遺失的問題。例如:在錯誤回覆來源端編碼策略裡面,其執行錯誤控制的方法,是利用在來源端編碼層級裡面加入一些冗餘封包來防止錯誤的擴散,並限制封包遺失所可能導致的失真情形。

常見的錯誤回覆技術
在封包交換式的網路里面,要做到錯誤回覆一般有兩種常見技術可供使用。一種是利用封包本身的不同編碼機制來做到錯誤回覆的功能,另一種是利用現有的錯誤修正方法來達成錯誤回覆功能。在前者,其其錯誤回覆的效能與每個封包的編碼模式(encode node)選擇息息相關,例如使用可變視訊編碼或多描述編碼(multiple description coding)方式,也可以達到一部份錯誤回覆的效果;除了封包本身的編碼模式選擇來達到錯誤回覆功能之外,另一種處理封包遺失的方法,便是在應用層傳送層使用錯誤修正技術(error correction)。

目前這種錯誤修正技術有兩種常見基本型態存在,一種是前導錯誤修正(forward error correction,FEC)方法;另一種是自動重複要求(automatic repeat request,ARQ)方法。兩種方法在其錯誤強固性與網路流量負載(traffic load)上均有其優、缺點。在許多觀念裡,因為這種錯誤回覆機制常被放在解碼端使用,所以錯誤回覆技術也就常被認為是一種須藉助解碼器所使用之後處理技術,其利用視訊片段在空間與時序上的關聯性,用以掌握封包的遺失狀況。不過在即時串流的應用上面,ARQ比FEC較少被使用,換言的FEC-based的技術在此領域頗受青睞。甚至J. Rosenberg及H. Schulzrinne更是強力主導FEC方法成為IETF錯誤回覆的標準規範。然而因FEC本身區塊大小(block size)的限制,其不能完全避開封包遺失的問題。另外,FEC的使用即使在無封包遺失的情況下,亦須付出固定的使用代價,且FEC的適當使用層級必須依據通道行為的精準評估才行。此點相較於ARQ,FEC方法的確有不及之處(因ARQ可以自動適應通道的遺失特徵,並只傳送所遺失的封包及數量),因此在端點對端點的延遲限制無太大要求時,ARQ的方法反而會是不錯的選擇。一個封包式即時視訊傳送系統,以及不同層級所可以使用的錯誤控制元件如圖1。

圖1、一個封包式即時視訊傳送系統,以及不同層級所可以使用的錯誤控制元件。



深入了解詳細全文:網路封包遺失的資訊修補藝術(二)

還沒成為COMPOTECH Asia網站的免費讀者嗎? 立即註冊


近一步瞭解其他資訊:
COMPOTECH Asia 電子與電腦資訊網
CTOV Online Video

沒有留言:

近期文章

Loading...