專(zhuān)利名稱(chēng):一種實(shí)現(xiàn)圖文混合顯示的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字電視廣播系統(tǒng)中的圖像顯示技術(shù),特別是涉及一種在機(jī)頂盒上實(shí)現(xiàn)圖文混合顯示的方法,屬于數(shù)字電視廣播領(lǐng)域。
背景技術(shù):
目前在機(jī)頂盒這類(lèi)嵌入式系統(tǒng)中,圖形顯示僅支持字符、漢字和簡(jiǎn)單圖形等單一格式的圖形,對(duì)圖片類(lèi)復(fù)雜圖形支持能力差,也不能針對(duì)不同種類(lèi)圖形分別處理。
在不同的OSD圖形顯示層上顯示圖文是比較可行的方法,但在圖像層上顯示圖像時(shí)需要對(duì)壓縮圖像進(jìn)行解碼,這樣可能需要消耗CPU資源,速度上比顯示幀數(shù)據(jù)要慢些。
在圖像IMAGE層上顯示圖像和圖形也能達(dá)到圖文混合顯示的效果,其不足之處在于由于文字和圖像在同一層,就沒(méi)有陰影、層次等視覺(jué)效果了,并且如果更換文字(或圖形)時(shí),圖像也需要重畫(huà),同樣更換圖像也要重畫(huà)文字(或圖形)。
發(fā)明內(nèi)容
本發(fā)明的主要目的是針對(duì)現(xiàn)有技術(shù)之不足而提供一種實(shí)現(xiàn)圖文混合顯示的方法,它能夠?qū)Σ煌?lèi)型的圖形按照分層進(jìn)行不同處理形成多種圖形顯示方案,并實(shí)現(xiàn)不同層之間的混合顯示。
本發(fā)明的目的是這樣實(shí)現(xiàn)的步驟一,將顯示層面依次分為圖形層、視頻層、圖像層和背景層,針對(duì)每一顯示層面,在顯示存儲(chǔ)器中確定一個(gè)對(duì)應(yīng)的獨(dú)立存儲(chǔ)區(qū)域;
步驟二,在圖形層顯示簡(jiǎn)單圖形、英文字符、中文漢字以及位圖;在視頻層顯示電視畫(huà)面的圖像;在圖像層顯示各種壓縮的圖像;在背景層顯示單一顏色的圖層;步驟三,將各顯示層面進(jìn)行疊加和覆蓋。
所述的圖形層面,其顯示像素點(diǎn)的通用步驟,包括先選定顯示層,設(shè)定圖形在顯示層中的顯示位置和圖形顯示區(qū)域的大小,為圖形數(shù)據(jù)分配存儲(chǔ)區(qū)域,然后處理圖形數(shù)據(jù),計(jì)算顯示像素點(diǎn)存儲(chǔ)區(qū)域中的位置,接著分配像素點(diǎn)的顏色值,最后存放顯示圖形的像素,然后結(jié)束。
所述的步驟二圖形層所顯示的簡(jiǎn)單圖形,包括點(diǎn)、直線(xiàn)、矩形、圓、橢圓、三角形以及這些圖形衍生出來(lái)的圖形。
所述的圖形層顯示簡(jiǎn)單圖形的步驟,包括先設(shè)置點(diǎn)在屏幕上的坐標(biāo)值(posX,posY),設(shè)置點(diǎn)的顏色值,接著根據(jù)點(diǎn)的坐標(biāo)和像素點(diǎn)的比特位數(shù)計(jì)算出顯存中該點(diǎn)占用的內(nèi)存單元位置,將該內(nèi)存單元得數(shù)值設(shè)置為像素點(diǎn)的顏色值,然后結(jié)束。
所述的圖形層顯示簡(jiǎn)單圖形中計(jì)算內(nèi)存單元位置,包括根據(jù)像素點(diǎn)的比特位數(shù)n,圖形層所分配的內(nèi)存起始單元地址ptrStart,圖形層區(qū)域的大小(nWidth,nHeight),來(lái)確定顯存中該點(diǎn)占用的內(nèi)存單元位置,計(jì)算公式為ptrPixel=ptrStart+poxY*nWidth+posX。
所述的圖形層顯示漢字的步驟,包括先設(shè)置漢字在屏幕上的坐標(biāo)值,設(shè)置漢字的顏色值,接著從漢字字庫(kù)中取出漢字的字模數(shù)組,掃描該數(shù)組,并取出漢字每個(gè)點(diǎn)的值,然后判斷該點(diǎn)是否是此漢字中的一個(gè)點(diǎn),即判斷該值是否為1,若為1則說(shuō)明該點(diǎn)是此漢字中的一個(gè)點(diǎn),則在圖形層中畫(huà)像素點(diǎn),然后結(jié)束;若為0則說(shuō)明該點(diǎn)不是此漢字中的一個(gè)點(diǎn),則直接結(jié)束。
所述的步驟二中顯示層顯示的圖形,通過(guò)設(shè)置圖形層的一個(gè)控制函數(shù)可以改變亮度,也可以改變透明度。
所述的圖形層所顯示的位圖的步驟,包括先設(shè)置位圖在屏幕上的左上點(diǎn)坐標(biāo)值,再用通用算法從位圖數(shù)據(jù)中取出位圖的顏色表數(shù)組,在顯存中找到顏色表(調(diào)色板)的內(nèi)存地址,然后根據(jù)顏色表數(shù)組的大小順序在顏色表的內(nèi)存地址單元中設(shè)置相應(yīng)順序的位圖顏色表中的值,從位圖數(shù)據(jù)中取出位圖顏色索引值數(shù)組,再根據(jù)位圖的大小和顯示區(qū)域,計(jì)算出位圖在顯存中的內(nèi)存單元地址ptr,最后將位圖顏色索引值數(shù)組值順序拷貝到ptr所指向的內(nèi)存單元中,然后結(jié)束。
所述的圖形層顯示位圖中計(jì)算位圖在顯存中的內(nèi)存單元地址ptr,包括根據(jù)位圖的左上點(diǎn)坐標(biāo)(nLeft,nTop)、右下點(diǎn)坐標(biāo)(nRight,nBottom),顯示區(qū)域的左上點(diǎn)坐標(biāo)(nRegionLeft,nRegionTop)、右下點(diǎn)坐標(biāo)(nRegionRight,nRegionBottom),及圖形層給顯示區(qū)域所分配的內(nèi)存起始單元地址為ptrStart,位圖在顯存中的內(nèi)存單元地址ptr的計(jì)算方法為(nRegionRight-nRegionLeft)*(nTop-nRegionTop)+nLeft-nRegionLeft+ptrStart。
所述的步驟二中視頻層顯示的電視畫(huà)面,包括I幀數(shù)據(jù)。
所述的步驟二中視頻層顯示I幀數(shù)據(jù)的步驟,包括把幀數(shù)據(jù)直接拷貝到視頻層對(duì)應(yīng)的解碼內(nèi)存地址單元中,調(diào)用相應(yīng)解碼器對(duì)幀數(shù)據(jù)的解碼函數(shù)對(duì)幀數(shù)據(jù)解碼,然后結(jié)束。
所述的步驟二中圖像層顯示壓縮圖像的步驟,包括先設(shè)置圖像在屏幕上的左上點(diǎn)坐標(biāo)值,再對(duì)不同格式的壓縮圖像應(yīng)用不同的解碼標(biāo)準(zhǔn)進(jìn)行解碼,得到圖像的YUV分量數(shù)組,接著根據(jù)圖像左上點(diǎn)坐標(biāo)值在圖像層的顯存中計(jì)算出圖像數(shù)據(jù)開(kāi)始存放的內(nèi)存地址單元ptr,最后根據(jù)圖像層對(duì)圖像YUV數(shù)據(jù)存放的要求、圖像大小和ptr值把圖像的YUV各分量數(shù)組值拷貝到指定的內(nèi)存單元中后,然后結(jié)束。
所述的步驟二中的背景層,可以通過(guò)16bit的YUV值來(lái)設(shè)置背景層的顏色。
所述的步驟三中將各顯示層面進(jìn)行疊加和覆蓋,包括上層平面的圖形可以覆蓋下層圖形;除背景層外,每個(gè)顯示平面都可以根據(jù)要求而顯示或隱藏。
所述的步驟三中將各顯示層面進(jìn)行疊加和覆蓋的步驟,包括先設(shè)置背景層的顏色,再在圖像層上顯示壓縮圖像,接著在圖像層上顯示位圖、中英文字符、圖形,最后設(shè)置圖形層的透明度,然后結(jié)束。
針對(duì)數(shù)字電視機(jī)頂盒用戶(hù)界面中對(duì)不同圖形對(duì)象顯示的需求,本發(fā)明采用圖形層、圖像層和視頻層分別顯示不同圖形,并將各層圖形混合,構(gòu)成靈活而豐富的用戶(hù)界面。本發(fā)明提供直接圖形、位圖、漢字點(diǎn)陣、JPEG圖形、GIF圖形和I幀圖形等不同圖形對(duì)象的顯示方法。
圖1為本發(fā)明實(shí)現(xiàn)圖文混合顯示的層次結(jié)構(gòu)示意圖;圖2為在各圖形層面顯示像素點(diǎn)的通用流程圖;圖3為在圖形層中顯示簡(jiǎn)單圖形的流程圖;圖4為在圖形層中顯示漢字的流程圖;圖5為在圖形層中顯示位圖的流程圖;圖6為在圖像層中顯示壓縮圖像的流程圖;圖7為在視頻層上顯示I幀圖像的流程圖;圖8為實(shí)現(xiàn)不同層之間的混合顯示的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方案對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明。
圖1給出了本發(fā)明實(shí)現(xiàn)圖文混合顯示的層次結(jié)構(gòu),為實(shí)現(xiàn)多層OSD圖形顯示,本發(fā)明將顯示層分為以下四層圖形層、視頻層、圖像層和背景層。所謂多層的意思就是把不同用途的圖形分開(kāi)顯示,某些特征的圖形在圖形層中顯示,而另一些特征的圖形則在圖像層中顯示。
圖形層顯示如直線(xiàn)、圓等等各種簡(jiǎn)單圖形、英文字符、中文漢字以及位圖,對(duì)每個(gè)像素點(diǎn)用RGB表示,位數(shù)為8bit,所以最多只有256種顏色。圖形層可以通過(guò)設(shè)置一個(gè)控制函數(shù)的值和其他顯示層混合,也可以透明,這樣就能實(shí)現(xiàn)不同圖層的疊加,從而實(shí)現(xiàn)多層混合顯示。
視頻層顯示電視畫(huà)面的圖層,并可以縮放。
圖像層顯示各種壓縮的圖像,對(duì)各像素點(diǎn)以YUV值來(lái)表示。
背景層單一顏色的圖層,通過(guò)16bit的YUV值來(lái)設(shè)置其顏色。
每個(gè)顯示層面在顯示存儲(chǔ)器中對(duì)應(yīng)一個(gè)獨(dú)立的存儲(chǔ)區(qū)域,控制程序可分別操作這些區(qū)域,產(chǎn)生不同層的顯示結(jié)果。事實(shí)上,對(duì)顯示層面的劃分是為了顯示處理實(shí)現(xiàn)模塊化,分層的結(jié)果使顯示控制和操作相互獨(dú)立。
各顯示層面的圖形最終產(chǎn)生混合的顯示效果,對(duì)每個(gè)顯示層的疊加和覆蓋約定如下屬于上層平面的圖形可以覆蓋下層圖形;除背景層外,每個(gè)顯示平面都可以根據(jù)要求而具有顯示/隱藏功能。
不同顯示層面的所顯示的對(duì)象分別為圖形層顯示的圖形對(duì)象分為簡(jiǎn)單圖形、位圖(Bitmap)、英文字符、漢字點(diǎn)陣。簡(jiǎn)單圖形包括,點(diǎn)、直線(xiàn)、矩形、圓、橢圓、三角形以及這些圖形衍生出來(lái)的圖形;位圖(Bitmap)中圖像的各個(gè)像素點(diǎn)由RGB值表示,位圖數(shù)據(jù)由一個(gè)顏色表(pallete)和顏色表的索引值數(shù)組組成;漢字點(diǎn)陣中的漢字是按畫(huà)點(diǎn)的方式構(gòu)成,就是通常所說(shuō)的16*16、24*24、32*32點(diǎn)陣字,所有漢字點(diǎn)陣的信息存在字庫(kù)中,要顯示時(shí)先根據(jù)漢字的區(qū)位碼和機(jī)內(nèi)碼在字庫(kù)中取出漢字的字模,然后再根據(jù)字模畫(huà)點(diǎn)。
視頻層顯示的圖形對(duì)象為I幀圖形,I幀是僅使用自身信息進(jìn)行編碼的圖。
圖像層顯示的圖形對(duì)象為JPEG、GIF等壓縮圖形壓縮圖像都采用目前國(guó)際通用壓縮標(biāo)準(zhǔn),比位圖數(shù)據(jù)量小,通常存儲(chǔ)圖像像素的YUV信息。
背景層為顯示單一顏色的圖層。
圖2為在各圖形層面顯示像素點(diǎn)的通用流程圖,通用步驟包括,先選定顯示層,設(shè)定圖形在顯示層中的顯示位置和圖形顯示區(qū)域的大小,為圖形數(shù)據(jù)分配存儲(chǔ)區(qū)域,然后處理圖形數(shù)據(jù),計(jì)算顯示像素點(diǎn)存儲(chǔ)區(qū)域中的位置,接著分配像素點(diǎn)的顏色值,最后存放顯示圖形的像素,然后結(jié)束。
在圖形層上顯示簡(jiǎn)單圖形的流程如圖3所示,在圖形層中顯示圖形,主要的操作是畫(huà)每個(gè)像素。圖形層一般每個(gè)像素為8位,這樣就最多可以顯示256種顏色。對(duì)于每個(gè)像素來(lái)說(shuō),都有一個(gè)RGB值,取值范圍是(R(0-255),G(0-255),B(0-255))。要在圖形層上顯示圖形,還需要有一個(gè)調(diào)色板(pallete),當(dāng)然這個(gè)調(diào)色板是256色,并且在同一時(shí)刻,機(jī)頂盒只能有一個(gè)256色的調(diào)色板,并且一般都是256色的標(biāo)準(zhǔn)WINDOWS調(diào)色板,圖形層根據(jù)調(diào)色板定義的象素顏色顯示。如圖3所示,開(kāi)始先設(shè)置點(diǎn)在屏幕上的坐標(biāo)值(posX,posY),設(shè)置點(diǎn)的顏色值,接著根據(jù)點(diǎn)的坐標(biāo)和像素點(diǎn)的比特位數(shù)計(jì)算出顯存中該點(diǎn)占用的內(nèi)存單元位置,將該內(nèi)存單元的數(shù)值設(shè)置為像素點(diǎn)的顏色值,然后結(jié)束。
在圖形層中顯示漢字點(diǎn)陣的流程如圖4所示,漢字也屬于圖形,但是比較特殊,現(xiàn)在機(jī)頂盒中的漢字的顯示主要是根據(jù)漢字字庫(kù)進(jìn)行顯示,漢字有分為點(diǎn)陣字庫(kù)和矢量字庫(kù)。圖4為以點(diǎn)陣字庫(kù)為例,在圖形層中顯示漢字字符的流程圖,開(kāi)始先設(shè)置漢字在屏幕上的坐標(biāo)值,設(shè)置漢字的顏色值,接著用通用算法從漢字字庫(kù)中取出漢字的字模數(shù)組,掃描該數(shù)組,并用通用算法取出漢字每個(gè)點(diǎn)的值,然后判斷該點(diǎn)是否是此漢字中的一個(gè)點(diǎn),即判斷該值是否為1,若為1則說(shuō)明該點(diǎn)是此漢字中的一個(gè)點(diǎn),則在圖形層中畫(huà)像素點(diǎn),然后結(jié)束;若為0則說(shuō)明該點(diǎn)不是此漢字中的一個(gè)點(diǎn),則直接結(jié)束。
在圖形層中顯示位像的流程如圖5所示,由于位圖文件一般是由圖像的像素點(diǎn)陣的RGB值在該位圖的調(diào)色板中的索引值組成,所以這使得在圖形層中顯示位圖成為可能。如圖5所示,開(kāi)始先設(shè)置位圖在屏幕上的左上點(diǎn)坐標(biāo)值,再用通用算法從位圖數(shù)據(jù)中取出位圖的顏色表數(shù)組,在顯存中找到顏色表(調(diào)色板)的內(nèi)存地址,然后根據(jù)顏色表數(shù)組的大小順序在顏色表的內(nèi)存地址單元中設(shè)置相應(yīng)順序的位圖顏色表中的值,用通用算法從位圖數(shù)據(jù)中取出位圖顏色索引值數(shù)組,再根據(jù)位圖的大小和顯示區(qū)域,計(jì)算出位圖在顯存中的內(nèi)存單元地址ptr,最后將位圖顏色索引值數(shù)組值順序拷貝到ptr所指向的內(nèi)存單元中,然后結(jié)束。
需要注意的是在顯示位圖時(shí),如果位圖所用的調(diào)色板和系統(tǒng)中正在使用的調(diào)色板不一致的話(huà),那么需要把系統(tǒng)的調(diào)色板更換為位圖的調(diào)色板,這樣才能正確顯示位圖。
雖然在圖形層中可以顯示位圖,但是由于位圖數(shù)據(jù)量大,并且顏色值較少,這樣既占用存儲(chǔ)空間,同時(shí)又對(duì)要顯示的位圖有一定顯示的限制,在實(shí)際應(yīng)用上是不多的。而在圖像層上顯示圖像剛好可以彌補(bǔ)上面所說(shuō)的缺點(diǎn)。圖像層用來(lái)顯示各種壓縮圖像,比如JPG、GIF等格式的圖像,壓縮圖像比位圖占用的存儲(chǔ)空間要小很多,并且和顏色值沒(méi)有關(guān)系,所以一般都選擇在圖像層顯示圖像。與圖形層根據(jù)調(diào)色板定義的象素顏色顯示不同的是,圖像層按照象素的YUV值顯示。圖6為在圖像層顯示JPEG、GIF等壓縮圖形的流程圖,開(kāi)始先設(shè)置圖像在屏幕上的左上點(diǎn)坐標(biāo)值,再對(duì)不同格式的壓縮圖像應(yīng)用不同的解碼標(biāo)準(zhǔn)進(jìn)行解碼,得到圖像的YUV分量數(shù)組,接著根據(jù)圖像左上點(diǎn)坐標(biāo)值在圖像層的顯存中計(jì)算出圖像數(shù)據(jù)開(kāi)始存放的內(nèi)存地址單元ptr,最后根據(jù)圖像層對(duì)圖像YUV數(shù)據(jù)存放的要求、圖像大小和ptr值把圖像的YUV各分量數(shù)組值拷貝到指定的內(nèi)存單元中后,然后結(jié)束。
機(jī)頂盒中的解碼器都能對(duì)MPEG-2的視頻進(jìn)行解碼,其工作過(guò)程如圖7,即對(duì)視頻流中的視頻序列中稱(chēng)為幀(Frame)的圖像數(shù)據(jù)進(jìn)行解碼,完成后把圖像數(shù)據(jù)傳送到視頻輸出端。一幀由三個(gè)整數(shù)矩形陣組成一個(gè)亮度矩陣(Y)和兩個(gè)色度矩陣(Cb和Cr)。幀可以分為內(nèi)部編碼(I frame);預(yù)測(cè)編碼(Pframe)和雙向預(yù)測(cè)編碼(B frame)三種。
由于任何一款機(jī)頂盒都有視頻解碼器,并且都支持MPEG-2的視頻解碼,所以在視頻層上顯示幀圖像的通用性最強(qiáng)。這種方法的特點(diǎn)在于由于解碼的過(guò)程完全是由硬件完成的,所以時(shí)間非???,不需要軟解碼和內(nèi)存。同時(shí)幀是在視頻層上進(jìn)行顯示,這樣在其它圖形OSD的顯示層上還可以顯示圖形和圖像,同樣也可以達(dá)到顯示層的疊加、陰影、透明等視覺(jué)效果。但這樣前端需要對(duì)圖像、圖形、文字信息進(jìn)行編碼,再通過(guò)數(shù)據(jù)的發(fā)送、傳輸和機(jī)頂盒的接收,這樣對(duì)其它條件的依賴(lài)性較大,可以應(yīng)用在數(shù)據(jù)廣播等業(yè)務(wù)中。任何一種幀都能被解碼器解碼,并將圖像信息顯示在屏幕上,這樣也產(chǎn)生出一種圖文混合顯示的方法把圖像和圖形、文字(中、英文、特殊符號(hào))等所有顯示信息經(jīng)過(guò)編碼處理,將這些數(shù)據(jù)編碼為一個(gè)幀(三種中的任何一種),然后再將幀數(shù)據(jù)送入解碼器,那么在監(jiān)視器上就能顯示混合后的圖文信息。
這里,在視頻層上顯示靜止圖像,僅適用于I幀,特點(diǎn)是硬件處理速度快,可應(yīng)用硬件解碼器展開(kāi)圖形,提供顯示。
圖7為在視頻層上顯示I幀圖像的流程圖,包括把幀數(shù)據(jù)直接拷貝到視頻層對(duì)應(yīng)的解碼內(nèi)存地址單元中,調(diào)用相應(yīng)解碼器對(duì)幀數(shù)據(jù)的解碼函數(shù)對(duì)幀數(shù)據(jù)解碼,然后結(jié)束。
由以上論述可以實(shí)現(xiàn)不同層之間的混合顯示,各顯示層混合顯示的流程如圖8所示,開(kāi)始先設(shè)置背景層的顏色,再在圖像層上顯示壓縮圖像,接著在圖像層上顯示位圖、中英文字符、圖形,最后設(shè)置形層的透明度,然后程序結(jié)束。其中,對(duì)于圖形層來(lái)說(shuō),可以通過(guò)設(shè)置一個(gè)控制函數(shù)來(lái)改變顯示層的亮度和透明度。這樣圖形層可以疊加在視頻層、圖像層和背景層上,從視覺(jué)上看就能達(dá)到混合的效果。
最后所應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對(duì)本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種實(shí)現(xiàn)圖文混合顯示的方法,可實(shí)現(xiàn)圖形、圖片的混合顯示,其特征在于,步驟一,將顯示層面依次分為圖形層、視頻層、圖像層和背景層,針對(duì)每一顯示層面,在顯示存儲(chǔ)器中確定一個(gè)對(duì)應(yīng)的獨(dú)立存儲(chǔ)區(qū)域;步驟二,在圖形層顯示簡(jiǎn)單圖形、英文字符、中文漢字以及位圖;在視頻層顯示電視畫(huà)面的圖像;在圖像層顯示各種壓縮的圖像;在背景層顯示單一顏色的圖層;步驟三,將各顯示層面進(jìn)行疊加和覆蓋。
2.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的圖形層面,其顯示像素點(diǎn)的通用步驟,包括先選定顯示層,設(shè)定圖形在顯示層中的顯示位置和圖形顯示區(qū)域的大小,為圖形數(shù)據(jù)分配存儲(chǔ)區(qū)域,然后處理圖形數(shù)據(jù),計(jì)算顯示像素點(diǎn)存儲(chǔ)區(qū)域中的位置,接著分配像素點(diǎn)的顏色值,最后存放顯示圖形的像素,然后結(jié)束。
3.根據(jù)權(quán)利要求1或2所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的步驟二圖形層所顯示的簡(jiǎn)單圖形,包括點(diǎn)、直線(xiàn)、矩形、圓、橢圓、三角形以及這些圖形衍生出來(lái)的圖形。
4.根據(jù)權(quán)利要求1或2或3所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的圖形層顯示簡(jiǎn)單圖形的步驟,包括先設(shè)置點(diǎn)在屏幕上的坐標(biāo)值(posX,posY),設(shè)置點(diǎn)的顏色值,接著根據(jù)點(diǎn)的坐標(biāo)和像素點(diǎn)的比特位數(shù)計(jì)算出顯存中該點(diǎn)占用的內(nèi)存單元位置,將該內(nèi)存單元的數(shù)值設(shè)置為像素點(diǎn)的顏色值,然后結(jié)束。
5.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的圖形層顯示簡(jiǎn)單圖形中計(jì)算像素點(diǎn)占用的內(nèi)存單元位置,其計(jì)算公式為ptrPixel=ptrStart+poxY*nWidth+posX;式中,n為像素點(diǎn)的比特位數(shù),ptrStart為圖形層所分配的內(nèi)存起始單元地址,(nWidth,nHeight)為圖形層區(qū)域的大小。
6.根據(jù)權(quán)利要求1或2所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的圖形層顯示漢字的步驟,包括先設(shè)置漢字在屏幕上的坐標(biāo)值,設(shè)置漢字的顏色值,接著從漢字字庫(kù)中取出漢字的字模數(shù)組,掃描該數(shù)組,并取出漢字每個(gè)點(diǎn)的值,然后判斷該點(diǎn)是否是此漢字中的一個(gè)點(diǎn),即判斷該值是否為1,若為1則說(shuō)明該點(diǎn)是此漢字中的一個(gè)點(diǎn),則在圖形層中畫(huà)像素點(diǎn),然后結(jié)束;若為0則說(shuō)明該點(diǎn)不是此漢字中的一個(gè)點(diǎn),則直接結(jié)束。
7.根據(jù)權(quán)利要求1或2所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的步驟二中顯示層顯示的圖形,通過(guò)設(shè)置圖形層的一個(gè)控制函數(shù)可以改變亮度,也可以改變透明度。
8.根據(jù)權(quán)利要求1或2所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的圖形層所顯示的位圖的步驟,包括先設(shè)置位圖在屏幕上的左上點(diǎn)坐標(biāo)值,再用通用算法從位圖數(shù)據(jù)中取出位圖的顏色表數(shù)組,在顯存中找到顏色表(調(diào)色板)的內(nèi)存地址,然后根據(jù)顏色表數(shù)組的大小順序在顏色表的內(nèi)存地址單元中設(shè)置相應(yīng)順序的位圖顏色表中的值,從位圖數(shù)據(jù)中取出位圖顏色索引值數(shù)組,再根據(jù)位圖的大小和顯示區(qū)域,計(jì)算出位圖在顯存中的內(nèi)存單元地址ptr,最后將位圖顏色索引值數(shù)組值順序拷貝到ptr所指向的內(nèi)存單元中,然后結(jié)束。
9.根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的圖形層顯示位圖中計(jì)算位圖在顯存中的內(nèi)存單元地址ptr,其計(jì)算公式為位圖在顯存中的內(nèi)存單元地址ptr=(nRegionRight-nRegionLeft)*(nTop-nRegionTop)+nLeft-nRegionLeft+ptrStart;式中,(nLeft,nTop)為位圖的左上點(diǎn)坐標(biāo)、(nRight,nBottom)為位圖的右下點(diǎn)坐標(biāo),(nRegionLeft,nRegionTop)為顯示區(qū)域的左上點(diǎn)坐標(biāo)、(nRegionRight,nRegionBottom)為顯示區(qū)域的右下點(diǎn)坐標(biāo),及ptrStart為圖形層給顯示區(qū)域所分配的內(nèi)存起始單元地址。
10.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的步驟二中視頻層顯示的電視畫(huà)面,包括I幀數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的步驟二中視頻層顯示I幀數(shù)據(jù)的步驟,包括把幀數(shù)據(jù)直接拷貝到視頻層對(duì)應(yīng)的解碼內(nèi)存地址單元中,調(diào)用相應(yīng)解碼器對(duì)幀數(shù)據(jù)的解碼函數(shù)對(duì)幀數(shù)據(jù)解碼,然后結(jié)束。
12.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的步驟二中圖像層顯示壓縮圖像的步驟,包括先設(shè)置圖像在屏幕上的左上點(diǎn)坐標(biāo)值,再對(duì)不同格式的壓縮圖像應(yīng)用不同的解碼標(biāo)準(zhǔn)進(jìn)行解碼,得到圖像的YUV分量數(shù)組,接著根據(jù)圖像左上點(diǎn)坐標(biāo)值在圖像層的顯存中計(jì)算出圖像數(shù)據(jù)開(kāi)始存放的內(nèi)存地址單元ptr,最后根據(jù)圖像層對(duì)圖像YUV數(shù)據(jù)存放的要求、圖像大小和ptr值把圖像的YUV各分量數(shù)組值拷貝到指定的內(nèi)存單元中后,然后結(jié)束。
13.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的步驟二中的背景層,可以通過(guò)16bit的YUV值來(lái)設(shè)置來(lái)設(shè)置背景層的顏色。
14.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的步驟三中將各顯示層面進(jìn)行疊加和覆蓋,包括上層平面的圖形可以覆蓋下層圖形;除背景層外,每個(gè)顯示層面都可以根據(jù)要求而顯示或隱藏。
15.根據(jù)權(quán)利要求1或14所述的實(shí)現(xiàn)圖文混合顯示的方法,其特征在于,所述的步驟三中將各顯示層面進(jìn)行疊加和覆蓋的步驟,包括先設(shè)置背景層的顏色,再在圖像層上顯示壓縮圖像,接著在圖像層上顯示位圖、中英文字符、圖形,最后設(shè)置圖形層的透明度。
全文摘要
一種實(shí)現(xiàn)圖文混合顯示的方法,可實(shí)現(xiàn)圖形、圖片的混合顯示,先將顯示層面依次分為圖形層、視頻層、圖像層和背景層,針對(duì)每一顯示層面,在顯示存儲(chǔ)器中確定一個(gè)對(duì)應(yīng)的獨(dú)立存儲(chǔ)區(qū)域;接著在圖形層顯示簡(jiǎn)單圖形、英文字符、中文漢字以及位圖,在視頻層顯示電視畫(huà)面的圖像,在圖像層顯示各種壓縮的圖像,在背景層顯示單一顏色的圖層;最后將各顯示層面進(jìn)行疊加和覆蓋。本發(fā)明將各層圖形混合,構(gòu)成了靈活而豐富的用戶(hù)界面。
文檔編號(hào)H04N5/44GK1501712SQ0214929
公開(kāi)日2004年6月2日 申請(qǐng)日期2002年11月12日 優(yōu)先權(quán)日2002年11月12日
發(fā)明者楊磊, 李新征, 田龍, 楊 磊 申請(qǐng)人:北京中視聯(lián)數(shù)字系統(tǒng)有限公司