JP2020160759A - 二次元コード読取装置 - Google Patents

二次元コード読取装置 Download PDF

Info

Publication number
JP2020160759A
JP2020160759A JP2019059024A JP2019059024A JP2020160759A JP 2020160759 A JP2020160759 A JP 2020160759A JP 2019059024 A JP2019059024 A JP 2019059024A JP 2019059024 A JP2019059024 A JP 2019059024A JP 2020160759 A JP2020160759 A JP 2020160759A
Authority
JP
Japan
Prior art keywords
dimensional code
cell
special
code
error correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019059024A
Other languages
English (en)
Other versions
JP7200793B2 (ja
Inventor
祐也 宇陀
Yuya Uda
祐也 宇陀
晋 中山
Susumu Nakayama
晋 中山
諒 小澤
Ryo Ozawa
諒 小澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2019059024A priority Critical patent/JP7200793B2/ja
Publication of JP2020160759A publication Critical patent/JP2020160759A/ja
Application granted granted Critical
Publication of JP7200793B2 publication Critical patent/JP7200793B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

【課題】読み取られた二次元コードが、読み取りの際の条件に応じて二通りの異なるデコード結果が出力され得る特殊二次元コードであるか否かを判別することができる技術を提供する。【解決手段】制御部は、撮像部によって撮像された二次元コードを表わすコード画像に基づいて、二次元コードに記録された情報のデコードを行うデコード部と、デコードが行われたことによってデコード結果が取得される場合に、デコードの過程で誤り訂正処理が行われたか否かを判断する、第1の判断部と、誤り訂正処理が行われたと判断される場合に、デコード結果に対応する複数のコードワードのうち、誤り訂正処理が行われた範囲である訂正ワードを特定する、第1の特定部と、コード画像のうち、訂正ワードに対応する範囲を表わす対象部分を特定する、第2の特定部と、対象部分の全部がセルを表わす特徴を有しているか否かを判断する、第2の判断部と、を備える。【選択図】図4

Description

本明細書で開示する技術は、二次元コード読取装置に関する。
特許文献1に示すように、複数の明色セルと複数の暗色セルとを二次元のマトリックス上に配置して構成される二次元コードに記録された情報を読み取るための二次元コードが知られている。この種の二次元コードに記録された情報を読み取るために、二次元コード読取装置が用いられる。このような二次元コード読取装置は、通常、二次元コードを撮像する撮像部と、撮像部によって撮像された二次元コードを表わすコード画像に基づいて、二次元コードに記録された情報のデコードを行う制御部と、を備える。
特許第2938338号公報
特許文献1の技術では、読み取り対象である1個の二次元コードには、本来、一種類の情報のみが記録されることが予定されている。即ち、特許文献1の技術では、特定のセル構成を有する特定の二次元コードが二次元コード読取装置で読み取られる場合、読み取られた結果として出力されるデコード結果は、毎回、特定の二次元コードに予め記録された特定の情報であることが予定されている。
しかしながら、近年、1個の二次元コードを構成する複数のセルのうちの1個のセルを、意図的に明色と暗色の中間色で表示したり、意図的に明色部と暗色部とに分割して表示したりする特殊セルとした特殊二次元コードが、例えば不正の目的等で使用される事態が確認されている。このような特殊二次元コードが二次元コード読取装置によって読み取られる場合、読み取りの際の諸条件(例えば、特殊二次元コードが撮像される際の光の加減等)に応じて、特殊セルが、暗色セルとして読み取られる場合と、明色セルとして読み取られる場合とがある。そして、特殊セルが暗色セルとして読み取られる場合と、明色セルとして読み取られる場合とによって、二通りの異なるデコード結果が出力されてしまうことがある。その結果、特殊二次元コードが読み取られた際、二次元コード読取装置の利用者が意図しないデコード結果(例えば、有害サイトのURL等)が出力されてしまう等の不都合が発生する場合もある。
本明細書では、読み取られた二次元コードが、読み取りの際の条件に応じて二通りの異なるデコード結果が出力され得る特殊二次元コードであるか否かを判別することができる技術を提供する。
本明細書が開示する二次元コード読取装置は、複数の明色セルと複数の暗色セルとを二次元のマトリックス上に配置して構成される二次元コードを撮像する撮像部と、制御部と、を備えている。前記制御部は、前記撮像部によって撮像された前記二次元コードを表わすコード画像に基づいて、前記二次元コードに記録された情報のデコードを行うデコード部と、前記デコードが行われたことによってデコード結果が取得される場合に、前記デコードの過程で誤り訂正処理が行われたか否かを判断する、第1の判断部と、前記誤り訂正処理が行われたと判断される場合に、前記デコード結果に対応する複数のコードワードのうち、前記誤り訂正処理が行われた範囲である訂正ワードを特定する、第1の特定部と、前記コード画像のうち、前記訂正ワードに対応する範囲を表わす対象部分を特定する、第2の特定部と、前記対象部分の全部がセルを表わす特徴を有しているか否かを判断する、第2の判断部と、を備える。
上記の通り、近年、1個の二次元コードを構成する複数のセルのうちの1個のセルを、読み取り時の条件によって暗色セルと明色セルの二通りに読み取られ得る特殊セルとした特殊二次元コードが、例えば不正の目的等で使用される事態が確認されている。例えば、特殊セルは、意図的に暗色と明色の中間色で表示されたり、意図的に暗色部と明色部とに分割して表示されたりする。
一方、そのような特殊セルを含まない通常の二次元コードにおいても、印字の際の不具合等により、上記の特殊セルと同様の表示態様のセルが偶発的に含まれる場合がある。また、二次元コードが汚れたり削れたりすることにより、二次元コードを構成する複数のセルのうちの一部が、明色セル(又は暗色セル)に変わってしまう事態も起こり得る。ただし、通常であれば、二次元コード読取装置がそのような通常の二次元コードを読み取る場合、公知の誤り訂正処理が行われることにより、所定の最大誤り訂正許容率(例えば、7%、15%、25%、30%等)以下の割合の誤り(汚損、損傷、欠け等)は訂正される。そのため、通常であれば、何らかの事情で二次元コードに所定割合までの特殊セルが含まれた場合であっても、二次元コード読取装置は、誤り訂正処理を行った上で、予め二次元コードに記録された情報をデコード結果として出力することができる。
ここで、「最大誤り訂正許容率」とは、二次元コードが汚損等している場合においても、情報をデコードし得る許容率の最大値のことである。例えば最大誤り訂正許容率が25%である二次元コードの場合、二次元コードの情報記録領域に含まれる複数個のセルブロックのうちの25%が損傷している場合であっても、読取装置は当該二次元コードからデータをデコード可能であることを意味する。ここで言う1個の「セルブロック」は、8個のセルを単位とするセル群によって構成されるセル群単位である。デコードの過程では、1個の「セルブロック」からは1個のコードワードが抽出される。そして、最大誤り訂正許容率のレベルは、二次元コード毎に予め設定されている。二次元コードは、最大誤り訂正許容率を示すデータも含んでいる。従って、最大誤り訂正許容率のレベルが高いほど、二次元コードに誤りを含むセルブロックが含まれる割合が高い場合であってもデータを正しくデコードすることが可能となる。
しかしながら、本件発明者等の分析の結果、近年確認されている上記の特殊二次元コードは、特殊セルが暗色セルとして読み取られる場合と、明色セルとして読み取られる場合と、のどちらの場合においても、特殊セルを含むセルブロック以外の部分において、最大誤り訂正許容率に対応する数のセルブロック(即ち、最大誤り訂正許容率の限界値のセルブロック)に対する誤り訂正処理が実行されるよう、意図的かつ精密に設定されていることが判明した。その結果、特殊二次元コードが読み取られた際に、特殊セルを含むセルブロックが「誤り」として処理されることなく、特殊セルが暗色セル又は明色セルとして読み取られた状態でデコードが成功してしまう事態が発生する。その結果、特殊セルが暗色セルとして読み取られる場合と、明色セルとして読み取られる場合とによって、二通りの異なるデコード結果が出力されてしまう事態が起こる。その結果、特殊二次元コードが読み取られた際、二次元コード読取装置の利用者が意図しない読取結果(例えば、有害サイトのURL等)がデコード結果として出力されてしまう等の不都合が発生する場合もある。
これに対し、上記の構成を有する本明細書の二次元コード読取装置によると、制御部は、二次元コードを表わすコード画像に基づいてデコードを行うことでデコード結果が取得される場合に、デコードの過程で誤り訂正処理が行われたか否かを判断する。そして、制御部は、誤り訂正処理が行われたと判断される場合に、デコード結果に対応する複数のコードワードのうち、誤り訂正処理が行われた範囲である訂正ワードを特定する。そして、制御部は、コード画像のうち、訂正ワードに対応する範囲を表わす対象部分を特定し、その対象部分の全部がセルを表わす特徴を有しているか否かを判断する。ここで、「コードワード」は、二次元コードに含まれるセルブロック(即ち、8個のセルによって構成されるセル群)のデコード結果を表わす文字列(英数字の組合せ)である。
対象部分の全部がセルを表わす特徴を有している場合、二次元コードの対象部分(即ち、誤り訂正処理が行われた範囲)には、汚損、損傷、欠け等が発生していなかった可能性が高い。即ち、対象部分は、誤り訂正処理が行われるように意図的に設けられた部分である可能性が高い。この場合、読み取られた二次元コードが、上記の特殊二次元コードである可能性が高いと言える。
一方、対象部分の少なくとも一部がセル以外のオブジェクトを表わす特徴を有していると判断される場合には、二次元コードの対象部分(即ち、誤り訂正処理が行われた範囲)には、汚損、損傷、欠け等が発生していた可能性が高い。即ち、対象部分は、誤り訂正処理が行われるように意図的に設けられた部分ではなかった可能性が高い。この場合、読み取られた二次元コードが、上記の特殊二次元コードではない可能性が高いと言える。
従って、上記の二次元コード読取装置によれば、対象部分の全部がセルを表わす特徴を有しているか否かを判断することによって、読み取られた二次元コードが、読み取りの際の条件に応じて二通りの異なるデコード結果が出力され得る特殊二次元コードであるか否かを判別することができる。
前記第2の判断部は、前記対象部分に基づいて前記対象部分内の各部の明度を示す出力波形を取得し、取得された前記出力波形が前記セルを表わす特徴を示すか否かを判断することにより、前記対象部分の全部が前記セルを表わす特徴を有しているか否かを判断してもよい。
二次元コードに含まれる各セル(明色セル、暗色セル)は、いずれも、所定の明度で表示されるとともに、所定長さの辺を有する正方形である。そのため、二次元コードの対象部分の各部の明度を示す出力波形は、明色セルと暗色セルとの間で明確な境界を有する。また、明色セルを表わす波形の長さ、暗色セルを表わす波形の長さも予め定められた範囲の長さを有する。即ち、汚損、損傷、欠け等が発生していない二次元コードの出力波形には所定の規則性がみられる。一方、二次元コードに汚損、損傷、欠け等が発生していた場合、出力波形は不規則になる。
従って、上記の構成によると、二次元コード読取装置は、対象部分内の各部の明度を示す出力波形に基づいてセルを表わす特徴を示すか否かを判断することにより、読み取られた二次元コードが特殊二次元コードであるのか否かを適切に判別することができる。
前記第2の判断部は、前記対象部分に基づいて前記対象部分内の各部の明度を二値化した二値化データを取得し、取得された前記二値化データが前記セルを表わす特徴を示すか否かを判断することにより、前記対象部分の全部が前記セルを表わす特徴を有しているか否かを判断してもよい。
二次元コードに含まれる各セル(明色セル、暗色セル)は、いずれも、所定の明度で表示されるとともに、所定長さの辺を有する正方形である。そのため、二次元コードの対象部分の各部の明度を二値化した二値化データは、明色セルと暗色セルとの間で明確な境界を有する。また、明色セルを表わす二値化データの上下左右の長さ、暗色セルを表わす二値化データの上下左右の長さ(データ数)も予め定められた範囲の長さを有する。即ち、汚損、損傷、欠け等が発生していない二次元コードの二値化データには所定の規則性がみられる。一方、二次元コードに汚損、損傷、欠け等が発生していた場合、二値化データは不規則になる。
従って、上記の構成によると、二次元コード読取装置は、対象部分内の各部の明度を二値化した二値化データに基づいてセルを表わす特徴を示すか否かを判断することにより、読み取られた二次元コードが特殊二次元コードであるのか否かを適切に判別することができる。
前記制御部は、さらに、(a)前記対象部分の全部が前記セルを表わす特徴を有していると判断される場合には、前記デコード結果を出力せず、又は、前記デコード結果とともに報知情報を出力し、(b)前記対象部分の少なくとも一部が前記セル以外のオブジェクトを表わす特徴を有していると判断される場合には、前記デコード結果を出力する、出力制御部を備えてもよい。
上記の通り、対象部分の全部がセルを表わす特徴を有している場合、読み取られた二次元コードが、上記の特殊二次元コードである可能性が高いと言える。一方、対象部分の少なくとも一部がセル以外のオブジェクトを表わす特徴を有していると判断される場合には、読み取られた二次元コードが、上記の特殊二次元コードではない可能性が高いと言える。そのため、上記の構成によると、読み取られた二次元コードが、上記の特殊二次元コードである可能性が高い場合には、デコード結果を出力しない、又は、デコード結果とともに報知情報を出力することにより、二次元コード読取装置の利用者に、読み取られた二次元コードが特殊二次元コードである可能性が高いことを把握させることができる。
なお、上記の二次元コード読取装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。
情報コード読取装置の概要を示す。 特殊二次元コードを表わすコード画像の一例を示す。 図2のコード画像において、特殊セルが明色セルとして読み取られた場合に得られるコードワードと暗色セルとして読み取られた場合に得られるコードワードを示す。 二次元コード読取処理のフローチャートを示す。 特殊二次元コードの対象部分の出力波形及び二値化データの一例を示す。 汚損した二次元コードの対象部分の出力波形及び二値化データの一例を示す。 特殊二次元コードを表わすコード画像の他の一例を示す。
(第1実施例)
(二次元コード読取装置10の構成;図1)
図1に示す本実施例の二次元コード読取装置10は、例えば、端末機器のディスプレイや紙などに表示された二次元コード100を読み取って、二次元コード100に記録されたデータを取得するための装置である。図1の例では、読み取りの対象の二次元コード100は、QRコード(本件出願人の登録商標)である。二次元コード100は、複数の明色セルと複数の暗色セルとを二次元のマトリックス上に配置して構成されている。他の例では、読み取りの対象の二次元コード100は、他のマトリックス形式の二次元コードであってもよい。
本実施例の二次元コード読取装置10は、例えば、ユーザが所持するスマートフォン等の端末装置である。図1に示すように、二次元コード読取装置10は、操作部12と、表示部14と、撮像部16と、制御部20と、メモリ22と、を備える。
操作部12は、1個以上のキーを含む。ユーザは、操作部12を操作して、様々な指示を二次元コード読取装置10に入力することができる。表示部14は、読み取られた二次元コード100のデコード結果を含む様々な情報を表示させるためのディスプレイである。また、操作部12と表示部14は、両者が一体に構成されたタッチパネルであってもよい。撮像部16は、所定の撮影可能範囲内の画像を撮影可能なCCDカメラである。撮像部16が二次元コード100を撮像することにより、二次元コード100を表わすコード画像C(図1、図2等参照)が取得される。
制御部20は、メモリ22に記憶されているプログラムに従って、後述のコード読取処理(図4参照)を含む様々な処理を実行する。本実施例では、制御部20がコード読取処理を実行することにより、二次元コード100に記録されたデータを取得し、出力することができる。メモリ22は、ROM(Read Only Memoryの略)、RAM(Random Access Memoryの略)等によって構成される。上記の通り、メモリ22は、OSプログラム、上述のコード読取処理を実行するための読取アプリケーションプログラム等、様々なプログラムを記憶している。さらに、メモリ22は、後述のコード読取処理の実行過程において生成される様々なデータを記憶するための一時記憶領域も有している。
(特殊二次元コードの構成及び仕組み;図2、図3)
上記の通り、二次元コード読取装置10は二次元コード100を読み取り対象とする。一方、近年、1個の二次元コードを構成する複数のセルのうちの1個のセルを、条件によって暗色セルと明色セルの二通りに読み取られ得る特殊セルとした二次元コード(以下では「特殊二次元コード」と呼ぶ)が、例えば不正の目的等で使用される事態が確認されている。ここで言う「特殊セル」は、意図的に暗色と明色の中間色で表示されたり、意図的に暗色部と明色部とに分割して表示されたりしている。このような特殊二次元コードが従来の二次元コード読取装置によって読み取られる場合、読み取りの際の諸条件(例えば、特殊二次元コードが撮像される際の光の加減等)に応じて、特殊セルが、明色セルとして読み取られる場合と、暗色セルとして読み取られる場合とが生じ得る。そして、特殊セルが明色セルとして読み取られる場合と、暗色セルとして読み取られる場合とによって、二通りの異なるデコード結果が出力されてしまうことがある。その結果、特殊二次元コードが読み取られた際、二次元コード読取装置の利用者が意図しない読取結果(例えば、有害サイトのURL等)がデコード結果として出力されてしまう等の不都合が発生する場合もある。
以下、図2、図3を参照して、このような特殊二次元コードの構成と、特殊二次元コードが読み取られた際に二通りの異なるデコード結果が出力される仕組みと、について説明する。以下では、本実施例の二次元コード読取装置10が、特殊二次元コードである二次元コード100を読み取る場合を例として説明する。図2の(a)は、二次元コード読取装置10の撮像部16によって撮像される二次元コード100(及びその二次元コード100を表わすコード画像C)の例である。即ち、図2の(a)の二次元コード100は、特殊二次元コードである。二次元コード100は、暗色(具体的には黒色)のセル(以下「暗色セル」と呼ぶ)と、明色(具体的には白色)のセル(以下「明色セル」と呼ぶ)との組み合わせによって構成されている。二次元コード100は、3箇所の角部に配置されたファインダパターン40と、1個のアライメントパターン42と、ファインダパターン40及びアライメントパターン42の中央に配置されたデータセル領域44と、を含む。
ファインダパターン40は、二次元コード100の読み取りの際に最初に認識される部分であり、二次元コード100の上下左右位置を特定するためのパターンである。ファインダパターン40の位置、大きさ、形状等は予め定められている。二次元コード読取装置10は、ファインダパターン40を認識することで、二次元コード100の向きに関わらず、どの方向からでも二次元コード100に記録されたデータを読み取ることができるようになる。アライメントパターン42は、歪みによって生じる各セルの位置ずれを補正するための部分である。
データセル領域44は、二次元コード100に記録されるデータを表現するための各種セルが含まれる領域である。データセル領域44には、データキャラクタ、誤り訂正符号等が含まれる。
ここで、「データキャラクタ」は、二次元コード100に記録されるデータを含む。データキャラクタによって表現されるデータには、デコード対象のデータ自身のほかに、最大誤り訂正許容率を示すデータも含まれる。最大誤り訂正許容率とは、二次元コード100が汚損等している場合においても、データをデコードし得る許容率の最大値(例えば、7%、15%、25%、30%等)を示す。例えば最大誤り訂正許容率が20%である情報コードの場合、二次元コード100のデータセル領域44を構成する44個のセルブロックCB(後述の図2の(b)参照。即ち、ファインダパターン40及びアライメントパターン42を除く部分)のうちの20%(この場合は9個)が損傷している場合であっても、二次元コード読取装置10は当該二次元コード100からデータをデコード可能であることを意味する。そして、「誤り訂正符号」は、二次元コード100を読み取った二次元コード読取装置10が、読み取ったデータの誤りを検出し、訂正することを可能にするための情報である。二次元コード読取装置10は、読み取ったデータと誤り訂正符号とを比較して、データに誤り(即ち、欠け等)があるか否かを判定することができるとともに、誤りがある場合に、誤り訂正符号に基づいて誤り部分を補完することができる。この機能は誤り訂正機能と呼ばれ、一般に知られている。また、この誤り訂正機能に基づいて誤り部分を補完する処理のことを以下では「誤り訂正処理」と呼ぶ場合がある。
さらに、本実施例では、データセル領域44には、意図的に明色と暗色の中間色で表示させた1個の特殊セル50が含まれる。即ち、特殊二次元コードである二次元コード100は、1個の特殊セル50を含む。特殊セル50は、二次元コード読取装置10によって読み取られる場合、読み取りの際の諸条件(例えば、特殊二次元コードが撮像される際の光の加減等)に応じて、特殊セル50が、明色セルとして読み取られる場合と、暗色セルとして読み取られる場合がある。そして、特殊セル50が明色セルとして読み取られる場合と、暗色セルとして読み取られる場合とによって、二通りの異なるデコード結果が出力されてしまうことがある。この例では、特殊セル50が暗色セルとして読み取られる場合(パターンA)には、デコード結果「http://srv.prof.net/~lob」が出力される。一方、特殊セル50が明色セルとして読み取られる場合(パターンB)には、デコード結果「http://srv.prof.net/~lab」が出力される。パターンAのデコード結果と、パターンBのデコード結果は、ともにウェブサイトのURLを示すが、URLの一部が「a」と「o」とで異なっている。このように、特殊二次元コードである二次元コード100が読み取られると、二通りの異なるデコード結果が出力される。その結果、特殊二次元コードが読み取られた際、ユーザが意図しないデコード結果(例えば、有害サイトのURL等)が出力される場合もある。
図2の(b)に示すように、データセル領域44に含まれる多数のセルは、8個のセルを単位とするセル群である複数のセルブロックCBを構成している。図2の(b)の例では、二次元コード100内には、合計44個のセルブロックCB(図2の(b)中のD1〜D28、E1〜E16)が設けられる。このうち、28個のセルブロックD1〜D28は、上述のデータキャラクタに対応するセルブロックである。セルブロックD1〜D28のそれぞれは、16進法で表される2桁のコードワード(例えば図3の(a)の「41」等)を表わしている。16個のセルブロックE1〜E16は、上述の誤り訂正符号に対応するセルブロックである。セルブロックE1〜E16のそれぞれも、16進法で表される2桁のコードワード(例えば図3の(a)の「E6」等)を表わしている。
特殊二次元コードに基づいて二通りのデコード結果が出力される仕組み(図3の(a)(b)参照)について説明する前に、特殊セル50を含まない通常の二次元コードにおいて、一部のセルに特殊が生じた場合であっても、予定された(即ち一通りの)デコード結果が正しく出力される仕組みについて説明しておく。通常の二次元コードにおいて、印字の際の不具合等により、上記の特殊セル50と同様の表示態様を有するセルが偶発的に含まれる場合がある。また、二次元コードが汚れたり削れたりすることにより、二次元コードを構成する複数のセルのうちの一部が、暗色セル(又は明色セル)に変わってしまう事態も起こり得る。ただし、通常であれば、二次元コード読取装置10がそのような二次元コードを読み取る場合、上記の誤り訂正処理が行われることにより、所定の最大誤り訂正許容率(例えば、7%、15%、25%、30%等)以下の割合の誤り(汚損、損傷、欠け等)が訂正される。そのため、通常であれば、何らかの事情で二次元コードに所定割合までの特殊セルが含まれた場合であっても、二次元コード読取装置10は、誤り訂正処理を行った上で、予め二次元コードに記録されたデータ(一通りのデータ)をデコード結果として出力することができる。即ち、特定のセル構成を有する通常の二次元コードが二次元コード読取装置10で読み取られる場合、読み取られた結果として出力されるデコード結果は、毎回、通常の二次元コードに予め記録された一種類のデータであることが予定されている。
これに対し、近年確認されている上記の特殊二次元コードは、データセル領域44に含まれる特殊セル50が暗色セルとして読み取られる場合(図3の(a)[パターンA]参照)と、明色セルとして読み取られる場合(図3の(b)[パターンB]参照)と、のどちらの場合においても、特殊セル50を含むセルブロック以外の部分において、最大誤り訂正許容率に対応する数のセルブロック(即ち、最大誤り訂正許容率の限界値のセルブロック)に対する誤り訂正処理が実行されるよう、意図的かつ精密に設定されていることが判明している。その結果、特殊二次元コードが読み取られた際に、特殊セル50を含むセルブロックが「誤り」として処理されることなく、特殊セル50が暗色セル又は明色セルとして読み取られてしまう事態が発生する。その結果、特殊セル50が暗色セルとして読み取られる場合と、明色セルとして読み取られる場合とによって、二通りの異なるデコード結果が出力されてしまう事態が起こる(図3の(a)(b)参照)。
図3の(a)、(b)を参照して、このことをより詳細に説明する。図3の(a)は、特殊二次元コードである二次元コード100(図2参照)の特殊セル50が暗色セルとして読み取られる場合(パターンA)の具体例を示す。パターンAでは、デコードの過程で誤り訂正処理が実行されることにより、各セルブロックに対応する訂正後の44個のコードワードが取得される。図3の(b)は、同様の状況において、特殊セル50が明色セルとして読み取られる場合(パターンB)の具体例を示す。パターンBでは、誤り訂正処理が実行されることにより、各セルブロックに対応する訂正後の44個のコードワード(即ち、パターンAの場合とは部分的に異なる44個の訂正後のコードワード)が取得される。いずれもパターンでも、特殊二次元コードである二次元コード100に設定された最大誤り訂正許容率は20%である。即ち、デコードの際、44個のセルブロックCBのうち、最大9個のセルブロックまでの誤りを訂正可能である。
(パターンA;図3の(a))
特殊二次元コードである二次元コード100(図2参照)の特殊セル50が暗色セルとして読み取られると、誤り訂正処理が行われる前において、図3の(a)の上段に示すような44個のコードワードが取得される。44個のコードワードのうち、前半の28個のコードワード(「41」から「F7」まで)は、セルブロックD1〜D28(即ちデータキャラクタに対応するセルブロック)に対応するコードワードである。このうち、網掛け表示で示されている「96」とその隣の「C6」が、英文字「o」に相当するコードワードである。そして、44個のコードワードのうち、後半の16個のコードワード(「E6」から「C6」まで)は、セルブロックE1〜E16(即ち誤り訂正符号に対応するセルブロック)に対応するコードワードである。このうち、斜線ハッチング表示で示されている「71」が、特殊セル50が暗色セルとして読み取られたことで得られたコードワードである。
上記の通り、二次元コード100に設定された最大誤り訂正許容率は20%である。そして、特殊二次元コードである二次元コード100は、特殊セル50が暗色セルとして読み取られる場合と明色セルとして読み取られる場合のどちらの場合も、最大誤り訂正許容率に対応するセルブロックのコードワードに対する誤り訂正処理が実行されるように意図的かつ精密に設定される。そのため、二次元コード読取装置10は、44個のセルブロックCBに対応するコードワードのうち、9個のセルブロックに対応するコードワードの誤りを訂正する。図3の(a)の例では、下線を付した9個のコードワードが訂正される。パターンAでは、誤り訂正処理の対象の9個のコードワードは、いずれも、セルブロックE1〜E16に対応するコードワードである。
誤り訂正処理が行われたことにより、図3の(a)の下段に示すような44個のコードワードが取得される。図中の44個のコードワードのうち、訂正処理が行われたコードワード(以下では「訂正ワード」と呼ぶ場合がある)には、下線を付している。誤り訂正処理後においても、網掛け表示で示されている「96」とその隣の「C6」は、誤り訂正処理前と変わらず維持されている。即ち、「96」と「C6」は、誤り訂正処理前と変わらず英文字「o」を表わしている。この結果、二次元コード読取装置10は、誤り訂正処理後の44個のコードワードのうち、前半の28個のコードワード(「41」から「F7」まで)に基づいて、デコード結果「http://srv.prof.net/~lob」を出力することができる。
(パターンB;図3の(b))
特殊二次元コードである二次元コード100(図2参照)の特殊セル50が明色セルとして読み取られると、誤り訂正処理が行われる前において、図3の(b)の上段に示すような44個のコードワードが取得される。この場合も、前半の28個のコードワード(「41」から「F7」まで)は、セルブロックD1〜D28(即ちデータキャラクタに対応するセルブロック)に対応するコードワードである。このうち、網掛け表示で示されている「96」とその隣の「C6」が、英文字「o」に相当するコードワードである。そして、44個のコードワードのうち、後半の16個のコードワード(「E6」から「C6」まで)は、セルブロックE1〜E16(即ち誤り訂正符号に対応するセルブロック)に対応するコードワードである。このうち、斜線ハッチング表示で示されている「F1」が、特殊セル50が明色セルとして読み取られたことで得られたコードワードである。このように、特殊セル50が明色セルとして読み取られた場合に得られるコードワード(「71」)とは異なっている。
この場合も、二次元コード100に設定された最大誤り訂正許容率(20%)に応じた数(9個)のコードワードの誤りが訂正される。具体的には、図3の(b)のうち、下線を付した9個のコードワードが訂正される。パターンBで誤り訂正処理の対象となるコードワードは、パターンAの場合とは異なる。図3の(b)に示すように、パターンBでは、セルブロックE1〜E16に対応する(誤り訂正符号に対応する)コードワードに対して誤り訂正処理が行われる他、セルブロックD1〜D28に対応する(データキャラクタに対応する)コードワードのうち、英文字「o」を構成する部分である「C6」に対しても誤り訂正処理が行われる。
誤り訂正処理が行われたことにより、図3の(b)の下段に示すような44個のコードワードが取得される。図中の44個のコードワードのうちの訂正ワードには、下線を付している。パターンBでは、網掛け表示で示されている「96」の隣の「C6」が「16」に訂正されている。「96」と「16」は、英文字「a」を表わす。この結果、二次元コード読取装置10は、誤り訂正処理後の44個のコードワードのうち、前半の28個のコードワード(「41」から「F7」まで)に基づいて、デコード結果「http://srv.prof.net/~lab」を出力することができる。このように、パターンAのデコード結果と、パターンBのデコード結果は、ともにウェブサイトのURLを示すが、URLの一部が「a」と「o」とで異なっている。
特殊二次元コードである二次元コード100が読み取られる(即ちデコードされる)場合、二次元コード読取装置10が上記のような処理を行うことにより、二通りのデコード結果が出力される。
(コード読取処理;図4)
本実施例では、二次元コード読取装置10の制御部20は、図4のコード読取処理を実行することで、読み取られた二次元コード100が上記のような特殊二次元コードであるのか否かを判別することができる。以下、図4を参照して、本実施例の二次元コード読取装置10の制御部20が実行するコード読取処理について説明する。ユーザは、二次元コードを読み取るための読取アプリケーションプログラムが起動された二次元コード読取装置10の操作部12に、所定の読取指示を入力することができる。読取指示が入力される場合、制御部20は、図4のコード読取処理を開始する。
S10では、制御部20は、二次元コード100を表わすコード画像Cが撮像されることを監視する。コード読取処理が開始されると、制御部20は、撮像部16を起動させ、撮像範囲内の画像の撮像を開始する。この際、ユーザが、撮像部16の撮像範囲内に二次元コード100が含まれるように二次元コード読取装置10の位置及び角度を変化させることで、撮像部16に二次元コード100を撮像させることができる。これにより、撮像部16によって二次元コード100を表わす画像が撮像される。そして、制御部20は、撮像された画像内に、二次元コード100を表わす特徴(例えば、ファインダパターン40等)が存在するか否かを判断し、二次元コード100を表わす特徴が存在すると判断される場合に、コード画像Cが撮像されたと判断(即ちS10でYESと判断)し、S12に進む。
S12では、制御部20は、S10で撮像されたコード画像Cに基づいてデコードを試行する。即ち、制御部20は、公知のデコード手法に従って、コード画像Cが表す二次元コード100に記録されたデータのデコードを行う。その際、上記の通り、制御部20は、必要に応じて誤り訂正処理も行う(図2、図3参照)。
S14では、制御部20は、デコードが成功したか否かを判断する。S12で試行されたデコードの結果、デコード結果が取得されている場合、制御部20は、S14でYESと判断し、S16に進む。一方、何らかの事情(例えば、コード画像Cが表わす二次元コード100の破損度が、最大誤り訂正許容率を超えていた場合等)でデコード結果の取得に失敗した場合、制御部20は、S14でNOと判断し、コード読取処理をエラー終了する。
S16では、制御部20は、デコードの過程で、誤り訂正処理が行われたか否かを判断する。具体的には、S16では、まず、制御部20は、デコードの過程でメモリ22の一次記憶領域に記憶されたコードワード(図3参照)等を参照することにより、デコードの過程で誤り訂正処理が行われたか否かを判定する。その結果、デコードの過程で誤り訂正処理が行われたと判定される場合、制御部20は、S16でYESと判断し、S18に進む。一方、デコードの過程で誤り訂正処理が行われていないと判定される場合、制御部20は、S16でNOと判断し、S30に進む。
S18では、制御部20は、S10で撮像されたコード画像Cをメモリ22の一次記憶領域に記憶させる。
次いで、S20では、制御部20は、デコードの過程でメモリ22の一次記憶領域に記憶されたコードワード(図3参照)を参照し、誤り訂正処理が行われたコードワードである訂正ワードを特定する。
次いで、S22では、制御部20は、メモリ22に記憶されたコード画像Cを参照し、コード画像Cのうち、S20で特定された訂正ワードに対応する対象部分を特定する。具体的には、S22では、まず、制御部20は、コード画像Cのうち、訂正ワードに対応するセルブロックを特定する。そして、制御部20は、コード画像Cのうち、特定されたセルブロックに対応する範囲を、対象部分として特定する。
次いで、S24では、制御部20は、S22で特定された対象部分の分析を行う。本実施例では、S24において、まず、制御部20は、対象部分の各部の明度を示す出力波形を取得する。そして、制御部20は、取得された出力波形の分析を行い、対象部分の明色部と暗色部とが形成するパターンを特定する。
続くS26では、制御部20は、S24で行われた分析の結果、対象部分の全部がセルであるのか否かを判断する。即ち、制御部20は、S24で取得された対象部分の各部の明度を示す出力波形が、対象部分内の全部についてセルを表わす特徴を有しているのか否かを判断する。この結果、対象部分の出力波形が、対象部分の全部についてセルを表わす特徴を有していると判断される場合(後述の図5参照)、制御部20は、S26でYESと判断し、S28に進む。反対に、対象部分の出力波形が、対象部分の少なくとも一部について、セル以外のオブジェクト(例えば、汚れや欠け等)を表わす特徴を有していると判断される場合(後述の図6参照)、制御部20は、S26でNOと判断し、S30に進む。
図5、図6を参照し、S26でYESと判断される場合、S26でNOと判断される場合のそれぞれの具体例を説明する。図5は、コード画像Cの対象部分TPがセル特有の特徴を有している場合(S26でYESと判断される場合)の一例である。図5の例では、コード画像Cのうち、太線で囲まれた部分が、訂正ワードに対応する対象部分TPである。図5に示すように、この例では、対象部分TPには目立った汚れ等が付着しておらず、対象部分TPは全部がセルによって構成されている。二次元コード100に含まれる各セル(明色セル、暗色セル)は、いずれも、所定の明度で表示されるとともに、所定長さの辺を有する正方形である。そのため、図5の例では、対象部分TPの出力波形は、明色部と暗色部との間に明確な境界を有する。また、明色部を表わす波形の長さ(図中の横幅)、暗色部を表わす波形の長さも予め定められたセルサイズに応じた長さを有する。対象部分TPの各部の出力波形が全てこのような特徴を有する場合、対象部分TPの全部がセルであると言える。その場合、制御部20は、S26でYESと判断し、S28に進む。
これに対し、図6は、コード画像Cの対象部分TPの少なくとも一部がセル以外のオブジェクト(例えば、汚れや欠け等)を表わす特徴を有している場合(S26でNOと判断される場合)の一例である。図6の例でも、コード画像Cのうち、太線で囲まれた部分が、訂正ワードに対応する対象部分TPである。図6に示すように、この例では、対象部分TPには大きな汚れ60が付着している。そのため、図6の例では、対象部分TPの出力波形は、明色部と暗色部との間に、セルとは明らかに異なる不規則な境界を有する部分を含む。また、少なくとも一部において、明色部を表わす波形の長さ(図中の横幅)、暗色部を表わす波形の長さも予め定められたセルサイズとは異なる長さを有する。対象部分TPの各部の出力波形の少なくとも一部がこのような特徴を有する場合、対象部分TPの全部がセルではない(即ち、対象部分TPの少なくとも一部がセル以外のオブジェクト(例えば、汚れや欠け等)を表わす特徴を有している)と言える。その場合、制御部20は、S26でNOと判断し、S30に進む。
S28では、制御部20は、取得済みのデコード結果とともに、読み取られた二次元コード100が特殊二次元コードであることに関係する報知情報を出力(例えば表示部14に表示)する。報知情報は、例えば、読み取られた二次元コード100に特殊な加工が施されている可能性が高く、デコード結果に留意するようユーザに報知するためのメッセージを含む。上記のS26でYESと判断される場合、デコードの過程で誤り訂正処理が行われているにも関わらず、コード画像Cのうち、誤り訂正処理の対象であった訂正ワードに対応する対象部分は、全てセルとしての特徴を有しており、汚損等している訳ではないことを意味する(図5参照)。即ち、対象部分TPは、誤り訂正処理が行われるように意図的に設けられた部分である可能性が高い。この場合、読み取られた二次元コード100が、上記の特殊二次元コードである可能性が高いと言える。S28において、制御部20が、取得済みのデコード結果に加えて報知情報を出力することにより、ユーザに対して、読み取られた二次元コード100が特殊二次元コードであった可能性が高いことを報知するとともに、デコード結果が予定通りの情報であるのか否かを確認するよう注意喚起をすることができる。
一方、S30では、制御部20は、取得済みのデコード結果を出力する。例えば、上記のS26でNOと判断される場合、デコードの過程で誤り訂正処理が行われた原因が、二次元コード100の汚損等であった可能性が高いことを意味する(図6参照)。つまり、この場合、読み取られた二次元コード100は、誤り訂正処理が行われるように意図的に構成されたコードではなく、通常の二次元コードであった可能性が高いと言える。この場合、S30において、制御部20は、取得済みのデコード結果を通常通り出力することができる。
以上、本実施例の二次元コード読取装置10の構成及び動作について説明した。上記の通り、制御部20は、二次元コード100を表わすコード画像Cに基づいてデコードを行うことでデコード結果が取得される場合に(図4のS14でYES)、デコードの過程で誤り訂正処理が行われたか否かを判断する(S16)。そして、制御部20は、誤り訂正処理が行われたと判断される場合(S16でYES)に、デコード結果に対応する複数のコードワードのうち、誤り訂正処理が行われた範囲である訂正ワードを特定する(S20)。そして、制御部20は、コード画像Cのうち、訂正ワードに対応する範囲を表わす対象部分を特定し、その対象部分の全部がセルを表わす特徴を有しているか否かを判断する(S26)。対象部分の全部がセルを表わす特徴を有している場合(S26でYES)、二次元コード100の対象部分(即ち、誤り訂正処理が行われた範囲)には、汚損、損傷、欠け等が発生していなかった可能性が高い。即ち、対象部分は、誤り訂正処理が行われるように意図的に設けられた部分である可能性が高い。この場合、読み取られた二次元コードが、上記の特殊二次元コードである可能性が高いと言える。一方、対象部分の少なくとも一部がセル以外のオブジェクトを表わす特徴を有していると判断される場合(S26でNO)には、二次元コードの対象部分には、汚損、損傷、欠け等が発生していた可能性が高い。即ち、対象部分は、誤り訂正処理が行われるように意図的に設けられた部分ではなかった可能性が高い。この場合、読み取られた二次元コードが、上記の特殊二次元コードではない可能性が高いと言える。従って、本実施例の二次元コード読取装置10によれば、対象部分の全部がセルを表わす特徴を有しているか否かを判断することによって、読み取られた二次元コード100が、読み取りの際の条件に応じて二通りの異なるデコード結果が出力され得る特殊二次元コードであるか否かを適切に判別することができる。
また、上記の通り、本実施例では、制御部20は、対象部分内の各部の明度を示す出力波形を取得し、取得された出力波形がセルを表わす特徴を示すか否かを判断することにより、対象部分の全部がセルを表わす特徴を有しているか否かを判断している(S26)。上記の通り、汚損、損傷、欠け等が発生していない二次元コード100の出力波形には所定の規則性がみられる。一方、二次元コード100に汚損、損傷、欠け等が発生していた場合、出力波形は不規則になる。従って、本実施例によると、二次元コード読取装置10は、対象部分内の各部の明度を示す出力波形に基づいてセルを表わす特徴を示すか否かを判断することにより、読み取られた二次元コード100が特殊二次元コードであるのか否かを適切に判別することができる。
本実施例と請求項の対応関係を説明しておく。図4のS12の処理、S16の処理、S20の処理、S22の処理、S26の処理が、それぞれ、「デコード部」、「第1の判断部」、「第1の特定部」、「第2の特定部」、「第2の判断部」が実行する処理の一例である。S28及びS30の処理が「出力制御部」が実行する処理の一例である。
(第2実施例)
第2実施例の二次元コード読取装置10について、第1実施例と異なる点を中心に説明する。本実施例の二次元コード読取装置10も、その基本的な構成及び動作は第1実施例と共通する。ただし、本実施例では、図4のコード読取処理のS24における対象部分の分析の手法が第1実施例とは異なる。
本実施例では、S24において、まず、制御部20は、対象部分の各部の明度を二値化した二値化データを取得する。そして、制御部20は、取得された二値化データ分析を行い、対象部分の明色部と暗色部とが形成するパターンを特定する。続くS26では、制御部20は、S24で行われた分析の結果、対象部分の全部がセルであるのか否かを判断する。即ち、制御部20は、S24で取得された対象部分の各部の明度を二値化した二値化データが、対象部分内の全部についてセルを表わす特徴を有しているのか否かを判断する。この結果、二値化データが、対象部分の全部についてセルを表わす特徴を有していると判断される場合(後述の図5参照)、制御部20は、S26でYESと判断し、S28に進む。反対に、二値化データが、対象部分の少なくとも一部について、セル以外のオブジェクト(例えば、汚れや欠け等)を表わす特徴を有していると判断される場合(後述の図6参照)、制御部20は、S26でNOと判断し、S30に進む。
本実施例でも、図5、図6を参照し、S26でYESと判断される場合、S26でNOと判断される場合のそれぞれの具体例を説明する。図5は、コード画像Cの対象部分TPがセル特有の特徴を有している場合(S26でYESと判断される場合)の一例である。二値化データは、対象部分内を走査した上で、明色部を「0」、暗色部を「1」でそれぞれ表したデータである。上記の通り、図5の例では、対象部分TPには目立った汚れ等が付着しておらず、対象部分TPは全部がセルによって構成されている。二次元コード100に含まれる各セル(明色セル、暗色セル)は、いずれも、所定の明度で表示されるとともに、所定長さの辺を有する正方形である。そのため、図5の例では、対象部分TPの二値化データは、明色部を表わす「0」の領域と暗色部を表わす「1」の領域との間に明確な境界を有する。また、明色部を表わす「0」の領域の上下左右の長さ(データ数)、暗色部を表わす「1」の領域の上下左右の長さ(データ数)も予め定められたセルサイズに応じた長さ(データ数)を有する。対象部分TPの二値化データが全てこのような特徴を有する場合、対象部分TPの全部がセルであると言える。その場合、制御部20は、S26でYESと判断し、S28に進む。
これに対し、図6は、コード画像Cの対象部分TPの少なくとも一部がセル以外のオブジェクト(例えば、汚れや欠け等)を表わす特徴を有している場合(S26でNOと判断される場合)の一例である。上記の通り、図6の例では、対象部分TPには大きな汚れ60が付着している。そのため、図6の例では、対象部分TPの二値化データは、明色部を表わす「0」の領域と暗色部を表わす「1」の領域との間に、セルとは明らかに異なる不規則な境界を有する部分を含む。また、少なくとも一部において、明色部を表わす「0」の領域の上下左右の長さ(データ数)、及び、暗色部を表わす「1」の領域の上下左右の長さ(データ数)も、予め定められたセルサイズとは異なる長さ(データ数)を有する。対象部分TPの二値化データの少なくとも一部がこのような特徴を有する場合、対象部分TPの全部がセルではない(即ち、対象部分TPの少なくとも一部がセル以外のオブジェクト(例えば、汚れや欠け等)を表わす特徴を有している)と言える。その場合、制御部20は、S26でNOと判断し、S30に進む。
上記の通り、汚損、損傷、欠け等が発生していない二次元コード100の二値化データには所定の規則性がみられる。一方、二次元コード100に汚損、損傷、欠け等が発生していた場合、二値化データは不規則になる。従って、本実施例でも、二次元コード読取装置10は、対象部分内の各部の明度を二値化した二値化データに基づいてセルを表わす特徴を示すか否かを判断することにより、読み取られた二次元コード100が特殊二次元コードであるのか否かを適切に判別することができる。
(第3実施例)
本実施例は、上記の第1及び第2実施例の変形例である。上記の第1及び第2実施例では、判別対象の特殊二次元コード(例えば図2の二次元コード100)は、明色と暗色の中間色で表示された1個の特殊セル50を含む。本実施例では、判別対象の特殊二次元コードは、図7の二次元コード200に示すように、セルを意図的に明色部と暗色部とに分割して表示した特殊セル150を含む。この場合も、読み取りの際の諸条件(例えば、特殊二次元コードが撮像される際の光の加減等)に応じて、特殊セル150が、暗色セルとして読み取られる場合と、明色セルとして読み取られる場合がある。上記の第1及び第2実施例で開示する二次元コード読取装置10は、図7に示すようなタイプの特殊二次元コード(即ち二次元コード200)を読み取る場合も、第1及び第2実施例と同様の動作を行うことができる。
以上、本発明の各実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
(変形例1)上記の各実施例では、制御部20は、図4のS26でYESと判断した場合、S28において、デコード結果とともに報知情報を出力している。これに限られず、制御部20は、図4のS26でYESと判断した場合には、デコード結果を出力させず、報知情報のみを出力するようにしてもよい。また、さらに他の例では、デコード結果と報知情報のどちらも出力しないようにしてもよい。
(変形例2)図4のコード読取処理における対象部分の分析の手法(S24)、及び、対象部分の全部がセルを表わす特徴を有しているか否かの判断手法(S26)は、上記の各実施例で説明した手法には限られず、他の任意の手法が採用されてもよい。従って、例えば、制御部20は、コード画像Cの対象部分の画像に含まれる特徴点を抽出し、抽出された特徴点がすべてセルの特徴を示すか否かを判断することにより、対象部分の全部がセルを表わす特徴を有しているかを判断するようにしてもよい。
(変形例3)上記の各実施例では、特殊二次元コードは、読み取りの際の条件によって二通りのデコード結果が出力され得るコードとして説明されている。これに限られず、特殊二次元コードは、読み取りの際の条件によって三通り以上のデコード結果が出力され得るコードであってもよい。また、特殊二次元コードは、そのような複数のデコード結果の出力を可能にするために、2個以上の特殊セルを含んでいてもよい。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10:二次元コード読取装置
12:操作部
14:表示部
16:撮像部
20:制御部
22:メモリ
100、200:二次元コード
40:ファインダパターン
42:アライメントパターン
44:データセル領域
50、150:特殊セル
60:汚れ
C:コード画像
CB:セルブロック
D1〜D26:データキャラクタに対応するセルブロック
E1〜E16:誤り訂正符号に対応するセルブロック
TP:対象部分

Claims (4)

  1. 複数の明色セルと複数の暗色セルとを二次元のマトリックス上に配置して構成される二次元コードを撮像する撮像部と、
    制御部と、を備えており、
    前記制御部は、
    前記撮像部によって撮像された前記二次元コードを表わすコード画像に基づいて、前記二次元コードに記録された情報のデコードを行うデコード部と、
    前記デコードが行われたことによってデコード結果が取得される場合に、前記デコードの過程で誤り訂正処理が行われたか否かを判断する、第1の判断部と、
    前記誤り訂正処理が行われたと判断される場合に、前記デコード結果に対応する複数のコードワードのうち、前記誤り訂正処理が行われた範囲である訂正ワードを特定する、第1の特定部と、
    前記コード画像のうち、前記訂正ワードに対応する範囲を表わす対象部分を特定する、第2の特定部と、
    前記対象部分の全部がセルを表わす特徴を有しているか否かを判断する、第2の判断部と、を備える、
    二次元コード読取装置。
  2. 前記第2の判断部は、前記対象部分に基づいて前記対象部分内の各部の明度を示す出力波形を取得し、取得された前記出力波形が前記セルを表わす特徴を示すか否かを判断することにより、前記対象部分の全部が前記セルを表わす特徴を有しているか否かを判断する、請求項1に記載の二次元コード読取装置。
  3. 前記第2の判断部は、前記対象部分に基づいて前記対象部分内の各部の明度を二値化した二値化データを取得し、取得された前記二値化データが前記セルを表わす特徴を示すか否かを判断することにより、前記対象部分の全部が前記セルを表わす特徴を有しているか否かを判断する、請求項1に記載の二次元コード読取装置。
  4. 前記制御部は、さらに、
    (a)前記対象部分の全部が前記セルを表わす特徴を有していると判断される場合には、前記デコード結果を出力せず、又は、前記デコード結果とともに報知情報を出力し、(b)前記対象部分の少なくとも一部が前記セル以外のオブジェクトを表わす特徴を有していると判断される場合には、前記デコード結果を出力する、出力制御部を備える、請求項1から3のいずれか一項に記載の二次元コード読取装置。
JP2019059024A 2019-03-26 2019-03-26 二次元コード読取装置 Active JP7200793B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019059024A JP7200793B2 (ja) 2019-03-26 2019-03-26 二次元コード読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019059024A JP7200793B2 (ja) 2019-03-26 2019-03-26 二次元コード読取装置

Publications (2)

Publication Number Publication Date
JP2020160759A true JP2020160759A (ja) 2020-10-01
JP7200793B2 JP7200793B2 (ja) 2023-01-10

Family

ID=72643433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019059024A Active JP7200793B2 (ja) 2019-03-26 2019-03-26 二次元コード読取装置

Country Status (1)

Country Link
JP (1) JP7200793B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7415671B2 (ja) 2020-03-05 2024-01-17 富士通株式会社 情報処理プログラム、情報処理装置および情報処理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009041321A (ja) * 2007-08-10 2009-02-26 Denso Wave Inc 真偽判定システム及び電気錠制御システム
US20160350568A1 (en) * 2015-05-27 2016-12-01 Victor Zazzu Two-dimensional (2-d) code generating method, detecting method, detecting apparatus, and anti-counterfeit label

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009041321A (ja) * 2007-08-10 2009-02-26 Denso Wave Inc 真偽判定システム及び電気錠制御システム
US20160350568A1 (en) * 2015-05-27 2016-12-01 Victor Zazzu Two-dimensional (2-d) code generating method, detecting method, detecting apparatus, and anti-counterfeit label

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7415671B2 (ja) 2020-03-05 2024-01-17 富士通株式会社 情報処理プログラム、情報処理装置および情報処理方法

Also Published As

Publication number Publication date
JP7200793B2 (ja) 2023-01-10

Similar Documents

Publication Publication Date Title
US11238255B2 (en) Method, device, and system for generating, repairing, and identifying an incomplete QR code
JP4531809B2 (ja) コード画像処理方法
JP4180497B2 (ja) コード種類判別方法、およびコード境界検出方法
AU2006227490B2 (en) Apparatus and process for two-stage decoding of high-density optical symbols
JP2006227796A (ja) バーコード読取り方法及びバーコード読取り装置並びにコンピュータプログラム
US20160379031A1 (en) High capacity 2d color barcode design and processing method for camera based applications
JP5847062B2 (ja) 画像処理装置
JP2020160759A (ja) 二次元コード読取装置
JP2020160961A (ja) 二次元コード読取装置、コンピュータプログラム、及び、二次元コード
JP5720623B2 (ja) 二次元コード読取装置
JP4335229B2 (ja) Qrコード認識装置、qrコード認識装置の制御方法、qrコード認識装置制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
JP3936436B2 (ja) 表認識方法
JP4874706B2 (ja) Qrコード読取装置
JP4398498B2 (ja) コード境界検出方法
US20150213322A1 (en) Image processing apparatus
JP2011076208A (ja) スタック型バーコード情報読取方法及びスタック型バーコード情報読取装置
JP2008021009A (ja) バーコード認識装置、方法及びプログラム
US7920737B2 (en) Code image processing method and code image processing apparatus
JP2007328672A (ja) 2次元コード復号装置、2次元コード復号方法及びプログラム
JP4122703B2 (ja) 画像処理装置
JP5482340B2 (ja) バーコード読取装置、バーコード読み取り方法およびバーコード読み取りプログラム
US10860827B2 (en) Image processing apparatus
JP2009272714A (ja) 画像処理装置、画像処理方法、プログラム及びプログラムを記録した記録媒体
US9451123B2 (en) Image processing apparatus
JP2008020947A (ja) バーコード領域判定装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220119

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221116

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221205

R150 Certificate of patent or registration of utility model

Ref document number: 7200793

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150