(57)【要約】【課題】  近くに存在する相手や情報処理装置に対して情報を送信する際の操作性を向上させることを主な目的とする。【解決手段】  上記の目的を達成するために、本発明は、送信対象データを、他の情報処理装置に送信する場合に、前記送信対象データに対応するオブジェクトを、ライブビュー画像と共に表示画面に表示させ、前記ライブビュー画像に含まれる被写体から、送信先の候補に対応する物体を検出する検出し、前記送信先の候補の中から、前記送信対象データを送信する送信先を特定するための、前記オブジェクトの表示位置の移動操作を受け付け、前記移動操作が行われたオブジェクトに対応する送信対象データを、前記移動操作で対応づけられた物体に対応する送信先に送信させることを特徴とする。【選択図】  図７
2014178968.tif 000002
【特許請求の範囲】
【請求項１】
送信対象データを、他の情報処理装置に送信する情報処理装置であって、
前記送信対象データに対応するオブジェクトを、ライブビュー画像と共に表示画面に表示させる表示制御手段と、
前記ライブビュー画像に含まれる被写体から、送信先の候補に対応する物体を検出する検出手段と、
前記送信先の候補の中から、前記送信対象データを送信する送信先を特定するための、前記オブジェクトの表示位置の移動操作を受け付ける受付手段と、
前記移動操作が行われたオブジェクトに対応する送信対象データを、前記移動操作で対応づけられた物体に対応する送信先に送信させる送信制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
さらに、前記送信制御手段は、前記移動操作が行われたオブジェクトが表す送信対象データを、前記移動操作で対応づけられた物体に対応する送信先に送信する送信手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受付手段が受け付ける移動操作は、ポインティングデバイスを用いたドラッグアンドドロップ操作によって、前記表示画面に表示されたオブジェクトの表示位置を、前記検出手段が検出した物体の表示位置まで移動させる操作であることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記送信制御手段は、前記ドラッグアンドドロップ操作によって、前記移動されたオブジェクトがドロップされた位置に、前記検出手段が検出した物体が表示されていた場合に、当該物体を送信先として特定し、
かつ、前記検出手段が検出した物体が表示されていない場合には、前記移動されたオブジェクトが送信対象として特定されている状態を解除することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記検出手段は、前記ライブビュー画像の１フレームに相当する静止画像から、前記送信先の候補となる物体が撮像されている領域を検出し、
前記特定手段は、前記オブジェクトを移動させる操作が終了した位置が、前記検出手段が検出した領域のいずれかに含まれている場合に、該領域に写っている物体を、前記送信先として特定することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記表示制御手段は、前記検出手段が検出した領域を、前記表示画面に表示させている画像内で明示することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記検出手段は、前記オブジェクトを移動させる操作が終了したことに応じて、前記ライブビュー画像の１フレームに相当する静止画像から、前記送信先の候補となる物体が撮像されている領域を検出することを特徴とする請求項５又は６に記載の情報処理装置。
【請求項８】
前記検出手段は、前記オブジェクトを移動させる操作が終了したことに応じて、前記ライブビュー画像の１フレームに相当する静止画像のうち、前記オブジェクトを移動させる操作が終了した位置の周辺から優先して前記送信先の候補となる物体が撮像されている領域を検出することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
さらに、前記ライブビュー画像の１フレームに相当する静止画像のうち、前記検出手段が検出した領域内の画像に基づいて、当該領域に写っている物体を識別する情報を認識する認識手段を備えることを特徴とする請求項５乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記認識手段は、前記オブジェクトを移動させる操作を開始したことに応じて、前記ライブビュー画像の１フレームに相当する静止画像のうち、前記検出手段が検出した領域内の画像に基づいて、当該領域に写っている物体を識別する情報を認識することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記認識手段は、前記検出手段が検出した領域のうち、前記オブジェクトが移動される方向に存在する領域から優先して、該領域内の画像に基づいて当該領域に写っている物体を識別する情報を認識することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記認識手段は、前記オブジェクトが移動される操作における位置情報と移動速度の情報とに基づいて、前記検出手段が検出した領域のうち、優先して該領域内の画像に基づいて当該領域に写っている物体を識別する情報を認識する領域を決定することを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記表示制御手段は、前記認識手段によって認識された物体の識別情報として、該物体の名称を取得し、前記取得手段が取得した画像内で前記物体の近くに明示することを特徴とする請求項９乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記送信制御手段は、前記認識手段によって認識された物体の識別情報として、該物体のアドレス情報を取得し、該アドレス情報の種類に応じた方法で、前記送信対象データを送信させることを特徴とする請求項９乃至１２のいずれか１項に記載の情報処理装置。
【請求項１５】
前記送信制御手段は、前記移動操作で対応づけられた物体に対応する送信先に、外部記憶装置に記憶された前記送信対象データの識別情報を送信することによって、前記移動操作が行われたオブジェクトに対応する送信対象データを前記送信先に送信させることを特徴とする請求項１乃至１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記送信制御手段は、外部記憶装置に、前記移動操作で対応づけられた物体に対応する送信先を送信することによって、前記移動操作が行われたオブジェクトに対応し、前記外部記憶装置に記憶されている前記送信対象データを、前記送信先に送信させることを特徴とする請求項１乃至１４のいずれか１項に記載の情報処理装置。
【請求項１７】
コンピュータに読み込ませ実行させることで、前記コンピュータを請求項１乃至１６のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【請求項１８】
請求項１７に記載されたプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【請求項１９】
送信対象データを、他の情報処理装置に送信する情報処理装置の制御方法であって、
表示制御手段により、前記送信対象データに対応するオブジェクトを、ライブビュー画像と共に表示画面に表示させる表示制御工程と、
検出手段により、前記ライブビュー画像の被写体から、送信先の候補となる物体を検出する検出工程と、
受付手段により、前記送信先の候補の中から、前記送信対象データを送信する送信先を特定するための、前記オブジェクトの表示位置の移動操作を受け付ける受付工程と、
送信制御手段により、前記移動操作が行われたオブジェクトに対応する送信対象データを、前記移動操作で対応づけられた物体に対応する送信先に送信させる送信制御工程と、
を有することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置から他の情報処理装置に情報を送信させる技術に関する。
【背景技術】
【０００２】
従来、情報機器に保存されたデータを、他の情報機器に送信する際には、当該他の情報機器で受信可能なメールアドレスに、送信したいデータを添付ファイルとしたメールを送信する方法が一般的に利用されていた。一般的に、メールでデータを送る場合には、情報機器に保存された複数のメールアドレスの中から目的のメールアドレスを特定し、データを添付したメールを作成する作業が必要である。
【０００３】
特許文献１では、添付ファイルとして人物写真を選択すると、当該写真の被写体である人物のメールアドレスを送信先の候補として表示することか開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１‐４０８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１によれば、人物に、その人物が被写体である写真を送る場合には、操作工程が削減される。送信先となる人物が写っていない写真や写真以外のデータをやり取りしたい場合には、依然として複数のメールアドレスの中から目的のメールアドレスを特定する作業が生じる。また、特定の人物にではなく表示装置に表示させるためや、印刷装置に印刷させるためにデータを送信したいような場合にも、送信先方法とアドレス情報を特定しなくてはならない。データを送信したい相手がすぐ近くに存在する場合、特許文献１によれば、相手を写真に撮ることで、メールアドレスの特定作業は簡略化できるが、送信したいデータとは異なる写真が添付されたメールを作成してしまうことになる。
【０００６】
本発明は上記課題に鑑みてなされたものであり、近くに存在する相手や情報処理装置に対して情報を送信する際の操作性を向上させることを主な目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明は、送信対象データを、他の情報処理装置に送信する情報処理装置であって、前記送信対象データに対応するオブジェクトを、ライブビュー画像と共に表示画面に表示させる表示制御手段と、前記ライブビュー画像に含まれる被写体から、送信先の候補に対応する物体を検出する検出手段と、前記送信先の候補の中から、前記送信対象データを送信する送信先を特定するための、前記オブジェクトの表示位置の移動操作を受け付ける受付手段と、前記移動操作が行われたオブジェクトに対応する送信対象データを、前記移動操作で対応づけられた物体に対応する送信先に送信させる送信制御手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、極近くに存在する相手や情報処理装置に対して情報を送信する際の操作性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置の構成及び外観の一例を表す図
【図２】他の情報処理装置に画像データを送信する処理の一例を表すフローチャート
【図３】物体検出処理の一例を表すフローチャート
【図４】タッチ操作認識処理の一例を表すフローチャート
【図５】情報処理装置を持つユーザの前に存在する被写体の状況と、それを撮像する情報処理装置の関係の一例を表す図
【図６】検出対象の物体が写っている領域が検出される処理の具体例を表す図
【図７】情報処理装置が表示する表示画面の具体例を表す図
【図８】他の情報処理装置に画像データを送信する処理の一例を表すフローチャート
【図９】タッチ操作認識処理の一例を表すフローチャート
【図１０】表示画面と、検出対象の物体が写っている領域が検出される処理の具体例を表す図
【図１１】物体検出処理の一例を表すフローチャート
【図１２】他の情報処理装置に画像データを送信する処理の一例を表すフローチャート
【図１３】タッチ操作認識処理の一例を表すフローチャート
【図１４】物体認識処理の一例を表すフローチャート
【図１５】表示画面と、検出対象の物体が写っている領域が検出される処理の具体例を表す図
【図１６】情報処理装置の機能構成を表すブロック図
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
＜実施形態１＞
実施形態１では、カメラなどの撮像部を有する情報処理装置（自装置）において、撮像部でリアルタイムに撮像されている映像中で検出されている自装置以外の複数の情報処理装置（他装置）のうちの１つに、自装置に保存されているデータを送信する例を説明する。
【００１２】
図１の（ａ）は、本実施形態に係る情報処理装置１００のハードウェア構成の一例を示す図である。ＣＰＵ１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、各種処理のための演算や論理判断などを行い、システムバス１０８に接続された各構成要素を制御する。この情報処理装置１００には、プログラムメモリとデータメモリを含むメモリが搭載されている。ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２は、プログラムメモリであって、後述する各種処理手順を含むＣＰＵによる制御のためのプログラムを格納する。ＲＡＭ１０３（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３は、データメモリであり、ＣＰＵ１０１の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。外部記憶装置１０９などからＲＡＭ１０３にプログラムをロードすることで、プログラムメモリを実現しても構わない。ＨＤ１０４は、本実施形態に係るデータやプログラムを記憶しておくためのハードディスクである。本実施形態では、これらのＨＤ１０４には、画像データやドキュメントデータなどの電子データが格納されているものとする。同様の役割を果たすものとして、外部記憶装置を用いてもよい。本実施形態では、外部記憶装置は、ネットワークインターフェース１０８を介して接続されたサーバ装置（例えばクラウドサーバ）である。ただし、例えば、メディア（記録媒体）と、当該メディアへのアクセスを実現するための外部記憶ドライブとでも外部記憶装置を実現することができる。このようなメディアとしては、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＭＯ、フラッシュメモリ等が知られている。本実施形態において必要な情報は、ＲＡＭ１０３やＨＤ１０４、外部記憶装置に保持される。撮像部１０５は、レンズによる撮像光学系、ＣＭＯＳセンサなどによる撮像素子、信号処理回路等を有し、受光素子の撮像面に結像された被写体の光学像を画像情報として情報処理装置１００に入力する。より詳細には、撮像素子により光学像がアナログ電気信号に変換され、さらにアナログ−デジタル変換（Ａ／Ｄ変換）処理によってデジタル信号化されたデータが、情報処理装置１００に入力される。本実施形態では、デジタル信号として入力された画像情報に対して、後述する物体検出処理、認識処理などの画像処理を行う。入力されたデジタル信号は、画像表示用のメモリ（ＶＲＡＭ）１０６に書き込まれ、デジタル−アナログ変換（Ｄ／Ａ変換）を経てアナログ信号化され、本実施形態の表示部であるタッチパネルディスプレイ１０７に出力される。このように、撮像された光学像は電気信号化され、Ａ／Ｄ変換を経て画像表示用のメモリに蓄積される。そのデジタル信号を、Ｄ／Ａ変換によってアナログ変換し、表示部に逐次転送して表示することで、表示部は電子ビューファインダとして機能し、ライブビュー画像表示を行える。このように、撮像部１０５によって撮像され、画像ファイルとして保存されることなく逐次更新されながら表示出力されるリアルタイムの映像は、一般的にライブビュー画像、またはライブビュー映像といわれることが多い。タッチパネルディスプレイ��０７は、タッチ対象領域に対するユーザの操作情報を取り込むためのタッチセンサ等からなるポインティングデバイスと、表示領域に表示出力を行うディスプレイを兼ねるデバイスである。本実施形態においては、タッチ対象領域と、ディスプレイの表示領域は同じ面積のものが重畳する構成を有する。本実施形態では、撮像部１０５及びタッチパネルディスプレイ１０７は情報処理装置１００に一体化したものとするが、外部装置が接続される形態であってもよく、それぞれが独立した装置であってもかまわない。なお、本実施形態では、タッチパネルは静電容量方式のものを使用する。ただし、タッチパネルの方式は静電容量方式に限らず、感圧方式や光学方式であっても構わない。通信インタフェース１０８は、公知の通信技術によって、他の情報処理装置や外部記憶装置との有線あるいは無線で接続し、双方向に情報の送受信を行うことを可能とする。本実施形態では一例として、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって外部機器との通信を行う。他の情報処理装置とは、直接通信するだけでなく、中継装置を利用した間接的な通信を利用することもできる。
【００１３】
図１の（ｂ）は、情報処理装置１００の機能構成の一例を表すブロック図である。取得部１１０は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等で構成され、本実施形態では、撮像部１０５で撮像された画像情報取得する。本実施形態では、上述したように、デジタル信号化された画像情報を取得する。取得部１１０は、撮像部１０５から連続的に撮像される映像のうちの１フレームに相当する静止画像（以降、リアルタイム画像という）情報を取得する。そして、ライブビュー画像として表示出力するためＶＲＡＭ１０６に書きこまれるのとは別に、後述する検出部１１１や認識部１１２の処理の対象とするためにＲＡＭ１０３に保持させる。本実施形態では、取得部１１０が取得するリアルタイム画像は、１フレーム毎の全てであってもよいし、数フレーム毎（一定時間毎）であっても構わない。
【００１４】
検出部１１１は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等で構成され、取得部１１０で周期毎に取得された画像から、予め検出対象として設定された種類の物体が被写体として写っている領域を検出する。情報処理装置１００が検出可能な物体の種類としては、例えば人物の顔や、二次元バーコード、特定色及び特定形状のマーカー等が挙げられる。本実施形態の情報処理装置１００では、予め人物の顔と二次元バーコードが検出対象として設定されている。検出部１１１は、取得部１１０が取得した画像内で、検出対象である人物の顔あるいは二次元バーコードが写っている領域を探索し、検出された場合、その領域を示す情報をＲＡＭ１０３に保持する。
【００１５】
認識部１１２は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等で構成され、検出部１１１で検出した物体の画像情報に基づき、当該物体を識別する情報を認識する。具体的には、検出された物体が人物の顔であった場合、記憶部１１３に記憶された情報を参照し、検出部１１１から通知された顔が写った領域（顔領域）から得られる顔の特徴と、記憶された人物の顔の特徴情報の比較に基づき、人物が誰であるかを特定する。そして、認識結果として人物の登録名とメールアドレスを、顔領域の位置情報と関連付けてＲＡＭ１０３に保持する。また、検出された物体が二次元バーコードである場合には、バーコード情報を解析し、その結果得られた情報を、二次元バーコードが検出された領域あるいはその二次元バーコードが添付された物体が写っている領域の位置情報と関連付けてＲＡＭ１０３に保持する。本実施形態では、二次元バーコード情報には、送信方法とともに送信先を示すアドレス情報（ＩＰアドレスやメールアドレス）の情報、送信先の情報処理装置で実行される処理を制御するための情報等が含まれている。
【００１６】
記憶部１１３は、ＨＤ１０４あるいは外部記憶装置に相当し、本実施形態の処理に必要な人物の顔と名前及びメールアドレスの対応関係を示す情報や、画像データやドキュメントデータ等の電子データが記憶されているものとする。
【００１７】
受付部１１４は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等で構成され、タッチパネルディスプレイ１０７から通知された情報を受け付ける。具体的には、タッチパネルディスプレイ１０７のタッチ対象領域をユーザがタッチしたことによって検出されたタッチ点に関する情報を受け取る。タッチ点に関する情報には、タッチ点の位置を示す座標情報、タッチイベントの種類を示す情報が含まれる。本実施形態においては、入力インタフェース１０５から通知されるタッチイベントは、タッチの開始を表す「ＤＯＷＮ」、タッチしたまま指やスタイラスが移動されたことを表す「ＭＯＶＥ」、タッチ点がリリースされたことを表す「ＵＰ」の３種類とする。受付部１１４は、受け取ったタッチ点に関する情報をＲＡＭ１０３に保持する。
【００１８】
本実施形態では、受付部１１４が受け付けたタッチ点の座標と、タッチイベントの情報に基づいて、ユーザが入力したタッチ操作が区別され、各操作に応じた出力が行われるように各機能部が動作する。例えば、「ＤＯＷＮ」イベントが検出されてから、座標が所定の距離以上移動せずに、「ＵＰ」イベントが検出されたタッチ点に対しては、タップ操作に応じた結果が出力される。タップ操作とは、対象領域をタッチした指を移動させずに離す操作であり、表示された項目の選択や決定に使用される。また例えば、「ＤＯＷＮ」イベントが検出されてから、「ＭＯＶＥ」イベントが１回以上検出された後、「ＵＰ」イベントが検出されたタッチ点に対しては、ドラッグ操作に応じた結果が出力される。ドラッグ操作とは、対象領域への接触を維持したまま指を移動させる操作であって、タッチ開始位置に表示されたオブジェクトの移動などに使用される。一般的に、表示領域より小さいサイズで表示されたオブジェクトを、指がタッチを開始した位置からドラッグ操作を行った後に指が離された位置まで移動させる操作は、特にドラッグ＆ドロップ操作（ドラッグアンドドロップ操作）といわれる。また、その指が離された位置をドロップ位置といわれる。ドラッグ＆ドロップ操作においては、「ＤＯＷＮ」イベントが検出された座標に表示されたオブジェクトが、「ＵＰ」イベントが検出された座標まで移動される。またさらに、「ＵＰ」イベントが検出される直前に検出された「ＭＯＶＥ」イベントにおいて、タッチ点の位置の移動が所定の閾値以上の速度であった場合、当該タッチ点に対しては、フリック操作に応じた結果が出力される。フリック操作とは、対象領域をタッチした指をいずれかの方向に払うようにして対象領域から離す操作で、複数の対象のうち注目する対象を、所定の表示順に従って先に進めたり元に戻したりすることに使用される。
【００１９】
表示制御部１１５は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＶＲＡＭ１０６等で構成され、タッチパネルディスプレイ１０７に出力する表示画像を生成し、表示内容を制御する。本実施形態の表示制御部１１５は、ライブビュー画像と、記憶部１１３に記憶された画像データのサムネイル画像とを同時に表示させる。例えば、表示領域を２つの領域に分割してそれぞれを表示させる。さらに、受付部１１４が受け付けたタッチ点の情報に基づいて、ユーザの操作を表示画像に反映させる。例えば、サムネイル画像が表示されている位置で「ＤＯＷＮ」イベントが検出されたタッチ点について、「ＭＯＶＥ」イベントが検出された位置にサムネイル画像を追従させるように表示画像を制御する。また例えば、タップ操作に応じて選択されたサムネイル画像に対応する画像データを表示領域全体に表示させたり、サムネイル画像を表示する領域に入力されたフリック操作に応じて表示領域に表示させるサムネイル画像を変更したりする。
【００２０】
送信制御部１１６は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等で構成され、他の情報処理装置に送信させる送信対象データと、送信先の情報処理装置とを特定し、対応付ける。本実施形態ではドラッグ＆ドロップ操作によってサムネイル画像を移動させる移動操作に基づいて、送信対象データと、送信先の情報処理装置が特定される。具体的には、受付部１１４が「ＤＯＷＮ」イベントが検出された位置に表示されていたサムネイル画像に対応する画像データが、送信対象データとして特定される。さらに、受付部１１４が「ＵＰ」イベントを受け付けた位置と、検出部１１１が検出した領域との関係に基づいて、送信先の情報処理装置が特定される。送信制御部１１６は、送信対象データと送信先情報を対応付けて保持し、送信部１１７に通知する。
【００２１】
送信部１１７は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ネットワークインターフェース１０８等で構成され、送信制御部１１６によって特定された送信対象データを、特定された送信先に送信する。送信処理には公知の技術を採用することができる。例えば、特定された送信先情報がメールアドレスであれば、特定されたデータを添付したメールを作成し、送信する。特定された送信先情報がＩＰアドレスであれば、特定されたデータを、無線ＬＡＮを経由してＩＰアドレスに示される情報処理装置に送信する。
【００２２】
なお、上記説明は各機能をソフトウェア処理で行う場合について説明したものであるが、一部の機能またはそれぞれ機能を、ハードウェアで構成することも可能である。その場合には、以上説明した機能部に対応させて演算部や回路を構成すれば良い。
【００２３】
図１（ｃ）は、本実施形態の情報処理装置１００の外観図である。本実施形態では、タッチ対象領域と表示領域が重畳した表示画面１２０が設置された面の裏側に、撮像部１０５の光学系の一部であるのレンズ部１２１が設置される。従って、ユーザはレンズ部１２１を実際の被写体に向けながら、撮像されたリアルタイム映像を表示画面１２０で視認することができる。静止画像、あるいは動画像を撮像してデータ保存する操作には、シャッターボタン１２１や、表示画面１２０に表示されるユーザインタフェースを用いる。
【００２４】
次に、図２から図４のフローチャートを参照して、本実施形態においてＣＰＵ１０１がＲＡＭ１０３に展開して実行する具体的な処理を説明する。
【００２５】
図２の（ａ）は、情報処理装置１００が他の情報処理装置に画像データを送信する処理を示すフローチャートの一例である。本実施形態では、情報処理装置１００において、モード選択やアプリケーションの起動により、記憶部１１３に記憶されたデータを送信する機能が起動されると、図２（ａ）のフローチャートが実行される。
【００２６】
ステップＳ２０１では、取得部１１０が、撮像部１０５が連続的に撮像している映像のうちの１フレームに相当する静止画像（リアルタイム画像）を取得する。そして、取得したリアルタイム画像を、検出部１１１、認識部１１２の処理対象として扱うため、ＲＡＭ１０３に保持する。なお、ステップＳ２０１は、撮像部から１フレーム分の画像情報が入力される毎（つまり１フレーム毎）、あるいは数フレーム毎、あるいは所定時間毎に繰り返され、ＲＡＭ１０３に記憶されるリアルタイム画像を更新する。
【００２７】
ステップＳ２０２では、が、表示画面１２０に、ライブビュー画像と、記憶部１１３に記憶されている１以上の画像データのサムネイル画像とを表示させる表示画像を生成し、タッチパネルディスプレイ１０７に出力する。本実施形態では、表示画面１２０が、ライブビュー画像の表示領域と、１以上のサムネイル画像を一覧する表示領域とに分割され、両方の領域が同時に表示される（図５）。また、表示制御部１１５は、表示画像を構成する要素の位置情報をＲＡＭ１０３に保持する。
【００２８】
ただし、表示画面の構成はこれに限られる例えばライブビュー画像が表示されている表示画面において、特定のアイコンに対するタップ操作が認識された時に、サムネイル画像が表示されるようにしてもよい。本実施形態では、記憶部１１３に記憶されている１以上の画像データのうち所定の数（例えば４）のデータのサムネイル画像を表示させ、当該領域内において左右方向のフリック操作が認識された場合には、順次表示させる４つのサムネイル画像を変更して表示する。なお、これにより、ある程度の視認性を保ったサイズでサムネイル画像を表示させることができ、ユーザはサムネイル画像を見ることで所望とする画像データを選択することができる。なお、本実施形態では、ライブビュー画像の表示領域では、撮像部１０５から入力され、表示用としてＶＲＡＭ１０６に直接保持された画像情報を用いて、表示画面１２０に出力するライブビュー画像を生成した。しかし、取得部１１０が数フレーム毎に取得してＲＡＭ１０３に保持する静止画像（リアルタイム画像）を表示画面１２０に表示してもよい。
【００２９】
ステップＳ２０３では、ＲＡＭ１０３に保持されたリアルタイム画像から、物体の検出と認識を行うことによって、送信先の候補の情報を取得する処理が実行される。この処理において、リアルタイム画像において、送信先の候補となる他の情報処理装置が写っている領域が検出され、各領域の位置情報と各情報処理装置の送信先を示す情報とが関連付けられて保持される。
【００３０】
次に、図２の（ｂ）は、本実施形態のステップＳ２０３において実行される、送信先の候補の情報を取得する処理を示すフローチャートの一例である。
【００３１】
ステップＳ２１１では、検出部１１１が、取得部１１０によってＲＡＭ１０３に保持されたリアルタイム画像から物体を検出する処理を実行する。本実施形態では、リアルタイム画像中から検出する対象となる物体は、人の顔、および２次元バーコードである。
【００３２】
本実施形態では、リアルタイム画像全体から検出対象となる物体が写っている領域を検出するために、リアルタイム画像の一部を部分領域として抜き出し、解析することで、その部分領域が、検出対象が写っている領域に該当するか否かを計算する。抽出する部分領域の位置と大きさを走査することで、最も適切な部分領域を求め、検出対象の物体が写っている領域（検出領域）として検出する。そして、その領域を示す情報をＲＡＭ１０３に保持する。
【００３３】
図３は、本実施形態のステップＳ２１１において実行される、物体検出処理の詳細を示すフローチャートの一例である。
【００３４】
ステップＳ３０１では、検出部１１１が、物体の検出で用いる検出枠の大きさの初期値を決定する。検出枠とは、リアルタイム画像から部分領域として抽出する部分を区分する枠であり、本実施形態では正方形である。検出枠の大きさの初期値は、検出枠の取り得る最小値か最大値であることが一般的である。
【００３５】
ステップＳ３０２では、検出部１１１が、ＲＡＭ１０３に保持されているリアルタイム画像全体のうち、物体を検出する処理を行う領域を決定する。通常はリアルタイム画像の全体の領域を検出の対象領域として決定する。ただし、リアルタイム画像を撮像している環境に制約がある場合などはこの限りではない。
【００３６】
ステップＳ３０３では、検出部１１１が、ステップＳ３０２で決定した大きさの検出枠を、物体検出を行う領域内の初期位置に配置する。
【００３７】
ステップＳ３０４では、検出部１１１が、リアルタイム画像の画像情報と、配置されている検出枠の情報に基づいて取得した検出枠内の画素情報を解析し、配置されている検出枠内が、検出対象の物体が写っている領域に相当するか否かを判定する。このとき、検出枠の大きさと検出物体の大きさの関係が適切であることも含めて判定する。本実施形態では、２次元バーコード、もしくは人の顔のいずれかが写っている領域に相当するか否かが判定される。この処理には、公知の画像判定技術を用いられ、本実施形態の特徴ではないため、説明を省略する。
【００３８】
ステップＳ３０５では、検出部１１１が、リアルタイム画像から、検出対象の物体が写った領域が検出されたか否かを判定する。検出部１１１は、ステップＳ３０４において、配置されている検出枠内が、検出対象の物体が写っている領域に相当すると判定された場合に、検出対象の物体が写った領域が検出されたと判定する。検出対象の物体が写った領域が検出されたと判定された場合は（ステップＳ３０５でＹＥＳ）、ステップＳ３０６に進む。検出対象の物体が写った領域が検出されていないと判定された場合は（ステップＳ３０５でＮＯ）、ステップＳ３０７に進む。
【００３９】
ステップＳ３０６では、検出部１１１が、ステップＳ３０４において、検出対象の物体が写っている領域に相当すると判定された領域を、検出対象の物体が写った領域としてその情報をＲＡＭ１０３に保持する。本実施形態では、検出枠の中心座標と大きさ（１辺の長さ）を示す情報が保持される。
【００４０】
ステップＳ３０７では、検出部１１１が、この時点で設定されている大きさの検出枠を用いて、ステップＳ３０２で設定された領域全体に対する処理が実行されたか否かを判定する。この大きさの検出枠によって領域全体に対する処理が実行されたと判定された場合は（ステップＳ３０７でＹＥＳ）、ステップＳ３０９に進む。この大きさの検出枠によって領域全体に対する処理が実行されていないと判定された場合は（ステップＳ３０７でＮＯ）、ステップＳ３０８に進む。
【００４１】
ステップＳ３０８では、検出部１１１が、検出枠をステップＳ３０２で設定された対象領域内で移動させて、ステップＳ３０４に戻る。検出枠を移動させる方法は、初期位置から横方向に所定の距離ずつ移動させる度に処理を行い、横方向の移動が終了したら、縦方向に所定の距離ずつ移動させて、横方向の移動を繰り返すことで領域全体を走査していく、という方法が一般的である。例えば、検出枠の大きさとして一辺が１２８ドット、対象領域が横８００ドット縦４８０ドットである場合には、まず横方向に１ドットずつ移動する処理を行う度にステップＳ３０４〜ステップＳ３０８の処理を実行する。そして、６７２回横に移動させた後、１ドットずつ縦に移動させる度にステップＳ３０４〜ステップＳ３０８の処理を実行する。
【００４２】
一方、ステップＳ３０９では、検出部１１１が、検出枠の大きさを、この時点までに設定された大きさからさらに変更できないかどうか判定する。つまり、設定可能な１以上の検出枠の大きさのパターン全てについて、検出枠を移動させながら検出対象の物体が写っている領域を探索する処理が行われたか否かを判定する。検出枠の大きさをさらに変更できると判定された場合は（ステップＳ３０９でＮＯ）、ステップＳ３１０に進む。検出枠の大きさを変更できないと判定された場合は（ステップＳ３０９でＹＥＳ）、取り得る大きさと位置の検出枠について、くまなく物体検出処理を行ったことになるため、処理を終了し、図２（ｂ）のフローチャートにリターンする。
【００４３】
ステップＳ３１０では、検出部１１１が、検出枠の大きさを変更して、ステップＳ３０３の処理に戻る。ステップＳ３０１で決定した検出枠の大きさの初期値が最小値であった場合は、検出枠の大きさを一段階ずつ大きく変更する。逆に、ステップＳ３０１で決定した検出枠の大きさの初期値が最大値であった場合は、検出枠の大きさを一段階ずつ小さくする。例えば、検出枠の大きさとして一辺が１２８ドット、２５６ドット、３８４ドット、及び５１２ドットの４種類が設定可能で、ステップＳ３０１で初期値が最小値（１２８ドット）と決定された場合、１２８ドットでの処理が終了したら、次は２５６ドットに変更する。そして各大きさでの処理が終了する度に、２５６ドット、３８４ドット、５１２ドットと段階的に大きく変更していく。
【００４４】
なお、以上説明した物体検出処理は、予め設定された検出対象の種類別に実行してもよく、あるいはステップＳ３０４において、予め設定された検出枠内に、予め設定された検出対象のいずれかが写っているか否かを一度に判定するようにしてもよい。
【００４５】
図２（ｂ）の処理にリターンすると、ステップＳ２１２では、検出部１１１が、ステップＳ２１１で実行した物体検出処理によって、１以上の物体を検出したかを判定する。１以上の物体を検出していた場合は（ステップＳ２１２でＹＥＳ）、ステップＳ２１３に進む。１以上の物体を検出していなかった場合は（ステップＳ２１２でＮＯ）、処理を終了して図２（ａ）のメイン処理にリターンする。
【００４６】
ステップＳ２１３では、表示制御部１１５が、ライブビュー画像の表示領域に重畳して、ステップＳ２１１で検出した領域を明示する表示画像を生成し、タッチパネルディスプレイ１０７に出力する。例えば、破線によって領域を囲むようにして明示する。なお、取得部１１０が、撮像部１０５から連続的に入力されるフレーム毎の画像情報のうち、数フレーム毎に処理対象とするリアルタイム画像を取得している場合、検出処理が行われなかったフレームの画像がライブビュー画像として表示される状況が生じる。この場合、本実施形態では、前回検出処理を行ったフレームにおいて検出された領域を維持する。従って、ステップＳ２１３では、取得部１１０が新しくリアルタイム画像を取得するまで、前回明示された領域情報が維持される。ただし、別途検出された物体を追跡する画像処理を行うことで、検出領域を更新し、ステップＳ２１３にも、明示される領域を移動させることもできる。
【００４７】
ステップＳ２１４では、認識部１１２が、ステップＳ２１１で検出された領域の画像情報を解析し、物体を特定する物体認識処理が実行される。例えば、人の顔が写った領域の画像の特徴と、予め保持されている顔情報との比較から、処理対象となっているリアルタイム画像に写った人が誰かを特定する。そして、その人の識別情報（例えば、情報処理装置１００における登録名）、アドレス情報を取得し、それらを対応する領域の情報と関連付けてＲＡＭ１０３に保持する。あるいは、２次元バーコード情報を解析し、バーコード情報に含まれる、他の情報処理装置の識別情報とアドレス情報とを取得し、それらを対応する領域の情報と関連付けてＲＡＭ１０３に保持する。バーコード情報に、他の情報、例えば情報処理装置で実行される処理の制御に関する情報が含まれる場合には、それらもＲＡＭ１０３に保持される。  ステップＳ２１５では、認識部１１２が、ステップＳ２１４で実行した物体認識処理において、１以上の物体を認識したかを判定する。１以上の物体を認識していた場合は（ステップＳ２１５でＹＥＳ）、ステップＳ２１６に進む。１以上の物体を認識していなかった場合は（ステップＳ２１５でＮＯ）、処理を終了して図２（ａ）のメイン処理にリターンする。検出部１１１が１以上の物体を検出したにも関わらず、認識部１１２によって物体が認識されない場合は、例えば情報処理装置１００に登録がない人の顔が検出された場合や、２次元バーコードが情報処理装置の識別情報やアドレス情報を含まなかった場合に当たる。従って、処理を終了する際に、その旨を示すエラーを表示するなどの処理を加えることによって、ユーザは状況を把握しやすくなる。
【００４８】
ステップＳ２１６では、表示制御部１１５が、ライブビュー画像に重畳して、ステップＳ２１５で認識した物体の名称表示させる表示画像を生成し、出力する。本実施形態では、ＲＡＭ１０３に保持された関連付け情報に基づいて、認識された物体の近傍に名称が表示されるように表示制御される。ただし、いずれの物体の名称であるかを識別可能であれば、物体上に重畳して表示させたり、名称表示専用の領域を設けたりしてもよい。また、ここで表示する名称は、ステップＳ２１４で取得された識別情報そのものでもよいし、より簡略化された情報であってもよい。例えば、物体が人であれば表示用のニックネームを表示したり、印刷装置であればどのような印刷形式のものであっても一律に「プリンタ」と表示したりすることもできる。ステップＳ２１６でも、ステップＳ２１３と同様に、認識処理の対象とされなかったフレームがライブビュー画像として表示されている場合には、前認識処理を行ったフレームでの認識結果を維持する。従って、ステップＳ２１６でも、取得部１１０が新しくリアルタイム画像を取得するまで、前回明示された名称とその表示位置が維持される。ただし、別途検出された物体を追跡する画像処理が行われる場合には、それに追従して表示位置を移動させることもできる。
【００４９】
ステップＳ２１７では、認識した物体の名称を、ステップＳ３０６で保持された領域の情報に対応付けてＲＡＭ１０３に保持する完了したら、処理を終了し、図２（ａ）のメイン処理にリターンする。
【００５０】
上述したように、本実施形態の送信先候補取得処理では、表示画面においてライブビュー画像に重畳して、物体が検出されている領域を明示する（ステップＳ２１３）。領域が１箇所しか検出されない場合や、背景と物体との区別が容易な場合には、この処理は省略されることもできる。ただし、検出された領域を明示することによって、ユーザが、送信先の候補となる他の情報処理装置の位置を把握しやすくなるという効果がある。また、物体が検出されている領域が明示されない場合に、ユーザに、現在の撮影環境で得られるリアルタイム画像が適切でないことをフィードバックする効果もある。それによってユーザは、情報処理装置１００の位置や角度を変えるなど、より良い環境でリアルタイム画像を取得するように調整することができる。同様に、本実施形態では、ライブビュー画像に重畳して、認識された物体の名称を重畳表示する（ステップＳ２１６）。この処理が省略されることで、ライブビュー画像全体の視認性を確保できる場合もある。ただし、認識された物体の名称を表示することによって、ユーザが、情報処理装置１００が認識した物体を把握しやすくなるという効果がある。
【００５１】
図２（ａ）の処理にリターンすると、ステップＳ２０４では、タッチ操作に応答する処理が実行される。この処理において、送信対象の候補となる画像データのサムネイル画像に対して行われたタッチ操作を追跡し、当該画像データを送信する送信先の装置が指定されたことを認識する。本実施形態では、ユーザが、画像データに対応するサムネイル画像と、ライブビュー画像とを同時に表示画面に表示させた表示画面をタッチして、サムネイル画像をライブビュー画像中の他の情報処理装置の位置に移動させるドラッグ＆ドロップ操作を認識する。このドラッグ＆ドロップ操作を利用した画像の移動操作により、ドラッグされたサムネイル画像に対応する画像データが送信対象として特定され、ドロップ位置に関連付けられた情報処理装置が送信先として特定される。
【００５２】
ここで、図４（ａ）及び（ｂ）は、本実施形態のステップＳ２０４において実行される、ユーザによるタッチ操作の認識処理を表すフローチャートの一例である。なお、以下では、タッチパネルがユーザによって１箇所タッチされることによって行われるシングルタッチ操作を想定して説明する。
【００５３】
まず、図４（ａ）のフローチャートのステップＳ４０１では、受付部１１４が、タッチパネルディスプレイ１０７においてタッチ点が検出されたかを判定する。受付部１１４は、ステップＳ４０１の処理が実行されてから所定時間の間にタッチパネルディスプレイ１０７からタッチ点に関する情報が通知されたか否かに応じて判定を行う。タッチ点を検出した場合は（ステップＳ４０１でＹＥＳ）、ステップＳ４０２に進む。タッチ点を検出していない場合は（ステップＳ４０１でＮＯ）、処理を終了する。
【００５４】
ステップＳ４０２では、受付部１１４が、ステップＳ４０１で受け付けたタッチ点に関する情報をＲＡＭ１０３に保持する。本実施形態では、タッチイベントを示す情報、検出されたタッチ点の位置を示す座標情報（タッチ検出の対象領域を座標平面とする）、タッチ点が検出された時刻を示す情報を保持する。
【００５５】
ステップＳ４０３では、受付部１１４が、ステップＳ４０１で受け付けたタッチイベントが「ＤＯＷＮ」であるか否か判定する。タッチイベントが「ＤＯＷＮ」である場合は（ステップＳ４０３でＹＥＳ）、ステップＳ４０４に進む。タッチイベントが「ＤＯＷＮ」でない場合は（ステップＳ４０３でＮＯ）、ステップＳ４０６に進む。
【００５６】
ステップＳ４０４では、表示画面において、ステップＳ４０１で検出されたタッチ点の位置に、サムネイル画像が表示されているか否かを判定する。本実施形態では、検出されたタッチ点の位置にステップＳ２０２で表示したサムネイル画像の表示位置との関係に基づいて判定する。タッチ点の位置にサムネイル画像が表示されていると判定された場合（ステップＳ４０４でＹＥＳ）、ステップＳ４０５に進む。タッチ点の位置にサムネイル画像が表示されていないと判定された場合は（ステップＳ４０４でＮＯ）、処理を終了し図２（ａ）のメイン処理にリターンする。
【００５７】
ステップＳ４０５では、送信制御部１１６が、送信対象候補となる画像データを特定する。そして、特定された送信対象候補を示す情報をＲＡＭ１０３に保持して、処理を終了し図２（ａ）のメイン処理にリターンする。
【００５８】
一方、ステップＳ４０６では、受付部１１４が、ステップＳ４０１で受け付けたタッチイベントが「ＭＯＶＥ」であるか否か判定する。タッチイベントが「ＭＯＶＥ」である場合は（ステップＳ４０６でＹＥＳ）、ステップＳ４０７に進む。タッチイベントが「ＭＯＶＥ」ではない場合は（ステップＳ４０６でＮＯ）、ステップＳ４１１に進む。ステップＳ４１１に進むのは、タッチイベントが「ＤＯＷＮ」でも「ＭＯＶＥ」でもない場合、つまり「ＵＰ」の場合に相当する。
【００５９】
ステップＳ４０７では、受付部１１４が、送信対象候補が特定されているか否かを判定する。具体的には、ＲＡＭ１０３にステップＳ４０５で特定された送信対象候補の情報が保持されているか否かに基づいて判定する。送信対象候補が特定されている場合は（ステップＳ４０７でＹＥＳ）、ステップＳ４０８に進む。送信対象候補が特定されていない場合は（ステップＳ４０７でＮＯ）、処理を終了し図２（ａ）のメイン処理にリターンする。
【００６０】
ステップＳ４０８では、表示制御部１１５が、ディスプレイ１０７に出力する表示画像を更新し、送信対象候補のサムネイル画像が、タッチ点の移動に追従して移動するように表示させる。このとき、保持されているタッチ点の情報のうち、１つ前に記録したタッチ点の位置を示す座標と、現在のタッチ点の位置を示す座標から、タッチ点が移動した方向と距離を算出し、送信対象候補のサムネイル画像を同様に移動させる。更新した表示画像が出力されたら、図２（ａ）のメイン処理にリターンする。このように、サムネイル画像がドラッグ操作によって移動される様子がユーザに明示される。
【００６１】
次に、図４（ｂ）を参照して、タッチイベント「ＵＰ」が検出された場合の処理を説明する。
【００６２】
ステップＳ４１１では、受付部１１４が、送信対象候補が特定されているか否かを判定する。具体的には、ＲＡＭ１０３にステップＳ４０５で特定された送信対象候補の情報が保持されているか否かに基づいて判定する。つまり、ステップＳ４１１では、ドラッグ操作されているサムネイル画像があるか否かを判定していることになる。送信対象候補が特定されている場合は（ステップＳ４１１でＹＥＳ）、ステップＳ４１２に進む。送信対象候補が特定されていない場合は（ステップＳ４１１でＮＯ）、処理を終了し図２（ａ）のメイン処理にリターンする。
【００６３】
ステップＳ４１２では、表示画面において、ステップＳ４０１で検出されたタッチ点の位置（タッチイベント「ＵＰ」が通知されたタッチ点の位置）に、送信先候補の物体があるか否かを判定する。具体的には、ステップＳ３０６で保持された物体が写っている領域の情報に基づいて、検出された領域のいずれかに、タッチ点の位置が含まれるか否かを判定し、含まれる場合に、タッチ点の位置に送信先候補の物体があると判定する。タッチ点の位置に送信先候補の物体があると判定された場合（ステップＳ４１２でＹＥＳ）、ステップＳ４１３に進む。タッチ点の位置に送信先候補の物体がないと判定された場合は（ステップＳ４１２でＮＯ）、ステップＳ４１５に進む。
【００６４】
ステップＳ４１３では、送信制御部１１６が、送信対象データと、送信先の情報処理装置を特定し、対応付ける。具体的には、ステップＳ４０５で送信対象候補として特定されていた画像データを確定した送信対象データとして特定し、ステップＳ４１２で、タッチ点の位置を含むと判定された領域に関連付けられたアドレス情報を送信先として特定する。そして、送信先のアドレス情報と、送信対象の画像データの情報を対応づける。ただし、クラウドサーバなど、外部記憶装置に記憶された画像データを送信する場合には、画像データ自体を直接送信するのではなく、クラウドサーバにおける画像データの識別情報（アドレス情報）を送信してもよい。この場合、ステップＳ４１３では、送信先のアドレス情報と、クラウドサーバにおける画像データの識別情報とが対応づけられる。これにより、送信先の識別情報を受信した他の情報処理装置では、その識別情報に基づいて、クラウドサーバ内の送信対象データを特定し、取得することができる。あるいは、クラウドサーバに対して、送信先として特定された情報処理装置の識別情報（アドレス情報）を含む情報を送信することによって、当該クラウドサーバに、送信先へ送信対象データを送信させることもできる。この場合、ステップＳ４１３では、送信先のアドレス情報、クラウドサーバのアドレス情報、送信対象の画像データを示す識別情報、クラウドサーバへの指示を示す情報が対応づけられる。
【００６５】
さらに、ステップＳ４１３において、送信制御部１１６は、送信対象データの他に、送信先に送信されるべき情報を、送信先の情報処理装置のアドレス情報に対応づける。例えば、送信先の情報処理装置が印刷装置の場合には、送信対象データを印刷出力させる信号を、送信対象データの情報と共に送信することによって、ユーザは直感的な一流れの操作によって、送信先における出力処理もコントロールすることが可能になる。このような直感的な操作の実現のため、認識部１１２が認識した情報の中に、送信先の情報処理装置で実行される処理の制御に関わる情報が含まれている場合、送信制御部１１６は、それを送信先のアドレス情報に対応付ける。
【００６６】
ステップＳ４１４では、送信部１１７が、送信制御部１１６によって、特定された送信先の情報処理装置に対応付けられた情報に基づいて、送信対象データを、送信先の情報処理装置に送信させる処理を行う。この際、公知の技術によって適宜送信対象データを圧縮するなどの処理が加えられる。また、上述したように、送信部１１７は、メールアドレスやＩＰアドレスなど、認識されたアドレス情報の種類に応じた送信方法が選択される。クラウドサーバを介して送信先の情報処理装置に送信対象データを送信する形式の場合には、クラウドサーバに対して、送信先のアドレス情報に対応付けられた情報が送られる。
【００６７】
ステップＳ４１５では、受付部１１４からドラッグ＆ドロップ操作が入力されなかったことが各機能部に通知され、ＲＡＭ１０３の情報が初期化されることによって情報処理装置１００は初期状態に戻る。すなわち、送信制御部１１６によって送信対象と特定されていたオブジェクトの特定状態は、ドラッグ＆ドロップ操作の終了時点で、送信先候補の物体が特定されない場合は解除される。そして処理を終了する。
【００６８】
図２（ａ）のメイン処理にリターンすると、ステップＳ２０５では、受付部１１４が他の情報処理装置にデータを送信する機能の終了が指示されたか否かを判定する。本実施形態では、受付部１１４が、表示画面において特定のアイコンの表示位置におけるタップ操作を受け付けた場合に、他の情報処理装置にデータを送信する機能の終了が指示されたと認識する。ただしこれに限らず、例えば物理ボタンによって、画像の再生モードなどが指定されたり、他のアプリケーションが起動されたりすることを、終了指示と判断してもよい。
【００６９】
なお、図４（ａ）及び（ｂ）を参照して説明した処理では、シングルタッチ操作を想定したが、複数箇所が同時にタッチされることによって行われるマルチタッチ操作によって、複数のサムネイル画像を同時にドラッグ＆ドロップする操作を受け付けても構わない。その場合には、タッチ点を識別した上で、各タッチ点について上述した処理を実行する。
【００７０】
図５は、情報処理装置１００を持つユーザの前に存在する被写体の状況と、それを撮像する情報処理装置１００の関係を模式的に表す図である。被写体は、人物５０１、プリンタ５０３、及びテーブル５０５である。一方、情報処理装置１００は撮像部１０５から被写体のリアルタイム画像を取得する（ステップＳ２０１）。そして、表示画面１２０には、ライブビュー画像と、それに重畳するように、サムネイル画像の一覧を提示する領域であるデータトレイ５０６とが表示される（ステップＳ２０２）。図５のデータとトレイ５０６には、サムネイル画像５０７〜５１０が表示されている。これらはそれぞれ、記憶部１１３に記憶された写真データに対応する。
【００７１】
次に図５の情報処理装置１００が行う物体の具体的な検出処理の様子を、図６を用いて説明する。なお、図３のフローチャートに示した、検出枠の大きさおよび位置の走査する処理は、本来表示画面には表示させずに行われるが、ここでは説明のため表示画面１２０中に明示して説明する。
【００７２】
情報処理装置１００は、二次元バーコードの検出で用いる検出枠６０２の大きさの初期値を決定する（ステップＳ３０１）。本実施形態では検出枠の大きさとして取り得る最小値を初期値として設定している。そして、物体検出の対象とする領域６０１を決定する（ステップＳ３０２）。本実施形態では、リアルタイム画像のうち、表示画面１２０において太線で表現された領域（データトレイ５０６に隠されずにライブビュー画像が表示される領域に相当する）が、対象領域６０１とされている。図６（ａ）は、初期値の大きさに設定された検出枠が、初期位置に配置された状態を示す（ステップＳ３０３）。そして、検出枠６０２内に検出対象となる物体が撮像されているか否かが判定される（ステップＳ３０４）。図６（ａ）の状態では、検出枠６０２の領域には二次元バーコードも人の顔も存在しないので、物体写っている領域に相当しないと判定される（ステップＳ３０５でＮＯ）。
【００７３】
図６の（ａ）では、検出枠６０２が対象領域６０１の全てをまだ移動していないので（ステップＳ３０７でＮＯ）、検出枠６０２が移動される（ステップＳ３０８）。図６（ｂ）では、検出枠６０２を初期位置から向かって右に移動させている。
【００７４】
初期値のサイズの検出枠６０２で、検出領域全体の検出処理を終えた場合、検出枠６０２の大きさがまだ変更可能か否かが判定され（ステップＳ３０９）、可能な場合には検出枠の大きさを変更する処理が実行される（ステップ３１０）。図６の（ｃ）は、検出枠６０２の大きさを一段階大きくなるように変更した様子を示す（ステップＳ３１０）。
【００７５】
図６の（ｄ）は、大きさが変更された検出枠６０２における物体検出と移動を繰り返した後、検出枠６０２の領域が、検出対象の物体（二次元バーコード）が写っている領域に相当する様子を示す。検出枠６０２内に二次元バーコードが検出されるため（ステップＳ３０５でＹＥＳ）、二次元バーコード５０４だと判定した検出枠６０２の領域を示す情報が保持される（ステップＳ３０６）。引き続き、検出枠６０２の位置と大きさを走査して検出処理を繰り返すことによって、人物５０１の顔５０２も検出することができる。
【００７６】
図７の（ａ）は、上述したようにして検出された、二次元バーコード５０４の検出領域と、人の顔５０２の検出領域を、情報処理装置１００が明示した様子を示す（ステップＳ２１３）。本実施形態では、検出した顔５０２の領域に破線で枠線７０１と、検出した二次元バーコード５０４の領域を破線で囲んだ枠線７０２が描画される。
【００７７】
次に、検出された領域に対して認識処理を実行することにより、各物体が識別される（ステップＳ２１４）。図７（ｂ）は、検出された領域のそれぞれに対して、認識した物体の名称が表示された様子を示す（ステップＳ２１６）。物体認識処理の結果、顔５０２は、情報処理装置１００に予め記憶された人物５０１の顔である、と認識され、登録名である「Ａ−ｓａｎ」という名称７０３が顔５０２の領域の上部に描画される。同様に、二次元バーコード５０４はプリンタ５０３だと認識され、二次元バーコードに含まれていた情報に基づき、「Ｐｒｉｎｔｅｒ  Ｘ」という名称７０４が二次元バーコード５０４の領域の上部に描画される。
【００７８】
図７（ｃ）は、表示画面１２０に表示されている写真データ５０９をユーザが指７０５でタッチした状態を示す。表示画面１２０を指７０５がタッチされたことにより「ＤＯＷＮ」イベントが検出されるため（ステップＳ４０３でＹＥＳ）、タッチされた位置に、サムネイル画像が表示されているかが判定される（ステップＳ４０４）。図７（ｃ）では、指７０５がタッチしている位置にサムネイル５０９が表示されているため（ステップＳ４０４でＹＥＳ）、サムネイル５０９に対応する写真データが送信対象候補として特定される（ステップＳ４０５）。
【００７９】
次に、図７（ｄ）は、指７０５が表示画面１２０をタッチした状態を維持したまま、移動している様子を示す。図４のフローチャートのステップＳ４０８まで処理した状態を表している。ここでは、指７０５が図７（ｃ）のタッチ開始位置と異なる位置で検出されたことにより「ＭＯＶＥ」イベントが検出される（ステップＳ４０６でＹＥＳ）。既に送信対象候補が特定されているので（ステップＳ４０７でＹＥＳ）、写真データのサムネイル５０９を指７０５の移動に追従するように表示させる（ステップＳ４０８）。
【００８０】
図７（ｅ）は、さらに指７０５が移動され、顔５０２の検出領域７０１内まで移動してから表示画面１２０からリリースされた状態を示す。ここで透過された指７０５は、表示画面１２０の表面から離れていることを表現している。「ＵＰ」イベントが検出され（ステップＳ４０６でＮＯ）、既に送信対象候補が特定されているので（ステップＳ４１１でＹＥＳ）、指７０５がリリースされた位置に、送信先候補となる物体があるか否かが判定される（ステップＳ４１２）。図７（ｄ）では、タッチ「ＵＰ」が検出されたタッチ位置、すなわち指７０５がリリースされた位置は、顔５０２の検出領域７０１内である（ステップＳ４１２でＹＥＳ）。従って、送信先の情報処理装置は、情報処理装置１００に予め登録された人物５０１のアドレス情報が示す先であると特定される。そして、そのアドレス情報と送信対象データであるサムネイル５０９の写真データが対応づけられる（ステップＳ４１３）。そして、写真データが送信される（ステップＳ４１４）。例えば、人物５０１のアドレス情報としてメールアドレスが登録されている場合、送信先の情報処理装置はメールサーバに相当する。情報処理装置１００は、サムネイル５０９に対応する写真データを添付したメールを、当該メールアドレス宛に送信する。勿論、メールアドレス欄に人物５０１のメールアドレスが選択された状態でメールアプリが起動し、メール本文を入力可能な状態を用意しても構わない。また例えば、人物５０１のアドレス情報として、人物５０１が所有する特定の情報処理装置のＩＰアドレスが登録されている場合には、ＬＡＮ環境を利用して当該情報処理装置に直接写真データを送信することができる。
【００８１】
以上説明したように、本実施形態では、表示画面に表示されたライブビュー画像に写っている検出対象を送信先の候補とする。これにより、ユーザは表示画面１２０をタッチすることなく、被写体に撮像部１０５を向けるだけで、送信先候補である物体を知ることができる。そして、本実施形態の情報処理装置１００は、同じ表示画面に表示された送信対象の候補と関連付けられたオブジェクトを、移動させる操作を受け付ける。そして、移動されたオブジェクトに対応するデータが送信対象として、オブジェクトが移動された位置に被写体として写っている検出対象の物体を送信先として対応付ける。これにより、情報処理装置１００の撮像部１０５で捕えられる範囲内の物体に対して、直感的な操作で情報を送信対象と送信先を設定することが可能となる。
【００８２】
なお、本実施形態では随時更新されるライブビュー映像に対してドロップ操作を行うようにしたが、更新を行わず、リアルタイムで撮像された画像を一時的保持し表示している一時停止画面ドロップ操作の対象としても構わない。また、ポインティングデバイスを用いた操作としてタッチパネルを用いた物体接触による操作例を説明したが、これに限らない。例えば、マウスなど他のポインティングデバイスによる操作でも良い。
【００８３】
＜変形例１＞
実施形態１の変形例１では、ユーザがオブジェクトのドラッグ＆ドロップ操作を開始してから物体検出処理と物体認識処理を行うことにより、情報処理装置１００の処理負荷を軽減する例を説明する。なお、これ以降の変形例で実行される処理を説明する各フローチャートにおいて、実施形態１のフローチャートと同じ番号を付した処理ステップでは、実施形態１の当該処理ステップと同じ処理が行われるため、適宜説明を省略する。
【００８４】
変形例１に係る情報処理装置１００のハードウェア構成、及び機能構成は、実施形態１の図１（ａ）、（ｂ）と同様であるため、説明を省略する。
【００８５】
図８は、変形例１において、情報処理装置１００が他の情報処理装置に画像データを送信する処理を示すフローチャートの一例である。変形例１においても、情報処理装置１００において、モード選択やアプリケーションの起動により、記憶部１１３に記憶されたデータを送信する機能が起動されると、図８のフローチャートが実行される。実施形態１における図２のフローチャートとは、ステップＳ２０３の送信先候補取得処理が無く、ステップＳ２０２においてライブビュー画像とサムネイル画像一覧が表示された後に、ステップＳ２０４Ａでタッチ操作認識処理が実行される点が異なる。それ以外の処理は実施形態１と同じため、詳細な説明は省略する。
【００８６】
図９は変形例１のステップＳ２０４Ａにおいて実行される、タッチ操作認識処理を示すフローチャートの一例であり、実施形態１の図４のフローチャートに対応する。
【００８７】
ステップＳ４１１までの処理は、実施形態１と同じであるため、説明を省略する。実施形態２では、ステップＳ４１１において、受付部１１４が、送信対象候補が特定されていると判定した場合（ステップＳ４１１でＹＥＳ）、ステップＳ２０３Ａの送信先候補取得処理に進む。ステップＳ２０３Ａでは、実施形態１と同様に、図３のフローチャートに従って、リアルタイム画像から送信先候補を取得する処理が実行される。そして、ステップＳ３０９において、検出部１１１が、検出枠の大きさを、この時点までに設定された大きさからさらに変更できないと判定した場合（ステップＳ３０９でＹＥＳ）、図９のフローチャートにリターンしてステップＳ４１２に進む。ステップＳ４１２以降の処理は、実施形態１と同様に実行される。
【００８８】
ここで図１０は、変形例１に係る情報処理装置１００を、図５と同じ環境で使用する様子を表す。表示画面１２０に表示された内容は、実施形態１の図５と同一であるものとする。以下、変形例１に係る情報処理装置１００の具体的な操作例を、図１０を用いて説明する。
【００８９】
図１０（ａ）は、ユーザが指７０５でサムネイル画像５０９を人物５０１の顔５０２の上までドラッグ＆ドロップして指を離した様子を表している。図１０においても、透過された指７０５は、表示画面１２０の表面から離れていることを表現している。ただし、変形例１では、図７の（ｃ）とは異なり、この時点で顔５０２、及び二次元バーコード５０４は検出も認識もされていないため、枠線は表示されていない。図１０（ａ）の操作例では、「ＵＰ」イベントが検出され（ステップＳ４０６でＮＯ）、既に送信対象候補がサムネイル５０９に対応する写真データと特定されている（ステップＳ４１１でＹＥＳ）ことから、ステップＳ２０３Ａの送信先候補取得処理に進む。
【００９０】
図１０（ｂ）は、ステップＳ２０３Ａの送信先候補取得処理によって、人物５０１の顔５０２とプリンタ５０３の二次元バーコード５０４が検出され、各領域が明示された様子を示す（ステップＳ２１３）。変形例１においても、検出された領域は破線で囲われることによって明示される。また、図１０の（ｃ）では、顔５０２が人物５０１、二次元バーコード５０４はプリンタ５０３だと認識され、名称が表示された様子を示す（ステップＳ２１６）。ステップＳ２１１で物体を認識したと判定され、ステップＳ２１２で、認識した人物５０１の「Ａ−ｓａｎ」という名称７０３が顔５０２の上部に描画される。同様に、認識したプリンタ５０３の「Ｐｒｉｎｔｅｒ  Ｘ」という名称７０４が二次元バーコード５０４の上部に描画される。
【００９１】
そして、「ＵＰ」イベントが検出されたタッチ点の位置に、送信先候補の顔５０２がある（ステップＳ４１２でＹＥＳ）ため、送信先の情報処理装置は、情報処理装置１００に予め登録された人物５０１のアドレス情報が示す先であると特定される。そして、そのアドレス情報と送信対象データであるサムネイル５０９の写真データが対応づけられる（ステップＳ４１３）。そして、写真データが送信される（ステップＳ４１４）。
【００９２】
以上説明したように、変形例１では、ユーザがオブジェクトをドロップするまで物体の検出処理と認識処理を行わない。これにより、随時取得されるリアルタイム画像に対して常に物体検出処理と物体認識処理を実行することによって情報処理装置１００にかかる処理負荷を低減することができる。また、変形例１では、オブジェクトをドロップしたことに応じて、物体検出処理が開始されることとしたが、ユーザがオブジェクト上をタッチした事に応じて物体検出処理が開始されるようにしてもよい。その場合には、ステップＳ２０３Ａの処理は、ステップＳ４０５の後に実行され、タッチ操作を追跡するのと並行して物体検出処理と物体認識処理を行う。このようにすることで、ユーザの操作中に処理を開始できるので、ドロップ操作の後にユーザが送信先候補の取得処理の終了を待機する時間が削減できる。
【００９３】
＜変形例２＞
次に、変形例２として、変形例１における物体の検出処理で用いる検出対象領域を、データがドロップされた座標の周辺に絞ることで必要な画像処理量を削減し、さらに処理負荷を低減する例を説明する。
【００９４】
変形例２のステップＳ２０３Ａでは、図８（ｂ）のフローチャートに従って送信先候補取得処理が実行される。図２（ｂ）と異なる点は、ステップＳ２１１Ａにおいて、図１１のフローチャートに従って、物体検出処理が実行される点である。
【００９５】
図１１は変形例２のステップＳ２１１Ａにおいて実行される物体検出処理のフローチャートの一例である。図３のフローチャートと異なる点は、ステップＳ３０１において検出枠の大きさの初期値が設定された後、物体検出を行う領域を決定する処理である。変形例２では、ステップ１１０２において、タッチ点がリリースされた座標と、検出枠の大きさに基づいて物体検出を行う領域を決定する。変形例１では、物体検出の対象領域を、ユーザがデータをドロップした座標（タッチをリリースした座標）中心とし、この時点で設定されている検出枠の大きさの４倍面積の正方形領域を検出の対象領域の基準としている。決定された検出対象領域に対して実行されるステップＳ３０３〜ステップＳ３０９の処理は、変形例１と同様である。ただし、変形例２では、ステップＳ３０９において、検出枠の更に変更できると判定された場合（ステップＳ３０９でＹＥＳ）、ステップＳ３１０で検出枠の大きさを変更した後、ステップＳ３０２Ｂに戻り、検出対象領域を再度決定する。この他の処理は、変形例１と同様であるため説明を省略する。
【００９６】
ここで変形例２に係る情報処理装置１００を、図５と同じ環境で使用する様子を表す。表示画面１２０に表示された内容は、実施形態１の図５と同一であるものとする。以下、変形例１に係る情報処理装置１００の具体的な操作例を、図１０を用いて説明する。
【００９７】
図１０（ａ）は、ユーザが指７０５でサムネイル画像５０９を人物５０１の顔５０２の上までドラッグ＆ドロップして指を離した様子を表している。図１０においても、透過された指７０５は、表示画面１２０の表面から離れていることを表現している。ただし、変形例１では、図７の（ｃ）とは異なり、この時点で顔５０２、及び二次元バーコード５０４は検出も認識もされていないため、枠線は表示されていない。図１０（ａ）の操作例では、「ＵＰ」イベントが検出され（ステップＳ４０６でＮＯ）、既に送信対象候補がサムネイル５０９に対応する写真データと特定されている（ステップＳ４１１でＹＥＳ）ことから、ステップＳ２０３Ａの送信先候補取得処理に進む。
【００９８】
次に図１１のフローチャートの物体検出処理の具体的な検出処理の様子を、１０（ｄ）〜（ｆ）を用いて説明する。なお、図１１のフローチャートに示した、検出対象領域を決定し、検出枠の大きさおよび位置の走査する処理は、本来表示画面には表示させずに行われるが、ここでは説明のため表示画面１２０中に明示して説明する。
【００９９】
図１０（ｄ）は、ユーザがタッチをリリースした位置１００１の座標を中心に、初期値の大きさに設定された検出枠６０２の４倍の面積の正方形が、検出処理の対象領域に設定された状態を示す（ステップＳ３０２Ｂ）。変形例２においても、検出枠の大きさの初期値としては、取り得る最小値（検出枠内の検出対象の有無を画像処理により判別できる最小のサイズ）を設定している。タッチ点１００１の座標を中心とした、縦横それぞれが検出枠６０２の２倍の領域を対象領域１００２として決定している。ユーザがサムネイル画像５０９をドロップした位置に、ユーザが送信先として設定したい物体が存在する可能性が高いことから、対象領域をドロップ位置の周辺に絞ることで、送信先の候補を絞ることができる。なお、ここで説明した「２倍」は一例であり、別の倍率の領域を対象とすることも可能である。
【０１００】
図１０（ｅ）は、初期値で設定された大きさの検出枠によって対象領域全体を走査し終えたことに応じて、検出枠６０２の大きさを変更し（ステップＳ３１０）、検出対象領域が新たに決定された状態を示す（ステップＳ３０２Ｂ）。図１０（ｆ）は、新たに決定された対象領域全体を走査し終えたことに応じて、検出枠の大きさの変更が繰り返され（ステップＳ３１０）、対象領域がさらに更新された様子を表している。
【０１０１】
そして、図１０の（ｆ）は、さらに検出枠の大きさが変更されたあと（ステップＳ３１０）、人物５０１の顔領域６０２が検出された様子を表す（ステップＳ３０５でＹＥＳ）。図１０（ｆ）では、設定された検出枠の縦「２倍」に当たる対象領域の縦サイズは、リアルタイム画像の縦サイズが上限に当たる。さらに、ドロップ位置を中心したことにより、向かって右側もリアルタイム画像の右端に達しているため、対象領域は正方形とならない。このように、対象領域は、検出枠の４倍の面積の正方形を基準として、リアルタイム画像の大きさと、ドロップ位置とに応じて適宜調整される。
【０１０２】
以上説明したように、変形例２では、ユーザがオブジェクトをドロップしたことに応じて物体検出処理と物体認識処理を行い、その際、リアルタイム画像中で検出物体処理の対象とする対象領域を、ドロップ位置の座標の周辺に絞る。絞られた対象領域で、送信先候補となる物体が検出されなかった場合には、徐々に対象領域を拡大していく。ユーザがオブジェクトをドロップした位置には、ユーザが送信先として設定したい情報処理装置が写っている可能性が高い。従って、変形例２のように、ドロップ位置の周辺から優先的に物体検出を行うことで、早期にユーザが所望とする送信先の候補を提示できる。これにより、検出処理に係る負荷と低減し、効率的に妥当な送信先の候補を提示することができる。
【０１０３】
＜変形例３＞
次に、変形例３として、リアルタイム画像が取得される度に物体検出処理を行い、ユーザがオブジェクトのドラッグ操作を開始したことに応じて物体認識処理を行う例を説明する。
【０１０４】
これにより、ユーザは、物体を送信先として指定し得るか否かを、当該物体にカメラを向けるだけで容易に把握することができるとともに、情報処理装置は物体認識処理に係る処理負荷を低減することができる。
【０１０５】
変形例３に係る情報処理装置１００のハードウェア構成、及び機能構成は、実施形態１の図１（ａ）、（ｂ）と同様であるため、説明を省略する。
【０１０６】
変形例３の場合、図１２（ａ）のフローチャートに従った処理により、ステップＳ２０３Ｃの送信先候補取得処理が呼び出され、ステップＳ２１３で検出した物体を表す領域を明示するまでは実施形態１と同様に行われる。変形例３では、ステップＳ２１３において検出した物体を表す領域を明示したら、ステップＳ２０４Ｃのタッチ操作認識処理が開始される。図１３は、変形例３のステップＳ２０４Ｃにおいて実行されるタッチ操作認識処理を示すフローチャートの一例である。ステップＳ４０８までは、実施形態１の図４のフローチャートと同様の処理が実行される。
【０１０７】
変形例３では、ステップＳ４０８において、タッチ点にサムネイル画像を追従させる表示を開始すると同時に、ステップＳ１３０１の物体認識処理に進む。ここで、図１４（ａ）は、ステップＳ１３０１において実行される物体認識処理の一例を示すフローチャートである。ステップＳ２１４〜ステップＳ２１７の各ステップで実行される処理は、実施形態１の図２（ｂ）のフローチャートと同じであるため、説明を省略する。ステップＳ２１７において、認識した物体の名称を、ステップＳ３０６で保持された領域の情報に対応付けてＲＡＭ１０３に保持する完了したら、処理を終了し、図１３のタッチ操作認識処理にリターンする。以降の処理は実施形態１の図４のフローチャートと同じであるため、説明を省略する。
【０１０８】
ここで、図１５は、変形例３に係る情報処理装置１００を、図５と同じ環境で使用する様子を表す。表示画面１２０に表示された内容は、実施形態１の図５と同一であるものとする。以下、変形例３に係る情報処理装置１００の具体的な操作例を、図１５を用いて説明する。
【０１０９】
図１５（ａ）は、二次元バーコード５０４の検出領域と、人の顔５０２の検出領域を、情報処理装置１００が明示した様子を示す（ステップＳ２１３）。変形例３においても、検出された領域は破線で囲われることによって明示される。ここまでは実施形態１の図７の（ａ）と同様であるが、変形例３の場合、この段階では物体認識処理は開始されない。従って、図７（ｂ）のように、顔５０２の人物５０１の名称「Ａ−ｓａｎ」と、及び二次元バーコード５０４のプリンタ５０３の名称「Ｐｒｉｎｔｅｒ  Ｘ」は描画されはしない。
【０１１０】
図１５（ｂ）は、ユーザが指７０５でサムネイル画像５０９のドラッグ操作が開始されたのに応じて、物体認識処理（ステップＳ１３０１）が行われ、その結果が表示された様子を示す。変形例３では、図１５（ａ）の状態から、ユーザが写真データ５０９を顔５０２の方向にドラッグしたので、人物５０１とプリンタ５０３が認識され（ステップＳ２１４）、「Ａ−ｓａｎ」と「Ｐｒｉｎｔｅｒ  Ｘ」という名称が描画される（ステップＳ２１７）。
【０１１１】
以上説明したように、変形例３では、ユーザがオブジェクトのドラッグ操作を開始するまで物体の認識処理を行わない。これにより、リアルタイムの映像に対して常に物体の認識処理を実行する場合に比べて情報処理装置１００の処理負荷を軽減しつつも、情報処理装置１００にどんな物体が検出されているかをユーザが把握しやすくなる。また、さらにオブジェクトの表示位置で「ＤＯＷＮ」イベントが検出された段階で物体検出処理を行い、検出された領域において「ＵＰ」イベントが検出されたことに応じて物体認識処理を行うようにすることもできる。
【０１１２】
＜変形例４＞
変形例４では、変形例３のようにユーザがドラッグ操作を開始したことに応じて物体認識処理を行う場合に、送信先候補を示す複数の領域に対して認識処理を行う順番を、ユーザのドラッグ操作方向に基づいて制御する例を説明する。
【０１１３】
図１６の（ａ）は、変形例４における情報処理装置１００の機能構成を表すブロック図である。図１の（ｂ）のブロック図と異なる点は、距離取得部１６０１が追加された点である。距離取得部１６０１は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等で構成され、受付部１１４により受け付けられるドラッグ操作が開始された位置と、検出部１１１に検出された領域との、表示画面１２０上での距離を取得する。そして、取得した距離が小さい順に、検出部１１１により検出された領域に、物体認識処理を行う順番を設定する。変形例４の認識部１１２は、距離取得部１６０１によって設定された順番に従って、各領域における物体認識処理を実行する。
【０１１４】
変形例４の場合も、変形例３と同様、図１２（ａ）フローチャートに従った処理により、ステップＳ２０３Ｃの送信先候補取得処理が呼び出される。ステップＳ２１３において検出した物体を表す領域を明示したら、ステップＳ２０４Ｃのタッチ操作認識処理が開始される。そして、ステップＳ４０８において、タッチ点にサムネイル画像を追従させる表示を開始すると同時に、ステップＳ１３０１の物体認識処理に進む。
【０１１５】
ただし、変形例４では、ステップＳ１３０１において実行される物体認識処理は、図１４（ｂ）のフローチャートに従って実行される。まず、ステップＳ１４０１において、距離取得部１６０１が、「ＭＯＶＥ」イベントが検出されたタッチ点が移動した方向を取得する。変形例４では、表示画面１２０上に定義された座標平面において、「ＤＯＷＮ」イベントが検出された時のタッチ点の位置と、直前に「ＭＯＶＥ」イベントが検出されたタッチ点の位置を通る直線を示す式を算出することによって取得される。ただし、連続して「ＭＯＶＥ」イベントが検出されたタッチ点を通る直線を算出してもよい。そして距離取得部１６０１は、ステップＳ３０６でＲＡＭ１０３に保持された領域の情報から、各領域の中心点の座標を得る。そして、各領域の中心点から、算出した直線に下ろした垂線の長さを算出することで、ドラッグ操作が開始された位置と、検出部１１１の検出される物体との、表示画面１２０上での距離を取得する。ただし、変形例４では、このような算出方法により距離を取得する方法に限らない。例えば、表示画面１２０上を複数の部分領域に分割し、ドラッグ操作が開始された位置と、検出領域の中心点が含まれる部分領域の位置関係に応じた所定の距離を取得するなど、様々な方法を用いることができる。
【０１１６】
次に、ステップＳ１４０２では、距離取得部１６０１が、取得された距離が短い領域から順に、物体認識処理が行われるように、ＲＡＭ１０３に保持されている各領域に順番を設定する。ＲＡＭ１０３では、各領域の情報に順番を示す情報が付加され、認識部１１２に通知される。次に、ステップＳ１４０３では、認識部１１２が、ステップＳ１４０２で設定された順番に沿って、検出部１１１が検出した領域を１つ選択する。ステップＳ２１４〜ステップＳ２１７の各ステップで実行される処理は、実施形態１の図２（ｂ）のフローチャートと同じであるため、説明を省略する。変形例４では、ステップＳ２１７において、認識結果の情報と、領域の情報を対応付けて保持した後、ステップＳ１４０４において、認識部１１２が、ＲＡＭ１０３に情報が保持されている全ての領域に対する物体認識処理が処理済みか否かを判定する。全ての領域に対する物体認識処理が処理済みではない、すなわち処理していない領域が残っていると判定された場合（ステップＳ１４０４でＮＯ）には、ステップＳ１４０３に戻り、設定された順番が次の領域が選択される。全ての領域に対する物体認識処理が処理済みであると判定された場合（ステップＳ１４０４でＹＥＳ）には、処理を終了し、図１３のタッチ操作認識処理のフローにリターンする。以降の処理は実施形態１の図４のフローチャートと同じであるため、説明を省略する。
【０１１７】
図１５（ｃ）は、変形例４において、ドラッグ操作が開始された位置と、検出されている領域との距離に基づいて物体認識処理が開始される様子を示す。図１５の（ｃ）では、ユーザが図１５（ａ）の状態から、サムネイル画像５０９に対するドラッグ操作のため、タッチ点を位置１５０１から位置１５０２へと移動させている。
【０１１８】
ここで、ステップＳ１４０１において破線１５０５は、距離取得部１６０１によって算出される、位置１５０１と位置１５０２を通る直線を示す。また、点１５０３は、顔５０２が検出された領域７０１の中心点、点１５０４は、検出した二次元バーコード５０４を表す領域７０２の中心点である。変形例４では、距離取得部１６０１によって、点１５０３から線１５０５へ下ろした垂線１５０６の長さが、ドラッグ操作が開始された位置１５０２と、領域７０１との距離として取得される。また同様に、点１５０４から線１５０５へ下ろした垂線１５０７の長さが、ドラッグ操作が開始された位置１５０２と、領域７０２との距離として取得される。そして、取得された距離が小さい順、すなわち領域７０１が１番、領域７０２が２番となる順番が、物体認識処理が行われる順番として設定される。従って、図１５（ｃ）では、最初に物体認識処理が実行される領域７０１において、人物５０１が認識され（ステップＳ２１４）、人物５０１の名称「Ａ−ｓａｎ」が描画されている（ステップＳ２１６）。
【０１１９】
以上説明したように、変形例４では、ユーザがオブジェクトのドラッグ操作を開始するまで、物体の認識処理を行わず、認識処理を行う順番を、ユーザがオブジェクトを移動させた位置に基づいて制御する。これは、ユーザはライブビュー画像に頂上して明示された送信先候補の領域を視認した上でドラッグ操作を開始しているために、オブジェクトを移動させた方向に存在する領域が送信先候補として所望とされている可能性が高いからである。これにより、情報処理装置１００の処理負荷を低減させつつ、ユーザがリアルタイム画像の中で送信先として所望としている可能性が高い物体から優先的に、その情報を把握することができる。また、設定された順番に沿って、他の領域の物体認識処理は継続されるので、最終的に全ての送信先候補を把握することができ、例えばそのまま２回目以降のドラッグ＆ドロップ操作が繰り返される場合には、再度順番を設定する必要はないので効率が良い。
【０１２０】
変形例４を、全ての領域に対する物体認識処理が完了する前に、ドロップ操作があった場合、すなわち「ＵＰ」イベントが検出された場合にも、物体認識処理を中断して、図１３のタッチ操作認識処理のフローにリターンするようにさらに変形することもできる。この場合、設定された順番が早い領域に、ユーザがオブジェクトをドロップした場合、それ以降の順番の領域に対する認識処理は省略することができる。従って、例えば、検出されている領域の数が多い程、不要な物体認識処理を省略し、情報処理装置１００の処理負荷を低減することができる。
【０１２１】
なお、変形例４ではタッチ点が移動された方向を直線として求め、検出されている領域の中心点から下ろした垂線の長さに基づいて順番を設定していたが、これに限るものではない。例えば、タッチ点から伸びる直線の傾きを角度で取得し、±Ｘ度の領域に含まれる物体から順に物体認識処理を実行するようにしてもよい。また、オブジェクト上で「ＤＯＷＮ」イベントが検出された位置と、検出されている領域の中心点を通る直線を求め、「ＭＯＶＥ」イベントが検出された位置から下ろした垂線の長さを考慮する方法でも、同様の効果を得ることができる。
【０１２２】
＜変形例５＞
変形例５では、変形例４と同様に、検出されている領域に対して物体認識処理を行う順番を設定していく場合に、ユーザによるドラッグ操作の位置情報に加えて、その移動速度に基づく制御を行う例を説明する。
【０１２３】
図１６の（ｂ）は、変形例５における情報処理装置１００の機能構成を表すブロック図である。図１の（ｂ）のブロック図と異なる点は、速度取得部１６０２が追加された点である。速度取得部１６０２は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等で構成され、受付部１１４によって周期的に受け付けられるタッチ点の位置と、検出時刻とから、タッチ点の移動速度を取得する。さらに、最新のタッチ点と、検出部１１１により検出されている領域との表示画面１２０上での距離を取得する。そして、取得した移動速度と、取得した距離とから、ユーザがオブジェクトをドロップしようとしている蓋然性が高い順に、検出部１１１により検出された領域に、物体認識処理を行う順番を設定する。変形例５の認識部１１２は、距離取得部１６０１によって設定された順番に従って、各領域における物体認識処理を実行する。
【０１２４】
変形例５の処理も、ステップＳ１３０１の物体認識処理に至るまでは変形例３及び変形例４と同様に、図１２、図３、図１３のフローチャートに従って行われるため、説明を省略する。
【０１２５】
変形例５では、ステップＳ１３０１において実行される物体認識処理は、図１４（ｃ）のフローチャートに従って実行される。ステップＳ１４１１では、速度取得部１６０２が、タッチ点が移動した速度を取得する。変形例５では、受付部１１４がステップＳ４０２でＲＡＭ１０３に保持した情報に基づき、この時点までに検出したうち最後タッチ点（最新のタッチ点）の位置と、１つ前のタッチ点の位置をとの距離と、検出時間の差分とに基づいて算出することができる。なお、ここで説明した速度の算出方法は一例であり、他の方法により算出しても良い。次に、ステップＳ１４１２では、速度取得部１６０２が、ＲＡＭ１０３に保持されている情報に基づき、最新のタッチ点の位置と、検出されている領域との距離を取得する。そしてステップＳ１４１３では、速度取得部１６０２が、速度と距離とに基づいてユーザがオブジェクトをドロップしようとしている蓋然性が高い順に、物体認識処理が行われるように、ＲＡＭ１０３に保持されている各領域に順番を設定する。ＲＡＭ１０３では、各領域の情報に順番を示す情報が付加され、認識部１１２に通知される。変形例５では、移動速度が所定の速度より遅い場合には、ステップＳ１４１２で取得した距離が小さい順に、ユーザがオブジェクトをドロップしようとしている蓋然性が高いと判断する。そして、移動速度が所定の速度より速い場合には、ステップＳ１４１２で取得した距離が大きい順に、ユーザがオブジェクトをドロップしようとしている蓋然性が高いと判断する。これは、移動速度が速いほど、ユーザが、さらに遠くまでオブジェクトを移動させようとしている可能性が高いと考えられるためである。以降の処理は変形例４と同じであるため、説明を省略する。
【０１２６】
図１５（ｄ）は、変形例５において、ドラッグ操作が開始された位置と、検出されている領域との距離に基づいて物体認識処理が開始される様子を示す。図１５の（ｄ）では、ユーザが図１５（ａ）の状態から、サムネイル画像５０７に対するドラッグ操作のため、タッチ点を位置１５０８から位置１５０９へと移動させている。
【０１２７】
ステップＳ１４１１では、最新のタッチ点１５０９と、１つ前に検出されたタッチ点１５０８の間の距離と、２つのタッチ点を検出した時間間隔から、ドラッグ操作の移動速度が取得される。図１５の例では、所定の速度Ｖｔｈより速い速度ｖが取得されたとする。また、ステップＳ１４１２において、最新のタッチ点１５０９と領域７０１の中心点１５０３の位置との距離（破線１５１０の長さ）が取得される。同様に、最新タッチ点１５０９と領域７０２の中心点１４０４との距離（破線１５１１の長さ）が取得される。図１４（ｄ）の例では、速度ｖが閾値である所定の速度Ｖｔｈよりが速いため、取得された距離が大きい順、すなわち領域７０１が１番、領域７０２が２番となる順番が設定される（ステップＳ１４１３）。そして、顔５０２から認識処理を実行し（ステップＳ２１４）、人物５０１であると認識されて、人物５０１の名称「Ａ−ｓａｎ」を描画している（ステップＳ２１６）。
【０１２８】
以上説明したように、変形例５では、ユーザがオブジェクトのドラッグ操作を開始するまで、物体の認識処理を行わず、認識処理を行う順番を、ユーザがオブジェクトを移動させた速度に応じて制御する。これは、ユーザがドロップ操作を行う速度が大きい場合には、ユーザがその時点でのタッチ点から遠い領域までオブジェクトを移動ようとしている可能性が高いと考えるからである。変形例５では、こうして情報処理装置１００の処理負荷を低減させつつ、ユーザが送信先として所望としている可能性が高い物体から優先的に、その情報を把握することができる。また、設定された順番に沿って、他の領域の物体認識処理は継続されるので、最終的に全ての送信先候補を把握することができ、例えばそのまま２回目以降のドラッグ＆ドロップ操作が繰り返される場合には、再度順番を設定する必要はないので効率が良い。ただし、変形例４と同様、全ての領域に対する物体認識処理が完了する前に、ドロップ操作があった場合、物体認識処理を中断して、図１３のタッチ操作認識処理のフローにリターンするようにすることもできる。
【０１２９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014178968.tif 000003
【図２】
2014178968.tif 000004
【図３】
2014178968.tif 000005
【図４】
2014178968.tif 000006
【図５】
2014178968.tif 000007
【図６】
2014178968.tif 000008
【図７】
2014178968.tif 000009
【図８】
2014178968.tif 000010
【図９】
2014178968.tif 000011
【図１０】
2014178968.tif 000012
【図１１】
2014178968.tif 000013
【図１２】
2014178968.tif 000014
【図１３】
2014178968.tif 000015
【図１４】
2014178968.tif 000016
【図１５】
2014178968.tif 000017
【図１６】
2014178968.tif 000018