以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(多視点画像利用サービスプラットフォーム)
2.第2の実施の形態(多視点画像の管理)
3.第3の実施の形態(アプリケーション販売)
4.第4の実施の形態(仮想レンズ処理)
5.第5の実施の形態(物販支援)
6.その他
<1.第1の実施の形態>
<多視点画像利用サービスプラットフォーム>
図1は、多視点画像利用サービスプラットフォームの例を説明する図である。図1に示される多視点画像利用サービスプラットフォーム100は、視点が互いに異なる複数の画像からなる多視点画像を用いたサービスをユーザに提供する基礎的な構造・環境である。多視点画像利用サービスプラットフォーム100は、例えば、クラウドストレージ101、アプリケーションマーケット102等の機能を有する。
クラウドストレージ101は、多視点画像のデータである多視点画像データ111を記憶し、管理するサービスである。例えば、多視点画像利用サービスプラットフォームに登録済みのユーザが多視点撮像装置121を操作して、被写体を撮像し、視点が互いに異なる複数の撮像画像を多視点画像として得る。そして、そのユーザが多視点撮像装置121を操作して、その多視点画像データを多視点画像利用サービスプラットフォーム100に供給する。クラウドストレージ101は、供給されたその多視点画像データを記憶し、ユーザ毎に管理する。
また、クラウドストレージ101は、必要に応じて、多視点画像データ等に基づいて、その多視点画像データに関連するデータを生成することもできる。さらに、クラウドストレージ101は、ユーザ等からの要求に応じて、その管理している多視点画像データを、ユーザが操作する端末装置や、後述するアプリケーションに提供することもできる。
アプリケーションマーケット102は、多視点画像データを利用して何らかの処理を行い、多視点画像を用いたサービスをユーザに提供するアプリケーション112を、ユーザに提供したり販売したり実行したりするサービスである。つまり、このアプリケーション112は、多視点画像利用サービスプラットフォーム100により実行されてもよいし、端末装置において実行されてもよい。
このようなアプリケーション112が実行されることにより、ユーザには、多視点画像を用いたゲーム、空間合成、レンズシミュレーション、空間認識、物販支援等の、利便性の高い様々なサービスが提供される。
アプリケーション112が提供するサービスは、多視点画像を用いるものであればどのようなものであってもよい。例えば、レンズシミュレーションは、仮想の光学系をシミュレーション(模擬的に現出)し、多視点画像を用いて、その仮想の光学系を用いて被写体を撮像した仮想の撮像画像を生成するサービスである。その場合、アプリケーション112は、例えば、図2のAに示されるような、仮想のレンズ150を設定し、その仮想のレンズ150に入射する被写体からの入射光である光線ベクトル151、仮想のレンズ150を透過した後の入射光である光線ベクトル152、および、光線ベクトル152から仮想の撮像画像を得る仮想のイメージセンサ153等をシミュレーションする(模擬的に現出する)。そして、アプリケーション112は、以上のようなシミュレーションに基づいて、多視点画像から仮想の撮像画像を生成し、ユーザに提供する。また、アプリケーション112は、設定する仮想のレンズ150の選択や販売等を行うこともできる。
レンズシミュレーションは、仮想のレンズを設定することができるので、任意の仕様の光学系をシミュレーションすることができる。すなわち、レンズシミュレーションは、実在する光学系であっても非現実的な光学系であってもシミュレーションすることができる。したがって、このようなサービスが提供されることにより、ユーザは、多様な光学系により得られる撮像画像を再現することができる。例えば、ユーザは、このようなレンズシミュレーションにより、多視点画像を構成する各撮像画像を得た光学系よりも大口径の光学系を用いた撮像画像を容易に得ることができる。例えば、ユーザは、このようなレンズシミュレーションにより、多視点画像の各画像よりも高解像度な画像、広角な画像、画角が狭く焦点距離が遠い画像等をより容易に得ることができる。さらに、例えば、ユーザは、このようなレンズシミュレーションにより、高級なレンズを用いた撮像画像や、非現実的な光学系を用いた撮像画像を容易に得ることもできる。すなわち、ユーザは、安価に多様な撮像画像を得ることができる。
また、例えば、物販支援は、多視点画像を用いて、物品の販売を支援するサービスである。販売する物品や支援の仕方はどのようなものであってもよい。例えば、販売する物品が家具であるとし、図2のBに示されるように、撮像画像に家具の画像を仮想的に配置するサービスであってもよい。その場合、アプリケーション112は、多視点画像の各撮像画像を重ね合わせて撮像画像を生成し、その撮像画像上に家具の画像を、その3次元モデリングデータ(3Dモデリングデータとも称する)と、多視点画像における被写体までの距離を示すデプスデータとを用いて配置し、その合成画像をユーザに提供する。また、アプリケーション112は、配置する家具やその位置を、ユーザの操作に基づいて設定する。
このようなサービスにより、ユーザは、例えば、自身の部屋を撮像し、その撮像画像(すなわち自分の部屋の画像)上の所望の位置に、家具の画像を配置することができる。したがって、ユーザは、購入前にレイアウトをより正確に想定することができる。つまり、このようなサービスにより、「購入した家具が自分の部屋に設置できないのではないか」、「購入した家具が自分の部屋に合わないのではないか」等といった、ユーザの購入前の不安を低減させることができ、ユーザの購買意欲を向上させることができる。すなわち、アプリケーション112は、家具の販売を支援することができる。
以上のように、多視点画像利用サービスプラットフォーム100は、単に多視点画像から1枚の画像を生成して提供するだけでなく、ユーザや多視点画像に関するデータを管理するとともに、アプリケーションの販売やアプリケーションを用いたサービスの提供を行うことができるので、ユーザにとってより利便性の高い、多様なサービスを提供することができる。つまり、多視点画像利用サービスプラットフォーム100は、多視点画像を用いたサービスの利便性を向上させることができる。
以上において、多視点画像は、複数の撮像画像よりなるように説明したが、多視点画像を構成する画像数は任意である。また、多視点画像を構成する画像の一部若しくは全部、または、各画像の一部若しくは全部が、人工的に描かれたコンピュータグラフィック画像のような非現実の画像であってもよい(つまり、多視点画像が撮像画像以外の画像を含むようにしてもよい)。
また、多視点画像利用サービスプラットフォーム100がサービスを提供する端末装置は、多視点画像の所有者であるユーザが操作する多視点撮像装置121であってもよいし、そのユーザが操作する多視点撮像装置121以外の端末装置であってもよいし、そのユーザが多視点画像の使用を許可した他のユーザが操作する端末装置であってもよい。
さらに、多視点画像利用サービスプラットフォーム100の物理的構成は任意である。例えば、1台のサーバにより構成されても良いし、複数のサーバにより構成されても良い。また、例えば、多視点画像利用サービスプラットフォーム100の機能の一部または全部を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとるようにしてもよい。さらに、多視点画像利用サービスプラットフォーム100の機能の一部または全部を、端末装置において実行するようにしてもよい。
以下に、多視点画像利用サービスプラットフォーム100が提供するサービスの例の詳細について説明する。
<2.第2の実施の形態>
<多視点画像の管理>
第1の実施の形態において説明したように、多視点画像利用サービスプラットフォーム100は、例えば、クラウドストレージ101の機能を有し、多視点画像データを記憶し、管理するサービスを提供することができる。本実施の形態において、この多視点画像の管理について説明する。
<多視点画像利用サービス提供システム>
図3は、多視点画像利用サービス提供システムの主な構成例を示す図である。図3に示される多視点画像利用サービス提供システム200は、本技術を適用したシステムの一例であり、サーバ202が、ネットワーク210を介して接続される端末装置201に対して、多視点画像を利用したサービスを提供するシステムである。つまり、多視点画像利用サービス提供システム200は、多視点画像利用サービスプラットフォーム100を実現する構成の一例である。
図3には、多視点画像利用サービスプラットフォーム100が提供するサービスの内、多視点画像の管理に関するサービスの提供に関する構成の例を示している。図3において、多視点画像利用サービス提供システム200は、ネットワーク210に接続される端末装置201およびサーバ202を有する。
ネットワーク210は、例えば、インターネットやローカルエリアネットワーク等の任意のネットワークである。ネットワーク210は、有線若しくは無線またはその両方により構成される1つ若しくは複数のネットワークよりなる。端末装置201およびサーバ202は、それぞれ、有線若しくは無線によりそのネットワーク210に接続される。
端末装置201は、被写体を撮像することにより視点が互いに異なる複数の撮像画像からなる多視点画像を得る多視点撮像を行う。そして、端末装置201は、その多視点画像データを符号化し、多視点符号化データを生成する。端末装置201は、生成した多視点符号化データをサーバ202に伝送する。
サーバ202は、予め登録されたユーザを管理する。また、サーバ202は、伝送された多視点画像符号化データを取得し、その多視点画像のデプスを検出し、デプスデータを生成する。さらに、サーバ202は、それらの多視点画像に関するデータをファイル化し、多視点画像ファイルを生成する。そして、サーバ202は、生成した多視点画像ファイルを記憶(保存)し、管理する。このサーバ202により管理される多視点画像ファイルは、必要に応じて、端末装置201や実行されるアプリケーションに提供される。
<端末装置>
図4は、端末装置201の主な構成例を示すブロック図である。図4に示されるように、端末装置201において、CPU(Central Processing Unit)221、ROM(Read Only Memory)222、RAM(Random Access Memory)223は、バス224を介して相互に接続されている。
バス224にはまた、入出力インタフェース230も接続されている。入出力インタフェース230には、入力部231、出力部232、記憶部233、通信部234、およびドライブ235が接続されている。
入力部231は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部231には、操作ボタン、タッチパネル、マイクロホン、入力端子等が含まれる。また、加速度センサ、光センサ、温度センサ等の各種センサが入力部231に含まれるようにしてもよい。出力部232は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部232には、ディスプレイ、スピーカ、出力端子等が含まれる。
記憶部233は、例えば、ハードディスク、RAMディスク、不揮発性メモリなどよりなる。通信部234は、例えば、ネットワークインタフェースよりなる。ドライブ235は、例えば磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア241を駆動する。
CPU221は、例えば、記憶部233に記憶されているプログラムを、入出力インタフェース230およびバス224を介して、RAM223にロードして実行することにより、各種処理を行う。RAM223にはまた、CPU221が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU221が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア241に記録して端末装置201に提供することができる。その場合、プログラムは、リムーバブルメディア241をドライブ235に装着することにより、入出力インタフェース230を介して、記憶部233にインストールすることができる。
また、このプログラムは、LAN、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して端末装置201に提供することもできる。その場合、プログラムは、有線または無線の伝送媒体を介して、通信部234で受信し、記憶部233にインストールすることができる。
その他、このプログラムは、ROM222や記憶部233に、あらかじめインストールしておくこともできる。
入出力インタフェース230には、さらに、撮像部236が接続される。撮像部236は、例えばCPU221に制御されて、被写体を撮像して視点が互いに異なる複数の撮像画像からなる多視点画像を得る多視点撮像を行う。撮像部236は、カメラモジュール242−1乃至カメラモジュール242−Nを有する。Nは2以上の任意の整数である。カメラモジュール242−1乃至カメラモジュール242−Nは、互いに同様の構成を有し、同様の処理を行うモジュールである。以下において、カメラモジュール242−1乃至カメラモジュール242−Nを互いに区別して説明する必要が無い場合、単に、カメラモジュール242と称する。
カメラモジュール242は、イメージセンサ(撮像素子)を含む光学系を有し、被写体を撮像することにより撮像画像を得るモジュールである。各カメラモジュール242は、図5に示されるC11,C12,C13,C21,C22,C23,C31,C32,C33のように、平面若しくは曲面上の互いに異なる位置に配置されており、互いに異なる視点を有する。つまり、カメラモジュール242−1乃至カメラモジュール242−Nは、被写体を撮像し、互いに異なる視点の撮像画像を得る。
撮像部236は、CPU221に制御される等して、このようなカメラモジュール242−1乃至カメラモジュール242−Nを用いて被写体を撮像し、互いに異なる視点のN枚の(複数の)撮像画像を得る。撮像部236は、その複数の撮像画像を多視点画像(多視点画像データ)として得る。すなわち、撮像部236は、各カメラモジュール242を用いて、多視点撮像を行う。
撮像部236は、CPU221に制御される等して、得られた多視点画像データを、入出力インタフェース260やバス224等を介してCPU221やRAM223に供給したり、入出力インタフェース260を介して記憶部233に供給して記憶させたり、出力部232に供給して出力させたり、通信部234に供給して外部に供給させたりする。
各カメラモジュール242の画角や撮像方向は、互いに同一であってもよいし、同一でなくてもよい。例えば、一部のカメラモジュール242において、画角若しくは撮像方向またはその両方が、他のカメラモジュール242のそれと異なるようにしてもよい。また、例えば、全てのカメラモジュール242の画角や撮像方向が互いに異なるようにしてもよい。ただし、後述するように多視点撮像画像は、互いに重ね合わせて画像を生成するのに用いられたりするので、各カメラモジュール242の撮像の範囲(すなわち、各カメラモジュール242の被写体)は、少なくともその一部が互いに重複するようにするのが望ましい。
なお、多視点撮像において、各カメラモジュール242の撮像タイミング、露光、絞り等の撮像条件は、互いに同一であってもよいし、同一でなくてもよい。また、多視点撮像により得られる多視点画像(多視点画像を構成する各撮像画像)は、静止画像であってもよいし、動画像であってもよい。
また、撮像部236は、端末装置201の筐体に、その構成の1つとして製造時に設けられるものであってもよいし、端末装置201とは別体の、端末装置201に接続可能なモジュールとして構成されるようにしてもよい。例えば、撮像部236が、端末装置201の外部端子等に接続し、端末装置201の制御により動作する外付け付属部品であってもよい。さらに、撮像部236は、端末装置201とは別体の独立した装置としてもよい。例えば、撮像部236が、カメラ等の端末装置201とは別の撮像装置であり、有線若しくは無線の通信により端末装置201に接続され、多視点撮像により得られた多視点画像を端末装置201に供給するようにしてもよい。
<サーバ>
図6は、サーバ202の主な構成例を示すブロック図である。図6に示されるように、サーバ202において、CPU251、ROM252、RAM253は、バス254を介して相互に接続されている。
バス254にはまた、入出力インタフェース260も接続されている。入出力インタフェース260には、入力部261、出力部262、記憶部263、通信部264、およびドライブ265が接続されている。
入力部261は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部261には、操作ボタン、タッチパネル、マイクロホン、カメラ、入力端子等が含まれる。また、加速度センサ、光センサ、温度センサ等の各種センサが入力部261に含まれるようにしてもよい。出力部262は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部262には、ディスプレイ、スピーカ、出力端子等が含まれる。
記憶部263は、例えば、ハードディスク、RAMディスク、不揮発性メモリなどよりなる。通信部264は、例えば、ネットワークインタフェースよりなる。ドライブ265は、例えば磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア271を駆動する。
CPU251は、例えば、記憶部263に記憶されているプログラムを、入出力インタフェース260およびバス254を介して、RAM253にロードして実行することにより、各種処理を行う。RAM253にはまた、CPU251が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU251が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア271に記録してサーバ202に提供することができる。その場合、プログラムは、リムーバブルメディア271をドライブ265に装着することにより、入出力インタフェース260を介して、記憶部263にインストールすることができる。
また、このプログラムは、LAN、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介してサーバ202に提供することもできる。その場合、プログラムは、有線または無線の伝送媒体を介して、通信部264で受信し、記憶部263にインストールすることができる。
その他、このプログラムは、ROM252や記憶部263に、あらかじめインストールしておくこともできる。
<機能ブロック>
端末装置201は、CPU221が所定のプログラムを実行することにより、図7のAに機能ブロックとして示される機能を有する。図7のAに示されるように、CPU221は、撮像制御部281、メタデータ生成部282、符号化部283、および伝送制御部284等の機能ブロックを有する。
撮像制御部281は、多視点撮像の制御に関する処理を行う。メタデータ生成部282は、多視点撮像により得られた多視点画像のメタデータの生成に関する処理を行う。符号化部283は、多視点画像の符号化に関する処理を行う。伝送制御部284は、多視点画像データ等の伝送制御に関する処理を行う。
また、サーバ202は、CPU251が所定のプログラムを実行することにより、図7のBに機能ブロックとして示される機能を有する。図7のBに示されるように、CPU251は、ユーザ管理部291、取得制御部292、デプス検出部293、ファイル生成部294、およびデータ管理部295等の機能ブロックを有する。
ユーザ管理部291は、多視点画像利用サービスを提供するユーザの管理に関する処理を行う。例えば、ユーザ管理部291は、各ユーザについて、図8のAに示されるようなユーザ管理情報301を記憶部263に記憶し、管理する。図8のAに示されるように、このユーザ管理情報301には、例えば、ユーザの識別情報であるユーザID、ユーザの購入履歴、ユーザに関連付けられた(ユーザに登録された)ファイル管理情報の識別情報であるファイル管理情報識別情報、例えば統計分析等によりユーザが嗜好するセッティングを予想した情報であるお好みセッティング予想、ユーザが有するポイント(若しくはお金)、並びに、他のユーザに対して送った、若しくは、他のユーザから送られたコメント等が含まれる。もちろん、ユーザ管理情報301の内容は任意であり、上述した情報の一部が省略されても良いし、上述した以外の情報が含まれていても良い。
取得制御部292は、端末装置201から伝送される多視点画像データ等の情報の取得制御に関する処理を行う。デプス検出部293は、多視点画像のデプス値の検出に関する処理を行う。ファイル生成部294は、多視点画像データを含む各種データをファイル化した多視点画像ファイルの生成に関する処理を行う。
データ管理部295は、多視点画像ファイル等のデータの管理に関する処理を行う。例えば、データ管理部295は、各多視点画像ファイルについて、図8のBに示されるようなファイル管理情報302を記憶部263に記憶し、管理する。図8のBに示されるように、このファイル管理情報302には、例えば、多視点画像ファイルの識別情報である多視点画像ファイル識別情報、多視点画像ファイルに関連付けられた、多視点画像の編集結果である編集結果画像の識別情報である編集結果画像識別情報、並びに、多視点画像ファイルに関連付けられた、多視点画像を用いたアプリケーションの動作等の履歴であるアプリパラメータの識別情報であるアプリパラメータ識別情報等が含まれる。もちろん、ファイル管理情報302の内容は任意であり、上述した情報の一部が省略されても良いし、上述した以外の情報が含まれていても良い。
<多視点画像利用サービス提供処理の流れ>
以上のような構成の多視点画像利用サービス提供システムの端末装置201およびサーバ202は、多視点画像利用サービス提供処理を実行することにより、多視点画像を利用するサービスの提供、本実施の形態の場合、多視点画像の管理等のサービスの提供を行う。図9のフローチャートを参照して、これらの装置が実行する多視点画像利用サービス提供処理の流れの例を説明する。
ステップS101において、端末装置201の撮像制御部281は、撮像部236を制御して、被写体を多視点撮像し、多視点画像を得る。例えば、撮像制御部281は、多視点撮像により、図10のAに示されるような、視点が互いに異なる複数の撮像画像からなる多視点画像311を得る。
図9に戻り、多視点撮像により多視点画像データが得られると、ステップS102において、メタデータ生成部282は、多視点画像データのメタデータを生成する。メタデータの詳細については、後述するが、メタデータには、例えば、多視点画像の各視点の相対位置関係を示す配列情報と、多視点画像の視点数を示す眼数情報とが含まれる。つまり、メタデータ生成部282は、これらの配列情報や眼数情報を含むメタデータを生成し、それを多視点画像データに関連付ける。
ステップS103において、符号化部283は、多視点画像データを所定の符号化方法で符号化し、多視点画像符号化データを生成する。この符号化方法は、画像データを符号化する方法であればどのような方法であってもよい。例えば、JPEG(Joint Photographic Experts Group)やMPEG(Moving Picture Experts Group)等のような既存の符号化方法であってもよいし、新たな多視点画像専用の符号化方法であってもよい。なお、上述した多視点画像データのメタデータ(例えば、配列情報や眼数情報等)は、多視点画像データの符号化後、メタデータ生成部282によって、この多視点画像符号化データに関連付けられる(多視点画像符号化データのメタデータとなる)。
ステップS104において、伝送制御部284は、通信部234を制御して、ステップS103において生成された多視点画像符号化データを、ステップS102において生成されたメタデータとともにサーバ202に伝送させる。例えば、伝送制御部284は、多視点画像符号化データやメタデータをビットストリーム、または、ビットストリームの補助情報として伝送する。
ステップS111において、サーバ202の取得制御部292は、通信部264を制御して、ステップS104において端末装置201から伝送された多視点画像符号化データおよびそのメタデータを取得する。
ステップS112において、デプス検出部293は、ステップS111において取得された多視点画像符号化データを、ステップS103の符号化方法に対応する復号方法で復号する。
ステップS113において、デプス検出部293は、ステップS112において多視点画像符号化データが復号されて得られた多視点画像データを用いて、その多視点画像のデプスを検出し、デプスデータを生成する。例えば、デプス検出部293は、デプスデータとして、図10のBに示されるような、被写体までの距離を画素毎に輝度や色で表したデプスマップ312を生成する。なお、デプスの検出の詳細については、後述する。
図9に戻り、デプスデータが生成されると、デプス検出部293は、ステップS114において、デプスが検出された多視点画像データを符号化し、多視点画像符号化データを生成する。この符号化方法は、画像データを符号化する方法であればどのような方法であってもよい。例えば、JPEGやMPEG等のような既存の符号化方法であってもよいし、新たな多視点画像専用の符号化方法であってもよい。ステップS103の符号化方法と同一であってもよいし、同一でなくてもよい。デプス検出部293は、生成したデプスデータを、この多視点画像符号化データに関連付ける。
なお、このデプス検出(デプスデータの生成)は、サーバ202以外の任意の装置において行われるようにしてもよい。例えば、端末装置201において行われるようにしてもよい。その場合、端末装置201のCPU221が、デプス検出部293等の必要な機能ブロックを適宜有するようにすればよい。その場合、デプス検出部293は、符号化部283により多視点画像データが符号化される前(ステップS103の処理が実行される前)に、デプスを検出するようにすればよい。そして、ステップS103において、上述したように、符号化部283が多視点画像データを符号化し、デプス検出部293が多視点画像符号化データにデプスデータを関連付け、メタデータ生成部282が多視点画像符号化データにメタデータ(例えば、配列情報や眼数情報等)を関連付けるようにすればよい。
ステップS115において、ファイル生成部294は、ステップS114において生成された多視点画像符号化データ、そのメタデータ、およびステップS113において生成されたデプスデータを含む多視点画像ファイルを生成する。なお、この多視点画像ファイルのフォーマット形式は任意である。例えば、多視点画像が静止画像の場合、EXIF(Exchangeable Image File Format)ファイルフォーマットでファイル化されるようにしてもよい。また、例えば、多視点画像が動画像の場合、MP4(MPEG-4 Part 14)ファイルフォーマットでファイル化されるようにしてもよい。もちろん、これら以外のフォーマット形式でファイル化されるようにしてもよい。
例えば、ファイル生成部294は、図11に示されるような構成の多視点画像ファイル321を生成する。図11の例の場合、多視点画像ファイル321には、多視点画像符号化データ331、デプスデータ332、およびメタデータ333が含まれる。
多視点画像符号化データ331は、ステップS114において生成された多視点画像符号化データである。デプスデータ332は、ステップS113において生成されたデプスデータであり、多視点画像符号化データ331の多視点画像のデプスデータである。メタデータ333は、ステップS102において生成されたメタデータであり、多視点画像符号化データ331のメタデータである。
メタデータ333には、例えば、図11に示されるように、カメラモジュール情報341、カメラ配列情報342、眼数情報343、キャリブレーション情報344、および基線長情報345が含まれる。
カメラモジュール情報341は、多視点画像を得る撮像に関する情報、すなわち、撮像部236の各カメラモジュール242に関する情報である。例えば、撮像部236にカメラモジュール242がN個設けられている場合、メタデータ333には、N個のカメラモジュール情報341が含まれる。カメラモジュール情報341には、例えば、図11に示されるように、解像度、焦点距離、ISO感度、撮像方向、シャッタスピード、F値、および画角等の情報が含まれる。もちろん、カメラモジュール情報341の構成は任意であり、これらの情報の内、一部が省略されるようにしてもよいし、これら以外の情報が含まれるようにしてもよい。
カメラ配列情報342は、各カメラモジュール242の相対位置関係を示す情報である。すなわち、カメラ配列情報342は、多視点画像の各視点の相対位置関係を示す情報である。例えば、カメラ配列情報342は、図12に示されるように、基準とするカメラモジュールC0からその他のカメラモジュールCx(図12の例の場合、x=1乃至8)までの距離Lx(基準となる視点から各視点までの距離Lx)と、基準とするカメラモジュールC0からその他のカメラモジュールCxの向きRx(基準となる視点から各視点の向きRx)とを含む。
眼数情報343は、各カメラモジュール242の数(視点数)を示す情報である。キャリブレーション情報344は、各カメラモジュール242のばらつきを示す情報である。基線長情報345は、多視点画像における長さの基準となる情報である。
なお、メタデータ333の構成は任意であり、これらの情報の内、一部が省略されるようにしてもよいし、これら以外の情報が含まれるようにしてもよい。
図13は、このようなメタデータの各データの構成例を示す図である。図13のAに示されるように、カメラモジュール情報341は、解像度、焦点距離、ISO感度、撮像方向、シャッタスピード、F値、および画角等の情報が、カメラモジュール242毎に示されるようにしてもよい。
各カメラモジュール242のこれらのパラメータを互いに異なる値とすると、例えば、多視点画像の各撮像画像を重ね合わせる際に、パラメータの値に応じて、重ね合わせる撮像画像の選択やその混合比等を制御することにより、より高画質な画像を得ることができる。例えば、これらのパラメータが所望の値に近い撮像画像のみを重ね合わせる、若しくは、そのパラメータがその所望の値に近い撮像画像をより強く重ね合わせる(その撮像画像の混合比を高くする)ことにより、そのパラメータがその所望の値に近い画像が得られやすくなる。そのため、パラメータを変更するための不要な画像処理を低減させることができるので、画像処理による画質の低減を抑制することができる(より高画質な画像を得ることができる)。
また、各撮像画像が、これらのパラメータについて多様な値をとることになるから、重ね合わせの結果得られる画像のパラメータをどのような値にするとしても、その所望の値に近い撮像画像が得られる。すなわち、パラメータの値に関わらず、より高画質な画像を得ることができる。
カメラ配列情報342は、上述したように各カメラモジュール242の配列を、図11の例のように、相対位置関係(CN. LN. RN)で表すようにしてもよいし、図13のAの例のように、「X型」といった、予め定められた配列の型で表すようにしてもよい。図11の例のようにすることにより、配列の自由度を向上させることができ、図13の例のようにすることにより、メタデータの情報量の増大を抑制することができる。
また、眼数情報343は、図13のAに示される例のように、数字で示される。
キャリブレーション情報344は、例えば、多視点画像の各視点の位置を示す情報により構成されるようにしてもよい。図13のAの例の場合、キャリブレーション情報344は、各カメラモジュール242の座標情報(各カメラモジュールの中心座標を示す情報)により構成される。また、キャリブレーション情報344は、例えば、多視点画像の各画像の輝度を補正する情報により構成されるようにしてもよい。図13のBの例の場合、キャリブレーション情報344は、各カメラモジュール242の輝度補正データ情報により構成される。
基線長情報345は、例えば、多視点画像の基準となる視点から各視点までの距離を示す情報を含むようにしてもよい。図13のCの例の場合、基線長情報345は、基準となるカメラモジュール242から他のカメラモジュール242までの距離を示す情報を含む。
図9に戻り、ステップS116において、データ管理部295は、ステップS115において生成された多視点画像ファイルを、記憶部263に供給して記憶させ、その多視点画像ファイルのファイル管理情報302を生成して管理する。また、ユーザ管理部291は、記憶部263に記憶されている、当該ユーザのユーザ管理情報301を更新し、その多視点画像ファイルをユーザに登録する。
ステップS116の処理が終了すると、多視点画像利用サービス提供処理が終了する。
このような多視点画像利用サービス提供処理を実行することにより、ユーザは、多視点撮像により得られた多視点画像データのサーバ202への登録をより容易に行うことができる。また、多視点画像データが、その多視点画像に関する関連データ(デプスデータやメタデータ等)とともにファイル化されて管理されるので、ユーザは、自身が登録した多視点画像データをより容易に利用することができる。つまり、多視点画像利用サービス提供システム200(多視点画像利用サービスプラットフォーム100)は、多視点画像を用いたサービスの利便性を向上させることができる。
なお、以上においては、複数のカメラモジュール242を有する撮像部236を用いて多視点撮像を行い、多視点画像(多視点画像データ)を生成するように説明したが、多視点画像(多視点画像データ)の生成方法は任意である。例えば、単一の撮像素子と光学系を有する撮像部(すなわち、単一のカメラモジュール242を有する撮像部)を用いて撮像位置や撮像方向(すなわち視点)を移動させながら撮像(動画像撮像でもよいし、複数の静止画像撮像でもよい)を行うことにより、多視点画像を生成するようにしてもよい。その場合、撮像位置や撮像方向(視点)の変位に関する情報を、メタデータとして、多視点画像データ(多視点画像符号化データ)に関連付けるのが望ましい。
また、以上においては、ファイル生成部294が生成した多視点画像ファイルが、サーバ202の記憶部263に記憶されて管理されるように説明したが、多視点画像ファイルが管理される場所は任意である。例えば、多視点画像ファイルがサーバ202以外の装置(例えば、図示せぬファイル管理サーバ等)において記憶され、管理されるようにしてもよい。その場合、ファイル生成部294は、生成した多視点画像ファイルを、通信部264を介して、例えば、ビットストリーム、または、ビットストリームの補助情報として、その装置に伝送する。その場合、その装置が、サーバ202と通信して多視点画像ファイルを取得する通信部と、取得した多視点画像ファイルを記憶する記憶部と、その記憶部に記憶された多視点画像ファイルを管理し、必要に応じてその多視点画像ファイルを更新したり、端末装置201やサーバ202等の他の装置に供給したりする機能ブロックであるデータ管理部を有するようにすればよい。
さらに、以上においては、サーバ202において多視点画像ファイルが生成されるように説明したが、多視点画像ファイルの生成は、任意の装置において行われるようにしてもよい。例えば、端末装置201において行われるようにしてもよい。その場合、端末装置201のCPU221が、ファイル生成部294等の必要な機能ブロックを適宜有するようにすればよい。その場合、ファイル生成部294は、符号化部283により多視点画像データが符号化された後(ステップS103の処理後)に、多視点画像ファイルを生成するようにすればよい。そして、ステップS104において、伝送制御部284が多視点画像ファイルを、例えば、ビットストリーム、または、ビットストリームの補助情報として、サーバ202に伝送し、ステップS111において、取得制御部292が、通信部264を制御して、その多視点画像ファイルを取得するようにすればよい。
<デプス検出処理の流れ>
次に、図14のフローチャートを参照して、図9のステップS113において実行されるデプス検出処理の流れの例を説明する。
デプス検出処理が開始されると、デプス検出部293は、ステップS131において、メタデータ333を取得する。ステップS132において、デプス検出部293は、各カメラモジュール242の解像度等に応じて、各撮像画像の解像度を補正する。
ステップS133において、デプス検出部293は、各カメラモジュールのシャッタスピード等に応じて、各撮像画像の輝度を補正する。ステップS134において、デプス検出部293は、各カメラモジュールの画角等に応じて、デプス演算に用いる領域を設定する。
ステップS135において、デプス検出部293は、基線長情報345等に基づいて、ディスパリティ評価時のズレ量を補正する。ステップS136において、デプス検出部293は、カメラ配列や眼数等に基づいて、基準カメラ、マッチング軸、および画像補間方法などを決定する。
ステップS137において、デプス検出部293は、キャリブレーション情報344に基づいて、各撮像画像を校正する。ステップS138において、デプス検出部293は、ステレオマッチングの繰り返し等によりデプス推定を行い、デプスデータを検出する。
デプスデータが検出されると、処理は図9に戻る。
以上のように、デプス検出処理が行われることにより、ユーザは、より容易にデプスデータを生成し、利用することができる。
<3.第3の実施の形態>
<アプリケーション販売>
第1の実施の形態において説明したように、多視点画像利用サービスプラットフォーム100は、例えば、アプリケーションマーケット102において、アプリケーション112を販売するサービスを提供することができる。本実施の形態において、このアプリケーションの販売について説明する。
<多視点画像利用サービス提供システム>
図15は、多視点画像利用サービス提供システムの主な構成例を示す図である。図15に示される多視点画像利用サービス提供システム200は、本技術を適用したシステムの一例であり、サーバ202が、ネットワーク210を介して接続される端末装置401に対して、多視点画像を利用したサービスを提供するシステムである。つまり、多視点画像利用サービス提供システム200は、多視点画像利用サービスプラットフォーム100を実現する構成の一例である。
図15には、多視点画像利用サービスプラットフォーム100が提供するサービスの内、アプリケーション112の販売若しくは提供に関するサービスの提供に関する構成の例を示している。図15において、多視点画像利用サービス提供システム200は、ネットワーク210に接続される端末装置401、サーバ202、およびアプリケーション提供サーバ402を有する。
ネットワーク210に有線若しくは無線により接続される端末装置401は、サーバ202と通信を行うことにより、アプリケーション112の購入に関する手続きを行う。端末装置401は、端末装置201であってもよいし、端末装置201と異なる端末装置であってもよい。端末装置401は、基本的に端末装置201と同様の構成を有する。したがって、図4に示される構成は、端末装置401にも適用することができる。ただし、端末装置401の場合、撮像に関する機能は不要であるので、撮像部236は省略することができる。
アプリケーション提供サーバ402は、アプリケーション112を多視点画像利用サービスプラットフォーム100(アプリケーションマーケット102)に提供するサーバである。サーバ202は、アプリケーション提供サーバ402が提供するアプリケーションを、端末装置401(のユーザ)に向けて販売若しくは提供する。
<サーバ>
図16は、アプリケーション提供サーバ402の主な構成例を示すブロック図である。図16に示されるように、アプリケーション提供サーバ402において、CPU411、ROM412、RAM413は、バス414を介して相互に接続されている。
バス414にはまた、入出力インタフェース420も接続されている。入出力インタフェース420には、入力部421、出力部422、記憶部423、通信部424、およびドライブ425が接続されている。
入力部421は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部421には、操作ボタン、タッチパネル、マイクロホン、カメラ、入力端子等が含まれる。また、加速度センサ、光センサ、温度センサ等の各種センサが入力部421に含まれるようにしてもよい。出力部422は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部422には、ディスプレイ、スピーカ、出力端子等が含まれる。
記憶部423は、例えば、ハードディスク、RAMディスク、不揮発性メモリなどよりなる。通信部424は、例えば、ネットワークインタフェースよりなる。ドライブ425は、例えば磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア431を駆動する。
CPU411は、例えば、記憶部423に記憶されているプログラムを、入出力インタフェース420およびバス414を介して、RAM413にロードして実行することにより、各種処理を行う。RAM413にはまた、CPU411が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU411が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア431に記録してアプリケーション提供サーバ402に提供することができる。その場合、プログラムは、リムーバブルメディア431をドライブ425に装着することにより、入出力インタフェース420を介して、記憶部423にインストールすることができる。
また、このプログラムは、LAN、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介してアプリケーション提供サーバ402に提供することもできる。その場合、プログラムは、有線または無線の伝送媒体を介して、通信部424で受信し、記憶部423にインストールすることができる。
その他、このプログラムは、ROM412や記憶部423に、あらかじめインストールしておくこともできる。
<機能ブロック>
端末装置401は、CPU221が所定のプログラムを実行することにより、図17のAに機能ブロックとして示される機能を有する。図17のAに示されるように、CPU221は、アプリケーション購入処理部441等の機能ブロックを有する。
アプリケーション購入処理部441は、入力部231、出力部232、記憶部233、および通信部234等の各部を制御し、サーバ202と通信を行い、画像を表示したり、ユーザの指示を受け付けたりして、アプリケーションの購入に関する処理を行う。
また、サーバ202は、CPU251が所定のプログラムを実行することにより、図17のBに機能ブロックとして示される機能を有する。図17のBに示されるように、CPU251は、ユーザ管理部451、アプリケーション販売処理部452、およびデータ管理部453等の機能ブロックを有する。
ユーザ管理部451は、ユーザ管理部291と同様に、多視点画像利用サービスを提供するユーザの管理に関する処理を行う。アプリケーション販売処理部452は、通信部264を制御して端末装置401と通信を行う等して、アプリケーションの販売に関する処理を行う。データ管理部453は、データ管理部295と同様に、多視点画像ファイル等のデータの管理に関する処理を行う。また、例えば、データ管理部453は、アプリケーション提供サーバ402から供給されるアプリケーションの管理に関する処理を行う。
さらに、アプリケーション提供サーバ402は、CPU411が所定のプログラムを実行することにより、図17のCに機能ブロックとして示される機能を有する。図17のCに示されるように、CPU411は、アプリケーション提供処理部461等の機能ブロックを有する。
アプリケーション提供処理部461は、通信部424を制御してサーバ202と通信を行う等して、アプリケーションのサーバ202への提供に関する処理を行う。
<多視点画像利用サービス提供処理の流れ>
以上のような構成の多視点画像利用サービス提供システムの端末装置401、サーバ202、およびアプリケーション提供サーバ402は、多視点画像利用サービス提供処理を実行することにより、多視点画像を利用するサービスの提供、本実施の形態の場合、アプリケーションの販売等のサービスの提供を行う。図18のフローチャートを参照して、これらの装置が実行する多視点画像利用サービス提供処理の流れの例を説明する。
ステップS171において、アプリケーション提供サーバ402のアプリケーション提供処理部461は、通信部424を制御する等して提供するアプリケーションをサーバ202に供給し、登録する。
ステップS161において、サーバ202のデータ管理部453は、通信部264等を制御して、アプリケーション提供サーバ402から供給されるアプリケーションを取得し、それを記憶部263に記憶させ、そのアプリケーションを端末装置401に対して販売することができるように管理する。
ステップS151において、端末装置401のアプリケーション購入処理部441は、通信部234を制御し、サーバ202に対してアプリケーションの購入を要求する。
ステップS162において、サーバ202のアプリケーション販売処理部452は、通信部264を制御する等して、その要求を取得する。
ステップS163において、アプリケーション販売処理部452は、ユーザ管理部451やデータ管理部453と連携し、そのユーザに販売することができるアプリケーションのリストを作成する。そして、アプリケーション販売処理部452は、通信部264を制御する等して、そのアプリケーションのリストを端末装置401に提供する。
端末装置401のアプリケーション購入処理部441は、ステップS152において、そのアプリケーションのリストを取得する。アプリケーション購入処理部441は、出力部232を制御する等して、そのアプリケーションのリストをモニタに表示する等して、ユーザに提示し、ユーザからの指示を受け付ける。
例えば、端末装置401のモニタには、図19のAに示されるGUI(Graphical User Interface)471が表示される。ユーザは、このようなGUIに基づいて、所望のアプリケーションを多数の中から絞り込む。例えば、レンズシミュレーションのアプリケーションが選択された場合、さらに、図19のBに示されるようなGUI472が表示され、仮想レンズの選択が行われる。また、例えば、画像を編集するアプリケーションが選択された場合、さらに、図19のCに示されるようなGUI473が表示され、デコレーションスタンプ等のような、その編集機能の選択が行われる。
図18に戻り、ステップS153において、ユーザが、そのリストの中から購入するアプリケーションを選択すると、アプリケーション購入処理部441は、その選択指示を受け付け、通信部234を制御する等して、購入するアプリケーションを選択する制御情報をサーバ202に供給する。
サーバ202のアプリケーション販売処理部452は、ステップS164において、通信部264を制御する等してその制御情報を取得する。ステップS165において、アプリケーション販売処理部452は、ユーザ管理部451やデータ管理部453と連携し、選択されたアプリケーション(ユーザにより購入が指示されたアプリケーション)を、そのユーザのユーザ管理情報301に関連付けるなどして、そのユーザに登録する。
ステップS166において、アプリケーション販売処理部452は、アプリケーションの販売に関する決済処理を行う。ユーザ管理部451は、その決済情報をそのユーザのユーザ管理情報301に反映させる(例えば、そのユーザが所有するポイントやお金から代金若しくは代金に相当するポイントを減算する。また、アプリケーションの購入履歴に今回の販売を追記する)。
ステップS166の処理が終了すると、多視点画像利用サービス提供処理が終了する。
このような多視点画像利用サービス提供処理を実行することにより、ユーザは、多視点画像を利用して処理を行うアプリケーションの購入をより容易に行うことができる。また、購入したアプリケーションがサーバ202においてユーザに登録されて管理されるので、ユーザは、自身が購入したアプリケーションをより容易に利用することができる。つまり、多視点画像利用サービス提供システム200(多視点画像利用サービスプラットフォーム100)は、多視点画像を用いたサービスの利便性を向上させることができる。
なお、アプリケーションは、販売でなくても良く、無料で提供されるようにしても良い。その場合、決済処理は省略することができる。
<4.第4の実施の形態>
<仮想レンズ処理>
以上のようにユーザに提供されるアプリケーションを実行することにより、多視点画像利用サービスプラットフォーム100は、様々な多視点画像を利用するサービスをユーザに提供することができる。
本実施の形態においては、そのアプリケーションの一例として、第1の実施の形態において説明したレンズシミュレーション(仮想レンズ処理)を行うアプリケーションの実行の様子について説明する。
<多視点画像利用サービス提供システム>
図20は、多視点画像利用サービス提供システムの主な構成例を示す図である。図20に示される多視点画像利用サービス提供システム200は、本技術を適用したシステムの一例であり、サーバ202が、ネットワーク210を介して接続される端末装置401に対して、多視点画像を利用したサービスを提供するシステムである。つまり、多視点画像利用サービス提供システム200は、多視点画像利用サービスプラットフォーム100を実現する構成の一例である。
図20には、多視点画像利用サービスプラットフォーム100が提供するサービスの内、レンズシミュレーション(仮想レンズ処理)に関するサービスの提供に関する構成の例を示している。図20において、多視点画像利用サービス提供システム200は、ネットワーク210に接続される端末装置401およびサーバ202を有する。
ネットワーク210に有線若しくは無線により接続される端末装置401は、サーバ202と通信を行い、レンズシミュレーションに用いる多視点画像の選択、シミュレーションする仮想のレンズの選択、合焦位置や被写界深度等のユーザが値を指定する撮像に関するパラメータであるユーザ指定パラメータの設定等を行う。
サーバ202は、それらの処理に基づいて、仮想のレンズをシミュレーションする仮想レンズ処理を実行し、仮想レンズを用いた撮像により得られる仮想の撮像画像データである仮想撮像画像データを生成する。また、サーバ202は、その仮想撮像画像データを保存する(記憶し、管理する)。さらに、サーバ202は、以上のレンズシミュレーションにおいて、どのようなパラメータについてどのような値が設定され、ユーザによりどのような操作(指示)が行われ、どのような処理が行われたか等を示す履歴情報を、このレンズシミュレーションを行うアプリケーションのアプリケーションパラメータとして生成し、保存する(記憶し、管理する)。
<仮想レンズ処理の概要>
次に、仮想レンズ処理の概要について説明する。仮想レンズ処理においては、図2のAに示されるような、ユーザにより指定された仮想のレンズ150が設定され、その仮想のレンズ150に入射する被写体からの入射光である光線ベクトル151、仮想のレンズ150を透過した後の入射光である光線ベクトル152、および、光線ベクトル152から仮想の撮像画像を得る仮想のイメージセンサ153等がシミュレーション(模擬的に現出)され、そのシミュレーションに基づいて、多視点画像から仮想の撮像画像が生成される。
例えば、図21のAに示されるような多視点画像501から、図21のBに示されるような補間画像502やデプスデータ503が生成され、それらを用いて、図21のCに示されるような、仮想のレンズ150(図2のAに示される仮想の光学系)を用いた撮像により得られる仮想の撮像画像504が生成される。
このようにすることにより、多視点画像501の各撮像画像よりも大きな、仮想のレンズ150が付与する光学的効果を反映させた仮想の撮像画像504が得られる。仮想のレンズ150等の光学系は、その仮想の光学系による光学的効果を再現するパラメータよりなる、その仮想の光学系固有のプロファイル情報を用いてシミュレーションされる。したがって、サーバ202は、実在するものから非現実的なものまで、多様な光学系を容易に再現することができる。つまり、ユーザは、このサービスにより、より安価により多様な撮像画像を得ることができる。すなわち、多視点画像利用サービス提供システム200(多視点画像利用サービスプラットフォーム100)は、多視点画像を用いたサービスの利便性を向上させることができる。
<機能ブロック>
端末装置401は、CPU221が所定のプログラムを実行することにより、図22のAに機能ブロックとして示される機能を有する。図22のAに示されるように、CPU221は、ユーザ指示受付処理部511、表示制御部512、および伝送制御部513等の機能ブロックを有する。
ユーザ指示受付処理部511は、入力部231等を制御して、ユーザ指示の受け付けに関する処理を行う。表示制御部512は、出力部232等を制御して、GUIや案内等の画像をモニタに表示させる等の表示制御に関する処理を行う。伝送制御部513は、通信部234等を制御して、ユーザ指示受付処理部511において受け付けられたユーザ指示等の各種情報の伝送に関する処理を行う。
また、サーバ202は、CPU251が所定のプログラムを実行することにより、図22のBに機能ブロックとして示される機能を有する。図22のBに示されるように、CPU251は、ユーザ管理部521、アプリケーション選択処理部522、画像選択処理部523、レンズ選択処理部524、ユーザ指定パラメータ設定処理部525、仮想レンズ処理部526、およびデータ管理部527等の機能ブロックを有する。
ユーザ管理部521は、ユーザ管理部291と同様に、多視点画像利用サービスを提供するユーザの管理に関する処理を行う。アプリケーション選択処理部522は、通信部264を制御して端末装置401と通信を行う等して、実行するアプリケーションの選択に関する処理を行う。画像選択処理部523は、通信部264を制御して端末装置401と通信を行う等して、レンズシミュレーション(仮想レンズ処理)の処理対象とする多視点画像の選択に関する処理を行う。レンズ選択処理部524は、通信部264を制御して端末装置401と通信を行う等して、シミュレーションする仮想のレンズのプロファイル情報の選択に関する処理を行う。ユーザ指定パラメータ設定処理部525は、通信部264を制御して端末装置401と通信を行う等して、端末装置401から伝送されるユーザ指定パラメータの設定に関する処理を行う。仮想レンズ処理部526は、仮想の光学系のシミュレーション(模擬的な現出)に関する処理を行う。データ管理部527は、データ管理部295と同様に、多視点画像ファイル等のデータの管理や、アプリケーションおよびそのアプリケーションに関するデータ等の管理に関する処理を行う。
<多視点画像利用サービス提供処理の流れ>
以上のような構成の多視点画像利用サービス提供システムの端末装置401およびサーバ202、多視点画像利用サービス提供処理を実行することにより、多視点画像を利用するサービスの提供、本実施の形態の場合、レンズシミュレーションのサービスの提供を行う。図23のフローチャートを参照して、これらの装置が実行する多視点画像利用サービス提供処理の流れの例を説明する。
ステップS201において、端末装置401のユーザ指示受付処理部511は、入力部231等を制御して、ユーザからアプリケーションの起動を要求する指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられたアプリケーションの起動要求をサーバ202に供給する。
サーバ202のアプリケーション選択処理部522は、ステップS221において、通信部264等を制御して、その要求を取得する。その要求に応じて、アプリケーション選択処理部522は、ステップS222において、ユーザ管理部521が管理するユーザ管理情報に基づいて、そのユーザが使用可能なアプリケーションのリストを生成し、通信部264等を制御して、そのリストを端末装置401に供給する。
端末装置401の伝送制御部513は、ステップS202において、通信部234等を制御して、そのリストを取得する。表示制御部512は、出力部232を制御し、取得されたそのリストを画像としてモニタに表示する。ユーザは、そのリストに基づいて起動するアプリケーションを選択する。
ステップS203において、ユーザ指示受付処理部511は、入力部231等を制御して、ユーザから起動するアプリケーションの選択指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられた、起動するアプリケーションの選択指示をサーバ202に供給する。
サーバ202のアプリケーション選択処理部522は、ステップS223において、通信部264等を制御して、その選択指示を取得する。次に、画像選択処理部523は、ステップS224において、ユーザ管理部521が管理するユーザ管理情報に基づいて、そのユーザの多視点画像のリストを生成し、通信部264等を制御して、そのリストを端末装置401に供給する。
端末装置401の伝送制御部513は、ステップS204において、通信部234等を制御して、そのリストを取得する。表示制御部512は、出力部232を制御し、取得されたそのリストを画像としてモニタに表示する。ユーザは、そのリストに基づいて処理対象とする多視点画像を選択する。
ステップS205において、ユーザ指示受付処理部511は、入力部231等を制御して、ユーザから処理対象画像の選択指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられた処理対象画像の選択指示を、サーバ202に供給する。
サーバ202の画像選択処理部523は、ステップS225において、通信部264等を制御して、その選択指示を取得する。次に、レンズ選択処理部524は、ステップS226において、ユーザ管理部521が管理するユーザ管理情報に基づいて、そのユーザに登録されたレンズのリストを生成し、通信部264等を制御して、そのリストを端末装置401に供給する。
端末装置401の伝送制御部513は、ステップS206において、通信部234等を制御して、そのリストを取得する。表示制御部512は、出力部232を制御し、取得されたそのリストを画像としてモニタに表示する。ユーザは、そのリストに基づいてシミュレーションする仮想のレンズを選択する。
ステップS207において、ユーザ指示受付処理部511は、入力部231等を制御して、ユーザからレンズの選択指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられたレンズの選択指示を、サーバ202に供給する。
サーバ202のレンズ選択処理部524は、ステップS227において、通信部264等を制御して、その選択指示を取得する。
また、ステップS208において、端末装置401のユーザ指示受付処理部511は、入力部231等を制御して、例えば撮像条件等の、ユーザが値を指定する撮像に関するパラメータであるユーザ指定パラメータを受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられたユーザ指定パラメータを、サーバ202に供給する。
サーバ202のユーザ指定パラメータ設定処理部525は、ステップS228において、通信部264等を制御して、そのユーザ指定パラメータを取得する。
ステップS229において、仮想レンズ処理部526は、仮想レンズ処理を実行し、多視点画像データと、仮想の光学系による光学的効果を再現するパラメータを含むプロファイル情報とを用いて、ステップS227において選択された仮想のレンズを用いてステップS225において選択された多視点画像の被写体を撮像して得られる仮想の撮像画像を生成する。その際、仮想レンズ処理部526は、ステップS228において取得されたユーザ指定パラメータを用いて、仮想のレンズによる光学的影響をより正確に再現する。また、その際、仮想レンズ処理部526は、ステップS225において選択された多視点画像の多視点画像ファイルに含まれるカメラ配列情報342と、眼数情報343と、デプスデータ332とに従って、多視点画像の補間画像を生成する。仮想レンズ処理の詳細については、後述する。
ステップS230において、仮想レンズ処理部526は、通信部264等を制御して、ステップS229の処理により生成された仮想の撮像画像(仮想撮像画像)のデータを端末装置401に供給する。
端末装置401の伝送制御部513は、ステップS209において、その仮想撮像画像のデータを取得する。表示制御部512は、出力部232を制御し、取得されたその仮想撮像画像をモニタに表示する。ユーザは、その仮想撮像画像に基づいて、その仮想撮像画像を保存するか否かを選択する。
ステップS210において、ユーザ指示受付処理部511は、入力部231等を制御して、ユーザから仮想撮像画像のデータの保存指示を受け付ける。伝送制御部513は、通信部234等を制御して、そのユーザ指示受付処理部511により受け付けられた仮想撮像画像のデータの保存指示を、サーバ202に供給する。
サーバ202のデータ管理部527は、ステップS231において、通信部264等を制御して、その仮想撮像画像のデータの保存指示を取得する。ステップS232において、データ管理部527は、このレンズシミュレーションについてのアプリケーションパラメータを生成する。データ管理部527は、ステップS229の処理により生成された仮想撮像画像のデータと、そのアプリケーションパラメータとを記憶して管理し、さらに、当該ユーザに登録する(当該ユーザのユーザ管理情報を更新する)。
ステップS232の処理が終了すると、多視点画像利用サービス提供処理が終了する。
このような多視点画像利用サービス提供処理を実行することにより、ユーザは、多視点画像を利用して仮想のレンズのシミュレーション(すなわち、仮想のレンズを用いた撮像により得られる仮想の撮像画像の生成)をより容易に行うことができる。また、生成された仮想撮像画像データがサーバ202においてユーザに登録されて管理されるので、ユーザは、その仮想撮像画像データをより容易に利用することができる。また、その仮想撮像画像データが、その仮想撮像画像の生成に用いられた多視点画像やアプリケーションパラメータ等と関連付けられて管理されるので、ユーザは、より容易に、その仮想撮像画像データを、関連する他のデータとともに利用することができる。つまり、多視点画像利用サービス提供システム200(多視点画像利用サービスプラットフォーム100)は、多視点画像を用いたサービスの利便性を向上させることができる。
<画面の例>
図24は、表示部531に表示される設定GUIの例を示す模式図である。
図24の画面では、プレビュー画像Pvとともに、設定GUIが表示されている。図24の例では、現像パラメータは、レンズの設計情報、絞り形状、およびフォーカス位置により構成される。
この場合、表示部531には、プレビュー画像Pvに重畳して、設定GUIとして、レンズユニット選択部DL、絞り形状選択部DA、およびフォーカス位置選択部DFが表示される。
レンズユニット選択部DLには、現像パラメータのレンズの設計情報の選択候補に基づくレンズユニットを表す図形が表示される。絞り形状選択部DAには、現像パラメータの絞り形状の選択候補を表す図形が表示される。フォーカス位置選択部DFには、フォーカス位置の選択候補を位置で表す設定バーFbが表示される。
ユーザは、レンズユニット選択部DLに表示される所望のレンズユニットを表す図形を指Uでタッチ操作することにより、そのレンズユニットに対応するレンズの設計情報の選択候補を選択する。また、ユーザは、絞り形状選択部DAに表示される所望の絞り形状を表す図形を指Uでタッチ操作することにより、その絞り形状の選択候補を選択する。
また、ユーザは、フォーカス位置選択部DFの設定バーFbを指Uでタッチ操作し、指Uを上下方向に移動させることにより、設定バーFbを所望のフォーカス位置に対応する位置に移動させる。これにより、ユーザは、所望のフォーカス位置の選択候補を選択することができる。
なお、設定バーFbは、ユーザが設定バーFbを指Uでタッチ操作した後指Uを移動させることにより移動するのではなく、ユーザがフォーカス位置選択部DF上の所望の位置をタッチ操作することにより、その位置に移動するようにしてもよい。また、フォーカス位置の選択候補は表示されず、画面内における指Uのタッチ位置の被写体に最も近いフォーカス位置の選択候補が選択されるようにしてもよい。
また、図24の例では、プレビュー画像Pvの左上にレンズユニット選択部DLが配置され、左下に絞り形状選択部DAが配置され、右側にフォーカス位置選択部DFが配置されているが、配置位置は、これに限定されない。
図示は省略するが、ホワイトバランスや露出補正値等の他の現像パラメータの選択候補も、レンズユニット選択部DL、絞り形状選択部DA、フォーカス位置選択部DF等と同様に表示することができる。
また、第2実施の形態では、表示部531がタッチパネルと一体化されているが、タッチパネルと一体化されていない場合、ユーザは、図示せぬマウス等の操作により画面内に表示されるポインタを移動させ、タッチ操作に相当する選択操作を行う。
<仮想レンズ処理の流れ>
次に、図25のフローチャートを参照して、図23のステップS229において実行される仮想レンズ処理の詳細な流れの例について説明する。
仮想レンズ処理が開始されると、仮想レンズ処理部526は、ステップS251において、選択された多視点画像ファイルを記憶部263から取得する。ステップS252において、仮想レンズ処理部526は、選択されたレンズのプロファイル情報を記憶部263から取得する。
なお、多視点画像ファイルやプロファイル情報が記憶され、管理される場所は、任意であり、記憶部263以外であっても良い。例えば、多視点画像ファイルやプロファイル情報が、端末装置401等のようにサーバ202以外の装置に記憶され、管理されるようにしてもよい。その場合、仮想レンズ処理部526は、例えば、通信部264を制御して、多視点画像ファイルやプロファイル情報を、それらが記憶される装置から取得する。なお、多視点画像ファイルが記憶される場所と、プロファイル情報が記憶される場所とが互いに異なっていてもよい。
プロファイル情報は、仮想の光学系による光学的効果を再現するパラメータよりなる、その仮想の光学系固有の情報である。プロファイル情報には、例えば、RGB毎のPSF(Point spread function)データ、絞り形状、および補間枚数指定情報等が含まれる。
PSFデータは、点拡がり関数または点像分布関数とも称し、仮想の光学系に含まれる仮想のレンズの点光源に対する応答を表す関数である。つまり、PSFデータは、RGB毎に、仮想のレンズを透過する光線に対する仮想のレンズの影響を表すデータである。図26のAにそのPSFデータの例を示す。この例の場合、合焦部(すなわち点光源)までの距離に応じたPSFデータが、色毎(各行)に示されている。
絞り形状は、仮想の光学系に含まれる仮想の絞りの形状を示す情報である。この絞り形状は、実際に存在する絞りの形状であってもよいし、例えば、図26のBの左に示される丸型、星型、X型等のように、実際には存在しない任意の形状であってもよい。なお、この絞り形状は、任意の方法により指定することができる。例えば、予め定められた形状を識別情報(ID)等により指定するようにしてもよい。また、例えば、図26のBの右に示されるように、強度分布542により表現されるようにしてもよい。この強度分布の大きさ(強度の数)は、補間枚数指定情報により指定される補間画像の枚数(補間枚数)に依存する。例えば、補間枚数がN枚だとすると、絞り形状は、NxNの強度分布542により表現される。
補間枚数指定情報は、仮想の撮像画像を作成する際に生成する補間画像の枚数を指定する情報である。つまり、仮想レンズ処理部526は、仮想レンズ処理において、この補間枚数指定情報により指定される枚数の補間画像を生成する。補間画像の枚数が多いほど、より高精細な仮想の撮像画像を得ることができる。一般的には、仮想のレンズが高級な(高性能な)レンズであるほど、補間画像の枚数は多くなる。
以上のように、レンズプロファイル情報は、仮想のレンズの特徴を示す情報により構成される。なお、レンズプロファイル情報の内容は任意であり、上述した各情報の内、一部が省略されるようにしてもよいし、上述した情報以外の情報が含まれるようにしてもよい。例えば、仮想のレンズをエミュレーションするために用いられるレンズの物理的な設計情報がレンズプロファイル情報に含まれるようにしてもよい。
図25に戻り、ステップS253において、仮想レンズ処理部526は、図23のステップS228において取得されたユーザ指定パラメータを設定する。
ユーザ指定パラメータは、ユーザが値を指定する撮像に関するパラメータである。仮想レンズ処理部526は、このユーザ指定パラメータに応じて、仮想の撮像画像を生成する。例えば、ユーザ指定パラメータには、合焦位置指定情報、被写界深度指定情報、超解像処理実行指示情報等が含まれる。
合焦位置指定情報(フォーカス位置指定情報)は、撮像画像内において合焦させる被写体が位置する領域(若しくは点)を指定する情報である。つまり、ユーザが撮像画像の任意の位置を合焦位置として指定すると、その合焦位置の被写体(の距離)に焦点が合焦されるように仮想の撮像画像が生成される。
また、被写界深度指定情報は、被写界深度(絞りの大きさ)を指定する情報である。さらに、超解像処理実行指示情報は、仮想の撮像画像を生成するために多視点画像の各撮像画像を重ね合わせる際に、超解像処理を行うか否か、行う場合、どの範囲にどの程度の処理を行うか等の超解像処理に関する指示を含む情報である。多視点画像の各撮像画像の重ね合わせの際の超解像処理は、この超解像処理実行指示情報に基づいて行われる。
もちろん、ユーザ指定パラメータの内容は任意であり、上述した各情報の内、一部が省略されるようにしてもよいし、上述した情報以外の情報が含まれるようにしてもよい。
ステップS254において、仮想レンズ処理部526は、処理対象の多視点画像データに関連付けられたメタデータに含まれるカメラ配列情報や眼数情報等に基づいて、基準カメラ(基準とする視点の画像)、マッチング軸、画像補間方法等を決定する。
ステップS255において、仮想レンズ処理部526は、生成する補間画像の位置に応じて、画像の補間に用いる各画像(すなわち、重ね合わせる各画像)の混合比率を決定する。
ステップS256において、仮想レンズ処理部526は、デプスデータや以上のように設定した各種パラメータに従って、補間画像を生成する。例えば、仮想レンズ処理部526は、ステップS254において決定された基準とする視点の画像と、ステップS254において決定されたマッチング軸とを用いて、ステップS254において決定された補間方法により指定される画像を、デプスデータに従って重ね合わせることにより、補間画像を生成する。仮想レンズ処理部526は、プロファイル情報の補間枚数指定情報により指定される枚数分の補間画像を生成する。
ステップS257において、仮想レンズ処理部526は、各補間画像に対して、プロファイル情報の絞り形状データを反映する。
ステップS258において、仮想レンズ処理部526は、デプスデータに基づいて、ユーザにより指定された合焦位置(フォーカス位置)のデプス値を求める。つまり、仮想レンズ処理部526は、生成される仮想撮像画像の、例えばステップS228において取得されたユーザ指定パラメータに含まれる合焦位置指定情報(フォーカス位置指定情報)において指定される位置(座標)の被写体のデプス値(被写体までの距離)を求める。
ステップS259において、仮想レンズ処理部526は、ユーザ指定パラメータの被写界深度指定情報により指定される被写界深度を設定する。
ステップS260において、仮想レンズ処理部526は、ステレオマッチングの繰り返し等により多視点画像や補間画像を重ね合わせて仮想撮像画像を生成する。その際、仮想レンズ処理部526は、仮想のレンズの、デプスデータ(被写体のデプス値)に応じたPSFデータを反映させる。また、仮想レンズ処理部526は、ステップS258において求めたデプス値(距離)に合焦させるように、仮想撮像画像を生成する。さらに、仮想レンズ処理部526は、ステップS257において各補間画像に対して絞り形状データを反映させることにより、仮想撮像画像に、仮想の絞りの形状を反映させることができる。また、仮想レンズ処理部526は、ステップS259において設定した被写界深度になるように、仮想撮像画像を生成する。
ステップS261において、仮想レンズ処理部526は、ユーザ指定パラメータの超解像処理実行指示情報に従って、仮想撮像画像に超解像処理を行う。例えば、超解像処理実行指示情報により超解像処理を行わないように指示されている場合、仮想レンズ処理部526は、超解像処理を行わない。また、例えば、超解像処理実行指示情報により超解像処理を行うように指示されている場合、仮想レンズ処理部526は、超解像処理を行う。
なお、超解像処理は、仮想撮像画像全体に対して行うようにしてもよいし、合焦位置のデプス値を含む所定の範囲のデプス値の部分のみ行うようにしてもよい。合焦していない被写体の部分に対して超解像処理を行っても、得られる効果(画質の向上)は少ない。したがって、このように合焦位置とデプス値が一致若しくは近似する部分のみに対して超解像処理を行うことにより、画質の低減を抑制しながら、処理の負荷を低減させることができる。なお、このように超解像処理を行う部分を超解像処理実行指示情報により指示することができるようにしても良い。
ステップS261の処理が終了すると、仮想レンズ処理が終了し、処理は図23に戻る。
以上のように仮想レンズ処理を行うことにより、ユーザは、より容易に仮想撮像画像を得ることができる。
なお、以上に説明した仮想レンズ処理は、サーバ202に限らず、任意の装置において実行されるようにしてもよい。例えば、端末装置401のCPU221が仮想レンズ処理部526等を有し、端末装置401において、仮想レンズ処理が行われるようにしてもよい。その場合も、仮想レンズ処理は、上述した例と基本的に同様に実行することができる。なお、多視点画像ファイルや仮想のレンズのプロファイル情報等、仮想レンズ処理に用いられる情報であって、サーバ202において記憶(管理)される情報は、必要に応じて適宜端末装置401に伝送されるようにすればよい。
<5.第5の実施の形態>
<物販支援>
本実施の形態においては、そのアプリケーションの他の例として、第1の実施の形態において説明した物販支援を行うアプリケーションの実行の様子について説明する。なお、本実施の形態においては、物販支援の一例として、第1の実施の形態において説明したような、家具の販売を支援するアプリケーションについて説明する。
<多視点画像利用サービス提供システム>
図27は、多視点画像利用サービス提供システムの主な構成例を示す図である。図27に示される多視点画像利用サービス提供システム200は、本技術を適用したシステムの一例であり、サーバ202が、ネットワーク210を介して接続される端末装置201に対して、多視点画像を利用したサービスを提供するシステムである。つまり、多視点画像利用サービス提供システム200は、多視点画像利用サービスプラットフォーム100を実現する構成の一例である。
図27には、多視点画像利用サービスプラットフォーム100が提供するサービスの内、物販支援(家具販売支援)に関するサービスの提供に関する構成の例を示している。図27において、多視点画像利用サービス提供システム200は、ネットワーク210に接続される端末装置201、サーバ202、および家具販売サーバ601を有する。
端末装置201は、被写体を撮像して多視点画像を得る多視点撮像を行う。また、端末装置201は、多視点撮像により得られた多視点画像のデプスを検出する。さらに、端末装置201は、多視点撮像を用いて、1枚の仮想撮像画像を生成する。また、端末装置201は、仮想撮像画像への家具画像の配置に関する処理を行う。さらに、端末装置201は、多視点画像データ等をファイル化し、多視点画像ファイルを生成する。
また、ネットワーク210に有線若しくは無線により接続される端末装置201とサーバ202は、互いに通信を行うことにより、家具データの選択、3次元モデリングデータ(3Dモデリングデータ)の伝送、家具購入手続き、および各種データの伝送等の処理を行う。
サーバ202は、端末装置201から供給される各種データの保存等の処理を行う。
ネットワーク210に有線若しくは無線により接続されるサーバ202と家具販売サーバ601は、互いに通信を行うことにより、3次元モデリングデータ(3Dモデリングデータ)の提供や家具購入手続き等の処理を行う。
家具販売サーバ601は、家具の販売若しくは販売の支援に関する処理を行うサーバである。具体的には、家具販売サーバ601は、上述したように、家具販売の決済や、販売支援に用いられる家具画像やその3Dモデリングデータの提供等を行う。家具販売サーバ601は、基本的にアプリケーション提供サーバ402と同様の構成を有する。したがって、図15に示される構成は、家具販売サーバ601にも適用することができる。
<家具販売支援>
次に、以上のような多視点画像利用サービス提供システム200により提供される家具販売支援サービスにおける販売の支援方法について、より具体的に説明する。本技術を適用した多視点画像利用サービスプラットフォーム100により提供される物販支援サービスは、販売支援対象の物品の画像であるオブジェクトを、所望の背景画像に仮想的に配置させることにより、ユーザに、その物品を使用した時の状態を想定させるサービスである。図27の多視点画像利用サービス提供システム200により提供される家具販売支援サービスは、販売支援対象の家具の画像(家具画像)をオブジェクトの一例として採用し、仮想撮像画像を背景画像の一例として採用する。すなわち、この家具販売支援サービスは、仮想撮像画像に家具画像を配置することにより、ユーザに、その家具を部屋等に配置した時の状態を想定させるサービスである。なお、その際、家具販売支援サービスは、単に仮想撮像画像に家具画像を合成するだけでなく、仮想撮像画像のデプスデータを用いて、家具画像の大きさや向きを、その家具画像の配置位置に応じて設定する。これにより、ユーザにより正確な状態を想定させることができる。
より具体的には、端末装置201が、多視点撮像により得られた多視点画像から、図28のAに示されるような仮想撮像画像611を生成する。例えば、ユーザは、購入する家具を設置したい部屋を多視点撮像し、その部屋の仮想撮像画像611を生成する。また、端末装置201は、多視点撮像により得られた多視点画像から、図28のBに示されるような仮想撮像画像611のデプスデータ(デプスマップ)612を生成する。
そして、端末装置201は、家具販売サーバ601が販売する家具の画像(家具画像)とその3Dモデリングデータをサーバ202から取得し、図28のCに示される合成画像613のように、その家具画像を仮想撮像画像611(部屋の画像)に配置する。家具画像の配置はデプスデータ612を用いて行われ、その配置位置の奥行き方向の距離等に応じて、家具画像の大きさや向きが適宜設定される。
また、図29のA示される画像の人物の後ろに、図29のBに示される画像のようにクリスマスツリーを配置する等、配置位置の奥行き方向の距離に応じて、画像内の他の被写体との前後関係(重なり具合)が正確に再現される。
さらに、配置位置はユーザが指定することができ、ユーザは、その仮想撮像画像611として表示される部屋内で家具画像を自由に移動させることができる。また、配置する家具画像は、家具販売サーバ601(サーバ202)がユーザに提供する家具画像の中からユーザが任意に選択することができる。例えば、ユーザは、家具の色や大きさを変更することができる。また、例えば椅子からソファに変更する等、家具の種類を変更することもできる。
合成する家具の数は任意であり、単数であっても良いし、複数であってもよい。また、端末装置201は、家具画像の配置結果を示す合成画像の画像データをサーバ202等に記録させることもできる。したがって、ユーザは、容易に、後で家具画像の配置結果を再度確認することができる。
例えば端末装置201において、家具販売支援のアプリケーションを実行することにより、ユーザは、このような家具販売支援サービスを受けることができる。すなわち、ユーザは、家具を購入する前に、家具を配置する予定の場所(部屋等)に仮想の家具(家具画像)を仮想的に配置することができる(家具配置のシミュレーションを行うことができる)。したがって、ユーザは、家具購入前に、家具購入に関する不安を解消することができ、購買意欲を増大させることができる。すなわち、多視点画像利用サービス提供システム200は、以上のような家具販売支援サービスを提供することにより、家具の販売を支援することができる。
<機能ブロック>
端末装置201は、CPU221が所定のプログラムを実行することにより、図30のAに機能ブロックとして示される機能を有する。図30のAに示されるように、CPU221は、ユーザ指示受付処理部651、表示制御部652、撮像制御部653、メタデータ生成部654、デプス検出部655、仮想撮像画像生成部656、家具画像配置処理部657、購入処理部658、ファイル生成部659、合成画像データ生成部660、アプリケーションパラメータ生成部661、および伝送制御部662等の機能ブロックを有する。
ユーザ指示受付処理部651は、入力部231等を制御して、ユーザ指示の受け付けに関する処理を行う。表示制御部652は、出力部232等を制御して、GUIや案内等の画像をモニタに表示させる等の表示制御に関する処理を行う。撮像制御部653は、多視点撮像の制御に関する処理を行う。メタデータ生成部654は、多視点撮像により得られた多視点画像のメタデータの生成に関する処理を行う。デプス検出部655は、多視点画像のデプスの検出に関する処理を行う。仮想撮像画像生成部656は、仮想撮像画像の生成に関する処理を行う。家具画像配置処理部657は、仮想撮像画像への家具画像の配置に関する処理を行う。購入処理部658は、家具の購入に関する処理を行う。ファイル生成部659は、多視点画像ファイルの生成に関する処理を行う。合成画像データ生成部660は、仮想撮像画像に家具画像が合成された合成画像データの生成に関する処理を行う。アプリケーションパラメータ生成部661は、当該アプリケーションについてのアプリケーションパラメータの生成に関する処理を行う。伝送制御部662は、通信部234等を制御して、各種情報の伝送に関する処理を行う。
また、サーバ202は、CPU251が所定のプログラムを実行することにより、図30のBに機能ブロックとして示される機能を有する。図30のBに示されるように、CPU251は、ユーザ管理部671、アプリケーション選択部672、家具データ選択部673、購入処理部674、取得制御部675、およびデータ管理部676等の機能ブロックを有する。
ユーザ管理部521は、ユーザ管理部291と同様に、多視点画像利用サービスを提供するユーザの管理に関する処理を行う。アプリケーション選択部672は、通信部264を制御して端末装置201と通信を行う等して、実行するアプリケーションの選択に関する処理を行う。家具データ選択部673は、通信部264等を制御して端末装置201と通信を行い、仮想撮像画像に配置する家具(家具画像)の選択に関する処理を行う。購入処理部674は、通信部264等を制御して、端末装置201や家具販売サーバ601と通信を行い、家具の購入に関する処理を行う。取得制御部675は、通信部264等を制御して、端末装置201等から伝送される各種データの取得に関する処理を行う。データ管理部676は、データ管理部295と同様に、多視点画像ファイル等のデータの管理や、アプリケーションおよびそのアプリケーションに関するデータ等の管理に関する処理を行う。
さらに、家具販売サーバ601は、CPU411が所定のプログラムを実行することにより、図30のCに機能ブロックとして示される機能を有する。図30のCに示されるように、CPU411は、家具データ提供部681および購入処理部682等の機能ブロックを有する。
家具データ提供部681は、例えば家具画像やその3Dモデリングデータ等の、家具の販売支援に用いるデータの提供に関する処理を行う。購入処理部682は、通信部424等を制御して、サーバ202と通信を行い、家具購入の手続きに関する処理を行う。
<多視点画像利用サービス提供処理の流れ>
以上のような構成の多視点画像利用サービス提供システムの端末装置201、サーバ202、および家具販売サーバ601は、多視点画像利用サービス提供処理を実行することにより、多視点画像を利用するサービスの提供、本実施の形態の場合、物販支援のサービスの提供を行う。図31乃至図33のフローチャートを参照して、これらの装置が実行する多視点画像利用サービス提供処理の流れの例を説明する。
ステップS321において、家具販売サーバ601の家具データ提供部681は、家具画像の画像データやその3Dモデリングデータをサーバ202に供給し、登録させる。サーバ202のデータ管理部676は、ステップS311において、それらのデータを取得し、販売を支援する家具として登録し、管理する。
ステップS301において、端末装置201のユーザ指示受付処理部651は、入力部231等を制御して、ユーザからアプリケーションの起動を要求する指示を受け付ける。伝送制御部662は、通信部234等を制御して、そのユーザ指示受付処理部651により受け付けられたアプリケーションの起動要求をサーバ202に供給する。
サーバ202のアプリケーション選択部672は、ステップS312において、通信部264等を制御して、その要求を取得する。その要求に応じて、アプリケーション選択部672は、ステップS313において、ユーザ管理部671が管理するユーザ管理情報に基づいて、そのユーザが使用可能なアプリケーションのリストを生成し、通信部264等を制御して、そのリストを端末装置201に供給する。
端末装置201の伝送制御部662は、ステップS302において、通信部234等を制御して、そのリストを取得する。表示制御部652は、出力部232を制御し、取得されたそのリストを画像としてモニタに表示する。ユーザは、そのリストに基づいて起動するアプリケーションを選択する。
ステップS303において、ユーザ指示受付処理部651は、入力部231等を制御して、ユーザから起動するアプリケーションの選択指示を受け付ける。伝送制御部662は、通信部234等を制御して、そのユーザ指示受付処理部651により受け付けられた、起動するアプリケーションの選択指示をサーバ202に供給する。
サーバ202のアプリケーション選択部672は、ステップS314において、通信部264等を制御して、その選択指示を取得する。次に、家具データ選択部673は、ステップS315において、ユーザ管理部521が管理するユーザ管理情報に基づいて、そのユーザに販売可能な家具のリストである物販リストを生成し、通信部264等を制御して、そのリストを端末装置401に供給する。
端末装置401の伝送制御部662は、ステップS304において、通信部234等を制御して、そのリストを取得する。表示制御部652は、出力部232を制御し、取得されたそのリストを画像としてモニタに表示する。ユーザは、そのリストに基づいて処理対象とする家具(家具データ)を選択する。
ステップS305において、ユーザ指示受付処理部651は、入力部231等を制御して、ユーザから家具データの選択指示を受け付ける。伝送制御部662は、通信部234等を制御して、そのユーザ指示受付処理部651により受け付けられた家具データの選択指示を、サーバ202に供給する。
サーバ202の家具データ選択部673は、ステップS316において、通信部264等を制御して、その選択指示を取得する。
ところで、家具データの選択指示を供給した端末装置201の撮像制御部653は、ステップS306において、撮像部236を制御して多視点撮像を行う。ステップS307において、メタデータ生成部654は、ステップS306において生成された多視点画像に関連付けられるメタデータを生成する。メタデータの内容は任意であるが、例えば、図11を参照して説明したようなカメラ配列情報342や眼数情報343等の情報を含むようにしてもよい。
ステップS308において、デプス検出部655は、多視点画像についてデプス値を検出し、デプスデータ(デプスマップ)を生成する。例えば、デプス検出部655は、図14を参照して説明したデプス検出処理を行う等してデプスデータを生成する。ステップS309において、仮想撮像画像生成部656は、多視点画像を用いて仮想撮像画像を生成する。
図32に進み、家具販売サーバ601の家具データ提供部681は、ステップS351において、家具画像の画像データやその3Dモデリングデータが更新された場合、通信部424等を制御し、それらのデータをサーバ202に、バックグラウンド転送により適宜供給する。サーバ202のデータ管理部676は、ステップS341において、それらのデータを取得し、登録情報を更新する。
ステップS342において、サーバ202の家具データ選択部673は、ステップS316において取得した家具データの選択指示に基づいて、通信部264等を制御して、選択された家具の画像データと3Dモデリングデータとを端末装置201に提供する。端末装置201の伝送制御部662は、ステップS331において、通信部234を制御して、その家具の画像データおよび3Dモデリングデータを取得する。
また、サーバ202の家具データ選択部673は、ステップS343において、ステップS342において提供した家具データの家具と関連性の高い家具(例えば、色違いの家具やサイズ違いの家具等)を選択し、通信部264等を制御して、その家具画像や3Dモデリングデータ等を、端末装置201に、バックグラウンド転送により適宜供給する。端末装置201の伝送制御部662は、ステップS332において、通信部234を制御して、その家具の画像データおよび3Dモデリングデータを取得する。
このように関連家具のデータを、端末装置201からの要求無しにバックグラウンド処理で端末装置201に伝送させることにより、端末装置201のユーザは、データ取得に関する通信のタイムラグ無しに、仮想撮像画像に配置する家具画像を、関連性の高い他の家具の画像に置き換えることができる。
ステップS333において、端末装置201の家具画像配置処理部657は、家具画像配置処理を実行し、背景画像の一例である仮想撮像画像に、オブジェクトの一例である家具画像を配置する。その際、家具画像配置処理部657は、家具画像の配置位置に応じて、家具画像の大きさや向きを適宜設定して配置する。家具画像配置処理の結果、家具画像や3Dモデリングデータの変更や追加が必要になった場合、家具画像配置処理部657は、ステップS334において、通信部234等を制御して、家具画像や3Dモデリングデータの変更・追加をサーバ202に要求する。
サーバ202の家具データ選択部673は、ステップS344において、通信部264等を制御して、その要求を取得すると、その要求に応じて、ステップS345において、通信部264等を制御して、選択された家具の画像データと3Dモデリングデータとを端末装置201に提供する。端末装置201の伝送制御部662は、ステップS335において、通信部234を制御して、その家具の画像データおよび3Dモデリングデータを取得する。
また、サーバ202の家具データ選択部673は、ステップS345において、ステップS344において提供した家具データの家具と関連性の高い家具(例えば、色違いの家具やサイズ違いの家具等)を選択し、通信部264等を制御して、その家具画像や3Dモデリングデータ等を、端末装置201に、バックグラウンド転送により適宜供給する。端末装置201の伝送制御部662は、ステップS336において、通信部234を制御して、その家具の画像データおよび3Dモデリングデータを取得する。
このように関連家具のデータを、端末装置201からの要求無しにバックグラウンド処理で端末装置201に伝送させることにより、端末装置201のユーザは、データ取得に関する通信のタイムラグ無しに、仮想撮像画像に配置する家具画像を、関連性の高い他の家具の画像に置き換えることができる。
図33に進み、端末装置201のユーザは、以上のような家具配置のシミュレーションにより、家具を購入するか否かを決定する。ユーザ指示受付処理部651は、ステップS361において、入力部231等を制御して、ユーザ指示を受け付け、その指示にしたがって購入する家具を決定する。
ステップS362において、端末装置201の購入処理部658は、通信部234等を制御して、サーバ202と通信を行い、決済処理等の、購入に関する処理を行う。サーバ202の購入処理部674は、ステップS371において、通信部264等を制御して、端末装置201や家具販売サーバ601と通信を行い、決済処理等の、購入に関する処理を行う。家具販売サーバ601の購入処理部682は、ステップS381において、通信部424等を制御して、端末装置201やサーバ202と通信を行い、決済処理等の、購入に関する処理を行う。
ステップS363において、端末装置201のファイル生成部659は、多視点画像ファイルを生成する。なお、この多視点画像ファイルのフォーマット形式は任意である。例えば、多視点画像が静止画像の場合、EXIFファイルフォーマットでファイル化されるようにしてもよい。また、例えば、多視点画像が動画像の場合、MP4ファイルフォーマットでファイル化されるようにしてもよい。もちろん、これら以外のフォーマット形式でファイル化されるようにしてもよい。
ステップS364において、合成画像データ生成部660は、仮想撮像画像に家具画像をユーザの指示通りに配置して合成した合成画像のデータ(合成画像データ)を生成する。
ステップS365において、アプリケーションパラメータ生成部661は、この家具販売支援において、どのようなパラメータについてどのような値が設定され、ユーザによりどのような操作(指示)が行われ、どのような処理が行われたか等を示す履歴情報を、この物販支援を行うアプリケーションのアプリケーションパラメータとして生成する。
ステップS366において、伝送制御部662は、通信部234を制御して、以上のように生成された、各種データ(多視点画像ファイル(多視点画像データ、デプスデータ、メタデータ等)、合成画像データ、アプリケーションパラメータ等)をサーバ202に供給する。
サーバ202の取得制御部675は、ステップS372において、通信部264を制御し、その各種データを取得する。
ステップS373において、データ管理部676は、ステップS372において取得された各種データを、記憶し、ユーザに登録する(ユーザ管理情報に反映させる)。
ステップS373の処理が終了すると、多視点画像利用サービス提供処理が終了する。
このような多視点画像利用サービス提供処理を実行することにより、ユーザは、多視点画像を利用して家具配置のレンズのシミュレーションをより容易に行うことができる。また、生成された合成画像データがサーバ202においてユーザに登録されて管理されるので、ユーザは、家具の配置結果を容易に再確認することができる。つまり、多視点画像利用サービス提供システム200(多視点画像利用サービスプラットフォーム100)は、多視点画像を用いたサービスの利便性を向上させることができる。
<家具画像配置処理の流れ>
次に、図34のフローチャートを参照して、図32のステップS333において実行される家具画像配置処理の詳細な流れの例について説明する。
家具画像配置処理が開始されると、家具画像配置処理部657は、ステップS391において、例えば入力部231等を制御して、ユーザ等から配置位置指定を受け付ける。
ステップS392において、家具画像配置処理部657は、背景画像の一例である仮想撮像画像(多視点画像)のデプスデータおよび基線長情報、並びに、オブジェクトの一例である家具画像の3Dモデリングデータに基づいて、仮想撮像画像に家具画像を配置する位置における家具画像の向きや大きさを設定する。
ステップS393において、家具画像配置処理部657は、仮想撮像画像に対して、(例えば、ステップS391において受け付けられた配置位置指定により)指定される位置に、ステップS392において設定した向きや大きさで、家具画像を配置して合成する。
ステップS393の処理が終了すると、家具画像配置処理が終了し、処理は、図32に戻る。
以上のように家具画像配置処理を行うことにより、ユーザは、より容易に家具配置のシミュレーションを行うことができる。
なお、以上に説明した家具画像配置処理は、端末装置201に限らず、任意の装置において実行されるようにしてもよい。例えば、サーバ202において、家具画像配置処理が行われるようにしてもよい。その場合、サーバ202のCPU251が家具画像配置処理部657等、必要な機能ブロックを適宜有するようにすればよい。その場合も、家具画像配置処理は、上述した例と基本的に同様に実行することができる。なお、多視点画像ファイル等の家具画像配置処理に用いられる情報であって、端末装置201において得られる情報は、伝送制御部662の制御の下、必要に応じて適宜サーバ202に伝送されるようにすればよい。
同様に、この家具画像配置処理は、例えば、多視点撮像を行う端末装置201やサーバ202以外の装置(例えば、端末装置401)等において行われるようにしてももちろんよい。その場合、その装置のCPUが家具画像配置処理部657等の必要な機能ブロックを適宜有するようにすればよい。その場合も、家具画像配置処理は、上述した例と基本的に同様に実行することができる。なお、多視点画像ファイルや家具データ等の家具画像配置処理に用いられる情報であって、端末装置201やサーバ202において得られる情報は、伝送制御部662や家具データ選択部673等の制御の下、必要に応じて適宜その装置に伝送されるようにすればよい。
<家具配置更新処理>
以上のような物販支援のアプリケーションにおいて、配置位置指定が更新されたら、その更新に応じて、家具画像の合成位置を変更するようにしてもよい。例えば、図35のAに示されるように、仮想撮像画像701に配置された家具画像702Aの配置位置指定を点線矢印703のように更新した場合、家具画像702Aは、その更新後の配置位置に応じて大きさや向きが再設定される(家具画像702B)。
また、仮想撮像画像の視点を更新した場合、配置された家具画像の位置は更新しないようにし、新たな視点の仮想撮像画像において、その家具画像を元の位置に適切な大きさと向きで再配置するようにしてもよい。例えば、図35のBに示されるように、部屋704を視点705Aから撮像した仮想撮像画像において、ソファ706を図35のBのように配置したとする。その後、仮想撮像画像の視点を視点705Bに移動した場合、その視点更新後の仮想撮像画像にもソファ706は写り込む筈である。したがって、視点更新後の仮想撮像画像において、ソファ706を、その位置に配置するようにする。その際、ソファ706の向きと大きさを、視点更新後の仮想撮像画像に対して適切に調整するようにする。
このような機能を実現するために、家具画像配置処理部657は、家具配置更新処理を実行する。この家具配置更新処理の流れの例を、図36のフローチャートを参照して説明する。家具配置更新処理が開始されると、家具画像配置処理部657は、ステップS401において、配置指定位置が変更されたか否かを判定する。例えば、入力部231を介してユーザからの新たな配置位置指定が受け付けられ、配置位置指定が変更されたと判定された場合、処理はステップS402に進む。
ステップS402において、家具画像配置処理部657は、デプスデータおよび基線長情報、並びに、3Dモデリングデータに基づいて、家具画像の向きや大きさを設定する。ステップS403において、家具画像配置処理部657は、家具画像を仮想撮像画像の更新後の指定位置に合成する。
ステップS403の処理が終了すると、処理はステップS404に進む。また、ステップS401において、配置指定位置が変更されていないと判定された場合、処理はステップS404に進む。
ステップS404において、家具画像配置処理部657は、撮像の位置や向きが変更されたか否かを判定する。例えば、新たな多視点撮像が行われて新たな仮想撮像画像が生成される場合や、動画像の多視点撮像を移動しながら行う場合等のように、撮像の位置や向きが変更されたと判定された場合、処理はステップS405に進む。
ステップS405において、家具画像配置処理部657は、新たな多視点画像により仮想が撮像画像を作成し直すことにより、仮想撮像画像を更新する。ステップS406において、家具画像配置処理部657は、その更新された仮想撮像画像において、仮想撮像画像更新前に配置された家具画像の位置を特定する。ステップS407において、家具画像配置処理部657は、更新された仮想撮像画像の、ステップS406において特定された位置における家具画像の大きさや向きを設定する。ステップS408において、家具画像配置処理部657は、更新された仮想撮像画像の、ステップS406において特定された位置に、ステップS407において設定された大きさや向きで、家具画像を再配置する。
ステップS408の処理が終了すると、家具配置更新処理が終了される。また、ステップS404において、撮像の位置や向きが変更されていないと判定された場合、家具配置更新処理が終了される。
家具画像が仮想撮像画像に配置された後、家具配置のシミュレーションが終了されるまで、この家具配置更新処理が繰り返し実行される。これにより、家具画像が常に適切な位置に適切な大きさと向きで仮想撮像画像に合成されるようにすることができる。
<接地判定>
また、家具画像の配置において、家具画像が仮想撮像画像の床等に接地しているか否かを判定するようにしてもよい。例えば、図37のAに示される仮想撮像画像711において、ライトスタンド712が、図37のAに示されるような位置に配置指定されたとする。この場合、ライトスタンド712は、点線両矢印713に示されるように、床714から離れており、空中に浮いた状態で配置されることになり、現実的な配置位置ではなく、家具配置のシミュレーションとしては不適切であり、望ましくない。
そこで、このような場合、図37のBに示されるように、ライトスタンド712が仮想撮像画像711の床714に接地するように、ライトスタンド712の配置位置を変更するようにしてもよい。また、位置は変更せずに、ユーザ等に対して警告を行うようにしてもよい。
このような機能を実現するために、家具画像配置処理部657は、接地判定処理を実行する。図38のフローチャートを参照して、この接地判定処理の流れの例を説明する。
接地判定処理が開始されると、家具画像配置処理部657は、ステップS421において、家具の配置指定位置の、床等の家具の配置が可能な場所からの高さを特定する。ステップS422において、家具画像配置処理部657は、配置される家具画像の3Dモデリングデータから、その家具画像が床等の家具の配置が可能な場所に接地しているか否かを判定する。接地していないと判定された場合、処理は、ステップS423に進む。
ステップS423において、家具画像配置処理部657は、エラー処理を行う。このエラー処理の内容は任意であり、どのような処理が行われるようにしてもよい。例えば、上述したように、家具画像が接地するように家具画像を移動させても良いし、家具画像の配置位置は更新せずにユーザ等に対して警告を行うようにしてもよい。
ステップS423の処理が終了すると、接地判定処理が終了される。また、ステップS422において、家具画像が床等の家具の配置が可能な場所に接地していると判定された場合、接地判定処理が終了される。
家具の配置が行われる度に、この接地判定処理が実行される。これにより、ユーザは、より現実味のある家具配置のシミュレーションを行うことができる。
また、上述したようにオブジェクトの配置位置の高さ方向の調整だけでなく、背景画像の内容(背景画像に含まれる物体の位置等)に基づいて、オブジェクトの水平方向(左右方向や前後(奥行き)方向)の配置位置を適宜調整するようにしてもよい。
例えば、背景画像(仮想撮像画像)が、大きな柱が一番手前にあり、その柱の後ろに空間があり、その空間の後ろに壁があるような部屋の画像であるとする。この壁の手前(部屋内)において、柱の部分をオブジェクト(家具画像)の配置不可能領域とし、柱の後ろと壁の間の空間をオブジェクト(家具画像)の配置可能領域とするようにする。そして、家具画像がその配置不可能領域に配置されるように指示された場合、その家具画像が、配置可能領域である柱の後ろと壁の間の空間に移動されて配置されるようにする。その際、家具画像が、その移動後の配置位置に応じて大きさや向きが設定されるだけでなく、必要に応じて家具画像の一部または全部が柱の後ろに隠れるように加工されて、仮想撮像画像に合成されるようにする。
このようにすることにより、ユーザは、より現実味のある家具配置のシミュレーションを行うことができる。
<長さ計測>
また、仮想撮像画像上で長さを計測することができるようにしてもよい。例えば、図39に示されるように、仮想撮像画像721において、点線両矢印722のように窓の横幅を計測するとする。仮想撮像画像721内において、窓の大きさは、その窓の奥行き方向の距離等によって変化する。そこで、多視点画像のデプスデータや基線長情報等を用いて、計測された長さを、その奥行き方向の距離に応じて補正するようにしてもよい。
このような機能を実現するために、家具画像配置処理部657は、計測処理を実行する。図40のフローチャートを参照して、この計測処理の流れの例を説明する。
計測処理が開始されると、家具画像配置処理部657は、ステップS441において、仮想撮像画像上で範囲指定を受け付ける。範囲指定がされると、家具画像配置処理部657は、ステップS442において、仮想撮像画像の生成に用いられた多視点画像のデプスデータや基線長情報に基づいて、指定された範囲の長さを計測する。ステップS442の処理が終了すると、計測処理が終了する。
これにより、例えば、図39の仮想撮像画像721において、窓の横幅の長さ(点線両矢印722)をより正確に計測することができる。したがって、例えば、この窓にかけるカーテンの購入等の際に、カーテンの寸法の測り間違い等のミスの発生を抑制することができ、ユーザの購買意欲の低減を抑制することができる。すなわち、このようなサービスによって販売を支援することができる。
<照明処理>
また、仮想撮像画像上で照明(光線)の当たり方を再現するようにしてもよい。例えば、図41にしめされるように、仮想撮像画像731にライトスタンド732を配置したとき、このライトスタンド732の照明を点灯させた状態を再現するようにしてもよい。
このような機能を実現するために、家具画像配置処理部657は、照明処理を実行する。図42のフローチャートを参照して、この照明処理の流れの例を説明する。
照明処理が開始されると、家具画像配置処理部657は、ステップS461において、色、明るさ、向き等の光源に関するパラメータを含む光源パラメータの指定を受け付ける。この光源パラメータに含まれる各パラメータの値は、ユーザにより指定されるようにしてもよいし、家具(照明器具)画像に関連付けられた家具データとして提供されるようにしてもよい。ステップS462において、家具画像配置処理部657は、その指定される光源パラメータに基づいて、仮想撮像画像における照明(光源からの光)の当たり方をシミュレーションする(模擬的に現出する)。ステップS463において、家具画像配置処理部657は、そのシミュレーション結果を仮想撮像画像に反映させる。例えば、照明が当たる部分は明るくしたり、当たらない部分は暗くしたり、影をつけたりする。
このようにすることにより、ユーザは、より現実味のある照明器具の配置のシミュレーションを行うことができる。したがって、照明器具購入の際に、実際に購入した照明器具の照明の色や明るさが店頭やカタログ等を見てした推定と大幅に異なる等の不都合の発生を抑制することができ、ユーザの購買意欲の低減を抑制することができる。すなわち、このようなサービスによって販売を支援することができる。
<動線案内処理>
また、仮想撮像画像上において、動線となる部分を強調表示するようにしてもよい。例えば、図43にしめされるように、仮想撮像画像741上にテーブル742を配置した状態において、動線としての条件を満たす部分743を特定し、その部分を案内するようにしてもよい。図43の例の場合、その動線としての条件を満たす部分743が斜線模様等で強調されるように表示されている。動線としての条件は、任意であるが、例えば、床等の人が立つことができること、人が通れる程度の幅が確保されていること等が考えられる。
動線としての条件を満たす部分743を示す表示方法は、色や輝度によるものであってもよいし、矢印や星印等の記号や図形を用いたものであっても良い。
このような機能を実現するために、家具画像配置処理部657は、動線案内処理を実行する。図44のフローチャートを参照して、この動線案内処理の流れの例を説明する。
動線案内処理が開始されると、家具画像配置処理部657は、ステップS481において、基線長情報に基づいて、仮想撮像画像における所定の幅以上の床の部分、すなわち、動線としての条件を満たす部分を特定する。ステップS482において、家具画像配置処理部657は、その特定された部分を、模様、色、または輝度等により強調表示する。ステップS482の処理が終了すると、動線案内処理が終了する。
このようにすることにより、ユーザは、家具配置の際に、動線を確保するように家具の配置をシミュレーションすることができる。したがって、例えば、家具が大きすぎて人が通れない隙間しか設けられない等の不都合の発生を抑制することができる。また、例えば、車椅子が通れる動線を確保できるか否か等の確認を家具購入前に行うことができる。したがって、このようなサービスによってユーザの購買意欲を向上させ、販売を支援することができる。
<人物画像配置>
また、家具を配置する際に、仮想撮像画像上に人物画像を配置するようにしてもよい。例えば、図45に示されるように、仮想撮像画像751に椅子752を配置し、その近傍に、人物画像753を配置することができるようにしてもよい。この人物画像は、実際の人物の撮像画像であってもよいし、架空の人物の画像であってもよい。いずれにしても、この人物画像には、家具画像と同様の3Dモデリングデータが関連付けられている。
このような機能を実現するために、家具画像配置処理部657は、人物画像配置処理を実行する。図46のフローチャートを参照して、この人物画像配置処理の流れの例を説明する。
人物画像配置処理が開始されると、家具画像配置処理部657は、ステップS501において、入力部231等を介して、ユーザ等からの人物画像の配置位置の位置指定を受け付ける。ステップS502において、家具画像配置処理部657は、家具画像の場合と同様に、仮想撮像画像を生成するために用いられる撮像画像の基線長情報やデプスデータ等に基づいて、指定された位置における人物画像の大きさや向きを設定する。ステップS503において、家具画像配置処理部657は、(例えば、ステップS501において)指定された位置に、ステップS502において設定された大きさや向きで人物画像を配置する。ステップS503の処理が終了すると、人物画像配置処理が終了する。
このようにすることにより、ユーザは、家具画像だけでなく、人物画像も仮想撮像画像に配置することができる。したがって、配置した家具と人物画像とを比較することができ、配置した家具の大きさや雰囲気をより正確に表現することができる。したがって、例えば、購入した家具が思っていたより大きかった、思っていた印象と異なる等の不都合の発生を抑制することができる。したがって、このようなサービスによってユーザの購買意欲を向上させ、販売を支援することができる。
なお、人物画像の位置の設定方法は、任意である。例えば、配置された家具画像上や近傍等、家具画像の位置に応じて人物画像の配置位置が決定されるようにしてもよい。また、例えば、ユーザが家具画像を指定するようにし、その指定された家具画像に応じた位置に人物画像が配置されるようにしてもよい。なお、配置する人物画像は、1名の画像であってもよいし、複数人の画像であってもよい。
なお、ここで人物画像とは、販売を支援する対象であるオブジェクト(例えば、家具画像)ではない、背景画像(例えば、仮想撮像画像)に合成(配置)する画像の一例である。つまり、上述した人物画像の場合と同様の方法で、人物画像以外の任意の画像を配置するようにしてもよい。例えば、犬や猫等の動物の画像(動物画像)であってもよいし、販売(支援)対象でない物品の画像(物品画像)であってもよいし、人物と動物の両方を含む画像のように、それらを組み合わせた画像(混在画像)であってもよい。
さらに、以上のように画像を配置する際に、配置する画像をユーザ等が選択することができるようにしてもよい。例えば、人物画像を配置するか、動物画像を配置するか、物品画像を配置するか、混在画像を配置するか等を選択することができるようにしてもよい。さらに詳細な選択を行うことができるようにしてもよい。例えば、人物画像の場合、男性、女性、大人、子供、姿勢(立っているか座っているか等)、服装、人数等を選択することができるようにしてもよい。動物画像、物品画像、混在画像の場合も同様に、種類、性別、年齢、大きさ、色等、任意のパラメータについて、選択することができるようにしてもよい。なお、このような画像の選択方法は任意である。例えば、予め用意された複数の候補の中からユーザ等が所望の画像を選択するようにしてもよい。また、ユーザ等が、画像を作成したり加工したり合成したりして、この人物画像のように合成する画像を作成するようにしてもよい。
<家具リスト制限>
また、上述したように、ユーザが配置する家具を選択する際に、家具のリストが提示されるが、その際、仮想撮像画像内に配置可能な家具のみをリストにしてユーザに提示するようにしてもよい。つまり、配置不可能な家具をリストから省略するようにし、ユーザ等が、配置可能な家具画像(オブジェクト)の中から仮想撮像画像(背景画像)に配置する家具画像を選択するようにしてもよい。
このような機能を実現するために、家具画像配置処理部657は、家具リスト制限処理を実行する。図47のフローチャートを参照して、この家具リスト制限処理の流れの例を説明する。
家具リスト制限処理が開始されると、家具画像配置処理部657は、ステップS521において、仮想撮像空間の生成に用いられる多視点画像の基線長情報から、仮想撮像画像内に配置可能な家具の大きさを判定する。ステップS522において、家具画像配置処理部657は、サーバ202から供給されたリストの家具画像の3Dモデリングデータから、仮想撮像画像内に配置可能な家具を特定する。ステップS523において、家具画像配置処理部657は、ステップS522において特定された家具のみのリストを作成する。表示制御部652は、出力部232を制御し、家具画像配置処理部657により作成されたそのリストを画像としてモニタに表示する。ステップS523の処理が終了すると、家具リスト制限処理が終了する。
このようにすることにより、ユーザに提示されるリストから不要な家具を除去することができる。したがって、ユーザはより有用なリストを参照し、家具を選択することができる。特に販売する家具の数や種類が多数存在する場合、ユーザによるリストからの家具の選択が困難になるおそれがあるので、できるだけ不要な情報はリストから除くのが望ましい。したがって、このようなサービスによってユーザの家具選択を容易にし、購買意欲の低減を抑制することができ、販売を支援することができる。
なお、以上において、画像合成の例として、多視点撮像により得られた仮想撮像画像と家具画像を合成する例を説明したが、合成する画像はどのようなものであってもよい。例えば、撮像画像同士を合成するようにしてもよいし、コンピュータグラフィック画像のような人工的な画像同士を合成するようにしてもよいし、撮像画像と人工的な画像とを合成するようにしてもよい。また、撮像画像の一部が人工的な画像となっている画像を合成するようにしてもよい。さらに、動画像同士を合成するようにしてもよいし、静止画像同士を合成するようにしてもよいし、動画像と静止画像とを合成するようにしてもよい。
また、以上において、物販支援サービスとして、背景画像にオブジェクトを合成するように説明したが、このオブジェクトは、販売支援の対象となる物品の画像であればどのようなものであってもよく、3Dモデリングデータを有していなくてもよい。例えば、3Dモデリングデータは、オブジェクトとは別の場所から提供されるようにしてもよい。また、例えば、3Dモデリングデータではなく、大きさ等を示す簡易的な情報であってもよい。
また、背景画像は、オブジェクトが配置される画像であることを示すものであり、オブジェクトとの重畳の関係(位置関係)を示すものではない。例えば、背景画像には、オブジェクトの前に重畳される前景が含まれていてもよい。また、背景画像が、その前景のみにより構成される(すなわち、全ての背景画像がオブジェクトの前に位置するように重畳される)ようにしてもよい。さらに、オブジェクトを配置する位置に応じて、背景画像が、オブジェクトの前景になったり背景になったりするようにしてもよい。すなわち、背景画像が、複数の画像により構成されるようにしてもよい(複数の画像が重畳されたものであってもよい)。また、上述したように、背景画像が1枚の撮像画像(仮想撮像画像)よりなるものの、オブジェクト(家具画像)の配置位置(特に奥行き方向の位置)に応じて、その背景画像の一部がオブジェクトの前に位置するように、オブジェクトと背景画像が適宜加工されて合成されるようにしてもよい。
<6.その他>
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図4、図6、および図16に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されているリムーバブルメディア(例えば、リムーバブルメディア241、リムーバブルメディア271、リムーバブルメディア431)により構成される。このリムーバブルメディアには、磁気ディスク(フレキシブルディスクを含む)や光ディスク(CD-ROMやDVDを含む)が含まれる。さらに、光磁気ディスク(MD(Mini Disc)を含む)や半導体メモリ等も含まれる。
その場合、プログラムは、それらのリムーバブルメディアをドライブに装着することにより、入出力インタフェースを介して、記憶部にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、各装置の通信部(例えば、通信部234、通信部264、通信部424)で受信し、記憶部(例えば、記憶部233、記憶部263、記憶部423)にインストールすることができる。
その他、このプログラムは、各装置のROM(例えば、ROM222、ROM252、ROM412)や記憶部(例えば、記憶部233、記憶部263、記憶部423)に、あらかじめインストールしておくこともできる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、上述した各ステップの処理は、上述した各装置、若しくは、上述した各装置以外の任意の装置において、実行することができる。その場合、その処理を実行する装置が、上述した、その処理を実行するのに必要な機能(機能ブロック等)を有するようにすればよい。また、処理に必要な情報を、適宜、その装置に伝送するようにすればよい。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
上述した実施形態に係る画像処理装置は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。
また、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
なお、本技術は以下のような構成も取ることができる。
(1) 視点が互いに異なる複数の画像からなる多視点画像のデータである多視点画像データを符号化する符号化部と、
前記符号化部により前記多視点画像データが符号化された多視点画像符号化データに、前記多視点画像の各視点の相対位置関係を示す配列情報と、前記多視点画像の視点数を示す眼数情報とを関連付ける関連付け処理部と
を備える画像処理装置。
(2) 前記関連付け処理部は、さらに、前記多視点画像における被写体までの距離を示すデプスデータを前記多視点画像符号化データに関連付ける
(1)、(3)乃至(19)のいずれかに記載の画像処理装置。
(3) 前記関連付け処理部は、さらに、前記多視点画像の各視点のばらつきを表すキャリブレーション情報を前記多視点画像符号化データに関連付ける
(1)、(2)、(4)乃至(19)のいずれかに記載の画像処理装置。
(4) 前記キャリブレーション情報は、前記多視点画像の各視点の位置を示す情報を含む
(1)乃至(3)、(5)乃至(19)のいずれかに記載の画像処理装置。
(5) 前記キャリブレーション情報は、前記多視点画像の各画像の輝度を補正する情報を含む
(1)乃至(4)、(6)乃至(19)のいずれかに記載の画像処理装置。
(6) 前記関連付け処理部は、さらに、前記多視点画像における長さの基準となる情報である基線長情報を前記多視点画像符号化データに関連付ける
(1)乃至(5)、(7)乃至(19)のいずれかに記載の画像処理装置。
(7) 前記基線長情報は、前記多視点画像の基準となる視点から各視点までの距離を示す情報を含む
(1)乃至(6)、(8)乃至(19)のいずれかに記載の画像処理装置。
(8) 前記関連付け処理部は、さらに、前記多視点画像を得る撮像に関する情報を前記多視点画像符号化データに関連付ける
(1)乃至(7)、(9)乃至(19)のいずれかに記載の画像処理装置。
(9) 前記撮像に関する情報は、解像度、焦点距離、ISO感度、撮像方向、シャッタスピード、F値、および画角のうち、少なくともいずれか1つを含む
(1)乃至(8)、(10)乃至(19)のいずれかに記載の画像処理装置。
(10) 前記関連付け処理部は、さらに、前記多視点画像を得る撮像において撮像方向の変位に関する情報を前記多視点画像符号化データに関連付ける
(1)乃至(9)、(11)乃至(19)のいずれかに記載の画像処理装置。
(11) 前記配列情報は、基準となる視点から各視点までの距離を示す情報と、前記基準となる視点から各視点の向きを示す情報とを含む
(1)乃至(10)、(12)乃至(19)のいずれかに記載の画像処理装置。
(12) 前記関連付け処理部により互いに関連付けられた前記多視点画像符号化データ、前記配列情報、および前記眼数情報を含むファイルを生成するファイル生成部をさらに備える
(1)乃至(11)、(13)乃至(19)のいずれかに記載の画像処理装置。
(13) 前記ファイル生成部は、EXIFファイルフォーマットで前記ファイルを生成する
(1)乃至(12)、(14)乃至(19)のいずれかに記載の画像処理装置。
(14) 前記ファイル生成部は、MP4ファイルフォーマットで前記ファイルを生成する
(1)乃至(13)、(15)乃至(19)のいずれかに記載の画像処理装置。
(15) 前記ファイル生成部により生成された前記ファイルを記憶する記憶部をさらに備える
(1)乃至(14)、(16)乃至(19)のいずれかに記載の画像処理装置。
(16) 前記ファイル生成部により生成された前記ファイルを伝送する伝送部をさらに備える
(1)乃至(15)、(17)乃至(19)のいずれかに記載の画像処理装置。
(17) 前記伝送部は、前記ファイルをビットストリーム、または、前記ビットストリームの補助情報として伝送する
(1)乃至(16)、(18)、(19)のいずれかに記載の画像処理装置。
(18) 被写体を撮像し、視点が互いに異なる複数の撮像画像を得る撮像部をさらに備え、
前記符号化部は、前記撮像部により得られた複数の前記撮像画像からなる多視点画像のデータである多視点画像データを符号化する
(1)乃至(17)、(19)のいずれかに記載の画像処理装置。
(19) 前記多視点画像のデプスデータを生成するデプスデータ生成部をさらに備え、
前記関連付け処理部は、さらに、前記デプスデータ生成部により生成された前記デプスデータを前記多視点画像符号化データに関連付ける
(1)乃至(18)のいずれかに記載の画像処理装置。
(20) 視点が互いに異なる複数の画像からなる多視点画像のデータである多視点画像データを符号化し、
前記多視点画像データが符号化された多視点画像符号化データに、前記多視点画像の各視点の相対位置関係を示す配列情報と、前記多視点画像の視点数を示す眼数情報とを関連付ける
画像処理方法。