(57)【特許請求の範囲】
【請求項１】
画像データを直交変換して得られる係数データを符号化する画像データ符号化方法において、
前記係数データを規定順序で配列した後、該配列した係数データを第１、第２及び第３のグループにグループ化して符号化し、
前記グループ化は、値０の係数データが１個以上連続した後、絶対値が規程値以下で値０以外の係数データが続くとき、前記１個以上連続する値０の係数データ及び前記規程値以下で値０以外の係数データを前記第１のグループにグループ化し、
前記第１のグループに属さない係数データにおいて、値０の係数データが１個以上連続するとき、当該１個以上連続する値０の係数データを前記第２のグループにグループ化し、
前記第１及び第２のグループに属さない係数データを前記第３のグループにグループ化し、
前記符号化は、前記第１のグループについて、前記１個以上連続する値０の係数データ及び前記規程値以下で値０以外の係数データを符号化の単位として符号化し、前記第２のグループについて、前記１個以上連続する値０の係数データを符号化の単位として符号化し、前記第３のグループについて、１符号前に符号化する係数データに応じて符号化のテーブルを切り換えて符号化することを特徴とする画像データ符号化方法。
【請求項２】
画像データを直交変換して得られる係数データを符号化する画像データ符号化装置において、
前記係数データを規定順序に配列する変換手段と、
該配列した係数データを第１、第２及び第３のグループにグループ化するグループ化手段と、
グループ化した前記係数データを符号化する符号化手段とを備え、
前記グループ化手段は、値０の係数データが１個以上連続した後、絶対値が規程値以下で値０以外の係数データが続くとき、前記１個以上連続する値０の係数データ及び前記規程値以下で値０以外の係数データを前記第１のグループにグループ化し、前記第１のグループに属さない係数データにおいて、値０の係数データが１個以上連続するとき、当該１個以上連続する値０の係数データを前記第２のグループにグループ化し、前記第１及び第２のグループに属さない係数データを前記第３のグループにグループ化し、
前記符号化手段は、前記第１のグループについて、前記１個以上連続する値０の係数データ及び前記規程値以下で値０以外の係数データを符号化の単位として符号化し、前記第２のグループについて、前記１個以上連続する値０の係数データを符号化の単位として符号化し、前記第３のグループについて、１符号前に符号化する係数データに応じて符号化のテーブルを切り換えて符号化することを特徴とする画像データ符号化装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、画像データ符号化方法及び画像データ符号化装置に関し、例えばＤＣＴ等によって直交変換した画像データを符号化する集積回路に適用して好適なものである。
【０００２】
【従来の技術】
従来、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ）、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等により規定される画像データの圧縮においては、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：離散コサイン変換）した画像データを２次元ハフマン符号を用いて可変長符号化し、これにより効率良くデータ圧縮するようになされている。
【０００３】
すなわち図１９は、ＪＰＥＧ方式に適用されるエンコーダを示すブロック図であり、このエンコーダ１では、画像データＤＶをＤＣＴ変換器２に入力する。なおこのエンコーダ１では、それぞれ規定のサンプリング周波数で輝度信号及び色差信号をサンプリングして形成された画像データに対して、前処理部において規定の処理を実行して画像データＤＶを生成し、この画像データＤＶをＤＣＴ変換器２に入力する。
【０００４】
ＤＣＴ変換器２は、この画像データＤＶを、水平及び垂直方向に８×８画素単位のブロック（すなわちマクロブロックでなる）に分割し、各ブロック毎にＤＣＴ処理を実行する。これによりＤＣＴ変換器２は、８×８画素のブロックに対応する８×８（６４）個のＤＣＴ係数を生成する。
【０００５】
量子化器３は、規定の量子化テーブルを用いて、この８×８個のＤＣＴ係数を再量子化して出力する。スキャン変換器４は、この量子化器３からの出力データの配列を切り換えて出力し、これにより図２０に示すように、ジグザグスキャン（ｚｉｇ−ｚａｇ  ｓｃａｎｎｉｎｇ）により順次ＤＣＴ係数が連続してなる係数データを出力する。
【０００６】
すなわちこのようにＤＣＴ処理して得られる係数においては、水平方向及び垂直方向について高域側に値０の係数（すなわち無効係数でなる）が集中し、低域側に値０以外の係数（すなわち有意係数でなる）が集中する。従ってジグザグスキャンして得られる係数データにおいては、スキャンの終了端側に無効係数が集中する。
【０００７】
可変長符号化器５は、この無効係数が集中する性質を有効に利用して、係数データを効率良く可変長符号化する。すなわち可変長符号化器５は、スキャン変換器４から出力される係数データのうち、ＡＣ係数（すなわち交流成分を表す係数データでなり、図２０において、直流成分を表す左上端のＤＣ係数以外の係数でなる）をゼロ判定部６に与える。なお可変長符号化器５は、ＤＣ係数については、別途符号化処理して出力する。
【０００８】
ゼロ判定部６は、このＡＣ係数が値０か否か判断し、判断結果によりＡＣ係数を選択出力し、これにより無効係数及び有意係数をそれぞれランレングスカウンタ７及びグループ化部８に選択出力する。
【０００９】
ランレングスカウンタ７は、ゼロ判定部６より無効係数が順次入力されると、この入力に対応してカウント値をアップカウントする。さらにランレングスカウンタ７は、無効係数の入力が停止すると、２次元ハフマン符号化部９にカウント値を出力した後、このカウント値をリセットする。これによりランレングスカウンタ７は、連続して値が０となるＡＣ係数の数（すなわちゼロランでなる）を検出し、この検出結果を２次元ハフマン符号化部９に出力する。
【００１０】
グループ化部８は、ゼロ判定部６から出力される有意係数について、内蔵のグループ化テーブルに従って、この有意係数の属するグループ番号を検出し、検出結果を２次元ハフマン符号化部９に出力する。
【００１１】
ここで図２１に示すように、このグループ化テーブルは、有意係数に対応するように、グループ番号と付加ビット数が規定されて形成されるようになされている。すなわちＪＰＥＧにおいては、ゼロランとこのゼロランに続く有意係数とを符号化の単位に設定し、ゼロランを形成する無効係数とゼロランに続く有意係数とでなる複数符号に１符号を割り当て符号化し、これにより効率良くデータ圧縮する。
【００１２】
さらにＪＰＥＧにおいては、ゼロランとこのゼロランに続く有意係数の発生頻度に対応して、この１ワードの符号長を規定し、これによりいわゆるエントロピー符号化の手法を適用してデータ圧縮の効率を向上する。
【００１３】
このため可変長符号化器５では、有意係数の属するグループ番号により符号化テーブルを選択すると共に、ゼロランに応じてこの選択した符号化テーブルから符号語を検出する。さらに可変長符号化器５は、この検出した符号語に規定の付加ビットを付加して符号化データを生成する。
【００１４】
すなわち可変長符号化器５において、ＡＣ符号化テーブルメモリ１０は、グループ番号に対応する複数の符号化テーブルを有し、２次元ハフマン符号化部９は、グループ番号及びゼロランを基準にしてこのＡＣ符号化テーブルメモリ１０をアクセスすることにより、グループ番号に対応する符号化テーブルを選択すると共に、この選択したテーブルからゼロランで指定される符号語を選択する。
【００１５】
フォーマット部１１は、２次元ハフマン符号化部９で検出された符号語に対して、グループ化テーブルで規定された付加ビット数だけ付加ビットを付加し、これにより符号化データＤ１を出力する。これによりこの種のエンコーダ１では、画像データを効率良くデータ圧縮するようになされている。
【００１６】
【発明が解決しようとする課題】
ところでこのようにジグザグスキャンして得られる係数においては、連続する係数間で一定の相関が検出される。すなわち絶対値の大きな係数においては、続いて絶対値の近接した係数が連続する。また無効係数においては、続いて絶対値の小さな係数ほど発生頻度が高くなり、さらに連続する無効係数の数が少ない場合ほど（すなわちゼロランの値が小さいほど）、無効係数の発生頻度が高くなる。
【００１７】
従ってこれらの連続する係数間の相関を利用して符号化テーブルを切り換えるようにすれば、効率良くデータ圧縮できると考えられる。実験した結果によれば、この方法は、無効係数、サイズ１の有意係数（値１及び−１の有意係数でなる）の発生頻度が低い高ビットレートの画像データを圧縮する場合、ゼロランとこのゼロランに続く有意係数とを単位にして符号化する従来の符号化方式に比して、圧縮効率が優れることが判った。
【００１８】
またこれとは逆に、無効係数、サイズ１の有意係数の発生頻度が高い低ビットレートの画像データを圧縮する場合、この方法は、従来の符号化方式に比して、圧縮効率が劣ることも判った。
【００１９】
本発明は以上の点を考慮してなされたもので、これらの特徴を有効に利用して従来に比して一段と効率良くデータ圧縮することができる画像データ符号化方法及び画像データ符号化装置を提案しようとするものである。
【００２０】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、画像データを直交変換して得られる係数データを符号化する画像データ符号化方法において、この係数データを規定順序で配列した後、該配列した係数データを第１、第２及び第３のグループにグループ化して符号化し、このグループ化は、値０の係数データ１個以上が連続した後、絶対値が規程値以下で値０以外の係数データが続くとき、先の１個以上連続する値０の係数データ及び規程値以下で値０以外の係数データを第１のグループにグループ化し、先の第１のグループに属さない係数データにおいて、値０の係数データが１個以上連続するとき、該１個以上連続する値０の係数データを第２のグループにグループ化し、前記第１及び第２のグループに属さない係数データを先の第３のグループにグループ化し、先の符号化は、先の第１のグループについて、１個以上連続する値０の係数データ及び規程値以下で値０以外の係数データを符号化の単位として符号化し、先の第２のグループについて、１個以上連続する値０の係数データを符号化の単位として符号化し、先の第３のグループについて、１符号前に符号化する係数データに応じて符号化のテーブルを切り換えて符号化する。
【００２２】
また画像データを直交変換して得られる係数データを符号化する画像データ符号化装置において、この係数データを規定順序に配列する変換手段と、該配列した係数データを第１、第２及び第３のグループにグループ化するグループ化手段と、グループ化した先の係数データを符号化する符号化手段とを備え、先のグループ化手段は、値０の係数データが１個以上連続した後、絶対値が規程値以下で値０以外の係数データが続くとき、これらの１個以上連続する値０の係数データ及び規程値以下で値０以外の係数データを先の第１のグループにグループ化し、先の第１のグループに属さない係数データにおいて、値０の係数データが１個以上連続するとき、該１個以上連続する値０の係数データを第２のグループにグループ化し、前記第１及び第２のグループに属さない係数データを第３のグループにグループ化し、先の符号化手段は、この第１のグループについて、１個以上連続する値０の係数データ及び規程値以下で値０以外の係数データを符号化の単位として符号化し、第２のグループについて、１個以上連続する値０の係数データを符号化の単位として符号化し、第３のグループについて、１符号前に符号化する係数データに応じて符号化のテーブルを切り換えて符号化する。
【００２４】
【作用】
直交変換して得られる係数データを規定順序で配列した後、該配列した係数データを第１、第２及び第３のグループにグループ化して符号化するにつき、値０の係数データが１個以上連続した後、絶対値が規程値以下で値０以外の係数データが続くとき、先の１個以上連続する値０の係数データ及び規程値以下で値０以外の係数データを第１のグループにグループ化し、これら１個以上連続する値０の係数データ及び規程値以下で値０以外の係数データを符号化の単位として符号化すれば、複数符号の係数データに１符号を割り当てて符号化でき、この第１のグループに属する係数データを効率良く符号化することができる。これに対して先の第１のグループに属さない係数データにおいて、値０の係数データが１個以上連続するとき、該１個以上連続する値０の係数データを第２のグループにグループ化し、１個以上連続する値０の係数データを符号化の単位として符号化し、さらに前記第１及び第２のグループに属さない係数データを先の第３のグループにグループ化し、１符号前に符号化する係数データに応じて続く符号化のテーブルを切り換えて符号化すれば、第３のグループについては、係数データ間の相関を有効に利用して効率良く符号化することができ、また第１及び第３のグループに属さない第２のグループについては、複数符号の係数データに１符号を割り当てて符号化でき、効率良く符号化することができる。これにより第１のグループに属する係数データが多く発生する低ビットレートで優位な符号化方法と、第３のグループに属する係数データが多く発生する高ビットレートで優位な符号化方法との双方の長所を組み合わせて、係数データを符号化することができる。
【００２６】
これによりこれらの手法を適用して画像データ符号化装置を形成して、簡易な構成で、データ圧縮効率の高い画像データ符号化装置を得ることができる。
【００２７】
【実施例】
以下、適宜図面を参照しながら本発明の実施例を詳述する。
【００２８】
図２は、本発明の一実施例に係るエンコーダを示すブロック図であり、このエンコーダ２０は、動画の画像データを符号化処理する。なおこのエンコーダ２０は、動画の画像データに関する以外の部分については、図１９について上述したエンコーダ１と構成を共通にすることにより、対応する構成は同一の符号を付して示し、重複した説明を省略する。
【００２９】
ここでエンコーダ２０は、前処理部において、動き補償等の処理を実行し、その結果得られる画像データＤＶ１をＤＣＴ変換器２に入力する。量子化器２１は、この画像データＤＶ１の符号化制御に対応して量子化テーブルを切り換え、ＤＣＴ変換器２から出力される係数データを再量子化して出力する。なおこの実施例においては、この係数データとして１６ビットの係数データを出力するように量子化テーブルが規定され、またＤＣＴ変換器２にはこれに対応するビット数の画像データＤＶ１が入力されるようになされている。
【００３０】
スキャン変換器４は、この１６ビットの係数データをジグザクスキャンの配列に変換して出力し、可変長符号化器２２は、このスキャン変換器４から出力される係数データＣＯＥＦを可変長符号化し、その符号化結果でなる符号化データＤ２を出力する。
【００３１】
ここで図１に示すように、可変長符号化器２２は、集積回路で形成され、グルーピング部２４に係数データＣＯＥＦを入力し、ここで係数データＣＯＥＦをグループ化する。なおこの実施例において、可変長符号化器２２は、係数データＣＯＥＦのうち、ＤＣ係数については、ＭＰＥＧについて規定されたフォーマットに従って別途符号化処理した後、ＡＣ係数より生成した符号化データと共に出力し、ここではこのＤＣ係数の符号化処理については説明を省略する。このためグルーピング部２４は、係数データＣＯＥＦのうち、ＡＣ係数をゼロサイズ１判定部２６に入力する。
【００３２】
ゼロサイズ１判定部２６は、このＡＣ係数が値１又は値−１か否か判定することにより、サイズ１のＡＣ係数を検出する。さらにゼロサイズ１判定部２６は、このＡＣ係数が値０か否か判断することにより、無効係数を検出する。さらにゼロサイズ１判定部２６は、サイズ１のＡＣ係数及び無効係数を検出すると、それぞれサイズ１検出結果（符号＝１で表す）及び無効係数検出結果（符号＝０で表す）を出力する。
【００３３】
ランレングスカウンタ２７は、順次入力される無効係数検出結果＝０に対応してカウント値をアップカウントする。さらにランレングスカウンタ２７は、この無効係数検出結果＝０の入力が停止すると、カウント値を出力した後、このカウント値をリセットする。これによりランレングスカウンタ２７は、連続して値が０となるＡＣ係数の数（ゼロラン）を検出し、この検出結果を出力するようになされている。
【００３４】
有意係数マップ２８、ゼロラン＋サイズ１マップ２９及びゼロランマップ３０は、記憶したデータをアドレスデータに対応して出力するメモリ回路で形成される。このうち有意係数マップ２８は、ＡＣ係数ＣＯＥＦによりアドレッシングされるのに対し、ゼロラン＋サイズ１マップ２９は、ＡＣ係数ＣＯＥＦとゼロランによりアドレッシングされ、ゼロランマップ３０は、ゼロランによりアドレッシングされるようになされている。
【００３５】
さらに図３に示すように、有意係数マップ２８は、ＡＣ係数ＣＯＥＦのうち、有意係数に対応するように、グループ番号１７〜２５、付加ビット数及び次のテーブル番号Ｔ１７〜Ｔ２５が規定されて形成されるようになされている。なおこの図３において、有意係数マップ２８には、次のテーブル番号が規定されているが、この実施例においては、グループ番号に対応するように次のテーブル番号を規定することにより、グループ番号を用いて次のテーブル番号を指定し、これにより有意係数マップ２８の構成を小型化するようになされている。
【００３６】
これにより有意係数マップ２８は、ＡＣ係数ＣＯＥＦのうち、有意係数が入力されると、対応するグループ番号ＧＰＮＯ、付加ビット数ＡＤ及び次のテーブル番号ＴＮＯを出力するようになされている。
【００３７】
これに対してゼロラン＋サイズ１マップ２９は、ゼロランと続くサイズ１（すなわち値１又は値−１でなる）の有意係数に対応するように、グループ番号１〜６、付加ビット数及び次のテーブル番号Ｔ１６が規定されて形成されるようになされている。
【００３８】
さらにこのゼロラン＋サイズ１マップ２９は、ゼロランが連続してマクロブロックが終了する場合（すなわちＥＯＢ（Ｅｎｄ  Ｏｆ  Ｂｌｏｃｋ）でなる）に対応して、グループ番号０、付加ビット数及び次のテーブル番号Ｔ０が規定されるようになされている。なおこの図３において０＊１、０＊２、０＊３、……等の表記は、それぞれ１個、２個、３個、……だけ連続する無効係数のＡＣ係数を表し、続く値±１は、サイズ１の有意係数を表す。
【００３９】
これによりゼロラン＋サイズ１マップ２９は、ＡＣ係数ＣＯＥＦのうち、ゼロランに続いてサイズ１の有意係数が入力されると、またゼロランに続いてマクロブロックが終了すると、これら複数のＡＣ係数に対して１組の対応するグループ番号ＧＰＮＯ、付加ビット数ＡＤ及び次のテーブル番号ＴＮＯを出力するようになされている。
【００４０】
さらにゼロラン＋サイズ１マップ２９は、このようにして次のテーブル番号ＴＮＯを出力するにつき、グループ番号１〜６については（すなわちゼロランに続いてサイズ１の有意係数が入力される場合に対応する）、次のテーブル番号ＴＮＯとして共通のテーブル番号Ｔ１６を出力するように規定されている。
【００４１】
これに対してゼロランマップ３０は、ゼロランに対応するように、グループ番号８〜１３、付加ビット数及び次のテーブル番号Ｔ８が規定されて形成されるようになされている。これによりゼロランマップ３０は、ＡＣ係数ＣＯＥＦのうち、ゼロランが入力されると、ゼロランを形成する複数の無効係数に対して１の対応するグループ番号ＧＰＮＯ、付加ビット数ＡＤ及び次のテーブル番号ＴＮＯを出力するようになされている。
【００４２】
さらにこのゼロランマップ３０は、このようにして次のテーブル番号ＴＮＯを出力するにつき、次のテーブル番号ＴＮＯとして共通のテーブル番号Ｔ８を出力するように規定されている。
【００４３】
セレクタ３２は、無効係数検出結果＝０が連続した後、続いてサイズ１検出結果＝１が入力されると、ゼロラン＋サイズ１マップ２９から出力されるグループ番号ＧＰＮＯ、付加ビット数ＡＤ及び次のテーブル番号ＴＮＯを選択出力する。これに対して無効係数検出結果＝０が連続した後、続いてサイズ１検出結果＝１が入力されない場合、ゼロランマップ３０から出力されるグループ番号ＧＰＮＯ、付加ビット数及び次のテーブル番号ＴＮＯを選択出力した後、続いて有意係数マップ２８から出力されるグループ番号ＧＰＮＯ、付加ビット数ＡＤ及び次のテーブル番号ＴＮＯを選択出力する。
【００４４】
またセレクタ３２は、無効係数検出結果＝０及びサイズ１検出結果＝１の双方が入力されない場合、有意係数マップ２８から出力されるグループ番号ＧＰＮＯ、付加ビット数ＡＤ及び次のテーブル番号ＴＮＯを選択出力する。
【００４５】
これによりグルーピング部２４は、従来の有意係数を基準にしたグループ化に代えて、サイズ１の有意係数については、ゼロランと組み合わせてグループ化し、サイズ１以外の有意係数については、ゼロランと分離してグループ化するようになされている。
【００４６】
符号化テーブル３３は、有意係数マップ２８、ゼロラン＋サイズ１マップ２９及びゼロランマップ３０において規定された次のテーブル番号ＴＮＯに対応する複数のテーブルを有し、各テーブルは、グループ番号に対応してハフマンコードＨＣ及びコード長ＨＬを記録して形成されるようになされている。
【００４７】
符号化テーブル３３は、遅延回路（Ｄ）３４を介して入力される次のテーブル番号ＴＮＯと、グループ番号ＧＰＮＯとにより、これら複数のテーブルをアクセスし、対応するハフマンコードＨＣ及びコード長ＨＬを出力する。
【００４８】
これにより可変長符号化器２２では、ゼロランとサイズ１の有意係数との組み合わせについて、さらにはゼロランとサイズ２以上の有意係数の組み合わせのゼロランについて、複数符号に１の符号を割り当てて符号化するようになされている。
【００４９】
さらにこの符号化の際、符号化テーブル３３は、遅延回路（Ｄ）３４を介して入力される１ワード前のテーブル番号ＴＮＯに従ってテーブルが選択されることにより、１符号前の符号化に応じて続く符号化のテーブルが切り換わる。これにより可変長符号化器２２では、係数間の相関を有効に利用して効率良くデータ圧縮するようになされている。
【００５０】
すなわち図３〜図１４に示すように、符号化のテーブルＴ０〜Ｔ２５におけるハフマンコードのコード長（レングス）と、各グループの付加ビット数（図３）とは、規程の画像データにより発生頻度が確認され、この発生頻度に対応して全体として最もデータ量が少なくなるように規程され、これにより可変長符号化器２２ではＡＣ係数間の相関関係を有効に利用して符号化するようになされている。
【００５１】
このうち有意係数マップ２８で指定されるテーブル番号Ｔ１７〜Ｔ２５のテーブルにおいては、各テーブルに対応するＡＣ係数値近傍を中心にして発生頻度が分布し、この近傍にコード長の短いハフマンコードを配置するようになされている。これにより可変長符号化器２２では、絶対値の大きな係数に続いて絶対値の近接した係数が発生するＡＣ係数の特徴を有効に利用して、効率良くデータ圧縮できることがわかる。
【００５２】
またグループ１〜グループ１３においては、ゼロランの短い場合程発生頻度が高いことにより、これに対応してコード長の短いハフマンコードが配置され、また付加ビット数が短く設定され、この場合もＡＣ係数の特徴を有効に利用して、効率良くデータ圧縮できることがわかる。
【００５３】
またテーブルＴ８、Ｔ１６のグループ番号１８〜２５においては、ＡＣ係数が小さいとき程コード長が短く規程され、この場合は無効係数の次には絶対値の小さい係数程発生し易い特徴を有効に利用していることになる。
【００５４】
なおこの実施例において、グループ番号２５は、エスケープコードに割り当てられるようになされている。従ってこのグループ番号２５に対応して後述するフォーマット部３５から出力される符号化データＤ２は、フォーマット化する際に、付加ビットに代えて１６ビットのＡＣ係数データが付加されるようになされている。
【００５５】
かくするにつきこの実施例においては、ゼロランとこのゼロランに続いてサイズ１の有意係数が得られた場合、ゼロランとこのゼロランに続く有意係数とを単位にした従来方式の符号化方式によりデータ圧縮し、これ以外の場合は、連続する係数の相関を有効に利用して符号化テーブルを切り換えて符号化する。
【００５６】
この場合上述したように、ゼロランとこのゼロランに続く有意係数とを単位にした従来方式の符号化方式は、無効係数、サイズ１の有意係数の発生頻度が高い低ビットレートの画像データを圧縮する場合に優れ、連続する係数の相関を利用して符号化テーブルを切り換える符号化方式は、無効係数、サイズ１の有意係数の発生頻度が低い高ビットレートの画像データを圧縮する場合に優れる特徴がある。
【００５７】
従ってこの実施例のように、ゼロランとこのゼロランに続いてサイズ１の有意係数が得られる場合と、これ以外の場合とで、符号化の方式を切り換えるようにすれば、従来方式と係数間の相関を利用した方式との双方の長所を有効に組み合わせてデータ圧縮することができ、これにより従来に比してデータ圧縮効率を向上することができる。もちろん単に係数間の相関を利用してデータ圧縮する場合に比しても圧縮効率を向上することができ、特にこの場合は低ビットレートの画像データを圧縮する場合に圧縮効率を向上することができる。
【００５８】
さらにそれぞれ高ビットレート及び低ビットレートに優れる方式を組み合わせたことにより、従来に比してビットレートの変化に対してデータ圧縮効率の変動を低減でき、その分テーブルを固定しても、異なる圧縮率における圧縮効率の変動を軽減することができる。
【００５９】
またこれにより幅広い圧縮率について、共通のテーブルを用いて符号化することもできる。
【００６０】
さらにこのようにゼロランとサイズ１の有意係数を単位にして１符号を割り当てる際に、またゼロランを単位にして１符号を割り当てる際に、有意係数をゼロランと分離して符号化する場合と同様に、１符号前に符号化するＡＣ係数に応じてテーブルを切り換えることにより、全体として簡易な構成で、これらのグループ間の相関を有効に利用して効率良くデータ圧縮することができる。
【００６１】
さらにゼロラン＋サイズ１マップ２９及びゼロランマップ３０においては、各グループで共通のテーブルを指定することにより、少ないテーブル数で効率良く符号化することができ、これによっても全体構成を簡略化することができる。従ってこの可変長符号化器２２を集積回路化により形成する場合において、簡易に集積回路化して効率良くデータ圧縮することができる。
【００６２】
なお実際上、符号化テーブル３３は、上述したテーブル番号のテーブルを複数系統有し、符号化制御により、フレーム間符号化及びフレーム内符号化で、さらには輝度信号及び色差信号で、これら複数系統のテーブルを切り換えて使用するようになされ、これによってもさらにデータ圧縮効率を向上するようになされている。
【００６３】
フォーマット部３５は、このようにして符号化テーブル３３から出力されるハフマンコードＨＣに対して、付加ビット数ＡＤで規定される数の付加ビットを付加した後、規定のヘッダ等を付加して符号化データＤ２を生成し、この符号化データＤ２を出力する。
【００６４】
ここでこの付加ビットは、付加ビットの最上位ビットが符号ビットに規定され、フォーマット部３５は、ＡＣ係数データの正負に応じてこの最上位ビットを値１又は値０に設定した後、付加ビットの値が各グループ内でＡＣ係数値の小さい順に順次連続するように、連続する付加ビットの論理値を設定して付加ビットを生成する。
【００６５】
これにより図１６に示すようなＤＣＴ結果については、図１７に示すように、ＡＣ係数をジグザグスキャンして順次、値５３、値−２０、値０、値１、……の係数データ列がグルーピング部２４に入力され、この場合初めに値５３のＡＣ係数が有意係数マップ２８によりグループ化され（図１７（Ａ）及び（Ｂ））、図３において下線を付して示すように、グループ番号２２、値６の付加ビット数及び次のテーブル番号Ｔ２２が検出される（図１７（Ｃ））。なおここでは、説明を簡略化するため、４×４画素のブロックについてのＤＣＴ結果を例に取って説明する。
【００６６】
このときこの直前のブロックの最後にＥＯＢが検出され、符号化テーブル３３におけるテーブル番号としてテーブル番号Ｔ０が選択されていることにより（図１７（Ｄ））、値５３のＡＣ係数は、テーブル番号Ｔ０のテーブル（図４）よりグループ番号２２のハフマンコード「００００１１」が選択出力される。これによりフォーマット部３５において、このハフマンコードに対して、値６の付加ビット数に対応する「０１０１０１」の付加ビットが付加され（図１７（Ｅ））、符号化されることになる。
【００６７】
これに対して続く値−２０のＡＣ係数は、同様に有意係数マップ２８によりグループ化され、グループ番号２１、値５の付加ビット数及び次のテーブル番号Ｔ２１が検出される（図３）。この場合、直前の符号化においてテーブル番号Ｔ２２が選択されていることにより、値−２０のＡＣ係数は、テーブル番号Ｔ２２のテーブル（図１２）よりグループ番号２１のハフマンコード「０１」が選択出力される。これによりフォーマット部３５において、このハフマンコード「０１」に対して、値５の付加ビット数に対応する「１０１００」の付加ビットが付加され、符号化されることになる。
【００６８】
さらに続く値０のＡＣ係数は、続く値１のＡＣ係数と共に、ゼロラン＋サイズ１マップ２９によりグループ化され、グループ番号１、値１の付加ビット数及び次のテーブル番号Ｔ１６が検出される（図３）。この場合、直前の符号化においてテーブル番号Ｔ２１が選択されていることにより、値０及び値１のＡＣ係数は、テーブル番号Ｔ２１のテーブル（図１１）よりグループ番号１のハフマンコード「０００００１」が選択出力される。これによりフォーマット部３５において、このハフマンコード「０００００１」に対して、値１の付加ビット数に対応する「０」の付加ビットが付加され、符号化されることになる。
【００６９】
また続く値−１のＡＣ係数は、有意係数マップ２８によりグループ化され、グループ番号１７、値１の付加ビット数及び次のテーブル番号Ｔ１７が検出される（図３）。この場合、直前の符号化においてテーブル番号Ｔ１６が選択されていることにより、値−１のＡＣ係数は、テーブル番号Ｔ１６のテーブル（図１５）よりグループ番号１７のハフマンコード「０１」が選択出力され、このハフマンコード「０１」に「１」の付加ビットが付加されて符号化される。
【００７０】
さらに続く値０のＡＣ係数は、続くＡＣ係数が値−２でなることにより、ゼロランマップ３０によりグループ化され、グループ番号８、値０の付加ビット数及び次のテーブル番号Ｔ８が検出される（図３）。これにより直前に指定されたテーブル番号Ｔ１７のテーブル（図７）よりハフマンコード「０１００」が選択され、この場合付加ビット数が０でなることによりハフマンコード「０１００」が直接出力される。
【００７１】
また続く値−２のＡＣ係数は、有意係数マップ２８によりグループ化されてグループ番号１８、値２の付加ビット数及び次のテーブル番号Ｔ１８が検出され、直前の符号化においてテーブル番号Ｔ８が指定されていることにより、テーブル番号Ｔ８のテーブル（図１）よりグループ番号１８のハフマンコード「１」が選択出力され、このハフマンコード「１」に「１０」の付加ビットが付加されて符号化される。
【００７２】
これに対して続く値０のＡＣ係数は、続いて値０、値１のＡＣ係数が連続することにより、これらの係数と共にゼロラン＋サイズ１マップ２９によりグループ化され、グループ番号２、値２の付加ビット数及び次のテーブル番号Ｔ１６が検出される。この場合直前の符号化においてテーブル番号Ｔ１８が指定されていることにより、テーブル番号Ｔ１８のテーブル（図８）よりグループ番号２のハフマンコード「０１０１」が選択出力され、このハフマンコード「０１０１」に「００」の付加ビットが付加されて符号化される。
【００７３】
さらに続く値０のＡＣ係数は、続いて値０のＡＣ係数がこのブロックの終わりまで連続することにより、ＥＯＢに該当する。従ってこのＡＣ係数は、ゼロラン＋サイズ１マップ２９によりグループ化され、グループ番号０、値０の付加ビット数及び次のテーブル番号Ｔ０が検出され、直前にテーブル番号Ｔ１６が指定されていることにより、テーブル番号Ｔ１６のテーブル（図１４）よりグループ番号０のハフマンコード「１１０」が選択出力され、このハフマンコード「１１０」が直接出力される。
【００７４】
これにより可変長符号化器２２は、ゼロランとこのゼロランに続いてサイズ１の有意係数が得られた場合、これらの符号に１符号を割り当てて符号化し、これ以外のＡＣ係数が得られた場合、直前の係数により符号化テーブルを切り換えて係数データを符号化するようになされている。
【００７５】
図１８は、このようにして得られた符号化データＤ２を復調するデコーダを示すブロック図である。このデコーダ４０は、例えば光ディスク等の記録媒体から得られる再生信号を復調し、その結果得られる符号化データＤ２をシフトレジスタ４１に入力する。なおこの符号化データＤ２は、マクロブロック単位で同期が取れた状態でシフトレジスタ４１に入力されるようになされている。シフトレジスタ４１は、この符号化データＤ２を復号化テーブル４２に出力すると共に、規定の期間保持する。
【００７６】
復号化テーブル４２は、符号化データＤ２よりハフマンコードＨＣとコード長ＨＬを検出する。さらに復号化テーブル４２は、上述したエンコーダ２０側の符号化テーブル３３に対応する復号化テーブルを有し、ハフマンコードＨＣとコード長ＨＬよりこの復号化テーブルをアクセスする。これにより復号化テーブル４２は、この符号化データＤ２の符号化基準となったグループ番号ＧＰＮＯ（図１においてセレクタ３２より出力されるグループ番号ＧＰＮＯに対応する）を検出する。
【００７７】
さらに復号化テーブル４２は、このグループ番号ＧＰＮＯに対応する付加ビット数を検出し、検出した付加ビット数によりシフトレジスタ４１に保持された符号化データＤ２を切り出し、これにより符号化データＤ２の付加ビットＤＡＤをアングループ化部４３に出力する。
【００７８】
さらに復号化テーブル４２は、ラッチ回路で形成される遅延回路４４を介して、このグループ番号ＧＰＮＯを１符号分遅延させて入力側に帰還する。復号化テーブル４２は、この１符号分遅延したグループ番号ＧＰＮＯを基準にしてテーブル番号ＴＮＯを検出し、このテーブル番号ＴＮＯによりテーブルを切り換えて、続く符号化データＤ２のグループ番号を検出する。かくするにつき、復号化テーブル４２等に配置されてグループ番号等を格納するレジスタにおいては、各マクロブロックの先頭でリセットされた後、一連の処理を実行するようになされている。
【００７９】
アングループ化部４３は、このようにして得られるグループ番号ＧＰＮＯと付加ビットＤＡＤから元のＡＣ係数を復号し、復号結果を続く再量子化器に出力する。これによりデコーダ４０は、再量子化器の出力データに動き補償等の処理を実行し、元の画像データを復号するようになされている。
【００８０】
以上の構成において、前処理部において、動き補償等の処理を受けた画像データＤＶ１は（図２）、ＤＣＴ変換器２においてＤＣＴ係数に変換され、このＤＣＴ係数が量子化器２１により再量子化され、続くスキャン変換器４によりジグザグスキャンの配列に変換される。
【００８１】
このジグザグスキャンの配列に変換されたＤＣＴ係数ＣＯＥＦは（図１）、可変長符号化器２２に入力され、このＤＣＴ係数のうちのＤＣ係数が、ＭＰＥＧについて規定されたフォーマットに従って符号化処理される。これに対してＡＣ係数ＣＯＥＦは、ゼロサイズ１判定部２６において、無効係数、サイズ１の係数が検出され、この無効係数の検出結果＝０がランレングスカウンタ２７に出力されてゼロランが検出される。
【００８２】
さらにＡＣ係数ＣＯＥＦは、有意係数マップ２８により、有意係数が検出され、これにより有意係数のグループにグループ化され（図３）、この有意係数マップ２８より対応するグループ番号ＧＰＮＯ、付加ビット数ＡＤ、テーブル番号ＴＮＯが出力される。
【００８３】
さらにＡＣ係数ＣＯＥＦは、ランレングスカウンタ２７より出力されるゼロランの検出結果と共に、ゼロラン＋サイズ１マップ２９に入力され、ここでゼロランに続いてサイズ１の有意係数が入力されると、またゼロランに続いてマクロブロックが終了すると、対応するグループ番号ＧＰＮＯ、付加ビット数ＡＤ及び次のテーブル番号ＴＮＯが出力され、これによりサイズ１の有意係数については、ゼロランと組み合わせてグループ化される。
【００８４】
このゼロランの検出結果は、ゼロラン＋サイズ１マップ２９に加えてゼロランマップ３０に入力され、このゼロランマップ３０において、ゼロランに対応してグループ番号ＧＰＮＯ、付加ビット数ＡＤ及び次のテーブル番号ＴＮＯが出力され、これによりサイズ２以上の有意係数の前に表れるゼロランが、独自のグループにグループ化される。
【００８５】
これによりＡＣ係数ＣＯＥＦは、ゼロランに続くサイズ１の有意係数については、ゼロランと組み合わせてグループ化され、これ以外の有意係数については、ゼロランと分離してグループ化され、それぞれ対応するグループ番号ＧＰＮＯ、付加ビット数ＡＤ及び次のテーブル番号ＴＮＯがセレクタ３２より選択出力される。
【００８６】
このうちグループ番号ＧＰＮＯ及びテーブル番号ＴＮＯは、符号化テーブル３３に入力され、ここで対応するハフマンコードＨＣとコード長ＨＬが検出される。この検出結果は、フォーマット部３５に出力され、ここで付加ビットが付加されて符号化デ−タＤ２に変換される。
【００８７】
これによりゼロランに続くサイズ１の有意係数については、ゼロランと組み合わせて１の符号が割り当てられて符号化され、またサイズ２以上の有意係数の前に表れるゼロランについては、１の符号が割り当てられて符号化され、これによりこれらのＡＣ係数が、低ビットレートにおいて優位な符号化方式により符号化される。
【００８８】
このときテーブル番号ＴＮＯは、遅延回路３４を介して符号化テーブル３３に入力されることにより、符号化テーブル３３において、１符号前のテーブル番号ＴＮＯにより続く符号化のテーブルが切り換えられる。
【００８９】
さらにこのようにして１符号前のテーブル番号ＴＮＯにより続く符号化のテーブルを切り換えるにつき、グループ化に用いる有意係数マップ２８において、ＡＣ係数値に応じてテーブル番号が切り換わることにより、サイズ２以上の有意係数、ゼロランと対を形成しないサイズ１の有意係数については、連続する係数間の相関を有効に利用して、符号化される。
【００９０】
これによりこれらの有意係数においては、高ビットレートにおいて優位な符号化方式により符号化される。従ってジグザグスキャンして得られるＡＣ係数ＣＯＥＦにおいては、低ビットレート及び高ビットレートにおいて発生頻度の高いデータが、それぞれ低ビットレート及び高ビットレートにおいて優位な符号化方式により符号化され、全体として高いデータ圧縮効率で符号化される。
【００９１】
以上の構成によれば、ジグザグスキャンして得られるＡＣ係数ＣＯＥＦをグループ化し、ゼロランとサイズ１の有意係数、ゼロランについては、複数ワードに１符号を割り当てて符号化し、これ以外の有意係数については、直前に符号化するＡＣ係数値に応じてテーブルを切り換えて符号化することにより、低ビットレート及び高ビットレートにおいて発生頻度の高いデータを、低ビットレート及び高ビットレートにおいてそれぞれ優位な符号化方式により符号化することができ、これにより全体として高いデータ圧縮効率で画像データを符号化することができる。
【００９２】
さらにそれぞれ高ビットレート及び低ビットレートに優れる方式を組み合わせたことにより、従来に比してビットレートの変化に対してデータ圧縮効率の変動を低減でき、その分テーブルを固定しても、異なる圧縮率における圧縮効率の変動を軽減することができる。またこれにより幅広い圧縮率について、共通のテーブルを用いて符号化することもできる。
【００９３】
さらにこのようにゼロランとサイズ１の有意係数を単位にして１符号を割り当てる際に、またゼロランを単位にして１符号を割り当てる際に、有意係数をゼロランと分離して符号化する場合と同様に、１符号前に符号化するＡＣ係数に応じてテーブルを切り換えることにより、全体として簡易な構成で、これらのグループ間の相関を有効に利用して効率良くデータ圧縮することができる。
【００９４】
さらにゼロラン＋サイズ１マップ及びゼロランマップにおいて、各グループで共通のテーブル番号を指定することにより、その分少ないテーブル数で効率良く符号化することができ、これによっても全体構成を簡略化することができる。従ってこの可変長符号化器を集積回路により形成する場合において、簡易に集積回路化して効率良くデータ圧縮することができる。
【００９５】
なお上述の実施例においては、ゼロランとこのゼロランに連続するサイズ１の有意係数を１のグループにグループ化する場合について述べたが、本発明はこれに限らず、必要に応じてゼロランとこのゼロランに連続する規程サイズ以下の有意係数を１のグループにグループ化する場合に広く適用することができる。
【００９６】
また上述の実施例においては、８×８画素のマクロブロックについて、ＤＣＴ変換処理した画像データを最大精度１６ビットで符号化する場合について述べたが、本発明はこれに限らず、種々の画素数を単位にして符号化する場合、種々の精度で符号化する場合に広く適用することができる。これらの場合において、ブロックサイズが異なるとゼロランの発生する範囲が変化し、また精度が異なると有意係数のグループを変化させる必要がある。これによりこれらの場合においては、ブロックサイズ、精度に対応して、発生する全ての係数を網羅するようにグループを構成して対応することができる。
【００９７】
さらに上述の実施例においては、ゼロランとこのゼロランに連続するサイズ１の有意係数を符号化する際に、またゼロランを符号化する際に、１符号前のＡＣ係数によりテーブルを切り換えるに場合について述べたが、本発明はこれに限らず、必要に応じてこの切り換えを省略してもよい。
【００９８】
また上述の実施例においては、ゼロランとこのゼロランに連続するサイズ１の有意係数をグループ化する際に、またゼロランをグループ化する際、次のテーブル番号として共通のテーブル番号を指定する場合について述べたが、本発明はこれに限らず、これらの場合において、各グループで個々のテーブルを指定するようにしてもよい。このようにすればさらに一段とデータ圧縮効率を向上することができる。
【００９９】
さらに上述の実施例においては、ＤＣＴ変換したＡＣ係数をジグザグスキャンした後、符号化する場合について述べたが、本発明はこれに限らず、例えばオルタネートスキャン等、種々のスキャン方法によりＡＣ係数を配列して符号化する場合に広く適用することができる。
【０１００】
また上述の実施例においては、ＤＣＴ変換したＡＣ係数を符号化する場合について述べたが、本発明はこれに限らず、例えばウエーブレット変換等、種々の直交変換により得られた係数データを符号化する場合に広く適用することができる。
【０１０１】
さらに上述の実施例においては、動画の画像データを符号化する場合について述べたが、本発明はこれに限らず、静止画の画像データを符号化する場合等に広く適用することができる。
【０１０２】
【発明の効果】
上述のように本発明によれば、直交変換して得られる係数データについて、ゼロランと規程サイズ以下の有意係数、ゼロラン、これら以外の有意係数にグループ化した後、ゼロランと規程サイズ以下の有意係数、ゼロランについては、複数符号に１符号を割り当てて符号化し、これら以外の有意係数については、直前に符号化する係数値に応じてテーブルを切り換えて符号化することにより、低ビットレート及び高ビットレートにおいて発生頻度の高いデータを、それぞれ低ビットレート及び高ビットレートにおいて優位な符号化方式により符号化することができ、これにより全体として高いデータ圧縮効率で画像データを符号化することができる。
【図面の簡単な説明】
【図１】本発明の一実施例による可変長符号化器を示すブロック図である。
【図２】図１の可変長符号化器を適用したエンコーダを示すブロック図である。
【図３】図１の可変長符号化器のグループ化の説明に供する図表である。
【図４】テーブル番号Ｔ０のテーブルを示す図表である。
【図５】テーブル番号Ｔ１６のテーブルを示す図表である。
【図６】テーブル番号Ｔ８のテーブルを示す図表である。
【図７】テーブル番号Ｔ１７のテーブルを示す図表である。
【図８】テーブル番号Ｔ１８のテーブルを示す図表である。
【図９】テーブル番号Ｔ１９のテーブルを示す図表である。
【図１０】テーブル番号Ｔ２０のテーブルを示す図表である。
【図１１】テーブル番号Ｔ２１のテーブルを示す図表である。
【図１２】テーブル番号Ｔ２２のテーブルを示す図表である。
【図１３】テーブル番号Ｔ２３のテーブルを示す図表である。
【図１４】テーブル番号Ｔ２４のテーブルを示す図表である。
【図１５】テーブル番号Ｔ２５のテーブルを示す図表である。
【図１６】符号化の説明に供する係数データを示す図表である。
【図１７】図１６の係数データの処理の説明に供する図表である。
【図１８】図１のエンコ−ダに対応するデンコーダを示すブロック図である。
【図１９】従来のエンコーダを示すブロック図である。
【図２０】ジグザクスキャンの説明に供する図表である。
【図２１】グル−プ化テーブルを示す図表である。
【符号の説明】
１、２０      エンコーダ
２            ＤＣＴ変換器
３、２１      量子化器
４            スキャン変換器
５、２２      可変長符号化器
７、２７      ランレングスカウンタ
２４          グルーピング部
２６          ゼロサイズ１判定部
２８          有意係数マップ
２９                    ゼロラン＋サイズ１マップ
３０          ゼロランマップ
３３          符号化テーブル
３４、４４    遅延回路
【図１】
0003624450.tif 000002
【図２】
0003624450.tif 000003
【図３】
0003624450.tif 000004
【図４】
0003624450.tif 000005
【図５】
0003624450.tif 000006
【図６】
0003624450.tif 000007
【図７】
0003624450.tif 000008
【図８】
0003624450.tif 000009
【図９】
0003624450.tif 000010
【図１０】
0003624450.tif 000011
【図１１】
0003624450.tif 000012
【図１２】
0003624450.tif 000013
【図１３】
0003624450.tif 000014
【図１４】
0003624450.tif 000015
【図１５】
0003624450.tif 000016
【図１６】
0003624450.tif 000017
【図１７】
0003624450.tif 000018
【図１８】
0003624450.tif 000019
【図１９】
0003624450.tif 000020
【図２０】
0003624450.tif 000021
【図２１】
0003624450.tif 000022