【手続補正書】
【提出日】平成16年9月16日(2004.9.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  画像復号化方法
【特許請求の範囲】
【請求項１】
圧縮符号化データに含まれる可変長符号を抽出し、参照可変長符号と（Last, Run, Level）からなる参照事象とが対応した可変長符号テーブルを用いて、上記可変長符号に対応する事象を求め、この事象より出力変換係数を求める画像復号化方法において、
上記可変長符号が制御コードを含まない場合は上記可変長符号テーブルを用いて上記可変長符号に対応する事象を求め、
上記可変長符号が上記制御コードを含み、上記制御コードが第２制御コードである場合は、上記可変長符号テーブルを用いて上記可変長符号に対応する事象を得るとともに、得られた該事象の「Level」値を所定の関数で変換した変換事象を求める、
ことを特徴とする画像復号化方法。
【請求項２】
請求項1記載の画像復号化方法において、
「Level」値を変換する所定の関数は、「Level」値の絶対値に、各（Last, Run）対に対する最大の「Level」値を加算した後に、当該「Level」値の符号（正または負）をつけるものである、
ことを特徴とする画像復号化方法。
【請求項３】
圧縮符号化データに含まれる可変長符号を抽出し、参照可変長符号と（Last, Run, Level）からなる参照事象とが対応した可変長符号テーブルを用いて、上記可変長符号に対応する事象を求め、この事象より出力変換係数を求める画像復号化方法において、
上記可変長符号が制御コードを含むか否かを判断し、
上記可変長符号が上記制御コードを含まない場合は上記可変長符号テーブルを用いて上記可変長符号に対応する事象を求め、
上記可変長符号が上記制御コードを含み、上記制御コードが第２制御コードである場合は、上記可変長符号テーブルを用いて上記可変長符号に対応する事象を得るとともに、得られた該事象の「Level」値を所定の関数で変換した変換事象を求める、
ことを特徴とする画像復号化方法。
【請求項４】
圧縮符号化データに含まれる可変長符号を抽出し、参照可変長符号と（Run, Level）を含む参照事象とが対応した可変長符号テーブルを用いて、上記可変長符号に対応する事象を求め、この事象より出力変換係数を求める画像復号化方法において、
上記可変長符号が制御コードを含まない場合は上記可変長符号テーブルを用いて上記可変長符号に対応する事象を求め、
上記可変長符号が上記制御コードを含む場合は、上記可変長符号に対応する事象を得るとともに、得られた該事象の「Level」値を所定の関数で変換した変換事象を求める、
ことを特徴とする画像復号化方法。
【請求項５】
請求項４記載の画像復号化方法において、
「Level」値を変換する所定の関数は、「Level」値の絶対値に、各「Run」値に対する最大の「Level」値を加算した後に、当該「Level」値の符号（正または負）をつけるものである、
ことを特徴とする画像復号化方法。
【請求項６】
圧縮符号化データに含まれる可変長符号を抽出し、参照可変長符号と（Run, Level）を含む参照事象とが対応した可変長符号テーブルを用いて、上記可変長符号に対応する事象を求め、この事象より出力変換係数を求める画像復号化方法において、
上記可変長符号が制御コードを含むか否かを判断し、
上記可変長符号が上記制御コードを含まない場合は上記可変長符号テーブルを用いて上記可変長符号に対応する事象を求め、
上記可変長符号が上記制御コードを含む場合は、上記可変長符号に対応する事象を得るとともに、得られた該事象の「Level」値を所定の関数で変換した変換事象を求める、
ことを特徴とする画像復号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像符号化方法及び画像復号化方法に関し、特に汎用性の高い可変長符号化を行う画像符号化処理及び該画像符号化処理に対応する画像復号化処理、並びにこれらの処理をコンピュータにより行うためのプログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
デジタル画像を効率よく蓄積もしくは伝送するには、圧縮符号化をする必要がある。このような、デジタル画像に対しての圧縮符号化の方法としては、代表的な規格であるJPEG（Joint Photographic Experts Group）やMPEG（Moving Picture Experts Group）における中心的な技術である離散コサイン変換（ＤＣＴ）があり、そのほかに、サブバンド符号化やウェーブレット変換、また、フラクタルなどの波形符号化方法がある。また、画像間の冗長な信号を取り除くには、基本的に、一の静止画像内における空間的な相関関係に基づく画面内符号化を行うものであるが、これに加えて、各静止画像間の時間的な相関関係に基づき、動き補償を用いた画像間予測を行い、差分信号を波形符号化する画面間符号化も行われ、この両者を併用することにより、高圧縮率の符号化データを得ることが可能となる。
【０００３】
ＭＰＥＧ規格等に従った従来の技術による画像符号化処理においては、ＤＣＴ等の処理の後に、量子化処理を行い、さらに可変長符号化処理を行うことがなされている。すなわち、まず、デジタル画像データに対してＤＣＴ、サブバンド、ウェーブレット等の処理を施し、該処理によって得られた変換係数を、所定の量子化幅を用いて量子化し、量子化変換係数を生成するものであって、この量子化変換係数に対して、可変長符号化処理が行われる。
【０００４】
量子化処理によって得られた量子化変換係数は、二次元の配列を構成するものであって、それぞれの係数はゼロ、または非ゼロのいずれかであるものとなる。可変長符号化処理においては、この二次元配列となっている係数（ゼロと非ゼロ）に対して、所定の順番に走査するジグザグスキャンを行って一次元に並べ替えた後、この一次元の係数の並びから、先行するゼロの係数の個数であるラン（Ｒｕｎ）と、非ゼロの係数の値であるレベル（Ｌｅｖｅｌ）とからなる事象を生成する。そして、ランとレベルとからなる各事象に対して、一意的な可変長符号を割り当てた可変長符号テーブルをあらかじめ用意し、それを参照して符号化する。またこれに加えて、係数が最後であるかどうかを示すコードとして別の符号を割り当てる方法や、ランとレベルの組に最後の係数かどうかを示すラスト（Ｌａｓｔ）を加えた（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の組を一つの事象として、この三者の組に可変長符号を割り当てたテーブルを用いて、符号化を行う方法も用いられる。
【０００５】
図１８は、従来の技術による、（Ｌａｓｔ，Ｒｕｎ，L e v eｌ）からなる事象に対しての符号化処理の処理手順を示すフローチャート図である。以下に、従来の技術による符号化処理を図１８のフローに従って説明する。
【０００６】
ステップ１８０１において処理が開始されると、ステップ１８０２においてj番目の事象が、処理対象である入力事象として入力される。ステップ１８０３では、入力事象と、可変長符号テーブルにある参照事象との比較が行われる。
【０００７】
図１９から図２２に、従来の技術による可変長符号化処理に用いる可変長符号テーブルの例を示す。図示するように、該テーブルは（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）からなる事象と、符号とが対応したテーブルである。図において、「ＶＬＣ  ＣＯＤＥ」の欄にある″s″はレベルが正の時に０、負の時に１となるものである。また、Ｌａｓｔが０の時には、当該係数が最後の係数ではないことを示す。
【０００８】
図１８のステップ１８０３では、この可変長符号テーブルを参照して、入力事象と、該テーブルに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）からなる参照事象それぞれとの比較が実行され、ステップ１８０４においては、上記の比較処理で、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の一致する参照事象があったか否かの判定が行われる。ステップ１８０４の判定において参照事象があった場合には、ステップ１８０５が、なかった場合にはステップ１８０６が実行される。ここで、ステップ１８０５が実行された場合には、当該参照事象に対応する可変長符号が出力され、後述するステップ１８０７に移行する。
【０００９】
一方、ステップ１８０６が実行される場合、すなわち、可変長符号テーブルを参照しても、処理の対象である事象に該当する（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）がなかった場合には、ステップ１８０６において固定長符号化を行う。図２３は、固定長符号化を表す概念図である。ランに対しては図２３(ａ）に示すように、レベルに対しては図２３(ｂ）に示すようにそれぞれ符号が割り当てられ、これらが符号化結果となる。このように固定長符号化処理が行われた場合には、可変長符号化によって得られた符号との区別をするために、符号化結果が固定長符号であることを示すために制御コードを、符号化結果に先立って伝送されるように付与する。この制御コードはエスケープコード（ＥＳＣ)と呼ばれ、この例では、図２２に示すように"０００００１１"の符号が用いられる。すなわち、固定長符号化が実行された場合、E S Cコードの7ビットと、上記のように割り当てられた符号とが続く符号化データが得られることとなる。
【００１０】
ステップ１８０５、又はステップ１８０６のいずれが実行された場合にも、続くステップ１８０７では、処理した入力事象が最後の入力事象であるか否かの判定がなされ、最後である場合にはステップ１８０８において符号化処理が終了する。一方、最後でない場合には、ステップ１８０９においてjが１だけ増加された後に、ステップ１８０２に戻ることにより、次の入力事象が同様に処理されることとなる。こうして、最後の非ゼロの係数まで処理が続行される。
【００１１】
このように、従来の技術における画像符号化処理においては、量子化された変換係数に対して、事象を生成し、この事象を可変長符号テーブルに含まれる参照事象と比較し、一致するものがあれば該テーブルから得られる可変長符号を用い、一致するものがないならば制御コード（ＥＳＣコード）を付与した固定長符号化結果を用いるものである。
【００１２】
一般的に可変長符号テーブルは、多くの画像を用いて統計的な分布を調べ、頻繁に発生する事象に対して短いコードを割り当てるように作成されるものであり、このことによって全体的な圧縮率の向上を図るものである。上述のように、可変長符号テーブルを用いて符号化が行えなかった場合には、固定長符号化がされて、圧縮率を低下させることとなるので、できるだけ固定長符号化を実行しないように設定されていることが望ましいものとなる。ここで、従来の技術による画像符号化においては、図１８に示すように、ステップ１８０４の判定において、該当する参照事象がなかった場合に、ただちにステップ１８０６において固定長符号化が行われるものであるので、符号化効率の良好な可変長符号化が実行される率については、可変長符号テーブルに該当する事象が存在する率によって直接的に決定されるものとなる。
【００１３】
しかし、画像圧縮符号化においては、量子化幅によって係数の統計的分布が変化するものであり、特に高圧縮率の場合と低圧縮率の場合とでは、係数の分布はかなり異なるものとなることが分かっている。従って、対象となる係数に対して適切な可変長符号テーブルを用いない場合には、可変長符号テーブルに該当する事象が存在する率が低いものとなってしまい、固定長符号化が実行される率が高くなることから、符号化効率が低下してしまうこととなる。
【００１４】
一般に量子化幅を大きくすると、量子化変換係数について圧縮率が高くなるものであるが、かかる量子化変換係数から得られた事象については、その有するレベル値が小さいものとなる傾向を示す。図１９から図２２に示す可変長符号テーブルでは、レベル値の小さな事象が多く含まれ、かつレベル値の小さな事象に対して、短いコードを割り当てたものであり、比較的圧縮率の高い量子化変換係数を処理対象とする場合に適したものとなっている。従って、量子化幅が小さく、量子化変換係数の圧縮率が低い場合、得られる事象はレベル値の大きなものが多くなることから、かかる可変長符号化テーブルに該当する事象が存在しない率が高くなり、また存在しても比較的長いコードを割り当てられるケースが増加して、符号化結果のビット数が増大してしまう。すなわち、低圧縮率用に作られた可変長符号テーブルを高圧縮率符号化に対して用いることで、符号化効率が低下することとなる。
【００１５】
【発明が解決しようとする課題】
このように、可変長符号化の処理対象である係数に対して、適切に設定された可変長符号化テーブルを用いないときには、可変長符号化を行い得ず固定長符号化することが増加し、かつ、可変長符号化を行う場合にもビット量が増大するので、符号量が増加して圧縮率の向上を図り得ない点が、従来の技術による画像符号化処理の問題点であった。
【００１６】
本発明は、上記のような問題点に鑑みてなされたものであり、同じ可変長符号化テーブルを用いて、広範囲に、すなわち、高圧縮率から低圧縮率までにわたる圧縮符号化データを効率よく復号化することができる画像復号化方法を得ることを目的とする。
【００１７】
【課題を解決するための手段】
本発明に係る画像復号化方法は、圧縮符号化データに含まれる可変長符号を抽出し、参照可変長符号と（Last, Run, Level）からなる参照事象とが対応した可変長符号テーブルを用いて、上記可変長符号に対応する事象を求め、この事象より出力変換係数を求める画像復号化方法において、上記可変長符号が制御コードを含まない場合は上記可変長符号テーブルを用いて上記可変長符号に対応する事象を求め、上記可変長符号が上記制御コードを含み、上記制御コードが第２制御コードである場合は、上記可変長符号テーブルを用いて上記可変長符号に対応する事象を得るとともに、得られた該事象の「Level」値を所定の関数で変換した変換事象を求める、ものである。
【００１８】
本発明に係る画像復号化方法は、上記画像復号化方法において、「Level」値を変換する所定の関数を、「Level」値の絶対値に、各（Last, Run）対に対する最大の「Level」値を加算した後に、当該「Level」値の符号（正または負）をつけるものとした、ものである。
【００１９】
本発明に係る画像復号化方法は、圧縮符号化データに含まれる可変長符号を抽出し、参照可変長符号と（Last, Run, Level）からなる参照事象とが対応した可変長符号テーブルを用いて、上記可変長符号に対応する事象を求め、この事象より出力変換係数を求める画像復号化方法において、上記可変長符号が制御コードを含むか否かを判断し、上記可変長符号が上記制御コードを含まない場合は上記可変長符号テーブルを用いて上記可変長符号に対応する事象を求め、上記可変長符号が上記制御コードを含み、上記制御コードが第２制御コードである場合は、上記可変長符号テーブルを用いて上記可変長符号に対応する事象を得るとともに、得られた該事象の「Level」値を所定の関数で変換した変換事象を求める、ものである。
【００２０】
本発明に係る画像復号化方法は、圧縮符号化データに含まれる可変長符号を抽出し、参照可変長符号と（Run, Level）を含む参照事象とが対応した可変長符号テーブルを用いて、上記可変長符号に対応する事象を求め、この事象より出力変換係数を求める画像復号化方法において、上記可変長符号が制御コードを含まない場合は上記可変長符号テーブルを用いて上記可変長符号に対応する事象を求め、上記可変長符号が上記制御コードを含む場合は、上記可変長符号に対応する事象を得るとともに、得られた該事象の「Level」値を所定の関数で変換した変換事象を求める、ものである。
【００２１】
本発明に係る画像復号化方法は、上記画像復号化方法において、「Level」値を変換する所定の関数を、「Level」値の絶対値に、各「Run」値に対する最大の「Level」値を加算した後に、当該「Level」値の符号（正または負）をつけるものとした、ものである。
【００２２】
本発明に係る画像復号化方法は、圧縮符号化データに含まれる可変長符号を抽出し、参照可変長符号と（Run, Level）を含む参照事象とが対応した可変長符号テーブルを用いて、上記可変長符号に対応する事象を求め、この事象より出力変換係数を求める画像復号化方法において、上記可変長符号が制御コードを含むか否かを判断し、上記可変長符号が上記制御コードを含まない場合は上記可変長符号テーブルを用いて上記可変長符号に対応する事象を求め、上記可変長符号が上記制御コードを含む場合は、上記可変長符号に対応する事象を得るとともに、得られた該事象の「Level」値を所定の関数で変換した変換事象を求める、ものである。
【００２３】
【発明の実施の形態】
まず、本発明の画像符号化処理及び画像復号化処理の概要について簡単に説明する。
本発明の一の画像符号化方法は、符号化対象画像に対して、所定の変換方法に従って変換係数を取得し、上記変換係数に対して所定の量子化幅を用いた量子化処理を行って量子化変換係数を取得し、上記量子化変換係数に対して、参照事象と可変長符号との対を複数有する可変長符号テーブルを参照して可変長符号化処理を行う画像符号化方法において、上記量子化変換係数と、上記可変長符号テーブルに含まれる参照事象との比較処理によって第一比較結果を取得し、上記第一比較結果が「一致」を示す場合に、当該参照事象に対応する可変長符号を用いて第一符号化結果を得る第一可変長符号化ステップと、上記第一比較結果が「一致」を示さない場合に、所定の関数を用いた変換処理を伴った、上記量子化変換係数と、上記可変長符号テーブルに含まれる参照事象との比較処理によって第二比較結果を取得し、上記第二比較結果が「一致」を示す場合に、上記参照事象に対応する可変長符号を用い、上記第一符号化結果と区別し得る第二符号化結果を得る第二可変長符号化ステップと、上記第二比較結果が「一致」を示さない場合に、上記量子化変換係数に対して、所定の符号化体系を用いて符号化処理を行い、上記第一符号化結果、および上記第二符号化結果のいずれとも区別し得る符号化結果を得る特定符号化ステップとを実行するものであって、第一可変長符号化ステップにおいて可変長符号化が行い得ない場合にも、第二可変長符号化ステップを実行することで、可変長符号化が実行される率を高くし、得られる符号化データの圧縮率を向上し、可変長符号テーブルを活用して符号化処理の効率を向上することが可能となる。
【００２４】
本発明の他の画像符号化方法は、符号化対象画像に対して、所定の変換方法に従って変換係数を取得し、上記変換係数に対して所定の量子化幅を用いた量子化処理を行って量子化変換係数を取得し、上記量子化変換係数に対して、参照事象と可変長符号との対を複数有する可変長符号テーブルを参照して可変長符号化処理を行う画像符号化方法において、上記量子化変換係数に対して、上記量子化幅に基づいて定められる割算子を用いて除算処理を行って商と剰余とを取得し、上記商を用いての、上記可変長符号テーブルに含まれる参照事象との比較処理によって商比較結果を取得し、上記商比較結果が「一致」を示す場合に、当該参照事象に対応する可変長符号を用いて、上記剰余に対して所定の符号化体系を用いて符号化処理を行って得られる補助符号を付与して、符号化結果を得る可変長符号化ステップを実行するものであって、除算を用いる変換処理によって、比較における一致の率を向上し、可変長符号テーブルを活用して符号化処理の効率を向上することが可能となる。
【００２５】
本発明の他の画像符号化方法は、符号化対象画像に対して、所定の変換方法に従って変換係数を取得し、上記変換係数に対して所定の量子化幅を用いた量子化処理を行って量子化変換係数を取得し、上記量子化変換係数に対して、参照事象と可変長符号との対を複数有する可変長符号テーブルを参照して可変長符号化処理を行う画像符号化方法において、上記可変長符号テーブルに含まれる参照事象に対して、上記量子化幅に基づいて、所定の関数を用いた変換処理を行って変換事象を生成し、上記量子化変換係数と、上記変換事象との比較処理によって変換比較結果を取得し、上記変換比較結果が「一致」を示す場合に、当該変換参照事象を生成した参照事象に対応する可変長符号を用いて符号化結果を得る可変長符号化ステップを実行するものであって、可変長符号テーブルに含まれる参照事象に対する変換処理によって、比較における一致の率を向上し、可変長符号テーブルを活用して符号化処理の効率を向上することが可能となる。
【００２６】
そして本発明の画像符号化方法は、同じ可変長符号テーブルで広範囲にわたって（高圧縮率から低圧縮率まで）効率よく画像を符号化する効果を有するものである。
また、本発明の画像符号化装置は、上記のような画像符号化方法を実施して、高圧縮率の符号化結果を得ることができるものである。
また、本発明の画像復号化方法は、上記のような画像符号化方法で得られた符号化結果に対して、適切に復号処理をなし得るものである。
また、本発明の画像復号化装置は、上記のような画像符号化装置で得られた符号化結果に対して、適切に復号処理をなし得るものである。
また、本発明のプログラム記録媒体は、上記のような画像符号化方法を行う画像符号化プログラムを記録したので、コンピュータシステムにおいて当該プログラムを実行することで、装置資源を活用して、高圧縮率の符号化結果の得られる画像符号化装置を実現可能なものである。
また、本発明のプログラム記録媒体は、上記のような画像復号化方法を行う画像復号化プログラムを記録したので、コンピュータシステムにおいて当該プログラムを実行することで、装置資源を活用して、高圧縮率の符号化結果を適切に復号処理できる画像復号化装置を実現可能なものである。
【００２７】
以下、本発明の実施の形態について説明する。
実施の形態１
本発明の実施の形態１による画像符号化方法は、符号化対象とする事象に対して変換処理を行うことにより、可変長符号化テーブルの使用機会を増加して、符号化効率の向上を図るものである。
【００２８】
図１は本発明の実施の形態１による可変長符号化方法における処理手順を示すフローチャート図である。また、図２は、本実施の形態1による可変長符号化処理を実行する画像符号化装置の構造を示すブロック図、図３は可変長符号化結果の例を示す図である。
【００２９】
まず、図２を用いて、本実施の形態1による画像符号化装置について説明する。
同図に示すように、本実施の形態1による画像符号化装置は、第一加算器２０２、符号化器２０３、第二加算器２１０、可変長符号化器（ＶＣＬ）２１１、フレームメモリ（ＦＭ）２１３、動き検出器（ＭＥ）２１４、および動き補償器（ＭＣ）２１５を備えたものであり、入力端子２０１から符号化処理対象となるデジタル画像データを入力し、出力端子２０６より当該画像符号化装置の装置出力である符号化データを出力する。また、符号化器２０３は、離散コサイン変換器（ＤＣＴ）２０４と量子化器（Ｑ）２０５とを内包し、復号化器２０７は、逆量子化器（ＩＱ）２０８と逆離散コサイン変換器（ＩＤＣＴ）２０９とを内包している。
【００３０】
以上のように構成された画像符号化装置について、以下、その動作を述べる。
まず、デジタル画像データである符号化対象画像を入力端子２０１に入力する。符号化対象画像は、隣接する複数の小領域に分割される。本実施の形態1において、符号化対象画像は、隣接する複数の１６×１６のブロックに分割され、該分割されたブロックごとに符号化処理を実行するものである。
【００３１】
符号化の対象となるブロックである対象ブロックは、ライン２１６によって第一加算器２０２に入力されるとともに、ライン２２５を経由し動き検出器２１４に入力される。また、フレームメモリ２１３には、後述するように、過去の再生画像が格納されているものであり、動き検出器２１４は、この格納された画像をライン２２４を介して入力し、これを参照画像として用い、符号化対象ブロックに対する動き検出処理を行って、動きベクトルを取得する。動き検出処理においては、ブロックマッチングなどの方法を用いて、符号化対象ブロックに対して誤差の最も小さい予測信号を与える動き変位情報を求め、この動き変位情報を動きベクトルとすることで実行される。動き検出器２１４は、動きベクトルを動き補償器２１５に出力する。また、動きベクトルはライン２２８を経由して可変長符号化器２１１にも出力され、可変長符号化器２１１において、可変長符号に変換され、サイド情報の一部として符号化結果に付与されることとなる。
【００３２】
動き補償器２１５では、やはりフレームメモリ２１３に格納された画像を参照画像として用い、この参照画像と動きベクトルとから、予測ブロックを生成し、これをライン２２６によって第一加算器２０２に出力するとともに、ライン２２７によって第二加算器２１０にも出力する。第一加算器２０２では、入力された対象ブロックと予測ブロックとの差分を取得することによって残差ブロックを生成し、これをライン２１７により、符号化器２０３に出力する。
【００３３】
残差ブロックは符号化器２０３において、圧縮符号化される。本実施の形態1では、残差ブロックを離散コサイン変換器２０４に入力して周波数領域の係数に変換し、周波数領域の係数はライン２１８より量子化器２０５に入力され、量子化器２０５は、所定の量子化幅を用いて量子化処理をする。第一加算器２０２において差分をとらない場合、すなわち画面内符号化が行われる場合には、対象ブロックが符号化器２０３に入力されて、残差ブロックと同様に処理される。
【００３４】
量子化された変換係数である量子化変換係数と、量子化処理に用いられた量子化幅とが、量子化器２０５から、ライン２１９を経由して可変長符号化器２０３に出力され、符号化処理が行われ、符号化結果は、動きベクトルや、量子化幅その他のサイド情報と共に出力端子２０６に出力される。一方、量子化変換係数は、復号化器２０７にも出力されて伸長処理が行われる。本実施の形態1では、逆量子化器２０８で、上記の量子化幅を用いて逆量子化がされ、その結果がライン２２１により逆離散コサイン変換器２０９に入力され、離散コサイン変換の逆処理によって、空間領域のデータが得られる。復号化器２０７で得られた伸長した残差ブロックはライン２２１より第二加算器２１０に出力され、ライン２２７を経由して送られる予測ブロックが加算されることによって、再生ブロックが生成される。この再生ブロックは、ライン２２２を経由してフレームメモリ２１３に出力され、次の符号化処理において参照画像として用いるために格納される。
【００３５】
本実施の形態1による画像符号化装置において、可変長符号化器２１１では、量子化変換係数と、量子化幅、および動きベクトルなどのサイド情報とを入力して、これらを可変長もしくは固定長符号に変換する。以下に、可変長符号化器２１１による、量子化変換係数に対する処理の際の動作について、図1のフローに従って、説明する。
【００３６】
従来の技術における説明と同様に、変換係数はゼロ、および非ゼロの係数の二次元の配列として得られるものであり、この二次元の配列に対して、所定の順番（ジグザグ）に従った並べ替えを行って、一次元の並びを得た後、先行するゼロの係数の個数（ラン、Ｒｕｎ）と、非ゼロの係数の値、レベル（Ｌｅｖｅｌ）とからなる事象にまとめる。また、レベルで示される変換係数がブロック内の最後の係数かどうかを示すＬａｓｔの情報を付与する。このように形成した（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）からなる事象を、可変長復号化器２１１の処理対象である入力事象とする。
【００３７】
ステップ１０１において処理が開始されると、ステップ１０２においてj番目の入力事象を得る。ステップ１０３では、可変長符号化器２１１において、入力事象と、可変長符号テーブルにある参照事象との比較が行われる。可変長符号テーブルとしては、従来の技術において用いられた図１９〜図２２に示すものが用いられ、同テーブルに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）からなる各参照事象との比較が実行される。
【００３８】
ステップ１０４においては、上記の比較処理で、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の一致する参照事象があったか否かの判定が行われる。ステップ１０４の判定において参照事象があった場合には、ステップ１０５が、なかった場合にはステップ１０６が実行される。ここで、ステップ１０５が実行された場合には、当該参照事象に対応する可変長符号が出力され、後述するステップ１１１に移行する。
【００３９】
一方、ステップ１０６が実行される場合には、入力事象の有するレベルに対して、所定の関数を用いた変換処理が行われ、変換入力事象が生成される。次のステップ１０７では、変換入力事象と、参照事象との比較がステップ１０３と同様に実行される。続くステップ１０８では、一致する参照事象があったか否かの判定が行われ、参照事象があった場合には、ステップ１１０が、なかった場合にはステップ１０９が実行される。ここで、ステップ１１０が実行された場合には、当該参照事象に対応する可変長符号に、あらかじめ一意的に設定された第２制御コードが付与された符号化結果が出力され、ステップ１１１に移行する。
【００４０】
一方、ステップ１０９が実行された場合には、入力事象に対して図２３に示したような符号化処理がなされて、固定長符号が生成される。そして、第2制御コードと区別可能な第1制御コードが、該固定長符号に付与された符号化結果が出力される。
【００４１】
ステップ１１０、又はステップ１０９のいずれが実行された場合にも、続くステップ１１１では、処理した入力事象が最後の入力事象であるか否かの判定がなされ、最後である場合にはステップ１１２において符号化処理が終了する。一方、最後でない場合には、ステップ１１３においてjが1だけ増加された後に、ステップ１０２に戻ることにより、次の入力事象が同様に処理されることとなる。こうして、最後の非ゼロの係数まで処理が続行される。
【００４２】
本実施の形態１においては、入力事象から変換入力事象を得る際の所定の関数としては、定められた値を有するＯｆｆｓｅｔの減算処理であるものとする。すなわち、入力事象の有するレベルの値から、Ｏｆｆｓｅｔを減じて変換入力事象とする。好ましくは、レベル値の絶対値からＯｆｆｓｅｔを引き算したあとにレベルの符号（正または負）をつける。このＯｆｆｓｅｔは一つでもよいし、ＬａｓｔとＲｕｎとの値に対応して、可変の値をとるものとすることもできる。本実施の形態1では（Ｌａｓｔ，Ｒｕｎ）＝（０、０）のときＯｆｆｓｅｔ＝１２、（Ｌａｓｔ，Ｒｕｎ）＝（０、１）のときＯｆｆｓｅｔ＝６、（Ｌａｓｔ，Ｒｕｎ）＝（０、２）のときＯｆｆｓｅｔ＝４、というように、図１９から図２２のテーブルから得られる、各（Ｌａｓｔ，Ｒｕｎ）の対に対する最大のレベル値をＯｆｆｓｅｔ値とする。
【００４３】
図１９から図２２に示す可変長符号テーブルは、比較的高圧縮率の変換係数に適するものであり、テーブル内の事象の有するレベル値が小さいものが多くなっている。従って、当該テーブルに該当する事象の存在しなかった入力事象について、そのレベル値に対する減算処理を実行し、レベル値の小さな変換入力事象を得ることで、可変長符号化を行う率を高めること、また、該テーブルにおいてレベル値の小さな事象に割り当てられた短いコードを用いる率を高めることを図るものである。
【００４４】
また、第１制御コードとして、図２３に示した従来の技術において用いられるＥＳＣコードと同じ「０００００１１」を、また第２制御コードとしては、同ＥＳＣコードを２回線り返したものを用いるものである。
【００４５】
図３は符号化結果の一例を示す図である。ここで、図３を用いて、本実施の形態1による符号化処理を従来の技術による場合と比較する。ここで、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）＝（０、０、１３）なる事象を符号化対象とする場合を考える。図１９から図２２に示す可変長符号テーブルにおいては、（０、０、１３）の組がない。従って、従来の技術による符号化処理を行ったならば、前述のように図２３に示した固定長符号化処理が行われ、これにＥＳＣコードが付与されて出力されることとなる。図３(a）は、かかる処理の結果を示すものであり、ＥＳＣコードである３０１の７ビット、Ｌａｓｔを示す１ビット３０２に続いて、レベルを表す３０３の６ビットと３０４の８ビットとが出力されることとなる。ここで、レベルは、ゼロランを示す３０３と、固定長符号３０４とで表わされている。このように、合計２２ビットが必要となる。
【００４６】
これに対して、本実施の形態１による処理結果では、図１のフローのステップ１０３から１０４にかけて、可変長符号テーブルに該当する参照事象が存在しなかった場合にも、従来の技術による処理のようにただちに固定長符号化が行われるのではなく、ステップ１０６〜ステップ１０８に示す変換処理と再度の比較が実行されるものである。変換処理においては、レベル値１３からＯｆｆｓｅｔ（＝１２）を引き算して、レベル値が１となるように変換がなされ、変換入力事象（０、０、１）が得られる。図１９に示すように、事象（０、０、１）は可変長符号テーブルに存在するので、図１のフローでは、ステップ１０８からステップ１１０が実行されることとなる。従って、図３(b）に示すように、第2制御コード３０５と、(０、０、１）に対する可変長符号３０６とからなる符号化結果が得られる。従ってこの場合、１７ビットを要するものとなり、２２ビットを要する従来の技術よりも符号量が低減する結果となる。
【００４７】
図1のフローにおいて、変換入力事象を用いた比較処理を行っても、可変長符号テーブルに該当する参照事象が存在しなかった場合には、ステップ１０９の処理は従来技術と同様のこととなる。従って、本実施の形態１においては、最悪でも従来技術と同等の符号化が行い得るものである。なお、第2制御コードをつけた符号長が第1制御コードをつけた符号長より長くなる場合には、第1制御コードと固定長符号で符号化したほうがビットが少ないものとなる。
【００４８】
以下に、本実施の形態1に示す画像符号化処理で得られた符号化データに対する復号化処理を説明する。
図４は本実施の形態１による画像復号化装置の構成を示すブロック図である。同図に示すように、本実施の形態1による画像復号化装置は、データ解析器（ＤＡ）４０２、加算器４０６、可変長復号化器（ＶＬＤ）４０８、復号化器４０３、フレームメモリ（ＦＭ）４０９、および動き補償器（ＭＣ）４１０を備えたものであり、入力端子４０１から復号化処理対象となる符号化データを入力し、出力端子４０７より当該画像復号化装置の装置出力である復号化データを出力する。また、復号化器４０３は、逆量子化器（ＩＱ）４０４と、逆離散コサイン変換器（ＩＤＣＴ）４０５とを内包している。
【００４９】
以上のように構成された、本実施の形態１による画像復号化装置について、図２に示す画像符号化装置において圧縮符号化された符号化データに対しての復号化処理を行う際の動作を説明する。
処理対象である符号化データを入力端子４０１に入力し、データ解析器４０２においてデータを解析し、量子化変換係数より得られた可変長符号と、量子化幅や動きベクトルを含むサイド情報の符号とを取得する。このうち、量子化幅と、量子化変換係数の可変長符号とをライン４１２を経由して可変長復号化器４０８に伝送し、動きベクトルをライン４１８を経由し動き補償器４１０に出力する。可変長復号化器４０８では、可変長符号テーブルを参照して量子化された変換係数の可変長符号を変換係数に復元し、並べ替えによって圧縮残差ブロックを取得し、これを復号化器４０３に出力する。
【００５０】
復号化器４０３では、圧縮残差ブロックを伸長し、伸長残差ブロックに復元する。本実施の形態１の復号化器４０３では、逆量子化器４０４において量子化幅を用いた逆量子化がされ、その結果に対して、逆離散コサイン変換器４０５が周波数領域信号を空間領域信号に変換する。この信号が伸長された残差ブロックとして加算器４０６に出力される。
【００５１】
一方、動きベクトルを入力した動き補償器４１０では、該動きベクトルをもとに、フレームメモリ４０９をアクセスするためのアドレスを生成し、フレームメモリ４０９に格納された画像に基づいて予測ブロックを生成する。生成された予測ブロックは加算器４０６に出力され、伸長残差ブロックとの加算処理により再生ブロックが生成される。このように再生された画像は、当該画像復号化装置の装置出力として出力端子４０７から出力されるとともに、フレームメモリ４０９に出力されて格納される。
【００５２】
図５は、可変長復号化器４０８による可変長復号化方法の処理手順を示すフローチャート図である。以下に、係数可変長復号化器４０８における復号処理の際の動作を図５のフローに従って説明する。
まず、ステップ５０１において処理が開始されると、ステップ５０２では、j番目の処理対象である、量子化変換係数より得られた可変長符号が、入力可変長符号として入力される。ステップ５０３では、入力可変長符号が制御コードを含むか否かが判定され、含まないならばステップ５０４が、含むならばステップ５０５が実行される。ステップ５０４が実行された場合、すなわち制御コードがない場合には、可変長符号テーブルを用いることによって、入力可変長符号に対応する（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）が出力され、後述するステップ５１０に移行する。
【００５３】
一方、ステップ５０５が実行された場合、すなわち制御コードが含まれる場合には、当該制御コードが第２制御コードであるか否かが判定され、第２制御コードであるならばステップ５０６が、ないならばステップ５０７が実行される。ステップ５０６が実行された場合、すなわち第２制御コードである場合には、可変長符号テーブルを用いることによって、入力可変長符号に対応する（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）が取得され、そのレベル値を所定の関数で変換し、得られた結果が出力された上で、後述するステップ５１０に移行する。本実施の形態１では、レベル値の変換処理としては、所定のＯｆｆｓｅｔの加算処理が実行されるものであって、このＯｆｆｓｅｔの値は、上述した通りＬａｓｔ，Ｒｕｎ）に応じて可変となるものである。
【００５４】
ここで、図３(b）の符号に対する復号化処理の場合を考える。ステップ５０５の判定において、第２制御コードであると判定されるので、ステップ５０６が実行される。従って、図３(b）の３０６に示す符号「１００」の部分に対応する（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ＝０、０、１）が可変長符号テーブルを参照することによって取得され、このレベルに対して、Ｏｆｆｓｅｔ＝１２が加算処理されると、真のＬａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）＝（０、０、１３）が復元できる。
【００５５】
これに対して、ステップ５０７が実行される場合、さらに当該制御コードが第１制御コードであるか否かが判定される。第１制御コードであればステップ５０８が実行されるが、第１制御コードでないと判定された場合、第１でも第２でもない制御コードが付与されていたということとなるので、ステップ５０９においては、復号化処理の中止や、その旨を使用者に表示するなどのエラー処理が行われることとなる。一方、ステップ５０８が実行される場合、すなわち、第１制御コードがある場合、固定長符号として復号化して係数を再生する。
【００５６】
ステップ５０４、ステップ５０６、又はステップ５０８のいずれが実行された場合にも、続くステップ５１０では、処理した入力可変長符号が最後の入力可変長符号であるか否かの判定がなされ、最後である場合にはステップ５１１において符号化処理が終了する。一方、最後でない場合には、ステップ５１２においてjが1だけ増加された後に、ステップ５０２に戻ることにより、次の入力可変長符号が同様に処理されることとなる。こうして、最後の可変長符号まで処理が続行される。
【００５７】
このように、本実施の形態１による画像符号化方法によれば、図１に示すように、ステップ１０３からステップ１０４における比較処理において、該当する参照事象が可変長符号テーブルに存在しなかった場合にも、ステップ１０６において入力事象に対する変換処理を行い、ステップ１０７からステップ１０８において、得られた変換入力事象を用いた比較処理を実行するので、ステップ１０９が実行されることにより固定長符号化が行われる率を低減することによって、また、変換入力事象を用いることで、可変長符号化において短いコードを割り当てられる可能性を高めることによって、全体として符号化結果の圧縮率の向上を図ることが可能となる。
【００５８】
また、本実施の形態１による画像符号化装置によれば、上記のような符号化方法を実行する可変長符号化器２１１を備えたことで、符号化器２０３における圧縮符号化の圧縮率が高圧縮率である場合、あるいは低圧縮率である場合のいずれにおいても、同一の可変長符号テーブルを用いて、圧縮率のよい符号化結果を得ることが可能となる。
【００５９】
また、本実施の形態１による画像復号化方法、および画像復号化装置によれば、上記のように得られた符号化結果に対応して、適切に復号処理を行い、再生画像を得ることが可能となる。
【００６０】
なお、本実施の形態１に示した符号化処理においては、圧縮符号化にあたっては離散コサイン変換を行うものとして説明したが、その代わりに、ウェーブレット符号化などの波形符号化を用いてもよく、同様に符号化処理を行うことができる。
【００６１】
また、本実施の形態１に示した符号化処理においては、入力事象に対する変換処理で、入力事象のレベル値を変換するものとしたが、その代わりに、入力事象のランの値を変換するものとしてもよい。この場合、図１９から図２２の可変長符号テーブルにおける、各参照事象の（Ｌａｓｔ、Ｌｅｖｅｌ）の対に対する最大のＲｕｎ値をＯｆｆｓｅｔ値とし、入力事象のランの値から（Ｏｆｆｓｅｔ＋１）を引き算して変換入力事象を得ることができる。なお、Ｏｆｆｓｅｔを用いる代わりに、レベルまたはランの値を逓倍したり、二次関数による処理を行ったり、ダイナミックレンジを変更したりする方法を用いて変換処理をしてもよい。また、入力事象のレベルまたはランに所定の関数を施す代わりに、可変長符号テーブルのレベルまたはランを所定の関数で変換して比較処理を行うものとすることも可能である。
【００６２】
上記のように、符号化処理において、レベル値の代わりにラン値を変換する場合、復号化処理においても、可変長復号化されたラン値に（Ｏｆｆｓｅｔ＋１）を加算し真のラン値を生成する。この場合のＯｆｆｓｅｔ値は上述した通り（Ｌａｓｔ，Ｌｅｖｅｌ）の対に対するＲｕｎの最大値である。
【００６３】
また、本実施の形態１においては、符号化処理、および復号化処理の処理手順として図１、および図５のフローチャートを用いて説明したが、かかる処理手順に限られるものではなく、同様の処理が行い得る手順を用いることによって、符号化効率の向上と、かかる符号化結果に対する適切な復号化処理とを図ることが可能である。
【００６４】
実施の形態２
本発明の実施の形態２による画像符号化方法は、実施の形態１と同様に、符号化対象とする事象に対して変換処理を行うものであり、モードコードの使用によってビット数削減を図るものである。
【００６５】
図６は本実施の形態2による可変長符号化方法における処理手順を示すフローチャート図である。また、本実施の形態２における画像符号化装置は、実施の形態１と同様の構成を有するものであり、説明には図２を用いる。
【００６６】
本実施の形態２による画像符号化処理においては、図２に示す可変長符号化器２１１による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長符号化器２１１の符号化処理の動作について、図６に従って説明する。
【００６７】
ステップ６０１からステップ６０８までは、実施の形態１におけるステップ１０１からステップ１０８までと同様に行われ、ステップ１０８において、変換入力事象と可変長符号テーブルの参照事象との比較に基づく判定が行われる。判定により、一致する参照事象があった場合にはステップ６１０が、なかった場合にはステップ６０９が実行される。
【００６８】
ステップ６１０が実行された場合には、当該参照事象に対応する可変長符号に、あらかじめ一意的に設定された制御コードと、第2モードコードとが付与された符号化結果が出力され、ステップ６１１に移行する。ここで、制御コードとしては、図２２に示すＥＳＣコードと同じ、０００００１１を用いるものとし、第２モードコードとしては"０"を用いるものとする。
【００６９】
一方、ステップ６０９が実行された場合には、入力事象に対して図２３に示したような符号化処理がなされて、固定長符号が生成される。そして、制御コードと、第１モードコードとが該固定長符号に付与された符号化結果が出力される。第1モードコードとしては"１"を用いるものとする。
【００７０】
ステップ６１０、又はステップ６０９のいずれが実行された場合にも、続くステップ６１１では、処理した入力事象が最後の入力事象であるか否かの判定がなされ、最後である場合にはステップ６１２において符号化処理が終了する。一方、最後でない場合には、ステップ６１３においてjが１だけ増加された後に、ステップ６０２に戻ることにより、次の入力事象が同様に処理されることとなる。こうして、最後の非ゼロの係数まで処理が続行される。
【００７１】
本実施の形態２では、実施の形態１と同様に、入力変換事象の生成にあたっては、入力事象のレベルに対してＯｆｆｓｅｔを用いた変換を行うものであるが、実施の形態1と同様にＯｆｆｓｅｔは定められた値をとるものとしてもよいし、ＬａｓｔとＲｕｎとに対応した可変の値をとるものとすることもできる。本実施の形態では（Ｌａｓｔ，Ｒｕｎ）＝（０、０）のときＯｆｆｓｅｔ＝１２、（Ｌａｓｔ，Ｒｕｎ）＝（０、１）のときＯｆｆｓｅｔ＝６、（Ｌａｓｔ，Ｒｕｎ）＝（０、２）のときＯｆｆｓｅｔ＝４、というように、図１９から図２２に示す可変長符号化テーブルから得られる、各（Ｌａｓｔ，Ｒｕｎ）における最大のレベル値をＯｆｆｓｅｔとする。
【００７２】
以下に、本実施の形態２に示す画像符号化処理で得られた符号化データに対する復号化処理を説明する。本実施の形態２による画像復号化装置の構成は実施の形態１のものと同様であり、説明には図４を用いる。
【００７３】
図７は、本実施の形態２による可変長復号化方法における処理手順を示すフローチャート図である。本実施の形態２による画像復号化処理においては、図４に示す可変長復号化器４０８による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長復号化器４０８の復号化処理の動作について、図７に従って説明する。
【００７４】
ステップ７０１からステップ７０４までは、実施の形態１におけるステップ５０１〜５０４（図５）と同様に行われ、次いでステップ７０５における判定処理が実行される。ステップ７０３の判定において、制御コードがあるとされた場合、ステップ７０５においては、当該制御コードに後続する次の１ビットが"０"または"１"のいずれであるかによる判定処理が行われる。そして、"０"である場合にはステップ７０６が、"１"である場合にはステップ７０８が実行されることとなる。
【００７５】
ステップ７０６が実行された場合、まず可変長符号テーブルを用いて、入力可変長符号に対応する（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）が取得され、その有するレベル値に対して所定の関数を用いた変換処理が行われた後に、復号結果が出力される。本実施の形態２における、変換処理では、取得したレベル値に対して所定のＯｆｆｓｅｔが加算されるものである。このＯｆｆｓｅｔ値は上述した通り（Ｌａｓｔ，Ｒｕｎ）に応じて可変の値をとるものである。
【００７６】
一方、ステップ７０８が実行された場合は、入力可変長符号に対して、固定長符号として復号化が行われ、係数が再生される。ステップ７０４、ステップ７０６、又はステップ７０８のいずれが実行された場合にも、続くステップ７１０では、処理した入力可変長符号が最後の入力可変長符号であるか否かの判定がなされ、最後である場合にはステップ７１１において符号化処理が終了する。一方、最後でない場合には、ステップ７１２においてjが１だけ増加された後に、ステップ７０２に戻ることにより、次の入力可変長符号が同様に処理されることとなる。こうして、最後の可変長符号まで処理が続行される。
【００７７】
このように、本実施の形態２による画像符号化方法によれば、図６に示すように、ステップ６０３からステップ６０４における比較処理において、該当する参照事象が可変長符号テーブルに存在しなかった場合にも、ステップ６０６において入力事象に対する変換処理を行い、ステップ６０７からステップ６０８において、得られた変換入力事象を用いた比較処理を実行するので、ステップ６０９が実行されることにより固定長符号化が行われる率を低減することによって、また、変換入力事象を用いることで、可変長符号化において短いコードを割り当てられる可能性を高めることによって、全体として符号化結果の圧縮率の向上を図ることが可能となる。そして、ステップ６１０、またはステップ６０９においては、１ビットのモードコードを用いて固定長符号化とＯｆｆｓｅｔ処理したレベルとを区別するので、第１、および第２の制御コードを用いる実施の形態１と比較して、符号化結果におけるトータルのビット数を削減できる利点がある。
【００７８】
また、本実施の形態２による画像符号化装置によれば、上記のような符号化方法を実行する可変長符号化器２１１を備えたことで、符号化器２０３における圧縮符号化の圧縮率が高圧縮率である場合、あるいは低圧縮率である場合のいずれにおいても、同一の可変長符号テーブルを用いて、圧縮率のよい符号化結果を得ることが可能となる。
【００７９】
また、本実施の形態２による画像復号化方法、および画像復号化装置によれば、上記のように得られた符号化結果に対応して、適切に復号処理を行い、再生画像を得ることが可能となる。
【００８０】
なお、本実施の形態２では、一つのモードコードを用いるものとしているが、二つ以上のモードコードを用いて、複数のモードを区別してもよい。たとえば、三番目のモードとしてゼロランの値を変更したモードを追加してもよい。
【００８１】
また、本実施の形態２においても、実施の形態１と同様に入力事象のレベルを変換して変換入力事象を得るものとしたが、ランを変換するものとすることも可能である。また、Ｏｆｆｓｅｔを用いて変換処理を行うものとしたが、その代わりに、レベルを逓倍したり、二次関数をかけたり、ダイナミックレンジを変更したりする方法を用いてもよい。
【００８２】
実施の形態３
本発明の実施の形態３による画像符号化方法は、実施の形態１、および２と同様に、符号化対象とする事象に対して変換処理を行うものであり、繰り返し変換処理を行い得ることで符号化効率の向上を図るものである。
【００８３】
図８は本実施の形態３による可変長符号化方法における処理手順を示すフローチャート図である。また、本実施の形態３における画像符号化装置は、実施の形態１と同様の構成を有するものであり、説明には図２を用いる。
【００８４】
本実施の形態３による画像符号化処理においては、図２に示す可変長符号化器２１１による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長符号化器２１１の符号化処理の動作について、図８に従って説明する。
【００８５】
図８(ａ）のフローにおいて、ステップ８０１からステップ８０５までは、実施の形態１におけるステップ１０１からステップ１０５までと同様に行われる。本実施の形態３では、ステップ８０６における変換処理においては所定の関数を用いた変換処理によって、第１変換入力事象が得られるものである。ここで、変換処理については、実施の形態１と同様に行われ、入力事象の有するレベル値に対して所定のＯｆｆｓｅｔが減じられることによって、第１変換入力事象が得られるものとする。ここでは（Ｌａｓｔ，Ｒｕｎ）＝（０、０）のときＯｆｆｓｅｔ＝１２、（Ｌａｓｔ，Ｒｕｎ）＝（０、１）のときＯｆｆｓｅｔ＝６、（Ｌａｓｔ，Ｒｕｎ）＝（０、２）のときＯｆｆｓｅｔ＝４、というように、図１９から図２２に示す可変長符号テーブルから得られる、各（Ｌａｓｔ，Ｒｕｎ）に対する最大のレベル値をＯｆｆｓｅｔとするものとする。
【００８６】
ステップ８０７では、第１変換入力事象と、可変長符号テーブルに含まれる参照事象との比較が実行され、ステップ８０８において、当該比較に基づく判定が行われる。判定により、一致する参照事象があった場合にはステップ８１０が、なかった場合には図８(ｂ）の手順が実行される。ここで、ステップ８１０が実行された場合には、当該参照事象に対応する可変長符号に、あらかじめ一意的に設定された制御コードと、第２モードコードとが付与された符号化結果が出力され、ステップ８１１に移行する。ここで、制御コードとしては、図２２に示すＥＳＣコードと同じ、０００００１１を用いるものとし、第２モードコードとしては"０"を用いるものとする。
【００８７】
一方、図８(ｂ）の手順が実行される場合、まずステップ８２１において、入力事象のランを所定の関数で変換して第２変換入力事象を取得する。本実施の形態３では、ラン値から所定値Ｏｆｆｓｅｔを引き算し、新しいラン値を有する第２変換入力事象を生成するものとする。この際のＯｆｆｓｅｔとしては、可変長符号テーブルにおける、各（Ｌａｓｔ，Ｌｅｖｅｌ）に対する最大のラン値をＯｆｆｓｅｔとするものとする。
【００８８】
ステップ８２２においては、第２変換入力事象と、可変長符号テーブルに含まれる参照事象との比較が実行され、ステップ８２３において、当該比較に基づく判定が行われる。判定により、一致する参照事象があった場合にはステップ８２４が、なかった場合にはステップ８２５が実行される。ここで、ステップ８２４が実行された場合には、当該参照事象に対応する可変長符号に、制御コードと、第３モードコードとが付与された符号化結果が出力され、図８(ａ）のステップ８１１に移行する。第３モードコードとしては"１０"を用いるものとする。
【００８９】
一方、ステップ８２５が実行される場合には、入力事象に対して図２３に示したような符号化処理がなされて、固定長符号が生成される。そして、制御コードと、第１モードコードとが該固定長符号に付与された符号化結果が出力される。第１モードコードとしては、"11"を用いるものとする。
【００９０】
ステップ８１０、又は図８(ｂ）に示すステップ８２４、またはステップ８２５のいずれが実行された場合にも、続くステップ８１１では、処理した入力事象が最後の入力事象であるか否かの判定がなされ、最後である場合にはステップ８１２において符号化処理が終了する。一方、最後でない場合には、ステップ８１３においてjが１だけ増加された後に、ステップ８０２に戻ることにより、次の入力事象が同様に処理されることとなる。こうして、最後の非ゼロの係数まで処理が続行される。
【００９１】
以下に、本実施の形態３に示す画像符号化処理で得られた符号化データに対する復号化処理を説明する。本実施の形態３による画像復号化装置の構成は実施の形態１のものと同様であり、説明には図４を用いる。
図９は、本実施の形態３による可変長復号化方法における処理手順を示すフローチャート図である。本実施の形態３による画像復号化処理においては、図４に示す可変長復号化器４０８による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長復号化器４０８の復号化処理の動作について、図９に従って説明する。
【００９２】
ステップ９０１からステップ９０６までは図７に示した実施の形態２におけるステップ７０１からステップ７０６までと同様に行われる。そして、ステップ９０５の判定において、対象となるビットが"１"であった場合、ステップ９０７が実行され、さらに後続の１ビットについて、当該ビットが"０"または"１"のいずれであるかによる判定処理が行われる。そして、"０"である場合にはステップ９０８が、また、"１"である場合にはステップ９０９が実行されることとなる。
【００９３】
ステップ９０８が実行された場合、まず可変長符号テーブルを用いて、入力可変長符号に対応する（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）が取得され、その有するランの値に対して所定の関数を用いた変換処理が行われた後に、復号結果が出力される。本実施の形態３における、変換処理では、取得したランの値に対して所定の（Ｏｆｆｓｅｔ＋１）が加算されるものである。
【００９４】
一方、ステップ９０９が実行された場合は、入力可変長符号に対して、固定長符号として復号化が行われ、係数が再生される。ステップ９０４、ステップ９０６、ステップ９０８、またはステップ９０９のいずれが実行された場合にも、続くステップ９１０では、処理した入力可変長符号が最後の入力可変長符号であるか否かの判定がなされ、最後である場合にはステップ９１１において符号化処理が終了する。一方、最後でない場合には、ステップ９１２においてjが１だけ増加された後に、ステップ９０２に戻ることにより、次の入力可変長符号が同様に処理されることとなる。こうして、最後の可変長符号まで処理が続行される。
【００９５】
このように本実施の形態３による画像符号化方法によれば、図８(ａ）に示すように、ステップ８０３からステップ８０４における比較処理において、該当する参照事象が可変長符号テーブルに存在しなかった場合にも、ステップ８０６において入力事象に対する変換処理を行い、ステップ８０７からステップ８０８において、得られた第１変換入力事象を用いた比較処理を実行し、ここで該当する参照事象が可変長符号テーブルに存在しなかった場合にも、図８(ｂ）の処理が実行されて、ステップ８２１において入力事象に対する変換処理を行い、ステップ８２２からステップ８２３において、得られた第２変換入力事象を用いた比較処理を実行するので、ステップ８２４が実行されることにより固定長符号化が行われる率を、実施の形態１および２と比較してさらに低減することによって、また、可変長符号化において短いコードを割り当てられる可能性をさらに高めることによって、全体として符号化結果の圧縮率の向上を図ることが可能となる。
【００９６】
また、本実施の形態３による画像符号化装置によれば、上記のような符号化方法を実行する可変長符号化器２１１を備えたことで、符号化器２０３における圧縮符号化の圧縮率が高圧縮率である場合、あるいは低圧縮率である場合のいずれにおいても、同一の可変長符号テーブルを用いて、圧縮率のよい符号化結果を得ることが可能となる。
【００９７】
また、本実施の形態３による画像復号化方法、および画像復号化装置によれば、上記のように得られた符号化結果に対応して、適切に復号処理を行い、再生画像を得ることが可能となる。
【００９８】
実施の形態４
本発明の実施の形態４による画像符号化方法は、複数の可変長符号テーブルを併用して比較処理を行うことにより、可変長符号化テーブルの使用機会を増加して、符号化効率の向上を図るものである。
【００９９】
図１０は本実施の形態４による可変長符号化方法における処理手順を示すフローチャート図である。また、本実施の形態４における画像符号化装置は、実施の形態１と同様の構成を有するものであり、説明には図２を用いる。
【０１００】
本実施の形態４による画像符号化処理においては、図２に示す可変長符号化器２１１による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長符号化器２１１の符号化処理の動作について、図１０に従って説明する。ここで、本実施の形態４による符号化処理においては、第一可変長符号テーブルと第二可変長符号テーブルとを用いるものである。第一可変長符号テーブルは実施の形態１〜３と同様に、図１９から図２２に示されたものを用いる。一方第二可変長符号テーブルについては、第一のものと異なるテーブルを用いることとし、ここではレベル値が１０以上の項から構成されるものを用いることとする。このように、本実施の形態４では、レベル値１０以下が主体の第一可変長符号テーブルに対して、レベル値１０以上を含む第二可変長符号テーブルを用いるものとしているが、第二可変長テーブルとしては、第一可変長テーブルに含まれない参照事象から構成されるものを用いることが望ましいこととなる。
【０１０１】
ステップ１００１において処理が開始されると、ステップ１００２においてj番目の入力事象を得る。ステップ１００３では、可変長符号化器２１１において入力事象と第一可変長符号テーブルに含まれる参照事象との比較が行われる。次いでステップ１００４においては、上記の比較処理で、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の一致する参照事象があったか否かの判定が行われる。ステップ１００４の判定において参照事象があった場合には、ステップ１００５が、なかった場合にはステップ１００６が実行される。ここで、ステップ１００５が実行された場合には、当該参照事象に対応する可変長符号が出力され、後述するステップ１０１０に移行する。
【０１０２】
一方ステップ１００６が実行された場合、可変長符号化器２１１において、入力事象と、第二可変長符号テーブルに含まれる参照事象との比較が行われる。次いでステップ１００７においては、上記の比較処理で、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の一致する参照事象があったか否かの判定が行われる。ステップ１００７の判定において参照事象があった場合には、ステップ１００８が、なかった場合にはステップ１００９が実行される。ここで、ステップ１００８が実行された場合には、当該参照事象に対応する可変長符号が取得され、一意的に設定された制御コードと、第２モードコードとを付与されて出力され、後述するステップ１０１０に移行する。ここで、制御コードとしては、図２２に示すＥＳＣコードと同じ、０００００１１を用いるものとし、第２モードコードとしては"０"を用いるものとする。
【０１０３】
一方、ステップ１００９が実行された場合には、入力事象に対して図２３に示したような符号化処理がなされて、固定長符号が生成される。そして、制御コードと、第１モードコードとが該固定長符号に付与された符号化結果が出力される。第１モードコードとしては"１"を用いるものとする。
【０１０４】
ステップ１００５、ステップ１００８、又はステップ１００９のいずれが実行された場合にも、続くステップ１０１０では、処理した入力事象が最後の入力事象であるか否かの判定がなされ、最後である場合にはステップ１０１１において符号化処理が終了する。一方、最後でない場合には、ステップ１０１２においてjが１だけ増加された後に、ステップ１００２に戻ることにより、次の入力事象が同様に処理されることとなる。こうして、最後の非ゼロの係数まで処理が続行される。
【０１０５】
以下に、本実施の形態４に示す画像符号化処理で得られた符号化データに対する復号化処理を説明する。本実施の形態４による画像復号化装置の構成は実施の形態１のものと同様であり、説明には図４を用いる。
図１１は、本実施の形態４による可変長復号化方法における処理手順を示すフローチャート図である。本実施の形態４による画像復号化処理においては、図４に示す可変長復号化器４０８による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長復号化器４０８の復号化処理の動作について、図１１に従って説明する。
【０１０６】
まず、ステップ１１０１において処理が開始されると、ステップ１１０２では、j番目の処理対象である、量子化した変換係数の可変長符号が、入力可変長符号として入力される。ステップ１１０３では、入力可変長符号が制御コードを含むか否かが判定され、含まれないならばステップ１１０４が、含まれるならばステップ１１０５が実行される。ステップ１１０４が実行された場合、すなわち制御コードがない場合には、第一可変長符号テーブルを用いることによって、入力可変長符号に対応する（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）が出力され、後述するステップ１１１０に移行する。
【０１０７】
ステップ１１０３の判定において、制御コードがあるとされた場合、ステップ１１０５においては、当該制御コードに後続する次の１ビットが"０"または"１"のいずれであるかによる判定処理が行われる。そして、"０"である場合にはステップ１１０６が、"１"である場合にはステップ１１０８が実行されることとなる。
【０１０８】
ステップ１１０６が実行された場合には、第二可変長符号テーブルを用いることによって、入力可変長符号に対応する（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）が出力され、後述するステップ１１１０に移行する。一方、ステップ１１０８が実行された場合は、入力可変長符号に対して、固定長符号として復号化が行われ、係数が再生される。
【０１０９】
ステップ１１０４、ステップ１１０６、又はステップ１１０８のいずれが実行された場合にも、続くステップ１１１０では、処理した入力可変長符号が最後の入力可変長符号であるか否かの判定がなされ、最後である場合にはステップ１１１１において符号化処理が終了する。一方、最後でない場合には、ステップ１１１２においてjが１だけ増加された後に、ステップ１１０２に戻ることにより、次の入力可変長符号が同様に処理されることとなる。こうして、最後の可変長符号まで処理が続行される。
【０１１０】
このように、本実施の形態４による画像符号化方法によれば、第一可変長符号テーブルと第二可変長符号テーブルとを用いることで、図１０に示すように、ステップ１００３からステップ１００４における比較処理において、該当する参照事象が第一可変長符号テーブルに存在しなかった場合にも、ステップ１００６からステップ１００７において、第二可変長符号テーブルとの比較処理を実行するので、ステップ１００９が実行されることにより固定長符号化が行われる率を低減することによって、全体として符号化結果の圧縮率の向上を図ることが可能となる。本実施の形態４によれば、複数の可変長符号テーブルを準備する必要があるが、前述のように、該複数のテーブルにおいて含まれる事象が異なるように作成しておくことで、符号化効率の向上を図ることが可能となる。
【０１１１】
また、本実施の形態４による画像符号化装置によれば、上記のような符号化方法を実行する可変長符号化器２１１を備えたことで、符号化器２０３における圧縮符号化の圧縮率が高圧縮率である場合、あるいは低圧縮率である場合のいずれにおいても、圧縮率のよい符号化結果を得ることが可能となる。
【０１１２】
また、本実施の形態４による画像復号化方法、および画像復号化装置によれば、上記のように得られた符号化結果に対応して、適切に復号処理を行い、再生画像を得ることが可能となる。
【０１１３】
なお、本実施の形態４では、二つの可変長符号テーブルを用いることとしたが、任意の数の可変長符号テーブルを用意し、同数のモードコードを用いて、該複数の可変長符号テーブルを区別するものとしてもよい。また、量子化幅を用いて複数の可変長符号テーブルを区別してもよい。
【０１１４】
実施の形態５
本発明の実施の形態５による画像符号化方法は、符号化対象とする事象に対して除算処理による変換処理を行った上で、可変長符号テーブルとの比較を行うものである。
【０１１５】
図１２は本実施の形態５による可変長符号化方法における処理手順を示すフローチャート図である。また、本実施の形態５における画像符号化装置は、実施の形態１と同様の構成を有するものであり、説明には図２を用いる。
【０１１６】
本実施の形態５による画像符号化処理においては、図２に示す可変長符号化器２１１による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長符号化器２１１の符号化処理の動作について、図１２に従って説明する。
【０１１７】
ステップ１２０１において処理が開始されると、ステップ１２０２において、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）からなるj番目の入力事象を得る。そして、ステップ１２０３では、除算処理による入力事象に対しての変換処理が行われる。変換処理は、入力事象の有するレベルの値に対して、量子化幅に基づいて決定される割算子を用いて割り算を行い、レベルの商を取得する。図１３は、量子化幅と割算子との関係を示す図である。図１３(ａ）は、両者の関係における設定の一例であり、量子化幅が１から７の場合、割算子は２であり、量子化幅が８以上の場合割算子が１であるという設定を示している。この場合量子化幅が８以上であれば、割り算が実行されないことを意味するものとなる。図１３(ｂ）は両者の関係における設定の別の例であり、このように量子化幅を３クラスに分けて、クラスに応じて割算子を決定するものとしてもよい。
【０１１８】
量子化処理は基本的に除算処理であり、量子化幅が小さくなると、量子化変換係数の値は大きくなる傾向があり、従って、事象を生成した場合にその有するレベル値が大きくなることが多くなる。図１９〜図２２に示す可変長符号テーブルは、比較的高圧縮率の係数に対して適するように作成されたものであって、レベルの値の小さい事象を多く含むものであるので、かかる場合には当該テーブルに含まれる参照事象に該当する率が低下し、可変長符号化がされる率も低下して符号化効率が悪くなることとなる。そこで、本実施の形態５では、量子化幅が小さい場合には、レベルに対して除算を行うことで、レベルの値の小さな変換入力事象を生成し、この変換入力事象を比較処理に用いることで、可変長符号化が行われる率を向上し、かつ短いコードの割り当てられる可能性を多くすることを図るものである。
【０１１９】
レベルの商が取得されたならば、ステップ１２０４では、変換入力事象の（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌの商）について、可変長符号テーブルに含まれる参照事象との比較が行われ、次のステップ１２０５では、該比較の結果による判定処理が実行される。ステップ１２０５の判定において参照事象があった場合には、ステップ１２０８が、なかった場合にはステップ１２０６が実行される。
【０１２０】
ステップ１２０７が実行された場合は、該当する参照事象の可変長符号が出力され、次いでステップ１２０８において、レベルの余りが固定長符号化され、その符号化結果が入力補助符号として出力される。レベルの余りの符号長は割算子によって変わる。たとえば図１３(ａ）に示す設定の場合では、割算子が２の場合は余りのビット長が１となり、割算子が１の場合は余りのビット長が０である。すなわち、割算子が１の場合は余りを符号化しないこととなる。ステップ１２０７から１２０８が実行された場合、可変長符号と入力補助符号とが、符号化結果として、出力されることとなる。
【０１２１】
一方、ステップ１２０６が実行された場合には、入力事象に対して固定長符号化処理がなされて、固定長符号が生成される。そして、制御コードが該固定長符号に付与された符号化結果が出力される。
【０１２２】
ステップ１２０７〜１２０８、又はステップ１２０６のいずれが実行された場合にも、続くステップ１２０９では、処理した入力事象が最後の入力事象であるか否かの判定がなされ、最後である場合にはステップ１２１０において符号化処理が終了する。一方、最後でない場合には、ステップ１２１１においてjが１だけ増加された後に、ステップ１２０２に戻ることにより、次の入力事象が同様に処理されることとなる。こうして、最後の非ゼロの係数まで処理が続行される。
以下に、本実施の形態５に示す画像符号化処理で得られた符号化データに対する復号化処理を説明する。本実施の形態５による画像復号化装置の構成は実施の形態１のものと同様であり、説明には図４を用いる。
【０１２３】
図１４は、本実施の形態５による可変長復号化方法における処理手順を示すフローチャート図である。本実施の形態５による画像復号化処理においては、図４に示す可変長復号化器４０８による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長復号化器４０８の復号化処理の動作について、図１４に従って説明する。
【０１２４】
まず、ステップ１４０１において処理が開始されると、ステップ１４０２では、j番目の処理対象である、量子化した変換係数の可変長符号が、入力可変長符号として入力される。ここで、本実施の形態５における画像符号化処理では、上述のように符号化結果が入力補助符号を含むものとして得られるので、この入力補助符号も可変長符号とともに処理対象として入力される。ステップ１４０３では、入力可変長符号が制御コードを含むか否かが判定され、含まれるならばステップ１４０４が、含まれないならばステップ１４０５が実行される。ステップ１４０４が実行された場合、すなわち制御コードがあった場合には、入力可変長符号を固定長符号として復号化し係数を再生し出力した後、後述するステップ１４０８に移行する。
【０１２５】
一方、ステップ１４０５が実行された場合、すなわち制御コードがない場合には、第一可変長符号テーブルを用いることによって、入力可変長符号に対応する（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）が取得され、その後ステップ１４０６が実行されて、取得されたレベルの値に対して、所定の値を乗算する変換処理が行われる。所定の値は、量子化幅に基づいて定められるものであって、ここでは符号化処理に対応して、図１３に示した値が用いられるものである。そして、ステップ１４０７では、入力補助符号が固定長復号化されることによって、レベルの余りが取得され、ステップ１４０６における変換処理で得られた積に対して加算されることにより、正しいレベルの値が取得され、このレベルの値を用いた（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）が復号化結果として出力される。
【０１２６】
ステップ１４０４、又はステップ１４０５〜１４０７のいずれが実行された場合にも、続くステップ１４０８では、処理した入力可変長符号が最後の入力可変長符号であるか否かの判定がなされ、最後である場合にはステップ１４０９において符号化処理が終了する。一方、最後でない場合には、ステップ１４１０においてjが１だけ増加された後に、ステップ１４０２に戻ることにより、次の入力可変長符号が同様に処理されることとなる。こうして、最後の可変長符号まで処理が続行される。
【０１２７】
このように、本実施の形態５による画像符号化方法によれば、図１２のステップ１２０３に示すように、処理対象である入力事象が有するレベルの値に対して、量子化幅に基づいて定められる数を用いて除算を行う変換処理をし、ステップ１２０４では該変換処理をした変換入力事象を用いて比較処理をするので、可変長符号テーブルに含まれる参照事象と一致する率を高め、ステップ１２０６における固定長符号化が行われる率を低減することによって、また、変換入力事象を用いることで、可変長符号化において短いコードを割り当てられる可能性を高めることによって、符号化効率の向上を図ることが可能となる。
【０１２８】
また、本実施の形態５による画像符号化装置によれば、上記のような符号化方法を実行する可変長符号化器２１１を備えたことで、符号化器２０３における圧縮符号化の圧縮率が高圧縮率である場合、あるいは低圧縮率である場合のいずれにおいても、同一の可変長符号テーブルを用いて、圧縮率のよい符号化結果を得ることが可能となる。
【０１２９】
また、本実施の形態５による画像復号化方法、および画像復号化装置によれば、上記のように得られた符号化結果に対応して、適切に復号処理を行い、再生画像を得ることが可能となる。
【０１３０】
なお、本実施の形態５においては、事象の有するレベルについて変換処理を行うものとして説明したが、レベルではなくて、ランに対して変換処理を行うものとしてもよい。
【０１３１】
実施の形態６
本発明の実施の形態６による画像符号化方法は、入力事象に対して変換処理をする代わりに、参照事象に対して変換処理を行って比較するものである。
【０１３２】
図１５は本実施の形態６による可変長符号化方法における処理手順を示すフローチャート図である。また、本実施の形態６における画像符号化装置は、実施の形態１と同様の構成を有するものであり、説明には図２を用いる。
【０１３３】
本実施の形態６による画像符号化処理においては、図２に示す可変長符号化器２１１による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長符号化器２１１の符号化処理の動作について、図１５に従って説明する。
【０１３４】
ステップ１５０１において処理が開始されると、ステップ１５０２において、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）からなるj番目の入力事象を得る。また、量子化処理において用いられた量子化幅も入力される。ステップ１５０３では、可変長符号化テーブルよりｉ番目の参照事象が取得され、ステップ１５０４において、該参照事象が変換処理をされることで、変換参照事象が生成される。
【０１３５】
本実施の形態６ではこの変換処理として、参照事象の有するレベルの値に対して、ステップ１５０２で入力した量子化幅に応じて設定される値であるＯｆｆｓｅｔを加算することを行う。ここでは、量子化幅が１か２の時Ｏｆｆｓｅｔ＝５、量子化幅が３か４の時Ｏｆｆｓｅｔ＝４、量子化幅が５か６の時Ｏｆｆｓｅｔ＝３、量子化幅が７か８の時Ｏｆｆｓｅｔ＝２、量子化幅が９か１０の時Ｏｆｆｓｅｔ＝１、量子化幅が１１以上の時にＯｆｆｓｅｔ＝０と設定したものとする。たとえば、符号化の対象となる事象が（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）＝（０、１、６）であるとき、参照事象に対する変換処理を行わない場合には、図１９に示される参照事象に該当するものがあり、対応する符号を用いるので、符号化結果は１３ビットとなる。ところが量子化幅が４の時、同じ事象を対象とした場合には、全ての参照事象については、レベルの値に４を加算する変換処理を行うので、図１９に示す参照事象（０、１、２）に対応する可変長符号が用いられることとなり、この場合には７ビットとなり、前述の変換処理を行わない場合に比べて６ビット節約できる。このように、参照事象のレベルにＯｆｆｓｅｔを加算することは、符号化の対象となる事象（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）のレベルからＯｆｆｓｅｔを引き算し、可変長符号化テーブルの各項と比較する方法と等価となる。
【０１３６】
実施の形態５において説明したように、量子化幅が小さくなると、量子化した係数の値が大きくなる傾向にあるために、レベルの値の大きい事象の出現頻度も多くなる。これに対して、図１９から図２２に示す可変長符号テーブルは、高圧縮率の係数に適したものであり、レベルの値の小さな事象を多く含むものである。従って、参照事象の有するレベルの値にＯｆｆｓｅｔを加算することにより、入力事象の有するレベルの値に対する減算処理を行う場合（実施の形態１等）と同様に、短いコードで可変長符号化できる率を高め、圧縮率の向上を図るものである。
【０１３７】
ステップ１５０５では、ステップ１５０４での比較の結果による判定処理が実行される。ステップ１５０５の判定において一致した場合には、ステップ１５０６が実行され、ｉ番目の参照事象に対応する可変長符号が出力された後に、後述するステップ１５０９に移行する。一方、一致しなかった場合にはステップ１５０７が実行される。
【０１３８】
ステップ１５０７においては、ｉ番目の参照事象が可変長符号テーブルに含まれる最後の参照事象であるか否かが判定され、最後の参照事象であった場合、ステップ１５０８が実行される。最後の参照事象でない場合には、ステップ１５１２においてｉが１だけ増加された後にステップ１５０３に戻り、ステップ１５０７における判定までが繰り返される。
【０１３９】
ステップ１５０３からステップ１５０７までの処理により、j番目の入力事象と、可変長符号テーブルに含まれる参照事象との比較が、ステップ１５０５において一致すると判定されるか、またはステップ１５０７において最後と判定されるまで繰り返される。すなわち、可変長符号化が行われるか、可変長符号テーブルの最後まで比較し終わるかのいずれかまで比較が行われる。
【０１４０】
ステップ１５０７において、最後と判定された場合、すなわち、j番目の入力事象についてテーブルの参照事象との比較が終了した場合には、可変長符号化は行えなかったということになり、ステップ１５０８において、入力事象に対しての固定長符号化が実行され、符号化結果に制御コードが付与されて出力された後に、ステップ１５０９に移行する。
【０１４１】
ステップ１５０６、又はステップ１５０８に続いて実行されるステップ１５０９では、処理した入力事象が最後の入力事象であるか否かの判定がなされ、最後である場合にはステップ１５１０において符号化処理が終了する。一方、最後でない場合には、ステップ１５１１においてjが１だけ増加された後に、ステップ１５０２に戻ることにより、次の入力事象が同様に処理されることとなる。こうして、最後の非ゼロの係数まで処理が続行される。
【０１４２】
図１６は本発明の実施の形態６による画像符号化装置に用いられる可変長符号化器（図２の２１１）の内部構成を示すブロック図である。図示するように、該可変長符号化器は、可変長符号テーブル１６０１、レベル変換器１６０２、比較器１６０３、固定長符号化器１６０４、およびスイッチ１６０５を備えたものであり、入力事象と量子化幅を入力し、符号化結果を出力する。
【０１４３】
可変長符号テーブル１６０１は、図１９〜図２２に示すものである。レベル変換器１６０２は、量子化幅と、参照事象とを入力し、量子化幅に対応して参照事象の有するレベルの値を変換して、変換参照事象を生成する。比較器１６０３は、入力事象と、変換参照事象との比較処理を行い、比較結果に応じて制御信号を出力する。固定長符号化器１６０４は、入力事象を入力されたときは、これに対して固定長の符号化処理を行い、符号化結果を出力する。スイッチ１６０５は、比較器１６０３からの出力に対応して切り替えを行い、可変長符号テーブル１６０１からの出力か、又は固定長符号化器１６０４からの出力かのいずれかを、符号化結果として出力する。
【０１４４】
このように構成された可変長符号化器の動作を図１５のフローとの対応において、以下に説明する。図１５のフローのステップ１５０２において、当該可変長符号化器（図２の２１１）に量子化幅と入力事象（j番目）とが入力されると、量子化幅はライン１６１１よりレベル変換器１６０２に、また入力事象はライン１６１２より比較器１６０３に入力される。図１５のフローのステップ１５０３では、レベル変換器１６０２がライン１６１３により可変長符号テーブルから参照事象（ｉ番目）を取得し、入力された量子化幅を用いて、当該参照事象の有するレベル値に対する変換処理を実行し、得られた変換参照事象を比較器１６０３に出力する。
【０１４５】
図１５のフローのステップ１５０５では、比較器１６０３による比較処理と判定処理とが実行される。比較器１６０３は、入力された入力事象と変換参照事象との比較処理を行い、一致するか否かを判定する。一致すると判定する場合には、比較器１６０３は、可変長符号テーブル１６０１に対して当該ｉ番目の参照事象に対応する符号を出力するように、ライン１６１５を経由して制御信号を送るとともに、スイッチ１６０５に対してもライン１６１７を介した制御信号を送り、スイッチ１６０５からの出力が可変長符号テーブル１６０１からの符号となるようにする。これにより、ステップ１５０５における判定が「一致する」である場合には、図１５のフローのステップ１５０６において、スイッチ１６０５の出力ライン１６２０より、可変長符号が出力されることとなる。
【０１４６】
一方、比較器１６０３における比較処理において、一致しなかった場合には、ライン１６１５を経由した制御信号により、次の（ｉ＋1番目）参照事象が可変長符号テーブル１６０１よりレベル変換器１６０２に入力される。図１５のフローにおいては、ステップ１５１２でｉが増加した後、ステップ１５０３からの繰り返しが実行される。
【０１４７】
ステップ１５０７の判定において、可変長符号テーブルの最後まで比較処理が終わったと認められた場合、比較器１６０３は、当該入力事象（j番目）をライン１６１８によって固定長符号化器１６０４に出力するとともに、スイッチ１６０５に対してもライン１６１７を介した制御信号を送り、スイッチ１６０５からの出力が固定長符号化器１６０４からの符号となるようにする。
【０１４８】
図１５のフローの１５０８において、固定長符号化器１６０４は入力された入力事象に対しての符号化処理を行い、得られた符号化結果をライン１６１９を介してスイッチ１６０５に出力する。比較器１６０３からの制御信号によって、スイッチ１６０５からは固定長符号がライン１６２０より出力される。
【０１４９】
ライン１６２０より出力があった後、ライン１６１２より次の入力事象が入力されることにより、図１５のフローにおける入力事象に対しての処理の繰り返しが実行される。
【０１５０】
このように、本発明の実施の形態６による画像符号化は行われるが、かかる画像符号化により得られた符号化データに対しての復号化処理は、図４に示す画像復号化装置において実行される。本実施の形態６による画像復号化処理においては、図４に示す可変長復号化器４０８による処理のみが、実施の形態１と異なるものとなるので、以下に、可変長復号化器４０８の復号化処理について、その内部構成を示す図１７を用いて説明する。
【０１５１】
図１７に示すように、該可変長復号化器は、可変長符号テーブル１７０１、比較器１７０２、レベル逆変換器１７０３、固定長復号化器１７０４、およびスイッチ１７０５を備えたものであり、入力可変長符号と量子化幅を入力し、復号処理による再生結果を出力する。
【０１５２】
可変長符号テーブル１７０１は、図１９〜図２２に示すものである。比較器１７０２は、入力可変長符号と、参照可変長符号との比較処理を行い、比較結果に応じて制御信号を出力する。レベル逆変換器１７０３は、量子化幅と、参照事象とを入力し、量子化幅に対応して参照事象の有するレベルの値を変換して、変換参照事象を生成する。固定長復号化器１７０４は、入力可変長符号を入力されたときは、これに対して固定長の復号化処理を行い、復号化結果を出力する。スイッチ１７０５は、比較器１７０２からの出力に対応して切り替えを行い、可変長符号テーブル１７０１からの出力か、又は固定長復号化器１７０４からの出力かのいずれかを、再生結果として出力する。
【０１５３】
このように構成された可変長復号化器の動作を以下に説明する。当該可変長復号化器（図４の４０８）に量子化幅と入力可変長符号とが入力されると、量子化幅はライン１７１１よりレベル逆変換器１７０３に、また入力可変長符号はライン１７１２より比較器１７０２に入力される。比較器１７０２は、ライン１７１３を経由して可変長符号テーブル１７０１より参照可変長符号を取得し、入力可変長符号と参照可変長符号との比較を行う。
【０１５４】
比較により一致すると判定する場合には、比較器１７０２は、可変長符号テーブル１７０１に対して、当該参照可変長符号に対応する参照事象を出力するように、ライン１７１４を経由して制御信号を送るとともに、スイッチ１７０５に対してもライン１７１７を介した制御信号を送り、スイッチ１７０５からの出力が可変長符号テーブル１７０１からの符号となるようにする。
【０１５５】
可変長符号テーブルからは、参照事象がライン１７１５を経由してレベル逆変換器１７０３に入力され、変換処理を受けることとなる。レベル逆変換器１７０３は、参照事象の有するレベルに対応して、量子化幅に基づいて、符号化の際に行われた変換処理の逆処理を行う。本実施の形態６では、量子化幅に応じて定められるＯｆｆｓｅｔを、参照事象の有するレベル値に対して加算する。量子化幅が１か２の時Ｏｆｆｓｅｔ＝５、量子化幅が３か４の時Ｏｆｆｓｅｔ＝４、量子化幅が５か６の時Ｏｆｆｓｅｔ＝３、量子化幅が７か８の時Ｏｆｆｓｅｔ＝2、量子化幅が９か１０の時Ｏｆｆｓｅｔ＝１、量子化幅が１１以上の時にＯｆｆｓｅｔ＝０が用いられるものである。たとえば、入力可変長符号が「０１０１０００」とすると、図１９に示すテーブルより参照事象として（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）＝（０、１、２）が取得される。これを入力されたレベル逆変換器１７０３では、入力された量子化幅が４であったとすると、参照事象の有するレベルに４を加算し、得られた結果（０、１、６）をライン１７１６よりスイッチ１７０５に出力する。そして、比較器１７０２からの制御信号に対応し、スイッチ１７０５はこの結果を再生結果としてライン１７２０より出力する。これにより、判定が「一致する」である場合には、スイッチ１７０５の出力ライン１７２０より、可変長符号が出力されることとなる。
【０１５６】
一方、比較器１７０３における比較処理において、一致する参照可変長符号が見いだされなかった場合には、比較器１７０２は当該入力可変長符号を、ライン１７１８により固定長復号化器１７０４に出力するとともに、スイッチ１７０５に対してもライン１７１７を介した制御信号を送り、スイッチ１７０５からの出力が固定長復号化器１７０４からの符号となるようにする。これにより、固定長復号化された結果が、スイッチ１７０５の出力ライン１７２０より出力されることとなる。
【０１５７】
このように、本実施の形態６による画像符号化方法によれば、図１５のステップ１５０２に示す変換処理を、可変長符号テーブルの有する参照事象に対して施すことにより、同等の変換処理を入力事象に対して行う実施の形態１等と同様に、可変長符号化の実行される率と、短いコードが割り当てられる率とを高めて、符号化効率の向上を図ることが可能となる。
【０１５８】
また、本実施の形態６による画像符号化装置によれば、図１６に示す内部構成を有し、上記のような符号化方法を実行する可変長符号化器２１１を備えたことで、符号化器２０３における圧縮符号化の圧縮率が高圧縮率である場合、あるいは低圧縮率である場合のいずれにおいても、同一の可変長符号テーブルを用いて、圧縮率のよい符号化結果を得ることが可能となる。
【０１５９】
また、本実施の形態６による画像復号化方法、および画像復号化装置によれば、上記のように得られた符号化結果に対応して、適切に復号処理を行い、再生画像を得ることが可能となる。
【０１６０】
なお、本実施の形態６においては、参照事象に対する変換処理として、Ｏｆｆｓｅｔの加算を用いる方法を示したが、これに限られるものではなく、そのほかの関数を用いてもよい。たとえば、量子化幅に応じてレベルの値にかける倍数を変えたり、二次関数を施したり、レベルのダイナミックレンジを変更したりする方法によっても、上記の効果を得ることが可能である。
【０１６１】
また実施の形態１等において、入力事象に対する変換処理について説明したように、参照事象のレベルに対する変換処理を実行する代わりに、ランの値に対しての変換処理を行うものとすることも可能である。
【０１６２】
以上本発明による実施の形態を説明したが、いずれの実施の形態においても、フローチャート図を用いて示した処理手順は一例であって、同様の符号化・復号化方法を実行し得る他の処理手順を用いることも可能である。
【０１６３】
なお、本発明の実施の形態１〜６に示した画像符号化装置、および画像復号化装置は、各実施の形態に示した画像符号化方法、または画像復号化方法を行う画像符号化プログラム、または画像復号化プログラムを記録媒体に記録し、該記録したプログラムを、パーソナルコンピュータ、ワークステーション等を有するコンピュータシステムにおいて実行することで実現される。記録媒体としては、フロッピーディスク、ＣＤ−ＲＯＭ等の光ディスクなど、プログラムを記録し得る記録媒体であれば、使用可能である。
【０１６４】
【発明の効果】
以上のように、本発明に係る画像復号化方法によれば、圧縮符号化データに含まれる可変長符号を抽出し、参照可変長符号と（Run, Level）を含む参照事象とが対応した可変長符号テーブルを用いて、上記可変長符号に対応する事象を求め、この事象より出力変換係数を求める画像復号化方法において、上記可変長符号が制御コードを含まない場合は上記可変長符号テーブルを用いて上記可変長符号に対応する事象を求め、上記可変長符号が上記制御コードを含む場合は、上記可変長符号に対応する事象を得るとともに、得られた該事象の「Level」値を所定の関数で変換した変換事象を求めるので、同じ可変長符号化テーブルを用いて、広範囲に、すなわち、高圧縮率から低圧縮率までにわたる圧縮符号化データを効率よく復号化することができる効果がある。
【図面の簡単な説明】
【図１】
図１は、本案明の実施の形態1による可変長符号化方法における処理手順を示すフローチャート図である。
【図２】
図２は、同実施の形態による画像符号化装置の構成を示すブロック図である。
【図３】
図３は、同実施の形態による可変長符号化方法を用いて変換した符号の例を示す説明図である。
【図４】
図４は、同実施の形態による画像復号化装置の構成を示すブロック図である。
【図５】
図５は、同実施の形態による可変長復号化方法における処理手順を示すフローチャート図である。
【図６】
図６は、本発明の実施の形態2による可変長符号化方法における処理手順を示すフローチャート図である。
【図７】
図７は、同実施の形態による可変長復号化方法における処理手順を示すフローチャート図である。
【図８】
図８は、本発明の実施の形態3による可変長符号化方法における処理手順を示すフローチャート図である。
【図９】
図９は、同実施の形態による可変長復号化方法における処理手順を示すフローチャート図である。
【図１０】
図１０は、本発明の実施の形態４による可変長符号化方法における処理手順を示すフローチャート図である。
【図１１】
図１１は、同実施の形態による可変長復号化方法における処理手順を示すフローチャート図である。
【図１２】
図１２は、本発明の実施の形態５による可変長符号化方法における処理手順を示すフローチャート図である。
【図１３】
図１３は、同実施の形態による可変長符号化方法において用いられる、量子化幅と、変換処理のための割算子との関係を示す図である。
【図１４】
図１４は、同実施の形態による可変長復号化方法における処理手順を示すフローチャート図である。
【図１５】
図１５は、本発明の実施の形態6による可変長符号化方法における処理手順を示すフローチャート図である。
【図１６】
図１６は、同実施の形態による画像符号化装置の有する可変長符号化器の内部構成を示すブロック図である。
【図１７】
図１７は、同実施の形態による画像復号化装置の有する可変長復号化器の内部構成を示すブロック図である。
【図１８】
図１８は、従来の技術による可変長符号化方法における処理手順を示すフローチャート図である。
【図１９】
図１９は、可変長符号化に用いられる可変長符号テーブルの一例を示す図である。
【図２０】
図２０は、可変長符号化に用いられる可変長符号テーブルの一例を示す図である。
【図２１】
図２１は、可変長符号化に用いられる可変長符号テーブルの一例を示す図である。
【図２２】
図２２は、可変長符号化に用いられる可変長符号テーブルの一例を示す図である。
【図２３】
図２３は、固定長符号化処理を説明するための図である。
【符号の説明】
２０２  第一加算器
２０３  符号化器
２０４  離散コサイン変換器（ＤＣＴ）
２０５  量子化器（Ｑ）
２０８，４０４  逆量子化器（ＩＱ）
２０９，４０５  逆離散コサイン変換器（ＩＤＣＴ）
２１０  第二加算器
２１１  可変長符号化器（ＶＣＬ）
２１３，４０９  フレームメモリ（ＦＭ）
２１４  動き検出器（ＭＥ）
２１５  動き補償器（ＭＣ）
４０２  データ解析器（ＤＡ）
４０３  復号化器
４０６  加算器
４０８  可変長復号化器（ＶＬＤ）
１６０１，１７０１  可変長符号テーブル
１６０２，１７０３  レベル変換器
１６０３，１７０２  比較器
１６０４，１７０４  固定長符号化器
１６０５，１７０５  スイッチ