本申請涉及屏幕菜單顯示領(lǐng)域,尤其涉及一種在電視上顯示屏幕菜單的方法、裝置及電視。
背景技術(shù):
在電視智能化發(fā)展的歷程中,屏幕菜單由于其畫面和功能的多樣化,起到了重要的作用,同時,對于屏幕菜單在智能電視屏幕上的顯示要求隨之提高。
圖1,是現(xiàn)有技術(shù)中一種電視顯示系統(tǒng)結(jié)構(gòu)示意圖。如圖1所示,電視顯示系統(tǒng)包括分別與總線電連接的遙控信號接收模塊、flash存儲器、處理器、圖形處理器、ddr(doubledatarate,雙倍速率同步隨機存儲器)存儲器、dma(directmemoryaccess,直接內(nèi)存讀取器)控制器及顯示屏,其中,ddr存儲器為屏幕菜單分配幀緩沖區(qū),dma控制器為輸送屏幕菜單分配dma模塊,dma模塊用于從幀緩沖區(qū)內(nèi)讀取數(shù)據(jù),并發(fā)送至顯示屏。dma模塊在讀取周期內(nèi)從幀緩沖區(qū)內(nèi)讀取一幀數(shù)據(jù),按行讀取數(shù)據(jù)并發(fā)送至顯示屏;如果禁止dma模塊從幀緩沖區(qū)中讀取數(shù)據(jù),dma模塊不會立刻停止讀取數(shù)據(jù),而是在當前讀取周期內(nèi)繼續(xù)讀取數(shù)據(jù),直到當前讀取周期結(jié)束,之后重復向顯示屏發(fā)送讀取的最后一行數(shù)據(jù)。當遙控信號接收模塊接收到遙控信號后,解析該遙控信號的鍵值并通過總線發(fā)送至處理器,處理器分析所述鍵值對應的指令,如果所述指令為顯示屏幕菜單的指令,則控制屏幕菜單程序根據(jù)所述顯示屏幕菜單的指令從flash存儲器中讀取對應的屏幕菜單圖像。處理器和圖形處理器解碼處理該屏幕菜單圖像得到屏幕菜單的顯示數(shù)據(jù)并寫入ddr存儲器的幀緩沖區(qū)后,dma模塊在一個讀取周期內(nèi)從幀緩沖區(qū)內(nèi)讀取顯示數(shù)據(jù)并輸送至顯示屏。
但是,如果處理器或圖形處理器的解碼處理速度較慢,使處理器和圖形處理器無法在dma的讀取周期內(nèi)解碼處理完一幀屏幕菜單并把顯示數(shù)據(jù)完全寫入幀緩沖區(qū),導致dma模塊無法在讀取周期內(nèi)將顯示數(shù)據(jù)全部輸送至顯示屏中,從而使用戶看到顯示屏上屏幕菜單的刷新過程,降低用戶體驗。
技術(shù)實現(xiàn)要素:
本申請?zhí)峁┝艘环N在電視中顯示屏幕菜單的方法、裝置及電視設備,以解決如果處理器或圖形處理器的處理速度慢,處理器和圖形處理器無法在dma的讀取周期內(nèi)解析處理完一幀屏幕菜單的顯示數(shù)據(jù),并將顯示數(shù)據(jù)發(fā)送至幀緩沖區(qū),導致dma模塊無法在讀取周期內(nèi)將顯示數(shù)據(jù)發(fā)送至顯示屏中,從而使用戶看到顯示屏上屏幕菜單刷新的過程,降低用戶使用效果的問題。
第一方面,本申請?zhí)峁┝艘环N在電視中顯示屏幕菜單的方法,包括:
在接收到顯示屏幕菜單的指令時,禁止dma模塊在當前讀取周期之后從ddr的幀緩沖區(qū)中讀取所述屏幕菜單的顯示數(shù)據(jù);
若所述屏幕菜單的顯示數(shù)據(jù)被完全寫入ddr的幀緩沖區(qū)中,則使能dma模塊從ddr的幀緩沖區(qū)中讀取所述屏幕菜單的顯示數(shù)據(jù)。
第二方面,本申請還提供了一種在電視中顯示屏幕菜單的裝置,包括:
第一禁止模塊,用于在接收到顯示屏幕菜單的指令時,禁止dma模塊在當前讀取周期之后從ddr的幀緩沖區(qū)中讀取所述屏幕菜單的顯示數(shù)據(jù);
第一使能模塊,用于在所述屏幕菜單的顯示數(shù)據(jù)被完全寫入ddr的幀緩沖區(qū)中時,使能dma模塊從ddr的幀緩沖區(qū)中讀取所述屏幕菜單的顯示數(shù)據(jù)。
第三方面,本申請還提供了一種電視,包括如第二方面所述的在電視中的顯示屏幕菜單的裝置,以及用于顯示所述屏幕菜單的顯示屏。
第四方面,本申請還提供一種電視,包括存儲器、處理器以及顯示屏,
所述存儲器用于存儲程序代碼;
所述處理器用于讀取所述存儲器中的程序代碼,并執(zhí)行第一方面所述的方法;
所述顯示屏用于顯示所述屏幕菜單。
本申請?zhí)峁┓椒ǖ挠幸嫘Ч缦拢?/p>
接收到顯示屏幕菜單的指令后,在從存儲器中獲取屏幕菜單之前,禁止dma模塊在當前讀取周期之后從ddr的幀緩沖區(qū)中讀取所述屏幕菜單的顯示數(shù)據(jù),也就是說控制dma模塊在執(zhí)行完當前讀取周期的讀取動作后,停止從幀緩沖區(qū)內(nèi)讀取屏幕菜單的顯示數(shù)據(jù),此時dma模塊會重復向顯示屏中發(fā)送讀取的最后一行數(shù)據(jù),由于在接收到顯示屏幕菜單的指令之前幀緩沖區(qū)內(nèi)屏幕菜單的顯示數(shù)據(jù)為空或者為預設數(shù)據(jù)0,因此,dma模塊重復向顯示屏發(fā)送空數(shù)據(jù)或者0,這樣用戶就看不到顯示屏上屏幕菜單顯示數(shù)據(jù)的刷新過程了。在此過程中,獲取與顯示屏幕菜單的指令對應的屏幕菜單,解析處理屏幕菜單,得到屏幕菜單的顯示數(shù)據(jù)。在屏幕菜單被解析處理得到所有的顯示數(shù)據(jù),并完全寫入幀緩沖區(qū)中后,使能dma模塊,使dma模塊從幀緩沖區(qū)內(nèi)讀取屏幕菜單的顯示數(shù)據(jù),從而保證dma模塊在一個讀取周期內(nèi)將屏幕菜單對應的所有顯示數(shù)據(jù)發(fā)送至顯示屏,使用戶在顯示屏上能夠看到屏幕菜單瞬間顯示,而不會看到屏幕菜單顯示數(shù)據(jù)的刷新過程,大大提升用戶體驗。
另外,對于屏幕菜單退出或消隱的情況,如果接收到屏幕菜單退出指令或屏幕菜單的顯示時間滿足預設消隱時間,則將當前正在解析處理的屏幕菜單對應的最后一行數(shù)據(jù)替換為預設數(shù)據(jù),預設數(shù)據(jù)為顯示效果為空或透明的數(shù)據(jù),然后禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)中讀取數(shù)據(jù),此時,dma模塊在讀取周期內(nèi)讀取完一幀屏幕菜單對應的顯示數(shù)據(jù)后,重復向顯示屏發(fā)送最后一行預設數(shù)據(jù),使顯示屏中屏幕菜單顯示為空或透明狀態(tài),從而使屏幕菜單在顯示屏上消失,增強用戶觀看效果。
附圖說明
為了更清楚地說明本申請的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中一種電視顯示系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本申請實施例提供的一種在電視中顯示屏幕菜單的方法流程示意圖;
圖3為本申請實施例提供的一種在電視中顯示屏幕菜單的方法局部流程示意圖;
圖4為本申請實施例提供的另一種在電視中顯示屏幕菜單的方法局部流程示意圖;
圖5為本申請實施例提供的又一種在電視中顯示屏幕菜單的方法局部流程示意圖;
圖6為本申請實施例提供的一種在電視中顯示屏幕菜單的裝置結(jié)構(gòu)示意圖;
圖7為本申請實施例提供的另一種在電視中顯示屏幕菜單的裝置結(jié)構(gòu)示意圖;
圖8為本申請實施例還提供了又一種在電視中顯示屏幕菜單的裝置結(jié)構(gòu)示意圖;
圖9為本申請實施例還提供了再一種在電視中顯示屏幕菜單的裝置結(jié)構(gòu)示意圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
dma模塊周期性將幀緩沖區(qū)內(nèi)緩存的數(shù)據(jù)搬運至顯示屏中顯示,dma模塊在搬運過程中按行搬運數(shù)據(jù)。將解碼處理得到的屏幕菜單的顯示數(shù)據(jù)寫入幀緩沖區(qū),dma模塊將顯示數(shù)據(jù)搬運至顯示屏中,但是如果處理器或圖形處理器的處理速度達不到要求,處理器和圖形處理器無法在dma模塊的讀取周期內(nèi)解碼處理完屏幕菜單并將屏幕菜單的顯示數(shù)據(jù)完全寫入幀緩沖區(qū),導致dma模塊無法在讀取周期內(nèi)將顯示數(shù)據(jù)發(fā)送至顯示屏中。
本申請實施例提供的方法可有效解決上述問題,參見圖2,為本申請實施例提供的一種在電視中顯示屏幕菜單的方法流程示意圖。
在步驟s101中,在接收到顯示屏幕菜單的指令時,禁止dma模塊在當前讀取周期之后從ddr的幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù)。
現(xiàn)有技術(shù)中,當顯示屏幕菜單時,顯示屏將屏幕菜單的顯示數(shù)據(jù)疊加在視頻畫面和背景畫面的顯示數(shù)據(jù)之上,從而使用戶在顯示屏上看到屏幕菜單,其中,背景畫面為黑屏或藍屏。在沒有接收到顯示屏幕菜單的指令時,屏幕菜單的顯示數(shù)據(jù)為空或預設數(shù)據(jù),所述預設數(shù)據(jù)一般設置為數(shù)據(jù)0,為輸送屏幕菜單的顯示數(shù)據(jù)分配的dma模塊不斷將空數(shù)據(jù)或數(shù)據(jù)0輸送至該顯示屏,顯示屏將屏幕菜單的預設數(shù)據(jù)疊加在視頻畫面和背景畫面的顯示數(shù)據(jù)之上,從而使屏幕菜單的顯示畫面顯示為透明狀態(tài),因此,在顯示屏上看到視頻畫面或背景畫面,而看不到屏幕菜單,其中,背景畫面為黑屏或藍屏。
顯示屏幕菜單的指令是指用戶按下遙控器上的菜單按鍵或者電視上的菜單按鍵后,電視接收菜單按鍵對應的信號,解析所述信號,當確定所述信號為顯示屏幕菜單信號后,則生成顯示屏幕菜單的指令。
本申請實施例提供的方法中,在接收到顯示屏幕菜單的指令后,禁止dma模塊在當前讀取周期之后從ddr的幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù),在實現(xiàn)過程中,禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù)是指,令dma模塊在當前讀取周期讀取完幀緩沖區(qū)內(nèi)屏幕菜單的顯示數(shù)據(jù)后停止從幀緩沖區(qū)中繼續(xù)讀取顯示數(shù)據(jù)。一般情況下,在接收到顯示屏幕菜單的指令前,幀緩沖區(qū)中存儲空數(shù)據(jù)或預設數(shù)據(jù),預設數(shù)據(jù)一般為使顯示屏幕菜單的顯示層顯示為透明狀態(tài)的數(shù)據(jù)0,所以,在未接收到顯示屏幕菜單的指令時,dma模塊將幀緩沖區(qū)內(nèi)的空數(shù)據(jù)或預設數(shù)據(jù)搬運至顯示屏,從而使屏幕菜單顯示為透明狀態(tài),顯示屏將屏幕菜單的顯示數(shù)據(jù)疊加在視頻畫面和背景畫面的顯示數(shù)據(jù)之上,使顯示屏上顯示視頻畫面或背景畫面。
在接收到顯示屏幕菜單的指令時,dma模塊正在從幀緩沖區(qū)內(nèi)搬運用于表征屏幕菜單的空數(shù)據(jù)或預設數(shù)據(jù)0至顯示屏,dma模塊在結(jié)束當前讀取周期后停止從幀緩沖區(qū)內(nèi)繼續(xù)讀取數(shù)據(jù),并將讀取的最后一行數(shù)據(jù)重復發(fā)送至顯示屏,從而繼續(xù)使屏幕菜單顯示為透明狀態(tài)。
另外,在接收到顯示屏幕菜單的指令后,解析處理屏幕菜單,并得到屏幕菜單的顯示數(shù)據(jù)。在解析處理屏幕菜單得到顯示數(shù)據(jù)的過程中,由于dma模塊已經(jīng)停止從幀緩沖區(qū)內(nèi)讀取顯示數(shù)據(jù),并且dma模塊重復發(fā)送空數(shù)據(jù)或數(shù)據(jù)0至顯示屏,從而使屏幕菜單顯示為透明狀態(tài),所以,用戶在顯示屏上看不到屏幕菜單顯示數(shù)據(jù)的刷新過程。
在步驟s102中,若屏幕菜單的顯示數(shù)據(jù)被完全寫入ddr的幀緩沖區(qū)中,則使能dma模塊從ddr的幀緩沖區(qū)中讀取所述屏幕菜單的顯示數(shù)據(jù)。
在禁止dma模塊從幀緩沖區(qū)內(nèi)讀取顯示數(shù)據(jù)的時長內(nèi),正常解析處理屏幕菜單圖像,在解析處理得到屏幕菜單的所有顯示數(shù)據(jù),并完全寫入幀緩沖區(qū)中后,再控制dma模塊從幀緩沖區(qū)內(nèi)讀取屏幕菜單的顯示數(shù)據(jù),dma模塊將顯示數(shù)據(jù)發(fā)送至顯示屏中,顯示屏將屏幕菜單的顯示數(shù)據(jù)與視頻畫面和背景畫面的顯示數(shù)據(jù)疊加合成顯示畫面,并將其顯示在顯示屏上。由于屏幕菜單的所有顯示數(shù)據(jù)被完全寫入幀緩沖區(qū)內(nèi),所以dma模塊可以在一個讀取周期讀取屏幕菜單的所有顯示數(shù)據(jù),并發(fā)送至顯示屏,因此,從視覺上用戶是在瞬間看到屏幕菜單顯示在顯示屏上,即用戶看不到屏幕菜單顯示數(shù)據(jù)的刷新過程。
在具體實現(xiàn)過程中,每處理得到一行屏幕菜單的顯示數(shù)據(jù),dma模塊便將一行顯示數(shù)據(jù)搬運至幀緩沖區(qū),在解析完一幀屏幕菜單后,解析屏幕菜單的程序結(jié)束,生成一個表征解析處理完一幀屏幕菜單的指令,處理器在接收到該指令后,控制dma控制器,使dma控制器控制相應的dma模塊從幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù)。
由上述描述可知,本申請實施例中提供的在電視中顯示屏幕菜單的方法,為了解決因為處理器或圖形處理器的處理速度慢,導致用戶在顯示屏上看到屏幕菜單顯示數(shù)據(jù)的刷新過程的問題,在接收到顯示屏幕菜單的指令后,禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù),從而使屏幕菜單顯示為透明狀態(tài),這樣用戶看不到屏幕菜單的繪制過程,在將屏幕菜單的顯示數(shù)據(jù)完全寫入幀緩沖區(qū)后,再控制dma模塊從幀緩沖區(qū)中讀取顯示數(shù)據(jù),將顯示數(shù)據(jù)搬運至顯示屏,此時dma模塊在一個讀取周期內(nèi)便可以將屏幕菜單的所有顯示數(shù)據(jù)搬運至顯示屏,從而用戶在瞬間看到屏幕菜單的顯示,提升用戶體驗。
在可選的一種實施例中,參見圖3,為本申請實施例提供的一種在電視上顯示屏幕菜單的方法局部流程示意圖。如圖3所示,上述方法還包括以下步驟:
在步驟s103中,在接收到退出屏幕菜單的指令,或者在預設時長內(nèi)未接收到操作屏幕菜單的指令時,將ddr的幀緩沖區(qū)中用于表征所述屏幕菜單最后一行的顯示數(shù)據(jù)替換為預設數(shù)據(jù)。
本申請實施例中提供的方法步驟應用于屏幕菜單的消隱,現(xiàn)有技術(shù)中,在接收到退出屏幕菜單的指令,或者在預設時長內(nèi)未接收到操作屏幕菜單的指令時,屏幕菜單便會自動消隱。一般情況下,退出菜單的指令可以是通過按下遙控器按鍵、電視按鍵或者是觸摸屏電視上的退出虛擬按鍵。在屏幕菜單滿足上述消隱條件時,現(xiàn)有技術(shù)中,處理器或圖形處理器逐行將用于表征透明效果的屏幕菜單的顯示數(shù)據(jù)寫入ddr的幀緩沖區(qū)中,當處理器或圖形處理器無法在dma模塊的讀取周期內(nèi)將用于表征透明效果的屏幕菜單的所有顯示數(shù)據(jù)完全寫入幀緩沖區(qū)中時,會出現(xiàn)dma模塊將屏幕菜單的部分顯示數(shù)據(jù)發(fā)送至顯示屏,使用戶在顯示屏上看到屏幕菜單顯示數(shù)據(jù)的消隱過程。
在步驟s104中,禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)中讀取數(shù)據(jù)。
由現(xiàn)有技術(shù)中dma模塊的底層原理可知,在禁止dma模塊讀取數(shù)據(jù)時,dma模塊在搬運完幀緩沖區(qū)內(nèi)最后一行數(shù)據(jù)才會停止,并且dma模塊會重復發(fā)送最后一行數(shù)據(jù)至顯示屏,從而使屏幕菜單顯示為最后一行對應的顏色。
本實施例中,在將幀緩沖區(qū)中屏幕菜單的最后一行顯示數(shù)據(jù)替換為預設數(shù)據(jù)后,再禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)中讀取數(shù)據(jù),這樣dma模塊會在當前讀取周期之后重復搬運最后一行顯示數(shù)據(jù)即預設數(shù)據(jù)至顯示屏,從而使屏幕菜單顯示為透明狀態(tài),此時屏幕菜單便在顯示屏上瞬間消隱。
本申請實施例充分利用dma模塊的底層原理,在消隱屏幕菜單時,快速將屏幕菜單最后一行的顯示數(shù)據(jù)替換為預設數(shù)據(jù),從而使dma模塊被禁止讀取數(shù)據(jù)后可以重復發(fā)送最后一行的預設數(shù)據(jù),進而使顯示屏上屏幕菜單顯示為透明,從而達到屏幕菜單瞬間消隱的目的。
由上述描述可知,本申請實施例提供的方法中,在實施例一提供的方法的基礎上,加入瞬間消隱屏幕菜單的功能。在接收到退出屏幕菜單的指令,或者在預設時長內(nèi)未接收到操作屏幕菜單的指令時,將幀緩沖區(qū)中表征屏幕菜單最后一行的顯示數(shù)據(jù)替換為預設數(shù)據(jù),從而在禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)內(nèi)讀取顯示數(shù)據(jù)后,dma模塊重復發(fā)送最后一行表征空或透明的預設數(shù)據(jù)至顯示屏,進而使顯示屏的最外層顯示為透明狀態(tài),使屏幕菜單瞬間消隱。
在可選的一種實施例中,參見圖4,為本申請實施例提供的另一種在電視中顯示屏幕菜單的方法局部流程示意圖。如圖4所示,在上述步驟s104之后還包括以下步驟:
在步驟s105中,刪除所述幀緩沖區(qū)中的所有數(shù)據(jù)。
在禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)中讀取數(shù)據(jù)的步驟之后,將幀緩沖區(qū)中所有屏幕菜單的顯示數(shù)據(jù)刪除,使幀緩沖區(qū)為空,方便下一次顯示屏幕菜單時,向幀緩沖區(qū)內(nèi)寫入顯示數(shù)據(jù)。同時,也為了避免在使能dma模塊從幀緩沖區(qū)中讀取數(shù)據(jù)后,dma模塊搬運幀緩沖區(qū)中保留的屏幕菜單的原有顯示數(shù)據(jù),使顯示屏上顯示屏幕菜單,降低用戶體驗。
因此,在將所述幀緩沖區(qū)中的顯示數(shù)據(jù)刪除后,在步驟s106中,使能dma模塊從所述幀緩沖區(qū)中讀取數(shù)據(jù)。使能dma模塊后,dma模塊開始從所述幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù),由于此時幀緩沖區(qū)為空狀態(tài),因此,dma模塊讀取幀緩沖區(qū)中的空數(shù)據(jù),使得顯示屏上的屏幕菜單為透明狀態(tài)。
另外,在步驟s106之后,如果再次接收到顯示屏幕菜單的指令,則執(zhí)行步驟s101對應的操作,以此形成循環(huán),使顯示屏幕菜單的方法正常運行。
在可選的一種實施例中,參見圖5,為本申請實施例提供的又一種在電視中顯示屏幕菜單的方法局部流程示意圖。下述步驟與上述步驟s105和步驟s106屬于并列方法,在步驟s1051中,向所述幀緩沖區(qū)中寫入用于表征所述屏幕菜單的顯示效果為空或透明的數(shù)據(jù)。
在禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)讀取數(shù)據(jù),使屏幕菜單顯示為透明狀態(tài)而瞬間消隱后,此時,幀緩沖區(qū)中依然保存著屏幕菜單的顯示數(shù)據(jù),只有最后一行是表征顯示效果為空或透明的數(shù)據(jù),因此,為了防止在使能dma模塊從幀緩沖區(qū)中讀取數(shù)據(jù)后,dma模塊讀取屏幕菜單原有的數(shù)據(jù),從而使屏幕菜單不正常顯示,所以,本申請實施例向幀緩沖區(qū)中寫入用于表征屏幕菜單的顯示數(shù)據(jù)為空或透明狀態(tài)的數(shù)據(jù)。
在步驟s1061中,使能dma模塊從所述幀緩沖區(qū)中讀取數(shù)據(jù)。
當所述幀緩沖區(qū)內(nèi)寫入顯示效果為空或透明狀態(tài)的數(shù)據(jù)后,再使能dma模塊從所述幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù),此時,dma模塊將讀取的數(shù)據(jù)發(fā)送至顯示屏時,屏幕菜單顯示為透明狀態(tài)。為了防止屏幕菜單的顯示數(shù)據(jù)沒有完全寫入幀緩沖區(qū),dma模塊便開始讀取顯示數(shù)據(jù),導致在讀取周期內(nèi)無法將顯示數(shù)據(jù)完全發(fā)送至顯示屏,導致用戶在顯示屏上看到屏幕菜單顯示數(shù)據(jù)的刷新過程,本申請?zhí)峁┑乃袑嵤├芯峭ㄟ^暫時禁止dma模塊讀取數(shù)據(jù),具體地禁止dma模塊在當前讀取周期之后從ddr的幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù),使顯示數(shù)據(jù)完全寫入幀緩沖區(qū)后再使能dma模塊。
因此,在禁止dma模塊在當前讀取周期之后從所述幀緩沖區(qū)中讀取數(shù)據(jù),使屏幕菜單瞬間顯示為透明狀態(tài)即瞬間消隱后,需要使能dma模塊使dma模塊正常工作。
由上述描述可知,本申請實施例中公開的方法,通過將幀緩沖區(qū)中寫入用于表征屏幕菜單顯示為空或透明的數(shù)據(jù)后,再使能dma模塊從幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù),從而保證顯示屏幕菜單方法的正常運行,防止因為幀緩沖區(qū)中保留屏幕菜單的顯示數(shù)據(jù),導致使能dma模塊后,dma模塊讀取屏幕菜單的顯示數(shù)據(jù)發(fā)送至顯示屏,從而使顯示屏上非正常顯示屏幕菜單。
與本申請實施例提供的在電視中顯示屏幕菜單的方法相對應,本申請還提供了一種在電視中顯示屏幕菜單的裝置。
參見圖6,為本申請實施例提供的在電視中顯示屏幕菜單的裝置結(jié)構(gòu)示意圖。
在電視中顯示屏幕菜單的裝置包括:第一禁止模塊201和第一使能模塊202,其中:
第一禁止模塊201用于在接收到顯示屏幕菜單的指令時,禁止dma模塊在當前讀取周期之后從ddr的幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù)。
第一使能模塊202用于在屏幕菜單的顯示數(shù)據(jù)被完全寫入ddr的幀緩沖區(qū)中時,使能dma模塊從ddr的幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù)。
本申請實施例提供的在電視中顯示屏幕菜單的裝置,在接收到顯示屏幕菜單的指令時,第一禁止模塊201禁止dma模塊在當前讀取周期之后從ddr的幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù),在屏幕菜單的顯示數(shù)據(jù)被完全寫入ddr的幀緩沖區(qū)時,第一使能模塊202使能dma模塊從幀緩沖區(qū)中讀取屏幕菜單的顯示數(shù)據(jù),從而使dma模塊在讀取周期內(nèi)讀取完所有的顯示數(shù)據(jù)并發(fā)送至顯示屏,使屏幕菜單顯示在顯示屏上。
參見圖7,為本申請實施例提供的另一種在電視中顯示屏幕菜單的裝置結(jié)構(gòu)示意圖。
本申請實施例提供的在電視中顯示屏幕菜單的裝置在上述圖6所述裝置的基礎上進一步包括:替換模塊203和第二禁止模塊204,其中:
替換模塊203用于在接收到退出屏幕菜單的指令,或者在預設時長內(nèi)未接收到操作屏幕菜單的指令時,將ddr的幀緩沖區(qū)中用于表征屏幕菜單最后一行的顯示數(shù)據(jù)替換為預設數(shù)據(jù),并調(diào)用所述第二禁止模塊204;
第二禁止模塊204用于禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)中讀取數(shù)據(jù);
其中,預設數(shù)據(jù)用于表征屏幕菜單最后一行的顯示效果為空或透明。
本申請實施例提供的在電視中顯示屏幕菜單的裝置,在接收到退出屏幕菜單的指令,或者在預設時長內(nèi)未接收到操作屏幕菜單的指令時,將ddr的幀緩沖區(qū)用于表征屏幕菜單最后一行的顯示數(shù)據(jù)替換為預設數(shù)據(jù),并調(diào)用第二禁止模塊204,第二禁止模塊204禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)中讀取數(shù)據(jù),從而使dma模塊將讀取的最后一行預設數(shù)據(jù)重復發(fā)送至顯示屏,使顯示屏中屏幕菜單顯示為透明,進而達到屏幕菜單消隱的目的。
參見圖8,為本申請實施例提供的又一種在電視中顯示屏幕菜單的裝置結(jié)構(gòu)示意圖,圖8所示的裝置在圖7所示裝置的基礎上還包括:刪除模塊205和第二使能模塊206,其中:
第二禁止模塊204還用于調(diào)用刪除模塊205;刪除模塊205用于刪除幀緩沖區(qū)中的所有數(shù)據(jù),并調(diào)用第二使能模塊206;第二使能模塊206用于使能dma模塊從幀緩沖區(qū)中讀取數(shù)據(jù)。
參見圖9,為本申請實施例提供的再一種在電視中顯示屏幕菜單的裝置,圖9所示的裝置在圖7所示裝置的基礎上進一步包括:寫入模塊2051和第二使能模塊206,其中:
所述第二禁止模塊204還用于調(diào)用所述寫入模塊2051;所述寫入模塊2051用于向所述幀緩沖區(qū)中寫入用于表征所述屏幕菜單的顯示效果為空或透明的數(shù)據(jù),并調(diào)用所述第二使能模塊206;所述第二使能模塊206用于使能dma模塊從所述幀緩沖區(qū)中讀取數(shù)據(jù)。
圖8和圖9實施例提供的在電視中顯示屏幕菜單的裝置屬于并列方案,均用于防止屏幕菜單的異常顯示,在第二禁止模塊204禁止dma模塊在當前讀取周期之后從幀緩沖區(qū)中讀取數(shù)據(jù)后,第二禁止模塊204調(diào)用寫入模塊2051,或者第二禁止模塊204調(diào)用刪除模塊205,其中,刪除模塊205刪除緩沖區(qū)中所有數(shù)據(jù),寫入模塊2051向幀緩沖區(qū)中寫入表征屏幕菜單的顯示效果為空或者透明的數(shù)據(jù),之后,刪除模塊205和寫入模塊2051均調(diào)用第二使能模塊206,第二使能模塊206使能dma模塊從幀緩沖區(qū)中讀取數(shù)據(jù)。由上述描述可知,本申請實施例提供的裝置中將幀緩沖區(qū)內(nèi)的數(shù)據(jù)刪除,或者寫入空數(shù)據(jù),均可以防止dma模塊在使能后讀取原有的屏幕菜單的顯示數(shù)據(jù),從而使屏幕菜單異常顯示在顯示屏上。另外,使能dma模塊后也可以使dma模塊正常運行。
與本申請實施例提供的方法相對應,本申請還提供了一種電視,包括上述實施例提供的在電視中顯示屏幕菜單的裝置,以及用于顯示屏幕菜單的顯示屏。
與本申請實施例提供的方法相對應,本申請還提供了一種電視,包括存儲器、處理器以及顯示屏,存儲器用于存儲程序代碼;處理器用于讀取存儲器中的程序代碼,并執(zhí)行上述實施例中的方法;顯示屏用于顯示屏幕菜單。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里發(fā)明的公開后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。