(57)【特許請求の範囲】
【請求項１】
各スカラー量の取り得る値がＴ１〜ＴＩである、量子化対象のＮ個のスカラー量Ｓ（１）〜Ｓ（Ｎ）を入力し、各スカラー量を複数の代表値の中の１つで表わすことで、量子化する量子化装置であって、
各スカラー量Ｓ（ｎ）（ｎは１、…、Ｎのいずれか）の、量子化した際の変化の許容範囲を特定する情報を取得する取得手段と、
前記情報に応じた許容範囲を量子化対象のスカラー量毎に設定する設定手段と、
量子化対象のスカラー量を入力する入力手段と、
該入力手段で入力した着目スカラー量Ｓ（ｎ）について、前記設定手段で設定された前記着目スカラー量Ｓ（ｎ）に対する許容範囲をＴｍｉｎ（ｎ）〜Ｔｍａｘ（ｎ）と表わしたとき、前記着目スカラー量Ｓ（ｎ）に対して、前記Ｔｍｉｎ（ｎ）〜Ｔｍａｘ（ｎ）で表わされる範囲の複数のスカラー量が入力されたものと見なし、Ｔ１〜ＴＩの各値が入力された個数を累積カウントするカウント手段と、
前記入力手段で前記Ｎ個のスカラー量を入力した場合の前記カウント手段で求めたＴ１〜ＴＩのカウント値に従い、前記複数の代表値を決定する決定手段と、
該決定手段で得られた複数の代表値を用いて、前記Ｎ個のスカラー量を量子化する量子化手段と
を有することを特徴とする量子化装置。
【請求項２】
前記量子化対象のスカラー量は、所定の視点で撮影したカラー画像の距離画像であり、前記取得手段は、異なる視点で撮影した複数のカラー画像を取得し、
前記設定手段は、上記カラー画像を利用して、各距離の許容範囲を算出することを特徴とする請求項１に記載の量子化装置。
【請求項３】
前記情報は、前記カラー画像における注目画素について、前記注目画素の近傍に色差の小さい画素があるか否かを特定する情報であることを特徴とする請求項２に記載の量子化装置。
【請求項４】
前記設定手段は、前記注目画素について、前記注目画素の近傍に色差の小さい画素がない場合は、前記注目画素の近傍に色差の小さい画素がある場合よりも、前記注目画素の許容範囲を小さく設定することを特徴とする請求項３に記載の量子化装置。
【請求項５】
更に、スカラー量Ｓ（１）〜Ｓ（Ｎ）のうち、それまでに選択した代表値のいずれかを許容範囲に含むスカラー量Ｓ（ｎ）以外をカウント対象として設定するカウント対象設定手段を持ち、
前記カウント手段は、前記カウント対象設定手段で設定されたカウント対象のスカラー量のみを考慮してカウント値を求め、
前記決定手段は、カウント値が最大となる値Ｔｉ（ｉは１、・・・、Ｉのいずれか）を代表値の１つとして選択し、
予め目標とする代表値の個数の選択が行われる、又は、前記代表値の候補がなくなるまで、前記カウント対象設定手段によるカウント対象のスカラー値の設定、前記カウント手段による累積値のカウント、前記決定手段による代表値の選択を繰り返し実行する
ことを特徴とする請求項１乃至４の何れか一項に記載の量子化装置。
【請求項６】
前記決定手段は、更に、選択した代表値のカウント値が、前記Ｎに対して閾値以下の割合であった場合に、代表値の選択を打ち切ることを特徴とする請求項５に記載の量子化装置。
【請求項７】
前記カウント手段は、
当該着目スカラー量Ｓ（ｎ）に対し、許容範囲Ｔｍｉｎ（ｎ）〜Ｔｍａｘ（ｎ）における前記着目スカラー量Ｓ（ｎ）を、それ以外のスカラー量よりも大きい重みを持つものとしてカウントすることを特徴とする請求項１乃至６のいずれか１項に記載の量子化装置。 
【請求項８】
前記量子化対象のスカラー量は画像を構成する画素値であって、
前記取得手段は、前記画像における関心領域を示す情報を、前記量子化した際の変化の許容範囲を特定する情報として取得し、
前記設定手段は、前記関心領域内の画素の量子化の許容範囲を、前記関心領域外の画素の量子化の許容範囲よりも小さくすることを特徴とする請求項１に記載の量子化装置。
【請求項９】
前記量子化手段は、画素の距離を近似する代表値の候補が複数ある場合に、距離によって対応つけられる画素間の色差が、小さくなる候補を優先して選択して量子化することを特徴とする請求項８に記載の量子化装置。
【請求項１０】
各スカラー量の取り得る値がＴ１〜ＴＩである、量子化対象のＮ個のスカラー量Ｓ（１）〜Ｓ（Ｎ）を入力し、各スカラー量を複数の代表値の中の１つで表わすことで、量子化する量子化装置の制御方法であって、
取得手段が、各スカラー量Ｓ（ｎ）（ｎは１、…、Ｎのいずれか）の、量子化した際の変化の許容範囲を特定する情報を取得する取得工程と、
設定手段が、前記情報に応じた許容範囲を量子化対象のスカラー量毎に設定する設定工程と、
入力手段が、量子化対象のスカラー量を入力する入力工程と、
カウント手段が、前記入力工程で入力した着目スカラー量Ｓ（ｎ）について、前記設定工程で設定された情報が示す前記着目スカラー量Ｓ（ｎ）に対する許容範囲をＴｍｉｎ（ｎ）〜Ｔｍａｘ（ｎ）と表わしたとき、前記着目スカラー量Ｓ（ｎ）に対して、前記Ｔｍｉｎ（ｎ）〜Ｔｍａｘ（ｎ）で表わされる範囲の複数のスカラー量が入力されたものと見なし、Ｔ１〜ＴＩの各値が入力された個数を累積カウントするカウント工程と、
決定手段が、前記入力工程で前記Ｎ個のスカラー量を入力した場合の前記カウント工程で求めたＴ１〜ＴＩのカウント値に従い、前記複数の代表値を決定する決定工程と、
量子化手段が、前記決定工程で得られた複数の代表値を用いて、前記Ｎ個のスカラー量を量子化する量子化工程と
を有することを特徴とする量子化装置の制御方法。
【請求項１１】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１乃至９のいずれか１項に記載の量子化装置が有する各手段として機能させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像における画素値等のスカラー量を量子化する技術に関するものである。
【背景技術】
【０００２】
従来から、与えられたスカラー量を、任意に定めたいくつかの代表値のいずれかで近似することで、スカラー量の記録に必要なビット数を削減する量子化技術が知られている。当然ながら、代表値の数が増えるほど、量子化の際の近似誤差は小さくなるが、それに伴い１つのスカラー量を記録するのに必要なビット数は増加する。また、代表値の数が同じであっても、各代表値にどのような値を選択するかによって、量子化によって発生する誤差は変わる。従って、代表値としてどのような値を設定するかが、データを精度良く量子化する為にキーになる。量子化の際、低ビット表現の各値がどの代表値に対応するかの対応関係は表として記録されることが多く、その表を代表値テーブルと呼ぶ。
【０００３】
量子化を行う場合は、一般に、複数のスカラー量に対して、共通の代表値テーブルを用いる。例えば、グレー画像の場合は各画素の輝度値が１つのスカラー量であり、画像の全画素の輝度値に対して共通の代表値テーブルを用いて量子化することが一般的である。従って、代表値テーブルは、複数のスカラー量に対して、量子化による劣化が小さくなるように定めるのが一般的である。
【０００４】
代表値テーブルの定め方として良く知られた技術に、ロイド―マックス量子化がある（特許文献１）。ロイド―マックス量子化では、各スカラー量と、そのスカラー量を近似する代表値との二乗誤差の和Ｅ：
【０００５】
【数１】
0005959911.tif 000002
を最小にすることを目的にして代表値を定める。ここでｓi（ｉ＝１，…，Ｋ）は量子化対象のスカラー量で、ｓi'は量子化の際に、ｓiを近似するために割り当てられる代表値である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３４１５５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
既に述べたように、量子化の際に割り当てられる代表値数が決まっている場合は、量子化による劣化は代表値テーブルによって決まる。劣化の基準はロイド―マックス法のように、量子化前のスカラー量と、そのスカラー量を近似する代表値との差を用いるのが一般的である。
【０００８】
しかし、一方で、劣化をその様な基準で評価するのが適切でない場合も存在する。例えば、画像の各画素の輝度値を量子化する場合には、その画像の中でも重要なオブジェクトを含む注目領域は許容される誤差が小さく、その他の領域は許容される誤差が大きくしたい。
【０００９】
本発明は上記従来例の課題を顧みてなされたものであり、量子化対象の各スカラー量に対して、割り当てられる代表値の許容範囲を計算し、その許容範囲を考慮して量子化のための複数の代表値を決定する技術を提供しようとするものである。
【課題を解決するための手段】
【００１０】
この課題を解決するため、例えば本発明の量子化装置は以下の構成を備える。すなわち、
各スカラー量の取り得る値がＴ１〜ＴＩである、量子化対象のＮ個のスカラー量Ｓ（１）〜Ｓ（Ｎ）を入力し、各スカラー量を複数の代表値の中の１つで表わすことで、量子化する量子化装置であって、
各スカラー量Ｓ（ｎ）（ｎは１、…、Ｎのいずれか）の、量子化した際の変化の許容範囲を特定する情報を取得する取得手段と、
前記情報に応じた許容範囲を量子化対象のスカラー量毎に設定する設定手段と、
量子化対象のスカラー量を入力する入力手段と、
該入力手段で入力した着目スカラー量Ｓ（ｎ）について、前記設定手段で設定された前記着目スカラー量Ｓ（ｎ）に対する許容範囲をＴｍｉｎ（ｎ）〜Ｔｍａｘ（ｎ）と表わしたとき、前記着目スカラー量Ｓ（ｎ）に対して、前記Ｔｍｉｎ（ｎ）〜Ｔｍａｘ（ｎ）で表わされる範囲の複数のスカラー量が入力されたものと見なし、Ｔ１〜ＴＩの各値が入力された個数を累積カウントするカウント手段と、
前記入力手段で前記Ｎ個のスカラー量を入力した場合の前記カウント手段で求めたＴ１〜ＴＩのカウント値に従い、前記複数の代表値を決定する決定手段と、
該決定手段で得られた複数の代表値を用いて、前記Ｎ個のスカラー量を量子化する量子化手段とを有する。
【発明の効果】
【００１１】
本発明によれば、量子化対象の各スカラー量に対して、割り当てられる代表値の許容範囲を計算し、その許容範囲を考慮して量子化のための複数の代表値を決定する。この結果、各スカラー量に許容される誤差の特性を反映した量子化を行うことで、量子化に伴う劣化を軽減することが可能になる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態の処理内容を示すフローチャート。
【図２】図１のＳ１０２の計算方法の詳細を示すフローチャート。
【図３】図１のＳ１０７の詳細を示すフローチャート。
【図４】量子化対象画像の例を示す図。
【図５】第１の実施形態で求める、許容範囲とカウント値の例を示す図。
【図６】第２の実施形態の自由視点画像を再生可能なシステムの構成例を示す図。
【図７】多視点画像を撮影するカメラと、被写体の位置関係を示す図。
【図８】多視点撮影されたカラー画像の例を示す図。
【図９】量子化対象となる視差画像を示す図。
【図１０】視差の許容範囲とカラー画像との関係を説明する図。
【図１１】第２の実施形態で求める、許容範囲の例を示す図。
【図１２】第２の実施形態の変形例における、図１のＳ１０７の詳細を示すフローチャート。
【図１３】第２の実施形態における図１のＳ１０２の詳細を示すフローチャート。
【図１４】図１３のＳ１３０２の詳細を示すフローチャート。
【図１５】代表値数を自動判定する場合のフローチャート。
【図１６】コンピュータのブロック構成図。
【発明を実施するための形態】
【００１３】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下説明する各実施形態は、本発明を具体的に実施した場合の例を示すもので、特許請求の範囲に記載の構成の具体的な実施形態の１つである。
【００１４】
［第１の実施形態］
本第１の実施形態における量子化装置として機能する情報処理装置のブロック構成図を図１６に示す。
【００１５】
ＣＰＵ１６０１は、ＲＡＭ１６０２やＲＯＭ１６０３に格納されているコンピュータプログラムやデータを用いて、コンピュータ全体の制御を行うと共に、多視点画像符号化装置が行うものとして説明した上述の各処理を実行する。ＲＡＭ１６０２は、コンピュータ読み取り可能な記憶媒体の一例である。ＲＡＭ１６０２は、外部記憶装置１６０７や記憶媒体ドライブ１６０８、更にはネットワークインタフェース１６１０からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有する。更に、ＲＡＭ１６０２は、ＣＰＵ１６０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１６０２は、各種のエリアを適宜提供することができる。ＲＯＭ１６０３は、コンピュータ読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどが格納されている。キーボード１６０４、マウス１６０５は、コンピュータの操作者が操作することで、各種の指示をＣＰＵ１６０１に対して入力することができる。表示装置１６０６は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１６０１による処理結果を画像や文字などでもって表示することができる。例えば、上記量子化対象のグレー画像の表示や、量子化した結果の表示ができる。
【００１６】
外部記憶装置１６０７は、コンピュータ読み取り記憶媒体の一例であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置１６０７には、ＯＳ（オペレーティングシステム）や、図１に示した各処理をＣＰＵ１６０１に実現させるためのコンピュータプログラムやデータ、上記の各種テーブル、データベース等が保存されている。外部記憶装置１６０７に保存されているコンピュータプログラムやデータは、ＣＰＵ１６０１による制御に従って適宜ＲＡＭ１６０２にロードされ、ＣＰＵ１６０１による処理対象となる。
【００１７】
記憶媒体ドライブ１６０８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置１６０７やＲＡＭ１６０２に出力する。なお、外部記憶装置１６０７に保存されているものとして説明した情報の一部若しくは全部をこの記憶媒体に記録させておき、この記憶媒体ドライブ１６０８に読み取らせても良い。
【００１８】
Ｉ／Ｆ１６０９は、外部から量子化対象のグレー画像を入力するための、インタフェースであり、一例として示すのであればＵＳＢ（Universal Serial Bus）である。１６１０は、上述の各部を繋ぐバスである。
【００１９】
上述構成において、本コンピュータの電源がＯＮになると、ＣＰＵ１６０１はＲＯＭ１６０３に格納されているブートプログラムに従って、外部記憶装置１６０７からＯＳをＲＡＭ１６０２にロードする。この結果、キーボード１６０４、マウス１６０５を介した情報入力操作が可能となり、表示装置１６０６にＧＵＩを表示することが可能となる。ユーザが、キーボード１６０４やマウス１６０５を操作し、外部記憶装置１６０７に格納されたグレー画像量子化用のアプリケーションプログラムの起動指示を入力すると、ＣＰＵ１６０１はこのプログラムをＲＡＭ１６０２にロードし、実行する。これにより、本コンピュータが画像を量子化する画像処理装置として機能することになる。
【００２０】
以下では、量子化対象の画像データは外部記憶装置１６０７に既に格納されており、量子化後のデータも外部記憶装置１６０７にファイルとして格納する例を説明する。だたし、量子化対象の画像データはネットワークからダウンロードしても構わないし、イメージスキャナ等で読み取るものでも構わない。また、量子化後のデータをファイルとして記憶装置に格納するのではなく、ネットワーク上に送信するものとしても構わない。すなわち、量子化対象の画像データの入力源、量子化後の画像データの出力先の種類が本願発明を限定するものではない。
【００２１】
図１は、所定形式の画像データの量子化を行う画像処理装置として機能する場合のＣＰＵ１６０１が実行する手順を示すフローチャートである。以下図１に従って本第１の実施形態による量子化処理を説明する。
【００２２】
図４（ａ）に示すグレー画像の、各画素の輝度値を量子化する場合を例に、注目領域（関心領域）に生じる誤差を抑えることができる量子化方法を示す。代表値の個数は量子化を行う上で、重要なパラメータであるが、本実施形態では簡単のために、３つ代表値の中から選ぶこととする。なお図４（ａ）のグレー画像の各画素は８ビットで表わされ、その輝度値は０〜２５５の２５６階調で表現される。図４（ａ）の網点領域４０１は、２つの色が混ざった領域であり、輝度値「２４９」と輝度値「２４５」の画素が入り混じっている。同図の横線領域４０２は、単色の領域であり、全ての画素が輝度値「９」である。同様に斜線領域４０３は、全ての画素が輝度値「５」の単色領域である。
【００２３】
まず、図１のＳ１０１では、ＣＰＵ１６０１は、量子化対象となるスカラー量を設定する。このステップでは複数のスカラー量を選び、選ばれたスカラー量はこの後の処理により共通の代表値テーブルを用いて量子化される。例えば１枚のグレー画像を共通の代表値テーブルで量子化する場合には、グレー画像の全画素の輝度値が、量子化対象となるスカラー量である。本実施形態では、説明を簡単にするために、図４（ａ）に示す画像全体ではなく、図４（ｂ）に番号１〜１５で示した、１ラインの画素の輝度値を量子化対象とする。
【００２４】
Ｓ１０２では、与えられた量子化対象スカラー量に対して割り当てられる代表値の許容範囲を計算する。ここで本実施形態での許容範囲の定義を説明する。許容範囲とは、量子化に伴う各スカラー量の変化として許容できる範囲であり、許容範囲内の値で近似することができれば劣化が十分に小さいと見なせる範囲のことである。
【００２５】
本実施形態ではＳ１０２において、各画素の輝度値の量子化を行う際に、ユーザが指定する注目領域内の画素であるかどうかに応じて、許容範囲を定める。別の実施形態では、量子化対象のスカラー量と共に装置外部から直接許容範囲が与えられるようにしても構わない。本実施形態におけるＳ１０２の詳細を図２に示す。
【００２６】
図２のＳ２０１では注目領域の指定を行う。注目領域は画像の中で特に重要であり、量子化による画質劣化を抑えたい領域である。本実施形態では注目領域の指定はユーザからの入力によって成されることを想定する。例えば、量子化対象の画像をディスプレイ等に表示し、タッチパネルやマウス等で画像の一部を囲み込むことにより指定される。以下では図４（ａ）の領域４０２、４０３を含む矩形領域が注目領域として指定されたものとする。Ｓ２０２では量子化対象画像の画素を１つ選択する。Ｓ２０３ではＳ２０２で選択した画素がＳ２０１で指定された注目領域内にあるかどうかを判定する。Ｓ２０３の判定の結果、注目領域内（関心領域内）の画素であれば、Ｓ２０４において、その画素の輝度値の許容範囲を、輝度値±Ｄｉｎと設定する。逆に、注目領域外（関心領域外）の画素であれば、Ｓ２０５において、その画素の輝度値の許容範囲を、輝度値±Ｄｏｕｔと設定する。当然のことながら、Ｄｏｕｔ＞Ｄｉｎ≧０であることが望ましい。本実施形態ではＤｏｕtを２、Ｄｉｎを１に設定したものとする。次にＳ２０６では全画素に対して許容範囲を設定したかを判定する。許容範囲を設定していない画素があれば、Ｓ２０２においてその画素を選択して許容範囲を設定する処理を繰り返すことで、全ての画素に対して許容範囲を設定する。
【００２７】
図１のフローチャートの説明に戻る。Ｓ１０３では、Ｓ１０２で求めた許容範囲を利用して、各輝度値のカウント値を求める。以下でカウント値の求め方を詳しく説明する。
【００２８】
まず、Ｓ１０２で求めた各画素の許容範囲から、図５（ａ）に示すグラフを求める。図５（ａ）の水平軸はスカラー量（本実施形態の場合は輝度値）、垂直軸は量子化対象のスカラー量に割り振られる番号（本実施形態の場合は画素番号）である。以下、画素番号をｉとしたとき、その画素値を画素Ｐ（ｉ）と表現する。
【００２９】
図５（ａ）の斜線５０１は画素Ｐ（１０）の輝度値が「９」であることを示している。斜線５０１の左右にある、白い帯は、画素Ｐ（１０）の許容範囲を示している。画素Ｐ（１０）は図２のＳ２０１において注目領域内に選ばれた画素であり、Ｓ２０４において許容範囲が９±１つまり８〜１０に設定されており、白い帯はその範囲にまたがっている。また、斜線５０２は画素Ｐ（４）の輝度値を表しており、その周囲の白い帯が画素Ｐ（４）の許容範囲を示している。画素Ｐ（４）は注目領域に選ばれなかった画素であるため、許容範囲は２４９±２つまり２４７〜２５１の範囲にまたがっている。図５（ａ）では他の画素についても同様に、画素の輝度値を斜線で示し、画素の許容範囲を、斜線を内包する白い帯で示した。
【００３０】
カウント値は、各輝度値を許容範囲に含む画素数を表すもので、図５（ａ）のグラフで垂直方向に和を取ることで得られる。図５（ｂ）に、図５（ａ）から導かれる、輝度値毎のカウント値を示す。例えば図５（ａ）において、輝度値５を許容範囲内に含む画素は、画素Ｐ（７）、Ｐ（８）、Ｐ（９）であるため、図５（ｂ）において、輝度値５のカウント値は「３」になっている。
【００３１】
なお、Ｓ１０３でカウント値を求める際の別の実施形態として、図５（ａ）のグラフで垂直方向に和を取る際に、重み付けを行っても良い。例えば、図５（ａ）中の斜線領域は「２」、白い帯の領域は「１」を加算して輝度毎のカウント値を求めても良い。この場合、図５（ｂ）の、輝度毎のカウント値を示すヒストグラムの形状が変わるが、それ以外は、本実施形態と同様の処理を行えばよい。
【００３２】
次のＳ１０４では代表値を１つ決定する。代表値はカウント値が最も高い輝度値を選ぶ。本実施形態では、図５（ｂ）から明らかなように、「２４７」を１つ目の代表値に選ぶ。
【００３３】
次のＳ１０５ではカウント対象の削減を行う。これは、次の代表値を決める場合に、許容範囲内に代表値がある画素はＳ１０３でカウント値を再計算する際に考慮しない為である。本実施形態の場合は、「２４７」が代表値に既に選ばれている為、「２４７」を許容範囲に含む画素Ｐ（１）〜Ｐ（５）、Ｐ（１１）〜Ｐ（１５）をカウント対象から削減する。
【００３４】
次のＳ１０６では、代表値が目標数に達した、或いは、カウント対象の画素が無くなった、いずれかを満たすかを判定する。本実施形態では先に述べた通り、代表値を３つ選ぶ必要があり、まだ１つしか選んでいず、且つ、カウント対象の画素も未だ残っているので、この条件を満たさず、Ｓ１０６の判定は偽（False）となり、再びＳ１０３に戻る。
【００３５】
２つ目以降の代表値を選ぶ処理は、基本的にはＳ１０３〜Ｓ１０５の処理を１つ目の代表値を決めた際と同様に行えば良い。２週目以降の違いは、既に述べた通り、Ｓ１０３でカウント値の計算を行う際に、Ｓ１０５でカウント対象から削減した画素を無視する点である。例えば本実施形態で、２つ目の代表値を求める際に、Ｓ１０３で求めるカウント値は図５（ｃ）になる。図５（ｃ）は、図５（ａ）において、１つ目の代表値２４７によって許容範囲内の誤差で近似できなかった画素Ｐ（６）〜Ｐ（１０）のみを対象に、カウント値を求めたものである。このカウント値が最大になる輝度値を、Ｓ１０４で代表値に決定すれば良い。なお、図５（ｃ）ではカウント値が最大になる輝度値が４、５、６の３つ存在する。このように、カウント値が最大となる輝度値、つまり、代表値の候補が複数存在する場合の処理を補足する。例えば、代表値の候補それぞれに対して、代表値の候補と、その代表値の候補を許容範囲内に含む画素の、量子化前の輝度値、との差分の二乗和を計算し、その結果が最も小さいものを代表値として選ぶ方法が考えられる。本実施形態の場合は、代表値の候補である輝度値４、５、６は全て、画素７、８、９の許容範囲に含まれており、画素７、８、９の量子前の輝度値５との差分の二乗和が最小になる輝度値５が、２つ目の代表値に選ばれる。
【００３６】
以上の処理を繰り返すと、「２４７」、「５」、「９」の順に代表値が選ばれる。そしてＳ１０６の判定が真（ｔｒｕｅ）と判定される。この場合、次にＳ１０７に進み、各画素の輝度値を代表値に置き換えることで、量子化する。本実施形態でのＳ１０７の詳細を図３に示す。
【００３７】
Ｓ３０１では、各画素に対して、許容範囲内に代表値があるかを判定する。許容範囲は当然、Ｓ１０２で求めたものを用いる。許容範囲内に代表値がある場合はＳ３０２に、無い場合はＳ３０３に進む。
【００３８】
Ｓ３０２では、許容範囲内にある代表値を割り当てる。この際、許容範囲内に複数の代表値がある場合は、量子化前の輝度値に最も近い代表値を割り当てる。Ｓ３０３では、許容範囲に代表値が存在しないため、許容範囲外にある代表値のうち、量子化前の輝度値に最も近い代表値を割り当てる。
【００３９】
なお、図３の量子化処理であるが、量子化結果の画像データのデータ量を削減する場合には、代表値「５」、「９」、「２４７」を２ビットで００、０１、１０と表現し、量子化対象の画素値（８ビット）を、最も近い代表値を表わす２ビットのデータで置換したファイルを生成する。この場合、ファイルヘッダには、００、０１、１０に対して、画素値５、９、２４７を割り当てることを示す情報を格納すれば良い。
【００４０】
以上、図１のフローチャートに基づいて、本発明における量子化の方法を説明した。上記実施形態では、量子化対象のスカラー量が図４（ｂ）に示すように１５個の画素値であり、許容範囲も±１、±２の例であったが、これはあくまで一例であることに留意願いたい。
【００４１】
なお、図１のフローチャートの説明で述べたように、Ｓ１０３、Ｓ１０５では、２つ目以降の代表値を求める際に、Ｓ１０５でカウント対象を削減し、Ｓ１０３でカウント値を再計算することでカウント値を再計算した。しかし、このカウント値の再計算までを量子化装置に含めることが、必ずしも必要とは限らない。例えば、Ｓ１０４で１つ目の代表値を決めた際に、その周囲±１画素の範囲のカウント値を０で上書きし、そのカウント値によって２つ目の代表値を定めることもできる。ここで、周囲±１画素のカウント値を０にしたのは、本実施例で最も高精度に量子化したい着目領域の許容範囲が±１だったことに由来する。このように、２つ目以降の代表値を定める際のカウント値の再計算方法を変えたとしても、本発明の特徴であるカウント値を利用した代表値の決定方法を利用することは可能である。
【００４２】
従って本実施形態における技術思想を一般化した場合の量子化装置は、以下の構成を有することになる。すなわち、
各スカラー量の取り得る値がＴ１〜ＴＩである、量子化対象のＮ個のスカラー量Ｓ（１）〜Ｓ（Ｎ）を入力し、各スカラー量を複数の代表値の中の１つで表わすことで、量子化する量子化装置であって、
各スカラー量Ｓ（ｎ）（ｎは１、…、Ｎのいずれか）の、量子化した際の変化の許容範囲を特定する情報を取得する取得手段と、
量子化対象のスカラー量を入力する入力手段と、
該入力手段で入力した着目スカラー量Ｓ（ｎ）について、前記取得手段で取得した情報が示す前記着目スカラー量Ｓ（ｎ）に対する許容範囲をＴｍｉｎ（ｎ）〜Ｔｍａｘ（ｎ）と表わしたとき、前記着目スカラー量Ｓ（ｎ）に対して、前記Ｔｍｉｎ（ｎ）〜Ｔｍａｘ（ｎ）で表わされる範囲の複数のスカラー量が入力されたものと見なし、Ｔ１〜ＴＩの各値が入力された個数を累積カウントするカウント手段と、
前記入力手段で前記Ｎ個のスカラー量を入力した場合の前記カウント手段で求めたＴ１〜ＴＩのカウント値に従い、前記複数の代表値を決定する決定手段と、
該決定手段で得られた複数の代表値を用いて、前記Ｎ個のスカラー量を量子化する量子化手段とを有する構成とすれば良い。
【００４３】
［第２の実施形態］
本第２の実施形態では、自由視点画像合成に用いる、距離画像の量子化を行う例を示す。
【００４４】
まず自由視点画像合成と距離画像について概要を説明する。自由視点画像合成とは、カメラ等の撮影装置を用いて、或る視点から画像を撮影し、その視点の画像を利用して、実際には撮影を行っていない別の視点から見える画像を合成する技術である。自由視点画像合成の手法の１つに、距離画像を利用する方法が知られている。距離画像とは撮影した視点の各画素の距離情報が格納された画像である。距離画像があれば、撮影した被写体の３次元空間上の座標が特定できるため、別の視点から見た際に、被写体が画像上のどこの位置に写るかを推測することができる。
【００４５】
距離画像の取得には大きく分けてアクティブ方式とパッシブ方式がある。アクティブ方式は被写体にレーザーなどを照射することで距離を取得する方式で、代表的なものとしてレーザーが往復してくるまでの時間から距離を推測するタイムオブフライト方式がある。パッシブ方式は撮影した画像を用いて距離を取得する方式で、代表的なものとして、異なる２視点の撮影画像を用いるステレオマッチング法がある。
【００４６】
アクティブ取得した距離画像を用いて自由視点画像合成を行う場合は、撮影した多視点画像に加えて、アクティブ取得した距離画像の符号化を行う必要がある。距離画像をパッシブ取得する場合は、多視点画像から距離画像を取得することができるため距離画像の符号化は不要である。しかし、再生時の処理負荷低減などを目的に、撮影時に距離画像のパッシブ取得を行って符号化し、再生時には距離画像の再取得を行わない場合は、やはり距離画像の符号化が必要となる。
【００４７】
自由視点画像合成に用いられる距離画像は、視差画像の形で符号化されることが多い。視差とは、異なる２つの視点で同一の被写体（点）を撮影した際に、一方の視点に映った点が、もう一方の視点での撮影画像のどこに写っているかを示す量である。一般には異なる画像間で、同一の被写体が写っている点（以下、対応点）同士が何画素ずれているかで表現される。より具体的には、光軸が平行で、水平軸に沿った左右にｂ（ｍｍ）の間隔で並べた２つのカメラで、撮影面（光軸に垂直かつ、２つのカメラを通る平面）からｚ（ｍｍ）離れた点を撮影した場合、２つの撮影画像内の対応点の視差ｄ（ｐｉｘ）は、
ｄ＝ｂｆＷ／（ｚＣ）  …（式１）
である。ここで，ｆはカメラの焦点距離（ｍｍ）、Ｗは撮影画像の幅（ｐｉｘ）、Ｃは撮影素子の幅（ｍｍ）である。なお、カメラが左右に正確に配置されている場合は、対応点の垂直方向の視差は０であることが保証できる（エピポーラ拘束）。従ってここで説明した視差は、対応点同士の水平方向のずれを示していることになる。
【００４８】
以上で、自由視点画像合成と、距離画像の概要についての説明を終える。以下では自由視点画像合成に用いる距離画像を、視差画像として符号化することを前提に、視差画像の量子化方法を説明する。
【００４９】
ここで視差画像の性質について補足をする。視差を近似する際には、特に、その視差画像と同一の視点から撮影されたカラー画像の、エッジ付近の精度が重要である。既に述べたように、視差画像とは、異なる画像間の対応画素がどれだけずれているかを示す情報である。視差を用いて自由視点画像合成を行う際には、画像を合成したい視点の位置と、視差の大きさに応じて、撮影した視点の画像の画素をずらす（ワープさせる）ことで行う。従って視差が変わるということは、自由視点画像合成においては、ある画素を、本来のワープ先とは別の位置にワープさせることを意味する。色の変化が僅かな領域では、本来の位置とずれた位置にワープさせても、見た目上の劣化は小さい。一方で、カラー画像のエッジ付近でワープ先を間違えると、自由視点画像上のある画素の色が、本来あるべき色と大きく異なる色になるため、劣化が目立つ。従って、視差画像を符号化する際には、カラー画像のエッジ付近程高い精度が必要となる。
【００５０】
本第２の実施形態で想定するシステムを図６に示す。図６は撮影装置による画像の撮影から、撮影画像を用いて、自由視点画像合成結果を表示するまでの各部の構成と、データの流れを示したものである。
【００５１】
まず撮影部６０１、６０２、６０３においてカラー画像を撮影する。撮影は光軸が平行で、左、中央、右に並べた３つのデジタルカメラで行う。左視点の画像をＩ１、中央視点の画像をＩ２、右視点の画像をＩ３として示している。
【００５２】
次に視差画像生成部６０４では画像Ｉ２の視差画像Ｓ２を生成する。視差画像はＩ１、Ｉ２、Ｉ３を用いて、ステレオマッチング法により求める。ここで、３枚の画像を使ったステレオマッチング法について補足する。既に述べたように、ステレオマッチング法は基本的には２つの画像を用いて視差を求める手法である。しかし、Ｉ２とＩ１、Ｉ２とＩ３の組み合わせでそれぞれステレオマッチングを行い、最後に２つの結果を統合することにより、より正確にＩ２の視差を求める手法が知られており、ここでもその様な手法を用いることを想定する。もちろん、アクティブ方式によって、被写体までの距離を計測し、（式１）に従って視差を求めても良い。
【００５３】
次に視差画像量子化部６０５では視差画像の量子化を行う。本実施形態における特徴は視差画像量子化部６０５での量子化処理であり、後で詳しく説明する。量子化の結果、Ｓ２が低ビット表現に量子化された視差画像Ｓ２’と、代表値テーブルＴ２を得る。
【００５４】
次に、符号化部Ｃ１、Ｃ２、Ｃ３ではそれぞれＩ２、Ｓ２’、Ｔ２を符号化する。符号化には例えばＺＩＰ等の可逆圧縮を用いれば良い。これら符号化データを送信部６０６から送信する。自由視点画像を生成する装置では、その受信部６０７で上記の符号化データを受信し、復号部Ｄ１、Ｄ２、Ｄ３にてそれぞれＩ２、Ｓ２’、Ｔ２を復号する。次に逆量子化部６０８においてＳ２’を逆量子化した視差画像Ｓ２''を得る。
【００５５】
最後に、自由視点画像合成部６０９においてカラー画像Ｉ２と視差画像Ｓ２''を用いて自由視点画像合成を行い、自由視点画像Ｉ４を再生する。本第２の実施形態では自由視点画像Ｉ４は、右視点を撮影したカメラと左視点を撮影したカメラを結んだ直線上の、いずれかに配置された視点の画像であることを想定する。従って、視差画像量子化部６０５でも、その範囲内にある視点から見た画像を合成する際に、視差画像の量子化による画質劣化の影響が少なくなるように量子化を行う。
【００５６】
以下では本第２の実施形態の特徴である、視差画像量子化部６０５の詳細を説明する。
【００５７】
まず、図６に示した、視差画像量子化部６０５への入力である、カラー画像Ｉ１、Ｉ２、Ｉ３と、視差画像Ｓ２について説明する。本実施形態ではカラー画像Ｉ１、Ｉ２、Ｉ３はデジタルカメラによる撮影画像とする。本実施形態で入力するカラー画像の、被写体とカメラの位置関係を図７に示す。カメラ７０１〜７０３が、図６における撮影部６０１、６０２、６０３に対応するものであって、それぞれがカラー画像Ｉ１、Ｉ２、Ｉ３を生成するものである。カメラ７０１〜７０３は撮影面７０８上に並んでおり、カメラの光軸は全て撮影面７０８に垂直であるものとする。これら３台のカメラで平面７０４〜７０７を撮影する。これら４つの平面は全て撮影面７０８と平行であり、撮影面７０８からの距離は（式１）に従って視差に換算すると、平面７０４が視差６、平面７０５、７０６が視差４、平面７０７が視差１である。平面７０４〜７０７はそれぞれ単色の平面であり、平面７０４〜７０６が黒色、平面７０７が白色であるとする。以上、図７を用いて述べた条件の下で撮影されたカラー画像Ｉ１、Ｉ２、Ｉ３をそれぞれ図８（ａ）、（ｂ）、（ｃ）に示す。図８（ａ）、（ｂ）、（ｃ）には当然、平面７０４、７０５、７０６、７０７が写っており、それらが画像のどの部分に対応するかは図８内に示した。図８中の黒い領域は平面７０４、７０５、７０６からなっており、全て黒色で同一の色であるため、図８内では白色の点線で区切ることで平面間の区切れを示したが、実際のカラー画像には白色の点線は存在しない。また図８の白色の領域は全て平面７０７である。図８（ｂ）の視差画像Ｓ２を図９に示す。当然ながら、斜線領域９０１、横線領域９０２、横線領域９０３、白色領域９０４がそれぞれ平面７０４、７０５、７０６、７０７に対応しており、それぞれの視差は６、４、４、１である。既に述べたように、視差画像Ｓ２はＩ２上の各画素の対応点が、Ｉ１もしくはＩ３のどの点であるかを、Ｉ２上の画素の位置から左右に何画素ずれているかで表現したものである。なお、Ｉ１上にある対応点は必ずＩ２上の対応点の右側にあり、Ｉ３上にある対応点は必ずＩ２上の対応点の左側にあることは、カメラ配置から必然的に定まる。
【００５８】
次に、視差画像量子化部６０５の処理の詳細を説明する。基本的な処理の流れは実施形態１で示した図１と同様である。第１の実施形態との主な違いはＳ１０２の許容範囲の計算方法である。以下では図１に沿って、Ｓ１０２を中心に、第１の実施形態と違う部分に絞って説明する。
【００５９】
まず、Ｓ１０１では量子化対象スカラー量として、視差画像Ｓ２を設定する。本実施形態では、説明の簡単のために、図９に示す如く、ｄ１〜ｄ２２の１ラインの視差値を量子化対象のスカラー量とする。
【００６０】
次にＳ１０２では許容範囲の計算を行う。本実施形態の特徴は視差画像Ｓ２の許容範囲の計算に、カラー画像Ｉ１、Ｉ２、Ｉ３を用いる。Ｓ１０２の許容範囲の計算の詳細を図１３に示す。図１３のＳ１３０１では視差画像Ｓ２の中で、量子化対象となっている視差ｄ１〜ｄ２２から１つ選ぶ。ここではｄｉ（ｉ＝１，・・・，２２）を選んだとする。Ｓ１３０２では、Ｉ１とＩ２を用いて視差ｄｉの許容範囲を計算する。この処理の詳細は後に図１４を用いて説明する。同様にＳ１３０３ではＩ３とＩ２を用いて許容範囲を計算する。次にＳ１３０４では、Ｓ１３０２とＳ１３０３で算出された許容範囲を統合する。統合の際に、両方の許容範囲に含まれている範囲のみを、ｄｉの許容範囲とする。次にＳ１３０５において、ｄ１〜ｄ２２の全ての許容範囲を計算したかを判定する。許容範囲を計算していない画素があればＳ１３０１に戻り、全ての画素の許容範囲を求めるまでくり返し、終了する。
【００６１】
ここでＳ１３０２におけるＩ１とＩ２を用いた許容範囲の算出方法について図１４を用いて説明する。上で述べたようにＳ１３０２の目的は視差ｄｉの許容範囲を求めることである。そこで、Ｓ１３０２ではｄｉの許容範囲の最大値をｄｍａｘ、最小値をｄｍｉｎとし、ｄｍａｘとｄｍｉｎを求める。以下ではｄｉの許容範囲を求める処理を説明する。なお、以下で、ｃｉはカラー画像Ｉ２上の画素であり、視差ｄｉと同じ位置にある画素とする。
【００６２】
まず、図１４のＳ１４０１ではｄｍａｘとｄｍｉｎをｄｉで初期化する。Ｓ１４０２では、ｃｉのＩ１上の対応点をｃｒｅｆとする。当然ながらｃｒｅｆはＩ１上で、画素ｃｉの位置から、視差ｄｉだけ右にずらした点である。次にＳ１４０３ではｃｒｅｆを右に１ずらす。次にＳ１４０４では画素ｃｉと画素ｃｒｅｆの色の差が閾値以下かを判定する。例えば本実施形態では、ＲＧＢ各色を２５６階調で表し、各色の差分の絶対値の和が２０以下であるかどうかを判定する。Ｓ１４０４で色の差が閾値以下の場合は、Ｓ１４０５でｄｍａｘをｃｒｅｆとｃｉの視差に更新し、Ｓ１４０３〜Ｓ１４０４を繰り返す。Ｓ１４０２からＳ１４０６を終えると、Ｉ１上のｃｉの対応点の右側で、ｃｉと近い色を持った画素がある範囲が求まり、その範囲内で一番左の画素とｃｉとの視差がｄｍａｘとして求まる。同様にＳ１４０６〜Ｓ１４０８を繰り返すことで、Ｉ１上のｃｉの対応点の左側で、ｃｉと近い色を持った画素がある範囲が求まり、その範囲内で一番左の画素と、ｃｉとの視差がｄｍｉｎとして求まる。最後Ｓ１４１０ではｄｍａｘとｄｍｉｎを、図１３のＳ１３０２における、Ｉ１とＩ２を用いた許容範囲として出力する。具体例として、図１０に、Ｉ１とＩ２を用いて算出した、ｄ７の視差の許容範囲を示す。図１０の左側がカラー画像Ｉ１、右側がカラー画像Ｉ２である。Ｉ１の対応点１００１が、Ｉ２の画素ｃ７の、視差ｄ７によって定まる対応点である。対応点１００１から右側に伸びた白色矢印の先にある画素と、ｃ７との視差がｄｍａｘである。また、対応点１００１から左側に伸びた白色矢印の先にある画素と、ｃ７との視差がｄｍｉｎである。
【００６３】
Ｓ１３０３では、Ｓ１３０２と同様に、Ｉ３とＩ２を用いた許容範囲の算出を行う。Ｓ１３０３は基本的には図１４を用いて説明した手順と同様の事を行う。ただし、Ｓ１４０３でｃｒｅｆを右にずらす処理を、左にずらす処理に入れ替え、Ｓ１４０８でｃｒｅｆを左にずらす処理を、右にずらす処理に入れ替える必要がある。
【００６４】
以上で本第２の実施形態におけるＳ１０２の許容範囲の算出の説明を終える。Ｓ１０２を終えると、ｄ１〜ｄ２２の許容範囲が図１１に示す如く求まる。ここで、本第２の実施形態で得られた許容範囲の役割について、図１１を用いて補足する。図１１のｄ６やｄ１７は許容範囲が狭い。これは図８（ｂ）で示したカラー画像Ｉ２上で、ｄ６、ｄ１７に対応する画素ｃ６、ｃ１７が、カラー画像のエッジ付近にあることを反映している。逆に、ｄ１１やｄ１２のように、対応するカラー画像上の画素の周りには似た色が多い場合は、許容範囲が広くなる。この様に、本第２の実施形態で得られた許容範囲は、カラー画像のエッジ付近程高い精度が必要である、という視差画像の特性を反映していることが分かる。
【００６５】
以下、Ｓ１０３〜Ｓ１０７は第１の実施形態と同様の手順で行えば良い。本第２の実施形態の処理を全て終えると、図９の視差ｄ１〜ｄ２２の代表値として、「１」、「４」が選ばれる。
【００６６】
［第２の実施形態の変形例］
第２の実施形態の変形例として、図１のＳ１０７の代表値に基づいた量子化において、視差画像の量子化を行う場合に適した方法を説明する。本変形例における処理は、図１のＳ１０７以外は全て第２の実施形態と同様である。
【００６７】
本変形例におけるＳ１０７の詳細を、図１２を用いて説明する。Ｓ１０７では量子化対象の全ての視差ｄｉ（ｉ＝１，・・・，２２）に対して図１２で示した処理を行う。
【００６８】
まず、Ｓ１２０１ではｄｉの許容範囲内に代表値があるかを判定し、ある場合はＳ１２０２に、無い場合はＳ１２０３へ進む。
【００６９】
Ｓ１２０２では、許容範囲内ある全ての代表値をｄｉに割り当てる代表値の候補として選ぶ。Ｓ１２０３では許容範囲内に代表値が無いため、ｄｉより大きい代表値の中からｄｉに最も近い代表値を１つ、ｄｉより小さい代表値の中からｄｉも最も近い代表値を１つの計２つを代表値の候補として選ぶ。
【００７０】
Ｓ１２０４ではＳ１２０２もしくはＳ１２０３で選んだ代表値の候補から１つを選ぶ。この際、代表値の選び方は、
Ｅｒ＝ｄｉｆｆ（ｃｉ，ｃｒ１）＋ｄｉｆｆ（ｃｉ，ｃｒ３）
を最小にするという優先順位に従って選ぶ。ここで、ｃｉはＩ２上の画素で、視差ｄｉと同一の座標にある点であるとする。また、ｃｒ１、ｃｒ３はそれぞれＩ１、Ｉ３上の画素であり、ｄｉの代わりに代表値ｒを視差とみなした場合の、ｃｉの対応画素である。ｄｉｆｆは２つの画素間の色差を表しており、例えばＲＧＢ各成分の差分の絶対値の和を用いる。
【００７１】
上記実施形態２の変形例で説明した代表値の選び方は、視差の量子化の際には、視差自体の値の変化よりも、視差によって対応づけられる画素間の色差が重要であるという、視差の特性を反映した方法となっている。
【００７２】
［第３の実施形態］
第２の実施形態において、図１のＳ１０６で、代表値を選ぶ処理を打ち切る基準を変えた例を述べる。Ｓ１０６においては、代表値が事前に定めた目標数に達した、或いは、カウント対象のスカラー量が無くなったかによって判定をしていた。この判定を行うためには、事前に代表値の目標数を定める必要がある。しかし、本第３の実施形態では、代表値の目標数を定めることなく、画像の内容に応じて切り替える例を示す。
【００７３】
本実施形態のフローチャートを図１５に示す。本実施形態の特徴はＳ１５０１、Ｓ１５０２であり、他の部分は第２の実施形態で図１を用いて説明した処理と同様である。従ってＳ１５０１とＳ１５０２のみ説明する。
【００７４】
Ｓ１５０１ではＳ１０４で決定した代表値のカウント値が、全画素数のＸ％以下かどうかを判定する。ここで、カウント値はＳ１０３において求めたものを用いる。また、Ｘは任意に定める割合を示す閾値であり、例えばＸ＝１等と設定すれば良い。ここでカウント値が全画素数のＸ％以下の場合は、Ｓ１５０２に進み、最後に選んだ代表値のみ、代表値から外す。
【００７５】
本第３の実施形態で述べた方法を用いて代表値数を決めると、画像の内容に応じて代表値数を割り当てることができるようになる。つまり、量子化後に、各画素の視差を表現するために必要なビット数を画像の内容に応じて自動で切り替えることが出来る。
【００７６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005959911.tif 000003
【図２】
0005959911.tif 000004
【図３】
0005959911.tif 000005
【図４】
0005959911.tif 000006
【図５】
0005959911.tif 000007
【図６】
0005959911.tif 000008
【図７】
0005959911.tif 000009
【図８】
0005959911.tif 000010
【図９】
0005959911.tif 000011
【図１０】
0005959911.tif 000012
【図１１】
0005959911.tif 000013
【図１２】
0005959911.tif 000014
【図１３】
0005959911.tif 000015
【図１４】
0005959911.tif 000016
【図１５】
0005959911.tif 000017
【図１６】
0005959911.tif 000018