欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

圖像解碼裝置及圖像編碼裝置的制作方法

文檔序號(hào):7732064閱讀:135來源:國(guó)知局
專利名稱:圖像解碼裝置及圖像編碼裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及進(jìn)行運(yùn)動(dòng)圖像數(shù)據(jù)的解碼或編碼的圖像解碼裝置、圖像編碼裝置、圖
像解碼方法及圖像編碼方法。
背景技術(shù)
作為將運(yùn)動(dòng)圖像數(shù)據(jù)壓縮編碼(以下單稱作"編碼")的技術(shù),采用利用幀間差分 的MPEG(Motion Pictures Experts Group :運(yùn)動(dòng)圖像專家組)編碼方式的情況較多。作 為MPEG編碼方式,以往使用MPEG-2(IS0/IEC13818-2)及MPEG-4(IS0/IEC14496-2)。除 此以外,近年來,漸漸采用H. 264/MPEG-4AVC(IS0/IEC14496-10)(以下單稱作"H. 264")及 VC-l(SMPTE 421M)這些新的編碼方式。 在這樣的編碼標(biāo)準(zhǔn)中,將1個(gè)畫面(圖片)內(nèi)分割為規(guī)定像素?cái)?shù)的塊(亮度成分
16像素X 16像素),以該塊為單位進(jìn)行解碼處理或編碼處理。將該像素塊稱作宏塊。 在以H. 264為代表的新的編碼方式中,在將宏塊編碼時(shí),利用與該處理對(duì)象宏塊
相鄰的宏塊(以下稱作相鄰宏塊)與處理對(duì)象宏塊之間的相關(guān),來提高壓縮效率。即,在該
新的編碼方式中,存在基于位置的依存關(guān)系。 圖22是表示H. 264的基于位置的依存關(guān)系的圖。 具體而言,在將某個(gè)任意的宏塊作為處理對(duì)象宏塊進(jìn)行解碼或編碼時(shí),如圖22所 示,需要參照與處理對(duì)象宏塊相鄰的左相鄰宏塊A、左上相鄰宏塊D、上相鄰宏塊B、以及右 上相鄰宏塊C這4個(gè)相鄰宏塊的處理結(jié)果。 因此,必須預(yù)先將這些相鄰宏塊編碼或解碼。即,在解碼處理及編碼處理中,存在 基于左相鄰宏塊A、左上相鄰宏塊D、上相鄰宏塊B、以及右上相鄰宏塊C的位置的依存關(guān)系。
為了高速進(jìn)行解碼處理或編碼處理,使用多個(gè)將宏塊解碼的解碼部或?qū)⒑陦K編碼 的編碼部進(jìn)行并行處理,為此需要解決該基于位置的依存關(guān)系。在專利文獻(xiàn)l中,提出了解 決該依存關(guān)系的方法。 圖23是表示上述專利文獻(xiàn)1中記載的圖像解碼裝置及圖像編碼裝置的處理順序 的圖。在圖23中,賦予各宏塊MB內(nèi)的號(hào)碼表示將該宏塊MB解碼或編碼的處理順序。艮卩, 將相同號(hào)碼的宏塊MB同時(shí)并行地處理。 如圖23所示,上述專利文獻(xiàn)1的圖像解碼裝置及圖像編碼裝置從圖片Pic的左上 的宏塊MB開始處理,在處理某個(gè)任意的宏塊MB的情況下,通過將位于該宏塊MB的下1行 的左側(cè)第2列的宏塊MB并行處理,解決了上述基于位置的依存關(guān)系。
專利文獻(xiàn)1日本特開2006-129284號(hào)公報(bào) 但是,即使是上述專利文獻(xiàn)1的圖像解碼裝置及圖像編碼裝置中,也不能并行地 執(zhí)行以H. 264為代表的新的編碼方式的解碼處理或編碼處理,有不能使解碼處理或編碼處 理高速化的問題。 在以H. 264為代表的新的編碼方式中,還利用與剛解碼完或剛編碼完的宏塊之間 的相關(guān),來提高壓縮效率。例如在H. 264中,對(duì)于某個(gè)任意的宏塊的量化參數(shù)QP,利用在其
5之前剛處理的宏塊的量化參數(shù)(QP—PREV),來計(jì)算該量化參數(shù)QP。因此,為了將某個(gè)任意的 宏塊解碼或編碼,需要參照在其之前剛處理的宏塊。即,除了上述基于位置的依存關(guān)系以 外,還有基于處理順序的依存關(guān)系。 圖24是表示H. 264的基于處理順序的依存關(guān)系的圖。 在MPEG編碼方式中,如圖24所示,圖片Pic內(nèi)的宏塊MB以光柵掃描順序進(jìn)行處 理。這里,賦予在圖24中的宏塊MB的標(biāo)號(hào)表示處理順序,箭頭表示基于處理順序的依存關(guān) 系。通常,之前剛處理的宏塊MB為處理對(duì)象宏塊MB的左相鄰宏塊MB,所以該處理對(duì)象宏塊 MB的基于處理順序的依存關(guān)系與基于位置的依存關(guān)系相同。但是,在處理位于圖片Pic的 左端的宏塊MB的情況下,之前剛處理的宏塊MB為位于其上1行的右端的宏塊MB。例如,在 圖24中,9號(hào)的宏塊MB的之前剛處理的宏塊MB是8號(hào)的宏塊MB,是位于上1行的右端的 宏塊MB。 在上述專利文獻(xiàn)1的圖像解碼裝置及圖像編碼裝置中,在處理位于圖片Pic的左 端的宏塊MB之前,不處理位于該宏塊MB (處理對(duì)象宏塊)的上1行的右端的宏塊MB,不能 解決基于處理順序的依存關(guān)系。即,在上述專利文獻(xiàn)l的圖像解碼裝置及圖像編碼裝置中, 不能并行地進(jìn)行解碼及編碼。

發(fā)明內(nèi)容
所以,本發(fā)明是鑒于這樣的問題而做出的,目的在于提供一種解決在以11.264為
代表的新的編碼方式中存在的基于處理順序的依存關(guān)系從而將運(yùn)動(dòng)圖像數(shù)據(jù)并行地解碼
及編碼的圖像解碼裝置、圖像編碼裝置、圖像解碼方法及圖像編碼方法。 為了達(dá)到上述目的,有關(guān)本發(fā)明的圖像解碼裝置,是對(duì)編碼流進(jìn)行解碼的圖像解
碼裝置,上述編碼流是將由多個(gè)塊構(gòu)成的圖片按照每個(gè)塊進(jìn)行編碼而生成的,其特征在于,
具備預(yù)解碼部,按照包含在上述編碼流中的由多個(gè)塊構(gòu)成的每個(gè)塊組,對(duì)該塊組進(jìn)行作為
解碼處理的一部分的預(yù)解碼處理,由此生成作為在其他塊組的上述解碼處理中需要的參數(shù)
的塊解碼信息;以及多個(gè)塊解碼部,分別對(duì)包含在上述編碼流中的相互不同的塊組以塊為
單位并行地進(jìn)行上述解碼處理;上述多個(gè)塊解碼部的每一個(gè)在對(duì)上述塊組進(jìn)行上述解碼處
理時(shí),使用已經(jīng)對(duì)由其他塊解碼部進(jìn)行上述解碼處理的其他塊組進(jìn)行了的上述預(yù)解碼處理
中所生成的上述塊解碼信息,對(duì)上述塊組進(jìn)行上述解碼處理。 例如,在進(jìn)行第一塊解碼部對(duì)第一塊組的解碼處理、和第二塊解碼部對(duì)第二塊組 的解碼處理時(shí),在第一及第二塊組中有以H. 264為代表的新的編碼方式中存在的基于處 理順序的依次關(guān)系的情況下,在第二塊組的解碼處理中,需要對(duì)第一塊組進(jìn)行預(yù)解碼處理 (可變長(zhǎng)編碼)而生成的塊解碼信息(例如量化參數(shù)等)。所以,在本發(fā)明中,在第一塊組的 解碼處理之前,對(duì)該第一塊組進(jìn)行預(yù)解碼處理,使用通過該預(yù)解碼處理得到的塊解碼信息, 并行地進(jìn)行第一塊組的解碼處理和第二塊組的解碼處理。這樣,在本發(fā)明中,通過事前進(jìn)行 預(yù)解碼處理來生成塊解碼信息,多個(gè)塊解碼部即使不以預(yù)先決定的處理順序?qū)K組依次解 碼,也能夠解決存在于以H. 264為代表的新的編碼方式中的基于處理順序的依存關(guān)系而并 行地進(jìn)行解碼處理。進(jìn)而,在本發(fā)明中,多個(gè)塊解碼部不是分別對(duì)預(yù)解碼處理后的塊組進(jìn)行 解碼處理中的除了預(yù)解碼處理以外的其余的處理,而是對(duì)包含在編碼流中的塊組進(jìn)行全部 解碼處理,所以不需要生成具有預(yù)解碼處理后的多個(gè)塊組的已部分解碼的編碼流。該已部分解碼的編碼流的數(shù)據(jù)量比原來的編碼流多。因而,在本發(fā)明中,由于多個(gè)塊解碼部對(duì)包含 在原來的編碼流中的塊組進(jìn)行全部解碼處理,所以能夠抑制在解碼處理之前臨時(shí)儲(chǔ)存作為 解碼處理的對(duì)象的流的緩沖器的容量。 此外,其特征也可以是,上述預(yù)解碼部還在上述編碼流的上述各塊組的開頭,插入
能夠唯一地判斷是該塊組的開頭的位模式;上述多個(gè)塊解碼部的每一個(gè)通過檢索插入到上
述編碼流中的位模式,找到該塊解碼部應(yīng)進(jìn)行上述解碼處理的塊組,來將上述塊組解碼。 由此,由于在編碼流的各塊組的開頭插入了位模式,所以各塊解碼部能夠不對(duì)編
碼流從其開頭起依次進(jìn)行可變長(zhǎng)編碼而容易地找到作為解碼對(duì)象的塊組。 此外,其特征也可以是,上述預(yù)解碼部還將生成的上述塊解碼信息插入到上述編
碼流中;上述多個(gè)塊解碼部的每一個(gè)取得插入了上述塊解碼信息的上述編碼流,使用插入
到上述編碼流中的上述塊解碼信息對(duì)上述塊組進(jìn)行上述解碼處理。 由此,由于塊解碼信息插入在編碼流中,所以各塊解碼部在取得編碼流時(shí)也能夠 取得塊解碼信息,能夠容易地取得塊解碼信息。 此外,其特征也可以是,上述預(yù)解碼部在生成上述塊解碼信息時(shí),生成通過對(duì)上述 塊組進(jìn)行上述預(yù)解碼處理而得到的、在包含于上述塊組中的最后的塊的上述解碼處理中需 要的系數(shù)與預(yù)先決定的系數(shù)之間的差分作為上述塊解碼信息。 由此,由于作為塊解碼信息而生成在最后的塊的解碼處理中需要的系數(shù)(例如量 化參數(shù))與預(yù)先決定的系數(shù)(例如保存在片數(shù)據(jù)中的量化參數(shù)的初始值)之間的差分,所 以與生成最后的塊的系數(shù)本身作為塊解碼信息相比,能夠抑制塊解碼信息的數(shù)據(jù)量。
為了達(dá)到上述目的,有關(guān)本發(fā)明的圖像編碼裝置,是將具有由多個(gè)塊構(gòu)成的塊組 的圖片按照每個(gè)塊進(jìn)行編碼的圖像編碼裝置,其特征在于,具備多個(gè)塊編碼部,分別將包 含在上述圖片中的相互不同的塊組以塊為單位并行地進(jìn)行編碼;以及調(diào)整部,通過調(diào)整包 含在上述多個(gè)塊編碼部進(jìn)行編碼而生成的中間流中的、在編碼中使用的參數(shù),使上述中間 流與以預(yù)先決定的處理順序?qū)谏鲜鰣D片中的多個(gè)塊組依次編碼而生成的編碼流一 致。 由此,即使多個(gè)塊編碼部將多個(gè)塊組并行地編碼,通過調(diào)整部對(duì)參數(shù)(例如量化 參數(shù))進(jìn)行調(diào)整,也能夠生成與將多個(gè)塊組以預(yù)先決定的處理順序依次編碼時(shí)生成的編碼 流同樣的流。結(jié)果,能夠解決在以H. 264為代表的新的編碼方式中存在的基于處理順序的 依存關(guān)系而并行地編碼。 此外,其特征也可以是,上述調(diào)整部決定在上述多個(gè)塊編碼部的編碼中使用的參 數(shù);上述多個(gè)塊編碼部分別通過使用由上述調(diào)整部決定的參數(shù)進(jìn)行編碼,生成與上述編碼 流一致的上述中間流。 由此,在各塊編碼部的編碼中使用的參數(shù)被決定,并且使用該參數(shù)進(jìn)行編碼,所以 各塊編碼部即使其他塊編碼部的編碼沒有進(jìn)行,也能夠知道在該編碼中使用的已經(jīng)決定的 參數(shù),能夠?qū)⒃谧约旱木幋a中使用的其他參數(shù)使用該決定的參數(shù)進(jìn)行處理之后包含在編碼 流中。結(jié)果,能夠簡(jiǎn)單地生成與編碼流一致的中間流。 此外,其特征也可以是,上述多個(gè)塊編碼部的每一個(gè)在將塊組編碼時(shí),將在上述塊 組的編碼中使用的參數(shù)包含在通過上述塊組的編碼而生成的編碼塊組中,并且將上述參數(shù) 中的至少一部分作為保存參數(shù)進(jìn)行保存;上述調(diào)整部按照包含在所生成的上述中間流中的每個(gè)編碼塊組,使用在與該編碼塊組不同的其他編碼塊組的編碼中使用并保存的上述保存 參數(shù),修正該編碼塊組的參數(shù),由此使上述中間流與上述編碼流一致。 由此,在生成了中間流之后進(jìn)行修正以使其與編碼流一致,所以與如上述那樣預(yù)
先決定參數(shù)而按照該參數(shù)進(jìn)行編碼的情況相比,能夠進(jìn)行更適當(dāng)?shù)木幋a。 另外,本發(fā)明不僅能夠作為這樣的圖像解碼裝置及圖像編碼裝置實(shí)現(xiàn),也能夠作
為圖像解碼方法、圖像編碼方法、用來使計(jì)算機(jī)進(jìn)行解碼或編碼的程序、保存該程序的存儲(chǔ)
媒體、以及集成電路來實(shí)現(xiàn)。 發(fā)明效果 根據(jù)本發(fā)明的圖像解碼裝置及圖像編碼裝置,能夠?qū)⒋嬖诨谔幚眄樞虻囊来骊P(guān) 系的編碼圖像并行地解碼,能夠高速地將編碼圖像解碼,并且能夠以存在基于處理順序的 依存關(guān)系的編碼方式將圖像并行地編碼,能夠高速地將圖像編碼。


圖1是本發(fā)明的實(shí)施方式1的圖像解碼裝置的結(jié)構(gòu)圖。 圖2是實(shí)施方式1的宏塊解碼部的結(jié)構(gòu)圖。 圖3是一般的H. 264的編碼流的結(jié)構(gòu)圖。 圖4是表示本發(fā)明的實(shí)施方式1的圖像解碼裝置的動(dòng)作的流程圖。 圖5是表示由實(shí)施方式1的宏塊解碼部并行地解碼的宏塊的順序的圖。 圖6是表示實(shí)施方式1的片數(shù)據(jù)(slice data)的預(yù)解碼處理的動(dòng)作的流程圖。 圖7是實(shí)施方式1的加工完成編碼流的片數(shù)據(jù)的結(jié)構(gòu)圖。 圖8是表示實(shí)施方式1的宏塊解碼部的解碼處理的流程圖。 圖9是本發(fā)明的實(shí)施方式2的圖像編碼裝置的結(jié)構(gòu)圖。 圖10是實(shí)施方式2的宏塊編碼部的結(jié)構(gòu)圖。 圖11是表示實(shí)施方式2的圖像編碼裝置的動(dòng)作的流程圖。 圖12是表示實(shí)施方式2的宏塊編碼部的編碼處理的流程圖。 圖13是表示實(shí)施方式2的可變長(zhǎng)編碼處理的流程圖。 圖14是表示對(duì)于用CAVLC可變長(zhǎng)編碼的片數(shù)據(jù)進(jìn)行再編碼處理的流程圖。 圖15是表示對(duì)于用CABAC可變長(zhǎng)編碼的片數(shù)據(jù)進(jìn)行再編碼處理的流程圖。 圖16是有關(guān)本發(fā)明的實(shí)施方式2的變形例的圖像編碼裝置的結(jié)構(gòu)圖。 圖17是表示實(shí)施方式2的變形例的圖像編碼裝置的動(dòng)作的流程圖。 圖18A是表示實(shí)施方式2的變形例的量化參數(shù)被決定的宏塊的位置的圖。 圖18B是表示實(shí)施方式2的變形例的跳過運(yùn)行參數(shù)被決定的宏塊的位置的圖。 圖19是表示實(shí)施方式2的變形例的宏塊編碼部的編碼處理的詳細(xì)情況的流程圖。 圖20是實(shí)施方式2的變形例的宏塊編碼部的結(jié)構(gòu)圖。 圖21是表示由可變長(zhǎng)編碼部進(jìn)行的可變長(zhǎng)編碼處理的詳細(xì)情況的流程圖。 圖22是表示H. 264的基于位置的依存關(guān)系的圖。 圖23是表示以往的圖像解碼裝置及圖像編碼裝置的處理順序的圖。 圖24是表示H. 264的基于處理順序的依存關(guān)系的圖。 標(biāo)號(hào)說明
40圖像解碼裝置120、 120a圖像編碼裝置
400解碼控制部401頭解碼部402片數(shù)據(jù)預(yù)解碼部403流緩沖器404第一宏塊解碼部405第二宏塊解碼部406去塊濾波部407參照?qǐng)D像存儲(chǔ)器500可變長(zhǎng)解碼部501反量化部502逆正交變換部503畫面內(nèi)預(yù)測(cè)部504運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部505加法電路600開始碼601SPS頭602PPS頭603片頭604片數(shù)據(jù)1000MB開始碼1001宏塊解碼信息1002宏塊層數(shù)據(jù)1200、1200a編碼控制部1201、1201a第一宏塊編碼部1202、1202a第二宏塊編碼部1203去塊濾波部1204流緩沖器1205片數(shù)據(jù)再編碼部1206頭編碼部1207參照?qǐng)D像存儲(chǔ)器1300畫面內(nèi)預(yù)測(cè)部1301運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部1302減法電路1303正交變換部1304量化部1305可變長(zhǎng)編碼部1306反量化部
明書
5/21頁(yè)
1307 逆正交變換部
1308 加法電路
具體實(shí)施例方式
以下,參照附圖,對(duì)將本發(fā)明應(yīng)用到對(duì)應(yīng)于11.264編碼方式的圖像解碼裝置及圖 像編碼裝置中的實(shí)施方式進(jìn)行說明。另外,以下所示的實(shí)施方式是H. 264的圖像解碼裝置 及圖像編碼裝置,但只要是具有基于處理順序的依存關(guān)系的運(yùn)動(dòng)圖像編碼方式,則對(duì)于怎 樣的運(yùn)動(dòng)圖像編碼方式,都能夠以與以下所示的實(shí)施方式同樣的方式實(shí)現(xiàn)本發(fā)明。
(實(shí)施方式l) 圖1是本發(fā)明的實(shí)施方式1的圖像解碼裝置的結(jié)構(gòu)圖。 如圖1所示,圖像解碼裝置40包括解碼控制部400、頭解碼部401、片數(shù)據(jù)預(yù)解碼 部402、流緩沖器403、第一宏塊解碼部404、第二宏塊解碼部405、去塊濾波部406、以及參照 圖像存儲(chǔ)器407。另外,在以下的說明中,在不需要分別區(qū)別第一宏塊解碼部404及第二宏 塊解碼部405的情況下,將它們統(tǒng)稱作宏塊解碼部。 接著,對(duì)圖1所示的圖像解碼裝置40的各結(jié)構(gòu)要素的動(dòng)作進(jìn)行說明。 頭解碼部401取得用H. 264編碼后的編碼流Str,將包含在該編碼流Str中的頭依
次解碼。 片數(shù)據(jù)預(yù)解碼部402從頭解碼部401取得頭解碼后的編碼流Str,將包含在該編碼 流Str中的并行進(jìn)行宏塊的解碼處理所預(yù)先需要的參數(shù)(并行處理用參數(shù))解碼。進(jìn)而, 片數(shù)據(jù)預(yù)解碼部402利用該并行處理用參數(shù)的解碼結(jié)果,進(jìn)行編碼流Str的加工處理,將加 工處理后的編碼流(以下稱作加工完成編碼流Stm)輸出給流緩沖器403。由此,將加工完 成編碼流Stm用流緩沖器臨時(shí)保持。 第一宏塊解碼部404及第二宏塊解碼部405分別從流緩沖器403讀取加工完成編 碼流Stm,將包含在加工完成編碼流Stm中的編碼后的多個(gè)宏塊中的、分配給各個(gè)宏塊解碼 部的宏塊并行地解碼。此時(shí),第一宏塊解碼部404及第二宏塊解碼部405分別根據(jù)需要從 參照?qǐng)D像存儲(chǔ)器407讀取用于運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)的參照?qǐng)D像,使用該讀取的參照?qǐng)D像將宏塊解 碼。另外,參照?qǐng)D像由像素?cái)?shù)據(jù)構(gòu)成。結(jié)果,第一宏塊解碼部404及第二宏塊解碼部405將 由重構(gòu)后的圖像數(shù)據(jù)構(gòu)成的重構(gòu)圖像輸出給去塊濾波部406。 去塊濾波部406通過對(duì)重構(gòu)圖像進(jìn)行除去塊噪聲的去塊濾波處理,生成解碼圖像 并輸出。此外,去塊濾波部406將該解碼圖像輸出到圖像解碼裝置40的外部,并且為了將該 解碼圖像用作宏塊的解碼處理中的參照?qǐng)D像,而將該解碼圖像寫入到參照?qǐng)D像存儲(chǔ)器407 中,使參照?qǐng)D像存儲(chǔ)器407臨時(shí)保持。解碼控制部400通過控制頭解碼部401、片數(shù)據(jù)預(yù)解碼部402、第一宏塊解碼部
404、第二宏塊解碼部405及去塊濾波部406,控制圖像解碼處理整體,例如對(duì)這些結(jié)構(gòu)要素
發(fā)出處理開始指示。 圖2是宏塊解碼部的結(jié)構(gòu)圖。 第一宏塊解碼部404及第二宏塊解碼部405都具有相同的結(jié)構(gòu),分別包括可變長(zhǎng) 解碼部500、反量化部501、逆正交變換部502、畫面內(nèi)預(yù)測(cè)部503、運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部504、以及 加法電路505。
可變長(zhǎng)解碼部500將加工完成編碼流Stm中的由作為解碼處理對(duì)象的多個(gè)宏塊構(gòu) 成的宏塊組(例如宏塊行)可變長(zhǎng)解碼,輸出預(yù)測(cè)模式、量化后的系數(shù)、以及運(yùn)動(dòng)矢量等。反 量化部501對(duì)從可變長(zhǎng)解碼部500輸出的量化后的系數(shù)進(jìn)行反量化,將系數(shù)數(shù)據(jù)輸出給逆 正交變換部502。在逆正交變換部502中,對(duì)系數(shù)數(shù)據(jù)進(jìn)行逆正交變換,生成由空間域的像 素?cái)?shù)據(jù)構(gòu)成的誤差圖像。 畫面內(nèi)預(yù)測(cè)部503和運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部504根據(jù)可變長(zhǎng)解碼部500輸出的預(yù)測(cè)模 式,其中的某個(gè)被啟動(dòng),生成由像素?cái)?shù)據(jù)構(gòu)成的預(yù)測(cè)圖像。在預(yù)測(cè)模式是內(nèi)預(yù)測(cè)的情況下, 啟動(dòng)畫面內(nèi)預(yù)測(cè)部503,此時(shí),畫面內(nèi)預(yù)測(cè)部503進(jìn)行畫面內(nèi)預(yù)測(cè)。在預(yù)測(cè)模式是間預(yù)測(cè)的 情況下,啟動(dòng)運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部504。此時(shí),運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部504取得對(duì)應(yīng)于解碼后的運(yùn)動(dòng)矢 量的參照?qǐng)D像,進(jìn)行運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)。加法電路505通過將從逆正交變換部502輸出的誤差 圖像與從畫面內(nèi)預(yù)測(cè)部503或運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部504輸出的預(yù)測(cè)圖像相加,生成由圖像數(shù)據(jù) 構(gòu)成的重構(gòu)圖像并輸出。 圖3是一般的H. 264的編碼流Str的結(jié)構(gòu)圖。 在編碼流Str的開頭有SPS (Sequence Parameter Set :序列參數(shù)集)頭601,然后 接著PPS(Picture Parameter Set :圖片參數(shù)集)頭602、片頭(slicehead)603、以及片數(shù) 據(jù)604。在SPS頭601、PPS頭602及片頭603的開頭插入了表示數(shù)據(jù)的分隔的開始碼(SC : Start Code)600。 因此,頭解碼部401對(duì)編碼流Str進(jìn)行開始碼檢索,通過解析接續(xù)開始碼600的數(shù) 據(jù),能夠從編碼流Str中檢索SPS頭601、 PPS頭602、片頭603。在圖片的開頭存在PPS頭 602,到下個(gè)PPS頭602出現(xiàn)為止的一系列的數(shù)據(jù)是1個(gè)圖片量的數(shù)據(jù)。在l個(gè)圖片的數(shù)據(jù) 之中所存在的片頭603和片數(shù)據(jù)604的集合的數(shù)量是存在于該圖片中的片(slice)的數(shù) 量。此外,在片數(shù)據(jù)604中,保存著表示編碼后的多個(gè)宏塊的宏塊層數(shù)據(jù)。
片數(shù)據(jù)預(yù)解碼部402通過對(duì)包含在該片數(shù)據(jù)604中的宏塊層數(shù)據(jù)進(jìn)行可變長(zhǎng)解 碼,取得上述并行處理用參數(shù)。 圖4是表示本發(fā)明的實(shí)施方式1的圖像解碼裝置40的動(dòng)作的流程圖。
首先,頭解碼部401如果取得編碼流Str,則將SPS頭601解碼(步驟S700),接著, 將PPS頭602解碼(步驟S701),接著,將片頭603解碼(步驟S702)。如果片頭603的解 碼結(jié)束,則片數(shù)據(jù)預(yù)解碼部402通過對(duì)片數(shù)據(jù)604進(jìn)行預(yù)解碼,將并行進(jìn)行宏塊的解碼處理 所預(yù)先需要的并行處理用參數(shù)解碼,并且進(jìn)行編碼流Str的加工處理(步驟S703)。
如果1個(gè)片的片數(shù)據(jù)604的預(yù)解碼完成,則第一宏塊解碼部404及第二宏塊解碼 部405按照解碼控制部400的指示,一邊分別從保存在流緩沖器403中的加工完成編碼流 Stm中讀取解碼對(duì)象的宏塊(宏塊行), 一邊并行地進(jìn)行宏塊的解碼處理(步驟S704)。
圖5是表示由宏塊解碼部并行地解碼的宏塊的順序的圖。 在H. 264中,由于存在圖22所示的基于位置的依存關(guān)系,所以圖像解碼裝置40以 圖5所示的順序進(jìn)行解碼。另夕卜,在圖5中,對(duì)各宏塊MB賦予的號(hào)碼表示處理順序。S卩,相 同號(hào)碼的宏塊MB被同時(shí)并行地處理。 如圖5所示,第一宏塊解碼部404將包含在圖片Pic中的奇數(shù)行的宏塊MB、即包 含在作為第奇數(shù)個(gè)的宏塊組的宏塊行中的多個(gè)宏塊MB解碼,第二宏塊解碼部405將包含在 圖片Pic中的偶數(shù)行的宏塊MB、即包含在作為第偶數(shù)個(gè)的宏塊組的宏塊行中的多個(gè)宏塊MB解碼。此外,在第一宏塊解碼部404將某個(gè)任意的宏塊MB解碼的情況下,第二宏塊解碼部 405將位于該宏塊MB的下1行的左側(cè)第2列的宏塊MB并行地處理。由此,能夠解決基于位 置的依存關(guān)系而并行地解碼。 解碼控制部400在1個(gè)片的宏塊的解碼處理完成時(shí),判斷完成了該解碼處理的片 是否處于圖片的末端(步驟S705)。包含在圖片中的片的數(shù)量通過將存在于PPS頭602中 的參數(shù)(num_Slice_groupS_minuSl)解碼后可以知道。因此,解碼控制部400在從到目前為 止完成了解碼處理的片的數(shù)量減去l后的數(shù)與參數(shù)(num_Slice_groupS_minuSl) —致時(shí), 判斷剛完成了解碼處理的片處于圖片的末端。 這里,解碼控制部400如果判斷為不在圖片的末端(步驟S705的"否"),則使頭 解碼部401、片數(shù)據(jù)預(yù)解碼部402及宏塊解碼部依次執(zhí)行片頭603的解碼(步驟S702)、片 數(shù)據(jù)604的預(yù)解碼(步驟S703)、以及宏塊的解碼(步驟S704),直到成為圖片的末端。另 一方面,解碼控制部400如果判斷為處于圖片的末端(步驟S705的"是"),則使去塊濾波 部406執(zhí)行對(duì)于1個(gè)圖片量的重構(gòu)圖像進(jìn)行去塊濾波處理(步驟S706)。如果去塊濾波處 理完成,則解碼控制部400接著判斷去塊濾波處理后的圖片是否處于該編碼流Str的末端 (步驟S707)。 這里,解碼控制部400在判斷為不在編碼流Str的末端、即后面接續(xù)有流的情況下 (步驟S707的"否"),使頭解碼部401執(zhí)行接著要解碼的圖片的PPS頭602的解碼(步驟 S701),由此,將包含在編碼流Str中的圖片漸漸解碼。 接著,對(duì)于片數(shù)據(jù)604的預(yù)解碼(圖4的步驟S703)的詳細(xì)情況進(jìn)行說明。
圖6是表示對(duì)于片數(shù)據(jù)604的預(yù)解碼的詳細(xì)動(dòng)作的流程圖。 片數(shù)據(jù)預(yù)解碼部402以宏塊為單位對(duì)片數(shù)據(jù)604進(jìn)行預(yù)解碼。具體而言,片數(shù)據(jù) 預(yù)解碼部402首先從第一宏塊解碼部404及第二宏塊解碼部405中確定將作為預(yù)解碼對(duì)象 的宏塊(預(yù)解碼對(duì)象宏塊)MB解碼的宏塊解碼部作為擔(dān)當(dāng)解碼部(步驟S900)。接著,片數(shù) 據(jù)預(yù)解碼部402判斷該預(yù)解碼對(duì)象宏塊MB的宏塊地址Bal是否大于該擔(dān)當(dāng)解碼部剛解碼 完的宏塊(剛解碼完宏塊)MB的宏塊地址Ba2加上1之后的值(步驟S901)。
宏塊地址如圖24所示,是對(duì)圖片Pic內(nèi)的宏塊MB以光柵掃描順序附加了號(hào)碼的 索引,在H. 264中,以宏塊地址順序處理圖片Pic內(nèi)的宏塊MB。在以圖5所示的順序進(jìn)行解 碼的情況下,例如第一宏塊解碼部404將行1的位于圖片Pic的右端的宏塊MB(處于行1中 的8號(hào)的宏塊MB)接下來的、行3的位于圖片Pic的左端的宏塊MB(處于行3中的9號(hào)的 宏塊MB)解碼。此時(shí),處于該8號(hào)宏塊MB與9號(hào)宏塊MB之間的、行2上的所有宏塊MB不 被第一宏塊解碼部404解碼而被排除在解碼對(duì)象之外。因而,上述預(yù)解碼對(duì)象宏塊MB(處 于行3中的9號(hào)宏塊MB)的宏塊地址Bal與剛解碼完宏塊MB (處于行1中的8號(hào)宏塊MB) 的宏塊地址Ba2加上1后的值相比變大。同樣,第二宏塊解碼部405將行2的位于圖片Pic 的右端的宏塊MB(處于行2中的10號(hào)的宏塊MB)接下來的、行4的位于圖片Pic的左端的 宏塊MB(處于行4中的11號(hào)的宏塊MB)解碼。此時(shí),處于該10號(hào)宏塊MB與11號(hào)宏塊MB 之間的、行3上的所有宏塊MB不被第二宏塊解碼部405解碼而被排除在解碼對(duì)象之外。因 而,上述預(yù)解碼對(duì)象宏塊MB (處于行4中的11號(hào)宏塊MB)的宏塊地址Bal與剛解碼完宏塊 MB(處于行2中的10號(hào)宏塊MB)的宏塊地址Ba2加上1后的值相比變大。
這樣,片數(shù)據(jù)預(yù)解碼部402在步驟S901中,判斷預(yù)解碼對(duì)象宏塊MB是否是由擔(dān)當(dāng)解碼部解碼的、宏塊地址連續(xù)的宏塊組的開頭的宏塊MB。 S卩,在以圖5所示的順序進(jìn)行解碼 的情況下,片數(shù)據(jù)預(yù)解碼部402在步驟S901中,在將位于圖片Pic左端的宏塊MB預(yù)解碼時(shí) 判斷為真(是)。 片數(shù)據(jù)預(yù)解碼部402如果在步驟S901中判斷為假(否),則為了找到下個(gè)宏塊MB 的開頭,進(jìn)行通常的宏塊MB的可變長(zhǎng)解碼(步驟S904)。另一方面,片數(shù)據(jù)預(yù)解碼部402如 果在步驟S901中判斷為真(是),則在編碼流Str中的位于預(yù)解碼對(duì)象宏塊MB開頭的部 分中,插入作為表示預(yù)解碼對(duì)象宏塊MB的開頭的位模式的MB(Macroblock)開始碼(步驟 S902)。在本實(shí)施方式中,例如將MB開始碼設(shè)為Ox000001FO。在MB開始碼的插入后,片數(shù) 據(jù)預(yù)解碼部402將并行處理預(yù)解碼對(duì)象宏塊的解碼處理所預(yù)先需要的并行處理用參數(shù)作 為宏塊解碼信息,植入到編碼流Str中的MB開始碼的緊后面(預(yù)解碼對(duì)象宏塊MB的緊前 面)(步驟S903)。另外,MB開始碼只要是不與其他碼重復(fù)的獨(dú)特的值,則可以為任意。
植入的宏塊解碼信息是通過將處于預(yù)解碼對(duì)象宏塊MB的宏塊地址緊前面的宏塊 MB(緊前宏塊MB)可變長(zhǎng)解碼而生成的、存在基于處理順序的依存關(guān)系的參數(shù)。在H. 264中, 在可變長(zhǎng)編碼的方式是CAVIX(Context-base Adaptive Variable Length Coding :基于上 下文的自適應(yīng)變長(zhǎng)編碼)的情況下,片數(shù)據(jù)預(yù)解碼部402將緊前宏塊MB的量化參數(shù)(QP_ PREV)、和跳過的宏塊的數(shù)量fcum_Skipped_mb)作為宏塊解碼信息植入。以下,將該跳過的 宏塊稱作跳過宏塊,將該跳過宏塊的數(shù)量稱作跳過宏塊數(shù)。跳過宏塊數(shù)(num_Skipped_mb) 在開頭的宏塊MB是跳過宏塊的情況下,表示包括該開頭的宏塊MB有幾個(gè)跳過宏塊連續(xù),如 果開頭的宏塊MB不是跳過宏塊則為0。另外,片數(shù)據(jù)預(yù)解碼部402通過將緊前宏塊MB可變 長(zhǎng)解碼,取得表示包括該緊前宏塊MB在內(nèi)從該緊前宏塊MB起后面連續(xù)的跳過宏塊的數(shù)量 的跳過運(yùn)行參數(shù)(mb_skip_mn)。片數(shù)據(jù)預(yù)解碼部402基于該跳過運(yùn)行參數(shù)(mb_skip_mn) 和緊前宏塊MB的宏塊地址,計(jì)算上述跳過宏塊數(shù)fcum_Skipped_mb)。
在可變長(zhǎng)編碼的方式是CABAC (Context-base Adaptive BinaryArithmetic Coding :基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼)的情況下,片數(shù)據(jù)預(yù)解碼部402將緊前宏塊 MB的量化參數(shù)(QP_REV)、和表示將緊前宏塊MB按照CABAC可變長(zhǎng)解碼時(shí)的片數(shù)據(jù)預(yù)解碼 部402(可變長(zhǎng)解碼器)的內(nèi)部狀態(tài)的信息(codIOffset、 codIRange、 valMPS、 pStateldx) 作為宏塊解碼信息植入。雖然CABAC的可變長(zhǎng)解碼器的內(nèi)部狀態(tài)不是語(yǔ)法,但在CABAC中, 由于每次解碼1位時(shí)內(nèi)部狀態(tài)變化,所以在從宏塊MB的中途解碼的情況下,需要到該中途 為止的內(nèi)部狀態(tài)。因而,需要將表示將緊前宏塊MB可變長(zhǎng)解碼時(shí)的內(nèi)部狀態(tài)的信息作為宏 塊解碼信息植入到編碼流Str中。 另外,由于在CABAC的可變長(zhǎng)解碼處理(算術(shù)解碼處理及多值化處理)中,每次解 碼1位時(shí)內(nèi)部狀態(tài)變化的是算術(shù)解碼處理,所以片數(shù)據(jù)預(yù)解碼部402也可以僅進(jìn)行算術(shù)解 碼處理而將片數(shù)據(jù)604解碼為二值化數(shù)據(jù)。在僅進(jìn)行算術(shù)解碼的情況下,只要將量化參數(shù) (QP_PREV)作為宏塊解碼信息植入到編碼流Str中即可。 在本實(shí)施方式中,片數(shù)據(jù)預(yù)解碼部402將宏塊解碼信息以e鄧-Golomb編碼方式編 碼并植入。另外,宏塊解碼信息的編碼方式只要是能夠唯一地將宏塊解碼信息表示的參數(shù) 解碼的方式,則可以是任意。此外,片數(shù)據(jù)預(yù)解碼部402也可以將量化參數(shù)(QP_PREV)原樣 作為宏塊解碼信息植入,但也可以將某個(gè)值與量化參數(shù)(QP_PREV)的差分作為宏塊解碼信 息植入。由此,能夠削減宏塊解碼信息的數(shù)據(jù)量。例如,片數(shù)據(jù)預(yù)解碼部402將在包括對(duì)象宏塊MB的片的所有的宏塊MB中使用的量化參數(shù)QP的初始值(SliceQP)與緊前宏塊MB的 量化參數(shù)(QP_PREV)之間的差分作為宏塊解碼信息植入。另外,上述初始值(SliceQP)可 以根據(jù)包含在片頭603中的參數(shù)算出。 片數(shù)據(jù)預(yù)解碼部402在宏塊解碼信息的插入處理(步驟S903)完成時(shí),接著為了 檢索下個(gè)宏塊MB的開頭,進(jìn)行預(yù)解碼對(duì)象宏塊的被可變長(zhǎng)解碼后(步驟S904)。接著,片數(shù) 據(jù)預(yù)解碼部402判斷在步驟S904中可變長(zhǎng)解碼的預(yù)解碼對(duì)象宏塊MB是否是處于片的末端 的宏塊MB(步驟S905)。這里,片數(shù)據(jù)預(yù)解碼部402如果判斷為不是處于片的末端的宏塊 MB (步驟S905的"否"),則通過對(duì)下個(gè)預(yù)解碼對(duì)象宏塊MB反復(fù)執(zhí)行步驟S900起的處理,來 進(jìn)行片數(shù)據(jù)604的預(yù)解碼。 這樣,本實(shí)施方式中的片數(shù)據(jù)預(yù)解碼部402按照包含在編碼流Str中的、由多個(gè)塊 構(gòu)成的每個(gè)宏塊行,對(duì)該宏塊行進(jìn)行作為解碼處理的一部分的可變長(zhǎng)解碼(預(yù)解碼處理), 由此生成作為在其他宏塊行的解碼處理中需要的參數(shù)的宏塊解碼信息。并且,通過對(duì)包含 在編碼流Str中的各片數(shù)據(jù)604進(jìn)行上述那樣的預(yù)編碼,生成加工完成編碼流Stm,并保存 在流緩沖器403中。 圖7是表示加工完成編碼流Stm的片數(shù)據(jù)的結(jié)構(gòu)的圖。 加工完成編碼流Stm的片數(shù)據(jù)604a、即通過將1個(gè)片的片數(shù)據(jù)604預(yù)解碼而得到 的片數(shù)據(jù)604a包括1個(gè)或多個(gè)數(shù)據(jù)集,該數(shù)據(jù)集由MB開始碼1000、宏塊解碼信息1001、以 及宏塊層數(shù)據(jù)1002構(gòu)成。宏塊層數(shù)據(jù)1002與包含在編碼流Str的片數(shù)據(jù)604之中的數(shù)據(jù) 完全相同。即,宏塊層數(shù)據(jù)1002為完全沒有被進(jìn)行解碼處理的數(shù)據(jù)。包含在該片數(shù)據(jù)604a 中的數(shù)據(jù)集的數(shù)量是與在片數(shù)據(jù)604的預(yù)解碼時(shí)在步驟S901中判斷為真(是)的次數(shù)相 同的數(shù)量。 另外,包含在數(shù)據(jù)集中的宏塊層數(shù)據(jù)1002包括沒有被可變長(zhǎng)解碼、即被可變長(zhǎng)編 碼狀態(tài)下的宏塊MB。 此外,在可變長(zhǎng)編碼的方式是CABAC的情況下,在片數(shù)據(jù)604的預(yù)解碼(步驟 S703)中將片數(shù)據(jù)解碼為二值化數(shù)據(jù)時(shí),解碼后的二值數(shù)據(jù)代替宏塊層數(shù)據(jù)1002。
另外,在步驟S901的判斷為真(是)的預(yù)解碼對(duì)象宏塊MB的開頭,插入MB開始碼 及宏塊解碼信息1001,但也可以對(duì)預(yù)解碼對(duì)象宏塊MB以外的宏塊MB也插入MB開始碼1000 及宏塊解碼信息1001。例如,也可以在所有宏塊MB的開頭插入MB開始碼1000及宏塊解 碼信息1001。如果在所有宏塊MB的開頭插入,則在進(jìn)行宏塊MB的解碼處理(步驟S704) 時(shí),不論將哪個(gè)宏塊MB分配給哪個(gè)宏塊解碼部,都能夠解決基于處理順序的依存關(guān)系地進(jìn) 行解碼。 接著,利用圖8對(duì)圖4所示的宏塊MB的解碼處理(步驟S704)的詳細(xì)情況進(jìn)行說 明。 圖8是表示宏塊解碼部進(jìn)行的宏塊MB的解碼處理的流程圖。 首先,宏塊解碼部從加工完成編碼流Stm檢索MB開始碼1000,并且不斷讀取加工 完成編碼流Stm直到找到MB開始碼1000 (步驟SI 100)。接著,宏塊解碼部判斷帶有MB開 始碼1000的宏塊MB是否是分配給該宏塊解碼部的解碼對(duì)象的宏塊MB(步驟SllOl)。這 里,如果宏塊解碼部判斷為不是分配給自己的解碼對(duì)象宏塊MB (步驟S1101的"否"),則反 復(fù)進(jìn)行MB開始碼的檢索直到出現(xiàn)解碼對(duì)象的宏塊MB(步驟SllOO)。另一方面,如果宏塊解碼部判斷為是分配給自己的解碼對(duì)象宏塊MB (步驟SI 101的"是"),則進(jìn)行接續(xù)MB開始碼 1000的宏塊解碼信息1001的解碼(步驟S1102)。然后,宏塊解碼部進(jìn)行宏塊MB的通常的 解碼處理。另外,MB開始碼檢索(步驟S1100)、解碼對(duì)象宏塊判斷(步驟S1101)、以及宏 塊解碼信息的解碼(步驟S1102)的處理都由可變長(zhǎng)解碼部500進(jìn)行。
接著,宏塊解碼部的可變長(zhǎng)解碼部500對(duì)分配給該宏塊解碼部的解碼對(duì)象宏塊MB 進(jìn)行可變長(zhǎng)解碼處理(步驟S1103)。這里,在解碼對(duì)象宏塊MB是帶有MB開始碼1000的開 頭的宏塊MB(宏塊解碼信息的緊后面的宏塊MB)的情況下,可變長(zhǎng)解碼部500使用在步驟 S1102中解碼的宏塊解碼信息IOOI,將該開頭的宏塊MB可變長(zhǎng)解碼。接著,宏塊解碼部根 據(jù)可變長(zhǎng)解碼結(jié)果判斷預(yù)測(cè)模式是內(nèi)預(yù)測(cè)還是間預(yù)測(cè)(步驟S1104)。如果判斷為預(yù)測(cè)模式 是內(nèi)預(yù)測(cè)(步驟S1104的內(nèi)預(yù)測(cè)),則畫面內(nèi)預(yù)測(cè)部503啟動(dòng)而進(jìn)行畫面內(nèi)預(yù)測(cè)處理(步驟 S1105),如果判斷為預(yù)測(cè)模式是間預(yù)測(cè)(步驟S1104的間預(yù)測(cè)),則運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部504啟 動(dòng)而進(jìn)行運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)處理(步驟S1106)。通過這些步驟S1105及步驟S1106的處理,生 成由圖像數(shù)據(jù)構(gòu)成的預(yù)測(cè)圖像。 接著,宏塊解碼部通過將進(jìn)行了可變長(zhǎng)解碼處理(步驟S1103)的量化后的系數(shù)用 反量化部501反量化,用逆正交變換部502逆正交變換,生成相對(duì)于預(yù)測(cè)圖像的誤差圖像 (步驟S1107)。最后,宏塊解碼部通過將預(yù)測(cè)圖像與誤差圖像相加,得到由像素?cái)?shù)據(jù)構(gòu)成的 重構(gòu)圖像(步驟S1108)。如果這樣1個(gè)宏塊MB的解碼處理完成,則宏塊解碼部判斷是否 還有要解碼的宏塊層數(shù)據(jù)1002(步驟S1109)。宏塊解碼部在判斷為沒有要解碼的宏塊層 數(shù)據(jù)1002時(shí)(步驟S1109的"否"),結(jié)束宏塊MB的解碼處理。另一方面,宏塊解碼部在判 斷為還剩余著要解碼的宏塊層數(shù)據(jù)1002時(shí)(步驟S1109的"是"),判斷接著要解碼的宏塊 MB的宏塊地址是否大于剛解碼完的宏塊MB的宏塊地址加上1之后的值(步驟SlllO)。如 果該判斷的結(jié)果是真(步驟SlllO的"是"),則宏塊解碼部為了檢索接著要解碼的宏塊MB 的開頭而進(jìn)行MB開始碼檢索(步驟S1100),如果判斷的結(jié)果是假(步驟S1110的"否"), 則進(jìn)行下個(gè)宏塊MB的可變長(zhǎng)解碼(步驟S1103)。 這樣,在本實(shí)施方式中,通過事前進(jìn)行預(yù)解碼而生成宏塊解碼信息1001,即使兩個(gè) 宏塊解碼部不以預(yù)先決定的處理順序?qū)⒑陦K行依次解碼,也能夠解決存在于以H. 264為代 表的新的編碼方式中的基于處理順序的依次關(guān)系而并行地進(jìn)行解碼處理,能夠?qū)崿F(xiàn)解碼的 高速化。進(jìn)而,在本實(shí)施方式中,由于兩個(gè)宏塊解碼部并不是分別對(duì)預(yù)解碼后的宏塊行進(jìn) 行解碼處理中的除了可變長(zhǎng)解碼以外的其余的處理,而是對(duì)包含在編碼流Str中的宏塊行 進(jìn)行全部的解碼處理,所以不需要生成具有預(yù)解碼后的多個(gè)宏塊行的已可變長(zhǎng)解碼的解碼 流。該已可變長(zhǎng)解碼的解碼流的數(shù)據(jù)量比原來的編碼流Str多。因而,在本實(shí)施方式中,兩 個(gè)宏塊解碼部對(duì)包含在原來的編碼流Str中的宏塊行進(jìn)行全部的解碼處理,所以能夠抑制 臨時(shí)儲(chǔ)存作為解碼處理對(duì)象的流的流緩沖器403的容量。 另外,在本實(shí)施方式中,采取了將作為并行處理用參數(shù)的宏塊解碼信息1001植入 到編碼流Str中的方法。但是,在進(jìn)行宏塊MB的解碼的情況下,只要將宏塊解碼信息1001 傳送給第一宏塊解碼部404或第二宏塊解碼部405就可以,并不一定需要將宏塊解碼信息 1001植入到編碼流Str中。例如,也可以是,片數(shù)據(jù)預(yù)解碼部402不將宏塊解碼信息1001 植入到編碼流Str中,而在片數(shù)據(jù)604的預(yù)解碼結(jié)束后將宏塊解碼信息1001傳送給解碼控 制部400,在宏塊解碼部啟動(dòng)時(shí),解碼控制部400將該宏塊解碼信息1001通知給宏塊解碼
15部。 此外,在本實(shí)施方式中,將跳過的宏塊的數(shù)量fcum_Skipped_mb)作為宏塊解碼信 息1001植入到編碼流Str中,但也可以代替它而將跳過運(yùn)行參數(shù)(mb_skip_run)作為宏塊 解碼信息1001植入到編碼流Str中。 此外,在本實(shí)施方式中,使用兩個(gè)宏塊解碼部并行地進(jìn)行宏塊的解碼,但宏塊解碼 部的個(gè)數(shù)并不限于兩個(gè)。在專利文獻(xiàn)l中,記載了使用兩個(gè)以上的宏塊解碼部并行地將宏 塊解碼的方法,按照該方法,使用兩個(gè)以上的宏塊解碼部也能夠解碼。 此外,在本實(shí)施方式中,也可以將解碼控制部400、頭解碼部401 、片數(shù)據(jù)預(yù)解碼部 402、流緩沖器403、第一宏塊解碼部404、第二宏塊解碼部405、去塊濾波部406及參照?qǐng)D像 存儲(chǔ)器407的全部或其一部分安裝在1個(gè)集成電路上,也可以用安裝在1個(gè)基板上的多個(gè) 集成電路實(shí)現(xiàn),也可以用經(jīng)由網(wǎng)絡(luò)或總線連接的獨(dú)立的裝置實(shí)現(xiàn)。 另外,在本實(shí)施方式中,對(duì)對(duì)應(yīng)于一般的11.264編碼方式的圖像解碼裝置進(jìn)行了 說明,但如果是對(duì)H. 264的編碼方式加以部分制約而編碼的圖像,則能夠去除片數(shù)據(jù)預(yù)解 碼部402中的預(yù)解碼(步驟S703)。這是因?yàn)?,預(yù)解碼是為了解決基于處理順序的依存關(guān) 系而進(jìn)行的,如果沒有處理順序的依存關(guān)系,則能夠不進(jìn)行預(yù)解碼而并行地進(jìn)行宏塊解碼 處理(步驟S704)。 S卩,在將適用于并行解碼處理的圖像編碼方式標(biāo)準(zhǔn)化的情況下,只要對(duì) 已有的圖像編碼方式加以制約以去除該處理順序的依存關(guān)系就可以。例如,在以H. 264編 碼方式為基礎(chǔ)考慮適用于并行解碼處理的新的圖像編碼方式的情況下,可以考慮不是將差 分值(mb_qp_elta)編碼、而將量化參數(shù)QP的值原樣編碼的方式、或僅將量化參數(shù)QP與初 始值(SliceQP)的差分值編碼的方式。此外,也可以考慮進(jìn)行編碼以使跳過運(yùn)行參數(shù)(mb_ skip_run)必定為O的方式。此外,也可以考慮使CABAC為禁止使用而僅通過CAVLC進(jìn)行可 變長(zhǎng)編碼的方式。
(實(shí)施方式2) 圖9是本發(fā)明的實(shí)施方式2的圖像編碼裝置的結(jié)構(gòu)圖。 如圖9所示,圖像編碼裝置120包括編碼控制部1200、第一宏塊編碼部1201 、第二 宏塊編碼部1202、去塊濾波部1203、流緩沖器1204、片數(shù)據(jù)再編碼部1205、頭編碼部1206、 以及參照?qǐng)D像存儲(chǔ)器1207。另外,在以下的說明中,在不需要將第一宏塊編碼部1201及第 二宏塊編碼部1202分別區(qū)別的情況下,將它們統(tǒng)稱作宏塊編碼部。
接著,對(duì)圖9所示的圖像編碼裝置120的各結(jié)構(gòu)要素進(jìn)行說明。
第一宏塊編碼部1201及第二宏塊編碼部1202在取得由像素?cái)?shù)據(jù)構(gòu)成的編碼對(duì)象 圖像時(shí),并行地進(jìn)行宏塊單位的編碼處理。并且,第一宏塊編碼部1201及第二宏塊編碼部 1202向去塊濾波部1203輸出通過將由該編碼處理編碼后的圖像重構(gòu)而生成的、由像素?cái)?shù) 據(jù)構(gòu)成的重構(gòu)圖像。進(jìn)而,第一宏塊編碼部1201及第二宏塊編碼部1202將表示由上述編 碼處理編碼后的圖像的中間流輸出到流緩沖器1204中。此時(shí),第一宏塊編碼部1201及第 二宏塊編碼部1202根據(jù)需要從參照?qǐng)D像存儲(chǔ)器1207讀取用于運(yùn)動(dòng)補(bǔ)償?shù)挠上袼財(cái)?shù)據(jù)構(gòu)成 的參照?qǐng)D像。 流緩沖器1204臨時(shí)保持從各宏塊編碼部輸出的中間流。另外,通過將從兩個(gè)宏塊 編碼部輸出的多個(gè)片斷的中間流保存到流緩沖器1204中,可以作為1個(gè)結(jié)合的中間流進(jìn)行 處理。此外,由于該中間流是通過兩個(gè)宏塊編碼部將宏塊MB并行地編碼而生成的流,所以在包含在該中間流中的圖片中,不滿足上述基于處理順序的依存關(guān)系。因而,該中間流有部分不能編碼的部分,所以為還沒有完全完成編碼的流。 去塊濾波部1203對(duì)重構(gòu)圖像進(jìn)行將塊噪聲除去的去塊濾波處理,將結(jié)果生成的解碼圖像輸出到參照?qǐng)D像存儲(chǔ)器1207中。參照?qǐng)D像存儲(chǔ)器1207保持從去塊濾波部1203輸出的解碼圖像,以使其能夠作為上述參照?qǐng)D像使用。 片數(shù)據(jù)再編碼部1205從流緩沖器1204讀取中間化流,對(duì)中間化流進(jìn)行再編碼處理。頭編碼部1206進(jìn)行頭的編碼,將從片數(shù)據(jù)再編碼部1205輸出的再編碼流與編碼后的頭合并,生成最終的編碼流并輸出。另外,在本實(shí)施方式中,該片數(shù)據(jù)再編碼部1205作為調(diào)整部構(gòu)成,通過該片數(shù)據(jù)再編碼部1205調(diào)整包含在由兩個(gè)宏塊編碼部生成的中間流中的、用于編碼的參數(shù),使該中間流與通過將包含在圖片中的多個(gè)宏塊行以預(yù)先決定的處理順序依次編碼而生成的編碼流一致。 編碼控制部1200通過控制第一宏塊編碼部1201、第二宏塊編碼部1202、去塊濾波
部1203、片數(shù)據(jù)再編碼部1205及頭編碼部1206,控制整個(gè)圖像編碼處理,例如對(duì)這些結(jié)構(gòu)
要素發(fā)出處理開始指示。 圖10是宏塊編碼部的結(jié)構(gòu)圖。 第一宏塊編碼部1201及第二宏塊編碼部1202都具有相同的結(jié)構(gòu),分別包括畫面內(nèi)預(yù)測(cè)部1300、運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部1301、減法電路1302、正交變換部1303、量化部1304、可變長(zhǎng)編碼部1305、反量化部1306、逆正交變換部1307、以及加法電路1308。首先,如果將包含在編碼對(duì)象圖像中的由像素?cái)?shù)據(jù)構(gòu)成的宏塊MB輸入到宏塊編碼部中,則編碼控制部1200通過指示預(yù)測(cè)模式,使畫面內(nèi)預(yù)測(cè)部1300及運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部1301中的某一個(gè)啟動(dòng)。畫面內(nèi)預(yù)測(cè)部1300在預(yù)測(cè)模式為內(nèi)預(yù)測(cè)的情況下啟動(dòng),通過進(jìn)行畫面內(nèi)預(yù)測(cè),生成對(duì)應(yīng)于上述編碼對(duì)象宏塊MB的、由像素?cái)?shù)據(jù)構(gòu)成的預(yù)測(cè)圖像并輸出。運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部1301在預(yù)測(cè)模式是間預(yù)測(cè)的情況下啟動(dòng),通過取得對(duì)應(yīng)于運(yùn)動(dòng)矢量的參照?qǐng)D像并進(jìn)行運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),生成對(duì)應(yīng)于上述編碼對(duì)象宏塊MB的、由像素?cái)?shù)據(jù)構(gòu)成的預(yù)測(cè)圖像并輸出。
減法電路1302通過從上述編碼對(duì)象的宏塊MB中減去預(yù)測(cè)圖像,生成由空間域的像素?cái)?shù)據(jù)構(gòu)成的誤差圖像。正交變換部1303通過對(duì)該誤差圖像進(jìn)行正交變換,將該誤差圖像變換為系數(shù)。量化部1304將該系數(shù)量化??勺冮L(zhǎng)編碼部1305通過將量化后的系數(shù)及預(yù)測(cè)模式等可變長(zhǎng)編碼,生成上述中間流并輸出。 反量化部1306將量化后的系數(shù)反量化。逆正交變換部1307通過對(duì)反量化后的系數(shù)進(jìn)行逆正交變換,將該系數(shù)重構(gòu)為誤差圖像。加法電路1308通過將該誤差圖像加上從畫面內(nèi)預(yù)測(cè)部1300或運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部1301輸出的預(yù)測(cè)圖像,生成重構(gòu)圖像并輸出。
圖11是表示本發(fā)明的實(shí)施方式2的圖像編碼裝置120的動(dòng)作的流程圖。
首先,頭編碼部1206依次進(jìn)行SPS頭601的編碼(步驟S1400) 、 PPS頭602的編碼(步驟S1401)、以及片頭603的編碼(步驟S1402)。如果片頭603的編碼(步驟S1402)完成,則第一宏塊編碼部1201及第二宏塊編碼部1202按照編碼控制部1200的指示,將編碼對(duì)象圖像以宏塊為單位并行編碼(步驟S1403)。在H. 264中,由于存在圖22所示的基于位置的依存關(guān)系,所以與解碼的情況同樣,兩個(gè)宏塊編碼部以圖5所示的順序進(jìn)行并行編碼。關(guān)于詳細(xì)情況,由于與解碼的情況是同樣的,所以省略說明。另外,在宏塊MB的編碼處理(S1403)中的可變長(zhǎng)編碼(后述的步驟S1507)中,由于將宏塊MB并行編碼,所以不滿足上述基于處理順序的依存關(guān)系。因而,在通過該編碼處理生成的中間流中,有一部分不能完全編碼的部分,所以宏塊編碼部在將宏塊MB可變長(zhǎng)編碼時(shí),僅進(jìn)行需要的可變長(zhǎng)編碼的處理的一部分,來生成中間流。 片數(shù)據(jù)再編碼部1205在1個(gè)片的宏塊MB的編碼處理(步驟S1403)完成時(shí),對(duì)在該宏塊MB的編碼處理(步驟S1403)中不能完全編碼的片數(shù)據(jù)的部分進(jìn)行再編碼處理(步驟S1404)。編碼控制部1200在片數(shù)據(jù)的再編碼處理(步驟S1404)完成時(shí),判斷中間流中的完成了再編碼處理的位置是否是圖片的末端(步驟S1405)。編碼控制部1200在判斷為不是圖片的末端(步驟S1405的"否")時(shí),使各結(jié)構(gòu)要素執(zhí)行對(duì)于接下來要編碼的片的、片頭的編碼(步驟S1402)、宏塊MB的編碼(步驟S1403)、以及片數(shù)據(jù)的再編碼(步驟S1404)的處理,并且重復(fù)上述各處理,直到中間流中的完成了再編碼處理的位置成為圖片的末端。
另一方面,編碼控制部1200在判斷為上述位置是圖片的末端(步驟S1405的"是")時(shí),使去塊濾波部1203執(zhí)行對(duì)1個(gè)片的重構(gòu)圖像的去塊濾波處理(步驟S1406)。如果去塊濾波處理(步驟S1406)完成,則編碼控制部1200判斷去塊濾波處理后的圖片是否處于序列的末端(步驟S1407)。編碼控制部1200在判斷為沒有處于序列的末端時(shí)(步驟S1407的"否"),即連接有后續(xù)要編碼的圖片的情況下,通過使各結(jié)構(gòu)要素再次執(zhí)行對(duì)于該圖片的PPS頭602的編碼(步驟S1400)等處理,將1個(gè)序列的編碼對(duì)象圖像編碼。
接著,利用圖12對(duì)圖ll所示的宏塊MB的編碼處理(步驟S1403)的詳細(xì)情況進(jìn)行說明。 圖12是表示宏塊編碼部的編碼處理的流程圖。 首先,畫面內(nèi)預(yù)測(cè)部1300及運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部1301判斷由編碼控制部1200指示的預(yù)測(cè)模式是內(nèi)預(yù)測(cè)還是間預(yù)測(cè)(步驟S1500)。如果預(yù)測(cè)模式是內(nèi)預(yù)測(cè),則畫面內(nèi)預(yù)測(cè)部1300啟動(dòng),進(jìn)行畫面內(nèi)預(yù)測(cè)處理(步驟S1501),如果預(yù)測(cè)模式是間預(yù)測(cè),則運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部1301啟動(dòng),進(jìn)行運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)處理(步驟S1502)。由此,生成預(yù)測(cè)圖像。接著,減法電路1302從編碼對(duì)象宏塊MB減去預(yù)測(cè)圖像,生成相對(duì)于預(yù)測(cè)圖像的誤差圖像(步驟S1503)。正交變換部1303及量化部1304將誤差圖像正交變換,再進(jìn)行量化(步驟S1504)。
這里,宏塊編碼部判斷接下來要編碼的預(yù)定宏塊(下個(gè)宏塊)MB的宏塊地址是否大于當(dāng)前正編碼的宏塊(編碼對(duì)象宏塊)MB的宏塊地址加1后的值(步驟S1505)。在以圖5所示的順序進(jìn)行編碼的情況下,例如第一宏塊編碼部1201將行1的位于圖片Pic右端的宏塊MB(處于行1中的8號(hào)宏塊MB)接下來的、行3的位于圖片Pic左端的宏塊MB(處于行3中的9號(hào)宏塊MB)編碼。此時(shí),處于該8號(hào)宏塊MB與9號(hào)宏塊MB之間的、行2上的所有宏塊MB不被第一宏塊編碼部1201編碼而被排除在編碼對(duì)象之外。因而,下個(gè)宏塊MB (處于行3中的9號(hào)宏塊MB)的宏塊地址變得比對(duì)編碼對(duì)象宏塊MB (處于行1中的8號(hào)宏塊MB)的宏塊地址加1后的值大。 同樣,第二宏塊編碼部1202將行2的位于圖片Pic右端的宏塊MB(處于行2中的10號(hào)宏塊MB)接下來的、行4的位于圖片Pic左端的宏塊MB(處于行4中的11號(hào)宏塊MB)編碼。此時(shí),處于該10號(hào)宏塊MB與11號(hào)宏塊MB之間的、行3上的所有宏塊MB不被第二宏塊編碼部1202編碼而被排除在編碼對(duì)象之外。因而,下個(gè)宏塊MB(處于行4中的11號(hào)宏塊MB)的宏塊地址變得比對(duì)編碼對(duì)象宏塊MB(處于行2中的10號(hào)宏塊MB)的宏塊地址加l后的值大。
這樣,在步驟S1505中,宏塊編碼部判斷編碼對(duì)象宏塊MB是否是由該宏塊編碼部編碼的、宏塊地址連續(xù)的宏塊組的最后的宏塊MB。 S卩,在以圖5所示的順序進(jìn)行編碼的情況下,宏塊編碼部在步驟S1505中,在將位于圖片Pic右端的宏塊MB編碼時(shí)判斷為真(是)。
宏塊編碼部如果在步驟S1505中判斷為真(是),則將編碼對(duì)象宏塊MB的量化參數(shù)QP作為再編碼信息(保存參數(shù))進(jìn)行保存,以使該量化參數(shù)QP在片數(shù)據(jù)再編碼部1205中被使用(步驟S1506)。此時(shí),宏塊編碼部將保存的再編碼信息發(fā)送給編碼控制部1200。另外,步驟S1505的判斷處理及步驟S1506的保存也可以由宏塊編碼部的可變長(zhǎng)編碼部1305進(jìn)行,也可以將執(zhí)行這些處理的專用的結(jié)構(gòu)要素裝備在宏塊編碼部中。
如果在步驟S1505中判斷為假(否),則可變長(zhǎng)編碼部1305進(jìn)行可變長(zhǎng)編碼(步驟S1507)。即,可變長(zhǎng)編碼部1305通過將量化后的系數(shù)、預(yù)測(cè)模式、以及在步驟S1501 S1504中使用的參數(shù)(例如量化參數(shù)QP的差分值)等可變長(zhǎng)編碼,來生成中間流并輸出(步驟S1507)。 接著,反量化部1306及逆正交變換部1307通過將量化后的系數(shù)反量化、再進(jìn)行逆正交變換,來重構(gòu)誤差圖像(步驟S1508)。加法電路1308通過將重構(gòu)的誤差圖像與從畫面內(nèi)預(yù)測(cè)部1300或運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部1301輸出的預(yù)測(cè)圖像相加,生成重構(gòu)圖像并輸出(步驟S1509)。如果這樣1個(gè)宏塊的編碼處理完成,則宏塊編碼部判斷是否還有要編碼的宏塊MB(步驟S1510)。宏塊編碼部如果判斷為沒有要編碼的宏塊MB(步驟S1510的"否"),則結(jié)束宏塊MB的編碼處理,如果判斷為剩余有要編碼的宏塊MB(步驟S1510的"是"),則再次從預(yù)測(cè)模式的判斷(步驟S1500)開始進(jìn)行處理,直到不再有要編碼的宏塊MB。
接著,利用圖13對(duì)宏塊的編碼處理(圖11的步驟S1403)中的可變長(zhǎng)編碼處理(圖12的步驟S1507)的詳細(xì)情況進(jìn)行說明。
圖13是可變長(zhǎng)編碼處理的流程圖。 首先,可變長(zhǎng)編碼部1305判斷當(dāng)前編碼的宏塊(編碼對(duì)象宏塊)MB的宏塊地址是否大于剛編碼完的宏塊(剛編碼完宏塊)MB的宏塊地址加1后的值(步驟S1600)。例如,在以圖5所示的順序進(jìn)行編碼的情況下,可變長(zhǎng)編碼部1305在步驟S1600中,在將位于圖片Pic左端的宏塊MB作為編碼對(duì)象宏塊MB進(jìn)行編碼時(shí)判斷為真(是)。S卩,此時(shí)判斷為真(是)的宏塊MB處于宏塊行的開頭??勺冮L(zhǎng)編碼部1305如果在步驟S1600中判斷為真(是),則將在該編碼對(duì)象宏塊MB的量化中使用的量化參數(shù)QP的差分值(mb_qp_delta)置換為從量化參數(shù)QP的初始值(SliceQP)減去編碼對(duì)象宏塊MB的量化參數(shù)QP后的值(步驟S1601)。 另外,在片數(shù)據(jù)604的再編碼時(shí),只要能夠?qū)⒘炕瘏?shù)QP的值唯一地解碼就可以,所以置換的值只要是從某個(gè)特定的值減去了編碼對(duì)象的宏塊MB的量化參數(shù)QP后的值,則可以是任意值。此外,雖然超過了差分值(mb_qp_delta)的取值范圍,但也可以置換為編碼對(duì)象宏塊MB的量化參數(shù)QP的值。 接著,可變長(zhǎng)編碼部1305在差分值(mb_qp_delta)的置換結(jié)束時(shí),或者在步驟S1600中判斷為假(否)時(shí),判斷可變長(zhǎng)編碼方式是CAVLC還是CABAC(步驟S1602)。如果判斷為可變長(zhǎng)編碼方式是CAVLC,則可變長(zhǎng)編碼部1305以CAVLC的編碼方式進(jìn)行可變長(zhǎng)編碼(步驟S1603)。另一方面,如果判斷為可變長(zhǎng)編碼方式是CABAC,則可變長(zhǎng)編碼部1305僅進(jìn)行CABAC的編碼處理中的二值化處理(步驟S1604)。
另外,在步驟S1600中判斷為真(是)的情況下,也可以對(duì)進(jìn)行CAVLC的可變長(zhǎng)編碼處理(S1603)或二值化處理(S1604)而生成的中間流進(jìn)行處置,使得在再編碼處理中知道在步驟S1600中判斷為真(是)的宏塊MB的開頭。例如,在步驟S1600中判斷為真(是)的情況下,可變長(zhǎng)編碼部1305在與剛輸出的中間流不同的地址中保存這以后輸出的中間流。或者,可變長(zhǎng)編碼部1305在將中間流保存到流緩沖器1204中時(shí),將在步驟S1600中判斷為真(是)的宏塊MB的開頭的地址發(fā)送給編碼控制部1200。在此情況下,片數(shù)據(jù)再編碼部1205被從編碼控制部1200通知該地址,由此能夠容易地找到要再編碼的中間流(宏塊MB)?;蛘撸勺冮L(zhǎng)編碼部1305在中間流中的該宏塊MB的開頭插入MB開始碼。在此情況下,片數(shù)據(jù)再編碼部1205通過檢索該MB開始碼,能夠容易地找到要再編碼的中間流(宏塊MB)。 以上,宏塊的可變長(zhǎng)編碼處理完成。 接著,對(duì)片數(shù)據(jù)604的再編碼處理(圖11的步驟S1404)的詳細(xì)情況進(jìn)行說明。
圖14是表示對(duì)用CAVLC可變長(zhǎng)編碼后的片數(shù)據(jù)604進(jìn)行再編碼處理的流程圖。
最初,片數(shù)據(jù)再編碼部1205將包含在中間流中的宏塊MB按照宏塊地址順序依次讀取(步驟S1700)。接著,片數(shù)據(jù)再編碼部1205通過中間流的讀取,判斷在中間流內(nèi)完成了讀取的最終位置是否為片的末端(步驟S1701)。如果判斷為片的末端(步驟S1701的"是"),則片數(shù)據(jù)再編碼部1205結(jié)束再編碼處理。另一方面,如果判斷為不是片的末端(步驟S1701的"否"),則片數(shù)據(jù)再編碼部1205將對(duì)應(yīng)于保存的宏塊編碼信息的宏塊(對(duì)應(yīng)宏塊)MB的宏塊地址加上1后的值、與再編碼對(duì)象宏塊MB的宏塊地址進(jìn)行比較(步驟S1702)。片數(shù)據(jù)再編碼部1205讀取中間流,直到對(duì)應(yīng)宏塊MB的宏塊地址加上1后的值與再編碼對(duì)象宏塊MB的宏塊地址一致。在步驟S1702中判斷為一致的再編碼對(duì)象宏塊MB與在圖13的S1600中判斷為真(是)的宏塊MB相同,是處于宏塊行的開頭的宏塊MB。因此,在將中間流保存到流緩沖器1204中的情況下,只要進(jìn)行使在S1600中判斷為真(是)的宏塊MB的開頭可知的處置,就能夠簡(jiǎn)單地進(jìn)行步驟S1702的判斷。 片數(shù)據(jù)再編碼部1205在判斷為對(duì)應(yīng)宏塊MB的宏塊地址加上1后的值與再編碼對(duì)象宏塊MB的宏塊地址一致(步驟S1702的"是")時(shí),首先將再編碼對(duì)象宏塊MB的跳過運(yùn)行參數(shù)(mb_skip_run)解碼,判斷該跳過運(yùn)行參數(shù)(mb_skip_run)是否比O大(步驟S1703)。這里,如果判斷為跳過運(yùn)行參數(shù)(mb—skip—進(jìn))比0大(步驟的S1703的"是"),則片數(shù)據(jù)再編碼部1205將宏塊地址為前1個(gè)的宏塊MB的跳過運(yùn)行參數(shù)(mb_skip_run)即緊前參數(shù)(prev_mb_skip_run)解碼,判斷該緊前參數(shù)(prev_mb_skip_run)是否比O大(步驟S1704)。這里,如果判斷為緊前參數(shù)(prev—mb—skip—進(jìn))比0大(步驟S1704的"是"),則片數(shù)據(jù)再編碼部1205將再編碼對(duì)象宏塊MB的跳過運(yùn)行參數(shù)(mb_skip_run)從中間流中除去,將前1個(gè)宏塊MB的跳過運(yùn)行參數(shù)(mb_skip_run)變更為對(duì)再編碼對(duì)象宏塊MB的跳過運(yùn)行參數(shù)(mb_skip_run)加上緊前參數(shù)(prev_mb_skip_run)后的值,并進(jìn)行再編碼(步驟SI705)。 接著,片數(shù)據(jù)再編碼部1205進(jìn)行再編碼對(duì)象宏塊MB的量化參數(shù)QP的差分值(mb_qp_delta)的再編碼(步驟S1706)。差分值(mb_qp_delta)的再編碼以以下的順序進(jìn)行。首先,片數(shù)據(jù)再編碼部1205將再編碼對(duì)象宏塊MB的差分值(mb_qp_delta)解碼,計(jì)算再編碼對(duì)象宏塊MB的量化參數(shù)QP。接著,片數(shù)據(jù)再編碼部1205從編碼控制部1200接收所保存
20的再編碼信息,從該再編碼信息中取得宏塊地址為前1個(gè)的宏塊MB的量化參數(shù)QP即緊前量化參數(shù)(QP_PREV)。并且,片數(shù)據(jù)再編碼部1205通過從該緊前量化參數(shù)(QP_PREV)中減去再編碼對(duì)象宏塊MB的量化參數(shù)QP,來再次計(jì)算差分值(mb_qp_delta)。進(jìn)而,片數(shù)據(jù)再編碼部1205將再編碼對(duì)象宏塊MB的差分值(mb_qp_delta)從中間流中除去,將再次計(jì)算出的值編碼,并插入到中間流中。通過以上的順序,差分值(mb_qp_delta)的再編碼完成。然后,重復(fù)上述一系列的處理,直到成為片的末端。 圖15是表示對(duì)用CABAC可變長(zhǎng)編碼的片數(shù)據(jù)604進(jìn)行再編碼處理的流程圖。
在CABAC的情況下,由于在可變長(zhǎng)編碼處理(圖12的步驟S1507)中僅進(jìn)行到二值化處理,所以需要對(duì)整個(gè)中間流進(jìn)行再編碼,這一點(diǎn)是與CAVLC的情況較大地不同的點(diǎn)。
首先,片數(shù)據(jù)再編碼部1205將對(duì)應(yīng)于已保存的再編碼信息的宏塊(對(duì)應(yīng)宏塊)MB的宏塊地址加上1后的值、與再編碼對(duì)象宏塊MB的宏塊地址進(jìn)行比較(步驟S1800)。步驟S1800的判斷處理與圖14所示的CAVLC的步驟S1702的判斷處理相同。片數(shù)據(jù)再編碼部1205在判斷對(duì)應(yīng)宏塊MB的宏塊地址加上1后的值與再編碼對(duì)象宏塊MB的宏塊地址一致(步驟S1800的"是")時(shí),修正量化參數(shù)QP的差分值(mb_qp_delta)的二值數(shù)據(jù)(步驟S1801)。 差分值(mb_qp_delta)的二值數(shù)據(jù)的修正以以下的順序進(jìn)行。首先,片數(shù)據(jù)再編碼部1205將再編碼對(duì)象宏塊MB的差分值(mb_qp_delta)的二值數(shù)據(jù)解碼,計(jì)算再編碼對(duì)象宏塊MB的量化參數(shù)QP。接著,片數(shù)據(jù)再編碼部1205從編碼控制部1200接收所保存的再編碼信息,從該再編碼信息中取得宏塊地址為前1個(gè)的宏塊MB的量化參數(shù)QP即緊前量化參數(shù)(QP_PREV)。并且,片數(shù)據(jù)再編碼部1205通過從該緊前量化參數(shù)(QP_PREV)中減去再編碼對(duì)象宏塊MB的量化參數(shù)QP,來再次計(jì)算差分值(mb_qp_delta)。進(jìn)而,片數(shù)據(jù)再編碼部1205將再編碼對(duì)象宏塊MB的差分值(mb_qp_delta)的二值數(shù)據(jù)從中間流中除去,將再次計(jì)算出的差分值(mb_qp_delta)的二值數(shù)據(jù)插入到中間流中。通過以上的順序,差分值(mb_qp_delta)的二值數(shù)據(jù)的修正完成。 接著,片數(shù)據(jù)再編碼部1205對(duì)二值數(shù)據(jù)進(jìn)行CABAC的二值化處理以后的算術(shù)編碼處理(步驟S1802)。并且,片數(shù)據(jù)再編碼部1205判斷被算術(shù)編碼的再編碼對(duì)象宏塊MB是否處于片的末端(步驟S1803),如果不在末端(步驟S1803的"否"),則將接著再編碼的宏塊MB作為新的再編碼對(duì)象宏塊MB進(jìn)行處理,重復(fù)執(zhí)行步驟S1800起的處理。
這樣,在本實(shí)施方式中,即使兩個(gè)宏塊編碼部將多個(gè)宏塊行并行地編碼,也能夠通過片數(shù)據(jù)再編碼部1205進(jìn)行的參數(shù)的修正,生成與將多個(gè)宏塊行以預(yù)先決定的處理順序依次編碼時(shí)生成的編碼流同樣的流。結(jié)果,能夠解決以H. 264為代表的新的編碼方式中存在的基于處理順序的依存關(guān)系,從而并行地進(jìn)行編碼,能夠?qū)崿F(xiàn)編碼的高速化。
(變形例) 這里,對(duì)上述實(shí)施方式2的圖像編碼裝置120的變形例進(jìn)行說明。 上述實(shí)施方式2的圖像編碼裝置120具備片數(shù)據(jù)再編碼部1205,而有關(guān)本變形例
的圖像編碼裝置的特征在于,在不具備該片數(shù)據(jù)再編碼部1205的情況下,解決上述基于處
理順序的依存關(guān)系,來將宏塊并行解碼。 圖16是有關(guān)本變形例的圖像編碼裝置的結(jié)構(gòu)圖。 有關(guān)本變形例的圖像編碼裝置120a具備編碼控制部1200a、第一宏塊編碼部1201a、第二宏塊編碼部1202a、去塊濾波部1203、流緩沖器1204、算術(shù)編碼部1208、頭編碼部1206、以及參照?qǐng)D像存儲(chǔ)器1207。即,有關(guān)本變形例的圖像編碼裝置120a與實(shí)施方式2的圖像編碼裝置120相比,代替片數(shù)據(jù)再編碼部1205、編碼控制部1200、第一宏塊編碼部1201及第二宏塊編碼部1202而具備算術(shù)編碼部1208、編碼控制部1200a、第一宏塊編碼部1201a及第二宏塊編碼部1202a。另外,在以下的說明中,在不需要將第一宏塊編碼部1201a及第二宏塊編碼部1202a分別區(qū)別的情況下,將它們統(tǒng)稱作宏塊編碼部。
這里,在有關(guān)本變形例的圖像編碼裝置120a中,其特征在于編碼控制部1200a及宏塊編碼部的處理動(dòng)作,通過該處理動(dòng)作,省去了片數(shù)據(jù)再編碼部1205的再編碼處理。需要該再編碼處理的理由是因?yàn)?,由于兩個(gè)宏塊編碼部分別獨(dú)自地根據(jù)編碼對(duì)象宏塊MB決定量化參數(shù)QP及跳過運(yùn)行參數(shù)(mb_skip_run)等參數(shù),并行地將編碼對(duì)象宏塊MB編碼,所以通過一個(gè)宏塊編碼部在不知道另一宏塊編碼部中使用的參數(shù)的情況下將編碼對(duì)象宏塊MB編碼,使得不滿足基于處理順序的依存關(guān)系。 所以,在本變形例的圖像編碼裝置120a中,其特征在于以下的處理動(dòng)作為了在上述一個(gè)宏塊編碼部中知道在另一個(gè)宏塊編碼部中使用的參數(shù),編碼控制部1200a預(yù)先決定該參數(shù)(量化參數(shù)QP,在可變長(zhǎng)編碼方式是CAVLC的情況下是跳過運(yùn)行參數(shù)(mb_skip_r皿)),兩個(gè)宏塊編碼部分別使用該決定的參數(shù)將編碼對(duì)象宏塊MB編碼。即,在本變形例中,編碼控制部1200a作為調(diào)整部構(gòu)成,通過該編碼控制部1200a調(diào)整包含在由兩個(gè)塊編碼部生成的中間流中的、用于編碼的參數(shù),使中間流與通過將包含在圖片中的多個(gè)宏塊行以預(yù)先決定的處理順序依次編碼而生成的編碼流一致。 圖17是表示有關(guān)本變形例的圖像編碼裝置120a的動(dòng)作的流程圖。
有關(guān)本變形例的圖像編碼裝置120a與圖11所示的圖像編碼裝置120的動(dòng)作同樣,依次進(jìn)行SPS頭601的編碼(步驟S1400) 、PPS頭602的編碼(步驟S1401)、以及片頭603的編碼(步驟S1402)。如果片頭603的編碼(步驟S1402)完成,則編碼控制部1200a將規(guī)定的宏塊MB的量化參數(shù)QP、和在可變長(zhǎng)編碼方式是CAVLC的情況下與該規(guī)定的宏塊MB不同的其他宏塊MB的跳過運(yùn)行參數(shù)(mb_skip_run)在這些宏塊MB的編碼之前預(yù)先決定,以使得不再需要用來滿足處理順序的依存關(guān)系的再編碼處理(步驟S1410)。
S卩,編碼控制部1200a決定對(duì)包含在編碼對(duì)象的片中的宏塊MB中的、圖片Pic的除了下端以外的右端的宏塊MB使用的量化參數(shù)QP,并且在可變長(zhǎng)編碼方式是CAVLC的情況下,決定圖片Pic的除了上端以外的左端的宏塊MB的跳過運(yùn)行參數(shù)(mb_skip_rUn)。
接著,第一宏塊編碼部1201a及第二宏塊編碼部1202a按照編碼控制部1200a的指示,將編碼對(duì)象圖像以宏塊為單位并行地編碼(步驟S1411)。此時(shí),第一宏塊編碼部1201a及第二宏塊編碼部1202a根據(jù)在步驟S1410中決定的量化參數(shù)QP及跳過運(yùn)行參數(shù)(mb_skip_run),將宏塊MB編碼。另外,第一宏塊編碼部1201a及第二宏塊編碼部1202a在分別以CABAC將宏塊MB可變長(zhǎng)編碼時(shí),不進(jìn)行CABAC的可變長(zhǎng)編碼處理的全部,而僅進(jìn)行包含在該可變長(zhǎng)編碼處理中的二值化處理及算術(shù)編碼處理中的二值化處理。即,在此情況下,存儲(chǔ)在流緩沖器1204中的中間流的片數(shù)據(jù)成為二值化數(shù)據(jù)的狀態(tài)。
進(jìn)而,編碼控制部1200a判斷使宏塊編碼部執(zhí)行的可變長(zhǎng)編碼方式是CABAC還是CAVLC (步驟S1412)。這里,編碼控制部1200a在判斷為可變長(zhǎng)編碼方式是CABAC時(shí),使算術(shù)編碼部1208將包含在中間流中的作為二值化數(shù)據(jù)的片數(shù)據(jù)算術(shù)編碼(步驟S1413)。另外,上述片數(shù)據(jù)由在步驟S1411中編碼的1個(gè)片的宏塊MB的集合構(gòu)成。另一方面,編碼控制 部1200a在判斷為可變長(zhǎng)編碼方式是CAVLC時(shí),不使算術(shù)編碼部1208執(zhí)行算術(shù)編碼處理, 而使算術(shù)編碼部1208執(zhí)行中間流的向頭編碼部1206的輸出。 然后,圖像編碼裝置120a與圖11所示的圖像編碼裝置120的動(dòng)作同樣,通過執(zhí)行 步驟S1405 S1407的處理,將1個(gè)序列的編碼對(duì)象圖像編碼。
圖18A是表示量化參數(shù)QP被決定的宏塊MB的位置的圖。 編碼控制部1200a在將片編碼之前,對(duì)于圖片Pic的除了下端以外的右端的宏塊 (右端宏塊)MB預(yù)先決定量化參數(shù)QP。并且,宏塊編碼部根據(jù)該決定的量化參數(shù)QP將右端 的宏塊MB編碼。由此,宏塊編碼部在將圖片Pic的除了上端以外的左端的宏塊(左端宏 塊)MB編碼時(shí),能夠知道針對(duì)處于該左端宏塊MB的前1個(gè)處的右端宏塊MB已經(jīng)決定的量 化參數(shù)QP即緊前量化參數(shù)(QP_PREV)。結(jié)果,宏塊編碼部通過從緊前量化參數(shù)(QP_PREV) 減去作為編碼對(duì)象宏塊MB的左端宏塊MB的量化參數(shù)QP,能夠在不進(jìn)行再編碼處理而滿足 處理順序的依存關(guān)系的基礎(chǔ)上計(jì)算左端宏塊MB的差分值(mb—qp—delta),并進(jìn)行編碼。
圖18B是表示跳過運(yùn)行參數(shù)(mb_skip_run)被決定的宏塊MB的位置的圖。
編碼控制部1200a在將片編碼之前,對(duì)圖片Pic的除了上端以外的左端的宏塊 (左端宏塊)MB預(yù)先決定跳過運(yùn)行參數(shù)(mb_skip_rim)。并且,宏塊編碼部根據(jù)該決定的跳 過運(yùn)行參數(shù)(mb_skip_run)將左端宏塊MB編碼。由此,宏塊編碼部在將圖片Pic的除了下 端以外的右端的宏塊(右端宏塊)MB編碼時(shí),能夠知道針對(duì)處于該右端宏塊MB的后1個(gè)處 的左端宏塊MB已經(jīng)決定的跳過運(yùn)行參數(shù)(mb_skip_rim)。結(jié)果,宏塊編碼部可以考慮該左 端宏塊MB的跳過運(yùn)行參數(shù)(mb_skip_run),而在不進(jìn)行再編碼處理就滿足處理順序的依存 關(guān)系的基礎(chǔ)上,決定作為編碼對(duì)象宏塊MB的右端宏塊MB的跳過運(yùn)行參數(shù)(mb_skip_run), 并進(jìn)行編碼。 圖19是表示有關(guān)本變形例的宏塊編碼部的編碼處理(圖17的步驟S1411)的詳 細(xì)情況的流程圖。 有關(guān)本變形例的宏塊編碼部與圖12所示的編碼處理同樣,執(zhí)行預(yù)測(cè)模式的判斷 處理(步驟S1500)、畫面內(nèi)預(yù)測(cè)處理(步驟S1501)、運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)處理(步驟S1502)、減法 處理(步驟S1503)、以及正交變換_量化處理(步驟S1504)。此時(shí),宏塊編碼部利用上述 已經(jīng)決定的參數(shù)進(jìn)行處理。 接著,有關(guān)本變形例的宏塊編碼部不執(zhí)行圖12所示的判斷處理(步驟S1505)及 再編碼信息保存處理(步驟S1506),而執(zhí)行可變長(zhǎng)編碼處理(步驟S1507a)。接著,宏塊 編碼部與圖12所示的編碼處理同樣,通過執(zhí)行加法處理(步驟S1509)及判斷處理(步驟 S1510),將1片的宏塊MB編碼。 圖20是有關(guān)本變形例的宏塊編碼部的結(jié)構(gòu)圖。 有關(guān)本變形例的第一宏塊編碼部1201a及第二宏塊編碼部1202a都具有相同的結(jié) 構(gòu),分別包括畫面內(nèi)預(yù)測(cè)部1300、運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部1301、減法電路1302、正交變換部1303、 量化部1304、可變長(zhǎng)編碼部1305a、反量化部1306、逆正交變換部1307、以及加法電路1308。 即,有關(guān)本變形例的宏塊編碼部代替圖10所示的實(shí)施方式2的宏塊編碼部的可變長(zhǎng)編碼部 1305而具備可變長(zhǎng)編碼部1305a,關(guān)于其他結(jié)構(gòu)要素,具備與實(shí)施方式2的宏塊編碼部同樣 的結(jié)構(gòu)要素。
有關(guān)本實(shí)施例的可變長(zhǎng)編碼部1305a不是如實(shí)施方式2的可變長(zhǎng)編碼部1305那 樣進(jìn)行量化參數(shù)QP的差分值(mb_qp_delta)的置換等,而是按照CAVLC或CABAC的編碼方 式進(jìn)行可變長(zhǎng)編碼。 圖21是表示由可變長(zhǎng)編碼部1305a進(jìn)行的可變長(zhǎng)編碼處理(圖19的步驟S1507a) 的詳細(xì)情況的流程圖。 有關(guān)本變形例的可變長(zhǎng)編碼部1305a首先判斷可變長(zhǎng)編碼方式是CAVLC還是 CABAC(步驟S1602)。如果判斷為可變長(zhǎng)編碼方式是CAVLC,則可變長(zhǎng)編碼部1305a以 CAVLC的編碼方式進(jìn)行可變長(zhǎng)編碼(步驟S1603)。另一方面,如果判斷為可變長(zhǎng)編碼方式 是CABAC,則可變長(zhǎng)編碼部1305a僅進(jìn)行包含在CABAC的可變長(zhǎng)編碼處理中的二值化處理及 算術(shù)編碼處理中的二值化處理(步驟S1604a)。 這樣,在本變形例中,在決定了用于各宏塊編碼部的編碼的參數(shù)中的、在處理順序 中有依存關(guān)系的參數(shù)之后,利用該參數(shù)進(jìn)行編碼,因此,即使不進(jìn)行其他宏塊編碼部的編 碼,各宏塊編碼部也能夠預(yù)知在該編碼中使用的參數(shù)。其結(jié)果是,各宏塊編碼部針對(duì)處理順 序中存在依存關(guān)系的參數(shù)也能夠編碼到最后,能夠簡(jiǎn)單地生成解決了基于處理順序的依存 關(guān)系的、不需要再編碼的編碼流。 另外,在上述變形例中,僅對(duì)包含在片中的部分宏塊MB決定了量化參數(shù)QP及跳過 運(yùn)行參數(shù)(mb_skip_run),但也可以對(duì)包含在片中的所有宏塊MB決定上述參數(shù)。
此外,在上述實(shí)施方式2中,將作為在片數(shù)據(jù)604的再編碼處理中預(yù)先需要的參數(shù) 的再編碼信息經(jīng)由編碼控制部1200傳送給片數(shù)據(jù)再編碼部1205。但是,只要將再編碼信息 傳送給片數(shù)據(jù)再編碼部就可以,并不一定需要經(jīng)由編碼控制部1200傳送。例如,也可以如 在實(shí)施方式1的圖像解碼裝置中進(jìn)行的那樣,將再編碼信息植入到中間流中進(jìn)行傳送。
此外,在上述實(shí)施方式2及其變形例中,使用兩個(gè)宏塊編碼部并行地進(jìn)行像素?cái)?shù) 據(jù)的編碼,但宏塊編碼部的個(gè)數(shù)并不限于兩個(gè)。在專利文獻(xiàn)l中,記載了使用兩個(gè)以上的宏 塊編碼部并行地將像素?cái)?shù)據(jù)編碼的方法,如果按照該方法,則使用兩個(gè)以上的宏塊編碼部 也能夠編碼。 此外,在上述實(shí)施方式2及其變形例中,也可以將包含在圖像編碼裝置120、120a 各自中的各結(jié)構(gòu)要素的全部或其一部分安裝在1個(gè)集成電路上,也可以用安裝在1個(gè)基板 上的多個(gè)集成電路實(shí)現(xiàn),也可以由經(jīng)由網(wǎng)絡(luò)或總線連接的獨(dú)立的裝置實(shí)現(xiàn)。
此外,在上述實(shí)施方式2中,在片的開頭宏塊MB中,用于差分值(mb_qp_delta)計(jì) 算的緊前面的宏塊MB的量化參數(shù)(QP_PREV)是在宏塊MB的編碼之前就清楚的量化參數(shù)QP 的初始值(SliceQP),不需要差分值(mb_qp_delta)的再編碼。因此,也可以在宏塊編碼部 接著要編碼的宏塊MB的宏塊地址比當(dāng)前正在編碼的宏塊MB的宏塊地址加1后的值大的地 方切割片。由此,不論是哪個(gè)宏塊MB,都能夠省去差分值(mb_qp_delta)的再編碼。
以上,利用實(shí)施方式1及2和其變形例對(duì)有關(guān)本發(fā)明的圖像解碼裝置及圖像編碼 裝置進(jìn)行了說明,但本發(fā)明并不限定于這些。 例如,構(gòu)成上述各裝置的結(jié)構(gòu)要素的一部分或全部也可以由1個(gè)系統(tǒng)LSI (Large Scale Integration :大規(guī)模集成電路)構(gòu)成。系統(tǒng)LSI是將多個(gè)結(jié)構(gòu)部集成在1個(gè)芯片上 而制造的超多功能LSI,具體而言是包括微處理器、ROM、 RAM等而構(gòu)成的計(jì)算機(jī)系統(tǒng)。在上 述RAM中存儲(chǔ)有計(jì)算機(jī)程序。通過上述微處理器按照上述計(jì)算機(jī)程序進(jìn)行動(dòng)作,系統(tǒng)LSI實(shí)現(xiàn)其功能。此外,構(gòu)成上述各裝置的結(jié)構(gòu)要素的各部既可以單獨(dú)地1芯片化,也可以包括一 部分或全部而1芯片化。此外,這里稱作系統(tǒng)LSI,但根據(jù)集成度的差異,也有稱作IC、LSI、 超級(jí)LSI、超大規(guī)模LSI的情況。此外,集成電路化的方法并不限于LSI,也可以由專用電路 或通用處理器實(shí)現(xiàn)。此外,也可以使用在LSI制造后能夠編程的FPGA(Field Programmable GateArray)、或能夠重構(gòu)LSI內(nèi)部的電路單元的連接及設(shè)定的可重構(gòu)處理器。
進(jìn)而,如果因半導(dǎo)體技術(shù)的進(jìn)步或派生的其他技術(shù)而出現(xiàn)代替LSI的集成電路化 的技術(shù),則當(dāng)然也可以使用該技術(shù)進(jìn)行結(jié)構(gòu)要素的集成化。有可能是生物技術(shù)的應(yīng)用等。
此外,在上述實(shí)施方式及其變形例中,各結(jié)構(gòu)要素也可以由專用的硬件構(gòu)成,或者 也可以通過對(duì)能夠由軟件實(shí)現(xiàn)的結(jié)構(gòu)要素執(zhí)行程序來實(shí)現(xiàn)。例如,可以通過CPU等的程序 執(zhí)行部讀取記錄在硬盤或半導(dǎo)體存儲(chǔ)器等的記錄媒體中的軟件程序并執(zhí)行來實(shí)現(xiàn)各結(jié)構(gòu) 要素。 此外,也可以將上述實(shí)施方式l及2和其變形例在沒有矛盾的范圍內(nèi)任意地組合。
工業(yè)實(shí)用性 有關(guān)本發(fā)明的圖像解碼裝置及圖像編碼裝置具有能夠高速地將運(yùn)動(dòng)圖像數(shù)據(jù)解 碼及編碼的特征,例如作為處理MPEG等壓縮圖像的數(shù)字電視機(jī)、DVD記錄機(jī)及Blu-ray Disc記錄機(jī)等是有實(shí)用性的。此外,也能夠應(yīng)用到廣播站等需要高速的處理的設(shè)備的用途 中。
2權(quán)利要求
一種圖像解碼裝置,對(duì)編碼流進(jìn)行解碼,上述編碼流是將由多個(gè)塊構(gòu)成的圖片按照每個(gè)塊進(jìn)行編碼而生成的,上述圖像解碼裝置具備預(yù)解碼部,按照包含在上述編碼流中的由多個(gè)塊構(gòu)成的每個(gè)塊組,對(duì)該塊組進(jìn)行作為解碼處理的一部分的預(yù)解碼處理,由此生成作為在其他塊組的上述解碼處理中需要的參數(shù)的塊解碼信息;以及多個(gè)塊解碼部,分別對(duì)包含在上述編碼流中的相互不同的塊組以塊為單位并行地進(jìn)行上述解碼處理;上述多個(gè)塊解碼部的每一個(gè)在對(duì)上述塊組進(jìn)行上述解碼處理時(shí),使用已經(jīng)對(duì)由其他塊解碼部進(jìn)行上述解碼處理的其他塊組進(jìn)行了的上述預(yù)解碼處理中所生成的上述塊解碼信息,對(duì)上述塊組進(jìn)行上述解碼處理。
2. 如權(quán)利要求l所述的圖像解碼裝置,上述預(yù)解碼部還在上述編碼流的上述各塊組的開頭,插入能夠唯一地判斷是該塊組的 開頭的位模式;上述多個(gè)塊解碼部的每一個(gè)通過檢索插入到上述編碼流中的位模式,找到該塊解碼部 應(yīng)進(jìn)行上述解碼處理的塊組,來將上述塊組解碼。
3. 如權(quán)利要求1或2所述的圖像解碼裝置,上述預(yù)解碼部還將生成的上述塊解碼信息插入到上述編碼流中;上述多個(gè)塊解碼部的每一個(gè)取得插入了上述塊解碼信息的上述編碼流,使用插入到上 述編碼流中的上述塊解碼信息對(duì)上述塊組進(jìn)行上述解碼處理。
4. 如權(quán)利要求1 3中任一項(xiàng)所述的圖像解碼裝置,上述預(yù)解碼部在生成上述塊解碼信息時(shí),生成通過對(duì)上述塊組進(jìn)行上述預(yù)解碼處理而 得到的、在包含于上述塊組中的最后的塊的上述解碼處理中需要的參數(shù),來作為上述塊解 碼信息。
5. 如權(quán)利要求1 4中任一項(xiàng)所述的圖像解碼裝置,上述預(yù)解碼部在生成上述塊解碼信息時(shí),生成通過對(duì)上述塊組進(jìn)行上述預(yù)解碼處理而 得到的、在包含于上述塊組中的最后的塊的上述解碼處理中需要的系數(shù)與預(yù)先決定的系數(shù) 之間的差分,來作為上述塊解碼信息。
6. —種圖像編碼裝置,將具有由多個(gè)塊構(gòu)成的塊組的圖片按照每個(gè)塊進(jìn)行編碼, 上述圖像編碼裝置具備多個(gè)塊編碼部,分別將包含在上述圖片中的相互不同的塊組以塊為單位并行地進(jìn)行編 碼;以及調(diào)整部,通過調(diào)整包含在上述多個(gè)塊編碼部進(jìn)行編碼而生成的中間流中的、在編碼中 使用的參數(shù),使上述中間流與以預(yù)先決定的處理順序?qū)谏鲜鰣D片中的多個(gè)塊組依次 編碼而生成的編碼流一致。
7. 如權(quán)利要求6所述的圖像編碼裝置,上述調(diào)整部決定在上述多個(gè)塊編碼部的編碼中使用的參數(shù);上述多個(gè)塊編碼部分別通過使用由上述調(diào)整部決定的參數(shù)進(jìn)行編碼,來生成與上述編 碼流一致的上述中間流。
8. 如權(quán)利要求6所述的圖像編碼裝置,上述多個(gè)塊編碼部的每一個(gè)在將塊組編碼時(shí),將在上述塊組的編碼中使用的參數(shù)包含 在通過上述塊組的編碼而生成的編碼塊組中,并且將上述參數(shù)中的至少一部分作為保存參 數(shù)進(jìn)行保存;上述調(diào)整部按照包含在所生成的上述中間流中的每個(gè)編碼塊組,使用在與該編碼塊組 不同的其他編碼塊組的編碼中使用并保存的上述保存參數(shù),修正該編碼塊組的參數(shù),由此 使上述中間流與上述編碼流一致。
9. 如權(quán)利要求8所述的圖像編碼裝置, 包含在上述中間流中的上述各參數(shù)被編碼;上述調(diào)整部在修正上述參數(shù)時(shí),重新進(jìn)行對(duì)上述參數(shù)已經(jīng)進(jìn)行了的編碼。
10. 如權(quán)利要求8或9所述的圖像編碼裝置,上述多個(gè)塊編碼部的每一個(gè)在將塊組編碼時(shí),將在包含于該塊組中的最后的塊的解碼 中使用的參數(shù)作為上述保存參數(shù)進(jìn)行保存。
11. 如權(quán)利要求8 10中任一項(xiàng)所述的圖像編碼裝置,上述調(diào)整部在修正上述編碼塊組的參數(shù)時(shí),修正在包含于上述編碼塊組中的已編碼的 多個(gè)塊中的開頭的塊的編碼中使用的參數(shù)。
12. 如權(quán)利要求8 11中任一項(xiàng)所述的圖像編碼裝置,上述多個(gè)塊編碼部的每一個(gè)在將在上述塊組的編碼中使用的參數(shù)包含在編碼塊組中 時(shí),使用在上述塊組的編碼之前已經(jīng)判明的既定系數(shù)將上述參數(shù)壓縮并包含在上述編碼塊 組中;上述調(diào)整部使用上述既定系數(shù)將上述編碼塊組的壓縮后的上述參數(shù)展開,并通過使用 上述保存參數(shù)將展開后的上述參數(shù)壓縮,來修正上述編碼塊組的壓縮后的上述參數(shù)。
13. 如權(quán)利要求8或9所述的圖像編碼裝置,上述調(diào)整部判斷包含在上述編碼塊組中的第一跳過參數(shù)和包含在上述其他編碼塊組 中的第二跳過參數(shù)是否都是O,上述第一跳過參數(shù)表示從包含在上述編碼塊組中的已編碼的多個(gè)塊中的開頭的塊起 不需要編碼的連續(xù)的塊的數(shù)量,上述第二跳過參數(shù)表示從包含在上述其他編碼塊組中的已編碼的多個(gè)塊中的最后的 塊起不需要編碼的連續(xù)的塊的數(shù)量,在判斷為不是0的情況下,通過刪除作為上述編碼塊組的參數(shù)包含在上述中間流中的 上述第一跳過參數(shù),來修正上述參數(shù),并且修正包含在上述中間流中的上述第二跳過參數(shù), 以使其表示將上述第二跳過參數(shù)表示的數(shù)量與上述第一跳過參數(shù)表示的數(shù)量相加后的數(shù)
14. 一種圖像解碼方法,對(duì)編碼流進(jìn)行解碼,上述編碼流是將由多個(gè)塊構(gòu)成的圖片按照 每個(gè)塊進(jìn)行編碼而生成的,在上述圖像解碼方法中,按照包含在上述編碼流中的由多個(gè)塊構(gòu)成的每個(gè)塊組,對(duì)該塊組進(jìn)行作為解碼處理的 一部分的預(yù)解碼處理,由此生成作為在其他塊組的上述解碼處理中需要的參數(shù)的塊解碼信 息;對(duì)包含在上述編碼流中的相互不同的塊組以塊為單位并行地進(jìn)行上述解碼處理;在對(duì)上述塊組進(jìn)行上述解碼處理時(shí),使用已經(jīng)對(duì)其他塊組進(jìn)行了的上述預(yù)解碼處理中 所生成的上述塊解碼信息,對(duì)上述塊組進(jìn)行上述解碼處理。
15. —種圖像編碼方法,將具有由多個(gè)塊構(gòu)成的塊組的圖片按照每個(gè)塊進(jìn)行編碼,在上 述圖像編碼方法中,將包含在上述圖片中的相互不同的塊組以塊為單位并行地進(jìn)行編碼; 通過調(diào)整包含在進(jìn)行編碼而生成的中間流中的、在編碼中使用的參數(shù),使上述中間流 與以 預(yù)先決定的處理順序?qū)谏鲜鰣D片中的多個(gè)塊組依次編碼而生成的編碼流一致。
16. —種程序,用來對(duì)編碼流進(jìn)行解碼,上述編碼流是將由多個(gè)塊構(gòu)成的圖片按照每個(gè) 塊進(jìn)行編碼而生成的,上述程序使計(jì)算機(jī)執(zhí)行按照包含在上述編碼流中的由多個(gè)塊構(gòu)成的每個(gè)塊組,對(duì)該塊組進(jìn)行作為解碼處理的 一部分的預(yù)解碼處理,由此生成作為在其他塊組的上述解碼處理中需要的參數(shù)的塊解碼信 息;對(duì)包含在上述編碼流中的相互不同的塊組以塊為單位并行地進(jìn)行上述解碼處理; 在對(duì)上述塊組進(jìn)行上述解碼處理時(shí),使用已經(jīng)對(duì)其他塊組進(jìn)行了的上述預(yù)解碼處理中 所生成的上述塊解碼信息,對(duì)上述塊組進(jìn)行上述解碼處理。
17. —種程序,用來將具有由多個(gè)塊構(gòu)成的塊組的圖片按照每個(gè)塊進(jìn)行編碼,其特征在 于,上述程序使計(jì)算機(jī)執(zhí)行將包含在上述圖片中的相互不同的塊組以塊為單位并行地進(jìn)行編碼; 通過調(diào)整包含在進(jìn)行編碼而生成的中間流中的、在編碼中使用的參數(shù),使上述中間流 與以預(yù)先決定的處理順序?qū)谏鲜鰣D片中的多個(gè)塊組依次編碼而生成的編碼流一致。
18. —種集成電路,對(duì)編碼流進(jìn)行解碼,上述編碼流是將由多個(gè)塊構(gòu)成的圖片按照每個(gè) 塊進(jìn)行編碼而生成的,上述集成電路具備預(yù)解碼部,按照包含在上述編碼流中的由多個(gè)塊構(gòu)成的每個(gè)塊組,對(duì)該塊組進(jìn)行作為 解碼處理的一部分的預(yù)解碼處理,由此生成作為在其他塊組的上述解碼處理中需要的參數(shù) 的塊解碼信息;以及多個(gè)塊解碼部,分別對(duì)包含在上述編碼流中的相互不同的塊組以塊為單位并行地進(jìn)行 上述解碼處理;上述多個(gè)塊解碼部的每一個(gè)在對(duì)上述塊組進(jìn)行上述解碼處理時(shí),使用已經(jīng)對(duì)由其他塊 解碼部進(jìn)行上述解碼處理的其他塊組進(jìn)行了的上述預(yù)解碼處理中所生成的上述塊解碼信 息,對(duì)上述塊組進(jìn)行上述解碼處理。
19. 一種集成電路,將具有由多個(gè)塊構(gòu)成的塊組的圖片按照每個(gè)塊進(jìn)行編碼, 上述集成電路具備多個(gè)塊編碼部,分別將包含在上述圖片中的相互不同的塊組以塊為單位并行地進(jìn)行編 碼;以及調(diào)整部,通過調(diào)整包含在上述多個(gè)塊編碼部進(jìn)行編碼而生成的中間流中的、在編碼中 使用的參數(shù),使上述中間流與以預(yù)先決定的處理順序?qū)谏鲜鰣D片中的多個(gè)塊組依次 編碼而生成的編碼流一致。
全文摘要
將具有基于處理順序的依存關(guān)系的編碼流并行解碼的圖像解碼裝置(40)具備片數(shù)據(jù)預(yù)解碼部(402),通過按照包含在編碼流(Str)中的每個(gè)宏塊組進(jìn)行預(yù)解碼處理,生成在其他宏塊組的解碼處理中需要的宏塊解碼信息(1001);第一宏塊解碼部(404)及第二宏塊解碼部(405),分別對(duì)包含在編碼流(Str)中的相互不同的宏塊組并行地進(jìn)行解碼處理;宏塊解碼部(404、405)的每一個(gè)在對(duì)一個(gè)宏塊組進(jìn)行解碼處理時(shí),使用對(duì)另一宏塊組已經(jīng)生成的宏塊解碼信息(1001)進(jìn)行解碼處理。
文檔編號(hào)H04N7/26GK101779466SQ20098010010
公開日2010年7月14日 申請(qǐng)日期2009年6月5日 優(yōu)先權(quán)日2008年6月10日
發(fā)明者井口雅保, 天野博史, 林宙輝 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宜春市| 教育| 大埔区| 牙克石市| 岗巴县| 蕲春县| 临朐县| 延吉市| 临湘市| 西畴县| 偏关县| 平果县| 卢湾区| 左贡县| 湾仔区| 赤峰市| 嘉义县| 永丰县| 淮北市| 琼海市| 海门市| 宜川县| 阿坝| 万宁市| 若羌县| 临沭县| 清新县| 甘德县| 枣阳市| 威海市| 绥滨县| 婺源县| 凤阳县| 绥棱县| 安国市| 新丰县| 息烽县| 金昌市| 大冶市| 武宁县| 郑州市|