(57)【特許請求の範囲】
【請求項１】
方法であって、
キャプチャデバイスにおいて受信された実環境の画像を検出するステップと、
前記実環境内の複数の目標物を識別し、前記複数の目標物の各々の属性を決定するために、前記画像を分析するステップであって、前記目標物が動きのある目標物を含み、前記目標物の属性が、前記目標物の水平および垂直の属性を含む、ステップと、
前記複数の目標物の各々の属性に基づき、前記キャプチャデバイスの位置または設定のうちの少なくとも1つが調節されるべきか否かを判定するステップであって、前記目標物の各々の水平および垂直の属性に基づき、前記キャプチャデバイスの角度が傾いているか否かを判定するステップを含む、ステップと、
前記キャプチャデバイスの位置または設定のうちの少なくとも1つが調節されるべきとの判定に応答して、ルールに従って、前記キャプチャデバイスの位置または設定のうちの少なくとも1つを調節する提案を提供するステップであって、前記提案が前記キャプチャデバイスの前記角度を調節するための提案を含む、ステップと、
前記実環境の調節された画像を受信する際に使用される、前記キャプチャデバイスの調節を、前記提供された提案に基づいて検出するステップと、
前記実環境の前記調節された画像を、前記キャプチャデバイスによってキャプチャするステップとを含み、
前記方法の動作は、前記キャプチャデバイスのプロセッサによって実行される、
方法。
【請求項２】
キャプチャデバイスにおいて受信された前記画像は、前記キャプチャデバイスのセンサによって検出される、請求項1に記載の方法。
【請求項３】
前記キャプチャデバイスは、モバイル電話、カメラ、タブレットパーソナルコンピュータ、または、カメラが装備された眼鏡、のうちの1つである、請求項1に記載の方法。
【請求項４】
前記受信された画像は、前記キャプチャデバイスのスクリーン上にレンダリングされ、前記受信された画像は、キャッシュバッファに記憶される、請求項1に記載の方法。
【請求項５】
前記目標物は、背景、人、建物、鳥、動物、風景、またはこれらの組合せを含む動きのある、または動きのない目標物のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項６】
前記ルールは、前記画像のキャプチャ中、前記キャプチャデバイスを調節するためのコマンドを識別する、請求項1に記載の方法。
【請求項７】
前記コマンドは、前記キャプチャデバイスの上への移動、下への移動、右への移動、左への移動、ズームイン、ズームアウト、角度調節、フラッシュ光使用、位置調節、またはこれらの任意の組合せのうちの1つを含む、請求項6に記載の方法。
【請求項８】
前記キャプチャするステップは、前記画像を、前記キャプチャデバイスのメモリ内に保存させる、請求項1に記載の方法。
【請求項９】
分析はさらに、前記画像においてキャプチャされた前記目標物の前記属性に基づいて、構図スコアを計算するステップを含み、前記構図スコアは、前記画像の品質を定義し、前記計算された構図スコアは、前記キャプチャデバイスのスクリーン上にレンダリングされる、請求項1に記載の方法。
【請求項１０】
調節の検出はさらに、前記画像における前記調節を考慮するように、前記構図スコアを動的に調節するステップを含み、前記調節された構図スコアは、前記キャプチャデバイスのスクリーン上にレンダリングされる、請求項9に記載の方法。
【請求項１１】
前記提案は、テキストとして、画像として、オーディオによって、またはこれらの任意の組合せによって提供される、請求項1に記載の方法。
【請求項１２】
1つまたは複数のプロセッサによって実行されるとき、方法を提供するための、非一時的なコンピュータ読取可能な記憶媒体に組み込まれたコンピュータプログラムであって、
キャプチャデバイスにおいて受信された実環境の画像を検出するためのプログラム命令と、
前記実環境内の複数の目標物を識別し、前記複数の目標物の各々の属性を決定するために、前記画像を分析するためのプログラム命令であって、前記目標物が動きのある目標物を含み、前記目標物の属性が、前記目標物の水平および垂直の属性を含む、プログラム命令と、
前記複数の目標物の各々の属性に基づき、前記キャプチャデバイスの位置または設定のうちの少なくとも1つが調節されるべきか否かを判定するためのプログラム命令であって、前記目標物の各々の水平および垂直の属性に基づき、前記キャプチャデバイスの角度が傾いているか否かを判定するためのプログラム命令を含む、プログラム命令と、
前記キャプチャデバイスの位置または設定のうちの少なくとも1つが調節されるべきとの判定に応答して、ルールに従って、前記キャプチャデバイスの位置または設定のうちの少なくとも1つを調節する提案を提供するためのプログラム命令であって、前記提案が前記キャプチャデバイスの前記角度を調節するための提案を含む、プログラム命令と、
前記実環境の調節された画像を受信する際に使用される、前記キャプチャデバイスの調節を、前記提供された提案に基づいて検出するためのプログラム命令と、
前記実環境の前記調節された画像を、前記キャプチャデバイスによってキャプチャするためのプログラム命令と
を備える、コンピュータプログラム。
【請求項１３】
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサが、
キャプチャデバイスにおいて受信された実環境の画像を検出することと、
前記実環境内の複数の目標物を識別し、前記複数の目標物の各々の属性を決定するために、前記画像を分析することであって、前記目標物が動きのある目標物を含み、前記目標物の属性が、前記目標物の水平および垂直の属性を含む、ことと、
前記複数の目標物の各々の属性に基づき、前記キャプチャデバイスの位置または設定のうちの少なくとも1つが調節されるべきか否かを判定することであって、前記目標物の各々の水平および垂直の属性に基づき前記キャプチャデバイスの角度が傾いているか否かを判定することを含む、ことと、
前記キャプチャデバイスの位置または設定のうちの少なくとも1つが調節されるべきとの判定に応答して、ルールに従って、前記キャプチャデバイスの位置または設定のうちの少なくとも1つを調節する提案を提供することであって、前記提案が前記キャプチャデバイスの前記角度を調節するための提案を含む、ことと、
前記実環境の調節された画像を受信する際に使用される、前記キャプチャデバイスの調節を、前記提供された提案に基づいて検出することと、
前記実環境の前記調節された画像を、前記キャプチャデバイスによってキャプチャすることと
を行うように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、最適な品質および構図の画像をキャプチャするための方法、システム、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
写真を撮影し、友達と共有することは、今日の社会的コミュニケーションの世界において普通に受け入れられるようになった。モバイル電話、眼鏡等のような様々なハンドヘルドデバイスはすべて、カメラが搭載されており、それによってユーザは、風景、人、建築物、イベント等の写真を撮り、友達や家族と共有することができる。しばしば、観光または重要なイベントへ参加する場合、ユーザは、時々、最適ではない写真で終わってしまう。たとえば、(たとえば、大聖堂、教会、大きな建物等のような)建築物、人、イベント、光景等の写真は、釣り合いが取れていなかったり、建物は傾斜していたり、目標物は焦点からずれていたりすることがあり、一般に、キャプチャされた写真は、良い品質ではない。写真を撮影する場合、ユーザが後に写真を見ることを試みるまで、ユーザ、特に、カメラのアマチュアまたは経験の浅いユーザにとって、写真がどのように見えるか、または、写真の品質がどれくらい貧弱であるか、明らかではない。
【０００３】
本発明の実施形態はこのコンテキストにある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の実施形態は、ユーザが、最適な構図および品質の、建築物、風景、人、イベント等の写真を撮影することを可能にするための方法、システム、およびコンピュータプログラムを提供する。本開示は、たとえば、処理、装置、システム、デバイス、または、コンピュータ読取可能な媒体における方法のような多くの方式で実施され得ることが認識されるべきである。本開示のいくつかの実施形態が、以下に記述される。
【０００５】
1つの実施形態では、方法が開示される。この方法は、以下の方法動作、すなわち、キャプチャデバイスで受信された画像を検出するステップと、目標物を識別し、目標物の属性を決定するために、画像を分析するステップと、画像の分析に基づいて、ルールに従って、キャプチャデバイスの位置または設定のうちの少なくとも1つを調節する提案を提供するステップと、調節された画像を受信する際に使用される、キャプチャデバイスの調節を、提供された提案に基づいて検出するステップと、調節された画像を、キャプチャデバイスによってキャプチャするステップと、を含む。保存された画像は、品質および構図において最適である。
【０００６】
1つの実施形態では、キャプチャデバイスは、カメラが搭載されたモバイル電話、デジタルカメラ、タブレットパーソナルコンピュータ、または、カメラが搭載された一対の眼鏡、のうちの1つである。
【０００７】
1つの実施形態では、キャプチャされた画像は、キャプチャデバイスのスクリーン上にレンダリングされ、キャッシュバッファ内に記憶される。
【０００８】
1つの実施形態では、画像において識別された目標物は、背景、人、建物、鳥、動物、風景、またはその組合せを含む、動きのある、または動きのない目標物のうちの少なくとも1つを含む。
【０００９】
1つの実施形態では、ルールは、画像のキャプチャ中に、キャプチャデバイスを調節するためのコマンドを識別する。
【００１０】
1つの実施形態では、コマンドは、キャプチャデバイスの、上への移動、下への移動、左への移動、右への移動、ズームイン、ズームアウト、角度調節、フラッシュ光使用、位置調節、またはこれらの任意の組合せのうちの1つを含む。
【００１１】
1つの実施形態では、保存するステップは、画像を、キャプチャデバイス内のメモリへコミットするステップを含む。
【００１２】
1つの実施形態では、分析するステップは、画像においてキャプチャされた目標物の属性に基づいて、構図スコアを計算するステップを含む。構図スコアは、キャプチャデバイスによってキャプチャされた画像の品質を定義する。構図スコアは、キャプチャデバイスのスクリーン上にレンダリングされる。
【００１３】
1つの実施形態では、調節を検出するステップは、調節を考慮するために、計算された画像の構図スコアを動的に調節するステップを含む。調節された構図スコアは、キャプチャデバイスのスクリーン上にレンダリングされる。
【００１４】
1つの実施形態では、提案は、テキストとして、画像として、オーディオによって、または、その任意の組合せによって提供される。
【００１５】
1つの実施形態では、デバイスが開示される。デバイスは、画像を受信しキャプチャするためのカメラと、画像をレンダリングするためのディスプレイスクリーンとを含む。キャプチャデバイスは、受信された画像を処理する画像アナライザアプリケーションと、画像アナライザアプリケーションおよびキャプチャされた画像を記憶するメモリと、メモリに記憶された画像アナライザアプリケーションのプログラミング命令を実行するためのプロセッサと、画像をメモリへコミットする前に、画像の分析中に、受信された画像を一時的に記憶するキャッシュメモリと、を含む。画像アナライザモジュールのプログラミング命令は、キャプチャデバイスにおいて画像を受信し、目標物および目標物の属性を識別するために、受信された画像を分析し、分析に基づいて、ルールに従って、キャプチャデバイスの位置または設定のうちの少なくとも1つを調節する提案を提供し、調節された画像を受信する際に使用される、キャプチャデバイスへの調節を、提供された提案に基づいて検出し、調節された画像を、キャプチャデバイスによってキャプチャし記憶するように構成される。
【００１６】
別の実施形態では、方法が開示される。この方法は、キャプチャデバイスにおいて受信された画像を検出するステップを含む。この画像は、目標物を識別し、目標物の属性を決定するために分析される。画像の分析に基づいて、ルールに従って、キャプチャデバイスの位置または設定を調節する提案が提供される。調節が行われた後に受信された画像は、キャプチャデバイスに保存される。
【００１７】
また別の実施形態では、デバイスが開示される。デバイスは、ディスプレイスクリーンと、デバイスのキャッシュへ画像を受信するためのアナライザモジュールと、画像内の目標物を検出するためのプロセッサとを含む。アナライザモジュールは、検出された目標物の属性を識別するように構成される。プロセッサは、ディスプレイスクリーン上に提示される少なくとも1つの提案を生成するように構成される。この提案は、デバイスの位置またはデバイスの設定のうちの一方に対する調節を行うことである。この提案は、検出された目標物の識別された属性について処理された1つまたは複数のルールの分析に基づいて生成される。プロセッサは、調節が検出されると、画像をキャプチャし、メモリへ保存するための命令を生成する。
【００１８】
他の態様が、添付図面と連携されて、以下の詳細説明から明らかになるであろう。
【００１９】
本開示は、添付図面と連携された以下の記述に対する参照によって最も良く理解され得る。
【図面の簡単な説明】
【００２０】
【図１】本開示の実施形態に従って、本開示の実施形態を実施するためのキャプチャデバイスの例示的なアーキテクチャを例示する図である。
【図２】本発明の実施形態に従って、キャプチャされた画像を調節するために使用される典型的な方法動作を例示する図である。
【図３】本発明の実施形態に従って、キャプチャデバイスによってキャプチャされた実環境絵図の典型的な画像を例示する図である。
【図３Ａ】本発明の異なる実施形態に従って、キャプチャデバイスによってキャプチャされた実環境絵図画像の典型的な絵図と、画像アナライザアプリケーションによって提案された異なる提案とを例示する図である。
【図３Ｂ】本発明の異なる実施形態に従って、キャプチャデバイスによってキャプチャされた実環境絵図画像の典型的な絵図と、画像アナライザアプリケーションによって提案された異なる提案とを例示する図である。
【図３Ｃ】本発明の異なる実施形態に従って、キャプチャデバイスによってキャプチャされた実環境絵図画像の典型的な絵図と、画像アナライザアプリケーションによって提案された異なる提案とを例示する図である。
【図３Ｄ】本発明の異なる実施形態に従って、キャプチャデバイスによってキャプチャされた実環境絵図画像の典型的な絵図と、画像アナライザアプリケーションによって提案された異なる提案とを例示する図である。
【図３Ｅ】本発明の1つの実施形態において、分析中にキャプチャされた画像において識別された様々な目標物の典型的な属性を例示する図である。
【図３Ｆ】本発明の実施形態に従って、キャプチャデバイスによって実環境画像の典型的な3次元絵図をキャプチャするための実施形態を例示する図である。
【図３Ｇ】本発明の実施形態に従って、キャプチャデバイスによって実環境画像の典型的な3次元絵図をキャプチャするための実施形態を例示する図である。
【図４】本発明の実施形態に従って、最適な品質の画像をキャプチャするために使用される方法の典型的な動作を例示する図である。
【図５】本発明の1つの実施形態において、ソーシャルネットワークにおける複数のユーザから取得されたデータを処理する際に使用されるコンピューティングデバイスの基本的なインフラストラクチャを例示する図である。
【発明を実施するための形態】
【００２１】
以下の実施形態は、カメラが搭載されたキャプチャデバイスにおいて構図および位置ガイダンスを提供するための方法、コンピュータプログラム、およびシステムを記述する。キャプチャデバイスは、デジタルカメラ、タブレットパーソナルコンピュータ(PC)のようなモバイルデバイス、モバイル電話、拡張現実システム、またはその他任意のカメラ搭載デバイスであり得る。拡張現実システムは、カメラが搭載された一対の眼鏡の形式であり得る。キャプチャデバイスのカメラ部分は、カメラによってキャプチャされた画像を受信し、目標物および目標物の属性を識別するために画像を分析し、画像をキャプチャするためにカメラを調節する提案を提供し、メモリに画像を保存する、ように構成された画像アナライザアプリケーションを含む。この提案は、キャプチャデバイスのカメラによってキャプチャされた画像の品質を改善することを支援する。画像アナライザアプリケーションは、アマチュアのカメラのユーザでさえも、高品質の写真をキャプチャすることを可能にし、ユーザが、イベント、建築物、風景等の写真を楽しむことを可能にし、ユーザの経験を豊かにする。
【００２２】
様々な提案は、ユーザが最適な品質の画像をキャプチャするのをガイドするために、テキストフォーマット、画像オーバレイ、オーディオフォーマット等を含む異なるフォーマットで提供され得る。1つの実施形態では、ユーザに、提案フォーマットを選択するオプションが提供され得、したがって、ユーザが提案を受信することを望む方式を制御するために、ユーザへ、より高い柔軟性を提供する。
【００２３】
キャプチャデバイスのカメラによってキャプチャされた画像の品質を改善するための画像アナライザアプリケーションの一般的な理解によって、特定の実施形態が、様々な図面を参照して議論されるであろう。図1は、キャプチャデバイスにおいて受信された画像のデータを分析するために画像アナライザアプリケーションを適用するキャプチャデバイスを例示する。キャプチャデバイスは、カメラ(すなわち、デジタルカメラ)100-a、タブレットパーソナルコンピュータ(PC)100-b、モバイル電話100-c、カメラが搭載された一対の眼鏡のような拡張現実システム100-d等のような任意のカメラ搭載デバイスであり得る。キャプチャデバイスは、バス112を介してメモリ104、キャッシュメモリ108、入力/出力インターフェース110へ結合されたプロセッサ102を含む。メモリ104は、キャプチャデバイスによってキャプチャされた画像の品質を改善するための提案を提供するために、画像アナライザアプリケーション106のための処理命令と、キャプチャデバイスによってキャプチャされた画像と、画像アナライザアプリケーション106によって使用される1つまたは複数のあらかじめ定義されたルールと、を記憶するために使用される。プロセッサ102は、画像アナライザアプリケーション106において定義された処理命令を含む、メモリに記憶された処理命令を実行するために使用される。キャッシュメモリ108は、プロセッサ102によって現在処理されているデータ、頻繁に使用されるデータ、および、メモリにまだコミットされていないデータのための一時的なストレージとして使用される。入力/出力インターフェース110は、ユーザインタラクションをキャプチャし、ユーザインタラクションを入力として画像アナライザアプリケーションへ提供し、画像アナライザアプリケーションからの応答を、キャプチャデバイスのディスプレイデバイスへ提供する、ために使用される。
【００２４】
キャプチャデバイスのディスプレイスクリーンにおいて受信された画像の品質を改善する提案を提供する際における画像アナライザアプリケーションの役割が、図2を参照して記述されるであろう。ステップ302に例示されるように、カメラアプリケーションは、ユーザ選択によってキャプチャデバイス上で起動される。カメラアプリケーションのユーザ選択に応じて、カメラアプリケーション内のセンサは、ステップ304に例示されるように、カメラがフォーカスしている画像を識別し、キャプチャデバイスのディスプレイスクリーン上に画像をレンダリングし、キャッシュメモリに画像データを記憶し、画像のさらなる処理のための信号を、画像アナライザアプリケーションへ送信する。
【００２５】
画像アナライザアプリケーション106は、キャプチャデバイスにおいて受信された画像を検出し、センサから受信される信号に応じて、キャッシュメモリに記憶された画像データを処理する。画像アナライザは、ステップ306に例示されるように、フレームコンテンツを識別するために、キャッシュバッファに記憶された画像データを分析する。ステップ308に例示されるように、フレームコンテンツは、キャプチャされた画像内の目標物を識別するために検査される。分析中、画像アナライザは、キャッシュメモリに記憶された画像データの各フレームのコンテンツを検査し、フレーム内の様々な部分を描き、その中にキャプチャされた目標物を識別し得る。識別された目標物は、人、鳥、動物等のような動きのある目標物、および/または、建物、山、川、風景等のような動きのない目標物を含み得る。目標物を検出すると、ステップ310に例示されているように、画像アナライザアプリケーションは、識別された目標物を、ルールを適用することによって処理する。画像アナライザは、各目標物の属性を判定するために、識別された目標物の各々を分析し得る。画像アナライザは、たとえば、様々な目標物、風景内の各目標物の方位のみならず、互いの目標物の相対方位を識別するために、画像を分析し得る。分析によって識別され得る属性は、水平および垂直のアスペクト、様々な目標物のシャープネス係数、目標物のサイズ等によって識別され得る。いくつかの実施形態では、属性はまた、目標物の深度のような3次元属性をも含み得る。様々な目標物の属性は、ステップ310に例示されるように、画像の全体的な構図を決定するため、および、キャプチャされている画像の品質を改善するための提案を提供するために使用される。
【００２６】
1つの実施形態では、目標物の水平および垂直の属性は、キャプチャの角度を決定するため、および、ルールに基づいて、画像の品質を改善するためにキャプチャデバイスの角度を調節する提案を提供するために使用される。目標物の水平および垂直の属性は、カメラの角度が傾いているか否かを判定するために、画像アナライザアプリケーションにおいて定義された、定義された直角に対して、目標物の水平および垂直のアスペクトを比較することによって決定され得る。1つの実施形態では、相対的な水平および垂直の属性は、特定の目標物が傾斜しているか否か、または、キャプチャデバイスが特定の角度に傾いており、キャプチャの角度が調節される必要があるか否かを判定するために、画像内の別の目標物の水平および垂直のアスペクトに対して、1つの目標物の水平および垂直のアスペクトを比較することによって計算され得る。この判定に基づいて、キャプチャデバイスの角度を調節する提案が提供され得る。この提案は、1つまたは複数のあらかじめ定義されたルールに従い得る。たとえば、キャプチャされた画像におけるすべての目標物の水平および垂直の属性が、キャプチャデバイスが傾けられていることを示している場合、キャプチャデバイスの角度を調節するための提案を提供するために、あらかじめ定義されたルールが定義され得る。別の例では、画像におけるすべての目標物が、傾斜し/歪められているのみならず、10°のようなあらかじめ定義されたしきい値よりも大きく歪められていると判定される場合、ルールは、キャプチャデバイスの角度を補正する提案を識別し得る。ルールは、画像をキャプチャする場合、キャプチャデバイスを調節するユーザ動作を要求するコマンドを識別する。このコマンドは、提案として提示される。1つの実施形態では、提案は、テキストフォーマットで提示される。あるいは、提案は、オーディオフォーマット、画像フォーマット等で提供され得る。コマンド/提案のうちのいくつかは、傾斜を解消/まっすぐにし、カメラを特定の方向に回転させ、カメラのある機能をオン/オフする等のために、カメラを調節することを目標とされ得る。
【００２７】
同様に、最適な画像を取得するために、ズームインまたはアウトするキャプチャデバイス内のカメラのズーム機能の調節を提案するために、画像内の目標物のサイズが検査され得る。1つの実施形態では、キャプチャされた画像の3次元モデルを生成するために、単一の画像が分析され得る。別の実施形態では、1つよりも多くの画像が、提案を提供するために検査され得る。この実施形態では、キャプチャされた異なる画像間のカメラ位置におけるシフトを決定するために、多数の画像が検査され得る。そして、画像においてキャプチャされた目標物の深度、垂直属性、水平属性等を識別して3次元(3D)モデルが生成され得る。3Dモデルから識別された目標物の様々な属性に基づいて、キャプチャデバイスを調節するための適切な提案が提供され得る。この提案は、画像キャプチャデバイスの位置または設定を調節することに関連し得る。この提案は、あらかじめ定義されたルールのセットに従って提供され得る。あらかじめ定義されたルールは、異なる画像キャプチャのシナリオを含み、最適な画像をキャプチャするための提案を提供し得る。分析および提供された提案に基づいて、画像アナライザモジュールは、判定ステップ312に例示されるように、受信された画像が調節される必要があるか否かを判定する。判定ポイント312からの「No」分岐によって例示されるように、受信された画像が、調節される必要がないと判定された場合、または、提案を無視することによって、カメラの設定または位置に何ら調節を実行することもなく、ユーザが画像をキャプチャする場合、ステップ314に例示されるように、画像がキャプチャされ、メモリに保存される。ステップ316の「Yes」分岐によって例示されるように、受信された画像が調節されるべきであると判定された場合、処理は、キャプチャデバイスのキャプチャ設定に対する調節が検出されるステップ318に進むか、または、キャプチャデバイスの物理的な位置に対する調節が検出されるステップ320に進む。この時、受信され、キャッシュメモリに記憶されたオリジナル画像が、廃棄される。ステップ318および/または320からの調節された設定は、画像をキャプチャし再ロードするために使用される。再ロードは、調節された設定および/または物理的な位置に基づいて、キャプチャデバイスのディスプレイスクリーンにおいてレンダリングされる画像を動的に調節し、処理は、調節された画像がキャプチャデバイスにおいて受信され分析される動作302へ戻る。この処理は、判定ステップ312における「No」分岐によって例示されるように、さらなる調節が必要とされないと判定されるまで継続する。この時、ステップ314に例示されるように、ユーザは、画像をキャプチャすることを可能とされ、キャプチャされた画像がメモリに保存される。ユーザがこの提案に従った場合、結果として得られる画像は、品質および構図において最適である。
【００２８】
図3、図3A〜図3Eは、キャプチャデバイスにおいてキャプチャされた画像に基づいて、画像アナライザアプリケーションによって識別される様々な属性と、画像アナライザアプリケーションによって提供される提案とを例示する。ユーザAは、自分のキャプチャデバイスにおいてカメラアプリケーションを起動し、ユーザが興味のある実環境風景/絵図にカメラの焦点を合わせる。図3は、ユーザであるユーザAが自分のカメラを使ってキャプチャした典型的な実環境絵図の画像を例示する。この実環境絵図は、複数の目標物を含み得る。図3に図示された実環境絵図は典型例であり、限定的または制限的とは考えられるべきではない。
【００２９】
ユーザAのカメラを通じて見られるような実環境絵図画像は、受信デバイスのディスプレイスクリーンにおいてレンダリングされる。図3Aは、キャプチャデバイスにおけるカメラの視点角度に基づいて、ユーザであるユーザAのキャプチャデバイスにおいて受信された画像のスクリーン表現を例示する。この時、ユーザAは単に自分のカメラを、実環境絵図に向け、まだ画像をキャプチャしていないことに注目されたい。その結果、ディスプレイスクリーンにおいて受信された画像は、画像アナライザアプリケーションによるさらなる処理を可能にするために、キャプチャデバイス内で、キャッシュメモリのような一時的なメモリに記憶される。画像がキャプチャされた場合、画像は、キャプチャデバイス内のメモリにコミットされる。画像アナライザアプリケーションは、キャッシュメモリ内の画像データを分析し、図3Aに図示された受信された画像データのフレームコンテンツを識別し、画像において受信された実環境風景の目標物(目標物A、B、およびC)を識別するためにフレームコンテンツを検査する。その結果、画像アナライザアプリケーションは、キャッシュメモリ内の画像データの検査に基づいて、車(目標物A)、家(目標物B)、人(目標物C)、および木(目標物D)を識別する。検査はまた、ありとあらゆる目標物の垂直および水平のアスペクトのみならず、キャプチャの角度、サイズ等のような他の属性をも識別するステップを含み得る。この実施形態では、画像アナライザアプリケーションは、画像においてキャプチャされた目標物の2Dアスペクトを識別する。画像アナライザアプリケーションは、分析に基づいて、いくつかのあらかじめ定義されたルールに基づいて、画像の構図を改善する提案を提供し得る。たとえば、画像内の目標物のうちのいくつかが不完全であれば、ルールは、カメラ位置の調節を提案し得る。1つの実施形態では、ルールは、最適な画像を取得するためにユーザが従う必要のあるコマンドとして提供される。
【００３０】
コマンドは、提案の形式で提供され得る。図3Aに例示されるように、提案202は、テキストフォーマットで提供され、ディスプレイスクリーンの一部において画像上にオーバレイされ得る。図3Aにおける提案は、ユーザAが、目標物B(すなわち、家)のフル画像をキャプチャするためにカメラを上へ移動することを要求する。提案を提供するステップに加えて、画像アナライザアルゴリズムはまた、構図スコアを計算し、ディスプレイスクリーンにレンダリングし得る。構図スコアは、ディスプレイスクリーン上にレンダリングされた画像の品質を識別するものであり、受信された画像内の目標物の属性の検査に基づいて、あらかじめ定義されたルールに従って計算され得る。
【００３１】
図3Bは、ディスプレイスクリーンにおいて提供され得る代替提案を例示する。図3Aにおいて提供されるコマンド/提案に基づいて、ユーザAは、目標物Bのフル画像をキャプチャするために、カメラ位置を調節し得る。しかしながら、キャプチャ中に、ユーザは、カメラを傾け得る。その結果、ディスプレイスクリーンにおいてレンダリングされる画像が、傾けられるであろう。図3Bに図示された新たに受信された画像に基づいて、図3Bの提案ボックス202内に図示されるように、画像アナライザアプリケーションは、カメラの角度を調節する提案を提供し得る。図3Bのボックス204に例示されるように、画像アナライザアプリケーションは、カメラの位置または設定における調節を考慮するために、新たに受信された画像の構図スコアを動的に調節する。画像アナライザアプリケーションによって提供される提案は、ボックス202に例示されるように、テキストコンテンツの形式である。この提案はまた、画像206aおよび206bによって例示されるように、1つの実施形態において、画像コンテンツの形式であり得る。この実施形態では、提案画像は、静止画像の形式である。この提案は、静止画像に限定されないが、カメラの位置または設定を調節するための視覚的な合図を備えた動的なすなわち動きのある画像を含み得る。この提案は、他の実施形態において、オーディオコマンドを含み得る。提案を提供するために使用される様々なフォーマットは、典型的であり、限定的であると考えられるべきではないことに注目されたい。それによって、ユーザが、提案された指示に従うことができる限り、他のフォーマットが使用され得る。
【００３２】
図3Cは、1つの実施形態において、調節された画像を例示しており、ここでは、画像が大きくズームインされすぎており、目標物が大きすぎ、目標物のうちのいくつか(目標物A、CおよびD)は、部分的にしか見えない。その結果、画像が最適にキャプチャされ得るように、カメラ内においてズームアウト機能を使用する提案が提供される。この実施形態では、画像においてキャプチャされた目標物の品質は良好であるが、より良く見えるように調節され得るので、構図スコアはより高くなる。図3Dは、画像が小さすぎる別の実施形態を例示する。その結果、この提案は、目標物A〜Dが、最適な方式で見えることを可能にするようにズームイン機能を使用することであり得る。構図スコアが、あらかじめ定義されたルールによって決定されたような画像の品質に基づいて調節される。
【００３３】
キャプチャデバイス内のカメラの位置および/または設定の調節がなされると、ユーザは、提案に基づいて、画像をキャプチャすることを許可され得る。キャプチャデバイスは、実環境絵図の新たな画像をキャプチャする準備ができているので、古い画像が、キャッシュバッファから廃棄される。キャプチャされた画像は、構図において最適である。キャプチャされた画像は、デバイスのメモリに記憶され、画像がメモリにある限り、ユーザによって任意の時間においてアクセスされ得る。
【００３４】
図3Eは、1つの実施形態において、フレームコンテンツの検査中、画像アナライザアプリケーションによって識別される異なる目標物の様々な2Dアスペクトを例示する。例示されるように、画像アナライザアプリケーションは、目標物Bの輪郭を決定し、目標物Aの垂直および水平の属性を確立し、目標物Cおよび目標物Dの水平および垂直の属性を確立する。画像データの分析および検査に基づいて、画像アナライザは、画像のあるアスペクトが最適な品質である一方、画像の他のアスペクトは最適な品質ではないと判定する。たとえば、画像アナライザは、画像における異なる目標物の水平および垂直の属性に基づいて、画像においてキャプチャされた目標物のうちのいくつかの角度およびサイズのアスペクトは、最適な品質であると判定し得るが、画像における目標物のいくつかは、カットオフされ、完全ではないと判定する。いくつかの実施形態では、分析中、画像アナライザは、画像において、焦点を合わせられている目標物を判定し、この判定に基づいて、画像における目標物を検査し得る。たとえば、画像が、背景における風景とともに、前景において人を含んでいるのであれば、この画像は、主要な焦点は人であると判定し、人に関して画像を検査し得る。あるいは、画像アナライザは、ユーザが主に焦点をおいている目標物は、建物、石層、峡谷等のような風景であり得ると判定し、主要な焦点の目標物に検査の基礎を置き得る。
【００３５】
分析に基づいて、画像アナライザアプリケーションは、いくつかのあらかじめ定義されたルールに基づいて、画像の構図を改善する提案を提供し得る。たとえば、画像における目標物のいくつかが不完全であれば、ルールは、コマンドの形式で、カメラの位置を調節するステップを提案し得る。カメラの位置に対する調節を必要とし得るコマンドのいくつかは、上に移動、下に移動、左に移動、右に移動、角度調節等を含み得る。カメラの設定に対する調節を必要とし得るコマンドのいくつかは、ズームイン、ズームアウト、フラッシュ光使用、色調節等を含み得る。
【００３６】
図3Fおよび図3Gは、本発明の代替実施形態を例示する。この実施形態では、画像アナライザアプリケーションは、3D属性を識別するために、キャプチャデバイス内のカメラによってキャプチャされた画像を検査し、画像の3Dモデルを生成するために3D属性を使用し得る。3Dモデルおよびあらかじめ定義されたルールを使用して、最適な画像を取得するためにカメラの位置または設定を調節する提案が、コマンドの形式で、ユーザへ提供され得る。図3Fは、たとえば、キャプチャデバイスにおけるカメラを使用して、ユーザによってキャプチャされた画像における焦点の主要な目標物として、たとえば教会のような建物を例示する。この建物の画像が検査され、建物の3Dモデルが生成される。生成された3Dモデルから、画像アナライザアプリケーションは、建物の深度アスペクトが、カメラによってキャプチャされた画像に明確に表現されていないことを判定し得る。たとえば、図3Fに図示されるように、建物(すなわち、教会)の側面の延長は、建物の主要部分の縁と揃っており、完全に見える訳ではない。建物の3D画像を取得するために、画像アナライザアプリケーションは、3Dアスペクトをキャプチャする建物のより良好な視点を得ることができるように、図3Fにおける提案ボックス202に図示されるように、カメラの位置を調節する提案を提供し得る。それに加えて、画像の品質を定義する構図スコアも計算され、画像をレンダリングするスクリーンの一部204にレンダリングされる。
【００３７】
図3Gは、ユーザがこの提案に従い、キャプチャデバイスのカメラを調節した場合に、結果として得られる、図3Fにおいてキャプチャされた建物の画像を例示する。新たにキャプチャされた建物の画像において見られ得るように、3Dアスペクトを表現する深度属性がここで見える。3Dアスペクトをキャプチャすることに加えて、カメラは、図3Fにおいてキャプチャされた2D表現において以前は見えなかった、木などの他の要素をキャプチャする。
【００３８】
1つの実施形態では、画像アナライザアプリケーションは、地図アプリケーション、旅行アプリケーション等のような他のソースから、画像においてキャプチャされた目標物に関する情報を取得し得る。ユーザによってキャプチャされた画像の検査を通じて取得された情報とともに他のソースから収集された情報を使用して、画像アナライザアプリケーションは、主要な焦点目標物が、3Dアスペクトを反映するようにキャプチャされているか否かを判定し、されていないのであれば、カメラの位置または設定を調節するための提案を提供し得る。この実施形態では、画像アナライザアプリケーションは、提案を提供するために、キャプチャされている目標物の詳細を、キャプチャデバイスの位置を使用して、他のソースから取得する。他のソースは、その位置において目標物をキャプチャした他のユーザを含み、そのような情報は、それぞれのソースアーカイブから取得され得る。いくつかの実施形態では、提案を提供するための画像のうちの特定の1つが、人気、または、他のユーザから収集されたフィードバックに基づいて、他のソースから識別される。本明細書に記述された様々な実施形態は、アマチュア写真家であっても、プロフェッショナル品質の画像をキャプチャできるようになり、したがって、ユーザの経験を豊かにする。
【００３９】
様々な実施形態の上述した詳細説明によって、最適な画像をキャプチャするためのガイダンスを提供するための方法が、図4を参照して記述されるであろう。図4は、キャプチャデバイス内のカメラによってキャプチャされた画像の構図および品質を改善するガイダンスを提供するための方法の処理動作を例示する。キャプチャデバイスは、モバイル電話、タブレットPC、デジタルカメラのようなモバイルデバイス、または、カメラが搭載された眼鏡のような拡張現実システムを含み得る。この処理は、画像がキャプチャデバイスにおいて検出される動作402において始まる。この画像は、ユーザによって、モバイルデバイス内のカメラアプリケーションが起動されると、カメラ内のセンサによって検出され得る。この画像は、受信され、キャプチャデバイスのディスプレイスクリーン上にレンダリングされ得る。この画像は、キャッシュメモリに記憶される。そして、受信された画像の構図および品質を判定するために、信号がキャプチャデバイス内の画像アナライザアプリケーションへ送信される。現在レンダリングされている画像は、カメラが、興味のある1つまたは複数の目標物に向けられた結果であり、カメラによってまだキャプチャされていないことに注目されたい。
【００４０】
動作404に例示されるように、画像アナライザアプリケーションは、画像中にキャプチャされた様々な目標物を識別するためにこの画像を分析し、これら目標物の属性を判定する。アナライザアプリケーションは、先ずフレームコンテンツを識別するために、キャッシュメモリに記憶された画像データを分析し、様々な目標物を識別するために、フレームコンテンツを検査する。検査中、アナライザアプリケーションは、目標物の輪郭を決定し、目標物の水平および垂直の属性、深度、目標物のサイズ、シャープネス係数等のような目標物の属性を識別し得る。アナライザアプリケーションは、画像内の目標物の属性を使用する。そして、画像の構図および品質を決定するために、あらかじめ定義されたルールのセットを適用する。
【００４１】
分析に基づいて、アナライザアプリケーションは、動作406に例示されるように、あらかじめ定義されたルールに従って、キャプチャデバイスの位置および/または設定を調節する提案を提供する。アナライザアプリケーションは先ず、あらかじめ定義されたルールと、受信された画像内の様々な目標物の属性とを使用して、画像の構図スコアを計算し得る。構図スコアは、画像の品質および構図を決定する。1つの実施形態では、アナライザアプリケーションは、あらかじめ定義された品質しきい値に対して構図スコアを比較する。
【００４２】
画像の構図スコアが、あらかじめ定義された品質しきい値未満である場合、キャプチャデバイスの位置または設定のうちの少なくとも1つを調節する提案が提供され得る。これら提案は、テキスト、オーディオコマンド、画像オーバレイ(動きのあるまたは静止した)等の形式であってよく、ディスプレイスクリーン上において、スピーカによって、または、他の入力メカニズム/デバイスによっての何れかでユーザへ提示される。あるいは、1つの実施形態において、画像の構図スコアが、品質しきい値に等しいか、それよりも大きい場合、画像アナライザアプリケーションは、ユーザが、画像をキャプチャし、キャプチャした画像を、キャプチャデバイスのメモリに記憶することを可能にし得る。
【００４３】
アナライザアプリケーションによって提供された位置または設定を調節する提案に応じて、ユーザは、この提案に従うことを決定し得るか、または、この提案を無視することを選択し得る。ユーザが、この提案に従うことを決定した場合、動作408に例示されるように、アナライザアプリケーションは、キャプチャデバイスの調節を検出し得る。キャプチャデバイスの調節は、カメラ内の1つまたは複数のセンサによって検出され得る。キャプチャデバイスの位置または設定に対する調節は、キャプチャデバイスのディスプレイデバイス上に元々レンダリングされていた画像の、調節された画像を受信する際に使用される。調節された画像は、ディスプレイデバイス上にレンダリングされる。この時、レンダリングされていたオリジナルの画像が廃棄され、アナライザアプリケーションは、調節された画像を、品質に関して検査し始める。
【００４４】
調節された画像が、許容可能な品質であれば、動作410に例示されるように、ユーザは、調節された画像をキャプチャすることを可能とされる。前述したように、画像のキャプチャは、あらかじめ定義された品質しきい値を満足する調節された画像の構図スコアに基づき得る。その結果、いくつかの実施形態では、アナライザアプリケーションは、調節された画像が、画像のキャプチャを可能にするための最低品質を満足するまで、キャプチャデバイスの位置および/または設定に対し、数回の調節を繰り返す必要があり得る。画像が最低品質を満足することに応じて、アナライザアプリケーションは、ユーザに対して、画像のキャプチャを進めるように通知する、ディスプレイスクリーン上にレンダリングされる有益なメッセージを提供し得る。キャプチャされた画像は、メモリ内に保存され、経時的にユーザによってアクセスされ得る。結果的に得られる画像は、最適な品質および構図である。
【００４５】
様々な実施形態は、普通の画像のキャプチャに関連付けられた問題を解決する。様々な実施形態は、初心者または未経験ユーザが、建築物、イベント等の高品質な画像を撮影することを助ける。キャプチャデバイス内のカメラのセンサによって記録された画像が分析される。そして、カメラの設定または位置をわずかに調節することによって、より良好な構図が達成され得ることを示すために、水平レベルインジケータ、テキストオーバレイ、(長方形/楕円/円オーバレイのような)画像オーバレイ、オーディオコマンド等のようなインジケータを提供することによって、画像の構図を改善するための提案がなされる。(カメラ付きの一対の眼鏡のような)拡張現実システムを着用したユーザのために、アナライザアプリケーションは、より良好な画像を得るために、風景内を移動する提案をユーザへ提供し得る。ユーザが拡張現実システムを着用しているシナリオでは、どこに移動すべきかのみならず、良好な位置を計算するためのデータをも示す便利な手法が、ユーザの視点に方向をオーバレイするステップと、ユーザが、キャプチャデバイスの位置または設定を調節することを可能にするステップとによって提供され得る。良好な位置(すなわち、座標)を計算するためのデータは、拡張現実のカメラデバイスによって撮影された写真のストリームから生成される3次元情報から計算され得、これをよりロバストな解決策とする。
【００４６】
図5は、本開示の実施形態を実施するためのコンピュータシステムの簡略化された概略図である。本明細書に記述された方法は、デジタル処理システムを使用して実行され得、これは、1つの実施形態では、従来の、汎用コンピュータシステムであり得ることが認識されるべきである。1つの機能のみを実行するように設計またはプログラムされた専用コンピュータが、代替として使用され得る。コンピューティングデバイス502は、バスを介してメモリ506、パーマネントストレージ508、および入力/出力(I/O)インターフェース510へ結合されたプロセッサ504を含む。
【００４７】
パーマネントストレージ508は、たとえばハードドライブまたはUSBドライブのようにローカルまたはリモートであり得る持続的なデータストレージデバイスを表す。ネットワークインターフェース512は、ネットワーク514を介した接続を提供し、他のデバイスとの通信(ワイヤまたはワイヤレス)を可能にする。プロセッサ504は、汎用プロセッサ、専用プロセッサ、または特にプログラムされた論理デバイスにおいて具体化され得ることが認識されるべきである。入力/出力(I/O)インターフェース510は、異なる周辺装置との通信を提供し、バスを介してプロセッサ504、メモリ506、およびパーマネントストレージ508と接続される。サンプル周辺装置は、ディスプレイ522、キーボード518、マウス520、リムーバブルメディアデバイス516等を含む。
【００４８】
ディスプレイ522は、本明細書に記述されたユーザインターフェースを表示するように構成される。キーボード518、マウス520、リムーバブルメディアデバイス516、および他の周辺装置は、プロセッサ504と情報を交換するために、I/Oインターフェース510へ結合される。外部デバイスへのデータ、および外部デバイスからのデータは、I/Oインターフェース510を介して通信され得ることが認識されるべきである。この開示の実施形態はまた、ワイヤまたはワイヤレスネットワークを介してリンクされているリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実現され得る。
【００４９】
本開示の実施形態は、非一時的なコンピュータ読取可能な記憶媒体において、コンピュータ読取可能なコードとして作られ得る。非一時的なコンピュータ読取可能な記憶媒体は、コンピュータシステムによって読取可能なデータを保持する。非一時的なコンピュータ読取可能な記憶媒体の例は、パーマネントストレージ508、ネットワーク結合ストレージ(NAS)、メモリモジュール506内の読取専用メモリまたはランダムアクセスメモリ、コンパクトディスク(CD)、Blu-ray(登録商標)ディスク、フラッシュドライブ、ハードドライブ、磁気テープ、および他のデータストレージデバイスを含む。非一時的なコンピュータ読取可能な記憶媒体は、コンピュータ読取可能なコードが分散方式で記憶され実行されるように、ネットワーク結合されたコンピュータシステムにわたって分散され得る。
【００５０】
本明細書に提示された方法のいくつかまたはすべての動作は、プロセッサによって実行される。それに加えて、方法動作は特定の順序で記述されているが、動作の順序が予想された結果に影響を与えない場合、いくつかの動作は別の順序で実行され得ることが理解されるべきである。それに加えて、他の動作が、提示された方法に含まれてよく、これら動作は、動作の処理が所望される手法で実行される限り、分散方式で様々なエンティティによって実行され得る。
【００５１】
それに加えて、いくつかの方法の少なくとも1つの動作は、物理量の物理操作を実行し、本明細書に記述された動作のいくつかは、有用なマシン動作である。本明細書に提示された実施形態は、デバイスまたは装置を詳述する。装置は、要求された目的専用に構築され得るか、または、汎用コンピュータであり得る。装置は、本明細書に提示されたコンピュータプログラムのプログラム命令を実行することが可能なプロセッサを含む。
【００５２】
さらに、ネットワーク514へ接続され得る複数の他のデバイス、ストレージ、およびサービスが図示される。ネットワーク514は、たとえばインターネットであり得る。インターネットは、クラウドストレージサーバ、クラウド論理サーバ、ユーザインターフェースデバイス等を含む複数のデバイスと相互接続される。様々なクラウド論理サーバおよびクラウドストレージ上のインターネットアクセスサービスと通信することができるいくつかのデバイスは、たとえばタブレットコンピュータ、スマートフォン、ラップトップ、デスクトップコンピュータ、テレビジョンシステム等を含み得る。互いに通信し得るデバイスは、少なくともプロセッサと、ユーザインターフェースをレンダリングする選択されたプログラムおよびコードからユーザインターフェースビューを提示するためのディスプレイと、を必要とする。ユーザインターフェースは、キーボード入力、テキスト入力、音声入力、ジェスチャ入力、およびこれらの組合せによって提供され得る。
【００５３】
ユーザインターフェースは、様々なデバイスのブラウザにおいて提示され、HTMLコードを解釈し、ビデオをレンダリングし、ワイヤレス通信を経由してインターネットで通信し、Flashビデオデータをレンダリングする等を行い得る。これらのデバイス、ハードウェア実施形態、およびコードのすべては、ソーシャルネットワーク、ソーシャルネットワークのユーザ、および、インターネットに接続された様々なウェブサイト上のユーザとのインターフェースおよびインタラクションを可能にするように構成される。ソーシャルネットワークを介したインタラクションは、現在の情報、共有された興味、チャット通信、ビデオ通信、一般的な投稿、興味、および関係の管理に関する電子メッセージングを可能にするであろう。広く言うと、ソーシャルネットワークは、少なくとも2人または2つのエンティティが互いに通信し、少なくとも1個のデータを共有することを可能にするサイトである。
【００５４】
前述した実施形態は、明瞭さの目的のため、あるレベルの詳細度で記述されたが、添付された請求項の範囲内でいくつかの変更および修正が実現され得ることに留意されたい。したがって、提供された実施形態は、例示的であり限定的ではなく、本明細書に提示された詳細によって制限されないと考えられるべきであり、添付された請求項の範囲および均等物の中で修正され得る。
【符号の説明】
【００５５】
100  キャプチャデバイス
100-a  カメラ
100-b  タブレットパーソナルコンピュータ
100-c  モバイル電話
100-d  拡張現実システム
102  プロセッサ(CPU)
104  メモリ
106  画像アナライザアプリケーション
108  キャッシュメモリ
110  入力/出力インターフェース
112  バス
202  提案ボックス
204  ボックス
206a  画像
206b  画像
502  コンピューティングデバイス
504  プロセッサ
506  メモリ
508  パーマネントストレージ
510  入力/出力(I/O)インターフェース
514  ネットワーク
516  リムーバブルメディア
518  キーボード
520  マウス
522  ディスプレイ
【図１】
0006408019.tif 000002
【図２】
0006408019.tif 000003
【図３】
0006408019.tif 000004
【図３Ａ】
0006408019.tif 000005
【図３Ｂ】
0006408019.tif 000006
【図３Ｃ】
0006408019.tif 000007
【図３Ｄ】
0006408019.tif 000008
【図３Ｅ】
0006408019.tif 000009
【図３Ｆ】
0006408019.tif 000010
【図３Ｇ】
0006408019.tif 000011
【図４】
0006408019.tif 000012
【図５】
0006408019.tif 000013