以下、本発明の実施形態について、図面を参照して説明する。図1、図2を参照して、本実施形態に係る手書入力システム1の概要を説明する。以下の説明では、図1の左上側、右下側、上側、下側、右上側、左下側を、各々、読取装置2の左側、右側、前側、後側、上側、下側と定義して説明する。
図1に示すように、手書入力システム1は、読取装置2、電子ペン3、スマートフォン19等を主に備える。読取装置2は、折り畳んで携行可能な、薄型軽量の手書き入力装置である。手書入力システム1では、ユーザは電子ペン3を用いて、読取装置2に装着された紙媒体100の複数の用紙111のそれぞれに、点や線画を筆記する。以下では、線画が筆記される場合について説明する。線画には、文字、数値、記号、図形等が含まれる。読取装置2は、筆記の過程における電子ペン3の複数の位置を取得する。
スマートフォン19は、読取装置2で特定された複数の位置を取得する。スマートフォン19は、取得した複数の位置に基づき、電子ペン3によって複数の用紙111のそれぞれに筆記された線画を特定する。スマートフォン19は、特定された線画を少なくとも含む画像の画像ファイルを作成する。スマートフォン19のユーザは、作成された複数の画像ファイルのうち何れかを選択する操作を、タッチパネル191を介して入力する。スマートフォン19は、選択された画像ファイルに対応する画像を、ディスプレイ192に表示させる。ユーザは、電子ペン3によって複数の用紙111のそれぞれに筆記された線画と同一形状の線画を含む画像を、ディスプレイ192を介して視認できる。
図2に示すように、読取装置2は、左右一対の左読取装置2L、右読取装置2R、フラットケーブル6,及びカバー4を構成の主体とする。左読取装置2L及び右読取装置2Rは、矩形薄板状である。左読取装置2L及び右読取装置2Rは、カバー4の前面に左右方向に見開き可能に配置されている。左読取装置2L及び右読取装置2Rは、フラットケーブル6によって電気的に接続されている。左読取装置2L及び右読取装置2Rは、フラットケーブル6が伸張したり曲折したりすることによって、見開いた状態と閉じた状態との間で変形可能である。左読取装置2L及び右読取装置2Rは、見開いた状態で左右方向に並んで配置される。右読取装置2Rは、3つのLED5を上端に備える。LED5は、読取装置2の状態をユーザに通知可能である。カバー4は、袋状の袋部4Aを左側に備える。左読取装置2Lは、袋部4A内に差し込まれることでカバー4に着脱可能に装着される。右読取装置2Rは、樹脂フィルム等によってカバー4の右前面に貼り付けられる。
図1に示すように、読取装置2の前面には紙媒体100が着脱可能に装着される。紙媒体100は、見開き可能な冊子状である。紙媒体100では、一対の表紙(表表紙110L及び裏表紙110R)と複数の用紙111とを備える。表表紙110L、裏表紙110R、及び、複数の用紙111のそれぞれは矩形状である。表表紙110L、裏表紙110R、及び、複数の用紙111は、それぞれの長手方向に延びる一辺で綴じられている。複数の用紙111の綴じられた部分は、上下方向に延びる。一例として、紙媒体100はA5サイズのノートである。複数の用紙111のそれぞれに予め印刷された図柄のレイアウト等を示すフォーマットは、紙媒体100の種別毎に異なる。
紙媒体100は、表表紙110Lが左読取装置2Lの前面である検出面201L(図2参照)に載置され、且つ、裏表紙110Rが右読取装置2Rの前面である検出面201R(図2参照)に載置されるように、読取装置2に装着される。この場合、紙媒体100は見開いた状態になる。本実施形態では、紙媒体100は、粘着テープ等によって、紙媒体100が読取装置2に位置決めされた状態で装着される。即ち、左読取装置2L及び右読取装置2Rは、それぞれ、表表紙110L及び裏表紙110Rと一体的に移動する。ユーザは、電子ペン3を用いて紙媒体100の複数の用紙111のそれぞれに線画を筆記できる。
なお、読取装置2は、右読取装置2Rのみを備えた構成であってもよい。この場合、読取装置2に装着可能な紙媒体100として、A5サイズのレポート用紙が使用されてもよい。
電子ペン3は、公知の電磁誘導式の電子ペンであり、筒体30、芯体31、コイル32、可変容量コンデンサ33、基板34、コンデンサ35、及びインク収納部36を主に備える。筒体30は、円柱状の形状を有し、芯体31の一部、コイル32、可変容量コンデンサ33、基板34、コンデンサ35、及びインク収納部36を内部に収容する。芯体31は、電子ペン3の先端部に設けられている。芯体31は図示外の弾性部材によって、電子ペン3の先端側に付勢されている。芯体31の先端部は、筒体30の外部に突出している。芯体31の後端側は、インクが収納されているインク収納部36に接続されている。インク収納部36は、芯体31にインクを供給する。ユーザが電子ペン3を用いて複数の用紙111のそれぞれに筆記すると、複数の用紙111のそれぞれに、インクによって線画が形成される。
コイル32は、インク収納部36の周囲に巻回された状態で、芯体31と可変容量コンデンサ33との間に保持されている。可変容量コンデンサ33は、基板34によって電子ペン3の内部に固定されている。基板34には、コンデンサ35が搭載されている。コンデンサ35及び可変容量コンデンサ33はコイル32に並列に接続され、周知の共振(同調)回路を構成する。
スマートフォン19は、タッチパネル191及びディスプレイ192を備える。タッチパネル191は、各種指示を入力するために使用される。ディスプレイ192は、画像ファイルに対応する画像を表示可能である。なお、スマートフォン19の代わりに汎用PCやタブレットPCが用いられてもよい。
図3を参照して、手書入力システム1の電気的構成を説明する。まず、読取装置2の電気的構成と、読取装置2が座標データを検出する原理の概要とを説明する。読取装置2は、センサ基板7L,7R、メイン基板20、センサ制御基板28,29、入力部25、及び3つのLED5を備える。センサ基板7L,7Rは、それぞれ、左読取装置2L、右読取装置2R内に設けられる。入力部25及び3つのLED5は、右読取装置2Rに設けられる。3つのLED5のそれぞれの色は、黄色、緑色、及び赤色である。
メイン基板20は、CPU21、RAM22、フラッシュROM23、及び無線通信部24を備える。RAM22、フラッシュROM23、及び無線通信部24は、CPU21に電気的に接続されている。CPU21は、読取装置2の制御を行う。RAM22は、演算データ等の各種データを一時的に記憶する。
フラッシュROM23には、CPU21が読取装置2を制御するために実行するプログラムが記憶される。読取装置2は、後述する無線通信部24を介して通信可能な外部機器(図示外)又はネットワークからプログラムを受信して、フラッシュROM23にインストールできる。なお、読取装置2は、図示外の媒体読取装置(例えば、メモリカードスロット)を備えてもよい。読取装置2は、記憶媒体(例えば、メモリカード)に記憶されているプログラムを、媒体読取装置で読み取ってフラッシュROM23にインストールしてもよい。
又、フラッシュROM23には、複数の用紙111のそれぞれのフォーマット毎にレイアウトデータが記憶される。レイアウトデータは、複数の用紙111のそれぞれの領域(例えば、後述する第1筆記領域131、第2筆記領域132(図5参照))の位置で電子ペン3位置を検出するための検出領域140(例えば、第1検出領域141、第2検出領域142(図4参照))を、座標データによって示す。又、フラッシュROM23には、ストロークデータが記憶される。
無線通信部24は、外部の電子機器と近距離無線通信を実行するためのコントローラである。近距離無線通信の規格の具体例として、Bluetooth(登録商標)が挙げられる。入力部25及び3つのLED5は、CPU21に電気的に接続されている。入力部25は、読取装置2に対する指示を入力するためのスイッチである。
センサ基板7L、7Rには、上下方向及び左右方向の各々に細長いループコイルが多数配列されている。センサ基板7Lは、センサ制御基板28のASIC28Aに電気的に接続されている。ASIC28Aは、電子ペン3による筆記動作がセンサ基板7L上で行われた場合に、電子ペン3の位置を示す座標データを検出する。センサ基板7Rは、センサ制御基板29のASIC29Aに電気的に接続されている。ASIC29Aは、電子ペン3による筆記動作がセンサ基板7R上で行われた場合に、電子ペン3の位置を示す座標データを検出する。ASIC28A,29Aのうち、マスター側のASIC28AはCPU21に直接接続され、スレーブ側のASIC29AはASIC28Aを介してCPU21に接続されている。
以下、図4に示すように、読取装置2(図1参照)の前面のうちセンサ基板7L、7R(図3参照)においてループコイルが配列されている部分に対応する領域を、検出領域140という。検出領域140のうち、センサ基板7Lにおいてループコイルが配列されている部分に対応する領域を、左検出領域140Lという。検出領域のうち、センサ基板7Rにおいてループコイルが配列されている部分に対応する領域を、右検出領域140Rという。ASIC28Aは、左検出領域140Lの左上の角を座標の原点O(0,0)とする。ASIC29Aは、右検出領域140Rの左上の角を座標の原点O(0,0)とする。ASIC28A、29Aは、左右方向(横方向)及び上下方向(縦方向)を、それぞれ、座標のX軸方向及びY軸方向とする。ASIC28A、29Aは、原点Oから右に向かう方向をX軸方向の正方向とし、原点Oから下に向かう方向をY軸方向の正方向とする。検出領域140に含まれる複数の領域(第1検出領域141、第2検出領域142)の詳細の説明は後述する。
図3を参照し、センサ基板7L,7R上で電子ペン3による筆記動作が行われた場合に座標データが検出される原理を、概略的に説明する。CPU21は、ASIC28A,29Aを制御して、センサ基板7L,7Rの各々のループコイルに、一本ずつ特定の周波数の電流(励磁用送信電流)を流す。これにより、センサ基板7L,7Rの各々のループコイルから磁界が発生する。この状態で、例えばユーザが電子ペン3を用いて、読取装置2に装着された紙媒体100の複数の用紙111のそれぞれに線画を筆記する動作を行うと、電子ペン3はセンサ基板7L,7Rに近接する。そのため、電子ペン3の共振回路は電磁誘導によって共振し、誘導磁界を生じる。
次に、CPU21はASIC28A,29Aを制御して、センサ基板7L,7Rの各々のループコイルからの磁界の発生を停止させる。センサ基板7L,7Rの各々のループコイルは、電子ペン3の共振回路から発せられる誘導磁界を受信する。CPU21はASIC28A,29Aを制御して、センサ基板7L,7Rの各々のループコイルに流れる信号電流(受信電流)を検出させる。ASIC28A,29Aがこの動作を全てのループコイルについて一本ずつ実行し、受信電流を検出することによって、電子ペン3の位置を示す座標データが検出される。
更に、電子ペン3を用いて複数の用紙111のそれぞれに線画を筆記する動作が行われている状態では、芯体31に筆圧が付与される。コイル32のインダクタンスは、芯体31に付与される筆圧に応じて変化する。これにより、芯体31に付与される筆圧に応じて、電子ペン3の共振回路の共振周波数が変化する。CPU21は、共振周波数の変化(位相変化)を検出し、電子ペン3が紙媒体100の複数の用紙111のそれぞれに接触しているか否かを判断する。つまりCPU21は、紙媒体100の複数の用紙111のそれぞれに線画が筆記されている状態であるか否かを判断できる。
なお、上記実施形態における電子ペン3の位置の検出方法は、他の方法に変更できる。例えば読取装置2は、上面にタッチパネルを備えていてもよい。この場合、電子ペン3によって筆記された位置は、タッチパネルが押下された位置に相当する。従って、読取装置2のCPU21は、タッチパネルが押下された位置を示す座標データを、タッチパネルから取得できる。
次に、スマートフォン19の電気的構成を説明する。スマートフォン19は、CPU41、RAM42、フラッシュROM43、無線通信部44、入力回路45、出力回路46、タッチパネル191、及びディスプレイ192を主に備える。CPU41は、スマートフォン19の制御を行う。CPU41は、RAM42、フラッシュROM43、無線通信部44、入力回路45、及び出力回路46と電気的に接続している。
RAM42は、種々の一時データを記憶する。無線通信部44は、外部の電子機器と近距離無線通信を実行するためのコントローラである。近距離無線通信の規格の具体例として、Bluetooth(登録商標)が挙げられる。入力回路45は、CPU41へタッチパネル191からの指示を送る制御を行う。出力回路46は、CPU41からの指示に応じてディスプレイ192に画像を表示する制御を行う。
フラッシュROM43には、CPU41が実行するプログラムが記憶される。スマートフォン19は、図示外の媒体読取装置(例えば、メモリカードスロット)を備える。スマートフォン19は、記憶媒体(例えば、メモリカード)に記憶されているプログラムを、媒体読取装置で読み取ってフラッシュROM43にインストールできる。又、スマートフォン19は、無線通信部44を介して通信可能な外部機器(図示外)又はネットワークからプログラムを受信して、フラッシュROM43にインストールしてもよい。
又、フラッシュROM43には、複数の用紙111のそれぞれのフォーマット毎にレイアウトデータが複数記憶される。又、フラッシュROM43には、後述する印刷図柄データが、複数の用紙111のそれぞれのフォーマット毎に複数記憶される。
CPU41は、読取装置2からストロークデータを取得するための操作がタッチパネル191を介して行われた場合、無線通信部44を介して読取装置2との間で近距離無線通信を実行する。読取装置2のフラッシュROM23に記憶されているストロークデータは、読取装置2からスマートフォン19に無線送信される。CPU41は、読取装置2から無線送信されたストロークデータを受信し、RAM42に記憶する。CPU41は、RAM42に記憶したストロークデータに基づいて、複数の用紙111のそれぞれに電子ペン3によって筆記された線画と同一形状の線画を含む画像ファイルを作成する。なお、読取装置2からスマートフォン19に対してストロークデータが送信される場合の通信は、無線通信に限定されず有線通信であってもよい。
図5を参照し、紙媒体100の複数の用紙111の具体例である、複数の用紙121(用紙1211、1212、1213・・・)について説明する。図5の左側、右側、上側、下側を、それぞれ、複数の用紙121のそれぞれの左側、右側、上側、下側と定義して説明する。紙媒体100の表表紙110L、裏表紙110R、及び、複数の用紙121のそれぞれの一辺は、紙媒体100の背127で綴じられており、見開き可能となっている。図5は、紙媒体100を見開いた状態を示している。複数の用紙121は、会議の議事録を書き込むための用紙である。複数の用紙121の1頁分が、1回分の会議の議事録を書き込む用紙に相当する。複数の用紙121のそれぞれは、第1筆記領域131及び第2筆記領域132を有する。
第2筆記領域132は、電子ペン3を用いてユーザが議事録に関する線画を筆記するための領域である。第2筆記領域132は、定型筆記領域132A及び自由筆記領域132Bを有する。定型筆記領域132Aは、複数の用紙121のそれぞれの上側に設けられる。定型筆記領域132Aは、会議の日程(DATE」)、表題(TITLE)、時刻(TIME)、及び、場所(PLACE)を筆記するための領域である。定型筆記領域132Aは、「DATE」「TITLE」「TIME」及び「PLACE」のそれぞれに対応する線画を筆記する領域が、複数の用紙121のそれぞれに印刷された枠線1321によって特定されている。自由筆記領域132Bは、複数の用紙121のそれぞれのうち、定型筆記領域132A、及び、後述する第1筆記領域131以外の部分である。自由筆記領域132Bは、会議の議事内容に関する線画を自由に筆記するための領域である。
図5(a)の場合、定型筆記領域132Aに、「6」(/)「1」(DATE)、「発明発掘」(TITLE)、「8」(:)「30」(〜)「10」(:)「30」(TIME)、及び、「応接」(PLACE)が筆記されている。自由筆記領域132Bに、文字列「ステップS1:比較処理」「ステップS2:算出処理」、及び、図形(フローチャート)が筆記されている。
第1筆記領域131は、複数の用紙121のそれぞれの右下に設けられる。第1筆記領域131は、許可領域131A及び禁止領域131Bを有する。許可領域131Aは、複数の用紙121のそれぞれに印刷された正方形の図柄によって示される。許可領域131Aの内部は白色で塗りつぶされている。第1筆記領域131は、第2筆記領域132(定型筆記領域132A及び自由筆記領域132B)に筆記された線画を頁単位で保存する場合に、チェックマーク128(図6参照)がユーザによって筆記される領域である。
禁止領域131Bは、許可領域131Aの周囲に設けられる。禁止領域131Bは、複数の用紙121のそれぞれに印刷された正方形の図柄によって示される。禁止領域131Bの内部は、許可領域131Aを除いて黒で塗りつぶされている。禁止領域131Bの一辺の長さは、許可領域131Aの一辺の長さの略3倍である。許可領域131Aは禁止領域131Bの中心に配置される。禁止領域131Bは、ユーザによる線画の筆記が禁止された領域である。禁止領域131Bは、許可領域131Aに筆記されたチェックマークを、第2筆記領域132の自由筆記領域132Bに筆記された線画と確実に区別するために設けられている。
なお、許可領域131A及び禁止領域131Bの形状は正方形でなくてもよく、円形、楕円形、及び、多角形の何れかであってもよい。又、第1筆記領域131には許可領域131Aのみを有していてもよく、禁止領域131Bは設けられなくてもよい。
図5(a)は、複数の用紙121の全てが裏表紙110R側に配置された場合を示している。この場合、ユーザは、複数の用紙121のうち1枚目の用紙1211の表側、即ち、用紙121の1頁目1211Aに電子ペン3で筆記することが可能となる。1枚目の用紙1211のうち、背127に近接する部分、より詳細には、背127で綴じられた一辺126Aから、用紙1211のうち一辺126Aに対向する他の一辺126B側に所定距離D分離隔した部分126Cまでの間の部分(以下、「貼付部分125」という。)は、表表紙110Lのうち背127に近接する部分に貼付されている。従って、1枚目の用紙1211が裏表紙110R側に配置された状態で、1枚目の用紙1211は、一辺126Aから左側に所定距離D分延び、部分126Cで折れ曲がって右側に延びる。一方、他の複数の用紙121(用紙1212、1213・・・)は、貼付部分を有していないので、背127で綴じられた一辺から右側に延びる。従って、裏表紙110R側に配置された1枚目の用紙1211の他の一辺126Bは、他の複数の用紙121(用紙1212、1213・・・)のそれぞれの他の一辺126Dよりも、所定距離D分左側に配置される。
図5(b)は、図5(a)の状態から、1枚目の用紙1211を左側に捲った後の状態を示している。1枚目の用紙1211が表表紙110L側に配置され、他の複数の用紙121(用紙1212、1213・・・)の全てが裏表紙110R側に配置されている。1枚目の用紙1211は、背127で綴じられた一辺126Aから直接左側に延びる。一方、他の用紙121(用紙1212、1213・・・)は、背127で綴じられた一辺126Eから右側に延びる。1枚目の用紙1211の裏側、即ち、複数の用紙121のうち2頁目1212Bと、2枚目の用紙1212の表側、即ち、複数の用紙121のうち3頁目1212Aとは、見開いた状態で配置される。ユーザは、複数の用紙121のうち2頁目1211B及び3頁目1212Aに電子ペン3で筆記することが可能となる。
なお図5では、理解を容易化するために、他の複数の用紙121(用紙1212、1213・・・)のそれぞれの他の一辺126Dの位置が左右方向にずれて示されている。しかしながら実際には、それぞれの他の一辺126Dの左右方向の位置のずれは小さい。
なお、読取装置2を、右読取装置2Rのみを備えた構成とした場合、紙媒体100は、裏表紙110Rが右読取装置2Rに配置された状態で読取装置2に保持されてもよい。この場合、ユーザは、裏表紙110R側に配置された用紙121の頁(1頁目1211A、3頁目1212A、5頁目・・・)に電子ペン3で線画を筆記することが可能となる。
図3を参照し、読取装置2のCPU21が、複数の用紙121のそれぞれに筆記された線画に基づいてストロークデータを作成する場合の処理の概要を説明する。読取装置2のCPU21は、電子ペン3に対して筆圧が付与されている間、ASIC28A,29Aを介して電子ペン3の位置を示す座標データを一定周期で繰り返し取得する。CPU21は、取得された複数の座標データのそれぞれに、座標データが取得された時刻を示す時間データを関連付けて、RAM22の第1領域に記憶する。電子ペン3に対する筆圧の付与が終了した時点でRAM22の第1領域に記憶されている複数の座標データ及び複数の時間データは、複数の用紙121のそれぞれに電子ペン3によって筆記された線画を構成する1つの線分の位置を示す。以下、1つの線分の位置を示す複数の座標データ、及び、複数の座標データのそれぞれに関連付けられた複数の時間データを、総称して線分データという。
CPU21は、電子ペン3に対する筆圧の付与が終了したと判断した場合、RAM22の第1領域に記憶された線分データを、RAM22の第2領域に記憶し、RAM22の第1領域をクリアする。ユーザが電子ペン3を用いて第2筆記領域132に線分を1つずつ筆記する毎に、筆記された線分に対応する線分データがRAM22の第2領域に順に記憶される。
CPU21は、RAM22の第2領域に線分データが記憶された場合、記憶された線分データに基づいて、複数の用紙121のそれぞれの第1筆記領域131の許可領域131A(図5参照)に線画が筆記されたか判断する。具体的な処理は次の通りである。
図4に示すように、CPU21は、フラッシュROM23に記憶されたレイアウトデータに基づいて、検出領域140のうち第1検出領域141を特定する。第1検出領域141は、左読取装置2L及び右読取装置2Rに載置された複数の用紙121の何れかの第1筆記領域131の許可領域131A(図5参照)に、電子ペン3で線画を筆記する動作が行われた場合に、電子ペン3の位置を検出するための領域である。
第1検出領域141の形状は、左右方向に長い長方形である。複数の用紙121のそれぞれに印刷された許可領域131Aの左右方向の長さ(以下、「第1筆記長さ」という。)よりも、第1検出領域141の左右方向の長さ(以下、「第1検出長さ」という。)の方が長い。複数の用紙121のそれぞれに印刷された許可領域131Aの上下方向の長さ(以下、「第2筆記長さ」という。)よりも、第1検出領域141の左右方向の長さ(以下、「第2検出長さ」という。)の方が長い。第1筆記長さに対する第1検出長さの比(以下、「第1比」という。)は、第2筆記長さに対する第2検出長さの比(以下、「第2比」という。)よりも大きい。
なお、第1検出領域141の形状、及び大きさは変更できる。例えば、第1検出領域141は、許可領域131Aよりも大きい正方形であってもよいし、許可領域131Aの対角線の長さよりも大きい直径を有する円形であってもよい。例えば、第1検出領域141は、横方向に長い楕円形であってもよい。
CPU21は、第1検出領域141の何れかの位置を示す座標データが、RAM22の第2領域に記憶された線分データに含まれている場合、許可領域131Aに電子ペン3で線画が筆記されたと判断する。この場合、CPU21は、RAM22の第2領域に記憶された線分データを含むストロークデータを作成する。ストロークデータには、許可領域131Aに線画が筆記されてから、次に許可領域131Aに線画が筆記されるまでの間にRAM22の第2領域に記憶された線分データが全て含まれる。CPU21は、作成したストロークデータをフラッシュROM23に記憶する。
図3を参照し、スマートフォン19のCPU41が、読取装置2からストロークデータを取得して画像ファイルを作成し、ディスプレイ192に画像を表示させる場合の処理の概要を説明する。CPU41は、ストロークデータの送信を要求するデータ要求コマンド(後述)を、読取装置2に送信する。読取装置2のCPU21は、スマートフォン19からデータ要求コマンドを受信した場合、フラッシュROM23に記憶されたストロークデータをスマートフォン19に送信する。スマートフォン19のCPU41は、読取装置2から送信されたストロークデータを受信し、RAM42に記憶する。
CPU41は、RAM42に記憶したストロークデータに含まれる線分データのうち、第2筆記領域132(定型筆記領域132A及び自由筆記領域132B(図5参照))に筆記された線画を示す線分データを特定する。具体的な処理は次の通りである。
図4に示すように、CPU41は、フラッシュROM43に記憶されたレイアウトデータに基づいて、検出領域140のうち第2検出領域142を特定する。第2検出領域142は、左読取装置2L及び右読取装置2Rに載置された複数の用紙121の第2筆記領域132(定型筆記領域132A及び自由筆記領域132B)に電子ペン3で線画を筆記する動作が行われた場合に、電子ペン3の位置を検出するための領域である。第2検出領域142は、領域142A〜142Eを含む。領域142A、142B、142C、142Dは、それぞれ、第1筆記領域131の「DATA」、「TITLE」「TIME」「PLACE」のそれぞれを筆記する領域に対応する。領域142Eは、自由筆記領域132Bに対応する。領域142A〜142Dの位置及び大きさは、2頁目1211B及び3頁目1212A(図5参照)に印刷された定型筆記領域132A(図5参照)の「DATA」、「TITLE」「TIME」「PLACE」のそれぞれを筆記する領域の位置及び大きさと略同一である。領域142Eの位置及び大きさは、2頁目1211B及び3頁目1212Aのうち、第1筆記領域131及び定型筆記領域132Aを除く部分の位置及び大きさと略同一である。
CPU41は、RAM42に記憶されたストロークデータに含まれる線分データのうち、第2検出領域142の何れかの位置を示す座標データを含む線分データを、第2筆記領域132に筆記された線画(以下、「第2線画」ともいう。)を示す線分データ(以下、「第2線画データ」ともいう。)として特定する。CPU41は、第2線画データに基づいて第2線画を特定するために、以下の処理を行う。
CPU41は、第2線画データのうち、1つの線分に対応する線分データを、線分毎に順番に抽出する。CPU41は、抽出した線分データに対応する複数の座標データによって示される複数の位置の間を、関連付けられた複数の時間データによって示される時刻の順番に直線で結ぶ。CPU41は、順番に抽出したそれぞれの線分データ毎に1つずつ得られる線分を結合する。CPU41は、結合した複数の線画を第2線画として特定する。
次にCPU41は、特定された第2線画に枠線1321(図5参照)を重ね合わせて画像を生成する。具体的な処理は次の通りである。CPU41は、フラッシュROM23に記憶された印刷図柄データに基づいて枠線1321を特定する。なお、印刷図柄データには、2頁目1211B及び3頁目1212Aに印刷された枠線1321の位置を示す座標データが、枠線1321を示すデータとして含まれる。CPU41は、印刷図柄データの座標系と、第2線画の基となる線分データの座標系とが一致するように、枠線1321と第2線画とを重ね合わせる。これによって、第2線画が筆記された複数の用紙121のうち1頁分の全体を再現した画像が生成される。
CPU41は、生成された画像の画像ファイルを作成する。画像ファイルは、線画をデシタル画像によって示すデータファイルである。デジタル画像の例として、ベクター画像やラスター画像が挙げられる。画像ファイルとしてJPEGファイル、GIFファイル、PNGファイル、BMPファイルが挙げられる。
次にCPU41は、定型筆記領域132Aに筆記された文字を認識し、作成した画像ファイルに関連付けてフラッシュROM43に記憶する。具体的な処理は次の通りである。CPU41は、フラッシュROM43に記憶されたレイアウトデータに基づいて、第2検出領域142(図4参照)の領域142A〜142Dの何れかの位置を示す座標データを含む線分データを、領域142A〜142D毎に特定する。これによってCPU41は、第2線画データのうち、定型筆記領域132Aに筆記された線画(以下、「定型線画」という。)を示す線分データ(以下、「定型線画データ」という。)を特定する。
CPU41は、特定した定型線画データに基づき、「DATE」「TITLE」「TIME」及び「PLACE」のそれぞれに対応する領域に筆記された定型線画を特定する。CPU41は、定型線画に対し、周知のパターンマッチング技術を適用させる。これによってCPU41は、定型線画を複数の文字(以下、「定型文字」という。)として特定する。
CPU41は、作成した画像ファイルに定型文字を関連情報として関連付け、フラッシュROM43に記憶する。例えば、図5(b)の2頁目1211Bに筆記された内容に基づいて画像ファイルが作成された場合、定型文字(「6/5」(DATE)、「侵害調査」(TITLE)、「13:00〜14:00」(TIME)、及び、「1A」(PLACE))が、複数のグラフ129を含む画像ファイルの関連情報として関連付けられ、フラッシュROM43に記憶される。
CPU41は、フラッシュROM43に記憶した関連情報を、画像ファイル毎にディスプレイ192に表示させることができる。CPU41は、ディスプレイ192に表示させた関連情報の何れかを選択する操作を、タッチパネル191を介して検出した場合、選択された関連情報に対応する画像ファイルに基づいて、ディスプレイ192に画像を表示させる。
図5を参照し、1頁目1211Aに筆記された内容に基づいて作成された画像ファイルの関連情報が選択され、ディスプレイ192に画像が表示される場合について、具体的に説明する。図5(a)に示すように、1枚目の用紙1211が裏表紙110R側に配置された場合、1枚目の用紙1211は、他の複数の用紙121(用紙1212、1213・・・)よりも所定距離D分左側に配置される。従って、1頁目1211Aの定型筆記領域132Aは、3頁目1212Aの定型筆記領域132Aよりも所定距離D分左側に配置される。このため、1頁目1211Aの定型筆記領域132Aに筆記された定型線画「6」(/)「1」(DATE)、「発明発掘」(TITLE)、「8」(:)「30」(〜)「10」(:)「30」(TIME)、及び、「応接」(PLACE)のそれぞれは、3頁目1212Aの枠線1321に対して左側にずれる。又、1頁目1211Aの自由筆記領域132Bに筆記された文字列「ステップS1:比較処理」「ステップS2:算出処理」、及び、図形(フローチャート)も同様に、3頁目1212Aの自由筆記領域132Bに対しての左側にずれる。
なお、印刷図柄データには、3頁目1212Aに印刷された枠線1321の位置を示す座標データが、枠線1321を示すデータとして含まれている。従って、1頁目1211Aの定型筆記領域132Aに筆記された定型線画がそのまま枠線1312に重ね合わせられ、画像が作成された場合、図6(a)に示すように、定型線画1322「6」(/)「1」(DATE)、「発明発掘」(TITLE)、「8」(:)「30」(〜)「10」(:)「30」(TIME)、及び、「応接」(PLACE)は、枠線1321の領域内に収まらず、左側にずれた位置に配置される。又、文字列「ステップS1:比較処理」「ステップS2:算出処理」、及び、図形(フローチャート)も同様に、3頁目1212Aの自由筆記領域132Bに対して左側に片寄った状態になる。
又、レイアウトデータによって特定される第2検出領域142(領域142A〜142D)の位置及び大きさは、3頁目1212Aに印刷された第1筆記領域131の「DATA」「TITLE」「TIME」「PLACE」のそれぞれを筆記する領域の位置及び大きさと略等しい。このため、1頁目1211Aの定型筆記領域132Aの「DATA」「TITLE」「TIME」「PLACE」に筆記された定型線画は、第2検出領域142の領域142A〜142Dに収まらない場合がある。この場合、CPU41は、定型筆記領域132Aに筆記された定型線画をそのままパターンマッチング技術によって認識できないので、定型文字を特定できない。従って、CPU41は、定型文字を関連情報として画像ファイルに関連付けることができない。
更に、1頁目1211Aの許可領域131Aは、3頁目1212Aの許可領域131Aよりも、所定距離D分左側に配置される。このため、1頁目1211Aの許可領域131Aに筆記される線画(チェックマーク128(図6参照))は、3頁目1212Aの許可領域131Aに対して左側にずれる。
これに対し、本実施形態では、1頁目1211Aの定型筆記領域132Aに筆記された定型線画と枠線1321とがずれないように双方を重ね合わせ、定型線画から定型文字を適切に特定し、自由筆記領域132Bに筆記された文字列等のずれを解消させるために、読取装置2のCPU21及びスマートフォン19のCPU41において以下の処理が行われる。
図6に示すように、読取装置2のCPU21は、1頁目1211Aの許可領域131A(図5参照)に筆記されたチェックマーク128を囲む最小の四角形128Aを特定する。CPU21は、特定した四角形128Aの2つの対角線128Tの交点を、第1基準点128Cとして特定する。CPU21は、第1基準点128Cの位置を示す座標データ(以下、「第1基準座標データ」という。)を、ストロークデータとともにスマートフォン19に送信する。
スマートフォン19のCPU41は、ストロークデータ、及び、第1基準点128Cの位置を示す第1基準座標データを、読取装置2から受信する。CPU41は、第1検出領域141のうち、2頁目1211B及び3頁目1212Aの許可領域131Aの正方形の2つの対角線131Tの交点に対応する位置を、第2基準点131Cとして特定する。なお、第2基準点131Cの位置を示す座標データ(以下、「第2基準座標データ」という。)は、予めフラッシュROM43に記憶されている。CPU41は、フラッシュROM43に記憶された第2基準座標データを読み出すことによって、第2基準点131Cを特定する。
CPU41は、第2基準点131CのX座標から、第1基準点128CのX座標を減算した値dxを、補正量dxとして特定する。なお、チェックマーク128は1頁目1211Aの許可領域131Aに対して筆記されているので、3頁目1212Aの許可領域131Aに対して所定距離D分左側にずれている。このため、第2基準点131CのX座標は、第1基準点128CのX座標よりも大きくなるので、補正量dxは正の値となる。
CPU41は、RAM42に記憶されたストロークデータに含まれる線分データのうち第2筆記領域132に筆記された線画を示す線分データ(第2線画データ)を、算出した補正量dxによって補正する。具体的には、CPU41は、第2線画データに含まれる座標データのX座標に、補正量dxを加算する。これによって、第2線画を補正量dx分右側に移動させる。これによって、図6(b)に示すように、1頁目1211Aの定型筆記領域132Aに筆記された定型線画1322は、枠線1321の「DATA」「TITLE」「TIME」「PLACE」のそれぞれの領域に収まる。又、1頁目1211Aの自由筆記領域132Bに筆記された文字列「ステップS1:比較処理」「ステップS2:算出処理」、及び、図形(フローチャート)は、領域の中央に移動する。
又、CPU41は、補正量dxに基づいて補正された定型線画データに基づいて特定される定型線画に対し、パターンマッチング技術を適用する。なお、補正量dxに基づいて定型線画データが補正されることによって、「DATA」、「TITLE」「TIME」「PLACE」に筆記された定型線画は、第2検出領域142の領域142A〜142Dに収まる。このため、CPU41は、定型線画をパターンマッチング技術によって認識し、定型文字を特定できる。従って、CPU41は、定型文字を関連情報として画像ファイルに関連付けることができる。
なお、図4、図6に示すように、第1検出領域141は左右方向に長い長方形を有している。このため、1頁目1211Aの許可領域131Aに筆記されるチェックマーク128(図6参照)が、2頁目1211B及び3頁目1212Aの許可領域131Aに対して左側にずれた場合でも、CPU21は、第1検出領域141に基づいてチェックマーク128を特定できる。
なお、上記において、第2基準点131CのX軸方向の座標が、第1基準点128CのX軸方向の座標よりも小さい場合、補正量dxは負の値となる。この場合、第2線画データに含まれる座標データのX座標から補正量dxが減算される。これによって、第2線画は左側に補正量dx分移動する。
なお、図6において、第1基準点128Cは、チェックマーク128を囲む四角形128Aの2つの対角線の交点でなくてもよい。他の点を第1基準点とする変形例は後述する。又、第2基準点131Cは、許可領域131Aの2つの対角線131Tの交点でなくてもよい。例えば第2基準点131Cは、許可領域131Aを示す正方形上の特定の位置であってもよい。又、第1検出領域141内の特定の位置であってもよい。
図7を参照し、読取装置2のCPU21によって実行される第1メイン処理を説明する。CPU21は、読取装置2の電源がONされた場合に、フラッシュROM23に記憶されたプログラムに基づいて動作することで、第1メイン処理を開始する。
はじめにCPU21は、次の初期化処理を実行する(S11)。CPU21は、RAM22に記憶されたデータをクリアする。CPU21は、ASIC28A,29Aの制御を開始する。これによってCPU21は、読取装置2に装着された紙媒体100の用紙111に電子ペン3を用いて線画が筆記されているか否かを判断できる状態になる。又、CPU21は、電子ペン3を用いて線画が筆記されている状態であると判断した場合に、電子ペン3の位置を示す座標データを取得できる状態になる。
CPU21は、読取装置2に装着された紙媒体100の複数の用紙111のフォーマットを特定する(S13)。具体的には、CPU21は次のようにしてフォーマットを特定する。はじめにユーザ8は、表表紙110Lの隅に印刷された図示外の複数のチェックボックスの位置に、複数の用紙111のフォーマットに対応する順番で電子ペン3によって線画を筆記する。CPU21は、線画が筆記された位置を示す複数の座標データを順番に取得し、線画が筆記された位置、及び、線画が筆記された順番を特定する。CPU21は、特定した位置及び順番に対応する複数の用紙111のフォーマットを特定する(S13)。以下、複数の用紙121(図5参照)が読取装置2に装着され、複数の用紙121のフォーマットが特定された場合を例に挙げて具体的に説明する。
CPU21は、複数の用紙121のフォーマットに対応するレイアウトデータを、フラッシュROM23から選択する(S15)。CPU21は、選択したレイアウトデータに基づいて、第1検出領域141(図4参照)を特定する(S16)。
CPU21は、電子ペン3に付与された筆圧に基づいて、複数の用紙121の何れかに線画が筆記されている状態であるかを判断する(S21)。CPU21は、複数の用紙121の何れかに線画が筆記されている状態であると判断した場合(S21:YES)、座標データを取得する。CPU21は、更に、取得された座標データが検出された時刻を示す時間データを取得する(S35)。CPU21は、取得した座標データ及び時間データを関連付け、RAM22の第1領域に記憶する(S35)。
CPU21は、電子ペン3による1つの線分の筆記が終了するまで、取得した座標データ及び時間データをRAM22の第1領域に記憶する処理を繰り返す。電子ペン3による線分の筆記が終了した場合、1つの線分に対応する複数の座標データ及び複数の時間データが線分データとしてRAM22の第1領域に記憶された状態になる。CPU21は、RAM22の第1領域に記憶された線分データを、RAM22の第2領域に記憶する(S35)。
CPU21は、第1筆記領域131の許可領域131A(図5参照)に線画が筆記されたかを、S35でRAM22の第1領域に記憶した線分データに基づいて判断する(S37)。具体的には、CPU21は、座標データが、S16の処理によって特定された第1検出領域141外の位置を示している場合、許可領域131Aに線画が筆記されていないと判断する(S37:NO)。この場合、第2筆記領域132に線画が筆記されている。CPU21は、RAM22の第1領域に記憶された線分データを削除する(S53)。CPU21は処理をS21に戻す。一方、CPU21は、取得した線分データの座標データが、第1検出領域141内の位置を示している場合、許可領域131Aに線画(チェックマーク128(図6参照))が筆記されたと判断する(S37:YES)。以下、許可領域131Aにチェックマーク128が筆記された場合を例に挙げて説明する。以下、許可領域131Aに筆記されたと判断された場合にRAM22の第1領域に記憶されている線分データが「第1線画データ」に対応し、チェックマーク128が「第1線画」に対応する。
CPU21は、RAM22の第1領域に記憶された第1線画データに基づいて、対応するチェックマーク128(第1線画)の長さを算出する(S39)。CPU21は、算出したチェックマーク128の長さが10mmよりも大きいか判断する(S41)。CPU21は、長さが10mm以下であると判断した場合(S41:NO)、処理をS45に進める。CPU21は、チェックマーク128を囲む最小の四角形128A(図6参照)を特定し、四角形128Aの2つの対角線128Tの交点を、第1基準点128Cとして特定する(S45)。CPU21は、特定した第1基準点128Cの位置を示す第1基準座標データを、フラッシュROM43に記憶する(S45)。CPU21は処理をS47に進める。
一方、CPU21は、長さが10mmよりも大きいと判断した場合(S41:YES)、図8に示すように、チェックマーク128のうち、筆記の開始点P1からの長さ(L1+L2)が10mmの点P2までの部分1281を抽出する(S43(図7参照))。CPU21は、抽出した部分1281を囲む最小の四角形1281Aを特定し、四角形1281Aの2つの対角線1281Tの交点を、第1基準点1281Cとして特定する。CPU21は、特定した第1基準点1281Cの位置を示す第1基準座標データを、フラッシュROM43に記憶する(S45)。CPU21は処理をS47に進める。
なお、図8において、第1基準点を特定するために抽出されるチェックマーク128の部分は、筆記の開始点P1から、長さが10mmの点P2までの部分1281に限定されない。CPU21は、チェックマーク128のうち長さが10mmである任意の部分であってもよい。例えばCPU21は、チェックマーク128全体の中点、即ち、チェックマーク128の開始点からの距離と終了点からの距離とが等しい点から、筆記の開始側に5mm分の部分と、筆記の終了側に5mm分の部分とを含む部分に基づいて、第1基準点を特定してもよい。又、CPU21によって抽出されるチェックマーク128の長さは、10mmに限定されず、他の長さであってもよい。
CPU21は、S47の処理によって、RAM22の第2領域に記憶された少なくとも1つの線分データを含むストロークデータを作成する(S47)。CPU21は、作成したストロークデータをフラッシュROM23に記憶する(S47)。CPU21は、RAM22の第1領域及び第2領域に記憶された線分データを削除する(S49)。CPU21は処理をS21に戻す。
CPU21は、S21の処理において、複数の用紙121の何れにも線画が筆記されていないと判断した場合(S21:NO)、スマートフォン19から無線送信されたデータ要求コマンドを、無線通信部24を介して受信したか判断する(S23)。CPU21は、データ要求コマンドを受信していないと判断した場合(S23:NO)、処理をS21に戻す。CPU21は、データ要求コマンドを受信したと判断した場合(S23:YES)、S13の処理によって特定されたフォーマットを示すデータ(以下、「フォーマットデータ」という。)、S45の処理によってフラッシュROM43に記憶した第1基準座標データ、及び、S47の処理によってフラッシュROM23に記憶したストロークデータを、無線通信部24を介してスマートフォン19に無線送信する(S31)。CPU21は、スマートフォン19に送信した第1基準座標データ、及び、ストロークデータを、フラッシュROM23から削除する(S33)。CPU21は処理をS21に戻す。
図9を参照し、スマートフォン19のCPU41によって実行される第2メイン処理を説明する。CPU41は、読取装置2と無線接続するためのアプリケーションの起動操作が、タッチパネル191を介して行われた場合に、フラッシュROM43に記憶されたプログラムに基づいて動作することで第2メイン処理を開始する。
はじめにCPU41は、次の初期化処理を実行する(S61)。CPU41は、RAM42に記憶されたデータをクリアする。CPU41は、読取装置2との無線通信を開始するために、読取装置2との間でID等の送受信を行う。次に、CPU41は、タッチパネル191を介して、(a)ストロークデータの取得を要求するためのボタン、及び、(b)ディスプレイ192に画像を表示させるためのボタンを、ディスプレイ192に表示させる。CPU41は、タッチパネル191を介して検出される入力操作を監視する。
CPU41は、(a)のボタンを選択する操作を検出したと判断した場合(S63:YES)、読取装置2から次のようにしてストロークデータを取得する。CPU41は、無線通信部44を介して、ストロークデータの取得を要求するデータ要求コマンドを読取装置2に対して無線送信する(S65)。CPU41は、送信したデータ要求コマンドに応じて読取装置2から無線送信される、フォーマットデータ、第1基準座標データ、及び、ストロークデータを、無線通信部44を介して受信する(S67)。CPU41は、受信したフォーマットデータ、第1基準座標データ、及び、ストロークデータを、RAM42に記憶する。
CPU41は、RAM42に記憶されたフォーマットデータに基づいて、複数の用紙121のフォーマットを特定する。CPU41は、特定したフォーマットに対応するレイアウトデータを、フラッシュROM23から選択する。CPU21は、選択したレイアウトデータに基づいて、第2検出領域142(領域142A〜142E(図4参照))を特定する(S69)。CPU41は、RAM42に記憶されたストロークデータに含まれる線分データのうち、第2検出領域142の何れかの位置を示す座標データを含む線分データを第2線画データとして特定する(S71)。CPU41は、第2線画データに基づいて、第2筆記領域132(図5参照)に筆記された第2線画を特定する(S71)。
CPU41は、RAM42に記憶された第1基準座標データに基づいて、第1基準点128Cを特定する(S73)。CPU41は、第2基準座標データをフラッシュROM43から読み出し、第2基準点131Cを特定する(S74)。CPU41は、第2基準点131CのX座標から、第1基準点128CのX座標を減算し、補正量dxを算出する(S75)。CPU41は、第2線画データに含まれる座標データのX座標に補正量dxを加算し、第2線画データを補正する(S77)。
CPU41は、補正量dxに基づいて補正された第2線画データのうち、定型線画データに基づいて特定される定型線画に対し、パターンマッチング技術を適用する。CPU41は、定型線画から定型文字を特定する(S79)。
CPU41は、フラッシュROM23に記憶された印刷図柄データに基づいて枠線1321(図5参照)を特定する。CPU41は、枠線1321と第2線画とを重ね合わせ、画像を生成する。CPU41は、生成された画像の画像ファイルを作成する(S81)。CPU41は、S79の処理によって特定した定型文字を関連情報として画像ファイルに関連付け、フラッシュROM43に記憶する(S83)。CPU41は処理をS63に戻す。
CPU41は、(b)のボタンを選択する操作を検出したと判断した場合(S63:NO、S85:YES)、画像ファイルに関連付けてフラッシュROM43に記憶した関連情報を、画像ファイル毎にディスプレイ192に表示させる(S87)。CPU41は、ディスプレイ192に表示させた関連情報の何れかを選択する操作を、タッチパネル191を介して検出したか判断する(S89)。CPU41は、関連情報を選択する操作を検出しないと判断した場合(S89:NO)、処理をS89に戻す。CPU41は、関連情報を選択する操作を検出したと判断した場合(S89:YES)、選択された関連情報に対応する画像ファイルに基づいて、ディスプレイ192に画像を表示させる(S91)。CPU41は処理をS63に戻す。CPU41は、(a)(b)の何れのボタンの選択操作も検出しないと判断した場合(S85:NO)、処理をS63に戻す。
以上説明したように、スマートフォン19のCPU41は、第1筆記領域131の許可領域131Aに筆記されたチェックマーク128に対応する第1基準点128Cの位置と、第1検出領域141のうち許可領域131Aに対応する第2基準点131Cの位置との関係に基づいて、補正量dxを算出する(S75)。CPU41は、算出した補正量dxに基づいて第2線画データを補正し(S77)、補正された第2線画と枠線1321とが重ねられた画像をディスプレイ192に表示させる(S91)。これによってCPU41は、読取装置2の検出領域140に対して複数の用紙121がずれて配置された場合に、複数の用紙121のそれぞれに筆記された線画のデータを、ずれ量に応じて補正できる。
なおユーザは、第2筆記領域132に筆記した線画を、頁単位で読取装置2にデータ化させ保存させるために、必ず、第1筆記領域131の許可領域131Aにチェックマーク128を筆記する。CPU41は、第2筆記領域132に筆記された第1線画(チェックマーク128)に基づいて、補正量dxを算出する。このように、CPU41は、線画のデータ化及び保存の目的で筆記されるチェックマーク128を、補正量dxを算出するために用いるので、補正量dxを確実に算出して第2線画データを補正できる。
なお、S91の処理によってディスプレイ192に表示される画像には、チェックマーク128は含まれず、第2筆記領域132に筆記された第2線画のみが含まれる。補正量dxの算出に用いられるチェックマーク128(第1線画)の線分データである第1線画データは、補正量dxによる補正の対象とされない。このため例えば、補正量dxを算出するためだけに必要な線画がデータ化されることをユーザが望まない場合でも、CPU41は、第2線画を示す第2線画データの補正を適切に実行きる。
なお、読取装置2の検出領域140に対して複数の用紙121がずれて配置される要因として、次の(1)(2)がある。(1)は、図5に示すように、1枚目の用紙1211が貼付部分125で表表紙110Lに貼付されるためである。この場合、1枚目の用紙1211が裏表紙110R側に配置されたときに、1枚目の用紙1211は、貼付部分125の左右方向の長さ(所定距離D)分ずれる場合がある。なお図示されていないが、複数の用紙121のうち最後の用紙についても同様である。(2)は、複数の用紙121のそれぞれのうち背127に近接する部分で発生し得る浮き上がりや、背127の左右方向の長さ分のずれである。浮き上がりの発生や、背127の左右方向の長さ分のずれによって、複数の用紙121のそれぞれは、1頁ずつ捲られる毎に少しずつ左右方向に位置がずれる場合がある。しかしながら上記実施形態では、上記(1)(2)の何れの要因による複数の用紙121のずれに対しても適用可能である。
紙媒体100の1枚目の用紙1211の綴じられた部分(一辺126A)の近傍は、貼付部分125で表表紙110Lに貼付されている。このため、1枚目の用紙1211が裏表紙110R側に配置された場合、1枚目の用紙1211は、2枚目以降の用紙1212、1213・・・よりも左側にずれ易い。又、詳細な説明を省略しているが、複数の用紙121のうち最後の用紙についても、貼付部分で裏表紙110Rに貼付されている。このため、最後の用紙が表表紙110L側に配置された状態で、最後の用紙は、他の用紙1211、1212・・・よりも右側にずれ易い。
これに対し、CPU41は、第1基準点128Cと第2基準点131CとのそれぞれのX座標の差分を、補正量dxとして算出する(S75)。CPU41は、算出した補正量dxに基づいて、第2線画データを補正する(S77)。即ち、CPU41は、第2線画データをX軸方向(左右方向)にのみ補正する。この場合、CPU41は、複数の用紙121のそれぞれがずれ易い左右方向にのみ第2線画データを補正できるので、複数の用紙121のそれぞれのずれを適切に補正できる。
読取装置2のCPU21は、チェックマーク128を囲む最小の四角形128Aの2つの対角線128Tの交点を、第1基準点128Cとして特定する(S45)。このため第1基準点128Cは、チェックマーク128の中心を示す。又、第2基準点131Cは、第1検出領域141のうち許可領域131Aに対応する正方形の2つの対角線131Tの交点に対応する。このため第2基準点131Cは、許可領域131Aの中心を示す。スマートフォン19のCPU41は、読取装置2から受信した第1基準座標データに基づき、第1基準点128Cの位置を特定し、第2基準点131CとのX座標の差分を補正量dxとして算出する(S75)。従ってCPU41は、第1基準点128C(チェックマーク128の中心)と第2基準点131C(許可領域131Aの中心)とに応じて補正量dxを算出することによって、複数の用紙121のそれぞれのずれを適切に特定して補正量dxを算出し、第2線画データを補正できる。
読取装置2のCPU21は、チェックマーク128の長さが10mmよりも大きい場合(S41:YES)、チェックマーク128のうち長さが10mm分の部分に基づき、最小の四角形128Aを特定し、第1基準点128Cを特定する(S43、S45)。従って、例えば図8に示すように、チェックマーク128のうち曲折する部分よりも後の部分の長さが極端に長い場合でも、CPU41は、第1基準点128Cを適切に特定して補正量dxを算出できる。
第1検出領域141の形状は、左右方向に長い長方形である。第1筆記長さよりも第1検出長さの方が長く、第2筆記長さよりも第2検出長さの方が長い。従って、複数の用紙111が検出領域40に対してずれた場合でも、許可領域131Aに電子ペン3によってチェックマーク128を筆記するときの電子ペン3の位置は、第1検出領域141内に収まる可能が高くなる。従って、CPU21は、複数の用紙121がずれた場合でも、許可領域131Aに筆記されたチェックマーク128を適切に検出できる。又、CPU41は、読取装置2に保持された複数の用紙121がずれた場合でも、第1基準点128Cの位置に基づいて補正量dxを適切に算出できる。
又、第1比は第2比よりも大きい。この場合、複数の用紙111が左右方向に大きくずれた場合でも、許可領域131Aに電子ペン3によってチェックマーク128を筆記するときの電子ペン3の位置は、第1検出領域141内に収まる可能が高くなる。従って、CPU21は、複数の用紙121が左右方向に大きくずれた場合でも、許可領域131Aに筆記されたチェックマーク128を適切に検出できる。CPU41は、読取装置2に保持された複数の用紙121が左右方向に大きくずれた場合でも、第1基準点128Cの位置に基づいて補正量dxを適切に算出できる。
CPU41は、(b)ディスプレイ192に画像を表示させるためのボタンを選択する操作を検出した場合(S85:YES)、選択された画像ファイルに基づいて画像をディスプレイ192に表示させる(S91)。この場合、スマートフォン19のユーザは、第2筆記領域132に筆記された第2線画を、位置が補正された状態で視認できる。
読取装置2は、左右一対の左読取装置2L、右読取装置2R、及び、フラットケーブル6を備えている。左読取装置2L及び右読取装置2Rは、フラットケーブル6が変形することによって、見開いた状態と閉じた状態との間で開閉可能である。左読取装置2L及び右読取装置2Rは、見開いた状態で左右方向に並んで配置される。なお、上記のように左読取装置2L及び右読取装置2Rに載置された紙媒体100が見開かれた場合、複数の用紙121は、左右方向、言い換えれば、左読取装置2L及び右読取装置2Rが並んだ方向にずれ易い。これに対して、CPU41は、左読取装置2L及び右読取装置2Rが見開いた状態で並ぶ方向(左右方向)と平行な方向の補正を、算出した補正量dxに基づいて行う。これによって、CPU41は、紙媒体100が見開かれることによって複数の用紙111がずれた場合でも、算出した補正量dxによって第2線画データを適切に補正できる。
S67の処理は本発明の「データ取得ステップ」の一例である。S71の処理は本発明の「データ特定ステップ」の一例である。S75の処理は本発明の「算出ステップ」の一例である。S77の処理は本発明の「補正ステップ」の一例である。S91の処理は本発明の「出力ステップ」の一例である。スマートフォン19は本発明の「筆記データ処理装置」の一例である。S67の処理は本発明の「基準点取得ステップ」の一例である。スマートフォン19のフラッシュROM43に記憶されるプログラムは本発明の「筆記データ処理プログラム」の一例である。ストロークデータを記憶するフラッシュROM43は本発明の「記憶手段」の一例である。S71の処理を行うCPU41は本発明の「データ特定手段」の一例である。S75の処理を行うCPU41は本発明の「算出手段」の一例である。S77の処理を行うCPU41は本発明の「補正手段」の一例である。S91の処理を行うCPU41は本発明の「出力手段」の一例である。
なお、本発明は上記実施形態に限定されず、種々の変更が可能である。上記実施形態において、第2メイン処理の一部の処理は、読取装置2のCPU21によって実行されてもよい。例えば、読取装置2のCPU21、及び、スマートフォン19のCPU41は、次の処理を実行してもよい。
例えば、CPU21は、S13の処理によって特定したフォーマットに対応するレイアウトデータを、フラッシュROM23から選択してもよい。CPU21は、選択したレイアウトデータに基づいて、第2検出領域142(領域142A〜142E(図4参照))を特定してもよい(S69)。CPU41は、フラッシュROM23に記憶されたストロークデータに含まれる線分データのうち、第2検出領域142の何れかの位置を示す座標データを含む線分データを第2線画データとして特定し、第2線画を特定してもよい(S71)。
例えば、CPU21は、S45の処理によってRAM22に記憶した第1基準座標データを、RAM22から読み出し、第1基準点128Cを特定してもよい(S73)。第2基準座標データは、フラッシュROM23に予め記憶されてもよい。CPU21は、第2基準座標データをフラッシュROM23から読み出し、第2基準点を特定してもよい(S74)。CPU21は、第2基準点のX座標から、第1基準点のX座標を減算し、補正量dxを算出してもよい(S75)。CPU21は、第2線画データに含まれる座標データのX座標に補正量dxを加算し、第2線画データを補正してもよい(S77)。
フラッシュROM23に印刷図柄データが記憶されていてもよい。CPU21は、フラッシュROM23に記憶された印刷図柄データに基づいて枠線1321(図5参照)を特定してもよい。CPU21は、枠線1321と第2線画とを重ね合わせ、画像を生成してもよい。CPU41は、生成された画像の画像ファイルを作成してもよい(S81)。CPU21は、作成した画像ファイルをフラッシュROM23に記憶してもよい(S83)。CPU21は、スマートフォン19から無線送信されたデータ要求コマンドを、無線通信部24を介して受信したと判断した場合(S23:YES)、フラッシュROM23に記憶された画像ファイルを、スマートフォン19に送信してもよい。
スマートフォン19のCPU41は、送信したデータ要求コマンドに応じて読取装置2から無線送信される画像ファイルを、無線通信部44を介して受信してもよい(S67)。CPU41は、受信した画像ファイルを、フラッシュROM43に記憶してもよい。CPU41は、(b)のボタンを選択する操作を検出したと判断した場合(S85:YES)、フラッシュROM43に記憶された画像ファイルに基づいて、ディスプレイ192に画像表示させてもよい(S91)。
以上の場合、CPU21は、第2筆記領域132に筆記された第2線画のデータ化及び保存を指示するために許可領域131Aに筆記されたチェックマーク128を検出し、第2線画データを生成できる。又、チェックマーク128に基づいて補正量dxを算出し、第2線画データを補正できる。なお、上記において、S16の処理は本発明の「領域特定ステップ」の一例である。S37の処理は本発明の「検出ステップ」の一例である。S47の処理は本発明の「生成ステップ」の一例である。
上記実施形態において、第1メイン処理の一部の処理は、スマートフォン19のCPU41によって実行されてもよい。例えば、読取装置2のCPU21、及び、スマートフォン19のCPU41は、次の処理を実行してもよい。
例えば、読取装置2のCPU21は、S37の処理によって、許可領域131Aに線画が筆記されていると判断した場合(S37:YES)、第1基準点128Cを特定せず、ストロークデータを作成してもよい(S47)。CPU21は、データ要求コマンドを受信したと判断した場合(S23:YES)、フォーマットデータ、及びストロークデータを、無線通信部24を介してスマートフォン19に無線送信してもよい(S31)。
スマートフォン19のCPU41は、読取装置2からフォーマットデータ及びストロークデータを受信した場合(S67)、S39、S41、S43、S45の処理を実行してもよい。具体的には、CPU41は、ストロークデータに含まれる線分データのうち、第1検出領域141内の位置を示す座標データを含む線分データを特定し、チェックマーク128を特定してもよい。CPU41は、特定したチェックマーク128の長さを算出してもよい(S39)。CPU21は、算出したチェックマーク128の長さに応じて、チェックマーク128を囲む最小の四角形128A(図6参照)を特定し、四角形128Aの2つの対角線128Tの交点を、第1基準点128Cとして特定してもよい(S45)。
上記において、CPU41は、第2基準点131CのX座標から第1基準点128CのX座標を減算した値dxを、補正量dxとして特定した。これに対して、CPU41は、第2基準点131CのY座標から、第1基準点128CのY座標を減算した値dyを、補正量dyとして特定してもよい。CPU41は、第2線画データに含まれる座標データのY座標に補正量dyを加算することによって、第2線画を上下何れかの方向に補正量dy分移動させてもよい。これによって、複数の用紙111のそれぞれが上下方向にずれ易い場合に、上下方向にのみ第2線画データを補正できるので、複数の用紙121のそれぞれのずれを適切に補正できる。
上記の場合の具体例として、複数の用紙111の上端が綴じられた紙媒体100(例えば、レポート用紙)が右読取装置2Rに保持され、電子ペン3による筆記が行われる場合が挙げられる。この場合、複数の用紙111のうち1枚目の用紙111が右読取装置2R上に配置された状態で、1枚目の用紙111は上下方向にずれ易くなる。この場合でも、上記の方法によって、第2線画データを適切に補正できる。
上記において、CPU41は、第2基準点131CのX座標から第1基準点128CのX座標を減算した値dxと、第2基準点131CのY座標から第1基準点128CのY座標を減算した値dyとのそれぞれ(dx,dy)を、補正量(dx,dy)として特定してもよい。CPU41は、第2線画データに含まれる座標データのX座標に補正量dxを加算し、第2線画データに含まれる座標データのY座標に補正量dyを加算してもよい。これによって、第2線画を、左右何れかの方向に補正量dx分移動させ、上下何れかの方向に補正量dy分移動させてもよい。これによって、CPU41は、複数の用紙111のそれぞれが上下左右の方向、即ち、斜め方向にずれ易い場合に、ずれを適切に補正できる。
上記において、CPU21は、許可領域131Aに筆記されたチェックマーク128を囲む最小の四角形128Aを特定し、2つの対角線128Tの交点を第1基準点128Cとして特定した(S45)。第1基準点128Cの特定方法は、この方法に限定されない。例えば、CPU21は、次のようにして第1基準点128Cを特定してもよい。
CPU21は、許可領域131Aに筆記されたチェックマーク128のX軸方向の中心点を、第1基準点128CのX座標Xaとして特定してもよい。具体的には、CPU21は、S39の処理において、RAM22の第1領域に記憶された線分データに含まれる座標データのX座標の最大値と最小値とを特定し、最大値と最小値との差分を2で除算した結果を、第1基準点のX座標Xaとして特定してもよい。この場合、CPU41は、チェックマーク128のX軸方向の中心と、第2基準点131CのX座標との差分に応じて、補正量dxを算出し、第2線画データを補正できる。従って、例えばチェックマーク128の代わりに、X軸方向と平行に延びる直線状の線分が許可領域131Aに筆記された場合でも、複数の用紙121のずれ量を示す補正量dxを適切に算出し、第2線画データを適切に補正できる。
又、図10に示すように、CPU21は、S39の処理において、RAM22の第1領域に記憶された線分データに含まれる座標データによって示されるn個のX座標(X1,X2,・・・Xn(nは整数))の平均Xa(=(X1+X2+・・・+Xn)/n)を算出してもよい。又、CPU21は、n個のY座標(Y1,Y2,・・・Yn)の平均Ya(=(Y1+Y2+・・・+Yn)/n)を算出してもよい。CPU21は、算出した平均によって示される座標(Xa,Ya)の位置を、第1基準点128Cとして特定してもよい。
上記の方法によって特定される第1基準点128Cは、座標データによって示される複数の座標のそれぞれによって示される位置の密集度が大きい部分に配置される傾向がある。なお、複数の座標のそれぞれによって示される位置の密集度は、チェックマーク128が筆記されるときの筆記速度を示している。その理由は、複数の座標のそれぞれは一定周期で取得されるので、筆記速度が速い程、複数の座標のそれぞれによって示される位置の密集度は小さくなり、筆記速度が遅い程、複数の座標のそれぞれによって示される位置の密集度は大きくなるためである。
従って、CPU21は、上記の方法で第1基準点128Cを特定することによって、チェックマーク128の筆記速度が遅い部分を、第1基準点128Cとして特定できる。従って、スマートフォン19のCPU41は、チェックマーク128の筆記速度に基づいて特定された第1基準点128Cに基づいて、補正量dxを算出できるので、チェックマーク128がゆっくり筆記された部分と、第2基準点131Cとを比較して補正量dxを算出できる。なお、チェックマーク128のうちゆっくり筆記された部分は、許可領域131Aに筆記された部分である可能性が高い。このため、CPU41は、第2基準点131Cから第1基準点128Cを減算することによって、複数の用紙121のずれ量を示す補正量dxを適切に算出し、第2線画データを適切に補正できる。
又、CPU21は、RAM22の第1領域に記憶された線分データに含まれる座標データによって示されるn個のX座標(X1,X2,・・・Xn(nは整数))の平均Xa(=(X1+X2+・・・+Xn)/n)のみを、第1基準点128CのX座標として特定してもよい。この場合、CPU41は、上記のように特定された第1基準点128CのX座標と、第2基準点131CのX座標との差分に応じて、補正量dxを算出し、第2線画データを補正できる。従って、例えばチェックマーク128の代わりに、X軸方向と平行に延びる直線状の線分が許可領域131Aに筆記された場合でも、複数の用紙121のずれ量を示す補正量dxを適切に算出し、第2線画データを適切に補正できる。
又、例えばCPU21は、チェックマーク128のうち曲折する点(図10における点130)を、第1基準点128Cとして特定してもよい。
上記において、第1筆記領域131の許可領域131Aにチェックマーク128が筆記されることを前提としたが、許可領域131Aにチェックマーク128以外の線画が筆記されてもよい。例えば許可領域131Aには、点、丸印「○」、バツ印「×」、任意の数字、及び、任意の記号等、任意の形状の線分が筆記されてもよい。又、例えば、許可領域131Aが塗りつぶされてもよい。複数の用紙121における第1筆記領域131が設けられる位置は、右下以外の位置であってもよい。例えば、第1筆記領域131は、複数の用紙121のそれぞれの左上、右上、左下等の位置に設けられてもよい。
CPU21は、第1筆記領域131の許可領域131Aに筆記された線画(チェックマーク128)以外の線画に基づいて、第1基準点を特定してもよい。例えば、複数の用紙121のそれぞれに、第1基準点を指定する筆記領域が設けられていてもよい。CPU21は、この筆記領域に筆記された線画に基づいて第1基準点を特定してもよい。即ち、CPU21は、第2筆記領域132に筆記された線画のデータ化及び保存を指示するための線画(チェックマーク128)以外の線画に基づいて、第1基準点を特定してもよい。
上記において、第1検出領域141の大きさは変更できる。例えば、第1筆記長さと第1検出長さ、及び、第2筆記長さと第2検出長さとは、それぞれ、略同一であってもよい。又、第1比と第2比とは略同一であってもよいし、第2比の方が第1比よりも大きくてもよい。
紙媒体100は、複数の用紙111が綴じられていなくてもよい。例えば紙媒体100の複数の用紙111は閉じられていなくてもよい。又、紙媒体100は1枚の用紙であってもよい。読取装置2の左読取装置2L及び右読取装置2Rは、共通の板状部材に設けられていてもよい。即ち、左読取装置2L及び右読取装置2Rを開閉不能としてもよい。