本發(fā)明有關(guān)于圖形處理(graphicsprocessing),且尤其有關(guān)于生成臟信息(dirtinessinformation)以指示圖形系統(tǒng)中圖像數(shù)據(jù)幀之間的受損區(qū)域(damagedregion)的圖形系統(tǒng)及方法。
背景技術(shù):
市場上的移動(dòng)裝置通常裝有圖形系統(tǒng),如圖形處理單元,用于渲染(render)及合成具有多個(gè)幀的圖像數(shù)據(jù)。傳統(tǒng)來說,圖形系統(tǒng)還包括合成器(compositor),用于根據(jù)圖像數(shù)據(jù)幀生成成果圖像(resultingimage)。
傳統(tǒng)來說,圖形系統(tǒng)也會(huì)進(jìn)行臟區(qū)域(dirtyregion)計(jì)算,以識(shí)別臟區(qū)域,從而追蹤屏幕更新。其中,臟區(qū)域表示屏幕區(qū)域已改變。然而,傳統(tǒng)圖形系統(tǒng)中的臟區(qū)域計(jì)算不夠精準(zhǔn),使得即便只有部分區(qū)域改變時(shí),合成器可能會(huì)浪費(fèi)時(shí)間在重復(fù)合成不必要的區(qū)域上。舉例來說,當(dāng)網(wǎng)頁上播放視頻數(shù)據(jù)時(shí),只有視頻數(shù)據(jù)的幀發(fā)生變化。然而,可能會(huì)將整個(gè)網(wǎng)頁的所有區(qū)域(而非視頻數(shù)據(jù)的區(qū)域)識(shí)別成臟區(qū)域。如此一來,在生成成果圖像時(shí),合成器需要從幀緩沖器中獲取(retrieve)幀的臟區(qū)域的所有像素,所以重新合成網(wǎng)頁的區(qū)域而不是視頻數(shù)據(jù)的區(qū)域會(huì)浪費(fèi)時(shí)間。
因此,需要一種圖形系統(tǒng)及相關(guān)方法,來精確識(shí)別圖像數(shù)據(jù)幀之間的臟區(qū)域,以解決前述問題。
技術(shù)實(shí)現(xiàn)要素:
在以下實(shí)施例中結(jié)合附圖給出詳細(xì)的描述。
本發(fā)明一實(shí)施例提供一種在圖形系統(tǒng)中為由多個(gè)幀組成的圖像數(shù)據(jù)生成臟信息的方法,包括:將所述圖像數(shù)據(jù)的每個(gè)幀劃分為多個(gè)區(qū)域;獲取所述多個(gè)幀的每個(gè)區(qū)域的各自的校驗(yàn)和;以及根據(jù)當(dāng)前幀和先前幀的每個(gè)區(qū)域的所述校驗(yàn)和,生成所述圖像數(shù)據(jù)的每個(gè)幀的所述臟信息。
本發(fā)明另一實(shí)施例提供一種為由多個(gè)幀組成的圖像數(shù)據(jù)生成臟信息的圖形系統(tǒng),包括:圖形處理單元,用來將每個(gè)幀劃分為多個(gè)區(qū)域;以及臟信息生成器,用來獲取所述多個(gè)幀的每個(gè)區(qū)域的各自的校驗(yàn)和,并根據(jù)當(dāng)前幀和先前幀的每個(gè)區(qū)域的所述校驗(yàn)和,生成所述圖像數(shù)據(jù)的每個(gè)幀的所述臟信息。
通過利用本發(fā)明,可減小所需的存儲(chǔ)器帶寬。
附圖說明
圖1是根據(jù)本發(fā)明一實(shí)施例的圖形系統(tǒng)的示意圖。
圖2a是根據(jù)本發(fā)明一實(shí)施例的幀圖像與其各自的校驗(yàn)和的示意圖。
圖2b是根據(jù)本發(fā)明實(shí)施例的圖2a中幀的內(nèi)容更新的示意圖。
圖2c是根據(jù)本發(fā)明一實(shí)施例的圖2b中幀的內(nèi)容更新造成的每個(gè)幀的臟區(qū)域的示意圖。
圖3是根據(jù)本發(fā)明一實(shí)施例的在圖形系統(tǒng)中為由多個(gè)幀組成的圖像數(shù)據(jù)生成臟信息的方法流程圖。
圖4是根據(jù)本發(fā)明另一實(shí)施例的在圖形系統(tǒng)中生成臟信息的方法流程圖。
具體實(shí)施方式
以下描述是為了說明本發(fā)明一般原理,而不應(yīng)該理解為具有限制性的意義。本發(fā)明的范圍通過參考所附的權(quán)利要求來確定。本領(lǐng)域技術(shù)人員應(yīng)可理解,下述實(shí)施例可通過軟件、硬件、固件或上述組合來實(shí)現(xiàn)。
在本專利說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定的組件。所屬領(lǐng)域中具有通常知識(shí)者應(yīng)可理解,硬件制造商可能會(huì)用不同的名詞來稱呼同一個(gè)組件。本專利說明書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準(zhǔn)則。在通篇說明書及請(qǐng)求項(xiàng)當(dāng)中所提及的“包含”或“包括”為開放式的用語,故應(yīng)解釋成“包含但不限定于”;“組件”、“系統(tǒng)”和“設(shè)備”意指與計(jì)算機(jī)有關(guān)的實(shí)體,可為硬件、軟件或硬件以及軟件的組合。另外,“耦接”一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表該第一裝置可直接電氣連接于該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
圖1是根據(jù)本發(fā)明一實(shí)施例的圖形系統(tǒng)的示意圖。圖形系統(tǒng)100可為能夠取得圖像的移動(dòng)裝置(例如,平板電腦、智能手機(jī)或可穿戴的計(jì)算設(shè)備)或手提電腦。圖形系統(tǒng)100還可實(shí)現(xiàn)為多個(gè)芯片或單個(gè)芯片,如片上系統(tǒng)(systemonchip,soc);或可實(shí)現(xiàn)為放置在移動(dòng)裝置中的移動(dòng)處理器。例如,圖形系統(tǒng)100可包括處理器110、系統(tǒng)總線120、圖形處理單元(graphicsprocessingunit,gpu)130、存儲(chǔ)器單元140以及顯示器150。處理器110、gpu130和存儲(chǔ)器單元140可通過系統(tǒng)總線120彼此耦接。處理器110可為中央處理單元(centralprocessingunit,cpu)、通用處理器、數(shù)字信號(hào)處理器(digitalsignalprocessor,dsp)或任意等效電路,但是本發(fā)明并不限于此。根據(jù)一些示范例,存儲(chǔ)器單元140可包括易失性存儲(chǔ)器141及非易失性存儲(chǔ)器142。易失性存儲(chǔ)器141可為動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dynamicrandomaccessmemory,dram)或靜態(tài)隨機(jī)存取存儲(chǔ)器(staticrandomaccessmemory,sram),非易失性存儲(chǔ)器142可為閃存、硬盤或固態(tài)硬盤(solid-statedisk,ssd)等。例如,圖形系統(tǒng)100上使用的應(yīng)用的程序碼可預(yù)存在非易失性存儲(chǔ)器142中。處理器110可從非易失性存儲(chǔ)器142向易失性存儲(chǔ)器141加載應(yīng)用的程序碼,并執(zhí)行該應(yīng)用的程序碼。處理器110還可向gpu130發(fā)送圖形數(shù)據(jù),而gpu130可確定將在顯示器150上渲染的圖形數(shù)據(jù)(細(xì)節(jié)將在下文描述)。請(qǐng)注意,盡管在圖1中,易失性存儲(chǔ)器141及非易失性存儲(chǔ)器142被包含在一個(gè)存儲(chǔ)器單元中,他們也可獨(dú)立實(shí)現(xiàn)為不同的存儲(chǔ)器單元。此外,在不同的實(shí)施例中,可采用不同數(shù)量的易失性存儲(chǔ)器141和/或非易失性存儲(chǔ)器142。顯示器150可為顯示電路或硬件,可被耦接以控制顯示裝置(圖未示)。顯示裝置可包括驅(qū)動(dòng)電路和/或顯示面板,可放置于圖形系統(tǒng)100的內(nèi)部或外部。
在一實(shí)施例中,gpu130可包括臟信息生成器132。在一些其他實(shí)施例中,臟信息生成器132為位于gpu130之外的獨(dú)立電路。臟信息生成器132可用來根據(jù)圖形數(shù)據(jù)(如具有多個(gè)幀的圖像數(shù)據(jù))生成臟信息。舉例來說,圖像數(shù)據(jù)中的每個(gè)幀可被劃分為多個(gè)區(qū)域,每個(gè)區(qū)域有各自的校驗(yàn)和(checksum),如哈希值(hashvalue)或循環(huán)冗余校驗(yàn)(cyclicredundancycheck,crc)值。其中校驗(yàn)和由處理器110和/或gpu130確定。劃分出的區(qū)域可為大小相等的片(tile)或塊,或者大小不等的片或塊。每個(gè)幀可以以相同方式進(jìn)行劃分。此外,待渲染的幀可存儲(chǔ)在存儲(chǔ)器單元140中,如可存儲(chǔ)在易失性存儲(chǔ)器141中。臟信息生成器132可從易失性存儲(chǔ)器141中獲得幀的每個(gè)區(qū)域各自的校驗(yàn)和,并根據(jù)幀的每個(gè)區(qū)域的校驗(yàn)和生成幀的每個(gè)區(qū)域的臟信息。在一實(shí)施例中,每個(gè)幀和其各自的校驗(yàn)和可存儲(chǔ)在同一幀緩沖器中。在另一實(shí)施例中,每個(gè)幀和其各自的校驗(yàn)和可存儲(chǔ)在不同的幀緩沖器中。舉例來說,幀可存儲(chǔ)在第一幀緩沖器中,而各校驗(yàn)和可存儲(chǔ)在第二幀緩沖器中。其中,第一幀緩沖器可以指代多個(gè)第一幀緩沖器,第二幀緩沖器可以指代多個(gè)第二幀緩沖器。
在一實(shí)施例中,顯示器150可包括合成器151。在一些其他實(shí)施例中,合成器151為位于顯示器150之外的獨(dú)立電路。合成器151可用來根據(jù)圖形數(shù)據(jù)(如多個(gè)幀或疊加圖像層),生成成果混合(blended)圖像或幀。合成器151可從易失性存儲(chǔ)器141獲得幀的每個(gè)區(qū)域各自的臟信息,并根據(jù)幀的每個(gè)區(qū)域的臟信息生成混合圖像。
在一實(shí)施例中,每個(gè)幀被劃分為多個(gè)區(qū)域,而每個(gè)區(qū)域包括多個(gè)像素。與幀的每個(gè)像素有關(guān)的各個(gè)像素?cái)?shù)據(jù)可存儲(chǔ)在圖形系統(tǒng)的一個(gè)或多個(gè)幀緩沖器中。在一些實(shí)施例中,幀的每個(gè)區(qū)域具有各自的校驗(yàn)和,而與幀的每個(gè)區(qū)域有關(guān)的各校驗(yàn)和可根據(jù)與幀的區(qū)域中的像素有關(guān)的像素?cái)?shù)據(jù)確定(各校驗(yàn)和有關(guān)于與幀的區(qū)域中的像素有關(guān)的像素?cái)?shù)據(jù)),并可采用諸如crc、fletcher校驗(yàn)和(fletcher'schecksum)、adler-32等的校驗(yàn)和算法確定。舉例來說,在一實(shí)施例中,校驗(yàn)和為crc(如16位或32位的crc),可通過將crc校驗(yàn)和算法應(yīng)用于與當(dāng)前幀的特定區(qū)域中的像素有關(guān)的像素?cái)?shù)據(jù),確定當(dāng)前幀的特定區(qū)域的校驗(yàn)和。在另一實(shí)施例中,當(dāng)前幀的特定區(qū)域的校驗(yàn)和可為應(yīng)用于與當(dāng)前幀的特定區(qū)域中像素有關(guān)的像素?cái)?shù)據(jù)的哈希函數(shù)的輸出。一般來說,具有相同校驗(yàn)和的區(qū)域是相同的。
請(qǐng)注意,由于已超出本發(fā)明范圍,為了簡便目的,校驗(yàn)和算法與校驗(yàn)和生成的細(xì)節(jié)描述在此不再贅述,本領(lǐng)域技術(shù)人員可參照業(yè)內(nèi)公知的各種校驗(yàn)和算法。
臟信息生成器132基于各校驗(yàn)和,對(duì)每個(gè)區(qū)域在當(dāng)前幀和先前幀之間是否發(fā)生變化進(jìn)行判定。本領(lǐng)域技術(shù)人員應(yīng)可理解,各幀根據(jù)顯示順序按順序顯示,當(dāng)前幀緊接著先前幀進(jìn)行顯示。也就是說,先前幀在當(dāng)前幀之前。若某區(qū)域發(fā)生變化(即當(dāng)前幀中該區(qū)域的顯示內(nèi)容與先前幀中該區(qū)域的顯示內(nèi)容不同),則臟信息生成器132指示該區(qū)域?yàn)榕K區(qū)域。若某區(qū)域未發(fā)生變化(即當(dāng)前幀中該區(qū)域的顯示內(nèi)容與先前幀中該區(qū)域的顯示內(nèi)容相同),則臟信息生成器132指示該區(qū)域?yàn)榉桥K區(qū)域。在比較當(dāng)前幀中的區(qū)域和先前幀中的對(duì)應(yīng)區(qū)域時(shí),臟信息生成器132僅比較區(qū)域的校驗(yàn)和(如crc值或哈希值),以確定區(qū)域是否已改變。對(duì)于后續(xù)幀來說,每個(gè)區(qū)域的已存儲(chǔ)校驗(yàn)和與相應(yīng)區(qū)域的校驗(yàn)和進(jìn)行比較,若他們彼此匹配,則臟信息生成器132可生成相應(yīng)的臟信息,指示被比較的區(qū)域?yàn)榉桥K區(qū)域。
當(dāng)與當(dāng)前幀的特定區(qū)域有關(guān)的像素值不同于與先前幀(在較早時(shí)間的幀)的相同區(qū)域有關(guān)的像素值時(shí)(如當(dāng)前幀的該特定區(qū)域已與先前幀中的不同),當(dāng)前幀中該特定區(qū)域的校驗(yàn)和與先前幀中該特定區(qū)域的校驗(yàn)和不同,則與當(dāng)前幀中該特定區(qū)域有關(guān)的臟信息指示該特定區(qū)域中的像素為臟。相應(yīng)地,需要獲取與當(dāng)前幀中該特定區(qū)域有關(guān)的像素值,以更新顯示器150。相反地,當(dāng)與當(dāng)前幀中該特定區(qū)域有關(guān)的像素值相同于與先前幀的相同區(qū)域有關(guān)的像素值時(shí),當(dāng)前幀中該特定區(qū)域的校驗(yàn)和與先前幀中該特定區(qū)域的校驗(yàn)和相同,則與當(dāng)前幀中該特定區(qū)域有關(guān)的臟信息指示該特定區(qū)域中的像素不臟。相應(yīng)地,對(duì)于顯示器150來說,不需要獲取與當(dāng)前幀中該特定區(qū)域有關(guān)的像素值,獲取步驟可被跳過。
合成器151隨后可從易失性存儲(chǔ)器141獲取幀的每個(gè)區(qū)域各自的臟信息,并根據(jù)幀的每個(gè)區(qū)域的臟信息生成混合圖像。
請(qǐng)注意,合成器151可根據(jù)所獲取的與幀的每個(gè)區(qū)域相關(guān)的臟信息,確定是從各幀緩沖器中獲取還是跳過獲取幀的每個(gè)區(qū)域的像素?cái)?shù)據(jù)。在幀的特定區(qū)域的臟信息指示非臟區(qū)域的實(shí)施例中,合成器151可跳過在該幀中的特定區(qū)域的數(shù)據(jù)存取。相反地,當(dāng)幀的特定區(qū)域的臟信息指示臟區(qū)域時(shí),合成器151可獲取該幀中特定區(qū)域的數(shù)據(jù)。
當(dāng)多個(gè)幀中任何幀的任何區(qū)域的臟信息均指示非臟區(qū)域時(shí),合成器151可跳過獲取幀的非臟區(qū)域的像素值。具體來說,當(dāng)與當(dāng)前幀的特定區(qū)域有關(guān)的臟信息指示區(qū)域中的像素臟時(shí),即指示與當(dāng)前幀的特定區(qū)域有關(guān)的像素值不同于與先前幀中相同區(qū)域有關(guān)的像素值。相應(yīng)地,需要獲取與當(dāng)前幀的特定區(qū)域有關(guān)的像素值,以更新顯示器150。相反地,當(dāng)與當(dāng)前幀中特定區(qū)域有關(guān)的臟信息指示區(qū)域中的像素不臟時(shí),即指示與當(dāng)前幀中特定區(qū)域有關(guān)的像素值相同于與先前幀中相同區(qū)域有關(guān)的像素值。相應(yīng)地,不需要獲取與當(dāng)前幀的特定區(qū)域有關(guān)的像素值,獲取步驟可跳過。
此外,與幀中所有區(qū)域有關(guān)的校驗(yàn)和可存儲(chǔ)在圖形系統(tǒng)100的一個(gè)或多個(gè)幀緩沖器中。舉例來說,易失性存儲(chǔ)器141可包括多個(gè)分區(qū),每個(gè)分區(qū)可視為一個(gè)幀緩沖器,與幀的每個(gè)區(qū)域有關(guān)的各校驗(yàn)和可存儲(chǔ)在圖形系統(tǒng)100的一個(gè)或多個(gè)幀緩沖器中。用于存儲(chǔ)幀的每個(gè)區(qū)域的校驗(yàn)和的幀緩沖器可與用于存儲(chǔ)幀的每個(gè)區(qū)域的像素?cái)?shù)據(jù)的幀緩沖器相同?;蛘撸糜诖鎯?chǔ)幀的每個(gè)區(qū)域的校驗(yàn)和的幀緩沖器也可與用于存儲(chǔ)幀的每個(gè)區(qū)域的像素?cái)?shù)據(jù)的幀緩沖器不同。
本領(lǐng)域技術(shù)人員應(yīng)可理解,圖1所示實(shí)施例中描繪的元件僅為說明的目的,并無意圖限制本發(fā)明。
圖2a是根據(jù)本發(fā)明一實(shí)施例的幀圖像與其各自的校驗(yàn)和的示意圖。舉例來說,圖2a中有4個(gè)幀圖像:幀210、幀220、幀230以及幀240。幀210、幀220、幀230以及幀240由gpu130依序渲染。更具體來說,在圖2a中,幀210是幀220的先前幀。類似地,幀220是幀230的先前幀,幀230是幀240的先前幀。在一示范例中,幀210和230可與其每個(gè)區(qū)域的校驗(yàn)和210a和230a一起存儲(chǔ)在易失性存儲(chǔ)器141的同一幀緩沖器(即第一幀緩沖器)中。類似地,在另一示范例中,幀220和240可與其每個(gè)區(qū)域的校驗(yàn)和220a和240a一起存儲(chǔ)在易失性存儲(chǔ)器141的另一幀緩沖器(即第二幀緩沖器)中。具體來說,幀210中每個(gè)區(qū)域的校驗(yàn)和被記錄為數(shù)據(jù)210a。類似地,如圖2a所示,幀220、幀230以及幀240中每個(gè)區(qū)域的校驗(yàn)和分別被記錄為數(shù)據(jù)220a、230a和240a。為了說明本發(fā)明,在上述實(shí)施例中,幀的數(shù)目為4,幀緩沖器的數(shù)目為2。本領(lǐng)域技術(shù)人員應(yīng)可理解,還可采用不同數(shù)目的幀以及不同數(shù)目的幀緩沖器。幀和幀緩沖器的實(shí)際數(shù)目可變。
圖2b是根據(jù)本發(fā)明實(shí)施例的圖2a中幀的內(nèi)容更新的示意圖。如圖2b所示,從幀210到幀240,待顯示到屏幕上的內(nèi)容各不相同,其中幀中的被標(biāo)示區(qū)域代表待顯示的內(nèi)容。舉例來說,當(dāng)幀230為當(dāng)前幀,幀220為先前幀時(shí),幀220的被標(biāo)示區(qū)域221的尺寸與幀230的被標(biāo)示區(qū)域231的尺寸不同,因此屏幕需要重新渲染,以更新顯示器150。此外,還假定當(dāng)前幀230中區(qū)域21的校驗(yàn)和230a為crc3,當(dāng)前幀230中區(qū)域22的校驗(yàn)和230a為crc4,先前幀220中區(qū)域21的校驗(yàn)和220a為crc1,以及先前幀220中區(qū)域22的校驗(yàn)和220a為crc2。此時(shí),與當(dāng)前幀230中區(qū)域21有關(guān)的像素值相同于與先前幀220中同一區(qū)域21有關(guān)的像素值(即區(qū)域21在幀220的被標(biāo)示區(qū)域221和幀230的被標(biāo)示區(qū)域231中保持不變),因此crc3和crc1的值相同。類似地,與當(dāng)前幀230中區(qū)域22有關(guān)的像素值不同于與先前幀220中同一區(qū)域22有關(guān)的像素值(即區(qū)域22從位于幀220的未標(biāo)示區(qū)域222變?yōu)槲挥趲?30的被標(biāo)示區(qū)域231),因此crc4和crc2的值不同。由于crc3和crc1的值相同,對(duì)于幀230來說,區(qū)域21為非臟區(qū)域,與當(dāng)前幀中區(qū)域21有關(guān)的臟信息指示區(qū)域21中的像素不臟。類似地,由于crc4和crc2的值不同,對(duì)于幀230來說,區(qū)域22為臟區(qū)域,與當(dāng)前幀中區(qū)域22有關(guān)的臟信息指示區(qū)域22中的像素臟。如上所述,通過比較與每個(gè)幀的每個(gè)區(qū)域有關(guān)的校驗(yàn)和以及與其先前幀的對(duì)應(yīng)區(qū)域有關(guān)的校驗(yàn)和,每個(gè)幀的所有臟區(qū)域(幀之間發(fā)生變化的區(qū)域)得以確定,如圖2c所示。
圖2c是根據(jù)本發(fā)明一實(shí)施例的圖2b中幀的內(nèi)容更新造成的每個(gè)幀的臟區(qū)域的示意圖。如圖2c所示,幀220的臟區(qū)域?yàn)閰^(qū)域223。區(qū)域223中的幀220的所有區(qū)域被稱為臟區(qū)域。幀220中除了臟區(qū)域之外的剩余區(qū)域被稱為非臟區(qū)域。類似地,幀230和幀240的臟區(qū)域分別為區(qū)域233和區(qū)域243。本領(lǐng)域技術(shù)人員應(yīng)可理解,幀n的臟區(qū)域指示幀n和幀(n-1)之間的差異,并且代表合成器151必須重新合成的區(qū)域,另外這種區(qū)域也被稱為幀n的表面受損(區(qū)域)。其中,在一實(shí)施例中,幀n可為幀230,幀(n-1)可為幀220。
圖3是根據(jù)本發(fā)明一實(shí)施例的在圖形系統(tǒng)中為由多個(gè)幀組成的圖像數(shù)據(jù)生成臟信息的方法流程圖。在步驟s302中,將每個(gè)幀劃分為多個(gè)區(qū)域。在一實(shí)施例中,每個(gè)幀中的區(qū)域可為大小相等的片或塊。在另一實(shí)施例中,每個(gè)幀中的區(qū)域可為大小不等的片或塊。在步驟s304中,獲得當(dāng)前幀中每個(gè)區(qū)域各自的校驗(yàn)和以及先前幀中相應(yīng)區(qū)域各自的校驗(yàn)和。請(qǐng)注意,當(dāng)前幀中每個(gè)區(qū)域各自的校驗(yàn)和以及先前幀中相應(yīng)區(qū)域各自的校驗(yàn)和可存儲(chǔ)在幀的像素值所存儲(chǔ)的相同幀緩沖器中,也可存儲(chǔ)在與幀的像素值所存儲(chǔ)的幀緩沖器不同的另一幀緩沖器中。在步驟s306中,比較當(dāng)前幀中每個(gè)區(qū)域各自的校驗(yàn)和以及先前幀中相應(yīng)區(qū)域各自的校驗(yàn)和,以確定被比較的特定區(qū)域是臟區(qū)域還是非臟區(qū)域。
在步驟s308中,根據(jù)當(dāng)前幀的每個(gè)區(qū)域的校驗(yàn)和,生成當(dāng)前幀的每個(gè)區(qū)域各自的臟信息。每個(gè)步驟的更多細(xì)節(jié)可參考圖1、圖2a-2c及圖3相關(guān)的實(shí)施例,但本發(fā)明并不限于此。此外,在不同的實(shí)施例中,這些步驟可按不同的順序執(zhí)行和/或合并或分開執(zhí)行。
圖4是根據(jù)本發(fā)明另一實(shí)施例的在圖形系統(tǒng)中生成臟信息的方法流程圖。這里使用圖1的圖形系統(tǒng)100解釋該流程圖,然而本發(fā)明實(shí)施例并不只限于圖形系統(tǒng)100。在本實(shí)施例中,為了描述本發(fā)明,與每個(gè)幀中每個(gè)區(qū)域有關(guān)的校驗(yàn)和為crc值。本領(lǐng)域技術(shù)人員應(yīng)可理解,還可采用其他的校驗(yàn)和值或碼。
在步驟s402中,將每個(gè)幀劃分為多個(gè)區(qū)域,其中每個(gè)區(qū)域可包括多個(gè)像素。在一實(shí)施例中,步驟s402可由圖1中的gpu130執(zhí)行。
在步驟s404中,將幀(如與幀的每個(gè)像素有關(guān)的各像素?cái)?shù)據(jù))存儲(chǔ)在圖形系統(tǒng)100的一個(gè)或多個(gè)幀緩沖器的至少一個(gè)幀緩沖器中。請(qǐng)注意,上述像素?cái)?shù)據(jù)可包括像素的像素值。在一實(shí)施例中,步驟s404可由圖1中的gpu130執(zhí)行。
在步驟s406中,根據(jù)與幀的每個(gè)區(qū)域中的像素有關(guān)的像素?cái)?shù)據(jù),獲得與幀的每個(gè)區(qū)域有關(guān)的各crc值。在一實(shí)施例中,步驟s406可由圖1中的gpu130(或臟信息生成器132)執(zhí)行。
在步驟s408中,將與幀的每個(gè)區(qū)域有關(guān)的各crc值存儲(chǔ)到圖形系統(tǒng)100的一個(gè)或多個(gè)幀緩沖器的至少一個(gè)幀緩沖器中。請(qǐng)注意,與每個(gè)幀的每個(gè)區(qū)域有關(guān)的各crc值可存儲(chǔ)到同一幀緩沖器中,也可存儲(chǔ)到不同的幀緩沖器中。在一實(shí)施例中,步驟s408可由圖1中的gpu130(或臟信息生成器132)執(zhí)行。
在步驟s410中,從一個(gè)或多個(gè)幀緩沖器中的至少一個(gè)幀緩沖器中,獲取與每個(gè)幀的每個(gè)區(qū)域有關(guān)的各crc值。在一實(shí)施例中,步驟s410可由圖1中的臟信息生成器132執(zhí)行。
在步驟s412中,比較獲取的與每個(gè)幀的每個(gè)區(qū)域有關(guān)的各crc值,以確定幀中的特定區(qū)域是臟區(qū)域還是非臟區(qū)域。在一實(shí)施例中,步驟s412可由圖1中的臟信息生成器132執(zhí)行。
在步驟s414中,根據(jù)比較結(jié)果,生成與幀的每個(gè)區(qū)域有關(guān)的臟信息。在一實(shí)施例中,步驟s412可由圖1中的臟信息生成器132執(zhí)行。具體來說,若圖像數(shù)據(jù)的當(dāng)前幀中特定區(qū)域的crc值與該圖像數(shù)據(jù)的先前幀中相應(yīng)區(qū)域的crc值相同,則臟信息生成器132可生成指示該區(qū)域?yàn)榉桥K區(qū)域的臟信息。若圖像數(shù)據(jù)的當(dāng)前幀中特定區(qū)域的crc值與該圖像數(shù)據(jù)的先前幀中相應(yīng)區(qū)域的crc值不同,則臟信息生成器132可生成指示該區(qū)域?yàn)榕K區(qū)域的臟信息。
以圖2b所示的幀230中的區(qū)域21和22為例,若幀220和230中的區(qū)域21和22的crc值分別存儲(chǔ)在第一幀緩沖器和第二幀緩沖器中,臟信息生成器132從第一幀緩沖器和第二幀緩沖器中獲取區(qū)域21的crc值crc1和crc3,以及區(qū)域22的crc值crc2和crc4(步驟s410);將crc3與crc1進(jìn)行比較,并將crc4與crc2進(jìn)行比較(步驟s412);以及根據(jù)各比較結(jié)果生成與區(qū)域21和22有關(guān)的臟信息(步驟s414)。在本示范例中,由于crc3與crc1相同,與幀230中區(qū)域21有關(guān)的臟信息的值為0,以指示區(qū)域21為非臟區(qū)域。類似地,由于crc4與crc2不同,與幀230中區(qū)域22有關(guān)的臟信息的值為1,以指示區(qū)域22為臟區(qū)域。
生成與幀的每個(gè)區(qū)域有關(guān)的臟信息后,與幀的每個(gè)區(qū)域有關(guān)的各臟信息可進(jìn)一步存儲(chǔ)在圖形系統(tǒng)100的一個(gè)或多個(gè)幀緩沖器中。請(qǐng)注意,臟信息可存儲(chǔ)在幀(如幀的像素值)所存儲(chǔ)的相同幀緩沖器中,也可存儲(chǔ)在與幀(如幀的像素值)所存儲(chǔ)的幀緩沖器不同的另一幀緩沖器中。合成器151可獲取與幀的每個(gè)區(qū)域有關(guān)的臟信息,并根據(jù)獲取的與幀的每個(gè)區(qū)域有關(guān)的臟信息確定是從一個(gè)或多個(gè)幀緩沖器的至少一個(gè)緩沖器中獲取還是跳過獲取幀的各區(qū)域的像素?cái)?shù)據(jù)。合成器151隨后根據(jù)獲取的幀區(qū)域生成成果圖像(如混合圖像)。舉例來說,當(dāng)某特定區(qū)域的臟信息指示臟區(qū)域時(shí),合成器151從一個(gè)或多個(gè)幀緩沖器中獲取該特定區(qū)域的數(shù)據(jù)。相反地,當(dāng)某特定區(qū)域的臟信息指示非臟區(qū)域時(shí),合成器151可跳過從一個(gè)或多個(gè)幀緩沖器中的特定區(qū)域的數(shù)據(jù)存取。
參照以上實(shí)施例,本發(fā)明提出了為由多個(gè)幀組成的數(shù)據(jù)圖像生成臟信息的圖形系統(tǒng)和相關(guān)方法。當(dāng)從幀緩沖器中讀取圖像的每個(gè)區(qū)域的像素?cái)?shù)據(jù)時(shí),圖形系統(tǒng)的臟信息生成器可獲取圖像數(shù)據(jù)的幀的每個(gè)區(qū)域各自的校驗(yàn)和,并根據(jù)圖像數(shù)據(jù)的幀的區(qū)域的各校驗(yàn)和之間的比較,提供臟信息以指示不同幀之間哪個(gè)區(qū)域已改變或損壞。舉例來說,當(dāng)圖像數(shù)據(jù)的當(dāng)前幀的特定區(qū)域的校驗(yàn)和與圖像數(shù)據(jù)的先前幀的相應(yīng)區(qū)域的校驗(yàn)和相同時(shí),臟信息生成器生成臟信息,指示該特定區(qū)域?yàn)榉桥K區(qū)域。當(dāng)圖像數(shù)據(jù)的當(dāng)前幀的特定區(qū)域的校驗(yàn)和與圖像數(shù)據(jù)的先前幀的相應(yīng)區(qū)域的校驗(yàn)和不同時(shí),臟信息生成器生成臟信息,指示該特定區(qū)域?yàn)榕K區(qū)域。合成器根據(jù)與圖像數(shù)據(jù)的幀的每個(gè)區(qū)域有關(guān)的臟信息,可跳過幀的特定區(qū)域(即非臟區(qū)域)的數(shù)據(jù)存取,以避免浪費(fèi)時(shí)間在重新合成未改變的幀的區(qū)域上。相應(yīng)地,幀之間的臟區(qū)域或損壞區(qū)域可被適當(dāng)設(shè)置,因此可只對(duì)幀之間的必要區(qū)域進(jìn)行高效的部分更新,并使能合成器僅合成改變的部分表面,從而有效減少對(duì)幀緩沖器的數(shù)據(jù)存取量,并減小所需的存儲(chǔ)器帶寬。
上述生成臟信息以指示圖形系統(tǒng)中圖像數(shù)據(jù)的幀之間的臟區(qū)域的方法的實(shí)施例,或者這些實(shí)施例的某些方面或部分,可在邏輯電路中實(shí)現(xiàn),也可通過有形媒介中呈現(xiàn)的程序碼(即指令)實(shí)現(xiàn)。其中有形媒介諸如軟盤(floppydiskettes)、cd-rom、硬盤驅(qū)動(dòng)器或任何其他機(jī)器可讀存儲(chǔ)媒介等。當(dāng)程序碼被機(jī)器(如智能手機(jī)、移動(dòng)電話或類似裝置等)加載并執(zhí)行時(shí),機(jī)器變成了執(zhí)行本發(fā)明的設(shè)備。本發(fā)明所提出的方法也可以以一些傳輸媒介上傳輸?shù)?例如電線或電纜,通過光纖或通過任何其他傳輸形式)程序碼的形式呈現(xiàn)。其中,當(dāng)程序碼被機(jī)器接收、加載并執(zhí)行時(shí),機(jī)器變成了執(zhí)行本發(fā)明的設(shè)備。當(dāng)在通用處理器上實(shí)現(xiàn)時(shí),程序碼與處理器相結(jié)合,以便提供類似于特定邏輯電路的操作的獨(dú)特裝置。
本發(fā)明雖以較佳實(shí)施例揭露如上以用于指導(dǎo)目的,但是其并非用以限定本發(fā)明的范圍。相應(yīng)地,在不脫離本發(fā)明的范圍內(nèi),可對(duì)上述實(shí)施例的各種特征進(jìn)行變更、潤飾和組合。本發(fā)明的范圍以權(quán)利要求書為準(zhǔn)。