(57)【特許請求の範囲】
【請求項１】
２進コードで表されるデータをセル化し、２次元のマトリックス上にパターンとして配置した２次元コードを印刷するためのデータの作成装置であって、
前記パターンは暗セルと明セルとで形成され、前記暗セルに対応する部分のみを印刷することによって、当該暗セルの印刷されない部分が結果的に前記明セルになるよう構成されており、
前記明暗セル間の境界部分における前記暗セルのサイズを縮小あるいは拡大させた印刷用データを作成するデータ作成手段を備えるおり、
前記データ作成手段は、
前記暗セルのサイズを拡大させる場合には、前記暗セルのサイズをセル単位で拡大させた印刷用データを作成し、一方、前記暗セルのサイズを縮小させる場合には、前記明セルのサイズをセル単位で拡大させることにより、結果的に暗セルのサイズを縮小させた印刷用データを作成すると共に、前記暗セルあるいは明セルのサイズをセル単位で拡大させる場合、任意の１つ又は複数の辺をドット単位で拡大させること、
を特徴とする２次元コード印刷用データの作成装置。
【請求項２】
さらに、前記暗セルを縮小あるいは拡大する度合いを外部から入力するための入力手段を備え、
前記データ作成手段は、前記入力手段を介して入力された縮小・拡大度合いに基づいて、前記暗セルのサイズを縮小あるいは拡大させた印刷用データを作成すること、
を特徴とする請求項１記載の２次元コード印刷用データの作成装置。
【請求項３】
前記暗セルを縮小あるいは拡大する対象となる辺についても前記入力手段を介して入力可能であり、
前記データ作成手段は、前記入力手段を介して入力された縮小・拡大対象となる辺に対して、同じく入力された縮小・拡大度合いに基づいて、前記暗セルのサイズを縮小あるいは拡大させた印刷用データを作成すること、
を特徴とする請求項２記載の２次元コード印刷用データの作成装置。
【請求項４】
前記印刷用データ作成対象の２次元コードは、前記マトリックスの頂点に、２次元コードの位置を特定する位置決め用シンボルを少なくとも１つ配置したものであること、
を特徴とする請求項１〜３のいずれか記載の２次元コード印刷用データの作成装置。
【請求項５】
請求項１〜４のいずれか記載の２次元コード印刷用データの作成装置における前記データ作成手段として、コンピュータシステムを機能させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２進コードで表されるデータをセル化し、２次元のマトリックス上にパターンとして配置した２次元コードを印刷するためのデータの作成装置及びそのデータ作成処理を実行するためのプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
２次元コードは、バーコードに比べ、大量の情報を記録できるため、全体として小型化できる。その２次元コードを読み取る際には、各セルの明暗判定をする必要があるが、この明暗判定においては、まず２次元画像中における各セルの中心位置を計算によって推定し、その中心位置（あるいは近傍も含め）の明暗を調べることによって行う。スキャナの読取部と２次元コードとが平行でない状態で読み込んだり、あるいは曲面に形成された２次元コードを読み込んだりする場合には、２次元画像が斜めに読み込まれてしまうことがあり、その場合には、各セルの推定中心位置は正確にセルの中心を示すものではなく、ずれてしまう。
【０００３】
但し、そのずれた位置が同じセル内であれば、基本的には明暗判断が変わることはない。つまり、同一セル内においては、暗セルであれば暗部として判断され、明セルであれば明部として判断されることを前提としているからである。
【０００４】
【発明が解決しようとする課題】
しかしながら、ファクシミリ装置やコピー装置などのように２次元コードを読み取る過程が含まれてくる場合には、受信側のファクシミリ装置やコピー装置にて印刷した際に暗セルが太ってしまうことがある。これは、ファクシミリ装置であればラインセンサの分解能に基づき、センサ素子の単位でしか明暗を区別できないことに起因する。つまり、図９（ａ）に示すように、暗セルの外周付近をラインセンサによって検出する場合、センサの素子単位で見ると、その一部分（例えば半分あるいは４分の１程度）にしか暗セルが存在しない状態が考えられる。この図９（ａ）においては、ライン走査方向に順番に見た場合、完全な明セルの次に、４分の３は明部、残りの４分の１だけ暗部を含むセルがあり、続いて半分が明部、残り半分が暗部となるセルが２つ続き、再度、４分の３は明部、残りの４分の１だけ暗部を含むセルがあり、その次が完全な明セルとなっている。
【０００５】
この際、図９（ｂ）に示すように、ラインセンサからは明部の存在する量に比例した（輝度に応じた）信号が出力されるが、通常はかなり高い閾値が設定され、その閾値以下であれば「暗セル」であると判定するようにしている。つまり、閾値を低くすると、何らかの情報があってもそれを無視してしまうこととなる。つまり、一部に暗部が存在しているが全体として明部が多い場合に明セルと判断してしまうと、その一部に存在していた暗部に基づくデータは再生不可能となり、細い線などが消えてしまう。したがって、なるべく情報を消さないようにすることを優先し、セル単位では太ってしまうことには目をつむっているのが通常である。したがって、例えば図９（ｃ）に示すように、正規サイズの暗セルが３ドット×３ドットであった場合には、太ることで４ドット×４ドットの暗セルとなってしまう可能性がある。
【０００６】
そして、このように太ってしまうと、図１０に示すように、本来は明セルが占めるべき領域に暗セルがはみ出していることとなる。そのため、上述のセルの推定中心位置が、暗セルのはみ出している部分までずれてしまうことにより、本来は明セルであるにもかかわらず暗セルであると誤認識してしまう場合が生じる。図１０を参照してこの点を具体的に説明する。図１０中に示したセルＡ及びセルＤについては、本来は明セルであり、ずれた推定中心位置においてもやはり明セルと判断でき、また、セルＢは本来は暗セルであり、ずれた推定中心位置においてもやはり暗セルと判断できるため問題ない。しかし、セルＣについては、本来は明セルであるが、隣接する（この場合には右隣）暗セルが太ったため、ずれた推定中心位置がそのはみ出した暗部に位置してしまい、本来は明セルであるのに、暗セルと誤判断してしまうこととなる。すると、セルの明暗にて表しているデータとしても全く異なったものとなってしまう。
【０００７】
また、今までは暗セルが太った場合について説明したが、細った場合であっても同様である。つまり、今度は逆に暗セルであるべき部分に明部がはみ出した状態となり、推定中心位置がそのはみ出した明部に位置すると、本来は暗セルであるのに、明セルと誤判断してしまうこととなる。
【０００８】
そこで、本発明は、ファクシミリ装置やコピー装置などで２次元コードが読み取られて暗セルの太りや細りが発生した場合であっても、データの誤判断がされないような２次元コード印刷用データを作成可能な装置及びそのデータ作成処理を実行するためのプログラムを記録した記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段及び発明の効果】
請求項１に記載の２次元コード印刷用データの作成装置は、２進コードで表されるデータをセル化し、２次元のマトリックス上にパターンとして配置した２次元コードを印刷するためのデータを作成するのであるが、パターンは暗セルと明セルとで形成され、暗セルに対応する部分のみを印刷することによって、暗セルの印刷されない部分が結果的に明セルになるよう構成されている。そして、データ作成手段は、明暗セル間の境界部分における暗セルのサイズを縮小あるいは拡大させた印刷用データを作成する。
【００１０】
このデータ作成手段によるデータ作成については、次のようにして行う。つまり、暗セルのサイズを拡大させる場合には、暗セルのサイズをセル単位で拡大させた印刷用データを作成し、一方、暗セルのサイズを縮小させる場合には、明セルのサイズをセル単位で拡大させることにより、結果的に暗セルのサイズを縮小させた印刷用データを作成するのである。
【００１１】
一般的に、印刷用データを作成する場合はいわゆるビットマップ上にパターンに対応する明暗を０，１で展開することが多い。したがって、例えば正規サイズのセルサイズが５ドット×５ドットであれば、暗セルを拡大させる場合、暗セルのサイズを６ドット×６ドットにしてビットマップ上に展開させればよい。このように展開すると、明暗セルが隣接している部分では、０（明）と１（暗）のビットが重なり、暗セル同士が隣接している部分では１（暗）と１（暗）のビットが重なる。この場合には、少なくとも一方が１（暗）であれば、１（暗）を出力するようにすればよい。
【００１２】
逆に、暗セルを縮小させる場合には、明セルのサイズを６ドット×６ドットにしてビットマップ上に展開させる。このように展開すると、明暗セルが隣接している部分では、０（明）と１（暗）のビットが重なり、明セル同士が隣接している部分では０（明）と０（明）のビットが重なる。この場合には、少なくとも一方が０（明）であれば、明（０）を出力するようにすればよい。結果的には、明暗セルが隣接していた部分の暗セルのサイズが４ドット×４ドットとなって縮小したこととなる。但し、暗セル同士が隣接している部分においては、何ら影響がなく縮小されない。
【００１３】
なお、結果的には暗セルのサイズを縮小させた印刷用データを作成する場合であっても、暗セルそのものを縮小させるのではなく、明セルのサイズをセル単位で拡大させる手法の方が好ましい。その点を図１１も参照してさらに説明する。暗セルを縮小させる場合には、形状的に暗セル同士が隣接している部分は縮小させず、暗セルと明セルが隣接している部分だけを縮小させる必要がある。なぜなら、暗セル単位で縮小させてしまうと、図１１（ａ）に示すように、暗セル同士が隣接している部分の間に明部分が生じてしまう可能性がある。そして、図１１（ｂ）に示すように、その明部分に上述のセルの推定中心位置がずれてしまうと、今度は、本来は暗セルであるにもかかわらず明セルであると誤認識してしまうからである。図１１（ｂ）の場合であれば、セルａは推定中心位置がずれても本来と同じ明セルと判断されるが、セルｂ，セルｃ，セルｄについては、本来は暗セルであるのに、ずれた推定中心位置が明部分となるため、誤判断してしまう。つまり、例えばｎ個暗セルが隣接している場合、全てが同様にずれてしまうとｎ個とも誤認識してしまうこととなる。そこで、図１１（ｃ）に示すように、暗セル同士が隣接している部分の間に明部分を生じさせなければ、セルｄについては誤認識してしまったとしても、セルｂ及びセルｃについては正しく判断できる。つまり、ｎ個のセルの場合であれば、１個は誤判断するが残りの（ｎ−１）個は正しく認識できる。但し、この場合には、暗セルが隣接しているかどうかの判断をした上で、その判断に基づく処理としなくてはならない。
【００１４】
これに対して、明セルを拡大させる場合には、単にセル単位で拡大させるだけでよい。上述したように、ビットマップ上で明を「０」、暗を「１」として表した場合、明セルを拡大することでビットマップ上において「０」と「１」が重なった場合には「０」を選択するようにしておけば、それだけで対処できる。したがってデータ処理上はこの方が簡便に実現できる。
【００１５】
また、データ作成手段が暗セルあるいは明セルのサイズをセル単位で拡大させる場合には、任意の１辺または複数の辺を拡大することでできるが、本発明では、隣接する２辺あるいは４辺全てをドット単位で拡大させる。隣接する２辺をドット単位で拡大させれば、セルを縦横１ドット単位で拡大させることができる。但し、この場合には拡大させる隣接２辺を予め決定しておく必要がある。また、４辺全てを拡大させる場合には、４辺とも同じドット分だけ拡大させることもできるし、また隣接する２辺単位で変更してもよい。例えば、セルを縦横３ドットずつ拡大させる場合には、４辺の内、隣接する２辺については２ドットずつ拡大し、残りの２辺について１ドットずつ拡大するのである。このようにしていけば、縦横ｎ（ｎは１以上の自然数）ドットずつ拡大させることが容易に実現できる。
【００１６】
このようにすれば、例えばファクシミリ装置やコピー装置などで２次元コードが読み取られて暗セルの太りや細りが発生した場合であっても、２次元コード中の暗セルを縮小・拡大させた印刷用データに基づいて印刷すると、元々の２次元コードのセルサイズと等しい（あるいはほぼ等しい）状態の印刷結果が得られることとなる。つまり、データの誤判断がされないような２次元コード印刷用データを作成することができるのである。
【００１７】
なお、このようなセルの拡大については作業者による指示に基づいて行うことが考えられる。つまり、暗セルを縮小あるいは拡大する場合に、どの辺を対象として縮小あるいは拡大するかや、その縮小あるいは拡大度合いを外部から入力するための入力手段を備える。そして、その入力手段を介して入力された縮小・拡大の対象となる辺に対し、入力された縮小・拡大度合いに基づいて、前記データ作成手段が暗セルのサイズを縮小あるいは拡大させた印刷用データを作成するのである。上述したファクシミリ装置やコピー装置などにおける読取時の暗セルの太りや細りの度合いは装置個別に異なり、また同じ装置であっても、読取状況などによって異なる。したがって、その暗セルの太り・細り状況を作業者が判断して、最適な状態に設定できるようにすることが利便性の点で好ましい。
【００１８】
また、このような２次元コード印刷用データの作成装置は、その作成装置からの２次元コード印刷用データを用いて印刷した注文書などを、ファクシミリ装置を用いて販売者側へ転送する通信販売システムの一部として採用する場合などに有効である。近年はインターネットなどを用いた電子商取引も現実化されてきているが、まだまだ電話やファクシミリ装置を用いた通信販売システムが主流である。特に、個人商店や規模の小さな会社などにおいては、商品の仕入れなどに印刷された文書を用いることが多い。その場合には、注文書を印刷した後、その注文書を発注者側のファクシミリ装置にて読み取り、販売者側のファクシミリ装置に転送することとなる。そして、この注文書の記載内容については２次元コード化して印刷しておけば、販売者側では、ファクシミリ装置から出力（印刷）された注文書の２次元コードをスキャナで読み込んで管理コンピュータなどに登録することで、受注処理が簡便になる。
【００１９】
このように、システムの完全な電子処理ができず、印刷過程が含まれる場合であれば、本発明の２次元コード印刷用データの作成装置は非常に有効である。
ところで、前記印刷用データ作成対象の２次元コードは、例えば、マトリックスの頂点に、２次元コードの位置を特定する位置決め用シンボルを少なくとも１つ配置したものであってもよい。これはいわゆるＱＲコードと呼ばれる種類の２次元コードである。もちろん、ＱＲコード以外にも、例えばデータコード、ＣＰコード、ベリコード、カルラコードなど、種々の２次元コードを対象とすることができる。
【００２０】
なお、このような２次元コード印刷用データの作成装置におけるデータ作成手段をコンピュータシステムにて実現する機能は、例えば、コンピュータシステム側で起動するプログラムとして備えられる。このようなプログラムの場合、例えば、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記憶媒体に記憶し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。また、例えば通信販売などの場合、販売業者は購入者に商品カタログを予め郵送し、そこから商品を選択して販売業者に注文させることが考えられるが、近年はパーソナルコンピュータの普及、ＣＤ−ＲＯＭなどの記録媒体の価格低下などから、商品カタログをＣＤ−ＲＯＭで送ることが増加している。このような場合は前記プログラムを商品カタログと一緒にＣＤ−ＲＯＭに記録することができて一層便利である。この他、ＲＯＭやバックアップＲＡＭ（不揮発性ＲＡＭも含む）を記憶媒体として前記プログラムを記憶しておき、このＲＯＭあるいはバックアップＲＡＭをコンピュータシステムに組み込んで用いても良い。
【００２１】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り、種々の形態を採り得ることは言うまでもない。
【００２２】
図１のブロック図には、上述した発明のいくつかが適用された通信販売システムの概略構成を示す。
この通信販売システムは、発注者側ユニット１０、販売者側ユニット３０とから構成されており、両ユニット１０，３０間は電話回線にて接続されている。
【００２３】
前記発注者側ユニット１０は、コンピュータシステム１１（２次元コード印刷用データの作成装置に相当する）と、プリンタ１２と、ファクシミリ装置１３と、ＣＤ−ＲＯＭドライブ１５とを備えている。コンピュータシステム１１は、制御部１１ａ（データ作成手段に相当する）、メモリ部１１ｂ、表示部１１ｃ、操作入力部１１ｄ（入力手段に相当する）などを備えており、作業者が操作入力部１１ｄを介して注文書に記載する情報を入力すると、制御部１１ａは、その注文書に記載する情報に対応する文字データに加えて、その文字データを２次元コード化したデータを印刷用データとしてメモリ部１１ｂのビットマップ上に展開し、その印刷用データをプリンタ１２に出力する。プリンタ１２はその印刷用データに基づいて、例えば図２に示すような注文書１００Ａを印刷する。この印刷された注文書１００Ａは、ファクシミリ装置１３から電話回線を介して販売者側ユニット３０へ送信される。
【００２４】
なお、ＣＤ−ＲＯＭドライブ１５はＣＤ−ＲＯＭ２０からデータを読み出すためのものであり、本実施例では、このＣＤ−ＲＯＭ２０は販売者側ユニット３０にて発行され、郵送などで発注者側へ送られてきたものである。このＣＤ−ＲＯＭ２０には、発注に必要な製品情報と共に、発注書１００Ａに入力すべき情報を所定の書式で作成するためのコンピュータプログラムが記録されている。このプログラムを用いることで、誤りなく、また販売者側としても処理し易い注文書１００Ａが発注者側ユニット１０にて作成できることとなる。また、このプログラムには、発注書１００Ａに入力すべき情報を２次元コード化して印刷するためのデータ（２次元コード印刷用データに相当する）を作成するプログラムも含まれている。したがって、このプログラムにて作成された印刷用データに基づいてプリンタ１２が印刷した注文書１００Ａは、図２に示すように、所定の書式にて印刷されると共に、その右肩部分に２次元コードＣが印刷されている。この２次元コードＣについては後述する。
【００２５】
一方、販売者側ユニット３０は、図１に示すように、コンピュータシステム３１と、スキャナ３２と、ファクシミリ装置３３と、ＣＤ−ＲＯＭ発行装置３５とを備えている。ファクシミリ装置３３は、上述した発注者側ユニット１０のファクシミリ装置１３から電話回線にて送信されてきたファクシミリデータを受信して出力、すなわち注文書１００Ｂを印刷する。そして、スキャナ３２によってこの注文書１００Ｂ中の２次元コードＣの部分を読み取る。
【００２６】
スキャナ３２は、ＣＣＤ、２値化回路、画像メモリおよび制御回路などを備える周知の構成であり、２次元コードＣを読み取ってデータ解読を実行する。ここで２次元コードＣについて説明する。図３に示すように、この２次元コードＣは、注文書１００Ａ上の白色の余白部分に印刷されており、３個の位置決め用シンボル５４、データ領域５６、原点セルＣstから構成されている。これら全体はセル数が縦横同数（２１セル×２１セル）の正方形状に配置されている。各セルは、光学的に異なった２種類のセルから選ばれており、図及び説明上では白（明）・黒（暗）で区別して表す。なお、図３では便宜上、データ領域５６のデータセルのパターンは省略している。
【００２７】
位置決め用シンボル５４は、２次元コードＣ１の４つの頂点の内、３つに配置されている。そのセルの明暗配置は、黒部からなる枠状正方形５４ａ内の中心に白部からなる縮小した枠状正方形５４ｂが形成され、その内の中心に黒部からなる更に縮小した正方形５４ｃが形成されているパターンである。この位置決め用シンボル５４を走査した場合の明暗検出を図４に示す。図４（Ａ）に示すように、位置決め用シンボル５４の中心を代表的な角度で横切る走査線（ａ），（ｂ），（ｃ）での明暗検出パターンは、図４（Ｂ）に示すごとく、すべて同じ周波数成分比を持つ構造になっている。即ち、位置決め用シンボル５４の中心を横切るそれぞれの走査線（ａ），（ｂ），（ｃ）の周波数成分比は暗：明：暗：明：暗＝１：１：３：１：１となっている。勿論、走査線（ａ），（ｂ），（ｃ）の中間の角度の走査線においても比率は１：１：３：１：１である。なお、図３（Ｂ）は２値化回路にて２値化された走査線信号に該当する。
【００２８】
したがって、このような特定周波数成分比となる位置決め用シンボル５４を３つ検出し、１画面中におけるそれらの位置が判れば、正方形である２次元コードＣが存在する領域を特定することができる。なお、この２次元コードＣの存在領域を特定する際の処理及びスキャナ３２の構成については、例えば特開平８−１８０１２５号公報に詳しく開示されているので、必要であればそれを参照されたい。
【００２９】
このようにしてスキャナ３２にて読みとったデータ、すなわち解読データはコンピュータシステム３１へ送られる。コンピュータシステム３１では、その解読データに基づいて所定の受注処理を実行する。これにより、ファクシミリ装置３３にて受信し印刷した注文書１００Ｂに記載された文字データを人が読み取ってコンピュータに入力するといった処理は不要となり、スキャナ３２にて読み取るという簡単な作業で済む。
【００３０】
なお、上述した発注者側ユニット１０のＣＤ−ＲＯＭドライブ１５にて用いるＣＤ−ＲＯＭ２０は、販売者側ユニット３０のコンピュータシステム３１からの指令に基づいて、ＣＤ−ＲＯＭ発行装置３５が発行する。
以上説明したように通信販売システムにおいては、発注者側ユニット１０においてプリンタ１２で印刷された注文書１００Ａがファクシミリ装置１３に読み取られる。また、販売者側ユニット３０においてファクシミリ装置３３で印刷された注文書１００Ｂはスキャナ３２にて読み取られる。ここで、発注者側ユニット１０のプリンタ１２で印刷された注文書１００Ａと、販売者側ユニット３０のファクシミリ装置３３で印刷された注文書１００Ｂとは、基本的には同様の内容となるが、特に２次元コードＣの部分における黒セル（暗セル）の部分が太ったり細ったりする可能性がある。一般的には、発注者側ユニット１０のプリンタ１２で印刷された場合の黒セルが図７の（ａ１）〜（ａ３）であるとすると、販売者側ユニット３０のファクシミリ装置３３で印刷された場合の黒セルは図７の（ｂ１）〜（ｂ３）のように太ることが多い。したがって、このように黒セルが太った状態の２次元コードＣをスキャナ３２にて読み取ると、本来は白セル（明セル）の部分を黒セルと認識誤してしまい、解読データが誤った内容となる可能性もある。
【００３１】
なお、黒セルが太る原因や白セルを黒セルと誤認識してしまう点については、従来技術の問題として、図９，１０を参照して説明したので、ここでは繰り返さない。
また、図７（ａ４），（ｂ４）に示すように、逆に黒セルが細くなることも考えられ、この場合には黒セルを白セルと誤認識してしまう。但し、上述したように、一般的には黒セルが太ることが多いので、以下の説明では、黒セルの太りによる悪影響を防止するという観点を中心に進めていき、必要に応じて、黒セルが細った場合についても言及していくこととする。
【００３２】
本実施例においては、このような黒セルの太り（細り）に対して、発注者側ユニット１０のプリンタ１２にて注文書１００Ａを印刷する時点で、黒セルを予め細らせて（太らせて）おくことにより、販売者側ユニット３０のファクシミリ装置３３で注文書１００Ｂが印刷された状態で、適正な、つまり正規のセルサイズを持つ２次元コードＣが印刷されているようにする。具体的には、発注者側ユニット１０のコンピュータシステム１１における印刷用データの作成時に工夫をする。したがって、続いて、その発注者側ユニット１０のコンピュータシステム１１における印刷用データの作成処理について説明する。
【００３３】
図５は、ＣＤ−ＲＯＭドライブ１５によってＣＤ−ＲＯＭ２０から読み出したプログラムに基づき、コンピュータシステム１１内の制御部１１ａが実行する印刷用データの作成に関する処理を示すフローチャートである。
まず、印刷データの入力を行う（Ｓ１０）。具体的には、発注内容が未記入の所定書式の注文書がＣＤ−ＲＯＭ２０から読み出されて表示部１１ｃに表示される。作業者は、操作入力部１１ｄを操作して、必要な発注内容を入力していく。この際、発注に必要な製品情報についてもＣＤ−ＲＯＭ２０から読み出すことができ、その製品情報を参照して必要事項を入力していく。そして、必要事項の入力が終了し、所定の操作を入力すると、このＳ１０での印刷データ入力処理が終了して、Ｓ２０へ移行する。
【００３４】
Ｓ２０では、その入力された印刷データをビット列、すなわち０，１データ列に変換する。このビット列に基づけば、図２に示す注文書１００Ａの内の、２次元コードＣ以外の部分が印刷されることとなる。続くＳ３０〜Ｓ５０では、この印刷データのビット列に基づいて２次元コードＣ用の印刷データを作成する。
【００３５】
まず、Ｓ３０では、Ｓ２０で変換した印刷データのビット列をメモリ部１１ｂのビットマップにマトリックス状に配置する。そして、続くＳ４０では、各ビットを正規サイズのドット配置に変換する。ここでは、黒ドットを１、白ドットを０とし、図６（ａ），（ｂ）に示すように、白セル及び黒セルの正規サイズを共に５ドット×５ドットとする。その後、Ｓ５０にて、ビットマップ上で、白セルを構成する白ドットのみを所定方向に拡大してから、Ｓ６０にて、ドット配列イメージをプリンタ１２へ出力する。プリンタ１２はこの出力されたドット配列イメージに基づいて注文書１００Ａを印刷する。
【００３６】
ここで、Ｓ５０にて説明した白ドットの拡大について説明する。
図６（ａ）に示す正規サイズの白セルが５ドット×５ドットであるとすると、縦横１ドットずつ拡大して６ドット×６ドットとしたものが図６（ｃ）に示すサイズであり、縦横２ドットずつ拡大して７ドット×７ドットとしたものが図６（ｄ）に示すサイズである。そして、本実施例のおいては、６ドット×６ドットに拡大する場合、セルの右及び下方向へ１ドットずつ拡大する。また、７ドット×７ドットに拡大する場合、セルの左右上下の全方向へ１ドットずつ拡大する。なお、図示してしないが、８ドット×８ドットに拡大する場合、セルの右及び下方向へは２ドットずつ拡大し、左及び上方向へは１ドットずつ拡大する。
【００３７】
図６（ｅ）には、正規サイズの白黒セルを配置した一例を示し、図６（ｆ）には、白セルを６ドット×６ドットに拡大した場合のセル配置を示している。この例からも判るように、白セルを拡大することによって、白セルが黒セルに重なる部分では黒セルが縮小することとなる。但し、黒セルと黒セルとが隣接している部分では黒セルの縮小は起こらない。また、当然ながら白セルが白セルに重なる部分は白セルである。これらは、白ドットである０と黒ドットである１とが重なる部分では０を出力し、白ドットである０同士が重なる部分ではやはり０を出力するようにすれば簡易に実現できる。
【００３８】
このように白セルを６ドット×６ドットに拡大した場合には、図７（ａ２）に示すように、黒セルが左及び上方向から１ドットずつ縮小された状態で印刷されることとなる。そして、このように印刷された注文書１００Ａが販売者側ユニット３０のファクシミリ装置３３に転送され、印刷された場合の黒セルは図７（ｂ２）のように太ってしまっているが、元々、黒セルを縮小させて印刷させてあるので、太っても、白セル部分にはみ出す量が少なくなる。同様に、白セルを７ドット×７ドットに拡大した場合には、図７（ａ３）に示すように、黒セルが左右上下全方向から１ドットずつ縮小された状態で印刷されることとなる。そして、このように印刷された注文書１００Ａが販売者側ユニット３０のファクシミリ装置３３に転送され、印刷された場合の黒セルは図７（ｂ３）のように太ってしまっているが、元々、全方向に縮小させて印刷させてあるので、白セル部分に全くはみ出していない。
【００３９】
以上説明したように、本実施例では、発注者側ユニット１０のコンピュータシステム１１において、２次元コードの黒セルを予め細らせた状態で印刷するための印刷用データを作成でき、この印刷用データに基づいて印刷した注文書１００Ａが、ファクシミリ装置１３，３３を介して転送され、印刷されることで黒セルの太りが発生した場合であっても、元々細らせてあるので、印刷後の注文書１００Ｂにおいて、適正なセルサイズでの２次元コードとすることができる。つまり、上述の推定中心位置のずれが生じた場合であっても、データの誤判断がされないような２次元コードとすることができる。
【００４０】
そして、本実施例では、黒セルの縮小度合いを作業者が指示できるようにされている。黒セルの太り状況はファクシミリ装置１３，３３個別に異なり、また同じ装置であっても、読取状況などによって異なる可能性がある。したがって、その黒セルの太り状況を作業者自身が判断して、最適な状態に設定できる。
【００４１】
なお、本実施例では、結果的には黒セルのサイズを縮小させた２次元コードＣの印刷用データを作成する場合であっても、黒セルそのものを縮小させるのではなく、白セルのサイズをセル単位で拡大させているため、次の利点がある。つまり、黒セルを縮小させる場合には、形状的に黒セル同士が隣接している部分は縮小させず、黒セルと白セルが隣接している部分だけを縮小させる必要がある。なぜなら、黒セル単位で縮小させてしまうと、黒セル同士が隣接している部分の間に明部分が生じてしまう可能性があり、その部分に上述のセルの推定中心位置がずれるしまうと、今度は、本来は黒セルであるにもかかわらず白セルであると誤認識してしまうからである。これに対して、白セルを拡大させる場合には、単にセル単位で拡大させるだけでよい。上述したように、ビットマップ上で白ドットを示す０と黒ドットを示す１が重なった場合は０を選択するようにしておけば、それだけで対処できるため、データ処理上は簡便に実現できる。
【００４２】
なお、黒セルが細る場合についても同様の処理で対応できる。つまり、図６（ｂ）に示す５ドット×５ドットを正規サイズとする黒セルを６ドット×６ドットに拡大してビットマップ上に展開させた場合、明暗セルが隣接している部分では、０と１のビットが重なるが、この場合には１を出力させる。黒セル同士が隣接している部分でも１と１のビットが重なるが、この場合も１を出力する。つまり、少なくとも一方が１であれば、１を出力するようにするだけで対応できる。
【００４３】
図７（ａ４）は、このように黒セルを左及び上方向へ１ドットずつ拡大して印刷した場合を示しており、図７（ｂ４）は、販売者側ユニット３０のファクシミリ装置３３に転送され、印刷された場合の黒セルが細ってしまった状況を示している。この場合には、元々黒セルを太らせてあるので、細ってしまった結果、本来の黒セルのサイズに近い状態で印刷されることとなる。
【００４４】
［その他］
前記実施例では、２次元コードＣとして、いわゆるＱＲコードを用いたが、それ以外であっても、例えば図８（ａ）に示すデータコード、図８（ｂ）に示すＣＰコード、図８（ｃ）に示すベリコード、図８（ｄ）に示すカルラコードなど、種々の２次元コードを対象とすることができる。
【００４５】
また、前記実施例においては、通信販売システムに用いる注文書に印刷する２次元コードＣを例にとって説明した。そして、黒セルの太る原因としてファクシミリ装置１３での読み取り過程に注目したが、ファクシミリ装置を用いた場合だけが太る原因ではない。例えばコピー装置においても読取過程があるので、この読取時においても同様の太りが生じる可能性がある。したがって、例えば２次元コードを印刷した書類を多数コピーして用いる場合には、原紙となる書類に印刷する際に、黒セルを縮小（あるいは拡大）させた２次元コードを印刷させておくことが有効であり、このような場合にも用いることができる。また、インクジェット方式のプリンタで印刷する時も、印刷インクのにじみによって同様の太りが生じる傾向があるので、本発明の方法を適用すると有効である。
【００４６】
また、前記実施例では、ＣＤ−ＲＯＭ２０にプログラムを記録するようにしたが、フロッピーディスクや光磁気ディスクなどのその他の記録媒体であってもよい。
【図面の簡単な説明】
【図１】  実施例としての通信販売システムの概略構成を表すブロック図である。
【図２】  発注内容及び２次元コードが印刷された注文書の説明図である。
【図３】  ２次元コードの概略説明図である。
【図４】  位置決め用シンボルを走査した場合の明暗検出の説明図である。
【図５】  発注者側ユニットのコンピュータシステムにて実行される印刷用データの作成処理を示すフローチャートである。
【図６】  セルサイズの拡大及びセル配置例を示す説明図である。
【図７】  発注者側ユニットのプリンタにて印刷された黒セルと、販売者側ユニットのファクシミリ装置にて印刷された黒セルを示す説明図である。
【図８】  ２次元コードの他の例を示す説明図である。
【図９】  黒セルの太りあるいは細りが生じるメカニズムの説明図である。
【図１０】  黒セルの太りによる誤認識が生じるメカニズムの説明図である。
【図１１】  黒セルの細りによる誤認識が生じるメカニズムの説明図である。
【符号の説明】
１０…発注者側ユニット            １１…コンピュータシステム
１１ａ…制御部                    １１ｂ…メモリ部
１１ｃ…表示部                    １１ｄ…操作入力部
１２…プリンタ                    １３…ファクシミリ装置
１５…ＣＤ−ＲＯＭドライブ        ３０…販売者側ユニット
３１…コンピュータシステム        ３２…スキャナ
３３…ファクシミリ装置            ３５…ＣＤ−ＲＯＭ発行装置
５４…位置決め用シンボル        １００Ａ，１００Ｂ…注文書
【図１】
0003716615.tif 000002
【図２】
0003716615.tif 000003
【図３】
0003716615.tif 000004
【図４】
0003716615.tif 000005
【図５】
0003716615.tif 000006
【図６】
0003716615.tif 000007
【図７】
0003716615.tif 000008
【図８】
0003716615.tif 000009
【図９】
0003716615.tif 000010
【図１０】
0003716615.tif 000011
【図１１】
0003716615.tif 000012