(57)【要約】【課題】短時間且つ最小限の用紙およびインクの使用で、個々のユーザの使用条件に合った適正なバーコード構成情報ひいてはバーコードを生成するとともに、バーコード読取装置の光源の波長に応じたバーコード補正を行う。【解決手段】テストチャートの画像データを特定の印刷装置で印刷して得られたテストチャートの読取イメージに基づいて、バーコード用のバーおよびスペースの幅を測定する。この際、複数の色要素毎のイメージの測定結果を得て、これらの測定結果の論理和をとることによりバーおよびスペースの幅を求める。測定結果に基づいて、印刷後のバーコードのバー幅とスペース幅が規定の大きさとなるように、印刷時に設定されるべきバー幅とスペース幅のドット数をバーコード補正値として求める。【選択図】図９
2010089412.tif 000002
【特許請求の範囲】
【請求項１】
バーコードを印刷するためのバーコード構成情報を生成するバーコード生成システムであって、
バーコード用のバーおよびスペースを、それぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データを記憶する手段と、
前記テストチャートの画像データを特定の印刷装置で印刷して得られたテストチャートの読取イメージに基づいて、前記バーコード用のバーおよびスペースの幅を測定する測定手段と、
前記測定手段の測定結果に基づいて、印刷後のバーコードのバー幅とスペース幅が規定の大きさとなるように、印刷時に設定されるべきバー幅とスペース幅のドット数をバーコード補正値として求めるバー幅補正手段とを備え、
前記測定手段は、複数の色要素毎のイメージの測定結果を得て、これらの測定結果の論理和をとることによりバーおよびスペースの幅を求める
ことを特徴とするバーコード生成システム。
【請求項２】
前記測定手段は、バーコード読取装置の光源の波長に対して、複数の色要素毎の読取出力を２値化するための閾値を対応付けた閾値テーブルを有する請求項１に記載のバーコード生成システム。
【請求項３】
前記バーコード読取装置の光源の波長を入力する手段を備えた請求項２に記載のバーコード生成システム。
【請求項４】
前記バー幅補正手段は、前記テストチャートに印刷したバーおよびスペースの幅のドット数と前記バーおよびスペースの幅の実測値との関係に基づいて、ドット数と前記バーおよびスペースの幅とを対応づけた補正テーブルを生成する請求項１に記載のバーコード生成システム。
【請求項５】
前記バー幅補正手段は、バーコードの種類および基準となる要素の幅情報の入力を受け付ける手段を有し、前記受け付けたバーコードの種類および基準となる要素の幅情報に基づいて、前記補正テーブルを参照し、当該種類の印刷後のバーコードのすべてのバーおよびスペースの幅が規定の大きさに一致または近づくように、印刷時に設定されるべきバー幅とスペース幅のドット数を選定する請求項４に記載のバーコード生成システム。
【請求項６】
前記印刷装置はインクジェット記録方式を採用した印刷装置である請求項１〜５のいずれかに記載のバーコード生成システム。
【請求項７】
前記バーは、縦方向に互いに平行に伸びる複数のバーと、横方向に互いに平行に伸びる複数のバーとを含み、前記補正テーブルおよびバーコード補正値は縦方向と横方向とで別個に生成することを特徴とする請求項４に記載のバーコード生成システム。
【請求項８】
前記テストチャートに記録されるバーおよびスペースは、各々、少なくとも２種類の幅を有する請求項１〜７のいずれかに記載のバーコード生成システム。
【請求項９】
バーコードを印刷するためのバーコード構成情報を生成するバーコード生成プログラムであって、
前記テストチャートの画像データを特定の印刷装置で印刷して得られたテストチャートの読取イメージに基づいて、複数の色要素毎のイメージの測定結果を得て、これらの測定結果の論理和をとることによりバーおよびスペースの幅を測定するステップと、
この測定結果に基づいて、印刷後のバーコードのバー幅とスペース幅が規定の大きさとなるように、印刷時に設定されるべきバー幅とスペース幅のドット数をバーコード補正値として求めるステップと、
をコンピュータに実行させることを特徴とするバーコード生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インクジェットプリンタを使用したバーコード生成システムに関する。
【背景技術】
【０００２】
一般に、インクジェット記録ヘッドを用いたバーコード生成システムでは、さまざまな記録媒体に対して非接触で画像を形成することができるという利点がある一方、紙面上でインク滴が滲む現象により、バーコードの黒バーが太くなり、それに隣り合う白バー（すなわち白スペース）が細くなる傾向にある。本来、バーコードは黒バーと白バーは同じ幅である必要がある為、このバーの太り細りはバーコードの読取り精度に大きく影響を与え、時には読取り不可能なバーコードになってしまうという問題があった。
【０００３】
この問題を解決するために、予めドットの滲みを見越してバーコードの白バーを大きくした構成にするバーコード補正方法や、黒バー部分を滲みにくくする方法が提案されている（特許文献１）。
【０００４】
また、このインクの滲む度合いは紙の素材に大きく起因する為、用紙の種類（紙種）によってバーコードが読めなくなるという問題もあった。
【０００５】
この問題に対しては、用紙の種類ごとに黒バーと白バーのドット数を予めテーブルとして用意することにより紙種の違いをカバーする技術が提案されている（特許文献２）。
【０００６】
さらに、インクの滲み具合に関わる要因は紙の素材だけでなく、インクの種類や記録ヘッドの個体差、使用環境など様々な要因が関与し合っており、これら使用条件の違いによってもバーコードが読めなくなる場合があるという問題もあった。
【０００７】
この問題に対しては、補正値の異なるバーコードを幾つも作成して実際に印刷し、バーコード検証機で読み取ることにより個々の使用環境に合ったバーコード生成を可能にする技術が提案されている（特許文献３）。
【特許文献１】特開２００３−２３７０５９号公報
【特許文献２】特開平０８−１２３８８６号公報
【特許文献３】特開平０８−０４４８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の技術には以下のような問題がある。
【０００９】
特許文献１記載のバーコード生成システムは、ドットの滲み具合が予め判っている場合は有効であるが、紙種の変更などに対応できないという問題が残っている。
【００１０】
特許文献２記載のバーコード生成システムでは、紙種が新規追加される度に、ソフトウエアのバーコード補正テーブルも追加修正しなければならない問題があった。
【００１１】
特許文献３記載のバーコード生成システムでは、実際に使用するバーコードの条件、つまりＥＡＮ１２８やＣＯＤＥ３９などのバーコード種類や、バーコード化する数値の桁数やサイズなどの各パラメータに対して補正値を微調整した非常に多くのバーコードを生成して印刷し、検証機による読取り結果を比較する手法であり、適正なバーコード条件を決定する為には印刷に使用する用紙や時間を多く浪費するという問題があった。また、従来の条件と滲み率が大きく異なる用紙が追加されると、補正範囲を広げた検証用バーコードをさらに追加する必要があり、検証パターンのメンテナンス面での問題もあった。
【００１２】
また、インクジェット記録方式の印刷装置においては、吐出されたインクの主滴から切り離された副滴によって、同じドット幅でバーコードを構成しようとしても搬送方向に対して平行に構成した場合と垂直に構成した場合とでバー幅が異なってしまうという問題もあった。この問題は特に１パスで印刷を行う場合に顕著である。
【００１３】
このような従来の問題に対して、本願出願人は特願２００７−１５１３７１号および特願２００７−１８３７４５号として、実際の印刷環境にて、バーコードを構成するバーとスペースそれぞれの補正値を算出するためのテストチャートを印刷し、その印刷結果を基にバーコード補正値を決定するバーコード生成システムおよびそのためのテストチャートを提案した。これにより上記の問題が解決された。
【００１４】
ところで、バーコード検証機やバーコードリーダ等のバーコード読取装置は、バーコードに特定の波長の照明光（光源）を照射し、その反射光を集めて電気信号に変換し、解読して元のデータを得るため、波長によって反射率データが大きく異なり、検証結果またはリーダ読取り率に大幅な差が生じる場合がある。特に、光源の波長によって読取り易い色と読取り難い色があるため、カラーバーコードの印刷またはカラー用紙に印刷する場合は、光源の波長に合わせてバーコード補正を行う必要がある。
【００１５】
本発明はこのような背景においてなされたものであり、その目的は、短時間且つ最小限の用紙およびインクの使用で、個々のユーザの使用条件に合った適正なバーコード構成情報ひいてはバーコードを生成するとともに、バーコード読取装置の光源の波長に応じたバーコード補正を行うことができるバーコード生成システムおよびバーコード生成プログラムを提供することにある。
【課題を解決するための手段】
【００１６】
本発明によるバーコード生成システムは、バーコードを印刷するためのバーコード構成情報を生成するバーコード生成システムであって、バーコード用のバーおよびスペースを、それぞれ複数の異なるドット数の幅で印刷するためのテストチャートの画像データを記憶する手段と、前記テストチャートの画像データを特定の印刷装置で印刷して得られたテストチャートの読取イメージに基づいて、前記バーコード用のバーおよびスペースの幅を測定する測定手段と、前記測定手段の測定結果に基づいて、印刷後のバーコードのバー幅とスペース幅が規定の大きさとなるように、印刷時に設定されるべきバー幅とスペース幅のドット数をバーコード補正値として求めるバー幅補正手段とを備え、前記測定手段は、複数の色要素毎のイメージの測定結果を得て、これらの測定結果の論理和をとることによりバーおよびスペースの幅を求める。
【００１７】
前記測定手段により、ある印刷装置およびある種類の用紙等の条件下で印刷されたテストチャートから、さまざまなドット幅（指示値）で印刷したバー要素（バーおよびスペース）の実際の幅の実測値を得ることにより、その条件下でのドット幅と実際の幅の関係が把握される。そこで、バー幅補正手段は、印刷後のバーコードのバー幅とスペース幅が規定の大きさとなるように、印刷時に設定されるべきバー幅とスペース幅のドット数をバーコード補正値として求めることができる。このバーコード補正値を用いて、当該条件下でバーコードを印刷すれば、バーコードの要素幅にドットの滲み等の幅変動要因があっても、適正な要素幅でのバーコードを印刷することが可能となる。かつ、テストチャートの読取の際に複数の色要素毎のイメージの測定結果を得て、これらの測定結果の論理和をとることによりバーおよびスペースの幅を求める。これにより、個々のバーコード読取装置に用いられている光源の波長が異なることに対応可能となる。
【００１８】
より具体的には、前記測定手段は、バーコード読取装置の光源の波長に対して、複数の色要素毎の読取出力を２値化するための閾値を対応付けた閾値テーブルを有する。この場合、好ましくは、前記バーコード読取装置の光源の波長を入力する手段を備える。
【００１９】
前記バー幅補正手段は、前記テストチャートに印刷したバーおよびスペースの幅のドット数と前記バーおよびスペースの幅の実測値との関係に基づいて、ドット数と前記バーおよびスペースの幅とを対応づけた補正テーブルを生成する。より具体的には、前記バー幅補正手段は、バーコードの種類および基準となる要素の幅情報の入力を受け付ける手段を有し、前記受け付けたバーコードの種類および基準となる要素の幅情報に基づいて、前記補正テーブルを参照し、当該種類の印刷後のバーコードのすべてのバーおよびスペースの幅が規定の大きさに一致または近づくように、印刷時に設定されるべきバー幅とスペース幅のドット数を選定する。
【００２０】
本発明によるバーコード生成プログラムは、バーコードを印刷するためのバーコード構成情報を生成するバーコード生成プログラムであって、前記テストチャートの画像データを特定の印刷装置で印刷して得られたテストチャートの読取イメージに基づいて、複数の色要素毎のイメージの測定結果を得て、これらの測定結果の論理和をとることによりバーおよびスペースの幅を測定するステップと、この測定結果に基づいて、印刷後のバーコードのバー幅とスペース幅が規定の大きさとなるように、印刷時に設定されるべきバー幅とスペース幅のドット数をバーコード補正値として求めるステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、印刷装置の設置環境や装置の個体差、用紙の種類などユーザ個々の使用環境条件に合致した適正なバーコードの生成が可能なバーコード生成システムを提供することができる。また、短時間で適正なバーコード補正値を見出すことができ、且つインクや用紙の消費量を低減した手法により実現するものである。
【００２２】
また、本発明は、テストチャートの解析でドットの太り細りを測定する手法なので、バーコードの種類や用紙の種類が増えても、システムのメンテナンスが不要である。
【００２３】
さらに、バーコード読取装置の光源の波長に合わせてバーコードのバーおよびスペースの幅の補正を行うため、テストチャート解析性能が向上し、カラーバーコードやカラー用紙に対応することが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照して本発明の実施形態について詳細に説明する。尚、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００２５】
図１に、本実施の形態におけるバーコード生成システムの概略図を示す。このシステムは、情報処理装置１００と、イメージスキャナ１１０と、印刷装置２００とを備える。イメージスキャナ１１０は、白色（またはＲＧＢ）の光源を用いて複数色要素（ここではシアン（Ｃ）とマゼンタ（Ｍ）とイエロー（Ｙ））の多階調出力が得られるフルカラーの画像の読取が可能なものとする。
【００２６】
本実施の形態における印刷装置２００は、熱エネルギーを利用したインク吐出方式を採用したインクジェット印刷装置であり、記録媒体の一種としての用紙１０３を搬送する搬送ユニット１０６と、用紙１０３の搬送速度を検出するエンコーダ１０４と、画像データを記録するインクジェット記録方式の記録ユニット１０１で構成される。この記録ユニット１０１は、ＵＳＢなどのインタフェースケーブル１０２を介して情報処理装置１００と接続されている。情報処理装置１００はパーソナルコンピュータ（ＰＣ)などの装置であり、この装置から印刷装置２００に対して、画像データの転送やクリーニングなどの制御コマンドの転送が行われる。情報処理装置１００には、その周辺装置の一つとして、後述するテストパターンを記録したテストチャートを光学的に読み取るためのイメージスキャナ１１０が接続される。
【００２７】
記録ユニット１０１による画像データの記録は、搬送ユニット１０６における用紙センサ（図示せず）からの用紙検出信号をトリガにして、エンコーダ１０４の用紙速度信号に同期しながら、搬送された用紙１０３に対してインク滴を吐出することにより行われる。記録内容は、任意であるが、図１の例では１次元バーコード１０５である。
【００２８】
なお、エンコーダ１０４を用いずに、記録ユニット１０１とは独立した搬送装置により用紙等の記録媒体をユーザが指定する任意の速度で搬送する構成であってもよい。
【００２９】
図２は、図１のシステムにおける情報処理装置１００と印刷装置２００の制御ハードウェアの構成例を示すブロック図である。
【００３０】
情報処理装置１００は、中央処理装置（ＣＰＵ）等により構成される制御部１１１を備え、この制御部１１１により記憶部１１２に格納されている制御プログラムを実行し、各部を制御する。記憶部１１２は、ＲＯＭ，ＲＡＭ，ＨＤＤ等を含みうる。表示部１１３はＬＣＤ，ＣＲＴ等のディスプレイを含み、ユーザに対して表示画面上に情報を提示する。操作部１１４は、キーボード、マウス等を含み、ユーザからの操作や情報の入力を受け付ける。ＵＳＢインタフェース１１５は、情報処理装置１００を印刷装置２００と接続するためのプリンタインタフェースの一例として示してある。但し、プリンタインタフェースはＵＳＢに限るものではない。
【００３１】
印刷装置２００の制御部２０１は、中央処理装置（ＣＰＵ）２０２を備え、このＣＰＵ２０２により不揮発性メモリ（ＲＯＭ）２０３に格納されている制御プログラムを実行し、各部を制御する。また、制御部２０１は、ＣＰＵ２０２により各種データ処理のワークエリアや受信バッファとして使用されるメモリ（ＲＡＭ）２０４や、制御回路２０９を介して、画像展開部として使用されるイメージメモリ２０５を備える。更に、ＣＰＵ２０２は、制御回路２０９を介して、記録ヘッド２１４〜２１７を駆動するヘッド駆動回路２１０や、各記録ヘッドを記録に適正な状態に保つためのクリーニング動作や記録動作を制御する各種モータ２０６を駆動するモータドライバ２１１、記録ヘッド下に給紙を行うための搬送制御Ｉ／Ｆ２０７の入出力インターフェース制御部（Ｉ／Ｏ）２１２を制御する構成となっている。本例では、図１内のエンコーダ１０４は搬送制御Ｉ／Ｆ２０７に含まれているものとする。
【００３２】
また、印刷装置２００は、基本的に、外部装置である情報処理装置１００から送信された画像データやクリーニングコマンドなどをインタフェースケーブル１０２を介して受信するＵＳＢコントローラ２０８を有し、この受信した各種コマンドに従って動作する。
【００３３】
図３は、記録ユニット１０１で、一般的なバーコードのような黒バーと白バーにて構成されるパターンを記録した場合の概略図である。黒バーは黒インクで記録された直線要素である。白バーは記録の空白部（バーコードを記録する用紙の地色）で構成される直線要素であり、スペースともいう。この図において、ライン２１，２２，２３の順で、記録を行ったものである。図３の例では、ライン２１により細バーを構成し、ライン２２，２３により太バーを構成している。
【００３４】
インクジェット印刷装置では、記録されるドットのサイズは、インクという液体を吐出させて画像を形成するという特性上、使用環境や記録ヘッドの個体差、インクの種類などの条件に依存するインクの吐出量と、用紙の素材に依存する滲み率によって変化する。通常、ある範囲内の使用環境を想定し、対記録媒体との関係から吐出量を設定し、インクのドットサイズを決定している。しかし、産業用途等の過酷な記録条件や設置環境、ヘッドの個体差、紙種などの影響で、にじみ、吐出量が変化する。その結果、図３にケース１、ケース２として示すように印刷されたドットサイズが変化することがある。ドットサイズが変化すると、ドット間のスペースが規定値に対し増減することとなる。その結果、バーコードの読取り不良が発生したり、最悪の場合には読めなくなったりする。
【００３５】
また、仮に上記のようなにじみ方のばらつき要因がないとしても、インクをにじませて画像を形成している以上、同じドット数でバーとスペースを形成しても両者は同じ幅にはならない。インクジェット印刷装置におけるバーコードの生成になんらかの補正が必要なのはこの為である。
【００３６】
図４はインクジェット印刷装置における副滴が用紙に着弾するまでの時間経過に応じた状態を表した模式図である。記録ヘッド（ここでは記録ヘッド２１４）からインクが吐出されるとき、画像を形成するインクの主滴４０が用紙１０３に着弾した後に、インク主滴４０から遅れてインク主滴４０の残りである副滴（サテライトともいう）４１が用紙に着弾する。この副滴４１は主滴４０よりもサイズが小さい。記録ヘッド２１４に対して相対的に用紙１０３が一方向（図の→方向）に搬送されるとき、副滴４１は主滴４０の着弾に対して必ず用紙搬送方向の後ろ側に形成されてしまう。ここでは用紙の全幅に亘って並んだノズル列を有するライン型の記録ヘッドを想定しているが、いわゆる用紙の搬送方向と直交する方向に主走査されるシリアル型の記録ヘッドにおいても同様の副滴による影響がありうる。すなわち、副滴４１は主滴４０の着弾に対して必ずヘッド走査方向（結局は、記録ヘッドの用紙に対する相対的な移動方向）の後ろ側に形成されてしまう。
【００３７】
図５（ａ）は、インクジェット印刷装置においてノズル列２２３に対して平行のバーを有するバーコードを構成した際に発生する副滴の状態を図にしたものである。これはライン型の記録ヘッドに対して用紙をＡ方向に搬送した場合を示している。上述のように、副滴４１は主滴４０の着弾に対して必ず用紙搬送方向の後ろ側に形成されてしまう為、用紙搬送方向に対して垂直（すなわちノズル列に対して平行）のバーで構成されるバーコードは、主滴ドット列２２１に隣接する副滴ドット列２２０の影響によりバーの幅がスペースの幅に対して極端に大きくなってしまうおそれがあった。
【００３８】
図５（ｂ）は、インクジェット印刷装置において用紙搬送方向に平行（すなわちノズル列２２３に対して垂直）のバーを有するバーコードを構成した際に発生する副滴の状態を図にしたものである。図５（ａ）に場合に比べて図５（ｂ）のバーコードは、副滴ドット列が主滴ドット列の線上に重なり、大半の副滴は主滴ドット列に重なり相殺されてしまう。また、この場合の副滴が主滴に対してずれる方向はバー幅に影響しない方向である。その為、副滴が発生しても、バー幅がスペース幅よりも極端に大きくなってしまうということはない。
【００３９】
このように副滴が発生するインクジェット印刷装置においてバーコードを印刷する場合は、バーコードの向きによってもバー幅と、スペース幅が異なる為、それぞれの場合に対して適正なバーコードの生成を行う必要がある。
【００４０】
本発明は、このような問題に対応すべく、バーコードを構成するバー、スペースのドット数と実記録されたバーおよびスペースの幅との関係を簡単に得られるテストパターンを用い、その読取結果をもとにバーコードを補正することにより、記録環境が変化しても安定して読取り可能なバーコードを記録可能とした。
【００４１】
次に、本実施の形態による、バーコード補正値を決定するために用いるテストチャートおよび、バーコード幅の補正の方法について説明する。
【００４２】
図６および図７にそれぞれ、本実施の形態における、バーおよびスペースの太り細りの状態が確認可能なテストパターンの構成例を示す。
【００４３】
図６のテストパターン６００ｐは、バー群を含むポジ（正）のテストパターンであり、それぞれ、各バーがノズル列２２３に平行な方向に延びる複数のバーからなるバー群６０１ｐと、ノズル列に垂直な方向に延びる複数のバーからなるバー群６０２ｐとを含む。この例では、いずれのバー群も１〜１０のドット数の１０種類の異なるバー幅で構成されている。但し、バー幅は必ずしもこのような１０種類が必要なわけではなく、このテストパターンにおけるバー幅の種類は少なくとも２種類あればよい。ドット列６０３ｐの各ドットは孤立した単一ドット（黒または色ドット）により構成され、各ドット径の確認等に利用されるものであるが、本実施の形態における動作には直接関係しない。
【００４４】
図７のテストパターン６００ｎは、スペース群を含むネガ（負）のテストパターンであり、それぞれ、各バーがノズル列２２３に平行な方向に延びる複数のスペースからなるスペース群６０１ｎと、ノズル列に垂直な方向に延びる複数のスペースからなるスペース群６０２ｎとを含む。この例では、いずれのスペース群も１〜１０のドット数の１０種類の異なるバー幅で構成されている。スペースについても、バー幅は必ずしもこのような１０種類が必要なわけではなく、このテストパターンにおけるスペース幅の種類は少なくとも２種類あればよい。ドット列６０３ｎの各ドットは孤立した単一ドット（白ドット）により構成され、各ドット径の確認等に利用されるものであるが、本実施の形態における動作には直接関係しない。
【００４５】
図６、図７で説明したテストパターン６００ｐ、６００ｎを記録したテストチャート６００（図９）は、好ましくは実際にバーコードの印刷に使用される用紙に印刷されたテストチャートの面上の各バーの幅を実測することにより、印刷されたドット数と紙面上の実バー幅の関係を掌握することができる構成である。各テストパターンは、バーコード用のバーおよびスペースを、それぞれ複数の異なるドット数の幅で印刷するためのデータパターンである。実際の使用条件（装置、環境、用紙）で本発明のテストチャートを印刷すれば、記録ヘッドの個体差に起因する吐出量の違いや、用紙の種類に起因する滲み率の違いを考慮した実バー幅を知ることができ、その実バー幅に応じてバー／スペースのサイズを補正したバーコードを生成することが可能である。テストチャートを読み取って得られるイメージの解析手法に関しては後述する。
【００４６】
本例では１０種類のバー幅（ドット数１〜１０）を使用した。このように、連続値のドット数を採用する必要はないが、テストチャートを比較的多くの種類のドット幅で構成する場合は、比較的細い幅のバーを構成するドット数をより多く入れ込むのが望ましい。実際のバーコードの寸法許容値はバーが細いものほど寸法許容範囲が小さく、少しの寸法のずれでも品質低下が発生する恐れがある。一方、バーが太いものほど寸法許容範囲が大きい為、寸法がある程度ずれていても読取ランクに影響はない。よって、テストパターンに複数種類のドット列を入れる場合は細いドット列を多く入れることにより、細いバーコードの生成精度を上昇させ、バーコードの品質をより高めることが可能となる。
【００４７】
用紙の大きさによって複数の種類のテストチャートを有する場合も、バーの占有面積の見地からも、太い幅のドット列よりも細い幅のドット列の数を優先して配置する方が有利である。
【００４８】
図８（ａ）（ｂ）は、テストチャートのバーおよびスペースの印刷時のドット数に対する実際の印刷結果のバーおよびスペースの幅の測定値をそれぞれグラフ化したものである。これはテストチャートから得られた各値から、テストチャートに含まれないドット数とバーおよびスペースとの関係を推測する為のものである。それぞれバーコードのバーの向きがノズル列に「平行」（横方向）の場合と「垂直」（縦方向）の場合の測定結果を別個に示している。この図から分かるように、同じドット数でもバーの方がスペースより実サイズが大きい。また、「垂直」と「平行」では、バーの場合は「平行」の方が大きく、スペースの場合は「垂直」の方が大きくなっている。
【００４９】
隣接するバーの間隙をスペースとしてして利用するテストパターンを採用することも可能である。この場合、図６のテストパターン６００ｐが図７のテストパターン６００ｎを兼ねることになる。これにより、テストチャートに入れるバーとスペースを配置する面積はグラフを作成する為の最小限で済むことになる。また、大きなバーコードを生成することまで考慮してテストチャートを大きく取ったり、複数枚にする必要もなくなる。
【００５０】
本実施の形態では、テストパターンとして幅１０ドットまでのバーおよびスペースを作成したが、上述したように理論的には上記グラフを描く為に、テストチャートに入れるバー、スペース、ともに２種類、少なくとも幅の違うものがあればよい。もちろん用紙の印刷可能な領域に余裕がある場合は、精度を高める為にこれ以上に増やしても構わない。
【００５１】
図９は、本実施の形態におけるバーコード生成システムの外観構成例を示す。
【００５２】
図６、図７に示したようなテストパターンを記録したテストチャート６００を得るためには、情報処理装置１００の記憶部１１２に格納された、テストパターンに対応するテストチャート画像データ８０６が、情報処理装置１００からインタフェースケーブル１０２を介して印刷装置２００に転送される。印刷装置２００における記録ユニット１０１（図１）によるテストチャート６００の記録は、前述したように、実際の使用条件（印刷装置、記録環境、使用用紙等）と同じ条件下で行うことによって、最大限の効果が得られる。この例では、テストチャート画像データ８０６の画像はモノクロ画像とするが、カラーであってもよい。用紙の色は白でなくてもよい。
【００５３】
用紙上に記録出力されたテストチャート６００はイメージスキャナ１１０にセットされて、シアン（Ｃ）とマゼンタ（Ｍ）とイエロー（Ｙ）の色要素データ（ＣＭＹデータ）がイメージ情報として読み取られる。情報処理装置１００はこの読み取られたイメージ情報をインタフェースケーブル８０５を介して受信し、制御部１１１（図２）が、テストチャート６００の各幅のバー要素の記録による実バー幅情報を得る。この際、制御部１１１はまた、イメージスキャナ１１０によるテストチャート６００の読取出力に対して測定を行う測定手段を構成する。この測定手段は、複数の色要素毎のイメージの測定結果を得て、これらの測定結果の論理和をとることによりバーおよびスペースの幅を求める。制御部１１１はさらに、バー幅補正手段として、この実バー幅情報に基づいて後述するバーコード補正値１１００を生成し、記憶部１１２に格納する。記憶部１１２には、後述する補正テーブル１０００も記憶される。
【００５４】
バー幅補正手段は、テストチャート６００の測定結果に基づいて、印刷後のバーコードのバー幅とスペース幅が規定の大きさとなるように、印刷時に設定されるべきバー幅とスペース幅のドット数をバーコード補正値として求めるものである。より具体的には、当該種類の印刷後のバーコードのすべてのバーおよびスペースの幅が規定の大きさに一致または近づくように、印刷時に設定されるべきバー幅とスペース幅のドット数を選定する。
【００５５】
図１０は、テストチャート６００の読取および解析から得られた、ドット数とバー幅およびスペース幅との関係の測定結果に基づいて作成されたグラフから推測した、ドット数とバーおよびスペースとの関係を、ドット数１ドットから２５ドットまで１ドットきざみで記載した補正テーブル１０００を示している。ノズル列に平行なバーおよびスペースとの関係と、ノズル列に垂直なバーおよびスペースとの関係とを含む。このデータは、テストチャート６００をイメージスキャナ１１０で読み取ることにより得られた画像データ上の、指示値としての各バー幅のドット数（整数）に対して、実際に紙面上に着弾し滲んだバー幅およびスペース幅の実バー幅（単位はマイクロメートル）を測定することによって得られた結果およびこの結果に基づく推測値を示している。ここでは、上述した例に対応して、１〜１０の各ドット数の測定結果と、１１〜２５の各ドット数についての推測値が得られている。具体的には、例えば、６ドットで構成したノズル列方向に垂直なバー幅は、紙面上で２９５μｍであり、同じ６ドットのスペース幅は１６５μｍになっていることが示されている。また、１０ドットで構成したバー幅は、紙面上で４６５μｍであり、同じ１０ドットのスペース幅は３３５μｍになっていることが示されている。なお、図１０に示したデータは図８に示したグラフの結果と一致するべきものであるが、本例では便宜上、その整合を図ってはいない。
【００５６】
図１１（ａ）（ｂ）は、図９のバーコード補正値１１００の例として、種類の異なるバーコードについてのバーコード構成情報を格納したバーコード構成情報テーブル１１０１，１１０２を示している。
【００５７】
１次元バーコードは、大きく分けてバイナリレベルとマルチレベルの２種類に分類できる。バイナリレベルのバーコードとは、２種類の幅のバーと２種類の幅のスペースで構成されたバーコードであり、両種類の幅は１：２の比率で構成される。代表的なバーコードとしては、Ｃｏｄｅ３９、ＩＴＦなどがある。マルチレベルのバーコードとは、４種類の幅のバーと４種類の幅のスペースで構成されたバーコードであり、全種類の幅は１：２：３：４の比率で構成される。代表的なバーコードとして、ＪＡＮ、ＥＡＮ１２８、Ｃｏｄｅ１２８などがある。例えば、マルチレベルのバーコードを補正する場合、図１０に示したバーとスペースの補正テーブル１０００から、実際の幅サイズが１：２：３：４となるバーの各ドット数を選び、且つスペースについてはバーと実サイズ幅が同じとなるドット数を選ぶことによって、適正なバーコードの補正値を決定し、読取り品位の高い適正なバーコードを生成することが可能である。
【００５８】
以下、バイナリレベルのバーコードＣｏｄｅ３９及びマルチレベルのバーコードＥＡＮ１２８のノズル列に対して垂直に構成されるバーから構成されるバーコードの補正値決定方法を具体的に説明する。
【００５９】
図１１（ａ）に示したバーコード構成情報テーブル１１０１は、規格上、細バー幅（ＮＢ）５ドットの場合のＣｏｄｅ３９の補正されたドット構成を示し、「垂直」「平行」の両方の向きについてのデータを有する。この補正ドット構成は次のようにして得られる。細バー幅５ドットは、図１０に示した補正テーブル１０００から、そのバー幅は２５０μｍである。細スペースは、細バーと同じ２５０μｍとなるドット数を補正テーブル１０００から探し出すことにより、８ドットと決定される。これにより、５ドットで構成されたバー幅と８ドットで構成されたスペース幅が、紙面上の実サイズとしては同じになる。太バーおよび太スペースは、細太比１：２により、２５０μｍ×２＝５００μｍに最も近い幅に対応するドット数を補正テーブル１０００から探し出し、実際のバー幅が５００μｍに最も近い５０５μｍである太バー１１ドット、実際のスペース幅が５００μｍに最も近い５０５μｍである太スペース１４ドットと決定される。これにより、バーコード読取り率の重要ファクターの一つである『細バー×２＝太バー』および『バー幅＝スペース』という規格条件を紙面上の実サイズで保証することができる。
【００６０】
図１１（ｂ）に示したバーコード構成情報テーブル１１０２は、規格上、細バー幅（ＮＢ）４ドットの場合のＥＡＮ１２８の補正されたドット構成を示し、「垂直」「平行」の両方の向きについてのデータを有する。例えば「垂直」の場合、補正ドット構成は次のようにして得られる。細バー幅４ドットは、補正テーブル１０００から実際のバー幅で２１０μｍなので、１：２：３：４となる４値の各バーのバー幅は、計算上、それぞれ２１０μｍ、４２０μｍ、６３０μｍ、８４０μｍである。そこで、上記と同様の手法で、図１０の補正テーブル１０００から各々のバー幅となるドット数は、４ドット、９ドット、１４ドット、１９ドットと決定される。同様に、２１０μｍ、４２０μｍ、６３０μｍ，８４０μｍのスペース幅は、７ドット、１２ドット、１７ドット、２２ドットと決定できる。これにより、バーコード読取り率の重要ファクターの一つである『１：２：３：４の比率』および『バー幅＝スペース』という規格条件を、紙面上の実サイズで保証することができる。「平行」の場合にも同様である。
【００６１】
情報処理装置１００の記憶部１１２に、これらのバーコード構成情報テーブル１１０１，１１０２はバーコードの種別情報とともに保存される。
【００６２】
図１２は、本実施の形態のバーコード生成システムの動作を説明する為の画面例を示している。
【００６３】
情報処理装置１００上で実行されるバーコード生成アプリケーションの入力画面１２００は、バーコードの種類を選択肢の中から選択するバーコード種類選択欄１２０１と、バーコードの向き（方向）を選択する選択欄１２０２と、基準となる要素の幅情報としての細バー（ナローバー）のドット数を入力するドット数入力欄１２０３と、バーコード読取装置の光の波長の入力欄１２０４と、テストチャート６００を読み取ることを指示する「チャート読込」ボタン１２０５と、終了指示を受けるための「終了」ボタン１２０７とで構成される。
【００６４】
バーコード生成アプリケーションは、「チャート読込」１２０５がユーザにより指示されたとき、イメージスキャナ１１０にセットされたテストチャート６００の記録出力を読み取り、読み取ったイメージに基づく各要素幅のドット数と実測値に基づいて図１０に示したような補正テーブル１０００を作成する。この際、バー幅の判定用の閾値は入力欄１２０４で指定された波長に応じた値となる。この閾値については後述する。さらに、入力画面１２００でユーザが指定したバーコード種類と細バーのドット数に合致した適正なバーコード補正値を求めて、バーコード構成情報画面１２１０を出力する。バーコード構成情報画面１２１０は、バイナリレベルのバーコードの場合は、バーの方向の選択結果に応じて、その細バー（ナローバー）１２１１、細スペース（ナロースペース）１２１３、太バー（ワイドバー）１２１２、太スペース（ワイドスペース）１２１４の各表示欄に適正な構成ドット数を表示する。バーコードの向きの選択欄１２０２でバーコードのバーの方向（ノズル列に垂直または平行）を選択することができる。「終了」ボタン１２０６の指示に応じて、情報処理装置１００内の記憶部１１２に当該バーコードの構成情報（適正な構成ドット数等）が記憶される。記憶された情報は以降のバーコード記録に利用される。また、バーコード構成情報画面１２１０上の各表示欄はユーザによる修正入力を受け付けるようにしてもよい。例えば、バーコードの品位は低下するが、バーコードの小サイズ化のためにユーザがドット幅を例えば１ドット小さくするような微調整入力を行えるようにしてもよい。また、選択欄１２０２を設けずに「垂直」「平行」の両方のデータを同時に表示するようにしてもよい。
【００６５】
なお、バーコード生成アプリケーションがバーコード記録機能を備えない場合には、バーコード構成情報画面１２１０はユーザが補正値を確認するために利用することができる。確認した後は、一般的なバーコード生成ソフトウェアのドット構成入力欄（図示せず）に、それらのバー幅およびスペース幅の値を設定することができる。その結果、読取り率の高い適正なバーコード生成が可能となる。
【００６６】
マルチレベルのバーコードの場合には、図示しないが同様の画面１２１０に、４値の各バー／スペースの表示欄に適正な構成ドット数を表示する。
【００６７】
同様にノズル列に対して平行なバーコードを生成する場合は、それに対応した補正テーブルを参照してバーコードの生成を行うことにより、バーコードの方向に対応したバーコードの生成を行うことが可能になる。
【００６８】
図１３は、本実施の形態のバーコード生成システムにおける補正テーブル１０００の作成に関連した処理を表したフローチャートである。このフローチャートの処理の実行手順を表すプログラムは記憶部１１２（図２）内に格納され、制御部１１１がこれを解釈実行することにより、この処理が実現される。
【００６９】
図１３の処理の前にユーザは所定の操作によりテストチャート６００を印刷装置２００で印刷しているものとする。ユーザにより印刷済みのテストチャートがイメージスキャナ１１０にセットされた状態で、入力画面１２００上でのユーザによるバーコード種類、向き、ナローバー幅、光源の波長の設定を受ける（Ｓ１１）。その後、「チャート読込」ボタン１２０３の押下に応じて（Ｓ１２）、テストチャート６００を読み取る（Ｓ１３）。テストチャート６００に印刷された各ドット数に対するバーおよびスペースの幅（μｍ）を、その読取イメージに基づいて当該光源の波長に応じた閾値で測定する（Ｓ１４）。この測定結果からドット数とその幅の長さの関係式を求めグラフを作成する（Ｓ１５）。さらにこのグラフから、１ドット刻みで各ドット数に対応するバー、スペースの幅の値（μｍ）を算出する（Ｓ１６）。この結果に基づいて、ドット数と幅の補正テーブル１０００（図１０）を作成する（Ｓ１７）。作成された補正テーブル１０００は記憶部１１２に記憶され、実際のバーコード生成の際に使用される。
【００７０】
さらに、読取可能なバーコードを生成可能でない場合には（Ｓ１８，Ｎｏ）、すなわち、生成したバーコードの読取り品位が所定の判断基準に従って所定のレベルに達しないと判断された場合には、ユーザに対して警告を行って本処理を終了する（Ｓ２１）。この警告は、テキストや記号、画像等、任意のメッセージの表示または音によるものが考えられる。
【００７１】
読取可能なバーコードを生成可能と判断された場合には（Ｓ１８，Ｙｅｓ）、当該バーコードのバーおよびスペースの幅の適正ドット数を決定し（Ｓ１９）、バーコード構成情報画面１２１０に適正ドット数を表示する（Ｓ２０）。
【００７２】
ここで、図１４に、バーコード読取装置に用いられる光源の波長と、各色要素（ここではシアン（Ｃ）とマゼンタ（Ｍ）とイエロー（Ｙ））の反射率の関係を示す。
【００７３】
シアン（Ｃ）とマゼンタ（Ｍ）とイエロー（Ｙ）の波長と反射率との関係（１４０１、１４０２、１４０３）はそれぞれ異なる。例えば、光源の波長が６５０ｎｍのバーコード読取装置の場合、マゼンタ（Ｍ）とイエロー（Ｙ）について、それらのバーは反射率が高いため誤ってスペースと判断される。一方、シアン（Ｃ）については、その色のバーは反射率が低いため正しくバーと判断される。
【００７４】
また、光源の波長が４５０ｎｍのバーコード読取装置の場合、シアン（Ｃ）は反射率が低いため、その色のバーは正しくバーと判断され、マゼンタ（Ｍ）とイエロー（Ｙ）については反射率が高いため、その色のバーは誤ってスペースと判断される。
【００７５】
このように、バーコード読取装置の光源の波長によって読取れる色が異なるため、テストチャートの印字領域と非印字領域を判別する閾値は光源の波長に対応させる必要がある。つまり、バーコード読取装置がバーとスペースとを見分ける基準と、テストチャートの印字領域と非印字領域とを見分ける基準を同一にする必要がある。
【００７６】
また、基準を同一にすることで、カラーバーコードの補正、またはバーコードを印刷する用紙がカラーの場合でも、テストチャートの印字領域と非印字領域の判別を正確に行うことが可能となる。
【００７７】
図１５に、閾値テーブル１５００の構成例を示す。閾値テーブル１５００は、テストチャートの読取出力に対して、その印字領域であるバーと非印字領域であるスペースとを判別する閾値を決定するためのデータテーブルである。この閾値テーブル１５００は、テストチャートのバー幅及びスペース幅の実ドットサイズ（単位マイクロメートル）を測定する際、生成したバーコードを読み取るバーコードリーダや検証機等のバーコード読取装置に合わせて測定を行うために、その光源の波長毎に適正な閾値を対応付けている。つまり、ユーザが入力した光源の波長に近い波長を波長欄１５０１から検索し、その波長と対応した閾値を閾値欄１５０２から検索する。これにより得られた閾値によって色要素毎の測定値からその領域が印字領域と非印字領域を判別する。
【００７８】
図１６は、テストチャートをイメージスキャナで読み取ったＣＭＹデータに対して、印字領域と非印字領域とを判別する（つまり２値化する）処理のフローチャートを示している。
【００７９】
まず、イメージスキャナによるテストチャートのスキャンによりＣＭＹデータを読み込む（Ｓ３１）。ついで、このＣＭＹデータ用のそれぞれの閾値を閾値テーブル１５００（図１５）から検索し、決定する（Ｓ３２）。
【００８０】
そこで、あるピクセルに着目し（Ｓ３３）、そのピクセルのシアン（Ｃ）とマゼンタ（Ｍ）とイエロー（Ｙ）のデータの内、いずれか１つでもデータがそれぞれの閾値を上回っているかを判断する（Ｓ３４）。このことは複数の色要素についての測定結果の論理和をとることに他ならない。
【００８１】
判断の対象となるピクセルは、バーコードが存在する範囲（領域）が予め分かっていれば、その範囲に限ってよい。
【００８２】
ＣＭＹデータのいずれか１つでも当該閾値を上回っていた場合に、そのピクセルを印字領域と決定する（Ｓ３５）。いずれも閾値を上回っていなかった場合、そのピクセルを非印字領域と決定する（Ｓ３６）。
【００８３】
全データの判断が終了するまで（Ｓ３７）、ピクセル位置を更新し（Ｓ３８）、ステップＳ３３に戻って、上記の処理を繰り返して実行する。
【００８４】
このような処理によって、読み込み時は３色でそれぞれ複数階調であったデータを、印字領域なら“１”、非印字領域なら“０”の２値データに変換することができる。また、閾値テーブル１５００を使用することにより、バーコード読取装置と同じ判断基準で印字領域と非印字領域の判別が可能となり、黒以外のインク色のバーコードやカラー用紙でも補正することが可能となる。
【００８５】
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。例えば、上記テストチャートでは、１〜１０ドットで構成されたバー及びスペースを例に挙げたが、ドット数と実サイズの関係は、図８のグラフに示したように概略比例関係にあり、例えば５、１０ドットなど、少なくとも２点あれば所期の目的・効果が達成できる。逆に、より品位の高いバーコードを生成する為に１〜１００ドットとするなど、ドット構成範囲を広げてもよい。
【００８６】
また実施の形態では、図１２の入力画面１２００に示したように、バーコードの基準要素としてナローバーのサイズを入力してバーコードを生成したが、バーコードの描画領域を入力して指定し、この指定された領域内に収まる適正なバーコードを生成するようにしてもよい。この際、指定された領域内では読取ランクを満足し得るバーコードが生成できない場合には、その旨をユーザに報知することが望ましい。また、上記説明では、出力情報としてバーコードの各要素幅の構成ドット数を例に挙げたが、バーコードのビットマップデータでもよい。
【００８７】
また、上記説明では、テストチャートの読取装置としてイメージスキャナを採用したが、バーコードリーダやバーコード検証機などバーコードに特化した光学的な検出器を用いてもよい。
【００８８】
また、閾値テーブル１５００をＣＭＹカラーモデル１００階調で表現したが、色の階調を表現できる方法であれば他の表現方法でもよい。
【００８９】
テストチャートの印字領域と非印字領域を判別する方法として閾値テーブル１５００を使用したが、算術によって閾値を求めてもよい。
【００９０】
また、バーコード（カラーバーコードを含む）とテストチャートのバーの色、そして、バーコードを印刷する用紙（カラー用紙を含む）とテストチャートを印刷する用紙の色は、それぞれ、同一または近い色であることが望ましい。
【００９１】
上記実施の形態で説明した機能をコンピュータで実現するための、コンピュータにインストールされるプログラム自体およびそれを記憶する記憶媒体も本発明を構成するものである。なお、プログラムとしては、プロセッサが直接に解釈し実行可能なオブジェクトコードプログラム、および、インタプリタにより実行されるプログラム、ＯＳまたはアプリケーション上で動作するスクリプトデータ形式のプログラム等、プログラムの形態は問わない。また、プログラムを供給するための記憶媒体としては、例えば、磁気記憶媒体（フレキシブルディスク、ハードディスク、磁気テープ等）、光ディスク（ＭＯやＰＤ等の光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等）、半導体ストレージ、紙テープ、などを挙げることができる。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施の形態におけるバーコード生成システムの概略図である。
【図２】図１のシステムにおける情報処理装置と印刷装置の制御ハードウェアの構成例を示すブロック図である。
【図３】記録ユニットで、一般的なバーコードのような黒バーと白バーにて構成されるパターンを記録した場合の概略図である。
【図４】インクジェット印刷装置における副滴が用紙に着弾するまでの時間経過に応じた状態を表した模式図である。
【図５】インクジェット印刷装置においてノズル列に対して平行および垂直のバーを有するバーコードを構成した際に発生する副滴の状態を示す図である。
【図６】本発明の実施の形態における、バーの太り細りの状態が確認可能なテストパターンの構成例を示した図である。
【図７】本発明の実施の形態における、スペースの太り細りの状態が確認可能なテストパターンの構成例を示した図である。
【図８】本発明の実施の形態における、テストチャートのバーおよびスペースの印刷時のドット数に対する実際の印刷結果のバーおよびスペースの幅の測定値を示したグラフである。
【図９】本発明の実施の形態におけるバーコード生成システムの外観構成例を示す図である。
【図１０】本発明の実施の形態における補正テーブルの構成例を示した図である。
【図１１】図９のバーコード補正値の例として、種類の異なるバーコードについてのバーコード構成情報を格納したバーコード構成情報テーブルの構成例を示した図である。
【図１２】本発明の実施の形態のバーコード生成システムの動作を説明する為の画面例を示した図である。
【図１３】本発明の実施の形態のバーコード生成システムにおける補正テーブルの作成に関連した処理を表したフローチャートである。
【図１４】バーコード読取装置に用いられる光源の波長と、各色要素の反射率の関係を示すグラフである。
【図１５】本発明の実施の形態における閾値テーブルの構成例を示した図である。
【図１６】本発明の実施の形態におけるテストチャートをイメージスキャナで読み取ったＣＭＹデータに対して、印字領域と非印字領域とを判別する処理のフローチャートである。
【符号の説明】
【００９３】
１００…情報処理装置
１０１…記録ユニット
１０２…インタフェースケーブル
１０３…用紙
１０４…エンコーダ
１０５…１次元バーコード
１０６…搬送ユニット
１１０…イメージスキャナ
１１１…制御部
１１２…記憶部
１１３…表示部
１１４…操作部
１１５…インタフェース
２００…印刷装置
２０１…制御部
２０５…イメージメモリ
２０６…各種モータ
２０８…ＵＳＢコントローラ
２０９…制御回路
２１０…ヘッド駆動回路
２１１…モータドライバ
２１４…記録ヘッド
６００…テストチャート
６００ｎ…テストパターン
６００ｐ…テストパターン
８０６…テストチャート画像データ
１０００…補正テーブル
１１００…バーコード補正値
１１０１，１１０２…バーコード構成情報テーブル
１２００…入力画面
１２１０…バーコード構成情報画面
１５００…閾値テーブル
【図１】
2010089412.tif 000003
【図２】
2010089412.tif 000004
【図３】
2010089412.tif 000005
【図４】
2010089412.tif 000006
【図５】
2010089412.tif 000007
【図６】
2010089412.tif 000008
【図７】
2010089412.tif 000009
【図８】
2010089412.tif 000010
【図１０】
2010089412.tif 000011
【図１１】
2010089412.tif 000012
【図１３】
2010089412.tif 000013
【図１４】
2010089412.tif 000014
【図１５】
2010089412.tif 000015
【図１６】
2010089412.tif 000016
【図９】
2010089412.tif 000017
【図１２】
2010089412.tif 000018