專利名稱:存儲器存取控制設(shè)備及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種適于諸如運(yùn)動圖像解碼器的圖像處理器的存儲器存取控制設(shè)備 及其方法,該運(yùn)動圖像解碼器使用外部存儲器對運(yùn)動圖像的壓縮數(shù)據(jù)執(zhí)行解碼。
背景技術(shù):
運(yùn)動圖像解碼器對諸如運(yùn)動圖像專家組(MPEG)數(shù)據(jù)的壓縮運(yùn)動圖像數(shù)據(jù)執(zhí)行解 碼,將先前幀的解碼圖像數(shù)據(jù)存儲在幀存儲器中,并且在對幀存儲器進(jìn)行存取的同時對當(dāng) 前幀執(zhí)行解碼處理。在諸如預(yù)測幀(P幀)編碼數(shù)據(jù)的編碼數(shù)據(jù)經(jīng)受解碼處理的情況下,被 引用以對P幀進(jìn)行編碼的先前幀中的圖像數(shù)據(jù)是解碼處理所需要的,其中,所述預(yù)測幀是 通過幀間預(yù)測編碼處理進(jìn)行編碼的。在這種情況下,以宏塊為單元對P幀的編碼數(shù)據(jù)進(jìn)行 解碼處理,每個宏塊包括預(yù)定數(shù)目的像素,并且需要包括用于對宏塊進(jìn)行編碼的圖像數(shù)據(jù) 的參考幀中的圖像數(shù)據(jù)對宏塊進(jìn)行解碼。這里,參考幀中的相同圖像數(shù)據(jù)用于在整個解碼 處理中多次對P幀進(jìn)行解碼處理。因此,如果每次從幀存儲器中讀取用于解碼處理的參考 幀的圖像數(shù)據(jù),則多次從幀存儲器中讀取相同的圖像數(shù)據(jù),使得每單位時間從幀存儲器中 讀取大量的圖像數(shù)據(jù)。幀存儲器通常具有大容量和低讀取速度。因此,當(dāng)每單位時間從幀存儲器中讀取 大量圖像數(shù)據(jù)時,最差情況是沒有讀取所有需要的圖像數(shù)據(jù)。如果運(yùn)動圖像解碼器在系統(tǒng) 中每單位時間從外部存儲器讀取大量的數(shù)據(jù),其中在該系統(tǒng)中運(yùn)動圖像解碼器與另一個模 塊共享外部存儲器并且外部存儲器的一些區(qū)域用作幀存儲器,則另一個模塊從外部存儲器 讀取數(shù)據(jù)的速度降低,由此系統(tǒng)性能降低。在所提出的用于克服這個問題的眾多方法(例如,參見專利參考文獻(xiàn)1和2)中, 在運(yùn)動圖像解碼器中設(shè)定高速緩沖存儲器,并且用于解碼處理的從外部存儲器讀取的圖像 數(shù)據(jù)被存儲在高速緩沖存儲器中,以及當(dāng)需要與高速緩沖存儲器中存儲的圖像數(shù)據(jù)相同的 圖像數(shù)據(jù)兩次或更多次用于解碼處理時,不是從外部存儲器讀取所述相同的圖像數(shù)據(jù)。[專利參考文獻(xiàn)][專利參考文獻(xiàn)1]日本專利申請公開No.2006-41898[專利參考文獻(xiàn)2]日本專利申請公開No.2008-66913為了通過高速緩沖控制來有效地從外部存儲器向運(yùn)動圖像解碼器傳輸運(yùn)動圖像 解碼器所需要的圖像數(shù)據(jù),要執(zhí)行第一處理和第二處理,在第一處理中,從外部存儲器中讀 取運(yùn)動圖像解碼器所需要的圖像數(shù)據(jù)之中沒有存儲在高速緩沖存儲器中的圖像數(shù)據(jù),并且 隨后將讀取的圖像數(shù)據(jù)存儲在高速緩沖存儲器中,在第二處理中,從高速緩沖存儲器中讀 取運(yùn)動圖像解碼器所需要的圖像數(shù)據(jù),并且隨后將讀取的圖像數(shù)據(jù)提供到運(yùn)動圖像解碼 器。然而,第一處理和第二處理不是彼此同步,并且在第一處理中從外部存儲器中讀取圖像 數(shù)據(jù)的步驟盡可能連續(xù)地執(zhí)行。另一方面,當(dāng)高速緩沖存儲器充滿了在第一處理中從外部存儲器傳輸?shù)膱D像數(shù)據(jù) 時,需要執(zhí)行所謂的移除控制,使得圖像數(shù)據(jù)已經(jīng)被傳輸?shù)母咚倬彌_存儲器中的區(qū)域被重置為新圖像數(shù)據(jù)的目的地。然而,如果第一和第二處理是異步執(zhí)行的,則即使在第二處理需 要存儲的圖像數(shù)據(jù)并且用于所述存儲的圖像數(shù)據(jù)的第二處理還沒有完成時,在高速緩沖存 儲器中存儲的圖像數(shù)據(jù)也可以被設(shè)定為要被移除的圖像數(shù)據(jù)。如果這樣的圖像數(shù)據(jù)被設(shè)定 為要被移除的圖像數(shù)據(jù)以使得其利用從外部存儲器讀取的不同圖像數(shù)據(jù)來復(fù)寫,則需要從 外部存儲器向高速緩沖存儲器重新傳輸被設(shè)定為要移除圖像數(shù)據(jù)的圖像數(shù)據(jù)以執(zhí)行第二 處理。這增加了外部存儲器與高速緩沖存儲器之間的傳輸量,以及還阻礙了其他模塊對外 部存儲器進(jìn)行存取,由此系統(tǒng)效率降低。因此,保留了對存儲器存取控制設(shè)備的需要,所述存儲器存取控制設(shè)備能夠異步 執(zhí)行第一處理和第二處理,當(dāng)?shù)谝缓偷诙幚肀划惒降貓?zhí)行時能夠防止第二處理所需要的 圖像數(shù)據(jù)被設(shè)定為要被移除的圖像數(shù)據(jù),并且能夠?qū)D像數(shù)據(jù)從外部存儲器有效率地提供 到諸如運(yùn)動圖像解碼器的圖像處理器。本公開解決了這個需要。
發(fā)明內(nèi)容
本發(fā)明的一個方面是一種存儲器存取控制設(shè)備,所述存儲器存取控制設(shè)備能夠以 由一幀所分成的宏塊為單位來從存儲所述一幀的圖像數(shù)據(jù)的外部存儲器中讀取圖像數(shù)據(jù), 然后基于讀取的圖像數(shù)據(jù)構(gòu)建(即,處理)由圖像處理器請求的圖像數(shù)據(jù),并且將處理的圖 像數(shù)據(jù)作為已請求圖像數(shù)據(jù)提供到圖像處理器。存儲器存取控制設(shè)備包括高速緩沖存儲器,所述高速緩沖存儲器具有多個高速 緩沖區(qū),每個高速緩沖區(qū)都能夠存儲一個宏塊的圖像數(shù)據(jù);以及高速緩沖控制器,所述高速 緩沖控制器具有高速緩沖表和數(shù)據(jù)請求處理器。所述高速緩沖表能夠具有與所述多個高速 緩沖區(qū)相對應(yīng)的多個表區(qū),所述多個表區(qū)中的每個表區(qū)能夠存儲調(diào)度的存取計數(shù)器以及在 對應(yīng)高速緩沖區(qū)中存儲的一個宏塊的圖像數(shù)據(jù)的幀內(nèi)地址,所述存取計數(shù)器將針對對應(yīng)表 區(qū)的調(diào)度的存取數(shù)目進(jìn)行計數(shù)。數(shù)據(jù)請求處理器能夠從所述圖像處理器接收數(shù)據(jù)請求,所述數(shù)據(jù)請求包括已請求 圖像數(shù)據(jù)的幀內(nèi)占用區(qū)域的指定;根據(jù)已請求圖像數(shù)據(jù)的所述幀內(nèi)占用區(qū)域來確定用于處 理所述已請求圖像數(shù)據(jù)所需的至少一個宏塊的目標(biāo)圖像數(shù)據(jù);從高速緩沖存儲器獲取目標(biāo) 圖像數(shù)據(jù);使用獲取的目標(biāo)圖像數(shù)據(jù)來處理所述已請求圖像數(shù)據(jù);以及將處理的圖像數(shù)據(jù) 輸出到圖像處理器。如果目標(biāo)圖像數(shù)據(jù)沒有被存儲在高速緩沖存儲器中,則選擇所述表區(qū)中具有帶有 “0”值的所述調(diào)度的存取計數(shù)器的一個表區(qū)作為更新表區(qū);確定與所述更新表區(qū)相對應(yīng)的 所述高速緩沖區(qū)是否是所述目標(biāo)圖像數(shù)據(jù)的目的地;輸出讀取請求,所述讀取請求指令將 所述目標(biāo)圖像數(shù)據(jù)從所述外部存儲器傳輸?shù)剿鰧?yīng)高速緩沖區(qū);將所述目標(biāo)圖像數(shù)據(jù)的 所述幀內(nèi)地址存儲到所述更新表區(qū)中以及使所述更新表區(qū)的所述調(diào)度的存取計數(shù)器增加 “1”。如果目標(biāo)圖像數(shù)據(jù)被存儲在所述高速緩沖區(qū)中并且用于所述目標(biāo)圖像數(shù)據(jù)的所 述讀取請求還沒有被輸出,或者如果用于所述目標(biāo)圖像數(shù)據(jù)的所述讀取請求已經(jīng)被輸出, 則所述數(shù)據(jù)請求處理器能夠使存儲所述目標(biāo)圖像數(shù)據(jù)的所述幀內(nèi)地址的所述表區(qū)的所述 調(diào)度的存取計數(shù)器增加“1”。當(dāng)已讀取的圖像數(shù)據(jù)已經(jīng)用于處理所述已請求圖像數(shù)據(jù)時,數(shù)據(jù)請求處理器能夠從所述高速緩沖存儲器的一個高速緩沖區(qū)中讀取用于處理所述已請求圖像數(shù)據(jù)所需的一 個宏塊的所述目標(biāo)圖像數(shù)據(jù),以及使與所述高速緩沖區(qū)相對應(yīng)的所述表區(qū)的所述調(diào)度的存 取計數(shù)器減少“1”。所述多個表區(qū)中的每個還能夠存儲在對應(yīng)的高速緩沖區(qū)中指出圖像數(shù)據(jù)有效性 的有效性標(biāo)志或指出圖像數(shù)據(jù)的無效性的無效性標(biāo)志。當(dāng)目標(biāo)圖像數(shù)據(jù)已經(jīng)從外部存儲器中讀出并且被存儲在對應(yīng)的高速緩沖區(qū)中時, 數(shù)據(jù)請求處理器能夠選擇沒有存儲有效性標(biāo)志的更新表區(qū)并且將有效性標(biāo)志存儲在所述 更新表區(qū)中。如果在高速緩沖表中的任何表區(qū)沒有存儲目標(biāo)圖像數(shù)據(jù)的幀內(nèi)地址和有效性標(biāo) 志這兩者并且其調(diào)度的存取計數(shù)器不具有“ 1”或更大的值,則數(shù)據(jù)請求處理器能夠選擇所 述表區(qū)中具有帶有“0”值的所述調(diào)度的存取計數(shù)器的一個表區(qū)作為更新表區(qū),將目標(biāo)圖像 數(shù)據(jù)的幀內(nèi)地址存儲在更新表區(qū)中,使所述更新表區(qū)的調(diào)度的存取計數(shù)器增加“ 1 ”,以及輸 出讀取請求,所述讀取請求指令將所述目標(biāo)圖像數(shù)據(jù)從所述外部存儲器傳輸?shù)脚c所述更新 表區(qū)相對應(yīng)的高速緩沖區(qū)。如果在高速緩沖表中的任何表區(qū)存儲目標(biāo)圖像數(shù)據(jù)的幀內(nèi)地址以及有效性標(biāo)志 或者調(diào)度的存取計數(shù)器具有“ 1,,或更大值,則數(shù)據(jù)請求處理器能夠使那個表區(qū)的調(diào)度的存 取計數(shù)器增加“1”。當(dāng)讀取的圖像數(shù)據(jù)已經(jīng)用于處理所述已請求圖像數(shù)據(jù)時,數(shù)據(jù)請求處理器能夠從 所述高速緩沖存儲器的一個高速緩沖區(qū)中讀取用于處理所述已請求圖像數(shù)據(jù)所需的一個 宏塊的所述目標(biāo)圖像數(shù)據(jù),以及使與所述高速緩沖區(qū)相對應(yīng)的所述表區(qū)的所述調(diào)度的存取 計數(shù)器減少“1”。圖像處理器對用于每個幀的圖像數(shù)據(jù)順次地進(jìn)行解碼,以及外部存儲器對由圖像 處理器解碼的先前幀的圖像數(shù)據(jù)進(jìn)行存儲。數(shù)據(jù)請求處理器能夠從圖像處理器接收用于請 求解碼當(dāng)前幀的圖像數(shù)據(jù)所需的先前幀圖像數(shù)據(jù)的數(shù)據(jù)請求,基于通過高速緩沖存儲器從 外部存儲器讀取的目標(biāo)圖像數(shù)據(jù)來處理所述已請求圖像數(shù)據(jù),以及將處理的圖像數(shù)據(jù)輸出 到圖像處理器。數(shù)據(jù)請求處理器能夠包括直接存儲器存取(DMA)控制器,所述直接存儲器存取 (DMA)控制器執(zhí)行在外部存儲器模塊與高速緩沖存儲器之間的圖像數(shù)據(jù)的DMA傳輸。本發(fā)明的另一方面是一種用于上述存儲器存取控制設(shè)備的控制存儲器存取的方 法。所述方法可由數(shù)據(jù)請求處理器來執(zhí)行,所述方法包括以下步驟從圖像處理器接收數(shù)據(jù) 請求,所述數(shù)據(jù)請求包括對已請求圖像數(shù)據(jù)的幀內(nèi)占用區(qū)域的指定,根據(jù)所述已請求圖像 數(shù)據(jù)的幀內(nèi)占用區(qū)域來確定用于處理所述已請求圖像數(shù)據(jù)所需的至少一個宏塊的目標(biāo)圖 像數(shù)據(jù),從高速緩沖存儲器獲取目標(biāo)圖像數(shù)據(jù),使用獲取的目標(biāo)圖像數(shù)據(jù)來處理所述已請 求圖像數(shù)據(jù)并且將所述處理的圖像數(shù)據(jù)輸出到圖像處理器。如果目標(biāo)圖像數(shù)據(jù)沒有被存儲在高速緩沖存儲器中,則選擇所述表區(qū)中具有帶有 “0”值的所述調(diào)度的存取計數(shù)器的一個表區(qū)作為更新表區(qū);確定與所述更新表區(qū)相對應(yīng)的 所述高速緩沖區(qū)是否是所述目標(biāo)圖像數(shù)據(jù)的目的地;輸出讀取請求,所述讀取請求指令將 所述目標(biāo)圖像數(shù)據(jù)從所述外部存儲器傳輸?shù)剿鰧?yīng)高速緩沖區(qū);以及將所述目標(biāo)圖像數(shù) 據(jù)的所述幀內(nèi)地址存儲到所述更新表區(qū)中以及使所述更新表區(qū)的所述調(diào)度的存取計數(shù)器增加“1”。如果目標(biāo)圖像數(shù)據(jù)被存儲在所述高速緩沖存儲器中并且用于所述目標(biāo)圖像數(shù)據(jù) 的所述讀取請求還沒有被輸出,或者如果用于所述目標(biāo)圖像數(shù)據(jù)的所述讀取請求已經(jīng)被輸 出,則使存儲所述目標(biāo)圖像數(shù)據(jù)的所述幀內(nèi)地址的所述表區(qū)的所述調(diào)度的存取計數(shù)器增加 “1”。當(dāng)讀取的圖像數(shù)據(jù)已經(jīng)用于處理所述已請求圖像數(shù)據(jù)時,從所述高速緩沖存儲器 的一個高速緩沖區(qū)中讀取用于處理所述已請求圖像數(shù)據(jù)所需的一個宏塊的所述目標(biāo)圖像 數(shù)據(jù),以及使與所述高速緩沖區(qū)相對應(yīng)的所述表區(qū)的所述調(diào)度的存取計數(shù)器減少“1”。當(dāng)指出對與表區(qū)相對應(yīng)的高速緩沖區(qū)進(jìn)行調(diào)度的存取數(shù)目的調(diào)度的存取計數(shù)器 具有“ 1”或更大值時,所述表區(qū)不被設(shè)定為更新表區(qū)并且與所述表區(qū)相對應(yīng)的高速緩沖區(qū) 的圖像數(shù)據(jù)不被設(shè)定為要被移除的圖像數(shù)據(jù)。因此,可以防止要被輸出到圖像處理器的產(chǎn)生圖像數(shù)據(jù)所需的圖像數(shù)據(jù)被設(shè)定為要被移除的圖像數(shù)據(jù),由此減少讀取請求的產(chǎn)生數(shù) 目。
圖1是示出包括根據(jù)本發(fā)明實施例的存儲器存取控制設(shè)備的運(yùn)動圖像解碼模塊 的構(gòu)造的框圖。圖2示出用于獲得要由運(yùn)動圖像解碼模塊的運(yùn)動圖像解碼器解碼的壓縮數(shù)據(jù)的 壓縮程序中P幀的壓縮編碼處理。圖3示出用于指定實施例中的圖像數(shù)據(jù)的方法。圖4是示出存儲器存取控制設(shè)備的構(gòu)造的框圖。圖5是示出存儲器存取控制設(shè)備的操作的流程圖。
具體實施例方式現(xiàn)在將參照附圖來描述本發(fā)明的實施例。圖1是示出包括根據(jù)本發(fā)明實施例的存儲器存取控制設(shè)備10的運(yùn)動圖像解碼模 塊100的構(gòu)造的框圖。運(yùn)動圖像解碼模塊100通過總線IOlA從主機(jī)CPU(未示出)接收命 令,從連接到總線IOlB的R0M(未示出)中讀取運(yùn)動圖像的壓縮圖像數(shù)據(jù)和壓縮阿爾法數(shù) 據(jù),并對壓縮圖像數(shù)據(jù)和壓縮阿爾法數(shù)據(jù)進(jìn)行解碼,并且將運(yùn)動圖像的解碼圖像數(shù)據(jù)和解 碼阿爾法數(shù)據(jù)存儲在外部存儲器模塊102中,該外部存儲器模塊102包括連接到總線IOlC 的同步動態(tài)隨機(jī)存取存儲器(SDRAM)等。除了運(yùn)動圖像解碼模塊100之外,諸如圖形模塊 的不同模塊連接到總線101C。運(yùn)動圖像解碼模塊100與不同的模塊共享外部存儲器模塊 102。運(yùn)動圖像解碼模塊100中的總線接口(I/F)21A、21B和21C是作為通過總線101A、 IOlB和IOlC進(jìn)行數(shù)據(jù)交換的媒介的接口。主機(jī)接口 22是如下的接口,其通過總線接口 21A接收由連接到總線IOlA的設(shè)備輸出的命令以及將接收到的命令存儲在內(nèi)部命令緩沖 器22A中并且將該命令提供到運(yùn)動圖像解碼模塊100中的每個相關(guān)部分。寄存器群23是 寄存器的群,用于存儲用以控制運(yùn)動圖像解碼模塊100的每個部分的控制信息或者存儲其 每個部分間交換的數(shù)據(jù)。ROM接口 M在其中包括每個均為先進(jìn)先出(FIFO)緩沖器的緩沖器24A和MB。ROM接口 M通過總線接口 21B接收從連接到總線IOlB的ROM(未示出)中 讀取的運(yùn)動圖像的壓縮圖像數(shù)據(jù),以及將壓縮圖像數(shù)據(jù)存儲在緩沖器24A中,并且將所存 儲的壓縮圖像數(shù)據(jù)按時間順序提供到運(yùn)動圖像解碼器25。ROM接口對還通過總線接口 21B 接收從連接到總線IOlB的R0M(未示出)中讀取的運(yùn)動圖像的壓縮圖像數(shù)據(jù),以及將壓縮 圖像數(shù)據(jù)存儲在緩沖器24B中,并且將所存儲的壓縮圖像數(shù)據(jù)按時間順序提供到阿爾法數(shù) 據(jù)解碼器26。運(yùn)動圖像解碼器25是根據(jù)通過總線接口 22接收的解碼處理執(zhí)行命令來對運(yùn)動圖 像的壓縮圖像數(shù)據(jù)執(zhí)行解碼處理的設(shè)備。這里,在執(zhí)行解碼處理之前,通過總線接口 22在 寄存器群23的預(yù)定寄存器中存儲要被解碼的壓縮圖像數(shù)據(jù)的控制信息,例如ROM中的存儲 起始地址。一旦接收到解碼處理執(zhí)行命令,運(yùn)動圖像解碼器25就參照在預(yù)定寄存器中的控 制信息從R0M(未示出)中讀取要被解碼的壓縮圖像數(shù)據(jù),并且對讀取的壓縮圖像數(shù)據(jù)執(zhí)行 解碼處理。在該實施例中,通過下面的壓縮處理,獲得要由運(yùn)動圖像解碼器25解碼的壓縮圖 像數(shù)據(jù)。首先,從運(yùn)動圖像的構(gòu)成幀中選擇要被編碼的獨(dú)立幀(I幀)以及構(gòu)成幀中的剩余 幀被選擇作為預(yù)測幀(P幀),該預(yù)測幀將要經(jīng)受幀間預(yù)測代碼化(coding)。將每個I幀的 圖像數(shù)據(jù)分成16X16像素宏塊,并且隨后根據(jù)預(yù)定的壓縮算法將每個宏塊轉(zhuǎn)換成壓縮圖 像數(shù)據(jù)。與I幀類似地,每個P幀的圖像數(shù)據(jù)也被分成16X16像素的宏塊。每個P幀經(jīng)受 涉及運(yùn)動補(bǔ)償?shù)膸g預(yù)測代碼化處理,以產(chǎn)生壓縮圖像數(shù)據(jù)。更具體來講,在幀間預(yù)測代碼化處理中,如圖2所示,要被編碼的對象P幀之前的P 幀或I幀被選擇作為參考幀。然后,對于要被編碼的P幀的每個宏塊MBX,從選定的參考幀 的圖像數(shù)據(jù)之中,選擇表示與對象宏塊MBx的圖像最相似的圖像的16X16像素區(qū)作為參考 區(qū)域MBx',隨后對對象宏塊MBx的圖像數(shù)據(jù)與參考區(qū)域MBx'的圖像數(shù)據(jù)之間的差進(jìn)行壓 縮。雖然如圖2所示,在大多數(shù)情況下參考區(qū)域MBx'覆蓋了參考幀的四個宏塊MBa、MBb、 MBc和MBd,但是參考區(qū)域MBx'在少數(shù)情況下還可以只覆蓋3個或更少的宏塊。運(yùn)動圖像 解碼器25接收通過這種壓縮處理得到的I幀和P幀的壓縮圖像數(shù)據(jù),并對其進(jìn)行解碼。返回參照圖1,阿爾法數(shù)據(jù)解碼器沈是根據(jù)通過主機(jī)接口 22接收的解碼處理執(zhí) 行命令來對運(yùn)動圖像的壓縮阿爾法數(shù)據(jù)執(zhí)行解碼處理的設(shè)備。這里,在執(zhí)行解碼處理之前, 通過主機(jī)接口 22在寄存器群23的預(yù)定寄存器中存儲要被解碼的壓縮阿爾法數(shù)據(jù)的控制信 息,例如ROM中的存儲起始地址。一旦接收到解碼處理執(zhí)行命令,阿爾法數(shù)據(jù)解碼器沈參 照預(yù)定寄存器中的控制信息,從R0M(未示出)中讀取要被解碼的壓縮阿爾法數(shù)據(jù),并且對 讀取的壓縮阿爾法數(shù)據(jù)執(zhí)行解碼處理。外部存儲器接口 27是作為外部存儲器模塊102與運(yùn)動圖像解碼器25和阿爾法數(shù) 據(jù)解碼器26中的每個之間進(jìn)行數(shù)據(jù)交換的媒介的接口。在該實施例中,將外部存儲器模塊 102的特定存儲區(qū)用作幀緩沖器,該幀緩沖器存儲由運(yùn)動圖像解碼器25解碼的圖像數(shù)據(jù)。 外部存儲器接口 27包括直接存儲器存取(DMA)控制器(DMAC),其實現(xiàn)隨后描述的外部存儲 器模塊102與高速緩沖存儲器11之間的DMA傳輸。下面是對P幀解碼處理的描述,該P(yáng)幀解碼處理是在由運(yùn)動圖像解碼器25執(zhí)行的 解碼處理期間使用外部存儲器模塊102執(zhí)行的。與I幀解碼處理相類似,以16 X 16像素宏 塊為單元執(zhí)行P幀解碼處理。然后,參照參考幀中的參考區(qū)域的圖像數(shù)據(jù)對P幀進(jìn)行解碼。
運(yùn)動圖像解碼模塊100中包括的存儲器存取控制設(shè)備10包括高速緩沖存儲器11 和高速緩沖控制器12,其作為用于向執(zhí)行P幀解碼處理的運(yùn)動圖像解碼器25提供參考區(qū)域 圖像數(shù)據(jù)的裝置。當(dāng)運(yùn)動圖像解碼器25對P幀的一個宏塊的壓縮數(shù)據(jù)執(zhí)行解碼時,運(yùn)動圖像解碼器 25向高速緩沖控制器12傳輸數(shù)據(jù)請求,所述數(shù)據(jù)請求包括對解碼所需的參考幀中參考區(qū) 域地址的指定。在該實施例中,幀中的每個像素由像素地址X和像素地址Y這兩者來指定, 所述像素地址X指出水平方向上像素的序數(shù),所述像素地址Y指出垂直方向上像素的序數(shù)。運(yùn)動圖像解碼器25使用具有低分辨率的塊地址而非像素地址作為指定參考區(qū)域 的地址。具體來講,在該實施例中,運(yùn)動圖像解碼器25使用塊地址XB和塊地址TO作為用 于指定參考區(qū)域的地址,該塊地址XB是通過移除像素地址X的最低有效位得到的,而該塊 地址YB是通過移除像素地址Y的兩個最低有效位得到的。如圖3所示,塊地址XB和TO是 指出當(dāng)將幀的像素分成每個包括4個水平像素和2個垂直像素的塊時對應(yīng)塊的水平位置和 垂直位置的地址。在該實施例中,為了在P幀解碼處理中獲取參考區(qū)域的圖像數(shù)據(jù),運(yùn)動圖 像解碼器25向高速緩沖控制器12輸出數(shù)據(jù)請求,該數(shù)據(jù)請求包括參考區(qū)域的左上角的塊 地址XB和YB、參考區(qū)域中水平方向上的塊數(shù)目和參考區(qū)域垂直方向上的塊數(shù)目。圖4是示出高速緩沖控制器12的構(gòu)造的框圖,該高速緩沖控制器12構(gòu)建(S卩,處 理)參考區(qū)域的圖像數(shù)據(jù),并將參考區(qū)域的圖像數(shù)據(jù)提供到運(yùn)動圖像解碼器25,作為根據(jù) 這種數(shù)據(jù)請求的已請求圖像數(shù)據(jù)。在圖4中,為了更好地理解高速緩沖控制器12的功能, 還示出了高速緩沖存儲器11。在該實施例中,高速緩沖存儲器11包括N個(例如,256個)高速緩沖區(qū)CA (k) (k =0至N-1),每個高速緩沖區(qū)能夠存儲一個宏塊的圖像數(shù)據(jù)。從外部存儲器模塊102的幀 緩沖區(qū)讀取的一個宏塊的圖像數(shù)據(jù)被存儲在高速緩沖區(qū)CA(k) (k = 0至N-1)的每個中。每次從運(yùn)動圖像解碼器25接收到數(shù)據(jù)請求,高速緩沖控制器12的數(shù)據(jù)請求處理 器121就產(chǎn)生輸出任務(wù)。該輸出任務(wù)是如下的任務(wù)從高速緩沖存儲器11中獲取包括由數(shù) 據(jù)請求指定的參考區(qū)域的1至4個宏塊的圖像數(shù)據(jù);以及,從獲取的圖像數(shù)據(jù)產(chǎn)生參考區(qū)域 的圖像數(shù)據(jù)并且將產(chǎn)生的圖像數(shù)據(jù)輸出到運(yùn)動圖像解碼器25。當(dāng)包括由數(shù)據(jù)請求指定的參 考區(qū)域的1至4個宏塊的圖像數(shù)據(jù)沒有被存儲在高速緩沖存儲器11中時,暫停執(zhí)行輸出任 務(wù)。在先前輸出任務(wù)是將參考區(qū)域的圖像數(shù)據(jù)輸出到運(yùn)動圖像解碼器25的時間段期間,也 暫停執(zhí)行輸出任務(wù)。另一方面,為了使數(shù)據(jù)請求處理器121產(chǎn)生輸出任務(wù),數(shù)據(jù)請求處理器121確定輸 出任務(wù)所需要的目標(biāo)圖像數(shù)據(jù),以產(chǎn)生參考區(qū)域的圖像數(shù)據(jù),即,覆蓋參考區(qū)域的1至4個 宏塊的圖像數(shù)據(jù)。當(dāng)目標(biāo)圖像數(shù)據(jù)中的一個沒有被存儲在高速緩沖存儲器11中時,數(shù)據(jù)請 求處理器121將用于讀取目標(biāo)圖像數(shù)據(jù)的請求傳輸?shù)酵獠看鎯ζ髂K102,使得目標(biāo)圖像 數(shù)據(jù)從外部存儲器模塊102傳輸?shù)礁咚倬彌_存儲器11的高速緩沖區(qū)CA (k) (k = 0至N-1) 中的一個。即,當(dāng)高速緩沖存儲器11中存儲的數(shù)據(jù)丟失了由輸出任務(wù)所需的一些目標(biāo)數(shù)據(jù) 時,執(zhí)行高速緩沖控制來補(bǔ)償丟失的數(shù)據(jù),從而能夠以此方式執(zhí)行輸出任務(wù)。在該實施例中,在高速緩沖控制器12中提供高速緩沖表122,以允許數(shù)據(jù)請求處 理器121平滑地執(zhí)行這樣的高速緩沖控制。高速緩沖表122包含與高速緩沖存儲器11的 高速緩沖區(qū)CA(k) (k = 0至N-1)相關(guān)聯(lián)的N個表區(qū)TA(k) (k = 0至N-1)。這里,調(diào)度的存取計數(shù)器ACC (k)、有效標(biāo)志VALID (k)和幀內(nèi)地址XB (k)和TO (k)存儲在一個表區(qū)TA (k) 中。幀內(nèi)地址XB(k)和是高速緩沖區(qū)CA(k)中當(dāng)前存儲的宏塊的圖像數(shù)據(jù)的左上角 或者要從外部存儲器模塊102讀取并隨后存儲在高速緩沖區(qū)CA(k)中的宏塊的圖像數(shù)據(jù)的 左上角的塊地址XB和YB。有效標(biāo)志VALID(k)是指出高速緩沖區(qū)CA(k)中存儲的圖像數(shù) 據(jù)是有效還是無效的標(biāo)志,并且當(dāng)所存儲的圖像數(shù)據(jù)有效時VALID(k)為1,而當(dāng)所存儲的 圖像數(shù)據(jù)無效時VALID(k)為0。換句話說,有效標(biāo)志指出圖像數(shù)據(jù)能夠從對應(yīng)的高速緩沖 區(qū)得到或不能從對應(yīng)的高速緩沖區(qū)得到。調(diào)度的存取計數(shù)器ACC(k)是對需要由幀內(nèi)地址 XB (k)和指定的目標(biāo)圖像數(shù)據(jù)的輸出任務(wù)的數(shù)目(即,對高速緩沖區(qū)CA(k)進(jìn)行調(diào)度 的存取的數(shù)目)進(jìn)行計數(shù)的計數(shù)器。當(dāng)數(shù)據(jù)請求處理器121產(chǎn)生每個輸出任務(wù)時,數(shù)據(jù)請求處理器121針對每個產(chǎn)生 的輸出任務(wù),基于高速緩沖表122的內(nèi)容來監(jiān)視高速緩沖存儲器11中存儲的數(shù)據(jù)。當(dāng)用于 產(chǎn)生參考區(qū)域的圖像數(shù)據(jù)的輸出任務(wù)所需的目標(biāo)圖像數(shù)據(jù)被存儲在高速緩沖存儲器11中 時,數(shù)據(jù)請求處理器121從高速緩沖存儲器11中獲取目標(biāo)圖像數(shù)據(jù)。當(dāng)用于產(chǎn)生參考區(qū)域 的圖像數(shù)據(jù)的輸出任務(wù)所需的目標(biāo)圖像數(shù)據(jù)沒有被存儲在高速緩沖存儲器11中時,數(shù)據(jù) 請求處理器121在等待直到目標(biāo)圖像數(shù)據(jù)被存儲在高速緩沖存儲器11為止之后,從高速緩 沖存儲器11中獲取所需的目標(biāo)圖像數(shù)據(jù)。然后,數(shù)據(jù)請求處理器121使用獲取的圖像數(shù)據(jù) 來構(gòu)建參考區(qū)域的已請求圖像數(shù)據(jù)。如下描述使用高速緩沖表122執(zhí)行的數(shù)據(jù)請求處理器121的高速緩沖控制的詳 情。首先,每次運(yùn)動圖像解碼器25的對象幀被切換時,數(shù)據(jù)請求處理器121將高速緩沖表 122的內(nèi)容初始化。具體來講,數(shù)據(jù)請求處理器121將所有的調(diào)度的存取計數(shù)器ACC(k) (k =0至N-1)設(shè)定為0,將所有的有效標(biāo)志VALID(k) & = 0至^1)設(shè)定為指出無效性的0, 并且將所有的幀內(nèi)地址XB (k) (k = 0至N-1)和TO (k) (k = 0至N-1)設(shè)定為0。然后,每次 從運(yùn)動圖像解碼器25提供數(shù)據(jù)請求時,數(shù)據(jù)請求處理器121利用包括由數(shù)據(jù)請求指定的參 考區(qū)域的1至4個宏塊的圖像數(shù)據(jù)(作為目標(biāo)圖像數(shù)據(jù))來產(chǎn)生數(shù)據(jù)任務(wù)。數(shù)據(jù)請求處理 器121對每個目標(biāo)圖像數(shù)據(jù)執(zhí)行下面的處理。< 處理 1>當(dāng)存在針對目標(biāo)圖像數(shù)據(jù)輸出讀取請求的需求時,數(shù)據(jù)請求處理器121在表區(qū) TA(k) (k = 0至N-1)中選擇更新表區(qū),對選定的更新表區(qū)進(jìn)行更新,并且輸出目標(biāo)圖像數(shù)據(jù) 的讀取請求。下面是該過程的細(xì)節(jié)。首先,數(shù)據(jù)請求處理器121確定目標(biāo)圖像數(shù)據(jù)是否被存儲高速緩沖存儲器11中以 及用于讀取目標(biāo)圖像數(shù)據(jù)的請求是否已經(jīng)被輸出。具體來講,數(shù)據(jù)請求處理器121確定下 面的條件是否都得以滿足。條件al-Ι 不存在下述表區(qū)TA(k),該表區(qū)TA(k)存儲(1)是目標(biāo)圖像數(shù)據(jù)所屬宏 塊的左上角的并且作為幀內(nèi)地址XB(k)和的塊地址XB和TO以及⑵為“1”的有效 標(biāo)志VALID (k)這兩者。條件al-2 不存在下述表區(qū)TA(k),該表區(qū)TA(k)存儲(1)是目標(biāo)圖像數(shù)據(jù)所屬宏 塊的左上角的并且作為幀內(nèi)地址XB(k)和的塊地址XB和TO以及⑵具有為“1”或 更大的值的調(diào)度的存取計數(shù)器ACC (k)這兩者。當(dāng)條件al-Ι和al-2都滿足了時,數(shù)據(jù)請求處理器121從表區(qū)TA (k) (k = 0至N_l)中選擇更新表區(qū)。具體來講,數(shù)據(jù)請求處理器121遞增索引k,直到找到調(diào)度的存取計數(shù)器 ACC(k)為“0”的表區(qū)TA(k)為止,并且當(dāng)找到這種表區(qū)TA(k)時,確定該表區(qū)TA(k)是更新 表區(qū)。數(shù)據(jù)請求處理器121確定與更新表區(qū)相對應(yīng)的高速緩沖區(qū)的圖像數(shù)據(jù)是要被移除的 圖像數(shù)據(jù)。在索引k達(dá)到“N-1”之后,數(shù)據(jù)請求處理器121將索引k重置至“0”。即,數(shù)據(jù) 請求處理器121順序地并循環(huán)地選擇表區(qū)TA(k) (k = 0至N-1)中的每個作為更新表區(qū)。然后,數(shù)據(jù)請求處理器121將目標(biāo)圖像數(shù)據(jù)的左上角的塊地址XB和TO作為幀內(nèi) 地址XB(k)和存儲在更新表區(qū)TA(k)中,以及還將指出無效性的為“0”無效標(biāo)志 VALID (k)存儲在更新表區(qū)TA(k)中并且使調(diào)度的存取計數(shù)器ACC(k)的值加1。然后,數(shù)據(jù)請求處理器121產(chǎn)生讀取請求,該讀取請求包括目標(biāo)圖像數(shù)據(jù)的幀內(nèi) 地址XB(k)和YB(k),并且指定與表區(qū)TA(k)相對應(yīng)的高速緩沖區(qū)CA(k)作為目標(biāo)圖像數(shù)據(jù) 的目的地,并且然后通過外部存儲器接口 27和總線接口 21C將所產(chǎn)生的讀取請求傳輸?shù)酵?部存儲器模塊102。〈處理2>雖然目標(biāo)圖像數(shù)據(jù)還沒有被存儲在高速緩沖存儲器11中,但是當(dāng)用于讀取目標(biāo) 圖像數(shù)據(jù)的請求已經(jīng)輸出到外部存儲器模塊102時,數(shù)據(jù)請求處理器121將與目標(biāo)圖像數(shù) 據(jù)相對應(yīng)的調(diào)度的存取計數(shù)器ACC (k)增加1。更具體來講,當(dāng)表區(qū)TA (k) (k = 0至N-1)包 括存儲有具有“ 1,,或更大值的調(diào)度的存取計數(shù)器ACC (k)、指出無效性的為“0”的有效標(biāo)志 VALID (k)和目標(biāo)圖像數(shù)據(jù)的幀內(nèi)地址XB (k) ^P YB (k) (k = 0至N-1)的表區(qū)TA (k)時,數(shù)據(jù) 請求處理器121將表區(qū)TA (k)中的調(diào)度的存取計數(shù)器ACC (k)增加1。< 處理 3>當(dāng)目標(biāo)圖像數(shù)據(jù)被存儲在高速緩沖存儲器11中時,數(shù)據(jù)請求處理器121將與目 標(biāo)圖像數(shù)據(jù)對應(yīng)的調(diào)度的存取計數(shù)器ACC (k)增加1。更具體來講,當(dāng)表區(qū)TA (k) (k = 0至 N-1)包括存儲有具有指出有效性的為“1”的有效標(biāo)志VALID (k)和目標(biāo)圖像數(shù)據(jù)的幀內(nèi)地 址XB(k)和(k = 0至N-1)的表區(qū)TA (k)時,數(shù)據(jù)請求處理器121將表區(qū)TA (k)中的 調(diào)度的存取計數(shù)器ACC (k)增加1。數(shù)據(jù)請求處理器121還執(zhí)行下面的處理。< 處理 4>當(dāng)宏塊的圖像數(shù)據(jù)根據(jù)輸出的讀取請求而被從外部存儲器模塊102中讀取并且 然后被存儲在讀取請求中指定的高速緩沖區(qū)CA(k)中時,數(shù)據(jù)請求處理器121存儲與高速 緩沖區(qū)CA(k)相關(guān)的表區(qū)TA(k)的有效標(biāo)志VALID(k)或者將與高速緩沖區(qū)CA(k)相關(guān)的 表區(qū)TA(k)的有效標(biāo)志VALID(k)設(shè)定為指出有效性的“1”。< 處理 5>當(dāng)輸出任務(wù)已從高速緩沖區(qū)CA (k) (k = 0至N-1)之中的一個高速緩沖區(qū)(例如, 高速緩沖區(qū)CA(kl))讀取目標(biāo)圖像數(shù)據(jù)并且隨后使用讀取的目標(biāo)圖像數(shù)據(jù)來產(chǎn)生參考區(qū) 域的已請求圖像數(shù)據(jù)時,數(shù)據(jù)請求處理器121將與高速緩沖區(qū)CA(kl)對應(yīng)的表區(qū)TA(kl) 的調(diào)度的存取計數(shù)器ACC (kl)減少“1”。以下參照圖5進(jìn)一步描述由數(shù)據(jù)請求處理器121執(zhí)行的處理的詳情。圖5中的過 程執(zhí)行每次要解碼的幀被切換時從開始到結(jié)束的流程。在開始之后,步驟Sl將高速緩沖表 122的內(nèi)容初始化。具體來講,數(shù)據(jù)請求處理器121將所有的調(diào)度的存取計數(shù)器ACC(k) (k=0至N-1)設(shè)定為0,將所有的有效標(biāo)志VALID(k) & = 0至^1)設(shè)定為指出無效性的0, 并且將所有的幀內(nèi)地址XB (k) (k = 0至N-1)和TO (k) (k = 0至N-1)設(shè)定為0。然后,步驟S2監(jiān)視在數(shù)據(jù)請求處理器121中發(fā)生的特定觸發(fā)Tl、T2和T3。觸發(fā) Tl是來自運(yùn)動圖像解碼器25的數(shù)據(jù)請求。觸發(fā)T2是從外部存儲器模塊102讀取的數(shù)據(jù)。 觸發(fā)T3是到運(yùn)動圖像解碼器25的數(shù)據(jù)的輸出任務(wù)。當(dāng)發(fā)生觸發(fā)Tl時,執(zhí)行步驟S3至步驟S8的處理。首先,步驟S3確定在高速緩沖 存儲器11中是否存在從運(yùn)動圖像解碼器25請求的目標(biāo)圖像數(shù)據(jù)。如果高速緩沖11中不 存在目標(biāo)圖像數(shù)據(jù),則流程前進(jìn)至步驟S4,以確定是否已發(fā)出對于外部存儲器模塊102的 目標(biāo)圖像數(shù)據(jù)的讀取請求。S卩,在步驟S3和S4中,數(shù)據(jù)請求處理器121確定目標(biāo)圖像數(shù)據(jù)是否沒有被存儲在 高速緩沖存儲器11中以及是否已經(jīng)輸出了用于讀取目標(biāo)圖像數(shù)據(jù)的請求。具體來講,數(shù)據(jù) 請求處理器121確定是否下面的條件都得以滿足。條件al-Ι 不存在下述表區(qū)TA (k)該表區(qū)TA(k)存儲(1)目標(biāo)圖像數(shù)據(jù)所屬宏塊 的左上角的并且作為幀內(nèi)地址XB(k)和的塊地址XB和TO以及⑵為“1”的有效標(biāo) 志VALID (k)這兩者。條件al-2 不存在下述表區(qū)TA (k)該表區(qū)TA(k)存儲(1)目標(biāo)圖像數(shù)據(jù)所屬宏塊 的左上角的并且作為幀內(nèi)地址XB(k)和的塊地址XB和TO以及⑵具有“1”或更大 值的調(diào)度的存取計數(shù)器ACC (k)這兩者。當(dāng)條件al-Ι和al-2都滿足了時,流程前進(jìn)至用于執(zhí)行上述處理5的步驟S5。艮口, 數(shù)據(jù)請求處理器121從表區(qū)TA(k) (k = 0至N-1)中選擇更新表區(qū)。具體來講,數(shù)據(jù)請求處 理器121使索引k遞增,直到找到了調(diào)度的存取計數(shù)器ACC(k)為“0”的表區(qū)TA(k)為止, 并且當(dāng)找到這種表區(qū)TA(k)時,確定該表區(qū)TA(k)是更新表區(qū)。數(shù)據(jù)請求處理器121確定 與更新表區(qū)相對應(yīng)的高速緩沖區(qū)的圖像數(shù)據(jù)是要被移除的圖像數(shù)據(jù)。在索引k達(dá)到“N-1” 之后,數(shù)據(jù)請求處理器121將索引k重置至“0”。即,數(shù)據(jù)請求處理器121順序地并循環(huán)地 選擇表區(qū)TA (k) (k = 0至N-1)中的每個作為更新表區(qū)。然后,數(shù)據(jù)請求處理器121將目標(biāo)圖像數(shù)據(jù)左上角的塊地址XB和TO作為幀內(nèi) 地址XB(k)和存儲在更新表區(qū)TA(k)中,以及還將指出無效性的為“0”有效標(biāo)志 VALID(k)存儲在更新表區(qū)TA(k)中并且將調(diào)度的存取計數(shù)器ACC(k)的值增加1。然后,數(shù)據(jù)請求處理器121產(chǎn)生讀取請求,該讀取請求包括目標(biāo)圖像數(shù)據(jù)的幀內(nèi) 地址XB(k)和YB(k),并且指定與表區(qū)TA(k)相對應(yīng)的高速緩沖區(qū)CA(k)作為目標(biāo)圖像數(shù)據(jù) 的目的地,并且然后通過外部存儲器接口 27和總線接口 21C將所產(chǎn)生的讀取請求傳輸?shù)酵?部存儲器模塊102。此后,流程前進(jìn)至步驟S6,以確定當(dāng)前幀的數(shù)據(jù)處理是否已經(jīng)完成。當(dāng)一幀的數(shù)據(jù) 處理還沒有完成時,流程返回到用于連續(xù)地監(jiān)視特定觸發(fā)的步驟S2。在對于外部存儲器模塊102的目標(biāo)圖像數(shù)據(jù)請求已經(jīng)被輸出之后并且在從運(yùn)動 圖像解碼器25請求的目標(biāo)圖像數(shù)據(jù)還沒有被高速緩沖到高速緩沖存儲器11中之前,可以 出現(xiàn)請求相同目標(biāo)圖像數(shù)據(jù)的另一個觸發(fā)Tl。在這種情況下,流程沒有前進(jìn)至步驟S5,而 是分支到步驟S7,以便執(zhí)行上述處理2。即,盡管目標(biāo)圖像數(shù)據(jù)還沒有存儲在高速緩沖存儲 器11中,但是當(dāng)用于讀取目標(biāo)圖像數(shù)據(jù)的請求已經(jīng)輸出到外部存儲器模塊102時,數(shù)據(jù)請求處理器121將與目標(biāo)圖像數(shù)據(jù)相對應(yīng)的調(diào)度的存取計數(shù)器ACC(k)加1。更具體來講,當(dāng) 表區(qū)TA(k) (k = 0至N-1)包括存儲有具有“1”或更大值的調(diào)度的存取計數(shù)器 出無效性的為“0”的有效標(biāo)志VALID(k)以及目標(biāo)圖像數(shù)據(jù)的幀內(nèi)地址XB(k)和(k =0至N-1)的表區(qū)TA(k)時,數(shù)據(jù)請求處理器121將該表區(qū)TA(k)中的調(diào)度的存取計數(shù)器 ACC(k)增加1。此后,流程前進(jìn)至步驟S6,以確定當(dāng)前幀的數(shù)據(jù)處理是否已完成。當(dāng)一幀的 數(shù)據(jù)處理還沒有完成時,流程返回到用于連續(xù)監(jiān)視特定觸發(fā)的步驟S2。然后,例如,在步驟S2中發(fā)生觸發(fā)T2,并且流程從步驟S2前進(jìn)至步驟S9(其中執(zhí) 行了上述的處理4)。即,當(dāng)宏塊的圖像數(shù)據(jù)根據(jù)輸出的讀取請求而被從外部存儲器模塊 102中讀取并且隨后被存儲在讀取請求中指定的高速緩沖區(qū)CA(k)中時,數(shù)據(jù)請求處理器 121存儲與高速緩沖區(qū)CA(k)相關(guān)的表區(qū)TA(k)的有效標(biāo)志VALID (k),或者將與高速緩沖 區(qū)CA(k)相關(guān)的表區(qū)TA(k)的有效標(biāo)志VALID(k)設(shè)定為指出有效性的“ 1”。此后,流程前 進(jìn)至步驟S6,以確定當(dāng)前幀的數(shù)據(jù)處理是否已完成。當(dāng)一幀的數(shù)據(jù)處理還沒有完成時,流程 返回至用于連續(xù)監(jiān)視特定觸發(fā)的步驟S2。然后,在針對高速緩沖存儲器中已存儲的圖像數(shù)據(jù)發(fā)生觸發(fā)Tl的情況下,流程從 步驟S3前進(jìn)至步驟S8,以便執(zhí)行上述的處理3。即,當(dāng)目標(biāo)圖像數(shù)據(jù)被存儲在高速緩沖存 儲器11中時,數(shù)據(jù)請求處理器121將與目標(biāo)圖像數(shù)據(jù)相對應(yīng)的調(diào)度的存取計數(shù)器ACC(k) 增加1。更具體來講,當(dāng)表區(qū)TA(k)(k = 0至N-1)包括存儲有具有指出有效性的“1”值的 有效標(biāo)志VALID (k)以及目標(biāo)圖像數(shù)據(jù)的幀內(nèi)地址XB (k)和TO (k) (k = 0至N-1)的表區(qū) TA (k)時,數(shù)據(jù)請求處理器121將表區(qū)TA (k)中的調(diào)度的存取計數(shù)器ACC (k)增加1。此后, 流程前進(jìn)至步驟S6,以確定當(dāng)前幀的數(shù)據(jù)處理是否完成。當(dāng)一幀的數(shù)據(jù)處理還沒完成時,流 程返回到用于連續(xù)監(jiān)視特定觸發(fā)的步驟S2。然后,例如,發(fā)生觸發(fā)T2,并且流程從步驟S2前進(jìn)至步驟SlO (其中執(zhí)行了上述的 處理5)。即,當(dāng)輸出任務(wù)已從高速緩沖區(qū)CA(k) (k = 0至N-1)之中的一個高速緩沖區(qū)(例 如,高速緩沖區(qū)CA(kl))讀取了目標(biāo)圖像數(shù)據(jù)并且隨后使用讀取的目標(biāo)圖像數(shù)據(jù)來產(chǎn)生參 考區(qū)域的已請求圖像數(shù)據(jù)時,數(shù)據(jù)請求處理器121將與高速緩沖區(qū)CA(kl)相對應(yīng)的表區(qū) TA (kl)的調(diào)度的存取計數(shù)器ACC (kl)減少1。通過重復(fù)這樣的輸出任務(wù),步驟S6最終確定 一幀的處理已完成,由此流程結(jié)束。開始針對下一幀進(jìn)行圖5中的另一個流程。在該實施例中,當(dāng)其中與表區(qū)TA(k)相對應(yīng)的高速緩沖區(qū)CA(k)中的圖像數(shù)據(jù)被 設(shè)定為目標(biāo)圖像數(shù)據(jù)的輸出任務(wù)被激活并且指出對高速緩沖區(qū)CA(k)的預(yù)先安排存取數(shù) 目的調(diào)度的存取計數(shù)器ACC (k)的值為1或更大時,表區(qū)TA (k)沒有被設(shè)定為更新表區(qū)并且 與表區(qū)TA(k)相對應(yīng)的高速緩沖區(qū)CA(k)的圖像數(shù)據(jù)沒有被設(shè)定為要移除的圖像數(shù)據(jù)。因 此,可以防止移除由激活的輸出任務(wù)所需的圖像數(shù)據(jù),減少了產(chǎn)生的讀取請求的數(shù)目,防止 了阻礙另一個模塊對外部存儲器模塊102的存取,由此提高了系統(tǒng)效率。此外,當(dāng)目標(biāo)圖像 數(shù)據(jù)的幀內(nèi)地址XB(k)和以及指出有效性的有效標(biāo)志VALID(k)被存儲在高速緩沖 表122中時,沒有輸出用于讀取目標(biāo)圖像數(shù)據(jù)的請求。因此,可以避免產(chǎn)生冗余的讀取請 求,由此實現(xiàn)有效率的圖像數(shù)據(jù)提供。另外,在該實施例中,即使當(dāng)指出目標(biāo)圖像數(shù)據(jù)無效 性的有效標(biāo)志VALID (k)被存儲在高速緩沖表122中的表區(qū)TA (k)中時,如果表區(qū)TA (k)的 調(diào)度的存取計數(shù)器ACC (k)為“1”或更大,則不輸出用于讀取目標(biāo)圖像數(shù)據(jù)的請求。即,當(dāng) 正從外部存儲器模塊102讀取目標(biāo)圖像數(shù)據(jù)時,不輸出用于讀取目標(biāo)圖像數(shù)據(jù)的請求。因此,可以更可靠地防止冗余的讀取請求。另外,在該實施例中,由于外部存儲器模塊102中的圖像數(shù)據(jù)以宏塊為單元傳輸 到高速緩沖存儲器11,因此可以增大當(dāng)運(yùn)動圖像解碼器25已經(jīng)輸出數(shù)據(jù)請求時用于獲取 由數(shù)據(jù)請求所所述已請求圖像數(shù)據(jù)的目標(biāo)圖像數(shù)據(jù)被存儲在高速緩沖存儲器11中的概率 (即,高速緩沖命中率),并且還可以減少外部存儲器模塊102與高速緩沖存儲器11之間的 數(shù)據(jù)傳輸?shù)臄?shù)目,由此提高了系統(tǒng)效率。<其他實施例>盡管以上已經(jīng)描述了本發(fā)明的實施例,但是在本發(fā)明中也可以存在各種其他實施 例。以下是實例。(1)在以上實施例中,存儲器存取控制設(shè)備10用作向運(yùn)動圖像解碼器25提供圖像 數(shù)據(jù)的裝置。然而,存儲器存取控制設(shè)備10還可以用作從運(yùn)動圖像解碼器向不同類型的圖 像處理器(例如,向運(yùn)動圖像編碼器)提供圖像數(shù)據(jù)的裝置。(2)會存在如下需要作為對多個目標(biāo)圖像數(shù)據(jù)執(zhí)行的處理1的結(jié)果,讀取多個宏 塊的圖像數(shù)據(jù),同時需要被讀取的多個宏塊的圖像數(shù)據(jù)也被存儲在外部存儲器模塊102中 的連續(xù)地址的區(qū)域中,使得連續(xù)讀取圖像數(shù)據(jù)是可能的。在這種情況下,數(shù)據(jù)請求處理器 121可以被構(gòu)造為指令外部存儲器接口 27執(zhí)行從外部存儲器模塊102到高速緩沖存儲器 11的、能夠被連續(xù)讀取的多個宏塊的圖像數(shù)據(jù)的DMA傳輸。例如,假設(shè)當(dāng)運(yùn)動圖像解碼器 25對圖2所示的宏塊MBx的壓縮圖像數(shù)據(jù)執(zhí)行解碼時,作為目標(biāo)圖像數(shù)據(jù)的宏塊MBa、MBb、 MBc和MBd之中的宏塊MBc和MBd的圖像數(shù)據(jù)沒有被存儲在高速緩沖存儲器11中,并因此 需要從外部存儲器模塊102中讀取宏塊MBc和MBd的圖像數(shù)據(jù)。這里,當(dāng)宏塊MBc的圖像 數(shù)據(jù)和宏塊MBd的圖像數(shù)據(jù)被存儲在外部存儲器模塊102中的連續(xù)地址的區(qū)域中時,數(shù)據(jù) 請求處理器121指令外部存儲器接口 27執(zhí)行宏塊MBc和MBd的圖像數(shù)據(jù)的DMA傳輸。以 此方式,可以進(jìn)一步減少產(chǎn)生的讀取請求和DMA傳輸?shù)臄?shù)目,由此提高系統(tǒng)效率。
權(quán)利要求
1.一種存儲器存取控制設(shè)備,所述存儲器存取控制設(shè)備可連接到存儲圖像數(shù)據(jù)的外部 存儲器并且用于處理由圖像處理器請求的圖像數(shù)據(jù),所述存儲器存取控制設(shè)備包括高速緩沖存儲器,所述高速緩沖存儲器具有多個高速緩沖區(qū),每個高速緩沖區(qū)用于存 儲一個宏塊的圖像數(shù)據(jù),其中多個預(yù)定數(shù)目的宏塊構(gòu)成一幀;以及高速緩沖控制器,所述高速緩沖控制器具有高速緩沖表和數(shù)據(jù)請求處理器, 其中,所述高速緩沖表具有與所述多個高速緩沖區(qū)相對應(yīng)的多個表區(qū),每個表區(qū)用于 至少存儲調(diào)度的存取計數(shù)器,所述調(diào)度的存取計數(shù)器將針對對應(yīng)高速緩沖區(qū)的調(diào)度的存取 數(shù)目以及針對在所述對應(yīng)高速緩沖區(qū)中存儲的一個宏塊的圖像數(shù)據(jù)的幀內(nèi)地址的調(diào)度的 存取數(shù)目進(jìn)行計數(shù),其中,所述數(shù)據(jù)請求處理器被編程為從所述圖像處理器接收數(shù)據(jù)請求,所述數(shù)據(jù)請求包括對已請求圖像數(shù)據(jù)的幀內(nèi)占用區(qū) 域的指定;根據(jù)所述已請求圖像數(shù)據(jù)的所述幀內(nèi)占用區(qū)域來確定用于處理所述已請求圖像數(shù)據(jù) 所需的至少一個宏塊的目標(biāo)圖像數(shù)據(jù);從所述高速緩沖存儲器獲取所述目標(biāo)圖像數(shù)據(jù);以及使用所獲取的圖像數(shù)據(jù)來處理所述已請求圖像數(shù)據(jù),以及將已處理的圖像數(shù)據(jù)輸出到 所述圖像處理器,其中,如果所述目標(biāo)圖像數(shù)據(jù)沒有被存儲在所述高速緩沖存儲器中,則所述數(shù)據(jù)請求 處理器被編程為選擇所述表區(qū)中具有帶有“0”值的所述調(diào)度的存取計數(shù)器的一個表區(qū)作為更新表區(qū); 確定與所述更新表區(qū)相對應(yīng)的所述高速緩沖區(qū)是否是所述目標(biāo)圖像數(shù)據(jù)的目的地; 輸出讀取請求,所述讀取請求指令將所述目標(biāo)圖像數(shù)據(jù)從所述外部存儲器傳輸?shù)剿?對應(yīng)高速緩沖區(qū);以及將所述目標(biāo)圖像數(shù)據(jù)的所述幀內(nèi)地址存儲到所述更新表區(qū)中以及使所述更新表區(qū)的 所述調(diào)度的存取計數(shù)器增加1,其中,如果目標(biāo)圖像數(shù)據(jù)被存儲在所述高速緩沖區(qū)中并且用于所述目標(biāo)圖像數(shù)據(jù)的所 述讀取請求還沒有被輸出,或者如果用于所述目標(biāo)圖像數(shù)據(jù)的所述讀取請求已經(jīng)被輸出, 則所述數(shù)據(jù)請求處理器進(jìn)一步被編程為使存儲所述目標(biāo)圖像數(shù)據(jù)的所述幀內(nèi)地址的所述 表區(qū)的所述調(diào)度的存取計數(shù)器增加1,以及其中,所述數(shù)據(jù)請求處理器被編程為當(dāng)已讀取的圖像數(shù)據(jù)已經(jīng)用于處理所述已請求 圖像數(shù)據(jù)時,從所述高速緩沖存儲器中的一個高速緩沖區(qū)讀取用于處理所述已請求圖像數(shù) 據(jù)所需的一個宏塊的所述目標(biāo)圖像數(shù)據(jù),以及使與所述高速緩沖區(qū)相對應(yīng)的所述表區(qū)的所 述調(diào)度的存取計數(shù)器減少1。
2.根據(jù)權(quán)利要求1所述的存儲器存取控制設(shè)備,其中所述多個表區(qū)中的每個進(jìn)一步存儲指出所述對應(yīng)高速緩沖區(qū)中圖像數(shù)據(jù)的有效性的 有效性標(biāo)志或指出所述對應(yīng)高速緩沖區(qū)中圖像數(shù)據(jù)的無效性的無效性標(biāo)志,以及所述數(shù)據(jù)請求處理器被編程為當(dāng)所述目標(biāo)圖像數(shù)據(jù)已經(jīng)從所述外部存儲器讀取并且 被存儲在所述對應(yīng)高速緩沖區(qū)中時,選擇沒有存儲所述有效性標(biāo)志的所述更新表以及將所 述有效性標(biāo)志存儲在所述更新表區(qū)中。
3.根據(jù)權(quán)利要求1所述的存儲器存取控制設(shè)備,其中,所述數(shù)據(jù)請求處理器包括直接 存儲器存取DMA控制器,所述直接存儲器存取控制器實現(xiàn)在所述外部存儲器模塊與所述高 速緩沖存儲器之間的所述目標(biāo)圖像數(shù)據(jù)的DMA傳輸。
4.根據(jù)權(quán)利要求1所述的存儲器存取控制設(shè)備,其中所述圖像處理器對每個幀的圖像數(shù)據(jù)順次地解碼,并且所述外部存儲器存儲由所述圖 像處理器解碼的先前幀的圖像數(shù)據(jù),以及所述數(shù)據(jù)請求處理器被編程為從所述圖像處理器接收所述數(shù)據(jù)請求,所述數(shù)據(jù)請求 用來請求對當(dāng)前幀的圖像數(shù)據(jù)進(jìn)行解碼所需的所述先前幀的圖像數(shù)據(jù);基于通過所述高速 緩沖存儲器從所述外部存儲器讀取的目標(biāo)圖像數(shù)據(jù)來處理所述已請求圖像數(shù)據(jù);以及,將 已處理的圖像數(shù)據(jù)輸出到所述圖像處理器。
5.一種存儲器存取控制設(shè)備,所述存儲器存取控制設(shè)備可連接到存儲圖像數(shù)據(jù)的外部 存儲器,用于處理由圖像處理器請求的圖像數(shù)據(jù),所述存儲器存取控制設(shè)備包括高速緩沖存儲器,所述高速緩沖存儲器具有多個高速緩沖區(qū),每個高速緩沖區(qū)用于存 儲一個宏塊的圖像數(shù)據(jù),其中多個預(yù)定數(shù)目的宏塊構(gòu)成一幀;以及高速緩沖控制器,所述高速緩沖控制器具有高速緩沖表和數(shù)據(jù)請求處理器, 其中,所述高速緩沖表具有與所述多個高速緩沖區(qū)相對應(yīng)的多個表區(qū),所述多個表區(qū) 中的每一個用于存儲調(diào)度的存取計數(shù)器、有效性標(biāo)志或無效性標(biāo)志、以及所述對應(yīng)高速緩 沖區(qū)中存儲的一個宏塊的圖像數(shù)據(jù)的幀內(nèi)地址,所述調(diào)度的存取計數(shù)器將針對對應(yīng)高速緩 沖區(qū)的調(diào)度的存取數(shù)目進(jìn)行計數(shù),所述有效性標(biāo)志指出所述對應(yīng)高速緩沖區(qū)中圖像數(shù)據(jù)的 有效性,所述無效性標(biāo)志指出所述對應(yīng)高速緩沖區(qū)中圖像數(shù)據(jù)的無效性, 其中,所述數(shù)據(jù)請求處理器被編程為從所述圖像處理器接收數(shù)據(jù)請求,所述數(shù)據(jù)請求包括對所述已請求圖像數(shù)據(jù)的幀內(nèi)占 用區(qū)域的指定;根據(jù)所述已請求圖像數(shù)據(jù)的所述幀內(nèi)占用區(qū)域來確定用于處理所述已請求圖像數(shù)據(jù) 所需的至少一個宏塊的目標(biāo)圖像數(shù)據(jù);從所述高速緩沖存儲器中獲取所述目標(biāo)圖像數(shù)據(jù);使用所獲取的圖像數(shù)據(jù)來處理所述已請求圖像數(shù)據(jù),并且將已處理的圖像數(shù)據(jù)輸出到 所述圖像處理器,其中,如果所述高速緩沖表中的任何表區(qū)沒有存儲所述目標(biāo)圖像數(shù)據(jù)的所述幀內(nèi)地址 和所述有效性標(biāo)志并且所述任何表區(qū)的所述調(diào)度的存取計數(shù)器不具有“1”或更大的值時, 所述數(shù)據(jù)請求處理器被編程為選擇所述表區(qū)中具有帶有“0”值的所述調(diào)度的存取計數(shù)器的一個表區(qū)作為更新表區(qū); 將所述目標(biāo)圖像數(shù)據(jù)的所述幀內(nèi)地址存儲在所述更新表區(qū)中; 使所述更新表區(qū)的所述調(diào)度的存取計數(shù)器增加“ 1 ”,以及輸出讀取請求,所述讀取請求指令將所述目標(biāo)圖像數(shù)據(jù)從所述外部存儲器傳輸?shù)脚c所 述更新表區(qū)相對應(yīng)的所述高速緩沖區(qū),其中,如果在所述高速緩沖表中的任何表區(qū)存儲了所述目標(biāo)圖像數(shù)據(jù)的所述幀內(nèi)地 址、以及所述有效性標(biāo)志或者具有“ 1”或更大值的所述調(diào)度的存取計數(shù)器中的一個,則數(shù)據(jù) 請求處理器被編程為使該表區(qū)的所述調(diào)度的存取計數(shù)器增加“1”,以及其中,所述數(shù)據(jù)請求處理器被編程為當(dāng)已讀取的圖像數(shù)據(jù)已經(jīng)用于處理所述已請求 的圖像數(shù)據(jù)時,從所述高速緩沖存儲器的一個高速緩沖區(qū)讀取用于處理所述已請求圖像數(shù) 據(jù)所需的一個宏塊的圖像數(shù)據(jù),以及使與所述高速緩沖區(qū)相對應(yīng)的所述表區(qū)的所述調(diào)度的 存取計數(shù)器減少“1”。
6.根據(jù)權(quán)利要求5所述的存儲器存取控制設(shè)備,其中,所述數(shù)據(jù)請求處理器包括直接 存儲器存取(DMA)控制器,所述直接存儲器存取(DMA)控制器實現(xiàn)在所述外部存儲器模塊 與所述高速緩沖存儲器之間的所述目標(biāo)圖像數(shù)據(jù)的DMA傳輸。
7.根據(jù)權(quán)利要求5所述的存儲器存取控制設(shè)備,其中所述圖像處理器對每個幀的圖像數(shù)據(jù)順次地解碼,以及所述外部存儲器存儲由所述圖 像處理器解碼的先前幀的圖像數(shù)據(jù),以及所述數(shù)據(jù)請求處理器被編程為從所述圖像處理器接收所述數(shù)據(jù)請求,所述數(shù)據(jù)請求 用來請求對當(dāng)前幀的圖像數(shù)據(jù)進(jìn)行解碼所需的所述先前幀的圖像數(shù)據(jù);基于通過所述高速 緩沖存儲器從所述外部存儲器讀取的所述目標(biāo)圖像數(shù)據(jù)來處理所述已請求圖像數(shù)據(jù);以 及,將已編程的圖像數(shù)據(jù)輸出到所述圖像處理器。
8.一種用于存儲器存取控制設(shè)備的控制存儲器存取的方法,所述存儲器存取控制設(shè) 備可連接到存儲圖像數(shù)據(jù)的外部存儲器,用于處理由圖像處理器請求的圖像數(shù)據(jù),所述存 儲器存取控制設(shè)備具有高速緩沖存儲器,所述高速緩沖存儲器具有多個高速緩沖區(qū),每個 高速緩沖區(qū)用于存儲一個宏塊的圖像數(shù)據(jù),其中多個預(yù)定數(shù)目的宏塊構(gòu)成一幀;以及高速 緩沖控制器,所述高速緩沖控制器具有高速緩沖表和數(shù)據(jù)請求處理器,其中,所述高速緩沖 表具有與所述多個高速緩沖區(qū)相對應(yīng)的多個表區(qū),每個表區(qū)用于至少存儲調(diào)度的存取計數(shù) 器,所述調(diào)度的存取計數(shù)器將針對對應(yīng)高速緩沖區(qū)的調(diào)度的存取數(shù)目以及針對在所述對應(yīng) 高速緩沖區(qū)中存儲的一個宏塊的圖像數(shù)據(jù)的幀內(nèi)地址的調(diào)度的存取數(shù)目進(jìn)行計數(shù),所述方 法可通過所述數(shù)據(jù)請求處理器執(zhí)行,所述方法包括以下步驟從所述圖像處理器接收數(shù)據(jù)請求,所述數(shù)據(jù)請求包括對所述已請求圖像數(shù)據(jù)的幀內(nèi)占 用區(qū)域的指定;根據(jù)所述已請求圖像數(shù)據(jù)的所述幀內(nèi)占用區(qū)域來確定用于處理所述已請求圖像數(shù)據(jù) 所需的至少一個宏塊的目標(biāo)圖像數(shù)據(jù);從所述高速緩沖存儲器獲取所述目標(biāo)圖像數(shù)據(jù);使用所述獲取的圖像數(shù)據(jù)來處理所述已請求圖像數(shù)據(jù),并且將已處理的圖像數(shù)據(jù)輸出 到所述圖像處理器,其中,如果所述目標(biāo)圖像數(shù)據(jù)沒有被存儲在所述高速緩沖存儲器中,則所述方法包括 以下步驟選擇所述表區(qū)中具有帶有“0”值的所述調(diào)度的存取計數(shù)器的一個表區(qū)作為更新表區(qū);確定與所述更新表區(qū)相對應(yīng)的所述高速緩沖區(qū)是否是所述目標(biāo)圖像數(shù)據(jù)的目的地;輸出讀取請求,所述讀取請求指令將所述目標(biāo)圖像數(shù)據(jù)從所述外部存儲器傳輸?shù)剿?對應(yīng)高速緩沖區(qū);以及將所述目標(biāo)圖像數(shù)據(jù)的所述幀內(nèi)地址存儲到所述更新表區(qū)中以及使所述更新表區(qū)的 所述調(diào)度的存取計數(shù)器增加1,如果所述目標(biāo)圖像數(shù)據(jù)被存儲在所述高速緩沖區(qū)中并且用于所述目標(biāo)圖像數(shù)據(jù)的所述讀取請求還沒有被輸出,或者如果用于所述目標(biāo)圖像數(shù)據(jù)的所述讀取請求已經(jīng)被輸出, 則使存儲所述目標(biāo)圖像數(shù)據(jù)的所述幀內(nèi)地址的所述表區(qū)的所述調(diào)度的存取計數(shù)器增加1,當(dāng)已讀取的圖像數(shù)據(jù)已經(jīng)用于處理所述已請求圖像數(shù)據(jù)時,從所述高速緩沖存儲器的 一個高速緩沖區(qū)中讀取用于處理所述已請求圖像數(shù)據(jù)所需的一個宏塊的所述目標(biāo)圖像數(shù) 據(jù),以及使與所述高速緩沖區(qū)相對應(yīng)的所述表區(qū)的所述調(diào)度的存取計數(shù)器減少1。
全文摘要
本發(fā)明提供了一種存儲器存取控制設(shè)備及其方法,所述存儲器存取控制設(shè)備包括高速緩沖存儲器,其具有多個高速緩沖區(qū),每個高速緩沖區(qū)用于存儲一個宏塊的圖像數(shù)據(jù);以及高速緩沖表,其具有與多個高速緩沖區(qū)相對應(yīng)的多個表區(qū),每個表區(qū)用于存儲調(diào)度的存取計數(shù)器,所述調(diào)度的存取計數(shù)器針對對應(yīng)高速緩沖區(qū)的調(diào)度的存取數(shù)目以及針對在所述對應(yīng)高速緩沖區(qū)中存儲的一個宏塊的圖像數(shù)據(jù)的幀內(nèi)地址的調(diào)度的存取數(shù)目進(jìn)行計數(shù)。
文檔編號H04N5/76GK102055976SQ20101052614
公開日2011年5月11日 申請日期2010年10月27日 優(yōu)先權(quán)日2009年10月27日
發(fā)明者船窪則之 申請人:雅馬哈株式會社