• 沒有找到結果。

1.1 研究背景

隨著電腦硬體技術和無線通訊技術的進步,行動上網裝置(Mobile Internet Decive) 越來越普及。現代的人們可以透過行動上網裝置,隨時隨地的上網瀏覽網頁、收發 E-mail、聊 MSN 或是分享影音資料。行動上網裝置的計算能力、儲存空間有限,可以 透過遠端桌面程式,操控家中或是辦公室的電腦,將一切的資料處理和計算留在遠端電 腦執行。行動上網裝置當成終端機,將鍵盤輸入、滑鼠操控訊息透過無線網路傳送到遠 端的電腦,遠端的電腦再將處理完成的畫面結果傳回。

現今網路技術發達,加上多媒體影音壓縮的進步,透過網路分享影音資訊越來越普 及。由於行動上網裝置的儲存空間有限,所以這些多媒體影音檔案大多存放在遠端的電 腦。如果使用者在家中或是辦公室的電腦存放了許多的多媒體影音檔案,使用者最方便 存取遠端電腦的檔案,就是透過遠端桌面程式,直接點選開啟。但是目前遠端桌面程式 共同的問題-播放影片將造成網路流量暴增!

1.2 研究動機和目標

目 前 市 面 上 有 許 多 的 遠 端 桌 面 程 式 , 如 VNC、Microsoft 的 Remote Desktop Protocol(簡稱 RDP)、X Window…等。遠端桌面程式運作方式,是取得 Server 畫面的變 動資料,然後將這些變動的畫面資料傳送給 Client。Client 將接收到的畫面資料更新到 視窗上。對於一般操作模式,如文書處理和瀏覽網頁,並無太大問題,因為畫面更新的

頻率和資料並不大。但是如果使用者點選影片播放,這個畫面更新率最高可能到每秒30

個frame。雖然 VNC 和 RDP 對於更新的畫面採用壓縮的方式傳送,但是那些壓縮方式

表1-1. VNC 和 RDP 播放影片的資料量

解析度 320*136 480*204 848*352

檔案大小(Kbytes) 5,691 16,353 43,141

位元深度(bpp) 24 24 24

影片長度(s) 135.18 135.18 135.18

更新率(fps) 23.976 23.976 23.976

資料率(kbit/s) 339.77 986.17 2610

VNC (Mbytes) 275.75 495.09 582.99 RDP (Mbytes) 269.23 609.52 889.27

表1-1 為實際播放三種不同解析度的影片,分別為 320*136、480*204 和 848*352,

在影片長度、網路環境和電腦硬體相同情況下所需要的頻寬大小。從表可以得知,隨著 解析度的增加,所需要的頻寬越高。採用 RDP 播放解析度 848*352、長度 135.18 秒的 影片,流量竟然高達889.27Mbytes!平均每秒所需頻寬為 6.578Mbytes/s (約 53Mbps),

以目前家庭光纖網路頻寬下載10Mbps/上傳 2Mbps,這頻寬是不能夠負荷。若是播放解 析度320*136,也是需要 1.992Mbytes/s (約 16Mbps)的速度。

表1-2. VNC 和 RDP 播放影片的平均流量

解析度 320*136 480*204 848*352

VNC (Mbytes/s) 2.040 3.662 4.313 RDP (Mbytes/s) 1.992 4.509 6.578

圖1-1. VNC 和 RDP 播放影片的平均流量

使用VNC 程式播放影片,頻寬需求比 RDP 少,但仍然很大。不論採用 RDP 或 VNC

播放影片,除了資料量暴增外,影片播放過程並不順暢。本研究主要目標是改善 RDP

遠端桌面程式播放影片的資料量暴增和順暢度的問題。最後將 Client 端程式移植到以

ARM 為核心的嵌入式平台。

1.3 研究方法和步驟

本研究提出的改善方法:利用影音串流方式,將Server 的影片傳送到 Client,並由 Client 端的多媒體播放器播放影片。因此必須要先了解播放器的運作方式、遠端桌面程

式視窗畫面運作和多媒體影音串流,如此才得以實現該系統。最後移植到以ARM 為核

心的嵌入式平台,這必須要了解將程式從x86 移植到 ARM 的過程和方式。

圖1-2. 系統架構圖

圖1-2 為本研究的系統架構,左邊為 Client 端,右邊為 Server 端,兩者以網際網路 作溝通。在Client 端採用 Linux 為作業系統,rdesktop 為 Remote Desktop Client,MPlayer 為多媒體播放器。在Server 端,Remote Desktop Services 為 Microsoft Windows 的 RDP Server,Rdesktop Media Server 為影音串流伺服器。將細節約略分為以下步驟:

1.了解 MPlayer 播放器的程式架構:

z MPlayer 影像播放流程 z MPlayer 影像輸出模組 2.了解 rdesktop 的視窗運作:

z Linux x11 的視窗運作模式 z 利用 Named pipe 進行 IPC 3.系統實作

z 撰寫 MPlayer 影像輸出模組

z 新增播放器控制和影像顯示到 rdesktop 程式 z 撰寫影音串流伺服器

z 系統整合 4.程式移植

z 建置 ARM 平台的開發環境 z 編譯 ARM 用的程式庫 z 移植程式

1.4 論文架構

第三章將介紹 MPlayer 的開檔模組、影像濾波器和影像輸出模組。並且說明建立

video chain 流程,這將決定影像解碼器模組、影像濾波器和影像輸出模組。最後解說解

碼後的圖像資料在模組間是如何的傳遞。第四章說明整個系統的實現,包括建立MPlayer

的 rdp 影像輸出模組、修改 rdesktop 程式和撰寫 Server 端的串流伺服器。第五章分析 Progressive Download 串流方式如何利用 TCP 封包進行流量控制。最後比較 VNC、原本

的RDP 和本研究的 RMS 系統播放三種不同解析度影片所需要的網路流量。