画像処理装置、画像処理方法、プログラムおよび記録媒体
【課題】 スキャン読み取り精度が向上されたバーコード画像を生成すること。
【解決手段】 本発明の画像処理装置は、バーコードを規定するバーコード設定を含む入力パラメータ・セットPS1を受領する受領手段(132,140)と、入力パラメータ・セットに従って、バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットPS2を決定する決定手段(132,136,140)、画像生成パラメータ・セットPS2に従って、複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段134とを含む。
【解決手段】 本発明の画像処理装置は、バーコードを規定するバーコード設定を含む入力パラメータ・セットPS1を受領する受領手段(132,140)と、入力パラメータ・セットに従って、バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットPS2を決定する決定手段(132,136,140)、画像生成パラメータ・セットPS2に従って、複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段134とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術に関し、より詳細には、スキャン読み取り精度が向上されたバーコード画像を印刷するための画像処理装置、画像処理方法、プログラムおよび記録媒体に関する。
【背景技術】
【0002】
物流情報や商取引情報などを表示するバーコードを簡便に印刷するために、テキストデータやバイナリデータからバーコード画像を生成するライブラリ(以下、バーコード生成ライブラリという。)が提供されている。このバーコード生成ライブラリをアプリケーションから呼び出すことにより、簡便にバーコードを帳票や文書に付加して印刷することが可能となる。
【0003】
しかし、上記バーコード生成ライブラリで生成されたバーコードを印刷した場合、プリンタ性能によってバーコードの黒バーの幅(太さ)が変化し、バーコードの規格を外れて黒バーが太ったり細ったりしてしまい、バーコード・スキャナでバーコードを読み取れなくなってしまうという不具合が発生する。GS1−128(旧名称:UCC/EAN−128)規格は、コンビニエンスストアの料金代理収納の標準仕様にもなっているが、この規格のバーコードは、特に、黒バーが細く高密度であり、高精細な印刷が求められるため、安定した読み取りを実現することが難しい。
【0004】
上述した背景から、プリンタの機種等に適合させてバーコードを補正する種々の技術が開発されている。例えば、バーコード生成ライブラリで、アプリケーションから指定された補正値でバーコードの黒バーの幅を補正する技術が知られており、バーコード生成ライブラリ自体が独自に補正値を決定する手段を備え、その決定手段により決定した補正値を用いてバーコードの黒バーの幅を補正する技術も既に知られている。
【0005】
また、特開2006−293916号公報(特許文献1)は、安定した線幅の黒バーと白バーの線幅を再現して印刷できるようにする目的で、バーコード情報を含む画像データに基づいてバーコードの印刷データを作成するバーコードデータ作成部と、印刷データのバーコードのバーの方向を検知する方向検知部と、そのバーコードのバーの方向と現像方向との関係に基づいて印刷データにドット補正処理を施すドット補正部とを備えるコンピュータを開示する。
【0006】
また、特開2009−193428号公報(特許文献2)は、バーコードフォントを用いたバーコード印刷時にバーコードの読み取りを安定させる目的で、印刷対象データにバーコードフォントが含まれるか否かを判定し、バーコードフォントが含まれる場合にバーコードフォントを展開したビットマップ画像データに対して、画素単位でビットマップ画像データを書き換えることにより、予め定められた補正値に基づいてバーコード幅を補正することを特徴とするバーコード印刷システムを開示する。
【0007】
図12は、無補正の場合のバーコード印刷結果と、バーコード生成ライブラリによって黒バーの幅を補正した場合のバーコード印刷結果とを例示する。なお、図12には、出力させたい理想的なバーコード画像も示されている。図12に示すように、無補正の場合、プリンタ出力結果として黒バーが理想よりもかなり太く印刷され規格外となり、スキャナで読み取ることができなくなる不具合が発生する。一方、プリンタによって太らされる分を考慮して黒バーの幅を事前に補正することにより、補正後は規格内に収まり、スキャナで読み取ることができるようになる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、黒バーが太らされる程度はプリンタの解像度や印刷特性によって変化するため、最適な補正値はプリンタ機種毎に異なる。このため、アプリケーションから指定された補正値でバーコードの黒バーの幅を補正する上記従来技術では、アプリケーションの開発者側でプリンタ機種毎に最適な補正値を検証する必要があり、手間がかかるという問題があった。上記特許文献2に開示される従来技術も同様に、プリンタ機種が増えるたびに補正値の検証の手間が必要となるため、上記問題を解消することができない。
【0009】
また、バーコード生成ライブラリが独自に補正値の決定手段を備え、その決定手段により決定した補正値を用いてバーコードの黒バーの幅を補正する上記従来技術では、その補正値の決定手段による誤差により、結局は生成したバーコード画像がスキャナで読み取ることができなくなる不具合が発生し得る。上記特許文献1に開示される従来技術も同様に、バーコードのバーの方向と現像方向との関係に基づいて補正処理を施す際の補正値の決定による誤差により、結局は生成したバーコード画像がスキャナで読み取ることができなくなる不具合が発生し得る。
【0010】
本発明は、上記従来技術における問題点に鑑みてなされたものであり、本発明は、対応プリンタ機種を追加する際における補正値の検証の手間を軽減し、補正値に発生し得る誤差を許容することによって、スキャン読み取り精度を向上させることができる画像処理装置、画像処理方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明では、上記課題を解決するために、それぞれがバーコード規格に適合し、異なる補正値で補正がなされた複数のバーコード領域の画像からなるバーコード画像を生成する画像処理装置を提供する。すなわち、本発明の画像処理装置は、例えばバーコード高さ、バーコード位置および他のバーコード設定などバーコードを規定するバーコード設定を含む入力パラメータ・セットを受領し、受領した入力パラメータ・セットに従って、バーコードをバー方向で分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する。そして、画像処理装置は、決定された画像生成パラメータ・セットに従って、複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する。
【0012】
さらに本発明によれば、上記画像処理装置が実行する画像処理方法、上記画像処理装置の機能を備えるバーコード生成ライブラリを実現するためのプログラム、上記画像処理装置の機能を備えるプリンタドライバを実現するためのプログラム、並びに上記画像処理装置の機能を備える画像形成装置を実現するための画像形成装置用のプログラム、これらのプログラムを格納する記録媒体が提供される。なお、上記入力パラメータ・セットは、補正設定として、基準補正値および補正変化量を含むことができ、分割数を含むこともできる。上記画像生成パラメータは、各バーコード領域についての分割後のバーコード高さ、バーコード位置および他のバーコード設定および補正値を含むことができる。
【発明の効果】
【0013】
上記構成によれば、1つのバーコード領域についてバーコード規格から外れてしまっても、異なる補正値で補正された他のバーコード領域が許容される慨然性があるため、複数のバーコード領域による補正値の幅の分だけ補正値の誤差の許容範囲を拡張することができ、バーコード全体として、バーコードの読み取り精度を向上させることができる。
【図面の簡単な説明】
【0014】
【図1】第1の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図2】第1の実施形態によるバーコード生成ライブラリが生成するバーコード画像を例示する図。
【図3】表1の各セット例を入力パラメータ・セットとした場合に生成されるバーコード画像を例示する図。
【図4】第1の実施形態によるバーコード生成ライブラリのバーコード生成制御部が実行する、バーコード画像生成処理を示すフローチャート。
【図5】第2の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図6】表2の各セット例を入力パラメータ・セットとした場合に生成されるバーコード画像を例示する図。
【図7】第2の実施形態によるバーコード生成ライブラリのバーコード生成制御部が実行する、バーコード画像生成処理を示すフローチャート。
【図8】第3の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図9】第4の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図10】第5の実施形態によるプリンタ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図11】第6の実施形態によるプリンタ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図12】無補正の場合のバーコード印刷結果と、バーコード生成ライブラリによって黒バーの幅を補正した場合のバーコード印刷結果とを例示する図。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態を説明するが、本発明の実施形態は、以下の実施形態に限定されるものではない。なお、以下に説明する実施形態では、画像処理装置の例として、コンピュータ装置およびプリンタ装置を用いて説明する。
【0016】
[第1の実施形態]
以下、図1〜図4を参照しながら、第1の実施形態による画像処理装置として、受け取ったパラメータのセットに従ってバーコード画像を生成するバーコード生成ライブラリを実現するコンピュータ装置について説明する。
【0017】
図1は、コンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。コンピュータ装置は、パーソナル・コンピュータ、ワークステーション、携帯端末などの如何なるコンピュータを採用することができる。図1に示す機能ブロック100は、アプリケーション110と、GDI(Graphic Device Interface)120と、バーコード生成ライブラリ130とを含む。アプリケーション110は、帳票アプリケーションや文書作成アプリケーションなどの種々のアプリケーションであり、バーコード生成ライブラリ130を利用してバーコード画像を生成し、生成されたバーコード画像を帳票や文書に貼り付けたり、生成されたバーコード画像が貼り付けられた帳票や文書をプリントしたりすることができる。
【0018】
バーコード生成ライブラリ130は、アプリケーション110からの呼び出しに応答して、所望のバーコードを規定するバーコード設定と、バーコードの補正処理を規定する補正設定とを含む入力パラメータのセット(以下、入力パラメータ・セットと参照する。)PS1をアプリケーション110から受け取り、バーコード画像を生成する。上記入力パラメータ・セットPS1のうち、バーコード設定としては、全体のバーコードの高さH、バーコード位置X,Yの指定、その他バーコードが保持するデータやバーコード規格の指定など他の標準的なバーコード設定が含まれる。なお、上記入力パラメータ・セットPS1のうちの補正設定については後述する。上記入力パラメータ・セットPS1は、アプリケーション110側で生成したり、またはユーザ指定したりすることができる。
【0019】
バーコード生成ライブラリ130は、ダイナミックリンクライブラリ(DLL)または共有ライブラリとして参照されるプログラム群であり、所定のオペレーティング・システム(OS)上で動作する種々のアプリケーションに対して、バーコード画像生成機能を提供する。なお、バーコード生成ライブラリ130は、Windows(登録商標)では、DLLとして実装することができる。なお、以下に説明する実施形態では、Windows(登録商標)環境で実装する場合を例示するが、UNIX(登録商標)やLINUX(登録商標)などの如何なるOS環境上で実装することもできる。GDI120は、プリンタやディスプレイなどの入出力デバイスを抽象化し、直線や曲線の描画、フォントのレンダリング、パレットの制御などを行うインタフェースである。
【0020】
バーコード生成ライブラリ130は、より詳細には、バーコード生成制御部132と、バーコード画像生成部134と、分割数算出部136とを含んで構成される。バーコード生成制御部132は、アプリケーション110から上記入力パラメータ・セットPS1を受け取り、バーコード画像生成部134および分割数算出部136を制御して、バーコード画像生成処理を実行する。
【0021】
図2は、本実施形態によるバーコード生成ライブラリ130が生成するバーコード画像を例示する。図2の上側には、生成させたい所望のバーコードが示され、下側には、バーコード生成ライブラリ130により生成される補正済みバーコード画像が示されている。図2に示すように、バーコード生成ライブラリ130が生成するバーコード画像は、ひとつのバーコードが複数のバーコード領域に分割されて、上記バーコード領域がエレメントが延びる方向で積み重ねられて構成されている。各バーコード領域は、バーコード規格に適合しており、それぞれバーコードとしての機能を有する。各バーコード領域は、また、それぞれ少しずつ異なる補正値でエレメントの幅(黒バーおよび白スペース)が補正されており、すなわち各バーコード領域の各黒バーBおよび白スペースSは、それぞれ異なる太さを有する。
【0022】
バーコードの規格としては、JAN−8、JAN−13、UPC−A、UPC−E、ITF−14、Code128、GS1−128(UCC/EAN−128)などの如何なるバーコード規格を採用することができる。
【0023】
上記入力パラメータ・セットPS1のうち補正設定としては、補正値の基準となる基準値C、およびこの基準値Cを中心としてバーコード領域間で補正値をシフトさせる変化量cの指定が含まれる。補正値は、特に限定されるものではないが、本実施形態においてはドット単位を有し、例えば補正値が「1」である場合、バーコードの黒バー幅が1ドット細く(白スペース幅でいうと1ドット太く)補正される。
【0024】
再び図1を参照すると、分割数算出部136は、バーコード生成制御部132から入力パラメータ・セットPS1に含まれる全体のバーコード高さHを受け取り、そのバーコード高さHに適合した分割数Nを決定して、バーコード生成制御部132へ返す。バーコード高さには、バーコード規格上、最小高さHminが設けられており、分割数算出部136は、バーコード規格毎に最小高さを対応付けるテーブルとして構成される最小高さ情報138を参照して、バーコード領域に対して算出されるバーコード高さhが上記最小高さHminを下回らない範囲で分割数Nを決定する。
【0025】
バーコード生成制御部132は、バーコード高さHを分割数算出部136に渡し、決定された分割数Nを受け取ると、決定された分割数Nに応じて、分割数分のバーコード領域を画定するため、分割後のバーコード領域それぞれのバーコード高さhおよび位置xn,ynを算出する。ここで、「n」は、n番目のバーコード領域のパラメータであることを表し、本実施形態では、すべてのバーコード領域について同一のバーコード高さが用いられるため、分割後のバーコード高さは単一の値hとなる。
【0026】
さらにバーコード生成制御部132は、入力パラメータ・セットPS1が含む補正の基準値Cおよび変化量cを使用して、分割後のバーコード領域それぞれの補正値cnを決定する。バーコード生成制御部132は、各バーコード領域の分割後のバーコード高さhおよびバーコード位置xn,yn、他のバーコード設定、補正値cnを、バーコード画像を生成させるためのパラメータのセット(以下、画像生成パラメータと参照する。)PS2として、バーコード画像生成部134に渡し、バーコード画像生成を指令する。
【0027】
なお、図1において短形で囲まれるバーコード生成制御部132および分割数算出部136を合わせた機能部140は、本実施形態において、バーコードを規定するバーコード設定を含む入力パラメータ・セットPS1を受領する受領手段、および上記入力パラメータ・セットPS1に従って、バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットPS2を決定する決定手段を構成する。また、分割数算出部136は、全体のバーコード高さHに応じて、バーコード領域がバーコード規格に適合する範囲内で分割数Nを算出する分割数算出手段を構成し、バーコード生成制御部132は、算出された分割数N分のバーコード領域それぞれのバーコード設定および補正値を算出する算出手段を構成する。
【0028】
バーコード画像生成部134は、バーコード生成制御部132からバーコード画像生成の指令を受けて、上記補正値でバーコードのエレメント(黒バーおよび白スペース)の幅を補正してバーコード領域の画像を生成し、GDI120を使用して出力する。各バーコード領域の画像が所定の位置に生成されることで、それぞれ異なる補正値で補正された複数のバーコード領域の画像からなるバーコード画像(図2参照)が生成される。
【0029】
なお、本実施形態では、バーコード生成ライブラリ130から直接GDI120をコールするものとして説明しているが、他の実施形態では、アプリケーション110にバーコード画像を渡し、アプリケーション110からGDI120をコールして、バーコード画像を出力するようにしてもよい。また、バーコード画像生成部134は、本実施形態において、上記画像生成パラメータ・セットPS2に従って、複数のバーコード領域それぞれについてバーコードの黒バーおよび白スペースが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段を構成する。
【0030】
コンピュータ装置は、ROM(図示せず。)、ハード・ディスク・ドライブ(図示せず。)などの記憶装置からプログラムを読み出し、RAMなどのメモリ(図示せず。)上に展開することにより、コンピュータ装置が備える中央演算ユニット(図示せず。)の制御により、適切なオペレーティング・システム(OS)のもと、上記各機能部および後述する各処理を実現する。
【0031】
以下、表1および図3を参照して、本実施形態のバーコード生成ライブラリによるバーコード画像の生成例を説明する。下記表1は、入力パラメータ・セットPS1のうちバーコードの高さH、補正の基準値Cおよび変化量cの設定例を示す。図3は、表1の各セット例を入力パラメータ・セットPS1とした場合に生成されるバーコード画像を例示する図である。なお、表1および図3の例では、バーコード規格の最小高さHminを5mmとしており、その他のパラメータは省略されている。
【0032】
【表1】
【0033】
入力パラメータ・セットPS1として基準値Cを設定することで、通常通り出力されるバーコードよりも所定の補正値分だけ黒バーが細く(値が負であれば太く)されたバーコードの画像が生成される。例えば、セット例1では、基準値が1ドットであるため、まず通常より1ドット細い黒バーの幅で構成されたバーコード画像が生成される。また、バーコードは決定された分割数Nで分割されることになるが、セット例1では、最小高さが5mmであるため、分割後のバーコード高さhを5mmとして、分割数Nが3となる。この場合、補正値の変化量が2ドットであるため、基準値1ドットから2ドットずつ上下で正負に変化させた値、すなわち3ドット(+1)、2ドット(0)および1ドット(−1)が各バーコード領域に設定され、それぞれ異なる補正値で補正がされた3つのバーコード領域からなるバーコード画像が生成される。
【0034】
なお、バーコード領域の並びは、特に限定されるものではないが、例えば補正値が大きい順または小さい順に並べられる。また、図3では、各バーコード領域の黒バーが左揃えされているが、中央揃え、右揃えであってもよい。また、本実施形態では、基準値Cは、入力パラメータ・セットPS1としてアプリケーション110から渡されるものとしているが、例えば、バーコード生成ライブラリ130がプリンタ機種と基準値とを対応付けるテーブルを備えることで、アプリケーション110から機種の指定を受けて、適切な基準値を決定する構成としてもよい。
【0035】
表1のセット例2では、バーコード高さが21mmであるため、分割後のバーコード高さを5.25mm(≧最小高さHmin)として、分割数が4に決定される。この場合、基準値が2ドットであり、補正値の変化量が1ドットであるため、基準値2ドットから1ドットずつ上下で正負に順に変化させた値、すなわち4ドット(+2)、3ドット(+1)、2ドット(0)および1ドット(−1)が各バーコード領域に設定される。一方、セット例3では、最小高さが5mmであるため、分割することができず、よって、分割後のバーコード高さは最小高さ5mmと等しくなり、分割数が1となる。この場合、基準値が1ドットであるため、補正値1ドットで補正されるただひとつのバーコード領域が生成される。
【0036】
図4は、バーコード生成ライブラリのバーコード生成制御部が実行する、バーコード画像生成処理を示すフローチャートである。図4に示す処理は、例えばアプリケーション110からの呼び出しを受けて、ステップS100から開始される。ステップS101では、バーコード生成制御部132は、アプリケーション110から入力パラメータ・セット(バーコード高さH、バーコード位置X,Y、その他のバーコード設定、基準値C、変化量c)PS1を受領する。ステップS102では、バーコード生成制御部132は、バーコード高さHを分割数算出部136に渡し、分割数算出部136から分割数Nを受け取る。ここで、分割数算出部136は、バーコード全体のバーコード高さHおよび最小高さHminを用いて、下記式(1)により分割数Nを算出する。なお、max(a,b)関数は、aとbとを比較して大きい方を選択する関数である。
【0037】
【数1】
【0038】
ステップS103では、バーコード生成制御部132は、入力パラメータ・セットPS1に含まれる全体のバーコード高さHおよび分割数Nを用いて、下記式(2)により分割後のバーコード領域のバーコード高さhを算出する。ここでは、上述したように、すべてのバーコード領域のバーコード高さは等しいものとする。
【0039】
【数2】
【0040】
ステップS104〜ステップS108のループでは、n番目(n=1,・・・,N)の各バーコード領域について、ステップS105〜ステップS107の処理を実行し、1番目からN番目までのすべてのバーコード領域について処理が完了すると、ステップS108で本処理を終了させる。以下、ステップS104〜ステップS108のループ内の処理について説明する。ステップS105では、バーコード生成制御部132は、全体のバーコード位置X、Y、分割後のバーコード高さhおよび序数nを用いて、下記式(3)により、n番目のバーコード領域のバーコード位置xn,ynを算出する。なお、ここでは、右下方向を座標における正方向としている。
【0041】
【数3】
【0042】
ステップS106では、バーコード生成制御部132は、補正の基準値Cと変化量cとを用いて下記式(4)により、n番目のバーコード領域の補正値cnを算出する。なお、下記式中の関数[a]は、a(実数)以下の最大の整数を表す。
【0043】
【数4】
【0044】
ステップS107では、バーコード生成制御部132は、分割後のバーコード高さh、バーコード位置xn,yn、その他のバーコード設定、補正値cnを含む画像生成パラメータ・セットPS2をバーコード画像生成部134に渡し、n番目のバーコード領域のバーコード画像の生成を指令する。ここでは、バーコード画像生成部134は、バーコード生成制御部132から画像生成パラメータ・セットPS2を受け取り、各バーコード領域のバーコード画像を生成する。バーコード画像生成部134は、バーコード高さhを有し、バーコード位置xn,ynを始点としたバーコード画像を、上記補正値cn分だけ各黒バーの幅のドット数を減らして細くした画像を生成する。ステップS104〜ステップS108のループをN回繰り返すことにより、図2や図3に示すような複数のバーコード領域からなるバーコード画像が生成される。
【0045】
上述した第1の実施形態によるバーコード生成ライブラリによれば、それぞれ少しずつ異なる補正値でバーコードのエレメント(黒バーおよび白スペース)の幅が補正された複数のバーコード領域からなるバーコード画像が得られる。従来の単一の補正値による補正のみでは、補正値の誤差が許容範囲を超えてしまうことによって、バーコードの規格を外れて黒バーが太ったり細ったりしてしまった場合には、バーコード・スキャナで読み取ることはできなくなる。
【0046】
これに対して本実施形態のバーコード生成ライブラリが生成するバーコード画像によれば、1つのバーコード領域についてバーコード規格から外れてしまっても、その正または負にわずかに異なる補正値で補正された他のバーコード領域が許容される慨然性があるため、分割数および補正値の変化量分だけ補正値の誤差の許容範囲を拡張することができ、バーコード全体として、バーコードの読み取り精度を向上させることができる。このように補正値の誤差の許容範囲が拡張されているため、プリンタ機種毎に細かく補正値を検証しなくてもよく、プリンタ機種を新規追加する際における補正値の検証の手間も軽減される。
【0047】
また、第1の実施形態によるバーコード生成ライブラリ130は、ライブラリ自体が最適な分割数Nを算出するため、利用者が意識することなくバーコードを分割することができるという利点がある。さらに、補正値の変化量が指定可能であるため、利用者は、より自由に補正値の誤差の許容範囲を制御することができる。
【0048】
[第2の実施形態]
以下、図5〜図7を参照しながら、第2の実施形態による画像処理装置として、入力パラメータのセットに従ってバーコード画像を生成する他のバーコード生成ライブラリを実現するコンピュータ装置について説明する。第1の実施形態のバーコード生成ライブラリでは、バーコードの分割数はライブラリが算出していたが、第2の実施形態では、分割数も外部指定が可能とされ、利用者は、より柔軟にバーコードの補正を制御することができる。
【0049】
図5は、第2の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。図5に示す機能ブロック200は、アプリケーション210と、GDI220と、バーコード生成ライブラリ230とを含む。なお、第1の実施形態と同様の機能を有する機能部については、第1の実施形態で付した符番の百の桁を2とした符番を付し、以下、相違点を中心に説明する。
【0050】
バーコード生成ライブラリ230は、アプリケーション210からの呼び出しに応答して、入力パラメータ・セットPS3をアプリケーション210から受け取り、バーコード画像を生成する。第2の実施形態では、アプリケーション210は、ユーザ指定または固定の分割数Nを指定する手段を備えており、上記入力パラメータ・セットPS3は、全体のバーコードの高さH、バーコード位置X,Yの指定、他の標準的なバーコード設定、補正の基準値C、変化量cに加えて、さらに分割数Nの指定をも含む。
【0051】
バーコード生成ライブラリ230は、より詳細には、バーコード生成制御部232と、バーコード画像生成部234とを含んで構成され、第1の実施形態における分割数算出部に相当する機能部は備えない。バーコード生成制御部232は、アプリケーション210から上記入力パラメータ・セットPS3を受け取り、バーコード画像生成部234を制御して、バーコード画像生成処理を実行する。
【0052】
バーコード高さには、第1の実施形態と同様、バーコード規格上最小高さHminが設けられているため、上記バーコード高さHと分割数Nが共に指定された場合には、バーコード領域のバーコード高さhが最小高さHminを下回わり、バーコード領域の画像が規格に適合しなくなる可能性がある。そこで、第2の実施形態のバーコード生成制御部232は、指定の分割数Nで分割した場合にバーコード領域のバーコード高さhが最小高さHminを下回る場合には、分割数Nを優先させ、各バーコード領域のバーコード高さhを最小高さHmin以上とし、全体のバーコード高さHを大きな値に変更する。
【0053】
バーコード生成制御部232は、指定された分割数Nに応じて、分割数N分のバーコード領域を画定するため、分割後のバーコード領域それぞれのバーコード高さhおよび位置xn,ynを算出し、入力パラメータ・セットPS3が含む補正の基準値Cおよび変化量cを使用して、分割後のバーコード領域それぞれの補正値cnを決定する。
【0054】
なお、第2の実施形態においては、バーコード生成制御部232が受領手段および決定手段を構成する。またバーコード生成制御部232は、バーコード領域がバーコード規格に適合する範囲内で、指定された分割数N分のバーコード領域それぞれのバーコード設定および補正値を算出する算出手段を構成する。
【0055】
バーコード画像生成部234は、第1の実施形態と同様に、バーコード生成制御部232からバーコード画像生成の指令を受けて、上記補正値でバーコードのエレメントの幅を補正してバーコード領域の画像を生成する。
【0056】
以下、表2および図6を参照して、第2の実施形態のバーコード生成ライブラリによるバーコード画像の生成例を説明する。下記表2は、入力パラメータ・セットPS3のうち分割数N、バーコードの高さH、補正の基準値Cおよび変化量cの設定例を示す。図6は、表2の各セット例を入力パラメータ・セットPS3とした場合に生成されるバーコード画像を例示する図である。
【0057】
【表2】
【0058】
バーコードは、指定の分割数Nで分割されることになるが、表2のセット例1では、分割数Nが3であるため、分割後のバーコード高さhが5mmと算出される。この場合、高さhが最小高さ5mmを保つことができるため、そのまま、基準値1ドットから変化量2ドットずつ上下で正負に変化させた値、すなわち3ドット(+2)、1ドット(0)および−1ドット(−2)が各バーコード領域に設定され、それぞれ異なる補正値で補正がされた指定分割数3つ分のバーコード領域からなるバーコード画像が生成される。
【0059】
表2のセット例2では、バーコード高さが21mmであり、分割数Nが3であるため、分割後のバーコード高さは7mmとなり、最小高さ5mmを保つことができる。この場合、基準値が2ドットであり、補正値の変化量が1ドットであるため、基準値2ドットから1ドットずつ上下で正負に順に変化させた値、3ドット(+1)、2ドット(0)および1ドット(−1)が各バーコード領域に設定される。一方、セット例3では、分割数Nが3であるが、全体のバーコード高さHが5mmであるため、分割した場合に最小高さが5mmを保つことができない。このため、分割後のバーコード高さhを最小高さ5mmとし、全体のバーコード高さHを15mmに変更し、基準値1ドットから1ドットずつ上下で正負に順に変化させた値、2ドット(+1)、1ドット(0)および0ドット(−1)が各バーコード領域に設定されて、指定分割数3つ分のバーコード領域からなるバーコード画像が生成される。
【0060】
図7は、第2の実施形態によるバーコード生成ライブラリのバーコード生成制御部が実行する、バーコード画像生成処理を示すフローチャートである。図7に示す処理は、例えばアプリケーション210からの呼び出しを受けて、ステップS200から開始される。ステップS201では、バーコード生成制御部232は、アプリケーション210から分割数Nの指定を含む入力パラメータ・セットPS3を受領する。
【0061】
ステップS202では、バーコード生成制御部232は、バーコード高さHおよび指定分割数Nを使用して、下記式(5)により分割後のバーコード高さhを算出する。
【0062】
【数5】
【0063】
ステップS203では、バーコード生成制御部232は、算出された分割後のバーコード高さhが、最小高さHmin以上であるか否かを判定する。ステップS203で、算出された高さhが最小高さHmin以上であると判定された場合(YES)には、ステップS205へ処理を進める。一方、最小高さHmin未満であると判定された場合(NO)には、ステップS204へ処理を進める。ステップS204では、バーコード生成制御部232は、分割後のバーコード高さhを最小高さHminとし、下記式(6)により、全体のバーコード高さH’を算出する。なお、全体のバーコード高さHの変更に伴い、バーコード全体のバーコード位置X,Yを適宜シフトさせることもできる。
【0064】
【数6】
【0065】
ステップS205〜ステップS209のループでは、n番目(n=1,・・・,N)の各バーコード領域について、ステップS206〜ステップS208の処理を実行し、1番目からN番目までのすべてのバーコード領域について処理が完了すると、ステップS210で本処理を終了させる。なお、ステップS205〜ステップS209のループ内の処理は、第1の実施形態について説明した図4のステップS104〜ステップS108のループ内の処理と同様であるため、詳細な説明は割愛する。
【0066】
上述した第2の実施形態によるバーコード生成ライブラリによれば、分割数をアプリケーション側から指定することが可能となり、また最適な分割数Nをユーザ指定することができるため、利用者は、明示的に補正値の誤差の許容範囲を決めることができるという利点がある。また、指定の分割数Nで分割した場合に、バーコード領域のバーコード高さhが最小高さ未満Hminとなる場合でも、バーコード領域をバーコード規格に適合させながら分割数を優先させることが可能となる。
【0067】
[第3の実施形態]
以下、図8を参照して、第3の実施形態による画像処理装置として、印刷設定として入力パラメータ・セットを受け取り、生成したバーコード画像を描画データに含ませてプリンタ装置に該描画データを送信するプリンタドライバを実現する、コンピュータ装置について説明する。すなわち、第3の実施形態は、第1の実施形態のバーコード生成ライブラリ130が備えるバーコード生成機能をプリンタドライバで実装する実施形態である。
【0068】
図8は、コンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。図8に示す機能ブロック300は、アプリケーション310と、GDI320と、プリンタドライバ330とを含む。なお、第1の実施形態と類似する機能を有する機能部については、第1の実施形態で付した符番の百の桁を3とした符番を付し、以下、相違点を中心に説明する。
【0069】
プリンタドライバ330は、第1の実施形態と同様の機能を有する、バーコード生成制御部332と、バーコード画像生成部334と、分割数算出部336とを含み、さらに、描画部342と、ユーザ・インタフェース(以下、UIと参照する)部344とを含む。UI部344は、アプリケーション310からの呼び出しを受けて、プリンタドライバ330の印刷設定ダイアログなどのグラフィカル・ユーザ・インタフェースを表示し、利用者からの印刷設定および入力パラメータ・セットの入力を受け付ける機能部である。
【0070】
描画部342は、アプリケーション310からGDI320を経由して、上記印刷設定ダイアログを介して入力された上記印刷設定および入力パラメータ・セットPS1を保持するDEVMODEを受け取り、バーコード生成制御部332に対しバーコード画像の生成を指令し、生成されたバーコード画像を含む描画データを、スプーラ350およびポートモニタ352を介してプリンタ装置354に送信する。
【0071】
バーコード生成制御部332は、入力パラメータ・セット(所望のバーコードを規定する全体のバーコードの高さH、バーコード位置X,Yの指定、他のバーコード設定、基準値Cおよび変化量c)を描画部342から受け取り、分割数算出部336に分割数Nを決定させ、バーコード画像生成部334を呼び出し、生成されたバーコード画像を描画部342へ渡す。その他のバーコード生成制御部332の処理、分割数算出部336およびバーコード画像生成部334の処理は、第1の実施形態と同様である。
【0072】
[第4の実施形態]
以下、図9を参照して、第4の実施形態の画像処理装置として、印刷設定として入力パラメータ・セットを受け取り、生成したバーコード画像を描画データに含ませてプリンタ装置に該描画データを送信する他のプリンタドライバを実現する、コンピュータ装置について説明する。すなわち、第4の実施形態は、第2の実施形態のバーコード生成ライブラリ230が備えるバーコード生成機能をプリンタドライバで実装する実施形態である。
【0073】
図9は、コンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。図9に示す機能ブロック400は、アプリケーション410と、GDI420と、プリンタドライバ430とを含む。なお、第2の実施形態と類似する機能を有する機能部については、第2の実施形態で付した符番の百の桁を4とした符番を付し、以下、相違点を中心に説明する。
【0074】
プリンタドライバ430は、第1の実施形態と同様の機能を有する、バーコード生成制御部432と、バーコード画像生成部434とを含んで構成され、第1の実施形態および第3の実施形態における分割数算出部に相当する機能部は備えない。バーコード生成制御部432は、アプリケーション410から入力パラメータ・セットPS3を受け取り、バーコード画像生成部434を制御して、バーコード画像生成処理を実行する。
【0075】
第4の実施形態では、UI部444は、分割数Nのユーザ指定を受ける手段を備えており、上記入力パラメータ・セットPS3は、全体のバーコードの高さH、バーコード位置X,Yの指定、他の標準的なバーコード設定、補正の基準値C、変化量cに加えて、さらに分割数Nの指定をも含み、分割数Nも、DEVMODEに格納されて描画部442へ渡される。その他、バーコード生成制御部432、バーコード画像生成部434の処理は、第2の実施形態と同様であり、描画部442およびUI部444の他の処理は、第3の実施形態と同様である。
【0076】
[第5の実施形態]
以下、図10を参照して、第5の実施形態による画像処理装置として、印刷データおよび入力パラメータ・セットを含む印刷設定データを受け取り、バーコード画像を生成して描画データに含ませて転写装置に描画指令を発行するプリンタ装置について説明する。すなわち、第5の実施形態は、第1の実施形態のバーコード生成ライブラリ130が備えるバーコード生成機能をプリンタ自体の機能として実装する実施形態である。
【0077】
図10は、プリンタ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。なお、第1の実施形態と類似する機能を有する機能部については、第1の実施形態で付した符番の百の桁を5とした符番を付し、以下、相違点を中心に説明する。
【0078】
図10に示す機能ブロック500は、第1の実施形態と同様の機能を有するバーコード生成制御部532と、バーコード画像生成部534と、分割数算出部536とを含み、さらに、描画部560と、転写装置562とを備える。プリンタ装置は、パーソナル・コンピュータなどのホスト装置564と接続されており、描画部560は、ホスト装置からPJL等で記述された印刷設定データおよび描画データを受け取り、バーコード生成制御部532に対しバーコード画像の生成を指令し、生成されたバーコード画像を含む描画データの描画命令を転写装置に発行する。上記ホスト装置564で設定された入力パラメータ・セットは、PJLなどの印刷設定データ中に含まれる。その他のバーコード生成制御部532の処理、分割数算出部536およびバーコード画像生成部534の処理は、第1の実施形態と同様である。
【0079】
[第6の実施形態]
以下、図11を参照して、第6の実施形態による画像処理装置として、印刷データおよび入力パラメータ・セットを含む印刷設定データを受け取り、バーコード画像を生成して描画データに含ませて転写装置に描画指令を発行する他のプリンタ装置について説明する。すなわち、第5の実施形態は、第2の実施形態のバーコード生成ライブラリ230が備えるバーコード生成機能をプリンタ自体の機能として実装する実施形態である。なお、第2の実施形態と類似する機能を有する機能部については、第2の実施形態で付した符番の百の桁を6とした符番を付し、以下、相違点を中心に説明する。
【0080】
図11は、プリンタ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。図11に示す機能ブロック600は、第1の実施形態と同様の機能を有するバーコード生成制御部632と、バーコード画像生成部634とを含んで構成され、第1の実施形態、第3の実施形態および第5の実施形態における分割数算出部に相当する機能部は備えない。またプリンタ装置は、さらに、描画部660と、転写装置662とを備える。
【0081】
第6の実施形態では、ホスト装置664は、分割数Nのユーザ指定を受ける手段を備えており、分割数Nを含む入力パラメータ・セットPS3は、PJLなどで記述された印刷設定データに含ませて描画部660へ渡される。その他、バーコード生成制御部632およびバーコード画像生成部634の処理は、第1の実施形態と同様であり、描画部660および転写装置662の他の処理は、第5の実施形態と同様である。
【0082】
以上説明したように、上述までの実施形態によれば、対応プリンタ機種を追加する際における補正値の検証の手間を軽減し、補正値に発生し得る誤差を許容することによって、スキャン読み取り精度を向上させることができる画像処理装置、画像処理方法、プログラムおよび記録媒体を提供することができる。
【0083】
なお、上述した実施形態では、画像処理装置の例として、第5の実施形態および第6の実施形態については、プリンタ装置を例示したが、上記プリンタ装置に代えて、複合機や複写機などのプリント機能を備える他の画像形成装置としてもよい。
【0084】
また上記機能は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【0085】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0086】
100,200,300,400,500,600…機能ブロック、110,210,310,410…アプリケーション、120,220,320,420…GDI、130,230…バーコード生成ライブラリ、132,232,332,432,532,632…バーコード生成制御部、134,234,334,434,534,634…バーコード画像生成部、136,336,536…分割数算出部、138,238,338,438,538,638…最小高さ情報、140,340,540…機能部、330,430…プリンタドライバ、342,442…描画部、344,444…UI部、350,450…スプーラ、352,452…ポートモニタ、354,454…プリンタ装置、560,660…描画部、562,662…転写装置、564,664…ホスト装置
【先行技術文献】
【特許文献】
【0087】
【特許文献1】特開2006−293916号公報
【特許文献2】特開2009−193428号公報
【技術分野】
【0001】
本発明は、画像処理技術に関し、より詳細には、スキャン読み取り精度が向上されたバーコード画像を印刷するための画像処理装置、画像処理方法、プログラムおよび記録媒体に関する。
【背景技術】
【0002】
物流情報や商取引情報などを表示するバーコードを簡便に印刷するために、テキストデータやバイナリデータからバーコード画像を生成するライブラリ(以下、バーコード生成ライブラリという。)が提供されている。このバーコード生成ライブラリをアプリケーションから呼び出すことにより、簡便にバーコードを帳票や文書に付加して印刷することが可能となる。
【0003】
しかし、上記バーコード生成ライブラリで生成されたバーコードを印刷した場合、プリンタ性能によってバーコードの黒バーの幅(太さ)が変化し、バーコードの規格を外れて黒バーが太ったり細ったりしてしまい、バーコード・スキャナでバーコードを読み取れなくなってしまうという不具合が発生する。GS1−128(旧名称:UCC/EAN−128)規格は、コンビニエンスストアの料金代理収納の標準仕様にもなっているが、この規格のバーコードは、特に、黒バーが細く高密度であり、高精細な印刷が求められるため、安定した読み取りを実現することが難しい。
【0004】
上述した背景から、プリンタの機種等に適合させてバーコードを補正する種々の技術が開発されている。例えば、バーコード生成ライブラリで、アプリケーションから指定された補正値でバーコードの黒バーの幅を補正する技術が知られており、バーコード生成ライブラリ自体が独自に補正値を決定する手段を備え、その決定手段により決定した補正値を用いてバーコードの黒バーの幅を補正する技術も既に知られている。
【0005】
また、特開2006−293916号公報(特許文献1)は、安定した線幅の黒バーと白バーの線幅を再現して印刷できるようにする目的で、バーコード情報を含む画像データに基づいてバーコードの印刷データを作成するバーコードデータ作成部と、印刷データのバーコードのバーの方向を検知する方向検知部と、そのバーコードのバーの方向と現像方向との関係に基づいて印刷データにドット補正処理を施すドット補正部とを備えるコンピュータを開示する。
【0006】
また、特開2009−193428号公報(特許文献2)は、バーコードフォントを用いたバーコード印刷時にバーコードの読み取りを安定させる目的で、印刷対象データにバーコードフォントが含まれるか否かを判定し、バーコードフォントが含まれる場合にバーコードフォントを展開したビットマップ画像データに対して、画素単位でビットマップ画像データを書き換えることにより、予め定められた補正値に基づいてバーコード幅を補正することを特徴とするバーコード印刷システムを開示する。
【0007】
図12は、無補正の場合のバーコード印刷結果と、バーコード生成ライブラリによって黒バーの幅を補正した場合のバーコード印刷結果とを例示する。なお、図12には、出力させたい理想的なバーコード画像も示されている。図12に示すように、無補正の場合、プリンタ出力結果として黒バーが理想よりもかなり太く印刷され規格外となり、スキャナで読み取ることができなくなる不具合が発生する。一方、プリンタによって太らされる分を考慮して黒バーの幅を事前に補正することにより、補正後は規格内に収まり、スキャナで読み取ることができるようになる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、黒バーが太らされる程度はプリンタの解像度や印刷特性によって変化するため、最適な補正値はプリンタ機種毎に異なる。このため、アプリケーションから指定された補正値でバーコードの黒バーの幅を補正する上記従来技術では、アプリケーションの開発者側でプリンタ機種毎に最適な補正値を検証する必要があり、手間がかかるという問題があった。上記特許文献2に開示される従来技術も同様に、プリンタ機種が増えるたびに補正値の検証の手間が必要となるため、上記問題を解消することができない。
【0009】
また、バーコード生成ライブラリが独自に補正値の決定手段を備え、その決定手段により決定した補正値を用いてバーコードの黒バーの幅を補正する上記従来技術では、その補正値の決定手段による誤差により、結局は生成したバーコード画像がスキャナで読み取ることができなくなる不具合が発生し得る。上記特許文献1に開示される従来技術も同様に、バーコードのバーの方向と現像方向との関係に基づいて補正処理を施す際の補正値の決定による誤差により、結局は生成したバーコード画像がスキャナで読み取ることができなくなる不具合が発生し得る。
【0010】
本発明は、上記従来技術における問題点に鑑みてなされたものであり、本発明は、対応プリンタ機種を追加する際における補正値の検証の手間を軽減し、補正値に発生し得る誤差を許容することによって、スキャン読み取り精度を向上させることができる画像処理装置、画像処理方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明では、上記課題を解決するために、それぞれがバーコード規格に適合し、異なる補正値で補正がなされた複数のバーコード領域の画像からなるバーコード画像を生成する画像処理装置を提供する。すなわち、本発明の画像処理装置は、例えばバーコード高さ、バーコード位置および他のバーコード設定などバーコードを規定するバーコード設定を含む入力パラメータ・セットを受領し、受領した入力パラメータ・セットに従って、バーコードをバー方向で分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する。そして、画像処理装置は、決定された画像生成パラメータ・セットに従って、複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する。
【0012】
さらに本発明によれば、上記画像処理装置が実行する画像処理方法、上記画像処理装置の機能を備えるバーコード生成ライブラリを実現するためのプログラム、上記画像処理装置の機能を備えるプリンタドライバを実現するためのプログラム、並びに上記画像処理装置の機能を備える画像形成装置を実現するための画像形成装置用のプログラム、これらのプログラムを格納する記録媒体が提供される。なお、上記入力パラメータ・セットは、補正設定として、基準補正値および補正変化量を含むことができ、分割数を含むこともできる。上記画像生成パラメータは、各バーコード領域についての分割後のバーコード高さ、バーコード位置および他のバーコード設定および補正値を含むことができる。
【発明の効果】
【0013】
上記構成によれば、1つのバーコード領域についてバーコード規格から外れてしまっても、異なる補正値で補正された他のバーコード領域が許容される慨然性があるため、複数のバーコード領域による補正値の幅の分だけ補正値の誤差の許容範囲を拡張することができ、バーコード全体として、バーコードの読み取り精度を向上させることができる。
【図面の簡単な説明】
【0014】
【図1】第1の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図2】第1の実施形態によるバーコード生成ライブラリが生成するバーコード画像を例示する図。
【図3】表1の各セット例を入力パラメータ・セットとした場合に生成されるバーコード画像を例示する図。
【図4】第1の実施形態によるバーコード生成ライブラリのバーコード生成制御部が実行する、バーコード画像生成処理を示すフローチャート。
【図5】第2の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図6】表2の各セット例を入力パラメータ・セットとした場合に生成されるバーコード画像を例示する図。
【図7】第2の実施形態によるバーコード生成ライブラリのバーコード生成制御部が実行する、バーコード画像生成処理を示すフローチャート。
【図8】第3の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図9】第4の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図10】第5の実施形態によるプリンタ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図11】第6の実施形態によるプリンタ装置上で実現されるバーコード生成機能に関連する機能ブロック図。
【図12】無補正の場合のバーコード印刷結果と、バーコード生成ライブラリによって黒バーの幅を補正した場合のバーコード印刷結果とを例示する図。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態を説明するが、本発明の実施形態は、以下の実施形態に限定されるものではない。なお、以下に説明する実施形態では、画像処理装置の例として、コンピュータ装置およびプリンタ装置を用いて説明する。
【0016】
[第1の実施形態]
以下、図1〜図4を参照しながら、第1の実施形態による画像処理装置として、受け取ったパラメータのセットに従ってバーコード画像を生成するバーコード生成ライブラリを実現するコンピュータ装置について説明する。
【0017】
図1は、コンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。コンピュータ装置は、パーソナル・コンピュータ、ワークステーション、携帯端末などの如何なるコンピュータを採用することができる。図1に示す機能ブロック100は、アプリケーション110と、GDI(Graphic Device Interface)120と、バーコード生成ライブラリ130とを含む。アプリケーション110は、帳票アプリケーションや文書作成アプリケーションなどの種々のアプリケーションであり、バーコード生成ライブラリ130を利用してバーコード画像を生成し、生成されたバーコード画像を帳票や文書に貼り付けたり、生成されたバーコード画像が貼り付けられた帳票や文書をプリントしたりすることができる。
【0018】
バーコード生成ライブラリ130は、アプリケーション110からの呼び出しに応答して、所望のバーコードを規定するバーコード設定と、バーコードの補正処理を規定する補正設定とを含む入力パラメータのセット(以下、入力パラメータ・セットと参照する。)PS1をアプリケーション110から受け取り、バーコード画像を生成する。上記入力パラメータ・セットPS1のうち、バーコード設定としては、全体のバーコードの高さH、バーコード位置X,Yの指定、その他バーコードが保持するデータやバーコード規格の指定など他の標準的なバーコード設定が含まれる。なお、上記入力パラメータ・セットPS1のうちの補正設定については後述する。上記入力パラメータ・セットPS1は、アプリケーション110側で生成したり、またはユーザ指定したりすることができる。
【0019】
バーコード生成ライブラリ130は、ダイナミックリンクライブラリ(DLL)または共有ライブラリとして参照されるプログラム群であり、所定のオペレーティング・システム(OS)上で動作する種々のアプリケーションに対して、バーコード画像生成機能を提供する。なお、バーコード生成ライブラリ130は、Windows(登録商標)では、DLLとして実装することができる。なお、以下に説明する実施形態では、Windows(登録商標)環境で実装する場合を例示するが、UNIX(登録商標)やLINUX(登録商標)などの如何なるOS環境上で実装することもできる。GDI120は、プリンタやディスプレイなどの入出力デバイスを抽象化し、直線や曲線の描画、フォントのレンダリング、パレットの制御などを行うインタフェースである。
【0020】
バーコード生成ライブラリ130は、より詳細には、バーコード生成制御部132と、バーコード画像生成部134と、分割数算出部136とを含んで構成される。バーコード生成制御部132は、アプリケーション110から上記入力パラメータ・セットPS1を受け取り、バーコード画像生成部134および分割数算出部136を制御して、バーコード画像生成処理を実行する。
【0021】
図2は、本実施形態によるバーコード生成ライブラリ130が生成するバーコード画像を例示する。図2の上側には、生成させたい所望のバーコードが示され、下側には、バーコード生成ライブラリ130により生成される補正済みバーコード画像が示されている。図2に示すように、バーコード生成ライブラリ130が生成するバーコード画像は、ひとつのバーコードが複数のバーコード領域に分割されて、上記バーコード領域がエレメントが延びる方向で積み重ねられて構成されている。各バーコード領域は、バーコード規格に適合しており、それぞれバーコードとしての機能を有する。各バーコード領域は、また、それぞれ少しずつ異なる補正値でエレメントの幅(黒バーおよび白スペース)が補正されており、すなわち各バーコード領域の各黒バーBおよび白スペースSは、それぞれ異なる太さを有する。
【0022】
バーコードの規格としては、JAN−8、JAN−13、UPC−A、UPC−E、ITF−14、Code128、GS1−128(UCC/EAN−128)などの如何なるバーコード規格を採用することができる。
【0023】
上記入力パラメータ・セットPS1のうち補正設定としては、補正値の基準となる基準値C、およびこの基準値Cを中心としてバーコード領域間で補正値をシフトさせる変化量cの指定が含まれる。補正値は、特に限定されるものではないが、本実施形態においてはドット単位を有し、例えば補正値が「1」である場合、バーコードの黒バー幅が1ドット細く(白スペース幅でいうと1ドット太く)補正される。
【0024】
再び図1を参照すると、分割数算出部136は、バーコード生成制御部132から入力パラメータ・セットPS1に含まれる全体のバーコード高さHを受け取り、そのバーコード高さHに適合した分割数Nを決定して、バーコード生成制御部132へ返す。バーコード高さには、バーコード規格上、最小高さHminが設けられており、分割数算出部136は、バーコード規格毎に最小高さを対応付けるテーブルとして構成される最小高さ情報138を参照して、バーコード領域に対して算出されるバーコード高さhが上記最小高さHminを下回らない範囲で分割数Nを決定する。
【0025】
バーコード生成制御部132は、バーコード高さHを分割数算出部136に渡し、決定された分割数Nを受け取ると、決定された分割数Nに応じて、分割数分のバーコード領域を画定するため、分割後のバーコード領域それぞれのバーコード高さhおよび位置xn,ynを算出する。ここで、「n」は、n番目のバーコード領域のパラメータであることを表し、本実施形態では、すべてのバーコード領域について同一のバーコード高さが用いられるため、分割後のバーコード高さは単一の値hとなる。
【0026】
さらにバーコード生成制御部132は、入力パラメータ・セットPS1が含む補正の基準値Cおよび変化量cを使用して、分割後のバーコード領域それぞれの補正値cnを決定する。バーコード生成制御部132は、各バーコード領域の分割後のバーコード高さhおよびバーコード位置xn,yn、他のバーコード設定、補正値cnを、バーコード画像を生成させるためのパラメータのセット(以下、画像生成パラメータと参照する。)PS2として、バーコード画像生成部134に渡し、バーコード画像生成を指令する。
【0027】
なお、図1において短形で囲まれるバーコード生成制御部132および分割数算出部136を合わせた機能部140は、本実施形態において、バーコードを規定するバーコード設定を含む入力パラメータ・セットPS1を受領する受領手段、および上記入力パラメータ・セットPS1に従って、バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットPS2を決定する決定手段を構成する。また、分割数算出部136は、全体のバーコード高さHに応じて、バーコード領域がバーコード規格に適合する範囲内で分割数Nを算出する分割数算出手段を構成し、バーコード生成制御部132は、算出された分割数N分のバーコード領域それぞれのバーコード設定および補正値を算出する算出手段を構成する。
【0028】
バーコード画像生成部134は、バーコード生成制御部132からバーコード画像生成の指令を受けて、上記補正値でバーコードのエレメント(黒バーおよび白スペース)の幅を補正してバーコード領域の画像を生成し、GDI120を使用して出力する。各バーコード領域の画像が所定の位置に生成されることで、それぞれ異なる補正値で補正された複数のバーコード領域の画像からなるバーコード画像(図2参照)が生成される。
【0029】
なお、本実施形態では、バーコード生成ライブラリ130から直接GDI120をコールするものとして説明しているが、他の実施形態では、アプリケーション110にバーコード画像を渡し、アプリケーション110からGDI120をコールして、バーコード画像を出力するようにしてもよい。また、バーコード画像生成部134は、本実施形態において、上記画像生成パラメータ・セットPS2に従って、複数のバーコード領域それぞれについてバーコードの黒バーおよび白スペースが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段を構成する。
【0030】
コンピュータ装置は、ROM(図示せず。)、ハード・ディスク・ドライブ(図示せず。)などの記憶装置からプログラムを読み出し、RAMなどのメモリ(図示せず。)上に展開することにより、コンピュータ装置が備える中央演算ユニット(図示せず。)の制御により、適切なオペレーティング・システム(OS)のもと、上記各機能部および後述する各処理を実現する。
【0031】
以下、表1および図3を参照して、本実施形態のバーコード生成ライブラリによるバーコード画像の生成例を説明する。下記表1は、入力パラメータ・セットPS1のうちバーコードの高さH、補正の基準値Cおよび変化量cの設定例を示す。図3は、表1の各セット例を入力パラメータ・セットPS1とした場合に生成されるバーコード画像を例示する図である。なお、表1および図3の例では、バーコード規格の最小高さHminを5mmとしており、その他のパラメータは省略されている。
【0032】
【表1】
【0033】
入力パラメータ・セットPS1として基準値Cを設定することで、通常通り出力されるバーコードよりも所定の補正値分だけ黒バーが細く(値が負であれば太く)されたバーコードの画像が生成される。例えば、セット例1では、基準値が1ドットであるため、まず通常より1ドット細い黒バーの幅で構成されたバーコード画像が生成される。また、バーコードは決定された分割数Nで分割されることになるが、セット例1では、最小高さが5mmであるため、分割後のバーコード高さhを5mmとして、分割数Nが3となる。この場合、補正値の変化量が2ドットであるため、基準値1ドットから2ドットずつ上下で正負に変化させた値、すなわち3ドット(+1)、2ドット(0)および1ドット(−1)が各バーコード領域に設定され、それぞれ異なる補正値で補正がされた3つのバーコード領域からなるバーコード画像が生成される。
【0034】
なお、バーコード領域の並びは、特に限定されるものではないが、例えば補正値が大きい順または小さい順に並べられる。また、図3では、各バーコード領域の黒バーが左揃えされているが、中央揃え、右揃えであってもよい。また、本実施形態では、基準値Cは、入力パラメータ・セットPS1としてアプリケーション110から渡されるものとしているが、例えば、バーコード生成ライブラリ130がプリンタ機種と基準値とを対応付けるテーブルを備えることで、アプリケーション110から機種の指定を受けて、適切な基準値を決定する構成としてもよい。
【0035】
表1のセット例2では、バーコード高さが21mmであるため、分割後のバーコード高さを5.25mm(≧最小高さHmin)として、分割数が4に決定される。この場合、基準値が2ドットであり、補正値の変化量が1ドットであるため、基準値2ドットから1ドットずつ上下で正負に順に変化させた値、すなわち4ドット(+2)、3ドット(+1)、2ドット(0)および1ドット(−1)が各バーコード領域に設定される。一方、セット例3では、最小高さが5mmであるため、分割することができず、よって、分割後のバーコード高さは最小高さ5mmと等しくなり、分割数が1となる。この場合、基準値が1ドットであるため、補正値1ドットで補正されるただひとつのバーコード領域が生成される。
【0036】
図4は、バーコード生成ライブラリのバーコード生成制御部が実行する、バーコード画像生成処理を示すフローチャートである。図4に示す処理は、例えばアプリケーション110からの呼び出しを受けて、ステップS100から開始される。ステップS101では、バーコード生成制御部132は、アプリケーション110から入力パラメータ・セット(バーコード高さH、バーコード位置X,Y、その他のバーコード設定、基準値C、変化量c)PS1を受領する。ステップS102では、バーコード生成制御部132は、バーコード高さHを分割数算出部136に渡し、分割数算出部136から分割数Nを受け取る。ここで、分割数算出部136は、バーコード全体のバーコード高さHおよび最小高さHminを用いて、下記式(1)により分割数Nを算出する。なお、max(a,b)関数は、aとbとを比較して大きい方を選択する関数である。
【0037】
【数1】
【0038】
ステップS103では、バーコード生成制御部132は、入力パラメータ・セットPS1に含まれる全体のバーコード高さHおよび分割数Nを用いて、下記式(2)により分割後のバーコード領域のバーコード高さhを算出する。ここでは、上述したように、すべてのバーコード領域のバーコード高さは等しいものとする。
【0039】
【数2】
【0040】
ステップS104〜ステップS108のループでは、n番目(n=1,・・・,N)の各バーコード領域について、ステップS105〜ステップS107の処理を実行し、1番目からN番目までのすべてのバーコード領域について処理が完了すると、ステップS108で本処理を終了させる。以下、ステップS104〜ステップS108のループ内の処理について説明する。ステップS105では、バーコード生成制御部132は、全体のバーコード位置X、Y、分割後のバーコード高さhおよび序数nを用いて、下記式(3)により、n番目のバーコード領域のバーコード位置xn,ynを算出する。なお、ここでは、右下方向を座標における正方向としている。
【0041】
【数3】
【0042】
ステップS106では、バーコード生成制御部132は、補正の基準値Cと変化量cとを用いて下記式(4)により、n番目のバーコード領域の補正値cnを算出する。なお、下記式中の関数[a]は、a(実数)以下の最大の整数を表す。
【0043】
【数4】
【0044】
ステップS107では、バーコード生成制御部132は、分割後のバーコード高さh、バーコード位置xn,yn、その他のバーコード設定、補正値cnを含む画像生成パラメータ・セットPS2をバーコード画像生成部134に渡し、n番目のバーコード領域のバーコード画像の生成を指令する。ここでは、バーコード画像生成部134は、バーコード生成制御部132から画像生成パラメータ・セットPS2を受け取り、各バーコード領域のバーコード画像を生成する。バーコード画像生成部134は、バーコード高さhを有し、バーコード位置xn,ynを始点としたバーコード画像を、上記補正値cn分だけ各黒バーの幅のドット数を減らして細くした画像を生成する。ステップS104〜ステップS108のループをN回繰り返すことにより、図2や図3に示すような複数のバーコード領域からなるバーコード画像が生成される。
【0045】
上述した第1の実施形態によるバーコード生成ライブラリによれば、それぞれ少しずつ異なる補正値でバーコードのエレメント(黒バーおよび白スペース)の幅が補正された複数のバーコード領域からなるバーコード画像が得られる。従来の単一の補正値による補正のみでは、補正値の誤差が許容範囲を超えてしまうことによって、バーコードの規格を外れて黒バーが太ったり細ったりしてしまった場合には、バーコード・スキャナで読み取ることはできなくなる。
【0046】
これに対して本実施形態のバーコード生成ライブラリが生成するバーコード画像によれば、1つのバーコード領域についてバーコード規格から外れてしまっても、その正または負にわずかに異なる補正値で補正された他のバーコード領域が許容される慨然性があるため、分割数および補正値の変化量分だけ補正値の誤差の許容範囲を拡張することができ、バーコード全体として、バーコードの読み取り精度を向上させることができる。このように補正値の誤差の許容範囲が拡張されているため、プリンタ機種毎に細かく補正値を検証しなくてもよく、プリンタ機種を新規追加する際における補正値の検証の手間も軽減される。
【0047】
また、第1の実施形態によるバーコード生成ライブラリ130は、ライブラリ自体が最適な分割数Nを算出するため、利用者が意識することなくバーコードを分割することができるという利点がある。さらに、補正値の変化量が指定可能であるため、利用者は、より自由に補正値の誤差の許容範囲を制御することができる。
【0048】
[第2の実施形態]
以下、図5〜図7を参照しながら、第2の実施形態による画像処理装置として、入力パラメータのセットに従ってバーコード画像を生成する他のバーコード生成ライブラリを実現するコンピュータ装置について説明する。第1の実施形態のバーコード生成ライブラリでは、バーコードの分割数はライブラリが算出していたが、第2の実施形態では、分割数も外部指定が可能とされ、利用者は、より柔軟にバーコードの補正を制御することができる。
【0049】
図5は、第2の実施形態によるコンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。図5に示す機能ブロック200は、アプリケーション210と、GDI220と、バーコード生成ライブラリ230とを含む。なお、第1の実施形態と同様の機能を有する機能部については、第1の実施形態で付した符番の百の桁を2とした符番を付し、以下、相違点を中心に説明する。
【0050】
バーコード生成ライブラリ230は、アプリケーション210からの呼び出しに応答して、入力パラメータ・セットPS3をアプリケーション210から受け取り、バーコード画像を生成する。第2の実施形態では、アプリケーション210は、ユーザ指定または固定の分割数Nを指定する手段を備えており、上記入力パラメータ・セットPS3は、全体のバーコードの高さH、バーコード位置X,Yの指定、他の標準的なバーコード設定、補正の基準値C、変化量cに加えて、さらに分割数Nの指定をも含む。
【0051】
バーコード生成ライブラリ230は、より詳細には、バーコード生成制御部232と、バーコード画像生成部234とを含んで構成され、第1の実施形態における分割数算出部に相当する機能部は備えない。バーコード生成制御部232は、アプリケーション210から上記入力パラメータ・セットPS3を受け取り、バーコード画像生成部234を制御して、バーコード画像生成処理を実行する。
【0052】
バーコード高さには、第1の実施形態と同様、バーコード規格上最小高さHminが設けられているため、上記バーコード高さHと分割数Nが共に指定された場合には、バーコード領域のバーコード高さhが最小高さHminを下回わり、バーコード領域の画像が規格に適合しなくなる可能性がある。そこで、第2の実施形態のバーコード生成制御部232は、指定の分割数Nで分割した場合にバーコード領域のバーコード高さhが最小高さHminを下回る場合には、分割数Nを優先させ、各バーコード領域のバーコード高さhを最小高さHmin以上とし、全体のバーコード高さHを大きな値に変更する。
【0053】
バーコード生成制御部232は、指定された分割数Nに応じて、分割数N分のバーコード領域を画定するため、分割後のバーコード領域それぞれのバーコード高さhおよび位置xn,ynを算出し、入力パラメータ・セットPS3が含む補正の基準値Cおよび変化量cを使用して、分割後のバーコード領域それぞれの補正値cnを決定する。
【0054】
なお、第2の実施形態においては、バーコード生成制御部232が受領手段および決定手段を構成する。またバーコード生成制御部232は、バーコード領域がバーコード規格に適合する範囲内で、指定された分割数N分のバーコード領域それぞれのバーコード設定および補正値を算出する算出手段を構成する。
【0055】
バーコード画像生成部234は、第1の実施形態と同様に、バーコード生成制御部232からバーコード画像生成の指令を受けて、上記補正値でバーコードのエレメントの幅を補正してバーコード領域の画像を生成する。
【0056】
以下、表2および図6を参照して、第2の実施形態のバーコード生成ライブラリによるバーコード画像の生成例を説明する。下記表2は、入力パラメータ・セットPS3のうち分割数N、バーコードの高さH、補正の基準値Cおよび変化量cの設定例を示す。図6は、表2の各セット例を入力パラメータ・セットPS3とした場合に生成されるバーコード画像を例示する図である。
【0057】
【表2】
【0058】
バーコードは、指定の分割数Nで分割されることになるが、表2のセット例1では、分割数Nが3であるため、分割後のバーコード高さhが5mmと算出される。この場合、高さhが最小高さ5mmを保つことができるため、そのまま、基準値1ドットから変化量2ドットずつ上下で正負に変化させた値、すなわち3ドット(+2)、1ドット(0)および−1ドット(−2)が各バーコード領域に設定され、それぞれ異なる補正値で補正がされた指定分割数3つ分のバーコード領域からなるバーコード画像が生成される。
【0059】
表2のセット例2では、バーコード高さが21mmであり、分割数Nが3であるため、分割後のバーコード高さは7mmとなり、最小高さ5mmを保つことができる。この場合、基準値が2ドットであり、補正値の変化量が1ドットであるため、基準値2ドットから1ドットずつ上下で正負に順に変化させた値、3ドット(+1)、2ドット(0)および1ドット(−1)が各バーコード領域に設定される。一方、セット例3では、分割数Nが3であるが、全体のバーコード高さHが5mmであるため、分割した場合に最小高さが5mmを保つことができない。このため、分割後のバーコード高さhを最小高さ5mmとし、全体のバーコード高さHを15mmに変更し、基準値1ドットから1ドットずつ上下で正負に順に変化させた値、2ドット(+1)、1ドット(0)および0ドット(−1)が各バーコード領域に設定されて、指定分割数3つ分のバーコード領域からなるバーコード画像が生成される。
【0060】
図7は、第2の実施形態によるバーコード生成ライブラリのバーコード生成制御部が実行する、バーコード画像生成処理を示すフローチャートである。図7に示す処理は、例えばアプリケーション210からの呼び出しを受けて、ステップS200から開始される。ステップS201では、バーコード生成制御部232は、アプリケーション210から分割数Nの指定を含む入力パラメータ・セットPS3を受領する。
【0061】
ステップS202では、バーコード生成制御部232は、バーコード高さHおよび指定分割数Nを使用して、下記式(5)により分割後のバーコード高さhを算出する。
【0062】
【数5】
【0063】
ステップS203では、バーコード生成制御部232は、算出された分割後のバーコード高さhが、最小高さHmin以上であるか否かを判定する。ステップS203で、算出された高さhが最小高さHmin以上であると判定された場合(YES)には、ステップS205へ処理を進める。一方、最小高さHmin未満であると判定された場合(NO)には、ステップS204へ処理を進める。ステップS204では、バーコード生成制御部232は、分割後のバーコード高さhを最小高さHminとし、下記式(6)により、全体のバーコード高さH’を算出する。なお、全体のバーコード高さHの変更に伴い、バーコード全体のバーコード位置X,Yを適宜シフトさせることもできる。
【0064】
【数6】
【0065】
ステップS205〜ステップS209のループでは、n番目(n=1,・・・,N)の各バーコード領域について、ステップS206〜ステップS208の処理を実行し、1番目からN番目までのすべてのバーコード領域について処理が完了すると、ステップS210で本処理を終了させる。なお、ステップS205〜ステップS209のループ内の処理は、第1の実施形態について説明した図4のステップS104〜ステップS108のループ内の処理と同様であるため、詳細な説明は割愛する。
【0066】
上述した第2の実施形態によるバーコード生成ライブラリによれば、分割数をアプリケーション側から指定することが可能となり、また最適な分割数Nをユーザ指定することができるため、利用者は、明示的に補正値の誤差の許容範囲を決めることができるという利点がある。また、指定の分割数Nで分割した場合に、バーコード領域のバーコード高さhが最小高さ未満Hminとなる場合でも、バーコード領域をバーコード規格に適合させながら分割数を優先させることが可能となる。
【0067】
[第3の実施形態]
以下、図8を参照して、第3の実施形態による画像処理装置として、印刷設定として入力パラメータ・セットを受け取り、生成したバーコード画像を描画データに含ませてプリンタ装置に該描画データを送信するプリンタドライバを実現する、コンピュータ装置について説明する。すなわち、第3の実施形態は、第1の実施形態のバーコード生成ライブラリ130が備えるバーコード生成機能をプリンタドライバで実装する実施形態である。
【0068】
図8は、コンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。図8に示す機能ブロック300は、アプリケーション310と、GDI320と、プリンタドライバ330とを含む。なお、第1の実施形態と類似する機能を有する機能部については、第1の実施形態で付した符番の百の桁を3とした符番を付し、以下、相違点を中心に説明する。
【0069】
プリンタドライバ330は、第1の実施形態と同様の機能を有する、バーコード生成制御部332と、バーコード画像生成部334と、分割数算出部336とを含み、さらに、描画部342と、ユーザ・インタフェース(以下、UIと参照する)部344とを含む。UI部344は、アプリケーション310からの呼び出しを受けて、プリンタドライバ330の印刷設定ダイアログなどのグラフィカル・ユーザ・インタフェースを表示し、利用者からの印刷設定および入力パラメータ・セットの入力を受け付ける機能部である。
【0070】
描画部342は、アプリケーション310からGDI320を経由して、上記印刷設定ダイアログを介して入力された上記印刷設定および入力パラメータ・セットPS1を保持するDEVMODEを受け取り、バーコード生成制御部332に対しバーコード画像の生成を指令し、生成されたバーコード画像を含む描画データを、スプーラ350およびポートモニタ352を介してプリンタ装置354に送信する。
【0071】
バーコード生成制御部332は、入力パラメータ・セット(所望のバーコードを規定する全体のバーコードの高さH、バーコード位置X,Yの指定、他のバーコード設定、基準値Cおよび変化量c)を描画部342から受け取り、分割数算出部336に分割数Nを決定させ、バーコード画像生成部334を呼び出し、生成されたバーコード画像を描画部342へ渡す。その他のバーコード生成制御部332の処理、分割数算出部336およびバーコード画像生成部334の処理は、第1の実施形態と同様である。
【0072】
[第4の実施形態]
以下、図9を参照して、第4の実施形態の画像処理装置として、印刷設定として入力パラメータ・セットを受け取り、生成したバーコード画像を描画データに含ませてプリンタ装置に該描画データを送信する他のプリンタドライバを実現する、コンピュータ装置について説明する。すなわち、第4の実施形態は、第2の実施形態のバーコード生成ライブラリ230が備えるバーコード生成機能をプリンタドライバで実装する実施形態である。
【0073】
図9は、コンピュータ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。図9に示す機能ブロック400は、アプリケーション410と、GDI420と、プリンタドライバ430とを含む。なお、第2の実施形態と類似する機能を有する機能部については、第2の実施形態で付した符番の百の桁を4とした符番を付し、以下、相違点を中心に説明する。
【0074】
プリンタドライバ430は、第1の実施形態と同様の機能を有する、バーコード生成制御部432と、バーコード画像生成部434とを含んで構成され、第1の実施形態および第3の実施形態における分割数算出部に相当する機能部は備えない。バーコード生成制御部432は、アプリケーション410から入力パラメータ・セットPS3を受け取り、バーコード画像生成部434を制御して、バーコード画像生成処理を実行する。
【0075】
第4の実施形態では、UI部444は、分割数Nのユーザ指定を受ける手段を備えており、上記入力パラメータ・セットPS3は、全体のバーコードの高さH、バーコード位置X,Yの指定、他の標準的なバーコード設定、補正の基準値C、変化量cに加えて、さらに分割数Nの指定をも含み、分割数Nも、DEVMODEに格納されて描画部442へ渡される。その他、バーコード生成制御部432、バーコード画像生成部434の処理は、第2の実施形態と同様であり、描画部442およびUI部444の他の処理は、第3の実施形態と同様である。
【0076】
[第5の実施形態]
以下、図10を参照して、第5の実施形態による画像処理装置として、印刷データおよび入力パラメータ・セットを含む印刷設定データを受け取り、バーコード画像を生成して描画データに含ませて転写装置に描画指令を発行するプリンタ装置について説明する。すなわち、第5の実施形態は、第1の実施形態のバーコード生成ライブラリ130が備えるバーコード生成機能をプリンタ自体の機能として実装する実施形態である。
【0077】
図10は、プリンタ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。なお、第1の実施形態と類似する機能を有する機能部については、第1の実施形態で付した符番の百の桁を5とした符番を付し、以下、相違点を中心に説明する。
【0078】
図10に示す機能ブロック500は、第1の実施形態と同様の機能を有するバーコード生成制御部532と、バーコード画像生成部534と、分割数算出部536とを含み、さらに、描画部560と、転写装置562とを備える。プリンタ装置は、パーソナル・コンピュータなどのホスト装置564と接続されており、描画部560は、ホスト装置からPJL等で記述された印刷設定データおよび描画データを受け取り、バーコード生成制御部532に対しバーコード画像の生成を指令し、生成されたバーコード画像を含む描画データの描画命令を転写装置に発行する。上記ホスト装置564で設定された入力パラメータ・セットは、PJLなどの印刷設定データ中に含まれる。その他のバーコード生成制御部532の処理、分割数算出部536およびバーコード画像生成部534の処理は、第1の実施形態と同様である。
【0079】
[第6の実施形態]
以下、図11を参照して、第6の実施形態による画像処理装置として、印刷データおよび入力パラメータ・セットを含む印刷設定データを受け取り、バーコード画像を生成して描画データに含ませて転写装置に描画指令を発行する他のプリンタ装置について説明する。すなわち、第5の実施形態は、第2の実施形態のバーコード生成ライブラリ230が備えるバーコード生成機能をプリンタ自体の機能として実装する実施形態である。なお、第2の実施形態と類似する機能を有する機能部については、第2の実施形態で付した符番の百の桁を6とした符番を付し、以下、相違点を中心に説明する。
【0080】
図11は、プリンタ装置上で実現されるバーコード生成機能に関連する機能ブロックを示す。図11に示す機能ブロック600は、第1の実施形態と同様の機能を有するバーコード生成制御部632と、バーコード画像生成部634とを含んで構成され、第1の実施形態、第3の実施形態および第5の実施形態における分割数算出部に相当する機能部は備えない。またプリンタ装置は、さらに、描画部660と、転写装置662とを備える。
【0081】
第6の実施形態では、ホスト装置664は、分割数Nのユーザ指定を受ける手段を備えており、分割数Nを含む入力パラメータ・セットPS3は、PJLなどで記述された印刷設定データに含ませて描画部660へ渡される。その他、バーコード生成制御部632およびバーコード画像生成部634の処理は、第1の実施形態と同様であり、描画部660および転写装置662の他の処理は、第5の実施形態と同様である。
【0082】
以上説明したように、上述までの実施形態によれば、対応プリンタ機種を追加する際における補正値の検証の手間を軽減し、補正値に発生し得る誤差を許容することによって、スキャン読み取り精度を向上させることができる画像処理装置、画像処理方法、プログラムおよび記録媒体を提供することができる。
【0083】
なお、上述した実施形態では、画像処理装置の例として、第5の実施形態および第6の実施形態については、プリンタ装置を例示したが、上記プリンタ装置に代えて、複合機や複写機などのプリント機能を備える他の画像形成装置としてもよい。
【0084】
また上記機能は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【0085】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0086】
100,200,300,400,500,600…機能ブロック、110,210,310,410…アプリケーション、120,220,320,420…GDI、130,230…バーコード生成ライブラリ、132,232,332,432,532,632…バーコード生成制御部、134,234,334,434,534,634…バーコード画像生成部、136,336,536…分割数算出部、138,238,338,438,538,638…最小高さ情報、140,340,540…機能部、330,430…プリンタドライバ、342,442…描画部、344,444…UI部、350,450…スプーラ、352,452…ポートモニタ、354,454…プリンタ装置、560,660…描画部、562,662…転写装置、564,664…ホスト装置
【先行技術文献】
【特許文献】
【0087】
【特許文献1】特開2006−293916号公報
【特許文献2】特開2009−193428号公報
【特許請求の範囲】
【請求項1】
バーコードを規定するバーコード設定を含む入力パラメータ・セットを受領する受領手段と、
前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する決定手段と、
前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段と
を含む、画像処理装置。
【請求項2】
前記入力パラメータ・セットは、全体のバーコード高さの指定を含み、
前記決定手段は、前記全体のバーコード高さに応じて、前記バーコード領域がバーコード規格に適合する範囲内で分割数を算出する分割数算出手段と、算出された前記分割数分の前記バーコード領域それぞれの前記バーコード設定および前記補正値を算出する算出手段とを含む、請求項1に記載の画像処理装置。
【請求項3】
前記入力パラメータ・セットは、前記バーコードを分割する分割数の指定を含み、前記決定手段は、前記バーコード領域がバーコード規格に適合する範囲内で、指定された前記分割数分の前記バーコード領域それぞれの前記バーコード設定および前記補正値を算出する算出手段を含む、請求項1に記載の画像処理装置。
【請求項4】
前記算出手段は、前記入力パラメータ・セットが含む全体のバーコード高さを前記分割数で分割した場合に、バーコード規格が規定する最小高さ未満となる場合、前記バーコード領域の前記バーコード高さを前記最小高さ以上とし、前記全体のバーコード高さを変更する、請求項3に記載の画像処理装置。
【請求項5】
前記入力パラメータ・セットは、前記バーコード領域それぞれの補正値を決定するための基準となる基準値の指定と、前記バーコード領域間の補正値の変化量の指定とを含む、請求項1〜4のいずれか1項に記載の画像処理装置。
【請求項6】
前記受領手段、前記決定手段および前記画像生成手段は、前記入力パラメータ・セットを受け取って、生成した前記バーコード画像を出力するライブラリを構成する、請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項7】
前記受領手段、前記決定手段および前記画像生成手段は、前記入力パラメータ・セットを印刷設定構造体として受け取り、生成した前記バーコード画像を含む描画データを画像形成装置へ向けて出力するプリンタドライバを構成する、請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項8】
前記受領手段、前記決定手段および前記画像生成手段は、前記入力パラメータ・セットを含む印刷設定および描画データを受信して、生成した前記バーコード画像の描画を含む描画命令を転写装置に発行する手段を構成し、前記画像処理装置は画像形成装置である、請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項9】
バーコード画像を生成する方法であって、
画像処理装置が、バーコードを規定するバーコード設定を含む入力パラメータ・セットを記憶するステップと、
前記画像処理装置が、前記入力パラメータ・セットを読み出し、前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定するステップと、
前記画像処理装置が、前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成するステップと
を含む、画像処理方法。
【請求項10】
コンピュータが実行可能なプログラムであって、前記コンピュータに対して、
バーコードを規定するバーコード設定を含む入力パラメータ・セットを受領する受領手段、
前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する決定手段、および
前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成し、該バーコード画像を出力する画像生成手段
を含むライブラリを実現するためのプログラム。
【請求項11】
コンピュータが実行可能なプログラムであって、前記コンピュータに対して、
バーコードを規定するバーコード設定を含む入力パラメータ・セットが含まれる印刷設定構造体を受領する受領手段、
前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する決定手段、
前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段、および
生成した前記バーコード画像を含む描画データを生成し、画像形成装置へ向けて出力する描画手段
を含むプリンタドライバを実現するためのプログラム。
【請求項12】
画像形成装置が実行可能なプログラムであって、前記画像形成装置に対して、
バーコードを規定するバーコード設定を含む入力パラメータ・セットが含まれる印刷設定および描画データを受信する受信手段、
前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する決定手段、
前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段、および
生成した前記バーコード画像の描画を含む描画命令を転写装置に発行する描画手段
を実現するためのプログラム。
【請求項13】
請求項10または請求項11に記載のコンピュータ実行可能なプログラムをコンピュータ可読に記録する記録媒体。
【請求項14】
請求項12に記載の装置実行可能なプログラムを装置可読に記録する記録媒体。
【請求項1】
バーコードを規定するバーコード設定を含む入力パラメータ・セットを受領する受領手段と、
前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する決定手段と、
前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段と
を含む、画像処理装置。
【請求項2】
前記入力パラメータ・セットは、全体のバーコード高さの指定を含み、
前記決定手段は、前記全体のバーコード高さに応じて、前記バーコード領域がバーコード規格に適合する範囲内で分割数を算出する分割数算出手段と、算出された前記分割数分の前記バーコード領域それぞれの前記バーコード設定および前記補正値を算出する算出手段とを含む、請求項1に記載の画像処理装置。
【請求項3】
前記入力パラメータ・セットは、前記バーコードを分割する分割数の指定を含み、前記決定手段は、前記バーコード領域がバーコード規格に適合する範囲内で、指定された前記分割数分の前記バーコード領域それぞれの前記バーコード設定および前記補正値を算出する算出手段を含む、請求項1に記載の画像処理装置。
【請求項4】
前記算出手段は、前記入力パラメータ・セットが含む全体のバーコード高さを前記分割数で分割した場合に、バーコード規格が規定する最小高さ未満となる場合、前記バーコード領域の前記バーコード高さを前記最小高さ以上とし、前記全体のバーコード高さを変更する、請求項3に記載の画像処理装置。
【請求項5】
前記入力パラメータ・セットは、前記バーコード領域それぞれの補正値を決定するための基準となる基準値の指定と、前記バーコード領域間の補正値の変化量の指定とを含む、請求項1〜4のいずれか1項に記載の画像処理装置。
【請求項6】
前記受領手段、前記決定手段および前記画像生成手段は、前記入力パラメータ・セットを受け取って、生成した前記バーコード画像を出力するライブラリを構成する、請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項7】
前記受領手段、前記決定手段および前記画像生成手段は、前記入力パラメータ・セットを印刷設定構造体として受け取り、生成した前記バーコード画像を含む描画データを画像形成装置へ向けて出力するプリンタドライバを構成する、請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項8】
前記受領手段、前記決定手段および前記画像生成手段は、前記入力パラメータ・セットを含む印刷設定および描画データを受信して、生成した前記バーコード画像の描画を含む描画命令を転写装置に発行する手段を構成し、前記画像処理装置は画像形成装置である、請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項9】
バーコード画像を生成する方法であって、
画像処理装置が、バーコードを規定するバーコード設定を含む入力パラメータ・セットを記憶するステップと、
前記画像処理装置が、前記入力パラメータ・セットを読み出し、前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定するステップと、
前記画像処理装置が、前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成するステップと
を含む、画像処理方法。
【請求項10】
コンピュータが実行可能なプログラムであって、前記コンピュータに対して、
バーコードを規定するバーコード設定を含む入力パラメータ・セットを受領する受領手段、
前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する決定手段、および
前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成し、該バーコード画像を出力する画像生成手段
を含むライブラリを実現するためのプログラム。
【請求項11】
コンピュータが実行可能なプログラムであって、前記コンピュータに対して、
バーコードを規定するバーコード設定を含む入力パラメータ・セットが含まれる印刷設定構造体を受領する受領手段、
前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する決定手段、
前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段、および
生成した前記バーコード画像を含む描画データを生成し、画像形成装置へ向けて出力する描画手段
を含むプリンタドライバを実現するためのプログラム。
【請求項12】
画像形成装置が実行可能なプログラムであって、前記画像形成装置に対して、
バーコードを規定するバーコード設定を含む入力パラメータ・セットが含まれる印刷設定および描画データを受信する受信手段、
前記入力パラメータ・セットに従って、前記バーコードを分割して画定される複数のバーコード領域それぞれについて、該バーコード領域がバーコード規格に適合するように、バーコード設定および補正値を含む画像生成パラメータ・セットを決定する決定手段、
前記画像生成パラメータ・セットに従って、前記複数のバーコード領域それぞれについてバーコードのエレメントが補正された画像を生成し、それぞれ補正値が異なる複数のバーコード領域の画像から構成されるバーコード画像を生成する画像生成手段、および
生成した前記バーコード画像の描画を含む描画命令を転写装置に発行する描画手段
を実現するためのプログラム。
【請求項13】
請求項10または請求項11に記載のコンピュータ実行可能なプログラムをコンピュータ可読に記録する記録媒体。
【請求項14】
請求項12に記載の装置実行可能なプログラムを装置可読に記録する記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−63897(P2012−63897A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2010−206354(P2010−206354)
【出願日】平成22年9月15日(2010.9.15)
【出願人】(000006747)株式会社リコー (37,907)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願日】平成22年9月15日(2010.9.15)
【出願人】(000006747)株式会社リコー (37,907)
[ Back to top ]