專利名稱:可變長(zhǎng)度編碼方法以及可變長(zhǎng)度解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種可變長(zhǎng)度編碼方法以及可變長(zhǎng)度解碼方法,特別涉及一種用于轉(zhuǎn)換通過根據(jù)可變長(zhǎng)度編碼處理把圖像數(shù)據(jù)的頻率分量(量化系數(shù))量化為被編碼數(shù)據(jù)而獲得的多個(gè)系數(shù)的方法,以及涉及用于根據(jù)一種可變長(zhǎng)度解碼處理來對(duì)該編碼的數(shù)據(jù)進(jìn)行解碼以重構(gòu)多個(gè)系數(shù)的方法。
背景技術(shù):
在最近幾年,我們迎來了多媒體時(shí)代,其中音頻、視頻和其他數(shù)據(jù)被集成地處理,并且例如報(bào)紙、雜志、電視、廣播以及電話這樣的傳統(tǒng)信息媒體(即,用于把信息發(fā)送到個(gè)人的手段)已經(jīng)被采用,作為多媒體的對(duì)象。通常“多媒體”的含義不但代表文字,而且還代表圖像、語音以及特別是時(shí)間上相關(guān)的圖像。為了處理傳統(tǒng)的信息媒體作為多媒體的對(duì)象,把信息轉(zhuǎn)換為數(shù)字格式是本質(zhì)性的。
當(dāng)由上述每個(gè)信息媒體所處理的數(shù)據(jù)量用數(shù)字?jǐn)?shù)據(jù)量來估計(jì)時(shí),在字符的情況中,用于每個(gè)字符的數(shù)據(jù)量是1-2個(gè)字節(jié)。但是,在語音的情況中,數(shù)據(jù)量為每秒64kbits(用于通信的質(zhì)量),并且在運(yùn)動(dòng)圖像的情況中,該數(shù)據(jù)量大于每秒100Mbits(用于當(dāng)前電視廣播的質(zhì)量)。從而,對(duì)于上述信息媒體,以數(shù)字格式原樣地處理這樣大量的數(shù)據(jù)是不現(xiàn)實(shí)的。例如,可視電話已經(jīng)通過具有64kbps~1.5Mbps的傳輸速率的ISDN(綜合業(yè)務(wù)數(shù)字網(wǎng))而投入使用,但是重要的是通過ISDN原樣地傳送具有大數(shù)據(jù)量的電視攝像機(jī)的輸出圖像。
從而,需要數(shù)據(jù)壓縮技術(shù)。例如,在可視電話的情況中,采用被ITU-T(國(guó)際電信聯(lián)盟-電信部門)標(biāo)準(zhǔn)化為H.261和H.263的運(yùn)動(dòng)圖像壓縮技術(shù)。另外,根據(jù)基于MPEG-1的數(shù)據(jù)壓縮技術(shù),可以在一個(gè)普通的音樂CD(壓縮光盤)中與音頻數(shù)據(jù)一同記錄圖像數(shù)據(jù)。
在此,MPEG(運(yùn)動(dòng)圖像專家組)是與用于運(yùn)動(dòng)圖像的圖像信號(hào)的數(shù)字壓縮相關(guān)的一種國(guó)際標(biāo)準(zhǔn)。在MPEG-1中,運(yùn)動(dòng)圖像的圖像信號(hào)被壓縮為1.5Mbps,即,電視信號(hào)的數(shù)據(jù)被壓縮為大約1/100。由于MPEG-1的傳輸速率主要限制為大約1.5Mbps,MPEG-2被標(biāo)準(zhǔn)化為滿足更高圖像質(zhì)量的需求。在MPEG-2中,一個(gè)運(yùn)動(dòng)圖像的圖像信號(hào)被壓縮為2-15Mbps。
在現(xiàn)有的情況中,由對(duì)于MPEG-1和MPEG-2(ISO/IECJTC1/SC29/WG11)標(biāo)準(zhǔn)化的工作組實(shí)現(xiàn)具有更高壓縮比的MPEG-4的標(biāo)準(zhǔn)化,MPEG-4不僅僅能夠高效率地以較低位率進(jìn)行編碼,而且實(shí)現(xiàn)一種強(qiáng)的抗錯(cuò)誤技術(shù)的引入,其即使在出現(xiàn)傳輸線錯(cuò)誤時(shí)也可以減小主觀的圖像質(zhì)量下降。另外,ITU-T開發(fā)H.26L標(biāo)準(zhǔn)作為下一代圖像編碼方法的標(biāo)準(zhǔn),并且在此時(shí)最新的編碼方法被稱為“測(cè)試模型”(TML8)。
圖30為示出傳統(tǒng)的圖像編碼裝置的方框圖。
該圖像編碼裝置201a具有用于把一個(gè)所輸入的圖像信號(hào)Vin分塊為分別包括預(yù)定數(shù)目的像素的單元區(qū)域(塊)并且輸出分塊的圖像信號(hào)BlkS的分塊單元Blk,以及用于使得該輸出BlkS受到頻率變換以輸出對(duì)應(yīng)于各個(gè)塊的頻率分量TransS的頻率變換單元Trans。在此,該塊是在一個(gè)圖像(圖像空間)中的預(yù)定尺寸的區(qū)域,其是用于一個(gè)圖像信號(hào)的編碼處理的單元,并且其由預(yù)定數(shù)目的像素所構(gòu)成。在此,該圖像信號(hào)Vin對(duì)應(yīng)于由多個(gè)圖像所構(gòu)成的一個(gè)運(yùn)動(dòng)圖像。
該圖像編碼裝置201a進(jìn)一步包括一個(gè)量化單元Q,用于量化來自該頻率變換單元的輸出(頻率分量)TransS,并且輸出對(duì)應(yīng)于各個(gè)塊的量化的分量(量化系數(shù))QS;以及一個(gè)編碼單元RLE0a,用于使得來自該量化單元的輸出(量化分量)QS受到可變長(zhǎng)度編碼處理。
接著,將描述其操作。
當(dāng)一個(gè)圖像信號(hào)Vin被輸入到該圖像編碼裝置201a時(shí),分塊單元Blk把輸入的圖像信號(hào)Vin分為對(duì)應(yīng)于塊單元的圖像信號(hào),以產(chǎn)生對(duì)應(yīng)于每個(gè)塊的圖像信號(hào)(分塊的圖像信號(hào))BlkS。該頻率變換單元Trans根據(jù)DCT(離散余弦變換)把分塊的圖像信號(hào)BlkS分為頻率分量TransS或者小波變換。該量化單元Q在一個(gè)預(yù)定的量化步驟中根據(jù)一個(gè)量化參數(shù)QP量化該頻率分量TransS,以輸出量化分量QS,以及輸出量化參數(shù)QP。然后,該編碼單元RLE0a使得該量化分量QS受到可變長(zhǎng)度編碼處理,并且輸出一個(gè)編碼流Str0a。
圖31示出用于說明構(gòu)成圖像編碼裝置201a的編碼單元RLE0a的方框圖。
該編碼單元RLE0a具有一個(gè)曲折掃描儀Scan,用于把在一個(gè)二維陣列中的量化單元Q的輸出(量化分量)QS變換為在一個(gè)一維陣列(即,預(yù)定次序)中的量化分量;以及一個(gè)可變長(zhǎng)度編碼器VLC,用于使得從曲折掃描儀Scan輸出的量化分量Coef受到可變長(zhǎng)度編碼處理。
當(dāng)從量化單元Q輸出的量化分量QS被輸出的編碼單元RLE0a時(shí),該曲折掃描儀Scan把在來自該量化單元Q的一個(gè)二維陣列中的量化分量QS變換為在一個(gè)一維陣列(預(yù)定次序)中的量化分量Coef,并且輸出該量化分量。
圖43為用于具體說明用于由曲折掃描儀Scan變換該量化分量QS的處理的示意圖。
如圖43中所示,從量化單元Q輸出的量化分量QS具有一個(gè)二維陣列,即,這樣一個(gè)陣列,其中根據(jù)水平頻率分量的大小和垂直頻率分量的大小而在一個(gè)二維頻率區(qū)域Fr上以矩陣的形式設(shè)置該量化分量QS。
該曲折掃描儀Scan執(zhí)行一個(gè)處理用于按照如箭頭Y1至Y7所示的曲折方式掃描在該二維陣列中的量化分量QS,以把該分量變換為在一個(gè)一維陣列中的量化分量Coef。也就是說,在該掃描處理中,對(duì)于在該二維陣列中的多個(gè)量化分量QS沿著掃描的過程設(shè)置預(yù)定次序。
然后,該可變長(zhǎng)度編碼器VLC利用示出表示量化分量的大小與代碼(代碼字)之間的關(guān)系的代碼表把代碼分配到從曲折掃描儀Scan輸出的量化分量Coef,以把該量化分量變換為對(duì)應(yīng)于每個(gè)塊的一個(gè)編碼流Str0a。
圖32為用于說明對(duì)應(yīng)于圖30中所示的圖像編碼裝置201a的圖像解碼裝置202a的方框圖。
該圖像解碼裝置202a對(duì)從如圖30中所示的常規(guī)圖像編碼裝置201a輸出的編碼流Str0a進(jìn)行解碼。
該圖像解碼裝置202a具有用于解碼從圖像編碼裝置201a輸出的編碼流Str0a的解碼單元RLD0a、以及用于使得來自解碼單元RLD0a的輸出(解碼的量化分量)DQS受到反量化處理的反量化單元IQ。
該圖像解碼裝置202a進(jìn)一步包括用于使得來自反量化單元IQ的輸出(解碼的頻率分量)ITransS受到反頻率變換處理的反頻率變換單元ITrans、以及用于根據(jù)來自反頻率變換單元ITrans的輸出(解碼的分塊圖像信號(hào))DBlkS產(chǎn)生對(duì)應(yīng)于每個(gè)圖像的解碼的圖像信號(hào)Vout的解塊單元DeBlk。
下面,將描述其操作。
當(dāng)該編碼流Str0a被從圖像編碼裝置201a到圖像解碼裝置202a輸入時(shí),該解碼單元RLD0a解碼該編碼流Str0a,并且輸出解碼的量化分量DQS。該解碼單元RLD0a的操作與編碼單元RLE0a的操作相反。
該反量化單元IQ執(zhí)行量化單元Q的操作的反操作,即,根據(jù)量化參數(shù)QP對(duì)解碼的量化分量DQS進(jìn)行反量化并且輸出解碼的頻率分量ITransS的操作。該反頻率變換單元ITrans執(zhí)行頻率變換單元Trans的操作的反操作,即,使得解碼的頻率分量ITransS受到反DCT或反小波變換,以重構(gòu)對(duì)應(yīng)于各個(gè)塊的解碼的圖像信號(hào)DBlkS的操作。然后,該解塊單元DeBlk結(jié)合各個(gè)塊的解碼的圖像信號(hào)DBlkS,以輸出一個(gè)對(duì)應(yīng)于每個(gè)圖像(幀)的解碼的圖像信號(hào)Vout。
圖33為用于說明構(gòu)成圖像解碼裝置202a的解碼單元RLD0a的方框圖。
該解碼單元RLD0a具有一個(gè)可變長(zhǎng)度解碼器VLD,用于使得編碼流Str0a受到可變長(zhǎng)度解碼處理,以解碼對(duì)應(yīng)于包含在編碼流Str0a中的每個(gè)代碼的量化分量Coef;以及反曲折掃描儀IScan,用于從由可變長(zhǎng)度解碼器VLD輸出的一維陣列的解碼的量化分量DQS重構(gòu)二維陣列的量化分量DQS。
在該解碼單元RLD0a中,可變長(zhǎng)度解碼器VLD根據(jù)與可變長(zhǎng)度編碼器VLC相反的操作解碼該編碼流Str0a,并且輸出對(duì)應(yīng)于代碼(代碼字)的量化分量Coef。然后,該反曲折掃描儀IScan執(zhí)行與曲折掃描儀Scan相反的操作,以從由可變長(zhǎng)度解碼器VLD輸出的一維陣列的量化分量Coef重構(gòu)二維陣列的解碼的量化分量DQS,并且把該解碼的量化分量DQS輸出到該反量化單元IQ。
日本專利中請(qǐng)No.6-311534中公開一種方法,其中一個(gè)圖像信號(hào)被分為亮度信號(hào)和色差信號(hào),以使得所獲得的信號(hào)受到可變長(zhǎng)度編碼處理。
對(duì)應(yīng)于已經(jīng)被設(shè)置預(yù)定次序的各個(gè)塊的多個(gè)量化分量是包括高冗余度的數(shù)據(jù),即,在一個(gè)非零的系數(shù)(非零系數(shù))之后連續(xù)接著多個(gè)數(shù)值為零的系數(shù)(零系數(shù))。為了編碼這種量化分量,通常采用這樣一種方法,其中對(duì)刪除冗余信息的量化分量編碼,例如,通過使用表示連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值而對(duì)量化分量編碼的游程長(zhǎng)度編碼方法。
在下文中,將描述使用該游程長(zhǎng)度編碼方法的常規(guī)圖像編碼裝置。
圖34為示出執(zhí)行游程長(zhǎng)度編碼的常規(guī)圖像編碼裝置的方框圖。
該圖像編碼裝置201b包括取代圖30中所示的圖像編碼裝置201a的編碼單元RLE0a的一個(gè)游程長(zhǎng)度編碼單元RLE0b,用于使得來自量化單元Q的輸出(量化分量)QS受到游程長(zhǎng)度編碼,并且輸出一個(gè)編碼流Str0b。其他部分與圖像編碼裝置201a的相同。
該圖像編碼裝置201b的操作不同于圖像編碼裝置201a的操作之處僅僅在于編碼單元RLE0b的操作。
圖35為示出在圖像編碼裝置201b中的編碼單元RLE0b的具體結(jié)構(gòu)的方框圖。
該游程長(zhǎng)度編碼單元RLE0b類似于編碼單元RLE0a,具有一個(gè)曲折掃描儀Scan,用于把來自量化單元Q的二維陣列的輸出(量化分量)QS變換為一維(即,預(yù)定次序)的量化分量Coef。
然后,該游程長(zhǎng)度編碼單元RLE0b進(jìn)一步包括游程計(jì)算器RunCal,用于計(jì)算其數(shù)值為零的連續(xù)量化分量(零系數(shù))Coef的數(shù)目,并且輸出表示連續(xù)零系數(shù)的數(shù)目的游程數(shù)值Run;以及級(jí)別計(jì)算器LevCal,用于計(jì)算在該零系數(shù)之后數(shù)值非零的量化分量(非零系數(shù))的數(shù)值,并且輸出表示該非零系數(shù)的數(shù)值的級(jí)別數(shù)值Lev。
該游程長(zhǎng)度編碼單元RLE0b進(jìn)一步包括一個(gè)可變長(zhǎng)度編碼器LevVLC,用于使得從級(jí)別計(jì)算器LevCal輸出的級(jí)別數(shù)值Lev受到可變長(zhǎng)度編碼處理,并且輸出一個(gè)代碼串(級(jí)別數(shù)值代碼串)LStr;可變長(zhǎng)度編碼器RVLC,用于使得從游程計(jì)算器RunCal輸出的游程數(shù)值Run受到可變長(zhǎng)度編碼處理,并且輸出一個(gè)代碼串(游程數(shù)值代碼串)RStr;以及多路復(fù)用器MUX,用于對(duì)每個(gè)塊復(fù)用級(jí)別數(shù)值代碼串LStr和游程數(shù)值代碼串RStr,并且輸出一個(gè)復(fù)用的編碼流Str0b。
下面將描述其操作。
該曲折掃描儀Scan把在從量化單元Q輸出的二維陣列中的量化分量QS變換為一維陣列(預(yù)定次序)中的量化分量Coef,并且輸出該量化分量Coef。由曲折掃描儀Scan對(duì)量化分量QS的變換處理按照與圖像編碼裝置201a的編碼單元RLE0a相同的方式執(zhí)行。
該游程計(jì)算器RunCal根據(jù)從曲折掃描儀Scan輸出的量化分量Coef計(jì)算連續(xù)零系數(shù)的數(shù)目,并且輸出表示所計(jì)算的數(shù)值的游程數(shù)值Run。該級(jí)別計(jì)算器LevCal根據(jù)從曲折掃描儀Scan輸出的量化分量Coef計(jì)算在連續(xù)零系數(shù)之后的非零系數(shù)的數(shù)值,并且輸出表示該數(shù)值的級(jí)別數(shù)值Lev。
在此,當(dāng)在要被處理的目標(biāo)塊中檢測(cè)最高的頻率分量(最后的非零系數(shù))時(shí),該游程計(jì)算器RunCal產(chǎn)生一個(gè)特定數(shù)值EOB(塊的結(jié)束),以表示后續(xù)的更高頻率分量都具有零數(shù)值。
另外,該可變長(zhǎng)度編碼器RVLC使得從游程計(jì)算器RunCal輸出的游程數(shù)值Run受到可變長(zhǎng)度編碼處理,用于根據(jù)一個(gè)代碼表或算術(shù)運(yùn)算把一個(gè)代碼(代碼字)分配到該游程數(shù)值,并且輸出一個(gè)代碼串RStr。該可變長(zhǎng)度編碼器LevVLC使得從級(jí)別計(jì)算器LevCal輸出的級(jí)別數(shù)值Lev受到可變長(zhǎng)度編碼處理,用于根據(jù)代碼表或算術(shù)運(yùn)算把一個(gè)代碼(代碼字)分配到該級(jí)別數(shù)值,并且輸出一個(gè)代碼串LStr。
該多路復(fù)用器MUX對(duì)于每個(gè)塊復(fù)用該代碼串LStr和代碼串RStr,并且輸出一個(gè)復(fù)用的編碼流Str0b。
在此,對(duì)于每個(gè)塊執(zhí)行用于復(fù)用代碼串LStr和代碼串RStr的處理,例如按照對(duì)應(yīng)于用于一個(gè)目標(biāo)塊的所有游程數(shù)值的代碼串RStr之后接著對(duì)應(yīng)于用于該目標(biāo)塊的所有級(jí)別數(shù)值的代碼串LStr,或者對(duì)應(yīng)于用于一個(gè)目標(biāo)塊的所有級(jí)別數(shù)值的代碼串LStr之后接著對(duì)應(yīng)于用于該目標(biāo)塊的所有游程數(shù)值的代碼串RStr。
如上文所述的,通過使用表示其數(shù)值為零(零系數(shù))Coef的量化分量數(shù)目的游程數(shù)值Run和表示在該零系數(shù)之后其數(shù)值非零(非零系數(shù))的量化分量的數(shù)值的級(jí)別數(shù)值Lev而按照預(yù)定次序編碼多個(gè)量化系數(shù)的圖像編碼裝置可以用較高的編碼效率對(duì)多個(gè)量化系數(shù)進(jìn)行編碼,并且消除其冗余信息。
圖36為用于說明對(duì)應(yīng)于如圖34中所示的圖像編碼裝置201b的圖像解碼裝置202b的方框圖。
該圖像解碼裝置202b對(duì)從如圖34中所示惡圖像編碼裝置201b輸出的編碼流Str0進(jìn)行解碼。
該圖像解碼裝置202b用一個(gè)游程長(zhǎng)度解碼單元RLD0b取代如圖32中所示的圖像解碼裝置202a的解碼單元RLD0a,用于使得從圖像編碼裝置201b輸出的受到游程長(zhǎng)度解碼處理。其他部分與圖像解碼裝置202a相同。
該圖像解碼裝置202b的操作不同于圖像解碼裝置202a之處僅僅在于解碼單元RLD0b的操作。
圖37為示出在圖像解碼裝置202b中的游程長(zhǎng)度解碼單元RLD0b具體結(jié)構(gòu)的方框圖。
該游程長(zhǎng)度解碼單元RLD0b具有一個(gè)多路分解器DMUX,用于對(duì)從圖像編碼裝置201b輸出的復(fù)用的編碼流Str0b進(jìn)行多路分解,以獲得對(duì)應(yīng)于該級(jí)別數(shù)值的代碼串LStr以及對(duì)應(yīng)于游程數(shù)值的代碼串LStr;可變長(zhǎng)度解碼器LVLD,用于使得該代碼串LStr受到可變長(zhǎng)度解碼處理,以重構(gòu)該級(jí)別數(shù)值Lev;可變長(zhǎng)度編碼器RVLC,用于使得代碼串RStr受到可變長(zhǎng)度解碼處理,以重構(gòu)該游程數(shù)值Run;以及反曲折掃描儀IScan,用于從由級(jí)別數(shù)值Lev和游程數(shù)值Run表示的一維陣列中的解碼量化分量重構(gòu)在二維陣列中的解碼的量化分量DQS。
下面將描述其操作。
在圖像解碼裝置202b中,該游程長(zhǎng)度解碼單元RLD0b執(zhí)行對(duì)游程長(zhǎng)度編碼單元RLE0b的反操作。即,該游程長(zhǎng)度解碼單元RLD0b分解該復(fù)用的編碼流Str0b,以獲得對(duì)應(yīng)于該級(jí)別數(shù)值的代碼串LStr和對(duì)應(yīng)于游程數(shù)值的代碼串RStr。
然后,該可變長(zhǎng)度解碼器LVLD通過與可變長(zhǎng)度編碼器LevVLC相反的操作解碼對(duì)應(yīng)于該級(jí)別數(shù)值的代碼串LStr,并且輸出該級(jí)別數(shù)值Lev。該可變長(zhǎng)度解碼器RVLD通過與可變長(zhǎng)度編碼器RVLC相反的操作解碼對(duì)應(yīng)于該游程數(shù)值的代碼串RStr,并且輸出該游程數(shù)值Run。
該反曲折掃描儀IScan通過與曲折掃描儀Scan相反的操作從由級(jí)別數(shù)值Lev和游程數(shù)值Run所表示的一維陣列中的量化分量重構(gòu)在二維陣列中的解碼的量化分量DQS,并且把該解碼的量化分量輸出到反量化單元IQ。但是,反曲折掃描儀IScan(參見圖37)不同于如圖33中所示的反曲折掃描儀IScan之處在于它被輸入級(jí)別數(shù)值Lev和游程數(shù)值Run。因此,如圖37中所示的反曲折掃描儀IScan具有把由級(jí)別數(shù)值Lev和游程數(shù)值Run所表示的系數(shù)轉(zhuǎn)換為量化分量Coef的功能。
根據(jù)通過使用其數(shù)值為零(零系數(shù))的量化分量Coef的數(shù)目以及表示在該零系數(shù)之后其數(shù)值非零的(非零系數(shù))的量化分量Coef的數(shù)值的級(jí)別數(shù)值Lev按照預(yù)定次序執(zhí)行對(duì)多個(gè)量化系數(shù)解碼的解碼處理的圖像解碼裝置,能夠滿意地對(duì)通過根據(jù)以較高的編碼效率除去冗余信息的游程長(zhǎng)度編碼方法編碼而獲得的被編碼數(shù)據(jù)進(jìn)行解碼。
在下文中,將描述使用游程長(zhǎng)度編碼方法的常規(guī)圖像編碼裝置的另一個(gè)例子。
圖38為示出采用常規(guī)游程長(zhǎng)度編碼單元的圖像編碼裝置的另一個(gè)例子的方框圖。幾乎所有與例如MPEG或H.261和H.263(ITU)這樣的標(biāo)準(zhǔn)或者草案的H26L標(biāo)準(zhǔn)(TML8)相兼容的常規(guī)圖像編碼裝置具有如圖38中所示的結(jié)構(gòu)。
類似于如圖34中所示的圖像編碼裝置201b,該圖像編碼裝置201c使用游程數(shù)值和級(jí)別數(shù)值執(zhí)行量化系數(shù)惡編碼,并且該圖像編碼裝置201c不執(zhí)行類似于圖像編碼裝置201b的分別對(duì)于游程數(shù)值和級(jí)別數(shù)值的可變長(zhǎng)度編碼處理,而是對(duì)一對(duì)游程數(shù)值和級(jí)別數(shù)值(游程-級(jí)別對(duì))執(zhí)行可變長(zhǎng)度編碼處理。
更加具體來說,該圖像編碼裝置201c類似于圖像編碼裝置201b具有被輸入一個(gè)圖像信號(hào)Vin的分塊單元Blk、用于使得來自該分塊單元的輸出BlkS受到頻率變換惡頻率變換單元、以及用于量化來自該變換單元的輸出(頻率分量)TransS的量化單元Q。該圖像編碼裝置201c進(jìn)一步包括一個(gè)游程長(zhǎng)度編碼單元RLE0c,用于使得來自該量化單元的輸出(量化分量)QS受到一個(gè)游程長(zhǎng)度編碼處理,用于把包含一個(gè)游程數(shù)值和級(jí)別數(shù)值的一個(gè)游程-級(jí)別對(duì)變換為一個(gè)可變長(zhǎng)度代碼。
下面將描述其操作。
該分塊單元Blk把圖像信號(hào)Vin分為對(duì)應(yīng)于塊單元的圖像信號(hào),以產(chǎn)生像素值分量(分塊的圖像信號(hào))BlkS。該頻率變換單元Trans根據(jù)DCT(離散余弦變換)或者小波變換把該像素值分量BlkS變換為頻率分量TransS。該量化單元Q根據(jù)量化參數(shù)QP量化該頻率分量TransS,以輸出量化分量QS,以及輸出該量化單元Q。該游程長(zhǎng)度編碼單元RLE0c使得該量化分量QS受到游程長(zhǎng)度編碼,并且輸出一個(gè)編碼流Str0c。
在此,該塊是在該圖像(圖像空間)中的預(yù)定尺寸的區(qū)域,它是在用于一個(gè)圖像信號(hào)的編碼處理中的一個(gè)單元,并且包括預(yù)定數(shù)目的像素。該游程長(zhǎng)度編碼是用于把包括表示數(shù)值為零(零系數(shù))的連續(xù)量化分量的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的數(shù)值非零(非零系數(shù))的量化分量的數(shù)值的級(jí)別數(shù)值的一對(duì)數(shù)值變換為一個(gè)可變長(zhǎng)度代碼的處理,換句話說,它是用于把一個(gè)可變長(zhǎng)度代碼(代碼字)分配到一對(duì)游程數(shù)值和級(jí)別數(shù)值(游程-級(jí)別對(duì))的處理。
下面將具體描述游程長(zhǎng)度編碼單元RLE0c。
圖39為示出一種常規(guī)的游程長(zhǎng)度編碼單元RLE0c的方框圖。
該游程長(zhǎng)度編碼單元RLE0c類似于如圖35中所示的游程長(zhǎng)度編碼單元RLE0b具有一個(gè)曲折掃描儀Scan,用于把來自量化單元Q的二維陣列中的輸出(量化分量)QS變換為在一維陣列(即,預(yù)定次序)中的量化分量Coef;游程計(jì)算器RunCal,用于計(jì)算其數(shù)值為零的數(shù)值(零系數(shù))的量化分量Coef的連續(xù)數(shù)目,并且輸出一個(gè)游程數(shù)值Run;以及級(jí)別計(jì)算器LevCal,用于計(jì)算在該零系數(shù)之后的非零的(非零系數(shù))的量化分量Coef的數(shù)值,并且輸出一個(gè)級(jí)別數(shù)值Lev。
該游程長(zhǎng)度編碼單元RLE0c進(jìn)一步包括一個(gè)游程級(jí)別編碼器RunLevEnc,用于根據(jù)代碼表或算術(shù)運(yùn)算基于來自游程計(jì)算器RunCal和級(jí)別計(jì)算器LevCal的輸出獲得對(duì)應(yīng)于一對(duì)級(jí)別數(shù)值Lev和游程數(shù)值Run的代碼號(hào)Code;以及可變長(zhǎng)度編碼器VLC,用于把一個(gè)代碼字分配到該代碼號(hào)Code,以產(chǎn)生對(duì)應(yīng)于該圖像信號(hào)Vin的編碼流Str0c。
下面將描述其操作。
在游程長(zhǎng)度編碼單元RLE0c中,類似于游程長(zhǎng)度編碼單元RLE0b,該曲折掃描儀Scan把從量化單元Q輸出的二維陣列中的量化分量QS變換為一維陣列(預(yù)定次序)中的量化分量Coef,并且輸出所獲得的量化分量。
圖43為用于具體說明用于由曲折掃描儀Scan變換該量化分量QS的處理的示意圖。
從量化單元Q輸出的量化分量QS具有如圖43中所示的二維陣列,即,根據(jù)水平頻率分量的大小和垂直頻率分量的大小以矩陣形式在一個(gè)二維頻率區(qū)域Fr上排列該量化分量QS的陣列。
該曲折掃描儀Scan執(zhí)行用于以曲折的方式在二維陣列中掃描該量化分量QS的處理,如圖Y1至Y7中所示,以把該量化分量QS變換為一維陣列的量化分量Coef。也就是說,該掃描處理對(duì)于二維陣列的多個(gè)量化分量QS沿著該掃描路徑設(shè)置一個(gè)預(yù)定次序。
該游程計(jì)算器RunCal根據(jù)從曲折掃描儀Scan輸出的量化分量Coef計(jì)算連續(xù)的零系數(shù)的數(shù)目,并且輸出表示所計(jì)算的數(shù)目的游程數(shù)值Run。該級(jí)別計(jì)算器LevCal根據(jù)從該曲折掃描儀Scan輸出的量化分量Coef計(jì)算在連續(xù)零系數(shù)之后的一個(gè)非零系數(shù)的數(shù)值,并且輸出表示所計(jì)算的數(shù)值的一個(gè)級(jí)別數(shù)值。在此,該游程計(jì)算器RunCal在要被處理的一個(gè)目標(biāo)塊中檢測(cè)到最高頻率分量(最后的非零系數(shù))時(shí)輸出一個(gè)指定數(shù)值EOB(塊的結(jié)束),以表示在后續(xù)的更高頻率分量都具有零數(shù)值。
另外,該游程級(jí)別編碼器RunLevEnc根據(jù)一個(gè)代碼表或者算術(shù)運(yùn)算基于來自游程計(jì)算器RunCal和級(jí)別計(jì)算器LevCal的輸出獲得對(duì)應(yīng)于一對(duì)級(jí)別數(shù)值Lev和游程數(shù)值Run的代碼號(hào)Code。該可變長(zhǎng)度編碼器VLC編碼由該轉(zhuǎn)換器RunLevEnc所獲得的代碼號(hào)Code,即,把一個(gè)代碼字(位串)分配到該代碼號(hào),以產(chǎn)生一個(gè)編碼流Str0。
圖42示出由游程長(zhǎng)度編碼單元RLE0c所采用的一個(gè)代碼表。圖42中所示的代碼表(第一代碼表)T1示出與現(xiàn)在計(jì)劃的草案H.26L標(biāo)準(zhǔn)相兼容的一個(gè)色差信號(hào)的直流分量的代碼表。
該代碼表T包括一個(gè)可規(guī)則生成部分,其包括對(duì)應(yīng)于可以根據(jù)一種算術(shù)運(yùn)算使用級(jí)別數(shù)值和游程數(shù)值(規(guī)則構(gòu)造的VLC)計(jì)算的對(duì)應(yīng)于級(jí)別數(shù)值和游程數(shù)值對(duì)的代碼號(hào);以及不規(guī)則部分,其包括不能夠通過算術(shù)運(yùn)算(表格查找VLC)而計(jì)算的對(duì)應(yīng)于級(jí)別數(shù)值和游程數(shù)值對(duì)的代碼號(hào)。另外,一個(gè)位串(未示出)被按照一一對(duì)應(yīng)的關(guān)系分配給每個(gè)代碼號(hào)Code,作為一個(gè)代碼字。一個(gè)更短的代碼字被分配給具有更小數(shù)值的一個(gè)代碼號(hào)Code。
下面將描述根據(jù)圖像編碼裝置201c的常規(guī)解碼裝置。
圖40為示出采用常規(guī)的游程長(zhǎng)度解碼單元RLD0的一個(gè)圖像解碼裝置202c的方框圖。
該圖像解碼裝置202c解碼從如圖39中所示的常規(guī)圖像編碼裝置201c輸出的編碼流Str0c。
該圖像解碼裝置202c使用該游程數(shù)值和級(jí)別數(shù)值解碼量化的系數(shù),這與圖36中所示的圖像解碼裝置202b相同,并且該圖像解碼裝置202c不相該圖像解碼裝置202b那樣分別執(zhí)行該游程數(shù)值和級(jí)別數(shù)值的可變長(zhǎng)度解碼,而是執(zhí)行包括該游程數(shù)值和級(jí)別數(shù)值(游程-級(jí)別對(duì))的可變長(zhǎng)度解碼。
更加具體來說,該圖像解碼裝置202c具有一個(gè)游程長(zhǎng)度解碼單元RLD0c,其使用包括一個(gè)游程數(shù)值和級(jí)別數(shù)值的一個(gè)游程-級(jí)別對(duì)使得從圖像編碼裝置201c輸出的編碼流Str0c受到游程長(zhǎng)度解碼處理。該圖像解碼裝置202c與圖像解碼裝置202b相同進(jìn)一步具有一個(gè)反量化單元IQ,用于使得來自游程長(zhǎng)度解碼單元RLDc的輸出(解碼的量化分量)DQS受到反量化處理;反頻率變換單元ITrans,用于使得來自反量化單元IQ的輸出(解碼的頻率分量)ITransS受到反頻率變換處理;以及解塊單元DeBlk,用于根據(jù)來自反頻率變換單元ITrans的輸出(解碼的圖像信號(hào))DBlkS產(chǎn)生對(duì)應(yīng)于每個(gè)圖像的解碼的圖像信號(hào)Vout。
下面將描述其操作。
在圖像解碼裝置202c中,該游程長(zhǎng)度解碼單元RLD0c執(zhí)行與游程長(zhǎng)度編碼單元RLE0c的操作的相反的操作。更加具體來說,該游程長(zhǎng)度解碼單元RLD0c使得編碼流Str0c受到游程長(zhǎng)度解碼處理,以輸出解碼的量化分量DQS。該反量化單元IQ執(zhí)行與量化單元Q相反的操作,即,參照量化參數(shù)QP對(duì)該解碼的量化分量DQS進(jìn)行反量化的操作,以輸出解碼的頻率分量ITransS。該反頻率變換單元ITrans執(zhí)行與頻率變換單元Trans相反的操作,即,使得解碼的頻率分量ITransS受到反DCT或者反小波變換,以重構(gòu)對(duì)應(yīng)于每個(gè)塊的解碼的像素值信號(hào)(解碼的分塊圖像信號(hào))DBlkS。該解塊單元DeBlk結(jié)合用于各個(gè)塊的圖像像素值分量,并且輸出對(duì)應(yīng)于每個(gè)圖像(幀)的解碼的圖像信號(hào)Vout。
下面將具體描述游程長(zhǎng)度解碼單元RLD0c。
圖41為用于說明游程長(zhǎng)度解碼單元RLD0c的具體結(jié)構(gòu)的方框圖。
該游程長(zhǎng)度解碼單元RLD0c具有一個(gè)可變長(zhǎng)度解碼器VLD,用于使得該編碼流Str0c受到可變長(zhǎng)度解碼處理,以獲得對(duì)應(yīng)于包含在編碼流Str0c中的每個(gè)代碼(代碼字)的代碼號(hào)Code;游程級(jí)別檢測(cè)器RunLevDec,用于檢測(cè)對(duì)應(yīng)于該代碼號(hào)Code的一對(duì)級(jí)別數(shù)值Lev和游程數(shù)值Run;以及反曲折掃描儀IScan,用于根據(jù)該對(duì)級(jí)別數(shù)值Lev和游程數(shù)值Run的從由級(jí)別數(shù)值Lev和游程數(shù)值Run所表示的一維陣列中的解碼的量化分量重構(gòu)在二維陣列中的解碼的量化分量DQS。
下面將描述其操作。
在游程長(zhǎng)度解碼單元RLD0c中,該可變長(zhǎng)度解碼器VLD根據(jù)與可變長(zhǎng)度編碼器VLC相反的操作解碼該編碼流Str0c,并且輸出對(duì)應(yīng)于一個(gè)代碼字(位串)的一個(gè)代碼號(hào)Code。該游程級(jí)別檢測(cè)器RunLevDec參照一個(gè)代碼表或者執(zhí)行算術(shù)運(yùn)算,以根據(jù)與游程級(jí)別編碼器RunLevEnc相反的操作輸出對(duì)應(yīng)于代碼號(hào)Code的一對(duì)級(jí)別數(shù)值Lev和游程數(shù)值Run。該反曲折掃描儀ISca根據(jù)與曲折掃描儀Scan相反的操作從由該對(duì)級(jí)別數(shù)值Lev和游程數(shù)值Run所表示的一維陣列中的量化分量在一個(gè)二維陣列中重構(gòu)解碼的量化分量DQS,并且把該解碼的量化分量DQS輸出到反量化單元IQ。
日本專利申請(qǐng)No.6-237184公開一種游程長(zhǎng)度編碼方法,其中使用表示其數(shù)值為零的(零系數(shù))的量化分量Coef的數(shù)目的游程數(shù)值Run和表示在該零系數(shù)之后其數(shù)值非零的(非零系數(shù))的量化分量Coef的級(jí)別數(shù)值Lev按照預(yù)定次序編碼多個(gè)系數(shù)。
日本專利No.3144456(對(duì)應(yīng)于日本專利申請(qǐng)No.8-79088)公開一種方法,其中當(dāng)在用于預(yù)測(cè)地編碼數(shù)字視頻數(shù)據(jù)的方法中使用一個(gè)可變長(zhǎng)度編碼表對(duì)差分運(yùn)動(dòng)矢量值進(jìn)行編碼時(shí)根據(jù)該差分運(yùn)動(dòng)矢量值的數(shù)值改變可變長(zhǎng)度編碼表(VLC表)。
另外,已知這作為另一種方法的算術(shù)編碼方法,通過該方法該像素值被可變長(zhǎng)度編碼,其中通過使用該像素值取預(yù)定數(shù)值的可能性根據(jù)一種算術(shù)運(yùn)算執(zhí)行可變長(zhǎng)度編碼。根據(jù)該算術(shù)編碼,從該可能性導(dǎo)出一個(gè)代碼,使得描述對(duì)應(yīng)于各種情況的可能性的算術(shù)編碼對(duì)應(yīng)于該VLC表。在此,“所有關(guān)于MPEG-4”(由Miki Sukeichi所編著,由KogyoChosakai出版公司所出版,第一版,第一次印刷,第69-73頁)描述一種方法,其通過根據(jù)用于從周圍像素的像素值預(yù)測(cè)的一個(gè)編碼目標(biāo)像素的預(yù)測(cè)方法改變一個(gè)可能性表格而對(duì)對(duì)應(yīng)于一個(gè)編碼目標(biāo)的像素的像素值進(jìn)行算術(shù)編碼。
上述常規(guī)的圖像編碼裝置201a的編碼單元RLE0a對(duì)通過對(duì)每個(gè)預(yù)定處理單元(塊)量化圖像數(shù)據(jù)的頻率分量而獲得的多個(gè)量化系數(shù)執(zhí)行可變長(zhǎng)度編碼。該編碼單元采用表示示出每個(gè)量化系數(shù)的大小的數(shù)值信息和代碼(代碼字)之間的對(duì)應(yīng)關(guān)系的預(yù)定代碼表。在由該編碼單元執(zhí)行可變長(zhǎng)度編碼處理中,包含在量化系數(shù)(要被處理的數(shù)據(jù))中的冗余信息不能夠被充分地除去,因此可以進(jìn)一步提高壓縮比。
并且在該游程長(zhǎng)度編碼單元中,其使用表示其數(shù)值為零的(零系數(shù))的量化分量Coef的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后其數(shù)值非零的(非零系數(shù))的量化分量Coef的數(shù)值的級(jí)別數(shù)值執(zhí)行多個(gè)量化系數(shù)的可變長(zhǎng)度編碼,類似于在常規(guī)圖像編碼裝置201b或201c中的編碼單元RLE0b或RLE0c,在該可變長(zhǎng)度編碼處理中包含在該量化系數(shù)中的冗余信息不被充分地除去。
另外,常規(guī)的圖像解碼裝置202a的解碼單元RLD0a或常規(guī)的圖像解碼裝置202b或202c的游程長(zhǎng)度解碼單元RLD0b或RLD0c對(duì)應(yīng)于不能夠在用于該量化系數(shù)的可變長(zhǎng)度編碼處理中充分地除去包含在該量化系數(shù)中的冗余信息的編碼單元。
另外,對(duì)于在用于預(yù)測(cè)地編碼數(shù)字視頻數(shù)據(jù)的方法中當(dāng)使用一個(gè)可變長(zhǎng)度編碼表對(duì)差分運(yùn)動(dòng)矢量值進(jìn)行編碼時(shí)根據(jù)該差分運(yùn)動(dòng)矢量值的數(shù)值改變可變長(zhǎng)度編碼表(VLC表)的方法,現(xiàn)在還沒有在對(duì)類似于通過量化一個(gè)圖像信號(hào)的頻率分量而獲得的量化系數(shù)這樣具有隨后接著的連續(xù)零系數(shù)的數(shù)目的特性的數(shù)據(jù)的可變長(zhǎng)度編碼處理中有效改變可變長(zhǎng)度編碼表的方法。
本發(fā)明要解決上述問題,并且編碼的目的是提供一種可變長(zhǎng)度編碼方法以及可變長(zhǎng)度解碼方法,其可以根據(jù)被量化的系數(shù)的特性和用于量化分量的編碼處理的狀態(tài)更加有效地消除包含在用于可變長(zhǎng)度編碼處理的目標(biāo)數(shù)據(jù)(量化系數(shù))中的冗余信息,從而進(jìn)一步增加圖像信號(hào)等等的壓縮比。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,在此提供一種用于編碼由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)的可變長(zhǎng)度編碼方法,其中包括編碼步驟,用于通過使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)系數(shù)受到把系數(shù)數(shù)據(jù)變換為由多個(gè)代碼所構(gòu)成的被編碼數(shù)據(jù)的編碼處理,并且該編碼步驟包括代碼表選擇步驟,用于根據(jù)關(guān)于已經(jīng)被編碼的被編碼系數(shù)和與該系數(shù)的編碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及代碼分配步驟,用于使用被選擇的代碼表把一個(gè)代碼分配到一個(gè)還沒有被編碼的未編碼的系數(shù)。因此,通過根據(jù)構(gòu)成該系數(shù)數(shù)據(jù)的系數(shù)的特性或者對(duì)該系數(shù)的編碼處理的狀態(tài)選擇代碼表而有效地除去包含在作為要受到可變長(zhǎng)度編碼處理的對(duì)象的系數(shù)數(shù)據(jù)中的冗余信息,從而大大地增加用于圖像信號(hào)等等的可變長(zhǎng)度編碼處理的編碼效率。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,通過根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),并且在該代碼表選擇步驟中,要用于該代碼分配步驟中的代碼表被根據(jù)該量化步驟的數(shù)值而選擇。因此總是可以采用適用于該量化步驟的數(shù)值的代碼表并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,根據(jù)對(duì)該系數(shù)的編碼處理,表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值被分別變換為一個(gè)代碼,在該代碼表選擇步驟中,在用于根據(jù)該量化步驟的數(shù)值從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第一選擇處理,以及用于根據(jù)該量化步驟的數(shù)值從表示該級(jí)別數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第二選擇處理中的至少一個(gè)處理被執(zhí)行,并且在該代碼分配步驟中,根據(jù)被選擇的代碼表,一個(gè)代碼被分配給對(duì)應(yīng)于還沒有被編碼的一個(gè)未編碼系數(shù)的游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值。因此,通過使用適合于該量化步驟的數(shù)值的代碼表總是可以執(zhí)行對(duì)游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值的代碼分配,并且使得對(duì)應(yīng)于所分配代碼的總位數(shù)被最小化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,根據(jù)對(duì)該系數(shù)的編碼處理,包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值以及表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值的游程-級(jí)別對(duì)被變換為一個(gè)代碼,在該代碼表選擇步驟中,根據(jù)該量化步驟的數(shù)值,從表示該游程-級(jí)別對(duì)和該代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表,并且在該代碼分配步驟中,根據(jù)所選擇的代碼表,一個(gè)代碼被分配給對(duì)應(yīng)于還沒有被編碼的未編碼系數(shù)的一個(gè)游程-級(jí)別對(duì)。因此,通過使用一個(gè)適合于該量化步驟的數(shù)值的代碼表總是可以執(zhí)行對(duì)游程-級(jí)別對(duì)的代碼分配,并且使得對(duì)應(yīng)于所分配的代碼的總位數(shù)最小化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,在該代碼表選擇步驟中,根據(jù)關(guān)于被編碼系數(shù)的信息選擇在該代碼分配步驟中所用的代碼表。因此,通過使用適合于未編碼系數(shù)的數(shù)目的代碼表總是可以執(zhí)行用于量化系數(shù)的編碼處理,并且使得該編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,根據(jù)對(duì)該系數(shù)的編碼處理,表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值以及表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值被分別變換為一個(gè)代碼,在該代碼表選擇步驟中,在用于根據(jù)關(guān)于對(duì)應(yīng)于該編碼的游程數(shù)值的信息從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第一選擇處理,以及用于根據(jù)關(guān)于對(duì)應(yīng)于該被編碼系數(shù)的級(jí)別數(shù)值的信息從表示該級(jí)別數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第二選擇處理中的至少一個(gè)處理被執(zhí)行,并且在該代碼分配步驟中,根據(jù)所選擇的代碼表,一個(gè)代碼被分配給對(duì)應(yīng)于一個(gè)未編碼系數(shù)的游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值。因此,通過使用適合于未編碼系數(shù)的數(shù)目的代碼表總是可以執(zhí)行對(duì)游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值的代碼分配,并且使得該編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,在該代碼表選擇步驟中,根據(jù)已經(jīng)被編碼的被編碼游程數(shù)值的數(shù)目從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表,并且在該代碼分配步驟中,根據(jù)所選擇的代碼表,一個(gè)代碼被分配給還沒有被編碼的一個(gè)未編碼游程數(shù)值。因此,通過使用適合于還未處理的游程數(shù)值的數(shù)目的代碼表總是可以執(zhí)行對(duì)游程數(shù)值的代碼分配,并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,根據(jù)對(duì)該系數(shù)的編碼處理,包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值的一個(gè)游程-級(jí)別對(duì)被變換為一個(gè)代碼,在該代碼表選擇步驟中,根據(jù)關(guān)于對(duì)應(yīng)于已經(jīng)編碼的被編碼系數(shù)的游程-級(jí)別對(duì)的信息從表示該游程-級(jí)別對(duì)和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,并且在該代碼分配步驟中,根據(jù)被選擇代碼表,一個(gè)代碼被分配給對(duì)應(yīng)于還沒有被編碼的未編碼系數(shù)的一個(gè)游程-級(jí)別對(duì)。因此,通過使用適合于還未處理的系數(shù)的數(shù)目的代碼表,總是可以執(zhí)行對(duì)該游程-級(jí)別對(duì)的分配,并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,通過根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),并且在該編碼步驟中,執(zhí)行對(duì)該系數(shù)的編碼處理,使得代碼被分配給從高頻分量到低頻分量構(gòu)成該系數(shù)數(shù)據(jù)的多個(gè)系數(shù)。因此,對(duì)應(yīng)于被分配給該系數(shù)的代碼的總位數(shù)可以被進(jìn)一步減小。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,根據(jù)對(duì)該系數(shù)的編碼處理,包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值的一個(gè)游程-級(jí)別對(duì)被轉(zhuǎn)換為一個(gè)代碼,用于由預(yù)定數(shù)目的系數(shù)所構(gòu)成的每個(gè)塊,并且在該代碼表選擇步驟中,根據(jù)在作為該編碼處理的對(duì)象的目標(biāo)塊中已經(jīng)受到編碼處理的已處理系數(shù)的數(shù)目和在該目標(biāo)塊中還未被編碼的未編碼非零系數(shù)的數(shù)目之和,從表示該游程-級(jí)別對(duì)和該代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表,并且在該代碼分配步驟,根據(jù)所選擇的代碼表,一個(gè)代碼被分配到對(duì)應(yīng)于在該目標(biāo)塊中的一個(gè)未編碼系數(shù)的游程-級(jí)別對(duì)。因此,可以采用不包括不會(huì)出現(xiàn)的游程數(shù)值和級(jí)別數(shù)值的代碼表,從而增加可變長(zhǎng)度編碼效率。
根據(jù)本發(fā)明的,在上述可變長(zhǎng)度編碼方法中,根據(jù)對(duì)該系數(shù)的編碼處理,包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的級(jí)別數(shù)值的游程-級(jí)別對(duì)被轉(zhuǎn)換為一個(gè)代碼,該編碼步驟包括一個(gè)代碼表處理步驟,用于基于該第一代碼表,根據(jù)構(gòu)成該游程-級(jí)別對(duì)的游程數(shù)值和級(jí)別數(shù)值的組合,定期地改變?cè)诒硎驹撚纬?級(jí)別對(duì)和相應(yīng)代碼之間的對(duì)應(yīng)關(guān)系的第一代碼表中的該游程-級(jí)別對(duì)和該代碼之間的對(duì)應(yīng)關(guān)系,從而形成與第一代碼表不同的具有在該游程-級(jí)別對(duì)和該代碼之間的不同對(duì)應(yīng)關(guān)系的第二代碼表,并且在該代碼表選擇步驟中,根據(jù)關(guān)于已經(jīng)處理的系數(shù)和與該系數(shù)的產(chǎn)生相關(guān)的參數(shù)至少之一的信息選擇該第一和第二代碼表之一。因此,當(dāng)代碼被分配到游程數(shù)值和級(jí)別數(shù)值對(duì)時(shí),該第一和第二代碼表之一被適應(yīng)地選擇作為要被使用的一個(gè)最佳代碼表,從而可以有效地形成包含在要被處理的目標(biāo)數(shù)據(jù)中的冗余信息。相應(yīng)地,用于圖像信號(hào)等等的壓縮比可以被進(jìn)一步提高,從而該可變長(zhǎng)度編碼方法是非常有用的。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,在第一和第二代碼表中,較短的代碼被相應(yīng)地適用于具有構(gòu)成該游程-級(jí)別對(duì)中的較小級(jí)別數(shù)值的各個(gè)游程-級(jí)別對(duì),并且在第二代碼表中,與第一代碼表相比,與較短代碼對(duì)應(yīng)的游程-級(jí)別對(duì)的級(jí)別數(shù)值的平均值較小。因此,當(dāng)用于構(gòu)成要被處理的目標(biāo)數(shù)據(jù)的系數(shù)的量化參數(shù)較大時(shí),該可變長(zhǎng)度編碼方法是有用的。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,在該第一和第二代碼表中,較短代碼適應(yīng)地對(duì)應(yīng)于具有構(gòu)成該游程-級(jí)別對(duì)的較小游程數(shù)值的各個(gè)游程-級(jí)別對(duì),并且在第二代碼表中,與第一代碼表相比對(duì)應(yīng)于較短代碼的游程-級(jí)別對(duì)的游程數(shù)值的平均值較小。因此,當(dāng)構(gòu)成該目標(biāo)數(shù)據(jù)的用于該系數(shù)的量化參數(shù)較小時(shí),該可變長(zhǎng)度編碼方法是有用的。根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,根據(jù)對(duì)該系數(shù)的編碼處理,對(duì)于由預(yù)定數(shù)目的系數(shù)所構(gòu)成的每個(gè)塊執(zhí)行游程-級(jí)別對(duì)到代碼的變換,并且在該代碼表處理步驟中,根據(jù)在作為編碼處理的對(duì)象的目標(biāo)塊中已經(jīng)受到編碼處理的已處理系數(shù)的數(shù)目而形成第二代碼表。因此,可以采用不包括不會(huì)出現(xiàn)的由游程數(shù)值和級(jí)別數(shù)值所構(gòu)成的對(duì)的代碼表作為第二代碼表,從而進(jìn)一步增加該可變長(zhǎng)度編碼效率。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,在該代碼分配步驟中,從高頻分量到低頻分量,從對(duì)應(yīng)于具有圖像數(shù)據(jù)的最高頻率分量的系數(shù)的游程-級(jí)別對(duì)執(zhí)行對(duì)游程-級(jí)別對(duì)的代碼分配。因此,通過使用不包括不會(huì)出現(xiàn)的游程數(shù)值和級(jí)別數(shù)值的對(duì)的代碼表所獲得的可變長(zhǎng)度編碼效率的增加量可以變得更大。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,通過在包含于第一代碼表中的游程-級(jí)別對(duì)和代碼之間的對(duì)應(yīng)關(guān)系中僅僅改變可以定期操作的對(duì)應(yīng)關(guān)系而形成該第二代碼表。因此,可以減小形成該第二代碼表所需的算術(shù)運(yùn)算。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法,根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟,通過量化圖像數(shù)據(jù)的頻率分量而獲得構(gòu)成該系數(shù)數(shù)據(jù)的系數(shù),并且該代碼表選擇步驟是用于根據(jù)該量化步驟的數(shù)值在第一代碼表和第二代碼表之間切換的代碼表切換步驟。因此,適用于該量化步驟的一個(gè)代碼表可以被用作為要用于構(gòu)成要被處理的目標(biāo)數(shù)據(jù)的系數(shù)的可變長(zhǎng)度編碼處理中的代碼表。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法,該代碼表選擇步驟是用于根據(jù)一個(gè)切換指令信號(hào)在第一代碼表和第二代碼表之間切換的一個(gè)代碼表切換步驟,并且在該編碼步驟中,執(zhí)行該切換指令信號(hào)的編碼。因此,要用于對(duì)該系數(shù)的可變長(zhǎng)度編碼處理中的代碼表可以根據(jù)該目標(biāo)數(shù)據(jù)等等的特征而改變。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,根據(jù)對(duì)該系數(shù)的編碼處理,對(duì)由預(yù)定數(shù)目的系數(shù)所構(gòu)成的每個(gè)塊執(zhí)行游程-級(jí)別對(duì)到代碼的變換,并且在該代碼表處理步驟中,根據(jù)在作為編碼處理的對(duì)象的一個(gè)目標(biāo)塊中已經(jīng)受到編碼處理的已處理系數(shù)的數(shù)目和在該目標(biāo)塊中還未編碼的未編碼非零系數(shù)的數(shù)目之和形成第二代碼表。因此,不包括不會(huì)出現(xiàn)的游程數(shù)值和級(jí)別數(shù)值對(duì)的代碼表可以被用作為第二代碼表,從而進(jìn)一步增加可變長(zhǎng)度編碼效率。
根據(jù)本發(fā)明,在此提供一種用于編碼由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)的可變長(zhǎng)度編碼裝置,其中包括編碼單元,用于通過使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)系數(shù)受到把系數(shù)數(shù)據(jù)變換為由多個(gè)代碼所構(gòu)成的被編碼數(shù)據(jù)的編碼處理,并且該編碼單元包括代碼表選擇單元,用于根據(jù)關(guān)于已經(jīng)被編碼的被編碼系數(shù)和與該系數(shù)的編碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及代碼分配單元,用于使用被選擇的代碼表把一個(gè)代碼分配到一個(gè)還沒有被編碼的未編碼的系數(shù)。因此,通過根據(jù)構(gòu)成該系數(shù)數(shù)據(jù)的系數(shù)的特性或者對(duì)該系數(shù)的編碼處理的狀態(tài)選擇一個(gè)代碼表而有效地刪除包含在作為要受到可變長(zhǎng)度編碼處理的對(duì)象的系數(shù)數(shù)據(jù)中的冗余信息,從而大大地增加用于圖像信號(hào)等等的可變長(zhǎng)度編碼處理的編碼效率。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼方法中,通過根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),并且該代碼表選擇單元根據(jù)該量化步驟的數(shù)值選擇要由該代碼分配單元所用的代碼表。因此,總是可以采用適用于該量化步驟的數(shù)值的代碼表并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼裝置中,該代碼表選擇單元根據(jù)關(guān)于該被編碼系數(shù)的信息,選擇要由該代碼分配單元所用的代碼表。因此,總是可以通過采用適用于還未處理的系數(shù)的數(shù)目執(zhí)行用于量化系數(shù)的編碼處理,并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼裝置中,根據(jù)對(duì)該系數(shù)的編碼處理,表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值被分別變換為一個(gè)代碼,該代碼表選擇單元根據(jù)已經(jīng)被分配代碼的多個(gè)被編碼游程數(shù)值,從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表,并且該代碼分配單元根據(jù)被選擇的代碼表把一個(gè)代碼分配給還未編碼的一個(gè)未編碼游程數(shù)值。因此,通過使用適用于還未處理的游程數(shù)值的數(shù)目的代碼表,總是可以執(zhí)行對(duì)游程數(shù)值的代碼分配,并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼裝置中,根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟,通過量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),并且該編碼單元對(duì)編碼單元該系數(shù)執(zhí)行編碼處理,使得代碼被分配到從高頻分量到低頻分量構(gòu)成該系數(shù)數(shù)據(jù)的多個(gè)系數(shù)。因此,對(duì)應(yīng)于被分配到該系數(shù)的代碼的總數(shù)可以被進(jìn)一步減小。
根據(jù)本發(fā)明,在此提供一種存儲(chǔ)介質(zhì),其中包括用于由計(jì)算機(jī)執(zhí)行對(duì)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)的編碼的可變長(zhǎng)度編碼處理的程序,并且該程序包括編碼步驟,用于通過使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)系數(shù)受到把系數(shù)數(shù)據(jù)變換為由多個(gè)代碼所構(gòu)成的被編碼數(shù)據(jù)的編碼處理,并且該編碼步驟包括代碼表選擇步驟,用于根據(jù)關(guān)于已經(jīng)被編碼的被編碼系數(shù)和與該系數(shù)的編碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及代碼分配單元,用于使用被選擇的代碼表把一個(gè)代碼分配到一個(gè)還沒有被編碼的未編碼系數(shù)。因此,可以通過軟件實(shí)現(xiàn)具有更高編碼效率的可變長(zhǎng)度編碼處理,其通過根據(jù)構(gòu)成該系數(shù)數(shù)據(jù)的系數(shù)的特性或者對(duì)該系數(shù)的編碼處理的狀態(tài)選擇一個(gè)代碼表而有效地刪除包含在作為要受到可變長(zhǎng)度編碼處理的對(duì)象的系數(shù)數(shù)據(jù)中的冗余信息。
根據(jù)本發(fā)明,在此提供一種用于解碼包括多個(gè)代碼的被編碼數(shù)據(jù)的可變長(zhǎng)度解碼方法,其中包括解碼步驟,用于使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)代碼受到對(duì)該被編碼數(shù)據(jù)的解碼處理,以重構(gòu)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù),并且該解碼步驟包括代碼表選擇步驟,用于根據(jù)關(guān)于已經(jīng)被解碼的被解碼系數(shù)和與該系數(shù)的解碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及數(shù)值檢測(cè)步驟,用于通過使用所選擇的代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的數(shù)值。因此,可以執(zhí)行對(duì)應(yīng)于具有更高的編碼效率的可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理,該編碼處理通過改變代碼表而有效地刪除包含在系數(shù)數(shù)據(jù)中的冗余信息,以編碼該系數(shù)數(shù)據(jù)。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼處理中,通過根據(jù)對(duì)應(yīng)于圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),并且在該代碼表選擇步驟中,根據(jù)該量化步驟的數(shù)值選擇用于該數(shù)值檢測(cè)步驟中的代碼表。因此,可以執(zhí)行對(duì)應(yīng)于一種可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理,該編碼處理通過總是采用適用于該量化步驟的代碼表并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼處理中,在用于該代碼的解碼處理中,一個(gè)代碼被解碼,以重構(gòu)表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值以及表示在該零系數(shù)之后的一個(gè)非零系數(shù)的數(shù)值的級(jí)別數(shù)值,在該代碼表選擇步驟中,用于至少根據(jù)該量化步驟的數(shù)值從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第一選擇處理,以及用于根據(jù)量化步驟的數(shù)值執(zhí)行從表示該級(jí)別數(shù)值和該代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第二選擇步驟的這兩個(gè)步驟之一被執(zhí)行,并且在該數(shù)值檢測(cè)步驟中,根據(jù)所選擇的代碼表,對(duì)應(yīng)于還未解碼的未解碼數(shù)據(jù)的游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值被檢測(cè)。因此,通過總是使用適合于該量化步驟的數(shù)值并且使得對(duì)應(yīng)于所分配代碼的總位數(shù)最小化,可以執(zhí)行對(duì)應(yīng)于執(zhí)行代碼到至少一個(gè)游程數(shù)值和級(jí)別數(shù)值的分配的可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼處理中,根據(jù)用于代碼的解碼處理,一個(gè)代碼被解碼,以重構(gòu)由表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的一個(gè)非零系數(shù)的數(shù)值的級(jí)別數(shù)值所構(gòu)成的一個(gè)游程-級(jí)別對(duì),在該代碼表選擇步驟,根據(jù)該量化步驟的數(shù)值,從表示該游程-級(jí)別對(duì)和該代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,并且在該數(shù)值檢測(cè)步驟中,根據(jù)被選擇代碼表,檢測(cè)對(duì)應(yīng)于一個(gè)還未解碼的未解碼代碼的游程-級(jí)別對(duì)。因此,可以執(zhí)行對(duì)應(yīng)于一個(gè)可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理,該編碼處理通過總是使用適合于該量化步驟的數(shù)值的代碼表執(zhí)行代碼到游程-級(jí)別對(duì)的分配,并且使得對(duì)應(yīng)于該被分配代碼總位數(shù)最小化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,在該代碼表選擇步驟中,根據(jù)關(guān)于被解碼系數(shù)的信息選擇在該數(shù)值檢測(cè)步驟中使用的代碼表。因此,可以執(zhí)行對(duì)應(yīng)于可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理,該編碼處理通過總是使用適合于還未處理的系數(shù)數(shù)目的代碼表而編碼量化系數(shù)并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,根據(jù)用于該代碼的解碼處理,該代碼被解碼以分別重構(gòu)表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值,以及表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值,在該代碼表選擇步驟中,用于根據(jù)關(guān)于被解碼的游程數(shù)值的信息從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表的第一選擇處理,以及用于根據(jù)關(guān)于被解碼的級(jí)別數(shù)值的信息從表示該級(jí)別數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表的第二選擇處理中的至少一個(gè)處理被執(zhí)行,并且在該數(shù)值檢測(cè)步驟中,根據(jù)被選擇的代碼表檢測(cè)對(duì)應(yīng)于一個(gè)未解碼代碼的游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值。因此,可以執(zhí)行對(duì)應(yīng)于可變長(zhǎng)度編碼處理的一種可變長(zhǎng)度解碼處理,該可變長(zhǎng)度編碼處理總是通過使用適用于還未處理的系數(shù)的數(shù)目的代碼表而執(zhí)行代碼到至少一個(gè)游程數(shù)值和級(jí)別數(shù)值的分配,并且使得該編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,在該代碼表選擇步驟中,根據(jù)已經(jīng)解碼的已解碼游程數(shù)值的數(shù)目,從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,并且在該數(shù)值檢測(cè)步驟中,根據(jù)被選擇代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的一個(gè)游程數(shù)值。因此,可以執(zhí)行對(duì)應(yīng)于可變長(zhǎng)度編碼處理的一種可變長(zhǎng)度解碼處理,該可變長(zhǎng)度編碼處理總是通過使用適用于還未處理的系數(shù)的數(shù)目的代碼表而執(zhí)行代碼到游程數(shù)值的分配,并且使得該編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,根據(jù)對(duì)代碼的解碼處理,一個(gè)代碼被解碼,以重構(gòu)包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的多個(gè)非零系數(shù)的級(jí)別數(shù)值的游程-級(jí)別對(duì),在該代碼表選擇步驟中,根據(jù)關(guān)于已經(jīng)通過解碼處理所獲得的一個(gè)游程-級(jí)別對(duì)的信息從表示該游程-級(jí)別對(duì)和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,并且在該數(shù)值檢測(cè)步驟中,根據(jù)被選擇代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的一個(gè)游程-級(jí)別對(duì)。因此,可以執(zhí)行對(duì)應(yīng)于可變長(zhǎng)度編碼處理的一種可變長(zhǎng)度解碼處理,該可變長(zhǎng)度編碼處理總是通過使用適用于還未處理的系數(shù)的數(shù)目的代碼表而執(zhí)行代碼到游程-級(jí)別對(duì)的分配,并且使得該編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,通過根據(jù)對(duì)應(yīng)于圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),并且在解碼步驟中,執(zhí)行對(duì)代碼的解碼處理,從而從高頻率分量到低頻率分量獲得對(duì)應(yīng)于該代碼的數(shù)值。因此,可以執(zhí)行對(duì)應(yīng)于可變長(zhǎng)度編碼處理的一種可變長(zhǎng)度解碼處理,該可變長(zhǎng)度編碼處理進(jìn)一步減少對(duì)應(yīng)于分配給該系數(shù)的代碼的總位數(shù)。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,根據(jù)對(duì)代碼的解碼處理,對(duì)于由包括系數(shù)數(shù)據(jù)的預(yù)定系數(shù)的每個(gè)塊,一個(gè)代碼被解碼以重構(gòu)包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的一個(gè)游程-級(jí)別對(duì),在該代碼表選擇步驟,根據(jù)在作為解碼處理的一個(gè)對(duì)象的目標(biāo)塊中已經(jīng)通過對(duì)該目標(biāo)塊的解碼處理而獲得的已處理系數(shù)的數(shù)目與還沒有通過對(duì)該目標(biāo)塊的解碼處理而獲得的在該目標(biāo)塊中的未解碼的非零系數(shù)數(shù)目之和,從表示該游程-級(jí)別對(duì)和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表,并且在該數(shù)值檢測(cè)步驟中,根據(jù)所選擇的代碼表檢測(cè)對(duì)應(yīng)于在該目標(biāo)塊中的未解碼系數(shù)的游程-級(jí)別對(duì)。因此,通過使用不包含不會(huì)出現(xiàn)的由游程數(shù)值和級(jí)別數(shù)值所構(gòu)成的對(duì)的代碼表,可以實(shí)現(xiàn)具有更高效率對(duì)應(yīng)于可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,根據(jù)對(duì)該代碼的解碼處理,構(gòu)成被編碼數(shù)據(jù)的代碼被解碼,以重構(gòu)包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值的一個(gè)游程-級(jí)別對(duì),該解碼步驟包括一個(gè)代碼表處理步驟,用于根據(jù)構(gòu)成該游程-級(jí)別對(duì)的游程數(shù)值和級(jí)別數(shù)值的組合,定期地改變?cè)诒硎驹撚纬?級(jí)別對(duì)和相應(yīng)代碼之間的對(duì)應(yīng)關(guān)系的第一代碼表中的游程-級(jí)別對(duì)和代碼之間的對(duì)應(yīng)關(guān)系,基于該第一代碼表形成具有與第一代碼表不同的在游程-級(jí)別對(duì)和代碼之間的對(duì)應(yīng)關(guān)系的第二代碼表,并且在該代碼表選擇步驟中,根據(jù)關(guān)于已處理系數(shù)和與該系數(shù)的產(chǎn)生相關(guān)的參數(shù)的至少一個(gè)信息選擇第一和第二代碼表之一。因此,第一和第二代碼表之一被適當(dāng)?shù)剡x擇作為當(dāng)代碼被變換為游程數(shù)值和級(jí)別數(shù)值對(duì)時(shí)所使用的最佳代碼表。相應(yīng)地,滿意地執(zhí)行對(duì)應(yīng)于有效地刪除包含在目標(biāo)數(shù)據(jù)中的冗余信息的可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理,從而該可變長(zhǎng)度解碼處理是非常有用的。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,在第一和第二代碼表中,較短的代碼被適應(yīng)性地對(duì)應(yīng)于具有構(gòu)成該游程-級(jí)別對(duì)的更小級(jí)別數(shù)值的各個(gè)游程-級(jí)別對(duì),并且在第二代碼表中,對(duì)應(yīng)于較短代碼的游程-級(jí)別對(duì)的級(jí)別數(shù)值與第一代碼表相比平均值較小。因此,在與構(gòu)成要被處理的目標(biāo)數(shù)據(jù)的系數(shù)相關(guān)的量化參數(shù)較大的情況下,該可變長(zhǎng)度解碼方法是有效地。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,在該第一和第二代碼表中,較短代碼被適應(yīng)性地對(duì)應(yīng)于具有構(gòu)成該游程-級(jí)別對(duì)的較小游程數(shù)值的各個(gè)游程-級(jí)別對(duì),并且在第二代碼表中,第一代碼表相比,對(duì)應(yīng)于較短代碼的游程-級(jí)別對(duì)的游程數(shù)值的平均值較小。因此,在與構(gòu)成要被處理的目標(biāo)數(shù)據(jù)的系數(shù)相關(guān)的該量化參數(shù)較小的情況下,該可變長(zhǎng)度解碼方法是有效的。
根據(jù)本發(fā)明。在上述可變長(zhǎng)度解碼方法中,根據(jù)對(duì)該代碼的解碼處理,對(duì)由構(gòu)成該系數(shù)數(shù)據(jù)的預(yù)定數(shù)目的系數(shù)所構(gòu)成的每個(gè)塊執(zhí)行從一個(gè)代碼重構(gòu)一個(gè)游程-級(jí)別對(duì),并且在該代碼表處理步驟中,根據(jù)通過在作為解碼處理的對(duì)象的一個(gè)目標(biāo)塊中的解碼處理而獲得的已處理系數(shù)的數(shù)目形成該第二代碼表。因此,可以采用不包含不會(huì)出現(xiàn)的游程數(shù)值和級(jí)別數(shù)值對(duì)的代碼表作為該第二代碼表,從而可以實(shí)現(xiàn)對(duì)應(yīng)于具有更高效率的可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,在該數(shù)值檢測(cè)步驟中,從高頻分量到低頻分量,由具有圖像數(shù)據(jù)的最高頻分量的一個(gè)游程-級(jí)別對(duì)執(zhí)行對(duì)應(yīng)于該代碼的一個(gè)游程-級(jí)別對(duì)的檢測(cè)。因此,可以采用不包含不會(huì)出現(xiàn)的游程數(shù)值和級(jí)別數(shù)值的一個(gè)代碼表作為該第二代碼表,從而可以實(shí)現(xiàn)對(duì)應(yīng)于增加壓縮比的可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,通過在包含于第一代碼表中的游程-級(jí)別對(duì)之間的對(duì)應(yīng)關(guān)系中僅僅改變可以定期操作的對(duì)應(yīng)關(guān)系而形成第二代碼表。因此可以減少用于第二代碼表的形成所需的算術(shù)運(yùn)算。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟,通過圖像數(shù)據(jù)的量化頻率分量而獲得構(gòu)成該系數(shù)數(shù)據(jù)的系數(shù),并且在該代碼表選擇步驟中,根據(jù)該量化步驟的數(shù)值執(zhí)行在第一代碼表和第二代碼表之間的切換。因此,可以采用適用于該量化步驟的一個(gè)代碼表作為在用于構(gòu)成要被處理的目標(biāo)數(shù)據(jù)的系數(shù)的可變長(zhǎng)度解碼處理中使用的代碼表。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,該代碼表選擇步驟包括一個(gè)代碼表切換步驟,用于根據(jù)一個(gè)切換指令信號(hào)在該第一代碼表和第二代碼表之間切換,并且在該解碼步驟中,執(zhí)行該切換指令信號(hào)的解碼。因此,可以根據(jù)要被處理的目標(biāo)數(shù)據(jù)的特性等等切換在該可變長(zhǎng)度解碼處理中使用的代碼表。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼方法中,根據(jù)對(duì)該代碼的解碼處理,對(duì)包含由構(gòu)成該系數(shù)數(shù)據(jù)的預(yù)定數(shù)目的系數(shù)的每個(gè)塊執(zhí)行從一個(gè)代碼重構(gòu)一個(gè)游程-級(jí)別對(duì)的操作,并且在該代碼表處理步驟中,根據(jù)作為已經(jīng)通過對(duì)目標(biāo)塊的解碼處理而獲得的在作為解碼處理的對(duì)象的目標(biāo)塊中的已處理系數(shù)的數(shù)目與在還未通過對(duì)該塊的解碼處理而獲得的目標(biāo)塊中的未解碼的非零系數(shù)的數(shù)目之和形成第二代碼表。因此,不包括不會(huì)出現(xiàn)的游程數(shù)值和級(jí)別數(shù)值對(duì)的一個(gè)代碼表被用作為第二代碼表,從而可以實(shí)現(xiàn)對(duì)應(yīng)于具有更高效率的可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理。
根據(jù)本發(fā)明,在此提供一種用于對(duì)包括通過對(duì)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)執(zhí)行可變長(zhǎng)度編碼所獲得多個(gè)代碼的被編碼數(shù)據(jù)解碼的可變長(zhǎng)度解碼裝置,其中包括解碼單元,用于使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)代碼受到對(duì)用于解碼該被編碼數(shù)據(jù)的解碼處理,以重構(gòu)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù),并且該解碼單元包括代碼表選擇單元,用于根據(jù)關(guān)于已經(jīng)被解碼的被解碼系數(shù)和與該系數(shù)的解碼處理相關(guān)的參數(shù)至少之一的信息從多個(gè)代碼表選擇一個(gè)代碼表;以及數(shù)值檢測(cè)單元,用于通過使用所選擇的代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的數(shù)值。因此,可以執(zhí)行對(duì)應(yīng)于具有更高的編碼效率的可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理,該編碼處理通過改變代碼表而有效地刪除包含在系數(shù)數(shù)據(jù)中的冗余信息,以編碼該系數(shù)數(shù)據(jù)。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼裝置中,通過根據(jù)對(duì)應(yīng)于圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),并且在該代碼表選擇單元中,根據(jù)該量化步驟的數(shù)值選擇用于該數(shù)值檢測(cè)單元的代碼表。因此,可以執(zhí)行對(duì)應(yīng)于一種可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理,該編碼處理通過總是采用適用于該量化步驟的代碼表并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼裝置中,該代碼表選擇單元根據(jù)關(guān)于一個(gè)被解碼系數(shù)的信息選擇由該數(shù)值檢測(cè)單元所使用的代碼表。因此,可以執(zhí)行對(duì)應(yīng)于一種可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理,該可變長(zhǎng)度編碼處理通過總是使用適合于未解碼系數(shù)的數(shù)目的代碼表而對(duì)被量化系數(shù)編碼并且使得編碼效率最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度解碼裝置中,根據(jù)對(duì)該代碼的解碼處理,該代碼被解碼,以分別重構(gòu)表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值以及表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值,該代碼表選擇單元根據(jù)被解碼的游程數(shù)值從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,并且該數(shù)值檢測(cè)單元根據(jù)所選擇的代碼表檢測(cè)對(duì)應(yīng)于一個(gè)被解碼代碼的游程數(shù)值。因此,可以執(zhí)行對(duì)應(yīng)于可變長(zhǎng)度編碼處理的一種可變長(zhǎng)度解碼處理,該可變長(zhǎng)度編碼處理總是通過使用適用于未處理的游程數(shù)值的數(shù)目的代碼表對(duì)游程數(shù)值編碼并且可以實(shí)現(xiàn)編碼效率的最大化。
根據(jù)本發(fā)明,在上述可變長(zhǎng)度編碼裝置中,通過根據(jù)對(duì)應(yīng)于圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),并且該解碼單元對(duì)代碼執(zhí)行解碼處理,以從高頻分量到低頻分量獲得對(duì)應(yīng)于該代碼的數(shù)值。因此,可以執(zhí)行對(duì)應(yīng)于可變長(zhǎng)度編碼處理的一種可變長(zhǎng)度解碼處理,該可變長(zhǎng)度編碼處理可以進(jìn)一步減小對(duì)應(yīng)于分配給系數(shù)的代碼的總位數(shù)。
根據(jù)本發(fā)明,在此提供一種記錄介質(zhì),其中包括一個(gè)程序,用于通過計(jì)算機(jī)執(zhí)行對(duì)包括由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)的可變長(zhǎng)度編碼而獲得的多個(gè)代碼的被編碼數(shù)據(jù)解碼的可變長(zhǎng)度解碼處理,并且該程序包括解碼步驟,用于使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表使得各個(gè)代碼受到對(duì)該被編碼數(shù)據(jù)解碼的解碼處理,以重構(gòu)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù),并且該解碼步驟進(jìn)一步包括代碼表選擇步驟,用于根據(jù)關(guān)于已經(jīng)被解碼的被解碼系數(shù)和與該系數(shù)的解碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及數(shù)值檢測(cè)步驟,用于通過使用所選擇的代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的數(shù)值。因此,可以通過軟件實(shí)現(xiàn)對(duì)應(yīng)于具有更高的編碼效率的可變長(zhǎng)度編碼處理的可變長(zhǎng)度解碼處理,該編碼處理通過改變代碼表而有效地刪除包含在系數(shù)數(shù)據(jù)中的冗余信息,以編碼該系數(shù)數(shù)據(jù)。
圖1為用于說明根據(jù)本發(fā)明第一實(shí)施例的圖像編碼裝置101的方框圖。
圖2為示出構(gòu)成根據(jù)第一實(shí)施例的圖像編碼裝置101的游程長(zhǎng)度編碼單元RLE1的方框圖。
圖3(a)-3(d)為用于說明由游程長(zhǎng)度編碼單元RLE1所執(zhí)行的曲折掃描的示意圖,以及圖3(e)和(f)為用于說明游程數(shù)值和級(jí)別數(shù)值的重新排序的示意圖。
圖4為用于說明該游程長(zhǎng)度編碼單元RLE1的可變長(zhǎng)度編碼器LVLC中的處理的示意圖圖4(a)為示出用于級(jí)別數(shù)值的可變長(zhǎng)度編碼處理的流程圖,以及圖4(b)為用于對(duì)該級(jí)別數(shù)值的可變長(zhǎng)度編碼處理中的一個(gè)代碼表。
圖5為用于說明該游程長(zhǎng)度編碼單元RLE1的可變長(zhǎng)度編碼器RVLC中的處理的示意圖圖5(a)為示出對(duì)一個(gè)游程數(shù)值的可變長(zhǎng)度編碼處理的流程圖,以及圖5(b)為在對(duì)該游程數(shù)值的可變長(zhǎng)度編碼處理中所用的一個(gè)代碼表。
圖6為分別示出在采用代碼表L2(圖6(a))以及在采用代碼表L1(圖6(b))的情況中對(duì)應(yīng)于由可變長(zhǎng)度編碼器LevVLC分配給級(jí)別數(shù)值(量化參數(shù)相對(duì)較小)的代碼的總位數(shù)的示意圖。
圖7為分別示出在采用代碼表L2(圖7(a))以及在采用代碼表L1(圖7(b))的情況中對(duì)應(yīng)于由可變長(zhǎng)度編碼器LevVLC分配給級(jí)別數(shù)值(量化參數(shù)相對(duì)較大)的代碼的總位數(shù)的示意圖。
圖8為分別示出在采用一個(gè)特定代碼表(圖8(a))的情況、執(zhí)行代碼表的改變和游程數(shù)值的重新排序(圖8(b))的情況以及僅僅改變代碼表的情況(圖8(c))的情況對(duì)應(yīng)于由可變長(zhǎng)度編碼器RVLC分配給游程數(shù)值的代碼的總位數(shù)的示意圖。
圖9為用于說明根據(jù)本發(fā)明第二實(shí)施例的圖像解碼裝置102的方框圖。
圖10為示出構(gòu)成根據(jù)第二實(shí)施例的圖像解碼裝置102的游程長(zhǎng)度解碼單元RLD1的方框圖。
圖11為用于說明由可變長(zhǎng)度解碼器LVLD執(zhí)行的可變長(zhǎng)度解碼處理的示意圖圖11(a)為示出用于重構(gòu)一個(gè)級(jí)別數(shù)值的可變長(zhǎng)度解碼處理的流程圖,以及圖11(b)為在該可變長(zhǎng)度解碼處理中使用的一個(gè)代碼表。
圖12為用于說明由可變長(zhǎng)度解碼器RVLD執(zhí)行可變長(zhǎng)度解碼處理的示意圖圖12(a)示出用于重構(gòu)一個(gè)游程數(shù)值的可變長(zhǎng)度解碼處理的流程圖,以及圖12(b)為在該可變長(zhǎng)度解碼處理中所用的一個(gè)代碼表。
圖13為用于說明根據(jù)本發(fā)明第三實(shí)施例的圖像編碼裝置103的方框圖。
圖14為示出構(gòu)成根據(jù)第三實(shí)施例的圖像編碼裝置103的游程長(zhǎng)度編碼單元RLE2的方框圖。
圖15為示出根據(jù)第三實(shí)施例由游程長(zhǎng)度編碼單元RLE2所形成的一個(gè)代碼表(第二代碼表)的例子T2a(圖15(a))和T2b(圖15(b))的示意圖。
圖16為示出根據(jù)第三實(shí)施例由游程長(zhǎng)度編碼單元RLE2所形成的一個(gè)代碼表(第二代碼表)的其他例子T2c(圖16(a))、T2d(圖16(b))和T2e(圖16(c))的示意圖。
圖17為示出根據(jù)第三實(shí)施例由游程長(zhǎng)度編碼單元RLE2所編碼的量化分量的一個(gè)次序的例子的示意圖。
圖18為用于說明根據(jù)本發(fā)明第四實(shí)施例的圖像解碼裝置104的方框圖。
圖19為示出構(gòu)成根據(jù)第四實(shí)施例的圖像解碼裝置104的游程長(zhǎng)度解碼單元RLD2的方框圖。
圖20為說明根據(jù)本發(fā)明第五實(shí)施例的圖像編碼裝置105的方框圖。
圖21為說明構(gòu)成根據(jù)第五實(shí)施例的圖像編碼裝置105的游程長(zhǎng)度編碼單元RLE3的方框圖。
圖22為用于說明根據(jù)本發(fā)明第六實(shí)施例的圖像解碼裝置106的方框圖。
圖23為示出構(gòu)成根據(jù)第六實(shí)施例的圖像解碼裝置106的游程長(zhǎng)度解碼單元RLD3的方框圖。
圖24為示出根據(jù)第五實(shí)施例的游程長(zhǎng)度編碼單元RLE3以及根據(jù)第六實(shí)施例的游程長(zhǎng)度編碼單元RLE3所使用的可變長(zhǎng)度代碼表的Ta(圖24(a))、Tb(圖24(b))和Tc(圖24(c))的示意圖。
圖25為用于說明包含由一個(gè)計(jì)算機(jī)系統(tǒng)(圖25(a)和25(b))以及計(jì)算機(jī)系統(tǒng)(圖25(c))所實(shí)現(xiàn)的任何上述實(shí)施例的可變長(zhǎng)度編碼處理或可變長(zhǎng)度解碼處理的程序的一個(gè)數(shù)據(jù)存儲(chǔ)介質(zhì)的示意圖。
圖26為用于說明根據(jù)任何實(shí)施例的圖像編碼方法和圖像解碼方法的一個(gè)應(yīng)用的示意圖,并且該圖示出實(shí)現(xiàn)內(nèi)容發(fā)布服務(wù)的內(nèi)容提供系統(tǒng)。
圖27為用于說明采用根據(jù)任何實(shí)施例的圖像編碼方法和圖像解碼方法的便攜式電話的示意圖。
圖28為示出如圖27所示的便攜式電話的方框圖。
圖29為示出采用根據(jù)任何實(shí)施例的圖像編碼裝置或圖像解碼裝置的數(shù)字廣播系統(tǒng)的示意圖。
圖30為示出一種常規(guī)圖像編碼裝置201a的方框圖。
圖31為用于說明構(gòu)成該常規(guī)圖像編碼裝置201a的編碼單元RLE0a的方框圖。
圖32為用于說明根據(jù)該常規(guī)圖像編碼裝置201a的常規(guī)圖像解碼裝置202a的方框圖。
圖33為用于說明構(gòu)成該常規(guī)圖像解碼裝置202a的解碼單元RLD0a的方框圖。
圖34為示出執(zhí)行常規(guī)游程長(zhǎng)度編碼的圖像編碼裝置201b的方框圖。
圖35為用于說明構(gòu)成該常規(guī)圖像編碼裝置201b的游程長(zhǎng)度編碼單元RLE0b的方框圖。
圖36為用于說明對(duì)應(yīng)于該常規(guī)圖像編碼裝置201b的圖像解碼裝置202b的方框圖。
圖37為用于說明構(gòu)成該常規(guī)圖像編碼裝置201b的游程長(zhǎng)度編碼單元RLE0b的方框圖。
圖38為用于說明執(zhí)行常規(guī)游程長(zhǎng)度編碼的另一個(gè)圖像編碼裝置201c的方框圖。
圖39為說明構(gòu)成該常規(guī)圖像編碼裝置201c的游程長(zhǎng)度編碼單元RLE0c的方框圖。
圖40為用于說明對(duì)應(yīng)于該常規(guī)圖像編碼裝置201c的常規(guī)圖像解碼裝置202c的方框圖。
圖41為用于說明構(gòu)成該常規(guī)圖像解碼裝置202c的解碼單元RLD0c的方框圖。
圖42為示出由構(gòu)成該常規(guī)圖像編碼裝置201c的游程長(zhǎng)度編碼單元RLE0c所使用的一個(gè)代碼表的例子的示意圖。
圖43為示出由該常規(guī)游程長(zhǎng)度編碼單元RLE0a、RLE0b或RLE0c所編碼的量化分量的次序的例子的示意圖。
具體實(shí)施例方式
首先,將描述本發(fā)明的基本原理。
通常,當(dāng)該量化步驟為粗略時(shí),被量化的分量具有較小的絕對(duì)值。然后,該游程(連續(xù)零系數(shù)的長(zhǎng)度)更長(zhǎng),并且相應(yīng)地該級(jí)別數(shù)值(非零系數(shù)的數(shù)值)具有更小的絕對(duì)值。相反,當(dāng)該量化步驟為精細(xì)時(shí),被量化的分量具有更大的絕對(duì)值。因此,該游程更短并且相應(yīng)地該級(jí)別數(shù)值具有更大的絕對(duì)值。
另外,當(dāng)已經(jīng)在一個(gè)要被處理的目標(biāo)塊中完成許多被量化的分量的可變長(zhǎng)度編碼并且未編碼的被量化分量的數(shù)目較小,則不會(huì)出現(xiàn)超過未編碼的量化分量的數(shù)目的游程數(shù)值。因此,當(dāng)除去這些游程數(shù)值和級(jí)別數(shù)值對(duì)時(shí),增加編碼效率。
從這一觀點(diǎn)來看,本發(fā)明根據(jù)可變長(zhǎng)度編碼處理或用于被量化系數(shù)的可變長(zhǎng)度解碼處理的狀態(tài)以及與被量化系數(shù)的產(chǎn)生相關(guān)的參數(shù)(量化參數(shù)),改變表示一個(gè)被量化系數(shù)的大小的數(shù)值信息和代碼之間對(duì)應(yīng)關(guān)系的一個(gè)代碼表,從而有效地除去包含在該可變長(zhǎng)度編碼處理的目標(biāo)數(shù)據(jù)(被量化系數(shù))中的冗余信息。
例如,根據(jù)被量化系數(shù)的處理狀態(tài),通過選擇在常規(guī)可變長(zhǎng)度編碼或解碼處理中使用的代碼表(第一代碼表)或者根據(jù)第一代碼表形成并且對(duì)要被處理的數(shù)據(jù)優(yōu)化的第二代碼表而執(zhí)行該代碼表的改變。不必總是根據(jù)第一代碼表形成第二代碼表,但是適用于處理目標(biāo)數(shù)據(jù)的任何代碼表可以被選擇作為一個(gè)代碼表。
在下文中,將參照?qǐng)D1至25描述本發(fā)明的實(shí)施例。
圖1為用于說明根據(jù)本發(fā)明第一實(shí)施例的圖像編碼裝置的方框圖。
根據(jù)第一實(shí)施例的圖像編碼裝置101具有用于根據(jù)量化參數(shù)QP和VLC選擇信號(hào)VlcSel使得來自量化單元Q的輸出QS受到可變長(zhǎng)度編碼處理并且輸出一個(gè)編碼流Str1的游程長(zhǎng)度編碼單元RLE1,取代如圖3中所示的常規(guī)圖像編碼裝置201b中的游程長(zhǎng)度編碼單元RLE0b,其使得來自量化單元Q的輸出(量化分量)QS受到可變長(zhǎng)度編碼處理并且輸出一個(gè)編碼流Str0b。
在此,該量化參數(shù)QP是表示一個(gè)量化步驟的數(shù)值的參數(shù),并且該量化步驟近似于與該量化參數(shù)QP成比例。更加具體來說,當(dāng)量化參數(shù)QP較大時(shí),被量化分量具有較小的絕對(duì)值,然后該被量化分量的零游程(數(shù)值為零的連續(xù)分量的長(zhǎng)度)更長(zhǎng),并且一個(gè)級(jí)別數(shù)值具有較小的絕對(duì)值。
圖2為用于說明該游程長(zhǎng)度編碼單元RLE1的具體結(jié)構(gòu)的方框圖。
該游程長(zhǎng)度編碼單元RLE1類似于圖35中所示的常規(guī)游程長(zhǎng)度編碼單元RLE0b,具有曲折掃描儀Scan用于把從量化單元Q輸出的二維陣列的(量化分量)QS變換為一維陣列的(即,預(yù)定次序)量化系數(shù)Coef;游程計(jì)算器RunCal,用于計(jì)算其數(shù)值為零(零系數(shù))的量化分量Coef的連續(xù)數(shù)目并且輸出表示連續(xù)零系數(shù)的數(shù)目的游程數(shù)值Run;以及級(jí)別計(jì)算器LevCal,用于計(jì)算在該零系數(shù)之后其數(shù)值非零的(非零系數(shù))的量化分量Coef的數(shù)值,并且輸出表示該非零系數(shù)的數(shù)值的級(jí)別數(shù)值Lev。
圖3(a)示出對(duì)應(yīng)于一個(gè)塊的量化分量Q1至Q16的一個(gè)二維陣列,以及圖3(b)由箭頭A1至A15所示的在曲折掃描儀Scan中的量化分量Q1至Q16的掃描路徑。在此,通過量化對(duì)應(yīng)于一個(gè)圖像信號(hào)的頻率分量的直流分量而獲得一個(gè)量化分量Q1,并且通過量化對(duì)應(yīng)于該圖像信號(hào)的頻率分量的交流分量而獲得量化分量Q2至Q16。圖3(c)示出該量化分量Q1至Q16的一個(gè)一維陣列(編碼次序),其通過在曲折掃描儀Scan中的曲折掃描而獲得,并且圖3(d)示出表示量化分量Q1至Q16的數(shù)值的具體數(shù)值的一維陣列。
該游程長(zhǎng)度編碼單元RLE1進(jìn)一步包括一個(gè)用于對(duì)從級(jí)別計(jì)算器LevCal輸出的級(jí)別數(shù)值Lev重新排序的一個(gè)重新排序單元Lreodr;用于對(duì)從游程計(jì)算器RunCal輸出的游程數(shù)值Run重新排序的重新排列單元Rreodr;以及用于根據(jù)來自游程計(jì)算器RunCal的輸出計(jì)算在一個(gè)目標(biāo)塊中的未編碼系數(shù)的數(shù)目Cnum并且輸出所計(jì)算的數(shù)目的一個(gè)數(shù)目計(jì)算器NumClc。圖3(e)示出從具有圖3(c)和3(d)中所示的排列的量化分量的數(shù)值獲得的游程數(shù)值和級(jí)別數(shù)值的次序。圖3(f)示出在重新排列之后的游程數(shù)值和級(jí)別數(shù)值的次序。
該游程長(zhǎng)度編碼單元RLE1進(jìn)一步包括可變長(zhǎng)度編碼器LVLC,用于根據(jù)量化參數(shù)QP和選擇信號(hào)VlcSel使得來自重新排列單元Lreodr的輸出ROLev受到可變長(zhǎng)度編碼處理,并且輸出一個(gè)代碼串(級(jí)別數(shù)值代碼串)LStr;可變長(zhǎng)度編碼器RVLC,用于根據(jù)未編碼系數(shù)的數(shù)目Cnum使得來自重新排列單元Rreodr的輸出RORun受到可變長(zhǎng)度編碼處理,并且輸出一個(gè)代碼串(游程數(shù)值代碼串)RStr;以及多路復(fù)用器MUX,用于把用于每個(gè)塊的代碼串LStr和代碼串RStr復(fù)用,并且輸出一個(gè)復(fù)用的編碼流Str1。
圖4為用于說明由可變長(zhǎng)度編碼器LVLC所執(zhí)行的可變長(zhǎng)度編碼處理的示意圖。圖4(a)為示出用于一個(gè)級(jí)別數(shù)值的可變長(zhǎng)度編碼處理的流程圖,以及圖4(b)為示出在用于該級(jí)別數(shù)值可變長(zhǎng)度編碼處理中使用的代碼表的示意圖。
圖4(b)示出級(jí)別數(shù)值(Level)的排列Alev、在量化參數(shù)QP小于一個(gè)閾值的情況中的代碼(代碼字)的排列Cal、以及在量化參數(shù)QP等于或大于該閾值時(shí)的代碼(代碼字)的排列Ca2。
在此,一個(gè)代碼表L1由級(jí)別數(shù)值(Level)的排列Alev和在量化參數(shù)QP小于一個(gè)閾值時(shí)的代碼(代碼字)的排列Cal所構(gòu)成。該代碼表L1示出該級(jí)別數(shù)值(Level)和該量化參數(shù)QP小于該閾值的情況中的代碼之間的對(duì)應(yīng)關(guān)系。一個(gè)代碼表L2由級(jí)別數(shù)值(Level)的排列Alev和在量化參數(shù)QP等于或大于該閾值時(shí)的代碼(代碼字)的排列Ca2所構(gòu)成。該代碼表L2示出級(jí)別數(shù)值(Level)和在量化參數(shù)QP等于或大于該閾值時(shí)的代碼之間的對(duì)應(yīng)關(guān)系。
圖5為用于說明由可變長(zhǎng)度編碼器RVLC所執(zhí)行的可變長(zhǎng)度編碼處理的示意圖。圖5(a)為用于說明對(duì)一個(gè)游程數(shù)值的可變長(zhǎng)度編碼處理的流程圖,以及圖5(b)為示出在對(duì)該游程數(shù)值的可變長(zhǎng)度編碼處理中所用的代碼表的示意圖。
圖5(b)示出游程數(shù)值(Run)的排列Arun、在未編碼零系數(shù)的數(shù)目為1時(shí)的代碼(代碼字)的排列Cb1、在未編碼零系數(shù)的數(shù)目為2時(shí)的代碼(代碼字)的排列Cb2、在未編碼零系數(shù)的數(shù)目為3時(shí)的代碼(代碼字)的排列Cb3、在未編碼零系數(shù)的數(shù)目為4時(shí)的代碼(代碼字)的排列Cb4、在未編碼零系數(shù)的數(shù)目為5時(shí)的代碼(代碼字)的排列Cb5、在未編碼零系數(shù)的數(shù)目為6時(shí)的代碼(代碼字)的排列Cb6、在未編碼零系數(shù)的數(shù)目為7時(shí)的代碼(代碼字)的排列Cb7、以及在未編碼零系數(shù)的數(shù)目為8時(shí)的代碼(代碼字)的排列Cb8。
在此,代碼表R1由游程數(shù)值(Run)的排列Arun和在未編碼零系數(shù)的數(shù)目為1時(shí)的代碼(代碼字)的排列Cb1所構(gòu)成,并且代碼表R1示出游程數(shù)值(Run)和在未編碼零系數(shù)的數(shù)目為1時(shí)的代碼之間的對(duì)應(yīng)關(guān)系。類似地,代碼表R2、R3、R4、R5、R6和R7分別由游程數(shù)值(Run)的排列Arun和在未編碼零系數(shù)的數(shù)目為2、3、4、5、6和7時(shí)的代碼(代碼字)的排列Cb、Cb3、Cb4、Cb5、Cb6和Cb7所構(gòu)成,并且示出游程數(shù)值(Run)分別與在未編碼零系數(shù)的數(shù)目為2、3、4、5、6和7時(shí)的代碼之間的對(duì)應(yīng)關(guān)系。另外,一個(gè)代碼表R8由游程數(shù)值(Run)的排列Arun以及在未編碼零系數(shù)的數(shù)目為8或更大時(shí)的代碼(代碼字)的排列Cb8所構(gòu)成,并且示出該游程數(shù)值(Run)和在未編碼零系數(shù)的數(shù)目為8或更大時(shí)的代碼之間的對(duì)應(yīng)關(guān)系。
下面將描述其操作。
在根據(jù)第一實(shí)施例的圖像編碼裝置101中,該分塊單元Blk、頻率變換單元Trans和量化單元Q按照與常規(guī)圖像編碼裝置201a(參見圖30)或圖像編碼裝置201b(參見圖34)相同的方式而操作。
更加具體來說,當(dāng)圖像信號(hào)Vin被輸入到圖像編碼裝置101a時(shí),該分塊單元Blk把所輸入的圖像信號(hào)Vin分為塊單元,以產(chǎn)生對(duì)應(yīng)于各個(gè)塊的圖像信號(hào)(像素值分量)BlkS。該頻率變換單元Trans把像素值分量BlkS根據(jù)DCT(離散余弦變換)或小波變換變換為頻率分量TransS。該量化單元Q根據(jù)量化參數(shù)QP在一個(gè)預(yù)定量化步驟中量化該頻率分量TransS,以輸出量化分量QS,以及輸出量化參數(shù)QP。該游程長(zhǎng)度編碼單元RLE1使得量化分量QS受到可變長(zhǎng)度編碼處理,并且步驟Sc一個(gè)編碼流Str1。
在下文中,將具體描述游程長(zhǎng)度編碼單元RLE1的操作。
該曲折掃描儀Scan對(duì)從量化單元Q輸出的量化分量QS(即,二維陣列中的多個(gè)量化分量Q1至Q16,如圖3(a)中所示)的曲折掃描,以把該量化分量QS變換為量化分量Coef。在此,通過沿著由圖3(b)中所示的箭頭A1至A15的路線掃描如圖3(a)中所示的二維陣列中的多個(gè)量化分量Q1至Q16而執(zhí)行量化分量QS的曲折掃描,以把多個(gè)量化分量Q1至Q16的陣列變換為如圖3(c)中所示的一維陣列(處理次序)。在此,圖3(d)示出已經(jīng)受到曲折掃描的多個(gè)量化分量Q1至Q16的具體數(shù)值的排列(20,-10,5,0,2,0,0,0,1,0,0,0,-1,0,0,1)。
該游程計(jì)算器RunCal根據(jù)從曲折掃描儀Scan輸出的量化分量Coef計(jì)算連續(xù)零系數(shù)的數(shù)目,并且輸出表示所計(jì)算的數(shù)目的游程數(shù)值Run。圖3(e)示出根據(jù)該游程數(shù)值的輸出次序連續(xù)從游程計(jì)算器RunCal輸出的具體游程數(shù)值(0,0,0,1,3,3,2)。另一方面,該級(jí)別計(jì)算器LeVCal根據(jù)從曲折掃描儀Scan輸出的量化分量Coef計(jì)算在該連續(xù)零系數(shù)之后的非零系數(shù),并且輸出表示所計(jì)算的數(shù)值的級(jí)別數(shù)值Lev。圖3(e)示出根據(jù)該級(jí)別數(shù)值輸出的次序從級(jí)別計(jì)算器LevCal連續(xù)輸出的具體級(jí)別數(shù)值(20,-10,5,2,1,-1,1)。
重新排列單元Rreodr對(duì)已經(jīng)從游程計(jì)算器RunCal連續(xù)輸出的游程數(shù)值按照與游程數(shù)值輸出的次序相反的相反次序重新排列。圖3(f)示出已經(jīng)被重新排列單元Rreodr重新排列的具體游程數(shù)值的改變后的次序(2,3,3,1,0,0,0)。該數(shù)目計(jì)算器NumClc根據(jù)從游程計(jì)算器RunCal輸出的游程數(shù)值Run計(jì)算未編碼系數(shù)的數(shù)目,并且輸出所計(jì)算的未編碼系數(shù)的數(shù)目(在下文中,也稱為未編碼系數(shù)數(shù)目)Cnum。另一方面,該重新排序單元Lreodr對(duì)已經(jīng)順序地從級(jí)別計(jì)算器LevCal輸出的級(jí)別數(shù)值按照與該級(jí)別數(shù)值被示出的次序相反的次序重新排序。圖3(f)示出已經(jīng)由該重新排序單元Lreodr重新排序的具體級(jí)別數(shù)值的改變次序(1,-1,1,2,5,-10,20)。
該可變長(zhǎng)度編碼器RVLC使得作為來自重新排序單元Rreodr的輸出的已經(jīng)重新排序的游程數(shù)值RORun受到可變長(zhǎng)度編碼處理,用于根據(jù)從數(shù)目計(jì)算器NumClc輸出的未編碼零系數(shù)的數(shù)目Cum,通過使用表示該游程數(shù)值和代碼(代碼字)之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,把代碼(代碼字)分配到游程數(shù)值RORun,并且輸出一個(gè)游程數(shù)值代碼串RStr。另一方面,該可變長(zhǎng)度編碼器LVLC根據(jù)從數(shù)目計(jì)算器NumClc輸出的未編碼零系數(shù)的數(shù)目Cum,通過使用表示該游程數(shù)值和代碼(代碼字)之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得作為來自重新排序單元Lreodr的輸出的被重新排序的游程數(shù)值ROLev受到可變長(zhǎng)度編碼處理,用于把代碼(代碼字)分配到游程數(shù)值RORun,并且輸出一個(gè)游程數(shù)值代碼串RStr。另一方面,該可變長(zhǎng)度編碼器LVLC根據(jù)來自量化單元Q的量化參數(shù)QP和來自可變長(zhǎng)度編碼的外部指示選擇的選擇信號(hào)VlcSel,通過使用表示級(jí)別數(shù)值和代碼(代碼字)之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得作為來自重新排序單元Lreodr的輸出的已經(jīng)被重新排序的游程數(shù)值ROLev受到可變長(zhǎng)度編碼處理,用于把代碼(代碼字)分配到游程數(shù)值ROL,并且輸出一個(gè)級(jí)別數(shù)值代碼串LStr。
然后,該多路復(fù)用器MUX一個(gè)塊接著一個(gè)塊地復(fù)用該級(jí)別數(shù)值代碼串LStr和游程數(shù)值代碼串RStr,并且輸出一個(gè)復(fù)用的編碼流Str1。
在此,一個(gè)塊接著一個(gè)塊地執(zhí)行用于復(fù)用該級(jí)別數(shù)值代碼串LStr和游程數(shù)值代碼串RStr的處理,例如,按照這種方式,對(duì)應(yīng)于所有目標(biāo)塊的游程數(shù)值的代碼串RStr之后接著對(duì)應(yīng)于該目標(biāo)塊的所有級(jí)別數(shù)值的代碼串LStr,或者對(duì)應(yīng)于該目標(biāo)塊的所有級(jí)別數(shù)值的代碼串LStr之后接著對(duì)應(yīng)于所有目標(biāo)塊的游程數(shù)值的代碼串RStr。
在下文中,將參照?qǐng)D4具體描述可變長(zhǎng)度編碼器LVLC的操作。
該可變長(zhǎng)度編碼器LVLC從量化單元Q獲得量化參數(shù)QP(步驟Sa1),并且確定所獲得的量化參數(shù)QP的數(shù)值是否等于或大于保存在可變長(zhǎng)度編碼器LVLC中的量化參數(shù)QP的閾值(步驟Sa2)。
當(dāng)該確定結(jié)果表明所獲得的量化參數(shù)QP的數(shù)值小于量化參數(shù)QP的閾值,則該可變長(zhǎng)度編碼器LVLC選擇由級(jí)別數(shù)值的排列Alev和代碼(代碼字)的排列Ca1所構(gòu)成的代碼表L1(參見圖4(b))(步驟Sa3),當(dāng)所獲得的量化參數(shù)QP的數(shù)值等于或大于量化參數(shù)QP的閾值時(shí),選擇由級(jí)別數(shù)值的排列Alev和代碼(代碼字)的排列Ca2所構(gòu)成的代碼表L2(參見圖4(b)(步驟Sa4)。
然后,可變長(zhǎng)度編碼器LVLC確定在一個(gè)目標(biāo)塊中是否存在未編碼的級(jí)別數(shù)值Lev(步驟Sa5)。當(dāng)一個(gè)未編碼的級(jí)別數(shù)值Lev被包含在該目標(biāo)塊中時(shí),該可變長(zhǎng)度編碼器LVLC使用所選擇的代碼表執(zhí)行用于對(duì)該級(jí)別數(shù)值編碼的處理,即,用于把相應(yīng)的代碼分配給該級(jí)別數(shù)值的處理(步驟Sa6),然后執(zhí)行步驟Sa5的處理。另一方面,當(dāng)在步驟Sa5中的處理結(jié)果表明在該目標(biāo)塊中沒有未編碼的級(jí)別數(shù)值LeV時(shí),則該可變長(zhǎng)度編碼器LVLC結(jié)束對(duì)級(jí)別數(shù)值Lev的可變長(zhǎng)度編碼處理。
在此,當(dāng)VLC選擇信號(hào)VlcSel預(yù)先指定使用一個(gè)特定代碼表的可變長(zhǎng)度編碼處理時(shí),則該可變長(zhǎng)度編碼器LVLC通過使用特定代碼表對(duì)該級(jí)別數(shù)值執(zhí)行可變長(zhǎng)度編碼處理,而與量化參數(shù)QP的數(shù)值無關(guān)。
接著,將參照?qǐng)D5具體描述可變長(zhǎng)度編碼器RVLC的操作。
該可變長(zhǎng)度編碼器RVLC根據(jù)來自數(shù)目計(jì)算器NumClc的輸出(未編碼系數(shù)的數(shù)目)Cnum確定在該目標(biāo)塊中是否存在任何未編碼的非零系數(shù)(步驟Sb1)。當(dāng)該確定結(jié)果表明存在一個(gè)未編碼的非零系數(shù)時(shí),該可變長(zhǎng)度編碼器RVLC根據(jù)來自數(shù)目計(jì)算器NumClc的輸出Cnum計(jì)算在該目標(biāo)塊中的未編碼的零系數(shù)的數(shù)目(步驟Sb2)。
然后,該可變長(zhǎng)度編碼器RVLC根據(jù)未編碼的零系數(shù)的所計(jì)算數(shù)目選擇一個(gè)代碼表(步驟Sb3)。更加具體來說,當(dāng)未編碼的零系數(shù)的數(shù)目為1時(shí),該可變長(zhǎng)度編碼器RVLC選擇由游程數(shù)值的排列Arun和代碼(代碼字)的排列Cb1(參見圖5(b))。類似地,當(dāng)未編碼的零系數(shù)的數(shù)目為2時(shí),該可變長(zhǎng)度編碼器RVLC選擇代碼表R2,當(dāng)未編碼的零系數(shù)的數(shù)目為3時(shí)選擇代碼表R3,以及當(dāng)未編碼的零系數(shù)的數(shù)目為4時(shí)選擇代碼表R4。另外,當(dāng)未編碼的零系數(shù)的數(shù)目為5時(shí),該可變長(zhǎng)度編碼器RVLC選擇代碼表R5,當(dāng)未編碼的零系數(shù)的數(shù)目為6時(shí)選擇代碼表R6,以及當(dāng)未編碼的零系數(shù)的數(shù)目為7時(shí)選擇代碼表R7。另外,當(dāng)未編碼的零系數(shù)的數(shù)目為8或更大時(shí),該可變長(zhǎng)度編碼器RVLC選擇代碼表R8。
接著,該可變長(zhǎng)度編碼器RVLC使用所選擇的代碼表執(zhí)行對(duì)游程數(shù)值Run編碼的處理,即,用于把相應(yīng)代碼分配到該游程數(shù)值的處理(步驟Sb4),然后執(zhí)行步驟Sb1的確定處理。
在此,當(dāng)在步驟Sb1中的確定結(jié)果表明沒有未編碼的非零系數(shù)時(shí),該可變長(zhǎng)度編碼器RVLC結(jié)束對(duì)游程數(shù)值的可變長(zhǎng)度編碼處理。
接著,將描述一個(gè)具體例子,其中根據(jù)如上文所述的級(jí)別數(shù)值的可變長(zhǎng)度編碼中的量化參數(shù)選擇一個(gè)代碼表,從而增加編碼效率。
圖6示出對(duì)應(yīng)于當(dāng)量化參數(shù)QP相對(duì)較小時(shí),即,當(dāng)來自級(jí)別計(jì)算器LevCal并且被重新排序和從重新排序單元Lreodr輸出的級(jí)別數(shù)值為如圖3(f)中所示的1,-1,1,2,5,-10,20時(shí),對(duì)應(yīng)于分配給級(jí)別數(shù)值的代碼的總位數(shù)。
當(dāng)該量化參數(shù)QP被確定為等于或大于一個(gè)閾值并且采用該代碼表L2時(shí),代碼(代碼字)被分配給如圖6(a)中所示的各個(gè)級(jí)別數(shù)值,并且對(duì)應(yīng)于被分配的代碼的總位數(shù)為75位。
另一方面,當(dāng)量化參數(shù)QP被確定為小于該閾值并且采用該代碼表L1時(shí),代碼(代碼字)被分配到如圖6(b)中所示的各個(gè)級(jí)別數(shù)值,并且對(duì)應(yīng)于所分配的代碼的總位數(shù)為47位。
當(dāng)量化參數(shù)QP相對(duì)較小時(shí),具有較大數(shù)值的被量化分量的出現(xiàn)頻率較大。因此,與代碼表L2相比,選擇其中較短代碼在平均值上相當(dāng)于絕對(duì)值相對(duì)較大的級(jí)別數(shù)值的代碼表L1是有效的,以增加編碼效率。
圖7示出當(dāng)量化參數(shù)QP相對(duì)較大時(shí),即,當(dāng)來自級(jí)別計(jì)算器LevCal的并且被重新排序和從該重新排序單元Lreodr輸出的輸出(級(jí)別數(shù)值)為與圖3(f)中不同的1,-1,1,1,1,-2,3時(shí),對(duì)應(yīng)于被分配到級(jí)別數(shù)值的總位數(shù)。
當(dāng)確定量化參數(shù)QP等于或大于該閾值并且采用代碼表L2時(shí),代碼(代碼字)被分配到如圖7(a)中所示的各個(gè)級(jí)別數(shù)值,并且對(duì)應(yīng)于被分配代碼的總位數(shù)為15位。
另一方面,當(dāng)確定量化參數(shù)QP小于該閾值并且采用代碼表L1時(shí),代碼(代碼字)被分配到如圖7(b)中所示的各個(gè)級(jí)別數(shù)值,并且對(duì)應(yīng)于被分配代碼的總位數(shù)為17位。
如上文所述,當(dāng)量化參數(shù)QP的數(shù)值相對(duì)較大時(shí),具有較大數(shù)值的量化系數(shù)的出現(xiàn)頻率較低。因此,與代碼表L1相比,選擇其中較短代碼集中地對(duì)應(yīng)于絕對(duì)值相對(duì)較小的級(jí)別數(shù)值的代碼表L2是有效的,以增加編碼效率。
圖8示出當(dāng)游程數(shù)值為如圖3(e)中所示的0,0,0,1,3,3,2時(shí)對(duì)應(yīng)于分配到從游程計(jì)算器RunCal輸出的游程數(shù)值的代碼的總位數(shù)。
當(dāng)不執(zhí)行在游程長(zhǎng)度編碼單元RLE1中的游程數(shù)值的重新排序和代碼表的改變而是總是采用如圖5(b)中所示的代碼表R8時(shí),代碼(代碼字)被分配到如圖8(a)中所示的各個(gè)游程數(shù)值,并且對(duì)應(yīng)于被分配代碼的總位數(shù)為21位。
當(dāng)根據(jù)未編碼零系數(shù)的數(shù)目執(zhí)行在游程長(zhǎng)度編碼單元RLE1中的游程數(shù)值的重新排序和代碼表的改變時(shí),代碼(代碼字)被分配到如圖8(b)所示的各個(gè)游程數(shù)值,并且對(duì)應(yīng)于被分配代碼的總位數(shù)為13位。在此,每次把一個(gè)代碼分配到一個(gè)游程數(shù)值時(shí),未編碼系數(shù)的數(shù)目被減小通過把1加上緊接著在前被編碼的一個(gè)游程數(shù)值所獲得的數(shù)值。這是因?yàn)閱蝹€(gè)或連續(xù)零系數(shù)總是接著一個(gè)非零系數(shù)。另外,從重新排序單元Rreodr輸出的對(duì)應(yīng)于一個(gè)塊的多個(gè)重新排序的游程數(shù)值獲得的未編碼零系數(shù)的數(shù)目為15。這是因?yàn)?,要被處理的塊總是具有至少一個(gè)非零系數(shù)。
當(dāng)不執(zhí)行例如在游程長(zhǎng)度編碼單元RLE1中的游程數(shù)值的重新排序而是僅僅執(zhí)行根據(jù)未編碼的零系數(shù)的數(shù)目而改變代碼表時(shí),代碼(代碼字)被分配到如圖8(c)中所示的各個(gè)游程數(shù)值,并且對(duì)應(yīng)于被分配代碼的總位數(shù)為20位。
如上文所述,根據(jù)第一實(shí)施例的圖像編碼裝置101包括游程長(zhǎng)度編碼單元RLE1,其使用表示其數(shù)值為零的(零系數(shù))的量化分量Coef的連續(xù)數(shù)目的游程數(shù)值Run和表示在該零系數(shù)之后的數(shù)值非零的(非零系數(shù))的量化分量Coef的數(shù)值的級(jí)別數(shù)值Lev,編碼通過量化一個(gè)圖像信號(hào)的頻率分量而獲得的被量化系數(shù)。因此,通過除去冗余信息,可以用更高的編碼效率對(duì)該被量化系數(shù)進(jìn)行編碼。
另外,根據(jù)第一實(shí)施例的游程長(zhǎng)度編碼單元RLE1包括可變長(zhǎng)度編碼器LVLC,其根據(jù)量化參數(shù)QP的數(shù)值選擇一個(gè)代碼表,并且通過使用所選擇的代碼表執(zhí)行級(jí)別數(shù)值的可變長(zhǎng)度編碼,從而減小對(duì)應(yīng)于被分配到該級(jí)別數(shù)值的代碼的總位數(shù)。該游程長(zhǎng)度編碼單元RLE1進(jìn)一步包括重新排序單元Rreodr,其從高頻分量到低頻分量對(duì)從已經(jīng)給定預(yù)定處理次序的被量化系數(shù)獲得的多個(gè)游程數(shù)值重新排序;以及可變長(zhǎng)度編碼器RVLC,其根據(jù)在該目標(biāo)塊中的未編碼的零系數(shù)的數(shù)目選擇一個(gè)代碼表,并且使用所選擇的代碼表執(zhí)行重新排序的游程數(shù)值的可變長(zhǎng)度編碼。因此,有效地減小對(duì)應(yīng)于分配到該游程數(shù)值的代碼的總位數(shù),從而增加編碼效率。
在該第一實(shí)施例中,可變長(zhǎng)度編碼器RVLC根據(jù)在該目標(biāo)塊中的未編碼的零系數(shù)的數(shù)目(即,從數(shù)目計(jì)算器NumClc輸出的輸出Cnum)選擇一個(gè)代碼表。但是,該可變長(zhǎng)度編碼器RVLC不但可以根據(jù)來自數(shù)目計(jì)算器NumClc的輸出Cnum而且根據(jù)VLC選擇信號(hào)VlcSel選擇一個(gè)代碼表。例如,當(dāng)預(yù)先由VLC選擇信號(hào)VlcSel指定使用一個(gè)特定代碼表的可變長(zhǎng)度編碼處理時(shí),該可變長(zhǎng)度編碼器RVLC通過使用特定代碼表執(zhí)行對(duì)該游程數(shù)值的可變長(zhǎng)度編碼處理,而與在該目標(biāo)塊中的未編碼的零系數(shù)無關(guān)。
圖9為用于說明根據(jù)本發(fā)明第二實(shí)施例的一個(gè)圖像解碼裝置的方框圖。
根據(jù)第二實(shí)施例的圖像解碼裝置102例如解碼從第一實(shí)施例的圖像編碼裝置101輸出的編碼流Str1。
該圖像解碼裝置102具有根據(jù)量化參數(shù)QP和VLD選擇信號(hào)VldSel使得所輸入的編碼流Str1受到可變長(zhǎng)度解碼處理以重構(gòu)被量化系數(shù)的一個(gè)游程長(zhǎng)度解碼單元RLD1,其取代如圖36中所示的使得所輸入的編碼流Str0b受到可變長(zhǎng)度解碼處理的游程長(zhǎng)度解碼單元RLD0b。除了游程長(zhǎng)度解碼單元RLD1之外,該結(jié)構(gòu)與圖36中所示的圖像解碼裝置202b的結(jié)構(gòu)相同。
圖10為用于說明游程長(zhǎng)度解碼單元RLD1的具體結(jié)構(gòu)的方框圖。
該游程長(zhǎng)度解碼單元RLD1具有一個(gè)多路分解器DMUX,用于對(duì)從圖像編碼裝置101輸出的復(fù)用編碼流Str1進(jìn)行多路分解,以獲得對(duì)應(yīng)于級(jí)別數(shù)值的代碼串LStr和對(duì)應(yīng)于游程數(shù)值的代碼串RStr,這與如圖37中所示的常規(guī)游程長(zhǎng)度解碼單元RLD0b相同。
該游程長(zhǎng)度解碼單元RLD1具有一個(gè)可變長(zhǎng)度解碼器LVLD,用于根據(jù)量化參數(shù)QP和VLC選擇信號(hào)VlcSel,使得通過把復(fù)用的編碼流Str1多路分解而獲得的級(jí)別數(shù)值代碼串LStr受到可變長(zhǎng)度解碼處理,以重構(gòu)游程數(shù)值ROLev;以及可變長(zhǎng)度解碼器RVLD,用于根據(jù)未解碼系數(shù)的數(shù)目,使得通過對(duì)復(fù)用的編碼流Str1多路分解而獲得的游程數(shù)值代碼串RStr受到可變長(zhǎng)度解碼處理,以重構(gòu)游程數(shù)值RORun。
該游程長(zhǎng)度解碼單元RLD1進(jìn)一步包括反重新排序單元LIreodr,其在編碼結(jié)束時(shí)按照與重新排序單元Lreodr相反的次序重新排序由可變長(zhǎng)度解碼器LVLD輸出的級(jí)別數(shù)值ROLev;反重新排序單元RIreodr,其在該編碼結(jié)束時(shí),按照與重新排序單元Rreodr相反的次序?qū)τ煽勺冮L(zhǎng)度解碼器RVLD輸出的游程數(shù)值RORun重新排序;以及數(shù)目計(jì)算器NumClc,其根據(jù)來自反重新排序單元RIreodr的輸出Run計(jì)算在一個(gè)目標(biāo)塊中的未解碼系數(shù)的數(shù)目Cnum,并且輸出所獲得的數(shù)目。
該游程長(zhǎng)度解碼單元RLD1進(jìn)一步包括反曲折掃描儀IScan,其從由級(jí)別數(shù)值Lev和游程數(shù)值Run所表示的一維陣列中的被解碼量化分量重構(gòu)二維陣列的解碼的量化分量DQS。
圖11為用于說明由可變長(zhǎng)度解碼器LVLD執(zhí)行的可變長(zhǎng)度解碼處理。圖11(a)為用于說明重構(gòu)級(jí)別數(shù)值的可變長(zhǎng)度解碼處理的流程圖,以及圖11(b)為示出在該可變長(zhǎng)度解碼處理中所用的一個(gè)代碼表的示意圖。在此,在用于該級(jí)別數(shù)值的可變長(zhǎng)度解碼處理中采用的代碼表L1和L2與用于在根據(jù)第一實(shí)施例的游程長(zhǎng)度編碼單元RLE1中的級(jí)別數(shù)值的編碼處理中采用的代碼表L1和L2相同。
圖12為用于說明由可變長(zhǎng)度解碼器RVLD執(zhí)行的可變長(zhǎng)度解碼處理的示意圖。圖12(a)為用于說明用于重構(gòu)游程數(shù)值的可變長(zhǎng)度解碼處理的流程圖。圖12(b)為示出在該可變長(zhǎng)度解碼處理中采用的代碼表的示意圖。在此,在對(duì)游程數(shù)值的可變長(zhǎng)度解碼處理中采用的代碼表R1至R8分別與在根據(jù)第一實(shí)施例的游程長(zhǎng)度編碼單元RLE1中對(duì)游程數(shù)值的編碼處理中采用的代碼表R1和R8相同。
下面將描述其操作。
當(dāng)一個(gè)復(fù)用的量化單元Q例如被從根據(jù)第一實(shí)施例的圖像編碼裝置101輸入到圖像解碼裝置102時(shí),該游程長(zhǎng)度解碼單元RLD1使得該編碼流Str1受到解碼處理,并且輸出解碼的量化分量DQS。該游程長(zhǎng)度解碼單元RLD1的操作與游程長(zhǎng)度編碼單元RLE1的操作相反。
更加具體來說,在游程長(zhǎng)度解碼單元RLD1中,該多路分解器DMUX對(duì)所輸入的富裕編碼流Str1進(jìn)行多路分解,以獲得對(duì)應(yīng)于級(jí)別數(shù)值的級(jí)別數(shù)值代碼串LStr和對(duì)應(yīng)于游程數(shù)值的游程數(shù)值代碼串RStr,并且把該級(jí)別數(shù)值代碼串和游程數(shù)值代碼串分別輸出到可變長(zhǎng)度解碼器LVLD和可變長(zhǎng)度解碼器RVLD。
該可變長(zhǎng)度解碼器LVLD通過使用表示該級(jí)別數(shù)值和代碼(代碼字)之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,根據(jù)來自量化單元Q的量化參數(shù)QP和來自可變長(zhǎng)度解碼的外部指示選擇的VLC選擇信號(hào)VlcSel,對(duì)于從該多路分解器DMUX獲得的級(jí)別數(shù)值代碼串LStr獲得對(duì)應(yīng)于各個(gè)代碼(代碼字)的級(jí)別數(shù)值ROLev,并且把所獲得的級(jí)別數(shù)值輸出到反重新排序單元LIreodr。另一方面,該可變長(zhǎng)度解碼器RVLD通過使用表示該游程數(shù)值和代碼(代碼字)之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,根據(jù)從數(shù)目計(jì)算器NumClc輸出的未編碼系數(shù)的數(shù)目Cnum,對(duì)從該多路分解器DMUX獲得的游程數(shù)值代碼串RStr獲得對(duì)應(yīng)于各個(gè)代碼(代碼字)的游程數(shù)值RORun,并且把所獲得的游程數(shù)值輸出到反重新排序單元RIreodr。
該反重新排序單元LIreodr在編碼結(jié)束時(shí)使得從該可變長(zhǎng)度解碼器LVLD輸出的級(jí)別數(shù)值ROLev受到重新排序單元Lreodr的處理,以在編碼結(jié)束時(shí)重構(gòu)來自該級(jí)別計(jì)算器的輸出Lev。另一方面,該反重新排序單元RIreodr在編碼結(jié)束時(shí)使得從可變長(zhǎng)度解碼器RVLD輸出的游程數(shù)值RORun受到與重新排序單元Rreodr的處理相反的排列處理,以在編碼結(jié)束時(shí)重構(gòu)來自該游程計(jì)算器的輸出Run。另外,數(shù)目計(jì)算器NumClc根據(jù)來自反重新排序單元RIreodr的輸出Run計(jì)算在一個(gè)目標(biāo)塊中的未解碼系數(shù)的數(shù)目Cnum,并且把所獲得的數(shù)目Cnum輸出到可變長(zhǎng)度解碼器RVLD。
然后,該反曲折掃描儀IScan執(zhí)行與曲折掃描儀Scan相反的操作,以從由級(jí)別數(shù)值Lev和游程數(shù)值Run所表示的一維陣列的被量化分量重構(gòu)二維陣列的解碼的量化分量DQS,并且把所獲得的量化分量DQS輸出到反量化單元IQ。
在下文中,將參照?qǐng)D11具體描述可變長(zhǎng)度解碼器LVLD的操作。
該可變長(zhǎng)度解碼器LVLD從圖像編碼裝置101的量化單元Q獲得量化參數(shù)QP(步驟Sc1),并且確定所獲得的量化參數(shù)QP是否等于或大于保持在可變長(zhǎng)度解碼器LVLD中的量化參數(shù)QP的閾值(步驟Sc2)。
當(dāng)該確定結(jié)果表明所獲得的量化參數(shù)QP小于該量化參數(shù)QP的閾值,則該可變長(zhǎng)度解碼器LVLD選擇由級(jí)別數(shù)值的排列Alev和代碼(代碼字)的排列Ca1所構(gòu)成代碼表L1(參見圖11(b))(步驟Sc3),并且當(dāng)獲得的量化參數(shù)QP等于或大于量化參數(shù)QP的閾值時(shí),選擇由級(jí)別數(shù)值的排列Alev和排列Ca2所構(gòu)成的代碼表L2(參見圖11(b))(步驟Sc4)。
然后,該可變長(zhǎng)度解碼器LVLD確定在該目標(biāo)塊中是否有任何未解碼的級(jí)別數(shù)值Lev(步驟Sc5)。當(dāng)未解碼的級(jí)別數(shù)值Lev被包含在該目標(biāo)塊中時(shí),該可變長(zhǎng)度解碼器通過使用所選擇的代碼表執(zhí)行用于重構(gòu)級(jí)別數(shù)值Lev的解碼處理,即,用于獲得對(duì)應(yīng)于代碼的級(jí)別數(shù)值的處理(步驟Sc6),然后執(zhí)行上述步驟Sc5的處理。另一方面,在步驟Sc5中的確定結(jié)果表明在該目標(biāo)塊中沒有未解碼的級(jí)別數(shù)值Lev,該可變長(zhǎng)度解碼器結(jié)束用于重構(gòu)該級(jí)別數(shù)值Lev的可變長(zhǎng)度解碼處理。
在此,當(dāng)VLC選擇信號(hào)VlcSel先前指定使用一個(gè)特定代碼表的可變長(zhǎng)度解碼處理時(shí),該可變長(zhǎng)度解碼器LVLD通過使用該特定代碼表執(zhí)行用于重構(gòu)級(jí)別數(shù)值的可變長(zhǎng)度解碼處理,而與量化參數(shù)QP的數(shù)值無關(guān)。
接著,將參照?qǐng)D12具體描述可變長(zhǎng)度解碼器RVLD的操作。
該可變長(zhǎng)度解碼器RVLD根據(jù)來自數(shù)目計(jì)算器NumClc的輸出(未解碼系數(shù)的數(shù)目)Cnum確定在一個(gè)目標(biāo)塊中是否有任何未解碼的非零系數(shù)(步驟Sd1)。當(dāng)該確定結(jié)果表明存在未解碼的非零系數(shù),則該可變長(zhǎng)度解碼器根據(jù)該未解碼系數(shù)的數(shù)目Cnum確定在該目標(biāo)塊中的未解碼零系數(shù)的數(shù)目(步驟Sd2)。
該可變長(zhǎng)度解碼器RVLD根據(jù)未解碼零系數(shù)的所獲得數(shù)目選擇一個(gè)代碼表(步驟Sd3)。更加具體來說,當(dāng)未解碼零系數(shù)的數(shù)目為1時(shí),該可變長(zhǎng)度解碼器選擇由游程數(shù)值的排列Arun和代碼(代碼字)的排列Cb1所構(gòu)成的代碼表R1(參見圖12(b))。類似地,當(dāng)未解碼零系數(shù)的數(shù)目為2時(shí),該可變長(zhǎng)度解碼器選擇代碼表R2,當(dāng)未解碼零系數(shù)的數(shù)目為3時(shí)選擇代碼表R3,以及當(dāng)未解碼零系數(shù)的數(shù)目為4時(shí)選擇代碼表R4。另外,當(dāng)未解碼零系數(shù)的數(shù)目為5時(shí),該可變長(zhǎng)度解碼器選擇代碼表R5,當(dāng)未解碼零系數(shù)的數(shù)目為6時(shí)選擇代碼表R6,以及當(dāng)未解碼零系數(shù)的數(shù)目為7時(shí)選擇代碼表R7。另外,當(dāng)未解碼零系數(shù)的數(shù)目為8或更大時(shí),該可變長(zhǎng)度解碼器RVLD選擇代碼表R8。
接著,該可變長(zhǎng)度解碼器RVLD通過使用被選擇的代碼表執(zhí)行用于重構(gòu)游程數(shù)值Run的解碼處理,即,用于獲得對(duì)應(yīng)于各個(gè)代碼的游程數(shù)值的處理(步驟Sd4),并且然后執(zhí)行上述步驟Sd1的確定處理。
另外,當(dāng)在步驟Sd1中的確定結(jié)果表明不存在未解碼的非零系數(shù)時(shí),該可變長(zhǎng)度解碼器RVLD結(jié)束用于重構(gòu)游程數(shù)值的可變長(zhǎng)度解碼處理。
在根據(jù)第二實(shí)施例的圖像解碼裝置102中,該反量化單元IQ、反頻率變換單元ITrans和解塊單元DeBlk按照與常規(guī)圖像解碼裝置202a(參見圖32)和圖像解碼裝置202b(參見圖36)相同的方式工作。
具體來說,該反量化單元IQ執(zhí)行量化單元Q的反操作,即,參照量化參數(shù)QP對(duì)解碼的量化分量DQS執(zhí)行反量化的操作,以輸出解碼的頻率分量ITransS。該反頻率變換單元ITrans執(zhí)行頻率變換單元Trans的反操作,即,根據(jù)反DCT或反小波變換變換對(duì)應(yīng)于每個(gè)塊的解碼的頻率分量ITransS的操作,以重構(gòu)對(duì)應(yīng)于各個(gè)塊的解碼的像素值信號(hào)DBlkS。然后,該解塊單元DeBlk結(jié)合各個(gè)塊的解碼的像素值信號(hào)DBlkS,并且輸出對(duì)應(yīng)于每個(gè)圖像(幀)的解碼的圖像信號(hào)Vout。
如上文所述,根據(jù)第二實(shí)施例的圖像解碼裝置102包括游程長(zhǎng)度解碼單元RLD1,其把構(gòu)成被編碼數(shù)據(jù)的游程數(shù)值代碼串RStr和級(jí)別數(shù)值代碼串LStr分別變換為表示連續(xù)零系數(shù)Coef的數(shù)目的游程數(shù)值Run和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值Lev,以根據(jù)該游程數(shù)值和級(jí)別數(shù)值重構(gòu)被量化系數(shù)。因此,可以滿意地執(zhí)行對(duì)應(yīng)于一種可變長(zhǎng)度編碼處理的解碼處理,該編碼處理可以除去冗余信息以更高編碼效率編碼的被量化系數(shù)。
另外,根據(jù)第二實(shí)施例的游程長(zhǎng)度解碼單元RLD1包括可變長(zhǎng)度解碼器LVLD,其根據(jù)量化參數(shù)QP的數(shù)值選擇一個(gè)代碼表,并且通過使用被選擇的代碼表執(zhí)行用于重構(gòu)級(jí)別數(shù)值的可變長(zhǎng)度解碼。因此,可以滿意地解碼由對(duì)應(yīng)于分配給級(jí)別數(shù)值的代碼的減少的總位數(shù)所構(gòu)成的級(jí)別數(shù)值代碼串。
該游程長(zhǎng)度解碼單元RLD1進(jìn)一步包括可變長(zhǎng)度解碼器RVLD,反量化單元IQ根據(jù)在一個(gè)目標(biāo)塊中的未解碼零系數(shù)的數(shù)目選擇一個(gè)代碼表,并且通過使用被選擇的代碼表解碼對(duì)應(yīng)于重新排序的游程數(shù)值的代碼串;以及反重新排序單元RIreodr,其按照與在游程長(zhǎng)度解碼單元RLD1中對(duì)游程數(shù)值的重新排序處理相反地次序,對(duì)由該解碼處理所獲得的游程數(shù)值重新排序。因此,對(duì)應(yīng)于被分配到該游程數(shù)值的代碼的總位數(shù)可以被有效地減小,并且可以滿意地解碼由該游程數(shù)值所構(gòu)成的游程數(shù)值代碼串。
在該第二實(shí)施例中,該可變長(zhǎng)度解碼器RVLD根據(jù)在目標(biāo)塊中的未解碼零系數(shù)的數(shù)目(即,來自數(shù)目計(jì)算器NumClc的輸出Cnum)選擇一個(gè)代碼表,但是該可變長(zhǎng)度解碼器RVLD不但可以根據(jù)來自數(shù)目計(jì)算器NumClc的輸出Cnum,而且還根據(jù)VLD選擇信號(hào)VldSel選擇該代碼表。例如,當(dāng)先前由VLD選擇信號(hào)VldSel指定使用特定代碼表的可變長(zhǎng)度解碼處理時(shí),該可變長(zhǎng)度解碼器RVLD通過使用該特定代碼表執(zhí)行可變長(zhǎng)度解碼處理,以重構(gòu)游程數(shù)值,而與在該目標(biāo)塊中的未解碼零系數(shù)的數(shù)目無關(guān)。
圖13為用于說明根據(jù)本發(fā)明第三實(shí)施例的圖像編碼裝置的方框圖。
根據(jù)第三實(shí)施例的圖像編碼裝置103具有根據(jù)量化參數(shù)QP或VLC選擇信號(hào)VlcSel使得來自量化單元Q的輸出QS受到可變長(zhǎng)度編碼處理并且輸出一個(gè)編碼流Str2的游程長(zhǎng)度編碼單元RLE2,其取代在圖38中所示的圖像編碼裝置201c中的游程長(zhǎng)度編碼單元RLE0c,其使得來自量化單元Q的輸出(被量化分量)QS受到可變長(zhǎng)度編碼處理并且輸出一個(gè)編碼流Str0c。該第三實(shí)施例的圖像編碼裝置103的其他部分與常規(guī)的圖像編碼裝置201c相同。
更加具體來說,類似于常規(guī)的游程長(zhǎng)度編碼單元RLE0c,該游程長(zhǎng)度編碼單元RLE2具有第一代碼表T1(參見圖42),其根據(jù)游程數(shù)值和級(jí)別數(shù)值的組合示出游程數(shù)值和級(jí)別數(shù)值對(duì)(在下文稱為游程-級(jí)別對(duì))和一個(gè)相應(yīng)代碼之間的對(duì)應(yīng)關(guān)系。該游程長(zhǎng)度編碼單元RLE2根據(jù)該第一代碼表定期改變游程-級(jí)別對(duì)和在該第一代碼表中的代碼之間的對(duì)應(yīng)關(guān)系,以形成具有不同于第一代碼表的對(duì)應(yīng)關(guān)系的第二代碼表,并且根據(jù)從量化單元Q輸出的量化參數(shù)QP或者來自外部的VLC選擇信號(hào)VlcSel選擇第一和第二代碼表之一,以及根據(jù)被選擇的代碼表把代碼分配給與在要被處理的目標(biāo)數(shù)據(jù)中的系數(shù)相關(guān)的游程-級(jí)別對(duì)。
在此,該量化參數(shù)QP是表示該量化步驟的數(shù)值的一個(gè)參數(shù),并且該量化步驟近似于與量化參數(shù)QP成正比。更加具體來說,當(dāng)量化參數(shù)QP較大時(shí),該量化分量具有較小的絕對(duì)值,然后在該被量化分量中的零游程(其數(shù)值為零的連續(xù)分量的長(zhǎng)度)更長(zhǎng),因此該級(jí)別數(shù)值具有更小的絕對(duì)值。因此,在這種情況中,把較小代碼分配到包含較大游程數(shù)值和較小級(jí)別數(shù)值的游程-級(jí)別對(duì)的一個(gè)代碼表被選擇,從而增加編碼效率。相反,當(dāng)量化參數(shù)QP較小時(shí),該被量化分量具有更大的絕對(duì)值。因此,把較小代碼分配到包括較小游程數(shù)值和較大級(jí)別數(shù)值的一個(gè)代碼表被選擇,從而增加編碼效率。
另外,當(dāng)輸入來自圖像編碼裝置103外部的VLC選擇信號(hào)VlcSel時(shí),該游程長(zhǎng)度編碼單元RLE2根據(jù)VLC選擇信號(hào)VlcSel選擇在該編碼處理中所用的一個(gè)代碼表。因此,當(dāng)根據(jù)圖像特性(圖像的運(yùn)動(dòng)值、運(yùn)動(dòng)的復(fù)雜度、圖案的細(xì)節(jié)等等)從外部選擇一個(gè)適當(dāng)?shù)拇a表時(shí),或者當(dāng)可以由僅僅包含一個(gè)代碼表的一個(gè)圖像解碼裝置所解碼的數(shù)據(jù)流形成在圖像編碼裝置103側(cè)時(shí),該圖像編碼裝置103可以被VLC選擇信號(hào)VlcSel所控制總是選擇預(yù)定代碼表。也就是說,還可以執(zhí)行一種不改變一個(gè)代碼表的可變長(zhǎng)度編碼處理,而是僅僅使用一個(gè)代碼表。
圖14為用于說明游程長(zhǎng)度編碼單元RLE2的具體結(jié)構(gòu)的方框圖。
該游程長(zhǎng)度編碼單元RLE2類似于常規(guī)的游程長(zhǎng)度編碼單元RLE0c(參見圖39)具有曲折掃描儀Scan,用于把二維陣列的輸出(量化分量)QS從量化單元Q轉(zhuǎn)換為一維陣列(即,預(yù)定次序)的量化分量Coef;游程計(jì)算器RunCal,用于計(jì)算其數(shù)值為零的連續(xù)量化分量(零系數(shù))的數(shù)目,并且輸出一個(gè)游程數(shù)值Run;以及級(jí)別計(jì)算器LevCal,用于計(jì)算其數(shù)值非零(非零系數(shù))的量化分量Coef的數(shù)值,并且輸出一個(gè)級(jí)別數(shù)值Lev。
在該第三實(shí)施例中,該游程長(zhǎng)度編碼單元RLE2進(jìn)一步具有一個(gè)游程轉(zhuǎn)換器RunConv,用于根據(jù)量化參數(shù)QP或VLC選擇信號(hào)VlcSel,執(zhí)行把來自游程計(jì)算器RunCal的輸出(游程數(shù)值)Run分為表示游程數(shù)值Run的高位數(shù)字的游程數(shù)值Run1和表示游程數(shù)值Run的低位數(shù)字的游程數(shù)值Run2的處理;以及級(jí)別轉(zhuǎn)換器LevConv,用于根據(jù)量化參數(shù)QP或VLC選擇信號(hào)VlcSel,執(zhí)行把來自級(jí)別計(jì)算器LevCal的輸出(級(jí)別數(shù)值)Lev轉(zhuǎn)換為表示級(jí)別數(shù)值Lev的高位數(shù)字的級(jí)別數(shù)值Lev1和表示級(jí)別數(shù)值Lev的低位數(shù)字的級(jí)別數(shù)值Lev2的處理。
該游程長(zhǎng)度編碼單元RLE2進(jìn)一步包括一個(gè)游程級(jí)別編碼器RunLevEnc,用于根據(jù)一個(gè)代碼表或算術(shù)運(yùn)算,獲得對(duì)應(yīng)于一對(duì)游程數(shù)值Run1和級(jí)別數(shù)值Lev1(在下文中稱為游程-級(jí)別高位數(shù)字對(duì))的代碼號(hào)Code;以及重新排序單元ReOdr,用于根據(jù)量化參數(shù)QP或VLC選擇信號(hào)VlcSel執(zhí)行對(duì)游程-級(jí)別高位數(shù)字對(duì)重新排序的處理,使得對(duì)應(yīng)于要被處理的一個(gè)目標(biāo)塊的游程-級(jí)別高位數(shù)字對(duì)根據(jù)游程-級(jí)別高位數(shù)字對(duì)和代碼號(hào)Code對(duì)應(yīng)于較小的代碼號(hào),并且輸出對(duì)應(yīng)于重新排序的游程-級(jí)別高位數(shù)字對(duì)的一個(gè)代碼號(hào)ReOdrCode。
該游程長(zhǎng)度編碼單元RLE2進(jìn)一步包括位置計(jì)算器PosClc,用于從游程數(shù)值Run計(jì)算被編碼的量化分量(被編碼系數(shù))的數(shù)目并且輸出被編碼系數(shù)的數(shù)目Pos;數(shù)目變換器CodeTrans,用于根據(jù)游程-級(jí)別高位數(shù)字對(duì)和代碼號(hào)ReOdrCode之間的對(duì)應(yīng)關(guān)系,從級(jí)別數(shù)值Lev2和游程數(shù)值Run2輸出對(duì)應(yīng)于由第二代碼表所表示的一個(gè)游程-級(jí)別對(duì)的代碼號(hào)ExtCode;以及可變長(zhǎng)度編碼器VLC,用于把一個(gè)位串(代碼字)分配到代碼號(hào)ExtCode,以產(chǎn)生一個(gè)編碼流Str2。
在游程長(zhǎng)度編碼單元RLE2中的曲折掃描儀Scan、游程計(jì)算器RunCal、級(jí)別計(jì)算器LevCal和可變長(zhǎng)度編碼器VLC與如圖39中所示的常規(guī)游程長(zhǎng)度編碼單元RLE0c相同。
下面將描述其效果。
該曲折掃描儀Scan把二維陣列的量化參數(shù)QP轉(zhuǎn)換為一維陣列(即,設(shè)置一個(gè)次序)的量化分量Coef。該游程計(jì)算器RunCal計(jì)算連續(xù)零分量(其數(shù)值為零的量化分量)Coef的數(shù)目,并且輸出表示獲得的數(shù)目的游程數(shù)值Run。該級(jí)別計(jì)算器LevCal計(jì)算一個(gè)非零分量(在零分量之后的數(shù)值非零的量化分量)Coef,并且輸出一個(gè)表示該非零分量的數(shù)值的級(jí)別數(shù)值Lev。
該游程計(jì)算器RunCal執(zhí)行把游程數(shù)值Run分為表示游程數(shù)值Run的高位數(shù)字的游程數(shù)值Run1和表示游程數(shù)值Run的低位數(shù)字的游程數(shù)值Run2的轉(zhuǎn)換處理。該級(jí)別計(jì)算器LevCal執(zhí)行把級(jí)別數(shù)值Lev分為表示級(jí)別數(shù)值Lev的高位數(shù)字的級(jí)別數(shù)值Lev1和表示級(jí)別數(shù)值Lev的低位數(shù)字的級(jí)別數(shù)值Lev2的轉(zhuǎn)換處理。
該游程級(jí)別編碼器RunLevEnc根據(jù)如圖42中所示的代碼表(第一代碼表)或者根據(jù)算術(shù)運(yùn)算,獲得對(duì)應(yīng)于一對(duì)級(jí)別數(shù)值Lev1和游程數(shù)值Run1(游程-級(jí)別高位數(shù)字對(duì))的代碼號(hào)Code。該重新排序單元ReOdr執(zhí)行根據(jù)量化參數(shù)QP或VLC選擇信號(hào)VlcSel對(duì)該游程-級(jí)別高位數(shù)字對(duì)重新排序的處理,并且輸出對(duì)應(yīng)于一個(gè)重新排序的游程-級(jí)別高位數(shù)字對(duì)的代碼號(hào)ReOdrCode。根據(jù)對(duì)游程-級(jí)別高位數(shù)字對(duì)重新排序的處理,由游程級(jí)別編碼器RunLevEnc所獲得的游程-級(jí)別高位數(shù)字對(duì)和代碼號(hào)Code之間的對(duì)應(yīng)關(guān)系被轉(zhuǎn)換為這樣的對(duì)應(yīng)關(guān)系,其中較小代碼號(hào)對(duì)應(yīng)于與在要被處理的較高頻率分量相對(duì)應(yīng)的游程-級(jí)別高位數(shù)字對(duì)。
該位置計(jì)算器PosClc從游程數(shù)值Run計(jì)算被編碼分量的數(shù)目,并且輸出被編碼系數(shù)的數(shù)目Pos。該數(shù)目變換器CodeTrans根據(jù)游程-級(jí)別高位數(shù)字對(duì)和代碼號(hào)ReOdrCode之間的對(duì)應(yīng)關(guān)系,輸出對(duì)應(yīng)于來自級(jí)別數(shù)值Lev2和游程數(shù)值Run2的一個(gè)游程-級(jí)別對(duì)。在此時(shí),該數(shù)目變換器CodeTrans采用從位置計(jì)算器PosClc輸出的被編碼系數(shù)的數(shù)目Pos,以獲得未編碼分量的數(shù)目。
在此,根據(jù)在該游程-級(jí)別對(duì)和代碼號(hào)之間的對(duì)應(yīng)關(guān)系不同于第一代碼表的第二代碼表,獲得對(duì)應(yīng)于從數(shù)目變換器CodeTrans輸出的該游程-級(jí)別對(duì)的代碼號(hào)ExtCode。該第二代碼表如下形成首先,通過重新排序單元ReOdr的重新排序處理形成具有不同于第一代碼表的游程-級(jí)別對(duì)和代碼號(hào)之間的對(duì)應(yīng)關(guān)系的一個(gè)代碼表,然后由重新排序單元ReOdr所形成的該代碼表被數(shù)目變換器CodeTrans根據(jù)被編碼系數(shù)的數(shù)目Pos而改變,使其不包含對(duì)應(yīng)于超過未編碼分量的數(shù)目的游程數(shù)值Run的在游程-級(jí)別對(duì)和代碼號(hào)之間的對(duì)應(yīng)關(guān)系。
該可變長(zhǎng)度編碼器VLC把一個(gè)位串(代碼字)分配到代碼號(hào)ExtCode,以產(chǎn)生一個(gè)編碼流Str2。
圖15輸出由游程長(zhǎng)度編碼單元RLE2根據(jù)第一代碼表所形成的第二代碼表的例子。在此,第一代碼表與圖42中所示的用于常規(guī)游程長(zhǎng)度編碼單元RLE0c中的代碼表相同。在第一和第二代碼表中,一個(gè)位串(代碼字)被一一對(duì)應(yīng)地分配給該代碼號(hào),不用說較短的代碼字被分配給具有較小數(shù)值的代碼號(hào)Code。
圖15(a)示出第二代碼表的一個(gè)例子,即,適用于量化參數(shù)QP較小的情況下的代碼表T2a。
該第二代碼表T2a如下形成首先,對(duì)應(yīng)于級(jí)別數(shù)值Lev的1/2的數(shù)值被指定為級(jí)別數(shù)值Lev1,并且(Lev1×2-Lev)的絕對(duì)值被指定為級(jí)別數(shù)值Lev2。
在此,當(dāng)級(jí)別數(shù)值Lev是一個(gè)奇數(shù),通過把具有比該級(jí)別數(shù)值Lev大1的絕對(duì)值的一個(gè)偶數(shù)除以2所獲得的數(shù)值被用作為級(jí)別數(shù)值Lev1。更加具體來說,當(dāng)級(jí)別數(shù)值Lev為正數(shù)時(shí),對(duì)應(yīng)于(Lev+1)的1/2的數(shù)值被分配到級(jí)別數(shù)值Lev1,并且當(dāng)級(jí)別數(shù)值Lev為負(fù)數(shù)時(shí),對(duì)應(yīng)于(Lev-1)的1/2的一個(gè)數(shù)值被分配到級(jí)別數(shù)值Lev1。
然后,根據(jù)級(jí)別數(shù)值Lev和游程數(shù)值Run的組合從第一代碼表(參見圖42)獲得對(duì)應(yīng)于一對(duì)級(jí)別數(shù)值Lev1和游程數(shù)值Run的代碼號(hào)Code。
另外,當(dāng)Lev值為正數(shù)時(shí)根據(jù)下面的公式(1),以及當(dāng)Lev值為負(fù)數(shù)時(shí)根據(jù)公式(2),轉(zhuǎn)換對(duì)應(yīng)于一對(duì)級(jí)別數(shù)值Lev1和游程數(shù)值Run的代碼號(hào)Code。該第二代碼表T2a示出該代碼號(hào)和由上述轉(zhuǎn)換所獲得的游程-級(jí)別對(duì)之間的對(duì)應(yīng)關(guān)系。
2×(Code-Lev2)-1…(1)2×(Code-Lev2)…(2)例如,當(dāng)把注意力放在圖42中的代碼表(第一代碼表)中的一個(gè)游程-級(jí)別對(duì)(級(jí)別=-2,游程=1)上時(shí),對(duì)應(yīng)于該游程-級(jí)別對(duì)的代碼號(hào)Code被從由圖42中的第一代碼表T1轉(zhuǎn)換為由圖15(a)中的第二代碼表T2a所表示的“12”。
也就是說,由于該游程-級(jí)別對(duì)(Lev,Run)這種情況中為(-2,1),則如下計(jì)算Lev1和Lev2。
Lev1=Lev·(1/2)=-1Lev2=|Lev1·2-Lev1|=|-1·2-(-2)=0因此,(Lev1,Run)為(-1,1),并且根據(jù)第一代碼表,該游程-級(jí)別對(duì)對(duì)應(yīng)于代碼號(hào)(Code=6)(參見圖42)。
然后,通過采用公式(2)計(jì)算對(duì)應(yīng)于該游程-級(jí)別對(duì)(Lev,Run)的代碼號(hào)=(-2,1)2×(Code-Lev2)=2×(6-0)=12圖15(a)中的代碼表的特征在于較小的代碼號(hào)(即,較短的代碼字)被分配到這樣的游程-級(jí)別對(duì),該游程-級(jí)別對(duì)與圖42中所示的代碼表(第一代碼表)相比由較小的游程數(shù)值和較大級(jí)別數(shù)值所構(gòu)成,并且這適合于量化參數(shù)QP較小的情況。
圖15(b)示出第二代碼表的另一個(gè)例子,即,適用于量化參數(shù)QP較大的情況中的第二代碼表T2b。
該第二代碼表T2b如下形成。
首先,對(duì)應(yīng)于游程數(shù)值Run的1/2的數(shù)值被分配為游程數(shù)值Run1,并且(Run1×2-Run)的絕對(duì)值被分配為游程數(shù)值Run2。在此,當(dāng)該游程數(shù)值為奇數(shù)時(shí),對(duì)應(yīng)于(Run+1)的1/2的數(shù)值被分配到游程數(shù)值Run1。
然后,根據(jù)級(jí)別數(shù)值Lev和游程數(shù)值Run1的組合,從第一代碼表(參見圖42)獲得,對(duì)應(yīng)于一對(duì)級(jí)別數(shù)值Lev和游程數(shù)值Run1的代碼號(hào)Code。
另外,當(dāng)Lev值為正數(shù)時(shí)根據(jù)下面的公式(3),以及當(dāng)Lev值為負(fù)數(shù)時(shí)根據(jù)公式(4)轉(zhuǎn)換對(duì)應(yīng)于一對(duì)級(jí)別數(shù)值Lev和游程數(shù)值Run1的代碼號(hào)Code。該第二代碼表T2b示出該代碼號(hào)和作為轉(zhuǎn)換的結(jié)果而獲得的游程-級(jí)別對(duì)之間的對(duì)應(yīng)關(guān)系。
2×(Code+Run2)-1…(3)2×(Code+Run2)-2…(4)例如,當(dāng)把注意力放在圖42的代碼表(第一代碼表)中的一個(gè)游程-級(jí)別對(duì)(級(jí)別=-1,游程=2)時(shí),對(duì)應(yīng)于該游程-級(jí)別對(duì)的代碼號(hào)Code被從由圖42中的第一代碼表T1所表示的“12”轉(zhuǎn)換為由圖15(b)中的第二代碼表T2b所表示“10”。
更加具體來說,由于在這種情況中的游程-級(jí)別對(duì)(Lev,Run)為(-1,2),因此如下計(jì)算Run1和Run2。
Run1=Run·(1/2)=1Run2=|Run1·2-Run|=|1·2-2|=0因此,(Lev,Run1)為(-1,1),并且根據(jù)第一代碼表,該游程-級(jí)別對(duì)對(duì)應(yīng)于一個(gè)代碼號(hào)(code=6)。
然后,通過使用公式(4)計(jì)算對(duì)應(yīng)于該游程-級(jí)別對(duì)(Lev,Run)=(-1,2)的一個(gè)代碼號(hào)2×(Code+Run2)=2×(6-0)-2=10
圖15(b)中所示的第二代碼表T2b的特征在于較少的代碼號(hào)(即,較短代碼)被分配到這樣的游程-級(jí)別對(duì),其與圖42中所示的代碼表(第一代碼表)T1相比由較大游程數(shù)值和家小級(jí)別數(shù)值所構(gòu)成,并且這適用于量化參數(shù)QP較大的情況。
圖16示出由游程長(zhǎng)度編碼單元RLE2根據(jù)第一代碼表形成第二代碼表的另一個(gè)例子。在此,該第一代碼表與圖42中所示的用于常規(guī)游程長(zhǎng)度編碼單元RLE0c中的代碼表T1相同。
該數(shù)目變換器CodeTrans根據(jù)從位置計(jì)算器PosClc輸出的被編碼系數(shù)的數(shù)目Pos,計(jì)算在要被處理的目標(biāo)塊中的未編碼分量的數(shù)目(還沒有受到編碼處理的系數(shù)的數(shù)目)。另外,從第一代碼表形成的第二代碼表不包括對(duì)應(yīng)于包含超過未編碼分量的數(shù)目的游程數(shù)值的游程-級(jí)別對(duì)的代碼字。從而,能夠以較高的壓縮效率進(jìn)行編碼。
圖16(a)示出當(dāng)未編碼分量的數(shù)目為3或更大時(shí)所形成的第二代碼表T2c。圖16(b)示出當(dāng)未編碼分量的數(shù)目為2時(shí)形成的第二代碼表T2d。圖16(c)示出當(dāng)未編碼分量的數(shù)目1時(shí)所形成的第二代碼表T2e。
如上文所述,當(dāng)在包括不會(huì)使用的游程數(shù)值的游程-級(jí)別對(duì)和代碼之間的對(duì)應(yīng)關(guān)系被從該代碼表刪除時(shí),一個(gè)較短代碼被分配到該游程-級(jí)別對(duì)。例如,根據(jù)如圖16(c)中所示的第二代碼表T2e,由一個(gè)游程數(shù)值
和一個(gè)級(jí)別數(shù)值[4]所構(gòu)成的一個(gè)游程-級(jí)別對(duì)對(duì)應(yīng)于一個(gè)代碼號(hào)[7]。根據(jù)如圖16(b)中所示的第二代碼表T2b,由游程數(shù)值
和級(jí)別數(shù)值[4]所構(gòu)成的游程-級(jí)別對(duì)對(duì)應(yīng)于一個(gè)代碼號(hào)[11],并且根據(jù)如圖16(a)中所示的第二代碼表T2c,由游程數(shù)值
和級(jí)別數(shù)值[4]所構(gòu)成的游程-級(jí)別對(duì)對(duì)應(yīng)于具有更大數(shù)值(未示出)的一個(gè)代碼號(hào)。
圖17示出根據(jù)第三實(shí)施例的圖像編碼裝置103的游程長(zhǎng)度編碼單元RLE2的編碼次序的一個(gè)例子。
通常,對(duì)應(yīng)于低頻分量的級(jí)別數(shù)值的絕對(duì)值較大,并且在該代碼表中,具有較大數(shù)值的代碼號(hào)Code對(duì)應(yīng)于與低頻分量相對(duì)應(yīng)的游程-級(jí)別對(duì)。相反,對(duì)應(yīng)于高頻分量的級(jí)別數(shù)值的絕對(duì)值較小,并且在該代碼表中,具有較小數(shù)值的代碼表對(duì)應(yīng)于與高頻分量相對(duì)應(yīng)的游程-級(jí)別對(duì)。
如參照?qǐng)D16所述,通過從該代碼表刪除對(duì)應(yīng)于包括超過未編碼分量的數(shù)目的游程數(shù)值的游程-級(jí)別對(duì)的代碼號(hào)(代碼字)而獲得的壓縮效率的增量隨著未編碼分量的數(shù)目變小而增大,以及隨著級(jí)別數(shù)值的絕對(duì)值的變大而增大,因?yàn)榕c沒有刪除代碼號(hào)的情況相比,被分配的代碼號(hào)的數(shù)值減小的比率變大。
因此,當(dāng)在由游程長(zhǎng)度編碼單元RLE2對(duì)被量化分量編碼中具有級(jí)別數(shù)值的較大絕對(duì)值并且對(duì)應(yīng)于低頻分量的級(jí)別數(shù)值的被量化分量被較后地編碼,類似于根據(jù)第三實(shí)施例的圖像編碼裝置103,該壓縮效率被進(jìn)一步增加。
更加具體來說,該重新排序單元ReOdr對(duì)被量化分量重新排序,以使其從對(duì)應(yīng)于高頻分量的一個(gè)被量化分量(最后的非零分量)的游程-級(jí)別對(duì)到對(duì)應(yīng)于低頻分量的被量化分量的游程-級(jí)別對(duì)順序排列,如圖17中的箭頭X1至X7中所示,以把表示在一個(gè)目標(biāo)塊中的最后被編碼分量的一個(gè)EOB添加在對(duì)應(yīng)于具有最低頻率分量的一個(gè)被量化分量的游程-級(jí)別對(duì)的代碼字之后,從而增加壓縮效率。
另外,在第三實(shí)施例中,該量化參數(shù)QP和VLC選擇信號(hào)VlcSel被提供到可變長(zhǎng)度編碼器LVLC、游程轉(zhuǎn)換器RunConv、重新排序單元ReOdr以及數(shù)目變換器CodeTrans。因此,可以根據(jù)量化參數(shù)QP改變一個(gè)代碼表,或者可以根據(jù)圖像的內(nèi)容(該圖像的運(yùn)動(dòng)值、運(yùn)動(dòng)的復(fù)雜度或者圖案的細(xì)節(jié))從外部選擇一個(gè)適當(dāng)?shù)拇a表。
例如,當(dāng)用于該編碼處理中的代碼表被根據(jù)來自該圖像編碼裝置外部的VLC選擇信號(hào)VlcSel而改變時(shí),該圖像解碼裝置可以創(chuàng)建由僅僅具有一個(gè)代碼表的解碼單元來解碼的一個(gè)數(shù)據(jù)流。
在該第三實(shí)施例中,對(duì)作為要被處理的目標(biāo)數(shù)據(jù)的圖像信號(hào)的被量化系數(shù)編碼的該圖像編碼裝置103包括游程長(zhǎng)度編碼單元RLE2,其使用一個(gè)代碼表把可變長(zhǎng)度代碼分配到該被量化系數(shù),并且該游程長(zhǎng)度編碼單元RLE2根據(jù)該第一代碼表形成對(duì)要被處理的編碼數(shù)據(jù)優(yōu)化的第二代碼表,并且根據(jù)量化參數(shù)QP或VLC選擇信號(hào)VlcSel選擇第一和第二代碼表之一作為用于可變長(zhǎng)度代碼的分配的一個(gè)代碼表。因此,可以有效地除去包含在目標(biāo)數(shù)據(jù)中的冗余信息,從而進(jìn)一步增加用于圖像信號(hào)等等的壓縮比。
在該第三實(shí)施例中,游程長(zhǎng)度編碼單元RLE2包括用于增加壓縮比的各種設(shè)備,即,游程轉(zhuǎn)換器RunConv、級(jí)別轉(zhuǎn)換器LevConv、重新排序單元ReOdr和數(shù)目變換器CodeTrans,如圖14中所示。但是,該游程長(zhǎng)度編碼單元RLE2可以僅僅包含用于增加該壓縮比的一些設(shè)備。在這種情況中,可以容易地安裝該游程長(zhǎng)度編碼單元RLE2。
另外,在第三實(shí)施例中,通過在構(gòu)成第一代碼表的部分中改變?cè)撚纬?級(jí)別對(duì)和代碼號(hào)之間的對(duì)應(yīng)關(guān)系而獲得第二代碼表可以通過算術(shù)運(yùn)算(定期地構(gòu)建VLC)而定期產(chǎn)生的部分,以及不能夠定期產(chǎn)生的部分(表查找VLC)。但是,當(dāng)該第一代碼表具有可以由算術(shù)運(yùn)算定期產(chǎn)生(定期地構(gòu)建VLC)的部分以及不能夠定期產(chǎn)生的部分(表查找VLC)時(shí),該第二代碼表可以通過僅僅改變作為可以定期地通過容易執(zhí)行的運(yùn)算而產(chǎn)生的第一代碼表的部分而形成。在這種情況中,可以更加容易地執(zhí)行游程長(zhǎng)度編碼單元RLE2的安裝。
根據(jù)該第三實(shí)施例,在通過使用游程-級(jí)別對(duì)執(zhí)行被量化分量的可變長(zhǎng)度編碼的游程長(zhǎng)度編碼單元中,該被量化分量被從高頻分量到低頻分量連續(xù)地受到可變長(zhǎng)度編碼。但是,不用說,在使得對(duì)應(yīng)于在該目標(biāo)塊中的被量化分量的游程數(shù)值和級(jí)別數(shù)值分別受到類似于第一實(shí)施例中的可變長(zhǎng)度編碼處理的游程長(zhǎng)度編碼單元中,對(duì)應(yīng)于在該目標(biāo)塊中的被量化分量的游程數(shù)值和級(jí)別數(shù)值可以從高頻分量到低頻分量連續(xù)地受到可變長(zhǎng)度編碼處理。
圖18為用于說明根據(jù)本發(fā)明第四實(shí)施例的圖像解碼裝置的方框圖。
根據(jù)第四實(shí)施例的圖像解碼裝置104包括游程長(zhǎng)度解碼單元RLD2,其根據(jù)量化參數(shù)QP或可變長(zhǎng)度解碼選擇信號(hào)(VLD選擇信號(hào))VldSel使得編碼流Str2受到可變長(zhǎng)度解碼處理,并且輸出解碼的量化分量DQS,其取代如圖40中所示的常規(guī)圖像解碼裝置202c中的使得編碼流Str0c受到可變長(zhǎng)度解碼處理并且輸出解碼的量化分量DQS的游程長(zhǎng)度解碼單元RLD0c。根據(jù)第四實(shí)施例的圖像解碼裝置104的其他部分與常規(guī)圖像解碼裝置202c中的部分相同。
更加具體來說,該游程長(zhǎng)度解碼單元RLD2類似于常規(guī)游程長(zhǎng)度解碼單元RLD0c,具有第一代碼表T1(參見圖42),其根據(jù)該游程數(shù)值和級(jí)別數(shù)值的組合表示一對(duì)游程數(shù)值和級(jí)別數(shù)值(在下文中稱為游程-級(jí)別對(duì))和相應(yīng)代碼之間的對(duì)應(yīng)關(guān)系。然后,該游程長(zhǎng)度解碼單元RLD2根據(jù)該第一代碼表定期地改變?cè)谠谟纬?級(jí)別對(duì)和該第一代碼表中的代碼之間的對(duì)應(yīng)關(guān)系,以形成具有不同于第一代碼表的不同對(duì)應(yīng)關(guān)系的第二代碼表,并且根據(jù)從量化單元Q輸出的量化參數(shù)QP或者來自外部的VLD選擇信號(hào)VldSel選擇第一和第二代碼表之一,并且根據(jù)所選擇的代碼表,把構(gòu)成該編碼流Str2的代碼表(位串)轉(zhuǎn)換為與在要被處理的目標(biāo)數(shù)據(jù)中的系數(shù)相關(guān)的游程數(shù)值和級(jí)別數(shù)值對(duì)。
如上文所述,該量化參數(shù)QP是表示量化步驟的數(shù)值的一個(gè)參數(shù),并且該量化步驟近似于與量化參數(shù)QP成比例。更加具體來說,當(dāng)量化參數(shù)QP較大時(shí),該被量化分量具有較小的絕對(duì)值,然后被量化分量的零游程(其數(shù)值為零的連續(xù)分量的長(zhǎng)度)變得更長(zhǎng),并且因此級(jí)別數(shù)值具有更小的絕對(duì)值。在這種情況中,相應(yīng)地,選擇這樣一個(gè)代碼表,其中較小代碼被分配到由較大游程數(shù)值和較小級(jí)別數(shù)值的游程-級(jí)別對(duì),從而進(jìn)一步提高編碼效率。相反,當(dāng)量化參數(shù)QP較小時(shí),該被量化分量具有絕對(duì)值,因此選擇這樣一個(gè)代碼表,其中較小代碼被分配到由較小游程數(shù)值和較大級(jí)別數(shù)值所構(gòu)成的游程-級(jí)別對(duì),從而增加編碼效率。
圖19未示出游程長(zhǎng)度解碼單元RLD2的具體結(jié)構(gòu)的方框圖。
該游程長(zhǎng)度解碼單元RLD2與常規(guī)游程長(zhǎng)度解碼單元RLD0c同樣具有可變長(zhǎng)度解碼器VLD,并且該解碼器VLD解碼從根據(jù)第三實(shí)施例的圖像編碼裝置103輸出的編碼流Str2,并且輸出一個(gè)代碼號(hào)ExtCode。
在該第四實(shí)施例中,該游程長(zhǎng)度解碼單元RLD2具有一個(gè)數(shù)目反變換器ICodeTrans,用于執(zhí)行數(shù)目反變換處理,以根據(jù)量化參數(shù)QP或VLD選擇信號(hào)VldSel,把代碼號(hào)ExtCode分為對(duì)應(yīng)于由級(jí)別數(shù)值Lev1和游程數(shù)值Run1、級(jí)別數(shù)值Lev2以及游程數(shù)值Run2所構(gòu)成的游程-級(jí)別高位數(shù)字對(duì);以及反重新排序單元IReOdr,用于把對(duì)應(yīng)于要被處理的一個(gè)目標(biāo)塊的多個(gè)代碼號(hào)PrmCode按照與游程-級(jí)別對(duì)的增加頻率的次序重新排序,并且輸出對(duì)應(yīng)于該目標(biāo)塊和具有改變的次序的多個(gè)代碼號(hào)Code。
該游程長(zhǎng)度解碼單元RLD2進(jìn)一步包括游程級(jí)別檢測(cè)器RunLevDec,用于根據(jù)代碼表或算術(shù)運(yùn)算檢測(cè)對(duì)應(yīng)于代碼號(hào)Code的一個(gè)游程-級(jí)別對(duì),并且輸出由該游程-級(jí)別對(duì)所構(gòu)成的級(jí)別數(shù)值Lev1和游程數(shù)值Run1;游程反轉(zhuǎn)換器IRunConv,用于從表示游程數(shù)值Run的高位數(shù)字的游程數(shù)值Run1和表示游程數(shù)值Run的低位數(shù)字的游程數(shù)值Run2重構(gòu)一個(gè)游程數(shù)值Run;以及級(jí)別反轉(zhuǎn)換器ILevConv,用于從表示級(jí)別數(shù)值Lev的高位數(shù)字和級(jí)別數(shù)值Lev1和表示級(jí)別數(shù)值Lev的低位數(shù)字的級(jí)別數(shù)值Lev2重構(gòu)一個(gè)級(jí)別數(shù)值Lev。
該游程長(zhǎng)度解碼單元RLD2與游程長(zhǎng)度解碼單元RLD0c相同進(jìn)一步包括反曲折掃描儀IScan。該反曲折掃描儀IScan把由級(jí)別數(shù)值Lev和游程數(shù)值Run所表示的一維陣列的被量化分量變換為二維陣列的解碼的量化分量DQS,并且輸出。
在此,在游程長(zhǎng)度解碼單元RLD2中的可變長(zhǎng)度解碼器VLD、游程級(jí)別檢測(cè)器RunLevDec和反曲折掃描儀IScan與在圖41中所示的游程長(zhǎng)度解碼單元RLD0c相同。
下面將描述其功能和效果。
在游程長(zhǎng)度解碼單元RLD2中,該可變長(zhǎng)度解碼器VLD執(zhí)行與可變長(zhǎng)度編碼器VLC相反的操作。也就是說,該可變長(zhǎng)度解碼器VLD解碼編碼流Str2,并且輸出對(duì)應(yīng)于構(gòu)成該流的代碼字(位串)的一個(gè)代碼號(hào)ExtCode。該數(shù)目反變換器ICodeTrans根據(jù)量化參數(shù)QP或VLD選擇信號(hào)VldSel執(zhí)行與數(shù)目變換器CodeTrans相反的操作,以把代碼號(hào)ExtCode分為與由級(jí)別數(shù)值Lev1和游程數(shù)值Run1、級(jí)別數(shù)值Lev2和游程數(shù)值Run2所構(gòu)成的游程-級(jí)別高位數(shù)字對(duì)的一個(gè)代碼號(hào)PrmCode。
該反重新排序單元IReOdr根據(jù)量化參數(shù)QP或VLD選擇信號(hào)VldSel執(zhí)行與重新排序單元ReOdr相反的操作。從而,按照游程-級(jí)別對(duì)的增加頻率的次序?qū)εc要被處理的目標(biāo)塊相對(duì)應(yīng)的多個(gè)代碼號(hào)PrmCode執(zhí)行重新排序,并且輸出具有改變的次序并且對(duì)應(yīng)于該塊的多個(gè)代碼號(hào)Code。該游程級(jí)別檢測(cè)器RunLevDec根據(jù)一個(gè)代碼表或算術(shù)運(yùn)算檢測(cè)對(duì)應(yīng)于代碼號(hào)Code的游程-級(jí)別對(duì),并且輸出構(gòu)成所檢測(cè)的游程-級(jí)別對(duì)的級(jí)別數(shù)值Lev1和游程數(shù)值Run1。
該游程反轉(zhuǎn)換器IRunConv根據(jù)量化參數(shù)QP或VLD選擇信號(hào)VldSel執(zhí)行與游程轉(zhuǎn)換器RunConv相反的操作,以從表示游程數(shù)值Run的高位數(shù)字的游程數(shù)值Run1和表示游程數(shù)值Run的多個(gè)位置的游程數(shù)值Run2重構(gòu)該游程數(shù)值Run。另外,該級(jí)別反轉(zhuǎn)換器ILevConv根據(jù)量化參數(shù)QP或VLD選擇信號(hào)VldSel執(zhí)行與級(jí)別轉(zhuǎn)換器LevConv相反的操作,以從表示級(jí)別數(shù)值Lev的高位數(shù)字的級(jí)別數(shù)值Lev1和表示級(jí)別數(shù)值LeV的低位數(shù)字的級(jí)別數(shù)值Lev2重構(gòu)該級(jí)別數(shù)值Lev。
在此,在數(shù)目反變換器ICodeTrans、反重新排序單元IReOdr、游程反轉(zhuǎn)換器IRunConv和級(jí)別反轉(zhuǎn)換器ILevConv中,根據(jù)量化參數(shù)QP和VLD選擇信號(hào)VldSel執(zhí)行第一或第二代碼表的選擇,并且根據(jù)所選擇的代碼表執(zhí)行該操作。
反曲折掃描儀IScan執(zhí)行與曲折掃描儀Scan相反的操作,以根據(jù)級(jí)別數(shù)值Lev和游程數(shù)值Run把由級(jí)別數(shù)值Lev和游程數(shù)值Run所表示的一維陣列的被量化分量變換為二維陣列的解碼的量化分量DQS。
另外,當(dāng)VLD選擇信號(hào)VldSel被從外部輸入時(shí),該游程長(zhǎng)度解碼單元RLD2選擇對(duì)應(yīng)于由VLD選擇信號(hào)VldSel所表示的圖像內(nèi)容(圖像運(yùn)動(dòng)的數(shù)值、運(yùn)動(dòng)的復(fù)雜度、圖案的細(xì)節(jié))的適當(dāng)代碼表。
在該第四實(shí)施例中,量化參數(shù)QP和VLD選擇信號(hào)VldSel被分別提供到數(shù)目反變換器ICodeTrans、反重新排序單元IReOdr、游程反轉(zhuǎn)換器IRunConv、以及級(jí)別反轉(zhuǎn)換器ILevConv。因此,一個(gè)代碼表可以根據(jù)量化參數(shù)QP而改變,或者根據(jù)圖像的特性,即,圖像運(yùn)動(dòng)的數(shù)值、運(yùn)動(dòng)的復(fù)雜度、圖案的細(xì)節(jié)等等,從該圖像解碼裝置的外部選擇一個(gè)適當(dāng)?shù)拇a表。
如上文所述,在該第四實(shí)施例中,對(duì)通過一個(gè)圖像信號(hào)的被量化系數(shù)的可變長(zhǎng)度編碼而獲得的被編碼數(shù)據(jù)進(jìn)行解碼的圖像解碼裝置104包括使用一個(gè)代碼表用于把一個(gè)可變長(zhǎng)度代碼轉(zhuǎn)換為被量化分量的游程長(zhǎng)度解碼單元RLD2。另外,該游程長(zhǎng)度解碼單元RLD2根據(jù)該第一代碼表形成對(duì)要被處理的目標(biāo)數(shù)據(jù)優(yōu)化的第二代碼表,并且根據(jù)量化參數(shù)QP或VLD選擇信號(hào)VldSel,選擇第一和第二代碼表之一作為在把可變長(zhǎng)度代碼轉(zhuǎn)換為被量化系數(shù)中所采用的代碼表。因此,能夠滿意地執(zhí)行對(duì)應(yīng)于可以有效地除去包含在要被處理的目標(biāo)數(shù)據(jù)中的冗余信息的可變長(zhǎng)度編碼處理的解碼處理。
在該第四實(shí)施例中,如圖19中所示,游程長(zhǎng)度解碼單元RLD2具有用于增加壓縮比的各種設(shè)備,即,數(shù)目反變換器ICodeTrans、反重新排序單元IReOdr、游程反轉(zhuǎn)換器IRunConv以及級(jí)別反轉(zhuǎn)換器ILevConv,并且該游程長(zhǎng)度解碼單元RLD2可以僅僅具有這樣用于增加壓縮比的設(shè)備中的一些設(shè)備。在這種情況中,游程長(zhǎng)度解碼單元RLD2可以被更加容易地安裝。
另外,在第四實(shí)施例中,通過在構(gòu)成第一代碼表的部分中改變?cè)撚纬?級(jí)別對(duì)和代碼號(hào)之間的對(duì)應(yīng)關(guān)系而形成第二代碼表可以通過算術(shù)運(yùn)算(定期地構(gòu)建VLC)而定期產(chǎn)生的部分,以及不能夠定期產(chǎn)生的部分(表查找VLC)。但是,當(dāng)該第一代碼表具有可以由算術(shù)運(yùn)算定期產(chǎn)生(定期地構(gòu)建VLC)的部分以及不能夠定期產(chǎn)生的部分(表查找VLC)時(shí),該第二代碼表可以通過僅僅改變作為可以定期地通過容易執(zhí)行的運(yùn)算而產(chǎn)生的第一代碼表的部分而形成。在這種情況中,可以更加容易地執(zhí)行游程長(zhǎng)度解碼單元RLD2的安裝。
根據(jù)該第四實(shí)施例,在通過使用游程-級(jí)別對(duì)執(zhí)行對(duì)應(yīng)于被量化分量的編碼數(shù)據(jù)的可變長(zhǎng)度解碼的游程長(zhǎng)度解碼單元中,從高頻分量到低頻分量連續(xù)地執(zhí)行對(duì)應(yīng)于被量化分量的編碼數(shù)據(jù)的可變長(zhǎng)度解碼。但是,在使得對(duì)應(yīng)于一個(gè)目標(biāo)塊中的被量化分量的游程數(shù)值和級(jí)別數(shù)值的被編碼數(shù)據(jù)分別受到與第二實(shí)施例中相同的可變長(zhǎng)度解碼的可變長(zhǎng)度解碼單元中,對(duì)應(yīng)于該目標(biāo)塊的被量化分量的游程數(shù)值和級(jí)別數(shù)值的被編碼數(shù)據(jù)從高頻分量到低頻分量連續(xù)地受到可變長(zhǎng)度解碼。
圖20為用于說明根據(jù)本發(fā)明第五實(shí)施例的圖像編碼裝置的方框圖。
該圖像編碼裝置105包括取代在如圖13中所示的根據(jù)第三實(shí)施例的圖像編碼裝置103中的游程長(zhǎng)度編碼單元RLE2的游程長(zhǎng)度編碼單元RLE3,其編碼一個(gè)游程-級(jí)別對(duì)以及非零分量的數(shù)目,類似于游程長(zhǎng)度編碼單元RLE2。根據(jù)第五實(shí)施例的圖像編碼裝置105的其他部分與根據(jù)第三實(shí)施例的圖像編碼裝置103中的部分相同。
圖21示出在圖像編碼裝置105中的游程長(zhǎng)度編碼單元RLE3的具體結(jié)構(gòu)。
取代在如圖14中所示的根據(jù)第三實(shí)施例的游程長(zhǎng)度編碼單元RLE2中的位置計(jì)算器PosClc,根據(jù)第五實(shí)施例的游程長(zhǎng)度編碼單元RLE3具有非零系數(shù)計(jì)算器NZcount,用于根據(jù)所輸入的被量化分量計(jì)數(shù)非零分量的數(shù)目NZnum;以及位置計(jì)算器PosClc2,用于根據(jù)非零分量的計(jì)數(shù)數(shù)目NZnum和由游程計(jì)算器RunCal所計(jì)算的游程數(shù)值Run計(jì)算被編碼系數(shù)的數(shù)目Pos2。
根據(jù)第五實(shí)施例的游程長(zhǎng)度編碼單元RLE3對(duì)來自數(shù)目變換器CodeTrans的輸出(代碼號(hào))ExtCode進(jìn)行編碼,并且編碼非零分量的數(shù)目NZnum,這與根據(jù)第三實(shí)施例的游程長(zhǎng)度編碼單元RLE2的可變長(zhǎng)度編碼器VLC不同。
游程長(zhǎng)度編碼單元RLE3的其他部分與根據(jù)第三實(shí)施例的游程長(zhǎng)度編碼單元RLE2相同。
下面將描述其功能和效果。
在根據(jù)第五實(shí)施例的圖像編碼裝置105中的分塊單元Blk、頻率變換單元Trans以及量化單元Q的操作與根據(jù)第三實(shí)施例的圖像編碼裝置103的操作相同。另外,除了根據(jù)第五實(shí)施例的游程長(zhǎng)度編碼單元RLE3中的非零系數(shù)計(jì)算器NZcount、位置計(jì)算器PosClc2、數(shù)目變換器CodeTrans以及可變長(zhǎng)度編碼器VLC2之外的其他部分的操作,即,曲折掃描儀Scan、游程計(jì)算器RunCal、級(jí)別計(jì)算器LevCal、游程轉(zhuǎn)換器RunConv、級(jí)別轉(zhuǎn)換器LevConv、游程級(jí)別編碼器RunLevEnc以及重新排序單元ReOdr的操作與根據(jù)第三實(shí)施例的游程長(zhǎng)度編碼單元RLE2的操作相同。因此,在此將主要描述非零系數(shù)計(jì)算器NZcount、位置計(jì)算器PosClc2、數(shù)目變換器CodeTrans和可變長(zhǎng)度編碼器VLC2的操作。
當(dāng)從量化單元Q輸出的量化分量QS被輸入到游程長(zhǎng)度編碼單元RLE3時(shí),在游程長(zhǎng)度編碼單元RLE3中的非零系數(shù)計(jì)算器NZcount根據(jù)量化分量QS計(jì)數(shù)對(duì)應(yīng)于各個(gè)塊的多個(gè)被量化分量,并且把所獲得的非零分量的數(shù)目NZnum輸出到位置計(jì)算器PosClc2和可變長(zhǎng)度編碼器VLC2。
該位置計(jì)算器PosClc2根據(jù)來自非零系數(shù)計(jì)算器NZcount的非零分量的數(shù)目NZnum和來自游程計(jì)算器RunCal的游程數(shù)值Run,計(jì)算在一個(gè)目標(biāo)塊中的被編碼的零分量的數(shù)目和非零分量的數(shù)目之和,并且輸出所獲得的數(shù)值Pos2。
該數(shù)目變換器CodeTrans根據(jù)游程-級(jí)別高位數(shù)字對(duì)和代碼號(hào)ReOdrCode之間的對(duì)應(yīng)關(guān)系,輸出對(duì)應(yīng)于來自級(jí)別數(shù)值Lev2和游程數(shù)值Run2的代碼號(hào)ExtCode。在此時(shí),該數(shù)目變換器CodeTrans采用從位置計(jì)算器PosClc2輸出的所計(jì)算數(shù)值Pos2,以獲得在該目標(biāo)塊中的未編碼分量的數(shù)目。
在此,根據(jù)具有不同于第一代碼表的在游程-級(jí)別對(duì)和代碼號(hào)之間的對(duì)應(yīng)關(guān)系的第二代碼表獲得從數(shù)目變換器CodeTrans輸出的對(duì)應(yīng)于一個(gè)游程-級(jí)別對(duì)的代碼號(hào)ExtCode。該第二代碼表如下形成首先通過在重新排序單元ReOdr中的重新排序處理形成具有與第一代碼表不同在游程-級(jí)別對(duì)和代碼號(hào)之間的對(duì)應(yīng)關(guān)系的一個(gè)代碼表,然后通過根據(jù)所計(jì)算數(shù)值Pos2由數(shù)目變換器CodeTrans改變由重新排序單元ReOdr所形成的代碼表,使得具有大于在該代碼表中的最大游程數(shù)值Run的游程數(shù)值的游程-級(jí)別對(duì)對(duì)應(yīng)于不被分配代碼的代碼號(hào)ExtCode。
該可變長(zhǎng)度編碼器VLC2對(duì)非零分量的數(shù)目NZnum編碼,并且執(zhí)行對(duì)代碼號(hào)ExtCode的編碼,以把一個(gè)位串(代碼字)分配到代碼號(hào)ExtCode,以產(chǎn)生一個(gè)編碼流Str3。
在下文中,將具體描述可變長(zhǎng)度編碼器VLC2的操作。
與根據(jù)第三實(shí)施例的可變長(zhǎng)度編碼器VLC不同,根據(jù)第五實(shí)施例的可變長(zhǎng)度編碼器VLC2不但編碼對(duì)應(yīng)于一個(gè)目標(biāo)塊的游程-級(jí)別對(duì)的代碼號(hào)ExtCode,而且在編碼該塊的代碼號(hào)ExtCode之前還編碼在該目標(biāo)塊中的非零分量的數(shù)目NZnum。
如上文所述,當(dāng)在編碼一個(gè)塊的代碼號(hào)ExtCode之前編碼非零分量的數(shù)目NZnum時(shí),首先可以在解碼時(shí)對(duì)該目標(biāo)塊的非零分量的數(shù)目NZnum進(jìn)行解碼,并且當(dāng)已經(jīng)重構(gòu)對(duì)應(yīng)于非零分量的數(shù)目NZnum的游程-級(jí)別對(duì)時(shí),檢查在該目標(biāo)塊中的最后游程-級(jí)別對(duì)的重構(gòu)是否已經(jīng)完成。從而,該可變長(zhǎng)度編碼器VLC2不需要由根據(jù)第三實(shí)施例的可變長(zhǎng)度編碼器VLC所需的在該目標(biāo)塊結(jié)束時(shí)編碼的一個(gè)特定數(shù)值EOB(在最后的非零分量之后發(fā)送的一個(gè)數(shù)值)。
接著,將具體描述位置計(jì)算器PosClc2和數(shù)目變換器CodeTrans的操作。
假設(shè)一個(gè)目標(biāo)塊包括NBlock量化參數(shù)QP(包括零分量和非零分量),根據(jù)在該目標(biāo)塊中的非零分量的數(shù)目NZnum,最大游程長(zhǎng)度(連續(xù)零系數(shù)的最大數(shù)目)為(NBlock-NZnum)。另外,當(dāng)?shù)谝挥纬?級(jí)別對(duì)的編碼已經(jīng)完成時(shí)的最大游程數(shù)值(連續(xù)零系數(shù)的最大數(shù)目)MaxRun(1)由下述公式(5)使用該目標(biāo)塊的第一游程-級(jí)別對(duì)的游程數(shù)值FRun來表示。
MaxRun(1)=NBlock-NZnum-FRun…(5)通常,在一個(gè)塊中的第i個(gè)游程-級(jí)別對(duì)的編碼已經(jīng)完成時(shí)的最大游程數(shù)值MaxRun(i)由下述公式(6)來表示。
MaxRun(i)=NBlock-NZnum-{第一~第i游程數(shù)值之和}…(6)因此,位置計(jì)算器PosClc2輸出由下列公式(7)所表示的所計(jì)算數(shù)值Pos2,從而向數(shù)目變換器CodeTrans表明該最大游程數(shù)值MaxRun(i)是由公式(8)所表示的一個(gè)數(shù)值。
Pos2=NZnum+{第一~第i游程數(shù)值之和}…(7)MaxRun(i)=NBlock-Pos2…(8)該數(shù)目變換器CodeTrans形成第二代碼表,其中不被分配代碼的代碼號(hào)ExtCode對(duì)應(yīng)于具有大于最大游程數(shù)值MaxRun的游程數(shù)值。從而,消除由于把代碼分配到不會(huì)出現(xiàn)的游程-級(jí)別對(duì)的編碼處理中的冗余,從而增加壓縮比。
當(dāng)由通過算術(shù)運(yùn)算所產(chǎn)生的第一部分(定期地構(gòu)建VLC)和不能夠由算術(shù)運(yùn)算所產(chǎn)生的第二部分(表查找VLC)所構(gòu)成的一個(gè)可變長(zhǎng)度代碼表被用作為對(duì)被量化分量執(zhí)行可變長(zhǎng)度編碼處理的第一和第二代碼表時(shí),可以通過根據(jù)最大游程數(shù)值改變?cè)诘谝淮a表中的第一和第二部分而形成該第二代碼表,或者通過僅僅改變可以根據(jù)最大游程數(shù)值容易執(zhí)行的算術(shù)運(yùn)算所產(chǎn)生的第一代碼表中的第一部分而形成第二代碼表。
另外,當(dāng)根據(jù)在已經(jīng)完成第i個(gè)游程-級(jí)別對(duì)的編碼時(shí)的最大游程數(shù)值MaxRun(i)改變可變長(zhǎng)度代碼表時(shí),不是把該代碼表改變?yōu)闆]有把代碼被分配到具有大于最大游程數(shù)值MaxRun(i)的游程數(shù)值Run的游程-級(jí)別對(duì)的代碼表,可以把一個(gè)可變長(zhǎng)度代碼表直接改變?yōu)椴话汛a分配給具有大于最大游程數(shù)值MaxRun(i)的游程數(shù)值Run的游程-級(jí)別對(duì)的代碼表。
圖24為示出可變長(zhǎng)度代碼表的例子。與代碼表Tb(圖24(b))相比,在一個(gè)代碼表Ta中(圖24(a)),較短代碼被分配到較小的游程數(shù)值。與代碼表Tc(圖24(c))相比,在該代碼表Tb(圖24(b))中,較短的代碼被分配到較小的游程數(shù)值。
另外,與代碼表Tb(圖24(b))相比,在該代碼表Tc(圖24(c))中,較短代碼被分配到具有較小絕對(duì)值的級(jí)別數(shù)值。與代碼表Ta(圖24(a))相比,在該代碼表Tb中,較短代碼被分配到具有較小絕對(duì)值的級(jí)別數(shù)值。
因此,當(dāng)最大游程數(shù)值MaxRun較小時(shí),最好選擇在圖24(a)中的代碼表,當(dāng)最大游程數(shù)值MaxRun較大時(shí),選擇在圖24(c)中的代碼表Tc,以及當(dāng)最大游程數(shù)值MaxRun為一個(gè)中間值時(shí),選擇在圖24(b)中的代碼表Tb。
根據(jù)第五實(shí)施例,編碼通過量化圖像信號(hào)的頻率分量而獲得的被量化系數(shù)的圖像編碼裝置105具有游程長(zhǎng)度編碼單元RLE3,其使用一個(gè)代碼表把可變長(zhǎng)度代碼分配給該被量化分量。然后,該游程長(zhǎng)度編碼單元RLE3根據(jù)在要被編碼的目標(biāo)塊中的被處理系數(shù)(被編碼系數(shù))的數(shù)目和在該目標(biāo)塊中的未編碼非零系數(shù)的數(shù)目之和,換句話說是在該目標(biāo)塊中的非零系數(shù)的數(shù)目和在該目標(biāo)塊中的已處理游程數(shù)值的數(shù)目之和,選擇刪除不會(huì)出現(xiàn)的游程-級(jí)別對(duì)的一個(gè)代碼表,從而增加可變長(zhǎng)度編碼效率。
根據(jù)該第五實(shí)施例,在通過使用游程-級(jí)別對(duì)執(zhí)行對(duì)應(yīng)于每個(gè)塊的被量化分量的可變長(zhǎng)度編碼的游程長(zhǎng)度編碼單元中,在一個(gè)目標(biāo)塊中的非零分量的數(shù)目NZnum被編碼。但是,可以在分別執(zhí)行對(duì)應(yīng)于每個(gè)塊的被量化分量的游程數(shù)值和級(jí)別數(shù)值的可變長(zhǎng)度編碼的游程長(zhǎng)度編碼單元中,執(zhí)行對(duì)一個(gè)目標(biāo)塊的非零分量的非零分量的數(shù)目NZnum的編碼,這與第一實(shí)施例相同。這種情況中,在該目標(biāo)塊中的最大游程數(shù)值可以被設(shè)置在通過從該目標(biāo)塊中的所有分量的數(shù)目減去非零分量的數(shù)目NZnum而獲得的數(shù)值。
圖22為用于說明根據(jù)本發(fā)明第六實(shí)施例的圖像解碼裝置的方框圖。
取代根據(jù)如圖18中所示的第四實(shí)施例的圖像解碼裝置104中的游程長(zhǎng)度解碼單元RLD2,根據(jù)第六實(shí)施例的圖像解碼裝置106具有游程長(zhǎng)度解碼單元RLD3,其與游程長(zhǎng)度解碼單元RLD2相同執(zhí)行對(duì)被編碼數(shù)據(jù)的解碼處理,以重構(gòu)在每個(gè)塊中的游程-級(jí)別對(duì)的數(shù)目和非零分量的數(shù)目。根據(jù)第六實(shí)施例的圖像解碼裝置106的其他部分與根據(jù)第四實(shí)施例的圖像解碼裝置104的部分相同。
圖23示出在圖像解碼裝置106中的游程長(zhǎng)度解碼單元RLD3的具體結(jié)構(gòu)。
取代在根據(jù)如圖19中所示的游程長(zhǎng)度解碼單元RLD2中的位置計(jì)算器PosClc,該第六實(shí)施例的游程長(zhǎng)度解碼單元RLD3包括一個(gè)位置計(jì)算器PosClc2,用于計(jì)算在要被解碼的一個(gè)目標(biāo)塊中的解碼的游程數(shù)值的數(shù)目和在該目標(biāo)塊中的非零分量的數(shù)目NZnum。
另外,根據(jù)第六實(shí)施例的游程長(zhǎng)度解碼單元RLD3的可變長(zhǎng)度解碼器VLD2不同于根據(jù)第四實(shí)施例的游程長(zhǎng)度解碼單元RLD2中的可變長(zhǎng)度解碼器VLD之處在于執(zhí)行用于重構(gòu)代碼號(hào)ExtCode的解碼處理和用于重構(gòu)非零分量的數(shù)目NZnum的解碼處理。
下面將描述其功能和效果。
在根據(jù)第六實(shí)施例的圖像解碼裝置106中的反量化單元IQ、反頻率變換單元ITrans和解塊單元DeBlk的操作與第四實(shí)施例的圖像解碼裝置104相同。另外,除了可變長(zhǎng)度解碼器VLD2、位置計(jì)算器PosClc2和數(shù)目反變換器ICodeTrans,根據(jù)第六實(shí)施例的游程長(zhǎng)度解碼單元RLD3的其他部分的操作,即,反重新排序單元IReOdr、游程級(jí)別檢測(cè)器RunLevDec、級(jí)別反轉(zhuǎn)換器ILevConv、游程反轉(zhuǎn)換器IRunConv和反曲折掃描儀IScan的操作與根據(jù)第四實(shí)施例的游程長(zhǎng)度解碼單元RLD2相同。因此,在下文中主要描述可變長(zhǎng)度解碼器VLD2、位置計(jì)算器PosClc2和數(shù)目反變換器ICodeTrans的操作。
該可變長(zhǎng)度解碼器VLD2解碼編碼流Str3,并且輸出對(duì)應(yīng)于由被編碼流所構(gòu)成的一個(gè)代碼字(位串)的一個(gè)代碼號(hào)ExtCode。該數(shù)目反變換器ICodeTrans根據(jù)量化參數(shù)QP或VLD選擇信號(hào)VldSel、以及被解碼系數(shù)的數(shù)目和未解碼的非零系數(shù)的數(shù)目之和Pos2,執(zhí)行與數(shù)目變換器CodeTrans相反的操作,以把代碼號(hào)ExtCode分為對(duì)應(yīng)于包括級(jí)別數(shù)值Lev1和游程數(shù)值Run1的游程-級(jí)別高位數(shù)字對(duì)的代碼號(hào)PrmCode、級(jí)別數(shù)值Lev2和游程數(shù)值Run2。
該反重新排序單元IReOdr、游程級(jí)別檢測(cè)器RunLevDec、游程反轉(zhuǎn)換器IRunConv、級(jí)別反轉(zhuǎn)換器ILevConv以及反曲折掃描儀IScan執(zhí)行與第四實(shí)施例相同的操作。
在此,數(shù)目反變換器ICodeTrans、反重新排序單元IReOdr、游程反轉(zhuǎn)換器IRunConv以及級(jí)別反轉(zhuǎn)換器ILevConv根據(jù)量化參數(shù)QP或VLD選擇信號(hào)VldSel和系數(shù)和Pos2中的至少一個(gè)選擇第一和第二代碼表之一,并且根據(jù)所選擇的代碼表執(zhí)行操作。
在下文中,將具體描述可變長(zhǎng)度解碼器VLD2的操作。
根據(jù)第六實(shí)施例的可變長(zhǎng)度解碼器VLD2不同于根據(jù)第四實(shí)施例的可變長(zhǎng)度解碼器VLD之處在于它不但解碼對(duì)應(yīng)于一個(gè)游程-級(jí)別對(duì)的代碼號(hào)ExtCode,而且還解碼在該目標(biāo)塊中的非零分量的被編碼數(shù)目NZnum。當(dāng)在第NZnum個(gè)游程-級(jí)別對(duì)已經(jīng)被解碼的情況下通過解碼獲得非零分量的數(shù)目NZnum時(shí),該第NZnum個(gè)游程-級(jí)別對(duì)被判斷為最后的游程-級(jí)別對(duì)。從而,可變長(zhǎng)度解碼器VLD2不需要一個(gè)數(shù)值EOB,該數(shù)值是可變長(zhǎng)度解碼器VLD所需的,并且在該目標(biāo)塊結(jié)束時(shí)被編碼。
例如,假設(shè)在該目標(biāo)塊中存在NBlock量化分量QS,包括零分量和非零分量,則根據(jù)在該目標(biāo)塊中的非零分量的數(shù)目NZnum,最大游程數(shù)值(連續(xù)零系數(shù)的最大數(shù)目)為(NBlock-NZnum)。另外,當(dāng)用于重構(gòu)第一游程-級(jí)別對(duì)的解碼已經(jīng)完成時(shí)的最大游程數(shù)值(連續(xù)零系數(shù)的最大數(shù)目)MaxRun(1)為如在第五實(shí)施例中所述的(NBlock-NZnum-FRun)。
通常,在已經(jīng)執(zhí)行用于重構(gòu)在一個(gè)塊中的第i個(gè)游程-級(jí)別對(duì)的解碼時(shí),最大游程數(shù)值MaxRun(i)如下獲得MaxRun(i)=Nblock-Nznum-{第1~第i個(gè)游程數(shù)值之和}因此,位置計(jì)算器PosClc2輸出系數(shù)之和Pos2[=NZnum+{第1~第i游程數(shù)值之和}],從而向數(shù)目變換器CodeTrans表明在已經(jīng)執(zhí)行用于重構(gòu)第i個(gè)游程-級(jí)別對(duì)的解碼時(shí)已經(jīng)執(zhí)行的最大游程數(shù)值為(NBlock-Pos2)。
該數(shù)目反變換器ICodeTrans采用這樣一個(gè)代碼表,其中沒有代碼被分配到對(duì)應(yīng)于由大于最大游程數(shù)值Run的游程數(shù)值所構(gòu)成的游程-級(jí)別對(duì)的代碼號(hào),以獲得對(duì)應(yīng)于一個(gè)代碼的代碼號(hào)ExtCode,從而根據(jù)避免把代碼分配到不會(huì)出現(xiàn)的游程-級(jí)別對(duì)的代碼分配而解碼分配到一個(gè)代碼號(hào)的代碼。
在此,當(dāng)由可以通過算術(shù)運(yùn)算而產(chǎn)生的第一部分(定期地構(gòu)建VLC)和不能夠定期產(chǎn)生的第二部分(表查找VLC)所構(gòu)成的一個(gè)可變長(zhǎng)度代碼表被用作為在可變長(zhǎng)度解碼處理中的第一和第二代碼表時(shí),該第二代碼表可以通過根據(jù)最大游程數(shù)值改變?cè)诘谝淮a表中的第一和第二部分而形成,并且第二代碼表可以通過根據(jù)最大游程數(shù)值僅僅改變可以由容易執(zhí)行的算術(shù)運(yùn)算所產(chǎn)生的第一代碼表的第一部分而形成。
另外,當(dāng)在已經(jīng)完成用于重構(gòu)第i個(gè)游程-級(jí)別對(duì)的解碼的情況下根據(jù)最大游程數(shù)值MaxRun改變可變長(zhǎng)度代碼表時(shí),該可變長(zhǎng)度代碼表可以被直接改變?yōu)閳D24(a)中的代碼表Ta、圖24(b)中的代碼表Tb或者圖24(c)中的代碼表Tc,取代把該代碼表改變?yōu)椴话汛a分配到包含大于最大游程數(shù)值MaxRun的游程數(shù)值的游程-級(jí)別對(duì)的代碼表的情況。
例如,當(dāng)最大游程數(shù)值MaxRun較小時(shí)最好選擇圖24(a)中的代碼表Ta,當(dāng)最大游程數(shù)值MaxRun較大時(shí)最好選擇圖24(c)中的代碼表Tc,以及當(dāng)最大游程數(shù)值MaxRun為中間數(shù)值時(shí)最好選擇圖24(b)中的代碼表Tb。
如上文所述,根據(jù)第六實(shí)施例,通過對(duì)被編碼數(shù)據(jù)的解碼處理重構(gòu)量化圖像信號(hào)的頻率分量所獲得的被量化系數(shù)的圖像解碼裝置106被提供游程長(zhǎng)度解碼單元RLD3,用于通過采用一個(gè)代碼表獲得對(duì)應(yīng)于一個(gè)可變長(zhǎng)度的被量化系數(shù)。然后,該游程長(zhǎng)度解碼單元RLD3根據(jù)在一個(gè)目標(biāo)塊中的被處理的系數(shù)(被解碼系數(shù))數(shù)目和在該目標(biāo)塊中的未解碼的非零系數(shù)的數(shù)目之和,選擇不包含不會(huì)出現(xiàn)的游程-級(jí)別對(duì)的一個(gè)代碼表。因此,可以滿意地執(zhí)行對(duì)應(yīng)于能夠根據(jù)有效地除去包含在要被處理的被量化系數(shù)中的冗余信息的可變長(zhǎng)度編碼處理的解碼處理。
根據(jù)該第六實(shí)施例,在通過使用游程-級(jí)別對(duì)執(zhí)行對(duì)每個(gè)塊的被量化分量的可變長(zhǎng)度解碼的可變長(zhǎng)度解碼單元中,在一個(gè)目標(biāo)塊中的非零分量的數(shù)目NZnum被解碼。但是,例如,在使得對(duì)應(yīng)于每個(gè)塊的被量化分量的游程數(shù)值和級(jí)別數(shù)值分別受到與第二實(shí)施例相同的可變長(zhǎng)度解碼處理的可變長(zhǎng)度解碼單元中,該目標(biāo)塊的非零分量的數(shù)目NZnum被解碼。在這種情況中,在NZnum級(jí)別數(shù)值已經(jīng)被解碼時(shí),可以判斷第NZnum個(gè)級(jí)別數(shù)值是在該目標(biāo)塊中的最后級(jí)別數(shù)值。
在上述任何實(shí)施例中,該代碼表被根據(jù)量化參數(shù)QP而改變,并且該代碼表可以根據(jù)另一個(gè)參數(shù)而改變。例如,可以對(duì)每個(gè)塊新推導(dǎo)和明確地切換另一個(gè)參數(shù)。
在上述實(shí)施例中,作為用于使得例如被量化分量這樣的系數(shù)受到可變長(zhǎng)度編碼(解碼)處理的方法,示出一種方法,其中采用一個(gè)VLC表,并且根據(jù)至少關(guān)于已經(jīng)受到編碼(解碼)處理的已處理系數(shù),或者與該系數(shù)的產(chǎn)生相關(guān)的參數(shù)改變?cè)揤LC表。但是,根據(jù)本發(fā)明用于例如被量化分量這樣的可變長(zhǎng)度編碼(解碼)系數(shù)的方法不限于使用VLC表的方法。例如,用于對(duì)在第一、第三和第五實(shí)施例中所述的量化分量進(jìn)行可變長(zhǎng)度編碼的方法可以是一種不采用VLC表的可變長(zhǎng)度編碼方法,并且根據(jù)關(guān)于已處理系數(shù)或者與該系數(shù)的產(chǎn)生相關(guān)的參數(shù)的信息中的至少一個(gè)信息改變對(duì)應(yīng)于VLC表的一個(gè)代碼表。另外,根據(jù)任何第二、第四和第六實(shí)施例對(duì)與被量化分量相應(yīng)的被編碼數(shù)據(jù)的可變長(zhǎng)度解碼方法可以是一種不采用VLC表的可變長(zhǎng)度解碼方法,并且根據(jù)關(guān)于被處理的系數(shù)或者與系數(shù)的產(chǎn)生相關(guān)的參數(shù)的信息中的至少一個(gè)信息,改變對(duì)應(yīng)于VLC表的代碼表。
根據(jù)上述實(shí)施例執(zhí)行可變長(zhǎng)度編碼處理的圖像編碼裝置或執(zhí)行可變長(zhǎng)度解碼處理的圖像解碼裝置由硬件實(shí)現(xiàn),而這些裝置可以由軟件實(shí)現(xiàn)。在這種情況中,當(dāng)執(zhí)行根據(jù)任何上述實(shí)施例的可變長(zhǎng)度編碼或解碼處理的程序被記錄在例如軟盤這樣的數(shù)據(jù)存儲(chǔ)介質(zhì)中時(shí),可以容易地在一個(gè)獨(dú)立計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)根據(jù)任何上述實(shí)施例的圖像編碼裝置或圖像解碼裝置。
圖25為用于說明執(zhí)行根據(jù)第一、第三或第五實(shí)施例的可變長(zhǎng)度編碼處理,或者根據(jù)第二、第四或第六實(shí)施例的可變長(zhǎng)度解碼處理的計(jì)算機(jī)系統(tǒng)的示意圖。
圖25(a)示出作為包含用于該計(jì)算機(jī)系統(tǒng)中的程序的一種介質(zhì)的軟盤FD的正視圖、截面視圖、以及軟盤體D。圖25(b)示出軟盤體D的物理格式的例子。
該軟盤FD包括軟盤體D和包含該軟盤體D的殼體FC。在軟盤體D的表面上,從該盤的外周到內(nèi)周同心地形成多個(gè)記錄道Tr。每個(gè)記錄道在角度方向上被分為16扇區(qū)Se。因此,在包含上述程序、用于執(zhí)行可變長(zhǎng)度編碼處理或可變長(zhǎng)度解碼處理的程序的數(shù)據(jù)的軟盤FD被記錄在軟盤體D上的被分配存儲(chǔ)區(qū)(扇區(qū))中。
圖25(c)示出用于在軟盤FD上記錄或再現(xiàn)的結(jié)構(gòu)。當(dāng)程序記錄在軟盤FD上時(shí),程序的數(shù)據(jù)被從計(jì)算機(jī)系統(tǒng)Cs通過軟盤驅(qū)動(dòng)器FDD寫入到軟盤FD中。當(dāng)通過記錄在軟盤FD中的程序在計(jì)算機(jī)系統(tǒng)Cs中構(gòu)造上述圖像編碼裝置或圖像解碼裝置時(shí),通過軟盤驅(qū)動(dòng)器FDD從軟盤FD中讀取該程序,然后裝載到計(jì)算機(jī)系統(tǒng)Cs。
盡管在上述描述中,軟盤被用作為包含用于執(zhí)行可變長(zhǎng)度編碼處理或可變長(zhǎng)度解碼處理的存儲(chǔ)介質(zhì),但是光盤也可以用作為該存儲(chǔ)介質(zhì)。并且在這種情況中,可以通過軟件,按照類似于使用軟盤的情況執(zhí)行可變長(zhǎng)度編碼處理或可變長(zhǎng)度解碼處理。該存儲(chǔ)介質(zhì)不限于這些盤,并且任何介質(zhì)可以被采用,只要它們可以包含該程序即可,例如,CD-ROM、存儲(chǔ)卡或ROM。并且當(dāng)采用這種數(shù)據(jù)存儲(chǔ)介質(zhì)時(shí),可以由計(jì)算機(jī)系統(tǒng)按照與使用軟盤的情況相同的方式執(zhí)行可變長(zhǎng)度編碼處理或可變長(zhǎng)度解碼處理。
根據(jù)任何上述實(shí)施例的圖像編碼方法或圖像解碼方法以及使用該方法的系統(tǒng)將在下文中描述。
圖26為示出執(zhí)行內(nèi)容發(fā)布服務(wù)的一個(gè)內(nèi)容提供系統(tǒng)1100的整體結(jié)構(gòu)的方框圖。
一個(gè)通信服務(wù)提供區(qū)域被分為所需尺寸的區(qū)域(小區(qū)),并且分別作為固定無線電臺(tái)的基站1107至1110被建立在各個(gè)小區(qū)中,在該內(nèi)容提供系統(tǒng)1100中,例如計(jì)算機(jī)1111、PDA(個(gè)人數(shù)字助理)1112、相機(jī)1113、便攜式電話1114和具有攝像頭的便攜式電話1200例如被通過互聯(lián)網(wǎng)服務(wù)提供商1102、電話網(wǎng)絡(luò)1104和基站1107至1110連接到互聯(lián)網(wǎng)1101。
但是,內(nèi)容提供系統(tǒng)1100不限于包含所有圖26中所示的多個(gè)設(shè)備的系統(tǒng),而且可以是包含圖26中所示的多個(gè)設(shè)備中的一些設(shè)備的系統(tǒng)。另外,各個(gè)設(shè)備可以直接連接到電話網(wǎng)絡(luò)1104,而不通過作為固定無線電臺(tái)的基站1107至1110。
該相機(jī)1113是可以拍攝一個(gè)物體的運(yùn)動(dòng)圖像的設(shè)備,例如數(shù)字?jǐn)z像機(jī)。該便攜式電話可以是根據(jù)任何PDC(個(gè)人數(shù)字通信)系統(tǒng)、CDMA(碼分多址)系統(tǒng)、W-CDMA(寬帶-碼分多址)系統(tǒng)以及GSM(全球數(shù)字移動(dòng)電話)系統(tǒng)或PHS(個(gè)人手持電話系統(tǒng))的便攜式電話機(jī)。
一個(gè)流服務(wù)器1103通過基站1109和電話網(wǎng)絡(luò)1104連接到相機(jī)1113。在該系統(tǒng)中,可以執(zhí)行根據(jù)由使用相機(jī)1113的用戶發(fā)送的被編碼數(shù)據(jù)的實(shí)時(shí)發(fā)布。用于所拍攝圖像的數(shù)據(jù)的編碼處理可以由相機(jī)1113或發(fā)送數(shù)據(jù)的服務(wù)器所執(zhí)行。通過相機(jī)1116拍攝一個(gè)物體的運(yùn)動(dòng)圖像而獲得的運(yùn)動(dòng)圖像數(shù)據(jù)可以被通過計(jì)算機(jī)1111發(fā)送到流服務(wù)器1103。該相機(jī)1116是可以拍攝一個(gè)物體的靜止圖像或運(yùn)動(dòng)圖像的設(shè)備,例如數(shù)字相機(jī)。在這種情況中,可以通過相機(jī)1116或計(jì)算機(jī)1111執(zhí)行運(yùn)動(dòng)圖像數(shù)據(jù)的編碼。另外,通過包含在計(jì)算機(jī)1111或相機(jī)1116中的LSI1117執(zhí)行該編碼處理。
圖像編碼或解碼軟件可以存儲(chǔ)在作為包含可以由計(jì)算機(jī)1111等等所讀取的一個(gè)存儲(chǔ)介質(zhì)中(CD-ROM、軟盤、硬盤等等)。該運(yùn)動(dòng)圖像數(shù)據(jù)可以通過具有攝像頭的便攜式電話1200而發(fā)送。該運(yùn)動(dòng)圖像數(shù)據(jù)是已經(jīng)被包含在便攜式電話1200中的LSI所編碼的數(shù)據(jù)。
在該內(nèi)容提供系統(tǒng)1100中,對(duì)應(yīng)于由用戶通過相機(jī)1113或相機(jī)1116所拍攝的圖像的內(nèi)容(例如,音樂會(huì)的實(shí)況錄像)被按照與任何上述實(shí)施例相同的方式在該相機(jī)中編碼,并且從該相機(jī)發(fā)送到流服務(wù)器1103。該內(nèi)容數(shù)據(jù)受到從流服務(wù)器1103到請(qǐng)求客戶機(jī)的流發(fā)布。
該客戶機(jī)可以是任何可以解碼該被編碼數(shù)據(jù)的計(jì)算機(jī)1111、PDA1112、相機(jī)1113、便攜式電話1114等等。
在該內(nèi)容提供系統(tǒng)1100中,該編碼數(shù)據(jù)被在客戶機(jī)側(cè)接收和再現(xiàn)。當(dāng)該數(shù)據(jù)被在客戶機(jī)側(cè)上實(shí)時(shí)地接收、解碼和再現(xiàn)時(shí),可以實(shí)現(xiàn)私人廣播。
可以使用根據(jù)上述實(shí)施例的圖像編碼裝置或圖像解碼裝置執(zhí)行在構(gòu)成該系統(tǒng)的各個(gè)設(shè)備中的編碼或解碼。
下面將描述作為圖像編碼或解碼裝置的一個(gè)例子的便攜式電話。
圖27為示出采用根據(jù)任何上述實(shí)施例的圖像編碼方法和圖像解碼方法的便攜式電話1200的示意圖。
該便攜式電話1200包括用于對(duì)基站1110發(fā)送/接收無線電波的天線1201、例如CCD相機(jī)這樣可以拍攝物體的運(yùn)動(dòng)或靜止圖像的相機(jī)單元1203、以及例如液晶顯示器這樣用于顯示由相機(jī)單元1203所拍攝的數(shù)據(jù)或者通過天線1201接收的視頻圖像的顯示單元1202。
該便攜式電話1200進(jìn)一步包括包含多個(gè)控制按鍵的主體1204、例如擴(kuò)音器這樣用于輸出語音的語音輸出單元1208、例如麥克風(fēng)這樣用于輸入語音的語音輸入單元1205、用于保存例如拍攝運(yùn)動(dòng)圖像或靜止圖像的數(shù)據(jù)、或者所接收電子郵件的數(shù)據(jù)、運(yùn)動(dòng)圖像數(shù)據(jù)或靜止圖像數(shù)據(jù)這樣的編碼數(shù)據(jù)或解碼數(shù)據(jù)的存儲(chǔ)介質(zhì)1207、以及使得存儲(chǔ)介質(zhì)1207附著到便攜式電話1200上的插槽單元1206。
該存儲(chǔ)介質(zhì)1207具有作為例如EEPROM(電可擦除可編程只讀存儲(chǔ)器)類型的包含在塑料殼體中的電可編程可擦除非易失性存儲(chǔ)器的快速存儲(chǔ)器元件,例如SD卡。
下面將參照入28更加具體地描述該便攜式電話1200。
該便攜式電話1200具有執(zhí)行用于包括顯示單元1202和控制按鍵1204的主體的各個(gè)單元一般控制的主控制單元1241。
該便攜式電話1200進(jìn)一步包括電源電路1240、操作輸入控制單元1234、圖像編碼單元1242、相機(jī)接口單元1233、LCD(液晶顯示器)控制單元1232、圖像解碼單元1239、多路復(fù)用/分解單元1238、記錄/再現(xiàn)單元1237、調(diào)制/解調(diào)單元1236以及音頻處理單元1235。該便攜式電話1200的各個(gè)單元通過同步總線1250相互連接。
當(dāng)在用戶的控制下啟動(dòng)呼叫結(jié)束/電源按鍵時(shí),該電源電路1240把電能從一個(gè)電池組提供到各個(gè)單元,從而把具有攝像頭的便攜式電話1200激活為工作狀態(tài)。
在便攜式電話1200中,各個(gè)單元在由CPU、ROM、RAM等等所構(gòu)成的主控制單元1241的控制下操作。更加具體來說,在便攜式電話1200中,由在語音通信模式中輸入到語音輸入單元1205的語音所獲得音頻信號(hào)被音頻處理單元1235轉(zhuǎn)換為數(shù)字音頻數(shù)據(jù)。該數(shù)字音頻數(shù)據(jù)受到調(diào)制/解調(diào)單元1236的擴(kuò)頻處理,進(jìn)一步受到發(fā)送/接收電路1231的數(shù)模轉(zhuǎn)換處理和頻率轉(zhuǎn)換處理,并且通過天線1201發(fā)送。
在該便攜式電話1200中,在語音通信模式中通過天線1201接收的信號(hào)被放大,然后受到頻率變換處理和模數(shù)轉(zhuǎn)換處理。所接收的信號(hào)被在調(diào)制/解調(diào)單元1236中進(jìn)一步受到反擴(kuò)頻處理,由音頻處理單元1235轉(zhuǎn)換為模擬音頻信號(hào),并且該模擬音頻信號(hào)被通過語音輸出單元1208輸出。
當(dāng)便攜式電話1200在數(shù)據(jù)通信模式中發(fā)送電子郵件時(shí),通過操作在主體上的控制按鍵1204而輸入的電子郵件的文字?jǐn)?shù)據(jù)被通過操作輸入控制單元1234發(fā)送到主控制單元1241。該主控制單元1241控制各個(gè)單元,使得該文字?jǐn)?shù)據(jù)在調(diào)制/解調(diào)單元1236中受到擴(kuò)頻處理,然后在發(fā)送/接收電路1231中受到數(shù)模轉(zhuǎn)換處理和頻率變換處理,然后通過天線1201發(fā)送到基站1110。
當(dāng)便攜式電話1200在數(shù)據(jù)通信模式中發(fā)送圖像數(shù)據(jù)時(shí),由相機(jī)單元1203所拍攝的圖像數(shù)據(jù)被通過相機(jī)接口單元1233提供到圖像編碼單元1242。當(dāng)便攜式電話1200不發(fā)送圖像數(shù)據(jù)時(shí),由相機(jī)單元1203所拍攝的圖像數(shù)據(jù)可以通過相機(jī)接口單元1233和LCD控制單元1232直接顯示在顯示單元1202上。
該圖像編碼單元1242包括根據(jù)上述任何實(shí)施例的圖像編碼裝置。該圖像編碼單元1242通過根據(jù)任何上述實(shí)施例的圖像編碼方法對(duì)來自相機(jī)單元1203的圖像數(shù)據(jù)進(jìn)行壓縮編碼,以把其轉(zhuǎn)換為編碼的圖像數(shù)據(jù),并且把所獲得的編碼圖像數(shù)據(jù)輸出到多路復(fù)用/分解單元1238。與此同時(shí),在由相機(jī)單元1203拍攝圖像時(shí),便攜式電話1200把輸入到語音輸入單元1205的語音作為數(shù)字音頻數(shù)據(jù)通過音頻處理單元1235發(fā)送到多路復(fù)用/分解單元1238。
該多路復(fù)用/分解單元1238通過預(yù)定方法對(duì)來自圖像編碼單元1242的編碼圖像數(shù)據(jù)和來自音頻處理單元1235的音頻數(shù)據(jù)進(jìn)行多路復(fù)用。所獲得的復(fù)用數(shù)據(jù)在調(diào)制/解調(diào)單元1236中受到擴(kuò)頻處理,然后進(jìn)一步在發(fā)送/接收電路1231中的受到數(shù)模轉(zhuǎn)換處理和頻率變換處理,并且獲得通過天線1201發(fā)送的數(shù)據(jù)。
當(dāng)便攜式電話1200接收在數(shù)據(jù)通信模式中鏈接到一個(gè)主頁等等的運(yùn)動(dòng)圖像文件的數(shù)據(jù)時(shí),通過天線1201從基站1110接收的信號(hào)被受到調(diào)制/解調(diào)單元1236的反擴(kuò)頻處理,并且所獲得的復(fù)用數(shù)據(jù)被發(fā)送到多路復(fù)用/分解單元1238。
當(dāng)通過天線1201接收的復(fù)用數(shù)據(jù)被解碼時(shí),該多路復(fù)用/分解單元1238對(duì)該多路復(fù)用數(shù)據(jù)進(jìn)行多路分解,以把該數(shù)據(jù)分為對(duì)應(yīng)于圖像數(shù)據(jù)的編碼位流和對(duì)應(yīng)于音頻數(shù)據(jù)的編碼位流,并且該編碼圖像數(shù)據(jù)被提供到圖像解碼單元1239,以及該音頻數(shù)據(jù)被通過同步總線1250提供到音頻處理單元1235。
該圖像解碼單元1239包括根據(jù)任何上述實(shí)施例的圖像解碼裝置。該圖像解碼單元1239通過對(duì)應(yīng)于根據(jù)任何上述實(shí)施例的編碼方法的解碼方法對(duì)該圖像數(shù)據(jù)的編碼位流進(jìn)行解碼,以再現(xiàn)運(yùn)動(dòng)圖像數(shù)據(jù),并且把所再現(xiàn)的數(shù)據(jù)通過LCD控制單元1232提供到顯示單元1202。從而,例如,包含在鏈接到該主頁的運(yùn)動(dòng)圖像文件中的運(yùn)動(dòng)圖像數(shù)據(jù)被顯示。與此同時(shí),音頻處理單元1235把該音頻數(shù)據(jù)轉(zhuǎn)換為模擬音頻信號(hào),然后把該模擬音頻信號(hào)提供到語音輸出單元1208。從而,例如,再現(xiàn)包含在鏈接到該主頁的運(yùn)動(dòng)圖像文件中的音頻數(shù)據(jù)。
在此,可以應(yīng)用根據(jù)任何上述實(shí)施例的圖像編碼方法和圖像解碼方法的系統(tǒng)不限于上述內(nèi)容提供系統(tǒng)。
最近,使用衛(wèi)星或地面電波的數(shù)字廣播被經(jīng)常討論,并且根據(jù)上述實(shí)施例的圖像編碼裝置和圖像解碼裝置也可以應(yīng)用于如圖29中所示的數(shù)字廣播系統(tǒng)。
更加具體來說,對(duì)應(yīng)于視頻信息的編碼位流被從廣播臺(tái)1409通過無線通信發(fā)送到例如通信衛(wèi)星或廣播衛(wèi)星這樣的衛(wèi)星1410。當(dāng)該廣播衛(wèi)星1410接收對(duì)應(yīng)于該視頻信息的編碼位流時(shí),該衛(wèi)星1410輸廣播的電波,并且這些電波由在包括衛(wèi)星廣播接收設(shè)施的住宅處的天線1406所接收。例如,電視(接收器)1401或機(jī)頂盒(STB)1407這樣的裝置解碼該編碼位流,并且再現(xiàn)該視頻信息。
另外,根據(jù)任何上述實(shí)施例的圖像解碼裝置也可以被安裝在再現(xiàn)裝置1403上,其可以讀取和解碼記錄在例如CD或DVD(記錄介質(zhì))這樣的存儲(chǔ)介質(zhì)1402上的編碼位流。
在這種情況中,一個(gè)被再現(xiàn)的視頻信號(hào)被顯示在監(jiān)視器1404上。該圖像解碼裝置可以安裝在與用于有線電視1405的電纜或用于衛(wèi)星/地面廣播1406的天線相連接的機(jī)頂盒1407上,以再現(xiàn)要顯示在電視的監(jiān)視器1408上的該圖像解碼裝置的輸出。在這種情況中,該圖像解碼裝置可以不包含在該機(jī)頂盒中,而是包含在該電視中。具有天線1411的一個(gè)車輛1412可以從衛(wèi)星1410或基站1107接收一個(gè)信號(hào),并且再現(xiàn)一個(gè)運(yùn)動(dòng)圖像,以把其顯示在安裝在車輛1412上的車輛導(dǎo)航系統(tǒng)1413等等的顯示設(shè)備上。
另外,還可以由根據(jù)任何上述實(shí)施例的圖像編碼裝置對(duì)一個(gè)圖像信號(hào)編碼,并且記錄在記錄介質(zhì)中。
一種記錄設(shè)備的具體例子是例如把圖像信號(hào)記錄在DVD盤1421上的DVD錄像機(jī)這樣的錄像機(jī)1420、以及在硬盤上記錄圖像信號(hào)的盤錄像機(jī)。該圖像信號(hào)可以記錄在SD卡1422上。另外,當(dāng)該錄像機(jī)1420包含根據(jù)任何上述實(shí)施例的圖像解碼裝置時(shí),被記錄在DVD盤1421或SD卡1422上的圖像信號(hào)可以由錄像機(jī)1420所再現(xiàn),并且顯示在監(jiān)視器1408上。
在此,車輛導(dǎo)航系統(tǒng)1413的結(jié)構(gòu)除了相機(jī)單元1203、相機(jī)接口單元1233和圖像編碼單元1242之外例如可以包括如圖28中所示的便攜式電話機(jī)的組件,并且這同樣可以應(yīng)用于計(jì)算機(jī)1111或者電視(接收器)1401。
另外,作為例如便攜式電話1114這樣的終端,可以安裝三種終端之一具有編碼器和解碼器的發(fā)送接收型終端、僅僅具有編碼器的發(fā)送終端以及僅僅具有解碼器的接收終端。
如上文所述,根據(jù)任何上述實(shí)施例的圖像編碼方法或圖像解碼方法可以應(yīng)用于任何上述設(shè)備或系統(tǒng),從而可以獲得如上述實(shí)施例所述的效果。
另外,不必說本發(fā)明的實(shí)施例和其應(yīng)用不限于在該說明書中所述的內(nèi)容。
工業(yè)應(yīng)用性根據(jù)本發(fā)明的可變長(zhǎng)度編碼方法和可變長(zhǎng)度解碼方法通過選擇適合于構(gòu)成該系數(shù)數(shù)據(jù)的系數(shù)特性或者用于該系數(shù)的編碼處理的狀態(tài)的代碼表,而有效地消除包含在作為可變長(zhǎng)度編碼處理的對(duì)象的系數(shù)數(shù)據(jù)中的冗余信息,從而大大地增加對(duì)圖像信號(hào)等等的可變長(zhǎng)度編碼處理的編碼效率。這些可變長(zhǎng)度編碼方法和可變長(zhǎng)度解碼方法被用于發(fā)送或存儲(chǔ)運(yùn)動(dòng)圖像數(shù)據(jù)的數(shù)據(jù)處理中。
權(quán)利要求
1.一種用于編碼由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)的可變長(zhǎng)度編碼方法,其中包括編碼步驟,用于通過使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)系數(shù)受到把系數(shù)數(shù)據(jù)變換為由多個(gè)代碼所構(gòu)成的被編碼數(shù)據(jù)的編碼處理,所述編碼步驟包括代碼表選擇步驟,用于根據(jù)關(guān)于已經(jīng)被編碼的被編碼系數(shù)和與該系數(shù)的編碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及代碼分配步驟,用于使用被選擇的代碼表把一個(gè)代碼分配到一個(gè)還沒有被編碼的未編碼的系數(shù)。
2.根據(jù)權(quán)利要求1中所述的可變長(zhǎng)度編碼方法中,其中通過根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),以及在該代碼表選擇步驟中,用于該代碼分配步驟中的代碼表被根據(jù)該量化步驟的數(shù)值而選擇。
3.根據(jù)權(quán)利要求2中所述的可變長(zhǎng)度編碼方法中,其中根據(jù)對(duì)該系數(shù)的編碼處理,表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值被分別變換為一個(gè)代碼,在該代碼表選擇步驟中,在用于根據(jù)該量化步驟的數(shù)值從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第一選擇處理,以及用于根據(jù)該量化步驟的數(shù)值從表示該級(jí)別數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第二選擇處理中的至少一個(gè)處理被執(zhí)行,以及在該代碼分配步驟中,根據(jù)被選擇的代碼表,一個(gè)代碼被分配給對(duì)應(yīng)于還沒有被編碼的一個(gè)未編碼系數(shù)的游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值。
4.根據(jù)權(quán)利要求2中所述的可變長(zhǎng)度編碼方法中,其中根據(jù)對(duì)該系數(shù)的編碼處理,包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值以及表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值的游程-級(jí)別對(duì)被變換為一個(gè)代碼,在該代碼表選擇步驟中,根據(jù)該量化步驟的數(shù)值,從表示該游程-級(jí)別對(duì)和該代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表,以及在該代碼分配步驟中,根據(jù)所選擇的代碼表,一個(gè)代碼被分配給對(duì)應(yīng)于還沒有被編碼的未編碼系數(shù)的一個(gè)游程-級(jí)別對(duì)。
5.根據(jù)權(quán)利要求1中所述的可變長(zhǎng)度編碼方法中,其中在該代碼表選擇步驟中,根據(jù)關(guān)于被編碼系數(shù)的信息選擇在該代碼分配步驟中所用的代碼表。
6.根據(jù)權(quán)利要求5中所述的可變長(zhǎng)度編碼方法中,其中根據(jù)對(duì)該系數(shù)的編碼處理,表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值以及表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值被分別變換為一個(gè)代碼,在該代碼表選擇步驟中,在用于根據(jù)關(guān)于對(duì)應(yīng)于該編碼的游程數(shù)值的信息從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第一選擇處理,以及用于根據(jù)關(guān)于對(duì)應(yīng)于該被編碼系數(shù)的級(jí)別數(shù)值的信息從表示該級(jí)別數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第二選擇處理中的至少一個(gè)處理被執(zhí)行,以及在該代碼分配步驟中,根據(jù)所選擇的代碼表,一個(gè)代碼被分配給對(duì)應(yīng)于一個(gè)未編碼系數(shù)的游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值。
7.根據(jù)權(quán)利要求6中所述的可變長(zhǎng)度編碼方法中,其中在該代碼表選擇步驟中,根據(jù)已經(jīng)被編碼的被編碼游程數(shù)值的數(shù)目從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表,以及在該代碼分配步驟中,根據(jù)所選擇的代碼表,一個(gè)代碼被分配給還沒有被編碼的一個(gè)未編碼游程數(shù)值。
8.根據(jù)權(quán)利要求5中所述的可變長(zhǎng)度編碼方法中,其中根據(jù)對(duì)該系數(shù)的編碼處理,包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值的一個(gè)游程-級(jí)別對(duì)被變換為一個(gè)代碼,在該代碼表選擇步驟中,根據(jù)關(guān)于對(duì)應(yīng)于已經(jīng)編碼的被編碼系數(shù)的游程-級(jí)別對(duì)的信息從表示該游程-級(jí)別對(duì)和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,以及在該代碼分配步驟中,根據(jù)被選擇代碼表,一個(gè)代碼被分配給對(duì)應(yīng)于還沒有被編碼的未編碼系數(shù)的一個(gè)游程-級(jí)別對(duì)。
9.根據(jù)權(quán)利要求1中所述的可變長(zhǎng)度編碼方法中,其中通過根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),以及在該編碼步驟中,執(zhí)行對(duì)該系數(shù)的編碼處理,使得代碼被分配給從高頻分量到低頻分量構(gòu)成該系數(shù)數(shù)據(jù)的多個(gè)系數(shù)。
10.一種用于編碼由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)的可變長(zhǎng)度編碼裝置,其中包括編碼單元,用于通過使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)系數(shù)受到把系數(shù)數(shù)據(jù)變換為由多個(gè)代碼所構(gòu)成的被編碼數(shù)據(jù)的編碼處理,所述編碼單元包括代碼表選擇單元,用于根據(jù)關(guān)于已經(jīng)被編碼的被編碼系數(shù)和與該系數(shù)的編碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及代碼分配單元,用于使用被選擇的代碼表把一個(gè)代碼分配到一個(gè)還沒有被編碼的未編碼的系數(shù)。
11.根據(jù)權(quán)利要求10所述的可變長(zhǎng)度編碼裝置,其中通過根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),以及該代碼表選擇單元根據(jù)該量化步驟的數(shù)值選擇要由該代碼分配單元所用的代碼表。
12.根據(jù)權(quán)利要求10所述的可變長(zhǎng)度編碼裝置,其中該代碼表選擇單元根據(jù)關(guān)于該被編碼系數(shù)的信息,選擇要由該代碼分配單元所用的代碼表。
13.根據(jù)權(quán)利要求12所述的可變長(zhǎng)度編碼裝置,其中根據(jù)對(duì)該系數(shù)的編碼處理,表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值被分別變換為一個(gè)代碼,該代碼表選擇單元根據(jù)已經(jīng)被分配代碼的多個(gè)被編碼游程數(shù)值,從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表,以及該代碼分配單元根據(jù)被選擇的代碼表把一個(gè)代碼分配給還未編碼的一個(gè)未編碼游程數(shù)值。
14.根據(jù)權(quán)利要求10所述的可變長(zhǎng)度編碼裝置,其中根據(jù)對(duì)應(yīng)于該圖像數(shù)據(jù)的量化步驟,通過量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),以及該編碼單元對(duì)編碼單元該系數(shù)執(zhí)行編碼處理,使得代碼被分配到從高頻分量到低頻分量構(gòu)成該系數(shù)數(shù)據(jù)的多個(gè)系數(shù)。
15.一種存儲(chǔ)介質(zhì),其中包括用于由計(jì)算機(jī)執(zhí)行對(duì)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)的編碼的可變長(zhǎng)度編碼處理的程序,所述程序包括編碼步驟,用于通過使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)系數(shù)受到把系數(shù)數(shù)據(jù)變換為由多個(gè)代碼所構(gòu)成的被編碼數(shù)據(jù)的編碼處理,所述編碼步驟包括代碼表選擇步驟,用于根據(jù)關(guān)于已經(jīng)被編碼的被編碼系數(shù)和與該系數(shù)的編碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及代碼分配單元,用于使用被選擇的代碼表把一個(gè)代碼分配到一個(gè)還沒有被編碼的未編碼系數(shù)。
16.一種用于解碼包括通過對(duì)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)執(zhí)行可變長(zhǎng)度編碼而獲得的多個(gè)代碼的被編碼數(shù)據(jù)的可變長(zhǎng)度解碼方法,其中包括解碼步驟,用于使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)代碼受到對(duì)該被編碼數(shù)據(jù)的解碼處理,以重構(gòu)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù),所述解碼步驟包括代碼表選擇步驟,用于根據(jù)關(guān)于已經(jīng)被解碼的被解碼系數(shù)和與該系數(shù)的解碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及數(shù)值檢測(cè)步驟,用于通過使用所選擇的代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的數(shù)值。
17.根據(jù)權(quán)利要求16所述的可變長(zhǎng)度解碼方法,其中通過根據(jù)對(duì)應(yīng)于圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),以及在該代碼表選擇步驟中,根據(jù)該量化步驟的數(shù)值選擇用于該數(shù)值檢測(cè)步驟中的代碼表。
18.根據(jù)權(quán)利要求17所述的可變長(zhǎng)度解碼方法,其中在用于該代碼的解碼處理中,一個(gè)代碼被解碼,以重構(gòu)表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值以及表示在該零系數(shù)之后的一個(gè)非零系數(shù)的數(shù)值的級(jí)別數(shù)值,在該代碼表選擇步驟中,用于至少根據(jù)該量化步驟的數(shù)值從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第一選擇處理,以及用于根據(jù)量化步驟的數(shù)值執(zhí)行從表示該級(jí)別數(shù)值和該代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表的第二選擇步驟的這兩個(gè)步驟之一被執(zhí)行,以及在該數(shù)值檢測(cè)步驟中,根據(jù)所選擇的代碼表,對(duì)應(yīng)于還未解碼的未解碼數(shù)據(jù)的游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值被檢測(cè)。
19.根據(jù)權(quán)利要求17所述的可變長(zhǎng)度解碼方法,其中根據(jù)用于代碼的解碼處理,一個(gè)代碼被解碼,以重構(gòu)由表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的一個(gè)非零系數(shù)的數(shù)值的級(jí)別數(shù)值所構(gòu)成的一個(gè)游程-級(jí)別對(duì),在該代碼表選擇步驟,根據(jù)該量化步驟的數(shù)值,從表示該游程-級(jí)別對(duì)和該代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,以及在該數(shù)值檢測(cè)步驟中,根據(jù)被選擇代碼表,檢測(cè)對(duì)應(yīng)于一個(gè)還未解碼的未解碼代碼的游程-級(jí)別對(duì)。
20.根據(jù)權(quán)利要求16所述的可變長(zhǎng)度解碼方法,其中在該代碼表選擇步驟中,根據(jù)關(guān)于被解碼系數(shù)的信息選擇在該數(shù)值檢測(cè)步驟中使用的代碼表。
21.根據(jù)權(quán)利要求20所述的可變長(zhǎng)度解碼方法,其中根據(jù)用于該代碼的解碼處理,該代碼被解碼以分別重構(gòu)表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值,以及表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值,在該代碼表選擇步驟中,用于根據(jù)關(guān)于被解碼的游程數(shù)值的信息從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表的第一選擇處理,以及用于根據(jù)關(guān)于被解碼的級(jí)別數(shù)值的信息從表示該級(jí)別數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表中選擇一個(gè)代碼表的第二選擇處理中的至少一個(gè)處理被執(zhí)行,以及在該數(shù)值檢測(cè)步驟中,根據(jù)被選擇的代碼表檢測(cè)對(duì)應(yīng)于一個(gè)未解碼代碼的游程數(shù)值和級(jí)別數(shù)值中的至少一個(gè)數(shù)值。
22.根據(jù)權(quán)利要求21所述的可變長(zhǎng)度解碼方法,其中在該代碼表選擇步驟中,根據(jù)已經(jīng)解碼的已解碼游程數(shù)值的數(shù)目,從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,以及在該數(shù)值檢測(cè)步驟中,根據(jù)被選擇代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的一個(gè)游程數(shù)值。
23.根據(jù)權(quán)利要求20所述的可變長(zhǎng)度解碼方法,其中根據(jù)對(duì)代碼的解碼處理,一個(gè)代碼被解碼,以重構(gòu)包括表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值和表示在該零系數(shù)之后的多個(gè)非零系數(shù)的級(jí)別數(shù)值的游程-級(jí)別對(duì),在該代碼表選擇步驟中,根據(jù)關(guān)于已經(jīng)通過解碼處理所獲得的一個(gè)游程-級(jí)別對(duì)的信息從表示該游程-級(jí)別對(duì)和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,以及在該數(shù)值檢測(cè)步驟中,根據(jù)被選擇代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的一個(gè)游程-級(jí)別對(duì)。
24.根據(jù)權(quán)利要求16所述的可變長(zhǎng)度解碼方法,其中通過根據(jù)對(duì)應(yīng)于圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),以及在解碼步驟中,執(zhí)行對(duì)代碼的解碼處理,從而從高頻率分量到低頻率分量獲得對(duì)應(yīng)于該代碼的數(shù)值。
25.一種用于解碼包括通過對(duì)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)執(zhí)行可變長(zhǎng)度編碼所獲得多個(gè)代碼的被編碼數(shù)據(jù)的可變長(zhǎng)度解碼裝置,其中包括解碼單元,用于使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表,使得各個(gè)代碼受到對(duì)用于解碼該被編碼數(shù)據(jù)的解碼處理,以重構(gòu)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù),所述解碼單元包括代碼表選擇單元,用于根據(jù)關(guān)于已經(jīng)被解碼的被解碼系數(shù)和與該系數(shù)的解碼處理相關(guān)的參數(shù)至少之一的信息從多個(gè)代碼表選擇一個(gè)代碼表;以及數(shù)值檢測(cè)單元,用于通過使用所選擇的代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的數(shù)值。
26.根據(jù)權(quán)利要求25所述的可變長(zhǎng)度解碼裝置,其中通過根據(jù)對(duì)應(yīng)于圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),以及該代碼表選擇單元根據(jù)該量化步驟的數(shù)值選擇由該數(shù)值檢測(cè)單元所用的代碼表。
27.根據(jù)權(quán)利要求25所述的可變長(zhǎng)度解碼裝置,其中該代碼表選擇單元根據(jù)關(guān)于一個(gè)被解碼系數(shù)的信息選擇由該數(shù)值檢測(cè)單元所使用的代碼表。
28.根據(jù)權(quán)利要求27所述的可變長(zhǎng)度解碼裝置,其中根據(jù)對(duì)該代碼的解碼處理,該代碼被解碼,以分別重構(gòu)表示其數(shù)值為零的連續(xù)零系數(shù)的數(shù)目的游程數(shù)值以及表示在該零系數(shù)之后的非零系數(shù)的數(shù)值的級(jí)別數(shù)值,該代碼表選擇單元根據(jù)被解碼的游程數(shù)值從表示該游程數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表選擇一個(gè)代碼表,以及該數(shù)值檢測(cè)單元根據(jù)所選擇的代碼表檢測(cè)對(duì)應(yīng)于一個(gè)被解碼代碼的游程數(shù)值。
29.根據(jù)權(quán)利要求25所述的可變長(zhǎng)度解碼裝置,其中通過根據(jù)對(duì)應(yīng)于圖像數(shù)據(jù)的量化步驟量化圖像數(shù)據(jù)的頻率分量而獲得該系數(shù),以及該解碼單元對(duì)代碼執(zhí)行解碼處理,以從高頻分量到低頻分量獲得對(duì)應(yīng)于該代碼的數(shù)值。
30.一種記錄介質(zhì),其中包括一個(gè)程序,用于通過計(jì)算機(jī)解碼包括由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù)的可變長(zhǎng)度編碼而獲得的多個(gè)代碼的被編碼數(shù)據(jù)的可變長(zhǎng)度解碼處理,所述程序包括解碼步驟,用于使用表示該系數(shù)的數(shù)值和代碼之間的對(duì)應(yīng)關(guān)系的多個(gè)代碼表使得各個(gè)代碼受到對(duì)該被編碼數(shù)據(jù)解碼的解碼處理,以重構(gòu)由多個(gè)系數(shù)所構(gòu)成的系數(shù)數(shù)據(jù),所述解碼步驟包括代碼表選擇步驟,用于根據(jù)關(guān)于已經(jīng)被解碼的被解碼系數(shù)和與該系數(shù)的解碼處理相關(guān)的參數(shù)至少之一的信息選擇該代碼表;以及數(shù)值檢測(cè)步驟,用于通過使用所選擇的代碼表檢測(cè)對(duì)應(yīng)于還未解碼的未解碼代碼的數(shù)值。
全文摘要
根據(jù)本發(fā)明,一種圖像編碼裝置提供一個(gè)游程長(zhǎng)度編碼單元(RLE1),其通過使用表示連續(xù)零系數(shù)的數(shù)目的游程數(shù)值(Run)和表示在該零系數(shù)之后的非零系數(shù)的數(shù)值級(jí)別數(shù)值(Lev),使得通過量化一個(gè)圖像信號(hào)的頻率分量所獲得的量化系數(shù)受到可變長(zhǎng)度編碼處理。該游程長(zhǎng)度編碼單元(RLE1)包括用于對(duì)級(jí)別數(shù)值(Lev)重新排序的重新排序單元(Lreodr);用于通過使用根據(jù)量化參數(shù)(QP)的數(shù)值而選擇的代碼表對(duì)重新排序的級(jí)別數(shù)值(ROLev)進(jìn)行編碼的可變長(zhǎng)度編碼器(LVLC);用于從該量化系數(shù)的高頻分量到低頻分量對(duì)游程數(shù)值(Run)重新排序的重新排序單元(Rreodr);以及用于通過使用根據(jù)已經(jīng)處理的游程數(shù)值的數(shù)目而選擇的代碼表對(duì)重新排序的游程數(shù)值(RORun)進(jìn)行編碼的可變長(zhǎng)度編碼器(RVLC)。相應(yīng)地,通過有效地刪除包含在該系數(shù)中的冗余信息,以較高編碼效率執(zhí)行對(duì)量化系數(shù)的可變長(zhǎng)度編碼處理。
文檔編號(hào)H03M5/14GK1524384SQ0281328
公開日2004年8月25日 申請(qǐng)日期2002年11月22日 優(yōu)先權(quán)日2001年11月22日
發(fā)明者角野真也, 志, 近藤敏志, 史, 羽飼誠(chéng), 安倍清史 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社