本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,特別涉及一種快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng)。
背景技術(shù):
快速多分辨率視頻圖像鏡像及旋轉(zhuǎn)處理,就是對輸入的多種分辨率視頻圖像快速完成鏡像,旋轉(zhuǎn)處理,是視頻圖像處理領(lǐng)域的應(yīng)用之一。
基于FPGA做視頻采集的常用方式是將圖像采集并上傳至PC機顯示,或者壓縮回放,壓縮多用DSP完成?,F(xiàn)有技術(shù)缺少對視頻做處理,尤其是對視頻圖像做左右鏡像、上下鏡像、180的翻轉(zhuǎn)、90度、270度翻轉(zhuǎn)處理的IP核,因此,有必要設(shè)計具備同時完成視頻圖像左右鏡像、上下鏡像、180翻轉(zhuǎn)、90度、270度翻轉(zhuǎn)處理的IP核;以滿足視頻圖像快速處理的需要。
基于以上分析,我公司成立研發(fā)小組,經(jīng)過長期的試驗測試和科學(xué)研究,設(shè)計一種快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng),快速處理視頻圖像的左右鏡像、上下鏡像、180的翻轉(zhuǎn)、90度及270度翻轉(zhuǎn)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是,針對現(xiàn)有野外遠(yuǎn)程監(jiān)控技術(shù)存在的技術(shù)問題,設(shè)計一種快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng),快速處理視頻圖像的左右鏡像、上下鏡像、180的翻轉(zhuǎn)、90度及270度翻轉(zhuǎn)。
目前常見的視頻圖像數(shù)據(jù),傳輸方式有模擬的或者數(shù)字的,但是在做處理前,都需要進(jìn)行再次的采集,采集后為RGB格式或者YUV格式。RGB格式的圖像數(shù)據(jù),一般都有場信號、行信號、數(shù)據(jù)有效信號,以及每個像素點的RGB值。為滿足1920X1080@60幀(以下簡稱1080P)的處理速度,需將每個像素的RGB值轉(zhuǎn)換為YCbCr444值,再完成YCbCr444轉(zhuǎn)換成YcbCr422,以達(dá)到將原先的RGB-24bit轉(zhuǎn)換成YcbCr422-16bit數(shù)據(jù)的轉(zhuǎn)換,以降低對幀Buffer帶寬的要求。要完成1080P的翻轉(zhuǎn)90度或者270度,同時滿足60幀的速度,幀Buffer的帶寬是實現(xiàn)的關(guān)鍵點,為滿足幀率,同時不顯著增加帶寬的情況下,需對90度/270度做單獨處理。
對視頻圖像的鏡像,翻轉(zhuǎn)都必須依賴于幀Buffer,這是因為FPGA自身無法緩存一幀的圖像數(shù)據(jù),必須借助于諸如DDR、DDR2及DDR3的外部緩存設(shè)備用于緩存視頻圖像數(shù)據(jù),以完成視頻的處理。幀Buffer的大小,按最大1080P的分辨率考慮,以2K X 2K的大小作為一個幀Buffer,需要4M個像素點,同時每個像素點為2Byte,故需要8MByte的Buffer空間作為一個幀Buffer的Size。同時Buffer內(nèi)按行列劃分成矩陣的形式,存儲像素值。
基于上述思路設(shè)計本發(fā)明的快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng)。
本發(fā)明通過以下技術(shù)方案實現(xiàn):
一種快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng),其特征在于,集成有依次相接的操作命令模塊CMD(1)、采集視頻后端處理模塊(2)、操作幀Buffer模塊(3)和視頻后端處理模塊(4);
所述采集視頻后端處理模塊(2)集成有像素模型模塊FIFO(21)、RGB-YCbCr模塊(22)、ReLine模塊(23)、Ram模塊(24)、Rd_X模塊(25)、444To422模塊一(251)、FIFO模塊一(252)、Rd_Y模塊(26)、444To422模塊二(261)和FIFO模塊二(262);所述像素模型模塊FIFO(21)、RGB-YCbCr模塊(22)、ReLine模塊(23)、Ram模塊(24)、Rd_X模塊(25)、444To422模塊一(251)及FIFO模塊一(252)依次相連通;所述像素模型模塊FIFO(21)、RGB-YCbCr模塊(22)、ReLine模塊(23)、Ram模塊(24)、Rd_Y模塊(26)、444To422模塊二(261)及FIFO模塊二(262)依次相連通;
所述像素模型模塊FIFO(21)用于前端RGB像素值的采集,完成原始像素數(shù)據(jù)時鐘域到處理時鐘域的轉(zhuǎn)換;
所述RGB-YCbCr模塊(22)用于將采集到的RGB像素值轉(zhuǎn)換成便于處理的YcbCr像素值;
所述Relines模塊(23)用于將YcbCr值寫入Ram模塊,完成圖像逐行左右鏡像處理;
所述Ram模塊(24)用于YcbCr值的存取存儲;
所述Rd_X模塊(25)用于完成原像輸出、左右鏡像、上下鏡像及180°鏡像處理前的圖像獲取,將獲取的圖像輸出到后端的444To422模塊一(251);
所述Rd_Y模塊(26)用于圖像90°旋轉(zhuǎn)及270°翻轉(zhuǎn)的前端抽取處理,完成4行像素點的拼接處理;
所述444To422模塊一(251)和444To422模塊二(261)用于將圖像數(shù)據(jù)由YcbCr444轉(zhuǎn)成YCbCr422,以降低讀寫B(tài)uffer的帶寬;
所述FIFO模塊一(252)和FIFO模塊二(262)用于緩存YcbCr422數(shù)據(jù),供后級WrBuf模塊寫入到外部緩存中;
所述操作幀Buffer模塊(3)集成有寫幀Buffer模塊(31)、DDR3寫仲裁模塊(32)、DDR3緩存模塊(33)、DDR3讀仲裁模塊(34)和讀幀Buffer模塊(35),所述寫幀Buffer模塊(31)、DDR3寫仲裁模塊(32)、DDR3緩存模塊(33)、DDR3讀仲裁模塊(34)和讀幀Buffer模塊(35)依次相接;
所述寫幀Buffer模塊(31)負(fù)責(zé)將數(shù)據(jù)按照矩陣排列的方式將YCbCr422像素數(shù)據(jù)寫入DDR3對應(yīng)的Buffer空間;
所述DDR3寫仲裁模塊(32)負(fù)責(zé)多通道的寫管理,便于多個通道同時進(jìn)行相同的視頻處理;
所述DDR3緩存模塊(33)用于寫入視頻數(shù)據(jù)的緩存;
所述DDR3讀仲裁模塊(34)用于多通道度管理,滿足多個通道對視頻處理的需要;
所述讀幀Buffer模塊(35)用于按照寫幀Buffer模塊(31)寫入地址的排列方式,讀取需要的原樣視頻數(shù)據(jù)、左右鏡像視頻數(shù)據(jù)、上下鏡像視頻數(shù)據(jù),180度翻轉(zhuǎn)視頻數(shù)據(jù)、270°翻轉(zhuǎn)視頻數(shù)據(jù)及90°翻轉(zhuǎn)視頻數(shù)據(jù),用FPGA內(nèi)部的Ram完成每行信息緩存,由后端輸出;
所述視頻后端處理模塊(4)集成有Ram_X模塊(41)、422ToRGB模塊一(42)、Ram_Y模塊(43)、422ToRGB模塊二(44)、FIFO模塊三(45)和FrmGen模塊(46),所述Ram_X模塊(41)、422ToRGB模塊一(42)、FIFO模塊三(45)和FrmGen模塊(46)依次相連通;所述Ram_Y模塊(43)、422ToRGB模塊二(44)、FIFO模塊三(45)和FrmGen模塊(46)依次相連通;
所述Ram_X模塊(41)用于緩存經(jīng)由外部緩存設(shè)備中讀取的YCbCr422像素數(shù)據(jù),主要是原樣輸出像素值,左右鏡像像素值,上下鏡像像素值或者180度翻轉(zhuǎn)的像素值;
所述Ram_Y模塊(43)用于緩存經(jīng)由外部緩存設(shè)備中讀取的做90°翻轉(zhuǎn)像素數(shù)據(jù)或270°翻轉(zhuǎn)像素數(shù)據(jù);
所述422ToRGB模塊一(42)和422ToRGB模塊二(44)用于完成像素數(shù)據(jù)從YCbCr422到RGB的轉(zhuǎn)換運算;
所述FIFO模塊三(45)用于完成數(shù)據(jù)緩存;
所述FrmGen模塊(46)完成處理完成的RGB數(shù)據(jù)最后的成幀輸出,該模塊最終輸出Vs,DE,Hs以及RGB像素數(shù)據(jù),并配合操作命令模塊CMD(1),完成不同分辨率的輸出;
所述操作命令模塊CMD(1)分別與ReLine模塊(23)、Rd_X模塊(25)、Rd_Y模塊(26)、寫幀Buffer模塊(31)及讀幀Buffer模塊(35)相連通;
所述FIFO模塊一(252)和FIFO模塊二(262)分別連通至寫幀Buffer模塊(31);
所述讀幀Buffer模塊(35)連通至Ram_X模塊(41)和Ram_Y模塊(43)。
本發(fā)明提供了一種快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng),與現(xiàn)有技術(shù)相比,有益效果在于:
1、本發(fā)明設(shè)計的快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng),采用操作命令模塊CMD(1)、采集視頻后端處理模塊(2)、操作幀Buffer模塊(3)及視頻后端處理模塊(4)的相互配合,在操作命令模塊CMD(1)的控制作用下,待處理視頻依次經(jīng)過采集視頻后端處理模塊(2)、操作幀Buffer模塊(3)及視頻后端處理模塊(4),完成快速鏡像旋轉(zhuǎn),處理效率大大提升。
2、本發(fā)明設(shè)計的快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng),操作命令模塊CMD(1)分別與ReLine模塊(23)、Rd_X模塊(25)、Rd_Y模塊(26)、寫幀Buffer模塊(31)及讀幀Buffer模塊(35)相連通,此種設(shè)計,便于通過操作命令模塊CMD(1)對ReLine模塊(23)、Rd_X模塊(25)、Rd_Y模塊(26)、寫幀Buffer模塊(31)及讀幀Buffer模塊(35)進(jìn)行實時控制,保證視頻鏡像處理效率。
附圖說明
圖1為本發(fā)明設(shè)計的快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng)的正視結(jié)構(gòu)示意圖。
具體實施方式
參閱附圖1對本發(fā)明做進(jìn)一步描述。
目前常見的視頻圖像數(shù)據(jù),傳輸方式有模擬的或者數(shù)字的,但是在做處理前,都需要進(jìn)行再次的采集,采集后為RGB格式或者YUV格式。RGB格式的圖像數(shù)據(jù),一般都有場信號、行信號、數(shù)據(jù)有效信號,以及每個像素點的RGB值。為滿足1920X1080@60幀(以下簡稱1080P)的處理速度,需將每個像素的RGB值轉(zhuǎn)換為YCbCr444值,再完成YCbCr444轉(zhuǎn)換成YcbCr422,以達(dá)到將原先的RGB-24bit轉(zhuǎn)換成YcbCr422-16bit數(shù)據(jù)的轉(zhuǎn)換,以降低對幀Buffer帶寬的要求。要完成1080P的翻轉(zhuǎn)90度或者270度,同時滿足60幀的速度,幀Buffer的帶寬是實現(xiàn)的關(guān)鍵點,為滿足幀率,同時不顯著增加帶寬的情況下,需對90度/270度做單獨處理。
對視頻圖像的鏡像,翻轉(zhuǎn)都必須依賴于幀Buffer,這是因為FPGA自身無法緩存一幀的圖像數(shù)據(jù),必須借助于諸如DDR、DDR2及DDR3的外部緩存設(shè)備用于緩存視頻圖像數(shù)據(jù),以完成視頻的處理。幀Buffer的大小,按最大1080P的分辨率考慮,以2K X 2K的大小作為一個幀Buffer,需要4M個像素點,同時每個像素點為2Byte,故需要8MByte的Buffer空間作為一個幀Buffer的Size。同時Buffer內(nèi)按行列劃分成矩陣的形式,存儲像素值。
基于上述思路設(shè)計本發(fā)明的快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng)。
本發(fā)明通過以下技術(shù)方案實現(xiàn):
一種快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng),其特征在于,集成有依次相接的操作命令模塊CMD(1)、采集視頻后端處理模塊(2)、操作幀Buffer模塊(3)和視頻后端處理模塊(4);
所述采集視頻后端處理模塊(2)集成有像素模型模塊FIFO(21)、RGB-YCbCr模塊(22)、ReLine模塊(23)、Ram模塊(24)、Rd_X模塊(25)、444To422模塊一(251)、FIFO模塊一(252)、Rd_Y模塊(26)、444To422模塊二(261)和FIFO模塊二(262);所述像素模型模塊FIFO(21)、RGB-YCbCr模塊(22)、ReLine模塊(23)、Ram模塊(24)、Rd_X模塊(25)、444To422模塊一(251)及FIFO模塊一(252)依次相連通;所述像素模型模塊FIFO(21)、RGB-YCbCr模塊(22)、ReLine模塊(23)、Ram模塊(24)、Rd_Y模塊(26)、444To422模塊二(261)及FIFO模塊二(262)依次相連通;
所述像素模型模塊FIFO(21)用于前端RGB像素值的采集,完成原始像素數(shù)據(jù)時鐘域到處理時鐘域的轉(zhuǎn)換;
所述RGB-YCbCr模塊(22)用于將采集到的RGB像素值轉(zhuǎn)換成便于處理的YcbCr像素值;
所述ReLine模塊(23)用于將YcbCr值寫入Ram模塊,完成圖像逐行左右鏡像處理;
所述Ram模塊(24)用于YcbCr值的存取存儲;
所述Rd_X模塊(25)用于完成原像輸出、左右鏡像、上下鏡像及180°鏡像處理前的圖像獲取,將獲取的圖像輸出到后端的444To422模塊一(251);
所述Rd_Y模塊(26)用于圖像90°旋轉(zhuǎn)及270°翻轉(zhuǎn)的前端抽取處理,完成4行像素點的拼接處理;
所述444To422模塊一(251)和444To422模塊二(261)用于將圖像數(shù)據(jù)由YcbCr444轉(zhuǎn)成YCbCr422,以降低讀寫B(tài)uffer的帶寬;
所述FIFO模塊一(252)和FIFO模塊二(262)用于緩存YcbCr422數(shù)據(jù),供后級WrBuf模塊寫入到外部緩存中;
所述操作幀Buffer模塊(3)集成有寫幀Buffer模塊(31)、DDR3寫仲裁模塊(32)、DDR3緩存模塊(33)、DDR3讀仲裁模塊(34)和讀幀Buffer模塊(35),所述寫幀Buffer模塊(31)、DDR3寫仲裁模塊(32)、DDR3緩存模塊(33)、DDR3讀仲裁模塊(34)和讀幀Buffer模塊(35)依次相接;
所述寫幀Buffer模塊(31)負(fù)責(zé)將數(shù)據(jù)按照矩陣排列的方式將YCbCr422像素數(shù)據(jù)寫入DDR3對應(yīng)的Buffer空間;
所述DDR3寫仲裁模塊(32)負(fù)責(zé)多通道的寫管理,便于多個通道同時進(jìn)行相同的視頻處理;
所述DDR3緩存模塊(33)用于寫入視頻數(shù)據(jù)的緩存;
所述DDR3讀仲裁模塊(34)用于多通道度管理,滿足多個通道對視頻處理的需要;
所述讀幀Buffer模塊(35)用于按照寫幀Buffer模塊(31)寫入地址的排列方式,讀取需要的原樣視頻數(shù)據(jù)、左右鏡像視頻數(shù)據(jù)、上下鏡像視頻數(shù)據(jù),180度翻轉(zhuǎn)視頻數(shù)據(jù)、270°翻轉(zhuǎn)視頻數(shù)據(jù)及90°翻轉(zhuǎn)視頻數(shù)據(jù),用FPGA內(nèi)部的Ram完成每行信息緩存,由后端輸出;
所述視頻后端處理模塊(4)集成有Ram_X模塊(41)、422ToRGB模塊一(42)、Ram_Y模塊(43)、422ToRGB模塊二(44)、FIFO模塊三(45)和FrmGen模塊(46),所述Ram_X模塊(41)、422ToRGB模塊一(42)、FIFO模塊三(45)和FrmGen模塊(46)依次相連通;所述Ram_Y模塊(43)、422ToRGB模塊二(44)、FIFO模塊三(45)和FrmGen模塊(46)依次相連通;
所述Ram_X模塊(41)用于緩存經(jīng)由外部緩存設(shè)備中讀取的YCbCr422像素數(shù)據(jù),主要是原樣輸出像素值,左右鏡像像素值,上下鏡像像素值或者180度翻轉(zhuǎn)的像素值;
所述Ram_Y模塊(43)用于緩存經(jīng)由外部緩存設(shè)備中讀取的做90°翻轉(zhuǎn)像素數(shù)據(jù)或270°翻轉(zhuǎn)像素數(shù)據(jù);
所述422ToRGB模塊一(42)和422ToRGB模塊二(44)用于完成像素數(shù)據(jù)從YCbCr422到RGB的轉(zhuǎn)換運算;
所述FIFO模塊三(45)用于完成數(shù)據(jù)緩存;
所述FrmGen模塊(46)完成處理完成的RGB數(shù)據(jù)最后的成幀輸出,該模塊最終輸出Vs,DE,Hs以及RGB像素數(shù)據(jù),并配合操作命令模塊CMD(1),完成不同分辨率的輸出;
所述操作命令模塊CMD(1)分別與ReLine模塊(23)、Rd_X模塊(25)、Rd_Y模塊(26)、寫幀Buffer模塊(31)及讀幀Buffer模塊(35)相連通;
所述FIFO模塊一(252)和FIFO模塊二(262)分別連通至寫幀Buffer模塊(31);
所述讀幀Buffer模塊(35)連通至Ram_X模塊(41)和Ram_Y模塊(43)。
與現(xiàn)有技術(shù)相比,本發(fā)明設(shè)計的快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng),采用操作命令模塊CMD(1)、采集視頻后端處理模塊(2)、操作幀Buffer模塊(3)及視頻后端處理模塊(4)的相互配合,在操作命令模塊CMD(1)的控制作用下,待處理視頻依次經(jīng)過采集視頻后端處理模塊(2)、操作幀Buffer模塊(3)及視頻后端處理模塊(4),完成快速鏡像旋轉(zhuǎn),處理效率大大提升。
本發(fā)明設(shè)計的快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng),操作命令模塊CMD(1)分別與ReLine模塊(23)、Rd_X模塊(25)、Rd_Y模塊(26)、寫幀Buffer模塊(31)及讀幀Buffer模塊(35)相連通,此種設(shè)計,便于通過操作命令模塊CMD(1)對ReLine模塊(23)、Rd_X模塊(25)、Rd_Y模塊(26)、寫幀Buffer模塊(31)及讀幀Buffer模塊(35)進(jìn)行實時控制,保證視頻鏡像處理效率。
本發(fā)明在使用時,按照圖1所示,對設(shè)計的快速多分辨率視頻圖像鏡像旋轉(zhuǎn)處理系統(tǒng)進(jìn)行組裝,通過硬件連接器將RGB信號源如PC機給出的RGB信號輸出到采集板卡,采集的RGB信號依次經(jīng)過采集視頻后端處理模塊(2)、操作幀Buffer模塊(3)及視頻后端處理模塊(4),處理后的數(shù)據(jù)最終交給PC機顯示。具體使用過程中更改PC機不同的分辨率,以產(chǎn)生各種不同分辨率的視頻信號,供給模塊測試,通過PC機顯示測試效果。
具體處理實例如下表1所示:處理像素為640×480@60Hz/75Hz、800×600@60Hz、1024×768@60Hz/75Hz、1280×960@60Hz、1280×1024@60Hz、1400×1050@60Hz、1600×1200@60Hz及1920×1080@60Hz,格式為VGA的視頻源效果良好;
處理像素為640×480@60Hz/75Hz、768×576@50Hz、768×576@60Hz、800×600@60Hz、1024×768@60Hz/75Hz、1024×1024@60Hz、1280×960@60Hz、1400×1050@60Hz、1440×1080@60Hz、1600×1200@60Hz及1920×1080@60Hz,格式為DVI的視頻源效果良好;
處理像素為720×576@50Hz,格式為PAL(去隔行后的逐行視頻源)的視頻源效果良好;
表1實際測試結(jié)果
按照以上描述,即可對本發(fā)明進(jìn)行應(yīng)用。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。