(57)【要約】      （修正有）【課題】適切な原稿の押さえ方をユーザに提示して、原稿のエッジがユーザの手や指で隠れた状態で読み取られてしまうといった事態の発生を抑えた原稿読取装置を提供する。【解決手段】カメラスキャナの浮き領域検出部は、距離画像取得部を用いて原稿が載置されている領域の距離画像を取得しS500、取得した距離画像に基づいて、書画台に載置された原稿の浮き領域を検出しS501）、検出した浮き領域ごとに、原稿の浮きの種類を特定しS503及びS509〜S515、原稿の浮きの種類に応じて、原稿の浮きを補正するための原稿の押さえ方をプロジェクタによって画書台に投影するS504〜S507。【選択図】図５
2018191094.tif 000002
【特許請求の範囲】
【請求項１】
載置される原稿から画像データを読み取る原稿読取装置であって、
前記原稿が載置されている領域の距離情報を取得する取得手段と、
前記取得手段により取得された距離情報に基づいて、前記領域に載置された原稿の浮き領域を検出する検出手段と、
前記検出手段により検出された浮き領域ごとに、前記原稿の浮きの種類を特定する特定手段と、
前記原稿の浮きの種類に応じて、前記原稿の浮きを補正するための原稿の押さえ方を提示する提示手段と、
を有することを特徴とする原稿読取装置。
【請求項２】
前記浮き領域が所定数より多い場合、前記各浮き領域に優先度を設定する設定手段を有し、
前記提示手段は、前記浮き領域が所定数より多い場合には、前記設定手段により設定された優先度の高い前記所定数の浮き領域をユーザが押さえるべき領域とする押さえ方を提示することを特徴とする請求項１に記載の原稿読取装置。
【請求項３】
前記設定手段は、前記優先度を、浮き領域内のコンテンツの有無、及び、浮き領域内の浮きの大きさに基づいて決定することを特徴とする請求項２に記載の原稿読取装置。
【請求項４】
前記原稿読取装置に対するユーザの位置を検出する検出手段を有し、
前記提示手段は、前記検出手段により検出されたユーザの位置が前記原稿読取装置の正面でない場合、前記浮き領域が所定の領域に含まれるか否かに応じて、前記原稿の押さえ方の提示を切り換えることを特徴とする請求項１〜３のいずれか１項に記載の原稿読取装置。
【請求項５】
前記提示手段は、前記検出手段により検出されたユーザの位置が前記原稿読取装置の正面でない場合、前記浮き領域が所定の領域に含まれる場合には、ユーザが前記原稿読取装置の正面に移動することの提示と、該移動後の位置からユーザが前記原稿を押さえる押さえ方の提示を行うことを特徴とする請求項４に記載の原稿読取装置。
【請求項６】
前記提示手段は、前記原稿の浮きの種類が前記原稿の角が浮いている種類の場合には、該浮いている原稿の角を押さえる押さえ方を提示することを特徴とする請求項１〜５のいずれか１項に記載の原稿読取装置。
【請求項７】
前記提示手段は、前記原稿の浮きの種類が前記原稿の１つの辺が浮いている種類の場合には、該浮いている辺の両端を押さえる押さえ方を提示することを特徴とする請求項１〜５のいずれか１項に記載の原稿読取装置。
【請求項８】
前記提示手段は、前記原稿の浮きの種類が前記原稿の複数の辺が浮いている種類の場合には、該浮いている各辺の中央を押さえる押さえ方を提示することを特徴とする請求項１〜５のいずれか１項に記載の原稿読取装置。
【請求項９】
前記提示手段は、前記原稿の浮きの種類が前記原稿の中央が浮いている種類の場合には、該原稿の両辺の中央を押さえる押さえ方を提示することを特徴とする請求項１〜５のいずれか１項に記載の原稿読取装置。
【請求項１０】
前記提示手段は、前記原稿の中央にできた浮き領域がユーザの正面方向に伸びている場合には、該原稿の前記ユーザの正面方向に伸びる両辺の中央を引っ張りながら押さえる押さえ方、又は、該原稿を９０度回転させ、該回転後の原稿の前記ユーザの正面方向に伸びる両辺の中央を押さえる押さえ方を提示することを特徴とする請求項９に記載の原稿読取装置。
【請求項１１】
前記提示手段は、前記原稿の中央にできた浮き領域がユーザの正面方向と直交する方向に伸びている場合には、該原稿の前記ユーザの正面方向に伸びる両辺の中央を押さえる押さえ方を提示することを特徴とする請求項９に記載の原稿読取装置。
【請求項１２】
前記提示手段は、前記原稿の押さえ方を示す情報を、前記原稿を載置する領域に投影することにより押さえ方を提示することを特徴とする請求項１〜１１のいずれか１項に記載の原稿読取装置。
【請求項１３】
前記原稿の押さえ方を示す情報は、前記原稿の押さえ方を説明するメッセージと、前記原稿の押さえ方を示す画像の少なくともいずれかを含むことを特徴とする請求項１２項に記載の原稿読取装置。
【請求項１４】
前記原稿の押さえ方を示す画像は、原稿を押さえる指のアイコンを含むことを特徴とする請求項１３に記載の原稿読取装置。
【請求項１５】
前記提示手段は、前記指のアイコンを前記原稿の浮き領域に投影することを特徴とする請求項１４に記載の原稿読取装置。
【請求項１６】
前記提示手段は、前記浮き領域の位置に応じて、右手の指に対応するアイコンと左手の指に対応するアイコンを切替えて投影することを特徴とする請求項１５に記載の原稿読取装置。
【請求項１７】
載置される原稿から画像データを読み取る原稿読取装置の制御方法であって、
前記原稿が載置されている領域の距離情報を取得する取得ステップと、
前記取得ステップで取得された距離情報に基づいて、前記領域に載置された原稿の浮き領域を検出する検出ステップと、
前記検出ステップで検出された浮き領域ごとに、前記原稿の浮きの種類を特定する特定ステップと、
前記原稿の浮きの種類に応じて、前記原稿の浮きを補正するための原稿の押さえ方を提示する提示ステップと、
を有することを特徴とする原稿読取装置の制御方法。
【請求項１８】
コンピュータを、請求項１〜１６のいずれか１項に記載の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラスキャナ等で原稿を読み取る技術に関する。
【背景技術】
【０００２】
従来、書画台に載せられたＡ４用紙のような一枚の紙（以降「原稿」という）や書籍等を読み取るフラットベット型の読取装置が知られている。フラットベット型の読取装置で書籍の見開きページを読み取る際、書籍の綴じ部付近が書画台から浮き上がり、読み取られた画像データにおいて、綴じ部付近の画像が暗くなったり、歪んだり、ぼけたりして十分な品質の画像データが得られないことがある。これを防ぐため、ユーザは書籍を直接手で押さえ付けながらスキャンすることが考えられる。
【０００３】
特許文献１において、ユーザが書籍の適切な押さえ方を把握するため、書画台に対して書籍が浮いている方向を提示する技術が検討されている。
【０００４】
また、上述したフラットベット型の読取装置の他に、スタンド型スキャナ（カメラスキャナ）も知られている。スタンド型スキャナは、書画台に原稿を上向きに置き、書画台上方に配置されたカメラにより撮像し、原稿をスキャン処理する読取装置である。スタンド型スキャナは、フラットベット型とは異なり、操作者の影や照明などに影響を受けやすいため、エッジベースの四辺検出手法を用いることによって原稿や書籍のページ領域のみを切り出すことができる。
【０００５】
スタンド型スキャナで原稿を読み取る際、原稿を圧板で押さえることはできない。そのため、スタンド型スキャナでは、フラットベット型とは異なり、書籍だけでなく原稿も浮き上がりが生じることがある。これを防ぐために、ユーザが原稿の浮いた個所（例えば、原稿の辺や角）を手や指で押さえながらスキャンすることが考えられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１６０８９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したスタンド型スキャナでは、スキャン時、エッジベースの四辺検出手法で原稿の四辺を切り出すため、原稿のみを過不足なく抽出するためには、ユーザは原稿のエッジがなるべく手や指で隠れないように押さえる必要がある。
しかし、従来の技術では、原稿における浮きの位置や浮きに対する適切な押さえ方をユーザに提示することは実現できていない。そのため、スタンド型スキャナで原稿の読み取りを行う場合に、原稿のエッジがユーザの手や指で隠れた状態で読み取られてしまう場合があった。
【０００８】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、原稿の浮きに対して適切な押さえ方をユーザに提示し、原稿のエッジがユーザの手や指で隠れた状態で読み取られてしまうといった事態の発生を抑えることができる仕組みを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、載置される原稿から画像データを読み取る原稿読取装置であって、前記原稿が載置されている領域の距離情報を取得する取得手段と、前記取得手段により取得された距離情報に基づいて、前記領域に載置された原稿の浮き領域を検出する検出手段と、前記検出手段により検出された浮き領域ごとに、前記原稿の浮きの種類を特定する特定手段と、前記原稿の浮きの種類に応じて、前記原稿の浮きを補正するための原稿の押さえ方を提示する提示手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、原稿の浮きに対して適切な押さえ方をユーザに提示することができる。この結果、原稿のエッジがユーザの手や指で隠れた状態で読み取られてしまうといった事態の発生を抑えることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施例のカメラスキャナを含むネットワーク構成図
【図２】本実施例のカメラスキャナの構成を説明する図
【図３】本実施例のカメラスキャナのコントローラ部のハードウェア構成図
【図４】本実施例のカメラスキャナのソフトウェア構成図
【図５】実施例１の浮き領域検出処理のフローチャート
【図６】浮き領域検出処理を説明するための図
【図７】浮きの種類を特定する処理を説明するための図
【図８】原稿の押さえ方の表示例を示す図
【図９】実施例２の浮き領域検出処理のフローチャート
【図１０】実施例２において浮き領域に対して優先度を付与する処理を説明する図
【図１１】カメラスキャナとユーザの位置関係を説明するための図
【図１２】実施例３の浮き領域検出処理のフローチャート
【図１３Ａ】実施例１における角が浮いた原稿の押さえ方の表示例一覧を示す図
【図１３Ｂ】実施例１における角が浮いた原稿の押さえ方の表示例一覧を示す図
【図１４】実施例１における辺が浮いた原稿の押さえ方の表示例一覧を示す図
【図１５】実施例１における中央が浮いた原稿の押さえ方の表示例一覧を示す図
【図１６Ａ】実施例３における角が浮いた原稿の押さえ方の表示例一覧を示す図
【図１６Ｂ】実施例３における角が浮いた原稿の押さえ方の表示例一覧を示す図
【図１７】実施例３における辺が浮いた原稿の押さえ方の表示例一覧を示す図
【図１８】実施例３における中央が浮いた原稿の押さえ方の表示例一覧を示す図
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を参照して説明する。
【実施例１】
【００１３】
図１は、本発明の原稿読取装置の一実施例を示すスタンド型スキャナを含むネットワーク構成の一例を示す図である。
カメラスキャナ101は、本実施例のスタンド型スキャナである。カメラスキャナ101は、イーサネット（登録商標）等のネットワーク104を介して、ホストコンピュータ102およびプリンタ103と通信可能に接続されている。
【００１４】
カメラスキャナ101は、ホストコンピュータ102からの指示により、カメラスキャナ101から画像を読み取るスキャン機能や、スキャンデータをプリンタ103により出力するプリント機能の実行が可能である。また、カメラスキャナ101は、ホストコンピュータ102を介さず、カメラスキャナ101への直接の指示により、スキャン機能、プリント機能の実行も可能である。
【００１５】
＜カメラスキャナ101の構成＞
図２は、カメラスキャナ101の構成の一例を説明する図である。
図２（ａ）に示すように、カメラスキャナ101は、コントローラ部201、カメラ部202、腕部203、短焦点プロジェクタ207、距離画像センサ部208を含む。
【００１６】
カメラスキャナの本体であるコントローラ部201と、撮像を行うためのカメラ部202、短焦点プロジェクタ207および距離画像センサ部208は、腕部203により連結されている。腕部203は、関節を用いて曲げ伸ばしが可能である。
【００１７】
図２（ａ）には、カメラスキャナ101が設置されている書画台204も示している。カメラスキャナ101のカメラ部202および距離画像センサ部208のレンズは、書画台204方向に向けられている。カメラスキャナ101は、破線で囲まれた読み取り領域205内の画像を読み取り可能である。図２の例では、読み取り領域205内に原稿206が置かれている。よって、カメラスキャナ101は、この原稿206を読み取り可能である。
【００１８】
また、書画台204内にはターンテーブル209が設けられている。ターンテーブル209は、コントローラ部201からの指示によって回転することが可能である。ターンテーブル209を回転することにより、ターンテーブル209上に置かれた物体とカメラ部202との角度を変えることができる。
【００１９】
なお、カメラ部202は、単一解像度で画像を撮像するものとしてもよいが、高解像度画像撮像と低解像度画像撮像が可能なものとすることが好ましい。
【００２０】
また、図２には示していないが、カメラスキャナ101は、図３に示すように、ＬＣＤタッチパネル330およびスピーカ340、人物検出用ＲＧＢカメラ360をさらに備えることもできる。人物検出用ＲＧＢカメラ360は、カメラスキャナ101周辺にいる人物を検出するためのものである。
【００２１】
図２（ｂ）は、カメラスキャナ101における座標系について表している。
カメラスキャナ101では、各ハードウェアデバイスに対して、「カメラ座標系」、「距離画像センサ座標系」、「プロジェクタ座標系」という座標系が定義されている。これらの座標系は、カメラ部202および距離画像センサ部208のＲＧＢカメラ363が撮像する画像平面、あるいはプロジェクタ207が投影する画像平面をＸＹ平面とし、画像平面に直交する方向をＺ方向として定義したものである。
【００２２】
さらに、本実施例では、これらの独立した座標系の３次元データを統一的に扱えるようにするために「直交座標系」が定義されている。直交座標系では、書画台204を含む平面をＸＹ平面とし、このＸＹ平面から上方に垂直な向きをＺ軸とする。
【００２３】
以下、座標系を変換する場合の例を、図２（ｃ）を用いて説明する。
図２（ｃ）は、直交座標系とカメラ座標系とを用いて表現された空間と、カメラ部202が撮像する画像平面との関係を示す。
直交座標系における３次元点Ｐ［Ｘ，Ｙ，Ｚ］は、（１）式によって、カメラ座標系における３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］へ変換できる。
【００２４】
【数１】
2018191094.tif 000003
【００２５】
ここで、Ｒｃおよびｔｃは、直交座標系に対するカメラの姿勢（回転）と位置（並進）によって求まる外部パラメータによって構成され、Ｒｃを３×３の回転行列、ｔｃを並進ベクトルと呼ぶ。
【００２６】
逆に、カメラ座標系で定義された３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］は（２）式によって、直交座標系における３次元点Ｐ［Ｘ，Ｙ，Ｚ］への変換することができる
【００２７】
【数２】
2018191094.tif 000004
【００２８】
さらに、カメラ部202で撮影される２次元のカメラ画像平面は、カメラ部202によって３次元空間中の３次元情報が２次元情報に変換されたものである。すなわち、カメラ座標系上での３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］を、（３）式によってカメラ画像平面での２次元座標ｐｃ［ｘｐ，ｙｐ］に透視投影変換することによて変換することができる。
【００２９】
【数３】
2018191094.tif 000005
【００３０】
ここで、Ａは、カメラの内部パラメータと呼ばれ、焦点距離と画像中心などで表現される３×３の行列である。
【００３１】
以上のように、（１）式と（３）式を用いることで、直交座標系で表された３次元点群を、カメラ座標系での３次元点群座標やカメラ画像平面に変換することができる。なお、各ハードウェアデバイスの内部パラメータおよび直交座標系に対する位置姿勢（外部パラメータ）は、公知のキャリブレーション手法により予めキャリブレーションされているものとする。以後、特に断りがなく３次元点群と表記した場合は、直交座標系における３次元データを表しているものとする。
【００３２】
＜カメラスキャナ101のコントローラ部201のハードウェア構成＞
図３は、カメラスキャナ101の本体であるコントローラ部201のハードウェア構成の一例を示す図である。
【００３３】
図３に示すように、コントローラ部201は、システムバス301に接続されたＣＰＵ302、ＲＡＭ303、ＲＯＭ304、ＨＤＤ305及びネットワークＩ／Ｆ306を有する。さらに、コントローラ部201は、画像処理プロセッサ307、カメラＩ／Ｆ308、ディスプレイコントローラ309、シリアルＩ／Ｆ310、オーディオコントローラ311及びＵＳＢコントローラ312を有する。
【００３４】
ＣＰＵ302は、コントローラ部201全体の動作を制御する中央演算装置である。ＲＡＭ303は、揮発性メモリである。ＲＯＭ304は不揮発性メモリであり、ＣＰＵ302の起動用プログラム等が格納されている。ＨＤＤ305は、ＲＡＭ303と比較して大容量なハードディスクドライブ（ＨＤＤ）である。ＨＤＤ305には、コントローラ部201の実行する、カメラスキャナ101の制御用プログラム等が格納されている。
【００３５】
ＣＰＵ302は、電源ＯＮ等の起動時、ＲＯＭ304に格納されている起動用プログラムを実行する。この起動用プログラムは、ＨＤＤ305に格納されている制御用プログラムを読み出し、ＲＡＭ303上に展開するためのものである。ＣＰＵ302は、起動用プログラムを実行すると、続けてＲＡＭ303上に展開した制御用プログラムを実行し、制御を行う。また、ＣＰＵ302は、制御用プログラムによる動作に用いるデータもＲＡＭ303上に格納して読み書きを行う。ＨＤＤ305には、さらに制御用プログラムによる動作に必要な各種設定や、カメラ入力によって生成された画像データ等を格納することができる。ＨＤＤ305は、ＣＰＵ302によって読み書き可能である。ＣＰＵ302は、ネットワークＩ／Ｆ306を介してネットワーク104上の他の機器との通信を行う。
【００３６】
画像処理プロセッサ307は、ＲＡＭ303に格納された画像データを読み出して処理し、またＲＡＭ303へ書き戻す。なお、画像処理プロセッサ307が実行する画像処理は、回転、変倍、色変換等を含む。
【００３７】
カメラＩ／Ｆ308は、カメラ部202、距離画像センサ部208および人物検出用ＲＧＢカメラ360と接続される。カメラＩ／Ｆ308は、ＣＰＵ302からの指示に応じて、カメラ部202や人物検出用ＲＧＢカメラ360から画像データを、距離画像センサ部208から距離画像データ（距離情報）を取得して、ＲＡＭ303へ書き込む。また、カメラＩ／Ｆ308は、ＣＰＵ302からの制御コマンドを、カメラ部202、距離画像センサ部208及び人物検出用ＲＧＢカメラ360へ送信し、カメラ部202、距離画像センサ部208及び人物検出用ＲＧＢカメラ360の設定を行う。距離画像センサ部208の構成については後述する。
【００３８】
なお、コントローラ部201は、ディスプレイコントローラ309、シリアルＩ／Ｆ310、オーディオコントローラ311およびＵＳＢコントローラ312のうち少なくとも１つを備える。
【００３９】
ディスプレイコントローラ309は、ＣＰＵ302の指示に応じて、ディスプレイへの画像データの表示を制御する。ここで、ディスプレイコントローラ309は、短焦点プロジェクタ207およびＬＣＤタッチパネル330に接続されており、これらの表示を制御する。
【００４０】
シリアルＩ／Ｆ310は、シリアル信号の入出力を行う。ここでは、シリアルＩ／Ｆ310はターンテーブル209に接続され、ＣＰＵ302の回転開始・終了および回転角度の指示をターンテーブル209へ送信する。また、シリアルＩ／Ｆ310はＬＣＤタッチパネル330に接続され、ＣＰＵ302はＬＣＤタッチパネル330が押下されたときに、シリアルＩ／Ｆ310を介して押下された座標を取得する。
【００４１】
オーディオコントローラ311はスピーカ340に接続され、ＣＰＵ302の指示に応じて音声データをアナログ音声信号に変換し、スピーカ340を通じて音声を出力する。
【００４２】
ＵＳＢコントローラ312は、ＣＰＵ302の指示に応じて外付けのＵＳＢデバイスの制御を行う。ここでは、ＵＳＢコントローラ312は、ＵＳＢメモリやＳＤカードなどの外部メモリ350と接続され、外部メモリ350へのデータの読み書きを行う。
【００４３】
＜カメラスキャナ101の制御用プログラムの機能構成＞
図４は、ＣＰＵ302が実行するカメラスキャナ101の制御用プログラムの機能構成401の一例を示す図である。カメラスキャナ101の制御用プログラムは前述のようにＨＤＤ305に格納され、ＣＰＵ302が起動時にＲＡＭ303上に展開して実行する。すなわち、図４に示す機能構成401は、ＣＰＵ302がＨＤＤ305に格納されるカメラスキャナ101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。
【００４４】
機能構成401において、メイン制御部402は制御の中心であり、機能構成401内の他の各モジュールを制御する。
画像取得部416は、画像入力処理を行うモジュールである。画像取得部416は、カメラ画像取得部407、距離画像取得部408を有する。
【００４５】
カメラ画像取得部407は、カメラＩ／Ｆ308を介してカメラ部202が出力する画像データを取得し、ＲＡＭ303へ格納する。
距離画像取得部408は、カメラＩ／Ｆ308を介して距離画像センサ部208が出力する距離画像データを取得し、ＲＡＭ303へ格納する。距離画像取得部408の処理の詳細は、後述する図５で説明する領域検出処理の中で説明する。
【００４６】
認識処理部417は、カメラ画像取得部407、距離画像取得部408が取得する画像データから書画台204上の物体の動きを検知して認識するモジュールである。認識処理部417は、ジェスチャ認識部409、物体検知部410を有する。
【００４７】
ジェスチャ認識部409は、画像取得部416から書画台204上の画像を取得し続け、タッチなどのジェスチャを検知するとメイン制御部402へ通知する。
物体検知部410は、メイン制御部402から物体載置待ち処理あるいは物体除去待ち処理の通知を受けると、画像取得部416から書画台204を撮像した画像を取得する。また、物体検知部410は、書画台204上に物体が置かれて静止するタイミングあるいは物体が取り除かれるタイミングを検知する処理を行う。
【００４８】
スキャン処理部418は、実際に対象物のスキャンを行うモジュールである。スキャン処理部418は、浮き領域検出部411、画像処理部412、コンテンツ有無判定部413を有する。
【００４９】
浮き領域検出部411は、後述する図５に示す浮き領域検出処理を行う。
画像処理部412は、カメラ画像取得部407から取得する画像データに対して色味など見栄えがよくなるよう調整した色調整済み画像を生成する。
【００５０】
コンテンツ有無判定部413は、指定された画像の指定された領域にコンテンツが存在するか否かの判定（コンテンツ有無判定）を行う。このコンテンツ有無判定は、以下のように行う。まず、コンテンツ有無判定部413は、指定された画像から、指定された領域以外をマスクする。続いて、コンテンツ有無判定部413は、キャニー法によるエッジ検出を行う。続いて、コンテンツ有無判定部413は、エッジとして検出された画素数の、指定された領域の画素数に対する割合を調べる。さらに、コンテンツ有無判定部413は、該割合が所定値より大きい場合、コンテンツが存在すると判定し、該割合が所定値より小さい場合コンテンツが存在しないと判定する。なお、コンテンツの対象を文字のみと限定してもよい、その場合、コンテンツ有無判定部413は、公知の属性判定技術を適用し、文字が含まれればコンテンツが存在すると判定する。もし、画像のみである場合は、コンテンツ有無判定部413は、コンテンツでないと判断する。コンテンツの対象を文字のみと限定することは、視認性の低下を容認できてもＯＣＲの精度低下を防ぐ必要がある場合に有用である。
【００５１】
ユーザインターフェイス部403は、ＧＵＩ部品生成表示部414、投射領域検出部415を有する。
ＧＵＩ部品生成表示部414は、メイン制御部402からの要求を受け、メッセージやボタン等のＧＵＩ部品を生成し、生成したＧＵＩ部品の表示を表示部406へ要求する。なお、書画台204上のＧＵＩ部品の表示場所は、投射領域検出部415により検出される。
【００５２】
表示部406は、ディスプレイコントローラ309を介して、短焦点プロジェクタ207もしくはＬＣＤタッチパネル330へ要求されたＧＵＩ部品の表示を行う。プロジェクタ207は、書画台204に向けて設置されているため、書画台204上にＧＵＩ部品を投射することが可能となっている。
【００５３】
また、ユーザインターフェイス部403は、ジェスチャ認識部409が認識したタッチ等のジェスチャ操作、あるいはシリアルＩ／Ｆ310を介したＬＣＤタッチパネル330からの入力操作、そしてさらにそれらの座標を受信する。そして、ユーザインターフェイス部403は、描画中の操作画面の内容と操作座標を対応させて操作内容（押下されたボタン等）を判定する。ユーザインターフェイス部403は、この操作内容をメイン制御部402へ通知することにより、操作者の操作を受け付ける。
【００５４】
ネットワーク通信部404は、ネットワークＩ／Ｆ306を介して、ネットワーク104上の他の機器とＴＣＰ／ＩＰ等による通信を行う。
データ管理部405は、制御用プログラム401の実行において生成した作業データなど様々なデータをＨＤＤ305上の所定の領域へ保存し、管理する。
【００５５】
＜距離画像センサ部208および距離画像取得部408の説明＞
距離画像センサ部208は、赤外線によるパターン投射方式の距離画像センサである。図３に示すように、距離画像センサ部208は、赤外線パターン投射部361、赤外線カメラ362、ＲＧＢカメラ363を有する。
【００５６】
赤外線パターン投射部361は、対象物に対して、人の目には不可視である赤外線によって３次元測定パターンを投射する。赤外線カメラ362は、対象物に投射した３次元測定パターンを読みとるカメラである。ＲＧＢカメラ363は、人の目に見える可視光をＲＧＢ信号で撮影するカメラである。
【００５７】
なお、本実施例では上述したように、距離画像センサ部208として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、距離画像センサ部208として、２つのＲＧＢカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するＴＯＦ（Time of Flight）方式を用いてもよい。
【００５８】
＜ジェスチャ認識部409の説明＞
ジェスチャ認識部409の処理の詳細を説明する。
ジェスチャ認識部409は、距離画像取得部408から距離画像と３次元点群を取得する。続いて、ジェスチャ認識部409は、書画台204を含む平面から所定の高さ以上にある、肌色の３次元点群を抽出することで、手の３次元点群を得る。続いて、ジェスチャ認識部409は、抽出した手の３次元点群を、書画台204の平面に射影した２次元画像を生成して、その手の外形を検出する。この時、手の３次元点群の各点が、書画台204の平面に投影した２次元画像の各座標のどれに対応するかの対応関係を記憶しておくものとする。続いて、ジェスチャ認識部409は、検出した手の外形上の各点について、その点での外形の曲率を算出し、算出した曲率が所定値より小さい点を指先として検出する。続いて、ジェスチャ認識部409は、それぞれの指先検出した指先の書画台204を含む平面との距離を、先の対応関係を用いて３次元点群から算出する。ジェスチャ認識部409は、算出した距離が微小な所定値以下である場合、タッチジェスチャありと判定し、メイン制御部402へ通知する。
【００５９】
なお、指先検出について、ここでは３次元点群から２次元画像に投影した画像から指先を検出する方法を説明したが、指先検出の対象とする画像は、これに限定されるものではない。例えば、距離画像の背景差分や、ＲＧＢ画像の肌色領域から手の領域を抽出し、上に述べたのと同様の方法（外形の曲率計算等）で、手領域のうちの指先を検出してもよい。
【００６０】
＜浮き領域検出部411の説明＞
浮き領域検出部411による浮き領域検出処理の詳細を図５及び図６を用いて説明する。
図５は、実施例１において原稿の浮き領域を検出する処理（浮き領域検出処理）の一例を説明するフローチャートである。図５（ａ）及び図５（ｂ）のフローチャートに示す処理は、浮き領域検出部411により実行される。すなわち、図５（ａ）及び図５（ｂ）に示す処理は、ＣＰＵ302がＨＤＤ305に格納されるカメラスキャナ101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。
【００６１】
図６は、浮き領域を検出する処理の一例を説明するための図である。
図６（ａ）は浮きのない原稿600を示す。図６（ｂ）は角が浮いている原稿601を示す。図６（ｃ）は辺が浮いている原稿602を示す。図６（ｄ）は中央が浮いている原稿603を示す。
【００６２】
まず、図５（ａ）のS500において、浮き領域検出部411は、距離画像取得部408を用いて距離画像（距離情報）を取得する。例えば、図６（ａ）〜図６（ｄ）の原稿600，601，602，603を書画台204にそれぞれ置いた場合、取得される距離画像はそれぞれ図６（ｅ）〜図６（ｈ）の距離画像604，605，606，607となる。
【００６３】
続いてS501において、浮き領域検出部411は、上記S500で取得した距離画像を用いて、浮き領域を検出する。浮き領域の検出は以下のようにして行う。まず、浮き領域検出部411は、上記S500で得た距離画像と、事前に取得している書画台204に何も置かれていない状態の距離画像との差分画像を取得する。続いて、浮き領域検出部411は、該差分画像において事前に決定した所定値を閾値とし、閾値以上の値を持つピクセルを特定し、該ピクセルが連続している領域の外接矩形を検出する。次に、浮き領域検出部411は、該検出された外接矩形を原稿における浮き領域とする。さらに、浮き領域検出部411は、原稿の複数箇所に浮きがある場合、互いに隣接しない複数の外接矩形をそれぞれ浮き領域として検出する。
【００６４】
ここで、浮き領域の検出について、図６（ｆ）の角が浮いた原稿の距離画像605から、図６（ｉ）の浮き領域608を検出するまでの具体例を、図７（ａ）を用いて説明する。
【００６５】
図７は、浮きの種類を特定する処理を説明するための図である。
図７（ａ）は、図６（ｆ）の角が浮いた原稿の距離画像605における座標系を示す図である。ここでは、距離画像はＸＹ座標系で表され、画像サイズは640×480ピクセルである。図６（ｆ）の距離画像605に対して、図５（ａ）のS501を実行すると、図７（ａ）のような浮き領域608が検出される。浮き領域608の座標は、領域の左上の座標から幅ｗ、高さｈの矩形で検出される。具体的には、浮き領域608の座標は、領域の左上の座標が（500，400）、幅50、高さ50の矩形として検出される。以上のように、図６（ｆ）の角が浮いた原稿の距離画像605から、図６（ｉ）の浮き領域608を検出する。
【００６６】
同様に、図６（ｅ）〜図６（ｈ）の距離画像604，605，606，607において、図５（ａ）のS501でそれぞれ浮き領域を検出する。これにより、図６（ｉ）〜図６（ｋ）の浮き領域608，609，610，611が検出され、それぞれ浮き領域の座標と幅、高さが算出される。
【００６７】
なお、図６（ａ）のように原稿に浮きがない場合、図６（ｅ）の距離画像604から、浮き領域は検出されない。また、図６（ｃ）のように原稿に複数の浮きがある場合、図６（ｊ）のように複数の浮き領域609，610が検出される。
【００６８】
＜浮き領域における浮きの種類を特定する＞
以下、図５（ａ）のフローチャートの説明に戻る。
S502において、浮き領域検出部411は、上記S501で検出した浮き領域から浮きの種類を特定していない浮き領域を一つ取得する。
次に、S503において、浮き領域検出部411は、上記S502で取得した浮き領域における浮きの種類を特定する。ここで、S503の詳細を、図５（ｂ）を用いて説明する。
【００６９】
図５（ｂ）は、浮きの種類を特定する処理を示すフローチャートである。
S509において、浮き領域検出部411は、浮き領域における重心位置を特定する。重心位置は、浮き領域内で特に浮いている箇所を特定するために用いる。浮き領域の各画素の座標を（ｘ，ｙ）、浮き領域における全画素数をＭとすると、重心位置（Ｘ，Ｙ）は以下の式（４）を用いて算出する。
【００７０】
【数４】
2018191094.tif 000006
【００７１】
重心位置によって浮き領域内で特に浮いている箇所を特定するため、重心位置を特定する際に用いる閾値は、図５（ａ）のS501で用いた閾値よりも大きい閾値を用いるのが望ましい。
【００７２】
続いてS510において、浮き領域検出部411は、浮き領域を複数の領域に分割する。例えば、浮き領域の幅と高さをそれぞれ３等分することによって、浮き領域を９つの領域に分割する（例えば図７（ｃ））。
【００７３】
S511において、浮き領域検出部411は、重心が分割した領域の辺に含まれるか否か判定する。浮き領域検出部411が、重心が分割した領域の辺に含まれると判定した場合（S511でYesの場合）、浮き領域検出部411は、S515に処理を進め。S515において、浮き領域検出部411は、浮きの種類を「辺」として、図５（ｂ）の処理を終了する。
【００７４】
一方、上記S511において、浮き領域検出部411が、重心が分割した領域の辺に含まれないと判定した場合（S511でNOの場合）、浮き領域検出部411は、S512に処理を進め。
【００７５】
S512において、浮き領域検出部411が、重心が分割した領域の角に含まれるか否か判定する。浮き領域検出部411が、重心が分割した領域の角に含まれると判定した場合（S512でYesの場合）、浮き領域検出部411は、S514に処理を進め。S514において、浮き領域検出部411は、浮きの種類を「角」として、図５（ｂ）の処理を終了する。
【００７６】
一方、上記S512において、浮き領域検出部411が、重心が分割した領域の角に含まれないと判定した場合（S512でNOの場合）、浮き領域検出部411は、S513に処理を進め。S513において、浮き領域検出部411は、浮きの種類を「中央」として、図５（ｂ）の処理を終了する。以上が、S503の浮きの種類を特定する処理である。
【００７７】
ここで、浮きの種類を特定する処理について、図６（ｉ）の浮き領域608から浮きの種類を特定するまでの具体例を、図７（ｂ）と図７（ｃ）を用いて説明する。
【００７８】
図７（ｂ）は、浮き領域608を示す図である。
まず図５（ｂ）のS509において、浮き領域検出部411は、浮き領域608の重心位置ｇを特定する。前述した（４）式を用いることによって、重心位置ｇは例えば、（ｘ、ｙ）＝（548，448）として算出される。
【００７９】
続いてS510において、浮き領域検出部411は、浮き領域608を複数の領域に分割する。一例として、浮き領域608を９つの領域に分割する。
図７（ｃ）は浮き領域608を９つの領域に分割した例を示す図である。
分割した領域はそれぞれ角、辺、中央に分類される。浮き領域608における重心位置ｇは、図７（ｃ）のように、分割した領域の内、右下の角の領域に含まれる。
【００８０】
続いてS511において、浮き領域検出部411は、重心ｇが分割した領域の辺に含まれるか否か判定する。図７（ｃ）において、重心ｇは分割した領域の辺に含まれていないため、判定はNoとなり、S512に進む。S512において、浮き領域検出部411は、重心が分割した領域の角に含まれるか否か判定する。図７（ｃ）において、重心ｇは分割した領域の角に含まれているため、判定はYesとなり、S514に進む。S514において、浮き領域608における浮きの種類は、「角」となる。以上のように、図６（ｉ）の浮き領域608から浮きの種類が特定される。
【００８１】
同様に、図６（ｊ）、（ｋ）の浮き領域609，610，611は、図７（ｄ）と図７（ｅ）のようにそれぞれ領域が分割され、浮き領域609，610における浮きの種類は「辺」となる。また、浮き領域611の浮きの種類は「中央」となる。
【００８２】
＜押さえ方の表示例＞
以下、図５（ａ）のフローチャートの説明に戻る。
上記S503の処理の後、浮き領域検出部411は、S504に処理を進める。
S504において、浮き領域検出部411は、上記S503で特定された浮き領域における浮きの種類を判定する。浮き領域検出部411は、浮きの種類が「辺」であると判定した場合（S504で「辺」の場合）、S505に処理を進める。S505において、浮き領域検出部411は、原稿の辺を指で押さえるために適切な押さえ方をプロジェクタ207によって書画台204に表示（投影）し、S508に処理を進める。
【００８３】
また、浮き領域検出部411は、浮きの種類が「角」であると判定した場合（S504で「角」の場合）、S506に処理を進める。S506において、浮き領域検出部411は、原稿の角を指で押さえるために適切な押さえ方をプロジェクタ207によって書画台204に表示（投影）し、S508に処理を進める。
【００８４】
また、浮き領域検出部411は、浮きの種類が「中央」であると判定した場合（S504で「中央」の場合）、S507に処理を進める。S507において、浮き領域検出部411は、原稿の中央を指で押さえるために適切な押さえ方をプロジェクタ207によって書画台204に表示（投影）し、S508に処理を進める。
【００８５】
ここで、適切な押さえ方の表示例について具体的に示す。ここでは、図６（ａ）の角が浮いた原稿601を書画台204に置いた場合を例として図８で説明する。
図８は、書画台204上に角が浮いた原稿601を置いた場合の押さえ方の表示例の一例を示す図である。なお、書画台204は、ＸＹ座標系で左上を原点として幅640、高さ480とする。また、書画台204の幅や高さはこの値に限定せず、別の値を用いてもよい。
【００８６】
押さえ方の表示例として、メッセージ800やアイコン801の表示を含む表示例を示す。メッセージ800は、原稿601の角の辺を隠さないよう促す文言を書画台204の上側に表示するものである。メッセージ800の表示位置は、図８の例に限定されるものではなく、例えば書画台204の下側や左側、右側等でもよい。また、アイコン801は、ユーザが実際の押さえ方をイメージしやすいよう、指のアイコンを表示するものである。表示する指のアイコンは、右手と左手の指のアイコンを浮き領域の位置に応じて、切替えて表示してもよい。例えば図８では、右下の角が浮いているため右手の指アイコンを表示する例を示しているが、左下の角が浮いている場合には左手の指アイコンを左下の角の位置に表示するようにしてもよい。
【００８７】
また、アイコン801は、図８のように、図５（ｂ）のS509で求めた重心位置に、アイコン801の矩形の頂点が一致するように表示される。アイコン801の表示位置はこれに限定されるものではなく、例えば重心位置から所定距離以上離れた位置に表示したり、浮き領域の近辺に表示したりしてもよい。また、アイコン801が指アイコンの場合、右手の指先や左手の指先の座標と重心位置が一致するように表示してもよい。以上のように、書画台204に置かれた原稿601に対して押さえ方が表示される。
【００８８】
以下、原稿の角や辺、中央がそれぞれ浮いた場合の押さえ方の表示のバリエーションについて、図１３Ａ、図１３Ｂ、図１４、図１５を用いて説明する。
なお、図１３Ａ、図１３Ｂ、図１４、図１５の具体例は、ユーザ1100がカメラスキャナ101で原稿をスキャンする場合、図１１（ａ）のように、ユーザ1100はカメラスキャナ101に対して正面にいることを想定した表示例に対応する。
【００８９】
図１３Ａ、図１３Ｂは、実施例１において、角が浮いた原稿に対する押さえ方の表示の一覧を示す図である。
図１４は、実施例１において、辺が浮いた原稿に対する押さえ方の表示の一覧を示す図である。
図１５は、実施例１において、中央が浮いた原稿に対する押さえ方の表示の一覧を示す図である。
なお、図１３Ａ、図１３Ｂ、図１４、図１５において、ユーザ1100、カメラスキャナ101は、ユーザとカメラスキャナとの位置関係を明確にするための記載であり、本実施例の押さえ方の表示には含まれない。
【００９０】
図１３Ａの（ａ）〜（ｄ）は、原稿の角のうち１箇所だけが浮いている場合の表示例を示す。この場合、浮き領域検出部411は、浮いている原稿の角を押さえる押さえ方を提示する。また、浮き領域検出部411は、浮き領域が左側にある場合と右側にある場合とで、表示するアイコンを切替え、重心位置に指先が一致するようにそれぞれアイコン801を表示する。
【００９１】
図１３Ｂの（ｅ）〜（ｊ）は、原稿の角のうち２箇所が浮いている場合の表示例を示す。この場合、浮き領域は複数検出されるため、浮き領域検出部411は、浮き領域毎にそれぞれ、アイコン801を角が１箇所だけが浮いている場合と同様の処理で表示する。即ち、浮き領域検出部411は、浮いている原稿の各角を押さえる押さえ方を提示する。なお、図１３Ｂの（ｇ）や（ｈ）のように、２箇所の角の浮き領域が右側又は左側で両方検出された場合、浮き領域検出部411は、図１３（ｇ）では左下の角に右手の指アイコン、図１３（ｈ）では右下の角に左手のアイコンを表示する。
【００９２】
図１４の（ａ）〜（ｄ）は、原稿の辺のうち１箇所だけが浮いている場合の表示例を示す。この場合、浮いている辺の両端を押さえる押さえ方を提示する。図１４の（ａ）〜（ｄ）で表示するアイコン801は、辺に含まれる２箇所の角が浮いているものと同様のものを表示する。即ち、図１３Ｂの（ｅ）〜（ｈ）と同様のアイコンを表示する。また、アイコンの表示位置は浮き領域の短辺の中央とする。
【００９３】
図１４（ｅ）と図１４（ｆ）は、原稿の辺のうち２箇所が浮いている場合の表示例を示す。図１４（ｅ）のように左右の辺がそれぞれ浮いている場合、辺の中央を押さえるよう促すメッセージ800とアイコン801を表示する。図１４（ｆ）のように上下の辺がそれぞれ浮いている場合、ユーザの位置からは押さえづらいため、原稿を９０度回転後、辺の中央を押さえるよう促すメッセージ800を表示する。アイコン801の表示位置は例えば、原稿の回転を考慮し、書画台204の辺に近い個所に表示する。
【００９４】
図１５の（ａ）〜（ｃ）は、中央が浮いている場合の表示例を示す図である。図１５（ａ）のように原稿の中央が縦長（ユーザの正面方向）に浮いている場合、例えば原稿を伸ばしながら（引っ張りながら）両辺の中央を押さえるよう促すメッセージ800を表示する。また、図１５（ｂ）のように原稿を９０度回転後、辺の中央を押さえるよう促すメッセージ800を表示してもよい。アイコン801は、浮き領域から所定以上離れた個所にそれぞれ表示する。図１５（ｃ）のように原稿の中央が横長に浮いている場合、辺の中央を押さえるよう促すメッセージ800を表示する。アイコン801は、浮き領域の短辺の中央にそれぞれ表示する。
【００９５】
以上ように、実施例１によれば、浮き領域を特定し、浮き領域毎に適切な押さえ方をユーザに対して提示することができる。これにより、ユーザは原稿をスキャンする際、様々な浮き原稿に対して適切な押さえ方を容易に実施することができる。
【実施例２】
【００９６】
上記実施例１で示したように原稿の浮き領域を検出する場合、浮き領域が複数検出される場合がある。例えば、３か所以上の浮き領域が検出された場合、ユーザの両手では押さえきれない可能性がある。本実施例２では、浮き領域毎に優先度を決定し、優先度の高い浮き領域のみ押さる押さえ方を表示する仕組みを提供する。
【００９７】
図９は、実施例２において原稿の浮き領域を検出する処理（浮き領域検出処理）の一例を説明するフローチャートである。このフローチャートに示す処理は、浮き領域検出部411により実行される。すなわち、図９に示す処理は、ＣＰＵ302がＨＤＤ305に格納されるカメラスキャナ101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。なお、図５と同一の処理については同一のステップ番号を付与し、詳細な説明を省略する。
【００９８】
S501，S501の処理の後、浮き領域検出部411は、S900に処理を進める。S900において、浮き領域検出部411は、上記S501で検出された浮き領域が所定数より多いか否か判定する。本実施例では、所定数を「２」として説明する。
【００９９】
上記S900において、浮き領域検出部411が、検出された浮き領域が所定数より多くないと判定した場合（S900でNoの場合）、S502に処理を進める。一方、浮き領域検出部411が、検出された浮き領域が所定数より多いと判定した場合（S900でYesの場合）、S901に処理を進める。
【０１００】
S901において、浮き領域検出部411は、S501検出された浮き領域毎に優先度を付与する。優先度は、浮き領域内のコンテンツの有無や浮き領域内の浮きの大きさによって決定する。コンテンツのある浮き領域を補正せずそのまま撮像すると、コンテンツが歪んでしまう。そのため、浮き領域検出部411は、優先度を決定する際、浮きの大きさよりもコンテンツの有無を優先する。また、浮き領域内のコンテンツの有無は、コンテンツ有無判定部413によって判定する。また、浮き領域内の浮きの大きさは、事前に取得された書画台204に何も置かれていない状態の距離画像との差分画像における差分の最大値を用いる。
【０１０１】
次にS902において、浮き領域検出部411は、優先度の高い浮き領域を上述した所定数（ここでは「２」）分だけ取得する。浮き領域検出部411は、S902で取得した浮き領域に対してのみS502〜S508の処理を実行し、浮きの種類を特定して押さえ方を表示するように制御する。
【０１０２】
図１０は、浮き領域が所定数より多く検出された場合の処理を説明するための図である。
図１０（ａ）は浮き領域が所定数より多く検出された様子を示す。また、図１０（ｂ）は検出された浮き領域に対して優先度を付与した結果の一例を示す。なお、図１０（ｂ）における浮き領域１、浮き領域２、浮き領域３は、図１０（ａ）における浮き領域1000、浮き領域1001、浮き領域1002とそれぞれ対応している。
図１０（ｃ）は優先度の高い浮き領域に対する押さえ方の表示例を示す。
【０１０３】
図９のS901では、浮き領域検出部411は、まずコンテンツの有無を比較し、コンテンツが含まれる浮き領域１を最も高い優先度を設定する。次に、浮き領域検出部411は、浮き領域２と浮き領域３を浮きの大きさで比較し、浮きの大きい浮き領域２を２番目に高い優先度を設定する。さらに、浮き領域検出部411は、最後に残った浮き領域３を３番目に高い優先度を設定する。S902では、浮き領域検出部411は、優先度の高い浮き領域１と浮き領域２を取得する。その後、浮き領域検出部411は、S502、S503において、上記S902で取得した浮き領域における浮きの種類を特定する。そして、浮き領域検出部411は、S505〜S507において、図１０（ｃ）のように優先度の高い浮き領域１と浮き領域２に対する押さえ方のみを表示する。
【０１０４】
以上のように、実施例２によれば、浮き領域毎に優先度を付与し、優先度の高い浮き領域のみ押さえ方を提示することができる。これにより、ユーザは原稿をスキャンする際、複数の浮きのある原稿の中でも特に押さえた方が良い個所を押さえながらスキャンすることを容易に実施することができる。
【実施例３】
【０１０５】
上述した実施例１では、ユーザ1100がカメラスキャナ101で原稿をスキャンする場合、図１１（ａ）のように、ユーザ1100はカメラスキャナ101に対して正面にいることを想定としていた。しかし、図１１（ｂ）のように、ユーザ1100はカメラスキャナ101に対して横にいる可能性がある。このときユーザ1100が原稿1101の辺が隠れないように一本の指で押さえたとしても、図１１（ｂ）のようにカメラスキャナ101と原稿1101の間にユーザの左手が入り、撮像時に原稿が手で遮られる場合がある。この状態で、カメラ部202で書画台204の原稿1101を撮像すると、図１１（ｃ）のような撮像画像1102が得られる。撮像画像1102では、ユーザの左手により原稿の辺が大きく隠れてしまっている。このようになる理由として、カメラ部202がユーザの視点とは異なる方向から原稿を撮像しているためである。
【０１０６】
例えば、書画台204の、ユーザから見て奥側の領域、且つ、カメラスキャナ101（カメラ部202）から見て手前側の領域、即ち図１１（ｄ）の領域1103に浮き領域が含まれると、撮像時に原稿が原稿を押さえるユーザの手で遮られる場合がある。そこで、本実施例３では、カメラスキャナと原稿の間に、原稿を押さえるユーザの手や指が入らないよう、カメラスキャナに対するユーザの位置を検出し、ユーザの位置、浮き領域の位置、及び浮きの種類に応じて浮き領域の押さえ方を表示する仕組みを提供する。
【０１０７】
図１２は、実施例３において原稿の浮き領域を検出する処理（浮き領域検出処理）の一例を説明するフローチャートである。このフローチャートに示す処理は、浮き領域検出部411により実行される。すなわち、図９に示す処理は、ＣＰＵ302がＨＤＤ305に格納されるカメラスキャナ101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。なお、図５と同一の処理については同一のステップ番号を付与し、詳細な説明を省略する。
【０１０８】
まず、S1200において、浮き領域検出部411は、カメラスキャナ101に対するユーザの位置を取得する。取得するユーザの位置として、図１１（ａ）や図１１（ｂ）のように正面か横にいるか、正面にいるかを取得する。ユーザの位置は以下のように取得する。まず、浮き領域検出部411は、人物検出用ＲＧＢカメラ360を用いて撮像画像を取得し、撮像画像に対して公知の顔検出技術を適用する。さらに、浮き領域検出部411は、検出された顔の位置が画像の中央の領域など、所定の領域に含まれている場合、ユーザの位置を正面と判定する。それ以外の領域であれば、ユーザの位置を横と判定する。ユーザの位置を横と判定した場合、浮き領域検出部411は、ユーザがカメラスキャナ101から見て左右いずれ側にいるかも判定する。S1200の処理の後、浮き領域検出部411は、S500に処理を進める。
【０１０９】
浮き領域検出部411は、浮きの種類が「辺」であると判定した場合（S504で「辺」の場合）、S1201において、ユーザの位置に応じた辺の押さえ方をプロジェクタ207によって書画台204に表示（投影）する。
また、浮き領域検出部411は、浮きの種類が「角」であると判定した場合（S504で「角」の場合）、S1202において、ユーザの位置に応じた角の押さえ方をプロジェクタ207によって書画台204に表示（投影）する。
また、浮き領域検出部411は、浮きの種類が「中央」であると判定した場合（S504で「中央」の場合）、S1203において、ユーザの位置に応じた中央の押さえ方をプロジェクタ207によって書画台204に表示（投影）する。
【０１１０】
なお、浮き領域検出部411は上記S1201、S1202又はS1203を実行する際、スキャン時に原稿が原稿を押さえるユーザの手で遮られる可能性のある領域（以下「影領域」）に浮き領域が含まれるか否かを判定する。ここで影領域とは、例えば、図１１（ｃ）の1103のような、ユーザから見て奥側の領域、且つカメラスキャナ101（カメラ部202）から見て手前側の領域等である。
【０１１１】
浮き領域検出部411は、上記影領域に浮き領域が含まれると判定した場合、ユーザに対して、正面に移動してから原稿を押さえるよう促すメッセージを表示し、ユーザが正面に移動した後の原稿の押さえ方を表示するように制御する。一方、影領域に浮き領域が含まれないと判定した場合は、浮き領域検出部411は、実施例１と同様のメッセージを表示し、実施例１と同様に、ユーザの現在の位置からの原稿の押さえ方を表示するように制御する。
【０１１２】
なお、表示する押さえ方の具体例として、ユーザが正面にいる場合は実施例１と同様の表示をするため説明を省略する。以下、ユーザが横にいる場合の原稿の押さえ方の表示の具体例を、図１６Ａ、図１６Ｂ、図１７、図１８を用いて説明する。
【０１１３】
図１６Ａ、図１６Ｂは、実施例３において、ユーザが横にいる場合において、角が浮いた原稿に対する押さえ方の表示の一覧を示す図である。
図１７は、実施例３において、ユーザが横にいる場合において、辺が浮いた原稿に対する押さえ方の表示の一覧を示す図である。
図１８は、実施例３において、ユーザが横にいる場合において、中央が浮いた原稿に対する押さえ方の表示の一覧を示す図である。
これらの表示例は全て、図１１（ｂ）のように、カメラスキャナ101から見て右側にユーザがいる場合、つまりユーザから見て左側にカメラスキャナ101がある場合に対応し、ユーザから見たときの書画台204における表示例である。なお、図１６Ａ、図１６Ｂ、図１７、図１８において、ユーザ1100、カメラスキャナ101は、ユーザとカメラスキャナとの位置関係を明確にするための記載であり、本実施例の押さえ方の表示には含まれない。
【０１１４】
図１６Ａの（ａ）〜（ｄ）は、原稿の角のうち１箇所だけが浮いている場合の表示例を示す図である。実施例１との差分として、影領域に浮き領域が含まれる図１６（ａ）の場合、浮き領域検出部411は、ユーザに対して正面に移動してから角を押さえるよう促すメッセージ800を表示する。また、この場合、浮き領域検出部411は、ユーザが正面に移動した後の押さえ方を提示するようなアイコン801を表示する。図１６Ａ（ａ）の表示の場合、ユーザが正面に移動した後の押さえ方は、図１３Ａ（ｂ）と同様の押さえ方になる。即ち、移動後のユーザから見て原稿の右奥を右手の指で押さえる押さえ方が提示される。
【０１１５】
図１６Ｂの（ｅ）〜（ｊ）は、原稿の角のうち２箇所が浮いている場合の表示例を示す。実施例１との差分として、影領域に浮き領域が含まれる図１６Ｂの（ｆ）、（ｇ）及び（ｊ）の場合、浮き領域検出部411は、ユーザに対して正面に移動してから角を押さえるよう促すメッセージ800を表示する。また、この場合、浮き領域検出部411は、ユーザが正面に移動した後の押さえ方を提示するようなアイコン801を表示する。図１６Ｂの（ｆ）、（ｇ）、（ｊ）の表示の場合、ユーザが正面に移動した後の押さえ方は、それぞれ図１３Ｂの（ｈ）、（ｆ）、（ｉ）と同様の押さえ方になる。
【０１１６】
図１７の（ａ）〜（ｄ）は、原稿の辺のうち１箇所だけが浮いている場合の表示例を示す。実施例１との差分として、影領域に浮き領域が含まれる図１７の（ａ）、（ｃ）の場合、浮き領域検出部411は、ユーザに対して正面に移動してから角を押さえるよう促すメッセージ800を表示する。また、この場合、浮き領域検出部411は、ユーザが正面に移動した後の押さえ方を提示するようなアイコン801を表示する。図１７の（ａ）、（ｃ）の表示の場合、ユーザが正面に移動した後の押さえ方は、それぞれ図１４の（ｃ）、（ｂ）と同様の押さえ方になる。
【０１１７】
図１７の（ｅ）、（ｆ）は、原稿の辺のうち２箇所が浮いている場合の表示例を示す。実施例１との差分として、影領域に浮き領域が含まれる図１７の（ｅ）の場合、浮き領域検出部411は、ユーザに対して正面に移動したのち、原稿を９０度回転させて辺の中央を押さえるよう促すメッセージ800を表示する。また、この場合、浮き領域検出部411は、ユーザが正面に移動した後の押さえ方を提示するようなアイコン801を表示する。図１７の（ｅ）の表示の場合、ユーザが正面に移動した後の押さえ方は、図１４の（ｆ）と同様の押さえ方になる。
【０１１８】
また、実施例１との差分として、影領域に浮き領域が含まれる図１７の（ｆ）の場合、浮き領域検出部411は、ユーザに対して正面に移動したのち、辺の中央を押さえるよう促すメッセージ800を表示する。また、この場合、浮き領域検出部411は、ユーザが正面に移動した後の押さえ方を提示するようなアイコン801を表示する。図１７の（ｆ）の表示の場合、ユーザが正面に移動した後の押さえ方は、図１４の（ｅ）と同様の押さえ方になる。
【０１１９】
図１８の（ａ）、（ｂ）は、原稿の中央が浮いている場合の表示例を示す。実施例１との差分として、影領域に浮き領域が含まれる図１８の（ａ）の場合、浮き領域検出部411は、ユーザに対して正面に移動してから辺を押さえるよう促すメッセージ800を表示する。また、この場合、浮き領域検出部411は、ユーザが正面に移動した後の押さえ方を提示するようなアイコン801を表示する。図１８の（ａ）の表示の場合、ユーザが正面に移動した後の押さえ方は、図１５の（ｃ）と同様の押さえ方になる。
【０１２０】
また、実施例１との差分として、影領域に浮き領域が含まれる図１８の（ｂ）の場合、浮き領域検出部411は、ユーザに対して正面に移動し、原稿を伸ばしながら辺を押さえるよう促すメッセージ800を表示する。また、この場合、浮き領域検出部411は、ユーザが正面に移動した後の押さえ方を提示するようなアイコン801を表示する。図１８の（ｂ）の表示の場合、ユーザが正面に移動した後の押さえ方は、図１５の（ａ）と同様の押さえ方になる。
【０１２１】
以上のように、実施例３によれば、カメラスキャナ101に対するユーザの位置に応じて、浮き領域毎に適切な押さえ方をユーザに対して提示することができる。これにより、ユーザは原稿をスキャンする際、カメラスキャナと原稿の間に手が入らない押さえ方を容易に実施することができる。
【０１２２】
以上、各実施例によれば、浮き領域毎に浮きの種類を特定し、浮きの種類に応じた適切な原稿の押さえ方をユーザに提示することができる。したがって、ユーザは原稿の浮きに対して適切な押さえ方を容易に把握し、適切な押さえ方で原稿を押さえてスキャンすることができる。この結果、スタンド型スキャナで原稿の読み取りを行う場合に、原稿のエッジがユーザの手や指で隠れた状態で読み取られてしまう事態の発生を抑えることができる。
【０１２３】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１２４】
（その他の実施例）
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１２５】
1    ハンドスキャナハウジング
2    入力書面
3    １次元イメージセンサ
4    ワイドレンズ
5    照明ランプ
【図１】
2018191094.tif 000007
【図２】
2018191094.tif 000008
【図３】
2018191094.tif 000009
【図４】
2018191094.tif 000010
【図５】
2018191094.tif 000011
【図６】
2018191094.tif 000012
【図７】
2018191094.tif 000013
【図８】
2018191094.tif 000014
【図９】
2018191094.tif 000015
【図１０】
2018191094.tif 000016
【図１１】
2018191094.tif 000017
【図１２】
2018191094.tif 000018
【図１３Ａ】
2018191094.tif 000019
【図１３Ｂ】
2018191094.tif 000020
【図１４】
2018191094.tif 000021
【図１５】
2018191094.tif 000022
【図１６Ａ】
2018191094.tif 000023
【図１６Ｂ】
2018191094.tif 000024
【図１７】
2018191094.tif 000025
【図１８】
2018191094.tif 000026