(57)【要約】【課題】量子化誤差の低減化、および、量子化・逆量子化の処理の高速化の両方を実現することができるようにする。【解決手段】  入力画像の画素値の出現頻度分布を示すヒストグラムを生成するヒストグラム生成部と、前記入力画像の画素値のビット深度を変換する際に利用されるテーブル情報であって、前記ヒストグラム生成部により生成された前記ヒストグラムにおいて出現頻度が非ゼロの有効画素をビット深度変更後のインデックス値に割り当てるテーブル情報である量子化テーブルを、前記有効画素を前記インデックス値にできるだけ均等に割り当てるようにして生成する量子化テーブル生成部とを備える。本開示は画像処理装置に適用することができる。【選択図】図２
2013029953.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の画素値の出現頻度分布を示すヒストグラムを生成するヒストグラム生成部と、
前記入力画像の画素値のビット深度を変換する際に利用されるテーブル情報であって、前記ヒストグラム生成部により生成された前記ヒストグラムにおいて出現頻度が非ゼロの有効画素をビット深度変更後のインデックス値に割り当てるテーブル情報である量子化テーブルを、前記有効画素を前記インデックス値にできるだけ均等に割り当てるようにして生成する量子化テーブル生成部と
を備える画像処理装置。
【請求項２】
前記量子化テーブル生成部は、各インデックス値に対して、ビット深度変更後の全てのインデックス値に対して均等に割り当てることができる前記有効画素の最大数である均等割り当て数ｓ、若しくは、（ｓ＋１）の前記有効画素を割り当てる
請求項１に記載の画像処理装置。
【請求項３】
前記量子化テーブル生成部は、
各インデックス値に対して、前記均等割り当て数（ｓ＋１）ずつ前記有効画素を割り当てる第１のインデックス値決定部と、
各インデックス値に対して、前記均等割り当て数ｓずつ前記有効画素を割り当てる第２のインデックス値決定部と、
前記第１のインデックス値決定部、および、前記第２のインデックス値決定部の内、いずれか一方を選択し、選択したインデックス値決定部を用いて前記有効画素の割り当てを行う制御部と
を備える請求項２に記載の画像処理装置。
【請求項４】
前記制御部は、
インデックス値の小さい方から順に前記有効画素を割り当て、前記有効画素を割り当てたインデックス値の数が、前記均等割り当て数ｓずつ前記有効画素を各インデックス値に割り当てたときの、残りの有効画素数を示す割り当て残差Nhに達するまで、前記第１のインデックス値決定部により前記有効画素の割り当てを行わせるように制御し、
前記有効画素を割り当てたインデックス値の数が前記割り当て残差Nhに達した後は、前記第２のインデックス値決定部により前記有効画素の割り当てを行わせるように制御する
請求項３に記載の画像処理装置。
【請求項５】
前記ヒストグラム生成部により生成された前記ヒストグラムにおける前記有効画素を検出し、前記有効画素の数を示す有効画素数、および、前記有効画素の値を示す有効画素値を求める有効画素情報生成部をさらに備える
請求項４に記載の画像処理装置。
【請求項６】
前記有効画素情報生成部により求められた前記有効画素数を用いて、前記均等割り当て数ｓを算出する均等割り当て数算出部をさらに備える
請求項５に記載の画像処理装置。
【請求項７】
前記有効画素情報生成部により求められた前記有効画素数、および、前記均等割り当て数算出部により生成される前記均等割り当て数を用いて、前記割り当て残差Nhを生成する割り当て残差算出部をさらに備える
請求項６に記載の画像処理装置。
【請求項８】
前記量子化テーブル生成部により生成された前記量子化テーブルを記憶する量子化テーブル記憶部をさらに備える
請求項１に記載の画像処理装置。
【請求項９】
前記量子化テーブル生成部により生成された前記量子化テーブルを用いて前記入力画像の各画素値の量子化を行う量子化部をさらに備える
請求項１に記載の画像処理装置。
【請求項１０】
前記入力画像の画素値のビット深度を逆変換する際に利用されるテーブル情報であって、前記インデックス値に、各インデックス毎に設定された所定の代表値を割り当てるテーブル情報である代表値テーブルを生成する代表値テーブル生成部をさらに備える
請求項１に記載の画像処理装置。
【請求項１１】
前記代表値テーブル生成部は、各インデックス値に割り当てられた前記有効画素値の重心を、前記インデックス値に対応する代表値とする
請求項１０に記載の画像処理装置。
【請求項１２】
前記代表値テーブル生成部により生成された前記代表値テーブルを記憶する代表値テーブル記憶部をさらに備える
請求項１０に記載の画像処理装置。
【請求項１３】
前記代表値テーブル生成部により生成された前記代表値テーブルを用いて前記インデックス値の逆量子化を行う逆量子化部をさらに備える
請求項１０に記載の画像処理装置。
【請求項１４】
画像処理装置の画像処理方法であって、
ヒストグラム生成部が、入力画像の画素値の出現頻度分布を示すヒストグラムを生成し、
量子化テーブル生成部が、前記入力画像の画素値のビット深度を変換する際に利用されるテーブル情報であって、前記ヒストグラム生成部により生成された前記ヒストグラムにおいて出現頻度が非ゼロの有効画素をビット深度変更後のインデックス値に割り当てるテーブル情報である量子化テーブルを、前記有効画素を前記インデックス値にできるだけ均等に割り当てるようにして生成する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、量子化誤差を抑制することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
従来、画像処理等において、高ビット深度から低ビット深度へのビット変換技術が、一般に量子化技術として存在する。つまり、量子化処理においては、Nビット画像がLビット（N＞L）に変換される。これに対して、低ビット深度から高ビット深度への逆変換処理は、逆量子化に相当する。画像の量子化法としては、線形量子化法が一般に用いられているが、計算が軽量であるものの、量子化誤差が比較的大きい。そのため、高ビット深度の画像を量子化により低ビット深度の画像に変換し、さらに、その低ビット深度の画像を逆量子化により高ビット深度の画像に変換する（元のビット深度に戻す）場合、復元された高ビット深度の画像（量子化・逆量子化処理後の画像）は、オリジナル画像（量子化・逆量子化前の画像）に比べて、大きく劣化する恐れがあった。
【０００３】
これに対して、ロイドマックス（Lloyd-Max）量子化法が提案された（例えば、非特許文献１参照）。このロイドマックス量子化法は、一般的に画像に付与される歪が小さい量子化法として知られている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Lloyd, "Least squares quantization in PCM", IEEE Transactions, Information Theory,vol.IT-28, no.2, pp.129-137, Mar.1982
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このロイドマックス量子化法では、最小歪を与えるための量子化区間の幅と量子化代表値とが、繰り返し計算によって算出されるので、処理時間が増大する恐れがあった。
【０００６】
本開示は、このような状況に鑑みてなされたものであり、量子化誤差の低減化、および、量子化・逆量子化の処理の高速化の両方を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一側面は、入力画像の画素値の出現頻度分布を示すヒストグラムを生成するヒストグラム生成部と、前記入力画像の画素値のビット深度を変換する際に利用されるテーブル情報であって、前記ヒストグラム生成部により生成された前記ヒストグラムにおいて出現頻度が非ゼロの有効画素をビット深度変更後のインデックス値に割り当てるテーブル情報である量子化テーブルを、前記有効画素を前記インデックス値にできるだけ均等に割り当てるようにして生成する量子化テーブル生成部とを備える画像処理装置である。
【０００８】
前記量子化テーブル生成部は、各インデックス値に対して、ビット深度変更後の全てのインデックス値に対して均等に割り当てることができる前記有効画素の最大数である均等割り当て数ｓ、若しくは、（ｓ＋１）の前記有効画素を割り当てることができる。
【０００９】
前記量子化テーブル生成部は、各インデックス値に対して、前記均等割り当て数（ｓ＋１）ずつ前記有効画素を割り当てる第１のインデックス値決定部と、各インデックス値に対して、前記均等割り当て数ｓずつ前記有効画素を割り当てる第２のインデックス値決定部と、前記第１のインデックス値決定部、および、前記第２のインデックス値決定部の内、いずれか一方を選択し、選択したインデックス値決定部を用いて前記有効画素の割り当てを行う制御部とを備えることができる。
【００１０】
前記制御部は、インデックス値の小さい方から順に前記有効画素を割り当て、前記有効画素を割り当てたインデックス値の数が、前記均等割り当て数ｓずつ前記有効画素を各インデックス値に割り当てたときの、残りの有効画素数を示す割り当て残差Nhに達するまで、前記第１のインデックス値決定部により前記有効画素の割り当てを行わせるように制御し、前記有効画素を割り当てたインデックス値の数が前記割り当て残差Nhに達した後は、前記第２のインデックス値決定部により前記有効画素の割り当てを行わせるように制御することができる。
【００１１】
前記ヒストグラム生成部により生成された前記ヒストグラムにおける前記有効画素を検出し、前記有効画素の数を示す有効画素数、および、前記有効画素の値を示す有効画素値を求める有効画素情報生成部をさらに備えることができる。
【００１２】
前記有効画素情報生成部により求められた前記有効画素数を用いて、前記均等割り当て数ｓを算出する均等割り当て数算出部をさらに備えることができる。
【００１３】
前記有効画素情報生成部により求められた前記有効画素数、および、前記均等割り当て数算出部により生成される前記均等割り当て数を用いて、前記割り当て残差Nhを生成する割り当て残差算出部をさらに備えることができる。
【００１４】
前記量子化テーブル生成部により生成された前記量子化テーブルを記憶する量子化テーブル記憶部をさらに備えることができる。
【００１５】
前記量子化テーブル生成部により生成された前記量子化テーブルを用いて前記入力画像の各画素値の量子化を行う量子化部をさらに備えることができる。
【００１６】
前記入力画像の画素値のビット深度を逆変換する際に利用されるテーブル情報であって、前記インデックス値に、各インデックス毎に設定された所定の代表値を割り当てるテーブル情報である代表値テーブルを生成する代表値テーブル生成部をさらに備えることができる。
【００１７】
前記代表値テーブル生成部は、各インデックス値に割り当てられた前記有効画素値の重心を、前記インデックス値に対応する代表値とすることができる。
【００１８】
前記代表値テーブル生成部により生成された前記代表値テーブルを記憶する代表値テーブル記憶部をさらに備えることができる。
【００１９】
前記代表値テーブル生成部により生成された前記代表値テーブルを用いて前記インデックス値の逆量子化を行う逆量子化部をさらに備えることができる。
【００２０】
本開示の一側面は、また、画像処理装置の画像処理方法であって、ヒストグラム生成部が、入力画像の画素値の出現頻度分布を示すヒストグラムを生成し、量子化テーブル生成部が、前記入力画像の画素値のビット深度を変換する際に利用されるテーブル情報であって、前記ヒストグラム生成部により生成された前記ヒストグラムにおいて出現頻度が非ゼロの有効画素をビット深度変更後のインデックス値に割り当てるテーブル情報である量子化テーブルを、前記有効画素を前記インデックス値にできるだけ均等に割り当てるようにして生成する画像処理方法である。
【００２１】
本開示の一側面においては、入力画像の画素値の出現頻度分布を示すヒストグラムが生成され、入力画像の画素値のビット深度を変換する際に利用されるテーブル情報であって、生成されたヒストグラムにおいて出現頻度が非ゼロの有効画素をビット深度変更後のインデックス値に割り当てるテーブル情報である量子化テーブルが、有効画素をインデックス値にできるだけ均等に割り当てるようにして生成される。
【発明の効果】
【００２２】
本開示によれば、量子化を行うことができる。特に、量子化処理時間の増大を抑制しながら量子化誤差を低減させることができる。
【図面の簡単な説明】
【００２３】
【図１】画素値のヒストグラムの例を説明する図である。
【図２】量子化を行う画像処理装置の主な構成例を示すブロック図である。
【図３】量子化テーブル生成部の主な構成例を示すブロック図である。
【図４】有効画素値を割り当てる様子の例を説明する図である。
【図５】量子化・逆量子化を行うシステムの主な構成例を示すブロック図である。
【図６】量子化用テーブル設定処理の流れの例を説明するフローチャートである。
【図７】量子化テーブル設定処理の流れの例を説明するフローチャートである。
【図８】量子化処理の流れの例を説明するフローチャートである。
【図９】逆量子化処理の流れの例を説明するフローチャートである。
【図１０】１２ビット深度の医用画像の例を示す図である。
【図１１】量子化・逆量子化後の画質の例を示す図である。
【図１２】処理時間の例を示す図である。
【図１３】量子化テーブル生成部の他の構成例を示すブロック図である。
【図１４】量子化テーブル設定処理の流れの、他の例を説明するフローチャートである。
【図１５】量子化テーブル生成部の、さらに他の構成例を示すブロック図である。
【図１６】量子化テーブル設定処理の流れの、さらに他の例を説明するフローチャートである。
【図１７】量子化・逆量子化を行うシステムの他の構成例を示すブロック図である。
【図１８】パーソナルコンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像処理装置）
２．第２の実施の形態（量子化テーブル生成部の他の例）
３．第３の実施の形態（量子化テーブル生成部のさらに他の例）
４．第４の実施の形態（ブロック毎に量子化・逆量子化を行うシステム）
５．第５の実施の形態（パーソナルコンピュータ）
【００２５】
＜１．第１の実施の形態＞
［画像のヒストグラム］
画像は一般にヒストグラムの頻度に偏りを持っている。例えば、各画素のビット深度がNビットの画像が2N個の異なる画素値を持っているとは限らない。つまり、多くの画像は、疎（スパース）なヒストグラムを持つ。特に、高ダイナミックレンジ画像やRAW画像の場合には、疎性が強く現れる。
【００２６】
なお、ここで、「疎」とは、出現頻度がゼロの画素値が存在することを示す。つまり、このような出現頻度がゼロの画素値が多いほど、疎性が強い。
【００２７】
図１は、RAW画像の輝度成分のヒストグラムの例を示す図である。一般的なRAW画像の場合、そのヒストグラムは、図１Ａに示されるように、全体において「密」、すなわち、全ての画素値の出現頻度が非ゼロであるように見える。しかしながら、実際には、図１Ｂに示されるように、出現頻度がゼロの画素値が多数存在する疎なヒストグラムである場合が多い。図１Ｂは、図１Ａのヒストグラムの一部の拡大図である。
【００２８】
このように、RAW画像のヒストグラムは一般的に疎である。すなわち、出現頻度が非ゼロの画素値を「有効画素」とすると、この有効画素数Neは、Ne＜2Nとなる。
【００２９】
このような疎なヒストグラムを持つ画像に対して、最適量子化法として知られるロイドマックス（Lloyd-Max）量子化法を用いて量子化を行うと、全ての画素値の出現頻度がゼロのクラスが生成される可能性が高い。ロイドマックス量子化法ではクラス分けの際にヒストグラムが等間隔に区切られるからである。そのため、クラス数が不足し、最適解が得られないことが証明されている。
【００３０】
このような場合、汎用数学ソフトMATLABでは、隣接する２つの代表値を同値にすることで、代表値の更新を行う。これにより、出現頻度０のクラスは、その隣のクラスと併合される。最終的に、出現頻度０のクラスが無くなるまでこのような更新が繰り返される。
【００３１】
しかしながら、この方法の場合、隣り合うクラス同士が合体され、１つのクラスにされるので、結果としてクラス数が低減される。したがって、量子化誤差が増大し、解の最適性を補償できなくなる恐れがあった。
【００３２】
しかも、ロイドマックス量子化法の場合、最小歪を与えるための量子化区間の幅と量子化代表値を、繰り返し計算により求めるので、非常に長い計算時間が必要であった。そのため量子化処理全体の処理時間が、用途によっては許容できないほど増大する恐れがあった。
【００３３】
そこで、本実施の形態においては、従来の線形量子化よりも量子化誤差を低減させ、且つ、最小量子化誤差を実現するロイドマックス量子化法よりも遥かに高速な量子化・逆量子化の手法を提案する。なお、以下においては、入力画像が１色のRAW画像であるものとして説明する。複数色（複数コンポーネント）の画像に対する処理については後述する。
【００３４】
［画像処理装置］
図２は、入力画像の各画素値のビット深度をNビットからLビット（N>L）に変換するビット深度変換処理（すなわち量子化処理）やその逆変換処理（すなわち逆量子化処理）に用いられるテーブル情報（後述する量子化テーブルおよび代表値テーブル）を生成する。
【００３５】
図２に示されるように、この画像処理装置１００は、ヒストグラム生成部１０１、非ゼロクラス検出部１０２、有効画素数割り当て計算部１０３、割り当て残差計算部１０４、量子化テーブル生成部１０５、および、代表値テーブル生成部１０６を有する。
【００３６】
ヒストグラム生成部１０１は、例えば図１に示されるような、入力画像（矢印１２１）を用いて、入力画像の画素値の出現頻度分布（ヒストグラムH（k）（k=0,1,…,2N-1））を生成する。ヒストグラム生成部１０１は、入力画像における、画素値がとり得る範囲内（m0乃至m2N-1）の各値（k）の出現回数をカウントする。ヒストグラムH（k）は、各値（mi）と、その値の出現頻度とを対応付けたものであり、各値（mi）の度数分布を示す。ヒストグラム生成部１０１は、そのヒストグラムH（k）を非ゼロクラス検出部１０２に供給する（矢印１２２）。
【００３７】
非ゼロクラス検出部１０２は、供給されたヒストグラムH（k）から、出現頻度がゼロでない画素値である有効画素（H（k）≠0）を検出し、その個数（有効画素数）Ne（Ne≦2N）を算出する。非ゼロクラス検出部１０２は、算出した有効画素の個数Neを有効画素数割り当て計算部１０３に供給する（矢印１２３）。
【００３８】
なお、非ゼロクラス検出部１０２は、検出した各有効画素の画素値（H（k）≠0となるkに対応する画素値）mi（i＝0,…,Ne-1）（すなわち、m0,m1,…,mNe-1）も有効画素数割り当て計算部１０３に供給する（矢印１２３）。
【００３９】
Nビットの画像をMビットに量子化する場合（N＞M）、Ne≦2Mならば、すべての画素値がMビットで表現可能になるので、ロスレス（Lossless）で量子化や逆量子化を行うことができる。これに対して、Ne＞2Mならば、必ず量子化誤差が生じることになる。
【００４０】
有効画素数割り当て計算部１０３は、非ゼロクラス検出部１０２において検出された有効画素数Neの有効画素を2M個の各クラスに均等に割り当てる際の各クラスの有効画素数（均等割り当て数）ｓを、以下の式（１）を用いて算出する。
【００４１】
s＝［Ne/2M]  ・・・（１）
ただし、［ｘ］は、ｘを超えない最大の整数を示す。
【００４２】
つまり、2M個の各クラスには、有効画素をs個ずつ均等に割り当てることができる。有効画素数割り当て計算部１０３は、算出した均等割り当て数ｓを、供給された有効画素数Neとともに、割り当て残差計算部１０４に供給する（矢印１２４）。その際、有効画素数割り当て計算部１０３は、有効画素値miも割り当て残差計算部１０４に供給する（矢印１２４）。
【００４３】
割り当て残差計算部１０４は、有効画素数Neの有効画素を、均等割り当て数ｓずつ各クラスに割り当てた後に残る、未割り当ての有効画素数（割り当て残差）Nhを、以下の式（２）を用いて算出する。
【００４４】
Nh＝Ne−2M×s  ・・・（２）
【００４５】
つまり、有効画素数Neの有効画素が、2M個の各クラスにｓずつ割り当てられると、割り当て残差Nh個の有効画素が残る。このNh個の有効画素もできるだけ均等に、すなわち、一部のクラスに１つずつ割り当てられる。
【００４６】
つまり、2M個のクラスの内、Nh個のクラスには、（s＋1）個ずつ有効画素が割り当てられる。これに対してそれ以外の（2M−Nh）個のクラスには、s個ずつ有効画素が割り当てられる。
【００４７】
割り当て残差計算部１０４は、算出した割り当て残差Nhを量子化テーブル生成部１０５に供給する（矢印１２５）。
【００４８】
また、有効画素数割り当て計算部１０３は、均等割り当て数ｓおよび有効画素数Neを量子化テーブル生成部１０５にも供給する（矢印１２４）。その際、有効画素数割り当て計算部１０３は、各有効画素値miも量子化テーブル生成部１０５供給する（矢印１２４）。
【００４９】
量子化テーブル生成部１０５は、有効画素数Ne、有効画素値mi、均等割り当て数ｓ、および割り当て残差Nhを用いて、入力画像の画素値の量子化（ビット深度変換）に用いられる量子化テーブルT(mi)を生成する。この量子化テーブルT(mi)は、量子化前の各有効画素（有効画素値mi）を量子化後（ビット深度変換後）の各クラス（インデックス値）に割り当てた、それらの対応関係を示すテーブル情報である。その際、量子化テーブル生成部１０５は、各クラスに、各有効画素をできるだけ均等に割り当てる。より具体的には、量子化テーブル生成部１０５は、以下の式（３）および式（４）を用いて量子化テーブルT(mi)を生成する。
【００５０】
【数１】
2013029953.tif 000003
・・・（３）
【数２】
2013029953.tif 000004
・・・（４）
【００５１】
つまり、量子化テーブル生成部１０５は、（ｓ＋１）個の画素値を割り当てるクラスについては、式（３）を用いて割り当てる有効画素値miを決定し、ｓ個の画素値を割り当てるクラスについては、式（４）を用いて割り当てる有効画素値miを決定する。
【００５２】
この量子化テーブルは、量子化処理において使用される。量子化テーブル生成部１０５は、このようにして生成された量子化テーブルT(mi)を量子化テーブル記憶部１０７に供給し、記憶させる（矢印１２６）。
【００５３】
この量子化テーブル記憶部１０７は、任意の記憶媒体を有し、その記憶媒体の記憶領域に、量子化テーブルT(mi)を記憶することができる。量子化テーブル記憶部１０７は、例えば内蔵HDD（Hard Disk Drive）や内蔵フラッシュメモリ等のように、画像処理装置１００に含まれる構成としてもよい。また、例えば外付けHDDやUSB（Universal Serial Bus）フラッシュメモリ等のように、画像処理装置１００の外部の構成としても良い。さらに、例えばNAS（Network Attached Storage）のハードディスク等のように、他の装置の構成の一部としてもよい。また、量子化テーブル記憶部１０７は、例えば書き込み可能なDVD（Digital Versatile Disc）やBD（Blu-ray Disc）のようなリムーバブルメディアであってもよい。その場合、量子化テーブル記憶部１０７は、画像処理装置１００に接続される図示せぬドライブに装着されることにより、そのドライブを介して画像処理装置１００から読み書きが行われる。つまり、量子化テーブル記憶部１０７は、量子化テーブルを記憶することができればどのようなものであってもよい。
【００５４】
割り当て残差計算部１０４は、算出した割り当て残差Nh、均等割り当て数ｓ、および、有効画素値miを量子化テーブル生成部１０５に供給する（矢印１２５）。また、ヒストグラム生成部１０１は、ヒストグラムH（k）を量子化テーブル生成部１０５にも供給する（矢印１２２）。
【００５５】
代表値テーブル生成部１０６は、有効画素値mi、均等割り当て数ｓ、割り当て残差Nh、およびヒストグラムH（ｋ）を用いて、量子化後の各クラスの代表値を設定し、各クラスとその代表値との対応関係を示す代表値テーブルR（n）を生成する。代表値テーブル生成部１０６は、以下の式（５）および式（６）を用いて代表値テーブルR（n）を生成する。
【００５６】
【数３】
2013029953.tif 000005
・・・（５）
【数４】
2013029953.tif 000006
・・・（６）
【００５７】
なお、ここでは、処理対象のクラスに属する各有効画素値の重心をそのクラスの代表値としている。この代表値は重心に限らずどのような値であっても良い。例えば、処理対象のクラスに属する各有効画素値の平均値や中央値をそのクラスの代表値としてもよい。また、例えば、他と値が大きく異なる有効画素値を除去してから、残りの有効画素値の重心を求め、その重心を代表値とする等してもよい。
【００５８】
以上のように、代表値テーブル生成部１０６は、（ｓ＋１）個の有効画素値を割り当てるクラスについては、式（５）を用いて代表値を設定し、ｓ個の有効画素値を割り当てるクラスについては、式（６）を用いて代表値を設定する。
【００５９】
この代表値テーブルは、逆量子化処理において使用される。代表値テーブル生成部１０６は、このようにして生成された代表値テーブルR（n）を代表値テーブル記憶部１０８に供給し、記憶させる（矢印１２７）。
【００６０】
この代表値テーブル記憶部１０８は、量子化テーブル記憶部１０７と同様に、代表値テーブルR（n）を記憶することができるものであればどのようなものであってもよい。
【００６１】
以上のように、画像処理装置は、入力画像から、量子化テーブルおよび代表値テーブルを生成する。
【００６２】
［量子化テーブル生成部］
次に、量子化テーブルの生成についてより詳細に説明する。
【００６３】
図３は、図２の量子化テーブル生成部１０５の主な構成例を示すブロック図である。図３に示されるように、量子化テーブル生成部１０５は、制御部１３１、第１インデックス値決定部１３２、第２インデックス値決定部１３３、およびテーブル生成部１３４を有する。
【００６４】
画像処理装置１００は、入力画像の各画素値のビット深度をNビットからMビットに変換（量子化）する。つまり、画像処理装置１００は、出現頻度が非ゼロの有効画素値を2M個のクラスに割り当てることになる。有効画素数Neが2Mより多い場合、画像処理装置１００は、各クラスの有効画素数ができるだけ均等になるように、各クラスに有効画素値を割り当てる。
【００６５】
式（１）に示されるように、有効画素数Neを量子化後のクラス数2Mで除算したときの商が、各クラスに均等に割り当てることができる有効画素数の最大値（すなわち、均等割り当て数ｓ）である。そしてその余りが割り当て残差Nhである（図４参照）。
【００６６】
画像処理装置１００は、各クラスの有効画素数ができるだけ均等になるように、各クラスに有効画素値を割り当てるので、その割り当て残差Nhの有効画素は、互いに異なるクラスに割り当てる。つまり、画像処理装置１００は、2M個のクラスの内の、Nh個の各クラスに（ｓ＋１）個の有効画素を割り当て、残り（（Ne-Nh）個）の各クラスにｓ個の有効画素を割り当てる。例えば、図４に示されるように、ｓ＝２とすると、Nh個の各クラスに３個ずつ有効画素値を割り当て、残りの各クラスに２個ずつ有効画素を割り当てる。
【００６７】
有効画素値miは、その値が小さい方から大きい方に向かう順に、以上のように決められた個数ずつ、識別番号が若いクラスから順に各クラスに割り当てられる。ここで、有効画素を（ｓ＋１）個割り当てるNh個のクラスを、2M個のクラスの中のいずれにするかは任意である。例えば、図４に示されるように、識別番号が若い方からNh個のクラスに有効画素を（ｓ＋１）個ずつ割り当てるようにしてもよい。以下においては、この場合について説明する。
【００６８】
図４の例の場合、画像処理装置１００は、番号０のクラスから番号（Nh−１）のクラスに対して、有効画素値m0乃至m3、m4乃至m6、m7乃至m9、・・・のように、各クラスに対して、有効画素値を、その値が小さい方から３つずつ割り当てる。また、画像処理装置１００は、番号Nh以降のクラスに対して、有効画素値mｘおよびmｘ＋１のように、各クラスに対して、有効画素値を、その値が小さい方から２つずつ割り当てる。
【００６９】
つまり、量子化テーブル生成部１０５は、各クラスに割り当てる有効画素値を決定するが、その際、１クラスに（ｓ＋１）個の有効画素値を割り当てる方法と、１クラスにｓ個の有効画素値を割り当てる方法との、２つの方法を用いる。
【００７０】
制御部１３１は、有効画素数割り当て計算部１０３から供給される均等割り当て数ｓと、割り当て残差計算部１０４から供給される割り当て残差Nhを用いて、この２つの方法のいずれを選択するかを制御する。例えば、処理対象番号ｉがｉ＜Nh（s+1）の場合、制御部１３１は、式（３）を用いて量子化テーブルの設定を行う第１の方法を選択し、入力された各データを第１インデックス値決定部１３２に供給する（矢印１４１）。
【００７１】
また、例えば、処理対象番号ｉがｉ≧Nh（s+1）の場合、制御部１３１は、式（４）を用いて量子化テーブルの設定を行う第２の方法を選択し、入力された各データを第２インデックス値決定部１３３に供給する（矢印１４２）。
【００７２】
第１インデックス値決定部１３２は、有効画素数Ne、均等割り当て数ｓ、および割り当て残差Nh、並びに、式（３）を用いて、変換後のクラス（すなわちインデックス値）と有効画素値の対応関係を決定する。つまり、第１インデックス値決定部１３２は、各クラスに（ｓ＋１）個ずつ有効画素値miを割り当てる。第１インデックス値決定部１３２は、このように設定した各クラスと有効画素値miとの対応関係を、テーブル生成部１３４に供給する（矢印１４３）。
【００７３】
第２インデックス値決定部１３３は、有効画素数Ne、均等割り当て数ｓ、および割り当て残差Nh、並びに、式（４）を用いて、変換後のクラス（すなわちインデックス値）と有効画素値の対応関係を決定する。つまり、第２インデックス値決定部１３３は、各クラスにｓ個ずつ有効画素値miを割り当てる。第２インデックス値決定部１３３は、このように設定した各クラスと有効画素値miとの対応関係を、テーブル生成部１３４に供給する（矢印１４４）。
【００７４】
テーブル生成部１３４は、第１インデックス値決定部１３２および第２インデックス値決定部１３３から供給される各クラスと有効画素値miとの対応関係をまとめ、量子化テーブルT(mi)を生成する。テーブル生成部１３４は、生成した量子化テーブルT(mi)を量子化テーブル記憶部１０７に供給する（矢印１２６）。
【００７５】
このように、量子化テーブル生成部１０５は、１クラスに（ｓ＋１）個の有効画素値を割り当てる方法と、１クラスにｓ個の有効画素値を割り当てる方法との、２つの方法を用いて量子化テーブルを生成することができる。これにより、量子化テーブル生成部１０５は、各クラスの有効画素数ができるだけ均等になるように、各クラスに有効画素値を割り当てることができる。したがって、画像処理装置１００は、量子化誤差がロイドマックス量子化法と略同程度の量子化・逆量子化を実現する量子化テーブルや代表値テーブルを生成することができる。
【００７６】
また、量子化テーブル生成部１０５は、上述したように、繰り返し処理を行わずに各クラスに有効画素値を割り当てることができる。したがって、画像処理装置１００は、ロイドマックス量子化法と比べて遥かに高速に量子化テーブルや代表値テーブルを生成することができる。
【００７７】
［量子化・逆量子化システム］
次に、以上のように生成された量子化テーブルを用いた量子化処理、並びに、以上のように生成された代表値テーブルを用いた逆量子化処理について説明する。
【００７８】
図５は、画像処理装置１００により生成された量子化テーブルおよび代表値テーブルを用いて量子化・逆量子化を行う装置の例を示すブロック図である。
【００７９】
図５の中央の点線より左側が量子化処理に関する構成であり、点線より右側が逆量子化処理に関する構成である。図５に示されるように、量子化処理に関する構成には、量子化テーブル記憶部１０７および量子化部１７１が含まれ、逆量子化処理に関する情報には、代表値テーブル記憶部１０８および逆量子化部１７２が含まれる。
【００８０】
量子化テーブル記憶部１０７、量子化部１７１、代表値テーブル記憶部１０８、および逆量子化部１７２は、それぞれ、互いに異なる装置として構成されるようにしてもよい。また、量子化処理に関する量子化テーブル記憶部１０７および量子化部１７１が１つの装置として構成されるようにしてもよいし、逆量子化処理に関する代表値テーブル記憶部１０８および逆量子化部１７２が１つの装置として構成されるようにしてもよいし、量子化テーブル記憶部１０７および代表値テーブル記憶部１０８が１つの装置として構成されるようにしてもよい。さらに、量子化テーブル記憶部１０７、量子化部１７１、代表値テーブル記憶部１０８、および逆量子化部１７２の全てが１つの装置として構成されるようにしてもよい。また、量子化部１７１および逆量子化部１７２の内、いずれか一方若しくは両方を、図２の画像処理装置１００に含める（すなわち、それらを１つの装置として構成する）ようにしてもよい。
【００８１】
量子化部１７１には、画像処理装置１００と同一の入力画像が入力される（矢印１８１）。つまり、量子化部１７１には、画像処理装置１００において量子化テーブルが生成された入力画像が供給される。この量子化テーブルは、量子化テーブル記憶部１０７に記憶されている。なお、この入力画像に対応する代表値テーブルは、代表値テーブル記憶部１０８に記憶されている。
【００８２】
量子化部１７１は、この入力画像に対応する量子化テーブルを量子化テーブル記憶部１０７より読み出す（矢印１８２）。量子化部１７１は、読み出した量子化テーブルを用いて、入力画像の各画素値をインデックス値に変換する。より具体的には、量子化部１７１は、以下の式（７）のように、入力画像の画素値P(x,y)に対応する値T（P（x,y））を、量子化テーブルT(mi)の中から検出し、その値T（P（x,y））をインデックス値I(x,y)として出力する。
【００８３】
I（x,y）＝T（P（x,y））  ・・・（７）
【００８４】
量子化部１７１は、そのインデックス値（量子化係数とも称する）を逆量子化部１７２に供給する（矢印１８３）。
【００８５】
つまり、逆量子化部１７２には、量子化部１７１により生成されたインデックス値が入力される（矢印１８３）。逆量子化部１７２は、このインデックス値に対応する代表値テーブルを代表値テーブル記憶部１０８より読み出す（矢印１８４）。逆量子化部１７２は、読み出した代表値テーブルを用いて、各インデックス値を有効画素値に変換する。より具体的には、逆量子化部１７２は、以下の式（８）のように、インデックス値I(x,y)に対応するR（I(x,y)）を、代表値テーブルR（n）の中から検出し、そのR（I(x,y)）を復元画像の画素値P'(x,y)として出力する。
【００８６】
P'（x,y）＝R（I（x,y））  ・・・（８）
【００８７】
逆量子化部１７２は、その復元画像の画素値P'(x,y)として出力する。
【００８８】
以上のように、画像処理装置１００が前処理として量子化テーブルや代表値テーブルを生成するので、量子化部１７１や逆量子化部１７２は、入力されるデータをそれらのテーブルに従って変換するだけでよい。したがって、量子化部１７１は、より高速に量子化処理を行うことができる。また、逆量子化部１７２は、より高速に逆量子化処理を行うことができる。
【００８９】
［量子化テーブル設定処理の流れ］
次に、以上のような各装置により実行される処理の流れの例を説明する。最初に、図６のフローチャートを参照して、画像処理装置１００により実行される量子化用テーブル設定処理の流れの例を説明する。なお、ここで量子化用テーブルとは、量子化テーブルおよび代表値テーブルのことを示す。
【００９０】
量子化用テーブル設定処理が開始されると、ステップＳ１０１において、ヒストグラム生成部１０１は、ビット深度がNビットの入力画像のヒストグラムを生成する。ステップＳ１０２において、非ゼロクラス検出部１０２は、ステップＳ１０１において生成されたヒストグラムにおいて出現頻度が非ゼロの有効画素数Neを求める。また、非ゼロクラス検出部１０２は、各有効画素値miも求める。
【００９１】
ステップＳ１０３において、有効画素数割り当て計算部１０３は、ステップＳ１０２において求められた有効画素数Neを用いて、各クラスに対して均等に割り当てる有効画素数（均等割り当て数）sを算出する。ステップＳ１０４において、割り当て残差計算部１０４は、ステップＳ１０２において求められた有効画素数Neと、ステップＳ１０３において算出された均等割り当て数ｓとを用いて、割り当て残差Nhを算出する。
【００９２】
ステップＳ１０５において、量子化テーブル生成部１０５は、ステップＳ１０２において求められた有効画素値mi、ステップＳ１０３において算出された均等割り当て数ｓ、並びに、ステップＳ１０４において求められた割り当て残差Nhを用いて、量子化テーブルT（mi）を設定する。ステップＳ１０６において、代表値テーブル生成部１０６は、ステップＳ１０２において求められた有効画素値mi、ステップＳ１０３において算出された均等割り当て数ｓ、並びに、ステップＳ１０４において求められた割り当て残差Nhを用いて、代表値テーブルR（n）を設定する。
【００９３】
ステップＳ１０７において、量子化テーブル記憶部１０７は、ステップＳ１０５において設定された量子化テーブルT（mi）を記憶する。ステップＳ１０８において、代表値テーブル記憶部１０８は、ステップＳ１０６において、ステップＳ１０６において設定された代表値テーブルR（n）を記憶する。
【００９４】
ステップＳ１６８の処理を終了すると、代表値テーブル記憶部１０８は、量子化用テーブル設定処理を終了する。
【００９５】
［量子化テーブル設定処理の流れ］
次に、図７のフローチャートを参照して、図６のステップＳ１０５において実行される量子化テーブル設定処理の流れの例を説明する。
【００９６】
量子化テーブル設定処理が開始されると、量子化テーブル生成部１０５の制御部１３１は、ステップＳ１２１において、処理対象の有効画素の識別番号ｉがNh×（s+1）より小さいか否かを判定する。つまり、有効画素値の割り当ては番号の若いクラスから順に行われるが、制御部１３１は、その割り当てが、番号の若い方からNh番目に達したか否かを判定する。
【００９７】
処理対象の有効画素の識別番号ｉがNh×（s+1）より小さい、すなわち、有効画素値を割り当てるクラスが、番号の若い方からNh番目に達していないと判定した場合、制御部１３１は、処理をステップＳ１２２に進める。
【００９８】
ステップＳ１２２において、第１インデックス値決定部１３２は、有効画素を（s+1）個ずつ各クラスに割り当てる方法で、有効画素を割り当てるクラスを決定する。つまり、第１インデックス値決定部１３２は、処理対象のクラスに対して、上述した式（３）を用いて割り当てる有効画素値miを決定する。ステップＳ１２２の処理が終了すると、第１インデックス値決定部１３２は、処理をステップＳ１２４に進める。
【００９９】
また、ステップＳ１２１において、処理対象の有効画素の識別番号ｉがNh×（s+1）以上である、すなわち、有効画素値を割り当てるクラスが、番号の若い方からNh番目に達したと判定した場合、制御部１３１は、処理をステップＳ１２３に進める。
【０１００】
ステップＳ１２３において、第２インデックス値決定部１３３は、有効画素をs個ずつ各クラスに割り当てる方法で、有効画素を割り当てるクラスを決定する。つまり、第１インデックス値決定部１３２は、処理対象のクラスに対して、上述した式（４）を用いて割り当てる有効画素値miを決定する。ステップＳ１２３の処理が終了すると、第２インデックス値決定部１３３は、処理をステップＳ１２４に進める。
【０１０１】
ステップＳ１２４において、制御部１３１は、ヒストグラムの全ての有効画素値を処理したか否かを判定する。未処理の有効画素が存在する場合、制御部１３１は、処理をステップＳ１２１に戻し、それ以降の処理を繰り返す。また、ステップＳ１２４において、ヒストグラムの全ての有効画素を処理したと判定した場合、制御部１３１は、処理をステップＳ１２５に進める。
【０１０２】
ステップＳ１２５において、テーブル生成部１３４は、各有効画素値とクラスの対応関係をテーブル化する。ステップＳ１２５の処理が終了すると、テーブル生成部１３４は、量子化テーブル設定処理を終了し、処理を図６に戻す。
【０１０３】
［量子化処理の流れ］
次に、図８のフローチャートを参照して、量子化部１７１（図５）により実行される量子化処理の流れの例を説明する。
【０１０４】
量子化処理が開始されると、量子化部１７１は、ステップＳ１４１において、入力画像に対応する量子化テーブルを量子化テーブル記憶部１０７から読み出し、準備する。ステップＳ１４２において、量子化部１７１は、入力画像画素値を取得する。
【０１０５】
ステップＳ１４３において、量子化部１７１は、量子化テーブルを用いて、入力画像画素値に対応するインデックス値を求める。ステップＳ１４４において、量子化部１７１は、ステップＳ１４３において求めたインデックス値を量子化インデックスとして逆量子化側に伝送する。
【０１０６】
ステップＳ１４５において、量子化部１７１は、入力画像の全ての画素値を処理したか否かを判定する。未処理の画素値が存在すると判定した場合、量子化部１７１は、処理をステップＳ１４２に戻し、それ以降の処理を繰り返す。
【０１０７】
また、ステップＳ１４５において、全ての画素値を処理したと判定した場合、量子化部１７１は、量子化処理を終了する。
【０１０８】
［逆量子化処理の流れ］
次に、図９のフローチャートを参照して、逆量子化部１７２（図５）により実行される逆量子化処理の流れの例を説明する。
【０１０９】
逆量子化処理が開始されると、逆量子化部１７２は、ステップＳ１６１において、入力画像に対応する代表値テーブルを代表値テーブル記憶部１０８から読み出し、準備する。ステップＳ１６２において、逆量子化部１７２は、量子化インデックスを取得する。
【０１１０】
ステップＳ１６３において、逆量子化部１７２は、代表値テーブルを用いて、量子化インデックスに対応する画素値を求める。ステップＳ１６４において、逆量子化部１７２は、ステップＳ１６３において求めた画素値復号画像画素値として出力する。
【０１１１】
ステップＳ１６５において、逆量子化部１７２は、全ての量子化インデックスを処理したか否かを判定する。未処理の量子化インデックスが存在すると判定した場合、逆量子化部１７２は、処理をステップＳ１６２に戻し、それ以降の処理を繰り返す。
【０１１２】
また、ステップＳ１６５において、全ての量子化インデックスを処理したと判定した場合、逆量子化部１７２は、逆量子化処理を終了する。
【０１１３】
以上のように各処理を行うことにより、画像処理装置１００は、量子化誤差の低減化、および、量子化・逆量子化の処理の高速化の両方を実現することができる。
【０１１４】
［評価結果の例］
次に、以上に説明した量子化処理および逆量子化処理の評価結果の例について説明する。図１０に示される１２ビット深度の医療画像を量子化・逆量子化の処理対象とする。解像度は水平方向に512画素であり、垂直方向に512画素である。
【０１１５】
この原画像（N=12ビット）をLビットに量子化し、さらにNビットに逆量子化した画像と、原画像との比較（PSNR（Peak Signal-to-Noise Ratio（ピーク信号対雑音比）））を評価値とする。PSNRが高い程、劣化が小さく抑えられていることになる。なお、Lが8乃至11の４通りについて評価する。
【０１１６】
図１１は、ロイドマックス（Lloyd-Max）量子化法、下位ビットを四捨五入する従来の線形量子化法、並びに、以上に説明した「本手法」の３つの量子化・逆量子化方法について、評価結果を比較する図である。
【０１１７】
なお、図１０の画像のヒストグラムを測定した結果、非ゼロの出現数の画素数Ne＝1,835であった。211＝2,048、210＝1,024であるので、この画像は11ビットあれば可逆量子化・逆量子化が可能なことがわかる。従って、図１１の表に示されるように、本手法若しくはロイドマックス量子化法の場合、L=11ではPSNR=∞になる。つまり、これらの２手法は、従来の線形量子化法と比較してPSNRが大幅に高い。１０ビット以下に量子化する場合であっても、その傾向は同様である。
【０１１８】
また、図１１の表に示されるように、どのビット数に量子化する場合であっても、本手法は、ロイドマックス量子化法と略同等（0.1dB程度の差）のPSNRを得ることができる。
【０１１９】
図１２に示される表においては、量子化処理の処理時間が、本手法と、ロイドマックス量子化法とで比較されている。なお、本手法の場合、量子化テーブルおよび代表値テーブルの生成の処理時間も、この処理時間に含まれる。
【０１２０】
本手法はに、有効画素のMビットのクラスへの写像変換を行う処理なので、ロイドマックス量子化法の様な繰り返し処理が不要である。従って、図１２の表に示されるように、本手法は、ロイドマックス量子化法よりも高速に（短時間に）量子化処理を行うことができる。
【０１２１】
以上のように、本手法を用いることにより、量子化・逆量子化による量子化誤差をより低減させることができ、より高画質な画像が得られるように量子化・逆量子化（ビット変換）を行うことが出来るとともに、その量子化・逆量子化を、より高速に行うことができる。
【０１２２】
＜２．第２の実施の形態＞
［量子化テーブル生成部］
第１の実施の形態においては、割り当て残差Nh個の有効画素を、識別番号が若い方からNh個のクラスに割り当てるように説明したが、有効画素を（ｓ＋１）個割り当てるNh個のクラスを、2M個のクラスの中のいずれにするかは任意である。例えば、割り当てられた有効画素の出現頻度が少ない順にNh個のクラスに割り当てるようにしてもよい。
【０１２３】
図１３は、その場合の量子化テーブル生成部１０５の主な構成例を示すブロック図である。図１３に示されるように、この場合の量子化テーブル生成部１０５は、第１の実施の形態の量子化テーブル生成部１０５（図３）の構成に加え、仮インデックス値決定部２０１、頻度算出部２０２、および並び替え部２０３を有する。
【０１２４】
仮インデックス値決定部２０１は、第２インデックス値決定部１３３と同様に、有効画素数Ne、均等割り当て数ｓ、および割り当て残差Nh、並びに、式（４）を用いて、各クラスに有効画素値miを、その値が小さいほうから順にs個ずつ割り当てる。つまり、仮インデックス値決定部２０１は、（2M×s）個の有効画素値miの割り当てを行う。したがって、この時点では、Nh個の有効画素値miは、まだ割り当てられていない。仮インデックス値決定部２０１は、割り当て結果（各クラスと有効画素値miとの対応関係）、並びに、有効画素数Ne、均等割り当て数ｓ、および割り当て残差Nh等の各種パラメータを、頻度算出部２０２に供給する（矢印２２２）。
【０１２５】
頻度算出部２０２は、ヒストグラム生成部１０１からヒストグラムを取得する（矢印２２１）。頻度算出部２０２は、仮インデックス値決定部２０１から取得した割り当て結果に従って、各クラスに割り当てられた各有効画素の出現頻度を、ヒストグラム生成部１０１から取得したヒストグラムを参照して求め、その出現頻度のクラス毎の総和を算出する。
【０１２６】
頻度算出部２０２は、算出したクラス毎の有効画素の出現頻度を、仮インデックス値決定部２０１およびヒストグラム生成部１０１から供給された情報とともに、並び替え部２０３に供給する（矢印２２３）。
【０１２７】
並び替え部２０３は、各クラスを、各クラスに割り当てられた有効画素の出現頻度の少ない順に並び替える。並び替え部２０３は、その並び替え結果（変換後のクラスの、並び替えた後の順序を示す情報）を、頻度算出部２０２から供給される各種情報とともに制御部１３１に供給する（矢印２２４）。
【０１２８】
制御部１３１乃至テーブル生成部１３４は、順序が並び替えられたクラスに対して、第１の実施の形態の場合と同様に、有効画素の割り当てを行う。ここでは、割り当て残差Nh個の有効画素も含めて（すなわち全ての有効画素の）割り当てが行われる。つまり、制御部１３１乃至テーブル生成部１３４は、更新後の順序において１番目乃至Nh番目のクラスに有効画素を（ｓ＋１）個ずつ割り当て、（Nh＋１）番目以降のクラスに有効画素を１つずつ割り当てる。
【０１２９】
このようにすることにより、量子化テーブル生成部１０５は、出現頻度が少ないNh個のクラスに有効画素を多く（（s＋１）個ずつ）割り当てることができる。
【０１３０】
［量子化テーブル設定処理の流れ］
次に、図１４のフローチャートを参照して、この場合の量子化テーブル設定処理の流れの例を説明する。
【０１３１】
量子化テーブル設定処理が開始されると、ステップＳ２０１において、仮インデックス値決定部２０１は、s個ずつ各クラスに割り当てる方法で、（2M×s）個の有効画素を割り当てるクラスを決定する。
【０１３２】
ステップＳ２０２において、頻度算出部２０２は、ステップＳ２０１における割り当て結果に基づいて、各有効画素の出現頻度の総和をクラス毎に算出する。
【０１３３】
ステップＳ２０３において、並び替え部２０３は、ステップＳ２０２において算出されたクラス毎の有効画素の頻度値の小さい順に、各クラスを並び替える。
【０１３４】
ステップＳ２０４乃至ステップＳ２０８の各処理は、ステップＳ２０３において並び替えられたクラスに対して、図７のステップＳ１２１乃至ステップＳ１２５の各処理と同様に実行される。
【０１３５】
ステップＳ２０８の処理が終了すると、テーブル生成部１３４は量子化テーブル設定処理を終了し、処理を図６に戻す。
【０１３６】
以上のように、量子化テーブル設定処理を行うことにより、量子化テーブル生成部１０５は、第１の実施の形態の場合と同様に、各クラスに有効画素を割り当て、量子化テーブルを設定することができる。ただし、この場合、量子化テーブル生成部１０５は、出現頻度が少ないNh個のクラスに有効画素を多く（（s＋１）個ずつ）割り当てるようにすることができる。
【０１３７】
このように、出現頻度が少ないNh個のクラスに有効画素を多く（（s＋１）個ずつ）割り当てることにより、クラス間の出現頻度の偏りを少なくすることができる。これにより、各クラスの代表値の精度の偏りを低減させる（より均一化する）ことができる。
【０１３８】
＜３．第３の実施の形態＞
［量子化テーブル生成部］
第２の実施の形態において説明した方法では、割り当て残差Nh個の有効画素の割り当てを追加することによる出現頻度の変化を反映させていない。つまり、ｓ個の有効画素を割り当てた時点で出現頻度がより少ないクラスに対して、残りの有効画素の内、出現頻度がより大きな有効画素を追加的に割り当てるようには必ずしもなされていない。
【０１３９】
そこで、さらに、有効画素の割り当てを繰り返し処理とすることにより、ｓ個の有効画素を割り当てた時点で出現頻度がより少ないクラスに対して、残りの有効画素の内、出現頻度がより大きな有効画素を追加的に割り当てるようにしてもよい。
【０１４０】
図１５は、その場合の量子化テーブル生成部１０５の主な構成例を示すブロック図である。図１５に示されるように、この場合の量子化テーブル生成部１０５は、第２の実施の形態の量子化テーブル生成部１０５（図１３）の構成に加え、ループ制御部２４１をさらに有する。
【０１４１】
ループ制御部２４１は、全ての有効画素を割り当てた後において、各クラスの頻度値を確認し、各クラスがその頻度値の小さい順に並ぶか否かを判定する。仮インデックス値決定部２０１において割り当てられたなかった有効画素も含めて全ての有効画素の割り当てを行ったことにより、各クラスが有効画素の頻度値の小さい順に並ばなくなった場合、ループ制御部２４１は、処理を並び替え部２０３に戻し、再度、各クラスを頻度値の小さい順に並び替えさせ、有効画素の割り当てをやり直させる。ループ制御部２４１は、このような処理を、各クラスの並びが更新されなくなるまで繰り返し実行させる。
【０１４２】
［量子化テーブル設定処理の流れ］
次に、図１６のフローチャートを参照して、この場合の量子化テーブル設定処理の流れの例を説明する。
【０１４３】
ステップＳ２５１乃至ステップＳ２５７の各処理は、第２の実施の形態の場合（図１４のステップＳ２０１乃至ステップＳ２０７の各処理）と同様に実行される。
【０１４４】
ステップＳ２５８において、ループ制御部２４１は、ステップＳ２５５若しくはステップＳ２５６において、全ての有効画素が割り当てられた後の状態において、クラス毎の有効画素の頻度値（各クラスに割り当てられた有効画素の頻度値の、クラス毎の総和）を算出する。
【０１４５】
ステップＳ２５９において、ループ制御部２４１は、各クラスが頻度値の小さい順に並ぶか否かを判定する。各クラスの並び順が、頻度値の小さい順でないと判定した場合、ループ制御部２４１は、処理をステップＳ２５３に戻し、それ以降の処理を繰り返すように制御する。
【０１４６】
また、ステップＳ２５９において、各クラスの並び順が頻度値の小さい順のままであると判定した場合、ループ制御部２４１は、処理をステップＳ２６０に進める。ステップＳ２６０の処理は、第２の実施の形態の場合（図１４のステップＳ２０８）と同様に実行される。
【０１４７】
以上のように、量子化テーブル設定処理を行うことにより、量子化テーブル生成部１０５は、第２の実施の形態の場合よりもさらに、クラス間の出現頻度の偏りを少なくすることができる。これにより、各クラスの代表値の精度の偏りをより低減させる（より均一化する）ことができる。
【０１４８】
＜４．第４の実施の形態＞
［量子化・逆量子化システム］
なお、入力画像を複数の領域に分割し、その領域毎に、量子化テーブルおよび代表値テーブルを生成し、量子化処理や逆量子化処理を行うようにしてもよい。
【０１４９】
図１０は、その場合の画像処理システムの主な構成例を示すブロック図である。
【０１５０】
図１０に示される画像処理システムは、入力画像を複数の領域に分割し、その領域毎に、量子化テーブルおよび代表値テーブルを生成し、量子化処理や逆量子化処理を行うシステムである。図１０に示されるように、この画像処理システムには、画像量子化装置３０１および画像逆量子化装置３０２を含む。
【０１５１】
画像量子化装置３０１は、画像分割部３１１、並びに、ビット深度変換部３１２−１乃至ビット深度変換部３１２−Ｚを有する。画像分割部３１１は、入力画像P（x,y）をＺ個の領域に分割し、各領域の画像をビット深度変換部３１２−１乃至ビット深度変換部３１２−Ｚに供給する。
【０１５２】
ビット深度変換部３１２−１は、１番目の領域の画像P1（x,y）の画素値のビット深度をNビットからMビット（N>M）に変換する。すなわち、ビット深度変換部３１２−１は、１番目の領域の画像P1（x,y）の画素値の量子化を行う。
【０１５３】
ビット深度変換部３１２−１は、テーブル生成部３２１および量子化部３２２を有する。テーブル生成部３２１は、図２の画像処理装置１００と同様の構成を有し、同様の処理を行う。つまり、テーブル生成部３２１は、１番目の領域の画像P1（x,y）について量子化テーブルT1（mi）および代表値テーブルR1（n）を生成する。テーブル生成部３２１は、生成した量子化テーブルT1（mi）を量子化部３２２に供給する。また、テーブル生成部３２１は、生成した代表値テーブルR1（n）を画像逆量子化装置３０２に供給する。
【０１５４】
量子化部３２２は、図５の量子化部１７１と同様の構成を有し、同様の処理を行う。つまり、量子化部３２２は、テーブル生成部３２１から供給される量子化テーブルT1（mi）を用いて、１番目の領域の画像P1（x,y）の各画素値の量子化を行う。量子化部３２２は、その量子化により生成した量子化インデックスI1（x,y）を画像逆量子化装置３０２に供給する。
【０１５５】
ビット深度変換部３１２−２乃至ビット深度変換部３１２−Ｚは、それぞれ、ビット深度変換部３１２−１と同様の構成を有し、自身が対応する領域の画像について、ビット深度変換部３１２−１と同様の処理を行う。
【０１５６】
例えば、ビット深度変換部３１２−２は、２番目の領域の画像P2（x,y）の画素値を量子化し、その２番目の領域の画像P2（x,y）に対応する代表値テーブルR2（n）と量子化インデックスI2（x,y）を画像逆量子化装置３０２に供給する。
【０１５７】
また、例えば、ビット深度変換部３１２−Ｚは、Ｚ番目の領域の画像Pz（x,y）の画素値を量子化し、そのＺ番目の領域の画像Pz（x,y）に対応する代表値テーブルRz（n）と量子化インデックスIz（x,y）を画像逆量子化装置３０２に供給する。
【０１５８】
なお、ビット深度変換部３１２−１乃至ビット深度変換部３１２−Ｚを互いに区別して説明する必要が無い場合、単に、ビット深度変換部３１２と称する。
【０１５９】
画像逆量子化装置３０２は、ビット深度逆変換部３３１−１乃至ビット深度逆変換部３３１−Ｚ、並びに、画像統合部３３２を有する。
【０１６０】
ビット深度逆変換部３３１−１は、画像量子化装置３０１から供給された代表値テーブルR1（n）および量子化インデックスI1（x,y）を取得し、それらを用いて、量子化インデックスI1（x,y）のビット深度をMビットからNビットに逆変換する。すなわち、ビット深度逆変換部３３１−１は、１番目の領域の量子化インデックスI1（x,y）の逆量子化を行い、１番目の領域の復号画像P'1（x,y）を生成する。ビット深度逆変換部３３１−１は、生成した１番目の領域の復号画像P'1（x,y）を画像統合部３３２に供給する。
【０１６１】
ビット深度逆変換部３３１−１は、テーブル取得部３４１および逆量子化部３４２を有する。テーブル取得部３４１は、画像量子化装置３０１から供給された代表値テーブルR1（n）を取得し、適宜、それを逆量子化部３４２に供給する。逆量子化部３４２は、図５の逆量子化部１７２と同様の構成を有し、同様の処理を行う。つまり、逆量子化部３４２は、テーブル取得部３４１から供給される代表値テーブルR1（n）を用いて、１番目の領域の量子化インデックスI1（x,y）の逆量子化を行う。逆量子化部３４２は、その逆量子化により生成した１番目の領域の復号画像P'1（x,y）を画像統合部３３２に供給する。
【０１６２】
ビット深度逆変換部３３１−２乃至ビット深度逆変換部３３１−Ｚは、それぞれ、ビット深度逆変換部３３１−１と同様の構成を有し、自身が対応する領域の量子化インデックスについて、ビット深度逆変換部３３１−１と同様の処理を行う。
【０１６３】
例えば、ビット深度逆変換部３３１−２は、２番目の領域の代表値テーブルR2（n）を用いて、２番目の領域の量子化インデックスI2（x,y）を逆量子化し、その２番目の領域の復号画像P'2（x,y）を画像統合部３３２に供給する。
【０１６４】
また、例えば、ビット深度逆変換部３３１−Ｚは、Ｚ番目の領域の代表値テーブルRz（n）を用いて、Ｚ番目の領域の量子化インデックスIz（x,y）を逆量子化し、そのＺ番目の領域の復号画像P'z（x,y）を画像統合部３３２に供給する。
【０１６５】
なお、ビット深度逆変換部３３１−１乃至ビット深度逆変換部３３１−Ｚを互いに区別して説明する必要が無い場合、単に、ビット深度逆変換部３３１と称する。
【０１６６】
画像統合部３３２は、各ビット深度逆変換部３３１から供給される復号画像P'1（x,y）乃至復号画像P'z（x,y）を統合して、入力画像P（x,y）に対応する復号画像P'（x,y）を生成し、出力する。
【０１６７】
各ビット深度変換部３１２は、互いに独立に処理を行うことができる。つまり、ビット深度変換部３１２の一部または全部が、互いに並行して処理を行う（ある時刻において複数のブロックに対する処理が実行されている）ようにしてもよいし、互いに異なるタイミングにおいて処理を行うようにしてもよい。
【０１６８】
同様に、各ビット深度逆変換部３３１も、互いに独立に処理を行うことができる。つまり、ビット深度逆変換部３３１の一部または全部が、互いに並行して処理を行う（ある時刻において複数のブロックに対する処理が実行されている）ようにしてもよいし、互いに異なるタイミングにおいて処理を行うようにしてもよい。
【０１６９】
ブロック毎の画像は、画像全体に比べて画素値の総数が少なくなるので、疎性が高まる。したがって、各ブロックの画像を量子化して逆量子化した場合に生じる量子化誤差は、画像全体に対して同様の処理を行う場合よりも低減される。また、各ブロックに対する量子化を並列に実行することにより、処理時間を低減させることもできる。
【０１７０】
ただし、画像全体に対して量子化・逆量子化（ビット変換）を行う場合の方が、必要なテーブル数が低減され、その分情報量を低減させることができる。
【０１７１】
なお、上述したように各ブロックの大きさおよび形状は任意であり、互いに独立して設定することができるので、画像分割部３１１が、入力画像の内容に応じて、疎性が高まる様にブロック化するようにしてもよい。
【０１７２】
なお、以上においては、コンポーネントが１つの場合について説明したが、これに限らず、例えばRGBやYCrCbのように、入力画像が複数のコンポーネントにより構成されるようにしてもよい。その場合、各コンポーネントに対して、上述したように、量子化テーブルおよび代表値テーブルの生成、並びに、量子化処理および逆量子化処理を行うようにすればよい。なお、各コンポーネントに対するこれらの処理は、互いに独立して行うことができる。したがって、各コンポーネントに対するこれらの処理は、互いに並行して行うこともできるし、互いに異なるタイミングにおいて行うこともできる。
【０１７３】
また、以上においては、画像データの各画素値の量子化・逆量子化について説明したが、処理対象のデータは、何らかのデータの疎性を有する集合であればよく、画素値に限らない。例えば、画像データを直交変換（例えばDCT（Discrete Cosine Transform）やウェーブレット変換等）した直交変換係数であってもよい。
【０１７４】
また、以上に説明した各装置は、それぞれ、上述した以外の構成を含むようにしてももちろんよい。例えば、撮像素子（CMOS、CCDセンサ）からキャプチャした画像を用いた機器やデバイス、撮像素子画像をメモリに書き込むまでの圧縮回路、デジタルスチルカメラ、動画用カムコーダ、医療用画像カメラ、医療用内視鏡、監視カメラ、デジタルシネマ撮影用カメラ、両眼画像カメラ、多眼画像カメラ、LSIチップでのメモリ削減回路、PC上のオーサリング・ツールまたはそのソフトウェア・モジュール等として構成されるようにしてもよい。また、１つの装置としてだけでなく、複数の装置よりなるシステムとして構成されるようにしてもよい。
【０１７５】
＜５．第５の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図１８に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０１７６】
図１８において、パーソナルコンピュータ４００のCPU（Central Processing Unit）４０１は、ROM（Read Only Memory）４０２に記憶されているプログラム、または記憶部４１３からRAM（Random Access Memory）４０３にロードされたプログラムに従って各種の処理を実行する。RAM４０３にはまた、CPU４０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１７７】
CPU４０１、ROM４０２、およびRAM４０３は、バス４０４を介して相互に接続されている。このバス４０４にはまた、入出力インタフェース４１０も接続されている。
【０１７８】
入出力インタフェース４１０には、キーボード、マウスなどよりなる入力部４１１、CRT（Cathode Ray Tube）ディスプレイやLCD（Liquid Crystal Display）等のディスプレイ、並びにスピーカなどよりなる出力部４１２、フラッシュメモリ等SSD（Solid State Drive）やハードディスクなどよりなる記憶部４１３、有線LAN（Local Area Network）や無線LANのインタフェースやモデムなどよりなる通信部４１４が接続されている。通信部４１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０１７９】
入出力インタフェース４１０にはまた、必要に応じてドライブ４１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア４２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部４１３にインストールされる。
【０１８０】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０１８１】
この記録媒体は、例えば、図１８に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア４２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM４０２や、記憶部４１３に含まれるハードディスクなどにより構成される。
【０１８２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１８３】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８４】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０１８５】
また、以上において、１つの装置（または処理部）として説明した構成が、複数の装置（または処理部）として構成されるようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成が、まとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部が他の装置（または他の処理部）の構成に含まれるようにしてもよい。つまり、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【０１８６】
なお、本技術は以下のような構成も取ることができる。
（１）  入力画像の画素値の出現頻度分布を示すヒストグラムを生成するヒストグラム生成部と、
前記入力画像の画素値のビット深度を変換する際に利用されるテーブル情報であって、前記ヒストグラム生成部により生成された前記ヒストグラムにおいて出現頻度が非ゼロの有効画素をビット深度変更後のインデックス値に割り当てるテーブル情報である量子化テーブルを、前記有効画素を前記インデックス値にできるだけ均等に割り当てるようにして生成する量子化テーブル生成部と
を備える画像処理装置。
（２）  前記量子化テーブル生成部は、各インデックス値に対して、ビット深度変更後の全てのインデックス値に対して均等に割り当てることができる前記有効画素の最大数である均等割り当て数ｓ、若しくは、（ｓ＋１）の前記有効画素を割り当てる
前記（１）に記載の画像処理装置。
（３）  前記量子化テーブル生成部は、
各インデックス値に対して、前記均等割り当て数（ｓ＋１）ずつ前記有効画素を割り当てる第１のインデックス値決定部と、
各インデックス値に対して、前記均等割り当て数ｓずつ前記有効画素を割り当てる第２のインデックス値決定部と、
前記第１のインデックス値決定部、および、前記第２のインデックス値決定部の内、いずれか一方を選択し、選択したインデックス値決定部を用いて前記有効画素の割り当てを行う制御部と
を備える前記（２）に記載の画像処理装置。
（４）  前記制御部は、
インデックス値の小さい方から順に前記有効画素を割り当て、前記有効画素を割り当てたインデックス値の数が、前記均等割り当て数ｓずつ前記有効画素を各インデックス値に割り当てたときの、残りの有効画素数を示す割り当て残差Nhに達するまで、前記第１のインデックス値決定部により前記有効画素の割り当てを行わせるように制御し、
前記有効画素を割り当てたインデックス値の数が前記割り当て残差Nhに達した後は、前記第２のインデックス値決定部により前記有効画素の割り当てを行わせるように制御する
前記（３）に記載の画像処理装置。
（５）  前記ヒストグラム生成部により生成された前記ヒストグラムにおける前記有効画素を検出し、前記有効画素の数を示す有効画素数、および、前記有効画素の値を示す有効画素値を求める有効画素情報生成部をさらに備える
前記（４）に記載の画像処理装置。
（６）  前記有効画素情報生成部により求められた前記有効画素数を用いて、前記均等割り当て数ｓを算出する均等割り当て数算出部をさらに備える
前記（５）に記載の画像処理装置。
（７）  前記有効画素情報生成部により求められた前記有効画素数、および、前記均等割り当て数算出部により生成される前記均等割り当て数を用いて、前記割り当て残差Nhを生成する割り当て残差算出部をさらに備える
前記（６）に記載の画像処理装置。
（８）  前記量子化テーブル生成部により生成された前記量子化テーブルを記憶する量子化テーブル記憶部をさらに備える
前記（１）乃至（７）のいずれかに記載の画像処理装置。
（９）  前記量子化テーブル生成部により生成された前記量子化テーブルを用いて前記入力画像の各画素値の量子化を行う量子化部をさらに備える
前記（１）乃至（８）のいずれかに記載の画像処理装置。
（１０）  前記入力画像の画素値のビット深度を逆変換する際に利用されるテーブル情報であって、前記インデックス値に、各インデックス毎に設定された所定の代表値を割り当てるテーブル情報である代表値テーブルを生成する代表値テーブル生成部をさらに備える
前記（１）乃至（９）のいずれかに記載の画像処理装置。
（１１）  前記代表値テーブル生成部は、各インデックス値に割り当てられた前記有効画素値の重心を、前記インデックス値に対応する代表値とする
前記（１０）に記載の画像処理装置。
（１２）  前記代表値テーブル生成部により生成された前記代表値テーブルを記憶する代表値テーブル記憶部をさらに備える
前記（１０）または（１１）に記載の画像処理装置。
（１３）  前記代表値テーブル生成部により生成された前記代表値テーブルを用いて前記インデックス値の逆量子化を行う逆量子化部をさらに備える
前記（１０）乃至（１２）のいずれかに記載の画像処理装置。
（１４）  画像処理装置の画像処理方法であって、
ヒストグラム生成部が、入力画像の画素値の出現頻度分布を示すヒストグラムを生成し、
量子化テーブル生成部が、前記入力画像の画素値のビット深度を変換する際に利用されるテーブル情報であって、前記ヒストグラム生成部により生成された前記ヒストグラムにおいて出現頻度が非ゼロの有効画素をビット深度変更後のインデックス値に割り当てるテーブル情報である量子化テーブルを、前記有効画素を前記インデックス値にできるだけ均等に割り当てるようにして生成する
画像処理方法。
【符号の説明】
【０１８７】
１００  画像処理装置，  １０１  ヒストグラム生成部，  １０２  非ゼロクラス検出部，  １０３  有効画素数割り当て計算部，  １０４  割り当て残差計算部，  １０５  量子化テーブル生成部，  １０６  代表値テーブル生成部，  １０７  量子化テーブル記憶部，  １０８  代表値テーブル記憶部，  １３１  制御部，  １３２  第１インデックス値決定部，  １３３  第２インデックス値決定部，  １３４  テーブル生成部，  １７１  量子化部，  １７２  逆量子化部，  ２０１  仮インデックス値決定部，  ２０２  頻度算出部，  ２０３  並び替え部，  ２４１  ループ制御部，  ３０１  画像量子化装置，  ３０２  画像逆量子化装置，  ３１１  画像分割部，  ３１２  ビット深度変換部，  ３２１  テーブル生成部，  ３２２  量子化部，  ３３１  ビット深度逆変換部，  ３３２  画像統合部，  ３４１  テーブル取得部，  ３４２  逆量子化部
【図１】
2013029953.tif 000007
【図２】
2013029953.tif 000008
【図３】
2013029953.tif 000009
【図４】
2013029953.tif 000010
【図５】
2013029953.tif 000011
【図６】
2013029953.tif 000012
【図７】
2013029953.tif 000013
【図８】
2013029953.tif 000014
【図９】
2013029953.tif 000015
【図１０】
2013029953.tif 000016
【図１１】
2013029953.tif 000017
【図１２】
2013029953.tif 000018
【図１３】
2013029953.tif 000019
【図１４】
2013029953.tif 000020
【図１５】
2013029953.tif 000021
【図１６】
2013029953.tif 000022
【図１７】
2013029953.tif 000023
【図１８】
2013029953.tif 000024