• 沒有找到結果。

Client 端之各 Thread 間的互動關係 . 93

第四章 利用雙相機做物體平面座標定位

6.5 Client 端之各 Thread 間的互動關係 . 93

圖 6-5-1 Client 端之 Thread 關係圖

圖 6-5-1 為 Client 端之 Thread 關係圖,主要可分為四個 Thread 的 架 構 , 分 別 為 RecvThreadIsk() 、 DePktThreadIsk() 、 VideoStatusTimeFunc()、Image Processing(),各 Thread 的功能簡介 如下:

RecvThreadIsK():

主要工作為接收 Server 端傳送過來的 RTP packet。

DePktThreadIsK():

主要工作為將 RTP packet 重組成 MPEG-4 Frame。

VideoStatusTimeFunc():

主要工作為將儲存於 Buffer 內的 MPEG-4 Frame 取出來,並將它解 碼成 Raw Data 以提供給影像處理程式處理或呈現在 Graphic User Interface(GUI)上。

Image Processing():

影像處理程式。

各 Thread 的運作順序如下,首先 RecvThreadIsK()負責接收 Server 端傳送過來的 RTP 封包,進一步的利用 DePktThreadIsK()將 RTP 封包重 組 成 MPEG-4 Frame 並 將 此 MPEG-4 Frame 存 放 於 Buffer 內 。 VideoStatusTimeFunc()發現 Buffer 內有存放 MPEG-4 Frame 時,會利 用 StreamGetVideoFrame()函式取出 MPEG-4 Frame,進而交由 MPEG-4 Decoder 解碼出 RGB Image,接下來 Image Processing()會針對此 RGB Image 進行影像處理的動作。

[Client 端系統穩定度之考量]

上述說明為 Client 端四個主要 Thread 的運作流程,然而為了使 Client 端程式能順利的執行,各 Thread 有其相關要求要達成,使 Client 端程式能穩定的執行。各 Thread 要求如下:

RecvThreadIsK():

要能針對 Server 端傳送過來的 RTP 封包,快速且順利的接收。也 就說此 Thread 接收 RTP 封包的速率要能配合 Server 端的資料傳輸速率。

DePktThreadIsK():

當 RecvThreadIsk()每接收到一個組成 MPEG-4 Frame 所有的 RTP 封 包時,要能迅速的將這些 RTP 封包重組成 MPEG-4 Frame。

VideoStatusTimeFunc():

當 DePktThreadIsK()每組成一個 MPEG-4 Frame 時,要能迅速的將 此存在 buffer 上的 MPEG-4 Frame 取出,並進行解碼的動作,以提供 RGB 影像給 Image Processing()使用。

會 有 上 述 針 對 RecvThreadIsK() 、 DePktThreadIsK() 、 VideoStatusTimeFunc()的要求,主要是因為實際在執行 Client 端程式 時,因為 Image Processing()內如果執行的是運算量很高的影像處理演 算法時,此 Thread 會佔據很多 Operating System(OS)所提供的系統資 源,進而連帶影響到其他 Thread 的運作。上述情形如發生的話,

VideoStatusTimeFunc()會減少從 Buffer 取出 MPEG-4 Frame 及解碼的

次數,進而造成存放 MPEG-4 Frame 的 Buffer 越長越大,也就是說 VideoStatusTimeFunc()提供給影像處理程式的 RGB 影像並不是最新的。

[改善方法]

因 為 有 上 述 問 題 存 在 , 因 此 必 須 克 服 上 述 現 象 使 VideoStatusTimeFunc()有較多的機會去取出 Buffer 裡的 MPEG-4 Frame 並進行解碼的動作,使其能提供給影像處理程式最新的 RGB 影像。

改善此問題的方法是設定各 Thread 的 Priority,使不同 Priority 的 Thread 運作頻率不同。方法如下:將需要花費大量運算時間的 Image P r o c e s s i n g ( ) 設 定 為 低 優 先 權 的 t h r e a d , 需 少 量 運 算 時 間 的 RecvThreadIsK()、DePktThreadIsK()、VideoStatusTimeFunc() 設定為高優先權的 thread。Thread 的優先權設定完後,OS 會給高優先 權的 thread 較高的執行頻率,低優先權的 thread 則給予較低的執行頻 率。也就是說 RTP 封包的接收與 MPEG-4 Frame 的重組及解碼都可以配 合傳送端的傳輸速率順利的執行並顯示在接收端,影像處理 Thread 則 根據影像處理所需要的規格來抓取影像。

第七章 結論

在本論文裡,我們提出具有即時檔案傳輸及互動式性質的監控系 統。在此系統架構下,監控人員並不需要直接在監控中心存取影像檔 案,而是可藉由遠端即時傳輸的技術在遠端存取影像檔案。在人機互動 性方面,因為我們有將物件定位技術、手勢辨識等影像處理加入監控系 統中,使其提供相機的換手機制準則,及相關的事件定義。因此此監控 系統可提供相機的自動換手機制,且當有事件發生時,錄影機制會自動 開啓,使此平台達到人機互動性的要求,進而使監控工作更有效率的執 行。

參考文獻

[1] REAL TIME PROTOCOL(RTP).Available:http://www.hellosoft.com/

[2] RTP Control protocol(RTCP).

Available:http://www.freesoft.org/

[3] REAL TIME STREAMING PROTOCOL(RTSP),mmsc,Draft RFC 2326 Available:http://www.ietf.org/

[4] Leggio Simone,"Streaming Media over the Internet with Real Time Streaming Protocol",2003.

Available:http://www.cs.helsinki.fi/u/jmanner/Courses/

[5] Cheng-Chang Lien,Sheng-Cheng Hsu,"The Development of the Real-time Object Tracking Technology Based on the Image Mosaic of the Non-Stationary Scenes.

[6] Licsar, A.; Sziranyi, T.;" Dynamic training of hand gesture recognition system",Pattern Recognition, 2004. ICPR 2004.

Proceedings of the 17th International Conference on Volume 4, 23-26 Aug. 2004 Page(s):971 - 974 Vol.4

[7] Etienne Loupias and Nicu Sebe, “Wavelet-based Salient Points for Image Retriveval.

[8] C.Harris and M. Stephens,"A Combined Corner and Edge Detector",Proc.of 4th Alvey Vision Conference,1988, pp.147-151.

[9] Z. Zheng,H.Wang and E.Teoh,"Analysis of Gray Level Corner Detection",Pattern Recognition

Letters,1999,Vol.20,pp.149-162.

[10] M. Seki, T. Wada, H. Fujiwara, K. Sumi, “Background detection based on the cooccurrence of image variations",

Proc. of CVPR 2003, vol. 2, pp. 65-72.

[11] Gutchess, D.; Trajkovics, M.; Cohen-Solal, E.; Lyons, D.;

Jain, A.K.; “A background model initialization algorithm for video surveillance",Computer Vision, 2001. ICCV 2001.

Proceedings. Eighth IEEE International Conference on Volume 1, 7-14 July 2001 Page(s):733 - 740 vol.1 [12] M. D. Huang, and L. H. Chen, "Two New Surveillance Systems," Proceedings of the 15th IPPR Conference on CVGIP,

Taiwan, 2002.

[13] Rafael C.Gonzalez, Richard E. Woods,"Digital Image Processing",2002,Second Edition.

相關文件