(57)【要約】【課題】電子端末のデータに基づく画像を簡単に画面に表示可能にすることを課題とする。【解決手段】カメラスキャナ（１０１）は、カメラ部（２０２）により、物体が載置される書画台（２０４）を撮影する。カメラスキャナ（１０１）は、書画台に置かれた電子端末（スマートフォン）の表示画面を撮影した画像から、ＱＲコードを検出して復号することにより、電子端末のＩＰアドレスと画像の識別子とを取得する。カメラスキャナ（１０１）は、ＩＰアドレスを基に電子端末に接続して、画像の識別子を含むデータ転送要求を電子端末に送信し、そのデータ転送要求に応じて電子端末から転送された画像データを受信する。そして、カメラスキャナ（１０１）は、電子端末から転送されたデータを基に生成した画像をプロジェクタ（２０７）により書画台（２０４）に投影表示する。【選択図】図２
2018077673.tif 000002
【特許請求の範囲】
【請求項１】
物体が載置される書画台を撮影する撮影手段と、
前記書画台に置かれた電子端末の表示画面を前記撮影手段が撮影した画像から、所定の符号化方式により生成された符号化画像を検出して復号することにより、前記電子端末に接続するための接続情報と、前記電子端末から転送されるデータの識別子とを取得する取得手段と、
前記接続情報を用いて前記電子端末に接続して、前記識別子を含むデータ転送要求を前記電子端末に送信し、前記データ転送要求に応じて前記電子端末から転送されたデータを受信する通信手段と、
前記電子端末から転送されたデータを基に生成した画像を、前記書画台に表示する表示手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記表示手段は、
前記電子端末を置く位置を示す載置領域の画像を前記書画台に表示し、
前記書画台の前記載置領域とは異なる領域に、前記電子端末から転送されたデータを基に生成した画像を表示することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記書画台のどこに前記電子端末が置かれているかを検知する検知手段を有し、
前記表示手段は、前記転送されたデータから生成した画像を、前記書画台に置かれている前記電子端末の領域とは異なる領域に表示することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記表示手段は、前記転送されたデータから生成した画像を、前記書画台に置かれている前記電子端末の近傍に表示することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記表示手段は、前記書画台に置かれている前記電子端末の近傍に、前記電子端末に関連する情報を表示することを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記検知手段は、前記書画台に置かれた複数の前記電子端末のそれぞれの位置を検知し、
前記表示手段は、前記検知手段により検知された前記複数の電子端末の各位置を基に、各電子端末から転送されたデータを基に生成した各画像を表示する複数の表示領域を、前記書画台の中で重ならないように設定することを特徴とする請求項３乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記検知手段は、前記書画台に置かれた複数の前記電子端末のそれぞれの位置を検知し、
前記表示手段は、前記検知手段により検知された前記複数の電子端末の各位置と、各電子端末から転送されたデータを基に生成して表示された各画像とを結ぶ線分の画像を表示することを特徴とする請求項３乃至５の何れか１項に記載の画像処理装置。
【請求項８】
前記検知手段は、前記書画台に置かれた前記電子端末の向きを検知し、
前記表示手段は、前記転送されたデータを基に生成した画像を、前記書画台に置かれている前記電子端末の向きに合わせて表示することを特徴とする請求項３乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記表示手段は、前記検知手段により前記書画台から前記電子端末が除去されたことが検知された場合、前記転送されたデータから生成した画像を前記書画台の所定の位置に表示することを特徴とする請求項３乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
前記所定の位置は、書画台の中央、又は、前記電子端末が除去された後の書画台の位置であることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記表示手段は、前記書画台に置かれた前記電子端末の表示画面を前記撮影手段が撮影する際には、前記書画台の全面に黒い画像を表示することを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１２】
前記書画台の方向に存在する物体までの距離を求める距離測定手段と、
前記撮影手段にて撮影された画像と前記距離測定手段にて測定された距離とを基に、前記書画台の上で行われたユーザのジェスチャを認識する認識手段と、
前記認識手段にて認識されたユーザのジェスチャに応じて、ユーザインターフェイスの制御を行う制御手段と、を有することを特徴とする請求項１乃至１１の何れか１項に記載の画像処理装置。
【請求項１３】
前記表示手段は、プロジェクタにより前記画像を投影表示することを特徴とする請求項１乃至１２の何れか１項に記載の画像処理装置。
【請求項１４】
物体が載置される書画台を撮影する撮影工程と、
前記書画台に置かれた電子端末の表示画面を前記撮影工程で撮影した画像から、所定の符号化方式により生成された符号化画像を検出して復号することにより、前記電子端末に接続するための接続情報と、前記電子端末から転送されるデータの識別子とを取得する取得工程と、
前記接続情報を用いて前記電子端末に接続して、前記識別子を含むデータ転送要求を前記電子端末に送信し、前記データ転送要求に応じて前記電子端末から転送されたデータを受信する通信工程と、
前記電子端末から転送されたデータを基に生成した画像を、前記書画台に表示する表示工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項１５】
コンピュータを、請求項１乃至１３の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子端末から転送されたデータに基づく表示を行う画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、プロジェクタとカメラや距離画像センサを用いたユーザインターフェイスを有するカメラスキャナに関する技術が開示されている。例えば特許文献１に記載の技術では、プロジェクタによる投影表示を行うことで、紙等の現実の物体上にユーザインターフェイスを重畳して表示させている。このため、ユーザは、現実の物体を電子的データとのインターフェイスとして扱うことが可能となる。
【０００３】
このような技術によれば、紙文書と電子データのどちらも利用するような作業において、作業効率を改善できることが期待される。例えば、この技術を、店員が顧客に対して紙を用いて説明する業務（対面型業務）の支援に適用した場合、物理的な紙文書の上で、顧客へ強調したい部分を指でなぞるだけで、例えば赤線を重畳表示するようなことができる。従来であれば、紙を一度スキャンして電子化する必要があったため、この技術を用いれば効率的な対面型業務の支援が実現可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２１２８９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、前述した技術は、操作対象として、紙等のように、電子データを内包しないものについてのみしか想定されていない。ここで例えば、タブレット端末やスマートフォン等の電子端末を用い、その電子端末に表示しているデータに基づく画像を、カメラスキャナのプロジェクタにより投影表示できれば、より大きな画面を用いた対面業務の支援等が可能になると考えられる。しかしながら、前述の技術では、電子端末に表示しているデータをカメラスキャナのプロジェクタにより投影表示にするようなことを簡単に実現することはできない。
【０００６】
そこで、本発明は、電子端末のデータに基づく画像を簡単に画面に表示可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、物体が載置される書画台を撮影する撮影手段と、前記書画台に置かれた電子端末の表示画面を前記撮影手段が撮影した画像から、所定の符号化方式により生成された符号化画像を検出して復号することにより、前記電子端末に接続するための接続情報と、前記電子端末から転送されるデータの識別子とを取得する取得手段と、前記接続情報を用いて前記電子端末に接続して、前記識別子を含むデータ転送要求を前記電子端末に送信し、前記データ転送要求に応じて前記電子端末から転送されたデータを受信する通信手段と、前記電子端末から転送されたデータを基に生成した画像を、前記書画台に表示する表示手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、電子端末のデータに基づく画像を簡単に画面に表示可能となる。
【図面の簡単な説明】
【０００９】
【図１】カメラスキャナの概略的なネットワーク構成例を示す図である。
【図２】カメラスキャナの概略的な外観例を示す図である。
【図３】カメラスキャナのコントローラ部のハードウェア構成を示す図である。
【図４】カメラスキャナの機能ブロック構成及び制御シーケンスを示す図である。
【図５】物体検知部が実行する処理のフローチャートである。
【図６】スマートフォンのコントローラ部のハードウェア構成を示す図である。
【図７】データ転送処理時のスマートフォンの画面遷移例を示す図である。
【図８】第１の実施形態における書画台上の様子を示す図である。
【図９】スマートフォンとカメラスキャナの転送処理のフローチャートである。
【図１０】第２の実施形態における書画台上の様子を示す図である。
【図１１】第２の実施形態のカメラスキャナの転送処理のフローチャートである。
【図１２】受信データ表示領域決定処理のフローチャートである。
【図１３】受信データ表示領域の決定例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
＜第１の実施形態＞
図１は、本実施形態に係るカメラスキャナ１０１が含まれるネットワーク構成例を示す図である。
図１に示すように、カメラスキャナ１０１は、イーサネット（登録商標）等のネットワーク１０４を介して、ホストコンピュータ１０２、プリンタ１０３、ワイヤレスアクセスポイント１０５に接続されている。また、カメラスキャナ１０１は、ワイヤレスアクセスポイント１０５を介して、電子端末の一例であるスマートフォン１０６にも接続可能となされている。図１のネットワーク構成では、ホストコンピュータ１０２からの指示により、カメラスキャナ１０１が画像を読み取るスキャン機能や、その読み取ったスキャンデータをプリンタ１０３から出力するプリント機能等の実行が可能となされている。また、図１のネットワーク構成では、ホストコンピュータ１０２を介さず、カメラスキャナ１０１への直接の指示により、スキャン機能、プリント機能を実行することも可能となされている。さらに、カメラスキャナ１０１とスマートフォン１０６は、相互にＴＣＰ／ＩＰによるソケット通信が可能となされている。
【００１１】
＜カメラスキャナの構成＞
図２（ａ）と図２（ｂ）は、本実施形態のデータ転送装置の一例であるカメラスキャナ１０１の概略構成例を示す図である。
図２（ａ）に示すように、カメラスキャナ１０１は、コントローラ部２０１、カメラ部２０２、腕部２０３、短焦点プロジェクタ２０７（以下、プロジェクタ２０７とする。）、距離画像センサ部２０８を有して構成されている。カメラスキャナ１０１の本体であるコントローラ部２０１と、撮像を行うためのカメラ部２０２と、プロジェクタ２０７及び距離画像センサ部２０８とは、腕部２０３により連結されている。腕部２０３は、関節を用いて曲げ伸ばしが可能となされている。
【００１２】
また、図２（ａ）には、カメラスキャナ１０１が設置されている書画台２０４も示されている。カメラ部２０２のレンズと距離画像センサ部２０８のレンズは、それぞれ書画台２０４方向に向けられている。カメラ部２０２は、図中の破線で囲まれた読み取り領域２０５を撮像することで、その読み取り領域２０５に置かれた物体や書類等の画像を読み取り可能である。距離画像センサ部２０８は、後述するように、読み取り領域２０５に所定のパターン画像を投影してそれを撮影することにより、距離画像を取得する。図２（ａ）の例では、原稿２０６が読み取り領域２０５内に置かれているので、カメラスキャナ１０１は、その原稿２０６を読み取り可能である。また、書画台２０４にはターンテーブル２０９が設けられている。ターンテーブル２０９は、コントローラ部２０１からの指示により回転可能となされており、ターンテーブル２０９が回転することで、カメラ部２０２から見て、ターンテーブル２０９上に置かれた物体を回転させることが可能となされている。
【００１３】
なお、カメラ部２０２は、単一解像度で画像を撮像するものとしてもよいが、高解像度画像撮像と低解像度画像撮像が可能なものとすることが好ましい。
また、図２には示されていないが、カメラスキャナ１０１は、後述する図３のＬＣＤタッチパネル３３０やスピーカ３４０、外部メモリ３５０等をさらに有していてもよい。
【００１４】
図２（ｂ）は、カメラスキャナ１０１の構成に加え、そのカメラスキャナ１０１における座標系も示されている。カメラスキャナ１０１には、カメラ部２０２のカメラ座標系２２１と、距離画像センサ部２０８の距離画像センサ座標系２２０と、プロジェクタ２０７のプロジェクタ座標系２２２とが、それぞれ定義されている。これら各座標系２２０〜２２２では、カメラ部２０２が撮像する画像平面と、距離画像センサ部２０８の後述する図３のＲＧＢ（赤緑青）カメラ３６３が撮像する画像平面と、プロジェクタ２０７が投影する画像平面とが、ＸＹ平面として定義されている。また、各座標系２２０〜２２２では、そのＸＹ平面（画像平面）に直交する方向が、Ｚ方向として定義されている。さらに、カメラスキャナ１０１では、それら独立した座標系２２０〜２２２の三次元データを統一的に扱えるようにするために、書画台２０４を含む平面をＸＹ平面とし、そのＸＹ平面から上方に垂直な向きをＺ軸とする直交座標系２２３が定義されている。
【００１５】
ここで、図２（ｃ）には、それら座標系を変換する場合の例として、直交座標系２２３と、カメラ部２０２を中心としたカメラ座標系２２１を用いて表現された空間と、カメラ部２０２が撮像するカメラ画像平面２２４との関係を示す。直交座標系２２３における３次元点Ｐ［Ｘ，Ｙ，Ｚ］は、（１）式によって、カメラ座標系２２１における３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］へ変換できる。
［Ｘｃ，Ｙｃ，Ｚｃ］T＝［Ｒｃ｜ｔｃ］［Ｘ，Ｙ，Ｚ，１］T      （１）式
【００１６】
ここで、（１）式のＲｃ及びｔｃは、直交座標系２２３に対するカメラ部２０２の姿勢（回転）と位置（並進）によって求まる外部パラメータによって構成され、以下、Ｒｃを３×３の回転行列、ｔｃを並進ベクトルと呼ぶ。一方、カメラ座標系２２１で定義された３次元点は、（２）式によって、直交座標系２２３へ変換することができる
【数１】
2018077673.tif 000003
【００１７】
さらに、カメラ部２０２で撮影される２次元のカメラ画像平面２２４は、カメラ部２０２によって３次元空間中の３次元情報が２次元情報に変換されたものである。すなわち、カメラ画像平面２２４は、カメラ座標系２２１上での３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］を、（３）式によって２次元座標ｐｃ［ｘｐ，ｙｐ］に透視投影変換することにより、変換されたものである。
λ［ｘｐ，ｙｐ，１］T＝Ａ［Ｘｃ，Ｙｃ，Ｚｃ］T      （３）式
ここで、（３）式のＡは、カメラ部２０２の内部パラメータと呼ばれ、焦点距離と画像中心などで表現される３×３の行列である。
【００１８】
以上のように、（１）式と（３）式を用いることで、直交座標系２２３で表された３次元点群は、カメラ座標系２２１での３次元点群座標やカメラ画像平面２２４に変換される。なお、カメラ部２０２、距離画像センサ部２０８、プロジェクタ２０７の各ハードウェアデバイスの内部パラメータ及び直交座標系２２３に対する位置姿勢（外部パラメータ）は、公知のキャリブレーション手法で予めキャリブレーションされている。以後、特に断りがなく３次元点群と表記した場合は、直交座標系２２３における３次元データを表しているものとする。
【００１９】
＜カメラスキャナのコントローラ部のハードウェア構成＞
図３は、カメラスキャナ１０１の本体であるコントローラ部２０１のハードウェア構成例を示す図である。
図３のコントローラ部２０１は、ＣＰＵ３０２、ＲＡＭ３０３、ＲＯＭ３０４、ＨＤＤ３０５、ネットワークＩ／Ｆ３０６を有する。さらにコントローラ部２０１は、画像処理プロセッサ３０７、カメラＩ／Ｆ３０８、ディスプレイコントローラ３０９、シリアルＩ／Ｆ３１０、オーディオコントローラ３１１及びＵＳＢコントローラ３１２を有する。これら各部は、システムバス３０１により接続されている。
【００２０】
ＣＰＵ３０２は、コントローラ部２０１全体の動作を制御する中央演算装置である。ＲＡＭ３０３は、揮発性メモリである。ＲＯＭ３０４は、不揮発性メモリであり、ＣＰＵ３０２の起動用プログラムが格納されている。ＨＤＤ３０５は、ＲＡＭ３０３と比較して大容量なハードディスクドライブ（ＨＤＤ）である。ＨＤＤ３０５には、コントローラ部２０１の実行する、カメラスキャナ１０１の制御用プログラムが格納されている。
ＣＰＵ３０２は、電源ＯＮ等の起動時、ＲＯＭ３０４に格納されている起動用プログラムを実行する。この起動用プログラムは、ＨＤＤ３０５に格納されている制御用プログラムを読み出し、ＲＡＭ３０３上に展開するためのものである。ＣＰＵ３０２は、起動用プログラムを実行すると、続けてＲＡＭ３０３上に展開した制御用プログラムを実行し、各部の制御を行う。また、ＣＰＵ３０２は、制御用プログラムによる動作に用いるデータもＲＡＭ３０３上に格納して読み書きを行う。ＨＤＤ３０５にはさらに、制御用プログラムによる動作に必要な各種設定データや、カメラ入力により生成されたた画像データ等を格納することができ、これらはＣＰＵ３０２による制御の下で読み書きされる。ＣＰＵ３０２は、ネットワークＩ／Ｆ３０６を介して、図１のネットワーク１０４上の他の機器との間の通信を行う。
【００２１】
画像処理プロセッサ３０７は、ＲＡＭ３０３に格納された画像データを読み出して処理し、またＲＡＭ３０３へ書き戻す。なお、画像処理プロセッサ３０７が実行する画像処理は、回転、変倍、色変換等である。
カメラＩ／Ｆ３０８は、カメラ部２０２及び距離画像センサ部２０８と接続され、ＣＰＵ３０２からの指示に応じてカメラ部２０２から画像データを取得し、距離画像センサ部２０８から距離画像データを取得して、ＲＡＭ３０３へ書き込む。また、カメラＩ／Ｆ３０８は、ＣＰＵ３０２からの制御コマンドをカメラ部２０２及び距離画像センサ部２０８へ送信し、これによりカメラ部２０２及び距離画像センサ部２０８の設定が行われる。
【００２２】
ディスプレイコントローラ３０９は、プロジェクタ２０７及びＬＣＤタッチパネル３３０に接続されている。ディスプレイコントローラ３０９は、ＣＰＵ３０２の指示に応じて、プロジェクタ２０７及びＬＣＤタッチパネル３３０のディスプレイへの画像表示を制御する。
シリアルＩ／Ｆ３１０は、シリアル信号の入出力を行う。ここでは、シリアルＩ／Ｆ３１０は、ターンテーブル２０９に接続され、ＣＰＵ３０２からの回転開始・終了及び回転角度の指示をターンテーブル２０９へ送信する。また、シリアルＩ／Ｆ３１０は、ＬＣＤタッチパネル３３０に接続され、ＣＰＵ３０２は、ＬＣＤタッチパネル３３０がタッチ等されたときに、シリアルＩ／Ｆ３１０を介して、タッチ等された位置の座標を取得する。
オーディオコントローラ３１１は、スピーカ３４０に接続され、ＣＰＵ３０２の指示に応じて音声データをアナログ音声信号に変換し、スピーカ３４０を通じて音声を出力する。
ＵＳＢコントローラ３１２は、ＣＰＵ３０２の指示に応じて外付けのＵＳＢデバイスの制御を行う。ここでは、ＵＳＢコントローラ３１２は、ＵＳＢメモリやＳＤカードなどの外部メモリ３５０に接続され、外部メモリ３５０へのデータの読み書きを行う。
【００２３】
＜カメラスキャナの制御用プログラムの機能構成＞
図４（ａ）は、ＣＰＵ３０２がカメラスキャナ１０１の制御用プログラムを実行することにより形成される機能ブロック構成４０１を示す図である。また、図４（ｂ）は、メイン制御部４０２による制御の下、機能ブロック構成４０１の各モジュール（ソフトウェアモジュール）で行われる処理の流れをシーケンス図として示したものである。なお、カメラスキャナ１０１の制御用プログラムは、前述のようにＨＤＤ３０５に格納され、ＣＰＵ３０２が起動時にＲＡＭ３０３上に展開して実行する。
【００２４】
メイン制御部４０２は、制御の中心であり、機能ブロック構成４０１内の他の各モジュールを図４（ｂ）のシーケンス図に示すような流れで制御する。すなわち、以下に説明する各モジュールの処理は、それぞれメイン制御部４０２により図４（ｂ）のシーケンスに示す流れで制御される。
【００２５】
画像取得部４１６は、画像入力処理を行うモジュールであり、カメラ画像取得部４０７、距離画像取得部４０８を有して構成されている。カメラ画像取得部４０７は、カメラＩ／Ｆ３０８を介して、カメラ部２０２が出力する画像データを取得し、その画像データをＲＡＭ３０３へ格納する。距離画像取得部４０８は、カメラＩ／Ｆ３０８を介して、距離画像センサ部２０８が出力する距離画像データを取得し、その距離画像データをＲＡＭ３０３へ格納する。
【００２６】
認識処理部４１７は、カメラ画像取得部４０７が取得した画像データと距離画像取得部４０８が取得した距離画像データを基に、書画台２０４上の物体の動きを検知して認識するモジュールである。認識処理部４１７は、ジェスチャ認識部４０９、物体検知部４１０を有して構成されている。また図示は省略するが、認識処理部４１７は、原稿領域抽出部、原稿領域変換部、特徴点抽出部、２次元画像原稿輪郭算出部、距離算出部、原稿輪郭算出部をも有して構成されている。原稿領域抽出部は画像データから原稿領域を抽出する。原稿領域変換部は、原稿領域の座標変換等を行う。特徴点抽出部は、原稿領域の画像の特徴点を抽出する。２次元画像原稿輪郭算出部は、原稿領域の２次元画像の輪郭を算出する。距離算出部は、対応する特徴点間の距離を算出する。原稿輪郭算出部は、原稿領域の輪郭を算出する。ジェスチャ認識部４０９は、画像取得部４１６から書画台２０４上の画像を取得し続け、ユーザによるタッチなどのジェスチャを検知するとメイン制御部４０２へ通知する。物体検知部４１０は、メイン制御部４０２から物体載置待ち処理、或いは物体除去待ち処理の通知を受けると、画像取得部４１６から書画台２０４を撮像した画像を取得する。また、物体検知部４１０は、書画台２０４上に物体が置かれて静止するタイミング、或いは物体が取り除かれたタイミングを検知する処理を行う。認識処理部４１７の物体検知部４１０における処理の詳細は、図５（ａ）〜図５（ｄ）を用いてそれぞれ後述する。
【００２７】
スキャン処理部４１８は、実際に対象物のスキャンを行うモジュールであり、平面原稿画像撮影部４１１、書籍画像撮影部４１２、立体形状測定部４１３を有して構成される。平面原稿画像撮影部４１１は平面原稿に、書籍画像撮影部４１２は書籍に、立体形状測定部４１３は立体物に、それぞれ適した処理を実行し、それぞれに応じた形式のデータを出力する。
【００２８】
ユーザインターフェイス部４０３は、ＧＵＩ（グラフィカルユーザインターフェイス）部品生成表示部４１４と投射領域検出部４１５を有して構成される。ＧＵＩ部品生成表示部４１４は、メイン制御部４０２からの要求を受け、メッセージやボタン等のＧＵＩ部品を生成する。そして、表示部４０６へ生成したＧＵＩ部品の表示を要求する。これにより、書画台２０４やその上に置かれた物体に対し、ＧＵＩ部品が重畳表示、つまりユーザインターフェイス画像が重畳表示されることになる。したがって、この場合、ユーザは、書画台２０４の上の現実の物体を、電子的データとのインターフェイスとして扱うことができるようになる。なお、書画台２０４上へのＧＵＩ部品の表示場所は、投射領域検出部４１５により検出される。
【００２９】
表示部４０６は、ディスプレイコントローラ３０９を介して、プロジェクタ２０７若しくはＬＣＤタッチパネル３３０へ、要求されたＧＵＩ部品の表示を行う。プロジェクタ２０７は、書画台２０４に向けて設置されているため、書画台２０４上にＧＵＩ部品を投射表示することが可能となっている。
【００３０】
また、ユーザインターフェイス部４０３は、ジェスチャ認識部４０９が認識したタッチ等のジェスチャ操作、或いはシリアルＩ／Ｆ３１０を介したＬＣＤタッチパネル３３０からの入力操作、さらにそれらの座標を受信する。そして、ユーザインターフェイス部４０３は、描画中の操作画面の内容と操作座標を対応させて、ユーザからの操作内容（押下されたボタン等）を判定する。この操作内容をメイン制御部４０２へ通知することにより、メイン制御部４０２は、ユーザからの操作を受け付ける。
【００３１】
ネットワーク通信部４０４は、ネットワークＩ／Ｆ３０６を介して、ネットワーク１０４上の他の機器とＴＣＰ／ＩＰによる通信を行う。
データ管理部４０５は、制御用プログラムの実行において生成した作業データなど様々なデータをＨＤＤ３０５上の所定の領域へ保存し、管理する。この場合のデータは、例えば、平面原稿画像撮影部４１１、書籍画像撮影部４１２、立体形状測定部４１３が生成したスキャンデータなどである。
データ転送処理部４２０は、ネットワーク通信部４０４を介して接続されるスマートフォン１０６との間のデータ転送処理を行う。データ転送処理の詳細については後述する。
【００３２】
＜距離画像センサ及び距離画像取得部の説明＞
距離画像センサ部２０８は、赤外線によるパターン投射方式の距離画像センサであり、図３に示したように、赤外線パターン投射部３６１、赤外線カメラ３６２、ＲＧＢカメラ３６３を有して構成されている。赤外線パターン投射部３６１は、対象物に対し、人の目には不可視である赤外線によって３次元測定パターンを投射する。赤外線カメラ３６２は、対象物に投射された３次元測定パターンを読みとるカメラである。ＲＧＢカメラ３６３は、人の目に見える可視光をＲＧＢ信号で撮影するカメラである。
【００３３】
なお、本実施形態では、上述したように、距離画像センサ部２０８として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、２つのＲＧＢカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離測定を行うＴＯＦ（Ｔｉｍe  ｏｆ  Ｆｌｉｇｈｔ）方式を用いてもよい。
【００３４】
＜ジェスチャ認識部の説明＞
ジェスチャ認識部４０９の処理の詳細を説明する。
ジェスチャ認識部４０９は、距離画像取得部４０８から距離画像と３次元点群を取得する。続いて、ジェスチャ認識部４０９は、書画台２０４を含む平面から所定の高さ以上にある、肌色の３次元点群を抽出することで、手の３次元点群を得る。続いて、ジェスチャ認識部４０９は、抽出した手の３次元点群を、書画台２０４の平面に射影した２次元画像を生成して、その手の外形を検出する。この時、手の３次元点群の各点が、書画台２０４の平面に投影した２次元画像の各座標のどれに対応するかの対応関係を記憶しておくものとする。続いて、ジェスチャ認識部４０９は、検出した手の外形上の各点について、その点での外形の曲率を算出し、算出した曲率が所定値より小さい点を指先として検出する。続いて、ジェスチャ認識部４０９は、それぞれ検出した指先と書画台２０４を含む平面との距離を、先の対応関係を用いて３次元点群から算出する。算出した距離が微小な所定値以下である場合、ジェスチャ認識部４０９は、タッチジェスチャありと判定し、メイン制御部４０２へ通知する。
【００３５】
なお、指先検出について、ここでは３次元点群から２次元画像に投影した画像から指先を検出する方法を説明したが、指先検出の対象とする画像は、これに限定されるものではない。例えば、距離画像の背景差分や、ＲＧＢ画像の肌色領域から手の領域を抽出し、上に述べたのと同様の方法（外形の曲率計算等）で、手領域のうちの指先を検出してもよい。
【００３６】
＜物体検知部の処理＞
以下、図５（ａ）〜図５（ｄ）のフローチャートを用いて物体検知部４１０の処理を説明する。なお、以下の説明では、図５（ａ）〜図５（ｄ）のフローチャートの各処理のステップＳ８０１〜ステップＳ８３４をそれぞれＳ８０１〜Ｓ８３４と略記する。これらのことは、後述する他のフローチャートにおいても同様とする。
【００３７】
物体検知部４１０は、図５（ａ）のフローチャートの処理を開始すると、Ｓ８０１において、Ｓ８１１〜Ｓ８１３の初期化処理を行う。Ｓ８１１では、物体検知部４１０は、カメラ画像取得部４０７からカメラ画像を、距離画像取得部４０８から距離画像をそれぞれ１フレーム取得する。Ｓ８１２では、物体検知部４１０は、取得したカメラ画像を前フレームカメラ画像として保存する。Ｓ８１３では、物体検知部４１０は、取得したカメラ画像及び距離画像を、書画台背景カメラ画像及び書画台背景距離画像としてそれぞれ保存する。これ以降、「書画台背景カメラ画像」及び「書画台背景距離画像」と記載した場合は、ここで取得したカメラ画像及び距離画像のことを指すとする。Ｓ８１３の後、物体検知部４１０は、Ｓ８０２に処理を進める。
【００３８】
Ｓ８０２では、物体検知部４１０は、物体が書画台２０４上に置かれたことの検知（物体載置検知処理）を行う。この処理の詳細は、図５（ｂ）、図５（ｃ）を用いて後述する。Ｓ８０２の後、物体検知部４１０は、Ｓ８０３に処理を進める。
Ｓ８０３では、物体検知部４１０は、Ｓ８０２で載置を検知した書画台２０４上の物体が除去されることの検知（物体除去検知処理）を行う。この処理の詳細は図５（ｄ）を用いて後述する。Ｓ８０３の後、物体検知部４１０は、図５（ａ）のフローチャートの処理を終了する。
【００３９】
図５（ｂ）は、図５（ａ）のＳ８０２の物体載置検知処理において、一つ目の物体載置における物体載置検知処理の詳細なフローチャートである。図５（ａ）の初期化処理の後や、後述する図５（ｄ）の物体除去検知処理の後は、こちらの処理が行われる。
図５（ｂ）のＳ８２１では、物体検知部４１０は、カメラ画像取得部４０７からカメラ画像と距離画像を１フレーム取得する。Ｓ８２１の後、物体検知部４１０は、Ｓ８２２に処理を進める。
【００４０】
Ｓ８２２では、物体検知部４１０は、取得した距離画像と前フレーム距離画像との差分を計算してその絶対値を合計した差分値を算出することで、書画台までの距離画像（書画台背景距離画像）を求める。Ｓ８２２の後、物体検知部４１０は、Ｓ８２３に処理を進める。
【００４１】
Ｓ８２３では、物体検知部４１０は、算出した差分値が予め決めておいた所定値以上かどうかを判定する。物体検知部４１０は、Ｓ８２３において、算出した差分値が所定値未満であると判定（ＮＯ）した場合、書画台２０４上には物体が無いと判断し、Ｓ８２８に処理を進める。そして、Ｓ８２８では、物体検知部４１０は、現フレームのカメラ画像と距離画像を前フレームカメラ画像と距離画像として保存してからＳ８２１へ戻り処理を続ける。一方、物体検知部４１０は、Ｓ８２３において差分値が所定値以上であると判定（ＹＥＳ）した場合、Ｓ８２４へ処理を進める。そして、Ｓ８２４では、物体検知部４１０は、Ｓ８２１で取得した距離画像と前フレーム距離画像との差分値を、Ｓ８２２と同様に算出する。Ｓ８２４の後、物体検知部４１０は、Ｓ８２５に処理を進める。
【００４２】
Ｓ８２５では、物体検知部４１０は、算出した差分値が予め決めておいた所定値以下であるかどうかを判定する。Ｓ８２５において、物体検知部４１０は、算出した差分値が所定値よりも大きいと判定（ＮＯ）した場合、書画台２０４上の物体が動いていると判断し、Ｓ８２８へ処理を進める。そして、Ｓ８２８において、物体検知部４１０は、現フレームの距離画像を前フレーム距離画像として保存してから、Ｓ８２１へ戻り処理を続ける。一方、Ｓ８２５において、物体検知部４１０は、算出した差分値が所定値以下であると判定（ＹＥＳ）した場合、Ｓ８２６へ処理を進める。
【００４３】
Ｓ８２６では、物体検知部４１０は、Ｓ８２５で連続してＹＥＳと判断された回数から、差分値が所定値以下、つまり書画台２０４上の物体が静止した状態が予め決めておいたフレーム数続いたかどうかを判定する。Ｓ８２６において、物体検知部４１０は、書画台２０４上の物体が静止した状態が予め決めておいたフレーム数続いていないと判定（ＮＯ）した場合にはＳ８２８へ処理を進める。そして、物体検知部４１０は、Ｓ８２８において、現フレームのカメラ画像と距離画像を前フレームカメラ画像と距離画像として保存してから、Ｓ８２１へ戻って処理を続ける。一方、物体検知部４１０は、Ｓ８２６において書画台２０４上の物体が静止した状態が予め決めておいたフレーム数続いたと判定（ＹＥＳ）した場合、Ｓ８２７へ処理を進める。
【００４４】
Ｓ８２７では、物体検知部４１０は、最新フレームと書画台背景距離画像との差分画像を算出し、ラベリング処理をかける。そして、物体検知部４１０は、所定以上の画素を有するラベルを物体が置かれた領域と判断し、そのラベルの画素を内包する矩形領域を、置かれた物体の物体載置領域情報として記録する。なお、所定以上の画素を有するラベルが複数あった場合、物体検知部４１０は、複数の物体が置かれたと判断し、それぞれ個別に物体載置領域情報を記録する。Ｓ８２７の後、物体検知部４１０は、Ｓ８２９に処理を進める。
【００４５】
Ｓ８２９では、物体検知部４１０は、現フレーム距離画像を「前回物体載置時距離画像」として保存する。その後、物体検知部４１０は、Ｓ８３０において、物体載置領域情報とともに物体が置かれたことをメイン制御部４０２へ通知（物体載置通知）し、図５（ｂ）の物体載置検知処理を終了する。
【００４６】
図５（ｃ）は、図５（ａ）のＳ８０２の物体載置検知処理における二つ目以降の物体載置における物体載置検知処理の詳細なフローチャートである。図５（ｃ）において、図５（ｂ）と同じ処理については同じ参照番号を付して、その説明は省略する。
図５（ｃ）のＳ８２１の後、物体検知部４１０は、Ｓ８４１に処理を進める。Ｓ８４１では、物体検知部４１０は、取得した距離画像と「前回物体載置時距離画像」との差分を計算してその絶対値を合計した差分値を算出する。Ｓ８４１の後、物体検知部４１０は、Ｓ８４２に処理を進める。
【００４７】
Ｓ８４２では、物体検知部４１０は、算出した差分値が予め決めておいた所定値以上かどうかを判定する。Ｓ８２４において、物体検知部４１０は、算出した差分値が所定値未満であると判定（ＮＯ）した場合、新しい物体が写りこんでいないと判断し、Ｓ８２８に処理を進める。一方、物体検知部４１０は、Ｓ８４２において差分値が所定値以上であると判定（ＹＥＳ）した場合には、新しい物体が写りこんでいると判断し、Ｓ８２４に処理を進める。
【００４８】
また、図５（ｃ）のＳ８２６において、差分値が所定値以下となるフレームが所定フレーム数続いたと判断（ＹＥＳ）した場合、物体検知部４１０は、図５（ｃ）のＳ８４７に処理を進める。Ｓ８４７では、物体検知部４１０は、最新フレームと「前回物体載置時距離画像」との差分画像を算出し、ラベリング処理をかける。なお、ラベリング結果に対しては、Ｓ８２７と同様の処理が行われる。Ｓ８４７の後、物体検知部４１０は、前述したＳ８２９に処理を進める。
【００４９】
図５（ｄ）は、図５（ａ）のＳ８０３の物体除去検知処理の詳細なフローチャートである。
物体検知部４１０は、物体除去検知処理を開始すると、図５（ｄ）のＳ８３１において、距離画像取得部４０８から距離画像を１フレーム取得する。Ｓ８３１の後、物体検知部４１０は、Ｓ８３２に処理を進める。
Ｓ８３２では、物体検知部４１０は、取得した距離画像と書画台背景距離画像との差分値を算出する。Ｓ８３２の後、物体検知部４１０は、Ｓ８３３に処理を進める。
【００５０】
Ｓ８３３では、物体検知部４１０は、算出した差分値が予め決めておいた所定値以下かどうかを判定する。Ｓ８３３において、物体検知部４１０は、算出した差分値が予め決めておいた所定値よりも大きいと判定（ＮＯ）した場合、書画台２０４上にはまだ物体が存在するため、Ｓ８３１へ戻って処理を続ける。一方、Ｓ８３３において、物体検知部４１０は、算出した差分値が予め決めておいた所定値以下であれると判定（ＹＥＳ）した場合には、Ｓ８３４に処理を進める。そして、Ｓ８３４では、物体検知部４１０は、書画台２０４上の物体が無くなったため、物体除去をメイン制御部４０２へ通知（物体除去通知）し、図５（ｃ）の物体除去検知処理を終了する。
【００５１】
＜スマートフォンのコントローラのハードウェア構成＞
図６は、図１のスマートフォン１０６の本体であるコントローラ部８０１の概略的なハードウェア構成例を示す図である。
図６のコントローラ部８０１は、ＣＰＵ９０２、ＲＡＭ９０３、ＲＯＭ９０４、フラッシュメモリ９０５、ネットワークＩ／Ｆ９０６、ディスプレイコントローラ９０９、シリアルＩ／Ｆ９１０を有する。これら各部はシステムバス９０１に接続されている。
【００５２】
ＣＰＵ９０２は、コントローラ部８０１全体の動作を制御する中央演算装置である。ＲＡＭ９０３は、揮発性メモリである。ＲＯＭ９０４は、不揮発性メモリであり、ＣＰＵ９０２の起動用プログラムが格納されている。フラッシュメモリ９０５は、ＲＯＭ９０４と比較して大容量の不揮発性メモリである。フラッシュメモリ９０５には、コントローラ部８０１の実行する、スマートフォン１０６の制御用プログラムが格納されている。
【００５３】
また、ＣＰＵ９０２は、電源ＯＮ等の起動時、ＲＯＭ９０４に格納されている起動用プログラムを実行する。この起動用プログラムは、フラッシュメモリ９０５に格納されている制御用プログラムを読み出し、ＲＡＭ９０３上に展開するためのものである。ＣＰＵ９０２は、起動用プログラムを実行すると、続けてＲＡＭ９０３上に展開した制御用プログラムを実行し、各部の制御を行う。また、ＣＰＵ９０２は、制御用プログラムによる動作に用いるデータもＲＡＭ９０３上に格納して読み書きを行う。フラッシュメモリ９０５にはさらに、制御用プログラムによる動作に必要な各種設定や画像データの各種データを格納することができ、これらがＣＰＵ９０２によって読み書きされる。ＣＰＵ９０２は、ネットワークＩ／Ｆ９０６を介してネットワーク１０４上の他の機器との通信を行う。
【００５４】
ディスプレイコントローラ９０９は、ＬＣＤタッチパネル９９０のディスプレイに接続されている。ディスプレイコントローラ９０９は、ＣＰＵ９０２の指示に応じて、ＬＣＤタッチパネル９９０のディスプレイへの画像表示を制御する。
シリアルＩ／Ｆ９１０は、シリアル信号の入出力を行う。ここでは、シリアルＩ／Ｆ９１０はＬＣＤタッチパネル９９０に接続され、ＣＰＵ９０２はＬＣＤタッチパネル９９０が押下されたときに、シリアルＩ／Ｆ９１０を介して押下された座標を取得する。
【００５５】
＜スマートフォンとカメラスキャナとによるデータ転送時の具体例＞
以下、図７（ａ）〜図７（ｇ）、図８（ａ）〜図８（ｈ）、図９（ａ）と図９（ｂ）を用いて、スマートフォン１０６から画像データをカメラスキャナ１０１に転送して表示する際の具体例について説明する。
図７（ａ）〜図７（ｇ）は、データ転送処理が行われる際のスマートフォン１０６の画面遷移例を示した図である。
図８（ａ）〜図８（ｈ）は、データ転送処理が行われる際のカメラスキャナ１０１の書画台２０４上の様子、すなわちプロジェクタ２０７による投影画像と、書画台２０４に物理的に置かれた物体を同時に示した図である。
【００５６】
図８（ａ）は、カメラスキャナ１０１の起動直後にプロジェクタ２０７により書画台２０４に投影表示される画面例を示す図である。図８（ａ）の起動直後の投影画面には、カメラスキャナ１０１でスキャンを行う際にユーザが操作するスキャンボタン１１０１と、スマートフォン１０６から転送された画像を表示する際にユーザが操作するスマートフォンデータ表示ボタン１１０２が表示される。スマートフォン１０６からカメラスキャナ１０１へ画像を転送する処理は、図８（ａ）のカメラスキャナ１０１の投影画面上で、ユーザによりスマートフォンデータ表示ボタン１１０２が操作されたときに開始する。すなわち、カメラスキャナ１０１のメイン制御部４０２は、このユーザ操作をトリガーにして、後述する図９（ｂ）の処理フローを開始する。
【００５７】
また、スマートフォン１０６のＣＰＵ９０２は、ユーザにより以下のような操作がなされた場合、画像転送の処理を開始する。
先ず、ユーザにより、画像転送用のホーム画面を表示させる操作指示が入力されると、スマートフォン１０６のＣＰＵ９０２は、図７（ａ）に示すようなホーム画面をディスプレイに表示させ、続いて、画像ビューアーアプリケーションソフトウェアを起動する。以下、アプリケーションソフトウェアは単にアプリと表記する。
さらに、ＣＰＵ９０２は、ディスプレイコントローラ９０９を介して、ＬＣＤタッチパネル９９０のディスプレイ画面上に、図７（ｂ）に示すようなサムネイル画像一覧を表示させる。なお、これ以降は説明を省略するが、ＬＣＤタッチパネル９９０のディスプレイ画面上への表示は、ディスプレイコントローラ９０９を介して、ＣＰＵ９０２による制御の下で行われる。
【００５８】
図７（ｂ）のサムネイル画像一覧の中から、転送する画像のサムネイル画像１００２がユーザにより選択されると、ＣＰＵ９０２は、図７（ｃ）のように、その選択されたサムネイル画像１００２の元画像１００３を画面全体に表示する。またこの時、ＣＰＵ９０２は「共有」ボタン１００４をも表示させる。なお、以下、説明は省略するが、画面上でのユーザによる選択は、ＬＣＤタッチパネル９９０へのタッチ操作等を介して行われる。ＣＰＵ９０２は、このＬＣＤタッチパネル９９０に対するユーザの操作情報を基に、ユーザによりどのような選択が行われたかを認識する。
【００５９】
そして、ユーザにより共有ボタン１００４が選択されると、ＣＰＵ９０２は、図７（ｄ）に示すような共有可能アプリ一覧を表示させる。このとき、ＣＰＵ９０２は、事前にフラッシュメモリ９０５に格納されている画像転送用アプリを、共有可能アプリ一覧に表示する。画像転送用アプリは、後述する図９（ａ）の処理を実行するアプリである。
【００６０】
続いて、図７（ｄ）の共有可能アプリ一覧の中から、ユーザにより例えばカメラスキャナアプリの項目１００５が選択されると、ＣＰＵ９０２は、後述する図９（ａ）の処理フローを開始する。その後は、ユーザにより、スマートフォン１０６が、書画台２０４の後述するスマートフォン載置領域１１０３に置かれることになる。
【００６１】
図９（ａ）は、スマートフォン１０６におけるデータ転送処理のフローチャートである。この図９（ａ）のフローチャートの処理は、スマートフォン１０６のＣＰＵ９０２によって実行され、ユーザにより、図７（ｄ）の共有可能アプリ一覧の中からカメラスキャナアプリの項目１００５が選択されたタイミングで開始される。
【００６２】
図９（ａ）のＳ１２０１では、ＣＰＵ９０２は、先ず送信する写真（これは図７（ｂ）で選択された画像である）に対してユニークな識別子を設定し、それをＲＡＭ９０３に記憶させる。また、ＣＰＵ９０２は、その写真の識別子と、外部機器（この場合はカメラスキャナ１０１）がスマートフォン（１０６）に接続するために必要な接続情報と、を含むデータ転送情報を、所定の符号化方式により符号化して符号化画像を生成する。本実施形態では、接続情報としてスマートフォン１０６のＩＰアドレスを用いる。より具体的には、ＣＰＵ９０２は、「＜送信する写真の識別子＞：＜スマートフォン１０６のＩＰアドレス＞」のフォーマットで記述された文字列（例えば１：１９２．２６８．０．１）を、データ転送情報として生成する。そして、ＣＰＵ９０２は、そのデータ転送情報の文字列を、所定の符号化方式による符号化画像の一例として、ＱＲコード（登録商標）にエンコードする。さらに、ＣＰＵ９０２は、そのＱＲコードの画像を、図７（ｅ）に示すようにＬＣＤタッチパネル９９０のディスプレイに表示させる。その後、書画台２０４に置かれたスマートフォン１０６のＬＣＤタッチパネル９９０のディスプレイに表示されたＱＲコードは、カメラスキャナ１０１によって撮影されてデコード（復号）され、これにより、カメラスキャナ１０１はデータ転送情報を取得できる。なお、データ転送情報は、カメラスキャナ１０１が検出（デコード）可能であれば、ＱＲコードでなく別の方式によりエンコードされてもよい。また、データ転送情報のうち写真の識別子は、ここでは簡単化のため一桁の番号としたが、別の表現方法による情報となされてもよい。なお、識別子が短い場合、例えば第三者が識別子を総当たりでアクセスすることなどにより、ユーザがカメラスキャナに転送するつもりのデータが第三者に取得されてしまう可能性がある。このため、識別子は、セキュリティ観点から十分長い識別子名であることが望ましい。Ｓ１２０１の後、ＣＰＵ９０２は、Ｓ１２０２に処理を進める。
【００６３】
Ｓ１２０２では、ＣＰＵ９０２は、所定のポート（例えば１２３４５）にてソケットを開き、接続待ち状態にする。その後、このポートにおいて、後述する図９（ｂ）のＳ１２２７で送信される「ＳＥＮＤＲＥＱ：＜写真の識別子＞」のフォーマットのデータ転送要求が受信された場合、ＣＰＵ９０２は、「ＡＣＫ」を返送してＳ１２０３に処理を進める。
【００６４】
Ｓ１２０３では、ＣＰＵ９０２は、Ｓ１２０２で受信したデータ転送要求に含まれる写真の識別子と、Ｓ１２０１で設定した写真の識別子とを比較する。そして、ＣＰＵ９０２は、それら識別子が一致した場合、写真のデータの転送を開始させるとともに、図７（ｆ）に示すようなデータ転送中である旨を示す画面を表示させる。その後、データ転送が完了したならば、ＣＰＵ９０２は、Ｓ１２０４に処理を進める。
Ｓ１２０４では、ＣＰＵ９０２は、図７（ｇ）に示すような、データ転送が完了した旨を示す画面をディスプレイに表示させる。
【００６５】
図９（ｂ）は、カメラスキャナ１０１におけるデータ転送処理のフローチャートである。このデータ転送処理フローは、カメラスキャナ１０１のメイン制御部４０２が各部を制御することにより実行され、前述した図５（ａ）のＳ８０１の初期化処理が終わったタイミングで開始される。
【００６６】
図９（ｂ）のＳ１２２１では、メイン制御部４０２は、スマートフォン１０６を書画台２０４に載置するようにユーザに促す画面を、プロジェクタ２０７により投影表示させる。具体的には、書画台２０４には、図８（ｂ）に示すような画面が投影表示される。図８（ｂ）に示す画面には、スマートフォン載置領域１１０３が含まれる。なお、以下、説明は省略するが、書画台２０４への投影表示は、ユーザインターフェイス部４０３及び表示部４０６を介して、メイン制御部４０２による制御の下で行われる。Ｓ１２２１の後、メイン制御部４０２は、Ｓ１２２２に処理を進める。
【００６７】
Ｓ１２２２では、メイン制御部４０２は、物体検知部４１０による物体検知処理を開始させる。Ｓ１２２２の後、メイン制御部４０２は、Ｓ１２２３に処理を進める。
Ｓ１２２３では、メイン制御部４０２は、書画台２０４上に物体が載置されたことを物体検知部４１０が検知し、物体検知部４１０からその旨の通知を受け取るまで待機する。そして、Ｓ１２２３において、物体載置の検知通知を受け取ると、メイン制御部４０２は、Ｓ１２２４に処理を進める。なお、本実施形態の場合、この時点で、書画台２０４の状態は、図８（ｃ）に示すような状態となる。すなわち、書画台２０４は、画面上にＱＲコードが表示されたスマートフォン１０６が置かれた状態となる。
【００６８】
Ｓ１２２４では、メイン制御部４０２は、カメラ画像取得部４０７からカメラ画像を取得し、物体載置領域情報を元に、カメラ画像から、物体が置かれた領域を切り出して、その切り出された領域内に写っているＱＲコードを、公知の方法でデコードする。なお、カメラ画像を取得する際は、ＧＵＩ部品の表示の映り込みがＱＲコード検出精度の低下要因にならないよう、事前に書画台２０４の全面に黒い画像を表示し（画面全体を黒く塗りつぶして）、カメラ画像を取得した後に元の表示に戻すようにしてもよい。Ｓ１２２４の後、メイン制御部４０２は、Ｓ１２２５に処理を進める。
【００６９】
Ｓ１２２５では、メイン制御部４０２は、ＱＲコードをデコードした結果、「＜写真の識別子＞：＜ＩＰアドレス＞」のフォーマットの情報（例えばテキスト情報）を取得できたかどうかを調べる。そして、Ｓ１２２５において、メイン制御部４０２は、「＜写真の識別子＞：＜ＩＰアドレス＞」の情報が取得できたと判断（ＹＥＳ）した場合、Ｓ１２２７に処理を進める。一方、Ｓ１２２５において、メイン制御部４０２は、「＜写真の識別子＞：＜ＩＰアドレス＞」の情報が取得できなかったと判断（ＮＯ）した場合、Ｓ１２２６に処理を進める。
【００７０】
Ｓ１２２６では、メイン制御部４０２は、スマートフォンアプリの操作を促すエラー画面を投影表示させる。この時点で書画台２０４の状態は、図８（ｇ）に示すような状態となる。Ｓ１２２６の後、メイン制御部４０２は、Ｓ１２２３に処理を戻す。
Ｓ１２２７の処理は、メイン制御部４０２による制御の下、データ転送処理部４２０により行われる。データ転送処理部４２０は、Ｓ１２２７において、Ｓ１２２４で得られたＩＰアドレスの所定のポート（例えば１２３４５）へ、「ＳＥＮＤＲＥＱ：＜写真の識別子＞」のフォーマットのデータ転送要求を行う。ここで送る写真の識別子は、Ｓ１２２４で得られたものである。Ｓ１２２７の後、データ転送処理部４２０は、Ｓ１２２８に処理を進める。
【００７１】
Ｓ１２２８では、データ転送処理部４２０は、スマートフォン１０６から「ＡＣＫ」の返送があったか否かを判断する。そして、Ｓ１２２８において、データ転送処理部４２０が、スマートフォン１０６から「ＡＣＫ」の返送があったと判断（ＹＥＳ）した場合、メイン制御部４０２はＳ１２３０に処理を進める。一方、Ｓ１２２８において、データ転送処理部４２０が、スマートフォン１０６から「ＡＣＫ」の返送がないと判断（ＮＯ）した場合、メイン制御部４０２は、Ｓ１２２９に処理を進める。
【００７２】
Ｓ１２２９では、メイン制御部４０２は、ネットワーク環境の確認を促すエラー画面を投影表示させる。この時点で書画台２０４の状態は、図８（ｈ）に示すような状態となる。Ｓ１２２９の後、メイン制御部４０２は、Ｓ１２２３に処理を戻す。
一方、Ｓ１２３０では、メイン制御部４０２は、データを受信していることをユーザに伝えるデータ受信開始画面を投影表示させる。この時点で書画台２０４の状態は、図８（ｄ）に示す状態となる。Ｓ１２３０の後、メイン制御部４０２は、Ｓ１２３１に処理を進める。
【００７３】
Ｓ１２３１の処理は、メイン制御部４０２による制御の下、データ転送処理部４２０により行われる。Ｓ１２３１では、データ転送処理部４２０は、スマートフォン１０６から送信されてきているデータの受信が完了するまでデータ受信処理を続ける。そして、データ転送処理部４２０は、スマートフォン１０６から送信されたデータの受信が完了（データ転送が完了）すると、その旨をメイン制御部４０２に通知し、メイン制御部４０２はＳ１２３２に処理を進める。
【００７４】
Ｓ１２３２では、メイン制御部４０２は、データ転送が完了したことをユーザに伝えるデータ転送完了画面を投影表示させる。このとき投影表示される画面には、スマートフォン１０６から受信した写真の画像１００３が表示される。ここで、メイン制御部４０２は、Ｓ１２３２の処理が行われる以前に、物体検知部４１０より書画台２０４から物体が除去された旨の通知を受け取っていない場合には、写真の画像１００３を、スマートフォン載置領域１１０３とは異なる領域に表示させる。このときの書画台２０４は、図８（ｅ）の状態となり、写真の画像１００３は例えば画面上部に表示されている。一方、Ｓ１２３２の処理が行われる以前に、物体検知部４１０より書画台２０４から物体が除去された旨の通知を受け取っていた場合、メイン制御部４０２は、写真の画像１００３を例えば画面中央に表示させる。またこの時、メイン制御部４０２は、ユーザから、画面表示の終了を受け付けるための終了ボタン１１０４をも表示させる。このときの書画台２０４は、図８（ｆ）の状態となる。終了ボタン１１０４は、スマートフォン１０６から転送されたデータを表示させるデータ表示アプリの終了を、ユーザが指示する際に操作されるボタンである。そして、終了ボタン１１０４がユーザにより押された場合、メイン制御部４０２は、初期画面（図８（ａ））に戻す。
【００７５】
以上説明したように、第１の実施形態によれば、ユーザは、少ない操作で、スマートフォン１０６からカメラスキャナ１０１へデータ転送を行わせることができる。特に、ユーザが既に画像をスマートフォン１０６の画面上で見ていて「この画像をカメラスキャナに転送したい」と考えた状況からの操作開始を考えると、ユーザの必要な操作は、以下の操作のみでよい。
図７（ｃ）の状態から共有ボタン１００４を押す。
図７（ｄ）の状態からカメラスキャナの項目１００５を選択する。
図８（ａ）でスマートフォンデータ表示ボタン１１０２を押す。
図８（ｂ）の状態でスマートフォンを書画台２０４に置く。
【００７６】
なお、転送されるデータは、前述の例では写真のデータとしたが、写真に限らず動画やテキストのデータでもよい。また、第１の実施形態では、カメラスキャナ１０１側でスマートフォンデータ表示ボタン１１０２を押すという操作が必要であったが、これを省略してもよい。また、カメラスキャナ１０１は常にＱＲコードを認識するように構成されていてもよい。これにより、上述したユーザの必要な操作のうち「図８（ａ）でスマートフォンデータ表示ボタン１１０２を押す」の操作は不要となる。
【００７７】
＜第２の実施形態＞
第１の実施形態ではカメラスキャナ１０１と１台のスマートフォン１０６との間で通信が行われる例を挙げたが、第２の実施形態ではカメラスキャナ１０１と複数台のスマートフォン１０６との間で通信が行われる例を挙げる。なお、カメラスキャナ１０１と各スマートフォン１０６の構成は前述同様であるため、その図示と説明は省略する。
【００７８】
以下、図１０（ａ）〜図１０（ｋ）と図１１を用いて、第２の実施形態におけるデータ転送処理について説明する。
図１０は、第２の実施形態においてデータ転送処理が行われる際のカメラスキャナ１０１の書画台２０４上の様子を示す図である。第２の実施形態の場合、ユーザは、前述の図８（ａ）と同様の、図１０（ａ）に示す初期表示画面においてスマートフォンデータ表示ボタン１１０２を押す必要はない。ここで、ユーザは、例えばスキャンボタン１１０１を押した（選択した）とする。このようにユーザによりスキャンボタン１１０１が選択されると、カメラスキャナ１０１は、スキャンアプリを起動して、図１０（ｂ）に示すスキャンアプリ画面を表示する。なお、以下のデータ転送処理の実現には、スキャンアプリを起動する必要があるわけではなく、スキャンボタン１１０１等が選択される前の初期画面のままであってもよい。
【００７９】
図１１は、第２の実施形態におけるカメラスキャナ１０１のデータ転送処理のフローチャートである。この図１１のデータ転送処理フローは、カメラスキャナ１０１のメイン制御部４０２が各部を制御することにより実行され、カメラスキャナ１０１の起動が完了した時点で開始される。なお、図１１のフローチャートにおいて、前述した図９（ｂ）と同じ処理については同じ参照番号を付して、それらの説明は省略する。また、スマートフォン１０６側の処理は、前述した第１の実施形態で説明した処理と同様であるため、その説明も省略する。
図１１のフローチャートの場合、メイン制御部４０２は、Ｓ１２２２の後、Ｓ１２２３に処理を進める。そして、Ｓ１２２４の後、メイン制御部４０２は、Ｓ１４２５に処理を進める。
【００８０】
Ｓ１４２５では、メイン制御部４０２は、Ｓ１２２４でＱＲコードをデコードした結果、「＜写真の識別子＞：＜ＩＰアドレス＞」のフォーマットのデータ（テキストデータ）が取得されたかどうかを判断する。Ｓ１２４５において、メイン制御部４０２は、「＜写真の識別子＞：＜ＩＰアドレス＞」のデータが取得されたと判断（ＹＥＳ）した場合には、Ｓ１６０１に処理を進める。一方、メイン制御部４０２は、「＜写真の識別子＞：＜ＩＰアドレス＞」のデータが取得されていないと判断（ＮＯ）した場合には、Ｓ１２２３に処理を戻す。また、メイン制御部４０２は、Ｓ１２４４においてＱＲコードそのものが検出されなかったために、Ｓ１２４５で「＜写真の識別子＞：＜ＩＰアドレス＞」のデータを取得できなかった場合にもＳ１２２３に処理を戻す。すなわち、前述の第１の実施形態では、「＜写真の識別子＞：＜ＩＰアドレス＞」のデータが取得されていない場合、Ｓ１２２５でエラー表示がなされたが、第２の実施形態の場合は、エラー表示は行わない。これは、エラーを表示してしまうと、単に紙原稿をスキャンしたい時など、スマートフォン以外の物を置いたとき常にエラーが表示されてしまうためである。
【００８１】
Ｓ１６０１では、メイン制御部４０２は、後述する受信データ表示領域決定処理を行う。この受信データ表示領域決定処理は、書画台２０４に置かれたスマートフォン１０６に関連するデータやメッセージを表示する受信データ表示領域を決定する処理である。受信データ表示領域は、図１０（ｄ）〜図１０（ｋ）の図中破線の矩形領域（例えば図１０（ｄ）の受信データ表示領域１５０１）として表される領域である。Ｓ１６０１の後、メイン制御部４０２は、Ｓ１６０２に処理を進める。
【００８２】
Ｓ１６０２では、メイン制御部４０２は、Ｓ１６０１で受信データ表示領域を確保できたかどうかを判断する。Ｓ１６０２において、メイン制御部４０２は、受信データ表示領域を確保できなかったと判断（ＮＯ）した場合にはＳ１２２３に処理を戻す。一方、メイン制御部４０２は、受信データ表示領域を確保できたと判断（ＹＥＳ）した場合には、Ｓ１２２７に処理を進める。
その後、図１１のＳ１２２８まで処理が進み、Ｓ１２２８において、スマートフォン１０６から「ＡＣＫ」の返送があったと判断（ＹＥＳ）した場合、メイン制御部４０２は、Ｓ１６３０に処理を進める。一方、メイン制御部４０２は、「ＡＣＫ」の返送がないと判断（ＮＯ）した場合はＳ１６２９に処理を進める。
【００８３】
Ｓ１６２９では、メイン制御部４０２は、ネットワーク環境の確認を促すエラー画面を、Ｓ１６０１で取得した受信データ表示領域へ表示する。その後、メイン制御部４０２は、Ｓ１２２３に処理を戻す。
一方、Ｓ１６３０では、メイン制御部４０２は、図１０（ｄ）に示すように、データを受信していることをユーザに伝えるデータ受信開始メッセージを、ステップ１６０１で決定した受信データ表示領域１５０１へ表示する。また、メイン制御部４０２は、終了ボタン１１０４を表示している場合は、データ受信開始メッセージを非表示にする。Ｓ１６３０の後、メイン制御部４０２は、Ｓ１２３１に処理を進める。
そして、Ｓ１２３１において、メイン制御部４０２は、データ転送処理部４２０からデータ転送が完了したことの通知を受け取ると、Ｓ１６３２に処理を進める。
【００８４】
Ｓ１６３２では、メイン制御部４０２は、データ転送が完了したことをユーザに伝えるデータ転送完了画面を投影表示させる。このとき、メイン制御部４０２は、Ｓ１２２４で得たＱＲコードの向きと、表示する写真の向きとが一致するように投影表示させる。これにより、スマートフォン１０６を置いたユーザから見て、写真が正しい方向に表示されることになる。また、この画面には、受信した写真を表示するとともに表示の終了を受け付けるための終了ボタン１１０４が配される。終了ボタン１１０４は、第１の実施形態で説明したのと同様に、データ転送完了画面の終了をユーザが指示する際に選択されるボタンである。この終了ボタン１１０４が押された場合、メイン制御部４０２は、最初にＳ１２３０で表示したデータ受信開始画面の前に表示していた画面に戻す。また、メイン制御部４０２は、設定された受信データ表示領域を全てクリアする。なお、終了ボタン１１０４は、受信データ表示領域ごとに一つではなく、画面全体で一つ表示される。Ｓ１６３２の後、メイン制御部４０２は、Ｓ１４３３に処理を進める。
【００８５】
Ｓ１４３３では、メイン制御部４０２は、システム全体のシャットダウンがユーザによってリクエストされたかどうかを判断する。Ｓ１４３３において、メイン制御部４０２は、シャットダウンのリクエストがあったと判断（ＹＥＳ）した場合には図１１のフローチャートの処理を終了し、システムのシャットダウンを実行する。一方、メイン制御部４０２は、シャットダウンのリクエストがないと判断（ＮＯ）した場合には、Ｓ１２２３に処理を戻す。すなわち、第２の実施形態におけるデータ転送処理は、システム全体がシャットダウンされるまでは繰り返し実行される。
【００８６】
なお、ここではわかりやすさのため全て同期処理で説明したが、実際にはデータの受信には時間がかかるため、複数台のスマートフォンからのデータ受信を同時に行うために、Ｓ１２３１及びＳ１６３２は非同期で処理される。すなわち、Ｓ１６３０の処理が実行された後、Ｓ１４３３の処理へ移行するとともに、非同期でＳ１２３１及びＳ１６３２の処理が順に実行される。また、Ｓ１２２３において複数の物体が同時に検出された場合は、Ｓ１２２４以降の処理はそれぞれの物体領域毎に行われる。
【００８７】
以下、第２の実施形態におけるデータ転送処理の各ステップの処理と書画台２０４の状態との関係について説明する。
先ず、例えば図１０（ｃ）に示すように、一つ目のスマートフォン１０６が、書画台２０４に置かれたとする。第２の実施形態において、図１１のＳ１６３０の処理の時点で、書画台２０４の状態は、図１０（ｄ）の状態となる。この図１０（ｄ）のように、一つ目のスマートフォン１０６に関する表示は、受信データ表示領域１５０１内に表示される。
また、図１１のＳ１６２９の処理の時点で、書画台２０４の状態は、図１０（ｋ）の状態となる。
さらに、図１１のＳ１６３２の処理の時点で、Ｓ１６３２の処理が行われる以前に、メイン制御部４０２が物体検知部４１０より物体除去通知を受け取っていない場合、書画台２０４の状態は、図１０（ｅ）の状態となる。一方、メイン制御部４０２が物体検知部４１０より物体除去通知を受け取った場合、書画台２０４の状態は、図１０（ｆ）の状態となる。
【００８８】
続いて、一つ目のスマートフォン１０６が置かれた状態のまま、図１１のＳ１２２３で図１０（ｇ）のように、二つ目のスマートフォンが書画台２０４に置かれたとする。この場合、二回目のＳ１６３０の処理の時点で、書画台２０４の状態は、図１０（ｈ）の状態となる。
さらに、二回目のＳ１６３２の処理の時点で、Ｓ１６３２の処理が行われる以前に、メイン制御部４０２が物体検知部４１０より物体除去通知を受け取っていない場合、書画台２０４の状態は、図１０（ｉ）の状態となる。一方、メイン制御部４０２が物体検知部４１０より物体除去通知を受け取っている場合、書画台２０４の状態は、図１０（ｊ）の状態となる。
【００８９】
図１２は、図１１のＳ１６０１の受信データ表示領域決定処理の詳細なフローチャートである。
図１２のＳ１７０１では、メイン制御部４０２は、物体載置領域情報を得る。Ｓ１７０１の後、メイン制御部４０２は、Ｓ１７０２に処理を進める。
Ｓ１７０２では、メイン制御部４０２は、先ず物体載置領域を内包する所定の大きさの長方形領域を、物体載置領域を基準に上方向に長い長方形、右方向に長い長方形、下方向に長い長方形、左方向に長い長方形にそれぞれ設定する。そしてこの順番でそれぞれの長方形領域が表示領域全体からはみ出ないか、また他の既に設定された受信データ表示領域と重ならないかを調べることで、空き領域が存在するか調べる。Ｓ１７０２の後、メイン制御部４０２は、Ｓ１７０３に処理を進める。
【００９０】
Ｓ１７０３では、メイン制御部４０２は、空き領域が存在するかどうか判断する。Ｓ１７０３において、メイン制御部４０２は、空き領域が存在しないと判断（ＮＯ）した場合には、Ｓ１７０４に処理を進め、一方、空き領域が存在すると判断（ＹＥＳ）した場合には、Ｓ１７０５に処理を進める。
Ｓ１７０４では、メイン制御部４０２は、ユーザによって物体（スマートフォン１０６）が置かれた位置ではデータ転送された画像の表示が不可能である旨のエラーメッセージを表示させた後、図１２の処理を終了し、図１１のＳ１６０２に処理を進める。
一方、Ｓ１７０５では、メイン制御部４０２は、Ｓ１７０２で得られた長方形領域を、置かれた物体（スマートフォン１０６）の受信データ表示領域として設定した後、図１２のフローチャートの処理を終了して、図１１のＳ１６０２に処理を進める。
【００９１】
図１３（ａ）〜図１３（ｅ）は、図１２の受信データ表示領域決定処理を実行した場合の書画台２０４の状態例を示す図である。図１３（ａ）〜図１３（ｅ）において、図中の破線で囲われた長方形の領域は受信データ表示領域を示している。
【００９２】
図１３（ａ）は、書画台２０４に一つ目のスマートフォン１０６が置かれた状態を示している。この図１３（ａ）の例では、スマートフォン１０６を基準に左に長い長方形領域を配置することが可能であるため、左に長い長方形領域が、受信データ表示領域として設定される。
図１３（ｂ）は、書画台２０４に二つ目のスマートフォンが置かれた状態を示している。この図１３（ｂ）の例の場合、左及び上及び下方向に長い長方形領域を配置することは不可能であるため、右方向に長い長方形領域が、受信データ表示領域として設定される。
図１３（ｃ）は、書画台２０４に三つ目のスマートフォンが置かれた状態を示している。この図１３（ｃ）の例の場合、左及び上及び右方向に長い長方形領域を配置することは不可能であるため、下方向に長い長方形領域が、受信データ表示領域として設定される。
図１３（ｄ）は、書画台２０４に四つ目のスマートフォンが置かれた状態を示している。この図１３（ｄ）の例の場合、左及び上及び右及び下方向に長い長方形領域を配置することは不可能であるため、図１３（ｅ）のようにエラーメッセージが表示される。
【００９３】
前述したように、第２の実施形態では、複数のスマートフォン１０６からカメラスキャナ１０１へ写真のデータを転送させる場合でも、ユーザは、少ない操作でスマートフォン１０６からカメラスキャナ１０１へデータ転送させることができる。また、第２の実施形態の場合、各スマートフォンから転送されたデータは、書画台２０４にそれぞれ置かれたスマートフォンのうち、そのデータを転送したスマートフォンの近傍に表示される。したがって、各スマートフォンのユーザは、それぞれ混乱することなく、転送されたデータを書画台２０４上で確認することができる。なお、ここでは、転送された写真を、その写真のデータを転送したスマートフォンの近傍に表示したが、例えば、スマートフォンと写真とを線分の画像で繋ぐなどして、より写真とスマートフォンとの関連性を強調させてもよい。
【００９４】
前述したように、第１、第２の実施形態によれば、タブレット装置やスマートフォンといったモバイル端末内に存在するデータを、素早くカメラスキャナへ転送させて大きな画面に表示させることができる。また、データ転送のための一連の操作には、転送元のデバイスを転送先のカメラスキャナの書画台に置くという操作が含まれるため、ユーザにとって感覚的にわかり易い操作でデータ転送が実現される。したがって、第１、第２の実施形態によれば、カメラスキャナを用いた業務の効率を向上させることが可能となる。
【００９５】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
以上、本発明の好ましい実施形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９６】
１０１  カメラスキャナ、２０１  コントローラ部、２０２  カメラ部、２０４  書画台、２０７  プロジェクタ、２０８  距離画像センサ部
【図１】
2018077673.tif 000004
【図２】
2018077673.tif 000005
【図３】
2018077673.tif 000006
【図４】
2018077673.tif 000007
【図５】
2018077673.tif 000008
【図６】
2018077673.tif 000009
【図７】
2018077673.tif 000010
【図８】
2018077673.tif 000011
【図９】
2018077673.tif 000012
【図１０】
2018077673.tif 000013
【図１１】
2018077673.tif 000014
【図１２】
2018077673.tif 000015
【図１３】
2018077673.tif 000016