バーコード生成システム、バーコード生成プログラム、および印刷装置
【課題】比較的短時間に最小限の用紙およびインクの使用で、個々のユーザの使用条件に合った適正なバーコード構成情報ひいてはバーコードを生成する。
【解決手段】バーコード用の黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データに基づいて特定の印刷装置で印刷されたテストチャートを読み取り、その濃度値を2値化することにより、黒バーおよび白バーの幅を測定する。その際、テストチャートから得られた濃度値の、最大値と最小値の平均値を基に、前記2値化のための閾値を決定する。測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として求める。
【解決手段】バーコード用の黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データに基づいて特定の印刷装置で印刷されたテストチャートを読み取り、その濃度値を2値化することにより、黒バーおよび白バーの幅を測定する。その際、テストチャートから得られた濃度値の、最大値と最小値の平均値を基に、前記2値化のための閾値を決定する。測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として求める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バーコードを印刷するためのバーコード構成情報を生成するバーコード生成システムに関する。
【背景技術】
【0002】
一般に、インクジェット記録ヘッドを用いた印刷装置でバーコードの印刷を行うシステムでは、さまざまな記録媒体(メディア)に対して非接触で画像を形成することができるという利点がある一方、紙面上でインク滴が滲む現象により、バーコードの黒バーが太くなり、それに隣り合う白バーが細くなる傾向にある。本来、バーコードの黒バーと白バー(スペース)は同じ幅である必要がある為、このバーの太り細りはバーコードの読取り精度に大きく影響を与え、時には読取り不可能なバーコードになってしまうという問題があった。
【0003】
この問題を解決する手段として、予めドットの滲みを見越してバーコードの白バーを大きくした構成にするバーコード補正方法や、黒バー部分を滲みにくくする方法がある(特許文献1参照)。
【0004】
また、このインクの滲む度合いは紙の素材に大きく起因する為、紙の種類を変更するとバーコードが読めなくなるという問題もあった。
【0005】
この問題を解決する手段として、紙の種類ごとに黒バーと白バーのドット数を予めテーブルとして用意することで紙種の違いをカバーする方法がある(特許文献2参照)。
【0006】
さらに、インクの滲み具合に関わる要因は紙の素材だけでなく、インクの種類や記録ヘッドの個体差、使用環境など様々な要因が関与し合っており、これら使用条件の違いによってもバーコードが読めなくなる場合があるという問題もあった。
【0007】
この問題を解決する手段として、補正値の異なるバーコードを幾つも作成して実際に印刷し、バーコード検証機で読み取ることで個々の使用環境に合ったバーコード生成を可能にする方法も提案されている(特許文献3)。
【特許文献1】特開2003−237059号公報
【特許文献2】特開平08−123886号公報
【特許文献3】特開平08−044807号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1記載のバーコード生成システムでは、ドットの滲み具合が予め判っている場合は有効な手段であるが、紙種の変更などに対応できないという課題が残っている。
【0009】
また、特許文献2記載のバーコード生成システムでは、紙種が新規追加される度に、ソフトウェアのバーコード補正テーブルも追加修正しなければならない課題があった。
【0010】
さらに、特許文献3記載のバーコード生成システムでは、実際に使用するバーコードの条件、つまりEAN128やCODE39などのバーコード種類や、バーコード化する数値の桁数やサイズなどの各パラメータに対して補正値を微調整した非常に多くのバーコードを作成して印刷し、検証機による読取り結果を比較する手法であり、最適なバーコード条件を決定する為には印刷に使用する用紙や時間を多く浪費するという課題があった。また、従来の条件と滲み率が大きく異なる用紙が追加されると、補正範囲を広げた検証用バーコードをさらに追加する必要があり、検証パターンのメンテナンス面での課題もあった。
【0011】
また、インクジェット記録方式の印刷装置においては、吐出されたインクの主滴から切り離されたサテライトによって、同じドット幅でバーコードを構成しようとしても、搬送方向に対して平行に構成した場合と、垂直に構成した場合のバー幅が異なってしまうという課題もあった。この問題は、特に1パスで印刷を行う場合に顕著である。
【0012】
このような従来の問題に対し、本出願人は特願2007−151371号、特願2007−183745号および特願2007−241989号として、実際の印刷環境にて、バーコードを構成するバーとスペースそれぞれの補正値を算出するためのテストチャートを印刷し、その印刷結果を基にバーコード補正値を決定するバーコード生成システムおよびそのためのテストチャートを提案した。これにより上記問題が解決された。
【0013】
このシステムでは、テストチャートをスキャナから読取後、得られた多階調値を所定の閾値に基づいて、印刷領域である黒の部分、非印刷領域である白の部分に2値化し、黒の部分をバー幅、白の部分をスペース幅と決定するものである。しかし、産業用途で使用する記録紙は、白いものばかりでなく、カラー用紙であったり、予めプレ印刷されたものであったりすることがある。そのような場合、2値化の閾値が適正でないために、バーとスペースを適正に判別することができないという事態が生じうる。
【0014】
本発明はこのような背景においてなされたものであり、その目的は、比較的短時間に最小限の用紙およびインクの使用で、個々のユーザの使用条件に合った適正なバーコード構成情報ひいてはバーコードを生成することができるバーコード生成システム、バーコード生成プログラム、および印刷装置を提供することにある。
【課題を解決するための手段】
【0015】
本発明によるバーコード生成システムは、バーコードを印刷するためのバーコード構成情報を生成するバーコード生成システムであって、バーコード用の黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データに基づいて特定の印刷装置で印刷されたテストチャートを読み取り、その濃度値を2値化することにより、前記黒バーおよび白バーの幅を測定する測定手段と、前記測定手段の測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として求めるバー幅補正手段とを備え、前記測定手段は、前記テストチャートから得られた濃度値の最大値と最小値の平均値を基に、前記2値化のための閾値を決定することを特徴とする。
【0016】
前記測定手段により、ある印刷装置およびある種類の用紙等の条件下で印刷されたテストチャートから、さまざまなドット幅(指示値)で印刷したバー要素(黒バーおよび白バー)の実際の幅の実測値を得ることにより、その条件下でのドット幅と実際の幅の関係が把握される。その際、テストチャートから得られた濃度値の最大値と最小値の平均値を基に、黒バー幅と白バー幅を決定するので、記録媒体の種類(色も含む)や印刷濃度の影響を受けることがなく、適正にバー幅の検出が行える。バー幅補正手段は、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として求める。このバーコード補正値を用いて、当該条件下でバーコードを印刷すれば、バーコードの要素幅にドットの滲み等の幅変動要因があっても、適正な要素幅でのバーコードを印刷することが可能となる。
【0017】
より具体的には、前記バー幅補正手段は、前記テストチャートに印刷した黒バーおよび白バーの幅のドット数と前記黒バーおよび白バーの幅の実測値との関係に基づいて、ドット数と前記黒バーおよび白バーの幅とを対応づけた補正テーブルを生成する。
【0018】
さらに、前記バー幅補正手段は、バーコードの種類および基準となるバーの幅情報の入力を受け付ける手段を有し、前記受け付けたバーコードの種類および基準となるバーの幅情報に基づいて、前記補正テーブルを参照し、当該種類の印刷後のバーコードのすべての黒バーおよび白バーの幅が当該バーコードの種類における規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数を選定する。
【0019】
前記黒バーは、縦方向に互いに平行に伸びる複数の黒バーと、横方向に互いに平行に伸びる複数の黒バーとを含み、前記補正テーブルおよびバーコード補正値は縦方向と横方向とで別個に生成するようにしてもよい。これにより、バーコードの方向によってバー幅がサテライトの影響を受けるのを防止することができる。
【0020】
前記バー幅補正手段は、前記テストチャートに含まれないドット数の黒バー幅および白バー幅を前記測定結果に基づいて推測し、導き出すことができる。これにより、テストチャートのテストパターンに含まれるバー幅は限られたものだけで足りる。
【0021】
本発明の更に他の構成および作用効果については以下に詳述される。
【発明の効果】
【0022】
本発明によれば、印刷装置の設置環境や装置の個体差、紙の種類などユーザ個々の使用環境条件に合致した適正なバーコード構成情報の生成が可能なバーコード生成システムを提供することができる。また、短時間で適正なバーコード補正値を見出すことができ、且つインクや用紙の消耗を低減することができる。さらに、テストチャートの解析でドットの太り細りを測定する手法なので、バーコードの種類は用紙の種類が増えても、テストチャートの変更は不要である。
【0023】
しかも、テストチャートから黒バーおよび白バーの幅を決定するための閾値を、固定値ではなくテストチャートの測定結果を基に決定することにより、記録媒体の種類や印刷濃度に影響せずテストチャートを2値化でき、より印刷環境に応じた黒バー、白スペース幅を決定することが可能となる。
【発明を実施するための最良の形態】
【0024】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【0025】
図1に、本実施の形態におけるバーコード生成システムの概略図を示す。このシステムは、情報処理装置100とイメージスキャナ110と印刷装置200とを備える。
【0026】
本実施の形態における印刷装置200は、熱エネルギーを利用したインク吐出方式を採用したインクジェット印刷装置であり、記録媒体の一種としての用紙103を搬送する搬送ユニット106と、用紙103の現在位置および搬送速度を検出する為のエンコーダ104と、画像データを記録するインクジェット記録方式の記録ユニット101で構成される。この記録ユニット101は、USBなどのインタフェースケーブル102を介して情報処理装置100と接続されている。情報処理装置100はパーソナルコンピュータ(PC)などの装置であり、この装置から印刷装置200に対して、画像データの転送や印刷コマンド、クリーニングなどの制御コマンドの転送が行われる。情報処理装置100には、その周辺装置の一つとして、後述するテストパターンを記録したテストチャートを光学的に読み取るためのイメージスキャナ110が接続される。
【0027】
記録ユニット101による画像データ記録は、搬送ユニット106における用紙センサ(図示せず)からの用紙検出信号をトリガにして、エンコーダ104の用紙速度信号に同期しながら、搬送された用紙103に対してインク滴を吐出することにより行われる。記録内容は、任意であるが、図1の例では1次元バーコード105である。
【0028】
なお、エンコーダ104を用いずに、記録ユニット101とは独立した搬送装置により用紙等の記録媒体をユーザが指定する任意の速度で搬送する構成であってもよい。
【0029】
図2は、図1のシステムにおける情報処理装置100と印刷装置200の制御ハードウェアの構成例を示すブロック図である。
【0030】
情報処理装置100は、中央処理装置(CPU)等により構成される制御部111を備え、この制御部111により記憶部112に格納されている制御プログラムを実行し、各部を制御する。記憶部112は、ROM、RAM、HDD等を含みうる。表示部113は、LCD,CRT等のディスプレイを含み、ユーザに対して表示画面上に情報を表示する。操作部114は、キーボード、マウス等を含み、ユーザからの操作や情報の入力を受け付ける。USBインタフェース115は、情報処理装置100を印刷装置200と接続するためのプリンタインタフェースの一例として示してある。但し、プリンタインタフェースはUSBに限るものではない。
【0031】
印刷装置200の制御部201は、中央処理装置(CPU)202を備え、このCPU202により不揮発性メモリ(ROM)203に格納されている制御プログラムを実行し、各部を制御する。また、制御部201は、CPU202により各種データ処理のワークエリアや受信バッファとして使用されるメモリ(RAM)204や、制御回路209を介して、画像展開部として使用されるイメージメモリ205を備える。更に、CPU202は、制御回路209を介して、記録ヘッド214〜217を駆動するヘッド駆動回路210や、各記録ヘッドを記録に適正な状態に保つためのクリーニング動作や記録動作を制御する各種モータ206を駆動するモータドライバ211、記録ヘッド下に給紙を行うための搬送制御I/F207の入出力インタフェース制御部(I/O)212を制御する構成となっている。本例では、図1内のエンコーダ104は搬送制御I/F207に含まれているものとする。
【0032】
また、印刷装置200は、基本的に、外部装置である情報処理装置100から送信された画像データや各種コマンドなどをインタフェースケーブル102を介して受信するUSBコントローラ208を有し、この受信した各種コマンドに従って動作する。
【0033】
図3は、図1に示した記録ユニット101で、バーコード用の黒バーおよび白バーにて構成されるパターンを記録した場合の概略図である。黒バーは黒インクで記録された直線要素であり、白バーは記録の空白部で構成される直線要素であり、白スペースともいう。この図の例では、ライン21、22、23の順で、記録を行ったものである。以下、バーコードの記録部である黒バーを単にバーと呼び、隣接する黒バーと黒バーの間の隙間(非記録部)である白スペースを単にスペースとも呼ぶ。図3の例では、ライン21により細バーを構成し、ライン22、23により太バーを構成している。
【0034】
インクジェット印刷装置では、記録されるドットのサイズは、インクという液体を吐出させて画像を形成するという特性上、使用環境や記録ヘッドの個体差、インクの種類などの条件に依存するインクの吐出量と、用紙の素材に依存する滲み率によって変化する。通常、ある範囲内の使用環境を想定し、対記録媒体との関係から吐出量を設定し、インクのドットサイズを決定している。
【0035】
しかし、産業用途等の過酷な記録条件や設置環境、ヘッドの個体差、紙種などの影響で、にじみ、吐出量が変化する。その結果、図3にケース1、ケース2として示すように印刷されたドットサイズが変形することがある。ドットサイズが変化すると、ドット間のスペースが規定値に対し増減することになり、その結果、バーコードの読取り不良や、最悪ケースでは読めなくなるといった場合が生じる。
【0036】
また、仮に上記のようなにじみ方のばらつき要因がないとしても、インクをにじませて画像を形成している以上、同じドット数で黒バーと白スペースを形成しても両者は同じ幅にはならない。インクジェット印刷装置におけるバーコードの生成になんらかの補正が必要なのはこのためである。
【0037】
図4はインクジェット印刷装置におけるサテライトが用紙に着弾するまでの時間経過に応じた状態を表した模式図である。記録ヘッド(ここでは記録ヘッド214)からインクが吐出されるとき、画像を形成するインクの主滴40が用紙103に着弾した後に、インク主滴40から遅れてインク主滴40の残りである副滴(サテライトともいう)41が用紙に着弾する。この副滴41は主滴40よりもサイズが小さい。記録ヘッド214に対して相対的に用紙103が一方向(図の→方向)に搬送されるとき、サテライト41は主滴40の着弾に対して必ず用紙搬送方向の後ろ側に形成されてしまう。ここでは用紙の全幅に亘って並んだノズル列を有するライン型の記録ヘッドを想定しているが、いわゆる用紙の搬送方向と直交する方向に主走査されるシリアル型の記録ヘッドにおいても同様のサテライトによる影響がありうる。すなわち、サテライトは主滴40の着弾に対して必ずヘッド走査方向の後ろ側に形成されてしまう。
【0038】
図5(a)は、インクジェット印刷装置においてノズル列223に対して平行のバーを有するバーコードを構成した際に発生するサテライトの状態を図にしたものである。これはライン型の記録ヘッドに対して用紙をA方向に搬送した場合を示している。上述のように、サテライト41は主滴40の着弾に対して必ず用紙搬送方向の後ろ側に形成されてしまう為、用紙搬送方向に対して垂直(すなわちノズル列に対して平行)のバーで構成されるバーコードは、主滴ドット列221に隣接するサテライトドット列220の影響により黒バーの幅が白スペースの幅に対して極端に大きくなってしまうおそれがあった。
【0039】
図5(b)は、インクジェット印刷装置において用紙搬送方向に平行(すなわちノズル列223に対して垂直)のバーを有するバーコードを構成した際に発生するサテライトの状態を図にしたものである。図5(a)の場合に比べて図5(b)のバーコードは、サテライトドット列が主滴ドット列の線上に重なり、大半のサテライトは主滴ドット列に重なり相殺されてしまう。また、この場合のサテライトが主滴に対してずれる方向はバー幅に影響しない方向である。その為、サテライトが発生しても、黒バー幅が白スペース幅よりも極端に大きくなってしまうということはない。図5(a)(b)の本来同じ幅の白バーはL1<L2と、図5(a)の方が小さくなっている。
【0040】
このようにサテライトが発生するインクジェット印刷装置においてバーコードを印刷する場合は、バーコードの向きによっても黒バー幅と、白スペース幅が異なる為、それぞれの場合に対して適性なバーコードの生成を行う必要がある。
【0041】
本発明は、このような問題に対応すべく、バーコードを構成するバー、スペースの幅のドット数と実記録されたバーおよびスペースの幅の実際の値との関係を簡単に得られるテストパターンを用い、その読取結果を基にバーコード(構成情報)を補正することにより、記録環境が変化しても安定して読取り可能なバーコードを生成できるようにする。すなわち、テストパターンの測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として選定する。
【0042】
次に、本実地の形態による、バーコード補正値決定のために用いるテストチャートおよび、バーコード幅の補正の方法について説明する。
【0043】
図6および図7にそれぞれ、本実施の形態における、黒バーおよび白スペースの太り細りの状態が確認可能なテストパターンの構成例を示す。
【0044】
図6のテストパターン600pは、黒バー群を含むポジ(正)のテストパターンであり、それぞれ、各バーがノズル列223に平行な方向(横方向)に延びる複数の黒バーからなる黒バー群601pと、ノズル列に垂直な方向(縦方向)に延びる複数の黒バーからなる黒バー群602pとを含む。この例では、いずれの黒バー群も3,4,5,6,10,15,20の各ドット数の7種類の異なるバー幅で構成されている。但し、バー幅は必ずしもこのような7種類が必要なわけではなく、このテストパターンにおける黒バー幅の種類は少なくとも2種類あればよい。ドット列603pの各ドットは孤立した単一ドット(黒ドット)により構成され、各ドット径の確認等に利用されるものであるが、本実施の形態における動作には直接関係しない。
【0045】
図7のテストパターン600nは、白スペース群を含むネガ(負)のテストパターンであり、それぞれ、各バーがノズル列223に平行な方向に延びる複数の白バーからなる白バー群601nと、ノズル列に垂直な方向に延びる複数の白バーからなる白バー群602nとを含む。この例では、いずれの白バー群も3,4,5,6,10,15,20の各ドット数の7種類の異なるバー幅で構成されている。白バーについても、バー幅は必ずしもこのような7種類が必要なわけではなく、このテストパターンにおける白バー幅の種類は少なくとも2種類あればよい。ドット列603nの各ドットは孤立した単一ドット(白ドット)により構成され、各ドット径の確認等に利用されるものであるが、本実施の形態における動作には直接関係しない。
【0046】
図6、図7で説明したテストパターン600p、600nを記録したテストチャート600(後述する図10)は、実際にバーコードの印刷に使用される用紙に印刷されたテストチャートの面上の各バーの幅を実測することにより、印刷されたドット数と紙面上の実バー幅の関係を掌握することができる構成を有する。つまり、実際の使用条件(装置、環境、用紙)で本発明のテストチャートを印刷すれば、記録ヘッドの個体差に起因する吐出量の違いや、用紙の種類に起因する滲み率の違いを考慮した実バー幅を知ることができ、その実バー幅に応じて黒バー/白スペースの幅サイズを補正したバーコードを生成することが可能である。テストチャートを読み取って得られるイメージの解析手法に関しては後述する。
【0047】
本例の7種類のバー幅(ドット数3、4、5、6、10、15、20)のように、テストチャートを比較的多くの種類のドット幅で構成する場合は、図示のように比較的細い幅のバーを構成するドット数をより多く入れ込むのが望ましい。実際のバーコードの寸法許容値はバーが細いものほど寸法許容範囲が小さく、少しの寸法のずれでも品質低下が発生する恐れがある。一方、バーが太いものほど寸法許容範囲が大きい為、寸法がある程度ずれていても読取ランクに影響はない。よって、テストパターンに複数種類のドット列を入れる場合は細いドット列を多く入れることにより、細いバーコードの生成精度をアップさせ、バーコードの品質をより高めることが可能となる。
【0048】
用紙の大きさに応じて、複数の種類のテストチャートを有する場合も、バーの占有面積の見地からも、太い幅のドット列よりも細い幅のドット列の数を優先して配置する方が有利である。
【0049】
なお、好ましくは、例えば黒バー、白スペースを、1、2、3、10、20ドットというように広範囲で測定することにより、より精度の高い補正を行うことが可能となる。
【0050】
図8は、他のテストパターンを有するテストチャートの構成例を示している。このテストチャート600aのテストパターンでは、隣接するバーとバーとの間隔を白スペースとして利用する。各バーがノズル列223に平行な方向(横方向)に延びる複数のバーからなるバー群601aと、各バーがノズル列223に垂直な方向(縦方向)に延びる複数のバーからなるバー群602aを含んでいる。ドット列603の各ドットは孤立した単一ドット(黒ドット)により構成され、各ドット径の確認等に利用されるものである。図8の構成によれば、テストチャートの画像データは、テストチャートの隣接する黒バー間の間隔を白バーとして使用するので、黒バーと白バーについて別々のテストパターンを用意する必要がなくなり、テストパターンのサイズが低減され、ひいてはこのテストパターンを記録するテストチャートのサイズが低減される。すなわち、テストチャートのサイズを大きくしたり、複数枚にする必要がなくなる。また、テストチャートの記録に必要な用紙やインクも節約される。図8の例では、1ドットから1ドットきざみに10ドットまで作成したが、理論的には上記グラフを描く為に、テストチャートに入れる黒バーは3種類、白スペースは2種類、少なくとも幅の違うものがあればよい。もちろん印刷用紙の印刷可能な領域に余裕がある場合は、精度を高める為にこれ以上増やしても構わない。
【0051】
図9(a)、(b)は、テストチャートのバーおよびスペースの印刷時のドット数と、それに対応する実際の印刷結果のバーおよびスペース幅の測定値をそれぞれグラフ化したものである。これはテストチャートの実測から得られた各値から、テストチャートに含まれないドット数とバーおよびスペースとの関係を推測する為のものである。それぞれバーコードのバーの向きがノズル列に「平行」の場合と「垂直」の場合の測定結果を示している。この図から分かるように、同じドット数でもバーの方が白スペースより実サイズが大きい。また、「垂直」と「平行」では、バーの場合は「平行」の方が大きく、スペースの場合は「垂直」の方が大きくなっている。
【0052】
図10は、本実施の形態におけるバーコード生成システムの外観構成例を示す。図6および図7に示したテストチャート600(または図8に示したテストチャート600a)を得るためには、情報処理装置100の記憶部112に格納された、テストパターンに対応するテストチャート画像データ1006が、情報処理装置100からインタフェースケーブル102を介して印刷装置200に転送される。印刷装置200における記録ユニット101(図1)によるテストチャート600の記録は、前述したように、実際の使用条件(印刷装置、記録環境、使用用紙等)と同じ条件下で行うことによって、最大限の効果が得られる。用紙上に記録出力されたテストチャート600は、イメージスキャナ110にセットされて読み取られる。情報処理装置100はこの読み取られたイメージ情報をインタフェースケーブル805を介して受信し、制御部111(図2)が、テストチャート600の各幅のバー要素の記録による実バー幅情報を得る。制御部111はまた、バー幅補正手段として、この実バー幅情報に基づいて後述するバーコード補正値1400を生成し、記憶部112に格納する。記憶部112には、後述する補正テーブル1300も記憶される。
【0053】
図11は、テストチャート600の読取および解析から得られた、指示された幅のドット数と、黒バー幅および白スペース幅の実測値との関係を示す測定結果テーブル1100を例示したものである。ノズル列に平行な黒バーおよび白スペースの測定結果と、ノズル列に垂直な黒バーおよび白スペースについての測定結果とを含む。このデータは、テストチャート600をイメージスキャナ110で読み取ることにより得られた画像データ上の、指示値としての各バー幅のドット数(整数)に対して、実際に紙面上に着弾し滲んだ黒バー幅および白スペース幅の実バー幅(単位はマイクロメートル)を測定することによって得られた結果を示している。したがって、測定結果テーブル1100は実際の異なる使用条件毎に作成される。具体的には、例えば7ドットで構成したノズル列方向に垂直な黒バー幅は、紙面上で335μmであり、同じ7ドットの白スペース幅は210μmになっていることが示されている。なお、図11に示したデータは図9に示したグラフの結果と一致するべきものであるが、本例では便宜上、その整合を図ってはいない。
【0054】
図12は、図8のテストチャート600aの読み取りにより得られた測定結果テーブル1100aを例示したものである。
【0055】
図13は、図9の、測定結果に基づいて作成されたグラフから推測したドット数と黒バーおよび白スペースとの関係を、ドット数1ドットから25ドットまでの1ドットきざみで記載した補正テーブル1300を例示したものである。上述した実測値以外は実測値に基づく推定値である。ノズル列に対して垂直な黒バーおよび白スペースのパターンについてのテーブルと、平行な黒バーおよび白スペースのパターンについてのテーブルを含む。
【0056】
図14(a)、(b)は、図10に示したバーコード補正値1400の例として、種類の異なるバーコードについてのバーコード構成情報を格納したバーコード構成情報テーブル1401、1402を示している。
【0057】
1次元のバーコードは、大きく分けてバイナリレベルとマルチレベルの2種類に分類できる。バイナリレベルのバーコードとは、2種類の幅の黒バーと2種類の幅の白スペースで構成されたバーコードであり、両種類の幅は1:2の比率で構成される。代表的なバーコードとしては、Code39、ITFなどがある。マルチレベルのバーコードとは、4種類の幅の黒バーと4種類の幅の白スペースで構成されたバーコードであり、全種類の幅は、1:2:3:4の比率で構成される。代表的なバーコードとして、JAN、EAN128、Code128などがある。例えば、マルチレベルのバーコードを補正する場合、図13に示した黒バーと白スペースの補正テーブル1300から、実際の幅サイズが1:2:3:4となる黒バーの各ドット数を選び、且つ白スペースについては黒バーと実サイズ幅が同じとなるドット数を選ぶことによって、適正なバーコードの補正値を決定し、読み取り品位の高い適正なバーコードを生成することが可能である。
【0058】
以下、バイナリレベルのバーコード、Code39およびマルチレベルのバーコードEAN128のノズル列に対して垂直に構成されるバーから構成されるバーコードの補正値決定方法を具体的に説明する。
【0059】
図14(a)に示したバーコード構成情報テーブル1401は、規格上、細バー幅(NB)5ドットの場合のCode39の補正されたドット構成を示し、「垂直」、「平行」の両方の向きについてのデータを有する。この補正ドット構成は次のようにして得られる。細バー幅5ドットは、図13に示した補正テーブル1300から、その黒バー幅は250μmである。細スペースは、細バーと同じ250μmとなるドット数を補正テーブル1300から探し出すことにより、8ドットと決定される。これにより、5ドットで構成された黒バー幅と8ドットで構成された白スペース幅が、紙面上の実サイズとしては同じになる。太バーおよび太スペースは、細太比1:2により、250μm×2=500μmに最も近い値に対応するドット数を補正テーブル1300から探し出し、実際の黒バー幅が500μmに最も近い505μmである太バー11ドット、実際の白スペース幅が500μmに最も近い505μmである太スペース14ドットと決定される。これにより、バーコード読取り率の重要ファクターの一つである『細バー×2=太バー』および『黒バー幅=白スペース』という規格条件を紙面上の実サイズで保証することができる。
【0060】
図14(b)に示したバーコード構成情報テーブル1402は、規格上、細バー幅(NB)4ドットの場合のEAN128の補正されたドット構成を示し、「垂直」、「平行」の両方の向きについてのデータを有する。例えば、「垂直」の場合、補正ドット構成は次のようにして得られる。細バー幅4ドットは、補正テーブル1300から実際の黒バー幅で210μmなので、1:2:3:4となる4値の各黒バーのバー幅は、計算上、それぞれ210μm、420μm、630μm、840μmである。そこで、上記と同様の手法で、図13の補正テーブル1300から各々のバー幅となるドット数は、4ドット、9ドット、14ドット、19ドットと決定される。同様に、210μm、420μm、630μm、840μmのスペース幅は、7ドット、12ドット、17ドット、22ドットと決定できる。これにより、バーコード読取り率の重要ファクターの一つである『1:2:3:4の比率』および『黒バー幅=白スペース』という規格条件を、紙面上の実サイズで保証することができる。「平行」の場合も同様である。
【0061】
情報処理装置100の記憶部112に、これらのバーコード構成情報テーブル1401、1402はバーコードの種別情報とともに保存される。
【0062】
図15は、本実施の形態のバーコード生成システムの動作を説明する為の画面例を示している。
【0063】
情報処理装置100上で実行されるバーコード生成アプリケーションの入力画面1500は、バーコードの種類を選択肢の中から選択するバーコード種類選択欄1501と、基準となるバーの幅情報としての細バー(ナローバー)のドット数を入力するドット数入力欄1502と、テストチャート600を読み取ることを指示する「チャート読込」ボタン1503と、少なくともバーコードの構成情報を生成するための「バーコード生成」ボタン1504と、用紙サイズを選択するための「用紙サイズ選択」ラジオボタン1505と、終了指示を受けるための「終了」ボタン1507とで構成される。
【0064】
バーコード生成アプリケーションは、「チャート読込」ボタン1503がユーザにより指示されたとき、イメージスキャナ110にセットされたテストチャート600の記録出力を読取り、読み取ったイメージに基づく各要素幅のドット数と実測値に基づいて図13に示したような補正テーブル1300を作成する。その後、「バーコード生成」ボタン1504が操作可能となる。「バーコード生成」ボタン1504がユーザにより指示されると、入力画面1500でユーザが指定したバーコード種類と細バーのドット数に合致した適正なバーコード補正値を求めて、バーコード構成情報画面1510を出力する。バーコード構成情報画面1510は、バイナリレベルのバーコードの場合は、後記の「バーコード方向」の選択結果に応じて、その細バー(ナローバー)1511、細スペース(ナロースペース)1513、太バー(ワイドバー)1515、太スペース(ワイドスペース)1514の各表示欄に適正な構成ドット数を表示する。「バーコード方向」選択メニュー1517でバーコードのバーの向き(ノズル列に垂直または平行)を選択することができる。「OK」ボタン1515により情報処理装置100内の記憶部112に当該バーコードの構成情報(適正な構成ドット数等)が記憶される。記憶された情報は以降のバーコード記録に利用される。また、バーコード構成情報画面1510上の各表示欄はユーザによる修正入力を受け付けるようにしてもよい。例えば、バーコードの品位は低下するが、バーコードの小サイズ化のためにユーザがドット幅を例えば1ドット小さくするような微調整入力を行えるようにしてもよい。また、「バーコード方向」選択メニュー1517を設けずに「垂直」、「平行」の両方のデータを同時に表示するようにしてもよい。
【0065】
なお、バーコード生成アプリケーションがバーコード記録機能を備えない場合には、バーコード構成情報画面1510はユーザが補正値を確認するために利用することができる。確認した後は、一般的なバーコード生成ソフトウェアのドット構成入力欄(図示せず)に、それらのバー幅およびスペース幅の値を設定することができる。その結果、読取り率の高い適正なバーコード生成が可能となる。
【0066】
マルチレベルのバーコードの場合には、図示しないが同様の画面1510に、4値の各バー/スペースの表示欄に適正な構成ドット数を表示する。
【0067】
同様にノズル列に対して平行なバーコードを生成する場合は、それに対応した補正テーブルを参照してバーコードの生成を行うことにより、バーコードの方向に対応したバーコードの生成を行うことが可能になる。
【0068】
図16は、本実施の形態のバーコード生成システムにおける補正テーブル1300の作成までの処理を表したフローチャートである。このフローチャートの処理の実行手順を表すプログラムは記録部112(図2)内に格納され、制御部111がこれを解釈実行することにより、この処理が実行される。後述する他の処理についても同様である。
【0069】
図16の処理の前にユーザは所定の操作によりテストチャート600を印刷装置200で印刷しているものとする。ユーザにより印刷済みのテストチャートがイメージスキャナ110にセットされた状態で、「用紙サイズ選択」ラジオボタン1505での用紙サイズ選択操作を受け(S11)、「チャート読込」ボタン1503の押下に応じて(S12)、テストチャート600を読み取る(S13)。テストチャート600に印刷された各ドット数に対する黒バーおよび白スペースの幅(μm)をその読取イメージに基づいて測定し(S14)、測定結果テーブル1100(図11)の作成を行う(S15)。ついで、この測定結果テーブル1100からドット数とその幅の長さの関係式を求めグラフを作成する(S16)。さらにこのグラフから、1ドット刻みで各ドット数に対応する黒バー、白スペースの幅(μm)を算出し(S17)、ドット数とバー幅とを対応付けた補正テーブル1300(図13)を作成する(S18)。実測値があるドット数についてはグラフによらずそのまま利用してもよい。これで先に作成した測定結果テーブル1100の不足ポイントが推測、補間された形で新たに補正テーブル1300が作成される。作成された補正テーブル1300は記録部112に記憶され(S19)、実際のバーコード生成の際に使用される。また、「バーコード生成」ボタン1504(図15)が有効化される。
【0070】
図17は、バーコード生成システム内で適正な補正が施されたバーコード構成を生成する処理を表したフローチャートである。
【0071】
図15に示した入力画面1500において、ユーザによるナローバーの所望のドット数の選択もしくは入力を受ける(S21)。ついで、バーコード種類および方向の選択を受ける(S22、S23)
【0072】
その後、「バーコード生成」ボタンが押されると(S24、Yes)、前述したドット数と幅の補正テーブル1300を参照し(S25)、バーコード種類、および両方向に適した黒バー、白バーの適正ドット数を決定する(S28)。「バーコード方向」選択メニュー1517で指定された方向の、決定されたドット数は図15のバーコード構成情報画面1510上に表示される(S29)。「バーコード方向」選択メニュー1517の方向を切り替えれば、表示されるドット数も切り替えて表示される。読取り可能なバーコードを生成可能でない場合には(S26、No)、すなわち、生成したバーコードの読取り品位が所定の判断基準に従って所定のレベルに達しないと判断された場合には、ユーザに対して警告を行って本処理を終了する(S27)。この警告は、テキストや記号、画像等、任意のメッセージの表示または音によるものが考えられる。
【0073】
なお、図16と図17の処理について共通の入力画面1500を用いたが、それぞれに利用される選択欄やボタンを設けた別個の画面を用意してもよい。
【0074】
ここで、テストチャート600の読取りから、各黒バー、各白スペースの幅を決定する方法について詳しく説明する。
【0075】
図18(a)に示すように、イメージスキャナ110からテストチャート600の読み取りにより各画素が多階調のラスタ画像が得られる。読み取りの解像度はスキャナによって決まるが、最も細いバーの幅に対して十分な個数のサンプリング点がとられるような解像度とする。本実施の形態では、このようなグレースケール(白黒階調)変換により、0〜256の階調値(濃度値)が得られる。このラスタ画像のバーを横切る少なくとも1本の線1801に沿って画素値をスキャンして階調値を確認し、位置対応に階調値をプロットしたものが図18(b)のグラフである。
【0076】
階調値は、反射率が高い部分、つまりは光を反射しやすい部分が“0”寄り、反射率が低い部分、つまりは光を吸収しやすい部分が“256”寄りとなる。白い用紙上に、テストチャート600を印刷した場合、黒バー部分が“256”寄り、白スペース部分が“0”寄りとなる。
【0077】
得られた階調値は、特定の階調値を閾値として2値化を行う。例えば、256階調値の中間値である“178”を閾値とすると、閾値“178”よりも“0”寄りの部分を白スペース、閾値“178”よりも“256”寄りの部分を黒バーと判断する。この2値化された値を基に、テストチャート600の各黒バー、白スペースの幅が決定される。
【0078】
ところで、産業用途で使用する記録紙は、白いものばかりでなく、カラー用紙であったり、予めプレ印刷されたものを使用することがある。バーコード補正値を決定するには、実際に生産に使用する記録紙を用いてバーコード補正値を決定しなければ適正な値を得ることができない。そのため、このような記録紙を用いてバーコード補正値を決定しなければならない場合がある。
【0079】
しかし、図19(a)に示すように、色味がついた記録紙にテストチャート600を印刷し、前述した中間値“178”を閾値として2値化を行った場合、記録紙の階調値が閾値“178”よりも“256”寄りであったとすると、全体が黒と判断され、黒バーと白スペース部分の判別がつかないという問題が生じる。この場合、予め、閾値を“256”寄りに設定することで2値化を行うことは可能となるが、図19(b)のように印刷濃度を低く設定し印刷したような場合は、印刷部分が階調値“0”寄りとなるため、今度は全体が白スペースと判断され、黒バーと白スペース部分の判別がつかないことになる。
【0080】
そこで、本発明では、図20(a)に示すテストチャート600を読み込んだスキャナから得られた256階調値を2値化する際に、図20(b)に示すように、検出した値の最も小さい値(最も“0”寄りの値)をA、最も大きい値(最も“256”寄りの値)をBとし、AとBの平均値を閾値とする。このように、最大値と最小値の平均値を閾値とすることにより、記録紙の種類や印刷濃度の影響を受けることなく、図20(c)に示すような2値化結果を得て、黒バーおよび白スペースを適正に判別することができる。その結果、さまざまな印刷環境下でバーコード補正値を決定することが可能となる。
【0081】
なお、ノイズの影響を排するために、“256”寄りの大多数のさらに大きい値から突出して大きい1または少数の値は、最大値の候補から除外するようにしてもよい。逆に、“0”寄りの大多数の小さい値から突出してさらに小さい1または少数の値は最小値の候補から除外するようにしてもよい。あるいは、複数の異なる線上で複数の最大値を得て、それらを平均したものを最大値として用いてもよい。最小値についても同様である。このような処理を施して得られた値についても、本明細書では「最大値」および「最小値」と呼ぶものとする。
【0082】
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。
【0083】
例えば、テストチャートに用いるテストパターンとして、どのドット数のバーを印刷するかをユーザが選択できるようにしてもよい。その場合、テストチャートとして有効に機能するために必要なドット数の値が不足するような場合には適宜ユーザにガイダンスを行ったり、警告を出したりすることが好ましい。許容される異なるドット数の組み合わせを複数組用意しておいてユーザに所望の組を選択させるようにしてもよい。
【0084】
上記実施の形態では、記録ヘッドを固定し、用紙が移動することにより画像を形成するタイプの印刷装置について述べたが、用紙が固定されて記録ヘッドが移動することにより画像を形成するタイプの印刷装置であってもよい。
【0085】
読み取り装置としてイメージスキャナを採用したが、テストチャートに対して走査される反射型光学センサを用いてもよい。
【0086】
イメージスキャナで読み取られたテストチャートの画像の解析およびバーコード補正値の決定は、情報処理装置100の機能として説明したが、この機能を印刷装置自体が備えてもよい。
【0087】
印刷装置の記録ヘッドは4本用いる例を示したが、個数は1本でも4本以外の複数本でもよい。
【0088】
記録方式としてはインクジェットを例に挙げたが、本発明は、記録ドットサイズが使用条件によって異なるような任意の記録方式に適用可能である。
【0089】
使用する用紙のサイズが一種類のみの場合には、「用紙サイズ選択」ラジオボタン1505は不要である。
【0090】
表示画面上に設けた各種のボタン、メニュー、入力欄等の位置、サイズ、構成、具体的な数値等はあくまで例示であり、本発明はそれらに限定されるものではない。
【図面の簡単な説明】
【0091】
【図1】本発明の実施の形態におけるバーコード生成システムの概略図を示す図である。
【図2】図1のシステムにおける情報処理装置と印刷装置の制御ハードウェアの構成例を示すブロック図である。
【図3】図1に示した記録ユニットで、バーコードのような黒バーと白バーにて構成されるパターンを記録した場合の概略図である。
【図4】インクジェット印刷装置におけるサテライトが用紙に着弾するまでの時間経過に応じた状態を表した模式図である。
【図5】インクジェット印刷装置においてノズル列に対して平行および垂直のそれぞれのバーを有するバーコードを構成した際に発生するサテライトの状態を示す図である。
【図6】本発明の実施の形態における、黒バーの太り細りの状態が確認可能なテストパターンの構成例を示す図である。
【図7】本発明の実施の形態における、白スペースの太り細りの状態が確認可能なテストパターンの構成例を示す図である。
【図8】他のテストパターンを有するテストチャートの構成例を示した図である。
【図9】テストチャートのバーおよびスペースの印刷時のドット数と、それに対応する実際の印刷結果のバーおよびスペース幅の測定値をそれぞれグラフ化した図である。
【図10】本発明の実施の形態におけるバーコード生成システムの外観構成例を示す図である。
【図11】本発明の実施の形態におけるテストチャートの読取および解析から得られた、指示された幅のドット数と、黒バー幅および白スペース幅の実測値との関係を示す測定結果テーブルを例示した図である。
【図12】図8に示したテストチャートの読み取りにより得られた測定結果テーブルを例示した図である。
【図13】図9の、測定結果に基づいて作成されたグラフから推測したドット数と、黒バーおよび白スペースの関係とを、ドット数1ドットから25ドットまでの1ドットきざみで記載した補正テーブルを例示した図である。
【図14】図10に示したバーコード補正値の例として、種類の異なるバーコードについてのバーコード構成情報を格納したバーコード構成情報テーブルを示した図である。
【図15】本発明の実施の形態のバーコード生成システムの動作を説明する為の画面例を示した図である。
【図16】本発明の実施の形態のバーコード生成システムにおける補正テーブルの作成までの処理を表したフローチャートである。
【図17】本発明の実施の形態におけるバーコード生成システム内で適正な補正が施されたバーコード構成を生成する処理を表したフローチャートである。
【図18】テストチャートの読み取り時のグレースケール(白黒階調)変換の説明図である。
【図19】グレースケールに対する2値化に用いる閾値についての問題の説明図である。
【図20】本発明における、スキャナから得られた階調値を2値化する際の閾値の決定方法の説明図である。
【符号の説明】
【0092】
100…情報処理装置
101…記録ユニット
102…インタフェースケーブル
103…用紙
105…1次元バーコード
106…搬送ユニット
110…イメージスキャナ
200…印刷装置
201…制御部
205…イメージメモリ
214〜217…記録ヘッド
600…テストチャート
600a…テストチャート
600n…テストパターン
600p…テストパターン
1006…テストチャート画像データ
1100…測定結果テーブル
1100a…測定結果テーブル
1300…補正テーブル
1400…バーコード補正値
1401…バーコード構成情報テーブル
1402…バーコード構成情報テーブル
1500…入力画面
【技術分野】
【0001】
本発明は、バーコードを印刷するためのバーコード構成情報を生成するバーコード生成システムに関する。
【背景技術】
【0002】
一般に、インクジェット記録ヘッドを用いた印刷装置でバーコードの印刷を行うシステムでは、さまざまな記録媒体(メディア)に対して非接触で画像を形成することができるという利点がある一方、紙面上でインク滴が滲む現象により、バーコードの黒バーが太くなり、それに隣り合う白バーが細くなる傾向にある。本来、バーコードの黒バーと白バー(スペース)は同じ幅である必要がある為、このバーの太り細りはバーコードの読取り精度に大きく影響を与え、時には読取り不可能なバーコードになってしまうという問題があった。
【0003】
この問題を解決する手段として、予めドットの滲みを見越してバーコードの白バーを大きくした構成にするバーコード補正方法や、黒バー部分を滲みにくくする方法がある(特許文献1参照)。
【0004】
また、このインクの滲む度合いは紙の素材に大きく起因する為、紙の種類を変更するとバーコードが読めなくなるという問題もあった。
【0005】
この問題を解決する手段として、紙の種類ごとに黒バーと白バーのドット数を予めテーブルとして用意することで紙種の違いをカバーする方法がある(特許文献2参照)。
【0006】
さらに、インクの滲み具合に関わる要因は紙の素材だけでなく、インクの種類や記録ヘッドの個体差、使用環境など様々な要因が関与し合っており、これら使用条件の違いによってもバーコードが読めなくなる場合があるという問題もあった。
【0007】
この問題を解決する手段として、補正値の異なるバーコードを幾つも作成して実際に印刷し、バーコード検証機で読み取ることで個々の使用環境に合ったバーコード生成を可能にする方法も提案されている(特許文献3)。
【特許文献1】特開2003−237059号公報
【特許文献2】特開平08−123886号公報
【特許文献3】特開平08−044807号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1記載のバーコード生成システムでは、ドットの滲み具合が予め判っている場合は有効な手段であるが、紙種の変更などに対応できないという課題が残っている。
【0009】
また、特許文献2記載のバーコード生成システムでは、紙種が新規追加される度に、ソフトウェアのバーコード補正テーブルも追加修正しなければならない課題があった。
【0010】
さらに、特許文献3記載のバーコード生成システムでは、実際に使用するバーコードの条件、つまりEAN128やCODE39などのバーコード種類や、バーコード化する数値の桁数やサイズなどの各パラメータに対して補正値を微調整した非常に多くのバーコードを作成して印刷し、検証機による読取り結果を比較する手法であり、最適なバーコード条件を決定する為には印刷に使用する用紙や時間を多く浪費するという課題があった。また、従来の条件と滲み率が大きく異なる用紙が追加されると、補正範囲を広げた検証用バーコードをさらに追加する必要があり、検証パターンのメンテナンス面での課題もあった。
【0011】
また、インクジェット記録方式の印刷装置においては、吐出されたインクの主滴から切り離されたサテライトによって、同じドット幅でバーコードを構成しようとしても、搬送方向に対して平行に構成した場合と、垂直に構成した場合のバー幅が異なってしまうという課題もあった。この問題は、特に1パスで印刷を行う場合に顕著である。
【0012】
このような従来の問題に対し、本出願人は特願2007−151371号、特願2007−183745号および特願2007−241989号として、実際の印刷環境にて、バーコードを構成するバーとスペースそれぞれの補正値を算出するためのテストチャートを印刷し、その印刷結果を基にバーコード補正値を決定するバーコード生成システムおよびそのためのテストチャートを提案した。これにより上記問題が解決された。
【0013】
このシステムでは、テストチャートをスキャナから読取後、得られた多階調値を所定の閾値に基づいて、印刷領域である黒の部分、非印刷領域である白の部分に2値化し、黒の部分をバー幅、白の部分をスペース幅と決定するものである。しかし、産業用途で使用する記録紙は、白いものばかりでなく、カラー用紙であったり、予めプレ印刷されたものであったりすることがある。そのような場合、2値化の閾値が適正でないために、バーとスペースを適正に判別することができないという事態が生じうる。
【0014】
本発明はこのような背景においてなされたものであり、その目的は、比較的短時間に最小限の用紙およびインクの使用で、個々のユーザの使用条件に合った適正なバーコード構成情報ひいてはバーコードを生成することができるバーコード生成システム、バーコード生成プログラム、および印刷装置を提供することにある。
【課題を解決するための手段】
【0015】
本発明によるバーコード生成システムは、バーコードを印刷するためのバーコード構成情報を生成するバーコード生成システムであって、バーコード用の黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データに基づいて特定の印刷装置で印刷されたテストチャートを読み取り、その濃度値を2値化することにより、前記黒バーおよび白バーの幅を測定する測定手段と、前記測定手段の測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として求めるバー幅補正手段とを備え、前記測定手段は、前記テストチャートから得られた濃度値の最大値と最小値の平均値を基に、前記2値化のための閾値を決定することを特徴とする。
【0016】
前記測定手段により、ある印刷装置およびある種類の用紙等の条件下で印刷されたテストチャートから、さまざまなドット幅(指示値)で印刷したバー要素(黒バーおよび白バー)の実際の幅の実測値を得ることにより、その条件下でのドット幅と実際の幅の関係が把握される。その際、テストチャートから得られた濃度値の最大値と最小値の平均値を基に、黒バー幅と白バー幅を決定するので、記録媒体の種類(色も含む)や印刷濃度の影響を受けることがなく、適正にバー幅の検出が行える。バー幅補正手段は、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として求める。このバーコード補正値を用いて、当該条件下でバーコードを印刷すれば、バーコードの要素幅にドットの滲み等の幅変動要因があっても、適正な要素幅でのバーコードを印刷することが可能となる。
【0017】
より具体的には、前記バー幅補正手段は、前記テストチャートに印刷した黒バーおよび白バーの幅のドット数と前記黒バーおよび白バーの幅の実測値との関係に基づいて、ドット数と前記黒バーおよび白バーの幅とを対応づけた補正テーブルを生成する。
【0018】
さらに、前記バー幅補正手段は、バーコードの種類および基準となるバーの幅情報の入力を受け付ける手段を有し、前記受け付けたバーコードの種類および基準となるバーの幅情報に基づいて、前記補正テーブルを参照し、当該種類の印刷後のバーコードのすべての黒バーおよび白バーの幅が当該バーコードの種類における規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数を選定する。
【0019】
前記黒バーは、縦方向に互いに平行に伸びる複数の黒バーと、横方向に互いに平行に伸びる複数の黒バーとを含み、前記補正テーブルおよびバーコード補正値は縦方向と横方向とで別個に生成するようにしてもよい。これにより、バーコードの方向によってバー幅がサテライトの影響を受けるのを防止することができる。
【0020】
前記バー幅補正手段は、前記テストチャートに含まれないドット数の黒バー幅および白バー幅を前記測定結果に基づいて推測し、導き出すことができる。これにより、テストチャートのテストパターンに含まれるバー幅は限られたものだけで足りる。
【0021】
本発明の更に他の構成および作用効果については以下に詳述される。
【発明の効果】
【0022】
本発明によれば、印刷装置の設置環境や装置の個体差、紙の種類などユーザ個々の使用環境条件に合致した適正なバーコード構成情報の生成が可能なバーコード生成システムを提供することができる。また、短時間で適正なバーコード補正値を見出すことができ、且つインクや用紙の消耗を低減することができる。さらに、テストチャートの解析でドットの太り細りを測定する手法なので、バーコードの種類は用紙の種類が増えても、テストチャートの変更は不要である。
【0023】
しかも、テストチャートから黒バーおよび白バーの幅を決定するための閾値を、固定値ではなくテストチャートの測定結果を基に決定することにより、記録媒体の種類や印刷濃度に影響せずテストチャートを2値化でき、より印刷環境に応じた黒バー、白スペース幅を決定することが可能となる。
【発明を実施するための最良の形態】
【0024】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【0025】
図1に、本実施の形態におけるバーコード生成システムの概略図を示す。このシステムは、情報処理装置100とイメージスキャナ110と印刷装置200とを備える。
【0026】
本実施の形態における印刷装置200は、熱エネルギーを利用したインク吐出方式を採用したインクジェット印刷装置であり、記録媒体の一種としての用紙103を搬送する搬送ユニット106と、用紙103の現在位置および搬送速度を検出する為のエンコーダ104と、画像データを記録するインクジェット記録方式の記録ユニット101で構成される。この記録ユニット101は、USBなどのインタフェースケーブル102を介して情報処理装置100と接続されている。情報処理装置100はパーソナルコンピュータ(PC)などの装置であり、この装置から印刷装置200に対して、画像データの転送や印刷コマンド、クリーニングなどの制御コマンドの転送が行われる。情報処理装置100には、その周辺装置の一つとして、後述するテストパターンを記録したテストチャートを光学的に読み取るためのイメージスキャナ110が接続される。
【0027】
記録ユニット101による画像データ記録は、搬送ユニット106における用紙センサ(図示せず)からの用紙検出信号をトリガにして、エンコーダ104の用紙速度信号に同期しながら、搬送された用紙103に対してインク滴を吐出することにより行われる。記録内容は、任意であるが、図1の例では1次元バーコード105である。
【0028】
なお、エンコーダ104を用いずに、記録ユニット101とは独立した搬送装置により用紙等の記録媒体をユーザが指定する任意の速度で搬送する構成であってもよい。
【0029】
図2は、図1のシステムにおける情報処理装置100と印刷装置200の制御ハードウェアの構成例を示すブロック図である。
【0030】
情報処理装置100は、中央処理装置(CPU)等により構成される制御部111を備え、この制御部111により記憶部112に格納されている制御プログラムを実行し、各部を制御する。記憶部112は、ROM、RAM、HDD等を含みうる。表示部113は、LCD,CRT等のディスプレイを含み、ユーザに対して表示画面上に情報を表示する。操作部114は、キーボード、マウス等を含み、ユーザからの操作や情報の入力を受け付ける。USBインタフェース115は、情報処理装置100を印刷装置200と接続するためのプリンタインタフェースの一例として示してある。但し、プリンタインタフェースはUSBに限るものではない。
【0031】
印刷装置200の制御部201は、中央処理装置(CPU)202を備え、このCPU202により不揮発性メモリ(ROM)203に格納されている制御プログラムを実行し、各部を制御する。また、制御部201は、CPU202により各種データ処理のワークエリアや受信バッファとして使用されるメモリ(RAM)204や、制御回路209を介して、画像展開部として使用されるイメージメモリ205を備える。更に、CPU202は、制御回路209を介して、記録ヘッド214〜217を駆動するヘッド駆動回路210や、各記録ヘッドを記録に適正な状態に保つためのクリーニング動作や記録動作を制御する各種モータ206を駆動するモータドライバ211、記録ヘッド下に給紙を行うための搬送制御I/F207の入出力インタフェース制御部(I/O)212を制御する構成となっている。本例では、図1内のエンコーダ104は搬送制御I/F207に含まれているものとする。
【0032】
また、印刷装置200は、基本的に、外部装置である情報処理装置100から送信された画像データや各種コマンドなどをインタフェースケーブル102を介して受信するUSBコントローラ208を有し、この受信した各種コマンドに従って動作する。
【0033】
図3は、図1に示した記録ユニット101で、バーコード用の黒バーおよび白バーにて構成されるパターンを記録した場合の概略図である。黒バーは黒インクで記録された直線要素であり、白バーは記録の空白部で構成される直線要素であり、白スペースともいう。この図の例では、ライン21、22、23の順で、記録を行ったものである。以下、バーコードの記録部である黒バーを単にバーと呼び、隣接する黒バーと黒バーの間の隙間(非記録部)である白スペースを単にスペースとも呼ぶ。図3の例では、ライン21により細バーを構成し、ライン22、23により太バーを構成している。
【0034】
インクジェット印刷装置では、記録されるドットのサイズは、インクという液体を吐出させて画像を形成するという特性上、使用環境や記録ヘッドの個体差、インクの種類などの条件に依存するインクの吐出量と、用紙の素材に依存する滲み率によって変化する。通常、ある範囲内の使用環境を想定し、対記録媒体との関係から吐出量を設定し、インクのドットサイズを決定している。
【0035】
しかし、産業用途等の過酷な記録条件や設置環境、ヘッドの個体差、紙種などの影響で、にじみ、吐出量が変化する。その結果、図3にケース1、ケース2として示すように印刷されたドットサイズが変形することがある。ドットサイズが変化すると、ドット間のスペースが規定値に対し増減することになり、その結果、バーコードの読取り不良や、最悪ケースでは読めなくなるといった場合が生じる。
【0036】
また、仮に上記のようなにじみ方のばらつき要因がないとしても、インクをにじませて画像を形成している以上、同じドット数で黒バーと白スペースを形成しても両者は同じ幅にはならない。インクジェット印刷装置におけるバーコードの生成になんらかの補正が必要なのはこのためである。
【0037】
図4はインクジェット印刷装置におけるサテライトが用紙に着弾するまでの時間経過に応じた状態を表した模式図である。記録ヘッド(ここでは記録ヘッド214)からインクが吐出されるとき、画像を形成するインクの主滴40が用紙103に着弾した後に、インク主滴40から遅れてインク主滴40の残りである副滴(サテライトともいう)41が用紙に着弾する。この副滴41は主滴40よりもサイズが小さい。記録ヘッド214に対して相対的に用紙103が一方向(図の→方向)に搬送されるとき、サテライト41は主滴40の着弾に対して必ず用紙搬送方向の後ろ側に形成されてしまう。ここでは用紙の全幅に亘って並んだノズル列を有するライン型の記録ヘッドを想定しているが、いわゆる用紙の搬送方向と直交する方向に主走査されるシリアル型の記録ヘッドにおいても同様のサテライトによる影響がありうる。すなわち、サテライトは主滴40の着弾に対して必ずヘッド走査方向の後ろ側に形成されてしまう。
【0038】
図5(a)は、インクジェット印刷装置においてノズル列223に対して平行のバーを有するバーコードを構成した際に発生するサテライトの状態を図にしたものである。これはライン型の記録ヘッドに対して用紙をA方向に搬送した場合を示している。上述のように、サテライト41は主滴40の着弾に対して必ず用紙搬送方向の後ろ側に形成されてしまう為、用紙搬送方向に対して垂直(すなわちノズル列に対して平行)のバーで構成されるバーコードは、主滴ドット列221に隣接するサテライトドット列220の影響により黒バーの幅が白スペースの幅に対して極端に大きくなってしまうおそれがあった。
【0039】
図5(b)は、インクジェット印刷装置において用紙搬送方向に平行(すなわちノズル列223に対して垂直)のバーを有するバーコードを構成した際に発生するサテライトの状態を図にしたものである。図5(a)の場合に比べて図5(b)のバーコードは、サテライトドット列が主滴ドット列の線上に重なり、大半のサテライトは主滴ドット列に重なり相殺されてしまう。また、この場合のサテライトが主滴に対してずれる方向はバー幅に影響しない方向である。その為、サテライトが発生しても、黒バー幅が白スペース幅よりも極端に大きくなってしまうということはない。図5(a)(b)の本来同じ幅の白バーはL1<L2と、図5(a)の方が小さくなっている。
【0040】
このようにサテライトが発生するインクジェット印刷装置においてバーコードを印刷する場合は、バーコードの向きによっても黒バー幅と、白スペース幅が異なる為、それぞれの場合に対して適性なバーコードの生成を行う必要がある。
【0041】
本発明は、このような問題に対応すべく、バーコードを構成するバー、スペースの幅のドット数と実記録されたバーおよびスペースの幅の実際の値との関係を簡単に得られるテストパターンを用い、その読取結果を基にバーコード(構成情報)を補正することにより、記録環境が変化しても安定して読取り可能なバーコードを生成できるようにする。すなわち、テストパターンの測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として選定する。
【0042】
次に、本実地の形態による、バーコード補正値決定のために用いるテストチャートおよび、バーコード幅の補正の方法について説明する。
【0043】
図6および図7にそれぞれ、本実施の形態における、黒バーおよび白スペースの太り細りの状態が確認可能なテストパターンの構成例を示す。
【0044】
図6のテストパターン600pは、黒バー群を含むポジ(正)のテストパターンであり、それぞれ、各バーがノズル列223に平行な方向(横方向)に延びる複数の黒バーからなる黒バー群601pと、ノズル列に垂直な方向(縦方向)に延びる複数の黒バーからなる黒バー群602pとを含む。この例では、いずれの黒バー群も3,4,5,6,10,15,20の各ドット数の7種類の異なるバー幅で構成されている。但し、バー幅は必ずしもこのような7種類が必要なわけではなく、このテストパターンにおける黒バー幅の種類は少なくとも2種類あればよい。ドット列603pの各ドットは孤立した単一ドット(黒ドット)により構成され、各ドット径の確認等に利用されるものであるが、本実施の形態における動作には直接関係しない。
【0045】
図7のテストパターン600nは、白スペース群を含むネガ(負)のテストパターンであり、それぞれ、各バーがノズル列223に平行な方向に延びる複数の白バーからなる白バー群601nと、ノズル列に垂直な方向に延びる複数の白バーからなる白バー群602nとを含む。この例では、いずれの白バー群も3,4,5,6,10,15,20の各ドット数の7種類の異なるバー幅で構成されている。白バーについても、バー幅は必ずしもこのような7種類が必要なわけではなく、このテストパターンにおける白バー幅の種類は少なくとも2種類あればよい。ドット列603nの各ドットは孤立した単一ドット(白ドット)により構成され、各ドット径の確認等に利用されるものであるが、本実施の形態における動作には直接関係しない。
【0046】
図6、図7で説明したテストパターン600p、600nを記録したテストチャート600(後述する図10)は、実際にバーコードの印刷に使用される用紙に印刷されたテストチャートの面上の各バーの幅を実測することにより、印刷されたドット数と紙面上の実バー幅の関係を掌握することができる構成を有する。つまり、実際の使用条件(装置、環境、用紙)で本発明のテストチャートを印刷すれば、記録ヘッドの個体差に起因する吐出量の違いや、用紙の種類に起因する滲み率の違いを考慮した実バー幅を知ることができ、その実バー幅に応じて黒バー/白スペースの幅サイズを補正したバーコードを生成することが可能である。テストチャートを読み取って得られるイメージの解析手法に関しては後述する。
【0047】
本例の7種類のバー幅(ドット数3、4、5、6、10、15、20)のように、テストチャートを比較的多くの種類のドット幅で構成する場合は、図示のように比較的細い幅のバーを構成するドット数をより多く入れ込むのが望ましい。実際のバーコードの寸法許容値はバーが細いものほど寸法許容範囲が小さく、少しの寸法のずれでも品質低下が発生する恐れがある。一方、バーが太いものほど寸法許容範囲が大きい為、寸法がある程度ずれていても読取ランクに影響はない。よって、テストパターンに複数種類のドット列を入れる場合は細いドット列を多く入れることにより、細いバーコードの生成精度をアップさせ、バーコードの品質をより高めることが可能となる。
【0048】
用紙の大きさに応じて、複数の種類のテストチャートを有する場合も、バーの占有面積の見地からも、太い幅のドット列よりも細い幅のドット列の数を優先して配置する方が有利である。
【0049】
なお、好ましくは、例えば黒バー、白スペースを、1、2、3、10、20ドットというように広範囲で測定することにより、より精度の高い補正を行うことが可能となる。
【0050】
図8は、他のテストパターンを有するテストチャートの構成例を示している。このテストチャート600aのテストパターンでは、隣接するバーとバーとの間隔を白スペースとして利用する。各バーがノズル列223に平行な方向(横方向)に延びる複数のバーからなるバー群601aと、各バーがノズル列223に垂直な方向(縦方向)に延びる複数のバーからなるバー群602aを含んでいる。ドット列603の各ドットは孤立した単一ドット(黒ドット)により構成され、各ドット径の確認等に利用されるものである。図8の構成によれば、テストチャートの画像データは、テストチャートの隣接する黒バー間の間隔を白バーとして使用するので、黒バーと白バーについて別々のテストパターンを用意する必要がなくなり、テストパターンのサイズが低減され、ひいてはこのテストパターンを記録するテストチャートのサイズが低減される。すなわち、テストチャートのサイズを大きくしたり、複数枚にする必要がなくなる。また、テストチャートの記録に必要な用紙やインクも節約される。図8の例では、1ドットから1ドットきざみに10ドットまで作成したが、理論的には上記グラフを描く為に、テストチャートに入れる黒バーは3種類、白スペースは2種類、少なくとも幅の違うものがあればよい。もちろん印刷用紙の印刷可能な領域に余裕がある場合は、精度を高める為にこれ以上増やしても構わない。
【0051】
図9(a)、(b)は、テストチャートのバーおよびスペースの印刷時のドット数と、それに対応する実際の印刷結果のバーおよびスペース幅の測定値をそれぞれグラフ化したものである。これはテストチャートの実測から得られた各値から、テストチャートに含まれないドット数とバーおよびスペースとの関係を推測する為のものである。それぞれバーコードのバーの向きがノズル列に「平行」の場合と「垂直」の場合の測定結果を示している。この図から分かるように、同じドット数でもバーの方が白スペースより実サイズが大きい。また、「垂直」と「平行」では、バーの場合は「平行」の方が大きく、スペースの場合は「垂直」の方が大きくなっている。
【0052】
図10は、本実施の形態におけるバーコード生成システムの外観構成例を示す。図6および図7に示したテストチャート600(または図8に示したテストチャート600a)を得るためには、情報処理装置100の記憶部112に格納された、テストパターンに対応するテストチャート画像データ1006が、情報処理装置100からインタフェースケーブル102を介して印刷装置200に転送される。印刷装置200における記録ユニット101(図1)によるテストチャート600の記録は、前述したように、実際の使用条件(印刷装置、記録環境、使用用紙等)と同じ条件下で行うことによって、最大限の効果が得られる。用紙上に記録出力されたテストチャート600は、イメージスキャナ110にセットされて読み取られる。情報処理装置100はこの読み取られたイメージ情報をインタフェースケーブル805を介して受信し、制御部111(図2)が、テストチャート600の各幅のバー要素の記録による実バー幅情報を得る。制御部111はまた、バー幅補正手段として、この実バー幅情報に基づいて後述するバーコード補正値1400を生成し、記憶部112に格納する。記憶部112には、後述する補正テーブル1300も記憶される。
【0053】
図11は、テストチャート600の読取および解析から得られた、指示された幅のドット数と、黒バー幅および白スペース幅の実測値との関係を示す測定結果テーブル1100を例示したものである。ノズル列に平行な黒バーおよび白スペースの測定結果と、ノズル列に垂直な黒バーおよび白スペースについての測定結果とを含む。このデータは、テストチャート600をイメージスキャナ110で読み取ることにより得られた画像データ上の、指示値としての各バー幅のドット数(整数)に対して、実際に紙面上に着弾し滲んだ黒バー幅および白スペース幅の実バー幅(単位はマイクロメートル)を測定することによって得られた結果を示している。したがって、測定結果テーブル1100は実際の異なる使用条件毎に作成される。具体的には、例えば7ドットで構成したノズル列方向に垂直な黒バー幅は、紙面上で335μmであり、同じ7ドットの白スペース幅は210μmになっていることが示されている。なお、図11に示したデータは図9に示したグラフの結果と一致するべきものであるが、本例では便宜上、その整合を図ってはいない。
【0054】
図12は、図8のテストチャート600aの読み取りにより得られた測定結果テーブル1100aを例示したものである。
【0055】
図13は、図9の、測定結果に基づいて作成されたグラフから推測したドット数と黒バーおよび白スペースとの関係を、ドット数1ドットから25ドットまでの1ドットきざみで記載した補正テーブル1300を例示したものである。上述した実測値以外は実測値に基づく推定値である。ノズル列に対して垂直な黒バーおよび白スペースのパターンについてのテーブルと、平行な黒バーおよび白スペースのパターンについてのテーブルを含む。
【0056】
図14(a)、(b)は、図10に示したバーコード補正値1400の例として、種類の異なるバーコードについてのバーコード構成情報を格納したバーコード構成情報テーブル1401、1402を示している。
【0057】
1次元のバーコードは、大きく分けてバイナリレベルとマルチレベルの2種類に分類できる。バイナリレベルのバーコードとは、2種類の幅の黒バーと2種類の幅の白スペースで構成されたバーコードであり、両種類の幅は1:2の比率で構成される。代表的なバーコードとしては、Code39、ITFなどがある。マルチレベルのバーコードとは、4種類の幅の黒バーと4種類の幅の白スペースで構成されたバーコードであり、全種類の幅は、1:2:3:4の比率で構成される。代表的なバーコードとして、JAN、EAN128、Code128などがある。例えば、マルチレベルのバーコードを補正する場合、図13に示した黒バーと白スペースの補正テーブル1300から、実際の幅サイズが1:2:3:4となる黒バーの各ドット数を選び、且つ白スペースについては黒バーと実サイズ幅が同じとなるドット数を選ぶことによって、適正なバーコードの補正値を決定し、読み取り品位の高い適正なバーコードを生成することが可能である。
【0058】
以下、バイナリレベルのバーコード、Code39およびマルチレベルのバーコードEAN128のノズル列に対して垂直に構成されるバーから構成されるバーコードの補正値決定方法を具体的に説明する。
【0059】
図14(a)に示したバーコード構成情報テーブル1401は、規格上、細バー幅(NB)5ドットの場合のCode39の補正されたドット構成を示し、「垂直」、「平行」の両方の向きについてのデータを有する。この補正ドット構成は次のようにして得られる。細バー幅5ドットは、図13に示した補正テーブル1300から、その黒バー幅は250μmである。細スペースは、細バーと同じ250μmとなるドット数を補正テーブル1300から探し出すことにより、8ドットと決定される。これにより、5ドットで構成された黒バー幅と8ドットで構成された白スペース幅が、紙面上の実サイズとしては同じになる。太バーおよび太スペースは、細太比1:2により、250μm×2=500μmに最も近い値に対応するドット数を補正テーブル1300から探し出し、実際の黒バー幅が500μmに最も近い505μmである太バー11ドット、実際の白スペース幅が500μmに最も近い505μmである太スペース14ドットと決定される。これにより、バーコード読取り率の重要ファクターの一つである『細バー×2=太バー』および『黒バー幅=白スペース』という規格条件を紙面上の実サイズで保証することができる。
【0060】
図14(b)に示したバーコード構成情報テーブル1402は、規格上、細バー幅(NB)4ドットの場合のEAN128の補正されたドット構成を示し、「垂直」、「平行」の両方の向きについてのデータを有する。例えば、「垂直」の場合、補正ドット構成は次のようにして得られる。細バー幅4ドットは、補正テーブル1300から実際の黒バー幅で210μmなので、1:2:3:4となる4値の各黒バーのバー幅は、計算上、それぞれ210μm、420μm、630μm、840μmである。そこで、上記と同様の手法で、図13の補正テーブル1300から各々のバー幅となるドット数は、4ドット、9ドット、14ドット、19ドットと決定される。同様に、210μm、420μm、630μm、840μmのスペース幅は、7ドット、12ドット、17ドット、22ドットと決定できる。これにより、バーコード読取り率の重要ファクターの一つである『1:2:3:4の比率』および『黒バー幅=白スペース』という規格条件を、紙面上の実サイズで保証することができる。「平行」の場合も同様である。
【0061】
情報処理装置100の記憶部112に、これらのバーコード構成情報テーブル1401、1402はバーコードの種別情報とともに保存される。
【0062】
図15は、本実施の形態のバーコード生成システムの動作を説明する為の画面例を示している。
【0063】
情報処理装置100上で実行されるバーコード生成アプリケーションの入力画面1500は、バーコードの種類を選択肢の中から選択するバーコード種類選択欄1501と、基準となるバーの幅情報としての細バー(ナローバー)のドット数を入力するドット数入力欄1502と、テストチャート600を読み取ることを指示する「チャート読込」ボタン1503と、少なくともバーコードの構成情報を生成するための「バーコード生成」ボタン1504と、用紙サイズを選択するための「用紙サイズ選択」ラジオボタン1505と、終了指示を受けるための「終了」ボタン1507とで構成される。
【0064】
バーコード生成アプリケーションは、「チャート読込」ボタン1503がユーザにより指示されたとき、イメージスキャナ110にセットされたテストチャート600の記録出力を読取り、読み取ったイメージに基づく各要素幅のドット数と実測値に基づいて図13に示したような補正テーブル1300を作成する。その後、「バーコード生成」ボタン1504が操作可能となる。「バーコード生成」ボタン1504がユーザにより指示されると、入力画面1500でユーザが指定したバーコード種類と細バーのドット数に合致した適正なバーコード補正値を求めて、バーコード構成情報画面1510を出力する。バーコード構成情報画面1510は、バイナリレベルのバーコードの場合は、後記の「バーコード方向」の選択結果に応じて、その細バー(ナローバー)1511、細スペース(ナロースペース)1513、太バー(ワイドバー)1515、太スペース(ワイドスペース)1514の各表示欄に適正な構成ドット数を表示する。「バーコード方向」選択メニュー1517でバーコードのバーの向き(ノズル列に垂直または平行)を選択することができる。「OK」ボタン1515により情報処理装置100内の記憶部112に当該バーコードの構成情報(適正な構成ドット数等)が記憶される。記憶された情報は以降のバーコード記録に利用される。また、バーコード構成情報画面1510上の各表示欄はユーザによる修正入力を受け付けるようにしてもよい。例えば、バーコードの品位は低下するが、バーコードの小サイズ化のためにユーザがドット幅を例えば1ドット小さくするような微調整入力を行えるようにしてもよい。また、「バーコード方向」選択メニュー1517を設けずに「垂直」、「平行」の両方のデータを同時に表示するようにしてもよい。
【0065】
なお、バーコード生成アプリケーションがバーコード記録機能を備えない場合には、バーコード構成情報画面1510はユーザが補正値を確認するために利用することができる。確認した後は、一般的なバーコード生成ソフトウェアのドット構成入力欄(図示せず)に、それらのバー幅およびスペース幅の値を設定することができる。その結果、読取り率の高い適正なバーコード生成が可能となる。
【0066】
マルチレベルのバーコードの場合には、図示しないが同様の画面1510に、4値の各バー/スペースの表示欄に適正な構成ドット数を表示する。
【0067】
同様にノズル列に対して平行なバーコードを生成する場合は、それに対応した補正テーブルを参照してバーコードの生成を行うことにより、バーコードの方向に対応したバーコードの生成を行うことが可能になる。
【0068】
図16は、本実施の形態のバーコード生成システムにおける補正テーブル1300の作成までの処理を表したフローチャートである。このフローチャートの処理の実行手順を表すプログラムは記録部112(図2)内に格納され、制御部111がこれを解釈実行することにより、この処理が実行される。後述する他の処理についても同様である。
【0069】
図16の処理の前にユーザは所定の操作によりテストチャート600を印刷装置200で印刷しているものとする。ユーザにより印刷済みのテストチャートがイメージスキャナ110にセットされた状態で、「用紙サイズ選択」ラジオボタン1505での用紙サイズ選択操作を受け(S11)、「チャート読込」ボタン1503の押下に応じて(S12)、テストチャート600を読み取る(S13)。テストチャート600に印刷された各ドット数に対する黒バーおよび白スペースの幅(μm)をその読取イメージに基づいて測定し(S14)、測定結果テーブル1100(図11)の作成を行う(S15)。ついで、この測定結果テーブル1100からドット数とその幅の長さの関係式を求めグラフを作成する(S16)。さらにこのグラフから、1ドット刻みで各ドット数に対応する黒バー、白スペースの幅(μm)を算出し(S17)、ドット数とバー幅とを対応付けた補正テーブル1300(図13)を作成する(S18)。実測値があるドット数についてはグラフによらずそのまま利用してもよい。これで先に作成した測定結果テーブル1100の不足ポイントが推測、補間された形で新たに補正テーブル1300が作成される。作成された補正テーブル1300は記録部112に記憶され(S19)、実際のバーコード生成の際に使用される。また、「バーコード生成」ボタン1504(図15)が有効化される。
【0070】
図17は、バーコード生成システム内で適正な補正が施されたバーコード構成を生成する処理を表したフローチャートである。
【0071】
図15に示した入力画面1500において、ユーザによるナローバーの所望のドット数の選択もしくは入力を受ける(S21)。ついで、バーコード種類および方向の選択を受ける(S22、S23)
【0072】
その後、「バーコード生成」ボタンが押されると(S24、Yes)、前述したドット数と幅の補正テーブル1300を参照し(S25)、バーコード種類、および両方向に適した黒バー、白バーの適正ドット数を決定する(S28)。「バーコード方向」選択メニュー1517で指定された方向の、決定されたドット数は図15のバーコード構成情報画面1510上に表示される(S29)。「バーコード方向」選択メニュー1517の方向を切り替えれば、表示されるドット数も切り替えて表示される。読取り可能なバーコードを生成可能でない場合には(S26、No)、すなわち、生成したバーコードの読取り品位が所定の判断基準に従って所定のレベルに達しないと判断された場合には、ユーザに対して警告を行って本処理を終了する(S27)。この警告は、テキストや記号、画像等、任意のメッセージの表示または音によるものが考えられる。
【0073】
なお、図16と図17の処理について共通の入力画面1500を用いたが、それぞれに利用される選択欄やボタンを設けた別個の画面を用意してもよい。
【0074】
ここで、テストチャート600の読取りから、各黒バー、各白スペースの幅を決定する方法について詳しく説明する。
【0075】
図18(a)に示すように、イメージスキャナ110からテストチャート600の読み取りにより各画素が多階調のラスタ画像が得られる。読み取りの解像度はスキャナによって決まるが、最も細いバーの幅に対して十分な個数のサンプリング点がとられるような解像度とする。本実施の形態では、このようなグレースケール(白黒階調)変換により、0〜256の階調値(濃度値)が得られる。このラスタ画像のバーを横切る少なくとも1本の線1801に沿って画素値をスキャンして階調値を確認し、位置対応に階調値をプロットしたものが図18(b)のグラフである。
【0076】
階調値は、反射率が高い部分、つまりは光を反射しやすい部分が“0”寄り、反射率が低い部分、つまりは光を吸収しやすい部分が“256”寄りとなる。白い用紙上に、テストチャート600を印刷した場合、黒バー部分が“256”寄り、白スペース部分が“0”寄りとなる。
【0077】
得られた階調値は、特定の階調値を閾値として2値化を行う。例えば、256階調値の中間値である“178”を閾値とすると、閾値“178”よりも“0”寄りの部分を白スペース、閾値“178”よりも“256”寄りの部分を黒バーと判断する。この2値化された値を基に、テストチャート600の各黒バー、白スペースの幅が決定される。
【0078】
ところで、産業用途で使用する記録紙は、白いものばかりでなく、カラー用紙であったり、予めプレ印刷されたものを使用することがある。バーコード補正値を決定するには、実際に生産に使用する記録紙を用いてバーコード補正値を決定しなければ適正な値を得ることができない。そのため、このような記録紙を用いてバーコード補正値を決定しなければならない場合がある。
【0079】
しかし、図19(a)に示すように、色味がついた記録紙にテストチャート600を印刷し、前述した中間値“178”を閾値として2値化を行った場合、記録紙の階調値が閾値“178”よりも“256”寄りであったとすると、全体が黒と判断され、黒バーと白スペース部分の判別がつかないという問題が生じる。この場合、予め、閾値を“256”寄りに設定することで2値化を行うことは可能となるが、図19(b)のように印刷濃度を低く設定し印刷したような場合は、印刷部分が階調値“0”寄りとなるため、今度は全体が白スペースと判断され、黒バーと白スペース部分の判別がつかないことになる。
【0080】
そこで、本発明では、図20(a)に示すテストチャート600を読み込んだスキャナから得られた256階調値を2値化する際に、図20(b)に示すように、検出した値の最も小さい値(最も“0”寄りの値)をA、最も大きい値(最も“256”寄りの値)をBとし、AとBの平均値を閾値とする。このように、最大値と最小値の平均値を閾値とすることにより、記録紙の種類や印刷濃度の影響を受けることなく、図20(c)に示すような2値化結果を得て、黒バーおよび白スペースを適正に判別することができる。その結果、さまざまな印刷環境下でバーコード補正値を決定することが可能となる。
【0081】
なお、ノイズの影響を排するために、“256”寄りの大多数のさらに大きい値から突出して大きい1または少数の値は、最大値の候補から除外するようにしてもよい。逆に、“0”寄りの大多数の小さい値から突出してさらに小さい1または少数の値は最小値の候補から除外するようにしてもよい。あるいは、複数の異なる線上で複数の最大値を得て、それらを平均したものを最大値として用いてもよい。最小値についても同様である。このような処理を施して得られた値についても、本明細書では「最大値」および「最小値」と呼ぶものとする。
【0082】
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。
【0083】
例えば、テストチャートに用いるテストパターンとして、どのドット数のバーを印刷するかをユーザが選択できるようにしてもよい。その場合、テストチャートとして有効に機能するために必要なドット数の値が不足するような場合には適宜ユーザにガイダンスを行ったり、警告を出したりすることが好ましい。許容される異なるドット数の組み合わせを複数組用意しておいてユーザに所望の組を選択させるようにしてもよい。
【0084】
上記実施の形態では、記録ヘッドを固定し、用紙が移動することにより画像を形成するタイプの印刷装置について述べたが、用紙が固定されて記録ヘッドが移動することにより画像を形成するタイプの印刷装置であってもよい。
【0085】
読み取り装置としてイメージスキャナを採用したが、テストチャートに対して走査される反射型光学センサを用いてもよい。
【0086】
イメージスキャナで読み取られたテストチャートの画像の解析およびバーコード補正値の決定は、情報処理装置100の機能として説明したが、この機能を印刷装置自体が備えてもよい。
【0087】
印刷装置の記録ヘッドは4本用いる例を示したが、個数は1本でも4本以外の複数本でもよい。
【0088】
記録方式としてはインクジェットを例に挙げたが、本発明は、記録ドットサイズが使用条件によって異なるような任意の記録方式に適用可能である。
【0089】
使用する用紙のサイズが一種類のみの場合には、「用紙サイズ選択」ラジオボタン1505は不要である。
【0090】
表示画面上に設けた各種のボタン、メニュー、入力欄等の位置、サイズ、構成、具体的な数値等はあくまで例示であり、本発明はそれらに限定されるものではない。
【図面の簡単な説明】
【0091】
【図1】本発明の実施の形態におけるバーコード生成システムの概略図を示す図である。
【図2】図1のシステムにおける情報処理装置と印刷装置の制御ハードウェアの構成例を示すブロック図である。
【図3】図1に示した記録ユニットで、バーコードのような黒バーと白バーにて構成されるパターンを記録した場合の概略図である。
【図4】インクジェット印刷装置におけるサテライトが用紙に着弾するまでの時間経過に応じた状態を表した模式図である。
【図5】インクジェット印刷装置においてノズル列に対して平行および垂直のそれぞれのバーを有するバーコードを構成した際に発生するサテライトの状態を示す図である。
【図6】本発明の実施の形態における、黒バーの太り細りの状態が確認可能なテストパターンの構成例を示す図である。
【図7】本発明の実施の形態における、白スペースの太り細りの状態が確認可能なテストパターンの構成例を示す図である。
【図8】他のテストパターンを有するテストチャートの構成例を示した図である。
【図9】テストチャートのバーおよびスペースの印刷時のドット数と、それに対応する実際の印刷結果のバーおよびスペース幅の測定値をそれぞれグラフ化した図である。
【図10】本発明の実施の形態におけるバーコード生成システムの外観構成例を示す図である。
【図11】本発明の実施の形態におけるテストチャートの読取および解析から得られた、指示された幅のドット数と、黒バー幅および白スペース幅の実測値との関係を示す測定結果テーブルを例示した図である。
【図12】図8に示したテストチャートの読み取りにより得られた測定結果テーブルを例示した図である。
【図13】図9の、測定結果に基づいて作成されたグラフから推測したドット数と、黒バーおよび白スペースの関係とを、ドット数1ドットから25ドットまでの1ドットきざみで記載した補正テーブルを例示した図である。
【図14】図10に示したバーコード補正値の例として、種類の異なるバーコードについてのバーコード構成情報を格納したバーコード構成情報テーブルを示した図である。
【図15】本発明の実施の形態のバーコード生成システムの動作を説明する為の画面例を示した図である。
【図16】本発明の実施の形態のバーコード生成システムにおける補正テーブルの作成までの処理を表したフローチャートである。
【図17】本発明の実施の形態におけるバーコード生成システム内で適正な補正が施されたバーコード構成を生成する処理を表したフローチャートである。
【図18】テストチャートの読み取り時のグレースケール(白黒階調)変換の説明図である。
【図19】グレースケールに対する2値化に用いる閾値についての問題の説明図である。
【図20】本発明における、スキャナから得られた階調値を2値化する際の閾値の決定方法の説明図である。
【符号の説明】
【0092】
100…情報処理装置
101…記録ユニット
102…インタフェースケーブル
103…用紙
105…1次元バーコード
106…搬送ユニット
110…イメージスキャナ
200…印刷装置
201…制御部
205…イメージメモリ
214〜217…記録ヘッド
600…テストチャート
600a…テストチャート
600n…テストパターン
600p…テストパターン
1006…テストチャート画像データ
1100…測定結果テーブル
1100a…測定結果テーブル
1300…補正テーブル
1400…バーコード補正値
1401…バーコード構成情報テーブル
1402…バーコード構成情報テーブル
1500…入力画面
【特許請求の範囲】
【請求項1】
バーコードを印刷するためのバーコード構成情報を生成するバーコード生成システムであって、
バーコード用の黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データに基づいて特定の印刷装置で印刷されたテストチャートを読み取り、その濃度値を2値化することにより、前記黒バーおよび白バーの幅を測定する測定手段と、
前記測定手段の測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として求めるバー幅補正手段とを備え、
前記測定手段は、前記テストチャートから得られた濃度値の最大値と最小値の平均値を基に、前記2値化のための閾値を決定することを特徴とするバーコード生成システム。
【請求項2】
前記テストチャートの印刷は、実際の使用条件と同じ条件下で行うことを特徴とする請求項1に記載のバーコード生成システム。
【請求項3】
前記バー幅補正手段は、前記テストチャートに印刷した黒バーおよび白バーの幅のドット数と前記黒バーおよび白バーの幅の実測値との関係に基づいて、ドット数と前記黒バーおよび白バーの幅とを対応づけた補正テーブルを生成する請求項1に記載のバーコード生成システム。
【請求項4】
前記バー幅補正手段は、バーコードの種類および基準となるバーの幅情報の入力を受け付ける手段を有し、前記受け付けたバーコードの種類および基準となるバーの幅情報に基づいて、前記補正テーブルを参照し、当該種類の印刷後のバーコードのすべての黒バーおよび白バーの幅が当該バーコードの種類における規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数を選定する請求項3に記載のバーコード生成システム。
【請求項5】
前記印刷装置はインクジェット記録方式を採用した印刷装置である請求項1〜4いずれかに記載のバーコード生成システム。
【請求項6】
前記黒バーは、縦方向に互いに平行に伸びる複数の黒バーと、横方向に互いに平行に伸びる複数の黒バーとを含み、前記補正テーブルおよびバーコード補正値は縦方向と横方向とで別個に生成することを特徴とする請求項1に記載のバーコード生成システム。
【請求項7】
前記バー幅補正手段は、前記テストチャートに含まれないドット数の黒バー幅および白バー幅を前記測定結果に基づいて推測し、導き出すことを特徴とする請求項1〜6のいずれかに記載のバーコード生成システム。
【請求項8】
バーコードを印刷するためのバーコード構成情報を生成するバーコード生成プログラムであって、
バーコード用の黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートを用い、その画像データに基づいて特定の印刷装置で印刷されたテストチャートを読み取ったイメージに基づいて閾値を決定し、その閾値を基に前記黒バーおよび白バーの幅を測定するステップと、
この測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バーと白バーのドット数をバーコード補正値として求めるステップと
をコンピュータに実行させることを特徴とするバーコード生成プログラム。
【請求項9】
前記テストチャートに印刷した黒バーおよび白バーの幅のドット数と前記黒バーおよび白バー幅の実測値との関係に基づいて、ドット数と前記黒バーおよび白バーの幅とを対応づけた補正テーブルを生成するステップをさらに実行させる請求項8に記載のバーコード生成プログラム。
【請求項10】
バーコードの種類および基準となるバーの幅情報の入力を受け付けるステップと、前記受け付けたバーコードの種類および基準となるバーの幅情報に基づいて、前記補正テーブルを参照し、当該種類の印刷後のバーコードのすべての黒バーおよび白バーの幅が当該バーコードの種類における規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数を選定するステップとをさらに実行させる請求項8または9に記載のバーコード生成プログラム。
【請求項11】
バーコードを印刷することが可能な印刷装置であって、
バーコードの黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データを外部から受け取って印刷する印刷手段と、
前記印刷手段で印刷したテストチャートから得られた閾値を基に黒バーおよび白バー幅を実測する手段と、
実測値に基づいて補正値を算出する手段とを備え、
算出されたバーコード補正値に基づきバーコードを印刷することを特徴とする印刷装置。
【請求項1】
バーコードを印刷するためのバーコード構成情報を生成するバーコード生成システムであって、
バーコード用の黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データに基づいて特定の印刷装置で印刷されたテストチャートを読み取り、その濃度値を2値化することにより、前記黒バーおよび白バーの幅を測定する測定手段と、
前記測定手段の測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数をバーコード補正値として求めるバー幅補正手段とを備え、
前記測定手段は、前記テストチャートから得られた濃度値の最大値と最小値の平均値を基に、前記2値化のための閾値を決定することを特徴とするバーコード生成システム。
【請求項2】
前記テストチャートの印刷は、実際の使用条件と同じ条件下で行うことを特徴とする請求項1に記載のバーコード生成システム。
【請求項3】
前記バー幅補正手段は、前記テストチャートに印刷した黒バーおよび白バーの幅のドット数と前記黒バーおよび白バーの幅の実測値との関係に基づいて、ドット数と前記黒バーおよび白バーの幅とを対応づけた補正テーブルを生成する請求項1に記載のバーコード生成システム。
【請求項4】
前記バー幅補正手段は、バーコードの種類および基準となるバーの幅情報の入力を受け付ける手段を有し、前記受け付けたバーコードの種類および基準となるバーの幅情報に基づいて、前記補正テーブルを参照し、当該種類の印刷後のバーコードのすべての黒バーおよび白バーの幅が当該バーコードの種類における規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数を選定する請求項3に記載のバーコード生成システム。
【請求項5】
前記印刷装置はインクジェット記録方式を採用した印刷装置である請求項1〜4いずれかに記載のバーコード生成システム。
【請求項6】
前記黒バーは、縦方向に互いに平行に伸びる複数の黒バーと、横方向に互いに平行に伸びる複数の黒バーとを含み、前記補正テーブルおよびバーコード補正値は縦方向と横方向とで別個に生成することを特徴とする請求項1に記載のバーコード生成システム。
【請求項7】
前記バー幅補正手段は、前記テストチャートに含まれないドット数の黒バー幅および白バー幅を前記測定結果に基づいて推測し、導き出すことを特徴とする請求項1〜6のいずれかに記載のバーコード生成システム。
【請求項8】
バーコードを印刷するためのバーコード構成情報を生成するバーコード生成プログラムであって、
バーコード用の黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートを用い、その画像データに基づいて特定の印刷装置で印刷されたテストチャートを読み取ったイメージに基づいて閾値を決定し、その閾値を基に前記黒バーおよび白バーの幅を測定するステップと、
この測定結果に基づいて、印刷後のバーコードの黒バー幅と白バー幅が規定の大きさに一致または近づくように、印刷時に設定されるべき黒バーと白バーのドット数をバーコード補正値として求めるステップと
をコンピュータに実行させることを特徴とするバーコード生成プログラム。
【請求項9】
前記テストチャートに印刷した黒バーおよび白バーの幅のドット数と前記黒バーおよび白バー幅の実測値との関係に基づいて、ドット数と前記黒バーおよび白バーの幅とを対応づけた補正テーブルを生成するステップをさらに実行させる請求項8に記載のバーコード生成プログラム。
【請求項10】
バーコードの種類および基準となるバーの幅情報の入力を受け付けるステップと、前記受け付けたバーコードの種類および基準となるバーの幅情報に基づいて、前記補正テーブルを参照し、当該種類の印刷後のバーコードのすべての黒バーおよび白バーの幅が当該バーコードの種類における規定の大きさに一致または近づくように、印刷時に設定されるべき黒バー幅と白バー幅のドット数を選定するステップとをさらに実行させる請求項8または9に記載のバーコード生成プログラム。
【請求項11】
バーコードを印刷することが可能な印刷装置であって、
バーコードの黒バーおよび白バー(スペース)をそれぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データを外部から受け取って印刷する印刷手段と、
前記印刷手段で印刷したテストチャートから得られた閾値を基に黒バーおよび白バー幅を実測する手段と、
実測値に基づいて補正値を算出する手段とを備え、
算出されたバーコード補正値に基づきバーコードを印刷することを特徴とする印刷装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図16】
【図17】
【図18】
【図19】
【図20】
【図10】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図16】
【図17】
【図18】
【図19】
【図20】
【図10】
【図15】
【公開番号】特開2009−199271(P2009−199271A)
【公開日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願番号】特願2008−39348(P2008−39348)
【出願日】平成20年2月20日(2008.2.20)
【出願人】(000208743)キヤノンファインテック株式会社 (1,218)
【Fターム(参考)】
【公開日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願日】平成20年2月20日(2008.2.20)
【出願人】(000208743)キヤノンファインテック株式会社 (1,218)
【Fターム(参考)】
[ Back to top ]