本發(fā)明涉及嵌入式系統(tǒng)、視頻處理、硬件加速技術(shù)領(lǐng)域,尤其是一種攝像頭智能篩選系統(tǒng)。
背景技術(shù):
攝像頭作為當(dāng)代最常見的視頻輸出源,因其分辨率高,時(shí)延低,易于操作等特點(diǎn),受到廣泛的使用。隨著科技的發(fā)展,攝像頭的分辨率會(huì)逐漸提高,更高清、更高分辨率的視頻數(shù)據(jù)也終將普及我們的生活。
高分辨率的視頻數(shù)據(jù)就帶來了高清視頻存儲(chǔ)這一難題,高清視頻存儲(chǔ)在很多領(lǐng)域都是不可避免的一個(gè)環(huán)節(jié),例如遠(yuǎn)程監(jiān)控、實(shí)驗(yàn)記錄等。但是隨著視頻分辨率的不斷提升,冗余信息的總量也隨之不斷提高,人們真正感興趣的視頻內(nèi)容可能僅僅占總視頻容量的10%,卻占用了大量的存儲(chǔ)資源。特別是當(dāng)需要從這大量的視頻中搜索關(guān)鍵信息的時(shí)候,不但需要耗費(fèi)額外人力和大量的時(shí)間,同時(shí)搜索的精度也遠(yuǎn)不能達(dá)到保證。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足而提供的一種攝像頭智能篩選系統(tǒng),該系統(tǒng)彌補(bǔ)了傳統(tǒng)攝像頭傳輸數(shù)據(jù)不但占用大量的信道資源,同時(shí)在接收端需要大量存儲(chǔ)資源來存放這些數(shù)據(jù),而這些數(shù)據(jù)中真正有價(jià)值的信息極少的情況,實(shí)現(xiàn)了攝像頭數(shù)據(jù)的高效傳輸和數(shù)據(jù)的智能篩選。
本發(fā)明的目的是這樣實(shí)現(xiàn)的:
一種攝像頭智能篩選系統(tǒng),包括電源模塊、核心處理器、攝像頭采集模塊、硬件加速模塊、圖像增強(qiáng)模塊、高速存儲(chǔ)模塊及傳輸模塊,電源模塊與核心處理器、攝像頭采集模塊、硬件加速模塊、圖像增強(qiáng)模塊、高速存儲(chǔ)模塊、傳輸模塊
連接,為核心處理器、攝像頭采集模塊、硬件加速模塊、圖像增強(qiáng)模塊、高速存儲(chǔ)模塊、傳輸模塊提供工作電源。核心處理器與電源模塊、攝像頭采集模塊、硬件加速模塊、圖像增強(qiáng)模塊、高速存儲(chǔ)模塊、傳輸模塊相連,其中攝像頭采集模塊與核心處理器連接,用于采集視頻數(shù)據(jù)并實(shí)時(shí)傳遞給核心處理器,硬件加速模塊與核心處理器相連,用于為核心處理器提供硬件加速功能,圖像增強(qiáng)模塊與核心處理器連接,用于減少核心處理器從圖像采集模塊處獲得的圖像的噪點(diǎn),并增強(qiáng)其圖像質(zhì)量。高速存儲(chǔ)模塊與核心處理器相連,用于存儲(chǔ)視頻,傳輸模塊與核心處理器連接,用于將處理后的視頻傳輸?shù)揭蕴W(wǎng)或者外接顯示器上。
所述攝像頭采集模塊包塊兩路攝像頭接口,分別支持dvp協(xié)議和mipi(2-lane)協(xié)議,以適應(yīng)市面絕大多數(shù)的攝像頭傳感器。
所述硬件加速模塊為gpu,硬件加速模塊和核心處理器并行處理視頻數(shù)據(jù),以此加速核心處理器的工作速度。
所述傳輸模塊包括兩路視頻傳輸方式,分別為hdmi接口和千兆以太網(wǎng)接口,hdmi接口用于將篩選后的視頻數(shù)據(jù)直接傳送到顯示器,千兆以太網(wǎng)接口將篩選后的視頻數(shù)據(jù)傳送到以太網(wǎng)上。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
(1)、本發(fā)明提供了一種基于攝像頭端的視頻數(shù)據(jù)篩選方式,刪除用戶不需要的視頻幀,減少了攝像頭需要傳輸?shù)囊曨l總量,減小了信道容量的需求。
(2)、本發(fā)明針對(duì)信道阻塞的情況,允許攝像頭將實(shí)時(shí)視頻流存儲(chǔ)于本地,待信道通暢后再傳輸。
(3)、本發(fā)明允許用戶自己定義攝像頭需要過濾的參數(shù)。
附圖說明
圖1為本發(fā)明結(jié)構(gòu)框圖;
圖2為攝像頭采集模塊示意圖;
圖3為傳輸存儲(chǔ)模塊示意圖;
圖4為核心處理器工作流程圖。
具體實(shí)施方式
以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明做詳細(xì)描述。
實(shí)施例
參閱圖1,本發(fā)明包括電源模塊1、核心處理器2、攝像頭采集模塊3、硬件加速模塊4、圖像增強(qiáng)模塊5、高速存儲(chǔ)模塊6及傳輸模塊7,電源模塊1為核心處理器2、攝像頭采集模塊3、硬件加速模塊4、圖像增強(qiáng)模塊5、高速存儲(chǔ)模塊6、傳輸模塊7提供電源。其中攝像頭采集模塊3包括兩路攝像頭傳感器接口,dvp接口31和mipi接口32,用于滿足不同的攝像頭接口要求;傳輸模塊7包含兩路不同的傳輸接口hdmi接口71和以太網(wǎng)接口72以及以太網(wǎng)phy芯片73。
參閱圖2,攝像頭采集模塊3包括兩路攝像頭傳感器接口,dvp接口31和mipi接口32,mipi接口31以ov5640為例,對(duì)于mipi接口,用到的主要信號(hào)線為兩對(duì)信號(hào)差分線,一對(duì)時(shí)鐘差分線和啟動(dòng)信號(hào)pwn。在啟動(dòng)信號(hào)置位的情況下,通過輸入符合ov5640要求的時(shí)鐘信號(hào),采用的時(shí)鐘為占空比50%頻率24mhz的方波信號(hào),ov5640的信號(hào)線會(huì)輸出攝像頭采集到的實(shí)時(shí)視頻。dvp接口31以ov5642為例,對(duì)于dvp接口,用到的信號(hào)線為8根數(shù)據(jù)線,行、場(chǎng)同步線,時(shí)鐘線,同樣對(duì)時(shí)鐘線輸入符合ov5642要求的時(shí)鐘信號(hào),采用的時(shí)鐘為占空比50%頻率24mhz的方波信號(hào),ov5642會(huì)輸出相對(duì)應(yīng)的行場(chǎng)同步信號(hào)和視頻數(shù)據(jù)。
硬件加速模塊4為gpu,以gc2000為例。gc2000在系統(tǒng)中的工作分為以下幾點(diǎn):①待處理的視頻數(shù)據(jù)需要規(guī)定的bgr24像素格式,但是攝像頭采集來的數(shù)據(jù)的格式不固定,因此需要用gpu來進(jìn)行高速的像素格式轉(zhuǎn)換。②核心處理器2進(jìn)行模板匹配的時(shí)候需要gpu的同步協(xié)助,表現(xiàn)在當(dāng)核心處理器2將對(duì)應(yīng)的視頻幀劃分為若干小區(qū)域后,gpu將順次接收核心處理器2劃分的區(qū)域,通過計(jì)算各區(qū)域和模板的均方差是否小于判決閾值來判斷此區(qū)域是否是用戶感興趣的。若一幀數(shù)據(jù)內(nèi)沒有用戶感興趣的數(shù)據(jù),則gpu丟棄數(shù)據(jù),并且向核心處理器2返回未找到感興趣區(qū)域的信息,并提交下一幀的請(qǐng)求。若找到,則不再處理當(dāng)前幀的其余數(shù)據(jù),并向核心處理2回復(fù)找到感興趣區(qū)域的信息,并提交下一幀的請(qǐng)求。
圖像增強(qiáng)模塊5為fpga,此處以cyclone4系列芯片為例,fpga和核心處理器2連接的接口為核心處理器2的eim接口,最大速率可達(dá)24bit*80m/s=1.875gbit/s,而1080p@30的視頻流數(shù)據(jù)為1920*1080*30*3*8約為1.39gbit/s,因此eim接口足以滿足時(shí)序要求。fpga在系統(tǒng)中的工作主要分兩步:第一步,對(duì)采集到的數(shù)據(jù)作中值濾波,去除在攝像頭采集過程中引入的椒鹽噪聲;第二步,因?yàn)閿z像頭在采集過程中可能存在色彩的畸變,因此做一次阿爾法矯正,參數(shù)由攝像頭引起的畸變量而定。
高速存儲(chǔ)模塊6為支持sata接口或者msata的硬盤。
參閱圖3,傳輸模塊7包括hdmi接口71、千兆網(wǎng)接口72和相對(duì)應(yīng)的以太網(wǎng)phy芯片73,型號(hào)分別以10029449-001rlf、hr911130c和ar8031為例。hdmi接口用于直接傳輸視頻信號(hào),ar8031用于將核心處理器2需要傳輸?shù)木W(wǎng)絡(luò)包轉(zhuǎn)換為hr911130c能夠傳輸?shù)男盘?hào),hr911130c則是標(biāo)準(zhǔn)的千兆以太網(wǎng)接口,用于接插網(wǎng)線。
參閱圖4,核心處理器2以imx6q為例,系統(tǒng)上電后,各個(gè)模塊開始工作,過程如下:imx6q加載操作系統(tǒng),初始化操作系統(tǒng),讀取默認(rèn)參數(shù)。核心處理器2請(qǐng)求攝像頭采集模塊3輸出視頻流,請(qǐng)求協(xié)議為v4l2,若請(qǐng)求失敗,說明攝像頭采集模塊3未能成功啟動(dòng),此時(shí)系統(tǒng)查看默認(rèn)參數(shù)中是否有配置網(wǎng)絡(luò)攝像頭的相關(guān)參數(shù),若無,則等待人工干預(yù),若存在,則將請(qǐng)求的參數(shù)從攝像頭采集模塊3轉(zhuǎn)換為網(wǎng)絡(luò)攝像頭,重新進(jìn)入請(qǐng)求攝像頭階段。若請(qǐng)求攝像頭采集模塊3輸出視頻流成功,說明攝像頭采集模塊3工作正常。之后核心處理器2會(huì)請(qǐng)求硬件加速器4,若硬件加速器4回復(fù)請(qǐng)求,說明硬件加速器4正常工作,之后硬件加速器會(huì)協(xié)同核心處理器處理視頻數(shù)據(jù)。若硬件加速器4無回復(fù),說明硬件加速器4啟動(dòng)失敗,在無硬件加速器4協(xié)同的情況下,核心處理器2最大的處理速度僅可以支持1920x1080@15hz的視頻數(shù)據(jù),因此將攝像頭關(guān)閉后,重新配置攝像頭刷新率為15hz;若默認(rèn)參數(shù)已經(jīng)設(shè)置為15hz或者硬件加速器4回復(fù)了請(qǐng)求,則核心處理器2請(qǐng)求圖像增強(qiáng)器5。圖像增強(qiáng)器5如無回復(fù),則表示圖像增強(qiáng)5啟動(dòng)失敗,之后將會(huì)取消系統(tǒng)的圖像增強(qiáng)功能,同時(shí)將圖像增強(qiáng)器5在硬件上配置為直通模式。之后系統(tǒng)正式進(jìn)入視頻幀的請(qǐng)求階段,核心處理器2請(qǐng)求視頻幀,請(qǐng)求到后將視頻幀發(fā)送給圖像增強(qiáng)模塊5,若圖像增強(qiáng)模塊5工作正常,則圖像增強(qiáng)模塊5會(huì)對(duì)收到的視頻幀進(jìn)行降噪處理,減少因?yàn)樾盘?hào)完整性等問題引起的椒鹽噪聲,同時(shí)增強(qiáng)圖像的對(duì)比度,使圖像更容易被系統(tǒng)分辨。若圖像增強(qiáng)模塊5在啟動(dòng)時(shí)失敗,則被配置成直通模式,那么數(shù)據(jù)被傳入圖像增強(qiáng)模塊5之后會(huì)直接再被傳回核心處理器2,圖像增強(qiáng)模塊5的作用相當(dāng)于導(dǎo)線。待圖像增強(qiáng)模塊5處理結(jié)束,核心處理器2會(huì)對(duì)數(shù)據(jù)進(jìn)行的區(qū)域分割,并對(duì)分割完的數(shù)據(jù)與系統(tǒng)存儲(chǔ)的關(guān)鍵信息進(jìn)行比較,一旦關(guān)鍵信息存在,那么就認(rèn)定這一幀的數(shù)據(jù)是用戶感興趣的,或者說存在著有用的信息,那么這一幀的數(shù)據(jù)就會(huì)被保存下來,若所有切割完的數(shù)據(jù)在進(jìn)行匹配后被認(rèn)為是不重要的,那么這一幀的數(shù)據(jù)就會(huì)被舍棄,然后再去請(qǐng)求下一幀數(shù)據(jù)重復(fù)相同的工作。在存在有用信息的情況下,核心處理器2會(huì)去判斷當(dāng)前的傳輸模塊是否工作正常,如果當(dāng)前不正常,那么就會(huì)把匹配到的數(shù)據(jù)存儲(chǔ)在高速存儲(chǔ)模塊6,如果正常,那么核心處理器就會(huì)把匹配到的數(shù)據(jù)傳輸?shù)揭蕴W(wǎng)或者從hdmi口輸出。然后回到請(qǐng)求視頻幀的階段,重復(fù)相同的工作。