本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),具體涉及在數(shù)據(jù)處理系統(tǒng)中生成用于在顯示器上顯示的圖像時(shí)的數(shù)據(jù)處理。
背景技術(shù):
在數(shù)據(jù)處理系統(tǒng)中,經(jīng)常會出現(xiàn)這樣的情況:數(shù)據(jù)是以與隨后需要的格式不同的格式生成或以其他方式提供。這可以例如是在處理用于顯示的圖像時(shí)的情況。在這種情況下,關(guān)于待顯示的圖像的數(shù)據(jù)可以以初始格式來生成,諸如為數(shù)據(jù)位置(例如“塊”)的多個(gè)二維區(qū)塊(陣列)的形式,但可能以數(shù)據(jù)位置的多個(gè)一維行(例如,柵格行)的形式進(jìn)一步處理和/或提供給顯示器(諸如顯示板)。
在這種結(jié)構(gòu)中,數(shù)據(jù)處理系統(tǒng)必須從一種格式有效地轉(zhuǎn)換為另一種格式。這例如可以通過將數(shù)據(jù)以其初始格式(例如,如數(shù)據(jù)區(qū)塊)寫到諸如緩沖器這樣的儲存器,然后以其他格式(例如,如數(shù)據(jù)行)從例如緩沖器這樣的儲存器讀出數(shù)據(jù)來實(shí)現(xiàn)。換言之,數(shù)據(jù)可以以一種格式或模式生成并寫到緩沖器,然后以另一種不同的格式或模式從緩沖器“消耗”。
一個(gè)示例性這種結(jié)構(gòu)是在顯示控制器中,在顯示控制器中,輸入數(shù)據(jù)區(qū)塊(陣列)以柵格行的形式來使用(消耗)(例如,在生成用于在顯示器上顯示的輸出幀時(shí))。
技術(shù)實(shí)現(xiàn)要素:
申請人相信以該方式操作的數(shù)據(jù)處理系統(tǒng)還存在改進(jìn)范圍。
根據(jù)本發(fā)明的第一方面,提供了一種操作數(shù)據(jù)處理系統(tǒng)的方法,該方法包括以下步驟:
數(shù)據(jù)處理系統(tǒng)的第一處理級根據(jù)第一模式產(chǎn)生數(shù)據(jù);以及
數(shù)據(jù)處理系統(tǒng)的第二處理級根據(jù)不同的第二模式使用由第一處理級產(chǎn)生的數(shù)據(jù);
方法還包括以下步驟:數(shù)據(jù)處理系統(tǒng):
在第一處理級已經(jīng)產(chǎn)生數(shù)據(jù)組時(shí)停用第一處理級,該數(shù)據(jù)組包括允許由第二處理級根據(jù)第二模式使用該數(shù)據(jù)組的足夠數(shù)據(jù);并且
基于由第二處理級對該數(shù)據(jù)組的使用來重新啟動(dòng)第一處理級。
根據(jù)本發(fā)明的第二方面,提供了一種數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括:
第一處理級,該第一處理級可操作用于根據(jù)第一模式產(chǎn)生數(shù)據(jù);以及
第二處理級,該第二處理級可操作用于根據(jù)不同的第二模式使用由第一處理級產(chǎn)生的數(shù)據(jù);
其中,數(shù)據(jù)處理系統(tǒng)可操作用于:
在第一處理級已經(jīng)產(chǎn)生數(shù)據(jù)組時(shí)停用第一處理級,該數(shù)據(jù)組包括允許由第二處理級根據(jù)第二模式使用該數(shù)據(jù)組的足夠數(shù)據(jù);以及
基于由第二處理級對該數(shù)據(jù)組的使用來重新啟動(dòng)第一處理級。
本發(fā)明涉及一種操作數(shù)據(jù)處理系統(tǒng)的方法,在該方法中,第一處理級根據(jù)第一模式產(chǎn)生數(shù)據(jù),并且第二處理級根據(jù)不同的第二模式使用(即,消耗)該數(shù)據(jù)。在本發(fā)明中,當(dāng)?shù)谝惶幚砑壱呀?jīng)(根據(jù)第一模式)產(chǎn)生特定的數(shù)據(jù)組時(shí),停用第一處理級,然后可以基于第二處理級該數(shù)據(jù)組的使用而啟動(dòng)(即,重新啟動(dòng))第一處理級。
如本領(lǐng)域技術(shù)人員將理解的,以本發(fā)明的方式停用第一處理級(例如且優(yōu)選地,“時(shí)鐘關(guān)斷”第一處理級)具有降低數(shù)據(jù)處理系統(tǒng)的功率消耗的效果。
此外,并且如下面將更詳細(xì)描述的,通過基于由第二處理級對數(shù)據(jù)組的使用來啟動(dòng)(即,重新啟動(dòng))第一處理級,第一處理級可以在未不利地影響數(shù)據(jù)處理系統(tǒng)的整體操作的情況下(例如,并且優(yōu)選地,在從不造成第二處理級缺乏供其使用的數(shù)據(jù)的情況下)被停用。
由此,例如(且在優(yōu)選實(shí)施方式中),在第一處理級已經(jīng)產(chǎn)生數(shù)據(jù)組并已經(jīng)停用之后,并且在該數(shù)據(jù)組由第二處理級使用的同時(shí),在第一處理級產(chǎn)生另數(shù)據(jù)組所花費(fèi)的時(shí)間等于或足夠類似于第二處理級使用(已經(jīng)產(chǎn)生的)該數(shù)據(jù)組中的剩余數(shù)據(jù)所花費(fèi)的時(shí)間的時(shí)刻或接近該時(shí)刻時(shí),第一處理級可以重新啟動(dòng)。這在最大化(或至少增大)可以停用第一處理級的時(shí)間量(和相應(yīng)的、任何得到的功率節(jié)省)的同時(shí)確保第二處理級不缺乏供其使用的數(shù)據(jù)。
而且,申請人已經(jīng)認(rèn)識到,在產(chǎn)生數(shù)據(jù)的模式不用于使用(消耗)該數(shù)據(jù)的模式的情況下,在停用產(chǎn)生數(shù)據(jù)的(第一)處理級之前(根據(jù)第一模式)產(chǎn)生的數(shù)據(jù)組應(yīng)包括允許根據(jù)第二(不同)模式使用該數(shù)據(jù)組的足夠數(shù)據(jù)(并且在本發(fā)明中就是這樣進(jìn)行的)。例如,在數(shù)據(jù)以區(qū)塊形式產(chǎn)生且然后以行的形式消耗的情況下,產(chǎn)生數(shù)據(jù)的(第一)處理級應(yīng)當(dāng)且優(yōu)選地被控制成在停用該處理級之前產(chǎn)生適當(dāng)行寬度的區(qū)塊。
這然后允許(例如,以行的形式)“獨(dú)立地”消耗該數(shù)據(jù)組(即,在不需要在消耗該數(shù)據(jù)組的同時(shí)產(chǎn)生另外的數(shù)據(jù)的情況下)。這轉(zhuǎn)而再次具有最大化(或至少增大)可以停用第一處理級的時(shí)間量(和相應(yīng)的、任何得到的功率節(jié)省)的效果。
因此,將理解,本發(fā)明提供改進(jìn)的數(shù)據(jù)處理系統(tǒng)和操作數(shù)據(jù)處理系統(tǒng)的方法。
本發(fā)明的第一處理級可以包括可操作用于根據(jù)第一模式產(chǎn)生數(shù)據(jù)的任何合適且期望的處理級。第一處理級例如可以包括解碼器、旋轉(zhuǎn)級、圖形處理單元(gpu)、中央處理單元(cpu)、視頻編解碼器、合成器等。
可以存在可操作用于根據(jù)第一模式產(chǎn)生數(shù)據(jù)的單個(gè)第一處理級,或者可以存在多個(gè)第一處理級。在存在多個(gè)第一處理級的情況下,那么各第一處理級優(yōu)選地以本發(fā)明的第一處理級的方式來操作。
由第一處理級產(chǎn)生且由第二處理級使用的數(shù)據(jù)可以包括可以由數(shù)據(jù)處理系統(tǒng)產(chǎn)生的任何合適且期望的數(shù)據(jù)。在優(yōu)選實(shí)施方式中,數(shù)據(jù)包括一個(gè)或更多個(gè)數(shù)據(jù)陣列。數(shù)據(jù)陣列或各數(shù)據(jù)陣列優(yōu)選地包括多個(gè)數(shù)據(jù)位置的陣列,各數(shù)據(jù)位置采取特定數(shù)據(jù)(例如,顏色)值。最優(yōu)選地,數(shù)據(jù)包括用于顯示或其他用途的圖像數(shù)據(jù),即,一個(gè)或更多個(gè)圖像(顏色)數(shù)據(jù)陣列,例如,一幀或更多幀。
在優(yōu)選實(shí)施方式中,由第一處理級產(chǎn)生且由第二處理級使用的數(shù)據(jù)采取多個(gè)數(shù)據(jù)字(例如,諸如多個(gè)高級可擴(kuò)展接口(axi)字)的形式(包括多個(gè)數(shù)據(jù)字),其中,各字優(yōu)選地包括關(guān)于數(shù)據(jù)陣列的多個(gè)數(shù)據(jù)位置的數(shù)據(jù)。
由第一處理級產(chǎn)生的數(shù)據(jù)根據(jù)第一模式來產(chǎn)生。第一模式可以包括可以產(chǎn)生數(shù)據(jù)的任何合適和期望模式。
在優(yōu)選實(shí)施方式中,第一處理級可操作用于以多個(gè)數(shù)據(jù)區(qū)塊的形式產(chǎn)生數(shù)據(jù),其中,各數(shù)據(jù)區(qū)塊表示數(shù)據(jù)陣列的特定區(qū)域(區(qū))。各數(shù)據(jù)區(qū)塊應(yīng)當(dāng)且優(yōu)選地確實(shí)包括數(shù)據(jù)陣列的至少兩排和至少兩列的數(shù)據(jù)位置。
由此,在優(yōu)選實(shí)施方式中,由第一處理級產(chǎn)生的數(shù)據(jù)陣列或各數(shù)據(jù)陣列根據(jù)第一模式被劃分或分開成多個(gè)可識別的較小區(qū)域,各較小區(qū)域表示整個(gè)陣列的一部分,并且因此可以被表示為數(shù)據(jù)區(qū)塊。
陣列或各陣列根據(jù)第一模式被細(xì)分為數(shù)據(jù)區(qū)塊可以根據(jù)期望來進(jìn)行,并且各數(shù)據(jù)區(qū)塊可以表示整個(gè)數(shù)據(jù)陣列的任何合適且期望的區(qū)域(區(qū))。
根據(jù)第一模式的各數(shù)據(jù)區(qū)塊優(yōu)選地表示整個(gè)陣列的不同部分(子區(qū)域)(但如果期望,則區(qū)塊可以交疊)。各區(qū)塊應(yīng)當(dāng)表示陣列的適當(dāng)部分(區(qū))(陣列內(nèi)的多個(gè)數(shù)據(jù)位置)。
在一個(gè)特別優(yōu)選的實(shí)施方式中,由第一處理級產(chǎn)生的數(shù)據(jù)陣列或各數(shù)據(jù)陣列根據(jù)第一模式被劃分為優(yōu)選地為正方形或矩形形式的規(guī)則尺寸和形狀的區(qū)域(數(shù)據(jù)區(qū)塊)。然而,這不是必須的,并且可以使用其他結(jié)構(gòu)(如果期望)。用于第一模式的合適數(shù)據(jù)區(qū)塊尺寸為例如數(shù)據(jù)陣列中的8*8、16*16或32*32個(gè)數(shù)據(jù)位置。
在特別優(yōu)選的實(shí)施方式中,由第一處理級產(chǎn)生的各數(shù)據(jù)區(qū)塊對應(yīng)于第一處理級產(chǎn)生作為其輸出的“塊”。由此,第一模式優(yōu)選地為塊模式。
在基于塊的數(shù)據(jù)處理系統(tǒng)中,數(shù)據(jù)處理系統(tǒng)的二維輸出陣列(例如,幀)被細(xì)分為或分成通常稱為“塊”的多個(gè)較小區(qū)域以用于數(shù)據(jù)處理。塊(子區(qū)域)可以各單獨(dú)處理(例如,一個(gè)接一個(gè)或并行)。如果期望,則可以重新組合塊(子區(qū)域),以提供完整的輸出陣列(幀),例如以顯示。
通常用于“成塊”和“基于塊的”處理的其他術(shù)語包括“組塊”(子區(qū)域被稱為“大塊(chunk)”)和“桶(bucket)”數(shù)據(jù)處理。為方便起見,這里將使用術(shù)語“塊”和“成塊”,但應(yīng)理解,這些術(shù)語旨在包含全部另選和等同術(shù)語和技術(shù)。)
在數(shù)據(jù)被產(chǎn)生為數(shù)據(jù)字的情況下,各數(shù)據(jù)區(qū)塊優(yōu)選地包括多個(gè)數(shù)據(jù)字(例如,多個(gè)axi字),各字優(yōu)選地包括關(guān)于區(qū)塊的多個(gè)數(shù)據(jù)位置的數(shù)據(jù)。
在另一個(gè)實(shí)施方式中,第一處理級可操作用于產(chǎn)生多行的形式的數(shù)據(jù)。即,第一模式可以為行(柵格)模式。在這種情況下,由第一處理級產(chǎn)生的各數(shù)據(jù)行應(yīng)當(dāng)且優(yōu)選地確實(shí)包括為一個(gè)數(shù)據(jù)位置高和多個(gè)數(shù)據(jù)位置寬(長)的數(shù)據(jù)陣列的一排數(shù)據(jù)位置。各行優(yōu)選地具有對應(yīng)于(等于)由第一處理級產(chǎn)生的整個(gè)數(shù)據(jù)陣列的寬度的寬度。然而,還將可以的是使各行具有某一其他寬度,諸如整個(gè)數(shù)據(jù)陣列寬度的一部分(例如,一半)。在如上面討論的數(shù)據(jù)包括多個(gè)數(shù)據(jù)字的情況下,第一處理級可以按柵格(行)順序產(chǎn)生數(shù)據(jù)字(即,按柵格行順序從字到字)。
第一處理級可以以任何合適且期望的方式產(chǎn)生數(shù)據(jù)。第一處理級優(yōu)選地生成數(shù)據(jù),例如通過生成數(shù)據(jù)本身和/或通過從別處(諸如從數(shù)據(jù)處理系統(tǒng)的存儲器或一個(gè)或更多個(gè)其他處理級)讀取或接收數(shù)據(jù)且然后處理(例如,修改)該數(shù)據(jù)。
在數(shù)據(jù)從存儲器讀取的實(shí)施方式中,存儲器可以包括任何合適的存儲器,并且可以以任何合適且期望的方式來構(gòu)造。例如,存儲器可以為具有關(guān)注的處理級和/或本地于該處理級的芯片上的存儲器,或者可以為外部存儲器。在優(yōu)選實(shí)施方式中,存儲器是外部存儲器,諸如數(shù)據(jù)處理系統(tǒng)的主存儲器。存儲器可以為用于該目的的專用存儲器,或者它可以為也用于其他數(shù)據(jù)的存儲器的一部分。在優(yōu)選實(shí)施方式中,數(shù)據(jù)從幀緩沖器讀取(和存儲在該緩沖器中)。
對應(yīng)地,在數(shù)據(jù)從存儲器讀取的實(shí)施方式中,數(shù)據(jù)處理系統(tǒng)和/或第一處理級可以包括讀取控制器,諸如可操作用于從存儲器讀取數(shù)據(jù)的直接存儲器存取(dma)讀取控制器。
在特別優(yōu)選的實(shí)施方式中,第一處理級包括解碼器(優(yōu)選的為arm幀緩沖器合成(afmc)(或其他基于區(qū)塊的編碼方案)解碼器(美國a12013/0034309中描述了afrc)),該解碼器可操作用于解碼(解壓縮)例如從存儲器讀取的、諸如一個(gè)或更多個(gè)所接收(優(yōu)選地為afbc)經(jīng)編碼(經(jīng)壓縮)數(shù)據(jù)區(qū)塊的數(shù)據(jù)。因此,在該實(shí)施方式中,根據(jù)第一模式產(chǎn)生數(shù)據(jù)的第一處理級包括(afbc)解碼器,該解碼器根據(jù)第一模式解碼和/或解壓縮(afbc)經(jīng)編碼數(shù)據(jù)(的區(qū)塊),以產(chǎn)生經(jīng)解碼和/或經(jīng)解壓縮(例如,顏色)數(shù)據(jù)(例如,經(jīng)解碼和/或經(jīng)解壓縮的數(shù)據(jù)的區(qū)塊)。
在另一個(gè)特別優(yōu)選的實(shí)施方式中,第一處理級包括旋轉(zhuǎn)級,該旋轉(zhuǎn)級可操作用于旋轉(zhuǎn)例如從存儲器讀取的數(shù)據(jù)(諸如一個(gè)或更多個(gè)所接收數(shù)據(jù)區(qū)塊)。因此,在該實(shí)施方式中,根據(jù)第一模式產(chǎn)生數(shù)據(jù)的第一處理級包括旋轉(zhuǎn)級,該旋轉(zhuǎn)級旋轉(zhuǎn)(例如,顏色)數(shù)據(jù)(的區(qū)塊),以根據(jù)第二模式產(chǎn)生經(jīng)旋轉(zhuǎn)的數(shù)據(jù)(例如,經(jīng)旋轉(zhuǎn)的數(shù)據(jù)區(qū)塊)。
第二處理級使用由第一處理級產(chǎn)生的數(shù)據(jù)。為了促進(jìn)這一點(diǎn),第一處理級優(yōu)選地可操作用于(根據(jù)第一模式)將其數(shù)據(jù)寫到數(shù)據(jù)處理系統(tǒng)的儲存器(例如,存儲器,優(yōu)選的為(本地)緩沖存儲器),以由第二處理級使用。
由此,在優(yōu)選實(shí)施方式中:
數(shù)據(jù)處理系統(tǒng)還包括存儲器(優(yōu)選地為緩沖存儲器);并且
第一處理級根據(jù)第一模式將數(shù)據(jù)寫到存儲器,以由第二處理級使用。
本發(fā)明的第二處理級可以包括可操作用于根據(jù)不同的第二模式使用由第一處理級產(chǎn)生的數(shù)據(jù)的任何合適且期望的處理級。第二處理級例如可以包括顯示控制器的所謂“解塊器”,該解塊器可操作用于將一個(gè)或更多個(gè)數(shù)據(jù)區(qū)塊(塊)形式的數(shù)據(jù)轉(zhuǎn)換成一個(gè)或更多個(gè)數(shù)據(jù)行的形式的數(shù)據(jù),例如以進(jìn)一步處理和/或顯示。
還將可以的是使第二處理級包括顯示控制器的所謂“成塊器”,該成塊器可操作用于將一個(gè)或更多個(gè)數(shù)據(jù)行的形式的數(shù)據(jù)轉(zhuǎn)換成一個(gè)或更多個(gè)數(shù)據(jù)區(qū)塊(塊)形式的數(shù)據(jù),例如以進(jìn)一步處理和/或顯示。
再次,可以存在可操作用于根據(jù)第二模式使用數(shù)據(jù)的單個(gè)第二理級,或者可以存在多個(gè)第二處理級。在存在多個(gè)第二處理級的情況下,那么各第二處理級優(yōu)選地以本發(fā)明的第二處理級的方式來操作。
由第一處理級產(chǎn)生的數(shù)據(jù)由第二處理級根據(jù)第二模式來使用。由此,第二處理級應(yīng)當(dāng)(且優(yōu)選地確實(shí))根據(jù)除了第一模式之外的模式使用數(shù)據(jù)。第二模式可以包括可以使用數(shù)據(jù)的任何合適和期望模式,只要第二模式不同于第一模式。
在優(yōu)選實(shí)施方式中,數(shù)據(jù)(陣列)由第二處理級根據(jù)數(shù)據(jù)處理系統(tǒng)的第二處理級和/或一個(gè)或更多個(gè)其他下游處理級被構(gòu)造成將該數(shù)據(jù)用作該級輸入的模式來使用。由此,例如,在數(shù)據(jù)包括用于顯示的圖像數(shù)據(jù)(或要用于生成用于顯示的圖像的數(shù)據(jù))的一個(gè)優(yōu)選實(shí)施方式中,數(shù)據(jù)(陣列)由第二處理級根據(jù)與顯示器被構(gòu)造成將該數(shù)據(jù)用作顯示器輸入的模式對應(yīng)的模式(即,由第二處理級所用的模式對應(yīng)于被提供給顯示器以顯示的數(shù)據(jù)的模式)來使用。
在特別優(yōu)選的實(shí)施方式中,數(shù)據(jù)以行(優(yōu)選地為柵格(行)順序)的形式來被第二處理級使用。即,第二模式優(yōu)選地為行(柵格)模式。
各數(shù)據(jù)行應(yīng)當(dāng)且優(yōu)選地確實(shí)包括為一個(gè)數(shù)據(jù)位置高和多個(gè)數(shù)據(jù)位置寬(長)的數(shù)據(jù)陣列的一排數(shù)據(jù)位置。各行優(yōu)選地具有對應(yīng)于(等于)由第一處理級產(chǎn)生的整個(gè)數(shù)據(jù)陣列的寬度的寬度。然而,還將可以的是使各行具有某一其他寬度,諸如整個(gè)數(shù)據(jù)陣列寬度的一部分(例如,一半)。
由此,在由第一處理級產(chǎn)生的整個(gè)數(shù)據(jù)陣列或各整個(gè)數(shù)據(jù)陣列包括多個(gè)數(shù)據(jù)位置的陣列的情況下,數(shù)據(jù)陣列優(yōu)選地由第二處理級按柵格行順序從數(shù)據(jù)位置到數(shù)據(jù)位置使用。因此,在如上面討論的數(shù)據(jù)包括多個(gè)數(shù)據(jù)字的情況下,第二處理級優(yōu)選地按柵格(行)順序使用數(shù)據(jù)字(即,按柵格行順序從字到字)。
在另一個(gè)實(shí)施方式中,例如如上所述的,數(shù)據(jù)以多個(gè)數(shù)據(jù)區(qū)塊的形式由第二處理級使用,其中,各數(shù)據(jù)區(qū)塊表示數(shù)據(jù)陣列的特定區(qū)域(區(qū))。在這種情況下,各數(shù)據(jù)區(qū)塊應(yīng)當(dāng)且優(yōu)選地確實(shí)包括數(shù)據(jù)陣列的至少兩排和至少兩列的數(shù)據(jù)位置。用于第二模式的合適數(shù)據(jù)區(qū)塊尺寸將例如為數(shù)據(jù)陣列中的8*8、16*16或32*32個(gè)數(shù)據(jù)位置。
第二處理級可以以任何合適且期望的方式來使用由第一處理級產(chǎn)生的數(shù)據(jù)。由第二處理級使用數(shù)據(jù)的速率應(yīng)當(dāng)(且優(yōu)選地)不同于且優(yōu)選地為低于由第一處理級產(chǎn)生數(shù)據(jù)的速率。
為了使第二處理級根據(jù)第二模式使用(根據(jù)第一模式產(chǎn)生的)數(shù)據(jù),由第一處理級(根據(jù)第一模式)產(chǎn)生的數(shù)據(jù)必須且在優(yōu)選實(shí)施方式中是被有效轉(zhuǎn)換成根據(jù)第二模式的數(shù)據(jù)。
這可以以任何合適且期望的方式來實(shí)現(xiàn)。然而,根據(jù)特別優(yōu)選的實(shí)施方式,第二處理級可操作用于從根據(jù)第二模式存儲數(shù)據(jù)的儲存器(例如,存儲器)讀取數(shù)據(jù)。由此,第二處理級優(yōu)選地通過根據(jù)第二模式從存儲器讀取數(shù)據(jù)來根據(jù)第二模式使用數(shù)據(jù)。
因此,在優(yōu)選實(shí)施方式中:
第一處理級根據(jù)第一模式將數(shù)據(jù)寫到存儲器,以由第二處理級使用;并且
第二處理級根據(jù)不同的第二模式從存儲器讀取數(shù)據(jù)。
在如上面討論的第一模式包括區(qū)塊(塊)模式且第二模式包括行(柵格)模式的情況下,第一處理級優(yōu)選地將數(shù)據(jù)區(qū)塊(塊)寫到存儲器,并且第二處理級優(yōu)選地從存儲器讀取數(shù)據(jù)行(例如,按柵格順序讀取數(shù)據(jù))。
由此,在特別優(yōu)選的實(shí)施方式中,第一處理級被構(gòu)造成以輸出陣列的數(shù)據(jù)位置(即,“塊”)的二維區(qū)塊(陣列)的形式產(chǎn)生區(qū)域(即,高度和寬度各大于單個(gè)數(shù)據(jù)位置的區(qū)域),并且將這些區(qū)域(數(shù)據(jù)區(qū)塊)寫到數(shù)據(jù)處理系統(tǒng)的存儲器,而第二處理級優(yōu)選地被構(gòu)造成按柵格順序,即,以行(一個(gè)數(shù)據(jù)位置高且多個(gè)數(shù)據(jù)位置寬(長)的數(shù)據(jù)位置的排)形式使用數(shù)據(jù)陣列(以從存儲器讀取數(shù)據(jù)陣列)。
因此,這將意味著第二處理級優(yōu)選地被構(gòu)造成連續(xù)地使用(讀取)來自多個(gè)第一處理級輸出的區(qū)域(區(qū)塊)的數(shù)據(jù)位置中的一些數(shù)據(jù)位置但不是全部數(shù)據(jù)位置(即,而不是在開始下一區(qū)塊之前使用完整區(qū)塊)(例如且優(yōu)選地,逐行(逐排)),例如,并且優(yōu)選地,逐行(逐排),其中,各行(排)包括來自多個(gè)不同第一處理級輸出的區(qū)域(區(qū)塊)的、級聯(lián)的各數(shù)據(jù)位置排。由此,由第二處理級使用的各數(shù)據(jù)位置行(排)可以(且優(yōu)選地)從由第一處理級產(chǎn)生的整個(gè)數(shù)據(jù)陣列的多個(gè)區(qū)塊(塊)取得。
在優(yōu)選的這種實(shí)施方式中,連續(xù)使用(讀取)來自多個(gè)輸出區(qū)域(區(qū)塊)中的每一個(gè)的各對應(yīng)行(排)的數(shù)據(jù)位置,即,在移至下一行上之前一個(gè)接一個(gè)地使用。例如,可以連續(xù)使用(讀取)處于區(qū)塊行(排)中的各個(gè)區(qū)塊的頂行(排)中的數(shù)據(jù)位置。然后可以連續(xù)(一起)使用(讀取)處于區(qū)塊行(排)中的各個(gè)區(qū)塊的第二行中的數(shù)據(jù)位置。
另一方面,在如上面討論的第一模式包括行(柵格)模式且第二模式包括區(qū)塊(塊)模式的情況下,第一處理級優(yōu)選地將數(shù)據(jù)行寫到存儲器,并且第二處理級優(yōu)選地從存儲器讀取數(shù)據(jù)區(qū)塊(塊)。
由此,在優(yōu)選實(shí)施方式中,第一處理級被構(gòu)造成以行(一個(gè)數(shù)據(jù)位置高且多個(gè)數(shù)據(jù)位置寬(長)的數(shù)據(jù)位置排)的形式產(chǎn)生區(qū)域,并且將這些數(shù)據(jù)行寫到數(shù)據(jù)處理系統(tǒng)的存儲器,而第二處理級優(yōu)選地被構(gòu)造成以數(shù)據(jù)位置(即,“塊”)的二維區(qū)塊(陣列)(即,高度和寬度各大于單個(gè)數(shù)據(jù)位置的區(qū)域)的形式來使用數(shù)據(jù)陣列(以從存儲器讀取數(shù)據(jù)陣列)。
第二處理級使用數(shù)據(jù)還可以包括第二處理級處理數(shù)據(jù)(本身)和/或第二處理級向數(shù)據(jù)處理系統(tǒng)的一個(gè)或更多個(gè)隨后(下游)處理級傳遞(可選地為經(jīng)處理的)數(shù)據(jù),例如且優(yōu)選地以進(jìn)一步處理。
在特別優(yōu)選的實(shí)施方式中,第二處理級包括例如顯示控制器的“解塊器”處理級,該解塊器處理級可操作用于將以一個(gè)或更多個(gè)區(qū)塊(塊)形式接收的數(shù)據(jù)轉(zhuǎn)換成行的形式的數(shù)據(jù),例如以進(jìn)一步處理和/或顯示。在該實(shí)施方式中,(第一處理級將其數(shù)據(jù)寫到的)數(shù)據(jù)處理系統(tǒng)的存儲器優(yōu)選地為該解塊器的一部分。由此,在該實(shí)施方式中,第一處理級優(yōu)選地將其數(shù)據(jù)(根據(jù)第一模式)寫到解塊器的緩沖存儲器,然后該解塊器優(yōu)選地根據(jù)第二模式從緩沖器讀出數(shù)據(jù)。
在如上面討論的數(shù)據(jù)包括多個(gè)數(shù)據(jù)字的情況下,第二處理級(解塊器)優(yōu)選地按柵格(行)順序(即,按柵格行順序從字到字)讀取數(shù)據(jù)字,然后處理各字和/或向數(shù)據(jù)處理系統(tǒng)的一個(gè)或更多個(gè)隨后(下游)處理級傳遞各字,例如且優(yōu)選地以進(jìn)一步處理。
另一方面,在第二處理級包括可操作用于將以行的形式接收的數(shù)據(jù)轉(zhuǎn)換成區(qū)塊(塊)形式的數(shù)據(jù)例如以進(jìn)一步處理和/或顯示的例如顯示控制器這樣的“成塊器”處理級的情況下,(第一處理級將其數(shù)據(jù)寫到的)數(shù)據(jù)處理系統(tǒng)的存儲器可以是該成塊器的一部分。由此,在該實(shí)施方式中,第一處理級優(yōu)選地將其數(shù)據(jù)(根據(jù)第一模式)寫到成塊器的緩沖存儲器,然后成塊器優(yōu)選地根據(jù)第二模式從緩沖器讀出數(shù)據(jù)。
在一個(gè)優(yōu)選實(shí)施方式中,第二處理級還包括(像素)拆包處理級,該拆包處理級可操作用于從多個(gè)數(shù)據(jù)字中的每個(gè)數(shù)據(jù)字提取關(guān)于多個(gè)獨(dú)立數(shù)據(jù)位置(像素)中的每個(gè)的數(shù)據(jù)(即,其中,各數(shù)據(jù)字包括關(guān)于整個(gè)數(shù)據(jù)陣列的多個(gè)數(shù)據(jù)位置的數(shù)據(jù))。
關(guān)于各數(shù)據(jù)位置(像素)的數(shù)據(jù)然后可以由第二處理級進(jìn)一步處理和/或向前傳遞到數(shù)據(jù)處理系統(tǒng)的一個(gè)或更多個(gè)另外(下游)處理級,例如以進(jìn)一步處理。在一個(gè)優(yōu)選實(shí)施方式中,第二處理級還可以包括一個(gè)或更多個(gè)層或像素處理流水線,該處理流水線可操作用于根據(jù)需要處理關(guān)于各數(shù)據(jù)位置(像素)的數(shù)據(jù),例如以顯示。
因此,在這些實(shí)施方式中,第一處理級優(yōu)選地以多個(gè)數(shù)據(jù)字的形式產(chǎn)生數(shù)據(jù)(其中,各數(shù)據(jù)字包括關(guān)于整個(gè)數(shù)據(jù)陣列的多個(gè)數(shù)據(jù)位置的數(shù)據(jù)),然后由第二處理級逐數(shù)據(jù)位置(例如,逐像素)地使用(處理)該數(shù)據(jù)。因此,這將進(jìn)一步增加使用數(shù)據(jù)組所花費(fèi)的時(shí)間,并且相應(yīng)地增加可以停用第一處理級的時(shí)間量。
第二處理級使用數(shù)據(jù)還可以或相反地包括第二處理級使得數(shù)據(jù)中的至少一些和/或經(jīng)處理數(shù)據(jù)中的至少一些被顯示。由此,在一個(gè)實(shí)施方式中,第二處理級可操作用于向顯示器(直接)根據(jù)第二模式提供(可選地為經(jīng)處理的)數(shù)據(jù),以顯示。
為了促進(jìn)這一點(diǎn),第二處理級優(yōu)選地包括可操作用于向顯示器提供用于顯示的圖像的輸出級。該輸出級可以為向顯示器提供用于顯示的圖像例如以使得在(用作顯示界面的)顯示器上顯示用于顯示的圖像的任何合適的這種輸出級。輸出級優(yōu)選地包括用于顯示器的適當(dāng)定時(shí)控制功能(例如,輸出級被構(gòu)造成以適當(dāng)?shù)乃胶痛怪毕[時(shí)段向顯示器發(fā)送像素?cái)?shù)據(jù))。
如上面討論的,在本發(fā)明中,當(dāng)?shù)谝惶幚砑壱呀?jīng)產(chǎn)生數(shù)據(jù)組時(shí),停用第一處理級,然后基于由第二處理級對該數(shù)據(jù)組的使用而重新啟動(dòng)第一處理級。
停用第一處理級可以以任何合適且期望的方式來實(shí)現(xiàn),但在優(yōu)選實(shí)施方式中,停用第一處理級電路的部分,例如以降低第一處理級電路的功率消耗。最優(yōu)選地,停用第一處理級包括“時(shí)鐘關(guān)斷”第一處理級(即,關(guān)閉第一處理級的時(shí)鐘)。
對應(yīng)地,(重新)啟動(dòng)第一處理級可以以任何合適且期望的方式來實(shí)現(xiàn),但在優(yōu)選實(shí)施方式中,(重新)啟用第一處理級電路的部分(例如在停用第一處理級時(shí)停用的部分)。最優(yōu)選地,啟動(dòng)第一處理級包括打開第一處理級的時(shí)鐘。
在適當(dāng)?shù)那闆r下,例如可以連同第一處理級一起啟動(dòng)和停用數(shù)據(jù)處理系統(tǒng)的處理級中的任一個(gè)或更多個(gè),優(yōu)選地以進(jìn)一步降低數(shù)據(jù)處理系統(tǒng)的功率消耗。由此,例如,可以連同第一處理級一起啟動(dòng)和停用讀取控制器(如果期望)。
在優(yōu)選實(shí)施方式中,啟動(dòng)第一處理級包括啟動(dòng)第一處理級以產(chǎn)生另外的數(shù)據(jù)組。在這種情況下,該另外的數(shù)據(jù)組優(yōu)選地對應(yīng)于(初始的)數(shù)據(jù)組(與初始的數(shù)據(jù)組尺寸相同)。
由此,在優(yōu)選實(shí)施方式中,該方法包括以下步驟:
在第一處理級已經(jīng)產(chǎn)生第一數(shù)據(jù)組時(shí)停用第一處理級,第一數(shù)據(jù)組包括允許根據(jù)第二模式使用第一數(shù)據(jù)組的足夠數(shù)據(jù);
基于由第二處理級對第一數(shù)據(jù)組的使用而啟動(dòng)第一處理級,以產(chǎn)生第二數(shù)據(jù)組,第二數(shù)據(jù)組優(yōu)選地包括允許根據(jù)第二模式使用第二數(shù)據(jù)組的足夠數(shù)據(jù)。
然后優(yōu)選地在第一處理級已經(jīng)結(jié)束產(chǎn)生第二數(shù)據(jù)組時(shí)再次停用第一處理級,然后優(yōu)選地基于第二處理級對第二數(shù)據(jù)組的使用而重新啟動(dòng)第一處理級,以此類推。
由第一處理級產(chǎn)生的數(shù)據(jù)組或各組數(shù)據(jù)可以包括任何合適且期望的數(shù)據(jù)組,該數(shù)據(jù)組包括允許根據(jù)第二處理級的第二模式使用該數(shù)據(jù)組的足夠數(shù)據(jù)。數(shù)據(jù)組或各組數(shù)據(jù)應(yīng)當(dāng)根據(jù)第一模式來產(chǎn)生。
如上面討論的,因?yàn)楫a(chǎn)生數(shù)據(jù)的(第一)模式不同于使用(消耗)數(shù)據(jù)的(第二)模式,所以(由第一處理級)根據(jù)第一模式產(chǎn)生的任意數(shù)據(jù)組通常將不可(由第二處理級)根據(jù)第二模式“獨(dú)立”使用,例如,在不需要在使用(消耗)該數(shù)據(jù)組的同時(shí)產(chǎn)生另外數(shù)據(jù)的情況下。
例如,在如上面討論的數(shù)據(jù)以區(qū)塊(塊)的形式產(chǎn)生且然后以行的形式使用(消耗)的情況下,在可以“獨(dú)立”使用該數(shù)據(jù)組之前,即,在數(shù)據(jù)可以在不需要在使用(消耗)該數(shù)據(jù)組的同時(shí)產(chǎn)生另外數(shù)據(jù)的情況下以行來消耗之前,必須產(chǎn)生適當(dāng)?shù)?例如,完全)區(qū)塊(塊)行寬。即,應(yīng)當(dāng)產(chǎn)生數(shù)據(jù)區(qū)塊排(行),其中,數(shù)據(jù)區(qū)塊排(行)具有等于第二模式下的各個(gè)行的長度(寬度)的長度(寬度)。
由此,由第一處理級(在停用第一處理級之前)產(chǎn)生的數(shù)據(jù)組優(yōu)選地包括特定的、優(yōu)選地選擇的、優(yōu)選地預(yù)定的數(shù)據(jù)組,該數(shù)據(jù)組優(yōu)選地具有允許(由第二處理級)根據(jù)第二模式使用的、例如在該數(shù)據(jù)組內(nèi)的數(shù)據(jù)位置的數(shù)量方面的尺寸(寬度和/或高度)。因此,由第一處理級(在停用第一處理級之前)產(chǎn)生的該數(shù)據(jù)組尺寸將優(yōu)選地依賴第一模式和第二模式這兩者,即,模式之間的關(guān)系。
該組或各組數(shù)據(jù)可以剛剛(僅)包括允許第二處理級使用數(shù)據(jù)的足夠數(shù)據(jù),或者可以包括比該數(shù)據(jù)多的數(shù)據(jù)。
在如上面討論的數(shù)據(jù)以多個(gè)數(shù)據(jù)區(qū)塊的形式由第一處理級產(chǎn)生的情況下,各組數(shù)據(jù)將優(yōu)選地包括多個(gè)數(shù)據(jù)區(qū)塊。由此,在特別優(yōu)選的實(shí)施方式中,數(shù)據(jù)處理系統(tǒng)可操作用于在第一處理級已經(jīng)產(chǎn)生一組多個(gè)數(shù)據(jù)區(qū)塊時(shí)停用第一處理級。第一處理級優(yōu)選地在它已經(jīng)產(chǎn)生特定的、優(yōu)選地選擇的、優(yōu)選地預(yù)定數(shù)量(該數(shù)量優(yōu)選地基于允許第二處理級根據(jù)第二模式使用該組多個(gè)數(shù)據(jù)區(qū)塊所需的區(qū)塊數(shù)量)的數(shù)據(jù)區(qū)塊時(shí)停用。
對應(yīng)地,在如上面討論的數(shù)據(jù)以多個(gè)(柵格)數(shù)據(jù)行的形式由第二處理級使用的情況下,各組數(shù)據(jù)將優(yōu)選地包括允許以(柵格)行使用(消耗)該數(shù)據(jù)組的足夠數(shù)據(jù)。
最優(yōu)選地,該組或各組數(shù)據(jù)包括一組多個(gè)數(shù)據(jù)區(qū)塊,該組多個(gè)數(shù)據(jù)區(qū)塊包括允許以(柵格)行使用(消耗)該組多個(gè)數(shù)據(jù)區(qū)塊的足夠數(shù)據(jù)區(qū)塊。在優(yōu)選的這種實(shí)施方式中,該數(shù)據(jù)組包括一個(gè)或更多個(gè)數(shù)據(jù)區(qū)塊排(或“行”),即,其中,該數(shù)據(jù)區(qū)塊排或各數(shù)據(jù)區(qū)塊排跨越第二模式的整個(gè)(柵格)行(的寬度))。如上面討論的,在這種情況下,第二模式的各行優(yōu)選地對應(yīng)于整個(gè)數(shù)據(jù)陣列(幀)的總寬度(具有等于該總寬度的寬度),但還將可以的是使第二模式的各行具有某一其他寬度,諸如整個(gè)數(shù)據(jù)陣列(幀)的總寬度的某一部分(例如,一半)。
對應(yīng)地,在如上面討論的數(shù)據(jù)以行的形式產(chǎn)生且然后以區(qū)塊(塊)形式使用(消耗)的情況下,優(yōu)選地產(chǎn)生適當(dāng)?shù)囊唤M(適當(dāng)數(shù)量的)數(shù)據(jù)行,該數(shù)據(jù)組行例如包括允許以區(qū)塊(塊)使用(消耗)該數(shù)據(jù)組行的足夠數(shù)據(jù)行(例如,該數(shù)據(jù)組行對應(yīng)于塊的“高度”)。
如上面討論的,基于由第二處理級對該數(shù)據(jù)組的使用(重新)啟動(dòng)第一處理級。
在優(yōu)選實(shí)施方式中,在由第二處理級使用該數(shù)據(jù)組的同時(shí),即,在第二處理級已經(jīng)使用(已經(jīng)產(chǎn)生的)該數(shù)據(jù)組的全部之前,第一處理級(重新)啟動(dòng)。
在這些實(shí)施方式中,第一處理級可以在第二處理級已經(jīng)使用該數(shù)據(jù)組的全部之前的任何時(shí)刻(重新)啟動(dòng)。然而,在特別優(yōu)選的實(shí)施方式中,第一處理級在第一處理級產(chǎn)生另外數(shù)據(jù)組所花費(fèi)的時(shí)間等于或足夠類似于第二處理級使用(已經(jīng)產(chǎn)生的)數(shù)據(jù)組中的剩余數(shù)據(jù)所花費(fèi)的時(shí)間的時(shí)刻重新啟動(dòng)。如上面所討論的,這在最大化(或至少增大)停用第一處理級的時(shí)間量和得到的功率節(jié)省的同時(shí)確保第二處理級不缺乏供其使用的數(shù)據(jù)。
在一個(gè)優(yōu)選實(shí)施方式中,第一處理級在第二處理級使用(已經(jīng)產(chǎn)生的)數(shù)據(jù)組中的剩余數(shù)據(jù)所花費(fèi)的時(shí)間少于或等于第一處理級產(chǎn)生另外數(shù)據(jù)組所花費(fèi)的時(shí)間優(yōu)選地加上某一余裕的時(shí)刻(重新)啟動(dòng)。
在(由第一處理級產(chǎn)生的數(shù)據(jù)組包括數(shù)據(jù)位置陣列的)特別優(yōu)選的實(shí)施方式中,確定第一數(shù)據(jù)組的特定“啟動(dòng)”數(shù)據(jù)位置或多個(gè)特定“啟動(dòng)”數(shù)據(jù)位置,然后基于第二處理級是否已經(jīng)使用特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置,例如,在第二處理級使用(和/或到達(dá))特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置時(shí),啟動(dòng)第一處理級。由此,在優(yōu)選實(shí)施方式中,第一處理級基于第二處理級是否已經(jīng)使用和/或到達(dá)關(guān)注的數(shù)據(jù)陣列的特定的、優(yōu)選地選擇的、優(yōu)選地確定的數(shù)據(jù)位置來(重新)啟動(dòng)。
在該實(shí)施方式中,啟動(dòng)數(shù)據(jù)位置或多個(gè)啟動(dòng)數(shù)據(jù)位置可以根據(jù)期望來確定。然而,在特別優(yōu)選的實(shí)施方式中,特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置通過確定該數(shù)據(jù)組的以下數(shù)據(jù)位置來確定:對于該數(shù)據(jù)位置,第二處理級使用該數(shù)據(jù)位置或多個(gè)數(shù)據(jù)位置之后的、該數(shù)據(jù)組的數(shù)據(jù)所花費(fèi)的時(shí)間(例如,時(shí)鐘周期數(shù))少于或等于第一處理級產(chǎn)生另外數(shù)據(jù)組所花費(fèi)的時(shí)間(例如,時(shí)鐘周期數(shù)),優(yōu)選地加上余裕。
在余裕用于這些實(shí)施方式中的情況下,余??梢愿鶕?jù)期望(例如,以時(shí)鐘周期數(shù)來表達(dá))來設(shè)定,例如,以將例如由于數(shù)據(jù)處理系統(tǒng)中的時(shí)延而引起的任何(不可預(yù)知或相反)的延遲考慮在內(nèi)。余裕在使用中優(yōu)選地可(優(yōu)選地逐數(shù)據(jù)陣列(逐幀)地)例如由用于數(shù)據(jù)處理系統(tǒng)的驅(qū)動(dòng)器來設(shè)定。
其他結(jié)構(gòu)當(dāng)然會是可能的。
相信在數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)消耗處理級使用(消耗)由產(chǎn)生數(shù)據(jù)的處理級產(chǎn)生的數(shù)據(jù)組的特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置時(shí)控制數(shù)據(jù)處理系統(tǒng)的產(chǎn)生數(shù)據(jù)的處理級的構(gòu)思本身是新穎且有利的。
由此,根據(jù)本發(fā)明的另一個(gè)方面,提供了一種操作數(shù)據(jù)處理系統(tǒng)的方法,該方法包括以下步驟:
第一處理級根據(jù)第一模式產(chǎn)生第一數(shù)據(jù)組,該第一數(shù)據(jù)組包括多個(gè)數(shù)據(jù)位置;以及
第二處理級根據(jù)不同的第二模式使用第一數(shù)據(jù)組;
其中,方法還包括以下步驟:
確定第一數(shù)據(jù)組的特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置,特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置用于控制第一處理級產(chǎn)生數(shù)據(jù);以及
基于第二處理級是否已經(jīng)使用特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置來控制第一處理級產(chǎn)生數(shù)據(jù)。
根據(jù)本發(fā)明的另外方面,提供了一種數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括:
第一處理級,該第一處理級可操作用于根據(jù)第一模式產(chǎn)生第一數(shù)據(jù)組,第一數(shù)據(jù)組包括多個(gè)數(shù)據(jù)位置;和
第二處理級,該第二處理級可操作用于根據(jù)不同的第二模式使用第一數(shù)據(jù)組;
其中,數(shù)據(jù)處理系統(tǒng)被構(gòu)造成:
確定第一數(shù)據(jù)組的特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置,特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置用于控制第一處理級產(chǎn)生數(shù)據(jù);并且
基于第二處理級是否已經(jīng)使用特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置來控制第一處理級產(chǎn)生數(shù)據(jù)。
如本領(lǐng)域技術(shù)人員將理解的,本發(fā)明的這些方面可以根據(jù)需要(且優(yōu)選地確實(shí))包括這里描述的本發(fā)明的優(yōu)選和可選特征中的任一個(gè)或更多個(gè)或全部。
由此,例如,特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置優(yōu)選地通過確定第一數(shù)據(jù)組的以下數(shù)據(jù)位置來確定:對于數(shù)據(jù)位置或多個(gè)數(shù)據(jù)位置,第二處理級使用數(shù)據(jù)位置或多個(gè)數(shù)據(jù)位置之后的、第一數(shù)據(jù)組的數(shù)據(jù)所花費(fèi)的時(shí)間(例如,時(shí)鐘周期數(shù))少于或等于第一處理級產(chǎn)生第二數(shù)據(jù)組所花費(fèi)的時(shí)間(例如,時(shí)鐘周期數(shù))優(yōu)選地加上余裕。
類似地,第一處理級優(yōu)選地在它已經(jīng)產(chǎn)生第一數(shù)據(jù)組時(shí)停用,例如且優(yōu)選地如上所述。然后優(yōu)選地基于第二處理級是否已經(jīng)使用特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置來控制第一處理級產(chǎn)生數(shù)據(jù),例如,由第一處理級產(chǎn)生數(shù)據(jù)優(yōu)選地通過在第二處理級使用特定數(shù)據(jù)位置或多個(gè)特定數(shù)據(jù)位置時(shí)啟動(dòng)第一處理級以產(chǎn)生第二數(shù)據(jù)組來控制,例如且優(yōu)選地如上所述。
從上述將理解,在優(yōu)選實(shí)施方式中,由第一處理級產(chǎn)生數(shù)據(jù)基于相對的數(shù)據(jù)的產(chǎn)生(第一)模式與該數(shù)據(jù)的使用(消耗)(第二)模式來控制,即,基于模式之間的關(guān)系來控制。
本發(fā)明的數(shù)據(jù)處理系統(tǒng)可以包括任何合適且期望的數(shù)據(jù)處理系統(tǒng)。然而,如本領(lǐng)域技術(shù)人員將理解的,本發(fā)明與顯示控制器或包括顯示控制器的數(shù)據(jù)處理特性特別相關(guān)且特別用于顯示控制器或包括顯示控制器的數(shù)據(jù)處理系統(tǒng)中。
由此,在特別優(yōu)選的實(shí)施方式中,本發(fā)明的數(shù)據(jù)處理系統(tǒng)包括顯示控制器。
對應(yīng)地,根據(jù)本發(fā)明的另一個(gè)方面,提供了一種操作用于數(shù)據(jù)處理系統(tǒng)的顯示控制器的方法,該方法包括以下步驟:
顯示控制器的第一處理級根據(jù)第一模式產(chǎn)生數(shù)據(jù);以及
顯示控制器的第二處理級根據(jù)不同的第二模式使用由第一處理級產(chǎn)生的數(shù)據(jù);
方法還包括以下步驟:顯示控制器:
在第一處理級已經(jīng)產(chǎn)生數(shù)據(jù)組時(shí)停用第一處理級,該數(shù)據(jù)組包括允許根據(jù)第二模式使用該數(shù)據(jù)組的足夠數(shù)據(jù);以及
基于由第二處理級對該數(shù)據(jù)組的使用來啟動(dòng)第一處理級。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種用于數(shù)據(jù)處理系統(tǒng)的顯示控制器,該顯示控制器包括:
第一處理級,該第一處理級可操作用于根據(jù)第一模式產(chǎn)生數(shù)據(jù);和
第二處理級,該第二處理級可操作用于根據(jù)不同的第二模式使用由第一處理級產(chǎn)生的數(shù)據(jù);
其中,顯示控制器可操作用于:
在第一處理級已經(jīng)產(chǎn)生數(shù)據(jù)組時(shí)停用第一處理級,該數(shù)據(jù)組包括允許根據(jù)第二模式使用該數(shù)據(jù)組的足夠數(shù)據(jù);并且
基于由第二處理級對該數(shù)據(jù)組的使用來啟動(dòng)第一處理級。
如本領(lǐng)域技術(shù)人員將理解的,本發(fā)明的這些方面可以根據(jù)需要(且優(yōu)選地確實(shí))包括這里描述的本發(fā)明的優(yōu)選和可選特征中的一個(gè)或更多個(gè)或全部。
顯示控制器可以為任何合適且期望的顯示控制器,并且可以包括顯示控制器可以包括的任何合適且期望的另外處理級。顯示控制器應(yīng)當(dāng)且優(yōu)選地可操作用于向顯示器提供用于顯示的圖像。
顯示控制器(的第一處理級)優(yōu)選地包括解碼器和/或旋轉(zhuǎn)級,優(yōu)選地和閱讀控制器,并且例如優(yōu)選地如上所述。顯示控制器(的第二處理級)優(yōu)選地例如如上面討論的包括解塊器處理級,該解塊器處理級可操作用于將以一個(gè)或更多個(gè)區(qū)塊(塊)形式接收的數(shù)據(jù)轉(zhuǎn)換成行的形式的數(shù)據(jù),例如以進(jìn)一步處理和/或顯示;(像素)拆包處理級,該拆包處理級可操作用于從多個(gè)數(shù)據(jù)字中的每一個(gè)提取關(guān)于多個(gè)獨(dú)立數(shù)據(jù)位置(像素)中的每一個(gè)數(shù)據(jù);一個(gè)或更多個(gè)層或像素處理流水線,該處理流水線可操作用于根據(jù)需要處理關(guān)于各數(shù)據(jù)位置(像素)的數(shù)據(jù),例如以顯示;和/或輸出級,該輸出級可操作用于向顯示器提供用于顯示的圖像,并且例如且優(yōu)選地如上所述。
雖然上面具體參照給定數(shù)據(jù)陣列(例如,用于顯示的幀)的處理描述了本發(fā)明,但如本領(lǐng)域技術(shù)人員將理解的,本發(fā)明可以且優(yōu)選地用于處理多個(gè)數(shù)據(jù)陣列(例如,提供用于顯示的多個(gè)幀),并且優(yōu)選地用于處理數(shù)據(jù)陣列的序列(例如,向顯示器提供要顯示的幀序列)。
數(shù)據(jù)處理系統(tǒng)的各種級可以根據(jù)期望來實(shí)現(xiàn),例如,以一個(gè)或更多個(gè)固定功能單元(硬件)(即,專用于不可變化的一個(gè)或更多個(gè)功能的單元)的形式、或被實(shí)現(xiàn)為一個(gè)或更多個(gè)可編程處理級,例如借助于可以被編程為執(zhí)行期望操作的可編程電路來實(shí)現(xiàn)??梢源嬖诠潭üδ芗壓涂删幊碳夁@兩者。
本發(fā)明的各種處理級中的一個(gè)或更多個(gè)可以作為單獨(dú)的電路元件提供給數(shù)據(jù)處理系統(tǒng)的其他級。然而,一個(gè)或更多個(gè)級還可以至少部分由共享數(shù)據(jù)處理電路來形成。
本發(fā)明的各種級中的一個(gè)或更多個(gè)可以操作用于總是對任何和全部所接收數(shù)據(jù)執(zhí)行它的功能。另外或另選地,級中的一個(gè)或更多個(gè)可以操作用于對所接收數(shù)據(jù)選擇性執(zhí)行它的功能(即,在期望和/或適當(dāng)時(shí))。
數(shù)據(jù)處理系統(tǒng)可以且優(yōu)選地確實(shí)包括中央處理單元、圖形處理單元、視頻處理器(編解碼器)、系統(tǒng)總線、存儲控制器、圖像信號處理器、顯示處理單元以及如為本領(lǐng)域技術(shù)人員所知的另外元件中的一個(gè)或更多個(gè),并且優(yōu)選地包括全部。
數(shù)據(jù)處理系統(tǒng)可以且優(yōu)選地是被構(gòu)造成與外部存儲器(例如,經(jīng)由存儲控制器)、一個(gè)或更多個(gè)本地顯示器和/或一個(gè)或更多個(gè)外部顯示器中的一個(gè)或更多個(gè)(并且本發(fā)明還擴(kuò)展到包括上述部件中的一個(gè)或更多個(gè)的結(jié)構(gòu))通信。
在實(shí)施方式中,數(shù)據(jù)處理系統(tǒng)還包括顯示器。與顯示控制器一起使用的顯示器可以為任何合適且期望的顯示器,諸如例如,屏幕(諸如平板電腦)或打印機(jī)。
本發(fā)明可以在任何合適的系統(tǒng)中實(shí)現(xiàn),諸如基于合適構(gòu)造的微處理器的系統(tǒng)。在實(shí)施方式中,本發(fā)明實(shí)現(xiàn)在計(jì)算機(jī)和/或基于微處理器的系統(tǒng)中。
本發(fā)明的各種功能可以以任何期望且合適的方式來執(zhí)行。例如,本發(fā)明的功能可以實(shí)現(xiàn)在硬件或軟件中(根據(jù)期望)。由此,例如,除非以其他方式指示,本發(fā)明的各種功能元件和“裝置”可以包括合適的處理器、控制器、功能單元、電路、處理邏輯、微處理器結(jié)構(gòu)等,它們可操作用于執(zhí)行各種功能等,諸如適當(dāng)專用硬件元件(處理電路)和/或可以被編程為以期望方式操作的的可編程硬件元件(處理電路)。
這里還應(yīng)當(dāng)注意的是,如本領(lǐng)域技術(shù)人員將理解的,本發(fā)明的各種功能等可以在給定處理器上重復(fù)和/或并行執(zhí)行。等同地,各種處理級可以共享處理電路等(如果期望)。
受制于必須執(zhí)行上面討論的特定功能的任何硬件,顯示處理流水線可以以其他方式包括顯示處理流水線包括的通常功能單元等中的任一個(gè)或更多個(gè)或全部。
如本領(lǐng)域技術(shù)人員還將理解的,本發(fā)明的全部描述的實(shí)施方式可以(且在實(shí)施方式中確實(shí))根據(jù)需要包括這里描述的特征中的任一個(gè)或更多個(gè)或全部。
根據(jù)本發(fā)明的方法至少部分地可以使用軟件(例如,計(jì)算機(jī)程序)實(shí)現(xiàn)。由此將看到當(dāng)從另外的實(shí)施方式看時(shí),本發(fā)明提供計(jì)算機(jī)軟件,該計(jì)算機(jī)軟件當(dāng)安裝在數(shù)據(jù)處理器上時(shí)專門適用于執(zhí)行這里描述的方法;計(jì)算機(jī)程序元件,該計(jì)算機(jī)程序元件包括計(jì)算機(jī)軟件代碼部,用于在程序元件在數(shù)據(jù)處理器上運(yùn)行時(shí)執(zhí)行這里描述的方法;和計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括代碼,該代碼當(dāng)程序在數(shù)據(jù)處理系統(tǒng)上運(yùn)行時(shí)適用于執(zhí)行這里描述的方法的全部步驟。數(shù)據(jù)處理器可以是微處理器系統(tǒng)、可編程fpga(場可編程門陣列)等。
本發(fā)明還擴(kuò)展到計(jì)算機(jī)軟件載體,該計(jì)算機(jī)軟件載體包括這種軟件,這種軟件當(dāng)用于操作圖形處理器、渲染器或包括數(shù)據(jù)處理器的微處理器系統(tǒng)時(shí)與所述數(shù)據(jù)處理器、所述處理器、渲染器或系統(tǒng)結(jié)合使處理器執(zhí)行本發(fā)明的方法的步驟。這種計(jì)算機(jī)軟件載體可以是物理存儲介質(zhì),諸如rom芯片、cdrom、ram、閃存或盤,或可以是信號,諸如電線上的電信號、光信號或諸如到衛(wèi)星的無線電信號等。
還將理解的是,不是本發(fā)明的方法的全部步驟都需要由計(jì)算機(jī)軟件執(zhí)行,并且由此根據(jù)更寬實(shí)施方式,本發(fā)明提供了計(jì)算機(jī)軟件并且這種軟件安裝在計(jì)算機(jī)軟件載體上,用于執(zhí)行這里闡述的方法的步驟中的至少一個(gè)。
本發(fā)明可以因此適當(dāng)?shù)鼐唧w實(shí)施為用于與計(jì)算機(jī)系統(tǒng)一起使用的計(jì)算機(jī)程序產(chǎn)品。這種實(shí)現(xiàn)可以包括一系列計(jì)算機(jī)可讀指令,該一系列計(jì)算機(jī)可讀指令固定在有形、永久介質(zhì)上,諸如計(jì)算機(jī)可讀介質(zhì),例如,磁盤、cdrom、rom、ram、閃存或硬盤。還應(yīng)當(dāng)包括一系列計(jì)算機(jī)可讀指令,在有形介質(zhì)(包括但不限于,光學(xué)或模擬通信線)上,或無形地使用無線技術(shù)(包括但不限于,微波、紅外或其他傳輸技術(shù)),這些指令經(jīng)由調(diào)制解調(diào)器或其他界面裝置可發(fā)送到計(jì)算機(jī)系統(tǒng)。該系列計(jì)算機(jī)可讀指令具體實(shí)施這里之前描述的功能的全部或一部分。
本領(lǐng)域技術(shù)人員將理解,這種計(jì)算機(jī)可讀指令可以以多種編程語言來寫,用于與多個(gè)計(jì)算機(jī)架構(gòu)或操作系統(tǒng)一起使用。進(jìn)一步地,這種指令可以使用任何存儲技術(shù)來存儲(存儲技術(shù)現(xiàn)在或?qū)戆ǖ幌抻诎雽?dǎo)體、磁或光),或使用任何通信技術(shù)來發(fā)送(通信技術(shù)現(xiàn)在或?qū)戆ǖ幌抻诠鈱W(xué)、紅外或微波)。預(yù)期的是,這種計(jì)算機(jī)程序產(chǎn)品可以作為可去除介質(zhì)來分發(fā),附有已打印的文檔或電子文檔,例如,現(xiàn)成軟件;例如在系統(tǒng)rom或固定盤上預(yù)加載有計(jì)算機(jī)系統(tǒng);或在網(wǎng)絡(luò)(例如,因特網(wǎng)或萬維網(wǎng))上從服務(wù)器或電子公告欄分發(fā)。
附圖說明
現(xiàn)在將僅以示例的方式并參照附圖來描述本發(fā)明的各種實(shí)施方式,在附圖中:
圖1示意性示出了根據(jù)本發(fā)明的實(shí)施方式的數(shù)據(jù)處理系統(tǒng);
圖2示意性示出了根據(jù)本發(fā)明的實(shí)施方式的顯示控制器;
圖3示意性示出了根據(jù)本發(fā)明的實(shí)施方式的顯示控制器的一部分;
圖4示意性示出了根據(jù)本發(fā)明的實(shí)施方式的顯示控制器的操作;
圖5示意性示出了根據(jù)本發(fā)明的實(shí)施方式的顯示控制器的解塊器;
圖6示意性示出了根據(jù)本發(fā)明的實(shí)施方式的顯示控制器的操作;
圖7示意性示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施方式的顯示控制器的一部分;
圖8示意性示出了根據(jù)本發(fā)明的實(shí)施方式的、數(shù)據(jù)陣列到區(qū)塊的劃分;以及
圖9示意性示出了根據(jù)本發(fā)明的實(shí)施方式的顯示控制器的操作。
類的附圖標(biāo)記貫穿附圖在適當(dāng)?shù)那闆r下用于類似的部件。
具體實(shí)施方式
現(xiàn)在將參照附圖描述本發(fā)明的優(yōu)選實(shí)施方式。
圖1示意性示出了根據(jù)本發(fā)明的實(shí)施方式的數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)包括視頻編解碼器1、中央處理單元(cpu)2、圖形處理單元(gpu)3、顯示控制器4以及存儲控制器7。如圖1所示,這些單元經(jīng)由互連器6通信并訪問片外主存儲器8。視頻編解碼器1、cpu2和/或gpu3生成輸出表面,并且經(jīng)由存儲控制器7將表面存儲在片外存儲器8中的幀緩沖器中。顯示控制器4然后經(jīng)由存儲控制器8從片外存儲器8中的幀緩沖器讀取輸出表面,并且向顯示器5發(fā)送表面以顯示。
圖2示意性示出了根據(jù)本發(fā)明的實(shí)施方式的顯示控制器4。在圖2中,矩形表示顯示控制器的功能單元,而標(biāo)有箭頭的線表示各種功能單元之間的連接。
圖2示出了與本實(shí)施方式的操作有關(guān)的、顯示控制器4的主要元件。如本領(lǐng)域技術(shù)人員將理解的,將存在圖2中未例示的、顯示控制器4的其他元件。這里還應(yīng)當(dāng)注意的是,圖2僅是示意性的,并且例如,在實(shí)踐中,所示的功能單元和級可以共享重要的硬件電路,即使它們在圖2中被示意性示出為單獨(dú)的級。還將理解,如圖2所示的顯示控制器4的各個(gè)級、元件以及單元等可以根據(jù)期望來實(shí)現(xiàn),并且因此將包括例如用于執(zhí)行必要操作和功能的適當(dāng)電路和/或處理邏輯等。
在本實(shí)施方式中,顯示控制器4包括直接存儲器存取(dma)讀取控制器10形式的讀取控制器。讀取控制器10被構(gòu)造成經(jīng)由諸如高級可擴(kuò)展接口(axi)的接口從主存儲器8(圖2中未示出)讀取一個(gè)或更多個(gè)表面。一個(gè)或更多個(gè)表面通常將為(可選地為經(jīng)壓縮的)rgb數(shù)據(jù)的形式。
與讀取控制器10位于一處的是解碼器11,該解碼器11可以用于在向前發(fā)送一個(gè)或更多個(gè)經(jīng)解碼(經(jīng)解壓縮)表面之前按需(選擇性地)解碼(解壓縮)所接收的壓縮表面。解碼器11可以包括arm幀緩沖器壓縮(afbc)解碼器(美國a12013/0034309中描述了afbc)。當(dāng)然,可以使用其他壓縮方案。壓縮的使用減小了與顯示控制器4從片外存儲器8讀取表面關(guān)聯(lián)的帶寬。
類似地,旋轉(zhuǎn)單元12可以用于在向前發(fā)送一個(gè)或更多個(gè)輸入表面之前按需選擇性旋轉(zhuǎn)輸入表面中的一個(gè)或更多個(gè)。
在所例示的實(shí)施方式中,讀取控制器4被構(gòu)造成(讀取)要用于生成合成輸出幀的多達(dá)三個(gè)不同的輸入表面(層)。在該實(shí)施方式中,三個(gè)輸入層包括例如由視頻處理器(編解碼器)生成的一個(gè)視頻層和兩個(gè)圖形層(例如,由圖形處理單元(gpu)生成的兩個(gè)圖形窗口)。因此,圖2示出了經(jīng)由三層流水線或通道(即,視頻通道13a、第一圖形通道13b以及第二圖形通道13c)向前發(fā)送三個(gè)輸入表面(顯示層)的顯示控制器。所發(fā)送輸入表面中的任一個(gè)或全部可以如上所述的已經(jīng)經(jīng)受由解碼器11進(jìn)行的解碼(解壓縮)和/或由旋轉(zhuǎn)單元12進(jìn)行的旋轉(zhuǎn)。
雖然圖2的實(shí)施方式例示了使用三個(gè)輸入表面,但將理解,在本發(fā)明中可以使用任何數(shù)量的輸入表面(層),這依賴于關(guān)注的應(yīng)用(并且還依賴于任何硅面積限制等)。等同地,可以根據(jù)期望提供并使用任何數(shù)量的層流水線或通道。
本實(shí)施方式的顯示控制器4可選地包括多工器/數(shù)據(jù)流控制器14。當(dāng)存在時(shí),顯示控制器可以被構(gòu)造成使得多工器14從輸入表面通道中的任一個(gè)或更多個(gè)(或全部)接收輸入。多工器14可操作用于向多工器14的輸出中的任一個(gè)或更多個(gè)選擇性發(fā)送所接收輸入(即,表面)中的任一個(gè)或更多個(gè)(或全部)。
本實(shí)施方式的顯示控制器4可選地包括合成單元15。當(dāng)存在時(shí),顯示控制器可4以被構(gòu)造成使得合成單元15直接從通道13中的任一個(gè)或更多個(gè)或全部和/或從多工器14接收輸入。合成單元15可操作用于合成所接收的輸入表面,以生成合成的輸出幀(即,由適當(dāng)?shù)幕旌喜僮鞯?。在所例示的實(shí)施方式中,合成的輸出幀可以由合成單元15向前發(fā)送到多工器14和/或后處理流水線16。
后處理流水線16被構(gòu)造成對(所合成的)輸出表面(幀)選擇性執(zhí)行任何期望的處理操作。后處理流水線16例如可以包括顏色轉(zhuǎn)換級,該顏色轉(zhuǎn)換級可操作用于向(所合成的)輸出幀應(yīng)用顏色轉(zhuǎn)換;抖動(dòng)級,該抖動(dòng)級可操作用于向(所合成的)輸出幀應(yīng)用抖動(dòng);和/或伽馬校正級,該伽馬校正級可操作用于對(所合成的)輸出幀進(jìn)行伽馬校正。
在本實(shí)施方式中,后處理流水線16被構(gòu)造成向輸出級發(fā)送(經(jīng)處理的)合成輸出幀,該輸出級包括用于在(本地)顯示器(未示出)上適當(dāng)顯示的顯示定時(shí)單元17。顯示定時(shí)單元17被構(gòu)造成以適當(dāng)?shù)乃胶痛怪毕[時(shí)段向顯示器發(fā)送像素?cái)?shù)據(jù)。
本實(shí)施方式的顯示控制器4可選地包括縮放引擎18。當(dāng)存在時(shí),縮放引擎18操作用于(選擇性)縮放(即,放大或縮小)任一個(gè)或更多個(gè)所接收表面(幀),以生成經(jīng)縮放表面(幀)。
在本實(shí)施方式中,顯示控制器可選地包括例如為dma寫控制器形式的寫控制器19。當(dāng)存在時(shí),寫控制器19可以被構(gòu)造成將所接收表面(幀)寫出到外部存儲器8(例如,幀緩沖器),例如經(jīng)由axi。
由此,本發(fā)明的該優(yōu)選實(shí)施方式包括集成了解碼器11和旋轉(zhuǎn)單元12(可選地連同合成單元15和/或能夠放大和縮小表面的縮放引擎18)的顯示控制器。解碼器11和旋轉(zhuǎn)單元12嵌在顯示控制器內(nèi),使得可以在僅需要從幀緩沖器單個(gè)讀取(各輸入表面)的情況下在顯示由顯示控制器4讀取的表面之前解碼(解壓縮)和/或旋轉(zhuǎn)(然后可選地另外處理(例如,合成和/或縮放))這些表面。
圖3更詳細(xì)地示出了特別與優(yōu)選實(shí)施方式的操作有關(guān)的、顯示控制器4的一部分。在該優(yōu)選實(shí)施方式中,片外存儲器8中的幀緩沖器中所存儲的一個(gè)或更多個(gè)表面使用afbc或另一個(gè)基于區(qū)塊的編碼方案來壓縮。
在afbc和其他基于區(qū)塊的編碼方案中,各經(jīng)壓縮的表面被編碼為多個(gè)數(shù)據(jù)區(qū)塊(塊),其中,各數(shù)據(jù)區(qū)塊(塊)表示表面的特定區(qū)域。因此,顯示控制器4以區(qū)塊(塊)(即,逐區(qū)塊(逐塊))從片外存儲器8的幀緩沖器取得各表面。與此相反,顯示控制器4以柵格行(即,一個(gè)像素位置高和多個(gè)像素位置寬(長)的像素位置排)向顯示器5提供用于顯示的輸出圖像。因此,顯示控制器4將所讀取區(qū)塊(塊)數(shù)據(jù)轉(zhuǎn)換成柵格行數(shù)據(jù),然后向顯示器5發(fā)送柵格行數(shù)據(jù),以顯示。
在本實(shí)施方式中,讀取控制器10被構(gòu)造成經(jīng)由諸如高級可擴(kuò)展接口(axi)這樣的接口從主存儲器8讀取經(jīng)壓縮表面的一個(gè)或更多個(gè)區(qū)塊(塊)。為此,讀取控制器10經(jīng)由(axi)地址通道向存儲器8發(fā)送請求,并且經(jīng)由(axi)數(shù)據(jù)通道從存儲器8接收數(shù)據(jù)。讀取控制器10可以包括重新排序緩沖器,如果期望,則該重新排序緩沖器允許重新排序由讀取控制器10混亂接收的區(qū)塊(塊)。
一個(gè)或更多個(gè)經(jīng)壓縮區(qū)塊(塊)將為afbc經(jīng)編碼rgb數(shù)據(jù)的形式。各區(qū)塊(塊)通常將具有16x8x4b=0.5kb的尺寸。
由讀取控制器10讀取的經(jīng)壓縮區(qū)塊(塊)然后經(jīng)由(axi)接口向前發(fā)送到解碼器11。解碼器11操作用于解碼經(jīng)壓縮區(qū)塊(塊),以產(chǎn)生例如rgb數(shù)據(jù)的未壓縮塊。未壓縮區(qū)塊然后以諸如axi字的數(shù)據(jù)字的形式向前發(fā)送到解塊器20。各字將包括關(guān)于區(qū)塊(塊)的多個(gè)像素(數(shù)據(jù)位置)的數(shù)據(jù)。
解塊器20操作用于將區(qū)塊(塊)數(shù)據(jù)轉(zhuǎn)換成柵格行數(shù)據(jù)。如圖3所示,為了這樣做,解塊器20包括緩沖存儲器21。由解塊器20接收的區(qū)塊(塊)數(shù)據(jù)被逐區(qū)塊(逐塊)寫到緩沖器21,然后通過從緩沖器21讀取用于各柵格行的適當(dāng)字從緩沖器21讀出數(shù)據(jù)字(諸如axi寬度字)形式的柵格行數(shù)據(jù)。
然后,(axi)字形式的行數(shù)據(jù)經(jīng)由時(shí)延隱藏先入先出(fifo)緩沖器22饋送到像素拆包器或?qū)涌刂破?3。像素拆包器23從所接收的(axi)字提取用于各像素(數(shù)據(jù)位置)的數(shù)據(jù),并且向適當(dāng)?shù)耐ǖ阑驅(qū)恿魉€13以每個(gè)時(shí)鐘周期一個(gè)像素的速率向前發(fā)送數(shù)據(jù),以進(jìn)一步處理(例如,如上面討論的)。
圖4示意性例示了在取得經(jīng)壓縮區(qū)塊(塊)數(shù)據(jù)并將其轉(zhuǎn)換成行數(shù)據(jù)時(shí)顯示控制器4的操作。如圖4所示,經(jīng)由(axi)接口從外部存儲器8取得(例如,afbc經(jīng)壓縮層)的經(jīng)壓縮區(qū)塊(步驟30)。解壓縮區(qū)塊并將區(qū)塊寫到解塊器20(步驟31)。然后從解塊器20讀取數(shù)據(jù)字(axi字),并向像素拆包器23發(fā)送數(shù)據(jù)字(步驟32)。從(axi)字提取關(guān)于獨(dú)立像素的數(shù)據(jù),并且以每個(gè)時(shí)鐘周期1個(gè)像素的速率向?qū)踊蛳袼靥幚砹魉€13發(fā)送該數(shù)據(jù)(步驟33)。
在本實(shí)施方式的結(jié)構(gòu)中,由像素拆包器或?qū)涌刂破?3接收的各(axi)字包括關(guān)于多個(gè)像素(數(shù)據(jù)位置)的數(shù)據(jù),并且獨(dú)立像素?cái)?shù)據(jù)以每個(gè)時(shí)鐘周期一個(gè)像素的速率發(fā)送給層流水線13。因此,解塊器20的耗盡速率與可以填充解塊器20的速率相比較低。另外,如圖3所示,對應(yīng)于區(qū)塊(塊)的整個(gè)行(幀)寬度的x個(gè)區(qū)塊(塊)的序列應(yīng)該在可以以行讀出區(qū)塊數(shù)據(jù)之前寫到解塊器緩沖器21。
在本實(shí)施方式中,這些事實(shí)被用來降低顯示控制器4的功率消耗。具體地,解碼器11在它已經(jīng)產(chǎn)生整個(gè)數(shù)據(jù)區(qū)塊行時(shí)停用(時(shí)鐘關(guān)斷),并且在由解塊器20讀出該數(shù)據(jù)的同時(shí),在或接近于使解碼器11產(chǎn)生另一個(gè)區(qū)塊(塊)行所花費(fèi)的時(shí)間等于或足夠類似于使解塊器20讀出已經(jīng)產(chǎn)生的區(qū)塊行的剩余數(shù)據(jù)所花費(fèi)的時(shí)間的時(shí)刻重新啟動(dòng)解碼器11。由此,解碼器11被設(shè)置為在尚未從解塊器緩沖器21讀出的在緩沖器21中的數(shù)據(jù)低于閾值時(shí)例如定期生成對數(shù)據(jù)區(qū)塊(塊)的多組請求。
這在最大化(或至少增大)可以時(shí)鐘關(guān)斷解碼器11的時(shí)間量和對應(yīng)產(chǎn)生的功率節(jié)省的同時(shí)確保了解塊器20和下游級不缺乏供其使用的數(shù)據(jù)。申請人已經(jīng)發(fā)現(xiàn),例如,在通常的使用情況下,解碼器11可以被時(shí)鐘關(guān)斷達(dá)大約60%的時(shí)間,這將解碼器的功率消耗降低超過50%。因?yàn)榻獯a器11在通常的使用情況下通常消耗顯示控制器4所用功率的大約20%,所以該功率降低重要。
在本實(shí)施方式中,用于停用解碼器11(即,通過關(guān)閉解碼器時(shí)鐘)的閾值thresholdturnoffclock被設(shè)定為整個(gè)區(qū)塊(塊)行被寫到解塊器緩沖器21的時(shí)刻:
thresholdturnoffclock=整個(gè)行的塊被寫到解塊器。
對應(yīng)地,用于重新啟動(dòng)解碼器11的閾值被設(shè)定為使得解碼器11在或接近使解碼器11用另一個(gè)區(qū)塊(塊)行完全填充解塊器緩沖器21所花費(fèi)的時(shí)間等于或足夠類似于使解塊器緩沖器21內(nèi)的剩余數(shù)據(jù)被讀出所花費(fèi)的時(shí)間的時(shí)刻重新啟動(dòng)。
用于啟動(dòng)解碼器11(即,通過打開其時(shí)鐘)的閾值thresholdturnonclock可以通過如下比較解塊器緩沖器21的填充和耗盡速率來確定:
thresholdturnonclock=cyclesdrainde-tilernm<(cyclesfillde-tiler+余裕),
其中,cyclesdrainde-tilernm是假定當(dāng)前輸出像素位置是(n,m)時(shí)耗盡解塊器緩沖器21所花費(fèi)的時(shí)鐘周期數(shù),并且如下來計(jì)算:
cyclesdrainde-tilernm=[(塊高度*行中的axi字)-[((n-1)*行中的axi字)+m/axi字中的像素]]*axi字中的像素,
cyclesdrainde-tiler是完全填充解塊器緩沖器21所花費(fèi)的周期數(shù),并且可以如下來計(jì)算:
cyclesfillde-tiler=塊數(shù)*解碼一個(gè)塊的周期,
并且余裕是允許(補(bǔ)償)由于系統(tǒng)時(shí)延而引起的任何(潛在延遲)的可設(shè)定(例如,可軟件編程)周期的數(shù)量。
圖5例示了該處理。對于(重新)啟動(dòng)解碼器11確定特定“啟動(dòng)”數(shù)據(jù)位置(像素)23。在用數(shù)據(jù)區(qū)塊(塊)行裝滿整個(gè)解塊器緩沖器21之后,關(guān)閉解碼器框11,直到解塊器緩沖器21中剩余的數(shù)據(jù)(即,尚未從解塊器緩沖器21讀出的數(shù)據(jù))低于閾值為止(即,直到由解塊器20讀出包含特定數(shù)據(jù)位置23的數(shù)據(jù)字為止)。此時(shí),再次啟用(啟動(dòng))解塊器11,以再次裝滿解塊器緩沖器21。一旦解塊器緩沖器21包含被寫到它的下一組行(如區(qū)塊),則再次關(guān)閉解碼器11。繼續(xù)該處理,直到已經(jīng)解塊了整個(gè)圖像(幀)為止。
圖6示意性示出了本實(shí)施方式的操作。處理在要顯示新幀時(shí)開始(步驟40)。例如以水平方向上的區(qū)塊總數(shù)x和垂直方向上的區(qū)塊總數(shù)y表達(dá)的由驅(qū)動(dòng)器設(shè)定幀要被劃分成以處理的區(qū)塊(塊)的數(shù)量(步驟41)。用于補(bǔ)償系統(tǒng)時(shí)延的余裕也由驅(qū)動(dòng)器設(shè)定(步驟42)。然后確定滿足啟動(dòng)閾值thresholdturnonclock的數(shù)據(jù)位置(像素)n,m(步驟43),并且將水平區(qū)塊(塊)計(jì)數(shù)和垂直區(qū)塊(塊)計(jì)數(shù)計(jì)數(shù)器初始化為零(步驟44)。
接著,打開解碼器的時(shí)鐘,即,以啟動(dòng)解碼器11(步驟45)。解碼器(連同讀取控制器10)操作用于取得并解碼(解壓縮)經(jīng)壓縮區(qū)塊并將經(jīng)解碼(經(jīng)解壓縮)區(qū)塊寫到解塊器緩沖器21(步驟46)。
按柵格順序從區(qū)塊到區(qū)塊(塊到塊)執(zhí)行該處理。由此,對于各區(qū)塊(塊),使水平區(qū)塊計(jì)數(shù)器遞增(步驟47),并且關(guān)于是否已經(jīng)到達(dá)區(qū)塊排的末端進(jìn)行確定。這通過將水平區(qū)塊計(jì)數(shù)與水平方向上的總區(qū)塊(塊)數(shù)x進(jìn)行比較來進(jìn)行(步驟48)。當(dāng)確定尚未到達(dá)區(qū)塊排的末端時(shí),處理環(huán)回,以處理區(qū)塊排中的下一區(qū)塊(步驟46)。當(dāng)確定已經(jīng)到達(dá)區(qū)塊排的末端時(shí),將水平塊計(jì)數(shù)器重新初始化為零,并且使垂直塊計(jì)數(shù)器遞增(步驟49)。
此時(shí),不是解碼器11立即處理幀中的下一區(qū)塊(塊)(即,下一區(qū)塊排中的第一區(qū)塊),而是關(guān)閉解碼器的時(shí)鐘,即,以停用解碼器11(步驟50)。解塊器20然后操作用于讀出解塊器緩沖器21中的數(shù)據(jù)(步驟51),即,按柵格行順序從字到字。
對于各字,確定該字在數(shù)據(jù)位置n,m處是否包含特定啟動(dòng)像素23(步驟52)。當(dāng)確定字不含特定啟動(dòng)像素23時(shí),處理環(huán)回到步驟51,即,以讀出下一字。另一方面,當(dāng)確定字確實(shí)包含特定啟動(dòng)像素23時(shí),然后確定是否已經(jīng)處理幀的最后一個(gè)區(qū)塊排。這通過將垂直塊計(jì)數(shù)與垂直方向上的總塊數(shù)y進(jìn)行比較來進(jìn)行(步驟53)。
當(dāng)確定尚未處理最后一個(gè)區(qū)塊排時(shí),處理環(huán)回為打開解碼器的時(shí)鐘(步驟45),以處理下一區(qū)塊排,以此類推。另一方面,當(dāng)確定已經(jīng)處理最后一個(gè)區(qū)塊排時(shí),然后確定是否已經(jīng)讀出存在于解塊器緩沖器21內(nèi)的全部數(shù)據(jù)(步驟54)。
當(dāng)情況不是這樣時(shí),處理環(huán)回到繼續(xù)讀出數(shù)據(jù)的步驟51。當(dāng)確定已經(jīng)讀出存在于解塊器緩沖器21內(nèi)的全部數(shù)據(jù)時(shí),對于當(dāng)前幀結(jié)束處理(步驟55)。然后可以以對應(yīng)的方式處理下一幀,以此類推。
雖然已經(jīng)鑒于處理(afbc)經(jīng)壓縮的區(qū)塊(塊)描述了上述優(yōu)選實(shí)施方式,但通常本發(fā)明適用于使用基于柵格掃描的數(shù)據(jù)處理但具有一個(gè)或更多個(gè)基于區(qū)塊輸入的結(jié)構(gòu)。由此,本發(fā)明例如可以用于解塊器、顯示處理器(顯示引擎)、獨(dú)立經(jīng)壓縮塊(例如,afbc)解碼器、視頻處理器(視頻引擎)等。
本發(fā)明還適用于數(shù)據(jù)以行的形式產(chǎn)生且以區(qū)塊形式使用的結(jié)構(gòu),諸如在在處理級產(chǎn)生數(shù)據(jù)行且將數(shù)據(jù)行寫到(例如,“塊”的)緩沖器的情況和從緩沖器讀出數(shù)據(jù)區(qū)塊(塊)例如以編碼且寫到存儲器的情況。
圖7示意性示出了根據(jù)另一個(gè)優(yōu)選實(shí)施方式的顯示控制器4。圖7類似于圖3,并且以大致類似的方式來操作。然而,旋轉(zhuǎn)級12代替了圖3的解碼器11,該旋轉(zhuǎn)級例如操作用于使所接收的數(shù)據(jù)區(qū)塊旋轉(zhuǎn)。
由此,在圖7的實(shí)施方式中,讀取控制器10操作用于從存儲器8讀取一個(gè)或更多個(gè)(未壓縮)表面,并且向旋轉(zhuǎn)級12傳遞該數(shù)據(jù)。如圖8所示,在本實(shí)施方式中,這通過讀取數(shù)據(jù)幀被劃分成的數(shù)據(jù)區(qū)塊或列來進(jìn)行。
如圖7所示,這些列被饋送到旋轉(zhuǎn)框12,旋轉(zhuǎn)框12根據(jù)需要旋轉(zhuǎn)數(shù)據(jù)并以(axi)字將數(shù)據(jù)寫到解塊器緩沖器21。解塊器20按柵格掃描順序從緩沖器21讀出數(shù)據(jù)作為(axi)字,并且將字饋送到層控制器23。
圖9示意性示出了根據(jù)本實(shí)施方式的、在取得未壓縮數(shù)據(jù)、旋轉(zhuǎn)數(shù)據(jù)并將其轉(zhuǎn)換成柵格行數(shù)據(jù)時(shí)顯示控制器4的操作。
如圖9所示,從外部存儲器8中的未壓縮表面的列讀取從(axi)字的突發(fā)(burst)創(chuàng)建的區(qū)塊(塊)(步驟60)。由旋轉(zhuǎn)級12根據(jù)期望旋轉(zhuǎn)區(qū)塊(塊)內(nèi)的像素?cái)?shù)據(jù)(步驟61)。然后將經(jīng)旋轉(zhuǎn)的區(qū)塊寫到解塊器緩沖器(步驟62)。從解塊器緩沖器21讀取數(shù)據(jù)字(axi字),并向像素拆包器23發(fā)送數(shù)據(jù)字(步驟63)。從(axi)字提取像素,并且以每個(gè)時(shí)鐘周期一個(gè)像素的速率向像素處理流水線16發(fā)送像素(步驟64)。
在本實(shí)施方式中,旋轉(zhuǎn)級12在它已經(jīng)產(chǎn)生整個(gè)數(shù)據(jù)區(qū)塊(塊)行時(shí)停用(時(shí)鐘關(guān)斷),并且在由解塊器20讀出該數(shù)據(jù)時(shí),旋轉(zhuǎn)級12例如以與上述方式對應(yīng)的方式在或接近于旋轉(zhuǎn)級12產(chǎn)生另一個(gè)區(qū)塊(塊)行所花費(fèi)的時(shí)間等于或足夠類似于旋轉(zhuǎn)級20讀出已經(jīng)產(chǎn)生的數(shù)據(jù)區(qū)塊(塊)行的剩余數(shù)據(jù)所花費(fèi)的時(shí)間的時(shí)刻重新啟動(dòng)。這在最大化(或至少增大)可以時(shí)鐘關(guān)斷旋轉(zhuǎn)級12的時(shí)間量和對應(yīng)產(chǎn)生的功率節(jié)省的同時(shí)確保解塊器20和下游級不缺乏供其使用的數(shù)據(jù)。
從上述可以看到,本發(fā)明的優(yōu)選實(shí)施方式使得能夠降低例如其中將區(qū)塊(塊)數(shù)據(jù)轉(zhuǎn)換成行數(shù)據(jù)的數(shù)據(jù)處理系統(tǒng)內(nèi)的功率消耗。這至少在優(yōu)選實(shí)施方式中通過以下方式來實(shí)現(xiàn):當(dāng)數(shù)據(jù)產(chǎn)生(第一)處理級已經(jīng)產(chǎn)生特定的數(shù)據(jù)組時(shí),停用該處理級,然后基于由數(shù)據(jù)消耗(第二)處理級對該數(shù)據(jù)組的使用而重新啟動(dòng)數(shù)據(jù)產(chǎn)生處理級。