本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,具體而言,涉及一種基于圖像動態(tài)縮放的圖像數(shù)據(jù)傳輸帶寬分配方法及裝置。
背景技術(shù):
:在顯控類產(chǎn)品的設(shè)計中,解碼芯片的數(shù)據(jù)總線的傳輸帶寬和解碼芯片的解碼能力大小有些時候并不能做到完全相同。在遇到數(shù)據(jù)總線的傳輸帶寬小于解碼能力時,例如,一顆支持PCI-Express2.02X標(biāo)準(zhǔn)的解碼芯片,其數(shù)據(jù)總線的傳輸帶寬為8Gbit,而解碼芯片的解碼能力達(dá)到16Gbit。這樣就會存在解碼后的圖像數(shù)據(jù)轉(zhuǎn)向數(shù)據(jù)傳輸時會出現(xiàn)數(shù)據(jù)總線的傳輸帶寬不足的問題。技術(shù)實現(xiàn)要素:有鑒于此,本發(fā)明實施例的目的在于提供一種能在數(shù)據(jù)總線的傳輸帶寬小于解碼能力時,保證所有視頻通道中的內(nèi)容均能被顯示的基于圖像動態(tài)縮放的圖像數(shù)據(jù)傳輸帶寬分配方法及裝置。本發(fā)明一較佳實施例提供了一種基于圖像動態(tài)縮放的圖像數(shù)據(jù)傳輸帶寬分配方法,所述方法包括:判斷解碼數(shù)據(jù)量是否超過數(shù)據(jù)總線的傳輸帶寬;在所述解碼數(shù)據(jù)量超過數(shù)據(jù)總線的傳輸帶寬時,獲取在畫布上顯示窗口的數(shù)量及窗口有效量;獲取所述畫布上各個顯示窗口間的覆蓋關(guān)系;根據(jù)所述畫布上各個顯示窗口間的覆蓋關(guān)系,計算各個顯示窗口的縮放系數(shù);根據(jù)所述顯示窗口的數(shù)量從所述數(shù)據(jù)總線的傳輸帶寬中為每個窗口創(chuàng)建對應(yīng)的數(shù)據(jù)通道,并根據(jù)所述各個顯示窗口的縮放系數(shù)及窗口有效量為每個顯示窗口對應(yīng)的數(shù)據(jù)通道分配傳輸數(shù)據(jù)帶寬。本發(fā)明另一較佳實施例提供了一種基于圖像動態(tài)縮放的圖像數(shù)據(jù)傳輸帶寬分配裝置,所述裝置包括:判斷模塊,用于判斷解碼數(shù)據(jù)量是否超過數(shù)據(jù)總線的傳輸帶寬;第一獲取模塊,用于在所述解碼數(shù)據(jù)量超過數(shù)據(jù)總線的傳輸帶寬時,獲取在畫布上顯示窗口的數(shù)量及窗口有效量;第二獲取模塊,用于獲取所述畫布上各個顯示窗口間的覆蓋關(guān)系;縮放系數(shù)確定模塊,用于根據(jù)所述畫布上各個顯示窗口間的覆蓋關(guān)系,計算各個顯示窗口的縮放系數(shù);及數(shù)據(jù)帶寬分配模塊,用于根據(jù)所述顯示窗口的數(shù)量從所述數(shù)據(jù)總線的傳輸帶寬中為每個窗口創(chuàng)建對應(yīng)的數(shù)據(jù)通道,并根據(jù)所述各個顯示窗口的縮放系數(shù)及窗口有效量為每個顯示窗口對應(yīng)的數(shù)據(jù)通道分配傳輸數(shù)據(jù)帶寬。與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的基于圖像動態(tài)縮放的圖像數(shù)據(jù)傳輸帶寬分配方法及裝置。在解碼芯片輸出的解碼數(shù)據(jù)量大于數(shù)據(jù)總線的傳輸帶寬時,獲取在畫布上顯示窗口的數(shù)量及窗口有效量;并獲取所述畫布上各個顯示窗口間的覆蓋關(guān)系及根據(jù)該覆蓋關(guān)系得到的各個顯示窗口的縮放系數(shù);最后根據(jù)所述各個顯示窗口的縮放系數(shù)及窗口有效量為每個顯示窗口對應(yīng)的數(shù)據(jù)通道分配傳輸數(shù)據(jù)帶寬??梢员WC在數(shù)據(jù)總線的傳輸帶寬不足時,所有視頻通道中的內(nèi)容均能被顯示。為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細(xì)說明如下。附圖說明為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。圖1是本發(fā)明較佳實施例提供的一種電子設(shè)備的方框示意圖。圖2為圖1中所示圖像數(shù)據(jù)傳輸帶寬分配裝置的一種功能模塊框圖。圖3為圖1中所示圖像數(shù)據(jù)傳輸帶寬分配裝置的另一種功能模塊框圖。圖4為本發(fā)明較佳實施例提供的兩個窗口之間相互重疊的示意圖之一。圖5為本發(fā)明較佳實施例提供的兩個窗口之間相互重疊的示意圖之二。圖6為本發(fā)明較佳實施例提供的兩個窗口之間相互重疊的示意圖之三。圖7為本發(fā)明較佳實施例提供的多個窗口之間覆蓋關(guān)系的示意圖。圖8為本發(fā)明較佳實施例提供的被覆蓋窗口中的特征點與覆蓋窗口的位置關(guān)系示意圖。圖9為本發(fā)明較佳實施例提供的圖像數(shù)據(jù)傳輸帶寬分配的方法流程圖。圖10是圖9中步驟S220的子步驟一種流程示意圖。圖11是圖9中步驟S230的子步驟一種流程示意圖。圖12是圖9中步驟S250的子步驟一種流程示意圖。主要元件符號說明具體實施方式下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋。同時,在本發(fā)明的描述中,術(shù)語“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。請參照圖1,圖1是本發(fā)明較佳實施例提供的電子設(shè)備100的方框示意圖。本發(fā)明實施例中所述電子設(shè)備100可以為顯控類產(chǎn)品,例如,所述電子設(shè)備可以是,但不限于,智能手機(jī)、個人電腦(personalcomputer,PC)、平板電腦、個人數(shù)字助理(personaldigitalassistant,PDA)、移動上網(wǎng)設(shè)備(mobileInternetdevice,MID)等。如圖1所示,所述電子設(shè)備100包括:存儲器110、處理器120、網(wǎng)絡(luò)模塊130及解碼芯片140。所述存儲器110、處理器120、網(wǎng)絡(luò)模塊130、以及解碼芯片140相互之間直接或間接地電性連接,以實現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實現(xiàn)電性連接。存儲器110中存儲有圖像數(shù)據(jù)傳輸帶寬分配裝置200,所述圖像數(shù)據(jù)傳輸帶寬分配裝置200包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器110中的軟件功能模塊,所述處理器120通過運(yùn)行存儲在存儲器110內(nèi)的軟件程序以及模塊,如本發(fā)明實施例中的圖像數(shù)據(jù)傳輸帶寬分配裝置200,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)本發(fā)明實施例中的圖像處理方法。其中,所述存儲器110可以是,但不限于,隨機(jī)存取存儲器(RandomAccessMemory,RAM),只讀存儲器(ReadOnlyMemory,ROM),可編程只讀存儲器(ProgrammableRead-OnlyMemory,PROM),可擦除只讀存儲器(ErasableProgrammableRead-OnlyMemory,EPROM),電可擦除只讀存儲器(ElectricErasableProgrammableRead-OnlyMemory,EEPROM)等。其中,存儲器110用于存儲程序,所述處理器120在接收到執(zhí)行指令后,執(zhí)行所述程序。進(jìn)一步地,上述存儲器110內(nèi)的軟件程序以及模塊還可包括操作系統(tǒng)111,其可包括各種用于管理系統(tǒng)任務(wù)(例如內(nèi)存管理、存儲設(shè)備控制、電源管理等)的軟件組件和/或驅(qū)動,并可與各種硬件或軟件組件相互通訊,從而提供其他軟件組件的運(yùn)行環(huán)境。所述處理器120可能是一種集成電路芯片,具有信號的處理能力。上述的處理器120可以是通用處理器,包括中央處理器(CentralProcessingUnit,CPU)、網(wǎng)絡(luò)處理器(NetworkProcessor,NP)等。還可以是數(shù)字信號處理器(DSP))、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫崿F(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。網(wǎng)絡(luò)模塊130用于通過網(wǎng)絡(luò)建立電子設(shè)備100與外部通信終端之間的通信連接,實現(xiàn)網(wǎng)絡(luò)信號及數(shù)據(jù)的收發(fā)操作。上述網(wǎng)絡(luò)信號可包括無線信號或者有線信號。解碼芯片140用于對需要進(jìn)行窗口顯示的視頻資源進(jìn)行解碼處理??梢岳斫?,圖1所示的結(jié)構(gòu)僅為示意,電子設(shè)備100還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1中所示的各組件可以采用硬件、軟件或其組合實現(xiàn)。請參閱圖2,是本發(fā)明較佳實施例提供的圖1所示的圖像數(shù)據(jù)傳輸帶寬分配裝置200的功能模塊框圖。所述圖像數(shù)據(jù)傳輸帶寬分配裝置200包括判斷模塊220、第一獲取模塊230、第二獲取模塊240、縮放系數(shù)確定模塊250和數(shù)據(jù)帶寬分配模塊260。所述判斷模塊220用于判斷解碼數(shù)據(jù)量是否超過數(shù)據(jù)總線的傳輸帶寬。具體地,所述判斷模塊220將解碼芯片140單位時間(例如,1秒)的解碼數(shù)據(jù)量與解碼芯片140數(shù)據(jù)總線的傳輸帶寬進(jìn)行比較。請參照圖3,在本實施例中,所述圖像數(shù)據(jù)傳輸帶寬分配裝置200還可以包括:解碼數(shù)據(jù)量獲取模塊210,所述解碼數(shù)據(jù)量獲取模塊210用于獲取解碼芯片140輸出的解碼數(shù)據(jù)量。其中,所述解碼芯片140輸出的解碼數(shù)據(jù)量是指所述解碼芯片140在實際解碼業(yè)務(wù)中所需的帶寬值,在不同的解碼業(yè)務(wù)中所述解碼數(shù)據(jù)量可以不同。所述第一獲取模塊230用于在所述解碼數(shù)據(jù)量超過數(shù)據(jù)總線的傳輸帶寬時,獲取在畫布上顯示窗口的數(shù)量及窗口有效量。所述第一獲取模塊230可以通過檢測窗口打開或者關(guān)閉的行為操作獲知在所述畫布上顯示窗口的數(shù)量。其中,所述畫布是指用于顯示一個或者多個顯示窗口的顯示設(shè)備(比如,視頻墻、投影幕布等)。在本實施例中,所述第一獲取模塊230還會獲取畫布上各個顯示窗口的窗口有效量,其中,窗口有效量是指圖像在窗口上顯示的實際像素值。具體地,請再次參考圖3,所述第一獲取模塊230可以包括:比較子模塊231及窗口有效量獲取子模塊232。所述比較子模塊231用于比較所述顯示窗口在所述畫布上所占的像素量與輸入視頻圖像幀的像素量。所述窗口有效量獲取子模塊232,用于當(dāng)所述顯示窗口在所述畫布上所占的像素量大于所述輸入視頻圖像幀的像素量時,獲取所述輸入視頻圖像幀的像素量作為所述窗口有效量。所述窗口有效量獲取子模塊232,還用于當(dāng)所述顯示窗口在所述畫布上所占的像素量小于所述輸入視頻圖像幀的像素量時,獲取所述顯示窗口在所述畫布上所占的像素量作為所述窗口有效量。所述第二獲取模塊240用于獲取所述畫布上各個顯示窗口間的覆蓋關(guān)系。請再次參考圖3,第二獲取模塊240可以包括重疊關(guān)系確定子模塊241及覆蓋關(guān)系確定子模塊242。所述重疊關(guān)系確定子模塊241用于針對所述畫布上的每個顯示窗口,通過每個顯示窗口的頂點與其它顯示窗口的頂點之間的位置關(guān)系,確定所述顯示窗口與其它顯示窗口之間的重疊關(guān)系。請參照圖4、圖5及圖6,以兩個顯示窗口(窗口A和窗口B)間的重疊關(guān)系判斷為例,所述重疊關(guān)系確定子模塊241確定重疊關(guān)系的具體方式如下。所述重疊關(guān)系確定子模塊241獲取窗口A、窗口B的四個頂點的坐標(biāo),并根據(jù)所述窗口A及窗口B的頂點坐標(biāo)判斷窗口A與窗口B之間的重疊關(guān)系。具體地,請先參照圖4,判斷窗口A的四個頂點坐標(biāo)是否落在窗口B的區(qū)域的條件如下:假設(shè)所述窗口A與窗口B位于坐標(biāo)系的第四象限。條件一:Bx0<Ax0<Bx1,同時By0<Ay0<By1,可判定(Ax0,Ay0)點落在B的區(qū)域內(nèi)(如圖5,A1)。條件二:Bx0<Ax0<Bx1,同時By0<Ay1<By1,可判定(Ax0,Ay0)點落在B的區(qū)域內(nèi)(如圖5,A2)。條件三:Bx0<Ax1<Bx1,同時By0<Ay1<By1,可判定(Ax0,Ay0)點落在B的區(qū)域內(nèi)(如圖5,A3)。條件四:Bx0<Ax1<Bx1,同時By0<Ay0<By1,可判定(Ax0,Ay0)點落在B的區(qū)域內(nèi)(如圖5,A4)。其中,A1、A2、A3及A4表示窗口A相對于窗口B的不同重疊位置。請再參照圖5及圖6,判斷窗口B的頂點坐標(biāo)是否落在窗口A的區(qū)域的條件如下:條件五:Ax0<Bx0<Ax1,同時Ay0<By0<Ay1,可判定(Bx0,By0)點落在窗口A的區(qū)域內(nèi)。條件六:Ax0<Bx0<Ax1,同時Ay0<By1<Ay1,可判定(Bx0,By0)點落在窗口A的區(qū)域內(nèi)。條件七:Ax0<Bx1<Ax1,同時Ay0<By1<Ay1,可判定(Bx0,By0)點落在窗口A的區(qū)域內(nèi)。條件八:Ax0<Bx1<Ax1,同時Ay0<By0<Ay1,可判定(Bx0,By0)點落在窗口A的區(qū)域內(nèi)。只要滿足上述條件一~條件八中的任意一項條件即可判定所述窗口A與窗口B存在重疊關(guān)系。應(yīng)當(dāng)理解的是,上述雖然只對兩個窗口重疊關(guān)系進(jìn)行了說明,但上述判斷方法同樣適用于兩個以上窗口間重疊關(guān)系的判斷。同時,上述方式只是為了描述兩個窗口重疊關(guān)系的一種實施方式,在本實施例的其它實施方式中也可以采用其它方式進(jìn)行兩個窗口重疊關(guān)系的判斷。比如,可以根據(jù)兩個窗口在所述畫布上的顯示面積與兩個窗口單獨顯示(即窗口完全顯示)時的顯示面積之和進(jìn)行比較。具體地,假如,兩個窗口(窗口A和窗口B)在所述畫布上的顯示面積為m,窗口A單獨顯示時的顯示面積為l,窗口B單獨顯示時的顯示面積為k,當(dāng)m<l+k時,窗口A與窗口B在所述畫布上存在重疊關(guān)系,當(dāng)m=l+k時,窗口A與窗口B在所述畫布上不存在重疊關(guān)系。所述覆蓋關(guān)系確定子模塊242用于在所述顯示窗口與其它顯示窗口之間存在重疊關(guān)系時,通過每個顯示窗口與其它顯示窗口的打開先后順序,確定所述顯示窗口與其它顯示窗口間的覆蓋關(guān)系。具體地,所述覆蓋關(guān)系確定子模塊242根據(jù)窗口打開的先后順序?qū)λ龃翱谶M(jìn)行數(shù)字從小到大的編號,其中,序號的數(shù)字范圍可以是1~108。當(dāng)窗口之間存在重疊關(guān)系時,所述覆蓋關(guān)系確定子模塊242對窗口的序號進(jìn)行調(diào)整。在本實施例中,所述覆蓋關(guān)系確定子模塊242對窗口的序號進(jìn)行調(diào)整的方式可以是,在兩個窗口重疊時,采用序號高的窗口覆蓋序號低的窗口策略。具體策略如下:從選定的窗口開始遍歷,判斷是否存在序號高于本窗口序號的窗口與本窗口重疊,如果存在,則本窗口為下層窗口。如果不存在,則本窗口為上層窗口。其中,最大序號的窗口(即最后打開的窗口或選定的窗口)一定是上層窗口。在本實施例中,從已經(jīng)打開的窗口中選定其中之一窗口的動作可以認(rèn)為是將該窗口關(guān)閉后將窗口重新打開。以下舉例說明,當(dāng)選中某個窗口后,將其序號設(shè)置為當(dāng)前最高窗口序號,大于該窗口原序號的窗口的窗口序號依次降1,小于該窗口原序號的窗口的窗口序號不變。請參照圖7,例如,當(dāng)選中窗口C時,對應(yīng)窗口序號變化如表1:窗口A窗口B窗口C窗口D窗口E原序號12345新序號12534表1采用序號從大到小的順序遍歷,判斷是否存在序號高于本窗口序號的窗口與本窗口重疊,最后得到所有窗口的覆蓋關(guān)系??s放系數(shù)確定模塊250用于根據(jù)所述畫布上各個顯示窗口間的覆蓋關(guān)系,計算各個顯示窗口的縮放系數(shù)。在本實施例中,所述縮放系數(shù)確定模塊250通過在被覆蓋窗口中設(shè)定特定的特征點,并根據(jù)覆蓋區(qū)域內(nèi)特征點的數(shù)量,確定所述被覆蓋窗口的縮放系數(shù)。其中,所述被覆蓋窗口是指顯示區(qū)域被遮擋的顯示窗口,所述覆蓋區(qū)域為所述被覆蓋窗口中被遮擋的區(qū)域。具體地,所述縮放系數(shù)確定模塊250可以采用以下方式計算各個顯示窗口的縮放系數(shù)。先設(shè)定上層窗口的縮放系數(shù)(比如R=1)。再設(shè)定下層窗口的縮放系數(shù),具體地,可以將下層窗口的縮放系數(shù)分為多級(比如,3級),例如,R=0.75、R=0.5、R=0.25(分級不同,R可設(shè)定不同范圍)。請參照圖8,將下層窗口邊界等分點及中心點定義為9個軸點(黑點),窗口四等分后每個區(qū)域的中心點定義為4個標(biāo)點(白點)。根據(jù)下層窗口的軸點和標(biāo)點落在上層窗口內(nèi)的數(shù)量來確定縮放系數(shù)。具體規(guī)則可以如下:縮放系數(shù)為0.75的情況包括:當(dāng)下層窗口有1個軸點落在上層窗口內(nèi);當(dāng)下層窗口有1個標(biāo)點落在上層窗口內(nèi);當(dāng)下層窗口有2個軸點落在上層窗口內(nèi);當(dāng)下層窗口有1個軸點和1個標(biāo)點落在上層窗口內(nèi)??s放系數(shù)為0.5的情況包括:當(dāng)下層窗口有3個軸點落在上層窗口內(nèi);當(dāng)下層窗口有2個標(biāo)點落在上層窗口內(nèi);當(dāng)下層窗口有2個軸點和1個標(biāo)點落在上層窗口內(nèi);當(dāng)下層窗口有1個軸點和2個標(biāo)點落在上層窗口內(nèi)??s放系數(shù)為0.25的情況包括:當(dāng)下層窗口有4個或更多軸點落在上層窗口內(nèi);當(dāng)下層窗口有3個或更多標(biāo)點落在上層窗口內(nèi)。當(dāng)然,上述縮放系數(shù)的設(shè)定僅僅為示意,在本實施例的其它實施方式中,還可以采用其它的方式進(jìn)行縮放系數(shù)的設(shè)定。比如,所述縮放系數(shù)確定模塊250根據(jù)覆蓋區(qū)域占被覆蓋窗口的面積,確定所述被覆蓋窗口的縮放系數(shù)。上述方法根據(jù)用戶對上下層窗口的關(guān)注度不同,將用戶關(guān)注度低的下層窗口的帶寬資源進(jìn)行適當(dāng)減少,把帶寬資源向上層窗口傾斜,使得上層窗口可呈現(xiàn)更好的視頻輸出效果。所述數(shù)據(jù)帶寬分配模塊260用于根據(jù)所述顯示窗口的數(shù)量從所述數(shù)據(jù)總線的傳輸帶寬中為每個窗口創(chuàng)建對應(yīng)的數(shù)據(jù)通道,并根據(jù)所述各個顯示窗口的縮放系數(shù)及窗口有效量為每個顯示窗口對應(yīng)的數(shù)據(jù)通道分配傳輸數(shù)據(jù)帶寬。請再次參照圖3,在本實施例中,所述數(shù)據(jù)帶寬分配模塊260可以包括計算子模塊261、求和子模塊262及帶寬計算子模塊263。所述計算子模塊261用于根據(jù)單個窗口的縮放系數(shù)及窗口有效量計算單個窗口縮放后的窗口有效量。求和子模塊262用于將所述單個窗口縮放后的窗口有效量求和得到窗口有效量的總和。具體公式如下:Vs=Va*Ra+Vb*Rb+Vc*Rc+......其中,Vs為窗口有效量的總和,Va為顯示窗口A的窗口有效量,Ra為顯示窗口A的縮放系數(shù),Vb為顯示窗口B的窗口有效量,Rb為顯示窗口B的縮放系數(shù),Vc為顯示窗口C的窗口有效量,Rc為顯示窗口C的縮放系數(shù)。帶寬計算子模塊263用于根據(jù)窗口有效量的總和、單個窗口縮放后的窗口有效量及數(shù)據(jù)總線的傳輸帶寬計算單個顯示窗口對應(yīng)的數(shù)據(jù)通道分配的傳輸數(shù)據(jù)帶寬。所述帶寬計算子模塊263獲得單個顯示窗口對應(yīng)的數(shù)據(jù)通道分配的傳輸數(shù)據(jù)帶寬的計算公式如下:Wa=Va*Ra/Vs*S其中,Wa為顯示窗口A對應(yīng)的數(shù)據(jù)通道分配的傳輸數(shù)據(jù)帶寬,Va為顯示窗口A的窗口有效量,Ra為顯示窗口A的縮放系數(shù),Vs為窗口有效量的總和,S為數(shù)據(jù)總線的傳輸帶寬。請參照圖9,本發(fā)明實施例還提供一種基于圖像動態(tài)縮放的圖像數(shù)據(jù)傳輸帶寬分配方法,所述方法的具體流程如下。步驟S209,獲取解碼芯片輸出的解碼數(shù)據(jù)量。步驟S210,判斷解碼數(shù)據(jù)量是否超過數(shù)據(jù)總線的傳輸帶寬。步驟S220,在所述解碼數(shù)據(jù)量超過數(shù)據(jù)總線的傳輸帶寬時,獲取在畫布上顯示窗口的數(shù)量及窗口有效量。請參照圖10,在本實施例中,步驟S220可以包括子步驟S221、子步驟S222及子步驟S223。子步驟S221,判斷所述顯示窗口在所述畫布上所占的像素量是否大于輸入視頻圖像幀的像素量。具體地,當(dāng)所述顯示窗口在所述畫布上所占的像素量大于所述輸入視頻圖像幀的像素量時進(jìn)入子步驟S222。當(dāng)所述顯示窗口在所述畫布上所占的像素量小于所述輸入視頻圖像幀的像素量時進(jìn)入子步驟S223。子步驟S222,獲取所述輸入視頻圖像幀的像素量作為所述窗口有效量。子步驟S223,獲取所述顯示窗口在所述畫布上所占的像素量作為所述窗口有效量。步驟S230,獲取所述畫布上各個顯示窗口間的覆蓋關(guān)系。請參照圖11,在本實施例中,步驟S230可以包括子步驟S231及子步驟S232。子步驟S231,針對所述畫布上的每個顯示窗口,通過每個顯示窗口的頂點與其它顯示窗口的頂點之間的位置關(guān)系,確定所述顯示窗口與其它顯示窗口之間的重疊關(guān)系。子步驟S232,在所述顯示窗口與其它顯示窗口之間存在重疊關(guān)系時,通過所述顯示窗口與其它顯示窗口的打開先后順序,確定所述顯示窗口與其它顯示窗口間的覆蓋關(guān)系。步驟S240,根據(jù)所述畫布上各個顯示窗口間的覆蓋關(guān)系,計算各個顯示窗口的縮放系數(shù)。具體地,步驟S240計算各個顯示窗口的縮放系數(shù)的方式可以是,在被覆蓋窗口中設(shè)定特定的特征點,并根據(jù)覆蓋區(qū)域內(nèi)特征點的數(shù)量,確定所述被覆蓋窗口的縮放系數(shù)。也可以是,根據(jù)覆蓋區(qū)域占被覆蓋窗口的面積,確定所述被覆蓋窗口的縮放系數(shù)。步驟S250,根據(jù)所述顯示窗口的數(shù)量從所述數(shù)據(jù)總線的傳輸帶寬中為每個窗口創(chuàng)建對應(yīng)的數(shù)據(jù)通道,并根據(jù)所述各個顯示窗口的縮放系數(shù)及窗口有效量為每個顯示窗口對應(yīng)的數(shù)據(jù)通道分配傳輸數(shù)據(jù)帶寬。請參照圖12,在本實施例中,步驟S250可以包括子步驟S251、子步驟S252及子步驟S253。子步驟S251,根據(jù)單個窗口的縮放系數(shù)及窗口有效量計算單個窗口縮放后的窗口有效量。子步驟S252,將所述單個窗口縮放后的窗口有效量求和得到窗口有效量的總和。子步驟S253,根據(jù)窗口有效量的總和、單個窗口縮放后的窗口有效量及數(shù)據(jù)總線的傳輸帶寬計算單個顯示窗口對應(yīng)的數(shù)據(jù)通道分配的傳輸數(shù)據(jù)帶寬。具體地,單個顯示窗口對應(yīng)的數(shù)據(jù)通道分配的傳輸數(shù)據(jù)帶寬的計算公式如下。Wa=Va*Ra/Vs*S其中,Wa為顯示窗口A對應(yīng)的數(shù)據(jù)通道分配的傳輸數(shù)據(jù)帶寬,Va為顯示窗口A的窗口有效量,Ra為顯示窗口A的縮放系數(shù),Vs為窗口有效量的總和,S為數(shù)據(jù)總線的傳輸帶寬。綜上所述,本發(fā)明實施例提供的基于圖像動態(tài)縮放的圖像數(shù)據(jù)傳輸帶寬分配方法及裝置。在解碼芯片輸出的解碼數(shù)據(jù)量大于數(shù)據(jù)總線的傳輸帶寬時,獲取在畫布上顯示窗口的數(shù)量及窗口有效量;并獲取所述畫布上各個顯示窗口間的覆蓋關(guān)系及根據(jù)該覆蓋關(guān)系得到的各個顯示窗口的縮放系數(shù);最后根據(jù)所述各個顯示窗口的縮放系數(shù)及窗口有效量為每個顯示窗口對應(yīng)的數(shù)據(jù)通道分配傳輸數(shù)據(jù)帶寬??梢员WC在數(shù)據(jù)總線的傳輸帶寬不足時,所有視頻通道中的內(nèi)容均能被顯示。可以理解的是,在解碼芯片輸出的解碼數(shù)據(jù)量不大于數(shù)據(jù)總線的傳輸帶寬時,可以根據(jù)本實施例提供的上述方法對所述畫布上各個顯示窗口進(jìn)行縮放顯示,當(dāng)然,也可以不進(jìn)行縮放處理直接進(jìn)行顯示。在本發(fā)明實施例所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)和方法,也可以通過其它的方式實現(xiàn)。以上所描述的系統(tǒng)和方法實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實現(xiàn)。另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。所述功能如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),電子設(shè)備100,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁1 2 3