(57)【特許請求の範囲】
【請求項１】
被写体の像を含む画像データを取得する画像取得手段と、
前記画像データを撮像した撮像装置から前記被写体までの距離である被写体距離を前記画像データの各画素について示す距離情報を取得する距離取得手段と、
前記画像データの各画素における画素値と前記被写体距離との組み合わせを比較することで、前記画素値と前記被写体距離との組み合わせが異常である画素を検出し、前記組み合わせが異常であるとして検出された画素を、補正対象の画素として決定する決定手段と、
前記画像データまたは前記距離情報における前記補正対象の画素の値を補正する補正手段とを有することを特徴とする画像処理装置。
【請求項２】
被写体の像を含む画像データを取得する画像取得手段と、
前記画像データを撮像した撮像装置から前記被写体までの距離である被写体距離を前記画像データの各画素について示す距離情報を取得する距離取得手段と、
前記画像データの各画素における画素値と前記被写体距離との組み合わせを比較することで、前記画素値と前記被写体距離との組み合わせが異常である画素を検出し、前記組み合わせが異常であるとして検出された画素を、前記被写体距離の補正を行う補正対象の画素として決定する決定手段と、
前記決定手段により決定された前記補正対象の画素の前記被写体距離を補正する補正手段とを有することを特徴とする画像処理装置。
【請求項３】
前記補正手段は、前記補正対象の画素における被写体距離を異なる値で置き換えることにより前記距離情報を補正することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記補正手段は、前記補正対象の画素との画素値の差が所定の閾値以下である画素に対応する被写体距離のうち、頻度が最も大きい被写体距離で前記補正対象の画素の被写体距離を置き換えることを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記補正手段は、前記補正対象の画素を含む所定の大きさの画素ブロックに含まれる画素における被写体距離に基づいて、置き換えに用いる被写体距離を限定することを特徴とする請求項２乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記補正手段は、前記画素ブロックに含まれる画素のうち、前記補正対象の画素との画素値の差が所定の閾値以下である画素の被写体距離を抽出し、前記抽出された被写体距離の最大値と最小値の間の範囲に、前記置き換えに用いる被写体距離を限定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記補正手段により補正された距離情報と、前記画像取得手段により取得された画像とを用いて、前記画像取得手段により取得された画像とは異なる視点から見た場合の仮想視点画像を生成する生成手段を更に有することを特徴とする請求項１乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
被写体の像を含む画像データを取得する画像取得手段と、
前記画像データを撮像した撮像装置から前記被写体までの距離である被写体距離を前記画像データの各画素について示す距離情報を取得する距離取得手段と、
前記画像データの各画素における画素値と前記被写体距離との組み合わせを比較することで、前記画素値と前記被写体距離との組み合わせが異常である画素を検出し、前記組み合わせが異常であるとして検出された画素を、前記画像データの画素値の補正を行う補正対象の画素として決定する決定手段と、
前記決定手段により決定された前記補正対象の画素の前記画素値を補正する補正手段とを有することを特徴とする画像処理装置。
【請求項９】
前記補正手段は、前記補正対象の画素における画素値を異なる値で置き換えることにより前記画素値を補正することを特徴とする請求項１または８に記載の画像処理装置。
【請求項１０】
前記補正手段は、前記補正対象の画素との被写体距離の差が所定の閾値以下である画素の画素値のうち、頻度が最も大きい画素値で前記補正対象の画素の画素値を置き換えることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記補正手段は、前記補正対象の画素を含む所定の大きさの画素ブロックに含まれる画素における画素値に基づいて、前記置き換えに用いる画素値を限定することを特徴とする請求項９又は１０に記載の画像処理装置。
【請求項１２】
前記補正手段は、前記画素ブロックに含まれる画素のうち、前記補正対象の画素との被写体距離の差が所定の閾値以下である画素の画素値を抽出し、前記画素ブロック内での頻度が所定の閾値よりも大きい画素値を、前記置き換えに用いる画素値の候補として限定することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記補正手段により補正された画像と、前記距離取得手段により取得された距離情報とを用いて、前記画像取得手段により取得された画像とは異なる視点から見た場合の仮想視点画像を生成する生成手段を更に有することを特徴とする請求項８乃至１２のいずれか一項に記載の画像処理装置。
【請求項１４】
前記画像データの各画素における画素値と被写体距離との頻度を前記画素値と被写体距離との組み合わせごとにカウントするカウント手段を更に有し、
前記決定手段は、前記頻度が所定の閾値よりも小さい組み合わせの画素値と被写体距離とを有する画素を、前記補正対象の画素として決定することを特徴とする請求項１乃至１３のいずれか一項に記載の画像処理装置。
【請求項１５】
前記カウント手段は、差が所定の閾値以下となる複数の異なる画素値の頻度を積算してカウントすることを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記カウント手段は、差が所定の閾値以下となる複数の異なる被写体距離の頻度を積算してカウントすることを特徴とする請求項１４又は１５に記載の画像処理装置。
【請求項１７】
前記決定手段は、前記画像の各画素における画素値と被写体距離との組み合わせにおいて代表的な組み合わせである複数の代表ペアを決定し、
前記複数の代表ペアのいずれとも前記画素値および前記被写体距離の両方の差が所定の閾値以下とならない画素を前記補正対象の画素として決定することを特徴とする請求項１乃至１３のいずれか一項に記載の画像処理装置。
【請求項１８】
被写体の像を含む画像データを取得する画像取得工程と、
前記画像データを撮像した撮像装置から前記被写体までの距離である被写体距離を前記画像データの各画素について示す距離情報を取得する距離取得工程と、
前記画像データの各画素における画素値と前記被写体距離との組み合わせを比較することで、前記画素値と前記被写体距離との組み合わせが異常である画素を検出し、前記組み合わせが異常であるとして検出された画素を、補正対象の画素として決定する決定工程と、
前記画像データまたは前記距離情報における前記補正対象の画素の値を補正する補正工程とを有することを特徴とする画像処理方法。
【請求項１９】
被写体の像を含む画像データを取得する画像取得工程と、
前記画像データを撮像した撮像装置から前記被写体までの距離である被写体距離を前記画像データの各画素について示す距離情報を取得する距離取得工程と、
前記画像データの各画素における画素値と前記被写体距離との組み合わせを比較することで、前記画素値と前記被写体距離との組み合わせが異常である画素を検出し、前記組み合わせが異常であるとして検出された画素を、前記被写体距離の補正を行う補正対象の画素として決定する決定工程と、
前記補正対象の画素の前記被写体距離を補正する補正工程とを有することを特徴とする画像処理方法。
【請求項２０】
被写体の像を含む画像データを取得する画像取得工程と、
前記画像データを撮像した撮像装置から前記被写体までの距離である被写体距離を前記画像データの各画素について示す距離情報を取得する距離取得工程と、
前記画像データの各画素における画素値と前記被写体距離との組み合わせを比較することで、前記画素値と前記被写体距離との組み合わせが異常である画素を検出し、前記組み合わせが異常であるとして検出された画素を、前記画像データの画素値の補正を行う補正対象の画素として決定する決定工程と、
前記補正対象の画素の前記画素値を補正する補正工程とを有することを特徴とする画像処理方法。
【請求項２１】
コンピュータを請求項１乃至１７のいずれか一項に記載の画像処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想的な視点から見た画像を生成する処理に関する。
【背景技術】
【０００２】
同一のシーンを複数の異なる視点から撮影した複数の画像データを用いて、撮像に用いた視点とは異なる視点（以下、仮想視点と呼ぶ）から見たときの画像データ（以下、仮想視点画像データと呼ぶ）を生成する技術が提案されている。仮想視点画像データを生成する方法の一例として、撮像により取得した画像データと、画像データの各画素に対応する被写体の距離情報を表すデプスマップとを用いて、仮想視点画像データの画素値を推定する技術が存在する。しかし、画像データに対応するデプスマップを正確に取得することは困難であり、特に被写体が切り替わる境界部において距離情報が正しくないデプスマップが得られることがある。そのようなデプスマップを用いて仮想視点画像データを生成した場合、生成した仮想視点画像データにはアーティファクトが発生してしまう。
【０００３】
上記の課題を解決する方法として、特許文献１では、画像データとデプスマップとからそれぞれ抽出した被写体の輪郭線に基づいて、画像データを基準としてデプスマップを補正することで、高品質な仮想視点画像データを生成する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２２５７４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では被写体の輪郭線に基づいてデプスマップの補正を行うため、被写体の輪郭線に近くない領域において距離情報の誤推定が行われている場合、その誤りを補正することができないという課題があった。そこで本発明は、被写体の輪郭線に近い領域においても被写体の輪郭線に近くない領域においても距離情報の精度を向上することを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の画像処理装置は、被写体の像を含む画像を取得する画像取得手段と、前記画像の各画素に対応する被写体距離を示す距離情報を取得する距離取得手段と、前記画像の各画素における画素値と被写体距離との組み合わせに基づいて、補正対象の画素を決定する決定手段と、前記画像データまたは前記距離情報における前記補正対象の画素の前記距離情報を補正する補正手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、被写体の輪郭線に近い領域においても被写体の輪郭線に近くない領域においても距離情報の精度を向上することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１の画像処理装置の構成を示すブロック図。
【図２】実施例１の画像処理装置の機能構成を示すブロック図。
【図３】実施例１の画像処理装置による処理の流れを示すフローチャート。
【図４】実施例１のヒストグラム生成部２０３による処理の概念を示す図。
【図５】実施例１の決定部２０４による処理の概念を示す図。
【図６】実施例１の補正部２０５による処理の概念を示す図。
【図７】実施例１の画像生成部２０７による処理の概念を示す図。
【図８】実施例１の効果の概念を示す図。
【図９】実施例２の補正部２０５による処理の概念を示す図。
【図１０】実施例２で行われる処理の概念を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１０】
＜実施例１＞
実施例１では、各画素の画素値と被写体距離との組み合わせのうち、異常な組み合わせを有する画素を検出して、検出された画素に対してデプスマップの補正を行うことで高品質なデプスマップを得る方法について説明する。また、得られた高品質なデプスマップを用いて、高品質な仮想視点画像を生成する方法についても説明する。
【００１１】
図１は、実施例１の画像処理装置の構成の一例を示す図である。実施例１の画像処理装置１００（以下、処理装置１００とする）は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、二次記憶装置１０４、入力インターフェース１０５、出力インターフェース１０６を含む。そして、処理装置１００の各構成部はシステムバス１０７によって相互に接続されている。また、処理装置１００は、入力インターフェース１０５を介して外部記憶装置１０８に接続されており、出力インターフェース１０６を介して外部記憶装置１０８および表示装置１０９に接続されている。
【００１２】
ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３に格納されたプログラムを実行し、システムバス１０７を介して処理装置１００の各構成部を統括的に制御するプロセッサーである。これにより、後述する様々な処理が実行される。
【００１３】
二次記憶装置１０４は、処理装置１００で取り扱われる種々のデータを記憶する記憶装置であり、本実施例ではＨＤＤが用いられる。ＣＰＵ１０１は、システムバス１０７を介して二次記憶装置１０４へのデータの書き込みおよび二次記憶装置１０４に記憶されたデータの読出しを行うことができる。なお、二次記憶装置１０４にはＨＤＤの他に、光ディスクドライブやフラッシュメモリなど、様々な記憶デバイスを用いることが可能である。
【００１４】
入力インターフェース１０５は、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインターフェースであり、外部装置から処理装置１００へのデータや命令等の入力は、この入力インターフェース１０５を介して行われる。処理装置１００は、この入力インターフェース１０５を介して、外部記憶装置１０８（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリなどの記憶媒体）からデータを取得する。なお、入力インターフェース１０５には不図示のマウスやボタンなどの入力デバイスも接続可能であり、ユーザは入力デバイス用いて仮想視点画像データの視点を設定する。出力インターフェース１０６は、入力インターフェース１０５と同様にＵＳＢやＩＥＥＥ１３９４等のシリアルバスインターフェースを備える。その他に、例えばＤＶＩやＨＤＭＩ（登録商標）等の映像出力端子を用いることも可能である。処理装置１００から外部装置へのデータ等の出力は、この出力インターフェース１０６を介して行われる。処理装置１００は、この出力インターフェース１０６を介して表示装置１０９（液晶ディスプレイなどの各種画像表示デバイス）に、処理された画像などを出力することで、画像の表示を行う。なお、処理装置１００の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。
【００１５】
以下、実施例１の処理装置１００で行われる処理について、図２および図３を参照して説明する。図２は、処理装置１００の機能構成を示すブロック図である。処理装置１００は、ＲＯＭ１０３に格納されたプログラムをＣＰＵ１０１がＲＡＭ１０２をワークメモリとして実行することで、図２に示す各構成部として機能し、図３のフローチャートに示す一連の処理を実行する。なお、以下に示す処理の全てがＣＰＵ１０１によって実行される必要はなく、処理の一部または全部が、ＣＰＵ１０１以外の一つ又は複数の処理回路によって行われるように処理装置１００が構成されてもよい。以下、各構成部により行われる処理の流れを説明する。
【００１６】
ステップＳ３０１では、画像取得部２０１が、入力インターフェース１０５を介して、または二次記憶装置１０４から、処理対象となる画像データを取得する。ここで取得する画像データは、多眼カメラなどの多視点撮像装置を用いて撮像された、同一の被写体を複数の異なる視点から同時に撮像することで得られた複数の画像を示す多視点画像データである。画像取得部２０１は、取得した画像データを距離取得部２０２とヒストグラム生成部２０３と決定部２０４と補正部２０５と画像生成部２０７とに出力する。
【００１７】
ステップＳ３０２では、距離取得部２０２が、画像取得部２０１から入力された画像データを用いて、画像データを撮像した撮像装置から画像データに含まれる被写体までの距離を示す距離情報を視点毎に取得する。本実施例では、距離取得部２０２は、画像データに含まれる、視点の異なる複数の画像の間でステレオマッチングを行うことで、画像中の各画素に対応する距離を格納したデプスマップを距離情報として推定し、取得する。なお、距離情報の取得の方法はこれに限られない。例えば、赤外線センサなどの距離センサにより予め取得されたデプスマップを二次記憶装置１０４や外部記憶装置１０８から読み出すことにより取得してもよい。距離取得部２０２は、取得したデプスマップをヒストグラム生成部２０３と決定部２０４と補正部２０５とに出力する。
【００１８】
ステップＳ３０３では、ヒストグラム生成部２０３が、画像取得部２０１から入力された画像データと距離取得部２０２から入力されたデプスマップとに基づき、画素値と被写体距離とのヒストグラム分布を生成する。ヒストグラム分布は同一視点における画像データとデプスマップとを用いて視点毎に生成されるため、ヒストグラム生成部２０３は視点毎に独立に処理を行う。
【００１９】
図４を参照してヒストグラム分布の生成について説明する。ヒストグラム分布４０４は、画像データ４０１とデプスマップ４０２での同一の画素位置（ｕ１，ｖ１）における、画像データ４０１の画素値Ｉ（ｕ１，ｖ１）とデプスマップ４０２の距離値ｄ（ｕ１，ｖ１）の二つの値の頻度をカウントしたものである。ヒストグラム分布４０４は、各画素についてのＩとｄの値を格納した被写体データ４０３を用いて生成される。ここで、被写体データ４０３に含まれるデータをペア値Ｉｄ（ｕ１，ｖ１）＝（Ｉ（ｕ１，ｖ１），ｄ（ｕ１，ｖ１））と定義する。ヒストグラム生成部２０３は被写体データ内で同一のペア値Ｉｄ１＝（Ｉ１，ｄ１）となる画素の数ｃ１をカウントし、カウントした画素数を頻度として、画素値と距離値と頻度とをそれぞれ軸にとる多次元空間４０４上に各ペア値をプロットする。本実施例では画素値として各画素の輝度を用いた３次元空間で説明するが、画像取得部２０１から入力された画像がＲＧＢ３チャンネルのカラー画像である場合などは、４次元以上の多次元空間としてもよい。ヒストグラム生成部２０３は、全てのペア値に対してプロットを行った結果をヒストグラム分布として決定部２０４に出力する。
【００２０】
図３のフローチャートの説明に戻る。ステップＳ３０４では、決定部２０４がヒストグラム生成部２０３から取得したヒストグラム分布に基づいて、補正の対象となるペア値を決定する。一般に、同じ距離に存在する被写体において画素値が類似する領域はある程度の大きさを有するものである。そのため、画像中の多くの画素において、画素値と被写体距離の組み合わせであるペア値は互いに類似する。類似するペア値を有する画素数が極端に少ない場合、距離推定の誤差等によりそのペア値は誤っている可能性が高く、異常なペア値であると考えられる。そこで、決定部２０４は、ペア値の頻度を表すヒストグラム分布において、頻度が閾値以下となるペア値を補正対象とする。これはすなわち、各画素におけるペア値を比較した結果、頻度が閾値以下となるペア値を異常なペア値として検出し、異常なペア値を有する画素を補正対象とすることに等しい。ここで用いられる閾値は、画像の総画素数などに基づいて決定することができる。例えば本実施例においては、総画素数の１／１００００を閾値として設定している。なお、閾値は一つである必要はなく、距離値や画素値から定めた範囲毎に適応的に変化してもよい。
【００２１】
ステップＳ３０５では、決定部２０４が、ステップＳ３０４で補正対象として決定されたペア値に基づいて、距離情報の補正対象となる画素の位置を決定する。図５を参照して補正対象の画素位置を決定する処理について説明する。ステップＳ３０４で補正対象として決定されたペア値をＩｄ２＝（Ｉ２，ｄ２）とした時、決定部２０４は、画像取得部２０１から入力された画像データ４０１から画素値がＩ２である画素の位置を検出する。図５の例では、画素位置（ｕ２，ｖ２）および（ｕ３，ｖ３）が検出されている。次に、決定部２０４は、距離取得部２０２から入力されたデプスマップ４０２から、距離値がｄ２である画素の位置を検出する。図５の例では、画素位置（ｕ３，ｖ３）および（ｕ４，ｖ４）が検出されている。そして、決定部２０４は、上述した画素値Ｉ２に基づく検出と距離値ｄ２に基づく検出との両方で検出された画素位置を、補正対象のペア値を有する画素の位置、すなわち補正対象の画素位置として決定する。図５の例では（ｕ３，ｖ３）が補正対象の画素位置として決定されている。決定部２０４は、ここで決定された補正対象の画素位置を補正部２０５に出力する。なお、１つのペア値について決定される補正対象の画素位置は一つとは限らず、複数の画素位置が検出された場合には、決定部２０４は複数の画素位置を補正部２０５に出力する。
【００２２】
ステップＳ３０６では、補正部２０５が、画像取得部２０１から入力された画像データとヒストグラム生成部２０３から入力されたヒストグラム分布と決定部２０４から入力された画素位置とを用いて、距離取得部２０２から入力されたデプスマップを補正する。本実施例では、補正部２０５は、補正対象の画素位置における距離値を、他の画素の距離値で置き換えることでデプスマップの補正を行う。以下、デプスマップの補正の具体的な処理方法について図６を参照して説明する。
【００２３】
図６（ａ）は、補正対象となる画素の画素値を基準として、置き換えに用いる距離値を決定する例を示す図である。平面６０１はヒストグラム分布４０４から、処理対象の画素の画素値に対応する平面を切り出したものである。補正対象の画素の本来の距離値は、補正対象の画素の周辺の画素のうち、補正対象の画素の画素値に近い画素値を有する画素の距離値に近いと考えられる。そこで、補正部２０５は、補正対象の画素の周辺の画素値が類似する画素に基づいて距離値の範囲を限定し、限定された範囲の中で置き換えに用いる距離値を決定する。
【００２４】
補正部２０５は、補正対象の画素を中心とした所定の大きさの画素ブロック内に含まれる画素のうち、補正対象の画素と画素値が類似する画素の距離値を取得する。なお、ブロックサイズは画像取得部２０１から取得された画像データの画像サイズなどによりあらかじめ設定される。例えば、本実施例では処理対象画像の横サイズの１／１００×処理対象画像の縦サイズの１／１００を用いている。そして、補正部２０５は、取得された距離値の中の最小値ｄｍｉｎと最大値ｄｍａｘを検出し、補正対象の画素値に対応する平面６０１において、ｄｍｉｎとｄｍａｘとの間に含まれる距離値を置き換えに用いる距離値の候補とする。そして、補正部２０５は、置き換えに用いる距離値の候補のうち、最も頻度の高い距離値で補正対象の画素の距離値を置き換える。なお、ここで置き換えに用いる距離値は必ずしも最も頻度の高い距離値である必要はなく、例えば頻度の上位３つの距離値の頻度に応じた重みづけ平均をとるなどしてもよい。
【００２５】
また、図６（ｂ）は、置き換えに用いる距離値の候補を、補正対象の画素値の平面６０１に限定するのではなく、所定の画素値のぶれを許容する例を示した図である。図６（ｂ）では、平面６０１を中心として、画素値Ｉ２−ΔｐからＩ２＋Δｐを通る平面の集合６０２を抽出し、各平面におけるペア値とカウント数を平面６０１に射影することで累積の２次元平面６０３を生成する。そして、２次元平面６０３において距離値が累積２次元平面６０３において、ｄｍｉｎとｄｍａｘとの間に含まれる距離値を置き換え候補の距離値とし、その中で、最大の頻度ｃｍａｘとなる距離値ｄｃを置き換えに用いる距離値とする。Δｐは画素値のスケールなどから決定することができ、例えばΔｐ＝１とすることができる。このΔｐを大きくすると同一被写体内での画素値の揺らぎに対するロバスト性は向上するが、画素値の類似する被写体間でのロバスト性が低下するので、シーンに応じてΔｐを切り替えるようにしてもよい。
【００２６】
なお、置き換えの方法はこれに限られず、別の方法を用いることも可能である。例えば、画像全体のヒストグラム分布の中の距離値の範囲を限定するのではなく、補正対象の画素の周辺のブロック内の画素のみで新たなヒストグラム分布を作成し、作成したヒストグラム分布の中で最も頻度の高い距離値を置き換えに用いるようにしてもよい。また、最も頻度の高い距離値をそのまま用いるのではなく、距離値の頻度が高い複数の距離値を検出し、検出された距離値の平均をとったり、周辺のブロックに含まれる画素値が類似した画素の距離値の平均をとるようにしてもよい。補正部２０５は、補正したデプスマップを画像生成部２０７に出力する。
【００２７】
ステップＳ３０７では、姿勢取得部２０６が、画像取得部２０１から取得した画像データの、各画像を撮影したカメラの位置と姿勢とを含む位置姿勢情報を取得する。位置姿勢情報は各視点の位置関係が分かる情報であればどのようなものでもよい。例えば、あらかじめ配置が決まっている複数の撮像部を用いて撮像された画像データに対して処理を行う場合であれば、あらかじめ決まっている配置を示す情報をＲＯＭ１０３に格納しておき、それを読み出すようにしてもよい。また、手持ちのカメラを移動させながら複数視点の画像を撮像している場合などは、撮影された画像を用いたｓｔｒｕｃｔｕｒｅ  ｆｒｏｍ  ｍｏｔｉｏｎなどの位置推定手法を用いて取得してもよい。姿勢取得部２０６は画像生成部２０７が生成する画像データに対応する仮想視点における位置姿勢情報も取得し、取得したすべての位置姿勢情報を画像生成部２０７に出力する。
【００２８】
ステップＳ３０８では、画像生成部２０７が、画像取得部２０１から取得された画像データと補正部２０５から取得された補正したデプスマップと姿勢取得部２０６から取得された位置姿勢情報とを用いて仮想視点画像データを生成する。
【００２９】
本実施例では、画像生成部２０７が、各視点におけるデプスマップから仮想視点におけるデプスマップを生成した後、生成したデプスマップを用いて仮想視点画像データを生成する。図７に、画像データを撮影した実視点および仮想視点のそれぞれのカメラ座標系と投影画像面の座標系とを示す。なお、画像の座標原点は主点とする。画像データに含まれる画像のうちの任意の１枚の画像を撮像したカメラ座標系を（Ｘ１，Ｙ１，Ｚ１）Ｔ、仮想視点のカメラ座標系を（Ｘ２，Ｙ２，Ｚ２）Ｔとする。実視点におけるデプスマップ上の任意の点ｐ１＝（ｕ１，ｖ１）に投影された三次元空間の点Ｐ＝（Ｘ１，Ｙ１，Ｚ１）ＴのＺ１が既知である時、実視点の座標系における点ＰのＸ、Ｙ座標はｆをカメラの焦点距離とすると以下の式（１）、式（２）で与えられる。
【００３０】
Ｘ１＝Ｚ１ｕ１／ｆ…式（１）
Ｙ１＝Ｚ１ｖ１／ｆ…式（２）
ここで、実視点の座標系と仮想視点の座標系との間の関係は、実視点の位置姿勢を仮想視点の位置姿勢に変換するための回転行列Ｒ２１と並進ベクトルＴ２１を用いると式（３）の形で表せる。
【００３１】
（Ｘ２，Ｙ２，Ｚ２）Ｔ＝Ｒ２１（Ｘ１，Ｙ１，Ｚ１）Ｔ＋Ｔ２１…式（３）
回転行列Ｒ２１と並進ベクトルＴ２１は姿勢取得部２０６から入力された位置姿勢情報に基づいて導出可能である。式（３）により得られたＺ２は仮想視点から見た点Ｐの距離値であり、点Ｐ＝（Ｘ２，Ｙ２，Ｚ２）Ｔは仮想視点におけるデプスマップ上の点ｐ２＝（ｕ２，ｖ２）に投影される。ここで、（ｕ２，ｖ２）は、式（３）により得られたＸ２、Ｙ２を用いて以下の式（４）と式（５）により求められる。
【００３２】
ｕ２＝ｆＸ２／Ｚ２…式（４）
ｖ２＝ｆＹ２／Ｚ２…式（５）
画像生成部２０７は、上記の式で求めた仮想視点におけるデプスマップ上の点ｐ２＝（ｕ２，ｖ２）の距離値をＺ２として決定する。
【００３３】
画像生成部２０７は、以上の処理を、画像データ内の全ての画像に対して行うことで、空白の少ない、仮想視点におけるデプスマップを生成する。なお、仮想視点におけるデプスマップ上の１点に、複数の視点から複数の距離値が割り当てられた場合には、割り当てられた全ての距離値の平均値をその点に対応する距離値として決定する。なお、距離値の決定方法はこれに限られず、仮想視点に最も近い実視点の距離値を採用するようにしたり、仮想視点からの距離に応じた重みを用いた重みづけ平均で距離値を決定したりしてもよい。そして、画像生成部２０７は、生成した仮想視点におけるデプスマップの距離値を用いて、仮想視点のデプスマップを生成する処理と同様に、各視点座標系の対応関係により仮想視点の画像データを生成する。すなわち、生成されたデプスマップの各画素位置における距離値の値を式（４）および式（５）に代入し、導出されたＸ１，Ｙ１，Ｚ１の値を式（１）および式（２）に代入することで、仮想視点画像データの各画素に対応する実視点画像の画素位置を導出する。そして、導出された実視点画像の画素の画素値を、仮想視点画像データの対応する画素の画素値として決定する。この処理を画像中の全ての点について繰り返し行うことで、仮想視点における仮想視点画像データが生成される。なお、仮想視点画像データの生成方法はこれに限らず、デプスマップを用いた方法であればよい。例えば、仮想視点画像データの生成に用いる画像は１つの視点の画像だけでもよく、実視点で撮像した画像の各被写体図を、各画素の被写体距離に応じてシフトさせることで仮想視点画像データの生成を行ってもよい。画像生成部２０７は、生成した仮想視点画像データを二次記憶装置１０４や表示装置１０９に出力して処理を終了する。
【００３４】
以上が、実施例１の処理装置１００で行われる処理である。図８に処理装置１００による効果の概念図を示す。図８において、デプスマップ８０２には領域８０６や領域８０７で、入力画像データ８０１に現れる被写体の形状とは異なる距離値の誤差が発生している。このようなデプスマップを用いて仮想視点画像データを生成すると、仮想視点画像データ８０３にはアーティファクト８０８および８０９が発生する。これに対し、実施例１の処理装置１００では、画素値と距離値をペアにして生成したヒストグラム分布からはずれ値を検出することで、デプスマップにおいて誤差となっている画素が検出される。さらに検出した画素に対応する距離値を、周囲の画素値が類似する領域に基づいて決定することで、デプスマップの誤差を軽減する。その結果、デプスマップ８０２はデプスマップ８０４のように補正される。デプスマップ８０４を用いて仮想視点画像データを生成した場合、仮想視点画像データ８０５のようにアーティファクトが軽減された画像データを得ることができる。本実施例の処理によれば、領域８０７のような物体の輪郭部分ではない箇所に発生したデプスマップの誤差も補正することができ、それにより発生する仮想視点画像データ８０３のアーティファクト８０９も抑制することができる。
【００３５】
なお、実施例１において画像取得部２０１は被写体の像を含む画像データを取得する画像取得手段として機能する。また、距離取得部２０２は被写体距離を前記画像データの各画素について示す距離情報を取得する距離取得手段として機能する。また、決定部２０４は前記画像の各画素における画素値と被写体距離との組み合わせを比較することで、前記距離情報の補正を行う補正対象の画素を決定する決定手段として機能する。また、補正部２０５は前記決定手段により決定された前記補正対象の画素の前記距離情報を補正する補正手段として機能する。また、ヒストグラム生成部２０３は前記画像の各画素における画素値と被写体距離との頻度を前記画素値と被写体距離との組み合わせごとにカウントするカウント手段として機能する。また、画像生成部２０７は前記補正手段により補正された距離情報と、前記画像取得手段により取得された画像とを用いて、前記画像取得手段により取得された画像とは異なる視点から見た場合の仮想視点画像を生成する生成手段として機能する。
【００３６】
＜実施例２＞
実施例１では、各画素の画素値と被写体距離との組み合わせに基づいて、各画素の距離情報を補正する例について説明した。実施例２では、各画素の画素値と被写体距離との組み合わせに基づいて、各画素の画素値を補正する例について説明する。
【００３７】
実施例２における処理の概念について、図１０を参照して説明する。実施例２の処理は、入力画像データよりもデプスマップの方が精度の高い情報が得られていることを前提としている。図１０に示す入力画像データ１００１では、色にじみなどの影響により、被写体と背景の境界部分に、被写体の画素値と背景の画素値の中間の画素値を有する領域１００６が存在している。一方、この画像データに対応するデプスマップ１００２では、被写体と背景の境界部分の距離が正確に保持されている。この入力画像データ１００１とデプスマップ１００２を用いて仮想視点画像データの生成を行うと、仮想視点画像データ１００３に示すようにアーティファクトが発生してしまう。そこで、本実施例では、画像データ１００４のように、中間的な画素値を持つ画素の画素値の補正を行い、補正された画像データを用いて仮想視点画像データの生成を行う。
【００３８】
以下、本実施例の処理装置１００で行われる具体的な処理について説明する。本実施例の処理装置１００で行われる基本的な処理の流れは実施例１と同様であるため、ここでは実施例１との相違点についてのみ説明する。本実施例では、ステップＳ３０６での処理が実施例１とは異なる。本実施例のステップＳ３０６では、補正部２０５は補正対象の画素位置における画素値を、他の画素の画素値で置き換えることで、デプスマップではなく入力画像データの画素値を補正する。以下、入力画像データの画素値補正の具体的な処理方法について図９を参照して説明する。
【００３９】
図９は、補正対象となる画素の画素値を基準として、置き換えに用いる画素値を決定する例を示す図である。補正対象の画素の本来の画素値は、補正対象の画素の周辺の画素のうち、距離値の近い領域の画素値に近い値である可能性が高い。そこで、補正部２０５は、補正対象の画素の周辺の距離値が類似する画素に基づいて画素値の候補を限定し、限定された候補の中で置き換えに用いる画素値を決定する。
【００４０】
補正部２０５は、補正対象の画素を中心とした所定の大きさのブロック内に含まれる画素から、補正対象の画素を中心としたブロックに対応する画素値のヒストグラム分布９０３を生成する。そして、補正部２０５は、ヒストグラム分布９０３に含まれる、所定の閾値よりも頻度が高い画素値を、置き換えに用いる画素値の候補とする。または、ヒストグラム分布９０３で頻度のピーク値の検出を行い、検出されたピーク値に対応する画素値を置き換えに用いる画素値の候補としてもよい。次に、補正部２０５は、ヒストグラム生成部２０３から入力されたヒストグラム分布９０４から、補正対象の画素の距離値に対応する平面９０５を切り出す。そして、補正部２０５は、平面９０５に含まれる画素値のうち、既に周辺画素のブロックに基づいて置き換えに用いる画素値の候補として決定されており、かつその中で最も頻度が高い画素値を、置き換えに用いる画素値として決定する。補正部２０５は、置き換えに用いる画素値として決定した画素値で補正対象の画素値を置き換え、補正済みの画像データを画像生成部２０７に出力する。そして、画像生成部２０７は、ステップＳ３０８での処理により、距離取得部２０２から入力された距離情報と補正部２０５から入力された補正済みの画像データを用いて仮想視点画像データを生成する。
【００４１】
以上が本実施例の処理装置１００で行われる処理の流れである。以上の処理によれば、画像データよりも精度が良い距離情報が得られている場合に、距離情報の精度を最大限に活用した高品質な仮想視点画像データを生成することができる。
【００４２】
なお、実施例２において、決定部２０４は前記画像の各画素における画素値と被写体距離との組み合わせを比較することで、前記画像の画素値の補正を行う補正対象の画素を決定する決定手段として機能する。また、補正部２０５は前記決定手段により決定された前記補正対象の画素の前記画素値を補正する補正手段として機能する。また、また、画像生成部２０７は前記補正手段により補正された距離情報と、前記画像取得手段により取得された画像とを用いて、前記画像取得手段により取得された画像とは異なる視点から見た場合の仮想視点画像を生成する生成手段として機能する。
【００４３】
＜その他の実施形態＞
本発明の実施形態は上述のものに限られない。例えば、上記の実施例では、ヒストグラム生成部２０３が同じ画素値と距離値との組み合わせを有するものの頻度をカウントし、ヒストグラム分布を生成したが、画素値と距離値とをより広い幅で量子化して頻度を積算するようにしてもよい。例えば、Ｉ＝５０、ｄ＝５０のペア値の頻度として、Ｉ＝４９〜５１、ｄ＝４９〜５１となる画素の数をカウントするようにしてもよい。このようにすれば、画素値や距離値の微小な揺らぎに対するロバスト性が向上する。一方、量子化の幅を広げると画素値の類似する被写体間でのロバスト性が低下するので、シーンに応じてΔｐを切り替えるようにしてもよい。
【００４４】
また、上記の実施例では、頻度が所定の閾値以下となるペア値を有する画素が補正対象の画素として決定されたが、補正対象の画素の決定方法は上記の方法に限られない。例えば、ペア値の頻度や類似するペア値が連続領域の大きさ等に基づいて代表的なペア値の組を複数の代表ペアとして予め決めておき、画素値および距離値の両方の差が閾値以内となる代表ペアが存在しない画素を補正対象とするようにしてもよい。
【００４５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４６】
１００  画像処理装置
２０１  画像取得部
２０２  距離取得部
２０４  決定部
２０５  補正部
【図１】
0006570296.tif 000002
【図２】
0006570296.tif 000003
【図３】
0006570296.tif 000004
【図４】
0006570296.tif 000005
【図５】
0006570296.tif 000006
【図６】
0006570296.tif 000007
【図７】
0006570296.tif 000008
【図８】
0006570296.tif 000009
【図９】
0006570296.tif 000010
【図１０】
0006570296.tif 000011