專利名稱:圖像數(shù)據(jù)處理裝置與方法
技術(shù)領(lǐng)域:
本發(fā)明例如可應(yīng)用于根據(jù)H.264/MPEG-4AVC(ITU-T Rec.II.264ISO/IEC 14496-10AVC)標(biāo)準(zhǔn)對(duì)視頻數(shù)據(jù)的編碼與解碼。本發(fā)明通過(guò)如下方式減小了在并行地利用多個(gè)用于編碼處理和解碼處理的算術(shù)處理裝置來(lái)同時(shí)處理圖像數(shù)據(jù)的配置中緩存存儲(chǔ)器的容量順序并循環(huán)分配條帶(slice)到多個(gè)算術(shù)處理部分,利用多個(gè)算術(shù)處理部分來(lái)并行地同時(shí)編碼和解碼圖像數(shù)據(jù),并且設(shè)置每個(gè)條帶的處理以建立這樣一種關(guān)系,在這種關(guān)系中,在每個(gè)條帶中進(jìn)行處理的宏塊的參考宏塊可能與緊接著的前一條帶中的宏塊的參考宏塊部分重疊。
背景技術(shù):
在現(xiàn)有技術(shù)中,在各種視頻設(shè)備中,利用H.264/MPEG-4AVC(在下文中稱之為H.264/AVC)、WMV9(視窗媒體視頻9)、MPEG-4(ISO/IEC 14496信息技術(shù)-音頻-可視對(duì)象的通用編碼)、MPEG-2(ISO/IEC 13818-2國(guó)際標(biāo)準(zhǔn)MPEG-2視頻)、MPEG-1(ISO/IEC 11172-2國(guó)際標(biāo)準(zhǔn)MPEG-1視頻)等對(duì)運(yùn)動(dòng)圖像的圖像數(shù)據(jù)執(zhí)行編碼處理和解碼處理。在這些編碼處理和解碼處理中,宏塊按光柵掃描(raster scan)順序被順序處理。
就是說(shuō),如圖41A到41D所示,在視頻信號(hào)例如是所謂的4∶2∶0的情況下,在這種類型的編碼處理中,亮度信號(hào)Y和色差信號(hào)Cr、Cb被分別劃分成16像素×16像素和8像素×8像素的宏塊。對(duì)于亮度信號(hào)Y,對(duì)每個(gè)8像素×8像素塊執(zhí)行離散余弦變換處理,其中所述8像素×8像素塊是通過(guò)將一個(gè)宏塊分別在水平方向和垂直方向上分成兩半而形成的。對(duì)于色差信號(hào)Cr、Cb,對(duì)每個(gè)宏塊執(zhí)行離散余弦變換處理。在H.264/AVC中,對(duì)每個(gè)4像素×4像素塊執(zhí)行正交變換處理和離散Hadamard變換處理,其中所述4像素×4像素塊是通過(guò)將各個(gè)塊進(jìn)一步分成兩半而形成的。在這種類型的編碼處理中,對(duì)作為離散余弦變換處理結(jié)果的各個(gè)系數(shù)數(shù)據(jù)執(zhí)行量化處理和變長(zhǎng)編碼處理。
因此,在這種類型的編碼處理和解碼處理中,如圖42A所示,每個(gè)宏塊(MB)是利用二維地址,即水平和垂直地址(X,Y)來(lái)標(biāo)識(shí)的。此外,在這種處理中,如圖42B所示,水平和垂直地址(X,Y)被轉(zhuǎn)換成用于訪問(wèn)存儲(chǔ)器的一維地址,并且保存在存儲(chǔ)器中的各個(gè)宏塊的圖像數(shù)據(jù)被順序處理。
在處理中,通過(guò)參考相鄰宏塊的處理結(jié)果來(lái)提高傳輸效率。具體而言,在MPEG-1、2的幀內(nèi)預(yù)測(cè)中,如圖43所示,參考在同一條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y)的處理結(jié)果,后一宏塊(X,Y)被處理。在圖43以及隨后的附圖中,參考關(guān)系用箭頭示出。如下,將被參考的宏塊被稱為參考宏塊。因此,在圖43的示例中,宏塊(X-1,Y)是宏塊(X,Y)的參考宏塊。這里,條帶是條帶層的處理單元,并且由多個(gè)水平方向上連續(xù)的宏塊構(gòu)成。
在MPEG-4的幀內(nèi)預(yù)測(cè)中,如圖44所示,在同一條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y)、緊接著的前一條帶中的正上方相鄰宏塊(X,Y-1)和在包含該正上方相鄰宏塊(X,Y-1)的條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y-1)都被設(shè)置為宏塊(X,Y)的參考宏塊,并且宏塊(X,Y)是通過(guò)參考宏塊(X-1,Y)、(X,Y-1)或(X-1,Y-1)的處理結(jié)果來(lái)處理的。
在MPEG-4的運(yùn)動(dòng)向量預(yù)測(cè)中,如圖45所示,在同一條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y)、緊接著的前一條帶中的正上方相鄰宏塊(X,Y-1)和在包含該正上方相鄰宏塊(X,Y-1)的條帶的掃描終止端一側(cè)的相鄰宏塊(X+1,Y-1)被設(shè)置為宏塊(X,Y)的參考宏塊,并且宏塊(X,Y)的運(yùn)動(dòng)向量是通過(guò)參考宏塊(X-1,Y)、(X,Y-1)或(X+1,Y1)的運(yùn)動(dòng)向量來(lái)預(yù)測(cè)的。
在H.264/AVC的幀內(nèi)預(yù)測(cè)中,如圖46所示,在同一條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y)、緊接著的前一條帶中的正上方相鄰宏塊(X,Y-1)、在包含該正上方相鄰宏塊(X,Y-1)的條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y-1)和在包含該正上方相鄰宏塊(X,Y-1)的條帶的掃描終止端一側(cè)的相鄰宏塊(X+1,Y-1)被設(shè)置為宏塊(X,Y)的參考宏塊,并且宏塊(X,Y)是通過(guò)參考宏塊(X-1,Y)、(X,Y-1)、(X-1.Y-1)或(X+1,Y-1)的處理結(jié)果來(lái)處理的。
在H.264/AVC的運(yùn)動(dòng)向量預(yù)測(cè)中,如圖47所示,與MPEG-4的運(yùn)動(dòng)向量預(yù)測(cè)類似,相鄰宏塊(X,Y-1)、(X+1,Y-1)和(X-1,Y)被設(shè)置為宏塊(X,Y)的參考宏塊,并且宏塊(X,Y)的運(yùn)動(dòng)向量是通過(guò)參考宏塊(X,Y-1)、(X+1,Y-1)或(X-1,Y)的運(yùn)動(dòng)向量而被處理的。
在H.264/AVC的去塊濾波(deblocking filter)處理中,如圖48所示,在同一條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y)和緊接著的前一條帶中的正上方相鄰宏塊(X,Y-1)被設(shè)置為宏塊(X,Y)的參考宏塊,并且宏塊(X,Y)是通過(guò)參考宏塊(X,Y-1)或(X-1,Y)的處理結(jié)果來(lái)處理的。
在上述編碼和解碼處理中,編碼處理和解碼處理可以利用諸如中央處理單元之類的算術(shù)處理裝置的算術(shù)處理來(lái)執(zhí)行。
在使用算術(shù)處理裝置的數(shù)據(jù)處理系統(tǒng)中,利用緩存存儲(chǔ)器來(lái)實(shí)現(xiàn)高速處理。
就是說(shuō),如圖49所示,在使用算術(shù)處理裝置的數(shù)據(jù)處理系統(tǒng)1中,緩存存儲(chǔ)器2由諸如SRAM之類的可以高速訪問(wèn)的存儲(chǔ)器構(gòu)成,并且主存儲(chǔ)器4由具有比緩存存儲(chǔ)器2更低功耗的存儲(chǔ)器構(gòu)成,但是該存儲(chǔ)器與緩存存儲(chǔ)器2相比較難進(jìn)行高速訪問(wèn)。此外,包含數(shù)據(jù)處理裝置3的命令的數(shù)據(jù)被存儲(chǔ)在主存儲(chǔ)器4中,并且存儲(chǔ)在主存儲(chǔ)器4中的命令和部分?jǐn)?shù)據(jù)被加載并保存在緩存存儲(chǔ)器2中。在緩存存儲(chǔ)器2中,用于管理各個(gè)數(shù)據(jù)的地址的TAG信息被設(shè)置,并且命令和數(shù)據(jù)被存儲(chǔ)。
在數(shù)據(jù)處理系統(tǒng)1中,當(dāng)再次使用同樣的命令和數(shù)據(jù)時(shí),數(shù)據(jù)處理裝置3首先如箭頭A所示訪問(wèn)緩存存儲(chǔ)器2并搜索所需命令和數(shù)據(jù)。當(dāng)目標(biāo)命令和數(shù)據(jù)存在于緩存存儲(chǔ)器2中時(shí),設(shè)備取出并使用記錄在緩存存儲(chǔ)器2中的命令和數(shù)據(jù)。當(dāng)目標(biāo)命令和數(shù)據(jù)未存在于緩存存儲(chǔ)器2中時(shí),設(shè)備如箭頭B所示從主存儲(chǔ)器4取出目標(biāo)命令和數(shù)據(jù)并使用它們,并且將該命令和數(shù)據(jù)存儲(chǔ)在緩存存儲(chǔ)器2中。緩存存儲(chǔ)器2可被配置為主存儲(chǔ)器中的軟件,用于以更高速度進(jìn)行數(shù)據(jù)管理。
關(guān)于用于利用算術(shù)處理裝置執(zhí)行編碼處理和解碼處理的配置,例如,在JP-A-2006-42364(專利文獻(xiàn)1)中提出了一種方案,用于減少?gòu)拇鎯?chǔ)器加載作為處理對(duì)象的圖像數(shù)據(jù)的總周期數(shù)。此外,在JP-A-2000-115806(專利文獻(xiàn)2)中提出了一種方案,用于利用緩存存儲(chǔ)器來(lái)提高處理圖像數(shù)據(jù)的速度。
當(dāng)通過(guò)利用多個(gè)算術(shù)處理裝置并行地同時(shí)處理圖像數(shù)據(jù)來(lái)執(zhí)行編碼處理和解碼處理時(shí),與利用一個(gè)算術(shù)處理裝置處理圖像數(shù)據(jù)的情況相比,可以提高處理速度。此外,可以設(shè)想,當(dāng)在通過(guò)利用多個(gè)算術(shù)處理裝置并行地同時(shí)處理圖像數(shù)據(jù)來(lái)執(zhí)行編碼處理和解碼處理的配置中使用緩存存儲(chǔ)器時(shí),處理速度甚至可以更高。在此情況下,如果可以通過(guò)有效地利用所述通過(guò)利用多個(gè)算術(shù)處理裝置并行地同時(shí)處理圖像數(shù)據(jù)來(lái)執(zhí)行編碼處理和解碼處理的配置減小緩存存儲(chǔ)器的容量,則可以減小電路大小并且可以降低功耗。
發(fā)明內(nèi)容
考慮到上述情況實(shí)現(xiàn)了本發(fā)明,并且本發(fā)明的優(yōu)點(diǎn)是要提供一種圖像數(shù)據(jù)處理裝置、圖像數(shù)據(jù)處理方法、用于圖像數(shù)據(jù)處理方法的程序和記錄用于圖像數(shù)據(jù)處理方法的程序的記錄介質(zhì),它們能夠通過(guò)利用多個(gè)算術(shù)處理裝置并行地同時(shí)處理圖像數(shù)據(jù)來(lái)減小執(zhí)行編碼處理和解碼處理的配置中的緩存存儲(chǔ)器的容量。
根據(jù)本發(fā)明一個(gè)實(shí)施例的圖像數(shù)據(jù)處理裝置包括多個(gè)算術(shù)處理部分,它們分別以宏塊為單位編碼或解碼圖像數(shù)據(jù);主存儲(chǔ)器,其積累和保存用于所述多個(gè)算術(shù)處理部分的處理的數(shù)據(jù);以及所述多個(gè)算術(shù)處理部分的緩存存儲(chǔ)器,其保存保存在所述主存儲(chǔ)器中的數(shù)據(jù)的一部分,其中所述圖像數(shù)據(jù)的條帶被順序且循環(huán)地分別分配給所述多個(gè)算術(shù)處理部分,并且多個(gè)條帶被設(shè)置為處理對(duì)象,所述多個(gè)算術(shù)處理部分處理保存在所述緩存存儲(chǔ)器中的數(shù)據(jù),并按照光柵掃描的順序在對(duì)作為處理對(duì)象的所述多個(gè)條帶的宏塊的處理序列中并行地同時(shí)編碼或解碼所述圖像數(shù)據(jù),以建立每一條帶的處理與緊接著的前一條帶的處理之間的一致關(guān)系,并且所述一致關(guān)系是這樣一種關(guān)系當(dāng)前條帶和緊接著的前一條帶可被并行地同時(shí)處理,并且當(dāng)前條帶中正在處理的宏塊在距緊接著的前一條帶中正在處理的宏塊預(yù)定數(shù)目個(gè)宏塊的光柵掃描開(kāi)始端一側(cè)處,從而使得在當(dāng)前條帶中正在處理的宏塊的參考宏塊可以與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊。
根據(jù)本發(fā)明一個(gè)實(shí)施例的一種以宏塊為單位編碼或解碼圖像數(shù)據(jù)的圖像數(shù)據(jù)處理方法包括以下步驟將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)編碼和解碼所需數(shù)據(jù)的主存儲(chǔ)器中;將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)在所述主存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)的緩存存儲(chǔ)器中;以及使用保存在所述緩存存儲(chǔ)器中的數(shù)據(jù)來(lái)利用多個(gè)算術(shù)處理裝置分別同時(shí)地執(zhí)行編碼或解碼所述圖像數(shù)據(jù)的并行處理,從而以宏塊為單位并行地同時(shí)處理通過(guò)順序且循環(huán)地分配圖像數(shù)據(jù)的條帶而設(shè)置的多個(gè)處理對(duì)象,其中所述同時(shí)的并行處理步驟按照光柵掃描的順序在對(duì)作為處理對(duì)象的所述多個(gè)條帶的宏塊的處理序列中編碼或解碼所述圖像數(shù)據(jù),以建立每一條帶的處理與緊接著的前一條帶的處理之間的一致關(guān)系,并且所述一致關(guān)系是這樣一種關(guān)系當(dāng)前條帶和緊接著的前一條帶可被并行地同時(shí)處理,并且當(dāng)前條帶中正在處理的宏塊在距緊接著的前一條帶中正在處理的宏塊預(yù)定數(shù)目個(gè)宏塊的光柵掃描開(kāi)始端一側(cè)處,從而使得在當(dāng)前條帶中正在處理的宏塊的參考宏塊可以與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊。
根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用于圖像數(shù)據(jù)處理方法的程序,所述圖像數(shù)據(jù)處理方法通過(guò)算術(shù)處理裝置的執(zhí)行來(lái)以宏塊為單位編碼或解碼圖像數(shù)據(jù),所述用于圖像數(shù)據(jù)處理方法的程序包括以下步驟將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)編碼和解碼所需數(shù)據(jù)的主存儲(chǔ)器中;將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)在所述主存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)的緩存存儲(chǔ)器中;以及使用保存在所述緩存存儲(chǔ)器中的數(shù)據(jù)來(lái)利用多個(gè)算術(shù)處理裝置分別同時(shí)地執(zhí)行編碼或解碼所述圖像數(shù)據(jù)的并行處理,從而以宏塊為單位并行地同時(shí)處理通過(guò)順序且循環(huán)地分配圖像數(shù)據(jù)的條帶而設(shè)置的多個(gè)處理對(duì)象,其中所述同時(shí)的并行處理步驟按照光柵掃描的順序在對(duì)作為處理對(duì)象的所述多個(gè)條帶的宏塊的處理序列中編碼或解碼所述圖像數(shù)據(jù),以建立每一條帶的處理與緊接著的前一條帶的處理之間的一致關(guān)系,并且所述一致關(guān)系是這樣一種關(guān)系當(dāng)前條帶和緊接著的前一條帶可被并行地同時(shí)處理,并且當(dāng)前條帶中正在處理的宏塊在距緊接著的前一條帶中正在處理的宏塊預(yù)定數(shù)目個(gè)宏塊的光柵掃描開(kāi)始端一側(cè)處,從而使得在當(dāng)前條帶中正在處理的宏塊的參考宏塊可以與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊。
根據(jù)本發(fā)明一個(gè)實(shí)施例的一種記錄有用于圖像數(shù)據(jù)處理方法的程序的記錄介質(zhì),所述圖像數(shù)據(jù)處理方法通過(guò)算術(shù)處理裝置的執(zhí)行來(lái)以宏塊為單位編碼或解碼圖像數(shù)據(jù),所述用于圖像數(shù)據(jù)處理方法的程序包括以下步驟將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)編碼和解碼所需數(shù)據(jù)的主存儲(chǔ)器中;將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)在所述主存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)的緩存存儲(chǔ)器中;以及使用保存在所述緩存存儲(chǔ)器中的數(shù)據(jù)來(lái)利用多個(gè)算術(shù)處理裝置分別同時(shí)地執(zhí)行編碼或解碼所述圖像數(shù)據(jù)的并行處理,從而以宏塊為單位并行地同時(shí)處理通過(guò)順序且循環(huán)地分配圖像數(shù)據(jù)的條帶而設(shè)置的多個(gè)處理對(duì)象,其中所述同時(shí)的并行處理步驟按照光柵掃描的順序在對(duì)作為處理對(duì)象的所述多個(gè)條帶的宏塊的處理序列中編碼或解碼所述圖像數(shù)據(jù),以建立每一條帶的處理與緊接著的前一條帶的處理之間的一致關(guān)系,并且所述一致關(guān)系是這樣一種關(guān)系當(dāng)前條帶和緊接著的前一條帶可被并行地同時(shí)處理,并且當(dāng)前條帶中正在處理的宏塊在距緊接著的前一條帶中正在處理的宏塊預(yù)定數(shù)目個(gè)宏塊的光柵掃描開(kāi)始端一側(cè)處,從而使得在當(dāng)前條帶中正在處理的宏塊的參考宏塊可以與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊。
根據(jù)實(shí)施例的配置,圖像數(shù)據(jù)可以通過(guò)使用緩存存儲(chǔ)器被多個(gè)算術(shù)處理部分并行地同時(shí)編碼和解碼。此外,由于在當(dāng)前條帶中正在處理的宏塊的參考宏塊與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊,因此與正在處理的宏塊的所有參考宏塊的數(shù)據(jù)都被存儲(chǔ)的情況相比,存儲(chǔ)在緩存存儲(chǔ)器中的數(shù)據(jù)可被減少,并且緩存存儲(chǔ)器的容量可被減小。
根據(jù)實(shí)施例的配置,在同時(shí)的并行處理步驟中,圖像數(shù)據(jù)可以通過(guò)使用緩存存儲(chǔ)器被并行地同時(shí)處理。此外,由于在當(dāng)前條帶中正在處理的宏塊的參考宏塊與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊,因此與正在處理的宏塊的所有參考宏塊的數(shù)據(jù)都被存儲(chǔ)的情況相比,存儲(chǔ)在緩存存儲(chǔ)器中的數(shù)據(jù)可被減少,并且緩存存儲(chǔ)器的容量可被減小。
根據(jù)本發(fā)明的實(shí)施例,通過(guò)利用多個(gè)算術(shù)處理裝置并行地同時(shí)處理圖像數(shù)據(jù),可以減小執(zhí)行編碼處理和解碼處理的配置中的緩存存儲(chǔ)器的容量。
圖1是用于說(shuō)明本發(fā)明實(shí)施例1的編碼器中的宏塊處理引擎的處理序列的示意圖。
圖2是示出被應(yīng)用到本發(fā)明實(shí)施例1的視頻設(shè)備的編碼器的框圖。
圖3是示出圖2中的編碼器的各個(gè)宏塊處理引擎的處理程序的流程圖。
圖4是示出宏塊處理引擎和緩沖存儲(chǔ)器相對(duì)于用于幀內(nèi)預(yù)測(cè)的圖像數(shù)據(jù)的關(guān)系的框圖。
圖5是示出宏塊地址的圖表。
圖6是示出圖4中的配置的另一示例的框圖。
圖7是示出圖4中的配置的不同于圖6中的示例的另一示例的框圖。
圖8是示出圖4中的配置的不同于圖6和7中的示例的另一示例的框圖。
圖9是用于說(shuō)明MPEG-1、2的幀內(nèi)預(yù)測(cè)處理的示意圖。
圖10是示出利用圖1中的處理的宏塊處理的示意圖。
圖11A到11C是用于說(shuō)明緩存存儲(chǔ)器的容量的示意圖。
圖12是示出被應(yīng)用到本發(fā)明實(shí)施例1的視頻設(shè)備的解碼器的框圖。
圖13是示出圖12中的解碼器的各個(gè)宏塊處理引擎的處理程序的流程圖。
圖14是示出本發(fā)明實(shí)施例2的視頻設(shè)備中的緩沖存儲(chǔ)器的配置的框圖。
圖15是用于說(shuō)明本發(fā)明實(shí)施例3的視頻設(shè)備中的宏塊處理的示意圖。
圖16A到16C是用于說(shuō)明圖15的配置中的緩存存儲(chǔ)器的容量的示意圖。
圖17是用于說(shuō)明本發(fā)明實(shí)施例4的視頻設(shè)備中的宏塊處理的示意圖。
圖18A到18C是用于說(shuō)明圖17的配置中的緩存存儲(chǔ)器的容量的示意圖。
圖19是用于說(shuō)明本發(fā)明實(shí)施例5的視頻設(shè)備中的宏塊處理的示意圖。
圖20A到20C是用于說(shuō)明圖19的配置中的緩存存儲(chǔ)器的容量的示意圖。
圖21是示出本發(fā)明實(shí)施例6的編碼器的主要部分的框圖。
圖22是示出圖21的配置中的宏塊地址的圖表。
圖23是用于說(shuō)明圖21的配置中的宏塊處理的示意圖。
圖24是繼續(xù)圖23的示意圖。
圖25是繼續(xù)圖23和24的示意圖。
圖26是繼續(xù)圖23到25的示意圖。
圖27是示出本發(fā)明實(shí)施例7的編碼器和解碼器的主要部分的框圖。
圖28是用于說(shuō)明圖27的配置中的宏塊處理的示意圖。
圖29是繼續(xù)圖28的示意圖。
圖30是繼續(xù)圖28和29的示意圖。
圖31是繼續(xù)圖28到30的示意圖。
圖32是用于說(shuō)明在本發(fā)明實(shí)施例8的編碼器中用于預(yù)處理的宏塊處理引擎的操作的示意圖。
圖33是繼續(xù)圖32的示意圖。
圖34是示出本發(fā)明實(shí)施例9的視頻設(shè)備中的緩沖存儲(chǔ)器的配置的框圖。
圖35是用于說(shuō)明在本發(fā)明實(shí)施例10的編碼器中用于預(yù)處理的宏塊處理引擎的操作的示意圖。
圖36是繼續(xù)圖35的示意圖。
圖37是示出本發(fā)明實(shí)施例11的編碼器和解碼器的主要部分的框圖。
圖38是用于說(shuō)明在圖37的編碼器中用于預(yù)處理的宏塊處理引擎的操作的示意圖。
圖39是繼續(xù)圖38的示意圖。
圖40是繼續(xù)圖39的示意圖。
圖41A到41D是用于說(shuō)明宏塊的示意圖。
圖42A和42B是用于說(shuō)明宏塊地址的示意圖。
圖43是用于說(shuō)明MPEG-1、2的幀內(nèi)預(yù)測(cè)中的參考宏塊的示意圖。
圖44是用于說(shuō)明MPEG-4的幀內(nèi)預(yù)測(cè)中的參考宏塊的示意圖。
圖45是用于說(shuō)明MPEG-4的運(yùn)動(dòng)向量預(yù)測(cè)中的參考宏塊的示意圖。
圖46是用于說(shuō)明H.264/AVC的幀內(nèi)預(yù)測(cè)中的參考宏塊的示意圖。
圖47是用于說(shuō)明H.264/AVC的運(yùn)動(dòng)向量預(yù)測(cè)中的參考宏塊的示意圖。
圖48是用于說(shuō)明H.264/AVC的去塊濾波處理中的參考宏塊的示意圖。
圖49是用于說(shuō)明緩存的示意圖。
具體實(shí)施例方式
在下文中,將通過(guò)適當(dāng)?shù)貐⒖几綀D來(lái)詳細(xì)描述本發(fā)明的實(shí)施例。
(1)實(shí)施例的配置圖2是示出被應(yīng)用到本發(fā)明實(shí)施例1的視頻設(shè)備的編碼器的框圖。該實(shí)施例的視頻設(shè)備利用編碼器10對(duì)圖像數(shù)據(jù)執(zhí)行編碼處理,將數(shù)據(jù)記錄在記錄介質(zhì)中,并將數(shù)據(jù)輸出到傳輸通道。此外,該設(shè)備利用解碼器(隨后將描述)對(duì)記錄在記錄介質(zhì)中的圖像數(shù)據(jù)和從傳輸通道輸入的經(jīng)編碼的數(shù)據(jù)執(zhí)行解碼處理。
這里,編碼器10由所謂的具有多個(gè)中央處理單元的多核處理器構(gòu)成,并且順序輸入運(yùn)動(dòng)圖像的圖像數(shù)據(jù)像素(Pixel)到緩沖存儲(chǔ)器31中。在圖2中,對(duì)圖像數(shù)據(jù)到緩沖存儲(chǔ)器31的輸入和輸出的描述被簡(jiǎn)化。編碼器10被配置為使得多個(gè)中央處理單元能夠分別訪問(wèn)緩沖存儲(chǔ)器31。編碼器10根據(jù)H.264/AVC的方法利用多個(gè)中央處理單元的算術(shù)處理對(duì)存儲(chǔ)在緩沖存儲(chǔ)器31中的圖像數(shù)據(jù)像素執(zhí)行編碼處理,并輸出經(jīng)編碼的數(shù)據(jù)流(Stream)。
在編碼器10中,形成有宏塊處理引擎(MB處理引擎)11A到11N的功能塊,所述宏塊處理引擎11A到11N分別用于利用各自的中央處理單元處理宏塊。此外,在編碼器10中,預(yù)處理部分(ME)12和后處理部分13的功能塊由控制整個(gè)操作的主中央處理單元構(gòu)成。編碼器10的程序被預(yù)先安裝在視頻設(shè)備中并被提供,但是,它們也可以被改為記錄在諸如光盤、磁盤、存儲(chǔ)器卡之類的各種記錄介質(zhì)中并被提供,或者經(jīng)由諸如因特網(wǎng)之類的網(wǎng)絡(luò)下載并被提供。
這里,預(yù)處理部分12是這樣的功能塊,其在利用宏塊處理引擎11A到11N執(zhí)行處理之前,以幀為單位預(yù)先一起處理圖像數(shù)據(jù)像素。具體而言,預(yù)處理部分12在幀間預(yù)測(cè)時(shí),相對(duì)于存儲(chǔ)在緩沖存儲(chǔ)器31中的參考幀,利用運(yùn)動(dòng)檢測(cè)電路21檢測(cè)最優(yōu)預(yù)測(cè)模式和運(yùn)動(dòng)向量。
宏塊處理引擎11A到11N是可并行處理的功能塊,其分別以宏塊為單位處理圖像數(shù)據(jù)像素。宏塊處理引擎11A到11N響應(yīng)于在預(yù)處理部分12中的設(shè)置的最優(yōu)預(yù)測(cè)模式和運(yùn)動(dòng)向量創(chuàng)建預(yù)測(cè)值,對(duì)各個(gè)宏塊的圖像數(shù)據(jù)執(zhí)行編碼處理,并輸出數(shù)據(jù)coef。
就是說(shuō),宏塊處理引擎11A到11N將來(lái)自緩沖存儲(chǔ)器31的圖像數(shù)據(jù)像素以宏塊為單位輸入到減法電路22。減法電路22在執(zhí)行幀內(nèi)編碼時(shí)生成幀內(nèi)預(yù)測(cè)電路23中生成的預(yù)測(cè)值與順序輸入的圖像數(shù)據(jù)像素之間的差值數(shù)據(jù),并且在執(zhí)行幀間編碼時(shí)生成在運(yùn)動(dòng)補(bǔ)償電路24中生成的預(yù)測(cè)值與的圖像數(shù)據(jù)像素之間的差值數(shù)據(jù)。
離散余弦變換電路(DCT)25對(duì)從減法電路22輸出的差值數(shù)據(jù)執(zhí)行正交變換處理并輸出系數(shù)數(shù)據(jù)。量化電路(Q)26按預(yù)定的量化級(jí)別對(duì)系數(shù)數(shù)據(jù)進(jìn)行量化并輸出數(shù)據(jù)。宏塊處理引擎11A到11N將量化電路26的輸出數(shù)據(jù)coef輸出到后處理部分13。
逆量化電路(Q-1)27對(duì)量化電路26的輸出數(shù)據(jù)coef執(zhí)行逆量化處理,并解碼出輸入到量化電路26的系數(shù)數(shù)據(jù)。逆離散余弦變換電路(IDCT)28對(duì)逆量化電路27的輸出數(shù)據(jù)執(zhí)行逆離散余弦變換處理,并解碼出輸入到離散余弦變換電路25的差值數(shù)據(jù)。加法電路29將由幀內(nèi)預(yù)測(cè)電路23或運(yùn)動(dòng)補(bǔ)償電路24生成的預(yù)測(cè)值與在逆離散余弦變換電路28中解碼出的差值數(shù)據(jù)相加,并解碼出去塊濾波器30或幀內(nèi)預(yù)測(cè)電路23的輸入數(shù)據(jù)像素。
幀內(nèi)預(yù)測(cè)電路23在利用加法電路29解碼的當(dāng)前幀F(xiàn)n的圖像數(shù)據(jù)像素執(zhí)行幀內(nèi)編碼時(shí)輸出預(yù)測(cè)值。運(yùn)動(dòng)補(bǔ)償電路24輸入由加法電路29解碼并保存在緩沖存儲(chǔ)器31中的圖像數(shù)據(jù)像素以作為參考幀F(xiàn)n-1的圖像數(shù)據(jù),并且在利用參考幀F(xiàn)n-1的圖像數(shù)據(jù)執(zhí)行幀間編碼時(shí)輸出預(yù)測(cè)值。
對(duì)于I圖片(I picture),宏塊處理引擎11A到11N有選擇地輸出幀內(nèi)預(yù)測(cè)電路23的預(yù)測(cè)值到減法電路22,以按幀內(nèi)預(yù)測(cè)的最優(yōu)預(yù)測(cè)模式編碼圖像數(shù)據(jù)像素。對(duì)于除了I圖片之外的其他圖片,引擎輸出幀內(nèi)預(yù)測(cè)電路23和運(yùn)動(dòng)補(bǔ)償電路24的預(yù)測(cè)值到減法電路22,以按照具有幀內(nèi)預(yù)測(cè)的最優(yōu)預(yù)測(cè)模式和幀間預(yù)測(cè)的最優(yōu)預(yù)測(cè)模式的較少量代碼的最優(yōu)預(yù)測(cè)模式來(lái)編碼圖像數(shù)據(jù)像素。宏塊處理引擎11A到11N可以按以子宏塊作為最優(yōu)預(yù)測(cè)模式的預(yù)測(cè)模式來(lái)執(zhí)行處理,所述子宏塊是通過(guò)將一個(gè)宏塊劃分成多個(gè)塊作為處理單位而形成的。在此情況下,引擎對(duì)配置一個(gè)宏塊的子宏塊順序執(zhí)行編碼處理,然后,最終以宏塊為單位對(duì)圖像數(shù)據(jù)像素執(zhí)行編碼處理。
后處理部分13按一定順序輸入宏塊處理引擎11A到11N的輸出數(shù)據(jù)coef。該部分利用變長(zhǎng)編碼電路(VLC)對(duì)輸入數(shù)據(jù)coef執(zhí)行變長(zhǎng)編碼處理,然后添加量化級(jí)別信息、宏塊類型(mb類型)等等,并輸出經(jīng)編碼的數(shù)據(jù)流。此外,該部分利用去塊濾波器(去塊操作)30對(duì)從宏塊處理引擎11A到11N輸出的圖像數(shù)據(jù)執(zhí)行濾波處理以消除塊失真,然后將數(shù)據(jù)作為參考幀F(xiàn)n-1存儲(chǔ)在緩沖存儲(chǔ)器31中。
圖3是示出各個(gè)宏塊處理引擎11A到11N的處理程序的流程圖。各個(gè)宏塊處理引擎11A到11N在主中央處理單元的控制下執(zhí)行圖3所示的處理程序。
就是說(shuō),當(dāng)各個(gè)宏塊處理引擎11A到11N啟動(dòng)該處理程序時(shí),引擎從步驟SP1移動(dòng)到步驟SP2,并基于從預(yù)處理部分12通知的宏塊類型來(lái)確定幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)。這里,在幀間預(yù)測(cè)的情況下,宏塊處理引擎11A到11N從步驟SP2移動(dòng)到步驟SP3,并利用運(yùn)動(dòng)補(bǔ)償電路24計(jì)算預(yù)測(cè)值,而在幀內(nèi)預(yù)測(cè)的情況下,它們從步驟SP2移動(dòng)到步驟SP4,并且利用幀內(nèi)預(yù)測(cè)電路23來(lái)計(jì)算預(yù)測(cè)值。
隨后,宏塊處理引擎11A到11N在步驟SP5處利用減法電路22計(jì)算差值數(shù)據(jù),然后,在隨后的步驟SP6處,利用離散余弦變換電路25將差值數(shù)據(jù)變換成系數(shù)數(shù)據(jù)。此外,在隨后的步驟SP7處,引擎利用量化電路26對(duì)系數(shù)數(shù)據(jù)執(zhí)行量化處理,并將處理結(jié)果輸出到后處理部分13。此外,宏塊處理引擎11A到11N在隨后的步驟SP8處執(zhí)行量化處理,并在隨后的步驟SP9處執(zhí)行逆離散余弦變換處理。在隨后的步驟SP10處,引擎將預(yù)測(cè)值添加到逆離散余弦變換處理的結(jié)果并解碼出原始圖像數(shù)據(jù)。
宏塊處理引擎11A到11N將解碼出的圖像數(shù)據(jù)輸出到后處理部分13,并且在隨后的步驟SP11處判斷是否存在將要處理的另一宏塊。這里,當(dāng)存在將要處理的另一宏塊時(shí),宏塊處理引擎11A到11N從步驟SP11返回步驟SP2,并開(kāi)始對(duì)隨后的宏塊進(jìn)行處理。相反,當(dāng)不存在將要處理的其他宏塊時(shí),宏塊處理引擎11A到11N從步驟SP11移動(dòng)到步驟SP12,并且結(jié)束該處理程序。
圖4是示出宏塊處理引擎11A到11N和緩沖存儲(chǔ)器31相對(duì)于用于幀內(nèi)預(yù)測(cè)的圖像數(shù)據(jù)的關(guān)系的框圖。在圖4以及以下描述中,宏塊處理引擎11A到11N的數(shù)目為3的情況將被描述。這里,各個(gè)宏塊處理引擎11A到11C被形成為可經(jīng)由總線(BUS)獨(dú)立訪問(wèn)緩沖存儲(chǔ)器31。
在緩沖存儲(chǔ)器31中,緩存存儲(chǔ)器32由諸如SRAM之類可高速訪問(wèn)的存儲(chǔ)器構(gòu)成,而主存儲(chǔ)器33由具有比緩存存儲(chǔ)器32更低功耗的小存儲(chǔ)器構(gòu)成,但是該存儲(chǔ)器與緩存存儲(chǔ)器32相比,更難進(jìn)行高速訪問(wèn)。此外,緩沖存儲(chǔ)器31在主存儲(chǔ)器33中存儲(chǔ)和保存用于宏塊處理引擎11A到11C中的幀內(nèi)預(yù)測(cè)的當(dāng)前幀的圖像數(shù)據(jù)、用于運(yùn)動(dòng)補(bǔ)償?shù)膮⒖紟膱D像數(shù)據(jù)和從預(yù)處理部分12輸入的將被處理的圖像數(shù)據(jù)。雖然宏塊處理引擎11A到11C在主中央處理單元的控制下處理一個(gè)宏塊,但是緩沖存儲(chǔ)器加載隨后將被宏塊處理引擎11A到11C處理的多個(gè)宏塊以及參考宏塊的圖像數(shù)據(jù)并將數(shù)據(jù)保存在緩存存儲(chǔ)器32中。當(dāng)在相應(yīng)宏塊處理引擎11A到11C的處理中完成的圖像數(shù)據(jù)被存儲(chǔ)在主存儲(chǔ)器33中時(shí),參考宏塊的圖像數(shù)據(jù)的緊接前一宏塊的圖像數(shù)據(jù)被一起存儲(chǔ)在緩存存儲(chǔ)器32中。
此外,如圖5所示,緩沖存儲(chǔ)器31在水平方向和垂直方向上設(shè)置二維地址(X,Y),這些二維地址(X,Y)參照各個(gè)宏塊的圖像數(shù)據(jù)的光柵掃描開(kāi)始位置來(lái)標(biāo)識(shí)各個(gè)宏塊的位置,并將當(dāng)前幀的圖像數(shù)據(jù)和被預(yù)處理部分12處理的圖像數(shù)據(jù)以宏塊為單位保存在緩存存儲(chǔ)器32中。在這點(diǎn)上,緩沖存儲(chǔ)器31利用主存儲(chǔ)器33中的存儲(chǔ)空間中的一維地址來(lái)存儲(chǔ)各個(gè)宏塊的圖像數(shù)據(jù)。因此,當(dāng)從主存儲(chǔ)器33加載圖像數(shù)據(jù)并將數(shù)據(jù)存儲(chǔ)在緩存存儲(chǔ)器32中時(shí),緩沖存儲(chǔ)器31對(duì)將被存儲(chǔ)在緩存存儲(chǔ)器32中的圖像數(shù)據(jù)所屬宏塊的二維地址進(jìn)行地址轉(zhuǎn)換以轉(zhuǎn)換成主存儲(chǔ)器33的一維地址,并從主存儲(chǔ)器33加載圖像數(shù)據(jù)。
在訪問(wèn)緩沖存儲(chǔ)器31的方法中,如圖6所示,與圖4相比,二維地址也可被應(yīng)用到主存儲(chǔ)器33的地址管理,并且在從主存儲(chǔ)器33向緩存存儲(chǔ)器32加載數(shù)據(jù)時(shí)的地址轉(zhuǎn)換過(guò)程可被省略。此外,如圖7所示,與圖4相比,緩存存儲(chǔ)器32的地址管理可以利用一維地址來(lái)執(zhí)行,并且在從主存儲(chǔ)器33向緩存存儲(chǔ)器32加載數(shù)據(jù)時(shí)的地址轉(zhuǎn)換過(guò)程可被省略。注意,在此情況下,當(dāng)緩沖存儲(chǔ)器31被訪問(wèn)時(shí),將二維地址轉(zhuǎn)換成一維地址的地址轉(zhuǎn)換處理是必需的。此外,如圖8所示,與圖4相比,在緩存存儲(chǔ)器32處可以利用二維地址來(lái)執(zhí)行地址管理,并且在主存儲(chǔ)器33處可以利用一維地址來(lái)執(zhí)行地址管理。
圖1是用于說(shuō)明這些宏塊處理引擎11A到11C的宏塊處理序列的示意圖。宏塊處理引擎11A到11C在主中央處理單元(未示出)的控制下以宏塊為單位順序處理圖像數(shù)據(jù)。這里,主中央處理單元從光柵掃描開(kāi)始端一側(cè)開(kāi)始順序并循環(huán)分配構(gòu)成一幀的條帶到各個(gè)宏塊處理引擎11A到11C。因此,在圖1所示示例中,在垂直方向上的第一條帶SL1被分配到第一宏塊處理引擎11A,并且隨后的第二條帶SL2被分配到隨后的第二宏塊處理引擎11B。此外,隨后的第三條帶SL3被分配到隨后的第三宏塊處理引擎11C,并且隨后的第四條帶SL4被分配到第一宏塊處理引擎11A。
各個(gè)宏塊處理引擎11A到11C同步地按光柵掃描的順序順序處理已經(jīng)分配到該引擎的多個(gè)條帶的宏塊。此外,各個(gè)宏塊處理引擎11A到11C按照相對(duì)于宏塊處理引擎11A到11C對(duì)緊接著的前一條帶的處理被延遲預(yù)定數(shù)目個(gè)宏塊的定時(shí)來(lái)處理各個(gè)條帶,從而使得在對(duì)各個(gè)宏塊的處理開(kāi)始時(shí),對(duì)將被處理的宏塊的參考宏塊的處理已經(jīng)完成,并且正在處理的宏塊所參考的圖像數(shù)據(jù)已被存儲(chǔ)在緩沖存儲(chǔ)器31中。
就是說(shuō),如圖9所示,在如上參考圖43所述的MPEG-1、2的幀內(nèi)預(yù)測(cè)中,由于參考宏塊僅僅是在同一條帶中位于掃描開(kāi)始端一側(cè)的緊接前一相鄰宏塊,因此當(dāng)各個(gè)條帶被各個(gè)宏塊處理引擎11A到11C獨(dú)立處理時(shí),無(wú)論將被處理的條帶是哪個(gè),都能夠僅僅通過(guò)在光柵掃描方向上順序處理宏塊來(lái)參考當(dāng)前幀的經(jīng)編碼的圖像數(shù)據(jù)來(lái)執(zhí)行宏塊的編碼處理。因此,在MPEG-1、2中,對(duì)一幀的圖像數(shù)據(jù)的編碼處理可以用多個(gè)宏塊處理引擎11A到11C來(lái)并行地同時(shí)執(zhí)行,而無(wú)需考慮各個(gè)條帶中的處理的定時(shí)。
但是,在本實(shí)施例的編碼處理中,圖像數(shù)據(jù)是根據(jù)H.264/AVC的方法被編碼的。在H.264/AVC的幀內(nèi)預(yù)測(cè)中,如以下參考圖46所述,不僅處于同一條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y)是宏塊(X,Y)的參考宏塊,而且緊接著的前一條帶中的相鄰宏塊(X,Y-1)、(X-1,Y-1)和(X+1,Y-1)也是宏塊(X,Y)的參考宏塊。因此,當(dāng)像在MPEG-1、2情況下一樣在不考慮對(duì)先前和隨后條帶的處理的情況下利用多個(gè)宏塊處理引擎11A到11C并行地同時(shí)執(zhí)行對(duì)各個(gè)條帶的宏塊的處理時(shí),各個(gè)宏塊處理引擎11A到11C將具有等待時(shí)間,用于等待緊接著的前一條帶中的參考宏塊的處理完成。因此,在此情況下,可能無(wú)法有效地高速處理宏塊。
為了消除等待時(shí)間,必須使得在一個(gè)條帶的處理開(kāi)始之前,對(duì)緊接著的前一條帶中的參考宏塊的處理已經(jīng)完成。
這里,在H.264/AVC的幀內(nèi)預(yù)測(cè)中,由于緊接著的前一條帶中的參考宏塊是正上方宏塊(X,Y-1)和正上方宏塊(X,Y-1)的前一和后一宏塊(X-1,Y-1)和(X+1,Y-1),因此如果在緊接著的前一條帶中,從光柵掃描開(kāi)始端一側(cè)開(kāi)始的兩個(gè)或更多個(gè)宏塊已被處理,則可以開(kāi)始對(duì)后一條帶進(jìn)行處理。
在該實(shí)施例中,各個(gè)宏塊處理引擎11A到11C同步地按光柵掃描的順序處理分配到各個(gè)引擎的多個(gè)條帶的宏塊,從而,相對(duì)于在緊接著的前一條帶中的宏塊處理引擎11A到11C的處理延遲預(yù)定數(shù)目個(gè)宏塊的定時(shí)開(kāi)始對(duì)各個(gè)條帶的處理,并且并行地同時(shí)執(zhí)行對(duì)圖像數(shù)據(jù)的編碼處理。
此外,在該實(shí)施例中,后一條帶的處理開(kāi)始點(diǎn)是相對(duì)于緊接著的前一條帶的處理來(lái)設(shè)置的,從而使得在緊接著的前一條帶的處理中的宏塊的參考宏塊與在后一條帶的處理中的宏塊的參考宏塊可以部分重疊,因此,將被參考的宏塊的處理結(jié)果的數(shù)目被盡可能地設(shè)置為最小。
更具體而言,作為連續(xù)條帶中的處理對(duì)象的宏塊的位置關(guān)系被設(shè)置為使得每一條帶中正在處理的宏塊的水平位置可以在這樣的位置上,即該位置在掃描開(kāi)始端一側(cè)相對(duì)于在緊接著的前一條帶中正在處理的宏塊之間相距一個(gè)宏塊,并且各個(gè)條帶的宏塊被順序處理。因此,在圖1的示例中,作為箭頭所示參考關(guān)系,在第一條帶中,從左端起第五宏塊的處理結(jié)果被同一條帶和后一條帶所參考,并且在后一條帶中,從左端起第三宏塊的處理結(jié)果被同一條帶和后一條帶所參考。
因此,各個(gè)宏塊處理引擎11A到11C按圖10所示序列順序處理宏塊。就是說(shuō),在宏塊處理引擎11A到11C中,第一宏塊處理引擎11A開(kāi)始第一條帶的處理并且處理宏塊(0,0)。此外,順序地,第一宏塊處理引擎11A參考宏塊(0,0)的處理結(jié)果處理后一宏塊(1,0)。
當(dāng)后一宏塊(1,0)的處理完成時(shí),在后一條帶中,第二宏塊處理引擎11B開(kāi)始處理,這是因?yàn)樵诰o接著的前一條帶中,在光柵掃描開(kāi)始端一側(cè)的兩個(gè)宏塊的處理已經(jīng)完成。就是說(shuō),第一和第二宏塊處理引擎11A和11B分別順序處理宏塊(2,0)和(0,1)。此外,第一和第二宏塊處理引擎11A和11B分別順序處理宏塊(3,0)和(1,1)。
這里,當(dāng)宏塊(1,1)的處理完成時(shí),在后一條帶中,第三宏塊處理引擎11C開(kāi)始處理,這是因?yàn)樵诰o接著的前一條帶中,在光柵掃描開(kāi)始端一側(cè)的兩個(gè)宏塊的處理已經(jīng)完成。就是說(shuō),第一、第二和第三宏塊處理引擎11A、11B和11C分別順序處理宏塊(4,0)、(2,1)和(0,2)。此外,第一、第二和第三宏塊處理引擎11A、11B和11C分別順序處理宏塊(5,0)、(3,1)和(1,2)。
因此,假設(shè)宏塊處理引擎11A到11C并行地同時(shí)處理宏塊,緩沖存儲(chǔ)器31將當(dāng)前幀F(xiàn)n的經(jīng)解碼的圖像數(shù)據(jù)和從預(yù)處理部分12輸入的將被處理的圖像數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器33中,并且根據(jù)宏塊處理引擎11A到11C的將被處理的宏塊,從主存儲(chǔ)器33順序加載將被處理的宏塊的圖像數(shù)據(jù)和參考宏塊的當(dāng)前幀F(xiàn)n的圖像數(shù)據(jù)到緩存存儲(chǔ)器32。
就是說(shuō),在圖7的示例中,在第一宏塊處理引擎11A處理第一宏塊(0,0)的情況下,緩沖存儲(chǔ)器在緩存存儲(chǔ)器32中預(yù)先加載和保存從預(yù)處理部分12輸入的宏塊(0,0)的相應(yīng)圖像數(shù)據(jù)。此外,在第一宏塊處理引擎11A處理后一宏塊(1,0)的情況下,緩沖存儲(chǔ)器在緩存存儲(chǔ)器32中預(yù)先加載和保存從預(yù)處理部分12輸入的宏塊(1,0)的相應(yīng)圖像數(shù)據(jù)以及先前剛被處理的宏塊(0,0)的當(dāng)前幀F(xiàn)n的圖像數(shù)據(jù)。
在第二宏塊處理引擎11B隨后開(kāi)始處理的情況下,緩沖存儲(chǔ)器在緩存存儲(chǔ)器32中預(yù)先加載和保存將被第一和第二宏塊處理引擎11A和11B處理的宏塊(2,0)和(0,1)的圖像數(shù)據(jù)以及參考宏塊(0,0)和(1,0)的當(dāng)前幀F(xiàn)n的圖像數(shù)據(jù)。此外,緩沖存儲(chǔ)器隨后在緩存存儲(chǔ)器32中加載和保存將被第一和第二宏塊處理引擎11A和11B處理的宏塊(3,0)和(1,1)以及參考宏塊(0,0)、(1,0)、(2,0)和(0,1)的當(dāng)前幀F(xiàn)n的圖像數(shù)據(jù)。緩沖存儲(chǔ)器從緩存存儲(chǔ)器32中丟棄在隨后宏塊的處理中不再需要被參考的數(shù)據(jù)。
緩存存儲(chǔ)器32被配置為具有適合于以上圖1所述宏塊處理引擎11A到11C的處理的最小必需存儲(chǔ)容量。這里,如圖11A到11C所述,當(dāng)三個(gè)宏塊處理引擎11A到11C分別處理宏塊時(shí),各個(gè)宏塊處理引擎11A到11C分別利用最多四個(gè)參考宏塊之一來(lái)處理宏塊(圖11A)。因此,如圖11B所示,如果簡(jiǎn)單地計(jì)算,緩存存儲(chǔ)器32所需的最小容量M是這樣獲得的(一個(gè)宏塊的圖像數(shù)據(jù)量)×(將被處理的宏塊數(shù)目(1)+參考宏塊的最大數(shù)目(4))×(宏塊處理引擎11A到11C的數(shù)目)。但是,在該實(shí)施例中,參考宏塊被設(shè)置為在正在處理的宏塊和緊接著的前一宏塊之間有重疊,從而,通過(guò)容量M減去對(duì)應(yīng)于重疊的宏塊數(shù)目的容量N所獲得的容量(M-N)是緩存存儲(chǔ)器32所需的最小值。
因此,緩存存儲(chǔ)器32的容量被設(shè)置為最小必需容量(M-N),并且與參考宏塊被設(shè)置為在將被處理的條帶和緊接著的前一條帶之間沒(méi)有重疊的情況相比,容量有所減小。
圖12是示出與圖2相對(duì)照,被應(yīng)用到本發(fā)明實(shí)施例1的視頻設(shè)備的解碼器的框圖。解碼器40是通過(guò)用用于解碼器的程序替代將被構(gòu)成以上參考圖2所述的編碼器10的多個(gè)中央處理單元執(zhí)行的用于編碼器的程序來(lái)配置的。解碼器40對(duì)來(lái)自由圖2的編碼器10生成的經(jīng)編碼的數(shù)據(jù)流的圖像數(shù)據(jù)像素進(jìn)行解碼。
這里,在解碼器40中,用于處理宏塊的宏塊處理引擎(MB處理)41A到41N的功能塊是分別利用各個(gè)中央處理單元來(lái)構(gòu)成的。此外,在解碼器40中,預(yù)處理部分(VLD)42和后處理部分(去塊操作)43的功能塊是利用控制這個(gè)操作的主中央處理單元構(gòu)成的。
這里,預(yù)處理部分42是這樣的功能塊,其在利用宏塊處理引擎41A到41N執(zhí)行處理之前,以幀為單位預(yù)先一起處理經(jīng)編碼的數(shù)據(jù)流。具體而言,預(yù)處理部分42是對(duì)應(yīng)于編碼器10的后處理部分13的配置,并且對(duì)從后處理部分輸出的經(jīng)編碼的數(shù)據(jù)流執(zhí)行變長(zhǎng)解碼處理,并且解碼出宏塊處理引擎41A到41N的輸入數(shù)據(jù)coef。
宏塊處理引擎41A到41N是對(duì)應(yīng)于編碼器10的宏塊處理引擎11A到11N的配置,并且是可并行處理的功能塊,其以宏塊為單位各自處理預(yù)處理部分42的輸出數(shù)據(jù)coef并輸出圖像數(shù)據(jù)像素。
就是說(shuō),宏塊處理引擎41A到41N以來(lái)自緩沖存儲(chǔ)器31的宏塊為單元將預(yù)處理部分42的輸出數(shù)據(jù)coef輸入到逆量化電路(Q-1)51。這里,逆量化電路51按在經(jīng)編碼的數(shù)據(jù)流中設(shè)置的量化級(jí)別對(duì)預(yù)處理部分42的輸出數(shù)據(jù)coef執(zhí)行逆量化處理,并將數(shù)據(jù)輸入到逆離散余弦變換電路52。逆離散余弦變換電路(IDCT)52對(duì)逆量化電路51的輸出數(shù)據(jù)執(zhí)行逆離散余弦變換處理。加法電路53將由逆幀內(nèi)預(yù)測(cè)電路54或運(yùn)動(dòng)補(bǔ)償電路55生成的逆預(yù)測(cè)值與解碼后的差值數(shù)據(jù)相加并解碼出圖像數(shù)據(jù)像素。
逆幀內(nèi)預(yù)測(cè)電路54利用加法電路53解碼出的當(dāng)前幀F(xiàn)n的圖像數(shù)據(jù)像素輸出幀內(nèi)預(yù)測(cè)的逆預(yù)測(cè)值。運(yùn)動(dòng)補(bǔ)償電路55經(jīng)由緩沖存儲(chǔ)器31輸入加法電路53解碼出的圖像數(shù)據(jù)像素,作為參考幀F(xiàn)n-1的圖像數(shù)據(jù),并利用圖像數(shù)據(jù)輸出逆幀間預(yù)測(cè)的預(yù)測(cè)值。
后處理部分43對(duì)來(lái)自宏塊處理引擎41A到41N的輸出數(shù)據(jù)像素執(zhí)行塊濾波處理,并消除塊失真。此外,該部分輸出已經(jīng)從中消除了塊失真的圖像數(shù)據(jù)像素,并將數(shù)據(jù)作為參考幀存儲(chǔ)在緩沖存儲(chǔ)器31中。
圖13是示出各個(gè)宏塊處理引擎41A到41N的處理程序的流程圖。各個(gè)宏塊處理引擎41A到41N在主中央處理單元的控制下執(zhí)行圖13所示的處理程序。
就是說(shuō),當(dāng)各個(gè)宏塊處理引擎41A到41N啟動(dòng)該處理程序時(shí),引擎從步驟SP21移動(dòng)到步驟SP22,并且基于從預(yù)處理部分42通知的宏塊類型來(lái)判斷是逆幀間預(yù)測(cè)還是逆幀內(nèi)預(yù)測(cè)。這里,在逆幀間預(yù)測(cè)的情況下,宏塊處理引擎41A到41N從步驟SP22移動(dòng)到步驟SP23,并且利用運(yùn)動(dòng)補(bǔ)償電路55計(jì)算逆預(yù)測(cè)值,而在逆幀內(nèi)預(yù)測(cè)的情況下,它們從步驟SP22移動(dòng)到步驟SP24,并且利用逆幀內(nèi)預(yù)測(cè)電路54計(jì)算逆預(yù)測(cè)值。
隨后,宏塊處理引擎41A到41N在步驟SP25處對(duì)從預(yù)處理部分42輸入的經(jīng)編碼的數(shù)據(jù)流執(zhí)行逆量化處理,然后在后一步驟SP26處執(zhí)行逆離散余弦變換處理。此外,在后一步驟SP27處,引擎將逆預(yù)測(cè)值與逆離散余弦變換處理的結(jié)果相加并解碼出原始圖像數(shù)據(jù)像素。宏塊處理引擎41A到41N將解碼出的圖像數(shù)據(jù)輸出到后處理部分43,并且在后一步驟SP28處判斷是否存在將被處理的另一宏塊。這里,當(dāng)存在將被處理的另一宏塊時(shí),宏塊處理引擎41A到41N從步驟SP28返回步驟SP22并開(kāi)始對(duì)隨后宏塊的處理。相反,當(dāng)不存在將被處理的其他宏塊時(shí),宏塊處理引擎41A到41N從步驟SP28移動(dòng)到步驟SP29并結(jié)束處理程序。
與編碼器10的宏塊處理引擎11A到11C的情況一樣,宏塊處理引擎41A到41N按相對(duì)于緊接著的前一條帶被延遲的定時(shí)開(kāi)始每一條帶的處理,從而使得每一條帶中正在處理的宏塊相對(duì)于緊接著的前一條帶中正在處理的宏塊在掃描開(kāi)始端一側(cè)彼此間相距一個(gè)宏塊,并且使得正在處理的條帶和緊接著的前一條帶之間參考宏塊部分重疊,從而,并行地同時(shí)處理連續(xù)條帶。
此外,與編碼器10的情況一樣,緩沖存儲(chǔ)器31緩存將被處理的宏塊的圖像數(shù)據(jù)和來(lái)自存儲(chǔ)器33的各個(gè)宏塊處理引擎41A到41N的參考宏塊,并將數(shù)據(jù)保存在緩存存儲(chǔ)器32中,并且當(dāng)被各個(gè)宏塊處理引擎41A到41N訪問(wèn)時(shí),輸出保存在緩存存儲(chǔ)器32中的圖像數(shù)據(jù)。
(2)實(shí)施例的操作在上述配置中,在實(shí)施例的視頻設(shè)備中,經(jīng)編碼的數(shù)據(jù)流是通過(guò)利用例如編碼器10(圖2)編碼從調(diào)諧器或光盤設(shè)備輸出的圖像數(shù)據(jù)像素而生成的,并且經(jīng)編碼的數(shù)據(jù)流被記錄在記錄介質(zhì)中或被輸出到傳輸通道。在相反路徑上,圖像數(shù)據(jù)像素是通過(guò)利用解碼器40(圖12)解碼從記錄介質(zhì)再現(xiàn)的經(jīng)編碼的數(shù)據(jù)流或從傳輸通道輸入的經(jīng)編碼的數(shù)據(jù)流而生成的,并且圖像數(shù)據(jù)像素被輸出到監(jiān)視器設(shè)備等等。
在該視頻設(shè)備中,編碼器10和解碼器40是通過(guò)加載對(duì)應(yīng)于具有多個(gè)中央處理單元的所謂的多核處理器的程序來(lái)形成的。此外,利用該程序,編碼器10和解碼器40被形成為用于在預(yù)處理、對(duì)各個(gè)宏塊的處理以及后處理中對(duì)圖像數(shù)據(jù)像素和經(jīng)編碼的數(shù)據(jù)流執(zhí)行流水線處理。
就是說(shuō),在編碼器10(圖2)中,預(yù)處理部分12對(duì)順序輸入的圖像數(shù)據(jù)像素執(zhí)行預(yù)處理,隨后的多個(gè)宏塊處理引擎11A到11N生成差值數(shù)據(jù)并對(duì)數(shù)據(jù)執(zhí)行正交變換處理和量化處理,并且隨后的后處理部分13將數(shù)據(jù)轉(zhuǎn)換成經(jīng)編碼的數(shù)據(jù)流(圖2)。此外,在解碼器40(圖12)中,預(yù)處理部分42對(duì)經(jīng)編碼的數(shù)據(jù)流執(zhí)行變長(zhǎng)編碼處理,隨后的宏塊處理引擎41A到41N執(zhí)行逆量化處理、逆正交變換處理等等以將數(shù)據(jù)轉(zhuǎn)換成圖像數(shù)據(jù)像素,并且隨后的后處理部分43對(duì)數(shù)據(jù)執(zhí)行濾波處理(圖12)。
通過(guò)預(yù)處理、對(duì)各個(gè)宏塊的處理以及后處理中的流水線處理,編碼器10和解碼器40比那些利用一個(gè)算術(shù)處理設(shè)備順序處理圖像數(shù)據(jù)的情況更高速地執(zhí)行編碼處理和解碼處理。
但是,由于在某些處理中存在等待時(shí)間,因此這些處理的簡(jiǎn)單流水線處理浪費(fèi)功率。因此,在編碼器10和解碼器40中,宏塊處理引擎11A到11N和41A到41N被分配給相對(duì)于其他宏塊其流水線處理具有最重處理負(fù)載的各個(gè)宏塊,并且多個(gè)宏塊處理引擎11A到11N和41A到41N并行地順序且同時(shí)處理宏塊(圖4和5)。
此外,由于臨時(shí)保存圖像數(shù)據(jù)的緩沖存儲(chǔ)器31是利用緩存存儲(chǔ)器32和主存儲(chǔ)器33來(lái)可緩存地配置的并且多個(gè)宏塊處理引擎11A到11N和41A到41N緩存處理所需的圖像數(shù)據(jù),因此處理速度被進(jìn)一步提高(圖4和5)。
但是,在利用宏塊處理引擎11A到11N和41A到41N的處理中,各個(gè)宏塊是通過(guò)參考已經(jīng)在其上完成了編碼和解碼處理的參考宏塊來(lái)處理的,并且參考宏塊是與將被處理的宏塊在同一條帶中的緊接前面的宏塊。因此,在編碼器10和解碼器40中,作為處理對(duì)象的條帶被從光柵掃描的開(kāi)始端一側(cè)起順序且循環(huán)地分配給各個(gè)宏塊處理引擎11A到11N和41A到41N,并且各個(gè)宏塊處理引擎11A到11N和41A到41N分別順序處理作為處理對(duì)象的條帶的宏塊。
但是,此外,在利用宏塊處理引擎11A到11N和41A到41N的處理中,參考宏塊還存在于緊接著的前一條帶中。因此,如果處理是通過(guò)簡(jiǎn)單地將各個(gè)條帶分別分配給多個(gè)宏塊處理引擎11A到11N和41A到41N來(lái)執(zhí)行的,則與MPEG-1、2(圖9)的情況一樣,在多個(gè)宏塊處理引擎11A到11N和41A到41N中存在等待時(shí)間,用于等待緊接著的前一條帶中的參考宏塊的處理完成,并且數(shù)據(jù)處理難以高速執(zhí)行。
因此,在編碼器10和解碼器40中,當(dāng)作為處理對(duì)象的條帶的各個(gè)宏塊被處理時(shí),各個(gè)條帶的處理開(kāi)始的定時(shí)被設(shè)置為相對(duì)于緊接著的前一條帶有所延遲,以使得存在于緊接著的前一條帶中的相應(yīng)參考宏塊的處理可以完成。因此,多個(gè)宏塊處理引擎11A到11N和41A到41N可以并行地同時(shí)處理各個(gè)宏塊(圖1)。
此外,在使用緩沖存儲(chǔ)器31的緩存操作中,各個(gè)宏塊處理引擎11A到11N和41A到41N的將被處理的宏塊的圖像數(shù)據(jù)以及參考宏塊的圖像數(shù)據(jù)被設(shè)置為處理對(duì)象,并且在防止緩存存儲(chǔ)器32的容量增大的同時(shí)提高了處理速度(圖10)。
但是,當(dāng)將被處理的宏塊的圖像數(shù)據(jù)和參考宏塊的圖像數(shù)據(jù)被簡(jiǎn)單地保存和緩存在緩存存儲(chǔ)器32中時(shí),對(duì)應(yīng)于以下數(shù)字的容量是緩存存儲(chǔ)器32所必需的,即該數(shù)字是這樣獲得的用宏塊處理引擎11A到11N和41A到41N的數(shù)目乘以宏塊的數(shù)目(1)和參考宏塊的數(shù)目之和(圖11A和11B)。
因此,在編碼器10和解碼器40中,宏塊被設(shè)置為使得正在處理的宏塊在緊接著的前一條帶中的部分參考宏塊與正在處理的宏塊在后一條帶中的部分參考宏塊可以重疊,更具體而言,作為處理對(duì)象的條帶中正在處理的宏塊在水平方向上相對(duì)于緊接著的前一條帶中正在處理的宏塊,在光柵掃描開(kāi)始端其間相距一個(gè)宏塊,從而各個(gè)條帶中的宏塊被處理(圖1)。
因此,在編碼器10和解碼器40中,與將被處理的宏塊的圖像數(shù)據(jù)和參考宏塊的圖像數(shù)據(jù)被簡(jiǎn)單地保存和緩存在緩存存儲(chǔ)器32中的情況相比,緩存存儲(chǔ)器32的容量可被減小像重疊的參考宏塊那么多,功耗可被減小,并且整體形狀可被制造得更小。
(3)實(shí)施例的效果根據(jù)上述配置,條帶被順序且循環(huán)分配給多個(gè)宏塊處理引擎,并且編碼處理和解碼處理是由多個(gè)算術(shù)處理設(shè)備并行地同時(shí)執(zhí)行的,并且各個(gè)條帶的處理開(kāi)始的定時(shí)被設(shè)置為使得正在處理的宏塊在每一條帶中的參考宏塊與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊可以部分重疊。因此,在通過(guò)利用多個(gè)算術(shù)處理設(shè)備并行地同時(shí)處理圖像數(shù)據(jù)來(lái)執(zhí)行編碼處理和解碼處理的配置中,緩存存儲(chǔ)器的容量可被減小。因此,整體功耗可被減小,并且配置可被簡(jiǎn)化,尺寸可被減小。
此外,由于緩存存儲(chǔ)器的容量被設(shè)置為對(duì)應(yīng)于如下數(shù)字的容量,因此緩存存儲(chǔ)器的容量可被設(shè)置為所需的最小值,所述數(shù)字是這樣獲得的從作為將被一個(gè)算術(shù)處理設(shè)備處理的宏塊的數(shù)目的值“1”與最大參考宏塊的數(shù)目之和與算術(shù)處理設(shè)備的數(shù)目相乘的乘積值中減去重疊的參考宏塊的數(shù)目。
實(shí)施例2圖14是對(duì)照?qǐng)D4示出本發(fā)明實(shí)施例2的視頻設(shè)備中的緩沖存儲(chǔ)器的配置的示意圖。在該實(shí)施例中,針對(duì)存儲(chǔ)在緩存存儲(chǔ)器32中的各個(gè)宏塊的數(shù)據(jù)設(shè)置有共享標(biāo)志,并且多個(gè)將被處理的宏塊之間重疊的參考宏塊是利用共享標(biāo)志來(lái)標(biāo)識(shí)的。此外,已經(jīng)對(duì)其設(shè)置了共享標(biāo)志的參考宏塊調(diào)整來(lái)自宏塊處理引擎11A到11C和41A到41C的沖突訪問(wèn)。
標(biāo)志的設(shè)置可以針對(duì)宏塊處理引擎11A到11C和41A到41C米執(zhí)行,并且可以利用用于分開(kāi)管理標(biāo)志的調(diào)度器來(lái)執(zhí)行。除了關(guān)于標(biāo)志的配置之外,本實(shí)施例的編碼器和解碼器具有與實(shí)施例1相同的配置。
通過(guò)像在本實(shí)施例中一樣設(shè)置標(biāo)志并且控制來(lái)自多個(gè)算術(shù)處理設(shè)備的訪問(wèn),可以獲得與實(shí)施例1相同的效果。
實(shí)施例3圖15和16A到16C是對(duì)照?qǐng)D1和11A到11C用于說(shuō)明本發(fā)明實(shí)施例3的視頻設(shè)備中的宏塊處理的示意圖。在本實(shí)施例中,在實(shí)施例1中描述的后處理部分13是利用多個(gè)用于后處理的宏塊處理引擎43A、43B和43C來(lái)配置的。除了利用多個(gè)用于后處理的宏塊處理引擎43A、43B和43C所配置的后處理部分13之外,本實(shí)施例的編碼器和解碼器具有與實(shí)施例1的編碼器和解碼器相同的配置。
這里,像在實(shí)施例1中宏塊處理引擎11A到11N和41A到41N的情況一樣,條帶被順序且循環(huán)分配給用于后處理的各個(gè)宏塊處理引擎43A、43B和43C,并且分別分配的多個(gè)條帶是按光柵掃描的順序來(lái)順序處理的。此外,引擎分別利用緩存存儲(chǔ)器執(zhí)行去塊濾波處理。此外,在各個(gè)條帶中,掃描開(kāi)始的定時(shí)被設(shè)置為使得緊接著的前一條帶中的參考宏塊與正在處理的宏塊的參考宏塊可以部分重疊。
這里,在H.264/AVC的去塊濾波處理中,如參考圖48所述,同一條帶的在掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y)和在緊接著的前一條帶中的正上方的相鄰宏塊(X,Y-1)被設(shè)置為宏塊(X,Y)的參考宏塊,并且宏塊(X,Y)是通過(guò)參考宏塊(X,Y-1)或(X-1,Y)的處理結(jié)果來(lái)處理的。
因此,在本實(shí)施例中,在每一條帶中正在處理的宏塊被設(shè)置為這樣的宏塊,該宏塊是在水平方向上相對(duì)于緊接著的前一條帶中正在處理的宏塊在光柵掃描開(kāi)始端一側(cè)的相鄰宏塊。因此,在本實(shí)施例中,在每個(gè)宏塊中,正上方的參考宏塊與緊接著的前一條帶中的參考宏塊重疊,并且多個(gè)算術(shù)處理部分在緩存存儲(chǔ)器容量被減小了重疊的參考宏塊的情況下并行地同時(shí)處理宏塊。
根據(jù)本實(shí)施例,由于多個(gè)算術(shù)處理設(shè)備在后處理的濾波處理中同樣并行地同時(shí)執(zhí)行處理,并且正在處理的宏塊在每一條帶中的參考宏塊被設(shè)置為與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊,因此緩存存儲(chǔ)器的容量可被減小,并且圖像數(shù)據(jù)可被更高速處理。
實(shí)施例4圖17和18A到18C是對(duì)照?qǐng)D1和11A到11C用于說(shuō)明本發(fā)明實(shí)施例4的視頻設(shè)備中的宏塊處理的示意圖。在本實(shí)施例中,圖像數(shù)據(jù)是按MPEG-4被編碼和解碼的。除了與格式相關(guān)的配置之外,本實(shí)施例的編碼器和解碼器具有與實(shí)施例1的編碼器和解碼器相同的配置。
這里,在MPEG-4的幀內(nèi)預(yù)測(cè)中,如參考圖44所述,同一條帶中在掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y)、緊接著的前一條帶中的正上方相鄰宏塊(X,Y-1)和在包含該正上方相鄰宏塊(X,Y-1)的條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y-1)被設(shè)置為宏塊(X,Y)的參考宏塊。
因此,在本實(shí)施例中,像在實(shí)施例1中宏塊處理引擎11A到11N和41A到41N的情況一樣,條帶被順序且循環(huán)分配給各個(gè)宏塊處理引擎,并且分別分配的多個(gè)條帶按光柵掃描的順序被順序處理。此外,引擎分別利用緩存存儲(chǔ)器處理宏塊,并且在各個(gè)條帶中,掃描開(kāi)始的定時(shí)被設(shè)置為使得緊接著的前一條帶中的參考宏塊與正在處理的宏塊的參考宏塊可以部分重疊。
更具體而言,在每一條帶中正在處理的宏塊被設(shè)置為這樣的宏塊,該宏塊是在水平方向上相對(duì)于緊接著的前一條帶中正在處理的宏塊在光柵掃描開(kāi)始端一側(cè)的相鄰宏塊。因此,在每個(gè)宏塊中,正上方的參考宏塊與緊接著的前一條帶中的參考宏塊重疊,并且多個(gè)算術(shù)處理部分在緩存存儲(chǔ)器容量被減小了重疊的參考宏塊的情況下并行地同時(shí)處理宏塊。
根據(jù)本實(shí)施例,當(dāng)本實(shí)施例被應(yīng)用到MPEG-4的處理時(shí),可以獲得與實(shí)施例1相同的效果。
實(shí)施例5圖19和20A到20C是對(duì)照?qǐng)D1和11A到11C用于說(shuō)明本發(fā)明實(shí)施例5的視頻設(shè)備中的宏塊處理的示意圖。在實(shí)施例5中,預(yù)處理部分12是在實(shí)施例4的MPEG-4編碼器和解碼器中用多個(gè)用于預(yù)處理的宏塊處理引擎12A、12B和12C來(lái)配置的。除了預(yù)處理部分12是利用多個(gè)用于預(yù)處理的宏塊處理引擎12A、12B和12C來(lái)配置的之外,本實(shí)施例的編碼器和解碼器具有與實(shí)施例4的編碼器和解碼器相同的配置。
這里,像宏塊處理引擎11A到11N和41A到41N的情況一樣,條帶被順序且循環(huán)分配給各個(gè)用于預(yù)處理的宏塊處理引擎12A、12B和12C,并且分別分配的多個(gè)條帶是按光柵掃描的順序來(lái)順序處理的。此外,引擎分別利用緩存存儲(chǔ)器執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的處理。此外,掃描開(kāi)始的定時(shí)被設(shè)置為使得緊接著的前一條帶中的參考宏塊與正在處理的宏塊的參考宏塊可以部分重疊。
這里,在MPEG-4的運(yùn)動(dòng)向量預(yù)測(cè)處理中,如參考圖45所述,在同一條帶的掃描開(kāi)始端一側(cè)的相鄰宏塊(X-1,Y)、緊接著的前一條帶中的正上方相鄰宏塊(X,Y-1)和在包含該正上方相鄰宏塊(X,Y-1)的條帶的掃描終止端一側(cè)的相鄰宏塊(X+1,Y-1)被設(shè)置為宏塊(X,Y)的參考宏塊,并且宏塊(X,Y)的運(yùn)動(dòng)向量是通過(guò)參考宏塊(X-1,Y)、(X,Y-1)或(X+1,Y-1)的運(yùn)動(dòng)向量來(lái)預(yù)測(cè)的。
因此,在本實(shí)施例中,用于預(yù)處理的各個(gè)宏塊處理引擎被設(shè)置為使得像在實(shí)施例1中的宏塊處理引擎11A到11N和41A到41N的情況一樣,每一條帶中正在處理的宏塊在水平方向上相對(duì)于緊接著的前一條帶中正在處理的宏塊在光柵掃描開(kāi)始端一側(cè)其間相距一個(gè)宏塊。因此,在本實(shí)施例中,在每個(gè)宏塊中,跟在正上方的參考宏塊后面的參考宏塊與在緊接著的前一條帶中的參考宏塊重疊,并且多個(gè)算術(shù)處理部分在緩存存儲(chǔ)器容量被減小了重疊的參考宏塊的情況下并行地同時(shí)執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)處理。
根據(jù)本實(shí)施例,由于多個(gè)算術(shù)處理設(shè)備在預(yù)處理的運(yùn)動(dòng)向量預(yù)測(cè)中同樣并行地同時(shí)執(zhí)行處理,并且每一條帶中正在處理的宏塊的參考宏塊被設(shè)置為與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊,因此可以減小緩存存儲(chǔ)器的容量,并且可以更高速地處理圖像數(shù)據(jù)。
實(shí)施例6圖21是對(duì)照?qǐng)D4示出本發(fā)明實(shí)施例6的編碼器的主要部分的框圖。在本實(shí)施例中,提供了兩個(gè)由多核處理器獨(dú)立配置的編碼器系統(tǒng)。此外,如參考實(shí)施例1所述,每個(gè)編碼器具有預(yù)處理部分12、多個(gè)宏塊處理引擎11A到11C以及后處理部分13。在本實(shí)施例中,緩沖存儲(chǔ)器31被兩個(gè)系統(tǒng)共享,并且兩個(gè)系統(tǒng)并行地同時(shí)生成具有不同比特率的經(jīng)編碼數(shù)據(jù)。在圖21中,第一系統(tǒng)的宏塊處理引擎用符號(hào)11AA到11AC示出,而第二系統(tǒng)的宏塊處理引擎用符號(hào)11BA到11BC示出。
這里,如圖22所述,對(duì)照?qǐng)D5,緩沖存儲(chǔ)器31通過(guò)利用三維地址(X,Y,Z)的地址管理來(lái)管理各個(gè)宏塊的圖像數(shù)據(jù),其中所述三維地址(X,Y,Z)是通過(guò)將用于標(biāo)識(shí)執(zhí)行處理的系統(tǒng)的一維地址添加到參考實(shí)施例1所描述的二維地址(X,Y)而形成的。因此,在本實(shí)施例中,當(dāng)主存儲(chǔ)器33被訪問(wèn)時(shí),三維地址(X,Y,Z)被地址轉(zhuǎn)換成一維地址。
如圖23到26所示,各個(gè)系統(tǒng)的宏塊處理引擎11AA到11AC以及11BA到11BC分別并行地同時(shí)處理已向其分配的多個(gè)條帶,從而在各個(gè)系統(tǒng)中,像在以上參考實(shí)施例1所述的各個(gè)宏塊處理引擎11A到11C的情況一樣,在每一條帶中正在處理的宏塊的參考宏塊與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊可以部分重疊。此外,在各個(gè)系統(tǒng)的預(yù)處理部分和后處理部分中,像在以上參考實(shí)施例1所述的各個(gè)宏塊處理引擎11A到11C的情況一樣,圖像數(shù)據(jù)是響應(yīng)于宏塊處理引擎11AA到11AC以及11BA到11BC的處理而被順序處理的。
在本實(shí)施例中,當(dāng)本發(fā)明被應(yīng)用到利用多個(gè)系統(tǒng)執(zhí)行處理的情況時(shí),可以獲得與實(shí)施例1相同的效果。
實(shí)施例7圖27是對(duì)照?qǐng)D21示出本發(fā)明實(shí)施例7的編碼器和解碼器的主要部分的框圖。在本實(shí)施例中,編碼器和解碼器分別是利用獨(dú)立的多核處理器來(lái)配置的。這里,像參考實(shí)施例1所描述的那樣,編碼器具有預(yù)處理部分12、多個(gè)宏塊處理引擎11A到11C和后處理部分13。像參考實(shí)施例1所描述的那樣,解碼器具有預(yù)處理部分42、多個(gè)宏塊處理引擎41A到41C和后處理部分43,并且后處理部分43由多個(gè)用于后處理的宏塊處理引擎43A到43C構(gòu)成。在本實(shí)施例中,緩沖存儲(chǔ)器31被編碼器的宏塊處理引擎11A到11C和解碼器的用于后處理的宏塊處理引擎43A到43C共享,并且H.264/AVC的經(jīng)編碼的數(shù)據(jù)被解碼,并且分開(kāi)輸入的圖像數(shù)據(jù)按H.264/AVC被編碼。
如圖28到31所示,對(duì)照?qǐng)D23到26,宏塊處理引擎11A到11C并行地同時(shí)處理已經(jīng)向其分配的多個(gè)條帶,從而如上所述,在每一條帶中正在處理的宏塊的參考宏塊與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊可以部分重疊。此外,用于后處理的宏塊處理引擎43A到43C也并行地同時(shí)處理已經(jīng)向其分配的多個(gè)條帶,從而如上所述,在每一條帶中正在處理的宏塊的參考宏塊與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊可以部分重疊。
在本實(shí)施例中,當(dāng)本發(fā)明被應(yīng)用到利用多個(gè)編碼器和解碼器系統(tǒng)來(lái)執(zhí)行處理的情況時(shí),可以獲得與實(shí)施例1相同的效果。
實(shí)施例8在本實(shí)施例中,提供了兩個(gè)由多核處理器獨(dú)立配置的編碼器系統(tǒng)。此外,如參考實(shí)施例1所述,每個(gè)編碼器具有預(yù)處理部分12、多個(gè)宏塊處理引擎11A到11C以及后處理部分13。此外,預(yù)處理部分12由多個(gè)用于預(yù)處理的宏塊處理引擎12AA到12AC和12BA到12BC構(gòu)成。在本實(shí)施例中,緩沖存儲(chǔ)器31被用于預(yù)處理的宏塊處理引擎12AA到12AC和12BA到12BC的兩個(gè)系統(tǒng)共享,并且在H.264/AVC的預(yù)處理中的運(yùn)動(dòng)向量預(yù)測(cè)的處理被執(zhí)行,并且兩個(gè)系統(tǒng)輸出經(jīng)編碼的數(shù)據(jù)。
圖32和33是對(duì)照?qǐng)D28到31用于說(shuō)明用于預(yù)處理的宏塊處理引擎12AA到12AC和12BA到12BC的兩個(gè)系統(tǒng)的操作的示意圖。在本實(shí)施例中,各個(gè)系統(tǒng)的用于預(yù)處理的宏塊處理引擎12AA到12AC和12BA到12BC分別并行地同時(shí)處理已經(jīng)向其分配的多個(gè)條帶,從而在各個(gè)系統(tǒng)內(nèi),如上所述,在每一條帶中正在處理的宏塊的參考宏塊與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊可以部分重疊。
根據(jù)本實(shí)施例,當(dāng)本發(fā)明被應(yīng)用到利用兩個(gè)編碼器系統(tǒng)的運(yùn)動(dòng)向量預(yù)測(cè)時(shí),可以獲得與實(shí)施例1相同的效果。
實(shí)施例9圖34是對(duì)照?qǐng)D21示出本發(fā)明實(shí)施例9的視頻設(shè)備中的緩沖存儲(chǔ)器的配置的示意圖。在本實(shí)施例中,如以上參考圖14所述,對(duì)照?qǐng)D4,為存儲(chǔ)在緩存存儲(chǔ)器32中的各個(gè)宏塊的數(shù)據(jù)設(shè)置了共享標(biāo)志,并且在正在處理的多個(gè)宏塊之間重疊的參考宏塊用標(biāo)志標(biāo)識(shí)出。此外,來(lái)自多個(gè)宏塊處理引擎的訪問(wèn)是參考標(biāo)志來(lái)調(diào)整的。
當(dāng)像該實(shí)施例一樣利用多個(gè)系統(tǒng)執(zhí)行處理時(shí),可以通過(guò)控制來(lái)自多個(gè)算術(shù)處理設(shè)備的訪問(wèn)來(lái)獲得與實(shí)施例1相同的效果。
實(shí)施例10
在本實(shí)施例中,提供了用多核處理器獨(dú)立配置的編碼器和解碼器。這里,如參考實(shí)施例1所述,編碼器具有預(yù)處理部分12、多個(gè)宏塊處理引擎11A到11C以及后處理部分13。此外,預(yù)處理部分12由多個(gè)用于預(yù)處理的宏塊處理引擎12A到12C構(gòu)成。像參考實(shí)施例1所描述的那樣,解碼器具有預(yù)處理部分42、多個(gè)宏塊處理引擎41A到41C和后處理部分43,并且后處理部分43由多個(gè)用于后處理的宏塊處理引擎43A到43C構(gòu)成。在本實(shí)施例中,緩沖存儲(chǔ)器31被編碼器的用于預(yù)處理的宏塊處理引擎12A到12C和解碼器的用于后處理的宏塊處理引擎43A到43C共享,并且H.264/AVC的經(jīng)編碼的數(shù)據(jù)被解碼出,并且解碼出的圖像數(shù)據(jù)按MPEG-4被編碼。
此外,在這些編碼器和解碼器中,用于預(yù)處理的宏塊處理引擎12A到12C和用于后處理的宏塊處理引擎43A到43C按針對(duì)各個(gè)宏塊處理分別設(shè)置的定時(shí)來(lái)并行地同時(shí)處理所負(fù)責(zé)的多個(gè)條帶,從而,像在上述實(shí)施例中的情況一樣,在每一條帶中正在處理的宏塊的參考宏塊與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊可以部分重疊。
此外,在本實(shí)施例中,如圖35和36所示,編碼器和解碼器被同步操作,并且解碼出的處理結(jié)果被保存在緩存存儲(chǔ)器32中。保存在緩存存儲(chǔ)器32中的解碼器的處理結(jié)果在它們被保存在緩存存儲(chǔ)器32中之后的用符號(hào)A、B、C…所示的宏塊處理周期中被處理。
在本實(shí)施例中,由于在緩沖存儲(chǔ)器中使用緩存存儲(chǔ)器將解碼出的圖像數(shù)據(jù)輸入到編碼器,因此整體存儲(chǔ)容量被進(jìn)一步減小。
實(shí)施例11圖37是對(duì)照?qǐng)D21本發(fā)明實(shí)施例11的編碼器和解碼器的主要部分的框圖。這里,如參考實(shí)施例1所述,編碼器具有預(yù)處理部分12、多個(gè)宏塊處理引擎11A到11C以及后處理部分13。此外,預(yù)處理部分12由多個(gè)用于運(yùn)動(dòng)向量檢測(cè)的宏塊處理引擎12AA到12AC以及多個(gè)用于運(yùn)動(dòng)向量預(yù)測(cè)的宏塊處理引擎12BA到12BC構(gòu)成,其中所述宏塊處理引擎12AA到12AC分別用于檢測(cè)運(yùn)動(dòng)向量,而宏塊處理引擎12BA到12BC分別用于執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)處理。像參考實(shí)施例1所描述的那樣,解碼器具有預(yù)處理部分42、多個(gè)宏塊處理引擎41A到41C和后處理部分43,并且后處理部分43由多個(gè)用于后處理的宏塊處理引擎43A到43C構(gòu)成。在本實(shí)施例中,緩沖存儲(chǔ)器31被編碼器的宏塊處理引擎12AA到12AC和12BA到12BC以及解碼器的用于后處理的宏塊處理引擎43A到43C共享,并且H.264/AVC的經(jīng)編碼的數(shù)據(jù)被解碼出,并且解碼出的圖像數(shù)據(jù)按MPEG-4被編碼。
此外,在這些編碼器和解碼器中,用于運(yùn)動(dòng)向量檢測(cè)的宏塊處理引擎12AA到12AC、用于運(yùn)動(dòng)向量預(yù)測(cè)的宏塊處理引擎12BA到12BC和用于后處理的宏塊處理引擎43A到43C按針對(duì)各個(gè)宏塊處理分別設(shè)置的定時(shí)來(lái)并行地同時(shí)處理所負(fù)責(zé)的多個(gè)條帶,從而,像在上述實(shí)施例中的情況一樣,在每一條帶中正在處理的宏塊的參考宏塊與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊可以部分重疊。
此外,在本實(shí)施例中,如圖38到40所示,編碼器和解碼器被同步操作,并且解碼出的處理結(jié)果被保存在緩存存儲(chǔ)器32中。保存在緩存存儲(chǔ)器32中的解碼器的處理結(jié)果在它們被保存在緩存存儲(chǔ)器32中之后的用符號(hào)A到D所示的宏塊處理周期中被傳遞到隨后的編碼處理。
在本實(shí)施例中,當(dāng)本發(fā)明被應(yīng)用到三個(gè)連續(xù)的解碼和編碼過(guò)程時(shí),可以獲得與實(shí)施例9相同的效果。
實(shí)施例12在上述實(shí)施例中,利用已經(jīng)預(yù)先設(shè)置的固定功能塊來(lái)編碼和解碼圖像數(shù)據(jù)的情況被描述,但是,不局限于此,即使在功能塊根據(jù)將被處理的圖像數(shù)據(jù)的格式、各個(gè)處理的負(fù)載等被動(dòng)態(tài)改變時(shí),本發(fā)明也可被廣泛地應(yīng)用。在此情況下,需要設(shè)置各個(gè)功能塊的算術(shù)處理部分的數(shù)目,以使得緩存存儲(chǔ)器的容量可以是對(duì)應(yīng)于如下宏塊數(shù)目的容量,所述宏塊數(shù)目是這樣獲得的用多個(gè)算術(shù)處理部分的數(shù)目乘以一個(gè)宏塊的參考宏塊的數(shù)目與值“1”之和,然后再?gòu)某朔e值中減去部分重疊的參考宏塊的數(shù)目。
此外,在上述實(shí)施例中,描述了利用多個(gè)算術(shù)處理設(shè)備來(lái)并行地同時(shí)執(zhí)行幀內(nèi)預(yù)測(cè)等處理的情況,但是,不局限于此,本發(fā)明可廣泛應(yīng)用到一起執(zhí)行預(yù)濾波處理、后濾波處理等的情況。此外,本發(fā)明可應(yīng)用于運(yùn)動(dòng)向量、宏塊類型等的傳輸。
此外,在上述實(shí)施例中,描述了根據(jù)H.264/AVC對(duì)圖像數(shù)據(jù)執(zhí)行編碼處理和解碼處理的情況,但是,不局限于此,本發(fā)明可廣泛應(yīng)用于根據(jù)其他各種編碼方法來(lái)執(zhí)行編碼處理和解碼處理的情況。
此外,在上述實(shí)施例中,描述了利用多個(gè)中央處理單元來(lái)配置并行地同時(shí)處理圖像數(shù)據(jù)的多個(gè)算術(shù)處理部分的情況,但是,不局限于此,本發(fā)明可廣泛應(yīng)用于利用軟件等來(lái)配置并行地同時(shí)處理圖像數(shù)據(jù)的多個(gè)算術(shù)處理部分的情況。在此情況下,軟件程序可以通過(guò)預(yù)先安裝它們而被提供,或者可以通過(guò)將它們記錄在諸如光盤、磁盤和存儲(chǔ)器卡之類的記錄介質(zhì)中而被提供,或者可以經(jīng)由諸如因特網(wǎng)之類的網(wǎng)絡(luò)來(lái)提供。
本發(fā)明可被應(yīng)用到根據(jù)例如H.264/MPEG-4AVC(ITU-T Rec.H.264ISO/IEC 14496-10AVC)標(biāo)準(zhǔn)來(lái)編碼和解碼視頻數(shù)據(jù)的情況。
本領(lǐng)域技術(shù)人員應(yīng)該理解,取決于設(shè)計(jì)需求和其他因素,可以進(jìn)行發(fā)生各種修改、組合、子組合和替換,只要它們落在所附權(quán)利要求或其等同物的范圍中即可。
本發(fā)明包含與2006年4月27日遞交到日本專利局的日本專利申請(qǐng)JP2006-122890相關(guān)的主題,該日本專利申請(qǐng)的全部?jī)?nèi)容通過(guò)引用被結(jié)合于此。
權(quán)利要求
1.一種圖像數(shù)據(jù)處理裝置,包括多個(gè)算術(shù)處理部分,它們分別以宏塊為單位編碼或解碼圖像數(shù)據(jù);主存儲(chǔ)器,其積累和保存用于所述多個(gè)算術(shù)處理部分的處理的數(shù)據(jù);以及所述多個(gè)算術(shù)處理部分的緩存存儲(chǔ)器,其保存保存在所述主存儲(chǔ)器中的數(shù)據(jù)的一部分,其中所述圖像數(shù)據(jù)的條帶被順序且循環(huán)地分別分配給所述多個(gè)算術(shù)處理部分,并且多個(gè)條帶被設(shè)置為處理對(duì)象,所述多個(gè)算術(shù)處理部分處理保存在所述緩存存儲(chǔ)器中的數(shù)據(jù),并按照光柵掃描的順序在對(duì)作為處理對(duì)象的所述多個(gè)條帶的宏塊的處理序列中并行地同時(shí)編碼或解碼所述圖像數(shù)據(jù),以建立每一條帶的處理與緊接著的前一條帶的處理之間的一致關(guān)系,并且所述一致關(guān)系是這樣一種關(guān)系當(dāng)前條帶和緊接著的前一條帶可被并行地同時(shí)處理,并且當(dāng)前條帶中正在處理的宏塊在距緊接著的前一條帶中正在處理的宏塊預(yù)定數(shù)目個(gè)宏塊的光柵掃描開(kāi)始端一側(cè)處,從而使得在當(dāng)前條帶中正在處理的宏塊的參考宏塊可以與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊。
2.如權(quán)利要求1所述的圖像數(shù)據(jù)處理裝置,其中所述緩存存儲(chǔ)器的容量是對(duì)應(yīng)于如下宏塊數(shù)目的容量,其中所述宏塊數(shù)目是這樣獲得的用一個(gè)宏塊的參考宏塊的數(shù)目與值“1”的和乘以所述多個(gè)算術(shù)處理部分的數(shù)目,然后再?gòu)某朔e值中減去部分重疊的參考宏塊的數(shù)目。
3.如權(quán)利要求1所述的圖像數(shù)據(jù)處理裝置,其中所述多個(gè)算術(shù)處理部分的數(shù)目被設(shè)置為使得所述緩存存儲(chǔ)器的容量是對(duì)應(yīng)于如下宏塊數(shù)目的容量,其中所述宏塊數(shù)目是這樣獲得的用一個(gè)宏塊的參考宏塊的數(shù)目與值“1”的和乘以所述多個(gè)算術(shù)處理部分的數(shù)目,然后再?gòu)某朔e值中減去部分重疊的參考宏塊的數(shù)目。
4.如權(quán)利要求1所述的圖像數(shù)據(jù)處理裝置,還包括所述多個(gè)算術(shù)處理部分的處理系統(tǒng)的多個(gè)系統(tǒng),其中所述緩存存儲(chǔ)器被所述多個(gè)算術(shù)處理部分的所述多個(gè)系統(tǒng)共享。
5.一種以宏塊為單位編碼或解碼圖像數(shù)據(jù)的圖像數(shù)據(jù)處理方法,包括以下步驟將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)編碼和解碼所需數(shù)據(jù)的主存儲(chǔ)器中;將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)在所述主存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)的緩存存儲(chǔ)器中;以及使用保存在所述緩存存儲(chǔ)器中的數(shù)據(jù)來(lái)利用多個(gè)算術(shù)處理裝置分別同時(shí)地執(zhí)行編碼或解碼所述圖像數(shù)據(jù)的并行處理,從而以宏塊為單位并行地同時(shí)處理通過(guò)順序且循環(huán)地分配圖像數(shù)據(jù)的條帶而設(shè)置的多個(gè)處理對(duì)象,其中所述同時(shí)并行處理步驟按照光柵掃描的順序在對(duì)作為處理對(duì)象的所述多個(gè)條帶的宏塊的處理序列中編碼或解碼所述圖像數(shù)據(jù),以建立每一條帶的處理與緊接著的前一條帶的處理之間的一致關(guān)系,并且所述一致關(guān)系是這樣一種關(guān)系當(dāng)前條帶和緊接著的前一條帶可被并行地同時(shí)處理,并且當(dāng)前條帶中正在處理的宏塊在距緊接著的前一條帶中正在處理的宏塊預(yù)定數(shù)目個(gè)宏塊的光柵掃描開(kāi)始端一側(cè)處,從而使得在當(dāng)前條帶中正在處理的宏塊的參考宏塊可以與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊。
6.一種用于圖像數(shù)據(jù)處理方法的程序,所述圖像數(shù)據(jù)處理方法通過(guò)算術(shù)處理裝置的執(zhí)行來(lái)以宏塊為單位編碼或解碼圖像數(shù)據(jù),所述用于圖像數(shù)據(jù)處理方法的程序包括以下步驟將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)編碼和解碼所需數(shù)據(jù)的主存儲(chǔ)器中;將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)在所述主存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)的緩存存儲(chǔ)器中;以及使用保存在所述緩存存儲(chǔ)器中的數(shù)據(jù)來(lái)利用多個(gè)算術(shù)處理裝置分別同時(shí)地執(zhí)行編碼或解碼所述圖像數(shù)據(jù)的并行處理,從而以宏塊為單位并行地同時(shí)處理通過(guò)順序且循環(huán)地分配圖像數(shù)據(jù)的條帶而設(shè)置的多個(gè)處理對(duì)象,其中所述同時(shí)并行處理步驟按照光柵掃描的順序在對(duì)作為處理對(duì)象的所述多個(gè)條帶的宏塊的處理序列中編碼或解碼所述圖像數(shù)據(jù),以建立每一條帶的處理與緊接著的前一條帶的處理之間的一致關(guān)系,并且所述一致關(guān)系是這樣一種關(guān)系當(dāng)前條帶和緊接著的前一條帶可被并行地同時(shí)處理,并且當(dāng)前條帶中正在處理的宏塊在距緊接著的前一條帶中正在處理的宏塊預(yù)定數(shù)目個(gè)宏塊的光柵掃描開(kāi)始端一側(cè)處,從而使得在當(dāng)前條帶中正在處理的宏塊的參考宏塊可以與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊。
7.一種記錄有用于圖像數(shù)據(jù)處理方法的程序的記錄介質(zhì),所述圖像數(shù)據(jù)處理方法通過(guò)算術(shù)處理裝置的執(zhí)行來(lái)以宏塊為單位編碼或解碼圖像數(shù)據(jù),所述用于圖像數(shù)據(jù)處理方法的程序包括以下步驟將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)編碼和解碼所需數(shù)據(jù)的主存儲(chǔ)器中;將數(shù)據(jù)存儲(chǔ)在用于存儲(chǔ)在所述主存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)的緩存存儲(chǔ)器中;以及使用保存在所述緩存存儲(chǔ)器中的數(shù)據(jù)來(lái)利用多個(gè)算術(shù)處理裝置分別同時(shí)地執(zhí)行編碼或解碼所述圖像數(shù)據(jù)的并行處理,從而以宏塊為單位并行地同時(shí)處理通過(guò)順序且循環(huán)地分配圖像數(shù)據(jù)的條帶而設(shè)置的多個(gè)處理對(duì)象,其中所述同時(shí)的并行處理步驟按照光柵掃描的順序在對(duì)作為處理對(duì)象的所述多個(gè)條帶的宏塊的處理序列中編碼或解碼所述圖像數(shù)據(jù),以建立每一條帶的處理與緊接著的前一條帶的處理之間的一致關(guān)系,并且所述一致關(guān)系是這樣一種關(guān)系當(dāng)前條帶和緊接著的前一條帶可被并行地同時(shí)處理,并且當(dāng)前條帶中正在處理的宏塊在距緊接著的前一條帶中正在處理的宏塊預(yù)定數(shù)目個(gè)宏塊的光柵掃描開(kāi)始端一側(cè)處,從而使得在當(dāng)前條帶中正在處理的宏塊的參考宏塊可以與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊。
全文摘要
一種圖像數(shù)據(jù)處理裝置包括多個(gè)算術(shù)處理部分;主存儲(chǔ)器;利緩存存儲(chǔ)器,其中圖像數(shù)據(jù)的條帶被順序且循環(huán)地分別分配給所述多個(gè)算術(shù)處理部分,并且將被處理的多個(gè)條帶被設(shè)置為處理對(duì)象,并且所述多個(gè)算術(shù)處理部分并行地處理圖像數(shù)據(jù),以建立每一條帶的處理與緊接著的前一條帶的處理之間的一致關(guān)系,在該一致關(guān)系中,當(dāng)前條帶和緊接著的前一條帶可被并行地同時(shí)處理,從而使得在當(dāng)前條帶中正在處理的宏塊的參考宏塊可以與該正在處理的宏塊在緊接著的前一條帶中的參考宏塊部分重疊。
文檔編號(hào)H04N7/50GK101064848SQ20071009764
公開(kāi)日2007年10月31日 申請(qǐng)日期2007年4月27日 優(yōu)先權(quán)日2006年4月27日
發(fā)明者伊東義之, 福島哲哉, 柳田幸雄 申請(qǐng)人:索尼株式會(huì)社