JP2007241329A - プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物 - Google Patents

プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物 Download PDF

Info

Publication number
JP2007241329A
JP2007241329A JP2006058521A JP2006058521A JP2007241329A JP 2007241329 A JP2007241329 A JP 2007241329A JP 2006058521 A JP2006058521 A JP 2006058521A JP 2006058521 A JP2006058521 A JP 2006058521A JP 2007241329 A JP2007241329 A JP 2007241329A
Authority
JP
Japan
Prior art keywords
dimensional code
data
address data
code
bit
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.)
Withdrawn
Application number
JP2006058521A
Other languages
English (en)
Inventor
Satoshi Ouchi
聡 大内
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.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games 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 Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2006058521A priority Critical patent/JP2007241329A/ja
Publication of JP2007241329A publication Critical patent/JP2007241329A/ja
Withdrawn legal-status Critical Current

Links

Abstract

【課題】2次元コードに配置されるモジュールが、任意のデザインを構成して配置されるように2次元コードを生成すること。
【解決手段】2次元コードのサイズデータと、2次元コードから読み取られるべき基本アドレスデータと、所与の2値化デザインデータとに応じて任意アドレスデータ領域を特定し、該領域に書き込むべき2値化デザインデータを、2次元コードのフォーマット情報に基づいて逆変換したビットコードを求め、該ビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行って任意アドレスデータのビットコードを求める補正処理部と、任意アドレスデータ領域のビットコードと基本アドレスデータのビットコードとを、2次元コードのフォーマット情報に基づいて変換して2次元コードを生成する2次元コード生成部とを含む。
【選択図】 図8

Description

本発明は、プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物に関する。
従来より、所定のフォーマット情報に基づいて、データを示すモジュールを2次元に配置した2次元コードが知られている。この2次元コードでは、1次元コードに比して狭い領域で多くのデータを読み取らせることができる。このような従来の技術として、例えば特許第2938338号公報に開示されるものがある。
そして、2次元コードを生成する場合には、例えばURL(Uniform Resource Locator)やメールアドレス等のネットワークアドレス情報を2次元コードから読み取らせるデータとして設定することが多い。
特許第2938338号公報
かかる2次元コードでは、読み取られるべきネットワークアドレスデータのビット列について、2次元コードのフォーマット情報に基づいて変換処理を行い、2次元コードのフォーマット情報に基づいて2次元コード上にモジュールパターンを配置するため、読み取られるべきネットワークアドレスデータの文字列に応じてモジュールパターンの構成が定まってしまう。従って、生成される2次元コードのモジュールパターンの構成に特徴を持たせて他の2次元コードと差別化をはかることができなかった。
そこで本発明は、読み取られるべきネットワークアドレスデータに応じて配置されるモジュールが、任意のデザインを構成して配置されるように2次元コードを生成することができるプログラム、情報記憶媒体、生成された2次元コードの画像を生成する画像生成システム及び印刷物を提供することにある。
(1)本発明は、2次元コードを生成するためのシステムであって、
2次元コードのサイズデータと、2次元コードから読み取られるべき基本アドレスデータと、所与の2値化デザインデータとを取得するデータ取得部と、
前記サイズデータと基本アドレスデータとに基づいて、基本アドレスデータのデータ量に応じた2次元コードの任意アドレスデータ領域を特定する任意アドレスデータ領域特定部と、
前記任意アドレスデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換したビットコードを求める2値化デザインデータ変換部と、
前記逆変換後のビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行って任意アドレスデータのビットコードを求める補正処理部と、
前記任意アドレスデータのビットコードと前記基本アドレスデータのビットコードとを、前記2次元コードのフォーマット情報に基づいて変換して2次元コードを生成する2次元コード生成部とを含む2次元コード生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。また本発明は、上記2次元コード生成システム、プログラム、情報記憶媒体を用いて生成された2次元コードが印刷された印刷物に関係する。
本発明では、所与の2値化デザインデータを逆変換し、逆変換後のビットコードに必要に応じてビットコードの補正処理を行って求めた任意アドレスデータのビットコードに基づき2次元コードを生成することにより、2次元コードに2値化デザインを構成することができる。そして、生成された2次元コードからは、基本アドレスデータとともに、構成された2値化デザインデータから任意アドレスデータが読み取られる。従って、2次元コードにデザインパターンを構成しつつ、本システム利用者が2次元コードシンボルを介して伝達しようとする情報であるネットワークアドレスデータを2次元コードの読取装置に読み取らせることができる。
即ち、例えばURLの場合では、最初のスラッシュマークより前方部分(例えば「www.namco.co.jp/」)の基本アドレスデータは、ネットワークアドレスのフォーマットに従った文字列にする必要があるが、それより後方部分のアドレスデータは任意の文字列とすることができる。そこで、基本アドレスデータ以外の任意アドレスデータを、本発明で求めた逆変換後のビットコードにより読み取られる文字列とする。ここで、逆変換後のビットコードについては、2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するように補正処理がなされているので、逆変換後のビットコードに基づいて構成された2値化デザインパターンから任意アドレスデータを読み取らせることができる。
なお、任意アドレスデータは、2次元コード上で所与の2値化デザインを構成するように求められるものであるから、意味を成さない文字列かつ冗長なデータとなる場合がある。従って、通常のネットワークアドレスデータとしては使い勝手の悪いものとなる場合があるが、例えば当該アドレスのページを、利用者にアクセスさせたいアドレスのページにリンクする中継ページとして用いる等すればよい。
このように、本発明によれば、人目を引き付けることができる2値化デザインパターンが構成された2次元コードを、通常の2次元コードの生成手順に従って簡易に生成することができる。しかも、生成された2次元コードは2値化デザインが構成されていても、補正処理を行なった上で通常の2次元コードの生成手順に従って生成されているので、2次元コードを読取装置により正確に読み取らせることができる。
(2)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記2次元コード生成部が、
前記ビットコードに基づいて、生成される2次元コードの読み取り誤りを訂正するための誤り訂正データを生成する誤り訂正データ生成部を更に含み、
前記任意アドレスデータ領域特定部が、
前記サイズデータに応じて2次元コードの誤り訂正データ領域を特定し、前記基本アドレスデータに基づいて2次元コードの基本アドレスデータ領域を特定し、前記2次元コードのサイズデータと前記誤り訂正データ領域と前記基本アドレスデータ領域とに基づいて前記任意アドレスデータ領域を特定するようにしてもよい。
本発明によれば、誤り訂正データ領域と基本アドレスデータ領域とから、2値化デザインが施される任意アドレスデータ領域を特定して、任意アドレスデータ領域の2値化デザインデータを抽出することができる。
(3)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記誤り訂正データ生成部が、所与の誤り訂正レベルデータに応じて誤り訂正データを生成し、
前記誤り訂正レベルデータに応じて生成された2次元コードの変更処理を受け付ける2次元コード変更部を更に含むようにしてもよい。
本発明によれば、誤り訂正アルゴリズムの復元能力の範囲内で、生成された2次元コードの変更を行うことができる。例えば、誤り訂正データ領域に配置される2次元コードモジュールを変更して、誤り訂正データ領域の一部をもデザイン領域とすることができる。
(4)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記2次元コード変更部が、
前記訂正可能範囲に応じて、前記補正処理を行ったビットコードを補正処理前のビットコードに変更する処理を行うようにしてもよい。
本発明によれば、補正処理により変更されたデザインデータを、元のデザインを構成するデザインデータに再変更ことができる。そして、この再変更は誤り訂正データの訂正可能範囲内で行われるので、読み取りの正確性は誤り訂正データにより担保することができる。従って、所与の2値化デザインデータの一部が2次元コードのフォーマットに反するものである場合でも、2次元コードに構成されるデザインを維持することができる。
(5)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記2次元コード生成部が、
2次元コードの読み取りに用いられる位置合せパターンを設定する位置合せパターン設定部を更に含み、
前記位置合せパターン設定部は、
前記位置合せパターンの省略処理を受け付けるようにしてもよい。
本発明によれば、位置合せパターンの配置を省略することにより、任意アドレスデータ領域に構成されるデザインパターンの自由度を飛躍的に上げるとともに、構成されたデザインパターンをより美しく見せることができる。
(6)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記2値化デザインデータのサイズに応じて2次元コードのサイズを決定するコードサイズ決定部を更に含むようにしてもよい。
本発明によれば、2値化デザインデータのサイズに応じて、2値化デザインパターンを収めることができる2次元コードのサイズを自動的に決定することができる。
(7)また2次元コードを生成するためのデータを生成するシステム、プログラム及び情報記憶媒体では、
2次元コードのサイズデータと、2次元コードから読み取られるべき基本アドレスデータと、所与の2値化デザインデータとを取得するデータ取得部と、
前記サイズデータと基本アドレスデータとに基づいて、基本アドレスデータのデータ量に応じた2次元コードの任意アドレスデータ領域を特定する任意アドレスデータ領域特定部と、
前記任意アドレスデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換したビットコードを求める2値化デザインデータ変換部と、
前記逆変換後のビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行って任意アドレスデータのビットコードを求める補正処理部を含むようにしてもよい。
本発明によれば、2値化デザインパターンが構成された2次元コードを生成することができるデータを生成することができる。そして、生成された2次元コードを生成するためのデータには、基本アドレスデータと任意アドレスデータとが含まれている。従って、本発明により生成したデータに基づいて2次元コードを生成すれば、2次元コードにデザインパターンを構成しつつ、本システム利用者が2次元コードシンボルを介して伝達しようとする情報であるネットワークアドレスデータを2次元コードの読取装置に読み取らせることができる。
このように、本発明によれば、人目を引き付けることができる2値化デザインパターンが構成された2次元コードを、通常の2次元コードの生成手順に従って簡易に生成することができる。しかも、生成された2次元コードは2値化デザインが構成されていても、補正処理を行なった上で通常の2次元コードの生成手順に従って生成されているので、2次元コードを読取装置により正確に読み取らせることができる。
(8)また2次元コードとして読み取られる2次元コード画像を生成するシステム、プログラム及び情報記憶媒体では、
2次元コードから読み取られるべき基本アドレスデータ画像のデータと、2次元コードの任意アドレスデータ領域に設定される2値化デザイン画像のデータとに基づいて、前記2次元コード画像を生成する画像生成部を含み、
前記画像生成部は、
前記2値化デザイン画像のデータを変化させて前記2次元コード画像を生成するようにしてもよい。
本発明によれば、2次元コード画像の2値化デザインパターンを変化させて、2次元コードに人目をより一層引き付けることにより、当該2次元コードの利用度を大幅に増加させることができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.2次元コードの構造
図1に、本実施の形態の2次元コード生成システムで生成される2次元コードシンボルの構造の例を示す。本実施の形態では、2次元コードとしてQRコード(株式会社デンソーウェーブの登録商標)を用いた例を示すが、本実施の形態により生成できる2次元コードはQRコードに限らない。
図1に示すように、本実施の形態の2次元コードシンボル10は、正方形のモジュールを縦横に45個正方形に配列して構成されている。このシンボル10には、シンボル10からデータを読み取る際に用いられる位置検出パターン12と位置合せパターン13とタイミングパターン14とが配置されている。そして、位置検出パターン12と位置合せパターン13とタイミングパターン14とが配置されている領域以外の領域として、シンボル10から読み取られるべきデータのモジュールパターン(符号化パターン)が配置される符号化領域16が設けられている。
この符号化領域16には、シンボル10の型番情報(サイズ情報)の符号化パターンが配置される型番領域18と、シンボル10の形式情報(誤り訂正レベル情報、マスク処理パターンに関する情報)の符号化パターンが配置される形式領域20と、本実施の形態のシステムの利用者が任意に入力可能な原データの符号化パターンが配置されるデータ領域22とが含まれる。
2.2次元コードの生成処理
図2に、本実施の形態の2次元コード生成システムの処理の流れの一例を示す。まず、ステップS1において、2次元コードを生成するための各種データを取得する。
図3に、このデータ取得処理の詳細を示す。まず、ステップS2において、入力部への入力情報に基づき、システムの利用者が所望するシンボルの型番情報と形式情報とを取得する。ここで、型番情報には、シンボル10の大きさを特定するサイズ情報(1〜40)が含まれている。本実施の形態では、サイズ情報によりシンボル10を構成するモジュールの数とその配置を特定することができる。また、形式情報には、生成されるシンボルの読み取り誤りを訂正するための誤り訂正アルゴリズムの種類を特定する誤り訂正レベル情報が含まれる。本実施の形態では、誤り訂正レベルがL、M、Q、Hの4段階用意されており、誤り訂正レベルに応じて誤り訂正の精度が異なる。
そして、ステップS4において、本システム利用者が2次元コードシンボルを介して伝達しようとする情報である原データの文字列を取得する。この原データとしては、例えばURLやメールアドレス等のネットワークアドレス情報や、種々の管理情報、識別情報、暗号化情報等が入力される。すると、ステップS6において、取得した原データの文字列を2次元コードのフォーマット情報に基づいて変換し、原データのビット列を生成する。そして、原データのビット列の最後に、データを示すビット列の終了に使用するエンドパターンのビット列を挿入する。このエンドパターンは、2次元コードを読み取った場合に、エンドパターン以降の符号化パターンについては情報として出力する必要がないことを示すものである。
そして、図2のステップS10において、エンドパターンを含む原データのビット列を2次元コードのフォーマット情報に基づいて8ビットコード語(データコード語)に分割する。すると、ステップS12において、取得したサイズ情報、誤り訂正レベル情報に基づき、当該サイズ、誤り訂正レベルが要求するデータコード語数を満たすか否かを判断する。
ここで、要求するデータコード語数を満たさないと判断すると(ステップS12のN)、即ち2次元コードのサイズに対して原データのデータ量が少ないと、ステップS14において、データコード語列の後に埋め草コード語を付加する。この埋め草コード語とは、2次元コードのサイズに対して原データのデータ量が少ない場合に、原データを示す符号化パターン以降の符号化領域16が例えば空白(明モジュールのみ)となると、2次元コードの読み取りに支障があることを考慮して付加されるものである。本実施の形態では、2次元コードのフォーマットに基づいて、データが空であることを示す所定の符号化パターンが繰返し付加される。
一方、要求するデータコード語数を満たすと判断すると(ステップS12のY)、埋め草コード語は付加せずに、ステップS16において、データコード語列を誤り訂正用のブロック数に分割し、ステップS18において、各ブロックに対して誤り訂正コード語を生成する。この誤り訂正コード語とは、2次元コードの読み取り誤りを訂正するための誤り訂正アルゴリズムに用いられる情報の符号化パターンを生成するための所定のビット列単位である。そして、ステップS20において、データコード語列の後に誤り訂正コード語を付加する。
そして、ステップS22において、2次元コードのフォーマット情報に従って各ブロックのデータコード語・誤り訂正コード語をインターリーブにし、必要に応じて残余ビットを付加し、ステップS24において、2次元コードのフォーマット情報に基づいてマトリックスに、位置検出パターン12、位置合せパターン13、タイミングパターン14、コード語列に対応させた暗(黒)モジュールと明(白)モジュールとを配置する。
そして、ステップS26において、シンボル10の符号化領域16にマスク処理パターンを適用する。このマスク処理は、ステップS24において符号化領域16に配置された暗(黒)モジュールと明(白)モジュールとが、バランスよく配置されるようにするための処理である。そして、ステップS28において、ステップS2で取得した型番情報の符号化パターンを型番領域18に配置し、形式情報の符号化パターンを形式領域20に配置し、シンボル10を完成する。
図4に、このようにして生成された2次元コードシンボルの一例を示す。本実施の形態では、各コード語列に対応させた暗(黒)モジュールと明(白)モジュールの配置は、図4に示すシンボル10の右下隅から開始し、上方向、下方向を交互に操作し、右から左へ配置する。ここで、各コード語列は、原データとそのエンドパターンを示すデータコード語、埋め草コード語、誤り訂正コード語の順に配列されている。従って、シンボル10の符号化領域16には、図4に示すように、原データの符号化パターンが配置された原データ領域30と、埋め草データの符号化パターンが配置された不使用データ領域32と、誤り訂正コードの符号化パターンが配置された誤り訂正コード領域34とが形成される。
3.デザインデータ処理
かかる2次元コードは、例えばURLやメールアドレス等のネットワークアドレス情報を、2次元コードから読み取らせる原データとして設定することが多い。例えば、カメラ付きの情報端末等によって2次元コードからネットワークアドレスデータを読み取れば、情報端末にネットワークアドレスを手入力しなくても当該アドレスにアクセスすることができる。
しかし、ネットワークアドレス情報を原データとして2次元コードを生成した場合には、一般的なネットワークアドレス情報のデータ量に比して2次元コードのデータ容量は十分に大きい。従って2次元コードでは、シンボル10の符号化領域16に、単にデータが空であることを示す不使用データ領域32が発生することが多い。
一方、ネットワークアドレス情報とは、ネットワークアドレスのフォーマットに従った文字列にする必要がある基本アドレスデータと、任意の文字列とすることができる任意アドレスデータとから構成される。例えばURLならば最初のスラッシュマークより前方部分の文字列(例えば「www.namco.co.jp/」等)を、メールアドレスならばアットマーク以降の文字列(例えば「@namco.co.jp」等)を、基本アドレスデータとしてネットワークアドレスのフォーマットに従った文字列にする必要がある。しかし、その他のアドレスデータはネットワークアドレス取得時に任意の文字列に定めることができる。
そこで、本実施の形態では、モジュールパターンの配置が定まってしまう基本アドレスデータ以外の任意アドレスデータのビット列を、モジュールパターンが2次元コード上で所与の2値化デザインを構成するように生成し、これに基づいて2次元コードシンボル20を生成する。
即ち、不使用データ領域32となってしまう領域を、任意アドレスデータのモジュールパターンが配置される任意アドレスデータ領域31として利用して、任意アドレスデータ領域31の暗(黒)モジュールと明(白)モジュールの配置(パターン)が、所与のデザインを構成する任意アドレスデータのビット列を生成し、これを基本アドレスデータのビット列の後に付加してネットワークアドレスデータのビット列を生成する。そのため、本実施の形態では、図2のステップS1のデータ取得処理において、本実施の形態に特徴的なデザインデータ処理を行う。
3−1.2値化デザインデータ取得処理
図5に、デザインデータ処理の流れの一例を示す。まず、図3のステップS6までにおいて、サイズ情報・誤り訂正レベル情報・基本アドレスデータを取得して(ステップS2、ステップS4)、2次元コードのフォーマット情報に基づいて基本アドレスデータのビット列を生成する(ステップS6)。
ここで、従来の2次元コードの生成過程では、基本アドレスデータのビット列の最後にデータを示すビット列の終了に使用するエンドパターンのビット列を挿入していたが、本実施の形態では、任意アドレスデータ領域31で各モジュールが所与のデザインを構成するような任意アドレスデータのビット列を基本アドレスデータの後に付加するため、基本アドレスデータのビット列の最後にはエンドパターンは挿入しない。
そして、図5のステップS40において、2次元コードのマトリックスに対応付けられた所与の2値化デザインパターンを、任意アドレスデータ領域31の任意アドレスデータとして取得して、2値化デザインパターンのビット列(2値化デザインデータ)を生成する。
本実施の形態では、2値化デザインパターンを取得するために、まずシステムの利用者に2次元コードのフォーマットに基づくマトリックス上で、各モジュールを暗(黒)モジュールと明(白)モジュールのいずれか一方に設定させ、2値化デザインパターン(絵、文字、記号、模様等)を構成させる。そして、取得した2値化デザインパターンを2次元コードのマトリックス(各モジュール)に対応付け、2次元コードのフォーマットに応じた2値化デザインパターンのビット列(任意アドレスデータのビット列)を生成する。
図6(A)は、システムの利用者に2値化デザインパターンを構成させるために表示部に表示する表示画面の一例である。本実施の形態では、図4に示すように基本アドレスデータ領域30がサイズ情報と基本アドレスデータのデータ量に応じて定まり、誤り訂正データ領域34がサイズ情報に応じて定まる。よって、サイズ情報と基本アドレスデータのビット列に基づいて基本アドレスデータ領域30を特定し、サイズ情報に基づいて誤り訂正データ領域34を特定し、サイズ情報と基本アドレスデータ領域30と誤り訂正データ領域34とに基づいて、不使用データ領域32をデザイン領域となる任意アドレスデータ領域31として特定することができる。従って、図6(A)に示すように、2次元コードシンボル10を任意アドレスデータ領域31が空白となるように表示することができる。
図6(B)は、利用者が構成した2値化デザインパターンの一例である。図6(B)の例は、図6(A)に示す2次元コードシンボル10を表示部に表示し、利用者に任意アドレスデータ領域31の各モジュールを暗(黒)モジュールと明(白)モジュールのいずれか一方に設定させて、2値化デザインパターンを構成させたものである。従って、図6(B)の例では、利用者が各モジュールを暗(黒)モジュールと明(白)モジュールのいずれか一方に設定すると、構成させた2値化デザインパターンをそのまま任意アドレスデータ領域31の各モジュールに対応付けて、2値化デザインパターンのビット列を生成することができる。
3−2.2値化デザインデータ逆変換処理と判定処理
しかし、本実施の形態では、図2のステップS26のように、2次元コードを生成する際にマスクパターンとコード語モジュールパターンとでXOR演算による変換を行う。従って、2次元コードの任意アドレスデータ領域31で所与のデザインを構成する2値化デザインパターンのビット列を生成しても、そのままではマスクパターンとのXOR演算により、2値化デザインパターンのビット列が2次元コード上でデザインを構成しないビット列に変換されてしまう。
そこで、本実施の形態では、2次元コードを生成する際にマスクパターンとのXOR演算を行うと2値化デザインパターンのビット列に戻るように、生成した2値化デザインパターンのビット列を予め逆変換しておく。即ち、本実施の形態では、図2のステップS26でマスクパターンが適用される前に、予め2値化デザインパターンとマスクパターンとでXOR演算による変換を行う。そして、得られた2値化デザインパターンの逆変換ビット列を2次元コードの任意アドレスデータ領域31のデータとして扱って、図2のステップS26でマスクパターンを適用すると、任意アドレスデータ領域31で所与のデザインを構成するモジュールパターンとすることができる。
更に、2値化デザインパターンの逆変換ビット列を2次元コードの任意アドレスデータ領域31のデータとして扱うためには、逆変換ビット列が、2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するビット列である必要がある。しかし、2値化デザインパターンのビット列については、モジュールパターンが所与のデザインを構成するように生成したものであるから、基本アドレスデータのように通常の文字列を変換したビット列と異なり、2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合しない場合がある。すると、逆変換ビット列を生成してもそれを用いて2次元コードを生成できない場合がある。そこで、本実施の形態では、逆変換ビット列が2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合であるビット列については補正処理を行う。
より詳細には、図5のステップS42において、サイズ情報、誤り訂正レベル情報、基本アドレスデータのビット列に基づき、任意アドレスデータ領域31を特定し、ステップS44において、任意アドレスデータ領域31に該当する2値化デザインパターンのビット列を抽出する。そして、ステップS46において、抽出した2値化デザインパターンのビット列即ち任意アドレスデータのビット列が、入力データとして何組分あるかを求める。つまり、本実施の形態の2次元コード生成システムが、取得した入力データをビット列に変換する際の分割単位に、任意アドレスデータのビット列を分割し、その数をNとする。そして、N個の分割単位のビット列ごとに、マスクパターンによる逆変換処理を行い、逆変換処理後のビット列が2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定する。
そこで、まずステップS48において分割単位数のカウンタをi=0にセットし、ステップS50においてi=Nとなったか判断し、カウンタがNでない場合には(ステップS50のN)、ステップS52において、i組目の任意アドレスデータのビット列と、対応するマスクパターンとのXOR処理を行い、i組目の逆変換ビット列を生成する。そして、ステップS54において、i組目の逆変換ビット列が2次元コード及びネットワークアドレスのフォーマットを満たしているか否か判定する。本実施の形態では、2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するビット列、或いは2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合しないビット列を予め記憶部に記憶しておき、比較判定を行う。
そして、適合すると判定した場合には(ステップS54のY)、ステップS58において、当該逆変換ビット列をバッファに格納する。一方、不適合と判定した場合には(ステップS54のN)、ステップS56において、当該逆変換ビット列の一部を2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するように補正する補正処理を行ってから補正処理後の逆変換ビット列をバッファに格納する。なお、ステップS56において逆変換ビット列の一部のビットを変更してからステップS54に戻り、適合と判定する(ステップS54のY)までステップS54とステップS56の処理をループさせてもよい。
そして、ステップS60でi=i+1としてカウンタをインクリメントした上でステップS50に戻り、i=Nとなるまで即ち全ての組の任意アドレスデータのビット列について逆変換処理と判定処理を行うまで、ステップS50からステップS60までの処理を繰り返す。
図7は、図6(B)の例から抽出した2値化デザインパターン40と、マスクパターン42とでXOR演算による変換を行って得られる逆変換モジュールパターン44の例である。図7に示すように、本実施の形態では、2値化デザインパターン40とマスクパターン42とで対応するモジュールが、同種のモジュールである場合には当該モジュールを暗(黒)モジュールとし(0+0=1、1+1=1)、異種のモジュールである場合には当該モジュールを明(白)モジュールとする(0+1=0、1+0=0)。
従って、XOR演算による変換を行って得られる逆変換モジュールパターン44はデザインを構成しないものとなるが、2次元コードを生成する際に再びマスクパターンとのXOR演算を行うことにより2値化デザインパターンに戻るものである。こうして、任意アドレスデータ領域31に対応する2値化デザインパターンのビット列(任意アドレスデータのビット列)をマスクパターンで逆変換した逆変換ビット列を生成する。なお、マスクパターン42の4隅などのグレーの部分、即ち生成される2次元コードの位置検出パターン12と位置合せパターン13とタイミングパターン14とに対応する領域46には、マスク処理を適用しないようになっている。
こうして、全ての組の任意アドレスデータのビット列について逆変換処理と判定処理を行うと、即ち図5のステップS50においてi=Nとなると(ステップS50のY)、図2のステップS10以降において、図3のステップS6で生成された基本アドレスデータのビット列と、生成された2値化デザインパターンの逆変換ビット列とをデータコード語に分割し、ステップS12において、得られたデータコード語列がデータコード語数を満たすか否かを判断する。
ここで、2値化デザインパターンの逆変換ビット列は、任意アドレスデータ領域31のモジュール全てを含んでいる。よって、基本アドレスデータのビット列と逆変換ビット列とからなるデータコード語列は、ステップS12において、データコード語数を満たすと判断される(ステップS12のY)。従って、ステップS14で埋め草コード語は付加されず、そのままステップS16〜ステップS24までの2次元コードのフォーマットに基づく処理が行われる。すると、図8の左側のモジュールパターン54のように、位置検出パターン12等が配置され、基本アドレスデータのモジュールパターン48と逆変換モジュールパターン44と、それらに対応する誤り訂正コードパターン50とを含むマスク前パターン52が生成される。
そして、ステップS26において、マスク前パターン52にマスク処理パターンを適用すると、2値化デザインパターンの逆変換ビット列が変換されて、元の2値化デザインパターンのビット列に戻る。即ち、図8に示すように、マスク前パターン52と、マスクパターン42とでXOR演算による変換を行うことにより、任意アドレスデータ領域31に2値化デザインパターン40が構成されたデザイン2次元コードシンボル54を生成することができる。
こうして、本実施の形態によれば、逆変換モジュールパターン44を生成しておくことにより、その後は通常の2次元コードの生成手順に従って、2値化デザインパターン40が構成された2次元コードシンボル54を生成することができる。そして、2値化デザインパターン40が構成された2次元コードシンボル54のうち、基本アドレスデータ領域30には基本アドレスデータのモジュールパターン48が配置され、任意アドレスデータ領域31には2値化デザインパターン40として任意アドレスデータのモジュールパターンが配置されているので、2次元コードの読取装置がこの2次元コード54を読み取ると、本システム利用者が2次元コードシンボルを介して伝達しようとする情報であるネットワークアドレスデータを読み取らせることができる。
図11は、基本アドレスデータのビット列と任意アドレスデータのビット列を、2次元コードの読取装置で文字列に変換して出力した表示画面Mの例である。図11の例では、基本アドレスデータの文字列ADの後に任意アドレスデータの文字列DDが続き、全体としてURLを構成する文字列となる。
このように、本実施の形態によれば、人目を引き付けることができる2値化デザインパターンが構成された2次元コードを、通常の2次元コードの生成手順に従って簡易に生成することができる。しかも、生成された2次元コードは2値化デザインが構成されていても、補正処理を行なった上で通常の2次元コードの生成手順に従って生成されているので、2次元コードを読取装置により正確に読み取らせることができる。
なお、図5のステップS44において、基本アドレスデータ領域30に該当する基本アドレスデータのビット列も合わせて抽出し、基本アドレスデータのビット列及び2値化デザインパターンのビット列と、マスクパターンとでXOR演算による変換を行ってもよい。即ち、少なくとも任意アドレスデータ領域31に該当する2値化デザインパターンのビット列について、逆変換がなされていればよい。
また、本実施の形態では、2次元コードを生成する際のマスクパターンによる変換処理を考慮して逆変換を行う例を挙げて説明したが、取得した2値化デザインパターンのビット列に対して2次元コードを生成する際に他の変換処理が行われる場合には、その変換処理を行うと2値化デザインパターンのビット列に戻るように、生成した2値化デザインパターンのビット列を予め逆変換しておく。ここで、逆変換とは、2次元コードを生成する際の変換処理により2値化デザインパターンのビット列に戻るようなビット列に、2値化デザインパターンのビット列を変換する処理をいう。例えば本実施の形態では、逆変換処理と、2次元コードを生成する際の変換処理とが、ともにXOR演算であって同一の変換処理となるものであるが、かかる場合も逆変換の概念に含まれる。
なお、図2のステップS26のマスク処理において、複数種類のマスクパターンが適用され、所定の評価関数に基づいて最もバランスよくモジュールが配置されるマスクパターンが選択される場合には、図3のステップS2において、マスク処理で適用させるマスクパターンを指定するマスクパターン情報を取得し、当該マスクパターンで図5のステップS46の逆変換処理と、図2のステップS26の変換処理とを行うようにしてもよい。
3−3.ネットワークアドレス情報の種類に応じた適用例
本実施の形態の2次元コードでは、入力データをモジュールとして2次元コードに配置する際には、上述のとおり、図4に示す2次元コードシンボル10の右下隅から、入力データのビット列に対応するモジュールを配置していく。従って、2次元コードから読み取られるべきネットワークアドレスデータの種類によって、基本アドレスデータ領域30とすべき領域と任意アドレスデータ領域31とすべき領域との位置関係が異なる。
例えば、URLのように文字列の前方部分(例えば「www.namco.co.jp/」)が基本アドレスデータとなるネットワークアドレスデータの場合には、図6(A)に示すように、シンボル10の図中右端部が基本アドレスデータ領域30となり、中央部が任意アドレスデータ領域31となり、左端部が誤り訂正データ領域34となる。一方、メールアドレスのように文字列のアットマーク以降の後方部分(「@namco.co.jp」等)が基本アドレスデータとなるネットワークアドレスデータの場合には、図12に示すように、シンボル10の図中右側部が任意アドレスデータ領域31となり、左端部が誤り訂正データ領域34となり、任意アドレスデータ領域31と誤り訂正データ領域34の間が基本アドレスデータ領域30となる。
そこで、本実施の形態では、図6(A)に示すような、システムの利用者に2値化デザインパターンを構成させるために表示部に表示する表示画面を、2次元コードから読み取られるべきネットワークアドレスデータの種類に応じて変化させている。即ち、URLの場合には、図6(A)に示すシンボル10を表示画面に表示し、メールアドレスの場合には、図12(A)に示すシンボル10を表示画面に表示し、利用者に任意アドレスデータ領域31に所与の2値化デザインを構成させる。
そして、得られた2値化デザインデータのビット列について図5の各処理を行い、2値化デザインパターンの逆変換ビット列を生成する。ここで、URLの場合には、基本アドレスデータのビット列の後に逆変換ビット列を付加していたが、メールアドレスデータの場合では、逆変換ビット列の後に基本アドレスデータのビット列を付加する。
図12(B)は、任意アドレスデータのビット列の後に基本アドレスデータのビット列が付加されたビット列を、2次元コードの読取装置で文字列に変換して出力した表示画面Mの例である。図12(B)の例では、任意アドレスデータの文字列DDの後に基本アドレスデータの文字列ADが続き、全体としてメールアドレスを構成する文字列となる。
こうして、本実施の形態では、ネットワークアドレス情報の種類、即ち、ネットワークアドレスデータのビット列における基本アドレスデータのビット列と任意アドレスデータのビット列の配列関係に応じて、2値化デザインを構成させるために表示するシンボル10の種類、任意アドレスデータ領域31を特定する処理・抽出する処理、ネットワークアドレスデータ全体のビット列を構成する際の基本アドレスデータのビット列と任意アドレスデータのビット列の組み合わせ処理を変更している。
4.符号化パターンの変更処理
本実施の形態の2次元コードでは、誤り訂正コード領域34に配置された誤り訂正コードパターンにより、符号化領域16の符号化パターンを2次元コードの読み取り装置で読み取る際の読み誤りを訂正することができる。例えば、誤り訂正レベルがLの場合には復元能力は7パーセントとされ、おおよそ100個のモジュールのうち7個のモジュールが汚れ等で誤ったパターンとして読み取られたとしても、元の正しいモジュールパターンに復元することができる。
そこで、本実施の形態では、上述のようにして生成された2次元コードの誤り訂正レベル情報に応じて、生成された2次元コードの変更処理を受け付ける。具体的には、図9(A)に示すように、本実施の形態で生成された所与の2値化デザインパターンが配置された2次元コードシンボル10を表示部に表示する。そして、システムの利用者からいずれかのモジュールの変更設定を受け付ける。なお、図9(A)〜(C)のシンボル10は、図6で表示したシンボル10を反時計回りに90度回転させて表示したものである。
例えば、図9(A)の例では、海に浮かぶ島に人が立っている様子がデザインされているが、誤り訂正コード領域34(メールアドレスの場合は基本アドレスデータ領域30)のモジュールパターンにより島の輪郭が明確でない。そこで、本実施の形態によればモジュールの変更設定を受け付けて、図9(B)に示すように、誤り訂正コード領域34の一部の領域60の暗(黒)モジュールを一部削除し、島の輪郭を明確化させることができる。このように、本実施の形態では、誤り訂正データ領域34(基本アドレスデータ領域30)の一部をもデザイン領域とすることができる。
そして、変更設定されたモジュールに対応するビット列のビットも変更する。このとき、設定されている誤り訂正レベル情報とサイズ情報とに応じて、変更設定を受け付けるモジュール数を制限する。
例えば、誤り訂正レベル情報が「M」(復元能力は15パーセント)であって、サイズ情報が7型(データビット数は1248)である場合には、例えば100個までのモジュールの変更設定を受け付ける。また、誤り訂正レベル情報が「H」(復元能力は30パーセント)であって、サイズ情報が15型(データビット数は1784)である場合には、例えば300個までのモジュールの変更設定を受け付ける。
また、本実施の形態では、任意アドレスデータの逆変換ビット列が2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合であるビット列については補正処理を行っているので(図5のステップS56)、システムの利用者が入力した2値化デザインパターンが変更されて2次元コードが生成される場合がある。例えば、図9(A)の例では、島に立っている人の右手付近のモジュール62が補正されてデザインパターンが変更されている。そこで、本実施の形態では、かかる場合に2次元コードの誤り訂正レベル情報に応じてモジュールの変更設定を受け付ける。そして、図9(A)のモジュール62を、図9(B)のモジュール64のようにして、暗(黒)モジュールと明(白)モジュールとを入れ替えて補正処理前のビット列に戻す。こうして、補正処理が行われたデザインパターンを利用者が入力した2値化デザインパターンに修正することができる。そして、かかる変更設定を行ったとしても、変更設定前のビット列に対して誤り訂正コードが生成されているので、読み取りの正確性は誤り訂正データにより担保することができる。
また、このような補正処理を行ったビットを補正処理前のビットに変更する処理をアルゴリズムにより自動的に実行してもよい。この場合には、図5のステップS56で補正したビットの位置、数を記憶しておき、図2のステップS18で誤り訂正コード語を生成した後に、設定されている誤り訂正レベル情報とサイズ情報とに応じて、復元能力の範囲内で補正したビットを再変更してもよい。また、補正処理を行う前の逆変換ビット列を記憶しておき、補正処理後のビット列と比較判定し、異なるビットを再変更するように構成してもよい。
また、図9(C)に示すように、図9(B)では表示させていた位置合せパターン13の省略処理を受け付けるようにしてもよい。この場合、図2のステップS24で配置した位置合せパターン13を削除する処理を行う。なお、この位置合せパターン13の省略処理は、図2のステップS1のデータ取得処理において予め位置合せパターン13の配置処理を省略する旨の情報を取得し、図2のステップS24で該当する位置合せパターン13の配置処理を省略するように構成してもよい。
5.構成
図10に本実施形態の2次元コード生成システムの機能ブロック図の例を示す。なお本実施形態の2次元コード生成システムは図10の構成要素(各部)の一部を省略した構成としてもよい。
入力部160は、生成する2次元コードの基本データ、生成した2次元コードから読み取られるべき基本アドレスデータ、生成した2次元コードに構成されるデザインデータなどを入力するためのものである。その機能は、例えばボタンやレバーの他、入力部と表示部の両方の機能を有するタッチパネル型表示部(パネルに画像が表示されると共に、指やペンで画面を触れたり押すことで情報を入力できる装置)により実現できる。また、スキャナやカメラ等の光学読み取り装置によりデザインデータを入力するようにしてもよい。
記憶部170は、処理部100などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部をコンピュータに実現させるためのプログラム)が記憶(記録、格納)される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能はCRT、液晶ディスプレイ、プラズマディスプレイ、入力部と表示部の両方の機能を有するタッチパネル型表示部により実現できる。
通信部196は、外部(例えばホストや他の端末)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト(サーバー)が有する情報記憶媒体からネットワーク(広域ネットワーク、インターネット)及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
処理部100(プロセッサ)は、入力部160からの入力データやプログラムなどに基づいて、データ表示処理、データ加工処理、データ変換処理、2次元コード生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)又はASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、データ取得部110、コードサイズ決定部112、任意アドレスデータ領域特定部114、2値化デザインデータ変換部118、補正処理部119、2次元コード生成部120、2次元コード変更部122を含む。なお、処理部100は、これらの各部(機能ブロック)を全て含む必要はなく、その一部を省略してもよい。
データ取得部110は、入力部160への入力情報に基づき、シンボルの型番情報(サイズ情報)と形式情報(誤り訂正レベル情報)とを取得する。また、本システム利用者が2次元コードシンボルを介して伝達しようとする情報である原データ(ネットワークアドレスデータ等)を、2次元コードのフォーマットに基づいてビットコード(ビット列)に変換する。
また、データ取得部110は、2次元コードに対応付けられた所与の2値化デザインデータを、2次元コードのフォーマットに基づいてビットコード(ビット列)に変換する。ここで、データ取得部110は、利用者が任意アドレスデータ領域31の各モジュールに対応付けながら入力したデザインパターンを取得することにより、2値化デザインパターンのビットコードを取得するようにしてもよい。また、データ取得部110は、スキャナ等のハードウェアで取り込んだデザインデータや情報記憶媒体に記憶されたデザインデータを、2次元コードのマトリックスに対応付ける変換処理を行い、2値化デザインパターンとして取得するようにしてもよい。
また、コードサイズ決定部112を採用し、取得した2値化デザインデータのサイズ(領域、ビット数)に応じて2次元コードのサイズを決定するようにしてもよい。例えば、取得した2値化デザインパターンに対応するモジュールが任意アドレスデータ領域31内に納まるように2次元コードのサイズ情報を決定し、データ取得部110が当該サイズ情報を取得するようにしてもよい。この場合、基本アドレスデータのビットコード、2値化デザインデータのビットコードに基づいて、当該2値化デザインパターンを配置可能な任意アドレスデータ領域31を確保できる2次元コードのサイズ情報を特定するようにしてもよい。
任意アドレスデータ領域特定部114は、2次元コードのサイズ情報と、基本アドレスデータを変換したビットコードとに基づいて、基本アドレスデータのデータ量に応じた2次元コードの任意アドレスデータ領域31を特定する。より詳細には、任意アドレスデータ領域特定部114は、サイズ情報に応じて誤り訂正データ領域34を特定し、基本アドレスデータに基づいて基本アドレスデータ領域30を特定し、サイズ情報と誤り訂正データ領域34と基本アドレスデータ領域30とに基づいて任意アドレスデータ領域31を特定する。
2値化デザインデータ変換部118は、任意アドレスデータ領域31に対応する2値化デザインデータを、2次元コードのフォーマット情報に基づいて逆変換したビットコードを求める。具体的には、図5及び図5の説明に示す各処理を行って、2値化デザインパターンのビットコードを逆変換したビットコードを求める。なお、図5の説明の変形例として、任意アドレスデータ領域31に対応する2値化デザインデータを、2次元コードのフォーマットに基づいた分割単位に分割せずに、全体として逆変換処理を行うようにしてもよい。
補正処理部119は、逆変換後のビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行って任意アドレスデータのビットコードを求める。例えば、逆変換後のビットコードに対する判定処理と補正処理とを、2次元コードのフォーマットに基づいた分割単位ごとに行ってもよいし、全体として行ってもよい。また、ビット(モジュール)ごとに行うようにしてもよい。
また、2値化デザインデータ変換部118の処理と補正処理部119の処理の順序を入れ替えて行ってもよい。例えば、補正処理部119が、任意アドレスデータ領域31に対応する2値化デザインデータのビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行って任意アドレスデータのビットコードを求め、2値化デザインデータ変換部118が、補正処理後の任意アドレスデータのビットコードを2次元コードのフォーマット情報に基づいて逆変換したビットコードを求めるようにしてもよい。
2次元コード生成部120は、2値化デザインデータを逆変換したビットコードと基本アドレスデータを示すビットコードとを2次元コードのフォーマット情報に基づいて変換して、2次元コードを生成する。具体的には、図2及び図2の説明に示す各処理を行って2次元コードを生成する。
特に2次元コード生成部120は、誤り訂正データ生成部122と位置合せマーク設定部124とを含む。この誤り訂正データ生成部122は、2値化デザインデータを逆変換したビットコードと基本アドレスデータを示すビットコードとに基づいて、生成される2次元コードの読み取り誤りを訂正するための誤り訂正データを生成する。また、位置合せパターン設定部124は、2次元コードの読み取りに用いられる位置合せパターン13を配置する。
また、位置合せパターン設定部124は、位置合せパターン13の省略処理を受け付けるようにしてもよい。例えば、2次元コードを生成する前に設定された情報に基づいて、位置合せパターン13を配置しないようにしてもよい。また、所定のアルゴリズムにより、2値化デザインパターンに対応する所定のカバー領域に含まれる位置合せパターン13を配置しないようにしてもよい。また、位置合せパターン13を配置して2次元コードシンボル10を完成させてから、入力情報に基づいて位置合せパターン13を削除するようにしてもよい。
2次元コード変更部122は、誤り訂正データの訂正可能範囲に応じて、生成された2次元コードの変更処理を受け付ける。本実施の形態では、誤り訂正レベルが4段階用意されており、それぞれの復元能力が決められている。従って、2次元コードのサイズ情報と誤り訂正レベル情報とから、変更しても復元可能なモジュール数(ビット数、パターン数)の範囲内で、配置されたモジュール(ビット)の変更を受け付ける。
また、2次元コード変更部122は、誤り訂正データの訂正可能範囲に応じて、補正処理部119が補正処理を行ったビットコードを補正処理前のビットコードに変更する処理を行う。この場合には、補正処理を行ったビット情報を記憶しておき、誤り訂正データ生成部122が誤り訂正データを生成した後に、誤り訂正データの訂正可能範囲に応じて、補正処理を行ったビット情報に基づき、補正したビットを復元するようにしてもよい。また、補正処理を行う前の逆変換ビット列を記憶しておき、補正処理後のビット列と比較判定し、補正されたビット又はビット列を復元するように構成してもよい。
6.2次元コードの利用
本実施の形態で生成された、任意アドレスデータ領域31に所与の2値化デザインパターンが配置された2次元コードは、種々の印刷物に印刷してこれを利用することができる。また、テレビ放送やビデオ放映、ゲーム機等、種々のメディアを介してモニタ等の表示部に画像表示させることができる。この場合には、本実施の形態で生成された2値化デザインパターンが配置された2次元コードの画像データを生成して、表示部に表示させればよい。
特に、本実施の形態で生成された2次元コードを画像表示させる場合には、任意アドレスデータ領域31に配置される2値化デザインパターンを複数種類用意しておく。この複数種類の2値化デザインパターンとして、例えば、丸、三角、四角等、形状が異なる2値化デザインパターンを用意してもよいし、連続して切り替え表示すると人が走っているように見える等、所与のモーションをコマ割りしてそれぞれをデザインした複数の2値化デザインパターンを用意してもよい。
そして、各2値化デザインパターンを任意アドレスデータ領域31に配置した際の誤り訂正コードパターンも用意しておく。そして、複数種類の2値化デザインパターンとそれに対応する誤り訂正コードパターンの画像データを生成する。そして、基本アドレスデータ領域30の画像データは変化させずに、2値化デザインパターンの画像とその誤り訂正コードパターンの画像とを対応付けて変化させる。これによれば、2次元コード画像の2値化デザインパターンを変化させて、より人目を引き付けることができるとともに、2値化デザインパターンの変化に対応させて誤り訂正コードパターンも変化させているので、2次元コード画像の2値化デザインパターンを変化させても正確に2次元コードを読み取らせることができる。
この場合、2値化デザインパターンが変化すると、例えば2次元コードから読み取られる情報としてネットワークアドレスデータが設定されている場合には、アクセス先のアドレスが異なってしまうことになる。しかし、かかる場合でも、例えば各アドレスのページを、利用者にアクセスさせたいアドレスのページにリンクする中継ページとして用いる等すればよい。なお、2値化デザインパターンとその誤り訂正コードパターンの画像を変化させるのみならず、基本アドレスデータのモジュールパターンをも変化させるようにしてもよい。
また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
また本発明は、QRコードなどのマトリックス式の2次元コードのみならず、スタック式の2次元コードなど、種々の2次元コードに関して適用することができる。その場合には、各2次元コードのフォーマットに応じて各処理を行う。
また本発明は、デザインパターンが配置された2次元コードを生成するためのプログラムのみならず、デザインパターンが配置された2次元コードを生成するためのビットコードを生成するためのプログラム、デザインパターンが配置された2次元コード画像を生成するためのプログラム、及びそれらのプログラムを記憶した情報記憶媒体、システムにも適用することができる。
本実施の形態の2次元コードの構造の一例を示す図である。 本実施の形態の処理の流れの一例を示すフローチャート図である。 本実施の形態の処理の流れの一例を示すフローチャート図である。 本実施の形態で生成される2次元コードの一例を示す図である。 本実施の形態の処理の流れの一例を示すフローチャート図である。 図6(A)、(B)は、本実施の形態で表示部に表示される画面の一例を示す図である。 本実施の形態の逆変換処理の一例を説明するための図である。 本実施の形態の2次元コード生成処理の一例を説明するための図である。 図9(A)は、本実施の形態の符号化パターンの変更処理を説明するための図であり、図9(B)は、本実施の形態の位置合せパターンの省略処理を説明するための図である。 本実施の形態の機能ブロックの一例を示す図である。 本実施の形態で生成された2次元コードを読取装置で読込んだ場合に出力される表示画面の一例を示す図である。 図12(A)は、本実施の形態で表示部に表示される画面の一例を示す図であり、図12(B)は、本実施の形態で生成された2次元コードを読取装置で読込んだ場合に出力される表示画面の一例を示す図である。
符号の説明
10 2次元コードシンボル
13 位置合せパターン
16 符号化領域
30 基本アドレスデータ領域
31 任意アドレスデータ領域
32 不使用データ領域
34 誤り訂正コード領域
40 2値化デザインパターン
42 マスクパターン
44 逆変換モジュールパターン
52 マスク前パターン
54 デザイン2次元コードシンボル
100 処理部
110 データ取得部
112 コードサイズ決定部
114 任意アドレスデータ領域特定部
118 2値化デザインデータ変換部
119 補正処理部
120 2次元コード生成部
122 2次元コード変更部
160 入力部
170 記憶部
180 情報記憶媒体
190 表示部

Claims (12)

  1. 2次元コードを生成するためのプログラムであって、
    2次元コードのサイズデータと、2次元コードから読み取られるべき基本アドレスデータと、所与の2値化デザインデータとを取得するデータ取得部と、
    前記サイズデータと基本アドレスデータとに基づいて、基本アドレスデータのデータ量に応じた2次元コードの任意アドレスデータ領域を特定する任意アドレスデータ領域特定部と、
    前記任意アドレスデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換したビットコードを求める2値化デザインデータ変換部と、
    前記逆変換後のビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行って任意アドレスデータのビットコードを求める補正処理部と、
    前記任意アドレスデータのビットコードと前記基本アドレスデータのビットコードとを、前記2次元コードのフォーマット情報に基づいて変換して2次元コードを生成する2次元コード生成部としてコンピュータを機能させることを特徴とするプログラム。
  2. 請求項1において、
    前記2次元コード生成部が、
    前記ビットコードに基づいて、生成される2次元コードの読み取り誤りを訂正するための誤り訂正データを生成する誤り訂正データ生成部を更に含み、
    前記任意アドレスデータ領域特定部が、
    前記サイズデータに応じて2次元コードの誤り訂正データ領域を特定し、前記基本アドレスデータに基づいて2次元コードの基本アドレスデータ領域を特定し、前記2次元コードのサイズデータと前記誤り訂正データ領域と前記基本アドレスデータ領域とに基づいて前記任意アドレスデータ領域を特定することを特徴とするプログラム。
  3. 請求項2において、
    前記誤り訂正データ生成部が、所与の誤り訂正レベルデータに応じて誤り訂正データを生成し、
    前記誤り訂正レベルデータに応じて生成された2次元コードの変更処理を受け付ける2次元コード変更部としてコンピュータを更に機能させることを特徴とするプログラム。
  4. 請求項3において、
    前記2次元コード変更部が、
    前記訂正可能範囲に応じて、前記補正処理を行ったビットコードを補正処理前のビットコードに変更する処理を行うことを特徴とするプログラム。
  5. 請求項1〜4のいずれかにおいて、
    前記2次元コード生成部が、
    2次元コードの読み取りに用いられる位置合せパターンを設定する位置合せパターン設定部を更に含み、
    前記位置合せパターン設定部は、
    前記位置合せパターンの省略処理を受け付けることを特徴とするプログラム。
  6. 請求項1〜5のいずれかにおいて、
    前記2値化デザインデータのサイズに応じて2次元コードのサイズを決定するコードサイズ決定部として更にコンピュータを機能させることを特徴とするプログラム。
  7. 2次元コードを生成するためのデータを生成するプログラムであって、
    2次元コードのサイズデータと、2次元コードから読み取られるべき基本アドレスデータと、所与の2値化デザインデータとを取得するデータ取得部と、
    前記サイズデータと基本アドレスデータとに基づいて、基本アドレスデータのデータ量に応じた2次元コードの任意アドレスデータ領域を特定する任意アドレスデータ領域特定部と、
    前記任意アドレスデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換したビットコードを求める2値化デザインデータ変換部と、
    前記逆変換後のビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行って任意アドレスデータのビットコードを求める補正処理部としてコンピュータを機能させることを特徴とするプログラム。
  8. 2次元コードとして読み取られる2次元コード画像を生成するためのプログラムであって、
    2次元コードから読み取られるべき基本アドレスデータ画像のデータと、2次元コードの任意アドレスデータ領域に設定される2値化デザイン画像のデータとに基づいて、前記2次元コード画像を生成する画像生成部としてコンピュータを機能させ、
    前記画像生成部は、
    前記2値化デザイン画像のデータを変化させて前記2次元コード画像を生成することを特徴とするプログラム。
  9. コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜8のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
  10. 請求項1〜7のいずれかのプログラムにより生成された2次元コードが印刷された印刷物。
  11. 2次元コード生成システムであって、
    2次元コードのサイズデータと、2次元コードから読み取られるべき基本アドレスデータと、所与の2値化デザインデータとを取得するデータ取得部と、
    前記サイズデータと基本アドレスデータとに基づいて、基本アドレスデータのデータ量に応じた2次元コードの任意アドレスデータ領域を特定する任意アドレスデータ領域特定部と、
    前記任意アドレスデータ領域に対応する2値化デザインデータを、2次元コードのフォーマット情報に基づいて逆変換するとともに、逆変換後のビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行ってビットコードを求める2値化デザインデータ変換部と、
    前記任意アドレスデータ領域のビットコードと前記基本アドレスデータのビットコードとを、前記2次元コードのフォーマット情報に基づいて変換して2次元コードを生成する2次元コード生成部とを含むことを特徴とする2次元コード生成システム。
  12. 2次元コードとして読み取られる2次元コード画像を生成するための画像生成システムであって、
    2次元コードから読み取られるべき基本アドレスデータ画像のデータと、2次元コードの任意アドレスデータ領域に設定される2値化デザイン画像のデータとに基づいて、前記2次元コード画像を生成する画像生成部を含み、
    前記画像生成部は、
    前記2値化デザイン画像のデータを変化させて前記2次元コード画像を生成することを特徴とする画像生成システム。
JP2006058521A 2006-03-03 2006-03-03 プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物 Withdrawn JP2007241329A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006058521A JP2007241329A (ja) 2006-03-03 2006-03-03 プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006058521A JP2007241329A (ja) 2006-03-03 2006-03-03 プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物

Publications (1)

Publication Number Publication Date
JP2007241329A true JP2007241329A (ja) 2007-09-20

Family

ID=38586856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006058521A Withdrawn JP2007241329A (ja) 2006-03-03 2006-03-03 プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物

Country Status (1)

Country Link
JP (1) JP2007241329A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190103A (ja) * 2011-03-09 2012-10-04 Design Department Store Co Ltd 二次元画像コード、コード領域を含む領域を特定する方法、コード領域を含む領域を特定するプログラム、コード領域を含む領域を特定する装置
JP2013025475A (ja) * 2011-07-19 2013-02-04 Kagoshima Univ 2次元コード生成方法、2次元コード生成装置、プログラム及び記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190103A (ja) * 2011-03-09 2012-10-04 Design Department Store Co Ltd 二次元画像コード、コード領域を含む領域を特定する方法、コード領域を含む領域を特定するプログラム、コード領域を含む領域を特定する装置
JP2013025475A (ja) * 2011-07-19 2013-02-04 Kagoshima Univ 2次元コード生成方法、2次元コード生成装置、プログラム及び記憶媒体

Similar Documents

Publication Publication Date Title
JP3953501B1 (ja) プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び2次元コード
JP2007241328A (ja) プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物
US9406010B2 (en) Producing, capturing and using visual identification tags for moving objects
JP2019505925A (ja) ドットマトリックス2次元コードの符号化および認識方法
JP4309217B2 (ja) アクティブな埋め込み型のインターラクション符号化
CN100442214C (zh) 通过确定获取的图像的位置确定电子笔笔尖的位置的方法
JP4898771B2 (ja) バーコード除去装置及びその除去方法
WO2014077186A1 (ja) 二次元コード、二次元コードの作成システムおよび解析プログラム
JP2002056352A (ja) 視覚的に有意なバーコードを生成し復号する方法及び装置
US9342714B2 (en) Method for reproducing and using a bar code symbol
JP4631900B2 (ja) 情報処理装置、情報処理システム、および情報処理プログラム
US8430315B2 (en) Data encoding and decoding
JP5010636B2 (ja) 画像処理方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007241329A (ja) プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物
JP3635374B1 (ja) デジタル情報坦体
JP4397866B2 (ja) 2次元パターン読み取り装置、2次元パターン読み取り方法
JP4368373B2 (ja) デジタル情報坦体
US20120312878A1 (en) Apparatus and method for generating and recognizing barcode in portable terminal
JP4822775B2 (ja) 迷路パターン分析方法及びその装置
JP2015114806A (ja) 画像処理装置及びプログラム
WO2023228654A1 (ja) 情報コード、コード生成方法、及びコード読取方法
CN111209988B (zh) 一种基于可识别彩色图形的大数据共享系统的管理方法
JP6894600B2 (ja) 二次元コード、認識処理プログラム、認識処理装置、及び認識処理方法
JP2000209443A (ja) デ―タ符号化復号化方法およびデ―タ符号化、復号化装置
JP2004266428A (ja) アジア文字イメージのシャッフル方法及びシャッフル処理システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090512