999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于邊緣平滑雙線性插值算法的μCGUI高清顯示技術

2008-12-31 00:00:00吳麗彬王勁林胡建良
計算機應用研究 2008年11期

(1.中國科學院 研究生院, 北京 100039;2.中國科學院 聲學研究所, 北京 100190)

摘要:嵌入式操作系統資源有限,導致μCGUI無法顯示平滑與清晰的圖形。針對此問題,提出一種基于邊緣平滑雙線性插值算法的μCGUI高清顯示技術,使圖片與文字能夠更加平滑清晰地顯示;并付諸在工程項目中實現,提升了基于嵌入式μCLinux操作系統的高清電視機頂盒顯示效果。

關鍵詞:雙線性插值算法;μCGUI;高清顯示技術

中圖分類號:TP3174文獻標志碼:A

文章編號:1001-3695(2008)11-3382-03

High definition display technology of μCGUI based on edge-smoothness bilinear interpolation algorithm

WU Li-bin1,2,WANG Jin-lin2,HU Jian-liang2,SUN Peng2

(1.Graduate School, Chinese Academy of Sciences, Beijing 100039, China;2.Institute of Acoustics, Chinese Academy of Sciences, Beijing 100190, China)

Abstract:The most important problem is that μCGUI can not display a smooth and clear image because of limited resource. To solve this problem, this work proposed a novel high definition display technology of μCGUI which based on edge-smoothness bilinear interpolation algorithm. It can improve the display effect, and make the picture and characters more smoothness and clearly.

Key words:bilinear interpolation algorithm;μCGUI;high-definition display technology

目前國內高清電視已逐漸興起,大部分液晶電視都支持超高分辨率(如1 024×768、1 280×960、1 920×1 080)以提高觀賞效果。然而,由于作為高清電視前端的基于嵌入式μCLinux操作系統的高清電視機頂盒的GUI圖形顯示接口始終停留在720×480的分辨率上,使得用戶UI界面顯示清晰度受限,并且文字和圖片顯示會出現邊緣鋸齒或馬賽克,無法滿足高清顯示效果。μCGUI圖形顯示接口停留在720×480分辨率上的主要原因如下:a)嵌入式系統flash資源有限。由于一般嵌入式平臺的flash芯片只支持4~16 MB,極大限制了可燒寫進flash的文字、圖片及應用程序的大小。例如,一個34點陣的GBK編碼字庫需要4 MB存儲空間,即使壓縮也需要2 MB存儲空間。如果需要支持不同字號、不同編碼格式的字庫,其結果是不同字庫占用了大部分flash空間,導致應用程序和圖片等資源存儲空間受限。b)嵌入式系統內存有限。在基于嵌入式μCLinux操作系統的嵌入式系統中,顯示一幅750萬像素(3 000(寬)×2 500(高))圖像需要約28 MB內存空間,嵌入式系統內存的實際情況很難滿足這些需求。c)帶寬不足。當視頻層與OSD層同時送入輸出通道進行顯示時,如果OSD層分辨率過高會導致帶寬不足,導致系統自動丟棄優先級較低的OSD數據,引起OSD信息模糊不清。

針對μCGUI圖形顯示分辨率過低的問題,本文提出一種基于雙線性插值算法的μCGUI高清顯示技術,通過使用復雜度較低的算法,使得在資源受限的嵌入式操作系統中能夠將μCGUI圖形顯示分辨率提高至1 280×960,提升了圖形顯示清晰度[1]。

1邊緣平滑雙線性插值算法在μCGUI高清顯示中的基本思想

為提高μCGUI圖形顯示清晰度,需要將μCGUI圖形顯示分辨率從720×480提高到1 280×960,并同時對文字和圖形輸出分辨率進行相應提升以滿足清晰度要求。但是由于flash、內存與帶寬等因素限制,不能將占用存儲空間較大的文字和圖形加載到顯示系統中。采用將低分辨率、占較小存儲空間的文字和圖形燒寫進flash并進行內存加載,通過改進后的雙線性插值算法將文字與圖形進行插值計算得到高分辨率顯示數據,將其進行混疊送入輸出通道顯示的方案,不僅解決了文字和圖形分辨率與占用存儲空間的矛盾,同時解決了圖形文字的清晰度不足的問題。這里圖形引擎支持X、Y、Z三個輸入通道和NX輸出通道,并可以在不同的通道內對圖像進行混疊[2]。

選擇雙線性插值算法來處理μCGUI高清圖形顯示有如下優點:a)低分辨率數據經過插值后,可提高輸出分辨率,滿足高清晰度的視覺效果。b)降低數據存儲量,能夠在資源受限的操作系統中保證資源的有效占有率。c)算法復雜度較低,嵌入式系統CPU主頻(166~202 MHz)完全能夠實現。

μCGUI高清圖形顯示技術的基本流程如圖1所示。首先將寫入flash中的低分辨率圖形與文字讀入內存中,并將輸出分辨率從原來的720×480調整至1 280×960;使用改進的雙線性插值算法對低分辨率的圖形與文字進行插值計算,將得到的數據送回內存中;最后通過對調色板等信息的配置,將經過插值后的完整文字和圖形信息送入輸出通道進行顯示。虛線框中所示的部分為本算法的核心部分。通過該核心部分算法,可提高目前μCGUI圖形顯示效果,使邊緣平滑,圖形顯示清晰。核心部分將在下一部分進行詳細分析。

2邊緣平滑雙線性插值算法原理

雙線性插值根據像素點周圍最接近的四個點的灰度值作二維線性插值計算。它的準確度高于最鄰近域插值算法。算法如圖2所示。假設圖像寬度為W,高度為H,輸入圖像寬度為W′,高度為H′。將輸入圖像的寬度與高度分別作W與H等分,輸出圖像的任意一點灰度值由輸出圖像中的四個點(a,b)、(a,b+1)、(a+1,b)、(a+1,b+1)來確定。其中a=[x×W′/W],b=[x×H′/H][3]。可得到插值點(x,y)的灰度值f(x,y)為

f(x,y)=(b+1-y)f(x,b)+(y-b)f(x,b+1)(1)

f(x,b)=(x-a)f(a+1,b)+(a+1-x)f(a,b)(2)

f(x,b+1)=(x-a)f(a+1,b+1)+(a+1-x)f(a,b+1)(3)

將式(2)(3)代入式(1)中可得到式(4):

f(x,y)=(b+1-y)[(x-a)f(a+1,b)+(a+1-x)f(a,b)]+(y-b)[(x-a)f(a+1,b+1)+(a+1-x)f(a,b+1)]

(4)

21μCGUI高清文字顯示的邊緣平滑雙線性插值算法

嵌入式操作系統的μCGUI文字圖形接口使用的是2D圖形引擎,使用點陣字庫對文字進行顯示。由于點陣字符的特殊性,其值在Z方向只有0或1兩種取值,對于文字的雙線性插值算法作了優化與改進,選擇只插入0或1這兩種取值。

對于文字的雙線性插值算法首先需要確定目標插值像素點。假設原點陣數據為f(i, j),在x方向上放大M倍,在y方向上放大N倍,進行插值后點陣數據為f(x,y),則原始數據在插值后點陣數據中的通用對應關系滿足x=i×M,y=j×N[4]。本文以將16×16點陣字符通過雙線性插值變化為32點陣字符為例,即無論X方向還是Y方向均為每隔一點進行一次插值,如圖3所示為將16×16點陣字符通過雙線性插值后變為32×32點陣字符所需插值的位置。其中黑點所在位置為16×16點陣字符的原始數據點,而十字表示目標插值像素點。在確定目標插值像素點位置后,根據點陣字符的特殊性對上述目標插值像素點進行特殊的0/1插值。如圖4為插值相關點示意圖。插值像素點I(1,1)的fI(1,1)可由式(5)求出。對于插值像素點F(1,2)的fF(1,2)則使用式(6)求得。

fI(1,1)=((fA(0,0)+fC(2,0))/2+(fE(2,2)+fG(0,2))/2)/2

(5)

fF(1,2)=(fE(2,2)+fG(0,2))/2(6)

如果fI(1,1)≥1/n則取I(1,1)=1,否則I(1,1)=0。同樣,如果fF(1,2)≥1/n則

取F(1,2)=1,否則F(1,2)=0。其中n為參與計算的原始像素點的個數。上述I(1,1)與F(1,2)點是兩個有著本質區別的點。按上述方式進行插值,則插值像素點將有兩種類型。類型(1):I(1,1)與該點直接相鄰的8個數據點上存在4個原始數據點與4個插值數據點。這一類型的插值通過4個原始數據點經過上述改進的雙線性插值計算求得。類型(2):F(1,2)與該點直接相鄰的8個數據點上,只有兩個為原始數據點,因此,對于這一類型的插值像素點使用兩個原始數據點進行插值計算。兩類通用公式為式(7)(8)。在確定插值像素點與插值公式后,從起始點A(0,0)開始,沿X方向逐行遍歷所有數據點,并將計算結果直接寫入用于顯示的內存地址,等待顯示。

f(x,y)=x-1≤i≤x+1y-1≤j≤y+1f(i, j)/n

(7) 

(x,y)=0(f(x,y)<1/n)

1(f(x,y)≥1/n)(8)

其中:n={2,4},n為參與計算的像素點個數。

(x,y)的取值界定在1/n有利于文字邊緣平滑效果,使得在計算一個插值點時只要存在一個原始像素點為1,該插值點即為1,保證邊緣像素進行最大限度的填充。

22μCGUI高清圖形顯示中的邊緣平滑插值算法

μCGUI高清圖形顯示算法同樣采用改進與優化的雙線性插值算法來實現,但與文字顯示算法的不同之處是:a)(x,y)的取值上不再采用0/1近似取值的方式。因為彩色圖像的像素是由紅、綠、藍(RGB)三種顏色組成,每種顏色由一個字節來表示其色彩深度[5],因此采用上述通用式(4)對插值像素點進行求解后取整,對照調色板信息查找相關顏色信息,如未查到則取最接近顏色進行替代。b)為了保證圖像進行插值后平滑、柔和的特點,這里采用每遍歷一行數據后將原始像素與插值后的目標像素均作為下一行數據的原始像素進行插值計算,以除去由于插值帶來的顏色像素突兀點。

3實驗結果驗證

對于圖像的插值算法比較常用的有三種[6,7]:a)最鄰近域插值算法(nearest neighbor interpolation)。在這種算法中,每一個插值輸出像素的值就是在輸入圖像中與其最鄰近的采樣點的值。b)雙線性插值算法(bilinear interpolation)。該方法輸出像素值是它在輸入圖像中2×2鄰域采樣點的平均值,它根據某像素周圍4個像素的灰度值在水平和垂直方向上對其插值。c)雙立方插值算法(bicubic interpolation)。該方法輸出像素值是它在輸入圖像中4×4鄰域采樣點的平均值,它的插值效果比較好,但相應的計算量較大。上述三種方法中第一種方法插值并不精確,第三種方法計算量較大。因此,對于嵌入式μCGUI這種資源嚴重受限的平臺,本文選用了改進后的雙線性插值算法,不但提高了μCGUI顯示清晰度,也提高了圖形文字整體柔和度與邊緣平滑度。

這里使用視頻采集卡采集μCGUI顯示的圖像信號并進行量化對比。表1選用均方差值(MSE)、平均絕對差值(MAE)和峰值信噪比(PSNR)作為評價指標,對以上三種方式和使用改進雙線性插值方式前后的圖像進行對比,其中PSNR表達式如下:

PSNR=10 lg(255/δ)2=48-20 lg δ(9)

δ=1/nni=1(S0-S)2(10)

其中:S0和S分別表示原始圖像和待評價圖像;n為圖像的像元數。

表1圖像數據處理對照表

類別MSEMAEPSNR/dB

最鄰近域插值算法0.013 7870.061 11226.163 335

雙線性插值算法0.013 3950.063 41326.962 475

雙立方插值算法0.012 4390.060 73227.981 318

改進雙線性插值算法前0.015 2320.066 15724.762 521

改進雙線性插值算法后0.012 6730.061 04927.394 212

表2中以顯示180×220分辨率圖像為例,測試了μCLinux操作系統的μCGUI顯示該圖像時各種算法所需的計算耗時。

表2各種算法在μCLinux操作系統上的μCGUI顯示計算耗時對照表

類別計算耗時/ms類別計算耗時/ms

鄰域插值算法291改進雙線性插值算法前283

雙線性插值算法462改進雙線性插值算法后506

雙立方插值算法 1 157

從上述實驗數據驗證可以看出,改進后的雙線性插值算法在μCGUI顯示中基本可以達到雙立方插值算法的效果,各種數據遠遠優于未使用該算法前的數據。由于考慮到表2中在μCLinux操作系統上的μCGUI顯示計算耗時,在μCGUI顯示中選擇改進雙線性插值算法是最優的。

圖5為使用嵌入式μCLinux操作系統,通過視頻采集卡采集μCGUI顯示的圖像信號輸出效果截圖。a)為未使用該技術前μCGUI顯示文字的效果;b)為使用該技術后μCGUI顯示文字的效果。可以看出,文字的邊緣平滑度大大增強,文字顯示效果細膩平滑;c)為未使用該技術前μCGUI顯示圖片的效果;d)為使用該技術后μCGUI顯示圖片的效果。同樣可以看出,圖像的馬賽克現象大大減小,相對于原來更加細膩平滑。 

4結束語

本文將改進的雙線性插值算法用于嵌入式μCLinux操作系統的高清家用數字播放器中,以提高μCGUI的顯示技術,增強了圖形界面的清晰度,達到從OSD層到視頻層的高清統一化效果。該技術已應用于高清家用數字播放器中,其顯示效果有明顯改善。

參考文獻:

[1]

GRIBBON K T,BAILEY D G.A novel approach to real-time bilinear interpolation[C]//Proc of the 2nd IEEE International Workshop on Electronic Design, Test and Applications.2004:126-131.

[2]孫曉輝,陳曉.基于μCGUI的圖形系統在機頂盒中的應用[J].中國有線電視,2007,9(10):909-912.

[3]陳良,高成敏.快速離散化雙線性插值算法[J].計算機工程與設計,2007,28(15):3787-3790.

[4]李懷瓊,陳錢,隋修寶.基于邊緣保護的紅外圖像插值放大算法[J].兵工學報,2006,27(4):655-658.

[5]袁源,戴冠中,羅紅.基于分形思想的差值圖像壓縮技術[J].計算機應用研究,2007,24(4):190-191,248.

[6]田利波,王瑞光.基于移動窗口的圖像縮放算法[J].電視技術, 2007,31(8):18-20.

[7]王薇,謝宇.提高波前探測精度的雙立方插值方法[J].淮北煤炭師范學院學報:自然科學版,2007,28(1):20-23.

主站蜘蛛池模板: 热热久久狠狠偷偷色男同| 欧美一区国产| 91丨九色丨首页在线播放| 国产激情影院| 成人一级免费视频| 亚洲女同欧美在线| 国产精品福利导航| 欧美亚洲国产日韩电影在线| WWW丫丫国产成人精品| 在线日本国产成人免费的| 精品久久久久久中文字幕女| 婷婷六月综合网| 日本在线免费网站| 国禁国产you女视频网站| 看你懂的巨臀中文字幕一区二区| 久久久久免费精品国产| 日韩精品毛片人妻AV不卡| 又爽又大又黄a级毛片在线视频| 亚洲第一黄片大全| 99re精彩视频| 在线观看网站国产| 亚洲天堂自拍| 波多野结衣久久精品| 国产主播福利在线观看| 久久黄色一级片| 永久免费AⅤ无码网站在线观看| 成人国产一区二区三区| 亚洲视频三级| 日韩无码真实干出血视频| 日韩色图区| 美女毛片在线| 在线国产资源| 欧美国产菊爆免费观看| 日韩AV手机在线观看蜜芽| 爱做久久久久久| 午夜一区二区三区| 国产全黄a一级毛片| 久久国产精品无码hdav| 日韩小视频在线播放| 国产福利影院在线观看| 国产香蕉在线| 亚洲清纯自偷自拍另类专区| 国产精品第一区在线观看| 国产在线一区视频| 国产欧美日韩一区二区视频在线| 亚洲成a人片| 在线播放91| 97视频精品全国免费观看| 精品综合久久久久久97超人该| 亚洲永久色| 欧美在线天堂| 2048国产精品原创综合在线| 亚洲国产精品不卡在线| 亚洲av无码久久无遮挡| 亚洲午夜福利精品无码不卡| 欧美日韩久久综合| 久久精品亚洲专区| 97久久人人超碰国产精品| 无码国内精品人妻少妇蜜桃视频| 免费国产一级 片内射老| 中文字幕在线播放不卡| 亚洲第一页在线观看| 国内老司机精品视频在线播出| 日本午夜精品一本在线观看| 91久久精品日日躁夜夜躁欧美| 亚洲av日韩av制服丝袜| 深爱婷婷激情网| 天天色综网| 亚洲日韩久久综合中文字幕| 91精品国产综合久久香蕉922| 国产欧美精品一区aⅴ影院| 国产福利小视频在线播放观看| 国产精品久线在线观看| 亚洲欧美日韩另类在线一| 99热这里只有精品免费| 午夜福利网址| 日本久久网站| 一区二区三区四区日韩| 91精品伊人久久大香线蕉| 亚洲成年人网| 国产成人一区| 97国产在线视频|