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