專利名稱:存儲器管理方法、圖像處理設(shè)備和存儲器管理程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲器管理方法、基于這種存儲器管理方法的圖像處理設(shè)備以及存儲器管理程序,用于通過在多個圖像處理部件之間共享一個圖像存儲器而由這些圖像處理部件并發(fā)地執(zhí)行處理。
背景技術(shù):
最近,在諸如MPEG(運(yùn)動圖像專家組)之類的圖像壓縮技術(shù)方面的進(jìn)步使得能夠普遍實行將圖像信號數(shù)字化以及處理數(shù)字圖像信號。例如,用于捕獲運(yùn)動圖像并將其記錄為數(shù)字?jǐn)?shù)據(jù)的數(shù)字?jǐn)z像機(jī)正在廣泛的使用。
一些近來開發(fā)出的數(shù)字?jǐn)z像機(jī)在一個機(jī)體中具有二種記錄介質(zhì),例如磁帶和由可移動的半導(dǎo)體存儲器組成的存儲卡。許多這些數(shù)字?jǐn)z像機(jī)都具有并發(fā)執(zhí)行運(yùn)動圖像的編碼和解碼以及兩行(two lines)編碼和解碼的功能。
例如,一些數(shù)字?jǐn)z像機(jī)能夠以不同的圖像尺寸、不同的壓縮比、和不同的格式將捕獲到的運(yùn)動圖像記錄到不同的記錄介質(zhì)上。在這種情況下,具有不同的圖像尺寸的運(yùn)動圖像的兩行編碼是并發(fā)地執(zhí)行的。一些其它的數(shù)字?jǐn)z像機(jī)具有將記錄到磁帶的運(yùn)動圖像解碼并且通過使得其圖像尺寸更小來重新編碼、并將所編碼的運(yùn)動圖像記錄到半導(dǎo)體存儲器卡的功能。在這種情況下,解碼和編碼是并發(fā)地執(zhí)行的。
參照圖25,作為一個實例舉例說明了圖像處理設(shè)備主要部分的示意性的結(jié)構(gòu),所述圖像處理設(shè)備能并發(fā)地執(zhí)行運(yùn)動圖像的編碼和解碼。
例如,將圖25中所示的圖像處理設(shè)備設(shè)置于圖像記錄/再生設(shè)備或者成像設(shè)備中,所述圖像記錄/再現(xiàn)設(shè)備或者成像設(shè)備各自都具備如下功能利用諸如MPEG之類的數(shù)據(jù)壓縮編碼系統(tǒng)將所輸入的運(yùn)動圖像數(shù)據(jù)或音頻數(shù)據(jù)編碼并將已壓縮數(shù)據(jù)記錄到各種記錄介質(zhì)的功能;以及將記錄到記錄介質(zhì)上的數(shù)據(jù)解碼以便可再現(xiàn)地輸出所解碼的運(yùn)動圖像數(shù)據(jù)或音頻數(shù)據(jù)的功能。所示的圖像處理設(shè)備適合于并發(fā)地由不帶OS(操作系統(tǒng))的系統(tǒng)或所謂的嵌入式系統(tǒng)來執(zhí)行對運(yùn)動圖像數(shù)據(jù)和音頻數(shù)據(jù)的編碼和解碼。
如圖25所示,該圖像處理設(shè)備具有用于控制編碼和解碼操作的CPU 11、編碼器21、解碼器31、和編碼器21和解碼器31之間共享的圖像存儲器40,以便在處理中臨時地存儲圖像數(shù)據(jù)。
CPU11與外部的主機(jī)控制器通信,并根據(jù)由該主機(jī)控制器提供的信息來控制編碼器21和解碼器31的操作。更確切的說,從主機(jī)控制器接收到編碼和解碼命令以及諸如將要創(chuàng)建的圖像尺寸和將要分配的存儲區(qū)的數(shù)目的信息后,CPU11將這些命令信息提供給編碼器21和解碼器31以便開始進(jìn)行它們的操作。
編碼器21根據(jù)諸如MPEG之類的預(yù)定數(shù)據(jù)壓縮編碼系統(tǒng)來壓縮所輸入的運(yùn)動圖像或音頻數(shù)字?jǐn)?shù)據(jù)以便生成運(yùn)動圖像和音頻數(shù)據(jù)的編碼流。解碼器31將所輸入的運(yùn)動圖像和音頻數(shù)據(jù)的編碼流解壓縮。編碼器21和解碼器31訪問圖像存儲器40以便在編碼和解碼運(yùn)動圖像數(shù)據(jù)以前臨時存儲處理中的運(yùn)動圖像數(shù)據(jù)。
圖像存儲器40,例如由諸如SDRAM(同步的動態(tài)隨機(jī)存取存儲器)之類的半導(dǎo)體存儲器組成,它包含有用于與來自外部的訪問相接口連接的存儲器I/F41。存儲器I/F 41將從編碼器21和解碼器31提供的圖像數(shù)據(jù)存儲在圖像存儲器40中的指定區(qū)域。存儲器I/F 41根據(jù)由編碼器21和解碼器31指定的讀取地址來讀取并輸出來自圖像存儲器40的圖像數(shù)據(jù)。
當(dāng)運(yùn)動圖像數(shù)據(jù)如上面所述的那樣在圖像處理設(shè)備中被編碼時,CPU 11指示編碼器21根據(jù)從主機(jī)控制器提供的信息來開始進(jìn)行編碼,同時,指定圖像尺寸以及對應(yīng)于將被分配的存儲區(qū)的圖像的數(shù)目。當(dāng)接收到將被編碼的運(yùn)動圖像數(shù)據(jù)時,編碼器21根據(jù)從CPU 11提供的信息,將其中將存儲圖像的存儲區(qū)分配到圖像存儲器40,并將相應(yīng)的物理地址的指定傳送到存儲器I/F41,通過順序地將處理中的圖像數(shù)據(jù)存儲到所分配存儲區(qū)中以開始編碼操作。
在解碼運(yùn)動圖像數(shù)據(jù)時,CPU 11將信息諸如圖像尺寸和圖像數(shù)目傳送到解碼器31。當(dāng)接收到被編碼的數(shù)據(jù)流時,解碼器31在圖像存儲器40中分配相應(yīng)于由CPU 11指定的圖像的數(shù)目的存儲區(qū),并將相應(yīng)的物理地址的指定傳送到存儲器I/F 41,通過順序地將處理中的圖像數(shù)據(jù)存儲到所分配存儲區(qū)中以開始解碼操作。
在編碼和解碼音頻數(shù)據(jù)時,編碼器21和解碼器31根據(jù)從主機(jī)控制器經(jīng)由CPU 11所提供的信息順序地處理輸入的音頻數(shù)據(jù)和編碼流。在這個過程中,被處理的音頻數(shù)據(jù)可能是臨時地存儲在圖像存儲器40中的。
應(yīng)當(dāng)注意,下列的解碼設(shè)備是常規(guī)可利用的,其能并發(fā)地執(zhí)行數(shù)據(jù)的一行的編碼和數(shù)據(jù)另一個行的解碼。也就是說,在相關(guān)技術(shù)的解碼設(shè)備中,設(shè)置了由數(shù)據(jù)的編碼和解碼共享的反向轉(zhuǎn)換電路。作為高效編碼的圖像信號而輸入并經(jīng)由可變長度解碼電路和去除量化電路的信號以及另一個行的輸入信號是由多路復(fù)用電路所選擇的,以便輸入到反向轉(zhuǎn)換電路中。由反向轉(zhuǎn)換電路所解碼的前一信號被輸出,而由反向轉(zhuǎn)換電路所編碼的后一圖像信號經(jīng)過量化電路和可變長編碼電路被輸出。以兩倍或更高于實際時間的速度來操作反向解碼電路,以便在反向轉(zhuǎn)換電路的解碼功能和編碼功能之間進(jìn)行切換,從而并發(fā)地執(zhí)行解碼處理和編碼處理(例如,參照日本專利公報特開平9-322121(0029段至0032,圖5))。
要求各具有多個記錄介質(zhì)的圖像記錄/再現(xiàn)設(shè)備能改變圖像尺寸,所述圖像尺寸是通過利用這些記錄介質(zhì)在記錄或再現(xiàn)運(yùn)動圖像數(shù)據(jù)的中途由編碼器或解碼器加以處理的。例如,就對磁帶和存儲卡進(jìn)行操作的數(shù)字?jǐn)z像機(jī)而言,假定當(dāng)已捕獲的圖像正在被記錄到兩個記錄介質(zhì)上時,只中止存儲卡的記錄以改變被記錄的圖像的圖像尺寸并繼而恢復(fù)操作。
然而,就圖25中所示的相關(guān)技術(shù)圖像處理設(shè)備而言,將由編碼器21和解碼器31分配的每個存儲區(qū)的尺寸和所分配的存儲區(qū)的數(shù)目是根據(jù)由主機(jī)控制器通過CPU 11所指定的經(jīng)受處理的圖像尺寸來預(yù)先確定的。因此,一旦編碼或解碼已經(jīng)開始,就以固定的方式在圖像存儲器40中分配所述存儲區(qū),以便除非編碼和解碼兩者都被中止否則就不能改變圖像尺寸設(shè)置。除此之外,編碼器21和解碼器31必須通過不斷識別它們的物理地址來管理分配的存儲區(qū),由此改變圖像尺寸之后使存儲區(qū)管理復(fù)雜化,這導(dǎo)致不能靈活地應(yīng)對每一次的圖像尺寸改變操作。
發(fā)明內(nèi)容
因此,本發(fā)明的一個目的是提供一種存儲器管理方法,其通過共享一個圖像存儲器而能夠靈活地應(yīng)對當(dāng)并發(fā)地編碼和解碼圖像數(shù)據(jù)時經(jīng)歷處理的圖像尺寸的變化。
本發(fā)明另一個目的是提供一種圖像處理設(shè)備,其通過共享一個圖像存儲器而能夠靈活地應(yīng)對當(dāng)并發(fā)地編碼和解碼圖像數(shù)據(jù)時經(jīng)歷處理的圖像尺寸的變化。
本發(fā)明又一個目的是提供一種存儲器管理程序,其通過共享一個圖像存儲器而能夠靈活地應(yīng)對當(dāng)并發(fā)地編碼和解碼圖像數(shù)據(jù)時經(jīng)歷處理的圖像尺寸的變化。
在執(zhí)行本發(fā)明的過程中,并根據(jù)本發(fā)明的一個方面,提供了一種存儲器管理方法,用于由多個圖像處理部件共享一個圖像存儲器作為工作區(qū)以由所述多個圖像處理部件來并發(fā)地執(zhí)行處理操作,該方法包括存儲區(qū)分配步驟,其中存儲區(qū)分配部件接收關(guān)于為將由多個圖像處理部件執(zhí)行的處理操作單獨地指定的圖像尺寸以及圖像計數(shù)的信息,按照圖像計數(shù)將相當(dāng)于圖像尺寸的存儲區(qū)分配到圖像存儲器中的空閑區(qū),并輸出指示已分配的圖像區(qū)的地址;存儲區(qū)信息生成步驟,其中存儲區(qū)管理部件生成存儲區(qū)信息,在所述存儲區(qū)信息中對于每個存儲區(qū)存儲了在存儲區(qū)分配步驟中分配的每一個存儲區(qū)的標(biāo)識信息和用于訪問每一個存儲區(qū)的訪問信息之間的相關(guān)性,所述訪問信息至少包括地址;以及存儲區(qū)管理步驟,其中存儲區(qū)管理部件接收來自多個圖像處理部件的每一個的使用和返回每一個存儲區(qū)的請求,以根據(jù)存儲區(qū)信息來管理每一個存儲區(qū)的使用狀態(tài)。
在上面提到的存儲器管理方法中,在存儲區(qū)分配步驟中,由存儲區(qū)分配部件按照圖像存儲器的空閑區(qū)中圖像的指定數(shù)目單獨地分配對應(yīng)于指定圖像尺寸的存儲區(qū),以便按照圖像的數(shù)目以分布的方式而非固定的方式單獨地分配這些存儲區(qū)。在由存儲區(qū)管理部件執(zhí)行的存儲區(qū)信息生成步驟中,生成存儲區(qū)信息,其中對于每個存儲區(qū)存儲每個已分配的存儲區(qū)的標(biāo)識信息和用于訪問這些已分配存儲區(qū)的訪問信息之間的相關(guān)性。因此,通過指定用于識別存儲區(qū)信息的數(shù)目,每個圖像處理部件都能訪問對應(yīng)的存儲區(qū)以讀取或?qū)懭雸D像數(shù)據(jù)。此外,在由存儲區(qū)管理部件執(zhí)行的存儲區(qū)管理步驟中,通過接收來自對應(yīng)于每個存儲區(qū)的每個圖像處理部件的使用和返回請求,以根據(jù)存儲區(qū)信息來管理每個存儲區(qū)的使用狀態(tài),當(dāng)使用存儲區(qū)時,圖像處理部件無須通過識別在相應(yīng)的圖像存儲器中的地址來管理使用狀態(tài)。
在執(zhí)行本發(fā)明的過程中,并且根據(jù)本發(fā)明的另一個方面,提供了一種圖像處理設(shè)備,用于由多個圖像處理部件共享一個圖像存儲器作為工作區(qū)以由所述多個圖像處理部件來并發(fā)地執(zhí)行處理操作,該設(shè)備包括存儲區(qū)分配部件,用于接收關(guān)于為將由多個圖像處理部件執(zhí)行的處理操作單獨地指定的圖像尺寸以及圖像計數(shù)的信息,按照圖像計數(shù)將相當(dāng)于圖像尺寸的存儲區(qū)分配到圖像存儲器中的空閑區(qū),并輸出指示已分配的圖像區(qū)的地址;和存儲區(qū)管理部件,用于保存存儲區(qū)信息,其中對于每個存儲區(qū)存儲由存儲區(qū)分配部件分配的每一個存儲區(qū)的標(biāo)識信息和用于訪問每一個存儲區(qū)的訪問信息之間的相關(guān)性,所述訪問信息至少包括地址,并且該存儲區(qū)管理部件用于接收來自多個圖像處理部件的每一個的使用和返回每一個存儲區(qū)的請求,從而管理每一個存儲區(qū)的使用狀態(tài)。
在上面提到的圖像處理設(shè)備中,在存儲區(qū)分配部件中按照圖像存儲器的空閑區(qū)中圖像的指定數(shù)目單獨地分配對應(yīng)于指定圖像尺寸的存儲區(qū),以便按照圖像的數(shù)目以分布的方式而非固定的方式單獨地分配這些存儲區(qū)。在存儲區(qū)管理部件中,生成存儲區(qū)信息,其中對于每個存儲區(qū)存儲了每個已分配的存儲區(qū)的標(biāo)識信息和用于訪問這些已分配存儲區(qū)的訪問信息之間的相關(guān)性。因此,通過指定用于識別存儲區(qū)信息的數(shù)目,每個圖像處理部件都能訪問對應(yīng)的存儲區(qū)以讀取或?qū)懭雸D像數(shù)據(jù)。此外,在由存儲區(qū)管理部件執(zhí)行的存儲區(qū)管理步驟中,通過接收來自對應(yīng)于每個存儲區(qū)的每個圖像處理部件的使用和返回請求,以根據(jù)存儲區(qū)信息來管理每個存儲區(qū)的使用狀態(tài),當(dāng)使用存儲區(qū)時,圖像處理部件無須通過識別在相應(yīng)的圖像存儲器中的地址來管理使用狀態(tài)。
如上所述并根據(jù)本發(fā)明,多個圖像處理部件的每一個都能通過簡單地指定存儲區(qū)信息來訪問相應(yīng)的存儲區(qū)以便讀取或?qū)懭雸D像數(shù)據(jù),而不必通過識別其在圖像存儲器中的地址來管理每個存儲區(qū)的使用狀態(tài)。另外,在圖像存儲器中單獨地分配對應(yīng)于圖像尺寸的存儲區(qū),以便于如果圖像尺寸發(fā)生變化的話,那么重新分配(deallocate)已分配的區(qū)域一次以將其設(shè)置成容易被再使用作為具有不同的圖像尺寸的存儲區(qū)的空閑區(qū)。因此,如果在某一個圖像處理部件中發(fā)生了圖像尺寸的變化,那么必要的存儲區(qū)可以被再次分配以便再使用,而不必中斷另一個圖像處理部件所進(jìn)行的處理,并且不增加每一個圖像處理部件的處理負(fù)荷。
圖1是舉例說明了作為本發(fā)明第一實施例的圖像處理設(shè)備的主要部分的示范性結(jié)構(gòu)的框圖;
圖2是舉例說明圖1中所示的存儲器控制塊的示范性內(nèi)部結(jié)構(gòu)的框圖;圖3是舉例說明一種通過圖2中所示存儲區(qū)管理塊來管理已分配的存儲區(qū)的方法的框圖;圖4A舉例說明圖像尺寸元素的數(shù)據(jù)結(jié)構(gòu);圖4B舉例說明圖像存儲元素的數(shù)據(jù)結(jié)構(gòu);圖5是表示在分配存儲區(qū)時由存儲區(qū)管理塊進(jìn)行的處理的流程圖;圖6是表示將已分配的存儲區(qū)提供給編碼器或解碼器時由存儲區(qū)管理塊進(jìn)行的處理的流程圖;圖7是表示從編碼器或解碼器返回已分配的存儲區(qū)時由存儲區(qū)管理塊進(jìn)行的處理的流程圖;圖8是表示在重新分配所分配的存儲區(qū)時由存儲區(qū)管理塊進(jìn)行的處理的流程圖;圖9舉例說明查找表的示范性結(jié)構(gòu);圖10舉例說明一種由圖2中所示的查找表設(shè)置塊來管理存儲區(qū)的方法;圖11舉例說明查找表元素的數(shù)據(jù)結(jié)構(gòu);圖12是表示在分配存儲區(qū)時由查找表設(shè)置塊所進(jìn)行的處理的流程圖;圖13是表示在重新分配所分配的存儲器時由查找表設(shè)置塊所進(jìn)行的處理的流程圖;圖14舉例說明數(shù)據(jù)格式的示范性結(jié)構(gòu);圖15舉例說明一種由圖2中所示的數(shù)據(jù)格式設(shè)置塊來管理存儲區(qū)的方法;圖16舉例說明一種數(shù)據(jù)格式元素的數(shù)據(jù)結(jié)構(gòu);圖17是表示在分配存儲區(qū)時由數(shù)據(jù)格式設(shè)置塊所進(jìn)行的處理的流程圖;圖18是表示在重新分配所分配的存儲器時由數(shù)據(jù)格式設(shè)置塊所進(jìn)行的處理的流程圖;圖19舉例說明一種由圖2中所示的存儲器分配塊和存儲器重新分配塊來分配存儲區(qū)的方法;圖20A和圖20B舉例說明一種由存儲器分配塊和存儲器重新分配塊來管理樹形結(jié)構(gòu)的節(jié)點的方法;圖21是表示在分配存儲區(qū)時由存儲器分配塊所進(jìn)行的處理的流程圖;圖22是表示在重新分配所分配的存儲器時由存儲器重新分配塊所進(jìn)行的處理的流程圖;圖23是舉例說明了作為本發(fā)明的第二實施例的圖像處理設(shè)備的主要部分的示范性結(jié)構(gòu)的框圖;圖24是舉例說明了作為本發(fā)明的第三實施例的圖像處理設(shè)備的主要部分示范性的結(jié)構(gòu)框圖;圖25是舉例說明了能夠并發(fā)地執(zhí)行運(yùn)動圖像數(shù)據(jù)的編碼和解碼的相關(guān)技術(shù)的圖像處理設(shè)備的結(jié)構(gòu)的框圖。
具體實施例方式
以下參照附圖來詳細(xì)描述本發(fā)明的實施例。
在第一個實施例中,假定這樣一個實例,其中本發(fā)明被用于根據(jù)預(yù)定的數(shù)據(jù)壓縮編碼系統(tǒng)來對運(yùn)動圖像和音頻信號編碼及解碼的圖像處理設(shè)備?,F(xiàn)在,參照圖1,示出了作為本發(fā)明第一個實施例的圖像處理設(shè)備的主要部分的示范性結(jié)構(gòu)。
例如,圖1所示的圖像處理設(shè)備被設(shè)置在具有如下功能的圖像記錄/再現(xiàn)設(shè)備中或成像設(shè)備中,所述功能為通過諸如MPEG之類的數(shù)據(jù)壓縮編碼系統(tǒng)將所輸入的運(yùn)動圖像數(shù)據(jù)和音頻數(shù)據(jù)編碼以便把編碼后的數(shù)據(jù)記錄到各類記錄介質(zhì)上的功能;以及將記錄到各類記錄介質(zhì)上的數(shù)據(jù)解碼以便可再現(xiàn)地輸出解碼后的運(yùn)動數(shù)據(jù)和音頻數(shù)據(jù)。這些圖像處理設(shè)備適合于并發(fā)地對運(yùn)動圖像數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行編碼和解碼,這是由不帶OS(操作系統(tǒng))的系統(tǒng)或所謂的嵌入式系統(tǒng)來執(zhí)行的。
如圖1所示,該圖像處理設(shè)備具有用于控制編碼和解碼操作的CPU 10、編碼器20、解碼器30、由編碼器20和解碼器30共享的用于臨時存儲被處理的圖像數(shù)據(jù)的圖像存儲器40、以及用于控制對圖像存儲器40的訪問的存儲器控制塊50。
CPU 10與外部的主機(jī)控制器進(jìn)行通信,以根據(jù)由該主機(jī)控制器提供的控制信息來控制編碼器20、解碼器30、以及存儲器控制塊50的操作。更具體的說,例如,CPU 10把包含例如由主機(jī)控制器指定的圖像尺寸和將要分配的存儲區(qū)的數(shù)目的信息傳輸?shù)酱鎯ζ骺刂茐K50,并且與此同時,指示編碼器20和解碼器30針對其所指定的圖像尺寸來進(jìn)行編碼和解碼。此外,CPU 10還把從編碼器20和解碼器30接收到的用于從圖像存儲器40讀出數(shù)據(jù)或向其寫入數(shù)據(jù)的請求傳輸至存儲器控制塊50,以便在編碼器20和解碼器30與存儲器控制塊50之間傳送指示圖像數(shù)據(jù)已被寫入其中的存儲區(qū)的標(biāo)識符ID。
編碼器20根據(jù)諸如MPEG之類的預(yù)定數(shù)據(jù)壓縮編碼系統(tǒng)來壓縮所輸入的數(shù)字運(yùn)動圖像數(shù)據(jù)和數(shù)字音頻數(shù)據(jù),從而生成運(yùn)動圖像和音頻數(shù)據(jù)的編碼流。解碼器30解壓縮輸入的運(yùn)動圖像數(shù)據(jù)和音頻數(shù)據(jù)的編碼流。在編碼和解碼運(yùn)動圖像數(shù)據(jù)時,編碼器20和解碼器30經(jīng)由存儲器控制塊50來訪問圖像存儲器40,以便將正被處理的圖像數(shù)據(jù)臨時存儲到圖像存儲器40中。
圖像存儲器40,例如其由SDRAM組成,包括用于與來自外界的訪問相接口連接的存儲器I/F 41。存儲器I/F 41將圖像存儲器40的硬件接口提供給存儲器控制塊50,并從存儲器控制塊50接收地址和圖像尺寸信息,將經(jīng)由存儲器控制塊50由編碼器和解碼器30提供的圖像數(shù)據(jù)存儲到圖像存儲器40中的相應(yīng)存儲區(qū)里。同樣,存儲器I/F 41從由存儲器控制塊50指定的存儲區(qū)中讀取圖像數(shù)據(jù),并經(jīng)由存儲器控制塊50輸出圖像數(shù)據(jù)至編碼器20和解碼器30。應(yīng)當(dāng)注意到,通過利用稍后將要描述的查找表和數(shù)據(jù)格式,存儲器I/F 41控制自圖像存儲器40的數(shù)據(jù)讀取和到它的數(shù)據(jù)寫入。
存儲器控制塊50以統(tǒng)一的方式管理從編碼器20和解碼器30對圖像存儲器40的訪問。在編碼和解碼的過程中,存儲器控制塊50從CPU 10中接收諸如圖像尺寸和將要分配的存儲區(qū)的數(shù)目的信息,根據(jù)這些信息來分配圖像存儲器40中的存儲區(qū)。然后,存儲器控制塊50將由編碼器20和編碼器30提供的圖像數(shù)據(jù)存儲到圖像存儲器40中已分配的存儲區(qū)里,并通過CPU 10將指示存儲區(qū)的標(biāo)識符ID的信息傳輸至編碼器20和解碼器30。當(dāng)通過CPU 10從編碼器和解碼器30指定標(biāo)識符ID時,存儲器控制塊50從圖像存儲器40中的指定存儲區(qū)讀取圖像數(shù)據(jù),并將該圖像數(shù)據(jù)輸出至編碼器20和解碼器30。
在對如上所述的圖像處理設(shè)備中的運(yùn)動圖像數(shù)據(jù)進(jìn)行編碼時,CPU 10指示編碼器20根據(jù)從主機(jī)控制器給出的信息開始編碼,并且同時將諸如圖像尺寸和對應(yīng)于將要分配的存儲區(qū)的圖像的數(shù)目之類信息提供給存儲器控制塊50。依照由CPU 10所給出的信息,存儲器控制塊50將編碼所必需的存儲區(qū)分配至圖像存儲器40。
當(dāng)接收到運(yùn)動圖像數(shù)據(jù)時,編碼器20通過經(jīng)由存儲器控制塊50把正在被處理的圖像數(shù)據(jù)臨時地存儲到圖像存儲器40中、或通過適當(dāng)?shù)刈x取來自圖像存儲器40的圖像數(shù)據(jù)、來對所接收到的運(yùn)動圖像數(shù)據(jù)進(jìn)行編碼。在存儲圖像數(shù)據(jù)時,經(jīng)由CPU 10將請求從編碼器20傳送至存儲器控制塊50。響應(yīng)于該請求,存儲器控制塊50將從編碼器20接收到的圖像數(shù)據(jù)寫入已分配的存儲區(qū)中的一個,并通過CPU 10將指示那個存儲區(qū)的標(biāo)識符ID傳送至編碼器20。
其次,在從該圖像存儲器40讀取圖像數(shù)據(jù)的過程中,編碼器20經(jīng)由CPU10將對應(yīng)于將要讀取的圖像數(shù)據(jù)的標(biāo)識符ID傳輸至存儲器控制塊50。作為響應(yīng),存儲器控制塊50從圖像存儲器40中由已接收到的標(biāo)識符ID所標(biāo)識的存儲區(qū)中讀取指定的圖像數(shù)據(jù),并將該圖像數(shù)據(jù)輸出到編碼器20。當(dāng)請求來自主機(jī)控制器以結(jié)束編碼時,存儲器控制塊50重新分配為編碼而分配的存儲區(qū),由此使得這些存儲區(qū)可用于寫入其他的數(shù)據(jù)。
在對運(yùn)動圖像數(shù)據(jù)進(jìn)行解碼的過程中執(zhí)行如上相同的操作。也就是說,當(dāng)解碼開始時,由存儲器控制塊50來分配解碼所必需的存儲區(qū)。存儲器控制塊50將來自解碼器30的圖像數(shù)據(jù)保存在其中一個已分配的存儲區(qū)中,并且將那個存儲區(qū)的標(biāo)識符ID傳輸?shù)浇獯a器30。在讀取圖像數(shù)據(jù)時,標(biāo)識符ID從解碼器30被傳送到存儲器控制塊50。作為響應(yīng),存儲器控制塊50從標(biāo)識符ID所標(biāo)識的存儲區(qū)中讀取圖像數(shù)據(jù),并將該圖像數(shù)據(jù)輸出到解碼器30。
由此,在上面提到的圖像處理設(shè)備中,編碼器20和解碼器30經(jīng)由存儲器控制塊50間接地訪問圖像存儲器40。編碼器20和解碼器30能夠通過使用對于由存儲器控制塊50分配的每個存儲區(qū)的標(biāo)識符ID,而不是通過使用圖像存儲器40中的這類存儲區(qū)的物理地址來請求圖像數(shù)據(jù)讀取或?qū)懭搿?br>
另一方面,每當(dāng)編碼器20和解碼器30的其中之一開始處理時,存儲器控制塊50在圖像存儲器40中分配處理所必需的存儲區(qū)。此時,存儲器控制塊50通過利用將圖像存儲器40中的單位存儲區(qū)作為節(jié)點的二叉樹結(jié)構(gòu),來有效地將存儲區(qū)分配到圖像存儲器40中的空閑區(qū),并且將已分配的存儲區(qū)設(shè)置到與圖像存儲器40的硬件I/F相匹配的存儲器I/F 41。
因此,如果在編碼和解碼的至少其中之一的過程中經(jīng)歷處理的圖像尺寸按主機(jī)控制器所指示的那樣改變,那么可容易實行的是重新分配為已變化的處理所分配的存儲區(qū),將重新分配的存儲區(qū)設(shè)置為空閑區(qū),并重新使用該空閑區(qū)以作為對應(yīng)于已變化的圖像尺寸的存儲區(qū)。這允許存儲器控制塊50以統(tǒng)一的方式、根據(jù)圖像尺寸來控制存儲區(qū),以便編碼器20和解碼器30可以彼此傳遞正被處理的圖像數(shù)據(jù),而不必總是識別圖像存儲器40的規(guī)格和物理地址。
應(yīng)當(dāng)注意到,當(dāng)在由編碼器20或解碼器30進(jìn)行處理期間臨時存儲在圖像存儲器40中的圖像數(shù)據(jù)的圖像尺寸發(fā)生變化時,經(jīng)歷編碼或解碼的圖像尺寸被改變。例如,在編碼的時候,編碼器20改變所輸入的運(yùn)動圖像數(shù)據(jù)的圖像尺寸,然后將已改變的圖像尺寸的運(yùn)動圖像數(shù)據(jù)編碼,或?qū)⑺斎氲膱D像尺寸已變化了的運(yùn)動圖像數(shù)據(jù)編碼,以便改變將要生成的編碼流的圖像尺寸。在解碼的時候,在解碼器30中將要輸入的編碼流的圖像尺寸被改變。
參照圖2,示出了存儲器控制塊50的示范性的內(nèi)部配置結(jié)構(gòu)。
如圖2所示,存儲器控制塊50具有存儲區(qū)管理塊51、存儲器分配處理塊52、存儲器重新分配處理塊53、查找表設(shè)置塊54、數(shù)據(jù)格式設(shè)置塊55、CPU I/F 56、編碼器I/F 57以及解碼器I/F 58。應(yīng)當(dāng)注意到,圖2也示出圖1中所示的圖像存儲器40的存儲器I/F 41的查找表41a和數(shù)據(jù)格式41b。
存儲區(qū)管理塊51經(jīng)由CPU I/F 56來與CPU 10進(jìn)行通信,以控制存儲器控制塊50的整個操作。更具體來說,存儲區(qū)管理塊51請求存儲器分配處理塊52、查找表設(shè)置塊54、和數(shù)據(jù)格式設(shè)置塊55分配與CPU 10所指定的圖像尺寸和圖像數(shù)目相對應(yīng)的存儲區(qū),并且借助于用來標(biāo)識這些存儲區(qū)的標(biāo)識符ID來把已分配的存儲區(qū)提供給編碼器20和解碼器30,借此來管理其使用狀態(tài)。同樣,存儲區(qū)管理塊51控制編碼器20、解碼器30與圖像存儲器40之間的數(shù)據(jù)傳送。當(dāng)編碼或解碼已經(jīng)結(jié)束時,存儲區(qū)管理塊51控制存儲器重新分配處理塊53、查找表設(shè)置塊54、以及數(shù)據(jù)格式設(shè)置塊55,以便重新分配已分配的存儲區(qū)。
存儲器分配處理塊52將相應(yīng)于由存儲區(qū)管理塊51所指定的圖像尺寸的存儲區(qū)分配到圖像存儲器40中的空閑區(qū),并計算它的地址。更具體來說,存儲器分配處理塊52通過利用將圖像存儲器40中的單位存儲區(qū)作為節(jié)點的二叉樹結(jié)構(gòu),來管理每個單位存儲區(qū)的分配狀態(tài)。接下來,存儲器分配處理塊52從空閑區(qū)中提取其中數(shù)據(jù)具有存儲區(qū)管理塊51所指定的圖像尺寸的存儲區(qū),并將所提取的區(qū)域的起始地址輸出至存儲區(qū)管理塊51。存儲器分配處理塊52重新分配由存儲區(qū)管理塊51所指定的存儲區(qū)。
查找表設(shè)置塊54和數(shù)據(jù)格式設(shè)置塊55根據(jù)圖像存儲器40的訪問指定來設(shè)置信息,以便已分配的存儲區(qū)變成隨時可用。在第一實施例中,指定存儲區(qū)的起始地址和其中該存儲區(qū)的數(shù)據(jù)量是用一維或二維數(shù)據(jù)來表示的圖像尺寸,以便能夠進(jìn)行圖像存儲器40的讀取或?qū)懭搿榱诉@個目的,存儲器I/F41具有查找表41a,用于保存與存儲區(qū)尺寸相對應(yīng)的圖像尺寸設(shè)置;以及數(shù)據(jù)格式41b,其中使存儲區(qū)起始地址與在查找表41a中的元素相關(guān)。
在將存儲區(qū)分配到存儲器I/F 41的查找表41a的過程中,查找表設(shè)置塊54設(shè)置存儲區(qū)管理塊51所指定的圖像尺寸。
數(shù)據(jù)格式設(shè)置塊55把存儲器分配處理塊52所計算出的地址設(shè)置成存儲器I/F 41的數(shù)據(jù)格式41b,并將該地址與查找表41a相關(guān)聯(lián)。在利用圖像存儲器40讀取或?qū)懭雸D像數(shù)據(jù)的過程中,數(shù)據(jù)格式設(shè)置塊55根據(jù)由存儲區(qū)管理塊51指定的信息指定數(shù)據(jù)格式41b中的相應(yīng)元素,由此來請求存儲器I/F41以讀取或?qū)懭氪鎯ζ鲾?shù)據(jù)。
CPU I/F 56在CPU 10和存儲區(qū)管理塊51之間對信息進(jìn)行接口。編碼器I/F 57和解碼器I/F 58在編碼器20、和解碼器30和存儲區(qū)管理塊51之間對圖像數(shù)據(jù)進(jìn)行接口。
以下詳細(xì)地描述存儲器控制塊50的各個元件的操作。首先,將描述一種由存儲區(qū)管理塊51來管理存儲區(qū)的方法。
參照圖3,示出了一種由存儲器區(qū)管理塊51來管理已分配的存儲區(qū)的方法。
如圖3所示,存儲區(qū)管理塊51通過利用線性列表來管理存儲區(qū),在所述線性列表中兩類元素(圖像尺寸元素和圖像存儲元素)是利用指針相連的。
與由一個編碼器20或一個解碼器30進(jìn)行處理的執(zhí)行相一致地生成圖像尺寸元素,并且該圖像尺寸元素具有列表結(jié)構(gòu),在所述結(jié)構(gòu)中利用指針指向隨后所生成的圖像尺寸元素。在開始進(jìn)行編碼或解碼之時,一個圖像尺寸元素具有由CPU 10所指定的圖像存儲元素的數(shù)目,其中每一個圖像存儲元素都具有由CPU在那一時刻指定的圖像尺寸。也就是說,各個圖像存儲元素都對應(yīng)于為將由編碼器20或解碼器30存儲到圖像存儲器40中的圖像數(shù)據(jù)的一個圖片而分配的存儲區(qū)。
在一個圖像尺寸元素中,已經(jīng)存儲有圖像數(shù)據(jù)的圖像存儲元素和還未存儲有圖像數(shù)據(jù)的圖像存儲元素,分別被連接于具有帶指針的列表結(jié)構(gòu)的活動列表(activate list)和具有帶指針的列表結(jié)構(gòu)的消極列表(negate list)。當(dāng)編碼器20請求將圖像數(shù)據(jù)的一個圖片寫入到圖像存儲器40時,在消極列表中的隊首圖像存儲元素被連接到活動列表的隊尾,當(dāng)寫到圖像存儲器40中的圖像數(shù)據(jù)的一個圖片變得不再必要時,相關(guān)的圖像存儲元素被連接到消極列表的隊尾。
每個圖像尺寸元素通過總是識別activate_top(活動隊首)和activate_tail(活動隊尾)以及negate_top(消極隊首)和negate_tail(消極隊尾)來管理每個列表,其中activate_top和activate_tail分別表示在活動列表的隊首和隊尾的圖像存儲元素,negate_top和negate_tail分別表示在消極列表的隊首和隊尾的圖像存儲元素。
在圖3所示的實例中,生成兩個圖像尺寸元素,即圖像尺寸元素101a和圖像尺寸元素101b。在第一實施例中,由于設(shè)置了一個編碼器20和一個解碼器30,因而生成最多兩個圖像尺寸元素。
例如,如果生成圖像尺寸元素101a以進(jìn)行編碼,那么對于編碼器20的處理分配對應(yīng)于五個圖像存儲元素的存儲區(qū)——102a至102c、103a和103b。就這些已分配的存儲區(qū)而言,對應(yīng)于連接到活動列表102的圖像存儲元素102a至102c的存儲區(qū),已經(jīng)存儲有來自編碼器20的圖像數(shù)據(jù),并且對應(yīng)于連接到消極列表103的圖像存儲元素103a和103b的存儲區(qū)處于未使用狀態(tài)。
同樣地,如果圖像尺寸元素101b被生成以進(jìn)行解碼,那么對應(yīng)于四個圖像存儲元素105a至105d的存儲區(qū)就是為處理而由解碼器30分配的?;顒恿斜?04不包含任何元素,并且對應(yīng)于連接到消極列表105的所有圖像存儲元素105a至105d的存儲區(qū)處于未使用狀態(tài)。
如果解碼器30的解碼按照圖3所示的狀態(tài)結(jié)束,則全部刪除其圖像尺寸元素101b和圖像存儲元素105a至105d。因此,重新分配對于解碼器30的處理分配的存儲區(qū)。在從圖3所示狀態(tài)開始的解碼期間,為了改變經(jīng)受由解碼器30所進(jìn)行的處理的圖像尺寸,圖像尺寸元素101b被刪除一次,并且生成具有以新的圖像尺寸設(shè)置的圖像存儲元素的圖像尺寸元素。雖然設(shè)置改變操作正在進(jìn)行,但是編碼器20仍能借助于與圖像尺寸元素101a的圖像存儲元素相對應(yīng)的存儲區(qū)來繼續(xù)其編碼。
參照圖4A和4B,示出了圖像尺寸元素和圖像存儲元素的數(shù)據(jù)結(jié)構(gòu)。
如圖4A所示的數(shù)據(jù)被存儲區(qū)管理塊51設(shè)置到每個圖像尺寸元素上。標(biāo)識符ID 111是每個圖像尺寸元素的唯一號碼。圖像寬度112和圖像高度113表示設(shè)置到相關(guān)的圖像尺寸元素的每個圖像存儲元素的圖像尺寸,而圖像計數(shù)114表示圖像存儲元素的數(shù)目。
為了管理相關(guān)的圖像尺寸的圖像存儲元素,設(shè)置指向為相關(guān)的圖像尺寸元素中的activate_top、activate_tail、negate_top和negate_tail的圖像存儲元素的指針115至118。例如,為這些指針115至118使用稍后將描述的圖像存儲元素的標(biāo)識符ID。另外,由那個圖像尺寸元素的標(biāo)識符ID來設(shè)置是指向在相關(guān)的圖像尺寸元素之后生成的另一個圖像尺寸元素的指針119。
另一方面,由存儲區(qū)管理塊51將如圖4B所示的數(shù)據(jù)設(shè)置到每個圖像存儲元素上。標(biāo)識符ID 121是用來標(biāo)識每個圖像存儲元素的唯一號碼,并且當(dāng)圖像數(shù)據(jù)被存儲在相應(yīng)的存儲區(qū)中時,將所述標(biāo)識符ID提供給編碼器20或解碼器30。節(jié)點號122表示由存儲器分配處理塊52所分配的存儲區(qū)。
此外,為了提供與圖像存儲器40中將要分配的實際存儲區(qū)的相關(guān)性,設(shè)置指向保存在查找表設(shè)置塊54中的查找表元素的指針123和指向保存在數(shù)據(jù)格式設(shè)置塊55中的數(shù)據(jù)格式元素的指針124。為這些指針123和124使用這些元素的標(biāo)識符ID。應(yīng)當(dāng)注意到,查找表元素和數(shù)據(jù)格式元素將在稍后進(jìn)行描述。
另外,由那個圖像存儲元素的標(biāo)識符ID來設(shè)置指向在相同的活動列表或消極列表中下一個連接的圖像存儲元素的指針125。
下面描述了將由存儲區(qū)管理塊51執(zhí)行的處理。參照圖5,示出了表示當(dāng)存儲區(qū)被分配時由存儲區(qū)管理51塊執(zhí)行的處理的流程。
(步驟S101)當(dāng)主機(jī)控制器請求CPU 10開始編碼或解碼時,CPU 10經(jīng)由CPU I/F 56來向存儲區(qū)管理塊51提供對應(yīng)于由主機(jī)控制器所指定的必需的存儲區(qū)的圖像尺寸和圖像的數(shù)目。所述存儲區(qū)管理塊51接收這些信息單元并開始下面的處理。
(步驟S102)將新的圖像尺寸元素添加到圖像尺寸元素列表中。此時,給新的圖像尺寸元素的標(biāo)識符ID 111的列(column)設(shè)置一個值。如果存在任何已生成的圖像尺寸元素,那么就把新的圖像尺寸元素的標(biāo)識符ID存儲在該元素的指針119的列中。
(步驟S103)對于新的圖像尺寸元素,由編碼器20提供的圖像尺寸被存儲在圖像寬度112和圖像高度113的列中,并且圖像的數(shù)目被存儲在圖像計數(shù)114的列中。應(yīng)當(dāng)注意到,例如,如果圖像尺寸用一維數(shù)據(jù)來表示的話,則那個數(shù)據(jù)可以僅存儲在圖像寬度112的列中。
(步驟S104)將一個圖像存儲元素添加到最新生成的圖像尺寸元素的消極列表的隊尾。此時,更新指向圖像尺寸元素的negate_tail的指針118。如果在消極列表中已經(jīng)存在圖像尺寸元素,那么更新指向negate_top的指針117,并且同時將新的圖像尺寸元素的標(biāo)識符ID設(shè)置到設(shè)置在圖像尺寸元素隊尾的指針119。
(步驟S105)將在步驟S101中所接收的圖像尺寸傳遞至存儲器分配處理塊52,請求分配對應(yīng)于那個圖像尺寸的存儲區(qū)。作為響應(yīng),存儲器分配處理塊52在圖像存儲器40中分配對應(yīng)于所接收的圖像尺寸的存儲區(qū),并將表示那個存儲區(qū)的二叉樹結(jié)構(gòu)節(jié)點號以及該存儲區(qū)的起始地址返回至存儲區(qū)管理塊51,這將在稍后參照圖21進(jìn)行描述。
(步驟S106)從存儲器分配處理塊52接收起始地址和節(jié)點號。
(步驟S107)將從存儲器分配處理塊52所接收的節(jié)點號存儲在相關(guān)的圖像存儲元素的節(jié)點號122的列中,這將在稍后參照圖12進(jìn)行描述。
(步驟S108)由CPU 10所指定的圖像尺寸被傳送至查找表設(shè)置塊54。作為響應(yīng),查找表設(shè)置塊54將圖像尺寸設(shè)置到查找表41a中,更新相應(yīng)的查找表元素,并且將那個元素的標(biāo)識符ID返回至存儲區(qū)管理塊51。
(步驟S109)從查找表設(shè)置塊54接收標(biāo)識符ID,并且所接收的標(biāo)識符ID被設(shè)置為指向查找表元素的指針123。
(步驟S110)
將從存儲器分配處理塊52所接收的起始地址和節(jié)點號、從查找表設(shè)置塊54所接收的查找表元素的標(biāo)識符ID、以及基于圖像尺寸的存儲器映射類型傳送到數(shù)據(jù)格式設(shè)置塊55。作為響應(yīng),數(shù)據(jù)格式設(shè)置塊55將一個數(shù)據(jù)格式元素添加至表示使用的列表,并將數(shù)據(jù)設(shè)置到與該元素相關(guān)聯(lián)的數(shù)據(jù)格式41b的元素上。然后,將該數(shù)據(jù)格式元素的標(biāo)識符ID返回到存儲區(qū)管理塊51。
(步驟S111)從數(shù)據(jù)格式設(shè)置塊55中接收標(biāo)識符ID,并且設(shè)置所接收的標(biāo)識符ID以作為指向數(shù)據(jù)格式元素的指針124。通過執(zhí)行上述的步驟,分配了對應(yīng)于一個圖像存儲元素的存儲區(qū)。
(步驟S112)確定是否已分配了足夠存儲圖像數(shù)目的存儲區(qū)。如果發(fā)現(xiàn)已經(jīng)分配了所必需的存儲區(qū)的數(shù)目,那么上述的處理結(jié)束。另一方面,如果發(fā)現(xiàn)還未分配所必需的存儲區(qū)的數(shù)目,那么程序就轉(zhuǎn)至步驟S104以把新的圖像存儲元素添加至消極列表的隊尾,借此為該元素執(zhí)行分配存儲區(qū)的處理。
由此,在消極列表中生成了相當(dāng)于由CPU 10所指定的圖像數(shù)目的圖像存儲元素。也就是說,已經(jīng)分配了與將要編碼或解碼的圖像數(shù)目相同的處于未使用狀態(tài)的存儲區(qū)(或可用存儲區(qū))。
參照圖6,示出了表示將由存儲區(qū)管理塊51執(zhí)行的以將已分配的存儲區(qū)提供給編碼器20或解碼器30的處理的流程。
(步驟S201)由編碼器20或解碼器30執(zhí)行的處理開始。當(dāng)需要在其中臨時存儲圖像數(shù)據(jù)的存儲區(qū)時,編碼器20或解碼器30經(jīng)由CPU 10來請求存儲器控制塊50以便提供存儲區(qū)。存儲區(qū)管理塊51接收來自CPU 10的該請求并且開始下面的處理。
(步驟S202)圖像尺寸元素的列表從其隊首被順序地引用,以確定是否將提供每個圖像尺寸元素,也就是說,每個圖像尺寸元素是否對應(yīng)于已經(jīng)請求了存儲區(qū)的編碼器20或解碼器30。如果發(fā)現(xiàn)不提供元素,那么程序就轉(zhuǎn)至步驟S203;如果發(fā)現(xiàn)要提供元素,那么程序就轉(zhuǎn)至步驟S204。
(步驟S203)引用列表中的圖像尺寸元素以執(zhí)行上述步驟S202的確定。
(步驟S204)根據(jù)設(shè)置到正在被引用的圖像尺寸元素的指向negate_top的指針117,提取消極列表隊首的圖像存儲元素。更具體來說,更新指向negate_top的指針117,以使指針117指向消極列表中的下一個圖像存儲元素。
(步驟S205)經(jīng)由CPU 10將所提取的圖像存儲元素的標(biāo)識符ID提供給發(fā)出請求的編碼器20或解碼器30。
(步驟S206)所提取的圖像存儲元素被連接到活動列表的隊尾。更具體來說,更新指向activate_tail的指針116,以便指針116指向新的圖像存儲元素。如果所提取的圖像存儲元素已經(jīng)被連接到活動列表,那么更新指向下一個圖像存儲元素的連接于隊尾的元素的指針,以便該指針指向新的圖像存儲元素。根據(jù)需要,更新指向activate_top的指針115。
(步驟S207)從發(fā)出請求的編碼器20或解碼器30接收圖像數(shù)據(jù)。根據(jù)指向設(shè)置到該圖像存儲元素的查找表元素和數(shù)據(jù)格式元素的指針123和指針124,指定每個元素以指示查找表設(shè)置塊54和數(shù)據(jù)格式設(shè)置塊55寫入該圖像數(shù)據(jù),并且將所接收的圖像數(shù)傳送到圖像存儲器40。因此,圖像數(shù)據(jù)被寫入到與連接于活動列表的新圖像存儲元素相對應(yīng)的存儲區(qū)中。
因此,來自編碼器20或解碼器30的一個圖片的圖像數(shù)據(jù)被寫到圖像存儲器40中。此時,與其中圖像數(shù)據(jù)被寫入的存儲區(qū)相對應(yīng)的圖像存儲元素被連接到活動列表并且以待使用。
隨后,已經(jīng)接收到那個圖像存儲元素的標(biāo)識符ID的編碼器20或解碼器30通過CPU 10將該標(biāo)識符ID提供給存儲器控制塊50,由此啟用(enabling)來自于圖像存儲器40的必要圖像數(shù)據(jù)。此時,在通過CPU 10接收標(biāo)識符ID后,存儲區(qū)管理塊51根據(jù)設(shè)置到那個圖像存儲元素的指針,分別將相應(yīng)的查找表元素和數(shù)據(jù)格式元素設(shè)置到查找表設(shè)置塊54和數(shù)據(jù)格式設(shè)置塊55,借此來請求讀取圖像數(shù)據(jù)。因此,從圖像存儲器40中讀取圖像數(shù)據(jù),以提供到存儲區(qū)管理塊51并經(jīng)由編碼器I/F 57或解碼器I/F 58傳送到編碼器20或解碼器30。
參照圖7,示出了表示當(dāng)從編碼器20或解碼器30返回存儲區(qū)時由存儲區(qū)管理塊51執(zhí)行的處理的流程。
(步驟S301)在按所需次數(shù)為預(yù)定的圖片執(zhí)行讀取數(shù)據(jù)的處理之后,編碼器20或解碼器30經(jīng)由CPU 10提供用于返回相應(yīng)的存儲區(qū)到存儲器控制塊50的信息。此時,表示將要返回的存儲區(qū)的標(biāo)識符ID被傳輸?shù)酱鎯ζ骺刂茐K50。存儲區(qū)管理塊51從CPU 10接收返回通知信息和標(biāo)識符ID。
(步驟S302)圖像尺寸元素的列表被從其隊首順序地引用,以確定每個圖像尺寸元素是否包含請求返回的圖像尺寸元素。如果發(fā)現(xiàn)圖像尺寸元素不包含這樣的圖像尺寸元素,那么程序就轉(zhuǎn)至步驟S303;如果發(fā)現(xiàn)圖像尺寸元素包含這樣的圖像尺寸元素,那么程序就轉(zhuǎn)至步驟S304;(步驟S303)引用列表中的下一個圖像尺寸元素,以執(zhí)行步驟S302的確定。
(步驟S304)被引用的圖像尺寸元素的活動列表被從其隊首順序地引用,以確定每個被引用的圖像存儲元素是否被請求返回。如果發(fā)現(xiàn)被引用的圖像存儲元素沒有被請求返回,那么程序就轉(zhuǎn)至步驟S305;如果發(fā)現(xiàn)被引用的圖像存儲元素被請求返回,那么程序就轉(zhuǎn)至步驟S306。
(步驟S305)引用活動列表中的下一個圖像存儲元素,以對于每個元素執(zhí)行步驟S304的確定。
(步驟S306)被引用的圖像存儲元素從活動列表中提取出來。應(yīng)當(dāng)注意到,在返回存儲區(qū)時,可以從活動列表中的任意位置上提取圖像存儲元素。因此,此時,對于緊臨所提取的圖像存儲元素之前的元素,更新指向下一個圖像存儲元素的指針125。另外,根據(jù)需要更新指向設(shè)置到相關(guān)的圖像尺寸元素的activate_top的指針115或指向activate_tail的指針116。
(步驟S307)將所提取的圖像存儲元素連接于消極列表的隊尾。更具體來說,更新指向negate_tail的指針118,以便該指針指向新連接的圖像存儲元素。如果圖像存儲元素已經(jīng)被連接到消極列表,那么就更新連接到指向下一個圖像存儲元素的連接到隊尾的元素的指針,以便這個指針指向新的圖像存儲元素。根據(jù)需要,更新指向negate_top的指針117。
由此,與進(jìn)一步讀取不再需要的存儲區(qū)相對應(yīng)的圖像存儲元素被連接于在準(zhǔn)備好存儲新的圖像數(shù)據(jù)的狀態(tài)下獲得的消極列表。應(yīng)當(dāng)注意到,將要重新分配的每個存儲區(qū)可以是從活動列表中的任意位置上中選出來的,并且每個所選擇的存儲區(qū)都被連接到消極列表的隊尾。例如,如果在其中圖像數(shù)據(jù)被寫到圖像存儲器中的序列和其中圖像數(shù)據(jù)被從其中利用MEPG系統(tǒng)讀取的序列之間存在失配,則如上所述線性列表的管理易于允許采取措施。
參照圖8,示出了表示在重新分配存儲區(qū)時將由存儲區(qū)管理塊51執(zhí)行的處理的流程。
(步驟S401)當(dāng)主機(jī)控制器指示編碼器20或解碼器30結(jié)束編碼或解碼或改變經(jīng)受處理的圖像尺寸時,通過CPU 10將在相關(guān)的處理中至此為止使用的用于指導(dǎo)存儲區(qū)的重新分配的信息提供給存儲器控制塊50。此時,將在相關(guān)的處理中設(shè)置的圖像尺寸和圖像數(shù)目提供給存儲器控制塊50。在從CPU 10接收到圖像尺寸和圖像的數(shù)目后,存儲區(qū)管理塊51就開始執(zhí)行下面的處理。
(步驟S402)從其隊首順序地引用圖像尺寸元素的列表,以確定每個被引用的圖像尺寸元素是否將被重新分配,或者是否與已經(jīng)請求重新分配存儲區(qū)的編碼器20或解碼器30相對應(yīng)。如果發(fā)現(xiàn)不重新分配元素,那么程序就轉(zhuǎn)至步驟S403;如果發(fā)現(xiàn)元素要被重新分配,那么程序就轉(zhuǎn)至步驟S404。
(步驟S403)引用列表中的下一個圖像尺寸元素,以便執(zhí)行步驟S402的確定。
步驟S404從正在被引用的消極列表中提取隊首圖像存儲元素。更具體來說,更新指向給相關(guān)的存儲尺寸元素設(shè)置的negate_top的指針117,以便該指針指向下一個圖像存儲元素。
(步驟S405)將給所提取的圖像存儲元素設(shè)置的節(jié)點號傳送至存儲器重新分配處理塊53,從而來請求重新分配相應(yīng)的存儲區(qū)。因此,存儲器重新分配處理塊53重新分配對應(yīng)于已接收的節(jié)點號的圖像存儲器40中的存儲區(qū),稍后將參照圖22進(jìn)行描述。
(步驟S406)向數(shù)據(jù)格式設(shè)置塊55發(fā)出請求,以重新分配由給所提取的圖像存儲元素設(shè)置的指針124指向的數(shù)據(jù)格式元素。因此,數(shù)據(jù)格式設(shè)置塊55重新分配所指定的數(shù)據(jù)格式元素,這將參照圖18來稍后進(jìn)行描述,并且請求存儲區(qū)管理塊51重新分配相應(yīng)的查找表元素。
(步驟S407)響應(yīng)于來自數(shù)據(jù)格式設(shè)置塊55的請求,存儲區(qū)管理塊51請求查找表設(shè)置塊54以重新分配由指針123指向的查找表元素。因此,查找表設(shè)置塊54重新分配所指定的查找表元素,這將稍后參照圖13進(jìn)行描述。
通過上述步驟S404至S407的處理,重新分配與消極列表中的一個圖像存儲元素相對應(yīng)的存儲區(qū)。
(步驟S408)確定相關(guān)的圖像尺寸元素的消極列表是否具有任何圖像存儲元素。如果發(fā)現(xiàn)圖像存儲元素,那么程序就返回到步驟S404,以重新分配在消極列表的隊首的圖像存儲元素。當(dāng)所有存儲元素已經(jīng)被重新分配并由此在消極列表中不再有圖像存儲元素時,程序就轉(zhuǎn)至步驟S409。
(步驟S409)重新分配相關(guān)的圖像尺寸元素。
通過上述的處理,對于編碼器20或解碼器30的處理而分配的存儲區(qū)被重新分配以變成可再利用。
查找表設(shè)置塊的操作以下描述了查找表設(shè)置塊54的操作。參照圖9,示出了查找表41a的示范性結(jié)構(gòu)。
如圖9所示,查找表41a具有與映射到圖像存儲器40的硬件I/F的區(qū)域相對應(yīng)的32個元素。在每個元素中,存儲了一維或二維地表示的圖像尺寸的數(shù)據(jù)。例如,如果數(shù)據(jù)被一維地表示,那么圖像尺寸就被存儲為18比特數(shù)據(jù);如果數(shù)據(jù)被二維地表示,那么在垂直方向上的圖像和在水平方向上的圖像被分別地存儲為9比特數(shù)據(jù)。
參照圖10,示出了用來描述由查找表設(shè)置塊54來管理存儲區(qū)的方法的圖。
查找表設(shè)置塊54通過使用查找表元素來管理每個存儲區(qū)的數(shù)據(jù)量的信息。由兩個線性列表(活動列表131和消極列表132)來管理每個查找表元素。當(dāng)前用作為存儲區(qū),也就是指定到已分配的存儲區(qū)的查找表元素被連接至活動列表131。處于未使用狀態(tài)的查找表元素被連接至消極列表132。
以相當(dāng)于查找表41a的元素的數(shù)目的數(shù)目準(zhǔn)備查找表元素。在初始狀態(tài)中,所有的查找表元素都被連接到消極列表132。當(dāng)在由編碼器20或解碼器30進(jìn)行處理開始時請求分配所必需的存儲區(qū)的時候,提取在消極列表132隊首的查找表元素以將其連接到活動列表131的隊尾。當(dāng)在由編碼器20或解碼器30處理結(jié)束時請求重新分配已分配的存儲區(qū)的時候,從活動列表131中提取相應(yīng)的查找表元素以將其連接到消極列表132的隊尾。
參照圖11,示出了每個查找表元素的數(shù)據(jù)結(jié)構(gòu)。
對于每個查找表元素來說,由查找表設(shè)置塊54來設(shè)置圖11中所示的數(shù)據(jù)。標(biāo)識符ID 141是標(biāo)識每個查找表元素的唯一的號碼。所使用的元素計數(shù)142表示使用相關(guān)的查找表元素的圖像存儲元素的數(shù)目。垂直方向尺寸143和水平方向尺寸144指示以二維數(shù)據(jù)來表示的圖像尺寸。一維尺寸145指示以一維數(shù)據(jù)來表示的圖像尺寸。
另外,為了使之與查找表41a相關(guān),設(shè)置一個用于指向在查找表41a中的相應(yīng)元素的指針146。此外,為了配置線性列表,設(shè)置用于指向同一列表中下一個要連接的查找表元素的指針147。
應(yīng)當(dāng)注意到,在上述的數(shù)據(jù)段中,預(yù)先設(shè)置標(biāo)識符ID 141和指向查找表41a中的元素的指針146。在初始狀態(tài)下,所使用的元素計數(shù)142、垂直方向尺寸143、水平方向尺寸144、以及一維尺寸145都被設(shè)置為0。
另外,查找表設(shè)置塊54通過在表格(未示出)中保存用于指向活動列表131的隊首(即,activate_top)和活動列表131的隊尾(即,activate_tail)的查找表元素的指針以及用于指向消極列表132的隊首(即,negate_top)和消極列表132的隊尾(即,negate_tail)的查找表元素的指針來管理每個列表。
下面描述了由查找表設(shè)置塊54進(jìn)行的操作。首先,參照圖12,示出了表示在分配存儲區(qū)時將由查找表設(shè)置塊54執(zhí)行的處理的流程。
(步驟S501)在執(zhí)行用于編碼或解碼的存儲區(qū)分配處理期間,將要分配的存儲區(qū)的圖像尺寸從存儲區(qū)管理塊51傳送至查找表設(shè)置塊54(這個步驟對應(yīng)于圖5所示的步驟S108)。接收到所述圖像尺寸,查找表設(shè)置塊54就開始執(zhí)行下面的處理。
(步驟S502)查找表設(shè)置塊54引用活動列表131的隊首(即,activate_top)的查找表元素。應(yīng)當(dāng)注意到,如果沒有查找表元素被連接到活動列表131,那么程序就轉(zhuǎn)至步驟S506。
(步驟S503)查找表設(shè)置塊54確定所引用的查找表元素是否對應(yīng)于從存儲區(qū)管理塊51提供的圖像尺寸。如果發(fā)現(xiàn)查找表元素對應(yīng)于圖像尺寸,那么程序就轉(zhuǎn)至步驟S510;否則,程序就轉(zhuǎn)至步驟S504。
(步驟S504)如果活動列表131具有下一個查找表元素,那么程序就轉(zhuǎn)至步驟S505;否則,程序就轉(zhuǎn)至步驟S506。
(步驟S505)引用活動列表131中的下一個查找表元素,此時程序返回至步驟S503。如果通過上述步驟S503至S505發(fā)現(xiàn)在活動列表131隊尾的查找表元素與從存儲區(qū)管理塊51提供的圖像尺寸相對應(yīng),那么程序就轉(zhuǎn)至步驟S510。如果沒有在活動列表131中發(fā)現(xiàn)對應(yīng)的查找表元素,那么程序就轉(zhuǎn)至步驟S506。
(步驟S506)提取消極列表132的隊首(即,negate_top)的查找表元素,并且更新指向negate_top元素的指針,以便該指針指向下一個元素。
(步驟S507)將所提取的查找表元素連接到活動列表131的隊尾。更具體來說,更新指向下一個元素的指針147和指向設(shè)置到至此為止連接到活動列表131隊尾的查找表元素的activate_tail元素的指針,以便這些指針指向重新連接的元素。
(步驟S508)將從存儲區(qū)管理塊51提供圖像尺寸設(shè)置到垂直方向尺寸143和水平方向尺寸144的列或一維尺寸145的列。
(步驟S509)
將在步驟S508中設(shè)置的圖像尺寸設(shè)置到查找表41a中的由給相關(guān)的查找表元素設(shè)置的指針147指向的元素。
(步驟S510)將相關(guān)的查找表元素的所用元素計數(shù)142的計數(shù)值增加1。
(步驟S511)將相關(guān)的查找表元素的標(biāo)識符ID 141傳送到存儲區(qū)管理塊51。從查找表設(shè)置塊54接收到該標(biāo)識符ID后,存儲區(qū)管理塊51就將圖像存儲元素與查找表元素相關(guān)聯(lián)(這個步驟對應(yīng)于圖5所示的步驟S109)。
因此,在活動列表131的隊尾處生成與在由編碼器20或解碼器30所進(jìn)行的處理一開始時分配的每個存儲區(qū)相對應(yīng)的查找表元素。在本實施例中,所使用的元素計數(shù)142的計數(shù)值的使用允許一個查找表元素與多個存儲區(qū)(或圖像存儲元素)相關(guān)聯(lián),其中相同的圖像尺寸被設(shè)置到所述多個存儲區(qū)。因此,可以將圖像尺寸有效地分配到具有有限數(shù)目的32個元素的查找表41a。
參照圖13,示出了表示當(dāng)存儲區(qū)被重新分配時將由查找表設(shè)置塊54執(zhí)行的處理的流程。
(步驟S601)如果由編碼器20或解碼器30進(jìn)行的處理結(jié)束,那么存儲區(qū)管理塊51就在一個圖像存儲元素的重新分配期間請求查找表設(shè)置塊54重新分配與該圖像存儲元素相對應(yīng)的查找表元素(這個步驟對應(yīng)于圖8所示的步驟S407)。例如,這個請求指定將要重新分配的存儲區(qū)的圖像尺寸。從存儲區(qū)管理塊51接收到請求后,所述查找表設(shè)置塊54就開始下面的處理。
(步驟S602)引用活動列表131隊首(即,activate_top)的查找表元素。
(步驟S603)查找表設(shè)置塊54根據(jù)圖像尺寸設(shè)置來確定例如所引用的查找表元素是否是一個已經(jīng)由存儲區(qū)管理塊51請求的元素。如果發(fā)現(xiàn)查找表元素不是所請求的那個,那么程序就轉(zhuǎn)至步驟S604;否則,程序就轉(zhuǎn)至步驟S605。
(步驟S604)引用活動列表131中的下一個查找表元素,接著程序轉(zhuǎn)至步驟S603。
(步驟S605)將給相關(guān)的查找表元素設(shè)置的所用元素計數(shù)142的計數(shù)值遞減1。
(步驟S606)如果所使用的元素計數(shù)142的計數(shù)值是0,那么程序就轉(zhuǎn)至步驟S607;否則,處理結(jié)束。
(步驟S607)從活動列表131中提取相關(guān)的查找表元素。此時,根據(jù)需要更新指向activate_top的指針、指向activate_tail的指針和指向被設(shè)置為緊臨著所提取的元素前的元素的下一個元素的指針147。
(步驟S608)所提取的查找表元素被連接到消極列表132的隊尾,并且更新指向至此為止連接到消極列表132的隊尾的元素的下一元素的指針147和指向negate_tail的指針,以便這些指針指向新連接的元素。
每當(dāng)逐一對為由編碼器20或解碼器30所執(zhí)行的處理而分配的存儲區(qū)(圖像存儲元素)進(jìn)行重新分配時執(zhí)行上述的處理,并且將相應(yīng)的查找表元素的所用元素計數(shù)142的計數(shù)值遞減。當(dāng)計數(shù)值到達(dá)0時,將一個查找表元素從活動列表131移動到消極列表132,接著重新分配對于查找表419中一個元素的圖像尺寸的設(shè)置。
以下描述了數(shù)據(jù)格式設(shè)置塊55的操作。參照圖14,示出了數(shù)據(jù)格式41b的示范性結(jié)構(gòu)。
如圖14所示,數(shù)據(jù)格式41b具有與映射到圖像存儲器40的硬件I/F的區(qū)域相對應(yīng)的256個元素。這些元素的每一個都具有表示圖像尺寸被表達(dá)為一維或二維的存儲器映射類型151、指向查找表41a中的相應(yīng)元素的指針152、以及表示圖像存儲器40中的每一個相應(yīng)的區(qū)域的起始地址的基地址153。應(yīng)當(dāng)注意到,對于指向查找表41a中的相應(yīng)元素的指針152,設(shè)置相應(yīng)于這個元素的查找表元素的標(biāo)識符ID。
參照圖15,示出了由數(shù)據(jù)格式設(shè)置塊55執(zhí)行的管理存儲區(qū)的方法。
數(shù)據(jù)格式設(shè)置塊55通過使用數(shù)據(jù)格式元素來管理存儲區(qū)地址以及表示與查找表41a的相關(guān)性的信息。如圖15所示,通過兩個線性列表,即活動列表161和消極列表162來管理每個數(shù)據(jù)格式元素。當(dāng)前被用作為存儲區(qū)的數(shù)據(jù)格式元素,即指定到已分配的存儲區(qū)的數(shù)據(jù)格式元素被連接至活動列表161。未使用的數(shù)據(jù)格式元素被連接至消極列表162。
以相當(dāng)于在數(shù)據(jù)格式41b中的元素的數(shù)目的數(shù)量準(zhǔn)備數(shù)據(jù)格式元素。在初始狀態(tài)下,所有的數(shù)據(jù)格式元素被連接到消極列表162。在由編碼器20或解碼器30進(jìn)行的處理開始,當(dāng)發(fā)出請求以分配所必需的存儲區(qū)時,以相當(dāng)于已分配的存儲區(qū)的數(shù)目的數(shù)目將數(shù)據(jù)格式元素從消極列表162的隊首中提取出來,并且將所提取的數(shù)據(jù)格式元素連接到活動列表161隊尾。在由編碼器20或解碼器30進(jìn)行的處理的末尾,當(dāng)已分配的存儲區(qū)被重新分配時,順序地從活動列表161中提取所有的對應(yīng)元素以連接到消極列表162的隊尾。
參照圖16,示出了每個數(shù)據(jù)格式元素的數(shù)據(jù)結(jié)構(gòu)。
對于每一數(shù)據(jù)格式元素,由數(shù)據(jù)格式設(shè)置塊55來設(shè)置如圖16所示的數(shù)據(jù)。標(biāo)識符ID 171是用于標(biāo)識每一個數(shù)據(jù)格式元素的唯一號碼,其是在初始化時被設(shè)置的。節(jié)點號172表示在分配存儲區(qū)時從存儲器分配處理塊52輸出的二叉樹結(jié)構(gòu)的節(jié)點號。
另外,設(shè)置用來指向數(shù)據(jù)格式41b中的相應(yīng)元素的指針173,以便使之與數(shù)據(jù)格式41b相關(guān)。此外,為了配置線性列表,設(shè)置指向同一列表中下一個將要連接的數(shù)據(jù)格式元素的指針174。
另外,數(shù)據(jù)格式設(shè)置塊55通過在表格(未示出)中保存用于指向活動列表161的隊首(即,activate_top)和活動列表161的隊尾(即,activate_tail)的數(shù)據(jù)格式元素的指針以及用于指向消極列表162的隊首(即,negate_top)和消極列表162的隊尾(即,negate_tail)的數(shù)據(jù)格式元素的指針來管理每個列表。
以下描述了將由數(shù)據(jù)格式設(shè)置塊55執(zhí)行的處理。參照圖17,示出了表示在分配存儲區(qū)時將由數(shù)據(jù)格式設(shè)置塊55執(zhí)行的處理的流程。
(步驟S701)在執(zhí)行存儲區(qū)分配以便進(jìn)行編碼或解碼期間,數(shù)據(jù)格式設(shè)置塊55接收來自存儲區(qū)管理塊51的請求,以便重新分配將要重新分配的存儲區(qū)中的相應(yīng)數(shù)據(jù)格式元素(這個步驟對應(yīng)于圖5所示的步驟S110),借此來執(zhí)行下面的處理。應(yīng)當(dāng)注意到,此時,將要分配的每個存儲區(qū)的起始地址、節(jié)點號、相應(yīng)的查找表元素的標(biāo)識符ID和基于圖像尺寸的存儲映射類型從存儲區(qū)管理塊51提供至數(shù)據(jù)格式設(shè)置塊55。
(步驟S702)提取消極列表162的隊首(即,negate_top)的數(shù)據(jù)格式元素,并且更新指向negate_top元素的指針,以便該指針指向下一個元素。
(步驟S703)所提取的數(shù)據(jù)格式元素被連接到活動列表161的隊尾(即,activate_tail)。更確切地說,更新指向設(shè)置到連接于活動列表161的隊尾的數(shù)據(jù)格式元素的下一個元素的指針174和指向activate_tail元素的指針,以便這些指針指向新連接的元素。
(步驟S704)將從存儲區(qū)管理塊51接收的存儲器映射類型設(shè)置到由設(shè)置到相關(guān)的數(shù)據(jù)格式元素的指針173指向的數(shù)據(jù)格式41b的元素。
(步驟S705)將指向查找表41a中的相應(yīng)元素的指針設(shè)置到由指針173指向的數(shù)據(jù)格式41b中的相應(yīng)元素。對于這個數(shù)值來說,設(shè)置從存儲區(qū)管理塊51接收的查找表元素的標(biāo)識符ID。應(yīng)當(dāng)注意到,可以通過經(jīng)由此流程以外的存儲區(qū)管理塊51,即例如在步驟S705中詢問查找表設(shè)置塊54來獲得該標(biāo)識符ID。
(步驟S706)將從存儲區(qū)管理塊51接收的起始地址設(shè)置到由指針173指向的數(shù)據(jù)格式41b中的對應(yīng)元素。
(步驟S707)將從存儲區(qū)管理塊51接收的節(jié)點號設(shè)置到相關(guān)的數(shù)據(jù)格式元素的節(jié)點號172的列上。
(步驟S708)將相關(guān)的數(shù)據(jù)格式元素的標(biāo)識符ID 171傳送到存儲區(qū)管理塊51接收到該標(biāo)識符ID后,存儲區(qū)管理塊51將圖像存儲元素與數(shù)據(jù)格式元素相關(guān)聯(lián)(這個步驟對應(yīng)于圖5所示的步驟S111)。
由此,在由編碼器20或解碼器30進(jìn)行的處理開始時,在活動列表161的隊尾順序地生成與已分配的存儲區(qū)相對應(yīng)的數(shù)據(jù)格式元素。
參照圖18,示出了表示在重新分配存儲區(qū)時將由數(shù)據(jù)格式設(shè)置塊55執(zhí)行的處理的流程。
(步驟S801)如果由編碼器20或解碼器30進(jìn)行的處理結(jié)束,那么在重新分配一個圖像存儲元素的期間,存儲區(qū)管理塊51就請求數(shù)據(jù)格式設(shè)置塊55重新分配與該圖像存儲元素相對應(yīng)的數(shù)據(jù)格式元素(這個步驟對應(yīng)于圖8所示的步驟S406)。例如,這個請求指定了在將要重新分配的存儲區(qū)(或圖像存儲元素)中保存的指針124的設(shè)定值(即,標(biāo)識符ID)。響應(yīng)于來自存儲區(qū)管理塊51的請求,數(shù)據(jù)格式設(shè)置塊55開始下面的處理。
(步驟S802)引用活動列表161隊首(即,activate_top)的數(shù)據(jù)格式元素。
(步驟S803)數(shù)據(jù)格式設(shè)置塊55根據(jù)標(biāo)識符ID來確定所引用的數(shù)據(jù)格式元素是否是與來自存儲區(qū)管理塊51的請求相對應(yīng)的元素。如果發(fā)現(xiàn)所引用的數(shù)據(jù)格式元素對應(yīng)于該請求,那么程序就轉(zhuǎn)至步驟S804;否則,程序就轉(zhuǎn)至步驟S805。
(步驟S804)引用活動列表161中的下一個數(shù)據(jù)格式元素,接著程序轉(zhuǎn)至步驟S803。
(步驟S805)從活動列表161中提取相關(guān)的數(shù)據(jù)格式元素。此時,根據(jù)需要來更新指向activate_top的指針、指向activate_tail的指針、以及指向被設(shè)置到緊臨著所提取的元素之前的元素的下一個元素的指針174。
(步驟S806)數(shù)據(jù)格式設(shè)置塊55請求存儲區(qū)管理塊51重新分配對應(yīng)于所提取的數(shù)據(jù)格式元素的查找表元素。作為響應(yīng),存儲區(qū)管理塊51指定相應(yīng)的查找表元素的標(biāo)識符ID以請求查找表設(shè)置塊54重新分配該元素(這個步驟對應(yīng)于圖8所示的步驟S407)。響應(yīng)于這個請求,查找表設(shè)置塊54執(zhí)行圖13所示的查找表元素的重新分配。
(步驟S807)與相關(guān)的數(shù)據(jù)格式元素相關(guān)聯(lián)的數(shù)據(jù)格式41b中的元素的設(shè)定值被清空以重新分配該元素。
(步驟S808)相關(guān)的數(shù)據(jù)格式元素被連接到消極列表162的隊尾,并且更新指向至此為止連接到消極列表162的隊尾的元素的下一個元素的指針174和指向negate_tail的指針,以便這些指針指向新連接的元素。
每當(dāng)逐一重新分配為由編碼器20或解碼器30執(zhí)行的處理而分配的存儲區(qū)(圖像存儲元素)時,都執(zhí)行上述的處理,并且順序地將相應(yīng)的數(shù)據(jù)格式元素從活動列表161移動到消極列表162,借此來清空諸如數(shù)據(jù)格式41b中一個元素的地址之類的設(shè)置。
參照圖19,示出了由存儲器分配處理塊52和存儲器重新分配處理塊53執(zhí)行的存儲器分配方法。
存儲器分配處理塊52和存儲器重新分配處理塊53通過將單位區(qū)域分配到二叉樹結(jié)構(gòu)的最深節(jié)點來管理存儲器分配,所述單位區(qū)域是通過以2的冪劃分圖像存儲器40的存儲區(qū)而獲得的。除了最深節(jié)點之外的每一個節(jié)點都包括分配給其子節(jié)點的所有單位區(qū)域。存儲器分配處理塊52以及存儲器重新分配處理塊53保存單位區(qū)域的起始地址并且指定節(jié)點,從而輸出與所指定的節(jié)點相對應(yīng)的每個單位區(qū)域的起始地址。
圖19所示的實例中,為了說明簡潔之便,圖像存儲器40被分成四個單位區(qū)域,40a至40d。通過使用由七個節(jié)點組成的二叉樹結(jié)構(gòu),單位區(qū)域40a至40d被分配給最深的節(jié)點″3″至″6″。
對于存儲區(qū)的分配以及重新分配,使用了二叉樹結(jié)構(gòu)的層深值、表示在相同的層中節(jié)點序列的偏移量、以及表示在同一層中的節(jié)點數(shù)目的寬度。在圖19所示實例中,層深″1″的節(jié)點″1″包括單位區(qū)域40a和40b,而節(jié)點″2″包括單位區(qū)域40c和40d。深度″0″的節(jié)點″0″包括單位區(qū)域40a至40d。
參照圖20A以及20B,示出了由存儲器分配處理塊52以及存儲器重新分配處理塊53執(zhí)行的二叉樹結(jié)構(gòu)的節(jié)點管理方法。
由二叉樹結(jié)構(gòu)中的每個節(jié)點的狀態(tài)(或節(jié)點狀態(tài))來管理單位區(qū)域的使用。當(dāng)對應(yīng)于該節(jié)點的單位區(qū)域不被使用時,節(jié)點狀態(tài)是″無″,當(dāng)對應(yīng)于該節(jié)點的單位區(qū)域正被使用時(已分配的狀態(tài)),節(jié)點狀態(tài)是″已使用″,當(dāng)該節(jié)點的子節(jié)點正在使用中時,節(jié)點狀態(tài)是″正在使用″,當(dāng)該節(jié)點或其子節(jié)點正被重新分配時,節(jié)點狀態(tài)是″空閑″。
存儲器分配處理塊52以及存儲器重新分配處理塊53通過使用公共節(jié)點狀態(tài)管理表來管理每個節(jié)點的節(jié)點狀態(tài)。例如,在圖19所示的二叉樹結(jié)構(gòu)中,如果節(jié)點處于如圖20A所示的狀態(tài),那么節(jié)點狀態(tài)管理表被設(shè)置為如圖20B所示的那樣。節(jié)點狀態(tài)管理表被保存在存儲區(qū)管理塊51中,并在圖21和22所示的處理中由存儲器分配處理塊52以及存儲器重新分配處理塊53設(shè)置或引用。
參照圖21,示出了表示在分配存儲區(qū)時將由存儲器分配處理塊52執(zhí)行的處理的流程。
(步驟S901)在分配存儲區(qū)以編碼或解碼期間,把將要分配的存儲區(qū)的圖像尺寸從存儲區(qū)管理塊51傳送到存儲器分配處理塊52(這個步驟對應(yīng)于圖5所示的步驟S105)。接收到該圖像尺寸后,存儲器分配處理塊52就開始下面的處理。
(步驟S902)引用深度為″0″的節(jié)點。
(步驟S903)存儲器分配處理塊52確定與由存儲區(qū)管理塊51指定的圖像尺寸相對應(yīng)的數(shù)據(jù)量是否小于包含在被引用的節(jié)點中包含的存儲區(qū)的數(shù)據(jù)量。如果發(fā)現(xiàn)前者數(shù)據(jù)量較小,那么程序就轉(zhuǎn)至步驟S904;否則,程序就轉(zhuǎn)至步驟S905。
(步驟S904)將層深值增加1并且把將要引用的節(jié)點的層降低1層。
(步驟S905)從將要引用的層深值減去1。因此,選擇適合于將要分配的圖像尺寸的層。然后,設(shè)置當(dāng)前的層的層寬,而要引用的節(jié)點的偏移值為″0″。
(步驟S906)存儲器分配處理塊52確定偏移值是否小于層寬度值。如果發(fā)現(xiàn)偏移值較小,那么程序就轉(zhuǎn)至步驟S907;否則,程序就轉(zhuǎn)至步驟S909。
(步驟S907)存儲器分配處理塊52確定正被引用的節(jié)點狀態(tài)是否是″無″。如果發(fā)現(xiàn)節(jié)點狀態(tài)是″無″,那么程序就轉(zhuǎn)至步驟S910;否則,程序就轉(zhuǎn)至步驟S908。
(步驟S908)因為正被引用的節(jié)點正在被使用,或處于正在重新分配中,所以將偏移值增加1并且引用同一層中的下一個節(jié)點。然后,程序返回到步驟S906。在步驟S906中,如果發(fā)現(xiàn)偏移值比層寬度高,并且發(fā)現(xiàn)在相同的層中的所有節(jié)點都在使用中,那么程序就轉(zhuǎn)至步驟S909。
(步驟S909)從層深減去1,并且引用上一層的節(jié)點。然后,當(dāng)前的層的層寬度被設(shè)置為偏移值″0″,接著程序返回到步驟S906。
(步驟S910)正被引用的節(jié)點被置成節(jié)點狀態(tài)″已使用″,并且其父節(jié)點的節(jié)點狀態(tài)被置成″正在使用″。
(步驟S911)將正被引用的節(jié)點的節(jié)點號返回到存儲區(qū)管理塊51。
(步驟S912)將包含在相關(guān)節(jié)點內(nèi)的存儲區(qū)的起始地址返回到存儲區(qū)管理塊51。
由此,分配了用于存儲具有指定的圖像尺寸的圖像數(shù)據(jù)的最小必需存儲區(qū)。通過步驟S911和S912的處理,存儲區(qū)管理塊51接收對應(yīng)于每個已分配的存儲區(qū)的節(jié)點號以及那個區(qū)域的起始地址(圖5所示的步驟S106)。
參照圖22,示出了表示在重新分配存儲區(qū)時將由存儲重新分配處理塊53執(zhí)行的處理的流程。
(步驟S1001)如果由編碼器20或解碼器30進(jìn)行的處理結(jié)束,那么存儲區(qū)管理塊51就把與一個圖像存儲元素相對應(yīng)的節(jié)點號傳送至存儲器重新分配處理塊53,以請求該存儲區(qū)的重新分配(這個步驟對應(yīng)于圖8所示的步驟S405)。接收到該節(jié)點號后,存儲器重新分配處理塊53就開始下面的處理。
(步驟S1002)獲得對應(yīng)于所接收的節(jié)點號的層深以及偏移值。
(步驟S1003)將與所獲得的層深以及偏移量相對應(yīng)的節(jié)點的節(jié)點狀態(tài)設(shè)置為″空閑″。
(步驟S1004)如果相同層中具有相同父節(jié)點的另一個節(jié)點的節(jié)點狀態(tài)是″空閑″的話,那么程序就轉(zhuǎn)至步驟S1005;否則,處理結(jié)束。
(步驟S1005)將相同層中具有相同父節(jié)點的另一個節(jié)點的節(jié)點狀態(tài)設(shè)置為″無″,并且將該父節(jié)點的節(jié)點狀態(tài)被設(shè)置為″空閑″。
因此,重新分配了與一個分配的圖像存儲元素相對應(yīng)的存儲區(qū)。然后,在重新分配一個圖像尺寸元素中的所有圖像存儲元素之后,將在上面的步驟S1004以及S1005中設(shè)置為″空閑″的節(jié)點的節(jié)點狀態(tài)設(shè)置為″無″,從而使得每個重新分配存儲區(qū)可利用。
如上所述并根據(jù)作為本發(fā)明第一實施例的圖像處理設(shè)備,可以進(jìn)行編碼器20和解碼器30的其中之一中的圖像尺寸設(shè)置,而無需停止另一個處理的處理。例如,如果假定所述圖像處理設(shè)備安裝在數(shù)字?jǐn)z像機(jī)中,那么就通過編碼器20來對所捕獲的運(yùn)動圖像數(shù)據(jù)進(jìn)行編碼,以便將其記錄到諸如磁帶之類的記錄介質(zhì)上。由解碼器30將從記錄介質(zhì)中讀取的運(yùn)動圖像數(shù)據(jù)的編碼流解碼,以便顯示在顯示部件上。
還可以假定記錄到磁帶上的運(yùn)動圖像數(shù)據(jù)的編碼流被以其減小的圖像尺寸再編碼,并且所得到的運(yùn)動圖像數(shù)據(jù)被記錄到存儲卡或經(jīng)由網(wǎng)絡(luò)被傳輸?shù)酵獠吭O(shè)備。在這種情況下,從磁帶讀取的編碼數(shù)據(jù)流被解碼器30解碼,然后由編碼器20以不同的圖像尺寸進(jìn)行編碼。在這一處理中,本實施例能夠在對從磁帶上讀取的編碼流數(shù)據(jù)保持由解碼器30進(jìn)行的解碼處理的情況下,在由編碼器20進(jìn)行的編碼處理時改變圖像尺寸。
此外,如果假定在存儲卡中準(zhǔn)備了具有不同的圖像尺寸的運(yùn)動圖像數(shù)據(jù)的編碼流,其被再編碼以便經(jīng)由網(wǎng)絡(luò)被傳輸?shù)酵獠吭O(shè)備。那么在這種情況下,本實施例能夠在保持由編碼器20以恒定的圖像尺寸進(jìn)行編碼的情況下,從存儲卡連接地讀取編碼流以由解碼器30解碼從而提供到編碼器20。
本發(fā)明上述的效果主要通過由存儲器分配處理塊52和存儲器重新分配處理塊53進(jìn)行的通過利用二叉樹結(jié)構(gòu)來分配和重新分配存儲區(qū)的處理、以及由存儲區(qū)管理塊51進(jìn)行的以統(tǒng)一方式通過利用線性列表來管理已分配的存儲區(qū)的使用狀態(tài)的處理來獲得。也就是說,存儲器分配處理塊52和存儲器重新分配處理塊53能通過利用二叉樹結(jié)構(gòu)來有效地從圖像存儲器40中的空閑區(qū)分配用于對于編碼和解碼操作中的一個圖片存儲圖像數(shù)據(jù)的最小必需存儲區(qū)。
另外,存儲區(qū)管理塊51為每個圖片離散地請求存儲器分配處理塊52分配編碼和解碼所必需的存儲區(qū),并且管理存儲區(qū)的使用狀態(tài),以便在圖像存儲器40中實際上以分散的方式而非以固定的方式分配編碼器20或解碼器30所使用的存儲區(qū)。這種結(jié)構(gòu)允許僅對不再需要的那些區(qū)域進(jìn)行重新分配,并且允許將重新分配的區(qū)域容易地重新使用為空閑區(qū),從而在編碼器20和解碼器30的處理期間,靈活地應(yīng)對圖像尺寸變化。
此外,編碼器20和解碼器30能夠只借助于從存儲區(qū)管理塊51接收的每個圖像存儲元素的標(biāo)識符ID來利用圖像存儲器40讀和寫數(shù)據(jù),而不需要識別圖像存儲器40的規(guī)格和物理地址。這種配置結(jié)構(gòu)較大地減少了電路比例以及編碼器20和解碼器30的制造成本。
更進(jìn)一步來講,查找表設(shè)置塊54以及數(shù)據(jù)格式設(shè)置塊55依照圖像存儲器40的硬件I/F來執(zhí)行必要的設(shè)置,以使得已分配的存儲區(qū)是可用的,以便如果在圖像存儲器40的規(guī)格發(fā)生變化,那么僅僅改變這些功能塊的處理程序就能提供靈活的系統(tǒng)更換。
參照圖23,示出了舉例說明作為本發(fā)明第二實施例的圖像處理設(shè)備的主要部分的示范性結(jié)構(gòu)的框圖。
在圖23所示的圖像處理設(shè)備中,可以由兩個編碼器20a和20b來并發(fā)地執(zhí)行編碼。例如,相同的運(yùn)動圖像數(shù)據(jù)(諸如所捕獲的圖像數(shù)據(jù))和相同的音頻數(shù)據(jù)被提供給兩個編碼器20a和20b,以使得這些編碼器以不同的圖像尺寸編碼所提供的數(shù)據(jù),將一個編碼流記錄到磁帶上而將另一個編碼流記錄到諸如存儲卡之類的另一種類型的記錄介質(zhì)上或經(jīng)由網(wǎng)絡(luò)將其傳輸?shù)酵獠吭O(shè)備。
如第一實施例那樣,編碼器20a和20b通過圖23所示的圖像處理設(shè)備中的存儲器控制塊50來訪問圖像存儲器40。這種配置結(jié)構(gòu)允許在一個編碼操作中止而繼續(xù)另一個編碼操作的情況下改變圖像尺寸,從而重新開始編碼。
參照圖24,示出了舉例說明作為本發(fā)明的第三實施例的圖像處理設(shè)備的主要部分的示范性結(jié)構(gòu)的框圖。
在圖24所示的圖像處理設(shè)備中,可以由兩個解碼器30a和30b來并發(fā)地執(zhí)行解碼。例如,將不同的編碼流提供給兩個解碼器30a和30b以便并發(fā)地執(zhí)行解碼,并將由這些解碼器輸出的運(yùn)動圖像數(shù)據(jù)合成以便顯示在一個屏幕上。
如第一實施例那樣,解碼器30a和30b通過圖24所示的圖像處理設(shè)備中的存儲器控制塊50來訪問圖像存儲器40。這種配置結(jié)構(gòu)允許在一個編碼操作中止而繼續(xù)另一個編碼操作的情況下改變圖像尺寸,從而重新開始編碼。
除運(yùn)動圖像數(shù)據(jù)的編碼和解碼之外,本發(fā)明同樣也適用于通過共享相同的圖像存儲器執(zhí)行兩行或更多行的圖像處理。例如,這類圖像處理包括圖像放大和縮小、圖像合成、以及圖片質(zhì)量校正。此外,本發(fā)明應(yīng)用到一行的圖像處理還帶來了這樣的效果獨立于圖像存儲器的規(guī)格地簡化了圖像處理引擎的配置。
本發(fā)明尤其適合于這樣的情況由未安裝OS的嵌入式系統(tǒng)來執(zhí)行諸如圖像處理和訪問圖像存儲器的管理之類的處理。然而,將本發(fā)明應(yīng)用到帶有安裝了通用的OS的嵌入式系統(tǒng)也是可實行的。在這種情況下,在通用OS上執(zhí)行相當(dāng)于存儲器控制塊50的處理程序,并且因為這種程序?qū)S糜趫D像存儲器管理,所以所述程序提供了比由通用OS的圖像存儲器管理處理更好的性能。
本發(fā)明每一個上述的實施例中所示的存儲器控制塊50的處理功能都可以借助于計算機(jī)來實現(xiàn)。在這種情況下,提供了這樣一種程序,在其中編碼了將由存儲器控制塊50提供的功能的處理內(nèi)容。在計算機(jī)上執(zhí)行該程序在計算機(jī)上實現(xiàn)了上述的處理功能。可以將編碼有處理內(nèi)容的程序記錄到計算機(jī)可讀的記錄介質(zhì)上。這類記錄介質(zhì)包括例如,磁記錄裝置、光盤、磁光記錄介質(zhì)以及半導(dǎo)體存儲器。
通過將該程序記錄到基于例如半導(dǎo)體存儲器的便攜式記錄介質(zhì)而分配上述的程序,并且銷售這種便攜式記錄介質(zhì)。將所述程序存到在網(wǎng)絡(luò)上的服務(wù)器計算機(jī)中并且將所存儲的程序傳遞到其他的計算機(jī)也是可行的。
在其上執(zhí)行程序的計算機(jī)將所述程序從便攜式記錄介質(zhì)或服務(wù)器計算機(jī)存儲到計算機(jī)的存儲單元中。然后,計算機(jī)從存儲單元中讀取該程序并且按照該程序的指令執(zhí)行處理。計算機(jī)從該便攜式記錄介質(zhì)直接讀取該程序并且執(zhí)行該程序而不將該程序存儲在計算機(jī)的存儲單元中也是可行的。
雖然已經(jīng)使用特定的術(shù)語描述了本發(fā)明優(yōu)選實施例,但是這種描述僅僅是說明性的,并且能夠理解的是,在不背離以下權(quán)利要求的精神或范圍的情況下,可以作出改變和變化。
權(quán)利要求
1.一種存儲器管理方法,用于由多個圖像處理部件共享一個圖像存儲器作為工作區(qū)以由所述多個圖像處理部件并發(fā)地執(zhí)行處理操作,該方法包含存儲區(qū)分配步驟,其中存儲區(qū)分配部件接收關(guān)于為將由所述多個圖像處理部件執(zhí)行的處理操作而單獨地指定的圖像尺寸和圖像計數(shù)的信息,按照所述圖像計數(shù)將對應(yīng)于所述圖像尺寸的存儲區(qū)分配到所述圖像存儲器中的空閑區(qū),并輸出指示所述分配的圖像區(qū)的地址;存儲區(qū)信息生成步驟,其中存儲區(qū)管理部件生成存儲區(qū)信息,其中對于每個所述存儲區(qū)存儲了在所述存儲區(qū)分配步驟中分配的每一個所述存儲區(qū)的標(biāo)識信息和用于訪問每一個所述存儲區(qū)的訪問信息之間的相關(guān)性,所述訪問信息至少包括所述地址;以及存儲區(qū)管理步驟,其中所述存儲區(qū)管理部件從所述多個圖像處理部件中的每一個接收用于使用和返回每一個所述存儲區(qū)的請求,以根據(jù)所述存儲區(qū)信息來管理每一個所述存儲區(qū)的使用狀態(tài)。
2.根據(jù)權(quán)利要求1所述的存儲器管理方法,還包含存儲區(qū)重新分配步驟,其中,當(dāng)中止由所述圖像處理部件執(zhí)行的處理時,所述存儲區(qū)管理部件再次將為由所述圖像處理部件所進(jìn)行的處理而分配的所述存儲區(qū)設(shè)置到空閑區(qū),并且刪除所述存儲區(qū)信息。
3.根據(jù)權(quán)利要求1所述的存儲器管理方法,其中對于所述多個圖像處理部件的每一個,所述存儲區(qū)管理步驟通過使用第一線性列表和第二線性列表來管理每個所述存儲區(qū)的使用狀態(tài),其中所述第一線性列表包括對應(yīng)于由所述圖像處理部件使用的每個所述存儲區(qū)的所述存儲區(qū)信息,所述第二線性列表包括對應(yīng)于未使用的每個所述存儲區(qū)的所述存儲區(qū)信息。
4.根據(jù)權(quán)利要求3所述的存儲器管理方法,其中所述存儲區(qū)信息生成步驟包括以下步驟,其中將對應(yīng)于在所述存儲區(qū)分配步驟中分配的每個所述存儲區(qū)的所述存儲區(qū)信息順序地連接到所述第二線性列表;以及所述存儲區(qū)管理步驟包括以下步驟,其中,當(dāng)從所述圖像處理部件發(fā)出用于使用的所述請求時,提取在所述第二線性列表隊首的所述存儲區(qū)信息,將所提取的存儲區(qū)信息連接到所述第一線性列表的隊尾,并且將用于標(biāo)識所述存儲區(qū)信息的標(biāo)識號輸出到所述請求圖像處理部件。
5.根據(jù)權(quán)利要求4所述的存儲區(qū)管理方法,其中所述存儲區(qū)管理步驟還包含以下步驟,其中,當(dāng)從所述圖像處理部件發(fā)出用于返回的所述請求并指定了所述標(biāo)識號時,從所述第一線性列表中提取對應(yīng)于所述指定標(biāo)識號的所述存儲區(qū)信息,并且將所述提取的存儲區(qū)信息連接到所述第二線性列表的隊尾。
6.根據(jù)權(quán)利要求5所述的存儲器管理方法,還包含存儲器重新分配步驟,其中,當(dāng)中止由所述圖像處理部件進(jìn)行的處理時,所述存儲區(qū)管理部件從所述第二線性列表中刪除所述相應(yīng)的存儲區(qū)信息并且將相應(yīng)于所述存儲區(qū)信息的所述存儲區(qū)設(shè)置到空閑區(qū)。
7.根據(jù)權(quán)利要求1所述的存儲區(qū)管理方法,其中,當(dāng)從所述圖像處理部件發(fā)出用于訪問所述圖像存儲器的請求并且指定了所述存儲區(qū)時,所述存儲區(qū)管理步驟通過使用由對應(yīng)于所述指定的存儲區(qū)的所述存儲區(qū)信息關(guān)聯(lián)的所述訪問信息來訪問所述圖像存儲器并且在所述指定的存儲區(qū)和所述請求圖像處理部件之間傳遞圖像數(shù)據(jù)。
8.根據(jù)權(quán)利要求1所述的存儲器管理方法,其中所述存儲區(qū)分配步驟通過將所述圖像存儲器中的單位存儲區(qū)與二叉樹結(jié)構(gòu)的底層節(jié)點相關(guān)聯(lián)來管理所述單位存儲區(qū),并且當(dāng)指定所述圖像尺寸時,從所述二叉樹結(jié)構(gòu)中提取節(jié)點,在所述二叉樹結(jié)構(gòu)中將可以存儲相當(dāng)于所述指定的圖像尺寸的圖像數(shù)據(jù)的一個或多個單位存儲區(qū)與所述二叉樹結(jié)構(gòu)的底層子節(jié)點相關(guān)聯(lián),并將表示所述所提取的節(jié)點的節(jié)點號輸出到所述存儲區(qū)管理部件,從而分配對應(yīng)于所述指定的圖像尺寸的所述存儲區(qū);以及所述存儲區(qū)管理步驟將在所述存儲區(qū)分配步驟中輸出的所述節(jié)點號存儲到所述存儲區(qū)信息中。
9.根據(jù)權(quán)利要求1所述的存儲器管理方法,其中所述存儲區(qū)分配步驟輸出所述存儲區(qū)的起始地址作為表示所述分配的存儲區(qū)的所述地址;以及所述訪問信息包括所述起始地址以及對應(yīng)于由所述起始地址指示的所述存儲區(qū)的圖像尺寸。
10.一種圖像處理設(shè)備,用于由多個圖像處理部件共享一個圖像存儲器作為工作區(qū)以由所述多個圖像處理部件并發(fā)地執(zhí)行處理操作,該設(shè)備包含存儲區(qū)分配部件,用于接收關(guān)于為將由所述多個圖像處理部件執(zhí)行的處理操作而單獨地指定的圖像尺寸和圖像計數(shù)的信息,按照所述圖像計數(shù)將對應(yīng)于所述圖像尺寸的存儲區(qū)分配到所述圖像存儲器中的空閑區(qū),并輸出表示所述分配的圖像區(qū)的地址;以及存儲區(qū)管理部件,用于保存存儲區(qū)信息,其中對于每個所述存儲區(qū)存儲了由所述存儲區(qū)分配部件分配的每個所述存儲區(qū)的標(biāo)識信息和用于訪問每個所述存儲區(qū)的訪問信息之間的相關(guān)性,所述訪問信息至少包括所述地址,并且該存儲區(qū)管理部件用于從所述多個圖像處理部件的每一個接收用于利用和返回每個所述存儲區(qū)的請求,從而管理每個所述存儲區(qū)的使用狀態(tài)。
11.根據(jù)權(quán)利要求10所述的圖像處理設(shè)備,其中,當(dāng)中止由所述圖像處理部件執(zhí)行的處理時,所述存儲區(qū)管理部件輸出用于重新分配為將由所述圖像處理部件執(zhí)行的處理而分配的所述存儲區(qū)的請求、以刪除所述存儲區(qū)信息;以及接收到來自所述存儲區(qū)管理部件的所述重新分配請求,所述存儲區(qū)分配部件將所述相應(yīng)的存儲區(qū)再次設(shè)置到空閑區(qū)。
12.根據(jù)權(quán)利要求10所述的存儲器管理設(shè)備,其中對于所述多個圖像處理部件的每一個,所述存儲區(qū)管理部件通過使用第一線性列表和第二線性列表來管理每個所述存儲區(qū)的使用狀態(tài),其中所述第一線性列表包括對應(yīng)于由所述圖像處理部件使用的每個所述存儲區(qū)的所述存儲區(qū)信息,以及所述第二線性列表包括對應(yīng)于未使用的每個所述存儲區(qū)的所述存儲區(qū)信息。
13.根據(jù)權(quán)利要求12所述的圖像處理設(shè)備,其中所述存儲區(qū)管理部件順序地將對應(yīng)于在所述存儲區(qū)分配部件中分配的每個所述存儲區(qū)的所述存儲區(qū)信息連接到所述第二線性列表,并且,當(dāng)從所述圖像處理部件發(fā)出用于使用的所述請求時,提取所述第二線性列表的隊首的所述存儲區(qū)信息,將所提取的存儲區(qū)信息連接到所述第一線性列表的隊尾,并將用于標(biāo)識所述存儲區(qū)信息的標(biāo)識號輸出到所述請求圖像處理部件。
14.根據(jù)權(quán)利要求13所述的存儲區(qū)管理設(shè)備,其中當(dāng)從所述圖像處理部件發(fā)出用于返回的所述請求并且指定了所述標(biāo)識號時,所述存儲區(qū)管理部件從所述第一線性列表提取對應(yīng)于所述指定標(biāo)識號的所述存儲區(qū)信息,并且將所述提取的存儲區(qū)信息連接到所述第二線性列表的隊尾。
15.根據(jù)權(quán)利要求14所述的圖像處理設(shè)備,其中,當(dāng)中止由所述圖像處理部件進(jìn)行的處理時,所述存儲區(qū)管理部件將用于重新分配對應(yīng)于所述第二線性列表中的所述存儲區(qū)信息的所述存儲區(qū)的請求輸出到所述存儲區(qū)分配部件,以刪除所述存儲區(qū)信息,并且,響應(yīng)于來自所述存儲區(qū)管理部件的所述重新分配的請求,所述存儲區(qū)分配部件將相應(yīng)的存儲區(qū)設(shè)置到空閑區(qū)。
16.根據(jù)權(quán)利要求10所述的圖像處理設(shè)備,其中,從所述圖像處理部件接收到指定了所述存儲區(qū)的用于訪問所述圖像存儲器的請求,所述存儲區(qū)管理部件通過使用由對應(yīng)于所述指定的存儲區(qū)的所述存儲區(qū)信息關(guān)聯(lián)的所述訪問信息來訪問所述存儲區(qū),并且在所述指定的存儲區(qū)和所述請求圖像處理部件之間傳送圖像數(shù)據(jù)。
17.根據(jù)權(quán)利要求10所述的圖像處理設(shè)備,其中所述存儲區(qū)分配部件通過將所述圖像存儲器中的單位存儲區(qū)與二叉樹結(jié)構(gòu)的底層節(jié)點相關(guān)聯(lián)來管理所述單位存儲區(qū),并且當(dāng)指定所述圖像尺寸時,從所述二叉樹結(jié)構(gòu)中提取節(jié)點,在所述二叉樹結(jié)構(gòu)中將可以存儲相當(dāng)于所述指定的圖像尺寸的圖像數(shù)據(jù)的一個或多個單位存儲區(qū)與所述二叉樹結(jié)構(gòu)的底層子節(jié)點相關(guān)聯(lián),并將表示所述所提取的節(jié)點的節(jié)點號輸出到所述存儲區(qū)管理部件,從而分配對應(yīng)于所述指定的圖像尺寸的所述存儲區(qū);以及所述存儲區(qū)管理部件將在所述存儲區(qū)分配部件中輸出的所述節(jié)點號存儲到所述存儲區(qū)信息中。
18.根據(jù)要求10所述的圖像處理設(shè)備,其中所述存儲區(qū)分配部件輸出所述存儲區(qū)的起始地址作為表示所述分配的存儲區(qū)的所述地址;以及所述訪問信息包括所述起始地址以及對應(yīng)于由所述起始地址指示的所述存儲區(qū)的圖像尺寸。
19.一種存儲器管理程序,用于使計算機(jī)執(zhí)行存儲器管理處理,以便通過共享一個圖像存儲器作為工作區(qū)來并發(fā)地執(zhí)行由多個圖像處理部件進(jìn)行的處理操作,所述存儲器管理程序包含存儲區(qū)分配步驟,其接收關(guān)于為將由所述多個圖像處理部件執(zhí)行的處理操作而單獨地指定的圖像尺寸和圖像計數(shù)的信息,按照所述圖像計數(shù)將對應(yīng)于所述圖像尺寸的存儲區(qū)分配到所述圖像存儲器中的空閑區(qū),并輸出表示所述分配的圖像區(qū)的地址;存儲區(qū)信息生成步驟,其生成存儲區(qū)信息,其中對于每個所述存儲區(qū)存儲了在所述存儲區(qū)分配步驟中分配的每一個所述存儲區(qū)的標(biāo)識信息和用于訪問每一個所述存儲區(qū)的訪問信息之間的相關(guān)性,所述訪問信息至少包括所述地址;以及存儲區(qū)管理步驟,其從所述多個圖像處理部件中的每一個接收用于使用和返回每一個所述存儲區(qū)的請求,以根據(jù)所述存儲區(qū)信息來管理每一個所述存儲區(qū)的使用狀態(tài)。
全文摘要
當(dāng)通過共享一個圖像存儲器來并發(fā)地執(zhí)行編碼和解碼時,本發(fā)明能夠靈活地應(yīng)付經(jīng)受處理的圖像尺寸發(fā)生變化的情形。存儲器分配處理塊接收關(guān)于為編碼和解碼的每一個所指定的圖像尺寸和圖像數(shù)目的信息,通過將這些存儲區(qū)以相等于圖像的數(shù)目分配到在圖像存儲器中的空閑區(qū)來單獨地分配對應(yīng)于所指定圖像尺寸的存儲區(qū),并輸出所分配的存儲區(qū)的地址。存儲區(qū)管理塊保存存儲區(qū)信息,該信息包括每一個已分配的存儲區(qū)的標(biāo)識信息和用于訪問每個存儲區(qū)的訪問信息之間的相關(guān)性,并接收來自編碼器和解碼器、用于使用已分配的存儲區(qū)和返回所使用的存儲區(qū)的請求,從而根據(jù)存儲區(qū)信息來管理每個存儲區(qū)的使用狀態(tài)。
文檔編號G06T1/60GK1658665SQ200510064038
公開日2005年8月24日 申請日期2005年2月17日 優(yōu)先權(quán)日2004年2月17日
發(fā)明者岡田徹也 申請人:索尼株式會社