(57)【要約】【課題】深度情報を利用する際の計算効率を向上させる。【解決手段】画像を格子メッシュ状に分割する頂点データ取得部１１７と、各格子の頂点について深度情報Ｄと画像上のＸ座標及びＹ座標を取得する頂点データ取得部１１７と、頂点データを所定の座標系にて表現された三次元空間座標に変換する座標変換部１１９と、各頂点の三次元空間座標に基づいて各格子を構成する線分ベクトルと法線ベクトルを算出するベクトル算出部１２５と、ユニークなベクトルに対してこれらを互いに識別するインデックスを夫々付与し、ユニークなベクトルとインデックスとを対応付けたベクトルリストを生成するベクトル管理部１３１と、各格子に対して、各格子を構成するベクトルに係るインデックスを対応付けて格納するメッシュデータ格納部１４１と、を備える。【選択図】図１
2019211965.tif 000002
【特許請求の範囲】
【請求項１】
各画素に深度情報を含む画像を処理する画像処理装置であって、
前記画像を複数の多角形によりメッシュ状に分割する画像分割手段と、
前記各多角形の頂点に対応する前記深度情報と前記画像上のＸ座標及びＹ座標を、前記各頂点に係る第一の座標として取得する頂点データ取得手段と、
前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段と、
前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出手段と、
ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段と、
前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記座標変換手段は、前記画像を撮像した深度カメラの視野角情報と、前記画像のアスペクト比と、前記深度カメラが撮像する深度の範囲を示すクリップ距離と、に基づいて、前記各頂点の座標を逆射影変換することにより、前記各頂点の前記三次元空間座標として特定の視点を基準とする視点座標系にて表現された三次元空間座標を生成する逆射影変換手段を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記座標変換手段は、前記各頂点の座標を正規化して、前記各頂点の前記三次元空間座標として正規化デバイス座標系にて表現された三次元空間座標を生成する正規化手段を備え、
前記逆射影変換手段は、前記正規化デバイス座標系にて表現された前記各頂点の前記三次元空間座標を逆射影変換することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記メッシュデータ格納手段は、前記複数の多角形の頂点のうちの少なくとも１の頂点について前記三次元空間座標を格納することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
前記ベクトル算出手段は、前記各多角形を夫々複数の三角形に分割すると共に前記各三角形の各辺を表す線分ベクトルを算出する線分ベクトル算出手段と、前記各線分ベクトルに基づいて前記各三角形の法線ベクトルを算出する法線ベクトル算出手段と、を備えることを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記ベクトルリスト生成手段は、
ユニークな前記線分ベクトルに対してこれらを互いに識別する線分ベクトルインデックスを夫々付与し、ユニークな前記線分ベクトルと前記線分ベクトルインデックスとを対応付けた線分ベクトルリストを生成する線分ベクトルリスト生成手段と、
ユニークな前記法線ベクトルに対してこれらを互いに識別する法線ベクトルインデックスを夫々付与し、ユニークな前記法線ベクトルと前記法線ベクトルインデックスとを対応付けた法線ベクトルリストを生成する法線ベクトルリスト生成手段と、を備えることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記画像の前記各画素は前記深度情報とは異なる付加データを含んでおり、
前記頂点データ取得手段は、前記各多角形の前記頂点に対応する前記付加データを取得し、
前記画像処理装置は、ユニークな前記付加データに対してこれらを互いに識別する付加データインデックスを夫々付与し、ユニークな前記付加データと前記付加データインデックスとを対応付けた付加データリストを生成する付加データリスト生成手段を備え、
前記メッシュデータ格納手段は、前記各多角形に対して、前記各多角形の前記頂点に対応する前記付加データに係る前記付加データインデックスを対応付けて格納することを特徴とする請求項１乃至６の何れか一項に記載の画像処理装置。
【請求項８】
前記付加データは、前記画像に写る被写体の色情報、温度情報、又は放射線情報の何れかを含むことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
各画素に深度情報を含む画像を処理する画像処理方法であって、
前記画像を複数の多角形によりメッシュ状に分割する画像分割ステップと、
前記各多角形の頂点に対応する前記深度情報と前記画像上のＸ座標及びＹ座標を、前記各頂点に係る第一の座標として取得する頂点データ取得ステップと、
前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換ステップと、
前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出ステップと、
ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成ステップと、
前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納ステップと、
を実行することを特徴とする画像処理方法。
【請求項１０】
コンピュータを、
各画素に深度情報を含む画像を複数の多角形によりメッシュ状に分割する画像分割手段と、
前記各多角形の頂点に対応する前記深度情報と前記画像上のＸ座標及びＹ座標を、前記各頂点に係る第一の座標として取得する頂点データ取得手段と、
前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段と、
前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出手段と、
ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段と、
前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納手段と、
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、深度カメラ等から得られる深度情報を有した画像を処理する装置、方法、及びプログラムに関し、特に、二次元画像から三次元空間を復元し、深度情報を幾何学情報に変換して、計算効率の向上とデータ量の削減を図ることが可能な画像処理装置、画像処理方法、及び画像処理プログラムに関する。
【背景技術】
【０００２】
各画素が基準点からの距離（又は深度）に対応した画素値を有する深度画像が、自動車やロボットによる障害物の検出と回避、ＡＲ（拡張現実）、ＶＲ（バーチャルリアリティ）等、各種の分野において活用されている。
特許文献１には、深度画像に基づいて三次元空間上に対象物を配置した対象物配置モデルを作成することにより、深度画像を車両周囲の監視に活用する車両周囲監視方法、及びそのシステムについて開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３４４００９公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
深度画像の利用分野にもよるが、深度画像から得られる未加工の深度情報は、最終的な計算結果を得るためには必要のない情報を含んでいる場合もある。また、必要な計算をその都度、未加工の深度情報から実行する場合には、計算が複雑になり、膨大な量のデータを処理しなければならず、計算効率が悪化する。
本発明は上述の事情に鑑みてなされたものであり、深度情報を利用する際の計算効率を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明は、各画素に深度情報を含む画像を処理する画像処理装置であって、前記画像を複数の多角形によりメッシュ状に分割する画像分割手段と、前記各多角形の頂点に対応する前記深度情報と前記画像上のＸ座標及びＹ座標を、前記各頂点に係る第一の座標として取得する頂点データ取得手段と、前記各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段と、前記各頂点の前記三次元空間座標に基づいて、前記各多角形を構成する要素ベクトルを算出するベクトル算出手段と、ユニークな前記要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな前記要素ベクトルと前記要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段と、前記各多角形に対して、前記各多角形を構成する前記要素ベクトルに係る前記要素インデックスを対応付けて格納するメッシュデータ格納手段と、を備えることを特徴とする。
【発明の効果】
【０００６】
一実施態様によれば、画像から得られる三次元空間座標を幾何学的な情報である要素ベクトルに変換するので、深度情報を利用する際の計算効率を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。
【図２】画像処理装置が処理する画像について説明する図であり、（ａ）はカメラにより撮像される被写体の可視光画像を示す図であり、（ｂ）は（ａ）に対応する深度画像を示す図である。
【図３】本発明の一実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
【図４】復元されたワールド空間におけるメッシュの状態、頂点座標、及び算出されるベクトルについて説明する模式図である。
【図５】（ａ）（ｂ）は射影変換について説明する模式図である。
【図６】（ａ）は各格子に対応付けて出力された線分ベクトルの生データを示す図であり、（ｂ）は（ａ）に基づいて生成された線分ベクトルリストを示す図である。
【図７】（ａ）は各格子に対応付けて出力された法線ベクトルの生データを示す図であり、（ｂ）は（ａ）に基づいて生成された法線ベクトルリストを示す図である。
【図８】メッシュデータ格納部に格納されるメッシュデータの一例を示す図である。
【図９】本発明の一実施形態に係る画像処理装置が実行する画像処理手順を示すフローチャートである。
【図１０】本発明の第二の実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。
【発明を実施するための形態】
【０００８】
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
【０００９】
本発明の一実施形態に係る画像処理装置は、深度画像（距離画像、又はDepth Map）から特定の位置（例えば深度カメラの視点）を基準とするワールド空間を復元し、復元したワールド空間に係る情報を幾何学情報（ベクトル情報）に変換してリスト化することにより、該情報の格納と該情報を用いた各種の計算とを効率的に行いうるようにする点に特徴がある。
【００１０】
〔第一の実施形態〕
図１は、本発明の一実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。
図２は、画像処理装置が処理する画像について説明する図であり、（ａ）はカメラにより撮像される被写体の可視光画像を示す図であり、（ｂ）は（ａ）に対応する深度画像を示す図である。
画像処理システム１は、画像処理装置１００Ａと、画像処理装置１００Ａに接続された深度カメラ１０Ａ及び設定入力部２０とを備える。以下、先に深度カメラ（Depth-sensing camera）１０Ａと設定入力部２０について説明し、画像処理装置１００Ａについては後述する。
【００１１】
深度カメラ（距離画像センサ）１０Ａは、図２（ｂ）に示すような被写体の深度情報（奥行き情報）を含む画像である深度画像を撮影する手段である。深度画像は、各画素に深度情報として深度値が対応付けられた画像である。各画素が有する深度値は、深度カメラ１０Ａの視点から被写体までの距離を示す情報であり、深度値はメートル等の物理的単位で直接的に表現されたものでもよいし、深度カメラ１０Ａの視点から被写体までの距離が０〜１の範囲で正規化表現されたものでもよい。図示する深度画像においては、深度カメラ１０Ａに近い側が０（黒）〜遠方が１（白）となるように正規化表現されている。
深度カメラ１０Ａは、深度画像を撮影することができればよい。深度カメラ１０Ａによる深度値の取得原理は限定されない。例えば、深度カメラ１０Ａは、被写体の視差画像に基づいて三角測量法により被写体までの距離を計測するステレオカメラであってもよい。或いは、深度カメラ１０Ａは、被写体に対してレーザー光を照射し、その反射光が検出されるまでの時間に基づいて被写体までの距離を計測するＴＯＦ（Time Of Flight）方式のカメラであってもよい。もちろん、深度カメラ１０Ａは、その他の方法により被写体までの距離を計測してもよい。
深度カメラ１０Ａは、例えばレーザレンジファインダのように深度値のみを取得する手段でもよいし、ＲＧＢデプスカメラ（深度センサ付カメラ）のように、被写体の可視光像（ＲＧＢ画像）と被写体の深度情報とを同時に取得する手段でもよい。深度カメラ１０Ａは、更に被写体の温度情報や放射線量情報等を取得する構成を備えてもよい。深度カメラ１０Ａが出力する画像の各画素には、深度情報以外の情報（付加情報）が含まれていてもよい。
【００１２】
設定入力部２０は、画像処理装置１００Ａに対してメッシュ設定を入力する手段である。設定入力部２０は、例えばキーボード、マウス、タッチパネル、又は各種のボタンにより構成される。
【００１３】
〔画像処理装置のハードウェア構成〕
画像処理装置１００Ａは一般的なコンピュータとして構成されている。
図３は、本発明の一実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
画像処理装置１００Ａは、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、入出力Ｉ／Ｆ１０４、ストレージ１０５、及びバス１０６等を備える。各構成要素はバス１０６を介して電気的に接続されている。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０２に格納されたプログラム等を用いて画像処理装置１００Ａの全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０１に画像処理装置１００Ａの全体を制御する処理を実行させるための制御プログラムを記憶する不揮発性の記憶手段である。
上記制御プログラムは、画像処理装置１００Ａが備えるストレージ１０５に記憶されてもよい。上記制御プログラムは、入出力Ｉ／Ｆ１０４を介して接続される外部記憶装置や記録媒体に記憶されてもよい。外部記憶装置は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の不揮発性の記憶手段である。記録媒体は、例えば、ＳＤメモリーカード（SD Memory Card）、ＦＤ（Floppy Disk）、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＢＤ（Blu-ray（登録商標） Disk）、およびフラッシュメモリなどの不揮発性の記録媒体である。
ＲＡＭ１０３は、ＲＯＭ１０２から読み出されたプログラムやデータ等を一時的に格納する揮発性の記憶手段である。ＣＰＵ１０１が起動時にＲＯＭ１０２から制御プログラムを読み出してＲＡＭ１０３に展開し、ＲＡＭ１０３をワークスペースとして制御プログラムを実行することにより、各種の機能が実現される。
入出力Ｉ／Ｆ１０４は、画像処理装置１００Ａに対して深度カメラ１０Ａと設定入力部２０とを接続するインターフェースである。
ストレージ１０５は、例えば、ＨＤＤやＳＳＤ等の不揮発性の記憶手段である。ストレージ１０５は、上記制御プロクラムや、各種の設定等を記憶する。
【００１５】
〔画像処理装置の機能構成〕
図１に戻り、画像処理装置１００Ａは、メッシュ設定部１１１、メッシュ設定記憶部１１３、フレームバッファ１１５、頂点データ取得部（画像分割手段、頂点データ取得手段）１１７、座標変換部（座標変換手段）１１９、ベクトル算出部（ベクトル算出手段）１２５、ベクトル管理部（ベクトルリスト生成手段）１３１、及びメッシュデータ格納部（メッシュデータ格納手段）１４１を備える。
メッシュ設定部１１１、フレームバッファ１１５、頂点データ取得部１１７、座標変換部１１９、ベクトル算出部１２５、及び、ベクトル管理部１３１は、図３に示すＣＰＵ１０１が制御プログラムをＲＡＭ１０３に展開して実行することにより実現され、メッシュ設定記憶部１１３、及び、メッシュデータ格納部１４１は、図３に示すストレージ１０５により実現される。
【００１６】
＜メッシュ設定部、メッシュ設定記憶部＞
メッシュ設定部１１１は、設定入力部２０からメッシュ設定の入力を受け付けると共に、入力されたメッシュ設定をメッシュ設定記憶部１１３に記憶させる。また、メッシュ設定部１１１は、入力されたメッシュ設定を頂点データ取得部１１７に供給する。
メッシュ設定は、深度画像を複数の多角形によってメッシュ状に分割する際の分割方法を指定する情報である。例えば、深度画像を格子状（複数の矩形）に分割する場合、メッシュ設定は深度画像のＸ方向における分割数とＹ方向における分割数に係る情報を持つことができる。
メッシュ設定は、深度画像を格子以外の多角形メッシュ（三角形、五角形、六角形…等）に分割するための情報であってもよい。メッシュ設定は、深度画像を所定形状の複数の多角形に分割する情報として、分割する多角形の形状、大きさ、分割開始の基準となる画素の座標、Ｘ方向及びＹ方向における分割数等、画像の分割に必要な情報を含む。
【００１７】
＜フレームバッファ＞
フレームバッファ１１５は、深度カメラ１０Ａから入力した深度画像（図２（ｂ））を一時的に保持する。フレームバッファ１１５は、深度画像の各画素が有する深度値を格納するために用意されたメモリ領域（深度バッファ）である。
フレームバッファ１１５には、例えば０〜１の範囲で正規化された深度値が格納される。深度値は、深度カメラ１０Ａに近い側が０（黒）〜遠方が１（白）となるように表現されていてもよいし、深度カメラ１０Ａに近い側が１（白）〜遠方が０（黒）となるように表現されていてもよい。
なお、フレームバッファ１１５には、深度カメラ１０Ａの視点から被写体までの距離がメートル等の物理的単位で直接的に表現された深度値が格納されてもよい。
【００１８】
＜頂点データ取得部＞
頂点データ取得部１１７は、メッシュ設定に従って、フレームバッファ１１５から取得した深度画像を複数の多角形によりメッシュ状に分割し、分割により生成された各多角形に対してこれを識別する識別情報（例えば識別番号）を付与する。
次いで、頂点データ取得部１１７は、分割した深度画像から各多角形の頂点に位置する画素の座標（頂点座標、第一の座標）を取得する。ここで、頂点座標は、頂点に位置する画素の画面上（スクリーン上）におけるＸ座標（スクリーン座標Ｓｘ、単位：ピクセル）とＹ座標（スクリーン座標Ｓｙ、単位：ピクセル）と、当該画素が有する深度値Ｄ（０≦Ｄ≦１）により構成される。
頂点データ取得部１１７は、一の多角形を構成する複数の頂点のうちの少なくとも１つの頂点について、その頂点座標を当該多角形に属する頂点に係る座標として多角形を識別する識別情報と対応付ける。特に、頂点データ取得部１１７は、多角形の所定の位置にある頂点に係る頂点座標を当該多角形の原点を示す頂点（或いは当該多角形を代表する頂点）に係るデータとして、多角形の識別情報と対応付ける。
【００１９】
例えば、深度画像が６４０×４８０ピクセルであり、メッシュ設定が「Ｘ方向の分割数：６４、Ｙ方向の分割数：４８」である場合、頂点データ取得部１１７は、メッシュ設定に従って深度画像を１０×１０ピクセルの正方格子状に分割する。頂点データ取得部１１７は、分割により得られた各格子に対してこれを識別する格子番号（識別情報）を付与する。
次いで、頂点データ取得部１１７は、各格子の頂点に位置する画素のスクリーン座標（Ｓｘ，Ｓｙ）と深度値Ｄを頂点座標として取得する。更に頂点データ取得部１１７は、各格子の左上に位置する頂点を当該格子の原点を示す頂点として、その頂点座標を格子番号と対応付ける。
【００２０】
＜座標変換部＞
座標変換部１１９は、頂点座標に対して所定の座標変換を実行することにより、深度画像に基づいて特定の視点を基準（原点）としたワールド空間を復元する手段である。座標変換部１１９は、正規化部（正規化手段）１２１と逆射影変換部（逆射影変換手段）１２３とを備える。
【００２１】
正規化部１２１は、頂点座標の各値を正規化することによって、頂点座標を正規化デバイス座標系によって表現された三次元空間座標に変換する。即ち、正規化部１２１は、深度画像の画像幅と画像高さ（単位：ピクセル）を用いて、各頂点のスクリーン座標（Ｓｘ，Ｓｙ）を、−１〜１の範囲で正規化した正規化座標（Ｎｘ，Ｎｙ）に変換する。また、正規化部１２１は、０〜１の範囲で正規化表現されている深度値Ｄを、−１〜１の範囲で正規化した正規化座標（Ｎｚ）に変換する。なお、深度値Ｄが、深度カメラ１０Ａの視点から被写体までの距離がメートル等の物理的単位で直接的に表現された値である場合も同様に、正規化部１２１は深度カメラ１０Ａのクリップ距離を利用して深度値Ｄを正規化座標Ｎｚに変換する。
このようにして正規化部１２１は、各頂点の座標として正規化デバイス座標系にて表現された三次元空間座標（Ｎｘ，Ｎｙ，Ｎｚ）を生成する。
【００２２】
逆射影変換部１２３は、正規化デバイス座標系に変換された頂点座標（Ｎｘ，Ｎｙ，Ｎｚ）に対して逆射影変換（逆プロジェクション変換）を実行することにより、頂点座標を特定の視点を基準（原点）として表現された視点座標系（ビューイング座標系）の座標に変換する。なお、視点座標系は直交座標系である。この座標変換により特定の視点を基準として、深度画像に写るオブジェクトを含んだワールド空間が復元される。
例えば、逆射影変換部１２３は、正規化されている頂点座標（Ｎｘ，Ｎｙ，Ｎｚ）を、深度カメラ１０Ａの視点を基準とするカメラ座標系の頂点座標（Ｃｘ，Ｃｙ，Ｃｚ）に変換する。逆射影変換部１２３は、生成された各頂点の座標データ（Ｃｘ，Ｃｙ，Ｃｚ）を、各頂点が属する多角形に対応付けて、即ち、多角形を識別する識別情報（多角形が格子の場合は格子番号）に対応付けてメッシュデータ格納部１４１に格納する。
【００２３】
図４は、復元されたワールド空間におけるメッシュの状態、頂点座標、及び算出されるベクトルについて説明する模式図である。
例えば、逆射影変換部１２３は、図４の格子番号００にて示される格子の左上に相当する頂点Ｐ００のカメラ座標系にて表現された頂点座標（ｘ００，ｙ００，ｚ００）を格子番号００に対応付けて、メッシュデータ格納部１４１に格納する（図８参照）。逆射影変換部１２３は、格子番号０１、０２…についても同様に、該格子の左上に相当する頂点Ｐ０１、Ｐ０２…の頂点座標を、順次各格子に対応付けてメッシュデータ格納部１４１に格納する。
また、逆射影変換部１２３は、生成された各頂点の座標データ（Ｃｘ，Ｃｙ，Ｃｚ）をベクトル算出部１２５の線分ベクトル算出部１２７に出力する。
【００２４】
＜＜射影変換について＞＞
ここで、座標系の射影変換について説明する。
図５は、射影変換について説明する模式図である。（ａ）はカメラと視錐台との関係を示す斜視図であり、（ｂ）はカメラと視錐台との関係を示す上面図（（ａ）のＥ矢視図）である。
一般的に３ＤＣＧでは、取り扱う三次元空間の全体をワールド空間２００と呼び、ワールド空間２００を表現する座標系をワールド座標系と呼ぶ。
図５（ｂ）に示すワールド空間２００に存在するオブジェクト２０１（２０１ａ，２０１ｂ，２０１ｃ）をある基準点２０２（視点）から観察すると、図２（ａ）に示すように、基準点に近いオブジェクト２０１ａはより大きく観察され、基準点から遠いオブジェクト２０１ｂ、２０１ｃはより小さく観察される。そこで、ワールド空間２００に存在するオブジェクト２０１を、基準点２０２を視点とするカメラ２０３により撮影したような画像を生成する場合には、図５に示すようにオブジェクト２０１ａ，２０１ｂ，２０１ｃを含む視錐台２０４（ビューボリューム）によってワールド空間２００の一部を切り出す座標変換（射影変換又はプロジェクション変換）が実行される。三次元空間座標の変換には、ｘ，ｙ，ｚにｗ（拡大率）を含めた４×４行列が用いられる。
ここで、カメラ２０３から視錐台２０４の前方クリップ面２０５までの距離をＺｎ、カメラ２０３から視錐台２０４の後方クリップ面２０６までの距離をＺｆ、前方クリップ面２０５の幅をＳｗ、前方クリップ面２０５の高さをＳｈとする。
ワールド空間２００における座標を、カメラ２０３から観察したスクリーン画像上の座標（スクリーン座標）に変換する射影変換行列（プロジェクション行列）は、式（１）にて表される。
【００２５】
2019211965.tif 000003
・・・式（１）
ここで、カメラ２０３の画角をφ、カメラ２０３のアスペクト比（Ｓｗ／Ｓｈ）をａｓｐｅｃｔとすれば、式（１）は以下のように変形される。
【００２６】
2019211965.tif 000004
・・・式（２）
このように、カメラ２０３の画角φ（視野角情報）、アスペクト比、及びカメラ２０３が撮影する空間の奥行き（クリップ距離）が指定されれば、射影変換が可能となる。
【００２７】
＜＜逆射影変換について＞＞
ところで、画像処理装置１００Ａが深度カメラ１０Ａから取得する深度画像は、上記射影変換によって得られるスクリーン画像に相当する。即ち、カメラの視点を基準とした奥行き情報である深度値を用いて上記射影変換と逆の操作を実行することにより、深度画像からワールド空間を復元することが可能である。
深度画像からワールド空間を復元するには、射影変換とは逆の操作である逆射影変換を実行すればよい。この場合に使用される行列は、式（１）又は式（２）にて示される射影変換行列の逆行列（逆射影変換行列）である。即ち、カメラ２０３の画角φ、アスペクト比、及びカメラ２０３が撮影する空間の奥行き（クリップ距離）が指定されれば、逆射影変換が可能である。
【００２８】
＜ベクトル算出部＞
図１に戻り、ベクトル算出部１２５は、各多角形を構成する要素に係る要素ベクトルを算出する手段である。頂点座標から求められる第一の要素ベクトルには、例えば、多角形の辺に対応する線分を示す線分ベクトル、多角形の面に直交する面法線ベクトル、各頂点を共有する多角形の面法線を加算した頂点法線ベクトル等を含むことができる。
本例において、ベクトル算出部１２５は、第一の要素ベクトルを算出する手段として、線分ベクトル算出部（線分ベクトル算出手段）１２７と、法線ベクトル算出部（法線ベクトル算出手段）１２９とを有する。
【００２９】
線分ベクトル算出部１２７は、各多角形を互いに独立した（重複も交差もしない）複数の三角形に夫々分割し、各多角形の頂点の座標に基づいて、各三角形の辺に対応する線分を表す線分ベクトルを算出する。即ち、線分ベクトル算出部１２７は、多角形を構成する頂点同士を互いに交差しない線分で接続することによって、多角形を複数の三角形に分割する。
例えば、線分ベクトル算出部１２７は、多角形の原点に設定した頂点と多角形を構成する他の頂点とを接続する線分とによって、多角形を複数の三角形に分割する。線分ベクトル算出部１２７は、算出した線分ベクトルを各多角形に対応付けて法線ベクトル算出部１２９とベクトル管理部１３１に出力する。
深度画像が格子メッシュ状に分割されている場合、線分ベクトル算出部１２７は、各格子を夫々二つの三角形に分割し、各頂点の座標を用いて、夫々の三角形の辺に対応する線分を示す線分ベクトルを算出する。
【００３０】
線分ベクトル算出部１２７による線分ベクトルの算出について、図４に基づいて説明する。
まず、線分ベクトル算出部１２７は、格子００の原点に設定されている頂点Ｐ００から、当該格子を構成する他の頂点Ｐ０１、Ｐ１０、Ｐ１１に向かうベクトルＵ００、Ｖ００、Ｗ００を夫々算出する。ベクトルＷ００は、格子００を二つの三角形に分割する線分に相当する。線分ベクトル算出部１２７は、算出した線分ベクトルＵ００、Ｖ００、Ｗ００を格子００に対応付けて法線ベクトル算出部１２９とベクトル管理部１３１に出力する。線分ベクトル算出部１２７は、他の格子０１〜についても同様に処理する。
【００３１】
法線ベクトル算出部１２９は、線分ベクトル算出部１２７から出力された線分ベクトルに基づいて、線分ベクトル算出部１２７が形成した各三角形の面に垂直な法線ベクトルを算出する。また、法線ベクトル算出部１２９は、算出した法線ベクトルを各多角形に対応付けてベクトル管理部１３１に出力する。
深度画像が格子メッシュ状に分割されている場合、図４に示すように、法線ベクトル算出部１２９は、線分ベクトルＵ，Ｖ，Ｗに基づいて、各三角形の面に垂直な法線ベクトルＡ、Ｂを算出する。法線ベクトルＡは線分ベクトルＵとＷの外積から、法線ベクトルＢは線分ベクトルＷとＶの外積から算出される。
格子００の場合、法線ベクトル算出部１２９は、線分ベクトルＵ００，Ｗ００の外積を計算することで三角形Ｐ００Ｐ０１Ｐ１１の面法線ベクトルＡ００を算出し、線分ベクトルＶ００，Ｗ００の外積を計算することで三角形Ｐ００Ｐ１１Ｐ１０の面法線ベクトルＢ００を算出する。また、法線ベクトル算出部１２９は、算出した面法線ベクトルＡ００とＢ００を格子００に対応付けてベクトル管理部１３１に出力する。法線ベクトル算出部１２９は、他の格子０１〜についても同様に処理する。
【００３２】
なお、法線ベクトル算出部１２９は、線分ベクトル同士の外積をそのまま面法線ベクトルとしてベクトル管理部１３１に出力してもよいし、単位ベクトル化（正規化）してベクトル管理部１３１に出力してもよい。なお、上記正規化処理は、ベクトル管理部１３１が実行してもよい。
【００３３】
＜ベクトル管理部＞
ベクトル管理部１３１は、ベクトル算出部１２５から出力された要素ベクトルのデータを管理する手段である。即ち、まずベクトル管理部１３１は、ベクトル算出部１２５より出力された要素ベクトルから、重複しない一意の（ユニークな）要素ベクトルを抽出する。ベクトル管理部１３１は抽出した要素ベクトルに対して、ユニークな要素ベクトル同士を互いに識別する一意の（ユニークな）要素インデックスを夫々付与したベクトルリストを生成する。ベクトルリストは、ユニークな要素ベクトルに対してユニークなインデックスが一対一で対応付けられたリストである。
また、ベクトル管理部１３１は、ベクトル算出部１２５から出力された全ての要素ベクトルを要素インデックスに置き換えると共に、置き換えた要素インデックスを多角形の識別情報（格子番号）に対応付けてメッシュデータ格納部１４１に格納する。
【００３４】
インデックスの記憶に必要なメモリ領域のサイズは、要素ベクトルの生データの記憶に必要なメモリ領域のサイズよりも十分に小さくできる。このため、要素ベクトルのインデックスを格子番号に対応付けてメッシュデータ格納部１４１に格納する場合は、要素ベクトルの生データを格子番号に対応付けてメッシュデータ格納部１４１に格納する場合に比べて、メッシュデータ格納部１４１の容量を削減できる。また、インデックスを格納するために用意されるメモリ領域のサイズを、発生するインデックスの個数に応じて可能な範囲で小さくなるように設定することで、インデックスの格納に必要な容量を最適化しつつ削減することができる。
【００３５】
本例に示すベクトル管理部１３１は、線分ベクトルに関わる情報を管理する手段として、線分ベクトル管理部（線分ベクトルリスト生成手段）１３３と線分ベクトルリスト１３５とを有する。ベクトル管理部１３１は、法線ベクトルに関わる情報を管理する手段として、法線ベクトル管理部（法線ベクトルリスト生成手段）１３７と法線ベクトルリスト１３９とを有する。
【００３６】
図６（ａ）は各格子に対応付けて出力された線分ベクトルの生データを示す図であり、（ｂ）は（ａ）に基づいて生成された線分ベクトルリストを示す図である。
【００３７】
図６（ａ）は、線分ベクトル算出部１２７が線分ベクトル管理部１３３に出力するデータの一例を示している。線分ベクトル算出部１２７は、算出した線分ベクトルを順次各格子（格子番号）と対応付けて線分ベクトル管理部１３３に出力する。
線分ベクトル管理部１３３は、線分ベクトル算出部１２７から取得した各線分ベクトルが線分ベクトルリスト１３５に含まれているか否か、即ち、線分ベクトル算出部１２７から取得した各線分ベクトルがユニークな線分ベクトルであるか否かを判定する。
線分ベクトル算出部１２７から取得した線分ベクトルが線分ベクトルリスト１３５に格納されていない場合、即ち、ユニークな線分ベクトルである場合、線分ベクトル管理部１３３は、取得した線分ベクトルに対して新規なインデックス（線分ベクトルインデックス）を付与して、当該インデックスと元の線分ベクトルのデータとを対応付けた線分ベクトルリスト（図６（ｂ））を生成する。
線分ベクトル算出部１２７から取得した線分ベクトルが線分ベクトルリスト１３５に格納されている線分ベクトルの何れかと一致する場合、即ち、取得した線分ベクトルがユニークな線分ベクトルではない場合、線分ベクトル管理部１３３は、一致する線分ベクトルに付与されているインデックスを線分ベクトルリスト１３５から抽出して、そのインデックスを線分ベクトル算出部１２７から取得した線分ベクトルに付与する。
【００３８】
図８は、メッシュデータ格納部に格納されるメッシュデータの一例を示す図である。線分ベクトル管理部１３３は、線分ベクトルに対して付与したインデックスを、格子番号と格子メッシュ内における線分ベクトルの位置（Ｕ、Ｖ、Ｗ）を示す情報に対応付けてメッシュデータ格納部１４１に格納する。以上の処理により、線分ベクトル算出部１２７から出力された全ての線分ベクトルがインデックスに置き換えられる。
【００３９】
図７（ａ）は各格子に対応付けて出力された法線ベクトルの生データを示す図であり、（ｂ）は（ａ）に基づいて生成された法線ベクトルリストを示す図である。
【００４０】
図７（ａ）は、法線ベクトル算出部１２９が法線ベクトル管理部１３７に出力するデータの一例を示している。法線ベクトル算出部１２９は、算出した法線ベクトルを順次各格子（格子番号）と対応付けて法線ベクトル管理部１３７に出力する。
法線ベクトル管理部１３７は、法線ベクトル算出部１２９から取得した各法線ベクトルが法線ベクトルリスト１３９に含まれているか否か、即ち、法線ベクトル算出部１２９から取得した各法線ベクトルがユニークな法線ベクトルであるか否かを判定する。
法線ベクトル算出部１２９から取得した法線ベクトルが法線ベクトルリスト１３９に格納されていない場合、即ち、ユニークな法線ベクトルである場合、法線ベクトル管理部１３７は、取得した法線ベクトルに対して新規なインデックス（法線ベクトルインデックス）を付与して、当該インデックスと元の法線ベクトルのデータとを対応付けた法線ベクトルリスト（図７（ｂ））を生成する。
法線ベクトル算出部１２９から取得した法線ベクトルが法線ベクトルリスト１３９に格納されている法線ベクトルの何れかと一致する場合、即ち、取得した法線ベクトルがユニークな法線ベクトルではない場合、法線ベクトル管理部１３７は、一致する法線ベクトルに付与されているインデックスを法線ベクトルリスト１３９から抽出して、そのインデックスを法線ベクトル算出部１２９から取得した法線ベクトルに付与する。
【００４１】
法線ベクトル管理部１３７は、法線ベクトルに対して付与したインデックスを、格子番号と格子メッシュを分割する三角形の何れの法線ベクトル（Ａ、Ｂ）であるかを示す情報に対応付けてメッシュデータ格納部１４１に格納する（図８参照）。以上の処理により、法線ベクトル算出部１２９から出力された全ての法線ベクトルがインデックスに置き換えられる。
【００４２】
上述したように、メッシュデータ格納部１４１には線分ベクトルや法線ベクトルの生データではなくインデックスを記憶させているので、格子毎に線分ベクトル及び法線ベクトルの生データを保持する場合に比較して格段にメモリ容量を低減することができる。例えば図２に示したように、撮影地点から見て車（オブジェクト２０１ｂ）の後方にある建物の壁（オブジェクト２０１ｃ）は撮影地点に対して所定の角度を持った平面のため、当該壁の部分の各格子メッシュにおける線分ベクトルや法線ベクトルは略同一（即ち、ベクトルの成分を表すＸ、Ｙ、Ｚ値が略同一）であり、複数の格子メッシュにおいて同じインデックスを利用することとなり、使用するメモリ容量は少なくて済む。
【００４３】
なお、線分ベクトルリストや法線ベクトルリストを作成する際、線分ベクトル管理部１３３及び法線ベクトル管理部１３７は、線分ベクトル及び法線ベクトルの個々のＸ、Ｙ、Ｚ値が完全にユニークな場合に新規なインデックスを付与するのではなく、ユニークと判定する際のＸ、Ｙ、Ｚ値に多少の幅を持たせてインデックスを付与するように構成しても良い。
すなわち、深度カメラ等のセンサ出力は多少のばらつきが生じることもあり、またワールド空間への座標変換の演算における切り上げ、切り捨て処理等の影響により、本来であれば同一のＸ、Ｙ、Ｚ値を持つベクトルが算出されるはずであっても異なるＸ、Ｙ、Ｚ値を持つベクトルが算出される場合もある。このような場合には、Ｘ、Ｙ、Ｚ値が多少異なるベクトル同士であっても、Ｘ、Ｙ、Ｚ値の差異が所定の閾値範囲内にあるベクトルに対して同一のインデックスを付与することで更にメモリ容量を低減することが可能である。なお、上記閾値は、深度画像の利用用途に応じて適宜設定できる。また、上記閾値は、例えば、最初にインデックスが付与されたベクトルのＸ、Ｙ、Ｚ値を基準として設定することができる。
成分が異なる線分ベクトル同士を同一の線分ベクトルとみなし、これらに同一のインデックスを付与してデータを集約するということは、三次元空間を忠実に再現しないこととなるが、例えば、自動車等に実装される障害物検出に本願発明に係る深度情報処理を利用するのであれば、障害物の正確な形状認識よりは障害物の有無の検知が重要な要素となるので、厳密には異なる線分ベクトル同士を同一のインデックスに集約しても実用上問題が生じない。
【００４４】
〔フローチャート〕
図９は、本発明の一実施形態に係る画像処理装置が実行する画像処理手順を示すフローチャートである。以下では、深度画像を多角形メッシュの一例である格子メッシュに分割する場合の例により説明する。
【００４５】
ステップＳ１において、頂点データ取得部１１７は、フレームバッファ１１５から深度画像（図２（ｂ））を取得する。
【００４６】
ステップＳ３において、頂点データ取得部１１７は、メッシュ設定部１１１から取得したメッシュ設定に従って図２（ｂ）に示す深度画像を格子メッシュ状に分割する（画像分割ステップ）。また、頂点データ取得部１１７は、分割により形成された各格子メッシュに対してこれを識別する格子番号を付与する。
ステップＳ５において、頂点データ取得部１１７は、分割により得られた各格子の頂点に位置する画素のスクリーン座標（Ｓｘ，Ｓｙ）及び深度値Ｄを頂点座標として取得する（頂点データ取得ステップ）。なお、スクリーン座標は深度画像の画像幅と画像高さ（単位：ピクセル）を基準として表現された値である。例えば、深度画像が４８０×６４０ピクセルの画像の場合、ＳｘとＳｙは夫々、０≦Ｓｘ≦４７９、０≦Ｓｙ≦６３９の範囲の整数値で表現される。また、深度値Ｄは、０〜１の範囲で正規化された値を有する実数値である。頂点データ取得部１１７は、各格子の左上に位置する頂点を当該格子の格子原点として、その頂点座標を格子番号と対応付ける。
【００４７】
ステップＳ７において、正規化部１２１は、各頂点座標（Ｓｘ，Ｓｙ，Ｄ）を正規化デバイス座標（Ｎｘ，Ｎｙ，Ｎｚ）に変換する（座標変換ステップ）。即ち、正規化部１２１は、各頂点座標のＸ座標とＹ座標（Ｓｘ，Ｓｙ）を、夫々画像幅と画像高さを用いて−１〜＋１の範囲で正規化した実数値にて表現される座標（Ｎｘ，Ｎｙ）に変換する。また、正規化部１２１は、深度値Ｄを−１〜＋１の範囲で正規化した実数値にて表現される座標Ｎｚに変換する。これにより、各頂点は、一辺の長さが２の立方体の内部に配置される。
【００４８】
ステップＳ９において、逆射影変換部１２３は、正規化された頂点の三次元空間座標（Ｎｘ，Ｎｙ，Ｎｚ）に対して逆射影変換（逆プロジェクション変換）を実行して、各頂点の座標を、深度カメラ１０Ａの視点を基準としたカメラ視点系の三次元空間座標（Ｃｘ，Ｃｙ，Ｃｚ）（カメラ視点系座標、又はビューイング座標）に変換する（座標変換ステップ、図５）。この処理により、深度画像に写るオブジェクトが、元の立体形状で表現される。即ち、本処理により、カメラ視点を基準とする座標によりワールド空間が再現される。
ステップＳ１１において、逆射影変換部１２３は、格子番号と各格子に対応する頂点の三次元空間座標（Ｃｘ，Ｃｙ，Ｃｚ）とを対応付けたデータをメッシュデータ格納部１４１に格納する（図４、図８）。また、逆射影変換部１２３は、当該データを線分ベクトル算出部１２７に出力する。
【００４９】
ステップＳ１３において、線分ベクトル算出部１２７は、各格子メッシュを夫々２つの三角形に分割する。
ステップＳ１５において、線分ベクトル算出部１２７は、各頂点の三次元空間座標（Ｃｘ，Ｃｙ，Ｃｚ）に基づいて各三角形の各辺を表す線分ベクトルＵ，Ｖ，Ｗを算出する（ベクトル算出ステップ、図４）。線分ベクトル算出部１２７は、線分ベクトルＵ，Ｖ，Ｗを線分ベクトル管理部１３３と法線ベクトル算出部１２９に出力する。
ステップＳ１７において、線分ベクトル管理部１３３は、ユニークな線分ベクトルに対して新規なインデックスを付与し、インデックスと線分ベクトルの元の値とを対応付けた線分ベクトルリストを生成する（ベクトルリスト生成ステップ、図６）。また、線分ベクトルリスト１３５に含まれる線分ベクトルと重複する線分ベクトルに対しては、線分ベクトルリスト中の対応するインデックスを付与する。この処理により、線分ベクトル算出部１２７から出力された全ての線分ベクトルがインデックスに置き換えられる。
ステップＳ１９において、線分ベクトル管理部１３３は、線分ベクトルに対して付与したインデックスを、格子番号と格子メッシュ内における線分ベクトルの位置（Ｕ、Ｖ、Ｗ）に対応付けてメッシュデータ格納部１４１に格納する（メッシュデータ格納ステップ、図８）。
【００５０】
ステップＳ２１において、法線ベクトル算出部１２９は、各線分ベクトル（Ｕ、Ｖ、Ｗ）に基づいて各三角形の面法線ベクトルＡ，Ｂを算出する（ベクトル算出ステップ、図４）。法線ベクトル算出部１２９は、面法線ベクトルＡ，Ｂを法線ベクトル管理部１３７に出力する。
ステップＳ２３において、法線ベクトル管理部１３７は、ユニークな法線ベクトルに対して新規なインデックスを付与し、インデックスと法線ベクトルの元の値とを対応付けた法線ベクトルリストを生成する（ベクトルリスト生成ステップ、図７）。また、法線ベクトルリスト１３９に含まれる法線ベクトルと重複する法線ベクトルに対しては、法線ベクトルリスト中の対応するインデックスを付与する。この処理により、法線ベクトル算出部１２９から出力された全ての法線ベクトルがインデックスに置き換えられる。
ステップＳ２５において、法線ベクトル管理部１３７は、法線ベクトルに対して付与したインデックスを、格子番号と格子メッシュを分割する三角形の何れの法線ベクトル（Ａ、Ｂ）であるかを示す情報に対応付けてメッシュデータ格納部１４１に格納する（メッシュデータ格納ステップ、図８）。
【００５１】
＜効果＞
以上のように本実施形態によれば、画像を複数の多角形に分割し、多角形の各頂点のデータを取得するので、後の計算に必要な情報を効率的に取得することができ、計算量及びデータの格納に必要な容量を削減できる。
【００５２】
また、深度画像から得られる深度情報を幾何学情報（ベクトル情報）に変換するので、ベクトル情報に変換された深度情報を用いた各種の計算効率が向上する。例えば、深度画像内に写る複数の被写体同士の衝突判定には面法線ベクトルが必要となる。本例のように、予め面法線ベクトルを算出しておくことで、衝突判定の計算効率が向上する。
また、ベクトル情報をユニークな値によりリスト化するので、全てのベクトルについて生データを保持する場合に比べて大幅に情報量を削減することができる。従って、深度情報の格納に必要なメモリ容量を削減できる。
更に、ベクトル情報を正規化した上でユニークな値によりリスト化すれば、更に深度情報の格納に必要なメモリ容量を削減できる。特に、衝突判定では面法線ベクトルの大きさ情報は不要である。このような場合には、ベクトルを単位ベクトル化（或いは正規化）することで、ユニークなベクトルの数を低減させることができ、深度情報の格納に必要なメモリ容量を削減できる。
【００５３】
少なくとも１つの頂点の三次元空間座標（Ｃｘ，Ｃｙ，Ｃｚ）と各頂点間の関係を示した線分ベクトルから、全ての頂点の三次元空間座標（Ｃｘ，Ｃｙ，Ｃｚ）を算出できるため、メッシュデータ格納部１４１には、全頂点のうちの少なくとも１つの頂点の三次元空間座標（Ｃｘ，Ｃｙ，Ｃｚ）が格納されていればよい。
本実施形態において示した線分ベクトルＵ、Ｖ、Ｗの向きは一例であり、その向きは反対方向でもよい。また、各格子を２つの三角形に分割する対角線（ベクトルＷ）は、図４に示したように右下方向（又は左上方向）に向かうものでもよいし、左下方向（又は右上方向）に向かうものでもよい。
線分ベクトルリストと法線ベクトルリストとを一体化してもよい。即ち、全ての線分ベクトルと全ての法線ベクトルの中からユニークなベクトルを抽出してインデックスを付与したベクトルリストを生成してもよい。
線分ベクトル管理部１３３は、各線分ベクトルを大きさと向きの２つの要素に基づいて特定するようなリストを生成してもよい。即ち、線分ベクトル管理部１３３は、線分ベクトルをユニークな大きさによりリスト化したサイズリストと、線分ベクトルをユニークな角度によりリスト化した単位線分ベクトルリストを生成してもよい。
深度画像に基づいて中間的に或いは最終的に算出される三次元空間（座標系）は、本実施形態に示すものに限られず、目的に応じて任意に選定できる。
【００５４】
〔第二の実施形態〕
図１０は、本発明の第二の実施形態に係る画像処理装置を含む画像処理システムを示したブロック構成図である。
【００５５】
以下、第一の実施形態と同一の箇所には同一の符号を付すと共に、主として第一の実施形態と異なる点について説明する。本実施形態に係る画像処理装置は、カメラから深度情報とは異なる情報を取得して処理する点に特徴がある。
【００５６】
画像処理システム２を構成するカメラ１０Ｂは、深度情報を取得するセンサに加えて付加情報を取得するセンサを備え、深度情報と付加情報とを含む画像を生成する。カメラ１０Ｂが出力する画像の各画素には、深度値に加えて、付加情報（輝度値、温度、放射線強度等の付加データ）が対応付けられている。
カメラ１０Ｂは付加情報を取得する機能として、例えば、被写体の可視光像に係る輝度情報（グレースケール、又はＲｅｄ、Ｇｒｅｅｎ、ｂｌｕｅ夫々の輝度情報（色情報））を取得する機能、被写体の温度分布を取得する機能（例えば赤外線サーモグラフィカメラとしての機能）、放射線の空間的な強度分布を取得する放射線計測機能（例えばコンプトンカメラとしての機能）、その他の被写体に係る空間情報を取得する機能を備える。
【００５７】
画像処理装置１００Ｂのフレームバッファ１１５は、カメラ１０Ｂから入力した画像を一時的に保持する。フレームバッファ１１５は、画像の各画素が有する深度値及び付加データを格納するために用意されたメモリ領域である。
頂点データ取得部１１７は、メッシュ設定に従って、フレームバッファ１１５から取得した画像を複数の多角形によりメッシュ状に分割し、分割により生成された各多角形に対してこれを識別する識別情報を付与する。頂点データ取得部１１７は、各多角形の頂点に位置する画素の頂点座標と付加データとを取得し、頂点座標と付加データを多角形の識別情報に対応付ける。
画像処理装置１００Ｂは、線分ベクトル及び法線ベクトルを管理するベクトル管理部１３１と、付加データを管理する付加データ管理部（付加データリスト生成手段）１５１、及び付加データに関わるリストである付加データリスト１５３を備える。
付加データ管理部１５１は、ベクトル管理部１３１と同様に動作する。即ち、付加データ管理部１５１は、頂点データ取得部１１７から入力した付加データのうちユニークな付加データに対して新規なインデックス（付加データインデックス）を付与し、インデックスと付加データとを対応付けた付加データリスト１５３を生成する。また、付加データリスト１５３に含まれる付加データと重複する付加データに対しては、付加データリスト１５３中の対応するインデックスを付与する。この処理により、頂点データ取得部１１７から入力した全ての付加データがインデックスに置き換えられる。
付加データ管理部１５１は、付加データに対して付与したインデックスを、多角形の識別情報に対応付けてメッシュデータ格納部１４１に格納する。
【００５８】
以上のように、本実施形態によれば、ユニークな付加データに対してインデックスを付与してリスト化することで、メッシュデータ格納手段に格納するデータ量を削減できる。
なお、画像処理装置１００Ｂは、頂点データ取得部１１７が出力した付加情報を、後に利用しやすい形態（例えば正規化データ）に予め変換する手段として、付加データ変換部を付加データ管理部１５１の前段に備えてもよい。このようにすれば、付加データの利用時に必要な計算を省略することができ、画像処理装置の処理負荷の低減及び処理の高速化を図れる。
また、画像処理装置１００Ｂは、同種の一組の付加データを一つの要素ベクトル（第二の要素ベクトル）として取り扱うようにしてもよい。例えば、各種の表色系で色ベクトルとして表現されるＲ、Ｇ、Ｂ等の各輝度値を一つの色ベクトルとして取り扱うようにしてもよい。
【００５９】
〔本発明の実施態様例と作用、効果のまとめ〕
＜第一の実施態様＞
本態様は、各画素に深度情報を含む画像を処理する画像処理装置１００であって、画像を複数の多角形によりメッシュ状に分割する画像分割手段（頂点データ取得部１１７）と、各多角形の頂点に対応する深度情報と画像上のＸ座標及びＹ座標を、各頂点に係る第一の座標として取得する頂点データ取得手段（頂点データ取得部１１７）と、各頂点に係る第一の座標を所定の座標系にて表現された三次元空間座標に変換する座標変換手段（座標変換部１１９）と、各頂点の三次元空間座標に基づいて、各多角形を構成する要素ベクトル（線分ベクトル、法線ベクトル）を算出するベクトル算出手段（ベクトル算出部１２５）と、ユニークな要素ベクトルに対してこれらを互いに識別する要素インデックスを夫々付与し、ユニークな要素ベクトルと要素インデックスとを対応付けたベクトルリストを生成するベクトルリスト生成手段（ベクトル管理部１３１）と、各多角形に対して、各多角形を構成する要素ベクトルに係る要素インデックスを対応付けて格納するメッシュデータ格納手段（メッシュデータ格納部１４１）と、を備えることを特徴とする。
【００６０】
本態様に係る画像処理装置は、各画素に深度情報として深度値が対応付けられた深度画像を処理する。
画像分割手段は、画像を格子状（矩形状）に分割してもよいし、格子以外の多角形状に分割してもよい。
頂点データ取得手段は、分割により形成された多角形の頂点に対応する画素について画像上のＸ座標ＳｘとＹ座標Ｓｙ、更に当該画素に記録された深度情報（深度値Ｄ）を取得する。深度情報は画像を撮像した深度カメラのカメラ視点から被写体までの距離を示す情報である。頂点データ取得手段は、少なくとも深度画像からワールド空間を復元しうる３つの座標（第一の座標）を取得する。
座標変換手段は、第一の座標に基づいて、例えば直交座標系であるワールド空間を表現する三次元空間座標を算出する。座標変換手段は、三次元空間座標を算出する際に、後に実行される演算処理の内容に応じて最適な座標系を設定し、最適な基準点を設定する。
ベクトル算出手段は、各頂点の三次元空間座標に基づいて、各多角形を構成する要素ベクトルを算出する。ベクトル算出手段は、三次元空間座標を、予め後の計算に利用される態様の要素ベクトル（幾何学情報）に変換する。ここで、要素ベクトルの一例として、多角形の線分を表す線分ベクトル、多角形の面に対する法線を表す面法線ベクトル、多角形の頂点における法線を示す頂点法線ベクトルを挙げることができる。なお、線分ベクトルは頂点同士の関係を示す幾何学情報の一例である。
ベクトルリスト生成手段は、ベクトルリストを生成することにより、同一の要素ベクトルに対して共通する要素インデックスを付与する。
メッシュデータ格納手段は、各要素ベクトルに対応する要素インデックスを格納する。要素ベクトルの生データを格納する場合に比べて、データの格納に必要な容量を削減できる。
【００６１】
本態様においては、画像を複数の多角形に分割し、多角形の各頂点のデータを取得するので、後の計算に必要な情報を効率的に取得することができ、計算量及びデータの格納に必要な容量を削減できる。
即ち、深度情報を含む画像の利用分野によっては、一部の画素の深度情報等があれば足り、全画素の深度情報等までは必要ではない場合もある。例えば、画像に写るオブジェクト同士の衝突判定では、衝突判定が可能な程度にオブジェクトの形状を認識でき、且つオブジェクト同士の位置関係を認識できれば十分である。本態様のように画像を複数の多角形に分割して各頂点に対応する画素のデータを取得することによって、データを効率的に処理可能となる。
【００６２】
また、本態様においては、画像から得られる三次元空間座標を幾何学的な情報である要素ベクトルに変換するので、深度情報を利用した各種計算の効率を向上させることができる。
例えば、未加工の深度情報を用いてオブジェクト同士の衝突判定をする際に、毎回レイを飛ばして計算する（衝突判定のために仮想的な直線を設定して計算する）のは計算量が膨大となり非効率的である。また、衝突判定には、法線ベクトルが必要となるが、衝突判定には法線ベクトルの大きさに係る情報は不要である。このように未加工の深度情報は、深度情報の利用態様によっては計算に不要な情報を含む場合がある。本態様のように、深度情報等を予め後の計算に利用される態様の幾何学情報に変換しておけば、後の計算量の削減と効率化を図れる。
【００６３】
＜第二の実施態様＞
本態様に係る画像処理装置１００において、座標変換手段（座標変換部１１９）は、画像を撮像した深度カメラ１０の視野角情報と、画像のアスペクト比と、深度カメラが撮像する深度の範囲を示すクリップ距離と、に基づいて、各頂点の座標を逆射影変換することにより、各頂点の三次元空間座標として特定の視点を基準（原点）とする視点座標系にて表現された三次元空間座標（Ｃｘ，Ｃｙ，Ｃｚ）を生成する逆射影変換手段（逆射影変換部１２３）を備えることを特徴とする。
【００６４】
深度カメラが撮像する画像は、オブジェクトが奥行きに応じた大きさにて表現されるスクリーン画像である。画像の各画素に深度情報が含まれる場合、各画素の画像上のＸ−Ｙ座標と各画素に記録された深度情報と深度カメラの撮像範囲に係る情報とに基づいて逆射影変換を実行することにより、三次元直交座標系にて表現されるワールド空間を復元することができる。ワールド空間内においてオブジェクトは、元の大きさの（同一縮尺の、又は奥行きに応じた歪みを含まない）三次元の物体として再現される。
なお、復元されたワールド空間は、深度カメラの視点を基準点（原点）として表現される視点座標系（カメラ座標系）の三次元座標空間としてもよいし、他の点を基準点として表現されてもよい。
【００６５】
＜第三の実施態様＞
本態様に係る画像処理装置１００において、座標変換手段（座標変換部１１９）は、各頂点の座標を正規化して、各頂点の三次元空間座標として正規化デバイス座標系にて表現された三次元空間座標（Ｎｘ，Ｎｙ，Ｎｚ）を生成する正規化手段（正規化部１２１）を備え、逆射影変換手段（逆射影変換部１２３）は、正規化デバイス座標系にて表現された各頂点の三次元空間座標を逆射影変換して、特定の視点を基準（原点）とする視点座標系（正確にはカメラ座標系）にて表現された三次元空間座標（Ｃｘ，Ｃｙ，Ｃｚ）を生成することを特徴とする。
【００６６】
正規化デバイス座標系は、スクリーン画像中のオブジェクトを例えば一辺が２の立方体中に再現する座標系である。正規化デバイス座標系を介在させることで、ワールド空間の復元に係る計算が容易になる。
【００６７】
＜第四の実施態様＞
本態様に係る画像処理装置１００において、メッシュデータ格納手段（メッシュデータ格納部１４１）は、複数の多角形の頂点のうちの少なくとも１の頂点について三次元空間座標を格納することを特徴とする。
【００６８】
ここでいう三次元空間座標は生の座標データを意味する。画像上に設定された多角形の頂点のうち、少なくとも１つの頂点について生の座標データがわかれば、他の頂点については頂点同士の関係を示す幾何学情報（ベクトル情報）に基づいて生の座標データを算出することができる。このように、メッシュデータ格納手段には少なくとも１の頂点について三次元空間座標が格納されていればよい。この場合、メッシュデータ格納手段に格納するデータ量を大幅に削減できる。
なお、各多角形を代表する頂点として多角形ごとに１つの頂点に係る生の座標データをメッシュデータ格納手段に格納すれば、多角形毎に独立して各種の計算を実行することが可能（並列処理が可能）となり、計算効率が向上する。
【００６９】
＜第五の実施態様＞
本態様に係る画像処理装置１００において、ベクトル算出手段（ベクトル算出部１２５）は、各多角形を夫々複数の三角形に分割すると共に各三角形の各辺を表す線分ベクトル（Ｕ，Ｖ，Ｗ）を算出する線分ベクトル算出手段（線分ベクトル算出部１２７）と、各線分ベクトルに基づいて各三角形の法線ベクトル（面法線ベクトルＡ，Ｂ）を算出する法線ベクトル算出手段（法線ベクトル算出部１２９）と、を備えることを特徴とする。
【００７０】
例えば、画像に基づいて再現されたワールド空間内に存在するオブジェクト同士の衝突判定を行う場合、三角形の法線ベクトルが必要である。このように、後の計算に利用される態様の要素ベクトルを算出しておくことで、後の計算効率を向上させることができる。
【００７１】
＜第六の実施態様＞
本態様に係る画像処理装置１００において、ベクトルリスト生成手段（ベクトル管理部１３１）は、ユニークな線分ベクトルに対してこれらを互いに識別する線分ベクトルインデックスを夫々付与し、ユニークな線分ベクトルと線分ベクトルインデックスとを対応付けた線分ベクトルリストを生成する線分ベクトルリスト生成手段（線分ベクトル管理部１３３）と、ユニークな法線ベクトルに対してこれらを互いに識別する法線ベクトルインデックスを夫々付与し、ユニークな法線ベクトルと法線ベクトルインデックスとを対応付けた法線ベクトルリストを生成する法線ベクトルリスト生成手段（法線ベクトル管理部１３７）と、を備えることを特徴とする。
【００７２】
ベクトルリスト生成手段が、ユニークな線分ベクトルとユニークな法線ベクトルに対して夫々インデックスを付与したベクトルリストを生成するので、メッシュデータ格納手段に格納するデータ量を削減できる。
【００７３】
＜第七、第八の実施態様＞
本態様に係る画像処理装置１０Ｂが処理する画像は、各画素に深度情報とは異なる付加データ（輝度値、温度、放射線強度等の数値化可能な値）を含んでいる。
本態様に係る画像処理装置において、頂点データ取得手段（頂点データ取得部１１７）は、各多角形の頂点に対応する付加データを取得する。画像処理装置は、ユニークな付加データに対してこれらを識別する付加データインデックスを付与し、ユニークな付加データと付加データインデックスとを対応付けた付加データリストを生成する付加データリスト生成手段（付加データ管理部１５１）を備える。メッシュデータ格納手段（メッシュデータ格納部１４１）は、各多角形に対して、各多角形の頂点に対応する付加データに係る付加データインデックスを対応付けて格納する。
本態様に係る画像処理装置において、付加データは、画像に写る被写体の色情報、温度情報、又は放射線情報の何れかを含むことを特徴とする。
【００７４】
本態様のように、画像の各画素は深度情報以外のデータ（付加データ）を含んでもよい。この場合も要素ベクトルと同様に、付加データリスト生成手段がユニークな付加データに対して夫々インデックスを付与した付加データリストを生成するので、メッシュデータ格納手段に格納するデータ量を削減できる。
【符号の説明】
【００７５】
１、２…画像処理システム、１０Ａ…深度カメラ、１０Ｂ…カメラ、２０…設定入力部、１００Ａ、１００Ｂ…画像処理装置、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…入出力Ｉ／Ｆ、１０５…ストレージ、１０６…バス、１１１…メッシュ設定部、１１３…メッシュ設定記憶部、１１５…フレームバッファ、１１７…頂点データ取得部（画像分割手段、頂点データ取得手段）、１１９…座標変換部（座標変換手段）、１２１…正規化部（正規化手段）、１２３…逆射影変換部（逆射影変換手段）、１２５…ベクトル算出部（ベクトル算出手段）、１２７…線分ベクトル算出部（線分ベクトル算出手段）、１２９…法線ベクトル算出部（法線ベクトル算出手段）、１３１…ベクトル管理部（ベクトルリスト生成手段、１３３…線分ベクトル管理部（線分ベクトルリスト生成手段）、１３５…線分ベクトルリスト、１３７…法線ベクトル管理部（法線ベクトルリスト生成手段）、１３９…法線ベクトルリスト、１４１…メッシュデータ格納部（メッシュデータ格納手段）、１５１…付加データ管理部（付加データリスト生成手段）、１５３…付加データリスト、２００…ワールド空間、２０１、２０１ａ、２０１ｂ、２０１ｃ…オブジェクト、２０２…基準点、２０３…カメラ、２０４…視錐台、２０５…前方クリップ面、２０６…後方クリップ面
【図１】
2019211965.tif 000005
【図２】
2019211965.tif 000006
【図３】
2019211965.tif 000007
【図４】
2019211965.tif 000008
【図５】
2019211965.tif 000009
【図６】
2019211965.tif 000010
【図７】
2019211965.tif 000011
【図８】
2019211965.tif 000012
【図９】
2019211965.tif 000013
【図１０】
2019211965.tif 000014