在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            作者: 時(shí)間:2016-10-18 來(lái)源:網(wǎng)絡(luò) 收藏

            摘要:文章介紹了色彩空間和色彩空間之間的轉(zhuǎn)換的方法,實(shí)現(xiàn)了不同規(guī)模以及不同數(shù)據(jù)結(jié)構(gòu)的的快速硬件轉(zhuǎn)換。采用數(shù)據(jù)重排列和數(shù)據(jù)分離等方法,不僅支持QCIF到HDTV多種分辨率的視頻轉(zhuǎn)換,而且支持444、YCbCr422和YCbCr420等多種打包或平面YCbCr格式。本設(shè)計(jì)方案已用VerilogHDL語(yǔ)言實(shí)現(xiàn),并在平臺(tái)驗(yàn)證通過(guò),轉(zhuǎn)換后的視頻可直接輸出到顯示器顯示,并能實(shí)現(xiàn)視頻控制,存儲(chǔ),回放等功能。

            本文引用地址:http://www.biyoush.com/article/201610/308491.htm

            0 引言

            色彩空間是通過(guò)數(shù)值的形式來(lái)描述顏色,在數(shù)字電視和計(jì)算機(jī)領(lǐng)域最常用到的為RGB(Red,Green,Blue)色彩空間和YCbCr(Luminance,

            Chroma Blue,Chroma Red)色彩空間。RGB是最常見的色彩空間,通過(guò)紅、綠、藍(lán)三種基色相互疊加從而產(chǎn)生其它顏色。由于其設(shè)備的獨(dú)立性,它被廣泛應(yīng)用于計(jì)算機(jī)圖形、成像系統(tǒng)和彩色電視之中,如現(xiàn)在普遍的計(jì)算機(jī)顯示器用的VGA接口所需要的數(shù)據(jù)類型就是RGB。YCbCr色彩空間則是灰度和色差的疊加,這種色彩空間因易于壓縮和處理,廣泛應(yīng)用于廣播、電視系統(tǒng)和圖像處理。

            由于不同色彩空間在視頻設(shè)備的使用,使色彩空間的相互轉(zhuǎn)換成為必需。隨著計(jì)算機(jī)、互聯(lián)網(wǎng)和多媒體技術(shù)的飛速發(fā)展,對(duì)色彩空間轉(zhuǎn)換的要求也越來(lái)越高,這更突顯出色彩空間轉(zhuǎn)換的重要性。

            色彩空間轉(zhuǎn)換的主要目的是令所有的輸入數(shù)據(jù)在進(jìn)行運(yùn)算和處理或者顯示前都基于相同的色彩空間。對(duì)于YCbCr轉(zhuǎn)RGB而言,主要的問(wèn)題在于兩個(gè)方面,一個(gè)是視頻格式的規(guī)模,也就是我們所說(shuō)的分辨率,高的分辨率意味著需要更多的硬件資源和更快速的計(jì)算過(guò)程;另一個(gè)是YCbCr本身具有很多不同的格式,而目前的轉(zhuǎn)換器一般都是基于其中一種固定的格式,對(duì)于其他格式的YCbCr數(shù)據(jù)并不支持,所以為了支持多種YCbCr數(shù)據(jù)格式,必須把不同的YCbCr數(shù)據(jù)統(tǒng)一到一種格式來(lái)實(shí)現(xiàn)轉(zhuǎn)換。

            1 YCbCr與RGB色彩空間

            1.1 YCbCr色彩空間

            在常見的消費(fèi)類視頻產(chǎn)品中,常用的色彩空間是YCbCr。人眼對(duì)視頻的Y分量更敏感,因此可以在采樣時(shí)適當(dāng)減少Cb和Cr分量從而實(shí)現(xiàn)視頻的壓縮,因此YCbCr格式有三種不同格式:4:2:0、4:2:2和4:4:4。這三種格式又分為打包模式和平面模式兩大類,區(qū)別在于不同像素的Cb和Cr位于Y分量之間還是之后。

            移動(dòng)視頻設(shè)備是以YCbCr4:2:0的方式記錄,隨著H.264視頻解碼標(biāo)準(zhǔn)的推廣和良好的壓縮比率,YCbCr4:2:0應(yīng)用越來(lái)越多。4:2:0表示每4個(gè)像素有4個(gè)亮度分量,2個(gè)色彩分量,以8個(gè)像素點(diǎn)為例,數(shù)據(jù)格式如下:

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            4:2:2表示每4個(gè)像素有4個(gè)亮度分量,4個(gè)色彩分量,是數(shù)字電視、有線視頻傳輸設(shè)備的最常用格式。以8個(gè)像素點(diǎn)為例,數(shù)據(jù)格式如下:

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            4:4:4是最接近RGB的采用格式,每一個(gè)像素都有三個(gè)分量,應(yīng)用于需要高質(zhì)量視頻采集的專業(yè)視頻產(chǎn)品。以8個(gè)像素點(diǎn)為例,數(shù)據(jù)格式如下:

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            由這三種數(shù)據(jù)格式分析可知,他們僅在采樣點(diǎn)和采樣點(diǎn)分布上有所不同,Y分量是每個(gè)像素都需要采樣的,而Cr、Cb分量可以根據(jù)對(duì)數(shù)據(jù)格式和視頻質(zhì)量要求的不同而自主選擇。這三種數(shù)據(jù)格式因?yàn)榕帕许樞虿煌侄7譃椴煌念愋?,所以?shí)現(xiàn)可變規(guī)模的多格式轉(zhuǎn)換首先要把不同的YCbCr格式轉(zhuǎn)換成一個(gè)易于統(tǒng)一的格式,三個(gè)數(shù)據(jù)格式的對(duì)比如表1所示。

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            綜上所述,YCbCr的采樣格式將直接影響到圖像數(shù)據(jù)存取空間大小,以及讀取和存儲(chǔ)圖像的速率。要實(shí)現(xiàn)YCbCr4:2:0,YCbCr4:2:2與YCbCr4:4:4三種格式都能夠成功地轉(zhuǎn)換為RGB信號(hào),就必須把這三種格式轉(zhuǎn)換為同一種格式,然后再轉(zhuǎn)換為RGB信號(hào)的格式。為最大限度保留各種圖像質(zhì)量,選用YCbCr4:4:4平面格式為統(tǒng)一格式。通過(guò)邏輯排列電路把不同格式的YCbCr序列轉(zhuǎn)換成YCbCr4:4:4序列,并把YCbCr信號(hào)分別存在三個(gè)不同的FIFO中,再由YCbCr—RGB轉(zhuǎn)換模塊讀取三個(gè)并行FIFO中的序列進(jìn)行轉(zhuǎn)換。實(shí)現(xiàn)邏輯結(jié)構(gòu)如圖4所示。

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            1.2 YCrCb到RGB色彩空間變換原理

            YCrCb色彩空間與RGB色彩空間的對(duì)應(yīng)關(guān)系如下:

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            人眼能夠分辨的顏色數(shù)量遠(yuǎn)小于256,所以一般都使用8bit的位寬來(lái)描述顏色,其中R、G、B、Y、Cr、Cb都為0~255的整數(shù)。為最大程度減少變換過(guò)程產(chǎn)生的誤差,轉(zhuǎn)化成公式(2)計(jì)算。

            R=1.164(Y-16)+1.596(Cr-128)

            G=1.164(Y-16)-0.813(Cr-128)-0.392(Cb-128) (2)

            B=1.164(Y-16)+2.017(Cr-128)

            注意到等式中包含的7個(gè)因式,其中有3個(gè)是相同的,該因式只需計(jì)算1次,送到相應(yīng)的加法器進(jìn)行之后的運(yùn)算。

            由于在硬件實(shí)現(xiàn)時(shí),計(jì)算過(guò)程不支持浮點(diǎn)計(jì)算,所以要把計(jì)算過(guò)程進(jìn)行取整,如式(3)。

            R=1.164Y+1.596Cr-223

            G=1.164Y-0.813Cr-0.392Cb-173 (3)

            B=1.164Y+2.017Cb-277

            硬件實(shí)現(xiàn)框圖如圖5所示。

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            2 YCrCb到RGB變換的實(shí)現(xiàn)

            2.1 硬件實(shí)現(xiàn)方法和優(yōu)化

            根據(jù)視頻格式轉(zhuǎn)換的特點(diǎn)和需求,本文采用硬件系統(tǒng)來(lái)實(shí)現(xiàn)多種視頻格式的YCbCr格式轉(zhuǎn)換和RGB顯示。在FPGA設(shè)計(jì)中由色彩空間YCrCb到RGB的轉(zhuǎn)換有三種方法。第一種是利用嵌入式處理器,采用軟件的辦法實(shí)現(xiàn)轉(zhuǎn)換,這樣做一來(lái)硬件消耗大,另一方面在FPGA上處理器的運(yùn)算速度達(dá)不到大數(shù)據(jù)實(shí)時(shí)顯示的要求。第二種是用Verilog代碼來(lái)表達(dá)轉(zhuǎn)換公式,這種方法需用到5個(gè)乘法器,而且YCbCr到RGB的轉(zhuǎn)化均是通過(guò)大量的浮點(diǎn)運(yùn)算來(lái)實(shí)現(xiàn)的,每個(gè)像素點(diǎn)都要進(jìn)行一次計(jì)算,所以如果是高清視頻,用100MHz時(shí)鐘每幀圖像的轉(zhuǎn)換將為此耗費(fèi)近54ms的時(shí)間,而如果要達(dá)到30f/m的顯示要求,這個(gè)時(shí)間不能超過(guò)33ms。第三種方法是利用查找表法,把乘法結(jié)果用查找表的形式取得。這種方法不僅減小了浮點(diǎn)運(yùn)算的誤差,也使得計(jì)算速度比前兩種方法快了一個(gè)數(shù)量級(jí),并且YCbCr的值都在0~255之間,所以每個(gè)查找表項(xiàng)目都只有256項(xiàng),并不會(huì)過(guò)多地占用硬件資源。

            查找表中預(yù)存的數(shù)值是各個(gè)因式的值,為提高的炔考撲憔度,又不占用過(guò)多的RAM資源,綜合考慮可將各個(gè)因式數(shù)值擴(kuò)大2倍進(jìn)行存儲(chǔ),RAM的數(shù)據(jù)寬度可設(shè)定為9位。由查找表讀出的數(shù)值經(jīng)過(guò)加減運(yùn)算后再右移一位的簡(jiǎn)單運(yùn)算就可以把數(shù)值縮小到原先的位數(shù),再經(jīng)過(guò)鉗位運(yùn)算限制在0~255之間,計(jì)算公式如下:

            R=(2.328Y+3.192Cr-446)>>1

            G=(2.328Y-1.626Cr-0.784Cb+346)>>1 (4)

            B=(2.328Y+4.034Cr-554)>>1

            用查表法實(shí)現(xiàn)轉(zhuǎn)換中的乘法計(jì)算,在硬件實(shí)現(xiàn)YCbCr轉(zhuǎn)RGB的實(shí)時(shí)視頻顯示有著重要的意義,表2是YCbCr轉(zhuǎn)RGB不同方法的實(shí)驗(yàn)數(shù)據(jù),本文用于驗(yàn)證該模塊的器件是Altera公司的Cvclone2-EP2C70F896C6。占用的綜合工具為Design Compiler,通過(guò)時(shí)序約束最快時(shí)鐘頻率可以達(dá)到102MHZ。

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            浮點(diǎn)乘法是影響轉(zhuǎn)換效率的關(guān)鍵,而使用查找表法避免了浮點(diǎn)乘法的運(yùn)算,使轉(zhuǎn)換效率提高了1個(gè)數(shù)量級(jí)。要支持高清格式30f/s實(shí)時(shí)轉(zhuǎn)換,轉(zhuǎn)換時(shí)間要低于33ms,加之?dāng)?shù)據(jù)存儲(chǔ)的延時(shí),用查找表構(gòu)造轉(zhuǎn)換模塊是必要的。用查找表法實(shí)現(xiàn)的模塊結(jié)構(gòu)如圖6所示。

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            通過(guò)構(gòu)造RAM1~RAM5五個(gè)查找表映射單元,把輸入的信號(hào)分別按式(4)的方式計(jì)算出RGB相應(yīng)的結(jié)果,直接送給顯示緩存寄存器。本文用的測(cè)試平臺(tái)是Altera DE2-70開發(fā)板,系統(tǒng)結(jié)構(gòu)如圖7所示,內(nèi)部主要分為數(shù)據(jù)重組模塊、查找表模塊、控制模塊和顯示模塊。數(shù)據(jù)重組模塊能通過(guò)設(shè)置不同的分辨率和YCbCr格式把YCbCr數(shù)據(jù)分別提取儲(chǔ)存在三個(gè)FIFO中,查找表模塊負(fù)責(zé)通過(guò)FIFO中Y、Cr、Cb的值輸出浮點(diǎn)乘法的運(yùn)算結(jié)果,再加減運(yùn)算后輸出轉(zhuǎn)換后RGB24位的值??刂颇K負(fù)責(zé)控制碼流的播放、暫停和存儲(chǔ)回放等擴(kuò)展功能。顯示模塊負(fù)責(zé)驅(qū)動(dòng)碼流到VGA顯示。

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            2.2 系統(tǒng)驗(yàn)證

            2.2.1 數(shù)據(jù)驗(yàn)證

            系統(tǒng)驗(yàn)證包含兩個(gè)部分,首先要驗(yàn)證不同格式的YCbCr轉(zhuǎn)換為YCbCr444的碼流是正確的,這部分可以先用ModelSim把轉(zhuǎn)換邏輯進(jìn)行仿真,分別把Y、Cb、Cr三個(gè)數(shù)據(jù)按順序存在對(duì)應(yīng)的三個(gè)FIFO中。

            之后通過(guò)MATLAB的數(shù)據(jù)比較命令strcmp,將FIFO中的YCbCr444數(shù)據(jù)與MATLAB轉(zhuǎn)換的數(shù)據(jù)進(jìn)行比較。分別使用QCIF、CIF、HDTV三種分辨率進(jìn)行隨機(jī)一幀碼流的驗(yàn)證,返回值都為1,證明轉(zhuǎn)換系統(tǒng)可靠。

            系統(tǒng)整體通過(guò)ModelSim仿真結(jié)果如圖8所示。

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            在圖8中,adr_y、adr_u、adr_v,為數(shù)據(jù)重組后的YCbCr地址,y_in、Cb_in、cr_in分別為待轉(zhuǎn)換的數(shù)據(jù),R_out、G_out、B_out為轉(zhuǎn)換后的輸出結(jié)果。ena_in和ena_out為輸入使能和輸出使能信號(hào),這兩個(gè)信號(hào)可以控制視頻轉(zhuǎn)換的啟動(dòng)和停止,在2個(gè)時(shí)鐘周期之后就可以有顯示結(jié)果出現(xiàn),這僅僅需要6 μs,人眼根本感覺不到延遲,可以用在對(duì)轉(zhuǎn)換速度要求較高的系統(tǒng)上。像素計(jì)數(shù)器為cn,在一幀圖像完全轉(zhuǎn)換后幀計(jì)數(shù)器counter會(huì)計(jì)數(shù)一次,通過(guò)這個(gè)可以提取完整的一幀圖像進(jìn)行檢驗(yàn)。

            2.2.2 FPGA系統(tǒng)驗(yàn)證

            將整個(gè)系統(tǒng)燒錄到FPGA中進(jìn)行硬件驗(yàn)證,輸入的視頻編碼通過(guò)SD卡讀入系統(tǒng),進(jìn)行YCbCr格式的重組,這里選用了三種格式三種分辨率的視頻編碼,如圖9所示分別為YCbCr420格式OCIF分辨率、YCbCr422格式CIF分辨率和YCbCr444采樣格式HDTV分辨率通過(guò)YCbCr-RGB轉(zhuǎn)換后某一幀圖像的顯示結(jié)果。顯示結(jié)果表明該方法可以正確實(shí)現(xiàn)30f/s的不同規(guī)模和不同格式的YCbCr-RGB實(shí)時(shí)轉(zhuǎn)換。

            基于FPGA的可變規(guī)模多格式Y(jié)CbCr到RGB快速轉(zhuǎn)換模塊設(shè)計(jì)

            3 結(jié)語(yǔ)

            本文基于FPGA構(gòu)建硬件平臺(tái),實(shí)現(xiàn)不同分辨率和不同格式的YCbCr視頻數(shù)據(jù)的存儲(chǔ)、處理和VGA輸出,具有結(jié)構(gòu)緊湊、功能完善、配置靈活、系統(tǒng)穩(wěn)定的特點(diǎn)。視頻格式轉(zhuǎn)換方法適用于大部分視頻圖像處理的通用平臺(tái),滿足視頻圖像高精度快速實(shí)甲換和顯示的要求??蓱?yīng)用于多種制式視頻采樣數(shù)據(jù)與輸出接口數(shù)據(jù)格式不匹配的場(chǎng)合,具有一定的應(yīng)用價(jià)值。



            關(guān)鍵詞: 色彩空間轉(zhuǎn)Q FPGA YCbCr RGB

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉