• 沒有找到結果。

傳輸平台系統簡介

3. Online smoothing

5.1 傳輸平台系統簡介

我們想要將此演算法加到一個實際的串流系統上,在這小節先簡 介此系統.

我們的即時影音資訊收集傳送伺服器(以下簡稱 Server)可以將 由各種介面收集到的影音資訊及數據資料,透過各種類型的網路 (UDP/TCPIP, Wired/Wireless),即時地傳輸影音及數據資料到需要 使用這些資訊的客戶端(client).

圖 5.1 是簡單的系統示意圖:

圖 5.1 串流傳輸系統

圖中的右半部,表示 Server 可以即時擷取到攝影機拍攝到的的

影像(Real-time Capture),然後透過有線網路即時傳送到遠端的電 腦,裝在電腦上的客戶端程式能馬上看到攝影機抓到的影像.客戶端 程式有很高的可攜性,不管是 PDA 或是手機都能安裝客戶端程式(目 前能成功地執行在 WinCe 作業系統上),也就是能拿著手機或 PDA 邊 走邊看從 Server 立即傳來的攝影機影像.

Server 抓取到的影音及數據資料會儲存在自身的儲存裝置中,如 果有需要使用的話,可以隨時從 Client 取出來觀看.就像發生竊盜案 後,可以調閱案發當時的監視錄影帶.這就是 Video on Demand 應用 的一種.

簡單來說,我們的 server 就是一個資料蒐集中心,不管是影像,

聲音,或是經由儀器量得的訊號,只要能存在電腦裡,我們就能即時 送出,同時也能儲存下來,以備將來使用.

系統功能介紹

這套系統的功能有:1.影像即時傳輸 2.簡單的影像處理(手勢辨視,

定位系統)

目前在交大多媒體實驗室已實際架設出這套影像即時傳輸系統,包含 了幾個重要的軟硬體,程式內部的工作流程如圖 5.2:

圖 5.2 程式元件及資料流

重要的硬體有左下角的 Camera, 以及左半部的 Server 程式和右 半部的 Client 程式.

(1)影像擷取裝置:(Camera)

有八台無線攝影機設置在實驗室各角落.攝影機可以每秒傳送 30 張影像,每張影像解析度為 320 X 240 pixel,攝影機抓到的影像用 JPEG 壓縮後傳到 Server,還可以根據不同需要調整每秒傳 10 張/15 張/20 張/25 張影像,以節省頻寬.另外有數個 USB 介面的視訊 Camera.

(2)即時影像收集傳送伺服器:(Server)

任何有安裝 Server 程式的 Window 電腦都能拿來當作影像蒐集中 心, Server 可以任意選取並蒐集那八台無線攝影機經由無線網路傳 來的畫面.另外,不只是無線網路攝影機,接在 USB 介面上的小型視

訊 Camera 傳來的畫面也一樣可以抓進我們的 Server 程式裡.Server

Server 和 Client 間的傳輸是採用 RTP/RTCP/RTSP 等專為多媒體 通訊設計的通訊協定,這種方式的影音傳輸 我們稱之為串流 1.壓縮轉碼單元: Transcoder

負責向各種攝影機即時取像 即時轉碼 即時壓縮成 MPEG-4 格式.

然後把壓縮完的資料放在規劃單元可存取之 buffer 上. 整個 Server 可以轉碼壓縮幾台相機的影像,端看系統的 CPU 運算能力, 整個 Server 只有一個 Transcoder 做轉碼的工作.

2.傳輸單元: PacketScheduler

負責將要串流給"所有 clients"的 RTP 封包,送到網路卡,再由 網路卡傳送到網路.因此在整個系統中,只有一個此單元.

3.規劃單元:Streamer, RTSPProcessor

Server 每接收一個新的 Client, 就會準備一組規劃單元, 專 門來處理及規劃要傳給這個 client 所需要的封包, 包括了 RTSP 及 RTP 的部份. Streamer 負責將每張影像從硬碟或壓縮轉碼單元所準備 之 buffer 抓過來 做 RTP 封包切割的動作.然後將這些 RTP 封包放在 傳輸單元可以存取之 buffer 上. RTSPProcessor 負責接收及回應 client 的 RTSP 訊息及執行 RTSP State 的變換.

在這三類執行緒單元中 很明顯地 最花 CPU 時間的是壓縮轉碼單 元,因為在這單元中 MPEG-4 的壓縮運算量是相當大的. 尤其是其 Motion Search 的部份佔了將近壓縮運算的 80%,因此,壓縮轉碼單 元其實就是此系統最大的瓶頸.

影像約需要花費 7 msec 的時間.以 frame rate 為每秒 25 張 相當於 例, 再用 802.11g 規格之 AP(Access Point)負責收/送無線數據資 料.系統最大負荷量約為同時傳送已經儲存好的資料給 6~8 個

client,這是實際測量的結果,在 5.4 節我們還會有更詳細的分析.

若要傳送即時的影像,則還要多花 10ms 做壓縮的動作,則最多只能 服務 4~6 個 client.

(3)即時影像接收程式(客戶端程式):(Client)

任何有安裝 Client 程式的 Window 電腦,PDA,手機,都能拿來 當作影像接收機.客戶端程式已經加了一套簡易的影像處理程式,可 以做手勢辨視,分辦出病人比出什麼手勢,程式再跟據手勢做出回 應,例如發出警報訊號給護理人員.另外還做了一個移動物體的定位 系統,可以得知是否有人進入某個區域,例如說有外人入侵,或是病

患離開了病房. Client 可以很簡單的掛上外加的影像處理,以配合

統時間約為 2 毫秒左右,而影像處理模組所花費時間則取決於演算法 複雜度。影像處理模組主宰了 Client 端系統的穩定度,因此我們要 試著解決影像處理模組所造成的影響,解決方法是使用程式的相關技 術予以改善。

因為三模組是使用 thread 的方式所實現的,因此可設定各 thread 的優先權來改善三個 thread 間所分配到的執行時間。方法如下:將 需要花費大量運算時間的影像處理模組設定為低優先權的 thread,

需少量運算時間的資料接收與重組模組、解碼模組設定為高優先權的 thread。Thread 的優先權設定完後,OS 會給高優先權的 thread 較高 的執行頻率,低優先權的 thread 則給予較低的執行頻率。

內用戶端要求的服務而送出即時或事前儲存的資料.

圖 5.3 系統架構圖

我們的 Server 可看成是個資訊收集中心,不管是聲音影像,或 是各式各樣的訊號,只要能透過適當的界面擷取到 Server 程式內 部,就能儲存或即時傳送給 Client.

目前程式已能抓到由網路卡(有線或無線)及以 USB 界面傳入的訊 息,也將更進一步延伸到 RS232,IEEE1394 等其它常用的介面.