JP2009223499A - 2次元コード復元プログラム、及び、復元サーバ - Google Patents
2次元コード復元プログラム、及び、復元サーバ Download PDFInfo
- Publication number
- JP2009223499A JP2009223499A JP2008065879A JP2008065879A JP2009223499A JP 2009223499 A JP2009223499 A JP 2009223499A JP 2008065879 A JP2008065879 A JP 2008065879A JP 2008065879 A JP2008065879 A JP 2008065879A JP 2009223499 A JP2009223499 A JP 2009223499A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional code
- cell
- error
- mark
- data
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 94
- 230000008569 process Effects 0.000 claims abstract description 72
- 238000012937 correction Methods 0.000 claims description 21
- 238000003384 imaging method Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 5
- 230000010485 coping Effects 0.000 abstract 1
- 238000006243 chemical reaction Methods 0.000 description 49
- 238000012545 processing Methods 0.000 description 20
- 238000012795 verification Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 16
- 238000004886 process control Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 239000003086 colorant Substances 0.000 description 8
- 238000000605 extraction Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000556 factor analysis Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000012265 solid product Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Landscapes
- Editing Of Facsimile Originals (AREA)
Abstract
2次元コードに表現されたビット列を、多様な状況に対応しながら復元することを可能にする。
【解決手段】
2次元コードの復元に適用される値を変更可能なパラメータを有すること、及び、前記パラメータの値は、復元プロセスにおいて、予め用意された複数の値から選択されて適用されること、により実現する。
【選択図】 図14
Description
このように表示された2次元コードに対し、光学的な撮像装置を用いて画像データを取得し、当該画像データを解析することでビット列を復元することが可能となる。解析にはコンピュータを用い、画像データ上のセルの位置を求め、その位置でセルの表示を判定する。これにより、明らかになったセルの表示を基に、2次元コードに表現された前記ビット列を復元することができる。
セルの表示は、セルの概ね中心位置における諧調(又は濃度)の値から判定する方法が知られている(非特許文献1)。この方法では、セルの中心画素の諧調を事前に用意されたしきい値と比較して、しきい値より諧調が高い(濃度が高い)セルをマークセル、諧調が低い(濃度が低い)セルを空白セルと見なすことができる。
しきい値は、所定の領域に参照用の画像を表示しておき、その画像の諧調を基に算出する方法が知られている(特許文献1)。この方法を用いると、しきい値の信頼性が上がるため判定精度が向上する。
例えば、文字情報、画像情報、音声情報、暗号情報、コンピュータ上の命令コード、等のデジタル情報を、2次元コードとして画像表示装置上に表示し、撮像装置で読み取ることに使われる。また、前記デジタル情報を、用紙などのシート状記録媒体や、電子部品などの固形物表面に記録すること、等に使われる。
また、2次元コードに表現されるビット列に対し、所定の変換を施す技術が公開されている(特許文献2)。すなわち、例えば、暗号化処理を施すことで、第三者による不正な読み取りを防止できる。また、誤り訂正符号を用いることで、セル表示の誤判定により生じる読取エラーを抑制できる。
上述の背景により、2次元コードに対してもビット列を高密度に表示することが求められている。同時に、多様な状況に対応しながら、確実にビット列を復元することが求められている。
上記により、我々の周囲に存在するデジタル情報を、より簡便に、更に快適に取り扱うことが望まれている。
また、セルの表示にカラーを用いると、表示の種類が増える代わり、マーク有無の2種類だけを判定するモノクロの場合に比べて誤判定が生じ易くなる。その要因は複数考えられるが、その一例としては、複数の色成分の組合せによりセルの表示を構成する場合に、2次元コード復元時に得られる画像データ中の各々の色成分において、他の色成分の作用を受けて色彩が変動する現象が挙げられる。
2次元コードを復元する際に取得する画像データ中の2次元コードは、入出力条件に起因して乱れを含む可能性があり、その場合、復元エラーが生じ易くなる。画像の乱れの原因としては、2次元コード出力時において、例えば、出力装置による出力位置のずれ、出力濃度のずれ、表示面の湾曲、等がある。また、2次元コード入力時において、例えば、入力装置が持つ光学的な歪み、入力諧調のずれ、入力時の撮像角度の傾き、焦点ぼけ、等がある。
2次元的に配置した複数のセルに対する色成分の組み合わせによりビット列が表現された2次元コードに関し、当該2次元コードを含む画像データから前記ビット列を復元する2次元コード復元プログラムであって、
前記画像データを構成する複数の色成分を同時に利用して、セルの表示を構成する各々の色成分の有無を個別に判定すること、
を特徴とする。
セルのカラー表示は、当該表示を構成する複数の色成分のうち何れかの色成分に一定範囲の諧調が割り当てられていても良い。例えば、何れの色成分も含まない表示(白色)において、全ての色成分(シアン、マゼンタ、イエロー)に5%〜20%程度の諧調を付与すると良い。この場合、他の色成分の影響で生じる諧調変動の範囲(5%〜20%程度)で諧調が付与されることで、復元精度が向上する。
請求項1に記載の2次元コード復元プログラムにおいて、
予め定めた色彩で表示された複数の参照セルから、当該参照セルの色彩に関する情報を取得すること、
判定を行う各々の色成分において、当該色成分の有無によって分類された参照セルの情報を利用してセルの表示を判定すること、
を特徴とする。
参照セルに表示される色彩は、セルの表示に利用される全ての表示に対して用意されることが好ましい。例えば、シアン、マゼンタ、イエローの色成分の組合せで各セルが表示される場合、白色、シアン、マゼンタ、イエロー、レッド、グリーン、ブルー、黒色、の参照セルを用意すると良い。その際、黒色で表示された位置決め用のマーク等、他の用途で利用されるセルと兼ねていても良い。
請求項1に記載の2次元コード復元プログラムにおいて、
セルごとに周囲を空白領域で囲まれて表示されたマークの位置を、当該マークの領域と周囲の空白領域とのコントラストを基に特定し、当該位置において色彩の情報を取得してセルの表示を判定すること、
を特徴とする。
各セルにおける位置の特定と、当該位置における色彩の情報の取得とは、個別に実施すると良い。その際、位置の特定と色彩情報の取得は、各々に適した異なる画像データを対象として解析を行うと良い。例えば、位置の特定に対する画像データを、色成分を統合する等によって変換すると良い。この場合、各画素の値を位置決めに適したものにしたり、画素の値が減ることで計算負荷を抑制したり、することが可能となる。
2次元的に配置した複数のセルの表示によりビット列が表現された2次元コードに関し、当該2次元コードを含む画像データから前記ビット列を復元する2次元コード復元プログラムであって、
2次元コードの解読に係わるパラメータに適用される値が、前記画像データに応じて予め用意された複数の水準から選定されること、
を特徴とする。
セルの判定において、画像データを構成する複数の色成分を同時に利用して、セルの表示を構成する各々の色成分の有無を個別に判定する場合に、当該判定に対して前記パラメータを適用し、複数の水準から選定すると良い。パラメータとしては、例えば、判定に利用される判定式の係数を用いると良い。
また、セルの表示を判定する各々の色成分において、当該色成分の有無によって分類された参照セルの情報を利用する場合に適用すると良い。この場合、参照セルの色彩にずれが存在しても、適切な判定を実施することが可能となる。
請求項4に記載の2次元コード復元プログラムにおいて、
前記セルの判定に利用される指標は、当該セルにおけるマーク領域の諧調を、周囲の空白領域の諧調を用いて補正した値であること、
前記パラメータとして、諧調の補正に係わる複数の水準を用意すること、
を特徴とする。
判定に利用される指標としては、マーク領域の諧調Dmと空白領域の諧調Dvの差を利用すると良い。また、前記パラメータとしては、差を求める式の係数を用いて、それらの比重をを指定すると良い。例えば、指標を(Dm−P・Dv)として、パラメータPに複数の水準(0〜1.0)を用意すると良い。
請求項4に記載の2次元コード復元プログラムにおいて、
予め定めた色彩で表示された複数の参照セルから、当該参照セルの色彩に関する情報を取得すること、
前記参照セルの情報を検証することで、解読プロセスで生じたエラーを検出すること、
前記エラーが検出された場合に、パラメータの値を変更して再び解読プロセスを繰り返すこと、
を特徴とする。
参照セルの検証は、各参照セルの色彩の情報を、想定される色成分の有無を基に比較して行うと良い。例えば、各々の色成分において、当該色成分を含む参照セルと含まない参照セルの諧調の差を取る等により、色成分を含まないセルの方が諧調が大きい場合にエラーと判断すると良い。
エラーが検出された場合は、解読プロセスを中断してパラメータの値を変更すると良い。この場合、必要のない処理を施さないことで計算負荷を抑制できる。一方、エラーが検出されない場合は、解読プロセスを中断しなくて良い。解読プロセスが一定回数以上繰り返された場合には、プロセスを中断してエラーを出力すると良い。
参照セルの色彩を評価することで、乱れ状態が許容できない画像を排除しても良く、この場合、解読したビット列に誤りが含まれる確率を低減できる。
パラメータとしては、セルの位置の特定に関するものに適用すると良い。例えば、位置決め用のマークを検出する際に利用する判定式の係数に適用すると良い。また、例えば、セル領域を抽出する際に利用する判定式の係数に適用すると良い。
請求項4に記載の2次元コード復元プログラムにおいて、
2次元コードが表現する前記ビット列は、誤り検出を可能とする冗長ビットが付与されていること、
2次元コードを解読して得られるビット列に対して誤り検出を行い、解読プロセスで生じたエラーを検出すること、
前記エラーが検出された場合に、パラメータの値を変更して再び解読プロセスを繰り返すこと、
を特徴とする。
誤り検出には、公知の符号化技術である誤り訂正符号を利用すると良い。例えば、BCH符号や拡張BCH符号、リードソロモン符号等を用いると良い。この場合、2次元コードを解読して得られるビット列に誤りが含まれても、一定範囲であれば訂正可能である。
また、元データにおいて、所定のビットに固定した値(固定ビット)を設けておくことで、復元で得られるデータを検証して誤りを検出しても良い。例えば、元データの最初の数ビットを全て0に固定すると良い。この場合、固定ビットのビット数を増やすほど検出レベルが向上する。例えば、固定ビットとして、4〜20ビット程度のビット数を割り当てると良い。
エラーが検出された場合は、解読プロセスを中断してパラメータの値を変更すると良い。エラーが検出されない場合は、解読プロセスを中断しなくて良い。解読プロセスが一定回数以上繰り返された場合には、プロセスを中断してエラーを出力すると良い。
パラメータとしては、セルの表示の判定に関するものに適用すると良い。例えば、各々のセルにおける各色成分の有無の判定に利用される判定式の係数に適用すると良い。また、例えば、セルの判定に利用される指標として、セルのマーク領域の諧調を周囲の空白領域の諧調で補正する際の係数に適用すると良い。
2次元的に配置した複数のセルの表示によりビット列が表現された2次元コードに関し、当該2次元コードを含む画像データから前記ビット列を復元する、ネットワークに接続されたサーバであって、
ネットワークに接続されたクライアント端末から2次元コードの画像データを受信する画像データ受信手段と、
前記2次元コードの画像データから、2次元コードに表現されたビット列を解読する2次元コード解読手段と、
前記2次元コードの解読プロセスにおいて生じたエラーを検出するエラー検出手段と、
前記エラーが検出された場合に、エラーを解析するエラー解析手段と、
前記エラー解析手段で得られたエラー情報を、前記クライアント端末に送信するエラー送信手段と、
を有することを特徴とする。
請求項8に記載の2次元コード復元サーバにおいて、
前記エラー解析手段で得られたエラー情報に、ユーザがクライアント端末に接続されたカメラを用いて2次元コードを撮像する際の撮像アドバイスが含まれること、
を特徴とする。
プログラムを実行するコンピュータとしては、一般的に普及したもので良く、パーソナルコンピュータ、ワークステーション、メインフレームなどのコンピュータの他、携帯電話やPDAなどの電子機器に搭載したコンピュータであってもよい。また、このプログラムを実行するために特別に用意されたコンピュータであってもよい。
本発明の別の構成要素は、ネットワークに接続されたサーバであって、クライアント端末からの要求に応じて所定の動作を実行する。当該サーバとしては、一般的に普及したもので良く、セキュリティやバックアップ等、一般にサーバに期待される機能を備えていることが好ましい。
また、色成分ごとに判定を行うことで、画像データの色空間に関する変換等の処理をしなくても良く、解析に掛かる計算負荷を抑制できる。これにより、ユーザの待ち時間が低減する等の利点を有する。
例えば、画像面内に濃淡分布(端領域が暗くなる等)が存在する場合、周囲の空白領域による補正を強くすることで、分布の影響を低減できる。一方、画像のピントのずれ等によりセル上のマークの輪郭がぼけている場合、前記補正を弱くすることで、補正により生じる感度低下を抑制できる。
また、ユーザは、エラー要因を理解することで安心感を得ることができ、システムに対する不満を低減することが可能となる。
本形態を実現する装置は、図1に示されるように、サーバM01、コンテンツ登録装置M02、2次元コード取得装置M03、で構成される。これらの装置は、ネットワークへの通信手段を備える。
サーバM01、コンテンツ登録装置M02、2次元コード取得装置M03としては、一般に利用されている既存の装置を用いると良い。本形態において、コンテンツ登録装置M02として、PC(Personal Computer)を用いた。また、2次元コード取得装置M03として、撮像機能を有する携帯端末(カメラ付携帯端末)を用いた。ただし、コンテンツ登録装置M02として携帯端末を用いていも良い。また、2次元コード取得装置M03として画像入力機能を備えたPCを用いても良い。
サーバM01は、複数のユーザからの要求に応じて、複数の動作を同時に処理することが可能である。本形態において、サーバM01は、1台のサーバ装置によって、複数の役割(2次元コードの発行、復元、データベースの管理、等)を実行した。ただし、複数のサーバ装置を用意して、複数の役割を分散させて実現しても良い。すなわち、本発明のサーバは、2台以上のサーバ装置で構成されたサーバ群を含む。
本形態において、2次元コードを利用して、ネットワーク上で複数のユーザが電子データからなるコンテンツを共有する。例えば、ユーザAがコンテンツをサーバに登録すると同時に2次元コードを発行し、後に、別のユーザBが2次元コードを復元することで前記コンテンツを特定して取得する。
ユーザA、Bは上記の場合に限定されるものではなく、例えば、ある状況では、複数のユーザBがサーバに登録された同一のコンテンツを取得する。また、他の状況では、ユーザA、Bは同一人物であり、自分で登録したコンテンツを後に取得する。
本形態におけるコンテンツは、文字情報、画像情報(静止画及び動画)、音声情報、等の限定されない形式による電子データを対象とする。
文字情報としては、例えばURL(Uniform Resouce Locator)、個人データ(住所・氏名・電話番号)、メモ書き、メール文書、等の任意の書式で記述されたテキストデータを指す。テキストデータは、EUCコードや、ShiftJisコード、ユニコード、等の文字コードで表される。
画像情報としては、例えば、jpegやビットマップ等のデータ形式の静止画データを指す。また、例えば、mpegやwmv、avi等のデータ形式の動画データを指す。音声情報としては、例えば、mp3やwav等のデータ形式の音楽データを指す。
上記以外の例として、特定のアプリケーションにより作成された電子データを対象とする。例えば、ワープロソフトで作成されたデータや、表計算ソフトで作成されたデータ、スケジュール管理ソフトで作成されたデータ、等を指す。また、IDやパスワード等の認証データや、暗号化されたビット列である暗号データ、コンピュータ上の命令コード(実行形式のプログラム)、を対象とする。
本形態において、ユーザAはコンテンツを登録する際に、2次元コード復元時の動作を選定する。選定された動作は、動作種別としてサーバM01のデータベースに記録される。当該動作種別は、2次元コード復元時に参照され、サーバM01上のプログラムを介して実行される。
表1に本形態で用意した複数の動作種別と、各動作種別に割り当てた番号(動作種別番号)の例を示す。本形態の動作種別は、コンテンツの種類ごとに想定される動作を予め用意した。その際、同じ種類のコンテンツに対して複数の動作種別を設けた。
本形態の動作の第1例は、サーバM01は、2次元コード取得装置M03である携帯端末にコンテンツを送信する(A000)。
例えば、コンテンツが文字情報の場合、ユーザBは、携帯端末のディスプレイに表示させて読み取る(A001)。また、記述されたURLを指定して、携帯端末からアクセスする(A002)。
コンテンツが画像情報(静止画)の場合、携帯端末のディスプレイに画像を表示する(A011)。動画の場合は、動画データを再生する(A021)。音声情報の場合、携帯端末で音楽データを再生する(A031)。
本形態の動作の第2例は、サーバM01は、当該サーバM01内でコンテンツの登録を行う。
本形態において、ユーザBは、サーバM01内にホームページを有し、当該ホームページにコンテンツを登録する。その後、ユーザBは、ホームページにアクセスして利用する。
コンテンツが文字情報の場合、例えば、記述されたURLを、ホームページのブックマークリストに登録する(A102)。また、記述された個人情報(住所・氏名・電話番号)を、ホームページのアドレス帳に登録する(A103)。
コンテンツが画像情報の場合、画像(静止画)をホームページのアルバムに登録する(A111)。また、音声情報の場合、音楽データをホームページの音楽リストに登録する(A131)。
本形態の動作の第3例は、サーバM01は、他サーバM11にコンテンツを送信する。
第3例において、ユーザBのホームページはサーバM11で管理される。当該サーバM11は、サーバM01とは異なる管理主体(例えば、一般のネットワークサービスプロバイダ)によって管理される場合を想定した。
サーバM01は、コンテンツと同時に動作種別をサーバM11に送信する。サーバM11は、当該動作種別を参照し、第2例と同様の動作を処理する。すなわち、サーバM11上のホームページへのブックマーク登録(A202)や、アドレス帳登録(A203)、アルバム登録(A211)、音楽登録(A231)、等を行う。
データベースは、行をレコード、列をフィールドとするテーブル形式で構成され、各レコードに複数のフィールドを設けて情報を記録する。本形態のデータベースは、汎用的な言語であるSQLで記述した。また、一般に普及したアプリケーションであるSQLightを利用した。ただし、アプリケーションとしては、MySQLや、PostgreSQL、Oracle、等を用いても良い。
本形態で使用するデータベースの例を表2に示す。本形態におけるデータベースは、レコード番号、ヘッダ番号、動作種別、保存アドレス、ステータス、を記録するフィールドを有する。
ヘッダ番号のフィールドはヘッダ番号(D10)を記録した。
動作種別のフィールドは、2次元コードが復元された後のコンテンツに対する動作の種別を記録した(表1)。
保存アドレスのフィールドは、コンテンツの保存アドレスを記録した。当該保存アドレスは、サーバM01内のストレージ領域や、サーバM01からアクセス可能な他サーバ内のストレージ領域を対象とする。
ステータスのフィールドは、2次元コードの発行・停止状況を記録しておく。これにより、本形態では、ステータス=「1」は復元可、ステータス=「0」は不可とした。ステータス=「1」(復元可)は、2次元コードを発行し、かつ、停止していない場合に記録した。2次元コードを発行していない場合、及び、発行後に停止した場合は、ステータス=「0」(復元不可)とした。2次元コード発行後の停止は、使用期限等、使用する際の制約に基づいて実施される。
データベースには、上記以外のフィールドを設けても良い。これにより、例えば、コンテンツの登録日や有効期限等の日時情報を記録する。また,例えば、ログ情報を記録しても良い。更に、例えば、コンテンツに関係するファイル/フォルダの保存アドレスを記録しても良い。
本形態で使用した2次元コード101の全体像を図2に示す。本形態において、セルは表示面に正方格子状に配列され、8×8セル配列とした。ただし、セル数は8×8セルに限定されるものではなく、例えば、12×12セル等であっても良い。
2次元コード101(図2)における、位置決めマーク020、及び、参照マーク030、の配置を図3に表示した。図3に示されるように、位置決めマーク020と参照マーク030は、予め定められたセル位置に、常に同一の色彩で表示される。一方、データマーク010は、生成される2次元コードごとに変動して表示される。すなわち、点線枠で示された各セル(データセル)に、ビット列に応じたカラーのデータマークが表示される。
ただし、セルの配列形状やマークの形状は上記に限定されない。例えば、セル配列は、縦と横で異なるセル数からなる長方形状でもよい。また、例えば、セル配列を六角格子状としてもよい。また、マークの形状を円形としても良い。
単一の色成分における2次元コードの一部を、図4に拡大して表示した。図4に示されるように、各色成分のセルは、マークを有するセル(マークセル001)、又は、マークを有しないセル(空白セル002)の何れかで表現される。カラーのマークは、各色成分のマーク有無を組み合わせることで形成される。
各セル001及び002は、図5に示されるように、マークが表示される領域(マーク領域003)と、マーク表示されない領域(空白領域004)で構成される。各セルのデータマークは、本形態のように周囲に空隙を設けて表示されることで、隣接するセルのデータマークから分離される。
本形態では、図6に示されるように、連続して配置された2セル(横方向、縦方向)から、カラー表示の組み合わせを取得して点数付けを行った。表3に、本形態の点数付け(2セル)を示す。表3の行、列に示される色彩(W、C、M、Y、R、G、B、K)は、図6の2セル(10P、010Q)におけるカラー表示に対応する。
表3の点数付けを利用することにより、セルの表示が黒色となるのを避けた。特に、連続した2セルが両方とも黒色となるのを避けた。同様に、セルの表示が白色となるのを避けた。特に、連続した2セルが両方とも白色となるのを避けた。また、黒色や白色以外でも連続した2セルが同色になるのを避けた。
表4の点数付けを利用することにより、辺上のセルの表示が白色となるのを避けた。同様に、辺上のセルの表示が黒色となるのを避けた。
位置決めマーク020は、2次元コードの位置の基準として、特定のセルに固定されて表示される。位置決めマーク020は複数存在することが好ましく、本形態では、図3に示されるように、四角形からなるコード領域の四隅にそれぞれ配置した。位置決めマーク020の画像パターンは、データマークと同一形状・同一サイズとした。
本形態において、位置決めマーク020は黒色に、周囲の空白領域は白色に、各々表示した。すなわち、位置決めマークは、出力装置が持つ全ての色成分に対して、周囲の空白領域との間にコントラストを設けて表示した。
参照マーク030は、セル表示を判定する際の参照情報を取得するため、特定のセルに所定の色彩で表示される。本形態において、図3に示されるように、コード領域の四隅付近に、白色030W、シアン030C、マゼンタ030M、イエロー030Y、レッド030R、グリーン030G、ブルー030B、の参照マークを表示した。その際、参照マーク030は、位置決めマークと同様、データマークと同形状・同サイズの画像パターンとした。
本形態において、黒色の参照マークは特に表示しなかった。ただし、本形態の位置決めマーク020は、データマークと同形状・同サイズであり、位置決めマーク020が参照マークを兼ねた。黒色の参照マークを表示する場合には、前記位置決めマークと同形状・同サイズ・同色の画像パターンとすると良い。
お化粧マークは、該当セルにおける他の色成分のマーク有無に応じて表示を決定した。また、周囲のセルの表示の組合せに応じて表示を決定した。表示の決定は、お化粧マーク有/無を想定して各々評価を行い、好適な方を選定した。
本形態において、お化粧マークを有するセルと当該セルに隣接したセルの表示の組合せを、表3に示されるテーブルを用いて点数付けした。当該点数付けは、隣接する上下左右のセルに対して行い、点数を足し合わせて合計が少ない方を好適と見なした。隣接セルは、図6に示されるように、横方向、又は、縦方向に連続して配置され、カラー表示の組み合わせを取得して評価した。
ただし、お化粧マークの有無は、周囲のセルを評価せずに選定することも可能である。例えば、該当セルにおいて、他の色成分が存在する場合を「マーク無し」に、何れの色成分も存在しない場合を「マーク有り」に選定しても良い。
本形態では、図7に示されるように、データセルの一部対してお化粧マークを割り当てた。これにより、データマークと混在して、お化粧マーク同士の隣接を避けて配置した。その際、お化粧マークは、同一セルにおいて単一の色成分だけを割り当てた。また、複数の色成分に対して概ね均等に割り当てた。本形態では、計18のお化粧マークを、シアン成分040C、マゼンタ成分040M、イエロー成分040Y、に各々6ずつ割り当てた。これらの色成分は、面内に分散させて配置した。
セルに表示されるマークに対し、特定のカラーに対して諧調の補正を施した。当該補正は、該当セルのカラー表示に応じて諧調を決定した。すなわち、同一セルにおける他の色成分のマーク有無から決定した。表5に、各々の色彩に対して、本形態で利用した色成分ごとの諧調を示す。
他セルの表示に対比して目立ち易い色彩(黒色、等)に補正を施し、諧調を低い方向に変化させることも有効である。例えば、セルの表示が黒色の場合、各色成分の諧調を、5%〜20%程度低くして補正しても良い。例えば、黒色の諧調(1,1,1)を各色成分で10%低くして、(0.9,0.9,0.9)とすると良い。
本形態を実現するプロセスは、2次元コードの発行を処理する2次元コード発行プロセス、及び、2次元コードの復元を処理する2次元コード復元プロセス、で構成される。
2次元コード発行プロセスでは、コンテンツ登録装置M02を操作するユーザAからの要求により、サーバM01のストレージ領域にコンテンツを保存する。その際、サーバM01において、コンテンツの保存アドレスに関連付けられた2次元コード100を発行し、当該関連付けをデータベース(表2)を用いて管理する。ユーザAは、2次元コード100を受信後、目的に応じて利用する。
2次元コード復元プロセスでは、ユーザBは、2次元コード取得装置M03を用いて2次元コード100の画像データを取得し、サーバM01に送信する。サーバM01は、受信した画像データを解析した後、前記データベースを参照して、2次元コード100に関連付けられたコンテンツを特定する。特定されたコンテンツは、ユーザBによって利用される。
本形態における2次元コード発行プロセス200を図8に示す。本形態の2次元コード発行プロセス200は、データ入力部210、2次元コード生成部220、2次元コード出力部230、により構成される。
データ入力部211は、ビット列を取得し、2次元コード生成部220に入力する。本形態のデータ入力部210は、データ入力手段211で構成される(図8)。データ入力手段211は、サーバM01において予め用意したプログラムを実行することで実現した。本形態で扱うビット列は、コンピュータが扱う情報の最小単位であるビットの集合(ビット列)である。
本形態のデータ入力手段211は、前記ビット列として、データベースのレコード番号D00を取得する。レコード番号D00は、データベースのレコードを特定する。
本形態において、レコード番号D00は、ビット列を小さい番号から順に生成し、データベースに割り当てて記録する。その後、2次元コード発行の際に、未使用のレコード番号D00を順に選択する。発行される2次元コードは、レコード番号D00と関連付けられることで、データベースを用いて管理される。
2次元コード生成部220は、データ入力部210から受け渡されたビット列を基に、2次元コードの画像データを作成する。その後、当該画像データを2次元コード出力部230に受け渡す。
本形態の2次元コード生成部220は、図8に示されるように、データ変換手段221、エンコード手段222、画像作成手段223、画像変換手段224、で構成される。これらの手段は、サーバM01において、予め用意したプログラムを実行することで実現した。
以下、データ変換手段221、エンコード手段222、画像作成手段223、画像変換手段224、について記述する。
データ変換手段221では、データベースのレコード番号D00を基に、2次元コードに埋め込むコードデータD20を取得する。図9に、レコード番号D00を変換してコードデータD20を取得する一連のフローを示した。以下、当該フローについて記述する。
レコード番号D00(10進)は、2進ビット列に変換された後、処理C00を介して冗長ビットが付加され、データD01が生成される。本形態では、当該冗長ビットを、複数のセル表示の候補に対して割り当てた。セル表示として選定されたビット列は、データベース120に記録される。付加される冗長ビットは一定の桁数からなり、本形態では、当該冗長ビットに、データD01の上位10ビットを割り当てた。
[暗号化C01]
データD01は、暗号化処理C01が施され、データD02が生成される。本形態において、暗号技術としては、標準暗号化方式であるDES(Data Encryption Standard)や、トリプルDES、AES(Advanced Encryption Standard)、等を利用すると良い。
[誤り訂正符合C02]
データD02は、誤り訂正符号化処理C02が施され、データD03が生成される。本形態において、誤り訂正符号としては、BCH(Bose−Chaudhuri−Hocquenghem)符号や、拡張BCH符号、リードソロモン符号、等を利用すると良い。誤り訂正符号は、全体の符号ビット数n、情報ビット数k、ハミング距離の最小値d、に対して予め定められた組合せ(n,k,d)で用意される。
[ビット位置変換C03]
データD03は、ビット位置変換処理C03が施され、データD04が生成される。当該処理では、データD03の各ビット位置を入れ替えた。本形態のビット位置変換は、複数の変換規則を用意し、ヘッダ番号D10と対応付けてサーバM01に記憶した。ビット位置の変換規則としては、所定のランダム化アルゴリズムを利用してランダム化した。
ヘッダ番号D10は、ビット位置変換処理C03で用いた変換規則を特定する。ただし、本形態では、ヘッダ番号D10の一部のビットを変換規則の識別に割り当てた。残りのビットは、バージョン番号の管理に割り当て、将来の拡張性を確保するため固定した。
[暗号化C11]
ヘッダ番号D10は、暗号化処理C11が施され、データD11が生成される。本形態において、暗号化処理C11としては、公知の技術である共通鍵暗号化処理を施した。
[誤り訂正符号C12]
データD11は、誤り訂正符号化処理C12が施され、データD12が生成される。
上記プロセスを通して取得されたデータD04、及び、データD12は結合され、コードデータD20が取得される。本形態において、前記2つのビット列の結合において、各ビット位置をランダムに割り当てた。ただし、結合規則は固定され、サーバM01に記憶した。
エンコード手段222では、データ変換手段221により得られるコードデータD20を基に、各セルのカラー表示を決定する。本形態におけるセル表示決定の概念図を図10に示す。
図10において、コードデータD20の各ビットを、予め定めた規則により、シアン、マゼンタ、イエローの各色成分に分配した。また、色成分ごとにビットをセルに割り当て、各セルのマーク有り/無しを決定した。その際、各ビットの「1」を「マーク有り」に、「0」を「マーク無し」に対応させた。
その後、各色成分のマーク有無(110C、110M、110Y)を重ね合わせ、各セルのカラー表示(110)を決定した。すなわち、シアンC、マゼンタM、イエローYの色成分を組み合わせることで、シアンC、マゼンタM、イエローYの他、レッドR(=M+Y)、グリーンG(=C+Y)、ブルーB(=C+M)、及び、黒色K(=C+M+Y)を決定した。また、何れの色成分も有しない白色Wを決定した。
また、エンコード手段222では、予め定められたデータセルの一部において、お化粧マークの表示を決定した。すなわち、該当セルにおける他の色成分、及び/又は、周囲のセルの表示に応じて、お化粧マークの有無を決定した。
本形態では、2次元コードの全体64セル(=8×8セル)のうち、位置決めマーク020に4セル(4箇所)を、参照マーク030に7セル(W、C、M、Y、R、G、B)を各々割り当て、データセルに53セルを割り当てた。
コードデータD20に対しては、3色成分を組み合わせて最大159ビット(=53セル×3色成分)の割り当てが可能となる。ただし、本形態においては、お化粧マークに一部のビット(18ビット)を割り当て、コードデータD20に対して141ビット(=159ビット−18ビット)を割り当てた。
画像形成手段223では、エンコード手段222で得られた各セルのカラー表示を基に、2次元配列(Row,Column)の画素で構成された画像データを作成する。本形態においては、50×50画素の画像データを作成した。
画像データ中の各画素は、(シアンC,マゼンタM,イエローY)の色成分の値0〜1を有し、当該色成分の組み合わせによりカラーを表現した。例えば、各画素において、シアンは(1,0,0)、レッドは(0,1,1)、黒色は(1,1,1)、として表現した。
本形態の単一の色成分(シアンC)に関する画像データの例として、図11にマークセル001Cを表示した。本形態のマークセル001Cは、図11に示されるように、5×5画素で構成され、中央の3×3画素をマーク領域003C、マーク領域の周囲1画素領域を空白領域004C、とした。各画素006には、マーク領域に「1」を、空白領域に「0」を、各々割り当てた。
本形態においては、白色のセル(0,0,0)のマーク領域は、各色成分の値を(0.1,0.1,0.1)とした。また、イエローのセル(0,0,1)は、各色成分の値を(0.1,0.1,1)とした。
図12に、白色、及び、イエローのセルにおいて、マークを含まない単一の色成分(シアンC)の例を表示した。図12に示されるように、白色、及び、イエローのセル(空白セル002C)においては、マーク領域の諧調に補正を施し、諧調0.1を割り当てた。
画像変換手段224では、画像形成手段223で得られた画像データを、一般に普及した画像形式に変換する。本形態では、GIF形式に変換した。ただし、画像形式として、PPM(Portable Pix Map)形式や、ビットマップ形式、Jpeg形式、GIF形式、等でも良い。
上記画像形式では、一般に、色成分ごとに多段階の階調値を有し、(レッドR,グリーンG,ブルーB)の色成分でカラーを表現する。本形態では、RGB24ビットカラー(RGB各色256階調表現)の画像形式に変換した。
単一の色成分(シアンC)に関する図11の例では、各画素におけるCMY成分の値は、RGB成分の諧調に変換される。すなわち、マーク領域はシアン成分「1」からレッド成分「0」に、空白領域はシアン成分「0」からレッド成分「255」に、各々変換される。また、空白セルの色彩補正(シアン成分)に関する図12の例において、マーク領域はシアン成分「0.1」からレッド成分「229」に変換される。
2次元コード出力部230は、2次元コード生成部220で作成された2次元コードの画像データを、コンテンツ登録装置M02に送信して出力する。
本形態の2次元コード出力部230は、図8に示されるように、2次元コード出力手段231で構成される。2次元コード出力手段231は、サーバM01において、予め用意したプログラムを実行することで実現した。また、2次元コード出力手段231の通信には、既存の通信技術を利用した。
本形態において、2次元コードは、コンピュータに接続された画像表示装置に表示される場合を想定した。また、画像形成装置により、シート状記録媒体や固形物表面に出力して表示される場合を想定した。
例えば、WEBページに2次元コードを表示してネット上に公開し、アクセスしたPCのディスプレイに表示される。また、例えば、テレビ放映の映像に2次元コードの表示領域を設けることで、テレビのディスプレイに表示される。
例えば、PCに備えられたインクジェットプリンタを用いて、2次元コードは用紙に出力される。また、例えば、印刷機を用いて、チラシや名刺、包装紙、等の印刷物に出力される。更に、例えば、製造された固形製品の表面に出力されても良い。
本形態の2次元コード発行プロセスにおいて、サーバM01、及び、コンテンツ登録装置M02、における動作と、当該装置間でなされる通信の例を、以下、図13を用いて説明する。
S102:コンテンツ登録装置M02は、ユーザAの指示によりサーバM01のURL(Webページ)にアクセスする。
S103:サーバM01は、コンテンツ登録装置M02からのアクセスに対して、入力画面を返す。
S104:ユーザAは入力画面において、コンテンツの指定と当該コンテンツに対する動作種別の選択を行う。コンテンツ登録装置M02は、コンテンツ及び動作種別をサーバM01に送信する。
S105:サーバM01は、受信したコンテンツをストレージ領域に保存する。また、データベースのレコードを割り当て、コンテンツの保存アドレス(例えば「file://storage/00…01」)、及び、選択された動作種別を、所定のフィールドに格納する。
S106:サーバM01は、前記レコードのレコード番号D00をコードデータD20に変換し、当該コードデータを表現した2次元コードの画像データを生成する。また、当該画像データをコンテンツ登録装置M02に送信する。サーバM01による当該動作は、前記2次元コード発行プロセスにより実現される。
S107:コンテンツ登録装置M02は2次元コードの画像データを受信した後、ユーザAは、当該2次元コードを表示させて利用する。
本形態における2次元コードの復元プロセス300を図14に示す。本形態の2次元コード復元プロセス300は、2次元コード入力部310、2次元コード解読部320、データ出力部330、により構成される。
2次元コード入力部310は、2次元コードの画像データを2次元コード取得装置M03から受信して取得し、2次元コード解読部320に受け渡す。
本形態の2次元コード入力部310は、図14に示されるように、2次元コード入力手段311で構成される。2次元コード入力手段311は、サーバM01において、予め用意したプログラムを実行することで実現した。
本形態の画像データは、2次元コード取得装置M03を用いてユーザBにより取得された後、ネットワークを介してサーバM01に送信される。サーバM01は受信した画像データを、サーバM01内のメモリに記憶する。サーバM01と2次元コード取得装置M03との通信には、既存の通信技術を利用した。
本形態の2次元コード取得装置M03は、CCD(Charged Coupled Device)を用いてデジタル画像を取得する。2次元コード取得装置M03としては、カメラ機能(例えば、240×320画素、RGB24ビットカラー)を備えた携帯端末が好適である。また、2次元コード取得装置M03としては、フラットベットスキャナ(例えば、600dpi、RGB24ビットカラー)であっても良い。
携帯端末のカメラで撮像された場合には、2次元コードの画像データは、当該携帯端末の通信手段を用いて送信されると良い。また、フラッドベットスキャナでスキャンされた場合には、当該フラットベットスキャナに接続されたPCの通信手段を用いて送信されると良い。
本形態で扱う画像データは、2次元コードの発行プロセス200と同様、各画素が複数の色成分で構成され、多段階の階調を有する。これにより、例えば、(レッドR,グリーンG,ブルーB)の加法混色でカラーを表現する。本形態では、Jpeg形式や、GIF形式、PPM形式、ビットマップ形式、等の限定されない画像形式を対象とした。
単一の色成分(レッドR)に関する画像データ(256階調)の例を、図15に表示した。図15において、マークセル001Rを表示した。
画像データ中のマークセル001Rは、図15に示されるように、入出力時のノイズの影響により2次元コード生成時の画像(図11)からの変動を有する。これにより、各画素007において、マーク領域:28〜128程度、空白領域:102〜204程度、の諧調からなる。
2次元コード解読部320は、2次元コード入力部310で取得した画像データにおいて2次元コードを解読する。その後、解読して得られたビット列をデータ出力部330に受け渡す。
本形態の2次元コード解読部320は、図14に示されるように、画像変換手段321、位置決め手段322、セル判定手段323、デコード手段324、データ変換・検証手段325、で構成される。各手段は、サーバM01において、予め用意したプログラムを実行して実現した。
以下、画像変換手段321、位置決め手段322、セル判定手段323、デコード手段324、データ変換・検証手段325、について記述する。
画像変換手段321は、2次元コード入力部310から入力された画像データを、位置決め手段322とセル判定手段323の解析に適した画像に変換する。当該変換により、位置決め手段322で利用する位置決め用画像データ、及び、セル判定手段323で利用するセル判定用画像データ、を取得する。得られた画像データは、サーバM01のメモリ領域に記憶した。
当該変換は、数1に表される数式を用いて実施した。数1は、画素(Row,Column)における各色成分の値の変換を意味する。
当該変換は、数2に表される数式を用いて実施した。数2において、Max(x,y,z)は、3つの値(x,y,z)から最大の値を選択する関数である。
位置決め手段322は、画像変換手段321から入力された位置決め用画像データにおいて位置決めマークを検出し、2次元コードの位置を特定する。
本形態の位置決め手段322は、図16に示されるように、コード領域抽出P101、画像情報取得P102、コード領域走査P103、位置決めマーク選定P104、の各ステップで構成される。これらのステップを実現する手段として、サーバM01に実行プログラムを用意した。
以下、位置決め手段322の各ステップについて記述する。
コード領域抽出P101のステップでは、画像データから2次元コード全体を含む領域を抽出する。その際、画像変換手段321で得られた位置決め用画像データに対して処理を行った。本形態のコード領域抽出P101は、以下の方法により実施した。
本形態では、コード領域の判定に数3を用いた。
数3におけるP1は、位置決めパラメータであり、プロセス制御手段326により管理される。
Vc、及び、Vsは、図17(拡大図)に示されるように、セル領域として想定される領域から複数の諧調を取得して算出した。これにより、マーク領域031、及び、空白領域032(マーク間の中間)の画素から諧調を取得した。DmaxとDminは、セル領域030から取得した諧調の最大値と最小値を表す。また、関数Fmc()は、コード領域のセル(計64セル)に対する平均を意味する。同様に、関数Fms()は、周囲1セル幅で想定した空白領域のセル(計36セル)に対する平均を意味する。
画像情報取得P102のステップでは、コード領域抽出P101のステップで抽出された領域から画像情報を取得する。その際、画像情報取得P102の処理は、画像変換手段321で得られた位置決め用画像データに対して行った。本形態の画像情報取得P102は、以下の方法により実施した。
図18に示されるように、通常、諧調の分布には、マーク領域と空白領域に対応する2つのピークが存在する。本形態の画像情報は、各ピークの諧調を求め、マーク領域の指標Mm、及び、空白領域の指標Mv、を定めた。
コード領域走査P103のステップでは、コード領域抽出P101のステップで抽出された領域を走査し、位置決めマークの画像パターンを検出する。その際、コード領域走査P103の処理は、画像変換手段321で得られた位置決め用画像データに対して行った。本形態のコード領域走査P103は、以下の方法により実施した。
照合パターン008は、マーク領域とその周囲の空白領域で構成される。本形態の照合パターン008としては、3×3画素のマーク領域の周囲に1画素の空白領域を想定した全体で5×5画素のパターンを用いた(図19)。
Mm及びMvは、画像データに応じた変数で、画像情報取得P102のステップで得られた画像情報(Mm、及び、Mv)を利用した。
Sm及びSvは、許容レベルを表す変数で、本形態では、MmとMvを用いて「Sm=Sv=Mm−Mv」とした。
巣4におけるP2は、位置決めパラメータであり、プロセス制御手段326により管理される。
位置決めマーク選定P104のステップでは、コード領域走査P103のステップで検出されたマークの中から位置決めマークを選出する。これにより、特定された位置を位置データとして取得する。本形態において、位置決めマーク選定P104は、以下の方法により実施した。
4隅の選出において、図22に示されるように、検出位置を通る傾き「−1」(Column軸から135度)、及び、傾き「1」(Column軸から45度)の直線(L1〜L4)を想定し、検出位置の集合からRow軸切片が最小/最大の配置を選定した。
図22において、「(Row座標)+(Column座標)」が最小となる直線L1から左上位置021を、「(Row座標)−(Column座標)」が最小となる直線L2から右上位置022を、「(Row座標)−(Column座標)」が最大となる直線L3から左下位置023を、「(Row座標)+(Column座標)」が最大となる直線L4から右下位置024を、各々選出した。
セル判定手段323は、画像変換手段321から入力されたセル判定用画像データにおいて、位置決め手段322で取得した位置データを利用して、各セルの表示を判定して特定する。
本形態のセル判定手段323は、図23に示されるように、セル領域算出P201、セル領域走査P202、参照情報取得・検証P203、セル表示判定P204、の各ステップで構成される。これらのステップを実現する手段として、サーバM01に実行プログラムを用意した。
セル領域算出P201のステップでは、位置決め手段322で取得した位置データを用いて、各セル領域を算出する。本形態のセル領域算出P201は、以下の方法により実施した。
セル領域走査P202のステップでは、画像データにおいて各セル領域を走査することで、色成分ごとにセルの諧調を取得する。その際、セル領域として、セル領域算出P201のステップで取得した領域を用いた。本形態のセル領域走査P202は、以下の方法により実施した。
本形態では、前記セル指標を色成分ごとに取得した。すなわち、(シアンC,マゼンタM,イエローY)のセル指標を取得した。その際、マーク位置の検出には数5を用い、セル指標(Jmc,Jmm,Jmy)を取得した。得られたセル指標(Jmc,Jmm,Jmy)は、サーバM01のメモリ領域に記憶した。
数5におけるP3は、セル判定パラメータであり、プロセス制御手段326により管理される。
セル領域走査P202に関する一連のプロセスを、図24のフローチャートに示した。図24に示されるように、各色成分のセル指標を全てのデータセルから取得した。
参照情報取得・検証P203のステップでは、予め表示が固定されたセルから参照情報を取得する。その際、セル領域走査P202のステップで取得したセル指標を利用した。また、取得した参照情報を検証し、想定される2次元コードの妥当性を評価した。
本形態の参照情報の取得は、セル領域走査P202で位置を決定するステップと、当該位置においてセル諧調を取得し、参照情報として取得するステップ(参照情報取得・検証P203)と、を別のステップに分けて実施した。
本形態の参照情報取得・検証P203は、以下の方法により実施した。
取得する参照情報は、複数の色成分のセル指標で構成される。本形態においては、例えば、ある色成分の参照マークRxから(Rxc,Rxm,Rxy)として、CMY成分の値を取得した。取得した参照情報は、サーバM01のメモリ領域に記憶した。
図25において、各CMY成分の値を軸として構成されるCMY色空間に、参照情報(Rw,Rc,Rm,Ry,Rr,Rg,Rb,Rk)をプロットした。入出力時の影響を受けた参照情報は、図25に示されるように、各頂点を結ぶ立体図形が正立方体とはならずに歪みを有する。
表6に、各色成分に対して、該当する色成分の有/無の組合せを、それ以外の色成分の有/無が共通となるように分類して表示した。
セル判定手段323の参照情報取得・検証P203のステップで検出されたエラーは、プロセス制御手段341に出力した。
セル表示判定P204のステップは、各セルを判定して表示を特定する。その際、セル領域走査P202のステップ取得したセル指標、及び、参照情報取得・検証P203のステップで取得した参照情報を利用した。
本形態のセル表示の判定は、セル領域走査P202で位置を決定するステップと、当該位置においてセル諧調を取得し、表示を判定するステップ(セル表示判定P204)と、を別のステップに分けて実施した。
本形態のセル表示判定P204は、以下の方法により実施した。
(xi,yi,zi)は、表6に示された組合せにより、判定の対象となる色成分の有/無で分類された2つの参照情報を基に算出した。Σは、表6に示された4つ全ての組合せに対して和を計算した。
数7に、(xi,yi,zi)の算出に利用した数式を示す。
数7におけるP4は、セル判定パラメータであり、プロセス制御手段326により管理される。
図26の判定面は、表8に示される組合せにより、判定する色成分の有無で参照情報を2つの集合に分類する。これは同時に、図26の判定面が、他の色成分の組合せが同じ4組(Rw,Rc)、(Ry,Rg)、(Rm,Rb)、(Rr,Rk)の各2点間を結ぶ線分と交わる(I1、I2、I3、I4)ことを意味する。
判定面は、図26に示されるような平面の場合に限定されない。例えば、2次曲面でも良く、その場合の判定式は2次式となる。
デコード手段324は、セル判定手段323で特定されたセルの表示を、予め定められた規則に基づいてビット列に復元する。ビット列への復元は、エンコード手段221と逆の処理を施すことで実現した。本形態におけるビット列復元の概念図を図28に示す。
図28において、色成分ごとに特定されたセル表示(110C、110M、110Y)に対し、「マーク有り」を「1」に、「マーク無し」を「0」に、各々対応させた。その際、エンコード手段221で用いた割り当て規則を利用し、逆のプロセスによりコードデータD20を取得した。
データ変換・検証手段325は、デコード手段324で取得したコードデータD20から、データベースのレコード番号D00を取得する。データ変換・検証手段325は、データ変換手段222と逆の処理を施すことで実現した(図9)。ただし、コードデータD20は、データエラーを含む可能性がある。
データD02は、暗号の復号化処理(C01)が施され、データD01が取得される。取得されたデータD01は、2次元コード発行時に付加した冗長ビットを利用してデータエラーを検証する。本形態においては、データベース120に記録されたビット列と、ビット列D01の上位10ビットとの一致を検証した。冗長ビットが一致しない場合は、データエラーとして誤り検出する。
データ変換・検証手段325において検出されたエラーは、プロセス制御手段341に出力した。
データ出力部330は、2次元コード解読部320で得られたビット列を出力する。本形態において、データベース120のレコード番号D00を、データベース120の管理プログラムに出力した。また、出力したレコード番号D00をデータベース120と照合し、不整合がある場合にエラーとして検出した。
本形態のデータ出力部330は、図14に示されるように、データ出力手段331で構成される。データ出力手段331は、サーバM01において、予め用意したプログラムを実行することで実現した。データ出力手段331における2次元コードの解読とデータベースの管理は、異なるコンピュータで処理しても良く、この場合、コンピュータ間で情報を送受信する。その際の通信には、既存の通信技術を利用する。
動作の第1例:携帯端末に送信(表1:A000)の例では、コンテンツをメール機能を用いて返信した。コンテンツは、2次元コード取得装置M03である携帯端末が受信した後、ディスプレイに表示される等してユーザに利用される。また、一般のデジタル情報として、ユーザによる加工や、他の装置への転送、等が施されても良い。
本形態のデータベースは、総レコード数のうちステータス=「1」(復元可)のレコード数を制限した。これにより、少なくとも10ビット以上のレコードをステータス=「0」(復元不可)とした。この場合、エラー検出が可能となり、レコード管理のセキュリティが確保される。
データ出力手段331で検出されたエラーは、プロセス制御手段341に出力した。
プロセス制御部340は、復元プロセスで検出されたエラーの処理を制御する。その際、解析パラメータを変更して復元プロセスを繰り返すことで、エラー回避を試みる。エラー回避不能の場合は、2次元コードを送信した2次元コード取得装置M03にエラーを出力する。
本形態のプロセス制御部340は、図14に示されるように、プロセス制御手段341で構成される。プロセス制御手段341は、サーバM01において、予め用意したプログラムを実行することで実現した。
画像データ中の2次元コードの回転角度を検証するため、回転角度P0を、位置決めパラメータとして用いた。すなわち、水準1の場合は回転させず、水準2の場合は時計方向に90°、水準3の場合は180°、水準4の場合は270°、時計回りに回転させて、それぞれの参照情報を評価した。本形態のように、位置決めマークが回転対称に配置された場合であっても、前記参照セルの表示を回転対称とならない(回転非対称)ように配置し、かつ、2次元コード復元時に参照セルを検証することにより、画像データ中の2次元コードの回転方向を特定することを可能とする。
表11に、位置決めパラメータ(P1及びP2)の設定順序を表示した。ただし、位置決めパラメータP0の水準1〜4の繰返しは、表11の設定(繰返し順1〜5)の各々に対して適用した。本形態においては、表11に示された一連の設定(繰返し順1〜5)が終了した場合は、位置決めの繰返しを終了とした。
表12に、セル判定パラメータ(P3及びP4)の設定順序を表示した。本形態においては、表12に示された一連の設定(繰返し順1〜5)が終了した場合は、セル判定の繰返しを終了とした。
エラー要因の解析には、表13の判定条件を用いた。判定条件を満たす場合に、表9の「エラー要因」、及び/又は、「撮像アドバイス」、を取得した。
表13におけるエラー判定は、「順位」に示された番号順に行った。条件が一致した時点でエラー解析のプロセスを終了し、エラー要因を特定した。
エラー解析により「エラー要因」、及び/又は、「撮像アドバイス」が取得された場合、ユーザはエラー情報を参照して再び2次元コードを撮像する。この場合、ユーザによりエラー要因は修正され、2次元コードが復元可能となる。
本形態の「撮像アドバイス」としては、撮像時におけるカメラと2次元コードとの間の距離(ズーム機能を含む)、撮像角度、撮像時の明るさ(フラッシュや表示装置の発光レベルを含む)、撮像時の焦点(マクロモードを含む)、等に関することを記述した。
本形態の2次元コード復元プロセスにおいて、サーバM01、及び、2次元コード取得装置M03である携帯端末における動作と、当該装置間でなされる通信の例を、以下、図31を用いて説明する。ただし、図31の例では、動作種別としてコンテンツを携帯端末M03に送信する場合を想定した。
S202:ユーザBは撮像機能を有する携帯端末M03で、2次元コードを撮像する。
S203:携帯端末M03は、2次元コードの画像データをサーバM01に送信する。
S204:サーバM01は、受信した画像データの2次元コードを解読し、データベース120のレコード番号を取得する。解読不能の場合は、ステップS206において、携帯端末M03にエラー情報を送信する。
S205:前記レコード番号のレコードにアクセスして、動作種別とコンテンツの保存アドレスを取得する。
S206:保存アドレスのコンテンツを携帯端末M03に送信する。解読エラーの場合は、コンテンツではなくエラー情報を送信する。
S207:エラー情報を基に、携帯端末M03にエラー内容を表示する。その際、特定された場合は、復元プロセスにおけるエラー要因、及び/又は、撮像アドバイスを表示する。
S208:コンテンツが特定された場合(エラーなし)は、携帯端末M03はコンテンツを取得し、ユーザBはこれを目的に応じて活用する。
S209:解読不能となりコンテンツが特定されない場合(エラーあり)は、ユーザBは、携帯端末M03に表示されたエラー内容を確認する。その際、特定された場合には、エラー要因、及び/又は、撮像アドバイスを参照して2次元コードを撮像し(S202)、再び、上記のフローを繰り返す。
サーバM01は、電子メールを受信することで、2次元コードの画像データ、及び、携帯端末M03のメールアドレスを取得する。例えば、2次元コードの解読により特定したコンテンツを携帯端末M03に出力する場合には、取得したメールアドレスに宛ててメール送信した。
携帯端末M03のメール機能は、携帯端末M03に一般に備えられたメール送受信手段を用いた。一般に、メール本文の他、ファイルを添付する機能を有し、2次元コードの画像データや、電子データであるコンテンツを送受信した。受信したメールは、携帯端末M03に備えられたメーラーを用いて、タイトル、日付、等が一覧表示される。
コンテンツがテキストデータの例では、メール本文に前記テキストデータを挿入した。例えば、WEBアドレスをユーザBに送信する場合、メール本文に当該WEBアドレスを記載した。ユーザBは、これを指定して携帯端末からアクセス可能となる。
サーバM01は、メール受信に際し、不正なメールを削除するフィルタリング処理を行った。本形態のフィルタリング処理として、携帯データ通信事業者以外から送信されたメールは排除した。その際、判定はメールアドレスから行った。また、不正アドレスリストに登録されたメールアドレスからのメールも排除した。更に、添付された画像データの画像形式、及び/又は、サイズ(例えば、形式:JPEG、サイズ:10Kバイト〜1Mバイト)が適切でない場合は排除した。
003…マーク領域、004…空白領域
008…照合パターン
010…データマーク
010C、010M、010Y…データマーク(シアン、マゼンタ、イエロー)
010R、010G、010B…データマーク(レッド、グリーン、ブルー)
010K、010W…データマーク(黒色、白色)
020…位置決めマーク
030…参照マーク
030C、030M、030Y…参照マーク(シアン、マゼンタ、イエロー)
030R、030G、030B…参照マーク(レッド、グリーン、ブルー)
030K、030W…参照マーク(黒色、白色)
040…お化粧マーク
040C、040M、040Y…お化粧マーク(シアン、マゼンタ、イエロー)
040R、040G、040B…お化粧マーク(レッド、グリーン、ブルー)
040K、040W…お化粧マーク(黒色、白色)
100…2次元コード、101…2次元コード(8×8セル)
120…データベース
200…2次元コード発行プロセス
210…データ入力部、211…データ入力手段
220…2次元コード生成部
221…データ変換手段、222…エンコード手段
223…画像作成手段、224…画像変換手段
230…2次元コード出力部、231…2次元コード出力手段
300…2次元コード復元プロセス
310…2次元コード入力部、311…2次元コード入力手段
320…2次元コード解読部
321…画像変換手段、322…位置決め手段、323…セル判定手段
324…デコード手段、325…データ変換・検証手段
330…データ出力部、331…データ出力手段
M01…サーバ
M02…コンテンツ登録装置
M03…2次元コード取得装置
Claims (9)
- 2次元的に配置した複数のセルに対する色成分の組み合わせによりビット列が表現された2次元コードに関し、当該2次元コードを含む画像データから前記ビット列を復元する2次元コード復元プログラムであって、
前記画像データを構成する複数の色成分を同時に利用して、セルの表示を構成する各々の色成分の有無を個別に判定すること、
を特徴とする2次元コード復元プログラム。 - 予め定めた色彩で表示された複数の参照セルから、当該参照セルの色彩に関する情報を取得すること、
判定を行う各々の色成分において、当該色成分の有無によって分類された参照セルの情報を利用してセルの表示を判定すること、
を特徴とする請求項1に記載の2次元コード復元プログラム。 - セルごとに周囲を空白領域で囲まれて表示されたマークの位置を、当該マークの領域と周囲の空白領域とのコントラストを基に特定し、当該位置において色彩の情報を取得してセルの表示を判定すること、
を特徴とする請求項1に記載の2次元コード復元プログラム。 - 2次元的に配置した複数のセルの表示によりビット列が表現された2次元コードに関し、当該2次元コードを含む画像データから前記ビット列を復元する2次元コード復元プログラムであって、
2次元コードの解読に係わるパラメータに適用される値が、前記画像データに応じて予め用意された複数の水準から選定されること、
を特徴とする2次元コード復元プログラム。 - 前記セルの判定に利用される指標は、当該セルにおけるマーク領域の諧調を、周囲の空白領域の諧調を用いて補正した値であること、
前記パラメータとして、諧調の補正に係わる複数の水準を用意すること、
を特徴とする請求項4に記載の2次元コード復元プログラム。 - 予め定めた色彩で表示された複数の参照セルから、当該参照セルの色彩に関する情報を取得すること、
前記参照セルの情報を検証することで、解読プロセスで生じたエラーを検出すること、
前記エラーが検出された場合に、パラメータの値を変更して再び解読プロセスを繰り返すこと、
を特徴とする請求項4に記載の2次元コード復元プログラム。 - 2次元コードが表現する前記ビット列は、誤り検出を可能とする冗長ビットが付与されていること、
2次元コードを解読して得られるビット列に対して誤り検出を行い、解読プロセスで生じたエラーを検出すること、
前記エラーが検出された場合に、パラメータの値を変更して再び解読プロセスを繰り返すこと、
を特徴とする請求項4に記載の2次元コード復元プログラム。 - 2次元的に配置した複数のセルの表示によりビット列が表現された2次元コードに関し、当該2次元コードを含む画像データから前記ビット列を復元する、ネットワークに接続されたサーバであって、
ネットワークに接続されたクライアント端末から2次元コードの画像データを受信する画像データ受信手段と、
前記2次元コードの画像データから、2次元コードに表現されたビット列を解読する2次元コード解読手段と、
前記2次元コードの解読プロセスにおいて生じたエラーを検出するエラー検出手段と、
前記エラーが検出された場合に、エラーを解析するエラー解析手段と、
前記エラー解析手段で得られたエラー情報を、前記クライアント端末に送信するエラー送信手段と、
を有することを特徴とする2次元コード復元サーバ。 - 前記エラー解析手段で得られたエラー情報に、ユーザがクライアント端末に接続されたカメラを用いて2次元コードを撮像する際の撮像アドバイスが含まれること、
を特徴とする請求項8に記載の2次元コード復元サーバ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008065879A JP5356702B2 (ja) | 2008-03-14 | 2008-03-14 | 2次元コード復元プログラム、及び、復元サーバ |
US12/382,316 US8430329B2 (en) | 2008-03-14 | 2009-03-13 | Two-dimensional code publishing program and two-dimensional code decoding program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008065879A JP5356702B2 (ja) | 2008-03-14 | 2008-03-14 | 2次元コード復元プログラム、及び、復元サーバ |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009223499A true JP2009223499A (ja) | 2009-10-01 |
JP2009223499A5 JP2009223499A5 (ja) | 2011-04-28 |
JP5356702B2 JP5356702B2 (ja) | 2013-12-04 |
Family
ID=41240228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008065879A Expired - Fee Related JP5356702B2 (ja) | 2008-03-14 | 2008-03-14 | 2次元コード復元プログラム、及び、復元サーバ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5356702B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012064170A (ja) * | 2010-09-17 | 2012-03-29 | Keyence Corp | 光学情報読取改善支援装置 |
JP2012078973A (ja) * | 2010-09-30 | 2012-04-19 | Shift:Kk | 二次元コード、エンコード装置、エンコードプログラムおよび二次元コードリーダ |
JP2013073447A (ja) * | 2011-09-28 | 2013-04-22 | Konica Minolta Business Technologies Inc | カラー二次元バーコード生成装置、カラー二次元バーコード分離装置、カラー二次元バーコード生成方法、カラー二次元バーコード分離方法、およびコンピュータープログラム |
JP2013206347A (ja) * | 2012-03-29 | 2013-10-07 | Denso Wave Inc | 情報コード読取装置 |
KR20170054222A (ko) | 2015-11-09 | 2017-05-17 | 삼성전자주식회사 | 전자 장치 및 그 동작 방법 |
CN112016339A (zh) * | 2020-08-18 | 2020-12-01 | 中移(杭州)信息技术有限公司 | 二维码识别及缺损修复方法、装置、电子设备及存储介质 |
US12100839B2 (en) | 2020-09-28 | 2024-09-24 | Sk On Co., Ltd. | Electrode for secondary battery having improved fast charging performance, method of manufacturing the same, and secondary battery including the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0830977A (ja) * | 1994-07-19 | 1996-02-02 | Olympus Optical Co Ltd | 情報記録媒体及び情報記録再生システム |
JP2008004101A (ja) * | 2006-06-23 | 2008-01-10 | Colorzip Media Inc | カラーベースのイメージコードの色判別方法 |
-
2008
- 2008-03-14 JP JP2008065879A patent/JP5356702B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0830977A (ja) * | 1994-07-19 | 1996-02-02 | Olympus Optical Co Ltd | 情報記録媒体及び情報記録再生システム |
JP2008004101A (ja) * | 2006-06-23 | 2008-01-10 | Colorzip Media Inc | カラーベースのイメージコードの色判別方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012064170A (ja) * | 2010-09-17 | 2012-03-29 | Keyence Corp | 光学情報読取改善支援装置 |
JP2012078973A (ja) * | 2010-09-30 | 2012-04-19 | Shift:Kk | 二次元コード、エンコード装置、エンコードプログラムおよび二次元コードリーダ |
JP2013073447A (ja) * | 2011-09-28 | 2013-04-22 | Konica Minolta Business Technologies Inc | カラー二次元バーコード生成装置、カラー二次元バーコード分離装置、カラー二次元バーコード生成方法、カラー二次元バーコード分離方法、およびコンピュータープログラム |
JP2013206347A (ja) * | 2012-03-29 | 2013-10-07 | Denso Wave Inc | 情報コード読取装置 |
KR20170054222A (ko) | 2015-11-09 | 2017-05-17 | 삼성전자주식회사 | 전자 장치 및 그 동작 방법 |
CN108351979A (zh) * | 2015-11-09 | 2018-07-31 | 三星电子株式会社 | 电子设备及其操作方法 |
CN108351979B (zh) * | 2015-11-09 | 2021-06-18 | 三星电子株式会社 | 电子设备及其操作方法 |
KR102741042B1 (ko) * | 2015-11-09 | 2024-12-11 | 삼성전자주식회사 | 전자 장치 및 그 동작 방법 |
CN112016339A (zh) * | 2020-08-18 | 2020-12-01 | 中移(杭州)信息技术有限公司 | 二维码识别及缺损修复方法、装置、电子设备及存储介质 |
CN112016339B (zh) * | 2020-08-18 | 2023-12-29 | 中移(杭州)信息技术有限公司 | 二维码识别及缺损修复方法、装置、电子设备及存储介质 |
US12100839B2 (en) | 2020-09-28 | 2024-09-24 | Sk On Co., Ltd. | Electrode for secondary battery having improved fast charging performance, method of manufacturing the same, and secondary battery including the same |
Also Published As
Publication number | Publication date |
---|---|
JP5356702B2 (ja) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8430329B2 (en) | Two-dimensional code publishing program and two-dimensional code decoding program | |
JP5356702B2 (ja) | 2次元コード復元プログラム、及び、復元サーバ | |
JP4565015B2 (ja) | 画像処理装置、画像形成装置、画像処理システム、画像処理プログラムおよびその記録媒体 | |
US7986441B2 (en) | Embedding watermark into halftone image with low distortion using parity values for overlapping groups of candidate sites | |
JP2009223499A5 (ja) | ||
CN112352245A (zh) | 复合代码图案、生成设备、读取设备、方法以及程序 | |
CN102045471B (zh) | 摄像图像处理系统及图像输出方法 | |
US8077986B2 (en) | Information processing apparatus, method of controlling same and computer program | |
JP4399486B2 (ja) | 画像処理装置、外部記憶装置、画像形成装置、画像送信装置、画像読取装置、画像処理システム、画像処理方法、プログラムおよびその記録媒体 | |
CN101388073A (zh) | 图像核对装置、图像核对方法及图像数据输出处理装置 | |
JP5288691B2 (ja) | 2次元コード読取プログラム | |
CN101539996A (zh) | 图像处理方法及图像处理装置、图像形成装置和存储介质 | |
JP4486995B2 (ja) | 画像処理システム | |
US20130215473A1 (en) | System and method for creating machine-readable codes in combination with other images such as logos | |
Ning et al. | Secret message sharing using online social media | |
JP2008271508A (ja) | 画像処理装置、画像形成装置、画像送信装置、画像読取装置、画像処理システム、画像処理方法、画像処理プログラムおよびその記録媒体 | |
JP4362537B2 (ja) | 画像処理装置、画像形成装置、画像送信装置、画像読取装置、画像処理システム、画像処理方法、画像処理プログラムおよびその記録媒体 | |
JP2007316949A (ja) | 認証装置、認証システム、認証方法、認証プログラム、および記録媒体 | |
EP2139220A2 (en) | Information processing apparatus and information processing method | |
JP2013041343A (ja) | 二次元バーコード提供装置、二次元バーコード解析装置、二次元バーコード提供方法、二次元バーコード解析方法、コンピュータープログラム、二次元バーコード、および用紙 | |
Sharma et al. | Visual cryptographic techniques for secret image sharing: a review | |
JP5356701B2 (ja) | 2次元コード、及び、プログラム | |
JP2009223498A5 (ja) | ||
CN108710877A (zh) | 一种图像采集方法 | |
JP2005223574A (ja) | 画像処理方法および画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110309 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110309 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120229 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130507 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130704 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130813 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130829 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5356702 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |