Profile - TW117


TW117

RealTime Wireless Video Transmission System



Semi-Finals


[print]


Project Paper - view as Preliminary(2010/07/21), Final(2010/11/01), Draft, Latest

1. 設計介紹 (Preliminary Paper)

幾乎所有消費者都曾經使用過無線網路,大部分的用途均用來上網,雖然無線網路的傳輸速度不斷的提升,但主要應用都侷限在無時間要求的傳遞上,如網頁、電子郵件、電影檔案傳送等,而在即時傳送的應用上卻不多見。上網所佔用需要的頻寬由256Kbps20Mbps不等,即使擁有802.11n  300Mbps(理論值)高速頻寬,使用者也感覺不出來高速頻寬的差異。然而多媒體應用逐漸普及,如何運用無線網路傳送高畫質影音,讓使用者可以輕易連接各種影音設備,隨時隨地欣賞,成為目前積極開發與改進的技術,雖然802.11標準提出了QoS (Quality Of Server)構想,但在現階段的無線環境還是會遭遇到許多問題。

 

有鑑於此,本作品針對無線網路頻寬研發即時影像傳送技術,利用標準802.11通訊協定傳送壓縮過的影像。由於802.11通訊協定是共用相同的頻道,許多節點會彼此競爭,因此單位時間內只會有一個節點傳送封包,所以在無線傳輸的環境上有許多問題需要考慮,如Hidden terminal problemExpose terminal problem而這些問題都會讓傳輸的速率不穩定,導致即時影像無法順利傳送到接收端。另外一個較嚴重的問題是影像資料很龐大,以720x480 解析度的影像來說,每秒需要240Mbps的頻寬才能傳送,而即時影像必須立即傳送,很難獲得有效的壓縮率。

 要克服上述即時影像無線傳輸遇到的困難,我們提出的傳輸方式,先將影像分割成許多小區塊個別壓縮,每一小塊的影像和上一次相比,差異性越大,越優先傳送,傳送頻率越高,而影像差異不大的區塊,則降低傳送頻率,這樣可以減少傳送的封包數量。為了能夠快速排序影像的優先權,並且能將大量的影像資料透過USB2.0 的高速傳輸速度,傳送到USB 無線網路卡,我們分別在硬體和軟體方面做最佳化設計。硬體部分使用Altera 高階 DE-3 Stratix III EP3SL340 FPGA開發平台,整合硬體影像壓縮/解壓縮技術、32 bit RISC CPUDMAUSB 控制介面、DDR2 控制器等,軟體部分是用ucOS-II 做為OS,設計USB 無線網卡驅動程式,在控制程式中加入我們提出的傳輸機制,並且以DMA方式有效率地在壓縮/解壓縮和USB網卡間傳送影像資料。

 

本作品提出根據影像封包的差異性優先傳送,雖然傳輸品質會因為頻寬下降而被影響,但卻不會中斷影像的播放,可用於即時要求很高的地方,如監視系統、救災..

 

(Revision: 4 / 2010-06-29 15:59:07)

2. 功能描述 (Final Project Paper)

2.1系統功能說明:

圖一是本作品的整體架構圖,分為發送端與接收端兩個部分,發送端會壓縮Video Server經由HDMI傳送過來的影像,並透過無線網路傳送出去;接收端透過無線網路接收壓縮後的影像並解碼,透過HDMI介面顯示在LCD 螢幕上。

 

2.2硬體部分說明:
 
圖二(a)使用Altera DE-3 FPGA 開發版,使用Stratix III EP3SL340 FPGA,內含338,000 Logic elements、18,318K Memory Kbits,可支援高速的DDR2 記憶體和USB 2.0 480Mbps 傳輸速度。(圖二.b)Buffalo WLI-UC-AG300N USB 無線網卡,支援802.11 a/b/g/n Draft,資料傳遞方式 MIMO-OFDM/DS-SS/OFDM/ Half-duplex,傳輸頻率2.4GHz和5GHz,傳輸速度最高270Mbps (802.11n理論值)。

(Draft / 2010-06-29 16:25:16)

3. 效能參數 (Final Project Paper)

         由於即時影像的資料量非常的大,影像封包被切成許多小塊,而系統必需快速的傳送這些封包到USB Controller,所以使用了DMA方式傳送封包資料,使系統的傳輸速度提升了100倍。另外,為了及時計算那些區塊變動性較大,所以利用硬體加速的方式計算,給予變動性較大的區塊擁有較高的優先權。

(Draft / 2010-06-29 16:26:56)

4. 設計架構 (Preliminary Paper)

4.1硬體架構部分:

圖三是本作品主要的架構圖,(a)區塊部分是Altera DE3 開發版內的Stratix III FPGA,在區塊圖內部放置了一顆NiosII 32bit RISC CPU,時脈可達133Mhz,用來控制周邊裝置與協調各單元運作,內建64K internal RAM,存放程式碼與中斷向量。然而影像的資料量很大,無線傳輸的時候,必須經過壓縮,才能在有限的頻寬內傳送影像,有鑑於NiosII CPU的速度不夠,加上壓縮/解壓縮需要及時性,所以在FPGA內放置了硬體影像Encode/Decode(為了驗證方便,本作品將 Encode /Decode放置在一起,由軟體來控制功能的開啟),一方面減輕CPU負擔,另一方面可以降低運算的Power。
 
    為了希望大量的影像資料可以快速的透過USB 2.0控制晶片傳送到USB無線網卡,減少時間上的延遲並降低CPU負擔,FPGA內部另外加入了DMA機制,當影像經過壓縮後,會放置在記憶體緩衝區,此時DMA會將影像資料傳送到區塊(b)USB 2.0控制晶片,經由USB無線網卡傳送出去,或是經由區塊(b)USB 2.0 控制晶片收到的資料,透過DMA直接傳送到影像Decode。區塊(b)是NXP 公司的USB 2.0控制晶片,我們透過此晶片來驅動USB無線網卡(Buffalo WLI-UC-AG300N-TW),為了能讓NiosII CPU能做有效率的控制,我們使用記憶體映射的方式將它映射在記憶體某個區段。
 
區塊(c)部分是HDMI影像輸出/輸入的部分,HDMI介面主要用在高畫質傳輸,可傳送未經壓縮過的高品質數位影像,本作品將HDMI傳送進來的數位信號,透過Encode做即時壓縮,再傳送到Decode做還原動作,並由HDMI介面輸出到螢幕。

4.2硬體影像壓縮/解壓縮部分:
 
本作品的壓縮方式,使用了DWT(Discrete Wavelet Transform)為核心的壓縮技術。在經過DWT轉換後,能把影像分解成低頻與高頻訊號:低頻訊號可視為含有主要的影像內容,而高頻訊號則是包涵了影像的各種細節。由這個步驟,我們能以低頻訊號為主進行壓縮,而高頻訊號則視頻寬情形而決定要用多少資源去壓縮以及傳輸。在DWT以後,我們利用一種叫做PWC(Progressive Wavelet Coding)的編碼技術。PWC主要的核心概念,就是利用0與1出現機率大小來進行壓縮。理論上,一段0出現機率比1出現機率高的訊號,利用PWC可以達到非常高的壓縮率。這種技術恰好非常適合用於壓縮經過DWT轉換後的訊號:經過DWT轉換的訊號,在高頻區域幾乎都是小訊號!因此在高頻區域,我們可以用非常少的bit數成功壓縮影像。

 

圖四為訊號經DWT轉換的例子:可以看到大數字只出現在左上角,也就是低頻區域;而高頻(右及下方)幾乎都是0,或者接近0的數字。因此,在頻寬嚴重不足的情形下,就算把高頻區域全部當成0進行壓縮也能將失真的比例壓低到最小值。

 

       圖五是硬體encoder的整體架構:經過DWT轉換以後,我們將訊號分為數個bit-plane如圖六(a),每一條直條都代表了經DWT轉換後的一個pixel,而一個平面我們稱之為bit-plane。在演算法中,我們應該是一個平面接著一個平面去處理,但是在硬體上這樣的作法不可行,因為無法達到即時處理的效果。因此,我們用一次處理一整個pixel的平行處理方式去做,如圖六(b)。

 

 

圖七、八為Decode硬體架構與流程,先由上半部找尋第一個”1”的位置,之後可以用這個1來解出當初encoder壓縮時所使用的參數,之後便能重建壓縮之前的訊號,再經iDWT單元將高、低頻分離的訊號重建回原本的一張圖或frame。
 
4.3體架構部分:
 
圖九是本作品內部軟體功能方塊圖,大致上分為三個區塊,在Kernel Module部分,主要是以ucOS-II為Micro Kernel,由於ucOS-II OS 的排程器簡單又有效率,很適合即時系統,希望能做到影像傳送的即時性;另外,在無線網卡驅動部分,我們參考WLI-UC-AG300N 無線網卡Linux driver並改寫,使它能運作在ucOS-II 上,目的是希望輕量化驅動程式,達到有效率的運作。

(Revision: 2 / 2010-06-29 16:51:41)

5. 設計方法 (Final Project Paper)

        本作品分為傳送與接收端,傳送端的Encode接收到影像資料後,會將影像分割成好幾個區塊個別壓縮放置在記憶體中,而Packet Priority Module模組會去計算那些區塊的變動性很大並給較高的優先權,此時系統可以根據這些優先權決定那些Packet必須優先傳送。

        而接收端收到封包資料後,經由Memory Mapping Module快速的拆開封包內容,並傳送到指定的地方,讓Decode可以取得正確的資料。

 
(Draft / 2010-06-29 16:54:03)

6. 設計特點 (Preliminary Paper)

(1)Video Encode 以一個frame為單位壓縮

       利用FPGA實現快速壓縮,並將一張圖分割成許多小區塊各別壓縮,壓縮率可達6倍;然而在無線的傳輸上,遇到封包丟失情形,不會影響整張圖。 

(2)封包優先權快速計算
       
    由於無線網路傳輸品質的不確定性,為了達到傳輸品質,變動性較高的影像區塊賦予較高的優先權,而較高優先權的影像區塊,在傳送排程的時候會被優先傳送,並且會有較高的傳送次數。
 
(3)Decode Buffer RAM 處理
     
       Video Decode 會一直讀取Video buffer區塊進行解壓縮動作,而接收端透過硬體方式快速解開封包,並將封包資料丟到對應的Video buffer 區塊。
 
(4)傳輸排程處理
     
      為了能夠根據封包的優先權來決定傳送順序,並且不同優先權的封包在單位時間內被傳送次數也會不同,所以利用ucOS-II RTOS 穩定、快速的特點,來實現傳輸排程的處理。

 

(Draft / 2010-06-29 16:55:42)

7. 總結 (Final Project Paper)

        通常影像的資料量非常的大,要將這麼大量的資料傳送到另外一端,而另外一端可以迅速的消化資料,必須依靠硬體去完成某些工作;這次選擇了DE3開發版的原因是DE3內建USB 2.0 Host Controller,可以讓無線網卡高速傳送資料。

 
而這次的比賽我們知道軟硬體搭配的重要性,我們可以利用硬體方式去提升軟體效能的不足,並且還可以讓我們看到其它學校的作品,彼此相互學習。
(Draft / 2010-06-29 16:56:30)