(57)【要約】【課題】ユーザの利便性の低下を防止することができる情報処理装置を提供する。【解決手段】カメラスキャナ１０１は、書画台２０３の載置物６０４と当該カメラスキャナ１０１にインストールされたアプリ４０５〜４０７のうちユーザに選択されたアプリとを関連付けする。【選択図】図５
2017207802.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが配する載置物を検知し、インストールされた複数のアプリケーションのうち前記載置物に関連付けされたアプリケーションを実行する情報処理装置であって、
前記載置物及び前記ユーザに選択されたアプリケーションを関連付けする関連付け手段を備えることを特徴とする情報処理装置。
【請求項２】
前記載置物の外形を示す外形情報を取得する外形情報取得手段を更に備え、
前記関連付け手段は、前記載置物の外形情報及び前記ユーザに選択されたアプリケーションを関連付けすることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記載置物は前記載置物を特定する特定情報を含む２次元バーコードを有し、
前記２次元バーコードから前記特定情報を取得する特定情報取得手段を更に備え、
前記関連付け手段は、前記特定情報及び前記ユーザに選択されたアプリケーションを関連付けすることを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記載置物を検知した際、当該載置物及び前記ユーザに選択されたアプリケーションを関連付けするか、若しくは前記載置物に関連付けされたアプリケーションを実行するかのいずれかを前記ユーザに選択させる選択手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記インストールされた複数のアプリケーションのうち前記載置物に関連付けされたアプリケーションを識別する識別手段と、
前記インストールされた複数のアプリケーションのうち前記ユーザに選択されたアプリケーションを実行する実行手段とを更に備え、
前記実行手段は、前記識別されたアプリケーションの実行頻度が所定の回数以上である場合、前記識別されたアプリケーションを実行し、前記識別されたアプリケーションの実行頻度が所定の回数未満である場合、前記ユーザに選択されたアプリケーションを実行することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記載置物を検知した際に実行が開始されたアプリケーションの実行が完了した場合、前記関連付け手段は、前記載置物及び前記実行が完了したアプリケーションを関連付けすることを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記載置物を検知した際に実行が開始されたアプリケーションの実行が中断された場合、前記関連付け手段は、前記載置物及び前記実行が中断されたアプリケーションを関連付けないことを特徴とする請求項５又は６記載の情報処理装置。
【請求項８】
ユーザが配する載置物を検知し、インストールされた複数のアプリケーションのうち前記載置物に関連付けされたアプリケーションを実行する情報処理装置の制御方法であって、
前記載置物及び前記ユーザに選択されたアプリケーションを関連付けする関連付けステップを有することを特徴とする情報処理装置の制御方法。
【請求項９】
ユーザが配する載置物を検知し、インストールされた複数のアプリケーションのうち前記載置物に関連付けされたアプリケーションを実行する情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
前記情報処理装置の制御方法は、
前記載置物及び前記ユーザに選択されたアプリケーションを関連付けする関連付けステップを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
書画台に載置された載置物を離れた位置からスキャンして形状を把握するスキャン処理を実行する情報処理装置としてのカメラスキャナが知られている。カメラスキャナは載置物として原稿や本等の立体物のスキャン処理を実行可能である。近年では、書画台に画像を投影するプロジェクタを備えるカメラスキャナが開発されている。このカメラスキャナは、書画台に配置された載置物の種別を判別すると、当該種別に対応するアプリケーションを実行し、該アプリケーションに関する画像を書画台に表示する（例えば、特許文献１参照）。これにより、ユーザがカメラスキャナの操作部等でアプリケーションの実行を指示することなく、アプリケーションが実行される。載置物の種別及び該載置物の種別に対応するアプリケーションの関連付けを示す関連付け情報はカメラスキャナの製造段階等に予め設定される。
【０００３】
ところで、近年では、ユーザの利便性を向上させる様々な機能のアプリケーションが開発されており、書画台に載置物を配置した際に実行が所望されるアプリケーションもユーザ毎に異なる。これに対して、載置物の種別及び該載置物の種別に対応するアプリケーションの関連付けをユーザに委ねることが求められている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−７９５２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のカメラスキャナでは、載置物の種別及び該載置物の種別に対応するアプリケーションの関連付けは、カメラスキャナの製造段階に設定されるのみであり、ユーザが当該関連付けを行うことができない。その結果、書画台に載置物を配置した際にユーザが実行を所望するアプリケーションを実行することができず、ユーザの利便性を向上することができない。
【０００６】
本発明の目的は、ユーザの利便性を向上することができる情報処理装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の情報処理装置は、ユーザが配する載置物を検知し、インストールされた複数のアプリケーションのうち前記載置物に関連付けされたアプリケーションを実行する情報処理装置であって、前記載置物及び前記ユーザに選択されたアプリケーションを関連付けする関連付け手段を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザの利便性を向上することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る情報処理装置としてのカメラスキャナを含む通信システムの構成を概略的に示すブロック図である。
【図２】図１のカメラスキャナを説明するための図である。
【図３】図１のカメラスキャナのハードウェアの構成を概略的に示すブロック図である。
【図４】図１のカメラスキャナのソフトウェアを説明するための図である。
【図５】図１のカメラスキャナで実行されるアプリ実行処理の手順を示すフローチャートである。
【図６】図５のアプリ実行処理において書画台に投影される画像の一例を示す図である。
【図７】図５のアプリ実行処理の第１の変形例の手順を示すフローチャートである。
【図８】図７のアプリ実行処理において書画台に投影される画像の一例を示す図である。
【図９】図５のアプリ実行処理の第２の変形例の手順を示すフローチャートである。
【図１０】図９のアプリ実行処理において書画台に投影される画像の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１１】
図１は、本発明の実施の形態に係る情報処理装置としてのカメラスキャナ１０１を含む通信システム１００の構成を概略的に示すブロック図である。
【００１２】
図１において、通信システム１００は、カメラスキャナ１０１、ホストコンピュータ１０２、及びプリンタ１０３を備え、カメラスキャナ１０１、ホストコンピュータ１０２、及びプリンタ１０３はネットワーク１０４を介して互いに接続されている。
【００１３】
カメラスキャナ１０１はスキャン機能を有する。カメラスキャナ１０１は、ホストコンピュータ１０２等からスキャン処理の実行が指示されると、スキャン処理を実行して画像データを生成し、該画像データをホストコンピュータ１０２やプリンタ１０３に送信する。ホストコンピュータ１０２はカメラスキャナ１０１やプリンタ１０３にスキャン処理等を含む各処理の実行を指示する。プリンタ１０３はスキャン機能及びプリント機能を有し、例えば、カメラスキャナ１０１から受信した画像データの印刷処理を行う。
【００１４】
図２は、図１のカメラスキャナ１０１を説明するための図であり、図２（ａ）はカメラスキャナ１０１の構成を概略的に示す構成図であり、図２（ｂ）は各座標系を説明するための図であり、図２（ｃ）は各座標系の変換を説明するための図である。
【００１５】
図２において、カメラスキャナ１０１は、コントローラ部２０１、カメラ部２０２、腕部２０５、プロジェクタ２０６、及び距離画像センサ部２０７を備える。コントローラ部２０１、カメラ部２０２、プロジェクタ２０６、及び距離画像センサ部２０７は腕部２０５によって連結されている。
【００１６】
コントローラ部２０１は、カメラスキャナ１０１の本体としてカメラ部２０２、プロジェクタ２０６、及び距離画像センサ部２０７をそれぞれ制御する。カメラ部２０２は当該カメラ部２０２の指向方向において予め設定された領域、例えば、書画台２０３に設けられるターンテーブル２０９の一部を含む領域２０４の撮影を行う。カメラ部２０２は高解像度及び低解像度のいずれかの解像度を設定可能である。腕部２０５は関節による曲げ伸ばしが可能である。プロジェクタ２０６は書画台２０３に各画像を投影する。距離画像センサ部２０７は赤外線によるパターン投射方式の距離画像センサである。距離画像センサ部２０７は、当該距離画像センサ部２０７の指向方向において予め設定された領域、例えば、原稿２０８を含む領域２０４の撮影を行い、原稿２０８との距離を測定する。ターンテーブル２０９はコントローラ部２０１の制御によって回転駆動可能であり、ターンテーブル２０９にはスキャン処理の対象物が載置される。
【００１７】
カメラスキャナ１０１では、図２（ｂ）に示すように、カメラ部２０２、プロジェクタ２０６、及び距離画像センサ部２０７の各々に対応するカメラ座標系、プロジェクタ座標系、及び距離画像センサ座標系が定義されている。カメラ座標系はカメラ部２０２を基準とした座標系であり、カメラ座標系では、カメラ部２０２が撮影する画像平面の水平、垂直成分がＸｃ、Ｙｃと定義され、当該画像平面に直行する成分がＺｃと定義される。プロジェクタ座標系はプロジェクタ２０６を基準とした座標系であり、プロジェクタ座標系では、プロジェクタ２０６が投影する投影画像平面の水平、垂直成分がＸｐ，Ｙｐと定義され、当該投影画像平面に直行する成分がＺｐと定義される。距離画像センサ座標系は距離画像センサ部２０７を基準とした座標系であり、距離画像センサ座標系では、距離画像センサ部２０７が撮影する画像平面の水平、垂直成分がＸｓ，Ｙｓと定義され、当該画像平面に直行する成分がＺｓと定義される。また、カメラスキャナ１０１では、カメラ座標系、プロジェクタ座標系、及び距離画像センサ座標系の他に、書画台２０３を基準とした座標系である直交座標系も定義されている。直交座標系では、書画台２０３の平面の水平、垂直成分がＸ，Ｙと定義され、書画台２０３の平面に直行する成分がＺと定義される。各座標系は計算式によって互いに他の座標系に変換可能である。カメラスキャナ１０１は、例えば、３×３の回転行列Ｒｃ及び並進ベクトルｔｃを用い、下記式（１）により、直交座標系の三次元点Ｐ［Ｘ，Ｙ，Ｚ］をカメラ座標系の三次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］に変換可能である（例えば、図２（ｃ））。以下、回転行列Ｒｃ及び並進ベクトルｔｃをカメラ部２０２の外部パラメータと定義する。
【００１８】
【数１】
2017207802.tif 000003
【００１９】
また、カメラスキャナ１０１は、下記（２）式により、図２（ｃ）に示すように、カメラ座標系の三次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］を直交座標系の三次元点Ｐ［Ｘ，Ｙ，Ｚ］に変換可能である。
【００２０】
【数２】
2017207802.tif 000004
【００２１】
さらに、カメラスキャナ１０１は、焦点距離及び画像中心等で表現される３×３の行列Ａｃを用い、下記式（３）により、カメラ座標系の三次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］をカメラ座標系の二次元点ｐｃ［ｘｃ，ｙｃ］に透視投影変換可能である。以下、行列Ａｃをカメラ部２０２の内部パラメータと定義する。
【００２２】
【数３】
2017207802.tif 000005
【００２３】
なお、上述した各内部パラメータ及び外部パラメータは予めキャリブレーションが行われていることを前提とする。
【００２４】
図３は、図１のカメラスキャナ１０１のハードウェアの構成を概略的に示すブロック図である。
【００２５】
図３において、カメラスキャナ１０１は、図１のコントローラ部２０１、カメラ部２０２、プロジェクタ２０６、距離画像センサ部２０７、及びターンテーブル２０９の他に、ＬＣＤタッチパネル３１５、スピーカ３１６、及び外部メモリ３１７を備える。コントローラ部２０１は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ３０４、ネットワークＩ／Ｆ３０５、画像処理プロセッサ３０６、カメラＩ／Ｆ３０７、ディスプレイコントローラ３０８、及びシリアルＩ／Ｆ３０９を備える。また、コントローラ部２０１はオーディオコントローラ３１０及びＵＳＢコントローラ３１１を備える。ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ３０４、ネットワークＩ／Ｆ３０５、画像処理プロセッサ３０６、カメラＩ／Ｆ３０７、ディスプレイコントローラ３０８、シリアルＩ／Ｆ３０９、オーディオコントローラ３１０、及びＵＳＢコントローラ３１１はシステムバス３１８を介して互いに接続されている。距離画像センサ部２０７は赤外線パターン投射部３１２、赤外線カメラ３１３、及びＲＧＢカメラ３１４を備える。
【００２６】
ＣＰＵ３０１はコントローラ部２０１全体を統括的に制御し、ＲＯＭ３０３に格納された各プログラムを実行して後述する図４のソフトウェアモジュール４０１の各処理を実行する。ＲＡＭ３０２は揮発性メモリであり、ＣＰＵ３０１の作業領域や各データの一時格納領域として用いられる。ＲＯＭ３０３は不揮発性メモリであり、ＣＰＵ３０１で実行されるプログラムを格納する。ＨＤＤ３０４はＲＯＭ３０３より大容量のハードディスクドライブであり、プログラムや設定情報等を格納する。ネットワークＩ／Ｆ３０５はネットワーク１０４を介して接続されたホストコンピュータ１０２及びプリンタ１０３とデータ通信を行う。
【００２７】
画像処理プロセッサ３０６はＲＡＭ３０２に格納された画像データを読み出し、当該画像データに対して回転、変倍、色変換等の画像処理を施し、画像処理が施された画像データをＲＡＭ３０２へ書き戻す。カメラＩ／Ｆ３０７はカメラ部２０２及び距離画像センサ部２０７の各々とデータ通信を行う。例えば、カメラＩ／Ｆ３０７は、ＣＰＵ３０１の指示に応じてカメラ部２０２及び距離画像センサ部２０７の各々から、画像データ及び距離画像データを取得し、取得された画像データ及び距離画像データをＲＡＭ３０２へ書き込む。また、カメラＩ／Ｆ３０７は、ＣＰＵ３０１からの制御コマンドをカメラ部２０２及び距離画像センサ１０８へ送信し、カメラ部２０２及び距離画像センサ部２０７の各設定を行う。ディスプレイコントローラ３０８はプロジェクタ２０６及びＬＣＤタッチパネル３１５とデータ通信を行う。例えば、ディスプレイコントローラ３０８は後述する図４のアプリケーションモジュール（以下、単に「アプリ」という。）４０５〜４０７の実行を設定するための投影指示をプロジェクタ２０６に行う。これにより、プロジェクタ２０６は各アプリ４０５〜４０７を示す後述する図６（ａ）の設定ボタン６０５〜６０７を書画台２０３に投影する。
【００２８】
シリアルＩ／Ｆ３０９はＬＣＤタッチパネル３１５及びターンテーブル２０９とデータ通信を行う。例えば、シリアルＩ／Ｆ３０９はＬＣＤタッチパネル３１５とデータ通信を行ってＬＣＤタッチパネル３１５が押下された位置情報を取得する。また、シリアルＩ／Ｆ３０９はＣＰＵ３０１から受信した回転動作に関する指示をターンテーブル２０９に送信する。オーディオコントローラ３１０はスピーカ３１６とデータ通信を行う。ＵＳＢコントローラ３１１は外部メモリ３１７とデータ通信を行う。
【００２９】
赤外線パターン投射部３１２は視認不可能な赤外線の投影パターンをターンテーブル２０９の載置物に投射する。赤外線カメラ３１３は載置物に投射された投影パターンを撮影するカメラである。ＲＧＢカメラ３１４は可視光をＲＧＢ信号で撮影するカメラである。ＬＣＤタッチパネル３１５はカメラスキャナ１０１の各設定を行う設定画面等を表示する。スピーカ３１６はオーディオコントローラ３１０から受信したアナログ音声信号に基づいて音声を出力する。外部メモリ３１７はＵＳＢメモリやＳＤカード等である。
【００３０】
図４は、図１のカメラスキャナのソフトウェアモジュール４０１を説明するための図である。図４（ａ）は図１のカメラスキャナ１０１のソフトウェアモジュール４０１の構成を概略的に示すブロック図であり、図４（ｂ）はソフトウェアモジュール４０１における制御を説明するための図である。
【００３１】
図４において、ソフトウェアモジュール４０１は、メイン制御モジュール４０２、アプリケーション制御モジュール４０３、データ管理モジュール４０８、及びネットワーク通信モジュール４０９を備える。また、ソフトウェアモジュール４０１は、画像取得モジュール４１０、認識処理モジュール４１３、ＵＩモジュール４１６、及び表示モジュール４１７を備える。アプリケーション制御モジュール４０３はアプリケーション管理モジュール４０４及びアプリ４０５〜４０７を備え、画像取得モジュール４１０はカメラ画像取得モジュール４１１及び距離画像取得モジュール４１２を備える。認識処理モジュール４１３はジェスチャ認識モジュール４１４及び物体検知モジュール４１５を備える。ソフトウェアモジュール４０１の各処理はＣＰＵ３０１がＲＯＭ３０３に格納された各プログラムを実行することによって行われる。
【００３２】
メイン制御モジュール４０２は、図４（ｂ）に示すように、上述した各モジュールを制御する。アプリケーション制御モジュール４０３はカメラスキャナ１０１にインストールされたアプリ４０５〜４０７を実行する。具体的に、アプリケーション管理モジュール４０４は各アプリのインストール及びアンインストールを管理し、カメラスキャナ１０１にインストールされたアプリ４０５〜４０７の実行を制御する。アプリ４０５〜４０７はそれぞれ異なる機能を有する。ここで、カメラスキャナ１０１は学習モード及び識別モードの２つのモードを有し、学習モード及び識別モードのいずれか一方をユーザが設定可能である。学習モードはターンテーブル２０９の載置物及びインストールされたアプリ４０５〜４０７のうちユーザに選択されたアプリを関連付けする。識別モードはターンテーブル２０９の載置物を検知した際にアプリ４０５〜４０７のうち当該載置物に関連付けされたアプリを実行する。
【００３３】
データ管理モジュール４０８はカメラスキャナ１０１で用いられる各データの管理を行い、当該各データの格納処理等を制御する。ネットワーク通信モジュール４０９はネットワーク１０４と接続された外部装置とのデータ通信を制御する。画像取得モジュール４１０は画像入力処理を行う。具体的に、カメラ画像取得モジュール４１１は、カメラ部２０２が出力する画像データをカメラＩ／Ｆ３０７を介して取得し、取得された画像データをＲＡＭ３０２に格納する。また、距離画像取得モジュール４１２は距離画像センサ部２０７が出力する距離画像データをカメラＩ／Ｆ３０７を介して取得し、取得された距離画像データをＲＡＭ３０２へ格納する。認識処理モジュール４１３は取得された画像データや距離画像データから物体の動きを認識する。具体的に、ジェスチャ認識モジュール４１４は画像取得モジュール４１０から領域２０４の画像を定期的に取得し、取得された各画像の差分等からユーザが書画台２０３に投影された設定ボタン等を選択する操作（以下、「ジェスチャ操作」という。）を検知する。ジェスチャ認識モジュール４１４はジェスチャ操作を検知すると、検知結果をメイン制御モジュール４０２に通知する。また、物体検知モジュール４１５はターンテーブル２０９に対象物が載置されているか否かを検知し、ターンテーブル２０９に対象物が載置されていると、検知結果をメイン制御モジュール４０２に通知する。ＵＩモジュール４１６はユーザーインターフェースに関するデータ通信を制御する。例えば、ＵＩモジュール４１６は、アプリケーション制御モジュール４０３の指示に基づいてプロジェクタ２０６に投影させるメッセージや設定ボタン等のＧＵＩデータを生成する。また、ＵＩモジュール４１６はジェスチャ認識モジュール４１４によって検知されたジェスチャ操作が行われた位置の座標情報を取得する。ＵＩモジュール４１６は取得された座標情報に基づいて操作内容を判別し、判別結果をアプリケーション制御モジュール４０３に通知する。これにより、カメラスキャナ１０１はユーザによる操作を受け付ける。表示モジュール４１７はディスプレイコントローラ３０８を制御してＧＵＩデータの表示制御を行う。これにより、例えば、ターンテーブル２０９の載置物に関連付けされたアプリケーションのＵＩがプロジェクタ２０６によって当該書画台２０３に投影される。
【００３４】
図５は、図１のカメラスキャナ１０１で実行されるアプリ実行処理の手順を示すフローチャートである。図５（ａ）は学習モードにおけるアプリ実行処理の手順を示すフローチャートであり、図５（ｂ）は識別モードにおけるアプリ実行処理の手順を示すフローチャートである。
【００３５】
本実施の形態では、図示しない設定キーをユーザが押下すると、メイン制御モジュール４０２はプロジェクタ２０６によって書画台２０３に図６（ａ）の設定ボタン６０１，６０２を投影する。ユーザが設定ボタン６０１を選択すると、学習モードが設定され、ユーザが設定ボタン６０２を選択すると、識別モードが設定される。
【００３６】
図５（ａ）の処理は、ユーザが設定ボタン６０１を選択して学習モードが設定された場合を前提とする。
【００３７】
図５（ａ）において、まず、メイン制御モジュール４０２はアプリケーション管理モジュール４０４の起動処理を開始する（ステップＳ５０１）。
【００３８】
アプリケーション管理モジュール４０４は、上記起動処理の実行を完了すると、ＵＩモジュール４１６に処理を開始するための表示制御の指示を行う（ステップＳ５０２）。これにより、プロジェクタ２０６は対象物の載置を促す図６（ｂ）のメッセージ６０３を書画台２０３に投影する。次いで、アプリケーション管理モジュール４０４はターンテーブル２０９に対象物が載置されたか否かを検知する載置検知処理の開始指示通知をメイン制御モジュール４０２に送信する（ステップＳ５０３）。
【００３９】
メイン制御モジュール４０２は、開始指示通知を受信すると、当該開始指示通知に応じて載置検知処理を開始する（ステップＳ５０４）。ターンテーブル２０９に載置された対象物として図６（ｃ）の載置物６０４が検知されると、メイン制御モジュール４０２はカメラ画像取得モジュール４１１によって載置物６０４を撮影する。その後、メイン制御モジュール４０２は当該載置物６０４の外形情報を取得する（ステップＳ５０５）（外形情報取得手段）。外形情報は、例えば、載置物６０４を撮影した画像から抽出される載置物６０４の特徴量である。次いで、メイン制御モジュール４０２は載置物６０４を検知した旨を示す載置物検知通知をアプリケーション管理モジュール４０４に送信する（ステップＳ５０６）。
【００４０】
アプリケーション管理モジュール４０４は、載置物検知通知を受信し（ステップＳ５０７）、該載置物検知通知に応じてアプリを実行するための表示制御の指示をＵＩモジュール４１６に行う（ステップＳ５０８）。これにより、プロジェクタ２０６は、カメラスキャナ１０１にインストールされたアプリ４０５〜４０７のそれぞれを示す図６（ｃ）の設定ボタン６０５〜６０７を書画台２０３に投影する。ユーザが設定ボタン６０５〜６０７のいずれかを選択するジェスチャ操作が検知されると、設定ボタン６０５〜６０７のいずれかが選択された旨を示す選択検知通知がＵＩモジュール４１６からアプリケーション管理モジュール４０４に送信される。アプリケーション管理モジュール４０４は、選択検知通知を受信し（ステップＳ５０９）、設定ボタン６０５〜６０７のうちユーザに選択された設定ボタンに対応するアプリの名称を含む通知をメイン制御モジュール４０２に送信する（ステップＳ５１０）。次いで、アプリケーション管理モジュール４０４はユーザに選択されたアプリを実行し（ステップＳ５１１）、本処理を終了する。
【００４１】
メイン制御モジュール４０２はユーザに選択されたアプリの名称を含む通知を受信し（ステップＳ５１２）、当該通知に応じてアプリの関連付け処理を行う。具体的に、メイン制御モジュール４０２は載置物６０４の外形情報及びユーザに選択されたアプリの名称を関連付けした関連付け情報（識別器）を生成し、当該関連付け情報をＨＤＤ３０４に格納する（ステップＳ５１３）。これにより、載置物６０４及びユーザに選択されたアプリが関連付けされる。その後、メイン制御モジュール４０２は本処理を終了する。
【００４２】
次に、図５（ｂ）を用いて、ユーザが設定ボタン６０２を選択して識別モードが設定された場合について説明する。
【００４３】
図５（ｂ）の処理は、図５（ａ）の処理によって載置物６０４の関連付け情報がＨＤＤ３０４に格納されていることを前提とする。
【００４４】
図５（ｂ）において、まず、メイン制御モジュール４０２はステップＳ５０１の処理を行い、アプリケーション管理モジュール４０４はステップＳ５０２，Ｓ５０３の処理を行い、メイン制御モジュール４０２はステップＳ５０４，Ｓ５０５の処理を行う。次いで、メイン制御モジュール４０２はＨＤＤ３０４に格納された関連付け情報に基づいて載置物６０４の外形情報に関連付けされたアプリの名称を取得し、載置物６０４に関連付けされたアプリを識別する（ステップＳ５１４）。次いで、メイン制御モジュール４０２は取得されたアプリの名称を含む通知をアプリケーション管理モジュール４０４に送信し（ステップＳ５１５）、本処理を終了する。
【００４５】
アプリケーション管理モジュール４０４は、アプリの名称を含む通知を受信し（ステップＳ５１６）、インストールされたアプリ４０５〜４０７の中から当該通知に対応するアプリを識別する。その後、アプリケーション管理モジュール４０４は識別されたアプリを実行し（ステップＳ５１７）、本処理を終了する。
【００４６】
上述した図５（ａ）及び図５（ｂ）の処理によれば、載置物６０４及びユーザに選択されたアプリが関連付けされる。これにより、ターンテーブル２０９の載置物毎にユーザが実行を所望するアプリを関連付けすることができ、もって、ユーザの利便性を向上することができる。
【００４７】
また、上述した図５（ａ）及び図５（ｂ）の処理では、載置物６０４の外形情報及びユーザに選択されたアプリの名称が関連付けされる。これにより、載置物６０４の外形情報を取得するだけでユーザが実行を所望するアプリを確実に実行することができる。
【００４８】
さらに、上述した図５（ａ）及び図５（ｂ）の処理では、学習モード及び識別モードのいずれかをユーザが選択する。これにより、載置物６０４及びアプリケーションを関連付けする処理及び関連付けされたアプリの実行において、ユーザの意図を確実に反映させることができる。
【００４９】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。
【００５０】
例えば、関連付け情報の個数に上限値を設定してもよい。これにより、必要以上に関連付け情報が増えることに起因してカメラスキャナ１０１の容量が逼迫するのを防止することができる。
【００５１】
また、本実施の形態では、載置物を特定するＩＤ情報（特定情報）及びユーザに選択されたアプリの名称を関連付けしてもよい。
【００５２】
図７は、図５のアプリ実行処理の第１の変形例の手順を示すフローチャートである。図７（ａ）は学習フェーズにおけるアプリ実行処理の手順を示すフローチャートであり、図７（ｂ）は識別フェーズにおけるアプリ実行処理の手順を示すフローチャートである。
【００５３】
図７（ａ）の処理は、ユーザが設定ボタン６０１を選択して学習モードが設定された場合を前提とする。
【００５４】
ここで、カメラスキャナ１０１はターンテーブル２０９の載置物の外形情報を取得するために比較的高負荷な演算処理を実行する必要があり、当該載置物の外形情報及びユーザに選択されたアプリの名称の関連付けを行うことが困難な場合がある。
【００５５】
これに対応して、本実施の形態では、載置物８０３のＩＤ情報及びユーザに選択されたアプリの名称を関連付けする。
【００５６】
図７（ａ）において、まず、メイン制御モジュール４０２は図５のステップＳ５０１の処理を行う。
【００５７】
アプリケーション管理モジュール４０４は、起動処理の実行を完了すると、ＵＩモジュール４１６に処理を開始するための表示制御の指示を行う（ステップＳ７０１）。これにより、プロジェクタ２０６は、２次元バーコードを有する対象物の載置を促す図８（ａ）のメッセージ８０１を書画台２０３に投影する。２次元バーコードには対象物を特定可能なＩＤ情報が含まれる。次いで、アプリケーション管理モジュール４０４は図５のステップＳ５０３の処理を行う。
【００５８】
メイン制御モジュール４０２は、載置検知処理の開始通知を受信すると、図５のステップＳ５０４の処理を行う。物体検知モジュール４１５によって図８（ｂ）の２次元バーコード８０２を有する載置物８０３が検知されると、メイン制御モジュール４０２はカメラ画像取得モジュール４１１によって載置物８０３を撮影する。その後、メイン制御モジュール４０２は撮影された画像の２次元バーコード８０２を読み取って載置物８０３のＩＤ情報を取得する（ステップＳ７０２）（特定情報取得手段）。次いで、メイン制御モジュール４０２は図５のステップＳ５０６の処理を行う。
【００５９】
アプリケーション管理モジュール４０４は図５のステップＳ５０７，Ｓ５０８の処理を行う。これにより、プロジェクタ２０６は、カメラスキャナ１０１にインストールされたアプリ４０５〜４０７のそれぞれを示す図８（ｂ）の設定ボタン８０４〜８０６を書画台２０３に投影する。その後、アプリケーション管理モジュール４０４は、設定ボタン８０４〜８０６のいずれかが選択された旨を示す選択検知通知を受信し（ステップＳ５０９）、図５のステップＳ５１０以降の処理を行う。
【００６０】
メイン制御モジュール４０２はユーザに選択されたアプリの名称を含む通知をアプリケーション管理モジュール４０４から受信すると（ステップＳ５１２）、当該通知に応じてアプリの関連付け処理を行う。具体的に、メイン制御モジュール４０２は載置物８０３のＩＤ情報及びユーザに選択されたアプリの名称を関連付けした図７（ｃ）の対応表７０１を生成し、当該対応表７０１をＨＤＤ３０４に格納する（ステップＳ７０３）。これにより、載置物８０３及びユーザに選択されたアプリが関連付けされる。その後、メイン制御モジュール４０２は本処理を終了する。
【００６１】
次に、図７（ｂ）を用いて、ユーザが設定ボタン６０２を選択して識別モードが設定された場合について説明する。
【００６２】
図７（ｂ）の処理は、図７（ａ）の処理によって載置物８０３のＩＤ情報及びユーザに選択されたアプリの名称が関連付けされていることを前提とする。
【００６３】
図７（ｂ）において、まず、メイン制御モジュール４０２はステップＳ５０１の処理を行い、アプリケーション管理モジュール４０４はステップＳ７０１，Ｓ５０３の処理を行い、メイン制御モジュール４０２はステップＳ５０４，Ｓ７０２の処理を行う。次いで、メイン制御モジュール４０２はＨＤＤ３０４に格納された対応表７０１に基づいて載置物８０３のＩＤ情報に関連付けされたアプリの名称を取得し、載置物８０３に関連付けされたアプリを識別する（ステップＳ７０４）。その後、メイン制御モジュール４０２はステップＳ５１５以降の処理を行う。アプリケーション管理モジュール４０４はステップＳ５１６以降の処理を行う。
【００６４】
上述した図７（ａ）及び図７（ｂ）の処理では、載置物８０３のＩＤ情報及びユーザに選択されたアプリの名称が関連付けされる。これにより、例えば、載置物８０３の外形情報を取得するための高負荷な演算処理を実行することなく、載置物８０３及びユーザに選択されたアプリを容易に関連付けすることができる。
【００６５】
また、本実施の形態では、学習モード及び識別モードの設定をユーザが行わなくてもよい。
【００６６】
図９は、図５のアプリ実行処理の第２の変形例の手順を示すフローチャートである。
【００６７】
図９の処理は、図１０に示す載置物６０４及びユーザに選択されたアプリの関連付けが少なくとも１回行われていることを前提とする。
【００６８】
図９において、まず、メイン制御モジュール４０２は図５のステップＳ５０１の処理を行う。アプリケーション管理モジュール４０４は、起動処理の実行を完了すると、図５のステップＳ５０２，５０３を行う。メイン制御モジュール４０２は、図５のステップＳ５０４，５０５，５１４を行う。
【００６９】
次いで、メイン制御モジュール４０２は、識別されたアプリが書画台２０３に載置物６０４が載置された際に実行された実行頻度を算出する（ステップＳ９０１）。次いで、メイン制御モジュール４０２は取得された名称及び上記実行頻度をアプリケーション管理モジュール４０４に送信する（ステップＳ９０２）。
【００７０】
アプリケーション管理モジュール４０４は、アプリの名称及び上記実行頻度を受信し（ステップＳ９０３）、当該実行頻度が予め設定された所定の回数以上であるか否かを判別する（ステップＳ９０４）。なお、本実施の形態では、実行頻度として回数ではなく、０％〜１００％で示す割合値を用いてもよい。
【００７１】
ステップＳ９０４の判別の結果、上記実行頻度が所定の回数以上であるとき、アプリケーション管理モジュール４０４は取得された名称に関連付けされたアプリを実行し（ステップＳ９０５）、後述するステップＳ９０８の処理を行う。一方、ステップＳ９０４の判別の結果、上記実行頻度が所定の回数未満であるとき、アプリケーション管理モジュール４０４はユーザにアプリを選択させる表示制御の指示をＵＩモジュール４１６に行う（ステップＳ９０６）。これにより、プロジェクタ２０６は設定ボタン６０５〜６０７を書画台２０３に投影する。その後、アプリケーション管理モジュール４０４は設定ボタン６０５〜６０７のいずれかが選択された旨を示す選択検知通知を受信し、選択された設定ボタンに対応するアプリの実行を開始する（ステップＳ９０７）。すなわち、本実施の形態では、識別されたアプリの実行頻度が所定の回数以上である場合、識別されたアプリが実行され、識別されたアプリの実行頻度が所定の回数未満である場合、ユーザに選択されたアプリが実行される。アプリの実行が開始されると、プロジェクタ２０６が書画台２０３の図１０の領域１００１に、実行されたアプリに関する画像を投影する。また、プロジェクタ２０６が書画台２０３にアプリの切り替えを指示する切替ボタン１００２、及びアプリの中断を指示する中断ボタン１００３を投影する。次いで、アプリケーション管理モジュール４０４はユーザによって切替ボタン１００２が選択されたか否かを判別する（ステップＳ９０８）。
【００７２】
ステップＳ９０８の判別の結果、切替ボタン１００２が選択されたとき、アプリケーション管理モジュール４０４はユーザにアプリを選択させる表示制御の指示をＵＩモジュール４１６に行う。これにより、プロジェクタ２０６は設定ボタン６０５〜６０７を書画台２０３に投影する。その後、アプリケーション管理モジュール４０４は設定ボタン６０５〜６０７のいずれかが選択された旨を示す選択検知通知を受信し、新たに選択された設定ボタンに対応するアプリの実行を開始する（ステップＳ９０９）。その後、アプリケーション管理モジュール４０４はステップＳ９０８の処理に戻る。
【００７３】
ステップＳ９０８の判別の結果、切替ボタン１００２が選択されないとき、アプリケーション管理モジュール４０４はユーザによって中断ボタン１００３が選択されたか否かを判別する（ステップＳ９１０）。
【００７４】
ステップＳ９１０の判別の結果、中断ボタン１００３が選択されたとき、アプリケーション管理モジュール４０４はアプリの中断を示す中断通知をメイン制御モジュール４０２に送信し（ステップＳ９１１）、本処理を終了する。一方、ステップＳ９１０の判別の結果、中断ボタン１００３が選択されないとき、アプリケーション管理モジュール４０４はアプリの実行が完了したか否かを判別する（ステップＳ９１２）。
【００７５】
ステップＳ９１２の判別の結果、アプリの実行が完了しないとき、アプリケーション管理モジュール４０４はステップＳ９０８の処理に戻る。一方、ステップＳ９１２の判別の結果、アプリの実行が完了したとき、アプリケーション管理モジュール４０４はアプリの完了を示す完了通知をメイン制御モジュール４０２に送信し（ステップＳ９１３）、本処理を終了する。
【００７６】
メイン制御モジュール４０２は、アプリケーション管理モジュール４０４から中断通知を受信すると（ステップＳ９１４）、ステップＳ５１４で取得された載置物６０４の外形情報及び実行が中断されたアプリを関連付けない（ステップＳ９１５）。その後、メイン制御モジュール４０２は本処理を終了する。また、メイン制御モジュール４０２は、アプリケーション管理モジュール４０４から完了通知を受信すると（ステップＳ９１６）、ステップＳ５１４で取得された載置物６０４の外形情報及び実行が完了したアプリを関連付けした関連付け情報を生成する。その後、メイン制御モジュール４０２は関連付け情報をＨＤＤ３０４に格納し（ステップＳ９１７）、本処理を終了する。
【００７７】
上述した図９の処理では、インストールされた複数のアプリ４０５〜４０７のうち載置物６０４に関連付けされたアプリが識別され、識別されたアプリの実行頻度が所定の回数以上である場合、識別されたアプリが実行される。ここで、識別されたアプリの実行頻度が所定の回数以上である場合、識別されたアプリが実行されることをユーザが所望している可能性が極めて高い。このような場合、識別されたアプリが実行されると、ユーザの利便性が向上すると考えられる。一方、識別されたアプリの実行頻度が所定の回数未満である場合、ユーザに選択されたアプリが実行される。ここで、識別されたアプリの実行頻度が所定の回数未満である場合、識別されたアプリが実行されることをユーザが所望している可能性が低い。このような場合、識別されたアプリを実行する必要はなく、むしろ、ユーザによって選択されたアプリを実行した方が、ユーザの利便性が向上すると考えられる。これらに対応して、本実施の形態では、識別されたアプリの実行頻度が所定の回数以上である場合、識別されたアプリが実行され、識別されたアプリの実行頻度が所定の回数未満である場合、ユーザに選択されたアプリが実行される。これにより、ユーザの利便性をより向上することができる。
【００７８】
また、上述した図９の処理では、載置物６０４を検知した際に実行が開始されたアプリの実行が完了した場合、載置物６０４及び実行が完了したアプリが関連付けされる。ここで、実行が完了したアプリは、載置物６０４と関連付けて再度実行が所望される可能性が高い。これに対して、本実施の形態では、載置物６０４を検知した際に実行が開始されたアプリの実行が完了した場合、載置物６０４及び実行が完了したアプリが関連付けされる。これにより、載置物６０４に対して再度実行が所望される可能性が高いアプリを確実に関連付けすることができる。
【００７９】
さらに、上述した図９の処理では、載置物６０４を検知した際に実行が開始されたアプリの実行が中断された場合、載置物６０４及び実行が中断されたアプリを関連付けない。ここで、実行が中断されたアプリは、載置物６０４と関連付けて再度実行が所望される可能性が低い。これに対して、本実施の形態では、載置物６０４を検知した際に実行が開始されたアプリの実行が中断された場合、載置物６０４及び実行が中断されたアプリを関連付けない。これにより、載置物６０４に対して再度実行が所望される可能性が低いアプリが関連付けられるのを防止することができる。
【００８０】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８１】
１０１  カメラスキャナ
４０２  メイン制御モジュール
４０４  アプリケーション管理モジュール
４０５〜４０７  アプリ
６０４，８０３  載置物
８０２  ２次元バーコード
【図１】
2017207802.tif 000006
【図２】
2017207802.tif 000007
【図３】
2017207802.tif 000008
【図４】
2017207802.tif 000009
【図５】
2017207802.tif 000010
【図６】
2017207802.tif 000011
【図７】
2017207802.tif 000012
【図８】
2017207802.tif 000013
【図９】
2017207802.tif 000014
【図１０】
2017207802.tif 000015