(57)【要約】【課題】直感的な操作によりアプリケーションを組合せて使用することを可能とする。【解決手段】第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定する位置判定部と、上記所定の第１の位置関係が満たされると判定される場合に、上記情報出力領域に関連付けられている上記第２のアプリケーションの出力情報を、上記情報入力領域に関連付けられている入力情報として上記第１のアプリケーションに入力する連携処理部と、を備える情報処理装置が提供される。【選択図】図１
2013008127.tif 000002
【特許請求の範囲】
【請求項１】
第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定する位置判定部と、
前記所定の第１の位置関係が満たされると判定される場合に、前記情報出力領域に関連付けられている前記第２のアプリケーションの出力情報を、前記情報入力領域に関連付けられている入力情報として前記第１のアプリケーションに入力する連携処理部と、
を備える情報処理装置。
【請求項２】
前記連携処理部は、前記情報出力領域に関連付けられている１つ以上の出力情報候補のうちのいずれかを前記出力情報とする、請求項１に記載の情報処理装置。
【請求項３】
前記連携処理部は、前記入力情報に対応する前記出力情報候補を前記出力情報とする、請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記情報出力領域が複数の個別出力領域を含む場合に、いずれかの前記個別出力領域を選択する、出力選択部をさらに備え、
前記連携処理部は、前記個別出力領域が選択された場合に、当該個別出力領域に関連付けられている前記出力情報候補を、前記出力情報とする、
請求項２に記載の情報処理装置。
【請求項５】
前記出力選択部は、前記情報入力領域の位置と前記複数の個別出力領域の各々の位置とに基づいて、いずれかの前記個別出力領域を選択する、請求項４に記載の情報処理装置。
【請求項６】
前記情報処理装置は、入力操作から取得された操作情報から、前記個別出力領域のいずれかを指定する領域指定情報を認識する、入力認識部をさらに備え、
前記出力選択部は、前記領域指定情報により指定される前記個別出力領域を選択する、
請求項４に記載の情報処理装置。
【請求項７】
前記所定の第１の位置関係は、前記情報入力領域と前記情報出力領域とが少なくとも部分的に重なる位置関係である、請求項１に記載の情報処理装置。
【請求項８】
前記出力情報を前記入力情報として入力できるか否かを判定する連携判定部、をさらに備える請求項１に記載の情報処理装置。
【請求項９】
前記位置判定部は、前記情報入力領域の位置と前記情報出力領域の位置とが所定の第２の位置関係を満たすか否かをさらに判定し、
前記連携判定部は、前記所定の第２の位置関係が満たされると判定される場合に、前記出力情報を前記入力情報として入力できるか否かを判定する、
請求項８に記載の情報処理装置。
【請求項１０】
前記所定の第２の位置関係は、前記情報入力領域と前記情報出力領域との間の距離が所定の距離以下である位置関係である、請求項９に記載の情報処理装置。
【請求項１１】
前記出力情報を前記入力情報として入力できると判定された場合に、前記第２のアプリケーションから前記第１のアプリケーションへの入力が可能であることを示す標識を表示画面上に表示させ、または、前記出力情報を前記入力情報として入力できないと判定された場合に、前記入力が可能ではないことを示す標識を表示画面上に表示させる表示制御部、をさらに含む請求項９に記載の情報処理装置。
【請求項１２】
前記所定の第１の位置関係が満たされると判定される場合に、前記情報入力領域を変形させる表示制御部、をさらに含む請求項１に記載の情報処理装置。
【請求項１３】
前記表示制御部は、前記情報出力領域の形状、大きさおよび傾きの少なくとも１つに応じて、前記情報入力領域を変形させる、請求項１２に記載の情報処理装置。
【請求項１４】
前記表示制御部は、前記情報入力領域の形状、大きさおよび傾きの少なくとも１つを変更することにより、前記情報入力領域を変形させる、請求項１２に記載の情報処理装置。
【請求項１５】
前記出力情報を前記入力情報として入力できないと判定された場合に、当該判定後に前記入力情報として入力された入力情報サンプルと、前記出力情報となり得る１つ以上の出力情報候補とを比較することにより、前記入力情報として入力され得る前記出力情報候補の属性を抽出する関係抽出部、をさらに備える請求項８に記載の情報処理装置。
【請求項１６】
情報処理装置を制御するコンピュータを、
第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定する位置判定部と、
前記所定の第１の位置関係が満たされると判定される場合に、前記情報出力領域に関連付けられている前記第２のアプリケーションの出力情報を、前記情報入力領域に関連付けられている入力情報として前記第１のアプリケーションに入力する連携処理部と、
として機能させるためのプログラム。
【請求項１７】
第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定することと、
前記所定の第１の位置関係が満たされると判定される場合に、前記情報出力領域に関連付けられている前記第２のアプリケーションの出力情報を、前記情報入力領域に関連付けられている入力情報として前記第１のアプリケーションに入力することと、
を含む連携処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、プログラムおよび連携処理方法に関する。
【背景技術】
【０００２】
一般的に、コンピュータは、グラフィカルユーザインターフェース（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ：ＧＵＩ）によって、テキスト、画像、映像等のグラフィックを表示画面上に表示し、ユーザが各種操作を行うことを可能とする。コンピュータ上で動作する各アプリケーションは、表示画面上で与えられたウィンドウ等の表示領域にグラフィックを表示し、当該表示領域を介したユーザの操作に応じて処理を実行する。
【０００３】
各アプリケーションは、より高い操作性を提供することを求められている。それに伴い、アプリケーションに関する様々な操作手法が提示されている。例えば、下記特許文献１は、検索アプリケーションにおいて、ユーザにより指定された検索元オブジェクトに関連する関連オブジェクトと、当該関連オブジェクトの表示数を設定するための表示数設定オブジェクトとを共に表示し、当該表示数設定オブジェクトに対する操作により関連オブジェクトの表示数を増減することを提示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２００１２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１等に記載された操作手法では、各アプリケーションでの操作性を向上できるものの、アプリケーションを組合せて使用する場合の操作性を向上することはできない。例えば、ユーザは、あるアプリケーションの出力情報を別のアプリケーションに入力しようとすると、当該出力情報のコピーペースト等の従来型の操作を行う必要がある。
【０００６】
そこで、本開示では、直感的な操作によりアプリケーションを組合せて使用することが可能な、新規かつ改良された情報処理装置、プログラムおよび連携処理方法を提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定する位置判定部と、上記所定の第１の位置関係が満たされると判定される場合に、上記情報出力領域に関連付けられている上記第２のアプリケーションの出力情報を、上記情報入力領域に関連付けられている入力情報として上記第１のアプリケーションに入力する連携処理部と、を備える情報処理装置が提供される。
【０００８】
また、本開示によれば、情報処理装置を制御するコンピュータを、第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定する位置判定部と、上記所定の第１の位置関係が満たされると判定される場合に、上記情報出力領域に関連付けられている上記第２のアプリケーションの出力情報を、上記情報入力領域に関連付けられている入力情報として上記第１のアプリケーションに入力する連携処理部と、として機能させるためのプログラムが提供される。ここで、プログラムは、コンピュータ読取り可能な記録媒体を用いて提供されてもよく、通信手段等を介して提供されてもよい。
【０００９】
また、本開示によれば、第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定することと、上記所定の第１の位置関係が満たされると判定される場合に、上記情報出力領域に関連付けられている上記第２のアプリケーションの出力情報を、上記情報入力領域に関連付けられている入力情報として上記第１のアプリケーションに入力することと、を含む連携処理方法が提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、直感的な操作によりアプリケーションを組合せて使用することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本開示の第１の実施形態に係るアプリケーションの表示領域の一例を示す説明図である。
【図２】同実施形態に係る具体的なアプリケーションの表示領域の一例を示す説明図である。
【図３】同実施形態に係るアプリケーション間の連携処理の一例を示す説明図である。
【図４】同実施形態に係るアプリケーション間の連携処理の一例を示す説明図である。
【図５】同実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
【図６】同実施形態に係る制御部の機能構成の一例を示すブロック図である。
【図７】同実施形態に係る連携処理の概略的な流れの一例を示すフローチャートである。
【図８】本開示の第２の実施形態に係るアプリケーション間の連携処理の一例を示す説明図である。
【図９】同実施形態に係るアプリケーション間の連携処理の一例を示す説明図である。
【図１０】同実施形態に係る制御部の機能構成の一例を示すブロック図である。
【図１１】同実施形態に係る連携処理の概略的な流れの一例を示すフローチャートである。
【図１２】本開示に係る情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
各実施形態に係る情報処理装置は、例えば、ＰＣ（Personal  Computer）、スマートフォン、携帯情報端末（Personal  Digital  Assistant）等の複数のアプリケーションを動作させ表示する装置であってよい。また、情報処理装置は、これらの装置と接続される周辺機器であってもよい。
【００１４】
また、本実施形態における「アプリケーション」とは、特定の処理を行うためのソフトウェアを意味する。したがって、ここでのアプリケーションは、オペレーティングシステム（ＯＳ）上で動作するソフトウェアには限定されない。例えば、アプリケーションは、ＯＳの一部を構成するソフトウェアであってもよい。
【００１５】
なお、説明は以下の順序で行うものとする。
１．第１の実施形態
１．１．アプリケーション間の連携処理の例
１．２．情報処理装置の構成例
１．３．処理の流れの例
２．第２の実施形態
２．１．アプリケーション間の連携処理の例
２．２．情報処理装置の構成例
２．３．処理の流れの例
３．情報処理装置のハードウェア構成例
４．まとめ
【００１６】
＜１．第１の実施形態＞
［１．１．アプリケーション間の連携処理の例］
（アプリケーションの表示領域）
第１の実施形態に係る情報処理装置１００は、例えば、表示画面上の一部の表示領域をアプリケーションに割り当てる。各アプリケーションは、割当てられた表示領域にテキスト、画像、映像等のグラフィックを表示することにより、ユーザに情報を提供できる。当該表示領域は、例えばウィンドウである。アプリケーションのユーザは、タッチスクリーンへのタッチ操作、マウスによる操作等によって、アプリケーションの表示領域を表示画面上で移動させることができる。なお、上記表示画面は、情報処理装置１００により備えられていてもよく、また情報処理装置１００に接続された装置により備えられていてもよい。
【００１７】
図１は、第１の実施形態に係るアプリケーションの表示領域の一例を示す説明図である。図１を参照すると、アプリケーションの表示領域１０は、情報入力領域１２および情報出力領域１４を含む。情報入力領域１２は、アプリケーションへの入力情報に関連付けられている。ここでの入力情報とは、入力される具体的な情報ではなく、アプリケーションの引数を示す。そして、情報入力領域１２には、当該領域がアプリケーションへの入力を受け付ける領域であることを示すグラフィックが、表示される。一方で、情報出力領域１４は、アプリケーションの出力情報に関連付けられている。そして、情報出力領域１４には、アプリケーションの出力情報のメタファとなるグラフィックが表示される。
【００１８】
図２は、第１の実施形態に係る具体的なアプリケーションの表示領域の一例を示す説明図である。図２に示されているアプリケーションは、地図表示アプリケーションである。当該地図表示アプリケーションは、住所を入力されると、当該住所を含む地図を表示する。そして、表示された地図上の各地点には、当該地点に関する情報（住所情報、緯度情報、経度情報、建物名情報、等）が関連付けられている。図２を参照すると、表示画面８０上に表示されている当該アプリケーションの表示領域２０は、情報入力領域２２および情報出力領域２４を含む。情報入力領域２２には、テキストボックスが表示されている。そして、当該情報入力領域２２は、アプリケーションへの入力情報である住所情報に関連付けられている。一方で、情報出力領域２４には、入力情報である住所情報に応じた地図が表示される。そして、当該出力領域２４は、アプリケーションからの出力情報である地図上の各地点に関する情報（住所情報、緯度情報、建物名情報、等）に関連付けられている。
【００１９】
図１に示される情報出力領域１４は、１つ以上の出力情報候補に関連付けられていてもよい。例えば、図２に示される情報出力領域２４は、各地点の住所情報、緯度情報、建物情報等と関連付けられている。この場合、これらの個々の情報および個々の情報の組合せのいずれかが、出力情報とされる。
【００２０】
また、図１に示される情報出力領域１４は、複数の個別出力領域を含んでいてもよい。そして、各個別出力領域が、それぞれ１つ以上の出力情報候補に関連付けられていてもよい。例えば、図２に示される情報出力領域２４は、厳密には各地点に区分けされた個別出力領域からなる。そして、各個別出力領域は、各地点に関する住所情報、緯度情報、建物名情報、等の出力情報候補に関連付けられている。
【００２１】
なお、情報入力領域１２および情報出力領域１４の各々の大きさや位置は特に限定されない。また、図１に示される例では、アプリケーションの表示領域１０は、情報入力領域１２および情報出力領域１４の両方を含むこととしたが、例えば、アプリケーションの表示領域１０は、情報入力領域１２または情報出力領域１４のいずれか一方のみを含んでもよい。
【００２２】
（連携処理の手法）
本実施形態に係る情報処理装置１００は、第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係（以下、「連携実行位置関係」と呼ぶ）を満たすか否か、を判定する。そして、上記情報処理装置１００は、連携実行位置関係が満たされる場合に、情報出力領域に関連付けられている第２のアプリケーションの出力情報を、情報入力領域に関連付けられている入力情報として第１のアプリケーションに入力する。例えば、当該連携実行位置関係は、情報入力領域と情報出力領域とが少なくとも部分的に重なる位置関係である。この場合、ユーザは、タッチ操作、マウスによる操作等により、第１のアプリケーションの情報入力領域と第２のアプリケーションの情報出力領域とを重ねることで、第２のアプリケーションの出力情報を第１のアプリケーションに入力することができる。このように、ユーザは、直感的な操作によりアプリケーションを組合せて使用することが可能となる。
【００２３】
（例１）
図３は、第１の実施形態に係るアプリケーション間の連携処理の一例を示す説明図である。図３を参照すると、図２を参照して説明された地図表示アプリケーションの表示領域２０と、ロケーションメッセージアプリケーション（以下、「ＬＭアプリケーション」と呼ぶ）の表示領域３０とが表示画面８０上に表示されている。
【００２４】
上記ＬＭアプリケーションは、住所を入力されると、当該住所の周辺に存在するメッセージを表示する。当該メッセージは、例えばＴｗｉｔｔｅｒにより投稿されたメッセージ、すなわちツイートである。図３を参照すると、当該アプリケーションの表示領域３０は、情報入力領域３２および情報出力領域３４を含む。情報入力領域３２には、地図上の地点を指し示すためのピンが表示されている。そして、当該情報入力領域３２は、アプリケーションへの入力情報である住所情報が関連付けられている。一方で、情報出力領域３４には、入力情報である住所情報に応じたメッセージが表示される。ここでは、例えば、メッセージの一部（最初の２０文字のみ）が表示される。そして、当該情報出力領域３４は、各メッセージに関する情報（メッセージの全文、投稿者、等）に関連付けられている。
【００２５】
図３を参照すると、まず（ａ）で、地図表示アプリケーションの表示領域２０とＬＭアプリケーションの表示領域３０とが、ユーザの操作により近づけられる。ここでは、当該ユーザの操作は、タッチスクリーンへのタッチ操作として示されている。このように、情報入力領域３２が情報出力領域２４に近づけられると、情報出力領域２４に関連付けられている出力情報が、情報入力領域３２に関連付けられている入力情報として入力できるか否か、が判定される。ここで、例えば予め定められている地図表示アプリケーションとＬＭアプリケーションとの連携情報が参照されて、情報出力領域２４に関連付けられている出力情報（住所情報）を、情報入力領域３２に関連付けられている入力情報（住所情報）として入力できる、と判定される。
【００２６】
次に（ｂ）で、情報入力領域３２と情報出力領域２４とが重ねられる。すると、（ｃ）のように、情報入力領域３２に、入力情報を受け付け可能であることが示される。そして、（ｄ）のように、情報出力領域２４の地図上で情報入力領域３２に表示されているピンが指している地点の住所情報が、ＬＭアプリケーションへの入力情報として入力される。その結果、ＬＭアプリケーションの情報出力領域３４には、上記住所情報により示される住所の周辺のメッセージが表示される。
【００２７】
（例２）
図４は、第１の実施形態に係るアプリケーション間の連携処理の一例を示す説明図である。図４を参照すると、写真表示アプリケーションの表示領域４０と、半自動動画作成アプリケーションの表示領域５０とが表示画面８０上に表示されている。
【００２８】
上記写真表示アプリケーションは、テキストを入力されると、当該テキストに関連する写真のサムネイルを表示する。例えば、人物名が入力されると、当該人物に関する写真のサムネイルが表示される。図４を参照すると、当該アプリケーションの表示領域４０は、情報入力領域４２と情報出力領域４４を含む。情報入力領域４２には、テキストボックスが表示されている。そして、当該入力領域４２は、アプリケーションへの入力情報であるテキストに関連付けられている。一方で、情報出力領域４４には、入力情報であるテキストに応じた写真のサムネイルが表示される。そして、情報出力領域４４は、アプリケーションからの出力情報である、各サムネイルの原写真データに関連付けられている。
【００２９】
上記半自動動画作成アプリケーションは、写真等の画像を入力されると、当該画像に基づき動画像を自動的に作成し、当該動画像を表示する。例えば、当該動画像は、入力された画像のスライドショーである。図４を参照すると、当該アプリケーションの表示領域５０は、情報入力領域５２と領域５４を含む。情報入力領域４２には、画像を入力する箇所であることを示す画像の枠が表示されている。そして、当該入力領域５２は、アプリケーションへの入力情報である画像に関連付けられている。一方で、領域５４には、作成された動画像が表示される。例えば、当該領域５４は、動画像を表示するのみであり、アプリケーションの出力情報とは関連付けられていない。
【００３０】
図４を参照すると、まず（ａ）で、写真表示アプリケーションの表示領域４０と半自動動画作成アプリケーションの表示領域５０とが、ユーザの操作により近づけられる。ここでは、当該ユーザの操作は、タッチスクリーンへのタッチ操作として示されている。このように、情報入力領域５２が情報出力領域４４に近づけられると、情報出力領域４４に関連付けられている出力情報が、情報入力領域５２に関連付けられている入力情報として入力できるか否か、が判定される。ここで、例えば予め定められている写真表示アプリケーションと動画作成アプリケーションとの連携情報が参照されて、情報出力領域４４に関連付けられている出力情報（原写真データ）を、情報入力領域３２に関連付けられている入力情報（画像）として入力できる、と判定される。
【００３１】
次に（ｂ）で、情報入力領域５２と情報出力領域４４とが重ねられる。すると、（ｃ）のように、情報入力領域５２は、例えば、情報出力領域４４の形状、大きさ、および傾きに合わせるように、変形される。そして、（ｄ）のように、情報出力領域４４に示されているサムネイルのうち半自動動画作成アプリケーションに入力されるものがタッチ操作により選択され、選択されたサムネイルの原画像が半自動動画作成アプリケーションに入力される。その結果、半自動動画作成アプリケーションの領域５４には、原写真データから作成された動画像が表示される。
【００３２】
［１．２．情報処理装置の構成例］
図５および図６を用いて、第１の実施形態に係る情報処理装置１００の具体的な構成を説明する。図５は、第１の実施形態に係る情報処理装置１００の機能構成の一例を示すブロック図である。図５を参照すると、情報処理装置１００は、入力部１１０、制御部１２０、アプリケーション部１３０、通信部１４０および表示部１５０を備える。
【００３３】
（入力部１１０）
入力部１１０は、ユーザが行う入力操作から操作情報を取得する。当該入力操作は、例えば、タッチスクリーンへのタッチ操作、マウスによる操作、またはキーボードによる操作のいずれかでもよい。入力部１１０は、取得した操作情報を制御部１２０に渡す。
【００３４】
（制御部１２０）
制御部１２０は、情報処理装置１００全体を制御する。制御部１２０の詳細な機能構成を後に説明する、ここでは制御部１２０の概要を説明する。
【００３５】
第１に、制御部１２０は、［１．１．アプリケーション間の連携処理の例］に記載したように、あるアプリケーションからの出力情報を別のアプリケーションへの入力情報として入力するための一連の処理を実行する。当該処理の過程の中で、制御部１２０は、あるアプリケーションの出力情報をアプリケーション部１３０から取得し、当該出力情報を別のアプリケーションの入力情報としてアプリケーション部１３０へ提供する。また、上記過程の中で、制御部１２０は、各アプリケーションの表示領域に関する情報もアプリケーション部１３０から取得する。当該情報の具体的な内容は、後に説明される。また、上記過程の中で、制御部１２０は、通信部１４０を介して、アプリケーション間の連携に必要な情報を取得する。
【００３６】
第２に、制御部１２０は、入力部１１０により取得された操作情報から、当該入力操作に応じて実行されるべき処理に必要な情報を認識する。ここで、各アプリケーションの個別の処理のための入力操作が行われた場合には、制御部１２０は、各アプリケーションの処理に必要な情報を認識し、当該情報をアプリケーション部１３０に送信する。
【００３７】
第３に、制御部１２０は、表示画面に表示される出力表示画像の内容を制御する。ここで、制御部１２０は、各アプリケーションの表示領域に表示するためのグラフィックをアプリケーション部１３０から取得する。また、制御部１２０は、表示制御部２７０は、アプリケーションの表示領域の移動および変形を制御する。
【００３８】
（アプリケーション部１３０）
アプリケーション部１３０は、各アプリケーションに応じた処理を実行する。当該アプリケーションは、例えば図３および図４に示されたように、地図表示アプリケーション、ＬＭアプリケーション、写真表示アプリケーションおよび半自動動画作成アプリケーションである。また、アプリケーション部１３０は、制御部１２０が操作情報から認識した各アプリケーションの処理に必要な情報を受け取り、当該情報に対応する処理を行う。また、アプリケーション部１３０は、制御部１２０によるアプリケーション間の連携処理の過程の中で、あるアプリケーションの出力情報を制御部１２０に提供し、当該出力情報を別のアプリケーションの入力情報として受け取る。また、上記過程の中で、アプリケーション部１３０は、各アプリケーションの表示領域に関する情報、および各アプリケーションの表示領域に表示するためのグラフィックも、制御部１２０に提供する。なお、アプリケーション部１３０は、情報処理装置１００に備えられていなくてもよく、代わりに、情報処理装置１００と通信可能な別の装置に同様の機能が備えられていてもよい。その場合、情報処理装置１００は、例えば、後述の通信部１４０を介して当該通信可能な別の装置と必要な情報を送受信してもよい。また、当然のことながら、アプリケーション部１３０と上記通信可能な別の装置の同様の機能が併用されてもよい。
【００３９】
（通信部１４０）
通信部１４０は、制御部１２０に含まれる後述の連携判定部２５０からの要求に応じて、ネットワークを介した通信を行う。
【００４０】
（表示部１５０）
表示部１５０は、制御部１２０に含まれる後述の表示制御部２７０による制御に応じて、情報処理装置１００からの出力表示画像を表示画面に表示する。当該出力表示画像は、アプリケーションの表示領域に表示されるグラフィックを含み得る。また、当該出力表示画像は、情報処理装置１００のオペレーティングシステム（図示せず）のグラフィックを含み得る。なお、上記のとおり、表示画面は、情報処理装置１００により備えられていてもよく、また情報処理装置１００に接続された装置により備えられていてもよい。
【００４１】
上記制御部１２０のさらに具体的な構成を説明する。図６は、上記制御部１２０の機能構成の一例を示すブロック図である。図６を参照すると、制御部１２０は、記憶部２１０、入力認識部２２０、位置判定部２３０、出力選択部２４０、連携判定部２５０、連携処理部２６０および表示制御部２７０を含む。
【００４２】
（記憶部２１０）
記憶部２１０は、各アプリケーションの表示領域に関する情報（以下、「表示領域関連情報」と呼ぶ）を記憶する。当該表示領域関連情報は、表示領域、情報入力情報および情報出力領域の位置の情報を含む。また、情報出力領域が複数の個別出力領域を含む場合、当該表示領域関連情報は、各個別出力領域の位置の情報も含む。ここでの位置は、例えば、各領域が存在する画面上の範囲を示す。この場合、当該位置の情報は、各領域の中心点の座標、大きさ、形状および傾きを含んでもよい。
【００４３】
（入力認識部２２０）
入力認識部２２０は、入力操作から取得された操作情報から、当該入力操作に応じて実行されるべき処理に必要な情報を認識する。入力認識部２２０は、当該情報を認識するために、記憶部２１０から各アプリケーションの表示領域関連情報を取得する。
【００４４】
例えば、入力認識部２２０は、アプリケーションの表示領域を移動させる入力操作が行われた場合に、移動方向および移動距離を示す領域移動情報を認識する。また、入力認識部２２０は、例えば、アプリケーションの表示領域を変形させる入力操作が行われた場合に、変形内容を示す領域変形情報を認識する。そして、入力認識部２２０は、当該領域移動情報または領域変形情報を表示制御部２７０に提供する。なお、ここでの表示領域の変形は、表示領域の形状の変更であってもよく、表示領域の大きさの変更であってもよく、また表示領域の傾きの変更であってもよい。
【００４５】
また、例えば、入力認識部２２０は、各アプリケーションの個別の処理のための入力操作が行われた場合に、各アプリケーションの処理に必要な情報を認識する。例えば、図２に示される地図表示アプリケーションの情報出力領域２４上をピンチアウトするタッチ操作（一般的には、地図を拡大するための操作）が行われた場合に、入力認識部２２０は、当該情報出力領域２４上でのピンチアウトの量を示す情報を認識する。そして、入力認識部２２０は、当該情報をアプリケーション部１３０に提供する。
【００４６】
また、例えば、入力認識部２２０は、個別出力領域を選択する入力操作が行われた場合に、個別出力領域のいずれかを指定する領域指定情報を認識する。例えば、図４の（ｄ）のように、出力領域４４の個別出力領域（各サムネイルが表示されている領域）を選択する入力操作が行われた場合に、当該個別出力領域を指定する領域指定情報を認識する。そして、入力認識部２２０は、当該領域指定情報を出力選択部２４０へ提供する。
【００４７】
（位置判定部２３０）
位置判定部２３０は、第１のアプリケーション（以下、「入力側アプリケーション」）の表示領域内に含まれる情報入力領域の位置と、第２のアプリケーション（以下、「出力側アプリケーション」）の表示領域内に含まれる情報出力領域の位置とが、連携実行位置関係を満たすか否か、を判定する。当該連携実行位置関係は、例えば、情報入力領域と情報出力領域とが少なくとも部分的に重なる位置関係である。例えば、図３の（ｂ）のようにＬＭアプリケーションの情報入力領域３２が地図表示アプリケーションの情報出力領域２４に重なる場合に、位置判定部２３０は、連携実行位置関係が満たされると判定する。また、その他の場合には、位置判定部２３０は、連携実行位置関係が満たされていないと判定することができる。なお、記憶部２１０に記憶されている表示領域関連情報は、各情報入力領域および各情報出力領域の位置の情報を含むため、位置判定部２３０は、当該表示領域関連情報を取得し用いることにより、連携実行位置関係が満たされるか否かを判定することができる。位置判定部２３０は、当該判定の結果を出力選択部２４０、連携処理部２６０および表示制御部２７０に提供する。
【００４８】
また、位置判定部２３０は、上記情報入力領域の位置と上記情報出力領域の位置とが所定の第２の位置関係（以下、「連携可否判定位置関係」）を満たすか否かをさらに判定する。当該連携可否判定位置関係は、例えば、上記情報入力領域と上記情報出力領域との間の距離が所定の距離以下である位置関係である。ここでの距離は、上記情報入力領域に含まれる点のうち上記情報出力領域に最も近い点と、上記情報出力領域に含まれる点のうち上記情報入力領域に最も近い点との間の距離でもよい。例えば、図３の（ａ）のようにＬＭアプリケーションの情報入力領域３２が地図表示アプリケーションの情報出力領域２４に近づいた場合に、両領域の最短距離が上記所定の距離以下であれば、位置判定部２３０は、連携可否判定位置関係が満たされると判定する。また、その他の場合には、位置判定部２３０は、連携可否判定位置関係が満たされていないと判定できる。位置判定部２３０は、当該判定の結果を連携判定部２５０および表示制御部２７０に提供する。
【００４９】
（出力選択部２４０）
出力選択部２４０は、情報出力領域が複数の個別出力領域を含む場合に、いずれかの上記個別出力領域を選択する。出力選択部２４０は、例えば、上記連携実行位置関係が満たされていることを示す判定結果を位置判定部２３０から受け取った後に、個別出力領域を選択する。
【００５０】
例えば、出力選択部２４０は、情報入力領域の位置と複数の個別出力領域の各々の位置とに基づいて、いずれかの上記個別出力領域を選択する。より詳細には、出力選択部２４０は、例えば、情報入力領域の位置と一致したまたは近接した位置の個別出力領域を選択する。当該近接の範囲は、予め定めておくことができる。例えば、図３の（ｄ）のように、出力選択部２４０は、ＬＭアプリケーションの情報入力領域３２のピンの位置と、地図表示アプリケーションの情報出力領域２４に含まれる複数の個別出力領域（地点）の各々の位置とに基づいて、当該ピンが指し示す個別出力領域（地点）を選択する。このような選択を可能にすることで、ユーザは、情報入力領域を移動させる操作の延長上で、情報出力領域内に含まれる個別出力領域を容易かつ直感的に選択することができるようになる。
【００５１】
また、例えば、出力選択部２４０は、入力認識部２２０から領域指定情報を提供され、当該領域指定情報により指定される上記個別出力領域を選択する。例えば、図４の（ｄ）のように、出力領域４４の個別出力領域（各サムネイルが表示されいる領域）を選択するタッチ操作が行われた場合に、出力選択部２４０は、当該個別出力領域を指定する領域指定情報を入力認識部２２０から受け取る。そして、出力選択部２４０は、当該選択された個別出力領域を選択する。なお、選択される個別出力領域は、１つのみに限られず、複数であってもよい。このように、個別出力領域の選択のために情報出力領域に適した別の操作を導入することにより、個別出力領域をより容易に選択することができるようになり得る。
【００５２】
アプリケーションは、以上のように個別出力領域の選択を可能とすることで、出力情報の様々な選択肢をユーザに提示できるようになる。換言すると、アプリケーションのユーザは、複数の出力情報の中から入力したい出力情報を自由に選択することができるようになる。
【００５３】
（連携判定部２５０）
連携判定部２５０は、情報出力領域に関連付けられている出力情報を情報入力領域に関連付けられている入力情報として入力できるか否かを判定する。より具体的には、連携判定部２５０は、例えば、上記連携可否判定位置関係が満たされると判定される場合に、出力情報を入力情報として入力できるか否かを判定する。
【００５４】
例えば、連携可能な情報入力領域と情報出力領域とのペアを示す連携情報が、予め定義される。当該連携情報は、例えばネットワーク上に存在するサーバに記憶される。例えば、図３に示される地図表示アプリケーションの情報出力領域２４とＬＭアプリケーションの入力情報領域３２とのペアを示す連携情報が、予め定義され、記憶される。同様に、図４に示される写真表紙アプリケーションの情報出力領域４４と半自動動画作成アプリケーションの情報入力領域５２とのペアを示す連携情報が、予め定義され、記憶される。連携判定部２５０は、例えば、対象となる情報入力領域と情報出力領域とのペアを示す連携情報を、通信部１４０を介して外部から取得する。連携判定部２５０は、当該連携情報を取得できた場合には、情報出力領域に関連付けられている出力情報を情報入力領域に関連付けられている入力情報として入力できると判定する。一方で、連携判定部２５０は、上記連携情報を取得できなかった場合には、上記出力情報を上記入力情報として入力できないと判定する。そして、連携判定部２５０は、連携処理部２６０および表示制御部２７０に当該判定の結果を提供する。
【００５５】
また、例えば、上記出力情報を上記入力情報として入力するためのアプリケーションインターフェース（ＡＰＩ）が、上記連携情報と共に定義され、記憶される。連携判定部２５０は、通信部１４０を介して外部から当該ＡＰＩも取得する。そして、連携判定部２５０は、連携処理部２６０に当該ＡＰＩも提供する。
【００５６】
上記のように、連携実行位置関係が満たされる前に予め入力の可否を予め判定することにより、連携実行位置関係が満たされた後に遅延することなく連携処理を開始することができ、また後述のとおりユーザに入力の可否の標識を遅延することなく提示することができる。
【００５７】
（連携処理部２６０）
連携処理部２６０は、連携実行位置関係が満たされると判定される場合に、上記情報出力領域に関連付けられている出力側アプリケーションの出力情報を、上記情報入力領域に関連付けられている入力情報として入力側アプリケーションに入力する。これにより、情報出力領域または情報入力領域の位置を移動させる直感的な操作を行うだけで、アプリケーションを組合せて使用することが可能となる。
【００５８】
連携処理部２６０は、例えば、情報出力領域に関連付けられている１つ以上の出力情報候補のうちのいずれかを出力情報とする。
【００５９】
例えば、連携処理部２６０は、入力情報に対応する出力情報候補を出力情報とする。ここで入力情報に対応する出力情報候補とは、例えば、出力情報候補のうち入力情報として入力可能な属性を持つ出力情報候補である。具体的には、図３に示される地図表示アプリケーションの情報出力領域２４には、各地点の住所情報、緯度情報、経度情報、建物名情報等の出力情報候補が、関連付けられている。一方で、ＬＭアプリケーションの情報入力領域３２に関連付けられている入力情報は、住所情報である。したがって、連携処理部２６０は、情報出力領域２４に関連付けられている出力情報候補のうちの住所情報を出力情報とする。そして、連携処理部２６０は、情報入力領域３２に関連付けられている入力情報として、出力情報とされた住所情報を入力する。このように、出力側アプリケーションは、同じ情報出力領域で、入力側アプリケーションの情報入力領域に適した出力情報を提供することが可能となる。
【００６０】
また、例えば、連携処理部２６０は、情報出力領域に含まれる個別出力領域が選択された場合に、当該個別出力領域に関連付けられている出力情報候補を、上記出力情報とする。ここで、個別出力領域は、上記のとおり出力選択部２４０により選択されている。具体例として、図３に示される地図表示アプリケーションの情報出力領域２４は、地図上の各地点が表示される個別出力領域を含む。そして、ある地点が表示された個別出力領域が選択されている。この場合に、連携処理部２６０は、当該地点が表示された個別出力領域に関連付けられている出力情報候補、すなわち当該地点に関する情報を出力情報とする。なお、当該出力情報は、ここではＬＭアプリケーションの情報入力領域３２への入力情報として入力されるため、具体的には当該地点の住所情報となる。また、別の具体例として、図４に示される写真表示アプリケーションの情報出力領域４４は、各サムネイルが表示される個別出力領域を含む。そして、あるサムネイルが表示された個別出力領域が選択されている。この場合に、連携処理部２６０は、当該サムネイルが表示された個別出力領域に関連付けられている出力情報候補、すなわち当該サムネイルの原写真データを出力情報とする。このように、複数の個別出力領域から選択できるようにすることで、ユーザは複数の出力情報候補の中から所望の出力情報候補を選択することができるようになる。
【００６１】
（表示制御部２７０）
表示制御部２７０は、表示画面に表示される出力表示画像の内容を制御する。例えば、表示制御部２７０は、アプリケーションの表示領域上のグラフィックおよびオペレーティングシステムのグラフィックを、表示画面上に表示させる。表示制御部２７０は、記憶部２１０に記憶されているアプリケーションの表示領域関連情報およびアプリケーション部から提供されるグラフィックに基づいて、上記アプリケーションの表示領域上に当該グラフィックを表示させることができる。また、表示制御部２７０は、出力情報を入力情報として入力できると連携判定部２５０により判定された場合に、出力側アプリケーションから入力側アプリケーションへの入力が可能であることを示す標識を表示画面上に表示させてもよい。また、表示制御部２７０は、出力情報を入力情報として入力できないと連携判定部２５０により判定された場合に、上記入力が可能ではないことを示す標識を表示画面上に表示させてもよい。例えば、表示制御部２７０は、図８の（ｃ）のように、入力が可能でないことを示す標識７０を表示画面上に表示させる。このような標識の表示により、ユーザにアプリケーション間の連携が可能か否かを伝えることが可能となる。
【００６２】
また、表示制御部２７０は、アプリケーションの表示領域の移動および変形を制御する。例えば、入力認識部２２０が、アプリケーションの表示領域を移動させる入力操作から移動方向および移動距離を示す領域移動情報を認識すると、表示制御部２７０は、当該領域移動情報に基づいて、記憶部２１０の表示領域関連情報を更新する。また、例えば、表示制御部２７０は、連携実行位置関係が満たされると位置判定部２３０により判定される場合に、情報入力領域を変形させてもよい。ここで、表示制御部２７０は、情報出力領域の形状、大きさおよび傾きの少なくとも１つに応じて、情報入力領域を変形させてもよい。また、表示制御部２７０は、情報入力領域の形状、大きさおよび傾きの少なくとも１つを変更することにより、情報入力領域を変形させてもよい。具体的には、表示制御部２７０は、図４の（ｃ）に示されるように、写真表示アプリケーションの出力領域４４の形状、大きさおよび傾きに応じて、半自動動画作成アプリケーションの情報入力領域５２を変形させる。ここでの情報入力領域５２は、形状、大きさおよび傾きを変更されている。なお、表示制御部２７０は、アプリケーションの種類に応じて、情報入力領域を変形するか否かを決めてもよい。このように情報入力領域の形状を変形させることにより、アプリケーションが連携可能であることをユーザに対して明確に示すことができ、また個別出力領域を選択するようにユーザに促すことができる。
【００６３】
［１．３．処理の流れの例］
以下では、図７を用いて、第１の実施形態に係る連携処理について説明する。図７は、第１の実施形態に係る連携処理の概略的な流れの一例を示すフローチャートである。例えば、当該連携処理は、情報出力領域と情報出力領域とのペア毎に実行される。
【００６４】
図７を参照すると、まずステップＳ３１０において、位置判定部２３０は、記憶部２１０に記憶されている、入力側アプリケーションの情報入力領域および出力側アプリケーションの情報出力領域の位置の情報を取得する。
【００６５】
次に、ステップＳ３２０において、位置判定部２３０は、上記情報入力領域の位置と上記情報出力領域の位置とが連携可否判定位置関係を満たすか否かを判定する。ここで、連携可否判定位置関係が満たされていれば、処理はステップＳ３３０へ進む。一方で、連携可否判定位置関係が満たされていなければ、処理はステップＳ３１０へ戻る。
【００６６】
次に、ステップＳ３３０において、連携判定部２５０は、上記情報入力領域と上記情報出力領域とのペアを示す連携情報を取得する。また、連携判定部２５０は、当該情報出力領域に関連付けられている出力情報を当該情報入力領域に関連付けられている入力情報として入力するためのＡＰＩも取得する。
【００６７】
次に、ステップＳ３４０において、連携判定部２５０は、上記情報出力領域に関連付けられている出力情報を上記情報入力領域に関連付けられている入力情報として入力できるか否かを判定する。例えば、連携判定部２５０は、上記連携情報を取得できたか否かを確認することにより、出力情報を入力情報として入力できるか否かを判定できる。ここで、上記入力が可能であれば、処理はステップＳ３５０へ進む。一方で、上記入力が不可であれば、処理は終了する。
【００６８】
次に、ステップＳ３５０において、位置判定部２３０は、上記情報入力領域および上記情報出力領域の位置の情報を取得する。
【００６９】
次に、ステップＳ３６０において、位置判定部２３０は、上記情報入力領域の位置と上記情報出力領域の位置とが連携実行位置関係を満たすか否かをさらに判定する。ここで、連携実行位置関係が満たされていれば、処理はステップＳ３７０へ進む。一方で、連携実行位置関係が満たされていなければ、処理はステップＳ３５０へ戻る。
【００７０】
次に、ステップＳ３７０において、表示制御部２７０は、上記情報入力領域を変形させる。なお、表示制御部２７０は、アプリケーションの種類によっては、情報入力領域を変形しない。
【００７１】
次に、ステップＳ３８０において、出力選択部２４０は、上記情報出力領域が複数の個別出力領域を含む場合に、いずれかの上記個別出力領域を選択する。なお、上記情報出力領域が個別出力領域を含まない場合には、個別出力領域を選択しない。
【００７２】
次に、ステップＳ３９０において、連携処理部２６０は、上記情報出力領域に関連付けられている出力情報を、上記情報入力領域に関連付けられている入力情報として入力側アプリケーションに入力する。ここで、情報出力領域に１つ以上の出力情報候補が関連づけられていれば、当該出力情報候補のうちのいずれかが出力情報とされる。当然のことながら、個別出力領域が選択されていれば、当該個別出力領域に関連付けられている出力情報候補が出力情報とされる。当該ステップ３９０の後に、処理は終了する。
【００７３】
＜２．第２の実施形態＞
本開示の第２の実施形態に係る情報処理装置は、本開示の第１の実施形態に係る情報処理装置が有する機能に対して、アプリケーション間の連携処理を新たに定義するために必要な情報を抽出する機能がさらに追加されたものである。
【００７４】
［２．１．アプリケーション間の連携処理の例］
第１の実施形態について説明された［１．１．アプリケーション間の連携処理の例］の内容は、第２の実施形態についても同様である。出力側アプリケーションの情報出力領域に関連付けられている出力情報は、入力側アプリケーションの情報入力領域に関連付けられている入力情報として入力できない、と判定される場合がある。このような判定は、上記出力情報が上記入力情報として入力できない種類の情報である場合だけではなく、上記出力情報を上記入力情報として入力し得るが、両者の連携情報が未だ定義されていない場合にも、行われる。そこで、後者の場合の連携情報を定義するために、第２の実施形態に係る情報処理装置は、上記判定後に入力情報として実際に入力された入力情報サンプルと、上記出力情報となり得る１つ以上の出力情報候補とを比較することにより、上記入力情報として入力され得る上記出力情報候補の属性を抽出する。
【００７５】
（例３）
図８は、第２の実施形態に係るアプリケーション間の連携処理の一例を示す説明図である。図８を参照すると、フレンドリストアプリケーションの表示領域６０と、図４を参照して説明された写真表示アプリケーションの表示領域４０とが、表示画面８０上に表示されている。
【００７６】
上記フレンドリストアプリケーションは、登録されている友達の顔写真のリストを表示する。図８を参照すると、当該アプリケーションの表示領域６０は、情報出力領域６４を含む。情報出力領域６４には、登録されている友人の顔写真のリストが表示されている。そして、当該情報出力領域６４は、各友人に関するプロフィール情報（ＩＤ、名前、年齢、国籍、職業、等）に関連付けられている。出力情報である当該プロフィール情報は、例えば以下のように記憶されている。
【００７７】
【表１】
2013008127.tif 000003
【００７８】
図８を参照すると、まず（ａ）で、フレンドリストアプリケーションの表示領域６０と写真表示アプリケーションの表示領域４０とが、ユーザの操作により近づけられる。ここでは、当該ユーザの操作は、タッチスクリーンへのタッチ操作として示されている。このように、情報入力領域４２が情報出力領域６４に近づけられると、情報出力領域６４に関連付けられている出力情報が、情報入力領域４２に関連付けられている入力情報として入力できるか否か、が判定される。ここで、例えば予め定められているフレンドリストアプリケーションと写真表示アプリケーションとの連携情報が見つからなかったため、情報出力領域６４に関連付けられている出力情報（ＩＤ、名前、年齢、国籍、職業、等）が、情報入力領域３２に関連付けられている入力情報（テキスト）として入力できない、と判定されてしまう。
【００７９】
次に（ｂ）で、情報入力領域６２と情報出力領域５４とが重ねられる。すると、（ｃ）のように、「自動で入力できません。手動で入力してください。」という標識が表示される。そこで、（ｄ）のように、ユーザは、情報入力領域４２のテキストボックスに、「Ｎａｎｃｙ  Ｈ，ｊｅｓｉｃａ」と入力する。
【００８０】
すると、情報処理装置は、「Ｎａｎｃｙ  Ｈ」および「ｊｅｓｉｃａ」と、情報出力領域６４に関連付けられている出力情報（名前、年齢、国籍、職業、等）とを比較する。表１を参照すると、「Ｎａｎｃｙ  Ｈ」および「ｊｅｓｉｃａ」は、出力情報候補のうち「名前」の属性を有するものであることがわかる。よって、情報処理装置は、入力情報として入力され得る出力情報候補の属性として「名前」を抽出する。
【００８１】
上記のように抽出された属性、入力側アプリケーションの情報入力領域、および出力側アプリケーションの情報出力領域は、互いに関連付けられて学習情報として蓄積される。当該学習情報は、例えば情報処理装置からネットワーク上に存在するサーバに送信されて、当該サーバ上で蓄積される。そして、蓄積された学習情報に基づいて、例えば、写真表紙アプリケーションの情報入力領域４２には、フレンドリストアプリケーションの情報入力領域６４に関連付けられている出力情報候補のうち「名前」の属性を有するものが入力される、ということが学習される。そして、フレンドリストアプリケーションの情報出力領域６４と写真表紙アプリケーションの情報入力領域４２とのペアを示す連携情報が生成される。また、当該出力領域６４に関連付けられている出力情報候補のうち「名前」の属性を有するものを、情報入力領域４２に関連付けられている入力情報として入力するＡＰＩが、生成される。
【００８２】
上記のように連携情報およびＡＰＩが生成された後のアプリケーション間の連携処理を説明する。図９を参照すると、まず（ａ）で、フレンドリストアプリケーションの表示領域６０と写真表示アプリケーションの表示領域４０とが、ユーザの操作により近づけられる。ここで、上記のとおり既に情報出力領域６４と情報入力領域４２との連携情報が存在するため、情報出力領域６４に関連付けられている出力情報が、情報入力領域４２に関連付けられている入力情報として入力できる、と判定される。
【００８３】
次に（ｂ）で、情報入力領域４２と情報出力領域６４とが重ねられる。すると、（ｃ）のように、情報入力領域４２は、例えば、出力領域６４に含まれる各個別出力領域の形状および大きさに合わせるように、変形される。そして、（ｄ）のように、情報入力領域４２が重なっている情報出力領域６４上の写真に対応する名前が、写真表示アプリケーションの入力情報として入力される。その結果、写真表示アプリケーションの出力領域４４には、上記名前に応じた写真のサムネイルが表示される。
【００８４】
［２．２．情報処理装置の構成例］
第２の実施形態に係る情報処理装置１００の構成は、制御部１２０を除き、図５に示される第１の実施形態に係る情報処理装置１００の構成と同じである。よって、ここでは、図１０を用いて、第２の実施形態に係る制御部１２０の構成を説明する。図１０を参照すると、制御部１２０は、記憶部２１０、入力認識部２２０、位置判定部２３０、出力選択部２４０、連携判定部２５０、連携処理部２６０、表示制御部２７０および関係抽出部２８０を含む。
【００８５】
このうち、記憶部２１０、入力認識部２２０、位置判定部２３０、出力選択部２４０、連携判定部２５０、連携処理部２６０および表示制御部２７０は、［１．２．情報処理装置の構成例］において図６を参照して説明したとおりである。よって、ここでは新たに追加されている関係抽出部２８０を説明する。
【００８６】
（関係抽出部２８０）
関係抽出部２８０は、出力情報を入力情報として入力できないと判定された場合に、当該判定後に入力情報として入力された入力情報サンプルと、出力情報となり得る１つ以上の出力情報候補とを比較することにより、入力情報として入力され得る出力情報候補の属性を抽出する。ここで、関係抽出部２８０は、出力情報を入力情報として入力できるか否かの判定結果を連携判定部２５０から取得する。また、関係抽出部２８０は、入力情報サンプルをアプリケーション部１３０から取得する。そして、関係抽出部２８０は、抽出された属性を、入力側アプリケーションの情報入力領域および出力側アプリケーションの情報出力領域と関連付けた上で、例えばネットワーク上に存在する所定のサーバに通信部１４０を介して送信する。なお、当該抽出された属性は、上記サーバではなく、情報処理装置１００の中で蓄積されてもよい。この場合、情報処理装置１００は、上記抽出された属性に基づいて、自ら連携情報を生成してもよい。
【００８７】
上記のような属性の抽出によって、アプリケーション間の連携処理を新たに定義するために必要な情報を提供することが可能となる。その結果、より多くのアプリケーションの間の連携処理が実現され得る。
【００８８】
［２．３．処理の流れの例］
以下では、図１１を用いて、第２の実施形態に係る連携処理について説明する。図１１は、第２の実施形態に係る連携処理の概略的な流れの一例を示すフローチャートである。例えば、当該連携処理は、情報出力領域と情報出力領域とのペア毎に実行される。
【００８９】
この中で、ステップＳ３１０〜ステップ３３０およびステップＳ３５０〜ステップ３９０は、［１．３．処理の流れの例］にて説明された第１の実施形態に係る連携処理と同じである。よって、ここでは新たに追加されているステップＳ４１０〜ステップ４４０および一部相違するステップＳ３４０を中心に説明する。
【００９０】
ステップＳ３４０において、連携判定部２５０は、出力側アプリケーションの情報出力領域に関連付けられている出力情報を、入力側アプリケーションの情報入力領域に関連付けられている入力情報として入力できるか否か、を判定する。ここで、上記入力が可能であれば、処理はステップＳ３５０へ進む。一方で、上記入力が不可であれば、処理はステップＳ４１０へ進む。
【００９１】
ステップＳ４１０において、関係抽出部２８０は、アプリケーション部１３０から入力情報サンプルを取得する。
【００９２】
次に、ステップＳ４２０において、関係抽出部２８０は、取得した入力情報サンプルと、情報出力領域に関連付けられている出力情報候補とを比較する。
【００９３】
次に、ステップＳ４３０において、関係抽出部２８０は、入力情報として入力され得る出力情報候補の属性を抽出する。
【００９４】
次に、ステップＳ４４０において、関係抽出部２８０は、抽出された属性、入力側アプリケーションの情報入力領域および出力側アプリケーションの情報出力領域を互いに関連付けた上で、ネットワーク上に存在する所定のサーバに通信部１４０を介して送信する。その後、処理は終了する。
【００９５】
＜３．情報処理装置のハードウェア構成例＞
次に、図１２を参照しながら、本開示の実施形態に係る情報処理装置１００のハードウェア構成について、詳細に説明する。図１２は、本開示の実施形態に係る情報処理装置１００のハードウェア構成を説明するためのブロック図である。
【００９６】
情報処理装置１００は、主に、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、を備える。また、情報処理装置１００は、更に、ホストバス９０７と、ブリッジ９０９と、外部バス９１１と、インターフェース９１３と、入力装置９１５と、出力装置９１７と、ストレージ装置９１９と、通信装置９２１とを備える。
【００９７】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置１００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０５は、ＣＰＵ９０１が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバス等の内部バスにより構成されるホストバス９０７により相互に接続されている。
【００９８】
ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【００９９】
入力装置９１５は、例えば、タッチパネル、マウス、キーボード、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール手段（いわゆる、リモコン）であってもよいし、情報処理装置１００の操作に対応した携帯電話やＰＤＡ等の外部接続機器であってもよい。さらに、入力装置９１５は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。情報処理装置１００のユーザは、この入力装置９１５を操作することにより、情報処理装置１００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０１００】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置９１７は、例えば、情報処理装置１００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置１００が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【０１０１】
ストレージ装置９１９は、情報処理装置１００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した音響信号データや画像信号データなどを格納する。
【０１０２】
通信装置９２１は、例えば、通信網９２３に接続するための通信デバイス等で構成された通信インターフェースである。通信装置９２１は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９２１は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデム等であってもよい。この通信装置９２１は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置９２１に接続される通信網９２３は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【０１０３】
以上、本開示の実施形態に係る情報処理装置１００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０１０４】
＜４．まとめ＞
ここまで、図１〜図１２を用いて、本開示の第１の実施形態および第２の実施形態について説明した。第１の実施形態によれば、ユーザの操作により移動する出力側アプリケーションの情報出力領域と入力側アプリケーションの情報入力領域とが連携実行位置関係を満たすと、当該出力領域に関連付けられている出力情報が、当該情報入力領域と関連付けられている入力情報として入力される。このように、ユーザは、情報出力領域または情報入力領域の位置を移動させる直感的な操作を行うだけで、アプリケーションを組合せて使用することが可能となる。
【０１０５】
また、上記情報出力領域に１つ以上の出力情報候補が関連付けられていれば、いずれかの出力情報候補が出力情報とされる。例えば、上記入力情報に対応する出力情報候補が、出力情報となる。これにより、ユーザは、同じ情報出力領域から、一律の情報を入力するのではなく、各入力側アプリケーションに合った情報を入力することができる。また、例えば、情報出力領域に含まれる複数の個別出力領域のいずれかが選択され、当該個別出力領域に関連付けられている出力情報候補が出力情報とされる。これにより、ユーザは、個別出力領域のいずれかを選択することにより、所望の出力情報を入力側アプリケーションに入力することができる。
【０１０６】
また、アプリケーションによっては、上記連携実行位置関係が満たされた後に、上記情報入力領域が変形される。これにより、ユーザは、アプリケーション間の連携が可能であることを認識でき、また個別出力領域をさらに選択しなければならないことを認識することができる。
【０１０７】
また、第２の実施形態によれば、上記出力情報を上記入力情報として入力できないと判定された場合に、実際に入力された入力情報サンプルと、上記出力情報となり得る出力情報候補とが比較され、入力情報として入力され得る出力情報候補の属性が抽出される。このような属性の抽出によって、アプリケーション間の連携処理を新たに定義するために必要な情報を提供することが可能となり、結果として、より多くのアプリケーションの間の連携処理が実現され得る。
【０１０８】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１０９】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定する位置判定部と、
前記所定の第１の位置関係が満たされると判定される場合に、前記情報出力領域に関連付けられている前記第２のアプリケーションの出力情報を、前記情報入力領域に関連付けられている入力情報として前記第１のアプリケーションに入力する連携処理部と、
を備える情報処理装置。
（２）
前記連携処理部は、前記情報出力領域に関連付けられている１つ以上の出力情報候補のうちのいずれかを前記出力情報とする、前記（１）に記載の情報処理装置。
（３）
前記連携処理部は、前記入力情報に対応する前記出力情報候補を前記出力情報とする、前記（２）に記載の情報処理装置。
（４）
前記情報処理装置は、前記情報出力領域が複数の個別出力領域を含む場合に、いずれかの前記個別出力領域を選択する、出力選択部をさらに備え、
前記連携処理部は、前記個別出力領域が選択された場合に、当該個別出力領域に関連付けられている前記出力情報候補を、前記出力情報とする、
前記（２）に記載の情報処理装置。
（５）
前記出力選択部は、前記情報入力領域の位置と前記複数の個別出力領域の各々の位置とに基づいて、いずれかの前記個別出力領域を選択する、前記（４）に記載の情報処理装置。
（６）
前記情報処理装置は、入力操作から取得された操作情報から、前記個別出力領域のいずれかを指定する領域指定情報を認識する、入力認識部をさらに備え、
前記出力選択部は、前記領域指定情報により指定される前記個別出力領域を選択する、
前記（４）に記載の情報処理装置。
（７）
前記所定の第１の位置関係は、前記情報入力領域と前記情報出力領域とが少なくとも部分的に重なる位置関係である、前記（１）から（６）のいずれか一項に記載の情報処理装置。
（８）
前記出力情報を前記入力情報として入力できるか否かを判定する連携判定部、をさらに備える前記（１）から（７）のいずれか一項に記載の情報処理装置。
（９）
前記位置判定部は、前記情報入力領域の位置と前記情報出力領域の位置とが所定の第２の位置関係を満たすか否かをさらに判定し、
前記連携判定部は、前記所定の第２の位置関係が満たされると判定される場合に、前記出力情報を前記入力情報として入力できるか否かを判定する、
前記（８）に記載の情報処理装置。
（１０）
前記所定の第２の位置関係は、前記情報入力領域と前記情報出力領域との間の距離が所定の距離以下である位置関係である、前記（９）に記載の情報処理装置。
（１１）
前記出力情報を前記入力情報として入力できると判定された場合に、前記第２のアプリケーションから前記第１のアプリケーションへの入力が可能であることを示す標識を表示画面上に表示させ、または、前記出力情報を前記入力情報として入力できないと判定された場合に、前記入力が可能ではないことを示す標識を表示画面上に表示させる表示制御部、をさらに含む前記（８）から（１０）のいずれか一項に記載の情報処理装置。
（１２）
前記所定の第１の位置関係が満たされると判定される場合に、前記情報入力領域を変形させる表示制御部、をさらに含む前記（１）から（１１）のいずれか一項に記載の情報処理装置。
（１３）
前記表示制御部は、前記情報出力領域の形状、大きさおよび傾きの少なくとも１つに応じて、前記情報入力領域を変形させる、前記（１２）に記載の情報処理装置。
（１４）
前記表示制御部は、前記情報入力領域の形状、大きさおよび傾きの少なくとも１つを変更することにより、前記情報入力領域を変形させる、前記（１２）または（１３）に記載の情報処理装置。
（１５）
前記出力情報を前記入力情報として入力できないと判定された場合に、当該判定後に前記入力情報として入力された入力情報サンプルと、前記出力情報となり得る１つ以上の出力情報候補とを比較することにより、前記入力情報として入力され得る前記出力情報候補の属性を抽出する関係抽出部、をさらに備える前記（８）から（１４）のいずれか一項に記載の情報処理装置。
（１６）
情報処理装置を制御するコンピュータを、
第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定する位置判定部と、
前記所定の第１の位置関係が満たされると判定される場合に、前記情報出力領域に関連付けられている前記第２のアプリケーションの出力情報を、前記情報入力領域に関連付けられている入力情報として前記第１のアプリケーションに入力する連携処理部と、
として機能させるためのプログラム。
（１７）
第１のアプリケーションの表示領域内に含まれる情報入力領域の位置と、第２のアプリケーションの表示領域内に含まれる情報出力領域の位置とが、所定の第１の位置関係を満たすか否か、を判定することと、
前記所定の第１の位置関係が満たされると判定される場合に、前記情報出力領域に関連付けられている前記第２のアプリケーションの出力情報を、前記情報入力領域に関連付けられている入力情報として前記第１のアプリケーションに入力することと、
を含む連携処理方法。
【符号の説明】
【０１１０】
１２０    制御部
１３０    アプリケーション部
２１０    記憶部
２２０    入力認識部
２３０    位置判定部
２４０    出力選択部
２５０    連携判定部
２６０    連携処理部
２７０    表示制御部
２８０    関係抽出部
【図１】
2013008127.tif 000004
【図２】
2013008127.tif 000005
【図３】
2013008127.tif 000006
【図４】
2013008127.tif 000007
【図５】
2013008127.tif 000008
【図６】
2013008127.tif 000009
【図７】
2013008127.tif 000010
【図８】
2013008127.tif 000011
【図９】
2013008127.tif 000012
【図１０】
2013008127.tif 000013
【図１１】
2013008127.tif 000014
【図１２】
2013008127.tif 000015