您的位置:首页 > 编程语言

搭载高清晰相机的可编程嵌入式远程拍照和监控平台

2008-10-02 16:34 176 查看
[/b][/b]

----------------------------------------------
[/b]在网上偶然找到的文章,非常不错,[/b]在此转载到个人收藏空间 感谢黄连进等各位大侠 : )
----------------------------------------------
[/b]

搭載高解析度數位相機之可程式化嵌入式遠端[/b]攝影及[/b]監視平台 [/b]

黃連進

淡江大學資訊工程學系

micro@mail.tku.edu.tw

郭乙丁

淡江大學資訊工程學系

yiting2002@hotmail.com

施建州*

淡江大學資訊傳播學系

ccs@mail.tku.edu.tw

涂堂訓

淡江大學資訊工程學系

陳偉

亞洲大學資訊科學與應用學系

wei@asia.edu.tw

摘要[/b][/b]

在本研究中,我們採用低成本、高穩定性的SBC-2410x開發板來設計一個可以搭載高畫素數位相機的可程式化嵌入式系統平台。此平台是以Linux作業系統為基礎,並整合了網路服務的功能。為了提供數位相機的遠端操作,我們以PTP協定為基礎來設計數位相機的控制程式介面。在平台中我們還設計了一個外掛管理系統及描述語言直譯器,讓應用系統開發者及使用者可以藉由我們所定義的簡易描述語言,依照不同的需求來開發應用功能,以提高平台可用性及擴充性。為了驗證此平台在有限的系統資源下仍可以有效的運作,我們實作了一個搭載高畫素數位相機及CCD攝影機的遠端攝影及監視系統,並且成功的以較低的記憶體使用率來實現了具備可程化及可擴充攝影應用功能的遠端攝影及監視系統。

關鍵詞:[/b]嵌入式系統(Embedded system)、可程式化(Programmable)、PTP(Picture
Transfer Protocol)、遠端攝影及監視平台(Remote photographing and monitoring platform)。

一、前言

由於科技的創新,數位科技應用於生活的範圍亦越來越廣,舉凡資訊家電、智慧型手機、多媒體播放設備等已成為現代生活中必備的產品,而其中,嵌入式系統的技術更是這類科技產品的核心,而嵌入式系統的輕便性、低成本、低資源消耗等特性儼然已成為新一代數位商品開發的趨勢;近年來SoC( System-on-Chip )的技術已具備了整合網際網路服務以及週邊設備的能力,也讓嵌入式系統的應用更為廣泛,許多嵌入式應用系統的開發則多採用開放原始碼(Open source)的作業系統平台以降低系統對記憶體的需求以及提昇執行的穩定性 [17]。此外,除了作業平台的選擇,為了降低資源損耗的要求,程式語言及編譯程式的選擇、影像處理及影像格式的轉換方式以及資料儲存及傳輸的方式都將會是影響整個系統運作效能的關鍵。

Can Filibeli M.等人在他們的研究中採用Ethernut系統及其開發板來設計一個利用嵌入式網站伺服器來線上設定日常家電設備的架構,此架構可以利用較具親和力的網頁設定介面來控制及設定家電用品設備的功能 [12];而其他嵌入式遠端控制系統應用的研發還包括了如居家保全 [20]、居家健康看護 [14]以及遠端監控 [40]等。由此可見,隨著網際網路的需求愈來愈高,如果可以利用輕便且低成本方式讓使用者經由網際網路來操控電子產品,一則可以提供方便及易於操作的網頁設定介面,再則可以遠端操作產品的功能,對產品的實用性將有很大的改變。

在影像擷取設備方面,由於數位相機日漸普及,價格相對降低而功能也越來越多,更重要的是拍攝影像的畫質已經可以達到千萬畫素。一些知名廠牌的機種也都採用標準化的影像傳輸協定作為相機與電腦之間影像傳輸及相機操作的介面;因此,如果可以將高畫素的數位相機搭載於嵌入式系統平台上,利用其多功能的拍攝模式以及高解析度的影像畫質等優點,必定有助於需要高解析度及高辦識度影像之應用系統的研發。然而,將輕便且具備高畫素的數位相機應用在遠端攝影的研究目前並不多見。

本研究主要目標在致力於一個低成本且高擴充性的可程式化嵌入式遠端監視系統平台的研發,在系統中可以同時搭載高解析度數位相機以及CCD攝影機的嵌入式開發平台,使用者可以透過網際網路遠端操控設置於監視地點的數位相機。我們採用一般高畫質數位相機與電腦之間的連線的圖像傳輸協定(PTP,Picture Transfer Protocol)來設計與數位相機的操作模組。PTP協定是由I3A(i3a International Imaging Industry Association) [19][29]所製定的一種影像的傳輸協定,不需要額外的驅動程式即可以進行數位相機與電腦或其他週邊裝置之間的影像資料傳輸,透過我們所開發的程式介面,除了可以進行遠端的拍攝功能外,還可以更進一步的設定相機的光圈、快門、焦距、閃光燈、白平衡等功能。

本研究的另一個主要貢獻則是提供一個讓嵌入式平台可以彈性應用於不同拍攝用途及影像處理模組的擴充機制,我們在平台中撰寫了一個可以執行相機操作語言的直譯器以及外掛管理程式,系統開發者可以依照自己的需求來撰寫簡易的描述語言(script
language),例如:相機拍攝流程、影像存取方式、影像處理以及簡訊或email的傳送程序等,達到平台的可程式化及應用系統的可擴充性之目的。

本論文其它各節的架構如下:在第二節我們將討論有關遠端監視系統的特性及相關的研究。第三節中將說明本研究所提出之可程式化嵌入式遠端監視系統平台之架構、軟硬體規格及系統流程。第四節為本研究的實驗成果。第五節為結論及未來研究的方向。

二、相關研究

傳統類比式的攝影系統往往需要特殊的影像轉檔格式,成本高且週邊相容性差,影像品質不佳;在數位科技日漸普及後,由於CCD的品質大幅改進,再加上快速且高容量的儲存記憶體的產品也相當普及,近年來的監視攝影系統大多改採用數位式攝影技術,不僅畫質提高,且影像備份及再製的過程也較方便。然而若要完整建置一個可以提供高畫質的遠端數位監視系統,其所需的費用仍然很高,且因專屬的規格只能應用於特定的用途,造成擴充性不佳。PC-based數位式的遠端攝影系統,由於攝影機拍攝之影像仍需透過個人電腦或專屬的工作站將影像檔檔上傳至伺服主機中,才能經由網際網路取得影像資訊,如此不僅增加了硬體的成本,且安裝地點也較佔空間。關於遠端監視系統的比較如表2.1。

由於嵌入式系統具有特定的功能及嚴格的非功能需求,亦即在價格、體積、效能和功率消耗等限制。而SoC技術可以將複雜的電路整合在一個晶片上,具有輕巧、低成本、效能佳以及低功率消耗等優點,不僅可以提供網路服務也可以與週邊介面進行整合 [9]。因此,目前已有許多研發是以嵌入式平台來實現遠端攝影或監視系統。

以Web為基的嵌入式系統為應用的實作,其中以Montague等人 [21][22] 所研發的 Javacam
最具代表性,在他們所提出的平台是採用一個OS-Java
Nanokernel(JN),來結合TCP/IP程式等功能;然而,由於該系統的JVM(Java Virtual Machine),需要消耗2MB以上的龐大憶體,且Java 的執行速度慢,執行時間長,功率消耗也因而增加,因此使用JVM來開發嵌入式應用系統有其效能上的限制。蕭榮修等人 [8]則設計了一個可以連上資訊網的ARMLinux嵌入式系統,可以讓嵌入式系統裝置連線上網,達到遠端資訊存取及組態設定的功能,並應用此平台實作了一個家庭保全系統。林昌廣 [2]則以Samsung開發的ARM7為架構之微處理器實作了一個嵌入式網路監視系統,該系統利用CMOS攝影機經JPEG晶片壓縮後,以網路為傳送影像的媒介,達到讓使用者可以透過Internet來監視家庭或辦公室的目的。在整合網站伺服器於嵌入式系統平台的研究中,李孟學 [4]則利用Samsung以S3C4510B微處理器為核心之開發板設計了一個嵌入式Linux網路伺服器平台,其作業系統採用具有TCP/IP stack的uClinux為核心,實現FTP、Telnet、FTP、CGI等網路應用功能,以取代PC伺服器的工作。可以見得在嵌入式系統中提供網路相關的服務功能已是一個必要的需求。然而,在嵌入式攝影平台的研究中,鮮少可以提供較高彈性的擴充功能,亦即平台的架構的設計多為特定範圍的應用,其相關的設定選項及拍攝的功能多限定於內建介面中,並無法提供開發者或系統管理者依需要來設定拍攝方式及影像處理。

表2.1 傳統遠端攝影系統與嵌入式遠端攝影系統的比較表(本研究整理)

類比式遠端攝影系統
PC-based數位式遠端攝影系統
SoC 嵌入式遠端攝影系統
影像品質
受限於磁帶的品質,雜訊多且解析度差。
利用硬碟儲存,影像解析度高,畫質清晰。
可透過標準介面外接儲存媒體,影像解析度高,畫質清晰。
儲存格式
磁帶儲存,易受損耗,需常更換儲存影帶,儲存容量有限,且影像資料的調閱不易。
數位檔案格式,需有轉檔系統,且另外需配置主機來儲存及管理系統。
不需要個人電腦即可以將拍攝影像透過內建的轉檔程式轉存成一般的影像檔案格式。
建置成本
Cable布線及錄影軟硬體建置成本高,影像內容不易檢視且系統管理不易。
需要額外的個人主機來連接上網,管理系統多安裝於個人電腦中,需要額外的主機成本且占空間。
只有攝影設備及嵌入式平台等硬體成本,體積小不占空間,且利用既有的線路不需額外建置成本,攝影設備可依預算選購。
可擴充性
多為專屬規格,相容性差,且攝影點的設置地點固定且增設的數量有限,缺乏擴充性。
可同時增設多台攝影機,但管理及操作系統多為封閉式軟體開發套件。
攝影地點不受數量及地點的限制,且系統功能可以量身定製,功能模組可以視需要加以擴充。
網路連接
多為專屬通訊協定,如要連接網際網路需另外建置轉換設備。
攝影機拍攝需要經由個人電腦連接才能透過網路遠端操作,且影像需要上傳至網站伺服器才能分享。
可將網路服務功能設計於晶片中,只需要利用既有的網路連接設備(如ADSL或AP)即可連上網路,不需透過個人電腦連線,嵌入式平台本身即為網站伺服器。
另外,目前的監控系統的研究中所採用之攝影機之解析度均不是很理想,不論是採用CCD相機模組或CMOS相機模組 [2],其影像的解析度多在640x480以下。然而,一般動態錄影機由於處理速度及儲存空間的考量,單一畫格的影像也因為經過壓縮後而不夠清晰,因此不符合目前許多需要高解析度的影像的應用的需求。相對地,一般數位相機的解析度已可以達到千萬畫素,對於需要提供高解析度影像的應用更是一大助力。Wen-Chung Kao等人設計了一個可再使用的嵌入式軟體平台作為開發多功能數位靜態相機(Digital Still Camera)之用 [41]。但卻鮮少有研究是以採用標準的影像傳輸協定的數位相機來當作遠端攝影的裝置。

三、可程式化嵌入式遠端攝影及監視系統平台

(一)
系統架構

本系統主要分為數位相機控制端嵌入式平台 (Embedded Platform over Digital Camera,
EPoDC)以及影像儲存伺服器(Image Storage Server)以及網站伺服器(Web Server)如圖3.1所示,系統建置時,可以在選定的拍攝地點安裝數位相機端的嵌入式平台,再由系統管理者取得該點之IP位址後,網頁瀏覽者便可以透過網站來進行遠端拍攝;然而,為了避免拍攝平台同時有過多的使用者操作數位相機,造成平台的負荷過重,一般瀏覽者也可以由影像儲存伺服器直接取得某一景點由系統定時拍攝的影像而不需操作數位相機。





圖3.1 可程式化嵌入式遠端攝影及監視系統平台架構圖

(二) 軟硬體規格

1. [/i]數位相機拍攝端嵌入式平台[/i][/i]

(1).硬體規格

為降低系統成本,我們選擇用 SBC2410x [34] 作為數位相機控制平台(如圖3.2),此平台所採用之主要硬體規格如下:

n CPU:Samsung S3C2410時脈為200MHZ,ARM920T核心。

n ROM:1MB的NOR Flash和64MB的 NAND Flash。

n RAM:64MB的SDRAM。

n USB:版本1.1,提供隨插即用裝置使用 - 如:數位相機、儲存裝置、無線網路卡。

n LAN:cs8900, 10Mb。





圖3.2. SBC2410x 硬體架構

(2).
數位相機控制平台的程式開發及編譯軟體

此平台的作業系統及編譯程式如下:

n 作業系統:SBC2410這個平台所提供的作業系統採用 Linux 2.4.18
為主要核心,經由程式測試後,確定 Linux 2.4.18 無法正常透過USB控制數位相機。我們自行將 Linux 2.6.21 [38] 移植到
SBC2410 這個平台,經驗證後,可以透過USB控制多款 Canon數位相機 [13],包括 PowerShot A70(320萬畫素),
A80(400萬畫素), S3IS(600萬畫素)與G7(1000萬畫素),使得本系統 可以應用於多種不同之領域。

n 軟體發展程式:嵌入式系統的資源有限,尤其是 Flash 與 主記憶體,為了縮減軟體系統之體積,我們將原來的C程式庫從glibc [16]更換為功能相容,體積較小的uClibc 0.9.28 [37]。這使得我們的系統在具備如表3.2的功能,其佔用的記憶體空間小於4MB。

在開發程式語言方面,由於使用C++語言將會產生額外的記憶體空間消耗,因此,我們使用 C 語言進行所有程式的撰寫,藉此讓整個系統有高效率的表現。數位相機控制嵌入式平台主要的提供功能為包括(a). 數位相機及CCD相機的控制模組、(b). 可程式化語言直譯器、(c). Internet
服務提供以及影像及文字訊息傳送等功能。

(a). 數位相機及CCD相機的控制模組

控制模組係利用數位相機的PTP (Picture Transfer
Protocol) 協定,來操控相機(使用libptp2 [28] 實做),為前端的主要程式,並參考gPhoto [17]原始碼來完成程式。在控制模組中,我們提供了如表3.3的操控方法:

表3.2 平台之軟體發展程式及作業系統版本

作業系統
Linux 2.6.21
應用程式
1.
busybox 1.4
2.
dropbear 0.49
3.
vsftp 2.0.5
4.
thttpd(2.25b)
5.
php(4.4.7)
6.
openssl
7.
digital camera commander and script interpreter
NAND Flash
核心 與檔案系統小於 6MB
SDRAM
核心與ramdisk 小於32MB
表3.3 數位相機及CCD相機的控制模組指令

控制指令模組
功 能
Capture
擷取CCD 影像,可用來做其他影像處理。
RecordOn/RecordOff
進行錄影,可選擇開始錄影或結束錄影,錄製影像可儲存為MPEG-4 格式,也可配合拍攝主體的特性,以Delay 控制延遲時間,減少不必要的影像擷取,造成硬碟空間無謂的消耗。
Save
將影像儲存成檔案。
Load
讀取指定之檔案,可在後續進行相關比對。
SetSource
指定影像輸入來源。運用USB 可以連接多個裝置的特性,讓使用者可以裝設多個CCD 進行監控。
PlaySound
設定發出聲響,可設定循環播放或設定播放次數,也可控制停止播放,此功能可作為警報器使用。
Delay(Sleep)
裝置延遲,可以實作曠時攝影。
Time/Date
設定監控之時間範圍,透過此功能可以讓監控系統於設定時間開啟或關閉監控設備,或相關之配合時間日期的應用。
Bitmap Operation
點陣圖像處理
Mailto
寄送電子郵件至指定之電子信箱,並附加影像檔於郵件中。
Msn
傳送Msn 訊息予使用者,讓使用者馬上發現狀況。
MailServer
設定用來傳送郵件的伺服器名稱及帳號密碼。
Size
設定取像大小,分成320x240 及640x480。
(b). 可程式化語言直譯器

設計Interpreter 轉譯Script,再透過CCD控制模組來控制其操作。Interpreter提供流程控制、數值型態變數、影像變數,其中流程控制可分成以下幾種:

n
For… Next:可計數之迴圈。

n
Goto Label:跳至特定之Label。

n
If Then Label:If 判斷是否跳至指定之Label

n
此外,數值型態變數可以放入需要處理的數值資料,而影像變數則可以代表某張影像,以利過程中影像相關的處理。

(c). Internet
服務提供

為了讓使用者可以在遠端進行監控系統的管理,本系統平台支援了包括TCP/IP、SMTP、FTP、PPPoE等通訊協定,在主程式中附有支援PHP
網頁程式的thttpd [39]之Web 伺服器,使用者可以在任何有連接網路的電腦上、透過Web browser 連接遠端的Embedded system 進行監看或相關設定值的更動,方便使用者隨時隨地注意監控環境的狀況。在Server上撰寫一支能夠接收使用者的無線網路連線程式,而照相系統則是以無線的方式進行傳輸。透過無線傳輸,照相系統便可擺在任何於無線網路環境中想要拍攝的場景。

2. [/i]影像儲存伺服器[/i][/i]

(1). 硬體設備

影像儲存伺服器之硬體設備如下:

n
CPU:Intel(R) Celeron(R) CPU 3.06GHz

n 主機板:ASUS P5P 800

n RAM: 512 MB

n HardDisk:Seagate 80G

n 安裝作業系統:Linux Fedora Core 5 [15]

(2). 影像儲存伺服器程式設計

n
Storage Server:除了使用者資料外,還必須儲存由各地所散布的嵌入式系統(擷取端) 拍攝下的照片。

n
長駐Server程式:於Server上掛上一支由我們自行設計的Daemon程式,其功能在於進行對設置於其他地點的拍攝系統平台進行溝通,以及與網頁之間互相溝通,並將影像資料儲存於Server上的儲存媒體中。

n
錄影程式:於PTP協定[28]中,並無提供控制數位相機進行錄影的功能,因此,我們在Server上撰寫一支錄影程式,能將各地點拍攝的相片進行錄製。

3. [/i]網站伺服器[/i][/i]

Web Server:供使用者連上網頁使用者介面(遠端),可以使用Apache [10]或是thttpd [39]。

Database Server:使用者於網頁使用者介面,所註冊的相關會員資訊,會儲存於Data Base中,可以使用MySQL [23]或是PostgreSQL [27]。

(三) 系統處理流程

在本節中將針對架構中之數位相機拍攝端嵌入式平台(Embedded Platform over DC, EPoDC)以及影像儲存伺服器(Storage Server)之間的執行流程(如圖3.4)加以說明。

專業使用者(Expert End User)透過網際網路來開啟EPoDC中的網頁介面後,可以利用該介面來設定平台所搭載的數位相機的拍攝參數,例如:光圈、快門、ISO、尺寸、白平衡及閃光燈開關等設定值;數位相機控制端嵌入式平台中的主程式(Main Program)便依此參數來執行相機拍攝功能模組(DC Function API/CCDC Function API)中的指令進行拍攝,並由影像編碼程式(Image Encoder)將拍攝的影像檔轉檔後儲存於影像儲存伺服器或外接USB儲存媒體(USB Storage)中。而拍攝的照片會經由EPoDC平台中的網頁產生器(Web Generator)自動產生包含拍攝影像檔的網頁下載至使用者端的瀏覽器供使用者觀看。




圖3.4 可程式化嵌入式攝影平台系統處理流程

另一方面,為了提供系統管理者及系統開發者可以遠端設定嵌入式平台的組態或執行個人化拍攝描述語言,EPoDC平台提供支援FTP及SSH協定的管理介面讓系統管理者及系統開發者可以藉由遠端主機(Remote System Manager Host)登入平台中進行平台管理、上傳程式檔及外掛模組檔。應用系統開發者或系統管理者利用遠端管理主機登入EPoDC執行管理設定,同時也可以在線上執行相機操作的描述語言或將程式檔案上傳至EPoDC平台中;而所撰寫的程式會經由系統的直譯器(Script Interpreter)編譯後交由主程式來執行對應的相機拍攝工作(例如:定時及曠時拍攝或移動偵測等影像處理);而平台的外掛模組管理程式(Plug-In Manager)則是讓系統開發者可以執行外掛的影像處理程式庫,以增加平台更多的擴充功能。

EPoDC平台在拍攝的處理時,為了避免造成嵌入平台記憶體不足的問題,當該平台之數位相機每拍攝一張照片時,影像檔便會立刻轉存至影像儲存伺服器(Storage Server)的磁碟中。而一般使用者可以不經EPoDC平台,直接由影像儲存伺服器下載最近拍攝的照片,以避免因為同時太多人操作同一台EPODC平台上的數位相機而產生等待的問題。

在EPoDC平台中的訊息傳送方面,每一個EPoDC平台均可以設定郵件帳號及指定郵件伺服主機(SMTP Server)、設定MSN帳號以及手機簡訊號碼,利用簡易語言的撰寫來進行影像郵件發送、MSN訊息傳送以及手機簡訊發送等功能。

(四) 可程式化平台之描述語言

如前節所述,本研究的架構中為了提供應用系統開發者可以自行設定遠端拍攝的操作以及影像處理等功能,因此,定義了一個簡易的描述語言(Script)。開發人員可將其設計之Script檔上傳至平台中,透過平台提供的直譯器Interpreter 來轉譯Script,主程式再配合先行設計好的數位相機或CCD相機控制模組,讓數位相機或CCD相機依Script 的內容進行運作。在本節中列舉幾個程式範例來加以說明。

1. 遠端相機拍攝範例

利用此指令,可使得數位相機進行拍照的動作。使用者可以控制每張照片的拍照間格(interval)以及拍照張數(frame)。此指令會將拍攝照片從數位相機下載回來(檔名為filename)。

遠端相機拍攝語法:

capphoto “filename” [, “interval”, “frames”[/i]][/i][/i]

範例:
capphoto
“test%03d.jpg”, 10, 3
//每10秒拍一張,共拍3張, test001.jpg, test002.jpg, test003.jpg
2 曠時攝影範例

曠時攝影為本系統獨特之功能,使用者只要利用一個命令即可完成傳統繁雜的工作;架好相機,就可以獲得「花開的過程」,「蛾如何破繭」,「種子發芽的過程」。

曠時攝影語法[/b]:

dcrecordon “filename” [, interval ][, len ][, -frame ][/i]

格式1:

dcrecordon
“test.m4v”, 30, 600

//每30秒錄一張,錄製時間600秒
格式2:
dcrecordon
“test.m4v”, 30, -600

//每30秒錄一張,錄製600張
3. 監控攝影及移動偵測範例

本範例說明如何自行定義移動偵測時啟動攝影功能的程式,並可以將移動物件的照片透過電子郵件送出。

範例:

1 delay
5         // 延遲5秒,清場

2 capture
b0        // 取一張影像當背景

3 again:

4 capture
b1        // 取圖並放到 b1 影像變數中

5   // 計算 b0 和 b1 的差異, 並放入 b2 影像變數中

6 diff
b2,b1,b0

7 err
v0,b2         // 取得標準誤差, 置於 v0 中

8 print
v0          // 印出誤差值

9 if
v0 < 5 then again //
如果沒有物體經過,則繼續

10 RecordOn
"test.m4v"    // 開始錄影

11 sleep
60         // 其他動作停止,錄影60秒

11 RecordOff
       // 停止錄影

13 mailto
"xxx@your.mail.server", "test.m4v"   // 將錄影檔寄出

14 save
b1, “object.jpg”   // 移動影像存檔

15 mailto
xxx@your.mail.server”, “object.jpg” //將移動物件照片寄出

16 end

四、系統實作

(一)
遠端數位相機拍攝端嵌入式平台

在數位相機拍攝端嵌入式平台的實作,我們以SBC-2410x開發板搭載Canon Power-Shot A80數位相機(如圖4.1所示),配合無線網路卡模組來提供遠端使用者透過網際網路連上平台中的拍攝設定網站,使用者可以利用圖4.2所示的網頁介面來設定數位相機的拍攝選項並進行拍照。此外本系統也內建了「MSN與手機簡訊傳送」(圖4.3),「定時與曠時攝影」(圖4.4)與「移動偵測」(圖4.5)等等設定與腳本,讓使用者可以立即使用與修改。





圖4.1 數位相機拍攝端嵌入式平台





圖4.2 數位相機拍攝設定介面





圖4.3 MSN及手機簡訊傳送組態設定介面





圖4.4 定時/矌時攝影設定介面





圖4.5移動偵測腳本(script)

(二) 進階使用者程式設計

由於本系統內建一個功能完善,容易編寫的直譯器(interpreter),只要使用者具有初級的程式設計能力,就可以透過script來控制流程,使整個工作可以完全自動化。使用者如果具有C語言程式設計能力,也可以利用本系統具有「外掛(plug-in)」功能,將影像處理演算法寫成外掛程式,由本系統從數位相機所擷取之影像進行處理。由於本系統可以控制解析度高達1000萬畫素之數位相機,這將解決以往利用100萬畫素以下的CCTV,解析度不夠的問題。

(三)
系統效能

我們於SBC2410(ARM9)這個嵌入式系統平台實作了一個具有前面所描述彈性大、可程式化的控制數位相機功能的攝影與監視系統。圖4.6顯示系統工作中的記憶體使用情形,由此圖看出,主記憶體需求不到32MB;於總數64MB的主記憶體當中,還有大約32MB的可用空間。





圖4.6系統記憶體需求

五、結論及未來方向

如何在有限的系統資源有效的執行應用系統一直是近年來嵌入式系統應用的研究重點,在本研究中,我們設計了一個低成本且可以有效地整合網路服務功能的可程式化嵌入式遠端攝影及監視系統平台,本平台採用標準化的PTP協定來設計數位相機的控制模組,以達到支援不同機型的高畫素的數位相機的目標。並提供網頁的圖形介面讓使用者可以遠端操作相機的拍攝及相關的監視攝影的設定。

另外,為了讓嵌入式平台可以擴充應用在不同的遠端攝影系統上,在平台中我們定義了一個簡易的直譯語言及程式設計介面,以提供開發人員依不同的拍攝需求來撰寫應用程式。

在未來,我們會將平台應用在不同的專業領域中,例如:設計一個可以提供即時景點拍攝的旅遊資訊網站,作為使用者安排旅程的參考或是建置一個遠端生態觀測網站,提供給生態學家進行遠處生態監控及攝影紀錄的研究需求等應用。

六、參考文獻

[1].
林思宏,”可供3G遠端監視的數位視訊錄影系統之研究”,國立東華大學電機工程學系碩士論文,未出版,2006。

[2].
林昌廣,”嵌入式網路監視系統”,國立交通大學電機與控制工程學系碩士論文,未出版,2002。

[3].
朱育昇,”數位家庭-安全監視系統之設計”,國立中正大學碩士班論文,未出版,2006。

[4].
李孟學,”ARM嵌入式Linux網路伺服器之設計與實現”,私立中華技術學院碩士班論文,未出版,2005。

[5].
書裕,”嵌入式系統為基礎整合家庭網路閘道器及遠端監視系統實作”,國立中正大學碩士班論文,未出版,2005。

[6].
趙寶田,”以ARM
Linux實現嵌入式家庭保全系統”,國立台灣科技大學碩士班論文,未出版,2004。

[7].
葛世偉、張惟欽,”嵌入式圖形介面之遠端監控移動中物體”,工程科技與教育學刊,秘第三期,第三卷,pp.416-425,2006。

[8].
蕭榮修, 張國基, 史義男, 林玫,”以ARMLinux為基礎的嵌入式資訊網系統平台之設計與實作”,臺北科技大學學報,pp.55-62,2004。

[9].
Alanen, Marcus, et al., “Design Method Support for Domain Specific SoC
design”., IEEE Computer Society[/i], pp.1,
2006.

[10].
Apache, The
Apache HTTP Server. URL:http://httpd.apache.org/

[11].
ARM The
Architecture for Digital World. URL:http://www.arm.com/

[12].
Can Filibeli M., Oznur Ozkasap, Reha
Civanlar M., “Embedded web server-based home appliance networks.” Journal of Network and Computer Applications[/i],
30, pp.499-514, 2007.

[13].
Canon. URL: http://web.canon.jp/imaging/BeBit-e.html
[14].
Farah Magrabi, Lovell Nigel H., Celler
Branko G., “A web-based approach for electrocardiogram monitoring in the home.”
International Journal of Medical
Informatics[/i], Vol. 54, pp.145-153, 1999.

[15]. Fedora Core. URL:http://fedoraproject.org/wiki/

[16]. Glibc. URL: http://www.gnu.org/software/libc/libc.html
[17].
Gphoto. URL:http://www.gphoto.org/

[18].
H.264. URL:http://en.wikipedia.org/wiki/H.264

[19].
i3a International Imaging Industry Association.
URL: http://www.i3a.org/index.html
[20].
Kocher P., Lee R., McGraw G., and Raghunathan A., ” Security as a New Dimension
in Embedded System Design.” Proceedings of the 41st Annual Conference on
Design Automation
, pp.753-760, 2004 June..

[21].
McDowell Charles E., Montague Bruce R.,
Allen Michael R., Baldwin Elizabeth A., and Montoreano Marcelo E., “Javacam
Trimming Java down to size.” IEEE
Internet Computing[/i], Vol.2, No.3, pp.53-59, 1998.

[22].
Montague Bruce R., Allen Michael R., Baldwin
Elizabeth A., Montoreano Marcelo E., and McDowel Charles E., “Design and
Implementation of an Embedded-Java Web-Camera.” Workshop on Embedded Web Technologies, Sixth International World Wide
Web Conference, Santa Clara[/i],
1997.

[23].
MySQL, The world’s
popular open source database. URL: http://www.mysql.com/

[24].
uClibc. URL: http://uclibc.org/uClibc.html
[25].
Panda P. R., Catthoor F., Dutt N. D., Danckaert K., Brockmeyer E.,
Kulkarni C., Vandercappelle A., and Kjeldsberg P. G. (2001 April). Data and
memory optimization techniques for embedded systems. ACM Transactions on
Design Automation of Electronic Systems
, 6(2), pp.149-206.

[26].
PHP Hypertext
Preprocessor. URL:http://php.net/

[27]. PostgreSQL, The world’s most advanced open source
database. URL:http://www.postgresql.org/

[28]. PTP Library. URL:http://libptp.sourceforge.net/

[29]. PTP, Picture Transfer Protocol. URL:http://en.wikipedia.org/wiki/Picture_Transfer_Protocol

[30]. QT – Trolltech. URL: http://www.trolltech.com/products/qt/

[31].
Riccobene, E., et al., “A SoC Design Methodology Involving a UML 2.0
Profile for SystemC. In Design.” Automation
and Test in Europe (DATE’05)[/i], Vol. 2, pp.704–709,
2005.

[32].
Samsung. URL: http://www.samsung.com/tw.

[33].
San-Pil Moon; Joo-Won Kim; Kuk-Ho Bae; Jae-Cheon Lee; Dae-Wha Seo, “Embedded
Linux implementation on a commercial digital TV system.” IEEE Transactions on Consumer Electronics[/i], Vol. 49, Issue 4 , pp.1402-1407,
Nov. 2003.

[34].
SBC2410. URL: http://www.mizi.com/developer/s3c2410x/index.html
[35].
Silicon
Integrated System Corp. URL:http://www.sis.com/

[36].
TCPDump /Libpcap.
URL:http://www.tcpdump.org/

[37].
The GNU Compiler
Collection. URL:http://gcc.gnu.org/

[38]. The Linux Kernel
Archives. URL:http://www.kernel.org/

[39]. thttpd. URL:http://www.acme.com/software/thttpd/

[40]. Wahidah Mansor, Md. Zain Awang, Mohd Nasir Taib, “Software
Methodology for Remote Monitoring and Control System.” TENCON 2000. Proceedings[/i], Vol. 2, pp.509-511, 2000.

[41].
Wen-Chung Kao, Chih-Chung Kao, Ching-Kai Lin, Tai-Hua Sun, and
Sheng-Yuan Lin, “Reusable embedded software platform for versatile camera
systems” IEEE Trans. Consumer Electronics[/i],
Vol. 51, No.4, pp.1379-1385, 2005.

[42].
XVID Codec. URL: http://www.xvid.org/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: