中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      矢量字庫(kù)在嵌入式機(jī)頂盒中的應(yīng)用

      時(shí)間:2024-06-26 00:45:38 理工畢業(yè)論文 我要投稿
      • 相關(guān)推薦

      矢量字庫(kù)在嵌入式機(jī)頂盒中的應(yīng)用

      單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:華中師范大學(xué) 萬(wàn) 偉 陳明宏 夏洪星
      摘要:介紹嵌入式數(shù)字衛(wèi)星接收機(jī)的字符顯示原理。提出一種提取Windows矢量字庫(kù)信息以及將其轉(zhuǎn)換為點(diǎn)陣字庫(kù)格式的方法。給出主要模塊的流程圖和VC程序?qū)崿F(xiàn)。在DVB-S接收機(jī)頂盒系統(tǒng)中的應(yīng)用驗(yàn)證了該方法的有效性。

      引言

      在當(dāng)前嵌入式系統(tǒng)設(shè)計(jì)中,廣泛涉及到字符和圖標(biāo)的顯示。過(guò)去的方法通常是使用硬件自帶字庫(kù)或者轉(zhuǎn)換中文操作系統(tǒng)(例如UCDOS)的點(diǎn)陣字庫(kù),但隨著嵌入式開(kāi)發(fā)技術(shù)的發(fā)展,人們對(duì)用戶界的要求也越來(lái)截止高,大小固定、字體有限、使用不便的點(diǎn)陣字庫(kù)已經(jīng)難再滿足要求。于是眾多開(kāi)發(fā)人員將目光投向了Windows操作系統(tǒng)豐富的字庫(kù)和圖標(biāo)資源,以Widnows 2000系統(tǒng)為例,其OpenType矢量字庫(kù)有基于Unicode內(nèi)碼的四萬(wàn)多個(gè)字符,特殊符號(hào)以及近百種字體可以選用。但是Windows系統(tǒng)結(jié)構(gòu)復(fù)雜,難以直接提取矢量字庫(kù),并且矢量字庫(kù)解析算法涉及到Micorosoft和Adobe公司OpenType字體專利,這些問(wèn)題為Windows字庫(kù)的使用帶來(lái)了很大的困難。

      在筆者參與的DVB-S數(shù)字衛(wèi)星接收機(jī)頂盒用戶界面的設(shè)計(jì)工作中,也遇到了同樣的問(wèn)題。按照設(shè)計(jì)要求,需要用到一套完備的,支持包括俄、德、拉丁、阿拉伯等多種語(yǔ)言和特殊符號(hào)的小型字庫(kù),但是難以找到合適的現(xiàn)成字庫(kù),在參考了一些商業(yè)字模提取軟件的功能后,提出了一種提取Windows矢量字符以及圖標(biāo)資源的方法,并用Visual C 6.0程序?qū)崿F(xiàn)。實(shí)際應(yīng)用表明,用本方法生成的字庫(kù)字形美觀,字體多樣,完全可以替代商業(yè)字庫(kù),同時(shí)還具有使用方便,便于擴(kuò)展等優(yōu)點(diǎn)。

      1 機(jī)頂盒圖文顯示原理

      機(jī)頂盒中文字和位圖的顯示是通過(guò)OSD(圖文屏顯技術(shù))模塊完成的。傳統(tǒng)的屏顯示OSD主要應(yīng)用在VCR、LD和電視機(jī)上,采用專用的芯片修改屏幕上指定部位的信號(hào)的角度和亮度,實(shí)現(xiàn)模擬視頻的同步改變,從而達(dá)到顯示的目的。含有OSD的視頻輸出信號(hào)在屏幕上從底向上以6個(gè)層次顯示:邊界顏色、靜止視頻圖像、活動(dòng)視頻圖像、OSD背窗口、OSD位圖區(qū)域和OSD硬件游標(biāo)。本文介紹的機(jī)頂盒系統(tǒng)是基于ST公司的方案,接收機(jī)軟件是ST公司為其數(shù)字衛(wèi)星接收機(jī)硬件評(píng)估板配套提供的。其主芯片采用Sti5518微控制器,內(nèi)部集成OSD處理單元。OSD功能模塊框圖如圖1所示。

      圖1

      OSD功能模塊位于NTSC/PAL/SECAM編碼之前,包括一張顏色查找表(LUTs)、Alpha混合濾波器和控制邏輯單元,所有子功能先于將信息從重建緩沖區(qū)傳到SDRAM或與其它靜態(tài)圖像混合前執(zhí)行。

      當(dāng)要輸出圖文信息時(shí),將字符圖標(biāo)的位圖信息送至OSD位圖區(qū)域的相應(yīng)位置。OSD位圖區(qū)域由其頭部定義,每個(gè)OSD頭主要包括OSD顯示短形區(qū)域的起始位置、大小及兩個(gè)分別指向頂場(chǎng)和底場(chǎng)圖像數(shù)據(jù)的指針(這是針對(duì)隔行掃描顯示方式;對(duì)于逐行掃描,這兩個(gè)指針向同一塊內(nèi)存區(qū)域),還有一個(gè)指向下一個(gè)OSD位圖數(shù)據(jù)頭的指針。由于采用了這種基于指針的OSD數(shù)據(jù)管理結(jié)構(gòu),理論上OSD位圖數(shù)據(jù)塊的數(shù)目不受限制,實(shí)際上它要受到內(nèi)存大小的限制。頭部不僅定義了位圖區(qū)域的尺寸、位置以及及顏色信息,而且提供了顏色表更新等功能。字符的顏色設(shè)置使用OSD處理單元(LUT)的顏色查找表,也稱做調(diào)色板。2位的LUT意味著有4種顏色可以選擇,并且位圖中的每個(gè)像素僅占有存儲(chǔ)單元的2位。如果是透明文字,還要把第一個(gè)像素的調(diào)色板顏色值定為透明色掩碼值,這個(gè)過(guò)程由Alpha混合處理完成。如果輸出像素不在OSD區(qū)域,停止處理視頻接口處理器數(shù)據(jù);如果輸出像素在OSD區(qū)域,OSD數(shù)據(jù)或OSD和視頻接口處理數(shù)據(jù)的混合數(shù)據(jù)經(jīng)Alpha混合濾波處理后以16位YC(Cb,Cr)格式傳輸。對(duì)于調(diào)色板顏色值是透明的情況,則直接傳送視頻數(shù)據(jù)而略過(guò)OSD位圖數(shù)據(jù)。

      OSD的軟件部分可以分為兩部分:硬件抽象層和圖形函數(shù)接口。OSD模塊軟件部分為整個(gè)系統(tǒng)軟件部分提供一系列的圖形函數(shù)接口,是實(shí)現(xiàn)圖文顯示的基礎(chǔ),也是給用戶提供一個(gè)方便直觀的圖形文字交互方式的保障。本文中硬件抽象層為ST公司提供的STAPI函數(shù)庫(kù),圖形函數(shù)接口在中間件的基礎(chǔ)上自行開(kāi)發(fā)。

      由此可見(jiàn),在機(jī)頂盒系統(tǒng)中字符輸出有三個(gè)主要步驟:①系統(tǒng)專用字庫(kù)的建立;②字符數(shù)據(jù)的查找;③調(diào)用OSD模塊功能將字符在屏幕上輸出。下面介紹如何通過(guò)轉(zhuǎn)換Windows矢量字符,建立一套功能完善,使用方便的字庫(kù)系統(tǒng)。

      2 提取矢量字符

      Winodws矢量字庫(kù)存儲(chǔ)漢字的矢量圖形。因?yàn)榇鎯?chǔ)的是筆樣條,對(duì)于字符做旋轉(zhuǎn)、縮放、甚至三維拉伸都不會(huì)產(chǎn)生失真,但在字符顯示的時(shí)候需要計(jì)算樣條曲線而增加了計(jì)算量。由于嵌入式系統(tǒng)只是針對(duì)專一控制應(yīng)用的系統(tǒng),處理器的性能和資源還不如PC機(jī),一般使用的仍然是點(diǎn)陣字庫(kù)。本文介紹的DVB-S機(jī)頂盒系統(tǒng)同樣沒(méi)有直接使用矢量字庫(kù);而是通過(guò)提取Windows中矢量字庫(kù)的方法將矢量字符轉(zhuǎn)換成相應(yīng)的點(diǎn)陣信息。在本開(kāi)發(fā)方案中,字庫(kù)文件中所有漢字的字模信息和圖標(biāo)信息被存儲(chǔ)到兩個(gè)大的數(shù)組中,并作為一個(gè)頭文件包含在漢字顯示模塊中。利用計(jì)算出的偏移值得到字模數(shù)組中的下標(biāo),從而得到漢字存放在數(shù)組中的字模點(diǎn)陣信息。使用程序存儲(chǔ)器空間做字庫(kù),這在漢字用量不大的情況下是一種較完美的解決方案。本系統(tǒng)中負(fù)責(zé)屏顯功能的API函烽是STOSD函數(shù)庫(kù),里面已把位圖的寬度定義為32像素的整數(shù)倍。這是由于系統(tǒng)的內(nèi)存操作函數(shù)只能對(duì)16字節(jié)整數(shù)倍的塊進(jìn)行拷貝操作,否則內(nèi)存只能一個(gè)字節(jié)一個(gè)字節(jié)地填充,速度非常慢。例如在16色的調(diào)色板情況下,無(wú)論是24×24點(diǎn)陣還是32×32點(diǎn)陣,基于字符單元寬度統(tǒng)一為32像素。一個(gè)寬為32像素,高為28像素的基本字符點(diǎn)陣信息需要一個(gè)大小為28字節(jié)的整型數(shù)組為記錄。以開(kāi)發(fā)方案為例,大小為500字符的24×24點(diǎn)陣小型字庫(kù)將需要24 000字節(jié)的ROM空間。

      轉(zhuǎn)換的關(guān)鍵是要獲得矢量字庫(kù)的點(diǎn)陣信息。程序中,回避了較困難的直接解板矢量字庫(kù)問(wèn)題,巧妙地從PC顯示緩沖區(qū)中獲得位映像數(shù)據(jù),再將其轉(zhuǎn)換成OSD模塊函數(shù)支持的點(diǎn)陣格式。位圖法轉(zhuǎn)換矢量字符的算法如下。

      ①把漢字以位圖的形式顯示在指定

      【矢量字庫(kù)在嵌入式機(jī)頂盒中的應(yīng)用】相關(guān)文章:

      嵌入式系統(tǒng)的應(yīng)用及發(fā)展03-05

      基于DSP的Bluetooth嵌入式系統(tǒng)應(yīng)用03-20

      嵌入式Linux系統(tǒng)及其應(yīng)用前景03-18

      ARM嵌入式在通信領(lǐng)域的應(yīng)用分析03-03

      UML 在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用03-18

      嵌入式Linux系統(tǒng)下Microwindows的應(yīng)用03-19

      液晶顯示在嵌入式系統(tǒng)中的應(yīng)用03-21

      嵌入式Modem在配變終端單元中的應(yīng)用03-21

      嵌入式系統(tǒng)關(guān)鍵技術(shù)分析與開(kāi)發(fā)應(yīng)用03-20

      主站蜘蛛池模板: 欧美激情国产一区在线不卡| 人妻中出精品久久久一区二| 洮南市| 亚洲欧美国产精品久久久| 99日本亚洲黄色三级高清网站| 定襄县| 国产真实乱对白在线观看| 国产女主播强伦视频网站| Jizz国产一区二区| 论坛| 枣阳市| 欧美人与动牲交片免费| 亚洲中文字幕巨乳人妻| 人妻中文字幕av有码在线| 亚洲一区二区三区色婷婷| 在线视频一区二区三区在线观看| 梓潼县| 米奇亚洲国产精品思久久 | 宁蒗| 成人av中字手机在线播放| 日本蜜桃视频在线观看| 久久综合给合久久狠狠狠9| 国产区高清在线一区二区三区| 丰满人妻中文字幕免费一二三四区| 清水河县| 国产福利97精品一区二区| 珲春市| 汾西县| 亚洲国产成人精品毛片九色| 柏乡县| 日韩国产av一区二区三区精品 | 亚洲红杏AV无码专区首页| 久久亚洲精品成人AV无码网址| 欧美—iGAO视频网| 无码a级毛片免费视频内谢| 国产一区二区三区最新视频| 国产91一区二这在线播放| 亚洲精品一区网站在线观看| 国产喷白浆精品一区二区| 国产亚洲成人精品一区| 亚洲视频在线播放免费视频|