(57)【要約】【課題】撮影画像から対象物の状態を高精度かつ効率的に取得する。【解決手段】撮像装置１２の画像データ生成部７２は、輝度データ取得部７０が取得した複数方向の偏光の輝度から複数解像度の偏光画像を生成する。画素値変換部７４は、複数方向の偏光輝度に基づき所定のパラメータを画素値とする新たな画像データを生成する。送出画像生成部７６は複数種類の画像データを所定の画素列単位で接続したうえ要求されたデータを切り出して通信部７８からストリーム転送する。情報処理装置１０の対象物認識部８０は、送信されたデータを用いて対象物の状態を認識し、出力データ生成部８２はそれを用いて出力データを生成する。通信部８６は対象物の状態に応じた種類、解像度、領域のデータを撮像装置１２に要求する。【選択図】図４
2018061124.tif 000002
【特許請求の範囲】
【請求項１】
複数方向の偏光画像のデータを取得し、それぞれを複数の解像度で表したデータを生成する画像データ取得部と、
前記複数の解像度ごとに、前記偏光画像の画素値を用いて所定のパラメータを求め、新たな画素値としたデータを生成する画素値変換部と、
生成したデータの少なくともいずれかを情報処理装置に送信する通信部と、
を備えたことを特徴とする撮像装置。
【請求項２】
前記画素値変換部は、並列に入力された複数方向の偏光画像の画素順に前記パラメータを求めて出力し、
前記通信部は、前記パラメータを表す画像のデータを、入力された画素順に、前記情報処理装置に送信することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記画素値変換部は、複数方向の偏光画像から対象物表面の法線取得に至るまでに必要なパラメータを求めることを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記画素値変換部は、複数方向の偏光画像の画素値に基づき、対象物表面の法線の天頂角および方位角を求め、それらの組み合わせを所定規則で量子化して得たインデックスを画素値としたデータを生成することを特徴とする請求項１から３のいずれかに記載の撮像装置。
【請求項５】
前記画素値変換部は、前記天頂角および方位角の組み合わせの範囲によって、量子化する単位の粒度を異ならせることを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記画素値変換部は、前記偏光画像の画素値に基づき前記法線の天頂角を求める規則を、それに用いた偏光画像の解像度によって異ならせることを特徴とする請求項４または５に記載の撮像装置。
【請求項７】
前記画素値変換部は、対象物表面の法線の方向を決定づけるパラメータに基づき、当該法線の信頼度を示す数値を決定し、生成するデータに含めることを特徴とする請求項３から６のいずれかに記載の撮像装置。
【請求項８】
前記複数の解像度で表した偏光画像のデータを、偏光の方向ごとに、画像の横一列分またはそれより小さい画素列単位で循環して接続してなるデータストリームのうち、前記情報処理装置に送信すべき領域に対応する部分を切り出して接続することで新たなデータストリームを形成して前記画素値変換部に入力する領域抽出部をさらに備えることを特徴とする請求項１から７のいずれかに記載の撮像装置。
【請求項９】
前記通信部は、前記情報処理装置から、画像平面における領域を指定したデータの送信要求を受け付け、
前記領域抽出部は、前記送信要求に応じて、前記データストリームから切り出す部分を切り替えることを特徴とする請求項８に記載の撮像装置。
【請求項１０】
前記領域抽出部は、設定に応じて、入力された前記データストリームのうち、同じ部分を複数回切り出し、前記新たなデータストリームに含めることを特徴とする請求項８または９に記載の撮像装置。
【請求項１１】
前記偏光画像のデータおよび前記パラメータを表す画像のデータを、画像の横一列分またはそれより小さい画素列単位で循環して接続してなるデータストリームのうち、前記情報処理装置に送信すべきデータの部分を切り出して接続することで新たなデータストリームを形成して前記通信部から送信させる送出画像生成部をさらに備えることを特徴とする請求項１から７のいずれかに記載の撮像装置。
【請求項１２】
前記通信部は、前記情報処理装置から、データの種類および画像平面における領域を指定したデータの送信要求を受け付け、
前記送出画像生成部は、前記送信要求に応じて、前記データストリームから切り出す部分を切り替えることを特徴とする請求項１１に記載の撮像装置。
【請求項１３】
前記送出画像生成部は、接続が一巡したときの画素列を横一列分の画素列としたときの仮想的な合成画像において、各画像のデータが矩形領域を構成するように画素列を接続し、前記情報処理装置からの前記合成画像における領域指定に応じて、前記データストリームから切り出す部分を決定することを特徴とする請求項１２に記載の撮像装置。
【請求項１４】
前記画素値変換部は、前記情報処理装置からの要求に応じて、出力するデータの種類を切り替えることを特徴とする請求項１から１３のいずれかに記載の撮像装置。
【請求項１５】
前記画素値変換部は、前記情報処理装置からの要求に応じて、出力するデータの種類を、前記領域抽出部が切り出した領域ごとに切り替えることを特徴とする請求項８から１０のいずれかに記載の撮像装置。
【請求項１６】
対象物の偏光画像を撮影する撮像装置と、当該偏光画像から取得される情報を利用して対象物の状態を取得し、それに基づく情報処理を実施する情報処理装置と、を含み、
前記撮像装置は、
複数方向の偏光画像のデータを取得し、それぞれを複数の解像度で表したデータを生成する画像データ取得部と、
前記複数の解像度ごとに、前記偏光画像の画素値を用いて所定のパラメータを求め、新たな画素値としたデータを生成する画素値変換部と、
生成したデータの少なくともいずれかを情報処理装置に送信する通信部と、
を備え、
前記情報処理装置は、
前記撮像装置から送信されたデータを用いて対象物の状態を取得する対象物認識部と、
取得された対象物の状態に応じた種類および画像平面における領域を指定して、前記撮像装置へデータの送信要求を行う通信部と、
を備えたことを特徴とする情報処理システム。
【請求項１７】
前記情報処理装置の前記対象物認識部は、前記撮像装置の前記画素値変換部が求めたパラメータと、当該対象物認識部が前記偏光画像の画素値を用いて求めた同じパラメータとを比較することにより、前記画素値変換部が当該パラメータを求めるのに用いた変換規則の適性を判定し、不適切と判定した場合にその旨を前記撮像装置に通知し、
前記撮像装置の画素値変換部は、当該通知に従い、前記変換規則を補正することを特徴とする請求項１６に記載の情報処理システム。
【請求項１８】
対象物の偏光画像を撮影する撮像装置から、偏光画像のデータおよび、偏光画像の画素値を用いて求めた所定のパラメータを画素値とするデータのうち要求したデータを取得する通信部と、
取得したデータを用いて対象物の状態を取得する対象物認識部と、
前記対象物の状態に基づき情報処理を行い出力データを生成する出力データ生成部と、
を備え、
前記通信部は、前記対象物の状態に応じた種類および画像平面における領域を指定して、前記撮像装置へデータの送信要求を行うことを特徴とする情報処理装置。
【請求項１９】
撮像素子により複数方向の偏光画像のデータを取得し、それぞれを複数の解像度で表したデータを生成するステップと、
前記複数の解像度ごとに、前記偏光画像の画素値を用いて所定のパラメータを求め、新たな画素値としたデータを生成するステップと、
生成したデータの少なくともいずれかを情報処理装置に送信するステップと、
を含むことを特徴とする撮像装置による偏光画像処理方法。
【請求項２０】
複数方向の偏光画像のデータを取得し、それぞれを複数の解像度で表したデータを生成する機能と、
前記複数の解像度ごとに、前記偏光画像の画素値を用いて所定のパラメータを求め、新たな画素値としたデータを生成する機能と、
生成したデータの少なくともいずれかを情報処理装置に送信する機能と、
を実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物の動きに応じて情報処理を行う技術に関する。
【背景技術】
【０００２】
ユーザの頭部など体の一部をビデオカメラで撮影し、目、口、手などの所定の領域を抽出して別の画像で置換した表示画像を利用するゲームが知られている（例えば、特許文献１参照）。また、ビデオカメラで撮影された口や手の動きをアプリケーションの操作指示として受け取るユーザインタフェースシステムも知られている。このように、実世界を撮影しその動きに反応する仮想世界を表示させたり、何らかの情報処理に利用したりする技術は、小型の携帯端末からレジャー施設まで、規模によらず幅広い分野で利用されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】欧州特許出願公開第０９９９５１８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
対象物の位置や姿勢を撮影画像から取得する画像解析においては、対象物の外観や位置、撮影環境などに起因して処理の精度が不安定になりやすい、という課題がある。例えば撮影画像から対象物の像を抽出したりマッチングしたりするのに特徴点を利用する一般的な技術では、元来対象物に特徴点が少なかったり、対象物がカメラから離れた位置に存在し見かけ上のサイズが小さかったりすることで処理精度が悪化する。処理精度に頑健性を求めるほど、空間的、時間的に処理の粒度を細かくしたり、アルゴリズムを複雑化したりする必要が生じ、転送帯域の圧迫や処理負荷の増大を招く。そのようなことにより発生するレイテンシは、カメラをユーザインタフェースとして使用する場合は特に問題となる。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は高精度かつ効率的に、撮影画像から対象物の状態を取得する技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は撮影装置に関する。この撮影装置は、複数方位の偏光画像のデータを取得し、それぞれを複数の解像度で表したデータを生成する画像データ取得部と、偏光画像の画素値を用いて所定のパラメータを求め、新たな画素値としたデータを生成する画素値変換部と、生成したデータの少なくともいずれかを情報処理装置に送信する通信部と、を備えたことを特徴とする。
【０００７】
本発明のさらに別の態様は情報処理システムに関する。この情報処理システムは、対象物の偏光画像を撮影する撮像装置と、当該偏光画像から取得される情報を利用して対象物の状態を取得し、それに基づく情報処理を実施する情報処理装置と、を含み、撮像装置は、複数方位の偏光画像のデータを取得し、それぞれを複数の解像度で表したデータを生成する画像データ取得部と、前記複数の解像度ごとに、偏光画像の画素値を用いて所定のパラメータを求め、新たな画素値としたデータを生成する画素値変換部と、生成したデータの少なくともいずれかを情報処理装置に送信する通信部と、を備え情報処理装置は、撮像装置から送信されたデータを用いて対象物の状態を取得する対象物認識部と、取得された対象物の状態に応じた種類および画像平面における領域を指定して、撮像装置へデータの送信要求を行う通信部と、を備えたことを特徴とする。
【０００８】
本発明のさらに別の態様は情報処理装置に関する。この情報処理装置は、対象物の偏光画像を撮影する撮像装置から、偏光画像のデータおよび、偏光画像の画素値を用いて求めた所定のパラメータを画素値とするデータのうち要求したデータを取得する通信部と、取得したデータを用いて対象物の状態を取得する対象物認識部と、対象物の状態に基づき情報処理を行い出力データを生成する出力データ生成部と、を備え、通信部は、対象物の状態に応じた種類および画像平面における領域を指定して、撮像装置へデータの送信要求を行うことを特徴とする。
【０００９】
本発明のさらに別の態様は偏光画像処理方法に関する。この偏光画像処理方法は、撮像装置が、撮像素子により複数方位の偏光画像のデータを取得し、それぞれを複数の解像度で表したデータを生成するステップと、前記複数の解像度ごとに、偏光画像の画素値を用いて所定のパラメータを求め、新たな画素値としたデータを生成するステップと、生成したデータの少なくともいずれかを情報処理装置に送信するステップと、を含むことを特徴とする。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によると、撮影画像から対象物の状態を高精度かつ効率的に取得できる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態における情報処理システムの構成例を示す図である。
【図２】本実施の形態における撮像装置が備える撮像素子の構造例を示す図である。
【図３】本実施の形態における情報処理装置の内部回路構成を示す図である。
【図４】本実施の形態における撮像装置と情報処理装置の機能ブロックの構成を示す図である。
【図５】本実施の形態において対象物の状態を取得する処理の一例を模式的に示す図である。
【図６】本実施の形態における撮像装置の構成をより詳細に示す図である。
【図７】本実施の形態の撮像装置および情報処理装置におけるデータの形態の基本的な変遷を模式的に示す図である。
【図８】本実施の形態において各解像度の偏光画像の画素値が、ピラミッドフィルタ部から画素値変換部へ入力されるタイミングを示すタイムチャートである。
【図９】本実施の形態において出力タイミング調整部が複数解像度の画像のデータを循環して出力することにより生成される合成画像を模式的に示す図である。
【図１０】本実施の形態における情報処理装置からの要求に応じたデータの状態変化を模式的に示す図である。
【図１１】本実施の形態における画素値変換部のより詳細な構成を例示す図である。
【図１２】本実施の形態における画素値変換部の構成の別の例を示す図である。
【図１３】図１２で示した画素値変換部における送信データ形成部の詳細な構成を例示する図である。
【図１４】本実施の形態における量子化部によるベクトル量子化の例を説明するための図である。
【図１５】本実施の形態における撮像装置と情報処理装置が、協働して偏光画像を解析し表示画像を出力する処理手順を示すフローチャートである。
【図１６】本実施の形態における撮像装置の構成の変形例を示す図である。
【図１７】本実施の形態においてレジスタに格納するデータの構造例と、それに応じてクロッピング部が実施する処理の様子を模式的に示す図である。
【図１８】本実施の形態において画素値変換部が、入力された偏光画像のデータを用いて指定されたパラメータのデータストリームを出力する様子を示す図である。
【図１９】本実施の形態において情報処理装置の要求に応じて送信されるデータを例示する図である。
【図２０】本実施の形態における撮影環境例を側面から見た様子を模式的に示す図である。
【図２１】本実施の形態において、参照用実物体を用いて撮像装置における変換規則を最適化する処理手順を示すフローチャートである。
【図２２】本実施の形態において撮像装置から送信するデータをさらに限定する例を説明するための図である。
【発明を実施するための形態】
【００１３】
図１は本実施の形態における情報処理システムの構成例を示している。この情報処理システムは、対象物８を所定のフレームレートで撮影する撮像装置１２、撮影画像から得た情報に基づき情報処理を行う情報処理装置１０、および情報処理の結果を出力する表示装置１６を含む。情報処理システムにはさらに、情報処理装置１０に対する操作をユーザから受け付ける入力装置が含まれていてもよい。情報処理装置１０はさらに、インターネットなどのネットワークに接続することでサーバなど外部の装置と通信可能としてもよい。
【００１４】
情報処理装置１０と撮像装置１２および表示装置１６とは、有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。また情報処理装置１０、撮像装置１２、表示装置１６のいずれか２つ以上を組み合わせて一体的な装置としてもよい。例えばそれらを装備したカメラや携帯端末などで情報処理システムを実現してもよい。あるいは表示装置１６を、ユーザが頭部に装着することで眼前に画像を表示させるヘッドマウントディスプレイとし、当該ヘッドマウントディスプレイに、ユーザの視線に対応する画像を撮影するように撮像装置１２を設けてもよい。いずれにしろ情報処理装置１０、撮像装置１２、表示装置１６の外観形状は図示するものに限らない。
【００１５】
このようなシステムにおいて情報処理装置１０は、撮像装置１２が所定のフレームレートで撮影した画像のデータ、または当該画像から得られた各種データの少なくともいずれかを順次取得し、それに基づき対象物８の実空間における位置や姿勢を特定する。対象物８が弾性体など、形状が可変であればその形状も特定する。そして特定した結果に対応するように情報処理を実施し、表示画像や音声のデータを生成して表示装置１６に出力する。対象物８の状態に対応させて実施する情報処理の内容は特に限定されず、それによって対象物８も様々であってよい。
【００１６】
例えば対象物８をゲームのコントローラとし、ユーザが把持して動かすことでゲームに対する操作がなされるようにしてもよい。この場合、ゲーム世界を表す画像がコントローラの動きに応じて変化したり、ユーザを写した撮影画像上でコントローラが仮想オブジェクトに置換された画像を表示させたりすることができる。あるいはヘッドマウントディスプレイを装着したユーザの視線に対応する視野で、ユーザの手などの実物体とインタラクションする仮想オブジェクトを表した画像を、当該ヘッドマウントディスプレイに表示させることもできる。
【００１７】
このように対象物８の状態を利用してなされる情報処理については様々に考えられるため、以後は、撮像装置１２による撮影から、情報処理装置１０における対象物８の位置、姿勢、形状に係るデータの取得までを、効率的かつ正確に実現する手法に主眼を置き説明する。以後、対象物の位置、姿勢、形状を「対象物の状態」と総称するが、常にその全てを特定する主旨ではなく、少なくともそのうちの１つを必要に応じて特定すればよい。この目的において本実施の形態における撮像装置１２は、少なくとも被写空間の偏光画像を撮影するとともに、撮影結果に基づき複数種類のデータを生成し情報処理装置１０に送信する。
【００１８】
情報処理装置１０は、送信されたデータを用いて対象物８の状態を特定したうえ、最終目的である情報処理を実施する。なお撮像装置１２は偏光画像を撮影する機構以外に、自然光（非偏光）の画像を撮影する機構を備えていてよい。また、既知の間隔を有する左右の視点から自然光の画像または偏光画像を撮影するステレオカメラを設け、三角測量の原理により対象物の３次元空間での位置を特定できるようにしてもよい。このような撮像装置１２の構成は、目的とする情報処理の内容や表示させたい画像の内容などに応じて適宜決定してよいが、以後の説明では特に、偏光画像の撮影および処理について述べる。
【００１９】
図２は撮像装置１２が備える撮像素子の構造例を示している。なお同図は素子断面の機能的な構造を模式的に示しており、層間絶縁膜や配線などの詳細な構造は省略している。撮像素子１１０はマイクロレンズ層１１２、ワイヤグリッド型偏光子層１１４、および光検出層１１８を含む。ワイヤグリッド型偏光子層１１４は、複数の線状の導体部材を入射光の波長より小さい間隔でストライプ状に配列させた偏光子を含む。マイクロレンズ層１１２により集光された光がワイヤグリッド型偏光子層１１４に入射すると、偏光子のラインと平行な方向の偏光成分は反射され、垂直な偏光成分のみが透過する。
【００２０】
透過した偏光成分を光検出層１１８で検出することにより偏光画像が取得される。光検出層１１８は一般的なＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサなどの半導体素子構造を有する。ワイヤグリッド型偏光子層１１４は、光検出層１１８における電荷の読み取り単位、すなわち画素単位、あるいはそれより大きな単位で主軸角度が異なるような偏光子の配列を含む。同図右側には、ワイヤグリッド型偏光子層１１４を上面から見たときの偏光子配列１２０を例示している。
【００２１】
同図において網掛けされたラインが偏光子を構成する導体（ワイヤ）である。なお点線の矩形はそれぞれ一主軸角度の偏光子の領域を表しており、点線自体は実際に形成されるものではない。図示する例では、４通りの主軸角度の偏光子が２行２列の４つの領域１２２ａ、１２２ｂ、１２２ｃ、１２２ｄに配置されている。図中、対角線上にある偏光子はその主軸角度が直交しており、隣り合う偏光子は４５°の差を有する。すなわち４５°おきの４つの主軸角度の偏光子を設けている。
【００２２】
各偏光子はワイヤの方向に直交する方向の偏光成分を透過する。これにより、下に設けた光検出層１１８においては、４つの領域１２２ａ、１２２ｂ、１２２ｃ、１２２ｄに対応する各領域で、４５°おきの４方向の偏光情報を得ることができる。このような４つの主軸角度の偏光子配列をさらに縦方向、横方向に所定数、配列させ、電荷読み出しのタイミングを制御する周辺回路を接続することにより、４種類の偏光情報を２次元データとして同時に取得するイメージセンサを実現できる。
【００２３】
ワイヤグリッド型偏光子を用いた画像取得技術については、例えば特開２０１２−８００６５号公報などにも開示されている。ただし本実施の形態における撮像装置１２の素子構造は図示するものに限らない。例えばワイヤグリッド型偏光子層１１４と光検出層１１８の間に、赤、緑、青の光をそれぞれ透過するフィルタの配列を含むカラーフィルター層を設け、ワイヤグリッド型偏光子層１１４における偏光子の主軸角度とフィルタの色の組み合わせに応じて、偏光情報を色別に得てもよい。また偏光子はワイヤグリッド型に限らず、線二色性偏光子など実用化されているもののいずれでもよい。あるいは一般的なカメラの前面に主軸角度が変更可能な偏光板を配置した構造としてもよい。
【００２４】
図３は情報処理装置１０の内部回路構成を示している。情報処理装置１０は、ＣＰＵ（Central Processing Unit）２３、ＧＰＵ（Graphics Processing Unit)２４、メインメモリ２６を含む。これらの各部は、バス３０を介して相互に接続されている。バス３０にはさらに入出力インターフェース２８が接続されている。入出力インターフェース２８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インターフェースや、有線又は無線ＬＡＮのネットワークインターフェースからなる通信部３２、ハードディスクドライブや不揮発性メモリなどの記憶部３４、表示装置１６へデータを出力する出力部３６、撮像装置１２や図示しない入力装置からデータを入力する入力部３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部４０が接続される。
【００２５】
ＣＰＵ２３は、記憶部３４に記憶されているオペレーティングシステムを実行することにより情報処理装置１０の全体を制御する。ＣＰＵ２３はまた、リムーバブル記録媒体から読み出されてメインメモリ２６にロードされた、あるいは通信部３２を介してダウンロードされた各種プログラムを実行する。ＧＰＵ２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ２３からの描画命令に従って描画処理を行い、図示しないフレームバッファに表示画像のデータを格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部３６に出力する。メインメモリ２６はＲＡＭ（Random Access Memory）により構成され、処理に必要なプログラムやデータを記憶する。
【００２６】
図４は、撮像装置１２と情報処理装置１０の機能ブロックの構成を示している。同図に示す各機能ブロックは、ハードウェア的にはＣＰＵ、ＧＰＵ、マイクロプロセッサ、演算回路、撮像素子、各種メモリなどの少なくともいずれかの構成で実現でき、ソフトウェア的には、記録媒体などからメモリにロードされた、演算機能、描画機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００２７】
撮像装置１２は、撮影により輝度データを取得する輝度データ取得部７０、輝度データから所定解像度の撮影画像のデータを生成する画像データ生成部７２、撮影画像の画素値を所定のパラメータに変換する画素値変換部７４、複数種類のデータを接続して送出形式にする送出画像生成部７６、および、情報処理装置１０からの要求を取得し該当データを送信する通信部７８を含む。
【００２８】
輝度データ取得部７０は、例えば図２で示した撮像素子１１０の２次元配列により、複数方向の偏光成分の輝度分布を取得する。この輝度分布は、偏光撮影画像のいわゆるＲＡＷ画像である。画像データ生成部７２は、各方向について離散的に得られた偏光輝度の値を補間するデモザイク処理を行うとともに、複数段階に縮小することにより所定解像度の偏光画像を生成する。
【００２９】
画素値変換部７４は、偏光画像を用いて画素ごとに所定の演算を実施し、その結果を画素値とする新たな画像を生成する。具体的には、複数方向の偏光画像の画素値を同じ位置の画素ごとに集約し、対象物の法線を得るのに必要な中間パラメータ、あるいは法線を表すパラメータを画素ごとに算出する。このようにして新たに生成するデータは、パラメータによっては視覚的に意味のある一般的な「画像」とは異なる場合があるが、画素に対応づけられた２次元マップとして撮影画像と同様に扱えるため、以後の説明では「画像」と呼ぶこともある。パラメータの具体例については後述する。なお画素値変換部７４には、画像データ生成部７２が生成した偏光画像の画素値をそのまま出力する経路も設ける。
【００３０】
送出画像生成部７６は、画素値変換部７４から入力される複数種類のデータを統合したうえ、情報処理装置１０から要求されたデータを出力する。本実施の形態において撮像装置１２が内部で行う各種データの生成は、画素単位、あるいは近傍の複数の画素単位の局所的な処理である。したがって各処理を流れ作業で行うことにより、送出画像生成部７６には、複数種類のデータが画素列順に入力される。送出画像生成部７６はまず、それらのデータを接続して１つのデータストリームとしたうえ、要求されたデータのみを切り出して再接続することにより、最終的な送出形態としてのデータストリームを形成する。
【００３１】
このとき各種データを、それぞれの生成周期を考慮したサイズの画素列単位で循環して接続していくことにより、撮影からデータ送出までを高速に行うとともに、要求されたデータの切り出しや、情報処理装置１０におけるデータの区別を容易に行えるようにする。通信部７８は情報処理装置１０と通信を確立し、必要なデータの種類および画像上の領域に係る要求を受け付け、画素値変換部７４および送出画像生成部７６に通知する。
【００３２】
そして送出画像生成部７６が生成したデータストリームを順次パケット化して情報処理装置１０に送信する。通信部７８は、例えばＵＳＢ１．０／２．０／３．０等の所定のプロトコルにしたがって、情報処理装置１０にパケットを送出する。情報処理装置１０との通信は有線に限らず、例えばＩＥＥＥ８０２．１１ａ／ｂ／ｇなどの無線ＬＡＮ通信、ＩｒＤＡなどの赤外線通信などの無線通信であってもよい。
【００３３】
情報処理装置１０は、撮像装置１２へデータを要求し、それに応じて送信されたデータを取得する通信部８６、取得したデータを格納するデータ記憶部８４、送信されたデータを利用して対象物の状態を特定する対象物認識部８０、および、対象物の状態に基づき出力すべきデータを生成する出力データ生成部８２を含む。通信部８６は図３の通信部３２、ＣＰＵ２３などで実現され、偏光画像や各種パラメータを表すデータストリームを撮像装置１２から取得する。
【００３４】
データ記憶部８４はメインメモリ２６で実現され、通信部８６が取得したデータを順次格納する。この際、通信部８６は、データストリームに含まれる複数種類のデータを切り分けて、個別の画像として再構築する。データストリームにおける各種データの接続規則は、撮像装置１２へのデータ要求の内容によって決定されるため、切り分け処理も当該要求に基づき行える。
【００３５】
対象物認識部８０はＣＰＵ２３、ＧＰＵ２４などで実現され、データ記憶部８４に格納された各種データを用いて対象物の状態を特定する。具体的には、偏光画像のデータを直接参照したり、撮像装置１２において求められた中間パラメータを利用したりして、対象物表面の法線ベクトルを取得することにより、対象物の位置や姿勢を特定する。このとき例えば、あらかじめ登録しておいた対象物の３次元モデルの状態を、取得された法線ベクトルの分布に適合するように仮想空間で調整することにより、実際の対象物の位置や姿勢を正確に特定できる。
【００３６】
法線ベクトルによる解析以外に、偏光画像に写る対象物の像をテンプレート画像とマッチングするなどして、見かけ上のサイズや形状から対象物の位置や姿勢を推定してもよい。また偏光画像、あるいは別途取得した自然光の画像に対し、顔検出、顔認識、手認識、視覚追跡など、実用化されている対象物認識処理を施してもよい。撮像装置１２にステレオカメラを設ける場合、左右の視点から撮影されたステレオ画像を用いて奥行き画像を生成し対象物の実空間での位置を求めてもよい。
【００３７】
奥行き画像は、被写体の撮像面からの距離を、撮影画像における画素値として表した画像であり、ステレオ画像における対応点の視差に基づき、三角測量の原理により生成できる。これらの複数種類の処理を適宜組み合わせることにより、対象物の状態を高精度かつ効率よく特定できる。例えば奥行き画像や顔検出結果を用いて、画像平面のうち対象物が写る領域を特定し、当該領域についてのみ法線ベクトルを取得することにより、対象物の状態を詳細に求めてもよい。あるいは法線ベクトルの分布を奥行き画像と統合することにより、対象物表面の凹凸なども表した、より精密な奥行き画像を生成してもよい。
【００３８】
対象物認識部８０は、実施する処理内容やその時点で特定した対象物の状態などに応じて、撮像装置１２に要求するデータの種類、解像度、画像平面におけるどの領域のデータを要求するかを決定する。例えば、初期段階においては低解像度の偏光画像全体を要求し、それを用いて対象物の像の領域をおよそ特定したら、当該領域のみの偏光画像または中間パラメータなどを、高い解像度で要求する。要求する内容は通信部８６に随時通知され、通信部８６から撮像装置１２へ発行される。
【００３９】
出力データ生成部８２はＣＰＵ２３、ＧＰＵ２４、出力部３６などで実現し、対象物認識部８０が特定した対象物の状態に基づき所定の情報処理を実施して、表示画像や音声など出力すべきデータを生成する。上述したようにここで実施する情報処理の内容は特に限定されない。例えば撮影画像上に、対象物と接するように仮想オブジェクトを描画する場合、出力データ生成部８２はデータ記憶部８４から読み出した自然光の撮影画像上に、対象物認識部８０が特定した対象物の状態に対応するようにオブジェクトを描画する。出力データ生成部８２は、そのようにして生成した表示画像などの出力データを表示装置１６に送信する。
【００４０】
図５は、本実施の形態において対象物の状態を取得する処理の一例を模式的に示している。この例において撮影画像１５０には、対象物８を含む被写体が写っている。対象物認識部８０はまず、低解像度の全体画像を用いて対象物８の像の領域を抽出する（矢印ａ）。画像１５２は抽出結果を表し、対象物８の像の領域を白抜きとしている。対象物の領域抽出には上述のとおり、外観形状に基づく種々の検出処理を導入してもよいし、奥行き画像が表す対象物の位置情報に基づいてもよい。または、それまでの画像フレームで得られた対象物の状態変化などを利用してもよい。あるいはそれらを適宜組み合わせてもよい。
【００４１】
次に対象物認識部８０は、抽出した領域の高解像度の偏光画像１５４を解析したり、撮像装置１２から当該領域の中間パラメータを取得したりして、対象物の法線ベクトルを取得する（矢印ｂ、ｃ）。例えば対象物８をラケットとした場合、その法線ベクトル分布が画像１５６に矢印で示すように得られれば、その傾きに応じて適切な方向に跳ね返る仮想的なボールを撮影画像上に描画することができる。これにより、対象物８をコントローラとする卓球ゲームなどを実現できる。
【００４２】
上述のとおり複数の主軸角度の偏光子を備えた撮像素子を導入することにより、複数方向の偏光画像を取得できる。これらの偏光画像を用い、偏光方向に対する輝度の変化を画素ごとに求めることにより、当該画素が表す対象物表面の法線ベクトルを取得できる。偏光画像を利用して被写体の様々な情報を取得する技術は従来、研究が進められている。被写体表面の法線ベクトルを求める方法についても、例えば、Gary Atkinson and Edwin R. Hancock, "Recovery of Surface Orientation from Diffuse Polarization", IEEE Transactions on Image Processing, June 2006, 15(6), pp.1653-1664、特開２００９−５８５３３号公報などに開示されており、本実施の形態ではそれらを適宜採用してよい。以下、概要を説明する。
【００４３】
まず偏光子を介して観察される光の輝度は、偏光子の主軸角度θｐｏｌに対し次の式のように変化する。
【００４４】
【数１】
2018061124.tif 000003
【００４５】
ここでＩｍａｘ、Ｉｍｉｎはそれぞれ、観測される輝度の最大値、最小値であり、φは偏光位相である。上述のとおり４通りの主軸角度θｐｏｌに対し偏光画像を取得した場合、同じ位置にある画素の輝度Ｉは、各主軸角度θｐｏｌに対し式１を満たすことになる。したがって、それらの座標（Ｉ，θｐｏｌ）を通る曲線を、最小二乗法等を用いて余弦関数に近似することにより、Ｉｍａｘ、Ｉｍｉｎ、φを求めることができる。そのように求めたＩｍａｘ、Ｉｍｉｎを用いて、次の式により偏光度ρが求められる。
【００４６】
【数２】
2018061124.tif 000004
【００４７】
対象物表面の法線は、光の入射面（拡散反射の場合は出射面）の角度を表す方位角αと、当該面上での角度を表す天頂角θで表現できる。また二色性反射モデルによれば、反射光のスペクトルは、鏡面反射と拡散反射のスペクトルの線形和で表される。ここで鏡面反射は物体の表面で正反射する光であり、拡散反射は物体を構成する色素粒子により散乱された光である。上述の方位角αは、鏡面反射の場合は式１において最小輝度Ｉｍｉｎを与える主軸角度であり、拡散反射の場合は式１において最大輝度Ｉｍａｘを与える主軸角度である。
【００４８】
天頂角θは、鏡面反射の場合の偏光度ρｓ、拡散反射の場合の偏光度ρｄと、それぞれ次のような関係にある。
【００４９】
【数３】
2018061124.tif 000005
【００５０】
ここでｎは対象物の屈折率である。式２で得られる偏光度ρを式３のρｓ、ρｄのどちらかに代入することにより天頂角θが得られる。こうして得られた方位角α、天頂角θにより、法線ベクトル（ｐｘ，ｐｙ，ｐｚ）は次のように得られる。
【００５１】
【数４】
2018061124.tif 000006
【００５２】
このように偏光画像の各画素が表す輝度Ｉと偏光子の主軸角度θｐｏｌとの関係から、当該画素に写る対象物の法線ベクトルが求められ、像全体として法線ベクトル分布を得ることができる。ただし上述のとおり、観測された光には鏡面反射成分と拡散反射成分が含まれ、それぞれ振る舞いが異なるため、厳密には各成分の割合によって法線ベクトルも変化する。一方、一つの対象物に着目した場合、材質や色が限定的であることに鑑みれば、その連続した面では各成分の割合が不規則に変化することは考えにくい。
【００５３】
つまり一つの対象物の像の領域内部の分布として見た場合、法線ベクトルの空間的、時間的変化は、実際の対象物の変化を反映したものと考えられる。したがって本実施の形態では、鏡面反射モデルおよび拡散反射モデルのいずれか一方を採用し、画素ごとに得られる法線ベクトルを、着目する対象物の像全体で評価することにより、効率的に状態を特定する。なおゲームのコントローラなど対象物を限定できる態様においては、あらかじめその色や材質などを登録しておき、より適切なモデルを採用することにより、状態の特定精度を高めることができる。
【００５４】
図６は撮像装置１２の構成をより詳細に示している。輝度データ取得部７０は、図２で示した撮像素子の２次元配列などにより、複数方向の偏光成分の輝度分布を取得する。図２の撮像素子によれば、４方向の偏光成分の輝度が、各主軸角度の偏光子の配置に依存した位置で離散的に得られる。
【００５５】
画像データ生成部７２は、ＩＳＰ（Image Signal Processor）５０およびピラミッドフィルタ部５２を備える。ＩＳＰ５０は、各方向の偏光輝度データをそれぞれ補間することにより、４つの偏光画像を生成する。補間に用いるアルゴリズムは一般的なものでよい。補間処理を４方向に対し並列に行うことにより、４つの偏光画像の画素列を同時に出力できる。なおＩＳＰ５０は補間処理のほか、一般的な撮像装置でなされる各種補正処理も実施する。
【００５６】
ＩＳＰ５０が生成した４つの偏光画像は順次、画素値変換部７４に送出されるとともに、ピラミッドフィルタ部５２において多段階に縮小される。以後、ＩＳＰ５０が生成した偏光画像、あるいは当該画像と同じサイズ（解像度）の各種データの画像を「１／１画像」と呼び、１／Ｎに縮小された偏光画像、あるいは当該画像と同じサイズの各種データの画像を「１／Ｎ画像」と呼ぶ。ピラミッドフィルタ部５２は、必要とする解像度のレベルに応じた数の１／４縮小フィルタを備え、各方向の偏光画像を段階的に縮小して複数の解像度の偏光画像を生成する。同図では第１フィルタ５４ａ、第２フィルタ５４ｂ、第３フィルタ５４ｃの３階層のフィルタを示しているが、フィルタの数をそれに限る主旨ではない。
【００５７】
各フィルタは、相互に隣接する４個の画素をバイリニア補間して４画素の平均画素値を演算する処理を実行する。したがって、処理後の画像サイズは処理前の画像の１／４になる。  第１フィルタ５４ａの前段には、ＩＳＰ５０が生成した１／１画像の横一列の画素数であるＷ個分の画素値を保持するＦＩＦＯバッファ５６ａを設ける。ＦＩＦＯバッファ５６ａは、横一列分の画素の輝度データを、次の横一列分の画素の輝度データがＩＳＰ５０から出力されるまで保持する。
【００５８】
画素の保持時間は、撮像素子のラインスキャンの速度に応じて決まる。横二列分の画素の輝度データが入力されると、第１フィルタ５４ａは、横２×縦２の４画素分の輝度値を平均する。この処理を繰り返すことによって、１／１画像は縦横それぞれ１／２の長さとなり、全体として１／４のサイズに変換される。変換された１／４画像は、画素値変換部７４に送出されるとともに、次段の第２フィルタ５４ｂにも供給される。
【００５９】
第２フィルタ５４ｂの前段には、１／４画像の横一列の画素数であるＷ／２個分の画素値を保持するＦＩＦＯバッファ５６ｂを設ける。ＦＩＦＯバッファ５６ｂは、横一列分の画素の輝度データを、次の横一列分の画素の輝度データが第１フィルタ５４ａから出力されるまで保持する。横二列分の画素の輝度データが入力されると、第２フィルタ５４ｂは、横２×縦２の４画素分の輝度値を平均する。この処理を繰り返すことによって、１／４画像は縦横それぞれ１／２の長さとなり、全体として１／１６のサイズに変換される。変換された１／１６画像は、画素値変換部７４に送出されるとともに、次段の第３フィルタ５４ｃに供給される。
【００６０】
第３フィルタ５４ｃについても、前段にＷ／４個分の画素値を保持するＦＩＦＯバッファ５６ｃが配置される以外は、上記と同様の処理を行う。そして画素値変換部７４に、１／６４サイズの画像を出力する。このように、ピラミッドフィルタ部５２の各フィルタからは、１／４ずつ縮小された偏光画像のデータが画素値変換部７４に入力される。なおこのようなピラミッドフィルタは既存技術である。一方、本実施の形態におけるピラミッドフィルタ部５２は、４方向の偏光画像のデータをＩＳＰ５０から並列に取得したうえ、縮小処理も並列に実施する。
【００６１】
画素値変換部７４は、４方向の偏光画像から法線ベクトルを求めるまでに必要な所定のパラメータを画素ごとに算出し、当該パラメータを画素値とする画像を生成する。そして元の偏光画像と新たに生成した画像のうち、必要とされるデータを選択して画素列順に出力する。ここで元の偏光画像のデータは、画素値として複数方向に対応する数のチャンネルを有するように統合したものでよい。このような処理を実施する機構を、画像データ生成部７２が生成する複数の解像度ごとに独立に設けることにより、解像度とデータの種類との組み合わせを自由に設定できる。
【００６２】
画素値変換部７４は解像度ごとに選択したデータを、送出画像生成部７６に並列に供給する。画素値変換部７４が法線ベクトルに係る処理の一部を担うことで、情報処理装置１０における対象物認識処理の負荷を軽減でき、その後の情報処理を効率的に行える。また解像度ごとにパラメータを算出しておくことにより、情報処理装置１０が目的とする処理の内容や対象物の状態に応じて、送信するデータの種類と解像度との組み合わせを即座に切り替えることができる。
【００６３】
なお実際に送信するデータの種類やその解像度については、最終的には送出画像生成部７６において取捨選択されるため、画素値変換部７４が出力するデータは情報処理の内容に応じて固定としてもよい。あるいは情報処理装置１０からの要求に応じて随時切り替えてもよい。送出画像生成部７６は出力タイミング調整部５６およびクロッピング部６０を備える。出力タイミング調整部５６は、画素値変換部７４から並列に供給された複数解像度のデータが、適切な画素列単位および順序で接続されるようにタイミングを調整して出力する。
【００６４】
そのため出力タイミング調整部５６には、１／１、１／４、１／１６、１／６４サイズの、偏光画像または各種パラメータの画像の横一列分の画素値をそれぞれ保持するＦＩＦＯバッファ５８ａ、５８ｂ、５８ｃ、５８ｄを設ける。すなわちＦＩＦＯバッファ５８ａ、５８ｂ、５８ｃ、５８ｄはそれぞれ、Ｗ、Ｗ／２、Ｗ／４、Ｗ／８個分の画素値を保持するバッファである。
【００６５】
出力タイミング調整部５６は基本的に、１／１画像の横一列の画素のデータを出力する都度、１／４画像の横一列を２分割した画素列のデータ、１／１６画像の横一列を４分割した画素列のデータ、１／６４画像の横一列を８分割した画素列のデータを、この順で出力していく。本実施の形態において撮像装置１２が行う処理は、画像の左上を起点とし、左から右への処理を画像の下方向へ繰り返すラスタ順で行う。そして上述のとおり、撮像装置１２内部の各ブロックにおけるデータの入出力、および情報処理装置１０へのデータの送信は基本的に、そのような順序で画素値をつなげたストリーム形式とする。
【００６６】
出力タイミング調整部５６が出力するデータも、複数の解像度のデータが混在する一連の画素値のストリームである。したがって厳密には各解像度のデータをつなげた結果を２次元平面の画像として生成するものではない。しかしながら後に詳述するように、出力タイミング調整部５６が出力するストリームに対し、各解像度のデータの接続が一巡したときの画素数を画像の横一列分として定義すれば、以後の処理は、一般的にストリーム転送される画像に対するものと同様となる。
【００６７】
結果として出力タイミング調整部５６は、実質的には１／１、１／４、１／１６、１／６４画像のデータを合成した画像を生成していることになる。以後、この仮想的な画像を「合成画像」と呼ぶ。クロッピング部６０は、出力タイミング調整部５６から合成画像のストリームを取得し、当該ストリームに含まれるデータのうち情報処理装置１０から要求された部分の切り出しを行う。出力タイミング調整部５６が適切な画素列単位および順序で各種データを接続していくことにより、合成画像において各データが矩形領域を構成するようにできる。このようにすると、合成画像の領域指定によって、要求するデータの種類、解像度、および画像平面上の領域を同時に指定できる。
【００６８】
クロッピング部６０は出力タイミング調整部５６から供給される合成画像のデータストリームのうち、指定領域に対応する画素列を順次切り出したうえ、それらを接続して新たなデータストリームを再構築し出力する。通信部７８はパケット化部６２および制御部６４を備える。制御部６４は、情報処理装置１０からの要求信号に基づき、画素値変換部７４およびクロッピング部６０に、各種データのうちいずれを選択するかを指示する。制御部６４はさらに、情報処理装置１０から撮影の開始や終了を要求する信号、撮影条件を指定する信号などを受信し、輝度データ取得部７０、ＩＳＰ５０などに適宜その情報を通知してよい。
【００６９】
パケット化部６２はクロッピング部６０から入力されたデータストリームを、所定のプロトコルに応じたサイズで分割してパケット化し、内部のパケットバッファ（図示せず）に書き込む。例えばＵＳＢの場合、ストリームをエンドポイントのサイズごとにパケット化する。そして当該パケットバッファ内のパケットを順次、情報処理装置１０に転送する。
【００７０】
図７は撮像装置１２および情報処理装置１０におけるデータの形態の基本的な変遷を模式的に示している。ここでは例として、横方向に画素Ｗ個分、縦方向に画素Ｈ個分の幅を有する画像２００全体のデータを、撮像装置１２から情報処理装置１０に送信する場合を考える。上述のように本実施の形態ではデータの生成や出力を、画像平面のラスタ順に行い、最終的に送信するデータも、画像平面の横方向の画素列を順次つなげたストリームの形式とする。
【００７１】
同図においてストリーム２０２の横軸は時間経過を表しており、ストリーム２０２を構成する各矩形Ｌ１、Ｌ２、・・・、ＬＨはそれぞれ、画像２００の１列目、２列目、・・・、Ｈ列目の画素のデータを表す。１画素のデータサイズをｄバイトとすると各矩形のデータサイズはＷ×ｄバイトである。パケット化部６２は、ストリーム２０２を所定サイズごとにパケットにまとめ、パケットＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、・・・を生成する。これにより撮像装置１２から情報処理装置１０へ、パケットＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、・・・の順に送信される。情報処理装置１０の通信部８６は、パケットＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、・・・を受信すると、それぞれのデータをデータ記憶部８４に格納する。
【００７２】
このとき、本来の画像２００の横方向の画素数Ｗを横幅とするように、各パケットのデータをラスタ順に並べていき、Ｗ×ｄ×Ｈバイトの連続したアドレスにデータを展開することにより、画像２００を復元した画像２０４を生成する。同図において画像２０４を構成する矩形は各パケットのデータを示している。対象物認識部８０や出力データ生成部８２は、データ記憶部８４に展開された画像２０４を解析に用いたり、画像２０４上にオブジェクトを描画したりする。
【００７３】
次に出力タイミング調整部５６が解像度の異なる画像のデータを接続する手法について説明する。なお図８、９では、１／１、１／４、１／１６、の３サイズ（３解像度）の画像について示しているが、１／６４以下のサイズの画像を加えても原理は同様である。図８は、各解像度の偏光画像の画素値が、ピラミッドフィルタ部５２から画素値変換部７４へ入力されるタイミングを示すタイムチャートである。同図において時間ステップＳ１、Ｓ２、Ｓ３、Ｓ４、・・・はそれぞれ、１／１画像の１列目、２列目、３列目、４列目、・・・の画素値が入力される期間を表す。
【００７４】
なお画素値変換部７４は、ピラミッドフィルタ部５２から図示するタイミングで入力された画素順に所定のパラメータを算出して出力するため、画素値変換部７４から出力タイミング調整部５６へのデータ入力のタイミングも同様となる。まず、最も高い頻度で生成される１／１画像の横一列分の画素値が入力される期間を基準の時間ステップとする。そして、当該時間ステップを合成画像の横一列分の画素列と対応させる。すなわち、１／１画像の横一列分の画素値が入力される期間を基準周期として、合成画像の横一列分のデータを形成する。
【００７５】
図の上段、中段、下段はそれぞれ、１／１画像、１／４画像、１／１６画像の入力タイミングを示しており、１つの矩形が１画素分の入力に対応する。まず時間ステップＳ１において、１／１画像の１列目の画素列Ｌ（１／１）１の画素値が左の画素から順に入力される。この時間ステップでは、１／４画像、１／１６画像は生成されていないため入力されない。
【００７６】
次の時間ステップＳ２では、１／１画像の２列目の画素列Ｌ（１／１）２の画素値が左の画素から順に入力される。このときピラミッドフィルタ部５２では、１／１画像の１列目の画素列Ｌ（１／１）１および２列目の画素列Ｌ（１／１）２の画素値を用いて１／４画像の１列目の画素列Ｌ（１／４）１が生成されるため、時間ステップＳ２では当該画素列の画素値も入力される。
【００７７】
例えば１／４画像の１列目の画素列Ｌ（１／４）１の左端の期間２１０で入力される画素値は、１／１画像の１列目の画素列Ｌ（１／１）１のうち、期間２０６で入力される２つの画素の画素値、および２列目の画素列Ｌ（１／１）２のうち、期間２０８で入力される２つの画素の画素値を用いて生成される。このため時間ステップＳ２において、画素列Ｌ（１／４）１の画素値の入力タイミングは、画素列Ｌ（１／１）２の対応する画素の画素値の入力タイミングより少なくとも２画素分遅延する。
【００７８】
次の時間ステップＳ３では、１／１画像の３列目の画素列Ｌ（１／１）３の画素値が入力される。この時間ステップでは１／４画像、１／１６画像は生成されないため入力されない。次の時間ステップＳ４、すなわち１／１画像の４列目の画素列Ｌ（１／１）４の画素値が入力される期間では、時間ステップＳ２と同様、１／４画像の２列目の画素列Ｌ（１／４）２の画素値も入力される。
【００７９】
さらにピラミッドフィルタ部５２では、１／４画像の１列目の画素列Ｌ（１／４）１および２列目の画素列Ｌ（１／４）２の画素値を用いて１／１６画像の１列目の画素列Ｌ（１／１６）１が生成されるため、時間ステップＳ４では当該画素列の画素値も入力される。例えば１／１６画像の１列目の画素列Ｌ（１／１６）１のうち、最初の入力期間２１８で入力される画素値は、１／４画像の１列目の画素列Ｌ（１／４）１のうち、期間２１０および期間２１２で入力される２つの画素の画素値、および２列目の画素列Ｌ（１／４）２のうち、期間２１４および期間２１６で入力される２つの画素の画素値を用いて生成される。
【００８０】
このため時間ステップＳ４において、画素列Ｌ（１／１６）１の入力タイミングは、画素列Ｌ（１／４）２の対応する画素の画素値の入力タイミングより少なくとも２画素分遅延する。以後、同様に各画像の画素値入力を繰り返すことにより、１／１画像、１／４画像、１／１６画像の全画素値が画素値変換部７４、ひいては出力タイミング調整部５６へ入力される。出力タイミング調整部５６はこれらを適切なタイミングで循環して出力することにより、１つの合成画像を構成するデータストリームを形成する。
【００８１】
図９は、出力タイミング調整部５６が複数解像度の画像のデータを循環して出力することにより生成される合成画像を模式的に示している。なお同図では理解を容易にするため、図８で示した３つの解像度に対応する３種類のデータのみをつなげた様子を示しているが、１つの解像度に対し複数種類のデータを生成する場合、同じ解像度のデータを続けてつなげていく。この場合、図６で示したＦＩＦＯバッファ５８ａ〜５８ｄはそれぞれ、生成されるデータの種類ごとに備えられる。
【００８２】
図中、Ｓ１、Ｓ２、Ｓ３、・・・は図８と同様の時間ステップであり、それぞれの期間に、１／１画像の一列分の画素値が入力される。同図では各時間ステップに出力される画素列を、画像ごとに異なる網掛け矩形で示している。図８を参照して説明したように、時間ステップＳ１では１／１画像の１列目の画素列Ｌ（１／１）１の画素値のみが入力されるため、出力タイミング調整部５６はそれをそのまま出力する。元の偏光画像の横方向の画素数がＷであるとすると、１／１画像の一列分の画素数も図示するようにＷである。
【００８３】
次の時間ステップＳ２では、１／１画像の２列目の画素列Ｌ（１／１）２の画素値、および１／４画像の１列目の画素列Ｌ（１／４）１の画素値が図８に示すようなタイミングで並列に入力される。出力タイミング調整部５６はそのうち、１／４画像の１列目の画素列Ｌ（１／４）１の画素値をＦＩＦＯバッファ５８ｂに一時保存し、１／１画像の２列目の画素列Ｌ（１／１）２の画素値を連続して先に出力する。
【００８４】
１／１画像の２列目の画素列Ｌ（１／１）２の画素値が全て出力されたら、続けて、１／４画像の１列目の画素列Ｌ（１／４）１をＦＩＦＯバッファ５８ｂから読み出し、出力する。このとき次の時間ステップＳ３で出力する分を考慮し、１／４画像の１列目の画素列Ｌ（１／４）１の全画素のうち前半部分（画像平面における左半分）の画素値のみ出力し、残りはＦＩＦＯバッファ５８ｂに引き続き保存しておく。
【００８５】
次の時間ステップＳ３では、１／１画像の３列目の画素列Ｌ（１／１）３の画素値のみが入力される。出力タイミング調整部５６は、当該画素列の画素値をそのまま出力し、続けて、１／４画像の１列目の画素列Ｌ（１／４）１のうち未出力であった後半部分（画像平面における右半分）の画素値をＦＩＦＯバッファ５８ｂから読み出し、出力する。なお時間ステップＳ２で１／４画像の前半分の画素値を出力している期間に、１／１画像の３列目の画素列Ｌ（１／１）３が入力されたら、当該画素列の画素値はＦＩＦＯバッファ５８ａに格納することにより出力タイミングを調整する。以後の時間ステップでも同様である。
【００８６】
次の時間ステップＳ４では、１／１画像の４列目の画素列Ｌ（１／１）４の画素値および１／４画像の２列目の画素列Ｌ（１／４）２、１／１６画像の１列目の画素列Ｌ（１／１６）１の画素値が図８に示すようなタイミングで並列に入力される。出力タイミング調整部５６はそのうち、１／４画像の２列目の画素列Ｌ（１／４）２および１／１６画像の１列目の画素列Ｌ（１／１６）１の画素値をそれぞれＦＩＦＯバッファ５８ｂ、５８ｃに一時保存し、１／１画像の４列目の画素列Ｌ（１／１）４の画素値を連続して先に出力する。
【００８７】
１／１画像の４列目の画素列Ｌ（１／１）４の画素値が全て出力されたら、続けて、１／４画像の２列目の画素列Ｌ（１／４）２の前半部分をＦＩＦＯバッファ５８ｂから読み出し、出力する。次に１／１６画像の１列目の画素列Ｌ（１／１６）１を出力する。このとき次以降の３つの時間ステップＳ５、Ｓ６、Ｓ７で出力する分を考慮し、１／１６画像の１列目の画素列Ｌ（１／１６）１を４分の１分割し、その最初の部分の画素値のみ出力する。残りはＦＩＦＯバッファ５８ｃに保存しておく。
【００８８】
次の時間ステップＳ５では、１／１画像の５列目の画素列Ｌ（１／１）５の画素値のみが入力される。出力タイミング調整部５６は、当該画素列の画素値をそのまま出力し、続けて、１／４画像の２列目の画素列Ｌ（１／４）２のうち未出力であった後半部分の画素値をＦＩＦＯバッファ５８ｂから読み出し、出力する。さらに１／１６画像の１列目の画素列Ｌ（１／１６）１の未出力のデータのうち４分の１分割した２番目の部分の画素値を出力する。
【００８９】
同様に、次の時間ステップＳ６では、１／１画像の６列目の画素列Ｌ（１／１）６の画素値、１／４画像の３列目の画素列Ｌ（１／４）３の前半部分の画素値、１／１６画像の１列目の画素列Ｌ（１／１６）１の未出力のデータのうち４分の１分割した３番目の部分の画素値を出力する。次の時間ステップＳ７では、１／１画像の７列目の画素列Ｌ（１／１）７の画素値、１／４画像の３列目の画素列Ｌ（１／４）３の後半部分の画素値、１／１６画像の１列目の画素列Ｌ（１／１６）１のうち４分の１分割した最後の部分の画素値を出力する。
【００９０】
すなわち１／４画像の１列目の画素列Ｌ（１／４）１は、時間ステップＳ２およびＳ３の２つの時間ステップに半分ずつ出力される。また１／１６画像の１列目の画素列Ｌ（１／１６）１は、時間ステップＳ４、Ｓ５、Ｓ６、Ｓ７の４つの時間ステップに４分の１ずつ出力される。１／１画像の横方向の画素数がＷであるとすると、１／４画像および１／１６画像の横一列分の画素数はそれぞれＷ／２、Ｗ／４であるため、同図に示すように、時間ステップあたり（Ｗ／２）／２個、（Ｗ／４）／４個の画素のデータがそれぞれ出力される。
【００９１】
以上の出力処理を画像の最下段の列まで繰り返す。このとき１／１画像の最下段の画素列のデータを出力した時点では、１／４画像の最下段の画素列の後半部分のデータ、および１／１６画像の最下段の残り４分の３の画素のデータが未出力となる。そこで直後の時間ステップＳ（Ｈ＋１）では、１／４画像の最下段の画素列の後半部分のデータ、および１／１６画像の最下段の画素列を４分の１分割した２番目の部分のデータを出力する。
【００９２】
このとき、それまで１／１画像のデータを出力していたＷ画素分のデータとして、まず無効データを出力し、続けて１／４画像、１／１６画像のデータを出力する。続く２つの時間ステップＳ（Ｈ＋２）、Ｓ（Ｈ＋３）では、それまで１／１画像および１／４画像のデータを出力していたＷ＋（Ｗ／２）／２画素分のデータとして、まず無効データを出力し、続けて１／１６画像の最下段の画素列を４分の１分割した３番目の部分、４番目の部分のデータをそれぞれ出力する。なお同図は説明のために画素１列の幅を実際より広く示しているため、濃い網掛けで示した無効データの割合が比較的大きいが、実際には合成画像２２０の全面積の１％以下となる。
【００９３】
このような規則で出力すると、はじめの３つの時間ステップと終わりの３つの時間ステップを除いた各時間ステップにおいて、Ｗ＋（Ｗ／２）／２＋（Ｗ／４）／４＝２１Ｗ／１６個の画素のデータが出力されることになる。また１列分の画素値を出力するのに、１／１画像は１時間ステップ、１／４画像は２時間ステップ、１／１６画像は４時間ステップを要するため、１フレーム分の画像データを出力するのに要する時間ステップ数は、Ｈ＝（Ｈ／２）×２＝（Ｈ／４）×４と、画像サイズによらず等しくなる。結果として、３種の画像の１フレーム分のデータを出力するのに要する総時間ステップ数はＨ＋３となる。
【００９４】
上述のように出力タイミング調整部５６が出力するデータは画素値の羅列であるが、各時間ステップに対応する画素の個数、すなわち２１Ｗ／１６を横一列分の画素の個数として与えておくことにより、その後の処理は一般的な画像フレームと同様、各時間ステップにおいて出力されるデータを画像の一列分のデータとして扱うことができる。
【００９５】
そのようにしてなる合成画像２２０を図９に示すような２次元平面で捉えると、その横方向の画素列からなる各行は、１／１画像の出力期間を基準として定義した時間ステップに対応することになる。また各時間ステップで出力する画素列において、各画像のデータが占める範囲を固定することにより、合成画像２２０の２次元平面においては、図示するように各画像のデータがそれぞれまとまった矩形領域を構成する。その局所性を利用すれば、種類ごとのデータの切り出しを容易に行える。
【００９６】
クロッピング部６０は、情報処理装置１０が要求する画像データを合成画像２２０から切り出す。クロッピング部６０が行う処理は、画像内の指定された矩形領域を切り出して余分な領域を除外する一般的なクロッピング処理と同様である。本実施の形態では処理対象が画像平面ではなくデータストリームであるが、合成画像の横一列分の画素数の情報を与えておけば、画像平面の二次元座標をストリームにおける一次元座標と対応づけることは容易であり、切り取る画素の特定は同様に行える。
【００９７】
図１０は情報処理装置１０からの要求に応じたデータの状態変化を模式的に示している。同図上段は出力タイミング調整部５６からクロッピング部６０に画素列順に供給される合成画像２２２であり、図９の合成画像２２０に対応する。なお上述の接続規則によれば、１／１画像のデータのみ、合成画像２２２においても画素の２次元配列が保たれるため、元の画像と同様の画像が表れる。情報処理装置１０は、このような合成画像２２２における領域を指定することによりデータを要求する。
【００９８】
図１０の例では、縦方向（Ｙ軸方向）にＹ０≦Ｙ＜Ｙ１の範囲、横方向（Ｘ軸方向）にＸ０≦Ｘ＜Ｘ１、Ｘ２≦Ｘ＜Ｘ３、Ｘ３≦Ｘ＜Ｘ４の範囲である３つの領域を指定している。なお図示する例ではＸ０≦Ｘ＜Ｘ１の領域は１／１画像の対象物周辺の領域、Ｘ２≦Ｘ＜Ｘ３およびＸ３≦Ｘ＜Ｘ４の領域はそれぞれ１／４画像、１／１６画像の全体の領域に対応する。
【００９９】
クロッピング部６０は、出力タイミング調整部５６から横方向の画素列順に入力された合成画像２２２から指定された領域を切り取る。具体的にはＹ０の行の画素列から、Ｘ０≦Ｘ＜Ｘ１、Ｘ２≦Ｘ＜Ｘ３、Ｘ３≦Ｘ＜Ｘ４の範囲の画素列のみを切り出し、パケット化部６２に順次供給する。次いでＹ０＋１の画素列、Ｙ０＋２の画素列、・・・と、同じ範囲の画素列を同様に切り出し、パケット化部６２に供給していく。パケット化部６２は供給された画素列をつなげたデータストリームを順次、所定サイズに分割してパケット化したうえ情報処理装置１０に送信する。
【０１００】
結果として撮像装置１２は、切り出された領域のデータのみからなる新たな合成画像２４０のデータストリームを情報処理装置１０へ送信していることになる。情報処理装置１０の通信部８６は、受信したデータストリームをデータごとに切り分け、画像平面を再構築するようにデータ記憶部８４の連続したアドレスに展開する。その結果、図示する例では、１／１画像のうち対象物周辺の領域２４２、１／４画像の全体領域２４６、１／１６画像の全体領域２４８のデータが、それぞれデータ記憶部８４に格納される。
【０１０１】
このように情報処理装置１０は、要求するデータの種類、解像度、および画像平面のどの領域のデータかを、合成画像内の領域により同時に指定できる。そしてクロッピング部６０は、指定された領域のみを切り出して新たなストリームを生成することにより、必要最低限のデータのみを送信対象にできる。ここで図示するように、指定する複数の領域の縦方向の範囲を共通とすることで、ビットレートが安定化し、データ送信に要する時間の見積もりが容易になる。
【０１０２】
図１１は画素値変換部７４のより詳細な構成を例示している。この例における画素値変換部７４は、４方向の偏光画像の輝度を取得して演算を行い中間パラメータを生成する演算部２５０と、元の偏光画像の輝度および演算された中間パラメータのデータから必要なデータを選択するとともに最終的な送信形式に変換する送信データ形成部２５２を含む。図６に示すように画素値変換部７４は、ピラミッドフィルタ部５２の４つの解像度の出力に対し、図示するような機構を並列に設けた構成とする。
【０１０３】
同図において「Ｉ０」、「Ｉ４５」、「Ｉ９０」、「Ｉ１３５」なる表記は、偏光子の主軸角度θｐｏｌがそれぞれ０°、４５°、９０°、１３５°のときの輝度のデータを示している。演算部２５０は３種類の演算器からなり、それぞれ次の演算を行う。
【０１０４】
【数５】
2018061124.tif 000007
【０１０５】
ここでａ、ｂ、ｃは、主軸角度θｐｏｌが０°、４５°、９０°、１３５°のときに、それらの輝度Ｉから式１の関数を近似する際に必要となる中間パラメータであり、式１を下式の形式に変換したときの係数を与える。
【０１０６】
【数６】
2018061124.tif 000008
【０１０７】
式１と式６の関係を利用すると、式３で表される偏光度ρおよび式１の偏光位相φは、次のように求められる。
【０１０８】
【数７】
2018061124.tif 000009
【０１０９】
送信データ形成部２５２は、ピラミッドフィルタ部５２から出力される各主軸角度の輝度データと、式５による演算結果であるパラメータａ、ｂ、ｃの値とを入力値とし、そのうち必要なデータを選択したうえ所定の形式に変換して出力する。例えば情報処理装置１０が偏光画像の輝度データを要求する場合、送信データ形成部２５２は４通りの主軸角度に対する輝度Ｉ０、Ｉ４５、Ｉ９０、Ｉ１３５の値を４チャンネルの画素値として出力する。
【０１１０】
パラメータａ、ｂ、ｃが要求された場合は、当該パラメータの値を３チャンネルの画素値として出力する。このような処理を、ピラミッドフィルタ部５２から出力される画素順に繰り返すことにより、要求されたデータを出力タイミング調整部５６へ即座に入力することができる。また同様の構成をピラミッドフィルタ部５２が出力する各解像度に対し設けることにより、ある解像度では偏光画像の輝度データを、別の解像度ではパラメータａ、ｂ、ｃを送信対象とするなど、解像度とデータの種類を自由に組み合わせることができる。
【０１１１】
そして上述したようにそれらのデータを接続した合成画像から、さらに要求された領域のみをクロッピングして送信することにより、必要最低限のデータを低いレイテンシで送信できる。なお送信データ形成部２５２は後述するように、入力されたデータを用いてさらに必要な演算を実施したり量子化を行いデータ量を削減したりしてもよい。
【０１１２】
画素値変換部７４は、被写体表面の法線など、情報処理装置１０において対象物の認識に用いるデータの取得処理の一部を担うものである。好適には、画素単位での演算が可能なパラメータを算出するようにすれば、撮像装置１２全体での画素列順の処理の流れを停滞させることがない。その限りにおいて画素値変換部７４が算出するパラメータの種類は特に限定されない。図１２は画素値変換部７４の構成の別の例を示している。この画素値変換部７４は、図１１で示した例より先の段階まで演算を実施するように構成されている。具体的には演算部２５４は、式５で示したパラメータａ、ｂ、ｃを算出するとともに、式７の偏光度ρ、偏光位相φを求める過程で得られる、１／ｃ、ａ／ｃ、ｂ／ｃ、（ａ２＋ｂ２）１／２、（ａ２＋ｂ２）１／２／ｃ、１／ｂ、ａ／ｂをさらに算出する。
【０１１３】
これらの演算器をあらかじめ撮像装置１２に設け、偏光画像の輝度を出力するのと同様の機構により出力できるようにしておくことにより、情報処理装置１０における処理内容やそのときの状況に応じた最適なデータを供給できる。なお各演算器の接続関係は図示するものに限らない。また図示する全ての演算器を備えなくてもよい。さらに、各演算器からの出力データの全てを送信データ形成部２５６に入力しなくてもよい。
【０１１４】
図１３は、図１２で示した画素値変換部７４における送信データ形成部２５６の詳細な構成を例示している。この例では、偏光画像の色調を変換する色調変換回路２６０、２６２、法線の信頼度を判定する信頼度判定回路２６４、天頂角θを求める天頂角取得回路２６６、および方位角αを求める方位角取得回路２６８を備える。色調変換回路２６０、２６２はそれぞれ、対数関数およびシグモイド関数に輝度値を代入して変換することにより、偏光画像のコントラストを強調するなどの色調変換を行う。
【０１１５】
信頼度判定回路２６４は、該当画素の偏光輝度から法線ベクトルを求めた場合の信頼度を表す数値を生成する。一般的に、被写体の正面方向にカメラの視点が近づくほど、すなわち被写体の法線とカメラの光軸とのなす角が小さいほど、偏光輝度の方位依存性が小さくなり、算出する法線ベクトルがノイズの影響を受けやすくなる。信頼度判定回路２６４は、演算部２５４から出力された（ａ２＋ｂ２）１／２の値に基づき、撮像装置１２あるいは情報処理装置１０で別途算出される法線の信頼性を評価し、信頼度を表す数値を出力する。
【０１１６】
式５によれば、パラメータａおよびｂは、主軸角度が９０°の差を有するときの輝度の差に比例する値であり、（ａ２＋ｂ２）１／２が小さいほど偏光輝度の方位依存性が小さいといえる。したがって信頼度判定回路２６４は、（ａ２＋ｂ２）１／２が増加するほど高い値となるような所定の規則により信頼度を算出する。ただし信頼度は連続値でなくてもよく、複数段階で表してもよいし、（ａ２＋ｂ２）１／２が所定のしきい値を超えたか否かにより信頼度の有無を１／０の２値で表してもよい。
【０１１７】
図では信頼度判定回路２６４が、算出した信頼度の値を、後述する量子化部２７４に出力しているが、信頼度を表す画像の画素値として別途、出力してもよい。天頂角取得回路２６６は、偏光度ρの近似値である（ａ２＋ｂ２）１／２／ｃに基づき天頂角θを取得する。偏光度ρと天頂角θの関係は、鏡面反射モデル／拡散反射モデルによって式３により表される。天頂角取得回路２６６は採用するモデルによって式３の関係を表す変換テーブルを内部のメモリに保持し、演算部２５４から取得した（ａ２＋ｂ２）１／２／ｃをインデックスとして天頂角θを取得し出力する。
【０１１８】
上述のとおり画素値変換部７４は、ピラミッドフィルタ部５２がデータを生成する４つの解像度のそれぞれに対し同様の構成で設けられるが、天頂角θを取得する変換テーブルは当該解像度によって異ならせてもよい。これは次の理由による。すなわち、画像のデータは縮小するほど、つまり解像度が小さいほど、ノイズ成分に対する真のデータの割合、すなわちＳＮ比が高くなる。このＳＮ比の変化は、算出される法線の方向に影響を与え得る。具体的にはＳＮ比が低いと天頂角θが本来の値より大きくなるといった誤差を含みやすい。この知見に基づき、好適には、解像度が高いほど大きい補正を与えて、より正確な天頂角θが得られるように変換テーブルを異ならせる。なお同様の理由により、信頼度判定回路２６４における信頼度の算出規則も、解像度によって異ならせてよい。
【０１１９】
方位角取得回路２６８は、演算部２５４から取得したａ／ｂの逆正接ａｒｃｔａｎ（ａ／ｂ）を計算して偏光位相φを求め、採用するモデルに応じて方位角αを出力する。そのような演算結果は一旦、バッファ２７０やバッファ２７２に格納し、適宜マージしたりタイミングを調整したりして送出画像生成部７６に出力する。ただしこの例では、天頂角θと方位角αを量子化部２７４に入力し、量子化することによりデータ量を削減する。この際、量子化部２７４は、信頼度判定回路２６４が算出した信頼度を示す数値をさらに取得し、量子化後のデータとともに送出されるようにする。
【０１２０】
図１４は、量子化部２７４によるベクトル量子化の例を説明するための図である。（ａ）は天頂角θを動径、方位角αを偏角とする極座標において、当該２変数を要素とするベクトルの量子化単位を例示している。一般に法線の方向は位相角αが０≦α＜３６０°、天頂角θが０≦θ≦９０°の範囲で定義する。しかしながら式１からわかるように、偏光輝度の方位に対する変化は１８０°周期のため、０≦α＜１８０°と１８０≦α＜３６０°では同じ振る舞いを示し、偏光輝度の変化のみからどちらの範囲かを区別するのは困難である。
【０１２１】
ただし特定の対象物の表面における法線の位置的な変化や時間的な変化を相対的に観測する場合は特に、位相角αが急に１８０°変化することは考えにくい。また対象物の表面形状がおよそ判明していれば、一部の領域でそのような不定性による誤差が生じても全体としての面の向きは特定できる。したがって本実施の形態では、方位角αを０≦α＜１８０°の範囲で求め、同図の極座標においてグレーで示される領域は対象外とする。ただし別の手段で１８０°の差を区別する場合は、当該領域についても量子化単位を設定してよい。
【０１２２】
また、算出された法線の信頼度はその角度に依存するため、角度の範囲によって量子化単位の粒度を異ならせることにより、圧縮効率の向上と量子化誤差の軽減を両立させる。具体的には、天頂角θが４５°の近傍では、算出される法線の信頼度が高いため、量子化単位を細かくする。また上述のとおり天頂角θが０°の近傍、すなわちカメラの光軸とのなす角度が小さい法線は信頼度が低いため量子化単位を粗くする。同図ではそのような量子化単位の粒度の大小が、極座標における区分けされた領域の面積の差によって表されている。
【０１２３】
量子化部２７４は、このような一種のコードブックにより、入力された（θ，α）からインデックスを一意に決定する。同図（ｂ）は、量子化単位を直交軸の２次元配列で表しており、各マス目がインデックスを付与する量子化単位に対応する。同図の例では、天頂角θ、方位角αの定義範囲をそれぞれ１６分割することにより、１６×１６＝２５６個の量子化単位を設けている。天頂角θ、方位角αをそれぞれ８ｂｉｔのデータとし、インデックスも８ｂｉｔで定義すれば、量子化によるデータ圧縮率は５０％となる。
【０１２４】
例えばインデックスを（ｐｘ，ｐｙ，ｐｚ，信頼度）なる構成とし、各パラメータに対し２ビットずつを割り当てる。ここで（ｐｘ，ｐｙ，ｐｚ）は、量子化単位ごとの代表ベクトル（θｒ，αｒ）を、式４により直交座標系のベクトルに変換したものである。「信頼度」は信頼度判定回路２６４から与えられた、信頼度を示す値である。なお信頼度を１ビットで表す場合、残りの１ビットを利用してさらに何らかの情報を埋め込んでもよい。
【０１２５】
例えば情報処理装置１０から指定された、あるいはあらかじめ設定しておいた角度の範囲に、当該法線が入っているか否かを表すタグを含めてもよい。このような構成のインデックスを画素ごとに与えた画像のデータをストリームとして送信することにより、情報処理装置１０では、法線ベクトルの情報とともに、その信頼度や、対象物が着目すべき範囲内の傾きとなっているか否か、といった情報も得ることができる。
【０１２６】
これにより、信頼度がしきい値を超える法線ベクトルのみを利用して対象物の状態を正確に認識したり、奥行き画像などその他の手段で得た状態情報を考慮する度合いを信頼度によって変化させたりすることができる。また、所定範囲の傾きとなっている対象物のみを処理対象とすることもできる。図１３に示した送信データ形成部２５６では、量子化部２７４からの出力データ以外に、偏光画像の輝度データを含めその前段で得られる各種パラメータを出力できる経路を設けている。送信データ形成部２５６はそのうち、情報処理装置１０からの要求、あるいは内部での設定に従い、必要なデータを出力すればよい。
【０１２７】
例えば、所定解像度の法線ベクトルの情報のみを必要とする場合、量子化部２７４が出力する、画素当たり８ビットのインデックスを出力するのみでもよい。より詳細な情報を必要とする場合は、天頂角θと位相角αの値自体を出力してもよい。上述したとおり画素値変換部７４には、各解像度に対し同様の演算回路を並列に設けるため、解像度によって、あるいはその時々の状況によって、情報処理装置１０が必要とするデータのみを即時に出力できる。
【０１２８】
なお法線ベクトルの情報のみを得たい場合、多くのケースでは天頂角θ、方位角αや、それを量子化したインデックスを送信すれば十分であるが、中間パラメータも送信できるようにすることで、計算の信頼性を担保したりデバッグに用いたりすることもできる。また量子化部２７４が量子化する対象は天頂角θ、方位角αに限らず、その前の段階で算出されるパラメータのいずれでもよい。例えば演算部２５４が算出するａ／ｃおよびｂ／ｃを同様に量子化して送信し、情報処理装置１０において（ａ２＋ｂ２）１／２／ｃおよびａ／ｂを計算して天頂角θと方位角αを求めてもよい。
【０１２９】
次に、以上述べた構成によって実現される情報処理システムの動作について説明する。図１５は、本実施の形態における撮像装置１２と情報処理装置１０が、協働して偏光画像を解析し表示画像を出力する処理手順を示すフローチャートである。図１５のフローチャートは、ユーザが撮像装置１２を起動させた状態で情報処理装置１０に処理開始の指示を入力することによって開始される。なお理解を容易にするため同フローチャートの各ステップは直列に接続した矩形で表されているが、実際には各フレームの画素列単位でこれらのステップが並列に実行されるものとする。
【０１３０】
まず情報処理装置１０は、表示装置１６に初期画像などを表示させたうえ、アプリケーションプログラムなどに設定されている、初期に必要なデータの送信を撮像装置１２に要求する（Ｓ１２）。この要求は、必要なデータの種類、解像度、画像平面における領域、の組み合わせによって構成されるが、送出画像生成部７６で生成される仮想的な合成画像における領域を指定することにより表すことができる。あるいは、合成画像が生成される前の段階、すなわち画素値変換部７４に対しデータの種類と解像度の組み合わせを指定してもよい。
【０１３１】
なお撮像装置１２として自然光の画像を撮影する機構を設ける場合、情報処理装置１０は初期画像として当該撮影画像を要求し、表示装置１６に表示させてもよい。撮像装置１２の通信部７８は、情報処理装置１０からの要求を受け付け、画素値変換部７４および送出画像生成部７６に適宜通知する。一方、撮像装置１２の画像データ生成部７２は、輝度データ取得部７０により取得された輝度データを補間したうえ、段階的に縮小することで異なる解像度を有する撮影画像の階層データを生成する（Ｓ１４）。
【０１３２】
上述では主に、４つの主軸角度の偏光子を用いた偏光画像について説明したが、自然光の撮影画像についても同様に階層データを生成してよい。ステレオカメラを設ける場合は、左右の視点から撮影されたステレオ画像のそれぞれについて階層データを生成してよい。次に撮像装置１２の画素値変換部７４は、複数方向の偏光成分の画像を用いて所定の演算や変換を行うことで、算出されたパラメータを画素値とする新たな画像を解像度別に生成し、そのうちの少なくともいずれかを出力する（Ｓ１６）。
【０１３３】
次に撮像装置１２の送出画像生成部７６は、解像度ごとに画素列順に出力される変換後のデータを、図９で説明したような規則で循環して接続していくことにより、仮想的な合成画像を生成し（Ｓ１８）、Ｓ１２で要求された領域を切り出しながら出力する（Ｓ２０）。なお当該合成画像には、自然光の撮影画像やステレオ画像が含まれていてよい。通信部７８は、合成画像から切り出され画素列順に出力されたデータストリームを、所定サイズごとにパケット化したうえ情報処理装置１０へ送信する（Ｓ２２）。
【０１３４】
情報処理装置１０の通信部８６は、送信されたデータストリームを、データごとに切り分けてデータ記憶部８４に格納する（Ｓ２４）。このとき図１０に示したように、各データの解像度に応じて画像平面を再構築することにより、その後の処理で画像データとして扱うことができる。対象物認識部８０は当該データを用いて対象物の位置、姿勢、形状などの状態を特定する（Ｓ２６）。このとき、ステレオマッチング、トラッキング、顔検出、ジェスチャ検出など、法線以外の手段で画像解析を行ってもよい。
【０１３５】
出力データ生成部８２は特定結果を用いてゲームを進捗させたり動きに応じた処理を実施したりして表示画像を生成し表示装置１６に出力する（Ｓ２８）。対象物の状態認識の結果によって、撮像装置１２へ要求するデータ、すなわち必要なデータの種類、解像度、画像平面における領域、の組み合わせを変更する必要がある場合（Ｓ３０のＹ）、対象物認識部８０は通信部８６を介して撮像装置１２に変更後のデータを要求する（Ｓ１２）。この場合、撮像装置１２の画素値変換部７４やクロッピング部６０は、新たな画像フレームを処理するタイミングで、出力するデータや切り出す領域を変更し、Ｓ１４〜Ｓ２２の処理を実施する。
【０１３６】
要求するデータを変更する必要がなく、処理を終了させる必要もなければ（Ｓ３０のＮ、Ｓ３２のＮ）、撮像装置１２は後続の画像フレームについてＳ１４〜Ｓ２２の処理を同様に繰り返すことによりデータストリームを送出し続ける。どちらの場合も情報処理装置１０はＳ２４〜Ｓ２８の処理を繰り返す。これにより、撮像装置１２が撮影した画像を利用してなされた情報処理の結果が表示装置１６に動画像として表示される。ユーザから処理を終了させる入力がなされた際などに、全ての処理を終了する（Ｓ３２のＹ）。
【０１３７】
図１６は、図４および図６で示した撮像装置１２の構成の変形例を示している。撮像装置１２は、輝度データ取得部７０、画像データ生成部７２、領域抽出部２８０、画素値変換部７４、および通信部７８を含む。このうち輝度データ取得部７０、画像データ生成部７２、画素値変換部７４、および通信部７８は、図６で示した対応するブロックと同様の機能を有するため同じ符号を付している。領域抽出部２８０も基本的には図６で示した送出画像生成部７６と同様の機能を有する。ただしこの例では、画像データ生成部７２が生成した各解像度の４方向の偏光画像のデータを、先に領域抽出部２８０に入力する。
【０１３８】
そして領域抽出部２８０において必要な領域が切り出されたあと、画素値変換部７４が当該領域について必要なデータを生成する。すなわち図６の送出画像生成部７６が、元の偏光画像を用いて取得された各種パラメータの画像も処理対象とするのに対し、図１６の領域抽出部２８０は、偏光画像をそのまま処理対象とする。ここで領域抽出部２８０は、複数解像度の画像を上述したように循環して接続することで合成画像を生成する出力タイミング調整部５６と、情報処理装置１０が要求する領域を合成画像から切り出すクロッピング部６０の組を、偏光の方向ごとに設けた構成を有する。
【０１３９】
結果として、各解像度の偏光画像のうち要求された領域のみが所定の規則で接続されてなる合成画像のデータストリームが、４方向の偏光成分のそれぞれに対し生成され、画素値変換部７４に並列に入力される。画素値変換部７４は図６と同様、４方向の偏光成分の輝度を用いて各種パラメータを算出し、情報処理装置１０から要求されたデータを出力する。ただしこの場合、前もって切り出された画像上の一部の領域に処理対象が限定されるため、図６の場合と比較して、画素値変換部７４における演算量や撮像装置１２内部でのデータ伝送量を削減できる。
【０１４０】
画素値変換部７４から通信部７８に出力されるデータストリームは、図６において送出画像生成部７６から通信部７８に出力されるものと同等である。従って通信部７８のパケット化部６２は上述したように、当該データストリームを順次パケット化して情報処理装置１０に転送する。制御部６４は情報処理装置１０からの要求に従い、領域抽出部２８０のクロッピング部６０には複数解像度の偏光画像から切り出すべき領域を通知し、画素値変換部７４には領域ごとに出力すべきデータの種類を通知する。
【０１４１】
実際には、制御部６４は、領域抽出部２８０および画素値変換部７４が共通して参照可能なレジスタ（図示せず）に、切り出すべき領域と、当該領域について出力すべきデータの種類とを対応づけた情報を格納する。図１７はレジスタに格納するデータの構造例と、それに応じてクロッピング部６０が実施する処理の様子を模式的に示している。まずレジスタには、各解像度に対し（切り出し始点、切り出し長、パラメータタイプ）のデータセットを格納する領域を設ける。
【０１４２】
図示する例では、１／１画像に対し、「０」から「３」の識別番号を有する４つのデータセットを格納するレジスタ領域２８２ａ、１／４画像、１／１６画像、１／６４画像のそれぞれに対し「０」、「１」の識別番号を有する２つのデータセットを格納するレジスタ領域２８２ｂ、２８２ｃ、２８２ｄを設けている。ただしデータセットの格納数はこれに限らない。同図においてＸ０、Ｘ１、・・・などで表される「切り出し始点」は、画像平面の横方向の軸において、クロッピング部６０が切り出すべき領域の左端の位置座標である。なお切り出し始点は、図１０で示した「Ｘ０」、「Ｘ２」などに対応する。
【０１４３】
同図においてＬ０、Ｌ１、・・・などで表される「切り出し長」は、対応する切り出し始点Ｘ０、Ｘ１、・・・からの切り出すべき幅である。上述したようにクロッピング部６０は、実際には出力タイミング調整部５６から入力されたデータストリームに対し切り出しを行うため、切り出し始点および切り出し長は、データストリームにおいて周期的に表れる、切り出すべき画素列の開始位置および長さを表していることになる。切り出し始点および切り出し長は、全ての偏光方向のクロッピング部６０により共通に読み出される。
【０１４４】
同図においてＴ０、Ｔ１、・・・などで表される「パラメータタイプ」は、画素値変換部７４により読み出され、対応する領域の偏光輝度を用いて生成、出力すべきパラメータの種類やデータ長を表す。パラメータタイプのデータ構造例については後述する。クロッピング部６０は、切り出し始点および切り出し長の設定に応じて、出力タイミング調整部５６から入力されたストリームから図１０で説明したのと同様にデータの切り出しを行い出力していく。
【０１４５】
同図の例ではまず、１／１サイズの偏光画像２８４ａに対し、レジスタ領域２８２ａにおいて識別番号「０」のデータセットとして設定された、切り出し始点「Ｘ１」、切り出し長「Ｌ１」の領域を切り出す。続いて、レジスタ領域２８２ａにおいて識別番号「１」のデータセットとして設定された切り出し始点「Ｘ２」、切り出し長「Ｌ２」の領域、識別番号「２」のデータセットとして設定された切り出し始点「Ｘ３」、切り出し長「Ｌ３」の領域、識別番号「３」のデータセットとして設定された切り出し始点「Ｘ０」、切り出し長「Ｌ０」の領域を、１／１サイズの偏光画像２８４ａから切り出す。
【０１４６】
ここで、識別番号「２」および「３」のデータセットにおける設定のように、切り出す領域は元の偏光画像における同じ領域を含んでよい。このようにすることで、後段の画素値変換部７４によって、同じ領域に対し複数種類のデータを生成、出力できる。またデータセットの識別番号は、各領域を識別するとともに、クロッピング部６０からの出力順を指定する役割も有する。同図において、偏光画像２８４ａの左端に位置する切り出し始点「Ｘ０」の領域の画素列は、出力タイミング調整部５６からは他の領域の同行の画素列より早く入力されるが、識別番号「３」を与えることにより、クロッピング部６０からの出力順が逆転している。
【０１４７】
このようにデータセットの識別番号（あるいはレジスタの格納領域順）によって、切り出した領域の出力順を、元の画像平面での並び順と独立に制御する。この場合、出力タイミング調整部５６が備えるＦＩＦＯバッファ５８ａ〜５８ｄ、あるいはクロッピング部６０が内部で保持する図示しないバッファなどにより出力タイミングを調整すればよい。ただし行ごとの切り出し、出力処理であることに変わりはないため、そのようなタイミング調整による遅延は微小となる。
【０１４８】
その他の解像度の偏光画像２８４ｂ、２８４ｃ、２８４ｄについても、同様の設定により順次切り出しおよび出力がなされる。図示する例では、１／１６サイズの偏光画像に対しては、データセット２つ分の格納領域に対し片方のみデータセットが設定されている。このように、レジスタに設けた格納領域数を上限として必要な数だけ設定を行う。場合によっては、ある解像度の偏光画像に対しては設定を行わないことで、切り出し対象から除外することもできる。
【０１４９】
また同図の場合、１／６４サイズの偏光画像に対しては、２つのデータセットで同一の領域を切り出す設定がなされている。この場合、クロッピング部６０は、同じ領域のデータを繰り返して出力する。一方、図において「Ｔ７」、「Ｔ８」と示されるように、当該２つのデータセットでパラメータタイプの設定を異ならせることにより、画素値変換部７４によって、同じ領域に対し２種類のデータが生成、出力される。
【０１５０】
上述したように実際には、出力タイミング調整部５６から入力される偏光画像のデータは、複数の解像度の画素列が規則的に接続されたデータストリームの状態である。クロッピング部６０は、情報処理装置１０からの要求内容を格納したレジスタの設定に従い、当該データストリームのうち切り出す部分を特定し、順次出力する。その結果、図１０で説明したように、切り出された領域が矩形領域を構成する新たな合成画像２８６が、データストリームとして出力されることになる。このようにして、各方向の偏光画像の同じ領域によって構成される４つの合成画像２８６のデータが出力され、画素値変換部７４に入力される。
【０１５１】
図１８は、画素値変換部７４が、入力された偏光画像のデータを用いて、指定されたパラメータのデータストリームを出力する様子を示している。同図において合成画像２９０は、領域抽出部２８０のクロッピング部６０が上述のように切り出し、出力したデータストリームを、２次元平面で表したものであり、図１７の合成画像２８６に対応する。ただし同図では、図の簡単のために１つの解像度につき１つの領域が切り出されるとしている。したがって各解像度に対応するレジスタ領域２８２ａ、２８２ｂ、２８２ｃ、２８２ｄには、１つのデータセットのみが格納されているとする。
【０１５２】
この例では、１／１サイズ、１／４サイズ、１／１６サイズ、１／６４サイズの偏光画像からそれぞれ切り出された、Ｌ１、Ｌ４、Ｌ６、Ｌ７の幅の領域のデータが、合成画像２９０においてそれぞれ矩形領域を構成している。ただし上述のとおり、１／４サイズ、１／１６サイズ、１／６４サイズのデータについては、合成画像２９０においてそれぞれＬ４／２、Ｌ６／４、Ｌ７／８の幅の矩形となる。４つの偏光方向に対応する合成画像２９０のデータがそれぞれ、左上の画素から順に入力されると、画素値変換部７４は同じ画素の４方向の偏光輝度を用い、レジスタ領域に設定されたパラメータタイプに従ったパラメータを生成、出力する。
【０１５３】
パラメータタイプは、「Ｔ１」、「Ｔ４」、「Ｔ６」、「Ｔ７」と示されるように、領域ごとに設定される。ただし当該表記は全てのパラメータタイプを必ずしも異ならせる主旨ではない。同図において「ｔ０」、「ｔ１」、「ｔ２」、「ｔ３」は、出力すべきパラメータのタイプを切り替えるタイミングを示している。当該タイミングの間隔は、当然、各領域の切り出し長「Ｌ１」、「Ｌ４」、「Ｌ６」、「Ｌ７」によって変化する。また合成画像２９０はデータストリームの形式で画素値変換部７４に入力されるため、切り替えタイミングはその１行ごとに周期的に到来することになる。
【０１５４】
また合成画像２９０の上端および下端の数行は、上述のとおり元の偏光輝度データの生成タイミングに起因して無効データを含むため、画素値変換部７４は、それに対応する画素については同様に無効データを出力する。結果として画素値変換部７４が出力するデータストリームは、複数種類のパラメータの接続が一巡したときの画素数を画像の横一列分として定義したとき、各パラメータが矩形領域を構成する合成画像２９２となる。同図において合成画像２９２は、単位面積当たりのデータサイズをパラメータによらず統一して示している。
【０１５５】
本実施の形態において画素値変換部７４が出力するパラメータは、種類によってデータ長を可変とする。そのため同じ画素数であっても、パラメータの種類が異なれば、領域ごとに画素列のデータ長が異なることになる。その結果、図示する例では、元の偏光画像の合成画像２９０と、出力されたパラメータの合成画像２９２では、各領域の構成割合が異なっている。例えば１／１サイズのデータは１画素あたり８ビットのパラメータを出力するのに対し、１／６４サイズのデータは１画素あたり６４ビットのパラメータを出力する、といった設定により、面積比が逆転することになる。
【０１５６】
パラメータタイプは、例えば（各画素のチャンネル数、チャンネルごとのデータ長、各チャンネルのパラメータの種類）、といった構造で設定する。各画素値のチャンネル数を１、２、４の３種類とし、チャンネルごとのデータ長を８ビットまたは１６ビットの２種類とした場合、それらの設定で合計３ビットを使用する。パラメータタイプのレジスタ容量を１６ビットとした場合、残りの１３ビットを、各チャンネルで出力するパラメータの種類の設定に割り当てられる。
【０１５７】
チャンネル数の上限を４とした場合、１チャンネルに４ビット、残りの３チャンネルに３ビットずつ割り当て、パラメータの種類に対しあらかじめ付与したインデックスを指定するようにすれば、図１１〜１３で示したような様々なパラメータを臨機応変に指定できる。このようにすると、タイプに応じて８ビットから６４ビットまでのパラメータのデータが、合成画像２９２の画素列順に画素値変換部７４から出力される。ただしパラメータタイプの設定方式をこれに限る主旨ではない。なお切り出し領域やパラメータタイプの設定手法は、図６に示した撮像装置１２においても同様に適用できる。
【０１５８】
図１９は、情報処理装置１０の要求に応じて送信されるデータを例示している。ただし理解を容易にするため、偏光輝度から得られる各種パラメータや量子化データを送信する場合も、その元となる偏光画像で表している。この例において、まず情報処理装置１０は視野全体のデータを、１／１６サイズの低解像度で要求する。そして当該画像３００を用いてマッチング処理を行うなどして、詳細に解析すべき部分領域を特定する。図示する例では、ゲームコントローラの像を含む領域３０２と手の像を含む領域３０４が特定される。
【０１５９】
これに応じて情報処理装置１０は、領域３０２、３０４のデータを要求する。このとき視野全体の画像３００における各領域のサイズや、当該領域に施す処理の内容などに応じて要求する解像度を決定する。図示する例では、領域３０２については１／４サイズ、領域３０４については１／１サイズに対応する解像度のデータを要求する。そして例えば領域３０２の１／４サイズのデータ（画像３０６）と、当該領域についてステレオ画像から別途生成した奥行き画像のデータとを統合することにより、高精細な奥行き画像を生成する。
【０１６０】
奥行き画像は一般的に、ステレオ画像において対応する特徴点を抽出し、その視差に基づき生成される。対応する特徴点をブロックマッチングなどにより抽出する処理の負荷や、特徴点の少なさなどに起因して、ステレオ画像のみから奥行き値を高い分解能で得るのは困難なことが多い。偏光画像から得られる法線の情報は画素単位で得られるため、粗い解像度で得た奥行き画像の情報と統合することにより、曲面形状も正確に表した奥行き画像を得ることができる。対象物として顔の像の領域を特定した場合は、同様に詳細な奥行き画像を生成することにより、表情認識を高精度に行える。
【０１６１】
一方、領域３０４の１／１サイズの高解像度のデータ（画像３０８）は、手指の状態を詳細に認識したりトラッキングを行ったりするのに用いることができる。例えば３方向の偏光輝度をＲＧＢの３チャンネルに割り当てた画像を用いても、自然光の撮影画像より腕や手の表面形状を特定しやすい。したがってそのようなデータを用いて、より精度よく手認識やトラッキングを行える。当然、法線に係る情報を取得し、さらに詳細に状態情報を取得してもよい。
【０１６２】
またトラッキングにより手が撮像装置１２に近づくことが判明したら、要求するデータの解像度を下げてもよい。撮像装置１２に対象物が近づくことは、撮影画像における像のサイズによっても判明する。同図の例では、手が撮像装置に近づいたことにより、手の領域について１／１６サイズのデータ（画像３１０）へ要求対象を変更し、それを用いて手認識やトラッキングを行うことを示している。
【０１６３】
このように対象物の位置や処理内容によって、要求するデータの解像度と画像平面での範囲を適応的に切り替えることにより、送信するデータ量を一定範囲に抑えることができる。また、例えば手とゲームコントローラの状態を同時に認識することにより、ゲームコントローラのどの操作手段をどのように操作したか、といった情報を詳細に取得できるため、コントローラの構成を簡素化しても操作内容の特定が可能であり、製造コストや消費電力を削減できる。
【０１６４】
図２０は、図１９で例示したデータを得るときの撮影環境を側面から見た様子を模式的に示している。撮像装置１２の視野内には、画像３００に写るように、人の手３２０、テーブル３２２、ゲームコントローラなどテーブル３２２上に置かれている物３２４が存在する。同図においてはさらに、形状、色、素材などが既知の参照用実物体３２６を視野内に置いている。同図の場合、参照用実物体３２６は、棒状の脚部に球体を載置した構成を有するがこれに限定する主旨ではない。
【０１６５】
参照用実物体３２６は、撮像装置１２において偏光度ρから天頂角θを取得するための変換テーブルや、天頂角θと方位角αをベクトル量子化する際に用いるコードブックなど、出力パラメータに誤差を生じさせる可能性のある各種変換規則を最適化するために利用する。参照用実物体３２６は例えば、ゲームのコントローラなどとともにユーザに提供し、運用時に撮像装置１２の視野に入るように置いてもらう。あるいは参照用実物体３２６がゲームコントローラを兼ねてもよい。
【０１６６】
図２１は、参照用実物体３２６を用いて撮像装置１２における変換規則を最適化する処理手順を示すフローチャートである。まず情報処理装置１０は、例えば１／１６サイズなど低解像度の偏光画像あるいは非偏光画像の全体領域を撮像装置１２に要求する（Ｓ４０）。撮像装置１２から該当データが送信されたら（Ｓ４２）、情報処理装置１０の対象物認識部８０は、当該全体領域のから参照用実物体３２６が写る領域を特定する（Ｓ４４）。
【０１６７】
そして少なくとも当該領域について、撮像装置１２内部で取得された天頂角θのデータ、あるいは天頂角θと方位角αを量子化したデータなど、最適化の対象である変換規則により得られるパラメータのデータを適切な解像度で要求する（Ｓ４６）。Ｓ４０において要求した画像の解像度と異なる解像度でのパラメータを要求する場合、同じ解像度で偏光画像のデータも要求する。撮像装置１２は要求されたデータを情報処理装置１０に送信する（Ｓ４８）。この際、デフォルトとして設定されている変換規則を用いてパラメータを生成する。
【０１６８】
情報処理装置１０の対象物認識部８０は、撮像装置１２から送信されたパラメータのデータと、偏光画像の輝度から自らが厳密に取得したパラメータのデータとを比較する（Ｓ５０）。例えば天頂角θを比較する場合、対象物認識部８０は、偏光画像から得られる偏光度ρに基づき、式３により天頂角θを厳密に求める。あるいはさらに、採用する反射モデルによって、偏光輝度の最大値あるいは最小値をもたらす位相角を、方位角αとして求める。参照用実物体３２６の色や材質が既知であれば、用いる反射モデルも正確に決定できる。形状も既知であるため、天頂角θや方位角αを高精度に求められる。
【０１６９】
したがって比較の結果、両者に差があれば、撮像装置１２が用いている変換規則が適切でないことがわかる。例えば天頂角θに所定値より大きい差があれば、偏光度ρから天頂角θを求めるための変換テーブルが適切でないと判定する。天頂角θに差がなく、量子化インデックスから求めた法線ベクトルに所定値より大きい差があれば、天頂角θと方位角αを量子化するためのコードブックが適切でないと判定する。このとき対応する画素ごとに角度の差を求め、その平均値を比較結果としてもよいし、それ以外の統計的な手法を用いてもよい。データ分布の差を評価する指標について様々に考えられることは当業者には理解されるところである。
【０１７０】
そのようにして求められた差が所定値より大きければ（Ｓ５２のＮ）、対象物認識部８０は、当該判定結果を撮像装置１２に通知する（Ｓ５４）。差が所定値以下であれば変換規則を最適化する処理については終了させる（Ｓ５２のＹ）。撮像装置１２の画素値変換部７４は、変換規則が適切でない旨の通知を受けたら（Ｓ５６のＹ）、当該変換規則を補正する（Ｓ５８）。例えば画素値変換部７４は、複数の変換テーブル候補やコードブック候補を内部のメモリに保持しておき、用いる対象を切り替える。あるいは所定の規則に従い内部の設定値を徐々に変化させてもよい。
【０１７１】
Ｓ５４において情報処理装置１０から、天頂角θがどちらの方向に誤差を持つか、法線ベクトルが参照用実物体３２６のどの部分で多くの誤差を発生させているか、といった傾向を通知させることで、撮像装置１２において補正の方向を適切に決定してもよい。撮像装置１２は、そのように変化させた変換規則を用いて再度パラメータを算出し、情報処理装置１０へ送信する（Ｓ４８）。情報処理装置１０は再びパラメータの値を比較し（Ｓ５０）、差が所定値より大きければ再度通知する（Ｓ５２のＮ、Ｓ５４）。
【０１７２】
撮像装置１２は、情報処理装置１０から通知がある限り変換規則の補正を実施し（Ｓ５６のＹ、Ｓ５８）、通知がなければ変換規則を最適化する処理については終了させる（Ｓ５６のＮ）。このような補正処理にはある程度の時間を要することもあり得るため、ゲームなどを開始する初期段階でキャリブレーションとして実施するほか、ゲームの最中などにバックグラウンドで行うようにしてもよい。例えば撮像装置１２がヘッドマウントディスプレイに搭載されているなどして視点が変化する場合、視点に対する参照用実物体３２６の角度や距離に応じて、変換規則を適応的に切り替えてもよい。
【０１７３】
参照用実物体３２６は上述のように、色や材質を既知とすることにより、法線ベクトルの取得に用いる反射モデルを精度よく決定することができる。同様の原理で、法線ベクトルが正確に求められるように参照用実物体３２６の形状、色、材質を適切に選択すれば、変換規則の補正も精度よく行えることになる。結果として、図２０で示した手３２０、テーブル３２２、テーブル上の物３２４など、撮影環境に存在する参照用実物体３２６以外の物体の状態認識を高精度化できる。
【０１７４】
図２２は、撮像装置１２から送信するデータをさらに限定する例を説明するための図である。図示する例は人体の撮影画像により脈拍数を監視する態様を想定しており、脈動による皮膚表面の形状変化を模式的に示している。すなわち皮膚の断面形状は脈動により、（ａ）に示す盛り上がりの小さい状態と（ｂ）に示す盛り上がりの大きい状態とが交互に繰り返される。偏光画像によって法線を取得すれば、その周期変動により脈拍数を取得できる。
【０１７５】
同図では各位置で得られる法線ベクトルを矢印で示している。（ａ）の状態と（ｂ）の状態を比較すると、法線ベクトルは、盛り上がりの頂点近傍の領域Ａや周辺の領域Ｃでは変化が小さい一方、それらの中間の傾斜領域Ｂでは変化が大きい。またこのような変化は天頂角θによって観測される。したがって情報処理装置１０は、広域の低解像度画像から領域Ｂの位置を特定しつつ、当該領域について高解像度の天頂角θのデータを要求する。これにより、転送データの量や情報処理装置１０における処理の負荷を最低限にして、低いレイテンシで撮影画像を用いた脈拍数の監視を実現できる。
【０１７６】
以上述べた本実施の形態によれば、撮像装置において、偏光画像の輝度データから得られる様々なパラメータを算出する機構を設け、当該パラメータを画素値とする画素列のデータを生成する。また複数の解像度で偏光画像を生成したり、必要な領域を切り出したりする機構も設け、解像度、画像上の領域、パラメータの種類を自由に組み合わせて出力できるようにする。これにより、情報処理装置における対象物の状態認識処理を効率化できる。
【０１７７】
また対象物のその時々の状態に応じて、必要なデータを限定して送信するため、データ転送量を増大させることなく精度よく状態認識を行える。例えば撮像装置において法線の天頂角と位相角を算出しておけば、情報処理装置においてはそれを利用して効率よく対象物の状態を取得できる。場合によって天頂角と位相角をベクトル量子化して送信できるようにすることにより、精度と送信データ量の優先順位に合わせて最適なデータを臨機応変に送信できる。
【０１７８】
撮像装置が出力するデータは、画素単位で独立して算出可能なものとすることで、撮像素子によって輝度データを取得した画素列順での処理形態を崩すことなく結果を出力できる。結果として、撮像装置内部での演算によるレイテンシを最小限に抑えることができるとともに、演算結果を従来の画像データと同様に扱える。また、算出したパラメータを利用して当該画素の法線の信頼度や、法線の角度が所定の条件を満たしているか否かを特定し、その結果も送信対象とする。それらのデータを参照することにより、情報処理装置での処理をより効率化できる。
【０１７９】
送信に際しては、複数種類のパラメータを解像度ごとに所定の画素列単位でつなげた仮想的な合成画像を生成し出力する処理を、データストリームの形式で行う。このとき、生成レートに応じた適切な規則でデータをつなげることにより、低いレイテンシでの送信を実現できるとともに、撮像装置に設けるべきメモリの容量を抑えることができる。また合成画像において複数種類のデータがそれぞれ矩形領域を構成するようにできるため、一般的なクロッピング処理によって特定のデータのみを容易に切り出せ、それを再接続して送信することにより情報処理装置においてもデータの区別が容易となる。
【０１８０】
さらに、形状、色、材質などが既知の参照用実物体を利用して、撮像装置内部で用いる各種パラメータ取得のための変換規則を最適化する。これにより、撮像装置をヘッドマウントディスプレイに搭載する場合などにおける視野の変化や、明るさなどの撮影環境の変化に頑健性を有する実物認識技術を実現できる。
【０１８１】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１８２】
１０  情報処理装置、  １２  撮像装置、  １６  表示装置、５０  ＩＳＰ、  ５２  ピラミッドフィルタ部、  ５６  出力タイミング調整部、  ６０  クロッピング部、  ６２  パケット化部、  ６４  制御部、    ７０  輝度データ取得部、  ７２  画像データ生成部、  ７４  画素値変換部、  ７６  送出画像生成部、  ７８  通信部、  ８０  対象物認識部、  ８２  出力データ生成部、  ８４  データ記憶部、  ８６  通信部、  ２５０  演算部、  ２５２  送信データ形成部、  ２５４  演算部、  ２５６  送信データ形成部、  ２６４  信頼度判定回路、  ２６６  天頂角取得回路、  ２６８  方位角取得回路、  ２７４  量子化部、  ２８０  領域抽出部。
【図１】
2018061124.tif 000010
【図２】
2018061124.tif 000011
【図３】
2018061124.tif 000012
【図４】
2018061124.tif 000013
【図５】
2018061124.tif 000014
【図６】
2018061124.tif 000015
【図７】
2018061124.tif 000016
【図８】
2018061124.tif 000017
【図９】
2018061124.tif 000018
【図１０】
2018061124.tif 000019
【図１１】
2018061124.tif 000020
【図１２】
2018061124.tif 000021
【図１３】
2018061124.tif 000022
【図１４】
2018061124.tif 000023
【図１５】
2018061124.tif 000024
【図１６】
2018061124.tif 000025
【図１７】
2018061124.tif 000026
【図１８】
2018061124.tif 000027
【図１９】
2018061124.tif 000028
【図２０】
2018061124.tif 000029
【図２１】
2018061124.tif 000030
【図２２】
2018061124.tif 000031