近年、音声,画像,その他の情報を統合的に扱うマルチメディア時代を迎え、従来からの情報メディア,つまり新聞,雑誌,テレビ,ラジオ,電話等の情報を人に伝達する手段が、マルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形、音声、特に画像等を同時に関連付けて表すことをいうが、上記従来の情報メディアをマルチメディアの対象とするには、その情報をディジタル形式にして表すことが必須条件となる。
ところが、上記各情報メディアで扱う情報量をディジタル情報量として見積もってみると、文字の場合1文字当たりの情報量は1〜2バイトであるのに対し、音声の場合1秒当たり64kbits(電話品質)、さらに動画については1秒当たり100Mbits(現行テレビ受信品質)以上の情報量が必要となり、上記情報メディアでその膨大な情報をディジタル形式でそのまま扱うことは現実的では無い。例えば、テレビ電話は、64kbps〜1.5Mbpsの伝送速度を持つサービス総合ディジタル網(ISDN: Integrated Services Digital Network)によってすでに実用化されているが、大きな情報量を有するテレビカメラの出力映像をそのままISDNで送ることは不可能である。
そこで、必要となってくるのが情報の圧縮技術であり、例えば、テレビ電話の場合、ITU-T(国際電気通信連合 電気通信標準化部門)で国際標準化されたH.261やH.263規格の動画圧縮技術が用いられている。また、MPEG-1規格の情報圧縮技術によると、通常の音楽用CD(コンパクトディスク)に音声情報とともに画像情報を入れることも可能となる。
ここで、MPEG(Moving Picture Experts Group)とは、動画像信号のデジタル圧縮に関する国際規格であり、MPEG-1は、動画像信号を1.5Mbpsまで、つまりテレビ信号の情報を約100分の1にまで圧縮する規格である。また、MPEG-1規格を対象とする伝送速度が主として約1.5Mbpsに制限されていることから、さらなる高画質化の要求をみたすべく規格化されたMPEG-2では、動画像信号が2〜15Mbpsに圧縮される。
さらに現状では、MPEG-1,MPEG-2と標準化を進めてきた作業グループ(ISO/IEC JTC1/SC29/WG11)によって、より圧縮率が高いMPEG-4が規格化された。MPEG-4では、当初、低ビットレートで効率の高い符号化が可能になるだけでなく、伝送路誤りが発生しても主観的な画質劣化を小さくできる強力な誤り耐性技術も導入されている。また、ITU-Tでは次世代画像符号化方式として、H.26Lの標準化活動が進んでおり、現時点ではテストモデル8(TML8)と呼ばれる符号化方式が最新である。
図30は従来の画像符号化装置を示すブロック図である。
この画像符号化装置201aは、入力された画像信号Vinを一定数の画素からなる単位領域(ブロック)に対応するようブロック化し、ブロック化された画像信号BlkSを出力するブロック化器Blkと、その出力BlkSを周波数変換して、各ブロックに対応する周波数成分TransSを出力する周波数変換器Transとを有している。ここで、上記ブロックは、画像信号の符号化処理の単位となる、ピクチャ(画像空間)内の所定サイズの領域であり、一定数の画素から構成されている。ここで、画像信号Vinは、複数のピクチャからなる動画像に対応するものである。
また、上記画像符号化装置201aは、該周波数変換器の出力(周波数成分)TransSを量子化して、各ブロックに対応する量子化成分(量子化係数)QSを出力する量子化器Qと、該量子化器の出力(量子化成分)QSに対して可変長符号化処理を施す符号化器RLE0aとを有している。
次に動作について説明する。
上記画像符号化装置201aに画像信号Vinが入力されると、ブロック化器Blkは、入力された画像信号Vinをブロック単位の画像信号に分割して、各ブロックに対応する画像信号(ブロック化画像信号)BlkSを生成する。周波数変換器Transは該ブロック化画像信号BlkSをDCT(離散コサイン変換)やウェーブレット変換などを用いて周波数成分TransSに変換する。量子化器Qは該周波数成分TransSを量子化パラメータQPに基づいて、所定の量子化ステップでもって量子化して量子化成分QSを出力するとともに、該量子化パラメータQPを出力する。そして、符号化器RLE0aは上記量子化成分QSに対して可変長符号化処理を施して符号化ストリームStr0aを出力する。
図31は上記画像符号化装置201aを構成する符号化器RLE0aを説明するためのブロック図である。
この符号化器RLE0aは、2次元の配列を有する量子化器Qの出力(量子化成分)QSを1次元の配列(つまり、所定の順序)を有する量子化成分Coefに変換するジグザグスキャン器Scanと、該ジグザグスキャン器Scanから出力される量子化成分Coefに対して可変長符号化処理を施す可変長符号化器VLCとを有している。
このような符号化器RLE0aに量子化器Qから出力された量子化成分QSが入力されると、ジグザグスキャン器Scanは、上記量子化器Qからの2次元の配列を有する量子化成分QSを1次元の配列(所定の順序)を有する量子化成分Coefに変換して出力する。
図43は上記ジグザグスキャン器Scanでの量子化成分QSの変換処理を具体的に説明するための図である。
量子化器Qから出力された量子化成分QSは、図43に示すように、2次元の配列、つまり、各量子化成分QSが、2次元の周波数領域Fr上にて、その水平方向の周波数の高さ及び垂直方向の周波数の高さに応じてマトリクス状に並ぶ配列を有している。
ジグザグスキャン器Scanは、このように2次元の配列を有する量子化成分QSを、矢印Y1〜Y7で示すように、ジグザグにスキャンする処理を行って、1次元の配列を有する量子化成分Coefに変換する。つまりこのスキャン処理により、2次元の配列を有する複数の量子化成分QSに対して、上記スキャン経路に沿った所定の順序が設定される。
そして、上記可変長符号化器VLCは、上記量子化成分の大きさを示す数値と符号(符号語)との対応を示す符号表を用いて、ジグザグスキャン器Scanから出力された量子化成分Coefに符号を割り当て、各ブロック毎に量子化成分を符号化ストリームStr0aに変換する。
図32は、図30に示す画像符号化装置201aに対応する画像復号化装置202aを説明するためのブロック図である。
この画像復号化装置202aは、図30に示す従来の画像符号化装置201aから出力された符号化ストリームStr0aを復号化するものである。
この画像復号化装置202aは、上記画像符号化装置201aから出力された符号化ストリームStr0aに対して復号化処理を施す復号化器RLD0aと、該復号化器RLD0aの出力(復号量子化成分)DQSに対して逆量子化処理を施す逆量子化器IQとを有している。
また、該画像復号化装置202aは、該逆量子化器IQの出力(復号周波数成分)ITransSに対して逆周波数変換処理を施す逆周波数変換器ITransと、該逆周波数変換器ITransの出力(復号ブロック化画像信号)DBlkSに基づいて、各ピクチャに対応する復号画像信号Voutを生成する逆ブロック化器DeBlkとを有している。
次に動作について説明する。
上記画像復号化装置202aに上記画像符号化装置201aからの符号化ストリームStr0aが入力されると、上記復号化器RLD0aは、符号化ストリームStr0aに対して復号化処理を施して復号量子化成分DQSを出力する。この復号化器RLD0aの動作は、上記符号化器RLE0aの動作とは逆の動作である。
さらに、逆量子化器IQは、量子化器Qの逆の動作、つまり復号量子化成分DQSを量子化パラメータQPを参照して逆量子化する動作を行って、復号周波数成分ITransSを出力する。また、逆周波数変換器ITransは、周波数変換器Transの逆動作、つまり復号周波数成分ITransSを逆DCTや逆ウェーブレット変換などを用いて各ブロックに対応する復号画像信号DBlkSに復元する動作を行う。そして、逆ブロック化器DeBlkは、上記各ブロックの復号画像信号DBlkSを統合して各ピクチャに対応する復号画像信号Voutを出力する。
図33は上記画像復号化装置202aを構成する復号化器RLD0aを説明するためのブロック図である。
この復号化器RLD0aは、符号化ストリームStr0aに対して可変長復号化処理を施して、符号化ストリームStr0aに含まれる個々の符号に対応する量子化成分Coefを復号化する可変長復号化器VLDと、該可変長復号化器VLDから出力された、1次元の配列を有する復号量子化成分Coefから、2次元の配列を有する復号量子化成分DQSを復元する逆ジグザグスキャン器IScanとを有している。
このような復号化器RLD0aでは、可変長復号化器VLDは可変長符号化器VLCとは逆の動作により、符号化ストリームStr0aを復号化して、符号(符号語)に対応する量子化成分Coefを出力する。そして、逆ジグザグスキャン器IScanはジグザグスキャン器Scanとは逆の動作により、上記可変長復号化器VLDから出力された1次元の配列を有する量子化成分Coefを、2次元の配列を有する復号量子化成分DQSに復元し、上記逆量子化器IQに出力する。
なお、特許文献1には、画像信号を輝度信号と色差信号に分けて可変長符号化処理を施す方法が開示されている。
ところで、上記各ブロックに対応する、一定の順序が設定された複数の量子化係数は、その値が0でない係数(非0係数)の後に、その値が0である係数(0係数)が複数連続するといった冗長性の高いデータである。そこで、このような量子化係数の符号化には、従来から、その冗長な情報を排除して符号化する方法、例えば、連続する0係数の個数を示すラン値と、0係数の後に続く非0係数の値を示すレベル値を用いて量子化係数を符号化するランレングス符号化方法が用いられている。
以下、ランレングス符号化方法を用いた従来の画像符号化装置について説明する。
図34はランレングス符号化を行う従来の画像符号化装置を示すブロック図である。
この画像符号化装置201bは、図30に示す画像符号化装置201aにおける符号化器RLE0aに代えて、量子化器Qの出力(量子化成分)QSに対してランレングス符号化を施して符号化ストリームStr0bを出力するランレングス符号化器RLE0bを備えたものであり、その他の構成は、上記画像符号化装置201aと同一である。
また、画像符号化装置201bの動作は、上記符号化器RLE0bの動作のみ、上記画像符号化装置201aのものと異なる。
図35は上記画像符号化装置201bの符号化器RLE0bの具体的な構成を示すブロック図である。
このランレングス符号化器RLE0bは、上記符号化器RLE0aと同様、2次元の配列を有する量子化器Qの出力(量子化成分)QSを1次元の配列(つまり、所定の順序)を有する量子化成分Coefに変換するジグザグスキャン器Scanを有している。
そして、このランレングス符号化器RLE0bは、連続する、その値が0である量子化成分(0係数)Coefの個数を計測して、該連続する0係数の個数を示すラン値Runを出力するラン計測器RunCalと、該0係数に続く、その値が0でない量子化成分Coef(非0係数)の値を計測して、該非0係数の値を示すレベル値Levを出力するレベル計測器LevCalとを有している。
さらに、このランレングス符号化器RLE0bは、上記レベル計測器LevCalの出力であるレベル値Levに可変長符号化処理を施して符号列(レベル値符号列)LStrを出力する可変長符号化器LevVLCと、上記ラン計測器RunCalの出力であるラン値Runに可変長符号化処理を施して符号列(ラン値符号列)RStrを出力する可変長符号化器RunVLCと、上記レベル値符号列LStrとラン値符号列RStrとをブロック毎に多重化して多重符号化ストリームStr0bを出力する多重化器MUXとを有している。
次に動作について説明する。
ジグザグスキャン器Scanは、上記量子化器Qから出力された2次元の配列を有する量子化成分QSを1次元の配列(所定の順序)を有する量子化成分Coefに変換して出力する。上記ジグザグスキャン器Scanでの量子化成分QSの変換処理は、上記画像符号化装置201aの符号化器RLE0aのものと同様に行われる。
そして、上記ラン計測器RunCalは、上記ジグザグスキャン器Scanから出力された量子化成分Coefに基づいて、連続する0係数の個数を計測し、該個数を示すラン値Runを出力する。また、上記レベル計測器LevCalは、上記ジグザグスキャン器Scanから出力された量子化成分Coefに基づいて、上記連続する0係数に続く非0係数の値を計測し、この値を示すレベル値Levを出力する。
ここで、上記ラン計測器RunCalは、処理対象となっている対象ブロックにおける最高周波数成分(非0係数のうちで最後のもの)を検出したとき、EOB(ブロックの最後)という特別な値を発生して、それ以降のより高い周波数成分はその値が全て0であることを通知する。
さらに、上記可変長符号化器RunVLCは、上記ラン計測器RunCalの出力であるラン値Runに対して、符号表もしくは算術計算によって該ラン値に符号(符号語)を割り当てる可変長符号化処理を施して符号列RStrを出力し、また、上記可変長符号化器LevVLCは、上記レベル計測器LevCalの出力であるレベル値Levに対して符号表もしくは算術計算によって該レベル値に符号(符号語)を割り当てる可変長符号化処理を施して符号列LStrを出力する。
そして、多重化器MUXは、上記符号列LStrと符号列RStrとをブロック毎に多重化して多重符号化ストリームStr0bを出力する。
ここで、上記符号列LStrと符号列RStrとの多重化処理は、例えば、ブロック毎に、対象ブロックに対応するすべてのラン値に対する符号列RStrの後に該対象ブロックに対応するすべてのレベル値に対する符号列LStrが続くよう、あるいは対象ブロックに対応するすべてのレベル値に対する符号列LStrの後に該対象ブロックに対応するすべてのラン値に対する符号列RStrが続くよう行われる。
このように一定の順序を有する複数の量子化係数を、その値が0である量子化成分(0係数)Coefの個数を示すラン値Run、及び該0係数に続く、その値が0でない量子化成分Coef(非0係数)の値を示すレベル値Levを用いて符号化する画像符号化装置では、複数の量子化係数をその冗長な情報を排除して高い符号化効率で符号化することができる。
図36は、図34に示す画像符号化装置201bに対応する画像復号化装置202bを説明するためのブロック図である。
この画像復号化装置202bは、図34に示す従来の画像符号化装置201bから出力された符号化ストリームStr0bを復号化するものである。
この画像復号化装置202bは、図32に示す画像復号化装置202aにおける復号化供給RLD0aに代えて、上記画像符号化装置201bから出力された符号化ストリームStr0bに対して、ランレングス復号化処理を施すランレングス復号化器RLD0bを備えたものであり、その他の構成は、上記画像復号化装置202aのものと同一である。
また、画像復号化装置202bの動作は、上記復号化器RLD0bの動作のみ、上記画像復号化装置202aのものと異なる。
図37は上記画像復号化装置202bのランレングス復号化器RLD0bの具体的な構成を示すブロック図である。
このランレングス復号化器RLD0bは、上記画像符号化装置201bから出力された多重符号化ストリームStr0bから、レベル値に対応する符号列LStrとラン値に対応する符号列RStrとを分離する分離器DMUXと、符号列LStrに対して可変長復号化処理を施してレベル値Levを復元する可変長復号化器LevVLDと、符号列RStrに対して可変長復号化処理を施してラン値Runを復元する可変長復号化器RunVLDと、該レベル値Levとラン値Runにより表される1次元の配列を有する復号量子化成分から、2次元の配列を有する復号量子化成分DQSを復元する逆ジグザグスキャン器IScanとを有している。
次に動作について説明する。
上記画像復号化装置202bでは、ランレングス復号化器RLD0bは、ランレングス符号化器RLE0bとは逆の動作を行う。つまり、ランレングス復号化器RLD0bは、多重符号化ストリームStr0bから、レベル値に対応する符号列LStrとラン値に対応する符号列RStrとを分離する。
すると、可変長復号化器LevVLDは、可変長符号化器LevVLCとは逆の動作により、レベル値に対応する符号列LStrを復号化して、レベル値Levを出力する。また、可変長復号化器RunVLDは、可変長符号化器RunVLCとは逆の動作により、ラン値に対応する符号列RStrを復号化して、ラン値Runを出力する。
逆ジグザグスキャン器IScanは、ジグザグスキャン器Scanとは逆の動作により、上記レベル値Levとラン値Runで表現される1次元の配列を有する量子化成分から、2次元の配列を有する復号量子化成分DQSを復元し、上記逆量子化器IQに出力する。ただし、この逆ジグザグスキャン器IScan(図37参照)は、図33に示す逆ジグザグスキャン器IScanと異なり、その入力はレベル値Levとラン値Runであるから、図37に示す逆ジグザグスキャン器IScanは、レベル値Levとラン値Runで表される係数を量子化成分Coefに変換する機能を有している。
このように一定の順序を有する複数の量子化係数を復号化する復号化処理を、その値が0である量子化成分(0係数)Coefの個数を示すラン値Run、及び該0係数に続く、その値が0でない量子化成分Coef(非0係数)の値を示すレベル値Levを用いて行う画像復号化装置では、複数の量子化係数をランレングス符号化によりその冗長な情報を排除して高い符号化効率で符号化して得られた符号化データを、良好に復号化することができる。
以下、ランレングス符号化方法を用いた従来の画像符号化装置の他の例について説明する。
図38は従来のランレングス符号化器を用いた画像符号化装置の他の例を示すブロック図である。MPEGやITU H.261、H.263などの規格および現在策定中のH.26L規格案(TML8)に準拠した従来の画像符号化装置は殆ど全てが図38に示すような構成になっている。
この画像符号化装置201cは、図34に示す画像符号化装置201bと同様、ラン値及びレベル値を用いて量子化係数の符号化を行うものであるが、この画像符号化装置201cは、画像符号化装置201bのようにラン値及びレベル値を別々に可変長符号化するのではなく、ラン値とレベル値からなる対(ランレベル対)に対して可変長符号化処理を施すものである。
すなわち、この画像符号化装置201cは、上記画像符号化装置201bと同様、画像信号Vinが入力されるブロック化器Blkと、その出力BlkSを周波数変換する周波数変換器Transと、該変換器の出力(周波数成分)TransSを量子化する量子化器Qとを有している。そして、この画像符号化装置201cは、該量子化器の出力(量子化成分)QSに対して、ラン値及びレベル値からなるランレベル対を可変長符号に変換するランレングス符号化を施すランレングス符号化器RLE0cとを有している。
次に動作について説明する。
ブロック化器Blkは画像信号Vinをブロック単位の画像信号に分割して画素値成分(ブロック化画像信号)BlkSを生成する。周波数変換器Transは該画素値成分BlkSをDCT(離散コサイン変換)やウェーブレット変換などを用いて周波数成分TransSに変換する。量子化器Qは該周波数成分TransSを量子化パラメータQPに基づいて量子化して量子化成分QSを出力するとともに、該量子化パラメータQを出力する。ランレングス符号化器RLE0cは上記量子化成分QSに対してランレングス符号化を施して符号化ストリームStr0cを出力する。
ここで、上記ブロックは、画像信号の符号化処理の単位となる、ピクチャ内の所定サイズの領域であり、一定数の画素から構成されている。また、ここでは、上記ランレングス符号化は、連続する、その値が0である量子化成分(0係数)の個数を示すラン値と、該0係数に続く、その値が0でない量子化成分(非0係数)の値を示すレベル値との対を可変長符号に変換する処理、言い換えると、上記ラン値とレベル値の対(ランレベル対)に1つの可変長符号(符号語)を割り当てる処理である。
次に上記ランレングス符号化器RLE0cについて詳しく説明する。
図39は従来のランレングス符号化器RLE0cを示すブロック図である。
このランレングス符号化器RLE0cは、図35に示すランレングス符号化器RLE0bと同様、2次元の配列を有する量子化器Qの出力(量子化成分)QSを1次元の配列(つまり、所定の順序)を有する量子化成分Coefに変換するジグザグスキャン器Scanと、連続する、その値が0である量子化成分(0係数)Coefの個数を計測して、ラン値Runを出力するラン計測器RunCalと、該0係数に続く、その値が0でない量子化成分Coef(非0係数)の値を計測して、レベル値Levを出力するレベル計測器LevCalとを有している。
そして、このランレングス符号化器RLE0cは、ラン計測器RunCal及びレベル計測器LevCalの出力に基づいて、レベル値Levとラン値Runの対に対応する符号番号Codeを符号表もしくは算術計算によって算出するランレベルコード変換器RunLevEncと、符号番号Codeに符号語を割り当て、上記画像信号Vinに対応する符号化ストリームStr0cを生成する可変長符号化器VLCとを有している。
次に動作について説明する。
このランレングス符号化器RLE0cでは、ランレングス符号化器RLE0bと同様、ジグザグスキャン器Scanは、上記量子化器Qから出力された2次元の配列を有する量子化成分QSを1次元の配列(所定の順序)を有する量子化成分Coefに変換して出力する。
図43は上記ジグザグスキャン器Scanでの量子化成分QSの変換処理を具体的に説明するための図である。
量子化器Qから出力された量子化成分QSは、図43に示すように、2次元の配列、つまり、各量子化成分QSが、2次元の周波数領域Fr上にて、その水平方向の周波数成分の大きさ及び垂直方向の周波数成分の大きさに応じてマトリクス状に並ぶ配列を有している。
ジグザグスキャン器Scanは、このように2次元の配列を有する量子化成分QSを、矢印Y1〜Y7で示すように、ジグザグにスキャンする処理を行って、1次元の配列を有する量子化成分Coefに変換する。つまりこのスキャン処理により、2次元の配列を有する複数の量子化成分QSに対して、上記スキャン経路に沿った所定の順序が設定される。
そして、上記ラン計測器RunCalは、上記ジグザグスキャン器Scanから出力された量子化成分Coefに基づいて、連続する0係数の個数を計測し、該個数を示すラン値Runを出力する。また、上記レベル計測器LevCalは、上記ジグザグスキャン器Scanから出力された量子化成分Coefに基づいて、上記連続する0係数に続く非0係数の値を計測し、この値を示すレベル値Levを出力する。ここで、上記ラン計測器RunCalは、処理対象となっている対象ブロックにおける最高周波数成分(非0係数のうちで最後のもの)を検出したとき、EOB(ブロックの最後)という特別な値を発生して、それ以降のより高い周波数成分はその値が全て0であることを通知する。
さらに、上記ランレベルコード変換器RunLevEncは、上記ラン計測器RunCal及びレベル計測器LevCalの出力に基づいて、レベル値Levとラン値Runの対に対応する符号番号Codeを、符号表もしくは算術計算によって計算する。上記可変長符号化器VLCは、変換器RunLevEncにて得られた符号番号Codeを符号化し、つまり、符号番号Codeに符号語(ビット列)を割り当て、符号化ストリームStr0を生成する。
図42は上記ランレングス符号化器RLE0cで用いられる符号表の例を示している。図42に示す符号表(第1の符号化表)T1は、策定中のH.26L規格案(TML8)に準拠した色差信号のDC成分の符号表を示している。
この符号表T1は、レベル値とラン値から算術演算によって、レベル値とラン値の対に対応する符号番号を計算できる規則的生成可能部分(regularly build VLC)と、算術演算ではレベル値とラン値の対に対応する符号番号を計算できない非規則的部分(table look up VLC)とから構成されている。また、各符号番号Codeに対しては1対1に対応する符号語としてのビット列(図示せず)が割り当てられるが、値の小さい符号番号Codeには短い符号語が割り当てられる。
次に上記画像符号化装置201cに対応する従来の画像復号化装置について説明する。
図40は従来のランレングス復号化器RLD0cを用いた画像復号化装置202cを示すブロック図である。
この画像復号化装置202cは、図39に示す従来の画像符号化装置201cから出力された符号化ストリームStr0cを復号化するものである。
この画像復号化装置202cは、図36に示す画像復号化装置202bと同様、ラン値及びレベル値を用いて量子化係数の復号を行うものであるが、この画像復号化装置202cは、上記画像復号化装置202bのようにラン値及びレベル値の可変長復号化を、ラン値とレベル値とで別々に行うのではなく、ラン値とレベル値からなる対(ランレベル対)の可変長復号化を行うものである。
すなわち、この画像復号化装置202cは、上記画像符号化装置201cから出力された符号化ストリームStr0cに対して、ラン値及びレベル値からなるランレベル対を用いたランレングス復号化処理を施すランレングス復号化器RLD0cを有している。さらに、上記画像復号化装置202cは、上記画像復号化装置202bと同様、該ランレングス復号化器RLD0cの出力(復号量子化成分)DQSに対して逆量子化処理を施す逆量子化器IQと、該逆量子化器IQの出力(復号周波数成分)ITransSに対して逆周波数変換処理を施す逆周波数変換器ITransと、該逆周波数変換器ITransの出力(復号画素値成分)DBlkSに基づいて、各ピクチャに対応する復号画像信号Voutを生成する逆ブロック化器DeBlkとを有している。
次に動作について説明する。
上記画像復号化装置202cでは、ランレングス復号化器RLD0cは、ランレングス符号化器RLE0cとは逆の動作を行う。つまり、ランレングス復号化器RLD0cは、符号化ストリームStr0cに対してランレングス復号化処理を施して復号量子化成分DQSを出力する。逆量子化器IQは、量子化器Qとは逆の動作、つまり復号量子化成分DQSを量子化パラメータQPを参照して逆量子化する動作を行って、復号周波数成分ITransSを出力する。逆周波数変換器ITransは、周波数変換器Transとは逆の動作、つまり復号周波数成分ITransSを逆DCTや逆ウェーブレット変換などを用いて各ブロックに対応する復号画素値信号(復号ブロック化画像信号)DBlkSに復元する動作を行う。逆ブロック化器DeBlkは、上記各ブロックの復号画素値成分DBlkSを統合して各ピクチャに対応する復号画像信号Voutを出力する。
次に上記ランレングス復号化器RLD0cについて詳しく説明する。
図41は上記ランレングス復号化器RLD0cの具体的な構成を説明するためのブロック図である。
このランレングス復号化器RLD0cは、符号化ストリームStr0cに対して可変長復号化処理を施して、符号化ストリームStr0cに含まれる個々の符号(符号語)に対応する符号番号Codeを求める可変長復号化器VLDと、該符号番号Codeに対応する、レベル値Levとラン値Runの対を取得するランレベル取得器RunLevDecと、対をなすレベル値Levとラン値Runに基づいて、該レベル値Levとラン値Runにより表される1次元の配列を有する復号量子化成分から、2次元の配列を有する復号量子化成分DQSを復元する逆ジグザグスキャン器IScanとを有している。
次に動作について説明する。
このランレングス復号化器RLD0cでは、可変長復号化器VLDは可変長符号化器VLCとは逆の動作により、符号化ストリームStr0cを復号化して、符号語(ビット列)に対応する符号番号Codeを出力する。ランレベル取得器RunLevDecは、ランレベルコード変換器RunLevEncとは逆の動作により、符号表を参照するかもしくは算術演算によって、符号番号Codeに対応する、対をなすレベルLev値とラン値Runを出力する。逆ジグザグスキャン器IScanはジグザグスキャン器Scanとは逆の動作により、上記対をなすレベル値Levとラン値Runで表現される1次元の配列を有する量子化成分から、2次元の配列を有する復号量子化成分DQSを復元し、上記逆量子化器IQに出力する。
なお、特許文献2には、一定順序を有する複数の係数を、その値が0である量子化成分(0係数)Coefの個数を示すラン値Run、及び該0係数に続く、その値が0でない量子化成分Coef(非0係数)の値を示すレベル値Levを用いて符号化するランレングス符号化方法が開示されている。
また、特許文献3には、デジタル映像データを予測符号化する方法において、差分動きベクトル値を可変長符号化テーブルを用いて符号化する際、差分動きベクトル値の大きさに応じて、可変長符号化テーブル(VLCテーブル)を切り換える方法が開示されている。
また、画素値を可変長符号化する他の方法として、画素値が所定の値を取る確率を用いて算術演算で可変長符号化を行う算術符号化が知られている。算術符号化では、確率から符号が導出できることから、個々の事象に対応する確率が記載された確率テーブルが上記VLCテーブルに相当する。なお、非特許文献1には、符号化対象の画素の画素値を、その周辺画素の画素値から予測した符号化対象画素の予測方法(コンテクスト)に基づいて確率テーブルを切り替えて算術符号化する方法が記載されている。
特開平6−311534号公報
特開平6−237184号公報
特許第3144456号公報(特開平8−79088号公報)
三木弼一編著,「MPEG−4のすべて」,工業調査会発行,1998年9月30日,初版第1刷発行,p.69−73
上述した従来の画像符号化装置201aの符号化器RLE0aは、画像データの周波数成分を量子化して得られる複数の量子化係数を、一定の処理単位(ブロック)毎に可変長符号化するものであるが、該各量子化係数の大きさを示す数値情報と符号(符号語)との対応を複数示す、決められた符号表を用いるものであって、この符号化器による可変長符号化処理では、処理対象となるデータである量子化係数に存在する冗長性な情報を十分除去できておらず、圧縮率向上の余地が残っているという課題があった。
また、従来の画像符号化装置201b,201cの符号化器RLE0b,RLE0cのように、複数の量子化係数の可変長符号化を、その値が0である量子化成分(0係数)Coefの個数を示すラン値や、該0係数に続く、その値が0でない量子化成分Coef(非0係数)の値を示すレベル値を用いて行うランレングス符号化器においても、可変長符号化処理の際の量子化係数に存在する冗長な情報の除去は、十分なものではなかった。
また、従来の画像復号化装置202aの復号化器RLD0a、あるいは従来の画像復号化装置202b,202cのランレングス復号化器RLD0b,RLD0cは、量子化係数に対する可変長符号化処理の際、該量子化係数に存在する冗長性な情報を十分除去できない符号化器に対応するものであった。
また、デジタル映像データを予測符号化する方法において、差分動きベクトル値を可変長符号化テーブルを用いて符号化する際、差分動きベクトル値の大きさに応じて、可変長符号化テーブル(VLCテーブル)を切り換える方法については、画像信号の周波数成分を量子化してなる量子化係数のように、複数の0係数が連続するような特性を有するデータに対する可変長符号化処理における効果的な符号化テーブルの切替は分かっていなかった。
本発明は上記のような課題を解決するためになされたもので、可変長符号化処理の対象となるデータ(量子化係数)に存在する情報の冗長性を、量子化係数の特性や量子化係数に対する符号化処理の状況に応じて、より効果的に除去した符号化データを復号化することができ、これにより画像信号などの圧縮率のさらなる向上を図ることができる可変長復号化方法を得ることを目的とする。
本発明に係る可変長符号化方法は、複数の係数からなる係数データを符号化する可変長符号化方法であって、上記各係数に対して、該係数の大きさを表す数値情報と符号との対応を示す複数の符号表を用いて、上記係数データを複数の符号からなる符号化データに変換する符号化処理を施す符号化ステップを含み、該符号化ステップは、上記符号表を、上記符号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ステップと、上記符号化処理が施されていない未符号化係数に対して、上記選択された符号表を用いて符号を割り当てる符号割当ステップとを含むものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択ステップは、上記符号割当ステップで用いる符号表を、上記量子化ステップの大きさに応じて選択するものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とを、それぞれ符号に変換するものであり、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、上記量子化ステップの大きさに応じて1つの符号表を選択する第1の選択処理と、上記レベル値と符号との対応を示す複数の符号表から、上記量子化ステップの大きさに応じて1つの符号表を選択する第2の選択処理のうちの少なくとも一方の選択処理を行うものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号化処理が施されていない未符号化係数に対応するラン値及びレベル値の少なくとも一方に符号を割り当てるものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、上記符号表選択ステップは、上記量子化ステップの大きさに応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号化処理が施されていない未符号化係数に対応するランレベル対に符号を割り当てるものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記符号表選択ステップは、上記符号割当ステップで用いる符号表を、上記符号化処理が施された処理済係数に関する情報に応じて選択するものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とを、それぞれ符号に変換するものであり、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、符号化処理が施された処理済み係数に対応するラン値に関する情報に応じて1つの符号表を選択する第1の選択処理と、上記レベル値と符号との対応を示す複数の符号表から、符号化処理が施された処理済み係数に対応するレベル値に関する情報に応じて1つの符号表を選択する第2の選択処理のうちの少なくとも一方の選択処理を行うものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号化処理が施されていない未符号化係数に対応するラン値及びレベル値の少なくとも一方に符号を割り当てるものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、符号が割当てられている処理済みラン値の個数に応じて1つの符号表を選択するものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号の割り当てられていない未符号化ラン値に符号を割り当てるものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、上記符号表選択ステップは、符号化処理が施された処理済み係数に対応するランレベル対に関する情報に応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号化処理が施されていない未符号化係数に対応するランレベル対に符号を割り当てるものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号化ステップは、上記係数に対する符号化処理を、上記係数データを構成する複数の係数に対して、対応する画像データの周波数成分の高い順に符号が割当られるよう行うものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、一定数の係数からなるブロック毎に、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、上記符号表選択ステップは、上記符号化処理の対象となる対象ブロックにおける、符号化処理の施された処理済係数の個数と、該対象ブロックにおける、符号化処理の施されていない未符号化非0係数の個数との和に応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記対象ブロックにおける未符号化係数に対応するランレベル対に符号を割り当てるものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、上記符号化ステップは、上記ランレベル対と、これに対応する符号との対応を、該ランレベル対を形成するラン値とレベル値の組み合わせに応じて示す第1の符号表に基づいて、該第1の符号表における、ランレベル対と符号との対応を規則的に変更して、該第1の符号表とは、該ランレベル対と符号との対応が異なる第2の符号表を作成する符号表処理ステップを含み、上記符号表選択ステップは、上記第1及び第2の符号表の一方を、上記処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択するものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記第1及び第2の符号表は、各ランレベル対に、該ランレベル対を形成するレベル値が小さいほど、短い符号を対応付けたものであり、上記第2の符号表は、上記第1の符号表と比べて、平均的に、短い符号を対応付けられるランレベル対のレベル値が小さいものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記第1及び第2の符号表は、各ランレベル対に、該ランレベル対を形成するラン値が小さいほど、短い符号を対応付けたものであり、上記第2の符号表は、上記第1の符号表と比べて、平均的に、短い符号を対応付けられるランレベル対のラン値が小さいものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、ランレベル対の符号への変換を、一定数の係数からなるブロック毎に行うものであり、上記符号表処理ステップは、上記第2の符号表を、上記符号化処理の対象となる対象ブロックにおける、該符号化処理が施された処理済係数の数に応じて作成するものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記符号割当ステップは、上記ランレベル対に対する符号の割当を、画像データの周波数成分の高い係数に対応するランレベル対から順に行うものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記第2の符号表は、上記第1の符号表に含まれる、ランレベル対と符号との複数の対応のうちの、規則的に算出可能な対応のみを変更したものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数データを構成する係数は、画像データの周波数成分を、画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択ステップは、上記第1の符号表と第2の符号表の切替えを、上記量子化ステップの大きさに基づいて行う符号表切替ステップであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記符号表選択ステップは、上記第1の符号表と第2の符号表の切替を、切替え指示信号に基づいて行う符号表切替ステップであり、上記符号化ステップは、上記切替え指示信号の符号化処理を行うものであることを特徴とするものである。
本発明は、上記可変長符号化方法において、上記係数に対する符号化処理は、ランレベル対の符号への変換を、一定の係数からなるブロック毎に行うものであり、上記符号表処理ステップは、上記第2の符号表を、符号化処理の対象となる対象ブロックにおける、符号化処理が施された処理済係数の個数と、該対象ブロックにおける、符号化処理が施されていない未符号化非0係数の個数との和に応じて作成するものであることを特徴とするものである。
本発明に係る可変長符号化装置は、複数の係数からなる係数データを符号化する可変長符号化装置であって、上記各係数に対して、該係数の大きさを表す数値情報と符号との対応を示す複数の符号表を用いて、上記係数データを複数の符号からなる符号化データに変換する符号化処理を施す符号化部を含み、該符号化部は、上記符号表を、上記符号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択部と、上記符号化処理が施されていない未符号化係数に対して、上記選択された符号表を用いて符号を割り当てる符号割当部とを有するものであることを特徴とするものである。
本発明は、上記可変長符号化装置において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択部は、上記符号割当部で用いる符号表を、上記量子化ステップの大きさに応じて選択するものであることを特徴とするものである。
本発明は、上記可変長符号化装置において、上記符号表選択部は、上記符号割当部で用いる符号表を、上記符号化処理が施された処理済係数に関する情報に応じて選択するものであることを特徴とするものである。
本発明は、上記可変長符号化装置において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とを、それぞれ符号に変換するものであり、上記符号表選択部は、上記ラン値と符号との対応を示す複数の符号表から、符号が割当てられている処理済みラン値の個数に応じて1つの符号表を選択するものであり、上記符号割当部は、上記選択された符号表に基づいて、上記符号の割り当てられていない未符号化ラン値に符号を割り当てるものであることを特徴とするものである。
本発明は、上記可変長符号化装置において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号化部は、上記係数に対する符号化処理を、上記係数データを構成する複数の係数に対して、対応する画像データの周波数成分の高い順に符号が割当られるよう行うものであることを特徴とするものである。
本発明に係るプログラム記憶媒体は、複数の係数からなる係数データを符号化する可変長符号化処理をコンピュータにより行うプログラムを格納した記憶媒体であって、上記プログラムは、上記各係数に対して、該係数の大きさを表す数値情報と符号との対応を示す複数の符号表を用いて、上記係数データを複数の符号からなる符号化データに変換する符号化処理を施す符号化ステップを含み、該符号化ステップは、上記符号表を、上記符号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ステップと、上記符号化処理が施されていない未符号化係数に対して、上記選択された符号表を用いて符号を割り当てる符号割当ステップとを含むものであることを特徴とするものである。
本発明に係る可変長復号化方法は、複数の係数からなる係数データを可変長符号化して得られた、複数の符号からなる符号化データを復号化する可変長復号化方法であって、上記各符号に対して、上記係数の大きさを表す数値情報と上記符号との対応を示す複数の符号表を用いて、上記符号化データを上記複数の係数からなる係数データに復元する復号化処理を施す復号化ステップを含み、該復号化ステップは、上記符号表を、上記復号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ステップと、上記復号化処理が施されていない未復号化符号に対応する数値情報を、上記選択された符号表を用いて取得する数値取得ステップとを含むものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択ステップは、上記数値取得ステップで用いる符号表を、上記量子化ステップの大きさに応じて選択するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号に対する復号化処理は、上記符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とに復元するものであり、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、上記量子化ステップの大きさに応じて1つの符号表を選択する第1の選択処理と、上記レベル値と符号との対応を示す複数の符号表から、上記量子化ステップの大きさに応じて1つの符号表を選択する第2の選択処理のうちの少なくとも一方の選択処理を行うものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するラン値及びレベル値の少なくとも一方を取得するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号に対する復号化処理は、該符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対に復元するものであり、上記符号表選択ステップは、上記量子化ステップの大きさに応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するランレベル対を取得するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号表選択ステップは、上記数値取得ステップで用いる符号表を、上記復号化処理により得られた処理済係数に関する情報に応じて選択するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号に対する復号化処理は、該符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とに復元するものであり、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、復号化処理により得られた処理済みラン値に関する情報に応じて1つの符号表を選択する第1の選択処理と、上記レベル値と符号との対応を示す複数の符号表から、復号化処理により得られた処理済みレベル値に関する情報に応じて1つの符号表を選択する第2の選択処理のうちの少なくとも一方の選択処理を行うものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するラン値及びレベル値の少なくとも一方を取得するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、復号化処理により得られた処理済みラン値の個数に応じて1つの符号表を選択するものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するラン値を取得するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号に対する復号化処理は、符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対に復元するものであり、上記符号表選択ステップは、復号化処理により得られたランレベル対に関する情報に応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するランレベル対を取得するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記復号化ステップは、上記符号に対する復号化処理を、上記符号に対応する数値情報が、対応する画像データの周波数成分の高いものから順に取得されるよう行うものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号に対する復号化処理は、上記係数データを構成する一定数の係数からなるブロック毎に、上記符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対に復元するものであり、上記符号表選択ステップは、上記復号化処理の対象となる対象ブロックにおける、該ブロックの復号化処理により得られた処理済係数の個数と、該対象ブロックにおける、該ブロックの復号化処理では未だ得られていない未復号化非0係数の個数との和に応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記対象ブロックにおける未復号化係数に対応するランレベル対を取得するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号に対する復号化処理は、該符号化データを構成する符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対に復元するものであり、上記復号化ステップは、上記ランレベル対と、これに対応する符号との対応を、該ランレベル対を形成するラン値とレベル値の組み合わせに応じて示す第1の符号表に基づいて、該第1の符号表における、ランレベル対と符号との対応を規則的に変更して、該第1の符号表とは、該ランレベル対と符号との対応が異なる第2の符号表を作成する符号表処理ステップを含み、上記符号表選択ステップは、上記第1及び第2の符号表の一方を、上記処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記第1及び第2の符号表は、各ランレベル対に、該ランレベル対を形成するレベル値が小さいほど、短い符号を対応付けたものであり、上記第2の符号表は、上記第1の符号表と比べて、平均的に、短い符号を対応付けられるランレベル対のレベル値が小さいものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記第1及び第2の符号表は、各ランレベル対に、該ランレベル対を形成するラン値が小さいほど、短い符号を対応付けたものであり、上記第2の符号表は、上記第1の符号表と比べて、平均的に、短い符号を対応付けられるランレベル対のラン値が小さいものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号に対する復号化処理は、該符号のランレベル対への復元を、上記係数データを構成する一定数の係数からなるブロック毎に行うものであり、上記符号表処理ステップは、上記第2の符号表を、上記復号化処理の対象となる対象ブロックにおける、該復号化処理により得られた処理済係数の数に応じて作成するものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記数値取得ステップは、上記符号に対応するランレベル対の取得を、対応する画像データの周波数成分の高いランレベル対から順に行うものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記第2の符号表は、上記第1の符号表に含まれる、ランレベル対と符号との複数の対応のうちの、規則的に算出可能な対応のみを変更したものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記係数データを構成する係数は、画像データの周波数成分を、画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択ステップは、上記第1の符号表と第2の符号表の切替えを、上記量子化ステップの大きさに基づいて行うものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号表選択ステップは、上記第1の符号表と第2の符号表の切替を、切替え指示信号に基づいて行う符号表切替ステップを含むものであり、上記復号化ステップは、上記切替え指示信号の復号化処理を行うものであることを特徴とするものである。
本発明は、上記可変長復号化方法において、上記符号に対する復号化処理は、符号のランレベル対への復元を、上記係数データを構成する一定の係数からなるブロック毎に行うものであり、上記符号表処理ステップは、上記第2の符号表を、復号化処理の対象となる対象ブロックにおける、該ブロックに対する復号化処理により得られた処理済係数の個数と、該対象ブロックにおける、該ブロックに対する復号化処理では未だ得られていない未復号化非0係数の個数との和に応じて作成するものであることを特徴とするものである。
本発明に係る可変長復号化装置は、複数の係数からなる係数データを可変長符号化して得られた、複数の符号からなる符号化データを復号化する可変長復号化装置であって、上記各符号に対して、上記係数の大きさを表す数値情報と上記符号との対応を示す複数の符号表を用いて、上記符号化データを上記複数の係数からなる係数データに復元する復号化処理を施す復号化部を備え、該復号化部は、上記符号表を、上記復号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択部と、上記復号化処理が施されていない未復号化符号に対応する数値情報を、上記選択された符号表を用いて取得する数値取得部とを有するものであることを特徴とするものである。
本発明は、上記可変長復号化装置において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択部は、上記数値取得部で用いる符号表を、上記量子化ステップの大きさに応じて選択するものであることを特徴とするものである。
本発明は、上記可変長復号化装置において、上記符号表選択部は、上記数値取得部で用いる符号表を、上記復号化処理により得られた処理済係数に関する情報に応じて選択するものであることを特徴とするものである。
本発明は、上記可変長復号化装置において、上記符号に対する復号化処理は、該符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とに復元するものであり、上記符号表選択部は、上記ラン値と符号との対応を示す複数の符号表から、復号化処理により得られた処理済みラン値の個数に応じて1つの符号表を選択するものであり、上記数値取得部は、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するラン値を取得するものであることを特徴とするものである。
本発明は、上記可変長復号化装置において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記復号化部は、上記符号に対する復号化処理を、上記符号に対応する数値情報が、対応する画像データの周波数成分の高いものから順に取得されるよう行うものであることを特徴とするものである。
本発明に係るプログラム記憶媒体は、複数の係数からなる係数データを可変長符号化して得られた、複数の符号からなる符号化データを復号化する可変長復号化処理をコンピュータにより行うプログラムを格納した記憶媒体であって、上記プログラムは、上記各符号に対して、上記係数の大きさを表す数値情報と上記符号との対応を示す複数の符号表を用いて、上記符号化データを上記複数の係数からなる係数データに復元する復号化処理を施す復号化ステップを含み、該復号化ステップは、上記符号表を、上記復号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ステップと、上記復号化処理が施されていない未復号化符号に対応する数値情報を、上記選択された符号表を用いて取得する数値取得ステップとを含むものであることを特徴とするものである。
本発明に係る可変長符号化方法によれば、複数の係数からなる係数データを符号化する可変長符号化方法であって、上記各係数に対して、該係数の大きさを表す数値情報と符号との対応を示す複数の符号表を用いて、上記係数データを複数の符号からなる符号化データに変換する符号化処理を施す符号化ステップを含み、該符号化ステップは、上記符号表を、上記符号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ステップと、上記符号化処理が施されていない未符号化係数に対して、上記選択された符号表を用いて符号を割り当てる符号割当ステップとを含むものであることを特徴とするので、可変長符号化処理の対象となる係数データに含まれる冗長な情報が、該係数データを構成する係数の特性や該係数に対する符号化処理の状況に応じた符号表の選択により効果的に除去されることとなり、これにより画像信号などに対する可変長符号化処理の符号化効率を大きく向上することができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択ステップは、上記符号割当ステップで用いる符号表を、上記量子化ステップの大きさに応じて選択するものであることを特徴とするので、常に、量子化ステップの大きさに適した、符号化効率が最大となる符号表を用いることができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とを、それぞれ符号に変換するものであり、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、上記量子化ステップの大きさに応じて1つの符号表を選択する第1の選択処理と、上記レベル値と符号との対応を示す複数の符号表から、上記量子化ステップの大きさに応じて1つの符号表を選択する第2の選択処理のうちの少なくとも一方の選択処理を行うものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号化処理が施されていない未符号化係数に対応するラン値及びレベル値の少なくとも一方に符号を割り当てるものであることを特徴とするので、ラン値及びレベル値の少なくとも一方に対する符号の割当を、常に、量子化ステップの大きさに適した、割り当てられる符号の合計ビット数が最小となる符号表を用いて行うことができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、上記符号表選択ステップは、上記量子化ステップの大きさに応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号化処理が施されていない未符号化係数に対応するランレベル対に符号を割り当てるものであることを特徴とするので、ランレベル対に対する符号の割当を、常に、量子化ステップの大きさに適した、割り当てられる符号の合計ビット数が最小となる符号表を用いて行うことができる効果がある。
本発明によれば、上記可変長符号化方法において、上記符号表選択ステップは、上記符号割当ステップで用いる符号表を、上記符号化処理が施された処理済係数に関する情報に応じて選択するものであることを特徴とするので、量子化係数に対する符号化処理を、常に、未符号化係数の個数に適した、符号化効率が最大となる符号表を用いて行うことができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とを、それぞれ符号に変換するものであり、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、符号化処理が施された処理済み係数に対応するラン値に関する情報に応じて1つの符号表を選択する第1の選択処理と、上記レベル値と符号との対応を示す複数の符号表から、符号化処理が施された処理済み係数に対応するレベル値に関する情報に応じて1つの符号表を選択する第2の選択処理のうちの少なくとも一方の選択処理を行うものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号化処理が施されていない未符号化係数に対応するラン値及びレベル値の少なくとも一方に符号を割り当てるものであることを特徴とするので、ラン値及びレベル値の少なくとも一方に対する符号の割当を、常に、未符号化係数の個数に適した、符号化効率が最大となる符号表を用いて行うことができる効果がある。
本発明によれば、上記可変長符号化方法において、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、符号が割当てられている処理済みラン値の個数に応じて1つの符号表を選択するものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号の割り当てられていない未符号化ラン値に符号を割り当てるものであることを特徴とするので、ラン値に対する符号の割当を、常に、未符号化ラン値の個数に適した、符号化効率が最大となる符号表を用いて行うことができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、上記符号表選択ステップは、符号化処理が施された処理済み係数に対応するランレベル対に関する情報に応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記符号化処理が施されていない未符号化係数に対応するランレベル対に符号を割り当てるものであることを特徴とするので、ランレベル対に対する符号の割当を、常に、未符号化係数の個数に適した、符号化効率が最大となる符号表を用いて行うことができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号化ステップは、上記係数に対する符号化処理を、上記係数データを構成する複数の係数に対して、対応する画像データの周波数成分の高い順に符号が割当られるよう行うものであることを特徴とするので、上記係数に割り当てられる符号の合計ビット数をより一層削減することができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数に対する符号化処理は、一定数の係数からなるブロック毎に、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、上記符号表選択ステップは、上記符号化処理の対象となる対象ブロックにおける、符号化処理の施された処理済係数の個数と、該対象ブロックにおける、符号化処理の施されていない未符号化非0係数の個数との和に応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記符号割当ステップは、上記選択された符号表に基づいて、上記対象ブロックにおける未符号化係数に対応するランレベル対に符号を割り当てるものであることを特徴とするので、出現する可能性のないラン値とレベル値の対を排除した符号表を用いることができ、これにより可変長符号化効率を向上することができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対を符号に変換するものであり、上記符号化ステップは、上記ランレベル対と、これに対応する符号との対応を、該ランレベル対を形成するラン値とレベル値の組み合わせに応じて示す第1の符号表に基づいて、該第1の符号表における、ランレベル対と符号との対応を規則的に変更して、該第1の符号表とは、該ランレベル対と符号との対応が異なる第2の符号表を作成する符号表処理ステップを含み、上記符号表選択ステップは、上記第1及び第2の符号表の一方を、上記処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択するものであることを特徴とするので、ラン値とレベル値との対に符号を割り当てる際に用いる符号表として、第1及び第2の符号表のうちの最適なものが選択されることとなり、処理対象データに存在する情報の冗長性をより効果的に除去することができる。これにより画像信号などの圧縮率のさらなる向上を図ることができ、その実用的価値は高いものである。
本発明によれば、上記可変長符号化方法において、上記第1及び第2の符号表は、各ランレベル対に、該ランレベル対を形成するレベル値が小さいほど、短い符号を対応付けたものであり、上記第2の符号表は、上記第1の符号表と比べて、平均的に、短い符号を対応付けられるランレベル対のレベル値が小さいものであることを特徴とするので、上記処理対象データを構成する係数の量子化パラメータが大きい場合に有効であるという効果がある。
本発明によれば、上記可変長符号化方法において、上記第1及び第2の符号表は、各ランレベル対に、該ランレベル対を形成するラン値が小さいほど、短い符号を対応付けたものであり、上記第2の符号表は、上記第1の符号表と比べて、平均的に、短い符号を対応付けられるランレベル対のラン値が小さいものであることを特徴とするので、上記処理対象データを構成する係数の量子化パラメータが小さい場合に有効である。
本発明によれば、上記可変長符号化方法において、上記係数に対する符号化処理は、ランレベル対の符号への変換を、一定数の係数からなるブロック毎に行うものであり、上記符号表処理ステップは、上記第2の符号表を、上記符号化処理の対象となる対象ブロックにおける、該符号化処理が施された処理済係数の数に応じて作成するものであることを特徴とするので、第2の符号表を、出現する可能性のないラン値とレベル値の対を排除したものとすることができ、これにより可変長符号化効率を一層向上することができる効果がある。
本発明によれば、上記可変長符号化方法において、上記符号割当ステップは、上記ランレベル対に対する符号の割当を、画像データの周波数成分の高い係数に対応するランレベル対から順に行うものであることを特徴とするので、第2の符号表を、出現する可能性のないラン値とレベル値の対を排除したものとすることによる可変長符号化効率の向上を、より大きなものとすることができる効果がある。
本発明によれば、上記可変長符号化方法において、上記第2の符号表は、上記第1の符号表に含まれる、ランレベル対と符号との複数の対応のうちの、規則的に算出可能な対応のみを変更したものであることを特徴とするので、第2の符号表の作成に要する演算処理を削減することができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数データを構成する係数は、画像データの周波数成分を、画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択ステップは、上記第1の符号表と第2の符号表の切替えを、上記量子化ステップの大きさに基づいて行う符号表切替ステップであることを特徴とするので、上記処理対象データを構成する係数の可変長符号化処理に用いる符号表として、量子化ステップに適したものを用いることができる効果がある。
本発明によれば、上記可変長符号化方法において、上記符号表選択ステップは、上記第1の符号表と第2の符号表の切替を、切替え指示信号に基づいて行う符号表切替ステップであり、上記符号化ステップは、上記切替え指示信号の符号化処理を行うものであることを特徴とするので、処理対象データの特性などに合わせて、上記係数の可変長符号化処理に用いる符号表を切替えることができる効果がある。
本発明によれば、上記可変長符号化方法において、上記係数に対する符号化処理は、ランレベル対の符号への変換を、一定の係数からなるブロック毎に行うものであり、上記符号表処理ステップは、上記第2の符号表を、符号化処理の対象となる対象ブロックにおける、符号化処理が施された処理済係数の個数と、該対象ブロックにおける、符号化処理が施されていない未符号化非0係数の個数との和に応じて作成するものであることを特徴とするので、第2の符号表を、出現する可能性のないラン値とレベル値の対を排除したものとすることができ、これにより可変長符号化効率を一層向上することができる効果がある。
本発明に係る可変長符号化装置によれば、複数の係数からなる係数データを符号化する可変長符号化装置であって、上記各係数に対して、該係数の大きさを表す数値情報と符号との対応を示す複数の符号表を用いて、上記係数データを複数の符号からなる符号化データに変換する符号化処理を施す符号化部を含み、該符号化部は、上記符号表を、上記符号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択部と、上記符号化処理が施されていない未符号化係数に対して、上記選択された符号表を用いて符号を割り当てる符号割当部とを有するものであることを特徴とするので、可変長符号化処理の対象となる係数データに含まれる冗長な情報が、該係数データを構成する係数の特性や該係数に対する符号化処理の状況に応じた符号表の選択により効果的に除去されることとなり、これにより画像信号などに対する可変長符号化処理の符号化効率を大きく向上することができる効果がある。
本発明によれば、上記可変長符号化装置において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択部は、上記符号割当部で用いる符号表を、上記量子化ステップの大きさに応じて選択するものであることを特徴とするので、常に、量子化ステップの大きさに適した、符号化効率が最大となる符号表を用いることができる効果がある。
本発明によれば、上記可変長符号化装置において、上記符号表選択部は、上記符号割当部で用いる符号表を、上記符号化処理が施された処理済係数に関する情報に応じて選択するものであることを特徴とするので、量子化係数に対する符号化処理を、常に、未符号化係数の個数に適した、符号化効率が最大となる符号表を用いて行うことができる効果がある。
本発明によれば、上記可変長符号化装置において、上記係数に対する符号化処理は、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とを、それぞれ符号に変換するものであり、上記符号表選択部は、上記ラン値と符号との対応を示す複数の符号表から、符号が割当てられている処理済みラン値の個数に応じて1つの符号表を選択するものであり、上記符号割当部は、上記選択された符号表に基づいて、上記符号の割り当てられていない未符号化ラン値に符号を割り当てるものであることを特徴とするので、ラン値に対する符号の割当を、常に、未符号化ラン値の個数に適した、符号化効率が最大となる符号表を用いて行うことができる効果がある。
本発明によれば、上記可変長符号化装置において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号化部は、上記係数に対する符号化処理を、上記係数データを構成する複数の係数に対して、対応する画像データの周波数成分の高い順に符号が割当られるよう行うものであることを特徴とするので、上記係数に割り当てられる符号の合計ビット数をより一層削減することができる効果がある。
本発明に係るプログラム記憶媒体によれば、複数の係数からなる係数データを符号化する可変長符号化処理をコンピュータにより行うプログラムを格納した記憶媒体であって、上記プログラムは、上記各係数に対して、該係数の大きさを表す数値情報と符号との対応を示す複数の符号表を用いて、上記係数データを複数の符号からなる符号化データに変換する符号化処理を施す符号化ステップを含み、該符号化ステップは、上記符号表を、上記符号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ステップと、上記符号化処理が施されていない未符号化係数に対して、上記選択された符号表を用いて符号を割り当てる符号割当ステップとを含むものであることを特徴とするので、可変長符号化処理の対象となる係数データに含まれる冗長な情報を、該係数データを構成する係数の特性や該係数に対する符号化処理の状況に応じた符号表の選択により効果的に除去できる符号化効率の高い可変長符号化処理を、ソフトウエアにより実現することができる効果がある。
本発明に係る可変長復号化方法によれば、複数の係数からなる係数データを可変長符号化して得られた、複数の符号からなる符号化データを復号化する可変長復号化方法であって、上記各符号に対して、上記係数の大きさを表す数値情報と上記符号との対応を示す複数の符号表を用いて、上記符号化データを上記複数の係数からなる係数データに復元する復号化処理を施す復号化ステップを含み、該復号化ステップは、上記符号表を、上記符号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ステップと、上記復号化処理が施されていない未復号化符号に対応する数値情報を、上記選択された符号表を用いて取得する数値取得ステップとを含むものであることを特徴とするので、係数データを、符号表の切替えにより該係数データに含まれる冗長な情報を効果的に除去して符号化することができる符号化効率の高い可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化方法において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択ステップは、上記数値取得ステップで用いる符号表を、上記量子化ステップの大きさに応じて選択するものであることを特徴とするので、常に、量子化ステップの大きさに適した、符号化効率が最大となる符号表を用いる可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号に対する復号化処理は、上記符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とに復元するものであり、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、上記量子化ステップの大きさに応じて1つの符号表を選択する第1の選択処理と、上記レベル値と符号との対応を示す複数の符号表から、上記量子化ステップの大きさに応じて1つの符号表を選択する第2の選択処理のうちの少なくとも一方の選択処理を行うものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するラン値及びレベル値の少なくとも一方を取得するものであることを特徴とするので、ラン値及びレベル値の少なくとも一方に対する符号の割当を、常に、量子化ステップの大きさに適した、割り当てられる符号の合計ビット数が最小となる符号表を用いて行う可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号に対する復号化処理は、該符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対に復元するものであり、上記符号表選択ステップは、上記量子化ステップの大きさに応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するランレベル対を取得するものであることを特徴とするので、ランレベル対に対する符号の割当を、常に、量子化ステップの大きさに適した、割り当てられる符号の合計ビット数が最小となる符号表を用いて行う可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号表選択ステップは、上記数値取得ステップで用いる符号表を、上記復号化処理により得られた処理済係数に関する情報に応じて選択するものであることを特徴とするので、量子化係数を、常に、未復号化係数の個数に適した、符号化効率が最大となる符号表を用いて符号化する可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号に対する復号化処理は、該符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とに復元するものであり、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、復号化処理により得られた処理済みラン値に関する情報に応じて1つの符号表を選択する第1の選択処理と、上記レベル値と符号との対応を示す複数の符号表から、復号化処理により得られた処理済みレベル値に関する情報に応じて1つの符号表を選択する第2の選択処理のうちの少なくとも一方の選択処理を行うものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するラン値及びレベル値の少なくとも一方を取得するものであることを特徴とするので、ラン値及びレベル値の少なくとも一方に対する符号の割当を、常に、未復号化係数の個数に適した、符号化効率が最大となる符号表を用いて行う可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号表選択ステップは、上記ラン値と符号との対応を示す複数の符号表から、復号化処理により得られた処理済みラン値の個数に応じて1つの符号表を選択するものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するラン値を取得するものであることを特徴とするので、ラン値に対する符号の割当を、常に、未復号化ラン値の個数に適した、符号化効率が最大となる符号表を用いて行う可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号に対する復号化処理は、符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対に復元するものであり、上記符号表選択ステップは、復号化処理により得られたランレベル対に関する情報に応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するランレベル対を取得するものであることを特徴とするので、ランレベル対に対する符号の割当を、常に、未復号化係数の個数に適した、符号化効率が最大となる符号表を用いて行う可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化方法において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記復号化ステップは、上記符号に対する復号化処理を、上記符号に対応する数値情報が、対応する画像データの周波数成分の高いものから順に取得されるよう行うものであることを特徴とするので、上記係数に割り当てられる符号の合計ビット数をより一層削減可能な可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号に対する復号化処理は、上記係数データを構成する一定数の係数からなるブロック毎に、上記符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対に復元するものであり、上記符号表選択ステップは、上記復号化処理の対象となる対象ブロックにおける、該ブロックの復号化処理により得られた処理済係数の個数と、該対象ブロックにおける、該ブロックの復号化処理では未だ得られていない未復号化非0係数の個数との和に応じて、上記ランレベル対と符号との対応を示す複数の符号表から1つの符号表を選択するものであり、上記数値取得ステップは、上記選択された符号表に基づいて、上記対象ブロックにおける未復号化係数に対応するランレベル対を取得するものであることを特徴とするので、出現する可能性のないラン値とレベル値の対を排除した符号表を用いて、効率の高い可変長符号化処理に対応した可変長復号化処理を実現できる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号に対する復号化処理は、該符号化データを構成する符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とからなるランレベル対に復元するものであり、上記復号化ステップは、上記ランレベル対と、これに対応する符号との対応を、該ランレベル対を形成するラン値とレベル値の組み合わせに応じて示す第1の符号表に基づいて、該第1の符号表における、ランレベル対と符号との対応を規則的に変更して、該第1の符号表とは、該ランレベル対と符号との対応が異なる第2の符号表を作成する符号表処理ステップを含み、上記符号表選択ステップは、上記第1及び第2の符号表の一方を、上記処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択するものであることを特徴とするので、符号をラン値とレベル値との対に変換する際に用いる符号表として、第1及び第2の符号表のうちの最適なものが選択されることとなる。これにより、処理対象データに存在する情報の冗長性をより効果的に除去する可変長符号化処理に対応する可変長復号化処理を良好に行うことができ、その実用的価値は高いものである。
本発明によれば、上記可変長復号化方法において、上記第1及び第2の符号表は、各ランレベル対に、該ランレベル対を形成するレベル値が小さいほど、短い符号を対応付けたものであり、上記第2の符号表は、上記第1の符号表と比べて、平均的に、短い符号を対応付けられるランレベル対のレベル値が小さいものであることを特徴とするので、上記処理対象データを構成する係数に関する量子化パラメータが大きい場合に有効である。
本発明によれば、上記可変長復号化方法において、上記第1及び第2の符号表は、各ランレベル対に、該ランレベル対を形成するラン値が小さいほど、短い符号を対応付けたものであり、上記第2の符号表は、上記第1の符号表と比べて、平均的に、短い符号を対応付けられるランレベル対のラン値が小さいものであることを特徴とするので、上記処理対象データを構成する係数の量子化パラメータが小さい場合に有効である。
本発明によれば、上記可変長復号化方法において、上記符号に対する復号化処理は、該符号のランレベル対への復元を、上記係数データを構成する一定数の係数からなるブロック毎に行うものであり、上記符号表処理ステップは、上記第2の符号表を、上記復号化処理の対象となる対象ブロックにおける、該復号化処理により得られた処理済係数の数に応じて作成するものであることを特徴とするので、第2の符号表を、出現する可能性のないラン値とレベル値の対を排除したものとすることができ、これにより、より効率の高い可変長符号化処理に対応した可変長復号化処理を実現できる効果がある。
本発明によれば、上記可変長復号化方法において、上記数値取得ステップは、上記符号に対応するランレベル対の取得を、対応する画像データの周波数成分の高いランレベル対から順に行うものであることを特徴とするので、第2の符号表を、出現する可能性のないラン値とレベル値の対を排除したものとすることによりさらに効果的に圧縮率を向上した可変長符号化処理に対応する可変長復号化処理を実現できる効果がある。
本発明によれば、上記可変長復号化方法において、上記第2の符号表は、上記第1の符号表に含まれる、ランレベル対と符号との複数の対応のうちの、規則的に算出可能な対応のみを変更したものであることを特徴とするので、第2の符号表の作成に要する演算処理を削減することができる効果がある。
本発明によれば、上記可変長復号化方法において、上記係数データを構成する係数は、画像データの周波数成分を、画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択ステップは、上記第1の符号表と第2の符号表の切替えを、上記量子化ステップの大きさに基づいて行うものであることを特徴とするので、上記処理対象データを構成する係数の可変長復号化処理に用いる符号表として、量子化ステップに適したものを用いることができる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号表選択ステップは、上記第1の符号表と第2の符号表の切替を、切替え指示信号に基づいて行う符号表切替ステップを含むものであり、上記復号化ステップは、上記切替え指示信号の復号化処理を行うものであることを特徴とするので、処理対象データの特性などに合わせて、可変長復号化処理に用いる符号表を切替えることができる効果がある。
本発明によれば、上記可変長復号化方法において、上記符号に対する復号化処理は、符号のランレベル対への復元を、上記係数データを構成する一定の係数からなるブロック毎に行うものであり、上記符号表処理ステップは、上記第2の符号表を、復号化処理の対象となる対象ブロックにおける、該ブロックに対する復号化処理により得られた処理済係数の個数と、該対象ブロックにおける、該ブロックに対する復号化処理では未だ得られていない未復号化非0係数の個数との和に応じて作成するものであることを特徴とするので、第2の符号表として、出現する可能性のないラン値とレベル値の対を排除したものを用いて、より効率の高い可変長符号化処理に対応した可変長復号化処理を実現できる効果がある。
本発明に係る可変長復号化装置によれば、複数の係数からなる係数データを可変長符号化して得られた、複数の符号からなる符号化データを復号化する可変長復号化装置であって、上記各符号に対して、上記係数の大きさを表す数値情報と上記符号との対応を示す複数の符号表を用いて、上記符号化データを上記複数の係数からなる係数データに復元する復号化処理を施す復号化部を備え、該復号化部は、上記符号表を、上記復号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択部と、上記復号化処理が施されていない未復号化符号に対応する数値情報を、上記選択された符号表を用いて取得する数値取得部とを有するものであることを特徴とするので、係数データを、符号表の切替えにより該係数データの情報の冗長性を効果的に除去して符号化することができる符号化効率の高い可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化装置において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記符号表選択部は、上記数値取得部で用いる符号表を、上記量子化ステップの大きさに応じて選択するものであることを特徴とするので、常に、量子化ステップの大きさに適した、符号化効率が最大となる符号表を用いる可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化装置において、上記符号表選択部は、上記数値取得部で用いる符号表を、上記復号化処理により得られた処理済係数に関する情報に応じて選択するものであることを特徴とするので、量子化係数を、常に、未復号化係数の個数に適した、符号化効率が最大となる符号表を用いて符号化する可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化装置において、上記符号に対する復号化処理は、該符号を、その値が0である連続する0係数の個数を示すラン値と、該0係数に続く非0係数の値を示すレベル値とに復元するものであり、上記符号表選択部は、上記ラン値と符号との対応を示す複数の符号表から、復号化処理により得られた処理済みラン値の個数に応じて1つの符号表を選択するものであり、上記数値取得部は、上記選択された符号表に基づいて、上記復号化処理が施されていない未復号化符号に対応するラン値を取得するものであることを特徴とするので、ラン値に対する符号の割当を、常に、未復号化ラン値の個数に適した、符号化効率が最大となる符号表を用いて行う可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明によれば、上記可変長復号化装置において、上記係数は、画像データの周波数成分を、該画像データに応じた量子化ステップに基づいて量子化して得られたものであり、上記復号化部は、上記符号に対する復号化処理を、上記符号に対応する数値情報が、対応する画像データの周波数成分の高いものから順に取得されるよう行うものであることを特徴とするので、上記係数に割り当てられる符号の合計ビット数をより一層削減可能な可変長符号化処理に対応した可変長復号化処理を行うことができる効果がある。
本発明に係るプログラム記憶媒体によれば、複数の係数からなる係数データを可変長符号化して得られた、複数の符号からなる符号化データを復号化する可変長復号化処理をコンピュータにより行うプログラムを格納した記憶媒体であって、上記プログラムは、上記各符号に対して、上記係数の大きさを表す数値情報と上記符号との対応を示す複数の符号表を用いて、上記符号化データを上記複数の係数からなる係数データに復元する復号化処理を施す復号化ステップを含み、該復号化ステップは、上記符号表を、上記符号化処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて選択する符号表選択ステップと、上記復号化処理が施されていない未復号化符号に対応する数値情報を、上記選択された符号表を用いて取得する数値取得ステップとを含むものであることを特徴とするので、係数データを、符号表の切替えにより該係数データに含まれる冗長な情報を効果的に除去して符号化することができる符号化効率の高い可変長符号化処理に対応した可変長復号化処理を、ソフトウエアにより実現することができる効果がある。
まず、本発明の基本原理について説明する。
一般に、量子化ステップが粗い場合は量子化成分の絶対値が小さくなるために、ラン(0係数が続く長さ)が長くなり、レベル値(非0係数の値)の絶対値が小さくなる。逆に、量子化ステップが密な場合は量子化成分の絶対値が大きくなるために、ランが短くなりレベル値の絶対値が大きくなる。
また、処理対象ブロックにて既に多くの量子化成分の可変長符号化が完了しており、未符号化の量子化成分の数が少ない場合は、その未符号化の量子化成分の数を上回るラン値は発生し得ない。このため、そのラン値とレベル値との対を符号表から除去すれば、符号化効率が向上する。
このような観点から、本発明は、量子化係数に対する可変長符号化処理あるいは可変長復号化処理の状況や量子化係数の生成に関するパラメータ(量子化パラメータ)に応じて、量子化係数の大きさを示す数値情報と符号との対応を示す符号表を切替えるものであり、これにより、可変長符号化処理の対象となるデータ(量子化係数)に存在する冗長な情報をより効果的に除去できるものである。
例えば、上記符号表の切替えは、従来の可変長符号化あるいは復号化処理で用いられる符号表(第1の符号表)と、該第1の符号表に基づいて作成した、処理対象データに対して最適化された第2の符号表との一方を、量子化係数に対する処理状況に応じて選択することにより行われる。但し、必ずしも第1の符号表に基づいて第2の符号表を作成する必要はなく、選択の候補となる符号表は、処理対象データに適した符号表であればよい。
以下、本発明の実施の形態について、図1から図25を用いて説明する。
(実施の形態1)
図1は本発明の実施の形態1による画像符号化装置を説明するためのブロック図である。
この実施の形態1の画像符号化装置101は、図34に示す従来の画像符号化装置201bにおける、量子化器Qの出力(量子化成分)QSに対して可変長符号化処理を施して符号化ストリームStr0bを出力するランレングス符号化器RLE0bに代えて、上記量子化器Qの出力QSに対して、量子化パラメータQP及びVLC選択信号VlcSelに基づいて、可変長符号化処理を施して符号化ストリームStr1を出力するランレングス符号化器RLE1を備えたものである。
ここで、上記量子化パラメータQPは量子化ステップの大きさを表すパラメータであり、量子化ステップは量子化パラメータQPにほぼ比例する。つまり、量子化パラメータQPが大きい場合は、量子化成分の絶対値が小さくなるために、量子化成分の0ラン(その値が0の成分が連続して並ぶ長さ)が長くなり、レベル値の絶対値が小さくなる。
図2は上記ランレングス符号化器RLE1の具体的な構成を説明するためのブロック図である。
このランレングス符号化器RLE1は、図35に示す従来のランレングス符号化器RLE0bと同様、2次元の配列を有する量子化器Qの出力(量子化成分)QSを1次元の配列(つまり、所定の順序)を有する量子化成分Coefに変換するジグザグスキャン器Scanと、連続する、その値が0である量子化成分(0係数)Coefの個数を計測して、該連続する0係数の個数を示すラン値Runを出力するラン計測器RunCalと、該0係数に続く、その値が0でない量子化成分Coef(非0係数)の値を計測して、該非0係数の値を示すレベル値Levを出力するレベル計測器LevCalとを有している。
図3(a)は、1ブロックに対応する量子化成分Q1〜Q16の2次元の配列を示し、図3(b)は、ジグザグスキャン器Scanによる上記量子化成分Q1〜Q16のスキャン経路を矢印A1〜A15で示している。ここで量子化成分Q1は、画像信号の周波数成分のDC成分を量子化したものであり、量子化成分Q2〜Q16は、画像信号の周波数成分のAC成分を量子化したものである。また、図3(c)は、ジグザグスキャン器Scanによるジグザグスキャンにより得られた量子化成分Q1〜Q16の1次元の配列(符号化の順序)を示し、図3(d)は、量子化成分Q1〜Q16の大きさを示す具体的な数値の1次元の配列を示している。
そして、上記ランレングス符号化器RLE1は、上記レベル計測器LevCalの出力であるレベル値Levを並べ替える順序並替器Lreodrと、上記ラン計測器RunCalの出力であるラン値Runを並べ替える順序並替器Rreodrと、上記ラン計測器RunCalの出力に基づいて、対象ブロックにおける未符号化係数の個数Cnumを計測して出力する個数計測器NumClcとを有している。図3(e)は、図3(c),(d)に示す配列を有する量子化成分の数値から得られるラン値及びレベル値の順序を示し、図3(f)は、並替え後のラン値及びレベル値の順序を示している。
また、ランレングス符号化器RLE1は、順序並替器Lreodrの出力ROLevに対して、上記量子化パラメータQP及び切替え信号VldSelに基づいて、可変長符号化処理を施して符号列(レベル値符号列)LStrを出力する可変長符号化器LVLCと、順序並替器Rreodrの出力RORunに対して、上記未符号化係数の個数Cnumに基づいて、可変長符号化処理を施して符号列(ラン値符号列)RStrを出力する可変長符号化器RVLCと、上記符号列LStrと符号列RStrとをブロック毎に多重化して多重符号化ストリームStr1を出力する多重化器MUXとを有している。
図4は、上記可変長符号化器LVLCの可変長符号化処理を説明する図であり、図4(a)はレベル値の可変長符号化処理のフローの説明図、図4(b)は該レベル値の可変長符号化処理で用いる符号表の説明図である。
図4(b)は、レベル値(Level)の配列Alevと、量子化パラメータQPが閾値より小さい場合の符号(符号語)の配列Ca1と、量子化パラメータQPが閾値以上である場合の符号(符号語)の配列Ca2とを示している。
ここで、符号表L1は、レベル値(Level)の配列Alevと、量子化パラメータQPが閾値より小さい場合の符号(符号語)の配列Ca1とから構成されており、量子化パラメータQPが閾値より小さい場合の、レベル値(Level)と符号との対応を複数示している。符号表L2は、レベル値(Level)の配列Alevと、量子化パラメータQPが閾値以上である場合の符号(符号語)の配列Ca2とから構成されており、量子化パラメータQPが閾値以上である場合の、レベル値(Level)と符号との対応を複数示している。
図5は、上記可変長符号化器RVLCの可変長符号化処理を説明する図であり、図5(a)はラン値の可変長符号化処理のフローの説明図、図5(b)は該ラン値の可変長符号化処理で用いる符号表の説明図である。
図5(b)は、ラン値(Run)の配列Arunと、未符号化0係数の個数が1である場合の符号(符号語)の配列Cb1と、未符号化0係数の個数が2である場合の符号(符号語)の配列Cb2と、未符号化0係数の個数が3である場合の符号(符号語)の配列Cb3と、未符号化0係数の個数が4である場合の符号(符号語)の配列Cb4と、未符号化0係数の個数が5である場合の符号(符号語)の配列Cb5と、未符号化0係数の個数が6である場合の符号(符号語)の配列Cb6と、未符号化0係数の個数が7である場合の符号(符号語)の配列Cb7と、未符号化0係数の個数が8以上である場合の符号(符号語)の配列Cb8とを示している。
ここで、符号表R1は、ラン値(Run)の配列Arunと、未符号化0係数の個数が1である場合の符号(符号語)の配列Cb1とから構成されており、未符号化0係数の個数が1である場合の、ラン値(Run)と符号との対応を複数示している。同様に、符号表R2,R3,R4,R5,R6,R7はそれぞれ、ラン値(Run)の配列Arunと、未符号化0係数の個数が2,3,4,5,6,7である場合の符号(符号語)の配列Cb2,Cb3,Cb4,Cb5,Cb6,Cb7とから構成されており、未符号化0係数の個数が2,3,4,5,6,7である場合の、ラン値(Run)と符号との対応を複数示している。さらに、符号表R8は、ラン値(Run)の配列Arunと、未符号化0係数の個数が8以上である場合の符号(符号語)の配列Cb8とから構成されており、未符号化0係数の個数が8以上である場合の、ラン値(Run)と符号との対応を複数示している。
次に動作について説明する。
この実施の形態1の画像符号化装置101では、ブロック化器Blk,周波数変換器Trans,及び量子化器Qは、従来の画像符号化装置201a(図30参照)あるいは画像符号化装置201b(図34参照)のものと同様に動作する。
つまり、画像符号化装置101aに画像信号Vinが入力されると、ブロック化器Blkは、入力された画像信号Vinをブロック単位に分割して、各ブロックに対応する画像信号(画素値成分)BlkSを生成する。周波数変換器Transは、該画素値成分BlkSをDCT(離散コサイン変換)やウェーブレット変換などを用いて周波数成分TransSに変換する。量子化器Qは該周波数成分TransSを量子化パラメータQPに基づいて、所定の量子化ステップでもって量子化して量子化成分QSを出力するとともに、該量子化パラメータQPを出力する。ランレングス符号化器RLE1は上記量子化成分QSに対して可変長符号化処理を施して符号化ストリームStr1を出力する。
以下、上記ランレングス符号化器RLE1の動作について詳しく説明する。
ジグザグスキャン器Scanは、上記量子化器Qから出力された量子化成分QS(つまり図3(a)に示す2次元の配列を有する複数の量子化係数Q1〜Q16)のジグザグスキャンを行って、該量子化成分QSを量子化成分Coefに変換して出力する。ここで、上記量子化成分QSのジグザグスキャンは、図3(a)に示す2次元の配列を有する複数の量子化係数Q1〜Q16を、図3(b)の矢印A1〜A15で示す経路に沿ってスキャンして、複数の量子化係数Q1〜Q16の配列を図3(c)に示す1次元の配列(処理順序)に変換するものである。なお、図3(d)は、上記ジグザグスキャンが施された複数の量子化係数Q1〜Q16の具体的な数値の配列(20,-10,5,0,2,0,0,0,1,0,0,0,-1,0,0,1)を示している。
ラン計測器RunCalは、上記ジグザグスキャン器Scanから出力された量子化成分Coefに基づいて、連続する0係数の個数を計測し、該個数を示すラン値Runを出力する。図3(e)には、ラン計測器RunCalから順次出力される具体的なラン値がその出力される順(0,0,0,1,3,3,2)で示されている。一方、レベル計測器LevCalは、上記ジグザグスキャン器Scanから出力された量子化成分Coefに基づいて、上記連続する0係数に続く非0係数の値を計測し、この値を示すレベル値Levを出力する。図3(e)には、レベル計測器LevCalから順次出力される具体的なレベル値がその出力される順(20,-10,5,2,1,-1,1)で示されている。
順序並替器Rreodrは、上記ラン計測器RunCalから順次出力されたラン値の順序を、出力順とは逆の順序に並べ替える。図3(f)には、順序並替器Rreodrにより並べ替えられた具体的なラン値の順序(2,3,3,1,0,0,0)が示されている。また、個数計測器NumClcは、ラン計測器RunCalから出力されるラン値Runに基づいて、未符号化係数の個数を計測し、該未符号化係数の個数(未符号化係数数)Cnumを出力する。一方、順序並替器Lreodrは、上記レベル計測器LevCalから順次出力されたレベル値の順序を、出力順とは逆の順序に並べ替える。図3(f)には、順序並替器Lreodrにより並べ替えられた具体的なレベル値の順序(1,-1,1,2,5,-10,20)で示されている。
可変長符号化器RVLCは、上記個数計測器NumClcから出力された未符号化0係数数Cnumに基づいて、上記順序並替器Rreodrの出力である並べ替えられたラン値RORunに対して、該ラン値と符号(符号語)との対応を示す複数の符号表を用いてラン値RORunに符号(符号語)を割り当てる可変長符号化処理を施して、ラン値符号列RStrを出力する。一方、可変長符号化器LVLCは、量子化器Qからの量子化パラメータQP及び外部からの、可変長符号化の選択を指示する選択信号VlcSelに基づいて、上記順序並替器Lreodrの出力である並べ替えられたレベル値ROLevに対して、該レベル値と符号(符号語)との対応を示す複数の符号表を用いてレベル値ROLevに符号(符号語)を割り当てる可変長符号化処理を施して、レベル値符号列LStrを出力する。
そして、多重化器MUXは、上記レベル値符号列LStrとラン値符号列RStrとをブロック毎に多重化して多重符号化ストリームStr1を出力する。
ここで、上記レベル値符号列LStrとラン値符号列RStrとの多重化処理は、例えば、ブロック毎に、対象ブロックに対応するすべてのラン値に対する符号列RStrの後に該対象ブロックに対応するすべてのレベル値に対する符号列LStrが続くよう、あるいは対象ブロックに対応するすべてのレベル値に対する符号列LStrの後に該対象ブロックに対応するすべてのラン値に対する符号列RStrが続くよう行われる。
以下、可変長符号化器LVLCの動作について図4を用いて詳述する。
可変長符号化器LVLCは、量子化器Qからの量子化パラメータQPを取得し(ステップSa1)、該取得した量子化パラメータQPの値が、該可変長符号化器LVLCに保持されている量子化パラメータQPの閾値以上であるか否かの判定を行う(ステップSa2)。
この判定の結果、取得した量子化パラメータQPの値が、量子化パラメータQPの閾値より小さい場合は、レベル値の配列Alevと符号(符号語)の配列Ca1とからなる符号表L1(図4(b)参照)を選択し(ステップSa3)、取得した量子化パラメータQPの値が、量子化パラメータQPの閾値以上である場合は、レベル値の配列Alevと符号(符号語)の配列Ca2とからなる符号表L2(図4(b)参照)を選択する(ステップSa4)。
その後、可変長符号化器LVLCは、対象ブロック内に未符号化レベル値Levがあるか否かを判定し(ステップSa5)、対象ブロック内に未符号化レベル値Levがあれば、選択した符号表を用いて、レベル値Levの符号化処理、つまり、該レベル値に、対応する符号を割り当てる処理を行い(ステップSa6)、その後上記ステップSa5処理を行う。一方、上記ステップSa5での判定の結果、対象ブロックに未符号化レベル値Levがない場合は、上記レベル値Levに対する可変長符号化処理を終了する。
なお、可変長符号化器LVLCは、上記VLC選択信号VlcSelにより予め特定の符号表を用いた可変長符号化処理が指定されている場合は、量子化パラメータQPの大きさに拘わらず、該特定の符号表を用いて、レベル値に対する可変長符号化処理を行う。
次に、可変長符号化器RVLCの動作について図5を用いて詳述する。
可変長符号化器RVLCは、個数計測器NumClcの出力(未符号化係数の個数)Cnumに基づいて対象ブロック内に未符号化非0係数があるか否かを判定し(ステップSb1)、この判定の結果、未符号化非0係数がある場合は、個数計測器NumClcからの出力Cnumに基づいて対象ブロック内の未符号化0係数の個数を計測する(ステップSb2)。
そして、可変長符号化器RVLCは、計測した未符号化0係数の個数に応じて、符号表を選択する(ステップSb3)。具体的には、未符号化0係数の個数が1である場合は、ラン値の配列Arunと符号(符号語)の配列Cb1とからなる符号表R1(図5(b)参照)を選択する。同様に、未符号化0係数の個数が2である場合は符号表R2を、該個数が3である場合は符号表R3を、該個数が4である場合は符号表R4を選択する。さらに未符号化0係数の個数が5である場合は符号表R5を、該個数が6である場合は符号表R6を、該個数が7である場合は符号表R7を選択する。そして、未符号化0係数の個数が8以上である場合は符号表R8を選択する。
次に、可変長符号化器RVLCは、選択した符号表を用いて、ラン値Runの符号化処理、つまり、該ラン値に、対応する符号を割り当てる処理を行い(ステップSb4)、その後、上記ステップSb1の判定処理を行う。
なお、上記ステップSb1の判定の結果、未符号化非0係数がない場合は、上記ラン値に対する可変長符号化処理を終了する。
続いて、上記のようにレベル値の可変長符号化の際に量子化パラメータに基づいて符号表を選択することにより、符号化効率が向上する点につき、具体的な例を挙げて説明する。
図6は、量子化パラメータQPが比較的小さい場合、つまり、順序並替器Lreodrから出力される、並べ替えられたレベル計測器LevCalの出力(レベル値)が、図3(f)に示すように1,-1,1,2,5,-10,20である場合に、これらのレベル値に割り当てられる符号の合計ビット数を示している。
量子化パラメータQPが閾値以上であると判断して符号表L2を用いた場合には、各レベル値には、図6(a)に示すように符号(符号語)が割り当てられ、割り当てられる符号の合計ビット数は、75ビットとなる。
一方、量子化パラメータQPが閾値より小さいと判断して符号表L1を用いた場合には、各レベル値には、図6(b)に示すように符号(符号語)が割り当てられ、割り当てられる符号の合計ビット数は、47ビットとなる。
このように、量子化パラメータQPの値が比較的小さい場合には、値が大きい量子化係数の出現頻度が高くなるので、符号表L2に比べて、絶対値が比較的大きいレベル値にも、平均的に短い符号が対応付けられている符号表L1を選択することが、符号化効率を向上する上で有効である。
図7は、量子化パラメータQPが比較的大きい場合、つまり、順序並替器Lreodrから出力される、並べ替えられたレベル計測器LevCalの出力(レベル値)が、図3(f)に示すものとは異なり、1,-1,1,1,1,-2,3である場合に、これらのレベル値に割り当てられる符号の合計ビット数を示している。
量子化パラメータQPが閾値以上であると判断して符号表L2を用いた場合には、各レベル値には、図7(a)に示すように符号(符号語)が割り当てられ、割り当てられる符号の合計ビット数は、15ビットとなる。
一方、量子化パラメータQPが閾値より小さいと判断して符号表L1を用いた場合には、各レベル値には、図7(b)に示すように符号(符号語)が割り当てられ、割り当てられる符号の合計ビット数は、17ビットとなる。
このように、量子化パラメータQPの値が比較的大きい場合には、値が大きい量子化係数の出現頻度が低くなるので、符号表L1に比べて、絶対値が比較的小さいレベル値に、集中的に短い符号が対応付けられている符号表L2を選択することが、符号化効率を向上する上で有効である。
図8は、ラン計測器RunCalから出力されるラン値が、図3(e)に示すように0,0,0,1,3,3,2である場合に、これらのラン値に割り当てられる符号の合計ビット数を示している。
上記ランレングス符号化器RLE1のようなラン値の並替、及び符号表の切り替えを行わないで、常に図5に示す符号表R8を用いる場合は、各ラン値には、図8(a)に示すように符号(符号語)が割り当てられ、割り当てられる符号の合計ビット数は、21ビットとなる。
上記ランレングス符号化器RLE1のようにラン値の並替、及び未符号化0係数数に応じた符号表の切り替えを行う場合は、各ラン値には、図8(b)に示すように符号(符号語)が割り当てられ、割り当てられる符号の合計ビット数は、13ビットとなる。ここで、1つのラン値に符号を割当てる度に、未符号化係数数は、直前に符号化したラン値に1加えた値だけ減少している。これは、単独のあるいは連続する0係数の後には非0係数が必ず1つあるからである。また、順序並替器Rreodrから出力される、1つのブロックに対応する並べ替えられた複数のラン値から得られる未符号化0係数は15である。これは、処理対象となるブロックでは、非0係数が必ず1つはあるためである。
上記ランレングス符号化器RLE1のようなラン値の並替は行わず、未符号化0係数数に応じた符号表の切り替えのみを行う場合は、各ラン値には、図8(c)に示すように符号(符号語)が割り当てられ、割り当てられる符号の合計ビット数は、20ビットとなる。
このように本実施の形態1の画像符号化装置101では、画像信号の周波数成分を量子化して得られた量子化係数を、連続する、その値が0である量子化成分(0係数)Coefの個数を示すラン値Runと、該0係数に続く、その値が0でない量子化成分Coef(非0係数)の値を示すレベル値Levとを用いて符号化するランレングス符号化器RLE1を備えたので、量子化係数をその冗長な情報を排除して高い符号化効率で符号化することができる。
また、本実施の形態1のランレングス符号化器RLE1では、上記量子化パラメータQPの大きさに応じて符号表を選択し、選択した符号表を用いてレベル値の可変長符号化を行う可変長符号化器LVLCを備えたので、レベル値に割り当てられる符号の合計ビット数を削減することができる。また、上記ランレングス符号化器RLE1では、一定の処理順序が付与された量子化係数から計測された複数のラン値を、周波数成分の高い量子化係数に対応するものから順に並べ替える順序並替器Rreodrと、対象ブロックにおける未符号化0係数の個数に応じて符号表を選択し、選択した符号表を用いて、該並べ替えられたラン値の可変長符号化を行う可変長符号化器RVLCとを備えているので、ラン値に割り当てられる符号の合計ビット数を効果的に削減して、符号化効率の向上を図ることができる。
なお、上記実施の形態1では、可変長符号化器RVLCは、対象ブロックにおける未符号化0係数の個数(つまり個数計測器NumClcの出力Cnum)に応じて符号表を選択するものとしているが、可変長符号化器RVLCは、個数計測器NumClcの出力Cnumだけでなく、上記VLC選択信号VlcSelに基づいて符号表を選択するものとしてもよい。例えば、可変長符号化器RVLCは、VLC選択信号VlcSelにより予め特定の符号表を用いた可変長符号化処理が指定されている場合は、対象ブロックにおける未符号化0係数の個数に拘わらず、該特定の符号表を用いて、ラン値に対する可変長符号化処理を行うものとしてもよい。
(実施の形態2)
図9は本発明の実施の形態2による画像復号化装置を説明するためのブロック図である。
この実施の形態2の画像復号化装置102は、例えば、実施の形態1の画像符号化装置101から出力された符号化ストリームStr1を復号化するものである。
そして、この画像復号化装置102は、図36に示す従来の画像復号化装置202bにおける、入力された符号化ストリームStr0bに対して可変長復号化処理を施すランレングス復号化器RLD0bに代えて、入力された符号化ストリームStr1に対して、量子化パラメータQP及びVLD選択信号VldSelに基づいて、可変長復号化処理を施して量子化係数を復元するランレングス復号化器RLD1を備えたものであり、その他の構成は、図36に示す画像復号化装置202bと同一である。
図10は上記ランレングス復号化器RLD1の具体的な構成を説明するためのブロック図である。
このランレングス復号化器RLD1は、図37に示す従来のランレングス復号化器RLD0bと同様、上記画像符号化装置101から出力された多重符号化ストリームStr1から、レベル値に対応する符号列LStrとラン値に対応する符号列RStrとを分離する分離器DMUXを有している。
そして、上記ランレングス復号化器RLD1は、多重符号化ストリームStr1から分離されたレベル値符号列LStrに対して、上記量子化パラメータQP及びVLD選択信号VldSelに基づいて、可変長復号化処理を施して、レベル値ROLevを復元する可変長復号化器LVLDと、多重符号化ストリームStr1から分離されたラン値符号列RStrに対して、未復号化係数の個数に基づいて、可変長復号化処理を施してラン値RORunを復元する可変長復号化器RVLDとを有している。
上記ランレングス復号化器RLD1は、上記可変長復号化器LVLDの出力であるレベル値ROLevに対して、符号化側の順序並替器Lreodrとは逆の並べ替え処理を施して、符号化側のレベル計測器の出力Levを復元する順序逆並替器LIreodrと、上記可変長復号化器RVLDの出力であるラン値RORunに対して、符号化側の順序並替器Rreodrとは逆の並べ替え処理を施して、符号化側のラン計測器の出力Runを復元する順序逆並替器RIreodrと、該順序逆並替器RIreodrの出力Runに基づいて、対象ブロックにおける未復号化係数の個数Cnumを計測して出力する個数計測器NumClcとを有している。
さらに、上記ランレングス復号化器RLD1は、上記レベル値Levとラン値Runにより表される1次元の配列を有する復号量子化成分から、2次元の配列を有する復号量子化成分DQSを復元する逆ジグザグスキャン器IScanとを有している。
図11は、上記可変長復号化器LVLDの可変長復号化処理を説明する図であり、図11(a)はレベル値を復元する可変長復号化処理のフローの説明図、図11(b)は該可変長復号化処理で用いる符号表の説明図である。なお、レベル値の可変長復号化処理で用いる符号表L1及びL2はそれぞれ、上記実施の形態1のランレングス符号化器RLE1でのレベル値の符号化処理で用いた符号表L1及びL2と同一のものである。
図12は、上記可変長復号化器RVLDの可変長復号化処理を説明する図であり、図12(a)はラン値を復元する可変長復号化処理のフローの説明図、図12(b)は該可変長復号化処理で用いる符号表の説明図である。なお、ラン値の可変長復号化処理で用いる符号表R1〜R8はそれぞれ、上記実施の形態1のランレングス符号化器RLE1でのラン値の符号化処理で用いた符号表R1〜R8と同一のものである。
次に動作について説明する。
上記画像復号化装置102に、例えば、実施の形態1の画像符号化装置101からの多重符号化ストリームStr1が入力されると、上記ランレングス復号化器RLD1は、符号化ストリームStr1に対して復号化処理を施して復号量子化成分DQSを出力する。このランレングス復号化器RLD1の動作は、上記ランレングス符号化器RLE1の動作とは逆の動作である。
つまり、ランレングス復号化器RLD1では、分離器DMUXは、入力された多重符号化ストリームStr1から、レベル値に対応するレベル値符号列LStrとラン値に対応するラン値符号列RStrとを分離して、それぞれ可変長復号化器LVLDと可変長復号化器RVLDに出力する。
可変長復号化器LVLDは、量子化器Qからの量子化パラメータQP及び外部からの、可変長復号化の選択を指示するVLD選択信号VldSelに基づいて、上記分離器DMUXからのレベル値符号列LStrに対して、該レベル値と符号(符号語)との対応を示す複数の符号表を用いて、各符号(符号語)に対応するレベル値ROLevを取得して順序逆並替器LIreodrに出力する。一方、可変長復号化器RVLDは、上記個数計測器NumClcから出力された未復号化係数数Cnumに基づいて、上記分離器DMUXからのラン値符号列RStrに対して、該ラン値と符号(符号語)との対応を示す複数の符号表を用いて、各符号(符号語)に対応するラン値ROLevを取得して順序逆並替器RIreodrに出力する。
順序逆並替器LIreodrは、上記可変長復号化器LVLDの出力であるレベル値ROLevに対して、符号化側の順序並替器Lreodrとは逆の並べ替え処理を施して、符号化側のレベル計測器の出力Levを復元する。一方、順序逆並替器RIreodrは、上記可変長復号化器RVLDの出力であるラン値RORunに対して、符号化側の順序並替器Rreodrとは逆の並べ替え処理を施して、符号化側のラン計測器の出力Runを復元する。また、個数計測器NumClcは、該順序逆並替器RIreodrの出力Runに基づいて、対象ブロックにおける未復号化係数の個数Cnumを計測して上記可変長復号化器RVLDに出力する。
そして、逆ジグザグスキャン器IScanは、ジグザグスキャン器Scanとは逆の動作により、上記レベル値Levとラン値Runで表現される1次元の配列を有する量子化成分から、2次元の配列を有する復号量子化成分DQSを復元し、上記逆量子化器IQに出力する。
以下、可変長復号化器LVLDの動作について図11を用いて詳述する。
可変長復号化器LVLDは、画像符号化装置101の量子化器Qからの量子化パラメータQPを取得し(ステップSc1)、該取得した量子化パラメータQPの値が、該可変長復号化器LVLDに保持されている量子化パラメータQPの閾値以上であるか否かの判定を行う(ステップSc2)。
この判定の結果、取得した量子化パラメータQPの値が、量子化パラメータQPの閾値より小さい場合は、レベル値の配列Alevと符号(符号語)の配列Ca1とからなる符号表L1(図11(b)参照)を選択し(ステップSc3)、取得した量子化パラメータQPの値が、量子化パラメータQPの閾値以上である場合は、レベル値の配列Alevと符号(符号語)の配列Ca2とからなる符号表L2(図11(b)参照)を選択する(ステップSc4)。
その後、可変長復号化器LVLDは、対象ブロック内に未復号化レベル値Levがあるか否かを判定し(ステップSc5)、対象ブロック内に未復号化レベル値Levがあれば、選択した符号表を用いて、レベル値Levを復元する復号化処理、つまり、符号に対応するレベル値を取得する処理を行い(ステップSc6)、その後上記ステップSc5処理を行う。一方、上記ステップSc5での判定の結果、対象ブロックに未復号化レベル値Levがない場合は、上記レベル値Levを復元する可変長復号化処理を終了する。
なお、可変長復号化器LVLDは、上記VLD選択信号VldSelにより予め特定の符号表を用いた可変長復号化処理が指定されている場合は、量子化パラメータQPの大きさに拘わらず、該特定の符号表を用いて、レベル値を復元する可変長復号化処理を行う。
次に、可変長復号化器RVLDの動作について図12を用いて詳述する。
可変長復号化器RVLDは、個数計測器NumClcの出力(未復号化係数の個数)Cnumに基づいて、対象ブロック内に未復号化非0係数があるか否かを判定し(ステップSd1)、この判定の結果、未復号化非0係数がある場合は、上記未復号化係数の個数Cnumに基づいて、対象ブロック内の未復号化0係数の個数を計測する(ステップSd2)。
そして、可変長復号化器RVLDは、計測した未復号化0係数の個数に応じて、符号表を選択する(ステップSd3)。具体的には、未復号化0係数の個数が1である場合は、ラン値の配列Arunと符号(符号語)の配列Cb1とからなる符号表R1(図12(b)参照)を選択する。同様に、未復号化0係数の個数が2である場合は符号表R2を、該個数が3である場合は符号表R3を、該個数が4である場合は符号表R4を選択する。さらに未復号化0係数の個数が5である場合は符号表R5を、該個数が6である場合は符号表R6を、該個数が7である場合は符号表R7を選択する。そして、未復号化0係数の個数が8以上である場合は符号表R8を選択する。
次に、可変長復号化器RVLDは、選択した符号表を用いて、ラン値Runを復元する復号化処理、つまり、各符号に対応するラン値を取得する処理を行い(ステップSd4)、その後、上記ステップSd1の判定処理を行う。
また、上記ステップSd1の判定の結果、未復号化非0係数がない場合は、上記ラン値を復元する可変長復号化処理を終了する。
なお、この実施の形態2の画像復号化装置102では、逆量子化器IQ,逆周波数変換器ITrans,及び逆ブロック化器DeBlkは、従来の画像復号化装置202a(図32参照)あるいは画像復号化装置202b(図36参照)とのものと同様に動作する。
つまり、逆量子化器IQは、量子化器Qの逆の動作、つまり復号量子化成分DQSを量子化パラメータQPを参照して逆量子化する動作を行って、復号周波数成分ITransSを出力する。また、逆周波数変換器ITransは、周波数変換器Transの逆動作、つまり復号周波数成分ITransSを逆DCTや逆ウェーブレット変換などを用いて、各ブロックに対応する復号周波数成分ITransSを各ブロックに対応する復号画素値信号DBlkSに復元する動作を行う。そして、逆ブロック化器DeBlkは、上記各ブロックの復号画素値成分DBlkSを統合して各ピクチャに対応する復号画像信号Voutを出力する。
このように本実施の形態2の画像復号化装置102では、符号化データを構成するラン符号列RStr及びレベル符号列LStrをそれぞれ、連続する0係数Coefの個数を示すラン値Run、及び該0係数に続く非0係数の値を示すレベル値Levに変換し、該ラン値及びレベル値に基づいて量子化係数を復元するランレングス復号化器RLD1を備えたので、量子化係数をその冗長な情報を排除して高い符号化効率で符号化することができる可変長符号化処理に対応した復号化処理を良好に行うことができる。
また、本実施の形態2のランレングス復号化器RLD1では、量子化パラメータQPの大きさに応じて符号表を選択し、選択した符号表を用いてレベル値を復元する可変長復号化を行う可変長復号化器LVLDを備えたので、レベル値に割り当てられる符号の合計ビット数を削減したレベル値符号列を良好に復号化することができる。
また、上記ランレングス復号化器RLD1では、対象ブロックにおける未復号化0係数の個数に応じて符号表を選択し、選択した符号表を用いて、並べ替えられたラン値に対応する符号列を復号化する可変長復号化器RVLDと、該復号化により得られたラン値を、ランレングス符号化器RLD1でのラン値の並替え処理とは逆の順序で並べ替える順序逆並替器RIreodrとを備えたので、ラン値に割り当てられる符号の合計ビット数を効果的に削減したラン値符号化列を良好に復号化することができる。
なお、上記実施の形態2では、可変長復号化器RVLDは、対象ブロックにおける未復号化0係数の個数(つまり個数計測器NumClcの出力Cnum)に応じて符号表を選択するものとしているが、可変長復号化器RVLDは、個数計測器NumClcの出力Cnumだけでなく、上記VLD選択信号VldSelに基づいて符号表を選択するものとしてもよい。例えば、可変長復号化器RVLDは、VLD選択信号VldSelにより予め特定の符号表を用いた可変長復号化処理が指定されている場合は、対象ブロックにおける未復号化0係数の個数に拘わらず、該特定の符号表を用いて、ラン値を復元する可変長復号化処理を行うものとしてもよい。
(実施の形態3)
図13は本発明の実施の形態3による画像符号化装置を説明するためのブロック図である。
この実施の形態3の画像符号化装置103は、図38に示す従来の画像符号化装置201cにおける、量子化器Qの出力(量子化成分)QSに対して可変長符号化処理を施して符号化ストリームStr0cを出力するランレングス符号化器RLE0cに代えて、上記量子化器Qの出力QSに対して、量子化パラメータQPあるいはVLC選択信号VlcSelに基づいて、可変長符号化処理を施して符号化ストリームStr2を出力するランレングス符号化器RLE2を備えたものである。この実施の形態3の画像符号化装置103におけるその他の機器は、従来の画像符号化装置201cにおけるものと同一である。
すなわち、上記ランレングス符号化器RLE2は、従来の上記ランレングス符号化器RLE0cと同様、ラン値とレベル値との対(以下、ランレベル対という。)と、これに対応する符号との対応関係を、該ラン値とレベル値の組み合わせに応じて示す第1の符号表T1(図42参照)を有している。そして、このランレングス符号化器RLE2は、上記第1の符号表に基づいて、該第1の符号表における、ラン値とレベル値の対と符号との対応関係を規則的に変更して、該第1の符号表とは該対応関係が異なる第2の符号表を作成し、上記第1及び第2の符号表を、上記量子化器Qから出力される量子化パラメータQP、あるいは外部からのVLC選択信号VlcSelに基づいてその一方を選択するとともに、上記処理対象データにおける係数に関連するラン値及びレベル値の対に、選択された符号表に基づいて符号を割り当てるものである。
ここで、上記量子化パラメータQPは量子化ステップの大きさを表すパラメータであり、量子化ステップは量子化パラメータQPにほぼ比例する。つまり、量子化パラメータQPが大きい場合は、量子化成分の絶対値が小さくなるために、量子化成分の0ラン(その値が0の成分が連続して並ぶ長さ)が長くなり、レベル値の絶対値が小さくなる。従ってこの場合は、ラン値が大きくレベル値が小さいランレベル対に小さい符号が割り当てられている符号表を選択することにより符号化効率を向上することができる。逆に、量子化パラメータQPが小さい場合は、量子化成分の絶対値が大きくなるために、ラン値が小さくレベル値が大きいランレベル対に対して小さい符号が割り当てられている符号表を選択することにより、符号化効率を向上することができる。
また、上記ランレングス符号化器RLE2は、画像符号化装置103の外部からのVLC選択信号VlcSelが入力されたとき、該選択信号VlcSelにより、符号化処理で用いられる符号表を選択するものである。このため、画像特性(画像の動き量の大きさ,その動きの複雑さ、あるいは絵柄の細かさなど)によって適切な符号表を外部から選択したり、この画像符号化装置103側で、符号表を1つしか備えていない画像復号化装置にて復号化可能なストリームを作成する場合には、画像符号化装置103では、VLC選択信号VlcSelにより、常に所定の符号表が用いられるようにすることができる。つまり、符号表の切替えを行わずに、1つの符号表のみを用いて可変長符号化処理を行うこともできる。
図14は上記ランレングス符号化器RLE2の具体的な構成を説明するためのブロック図である。
上記ランレングス符号化器RLE2は、従来のランレングス符号化器RLE0c(図39参照)と同様、2次元の配列を有する量子化器Qの出力(量子化成分)QSを1次元の配列(つまり、所定の順序)を有する量子化成分Coefに変換するジグザグスキャン器Scanと、連続する、その値が0である量子化成分(0係数)Coefの個数を計測して、ラン値Runを出力するラン計測器RunCalと、該0係数に続く、その値が0でない量子化成分Coef(非0係数)の値を計測して、レベル値Levを出力するレベル計測器LevCalとを有している。
そして、この実施の形態3では、ランレングス符号化器RLE2は、上記ラン計測器RunCalの出力(ラン値)Runを、ラン値Runの上位の桁を表すラン値Run1と、該ラン値Runの下位の桁を表すラン値Run2とに分離する変換処理を、上記量子化パラメータQPあるいはVLC選択信号VlcSelに基づいて行うラン変換器RunConvと、上記レベル計測器LevCalの出力(レベル値)Levを、レベル値Levの上位の桁を表すレベル値Lev1と、該レベルLevの下位の桁を表すレベル値Lev2とに分離する変換処理を、上記量子化パラメータQPあるいはVLC選択信号VlcSelに基づいて行うレベル変換器LevConvとを有している。
また、上記ランレングス符号化器RLE2は、ラン値Run1とレベル値Lev1の対(以下、ランレベル上位桁対という。)に対応する符号番号Codeを符号表もしくは算術計算によって計算するランレベルコード変換器RunLevEncと、このようにして得られた、ランレベル上位桁対と符号番号Codeとの対応関係に基づいて、処理対象となる対象ブロックに対応する、より高い周波数成分に対応するランレベル上位桁対に、より小さい符号番号が対応するよう、上記ランレベル上位桁対の順序を並べ替える処理を、上記量子化パラメータQPあるいはVLC選択信号VlcSelに応じて行い、並べ替えられたランレベル上位桁対に対応する符号番号ReOdrCodeを出力する順序並替器ReOdrとを有している。
さらに、上記ランレングス符号化器RLE2は、上記ラン値Runから符号化済量子化成分(符号化済係数)の個数を計算して、符号化済係数個数Posを出力する位置計算器PosClcと、上記ランレベル上位桁対と符号番号ReOdrCodeとの対応関係に基づいて、レベル値Lev2およびラン値Run2から、第2の符号表により示される、ランレベル対に対応する符号番号ExtCodeを出力する番号変換器CodeTransと、該符号番号ExtCodeにビット列(符号語)を割り当てて符号化ストリームStrを生成する可変長符号化器VLCとを有している。
なお、上記ランレングス符号化器RLE2における、ジグザグスキャン器Scan,ラン計測器RunCal,レベル計測器LevCal,及び可変長符号化器VLCは、図39に示す従来のランレングス符号化器RLE0cにおけるものと同一のものである。
次に作用効果について説明する。
ジグザグスキャン器Scanは、2次元の配列を有する量子化成分QSを、1次元の配列を有する、つまり順番が設定された量子化成分Coefに変換して出力する。ラン計測器RunCalは、連続する0成分(その値が0である量子化成分)Coefの個数を計測し、該個数を示すラン値Runを出力する。また、レベル計測器LevCalは非0成分(0成分に続く、その値が0でない量子化成分)Coefの値を計測し、該非0成分の値を示すレベル値Levを出力する。
ラン変換器RunConvは上記ラン値Runを、ラン値Runの上位の桁を表すラン値Run1と、ラン値Runの下位の桁を表すラン値Run2に分離する変換処理を行う。レベル変換器LevConvはレベル値Levを、レベル値Levの上位の桁を表すレベル値Lev1と、レベル値Levの下位の桁を表すレベル値Lev2とに分離する変換処理を行う。
ランレベルコード変換器RunLevEncは、レベル値Lev1とラン値Run1の対(ランレベル上位対)に対応する符号番号Codeを、図42に示す符号表(第1の符号表)もしくは算術計算によって計算する。順序並替器ReOdrは、上記ランレベル上位桁対の順序を並べ替える処理を、上記量子化パラメータQPあるいはVLC選択信号VlcSelに基づいて行い、並べ替えられたランレベル上位桁対に対応する符号番号ReOdrCodeを出力する。上記ランレベル上位桁対の順序を並べ替える処理により、ランレベルコード変換器RunLevEncにて得られた、ランレベル上位桁対と符号番号Codeとの対応関係が、処理対象となる対象ブロックにおけるより高い周波数成分に対応するランレベル上位桁対に、より小さい符号番号が対応する対応関係に変換される。
位置計算器PosClcは、ラン値Runから符号化済成分の個数を計算し、該符号化済係数個数Posを出力する。番号変換器CodeTransは、上記ランレベル上位桁対と符号番号ReOdrCodeとの対応関係に基づいて、レベル値Lev2およびラン値Run2から、ランレベル対に対応する符号番号ExtCodeを出力する。このとき、番号変換器CodeTransでは、位置計算器PosClcから出力された符号化済係数個数Posが、未符号化成分がいくつあるかを計算するために使用される。
ここで、番号変換器CodeTransから出力される、ランレベル対に対応する符号番号ExtCodeは、ランレベル対と符号番号との対応関係が第1の符号表のものとは異なる第2の符号表に基づいて得られたものである。また、この第2の符号表は、上記順序並替器ReOdrでの並替え処理により、ランレベル対と符号番号の対応関係が第1の符号表とは異なる符号表を作成し、さらに、上記順序並替器ReOdrにて作成された符号表を、番号変換器CodeTransにて、符号化済係数個数Posに基づいて、未符号化成分の個数を超えるラン値Runに相当する、ランレベル対と符号番号との対応関係が含まれないものとすることにより、作成されたものである。
そして、可変長符号化器VLCは該符号番号ExtCodeにビット列(符号語)を割り当てて符号化ストリームStr2を生成する。
図15は上記ランレングス符号化器RLE2にて、第1の符号表に基づいて作成される第2の符号表の例を示している。ここで、第1の符号表は、従来のランレングス符号化器RLE0cで利用される、図42に示す符号表と同一のものである。なお、第1及び第2の符号表では、符号番号Codeに対して1対1に対応するビット列(符号語)が割り当てられるが、値が小さい符号番号Codeには短い符号語が割り当てられることは言うまでもない。
図15(a)は、第2の符号表の一例として、量子化パラメータQPが小さい場合に適した第2の符号表T2aを示している。
この第2の符号表T2aは以下のようにして作成される。
まず、レベル値Lev1としてレベル値Levの1/2の値が割り当てられ、レベル値Lev2にはLev1×2−Levの絶対値が割り当てられる。
ここで、レベル値Levが奇数である場合は、レベル値Levよりその絶対値が1大きい偶数を2で除算した値がレベル値Lev1とされる。つまり、レベル値Levが正であるとき、レベル値Lev1には(Lev+1)の1/2の値が割り当てられ、レベル値Levが負であるとき、レベル値Lev1には(Lev-1)の1/2の値が割り当てられる。
そして、レベル値Lev1とラン値Runの組み合わせに応じて、第1の符号表(図42参照)から、レベル値Lev1とラン値Runの対に対応する符号番号Codeが取得される。
さらに、Lev値が正の場合は次式(1)に基づいて、Lev値が負の場合は次式(2)に基づいて、レベル値Lev1とラン値Runの対に対応する符号番号Codeが変換される。第2の符号表T2aは、この変換の結果得られる符号番号とランレベル対との対応関係を示すものである。
2×(Code-Lev2)−1 ・・・(1)
2×(Code-Lev2)・・・(2)
例えば、図42の符号表(第1の符号表)のランレベル対(level=−2,run=1)に着目すると、このランレベル対に対応する符号番号codeは、図42に示す第1の符号表T1で示される値「10」から図15(a)の第2の符号表T2aで示される「12」に変換される。
すなわち、この場合、ランレベル対(Lev,Run)は、(−2,1)であるため、Lev1及びLev2は、以下のように算出される。
Lev1 =Lev・(1/2)=−1
Lev2 =|Lev1・2−Lev|=|−1・2−(−2)|=0
従って、(Lev1,Run)は、(−1,1)となり、このランレベル対は、第1の符号表(図42)では、符号番号(code =6)に対応する。
そこで、式(2)を用いて、ランレベル対(Lev ,Run)=(−2,1)に対応する符号番号を計算すると、
2×(Code-Lev2)=2×(6−0)=12
となる。
図15(a)の符号表は、図42に示す符号表(第1の符号表)に比べて、ラン値が小さくレベル値が大きいランレベル対に対して、より小さい符号番号(即ち短い符号語)が割り当てられるのが特徴であり、量子化パラメータQPが小さい場合に適している。
図15(b)は、第2の符号表の他の例として、量子化パラメータQPが大きい場合に適した第2の符号表T2bを示している。
この第2の符号表T2bは以下のようにして作成される。
まず、ラン値Run1としてラン値Runの1/2の値が割り当てられ、ラン値Run2にはRun1×2−Runの絶対値が割り当てられる。ここで、ラン値Runが奇数である場合は、ラン値Run1には、(Run+1)の1/2の値の整数部分が割り当てられる。
そして、レベル値Levとラン値Run1の組み合わせに応じて、第1の符号表(図42参照)から、レベル値Levとラン値Run1の対に対応する符号番号Codeを取得される。
さらに、Lev値が正の場合は次式(3)に基づいて、Lev値が負の場合は次式(4)に基づいて、レベル値Levとラン値Run1の対に対応する符号番号Codeが変換される。第2の符号表T2bは、この変換の結果得られる符号番号とランレベル対との対応関係を示すものとなる。
2×(Code+Run2)−1 ・・・(3)
2×(Code+Run2)−2 ・・・(4)
例えば、図42の符号表(第1の符号表)のランレベル対(level=−1,run=2)に着目すると、このランレベル対に対応する符号番号codeは、図42に示す第1の符号表T1で示される値「12」から図15(b)の第2の符号表T2bで示される「10」に変換される。
すなわち、この場合、ランレベル対(Lev,Run)は、(−1,2)であるため、Run1及びRun2は、以下のように算出される。
Run1 = Run・(1/2)=1
Run2 =|Run1・2−Run| =|1・2 −2|=0
従って、(Lev,Run1)は、(−1,1)となり、このランレベル対は、第1の符号表(図42)では、符号番号(code =6)に対応する。
そこで、式(4)を用いて、ランレベル対(Lev ,Run)=(−1,2)に対応する符号番号を計算すると、
2×(Code+Run2)=2×(6−0)−2=10
となる。
図15(b)に示す第2の符号表T2bは、図42に示す符号表(第1の符号表)T1に比べて、ラン値が大きくレベル値が小さいランレベル対に対して、より小さい符号番号(即ち短い符号語)が割り当てられるのが特徴であり、量子化パラメータQPが大きい場合に適している。
図16は上記ランレングス符号化器RLE2にて、第1の符号表に基づいて作成される第2の符号表の他の例を示している。ここで、第1の符号表は、従来のランレングス符号化器RLE0cで利用される、図42に示す符号表T1と同一のものである
番号変換器CodeTransでは、位置計算器PosClcから出力された符号化済係数個数Posに基づいて処理対象ブロックに存在する未符号化成分数(符号化処理が施されていない係数の個数)が計算される。そして、第1の符号表から作成される第2の符号表を、未符号化成分数以上のラン値を含むランレベル対に対応する符号語を含まないものとする。これにより圧縮効率の良い符号化が可能になる。
図16(a)は未符号化成分数が3以上である場合に作成される第2の符号表T2cを示している。図16(b)は未符号化成分数が2である場合に作成される第2の符号表T2dを示している。図16(c)は未符号化成分数が1の場合である場合に作成される第2の符号表T2eを示している。
このように、使用されないラン値を含むランレベル対と符号との対応関係を符号表から削除することにより、同じランレベル対であっても、短い符号語が割り当てられることとなる。例えば、図16(c)に示す第2の符号表T2eでは、ラン値〔0〕,レベル値〔4〕であるランレベル対に対して符号番号〔7〕が対応しており、図16(b)に示す第2の符号表T2dでは、ラン値〔0〕,レベル値〔4〕であるランレベル対に対して符号番号〔11〕が対応しており、図16(a)に示す第2の符号表T2cでは、ラン値〔0〕,レベル値〔4〕であるランレベル対に対しては、値がさらに大きい符号番号(図示せず)が対応することとなる。
図17は、この実施の形態3の画像符号化装置103におけるランレングス符号化器RLE2での符号化順序の例を示している。
一般に、低周波数成分に対応するレベル値の絶対値は大きく、符号表では、低周波数成分に相当するランレベル対には、値が大きい符号番号codeが対応する。逆に高周波数成分に相当するレベル値の絶対値は小さく、符号表では、高周波数成分に相当するランレベル対には、値が小さい符号番号が対応する。
図16で説明したように、未符号化成分数以上のラン値を含むランレベル対に対応する符号番号(符号語)を、符号表から削除することにより得られる圧縮効率向上は、未符号化成分数が小さいほど大きく、また、レベル値の絶対値が大きいほど、上記のような符号番号の削減前と比べて割り当てられる符号番号の大きさが小さくなる比率が大きいことから、大きくなる。
そこで、上記実施の形態3の画像符号化装置103のように、上記ランレングス符号化器RLE2にて、量子化成分を符号化する際に、レベル値の絶対値が大きい、低周波数成分に対応する量子化成分を、より後で符号化することにより、圧縮効率を更に高めることができる。
すなわち、順序並替器ReOdrでは、量子化成分を、図17に示す矢印X1〜X7のように、最終の非0成分である高周波数成分に対応する量子化成分のランレベル対から低周波数成分に対応する量子化成分のランレベル対の順番に並べ替えて、最も周波数成分が低い量子化成分のランレベル対に対応する符号語の次に、処理対象ブロックでの符号化された最後の成分であることを示すEOBを付加する。これにより、圧縮効率を向上することができる。
また、上記実施の形態3では、量子化パラメータQPとVLC選択信号VlcSelが、レベル変換器LevConv、ラン変換器RunConv、順序並替器ReOdrおよび番号変換器CodeTransに供給されるので、量子化パラメータQPに応じて符号表を切り替えたり、画像の内容(画像の動き量の大きさ,動きの複雑さ,絵柄の細かさ)によって適切な符号表を外部から選択したりすることができる。
例えば、画像符号化装置の外部からのVLC選択信号VlcSelにより、符号化処理に用いられる符号表を切り替えることにより、画像符号化装置では、符号表を1つしか備えていない復号化装置で復号化可能なストリームを作成することができる。
このように本実施の形態3では、画像信号の量子化係数を処理対象データとして符号化する画像符号化装置103において、上記量子化係数に符号表を用いて可変長符号を割り当てるランレングス符号化器RLE2を備え、該ランレングス符号化器RLE2では、第1の符号表に基づいて、処理対象データに対して最適化された第2の符号表を作成し、量子化パラメータQPあるいはVLC選択信号VlcSelに基づいて、可変長符号の割り当てに用いる符号表として、第1及び第2の符号表のいずれかを選択するので、処理対象データに存在する冗長な情報をより効果的に除去することができ、これにより画像信号などの圧縮率のさらなる向上を図ることができる。
なお、本実施の形態3では、ランレングス符号化器RLE2として、図14に示すように、様々な圧縮率向上のための機器、つまりラン変換器RunConv,レベル変換器LevConv,順序並替器ReOdr,番号変換器CodeTransを有するものを示したが、上記ランレングス符号化器RLE1は、圧縮率向上のための機器の一部のもののみを有するものであってもよい。この場合、ランレングス符号化器RLE2の実装は簡単なものとなる。
また、上記実施の形態3では、第2の符号表は、第1の符号表を構成する、規則的に算術演算で生成可能な部分(regularly build VLC)、及び規則的に生成できない部分(table look up VLC)の両方の部分における、ランレベル対と符号番号との対応関係を変更したものとしているが、第1の符号表が、規則的に算術演算で生成可能な部分(regularly build VLC)と規則的に生成できない部分(table look up VLC)とを有するものである場合は、上記第2の符号表は、第1の符号表の一部である、演算が容易な規則的に算術演算で生成可能な部分のみを変換したものであってもよく、その場合は、ランレングス符号化器RLE2の実装がより簡単なものとなる。
また、この実施の形態3では、量子化成分の可変長符号化を、ランレベル対を用いて行うランレングス符号化器において、量子化成分を、より高い周波数成分に対応するものから順に可変長符号化するものを示したが、ランレングス符号化器は、実施の形態1のように、対象ブロックの量子化成分に対応するラン値及びレベル値を別々に可変長符号化するランレングス符号化器において、対象ブロックの量子化成分に対応するラン値及びレベル値を、より高い周波数成分に対応するものから順に可変長符号化するものであってもよいことは言うまでもない。
(実施の形態4)
図18は本発明の実施の形態4による画像復号化装置を説明するためのブロック図である。
この実施の形態4の画像復号化装置104は、図40に示す従来の画像復号化装置202cにおける、符号化ストリームStr0cに対して可変長復号化処理を施して復号化量子化成分DQSを出力するランレングス復号化器RLD0cに代えて、符号化ストリームStr2に対して、量子化パラメータQPあるいは可変長復号化選択信号(VLD選択信号)VldSelに基づいて可変長復号化処理を施して復号化量子化成分DQSを出力するランレングス復号化器RLD2を備えたものである。この実施の形態4の画像復号化装置104におけるその他の機器は、従来の画像復号化装置202cにおけるものと同一である。
すなわち、上記ランレングス復号化器RLD2は、従来の上記ランレングス復号化器RLD0cと同様、ラン値とレベル値との対(以下、ランレベル対という。)と、これに対応する符号との対応関係を、該ラン値とレベル値の組み合わせに応じて示す第1の符号表T1(図42参照)を有している。そして、このランレングス復号化器RLD2は、上記第1の符号表に基づいて、該第1の符号表における、ラン値とレベル値の対と符号との対応関係を規則的に変更して、該第1の符号表とは該対応関係が異なる第2の符号表を作成し、上記第1及び第2の符号表を、上記量子化器Qから出力される量子化パラメータQP、あるいは外部からのVLD選択信号VldSelに基づいてその一方を選択するとともに、上記符号化ストリームStr2を構成する符号語(ビット列)を、選択された符号表に基づいて、上記処理対象データにおける係数に関連するラン値及びレベル値の対に変換するものである。
なお、上述したように、上記量子化パラメータQPは、量子化ステップの大きさを表すパラメータであり、量子化ステップは量子化パラメータQPにほぼ比例する。つまり、量子化パラメータQPが大きい場合は量子化成分の絶対値が小さくなるために、量子化成分の0ラン(その値が0の成分が連続して並ぶ長さ)が長くなり、レベル値の絶対値が小さくなる。従ってこの場合は、ラン値が大きくレベル値が小さいランレベル対に小さい符号が割り当てられている符号表を選択することにより符号化効率を向上することができる。逆に、量子化パラメータQPが小さい場合は、量子化成分の絶対値が大きくなるために、ラン値が小さくレベル値が大きいランレベル対に対して小さい符号が割り当てられている符号表を選択することにより、符号化効率を向上することができる。
図19は上記ランレングス復号化器RLD2の具体的な構成を示すブロック図である。
上記ランレングス復号化器RLD2は、従来のランレングス復号化器RLD0cと同様、可変長復号化器VLDを有しており、この復号化器VLDは、上記実施の形態3の画像符号化装置103から出力された符号化ストリームStr2を復号化して、符号番号ExtCodeを出力するものである。
そして、この実施の形態4では、ランレングス復号化器RLD2は、上記符号番号ExtCodeから、レベル値Lev1およびラン値Run1からなるランレベル上位桁対に対応する符号番号PrmCodeと、レベル値Lev2およびラン値Run2とを分離する番号逆変換処理を、上記量子化パラメータQPあるいはVLD選択信号VldSelに基づいて行う番号逆変換器ICodeTransと、処理対象ブロックに対応する複数の符号番号PrmCodeを、低い周波数のランレベル対に対応するものから順に並べ替えて、並べ替えられた順序を有する、該ブロックに対応する複数の符号番号Codeを出力する順序逆並替器IReOdrとを有している。
さらに、上記ランレングス復号化器RLD2は、符号表もしくは算術計算によって、符号番号Codeに対応するランレベル対を取得して、該ランレベル対を構成するレベル値Lev1およびラン値Run1を出力するランレベル取得器RunLevDecと、ラン値Runの上位の桁を表すラン値Run1と、該ラン値Runの下位の桁を表すラン値Run2値とから、ラン値Runを復元するラン逆変換器IRunConvと、レベル値Levの上位の桁を表すレベル値Lev1と、レベル値Levの下位の桁を表すレベル値Lev2とから、レベル値Levを復元するレベル逆変換器ILevConvとを有している。
また、上記ランレングス復号化器RLD2は、従来のランレングス復号化器RLD0cと同様、逆ジグザグスキャン器IScanを有しており、このスキャン器IScanは、レベル値LevとランRun値で表現される1次元配列を有する量子化成分を、2次元の配列を有する復号量子化成分DQSに変換して出力するものである。
なお、上記ランレングス復号化器RLD2における、可変長復号化器VLD,ランレベル取得器RunLevDec,及び逆ジグザグスキャン器IScanは、図41に示す従来のランレングス復号化器RLD0cにおけるものと同一のものである。
次に作用効果について説明する。
上記ランレングス復号化器RLD2では、可変長復号化器VLDは、可変長符号化器VLCとは逆の動作を行う。つまり、可変長復号化器VLDは、符号化ストリームStr2を復号化して、該ストリームを構成する符号語(ビット列)に対応する符号番号ExtCodeを出力する。番号逆変換器ICodeTransは、上記量子化パラメータQPあるいはVLD選択信号VldSelに基づいて、番号変換器CodeTransとは逆の動作を行って、符号番号ExtCodeから、レベル値Lev1およびラン値Run1からなるランレベル上位桁対に対応する符号番号PrmCodeと、レベル値Lev2およびラン値Run2とを分離する。
順序逆並替器IReOdrは、上記量子化パラメータQPあるいはVLD選択信号VldSelに基づいて、順序並替器ReOdrとは逆の動作を行う。これにより、処理対象ブロックに対応する複数の符号番号PrmCodeを、低い周波数のランレベル対に対応するものから順に並べ替える処理が行われ、並べ替えられた順序を有する、該ブロックに対応する複数の符号番号Codeが出力される。ランレベル取得器RunLevDecは、符号表もしくは算術計算によって、符号番号Codeに対応するランレベル対を取得して、取得したランレベル対を構成するレベル値Lev1およびラン値Run1を出力する。
ラン逆変換器IRunConvは、上記量子化パラメータQPあるいはVLD選択信号VldSelに基づいて、ラン変換器RunConvとは逆の動作を行い、ラン値Runの上位の桁を表すラン値Run1と、ラン値Runの下位の桁を表すラン値Run2とから、ラン値Runを復元する。また、レベル逆変換器ILevConvは、上記量子化パラメータQPあるいはVLD選択信号VldSelに基づいて、レベル変換器LevConvとは逆の動作を行い、レベル値Levの上位の桁を表すレベル値Lev1と、レベル値Levの下位の桁を表すレベル値Lev2とから、レベル値Levを復元する。
ここで、上記番号逆変換器ICodeTrans,順序逆並替器IReOdr,ラン逆変換器IRunConv,及びレベル逆変換器ILevConvでは、上記量子化パラメータQPあるいはVLD選択信号VldSelにより、上記第1及び第2の符号表の選択が行われ、選択された符号表に基づいた動作が行われる。
そして、逆ジグザグスキャン器IScanは、レベル値Levとラン値Runに基づいて上記ジグザグスキャン器Scanとは逆の動作を行い、レベル値LevとランRun値で表現される1次元配列を有する量子化成分を、2次元の配列を有する復号量子化成分DQSに変換して出力する。
また、このランレングス復号化器RLD2では、外部からVLD選択信号VldSelが入力されると、VLD選択信号VldSelにより示される、画像の内容(画像の動き量の大きさ,動きの複雑さ,絵柄の細かさ)に応じた適切な符号表が選択される。
また、上記実施の形態4では、量子化パラメータQPとVLD選択信号VldSelが、上記番号逆変換器ICodeTrans,順序逆並替器IReOdr,ラン逆変換器IRunConv,及びレベル逆変換器ILevConvに供給されるので、量子化パラメータQPに応じて符号表を切り替えたり、画像の特性、つまり画像の動き量の大きさ,動きの複雑さ,絵柄の細かさなどによって、適切な符号表を画像復号化装置の外部から選択したりすることができる。
このように本実施の形態4では、画像信号の量子化係数を可変長符号化してなる符号化データを復号化する画像復号化装置104において、符号表を用いて、可変長符号を量子化係数に変換するランレングス復号化器RLD2を備え、該ランレングス復号化器RLD2では、第1の符号表に基づいて、処理対象データに対して最適化された第2の符号表を作成し、量子化パラメータQPあるいはVLD選択信号VldSelに基づいて、可変長符号の量子化係数への変換に用いる符号表として、第1及び第2の符号表のいずれかを選択するので、処理対象データに存在する情報の冗長性をより効果的に除去することができる可変長符号化処理に対応した復号化処理を良好に行うことができる。
なお、本実施の形態4では、ランレングス復号化器RLD2として、図19に示すように、様々な圧縮率向上のための機器、つまり番号逆変換器ICodeTrans,順序逆並替器IReOdr,ラン逆変換器IRunConv,及びレベル逆変換器ILevConvを有するものを示したが、上記ランレングス復号化器RLD2は、圧縮率向上のための機器の一部のもののみを有するものであってもよい。この場合、ランレングス復号化器RLD2の実装は簡単なものとなる。
また、上記実施の形態4では、第2の符号表は、第1の符号表を構成する、規則的に算術演算で生成可能な部分(regularly build VLC)、及び規則的に生成できない部分(table look up VLC)の両方の部分における、ランレベル対と符号番号との対応関係を変更したものとしているが、第1の符号表が、規則的に算術演算で生成可能な部分(regularly build VLC)と規則的に生成できない部分(table look up VLC)とを有するものである場合は、上記第2の符号表は、第1の符号表の一部である、演算が容易な規則的に算術演算で生成可能な部分のみを変換したものであってもよく、その場合は、ランレングス復号化器RLD2の実装がより簡単なものとなる。
また、この実施の形態4では、量子化成分の符号化データの可変長復号化を、ランレベル対を用いて行うランレングス復号化器において、量子化成分の符号化データを、より高い周波数成分に対応するものから順に可変長復号化するものを示したが、ランレングス復号化器は、実施の形態2のように、対象ブロックの量子化成分に対応するラン値及びレベル値の符号化データを別々に可変長復号化するランレングス復号化器において、対象ブロックの量子化成分に対応するラン値及びレベル値の符号化データを、より高い周波数成分に対応するものから順に可変長復号化するものであってもよい。
(実施の形態5)
図20は本発明の実施の形態5による画像符号化装置を説明するためのブロック図である。
この実施の形態5の画像符号化装置105は、図13に示す実施の形態3の画像符号化装置103におけるランレングス符号化器RLE2に代えて、該ランレングス符号化器RLE2と同様ランレベル対の符号化を行うとともに、非0成分の個数を符号化するランレングス符号化器RLE3を備えたものである。この実施の形態5の画像符号化装置105におけるその他の機器は、実施の形態3の画像符号化装置103におけるものと同一である。
図21は上記画像符号化装置105におけるランレングス符号化器RLE3の具体的な構成を示している。
この実施の形態5のランレングス符号化器RLE3は、図14に示す実施の形態3のランレングス符号化器RLE2における位置計算器PosClcに代えて、入力される量子化成分に基づいて、非0係数の個数NZnumを計測する非0係数計測器NZcountと、該計測された非0係数の個数NZnum及びラン計測器RunCalにより計測されたラン値Runに基づいて、符号化済み係数の個数Pos2を計算する位置計算器PosClc2とを備えたものである。
また、この実施の形態5のランレングス符号化器RLE3は、上記実施の形態3のランレングス符号化器RLE2の可変長符号化器VLCとは異なり、番号変換器CodeTransの出力(符号番号)ExtCodeを符号化するとともに、非0成分の個数NZnumを符号化するものである。
そして、該ランレングス符号化器RLE3におけるその他の構成は、実施の形態3のランレングス符号化器RLE2におけるものと同一である。
次に作用効果について説明する。
この実施の形態5の画像符号化装置105のブロック化器Blk,周波数変換器Trans,量子化器Qの動作は、実施の形態3の画像符号化装置103におけるものと同一であり、また、この実施の形態5のランレングス符号化器RLE3の、非0係数計測器NZcount,位置計測器PosClc2,番号変換器CodeTrans,可変長符号化器VLC2以外の機器、つまりスキャン器Scan,ラン計測器RunCal,レベル計測器LevCal,ラン変換器RunConv,レベル変換器LevConv,ランレベルコード変換器RunLevEnc,順序並替器ReOdrの動作は、実施の形態3のランレングス符号化器RLE2のものと全く同一であるので、以下、主に、非0係数計測器NZcount,位置計測器PosClc2,番号変換器CodeTrans及び可変長符号化器VLC2の動作について説明する。
量子化器Qから出力された量子化成分QSがランレングス符号化器RLE3に入力されると、ランレングス符号化器RLE3では、非0係数計測器NZcountは量子化成分QSに基づいて、各ブロックに対応する複数の量子化成分の中の非0成分の個数NZnumを計測し、該非0成分の個数NZnumを位置計算器PosClc2と可変長符号化器VLC2に出力する。
位置計算器PosClc2は、上記非0係数計測器NZcountからの非0成分の個数NZnum、及びラン計測器RunCalからのラン値Runに基づいて、対象ブロックにおける符号化済0成分の個数と非0成分の個数の和を計算し、該計算値Pos2を出力する。
番号変換器CodeTransは、上記ランレベル上位桁対と符号番号ReOdrCodeとの対応関係に基づいて、レベル値Lev2およびラン値Run2から、ランレベル対に対応する符号番号ExtCodeを出力する。このとき、番号変換器CodeTransでは、位置計算器PosClc2から出力された計算値Pos2が、対象ブロックにおける未符号化成分の個数を計算するために使用される。
ここで、番号変換器CodeTransから出力される、ランレベル対に対応する符号番号ExtCodeは、ランレベル対と符号番号との対応関係が第1の符号表のものとは異なる第2の符号表に基づいて得られたものである。また、この第2の符号表は、上記順序並替器ReOdrでの並替え処理により、ランレベル対と符号番号の対応関係が第1の符号表とは異なる符号表を作成し、さらに、上記順序並替器ReOdrにて作成された符号表を、番号変換器CodeTransにて、上記計算値Pos2に基づいて、そのラン値が最大ラン値Runを超えるランレベル対を、符号を割り当てない符号番号ExtCodeに対応付けることにより、作成されたものである。
そして、可変長符号化器VLC2は、非0成分の個数NZnumの符号化を行うとともに、該符号番号ExtCodeにビット列(符号語)を割り当てて符号化ストリームStr3を生成する、符号番号ExtCodeに対する符号化を行う。
以下、可変長符号化器VLC2の動作について詳しく説明する。
この実施の形態5の可変長符号化器VLC2は、実施の形態3の可変長符号化器VLCとは異なり、対象ブロックのランレベル対に対応する符号番号ExtCodeを符号化するだけでなく、対象ブロックの非0成分の個数NZnumを該ブロックの符号番号ExtCodeの符号化以前に符号化する。
このように非0成分の個数NZnumをブロックの符号番号ExtCodeの符号化以前に符号化すれば、復号化の際に対象ブロックの非0成分の個数NZnumを最初に復号化でき、非0成分の個数NZnumに相当する個数のランレベル対を復元した時点で、対象ブロックの最後のランレベル対の復元が完了したことを判別可能となる。この結果、実施の形態3の可変長符号化器VLCで必要であった対象ブロックの最後に符号化する特別の値EOB(最後の非0成分の後に伝送される値)が、可変長符号化器VLC2では不要となる。
次に、位置計算器PosClc2及び番号変換器CodeTransの動作について詳しく説明する。
対象ブロックの量子化成分QSは、0成分および非0成分を合わせて、NBlock個存在するとすると、対象ブロックの非0係数の個数NZnumから、最大ラン長(0係数の最大連続数)はNBlock−NZnum個になる。また、最初のランレベル対の符号化が完了した時点での最大ラン値(0係数の最大連続数)MaxRun(1)は、対象ブロックの最初のランレベル対のラン値FRunを用いて以下の式(5)により表される。
MaxRun(1) = NBlock−NZnum−FRun・・・(5)
一般には、ブロックにおけるi番目のランレベル対の符号化が完了した時点での最大ラン値MaxRun(i)は、下記の式(6)により表される。
MaxRun(i) = NBlock−NZnum
−{1番目から(i)番目までのラン値の和}・・・(6)
従って、位置計算器PosClc2は、以下の(7)式で示す計算値Pos2を出力することで、番号変換器CodeTransに最大ラン値MaxRun(i)が(8)式で示される値であることを指示する。
Pos2 = NZnum+{1番目から(i)番目までのラン値の和}・・・(7)
MaxRun(i) = NBlock−Pos2 ・・・(8)
番号変換器CodeTransは、第2の符号表を、そのラン値が最大ラン値MaxRunを超えるランレベル対には、符号を割り当てない符号番号ExtCodeを対応付けたものとする。これにより、発生するはずの無いランレベル対への符号の割り当てによる符号化処理の冗長を削減して、圧縮率を向上することができる。
なお、上記量子化成分に対する可変長符号化処理を行う際、上記第1及び第2の符号表として、算術演算で生成可能な第1の部分(regularly build VLC)と、規則的な演算より生成できない第2の部分(table look up VLC)とから構成される可変長符号表を用いる場合は、第2の符号表は、第1の符号表に対して、該両部分を最大ラン値に応じて変更したものとしてもよいが、第2の符号表は、演算が容易な算術演算で生成可能な第1の部分のみを、第1の符号表に対して、最大ラン値に応じて変更したものとしても良い。
また、i番目のランレベル対の符号化が完了した時点での最大ラン値MaxRun(i)に応じて、可変長符号表を変更する場合に、符号表を、ラン値Runが最大ラン値MaxRun(i)を超えるランレベル対に符号を割り当てないものとする代わりに、可変長符号表を直接、ラン値Runが最大ラン値MaxRun(i)を超えるランレベル対に符号が割り当てられていないものに切り替えるようにしても良い。
図24は可変長符号表の例を示す図である。符号表Ta(図24(a))は、符号表Tb(図24(b))に比べて、小さいラン値に割り当てられる符号をより短い符号としたものであり、該符号表Tb(図24(b))は、符号表Tc(図24(c))に比べて、小さいラン値に割り当てられる符号をより短い符号としたものである。
また、符号表Tc(図24(c))は、符号表Tb(図24(b))に比べて、絶対値が小さいLevel値に割り当てられる符号をより短い符号としたものであり、符号表Tb(図24(b))は、符号表Ta(図24(a))に比べて、絶対値が小さいLevel値に割り当てられる符号をより短い符号としたものである。
従って、最大ラン値MaxRunが小さい場合は図24(a)の符号表Ta、最大ラン値MaxRunが大きい場合は図24(c)の符号表Tc、最大ラン値MaxRunがその中間の値である場合は図24(b)の符号表Tbを選択して使用するのがよい。
このように本実施の形態5では、画像信号の周波数成分を量子化して得られた量子化係数を符号化する画像符号化装置105において、上記量子化係数に符号表を用いて可変長符号を割り当てるランレングス符号化器RLE3を備え、該ランレングス符号化器RLE3では、符号化処理の対象ブロックにおける、符号化処理の施された処理済係数の個数と、該対象ブロックにおける、符号化処理の施されていない未符号化非0係数の個数との和、言いかえると、対象ブロックの非0係数の個数と対象ブロックの処理済みラン値の個数の和に応じて、出現する可能性のないランレベル対を排除した符号表を選択するので、可変長符号化効率を向上することができる効果がある。
なお、上記実施の形態5では、ランレングス符号化器として、各ブロックの量子化成分に対する可変長符号化を、ランレベル対を用いて行う符号化器において、対象ブロックの非0成分の個数NZnumを符号化するものを示したが、ランレングス符号化器は、例えば、上記実施の形態1のように、各ブロックの量子化成分に対するラン値とレベル値を別々に可変長符号化する符号化器において、対象ブロックの非0成分の個数NZnumの符号化を行うものであってもよい。この場合、対象ブロックにおける最大ラン値を、対象ブロックにおけるすべての成分の個数から該非0成分の個数NZnumを減算したものとできる。
(実施の形態6)
図22は、本発明の実施の形態6による画像復号化装置を説明するためのブロック図である。
この実施の形態6の画像復号化装置106は、図18に示す実施の形態4の画像復号化装置104におけるランレングス復号化器RLD2に代えて、符号化データの復号化処理により、各ブロック毎にランレベル対及び非0成分の個数を復元するランレングス復号化器RLD3を備えたものである。この実施の形態6の画像復号化装置106におけるその他の機器は、実施の形態4の画像復号化装置104におけるものと同一である。
図23は上記画像復号化装置106におけるランレングス復号化器RLD3の具体的な構成を示している。
この実施の形態6のランレングス復号化器RLD3は、図19に示す実施の形態4のランレングス復号化器RLD2における位置計算機PosClcに代えて、復号化処理の対象ブロックにおける、復号化処理済みラン値の個数と、該対象ブロックにおける非0係数の個数NZnumとに基づいて、これらの個数の和Pos2を計算する位置計算機PosClc2を備えたものである。
また、この実施の形態6のランレングス復号化器RLD3の可変長復号化器VLD2は、上記実施の形態4のランレングス復号化器RLD2の可変長符復号化器VLDとは異なり、符号番号ExtCodeを復元する復号化処理とともに、符号化された非0成分の個数NZnumを復元する復号化処理を行うものである。
次に作用効果について説明する。
この実施の形態6の画像復号化装置106の逆量子化器IQ,逆周波数変換器ITrans,逆ブロック化器DeBlkの動作は、実施の形態4の画像復号化装置104におけるものと同一であり、また、この実施の形態6のランレングス復号化器RLD3の、可変長復号化器VLD2,位置計測器PosClc2,番号逆変換器ICodeTrans以外の機器、つまり順序逆並替器IReOdr,ランレベル取得器RunLevDec,レベル逆変換器ILevConv,ラン逆変換器IRunConv,逆ジグザグスキャン器IScanの動作は、実施の形態4のランレングス復号化器RLD2のものと全く同一であるので、以下、主に、可変長復号化器VLD2,位置計測器PosClc2,及び番号逆変換器ICodeTransの動作について説明する。
可変長復号化器VLD2は、符号化ストリームStr3を復号化して、該ストリームを構成する符号語(ビット列)に対応する符号番号ExtCodeを出力する。番号逆変換器ICodeTransは、上記量子化パラメータQP及びVLD選択信号VldSelの少なくとも一方と、復号化済み係数個数と未復号化非0係数の個数の加算値Pos2とに基づいて、番号変換器CodeTransとは逆の動作を行って、符号番号ExtCodeから、レベル値Lev1およびラン値Run1からなるランレベル上位桁対に対応する符号番号PrmCodeと、レベル値Lev2およびラン値Run2とを分離する。
そして、順序逆並替器IReOdr、ランレベル取得器RunLevDec、ラン逆変換器IRunConv、レベル逆変換器ILevConv、逆ジグザグスキャン器IScanは、上記実施の形態4におけるものと同じ動作を行う。
ここで、上記番号逆変換器ICodeTrans,順序逆並替器IReOdr,ラン逆変換器IRunConv,及びレベル逆変換器ILevConvでは、上記量子化パラメータQP及びVLD選択信号VldSelの少なくとも一方と、上記係数加算値Pos2に基づいて、上記第1及び第2の符号表の選択が行われ、選択された符号表に基づいた動作が行われる。
以下、可変長復号化器VLD2の動作について詳しく説明する。
この実施の形態6の可変長復号化器VLD2は、実施の形態4の可変長復号化器VLDとは異なりランレベル対に対応する符号番号ExtCodeを復号化するだけでなく、対象ブロックの、符号化された非0成分の個数NZnumを復号化する。非0成分の個数NZnumを復号化により取得できれば、NZnum個のランレベル対を復号化した時点で、該NZnum個目のランレベル対が対象ブロックの最後のランレベル対であることが判別できる。この結果、可変長復号化器VLDで必要であった対象ブロックの最後に符号化する値EOBが、可変長復号化器VLD2では不要となる。
例えば、対象ブロックの量子化成分QSは、0成分および非0成分を合わせてNBlock個存在するとすると、対象ブロックの非0係数の個数NZnum個から、最大ラン値(0係数の最大連続数)はNBlock−NZnum個になる。また、最初のランレベル対を復元する復号化が行われた時点での最大ラン値(0係数の最大連続数)MaxRun(1)は、実施の形態5で説明したように(NBlock−NZnum−FRun)個になる。
一般には、ブロックにおけるi番目のランレベル対を復元する復号化が行われた時点での最大ラン値MaxRun(i)は、以下に示すように、
MaxRun(i)=NBlock−NZnum−{1番目から(i)番目までのラン値の和}
となる。
従って、位置計算器PosClc2は、係数加算値Pos2〔=NZnum+{1番目から(i)番目までのラン値の和}〕を出力することで、番号変換器CodeTransに、i番目のランレベル対を復元する復号化が行われた時点での最大ラン値が(NBlock−Pos2)個であることを指示する。
番号逆変換器ICodeTransでは、ラン値が最大ラン値Runを超えるランレベル対に対応する符号番号に符号が割り当てられていない符号表を用いて、符号に対応する符号番号ExtCodeを取得することにより、発生するはずの無いランレベル対への符号の割り当てを回避した符号割当により符号番号に割り当てられた符号を復号化できる。
なお、上記可変長復号化処理を行う際、上記第1及び第2の符号表として、算術演算で生成可能な第1の部分(regularly build VLC)、及び規則的に生成できない第2の部分(table look up VLC)とにより構成される可変長符号表を用いる場合は、第2の符号表は、第1の符号表に対して、両部分を最大ラン値に応じて変更したものとしてもよいが、第2の符号表は、演算が容易な算術演算で生成可能な第1の部分のみを、第1の符号表に対して、最大ラン値に応じて変更したものとしてもよい。
また、i番目のランレベル対を復元する復号化が完了した時点での最大ラン値MaxRunに応じて、可変長符号表を変更する場合に、符号表を、ラン値が最大ラン値MaxRunを超えるランレベル対に符号を割り当てないものとする代わりに、可変長符号表を、例えば、図24(a)に示す符号表Ta,図24(b)に示す符号表Tb,あるいは図24(c)に示す符号表Tcに直接切替えててもよい。
例えば、最大ラン値MaxRunが小さい場合は図24(a)の符号表Ta、最大ラン値MaxRunが大きい場合は図24(c)の符号表Tc、最大ラン値MaxRunがその中間の値である場合は図24(b)の符号表Tbを選択して使用するのがよい。
このように本実施の形態6では、符号化データの復号化処理により、画像信号の周波数成分を量子化して得られた量子化係数を復元する画像復号化装置106において、可変長符号に対応する量子化係数を、符号表を用いて取得するランレングス復号化器RLD3を備え、該ランレングス復号化器RLD3では、対象ブロックにおける、復号化処理の施された処理済係数の個数と、該対象ブロックにおける、復号化処理の施されていない未復号化非0係数の個数との和に応じて、出現する可能性のないランレベル対を排除した符号表を選択するので、処理対象となる量子化係数に存在する冗長性な情報をより効果的に除去することができる可変長符号化処理に対応した復号化処理を良好に行うことができる。
なお、上記実施の形態6では、ランレングス復号化器として、各ブロックの量子化成分に対する可変長復号化を、ランレベル対を用いて行う復号化器において、対象ブロックの、符号化されている非0成分の個数NZnumを復号化するものを示したが、ランレングス復号化器は、例えば、上記実施の形態2のように、各ブロックの量子化成分に対応するラン値とレベル値とを別々に可変長復号化するランレングス復号化器において、対象ブロックの、符号化されている非0成分の個数NZnumを復号化するものであってもよい。この場合、NZnum個のレベル値を復号化した時点で、該NZnum個目のレベル値が対象ブロックの最後のレベル値であることを判別できる。
また、上記各実施の形態では、量子化パラメータQPで符号表を切り替える例を説明したが、量子化パラメータQPでなく、他のパラメータでもよい。例えば、新たなパラメータを導入し、ブロック毎に明示的に切り替えてもよい。
また、上記各実施の形態では、量子化成分などの係数を可変長符号化(復号化)する方法として、VLCテーブルを用いる方法であって、上記符号化(復号化)処理が施された処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて、VLCテーブルを切り替えるものを示したが、本発明の量子化成分などの係数の可変長符号化(復号化)方法は、VLCテーブルを用いるものに限るものではない。例えば、実施の形態1,3,5の、量子化成分を可変長符号化する方法は、上記VLCテーブルを用いない可変長符号化方法であって、上記処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて、上記VLCテーブルに相当する符号表を切り替えるものとしてもよい。また、実施の形態2,4,6の、量子化成分の符号化データを可変長復号化する方法は、上記VLCテーブルを用いない可変長復号化方法であって、上記処理済係数に関する情報、及び上記係数の生成に関するパラメータの少なくとも一方に応じて、上記VLCテーブルに相当する符号表を切り替えるものとしてもよい。
また、上記各実施の形態では、可変長符号化処理を行う画像符号化装置あるいは可変長復号化処理を行う画像復号化装置を、ハードウエアにより実現したものを示したが、これらの装置はソフトウエアにより実現してもよい。この場合、上記各実施の形態で示した可変長符号化処理あるいは可変長復号化処理を行うためのプログラムをフレキシブルディスク等のデータ記憶媒体に記録しておくことにより、上記画像符号化装置あるいは画像復号化装置を、独立したコンピュータシステムにおいて簡単に実現することが可能となる。
図25は、上記実施の形態1,3、5の可変長符号化処理または実施の形態2,4,6の可変長復号化処理を行うコンピュータシステムを説明するための図である。
図25(a)は、コンピュータシステムにて用いるプログラムの記憶媒体であるフレキシブルディスクの、正面からみた外観、断面構造、及びフレキシブルディスク本体を示し、図25(b)は、フレキシブルディスク本体の物理フォーマットの例を示している。フレキシブルディスクFDは、上記ディスク本体DをケースF内に内蔵したものであり、該ディスク本体Dの表面には、同心円状に外周から内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクFDでは、上記ディスク本体D上に割り当てられた記憶領域に、上記可変長符号化処理または可変長復号化処理を行うためのプログラムが記録されている。
また、図25(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムをフレキシブルディスクドライブを介してフレキシブルディスクFDに書き込む。また、フレキシブルディスクFD内に記録されているプログラムにより上記画像符号化装置または画像復号化装置をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、可変長符号化処理あるいは可変長復号化処理を行うためのプログラムを記録する記録媒体としてフレキシブルディスクを示したが、この記録媒体には光ディスクを用いても、上記フレキシブルディスクを用いる場合と同様に、ソフトウェアによる可変長符号化処理あるいは可変長復号化処理を行うことができる。また、上記記録媒体はこれらに限らず、CD-ROM、メモリカード、ROMカセット等、プログラムを記録できるものであればどのようなものでもよく、これらの記録媒体を用いる場合でも、上記フレキシブルディスク等を用いる場合と同様に、コンピュータシステムにより可変長符号化処理あるいは可変長復号化処理を行うことができる。
さらに以下、上記実施の形態で示した画像符号化方法や画像復号化方法の応用例とそれを用いたシステムについて説明する。
図26は、コンテンツ配信サービスを実現するコンテンツ供給システム1100の全体構成を示すブロック図である。
通信サービスの提供エリアは所望の大きさの領域(セル)に分割され、各セル内にそれぞれ固定無線局である基地局1107〜1110が設置されている。
このコンテンツ供給システム1100では、例えば、インターネット1101にインターネットサービスプロバイダ1102,電話網1104,および基地局1107〜1110を介して、コンピュータ1111、PDA(personal digital assistant)1112、カメラ1113、携帯電話1114、カメラ付きの携帯電話1200などの各機器が接続されている。
但し、コンテンツ供給システム1100は、図26に示す複数の機器をすべて含むものに限定されず、図26に示す複数の機器の一部のものを含むものであってもよい。また、各機器は、固定無線局である基地局1107〜1110を介さずに、電話網1104に直接接続されていてもよい。
ここで、カメラ1113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれの方式のものでもよい。
また、ストリーミングサーバ1103は、カメラ1113とは基地局1109、電話網1104を介して接続されており、このシステムでは、カメラ1113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能となっている。撮影したデータの符号化処理はカメラ1113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ1116で動画像を撮影して得られた動画データはコンピュータ1111を介してストリーミングサーバ1103に送信されてもよい。カメラ1116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラ1116で行ってもコンピュータ1111で行ってもどちらでもよい。また、符号化処理はコンピュータ1111やカメラ1116が有するLSI1117にて行われることになる。
なお、画像符号化・復号化用のソフトウェアは、コンピュータ1111等で読み取り可能な記録媒体である蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に格納するようにしてもよい。さらに、動画データは、カメラ付きの携帯電話1200により送信してもよい。この動画データは携帯電話1200が有するLSIで符号化処理されたデータである。
このコンテンツ供給システム1100では、ユーザがカメラ1113、カメラ1116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)は、カメラから上記実施の形態同様に符号化処理してストリーミングサーバ1103に送信され、一方で、ストリーミングサーバ1103からは、要求のあったクライアントに対して上記コンテンツデータがストリーム配信される。
クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータ1111、PDA1112、カメラ1113、携帯電話1114等がある。
このようなコンテンツ供給システム1100では、符号化されたデータをクライアント側にて受信して再生することができ、さらにクライアント側にてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能である。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した画像符号化装置あるいは画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図27は、上記実施の形態で説明した画像符号化方法と画像復号化方法を用いた携帯電話1200を示す図である。
この携帯電話1200は、基地局1110との間で電波を送受信するためのアンテナ1201と、CCDカメラ等の映像,静止画を撮影可能なカメラ部1203と、カメラ部1203で撮影した映像、アンテナ1201で受信した映像等のデータを表示する液晶ディスプレイ等の表示部1202とを有している。
また、携帯電話1200は、複数の操作キーが取り付けられている本体部1204と、音声出力を行うためのスピーカ等の音声出力部1208と、音声入力を行うためのマイク等の音声入力部1205と、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディア1207と、携帯電話1200に記録メディア1207を装着可能とするためのスロット部1206を有している。
ここで、記録メディア1207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話1200について図28を用いて詳細に説明する。
携帯電話1200は、表示部1202及び操作キー1204を備えた本体部の各部を統括的に制御する主制御部1241を有している。
また携帯電話1200は、電源回路部1240、操作入力制御部1234、画像符号化部1242、カメラインターフェース部1233、LCD(Liquid Crystal Display)制御部1232、画像復号化部1239、多重分離部1238、記録再生部1237、変復調回路部1236及び音声処理部1235を有している。携帯電話1200の各部は、同期バス1250を介して互いに接続されている。
電源回路部1240は、ユーザの操作により、終話及び電源キーがオン状態にされると、バッテリパックの電力を各部に対して供給することによりカメラ付ディジタル携帯電話1200を動作可能な状態に起動する。
携帯電話1200では、CPU、ROM及びRAM等でなる主制御部1241の制御により各部の動作が行われる。つまり、携帯電話1200では、音声通話モード時に音声入力部1205への音声入力により得られた音声信号は音声処理部1235によってディジタル音声データに変換される。ディジタル音声データは変復調回路部1236でスペクトラム拡散処理が施され、さらに、送受信回路部1231でディジタルアナログ変換処理及び周波数変換処理が施され、アンテナ1201を介して送信される。
また携帯電話機1200では、音声通話モード時にアンテナ1201で受信された受信信号は増幅されて周波数変換処理及びアナログディジタル変換処理が施される。受信信号はさらに、変復調回路部1236でスペクトラム逆拡散処理が施され、音声処理部1235によってアナログ音声信号に変換され、この信号が音声出力部1208を介して出力される。
さらに、携帯電話1200では、データ通信モード時に電子メールを送信する場合、本体部の操作キー1204の操作によって入力された電子メールのテキストデータは、操作入力制御部1234を介して主制御部1241に送出される。主制御部1241は、テキストデータを変復調回路部1236でスペクトラム拡散処理が施され、送受信回路部1231でディジタルアナログ変換処理及び周波数変換処理が施された後にアンテナ1201を介して基地局1110へ送信されるよう、各部を制御する。
携帯電話1200では、データ通信モード時に画像データを送信する場合、カメラ部1203で撮像された画像データはカメラインターフェース部1233を介して画像符号化部1242に供給される。また、携帯電話1200では、画像データを送信しない場合には、カメラ部1203での撮像により得られた画像データをカメラインターフェース部1233及びLCD制御部1232を介して表示部1202に直接表示することも可能である。
画像符号化部1242は、上記各実施の形態で説明した画像符号化装置を備えたものである。この画像符号化部1242は、カメラ部1203から供給された画像データを上記実施の形態の画像符号化方法によって圧縮符号化することにより符号化画像データに変換して、多重分離部1238に送出する。また、このとき同時に携帯電話機1200は、カメラ部1203で撮像中に音声入力部1205に入力された音声を音声処理部1235を介してディジタルの音声データとして多重分離部1238に送出する。
多重分離部1238は、画像符号化部1242から供給された符号化画像データと音声処理部1235から供給された音声データとを所定の方式で多重化する。その結果得られる多重化データは変復調回路部1236でスペクトラム拡散処理が施され、さらに送受信回路部1231でディジタルアナログ変換処理及び周波数変換処理が施され、アンテナ1201を介して送信される。
また、携帯電話1200では、データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナ1201を介して基地局1110から受信した受信信号は、変復調回路部1236でスペクトラム逆拡散処理が施され、その結果得られた多重化データが多重分離部1238に送出される。
また、アンテナ1201を介して受信された多重化データを復号化する際、多重分離部1238は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バス1250を介して該符号化画像データを画像復号化部1239に供給すると共に該音声データを音声処理部1235に供給する。
次に、画像復号化部1239は、本発明の実施の形態による画像復号化装置を備えたものである。画像復号化部1239は、画像データの符号化ビットストリームを、上述した本発明の実施の形態の符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部1232を介して表示部1202に供給する。これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データの表示が行われる。このとき同時に音声処理部1235は、音声データをアナログ音声信号に変換した後、これを音声出力部1208に供給する。これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データの再生が行われる。
なお、上述した本発明の各実施の形態の画像符号化方法及び画像復号化方法を適用可能なシステムは、上記コンテンツ供給システムの例に限られるものではない。
例えば、最近は衛星、地上波によるディジタル放送が話題となっており、上記実施の形態の画像符号化装置または画像復号化装置は、図29に示すようにディジタル放送用システムにも適用可能である。
具体的には、放送局1409からは映像情報の符号化ビットストリームが無線通信により、通信衛星または放送衛星などの衛星1410に伝送される。放送衛星1410では、上記映像情報の符号化ビットストリームを受けると、放送用の電波が出力され、この電波が衛星放送受信設備をもつ家庭のアンテナ1406で受信される。例えば、テレビ(受信機)1401またはセットトップボックス(STB)1407などの装置では、符号化ビットストリームが復号化され、映像情報が再生される。
また、記録媒体であるCDやDVD等の蓄積メディア1402に記録した符号化ビットストリームを読み取り、復号化する再生装置1403にも、上記実施の形態で示した画像復号化装置を実装することが可能である。
この場合、再生された映像信号はモニタ1404に表示される。また、ケーブルテレビ用のケーブル1405または衛星/地上波放送のアンテナ1406に接続されたセットトップボックス1407内に画像復号化装置を実装し、該画像復号化装置の出力をテレビのモニタ1408で再生する構成も考えられる。この場合、画像復号化装置は、セットトップボックスではなく、テレビ内に組み込んでもよい。また、アンテナ1411を有する車両1412では、衛星1410または基地局1107等から信号を受信し、車両1412に搭載されているカーナビゲーション1413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。
具体例な記録装置には、DVDディスク1421に画像信号を記録するDVDレコーダや、ハードディスクに画像信号を記録するディスクレコーダなどのレコーダ1420がある。更に画像信号は、SDカード1422に記録することもできる。また、レコーダ1420が上記実施の形態で示した画像復号化装置を備えていれば、レコーダ1420により、DVDディスク1421やSDカード1422に記録した画像信号を再生し、モニタ1408で表示することができる。
なお、カーナビゲーション1413の構成としては、例えば図28に示す携帯電話の構成のうち、カメラ部1203,カメラインターフェース部1233,画像符号化部1242以外の部分を有するものが考えられ、同様なことがコンピュータ1111やテレビ(受信機)1401等については考えられる。
また、上記携帯電話1114等の端末には、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみを有する送信端末、復号化器のみ有する受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像符号化方法あるいは画像復号化方法を上述したいずれの機器・システムにも用いることが可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
さらには、本発明の各実施の形態及びその応用例は、本明細書で示したものに限られるものではないことは、言うまでもない。