(57)【要約】【課題】撮影された２次元コードに歪みが生じていても、斜め上方から２次元コードを正確に読み取ることができる２次元コード読取装置を提供する。【解決手段】２次元コード読取装置において、所定の記録媒体に記録された２次元コードを撮影して画像データを取得する固体撮像素子と、撮影方向に垂直な平面上の座標を、記録媒体の平面上の座標に射影変換する射影変換係数算出手段と、２次元コードの所定の座標値を射影変換し、記録媒体に記録された２次元コードの歪み量を求め、情報の抽出位置の補正を行う位置補正手段と、情報を抽出する情報抽出手段とを備えた。【選択図】図７
2005322061.tif 000002
【特許請求の範囲】
【請求項１】
枠で囲われた２次元コードを撮影して画像データを取得し、取得された画像データから該２次元コードにより表される情報を抽出する２次元コード読取装置において、
所定の記録媒体に記録された前記２次元コードを所定の撮影方向から撮影して画像データを取得する固体撮像素子と、
前記所定の撮影方向に垂直な平面上の座標を、前記２次元コードが記録された前記記録媒体の平面上の座標に射影変換する射影変換係数を求める射影変換係数算出手段と、
前記射影変換係数を用いて前記２次元コードの所定の座標値を射影変換し、前記所定の記録媒体に記録された前記２次元コードの歪み量を求め、求めた該歪み量に基づいて前記情報の抽出位置の補正を行う位置補正手段と、
前記位置補正手段により補正された前記抽出位置から抽出された前記画像データに基づいて前記２次元コードにより表される前記情報を抽出する情報抽出手段と、を備えたことを特徴とする２次元コード読取装置。
【請求項２】
前記２次元コードは、２値データを表す複数のセルにより構成されたものであって、
前記位置補正手段は、射影変換された前記２次元コードの前記複数のセル境界の座標値と前記画像データの対応する座標値とを比較して前記所定の記録媒体に記録された前記２次元コードの歪み量を求めることを特徴とする請求項１記載の２次元コード読取装置。
【請求項３】
前記画像データから前記２次元コードを囲う枠及び該枠の頂点を検出する検出手段を備え、
前記射影変換係数算出手段は、前記検出手段により検出された前記頂点を表す座標値及び前記枠の所定位置を表す座標値とを抽出し、抽出された該座標値を用いて前記射影変換係数を算出することを特徴とする請求項１記載の２次元コード読取装置。
【請求項４】
前記固体撮像素子は、前記撮影方向が前記記録媒体の上方から斜め下方に向けられたものであることを特徴とする請求項１記載の２次元コード読取装置。
【請求項５】
前記位置補正手段により補正された前記抽出位置から抽出された前記画像データから前記２次元コードを構成する各セルが表すデータを抽出するデータ抽出手段を備え、
前記情報抽出手段は、前記データ抽出手段により抽出された前記データを所定のアルゴリズムに基づいてデコードし、文字又は数字により構成された情報を抽出することを特徴とする請求項１又は２記載の２次元コード読取装置。
【請求項６】
前記位置補正手段は、
前記射影変換係数を用いて前記２次元コードの前記複数のセルの境界を表す座標値を射影変換すると共に、射影変換された前記座標値に対応する、前記固体撮像素子により撮影された画像データの対応する座標値を探索する境界探索手段と、
前記境界探索手段により探索された前記画像データの前記座標値と前記射影変換された前記座標値との差分により前記ひずみ量を求める座標補正手段とを有することを特徴とする請求項２記載の２次元コード読取装置。
【請求項７】
前記枠は、複数の黒色を表す黒画素により構成されたものであって、
前記検出手段は、前記画像データを所定方向に読み取り、黒画素が最初に検出されたときには該画像データをさらに該所定方向に交わる直交方向に読み取るものであって、該直交方向に連続して黒画素が検出されたときに、最初に検出された前記黒画素を表す画像データを前記頂点として抽出することを特徴とする請求項３記載の２次元コード読取装置。
【請求項８】
前記複数のセルは、２種類の色のうちの何れか一方の色を表す画素により構成されたものであって、
前記データ抽出手段は、前記何れか一方の色により表されるデータを抽出することを特徴とする請求項５記載の２次元コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の読取に関し、特に２次元コードの読取りに関する。
【背景技術】
【０００２】
業務の電子化の進展に伴い、流通する電子文書はますます増大傾向にあるが、印刷文書に較べて、ＣＲＴ、ＬＣＤなどに表示される品質が未だ劣る状況にあることから、電子文書を印刷して紙文書にする機会も増大傾向にある。
【０００３】
しかしながら、電子文書に加えられる修正個所は、元の電子文書に容易に反映されるのに対し、紙文書に加えられた修正個所は、その修正個所を元の紙文書や電子文書に反映させることが容易ではない。
【０００４】
一般に、紙文書に手書き作業で加えられた修正個所を元の電子文書などに反映させるには、板状のセンサーとペン型の装置とからなる、例えばタブレット、デジタイザなどを用いる方法が考えられるが、現状では、単に加筆座標情報を取得する機能を有するのみであり、取得された加筆座標情報を電子文書などに反映させることはできない。また、スキャナ装置を用いても紙文書を電子文書に変換することは、可能であるが、元の電子文書とは別の電子文書が作成されるだけで、元の電子文書に加筆情報を挿入することは不可能である。
【０００５】
そこで、電子的に作成された文書を印刷する際に、電子文書を保管するファイル名や電子文書のページ番号などが記録されたバーコードなどを同時に印刷しておき、印刷された紙文書に手書き入力を行うときは、加筆された座標情報と共にバーコードに表された文書識別情報を取得する。そして、電子文書に加筆情報を挿入するときには、取得した文書識別情報により元の電子文書を識別し、加筆情報をその電子文書に挿入することを可能としているものがある（特許文献１参照）。
【０００６】
また、手書き入力装置上に複数の紙文書を積載し、積載された紙文書をめくりながら自動的に文書識別することを可能とし、大量の紙文書に施された加筆情報を電子文書に反映させることを可能としているものがある（特許文献２参照）。
【０００７】
一方、電子文書が増加するにつれて印刷される紙文書も増加するため、文書識別に必要とされるコードもより大きな容量を持つコードが必要である。
【０００８】
例えば、１次元コードに６桁のコード３９形式を用いて文書識別を行う場合には、約２１億が識別限界であるのに対して、２次元コードは、例えば１２×６のセル（白黒の最小単位）により構成される場合には、誤り訂正符号を３２ビットにすれば識別限界は、約１兆であり、誤り訂正符号を１６ビットにすれば２京である。したがって、通常の紙文書を１次元コードで識別するのでは情報量不足となるが、２次元コードで識別すれば十分な情報量が確保される。
【０００９】
そこで、例えば、位置を特定する位置決め用シンボルと同じサイズのセルを用いて表現される第１の情報と、位置決め用シンボルより小さいサイズのセルを用いて表現される第２の情報とが所定位置に配置された２次元コードがある（特許文献３参照）。
【特許文献１】特開平９−９１０８３号公報
【特許文献２】特開２０００−１１２６４６号公報
【特許文献３】特開平１１−３２８３０１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、手書き入力装置に積載される紙文書に記録してその紙文書の識別に用いるためには、一定の面積を有する２次元コードを斜め上方から読み取る必要がある。
【００１１】
一般に、斜め上方から被写体を撮影すると、遠近法で描かれた絵画と同様に、長方形ないしは正方形の２次元コードは台形に変形して撮像される。すなわち、斜めの光学系では手前側は大きく写り、奥側は小さく写る。一方、撮影に用いられる２次元固体撮像素子は、微細なセンサがマトリックス状に一様に分布しており、２次元コードは、奥側のセルが読み取れる大きさで撮影される。
【００１２】
したがって、２次元コードの各セルのサイズが均一な場合には、例えば奥側の小さく写るセルは、１つのセンサで１つのセルが読み取られるのに対して手前側の大きく写るセルは、複数のセンサで１つのセルが読み取られる場合が生じ、２次元コードの読み取り精度が低下するという課題がある。
【００１３】
一般に、紙文書の大きさは決まっており、手書き入力装置に積載されて２次元コードが読み取られる場合には、読取り角度も固定されるので、２次元固体撮像素子から２次元コードの手前側と奥側との距離差に応じて撮像された２次元コードを射影変換する方法が考えられる。また、手書き入力装置に積載されない状態においても、２次元コードの枠の形状などが決められているときは、撮像された枠各部の座標位置から射影変換係数を求め、２次元コードを射影変換する方法が考えられる。
【００１４】
しかしながら、手書き入力装置に紙文書を積載して加筆した後、頁をめくって次の紙文書の識別情報を読み取る際にその紙文書にカールやうねりなどが生じていることが想定される。また、手書き入力装置に積載されない状態においても、２次元コードを読み取る紙文書にカールやうねりなどが生じている場合もある。紙文書にそのようなカールやうねりなどが生じていると、その紙文書に記録された２次元コードを撮影したときに、撮影された画像に歪みが生じるので、読み取られた情報の精度が低下する恐れがある。
【００１５】
例えば、図１（ａ）に示すように紙文書にカール等が生じていない場合には、撮影された２次元コードは、コード境界線やセルの境界線などがすべて直線として再現される。一方、図１（ｂ）に示すように紙文書にカール等が生じている場合には、２次元コードは、コード境界線やセルの境界線が曲線として再現され、この歪みにより読み取るべきセルの位置が正確に特定できないので２次元コードを正確に読み取ることができない。
【００１６】
本発明は上記事情に鑑み、紙文書にカールやうねりなどが存在し、撮影された２次元コードに歪みが生じていても、２次元コードが記録された記録媒体の斜め上方からその記録された２次元コードを正確に読み取ることができる２次元コード読取装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記の目的を達成する本発明の２次元コード読取装置は、枠で囲われた２次元コードを撮影して画像データを取得し、取得された画像データから該２次元コードにより表される情報を抽出する２次元コード読取装置において、
所定の記録媒体に記録された前記２次元コードを所定の撮影方向から撮影して画像データを取得する固体撮像素子と、
前記所定の撮影方向に垂直な平面上の座標を、前記２次元コードが記録された前記記録媒体の平面上の座標に射影変換する射影変換係数を求める射影変換係数算出手段と、
前記射影変換係数を用いて前記２次元コードの所定の座標値を射影変換し、前記所定の記録媒体に記録された前記２次元コードの歪み量を求め、求めた該歪み量に基づいて前記情報の抽出位置の補正を行う位置補正手段と、
前記位置補正手段により補正された前記抽出位置から抽出された前記画像データに基づいて前記２次元コードにより表される前記情報を抽出する情報抽出手段と、を備えたことを特徴とする。
【００１８】
このように、射影変換して２次元コードの歪み量を求め、情報の抽出位置の補正を行い、補正された抽出位置から抽出された画像データに基づいて２次元コードの情報を抽出するので、２次元コードが記録された記録媒体がゆがんでいても記録媒体の斜め上方から情報を正確に取得することができる。
【発明の効果】
【００１９】
本発明の２次元コード読取装置によれば、紙文書にカールやうねりなどが存在し、撮影された２次元コードに歪みが生じていても、紙文書の斜め上方から２次元コードを正確に読み取ることができる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明の２次元コード読取装置の実施形態について説明する。
【００２１】
図２は、本発明の２次元コード読取装置の実施形態が適用される手書き入力装置を示す図である。
【００２２】
図２に示す手書き入力装置１０は、筆記具の形態をなし、筆先から電磁界が放射される電磁ペン６と、その電磁ペン６を用いて、所定の位置に配置された紙文書１に加筆することによりその紙文書１に加筆された加筆情報の画像データを取得する手書き入力部３と、紙文書１に記録された２次元コード２から文書識別情報を読み取る２次元コード読取装置５とを備えている。
【００２３】
２次元コード読取装置５は、固体撮像素子、例えばＣＣＤセンサを備えた撮像部７と、撮像部７により撮影された画像データを処理して２次元コード２により表される情報を抽出する図に現れない本体部とを備えている。撮像部７は、所定の位置に配置された紙文書１に記録された２次元コード２に対し撮影方向が斜め下方向に向けられ、その２次元コード２を斜め上方から撮影して画像データを取得する。
【００２４】
ここで、本実施形態の２次元コード読取装置５は、手書き入力装置１０の一部として構成されているが、必ずしも手書き入力装置１０の一部である必要はなく、単体として構成することもできる。
【００２５】
図３は、本実施形態の２次元コード読取装置５により撮影された２次元コードの撮像の一例を模式的に示す図である。
【００２６】
図３に示す２次元コードの撮像は、図の手前側上方に配置された撮像部７から撮影されたものであり、手前側が大きく写り、奥側が小さく写っている。
【００２７】
２次元コード２は、周囲には黒い枠２ａがあり、黒い枠２ａの内部には白色または黒色により１ビットを表す矩形のセル２ｂが、７２（６×１２）個配置されている。この状態のままでは、各セル２ｂの境界を正しく把握することができない。そこで、図４に示すように、２次元コード（撮像部の撮影方向に垂直な平面上の座標を有する。）５０を記録媒体が置かれた平面５１に射影変換し、各セルの大きさや境界を合わせ、位置ずれが生じていないかなどを確認する。
【００２８】
図５及び図６は、２次元コードの一例を示す図である。
【００２９】
図５に一例を示す２次元コードは、撮影して取得された画像データにより、それが真の２次元コード２のものであるか否かを判別するファインダパターン６２がセル２ｂの番号１から８に８ビットが割り当てられ、情報を表すデータとしてセル２ｂの番号９〜５６に整数型４８ビットが割り当てられ、誤り訂正符号データとしてセル２ｂの番号５７〜７２に１６ビットが割り当てられている。
【００３０】
図６に一例を示す２次元コードのファインダパターン６２には、２次元コードの中心に４×２セル２ｂが割り当てられ、黒色のセル２ｂが６つと、白色のセル２ｂが２つとにより構成されている。そしてこのファインダパターン６２は方向性を有するので、このファインダパターン６２と、四辺形の黒枠２ａとにより、黒枠２ａで囲まれた図形が２次元コード２であることや２次元コード２がどの方向を向いているのかを直ちに判別することができる。
【００３１】
ここで、本実施形態において用いられる、黒枠２ａで囲われた２次元コード２は、予め、各頂点座標及び各セル２ｂの中心座標が規定されているので、２次元コード読み取り装置によりこの２次元コード２を撮影して画像データを取得したときに、２次元コード２を囲う枠の検出や、２次元コード２の射影変換、後述する歪み量算出などの際には、規定された各頂点座標及び各セルの中心座標が用いられる。また、本実施形態の２次元コード２は、ファインダパターン６２が設けられているが、ファインダパターン６２は、必ずしも設ける必要はない。
【００３２】
図７は、２次元コード読取装置の本体部を示す機能ブロック図である。
【００３３】
図７に示す本体部は、頂点候補検出部１１と、２次元コード枠検出部（本発明の検出手段に相当する。）１２と、射影変換係数算出部１３と、サンプル点補正部（本発明の位置補正手段に相当する。）１７と、データ抽出部１４と、誤り訂正部１５と、フォーマット変換部（本発明の情報抽出手段に相当する。）１６と、を有する。
【００３４】
入力された画像データは、図示しない輪郭線検出手段により黒画素による外側の輪郭線と、その輪郭線の内部にあるファインダパターンによる小さな輪郭線とが検出される。これにより、この画像データが２次元コードであり、何れの方向から読み取られたのかが判別される。
【００３５】
頂点候補検出部１１は、図８に示すように、判別された方向に対して、例えば±４５度、±１３５度をなす方向に順次黒画素の検出処理を行い、最初に検出された黒画素Ａ、Ｂ、Ｃ、Ｄを、２次元コードを囲う枠の頂点候補とする。
【００３６】
２次元コード枠検出部１２は、図９に示すように、検出された頂点候補の黒画素Ａ、Ｂ、Ｃ、Ｄから、さらに頂点候補の検出処理を行った方向に直交する方向に黒画素を検出し、頂点候補の黒画素Ａ、Ｂ、Ｃ、Ｄから所定の画素数（セルの一辺の画素数の１／５〜１／√２）だけセルの中心方向に連続して黒画素が、検出されたときは、終端の黒画素同士を結び、それを黒枠判定ライン５２〜５５とする。そして、その各黒枠判定ライン５２〜５５上に配置された黒画素の割合がそれぞれ８０％以上であるときは、各ライン５２〜５５が２次元コードを囲う枠であると判定する。また、頂点候補Ａ、Ｂ、Ｃ、Ｄは、２次元コードを囲う枠の真の頂点Ａ、Ｂ、Ｃ、Ｄであると確定し、同時に頂点Ａ、Ｂ、Ｃ、Ｄの座標も検出する。
【００３７】
射影変換係数算出部１３は、２次元コード枠検出部１２により検出された頂点Ａ、Ｂ、Ｃ、Ｄの座標値や枠上の座標値等を用いて、射影変換係数を算出する。なお、射影変換係数算出方法の詳細は後述する。
【００３８】
サンプル点補正部１７は、入力された画像データと、算出された射影変換係数と、２次元コードを作成したときの各セルの規定座標値とを用いて、２次元コードを作成したときの、例えば各セルの境界や中心点などを射影変換し、撮影された２次元コードの各セル中心点の歪み量を求める（本発明の歪み量算出手段の処理に相当する）。なお、歪み量を求める方法の詳細は後述する。
【００３９】
データ抽出部１４は、求めた歪み量を用いて、２次元コードを作成したときの各セルの中心位置の射影変換された座標値をずらし、ずらした座標値に対応する、撮影された２次元コードの画素を読み取ることにより、２次元コードの各セルのデータを得る。
【００４０】
例えば、２次元コードを作成したときの各セルの中心位置の座標値をずらし、ずらした座標値を中心とする３×３画素において黒画素数が白画素数を上回れば‘１’と判定し、そうでなければ‘０’とする。
【００４１】
誤り訂正部１５は、データ抽出部１４により得られたデータに誤りがあるか否かを判定し、誤りがあれば所定の訂正を行う。
【００４２】
フォーマット変換部１６は、誤り訂正部１５による誤り訂正が行われたデータに基づいて、誤り訂正符号以外の整数型５６ビットのデータを数字又は文字列に変換する。
【００４３】
次に、射影変換係数算出方法について詳述する。
【００４４】
図１０〜図１２は、射影変換係数算出方法を説明する図である。
射影変換は、３次元空間内の図形・物体を２次元平面、あるいはスクリーンに投影したときの座標変換であり、射影変換係数算出方法は３次元画像処理の手法として広く知られている。
【００４５】
このような射影変換係数算出を厳密に行うためには、撮像部の位置や光学的特性などを特定する必要があるが、２次元コード読取装置の使用態様はさまざまであり、また装置自体の仕様もさまざまであることから、それらに応じた射影変換方法を用いることができる。
【００４６】
図１０は、射影変換係数算出を行う一般的方法の例を示す図である。
【００４７】
図１０において、画像データ６０を射影変換して画像データ６１を得たと仮定する。
【００４８】
また、画像データ６１のＡｓ〜Ｄｓ、画像データ６０のＡｒ〜Ｄｒは、２次元コードの各頂点であり、括弧内のｘｓ１やｙｒ２は、座標値を表し、また、PｓｋとＰｒｋは、セルの中心座標を表していると仮定する。
【００４９】
画像データ６０の座標値と、画像データ６０を射影変換したときの画像データ６１の座標値とは、例えば図１１に示すようなアフィン変換式により表すことができる。
【００５０】
したがって、画像データ６０における各頂点の座標値を、図１２に示すアフィン変換式に当てはめ、ｂ１〜ｂ６のパラメータ（射影変換係数）を求めることにより、画像データ６０の、セルの中心座標を含む各座標値を射影変換することができる。
【００５１】
図１２は、射影変換係数算出を行う簡易方法の例を示す図である。
【００５２】
図１２（ａ）に示すように、２次元コード読取装置の撮像部から用紙に記録された２次元コードを撮影したとき、撮像面から２次元コードの手前側までの距離L１、２次元コードの中央部までの距離L２、２次元コードの奥側までの距離L３は、それぞれ相違する。
【００５３】
その結果、撮像された２次元コードは、図１２（ｂ）に示すように、手前側が大きく、奥側が小さく台形に写る。このとき、台形の長辺と短辺との比率（Ｘ１／Ｘ３）は、撮像素子からの距離の比率の逆数（Ｌ３／Ｌ１）と等しくなる。
【００５４】
したがって、２次元コードの各行のセルは、この比率（射影変換係数）を用いて射影変換することができる。
【００５５】
次に、歪み量を求める方法について詳述する。
【００５６】
図１３は、サンプル点補正部を説明する図である。
【００５７】
図１３に示すように、サンプル点補正部１７は、コード境界探索部２１と、座標補正部２２とからなる。コード境界探索部２１には、２次元コードを撮影して取得した画像データと、射影変換係数と、２次元コードを作成したときの規定座標値とが入力され、２次元コードを作成したときのコード境界（各セルの境界）の座標値を射影変換すると共に、その座標値に対応する、撮影された座標値を探索する。
【００５８】
座標補正部２２は、射影変換したコード境界（各セルの境界）の規定座標値と探索した座標値との差分を求め、水平方向と垂直方向の歪み量を求める。
【００５９】
図１４は、コード境界探索部における探索処理の具体例を示す図である。
【００６０】
図１４に示すように、コード境界探索部２２には、２次元コードを撮影して取得された画像データと射影変換係数算出部１３により算出された射影変換係数とが入力され、図における点Ａ、Ｂ、Ｃ、Ｄは、撮影された２次元コードの頂点を示す。
【００６１】
ここでは、ＡＢ間、ＣＤ間にゆがみが存在する。四辺形ＡＢＣＤ上に、２次元コードを作成したときのコード境界（各セルの境界）の規定座標を射影変換し、対応する座標を特定する。例えば、点Ｑと点Ｔである。そのように対応する座標は、ＡＢ、ＣＤ間には１２点、ＡＣ、ＢＤ間には６点存在する。それぞれの点を結びＡＢ、ＡＣに平行な直線をそれぞれＨ１〜Ｈ６、Ｖ１〜Ｖ１２とする。Ｖ２と、撮影された２次元コードのコード境界とが交わる点をそれぞれ点Ｐ、点Ｓすれば、点Ｐと点Ｑ、点Ｔと点Ｓの位置のずれは、撮影された２次元コードのゆがみを表す。
【００６２】
ゆがみがない場合は点Ｐと点Ｑ、点Ｓと点Ｔが一致し、１つのセルのデータサンプリング点である点Ｒと点Ｒ’の座標は一致するが、ゆがみが存在する場合は、点Ｒと点Ｒ’の座標は相違するので、そのままでは異なるセルのデータをサンプルすることとなり、これが読み取り誤りの原因となる。
【００６３】
ここでは、ゆがみがあるときのコード境界、点Ｐと点Ｑなどを探索する方法について説明する。
【００６４】
まず、点Ｑの位置にある画素値が黒の場合は、Ｖ２を図の上方向に白画素を探索する。初めて白画素が検出されたら、そのひとつ前に検出された黒画素が点Ｐであり、コード境界である。また、点Ｑが白画素である場合は、Ｖ２を図の下方向に黒画素を探索する。
初めて黒画素が検出されたら、それが点Ｐでありコード境界である。次に、点Ｔの位置にある画素値が白の場合は、Ｖ２を図の上方向に黒画素を探索する。初めて黒画素が検出れたら、それが点Ｓでありコード境界である。また、点Ｔが黒画素である場合は、Ｖ２を図の下方向に白画素を探索する。初めて白画素が検出されたら、そのひとつ前に検出された黒画素が点Ｓでありコード境界である。
【００６５】
このコード境界探索は、Ｖ２だけでなくＶ１〜Ｖ１２、Ｈ１〜Ｈ６までのすべての直線に関して行い、撮影された２次元コード全体の歪み量を検出する。２次元コードの歪み量は、２次元コードを作成したときの理想のコード境界各点と、撮影された２次元コードから検出されたコード境界各点とのベクトルで表すことができる。
【００６６】
図１５は、座標補正部における歪み量の算出方法を説明する図である。
【００６７】
図１５に示すように、ベクトルＱＰをＡＢ側の歪み量、ベクトルＴＳをＣＤ側の歪み量とし、２次元コードを作成したときのセル中心の規定座標を射影変換した点をＲとすれば、撮影された２次元コードのセルの中心点Ｒ’の座標は、次式により定義される。
Ｒ’＝Ｒ＋垂直方向の歪み量＋水平方向の歪み量
垂直方向のＡＢ側、ＣＤ側の歪み量を、線分ＱＲと線分ＲＴからの距離に応じてそれぞれ比例配分する。水平方向のゆがみ量も同様に定義できる。
図に示す例においては、水平方向の歪み量は０であり、Ｒ’は、次式により算出される。
【００６８】
ただし、ＱＲ、ＲＴ、ＱＴはスカラー量であり、それ以外はベクトル量である。
Ｒ’＝Ｒ＋（ＱＲ・ＴＳ＋ＲＴ・ＱＰ)／ＱＴ
ここでは、Ｒの例を説明したが、他の全てのセルのサンプル点についても同様にして求めることができる。
【００６９】
次に、本実施形態の２次元コード読取装置により２次元コードから情報を抽出する処理をフローチャートに基づいて説明する。
【００７０】
図１６は、２次元コードから情報を抽出するフローチャートを示す図である。
【００７１】
図１６に示すように、２次元コード読取装置の撮像部により斜め上方から２次元コードを撮影したコード画像データが入力される（Ｓ２０１）。
【００７２】
入力されたコード画像データと、別に処理され輪郭線検出処理により判別された２次元コードの方向とにより２次元コードの頂点を検出する処理が行われ、頂点候補が抽出される（Ｓ２０２）。
【００７３】
この処理においては、例えば輪郭線で囲われた２次元コードを表す画像の四隅から斜め走査が行われ、黒画素（Ａ、Ｂ、Ｃ、Ｄ）が検出される。
【００７４】
次に、検出された頂点候補から２次元コードの枠が検出され（Ｓ２０３）、検出されないときは、入力された画像データが２次元コードに係るものではないので、処理を終了する。
【００７５】
２次元コードの枠が検出されたときは、頂点を確定すると共に、頂点の座標と枠上の座標とから、例えばアフィン変換式を用いて射影変換係数を算出する（Ｓ２０５）。
【００７６】
次に、２次元コードを作成したときの各規定値を、射影変換係数を用いて、射影変換し、例えば各セル境界の座標値相互を比較して、位置ずれが生じているときは、それぞれの歪み量を算出する。そして、２次元コードを作成したときの各セルの中心の座標をサンプリングし、算出したそれぞれの歪み量に基づいてその位置をずらす補正を行い、補正された中心点、すなわち補正サンプル点を求める（Ｓ２０６）。
【００７７】
次に、補正サンプル点の座標を中心として、３×３画素における黒画素数と白画素数とをカウントし黒画素数が白画素数を上回れば‘１’、さもなければ‘０’とする２値化を行う（Ｓ２０７）。このようにして読み取られた２次元コードの７２ビットデータは、誤り訂正の判定が行われる（Ｓ２０８）。そして、誤りがあれば、誤り訂正を行い、誤り訂正符号以外の整数型５６ビットのデータを、デコードアルゴリズムに従って数字・文字列に変換するフォーマット変換を行い（Ｓ２０９）、数字文字列からなる情報が出力される（Ｓ２１０）。
【図面の簡単な説明】
【００７８】
【図１】紙文書にカール等が生じている場合の２次元コードを示す図である。
【図２】本発明の２次元コード読取装置の実施形態が適用される手書き入力装置を示す図である。
【図３】本実施形態の２次元コード読取装置５により撮影された２次元コードの撮像の一例を模式的に示す図である。
【図４】射影変換を示す図である。
【図５】２次元コードの一例を示す図である。
【図６】２次元コードの一例を示す図である。
【図７】２次元コード読取装置の本体部を示す機能ブロック図である。
【図８】枠の頂点候補を検出する状況を示す図である。
【図９】２次元コードを囲う枠を検出する状況を示す図である。
【図１０】射影変換係数算出方法を説明する図である。
【図１１】射影変換係数算出方法を説明する図である。
【図１２】射影変換係数算出方法を説明する図である。
【図１３】サンプル点補正部を説明する図である。
【図１４】コード境界探索部における探索処理の具体例を示す図である。
【図１５】座標補正部における歪み量の算出方法を説明する図である。
【図１６】２次元コードから情報を抽出するフローチャートを示す図である。
【符号の説明】
【００７９】
１  紙文書
２、５０  ２次元コード
２ａ  黒枠
２ｂ  セル
３  手書き入力部
５  ２次元コード読取装置
６  電磁ペン
７  撮像部
１０  手書き入力装置
１１  頂点候補検出部
１２  ２次元コード枠検出部
１３  射影変換係数算出部
１４  データ抽出部
１５  誤り訂正部
１６  フォーマット変換部
１７  サンプル補正部
２１  コード境界探索部
２２  座標補正部
５２〜５５  黒枠判定ライン
６０、６１  画像データ
【図１】
2005322061.tif 000003
【図２】
2005322061.tif 000004
【図３】
2005322061.tif 000005
【図４】
2005322061.tif 000006
【図５】
2005322061.tif 000007
【図６】
2005322061.tif 000008
【図７】
2005322061.tif 000009
【図８】
2005322061.tif 000010
【図９】
2005322061.tif 000011
【図１０】
2005322061.tif 000012
【図１１】
2005322061.tif 000013
【図１２】
2005322061.tif 000014
【図１３】
2005322061.tif 000015
【図１４】
2005322061.tif 000016
【図１５】
2005322061.tif 000017
【図１６】
2005322061.tif 000018