專利名稱:圖像處理設備的制作方法
技術領域:
本發明涉及一種利用具有與顯示器屏幕的一行相對應的存儲容量的行緩沖器來繪制圖像數據并且在顯示設備上顯示圖像數據的圖像處理設備。
背景技術:
眾所周知,在諸如游戲控制臺這樣的娛樂設備中,彼此并行地同時執行將靜止圖像或者活動圖像的圖像數據寫入到緩沖器的繪制處理以及對緩沖器中的圖像數據進行讀取并且將其顯示在顯示設備上的顯示處理。按照這種方式來執行繪制處理和顯示處理的圖像處理設備的示例包括基于幀緩沖器的圖像處理設備和基于行緩沖器的圖像處理設備,其中,所述基于幀緩沖器的圖像處理設備使用用于存儲與一幀相對應的圖像數據的幀緩沖器,所述基于行緩沖器的圖像處理設備使用用于存儲與一行相對應的圖像數據的行緩沖器。與基于行緩沖器的圖像處理設備有關的文獻的一個示例是日本專利申請公開 No.2005-215252。在基于幀緩沖器的圖像處理設備中,例如,在一個垂直掃描時段中產生與一幀相對應的圖像數據,并將其存儲在幀緩沖器中。在這類基于幀緩沖器的圖像處理設備中,通過在一個垂直掃描時段中,對通過例如諸如聯合圖像專家組(JPEG)算法這樣的高壓縮算法所獲得的壓縮數據進行解碼可產生對象(即,要被顯示的圖像)的圖像數據,并且還可在顯示設備上實現高分辨率和全色圖像的顯示。然而,這類基于幀緩沖器的圖像處理設備需要很大容量的幀緩沖器。動態隨機存取存儲器(DRAM)通常用作幀緩沖器。因此,由于噪音的影響,可能會丟失存儲在用作幀緩沖器的DRAM中的數據,從而擾亂了設備屏幕。另外,基于幀緩沖器的圖像處理設備很昂貴,因為它需要高容量的幀緩沖器。另一方面,基于行緩沖器的圖像處理設備僅需具有小容量的存儲器,并且不需要高容量的DRAM。因此,噪音幾乎不會擾亂屏幕。基于行緩沖器的圖像處理設備以低價格實現,因為它不需要高容量的幀緩沖器。然而,在基于行緩沖器的圖像處理設備中,應在一個水平掃描時段之內產生要在下一水平掃描時段顯示的圖像數據并且將其寫入到行緩沖器。 很難在這么短的時間內從例如通過高壓縮JPEG算法所獲得的壓縮數據產生與要顯示的一行相對應的圖像數據,并且將圖像數據寫入到行緩沖器。因此,在傳統的基于行緩沖器的圖像處理設備中,將未壓縮圖像數據或者通過諸如差分編碼算法這樣的以行為單位進行解碼的低壓縮算法所獲得的圖像數據存儲在只讀存儲器(ROM)中,并且根據存儲在ROM中的圖像數據產生與要顯示的一行相對應的圖像數據,并將所產生的圖像數據寫入到行緩沖器。 在這里,很難提高在一個水平掃描時段內從ROM所讀取的數據的量,因為ROM通常具有低讀取速度。另外,很難提高所產生的用于在一個水平掃描時段內顯示的圖像數據的量,因為如上所述存儲在ROM中的圖像數據是未壓縮的或者略微壓縮的圖像數據。因此,在傳統的基于行緩沖器的圖像處理設備中,很難執行全色和高分辨率圖像顯示
發明內容
本發明是鑒于上述情況做出的,并且本發明的目的是提供一種用于在基于行緩沖器的圖像處理設備中實現全色和高分辨率圖像顯示的技術手段。 本發明提供了一種圖像處理設備,該圖像處理設備包括行緩沖器,用于存儲與水平同步信號同步地繪制的一行的圖像數據;工作存儲器,該工作存儲器具有在圖像數據的處理中使用的多個存儲區域;圖像數據產生單元,用于產生在每個垂直掃描時段中要在顯示設備上顯示的對象的圖像數據;存儲器管理單元,用于對工作存儲器進行管理,以充當用于存儲由圖像數據產生單元所產生的對象的圖像數據的虛擬存儲器,其中,當產生了對象的圖像數據時,存儲器管理單元選擇用于存儲要被顯示的對象的圖像數據的工作存儲器的存儲區域,并且將所產生的圖像數據存儲在所選存儲區域中,并且釋放工作存儲器中的用于存儲圖像數據的存儲區域當中的用于存儲已用于在顯示設備上顯示的圖像數據的另一存儲區域,從而允許所述另一存儲區域存儲新的圖像數據;繪制單元,用于通過存儲器管理單元從工作存儲器中讀取在每個水平掃描時段繪制一行所需的圖像數據,然后根據所讀取的圖像數據產生一行的圖像數據,并且將所產生的一行的圖像數據存儲在行緩沖器中;以及控制器,用于順序地指示圖像數據產生單元,以在每個垂直掃描時段在顯示設備上顯示每個對象的圖像數據之前,產生每個對象的圖像數據。根據本發明,控制器順序地指示圖像數據產生單元,以在每個垂直掃描時段在顯示設備上顯示每個對象的圖像數據之前,產生每個對象的圖像數據。圖像數據產生單元根據該指令產生對象的圖像數據,并且通過存儲器管理單元將所產生的圖像數據存儲在作為虛擬存儲器的工作存儲器中。繪制單元根據工作存儲器中的圖像數據產生與要在每個水平掃描時段顯示的一行相對應的圖像數據。另外,存儲器管理單元釋放在工作存儲器中存儲圖像數據的存儲區域當中的存儲了已用于顯示的圖像數據的存儲區域,以為存儲新的圖像數據做準備。因此,工作存儲器僅需具有小容量。因為圖像數據產生單元產生對象的圖像數據的時段不局限于在一個水平掃描時段之內,因此不但可利用未壓縮圖像數據或者可基于行而解碼的略微壓縮的圖像數據來產生對象的圖像數據,而且還可利用無法基于行而解碼的高壓縮圖像數據來產生對象的圖像數據。因此,該圖像處理設備可實現高分辨率和全色顯示,即使圖像處理設備是行緩沖器類型。
圖1是用于對作為根據本發明的圖像處理設備的實施例的圖像顯示LSI的配置進行說明的方框圖;圖2圖示了在實施例的屬性數據存儲單元中存儲的子畫面(sprite)屬性數據;圖3圖示了在實施例中的工作存儲器與管理表格之間的關系;圖4圖示了對實施例中的多個對象執行的圖像數據產生處理的執行順序;圖5圖示了在實施例中的每個對象的圖像數據產生處理的執行進度表;圖6圖示了在實施例中的多個解碼處理的并行執行模式;以及圖7圖示了在實施例中所執行的與一行相對應的繪制處理。
具體實施例方式現在參考附圖對本發明的實施例進行描述。
圖1是用于對包括下述圖像顯示大規模集成電路(LSI) 100的娛樂設備的配置進行說明的方框圖,其中,所述圖像顯示大規模集成電路(LSI)IOO是根據本發明的圖像處理設備的實施例。在圖1中,為了更好地理解圖像顯示LSI 100的功能,與圖像顯示LSI 100 一起示出了與圖像顯示LSI 100相連的主CPU201、液晶顯示器(IXD) 202、以及ROM 203。在這些部件當中,主CPU201是用于對娛樂設備的整體操作進行控制的處理器,并且向圖像顯示LSI 100提供用于在IXD 202上顯示諸如子畫面或者空心字這樣的圖像的命令和數據。 將諸如各種子畫面和空心字這樣的對象的壓縮或未壓縮圖像數據(即,要顯示的圖像)、 用于α混合的壓縮或未壓縮α數據等等存儲在ROM 203中。如圖1所示,圖像顯示LSI 100包括CPU接口 101、屬性數據存儲單元102、控制器 103、代碼緩沖器104、圖像數據產生器105、解碼器106、存儲器管理單元(MMU) 107、包括靜態隨機存取存儲器(SRAM)等等的工作存儲器108、管理表格109、圖像輸出單元110、以及行緩沖器繪制單元112。CPU接口 101是用于獲取從主CPU201所提供的命令和數據,并且將該命令和數據提供給圖像顯示LSI 100中的每個相關部件的接口。屬性數據存儲單元102是用于存儲通過主CPU201從CPU接口 101所提供的屬性數據的電路。在這里,屬性數據表示諸如子畫面或空心字這樣的每個對象的顯示屬性。在每個垂直掃描時段中,主CPU201提供要在LCD 202上顯示的每個圖像的屬性數據,并且通過CPU接口 101將所提供的屬性數據存儲在屬性數據存儲單元102中。圖2對作為這類屬性數據的一個例子的、表示子畫面的顯示屬性的子畫面屬性數據進行說明。在該子畫面屬性數據中,Y顯示位置DOY和X顯示位置DOX是用于指定IXD 202的屏幕上的子畫面的左上角的垂直顯示位置和水平顯示位置的數據。圖案名稱PN是用于訪問R0M203中的子畫面的圖像數據的圖案名稱。具體地說,圖案名稱PN是圖像數據在ROM 203中的存儲起始地址。Y子畫面大小SZY和X子畫面大小SZX分別表示子畫面的 Y方向上的點數和X方向上的點數。顯示顏色模式CLM和調色板選擇數據PLTI用于計算子畫面的每個構成點的顯示顏色。α混和模式MXSL和α系數MX是用于指定在子畫面的構成點與子畫面的背景的構成點之間所執行的α混和類型的數據。Y放大/縮小比MAGY是在IXD 202屏幕中的子畫面的Y方向上的點數與子畫面的Y子畫面大小SZY的比值,并且X 放大/縮小比MAGX是在LCD 202屏幕中的子畫面的X方向上的點數與子畫面的X子畫面大小SZX的比值。可根據Y放大/縮小比MAGY、X放大/縮小比MAGX、Y子畫面大小SZY、 X子畫面大小SZX、Y顯示位置D0Y、以及X顯示位置DOX來計算IXD 202的屏幕中的子畫面的每個構成點的垂直和水平位置。透明顏色指定數據TP是用于在顯示子畫面時指定在子畫面中是否存在被認為是透明對象的點的數據。壓縮/未壓縮指定數據COMPE是用于表示存儲在ROM 203中的子畫面的圖像數據是壓縮圖像數據還是未壓縮圖像數據的數據。壓縮模式COMPM是在子畫面的圖像數據是壓縮圖像數據的情況下用于表示壓縮算法的數據。虛擬地址WADRS是所產生的用于識別子畫面的圖像數據的虛擬地址當中的最初產生的虛擬地址。LOCK位是用于表示是否鎖定子畫面的圖像數據的位,S卩,表示是否禁止蓋寫存儲子畫面的圖像數據的工作存儲器108的存儲區域的位。NODEC位是用于表示對子畫面的圖像數據的解碼處理是否是不必要的位。ULOCK位是用于表示是否釋放對子畫面的圖像數據的鎖定的位。回頭參考圖1,控制器103是用于順序地指示圖像數據產生器105以在每個垂直掃描時段在LCD 202上顯示每個對象的圖像數據之前產生每個對象的圖像數據的電路。具體地說,控制器103根據在每個垂直掃描時段存儲在屬性數據存儲單元102中的每個對象的屬性數據構成用于產生每個對象的圖像數據的處理的執行進度表,并且根據該執行進度表而將用于產生每個對象的圖像數據的指令提供給圖像數據產生器105。為了避免冗長說明, 在對該實施例的操作的描述中清楚地描述控制器103所執行的執行進度表的詳細內容。圖像輸出單元110包括行緩沖器IllA和IllB對,其每一個具有用于存儲一行的圖像數據的充足容量。按照交替的方式,行緩沖器IllA和IllB中的一個作為寫行緩沖器操作,而另一個作為讀行緩沖 器操作。與LCD 202的水平同步信號同步,將直到此時都作為寫行緩沖器的行緩沖器IllA和IllB中的一個切換為讀行緩沖器,并且將已經作為讀行緩沖器的另一個切換為寫行緩沖器。在每個水平掃描時段中,讀取已存儲在讀行緩沖器中的一行的圖像數據,同時通過行緩沖器繪制單元112將要在隨后的一個水平掃描時段顯示的一行(以下簡稱為"要被顯示的行")的圖像數據寫入到寫行緩沖器。隨后對行緩沖器繪制單元112進行描述。代碼緩沖器104是用于臨時存儲從ROM 203所讀取的壓縮或未壓縮圖像數據的緩沖器。在該實施例中,代碼緩沖器104包括用于主要存儲諸如子畫面這樣的壓縮數據的多個緩沖器區域,因為隨后所述的解碼器106可以執行用于通過分時控制來對諸如多個子畫面這樣的多個壓縮數據進行解碼的處理。圖像數據產生器105是用于執行下述圖像數據產生處理的電路,在所述圖像數據產生處理中,通過利用解碼器106,根據從控制器103所接收到的用于產生對象的圖像數據的指令而產生對象的圖像數據,并且然后通過MMU 107將對象的圖像數據存儲在工作存儲器108中。更具體地說,在圖像數據產生處理中,一旦接收到來自控制器103的用于產生對象的圖像數據(例如子畫面)的指令,則圖像數據產生器105參考在屬性數據存儲單元102 中的子畫面的子畫面屬性數據,并且利用子畫面屬性數據中的圖案名稱PN來從ROM 203讀取子畫面的圖像數據,并且將所讀取的子畫面的圖像數據存儲在代碼緩沖器104中。在這里,當子畫面屬性數據的壓縮/未壓縮指定數據COMPE表示子畫面的圖像數據是壓縮圖像數據時,圖像數據產生器105向解碼器106通知子畫面屬性數據的壓縮/未壓縮指定數據 C0MPE,并且還將代碼緩沖器104中的圖像數據(在這種情況下為壓縮數據)提供給解碼器 106以使解碼器106對壓縮數據執行解碼處理。在該實施例中,在解碼器106開始對一個子畫面的壓縮數據的解碼處理之后,解碼器106可能在對該一個子畫面的壓縮數據的解碼處理完成之前,接收到用于執行對另一子畫面的壓縮數據進行解碼處理的指令。為了解決這種需要,將解碼器106配置成能夠通過分時控制來并行執行對多個子畫面的解碼處理。在這種情況下,如上所述將多個子畫面的壓縮數據存儲在代碼緩沖器104中的不同緩沖器區域中。解碼器106順序地從緩沖器區域讀取子畫面的壓縮數據,并且對子畫面的壓縮數據執行解碼處理。在圖像數據產生處理中,將通過這種解碼處理所獲得的每個子畫面的圖像數據分成圖像數據區,每一個區具有與隨后所述的工作存儲器108的一頁存儲容量相對應的數據量,并且為每個圖像數據區產生虛擬地址。可采用各種方法用于虛擬地址產生。在優選方法中,為包含在通過解碼處理所獲得的子畫面之內的每個點產生虛擬地址。例如,根據子畫面的圖案名稱來確定包含在子畫面之內的每個點的虛擬地址的較高地址部分,并且根據包含在子畫面之內的每個點的子畫面中的Y地址和X地址來確定包含在子畫面之內的每個點的虛擬地址的中間地址部分和較低地址部分。在已執行了對子畫面中的每個點的光柵掃描的情況下,將每個點的虛擬地址確定為,使得每個點的虛擬地址按照光柵掃描的順序以ILSB的增量來增加。然后,在將子畫面的圖像數據劃分成多頁的情況下,將存儲在每頁的初始區域中的點的虛擬地址確定為與該頁相對應的虛擬地址。在圖像數據產生處理中,將按照上述方式所產生的虛擬地址和圖像數據提供給 MMU 107,并且然后將其存儲在工作存儲器108中。另外,在圖像數據產生處理中,將為子畫面的圖像數據所產生的第一虛擬地址(例如子畫面的左上角的點的虛擬地址)存儲在屬性數據存儲單元102中以作為虛擬地址WADRS,該虛擬地址WADRS是子畫面屬性數據的一部分。MMU 107、工作存儲器108、以及管理表格109構成了虛擬存儲器系統。圖3對工作存 儲器108與管理表格109之間的關系進行說明。如圖3所示,將工作存儲器108的實際地址空間劃分成頁,每一個頁具有例如256個字節的特定容量。管理表格109是如下的表格, 艮口,在該表格中,對于工作存儲器108的每頁而言,與工作存儲器108的相應頁相關地寄存了存儲在該頁中的圖像數據的虛擬地址、表示是否鎖定該頁的數據的PLOCK位(即,表示是否禁止蓋寫該頁的數據的位)、以及表示是否已將有效圖像數據存儲在該頁中的VALID位。 在這里,當鎖定頁的數據時,將與每頁相對應的PLOCK位設置為"1",并且當沒有鎖定頁的數據時,將與每頁相對應的PLOCK位設置為"0"。當所述頁的數據有效時,將與每頁相對應的VALID位設置為“1”,并且當所述頁的數據為無效時,將其設置為“0”。再次返回圖1,當MMU 107從圖像數據產生器105獲取了子畫面的圖像數據和虛擬地址時,MMU 107在工作存儲器108中搜索其VALID位在管理表格109中是〃 0〃的頁,并且將所找到的頁確定為圖像數據的寫目的地。然后,MMU 107參考與屬性數據存儲單元102 中的子畫面相對應的屬性數據的LOCK位,并且如果子畫面的LOCK位是〃 0〃,那么將與子畫面的圖像數據的寫目的地頁相對應的PLOCK位設置為〃 0〃,并且如果子畫面的LOCK位是〃 1〃,那么將PLOCK位設置為〃 1〃。然后,MMU 107開始將子畫面的圖像數據寫入到寫目的地頁,并且當寫入完成時將VALID位設置為〃 1"。在其VALID位在管理表格109中是〃 1"的頁的圖像數據在通過隨后所述的繪制處理讀取之后已被顯示用完的情況下,MMU 107更新VALID位。也就是說,當在管理表格109 中與頁相對應的PLOCK位是〃 0〃時,MMU 107將與該頁相對應的VALID位切換到〃 0〃, 并且當PLOCK位是〃 1"時保持與該頁相對應的VALID位〃 1"不變。行緩沖器繪制單元112是用于執行下述繪制處理的裝置,在所述繪制處理中產生要在下一水平掃描時段在LCD 202上顯示的一行的圖像數據,并且在每個水平掃描時段將一行的圖像數據寫入到圖像輸出單元110的寫行緩沖器。在繪制處理中,行緩沖器繪制單元112通過參考屬性數據存儲單元102中的每個屬性數據來搜索與要被顯示的行水平交叉的每個對象(例如,每個子畫面),并且通過MMU107從工作存儲器108讀取與一行相對應的每個發現的子畫面的圖像數據,其中,該圖像數據占據每個發現的子畫面的圖像數據當中的要被顯示的行。在這里,在有 些情況下,對象可以與子畫面的放大(擴展)或者縮小(收縮)相對應。在這種情況下,假定根據子畫面的子畫面屬性數據的Y放大/縮小比MAGY和X放大/ 縮小比MAGX已對圖像數據執行了放大/縮小處理,即,圖像數據是具有SZY*MAGY(*表示相乘)的Y方向大小和SZX*MAGX的X方向大小的子畫面的圖像數據。計算下述雙線性濾波所使用的圖像數據(即,在子畫面的放大/縮小之后,將要被顯示的行夾在當中的兩個相鄰行的圖像數據)的虛擬地址,所述雙線性濾波用于獲取占據圖像數據中的要被顯示的行的圖像數據,并且通過MMU 107從工作存儲器108讀取與虛擬地址相對應的圖像數據,以計算占據要被顯示的行的圖像數據。在繪制處理中,按照屬性數據存儲單元102中的每個子畫面的子畫面屬性數據的排列順序,對與每個子畫面的一行相對應的下述圖像數據進行連續組合以產生要被顯示的行的合成圖像數據,所述圖像數據是在需要時在每個子畫面之間執行α混合的同時根據從工作存儲器108所讀取的數據而產生的。利用圖像輸出單元110的寫緩沖器來執行該操作。圖4對該實施例中的對多個子畫面所執行的圖像數據產生處理的執行順序進行說明。圖5對圖4中所示的每個子畫面的圖像數據產生處理的執行進度表進行說明。圖6 對該實施例中的多個解碼處理的并行執行模式進行說明。現在參考這些附圖對該實施例的操作進行描述。在這里,如圖4的左側所示,假定在垂直掃描時段中,已將子畫面SPO至SP4的子畫面屬性數據存儲在屬性數據存儲單元102中。在這種情況下,當根據每個子畫面屬性數據的Y子畫面大小SZY和X子畫面大小SZX,以及Y顯示位置DOY和X顯示位置DOX而在 IXD 202上照原樣顯示子畫面SPO至SP4的圖像數據時(在圖像數據受到解碼處理之后并且不經受放大/縮小處理),控制器103獲得LCD 202的屏幕中的被占區域。圖4的右側示出了得到的屏幕。控制器103將每個子畫面劃分成光柵塊,每一個光柵塊包括預定數目的行,并且產生每個光柵塊的圖像數據產生處理的執行進度表。更具體地說,控制器103獲得屏幕中的每個光柵塊的位置。在圖4的右側所說明的示例中,子畫面SPO是占據LCD 202的屏幕的整個區域的背景圖像,并且其被劃分成光柵塊SPO-O至SP0-6。另外,子畫面SPl被劃分成光柵塊SPl-O至SP1-2,子畫面SP2被劃分成光柵塊SP2-0和SP2-1,子畫面SP3被劃分成光柵塊SP3-0至SP3-2,并且子畫面SP4被劃分成光柵塊SP4-0至SP4-2。然后,控制器103在從屏幕的頂部至底部的方向在屏幕中搜索光柵塊。在這種情況下,通過從頂部至底部搜索屏幕,控制器103按照SPO-O — SP4-0 — SP0-1 — SP2-0 — SP4-1 —...—SPO-6 —SP1-2的順序來發現光柵塊。因此,控制器在從頂部至底部搜索屏幕的同時安排下述執行進度表,該執行進度表用于指定按照控制器發現光柵塊的順序執行光柵塊的圖像數據產生處理。圖5示出了所構成的執行進度表。如上所述,解碼器106向圖像數據產生單元105提供包含在在垂直掃描時段將在顯示設備202上顯示的幀之中的多個對象SP0-SP4。圖像數據產生單元105將每個對象SP 劃分成光柵塊,每一個光柵塊包括預定數目的行。控制器103對圖像數據產生單元105進行控制,以按照從幀的頂部到底部的對象的相應光柵塊的位置的順序,產生垂直掃描時段中的對象SP的光柵塊的圖像數據。在圖5中,SEQ_N0是執行每個光柵塊的圖像數據產生處理的序號。在圖4的示例中,光柵塊SP0-1的頂行和光柵塊SP2-0的頂行處于屏幕的相同垂直位置。然而,在屬性數據存儲單元102中,將光柵塊SP0-1所屬的子畫面SPO的子畫面屬性數據存儲在光柵塊 SP2-0所屬的子畫面SP2的子畫面屬性數據之前的地址中。因此,當行緩沖器繪制單元112 產生與光柵塊SP0-1和光柵塊SP2-0水平交叉的要被顯示的行的圖像數據時,首先,行緩沖器繪制單元112從工作存儲器108讀取光柵塊SP0-1中的 要被顯示的行的圖像數據,并且將所讀取的圖像數據寫入到圖像輸出單元110的寫行緩沖器,并且然后從工作存儲器108 讀取光柵塊SP2-0中的要被顯示的行的圖像數據,并且將所讀取的圖像數據寫入到圖像輸出單元110的寫行緩沖器。因此,因為在繪制處理中在光柵塊SP2-0的圖像數據之前使用光柵塊SP0-1的圖像數據,因此在如圖5所示的執行進度表中,光柵塊SP0-1的序號"SEQ_ NO"是3,并且光柵塊SP2-0的序號"SEQ_N0"是4。按照相同的方式對其它同時發現的光柵塊進行處理。控制器103將用于執行下述圖像數據產生處理的指令順序地傳輸到圖像數據產生器105,所述圖像數據產生處理開始于在按照上述方式所獲得的執行進度表中的SEQ_N0 =1處所調度的光柵塊SPO-O的圖像數據產生處理,并且結束于在SEQ_N0 = 18處所調度的光柵塊SP1-2的圖像數據產生處理。在這里,控制器103將用于執行每個光柵塊的圖像數據產生處理的指令的輸出時序相對于光柵塊的顯示時序提前預定邊際時間,以便按時在 IXD 202上顯示每個光柵塊。一旦接收到執行指令,圖像數據產生器105對該指令所表示的光柵塊執行包括解碼器106所執行的解碼處理的圖像數據產生處理。在這種情況下,存在這樣的情況,即,當圖像數據產生器105接收到對子畫面的初始光柵塊執行圖像數據產生處理的指令時,先前開始的對另一子畫面的所有光柵塊的圖像數據產生處理沒有完成。在這種情況下,圖像數據產生器105通過分時控制并行地執行多個子畫面的圖像數據產生處理。圖6對在這種情況下如何并行執行圖像數據產生處理進行說明。在該實施例中,代碼緩沖器104逐個子畫面地獲取子畫面的壓縮數據,并且在對光柵塊進行切換的同時逐個光柵塊地執行每個子畫面的圖像數據產生處理(包括解碼處理)。下面是對該處理的更詳細描述。首先,一旦接收到用于對子畫面(例如,子畫面1)的初始(或者第一)光柵塊執行圖像數據產生處理的指令時,圖像數據產生器105指示代碼緩沖器104獲取子畫面1的壓縮數據。根據這個指令,代碼緩沖器104從ROM 203讀取子畫面1的壓縮數據,并且將所讀取的壓縮數據存儲在當時為空的緩沖器區域中(例如,緩沖器區域CB0)。然后圖像數據產生器105開始子畫面1的初始光柵塊的圖像數據產生處理。在該圖像數據產生處理中, 解碼器106從代碼緩沖器104的緩沖器區域CBO讀取壓縮數據,并且對所讀取的壓縮數據執行解碼,以產生子畫面1的初始光柵塊的圖像數據。圖像數據產生器105將解碼器106 所產生的圖像數據,以及對圖像數據所產生的虛擬地址傳送到MMU 107, MMU 107然后將圖像數據和虛擬地址存儲在工作存儲器108中。在這種情況下,按照光柵掃描順序,MMU 107 從圖像數據產生器105選擇長方形區域(其通過根據頁容量對光柵塊進行劃分而獲得)的每個像素的圖像數據,并且將所選擇的圖像數據順序地存儲在例如該頁中的連續存儲區域中。同時,為代碼緩沖器104中的緩沖器區域CBO所提供的代碼指針CBOP對緩沖器區域CBO 中的壓縮數據項當中的已讀取的且用于解碼器106的解碼處理的壓縮數據項進行計數。也就是說,代碼指針CBOP確定已讀取的且用于解碼處理的最后壓縮數據項的序號。接下來,假定當圖像數據產生器105對子畫面1的初始光柵塊執行圖像數據產生處理時,已將用于對另一子畫面(例如,子畫面2)的初始光柵塊執行圖像數據產生處理的另一指令提供給圖像數據產生器105。在這種情況下,圖像數據產生器105指示代碼緩沖器104獲取子畫面2的壓縮數據。根據這個指令,代碼緩沖器104從ROM 203讀取子畫面 2的壓縮數據,并且將所讀取的壓縮數據存儲在當時為空的緩沖器區域中(例如,緩沖器區域CB3)。圖像數據產生器105等待直到對子畫面1的初始光柵塊的圖像數據產生處理完成,并且然后開始對子畫面2的初始光柵塊的圖像數據產生處理。在這里,圖像數據產生器 105將對子畫面1的初始光柵塊的圖像數據產生處理的處理結果保存在堆棧中,因為例如對于子畫面1的隨后光柵塊的解碼處理來說需要該處理結果。然后,在新開始的圖像數據產 生處理中,解碼器106從代碼緩沖器104的緩沖器區域CB3讀取壓縮數據,并且對所讀取的壓縮數據執行解碼,以產生子畫面2的初始光柵塊的圖像數據。圖像數據產生器105將解碼器106所產生的圖像數據和對該圖像數據所產生的虛擬地址傳送到MMU 107,MMU 107然后將該圖像數據和虛擬地址存儲在工作存儲器108 中。同時,為代碼緩沖器104中的緩沖器區域CB3所提供的代碼指針CB3P對緩沖器區域CB3 中的壓縮數據項當中的已讀取的且用于解碼器106的解碼處理的壓縮數據項進行計數。也就是說,代碼指針CB3P確定已讀取的且用于解碼處理的最后壓縮數據項的序號。然后,假定當圖像數據產生器105對子畫面2的初始光柵塊執行圖像數據產生處理時,已將用于對子畫面1的第二光柵塊執行圖像數據產生處理的指令提供給圖像數據產生器105。在這種情況下,圖像數據產生器105等待,直到對子畫面2的初始光柵塊的圖像數據產生處理完成,并且然后開始對子畫面1的第二光柵塊的圖像數據產生處理。然后,圖像數據產生器105獲取保存在堆棧中的處理結果,并且對子畫面1的第二光柵塊執行圖像數據產生處理。然后,在該圖像數據產生處理中,解碼器106繼續從緩沖器區域CBO的代碼指針 CBOP所表示的位置讀取壓縮數據,并且對所讀取的壓縮數據執行解碼以產生子畫面1的第二光柵塊的圖像數據。圖像數據產生器105將解碼器106所產生的圖像數據以及對該圖像數據所產生的虛擬地址傳送到MMU 107, MMU 107然后將該圖像數據和虛擬地址存儲在工作存儲器108中。同時,為代碼緩沖器104中的緩沖器區域CBO所提供的代碼指針CBOP對緩沖器區域CBO中的壓縮數據項當中的已讀取的且用于解碼器106的解碼處理的壓縮數據項進行計數。也就是說,代碼指針CBOP確定已讀取的且用于解碼處理的最后壓縮數據項的序號。然后,每當將用于對光柵塊執行圖像數據產生處理的指令提供給圖像數據產生器105 時,重復相同過程。在該實施例中,保持存儲在代碼緩沖器104的每個緩沖器區域中的子畫面的壓縮數據,直到讀取了存儲在該緩沖器區域中的子畫面的所有壓縮數據且對子畫面的解碼處理完成。因此,解碼器106可并行地對多達與代碼緩沖器104中的緩沖器區域相同數目的子畫面的壓縮數據執行解碼處理。
上述圖5示出了用于存儲每個子畫面的壓縮數據的代碼緩沖器104的緩沖器區域。在圖5中所說明的示例中,當產生了用于產生子畫面SPl的初始光柵塊SPl-O (與SEQ_ NO= 13相對應)的圖像數據的指令時,存儲在代碼緩沖器104的緩沖器區域CBl中的子畫面SP4的所有壓縮數據已被讀取,并且對子畫面SP4的所有光柵塊的圖像數據產生處理 (包括解碼處理)已完成。因此,當產生了用于對子畫面SPl的初始光柵塊SPl-O執行圖像數據產生處理的指令時,將子畫面SPl的壓縮數據輸入到當時為空的代碼緩沖器104中的緩沖器區域CBl。當重復上述圖像數據產生處理時,行緩沖器繪制單元112與水平同步信號同步地重復與圖像數據產生處理并行的繪制與一行相對應的圖像數據的處理。圖7說明如何執行與一行相對應的繪制處理。 首先,在圖7的部分(a)中,要被顯示的行位于上述圖4的示例中的與已受到放大/縮小處理的光柵塊SP4-2、SP3-0、以及SP0-2相交叉的位置。在這里,在如圖4的左側所示的將每個子畫面的子畫面屬性數據存儲在屬性數據存儲單元102中的情況下,行緩沖器繪制單元112確定出與要被顯示的行相交叉的放大/縮小光柵塊SP4-2、SP3-0、以及SP0-2當中的光柵塊SP0-2的圖像數據是要產生的第一圖像數據(即,第一產生目標), 其中,該圖像數據是與位于要被顯示的行之處的一行相對應的圖像數據。這是因為已按照 SPO — SP3 — SP4 (參見圖4的左側)的順序,將光柵塊SP4-2、SP3-0、以及SP0-2所屬的子畫面的子畫面屬性數據存儲在屬性數據存儲單元102中。行緩沖器繪制單元112通過MMU 107從工作存儲器108讀取用于產生與出現在光柵塊SP0-2的要被顯示的行上的一行相對應的圖像數據的圖像數據,利用所讀取的數據執行放大/縮小處理,產生與一行相對應的圖像數據,并且將所產生的圖像數據寫入到圖像輸出單元110的寫行緩沖器中(參見圖7, 部分(b))。然后,行緩沖器繪制單元112通過MMU 107從工作存儲器108讀取放大/縮小光柵塊SP3-0的圖像數據(參見圖7,部分(C)),該圖像數據是要產生與位于要被顯示的行上的一行相對應的圖像數據所需的圖像數據。在子畫面SP3的子畫面屬性數據中指定將執行 α混合的情況下,利用作為光柵塊SP3-0的一部分的要被顯示的行的圖像數據以及作為與存儲在圖像輸出單元110的寫行緩沖器中的光柵塊SP0-2的一部分的一行相對應的圖像數據來執行α混合。因此,與一行相對應的α混合圖像數據保持在寫行緩沖器中(參見圖 7,部分(d))。然后,行緩沖器繪制單元112通過MMU 107從工作存儲器108讀取放大/縮小光柵塊SP4-2的圖像數據(參見圖7,部分(e)),該圖像數據是要產生與位于要被顯示的行上的一行相對應的圖像數據所需的。在子畫面SP4的子畫面屬性數據中指定要執行α混合的情況下,利用作為光柵塊SP4-2的一部分的要被顯示的行的圖像數據,以及與存儲在圖像輸出單元110的寫行緩沖器中的一行相對應的圖像數據來執行α混合。因此,與一行相對應的α混合圖像數據保持在寫行緩沖器中(參見圖7,部分(f))。按照這種方式,完成與在要被顯示的行上顯示的一行相對應的圖像數據,并且將其存儲在寫緩沖器中。然后,當水平掃描時段前進時,將寫緩沖器切換為讀緩沖器,并且從讀緩沖器讀取與已存儲在讀緩沖器中的一行相對應的圖像數據并將其提供給LCD 202,并且然后在IXD 202的屏幕上對其進行顯示。
當行緩沖器繪制單元112與水平同步信號相同步地重復如上所述的與一行相對應的繪制處理時,MMU 107對工作存儲器108的每頁的圖像數據的讀取狀態進行監視。在存儲在頁中的最后圖像數據已被讀取并且用于與一行相對應的繪制處理的情況下,原理上, MMU 107將管理表格109中的與該頁相關的VALID位設置為〃 0〃,并且釋放該頁以為存儲其它圖像數據做準備。通過這種頁釋放操作,可防止工作存儲器108的所有頁被填充。因此,可利用小容量工作存儲器108來存儲用于繪制處理的圖像數據。如上所述,存儲器管理單元107將對象的圖像數據存儲在與工作存儲器108的多個存 儲區相對應的多個頁中。繪制單元112通過存儲器管理單元107在每個水平掃描時段從工作存儲器108的頁中讀取每行的圖像數據。存儲器管理單元107在繪制單元112讀取每行的圖像時對每頁進行監視,并且當確定出包含在該頁之中的所有行的圖像數據已被讀取時釋放該頁。雖然上述描述關注于子畫面顯示,但是對于空心字顯示同樣如此。在該實施例中, 在每個垂直掃描時段中,在IXD 202上顯示每個對象的圖像數據之前,控制器103順序地指示圖像數據產生器105以產生每個對象的圖像數據,并且圖像數據產生器105產生所指示對象的圖像數據,并且通過MMU 107將所產生的圖像數據存儲在即就是虛擬存儲器的工作存儲器108中。另一方面,行緩沖器繪制單元112根據工作存儲器108中的圖像數據來產生與將在每個水平掃描時段顯示的一行相對應的圖像數據。另外,MMU 107釋放工作存儲器108中的存儲圖像數據的頁當中的存儲已用于顯示的圖像數據的頁,以為存儲新的圖像數據做準備。因此,工作存儲器108只需具有小容量。因為圖像數據產生器105產生對象的圖像數據的時段不局限于在一個水平掃描時段之內,因此不但可以利用未壓縮的圖像數據或者可基于行而解碼的略微壓縮的圖像數據來產生對象的圖像數據,而且還可利用無法基于行而解碼的高壓縮圖像數據產生對象的圖像數據。因此,在該實施例中,優點在于圖像處理設備可實現高分辨率和全色的顯示,即使圖像處理設備是行緩沖器類型。雖然上面已對本發明的一個實施例進行了描述,但是根據該發明還可提供其它實施例。以下是示例。(1)可考慮對于同一子畫面而言將多個屬性數據寫入到屬性數據存儲單元102的情況。例如,存在在多個顯示位置(例如,顯示位置Pl和P2)顯示同一子畫面(例如,子畫面SP)的情況。可以采用以下兩個方案來作為解決這種情況的方法。在第一方案中,控制器103使圖像數據產生器105產生相同的兩個子畫面SP的圖像數據,并且通過MMU 107將子畫面SP的圖像數據存儲在工作存儲器108中。在第二方案中,控制器103使圖像數據產生器105產生一個子畫面SP的圖像數據,并且通過MMU 107 將該子畫面的圖像數據存儲在工作存儲器108中。在第一方案中,在僅對其顯示位置是Pl的子畫面SP,將屬性數據的LOCK位設置為〃 1"的情況下,僅將用于存儲其顯示位置是Pl的子畫面的圖像數據的頁的PLOCK位設置為〃 1",同時將用于存儲其顯示位置是P2的子畫面的圖像數據的頁的PLOCK位設置為〃 0〃。在這種情況下,在存儲在該頁中的圖像數據用于顯示的時候,釋放其PLOCK 位是〃 0〃的頁,然而即使當存儲在該頁中的圖像數據已用于顯示時也不釋放其PLOCK位是〃 1"的頁。因此,雖然將兩個子畫面SP的圖像數據臨時存儲在工作存儲器108中,但是在一個子畫面SP的圖像數據用于顯示的時候,釋放其中存儲了該一個子畫面SP的圖像數據的頁,并且因此可降低解碼器106所需的存儲容量。在第二方案中,例如,在僅對其顯示位置是Pl的子畫面SP將屬性數據的LOCK 位設置為〃 1"的情況下,必須將用于存儲子畫面SP的圖像數據的頁的PLOCK位設置為〃 1"以直至LOCK位變為〃 0〃。因此,對PLOCK位的更新控制略微復雜。然而,在第二方案中,在多個位置顯示相同類型的子畫面SP的圖像數據的情況下,需要將僅僅一個子畫面SP的圖像數據存儲在工作存儲器108中,并且因此可節省工作存儲器108的存儲容量。(2)虛擬地址產生方法并不局限于上述實施例。例如,在將子畫面的圖像數據劃分成多個頁,并且將這多個頁存儲在工作存儲器108中的情況下,與存儲同一子畫面的圖像數據的部分的頁相關的虛擬地址是連續虛擬地址。總之,當行緩沖器繪制單元112產生了位于要被顯示的行上的子畫面的圖像數據時,行緩沖器繪制單元112僅需通過參考屬性數據存儲單元102中的屬性數據而可獲得與下述頁相關的虛擬地址,其中,所述頁存儲用于產生子畫面的圖像數據的圖像數據。(3)在上述實施例中,當其PLOCK位是〃 0〃并且其VALID位是〃 1〃的頁的所有圖像數據已用于在LCD 202上顯示時,MMU 107將與該頁相對應的VALID位設置為〃 0", 以釋放該頁,從而為存儲其它圖像數據做準備。然而,替換地,每當一個幀的顯示結束時, MMU 107可以將與其PLOCK位是〃 0〃的頁相對應的VALID位設置為〃 0"。(4)在上述實施例中,控制器103根據未受到放大/縮小的每個光柵塊的顯示位置產生用于每個光柵塊的圖像數據產生處理的執行進度表,以便降低控制器103的負荷。然而,當控制器103具有足夠的計算能力時,控制器103可以獲得已參考屬性數據存儲單元 102中的子畫面的放大/縮小比而放大/縮小的每個光柵塊的顯示位置,并且然后根據已放大/縮小的每個光柵塊的顯示位置來產生用于每個光柵塊的圖像數據產生處理的執行進度表。
權利要求
1.一種圖像處理設備,包括行緩沖器,用于存儲與水平同步信號同步地繪制的一行的圖像數據; 工作存儲器,具有在圖像數據的處理中使用的多個存儲區域; 圖像數據產生單元,用于產生在每個垂直掃描時段中要在顯示設備上顯示的對象的圖像數據;存儲器管理單元,用于對所述工作存儲器進行管理,以充當用于存儲由所述圖像數據產生單元所產生的對象的圖像數據的虛擬存儲器,其中,當產生了對象的圖像數據時,所述存儲器管理單元選擇用于存儲要被顯示的對象的圖像數據的所述工作存儲器的存儲區域, 并且將所產生的圖像數據存儲在所選存儲區域中,并且釋放所述工作存儲器中的用于存儲圖像數據的存儲區域當中的用于存儲已用于在所述顯示設備上顯示的圖像數據的另一存儲區域,從而允許所述另一存儲區域存儲新的圖像數據;繪制單元,用于通過所述存儲器管理單元從所述工作存儲器中讀取在每個水平掃描時段繪制一行所需的圖像數據,然后根據所讀取的圖像數據產生一行的圖像數據,并且將所產生的一行的圖像數據存儲在所述行緩沖器中;以及控制器,用于順序地指示所述圖像數據產生單元,以在每個垂直掃描時段在所述顯示設備上顯示每個對象的圖像數據之前產生每個對象的圖像數據。
2.根據權利要求1所述的圖像處理設備,進一步包括解碼器,所述解碼器從存儲介質讀取對象的壓縮的圖像數據,然后對所述壓縮的圖像數據進行解碼,并且將所述對象的解碼的圖像數據提供給所述圖像數據產生單元。
3.根據權利要求1或2所述的圖像處理設備,其中,所述圖像數據產生單元將對象劃分成光柵塊,每一個光柵塊包括預定數目的行, 然后所述圖像數據產生單元產生每個光柵塊的圖像數據,并且通過所述存儲器管理單元將所產生的圖像數據存儲在所述工作存儲器中,并且其中,所述控制器指示所述圖像數據產生單元,以對象被劃分成的光柵塊為單元,產生每個對象的圖像數據。
4.根據權利要求2所述的圖像處理設備,其中,所述解碼器向所述圖像數據產生單元提供多個對象,所述多個對象包含在將在垂直掃描時段在所述顯示設備上顯示的幀中,其中,所述圖像數據產生單元將每個對象劃分成光柵塊,每一個光柵塊包括預定數目的行,并且其中,所述控制器對所述圖像數據產生單元進行控制,以按照從幀的頂部到底部的對象的相應光柵塊的位置的順序,順序地產生在垂直掃描時段中的對象的光柵塊的圖像數據。
5.根據權利要求1所述的圖像處理設備,其中,所述存儲器管理單元將所述對象的圖像數據存儲在與所述工作存儲器的多個存儲區域相對應的多個頁中,其中,所述繪制單元在每個水平掃描時段通過所述存儲器管理單元從所述工作存儲器的頁中讀取每行的圖像數據,并且其中,所述存儲器管理單元在所述繪制單元讀取每行的圖像時對每頁進行監視,并且當確定包含在頁之中的所有行的圖像 數據已被讀取時釋放所述頁。
全文摘要
本發明公開了一種圖像處理設備。在該圖像處理設備中,圖像數據產生單元產生要在每個垂直掃描時段中在顯示設備上顯示的對象的圖像數據。存儲器管理單元對用于存儲所產生的圖像數據的工作存儲器進行管理。存儲器管理單元將所產生的圖像數據存儲在工作存儲器的所選存儲區域中,并且釋放存儲已顯示的圖像數據的另一存儲區域。繪制單元通過存儲器管理單元從工作存儲器讀取用于在每個水平掃描時段在顯示設備上繪制一行所需的圖像數據,然后產生一行的圖像數據,并且將所產生的一行的圖像數據存儲在行緩沖器中。控制器順序地指示圖像數據產生單元以產生每個對象的圖像數據。
文檔編號G06T1/60GK102347017SQ20111022092
公開日2012年2月8日 申請日期2011年7月28日 優先權日2010年7月28日
發明者船窪則之 申請人:雅馬哈株式會社