(57)【要約】      （修正有）【課題】手書き入力の途中で電子ペンが傾き、回転した場合であっても、ドットマークの正確な位置情報を取得することが可能な手書き入力システムを提供する。【解決手段】ドットマーク復号部は、各格子点を基準とした各ドットマークの相対位置Ｗ２［Ｉ，Ｊ］の初期値を設定（Ｓ３０１）した後、ピクセル座標系のドットマークの位置と、相対位置Ｗ２を各格子点の位置に加算した位置とに基づいて、射影変換行列Ｈを算出する算出処理（Ｓ３０２）と、ドットマークの位置をピクセル座標系から格子点座標系に射影変換行列Ｈを用いて変換する変換処理（Ｓ３０３）と、変換後のドットマークの位置と格子点の位置とに基づいて相対位置情報を生成する生成処理（Ｓ３０４）と、相対位置Ｗ２［Ｉ，Ｊ］を相対位置情報に従って更新する更新処理（Ｓ３０５）とを、所定の条件が満たされるまで、順次、繰り返し実行（Ｓ３０６）する。【選択図】図２６
2014067398.tif 000002
【特許請求の範囲】
【請求項１】
表示面上の多数のドットマークの一部である複数のドットマークを読み取ることにより、前記表示面上の位置を特定する手書き入力システムであって、前記複数のドットマークは、複数の仮想点を基準として前記表示面上に形成され、前記表示面上の位置は前記複数のドットマークによって符号化されており、
前記複数のドットマークを撮像する撮像部と、
撮像画像中の前記複数のドットマークの位置を前記撮像画像の第１座標系における位置として検出するドットマーク位置検出部と、
前記ドットマーク位置検出部により検出された前記複数のドットマークの位置および前記複数の仮想点の位置に基づいて相対位置情報を生成する復号部であって、前記複数の仮想点によって前記第１座標系とは異なる第２座標系が規定され、前記相対位置情報は、前記複数の仮想点を基準とした前記第２座標系における複数のドットマークの位置関係を示し、前記第２座標系における前記複数のドットマークは前記第１座標系における前記複数のドットマークに対応する、復号部と、
前記表示面上の位置を前記相対位置情報に基づいて計算する位置情報計算部と
を備え、
前記復号部は、前記複数の仮想点を基準とした前記複数のドットマークの相対位置の初期値を設定した後、
前記第１座標系における前記複数のドットマークの位置と、前記相対位置を前記仮想点の位置に加算した位置とに基づいて、射影変換行列を算出する算出処理を実行し、
前記複数のドットマークの位置を前記第１座標系から前記第２座標系に前記射影変換行列を用いて変換する変換処理を実行し、
変換後の前記複数のドットマークの位置と前記仮想点の位置とに基づいて前記相対位置情報を生成する生成処理を実行し、
前記相対位置を前記相対位置情報に従って更新する更新処理を実行し、
所定の条件が満たされるまで、前記算出処理、前記変換処理、前記生成処理および前記更新処理を順次、繰り返し実行するよう構成されている、手書き入力システム。
【請求項２】
前記復号部は、繰り返し回数が所定値未満であるとき、前記更新処理を実行した後に、前記複数の仮想点のうちの特定の仮想点に関する前記相対位置の更新処理を無効化する無効化処理をさらに実行する、請求項１に記載の手書き入力システム。
【請求項３】
前記復号部は、繰り返し回数が所定値に到達するまで、前記算出処理、前記変換処理、前記生成処理および前記更新処理を順次、繰り返し実行する、請求項１または２に記載の手書き入力システム。
【請求項４】
前記復号部は、前記相対位置情報の生成結果が変化しなくなるまで、前記算出処理、前記変換処理、前記生成処理および前記更新処理を順次、繰り返し実行する、請求項１または２に記載の手書き入力システム。
【請求項５】
前記複数の仮想点の位置を設定する格子位置設定部をさらに備えた、請求項１または２に記載の手書き入力システム。
【請求項６】
前記第２座標系の複数の仮想点はｍ×ｍ個の格子状に配置され、前記特定の仮想点は前記ｍ×ｍ個の格子の４隅の点である、請求項２に記載の手書き入力システム。
【請求項７】
前記表示面上の位置を指定するペンをさらに備え、
前記位置情報計算部は、前記第１座標系の前記ペンの位置を前記射影変換行列を用いて変換した、前記第２座標系の前記ペンの位置と、前記相対位置情報とに基づいて、前記表示面上の前記ペンの位置を計算する、請求項１から６のいずれかに記載の手書き入力システム。
【請求項８】
表示面上の多数のドットマークの一部である複数のドットマークを読み取ることにより、前記表示面上の位置を特定する手書き入力システムであって、前記複数のドットマークは、複数の仮想点を基準として前記表示面上に形成され、前記表示面上の位置は前記複数のドットマークによって符号化されており、
前記複数のドットマークを撮像する撮像部と、
前記撮像画像中の前記複数のドットマークの位置を検出するドットマーク位置検出部と、
前記ドットマーク位置検出部により検出された前記複数のドットマークの位置および前記複数の仮想点の位置に基づいて相対位置情報を生成する復号部であって、前記相対位置情報は、前記複数の仮想点を基準とした前記表示面における複数のドットマークの位置関係を示し、前記表示面における前記複数のドットマークは前記撮影画像中の前記複数のドットマークに対応する、復号部と、
前記表示面上の位置を前記相対位置情報に基づいて計算する位置情報計算部と
を備え、
前記復号部は、前記複数の仮想点を基準とした前記複数のドットマークの相対位置の初期値を設定した後、
前記撮像画像中の前記複数のドットマークの位置と、前記相対位置を前記仮想点の位置に加算した位置とに基づいて、変換行列を算出する算出処理を実行し、
前記複数のドットマークの位置を前記撮像画像中から前記表示面上に前記変換行列を用いて変換する変換処理を実行し、
変換後の前記複数のドットマークの位置と前記仮想点の位置とに基づいて前記相対位置情報を生成する生成処理を実行し、
前記相対位置を前記相対位置情報に従って更新する更新処理を実行し、
所定の条件が満たされるまで、前記算出処理、前記変換処理、前記生成処理および前記更新処理を順次、繰り返し実行するよう構成されている、手書き入力システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電子ペンおよびこれを用いた手書き入力システムに関する。
【背景技術】
【０００２】
特許文献１は、位置を符号化した多数のドットマークを、印刷などにより配置した紙の上に文字等を記入する際に、紙に記入した情報を電子ペンを用いて電子化し、その電子化された情報をサーバや端末に送る技術を開示する。また、特許文献２は、位置を符号化した多数のドットマークをデジタルディスプレイなどに配置し、デジタルディスプレイ上に電子ペンを用いて手書き入力を行う手書き入力システムを開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２２６５７７号公報
【特許文献２】特開２０１２−１２８５６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、ドットマークのより正確な位置情報を取得することが可能な手書き入力システムを提供する。
【課題を解決するための手段】
【０００５】
本開示の一実施形態による手書き入力システムは、表示面上の多数のドットマークの一部である複数のドットマークを読み取ることにより、表示面上の位置を特定する。複数のドットマークは、複数の仮想点を基準として表示面上に形成され、表示面上の位置は複数のドットマークによって符号化されている。手書き入力システムは、複数のドットマークを撮像する撮像部と、撮像画像中の複数のドットマークの位置を撮像画像の第１座標系における位置として検出するドットマーク位置検出部と、ドットマーク位置検出部により検出された複数のドットマークの位置および複数の仮想点の位置に基づいて相対位置情報を生成する復号部であって、複数の仮想点によって第１座標系とは異なる第２座標系が規定され、相対位置情報は、複数の仮想点を基準とした第２座標系における複数のドットマークの位置関係を示し、第２座標系における複数のドットマークは第１座標系における複数のドットマークに対応する、復号部と、表示面上の位置を相対位置情報に基づいて計算する位置情報計算部とを備える。復号部は、複数の仮想点を基準とした複数のドットマークの相対位置の初期値を設定した後、第１座標系における複数のドットマークの位置と、相対位置を仮想点の位置に加算した位置とに基づいて、射影変換行列を算出する算出処理を実行し、複数のドットマークの位置を第１座標系から第２座標系に射影変換行列を用いて変換する変換処理を実行し、変換後の複数のドットマークの位置と仮想点の位置とに基づいて相対位置情報を生成する生成処理を実行し、相対位置を相対位置情報に従って更新する更新処理を実行し、所定の条件が満たされるまで、算出処理、変換処理、生成処理および更新処理を順次、繰り返し実行するよう構成されている。
【発明の効果】
【０００６】
本開示によるシステムによれば、ドットマークのより正確な位置情報を取得することが可能な手書き入力システムを提供することができる。
【図面の簡単な説明】
【０００７】
【図１】電子ペン１０および手書き入力システム１００をユーザが使用している状況を示す概略図である。
【図２】電子ペン１０のハードウェア構成図である。
【図３】手書き入力システム１００の構成を示すブロック図である。
【図４】ドットマーク位置検出部１５の動作を示すフローチャートである。
【図５】電子ペン１０を基準状態に保持した時の撮像素子１４の撮影画像の一例を示す図である。
【図６】電子ペン１０を傾斜および回転させた時の撮像素子１４の撮影画像の一例を示す図である。
【図７】Ｓ１０１ステップにおける平滑化処理後の画像の一例を示す図である。
【図８】Ｓ１０１ステップにおけるハイパスフィルタ処理後の画像の一例を示す図である。
【図９】Ｓ１０２ステップにおける１回目のローパスフィルタ処理後の画像の一例を示す図である。
【図１０】Ｓ１０２ステップにおける５回目のローパスフィルタ処理後の画像の一例を示す図である。
【図１１】Ｓ１０２ステップにおける７回目ローパスフィルタ処理後後の画像の一例を示す図である。
【図１２】Ｓ１０４ステップにおける輝度補正処理後の画像の一例を示す図である。
【図１３】Ｓ１０５ステップの適応的二値化処理後の画像の一例を示す図である。
【図１４】Ｓ１０６ステップの中心位置検出結果示す図である。
【図１５】格子位置設定部１６の動作を示すフローチャートである。
【図１６】Ｓ２０１ステップにおける処理対象領域を説明する図である。
【図１７】Ｓ２０４ステップの回転角度ヒストグラムを示すグラフである。
【図１８】Ｓ２０５ステップのドットマーク位置回転処理結果を示す図である。
【図１９】Ｓ２０６ステップのドットマーク選定方法を説明する図である。
【図２０】Ｓ２０６ステップのドットマーク選定方法を説明する図である。
【図２１】Ｓ２０６ステップのドットマーク選定方法を説明する図である。
【図２２】Ｓ２０６ステップのドットマーク選定方法を説明する図である。
【図２３】Ｓ２０６ステップのドットマーク選定方法を説明する図である。
【図２４】Ｓ２０６ステップのドットマーク選定方法を説明する図である。
【図２５】Ｓ２０７ステップの格子点位置の計算結果を示す図である。
【図２６】ドットマーク復号部１７の動作を示すフローチャートである。
【図２７】Ｓ３０３ステップにおいてドットマークを射影変換した結果を示す図である。
【図２８】Ｓ３０４ステップにおいてドットマーク復号化処理の結果を示す図である。
【図２９】Ｓ３０５ステップにおいて相対位置更新処理の結果を示す図である。
【図３０】位置情報計算部１８の動作を示すフローチャートである。
【図３１】ペン先位置３５の撮像素子上における位置３６を説明するための電子ペン１０の断面図である。
【図３２】電子ペン１０および手書き入力システム１００の変形例を示すブロック図である。
【図３３】ドットマーク復号部１７の動作の変形例を示すフローチャートである。
【図３４】ドットマーク５０が形成された表示面２１の拡大図である。
【図３５】ドットマーク５０の配置パターンを示す図である。
【発明を実施するための形態】
【０００８】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【０００９】
なお、発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【００１０】
（実施の形態１）
以下、図１〜３１を参照しながら、実施の形態１を説明する。
【００１１】
［１．構成］
［１−１．手書き入力システムの構成］
まずは、図１を参照して手書き入力システム１００の概略を説明する。
【００１２】
図１は、ユーザが電子ペン１０を用いて、表示装置２０の表示面２１上に文字を入力している場面を示す。なお、ここでは文字を入力する場面を例に挙げているが、表示面２１上に入力できるのは文字だけでなく、例えば数字や記号も入力することが可能である。
【００１３】
実施の形態１に係る手書き入力システム１００は、電子ペン１０と、表示装置２０とを備えている。電子ペン１０は、手書き入力システム１００のデータ入力機器として利用される。ユーザが電子ペン１０を用いて表示面２１に文字を記入すると、記入された文字が表示面２１に表示される。
【００１４】
表示面２１には、表示面２１上の位置を符号化した多数のドットマークがその位置に応じて異なる情報パターンとして予め形成されている。本願明細書では、図１に示すように個々のドットマークはドットマーク５０と表記する。
【００１５】
ここで、図３４および３５を参照しながら情報パターンを説明する。
【００１６】
図３４は、ドットマーク５０が形成された表示面２１の拡大図である。
【００１７】
ドットマーク５０は、例えば四角形（正方形）や円形の形状を有し、赤外線を吸収する主成分を含む。
【００１８】
ドットマーク５０は仮想的な格子点（仮想点）の近傍に配置される。仮想的な格子点は第１基準線４４と第２基準線４５との交点により定義される。第１基準線および第２基準線は表示面２１上の仮想的な線であり、実際に存在する線ではない。従って、仮想的な格子点も平面上には存在しない。
【００１９】
複数の第１基準線４４と複数の第２基準線４５とが格子状のパターンを形成する。図３４は、格子状のパターンの一例を示す。３本の第１基準線４４と３本の第２基準線４５により２×２の格子状のパターンが形成されている。それぞれの仮想的な格子点の近傍には３×３のドットマーク５０が配置されている。以降、「仮想的な格子点」を単に「格子点」と称する。
【００２０】
図３５は、ドットマーク５０の配置パターンを示す図である。ドットマーク５０は、格子点を基準として、第１および第２基準線４４，４５の何れか四方向にオフセットした位置に配置される。具体的には、ドットマーク５０の配置は、図３５（ａ）〜（ｄ）の何れかとなる。そして、異なる符号である「０」、「１」、「２」、「３」のいずれかが割り当てられてこの配置関係は数値化される。
【００２１】
図３５（ａ）の配置では、ドットマーク５０は、第１基準線４４と第２基準線４５との交点の位置を基準として上側に配置される。この配置を数値化する際には、この配置は符号「０」と表す。図３５（ｂ）の配置では、ドットマーク５０は、第１基準線４４と第２基準線４５との交点の位置を基準として左側に配置される。この配置を数値化する際には、この配置は符号「１」と表す。図３５（ｃ）の配置では、ドットマーク５０は、第１基準線４４と第２基準線４５との交点の位置を基準として右側に配置される。この配置を数値化する際には、この配置は符号「２」と表す。図３５（ｄ）の配置では、ドットマーク５０は、第１基準線４４と第２基準線４５との交点の位置を基準として下側に配置される。この配置を数値化する際には、この配置は符号「３」と表す。
【００２２】
本実施の形態では、６×６のドットマーク５０の組み合わせにより、表示面２１上の位置が符号化されている例を説明する。本実施の形態における「情報パターン」とは、表示面２１上に存在する全てのドットマーク、つまり、表示面２１上の多数のドットマーク５０から形成されるパターンを指し、「ドットパターン」とは、多数のドットマークの一部である６×６のドットマーク５０から形成されるパターンを指す。
【００２３】
任意の６×６のドットマーク５０に着目すると、その６×６のドットマーク５０はドットパターンを形成し、表示面２１上の任意の位置はそのドットパターンによって符号化されている。ドットパターンは、ドットパターンを復号して表示面２１上の位置を特定できるよう、表示面２１上の位置に応じて全て異なっている。ドットパターンに含まれる３６個の各々のドットマーク５０に「０」〜「３」の何れかの符号を割り当てることによって、膨大な数（４6×6通り）の表示面２１上の位置座標が符号化され得る。
【００２４】
このような情報パターンのパターンニング（コーディング）や位置座標の特定（デコーディング）の方法として、例えば、特開２００６−１４１０６１号公報に開示されているような公知の方法を用いることができる。
【００２５】
なお、ドットパターンを復号して表示面２１上の位置が特定できればよく、格子点を基準とした、ドットパターンに含まれる各ドットマークの配置方法は、既に説明した配置方法に限られない。例えば、第１基準線４４と第２基準線４５とをそれぞれ４５度回転させた方向の何れか４方向にドットマーク５０をシフトさせて配置することもできる。
【００２６】
電子ペン１０が、情報パターンの一部、すなわち複数のドットマーク５０からなるドットパターンをセンサにより読み取ることにより、ユーザが表示面２１に記入している文字の位置を特定することができる。このように、電子ペン１０は情報パターンの読み取り装置としても機能する。
【００２７】
電子ペン１０は、ペンの移動に伴って次々と情報パターンを読み取り、読み取った情報パターンから電子ペン１０の軌跡、すなわちユーザが記入した文字の筆跡を検出することができる。このようにして検出された位置情報（文字の軌跡に関する情報）は、表示装置２０に送信される。表示装置２０は、この位置情報に基づいて、表示面２１に文字情報を表示する。したがって、ユーザは、紙の上にペンを用いて文字などを記入するように、表示面２１の上に電子ペン１０を用いて文字などを記入することができる。
【００２８】
また、ユーザは、電子ペン１０を用いて記入した文字を消すこともできる。ユーザは、電子ペン１０を消しゴムのように用いることもできる。この場合も、文字を記入するときと同様に、電子ペン１０を用いて情報パターンを読み取ることにより、電子ペン１０のペン先の位置が特定される。そして、表示装置２０は、特定された位置情報に基づいて、表示面２１に表示される文字情報を変更する。
【００２９】
［１−２．電子ペンと表示装置の構成］
図２および３を参照して電子ペン１０および表示装置２０の構成を説明する。
【００３０】
まず、図２を参照しながら電子ペン１０のハードウェア構成を説明する。図２は電子ペン１０のハードウェア構成図である。
【００３１】
図２に示すように、電子ペン１０は、照明部１１、対物レンズ１３、撮像素子１４、送信部１９、制御部３１、ペン先部３２、電源３３および筆圧検知部３４を有している。
【００３２】
照明部１１は、例えばＬＥＤ素子などの発光素子を含む。ＬＥＤ素子は複数設けてもよい。この場合、複数のＬＥＤ素子は、対物レンズ１３を介して撮像素子１４が撮影する表示面２１上の被撮影領域を概ね均等に照射するよう配置される。例えば、表示面の２１上の被撮影領域が概ね均等に照射されるよう２つのＬＥＤ素子をペン先部３２の近傍に配置し、両者を同時または交互に発光させる。
【００３３】
照明部１１は、情報パターンに赤外光を照射する。赤外光の波長は、例えば８５０ｎｍ以上であって、遠赤外線の波長領域にある。照明部１１から照射された赤外光は、ドットマーク５０により吸収され、ドットマーク５０以外の領域で反射される。
【００３４】
対物レンズ１３は、表示面２１により反射された赤外光を撮像素子１４に結像する。
【００３５】
撮像素子１４は、例えばＣＣＤやＣＭＯＳセンサである。撮像素子１４は、対物レンズ１３の光軸上に設けられている。撮像素子１４は対物レンズ１３を介して結像された光学像を検出し、画像を生成する。
【００３６】
対物レンズ１３と撮像素子１４とを含む構成要素が撮像部１２を構成する。撮像部１２は、対物レンズ１３以外に複数のレンズを含み得る。
【００３７】
撮像部１２は、多数のドットマーク５０の少なくとも一部を光学的に画像として撮影することができる。撮像部１２は、ドットマーク５０により吸収され、その他の領域で反射された赤外光を結像する。より具体的には、撮像部１２は、撮像素子１４の撮像面上に形成された複数のドットマーク像を検出する。このようにして、撮像部１２は複数のドットマーク５０からなる画像を生成する。撮像部１２は生成した画像を制御部３１に送信する。
【００３８】
送信部１９は送信機により構成され、ペン先部３２とは反対側の端部近傍に設けられている。送信部１９は、制御部３１の演算結果を含む情報を表示装置２０に送信する。
【００３９】
制御部３１は、ＣＰＵやメモリなどから構成されるマイクロコンピュータ（マイコン）である。制御部３１はＣＰＵを動作させるためのプログラムも実装している。制御部３１は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組み合わせることにより実現してもよい。
【００４０】
制御部３１は電子ペン１０全体を制御する。
【００４１】
ペン先部３２の形状は、例えばユーザが表示面２１に表示される文字を認識し易い形状にすることができる。ペン先部３２の近傍には、対物レンズ１３と照明部１１とが設けられている。
【００４２】
電源３３は、電子ペン１０の各構成要素に電力を供給する。
【００４３】
筆圧検知部３４は、例えば筆圧センサにより構成される。筆圧センサは、例えば導電ゴムの抵抗値変化や、電極間の静電容量変化を検出する。筆圧検知部３４は、ユーザが電子ペン１０を用いて表示面２１上に文字などを記入する際に、ペン先部３２に加わる圧力を検知する。この圧力の検知結果は、制御部３１に送られる。制御部３１は、筆圧検知部３４から送られた圧力の検知結果を送信部１９に送信し、送信部１９はこれを表示装置２０に送信する。
【００４４】
次に、図３を参照しながら、制御部３１の構成および表示装置２０の構成を説明する。
【００４５】
制御部３１は、ドットマーク位置検出部１５、格子位置設定部１６、ドットマーク復号部１７および位置情報計算部１８を含む。
【００４６】
本実施の形態においては、ドットマーク位置検出部１５と、格子位置設定部１６と、ドットマーク復号部１７と、位置情報計算部１８とがそれぞれ有する機能は、制御部３１のプログラムとして実装されている。
【００４７】
なお、ドットマーク位置検出部１５、格子位置設定部１６、ドットマーク復号部１７および位置情報計算部１８が有する機能をハードウェアにより実現する場合、例えば、各構成要素は制御部３１ではなくイメージシグナルプロセッサに実装され得る。
【００４８】
ドットマーク位置検出部１５は、撮像部１２が撮影した画像内に含まれるドットマーク５０の位置を全て検出し、検出結果を格子位置設定部１６に送信する。
【００４９】
格子位置設定部１６は、画像内に含まれるドットマーク５０の中から、ドットパターンを構成する複数のドットマーク５０を選定する。また、格子位置設定部１６は、選定したドットマーク５０に各々対応する格子点５０ａの、表示面２１における位置を計算する。格子位置設定部１６は、ドットマーク５０の選定結果と、表示面２１における対応する格子点５０ａの位置の計算結果とをドットマーク復号部１７に送信する。
【００５０】
ドットマーク復号部１７は、撮影画像中におけるドットマーク５０の位置と、表示面２１における格子点５０ａの位置とから、相対位置情報を生成する。相対位置情報は格子点５０ａを基準としたドットマーク５０ａの位置関係を示す。相対位置情報の詳細は後述する。
【００５１】
また、ドットマーク復号部１７は、撮影画像中におけるドットマーク５０の位置から、情報パターンが予め形成された表示面２１上におけるドットマーク５０の位置への射影変換行列Ｈを計算する。ドットパターンにおける各ドットマーク５０の相対位置情報と射影変換行列Ｈの計算結果とは、位置情報計算部１８に送られる。
【００５２】
位置情報計算部１８は、各ドットマーク５０の相対位置情報を用いて、ドットマーク５０の表示面２１上における位置情報を計算する。また、位置情報計算部１８は、表示面２１上における電子ペン５０の先端部の位置を、射影変換行列Ｈを用いて計算する。これによって、電子ペン１０の先端部が表示面２１上のどの位置にあるのかを特定することが出来る。ドットマーク５０の表示面２１上における位置情報と、電子ペン５０の先端部の表示面２１上における位置情報とは、送信部１９に送られる。
【００５３】
図３に示すように、表示装置２０は、受信部２２と、制御部２３と、表示部２４とを有している。表示装置２０としては、例えば液晶ディスプレイである。表示部２４は、液晶ディスプレイの表示パネルの一例である。
【００５４】
受信部２２は受信機により構成され、電子ペン１０の送信部１９から送信された情報を受信する。受信した情報には、電子ペン１０の位置情報計算部１８の計算結果が含まれている。受信部２２は受信した情報を制御部２３に送信する。
【００５５】
制御部２３は、ＣＰＵやメモリなどから構成されたマイコンであり、ＣＰＵを動作させるためのプログラムも実装している。制御部２３は表示装置２０全体を制御する。
【００５６】
制御部２３は、受信部２２を介して筆圧検知部３４が検知した情報を取得する。制御部２３は、ユーザが電子ペン１０で記入しているか否かなどをその情報に基づいて判断し、表示面２１に表示される表示情報を適切に更新する。また、制御部２３は、電子ペン１０の位置情報計算部１８が計算した電子ペン５０の先端部の表示面２１上における位置に応じて、表示面２１に表示する表示情報を更新する。これにより、ユーザが電子ペン１０を用いて入力した文字が、表示面２１に表示される。
【００５７】
［２．動作］
［２−１．手書き入力システムの動作概要］
まずは、図３を参照しながら手書き入力システム１００の動作概要を説明する。手書き入力システム１００では、撮像部１２が画像を撮影し、ドットマーク位置検出部１５に送る。ドットマーク位置検出部１５は撮影画像中におけるドットマーク５０の位置を検出し、検出結果を格子位置設定部１６に送信する。格子位置設定部１６はドットパターンを構成する複数のドットマーク５０を選定する。格子位置設定部１６は、選定したドットマーク５０に各々対応する格子点５０ａの表示面２１における位置を計算し、これらの結果をドットマーク復号部１７に送信する。ドットマーク復号部１７は相対位置情報を生成し、その結果を位置情報計算部１８に送信する。位置情報計算部１８は、相対位置情報を用いてドットマーク５０の位置情報を計算する。最終的に、位置情報計算部１８は表示面２１上のペン先部３２の位置を特定する。
【００５８】
送信部１９は、位置情報計算部１８が計算した結果を含んだ情報を表示装置２０に送信する。表示装置２０の制御部２３は、電子ペン１０の送信部１９から送信された情報を受信部２２を介して受け取る。制御部２３は、位置情報計算部１８が計算した結果を含んだ情報に応じて、表示面２１に表示する表示情報を更新する。これにより、ユーザが電子ペン１０を用いて入力した文字が、表示面２１に表示される。このように、手書き入力システム１００は、ユーザがペン入力した位置を高精細に検知し、入力文字を表示面２１に反映させることができる。
【００５９】
次に、電子ペン１０のドットマーク位置検出部１５と、格子位置設定部１６と、ドットマーク復号部１７と、位置情報計算部１８の各部の動作を詳細に説明する。
【００６０】
［２−２．ドットマーク位置検出部１５の動作］
まず、図４〜１４を参照してドットマーク位置検出部１５の動作を説明する。図４は、ドットマーク位置検出部１５の動作を示すフローチャートである。また、図５に撮像部１２の撮像素子１４が撮影した画像の一例を示す。図５は電子ペン１０を基準状態に保持した場合の撮影画像である。ここで基準状態とは、図２に示すように表示面２１と撮像素子１４の撮像面とが平行な状態を指す。すなわち、電子ペン１０が表示面２１の表面に直角である場合である。図５に示す画像Ｐ０には、複数のドットマーク５０が略正方形の黒領域として存在する。また、画像の水平方向に複数のブラックライン４０が存在している。
【００６１】
ここでブラックライン４０を説明する。液晶ディスプレイなどの表示装置２０は、Ｒ、Ｇ、Ｂの各表示画素を区切るブラックマトリクスを有している。ブラックマトリックスは、縦方向のブラックラインと、横方向のブラックラインから構成されている。そして、通常は横方向のブラックラインが太くなる。また、ブラックマトリックスはカーボンブラックを主成分とする材料により形成されている。カーボンブラックは赤外線吸収率が非常に高い材料であるため、ブラックマトリックスは赤外線を吸収する。このため、図５に示す画像Ｐ０には、横方向のブラックライン４０が存在する。なお、縦方向のブラックラインは、撮像素子１４のピクセル解像度以下の大きさであるため、図５に示す画像Ｐ０には存在していない。
【００６２】
画像Ｐ０は、例えば２４０×２４０ピクセルの画素からなる画像である。画像Ｐ０では、ドットマーク５０は、縦横約６ピクセルのサイズを有している。また、ブラックライン４０の太さは約２ピクセルである。すなわち、ドットマーク５０の垂直方向のサイズは、ブラックライン太さより３倍程度大きい。また、ブラックライン４０の、ライン間の間隔Ｂ０は約８ピクセルである。図５に示す画像Ｐ０は、電子ペン１０を基準状態に保持した場合に得られた画像である。この基準状態において、ドットマーク５０およびブラックライン４０は、最も大きく撮影される。しかしながら、ユーザが電子ペン１０を実際に操作すると、基準状態は必ずしも保持されない。電子ペン１０は表示面２１に対して任意の角度で傾斜し、電子ペン１０のペン先部３２の軸回りに任意の角度で回転する。このように電子ペン１０が傾斜し回転した状態における撮影画像の一例Ｐ１を図６に示す。画像Ｐ１を見ると、ブラックライン４０は水平方向に対して傾斜し、電子ペン１０が軸回りに回転していることがわかる。また、ブラックライン４０の間隔Ｂ１は、Ｂ０に比べて明らかに狭くなっており、ドットマーク５０の大きさも小さくなっている。これは、電子ペン１０が表示面２１に対して傾斜していることに起因する。
【００６３】
以下、図６に示す画像Ｐ１を例に、図４のフローチャートに沿ったドットマーク位置検出部１５の動作を説明する。
【００６４】
［２−２−１．ハイパスフィルタ処理（Ｓ１０１）］
図６の画像Ｐ１を見ると、左右の輝度ムラが顕著である。輝度ムラは低周波数の輝度の変化に起因している。そこで、輝度ムラの影響を軽減するために、ドットマーク位置検出部１５はハイパスフィルタ処理を行う。
【００６５】
画像Ｐ１の左上から右方向にｘ番目、下方向にｙ番目の画素の輝度がＰ１（ｘ，ｙ）であるとする。平滑化あるいはぼかしと呼ばれるフィルタ処理は入力画像Ｐ１の注目画素Ｐ１（ｘ，ｙ）に関して、周りの画素の重みつき合計を求めて出力画像Ｐ１ａとする処理である。例えば、横方向に２×Ｎ１＋１個、縦方向に２×Ｎ１＋１個の画素に着目し、数１を用いて注目画素Ｐ１に対して出力画像Ｐ１ａを計算する。
【数１】
2014067398.tif 000003
【００６６】
ここで、Ｆ（ｘ，ｙ）は重み係数であり、カーネルとも呼ばれる。また、カーネルの大きさはカーネルサイズとも呼ばれる。全ての係数が同一となる移動平均フィルタを用いれば、計算時間が短く、かつ良好な平滑化結果が得られる。例えば、移動平均フィルタのカーネルサイズが３×３である場合、そのフィルタの各係数は１／９となる。なお、注目画素Ｐ１（ｘ，ｙ）近傍の重みを大きくした加重平均フィルタ（例えば、ガウシアンフィルタ）を用いても良い。
【００６７】
移動平均フィルタを用いた平滑化処理結果を画像Ｐ１ａとして図７に示す。ハイパスフィルタ処理は、元の画像Ｐ１と平滑化画像Ｐ１ａとの差分を取る処理である。ハイパスフィルタ処理は数２によって表される。
【数２】
2014067398.tif 000004
【００６８】
ハイパスフィルタ処理の結果を画像Ｐ２として図８に示す。本実施の形態では、カーネルサイズは、概ね２×Ｎ１＋１＝Ｂ０×ＣＯＳ（γ）×３を満たすように設定している。ここで、γは電子ペン１０が許容する最大傾斜角度である。電子ペン１０が表示面２１に対して最も傾いた状態において、ブラックライン４０の間隔Ｂ１は、Ｂ１＝Ｂ０×ＣＯＳ（γ）となるので、その３倍程度のカーネルサイズを選択するようにしている。例えばγ＝４５°まで許容される場合には、Ｂ０が８ピクセルであるから、Ｎ１＝７前後が適切な数値となる。このようにカーネルサイズを選択すれば、ブラックライン４０の影響を受けずに、輝度ムラの影響を軽減できる。
【００６９】
［２−２−２．ローパスフィルタ処理（Ｓ１０２）］
次に、ハイパス処理を行った画像Ｐ２から、ブラックライン４０を消去する目的で、ドットマーク位置検出部１５はローパスフィルタ処理を行う。ローパスフィルタ処理は先に述べた平滑化処理そのものであり、数３によって表される。
【数３】
2014067398.tif 000005
【００７０】
ここで、数式２と同様にＦ（ｘ，ｙ）は重み係数である。全ての係数が同一となる移動平均フィルタを用いれば、計算時間が短く、かつ良好な平滑化結果が得られる。本実施の形態では、カーネルサイズは、概ね２×Ｎ２＋１＝Ｂ０×ＣＯＳ（γ）を満たすように設定している。電子ペン１０が表示面２１に対して最も傾いた状態において、ブラックライン４０の間隔Ｂ１は、Ｂ１＝Ｂ０×ＣＯＳ（γ）となるので、それと同程度のカーネルサイズを選択するようにしている。例えばγ＝４５°まで許容される場合には、Ｂ０が８ピクセルであるから、Ｎ２＝２前後が適切な数値となる。このようにカーネルサイズを選択すれば、ドットマーク５０は残したまま、ブラックライン４０を概ね消去できる。
【００７１】
［２−２−３．ローパスフィルタ処理の繰り返し（Ｓ１０３）］
図８の画像Ｐ２に対して、数式３に示すローパスフィルタ処理を施した結果を画像Ｐ３として図９に示す。図９を見ると、ブラックライン４０は薄くなっているがまだ残っている。
【００７２】
次にＳ１０３において所定の回数まで、ドットマーク位置検出部１５は数式３のローパス処理を繰り返し実行する。ドットマーク位置検出部１５は所定回数の処理を実施した後、次のＳ１０４の処理に進む。
【００７３】
数式３のローパス処理を合計で５回実施した結果を画像Ｐ４として図１０に示す。ブラックライン４０は概ね消去されている。ただし、ドットマーク５０は薄くなっているが残っている。
【００７４】
さらに数式３のローパス処理を合計で７回実施した結果を画像Ｐ５として図１１に示す。Ｐ５の画像においてもドットマーク５０は残っている。ステップＳ１０３において判定に用いる所定回数は、ブラックライン４０の消去に最低限度必要な回数（例えば５回）よりも、さらに多い回数（例えば７回）に設定すればよい。これにより、ブラックライン４０を確実に消去できる。
【００７５】
また、数式３のカーネルサイズを、２×Ｎ２＋１＝Ｂ０×ＣＯＳ（γ）を満たすように設定しているので、ドットマーク５０は残っている。なぜなら、ドットマーク５０は縦横約６ピクセルのサイズを有しており、ドットマーク５０のサイズはブラックライン４０の太さ約２ドットに対して３倍程度大きいためである。換言すれば、ドットマーク５０の空間周波数が、ブラックラインの空間周波数に比べて、３倍程度低くなるからである。
【００７６】
［２−２−４．輝度補正処理（Ｓ１０４）］
数式３のローパス処理を７回実施した図１１の画像Ｐ５を見ると、ドットマーク５０は未だ確認できる。しかしながら、画像全体としてはコントラストが非常に低くなっている。このため、ドットマーク位置検出部１５は各画素の輝度を補正する。具体的には、ドットマーク位置検出部１５は画像Ｐ５の各画素の輝度Ｐ５（ｘ，ｙ）に数式４に従って輝度に関する補正処理を施す。数式４はダイナミックレンジの調整のために用いられる。
【数４】
2014067398.tif 000006
【００７７】
ここでＰ５ｍａｘおよびＰ５ｍｉｎは、画像Ｐ５における全画素中の輝度の最大および最小値である。また、各画素の輝度は８ｂｉｔで表現する。すなわち、０（黒）から２５５（白）までの数値により輝度が表現される。数式４による輝度に関する補正処理を施した結果を画像Ｐ６として図１２に示す。輝度の最大値と最初値との差が小さい場合でも、輝度レンジいっぱいにダイナミックレンジが拡大され、図１１よりもドットマーク５０の形状を鮮明に確認できる。
【００７８】
［２−２−５．適応的二値化処理（Ｓ１０５）］
次にドットマーク５０の位置を検出するための前処理として、ドットマーク位置検出部１５は適応的二値化処理を実施する。適応的二値化処理とは、閾値を場所に応じて変化させて二値化処理を行うことである。より具体的には数式５を用いて適応的二値化処理がなされる。
【数５】
2014067398.tif 000007
【００７９】
数式５に示すＴ（ｘ，ｙ）は閾値を表す。この閾値とＰ６（ｘ，ｙ）の輝度値とを比較して二値化処理がなされる。ここで、Ｔｃは予め定めた固定値である。またＦ（ｘ，ｙ）は重み係数である。例えば、Ｆ（ｘ，ｙ）のフィルタとしては、全ての係数が同一となる移動平均フィルタを用いればよい。
【００８０】
本実施の形態では、カーネルサイズに関しては、概ね２×Ｎ３＋１＝Ｂ０×ＣＯＳ（γ）×２を満たすように設定している。Ｆ（ｘ，ｙ）のカーネルサイズは、Ｓ１０１のハイパスフィルタ処理におけるカーネルサイズ２×Ｎ１＋１と、Ｓ１０２のローパスフィルタ処理におけるカーネルサイズ２×Ｎ２＋１との平均値に設定している。Ｓ１０１のハイパスフィルタ後に、Ｓ１０２のローパスフィルタ処理を施しているので、いわばバンドパスフィルタ処理と同様の効果を得ることができる。このバンドパスフィルタの中心周波数に相当するカーネルサイズを選択すれば、適応的二値化処理を最も有効に実施することができる。
【００８１】
電子ペン１０が最も傾いた状態において、ブラックライン４０の間隔Ｂ１は、Ｂ１＝Ｂ０×ＣＯＳ（γ）となるので、その２倍程度のカーネルサイズを選択する。例えばγ＝４５°まで許容される場合には、Ｂ０が８ピクセルであるから、Ｎ３＝５前後が適切な数値となる。
【００８２】
数式５に示す閾値を用いて、適応的二値化処理を図１２の画像Ｐ６に施した結果を画像Ｐ７として図１３に示す。輝度に関する補正処理後の画像Ｐ６（図１２）においても、画像の左側と右側でドットマーク５０のコントラストには違いが見られる。画像の右側のコントラストが左側のコントラストに比べて高い。しかしながら、適応的二値化処理後の図１３の画像Ｐ７を見ると、画像の左側でも右側でもほぼ同一サイズの黒い円形領域として、ドットマーク５０を正しく検出できていることが確認できる。
【００８３】
［２−２−６．中心位置検出処理（Ｓ１０６）］
次に、ドットマーク位置検出部１５は、二値化処理後の画像Ｐ７における、ドットマーク５０の中心位置Ｖ１を求める。
【００８４】
初めにドットマーク位置検出部１５は適応的二値化処理後の画像Ｐ７に、ラベリング処理を行う。次に、ドットマーク位置検出部１５は同一ラベルを有する黒の領域に関する面積重心位置を求め、面積重心位置を各ドットマーク５０の中心位置Ｖ１とする。この一連の処理が異なるラベルを有する黒の領域ごとに繰り返されることにより、画像に含まれる黒領域全てについてドットマーク５０の中心位置Ｖ１が求まる。
【００８５】
また、ドットマーク位置検出部１５は、ドットマーク５０の中心位置Ｖ１を求めるときに、黒領域の面積も同時に判定する。領域の面積が所定値以下の場合には、ドットマーク位置検出部１５は、その黒領域をノイズとして判定する。例えば、ドットマーク位置検出部１５は、黒領域の面積が８ピクセル以下の場合には、その黒領域をノイズと判定する。この場合、ドットマーク位置検出部１５は黒領域をドットマーク５０とは見なさないので、面積重心位置も求めない。
【００８６】
上述した処理により求まるドットマーク５０の中心位置Ｖ１の位置を画像上に×印で表示した画像Ｐ８を図１４に示す。図１３における黒領域のうち、面積が小さい黒領域４１はノイズと判定される。よって、図１４においては黒領域４１の面積重心位置に対応した位置には、×印は表示されない。
【００８７】
また別の手法として、ドットマーク位置検出部１５は、二値化処理後の画像Ｐ７の白と黒の境界部を閉じた輪郭として検出してもよい。ドットマーク位置検出部１５は閉じた輪郭を囲う円や長方形の中心位置を求めて、それをドットマーク５０の中心位置Ｖ１とすればよい。あるいは、ドットマーク位置検出部１５は閉じた輪郭の画素位置に沿った線積分を行い、その結果を中心位置Ｖ１としてもよい。なお、閉じた輪郭を囲う円や長方形のサイズ（直径や辺の長さ）、あるいは輪郭を構成する画素数などが所定値以下の場合には、その領域はノイズと判定すればよい。
【００８８】
本実施の形態では、画像Ｐ８の左上を原点とするピクセル座標系（ｘ，ｙ）を定義する。検出したドットマーク５０の総数がＭ個である場合、Ｋ番目（０≦Ｋ＜Ｍ）のドットマーク５０のピクセル座標系における座標（ｘ，ｙ）を（Ｖ１［Ｋ］ｘ，Ｖ１［Ｋ］ｙ）と表記する。
【００８９】
［２−２−７．ドットマーク位置検出部１５の効果］
以上のように本実施の形態において、ドットマーク位置検出部１５は、ブラックライン４０の間隔Ｂ０に基づいて、適切なカーネルサイズＮ１，Ｎ２，Ｎ３を決定する。これにより、Ｓ１０１のハイパス処理部においては、ブラックライン４０の影響を受けずに、輝度ムラの影響を軽減できる。
【００９０】
また、Ｓ１０２のローパスフィルタ処理を、Ｓ１０３において予め定めた回数まで繰り返すことによって、ブラックライン４０だけを消去し、ドットマーク５０を残すことができる。
【００９１】
また、Ｓ１０５の適応的二値化処理においては、バンドパスフィルタの中心周波数に対応したカーネルサイズが設定されているので、ドットマーク５０の黒領域を含む画像を正確に二値化画像に変換できる。この結果、電子ペン１０が傾斜し、回転した場合であっても、ブラックライン４０の影響を受けることなく、ドットマーク５０のピクセル座標系（ｘ，ｙ）における位置Ｖ１を正確に検出できる。
【００９２】
［２−３．格子位置設定部１６の動作］
次に、図１５〜２５を参照して格子位置設定部１６の動作を説明する。
【００９３】
図１５は、格子位置設定部１６の動作を示すフローチャートである。
【００９４】
以下、このフローチャートに従って格子位置設定部１６の各動作を順に説明する。図１４の画像Ｐ８に×印で示したように、ドットマーク５０の位置Ｖ１は既に検出できている。格子位置設定部１６は、総数がＭ個の複数のドットマーク５０の中から、ドットパターンを構成する、例えば６×６個の格子状に配置されたドットマーク５０を選定する。６×６個の格子の方向は、表示面２１の水平・垂直方向と一致している。すなわち、６×６個の格子の方向は図１に示すワールド座標系（Ｘ，Ｙ）の方向と一致している。本実施の形態では、図１に示すように表示面２１の左上を原点とする座標系（Ｘ，Ｙ）を定義する。この座標系をワールド座標系（Ｘ，Ｙ）と称する。
【００９５】
電子ペン１０が任意の方向に傾斜し、回転した場合には、６×６個の格子の方向は図１４に示すピクセル座標系（ｘ，ｙ）の方向と一致しない。このため、ドットマーク５０の位置Ｖ１の検出結果である図１４の画像Ｐ８からは、格子位置設定部１６は表示面２１のワールド座標系（Ｘ，Ｙ）の方向を判定できない。
【００９６】
本実施の形態では、格子位置設定部１６は、表示面２１のワールド座標系におけるＸ軸方向を判定するために、ブラックライン４０の回転角度を以下のＳ２０１〜Ｓ２０４の処理により検出する。
【００９７】
［２−３−１．処理対象領域の選択（Ｓ２０１）］
図１６は、ハイパス処理後の画像Ｐ２を３×３の９領域に分割した図である。本実施の形態では、画像の水平方向に対してブラックライン４０は、時計周りを正とする方向にθ≒−２９°回転しているとする。
【００９８】
ブラックライン４０の回転角度を検出するに際し、格子位置設定部１６はＳ１０１のハイパス処理後の画像Ｐ２を利用する。画像Ｐ２では、ブラックライン４０のコントラストが最も高くなるからである。格子位置設定部１６はこの画像Ｐ２の全画素に対して処理を行う必要はないので、初めに処理対象領域を選択する。
【００９９】
格子位置設定部１６は、３×３の９個に分割した各領域に含まれる全ての画素の輝度ヒストグラムを求め、その分散値を計算し、コントラストの良否を判定することができる。図１６の画像Ｐ２においては、右下の領域４２のコントラストが最も高い。また、領域４２は最も明るい領域でもある。
【０１００】
３×３の９領域に関する、すべての画素の輝度平均値を計算すれば、各領域の明るさは容易に判定できるので、格子位置設定部１６は各領域の輝度平均値に従って処理対象領域を選択することができる。
【０１０１】
本実施の形態においては、照明部１１としてＬＥＤ素子を電子ペン１０の筐体内部における先端の左右に配置しており、左右のＬＥＤ素子が交互に発光する。
【０１０２】
図１６の画像Ｐ２は、領域４２に最も近い右側のＬＥＤ素子だけを発光させた状態で取得した画像である。このため、領域４２が最も明るく、領域４２のコントラストが最も高くなっている。
【０１０３】
これに対して、左側のＬＥＤ素子だけを発光させた場合には、左下の領域４３が最も明るくなる。この場合には、格子位置設定部１６は領域４３を処理対象領域として選定すればよい。このように、格子位置設定部１６は、照明部１１の発光条件（どのＬＥＤ素子を発光させるのかなど）に応じて、処理対象領域を事前に選定することが可能である。
【０１０４】
あるいは、左右のＬＥＤ素子を同時発光させる場合には、格子位置設定部１６は中央下側の領域４４を処理対象領域として選定することもできる。
【０１０５】
処理対象領域が選定された後、格子位置設定部１６は３×３程度のカーネルサイズのフィルタを用いて平滑化処理を行う。Ｓ１０１のハイパスフィルタ処理によって生じた（ごま塩状の）ノイズを除去することが目的である。従って、例えばメディアンフィルタを用いることができる。格子位置設定部１６は選定した処理対象領域にのみ平滑化処理を行えばよい。
【０１０６】
［２−３−２．ｘ方向輝度勾配計算（Ｓ２０２）］
次に、格子位置設定部１６は、処理対象領域（領域４２）での各画素に関するピクセル座標系のｘ方向の輝度勾配を、ソーベルフィルタを用いて計算する。ソーベルフィルタにより、空間内の１次微分係数が求まる。ｘ方向の輝度勾配Ｐ２ｘ（ｘ，ｙ）は、数式６を用いて算出される。
【数６】
2014067398.tif 000008
【０１０７】
数式６においては、重み係数Ｆ（ｘ，ｙ）を行列形式で表記し、数式７では、重み係数Ｆ（ｘ，ｙ）の各成分を展開して表記している。
【数７】
2014067398.tif 000009
【０１０８】
［２−３−３．ｙ方向輝度勾配計算（Ｓ２０３）］
次に、格子位置設定部１６は処理対象領域（領域４２）での各画素に関するピクセル座標系のｙ方向の輝度勾配を、ソーベルフィルタを用いて計算する。ｙ方向の輝度勾配Ｐ２ｙ（ｘ，ｙ）は、数式８を用いて算出される。
【数８】
2014067398.tif 000010
【０１０９】
［２−３−４．回転角度ヒストグラム作成（Ｓ２０４）］
次に、格子位置設定部１６は、数式６および数式８で定めたｘ方向とｙ方向の２方向の輝度勾配から、画素Ｐ２（ｘ，ｙ）における回転角度Ｓ２（ｘ，ｙ）を数式９を用いて計算する。
【数９】
2014067398.tif 000011
【０１１０】
格子位置設定部１６は、処理対象領域（領域４２）の各画素に関する回転角度Ｓ２（ｘ，ｙ）を計算した後、回転角度のヒストグラムを生成する。ヒストグラムのビン幅は、例えば１°で十分である。
【０１１１】
数式９から、ｘ方向およびｙ方向輝度勾配の絶対値の比率だけを見た場合、ｘ方向およびｙ方向輝度勾配のそれぞれの絶対値の大きさとは無関係に、回転角度Ｓ２（ｘ，ｙ）の計算結果が同じになってしまうことがある。
【０１１２】
本実施の形態では、これを回避するために、格子位置設定部１６は、重み付けヒストグラムを求める。より具体的には、格子位置設定部１６は、回転角度Ｓ２（ｘ，ｙ）が含まれるビンに、数式１０に示すｘ方向、ｙ方向輝度勾配のユークリッド距離（Ｓ３の値）を累積（投票）する。
【数１０】
2014067398.tif 000012
【０１１３】
上記の重み付けヒストグラムによれば、回転角度Ｓ２（ｘ，ｙ）の計算結果の信頼性が低い画素の、対応するビンへの投票値を小さくすることができ、回転角度Ｓ２（ｘ，ｙ）の計算結果の信頼性が高い画素の、対応するビンへの投票値を大きくすることができる。この結果、信頼性の高い画素における回転角度Ｓ２（ｘ，ｙ）の計算結果がヒストグラムに反映される。
【０１１４】
図１７は上記の処理により得られた重み付けヒストグラム４５を示す。図１７においては、横軸は−９０°〜９０°の範囲に設定した回転角度θを示し、１°単位のビンにより分割されている。縦軸は重み付の頻度（累積結果）を示している。重み付けヒストグラム４５での重み付頻度が最大となるビン位置は位置４６であり、位置４６の回転角度はθ＝−３５°となる。これに対して、重み付けヒストグラム４５の中心値４７では、回転角度はθ＝−２９°となる。この場合、重み付けヒストグラム４５の形状から明らかなように、重み付けヒストグラム４５の中心値４７における回転角度θを、ブラックライン４０の回転角度として採用すればよい。
【０１１５】
なお、本実施の形態では、数式６、８、９、１０の計算は、領域４２の各画素についてのみ実施すると説明したが、本開示はこれに限定されない。格子位置設定部１６は領域４２に含まれる全ての画素について上記計算を行ってもよい。あるいは、格子位置設定部１６は領域４２に含まれる画素を縦および横方向に１画素毎に計算してもよい。
【０１１６】
［２−３−５．ドットマーク位置の回転処理（Ｓ２０５）］
次に、格子位置設定部１６は、図１４に示した画像Ｐ８に示した総数Ｍ個のドットマーク５０の中心位置Ｖ１を−θだけ回転した位置Ｖ２を求める。格子位置設定部１６は、ブラックライン４０の回転角度θに対して、その回転角度を打ち消す方向に画像Ｐ８を回転させる。具体的には、格子位置設定部１６は数式１１の計算を行う。
【数１１】
2014067398.tif 000013
【０１１７】
ここで、Ｒは回転角度−θと回転中心位置から定まる２×３のアフィン変換行列である。回転後のドットマーク５０の中心位置Ｖ２の位置を画像上に×印で表示した画像Ｐ９を図１８に示す。
【０１１８】
［２−３−６．ドットマークの選定（Ｓ２０６）］
図１８においては、ピクセル座標系のｘ軸方向（図の水平方向）が、ブラックライン４０の方向に一致する。すなわち、ピクセル座標系のｘ軸方向は表示面２１のワールド座標系のＸ軸方向と一致する。
【０１１９】
以下の手順により、格子位置設定部１６は、ドットパターンを構成する６×６個の格子状に配置されたドットマーク５０を選定する。ワールド座標系のＸ軸方向にＩ＝０，１，２，３，４，５、Ｙ軸方向にＪ＝０，１，２，３，４，５となる６×６個の２次元マトリックスを考える。格子位置設定部１６は２次元マトリックスの各要素に当てはまるドットマーク５０を選定する。
【０１２０】
初めに、格子位置設定部１６は、図１８の画像Ｐ９に示したＭ個のドットマークの中から、画像Ｐ１あるいはＰ８の中央に最も近いドットマーク５１を図１９のように選定する。なお、以降の説明においては、選定済みのドットマーク５０を明示するために、選定済みのドットマーク５０の×印を大きな○印で囲んで表示する。
【０１２１】
このドットマーク５１の位置は、画像Ｐ１あるいはＰ８の中央位置から、若干左下方向にずれているので、ドットマーク５１の位置にはＩ＝２、Ｊ＝３の番号を付与する。そして、このドットマーク５１の位置を（Ｖ２［Ｉ，Ｊ］ｘ，Ｖ２［Ｉ，Ｊ］ｙ）あるいは（Ｖ２［２，３］ｘ，Ｖ２［２，３］ｙ）とＩ，Ｊの番号を付して表記する。なお、ドットマーク５１の位置が画像Ｐ１あるいはＰ８の中央位置よりも右上であった場合には、ドットマーク５１の位置にはＩ＝３，Ｊ＝２の番号を付与すればよい。
【０１２２】
このようにすれば、画像Ｐ１あるいはＰ８の中央部に最も近い６×６個のドットマーク５０の組を選定できる。
【０１２３】
次に、格子位置設定部１６はドットマーク５１の右隣のドットマーク５２を選定する。より具体的には、格子位置設定部１６は以下の方法によりこのドットマーク５２の選定を行う。
【０１２４】
格子位置設定部１６は、ドットマーク５１の右側に存在するドットマーク５０だけに絞り込み、さらに、ドットマーク５１と結ぶ線分とｘ軸方向とのなす角度の絶対値が所定角度（例えば４５°）以下となるドットマーク５０に絞り込む。その中から、格子位置設定部１６はドットマーク５１と結ぶ線分の距離が最小となるドットマーク５０をドットマーク５２として選定する。
【０１２５】
格子位置設定部１６はドットマーク５２には、Ｉ＝３の番号を付与する。同様にして、格子位置設定部１６はさらに右側にドットマーク５３、ドットマーク５４を選定し、Ｉ＝４，５の番号をそれぞれに付与する。
【０１２６】
格子位置設定部１６はドットマーク５１の左隣のドットマーク５５、さらに左側のドットマーク５６を選定し、それぞれにはＩ＝２，１の番号を順に付与する。垂直方向には移動していないので、全てＪ＝３が付与される。
【０１２７】
次に格子位置設定部１６は、図２０に示すように、ドットマーク５６よりも下側のドットマーク５７を選定する。この選定方法は以下のとおりである。格子位置設定部１６は、ドットマーク５６の下側に存在するドットマーク５０だけに絞り込み、さらに、ドットマーク５６と結ぶ線分とｙ軸方向とのなす角度の絶対値が所定角度（例えば４５°）以下となるドットマーク５０に絞り込む。その中から、格子位置設定部１６はドットマーク５６と結ぶ線分の距離が最小となるドットマーク５０をドットマーク５７として選定する。
【０１２８】
ドットマーク５７には、Ｉ＝０、Ｊ＝４の番号が付与される。そして、格子位置設定部１６は、ドットマーク５７から右側にドットマーク５８、ドットマーク５９、ドットマーク６０、ドットマーク６１、ドットマーク６２を順に選定する。これらのドットマークには、Ｉ＝１，２，３，４，５、Ｊ＝４の番号が付与される。
【０１２９】
上述したとおり、図２０におけるピクセル座標系のｘ軸方向（図の水平方向）は、ブラックライン４０の方向に一致しているので、表示面２１のワールド座標系のＸ軸方向と一致する。しかしながら、表示面２１のワールド座標系Ｙ軸の方向は、ピクセル座標系のｙ軸方向とは一致していない。
【０１３０】
実際、ドットマーク５６よりも下側のドットマーク５０の候補として、ドットマーク５７とドットマーク５８の２つが存在する。このため、格子位置設定部１６は、隣り合ったＪ方向のドットマーク間（Ｊ＝３とＪ＝４）の左右ずれのチェックを行う。本実施の形態では、格子位置設定部１６は数式１２を用いて３つの値Ｓｘ１，Ｓｘ２，Ｓｘ３を計算する。
【数１２】
2014067398.tif 000014
【０１３１】
これら３つの値Ｓｘ１，Ｓｘ２，Ｓｘ３は、Ｊ方向のドットマーク間（Ｊ＝３とＪ＝４）のピクセル座標系におけるｘ軸方向座標の差分の総和から求まる。
【０１３２】
Ｉ方向の番号が同じ４点について、ｘ軸方向座標の差分の総和がＳｘ２である。Ｓｘ１とＳｘ３は、それぞれＩ方向の番号の組み合わせを右または左方向にずらしたドットマーク間の、ピクセル座標系におけるｘ軸方向座標の差分の総和である。
【０１３３】
格子位置設定部１６は、３つの値Ｓｘ１，Ｓｘ２、Ｓｘ３を比較して、最小となるのがＳｘ２であった場合には、次の選定作業（図２２に示す選定作業）に進む。左右ずれが発生していないためである。
【０１３４】
一方、Ｓｘ３が最小となった場合には、Ｊ＝４の６個のドットマーク５７，５８，５９，６０，６１，６２は、左側にずれている。この場合、格子位置設定部１６は、図２１に示すように、ドットマーク５７を選定から除外し、さらにドットマーク６２の右側のドットマーク６３を新たに選定する。このようにして、格子位置設定部１６は、新たに６個のドットマーク５８，５９，６０，６１，６２，６３に対して、Ｉ＝０，１，２，３，４，５の番号を付与した後、次の選定作業に進む。
【０１３５】
Ｓｘ１が最小となった場合は、Ｊ＝４の６個のドットマーク５７，５８，５９，６０，６１，６２は、右側にずれている。この場合、格子位置設定部１６は、Ｓｘ３が最小となった場合の処理とは逆にドットマーク６２を除外し、ドットマーク５７の左隣のドットマーク（不図示）を新たに選定する処理を行えばよい。
【０１３６】
次に、格子位置設定部１６は、図２２に示すように、ドットマーク５８から見て下側のドットマーク６４を選定し、Ｉ＝０、Ｊ＝５の番号も付与する。そして、格子位置設定部１６は、ドットマーク６４から右側にドットマーク６５，６６，６７，６８，６９を順に選定する。これらのドットマークには、Ｉ＝１，２，３，４，５、Ｊ＝５の番号が付与される。格子位置設定部１６は、Ｊ＝４とＪ＝５のドットマーク間について、数式１２に示した３つの値Ｓｘ１，Ｓｘ２，Ｓｘ３を計算し、左右ずれのチェックを行う。その結果、格子位置設定部１６は、左または右側にずれていると判定した場合には、Ｊ＝５のドットマーク６個を再選定する。
【０１３７】
次に、格子位置設定部１６は、図２３に示すように、ドットマーク５６よりも上側のドットマーク７０を選定し、Ｉ＝０、Ｊ＝２の番号を付与する。そして、格子位置設定部１６は、ドットマーク７０から右側にドットマーク７１，７２，７３，７４，７５を順に選定する。これらのドットマークには、Ｉ＝１，２，３，４，５、Ｊ＝２の番号が付与される。格子位置設定部１６は、Ｊ＝３とＪ＝２のドットマーク間についても左右ずれのチェックを行い、必要ならばＪ＝２のドットマーク６個を再選定する。
【０１３８】
次に、格子位置設定部１６は、ドットマーク７０よりも上側のドットマーク７６を選定し、Ｉ＝０、Ｊ＝１の番号を付与する。そして、格子位置設定部１６はドットマーク７６から右側にドットマーク７７，７８，７９，８０，８１を順に選定する。これらのドットマークには、Ｉ＝１，２，３，４，５、Ｊ＝１の番号が付与される。格子位置設定部１６は、Ｊ＝２とＪ＝１のドットマーク間についても左右ずれのチェックを行い、必要ならばＪ＝１のドットマーク６個を再選定する。
【０１３９】
次に、格子位置設定部１６は、ドットマーク７６よりも上側のドットマーク８２を選定し、Ｉ＝０、Ｊ＝０の番号を付与する。そして、格子位置設定部１６は、ドットマーク８２から右側にドットマーク８３，８４，８５，８６，８７を順に選定する。これらのドットマークには、Ｉ＝１，２，３，４，５、Ｊ＝０の番号が付与される。格子位置設定部１６は、Ｊ＝１とＪ＝０のドットマーク間についても左右ずれのチェックを行い、必要ならばＪ＝０のドットマーク６個を再選定する。
【０１４０】
以上のようにして、格子位置設定部１６は、ドットパターンを構成する６×６個の格子状に配置されたドットマーク５１，５２，５３・・・・・８７を選定する。これらのドットマークの位置は、画像Ｐ９に示した回転後のドットマーク５０の中心位置Ｖ２を利用して選定される。
【０１４１】
ドットマーク５０の回転前後の位置関係は、数式１１で定義されているので、回転後のドットマーク５０の中心位置Ｖ２を回転前のドットマーク５０の中心位置Ｖ１に変換できる。よって、回転前のドットマーク５０の座標Ｖ１についても６×６個のマトリックスに対応した座標値を選定できたことになる。この結果、図２４に示すような関係が得られる。例えば、Ｉ＝２、Ｊ＝３の番号が付与されているドットマーク５１に関する、回転前の画像Ｐ８における位置Ｖ１として、（Ｖ１［Ｉ，Ｊ］ｘ，Ｖ１［Ｉ，Ｊ］ｙ）あるいは（Ｖ１［２，３］ｘ，Ｖ１［２，３］ｙ）とＩ，Ｊの番号を付して表記する。
【０１４２】
［２−３−７．格子点位置の計算（Ｓ２０７）］
次に、格子位置設定部１６は格子点５０ａの位置を計算する。表示面２１のワールド座標系（Ｘ，Ｙ）において、個々のドットマーク５０に対応して、第１基準線４４と第２基準線４５（あるいはラスター）との交点を格子点５０ａと呼ぶ。この格子点５０ａについてもドットパターンに対応する６×６個のマトリックスを考える。その座標値Ｗ１は容易に計算できる。
【０１４３】
図２５において、第１基準線４４および第２基準線４５を点線で示し、格子点５０ａの位置をグレーの○印で示す。６×６個のマトリックス状に配置された格子点５１ａ〜８７ａの位置Ｗ１は、表示面２１のワールド座標系（Ｘ，Ｙ）で表記する。ワールド座標系（Ｘ，Ｙ）の単位には、表示面２１上の実寸（例えばμｍやｍｍといった単位）を用いることができる。ただし、格子点５１ａ〜８７ａの位置Ｗ１を特定する、ワールド座標系の原点は、後段の処理を考慮して、左上の格子点８２ａとする。以降、左上の格子点８２ａを原点とするワールド座標系を「格子点座標系」と称する場合がある。
【０１４４】
第２基準線４５のＸ軸方向の間隔をＢ２、第１基準線４４のＹ軸方向の間隔をＢ３とすると、例えば、Ｂ２およびＢ３は３００μｍといった数値に設定され得る。図２５において、左上の格子点８２ａを原点として（すなわちＩ＝０、Ｊ＝０として）、Ｘ軸方向（右側）にＩ、Ｙ軸方向（下側）にＪとなる格子点Ｗ１［Ｉ，Ｊ］の格子点座標系における座標値（Ｗ１［Ｉ，Ｊ］Ｘ，Ｗ１［Ｉ，Ｊ］Ｙ）は、数式１３を用いて計算できる。
【数１３】
2014067398.tif 000015
【０１４５】
なお、上記の説明では、格子位置設定部１６は数式１３を用いて格子点Ｗ１［Ｉ，Ｊ］を計算する例を説明したが、本開示はこれに限定されない。例えば、格子点Ｗ１［Ｉ，Ｊ］を示す情報が予め内部メモリ等に保持されていてもよい。
【０１４６】
［２−３−８．格子位置設定部１６の効果］
以上のように本実施の形態において、格子位置設定部１６は、Ｓ２０１，Ｓ２０２，Ｓ２０３において、数式６および８に示すソーベルフィルタによりｘ方向とｙ方向の輝度勾配を求める。そして、格子位置設定部１６はＳ２０４において両者の比から各画素における回転角度Ｓ２を計算し、その結果から重み付けヒストグラム４５を求める。このため、ブラックライン４０の回転角度θを精度よく計算できる。
【０１４７】
次に、格子位置設定部１６は、Ｓ２０５において、数式１１を用いてドットマーク５０の位置を角度−θだけ回転した位置Ｖ２を計算する。ピクセル座標系におけるドットマーク５０の位置Ｖ２のｘ軸方向は、表示面２１のワールド座標系のＸ軸方向と一致する。この結果、Ｓ２０６において、ドットパターンを構成する６×６個の格子状に配置されたドットマーク５０を容易に選定できる。
【０１４８】
ワールド座標系のＹ軸方向は不明であるが、隣り合ったドットマーク間の左右ずれチェックを行っているので、６×６個の格子状に配置されたドットマーク５１，５２，５３，・・・・・，８７を正しく選定できる。
【０１４９】
［２−４．ドットマーク復号部１７の動作］
次に、図２６〜２９を参照してドットマーク復号部１７の動作を説明する。
【０１５０】
図２６は、ドットマーク復号部１７の動作を示すフローチャートである。以下、このフローチャートに従ってドットマーク復号部１７の各動作を順に説明する。
【０１５１】
［２−４−１．相対位置初期値の設定（Ｓ３０１）］
まず、ドットマーク復号部１７はドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］の初期値を設定する。
【０１５２】
本実施の形態では、表示面２１の格子点座標系（Ｘ，Ｙ）において、格子点５０ａの位置をＷ１［Ｉ，Ｊ］と、格子点５０ａに対するドットマーク５０の相対位置をＷ２［Ｉ，Ｊ］と表記する。このドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］の初期値は、例えば数式１４に従って設定することができる。
【数１４】
2014067398.tif 000016
【０１５３】
［２−４−２．射影変換行列の計算（Ｓ３０２）］
格子点座標系（Ｘ，Ｙ）におけるドットマーク５０の位置Ｗ３［Ｉ，Ｊ］は、数式１５を用いて格子点５０ａの位置Ｗ１［Ｉ，Ｊ］に相対位置Ｗ２［Ｉ，Ｊ］を加算して求まる。
【０１５４】
数式１４および１５から、Ｓ３０１の段階では、Ｗ３［Ｉ，Ｊ］はＷ１［Ｉ，Ｊ］に一致する。
【数１５】
2014067398.tif 000017
【０１５５】
次に、ドットマーク復号部１７は、ドットマーク５０のピクセル座標系（ｘ，ｙ）における位置Ｖ１［Ｉ，Ｊ］を、上記格子点座標系（Ｘ，Ｙ）における位置Ｗ３［Ｉ，Ｊ］に数式１６に従って射影変換する。
【数１６】
2014067398.tif 000018
【０１５６】
ここで、Ｈは射影変換行列であり、数式１７に示す３×３の行列となる。
【数１７】
2014067398.tif 000019
【０１５７】
数式１６および１７では、各行列は同次座標系で表現されている。ここで、左辺のｃは移動倍率を表す座標である。
【０１５８】
射影変換行列Ｈは、ピクセル座標系（ｘ，ｙ）と、格子点座標系（Ｘ，Ｙ）との関係を記述する変換行列である。数式１７に示すように、射影変換行列Ｈの未知定数は８個である。したがって、数式１６からわかるように、４個以上のドットマーク５０に対して、ピクセル座標系（ｘ，ｙ）における位置Ｖ１［Ｉ，Ｊ］と、格子点座標系（Ｘ，Ｙ）における位置Ｗ３［Ｉ，Ｊ］とが既知であればＨの未知定数を求めることができる。
【０１５９】
既に、ドットパターンを構成する６×６個の格子状に配置されたドットマーク５１，５２，５３・・・・・８７は選定されている。ドットマーク復号部１７は、６×６個のドットマーク５０から構成されるドットパターン（Ｉ＝０，１，２，３，４，５とＪ＝０，１，２，３，４，５）のＶ１［Ｉ，Ｊ］とこれに対応するＷ３［Ｉ，Ｊ］を用いて、最小二乗法により射影変換行列Ｈを計算する。
【０１６０】
上述のとおり、数式１６および１７では、各行列は同次座標系で表現されている。また、左辺のｃは移動倍率を表す座標である。それゆえ、数式１６から射影変換行列Ｈを求めるには、非線形の最小二乗法が必要になる。最小二乗法では一般的に目的関数が用いられる。本実施の形態では、数式１８に示す関数を目的関数とする。
【数１８】
2014067398.tif 000020
【０１６１】
ここでＧ［Ｉ，Ｊ］は、ピクセル座標系におけるドットマーク５０の位置Ｖ１［Ｉ，Ｊ］を、射影変換行列Ｈを用いて格子点座標系に射影変換した結果を示す。数式１８に示した目的関数は、射影変換結果の残差の二乗和である。
【０１６２】
この目的関数の最小化はラグランジェの未定乗数法を用いた固有値を解くことにより行う。また、ニュートン法などにより収束解を求める方法は一般的によく知られている。このようにして、数式１８に示す目的関数が最小になるように、すなわち射影変換結果の残差の二乗和が最小になるように、ドットマーク復号部１７は射影変換行列Ｈを計算する。
【０１６３】
［２−４−３．ドットマークの射影変換（Ｓ３０３）］
次に、ドットマーク復号部１７は、Ｓ３０２において計算した射影変換行列Ｈを用いて、ピクセル座標系（ｘ，ｙ）におけるドットマーク５０の位置Ｖ１［Ｉ，Ｊ］を、格子点座標系（Ｘ，Ｙ）上に実際に射影する。射影変換後のドットマーク５０の位置を改めて位置Ｗ３［Ｉ，Ｊ］と表記する。Ｗ３［Ｉ，Ｊ］は数式１９により求まる。
【数１９】
2014067398.tif 000021
【０１６４】
数式１９により計算したドットマーク５０の格子点座標系における位置Ｗ３［Ｉ，Ｊ］の一例を、図２７に白の○印（５１ｂ〜８７ｂ）として表示する。また、第１基準線４４および第２基準線４５の交点上に等間隔に配置された格子点５１ａ〜８７ａは灰色の○印として表示している。
【０１６５】
ドットマーク５０の射影変換結果である５１ｂ〜８７ｂは、格子点５１ａ〜８７ａに対していろいろな方向にずれていることがわかる。
【０１６６】
［２−４−４．ドットマーク復号化処理（Ｓ３０４）］
次に、ドットマーク復号部１７は、数式１９により計算した射影変換後のドットマーク５０の位置Ｗ３［Ｉ，Ｊ］と、格子点５０ａの位置Ｗ１［Ｉ，Ｊ］とを比較して、各格子点５０ａを基準とした各ドットマーク５０の位置関係を示す相対位置情報を生成する。各ドットマーク５０の相対位置情報の生成方法は、例えば図２８（ａ）のように定義される。
【０１６７】
以降の説明では、ドットマーク復号部１７の「相対位置情報を生成する処理」を単に「復号処理」と称する。
【０１６８】
既に説明したように、表示面２１上の各ドットマーク５０は、図３５（ａ）〜（ｄ）の何れかの配置となり、これらの配置関係が４進数によって数値化されている。これと同様に、格子点５０ａを基準としたドットマーク５０の位置関係（相対位置関係）がわかれば、各格子点５０ａを基準とした点各ドットマーク５０の位置関係を４進数に数値化できる。
【０１６９】
以降、ドットマーク復号部１７の動作の説明では、ドットマーク復号部１７の「復号する」処理は「異なる符号を割り当てることにより相対位置関係を数値化する」処理を意味する。
【０１７０】
ドットマーク復号部１７が復号処理を実行するには、ドットマーク５０が格子点５０ａに対して、どの方向にずれているかがわかればよい。
【０１７１】
数式１９により計算した射影変換後のドットマーク５０の位置Ｗ３［Ｉ，Ｊ］と、格子点５０ａの位置Ｗ１［Ｉ，Ｊ］との差分（ＤＸ，ＤＹ）を、数式２０により定義する。
【数２０】
2014067398.tif 000022
【０１７２】
また、差分（ＤＸ，ＤＹ）と、各ドットマーク５０の相対位置情報Ｑ［Ｉ，Ｊ］との関係を、数式２１により定義する。
【数２１】
2014067398.tif 000023
【０１７３】
再び、図２７を参照する。ピクセル座標系のドットマーク８２は、左上隅の８２ｂの位置に射影変換される。この場合、ドットマーク８２ｂは格子点８２ａに対して右側にシフトしているので、Ｑ［０，０］＝２に復号される。その下のドットマーク７６ｂは、格子点７６ａに対して左下方向にシフトしているが、｜ＤＸ｜≦｜ＤＹ｜かつＤＹ≧０であるので、Ｑ［０，１］＝３に復号される。
【０１７４】
また、ドットマーク７５ａは、格子点７５ａに対して右上方向にシフトしているが、｜ＤＸ｜≦｜ＤＹ｜かつＤＹ＜０であるので、Ｑ［５，２］＝０に復号される。以上のようにして、ドットマーク復号部１７は、ドットマーク５０の射影変換結果である５１ｂ〜８７ｂの位置を、格子点５１ａ〜８７ａの位置と比較して、復号処理を実行する。
【０１７５】
図２８（ｂ）は、６×６個のドットマーク５０から構成されるドットパターンの復号処理を実行した結果を示す。
【０１７６】
［２−４−５．相対位置更新処理（Ｓ３０５）］
次に、ドットマーク復号部１７は、数式２１の定義に従って復号した各ドットマーク５０の相対位置情報Ｑ［Ｉ，Ｊ］に応じて、格子点座標系における各ドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］を更新する。
【０１７７】
ドットマーク５０の位置符号化方法は、図２８（ａ）に示すとおりである。復号された０，１，２，３の４つの数字に従って、ドットマーク５０を４方向にシフトさせる。Ｘ軸方向のシフト量Ｂ４と、Ｙ軸方向のシフト量Ｂ５は、例えば、Ｂ４＝Ｂ２／６およびＢ５＝Ｂ３／６と予め決めておく。ここで、Ｂ２とＢ３とは第２基準線４５のＸ軸方向および第１基準線４４のＹ軸方向のそれぞれの間隔である。例えばＢ２とＢ３とを３００μｍという数値に設定した場合には、Ｂ４とＢ５とは５０μｍとなる。相対位置情報Ｑ［Ｉ，Ｊ］と相対位置Ｗ２［Ｉ，Ｊ］の座標値の更新との関係は、数式２２により定義される。
【数２２】
2014067398.tif 000024
【０１７８】
ドットマーク復号部１７は各ドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］を数式２２に従って更新する。図２９には、数式１５に従ってドットマーク５０の位置Ｗ３［Ｉ，Ｊ］を計算した結果を、白の○印として表示している。
【０１７９】
ここで、図２７と図２９とを比較して見る。図２７を見ると、ドットマーク５０の射影変換結果である５１ｂ〜８７ｂは、計算（丸め）誤差や検出誤差などの影響により、第１基準線４４または第２基準線４５上に必ずしも存在していない。例えばドットマーク５５ｂは、格子点５５ａに対して右上方向にずれている。
【０１８０】
これに対して、図２９のドットマーク５５ｃは、Ｘ軸方向の第１基準線４４上に存在し、Ｙ軸方向にはずれていない。
【０１８１】
また、図２７においては、ドットマーク５１ｂ〜８７ｂと格子点５１ａ〜８７ａとの距離は一定でない。一方、図２９ではドットマーク５１ｃ〜８７ｃと格子点５１ａ〜８７ａとの距離は一定となる。
【０１８２】
図２７におけるドットマーク５０の射影変換結果は、計算（丸め）誤差や検出誤差などの影響を受けている。これに対して、数式２１に従って各ドットマーク５０を復号し、数式２２に従って相対位置Ｗ２［Ｉ，Ｊ］を更新した結果を用いて数式１５により求めた５１ｃ〜８７ｃ（図２９）の位置は、ドットマーク５０が本来存在すると期待される位置になる。
【０１８３】
［２−４−６．処理の繰り返し（Ｓ３０６）］
Ｓ３０５において、ドットマーク５０が格子点座標系（Ｘ，Ｙ）において本来存在すると期待される位置が明らかになったので、この結果を用いてＳ３０５の射影変換行列Ｈの計算精度をさらに追及する。具体的には、ドットマーク復号部１７はＳ３０２からＳ３０５の処理を繰り返し実行する。
【０１８４】
Ｓ３０１では相対位置Ｗ２［Ｉ，Ｊ］の初期値は、全てゼロに設定していた。このため、数式１５に従って計算したドットマーク５０の位置Ｗ３［Ｉ，Ｊ］の初期値は、格子点５０ａの位置Ｗ１［Ｉ，Ｊ］と完全に一致する。Ｓ３０２において求めた射影変換行列Ｈは、図２４に示すピクセル座標系（ｘ，ｙ）におけるドットマーク５１〜８７から、図２５に示す格子点座標系（Ｘ，Ｙ）における格子点５１ａ〜８７ａへの射影変換行列となる。
【０１８５】
繰り返し処理では、ドットマーク復号部１７はＳ３０５において相対位置Ｗ２［Ｉ，Ｊ］を更新し、数式１５に従って位置Ｗ３［Ｉ，Ｊ］を再計算して、Ｓ３０２において射影変換行列Ｈを再計算する。これは、図２４に示すピクセル座標系（ｘ，ｙ）におけるドットマーク５１〜８７から、図２９に示す格子点座標系（Ｘ，Ｙ）におけるドットマーク５１ｃ〜８７ｃへの射影変換行列を求めることを意味している。本来ドットマーク５０が存在すると期待される位置へ変換するための射影変換行列が計算できる。
【０１８６】
以上のように、ドットマーク復号部１７がＳ３０２からＳ３０５の処理を繰り返し実行すれば、より変換精度の高い射影変換行列Ｈを得ることができる。
【０１８７】
ステップＳ３０６では所定の条件が満たされたか否かが監視されている。例えば、所定の条件は繰り返し数とすることができる。繰り返し数は、予め定めておけばよく、例えば５回実行したなら終了とすればよい。あるいは、相対位置情報が所定の範囲に収束することを所定の条件としてもよい。例えば繰り返し処理の前後でＳ３０４におけるドットマーク５０の相対位置情報Ｑ［Ｉ，Ｊ］が変化していなければ終了とすればよい。このように、所定の条件が満たされるまで繰り返し実行することにより、射影変換行列Ｈの変換精度はより高くなる。
【０１８８】
［２−４−７．ドットマーク復号部１７の効果］
以上のように本実施の形態において、ドットマーク復号部１７は、各格子点５０ａを基準とした各ドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］の初期値を設定した後（ステップＳ３０１）、ピクセル座標系のドットマーク５０の位置Ｖ１［Ｉ，Ｊ］と、相対位置Ｗ２［Ｉ，Ｊ］を各格子点５０ａの位置Ｗ１［Ｉ，Ｊ］に加算した位置Ｗ３［Ｉ，Ｊ］とに基づいて、射影変換行列Ｈを算出する算出処理（ステップＳ３０２）と、ドットマーク５０の位置をピクセル座標系から格子点座標系に射影変換行列Ｈを用いて変換する変換処理（ステップＳ３０３）と、変換後のドットマーク５０の位置Ｗ３［Ｉ，Ｊ］と格子点５０ａの位置Ｗ１［Ｉ，Ｊ］とに基づいて相対位置情報を生成する生成処理（ステップＳ３０４）と、相対位置Ｗ２［Ｉ，Ｊ］を相対位置情報に従って更新する更新処理（ステップＳ３０５）を、所定の条件が満たされるまで、順次、繰り返し実行する。
【０１８９】
その結果、ドットマーク復号部１７は相対位置Ｗ２［Ｉ，Ｊ］を更新しつつ、射影変換行列Ｈを繰り返し計算するので、より変換精度の高い射影変換行列を計算できる。
【０１９０】
射影変換行列Ｈは、ピクセル座標系（ｘ，ｙ）と、格子点座標系（Ｘ，Ｙ）との関係を記述する。換言すれば、射影変換行列Ｈは表示面２１と撮像素子１４の撮像面との平面間の位置関係を表現している。
【０１９１】
撮像素子１４は電子ペン１０の構成要素である。表示面２１に対する電子ペン１０の傾き、回転および位置を、射影変換行列Ｈは表現している。したがって、この射影変換行列Ｈを精度よく求めることができれば、電子ペン１０の傾きや回転の影響を正確に考慮して、電子ペン１０の位置情報を精度よく計算できる。なお、電子ペン１０の位置情報は後述の位置情報計算部１８によって算出される。
【０１９２】
［２−５．位置情報計算部１８の動作］
最後に、図３０および３１を参照して位置情報計算部１８の動作を説明する。
【０１９３】
図３０は、位置情報計算部１８の動作を示すフローチャートである。以下、このフローチャートに従って位置情報計算部１８の各動作を順に説明する。
【０１９４】
［２−５−１．ドットマーク位置情報計算（Ｓ４０１）］
ドットマーク復号部１７のＳ３０４において求めた各ドットマーク５０の相対位置情報Ｑ［Ｉ，Ｊ］は、位置情報計算部１８に送られる。６×６個のドットマーク５０から構成されるドットパターンの相対位置情報が、図２８（ｂ）のようなマトリックス形式で送られる。
【０１９５】
既に説明したように、ドットパターンは表示面２１上の位置に応じて全て異なっている。ドットパターンを特定することにより、表示面２１上におけるその位置を特定できる。
【０１９６】
位置情報計算部１８は相対位置情報Ｑ［Ｉ，Ｊ］を利用してドットマーク５０の位置情報を求める。例えば、位置情報計算部１８は６×６の３６桁の４進数に符号化されている位置情報を復号すればよい。情報パターンへの符号化方法や復号化方法として、公知の手法が用いられる。例えば特表２００３−５１１７６２に開示されている方法を利用すればよい。
【０１９７】
このようにして、位置情報計算部１８は複数のドットマーク５０の相対位置情報Ｑ［Ｉ，Ｊ］から、ドットマーク５０の位置情報を得る。具体的には、位置情報計算部１８は図２５に示す左上格子点８２ａのワールド座標系（Ｘ，Ｙ）における座標値（Ｘｇ，Ｙｇ）を得る。
【０１９８】
［２−５−２．ペン先位置計算（Ｓ４０２）］
電子ペン１０を操作するユーザは、ペン先部３２の最先端部を表示面２１上に接触させて文字入力などを行う。ユーザからの文字入力などを表示面２１に表示させるためには、ペン先部３２のペン先位置３５が、表示面２１のどこにあるのかを把握しておく必要がある。
【０１９９】
図３１に示すように、位置情報計算部１８はペン先位置３５の結像相当位置３６を求め、ピクセル座標系（ｘ，ｙ）における結像相当位置３６の位置（ｘｐ，ｙｐ）を予め計算しておく。位置情報計算部１８は、ペン先位置３５が対物レンズ１３を介して撮像素子１４の撮像面上に結像する位置を結像相当位置３６として計算する。結像相当位置３６は、対物レンズ１３の焦点距離や撮像素子１４との位置関係、あるいはペン先３３の長さなどから一意に定まる。
【０２００】
なお、結像相当位置３６は撮像素子１４の撮像範囲に結像する必要はない。実際の計算結果としては、撮像素子１４の画素サイズが（２４０、２４０）に対して、例えば（ｘｐ，ｙｐ）＝（１２０、−５６９）となる。この結像相当位置３６は、電子ペンが傾き回転しても、ピクセル座標系（ｘ，ｙ）においては変化しない。
【０２０１】
ペン先位置３５の格子点座標系の位置（Ｘｐ，Ｙｐ）は、ドットマーク復号部１７において計算済みの射影変換Ｈを用いて、数式２３により計算できる。
【数２３】
2014067398.tif 000025
【０２０２】
ここで、数式２３により求まる格子点座標系の位置（Ｘｐ，Ｙｐ）は、図２５に示す左上格子点８２ａを原点としているので、実際の表示面２１上のペン先位置３５のワールド座標での絶対的な座標は、（Ｘｐ＋Ｘｇ，Ｙｐ＋Ｙｇ）となる。
【０２０３】
［２−５−３．位置情報計算部１８の効果］
以上のように本実施の形態において、位置情報計算部１８は、ペン先部３２のペン先位置３５が撮像素子１４の撮像面に結像する結像相当位置３６と、射影変換行列Ｈと、格子点８２ａのワールド座標系（Ｘ，Ｙ）における座標値（Ｘｇ，Ｙｇ）とに基づいて、表示面２１上におけるペン先部３２のペン先位置３５の位置を計算できる。したがって、手書き入力の途中で電子ペンの傾きや回転が変化した場合であっても、位置情報計算部１８は、傾きや回転といった電子ペンの状態の変化を反映させた射影変換行列Ｈを利用して、ペン先位置３５の正確な位置を計算できる。
【０２０４】
なお、本実施の形態では、ワールド座標系、ピクセル座標系および格子点座標系の各座標系において左上を原点とする例を示したが、本開示はこれに限定さない。ドットマーク５０の位置Ｖ１［Ｉ，Ｊ］を、変換行列を用いて撮影画像中から表示面２１上に変換できればよく、座標系は任意に設定し得る。上記の各座標系の原点位置は任意に定めることができるし、上記の座標系以外の座標系を定義してもよい。
【０２０５】
［３−１．効果等］
以上のように、本実施の形態においては、手書き入力システム１００は、表示面２１上の多数のドットマークの一部である複数のドットマーク５０を読み取ることにより、表示面２１上の位置を特定する。複数のドットマーク５０は、複数の格子点５０ａを基準として表示面２１上に形成され、表示面２１上の位置は複数のドットマーク５０によって符号化されている。手書き入力システム１００は、複数のドットマーク５０を撮像する撮像部１２と、撮像画像中の複数のドットマーク５０の位置を撮像画像のピクセル座標系における位置として検出するドットマーク位置検出部１５と、ドットマーク位置検出部１５により検出された複数のドットマークの位置および複数の格子点５０ａの位置に基づいて相対位置情報を生成するドットマーク復号部１７であって、複数の格子点５０ａによってピクセル座標系とは異なる格子点座標系が規定され、相対位置情報は、複数の格子点５０ａを基準とした格子点座標系における複数のドットマーク５０の位置関係を示し、格子点座標系における複数のドットマーク５０はピクセル座標系における複数のドットマーク５０に対応する、ドットマーク復号部１７と、表示面２１上の位置を相対位置情報に基づいて計算する位置情報計算部１８とを備える。ドットマーク復号部１７は、複数の格子点５０ａを基準とした複数のドットマーク５０の相対位置の初期値を設定した後、ピクセル座標系における複数のドットマーク５０の位置と、相対位置を格子点５０ａの位置に加算した位置とに基づいて、射影変換行列Ｈを算出する算出処理を実行し、複数のドットマーク５０の位置をピクセル座標系から格子点座標系に射影変換行列Ｈを用いて変換する変換処理を実行し、変換後の複数のドットマーク５０の位置と複数の格子点５０ａの位置とに基づいて相対位置情報を生成する生成処理を実行し、相対位置を相対位置情報に従って更新する更新処理を実行し、所定の条件が満たされるまで、算出処理、変換処理、生成処理および更新処理を順次、繰り返し実行するよう構成されている。
【０２０６】
この結果、変換精度の高い射影変換行列Ｈを得ることができる。手書き入力の途中で電子ペンが傾きおよび／または回転した場合であっても、ドットマークの正確な位置情報を取得することができる。
【０２０７】
また、ドットマーク復号部１７は、繰り返し回数が例えば５回に到達するまで、算出処理、変換処理、生成処理および更新処理を順次、繰り返し実行する。または、ドットマーク復号部１７は、相対位置情報の生成結果が変化しなくなるまで、算出処理、変換処理、生成処理および更新処理を順次、繰り返し実行する。
【０２０８】
また、手書き入力システム１００は、複数の格子点５０ａの位置を設定する格子位置設定部１６をさらに備える。
【０２０９】
また、手書き入力システム１００は、表示面２１上の位置を指定するペン１０をさらに備え、位置情報計算部１８は、ピクセル座標系のペン１０の位置を射影変換行列Ｈを用いて変換した、格子点座標系のペン１０の位置と、相対位置情報とに基づいて、表示面２１上のペン１０の位置を計算する。
【０２１０】
また、本実施の形態においては、手書き入力システム１００は、表示面２１上の多数のドットマークの一部である複数のドットマーク５０を読み取ることにより、表示面２１上の位置を特定する。複数のドットマーク５０は、複数の格子点５０ａを基準として表示面２１上に形成され、表示面２１上の位置は複数のドットマーク５０によって符号化されている。手書き入力システム１００は、複数のドットマーク５０を撮像する撮像部１２と、撮像画像中の複数のドットマーク５０の位置を検出するドットマーク位置検出部１５と、ドットマーク位置検出部１５により検出された複数のドットマーク５０の位置および複数の格子点５０ａの位置に基づいて相対位置情報を生成するドットマーク復号部１７であって、相対位置情報は、複数の格子点５０ａを基準とした表示面２１における複数のドットマーク５０の位置関係を示し、表示面２１における複数のドットマーク５０は撮影画像中の複数のドットマーク５０に対応する、ドットマーク復号部１７と、表示面２１上の位置を相対位置情報に基づいて計算する位置情報計算部１８とを備える。ドットマーク復号部１７は、複数の格子点５０ａを基準とした複数のドットマーク５０の相対位置の初期値を設定した後、撮像画像中の複数のドットマーク５０の位置と、相対位置を格子点５０ａの位置に加算した位置とに基づいて、変換行列を算出する算出処理を実行し、複数のドットマーク５０の位置を撮像画像中から表示面２１上に変換行列を用いて変換する変換処理を実行し、変換後の複数のドットマーク５０の位置と複数の格子点５０ａの位置とに基づいて相対位置情報を生成する生成処理を実行し、相対位置を相対位置情報に従って更新する更新処理を実行し、所定の条件が満たされるまで、算出処理、変換処理、生成処理および更新処理を順次、繰り返し実行するよう構成されている。
【０２１１】
この結果、変換精度の高い変換行列を得ることができる。手書き入力の途中で電子ペンが傾きおよび／または回転した場合であっても、ドットマークの正確な位置情報を取得することができる。
【０２１２】
［４．他の実施の形態］
以上のように、本出願において開示する技術の例示として、実施の形態１を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態１で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
【０２１３】
そこで、以下、他の実施の形態を例示する。
【０２１４】
［４−１．手書き入力システム１００の変形例］
図３２は手書き入力システム１００の変形例を示すブロック図である。以下、図２と図３２を比較しながら説明する。図２に示した手書き入力システム１００では、電子ペン１０がドットマーク位置検出部１５と、格子位置設定部１６と、ドットマーク復号部１７と、位置情報計算部１８を備えている。しかしながら、本開示はこれに限定されない。これら構成要素の一部または全てが表示装置２０側に配置されていても良い。図３２に示す変形例では、ドットマーク位置検出部１５は電子ペン１０側に、格子位置設定部１６と、ドットマーク復号部１７と、位置情報計算部１８は表示装置２０側に配置されている。
【０２１５】
また、実施の形態１で説明したように、各構成要素が１チップに実装されたイメージシグナルプロセッサが表示装置２０側に配置されてもよい。
【０２１６】
または、各構成要素の少なくとも１つを含むイメージシグナルプロセッサが電子ペン側あるいは表示装置２０側に配置されていてもよい。このように、手書き入力システム１００のブロック構成は設計仕様等により適宜決定され得る。
【０２１７】
［４−２．Ｓ３０１の変形例］
ドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］の初期値は、Ｓ３０１において数式１４に示すように、全てゼロに設定した。一方、電子ペン１０および手書き入力システム１００の動作は、所定周期（例えば撮像素子１４のフレーム時間間隔ごとに）で繰り返し実行される。従って、前回実行時の計算結果を、次回の初期値に用いることができる。Ｓ３０１における相対位置Ｗ２［Ｉ，Ｊ］の初期値を、前回計算時のＳ３０４における最終更新結果とすることもできる。
【０２１８】
［４−３．Ｓ３０３の変形例］
実施の形態１によるＳ３０２においては、射影変換行列Ｈは非線形の最小二乗法により求めたが、本開示はこれに限定されない。非線形の最小二乗法の代わりに擬似逆行列による線形な最小二乗法を用いて射影変換行列Ｈを計算してもよい。数式１６から同次座標系の移動倍率ｃを消去すると、数式２４が得られる。
【数２４】
2014067398.tif 000026
【０２１９】
数式２４の左辺と、右辺の第１項は既知であるので、擬似逆行列計算により射影変換行列Ｈの各要素ｈｉｉ（右辺の第２項）を計算できる。
【０２２０】
非線形の最小二乗法と比べて線形な最小二乗法では以下のメリットがある。
（１）処理時間が短縮できる。（２）演算処理の負荷が軽減され、ハードウェアの回路規模も縮小できる。
【０２２１】
また、本開示の技術はさらに、上述のドットマーク５０の復号処理を規定するソフトウェア（プログラム）にも適用され得る。そのようなプログラムに規定される動作は、例えば図２６や後述の図３３に示すとおりである。あるいは、図４、１５、２６および３０に示す各動作を結合させた一連の動作であってもよい。このようなプログラムは、可搬型の記録媒体に記録されて提供され得る他、電気通信回線を通じても提供され得る。コンピュータに内蔵されたプロセッサがこのようなプログラムを実行することにより、上記の実施形態で説明した各種動作を実現することができる。
【０２２２】
［４−４．Ｓ３０５の変形例］
図３３は、図２６のドットマーク復号部１７の動作フローチャートの変形例を示す。図３３のフローチャートでは、ステップＳ３０７およびＳ３０８が追加されている。それ以外の処理は図２６の処理と同じである。
【０２２３】
実施の形態１によるＳ３０５の相対位置更新処理においては、６×６個のドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］の座標値を数式２２に従って更新した。しかしながら、本開示はこれに限定されない。一部のドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］は別の数値に更新してもよいし、あるいは更新しなくてもよい。換言すれば、ドットマーク復号部１７は、繰り返し回数が所定値未満であるとき、Ｓ３０５の相対位置更新処理の後、特定位置（４隅の１２点）の相対位置の更新を無効化する無効化処理を実行する。
【０２２４】
例えば、ドットマーク復号部１７は格子状に配置したドットパターンの４隅の１２点を、数式１４を適用して更新してもよい。図３３のステップ３０８に示すように、これは、Ｓ３０５ですべてのドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］が更新された後、特定位置（４隅の１２点）に関するドットマーク５０の相対位置Ｗ２［Ｉ，Ｊ］の更新が無効化される、すなわちリセットされることを意味する。
【０２２５】
図３３のステップ３０７に示すように、このような処理は、Ｓ３０２からＳ３０５の繰り返し処理が所定回数に達するまでにとどめるのがよい。例えば、繰り返し処理の回数が２回未満の場合にのみドットマーク復号部１７はステップ３０８を実行する。
【０２２６】
また、例えば、Ｓ３０５の１回目の処理時には、ドットマーク復号部１７は４隅の１２点について数式１４を適用し、他の２４点については数式２２を適用する。ここで、４隅の１２点とは、ドットマーク５８，６４，６５，６８，６９，６３，７６，８２，８３，８１，８６，８７の１２点である。図３３のフローチャートによれば、４隅の１２点のみステップ３０８を実行する。
【０２２７】
Ｓ３０５の２回目の処理時には、４隅の４点に数式１４を適用し、他の３２点には数式２２を適用する。ここで４隅の４点とは、ドットマーク６４，６９，８２，８７の４点である。図３３のフローチャートによれば、２回目の処理時に４隅の４点のみステップ３０８を実行する。そして、３回目以降の処理では３６点全てについて数式２２を適用する。図３３のフローチャートによれば、３回目の処理以降はステップ３０８を実行しない。
【０２２８】
この考え方を拡張して、一部のドットマーク５０については、計算そのものを行わない、つまりステップＳ３０２からＳ３０５をスキップさせてもよい。すなわち、Ｓ３０２からＳ３０５の繰り返し処理が１回目の間は、ドットマーク復号部１７は４隅の１２点を除いた２４点を使ってステップＳ３０２からＳ３０５の全ての計算を行う。２回目の繰り返し計算時には、ドットマーク復号部１７は４隅の４点を除いた３２点を使って全ての計算を行う。３回目以降の繰り返し計算時には、ドットマーク復号部１７は３６点全てを使って計算してもよい。
【０２２９】
ドットマーク復号部１７の処理において、４隅の格子点（例えば４点）の相対位置の更新を誤ると、この誤差が射影変換行列Ｈの計算に大きく影響を及ぼすことになる。この結果、変換精度の高い射影変換行列Ｈを得ることができなくなる。
【０２３０】
以上のように、実施の形態１におけるＳ３０５の変形例によれば、ドットマーク復号部１７は、繰り返し回数が例えば２回未満であるとき、更新処理を実行した後に、複数の格子点５０ａのうちの特定の格子点に関する相対位置の更新処理を無効化する無効化処理をさらに実行する。
【０２３１】
また、格子点座標系の複数の格子点５０ａはｍ×ｍ個の格子状に配置され、特定の格子点はｍ×ｍ個の格子の４隅の点である。
【０２３２】
この結果、図３３に示すフローチャートによれば、繰り返し回数が所定値未満（例えば１回目）のときはＳ３０５で更新された４隅の格子点の相対位置はステップ３０８において無効化される。これにより、所定の繰り返し回数中は４隅の格子点の相対位置は初期値の状態のままとなる。この結果、射影変換行列Ｈの計算誤差を抑制でき、変換精度の高い射影変換行列Ｈを得ることができる。
【０２３３】
以上のように、本開示における技術の例示として、実施の形態１を説明した。そのために、添付図面および詳細な説明を提供した。
【０２３４】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０２３５】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【０２３６】
本開示は、電子ペンおよびこれを用いた手書き入力システムに適用可能である。具体的には、ノートＰＣや携帯型タブレットなどの電子機器に適用可能である。また、紙の上にペンで入力した筆跡をデータとして出力する電子ペンにも、本開示は利用可能である。さらに、本開示は液晶ディスプレイを含む電子黒板システムにも適用可能である。
【符号の説明】
【０２３７】
１０    電子ペン
１１    照明部
１２    撮像部
１３    対物レンズ
１４    撮像素子
１５    ドットマーク位置検出部
１６    格子位置設定部
１７    ドットマーク復号部
１８    位置情報計算部
１９    送信部
２０    表示装置
２１    表示面
２２    受信部
２３    制御部
２４    表示部
３１    制御部
３２    ペン先部
３５    ペン先位置
３６    結像相当位置
４０    ブラックライン
４４    第１基準線
４５    第２基準線
５０    ドットマーク
５０ａ    格子点
１００    手書き入力システム
【図１】
2014067398.tif 000027
【図２】
2014067398.tif 000028
【図３】
2014067398.tif 000029
【図４】
2014067398.tif 000030
【図１４】
2014067398.tif 000031
【図１５】
2014067398.tif 000032
【図１７】
2014067398.tif 000033
【図１８】
2014067398.tif 000034
【図１９】
2014067398.tif 000035
【図２０】
2014067398.tif 000036
【図２１】
2014067398.tif 000037
【図２２】
2014067398.tif 000038
【図２３】
2014067398.tif 000039
【図２４】
2014067398.tif 000040
【図２５】
2014067398.tif 000041
【図２６】
2014067398.tif 000042
【図２７】
2014067398.tif 000043
【図２８】
2014067398.tif 000044
【図２９】
2014067398.tif 000045
【図３０】
2014067398.tif 000046
【図３１】
2014067398.tif 000047
【図３２】
2014067398.tif 000048
【図３３】
2014067398.tif 000049
【図３４】
2014067398.tif 000050
【図３５】
2014067398.tif 000051
【図５】
2014067398.tif 000052
【図６】
2014067398.tif 000053
【図７】
2014067398.tif 000054
【図８】
2014067398.tif 000055
【図９】
2014067398.tif 000056
【図１０】
2014067398.tif 000057
【図１１】
2014067398.tif 000058
【図１２】
2014067398.tif 000059
【図１３】
2014067398.tif 000060
【図１６】
2014067398.tif 000061