專利名稱:一種具縮放功能的yuv轉(zhuǎn)rgb電路設計方法
技術領域:
本發(fā)明涉及一種具縮放功能的YUV轉(zhuǎn)RGB電路設計方法,屬于色彩空間轉(zhuǎn)換的硬 件電路實現(xiàn)領域。
背景技術:
YUV格式也稱YCbCr格式,是一種色彩編碼方法,具有多種編碼格式,被大多數(shù)的
視頻編解碼標準采用。常見的VGA顯示設備處理的是RGB格式的視頻數(shù)據(jù)。YUV與RGB之
間可以相互轉(zhuǎn)換,下面給出YUV轉(zhuǎn)RGB計算公式 R = Y+l. 13983*VG = Y-0. 39465*U-0. 58060*V B = Y+2. 03211*U 可見,YUV轉(zhuǎn)RGB需要浮點運算,對嵌入式CPU要求較高,難以快速處理,達到視頻 顯示性能要求。 另外,各視頻編解碼標準的分辨率與VGA控制器的常用分辨率也未必相同,如我 國自主音視頻標準AVS的一種分辨率為720X576,對這樣的片源,若要完整顯示,必須針對 顯示設備的分辨率進行縮放,此部分縮放工作若要由軟件實現(xiàn),同樣需要較高的處理能力, 而一般的嵌入式處理器難以達到實時處理要求。
發(fā)明內(nèi)容
本發(fā)明提出了一種具縮放功能的YUV轉(zhuǎn)RGB電路設計方法。內(nèi)容包括 (1)根據(jù)待處理的YUV視頻數(shù)據(jù)組織格式,從存取效率角度確定YUV轉(zhuǎn)RGB的單元
宏塊尺寸,用硬件讀取存取器中的YUV數(shù)據(jù); (2)對單元宏塊中每像素,經(jīng)過YUV2RGB硬件模塊處理得到每像素的RGB值; (3)根據(jù)YUV圖像數(shù)據(jù)分辨率與目標顯示設備分辨率的對應關系,對每像素的坐
標進行縮放計算,使YUV圖像能完整適配到目標顯示設備上。 (4)將RGB數(shù)據(jù)寫入縮放后的顯存坐標地址,由顯示設備讀取顯示; (5)計算下一YUV宏塊地址,若一幀數(shù)據(jù)未處理完,跳到(1),否則結束本次轉(zhuǎn)換操作。 步驟(1) (5)均采用有限狀態(tài)機控制。 本發(fā)明采用純硬件實現(xiàn)具縮放功能的YUV轉(zhuǎn)RGB電路,顯著降低YUV視頻數(shù)據(jù)流 縮放適配到基于RGB格式的顯示設備上的時間。
圖1是本發(fā)明涉及的硬件功能電路框圖 圖2是YUV420格式的Y、 U、 V三分量在存儲器中存儲時各字節(jié)標識圖
圖3是采用本發(fā)明涉及的方法,設計的基于avalon總線接口的具縮放功能的YUV轉(zhuǎn)RGB硬件IP核在實際系統(tǒng)中的連接圖
具體實施例方式
本實現(xiàn)例具體說明如何應用本發(fā)明方法設計avalon總線接口的具縮放功能的 YUV轉(zhuǎn)RGB硬件IP核。本實例處理的是AVS視頻解碼器輸出的YUV420格式數(shù)據(jù),分辨率為720X576,目
標顯示設備為標準VGA控制器,分辨率為640 X 480。 (1)從存儲效率角度確定單元宏塊尺寸,并讀入一個宏塊數(shù)據(jù)。 AVS解碼器輸出的YUV420格式數(shù)據(jù)按照平面方式存儲,即Y, U, V三分量分別存儲,
且數(shù)據(jù)按4 : 1 : l采樣。采用的NiosII處理器平臺上,存儲器接口是4字節(jié)位寬,因而
單元宏塊大小選為16 : 4 : 4,每次存取操作均取32bit(4字節(jié))數(shù)據(jù)。經(jīng)6次總線讀操
作,讀入24字節(jié)數(shù)據(jù),各字節(jié)標識如圖2所示。 (2)對16個Y像素點結合U, V數(shù)據(jù),并行經(jīng)過YUV2RGB硬件轉(zhuǎn)換模塊,計算對應 的RGB值,對應關系如下 YOO, UO, VO — RGBOO, YOl, UO, VO — RGBOl, YIO, UO, VO — RGBIO, Yll, UO, VO — RGBll, Y02, Ul, VI — RGB02, Y03, Ul, VI — RGB03, Y12, Ul, VI — RGB12, Y13, Ul, VI — RGB13, Y04, U2, V2 — RGB04, Y05, U2, V2 — RGB05, Y14, U2, V2 — RGB14, Y15, U2, V2 — RGB15, Y06,U3,V3 —RGB06,Y07,U3,V3 —RGB07,Y16,U3,V3 —RGB16,Y17,U3,V3 —RGB17
(3)計算每像素在目標顯示器上的的坐標 按圖像完整適配原則對YUV圖像坐標做縮放。本例中,YUV數(shù)據(jù)分辨率為 720X576,目標分辨率為640X480,因而縮放比例為scale = 480/576,考慮到硬件不方便 處理浮點數(shù)據(jù),因而采取了先放大,計算后再縮小的方法,定義方法倍數(shù)為1024,即2的10 次方,此時縮放計算公式為Xvga = ((Xyuv*480*(l << 10))/576+(1 << 9)) > > 10 ; (公式中考慮了四舍五入原則) 對每像素點的X、 Y坐標均縮放得到其在VGA顯示上的坐標。 (4)有限狀態(tài)機控制下,將像素的RGB值寫入縮放后的坐標位置 (5)判斷是否處理完全部單元宏塊,若未處理完,則調(diào)整宏塊首地址,對此例即是
Y地址加8,U,V地址各加4,有限狀態(tài)機FSM控制流程跳轉(zhuǎn)到(1);若處理完畢,則模塊完成
操作,設置狀態(tài)寄存器或產(chǎn)生中斷信號等。 (6)外部總線接口模塊 在核心電路外圍添加標準總線接口 ,本例采用的是avalon總線,即可構建知識產(chǎn) 權IP核。 本例實際操作流程如下軟件設置Y,U,V數(shù)據(jù)首地址,啟動硬件;硬件逐個處理每 個單元宏塊,從外部存儲器中讀入YUV數(shù)據(jù),YUV數(shù)據(jù)轉(zhuǎn)換為RGB數(shù)據(jù)后寫入VGA顯存;VGA 讀取顯存數(shù)據(jù)顯示圖像。 整個實例系統(tǒng)連接關系如圖3所示。
權利要求
一種具縮放功能的YUV轉(zhuǎn)RGB電路設計方法,其特征在于(1)根據(jù)待處理的YUV數(shù)據(jù)組織格式,從存取效率角度確定YUV轉(zhuǎn)RGB的單元宏塊尺寸,用硬件讀入存取器中的YUV數(shù)據(jù);(2)對單元宏塊中每像素,經(jīng)過YUV2RGB硬件模塊處理得到每像素的RGB值;(3)根據(jù)YUV圖像數(shù)據(jù)分辨率與目標顯示設備分辨率的對應關系,對每像素的坐標進行縮放計算,使YUV圖像能完整適配到目標顯示設備上;(4)將RGB數(shù)據(jù)寫入縮放后的顯存坐標地址,由顯示設備讀取顯示;(5)計算下一YUV宏塊地址,若一幀數(shù)據(jù)未處理完,跳到(1),否則結束本次轉(zhuǎn)換操作。步驟(1)~(5)均采用有限狀態(tài)機控制。
2. —種根據(jù)權利要求1所述方法設計具縮放功能的YUV轉(zhuǎn)RGB硬件知識產(chǎn)權模塊(IP 核)的方法,其特征在于(1) 核心電路采用權利要求1中(1) (5)所述方法(2) 采用主流片上總線接口 (如wishbone, avalon, amba等),設計硬件DMA方式從外 部存儲器中讀取YUV數(shù)據(jù),經(jīng)YUV2RGB轉(zhuǎn)換及坐標縮放變換后,寫出RGB數(shù)據(jù)到顯示控制器 的顯存中。
全文摘要
一種具縮放功能的YUV轉(zhuǎn)RGB電路設計方法,屬于色彩空間轉(zhuǎn)換的硬件電路實現(xiàn)領域。本發(fā)明的技術方案是(1)根據(jù)待處理的YUV視頻幀數(shù)據(jù)組織格式,從存取效率角度確定YUV轉(zhuǎn)RGB的單元宏塊,用硬件讀取存儲器中的YUV數(shù)據(jù);(2)對單元宏塊,經(jīng)過YUV2RGB硬件模塊轉(zhuǎn)換得到每像素的RGB值;(3)對每像素的坐標進行縮放計算,以適配顯示設備;(4)將RGB數(shù)據(jù)寫入縮放后的顯存坐標地址,由顯示設備讀取顯示;(5)計算下一YUV宏塊地址,直至一幀數(shù)據(jù)全部處理完。本發(fā)明采用有限狀態(tài)機控制各功能部件實現(xiàn)具縮放功能的YUV轉(zhuǎn)RGB電路,顯著降低YUV數(shù)據(jù)流縮放適配到基于RGB格式的顯示設備上的時間。
文檔編號H04N9/64GK101795417SQ20091025369
公開日2010年8月4日 申請日期2009年12月3日 優(yōu)先權日2009年12月3日
發(fā)明者于國蘋, 任懷魯, 劉家良, 張德學, 桑圣峰, 陳新華 申請人:山東科技大學