JP4725148B2 - 印字装置及びプログラム - Google Patents

印字装置及びプログラム Download PDF

Info

Publication number
JP4725148B2
JP4725148B2 JP2005079523A JP2005079523A JP4725148B2 JP 4725148 B2 JP4725148 B2 JP 4725148B2 JP 2005079523 A JP2005079523 A JP 2005079523A JP 2005079523 A JP2005079523 A JP 2005079523A JP 4725148 B2 JP4725148 B2 JP 4725148B2
Authority
JP
Japan
Prior art keywords
printing
value
barcode
bar
recording paper
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005079523A
Other languages
English (en)
Other versions
JP2006260396A5 (ja
JP2006260396A (ja
Inventor
雅之 佐野
哲也 黒松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2005079523A priority Critical patent/JP4725148B2/ja
Priority to EP06290418A priority patent/EP1703446B1/en
Priority to AT06290418T priority patent/ATE470200T1/de
Priority to DE602006014611T priority patent/DE602006014611D1/de
Publication of JP2006260396A publication Critical patent/JP2006260396A/ja
Publication of JP2006260396A5 publication Critical patent/JP2006260396A5/ja
Application granted granted Critical
Publication of JP4725148B2 publication Critical patent/JP4725148B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Printers Characterized By Their Purpose (AREA)
  • Glass Compositions (AREA)
  • Noodles (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、印字装置及びプログラムに関する。
従来より、商品コードの識別等の用途にバーコードが用いられており、このバーコードを読み取るために、バーコードリーダ等の情報読取装置が使用されている。
また、プリンタを備えたハンディターミナル等の携帯情報機器を用いて旅券発行等の発券業務を行う場合に、記録用紙の裏面にそれぞれ異なるバーコードが識別情報として予め印刷されることがあり、発券の記録管理等の用に供されている。従来、このような携帯情報機器においては、印刷用紙を検出する用紙検出センサを用いることでバーコードの読み取りを行う装置が提案されている(例えば、特許文献1参照)。
特開2001−14279号公報
しかしながら、発券業務に用いる場合においては、印刷前又は印刷後にバーコードの読み取りを改めて実施する必要があるため、煩わしく利便的でない。
また、特許文献1に記載の技術を用いることにより、携帯情報機器のみでバーコードの読み取りが可能となるが、プリンタとの併用に関しては記載されておらず、発券業務とバーコードの読み取りとを同時に行うことはできない。また、バーコード自体及びバーコードの読み取りに関しては具体的な記載がされておらず、例えば、記録用紙の紙送り時に発生する読み取り誤差等により、正確な情報を読み取れない可能性がある。
また、一の発券に用いられる記録用紙の記録領域は小領域であることが多く、そのスペースの関係から、従来の規格に準拠したバーコードでは十分なデータ量を表すことが困難である。例えば、ITF(Interleaved Two of Five)規格に準拠したバーコードでは、5本のバーにより1のキャラクタを表すため、データ量が増加するに伴いバーの本数が5本単位で増加することになる。
本発明の課題は、短いバーコード長でより多くのデータ量を表すことが可能なバーコード読み取りに際して、読み取り精度を向上させることができるようにすることである。
請求項1記載の発明は、裏面にバーコードが印刷された記録用紙に発券情報を印字する印字装置であって、前記発券情報を入力する操作手段と、前記操作手段により入力された発券情報を表示する表示手段と、前記記録用紙を搬送する搬送手段と、前記記録用紙のバーコードを検出する用紙センサ手段と、前記記録用紙に印字情報を印字する印字手段と、前記搬送手段により前記記録用紙を予め決められた位置間隔毎に搬送させ、この搬送に同期して、前記記録用紙のバーコードを、前記予め決められた位置間隔毎に、前記用紙センサ手段により検出させると共に、前記操作手段により入力された発券情報を、前記予め決められた位置間隔毎に、前記印字手段により前記記録用紙の表面に印字させることにより、前記バーコードの検出を完了させると同時に、前記発券情報の印字を完了させる制御手段と、を具備する
請求項記載の発明によれば、用紙センサ手段によりバーコードの読み取りを行うとともに、記録用紙体に発券情報の印字を行うことが可能であるため、バーコードの読み取りと発券情報の印字とを同時に完了させることができる。
以下、本発明を実施するための最良の形態を図面を参照して説明する。ただし、本発明の範囲は、図示例に限定されないものとする。
まず、図1を参照して、本発明に用いるバーコードを生成するバーコード生成装置10について説明する。
図1に示すように、バーコード生成装置10は、CPU(Central Processing Unit)11、操作部12、表示部13、ROM(Read Only Memory)14、RAM(Random Access Memory)15、記憶部16、印刷部17等を有して構成され、各部はバス18を介して接続されている。
CPU11は、RAM15の所定領域を作業領域として、ROM14及び/又は記憶部16に予め記憶されている各種制御プログラムを実行しバーコード生成装置10を構成する各部の動作を制御する。またCPU11は、操作部12を介して入力される制御信号に従いながらROM14及び/又は記憶部16に記録されたアプリケーションプログラムを読出・実行してバーコード生成装置10の各種機能を実現するようになっている。
また、CPU11は、後述する操作部12を介してユーザにより入力される1又は複数の数値データをバイナリコードに変換し、この変換されたバイナリコードに基づいてバーコードデータを生成する。
操作部12は、文字入力キー,数字入力キーその他各種機能に対応付けられたキーを備えたキーボード、マウス等を含み、利用者によるキー操作で押下されたキーに対応する押下信号をCPU11に出力する。
表示部13は、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)等から構成されており、CPU11から入力された表示データに基づいてディスプレイ上に画像を表示する。
ROM14は、バーコード生成装置10に係るシステムプログラムやアプリケーションプログラム、本実施形態を実現するためのプログラムやデータ等を記憶する。
RAM15は、CPU11によって実行される各種プログラム及びこれらプログラムに関わるデータを一時的に記憶するワークエリアを形成する。
記憶部16は、プログラムやデータ等が予め記録されている記録媒体(図示せず)を有しており、この記録媒体は磁気的、光学的記録媒体、若しくは半導体メモリで構成されている。この記録媒体は、記憶部16に固定的に設けられるもの、若しくは着脱自在に装着するものであり、この記録媒体には、システムプログラム、当該システムに対応する各種処理プログラム、及び各種処理プログラムで処理されたデータ等を記録する。また、プログラムは、コンピュータが読み取り可能なプログラムコードの形態で格納され、CPU11は、当該プログラムコードに従った動作を逐次実行する。
印刷部17は、CPU11の制御に応じて、バーコードデータを記録媒体である記録用紙Pに印字(記録)する。なお、印刷部17は、サーマルプリンタ、レーザプリンタ、インクジェットプリンタ等の各種プリント方式に応じた部材により構成されているものとし、該プリント方式に応じた記録用紙が用いられるものとする。
次に、図2を参照して、本バーコード生成装置10で実行されるバーコード生成処理について説明する。なお、図2は、バーコード生成装置10のCPU11とROM14及び/又は記憶部16に記憶された所定のプログラムとの協働によるソフトウェア処理により実行される処理を示している。
まず、操作部12を介して1方は複数の数値データが入力されると(ステップS11)、この数値データがバイナリコードに変換され(ステップS12)、該バイナリコードに基づいて固定幅を有するバーからなるデータバー部が、読み取り開始位置を示すマーカー部後方に生成される(ステップS13)。
このデータバーの生成時において、データバー部の幅が、マーカーの幅以上となるような場合には、データバー部の幅がマーカーの幅より小さくなるよう所定のデータ群毎にスペースバーが挿入される。このように、データバー部の幅が、マーカー部の幅より小さくなるようスペースバーが置かれるため、データバー部とマーカー部とを明確に区別することが可能となり、データバー部とマーカー部との混同を防止することができる。
次いで、データバーの先端位置を示すスタートバーがデータバー部とマーカー部との間に所定間隔を置いて配置されるとともに、データバー部の後方に当該データバー部の終端位置を示すストップバーが配置される(ステップS14)。
さらに、データバーの誤りを検出するためのパリティコードが導出され(ステップS15)、この導出されたパリティコードを示すパリティバーが付加されて、バーコードデータが生成される(ステップS16)。
次いで、記録用紙Pにバーコードデータが記録されて(ステップS17)、本処理は終了する。
図3は、本バーコード生成処理により記録用紙Pに記録されたバーコードデータの一例を示す図である。
同図に示すように、マーカー部Mの後方にバーコードBが記録されており、マーカー部MとバーコードBとの間には、当該マーカー部MとバーコードBとを区分けするためのマージンM1が設けられている。なお、マージンM1の幅は任意であるものとするが、バーコードBに含まれるバーの幅より大きな値であることが好ましい。また、マーカー部Mの幅も任意であるものとするが、バーコードBに含まれるバーの幅より大なる値であることが好ましい。この、記録用紙Pは、図中矢印で示した記録用紙搬送方向に搬送されるようになっている。即ち、マーカー部からストップバーにかけて一方向に搬送される。
バーコードBは、スタートバーB1、データバーB2、スペースバーB3、データバーB4、スペースバーB5、データバーB6、スペースバーB7、データバーB8、パリティバーB9、ストップバーB10を有して構成されている。なお、各バーは均一の固定幅で構成されているものとするが、その幅は任意に設定可能であるものとする。また、各バーにおいて、黒色は「0」を、白色は「1」を示している。なおここで、白色とは印刷部17による記録により白色が記録用紙Pに着色された状態、或いは、記録用紙Pに記録が行われない無着色の状態を含めた意味で用いる。
スタートバーB1は「01」で示されており、ストップバーB10は「10」で示されている。また、このスタートバーB1とストップバーB10との間に、データバーB2「0100」、スペースバーB3「1」、データバーB4「0000」、スペースバーB5「1」、データバーB6「0110」、スペースバーB7「1」、データバーB8「001」、パリティバーB9「1」が配置されている。
本例では、数値データ「64」及び「49」がそれぞれ入力された場合を例示しており、データバーB2及びB4からなるデータバー部(以下、D1という)「01000000」により「64」が、データバーB6及びB8からなるデータバー部(以下、D2という)「0110001」により「49」がそれぞれ示されている。また、各データバー部D1、D2は、マーカー部Mの幅より小さくなるよう、所定のデータ群毎にスペースバーB3及びB7が挿入されている。スペースバーB5は、データバー部D1とD2とを区別するために挿入されたスペースバーであって、入力される数値データの区切毎に挿入されるものとする。
パリティバーB9は、バーコードBに含まれる「0」(黒色バー)の総数が偶数か奇数かを示すものであって、偶数の場合には「1」(白色バー)、奇数の場合には「0」(黒色バー)で表されている。図3においては、スタートバーB1からデータバーB8までのバーについてのパリティコードが導出された場合を示しているため、偶数となり「1」を示す白色バーとなっている。なお、本実施の形態では、スタートバーB1を含めることとしたが、これに限らず、スタートバーB1を除いたデータバーB2〜データバーB8の間のパリティコードに基づいてパリティバーB9を表すこととしてもよい。
本例では、15bitのデータを23個のバーにより表したが、後述する用紙センサ33の分解能が1.5mmであるような場合、バーコード長は34.5mmとなる。これと比較し、従来のITF規格に準拠したバーコードで同様のデータを表した場合には、75.0mmとなるため、本発明のバーコードは50%以下の長さで同データ量を表すことが可能である。
以上のように、一又は複数の数値を表すバイナリコードが、該バイナリコードに対応した固定幅からなるデータバーからなるデータバー部により表されるため、バイナリコードの桁数と対応したバー数で数値を表すことが可能となり、短いバーコード長でより多くのデータ量を表現することができる。
また、バーコードデータは、バーコード部の誤りを検出するためのパリティコードを含んでいるため、データバー部の整合性を検査することができる。
また、データバー部の幅が、マーカー部の幅より小さくなるようスペースバーが置かれるため、データバー部とマーカー部とを明確に区別することが可能となり、誤検出を防止することができる。
次に、図4を参照して上述したバーコード生成装置10で生成されたバーコードを読み取るバーコード読取装置を備えた印字装置20について説明する。
図4に、印字装置20の概略図を示す。
印字装置20は、旅券等の発券業務に用いられる印字装置であって、図4に示すように、プラテンローラ31、印字部32、用紙センサ33等を有して構成されている。記録用紙Pはロール状に巻かれて保持されており、この記録用紙Pの表面に発券業務に係る発券情報が記録されるものとする。また、記録用紙Pの裏面には、発券の記録管理等に用いるための情報が上述したバーコード(マーカーを含む)の態様で連続的に記録されているものとし、各バーコードはそれぞれ異なる情報を有して形成されているものとする。なお、本実施の形態では、記録用紙Pの裏面にバーコードが記録されているものとしたが、これに限らず、記録用紙Pの表面に記録されていてもよいものとする。
プラテンローラ31は、ステッピングモータ34(図5参照)等からなる搬送手段により図中矢印方向に回転運動されることにより、記録用紙Pを印字部32の印字解像度である1ドットライン単位で搬送することが可能となっている。
印字部32は、1ドットライン毎に搬送される記録用紙Pの表面に対し、所定の発券情報を記録(印字)することで発券を行う。この発券情報の記録開始位置は、後述する裏面用紙センサ33bにより検出される記録用紙Pの裏面に存在するマーカーに基づいて決定され、該マーカー開始位置から次のマーカー開始位置迄に対応する記録用紙Pの表面の領域に、発券情報が記録されるようになっている。なお、本実施の形態では、印字部32は、感熱により記録を行うサーマルヘッドとするが、これに限らないものとする。
用紙センサ33は、表面用紙センサ33aと裏面用紙センサ33bとから構成される。
表面用紙センサ33aは、フォトカプラ、フォトインタラプタ等の光センサであって、記録用紙Pの搬入を検出し、この検出信号を後述するセンサ読取値出力部28を介してCPU21(図5参照)に出力する。
裏面用紙センサ33bは、表面用紙センサ33aと同様、フォトカプラ、フォトインタラプタ等の光センサであって、記録用紙Pの搬入を検出し、後述するセンサ読取値出力部28を介してCPU21(図5参照)に出力する。また、裏面用紙センサ33bは、該裏面用紙センサ33b上を通過する記録用紙Pの裏面に記録されたマーカー及びバーコードの白黒パターンによる反射光を検出し、検出信号として後述するセンサ読取値出力部28を介してCPU21(図5参照)に出力する。
次に、図5を参照して、印字装置20の機能的構成について説明する。
図5に示すように、印字装置20は、CPU21、操作部22、表示部23、ROM24、RAM25、印字ラインバッファ26、印字ライン制御部27、センサ読取値出力部28、プリンタ部29等を有して構成されている。
CPU21は、RAM25の所定領域を作業領域として、ROM24に予め記憶されている各種制御プログラムを実行し印字装置20を構成する各部の動作を制御する。またCPU21は、操作部22を介して入力される制御信号に従いながらROM24に記録されたアプリケーションプログラムを読出・実行して印字装置20の各種機能を実現するようになっている。
また、CPU21は、プリンタ部29の用紙センサ33(裏面用紙センサ33b)から出力されるセンサ出力値に基づいて、記録用紙Pに記録されたマーカーが検出されたと判定すると、印字ライン制御部27を制御して記録用紙Pの表面に発券情報の印字を行う。
また、CPU21は、プリンタ部29の用紙センサ33(裏面用紙センサ33b)から出力されるセンサ出力値をRAM25に記憶させ、この記憶されたセンサ出力値に基づいてバーコードデータに含まれるデータバー部のデコードを実施する。そして、このデコードした値を、当該バーコードデータの読み取り時に印字した発券情報と対応付けてRAM25に記憶する。
操作部22は、文字入力キー,数字入力キーその他各種機能に対応付けられたキーを備えたキーボード等を含み、ユーザによるキー操作で押下されたキーに対応する押下信号をCPU21に出力する。
表示部23は、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)等から構成されており、CPU21から入力された表示データに基づいてディスプレイ上に画像を表示する。
ROM24は、印字装置20にかかるシステムプログラムやアプリケーションプログラム、本実施形態を実現するためのプログラムやデータ等を記憶する。なお、記録用紙Pに記録されたバーコードが予め定められた規約に基づいて構成されている場合、該規約に関する設定データがROM24に記憶されるものとする。
RAM25は、CPU21によって実行される各種プログラム及びこれらプログラムに関わるデータを一時的に記憶するワークエリアを形成する。また、RAM25は、CPU21から出力される用紙センサ33のセンサ出力値を記憶する。また、RAM25は、CPUから出力されるデータバー部のデコード値と、発券情報とを対応付けて記憶する。
印字ラインバッファ26は、CPU21から出力される印字データを一時的に記憶し、印字ライン制御部27の制御に応じて該印字データをプリンタ部29に出力する。
印字ライン制御部27は、印字ラインバッファ26に記憶された印字データを、1ドットライン毎にプリンタ部29に出力させ、ステッピングモータ34の動作と同期させて印字部32を発熱させることで1ドットラインの印字を行う。
また、印字ライン制御部27は、プリンタ部29による1ドットラインの印刷毎に、印字終了を旨する信号をCPU21に出力する。
センサ読取値出力部28は、プリンタ部29の用紙センサ33から出力される検出信号に対しA/D変換等の所定の信号処理を施した後、センサ出力値としてCPU21に出力する。
プリンタ部29は、上述した印字部32、用紙センサ33、ステッピングモータ34を有しており、印字ライン制御部27の制御に応じて記録用紙Pの搬送、印字を行う。
次に、図6を参照して、印字装置20で実行されるバーコード読取処理について説明する。なお、図6は印字装置20のCPU21と、ROM24に記憶された所定のプログラムとの協働によるソフトウェア処理により実行される処理を示している。
まず、ユーザにより操作部22を介して発券を行う旨の信号が入力されると、この信号に基づいて記録用紙Pが搬送されるとともに、用紙センサ33(裏面用紙センサ33b)から出力されるセンサ出力値に基づいて、記録用紙P裏面のマーカー部が検出されるとともに、当該マーカー部後方から発券情報の印字が開始され(ステップS21)、印字ラインインデックス(以下、インデックスという)nが0に初期化される(ステップS22)。なお、このインデックスは、プリンタ部29による1ドットライン毎の印字回数に対応している。
次いで、用紙センサ33のセンサ出力値が取得され(ステップS23)、このセンサ出力値がインデックスnと対応付けてRAM25に記憶される(ステップS24)。
そして、印字部32が制御されて記録用紙Pに1ライン印字(1ラインフィード)されて(ステップS25)、印字ライン制御部27から1ドットラインの印字終了を旨する信号が入力されると、インデックスnに1がインクリメントされる(ステップS26)。
続いて、発券情報の印字が全て終了したか否かが判定され、終了していないと判定された場合には(ステップS27;No)、ステッピングモータ34が制御されて記録用紙Pが1ドットライン搬送されるとともにステップS23に再び戻る。
一方、ステップS27において、発券情報の印字が全て終了したと判定された場合には(ステップS27;Yes)、ステップS28に移行し、RAM25に記憶されたセンサ出力値を細分化するデータ細分化処理が行われる(ステップS28)。
ここで、図7を参照して、ステップS28のデータ細分化処理について説明する。
本データ細分化処理では、各インデックス間のサンプリング間隔を細分化することで、RAM25に記憶された各センサ出力値間の値の近似補正値を導出し仮想的に増加させる。なお、本実施の形態では、各インデックス間のサンプリング間隔を10分割することとしたが、これに限らず、任意の数で分割することとしてもよい。
本処理の前提として、RAM25に記憶された各センサ出力値が、インデックスの昇順で順次読み込まれるものとする。
まず、細分化処理の対象となる最初のインデックスn(例えば、n=0)と、次のインデックスn+1(例えば、n=1)とにそれぞれ対応するセンサ出力値Vn、Vn+1が取得され(ステップS281)、細分化の際の指標となる分割数iの値が1に初期化される(ステップS282)。
次いで、インデックスnのセンサ出力値Vnと、次のインデックスn+1のセンサ出力値Vn+1との差分値D(D=(Vn+1)−(Vn))が導出されて(ステップS283)、分割数iの値が10を下回っているか否かが判定される(ステップS284)。
ここで、分割数iの値が10を下回っていると判定された場合には(ステップS284;Yes)、この分割数iにおける近似補正値Viが、Vi=Vn+(D×i/10)の関係式に基づいて導出され(ステップS285)、この近似補正値Viと分割数iとが対応付けてRAM25に記憶される(ステップS286)。なお、分割数iは、細分化対象となったインデックスと対応付けられているものとする。例えば、インデックス1、2間の近似補正値が導出された場合には、各インデックス値に10が乗算されて10、20とされた後、このインデックス間における分割数iが11〜19のインデックスとされ、各分割数に対応する近似補正値がセンサ出力値として記憶されることとしてもよい。
次いで、分割数iに1がインクリメントされて(ステップS287)、ステップS284に再び戻る。
一方、ステップS284において、分割数iの値が10以上と判定された場合には(ステップS284;No),ステップS288に移行して全てのインデックスにおいて細分化処理が完了したか否かが判定され、完了していないと判定された場合には(ステップS288;No)、次のインデックスn+1が細分化対象の最初のインデックスnに設定されて(ステップS289)、ステップS281に再び戻る。また、ステップS288において全てのインデックスについて完了したと判定された場合には(ステップS288;Yes)、本処理は終了し、図6のステップS29に移行する。
このように、センサ出力値のサンプリング間隔を所定数で細分化し、当該細分化された間隔位置に対応する近似補正値をセンサ出力値として導出するため、センサ出力値数を仮想的に増加させることが可能であり、センサ出力値の丸め誤差を小さくすることができる。
図6に戻り、RAM25に記憶された全てのセンサ出力値に基づいて、当該センサ出力値の最小極大値と最大極小値とを特定する極値特定処理(ステップS29)が行われる。
ここで、図8及び図9を参照して、ステップS29の極値特定処理について説明する。
図8は、RAM25に記憶された全センサ出力値の一例を示す図である。
同図において、Vaは最小極大値を示しており、極大値(上に凸)となる変極点において最小の値を意味している。また、同様にVbは最大極小値を示しており、極小値(下に凸)となる変極点において、最大の値を意味している。なお、ここで極大値は、バーコードBにおける白色領域を意味しており、極小値は黒色領域を意味している。
図9は、極値特定処理を説明するためのフローチャートである。
本処理の前提として、RAM25に記憶された各センサ出力値が、インデックスの昇順で順次読み込まれるものとする。なお、本処理におけるセンサ出力値は、上記データ細分化処理(ステップS28)で細分化されたセンサ出力値を含むものとするが、これに限らず、細分化されたセンサ出力値を含めないこととしてもよい。
まず、RAM25に記憶されたセンサ出力値が読み込まれると(ステップS2911)、今回読み込まれたセンサ出力値と、前回読み込まれたセンサ出力値との差分が導出され、この差分値に基づいて値の増減傾向が判定される(ステップS2912)。
以下、本処理における一連の処理のうち、最小極大値が特定される際の処理の流れを説明する。
ステップS2912において、前回センサ出力値と比較し増加したと判定された場合には(ステップS2912;U)、減少カウントが所定の値(例えば、「5」)を上回っているか否かが判定され、所定値以下であると判定された場合には(ステップS2913;No)、減少カウントが0に初期化されるとともに(ステップS2914)、増加カウントが1インクリメントされ(ステップS2915)、該増加カウントが所定値を上回ったか否かが判定される(ステップS2916)。なお、ステップS2913及びステップS2916の判断の基準となる所定値は、任意に設定可能であるものとするが、サンプリングポイント数(細分化後の数を含む)を超えないことが好ましい。
ステップS2916において、増加カウントが所定値を上回っていると判定された場合には(ステップS2916;Yes)、現在のセンサ出力値が極大値としてRAM25に記憶された後(ステップS2917)、ステップS2918に移行する。また、ステップS2916において、増加カウントが所定値を以下であると判定された場合には(ステップS2916;No)、直ちにステップS2918に移行する。
ステップS2918では、RAM25に記憶された全てのセンサ出力値について、本処理が終了したか否かが判定され、終了していないと判定された場合には(ステップS2918;No)、ステップS2911に戻り、次のセンサ出力値が読み込まれる。つまり、センサ出力値が増加傾向である場合には、ステップS2914〜ステップS2917が繰返し行われるようになっている。ここで、全てのセンサ出力値について、本処理が終了したと判定された場合には(ステップS2918;Yes)、図6のステップS30へと移行する。
次いで、ステップS2912において、今回読み込まれたセンサ出力値が、前回読み込まれたセンサ出力値より減少したと判定された場合には(ステップS2912;D)、増加カウントが所定の値を上回っているか否かが判定される(ステップS2919)。ここで、所定値を以下であると判定された場合には(ステップS2919;No)、ステップS2923に移行する。
ステップS2919において、所定値を上回っていると判定された場合には(ステップS2919;Yes)、極大値と後述する最大最小値との差分値が所定の値を上回っているか否かが判定され、所定値以下であると判定された場合には(ステップS2920;No)、ステップS2923に移行する。また、極大値と最大最小値との差分値が所定値を上回っていると判定された場合には(ステップS2920;Yes)、この最大値と後述する最小極大値との差分値が比較され、極大値が最小極大値を上回っていると判定された場合に(ステップS2921:No)、ステップS2924に移行する。
一方、ステップS2921において、極大値が最小極大値を下回っていると判定された場合には(ステップS2921;Yes)、該極大値が最小極大値としてRAM25に記憶された後(ステップS2922)、ステップS2923に移行する。
上述した処理が、全てのセンサ出力値において行われることにより、最小極大値が特定される。なお、ステップS2920において、極大値と最大極小値との比較を行ったが、例えば、極大値が最大極小値を上回ること(極大値>最大極小値)等を条件に判定が行われるものとする。極大値が最大極小値の値を下回るような場合には、該極大値はノイズ等の検出誤差と考えられるため、このような、ステップS2920の判定を行うことにより、検出誤差を取り除くことができる。
次に、本処理における一連の処理のうち、最大極小値が特定される際の処理の流れを説明する。
ステップS2912において、前回センサ出力値と比較し減少したと判定された場合には(ステップS2912;U)、増加カウントが所定の値を上回っているか否かが判定され、所定値以下であると判定された場合には(ステップS2919;No)、増加カウントが0に初期化されるとともに(ステップS2923)、減少カウントが1インクリメントされ(ステップS2924)、該減少カウントが所定値を上回ったか否かが判定される(ステップS2925)。なお、ステップS2919において、増加カウントが所定値を上回ったと判定された場合には、ステップS2920に移行することは上述したとおりである。
ステップS2925において、減少カウントが所定値を上回っていると判定された場合には(ステップS2925;Yes)、現在のセンサ出力値が極小値としてRAM25に記憶された後(ステップS2926)、ステップS2927に移行する。また、ステップS2925において、減少カウントが所定値を以下であると判定された場合には(ステップS2925;No)、直ちにステップS2918に移行する。つまり、センサ出力値が減少傾向である場合には、ステップS2923〜ステップS2926が繰返し行われるようになっている。
次いで、ステップS2912において、今回読み込まれたセンサ出力値が、前回読み込まれたセンサ出力値より増加したと判定された場合には(ステップS2912;U)、減少カウントが所定の値を上回っているか否かが判定され、所定値を上回っていると判定された場合には(ステップS2913;Yes)、ステップS2927に移行する。なお、ステップS2913において、減少カウントが所定値以下と判定された場合には(ステップS2913;No)、ステップS2914に移行することは上述したとおりである。
ステップS2927では、極小値と最小極大値との差分値が所定の値を上回っているか否かが判定され、所定値以下であると判定された場合には(ステップS2927;No)、ステップS2914に移行する。
また、ステップS2927において、極小値と最小極大値との差分値が所定値を上回っていると判定された場合には(ステップS2927;Yes)、極小値と最大極小値との差分値が比較され、極小値が最大極小値を下回っていると判定された場合には(ステップS2928:No)、ステップS2913に移行する。
一方、ステップS2928において、極小値が最大極小値以上であると判定された場合には(ステップS2928;Yes)、該極小値が最大極小値としてRAM25に記憶された後(ステップS2929)、ステップS2913に移行する。
上述した処理が、全てのセンサ出力値において行われることにより、最大極小値が特定される。なお、ステップS2927において、極小値と最小極大値との比較を行ったが、例えば、極小値が最小極大値を上回ること(極小値<最小極大値)等を条件に判定が行われるものとする。極小値が最小極大値の値を上回るような場合には、該極小値はノイズ等の検出誤差と考えられるため、このような、ステップS2927の判定を行うことにより、検出誤差を取り除くことができる。
ステップS2912において、今回読み込まれたセンサ出力値が、前回読み込まれたセンサ出力値と等しいと判定された場合には(ステップS2912;E)、ステップS2918に直ちに移行し、RAM25に記憶された全てのセンサ出力値について、本処理が終了したか否かが判定される。ここで、全てのセンサ出力値について、本処理が終了したと判定された場合には(ステップS2918;Yes)、図6のステップS30へと移行する。
図6に戻り、ステップS30では、ステップS29で特定されたセンサ出力値の最小極大値と、最大極小値との平均値が、平均値=((最小極大値)+(最大極小値))/2の関係式から導出され、この平均値がバーコードデータの白黒を判定する際の閾値として設定される(ステップS30)。このように、センサ出力値の最小極大値と最大極小値とに基づいて前記閾値を決定するため、読み取り精度に応じた値を白色又は黒色パターン判定の際の閾値とすることができる。
次いで、ステップS29においてRAM25に記憶されたセンサ出力値の極小値のうち、最初に検出された極小値と、最後に検出された極小値とに対応するインデックスが読み出される(ステップS31)。この最初に検出された極小値に対応するインデックス値(以下、Lsという)は、図3に示したバーコードBのスタートバー(黒色バー)の中央に位置する印字ライン数と対応している。また、最後に検出された極小値に対応するインデックス値(以下、Llという)は、ストップバー(黒色バー)の中央に位置するインデックス値と対応している。
続いて、LsからLlまでに存在する実際に検出されたセンサ出力値の総数Tが、T=Ll−Lsの関係式に基づいて導出され、このTの値に対しステップS28で細分化した際の分割数「10」が乗じられることで、近似補正値を含めたセンサ出力値の総数Tbが導出される(ステップS32)。なお、本処理では、ステップS28において10分割したことから10が乗じられることになるが、他の値で分割した際には、その分割した値が乗じられることは言うまでもない。また、分割数に対応するよう、インデックス値に対し分割数が既に乗じられているような場合には、LsとLlの差分を導出することで、近似補正値を含めたセンサ出力値の総数Tbを直ちに導出することとしてもよい。
次いで、総数Tbの値が、バーコードBに含まれるバーの数Bnで除算されることで、各バーの幅に対応するインデックス数Bwが導出される(ステップS33)。そして、このBwの値に基づいて、LsからLlまでに含まれる各バーのパターンが、白色又は黒色であるかが判別される(ステップS34)。
図10を参照して、ステップS34の白黒判別処理について説明する。
図10は、Bwの値が120であった場合の白黒判別を示した図である。
同図に示すように、スタートバーB1の中央位置に対応するインデックス「0」を判定開始位置として、当該開始位置から120毎に加算したインデックス値に対応する位置のパターンが白色又は黒色であるかが、ステップS31で導出された閾値に基づいて判別される。
このスタートバーB1の中央位置に対応するインデックス「0」に対し、Bwの値毎に加算されたインデックス値は、各バーの中央位置に対応しているため、各バーの白黒判定を確実に行うことが可能となる。
図6に戻り、ステップS35で判定された結果からバーコードBに含まれる各バーが表すバイナリ値が導出され、該バーコードBに含まれるパリティバーが表すパリティコードに基づいて、当該バーコードBのデータの整合性が検査される(ステップS35)。ここで、正常であると判定された場合には(ステップS35;Yes)、データバーのデコードが行われ(ステップS36)、本処理は終了する。
一方、ステップS35において、誤りが検出されたと判定された場合には(ステップS35;No)、表示部23にバーコードBの異常を旨する画面が表示された後(ステップS37)、データバー部のデコードが行われ(ステップS36)、本処理は終了する。
なお、ステップS36でデコードされたデータは、本処理で記録用紙Pに記録された発券情報と対応付けてRAM25に記憶されるものとするが、これに限らず、不図示の記憶手段又は外部の記憶装置等に記憶されることとしてもよい。このように、発券情報と、当該発券情報に対応するバーコードデータのデータバー部に表された情報と、を対応付けて記憶するため、発券の記録管理を行うことができる。
以上のように、本実施形態によれば、バーコードデータが記録された記録媒体を所定の位置間隔毎に搬送する際に、バーコードデータを検出し、当該バーコードデータを形成する各バーの中央位置に対応するセンサ出力値と所定の閾値とを比較して、各バーが白色パターン又は黒色パターンであるかを判別し、この判別された結果に基づいて、バーコードデータに含まれたデータバー部をデコードする。これにより、各バーの中央位置に対応するセンサ出力値に基づいて白色又は黒色パターンの判別を行うため、確実に判別することが可能であり、読み取り精度を向上させることができる。
また、記録媒体に記録されたマーカー部後方に発券情報の印字を行うとともに、バーコード読取装置により当該マーカー部後段に記録されたバーコード部の読み取りを行うことが可能であるため、バーコードの読み取りと発券情報の印字とを同時に行うことができる。
また、発券情報と、当該発券情報に対応するバーコードデータのデータバー部に表された情報と、を対応付けて記憶するため、発券の記録管理を行うことができる。
上記実施形態における記述は、本発明の一例を示すものであり、これに限定されるものではない。本実施形態の細部構成及び詳細動作に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
バーコード生成装置の機能的構成を示すブロック図である。 バーコード生成処理を説明するためのフローチャートである。 バーコード生成処理により生成されたバーコードの一例を示す図である。 印字装置の概略構成を示す図である。 印字装置の機能的構成を示すブロック図である。 バーコード読取処理を説明するためのフローチャートである。 データ細分化処理を説明するためのフローチャートである。 センサ出力値の一例を示す図である。 極値特定処理を説明するためのフローチャートである。 白黒判定処理を説明するための図である。
符号の説明
10 バーコード生成装置
11 CPU
12 操作部
13 表示部
14 ROM
15 RAM
16 記憶部
17 印刷部
18 バス
20 印字装置
21 CPU
22 操作部
23 表示部
24 ROM
25 RAM
26 印字ラインバッファ
27 印字ライン制御部
28 センサ読取値出力部
29 プリンタ部
31 プラテンローラ
32 印字部
33 用紙センサ
33a 表面用紙センサ
33b 裏面用紙センサ
34 ステッピングモータ
P 記録用紙

Claims (5)

  1. 裏面にバーコードが印刷された記録用紙に発券情報を印字する印字装置であって、
    前記発券情報を入力する操作手段と、
    前記操作手段により入力された発券情報を表示する表示手段と、
    前記記録用紙を搬送する搬送手段と
    前記記録用紙のバーコードを検出する用紙センサ手段と、
    前記記録用紙に印字情報を印字する印字手段と、
    前記搬送手段により前記記録用紙を予め決められた位置間隔毎に搬送させ、この搬送に同期して、前記記録用紙のバーコードを、前記予め決められた位置間隔毎に、前記用紙センサ手段により検出させると共に、前記操作手段により入力された発券情報を、前記予め決められた位置間隔毎に、前記印字手段により前記記録用紙の表面に印字させることにより、前記バーコードの検出を完了させると同時に、前記発券情報の印字を完了させる制御手段と、
    を具備する印字装置。
  2. 前記制御手段は、前記搬送手段により前記記録用紙を前記印字手段の印字解像度に対応する予め決められた位置間隔毎に搬送させる請求項1記載の印字装置。
  3. 前記制御手段は、前記記録用紙に印刷されたマーカー部を前記用紙センサ手段により検出させると共に、前記検出されたマーカー部から次に検出されるマーカー部までの領域に、前記印字手段により前記記録用紙に前記発券情報を印字させる請求項1記載の印字装置。
  4. 前記制御手段は、前記印字手段に印字させた前記発券情報と、前記用紙センサ手段により検出させた前記バーコードとを対応付けて記憶手段に記憶させる請求項1記載の印字装置。
  5. 裏面にバーコードが印刷された記録用紙に発券情報を印字する印字装置に備えられるコンピュータを、
    前記発券情報を入力する操作手段
    前記操作手段により入力された発券情報を表示する表示手段、
    前記記録用紙を搬送する搬送手段、
    前記記録用紙のバーコードを検出する用紙センサ手段、
    前記記録用紙に印字情報を印字する印字手段、
    前記搬送手段により前記記録用紙を予め決められた位置間隔毎に搬送させ、この搬送に同期して、前記記録用紙のバーコードを、前記予め決められた位置間隔毎に、前記用紙センサ手段により検出させると共に、前記操作手段により入力された発券情報を、前記予め決められた位置間隔毎に、前記印字手段により前記記録用紙の表面に印字させることにより、前記バーコードの検出を完了させると同時に、前記発券情報の印字を完了させる制御手段、
    として機能させるためのプログラム。
JP2005079523A 2005-03-18 2005-03-18 印字装置及びプログラム Active JP4725148B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005079523A JP4725148B2 (ja) 2005-03-18 2005-03-18 印字装置及びプログラム
EP06290418A EP1703446B1 (en) 2005-03-18 2006-03-15 Printing apparatus
AT06290418T ATE470200T1 (de) 2005-03-18 2006-03-15 Druckvorrichtung
DE602006014611T DE602006014611D1 (de) 2005-03-18 2006-03-15 Druckvorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005079523A JP4725148B2 (ja) 2005-03-18 2005-03-18 印字装置及びプログラム

Publications (3)

Publication Number Publication Date
JP2006260396A JP2006260396A (ja) 2006-09-28
JP2006260396A5 JP2006260396A5 (ja) 2008-04-10
JP4725148B2 true JP4725148B2 (ja) 2011-07-13

Family

ID=36571472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005079523A Active JP4725148B2 (ja) 2005-03-18 2005-03-18 印字装置及びプログラム

Country Status (4)

Country Link
EP (1) EP1703446B1 (ja)
JP (1) JP4725148B2 (ja)
AT (1) ATE470200T1 (ja)
DE (1) DE602006014611D1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5121568B2 (ja) * 2008-05-21 2013-01-16 日立オムロンターミナルソリューションズ株式会社 包装硬貨処理機
RU2011144680A (ru) * 2009-04-08 2013-05-20 Континенталь Тевес Аг & Ко. Охг Двухмерный символьный код и способ считывания символьного кода
JP5321610B2 (ja) * 2011-02-04 2013-10-23 カシオ計算機株式会社 スキャナ装置及びプログラム
JP6056444B2 (ja) * 2012-12-17 2017-01-11 カシオ計算機株式会社 バーコード読取装置、バーコード読取方法、バーコード読取プログラム及び印字装置
JP2016031665A (ja) * 2014-07-29 2016-03-07 グローリー株式会社 貨幣交換装置および貨幣パック

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3811033A (en) * 1971-06-29 1974-05-14 Monarch Marking Systems Inc Coded record interpreting system
NL120305C (ja) * 1981-02-16
US4567361A (en) * 1983-05-23 1986-01-28 Gca Corporation Reticle bar code and method and apparatus for reading same
JPS61272176A (ja) * 1985-05-28 1986-12-02 Tokyo Electric Co Ltd ラベルプリンタ
US6062481A (en) * 1986-04-18 2000-05-16 Cias, Inc. Optimal error-detecting, error-correcting and other coding and processing, particularly for bar codes, and applications therefor such as counterfeit detection
JPH07101437B2 (ja) * 1988-06-21 1995-11-01 アルプス電気株式会社 符号読取装置
JPH056453A (ja) * 1991-03-26 1993-01-14 Tokyo Electric Co Ltd ハンデイスキヤナー
JPH0577530A (ja) * 1991-09-18 1993-03-30 Kanzaki Paper Mfg Co Ltd プリンタ
JPH0662196A (ja) * 1992-08-05 1994-03-04 Omron Corp スキャナプリンタ
JP3209005B2 (ja) * 1994-08-18 2001-09-17 松下電器産業株式会社 携帯端末装置
DE69606076T2 (de) * 1995-03-02 2000-08-31 Scitex Digital Printing Inc Bildkompensation mittels gedruckter Referenzmarken
EP1105836B1 (de) * 1998-08-13 2002-07-24 Océ Printing Systems GmbH Drucksystem zum bedrucken eines aufzeichnungsträgers mit zwei druckern sowie verfahren zum betrieb eines derartigen drucksystems
JP2000127551A (ja) * 1998-08-17 2000-05-09 Fuji Photo Film Co Ltd プリンタ及び記録用紙
US6210054B1 (en) * 1999-08-03 2001-04-03 Intermec Ip Corp. Method for applying printer registration marks to linerless label stock
US6993507B2 (en) * 2000-12-14 2006-01-31 Pacific Payment Systems, Inc. Bar coded bill payment system and method

Also Published As

Publication number Publication date
EP1703446B1 (en) 2010-06-02
DE602006014611D1 (de) 2010-07-15
JP2006260396A (ja) 2006-09-28
ATE470200T1 (de) 2010-06-15
EP1703446A1 (en) 2006-09-20

Similar Documents

Publication Publication Date Title
CN103516952B (zh) 图像处理装置、图像处理系统以及打印方法
JP4725148B2 (ja) 印字装置及びプログラム
EP2575024B1 (en) Print data processing apparatus, a print data processing method, a printing system and program, a page data creating apparatus, and a rasterization processing apparatus
JP2008305137A (ja) バーコード生成システム、バーコード生成プログラムおよび印刷装置
JP2023099579A (ja) 情報処理装置、記録装置、情報処理方法、及びプログラム
US9224275B2 (en) Media processing method using multiple processing units for performing multiple processes
JP6986948B2 (ja) プリンタ装置
JP2014002697A (ja) 画像処理装置、画像処理システムおよび印刷方法
JP2012111216A (ja) プリンターおよびグラフィックスデータ登録方法
JP4835689B2 (ja) 印刷装置、コンピュータプログラム及び印刷方法
EP1607226B1 (en) Printing controller and printing control program
JP2005326940A (ja) グラフ作成装置、プログラムおよび記録媒体
US20170180581A1 (en) Information processing apparatus, image reading apparatus, information processing method, and non- transitory computer readable medium
JPS63272145A (ja) ダンプ出力装置
KR100260904B1 (ko) 잉크젯 복합기의 독립적인 상태에서의 인쇄 수직 정렬 방법
JP2003050971A (ja) フォント選択プログラム、画像処理装置及び画像形成装置
KR101092552B1 (ko) 화상형성장치 및 이에 연결된 호스트장치
JPH09169131A (ja) マルチラインサーマルプリンタの転送制御方式
US20040017578A1 (en) Method of detecting bad dots in print zone
JPS63272144A (ja) 出力制御装置
JPH1058787A (ja) 印刷処理方法および装置
JP2007173948A (ja) 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム
JP3561000B2 (ja) バーコード印刷方法
JP2009277006A (ja) 情報処理装置、文書管理システム、情報処理システム、及びプログラム
JP2009224974A (ja) 画像処理装置、画像処理システム及び画像処理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110328

R150 Certificate of patent or registration of utility model

Ref document number: 4725148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3