一種混合顯示方法和裝置制造方法
【專利摘要】本發(fā)明適用于電視領(lǐng)域,提供了一種混合顯示方法和裝置;應用于使用Firefox?OS系統(tǒng)顯示處于電視界面上層的操作系統(tǒng)界面的電視機,所述混合顯示方法包括:在網(wǎng)頁排版引擎中為所述操作系統(tǒng)界面的背景設(shè)置透明度;從界面設(shè)計文件解析出一個或多個標簽,并解析出所述標簽的樣式;確定一個或多個圖層,所述圖層包含一個或多個所述標簽;根據(jù)所述標簽的樣式確定所述圖層的疊加順序,按照所述圖層的疊加順序依次在已設(shè)置透明度的背景上疊加所有圖層并疊加生成系統(tǒng)界面圖層,在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層。如果系統(tǒng)界面圖層中存在的一個或多個透明區(qū)域(像素數(shù)值為零的像素點組成),可透過該操作系統(tǒng)界面中的上述區(qū)域看到位于下層的電視界面。
【專利說明】一種混合顯示方法和裝置
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明屬于電視領(lǐng)域,尤其涉及一種混合顯示方法和裝置。
【背景技術(shù)】
[0002]對于原生的Firefox OS系統(tǒng),該顯示系統(tǒng)是針對于手機,平板電腦等設(shè)備開發(fā)的。Firefox OS系統(tǒng)在將用戶界面的元素解析之后,將解析出的可見元素與不可見元素以及部分可見元素合成為一整張畫面,然后將該整張畫面疊加在網(wǎng)頁排版引擎Gecko提供的背景上顯示。
[0003]對于電視機而言,電視機存在一個電視界面,通過電視界面播放電視節(jié)目,另外電視機還存在一個操作系統(tǒng)界面,該操作系統(tǒng)界面與該電視界面不屬于同一層面,該操作系統(tǒng)界面位于該電視界面之上。
[0004]現(xiàn)有技術(shù)中,對于電視界面與操作系統(tǒng)界面重疊的區(qū)域,使用Firefox OS系統(tǒng)顯示的操作系統(tǒng)界面會遮擋該電視界面,遮擋原因是=Firefox OS系統(tǒng)不支持將其提供的界面的背景設(shè)置透明度,即使操作系統(tǒng)界面不存在任何像素,F(xiàn)irefox OS系統(tǒng)提供的界面仍會顯示不具透明度的背景。從而,對于電視界面與操作系統(tǒng)界面的重疊區(qū)域,由于該操作系統(tǒng)界面位于該電視界面之上,僅能顯示操作界面,而無法顯示位于重疊區(qū)域的電視界面。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種混合顯示方法和裝置,以解決基于使用FirefoxOS系統(tǒng)顯示上層的操作系統(tǒng)界面時,將遮擋位于下一層的電視界面的問題。
[0006]一方面,本發(fā)明提供一種混合顯示方法,應用于使用Firefox OS系統(tǒng)顯示處于電視界面上層的操作系統(tǒng)界面的電視機,所述混合顯示方法包括:
[0007]在網(wǎng)頁排版引擎中為所述操作系統(tǒng)界面的背景設(shè)置透明度;
[0008]從界面設(shè)計文件解析出一個或多個標簽,并解析出所述標簽的樣式;
[0009]確定一個或多個圖層,所述圖層包含一個或多個所述標簽;
[0010]根據(jù)所述標簽的樣式確定所述圖層的疊加順序,按照所述圖層的疊加順序依次在已設(shè)置透明度的背景上疊加所有圖層并疊加生成系統(tǒng)界面圖層,在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層。
[0011]一方面,本發(fā)明提供一種混合顯示裝置,應用于使用Firefox OS系統(tǒng)顯示處于電視界面上層的操作系統(tǒng)界面的電視機,所述混合顯示裝置包括:
[0012]透明度單元,用于在網(wǎng)頁排版引擎中為所述操作系統(tǒng)界面的背景設(shè)置透明度;
[0013]解析單元,用于從界面設(shè)計文件解析出一個或多個標簽,并解析出所述標簽的樣式;
[0014]圖層確定單元,用于確定一個或多個圖層,所述圖層包含一個或多個所述標簽單元解析出的標簽;
[0015]顯示單元,根據(jù)所述標簽的樣式確定所述圖層的疊加順序,按照所述圖層的疊加順序依次在已設(shè)置透明度的背景上疊加所有圖層并疊加生成系統(tǒng)界面圖層,在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層。
[0016]本發(fā)明的有益效果:針對網(wǎng)頁排版引擎提供的背景直接從網(wǎng)頁排版引擎(如Gecko)的源代碼設(shè)置透明度,進而網(wǎng)頁排版引擎為Firefox OS系統(tǒng)提供的背景會具有一定的透明度。這樣,待將每個圖層疊加背景生成系統(tǒng)界面圖層后,如果系統(tǒng)界面圖層中存在的一個或多個透明區(qū)域(像素數(shù)值為零的像素點組成),顯示驅(qū)動在所述操作系統(tǒng)界面顯示該所述系統(tǒng)界面圖層,透過該所述操作系統(tǒng)界面中的上述區(qū)域可看到位于下層的電視界面。
【專利附圖】
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1是本發(fā)明實施例提供的混合顯示方法的工作流程圖;
[0019]圖2是圖1中步驟S4的具體流程圖;
[0020]圖3是本發(fā)明實施例提供的混合顯示方法的一種優(yōu)化工作流程圖;
[0021]圖4是本發(fā)明實施例提供的混合顯示裝置的組成結(jié)構(gòu)圖;
[0022]圖5是圖4中顯示單元64的組成結(jié)構(gòu)圖。
【具體實施方式】
[0023]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進行說明。
[0024]圖1示出了本發(fā)明實施例提供的混合顯示方法的工作流程,為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分。
[0025]本發(fā)明實施例提供的所述混合顯示方法,應用于使用Firefox OS系統(tǒng)顯示處于電視界面上層的操作系統(tǒng)界面的電視機,如圖1所示,所述混合顯示方法包括:
[0026]SI,在網(wǎng)頁排版引擎中為所述操作系統(tǒng)界面的背景設(shè)置透明度;
[0027]S2,從界面設(shè)計文件解析出一個或多個標簽,并解析出所述標簽的樣式;
[0028]S3,確定一個或多個圖層,所述圖層包含一個或多個所述標簽;
[0029]S4,根據(jù)所述標簽的樣式確定所述圖層的疊加順序,按照所述圖層的疊加順序依次在已設(shè)置透明度的背景上疊加所有圖層并疊加生成系統(tǒng)界面圖層,在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層。
[0030]需強調(diào)的是,通常,F(xiàn)irefox OS系統(tǒng)用于手機、平板電腦等移動終端。本發(fā)明實施例將該Firefox OS系統(tǒng)用于電視機。Firefox OS系統(tǒng)用于顯示的背景是網(wǎng)頁排版引擎(如Gecko)提供的,但由于移動終端顯示圖標或其它信息都需要使用背景(需要網(wǎng)頁排版引擎提供的背景),無法進行無背景顯示圖標等信息,因此現(xiàn)有技術(shù)不存在修改Firefox OS系統(tǒng)顯示時所使用的背景的透明度這一技術(shù)問題。另如【背景技術(shù)】所述,基于Firefox OS系統(tǒng)進行移動終端的第三方應用程序開發(fā)時,無法直接修改Firefox OS系統(tǒng)顯示時所使用的背景的透明度。
[0031]為了滿足在電視機上透明顯示操作系統(tǒng)界面的需要,本發(fā)明實施例從網(wǎng)頁排版引擎(如Gecko)的源代碼對操作系統(tǒng)界面的背景的透明度進行修改;具體修改操作系統(tǒng)界面的背景的透明度的方式為:從源代碼中找到與透明度相關(guān)的參數(shù)并修改參數(shù)值,通過修改該參數(shù)值實現(xiàn)O到100%范圍內(nèi)任一透明度的設(shè)定。進而,網(wǎng)頁排版引擎成功為使用Firefox OS系統(tǒng)的操作系統(tǒng)界面提供具有一定的透明度的背景。優(yōu)選的是,通過修改網(wǎng)頁排版引擎的源代碼中與透明度相關(guān)的參數(shù),將該網(wǎng)頁排版引擎提供的背景設(shè)置透明度為100%,為使用Firefox OS系統(tǒng)的操作系統(tǒng)界面提供透明度為100%的背景。如果系統(tǒng)界面圖層中存在像素值為零的像素點,可透過操作系統(tǒng)界面中的透明區(qū)域(該透明區(qū)域由像素值為零的像素點組成)看到位于下層的電視界面。
[0032]針對本發(fā)明實施例提供的顯示操作系統(tǒng)界面的方法,詳述工作原理如下:
[0033]在生成用于在操作系統(tǒng)界面顯示的系統(tǒng)界面層時,由于需要顯示的圖層都是疊加在背景上的,需首先在步驟Si將網(wǎng)頁排版引擎提供的背景設(shè)置為一定的透明度;進而,在生成系統(tǒng)界面圖層時,基于具有透明度的該背景之上疊加圖層。
[0034]另需說明的是,由于所述操作系統(tǒng)界面是由標簽組成的;需要人為預先設(shè)計出界面設(shè)計文件(如通過人為編寫該界面設(shè)計文件),通過該界面設(shè)計文件定義出簽、標簽的樣式、標簽樹等。
[0035]在步驟S3中,在確定一個或多個圖層時,預先對界面設(shè)計文件進行HTML解析并解析出標簽樹(該標簽樹的節(jié)點為標簽);進而,根據(jù)預設(shè)規(guī)則(可人為更改)確定哪個圖層包含標簽樹中的哪些標簽;或者,隨機確定哪個圖層包含標簽樹中的哪些標簽。
[0036]作為一種實施方式,在確定圖層時,將一個節(jié)點所包含的標簽和該節(jié)點下的所有子節(jié)點(以該節(jié)點為根構(gòu)成的子樹中所有子節(jié)點)所包含的標簽確定在一個圖層中。優(yōu)選的是,將確定的每個圖層所包含的標簽個數(shù)均限定在預設(shè)個數(shù)范圍內(nèi),即如果該節(jié)點下的所有子節(jié)點(以該節(jié)點為根構(gòu)成的子樹中所有子節(jié)點)所包含的子節(jié)點個數(shù)較多,則不將該節(jié)點和該節(jié)點下的所有子節(jié)點(以該節(jié)點為根構(gòu)成的子樹中所有子節(jié)點)所包含的標簽確定在一個圖層中,從該節(jié)點的子樹上所有子節(jié)點中選擇滿足預設(shè)個數(shù)范圍要求的節(jié)點以確定一個圖層,進而在該節(jié)點下確定出多個圖層。
[0037]另外還對所述界面設(shè)計文件進行CSS解析,CSS解析出標簽樹中每個標簽的樣式。對圖層中的標簽均使用CSS解析出的樣式進行設(shè)置后,執(zhí)行步驟S4進行圖層疊加。需強調(diào)的是,根據(jù)CSS解析出的樣式包括:每個所述標簽的位置、每個所述標簽的大小、每個標簽的顏色等。因此,通過標簽的樣式(具體根據(jù)每個標簽的位置和每個所述標簽的大小)可進一步確定包含所述標簽的圖層的疊加順序。優(yōu)選的是,根據(jù)標簽樹中的父子節(jié)點關(guān)系和每個所述標簽的樣式(具體根據(jù)所述標簽的位置和所述標簽的大小)確定標簽的疊加順序,進而確定圖層的置加順序。
[0038]待確定好圖層之后,在最下層為背景的基礎(chǔ)上根據(jù)圖層疊加順序?qū)⒚總€圖層依次疊加,將所有圖層和背景疊加生成一個圖層(即系統(tǒng)界面圖層)。通過Firefox OS系統(tǒng)提供的顯示驅(qū)動在操作系統(tǒng)界面顯示該系統(tǒng)界面圖層。
[0039]另需說明的是,由于生成的每個圖層都由標簽組成的,因此疊加合成的該系統(tǒng)界面圖層也包括標簽(每個圖層所包含的標簽)。在系統(tǒng)界面圖層中的標簽之間可能存在空隙,該空隙為僅具有背景不具有任何標簽的區(qū)域,該空隙包含的像素點的像素數(shù)值為零;對于標簽內(nèi)部,也存在像素數(shù)值為零的像素點。由于是將每個圖層疊加在背景上合成該系統(tǒng)界面圖層的,在背景具有一定透明度(只要透明度不為零)的情況下,是能夠透過該系統(tǒng)界面圖層中透明區(qū)域(該透明區(qū)域包括:1,系統(tǒng)界面圖層中像素數(shù)值為零的像素點,2,系統(tǒng)界面圖層中的空隙(該空隙包含的像素點的像素數(shù)值為零))看到位于該系統(tǒng)界面圖層下面的電視界面的。
[0040]優(yōu)選的是,當背景的透明度為100%時,可根據(jù)該系統(tǒng)界面圖層中是否存在像素數(shù)值為零的像素點,判斷是否能夠透過該系統(tǒng)界面圖層看到電視界面,如果判定存在像素數(shù)值為零的像素點,可透過該像素數(shù)值為零的像素點組成的一個或多個透明區(qū)域看到位于下層的電視界面。
[0041]圖2示出了本發(fā)明實施例提供的混合顯示方法中步驟S4的具體流程,為了便于描述,僅不出了與本發(fā)明實施例相關(guān)的部分。
[0042]在本發(fā)明一優(yōu)選實施例中,如圖2所示,所述在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層這一步驟具體包括:
[0043]S41,將所述系統(tǒng)界面圖層中每個像素點對應添加到幀緩沖區(qū);
[0044]S42,檢測所述幀緩沖區(qū)中是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點,如果檢測到像素數(shù)值小于預設(shè)數(shù)值的像素點,在所述幀緩沖區(qū)刪除檢測到的像素點,根據(jù)從所述幀緩沖區(qū)讀取到的像素點生成圖片,在所述操作系統(tǒng)界面顯示生成的圖片。
[0045]本實施例是Firefox OS系統(tǒng)提供的顯示驅(qū)動顯示所述操作系統(tǒng)界面的,因此,需要將所述系統(tǒng)界面圖層渲染到幀緩沖區(qū),即將所述系統(tǒng)界面圖層中每個像素點的像素數(shù)值對應存儲到幀緩沖區(qū)中。進而,為了進一步保證能夠透過操作系統(tǒng)界面中的透明區(qū)域(該透明區(qū)域為:系統(tǒng)界面圖層中像素數(shù)值為零的像素點組成的一個或多個區(qū)域)看到電視界面,預先通過Firefox OS系統(tǒng)提供的顯示驅(qū)動(優(yōu)選的是,該顯示驅(qū)動為gralloc驅(qū)動模塊;需說明的是,該gralloc驅(qū)動模塊是針對不同廠家的智能電視而對gralloc模板(例如:gralloc.default, so)編寫后得到的)對幀緩沖區(qū)中每個像素點的像素數(shù)值進行檢測,檢測是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點,對于檢測到的像素數(shù)值小于預設(shè)數(shù)值的像素點,在所述幀緩沖區(qū)刪除與檢測的像素點相關(guān)的像素數(shù)值。
[0046]需強調(diào)的是,所述預設(shè)數(shù)值是接近零的;進一步地,所述預設(shè)數(shù)值可根據(jù)背景的透明度而更改大小,隨著透明度的增大而減小;設(shè)置的所述預設(shè)數(shù)值是為了篩選出:幀緩沖區(qū)中的像素數(shù)值為零的像素點。在透明度為100 %時,所述預設(shè)數(shù)值可選擇趨近于零的數(shù)值(0.0005),甚至可將所述預設(shè)數(shù)值設(shè)置為零。
[0047]這樣,對于幀緩沖區(qū)中存在的像素數(shù)值為零的像素點,F(xiàn)irefox OS系統(tǒng)的顯示驅(qū)動直接從幀緩沖區(qū)對與其對應的像素點刪除(具體地,是刪除該像素點的像素數(shù)據(jù));該顯示驅(qū)動使用從幀緩沖區(qū)讀取的像素數(shù)據(jù)時會讀取不到已刪除的像素數(shù)據(jù),即無法讀取到與像素數(shù)值為零的像素點對應的數(shù)據(jù),從而FirefoxOS系統(tǒng)的顯示驅(qū)動無法在生成圖片時添加系統(tǒng)界面圖層中像素數(shù)值為零的像素點,形成一個像素點漏洞;這樣,對應系統(tǒng)界面圖層中像素數(shù)值為零的像素點組成的透明區(qū)域,在生成的圖片中會呈現(xiàn)為漏洞。該漏洞的大小、位置和個數(shù)與系統(tǒng)界面圖層中該透明區(qū)域的大小、位置和個數(shù)相同。因此,可透過使用該顯示驅(qū)動在操作系統(tǒng)界面顯示的畫面看到位于下層的電視界面。
[0048]作為本發(fā)明一【具體實施方式】,通過圖形程序接口 OpenGL執(zhí)行步驟S41,將所述系統(tǒng)界面圖層渲染到幀緩沖區(qū),即將所述系統(tǒng)界面圖層中每個像素點對應添加到幀緩沖區(qū)。于此同時,使用gralloc驅(qū)動模塊執(zhí)行S42,檢測所述幀緩沖區(qū)中是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點,如果檢測到像素數(shù)值小于預設(shè)數(shù)值的像素點,在所述幀緩沖區(qū)刪除檢測到的像素點,根據(jù)從所述幀緩沖區(qū)讀取到的像素點生成圖片,在所述操作系統(tǒng)界面顯示生成的圖片。由于OpenGL和gralloc驅(qū)動模塊均屬于開源技術(shù),并且能夠適用于Firefox OS系統(tǒng),便于在Firefox OS系統(tǒng)中集成OpenGL和gralloc驅(qū)動模塊。
[0049]優(yōu)選的是,如果在電視機的顯示屏上劃分出的電視界面和操作系統(tǒng)界面僅具有部分重疊,則所述檢測所述幀緩沖區(qū)是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點這一步驟具體包括:針對所述操作系統(tǒng)界面與所述電視界面重疊的區(qū)域,檢測所述幀緩沖區(qū)存儲的所述區(qū)域包含的像素點中是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點。
[0050]為了減少畫面的不真實感、減少刪除處理的時間及減少刪除處理時的資源占用,僅針對所述操作系統(tǒng)界面與所述電視界面重疊的區(qū)域,進行是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點的檢測;刪除在幀緩沖區(qū)中與檢測到的像素點對應的像素數(shù)據(jù);使用從幀緩沖區(qū)讀取到的像素數(shù)據(jù)生成畫面,在操作系統(tǒng)界面顯示該畫面。
[0051]對于顯示的該畫面與電視界面重疊的區(qū)域,如果在幀緩沖區(qū)刪除了與檢測到的像素點對應的像素數(shù)據(jù),會在該重疊區(qū)域產(chǎn)生具有一個或多個漏洞,用戶可直觀地從透過漏洞看到下層的電視界面。對于顯示的該畫面與電視界面沒有重疊的區(qū)域,會顯示沒有漏洞的畫面,即使該畫面中存在像素數(shù)值小于預設(shè)數(shù)值的像素點(為透明區(qū)域)。
[0052]在本發(fā)明一實施例中,在從界面設(shè)計文件中HTML解析出標簽樹和標簽的位置后,在步驟S3劃分圖層時,所述確定一個或多個圖層這一步驟具體為:針對每個應用程序?qū)卮_定一個或多個圖層。
[0053]上述技術(shù)手段的優(yōu)點是,能夠保證一個應用程序完整地在一個或多個圖層中體現(xiàn);并且需強調(diào)的是,根據(jù)一個應用程序確定的一個或多個圖層,具有完全覆蓋的疊加關(guān)系;即,該應用程序?qū)跇撕灅鋾r為子樹,以子樹的根節(jié)點以及該根節(jié)點下面的預設(shè)個數(shù)范圍內(nèi)子節(jié)點組成一個圖層,再根據(jù)該子樹中存在的多個子樹分別對應確定一個圖層,這樣會確定出一個區(qū)域面積最大的圖層,再確定出位于該區(qū)域面積內(nèi)的多個小圖層,他們對應同一應用程序。優(yōu)選的是,如果應用程序不夠復雜,即與該應用程序?qū)淖訕渌墓?jié)點不多(沒有超過預設(shè)個數(shù)范圍,或者比預設(shè)個數(shù)范圍多幾個節(jié)點)僅為一個應用程序確定一個圖層。
[0054]圖3示出了本發(fā)明實施例提供的混合顯示方法的一種優(yōu)化流程,為了便于描述,僅不出了與本發(fā)明實施例相關(guān)的部分。
[0055]在本發(fā)明一實施例,如圖3所示,本發(fā)明實施例提供的混合顯示方法的一種優(yōu)化流程包括:A1,在網(wǎng)頁排版引擎中為所述操作系統(tǒng)界面的背景設(shè)置透明度;A2,對所述界面設(shè)計文件進行HTML解析并解析出標簽樹和所述標簽樹包含的每個標簽所具有的標簽屬性,針對所述標簽樹包含的每個標簽對所述界面設(shè)計文件進行CSS解析并解析出每個標簽的樣式;A3,確定一個或多個圖層,針對所述圖層包含的每個標簽分別對應設(shè)置HTML解析出的標簽屬性和CSS解析出的樣式;A4,根據(jù)所述標簽的樣式確定所述圖層的疊加順序,按照所述圖層的疊加順序依次在已設(shè)置透明度的背景上疊加所有圖層并疊加生成系統(tǒng)界面圖層,在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層。其中,步驟Al同步驟SI,步驟A4同步驟S4,在此均不贅述。
[0056]在本實施例中,將步驟S2優(yōu)化為步驟A2,將步驟S3優(yōu)化為步驟A3 ;具體如下:對于步驟S2的優(yōu)化,所述從界面設(shè)計文件解析出一個或多個標簽并解析出所述標簽的樣式這一步驟具體為:對所述界面設(shè)計文件進行HTML解析并解析出標簽樹和所述標簽樹包含的每個標簽所具有的標簽屬性,針對所述標簽樹包含的每個標簽對所述界面設(shè)計文件進行CSS解析并解析出每個標簽的樣式。對于步驟S3的優(yōu)化,所述確定一個或多個圖層這一步驟具體為:確定一個或多個圖層,針對所述圖層包含的每個標簽分別對應設(shè)置HTML解析出的標簽屬性和CSS解析出的樣式。
[0057]具體在本實施例中,在進行圖層劃分時,對每個圖層所包含的標簽,分別使用HTML解析出的標簽屬性和CSS解析出的樣式進行設(shè)置,以使得圖層呈現(xiàn)一定的顯示效果、動畫或者其它渲染效果。
[0058]在一優(yōu)選實施方式中,通過布局解析模塊執(zhí)行步驟A2,通過進程間通信(Inter-Process Communication, IPC)將局解析模塊解析出的標簽樹、標簽屬性以及樣式轉(zhuǎn)發(fā)至層管理單元;層管理單元在執(zhí)行步驟A3時,每個圖層所包含的標簽,對應使用通過IPC接收到的HTML解析出的標簽屬性進行設(shè)置,和通過IPC接收到的CSS解析出的樣式進行設(shè)置。
[0059]本領(lǐng)域普通技術(shù)人員還可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以在存儲于一計算機可讀取存儲介質(zhì)中,所述的存儲介質(zhì),包括R0M/RAM、磁盤、光盤等。
[0060]需要說明的是,本發(fā)明實施例提供的混合顯示裝置與本發(fā)明實施例提供的混合顯示方法相互適用。
[0061]圖4示出了本發(fā)明實施例提供的混合顯示裝置的組成結(jié)構(gòu),為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分。
[0062]本實施例提供的混合顯示裝置,應用于使用Firefox OS系統(tǒng)顯示處于電視界面上層的操作系統(tǒng)界面的電視機;所述混合顯示裝置如圖4所示,包括:
[0063]透明度單元61,用于在網(wǎng)頁排版引擎中為所述操作系統(tǒng)界面的背景設(shè)置透明度;
[0064]解析單元62,用于從界面設(shè)計文件解析出一個或多個標簽,并解析出所述標簽的樣式;
[0065]圖層確定單元63,用于確定一個或多個圖層,所述圖層包含一個或多個所述標簽單元解析出的標簽;
[0066]顯示單元64,根據(jù)所述標簽的樣式確定所述圖層的疊加順序,按照所述圖層的疊加順序依次在已設(shè)置透明度的背景上疊加所有圖層并疊加生成系統(tǒng)界面圖層,在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層。
[0067]圖5示出了本發(fā)明實施例提供的混合顯示裝置中顯示單元64的具體組成結(jié)構(gòu),為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分。
[0068]在本發(fā)明一實施例中,所述顯示單元64具體包括:
[0069]繪制模塊641,用于將所述系統(tǒng)界面圖層中每個像素點對應添加到幀緩沖區(qū);[0070]顯示驅(qū)動模塊642,用于檢測所述幀緩沖區(qū)中是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點,如果檢測到像素數(shù)值小于預設(shè)數(shù)值的像素點,在所述幀緩沖區(qū)刪除檢測到的像素點,根據(jù)從所述幀緩沖區(qū)讀取到的像素點生成圖片,在所述操作系統(tǒng)界面顯示生成的圖片。
[0071]在本發(fā)明一實施例中,所述顯示驅(qū)動模塊642還具體用于:
[0072]針對所述操作系統(tǒng)界面與所述電視界面重疊的區(qū)域,檢測所述幀緩沖區(qū)存儲的所述區(qū)域包含的像素點中是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點。
[0073]在本發(fā)明一實施例中,所述圖層確定單元63還具體用于:針對每個應用程序?qū)卮_定一個或多個圖層。
[0074]在本發(fā)明一實施例中,所述解析單元62具體用于:對所述界面設(shè)計文件進行HTML解析并解析出標簽樹和所述標簽樹包含的每個標簽所具有的標簽屬性,針對所述標簽樹包含的每個標簽對所述界面設(shè)計文件進行CSS解析并解析出每個標簽的樣式;
[0075]所述圖層確定單元63具體用于:確定一個或多個圖層,針對所述圖層包含的每個標簽分別對應設(shè)置HTML解析出的標簽屬性和CSS解析出的樣式。
[0076]本領(lǐng)域技術(shù)人員可以理解為本發(fā)明實施例提供的混合顯示裝置所包括的各個單元只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。
[0077]以上內(nèi)容是結(jié)合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下做出若干等同替代或明顯變型,而且性能或用途相同,都應當視為屬于本發(fā)明由所提交的權(quán)利要求書確定的專利保護范圍。
【權(quán)利要求】
1.一種混合顯示方法,其特征在于,應用于使用Firefox OS系統(tǒng)顯示處于電視界面上層的操作系統(tǒng)界面的電視機,所述混合顯示方法包括: 在網(wǎng)頁排版引擎中為所述操作系統(tǒng)界面的背景設(shè)置透明度; 從界面設(shè)計文件解析出一個或多個標簽,并解析出所述標簽的樣式; 確定一個或多個圖層,所述圖層包含一個或多個所述標簽; 根據(jù)所述標簽的樣式確定所述圖層的疊加順序,按照所述圖層的疊加順序依次在已設(shè)置透明度的背景上疊加所有圖層并疊加生成系統(tǒng)界面圖層,在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層。
2.如權(quán)利要求1所述的混合顯示方法,其特征在于,所述在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層這一步驟具體包括: 將所述系統(tǒng)界面圖層中每個像素點對應添加到幀緩沖區(qū); 檢測所述幀緩沖區(qū)中是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點,如果檢測到像素數(shù)值小于預設(shè)數(shù)值的像素點,在所述幀緩沖區(qū)刪除檢測到的像素點,根據(jù)從所述幀緩沖區(qū)讀取到的像素點生成圖片,在所述操作系統(tǒng)界面顯示生成的圖片。
3.如權(quán)利要求2所述的混合顯示方法,其特征在于,所述檢測所述幀緩沖區(qū)是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點這一步驟具體包括: 針對所述操作系統(tǒng)界 面與所述電視界面重疊的區(qū)域,檢測所述幀緩沖區(qū)存儲的所述區(qū)域包含的像素點中是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點。
4.如權(quán)利要求1所述的混合顯示方法,其特征在于,所述確定一個或多個圖層這一步驟具體為: 針對每個應用程序?qū)卮_定一個或多個圖層。
5.如權(quán)利要求1至4任一所述的混合顯示方法,其特征在于,所述從界面設(shè)計文件解析出一個或多個標簽并解析出所述標簽的樣式這一步驟具體為:對所述界面設(shè)計文件進行HTML解析并解析出標簽樹和所述標簽樹包含的每個標簽所具有的標簽屬性,針對所述標簽樹包含的每個標簽對所述界面設(shè)計文件進行CSS解析并解析出每個標簽的樣式; 所述確定一個或多個圖層這一步驟具體為:確定一個或多個圖層,針對所述圖層包含的每個標簽分別對應設(shè)置HTML解析出的標簽屬性和CSS解析出的樣式。
6.一種混合顯示裝置,其特征在于,應用于使用Firefox OS系統(tǒng)顯示處于電視界面上層的操作系統(tǒng)界面的電視機,所述混合顯示裝置包括: 透明度單元,用于在網(wǎng)頁排版引擎中為所述操作系統(tǒng)界面的背景設(shè)置透明度; 解析單元,用于從界面設(shè)計文件解析出一個或多個標簽,并解析出所述標簽的樣式; 圖層確定單元,用于確定一個或多個圖層,所述圖層包含一個或多個所述標簽單元解析出的標簽; 顯示單元,根據(jù)所述標簽的樣式確定所述圖層的疊加順序,按照所述圖層的疊加順序依次在已設(shè)置透明度的背景上疊加所有圖層并疊加生成系統(tǒng)界面圖層,在所述操作系統(tǒng)界面顯示所述系統(tǒng)界面圖層。
7.如權(quán)利要求6所述的混合顯示裝置,其特征在于,所述顯示單元具體包括: 繪制模塊,用于將所述系統(tǒng)界面圖層中每個像素點對應添加到幀緩沖區(qū); 顯示驅(qū)動模塊,用于檢測所述幀緩沖區(qū)中是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點,如果檢測到像素數(shù)值小于預設(shè)數(shù)值的像素點,在所述幀緩沖區(qū)刪除檢測到的像素點,根據(jù)從所述幀緩沖區(qū)讀取到的像素點生成圖片,在所述操作系統(tǒng)界面顯示生成的圖片。
8.如權(quán)利要求6所述的混合顯示裝置,其特征在于,所述顯示驅(qū)動模塊還具體用于: 針對所述操作系統(tǒng)界面與所述電視界面重疊的區(qū)域,檢測所述幀緩沖區(qū)存儲的所述區(qū)域包含的像素點中是否存在像素數(shù)值小于預設(shè)數(shù)值的像素點。
9.如權(quán)利要求8所述的混合顯示裝置,其特征在于,所述圖層確定單元還具體用于: 針對每個應用程序?qū)卮_定一個或多個圖層。
10.如權(quán)利要求6至9任一所述的混合顯示裝置,其特征在于,所述解析單元具體用于:對所述界面設(shè)計文件進行HTML解析并解析出標簽樹和所述標簽樹包含的每個標簽所具有的標簽屬性,針對所述標簽樹包含的每個標簽對所述界面設(shè)計文件進行CSS解析并解析出每個標簽的樣式; 所述圖層確定單元具體用于:確定一個或多個圖層,針對所述圖層包含的每個標簽分別對應設(shè)置HTML 解析出的標簽屬性和CSS解析出的樣式。
【文檔編號】H04N21/443GK104010217SQ201410218911
【公開日】2014年8月27日 申請日期:2014年5月22日 優(yōu)先權(quán)日:2014年5月22日
【發(fā)明者】豆?jié)稍? 吳明毅 申請人:Tcl集團股份有限公司