專利名稱:圖像編碼設(shè)備與圖像編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像編碼技術(shù),尤其涉及對圖像數(shù)據(jù)作技術(shù)編碼的方法與設(shè)備。
背景技術(shù):
在常被稱為“圖像世紀(jì)”的二十世紀(jì),生產(chǎn)了眾多各式各樣的圖片與圖像并且應(yīng)用于電影、電視廣播等。尤其在90年代,PC(個人計算機(jī))與其它信息設(shè)備的推廣應(yīng)用,數(shù)碼相機(jī)、彩色打印機(jī)等的普及,以及因特網(wǎng)應(yīng)用的爆炸性增長,導(dǎo)致數(shù)字圖像文化深深地滲入了普通百姓的日常生活。在此情況下,編碼與壓縮技術(shù),諸如靜止圖像的JPEG(聯(lián)合圖像專家組)與活動圖像的MPEG(運(yùn)動圖像專家組)已實現(xiàn)了標(biāo)準(zhǔn)化,從而改善了通過CD-ROM等記錄媒體和網(wǎng)絡(luò)與廣播等傳輸媒體分配與再現(xiàn)圖像的便利性。
由于對更優(yōu)的像質(zhì)需求的增長和能滿足這種需求的相關(guān)技術(shù)的進(jìn)步,因而對新的編碼技術(shù)的要求也不斷增長。對JPEG系列中一種先進(jìn)的版本JPEG2000的研究工作已經(jīng)開展了一段了時間,結(jié)果實現(xiàn)了技術(shù)規(guī)范的標(biāo)準(zhǔn)化,并已開始實際應(yīng)用。
JPEG2000的編碼技術(shù)不僅涉及到復(fù)雜的處理,諸如子波變換與位平面熵編碼,還加重了CPU的負(fù)擔(dān),并使用大量的存貯容量。因此,若要有效地實施JPEG2000技術(shù)規(guī)范,就得采取策略性設(shè)計政策。
按技術(shù)規(guī)范編碼算法的自然設(shè)計,會產(chǎn)生使CPU過載的硬件結(jié)構(gòu),所需的存貯容量過大或其它問題。尤其在準(zhǔn)備裝到小型電子裝置上時,如電池容量有限的數(shù)碼相機(jī)或攜帶電話,就要用靈巧的方法降低功耗和存貯容量。
發(fā)明內(nèi)容
本發(fā)明基于這些因素而完成,目的在于提供一種在計算時間與存貯容量方面較具有優(yōu)勢的圖像編碼技術(shù)。
根據(jù)本發(fā)明的一較佳實施例涉及一種圖像編碼設(shè)備。該設(shè)備包括多個位平面單元,通過切開各位平面的圖像數(shù)據(jù)而讀出圖像數(shù)據(jù)和多個編碼器,可以獨立地編碼各個位平面單元如此讀出的各自位平面數(shù)據(jù)。
根據(jù)本發(fā)明的另一較佳實施例也涉及一種圖像編碼設(shè)備。該設(shè)備包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù)的轉(zhuǎn)換器對轉(zhuǎn)換器轉(zhuǎn)換的數(shù)據(jù)作量化的量化器多個位平面單元,通過切開各位平面量化的數(shù)據(jù),讀出量化器量化的數(shù)據(jù)多個編碼器,可獨立地編碼如此讀出的各個位平面數(shù)據(jù);和流發(fā)生器,可以合成各個位平面被編碼器編碼的數(shù)據(jù),從而產(chǎn)生編碼流,其中各位平面數(shù)據(jù)可并行編碼。
根據(jù)本發(fā)明的再一個較佳實施例也涉及一種圖像編碼設(shè)備。該設(shè)備包括多個位平面單元,通過切開各位平面的圖像數(shù)據(jù)而讀出圖像數(shù)據(jù);劃分單元,可按預(yù)定的屬性將位平面單元讀出的各位平面數(shù)據(jù)分成多組和多個編碼器,可獨立編碼各位平面的各組數(shù)據(jù)。
本發(fā)明又一較佳實施例也涉及一種圖像編碼設(shè)備。該設(shè)備包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù)的轉(zhuǎn)換器對轉(zhuǎn)換器轉(zhuǎn)換的數(shù)據(jù)作量化的量化器;多個位平面單元,通過切開量化的各位平面數(shù)據(jù),讀出經(jīng)量化器量化的數(shù)據(jù);劃分單元,按預(yù)定屬性把位平面單元讀出的各位平面數(shù)據(jù)分成多組;多個編碼器,可獨立地編碼各位平面各組的數(shù)據(jù);和流發(fā)生器,可合成各位平面被編碼器編碼的數(shù)據(jù)而生成編碼流,其中各位平面各組數(shù)據(jù)可并行編碼。
根據(jù)本發(fā)明的另一較佳實施例也涉及一種圖像編碼設(shè)備。該設(shè)備包括單個位平面單元,通過切開各位平面的圖像數(shù)據(jù)而讀出該圖像數(shù)據(jù);多個專用劃分單元,可按預(yù)定屬性把位平面單元讀出的位平面數(shù)據(jù)分成諸劃分單元管理的不同組,然后對其作編碼預(yù)處理;和一編碼器,可以合成多個專用劃分單元預(yù)處理得到的數(shù)據(jù),然后編碼合成的數(shù)據(jù)。
這些專用劃分單元(在例如JPEG2000中)可將數(shù)據(jù)分成三個相應(yīng)的通道,即s通道(重要通道)、r通道(改進(jìn)通道)和c通道(清除通道),而且這些專用劃分單元的處理操作可并行化。此時,高位位平面中的通道處理結(jié)果涉及到低位位平面中的通道處理時間。多個專用劃分單元的預(yù)處理可以并行執(zhí)行,而把時滯保持到在預(yù)處理結(jié)果之間作必要相互參照的程度。例如,這種相互參照可以是單向參照,使s通道的處理結(jié)果涉及r通道處理,而r通道的處理結(jié)果涉及c通道處理。
而且,預(yù)處理是一種對準(zhǔn)備編碼的下一位規(guī)定某一編碼條件的處理,且編碼器按該編碼條件對圖像數(shù)據(jù)作算術(shù)編碼。屆時可形成JPEG2000規(guī)范所限定的前后關(guān)系并涉及算術(shù)編碼時間。
根據(jù)本發(fā)明的再一較佳實施例也涉及一種圖像編碼設(shè)備。該設(shè)備包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù)的轉(zhuǎn)換器;對轉(zhuǎn)換器轉(zhuǎn)換的數(shù)據(jù)作量化的量化器;位平面單元,可通過切開各位平面量化的數(shù)據(jù)而讀出量化器量化的數(shù)據(jù);多個專用劃分單元,可按預(yù)定屬性把位平面單元讀出的位平面數(shù)據(jù)分成諸劃分單元管理的不同組,然后對其作編碼預(yù)處理;一編碼器,可合成所述多個專用劃分單元預(yù)處理得到的數(shù)據(jù),并編碼該合成的數(shù)據(jù);和一流發(fā)生器,可合成編碼器編碼的數(shù)據(jù)而生成編碼流。多個專用劃分單元可按JPEG2000技術(shù)規(guī)范將各個位平面數(shù)據(jù)并行地分成不同通道的數(shù)據(jù)。
多個專用劃分單元可以至少包括分別管理第一與第二組的第一和第二專用劃分單元,而各位平面數(shù)據(jù)可以某種方式處理,即在第一次掃描操作時,首先由第一專用劃分單元取出第一組,而在第二次掃描操作時,把第一專用劃分單元判斷為不屬于第一組的數(shù)據(jù)輸入第二專用劃分單元,并且取出第二組。第一和第二專用劃分單元可以按JPEG2000技術(shù)規(guī)范從各位平面數(shù)據(jù)里取出不同通道的數(shù)據(jù),一旦第一專用劃分單元的處理結(jié)果轉(zhuǎn)送給第二專用劃分單元,就可開始第二專用劃分單元的處理。
而且,多個專用劃分單元可以至少包括分別管理第一與第二組的第一和第二專用劃分單元,并以某種方式處理各位平面數(shù)據(jù),即在第一次掃描操作時,由第一專用劃分單元首先取出第一組,且同時記錄至少該第一組的數(shù)據(jù)位置,而在第二次掃描操作時,第二專用劃分單元參照該記錄的數(shù)據(jù)后取出第二組。
根據(jù)本發(fā)明的再一個較佳實施例涉及一種圖像編碼方法。該方法包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù);量化經(jīng)所述轉(zhuǎn)換的數(shù)據(jù);通過切開各位平面量化的數(shù)據(jù),讀出經(jīng)量化的數(shù)據(jù);獨立和并行地編碼如此讀出的各位平面數(shù)據(jù);和合成已編碼的各位平面數(shù)據(jù),并生成編碼流。
根據(jù)本發(fā)明的另一較佳實施例也涉及一種圖像編碼方法。該方法包括通過切開各位平面的圖像數(shù)據(jù),并行地讀出該圖像數(shù)據(jù);按預(yù)定屬性把讀出的各位平面數(shù)據(jù)分成多組;和獨立與并行地編碼各位平面的各組數(shù)據(jù)。
根據(jù)本發(fā)明的又一較佳實施例也涉及一種圖像編碼方法。該方法包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù)量化經(jīng)所述轉(zhuǎn)換的數(shù)據(jù);切開各位平面量化的數(shù)據(jù),并行地讀出經(jīng)量化的數(shù)據(jù);按預(yù)定屬性把讀出的各位平面數(shù)據(jù)分成多組;獨立和并行地編碼各位平面各組的數(shù)據(jù);和合成經(jīng)編碼的各位平面數(shù)據(jù),生成編碼流。
根據(jù)本發(fā)明的再一個較佳實施例也涉及一種圖像編碼方法。該方法包括切開各位平面的圖像數(shù)據(jù),依次讀出該圖像數(shù)據(jù);按預(yù)定屬性把讀出的位平面數(shù)據(jù)分成不同組,再對這些組并行地作編碼預(yù)處理;和合成預(yù)處理得到的數(shù)據(jù),再編碼合成的數(shù)據(jù)。
在執(zhí)行預(yù)處理中,對如此讀出的位平面數(shù)據(jù),由第一次掃描操作取出第一組,以便處理,而第二次掃描操作從判為不屬于第一組的數(shù)據(jù)中取出第二組,以便處理。
而且,在執(zhí)行預(yù)處理中,可以按JPEG2000規(guī)范從各位平面數(shù)據(jù)中依次取出不同通道的數(shù)據(jù),一旦上一通道的處理結(jié)果轉(zhuǎn)送給下一通道處理,就開始處理下一通道。
應(yīng)該指出,上述構(gòu)成元件和步驟的任何置換或轉(zhuǎn)換,方法與設(shè)備之間部分或全部置換或轉(zhuǎn)換的表示形式及其增添,以及改變?yōu)橛嬎銠C(jī)程序、記錄媒體等的表示形式,都全部有效并為本發(fā)明諸實施例包含。
此外,該發(fā)明內(nèi)容并不一定要描述所有必須的特征,因而本發(fā)明也可以是這些描述的特征的子組合。
圖1是根據(jù)本發(fā)明第一實施例的圖像編碼設(shè)備結(jié)構(gòu)的框圖。
圖2示出圖1所示算術(shù)編碼器在位平面算術(shù)編碼中使用的周圍鄰近系數(shù)。
圖3示出作為算術(shù)編碼單元的編碼塊。
圖4示出編碼塊中各相應(yīng)子波系數(shù)的位序。
圖5是根據(jù)本發(fā)明第二實施例的圖像編碼設(shè)備結(jié)構(gòu)的框圖。
圖6是根據(jù)本發(fā)明第三實施例的圖像編碼設(shè)備結(jié)構(gòu)的框圖。
圖7示出如何把編碼塊的各系數(shù)分成通道。
圖8是根據(jù)本發(fā)明第四實施例的圖像編碼設(shè)備結(jié)構(gòu)的框圖。
圖9示出如何把編碼塊的各系數(shù)并行地分成通道。
圖10是根據(jù)本發(fā)明第五實施例的圖像編碼設(shè)備結(jié)構(gòu)的框圖。
圖11A、11B和11C示出圖10所示通道處理器的操作。
圖12A、12B和12C示出本發(fā)明第六實施例中通道處理器的操作。
具體實施例方式
現(xiàn)在根據(jù)諸較佳實施例描述本發(fā)明,這些實施例并不限制本發(fā)明的范圍,只對發(fā)明作示例。實施例所描述的所有特征及其組合并非是本發(fā)明必需關(guān)鍵。
諸較佳實施例涉及圖像編碼,將JPEG2000用作圖像處理的一種形式。以下不對JPEG2000作詳述,其內(nèi)容已廣為人知。
第一實施例圖1示出根據(jù)本發(fā)明第一實施例的圖像編碼設(shè)備10的結(jié)構(gòu)。在硬件上,該結(jié)構(gòu)可用CPU、存儲器和其它LSI實現(xiàn),在軟件上,可在存儲器加載的具有圖像編碼功能的程序等實現(xiàn)。這里描述和圖示的功能塊可用這類元件共同實現(xiàn)。因此,本領(lǐng)域的技術(shù)人員應(yīng)該理解,這些功能可以只用硬件、只用軟件或二者結(jié)合的各種形式實現(xiàn)。
圖像編碼設(shè)備10包括子波變換器14、幀緩沖器16、量化器18、位平面編碼器20A與20B、算術(shù)編碼器22A與22B以及流發(fā)生器24。編碼處理開始時,把輸入圖像分成多組稱為瓦(tile)的塊。把每塊瓦編碼成一獨立圖像,并形成一位流。這樣,下面把對應(yīng)與該瓦的圖像塊當(dāng)作原始圖像(OI)來處理。但要指出,輸入圖像若保持完整,也可當(dāng)作原始圖像OI來處理,無需分成瓦。
先將原始圖像OI讀入幀緩沖器16。子波變換器14從幀緩沖器16里讀出該原始圖像OI,并運(yùn)用子波變換法遞歸變換該圖像。JPEG2000將Daubechies濾波器應(yīng)用于子波變換。這種濾波器沿圖像的各垂直與水平方向作為低通與高通濾波器,把單個圖像分成四個子頻帶沿垂直和水平兩個方向具有低頻分量的LL子頻帶,在垂直和水平方向之一具有一低頻分量而在凌夷方向有一高頻分量HL子頻帶和LH子頻帶,和在垂直與水平兩個方向具有高頻分量的HH子頻帶。沿各子頻帶垂直與水平方向中的像素數(shù)是該圖像在處理前的像素數(shù)的1/2,而一次濾波產(chǎn)生子頻帶圖像,其分辨度或圖像尺寸為原始圖像的1/4。把這樣得到的子頻帶圖像臨時存入幀緩沖器16。
除了這樣得到的子頻帶外,子波變換器14從幀緩沖器16里讀出最低頻率分量的LL子頻帶圖像,執(zhí)行另一次濾波而把它再分成另外四個子頻帶LL、HL、LH與HH,再把它們寫入幀緩沖器16。執(zhí)行預(yù)定次數(shù)的濾波,最后一次濾波產(chǎn)生的LL子頻帶作為最接近原始圖像OI的DC分量的圖像。同一層次上的四個子頻帶,即對它們作過同樣次數(shù)濾波后得到的子頻帶,從LL到HL和從LH到HH含有更大的高頻分量。這樣,含更多高頻分量的圖像就是上一次濾波得到的這四個子頻帶。用這種方法,通過對最低頻率分量反復(fù)作垂直-水平四分濾波,可在幀緩沖器16里得到遞歸垂直-水平四分結(jié)構(gòu)的從低頻分量到高頻分量分層次形成的圖像。
從低頻到高頻依次把存在幀緩沖器16里的分層圖像讀到量化器18,在需要時將它們量化。之后,在把各碼塊表示為位平面之前,為了作算術(shù)編碼,要把量化的子波系數(shù)分解為稱為碼塊的單元。對位平面作算術(shù)編碼,由算術(shù)編碼的位串形成位流,并得到最后編碼的圖像數(shù)據(jù)CI。
JPEG2000圖像編碼算法使用的算術(shù)編碼是熵編碼法。通過不斷監(jiān)視某種統(tǒng)計特性,以與其相關(guān)聯(lián)的方式對編碼表(此后稱概率表)優(yōu)化,因而該編碼法利用編碼表進(jìn)行。因此,這種編碼法可將壓縮率提高到高于通用的Huffman編碼法的水平。JPEG2000應(yīng)用的方法就是實現(xiàn)這種算術(shù)編碼將量化得到的多個位值分解成位平面,并再對如此分解的位平面內(nèi)的值作二進(jìn)制算術(shù)編碼。
在位平面的算術(shù)編碼中,按其附近的條件對各位數(shù)據(jù)作算術(shù)編碼。如圖2所示,通過將其周圍D0~D7的子波系數(shù)(下面也稱為周圍鄰居系數(shù))與x位置里的子波系數(shù)作比較,可確定位數(shù)據(jù)x的前后關(guān)系,從而利用按如此確定的前后關(guān)系而優(yōu)化的概率,根據(jù)這一前后關(guān)系對位數(shù)據(jù)x作算術(shù)編碼操作。
圖3示出一例要轉(zhuǎn)換成位平面的碼塊。該例表示一種含32×32個子波系數(shù)的碼塊。假頂該子波系數(shù)包括8位,則如圖4所示,各系數(shù)將包含對應(yīng)于平面P0~P6的七位b0~b6和一個符號位b7,數(shù)據(jù)大小為32×32×8=8192位。
對32×32子波系數(shù)的平面P6先進(jìn)行位平面編碼,再作算術(shù)編碼。然而,對于這種算術(shù)編碼,必須知道該位數(shù)據(jù)周圍的條件,如圖2所示。例如,假定要用四位代表周圍條件,那么對于含32×32個子波系數(shù)的碼塊而言,要求一32×32×4=4096位的附加存儲器。
為提高該JPEG2000算術(shù)編碼的速度,本實施例對多個碼塊應(yīng)用了并行編碼處理。這里再次參照圖1描述兩個碼塊編碼處理的并行化。
經(jīng)量化器18量化后,把這兩個不同的碼塊的子波系數(shù)分別存入兩個SRAM19A與19B。兩個位平面編碼器20A與20B并行地讀出兩碼塊的子波系數(shù),對它們作位平面編碼,將其結(jié)果存入兩個SRAM 21A與21B。然后,兩個算術(shù)編碼器22A與22B對位平面編碼后的這兩個碼塊作并行算術(shù)編碼。這樣,兩碼塊被并行算術(shù)編碼,重復(fù)這一過程將最終對所有碼塊實現(xiàn)算術(shù)編碼。接著,流發(fā)生器24編排各碼塊的編碼數(shù)據(jù),生成單個的位流。
在以上描述中,說明了一種對兩個碼塊同時編碼的并行處理結(jié)構(gòu)。然而,同樣可以構(gòu)成一種對三個或更多碼塊同時編碼的并行處理法。例如,可對存貯碼塊準(zhǔn)備三個SRAM,對位平面編碼準(zhǔn)備另外三個SRAM,相應(yīng)地,同時設(shè)置三個位平面編碼器和三個算術(shù)編碼器,從而可并行地編碼三個碼塊。
以此方式實施本實施例,可以并行地編碼諸碼塊,縮短了運(yùn)算時間。
第二實施例圖5示出根據(jù)本發(fā)明第二實施例的圖像編碼設(shè)備10的結(jié)構(gòu)。下面描述該結(jié)構(gòu)與操作同第一實施例的差異。在該第二例中,設(shè)置的單個SRAM19用于存貯碼塊,多個平面同時處理,以便編碼單個碼塊。如參照圖4所說明的那樣,存貯在SRAM19里的該碼塊有七個平面P6~P0。在第一實施例中,從對應(yīng)于最高位的平面P6開始,依次編碼這七個平面,但在第二實施例中,編碼時同時處理這些平面。這里將描述并行處理兩個平面的編碼實例。
貯存在SRAM19里的一碼塊的兩個不同平面,由兩個位平面編碼器20A與20B并行讀出;對每個平面作位平面編碼;再將其結(jié)果存入兩個SRAM21A與21B。然后,兩個算術(shù)編碼器22A與22B對位平面編碼后的這兩個平面作并行算術(shù)編碼。這樣,兩個平面被并行地算術(shù)編碼。重復(fù)這一過程,將最終對所有七個平面作算術(shù)編碼,得到該碼塊的編碼數(shù)據(jù)。
上述對各平面的并行化處理還不夠理想,即JPEG2000中的位平面編碼,實際上是利用高次位平面的信息執(zhí)行的。因此,更準(zhǔn)確地說,各平面編碼處理的并行化是這樣實現(xiàn)的即按預(yù)定時間間隔以該順序平移平面P6~P0的編碼處理,再復(fù)用經(jīng)如此時間平移的編碼處理。
應(yīng)該指出,在本實施例中,并行處理三個或更多平面編碼的結(jié)構(gòu),當(dāng)然可以通過設(shè)置三個或更多的位平面編碼器對三個或更多平面作位平面編碼來實現(xiàn)。
因此,在本實施例中,通過使各平面編碼處理并行化,可以縮短單個碼塊編碼所需的運(yùn)算時間。另外,與其中使多個碼塊編碼并行化的第一實施例不一樣,本實施例只需一個SRAM19存貯諸碼塊,因而明顯節(jié)省了存儲器容量和實施面積,即在用LSI構(gòu)制本例結(jié)構(gòu)時,可將實施面積即封裝面積壓縮為小尺寸。
在上述第一與第二實施例中,已經(jīng)說明了位平面編碼法的并行處理。根據(jù)JPEG2000技術(shù)規(guī)范,碼塊內(nèi)的每個位平面數(shù)據(jù)編碼后都被分成三個通道,即s通道、r通道和c通道。在下面的第三至第六實施例中,將描述對位平面編碼的并行處理,包括分成若干通道。
在描述第三至第六實施例之前,應(yīng)該指出,在JPEG2000中,對每條通道有兩種算術(shù)編碼運(yùn)算方法。就是說,在JPEG2000提供的一種運(yùn)算方法中,各編碼通道的算術(shù)編碼結(jié)束時,刷新算術(shù)編碼數(shù)據(jù),諸參數(shù)復(fù)位,準(zhǔn)備下一次編碼;而在另一種方法中,各編碼通道的算術(shù)編碼數(shù)據(jù)不刷新,對下一次編碼保持諸參數(shù),兩種方法都可選用。
第三與第四實施例代表這樣一種情況即上一次通道處理結(jié)果不轉(zhuǎn)送到編碼或下一通道,因而對越過該位平面的通道處理當(dāng)然無影響。所以,在第三與第四實施例中,可對各位平面單獨執(zhí)行通道處理。
另一方面,第五與第六實施例代表這樣的情況即上一次通道處理結(jié)果轉(zhuǎn)送給下一通道編碼,因而即使位平面斷裂,高次平面的通道處理結(jié)果仍會影響低次平面的通道處理。因此,不可避免的是,無法獨立地對各位平面作通道處理。這樣,在第五與第六實施例中,從高次平面開始,依次讀出位平面數(shù)據(jù),通過應(yīng)用上一個位平面的通道處理結(jié)果,對適用的位平面作通道處理,。
在理解了上述后續(xù)的通道運(yùn)算是否應(yīng)用上一次處理結(jié)果而導(dǎo)致的差異后,以下將描述第三至第六實施例。
第三實施例圖6示出根據(jù)本發(fā)明第三實施例的圖像編碼設(shè)備10的結(jié)構(gòu)。在該第三實施例中,與第一實施例相似,對多個碼塊并行地作編碼處理,不過這種并行處理同在位平面編碼中分成諸通道的處理(以后描述)一起執(zhí)行。這里將描述三個碼塊編碼處理的并行化,其中省略了與第一實施例共同的結(jié)構(gòu)與操作的描述。
將三個不同碼塊的子波系數(shù)存入三個SRAM19A、19B和19C,三個位平面處理器26A、26B和26C并行地讀出各碼塊的子波系數(shù),各子波系數(shù)分成一符號位及其絕對值,并把絕對值轉(zhuǎn)換成二進(jìn)制位平面表示。將各位平面分成例如若干高度為4的水平長條,供編碼使用,諸條自頂部開始依次處理。從左上起,對各條作垂向z字形掃描,直到右下角為止,處理再移到下一條。在這樣分成預(yù)定高度的條后作掃描,可縮短編碼時間,因為這樣可在通道處理(后面描述)時迅速地得到有關(guān)周圍條件的信息。
將三個碼塊位平面上掃描的數(shù)據(jù)分別供給三個通道處理器28A、28B和28C,并行地產(chǎn)生準(zhǔn)備用于劃分編碼通道和算術(shù)編碼的前后關(guān)系。
將描述各通道處理器28A、28B和28C處劃分通道的處理。劃分通道的方法是參照有關(guān)系數(shù)x和位于所述系數(shù)x附近的周圍鄰居系數(shù)D0~D7的重要/不重要信息,如圖2所示。這里的不重要系數(shù)是在其高位上不出現(xiàn)1的系數(shù),而重要系數(shù)是在其高位已出現(xiàn)1的系數(shù)。這種重要/不重要信息在系數(shù)每編碼一次就作更新。
在s通道中,對在其八個周圍鄰居系數(shù)中具有一個或多個重要系數(shù)的一不重要系數(shù)進(jìn)行編碼,因為在從不重要變?yōu)橹匾獣r,對像質(zhì)的影響很大。在r通道中,對通過在高平面上編碼而早已識別出是重要系數(shù)的一系數(shù)編碼。在c通道中,對在s通道中還未編碼的某個不重要系數(shù)編碼。
在圖7示出的實例中,對碼塊中的上述諸條作掃描,然后分配給任一條s、r和c通道。圖示的一例將平面P5的條分成通道的例子,是按s、r與c通道處理的順序分成經(jīng)掃描的條系數(shù)序列100、102和104。在該方法中,對應(yīng)于三類通道對該條掃描三次。在第一次掃描中,判斷各系數(shù)是否屬于s通道。在此階段,得到劃為s通道的系數(shù)5s0、5s1、……5s6。然后在第二次掃描中,判斷各系數(shù)是否屬于r通道。在該階段,得到劃為r通道的系數(shù)5r0、5r1與5r2。同樣在第三次掃描中,得到劃為c通道的系數(shù)5c0、5c1、5c2與5c3。
在以上述方法將平面P5分成s、r與c通道后,將下一平面P4分成三類通道。當(dāng)最后把所有的平面都分成這三類通道時,各通道就對各平面作位平面算術(shù)編碼。
在通道處理中,不僅要劃分成諸通道,還要形成準(zhǔn)備用于算術(shù)編碼的前后關(guān)系。下面簡述一下前后關(guān)系的形成。在前后關(guān)系形成方面,也要參照所述系數(shù)x及位于其附近的周圍鄰居系數(shù)D0~D7的重要/不重要信息,如圖2所示。
對每條通道都形成前后關(guān)系。在s通道,以簡并成九類前后關(guān)系的方式,對八個周圍鄰居系數(shù)產(chǎn)生重要/不重要信息。在r通道中,依據(jù)劃為r通道的某系數(shù)在該平面是否第一次劃歸r通道,并還依據(jù)八個周圍鄰居系數(shù)有多少是重要系數(shù),來產(chǎn)生三類前后關(guān)系。在c通道中,產(chǎn)生與s通道同樣的前后關(guān)系。這樣,運(yùn)用各通道如此形成的前后關(guān)系,執(zhí)行基于預(yù)測值的算術(shù)編碼。
第四實施例圖8示出根據(jù)本發(fā)明的第四實施例的圖像編碼設(shè)備10的結(jié)構(gòu)。在第四實施例中,與第二實施例相似,設(shè)置單個SRAM 19用于存貯碼塊,以編碼單個碼塊。然而,不是對位平面作并行處理,而是對s、r與c通道的三路通道處理作并行處理。第三實施例已描述過的劃分通道與前后關(guān)系形成,這里就省略了。另外,標(biāo)號相同的元件與已描述的內(nèi)容一樣。
把位平面處理器26從SRAM 19里讀出的碼塊系數(shù)構(gòu)成位平面并供給通道處理器28,后者包括s通道處理器29A、r通道處理器29B和c通道處理器29C,并構(gòu)成能并行處理每條通道。
在第三實施例所描述的分成通道方面,按s、r與c通道的順序作掃描,并參照前一通道的劃分結(jié)果。因此,通常是s通道處理的后面是r通道處理,再后面是c通道處理。還有,劃分碼塊系數(shù)通道所需的信息限于周圍鄰居系數(shù)的信息,因而其特點并非是一定要處理完了前一通道才能處理后續(xù)通道。這樣,在本例中,s、r與c通道是并行處理的,如下所述。
s、r、c通道處理器29A、29B和29C都是專用處理器,專門對其各個通道作劃分處理。它們都接收位平面處理器26提供的位平面數(shù)據(jù),不過其處理的開始由兩個延遲單元30B和30C連續(xù)延遲例如兩個單位時間。操作第一延遲單元30B時,r通道處理器29B對在兩個單位時間前已被s通道處理器29A處理過的數(shù)據(jù)作通道處理。第二延遲單元30C操作時,c通道處理器29C對在兩個單位時間前已被r通道處理器29B處理過的數(shù)據(jù)作通道處理。
將以第三實施例中描述的圖7中平面P5的通道處理為例,來描述所述本實施例的并行通道處理。圖9示出的并行通道狀態(tài),由s、r、c通道處理器29A、29B和29C劃分,水平軸代表時間T。在時刻t0,s通道處理器29A開始對一連串被掃描的碼塊系數(shù)作通道劃分。過兩個單位時間后,即在時刻t2,r通道處理器29B開始對同一串系數(shù)作通道劃分。再過兩個單位時間后,即在時刻t4,c通道處理器29C開始作通道劃分。
圖9示出各通道處理器對這一串系數(shù)的劃分結(jié)果200、202和204。在時刻t2,r通道處理器29B可以利用s通道處理器29A在兩個單位時間前劃分的前兩個系數(shù)的結(jié)果5s0與5s1,此時,由于前兩個系數(shù)被劃為s通道,所以跳過該處理。在時刻t4,r通道處理器29B把第三系數(shù)劃為r通道。同樣地,c通道處理器29C可以利用劃分為s或r通道的前三個系數(shù),最后在時刻t7,第一次劃分c通道。
這樣,在本實施例中,不管兩個單位時間的時滯如何,都并行劃分了三條通道,因而通道劃分處理速度幾乎為第三實施例的三倍。還應(yīng)指出,與通道劃分同時進(jìn)行的各通道的前后關(guān)系形成,是并行處理的。
本實施例中,通過對其各自的通道并行操縱專用處理器,可以縮短碼塊編碼所需的運(yùn)算時間。另外,在該第四實施例中,與第三實施例在整個處理中要設(shè)置多個存貯碼塊的存儲器以并行編碼諸碼塊的情況不同,只用一個存儲器存貯碼塊,且單個碼塊的通道處理可實現(xiàn)并行的內(nèi)部操作。這樣,可縮短運(yùn)算時間,又能將存儲器的大小減至最小。
第五實施例圖10示出根據(jù)本發(fā)明的第五實施例的圖像編碼設(shè)備10的結(jié)構(gòu)。第五實施例在結(jié)構(gòu)與操作上同第四實施例的差別在于,通道處理器28在s、r和c通道的通道處理之間轉(zhuǎn)送處理結(jié)果。
通道處理器28包括s、r、c通道處理器29A~29C;存貯s通道處理器29A的處理結(jié)果的SRAM31A;和存貯r通道處理器29B的處理結(jié)果的SRAM31B。r通道處理器29B應(yīng)用s通道處理器29A存入SRAM31A里的處理結(jié)果,而c通道處理器29c則應(yīng)用r通道處理器29B存入SRAM31B里的處理結(jié)果。
現(xiàn)在參照圖11A~11C描述通道處理器28的操作。圖11A示出c通道的處理操作。S通道處理器29A根據(jù)其它平面周圍的位數(shù)據(jù)與信息,判斷位平面處理器26提供的位數(shù)據(jù)是否屬于s通道。s通道處理器29A還存貯被判為屬于s通道的位數(shù)據(jù)和前后關(guān)系信息,以便把概率表選入第一SRAM31A。算術(shù)編碼器22利用存入第一SRAM31A的位數(shù)據(jù)和前后關(guān)系,執(zhí)行算術(shù)編碼。
圖11B示出r通道的處理操作。r通道處理器29B利用s通道存入第一SRAM31A里的處理結(jié)果,計算前后關(guān)系等。r通道處理器29B根據(jù)其它平面的周圍位數(shù)據(jù)與信息,判斷位平面處理器26提供的位數(shù)據(jù)是否屬于r通道,然后存貯被判為屬于r通道的位數(shù)據(jù)與前后關(guān)系信息,以便把概率表選入第二SRAM31B。
圖11C示出c通道的處理操作。C通道處理器29C以同樣方式利用r通道存入第二SRAM31b里的處理結(jié)果,并根據(jù)其它平面的周圍位數(shù)據(jù)與信息,判斷該位數(shù)據(jù)是否屬于c通道,而且輸出被判為屬于c通道的位數(shù)據(jù)與前后關(guān)系信息,以便選擇概率表。
根據(jù)第五實施例,通過臨時在存儲器中存貯的前后關(guān)系并參照其內(nèi)容,能執(zhí)行要求轉(zhuǎn)送其它通道處理結(jié)果的通道處理。這樣,如在處理r通道處理時,就不必重復(fù)s通道運(yùn)算來獲得s通道的處理結(jié)果,因而,節(jié)省了運(yùn)算時間,還簡化了通道處理器28的處理操作。
第六實施例與第五實施例一樣,第六實施例也要轉(zhuǎn)交通道處理之間的處理結(jié)果。根據(jù)第六實施例的圖像編碼設(shè)備,其結(jié)構(gòu)與圖8所示的根據(jù)第四實施例的圖像編碼設(shè)備10相同,不過在通道處理器28的通道處理操作方面不一樣。
現(xiàn)在參照圖12A、12B和12C描述通道處理器28的操作。圖12A示出s通道的處理操作。s通道處理器29A根據(jù)其它平面的周圍位數(shù)據(jù)與信息,判斷位平面處理器26提供的位數(shù)據(jù)是否屬于s通道,還輸出被判為屬于s通道的位數(shù)據(jù)與前后關(guān)系信息,以便選擇概率表。算術(shù)編碼器22利用如此輸出的位數(shù)據(jù)與前后關(guān)系,執(zhí)行算術(shù)編碼。
圖12B示出r通道的處理操作。首先把位平面處理器26提供的位數(shù)據(jù)輸入s通道處理器29A,在那里再作s通道處理,并將其處理結(jié)果輸入r通道處理器29B,r通道處理器29B通過操縱第一延遲單元30B,接收s通道處理器29A完成再運(yùn)算后的位數(shù)據(jù),并利用由s通道處理器29A輸入的s通道的處理結(jié)果,作r通道處理。
圖12c示出c通道的處理操作。在c通道處理之前,要依次再運(yùn)算s和r通道,即s通道處理器29A再運(yùn)算s通道,并根據(jù)其結(jié)果,由r通道處理器29B再運(yùn)算r通道。然后,把r通道的再運(yùn)算結(jié)果送給c通道處理器29c,通過操縱第二延遲單元30c,由c通道處理器29C執(zhí)行基于r通道處理結(jié)果的c通道處理。
根據(jù)本實施例,在后續(xù)通道處理時應(yīng)用了前一通道的專用處理器,因而不必把前一通道的處理結(jié)果存入存儲器。盡管由于重復(fù)運(yùn)算前一通道而使運(yùn)算時間變得更長,但是不設(shè)存儲器可以壓縮通道處理器28的封裝面積,以降低封裝成本。
本發(fā)明內(nèi)容已根據(jù)僅作示例的諸實施例作了描述。本領(lǐng)域的技術(shù)人員應(yīng)能理解,對描述的每個元件與每種處理的組合,都有各種其它的修正,而這類修正都為本發(fā)明的范圍所包括。下面將描述這類修正。
例如,考慮到各種要求,如對編碼速度、電路封裝規(guī)模與功耗的要求,可決定選用第五實施例的運(yùn)算時間縮短型設(shè)計還是第六實施例的存儲器節(jié)省型設(shè)計,從而在設(shè)計上可設(shè)想出更多的修正和組合方法。
在以上描述中,用JPEG2000編碼算法為例說明了諸較佳實施例,但是本發(fā)明的并行編碼處理可應(yīng)用于JPEG與MPEG等其它圖像編碼算法。
因此,實現(xiàn)這些實施例能更有效的圖像編碼處理。
雖然本發(fā)明通過諸示例實施例作了描述,但是應(yīng)該理解。在不背離由所附權(quán)利要求限定的本發(fā)明的范圍的情況下,本領(lǐng)域的技術(shù)人員可以作出許多改變與替代。
權(quán)利要求
1.一種圖像編碼設(shè)備,其特征在于,包括多個位平面單元,可通過切開各位平面的圖像數(shù)據(jù)而讀出圖像數(shù)據(jù);和多個編碼器,可獨立地對所述多個位平面單元如此讀出的各位平面數(shù)據(jù)編碼。
2.一種圖像編碼設(shè)備,其特征在于,包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù)的轉(zhuǎn)換器;對所述轉(zhuǎn)換器轉(zhuǎn)換的數(shù)據(jù)作量化的量化器;多個位平面單元,通過切開量化的各位平面數(shù)據(jù),可讀出所述量化器已量化的數(shù)據(jù);多個編碼器,可獨立地對如此讀出的各位平面數(shù)據(jù)編碼;和流發(fā)生器,可合成已被所述編碼器編碼的各位平面數(shù)據(jù),從而生成編碼流;其中對各位平面數(shù)據(jù)作并行編碼。
3.一種圖像編碼設(shè)備,其特征在于,包括多個位平面單元,可通過切開各位平面的圖像數(shù)據(jù)讀出圖像數(shù)據(jù);劃分單元,可按預(yù)定屬性將所述位平面單元讀出的各位平面數(shù)據(jù)劃分成多組;多個編碼器,可獨立地對各位平面各組的數(shù)據(jù)編碼。
4.一種圖像編碼設(shè)備,其特征在于,包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù)的轉(zhuǎn)換器;對所述轉(zhuǎn)換器轉(zhuǎn)換的數(shù)據(jù)作量化的量化器;多個位平面單元,通過切開量化的各位平面數(shù)據(jù),可讀出由所述量化器量化的數(shù)據(jù);劃分單元,可按預(yù)定屬性把所述位平面單元讀出的各位平面數(shù)據(jù)劃分成多組;多個編碼器,可獨立地對各位平面各組的數(shù)據(jù)編碼;和流發(fā)生器,可合成由所述編碼器編碼的各位平面數(shù)據(jù),從而生成編碼流;其中對各位平面的各組數(shù)據(jù)作并行編碼。
5.一種圖像編碼設(shè)備,其特征在于,包括單個位平面單元,通過切開各位平面的圖像數(shù)據(jù)而讀出圖像數(shù)據(jù);多個專用劃分單元,可按預(yù)定屬性把所述位平面單元讀出的位平面數(shù)據(jù)劃分為所述劃分單元管理的不同組,然后對其作編碼預(yù)處理;和編碼器,可合成所述多個專用劃分單元預(yù)處理得到的數(shù)據(jù),再對合成的數(shù)據(jù)編碼。
6.如權(quán)利要求5所述的圖像編碼設(shè)備,其特征在于,所述多個專用劃分單元并行地作預(yù)處理,同時將時滯保持到可在預(yù)處理結(jié)果之間作必要的相互參照的程度。
7.如權(quán)利要求5所述的圖像編碼設(shè)備,其特征在于,所述預(yù)處理是對準(zhǔn)備編碼的下一位規(guī)定一預(yù)測值的處理,且所述編碼器根據(jù)該預(yù)測值對圖像數(shù)據(jù)作算術(shù)編碼。
8.如權(quán)利要求6所述的圖像編碼設(shè)備,其特征在于,的預(yù)處理是對準(zhǔn)備編碼的下一位規(guī)定一預(yù)測值的處理,且所述編碼器根據(jù)該預(yù)測值對圖像數(shù)據(jù)作算術(shù)編碼。
9.如權(quán)利要求5所述的圖像編碼設(shè)備,其特征在于,根據(jù)各不同的組對預(yù)測值變化產(chǎn)生怎樣的影響的觀點來劃分不同的組。
10.一種圖像編碼設(shè)備,其特征在于,包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù)的轉(zhuǎn)換器;對所述轉(zhuǎn)換器轉(zhuǎn)換的數(shù)據(jù)作量化的量化器;位平面單元,可通過切開量化的各位平面數(shù)據(jù),讀出由所述量化器量化的數(shù)據(jù);多個專用劃分單元,可按預(yù)定屬性把所述位平面單元讀出的位平面數(shù)據(jù)劃分為所述劃分單元管理的不同組,然后對其作編碼預(yù)處理;編碼器,可合成所述多個專用劃分單元預(yù)處理得到的數(shù)據(jù),再對合成的數(shù)據(jù)編碼;和流發(fā)生器,可合成由所述編碼器編碼的數(shù)據(jù),從而生成編碼流。
11.如權(quán)利要求5所述的圖像編碼設(shè)備,其特征在于,根據(jù)JPEG2000技術(shù)規(guī)范,所述多個專用劃分單元并行把各位平面數(shù)據(jù)分成不同通道數(shù)據(jù)。
12.如權(quán)利要求10所述的圖像編碼設(shè)備,其特征在于,根據(jù)JPEG2000技術(shù)規(guī)范,所述多個專用劃分單元并行把各位平面數(shù)據(jù)分成不同通道數(shù)據(jù)。
13.如權(quán)利要求5所述的圖像編碼設(shè)備,其特征在于,所述多個專用劃分單元至少包括分別管理第一與第二組的第一和第二專用劃分單元,而且各位平面數(shù)據(jù)以一種方式處理在第一次掃描操作時,所述第一專用劃分單元首先提取第一組,而在第二次掃描操作時,將所述第一專用劃分單元判為不屬于第一組的數(shù)據(jù)輸入所述第二專用劃分單元,并提取第二組。
14.如權(quán)利要求13所述的圖像編碼設(shè)備,其特征在于,所述第一與第二專用劃分單元按JPEG2000技術(shù)規(guī)范從各位平面數(shù)據(jù)里取出不同通道數(shù)據(jù),一旦將所述第一專用劃分單元的處理結(jié)果轉(zhuǎn)送給所述第二專用劃分單元,所述第二專用劃分單元就開始處理。
15.如權(quán)利要求5所述的圖像編碼設(shè)備,其特征在于,所述多個專用劃分單元至少包括分別管理第一與第二組的第一和第二專用劃分單元,而且各位平面數(shù)據(jù)以一種方式處理在第一次掃描操作時,所述第一專用劃分單元首先取出第一組,同時記錄至少第一組的數(shù)據(jù)位置,而在第二次掃描操作時,所述第二專用劃分單元參照所記錄的數(shù)據(jù)提取第二組。
16.一種圖像編碼方法,其特征在于,包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù);量化經(jīng)所述轉(zhuǎn)換的數(shù)據(jù);切開量化的各位平面數(shù)據(jù),讀出經(jīng)所述量化的數(shù)據(jù);獨立而并行地對如此讀出的各位平面數(shù)據(jù)編碼;和合成經(jīng)所述編碼的各位平面數(shù)據(jù),生成編碼流。
17.一種圖像編碼方法,其特征在于,包括切開各位平面圖像數(shù)據(jù),并行讀出圖像數(shù)據(jù);按預(yù)定屬性把讀出的各位平面數(shù)據(jù)分成多組;和獨立而并行地對各位平面的各組數(shù)據(jù)編碼。
18.一種圖像編碼方法,其特征在于,包括把圖像數(shù)據(jù)轉(zhuǎn)換成空間頻率上數(shù)據(jù);量化經(jīng)所述轉(zhuǎn)換的數(shù)據(jù);切開量化的各位平面數(shù)據(jù),并行地讀出經(jīng)所述量化的數(shù)據(jù);按預(yù)定屬性把所述讀出的各位平面數(shù)據(jù)分成多組;獨立而并行地對各位平面各組的數(shù)據(jù)編碼;和合成經(jīng)所述編碼的各位平面數(shù)據(jù),生成編碼流。
19.一種圖像編碼方法,其特征在于,包括切開各位平面圖像數(shù)據(jù),依次讀出圖像數(shù)據(jù);按預(yù)定屬性把所述讀出的位平面數(shù)據(jù)分成不同的組,再并行地對組作編碼預(yù)處理;和合成預(yù)處理得到的數(shù)據(jù),再對合成的數(shù)據(jù)編碼。
20.如權(quán)利要求19所述的圖像編碼方法,其特征在于,在執(zhí)行所述預(yù)處理時,對如此讀出的位平面數(shù)據(jù)作第一次掃描操作來提取第一組,并通過第二次掃描操作從被判定為不屬于第一組的數(shù)據(jù)中提取第二組,并進(jìn)行處理。
21.如權(quán)利要求19所述的圖像編碼方法,其特征在于,在執(zhí)行所述預(yù)處理時,按JPEG2000技術(shù)規(guī)范從各位平面數(shù)據(jù)中依次提取不同通道的數(shù)據(jù),而一旦將前一通道的處理結(jié)果轉(zhuǎn)送給下一通道處理,就開始下一通道的處理。
全文摘要
用作算術(shù)編碼單元的位平面處理器從SRAM里讀出一碼塊,在把該碼塊轉(zhuǎn)換成位平面形式后,位平面處理器把位數(shù)據(jù)提供給通道處理器。該通道處理器包含s、r和c通道處理器,s、r和c各通道處理器在一種狀態(tài)下并行地執(zhí)行處理,這樣,其開始時間通過兩個延遲單元的操作變動一預(yù)定的單位時間。
文檔編號G06T9/00GK1398116SQ0212640
公開日2003年2月19日 申請日期2002年7月12日 優(yōu)先權(quán)日2001年7月12日
發(fā)明者大山達(dá)史, 山田祐司, 山內(nèi)英樹 申請人:三洋電機(jī)株式會社