(57)【要約】【課題】本発明は、復号化して得られる画像の画質を入力画像の画質とほぼ同等にする。【解決手段】本発明は、入力画像データから差分値データを生成し、これを任意の出力ビット精度で離散コサイン変換処理して離散コサイン変換係数を生成し、その出力ビット精度及び入力画像データの入力ビット精度のうちの少なくとも１つに基づいて量子化スケールを拡張して用いて離散コサイン変換係数を量子化した後、得られた量子化係数を可変長符号化テーブルを用いて圧縮符号化することにより、画質の劣化を防止して圧縮符号化できる。また、圧縮符号化された量子化係数を可変長符号化テーブルを用いて復号化し、得られた量子化係数を元の入力画像データの入力ビット精度と、離散コサイン変換係数の出力ビット精度とのうちの少なくとも１つに基づいて量子化スケールを拡張して用いて逆量子化処理することにより、画質の劣化を防止して復号化できる。【選択図】図１
2010233274.tif 000002
【特許請求の範囲】
【請求項１】
入力ビット精度の入力画像データを符号化して得られるビットストリームを復号する復号装置において、
上記入力ビット精度に基づいて、複数の可変長符号化テーブルから可変長符号化テーブルを選択する選択手段と、
上記選択手段により選択された上記可変長符号化テーブルを用いて、上記ビットストリームを復号して量子化係数を生成する復号手段と、
上記復号手段により生成された上記量子化係数を所定の量子化スケールを用いて逆量子化処理して直交変換係数を生成する逆量子化手段と、
上記逆量子化手段により生成された上記直交変換係数を、上記演算ビット精度に応じて逆直交変換処理する逆直交変換手段と
を具える復号装置。
【請求項２】
上記復号手段は、
上記ビットストリームが、上記選択手段により選定された上記可変長符号化テーブルで規定された範囲外のとき、上記選択手段により選定された上記可変長符号化テーブルで定義されているエスケープコードに基づいて、上記ビットストリームを固定長復号する
請求項１に記載の復号装置。
【請求項３】
上記直交変換処理は、
離散コサイン変換処理である
請求項１に記載の復号装置。
【請求項４】
入力ビット精度の入力画像データを符号化して得られるビットストリームを復号する復号方法において、
上記入力ビット精度に基づいて、複数の可変長符号化テーブルから可変長符号化テーブルを選択する選択ステップと、
上記選択した上記可変長符号化テーブルを用いて、上記ビットストリームを復号して量子化係数を生成する復号ステップと、
上記生成した上記量子化係数を所定の量子化スケールを用いて逆量子化処理して直交変換係数を生成する逆量子化ステップと、
上記生成した上記直交変換係数を、上記演算ビット精度に応じて逆直交変換処理する逆直交変換ステップと
を具える復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は復号装置及びその方法に関し、例えば動画像データを圧縮符号化するエンコーダ及びその圧縮符号化された動画像データを復号化するデコーダに適用して好適なものである。
【背景技術】
【０００２】
従来、この種の符号化装置や復号化装置が設けられたシステムとして、例えば、テレビ会議システムやテレビ電話システム等のような動画像データを遠隔地に伝送するシステムがある。
【０００３】
そして、かかるシステムにおいては、伝送路を効率良く利用して動画像データを伝送するために、フレーム単位の画像のライン相関やフレーム間相関を利用して動画像データを順次フレーム単位で圧縮符号化している。
【０００４】
ここで、動画像データを高能率符号化する圧縮符号化方式の代表的なものとしては、ＭＰＥＧ２（Moving Picture Experts Group 2: 蓄積用動画像符号化）方式がある。
【０００５】
このＭＰＥＧ２方式は、ＩＳＯ−ＩＥＣ／ＪＴＣ１／ＳＣ２／ＷＧ１１（International Organization for Standardization-International Electrotechnical Commission/Joint Technical Committee 1/Sub Committee 2/Working Group 11 ）において議論され、標準案として提案されたものであり、動き補償予測符号化とＤＣＴ（Discrete Cosine Transform ：離散コサイン変換）符号化とを組み合わせたハイブリッド方式が採用されている。
【０００６】
また、ＭＰＥＧ２方式では、様々なアプリケーションや機能に対応するために、いくつかのプロファイル及びレベルが定義されており、その最も基本となるものは、メインプロファイルメインレベル（MP@ML:Main Profile at Main Level）である。
【０００７】
ここで、ＭＰＥＧ２方式におけるメインプロファイルメインレベルを適用したエンコーダとしては、例えば、図２４に示すように構成されたものがある。
【０００８】
すなわち、図２４に示すエンコーダ１においては、外部から供給される圧縮符号化対象の動画像データを順次フレーム単位でフレームメモリ２に取り込み、当該取り込んだフレーム単位の画像データ（以下、これをフレーム画像データと呼ぶ）を一時記憶する。
【０００９】
この場合、フレームメモリ２に供給されるフレーム画像データは、ＭＰＥＧ２方式に従って輝度成分と２つの色差成分とから構成され、それぞれの画素値のビット精度（すなわち、色の階調の精度）として８ビットの精度をもった８ビット画像のみが供給可能なものとして定義されている。
【００１０】
因みに、フレーム画像データにおいて、８ビットの精度をもつということは、輝度成分と２つの色差成分とのそれぞれの値（すなわち、色の階調）の取り得る範囲が 0〜225 （256 階調）ということになる。
【００１１】
動きベクトル検出器３は、フレームメモリ２に記憶されたフレーム画像データを、例えば、16画素×16ライン等で構成されるマクロブロック単位で読み出し、当該読み出したマクロブロックのデータ（以下、これをマクロブロックデータと呼ぶ）の動きベクトルを検出する。
【００１２】
ここで、動きベクトル検出器３においては、各フレーム画像データを、Ｉ（Intra ）ピクチャ( フレーム内符号化画像）、Ｐ（Predictive）ピクチャ（前方予測符号化画像）又はＢ（Bidirectionally predictive）ピクチャ（両方向予測符号化画像）のうちのいずれかとして処理する。
【００１３】
因みに、動きベクトル検出器３においては、シーケンシャルに入力される各フレーム画像データを、Ｉピクチャ、Ｐピクチャ、Ｂピクチャのうちのいずれのピクチャとして処理するかが、例えば、予め定められている（例えば、連続するフレーム画像データがＩピクチャ，Ｂピクチャ，Ｐピクチャ，Ｂピクチャ，Ｐピクチャ，……，Ｂピクチャ，Ｐピクチャの並びとして処理される）。
【００１４】
実際上、動きベクトル検出器３は、フレームメモリ２に記憶されたフレーム画像データの中の、予め定められた所定の参照用のフレーム画像データ（以下、これを参照フレーム画像データと呼ぶ）を参照し、その参照フレーム画像データと、現在、圧縮符号化対象となっているフレーム画像データの16画素×16ラインのマクロブロックデータとをパターンマッチング（ブロックマッチング）することにより、そのマクロブロックデータの動きベクトルを検出する。
【００１５】
ここで、ＭＰＥＧ方式（ＭＰＥＧ１方式及びＭＰＥＧ２方式）においては、マクロブロックデータの符号化モードとして、イントラ符号化（フレーム内符号化）モード、前方予測符号化モード、後方予測符号化モード、両方向予測符号化モードの４種類が規定されている。
【００１６】
そして、Ｉピクチャのマクロブロックデータはイントラ符号化モードに従いイントラ符号化される。また、Ｐピクチャのマクロブロックデータはイントラ符号化モード又は前方予測符号化モードのいずれかに従いイントラ符号化又は前方予測符号化される。
【００１７】
さらに、Ｂピクチャのマクロブロックデータはイントラ符号化モード、前方予測符号化モード、後方予測符号化モード又は両方向予測符号化モードのいずれかに従いイントラ符号化、前方予測符号化、後方予測符号化又は両方向予測符号化される。因みに、これら符号化モードは同一のフレーム画像データ内であっても、マクロブロックデータ単位で選択し得るように規定されている。
【００１８】
このため、動きベクトル検出器３は、Ｉピクチャのマクロブロックデータについては符号化モードをイントラ符号化モードに設定し、そのマクロブロックデータの動きベクトルは検出せずに、イントラ符号化モードに設定したことを表す符号化モード情報を可変長符号化（VLC:Variable Length Coding）器４及び動き補償器５に送出する。
【００１９】
また、動きベクトル検出器３は、Ｐピクチャのマクロブロックデータについては前方予測を行うことにより当該マクロブロックデータの動きベクトルを検出すると共に、その前方予測を行うことにより生じる予測誤差と、圧縮符号化対象のマクロブロックデータ（Ｐピクチャのマクロブロックデータ）の例えば分散とを比較する。
【００２０】
そして、動きベクトル検出器３は、その比較の結果、マクロブロックデータの分散の方が予測誤差よりも小さいときには、符号化モードをイントラ符号化モードに設定して、これを表す符号化モード情報を可変長符号化器４及び動き補償器５に送出する。
【００２１】
これに対して、動きベクトル検出器３は、マクロブロックデータの分散よりも予測誤差の方が小さいときには、符号化モードを前方予測符号化モードに設定し、当該設定した前方符号化モードを表す符号化モード情報を、検出した動きベクトルと共に可変長符号化器４及び動き補償器５に送出する。
【００２２】
さらに、動きベクトル検出器３は、Ｂピクチャのマクロブロックデータについては、前方予測、後方予測及び両方向予測を行うことによりこれら前方予測、後方予測及び両方向予測毎にマクロブロックデータの動きベクトルを検出する。
【００２３】
この場合、動きベクトル検出器３は、前方予測、後方予測及び両方向予測によって生じた予測誤差のなかから最小の予測誤差（以下、これを最小予測誤差と呼ぶ）を検出し、当該検出した最小予測誤差と、圧縮符号化対象のマクロブロックデータ（Ｂピクチャのマクロブロックデータ）の、例えば分散とを比較する。
【００２４】
そして、動きベクトル検出器３は、その比較の結果、マクロブロックデータの分散の方が最小予測誤差よりも小さいときには、符号化モードをイントラ符号化モードに設定して、これを表す符号化モード情報を可変長符号化器４及び動き補償器５に送出する。
【００２５】
これに対して、動きベクトル検出器３は、マクロブロックデータの分散よりも最小予測誤差の方が小さいときには、符号化モードをその最小予測誤差が得られた前方予測、後方予測及び両方向予測に応じた前方予測符号化モード、後方予測符号化モード又は両方向予測符号化モードに設定し、当該設定した前方予測符号化モード、後方予測符号化モード又は両方向予測符号化モードを表す符号化モード情報を、対応する動きベクトルと共に可変長符号化器４及び動き補償器５に送出する。
【００２６】
動き補償器５は、動きベクトル検出器３から与えられる符号化モード情報及び動きベクトルに基づいて、フレームメモリ６からこれに記憶されている、圧縮符号化され、かつすでに局所復号化されたフレーム画像データ（以下、これを局所復号化フレーム画像データと呼ぶ）を読み出し、当該読み出した局所復号化フレーム画像データをマクロブロックデータの予測用のフレーム画像データ（以下、これを予測フレーム画像データと呼ぶ）として演算器７及び８に送出する。
【００２７】
演算器７は、動きベクトル検出器３がフレームメモリ２から読み出したマクロブロックデータと同一のマクロブロックデータをそのフレームメモリ２から読み出し、当該読み出したマクロブロックデータと、動き補償器５から与えられた予測フレーム画像データ内の対応するマクロブロックデータとの差分値を算出し、これを差分値データとしてＤＣＴ器９に送出する。
【００２８】
因みに、演算器７から得られる出力画像（ＤＣＴ器９への入力画像）の画素値のビット精度は、対応するマクロブロックデータ同士の差分値であるため８ビットから１ビット増えて９ビットとなり、その値の取り得る範囲は-255〜+255となる。
【００２９】
一方、動き補償器５は、動きベクトル検出器３から符号化モード情報のみが与えられたとき、符号化モードがイントラ符号化モードであるため、予測フレーム画像データを送出しない。
【００３０】
従って、演算器７（演算器８も同様）は、このとき、特に処理を行わずにフレームメモリ２から読み出したマクロブロックデータをそのまま差分値データとしてＤＣＴ器９に送出する。
【００３１】
ＤＣＴ器９は、演算器７から与えられた差分値データに対して離散コサイン変換処理（以下、これをＤＣＴ処理と呼ぶ）を施し、その結果得られた離散コサイン変換係数（以下、これをＤＣＴ係数と呼ぶ）を量子化器１０に送出する。
【００３２】
因みに、ＤＣＴ器９においては、ＭＰＥＧ方式の規定に従い16画素×16ラインからなるマクロブロックデータを、さらに８画素×８ラインからなるブロックに再分割し、これら８画素×８ラインのブロックのデータに対してＤＣＴ処理を行う。
【００３３】
また、ＤＣＴ器９においては、ＭＰＥＧ方式の規定に従い、差分値データにＤＣＴ処理を施すことにより、その差分値データの９ビットの精度を３ビット増加させた12ビットの精度のＤＣＴ係数を量子化器１０に送出している。因みに、かかるＤＣＴ係数の値の取り得る範囲は -2048〜＋2047となる。
【００３４】
量子化器１０は、バッファ１１から与えられるデータ蓄積量（バッファ１１に記憶されているデータの量）に対応して（バッファフィードバック）量子化スケールを設定し、当該設定した量子化スケールに基づいて、ＤＣＴ器９から与えられたＤＣＴ係数を量子化する。因みに、量子化器１０は、ＤＣＴ係数を量子化した結果生じる端数に対しては、例えば４捨５入といった丸め処理を施して整数化する。
【００３５】
ここで、量子化器１０においては、量子化スケールの値を決める際、線形量子化と非線型量子化との２つの方法がある。
【００３６】
図２５に示すように、量子化器１０においては、線形量子化を実行する場合、量子化スケールコードに対してその２倍の値を量子化スケールの値として用いるようにする。また、量子化器１０においては、非線型量子化を実行する場合、量子化スケールコードに対して非線型な量子化スケールの値を用いている。
【００３７】
すなわち、線形量子化において、量子化スケールコードと、量子化スケールの値とをグラフ化すると、図２６に示すようになり、これら量子化スケールコードと量子化スケールの値との関係は、量子化スケールコードをｑｓｃとし、量子化スケールをｑｓとすると、（１）式
【００３８】
【数１】
2010233274.tif 000003
【００３９】
で表すことができる。
【００４０】
また、非線形量子化において、量子化スケールコードと量子化スケールの値との関係をグラフ化すると、図２７に示すようになり、上述した（１）式と同様に量子化スケールコードをｑｓｃとし、量子化スケールをｑｓとすると、これら量子化スケールコードと量子化スケールの値との関係は、（２）式
【００４１】
【数２】
2010233274.tif 000004
【００４２】
で表される。
【００４３】
そして、非線形量子化においては、ＭＰＥＧ２方式の規定に従って量子化スケールコードを５ビットで表すため、その量子化スケールコードの上位２ビットからなる値をｋとし、残りの下位３ビットからなる値をｊとすると、上述した（２）式を（３）式
【００４４】
【数３】
2010233274.tif 000005
【００４５】
に代えて表すこともできる。因みに、ｋの値の取り得る範囲は０〜３であり、ｊの値の取り得る範囲は０〜７である。また、この（３）式では、ｋ＝ｊ＝０は禁止されている。
【００４６】
ところで、量子化器１０（図２４）においては、量子化スケールの値を直接指定するわけではなく、ＭＰＥＧ２方式の規定に従い、量子化スケールコードを指定し、線形量子化と、非線型量子化とのいずれを用いるのかに応じて、対応する（１）式、（２）式又は（３）式からその指定した量子化スケールコードに対応する量子化スケールの値を算出する。
【００４７】
因みに、量子化器１０においては、ＭＰＥＧ２方式の規定に従い線形量子化と非線形量子化とのいずれを用いるかをピクチャ単位で設定し得るようになされている。
【００４８】
また、量子化器１０においては、ＭＰＥＧ２方式の規定に従って量子化スケールコードを５ビットで表すため、その量子化スケールコードの値の取り得る範囲が１〜31（０は禁止されている）となり、線形量子化を用いたときに量子化スケールの値の取り得る範囲は２〜62となる（図２５）。
【００４９】
そして、量子化器１０においては、線形量子化を実行してＤＣＴ係数を量子化すると、その結果得られる量子化係数の値の取り得る範囲が、２の値の量子化スケールで -1024〜+1023 となり、また、62の値の量子化スケールでは -33〜+33 となる。
【００５０】
ところで、量子化器１０においては、量子化に用いた量子化スケールの値が比較的小さいと、その量子化の結果、値の比較的大きい量子化係数を送出するため、これに伴い可変長符号化器４において生成される符号の量が比較的多くなり、ビットレートが上がる。
【００５１】
これに対して、量子化器１０においては、量子化に用いた量子化スケールの値が比較的大きいと、その量子化の結果、値の比較的小さい量子化係数を送出するため、これに伴い可変長符号化器４において生成される符号の量が比較的少なくなり、ビットレートは小さくなる。このように、量子化スケールの値は、符号化後のビットレートに直接関わっている。
【００５２】
そして、量子化器１０においては、図２５からも明らかなように、線形量子化を用いると、量子化スケールの値として偶数の値しか用いることができないため、ビットレートを比較的高くしたいとき、すなわち、比較的小さい値の量子化スケールコードを指定するときにはビットレートを細かく調節し難くなる。
【００５３】
これとは逆に、量子化器１０においては、ビットレートを極端に下げたいときには、最高で62という値の量子化スケールまでしか用いることができないため、ビットレートを極端には下げられない。
【００５４】
そこで、ＭＰＥＧ２方式では、量子化の際に線形量子化に加えて非線形量子化をも用いることができるように規定されており、量子化器１０においては、図２５からも明らかなように、非線型量子化を実行する際、量子化スケールコードの値の小さい範囲（１〜８）では奇数の値の量子化スケールを用いることができるため、ビットレートをより細かく調節することができる。
【００５５】
また、量子化器１０においては、非線型量子化を実行する場合、量子化スケールコードの最大値31に対応させて 112の値の量子化スケールを用いることができるため、線形量子化を実行する場合に比べて、ビットレートをより低くすることができる。
【００５６】
因みに、量子化器１０においては、非線型量子化を実行してＤＣＴ係数を量子化すると、その結果得られる量子化係数の値の取り得る範囲が量子化スケールコードの値を１に指定したとき -2048〜+2047 となり、ＤＣＴ係数を量子化せずにそのまま可変長符号化器４に送出して符号化することと等価となる。
【００５７】
一方、量子化器１０においては、非線型量子化を実行して31の値の量子化スケールコードを指定したときには、量子化係数の値の取り得る範囲が -18〜+18 となり、ＭＰＥＧ２方式で規定されている符号化後の画質の最低レベルを確保するようになされている。
【００５８】
ただし、量子化器１０においては、上述した線形量子化と、非線形量子化とを用いるのは、動きベクトル検出器３で設定された符号化モードがイントラ符号化モードのときのマクロブロックデータのＤＣＴ係数の直流成分を除いた全ての交流成分に対してと、イントラ符号化モードのマクロブロックデータのＤＣＴ係数全てに対してである。
【００５９】
因みに、量子化器１０においては、イントラ符号化モードにおけるマクロブロックデータのＤＣＴ係数の直流成分に対してはピクチャ単位で指定されたイントラ符号化モードにおけるＤＣＴ係数の直流成分の量子化後のビット精度（量子化係数ビット精度）に応じて別途量子化する。
【００６０】
なお、イントラ符号化モードにおけるＤＣＴ係数の直流成分の量子化係数ビット精度としては、11ビット、10ビット、９ビット、８ビットのいずれかがピクチャ単位で決められており、量子化係数ビット精度が11ビットのときは、ＤＣＴ器９から与えられるＤＣＴ係数の直流成分を量子化器１０において量子化せずにそのまま可変長符号化器４に送出して符号化することと等価となる。
【００６１】
これは、ＭＰＥＧ２方式で規定されているＤＣＴ係数のビット精度をこれまで12ビットと記述してきたが、ＤＣＴ係数の直流成分は負値は取らず符号ビットが不要なため、実質11ビットで表現が可能だからである。
【００６２】
そして、量子化器１０においては、これら11ビット、10ビット、９ビット、８ビットの量子化係数ビット精度にそれぞれに対応する直流成分の量子化スケールの値が１，２，４，８となり、この量子化スケールを用いてイントラ符号化モードにおけるＤＣＴ係数の直流成分に対して線形量子化を行う。因みに、量子化器１０においては、イントラ符号化モードにおけるＤＣＴ係数の直流成分に対して量子化を行った結果、端数が生じると、これに例えば４捨５入といった丸め処理を施して整数化する。
【００６３】
このようにして、量子化器１０は、ＤＣＴ係数を量子化すると、その結果得られた量子化係数を、量子化に用いた量子化スケールの値と共に、可変長符号化器４に送出する。
【００６４】
可変長符号化器４は、量子化器１０から与えられた量子化係数を、例えばハフマン符号等の可変長符号に変換し、バッファ１１に送出する。
【００６５】
ここで、ＭＰＥＧ２方式によって規定されている量子化係数の可変長符号化方式を説明すると、可変長符号化器４は、量子化器１０から与えられた量子化係数をジグザグスキャニングして１次元情報に変換し、その１次元情報の低域係数から順次ゼロラン長＋レベル値のシンボル列に変換してそのシンボルそれぞれを低域から順に予め用意している可変長符号テーブルを参照して符号化する。
【００６６】
ところで、可変長符号化器４においては、全てのシンボルに対する可変長符号テーブルを予め用意しているわけではなく、出現頻度の低いシンボルに対しては可変長符号テーブルのエスケープコードを割り当て、このエスケープコードを割り当てたたシンボルに対しては、ゼロラン長とレベル値とを固定長符号として符号化する。
【００６７】
因みに、可変長符号化器４においては、ゼロラン長に対する固定長符号長を６ビットとし、レベル値に対する固定長符号長を12ビットとしており、これは、ゼロラン長の最大値が63であり、レベル値の範囲がＤＣＴ係数の範囲となる -2048〜+2047 （12ビット精度）であるからである。
【００６８】
また、可変長符号化器４は、量子化器１０から与えられる量子化スケールと、動きベクトル検出器３から与えられる符号化モード情報（イントラ符号化（フレーム内符号化）モード、前方予測符号化モード、後方予測符号化モード、又は両方向予測符号化モードのうちのいずれが設定されたかを示す情報）及び動きベクトルも可変長符号化し、得られた符号化データをバッファ１１に送出する。
【００６９】
バッファ１１は、可変長符号化器４から与えられた符号化データを一時蓄積することにより、そのデータ量を平滑化し、符号化ビットストリームとして、例えば、伝送路に出力し、又は記録媒体に記録する。
【００７０】
また、バッファ１１は、そのデータ蓄積量を量子化器１０に送出しており、量子化器１０は、このバッファ１１から与えられるデータ蓄積量に基づいて量子化スケールを設定する。
【００７１】
すなわち、量子化器１０は、バッファ１１がオーバーフローしそうなときには量子化スケールを比較的大きくして量子化係数のデータ量を低下させ、バッファ１１がアンダーフローしそうなときには、量子化スケールを比較的小さくして量子化係数のデータ量を増大させる。このようにして、量子化器１０は、バッファ１１のオーバフローとアンダフローを未然に防止し得るようになされている。
【００７２】
ところで、量子化器１０は、量子化係数と量子化スケールとを可変長符号化器４に加えて逆量子化器１２にも送出する。
【００７３】
逆量子化器１２は、量子化器１０から与えられる量子化係数を、同様に量子化器１０から与えられる量子化スケールに従って逆量子化することによりその量子化係数をＤＣＴ係数に変換し、そのＤＣＴ係数をＩＤＣＴ（Inverse Discrete Cosine Transform ）器１３に送出する。
【００７４】
ＩＤＣＴ器１３は、逆量子化器１２から与えられるＤＣＴ係数を逆ＤＣＴ処理し、得られたデータ（予測残差（差分値データ））を演算器８に送出する。
【００７５】
演算器８には、上述したように動き補償器５から演算器７に送出される予測フレーム画像データと同一の予測フレーム画像データが与えられており、ＩＤＣＴ器１３から与えられるデータ（予測残差（差分値データ））を、予測フレーム画像データに加算することにより元のフレーム画像データを局所復号化し、得られた局所復号化フレーム画像データをフレームメモリ６に送出して一時記憶させる。
【００７６】
因みに、演算器８は、符号化モードがイントラ符号化モードに設定されている場合、ＩＤＣＴ器１３から与えられるデータをそのまま局所復号化フレーム画像データとしてフレームメモリ６に送出して一時記憶させる。
【００７７】
なお、演算器８は、このようにして、フレームメモリ６に局所復号化フレーム画像データを更新するように一時記憶し、この結果、フレーム全面に渡って復号化したフレーム画像データ（以下、これを復号化フレーム画像データと呼ぶ）を構築する。そして、その復号化フレーム画像データは、後述するデコーダにおいて得られる復号化フレーム画像データと同一のものである。
【００７８】
また、フレームメモリ６に構築された復号化フレーム画像データは、その後、インター符号化（前方予測符号化、後方予測符号化、両方向予測符号化）されるフレーム画像データに対する参照フレーム画像データとして用いられる。
【００７９】
次いで、図２４について上述したエンコーダ１から与えられる符号化データを復号化し得る、ＭＰＥＧ２方式のメインプロファイルメインレベルが適用されたデコーダとしては、図２８に示すように構成されたものがある。
【００８０】
この図２８に示すように、デコーダ２０においては、伝送路を介して伝送されて受信装置（図示せず）によって受信された符号化ビットストリーム、又は記録媒体から再生装置（図示せず）によって再生された符号化ビットストリームをバッファ２１に取り込んで一時記憶する。
【００８１】
可変長復号化（IVLC:Inverse Variable Length Coding ）器２２は、バッファ２１からこれに記憶された符号化ビットストリームを所定単位の符号化データとして読み出し、当該読み出した符号化データを可変長復号化することにより当該符号化データをマクロブロック単位で動きベクトル、符号化モード情報、量子化スケール及び量子化係数に分離する。
【００８２】
そして、可変長復号化器２２は、マクロブロック単位で分離した動きベクトル、符号化モード情報、量子化スケール及び量子化係数のうちの動きベクトル及び符号化モード情報を動き補償器２３に送出し、量子化スケール及びマクロブロックの量子化係数を逆量子化器２４に送出する。
【００８３】
逆量子化器２４は、可変長復号化器２２から与えられるマクロブロック単位の量子化係数を、同様に可変長復号化器２２から与えられる量子化スケールに従って逆量子化し、得られたＤＣＴ係数をＩＤＣＴ器２５に送出する。
【００８４】
ＩＤＣＴ器２５は、逆量子化器２４から与えられるマクロブロック単位のＤＣＴ係数を逆ＤＣＴ処理し、得られたデータ（予測残差（差分値データ））を演算器２６に送出する。
【００８５】
また、動き補償器２３は、基本的には図２４について上述したエンコーダ１の動き補償器５と同様に動作し、このとき、可変長復号化器２２から与えられる動きベクトル及び符号化モード情報に基づいて、フレームメモリ２７からこれに記憶されている、すでに復号化されている復号化フレーム画像データを読み出し、当該読み出した復号化フレーム画像データを予測フレーム画像データとして演算器２６に送出する。
【００８６】
従って、演算器２６は、ＩＤＣＴ器２５から与えられるデータ（予測残差（差分値））と、動き補償器２３から与えられる対応する予測フレーム画像データとを加算することにより復号化フレーム画像データを生成し、これをフレームメモリ２７に送出して記憶させると共に、その元のフレーム画像の連続する再生画像データとして、例えば、所定のディスプレイに送出することにより当該ディスプレイにその再生画像データに基づく動画像を表示させる。
【００８７】
因みに、演算器２６は、ＩＤＣＴ器２５から与えられるデータがイントラ符号化されたものであるときには、そのデータをそのまま復号化フレーム画像データとしてフレームメモリ２７に送出して記憶させる。また、フレームメモリ２７は、記憶した復号化フレーム画像データを、その後復号化されるマクロブロック単位の符号化データに対する参照フレーム画像データとして用いられる。
【００８８】
なお、ＭＰＥＧ１及びＭＰＥＧ２方式においては、Ｂピクチャを参照フレーム画像データとしては用いないため、エンコーダ１（図２４）及びデコーダ２０（図２８）において、それぞれフレームメモリ６（図２４）及び２７（図２８）に記憶しないように規定されている。
【発明の概要】
【発明が解決しようとする課題】
【００８９】
ところで、図２４及び図２８について上述したエンコーダ１及びデコーダ２０は、ＭＰＥＧ２方式の規格に準拠したものである。そして、現在、ＭＰＥＧ２方式に代わる新たな圧縮符号化方式として、ＩＳＯ−ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ１１により、画像をこれを構成する物体などのオブジェクトであるビデオオブジェクト単位で圧縮符号化するＭＰＥＧ４と呼ばれる圧縮符号化方式の標準化作業が進められている。
【００９０】
すなわち、ＭＰＥＧ２方式においては、８ビットの精度の入力画像のみを圧縮符号化するように規定されており、その８ビットの精度の画像を家庭等で利用する場合には実用上十分な画質で表現することができる。
【００９１】
ところが、ＭＰＥＧ２方式においては、放送局や映像作成等のプロフェッショナルな現場での利用や、今後普及するディジタルシネマ等といった分野での利用に対しては、例えば、放送局では10ビット以上の精度の画質が要求され、ディジタルシネマでは最高で14ビットの精度が要求されているように、画像に８ビットよりも高いビット精度の画質が要求されているために対応し難くなっている。
【００９２】
このため、最近では、ＭＰＥＧ４方式により入力画像の精度を８ビットだけではなく、それ以上の、10ビット、12ビット、14ビットの精度等のＮビット精度の画像データを入力して圧縮符号化及び復号化することにより、より高い精度の画質を有する動画像を提供することが考えられている。
【００９３】
ところが、ＭＰＥＧ４方式を適用したエンコーダ及びデコーダにおいては、入力画像の精度を８ビットからＮビットに拡張し得るものの、そのエンコーダにおける量子化器及び可変長符号化器の構成と、デコーダにおける逆量子化器及び可変長復号化器の構成とが入力画像のＮビットの精度に応じた高精度のデータを得るようには拡張されていないため、放送局やディジタルシネマといった非常に高画質な画像が要求される分野で利用するには、未だ不十分な問題があった。
【００９４】
本発明は以上の点を考慮してなされたもので、入力画像の画質とほぼ同等の画質の画像を得ることのできる復号装置及びその方法を提案しようとするものである。
【課題を解決するための手段】
【００９５】
かかる課題を解決するため本発明においては、入力ビット精度の入力画像データを符号化して得られるビットストリームを復号する復号装置において、選択手段により、入力ビット精度に基づいて、複数の可変長符号化テーブルから可変長符号化テーブルを選択し、復号手段により、当該選択手段により選択された可変長符号化テーブルを用いて、ビットストリームを復号して量子化係数を生成し、逆量子化手段により、当該復号手段により生成された量子化係数を所定の量子化スケールを用いて逆量子化処理して直交変換係数を生成し、逆直交変換手段により、当該逆量子化手段により生成された直交変換係数を、演算ビット精度に応じて逆直交変換処理するようにした。
【００９６】
従って本発明では、圧縮符号化されている量子化係数を復号化して元の入力画像を生成するときに、その画質が劣化することを大幅に低減させることができる。
【００９７】
また、本発明においては、入力ビット精度の入力画像データを符号化して得られるビットストリームを復号する復号方法において、入力ビット精度に基づいて、複数の可変長符号化テーブルから可変長符号化テーブルを選択し、当該選択した可変長符号化テーブルを用いて、ビットストリームを復号して量子化係数を生成し、当該生成した量子化係数を所定の量子化スケールを用いて逆量子化処理して直交変換係数を生成し、当該生成した直交変換係数を、演算ビット精度に応じて逆直交変換処理するようにした。
【００９８】
従って本発明では、圧縮符号化されている量子化係数を復号化して元の入力画像を生成するときに、その画質が劣化することを大幅に低減させることができる。
【発明の効果】
【００９９】
本発明によれば、入力ビット精度の入力画像データを符号化して得られるビットストリームを復号する復号装置において、選択手段により、入力ビット精度に基づいて、複数の可変長符号化テーブルから可変長符号化テーブルを選択し、復号手段により、当該選択手段により選択された可変長符号化テーブルを用いて、ビットストリームを復号して量子化係数を生成し、逆量子化手段により、当該復号手段により生成された量子化係数を所定の量子化スケールを用いて逆量子化処理して直交変換係数を生成し、逆直交変換手段により、当該逆量子化手段により生成された直交変換係数を、演算ビット精度に応じて逆直交変換処理するようにしたことにより、圧縮符号化されている量子化係数を復号化して元の入力画像を生成するときに、その画質が劣化することを大幅に低減させることができる。
【０１００】
また本発明によれば、入力ビット精度の入力画像データを符号化して得られるビットストリームを復号する復号方法において、入力ビット精度に基づいて、複数の可変長符号化テーブルから可変長符号化テーブルを選択し、当該選択した可変長符号化テーブルを用いて、ビットストリームを復号して量子化係数を生成し、当該生成した量子化係数を所定の量子化スケールを用いて逆量子化処理して直交変換係数を生成し、当該生成した直交変換係数を、演算ビット精度に応じて逆直交変換処理するようにしたことにより、圧縮符号化されている量子化係数を復号化して元の入力画像を生成するときに、その画質が劣化することを大幅に低減させることができる。
【０１０１】
従って、このように、画質の劣化を防止し得る復号装置によれば、入力画像の圧縮符号化した後、復号して生成した画像の画質を入力画像の画質とほぼ同等にすることができる。
【０１０２】
そして、あらゆる入力ビット精度の入力画像を圧縮符号化する際に、要求される画質に応じて離散コサイン変換係数の出力ビット精度を可変にすることを可能にする量子化方式、可変長符号化方式を提供することができる。
【図面の簡単な説明】
【０１０３】
【図１】本発明によるエンコーダの構成の一実施の形態を示すブロック図である。
【図２】ＶＯＰの構成を示す略線図である。
【図３】ＤＣＴ係数のビット精度の変化に対する量子化区間の分割の説明に供する略線図である。
【図４】ＤＣＴ係数のビット精度の変化に対する量子化区間の分割の説明に供する略線図である。
【図５】ＤＣＴ係数のビット精度がＮ＋１＋αビットの場合における量子化スケールコードと量子化スケールとの関係の説明に供する略線図である。
【図６】入力画像の画素のビット精度に応じた可変長符号化テーブルの切り換えの説明に供するブロック図である。
【図７】ＤＣＴ係数に応じた可変長符号化テーブルの切り換えの説明に供するブロック図である。
【図８】入力画像の画素のビット精度と、ＤＣＴ係数とに応じた可変長符号化テーブルの切り換えの説明に供するブロック図である。
【図９】量子化スケールに応じた可変長符号化テーブルの切り換えの説明に供するブロック図である。
【図１０】量子化スケールと量子化係数のビット精度との関係の説明に供する略線図である。
【図１１】入力画像の画素のビット精度と、ＤＣＴ係数と、量子化スケールとの組み合わせに応じた可変長符号化テーブルの切り換えの説明に供するブロック図である。
【図１２】本発明によるデコーダの構成の一実施の形態を示すブロック図である。
【図１３】ＶＯＬのシンタックスを示す略線図である。
【図１４】ＶＯＰレイヤを示す略線図である。
【図１５】マクロブロックレイヤを示す略線図である。
【図１６】ＤＣＴ係数の直流成分の量子化係数精度と量子化スケールの関係の説明に供する略線図である。
【図１７】ブロックレイヤのシンタックスを示す略線図である。
【図１８】３Ｄ可変長符号化に用いる可変長符号化テーブルを示す略線図である。
【図１９】３Ｄ可変長符号化に用いる可変長符号化テーブルを示す略線図である。
【図２０】３Ｄ可変長符号化に用いる可変長符号化テーブルを示す略線図である。
【図２１】レベル長とラン長の符号化の説明に供する略線図である。
【図２２】bits＿per ＿pixel と dct＿precision と quantizer＿scale とによる可変長符号化テーブルの切り換えの説明に供する略線図である。
【図２３】bits＿per ＿pixel と dct＿precision と quantizer＿scale とによるレベル値の固定長符号長の切り換えの説明に供する略線図である。
【図２４】ＭＰＥＧ２方式を適用したエンコーダの構成を示すブロック図である。
【図２５】ＭＰＥＧ２方式の線形・非線形量子化方式の説明に供する略線図である。
【図２６】ＭＰＥＧ２方式における量子化スケールコードと量子化スケールとの関係を示す略線図である。
【図２７】ＭＰＥＧ２方式における量子化スケールコードと量子化スケールとの関係を示す略線図である。
【図２８】ＭＰＥＧ２方式を適用したデコーダの構成を示すブロック図である。
【発明を実施するための形態】
【０１０４】
以下図面について、発明を実施するための最良の形態（以下、これを実施の形態とも呼ぶ）について説明する。
【０１０５】
（１）原理
現在、ＭＰＥＧ４方式が適用されたエンコーダにおいては、供給される入力画像のビット精度（色の階調）を８ビット精度よりも高精度にし得るものの、その精度のビット数をＮとすると、ＤＣＴ器に入力される差分値データ（すなわち、演算器の出力データ）のビット精度がＮ＋１ビットであるとき、当該ＤＣＴ器から得られるＤＣＴ係数のビット精度はそのＮ＋１ビットから３ビット増えてＮ＋４ビットの精度となるように規定されている。
【０１０６】
そして、エンコーダにおいては、ＤＣＴ係数のビット精度によって、圧縮符号化後（量子化後）の動画像の画質の限界が決まるため、入力画像のビット精度に応じて圧縮符号化後の動画像の画質を高精度にするには、ＤＣＴ器から得られるＤＣＴ係数のビット精度を拡張させる必要がある。
【０１０７】
従って、本発明によるエンコーダにおいては、ＤＣＴ演算によって増加する精度のビット数をαとし、ＤＣＴ器から得られるＤＣＴ係数のビット精度をＮ＋１＋αビットとして、圧縮符号化後の動画像に対して要求される画質に応じてそのαの値を任意に設定し得るようになされている。因みに、ＭＰＥＧ４方式においては、そのαが３として固定されている。
【０１０８】
そして、本発明においては、エンコーダにおいて、Ｎビットの精度の入力画像を入力し得ると共に、αを任意に設定し得るようにしてＤＣＴ器から得られるＤＣＴ係数のビット精度をＮ＋４ビットからＮ＋１＋αビットに拡張する分、ＤＣＴ器の後段に設けられた量子化器及び可変長符号化器の構成と、当該エンコーダと対になるデコーダの逆量子化器及び逆可変長符号化器の構成とを、そのビット精度に応じて拡張するようにした。
【０１０９】
実際上、本発明においては、任意のＮビット精度の入力画像に対する任意のＮ＋１＋αビット精度のＤＣＴ係数に適用する量子化方式を、ＭＰＥＧ２方式で規定されている線形量子化方式及び非線形量子化方式を拡張して実現している。
【０１１０】
また、本発明においては、任意のＮビット精度の入力画像における、マクロブロックデータの符号化モードがイントラ符号化モードのときには、Ｎ＋αビット精度のＤＣＴ係数の直流成分に適用する量子化方式を、ＭＰＥＧ２方式で規定されているイントラ符号化モードのＤＣＴ係数の直流成分の量子化方式を拡張して実現する。
【０１１１】
因みに、本発明においては、量子化方式の拡張にあたり、ＭＰＥＧ２方式の量子化方式と互換性をもたせ、Ｎ＝８、α＝３の条件の元ではＭＰＥＧ２の量子化方式と同一になるようにした。
【０１１２】
また、比較的高いビットレートの場合においても、比較的細かくビットレートを調節し得るように、量子化スケールコードの値が比較的小さい範囲では、量子化スケールの刻み幅を細かくした。
【０１１３】
さらに、Ｎやαの値がどんなに大きくなっても、ＭＰＥＧ２方式のＮ＝８、α＝３の場合と同等のビットレートまで圧縮符号化が可能となるように、Ｎやαの値によらずに、量子化スケールの最大値を用いたときに量子化係数の取り得る値の範囲が同等となるようにした。
【０１１４】
このようにして、本発明においては、高精度の入力画像を処理して、高画質な画像を得るような場合でも、エンコーダ及びデコーダにおいて、処理に不具合が生じることを防止し得るようになされている。
【０１１５】
ところで、現在、ＭＰＥＧ４方式が適用されたエンコーダにおいては、Ｎ＋４ビットの精度のＤＣＴ係数を量子化器で量子化し、得られた量子化係数に対して可変長符号化器において単一の可変長符号化テーブルを用いて可変長符号化を行うように規定されているものの、量子化係数の出現確立の統計的性質が入力画像のビット精度を表すＮに応じて変わるため、設定し得る全ての入力画像のビット精度（Ｎ）に対して同一の可変長符号化テーブルを用いるのは圧縮符号化の効率上適切とは言えない。
【０１１６】
また、ＤＣＴ係数のビット精度を拡張してＮ＋１＋αビットとすると、量子化係数の出現確立の統計的性質がαに応じても変わるため、設定し得る全てのαに対しても同一の可変長符号化テーブルを用いるのは圧縮符号化の効率上適切とは言えない。
【０１１７】
さらに、ＤＣＴ係数のビット精度を拡張してＮ＋１＋αビットとすると、これに応じて量子化スケールも拡張する必要があるものの、量子化係数の出現確立の統計的性質がその量子化スケールに応じても変わるため、全ての量子化スケールに対して同一の可変長符号化テーブルを用いることも圧縮符号化の効率上適切とは言えない。
【０１１８】
従って、本発明においては、可変長符号化器において、入力画像のビット精度やＤＣＴ係数のビット精度、量子化スケール（すなわち量子化係数ビット精度）に応じて適切な可変長符号化テーブルを切り換えて用いることができるように、複数種類の可変長符号化テーブルをもたせて拡張するようにした。
【０１１９】
これにより、本発明においては、任意の入力画像のビット精度における任意のビット精度のＤＣＴ係数の量子化係数に適用される可変長符号化テーブルを、入力画像のビット精度やＤＣＴ係数のビット精度、量子化係数の取り得る範囲（すなわち、量子化スケールの値）に応じて適切なものを選択し得るようにし、かくして、可変長符号化テーブルを選択できない場合に比べて、より効率良く圧縮符号化し得るようになされている。
【０１２０】
（２）本実施の形態によるエンコーダの構成
図１において、３０は全体として本発明を適用したエンコーダを示し、外部から供給される入力画像の画像データをフレームメモリ３１に取り込み、当該フレームメモリ３１にその画像データをＶＯＰ（Video Object Plane：ビデオオブジェクトプレーン）として記憶する。
【０１２１】
ここで、図２に示すように、ＶＯＰは、形状情報をもったピクチャであり、その形状情報をあらわすデータと、ＶＯＰのサイズデータＦＳＺ＿Ｂと、フレームにおけるそのＶＯＰの位置を表すオフセットデータＦＰＯＳ＿Ｂと、ＶＯＰの画像データを表すテクスチャーデータとからなる。
【０１２２】
因みに、本発明においては、そのＶＯＰに対して形状情報を無視してもかまわないため、当該ＶＯＰをＭＰＥＧ２方式等で規定されているピクチャと同じものとして考える。
【０１２３】
また、このエンコーダ３０においては、フレームメモリ３１に記憶される画像データの画素値の精度（色の階調）を表すビット数をＮとし、当該画素値の取り得る範囲が０〜２Ｎ−１となる。そして、Ｎの取り得る値としては、通常利用される値として、８、10、12、14といった値があるが、本発明では任意の正の整数値を取り得るようになされている。
【０１２４】
そして、動きベクトル検出器３２（図１）は、フレームメモリ３１に記憶されたＶＯＰに対してマクロブロック単位で動きベクトルを検出する。
【０１２５】
ここで、ＶＯＰは、時刻（ピクチャ）によって、大きさや位置が変化するため、その動きベクトルの検出にあたっては、その検出のための基準となる絶対座標系を設定し、その絶対座標系における動きを検出する必要がある。
【０１２６】
従って、動きベクトル検出器３２は、フレーム座標系を基準となる絶対座標系とし、サイズデータＦＳＺ＿Ｂ及びオフセットデータＦＰＯＳ＿Ｂに基づいて、その絶対座標系に符号化対象のＶＯＰと、参照フレーム画像データとするＶＯＰとを配置し、動きベクトルを検出する。
【０１２７】
因みに、動きベクトル検出器３２は、検出した動きベクトル（ＭＶ）を符号化モード情報と共に形状情報符号化器５０、可変長符号化器３６及び動き補償器４２、量子化器３５及び逆量子化器３８に送出する。また、動き補償を行う場合においても、やはり上述した様に基準となる絶対座標系における動きベクトルを検出する必要があるため、動き補償器４２には、サイズデータＦＳＺ＿Ｂ及びオフセットデータＦＰＯＳ＿Ｂが供給されている。
【０１２８】
演算器３３には、図２４について上述したエンコーダ１（図２４）の演算器７（図２４）と同様に、動きベクトル検出器３２がフレームメモリ３１から読み出したフレーム画像データにおけるものと同一のマクロブロックデータが供給されており、そのマクロブロックデータと動き補償器４２から与えられる予測フレーム画像データとの差分を演算し、得られた差分値を差分値データとしてＤＣＴ器３４に送出する。
【０１２９】
ここで、演算器３３は、フレームメモリ３１から読み出したマクロブロックデータと、動き補償器４２から与えられる対応する予測フレーム画像データとの差分を演算して差分値データを生成することにより、その差分値データの取り得る範囲を−（２Ｎ−１）〜２Ｎ−１のように、入力画像の画素値の取り得る範囲の２倍にすることができる。
【０１３０】
従って、演算器３３は、ＤＣＴ器３４に送出する差分値データのビット精度を、入力画像の画素値のビット精度よりも１ビット増加させたＮ＋１ビットの精度とすることができる。
【０１３１】
動き補償器４２は、図２４について上述したエンコーダ１（図２４）の動き補償器５（図２４）と同様にして、符号化モード情報がイントラ符号化モードであるときには、演算器３３及び４０に予測フレーム画像データを送出しない。従って、演算器３３（演算器４０も同様）は、このとき特に処理を行わずにフレームメモリ３１から読み出したマクロブロックデータをそのままＤＣＴ器３４に送出する。
【０１３２】
ＤＣＴ器３４は、演算器３３から与えられる差分値データに対して８画素×８ラインからなるブロック単位でＤＣＴ処理を施し、得られたＤＣＴ係数を量子化器３５に送出する。
【０１３３】
ここで、ＤＣＴ器３４から得られるＤＣＴ係数、すなわち量子化器３５への入力値のビット精度はＮ＋１ビットからαビット増加したＮ＋１＋αビットとなり、そのＤＣＴ係数の値の取り得る範囲は−２Ｎ＋α〜２Ｎ＋α−１である。因みに、従来のＭＰＥＧ２方式においては、そのＤＣＴ係数におけるαを３と規定しているが、本発明では、そのαとして任意の正の整数値を適用し得るようになされている。
【０１３４】
量子化器３５は、図２４について上述したエンコーダ１（図２４）の量子化器１０（図２４）と同様に、ＤＣＴ器３４から与えられるＤＣＴ係数を量子化し、得られた量子化係数を可変長符号化器３６及び逆量子化器３８に送出する。
【０１３５】
実際上、量子化器３５においては、図２４について上述した量子化器１０のような、ＭＰＥＧ２方式の規定に従った８ビット精度の入力画像から得られる12ビット精度のＤＣＴ係数に対する線形量子化と非線形量子化とを、Ｎビット精度の入力画像から得られるＮ＋１＋αビット精度のＤＣＴ係数に対する線形量子化と、非線形量子化とに拡張している。
【０１３６】
まず、図２４について上述した量子化器１０においては、ＭＰＥＧ２方式に従って12ビット精度のＤＣＴ係数に対して５ビット長（１〜31）の量子化スケールコードを割り当てているのに対して、量子化器３５においては、ＤＣＴ係数のビット精度の増減に応じて量子化スケールコードのビット長も増減させる。
【０１３７】
すなわち、量子化器３５においては、例えば、８ビット精度の入力画像に対し、α＝５とした場合、ＭＰＥＧ２方式におけるα＝３よりもＤＣＴ係数のビット精度が２ビット多くなっているため、量子化スケールコードのビット長も２ビット多くし７ビットとする。因みに、このとき、量子化スケールコードの取り得る範囲は１〜 127となる。
【０１３８】
また、量子化器３５は、例えば、12ビット精度の入力画像に対してα＝６とした場合、ＭＰＥＧ２方式における入力ビット精度よりもＮが４ビット増加し、かつ、ＭＰＥＧ２方式におけるα＝３よりもＤＣＴ係数のビット精度が３ビット増加して合わせて７ビットの増加となるため、量子化スケールコードのビット長を７ビット多くした12ビットとする。因みに、このとき、量子化スケールコードの取り得る値の範囲は１〜4095となる。
【０１３９】
そして、量子化器３５における量子化スケールコードのビット長の可変を一般化すると、任意のＮとαに対して、その量子化スケールコードのビット長はＮ＋α−６となり、その値の取り得る範囲は１〜２Ｎ＋α−６−１となる。
【０１４０】
因みに、ＤＣＴ係数のビット精度が１２ビットよりも小さくなったときには、量子化スケールコードのビット長も５ビットより短くなる。
【０１４１】
次いで、量子化器３５において、ビット数の決定した量子化スケールコードを量子化スケールにマッピングする方法、すなわち、線形量子化と非線形量子化の方法について以下に説明する。
【０１４２】
量子化器３５においては、線形量子化を実行する場合、ＭＰＥＧ２方式の規定と同様に、量子化スケールコードを２倍にして量子化スケールを得ており、その線形量子化に用いる量子化スケールの値は単純に上に延びることになる。
【０１４３】
そして、量子化器３５においては、その線形量子化を実行することにより得られるＤＣＴ係数のビット精度、当該ＤＣＴ係数の最大値、量子化スケールコードの範囲、量子化スケールの範囲及び量子化後の量子化係数の最大値の範囲の例は以下のようになる。
【０１４４】
すなわち、Ｎ＝８、α＝３（ＭＰＥＧ２方式と同様）の条件では、ＤＣＴ係数の精度が12ビットとなり、ＤＣＴ係数の最大値が2047、量子化スケールコードの範囲が１〜31、量子化スケールの範囲が２〜62、量子化係数の最大値の範囲が33〜1023となる。
【０１４５】
また、Ｎ＝８、α＝６の条件では、ＤＣＴ係数の精度が15ビットとなり、ＤＣＴ係数の最大値が16383 、量子化スケールコードの範囲が１〜255 、量子化スケールの範囲が２〜510 、量子化係数の最大値の範囲が33〜8191となる。
【０１４６】
さらに、Ｎ＝12、α＝６の条件では、ＤＣＴ係数の精度が19ビットとなり、ＤＣＴ係数の最大値が262143、量子化スケールコードの範囲が１〜4095、量子化スケールの範囲が２〜8190、量子化係数の最大値の範囲が33〜131071となる。
【０１４７】
そして、これを一般化すると、Ｎ、αの条件では、ＤＣＴ係数の精度がＮ＋１＋αビットとなり、ＤＣＴ係数の最大値が２Ｎ＋α−１、量子化スケールコードの範囲が１〜２Ｎ＋α−６−１、量子化スケールの範囲が２〜２Ｎ＋α−５−２、量子化係数の最大値の範囲が33〜２Ｎ＋α−１−１となる。
【０１４８】
このようにして、量子化器３５においては、線形量子化を拡張した場合、ＭＰＥＧ２方式の線形符号化方式と互換性をもち、かつ、Ｎやαの値によらずに量子化スケールの最大値を用いたときに、そのＭＰＥＧ２方式と同等のビットレートまで圧縮符号化が可能であることが明らかである。
【０１４９】
因みに、一般化した線形量子化の方式は、量子化スケールコードをｑｓｃとし、量子化スケールをｑｓとすると、（４）式
【０１５０】
【数４】
2010233274.tif 000006
【０１５１】
で表される。
【０１５２】
一方、量子化器３５においては、線形量子化を実行する場合、量子化スケールコードの増加によって量子化スケールの値を単純に上に伸ばしたが、非線形量子化を実行する場合には、拡張の仕方を正しく定義しないと、実現し得るビットレートやＭＰＥＧ２方式の非線形量子化との互換性を保てなくなることがある。
【０１５３】
従って、この量子化器３５においては、所望するビットレートを実現し、かつＭＰＥＧ２方式の非線形量子化との互換性を保つという目的を満たすように非線形量子化方式を拡張している。
【０１５４】
すなわち、量子化器３５においては、非線形量子化を実行する場合、量子化スケールコードのビット長の増加に従って、図２６について上述したＭＰＥＧ２方式における12ビット精度のＤＣＴ係数の生成に用いられる非線形量子化カーブの刻み幅を等間隔に細かくする。
【０１５５】
例えば、量子化器３５においては、ＤＣＴ係数のビット精度が13ビットになったときは、図３に示すように、量子化スケールコードの刻み幅を２１＝２つに分けて細かくする。
【０１５６】
これにより、量子化器３５においては、量子化スケールコードの刻みの数を２倍にしたものに＋２１−１を加算して63個とし、小さいほうから順に小さい量子化スケールコードを割り当てると共に、量子化スケール軸上の値を２倍にする。
【０１５７】
かくして、量子化器３５においては、新しい量子化スケールコードに対応した量子化スケールが13ビット精度のＤＣＴ係数に対する非線形量子化における量子化スケールとなる。
【０１５８】
また、量子化器３５においては、例えば、ＤＣＴ係数のビット精度が14ビット精度となったときは、図４に示す様に量子化スケールコードの刻み幅を２２＝４つに分けて細かくする。
【０１５９】
これにより、量子化器３５においては、量子化スケールコードの刻みの数を４倍したものに＋２２−１を加算して127 個とし、小さいほうから順に小さい量子化スケールコードを割り当てると共に、量子化スケール軸上の値を４倍にする。
【０１６０】
かくして、量子化器３５においては、新しい量子化スケールコードに対応した量子化スケールが14ビット精度のＤＣＴ係数に対する非線形量子化における量子化スケールとなる。
【０１６１】
そして、量子化器３５においては、その非線形量子化の定義を一般化すると、ＤＣＴ係数のビット精度がＮ＋１＋αビット精度となった場合は、図５に示すように、量子化スケールコードの刻みを２Ｎ＋α−11個に等間隔に分けて細かくする。
【０１６２】
これにより、量子化器３５においては、量子化スケールコードの刻みの数を２Ｎ＋α−11倍＋２Ｎ＋α−11−１の（２Ｎ＋α−６−１）個とし、小さいほうから順に小さい量子化スケールコードを割り当てると共に、量子化スケール軸上の値を２Ｎ＋α−11倍にする。
【０１６３】
因みに、刻みの数に２Ｎ＋α−11−１を加えているが、これは刻みの総数を（２Ｎ＋α−６−１）個にするためであり、この加えられた刻みは、量子化スケールコードの最大値方向に付け加えられる。
【０１６４】
かくして、量子化器３５においては、新しい量子化スケールコードに対応した量子化スケールがＮ＋１＋αビット精度のＤＣＴ係数に対する非線形量子化における量子化スケールとなる。
【０１６５】
ところで、量子化器３５においては、ＤＣＴ係数のビット精度が12ビットよりも小さくなったときには、その分だけ図２６について上述した量子化スケールコードの刻みを統合する。
【０１６６】
すなわち、ＤＣＴ係数のビット精度が11ビットのときには、量子化スケールコードが４ビット長となり、図２６について上述した量子化スケールコードの刻みのうち、隣り合う２つずつを統合すれば良い。また、ＤＣＴ係数のビット精度が10ビットの場合には、量子化スケールコードは３ビット長となり、図２６について上述した量子化スケールコードの刻みのうち、隣り合う４つずつを統合すれば良い。
【０１６７】
そして、量子化器３５においては、その非線形量子化を実行することにより得られるＤＣＴ係数のビット精度、当該ＤＣＴ係数の最大値、量子化スケールコードの範囲、量子化スケールの範囲及び量子化後の量子化係数の最大値の範囲の例は以下のようになる。
【０１６８】
すなわち、Ｎ＝８、α＝３（ＭＰＥＧ２方式と同様）の条件では、ＤＣＴ係数の精度が12ビットとなり、ＤＣＴ係数の最大値が2047、量子化スケールコードの範囲が１〜31、量子化スケールの範囲が１〜112 、量子化係数の最大値の範囲が18〜2047となる。
【０１６９】
また、Ｎ＝８、α＝６の条件では、ＤＣＴ係数の精度が15ビットとなり、ＤＣＴ係数の最大値が16383 、量子化スケールコードの範囲が１〜255 、量子化スケールの範囲が１〜952 、量子化係数の最大値の範囲が18〜16383 となる。
【０１７０】
さらに、Ｎ＝12、α＝６の条件では、ＤＣＴ係数の精度が19ビットとなり、ＤＣＴ係数の最大値が262143、量子化スケールコードの範囲が１〜4095、量子化スケールの範囲が１〜15352 、量子化係数の最大値の範囲が18〜262143となる。
【０１７１】
そして、これを一般化すると、Ｎ、αの条件では、ＤＣＴ係数の精度がＮ＋１＋αビットとなり、ＤＣＴ係数の最大値が２Ｎ＋α−１、量子化スケールコードの範囲が１〜２Ｎ＋α−６−１、量子化スケールの範囲が１〜120 ×２Ｎ＋α−11−８、量子化係数の最大値の範囲が18〜２Ｎ＋α−１となる。
【０１７２】
このようにして、量子化器３５においては、非線形量子化を拡張した場合、ＭＰＥＧ２方式の非線形符号化方式と互換性をもち、かつ、比較的高いビットレートの場合において量子化スケールの刻み幅を細かく取ることができ、さらに、Ｎやαの値によらずに量子化スケールの最大値を用いたときに、そのＭＰＥＧ２方式と同等のビットレートまで圧縮符号化が可能であることが明らかである。
【０１７３】
因みに、一般化した非線形量子化の方式は、量子化スケールコードをｑｓｃとし、量子化に実際に用いられる量子化スケールをｑｓとすると、（５）式
【０１７４】
【数５】
2010233274.tif 000007
【０１７５】
で表される。
【０１７６】
また、量子化器３５においては、量子化スケールコードをＮ＋α−６ビットで表すため、その上位２ビットからなる値をｋ、残りのＮ＋α−８ビットからなる値をｊとすると、上述した（５）式を（６）式
【０１７７】
【数６】
2010233274.tif 000008
【０１７８】
に変えて表すことができる。因みに、ｋの値の取り得る範囲は０〜３であり、ｊの値の取り得る範囲は０〜２Ｎ＋α−８−１である。そして、ｋ＝ｊ＝０は禁止されている。
【０１７９】
ところで、量子化器３５においては、マクロブロックデータの符号化モードがイントラ符号化モードに設定された場合、ＤＣＴ係数の直流成分に対しては、ＭＰＥＧ２方式に従った８ビット精度の入力画像から得られる12ビット精度のＤＣＴ係数の直流成分を量子化した後のビット精度の規定を、Ｎビット精度の入力画像から得られるＮ＋１＋αビット精度のＤＣＴ係数の直流成分を量子化した後のビット精度の規定に拡張する。
【０１８０】
すなわち、量子化器３５においては、量子化係数のビット精度を拡張する際、ＭＰＥＧ２方式に従うと11ビット精度のＤＣＴ係数の直流成分に対して11ビット、10ビット、９ビット、８ビット精度の４種類の量子化係数をピクチャ単位で選択することができた。
【０１８１】
そして、量子化器３５においては、それぞれのビット精度において量子化係数の取り得る範囲が０〜2047、０〜1023、０〜511 、０〜255 となり、ＤＣＴ係数のビット精度の増減に応じて直流成分の量子化係数のビット精度の種類も増減させる。
【０１８２】
この場合、量子化器３５においては、例えば、８ビット精度の入力画像に対してα＝５とした場合、ＭＰＥＧ２方式におけるα＝３よりもＤＣＴ係数のビット精度が２ビット多くなっているため、量子化係数のビット精度の種類も、ビット精度が増える方向に２つ増やして、13ビット、12ビット、11ビット、10ビット、９ビット、８ビットとする。
【０１８３】
そして、量子化器３５においては、それぞれのビット精度で量子化係数の取り得る範囲が０〜8191、０〜4095、０〜2047、０〜1023、０〜511 、０〜255 となる。すなわち、これは、量子化器３５からＤＣＴ係数をそのまま量子化係数として可変長符号化器３６に送出することもできるし、ＤＣＴ係数のビット精度が増加してもＭＰＥＧ２方式と同程度のビットレート（量子化係数が８ビットの精度）まで圧縮符号化が可能であることを表している。
【０１８４】
また、量子化器３５においては、例えば、12ビット精度の入力画像に対してα＝６とした場合、ＭＰＥＧ２方式における入力画像のビット精度よりも４ビット増加し、かつ、ＭＰＥＧ２方式におけるα＝３よりもＤＣＴ係数のビット精度が３ビット増加して合わせて７ビットとの増加となるため、量子化係数のビット精度の種類も、ビット精度が増える方向に７つ増やして、18ビット、17ビット、16ビット、15ビット、14ビット、13ビット、12ビット、11ビット、10ビット、９ビット、８ビットとする。
【０１８５】
そして、量子化器３５においては、それぞれのビット精度で量子化係数の取り得る範囲が、０〜262143、０〜131071、０〜65535 、０〜32767 、０〜16383 、０〜8191、０〜4095、０〜2047、０〜1023、０〜511 、０〜255 となる。すなわち、これは量子化器３５からＤＣＴ係数をそのまま量子化係数として可変長符号化器３６に送出することもできるし、ＤＣＴ係数のビット精度が増加してもＭＰＥＧ２方式と同程度のビットレート（量子化係数が８ビットの精度）まで圧縮符号化が可能であることを表している。
【０１８６】
ところで、量子化器３５においては、そのＤＣＴ係数の直流成分の量子化精度を一般化すると、Ｎビット精度の入力画像に対してＤＣＴ係数の直流成分のビット精度をＮ＋αビット（符号ビットを含めるとＮ＋１＋αビット精度）とした場合、量子化係数のビット精度の種類をＮ＋αビット、Ｎ＋α−１ビット、Ｎ＋α−２ビット、……、９ビット、８ビットとする。
【０１８７】
そして、量子化器３５においては、それぞれのビット精度で量子化係数の取り得る範囲が０〜２Ｎ＋α−１、０〜２Ｎ＋α−１−１、０〜２Ｎ＋α−２−１、……、０〜511 、０〜255 となる。
【０１８８】
すなわち、これは量子化器３５からＤＣＴ係数をそのまま量子化係数として可変長符号化器３６に送出することもできるし、ＤＣＴ係数のビット精度が増加してもＭＰＥＧ２方式と同程度のビットレート（量子化係数が８ビットの精度）まで圧縮符号化が可能であることを表している。
【０１８９】
このようにして、量子化器３５においては、ＤＣＴ係数の直流成分を量子化方式を拡張した場合、ＭＰＥＧ２方式によるＤＣＴ係数の直流成分の量子化方式と互換性をもち、かつ、Ｎやαの値によらずに量子化係数精度の最小値を用いたときにそのＭＰＥＧ２方式と同等のビットレートまで圧縮符号化が可能であることが明らかである。なお、このとき量子化器３５においては、比較的高いビットレートの場合において量子化スケールの刻み幅を細かくするような考慮は必要ない。
【０１９０】
ところで、逆量子化器３８（図１）は、量子化器３５から与えられる８画素×８ラインのブロック単位で量子化されたＤＣＴ係数（すなわち、量子化係数）を逆量子化し、ＩＤＣＴ器３９に送出する。
【０１９１】
ここで、逆量子化器３８は、量子化係数を逆量子化する際、上述した量子化器３５と同様の値でなる量子化スケールコードを用い、かつ、量子化器３５と同様の線形量子化及び非線形量子化のうちの同じ方式を用いて量子化スケールを算出し、当該算出した量子化スケールを用いて逆量子化を行う。
【０１９２】
また、マクロブロックの予測モードがイントラ符号化モードの場合におけるＤＣＴ直流係数の逆量子化方式は、上記ＤＣＴ直流係数の量子化方式の逆を実行する。
【０１９３】
ＩＤＣＴ器３９は、図２４のＩＤＣＴ器３９と同様に動作し、逆量子化器３８より逆量子化されたＤＣＴ係数を、ＩＤＣＴ処理して演算器４０に出力する。
【０１９４】
演算器４０には、ＩＤＣＴ器３９の出力データの他、動き補償器４２から、演算器３３に供給されている予測画像と同一のデータが供給されている。演算器４０は、ＩＤＣＴ器３９の出力データ（予測残差（差分データ））と、動き補償器４２からの予測画像データとを加算することで、元のフレーム画像データを局所復号し、得られた局所復号フレーム画像データ（局所復号画像データ）をテクスチャ（texture ）情報としてパディング（padding ）処理器５１に送出する。
【０１９５】
ただし、演算器４０は、予測モードがイントラ符号化である場合には、ＩＤＣＴ器３９から与えられる出力データをそのまま局所復号フレーム画像データでなるテクスチャ情報としてパディング処理器５１に送出する。
【０１９６】
一方、形状情報符号化器５０には、外部から形状信号（キー信号）、サイズデータＦＳＺ＿Ｂ、オフセットデータＦＰＯＳ＿Ｂが供給されると共に、動きベクトル検出器３２から動きベクトルと符号化モード情報が与えられる。
【０１９７】
そして、形状情報符号化器５０は、ＭＰＥＧ４方式の規定に従い、形状情報の符号化を行い、当該符号化した形状情報を形状情報復号化器５２及び可変長符号化器３６に送出する。
【０１９８】
形状情報復号化器５２は、形状情報符号化器５０から与えられる符号化されている形状情報の局所復号化を行い、そのデータをパディング処理器５１及び可変長符号化器３６に送出する。
【０１９９】
パディング処理器５１は、ＭＰＥＧ４方式の規定に従い、テクスチャ情報に対してパディング処理を行い、当該パディングしたテクスチャ情報をフレームメモリ４１に送出して記憶する。
【０２００】
これにより、フレームメモリ４１に記憶されたテクスチャ情報は、その後、インター符号化（前方向予測符号化、後方向予測符号化、両方向予測符号化）される画像に対する予測フレーム画像データとして用いられる。
【０２０１】
すなわち、動き補償器４２は、フレームメモリ４１に記憶された画像データを、前方向予測に用いる画像、または後方向予測に用いる画像データとして、出力することになる。一方、動き補償器４２は、動き補償参照画像指示信号により指定される画像（フレームメモリ４１に記憶されている局所復号された画像でなるテクスチャ情報）に対して、動きベクトル検出器３２から与えられる符号化モード情報及び動きベクトルに基づいて動き補償を施すことにより予測フレーム画像データを生成し、これを演算器３３及び４０に送出する。
【０２０２】
すなわち、動き補償器４２は、前方予測符号化モード、後方予測符号化モード及び両方向予測符号化モードの時のみ、フレームメモリ４１の読み出しアドレスを、演算器３３に対して現在出力しているブロックの位置に対応する位置から動きベクトルに対応する分だけずらし、当該フレームメモリ４１から前方向予測符号化又は後方向予測符号化に用いる対応する予測フレーム画像データを読み出す。
【０２０３】
そして、動き補償器４２は、その予測フレーム画像データを演算器３３及び４０に送出する。
【０２０４】
因みに、動き補償器４２は、両方向予測符号化モードの時は、前方予測符号化と後方予測符号化に用いる予測フレーム画像データの両方を読み出し、例えば、その読み出した予測フレーム画像データの平均値を予測データとして演算器３３及び４０に送出する。
【０２０５】
これにより、演算器３３は、フレームメモリ３１から読み出した所定ブロック（マクロブロック）単位のフレーム画像データから、動き補償器４２から与えられる対応する予測画像データを減算し、かくして、差分値データを生成する。
【０２０６】
また、演算器４０は、前方予測符号化モード、後方予測符号化モード及び両方向予測符号化モードの場合、動き補償器４２から与えられる予測フレーム画像データに加えて、予測フレーム画像データによって差分化された差分値データが逆ＤＣＴ器３９から与えられる。
【０２０７】
従って、演算器４０は、その差分値データを動き補償器４２から与えられる予測フレーム画像データに加算し、これにより局所復号を行い、テクスチャ情報を生成する。
【０２０８】
因みに、このテクスチャ情報は、局所復号化フレーム画像データであり、後述するデコーダで復号化して得られる画像データと全く同一のデータであり、上述したように、次ぎの処理画像に対して、前方予測符号化モード、後方予測符号化モード及び両方向予測符号化モードを行う時に用いる予測フレーム画像データとしてフレームメモリ４１に記憶される。
【０２０９】
また、演算器４０は、符号化モードがイントラ符号化モードである場合、画像データそのものが逆ＤＣＴ器３９から与えられるため、その画像データをそのままテクスチャ情報としてパディング処理器５１に送出する。
【０２１０】
一方、可変長符号化器３６は、量子化係数、量子化スケールコード、動きベクトル及び符号化モード情報が与えられると共に、サイズデータＦＳＺ＿Ｂ及びオフセットデータＦＰＯＳ＿Ｂも与えられる。従って、可変長符号化器３６は、これらのデータ全てを可変長符号化する。
【０２１１】
ここで、可変長符号化器３６の構成を、量子化係数の可変長符号化方式に基づいて以下に説明する。
【０２１２】
ＭＰＥＧ２方式においては、８ビット精度の入力画像に対する12ビット精度のＤＣＴ係数に対して、単一の可変長符号化テーブル（可変長符号コードの組み合わせ）を用いて符号化を行うように規定されている。
【０２１３】
また、可変長符号化器３６に与えられる量子化係数の値（もしくは値の組み合わせ）が可変長符号化テーブルで定義されている値（もしくは値の組み合わせ）の範囲外であるときには、その可変長符号化テーブルで定義されているエスケープコードを用いてその値（もしくは値の組み合わせ）を固定長符号として処理する。すなわち、このエスケープコードは比較的出現確立の低い量子化係数の値（もしくは値の組み合わせ）であり、可変長符号化するよりも固定長符号化した方が良いからである。
【０２１４】
ここで、可変長符号化器３６においては、そのＭＰＥＧ２方式の機能を拡張しており、Ｎビット精度の入力画像から得られたＮ＋１＋αビット精度のＤＣＴ係数が量子化され、その結果得られた量子化係数を可変長符号化している。
【０２１５】
また、可変長符号化器３６においては、エスケープコードが用いられた場合に付加される固定長符号に対しても、その長さを入力画像のビット精度やＤＣＴ係数のビット精度に応じて変化させるようになされている。これに加えて、量子化スケールの値に応じてもその符号化方式を変更し得るようになされている。
【０２１６】
まず、可変長符号化器３６においては、入力画像のビット精度に応じて可変長符号化テーブルを変更する場合について説明する。これは、入力ビット精度に応じて量子化係数の出現確立の統計的性質も変わることに対処し、かつ、その出現確立からエスケープコードで扱う値の範囲を変更して画質の劣化を未然に防止するものである。
【０２１７】
ここで、図６は、可変長符号化器３６において、入力画像のビット精度に応じて可変長符号化テーブルを変更し得る構成を示すものであり、本来、可変長符号化器３６の内部のメモリに格納されている複数種類の可変長符号化テーブルを説明を簡易化するために、その可変長符号化器３６の外部に描いて示している。
【０２１８】
可変長符号化器３６においては、例えば、ＤＣＴ器３４の出力であるＤＣＴ係数の精度がα＝３に固定された場合を考えると、入力画像の画素のビット精度Ｎに対するＤＣＴ係数のビット精度がＮ＋４となり、そのＮ＋４ビット精度のＤＣＴ係数が量子化器３５において量子化されることにより得られた量子化係数が与えられる。
【０２１９】
この場合、可変長符号化器３６においては、予め入力画像の画素のビット精度に適した複数種類の可変長符号化テーブルを内部のメモリに格納されており、入力画像の画素のビット精度Ｎの値によって、量子化係数に適用する可変長符号化テーブルとエスケープコードに続く固定長符号の長さを変え得るようになされている。
【０２２０】
これにより、可変長符号化器３６においては、入力ビット精度の変化に応じて変わる量子化係数の出現確立の統計的性質に適確に対応してその量子化係数を圧縮符号化することができ、かくして、符号化処理により画質が劣化することを未然に防止し得るようになされている。
【０２２１】
また、可変長符号化器３６においては、このとき、量子化係数のレベル値の取り得る範囲が−２Ｎ＋３〜２Ｎ＋３−１であり、レベル値を表すための固定長符号長がＮ＋４ビットあれば必要十分であるため、Ｎの値に応じて固定長符号の長さを変えることで固定長符号に無駄なビットを充てなくてすむようにし、かくして、画質の劣化を未然に防止し得るようになされている。
【０２２２】
因みに、図６は、α＝３の場合の例を示したが、α＝ａに対してもレベル値を表すための固定長符号長はＮ＋１＋ａビットあれば必要十分である。
【０２２３】
すなわち、エンコーダ３０において、例えばＮ＝８ビット、10ビット、12ビットの３種類の画素ビット精度の入力画像を扱え、かつα＝６であった場合、可変長符号化器３６においては、３種類（それぞれＮ＝８、10、12用）の可変長符号化テーブルを持ち、かつ、レベル値を表すための固定長符号長を15、17、19とすればよい。
【０２２４】
次いで、可変長符号化器３６においては、入力画像の画素のビット精度をＮ＝ｎとし、ｎ＋１＋αビット精度のＤＣＴ係数を符号化する際の可変長符号化テーブルをαの値に応じて変更する場合について説明する。これは、ＤＣＴ係数のビット精度に応じて量子化係数の出現確立及び統計的性質が変わることに対処し、かつ、その出現確立からエスケープコードで扱う値の範囲を変更して画質の劣化を未然に防止するものである。
【０２２５】
ここで、図７は、可変長符号化器３６において、ＤＣＴ係数のビット精度のαに応じて可変長符号化テーブルを変更し得る構成を示すものであり、本来、可変長符号化器３６の内部のメモリに格納されている複数種類の可変長符号化テーブルを説明を簡易化するために、その可変長符号化器３６の外部に描いて示している。
【０２２６】
可変長符号化器３６においては、例えば、入力画像の画素のビット精度をＮ＝８に固定した場合を考えると、ＤＣＴ係数のビット精度は９＋αとなり、その９＋αビット精度のＤＣＴ係数が量子化器３５において量子化されることにより得られた量子化係数が与えられる。
【０２２７】
この場合、可変長符号化器３６は、ＤＣＴ器３４から出力されるＤＣＴ係数のビット精度、この場合は、αの値によって、量子化係数に適用する可変長符号化テーブルと、エスケープコードに続く固定長符号のレベル値の長さを変えるようになされている。
【０２２８】
すなわち、可変長符号化器３６は、可変長符号化テーブルとして、ＤＣＴ係数ビット精度に適したものを予め内部のメモリに格納しており、ＤＣＴ係数のビット精度αに基づいて、量子化係数に適用する可変長符号化テーブルとエスケープコードに続く固定長符号の長さとを変え得るようになされている。
【０２２９】
これにより、可変長符号化器３６においては、ＤＣＴ係数ビット精度の変化で変わる量子化係数の出現確立及び統計的性質に適確に対応してその量子化係数を圧縮符号化することができ、かくして、符号化処理により画質が劣化することを未然に防止し得るようになされている。
【０２３０】
また、可変長符号化器３６においては、量子化係数のレベル値の取り得る範囲が−28＋α〜28＋α−１であるため、レベル値を表すための固定長符号長が９＋αビットあれば必要十分であり、αの値に応じて固定長符号の長さを変えることで固定長符号に無駄なビットを充てなくてすむようにし、かくして、画質の劣化を未然に防止し得るようになされている。
【０２３１】
因みに、図７は、Ｎ＝８の場合の例を示したが、Ｎ＝ｎに対してもレベルを表すための固定長符号長はｎ＋１＋αビットあれば必要十分である。
【０２３２】
すなわち、エンコーダ３０においては、Ｎ＝10であり、例えばα＝３、４、５の３種類のＤＣＴ係数のビット精度の入力画像を扱えるとした場合、可変長符号化器３６において、３種類（それぞれα＝３、４、５用）の可変長符号化テーブルを持ち、かつ、レベル値を表すための固定長符号長を14、15、16とすればよい。
【０２３３】
ここで、図６及び図７について上述した可変長符号化器３６においては、個別の入力画像の画素のビット精度ＮとＤＣＴ係数のビット精度αの値にそれぞれ応じて可変長符号化テーブルと、量子化係数のレベル値を表す固定長符号長を適宜切り換える場合について説明したが、この２つの可変長符号化方式を組み合わせることも可能である。
【０２３４】
すなわち、図８は、説明を簡易化するために、複数種類の可変長符号化テーブルを可変長符号化器３６の外部に描いて示したものであるが、かかる可変長符号化器３６においては、入力画像の画素のビット精度ＮとＤＣＴ係数のビット精度αの両方を考慮して可変長符号化テーブルと、固定長符号長を適宜切り換えるようになされている。因みに、この可変長符号化器３６における固定長符号長はＮ＋１＋αとなる。
【０２３５】
ところで、可変長符号化器３６においては、入力画像の画素のビット精度をＮ＝ｎとし、かつ、α＝ａにおけるＤＣＴ係数のビット精度をｎ＋１＋ａとして、ＤＣＴ係数を量子化するときに用いた量子化スケールの値に応じて、その量子化によって得られた量子化係数を可変長符号化するための可変長符号化テーブルと、レベル値の固定長符号長を変更する場合について説明する。これは、量子化スケールの値に応じて量子化係数の出現確立の統計的性質が変わることに対処し、かつ、その出現確立からエスケープコードで扱う値の範囲を変更して画質が劣化することを未然に防止するものである。
【０２３６】
ここで、図９は、可変長符号化器３６において、量子化スケールの値に応じて可変長符号化テーブルを変更し得る構成を示すものであり、本来、可変長符号化器３６の内部のメモリに格納されている複数種類の可変長符号化テーブルを説明を簡易化するために、その可変長符号化器３６の外部に描いて示している。
【０２３７】
可変長符号化器３６においては、例えば、入力画像の画素のビット精度をＮ＝８とし、α＝３に固定した場合を考えると、ＤＣＴ係数のビット精度は12となり、その12ビット精度のＤＣＴ係数が量子化器３５において量子化されることにより得られた量子化係数が与えられる。
【０２３８】
そして、可変長符号化器３６においては、量子化器３５への入力であるＤＣＴ係数の値の取り得る範囲が-2048 〜+2047 であり、このとき、量子化スケールが１の場合には、量子化係数の値の取り得る範囲が-2048 〜+2047 であり、量子化スケールが１の場合の量子化係数のビット精度は12ビットとなる。
【０２３９】
また、可変長符号化器３６においては、量子化スケールが２の場合、量子化係数の取り得る範囲が-1024 〜+1023 であり、量子化係数のビット精度が11ビットとなる。さらに、可変長符号化器３６においては、量子化スケールが４の場合、量子化係数の取り得る範囲が-512〜+511であり、量子化係数のビット精度が10ビットとなる。
【０２４０】
図１０に、量子化スケールの値による量子化係数のビット精度を示す。この場合、量子化スケールにおいては、そのグループ毎にそれぞれに異なる可変長符号化テーブルとレベル値の固定長符号長が割り当てられており、可変長符号化器３６は与えられた量子化スケールの値に応じて対応する可変長符号化テーブルと、エスケープコードの場合のレベル値の固定長符号長を切り換える。因みに、レベル値の固定長符号長は図１０の量子化係数ビット精度の値と同じである。
【０２４１】
ところで、図９は、量子化スケールに基づいて可変長符号化テーブルを切り換える可変長符号化器３６を示したが、図１１に示すように、これに加えて、図６及び図７について上述した入力画像の画素のビット精度ＮとＤＣＴ係数のビット精度αをも用いて可変長符号化テーブルと、量子化係数のレベル値を表す固定長符号長を適宜切り換えることもできる。
【０２４２】
因みに、図１１においては、可変長符号化器３６の内部に格納されている各種可変長符号化テーブルをその可変長符号化器３６の外部に描いて説明を簡略化している。
【０２４３】
また、可変長符号化器３６においては、入力画像の画素のビット精度Ｎ、ＤＣＴ係数のビット精度α、量子化スケールのうちの少なくとも１つ以上を用いて可変長符号化テーブルと、量子化係数のレベル値を表す固定長符号長を適宜切り換えることもできる。
【０２４４】
また、可変長符号化器３６においては、Ｉピクチャ、Ｐピクチャ、Ｂピクチャ（Ｉ−ＶＯＰ、Ｐ−ＶＯＰ、Ｂ−ＶＯＰ）のマクロブロックデータについて、スキップマクロブロックとするかどうかを決定し、その決定結果を示すフラグを設定し、そのフラグも可変長符号化して伝送する。
【０２４５】
因みに、エンコーダ３０においては、各ブロック毎にそのＤＣＴ係数の符号化を行うが、形状情報復号化器５２から出力される形状情報によりオブジェクトの外側にそのブロックがあると判断されたときには、ＤＣＴ係数の符号化を行わない。
【０２４６】
（３）本実施の形態によるデコーダの構成
一方、図１２において、１００は本発明を適用したデコーダを示し、図１について上述したエンコーダ３０（図１）から伝送路又は記録媒体等を介して供給される符号化ビットストリームを復号化するようになされている。
【０２４７】
このデコーダ１００においては、エンコーダ３０から伝送され、所定の受信装置（図示せず）で受信された符号化ビットストリーム、又は、エンコーダ３０により記録媒体に記録され、所定の再生装置（図示せず）によってその記録媒体から再生された符号化ビットストリームをバッファ１０１に取り込んで一時記憶する。
【０２４８】
可変長復号化器１０２は、後段におけるブロックの処理状態に対応して、バッファ１０１から符号化ビットストリームを適宜読み出し、その符号化ビットストリームを可変長復号することにより、量子化係数、動きベクトル、符号化モード情報、量子化スケールコード、サイズデータＦＳＺ＿Ｂ、オフセットデータＦＰＯＳ＿Ｂ等を分離する。
【０２４９】
そして、可変長復号化器１０２は、量子化係数、量子化スケールコード、動きベクトル及び符号化モード情報を逆量子化器１０３に送出すると共に、動きベクトル、符号化モード情報、サイズデータＦＳＺ＿Ｂ及びオフセットデータＦＰＯＳ＿Ｂを動き補償器１０７に送出し、形状情報を形状情報復号化器１１０に送出する。
【０２５０】
逆量子化器１０３、ＩＤＣＴ器１０４、演算器１０５、フレームメモリ１０６、形状復号化器１１０、パディング処理器１０８、動き補償器１０７は、図１について上述したエンコーダ３０の逆量子化器３８（図１）、ＩＤＣＴ器３９（図１）、演算器４０（図１）、フレームメモリ４１（図１）、形状情報復号化器５２（図１）、パディング処理器５１（図１）、動き補償器４２（図１）とそれぞれ同様の処理を実行する。
【０２５１】
形状情報復号化器１１０は、可変長復号化器１０２から与えられる符号化された形状情報を復号化し、当該復号化した形状情報をパディング処理器１０８に送出する。
【０２５２】
逆量子化器１０３は、可変長復号化器１０２から与えられる量子化スケールコードとピクチャ毎に設定される量子化スケールタイプ（線形量子化及び非線形量子化）とに基づいて、同様に可変長復号化器１０２から与えられる量子化係数を逆量子化し、得られたＤＣＴ係数をＩＤＣＴ器１０４に送出する。
【０２５３】
ＩＤＣＴ器１０４は、逆量子化器１０３から与えられたＤＣＴ係数をＩＤＣＴ処理し、得られたデータを演算器１０５に供給する。
【０２５４】
演算器１０５は、フレーム間予測が行われているときには動き補償器１０７からの出力とＩＤＣＴ器１０４の出力とを１画素単位で加算し、得られた加算結果をテクスチャ情報としてパディング処理器１０８に送出すると共に、外部に出力する。また、演算器１０５は、フレーム内予測（イントラ符号化）が行われているときには、特に動作しない。
【０２５５】
パディング処理器１０８は、形状情報復号化器１１０から与えられた形状情報に基づいて、演算器１０５から与えられるテクスチャ情報に対してパディング処理を行い、当該パディング処理したテクスチャ情報をフレームメモリ１０６に送出して記憶する。
【０２５６】
フレームメモリ１０６に記憶されているテクスチャ情報は、動き補償器１０７により適宜読み出され、演算器１０５に送出され、この後、フレームメモリ１０６及び動き補償器１０７は、図１について上述したフレームメモリ４１及び動き補償器４２と同様に動作する。
【０２５７】
ここで、エンコーダ３０及びデコーダ１００にＭＰＥＧ４方式の規格を適用した場合について以下に説明する。
【０２５８】
まず、エンコーダ３０の量子化器３５及び逆量子化器３８と、デコーダ１００の逆量子化器１０３について説明する。
【０２５９】
図１３はＭＰＥＧ４方式のシンタックスのうちの、ＶＯＬ（Video Object Layer）のシンタックスを示し、ＶＯＬは、符号化ビットストリーム内に格納された符号化されたビデオ情報全てに関わる情報が記述されているレイヤである。そして、このシンタックスのうち、入力画像の画素のビット精度を指定するフラグとしては、bits＿per ＿pixel が準備されている。
【０２６０】
そして、本発明においては、ＤＣＴ係数のビット精度を指定するフラグとして、dct ＿precision を準備し、これにαの値を記述する。すなわち、ＤＣＴ係数のビット精度はbits＿per ＿pixel+1+dct ＿precision ビットとなる。
【０２６１】
また、本発明においては、そのビット精度に応じて、図１４に示すＶＯＰレイヤ（各ＶＯＰ毎の情報を記述）及び図１５に示す各マクロブロック毎の情報を記述しているマクロブロックレイヤ（Macroblock Layer））のシンタックスにおいて、量子化スケールコードを示すフラグとして、quantizer ＿scale ＿codeを設け、このフラグを用いて量子化スケールのビット長を変更する。
【０２６２】
すなわち、ＶＯＬシンタックスのbits＿per ＿pixel とdct ＿percision の値に応じて、quantizer ＿scale ＿codeのビット長をbits＿per ＿pixel+dct ＿precision-6 とする。因みに、ＭＰＥＧ２方式においては、bits＿per ＿pixel とdct ＿precision がそれぞれ８と３であり、quantizer ＿scale ＿codeのビット長が５であるものの、本発明においては、quantizer ＿scale ＿codeのビット長は５となり、ＭＰＥＧ２方式と互換性を持っている。
【０２６３】
そして、エンコーダ３０及びデコーダ１００においては、これらシンタックスに従い、bits＿per ＿pixel 、dct ＿precision 及びquantizer ＿scale ＿codeが指定されて、次に、マクロブロックデータの量子化及び逆量子化を行う。
【０２６４】
ここでまず、量子化器３５においては、線形量子化を用いる場合、（７）式
【０２６５】
【数７】
2010233274.tif 000009
【０２６６】
で表される量子化スケールコードquantizer ＿scale ＿codeから量子化スケールquantizer ＿scale を計算する。
【０２６７】
また、量子化器３５は、非線形量子化を用いる場合、（８）式
【０２６８】
【数８】
2010233274.tif 000010
【０２６９】
で表される量子化スケールコードquantizer ＿scale ＿codeから量子化スケールquantizer ＿scale を計算する。
【０２７０】
因みに、エンコーダ３０及びデコーダ１００においては、符号化対象のピクチャに対して線形量子化を適用するか、非線形量子化を適用するかを、図１４に示すＶＯＰシンタックスのquant ＿scale ＿typeと呼ばれるフラグの値により、どちらの量子化タイプを用いるかを指定する。かくして、量子化器３５は、指定された量子化タイプを用いて計算した量子化スケールquantizer ＿scale を用いて量子化を行うことができる。
【０２７１】
ただし、マクロブロックの符号化モードがイントラ符号化モードのときには、ＤＣＴ係数の直流成分に対して異なる量子化方式を用いる。
【０２７２】
実際上、ＤＣＴ係数の直流成分の量子化スケールdc＿scalerは、以下の手順で導き出すことができる。
【０２７３】
すなわち、ＤＣＴ係数の直流成分のビット精度がbits＿per ＿pixel+dct ＿precision であるときには、量子化係数のビット精度として、図１６に示すビット精度の中からピクチャ単位で指定することが可能であり、それを例えば、ユーザ等が図１４に示すＶＯＰシンタックスのintra ＿dc＿precision と呼ばれるフラグで指定する。
【０２７４】
そして、量子化器３５は、intra ＿dc＿precision により、量子化係数のビット精度が指定されると、図１６に示すビット精度と、量子化スケールとの関係から対応する量子化スケールdc＿scalerを算出し、これをイントラ符号化モードのときのＤＣＴ係数の直流成分の量子化に用いる。
【０２７５】
次いで、逆量子化器３８及び１０３は、上述した量子化器３５と同様に、量子化スケールコードquantizer ＿scale ＿codeから量子化スケールquantizer ＿scale を計算することにより、その量子化スケールquantizer ＿scale を用いて逆量子化を行う。
【０２７６】
ただし、逆量子化器３８及び１０３は、マクロブロックデータの符号化モードがイントラ符号化モードの場合には、ＤＣＴ係数の直流成分に対しては、異なる逆量子化方式を用いるが、その方法は図１６に示したintra ＿dc＿precision をもとに量子化スケールdc＿scalerを求め、それを用いて逆量子化を行う。
【０２７７】
このようにして、逆量子化器３８及び１０３は、量子化スケールdc＿scale を計算して逆量子化に用いることにより、ＤＣＴ係数の直流成分の逆量子化を行うことができる。
【０２７８】
次に、本発明における可変長符号化器３６及び可変長復号化器１０２について説明する。
【０２７９】
図１７はＭＰＥＧ４方式のシンタックスのうちの、ブロックレイヤ（Block Layer ）を示し、現行のＭＰＥＧ４方式においては、入力画像のビット精度bits＿per ＿pixel とは無関係に、このブッロクシンタックスのＤＣＴ  Ｃｏｅｆｆｉｃｉｅｎｔを表すシンボルを符号化するのに、単一の可変長符号化テーブルを用いる。
【０２８０】
ここで、その可変長符号化方式は、符号化対象の所定ブロック内の最終コード（LAST）と、当該ブロック内の連続する０の個数（RUN ）と、ブロック内の非０係数の値（LEVEL ）との３種類のデータから３Ｄ可変長符号化を行うようになされている。因みに、現行のＭＰＥＧ４方式ではdct ＿precision は３で固定されている。
【０２８１】
すなわち、可変長符号化器３６は、３Ｄ可変長符号化を行う場合、図１８〜図２０に示す可変長符号化テーブルを用いる。
【０２８２】
また、現行のＭＰＥＧ４方式においては、入力画像のビット精度bits＿per ＿pixel とは無関係に、ブロックの可変長符号化の際にエスケープコードが選択されたときには、図２１に示すようにレベル値、ラン長を固定長符号を用いて符号化するが、このレベル値を符号化するビット長もbits＿per ＿pixel とは無関係に固定されており、その長さは12ビットである。
【０２８３】
これは本発明のbits＿pre ＿pixel=8,dct ＿precision=3 の場合におけるＤＣＴ係数のビット精度であるので、８ビット精度入力よりもビット精度の高い入力画像に対しては、十分な値とは言えない。
【０２８４】
従って、可変長符号化器３６においては、図２２に示すように、bits＿per ＿pixel とdct ＿precision とquantizer ＿scale の値に応じて、可変長符号化テーブルを切り換えるようになされている。
【０２８５】
因みに、図２２は、例えば、bits＿per ＿pixel=８、10、12、dct ＿precision=５が選択できる場合を示してあり、VLCt＿0 〜20は図１８〜図２０に示すような可変長符号化テーブルであり、全て異なるテーブルとすることが可能である。
【０２８６】
また、可変長符号化器３６においては、レベル値を示す、固定長符号のビット長も、bits＿per ＿pixel とdct ＿precision とquantizer ＿scale の値に応じて、切り換えることが可能であり、その長さは図２３に示す通りである。この例も、bits＿per ＿pixel=８、10、12、dct ＿precision=５が選択できる場合を示してある。
【０２８７】
これに対して、可変長復号化器１０２においては、可変長符号化器３６おける可変長符号化と同様に、bits＿per ＿pixel とdct ＿precision とquantizer ＿scale の値に応じて、可変長符号化テーブルとエスケープコード発生時におけるレベル値のビット長を切り換えることにより、可変長復号化を行う。
【０２８８】
（４）本実施の形態の動作及び効果
以上の構成において、エンコーダ３０では、任意に設定されたビット精度Ｎの入力画像を取り込むことができると共に、ＤＣＴ係数のビット精度αを任意に設定し得るようにし、当該入力画像のフレーム画像データからマクロブロック単位で動きベクトル等を用いて差分値データを生成すると、当該生成した差分値データをＤＣＴ処理して設定されたビット精度αのＤＣＴ係数を生成する。
【０２８９】
そして、エンコーダ３０では、そのＤＣＴ係数を、任意に設定された入力画像のビット精度Ｎ及びＤＣＴ係数のビット精度αとに基づいて拡張した量子化スケールを用いて量子化し、得られた量子化係数を、任意に設定された入力画像のビット精度Ｎ、ＤＣＴ係数のビット精度α及び量子化に用いた量子化スケールの値のうちの少なくともいずれか１つに基づいて選定した可変長符号化テーブルを用いて可変長符号化する。
【０２９０】
また、エンコーダ３０では、このとき、量子化係数の値が選定した可変長符号化テーブルで定義されている値の範囲外であるときには、その可変長符号化テーブルで定義されているエスケープコードを用いてその量子化係数を固定長符号として処理する。
【０２９１】
一方、デコーダ１００では、エンコーダ３０から与えられた符号化ビットストリームを、任意に設定された入力画像のビット精度Ｎ及びＤＣＴ係数のビット精度αと、当該ビット精度Ｎ及びαに基づいて拡張した量子化スケールとのうちの少なくとも１つに基づいて選定した可変長符号化テーブルを用いて復号化して各種データと共に量子化係数を分離する。
【０２９２】
そして、デコーダ１００では、その量子化係数を、任意に設定した入力画像のビット精度Ｎ及びＤＣＴ係数のビット精度αとに基づいて拡張した量子化スケールを用いて逆量子化し、当該設定されたビット精度αのＤＣＴ係数を生成し、当該ＤＣＴ係数にＩＤＣＴ処理するようにして、この後、復号化したフレーム画像データを得るようにした。
【０２９３】
従って、エンコーダ３０及びデコーダ１００では、量子化及び逆量子化を行う際に、任意に設定されたＤＣＴ係数のビット精度αに応じて、そのビット精度αに対して適切で、かつ、ＭＰＥＧ２方式と互換性を持つ線形量子化及び非線形量子化を行うことができる。
【０２９４】
また、エンコーダ３０及びデコーダ１００では、可変長符号化及び可変長復号化を行う際に、設定されたＤＣＴ係数のビット精度αと量子化スケールに対して、適切な可変長符号化テーブルとエスケープコードに続くレベル値のビット長とを選択することができる。
【０２９５】
この結果、エンコーダ３０及びデコーダ１００では、入力画像を圧縮符号化するときに、当該入力画像の画質が劣化することを未然に防止することができると共に、符号化した入力画像を復号化するときにもその画質が劣化することを未然に防止することができる。
【０２９６】
以上の構成によれば、任意に設定されたビット精度Ｎの入力画像を取り込み、かつＤＣＴ係数のビット精度αを任意に設定し得るようにし、そのＤＣＴ係数を当該入力画像のビット精度Ｎと、ＤＣＴ係数のビット精度αとに基づいて拡張した量子化スケールを用いて量子化し、得られた量子化係数を、その入力画像のビット精度Ｎ、ＤＣＴ係数のビット精度α及び量子化に用いた量子化スケールの値のうちの少なくともいずれか１つに基づいて選定した可変長符号化テーブルを用いて可変長符号化するようにしたことにより、入力画像を圧縮符号化するときに、当該入力画像の画質が劣化することを未然に防止し得るエンコーダを実現することができる。
【０２９７】
また、任意に設定されたビット精度Ｎの入力画像を取り込み、かつＤＣＴ係数のビット精度αを任意に設定し得るようにし、符号化ビットストリームを当該入力画像のビット精度Ｎ及びＤＣＴ係数のビット精度αと、これらビット精度Ｎ及びαに基づいて拡張した量子化スケールとのうちの少なくともいずれか１つに基づいて選定した可変長符号化テーブルを用いて可変長復号化し、得られた量子化係数をその入力画像のビット精度Ｎ及びＤＣＴ係数のビット精度αに基づいて拡張した量子化スケールを用いて逆量子化するようにしたことにより、圧縮符号化された入力画像を復号化するときに、当該入力画像の画質が劣化することを未然に防止し得るデコーダを実現することができる。
【０２９８】
従って、本実施の形態によれば、入力画像の圧縮符号化時及び復号化時に画質が劣化することを未然に防止し、かくして、入力画像を圧縮符号化した後、復号化して得られる画像の画質を入力画像の画質とほぼ同等にすることができるエンコーダ及びデコーダを実現することができる。
【０２９９】
（５）他の実施の形態
なお、上述の実施の形態においては、bits＿per ＿pixel=８、10、12、dct ＿precision=５が選択できるようにした場合について述べたが、本発明はこれに限らず、その他の組み合わせも可能であり、一方か両方をある値に固定することも可能である。これはそのシステムの利用目的に応じて選択されるべきであるが、本発明は、このようなシステムのいずれにも適応可能である。
【０３００】
また、上述の実施の形態においては、エンコーダ３０において、ビット精度に応じた量子化及び可変長符号化を実行するようにした場合について述べたが、本発明はこれに限らず、エンコーダにおいて、ビット精度に応じた量子化及び可変長符号化のうちのいずれか一方を実行するようにしても良く、この場合でも、画質の劣化を未然に防止することができる。
【０３０１】
さらに、上述の実施の形態においては、デコーダ１００において、ビット精度に応じた量子化及び可変長符号化を実行するようにした場合について述べたが、本発明はこれに限らず、デコーダにおいて、ビット精度に応じた量子化及び可変長符号化のうちのいずれか一方を実行するようにしても良く、この場合でも、画質の劣化を未然に防止することができる。
【符号の説明】
【０３０２】
３０……エンコーダ、３１……フレームメモリ、３４……ＤＣＴ器、３５……量子化器、３６……可変長符号化器、３８、１０３……逆量子化器、３９、１０４……ＩＤＣＴ器、１００……デコーダ、１０２……可変長復号化器。
【図１】
2010233274.tif 000011
【図２】
2010233274.tif 000012
【図３】
2010233274.tif 000013
【図４】
2010233274.tif 000014
【図５】
2010233274.tif 000015
【図６】
2010233274.tif 000016
【図７】
2010233274.tif 000017
【図８】
2010233274.tif 000018
【図９】
2010233274.tif 000019
【図１０】
2010233274.tif 000020
【図１１】
2010233274.tif 000021
【図１２】
2010233274.tif 000022
【図１３】
2010233274.tif 000023
【図１４】
2010233274.tif 000024
【図１５】
2010233274.tif 000025
【図１６】
2010233274.tif 000026
【図１７】
2010233274.tif 000027
【図１８】
2010233274.tif 000028
【図１９】
2010233274.tif 000029
【図２０】
2010233274.tif 000030
【図２１】
2010233274.tif 000031
【図２２】
2010233274.tif 000032
【図２３】
2010233274.tif 000033
【図２４】
2010233274.tif 000034
【図２５】
2010233274.tif 000035
【図２６】
2010233274.tif 000036
【図２７】
2010233274.tif 000037
【図２８】
2010233274.tif 000038