基于改進(jìn)型二步索引算法OSD電路的FPGA實(shí)現(xiàn)
0 引 言
本文引用地址:http://2s4d.com/article/152195.htmOSD(on screen display),即在屏顯示系統(tǒng),是實(shí)現(xiàn)人機(jī)界面交互的基礎(chǔ),在視頻處理SOC中作為重要功能模塊有著廣泛的應(yīng)用。
基于SOC技術(shù)的模塊化設(shè)計(jì)要求各功能模塊盡可能小地占用電路資源,以滿足芯片系統(tǒng)對(duì)資源使用和面積的控制。對(duì)于OSD功能模塊而言,存儲(chǔ)器資源為主要開(kāi)銷(xiāo)。因此,減少存儲(chǔ)器資源的使用對(duì)降低OSD模塊電路資源需求有著重要的意義。
OSD電路中,字符索引算法的選取直接決定了存儲(chǔ)器資源的使用情況,因此采用更優(yōu)化的字符索引算法可以達(dá)到降低存儲(chǔ)器資源需求量的目的。作者在逐字符索引法的基礎(chǔ)上,針對(duì)該算法的缺點(diǎn),提出了二步索引法。在保證OSD功能完整的同時(shí),大大地降低了系統(tǒng)對(duì)存儲(chǔ)器資源的需求。
1 二步索引算法的原理及特點(diǎn)
1.1 字符索引算法原理
字符索引算法是將OSD菜單中所顯示的字符按菜單顯示順序進(jìn)行編碼,并存儲(chǔ)于存儲(chǔ)器中,在讀取字符點(diǎn)陣信息以顯示菜單時(shí)通過(guò)讀取編碼信息來(lái)索引所需字符信息。設(shè)菜單中字符尺寸為C1×Ch(bit),菜單共顯示m行字符,每行顯示n個(gè)字符,字符編碼Ni×j,并且存儲(chǔ)器中一個(gè)地址所存儲(chǔ)的數(shù)據(jù)(bit)大于C1。則讀取菜單中第i行第j個(gè)字符時(shí),首先通過(guò)索引得到存儲(chǔ)器中相應(yīng)字符的字符編碼Ni×j,索引地址可通過(guò)公式(1)得出:
add_mi×j=addr_n0×0+(i-1)n+n-1 (1)
將讀取出的字符編碼Ni×j轉(zhuǎn)換成相應(yīng)字符點(diǎn)陣信息在存儲(chǔ)器中存儲(chǔ)空間的首地址。地址的轉(zhuǎn)換可通過(guò)公式(2)計(jì)算得到:
addr_di×j=addr_d0×0+Ch×(Ni×j-1) (2)
式中:addr_u0×0和addr_d0×0分別是字符編碼存儲(chǔ)器和字符點(diǎn)陣信息存儲(chǔ)器中首地址指針。根據(jù)Ch控制從字符點(diǎn)陣信息存儲(chǔ)器中讀出地址范圍為addr_di×j到addr_di×j+Ch的數(shù)據(jù)即完成了對(duì)菜單中第i行第j個(gè)字符的點(diǎn)陣數(shù)據(jù)信息的讀取。
逐字符索引算法下,將空格按字符看待并進(jìn)行編碼,菜單每行固定顯示n個(gè)字符,字符長(zhǎng)度小于n的菜單行由空格來(lái)補(bǔ)齊。由于采用定長(zhǎng)的存儲(chǔ)結(jié)構(gòu),所以字符索引電路原理簡(jiǎn)單且易于實(shí)現(xiàn),只需要根據(jù)菜單字行符長(zhǎng)數(shù)n就可以計(jì)算出相應(yīng)行字符的首地址指針。但這種存儲(chǔ)結(jié)構(gòu)的缺點(diǎn)也很明顯,就是對(duì)存儲(chǔ)器的使用量較大。在該算法下,可以計(jì)算出在OSD所需要的使用的存儲(chǔ)器量為:m×n×Ch,如圖1(a)所示。存人其中的“空格”(圖中編碼為“28”)會(huì)占用相當(dāng)一部分的存儲(chǔ)器資源。在一些情況中,用于補(bǔ)充空缺而存儲(chǔ)的“空格”所占用的存儲(chǔ)空間甚至?xí)茸址c(diǎn)陣信息的存儲(chǔ)空間還要多,這是對(duì)存儲(chǔ)器資源極大的浪費(fèi)。
DIY機(jī)械鍵盤(pán)相關(guān)社區(qū):機(jī)械鍵盤(pán)DIY
p2p機(jī)相關(guān)文章:p2p原理
評(píng)論