基于S3C2410的手持監控終端的研究與設計

發(fā)布時(shí)間:2010-5-5 13:28    發(fā)布者:我芯依舊
關(guān)鍵詞: S3C2410 , 監控終端
1 引言

視頻監控技術(shù)在國民生產(chǎn)的許多領(lǐng)域發(fā)揮著(zhù)重要的作用。隨著(zhù)嵌入式技術(shù)的逐漸發(fā)展和成熟,手持監控終端成為可能。而手持監控終端的可攜帶性和低功耗更極大地擴展了視頻監控的應用范同。本課題探索了一種手持監控終端的設計方案。提供了簡(jiǎn)捷易用的圖形用戶(hù)界面.實(shí)現了對MPEG4格式視頻壓縮數據的解碼及其在LCD上的播放。

2 系統的硬件平臺

本系統的處理器選用三星公司生產(chǎn)的具有ARM9內核的S3C2410.S3C2410是32位RISC CPU.內部帶有全性能的內存處理單元(MMU).主頻為203MHz,最高可達260MHz。芯片內部集成了大量的功能單元.包括:外部存儲器控制器、LCD控制器以及8通道10位ADC觸摸屏接口等。系統的電源模塊采用TI公司的TPS73HD3XX系列芯片進(jìn)行電壓轉換.可以分別獲得1.8V和3.3V電壓。根據應用的需要.本系統選用了1M NOR Flash AM29LV800DB,64M NAND Flash U-K9F1208UDM-YC80和兩片32M SDRAM K4S561632C-TC75。液晶采用的是320x240的TFT真彩(65536色,16位)液晶屏。觸摸屏采用的是四線(xiàn)制電阻式觸摸屏。系統的硬件結構框圖如圖1所示。


圖1 系統硬件框圖

3 系統的軟件設計

本手持終端選用嵌入式Linux作為操作系統。在此基礎上運用了兩個(gè)開(kāi)源軟件:圖形用戶(hù)界面庫MiniGUI和視頻編解碼庫ffmpeg。

3.1 基于MiniGUI的圖形用戶(hù)界面

MiniGUI是由北京飛漫軟件技術(shù)有限公司豐持的一個(gè)自由軟件項目.它為基于Linux的實(shí)時(shí)嵌入式系統提供一個(gè)輕量級的罔形用戶(hù)界面支持系統。本系統的圖形用戶(hù)界面使用了這個(gè)庫來(lái)實(shí)現,它負責運用和管理FrameBuffer幀緩存驅動(dòng)、觸摸屏和鍵盤(pán)驅動(dòng)程序。通過(guò)MiniGUI庫。系統圖形用戶(hù)界面相關(guān)的部分得到廠(chǎng)很好的實(shí)現.成功的建立了包括按鈕、菜單和背景網(wǎng)片在內的圖形用戶(hù)界面。特別需要指出的是.因為本系統的數據接收和實(shí)時(shí)視頻解碼的操作涉及到大量的數據處理,所以應用程序會(huì )分別為這些操作新開(kāi)線(xiàn)程,如果一個(gè)線(xiàn)程因為數據的處理失敗而阻塞,圖形用戶(hù)界面線(xiàn)程仍可正常工作。用戶(hù)仍可以和軟件交互.終止阻塞的線(xiàn)程。

3.2 視頻解碼線(xiàn)程

本課題中。手持設備通過(guò)網(wǎng)絡(luò )接收MPEG4格式的視頻數據所以需要在手持設備上移植MPEG4的解碼庫。經(jīng)過(guò)對比和分析,選擇了ffmpeg開(kāi)源項目作為這個(gè)手持設備的解碼庫。ffmpeg是自南軟件,為多媒體系統實(shí)現MPEG4流媒體技術(shù)提供了完整的解決方案.主要的組成部分是libavformat和libavcodec庫。libavcodec包含了很多常見(jiàn)的音視頻編解碼器.而libavformat則能夠很好的支持大部分的音視頻文件格式。

實(shí)時(shí)接收到的視頻數據可以作為一種特殊的流媒體文件.這種文件與一般的視頻文件相同。都有若干個(gè)基本的組成部分。首先,文件自身可以被叫做一個(gè)“容器”(container),“容器”的類(lèi)型決定了視頻信息在文件中所處的位置。其次,文件包含有若干個(gè)“流”(stream);比如,通常有一個(gè)音頻流和一個(gè)視頻流(一個(gè)“流”只是一個(gè)對于一系列數據組成單位的形象的稱(chēng)呼)。一個(gè)流中的數據組成單位叫做“幀”(frame)。每一個(gè)流由不同的“解碼器”解碼。從流中可以讀出“包”(packet)。包是一些數據塊,這些數據塊中包含了壓縮后的原始幀的數據。下面詳細地介紹一下利用ffmpeg的API函數進(jìn)行解碼的過(guò)程。

首先,利用av_register_all()函數進(jìn)行庫的初始化,向編解碼庫注冊所有可用的文件格式和編碼器,所以當有對應的格式的文件被打開(kāi)的時(shí)候.相應的解碼器可以被自動(dòng)地調用。通過(guò)av_open_input_file()函數打開(kāi)視頻文件,把關(guān)于文件格式的頭和儲存信息讀到一個(gè)AVFormatContext結構體中。接著(zhù),利用av_find_stream_info()函數檢查存儲在A(yíng)VFormatContext結構體中的文件的流信息,這個(gè)函數把正確的信息存儲在一個(gè)指針集合中.在這個(gè)集合中就可以找到需要的視頻流。關(guān)于流的編解碼器信息在A(yíng)VCodecContext結構體中,通過(guò)它就可以找到真正的編解碼器并且打開(kāi)它。

利用avcodec_alloc_frame()函數分配一個(gè)用來(lái)存儲幀的空間pFrame。因為手持終端播放的視頻是565-bit的圖像,所以還需要把幀從原始格式轉化成RGB格式。ffmpeg提供了img_convert()函數做這個(gè)轉換。注意為轉換還需另外分配一個(gè)幀pFrameRGB用來(lái)存放轉換后的數據。接下來(lái)依次從視頻流中讀原始幀的數據包把數據包解碼到上面分配的pFrame中,一旦完成了一個(gè)幀的解碼,就把這個(gè)幀轉換成要求的RGB數據格式并且在液晶屏上顯示解碼后的視頻圖像。系統解碼的過(guò)程如圖2所示。



圖2 系統解碼的過(guò)程

3.3 數據接收線(xiàn)程

手持監控終端通過(guò)SOCKET與視頻采集設備建立連接接收視頻數據.但是接收到的MPEG4數據,必須進(jìn)行一定量的緩沖.然后才能調用ffmpeg的API函數進(jìn)行解碼處理。本手持監控終端在內存中建立兩個(gè)隊列,一個(gè)是空閑的緩沖隊列,用以存放接收到的數據:另一個(gè)是尚未處理的數據隊列.等待處理.兩個(gè)隊列頭尾相連組成一個(gè)環(huán)形緩沖列表。數據接收線(xiàn)程方面:當手持監控終端接收到一個(gè)包的數據,就從緩沖隊列的頭拿出一個(gè)緩沖區塊,把接收到的數據存放到這個(gè)緩沖區塊中,然后將這個(gè)緩沖區塊加入到數據隊列的尾部等待視頻解碼線(xiàn)程的讀取。視頻解碼線(xiàn)程方面:從數據隊列的頭拿出一個(gè)緩沖區塊,讀取數據,將讀完的緩沖區塊加到緩沖隊列的尾部,等待再一次地接收數據。經(jīng)過(guò)測試,選擇32個(gè)緩沖區塊,每個(gè)緩沖區塊的大小選為24KB,會(huì )獲得比較好的抗擾動(dòng),抗延時(shí)的播放效果。系統的軟件結構框圖如圖3所示。


圖3 系統軟件框圖

4 結束語(yǔ)

本文針對S3C2410硬件平臺和Linux操作系統,設計并完成了在手持監控終端上對實(shí)時(shí)視頻的播放,基本上達到了,預期的要求。由于本課題只是借鑒了流媒體的思想,利用的不是真正的流媒體技術(shù)所以會(huì )產(chǎn)生一定的播放延時(shí),接下來(lái)的工作會(huì )探索流媒體技術(shù)在手持視頻終端上的應用,進(jìn)一步減少延時(shí),以便可以更好的將流媒體技術(shù)利用到視頻監控中。

創(chuàng )新點(diǎn):本文所提出的手持監控終端的設計方案充分利用了S3C2410的功能,并且創(chuàng )新性的把ffmpeg視頻編解碼庫移植到了基于S3C2410的硬件平臺上.通過(guò)建立循環(huán)數據鏈表的方法實(shí)現了視頻數據的接收和解碼的同時(shí)運行。

目前整套設備的市場(chǎng)價(jià)格預計在0.5萬(wàn)元左右。


作者:黨帥,王庫      來(lái)源:《微計算機信息》(嵌入式與SOC)2009年第9-2期
本文地址:http://selenalain.com/thread-11010-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页