(57)【特許請求の範囲】
【請求項１】
画像データの符号化処理において、各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する符号化処理装置であり、
画像を構成する各画素について、複数の範囲に分割された符号化処理対象の画素の取りうる信号レベル範囲のうち、当該画素の信号レベルの属する一の範囲に対応した前記クラスを設定するクラス分類処理手段と、
前記クラス分類処理手段において設定したクラスが同一の隣接画素領域を１ブロックとして設定するブロック分割手段と、
前記ブロック分割手段において設定されたブロック単位で、ブロックに対応して設定されるダイナミックレンジに基づく量子化処理を実行する量子化処理手段と、
を有し、
前記量子化処理手段の適用する量子化処理は、
ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に基づく量子化処理であり、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて量子化コード（Ｑコード）を算出する処理を実行する構成であることを特徴とする符号化処理装置。
【請求項２】
前記符号化処理装置は、さらに、
画素値に応じた複数クラスの各クラスに対して最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルを有し、
前記量子化処理手段は、
前記クラス情報テーブルに設定された最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて、前記ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）処理を実行する構成であることを特徴とする請求項１に記載の符号化処理装置。
【請求項３】
前記クラス情報テーブルに設定された複数クラスのダイナミックレンジ（ＤＲ）は同一値として設定された構成であることを特徴とする請求項３に記載の符号
化処理装置。
【請求項４】
前記符号化処理装置は、さらに、
符号化処理対象の画素値の頻度分布を解析する画素値解析手段と、
前記画素値解析手段の解析結果に基づいて、各クラスに属する画素数がほぼ均一分布になるように画素の取りうる信号レベル範囲を複数の範囲に分割し、当該複数の範囲に対応するクラス分類設定処理を実行するクラス分類設定手段と、
前記クラス分類設定手段の設定したクラス分類に対応する各クラスに対して最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルを生成するクラス情報テーブル生成手段とを有し、
前記クラス分類処理手段は、前記クラス分類設定手段によって設定されたクラス分類に基づいて各画素のクラスを設定し、
前記量子化処理手段は、
前記クラス情報テーブルに設定された最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて、前記ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）処理を実行する構成であることを特徴とする請求項１に記載の符号化処理装置。
【請求項５】
前記符号化処理装置は、さらに、
前記ブロック分割手段において設定されたブロック単位でブロック内の画素データの間引き処理を実行する間引き処理手段を有し、
前記間引き処理手段は、
間引き処理の対象となる画素データに隣接する２つの画素データが間引き後に残存するように、画素データの間引き処理を実行する構成であることを特徴とする請求項１に記載の符号化処理装置。
【請求項６】
前記符号化処理装置は、
各ブロック単位の符号化データとして、ブロックに設定されたクラスと、間引き処理の実行の有無を示す識別フラグと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する構成であることを特徴とする請求項５に記載の符号化処理装置。
【請求項７】
画像を構成する各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を入力して復号処理を実行する復号処理装置であり、
前記ストップコードに基づいてブロック単位で入力された符号化データから、ブロックに設定されたクラスと、各画素に対応する量子化コードと、ブロックに設定されたクラスに対応する最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を取得するブロック情報解析手段と、
前記ブロック情報解析手段の取得した最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）、および前記ブロック情報に含まれる各画素に対応する量子化コードに基づいて、ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に対応する逆量子化処理により各ブロック単位の画素値復号処理を実行する復号処理手段と、
を有することを特徴とする復号処理装置。
【請求項８】
前記ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に対応する逆量子化処理は、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて復元画素値を算出する処理を実行する構成であることを特徴とする請求項７に記載の復号処理装置。
【請求項９】
前記復号処理手段は、
画素値に応じた複数クラスの各クラスに対して最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルの設定値としての最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて、前記ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に対応する逆量子化処理を実行する構成であることを特徴とする請求項７に記載の復号処理装置。
【請求項１０】
前記復号処理装置は、さらに、
前記ブロック情報に格納された量子化コードが、ブロック内の全画素対応データではなく、間引きされたデータである場合の間引きデータ復元処理を実行する間引きデータ復元手段を有し、
前記ブロック情報解析手段はさらに間引き処理の実行有無を示す識別情報を取得し、
前記間引きデータ復元手段は、
前記識別情報に基づいて、ブロックが間引き処理されていると判定した場合には、前記復号処理手段が量子化コードに基づいて復号した隣接する復元画素の平均値を、当該隣接する復元画素の間に位置する間引き画素データの画素値として設定する処理を実行する構成であることを特徴とする請求項７に記載の復号処理装置。
【請求項１１】
画像データの符号化処理において、各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する符号化処理方法であり、
画像を構成する各画素について、複数の範囲に分割された符号化処理対象の画素の取りうる信号レベル範囲のうち、当該画素の信号レベルの属する一の範囲に対応した前記クラスを設定するクラス分類処理ステップと、
前記クラス分類処理ステップにおいて設定したクラスが同一の隣接画素領域を１ブロックとして設定するブロック分割ステップと、
前記ブロック分割ステップにおいて設定されたブロック単位で、ブロックに対応して設定されるダイナミックレンジに基づいて量子化処理を実行する量子化処理ステップと、
を有し、
前記量子化処理ステップにおいて適用する量子化処理は、
ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に基づく量子化処理であり、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて量子化コード（Ｑコード）を算出する処理を実行することを特徴とする符号化処理方法。
【請求項１２】
画像データの符号化処理において、各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する処理の実行プログラムとしてのコンピュータ・プログラムであって、
画像を構成する各画素について、複数の範囲に分割された符号化処理対象の画素の取りうる信号レベル範囲のうち、当該画素の信号レベルの属する一の範囲に対応した前記クラスを設定させるクラス分類処理ステップと、
前記クラス分類処理ステップにおいて設定したクラスが同一の隣接画素領域を１ブロックとして設定させるブロック分割ステップと、
前記ブロック分割ステップにおいて設定されたブロック単位で、ブロックに対応して設定されるダイナミックレンジに基づいて量子化処理を実行させる量子化処理ステップと、
を有し、
前記量子化処理ステップにおいて適用する量子化処理は、
ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に基づく量子化処理であり、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて量子化コード（Ｑコード）を算出する処理を実行させる処理であることを特徴とするコンピュータ・プログラム。
【請求項１３】
画像を構成する各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を入力して復号処理を実行するプログラムとしてのコンピュータ・プログラムであって、
符号化画像データ中の各ブロック単位の符号化データの終端を示すストップコードに基づいて、ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードを解析し、各クラスに対して最小値（ＭＩＮ）、及びダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルから、ブロックに設定されたクラスに対応する最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を取得するブロック情報解析ステップと、
前記ブロック情報解析ステップにおいて取得した最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）、および前記ブロック情報に含まれる各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行する復号処理ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【請求項１４】
画像データの符号化処理において、各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム記録媒体であって、前記コンピュータ・プログラムは、
画像を構成する各画素について、複数の範囲に分割された符号化処理対象の画素の取りうる信号レベル範囲のうち、当該画素の信号レベルの属する一の範囲に対応した前記クラスを設定させるクラス分類処理ステップと、
前記クラス分類処理ステップにおいて設定したクラスが同一の隣接画素領域を１ブロックとして設定させるブロック分割ステップと、
前記ブロック分割ステップにおいて設定されたブロック単位で、ブロックに対応して設定されるダイナミックレンジに基づいて量子化処理を実行させる量子化処理ステップと、
を有し、
前記量子化処理ステップにおいて適用する量子化処理は、
ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に基づく量子化処理であり、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて量子化コード（Ｑコード）を算出する処理を実行させる処理であることを特徴とするプログラム記録媒体。
【請求項１５】
画像を構成する各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を入力して復号処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム記録媒体であって、前記コンピュータ・プログラムは、
符号化画像データ中の各ブロック単位の符号化データの終端を示すストップコードに基づいて、ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードを解析し、各クラスに対して最小値（ＭＩＮ）、及びダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルから、ブロックに設定されたクラスに対応する最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を取得するブロック情報解析ステップと、
前記ブロック情報解析ステップにおいて取得した最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）、および前記ブロック情報に含まれる各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行する復号処理ステップと、
を具備することを特徴とするプログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラムに関する。さらに詳細には、デジタル画像の符号化処理において、ブロック分割した画像信号を圧縮することにより高圧縮率、画質劣化低減を実現した符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラムに関する。
【０００２】
【従来の技術】
画像信号は、例えば記録媒体への記録処理、データ転送処理等の際に情報量の削減を目的とした符号化処理が行なわれることが多い。デジタル画像信号の高能率符号化処理の１つとして、ＡＤＲＣ（Adaptive Dynamic Range Coding）が知られている。
【０００３】
ＡＤＲＣは、例えば特開昭６１−１４４９８９号に開示されているように、画像領域をブロック分割し、分割したブロック内に含まれる複数の画素の持つ画素値としての最大値（ＭＡＸ）および最小値（ＭＩＮ）の差分によって規定されるダイナミックレンジ（ＤＲ）を算出し、算出したダイナミックレンジ（ＤＲ）に適応した符号化処理を行なうものであり、ダイナミックレンジ適応型の圧縮手法である。
【０００４】
ＡＤＲＣによる画像符号化処理について、図を参照して説明する。図１７は、画像データのＡＤＲＣによる符号化処理におけるブロック分割およびダイナミックレンジの算出処理を説明する図である。例えば動画像データの１フレームの画像信号を、複数画素領域のブロックに分割し、各ブロックに含まれる画素の信号レベルの最大値と最小値とを検出する。
【０００５】
なお、画素の信号レベルとは、例えば画像信号が白黒であれば輝度信号レベルが適用され、例えば０〜２５５の２５６階調の輝度レベルデータが適用される。また、カラー画像信号でＹＵＶ信号、すなわち輝度に関する輝度信号Ｙ、色に関する２つの色信号Ｕ，Ｖが用いられる場合は、Ｙ，Ｕ，Ｖそれぞれについて最大値と最小値とを検出し、それぞれの信号毎の量子化、すなわち符号化処理を行なう。また、ＲＧＢ等の色信号を適用する場合は、ＲＧＢそれぞれについて最大値と最小値とを検出し、それぞれの信号毎の量子化処理を行なうことになる。
【０００６】
小領域に区分けされたブロック内の画素の信号レベルは、画像の持つ相関性により近い値を持つことが多い。従って、各ブロック内の信号レベルの最大値と最小値との差を各ブロックにおけるダイナミックレンジとして定義することで、信号レベル方向の冗長度、すなわちブロック内最大信号レベル値より大きいレベルと、ブロック内最小信号レベル値より小さいレベルを取り除くことができ、各ブロック内の限定されたダイナミックレンジ内で効率のよい量子化が可能となる。
【０００７】
例えば図１７に示すように画像データ８０１を複数ブロックに分割する。次に、各ブロックに含まれる画素の持つ信号レベルを検出し、ブロック内の信号レベルデータを取得する。例えばブロック８０２に含まれる画素の持つ信号レベルは、信号レベルデータ８０３として取得される。次に、ブロック内に含まれる画素の信号レベルの最大値（ＭＡＸ）、最小値（ＭＩＮ）を選択し、その差分をダイナミックレンジ（ＤＲ）とする。
【０００８】
このダイナミックレンジ（ＤＲ）に基づいて、ブロック内の画素の値を量子化する。量子化処理について図１８を参照して説明する。量子化ビット数をｎとした場合、ブロック内の各画素値から最小値（ＭＩＮ）が減算され、その減算値をＤＲ／２nで除算し、除算値に対応するコードを量子化コード（Ｑコード）として設定する。
【０００９】
図１８の例では、ブロックＡとブロックＢの２つのブロックについて、ｎ＝１、すなわち１ビット量子化した場合の例を示している。各ブロックには８画素含まれ、各画素の信号レベルが図に示すように分布していたとする。ブロックＡのダイナミックレンジ（ＤＲ）は、ブロックＡに含まれる画素の最大値と最小値によって決定し、ブロックＢのダイナミックレンジ（ＤＲ）は、ブロックＢに含まれる画素の最大値と最小値によって決定する。
【００１０】
１ビット量子化する場合は、ダイナミックレンジを２分割し、例えば上部を［１］、下部を［０］として各画素の信号レベルに応じて量子化する。この結果、ブロックＡの量子化コードは、［１１１１１００１］として構成され、ブロックＢの量子化コード（Ｑコード）は、［００００１１１１］により構成される。例えば２ビット量子化の場合は、各画素について、［００］、［０１］、［１０］、［１１］の４値が設定可能となり、ダイナミックレンジが２2＝４分割されて、各画素にいずれかの量子化コード（Ｑコード）が割り当てられることになる。３ビット量子化の場合は、２3＝８分割されることになる。
【００１１】
図１９は、ＡＤＲＣ符号化処理を行なった場合の各ブロックのブロック情報の構成を示す図である。ブロック情報には、各ブロックに含まれる画素の信号レベルの最小値（ＭＩＮ）、ダイナミックレンジ（ＤＲ）、及び、上述した処理で算出した量子化コード（Ｑコード）が含まれる。例えば信号レベルが０〜２５５である場合、最小値（ＭＩＮ）を８ビット、ダイナミックレンジ（ＤＲ）を８ビット、量子化コード（Ｑコード）をｋ×ｎビットとして構成することができる。ただし、ｎは量子化ビット数、ｋはブロック内の画素数である。
【００１２】
ＡＤＲＣによる符号化（エンコード）処理および復号（デコード）処理の手順を図２０に示す。
【００１３】
ＡＤＲＣ符号化処理では、ステップＳ８０１において画像データをブロック分割し、ステップＳ８０２において、ブロック内の最大値（ＭＡＸ）、最小値（ＭＩＮ）を検出する。次にステップＳ８０３で、各分割ブロック内のダイナミックレンジ（ＤＲ）を求め、ステップＳ８０４で、各ブロックの画素値−最小値（ＭＩＮ）を算出し、ステップＳ８０５において、予め定められた量子化ビット数＝ｎに基づいて、各画素値の量子化を実行し、ステップＳ８０６で、最小値（ＭＩＮ）、ダイナミックレンジ（ＤＲ）、量子化コード（Ｑコード）からなるブロック情報（図１９参照）を生成する。
【００１４】
具体的なＡＤＲＣ処理による量子化コード（Ｑコード）の生成は、下式に従って実行される。
【００１５】
【数１】
ＤＲ＝ＭＡＸ−ＭＩＮ＋１
Δ＝ＤＲ／２n
0004016662.tif 000002
【００１６】
上記式において、ＤＲ：ダイナミックレンジ、ＭＡＸ：最大値、ＭＩＮ：最小値、Ｑ：量子化コード（Ｑコード）、ｘ：画素値、Δ：量子化ステップ幅、ｎ：量子化ビット数である。ＤＲ＜２nの場合の量子化コード：Ｑの算出においては、Δ：量子化ステップ幅による除算を行なうことなく、各ブロックの画素値−最小値（ｘ−ＭＩＮ）そのものを量子化コードとして適用する。（ｘ−ＭＩＮ）の値そのものがｎビット以下のコードとして表現可能となるからである。また、ＤＲ＝ＭＡＸ−ＭＩＮ＋１における［＋１］は、ＭＡＸ＝ＭＩＮの場合において、ＤＲ＝１と設定するための処理である。
【００１７】
一方、ＡＤＲＣによる符号化（エンコード）によって生成されたブロック情報に基づく復号（デコード）処理の手順について図２０を参照して説明する。復号処理では、ステップＳ８１１において、最小値（ＭＩＮ）、ダイナミックレンジ（ＤＲ）、量子化コード（Ｑコード）からなるブロック情報を取得する。
【００１８】
ステップＳ８１２において、ブロック情報に基づく復号（デコード）処理を実行する。デコード処理の具体的処理は復元画素値をｘ’とすると、以下の、ｘ’算出式として示される。
【００１９】
【数２】
ｘ’＝（Ｑ＋０．５）×Δ＋ＭＩＮ（ＤＲ≧２nの場合）
ｘ’＝（Ｑ＋ＭＩＮ）    （ＤＲ＜２nの場合）
【００２０】
上記式において、ｘ’：復元画素値、ＭＩＮ：最小値、Ｑ：量子化コード（Ｑコード）、Δ：量子化ステップ幅、ｎ：量子化ビット数である。
【００２１】
ステップＳ８１３において、上記式において算出された画素値ｘ’に基づいて各画素値を決定して画像再生を実行する。
【００２２】
なお、前述したように、画素値は、例えば画像信号が白黒であれば、輝度信号レベル値が適用され、カラーの画像信号では、例えばＹＵＶなどの、輝度に関する輝度信号Ｙ、並びに色に関する２つの色信号Ｕ，Ｖが画素値として用いられ、Ｙ，Ｕ，Ｖそれぞれの値についての符号化処理、復号処理が実行されることになる。
【００２３】
上述したＡＤＲＣによる量子化（符号化）処理、復号処理は、各ブロック内の画素値に適用する符号化ビット数を同一とした例である。例えば量子化ビット数：ｎ＝１として設定した場合であれば、すべてのブロックにおいて１ビットの量子化処理を行ない、量子化ビット数：ｎ＝２として設定した場合であれば、すべてのブロックにおいて２ビットの量子化処理を行なう構成例である。
【００２４】
しかし、量子化ビット数をすべてのブロックにおいて共通化すると、ダイナミックレンジ（ＤＲ）の大きいブロックにおいても、また、小さいブロックにおいても、同一のビット数の量子化が行われることになり、ダイナミックレンジの大きいブロックにおける量子化ステップ幅が大きくなり、復号処理の際に元の画素値と復元画素値との差が大きくなる場合がある。
【００２５】
そこで、ダイナミックレンジ（ＤＲ）の大きいブロックにおける量子化ビット数と、ダイナミックレンジ（ＤＲ）の小さいブロックにおける量子化ビット数を異ならせて、符号化処理を行なう可変長ＡＤＲＣが考案された。
【００２６】
可変長ＡＤＲＣの基本的考え方は、ダイナミックレンジ（ＤＲ）の大きいブロックにおける量子化ビット数を大きくし、ダイナミックレンジ（ＤＲ）の小さいブロックにおける量子化ビット数を小さくするものであり、例えば特開昭６２−１２８６２１号にその基本構成が示されている。
【００２７】
具体的には、例えばダイナミックレンジ（ＤＲ）の大きいブロックにおける量子化ビット数を３ビットとして、ダイナミックレンジ（ＤＲ）の小さいブロックにおける量子化ビット数を１ビットとするなどの処理が行なわれる。このような処理を行なうことで、ダイナミックレンジ（ＤＲ）の小さいブロックにおいては、ＤＲ／２1として、ダイナミックレンジを２つに区分した量子化ステップ幅：Δを設定した量子化がなされ、ダイナミックレンジ（ＤＲ）の大きいブロックでは、ＤＲ／２3として８つに区分した量子化ステップ幅：Δ設定による量子化が実行可能となり、ダイナミックレンジ（ＤＲ）の大きいブロックにおいても、より細かい量子化ステップ幅：Δの設定が可能となるので元の画素値と復号処理後の画素値との誤差を小さくすることが可能となる。
【００２８】
可変長ＡＤＲＣによる符号化（エンコード）処理および復号（デコード）処理の手順を図２１に示す。
【００２９】
可変長ＡＤＲＣ符号化処理では、ステップＳ８２１において画像データをブロック分割し、ステップＳ８２２において、ブロック内の最大値（ＭＡＸ）、最小値（ＭＩＮ）を検出する。次にステップＳ８２３で、各分割ブロック内のダイナミックレンジ（ＤＲ）を求め、ステップＳ８２４で、求めたダイナミックレンジ（ＤＲ）に基づいて、量子化ビット数を決定する。
【００３０】
量子化ビット数は、例えば、予め定められた下記の量子化ビット数設定条件式に基づいて決定される。
０≦ＤＲ＜ｔｈ１  →０ビット
ｔｈ１≦ＤＲ＜ｔｈ２  →１ビット
ｔｈ２≦ＤＲ＜ｔｈ３  →２ビット
：
ｔｈｎ≦ＤＲ≦ｔｈｎ＋１  →ｎビット
【００３１】
上記条件式において、ＤＲは、各ブロックのダイナミックレンジであり、ｔｈ１〜ｔｈｎは、予め定められた閾値である。すなわち、ダイナミックレンジ（ＤＲ）の大きいブロックほど多くのビット数が量子化ビット数として割り当てられ、ダイナミックレンジ（ＤＲ）の大きいブロックにおける量子化ステップ幅：Δが過大になることを防止している。
【００３２】
各ブロックのダイナミックレンジ（ＤＲ）に基づく量子化ビット数が決定されると、次に、ステップＳ８２５で、各ブロックの画素値−最小値（ＭＩＮ）を算出し、ステップＳ８２６において、ステップＳ８２４で決定した量子化ビット数＝０〜ｎに基づいて、各画素値の量子化を実行し、ステップＳ８２７で、最小値（ＭＩＮ）、ダイナミックレンジ（ＤＲ）、量子化コード（Ｑコード）からなるブロック情報（図１９参照）を生成する。
【００３３】
一方、可変ＡＤＲＣによる符号化（エンコード）によって生成されたブロック情報に基づく復号（デコード）処理の手順について図２１を参照して説明する。復号処理では、ステップＳ８３１において、最小値（ＭＩＮ）、ダイナミックレンジ（ＤＲ）、量子化コード（Ｑコード）からなるブロック情報を取得する。
【００３４】
ステップＳ８３２では、ブロック情報から取得した各ブロックのダイナミックレンジ（ＤＲ）に基づいて量子化ビット数を算出する。復号側においても、上述の量子化ビット数設定条件式を保有、あるいは、符号化処理装置から取得し、量子化ビット数設定条件式に基づいて量子化ビット数を算出する。
【００３５】
次に、ステップＳ８３３において、ブロック情報に基づく復号（デコード）処理を実行し、ステップＳ８３４において、デコードにより算出された画素値ｘ’に基づいて各画素値を決定して画像再生を実行する。
【００３６】
なお、上述した可変長ＡＤＲＣでは、各ブロックのダイナミックレンジにより量子化ビット数を設定する構成であるので、この処理の結果、画像データの圧縮率が異なることになり、符号化データ量が画像によって大きく異なってしまう場合がある。このような可変長ＡＤＲＣによる符号化データ量の変動を制御するため、画像のダイナミックレンジの度数分布を作成し、度数分布に基づいて符号化データ量を制御する構成が例えば特開昭６３−１１１７８１号に記載されている。
【００３７】
【発明が解決しようとする課題】
上述したＡＤＲＣによる符号化処理において、符号化処理対象となる画像についてのブロック分割処理は、例えばｌ×ｍ画素等、あらかじめ設定された固定サイズの領域を１ブロックとして設定する処理として実行されている。
【００３８】
しかし、各ブロックの画素値の分布は様々であり、そのダイナミックレンジも様々な値となる。上述したように、異なるダイナミックレンジを持つブロックに応じて量子化ビット数を割り当てる可変長ＡＤＲＣ処理の適用により、大きなダイナミックレンジを持つブロックにおいても、ある程度、元の画素値と復号処理後の画素値との誤差を小さくすることが可能となるが、例えば、１つのブロックにおいて１つの乖離した値を持つ画素値が存在すると、ダイナミックレンジがその１つの画素の影響で大きくなり、量子化ビット数を大きく設定しなければならなくなり、符号化効率を低下させ、圧縮率の低下を招く場合がある。また、量子化ビット数を小さくすれば量子化ステップ幅が増加し、元画素の画素値と復号画素の画素値の誤差が大きくなってしまう。
【００３９】
また、上述の従来のＡＤＲＣ処理では、隣接ブロックにおいて共通の量子化ビット数で量子化（符号化）処理を実行する場合であっても、個々のブロック単位で、ブロック情報を生成することになり、各ブロック情報中にそれぞれ最小値、ダイナミックレンジ、量子化コード（Ｑコード）等の情報を格納することになる。従って共通の量子化ビット数で量子化する場合であっても、別々のブロック情報を生成しなければならず符号化効率が低下する場合がある。
【００４０】
本発明は、上述したＡＤＲＣを適用した符号化処理における問題点に鑑みてなされたものであり、ＡＤＲＣによる符号化を実行する際、ブロック・サイズを固定とせず、処理対象画像の画素値に応じてブロック区切りを設定して、符号化効率を高め、また元の画素値と復号処理後の画素値との誤差を小さくすることを可能とした高精度の符号化処理を実現する符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラムを提供するものである。
【００４１】
【課題を解決するための手段】
本発明の第１の側面は、
画像データの符号化処理において、各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する符号化処理装置であり、
画像を構成する各画素について、複数の範囲に分割された符号化処理対象の画素の取りうる信号レベル範囲のうち、当該画素の信号レベルの属する一の範囲に対応した前記クラスを設定するクラス分類処理手段と、
前記クラス分類処理手段において設定したクラスが同一の隣接画素領域を１ブロックとして設定するブロック分割手段と、
前記ブロック分割手段において設定されたブロック単位で、ブロックに対応して設定されるダイナミックレンジに基づく量子化処理を実行する量子化処理手段と、
を有し、
前記量子化処理手段の適用する量子化処理は、
ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に基づく量子化処理であり、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて量子化コード（Ｑコード）を算出する処理を実行する構成であることを特徴とする符号化処理装置にある。
【００４３】
さらに、本発明の符号化処理装置の一実施態様において、前記符号化処理装置は、さらに、画素値に応じた複数クラスの各クラスに対して最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルを有し、前記量子化処理手段は、前記クラス情報テーブルに設定された最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて、前記ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）処理を実行する構成であることを特徴とする。
【００４４】
さらに、本発明の符号化処理装置の一実施態様において、前記クラス情報テーブルに設定された複数クラスのダイナミックレンジ（ＤＲ）は同一値として設定された構成であることを特徴とする。
【００４５】
さらに、本発明の符号化処理装置の一実施態様において、前記符号化処理装置は、さらに、符号化処理対象の画素値の頻度分布を解析する画素値解析手段と、前記画素値解析手段の解析結果に基づいて、各クラスに属する画素数がほぼ均一分布になるように画素の取りうる信号レベル範囲を複数の範囲に分割し、当該複数の範囲に対応するクラス分類設定処理を実行するクラス分類設定手段と、前記クラス分類設定手段の設定したクラス分類に対応する各クラスに対して最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルを生成するクラス情報テーブル生成手段とを有し、前記クラス分類処理手段は、前記クラス分類設定手段によって設定されたクラス分類に基づいて各画素のクラスを設定し、前記量子化処理手段は、前記クラス情報テーブルに設定された最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて、前記ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）処理を実行する構成であることを特徴とする。
【００４８】
さらに、本発明の符号化処理装置の一実施態様において、前記符号化処理装置は、さらに、前記ブロック分割手段において設定されたブロック単位でブロック内の画素データの間引き処理を実行する間引き処理手段を有し、前記間引き処理手段は、間引き処理の対象となる画素データに隣接する２つの画素データが間引き後に残存するように、画素データの間引き処理を実行する構成であることを特徴とする。
【００４９】
さらに、本発明の符号化処理装置の一実施態様において、前記符号化処理装置は、各ブロック単位の符号化データとして、ブロックに設定されたクラスと、間引き処理の実行の有無を示す識別フラグと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する構成であることを特徴とする。
【００５０】
さらに、本発明の第２の側面は、
画像を構成する各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を入力して復号処理を実行する復号処理装置であり、
前記ストップコードに基づいてブロック単位で入力された符号化データから、ブロックに設定されたクラスと、各画素に対応する量子化コードと、ブロックに設定されたクラスに対応する最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を取得するブロック情報解析手段と、
前記ブロック情報解析手段の取得した最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）、および前記ブロック情報に含まれる各画素に対応する量子化コードに基づいて、ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に対応する逆量子化処理により各ブロック単位の画素値復号処理を実行する復号処理手段と、
を有することを特徴とする復号処理装置にある。
【００５１】
さらに、本発明の復号処理装置の一実施態様において、前記ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に対応する逆量子化処理は、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて復元画素値を算出する処理を実行する構成であることを特徴とする。
【００５２】
さらに、本発明の復号処理装置の一実施態様において、前記復号処理手段は、画素値に応じた複数クラスの各クラスに対して最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルの設定値としての最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて、前記ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に対応する逆量子化処理を実行する構成であることを特徴とする。
【００５３】
さらに、本発明の復号処理装置の一実施態様において、前記復号処理装置は、さらに、前記ブロック情報に格納された量子化コードが、ブロック内の全画素対応データではなく、間引きされたデータである場合の間引きデータ復元処理を実行する間引きデータ復元手段を有し、前記ブロック情報解析手段はさらに間引き処理の実行有無を示す識別情報を取得し、前記間引きデータ復元手段は、前記識別情報に基づいて、ブロックが間引き処理されていると判定した場合には、前記復号処理手段が量子化コードに基づいて復号した隣接する復元画素の平均値を、当該隣接する復元画素の間に位置する間引き画素データの画素値として設定する処理を実行する構成であることを特徴とする。
【００５４】
さらに、本発明の第３の側面は、
画像データの符号化処理において、各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する符号化処理方法であり、
画像を構成する各画素について、複数の範囲に分割された符号化処理対象の画素の取りうる信号レベル範囲のうち、当該画素の信号レベルの属する一の範囲に対応した前記クラスを設定するクラス分類処理ステップと、
前記クラス分類処理ステップにおいて設定したクラスが同一の隣接画素領域を１ブロックとして設定するブロック分割ステップと、
前記ブロック分割ステップにおいて設定されたブロック単位で、ブロックに対応して設定されるダイナミックレンジに基づいて量子化処理を実行する量子化処理ステップと、
を有し、
前記量子化処理ステップにおいて適用する量子化処理は、
ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に基づく量子化処理であり、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて量子化コード（Ｑコード）を算出する処理を実行することを特徴とする符号化処理方法にある。
【００５５】
さらに、本発明の第４の側面は、
画像データの符号化処理において、各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する処理の実行プログラムとしてのコンピュータ・プログラムであって、
画像を構成する各画素について、複数の範囲に分割された符号化処理対象の画素の取りうる信号レベル範囲のうち、当該画素の信号レベルの属する一の範囲に対応した前記クラスを設定させるクラス分類処理ステップと、
前記クラス分類処理ステップにおいて設定したクラスが同一の隣接画素領域を１ブロックとして設定させるブロック分割ステップと、
前記ブロック分割ステップにおいて設定されたブロック単位で、ブロックに対応して設定されるダイナミックレンジに基づいて量子化処理を実行させる量子化処理ステップと、
を有し、
前記量子化処理ステップにおいて適用する量子化処理は、
ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に基づく量子化処理であり、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて量子化コード（Ｑコード）を算出する処理を実行させる処理であることを特徴とするコンピュータ・プログラムにある。
【００５６】
さらに、本発明の第５の側面は、
画像を構成する各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を入力して復号処理を実行するプログラムとしてのコンピュータ・プログラムであって、
符号化画像データ中の各ブロック単位の符号化データの終端を示すストップコードに基づいて、ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードを解析し、各クラスに対して最小値（ＭＩＮ）、及びダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルから、ブロックに設定されたクラスに対応する最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を取得するブロック情報解析ステップと、
前記ブロック情報解析ステップにおいて取得した最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）、および前記ブロック情報に含まれる各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行する復号処理ステップと、
を具備することを特徴とするコンピュータ・プログラムにある。
【００５７】
さらに、本発明の第６の側面は、
画像データの符号化処理において、各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を生成する処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム記録媒体であって、前記コンピュータ・プログラムは、
画像を構成する各画素について、複数の範囲に分割された符号化処理対象の画素の取りうる信号レベル範囲のうち、当該画素の信号レベルの属する一の範囲に対応した前記クラスを設定させるクラス分類処理ステップと、
前記クラス分類処理ステップにおいて設定したクラスが同一の隣接画素領域を１ブロックとして設定させるブロック分割ステップと、
前記ブロック分割ステップにおいて設定されたブロック単位で、ブロックに対応して設定されるダイナミックレンジに基づいて量子化処理を実行させる量子化処理ステップと、
を有し、
前記量子化処理ステップにおいて適用する量子化処理は、
ＡＤＲＣ（Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｄｉｎｇ）に基づく量子化処理であり、前記クラスに対応して設定される最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）に基づいて量子化コード（Ｑコード）を算出する処理を実行させる処理であることを特徴とするプログラム記録媒体にある。
【００５８】
さらに、本発明の第７の側面は、
画像を構成する各ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードと、各ブロック単位の符号化データの終端を示すストップコードからなるブロック情報を入力して復号処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム記録媒体であって、前記コンピュータ・プログラムは、
符号化画像データ中の各ブロック単位の符号化データの終端を示すストップコードに基づいて、ブロック単位の符号化データとして、ブロックに設定されたクラスと、各画素に対応する量子化コードを解析し、各クラスに対して最小値（ＭＩＮ）、及びダイナミックレンジ（ＤＲ）を対応付けたクラス情報テーブルから、ブロックに設定されたクラスに対応する最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）を取得するブロック情報解析ステップと、
前記ブロック情報解析ステップにおいて取得した最小値（ＭＩＮ）、およびダイナミックレンジ（ＤＲ）、および前記ブロック情報に含まれる各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行する復号処理ステップと、
を具備することを特徴とするプログラム記録媒体にある。
【００５９】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００６０】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【００６１】
【発明の実施の形態】
以下、本発明の符号化処理装置、復号処理装置、および方法について、図面を参照しながら詳細に説明する。
【００６２】
図１は、本発明の符号化処理装置の構成を示すブロック図である。図１に示す符号化処理装置構成について説明する。符号化処理対象となる画像データは、まず、画素値解析部１０１に入力され、画像を構成する画素値の解析が実行される。画素値とは、例えば画像信号が白黒であれば輝度信号レベルが適用され、例えば０〜２５５の２５６階調の輝度レベルデータである。また、カラー画像信号でＹＵＶ信号、すなわち輝度に関する輝度信号Ｙ、色に関する２つの色信号Ｕ，Ｖが用いられる場合は、Ｙ，Ｕ，Ｖそれぞれについての信号レベルである。ＲＧＢ等の色信号を適用する場合は、ＲＧＢそれぞれについての信号レベルである。量子化処理は、各信号について実行されることになるが、その処理態様は同様のものであるので、以下では、０〜２５５の２５６階調の輝度レベル信号についての処理を行なうものとして説明する。
【００６３】
画素値解析部１０１では、画像を構成する画素値（輝度レベル）の解析が実行される。各画素は、０〜２５５の輝度レベルのいずれかの値を持つ。画像解析の結果として、画素値の信号（輝度）レベルの頻度分布情報を取得する。
【００６４】
例えば図２に示すように、画素値の信号（輝度）レベル０〜２５５の範囲で、いくつの画素が存在するかの頻度情報を取得する。図２の横軸が、信号レベル０〜２５５の軸であり、縦軸が発生画素数を示す頻度データ軸である。
【００６５】
画素値解析部１０１において、取得された画像の信号レベル情報は、クラス分類設定部１０２に入力され、クラス分類設定部１０２では、画素値解析部１０１の取得した画素値頻度情報に基づいて、クラス分類設定処理を実行する。
【００６６】
クラス分類設定部１０２は、図２に示すように、画素値信号レベルに応じたクラスの設定処理を実行する。図２では、画素値信号レベルの低いものから順にクラス０から、画素値信号レベルの高いもののクラス７まで、８つのクラスに分類した例を示している。なお、分割クラス数は８に限らず、任意数の設定が可能である。
【００６７】
クラス分類設定部１０２は、画素値解析部１０１の取得した頻度情報に基づいて、例えば、各クラスに含まれる画素数がほぼ均等となるようにクラス分類の設定処理を実行する。あるいは、あらかじめ定められた分割クラス数に応じて画素信号レベルを均等分割してクラス分類設定処理を実行してもよい。
【００６８】
図３に、クラス分類設定処理の態様を説明する図を示す。（ａ）は、画素値解析部１０１の取得した頻度情報に基づいて、各クラスに含まれる画素数がほぼ均等となるようにクラス分類を実行し、ｎ個のクラス（クラス０〜ｎ−１）を設定した処理例である。（ｂ）は、分割クラス数を８として、画素信号レベルを均等分割してクラス分類設定処理を実行した例であり、画素信号レベルが０〜２５５の場合、各クラスのレンジ（ダイナミックレンジ）は、３２として均等に設定される。
【００６９】
クラス分類設定部１０２において、画素値に応じたクラス設定処理が実行されると、そのクラス分類設定情報は、クラス情報テーブル生成部１０３に出力され、クラス分類設定部１０２における設定情報に基づいてクラス情報テーブルが生成される。
【００７０】
クラス情報テーブルは、例えば図４に示すように、クラスに対応する最小値（ＭＩＮ）の値と、ダイナミックレンジ（ＤＲ）を記録したテーブルとして生成される。クラスに対応する最小値（ＭＩＮ）は、各クラスの最小信号レベル値、すなわち下位クラスとの境界値の信号レベルとなる。クラスに対応するダイナミックレンジ（ＤＲ）は、そのクラスの属する信号レベルの最大値と最小値の差異に相当する値として設定される。
【００７１】
図４は、各クラスのダイナミックレンジは均等ではなく、例えば先に説明したように、画素値解析部１０１の取得した頻度情報に基づいて、各クラスに含まれる画素数がほぼ均等となるようにクラス分類の設定処理を行なった場合に生成されるクラス情報テーブルの例を示したものである。
【００７２】
あらかじめ定められた分割クラス数に応じて画素信号レベルを均等分割してクラス分類設定処理を実行した場合は、例えば図５に示すようなクラス情報テーブルが生成される。このテーブル例は、図３（ｂ）の８つの均等分割クラスとした設定において生成されるクラス情報テーブル例であり、クラス０〜７までの８つのクラスのダイナミックレンジは、全て３２の共通な値に設定されたテーブルとなる。
【００７３】
図４、または図５のようなクラス情報テーブルがクラス情報テーブル生成部１０３において生成されると、クラス分類処理部１０５は、生成されたテーブル情報に基づいて、遅延回路１０４から入力する符号化処理対象の画像データに含まれる画素のクラス分類処理を実行する。
【００７４】
図６を参照してクラス分類処理部１０５において実行するクラス分類処理について説明する。図６（ａ）がクラス分類処理を説明する図であり、画像データに含まれる各画素にクラスＮｏ．を割り当てる処理として実行される。クラスＮｏ．の割り当ては、クラス情報テーブル生成部１０３において生成したクラス情報テーブルに基づいて実行され、各画素値、すなわち信号レベルに応じて設定されるクラスＮｏ．が付与される。
【００７５】
例えば、先に説明した図４のクラス情報テーブルに基づくクラス分類処理が実行される場合は、クラスＮｏ．５の設定される画素は、画素値が１８５〜１９９の範囲の値にある画素であることを示している。また、図５のクラス情報テーブルに基づくクラス分類処理が実行される場合は、クラスＮｏ．５の設定される画素は、画素値が１６０〜１９１の範囲の値にある画素であることを示している。
【００７６】
クラス分類処理部１０５は、符号化対象画像に含まれる画素すべてについて、クラスの設定を行なう。
【００７７】
その後、ブロック分割部１０６は、クラス分類処理部１０５において設定された各画素のクラスに応じたブロック分割処理を実行する。図６（ｂ）が、ブロック分割処理を説明する図である。
【００７８】
ブロック分割部１０６は、図６（ｂ）に示すように、各画素を順次、横方向にスキャンし、隣接画素が同一クラスである場合は、同一ブロックとして設定し、隣接画素が異なるクラスとなる境界をブロック境界として設定する処理を実行する。
【００７９】
図６（ｂ）に示す例においては、最初の３画素がすべてクラス５であり、次の画素がクラス３となるので、クラス５の３画素を１ブロックとして設定する。次のクラス３の３画素がさらに１ブロックとして設定される。以下、同様に同一クラスである連続画素の集合を１ブロックとして設定する処理を順次、実行し、符号化処理対象画像の全画素のブロック分割処理を行なう。
【００８０】
図７にクラス分類処理およびブロック分割処理の手順を説明するフローを示す。フローに従って、クラス分類処理およびブロック分割処理について説明する。ステップＳ１１において、先頭画素からスキャンを開始し、画素値を検出し、クラス情報テーブルを参照してクラスを設定する。この設定情報はメモリに一時的に格納する。
【００８１】
この処理を処理対象画像の全画素について終了（Ｓ１２でＹｅｓ）すると、次にステップＳ１３において、先頭画素から設定クラスを判定し、ステップＳ１４において、前画素のクラスと同一か否かを判定し、同一クラスであれば、ステップＳ１５において、同一ブロックとして設定し、同一クラスでない場合は、ステップＳ１６において新規ブロックの設定を行なう。ステップＳ１７において、全画素についてのブロック分割が終了したか否かを判定して全画素についてのブロック分割が終了すると、処理を終了する。
【００８２】
ブロック分割部１０６において、処理対象画像のブロック分割が完了すると、各ブロックにおけるダイナミックレンジ（ＤＲ）、最小値（ＭＩＮ）がＤＲ、最小値（ＭＩＮ）算出部１０７において、算出された後、量子化（符号化）処理部１０８において量子化処理が実行される。
【００８３】
ＤＲ、最小値（ＭＩＮ）算出部１０７では、各ブロックのクラスに基づいて、適用したクラス情報テーブルから、各ブロックに対応するダイナミックレンジ（ＤＲ）、最小値（ＭＩＮ）を取得する。
【００８４】
先に説明した図４のクラス情報テーブルに基づくクラス分類処理が実行され、クラスＮｏ．５の設定された画素は、図４に示すクラス情報テーブルから、最小値（ＭＩＮ）＝１８５、ダイナミックレンジ（ＤＲ）＝１５の各データが取得される。また、図５のクラス情報テーブルに基づくクラス分類処理が実行され、クラスＮｏ．５の設定された画素は、図５に示すクラス情報テーブルから、最小値（ＭＩＮ）＝１６０、ダイナミックレンジ（ＤＲ）＝３２の各データが取得される。
【００８５】
量子化（符号化）処理部１０８は、各ブロック毎にブロック内の画素に対応する量子化コード（Ｑコード）を生成する。量子化（符号化）処理部１０８において実行する量子化コード（Ｑコード）の生成は、下式に従った処理として実行される。
【００８６】
【数３】
0004016662.tif 000003
【００８７】
上記式において、ｘ：画素値、Δ：量子化ステップ幅、ｎ：量子化ビット数である。ＤＲは、各ブロックに対応するダイナミックレンジ（ＤＲ）であり、ＤＲ、最小値（ＭＩＮ）算出部１０７が、各ブロックのクラスに基づいて、適用したクラス情報テーブルから取得した情報が適用される。ＭＩＮは、各ブロックに対応する最小値（ＭＩＮ）であり、これもＤＲ、最小値（ＭＩＮ）算出部１０７が、各ブロックのクラスに基づいて、適用したクラス情報テーブルから取得した情報が適用される。
【００８８】
量子化処理部１０８の生成した量子化コード（Ｑコード）は、各ブロック毎に設定されたクラスＮｏ．と共にブロック情報中に格納され出力される。
【００８９】
ブロック情報の構成例を図８に示す。ブロック情報には、各ブロックに設定されたクラスＮｏ．が格納される。クラスＮｏ．の格納ビット数は、分割クラス数をｍとしたとき、ｌｏｇ2ｍビットとなる。さらに、量子化コード（Ｑコード）が格納される。量子化コード（Ｑコード）のビット数は、量子化ビット数＝ｎ、ブロック内画素数＝ｋとしたとき、ｋ×ｎビットとなる。本発明の構成では、各ブロックに含まれる画素数が一定ではないので、ブロック情報の長さが均一とならない。そこで、各ブロック情報のエンドポイントを示すための識別コードをストップコードとして格納する。識別可能な最低ビット数のｓビットをここに格納する。この図８に示すブロック情報が、各分割ブロック毎に生成されて出力される。
【００９０】
なお、クラス情報生成部１０３の生成したクラス情報テーブル、すなわち、図４あるいは図５を参照して説明したクラス情報テーブルは、必要に応じて復号処理を実行する装置に対して供給する。ただし、符号化側と、復号側で、共通のクラス情報テーブルを共有している場合には、送付の必要はない。
【００９１】
図９にクラス情報テーブルとしての出力データ構成例を示す。クラス情報テーブデータには、クラスＮｏ．が格納される。クラスＮｏ．の格納ビット数は、分割クラス数をｍとしたとき、ｌｏｇ2ｍビットとなる。さらに、クラスに対応する最小値（ＭＩＮ）の値と、ダイナミックレンジ（ＤＲ）の各データが格納される。これらは、例えば０〜２５５の信号レベルを画素値として用いている場合は、それぞれ最大８ビットデータとして格納される。
【００９２】
上述したように、本発明の符号化処理装置では、ＡＤＲＣによる符号化を実行する際、ブロック・サイズを固定とせず、処理対象画像の画素値が類似する集合をブロックとして設定する動的なブロック区切りにより符号化を行なう構成としたので、各ブロックに含まれる画素値に基づく限定的なダイナミックレンジの設定が可能であり、均一なブロック・サイズを設定する従来の処理に比較して、各ブロックのダイナミックレンジを小さく設定でき、元の画素値と復号処理後の画素値との誤差を減少させることが可能となる。
【００９３】
また、本発明の構成では、１つのブロックは、類似する画素値を持つ画素の集合として構成されるので、従来の可変長ＡＤＲＣ処理のように、乖離した値を持つ画素値の存在による大きなダイナミックレンジの設定に起因する量子化ビット数の増加が発生することがなく、符号化効率の向上が実現される。
【００９４】
図１に示す符号化処理装置に示すように、本発明の構成では、さらに、間引き処理部１０９において間引き処理を実行して圧縮率を高めることができる。間引き処理を実行するか否かは選択可能であり必要に応じて実行する。
【００９５】
本発明の符号化処理では、上述の説明から明らかになように、類似する画素値を持つ集合を１つのブロックとして設定している構成であるので、１つのブロック内に含まれる画素は、同一ブロックに含まれる画素によって置き換えた場合においても、その画素値が大幅にずれることはない、そこで、間引き処理部１０９は、１つのブロック内の画素値を他の画素の量子化データから復元することを前提とした間引き処理を実行する。
【００９６】
間引き処理部１０９において実行する間引き処理について、図１０を参照して説明する。図１０は、１つのブロックに含まれる画素数が奇数の場合の間引き処理例を示すものである。
【００９７】
量子化処理前の画素値をａ［０］〜ａ［６］とした７つの画素を含むブロックについての処理例を説明する。図１における量子化処理部１０８は、各画素ａ［０］〜ａ［６］について、先に説明した（数式ａ１）に従って量子化コード（Ｑコード）を生成する。
【００９８】
間引き処理部１０９では、図１０に示すように、７つの量子化コードから、ａ［０］、ａ［２］、ａ［４］、ａ［６］の画素に対する量子化コードｂ［０］、ｂ［１］、ｂ［２］、ｂ［３］をブロック情報中に格納し、他のａ［１］、ａ［３］、ａ［５］の画素に対応する量子化コードは、間引きにより、ブロック情報には格納しない処理を行なう。この結果、ブロック情報中の量子化コード情報量は大幅に削減されることになる。
【００９９】
この間引きされた量子化コードを格納したブロック情報に基づく復号処理は、図１０に示すように、量子化コードｂ［０］、ｂ［１］、ｂ［２］、ｂ［３］から、復号画素としてのｃ［０］、ｃ［２］、ｃ［４］、ｃ［６］の画素を逆量子化処理により直接求め、それぞれの間の画素値ｃ［１］、ｃ［３］、ｃ［５］は、それぞれの隣接画素の中間値として設定する処理を行なう。例えば画素値ｃ［１］は、画素値ｃ［０］、ｃ［２］の中間値として設定する。なお、逆量子化処理による復号処理については、後段でさらに詳細に説明する。
【０１００】
図１０の例は、１つのブロック内の画素数が奇数である場合の処理であるが、偶数の場合の処理について、図１１を参照して説明する。
【０１０１】
図１１は、量子化処理前の画素値をａ［０］〜ａ［５］とした６つの画素を含むブロックについての処理例である。図１における量子化処理部１０８は、各画素ａ［０］〜ａ［５］について、先に説明した（数式ａ１）に従って量子化コード（Ｑコード）を生成する。
【０１０２】
間引き処理部１０９では、図１１に示すように、６つの量子化コードから、ａ［０］、ａ［２］、ａ［４］、ａ［５］の画素に対する量子化コードｂ［０］、ｂ［１］、ｂ［２］、ｂ［３］をブロック情報中に格納し、他のａ［１］、ａ［３］の画素に対応する量子化コードは、間引きにより、ブロック情報には格納しない処理を行なう。この結果、ブロック情報中の量子化コード情報量は大幅に削減されることになる。
【０１０３】
このように、間引き処理部１０９では、間引き後に残存する画素データを２つの隣接領域に存在可能となる位置にある画素データの間引き処理を実行する。
【０１０４】
この間引きされた量子化コードを格納したブロック情報に基づく復号処理は、図１１に示すように、量子化コードｂ［０］、ｂ［１］、ｂ［２］、ｂ［３］から、復号画素としてのｃ［０］、ｃ［２］、ｃ［４］、ｃ［５］の画素を逆量子化処理により直接求め、それぞれの間の画素値ｃ［１］、ｃ［３］は、それぞれの隣接画素の中間値として設定する処理を行なう。
【０１０５】
この間引き処理によって生成されるブロック情報の構成例を図１２に示す。ブロック情報には、各ブロックに設定されたクラスＮｏ．が格納される。クラスＮｏ．の格納ビット数は、分割クラス数をｍとしたとき、ｌｏｇ2ｍビットとなる。さらに、間引き処理を実行した結果としてのブロック情報であるか、あるいは間引き処理を実行していない全画素の量子化コードを格納したブロック情報であるかの識別情報としてのフラグが１ビット格納される。
【０１０６】
さらに、量子化コード（Ｑコード）が格納される。量子化コード（Ｑコード）のビット数は、量子化ビット数＝ｎ、格納画素数＝ｋ’としたとき、ｋ’×ｎビットとなる。本構成では、格納画素数＝ｋ’＝間引き後の画素数となる。さらに、各ブロック情報のエンドポイントを示すための識別コードをストップコードとして格納する。識別可能な最低ビット数のｓビットをここに格納する。この図１２に示すブロック情報が、各分割ブロック毎に生成されて出力される。
【０１０７】
このように、間引き処理を行なうことによって、圧縮率が大幅に向上することになる。本発明の構成では、各ブロックに含まれる画素の画素値は近い値を持つことが保証されているので、上述したように、間引きされた画素の画素値を同一ブロックに含まれる復元画素値に基づいて復元することで、元画素と大きな誤差が発生することがない。
【０１０８】
図１３に量子化処理、および間引き処理の処理手順を説明するフローを示す。フローの各ステップについて説明する。ステップＳ２１では、ブロック毎の量子化が実行される。量子化処理は、前述の数式ａ１に基づくＱコードの生成処理として実行される。ステップＳ２２で全ブロックの量子化処理が終了したと判定されると、ステップＳ２３に進み、先頭ブロックに戻り、ステップＳ２４において各ブロック毎の間引き処理が実行される。この間引き処理は、先に図１０、図１１で説明した処理であり、各ブロックに含まれる画素数が奇数か偶数かによって処理態様が異なってくる。ステップＳ２５で全ブロックの間引き処理が終了したと判定されると処理を終了する。
【０１０９】
なお、上述の説明では、全ての画素についての量子化処理後に間引き処理を実行するものとして説明したが、間引き処理を量子化処理以前に実行して、間引き後に残った画素についてのみ量子化処理を実行する構成としてもよい。
【０１１０】
次に、復号処理装置について、図１４に示すブロック図を参照して説明する。復号処理対象となるブロック情報は、間引き処理されていない場合は、先に図８を参照して説明した構成となり、間引き処理されている場合は、先に図１２を参照して説明した構成となる。ここでは、図１２の構成を持つ場合の処理について説明する。
【０１１１】
ブロック情報解析部２０１は、復号対象となるブロック情報の解析処理を実行する。入力ブロック情報から、各ブロックに対応して設定されたクラスＮｏ．情報、間引き処理の実行有無を示す識別情報、さらにブロック内の画素値を量子化した量子化コードを取得する。なお、各ブロック情報の区切りは、ストップコードを検出するとこによって実行する。
【０１１２】
ブロック情報解析部２０１は、各ブロック情報に格納されたクラスＮｏ．を参照し、あらかじめ保持している、あるいは符号化処理装置から提供されたクラス情報テーブル２０２を参照して、クラスＮｏ．に対応する最小値（ＭＩＮ）と、ダイナミックレンジ（ＤＲ）の各値を取得する。先に図４、５を参照して説明したように、クラス情報テーブル２０２には、クラスＮｏ．に対応する最小値（ＭＩＮ）と、ダイナミックレンジ（ＤＲ）が格納されており、これらの情報を取得する。
【０１１３】
復号処理装置の最小値取得部２０３は、ブロック情報解析部２０１が、ブロック情報中のクラスＮｏ．に基づいてクラス情報テーブル２０２から取得した最小値を取得する。ＤＲ取得部２０４は、ブロック情報解析部２０１が、ブロック情報中のクラスＮｏ．に基づいてクラス情報テーブル２０２から取得したダイナミックレンジ（ＤＲ）を取得する。復号（逆量子化）処理部２０５は、ブロック情報内の量子化コード（Ｑコード）と、最小値取得部２０３の取得した最小値（ＭＩＮ）、ＤＲ取得部２０４の取得したダイナミックレンジ（ＤＲ）とに基づいて、復号処理を実行する。復号処理は、復元画素値をｘ’として、下式に従ってｘ’を算出する処理として実行する。
【０１１４】
【数４】
ｘ’＝（Ｑ＋０．５）×Δ＋ＭＩＮ（ＤＲ≧２nの場合）
ｘ’＝（Ｑ＋ＭＩＮ）    （ＤＲ＜２nの場合）
……（数式ａ２）
【０１１５】
上記式において、ｘ’：復元画素値、ＭＩＮ：最小値、Ｑ：量子化コード（Ｑコード）、Δ：量子化ステップ幅、ｎ：量子化ビット数、ＤＲ：ダイナミックレンジであり、ＤＲ、およびＭＩＮは、ブロック情報解析部２０１が、ブロック情報中のクラスＮｏ．に基づいてクラス情報テーブル２０２から取得したダイナミックレンジ（ＤＲ）および最小値（ＭＩＮ）である。
【０１１６】
このようにして、ブロック情報から、各画素の復元画素値ｘ’が求められ、復元画素値に基づいて画像データが再生される。
【０１１７】
ただし、間引き処理を実行している場合は、間引きされた画素データの復元を、間引きデータ復元部２０６において実行する。間引き処理が実行されているか否かは、ブロック情報中の識別フラグのビットによってブロック情報解析部２０１が解析し、間引きされた情報を格納したブロック情報の処理である場合にのみ、間引きデータ復元部２０６における処理を実行する。
【０１１８】
間引きデータ復元部の処理は、先に図１０、図１１を参照して説明した通りの処理であり、間引きされた量子化コードｂ［０］、ｂ［１］、ｂ［２］…から復号により求められた画素値ｃ［０］、ｃ［２］、ｃ［４］…の画素に基づいて、それぞれの間の画素値ｃ［１］、ｃ［３］…を隣接画素の中間値として設定する処理として行われる。
【０１１９】
間引きされた情報を格納したブロック情報の処理である場合は、間引きデータ復元部２０６における間引きデータ復元処理を実行した後、復元画素値に基づく画像再生、出力を実行する。
【０１２０】
次に、図１５および図１６に示すフローチャートを参照して、本実施例に係る符号化処理装置、および復号処理装置の処理手順について説明する。
【０１２１】
まず、図１の符号化処理装置の構成を参照しながら、図１５の各ステップにおける処理について説明する。符号化処理対象となる画像データは、まず、ステップＳ１０１において、図１に示す符号化処理装置の画素値解析部１０１に入力され、画像を構成する画素値の解析が実行される。画素値とは、前述したように、例えば画像信号が白黒であれば輝度信号レベルが適用され、例えば０〜２５５の２５６階調の輝度レベルデータ、カラー画像信号でＹＵＶ信号が用いられる場合は、Ｙ，Ｕ，Ｖそれぞれについての信号レベル、ＲＧＢ等の色信号を適用する場合は、ＲＧＢそれぞれについての信号レベルである。
【０１２２】
ステップＳ１０１の画素値解析処理では、画素値の信号（輝度）レベルの頻度分布情報を取得し、先に説明した図２に示すような頻度情報を取得する。
【０１２３】
次に、ステップＳ１０２において、クラス分類設定部１０２が、ステップＳ１０１で取得した頻度情報に基づいて、クラス分類設定処理を実行する。すなわち、画素値信号レベルに応じたクラスの設定処理を実行する。例えば、画素値信号レベルの低いものから順にクラス０から、画素値信号レベルの高いもののクラスｎ−１まで、ｎ個のクラスに分類する。
【０１２４】
なお、前述したように、クラス分類設定処理は、画素値の頻度情報に基づいて、各クラスに含まれる画素数がほぼ均等となるようなクラス分類設定処理や、あらかじめ定められた分割クラス数に応じて画素信号レベルを均等分割してクラス分類する等の各種の処理方法を適宜選択して実行可能である。
【０１２５】
次に、ステップＳ１０３において、クラス情報テーブル生成部１０３が、クラス分類設定情報に基づく、クラス情報テーブル生成処理を実行する。クラス情報テーブルは、先に、図４、図５を参照して説明したように、クラスに対応する最小値（ＭＩＮ）の値と、ダイナミックレンジ（ＤＲ）を記録したテーブルである。
【０１２６】
次に、ステップＳ１０４において、クラス分類処理部１０４が、ステップＳ１０３で生成されたクラス情報テーブル情報に基づいて、符号化処理対象の画像データに含まれる画素のクラス分類処理を実行する。この処理は、先に図６（ａ）を参照して説明した処理デあり、画像データに含まれる各画素にクラスＮｏ．を割り当てる処理として実行される。クラスＮｏ．の割り当ては、生成したクラス情報テーブルに基づいて実行され、各画素値、すなわち信号レベルに応じて設定されるクラスＮｏ．が付与される。
【０１２７】
次に、ステップＳ１０５において、ブロック分割部１０６が、ステップＳ１０３で設定された各画素のクラスに応じたブロック分割処理を実行する。この処理は、先に図６（ｂ）を参照して説明した処理であり、各画素を順次スキャンし、隣接画素が同一クラスである場合は、同一ブロックとして設定し、隣接画素が異なるクラスとなる境界をブロック境界として設定する処理である。
【０１２８】
次にステップＳ１０６において、量子化（符号化）処理部１０８において量子化処理が実行される。量子化処理は、各ブロック毎にブロック内の画素に対応する量子化コード（Ｑコード）を生成する処理として実行され、先に説明した（数式ａ１）に従った量子化コード（Ｑコード）生成が実行される。なお、この際に使用するダイナミックレンジ（ＤＲ）、最小値（ＭＩＮ）は、各ブロックのクラスに基づいてクラス情報テーブルから取得する。
【０１２９】
次にステップＳ１０７において、間引き処理を実行するか否かを判定し、実行しない場合は、ステップＳ１０９において、量子化処理部１０４の生成した量子化コード（Ｑコード）と、各ブロック毎に設定したクラスＮｏ．、さらにストップコードを格納したブロック情報、すなわち、先に図８を参照して説明したブロック情報を生成して出力する。
【０１３０】
間引き処理を実行する場合は、ステップＳ１０８において、間引き処理部１０９が間引き処理を実行する。間引き処理は、先に、図１０、図１１を参照して説明したように、原則として１つおきの画素値に基づく量子化コードのみをブロック情報格納コードとする処理である。間引きにより、ブロック情報中の量子化コード情報量は大幅に削減されることになる。
【０１３１】
間引き処理が実行された後、ステップＳ１０９において、間引き後の量子化コード（Ｑコード）と、各ブロック毎に設定したクラスＮｏ．、間引き処理の実行有無を示す識別フラグと、ストップコードとを格納したブロック情報、すなわち、先に図１２を参照して説明したブロック情報を生成して出力する。
【０１３２】
なお、ステップＳ１０３において生成したクラス情報テーブルは、必要に応じてブロック情報とともに復号処理を実行する装置に対して供給する。ただし、符号化側と、復号側で、共通のクラス情報テーブルを共有している場合には、送付の必要はない。
【０１３３】
次に、復号処理装置の処理について、図１６の処理フローに従って説明する。ステップＳ２０１において、復号処理対象となるブロック情報を入力する。復号処理対象となるブロック情報は、間引き処理されていない場合は、先に図８を参照して説明した構成となり、間引き処理されている場合は、先に図１２を参照して説明した構成となる。
【０１３４】
ステップＳ２０２では、ブロック情報解析部２０１が復号対象となるブロック情報の解析処理を実行する。入力ブロック情報から、各ブロックに対応して設定されたクラスＮｏ．情報、間引き処理の実行有無を示す識別情報、さらにブロック内の画素値を量子化した量子化コードを取得し、クラスＮｏ．に基づいてクラス情報テーブルを参照して、クラスＮｏ．に対応する最小値（ＭＩＮ）と、ダイナミックレンジ（ＤＲ）の各値を取得する。
【０１３５】
ステップＳ２０３では、復号（逆量子化）処理部２０５が、ブロック情報から取得する量子化コード（Ｑコード）と、クラス情報テーブルから取得した最小値（ＭＩＮ）、ダイナミックレンジ（ＤＲ）とに基づいて、復号処理を実行する。復号処理は、先に説明した（数式ａ２）に従って復元画素値ｘ’を算出する処理として実行される。
【０１３６】
次に、ステップＳ２０４において、間引き処理が実行されたデータであるか否かが判定される。これはブロック情報中の識別フラグ（図１２参照）に基づいて実行される。間引き処理のなされたブロック情報でない場合は、ステップＳ２０３の復号処理において復号した画素がブロックに含まれる全画素であり、ステップＳ２０６において、復元画素値の出力を行なう。
【０１３７】
ステップＳ２０４において、ブロック情報中の識別フラグ（図１２参照）に基づいて間引き処理を実行していると判定した場合は、ステップＳ２０５において、間引きデータ復元部２０６が間引きされた画素データの復元処理を実行する。
【０１３８】
間引きデータ復元処理は、先に図１０、図１１を参照して説明した通りの処理であり、間引きされた量子化コードｂ［０］、ｂ［１］、ｂ［２］…から復号により求められた画素値ｃ［０］、ｃ［２］、ｃ［４］…の画素に基づいて、それぞれの間の画素値ｃ［１］、ｃ［３］…を隣接画素の中間値として設定する処理として行われる。
【０１３９】
ステップＳ２０６の間引きデータ復元処理が完了すると、ステップＳ２０６において、復号画素と、間引きデータ復元画素とを含む画素をブロック内の復元画素として画像出力を行なう。
【０１４０】
上述したように、本発明の構成では、ＡＤＲＣによる符号化を実行する際、ブロック・サイズを固定とせず、処理対象画像の画素値が類似する集合をブロックとして設定する動的なブロック区切りにより符号化を行なう構成としたので、各ブロックに含まれる画素値に基づく限定的なダイナミックレンジの設定が可能であり、均一なブロック・サイズを設定する従来の処理に比較して、各ブロックのダイナミックレンジを小さく設定でき、元の画素値と復号処理後の画素値との誤差を減少させることが可能となる。
【０１４１】
また、本発明の構成では、１つのブロックは、類似する画素値を持つ画素の集合として構成されるので、従来の可変長ＡＤＲＣ処理のように、乖離した値を持つ画素値の存在による大きなダイナミックレンジの設定に起因する量子化ビット数の増加が発生することがなく、符号化効率の向上が実現される。
【０１４２】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１４３】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１４４】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１４５】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介したりして、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１４６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０１４７】
【発明の効果】
以上説明してきたように、本発明の構成によれば、ＡＤＲＣによる符号化処理または復号処理対象のブロック・サイズを固定とせず、処理対象画像の画素値が類似する集合をブロックとして設定した符号化を行ない、またこれらのブロック単位での復号を実行する構成とした。符号化処理の際、画素値に応じて類似画素値のみからなるブロック区切りを設定してブロック単位での符号化を行なう構成としたので、各ブロックに含まれる画素値に基づく限定的なダイナミックレンジの設定が可能であり、均一なブロック・サイズを設定する従来の処理に比較して、各ブロックのダイナミックレンジを小さく設定でき、元の画素値と復号処理後の画素値との誤差を減少させることが可能となる。
【０１４８】
また、本発明の構成によれば、ＡＤＲＣによる符号化処理または復号処理対象のブロックは、類似する画素値を持つ画素の集合として構成されるので、従来の可変長ＡＤＲＣ処理のように、乖離した値を持つ画素値の存在による大きなダイナミックレンジの設定に起因する量子化ビット数の増加が発生することがなく、符号化効率の向上が実現される。
【０１４９】
また、本発明の構成によれば、ＡＤＲＣによる符号化処理または復号処理対象のブロック内に含まれる量子化コードを全画素に対応するものとせず、間引きした後の残りの画素に対応する量子化コードのみをブロック情報に格納する構成としたので、ブロック情報の情報量の削減が達成される。ブロックは、類似する画素値を持つ画素の集合として構成されるので、間引き画素の画素値の復元を同一ブロック内の画素値に基づいて実行しても、大幅な誤差が発生することがない。
【図面の簡単な説明】
【図１】本発明の符号化処理装置の構成を示すブロック図である。
【図２】本発明の符号化処理装置のクラス分類処理を説明する図である。
【図３】本発明の符号化処理装置のクラス分類処理を説明する図である。
【図４】本発明の構成に係るクラス情報テーブルの構成例を示す図である。
【図５】本発明の構成に係るクラス情報テーブルの構成例を示す図である。
【図６】本発明の構成に係るクラス分類処理およびブロック分割処理例を説明する図である。
【図７】本発明の符号化処理構成に係るクラス分類処理およびブロック分割処理を説明するフロー図である。
【図８】本発明の構成に係るブロック情報構成例を示す図である。
【図９】本発明の構成に係るクラス情報テーブルデータ構成例を示す図である。
【図１０】本発明の符号化処理および復号処理における間引き処理および復元処理を説明する図である。
【図１１】本発明の符号化処理および復号処理における間引き処理および復元処理を説明する図である。
【図１２】本発明の構成に係るブロック情報構成例を示す図である。
【図１３】本発明の符号化処理における量子化処理、間引き処理手順を説明するフロー図である。
【図１４】本発明の構成に復号処理装置構成例を示すブロック図である。
【図１５】本発明の構成に係る符号化処理手順を説明するフロー図である。
【図１６】本発明の構成に係る符号化処理手順を説明するフロー図である。
【図１７】ＡＤＲＣ処理の概要を説明する図である。
【図１８】ＡＤＲＣ処理における量子化処理の概要を説明する図である。
【図１９】ＡＤＲＣ処理において生成するブロック情報の構成を説明する図である。
【図２０】固定長ＡＤＲＣ処理の手順を説明するフロー図である。
【図２１】可変長ＡＤＲＣ処理の手順を説明するフロー図である。
【符号の説明】
１０１  画素値解析部
１０２  クラス分類設定部
１０３  クラス情報テーブル生成部
１０４  遅延回路
１０５  クラス分類処理部
１０６  ブロック分割部
１０７  ＤＲ,最小値（ＭＩＮ）算出部
１０８  量子化処理部
１０９  間引き処理部
２０１  ブロック情報解析部
２０２  クラス情報テーブル
２０３  最小値（ＭＩＮ）取得部
２０４  ＤＲ取得部
２０５  復号（逆量子化）処理部
２０６  間引きデータ復元部
８０１  画像データ
８０２  ブロック
８０３  信号レベルデータ
【図１】
0004016662.tif 000004
【図２】
0004016662.tif 000005
【図３】
0004016662.tif 000006
【図４】
0004016662.tif 000007
【図５】
0004016662.tif 000008
【図６】
0004016662.tif 000009
【図７】
0004016662.tif 000010
【図８】
0004016662.tif 000011
【図９】
0004016662.tif 000012
【図１０】
0004016662.tif 000013
【図１１】
0004016662.tif 000014
【図１２】
0004016662.tif 000015
【図１３】
0004016662.tif 000016
【図１４】
0004016662.tif 000017
【図１５】
0004016662.tif 000018
【図１６】
0004016662.tif 000019
【図１７】
0004016662.tif 000020
【図１８】
0004016662.tif 000021
【図１９】
0004016662.tif 000022
【図２０】
0004016662.tif 000023
【図２１】
0004016662.tif 000024