本發(fā)明涉及顯示技術(shù)領(lǐng)域,特別涉及一種同時支持多窗口圖像顯示的方法和系統(tǒng)。
背景技術(shù):
隨著科技的不斷發(fā)展和人們對智能化的追求,智能手機越來越普遍,且人們對智能手機的要求也越來越高,能在智能手機上進行的操作也與日俱增。由于智能手機相對于電腦、電視更方便攜帶,所以大家對手機的依賴也越發(fā)明顯,利用手機觀看節(jié)目的人也越來越多。
在現(xiàn)有技術(shù)中,人們通過手機觀看節(jié)目時,點擊進入頻道列表頁面,頁面上只能看到頻道名稱或者圖標(biāo),用戶點擊進入某個頻道后,才能對相應(yīng)的節(jié)目內(nèi)容進行觀看。
在實現(xiàn)本發(fā)明的過程中,人們在手機屏幕上展示的節(jié)目頻道列表中,只能單純的看到頻道名稱或者圖標(biāo),頻道列表頁面不能對節(jié)目內(nèi)容進行預(yù)覽。發(fā)明人發(fā)現(xiàn)至少存在如下問題:
缺點1:不能在預(yù)覽頁面就看到節(jié)目的內(nèi)容,增加了用戶查找自己喜愛節(jié)目的時間;
缺點2:缺少靈動性,給用戶的帶來的體驗也不佳;
缺點3:減少了用戶點擊觀看節(jié)目的概率。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種同時支持多窗口圖像顯示的方法和系統(tǒng),通過本發(fā)明的技術(shù)方案,在不需要用戶點擊進入觀看節(jié)目頻道的情況下,就能在頻道列表界面中對節(jié)目內(nèi)容進行預(yù)覽,從而對用戶鐘愛的節(jié)目進行選擇。
為了實現(xiàn)上述目的,根據(jù)本發(fā)明實施例的一個方面,提供了一種同時支持多窗口圖像顯示的方法,該方法包括:獲取多個視頻流數(shù)據(jù);將每個視頻流數(shù)據(jù)進行解碼,得到與其相對應(yīng)的多幀圖像數(shù)據(jù);將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間;在繪制面板上創(chuàng)建多個顯示窗口;將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中。
進一步地,在將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間的步驟之前,還包括:當(dāng)接收到多個多幀圖像數(shù)據(jù)時,為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間。
進一步地,在為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間之前,還包括:檢測繪制面板的繪制表面類型是否為surface type push buffers;若是,為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間;否則,將繪制面板的繪制表面類型設(shè)置為surface type push buffers。
進一步地,在將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的步驟之后,還包括:調(diào)用鎖定變量對應(yīng)的鎖定機制;基于鎖定機制,對繪制面板進行鎖定,以保證每個多幀圖像數(shù)據(jù)只在其對應(yīng)的顯示窗口內(nèi)進行顯示。
進一步地,在將每個所述多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的步驟之后,還包括:在將多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的過程中,實時監(jiān)聽每個多幀圖像數(shù)據(jù)是否出現(xiàn)圖像失真;若是,調(diào)用surfaceflinger對出現(xiàn)失真的圖像進行渲染。
根據(jù)本發(fā)明實施例的另一方面,提供了一種同時支持多窗口圖像顯示的系統(tǒng),該系統(tǒng)包括:獲取模塊,用于獲取多個視頻流數(shù)據(jù);解碼模塊,用于將每個視頻流數(shù)據(jù)進行解碼,得到與其相對應(yīng)的多幀圖像數(shù)據(jù);發(fā)送模塊,用于將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間;創(chuàng)建模塊,用于在繪制面板上創(chuàng)建多個顯示窗口;繪制模塊,用于將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中。
進一步地,在發(fā)送模塊將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間之前,還包括:分配模塊,用于當(dāng)接收到多個多幀圖像數(shù)據(jù)時,為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間。
進一步地,在分配模塊為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間之前,還包括:檢測模塊,用于檢測繪制面板的繪制表面類型是否為surface type push buffers;若是,則通過分配模塊為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間;否則,通過設(shè)置模塊將繪制面板的繪制表面類型設(shè)置為surface type push buffers。
進一步地,在繪制模塊在將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中之后,還包括:調(diào)用模塊,用于調(diào)用鎖定變量對應(yīng)的鎖定機制;鎖定模塊,基于鎖定機制,用于對繪制面板進行鎖定,以保證每個多幀圖像數(shù)據(jù)只在其對應(yīng)的顯示窗口內(nèi)進行顯示。
進一步地,在繪制模塊將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中之后,還包括:實時監(jiān)聽模塊,用于在將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的過程中,實時監(jiān)聽每個多幀圖像數(shù)據(jù)是否出現(xiàn)圖像失真;若是,則通過渲染模塊調(diào)用surfaceflinger對出現(xiàn)失真的圖像進行渲染。
本發(fā)明實施例的有益效果在于,因為采用對獲取到的多個視頻流數(shù)據(jù)進行解碼,得到得到與其相對應(yīng)的多幀圖像數(shù)據(jù),將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間,并通過在繪制面板上創(chuàng)建多個顯示窗口,將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中技術(shù)手段,所以克服了不能通過頻道列表頁面對節(jié)目內(nèi)容進行預(yù)覽的技術(shù)問題,進而達到在不增加內(nèi)存消耗的同時,同時預(yù)覽多個頻道的節(jié)目內(nèi)容的技術(shù)效果。
附圖說明
圖1是本發(fā)明第一實施例提供的一種同時支持多窗口圖像顯示的方法的流程圖;
圖2是本發(fā)明第一實施例提供的在將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間的步驟之前的方法流程圖;
圖3是本發(fā)明第一實施例提供的在為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間之前的方法流程圖;
圖4是本發(fā)明第一實施例提供的在將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的步驟之后的方法流程圖;
圖5是本發(fā)明第一實施例提供的在將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的步驟之后的方法流程圖;
圖6是本發(fā)明第二實施例提供的一種同時支持多窗口圖像顯示的系統(tǒng)的模塊示意圖;
圖7是本發(fā)明第二實施例提供的在發(fā)送模塊將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間之前的模塊示意圖;
圖8是本發(fā)明第二實施例提供的在分配模塊為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間之前的模塊示意圖;
圖9是本發(fā)明第二實施例提供的在繪制模塊在將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中之后的模塊示意圖;
圖10是本發(fā)明第二實施例提供的在繪制模塊將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中之后的模塊示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明了,下面結(jié)合具體實施方式并參照附圖,對本發(fā)明進一步詳細說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
請參閱圖1,圖1是本發(fā)明第一實施例提供的一種同時支持多窗口圖像顯示的方法的流程圖。
如圖1所示,在本實施例中,同時支持多窗口圖像顯示的方法包括:
步驟S110:獲取多個視頻流數(shù)據(jù);步驟S120:將每個視頻流數(shù)據(jù)進行解碼,得到與其相對應(yīng)的多幀圖像數(shù)據(jù);步驟S130:將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間;步驟S210:在繪制面板上創(chuàng)建多個顯示窗口;步驟S140:將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中。
在本實施例中,通過步驟S110:獲取多個視頻流數(shù)據(jù)。例如,有六個頻道,則需要分別獲取該六個頻道的視頻流數(shù)據(jù)。步驟S120:將每個視頻流數(shù)據(jù)進行解碼,得到與其相對應(yīng)的多幀圖像數(shù)據(jù)。在上一步驟中已經(jīng)獲取了六個頻道的視頻流數(shù)據(jù),則在本步驟中,需要將六個頻道中的每一個頻道的視頻流數(shù)據(jù)進行解碼,解碼后,每個頻道的視頻流數(shù)據(jù)都會得到與其相對應(yīng)的多幀圖像數(shù)據(jù),即第一頻道的視頻流數(shù)據(jù)解碼后會得到的相應(yīng)屬于第一頻道的多幀圖像數(shù)據(jù),依次類推,第六頻道也會得到與第六頻道視頻流數(shù)據(jù)相對應(yīng)的多幀圖像數(shù)據(jù)。步驟S130:將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間。在本步驟中,有六個頻道,則相應(yīng)的也具有六個存儲空間,例如,第一頻道對應(yīng)第一存儲空間,則將第一頻道的多幀圖像數(shù)據(jù)發(fā)送至與之相對應(yīng)的第一存儲空間。步驟S210:在繪制面板上創(chuàng)建多個顯示窗口。需要說明的是,繪制面板本身并不能進行圖像的顯示,圖像只能通過顯示窗口進行顯示。所以,在步驟S210中,在繪制面板上創(chuàng)建與頻道數(shù)量相對應(yīng)的多個顯示窗口。如果頻道的數(shù)量為六個,則在繪制面板上創(chuàng)建六個顯示窗口。步驟S140:將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中。在本步驟中,通過繪制的方式將每個頻道的多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中。例如,將第一頻道的多幀圖像數(shù)據(jù)繪制到第一顯示窗口進行顯示。
請參閱圖2,圖2是本發(fā)明第一實施例提供的在將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間的步驟之前的方法流程圖。
如圖2所示,在將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間的步驟之前,還包括:步驟S1303:當(dāng)接收到多個多幀圖像數(shù)據(jù)時,為每個所述多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間。
在本實施例中,當(dāng)接收到解碼后的多個多幀圖像數(shù)據(jù)時,例如當(dāng)接收到解碼后的頻道一的多幀圖像數(shù)據(jù)時,為頻道一的多幀圖像數(shù)據(jù)分配存儲空間;如果接收到的是頻道一和頻道二的多幀圖像數(shù)據(jù),則分別為頻道一和頻道二的多幀圖像數(shù)據(jù)分配存儲空間。然后通過步驟S130將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間。
請參閱圖3,圖3是本發(fā)明第一實施例提供的在為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間之前的方法流程圖。
如圖3所示,在為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間之前,還包括:步驟S1301:檢測繪制面板的繪制表面類型是否為surface type push buffers;步驟S1303:若是,為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間;步驟S1302:否則,將繪制面板的繪制表面類型設(shè)置為surface type push buffers。
在本實施例中,在步驟S1303為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間之前還包括:步驟S1301:檢測繪制面板的繪制表面類型是否為surface type push buffers,因為只有當(dāng)繪制面板的繪制表面類型為surface type push buffers時,才能在繪制面板上進行內(nèi)存的創(chuàng)建。如果檢測的結(jié)果為:繪制面板的繪制表面類型是surface type push buffers類型,則進行步驟S1303為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間的動作;如果檢測的結(jié)果為:繪制面板的繪制表面類型不是surface type push buffers類型,則進行步驟S1302:先將繪制面板的繪制表面類型設(shè)置為surface type push buffers類型,然后再將每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間。
請參閱圖4,圖4是本發(fā)明第一實施例提供的在將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的步驟之后的方法流程圖。
如圖4所示,步驟S141:調(diào)用鎖定變量對應(yīng)的鎖定機制;步驟S141:基于鎖定機制,對繪制面板進行鎖定,以保證每個所述多幀圖像數(shù)據(jù)只在其對應(yīng)的顯示窗口內(nèi)進行顯示。
在本實施例中,在步驟S140:將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中之后還包括:步驟S141:調(diào)用鎖定變量對應(yīng)的鎖定機制;例如,通過調(diào)用變量mSurfacelock指定的ReentrantLock。步驟S141:基于ReentrantLock對繪制面板進行鎖定,確保每個頻道的多幀圖像數(shù)據(jù)只在其頻道相對應(yīng)的顯示窗口進行顯示。需要說明的是,通過本實施例中的步驟流程,可以確保每個頻道的多幀圖像數(shù)據(jù)在其對應(yīng)的顯示窗口中進行顯示,每個頻道都擁有一個獨立的線程,即頻道一的多幀圖像數(shù)據(jù)只在頻道一所對應(yīng)的顯示窗口中進行顯示,頻道二的多幀圖像數(shù)據(jù)只在頻道二所對應(yīng)的顯示窗口中進行顯示,不受其它頻道的多幀圖像數(shù)據(jù)的干擾。
請參閱圖5,圖5是本發(fā)明第一實施例提供的在將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的步驟之后的方法流程圖。
如圖5所示,在步驟S140:將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的步驟之后還包括:步驟S143:在將多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的過程中,實時監(jiān)聽每個多幀圖像數(shù)據(jù)是否出現(xiàn)圖像失真;步驟S144:若是,調(diào)用surfaceflinger對出現(xiàn)失真的圖像進行渲染。
在本實施例中,需要說明的是,由于每個頻道都是由多幀圖像數(shù)據(jù)構(gòu)成,然后,多幀圖像數(shù)數(shù)據(jù)之間可能會有重疊。例如,頻道一有三幀圖像數(shù)據(jù),第一幀圖像數(shù)據(jù)為綠色,第二幀圖像數(shù)據(jù)為藍色,第三幀圖像數(shù)據(jù)為紅色,綠色覆蓋了藍色,而紅色又覆蓋了綠色和藍色以及下面的界面,而相互重疊的部分的圖像數(shù)據(jù)會出現(xiàn)失真,而且還具有一定透明度。所以,需要執(zhí)行步驟S143的動作,即實時監(jiān)聽每個多幀圖像數(shù)據(jù)是否出現(xiàn)圖像失真。如果出現(xiàn)失真,則需要對失真的圖像進行相應(yīng)的處理,而在本發(fā)明實施例中,發(fā)明人給出的方式是通過軟件的方式,即調(diào)用surfaceflinger對出現(xiàn)失真的圖像進行渲染。如果在實時監(jiān)聽過程中,每個多幀圖像數(shù)據(jù)并沒有出現(xiàn)圖像失真,則不需要進行處理。
請參閱圖6,圖6是本發(fā)明第二實施例提供的一種同時支持多窗口圖像顯示的系統(tǒng)的模塊示意圖。
如圖6所示,第二實施例提供了一種同時支持多窗口圖像顯示的系統(tǒng),該系統(tǒng)包括:獲取模塊110,用于獲取多個視頻流數(shù)據(jù);解碼模塊120,用于將每個視頻流數(shù)據(jù)進行解碼,得到與其相對應(yīng)的多幀圖像數(shù)據(jù);發(fā)送模塊130,用于將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間;創(chuàng)建模塊210,用于在繪制面板上創(chuàng)建多個顯示窗口;繪制模塊140,用于將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中。
在本實施例中,獲取模塊110:用于獲取多個視頻流數(shù)據(jù)。例如,有六個頻道,則獲取模塊110需要分別獲取該六個頻道的視頻流數(shù)據(jù)。解碼模塊120:用于將每個視頻流數(shù)據(jù)進行解碼,得到與其相對應(yīng)的多幀圖像數(shù)據(jù)。如,獲取模塊110獲取了六個頻道頻道的視頻流數(shù)據(jù),則解碼模塊120分別為這六個頻道的視頻流數(shù)據(jù)進行解碼。發(fā)送模塊130:用于將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間。如,有六個頻道的視頻流數(shù)據(jù)的解碼后的數(shù)據(jù),每個頻道對應(yīng)一個存儲空間,則發(fā)送模塊130將這六個頻道的解碼后的數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間。創(chuàng)建模塊210,用于在繪制面板上創(chuàng)建多個顯示窗口。需要說明的是,繪制面板本身并不能進行圖像的顯示,圖像只能通過顯示窗口進行顯示。所以,需要通過創(chuàng)建模塊210在繪制面板上創(chuàng)建多個顯示窗口,以便將圖像在顯示窗口中進行顯示。如,有六個頻道,則通過創(chuàng)建模塊210在繪制面板上創(chuàng)建六個顯示窗口。繪制模塊140,用于將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中。如,有六個頻道,有六個頻道的多幀圖像數(shù)據(jù),每個頻道對應(yīng)一個顯示窗口,則通過繪制模塊140將每個頻道的多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中。
請參閱圖7,圖7是本發(fā)明第二實施例提供的在發(fā)送模塊將多幀圖像數(shù)據(jù)發(fā)送至相應(yīng)的存儲空間之前的模塊示意圖。
如圖7所示,分配模塊1303,用于當(dāng)接收到多個多幀圖像數(shù)據(jù)時,為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間。
在本實施例中,例如,當(dāng)接收到頻道二的多幀圖像數(shù)據(jù)時,分配模塊1303就會為頻道二的多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間。
請參閱圖8,圖8是本發(fā)明第二實施例提供的在分配模塊為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間之前的模塊示意圖。
如圖8所示,在分配模塊1303為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間之前,還包括:檢測模塊1301,用于檢測繪制面板的繪制表面類型是否為surface type push buffers;若是,則通過分配模塊1303為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間;否則,通過設(shè)置模塊1302將繪制面板的繪制表面類型設(shè)置為surface type push buffers。
在本實施例中,通過檢測模塊1301,檢測繪制面板的繪制表面類型是否為surface type push buffers。因為只有當(dāng)繪制面板的繪制表面類型為surface type push buffers時,才能在繪制面板上進行內(nèi)存的創(chuàng)建。如果檢測模塊1301的檢測結(jié)果為:繪制面板的繪制表面類型是surface type push buffers類型,則通過分配模塊1303為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間。如,通過分配模塊1303為第一頻道的多幀圖像數(shù)據(jù)分配第一存儲空間。如果檢測模塊1301的檢測結(jié)果為:繪制面板的繪制表面類型不是surface type push buffers類型,則通過設(shè)置模塊1302將繪制面板的繪制表面類型設(shè)置為surface type push buffers。在設(shè)置模塊1302設(shè)置完成后,再通過分配模塊1303為每個多幀圖像數(shù)據(jù)分配相應(yīng)的存儲空間。
請參閱圖9,圖9是本發(fā)明第二實施例提供的在繪制模塊在將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中之后的模塊示意圖。
如圖9所示,在繪制模塊140將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中之后,還包括:調(diào)用模塊141,用于調(diào)用鎖定變量對應(yīng)的鎖定機制;鎖定模塊142,基于所述鎖定機制,用于對所述繪制面板進行鎖定,以保證每個所述多幀圖像數(shù)據(jù)只在其對應(yīng)的顯示窗口內(nèi)進行顯示。
在本實施例中,調(diào)用模塊141,用于調(diào)用鎖定變量對應(yīng)的鎖定機制,例如,調(diào)用模塊141調(diào)用變量mSurfacelock指定的ReentrantLock。鎖定模塊142,基于所述鎖定機制,用于對所述繪制面板進行鎖定,以保證每個所述多幀圖像數(shù)據(jù)只在其對應(yīng)的顯示窗口內(nèi)進行顯示。如,鎖定模塊142基于調(diào)用模塊調(diào)用的變量mSurfacelock指定的ReentrantLock對繪制表面進行鎖定。當(dāng)鎖定模塊142對繪制面板進行鎖定后,每個多幀圖像數(shù)據(jù)只在其相應(yīng)的顯示窗口中進行顯示,彼此之間不受干擾。
請參閱圖10,圖10是本發(fā)明第二實施例提供的在繪制模塊將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中之后的模塊示意圖。
如圖10所示,在繪制模塊140將每個多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中之后,還包括:實時監(jiān)聽模塊143,用于在將多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的過程中,實時監(jiān)聽每個多幀圖像數(shù)據(jù)是否出現(xiàn)圖像失真;若是,則通過渲染模塊144調(diào)用surfaceflinger對出現(xiàn)失真的圖像進行渲染。
在本實施例中,需要說明的是,由于每個頻道都是由多幀圖像數(shù)據(jù)構(gòu)成,然后,多幀圖像數(shù)數(shù)據(jù)之間可能會有重疊。例如,頻道一有三幀圖像數(shù)據(jù),第一幀圖像數(shù)據(jù)為綠色,第二幀圖像數(shù)據(jù)為藍色,第三幀圖像數(shù)據(jù)為紅色,綠色覆蓋了藍色,而紅色又覆蓋了綠色和藍色以及下面的界面,而相互重疊的部分的圖像數(shù)據(jù)會出現(xiàn)失真,而且還具有一定透明度。為防止上述影響多幀圖像數(shù)據(jù)的情況發(fā)生,則需要采用實時監(jiān)聽模塊143對在將多幀圖像數(shù)據(jù)繪制到與其相對應(yīng)的顯示窗口中的過程中進行實時監(jiān)聽,以及時或者每個多幀圖像數(shù)據(jù)是否出現(xiàn)圖像失真的信息。如果實時監(jiān)聽模塊143監(jiān)聽到多幀圖像數(shù)據(jù)已經(jīng)發(fā)生失真,則通過渲染模塊144調(diào)用surfaceflinger對出現(xiàn)失真的圖像進行渲染,以解決多幀圖像數(shù)據(jù)已經(jīng)發(fā)生的失真現(xiàn)象,以便多幀圖像數(shù)據(jù)恢復(fù)正常。如果在監(jiān)聽模塊143監(jiān)聽的過程中,并沒有監(jiān)聽到多幀圖像數(shù)據(jù)發(fā)生失真,則不需要進行渲染。
本發(fā)明通過上述實施例公開的一種同時支持多窗口圖像顯示的方法和系統(tǒng),實現(xiàn)了在不需要用戶點擊進入觀看節(jié)目頻道的情況下,就能在頻道列表界面中對節(jié)目內(nèi)容進行預(yù)覽,從而對用戶鐘愛的節(jié)目進行選擇,且節(jié)約了用戶的時間和精力。
本發(fā)明實施例方法中的步驟可以根據(jù)實際需要進行順序調(diào)整、合并和刪減。本發(fā)明實施例裝置、系統(tǒng)中的模塊、單元可以根據(jù)實際需要進行合并、劃分和刪減。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實施方式僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。