麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

數據處理系統的制作方法

文檔序號:11235316閱讀:528來源:國知局
數據處理系統的制造方法與工藝

本發明涉及數據處理系統,具體涉及在數據處理系統中生成用于在顯示器上顯示的圖像時的數據處理。



背景技術:

在數據處理系統中,經常會出現這樣的情況:數據是以與隨后需要的格式不同的格式生成或以其他方式提供。這可以例如是在處理用于顯示的圖像時的情況。在這種情況下,關于待顯示的圖像的數據可以以初始格式來生成,諸如為數據位置(例如“塊”)的多個二維區塊(陣列)的形式,但可能以數據位置的多個一維行(例如,柵格行)的形式進一步處理和/或提供給顯示器(諸如顯示板)。

在這種結構中,數據處理系統必須從一種格式有效地轉換為另一種格式。這例如可以通過將數據以其初始格式(例如,如數據區塊)寫到諸如緩沖器這樣的儲存器,然后以其他格式(例如,如數據行)從例如緩沖器這樣的儲存器讀出數據來實現。換言之,數據可以以一種格式或模式生成并寫到緩沖器,然后以另一種不同的格式或模式從緩沖器“消耗”。

一個示例性這種結構是在顯示控制器中,在顯示控制器中,輸入數據區塊(陣列)以柵格行的形式來使用(消耗)(例如,在生成用于在顯示器上顯示的輸出幀時)。



技術實現要素:

申請人相信以該方式操作的數據處理系統還存在改進范圍。

根據本發明的第一方面,提供了一種操作數據處理系統的方法,該方法包括以下步驟:

數據處理系統的第一處理級根據第一模式產生數據;以及

數據處理系統的第二處理級根據不同的第二模式使用由第一處理級產生的數據;

方法還包括以下步驟:數據處理系統:

在第一處理級已經產生數據組時停用第一處理級,該數據組包括允許由第二處理級根據第二模式使用該數據組的足夠數據;并且

基于由第二處理級對該數據組的使用來重新啟動第一處理級。

根據本發明的第二方面,提供了一種數據處理系統,該數據處理系統包括:

第一處理級,該第一處理級可操作用于根據第一模式產生數據;以及

第二處理級,該第二處理級可操作用于根據不同的第二模式使用由第一處理級產生的數據;

其中,數據處理系統可操作用于:

在第一處理級已經產生數據組時停用第一處理級,該數據組包括允許由第二處理級根據第二模式使用該數據組的足夠數據;以及

基于由第二處理級對該數據組的使用來重新啟動第一處理級。

本發明涉及一種操作數據處理系統的方法,在該方法中,第一處理級根據第一模式產生數據,并且第二處理級根據不同的第二模式使用(即,消耗)該數據。在本發明中,當第一處理級已經(根據第一模式)產生特定的數據組時,停用第一處理級,然后可以基于第二處理級該數據組的使用而啟動(即,重新啟動)第一處理級。

如本領域技術人員將理解的,以本發明的方式停用第一處理級(例如且優選地,“時鐘關斷”第一處理級)具有降低數據處理系統的功率消耗的效果。

此外,并且如下面將更詳細描述的,通過基于由第二處理級對數據組的使用來啟動(即,重新啟動)第一處理級,第一處理級可以在未不利地影響數據處理系統的整體操作的情況下(例如,并且優選地,在從不造成第二處理級缺乏供其使用的數據的情況下)被停用。

由此,例如(且在優選實施方式中),在第一處理級已經產生數據組并已經停用之后,并且在該數據組由第二處理級使用的同時,在第一處理級產生另數據組所花費的時間等于或足夠類似于第二處理級使用(已經產生的)該數據組中的剩余數據所花費的時間的時刻或接近該時刻時,第一處理級可以重新啟動。這在最大化(或至少增大)可以停用第一處理級的時間量(和相應的、任何得到的功率節省)的同時確保第二處理級不缺乏供其使用的數據。

而且,申請人已經認識到,在產生數據的模式不用于使用(消耗)該數據的模式的情況下,在停用產生數據的(第一)處理級之前(根據第一模式)產生的數據組應包括允許根據第二(不同)模式使用該數據組的足夠數據(并且在本發明中就是這樣進行的)。例如,在數據以區塊形式產生且然后以行的形式消耗的情況下,產生數據的(第一)處理級應當且優選地被控制成在停用該處理級之前產生適當行寬度的區塊。

這然后允許(例如,以行的形式)“獨立地”消耗該數據組(即,在不需要在消耗該數據組的同時產生另外的數據的情況下)。這轉而再次具有最大化(或至少增大)可以停用第一處理級的時間量(和相應的、任何得到的功率節省)的效果。

因此,將理解,本發明提供改進的數據處理系統和操作數據處理系統的方法。

本發明的第一處理級可以包括可操作用于根據第一模式產生數據的任何合適且期望的處理級。第一處理級例如可以包括解碼器、旋轉級、圖形處理單元(gpu)、中央處理單元(cpu)、視頻編解碼器、合成器等。

可以存在可操作用于根據第一模式產生數據的單個第一處理級,或者可以存在多個第一處理級。在存在多個第一處理級的情況下,那么各第一處理級優選地以本發明的第一處理級的方式來操作。

由第一處理級產生且由第二處理級使用的數據可以包括可以由數據處理系統產生的任何合適且期望的數據。在優選實施方式中,數據包括一個或更多個數據陣列。數據陣列或各數據陣列優選地包括多個數據位置的陣列,各數據位置采取特定數據(例如,顏色)值。最優選地,數據包括用于顯示或其他用途的圖像數據,即,一個或更多個圖像(顏色)數據陣列,例如,一幀或更多幀。

在優選實施方式中,由第一處理級產生且由第二處理級使用的數據采取多個數據字(例如,諸如多個高級可擴展接口(axi)字)的形式(包括多個數據字),其中,各字優選地包括關于數據陣列的多個數據位置的數據。

由第一處理級產生的數據根據第一模式來產生。第一模式可以包括可以產生數據的任何合適和期望模式。

在優選實施方式中,第一處理級可操作用于以多個數據區塊的形式產生數據,其中,各數據區塊表示數據陣列的特定區域(區)。各數據區塊應當且優選地確實包括數據陣列的至少兩排和至少兩列的數據位置。

由此,在優選實施方式中,由第一處理級產生的數據陣列或各數據陣列根據第一模式被劃分或分開成多個可識別的較小區域,各較小區域表示整個陣列的一部分,并且因此可以被表示為數據區塊。

陣列或各陣列根據第一模式被細分為數據區塊可以根據期望來進行,并且各數據區塊可以表示整個數據陣列的任何合適且期望的區域(區)。

根據第一模式的各數據區塊優選地表示整個陣列的不同部分(子區域)(但如果期望,則區塊可以交疊)。各區塊應當表示陣列的適當部分(區)(陣列內的多個數據位置)。

在一個特別優選的實施方式中,由第一處理級產生的數據陣列或各數據陣列根據第一模式被劃分為優選地為正方形或矩形形式的規則尺寸和形狀的區域(數據區塊)。然而,這不是必須的,并且可以使用其他結構(如果期望)。用于第一模式的合適數據區塊尺寸為例如數據陣列中的8*8、16*16或32*32個數據位置。

在特別優選的實施方式中,由第一處理級產生的各數據區塊對應于第一處理級產生作為其輸出的“塊”。由此,第一模式優選地為塊模式。

在基于塊的數據處理系統中,數據處理系統的二維輸出陣列(例如,幀)被細分為或分成通常稱為“塊”的多個較小區域以用于數據處理。塊(子區域)可以各單獨處理(例如,一個接一個或并行)。如果期望,則可以重新組合塊(子區域),以提供完整的輸出陣列(幀),例如以顯示。

通常用于“成塊”和“基于塊的”處理的其他術語包括“組塊”(子區域被稱為“大塊(chunk)”)和“桶(bucket)”數據處理。為方便起見,這里將使用術語“塊”和“成塊”,但應理解,這些術語旨在包含全部另選和等同術語和技術。)

在數據被產生為數據字的情況下,各數據區塊優選地包括多個數據字(例如,多個axi字),各字優選地包括關于區塊的多個數據位置的數據。

在另一個實施方式中,第一處理級可操作用于產生多行的形式的數據。即,第一模式可以為行(柵格)模式。在這種情況下,由第一處理級產生的各數據行應當且優選地確實包括為一個數據位置高和多個數據位置寬(長)的數據陣列的一排數據位置。各行優選地具有對應于(等于)由第一處理級產生的整個數據陣列的寬度的寬度。然而,還將可以的是使各行具有某一其他寬度,諸如整個數據陣列寬度的一部分(例如,一半)。在如上面討論的數據包括多個數據字的情況下,第一處理級可以按柵格(行)順序產生數據字(即,按柵格行順序從字到字)。

第一處理級可以以任何合適且期望的方式產生數據。第一處理級優選地生成數據,例如通過生成數據本身和/或通過從別處(諸如從數據處理系統的存儲器或一個或更多個其他處理級)讀取或接收數據且然后處理(例如,修改)該數據。

在數據從存儲器讀取的實施方式中,存儲器可以包括任何合適的存儲器,并且可以以任何合適且期望的方式來構造。例如,存儲器可以為具有關注的處理級和/或本地于該處理級的芯片上的存儲器,或者可以為外部存儲器。在優選實施方式中,存儲器是外部存儲器,諸如數據處理系統的主存儲器。存儲器可以為用于該目的的專用存儲器,或者它可以為也用于其他數據的存儲器的一部分。在優選實施方式中,數據從幀緩沖器讀取(和存儲在該緩沖器中)。

對應地,在數據從存儲器讀取的實施方式中,數據處理系統和/或第一處理級可以包括讀取控制器,諸如可操作用于從存儲器讀取數據的直接存儲器存取(dma)讀取控制器。

在特別優選的實施方式中,第一處理級包括解碼器(優選的為arm幀緩沖器合成(afmc)(或其他基于區塊的編碼方案)解碼器(美國a12013/0034309中描述了afrc)),該解碼器可操作用于解碼(解壓縮)例如從存儲器讀取的、諸如一個或更多個所接收(優選地為afbc)經編碼(經壓縮)數據區塊的數據。因此,在該實施方式中,根據第一模式產生數據的第一處理級包括(afbc)解碼器,該解碼器根據第一模式解碼和/或解壓縮(afbc)經編碼數據(的區塊),以產生經解碼和/或經解壓縮(例如,顏色)數據(例如,經解碼和/或經解壓縮的數據的區塊)。

在另一個特別優選的實施方式中,第一處理級包括旋轉級,該旋轉級可操作用于旋轉例如從存儲器讀取的數據(諸如一個或更多個所接收數據區塊)。因此,在該實施方式中,根據第一模式產生數據的第一處理級包括旋轉級,該旋轉級旋轉(例如,顏色)數據(的區塊),以根據第二模式產生經旋轉的數據(例如,經旋轉的數據區塊)。

第二處理級使用由第一處理級產生的數據。為了促進這一點,第一處理級優選地可操作用于(根據第一模式)將其數據寫到數據處理系統的儲存器(例如,存儲器,優選的為(本地)緩沖存儲器),以由第二處理級使用。

由此,在優選實施方式中:

數據處理系統還包括存儲器(優選地為緩沖存儲器);并且

第一處理級根據第一模式將數據寫到存儲器,以由第二處理級使用。

本發明的第二處理級可以包括可操作用于根據不同的第二模式使用由第一處理級產生的數據的任何合適且期望的處理級。第二處理級例如可以包括顯示控制器的所謂“解塊器”,該解塊器可操作用于將一個或更多個數據區塊(塊)形式的數據轉換成一個或更多個數據行的形式的數據,例如以進一步處理和/或顯示。

還將可以的是使第二處理級包括顯示控制器的所謂“成塊器”,該成塊器可操作用于將一個或更多個數據行的形式的數據轉換成一個或更多個數據區塊(塊)形式的數據,例如以進一步處理和/或顯示。

再次,可以存在可操作用于根據第二模式使用數據的單個第二理級,或者可以存在多個第二處理級。在存在多個第二處理級的情況下,那么各第二處理級優選地以本發明的第二處理級的方式來操作。

由第一處理級產生的數據由第二處理級根據第二模式來使用。由此,第二處理級應當(且優選地確實)根據除了第一模式之外的模式使用數據。第二模式可以包括可以使用數據的任何合適和期望模式,只要第二模式不同于第一模式。

在優選實施方式中,數據(陣列)由第二處理級根據數據處理系統的第二處理級和/或一個或更多個其他下游處理級被構造成將該數據用作該級輸入的模式來使用。由此,例如,在數據包括用于顯示的圖像數據(或要用于生成用于顯示的圖像的數據)的一個優選實施方式中,數據(陣列)由第二處理級根據與顯示器被構造成將該數據用作顯示器輸入的模式對應的模式(即,由第二處理級所用的模式對應于被提供給顯示器以顯示的數據的模式)來使用。

在特別優選的實施方式中,數據以行(優選地為柵格(行)順序)的形式來被第二處理級使用。即,第二模式優選地為行(柵格)模式。

各數據行應當且優選地確實包括為一個數據位置高和多個數據位置寬(長)的數據陣列的一排數據位置。各行優選地具有對應于(等于)由第一處理級產生的整個數據陣列的寬度的寬度。然而,還將可以的是使各行具有某一其他寬度,諸如整個數據陣列寬度的一部分(例如,一半)。

由此,在由第一處理級產生的整個數據陣列或各整個數據陣列包括多個數據位置的陣列的情況下,數據陣列優選地由第二處理級按柵格行順序從數據位置到數據位置使用。因此,在如上面討論的數據包括多個數據字的情況下,第二處理級優選地按柵格(行)順序使用數據字(即,按柵格行順序從字到字)。

在另一個實施方式中,例如如上所述的,數據以多個數據區塊的形式由第二處理級使用,其中,各數據區塊表示數據陣列的特定區域(區)。在這種情況下,各數據區塊應當且優選地確實包括數據陣列的至少兩排和至少兩列的數據位置。用于第二模式的合適數據區塊尺寸將例如為數據陣列中的8*8、16*16或32*32個數據位置。

第二處理級可以以任何合適且期望的方式來使用由第一處理級產生的數據。由第二處理級使用數據的速率應當(且優選地)不同于且優選地為低于由第一處理級產生數據的速率。

為了使第二處理級根據第二模式使用(根據第一模式產生的)數據,由第一處理級(根據第一模式)產生的數據必須且在優選實施方式中是被有效轉換成根據第二模式的數據。

這可以以任何合適且期望的方式來實現。然而,根據特別優選的實施方式,第二處理級可操作用于從根據第二模式存儲數據的儲存器(例如,存儲器)讀取數據。由此,第二處理級優選地通過根據第二模式從存儲器讀取數據來根據第二模式使用數據。

因此,在優選實施方式中:

第一處理級根據第一模式將數據寫到存儲器,以由第二處理級使用;并且

第二處理級根據不同的第二模式從存儲器讀取數據。

在如上面討論的第一模式包括區塊(塊)模式且第二模式包括行(柵格)模式的情況下,第一處理級優選地將數據區塊(塊)寫到存儲器,并且第二處理級優選地從存儲器讀取數據行(例如,按柵格順序讀取數據)。

由此,在特別優選的實施方式中,第一處理級被構造成以輸出陣列的數據位置(即,“塊”)的二維區塊(陣列)的形式產生區域(即,高度和寬度各大于單個數據位置的區域),并且將這些區域(數據區塊)寫到數據處理系統的存儲器,而第二處理級優選地被構造成按柵格順序,即,以行(一個數據位置高且多個數據位置寬(長)的數據位置的排)形式使用數據陣列(以從存儲器讀取數據陣列)。

因此,這將意味著第二處理級優選地被構造成連續地使用(讀取)來自多個第一處理級輸出的區域(區塊)的數據位置中的一些數據位置但不是全部數據位置(即,而不是在開始下一區塊之前使用完整區塊)(例如且優選地,逐行(逐排)),例如,并且優選地,逐行(逐排),其中,各行(排)包括來自多個不同第一處理級輸出的區域(區塊)的、級聯的各數據位置排。由此,由第二處理級使用的各數據位置行(排)可以(且優選地)從由第一處理級產生的整個數據陣列的多個區塊(塊)取得。

在優選的這種實施方式中,連續使用(讀取)來自多個輸出區域(區塊)中的每一個的各對應行(排)的數據位置,即,在移至下一行上之前一個接一個地使用。例如,可以連續使用(讀取)處于區塊行(排)中的各個區塊的頂行(排)中的數據位置。然后可以連續(一起)使用(讀取)處于區塊行(排)中的各個區塊的第二行中的數據位置。

另一方面,在如上面討論的第一模式包括行(柵格)模式且第二模式包括區塊(塊)模式的情況下,第一處理級優選地將數據行寫到存儲器,并且第二處理級優選地從存儲器讀取數據區塊(塊)。

由此,在優選實施方式中,第一處理級被構造成以行(一個數據位置高且多個數據位置寬(長)的數據位置排)的形式產生區域,并且將這些數據行寫到數據處理系統的存儲器,而第二處理級優選地被構造成以數據位置(即,“塊”)的二維區塊(陣列)(即,高度和寬度各大于單個數據位置的區域)的形式來使用數據陣列(以從存儲器讀取數據陣列)。

第二處理級使用數據還可以包括第二處理級處理數據(本身)和/或第二處理級向數據處理系統的一個或更多個隨后(下游)處理級傳遞(可選地為經處理的)數據,例如且優選地以進一步處理。

在特別優選的實施方式中,第二處理級包括例如顯示控制器的“解塊器”處理級,該解塊器處理級可操作用于將以一個或更多個區塊(塊)形式接收的數據轉換成行的形式的數據,例如以進一步處理和/或顯示。在該實施方式中,(第一處理級將其數據寫到的)數據處理系統的存儲器優選地為該解塊器的一部分。由此,在該實施方式中,第一處理級優選地將其數據(根據第一模式)寫到解塊器的緩沖存儲器,然后該解塊器優選地根據第二模式從緩沖器讀出數據。

在如上面討論的數據包括多個數據字的情況下,第二處理級(解塊器)優選地按柵格(行)順序(即,按柵格行順序從字到字)讀取數據字,然后處理各字和/或向數據處理系統的一個或更多個隨后(下游)處理級傳遞各字,例如且優選地以進一步處理。

另一方面,在第二處理級包括可操作用于將以行的形式接收的數據轉換成區塊(塊)形式的數據例如以進一步處理和/或顯示的例如顯示控制器這樣的“成塊器”處理級的情況下,(第一處理級將其數據寫到的)數據處理系統的存儲器可以是該成塊器的一部分。由此,在該實施方式中,第一處理級優選地將其數據(根據第一模式)寫到成塊器的緩沖存儲器,然后成塊器優選地根據第二模式從緩沖器讀出數據。

在一個優選實施方式中,第二處理級還包括(像素)拆包處理級,該拆包處理級可操作用于從多個數據字中的每個數據字提取關于多個獨立數據位置(像素)中的每個的數據(即,其中,各數據字包括關于整個數據陣列的多個數據位置的數據)。

關于各數據位置(像素)的數據然后可以由第二處理級進一步處理和/或向前傳遞到數據處理系統的一個或更多個另外(下游)處理級,例如以進一步處理。在一個優選實施方式中,第二處理級還可以包括一個或更多個層或像素處理流水線,該處理流水線可操作用于根據需要處理關于各數據位置(像素)的數據,例如以顯示。

因此,在這些實施方式中,第一處理級優選地以多個數據字的形式產生數據(其中,各數據字包括關于整個數據陣列的多個數據位置的數據),然后由第二處理級逐數據位置(例如,逐像素)地使用(處理)該數據。因此,這將進一步增加使用數據組所花費的時間,并且相應地增加可以停用第一處理級的時間量。

第二處理級使用數據還可以或相反地包括第二處理級使得數據中的至少一些和/或經處理數據中的至少一些被顯示。由此,在一個實施方式中,第二處理級可操作用于向顯示器(直接)根據第二模式提供(可選地為經處理的)數據,以顯示。

為了促進這一點,第二處理級優選地包括可操作用于向顯示器提供用于顯示的圖像的輸出級。該輸出級可以為向顯示器提供用于顯示的圖像例如以使得在(用作顯示界面的)顯示器上顯示用于顯示的圖像的任何合適的這種輸出級。輸出級優選地包括用于顯示器的適當定時控制功能(例如,輸出級被構造成以適當的水平和垂直消隱時段向顯示器發送像素數據)。

如上面討論的,在本發明中,當第一處理級已經產生數據組時,停用第一處理級,然后基于由第二處理級對該數據組的使用而重新啟動第一處理級。

停用第一處理級可以以任何合適且期望的方式來實現,但在優選實施方式中,停用第一處理級電路的部分,例如以降低第一處理級電路的功率消耗。最優選地,停用第一處理級包括“時鐘關斷”第一處理級(即,關閉第一處理級的時鐘)。

對應地,(重新)啟動第一處理級可以以任何合適且期望的方式來實現,但在優選實施方式中,(重新)啟用第一處理級電路的部分(例如在停用第一處理級時停用的部分)。最優選地,啟動第一處理級包括打開第一處理級的時鐘。

在適當的情況下,例如可以連同第一處理級一起啟動和停用數據處理系統的處理級中的任一個或更多個,優選地以進一步降低數據處理系統的功率消耗。由此,例如,可以連同第一處理級一起啟動和停用讀取控制器(如果期望)。

在優選實施方式中,啟動第一處理級包括啟動第一處理級以產生另外的數據組。在這種情況下,該另外的數據組優選地對應于(初始的)數據組(與初始的數據組尺寸相同)。

由此,在優選實施方式中,該方法包括以下步驟:

在第一處理級已經產生第一數據組時停用第一處理級,第一數據組包括允許根據第二模式使用第一數據組的足夠數據;

基于由第二處理級對第一數據組的使用而啟動第一處理級,以產生第二數據組,第二數據組優選地包括允許根據第二模式使用第二數據組的足夠數據。

然后優選地在第一處理級已經結束產生第二數據組時再次停用第一處理級,然后優選地基于第二處理級對第二數據組的使用而重新啟動第一處理級,以此類推。

由第一處理級產生的數據組或各組數據可以包括任何合適且期望的數據組,該數據組包括允許根據第二處理級的第二模式使用該數據組的足夠數據。數據組或各組數據應當根據第一模式來產生。

如上面討論的,因為產生數據的(第一)模式不同于使用(消耗)數據的(第二)模式,所以(由第一處理級)根據第一模式產生的任意數據組通常將不可(由第二處理級)根據第二模式“獨立”使用,例如,在不需要在使用(消耗)該數據組的同時產生另外數據的情況下。

例如,在如上面討論的數據以區塊(塊)的形式產生且然后以行的形式使用(消耗)的情況下,在可以“獨立”使用該數據組之前,即,在數據可以在不需要在使用(消耗)該數據組的同時產生另外數據的情況下以行來消耗之前,必須產生適當的(例如,完全)區塊(塊)行寬。即,應當產生數據區塊排(行),其中,數據區塊排(行)具有等于第二模式下的各個行的長度(寬度)的長度(寬度)。

由此,由第一處理級(在停用第一處理級之前)產生的數據組優選地包括特定的、優選地選擇的、優選地預定的數據組,該數據組優選地具有允許(由第二處理級)根據第二模式使用的、例如在該數據組內的數據位置的數量方面的尺寸(寬度和/或高度)。因此,由第一處理級(在停用第一處理級之前)產生的該數據組尺寸將優選地依賴第一模式和第二模式這兩者,即,模式之間的關系。

該組或各組數據可以剛剛(僅)包括允許第二處理級使用數據的足夠數據,或者可以包括比該數據多的數據。

在如上面討論的數據以多個數據區塊的形式由第一處理級產生的情況下,各組數據將優選地包括多個數據區塊。由此,在特別優選的實施方式中,數據處理系統可操作用于在第一處理級已經產生一組多個數據區塊時停用第一處理級。第一處理級優選地在它已經產生特定的、優選地選擇的、優選地預定數量(該數量優選地基于允許第二處理級根據第二模式使用該組多個數據區塊所需的區塊數量)的數據區塊時停用。

對應地,在如上面討論的數據以多個(柵格)數據行的形式由第二處理級使用的情況下,各組數據將優選地包括允許以(柵格)行使用(消耗)該數據組的足夠數據。

最優選地,該組或各組數據包括一組多個數據區塊,該組多個數據區塊包括允許以(柵格)行使用(消耗)該組多個數據區塊的足夠數據區塊。在優選的這種實施方式中,該數據組包括一個或更多個數據區塊排(或“行”),即,其中,該數據區塊排或各數據區塊排跨越第二模式的整個(柵格)行(的寬度))。如上面討論的,在這種情況下,第二模式的各行優選地對應于整個數據陣列(幀)的總寬度(具有等于該總寬度的寬度),但還將可以的是使第二模式的各行具有某一其他寬度,諸如整個數據陣列(幀)的總寬度的某一部分(例如,一半)。

對應地,在如上面討論的數據以行的形式產生且然后以區塊(塊)形式使用(消耗)的情況下,優選地產生適當的一組(適當數量的)數據行,該數據組行例如包括允許以區塊(塊)使用(消耗)該數據組行的足夠數據行(例如,該數據組行對應于塊的“高度”)。

如上面討論的,基于由第二處理級對該數據組的使用(重新)啟動第一處理級。

在優選實施方式中,在由第二處理級使用該數據組的同時,即,在第二處理級已經使用(已經產生的)該數據組的全部之前,第一處理級(重新)啟動。

在這些實施方式中,第一處理級可以在第二處理級已經使用該數據組的全部之前的任何時刻(重新)啟動。然而,在特別優選的實施方式中,第一處理級在第一處理級產生另外數據組所花費的時間等于或足夠類似于第二處理級使用(已經產生的)數據組中的剩余數據所花費的時間的時刻重新啟動。如上面所討論的,這在最大化(或至少增大)停用第一處理級的時間量和得到的功率節省的同時確保第二處理級不缺乏供其使用的數據。

在一個優選實施方式中,第一處理級在第二處理級使用(已經產生的)數據組中的剩余數據所花費的時間少于或等于第一處理級產生另外數據組所花費的時間優選地加上某一余裕的時刻(重新)啟動。

在(由第一處理級產生的數據組包括數據位置陣列的)特別優選的實施方式中,確定第一數據組的特定“啟動”數據位置或多個特定“啟動”數據位置,然后基于第二處理級是否已經使用特定數據位置或多個特定數據位置,例如,在第二處理級使用(和/或到達)特定數據位置或多個特定數據位置時,啟動第一處理級。由此,在優選實施方式中,第一處理級基于第二處理級是否已經使用和/或到達關注的數據陣列的特定的、優選地選擇的、優選地確定的數據位置來(重新)啟動。

在該實施方式中,啟動數據位置或多個啟動數據位置可以根據期望來確定。然而,在特別優選的實施方式中,特定數據位置或多個特定數據位置通過確定該數據組的以下數據位置來確定:對于該數據位置,第二處理級使用該數據位置或多個數據位置之后的、該數據組的數據所花費的時間(例如,時鐘周期數)少于或等于第一處理級產生另外數據組所花費的時間(例如,時鐘周期數),優選地加上余裕。

在余裕用于這些實施方式中的情況下,余裕可以根據期望(例如,以時鐘周期數來表達)來設定,例如,以將例如由于數據處理系統中的時延而引起的任何(不可預知或相反)的延遲考慮在內。余裕在使用中優選地可(優選地逐數據陣列(逐幀)地)例如由用于數據處理系統的驅動器來設定。

其他結構當然會是可能的。

相信在數據處理系統的數據消耗處理級使用(消耗)由產生數據的處理級產生的數據組的特定數據位置或多個特定數據位置時控制數據處理系統的產生數據的處理級的構思本身是新穎且有利的。

由此,根據本發明的另一個方面,提供了一種操作數據處理系統的方法,該方法包括以下步驟:

第一處理級根據第一模式產生第一數據組,該第一數據組包括多個數據位置;以及

第二處理級根據不同的第二模式使用第一數據組;

其中,方法還包括以下步驟:

確定第一數據組的特定數據位置或多個特定數據位置,特定數據位置或多個特定數據位置用于控制第一處理級產生數據;以及

基于第二處理級是否已經使用特定數據位置或多個特定數據位置來控制第一處理級產生數據。

根據本發明的另外方面,提供了一種數據處理系統,該數據處理系統包括:

第一處理級,該第一處理級可操作用于根據第一模式產生第一數據組,第一數據組包括多個數據位置;和

第二處理級,該第二處理級可操作用于根據不同的第二模式使用第一數據組;

其中,數據處理系統被構造成:

確定第一數據組的特定數據位置或多個特定數據位置,特定數據位置或多個特定數據位置用于控制第一處理級產生數據;并且

基于第二處理級是否已經使用特定數據位置或多個特定數據位置來控制第一處理級產生數據。

如本領域技術人員將理解的,本發明的這些方面可以根據需要(且優選地確實)包括這里描述的本發明的優選和可選特征中的任一個或更多個或全部。

由此,例如,特定數據位置或多個特定數據位置優選地通過確定第一數據組的以下數據位置來確定:對于數據位置或多個數據位置,第二處理級使用數據位置或多個數據位置之后的、第一數據組的數據所花費的時間(例如,時鐘周期數)少于或等于第一處理級產生第二數據組所花費的時間(例如,時鐘周期數)優選地加上余裕。

類似地,第一處理級優選地在它已經產生第一數據組時停用,例如且優選地如上所述。然后優選地基于第二處理級是否已經使用特定數據位置或多個特定數據位置來控制第一處理級產生數據,例如,由第一處理級產生數據優選地通過在第二處理級使用特定數據位置或多個特定數據位置時啟動第一處理級以產生第二數據組來控制,例如且優選地如上所述。

從上述將理解,在優選實施方式中,由第一處理級產生數據基于相對的數據的產生(第一)模式與該數據的使用(消耗)(第二)模式來控制,即,基于模式之間的關系來控制。

本發明的數據處理系統可以包括任何合適且期望的數據處理系統。然而,如本領域技術人員將理解的,本發明與顯示控制器或包括顯示控制器的數據處理特性特別相關且特別用于顯示控制器或包括顯示控制器的數據處理系統中。

由此,在特別優選的實施方式中,本發明的數據處理系統包括顯示控制器。

對應地,根據本發明的另一個方面,提供了一種操作用于數據處理系統的顯示控制器的方法,該方法包括以下步驟:

顯示控制器的第一處理級根據第一模式產生數據;以及

顯示控制器的第二處理級根據不同的第二模式使用由第一處理級產生的數據;

方法還包括以下步驟:顯示控制器:

在第一處理級已經產生數據組時停用第一處理級,該數據組包括允許根據第二模式使用該數據組的足夠數據;以及

基于由第二處理級對該數據組的使用來啟動第一處理級。

根據本發明的另一個方面,提供了一種用于數據處理系統的顯示控制器,該顯示控制器包括:

第一處理級,該第一處理級可操作用于根據第一模式產生數據;和

第二處理級,該第二處理級可操作用于根據不同的第二模式使用由第一處理級產生的數據;

其中,顯示控制器可操作用于:

在第一處理級已經產生數據組時停用第一處理級,該數據組包括允許根據第二模式使用該數據組的足夠數據;并且

基于由第二處理級對該數據組的使用來啟動第一處理級。

如本領域技術人員將理解的,本發明的這些方面可以根據需要(且優選地確實)包括這里描述的本發明的優選和可選特征中的一個或更多個或全部。

顯示控制器可以為任何合適且期望的顯示控制器,并且可以包括顯示控制器可以包括的任何合適且期望的另外處理級。顯示控制器應當且優選地可操作用于向顯示器提供用于顯示的圖像。

顯示控制器(的第一處理級)優選地包括解碼器和/或旋轉級,優選地和閱讀控制器,并且例如優選地如上所述。顯示控制器(的第二處理級)優選地例如如上面討論的包括解塊器處理級,該解塊器處理級可操作用于將以一個或更多個區塊(塊)形式接收的數據轉換成行的形式的數據,例如以進一步處理和/或顯示;(像素)拆包處理級,該拆包處理級可操作用于從多個數據字中的每一個提取關于多個獨立數據位置(像素)中的每一個數據;一個或更多個層或像素處理流水線,該處理流水線可操作用于根據需要處理關于各數據位置(像素)的數據,例如以顯示;和/或輸出級,該輸出級可操作用于向顯示器提供用于顯示的圖像,并且例如且優選地如上所述。

雖然上面具體參照給定數據陣列(例如,用于顯示的幀)的處理描述了本發明,但如本領域技術人員將理解的,本發明可以且優選地用于處理多個數據陣列(例如,提供用于顯示的多個幀),并且優選地用于處理數據陣列的序列(例如,向顯示器提供要顯示的幀序列)。

數據處理系統的各種級可以根據期望來實現,例如,以一個或更多個固定功能單元(硬件)(即,專用于不可變化的一個或更多個功能的單元)的形式、或被實現為一個或更多個可編程處理級,例如借助于可以被編程為執行期望操作的可編程電路來實現。可以存在固定功能級和可編程級這兩者。

本發明的各種處理級中的一個或更多個可以作為單獨的電路元件提供給數據處理系統的其他級。然而,一個或更多個級還可以至少部分由共享數據處理電路來形成。

本發明的各種級中的一個或更多個可以操作用于總是對任何和全部所接收數據執行它的功能。另外或另選地,級中的一個或更多個可以操作用于對所接收數據選擇性執行它的功能(即,在期望和/或適當時)。

數據處理系統可以且優選地確實包括中央處理單元、圖形處理單元、視頻處理器(編解碼器)、系統總線、存儲控制器、圖像信號處理器、顯示處理單元以及如為本領域技術人員所知的另外元件中的一個或更多個,并且優選地包括全部。

數據處理系統可以且優選地是被構造成與外部存儲器(例如,經由存儲控制器)、一個或更多個本地顯示器和/或一個或更多個外部顯示器中的一個或更多個(并且本發明還擴展到包括上述部件中的一個或更多個的結構)通信。

在實施方式中,數據處理系統還包括顯示器。與顯示控制器一起使用的顯示器可以為任何合適且期望的顯示器,諸如例如,屏幕(諸如平板電腦)或打印機。

本發明可以在任何合適的系統中實現,諸如基于合適構造的微處理器的系統。在實施方式中,本發明實現在計算機和/或基于微處理器的系統中。

本發明的各種功能可以以任何期望且合適的方式來執行。例如,本發明的功能可以實現在硬件或軟件中(根據期望)。由此,例如,除非以其他方式指示,本發明的各種功能元件和“裝置”可以包括合適的處理器、控制器、功能單元、電路、處理邏輯、微處理器結構等,它們可操作用于執行各種功能等,諸如適當專用硬件元件(處理電路)和/或可以被編程為以期望方式操作的的可編程硬件元件(處理電路)。

這里還應當注意的是,如本領域技術人員將理解的,本發明的各種功能等可以在給定處理器上重復和/或并行執行。等同地,各種處理級可以共享處理電路等(如果期望)。

受制于必須執行上面討論的特定功能的任何硬件,顯示處理流水線可以以其他方式包括顯示處理流水線包括的通常功能單元等中的任一個或更多個或全部。

如本領域技術人員還將理解的,本發明的全部描述的實施方式可以(且在實施方式中確實)根據需要包括這里描述的特征中的任一個或更多個或全部。

根據本發明的方法至少部分地可以使用軟件(例如,計算機程序)實現。由此將看到當從另外的實施方式看時,本發明提供計算機軟件,該計算機軟件當安裝在數據處理器上時專門適用于執行這里描述的方法;計算機程序元件,該計算機程序元件包括計算機軟件代碼部,用于在程序元件在數據處理器上運行時執行這里描述的方法;和計算機程序,該計算機程序包括代碼,該代碼當程序在數據處理系統上運行時適用于執行這里描述的方法的全部步驟。數據處理器可以是微處理器系統、可編程fpga(場可編程門陣列)等。

本發明還擴展到計算機軟件載體,該計算機軟件載體包括這種軟件,這種軟件當用于操作圖形處理器、渲染器或包括數據處理器的微處理器系統時與所述數據處理器、所述處理器、渲染器或系統結合使處理器執行本發明的方法的步驟。這種計算機軟件載體可以是物理存儲介質,諸如rom芯片、cdrom、ram、閃存或盤,或可以是信號,諸如電線上的電信號、光信號或諸如到衛星的無線電信號等。

還將理解的是,不是本發明的方法的全部步驟都需要由計算機軟件執行,并且由此根據更寬實施方式,本發明提供了計算機軟件并且這種軟件安裝在計算機軟件載體上,用于執行這里闡述的方法的步驟中的至少一個。

本發明可以因此適當地具體實施為用于與計算機系統一起使用的計算機程序產品。這種實現可以包括一系列計算機可讀指令,該一系列計算機可讀指令固定在有形、永久介質上,諸如計算機可讀介質,例如,磁盤、cdrom、rom、ram、閃存或硬盤。還應當包括一系列計算機可讀指令,在有形介質(包括但不限于,光學或模擬通信線)上,或無形地使用無線技術(包括但不限于,微波、紅外或其他傳輸技術),這些指令經由調制解調器或其他界面裝置可發送到計算機系統。該系列計算機可讀指令具體實施這里之前描述的功能的全部或一部分。

本領域技術人員將理解,這種計算機可讀指令可以以多種編程語言來寫,用于與多個計算機架構或操作系統一起使用。進一步地,這種指令可以使用任何存儲技術來存儲(存儲技術現在或將來包括但不限于半導體、磁或光),或使用任何通信技術來發送(通信技術現在或將來包括但不限于光學、紅外或微波)。預期的是,這種計算機程序產品可以作為可去除介質來分發,附有已打印的文檔或電子文檔,例如,現成軟件;例如在系統rom或固定盤上預加載有計算機系統;或在網絡(例如,因特網或萬維網)上從服務器或電子公告欄分發。

附圖說明

現在將僅以示例的方式并參照附圖來描述本發明的各種實施方式,在附圖中:

圖1示意性示出了根據本發明的實施方式的數據處理系統;

圖2示意性示出了根據本發明的實施方式的顯示控制器;

圖3示意性示出了根據本發明的實施方式的顯示控制器的一部分;

圖4示意性示出了根據本發明的實施方式的顯示控制器的操作;

圖5示意性示出了根據本發明的實施方式的顯示控制器的解塊器;

圖6示意性示出了根據本發明的實施方式的顯示控制器的操作;

圖7示意性示出了根據本發明的另一個實施方式的顯示控制器的一部分;

圖8示意性示出了根據本發明的實施方式的、數據陣列到區塊的劃分;以及

圖9示意性示出了根據本發明的實施方式的顯示控制器的操作。

類的附圖標記貫穿附圖在適當的情況下用于類似的部件。

具體實施方式

現在將參照附圖描述本發明的優選實施方式。

圖1示意性示出了根據本發明的實施方式的數據處理系統。數據處理系統包括視頻編解碼器1、中央處理單元(cpu)2、圖形處理單元(gpu)3、顯示控制器4以及存儲控制器7。如圖1所示,這些單元經由互連器6通信并訪問片外主存儲器8。視頻編解碼器1、cpu2和/或gpu3生成輸出表面,并且經由存儲控制器7將表面存儲在片外存儲器8中的幀緩沖器中。顯示控制器4然后經由存儲控制器8從片外存儲器8中的幀緩沖器讀取輸出表面,并且向顯示器5發送表面以顯示。

圖2示意性示出了根據本發明的實施方式的顯示控制器4。在圖2中,矩形表示顯示控制器的功能單元,而標有箭頭的線表示各種功能單元之間的連接。

圖2示出了與本實施方式的操作有關的、顯示控制器4的主要元件。如本領域技術人員將理解的,將存在圖2中未例示的、顯示控制器4的其他元件。這里還應當注意的是,圖2僅是示意性的,并且例如,在實踐中,所示的功能單元和級可以共享重要的硬件電路,即使它們在圖2中被示意性示出為單獨的級。還將理解,如圖2所示的顯示控制器4的各個級、元件以及單元等可以根據期望來實現,并且因此將包括例如用于執行必要操作和功能的適當電路和/或處理邏輯等。

在本實施方式中,顯示控制器4包括直接存儲器存取(dma)讀取控制器10形式的讀取控制器。讀取控制器10被構造成經由諸如高級可擴展接口(axi)的接口從主存儲器8(圖2中未示出)讀取一個或更多個表面。一個或更多個表面通常將為(可選地為經壓縮的)rgb數據的形式。

與讀取控制器10位于一處的是解碼器11,該解碼器11可以用于在向前發送一個或更多個經解碼(經解壓縮)表面之前按需(選擇性地)解碼(解壓縮)所接收的壓縮表面。解碼器11可以包括arm幀緩沖器壓縮(afbc)解碼器(美國a12013/0034309中描述了afbc)。當然,可以使用其他壓縮方案。壓縮的使用減小了與顯示控制器4從片外存儲器8讀取表面關聯的帶寬。

類似地,旋轉單元12可以用于在向前發送一個或更多個輸入表面之前按需選擇性旋轉輸入表面中的一個或更多個。

在所例示的實施方式中,讀取控制器4被構造成(讀取)要用于生成合成輸出幀的多達三個不同的輸入表面(層)。在該實施方式中,三個輸入層包括例如由視頻處理器(編解碼器)生成的一個視頻層和兩個圖形層(例如,由圖形處理單元(gpu)生成的兩個圖形窗口)。因此,圖2示出了經由三層流水線或通道(即,視頻通道13a、第一圖形通道13b以及第二圖形通道13c)向前發送三個輸入表面(顯示層)的顯示控制器。所發送輸入表面中的任一個或全部可以如上所述的已經經受由解碼器11進行的解碼(解壓縮)和/或由旋轉單元12進行的旋轉。

雖然圖2的實施方式例示了使用三個輸入表面,但將理解,在本發明中可以使用任何數量的輸入表面(層),這依賴于關注的應用(并且還依賴于任何硅面積限制等)。等同地,可以根據期望提供并使用任何數量的層流水線或通道。

本實施方式的顯示控制器4可選地包括多工器/數據流控制器14。當存在時,顯示控制器可以被構造成使得多工器14從輸入表面通道中的任一個或更多個(或全部)接收輸入。多工器14可操作用于向多工器14的輸出中的任一個或更多個選擇性發送所接收輸入(即,表面)中的任一個或更多個(或全部)。

本實施方式的顯示控制器4可選地包括合成單元15。當存在時,顯示控制器可4以被構造成使得合成單元15直接從通道13中的任一個或更多個或全部和/或從多工器14接收輸入。合成單元15可操作用于合成所接收的輸入表面,以生成合成的輸出幀(即,由適當的混合操作等)。在所例示的實施方式中,合成的輸出幀可以由合成單元15向前發送到多工器14和/或后處理流水線16。

后處理流水線16被構造成對(所合成的)輸出表面(幀)選擇性執行任何期望的處理操作。后處理流水線16例如可以包括顏色轉換級,該顏色轉換級可操作用于向(所合成的)輸出幀應用顏色轉換;抖動級,該抖動級可操作用于向(所合成的)輸出幀應用抖動;和/或伽馬校正級,該伽馬校正級可操作用于對(所合成的)輸出幀進行伽馬校正。

在本實施方式中,后處理流水線16被構造成向輸出級發送(經處理的)合成輸出幀,該輸出級包括用于在(本地)顯示器(未示出)上適當顯示的顯示定時單元17。顯示定時單元17被構造成以適當的水平和垂直消隱時段向顯示器發送像素數據。

本實施方式的顯示控制器4可選地包括縮放引擎18。當存在時,縮放引擎18操作用于(選擇性)縮放(即,放大或縮小)任一個或更多個所接收表面(幀),以生成經縮放表面(幀)。

在本實施方式中,顯示控制器可選地包括例如為dma寫控制器形式的寫控制器19。當存在時,寫控制器19可以被構造成將所接收表面(幀)寫出到外部存儲器8(例如,幀緩沖器),例如經由axi。

由此,本發明的該優選實施方式包括集成了解碼器11和旋轉單元12(可選地連同合成單元15和/或能夠放大和縮小表面的縮放引擎18)的顯示控制器。解碼器11和旋轉單元12嵌在顯示控制器內,使得可以在僅需要從幀緩沖器單個讀取(各輸入表面)的情況下在顯示由顯示控制器4讀取的表面之前解碼(解壓縮)和/或旋轉(然后可選地另外處理(例如,合成和/或縮放))這些表面。

圖3更詳細地示出了特別與優選實施方式的操作有關的、顯示控制器4的一部分。在該優選實施方式中,片外存儲器8中的幀緩沖器中所存儲的一個或更多個表面使用afbc或另一個基于區塊的編碼方案來壓縮。

在afbc和其他基于區塊的編碼方案中,各經壓縮的表面被編碼為多個數據區塊(塊),其中,各數據區塊(塊)表示表面的特定區域。因此,顯示控制器4以區塊(塊)(即,逐區塊(逐塊))從片外存儲器8的幀緩沖器取得各表面。與此相反,顯示控制器4以柵格行(即,一個像素位置高和多個像素位置寬(長)的像素位置排)向顯示器5提供用于顯示的輸出圖像。因此,顯示控制器4將所讀取區塊(塊)數據轉換成柵格行數據,然后向顯示器5發送柵格行數據,以顯示。

在本實施方式中,讀取控制器10被構造成經由諸如高級可擴展接口(axi)這樣的接口從主存儲器8讀取經壓縮表面的一個或更多個區塊(塊)。為此,讀取控制器10經由(axi)地址通道向存儲器8發送請求,并且經由(axi)數據通道從存儲器8接收數據。讀取控制器10可以包括重新排序緩沖器,如果期望,則該重新排序緩沖器允許重新排序由讀取控制器10混亂接收的區塊(塊)。

一個或更多個經壓縮區塊(塊)將為afbc經編碼rgb數據的形式。各區塊(塊)通常將具有16x8x4b=0.5kb的尺寸。

由讀取控制器10讀取的經壓縮區塊(塊)然后經由(axi)接口向前發送到解碼器11。解碼器11操作用于解碼經壓縮區塊(塊),以產生例如rgb數據的未壓縮塊。未壓縮區塊然后以諸如axi字的數據字的形式向前發送到解塊器20。各字將包括關于區塊(塊)的多個像素(數據位置)的數據。

解塊器20操作用于將區塊(塊)數據轉換成柵格行數據。如圖3所示,為了這樣做,解塊器20包括緩沖存儲器21。由解塊器20接收的區塊(塊)數據被逐區塊(逐塊)寫到緩沖器21,然后通過從緩沖器21讀取用于各柵格行的適當字從緩沖器21讀出數據字(諸如axi寬度字)形式的柵格行數據。

然后,(axi)字形式的行數據經由時延隱藏先入先出(fifo)緩沖器22饋送到像素拆包器或層控制器23。像素拆包器23從所接收的(axi)字提取用于各像素(數據位置)的數據,并且向適當的通道或層流水線13以每個時鐘周期一個像素的速率向前發送數據,以進一步處理(例如,如上面討論的)。

圖4示意性例示了在取得經壓縮區塊(塊)數據并將其轉換成行數據時顯示控制器4的操作。如圖4所示,經由(axi)接口從外部存儲器8取得(例如,afbc經壓縮層)的經壓縮區塊(步驟30)。解壓縮區塊并將區塊寫到解塊器20(步驟31)。然后從解塊器20讀取數據字(axi字),并向像素拆包器23發送數據字(步驟32)。從(axi)字提取關于獨立像素的數據,并且以每個時鐘周期1個像素的速率向層或像素處理流水線13發送該數據(步驟33)。

在本實施方式的結構中,由像素拆包器或層控制器23接收的各(axi)字包括關于多個像素(數據位置)的數據,并且獨立像素數據以每個時鐘周期一個像素的速率發送給層流水線13。因此,解塊器20的耗盡速率與可以填充解塊器20的速率相比較低。另外,如圖3所示,對應于區塊(塊)的整個行(幀)寬度的x個區塊(塊)的序列應該在可以以行讀出區塊數據之前寫到解塊器緩沖器21。

在本實施方式中,這些事實被用來降低顯示控制器4的功率消耗。具體地,解碼器11在它已經產生整個數據區塊行時停用(時鐘關斷),并且在由解塊器20讀出該數據的同時,在或接近于使解碼器11產生另一個區塊(塊)行所花費的時間等于或足夠類似于使解塊器20讀出已經產生的區塊行的剩余數據所花費的時間的時刻重新啟動解碼器11。由此,解碼器11被設置為在尚未從解塊器緩沖器21讀出的在緩沖器21中的數據低于閾值時例如定期生成對數據區塊(塊)的多組請求。

這在最大化(或至少增大)可以時鐘關斷解碼器11的時間量和對應產生的功率節省的同時確保了解塊器20和下游級不缺乏供其使用的數據。申請人已經發現,例如,在通常的使用情況下,解碼器11可以被時鐘關斷達大約60%的時間,這將解碼器的功率消耗降低超過50%。因為解碼器11在通常的使用情況下通常消耗顯示控制器4所用功率的大約20%,所以該功率降低重要。

在本實施方式中,用于停用解碼器11(即,通過關閉解碼器時鐘)的閾值thresholdturnoffclock被設定為整個區塊(塊)行被寫到解塊器緩沖器21的時刻:

thresholdturnoffclock=整個行的塊被寫到解塊器。

對應地,用于重新啟動解碼器11的閾值被設定為使得解碼器11在或接近使解碼器11用另一個區塊(塊)行完全填充解塊器緩沖器21所花費的時間等于或足夠類似于使解塊器緩沖器21內的剩余數據被讀出所花費的時間的時刻重新啟動。

用于啟動解碼器11(即,通過打開其時鐘)的閾值thresholdturnonclock可以通過如下比較解塊器緩沖器21的填充和耗盡速率來確定:

thresholdturnonclock=cyclesdrainde-tilernm<(cyclesfillde-tiler+余裕),

其中,cyclesdrainde-tilernm是假定當前輸出像素位置是(n,m)時耗盡解塊器緩沖器21所花費的時鐘周期數,并且如下來計算:

cyclesdrainde-tilernm=[(塊高度*行中的axi字)-[((n-1)*行中的axi字)+m/axi字中的像素]]*axi字中的像素,

cyclesdrainde-tiler是完全填充解塊器緩沖器21所花費的周期數,并且可以如下來計算:

cyclesfillde-tiler=塊數*解碼一個塊的周期,

并且余裕是允許(補償)由于系統時延而引起的任何(潛在延遲)的可設定(例如,可軟件編程)周期的數量。

圖5例示了該處理。對于(重新)啟動解碼器11確定特定“啟動”數據位置(像素)23。在用數據區塊(塊)行裝滿整個解塊器緩沖器21之后,關閉解碼器框11,直到解塊器緩沖器21中剩余的數據(即,尚未從解塊器緩沖器21讀出的數據)低于閾值為止(即,直到由解塊器20讀出包含特定數據位置23的數據字為止)。此時,再次啟用(啟動)解塊器11,以再次裝滿解塊器緩沖器21。一旦解塊器緩沖器21包含被寫到它的下一組行(如區塊),則再次關閉解碼器11。繼續該處理,直到已經解塊了整個圖像(幀)為止。

圖6示意性示出了本實施方式的操作。處理在要顯示新幀時開始(步驟40)。例如以水平方向上的區塊總數x和垂直方向上的區塊總數y表達的由驅動器設定幀要被劃分成以處理的區塊(塊)的數量(步驟41)。用于補償系統時延的余裕也由驅動器設定(步驟42)。然后確定滿足啟動閾值thresholdturnonclock的數據位置(像素)n,m(步驟43),并且將水平區塊(塊)計數和垂直區塊(塊)計數計數器初始化為零(步驟44)。

接著,打開解碼器的時鐘,即,以啟動解碼器11(步驟45)。解碼器(連同讀取控制器10)操作用于取得并解碼(解壓縮)經壓縮區塊并將經解碼(經解壓縮)區塊寫到解塊器緩沖器21(步驟46)。

按柵格順序從區塊到區塊(塊到塊)執行該處理。由此,對于各區塊(塊),使水平區塊計數器遞增(步驟47),并且關于是否已經到達區塊排的末端進行確定。這通過將水平區塊計數與水平方向上的總區塊(塊)數x進行比較來進行(步驟48)。當確定尚未到達區塊排的末端時,處理環回,以處理區塊排中的下一區塊(步驟46)。當確定已經到達區塊排的末端時,將水平塊計數器重新初始化為零,并且使垂直塊計數器遞增(步驟49)。

此時,不是解碼器11立即處理幀中的下一區塊(塊)(即,下一區塊排中的第一區塊),而是關閉解碼器的時鐘,即,以停用解碼器11(步驟50)。解塊器20然后操作用于讀出解塊器緩沖器21中的數據(步驟51),即,按柵格行順序從字到字。

對于各字,確定該字在數據位置n,m處是否包含特定啟動像素23(步驟52)。當確定字不含特定啟動像素23時,處理環回到步驟51,即,以讀出下一字。另一方面,當確定字確實包含特定啟動像素23時,然后確定是否已經處理幀的最后一個區塊排。這通過將垂直塊計數與垂直方向上的總塊數y進行比較來進行(步驟53)。

當確定尚未處理最后一個區塊排時,處理環回為打開解碼器的時鐘(步驟45),以處理下一區塊排,以此類推。另一方面,當確定已經處理最后一個區塊排時,然后確定是否已經讀出存在于解塊器緩沖器21內的全部數據(步驟54)。

當情況不是這樣時,處理環回到繼續讀出數據的步驟51。當確定已經讀出存在于解塊器緩沖器21內的全部數據時,對于當前幀結束處理(步驟55)。然后可以以對應的方式處理下一幀,以此類推。

雖然已經鑒于處理(afbc)經壓縮的區塊(塊)描述了上述優選實施方式,但通常本發明適用于使用基于柵格掃描的數據處理但具有一個或更多個基于區塊輸入的結構。由此,本發明例如可以用于解塊器、顯示處理器(顯示引擎)、獨立經壓縮塊(例如,afbc)解碼器、視頻處理器(視頻引擎)等。

本發明還適用于數據以行的形式產生且以區塊形式使用的結構,諸如在在處理級產生數據行且將數據行寫到(例如,“塊”的)緩沖器的情況和從緩沖器讀出數據區塊(塊)例如以編碼且寫到存儲器的情況。

圖7示意性示出了根據另一個優選實施方式的顯示控制器4。圖7類似于圖3,并且以大致類似的方式來操作。然而,旋轉級12代替了圖3的解碼器11,該旋轉級例如操作用于使所接收的數據區塊旋轉。

由此,在圖7的實施方式中,讀取控制器10操作用于從存儲器8讀取一個或更多個(未壓縮)表面,并且向旋轉級12傳遞該數據。如圖8所示,在本實施方式中,這通過讀取數據幀被劃分成的數據區塊或列來進行。

如圖7所示,這些列被饋送到旋轉框12,旋轉框12根據需要旋轉數據并以(axi)字將數據寫到解塊器緩沖器21。解塊器20按柵格掃描順序從緩沖器21讀出數據作為(axi)字,并且將字饋送到層控制器23。

圖9示意性示出了根據本實施方式的、在取得未壓縮數據、旋轉數據并將其轉換成柵格行數據時顯示控制器4的操作。

如圖9所示,從外部存儲器8中的未壓縮表面的列讀取從(axi)字的突發(burst)創建的區塊(塊)(步驟60)。由旋轉級12根據期望旋轉區塊(塊)內的像素數據(步驟61)。然后將經旋轉的區塊寫到解塊器緩沖器(步驟62)。從解塊器緩沖器21讀取數據字(axi字),并向像素拆包器23發送數據字(步驟63)。從(axi)字提取像素,并且以每個時鐘周期一個像素的速率向像素處理流水線16發送像素(步驟64)。

在本實施方式中,旋轉級12在它已經產生整個數據區塊(塊)行時停用(時鐘關斷),并且在由解塊器20讀出該數據時,旋轉級12例如以與上述方式對應的方式在或接近于旋轉級12產生另一個區塊(塊)行所花費的時間等于或足夠類似于旋轉級20讀出已經產生的數據區塊(塊)行的剩余數據所花費的時間的時刻重新啟動。這在最大化(或至少增大)可以時鐘關斷旋轉級12的時間量和對應產生的功率節省的同時確保解塊器20和下游級不缺乏供其使用的數據。

從上述可以看到,本發明的優選實施方式使得能夠降低例如其中將區塊(塊)數據轉換成行數據的數據處理系統內的功率消耗。這至少在優選實施方式中通過以下方式來實現:當數據產生(第一)處理級已經產生特定的數據組時,停用該處理級,然后基于由數據消耗(第二)處理級對該數據組的使用而重新啟動數據產生處理級。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 吴忠市| 台北县| 离岛区| 奈曼旗| 四川省| 麻江县| 多伦县| 施甸县| 盘山县| 安阳县| 长武县| 五指山市| 陵川县| 农安县| 重庆市| 延边| 扎鲁特旗| 镶黄旗| 阿城市| 五河县| 郓城县| 桑植县| 建德市| 九龙城区| 定西市| 茂名市| 杂多县| 宜丰县| 郁南县| 陵川县| 仪陇县| 安丘市| 南川市| 景洪市| 万山特区| 故城县| 新泰市| 昭苏县| 隆尧县| 定南县| 镇坪县|