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