JP3516474B2 - フイルムカートリッジ用バーコード読取り装置 - Google Patents

フイルムカートリッジ用バーコード読取り装置

Info

Publication number
JP3516474B2
JP3516474B2 JP00791294A JP791294A JP3516474B2 JP 3516474 B2 JP3516474 B2 JP 3516474B2 JP 00791294 A JP00791294 A JP 00791294A JP 791294 A JP791294 A JP 791294A JP 3516474 B2 JP3516474 B2 JP 3516474B2
Authority
JP
Japan
Prior art keywords
photoelectric signal
bar code
photoelectric
variable
value
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.)
Expired - Fee Related
Application number
JP00791294A
Other languages
English (en)
Other versions
JPH07218972A (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.)
Fujifilm Holdings Corp
Original Assignee
Fuji Photo Film 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 Fuji Photo Film Co Ltd filed Critical Fuji Photo Film Co Ltd
Priority to JP00791294A priority Critical patent/JP3516474B2/ja
Publication of JPH07218972A publication Critical patent/JPH07218972A/ja
Application granted granted Critical
Publication of JP3516474B2 publication Critical patent/JP3516474B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Exposure Control For Cameras (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、フイルムカートリッジ
用バーコード読取り装置に関するものである。
【0002】
【従来の技術】フイルムカートリッジに収納されたフイ
ルム固有の情報が書き込まれた円形のバーコード板をス
プールに連動させて回転するようにしたフイルムカート
リッジ及びそのバーコードを識別するカメラが考案され
ている(例えば、米国特許第5,049,912号)。
回転するバーコード板には、交互に並べられた幅広また
は、幅狭の白(スペース)黒(バー)のバーコードと、
バーコードのデータの区切りを表すブラッククワイエッ
トゾーンとから構成されるパターンとなっており、この
バーコードの配列,パターンをカメラ側に設けられた反
射型のホトセンサで読取って、論理「1」または「0」
を判断するものがある。
【0003】ところで、このパターンの幅を正確に読み
取るには、バーコード板からの反射光を検知したホトセ
ンサの光電信号の信号幅を正確に判断する必要がある。
例えば、光電信号の振幅の中心値を信号変化の判断基準
(しきい値)とし、光電信号の信号幅を求め、バー及び
スペースに対応した論理を与える方法がある。しかし、
光電信号の振幅は、電池の残量,バーコード板の位置,
光学センサの特性のバラつき等により、光電信号の振幅
の中心がしきい値を下回ったり、上回ったりすることが
ある。このような場合、光電信号に立ち上がり,立ち下
がり時間があるため求められる信号幅が増減してしま
い、パターンの幅を読み違えるということがあった。
【0004】このようなパータンの幅の読取り間違いを
改善するために、バー及びスペースを検出した光電信号
の振幅中心としきい値とが一致するようにコントロール
するフイルムカートリッジ用バーコード読取り装置が、
特願平5−148012号の明細書中で本出願人より提
案されている。このフイルムカートリッジ用バーコード
読取り装置では、マイクロコンピュータがA/Dポート
に入力される反射型ホトセンサの出力電圧(ホトトラン
ジスタの出力電圧)を検知する。反射型ホトセンサ内の
ホトトランジスタには、FETが接続され、エミッタ抵
抗としてのFETのソース−ドレイン間抵抗がFETの
ゲートに接続されたマイクロコンピュータによって制御
されるようになっている。また、反射型ホトセンサ内の
発光ダイオードにはドライブ用のトランジスタが接続さ
れており、このドライブ用のトランジスタをマイクロコ
ンピュータが制御することで発光ダイオードの光量を制
御できるようになっている。
【0005】そして、バーコード板を回転させて反射型
ホトセンサでバーコードを検出する。マイクロコンピュ
ータは、ホトトランジスタの出力電圧の振幅を調べ、こ
の出力電圧の最大値及び最小値又はそれらの平均値等を
抽出する。そして、出力電圧の振幅中心がしきい値と一
致するように、FETのソース−ドレイン間抵抗、また
は発光ダイオードの発光量を調整してから、信号幅を測
ってバーコードのバー及びスペースの幅を判断するよう
にしている。
【0006】一方、バーコードの区切りを示すブラック
クワイエットゾーンが、バーコード板の一部を切欠いた
形状としたものがある。これは、センサ部材例えばカメ
ラ側に設けられた機械式のスイッチが、入りこむか否か
でフイルムカートリッジに収納されたフイルムの使用状
態を識別できるようにした切欠きと、バーコードの区切
りとを兼用にしているものである。
【0007】
【発明が解決しようとする課題】ところで、ブラックク
ワイエットゾーンは、バーコードの区切りを示すために
論理上バーと同じレベルの光電信号として検出され、黒
と判断しなけらばならない。しかしながら、切欠きで形
成されたブラッククワイエットゾーンでは、その位置の
バーコード板の内側にあるフイルムカートリッジの壁面
等で反射された反射光を反射型のホトセンサが受光する
ため、バーに比べて光電信号のレベルが低くなる。した
がって、このような切欠き状に形成されたブラッククワ
イエットゾーンを有するバーコード板で、上記のように
ホトトランジスタの出力電圧の振幅を調べ、出力電圧の
振幅中心がしきい値と一致するようコントロールする
と、ブラッククワイエットゾーンを検出した光電信号も
含まれるため、バーとスペースによる光電信号の振幅の
中心よりもしきい値が低く設定されて、論理の判断を誤
るといった問題点がある。
【0008】また、ノイズのために光電信号がバーとス
ペースの変化点以外で、一時的にしきい値を越えてしま
うことがある。この場合には、バーコードの論理を正確
に判断できなくなってしまうという問題があった。
【0009】さらに、ゆっくりと変化していく光電信号
をA/D変換器等で光電信号のレベルに応じたデジタル
値に変換すると、A/D変換器等の回路特性や電圧の変
動等で、光電信号電圧と比較するしきい値レベルが僅か
に変動することがある。この変動するしきい値レベルを
光電信号と比較し、光電信号が立ち上がったか、立ち下
がったかでバーあるいはスペースを検出したかを判断す
ると、あたかも幅狭のバーとスペースを繰り返し検出し
たかのように誤動作を起こしてしまうことがある。この
場合にも、バーコードの論理を正確に判断できなくなっ
てしまうという問題があった。
【0010】本発明は上記課題を解決するためのもので
あり、ブラッククワイエットゾーンが切欠き状に形成さ
れたバーコード板のバーコード情報を正確に読み取ると
もに、読み誤りや誤動作を起こしにくいフイルムカート
リッジ用バーコード読取り装置を提供することを目的と
する。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、バーコード板に検出光を投光する投光器
と、バーコード板からの反射光を光電信号に変換するホ
トセンサと、バーコード板を1回転以上させ、その間に
得られるホトセンサからの光電信号の信号振幅を調べ、
その結果から光電信号の符号の判断基準となる前記しき
い値を決定し、この決定されたしきい値によって、バー
よりも低反射部分となるバーコードのデータの区切りを
示すブラッククワイエットゾーンを識別し、このブラッ
ククワイエットゾーンを光電検出していないときの光電
信号の信号振幅を調べ、バーコードのデータを光電検出
したときの光電信号の判断基準となるしきい値を再設定
するものである。
【0012】
【0013】ブラッククワイエットゾーンを光電検出し
ていないときの光電信号の信号振幅を調べるには、ブラ
ッククワイエットゾーンの光電検出が終了してた時点か
ら、再びブラッククワイエットゾーンを光電検出が開始
されるまでの範囲で一定角度バーコード板が回転してい
る間に、光電信号の信号振幅を調べるようするのが簡便
である。
【0014】また、しきい値は、光電検出が高反射部分
から低反射部分に移る時の光電信号の符号変化の判断基
準とされる第1のしきい値と、光電検出が低反射部分か
ら高反射部分に移る時の光電信号の符号変化の判断基準
とされる第2のしきい値とを異なるように設定するのが
よい。第1と第2のしきい値は、第1のしきい値と低反
射部分を光電検出したときの光電信号の最小値との差
は、第1のしきい値と高反射部分を光電検出したときの
光電信号の最大値との差よりも小さく、かつ第2のしき
い値と高反射部分を光電検出したときの光電信号の最大
値との差は、第2のしきい値と低反射部分を光電検出し
たときの光電信号の最小値との差よりも小さくして、設
定するのが効果的である。
【0015】さらに、しきい値の決定の際に、バーとス
ペースとブラッククワイエットゾーンを光電検出したと
きの各光電信号に有効なレベル差が得られないときに
は、投光器の発光量を調節して、各光電信号のレベル差
を最適化を図るのもよい。
【0016】
【実施例】図2はバーコード板を内蔵したフイルムカー
トリッジを示す斜視図である。カートリッジ本体1には
スプール2が回転自在に取り付けられている。スプール
2には、ネガフイルム3の一端が固定されてこれが巻き
付けられている。また、スプール2の上部には、バーコ
ード板4が固定されており、これには周方向でバーコー
ド5が記録されている。カートリッジ本体1の上部に
は、バーコード板4のバーコード5を外部に露呈するた
めの窓6が形成されている。
【0017】図3に一例を示すように、バーコード板4
にはドーナツ状の円板の一部を扇状に切り欠いたブラッ
ククワイエットゾーン7があり、残りの部分が黒い低反
射面のバーと白い高反射面のスペースの二種類の面で構
成されるバーコード5となっている。バーコード5は、
ブラッククワイエットゾーン7に接して時計周り方向に
バーコード5の先頭スペース10が、反時計周り方向に
は終端スペース11が配置されている。
【0018】バーコード5は、先頭スペース10から時
計周りで終端スペース11に接したバーまでがフイルム
カートリッジ本体10に収納されたフイルム固有の情報
を表現するデータ部になっている。このデータ部は、幅
の広いバー12と幅の狭いバー13及び幅の広いスペー
ス14と幅の狭いスペース15とから構成され、先頭ス
ペース10(図3では幅の狭いスペースになっている)
を含めて7個ずつのバーとスペースが交互に並べてあ
る。終端スペース11は、バーコード5の最後のバーの
終端を検知するために設けられている。
【0019】バーコード5は、バー13あるいはスペー
ス15のように幅狭の部分が角度(周方向に測って)1
0°になっており、バー12,スペース14のように幅
広の部分は角度で20°になっている。バー,スペース
の種類にかかわらずバー12やスペース14のように幅
広となっている部分が論理「1」を表し、バー13,ス
ペース15のように幅狭の部分が論理「0」を表す。そ
して、ブラッククワイエットゾーン7は、120°にな
っており、このブラッククワイエットゾーン7が連続的
な低反射部として検出されることでバーコード5のデー
タの区切りすなわちバーコード5のデータの開始端がわ
かるようになっている。
【0020】図4はカメラ側に設けられた上記バーコー
ド15の読取り装置の主要部の回路図である。反射式の
ホトセンサ16は、発光ダイオード17及びホトトラン
ジスタ18からなり、図示しないカメラ内でフイルムカ
ートリッジの窓6に臨む位置で配置されている。このホ
トセンサ16に流れる光電流の値は、エミッタ抵抗19
で電圧値としてとりだされ、これが光電信号として、マ
イクロコンピュータ20のA/Dポート20aに入力さ
れる。この光電信号は、マイクロコンピュータ20によ
って、所定の時間間隔でサンプリングされてからデジタ
ルに変換され、その電圧値に応じた光電信号レベルとさ
れる。発光ダイオード17は、マイクロコンピュータ2
0のD/Aポート20bに接続されて制御されるドライ
ブ用のトランジスタ21によって駆動される。
【0021】モータ22は、マイクロコンピュータ20
の出力ポート20cに接続され制御されるモータ用のド
ライバ22aで駆動される。モータ22の回転は、フイ
ルム送り機構23を介してカメラに装填されたフイルム
カートリッジのスプール2に伝達され、スプール2を回
転させる。これによって、ネガフイルム3をフイルムカ
ートリッジから送り出したり、フイルムカートリッジ内
に巻戻したりすることができる。また、モータ22には
例えばエンコーダからなる回転角検出装置24が接続さ
れている。この回転角検出装置24は、モータ22が一
定角度回転する毎に回転パルスを1個発生して、これを
マイクロコンピュータ20の割り込み入力ポート20d
に送る。マイクロコンピュータ20は、この回転パルス
を計数することでバーコード板4の回転角度を知ること
ができる。
【0022】マイクロコンピュータ20は、各種プログ
ラムが書き込まれたROMを備えており、このプログラ
ムを実行することで入力される光電信号レベルや回転パ
ルスとからしきい値の設定,ブラッククワイエットゾー
ン7の検出、バーコード5のデータの読込・解読等を行
う。また、マイクロコンピュータ20は、タイマ機能を
備えているとともに、処理に応じてバーコードの論理や
各種変数値を格納,読出しができるRAMを備えてい
る。さらに、マイクロコンピュータ20には、LCD2
5の表示画面が接続されており必要に応じてデータや案
内を表示させる。
【0023】以下に上記の読み取り装置の作用を図5〜
図12に示した処理手順のフローチャートを参照しなが
ら処理の順をおって説明する。図5のフローチャートに
示すように、カメラにフイルムカートリッジを装填する
と、マイクロコンピュータ20は、ドライブ用のトラン
ジスタ21を介して発光ダイオード17を発光させてホ
トセンサ16をONにする。そして、マイクロコンピュ
ータ20は、エラーカウンタをリセット(error_
count←0)とした後に、ドライバ22aを介して
モータ22をフイルム巻戻し方向に回転(逆転)させ
る。このエラーカウンタは何らかの理由で読み取りエラ
ーが発生した場合に再試行を行う時の試行回数を示す。
本実施例では2回まで再試行する。モータ22の回転は
フイルム送り機構23を介して、スプール2に伝達され
てスプール2がフイルム巻戻し方向に回転する。これに
よってバーコード板4は、図3中の矢印A方向に回転す
る。このとき、ネガフイルム3は、フイルムカートリッ
ジ内で回転するが、フイルムカートリッジ外には送り出
されない。
【0024】モータ20が回転すると、モータ20に接
続された回転角検出装置24からは、モータ20が一定
角回転する毎に回転パルスが発生する。割り込み処理許
可後には、マイクロコンピュータ20は、この回転パル
スが入力される毎に、割り込みをかけて変数m1,m2
の値を1ずつインクリメントして、バーコード板4の回
転角を検知する。
【0025】マイクロコンピュータ20は、ドライバ2
2aに信号を送出後、バーコード板4が回転するのを待
って(約200msec後)に、バーコードの検出の手
順を実行する。図6にバーコードの検出の手順を示すよ
うに、まずマイクロコンピュータ20は、図7に示す初
期化の手順によってバーコード検出に用いるerror
_flag,bar_count,bar_data,
space_data,m1,m2,msave,da
veの各変数を「0」に初期化するとともに、光電信号
レベルのしきい値を決定する際に用いられる変数min
とmaxを、それぞれ「255」と「0」に初期化す
る。バーコード4のデータ解読に用いられる各変数も初
期化する。さらに、割り込み処理が許可されて、回転パ
ルスが発生する毎に変数m1,m2がインクリメントさ
れるようになる。ここでbar_countは、1組の
スペース/バーがセンサを通過する毎にインクリメント
される変数である。
【0026】マイクロコンピュータ20は、ブラックク
ワイエットゾーン7をホトセンサ16が検出したときの
光電信号を含めて、光電信号の振幅を調べるために、変
数ROUNDをバーコード板4の1回転分に相当する値
としてから、しきい値設定の手順を行う。なお、この1
回転分に相当する値は、バーコード板4が1回転すると
きに得られる回転パルス数に予め設定されており、後に
変数ROUNDが変数m1と比較されることでバーコー
ド板4が1回転したかどうかが判断される。
【0027】図8に示すように、しきい値設定の手順で
は、最初に変数bar_countがリセットされる。
変数maxは得られる光電信号レベルの最大値に値を更
新していくために光電信号レベルの最低値を示す「0」
の値に、変数minは得られる光電信号レベルの最小値
に値を更新していくために光電信号レベルの最高値を示
す「255」の値にそれぞれされる。ホトセンサ16
は、回転しているバーコード板4のバーコード5で反射
された反射光を受光し、この反射光に応じた光電流が流
れる。そしてエミッタ抵抗19で光電流に応じた電圧と
してが取り出され、これが光電信号としてマイクロコン
ピュータ20に入力される。マイクロコンピュータ20
は、A/Dポート20aに入力される光電信号を所定の
時間間隔でサンプリングし光電信号レベルに変換してい
る。
【0028】マイクロコンピュータ20は、この光電信
号レベルの最新の4個分を加算した値daveを求め
る。図8に示した手順では、光電信号レベルを順次得ら
れた5個分の光電信号レベルを変数daveに加算した
後に、最初に得られた光電信号レベルを差し引くように
している。最初に得られた光電信号レベルは、変数d
0,d1,d2,d3の値をd3←d2,d2←d1,
d1←d0とすることで、変数d3に記憶される。得ら
れたdaveから光電信号レベルの平均(dave/
4)を算出し、これを変数maxとminと比較する。
dave/4が変数maxよりも大きい場合には、変数
maxをdave/4の値とし、dave/4が変数m
inよりも小さい場合には、変数minをdave/4
の値とする。なお、このときbar_countは、得
られた光電信号レベルの個数を判断するのに使用されて
いる。
【0029】そして、次の光電信号レベルが得られる
と、この光電信号レベルを変数daveに加算する。変
数daveは、再び5個分の光電信号レベルが加算され
ていることになるから、この5個分の内で一番古い光電
信号レベル(前述と同様にして、変数d3に記憶れてい
る)が差し引かれて、最新の4個分の光電信号レベルの
和となる。再びdave/4を変数maxとminと比
較し、dave/4が変数maxよりも大きい場合に
は、変数maxをこの時のdave/4の値とし、da
ve/4が変数minよりも小さい場合には、変数mi
nをこの時のdave/4の値とする。このように、次
々に得られる最新の4個分の光電信号のレベルの和の平
均と変数maxと変数minと比較し、次々に変数ma
xと変数minの値を得られる大きい値,小さい値に更
新していく。バーコード板4の1回転する間に上記手順
を繰り返し行う。
【0030】このブラッククワイエットゾーン7を検出
したときに得られる光電信号を含めて光電信号の振幅を
調べてしきい値を設定する場合には、しきい値設定の手
順が開始された時に、ホトセンサ16がバーコード5の
どの位置に対面していたかは関係なく、バーコード板4
が1回転すると、変数maxとminには、図13に説
明するようにブラッククワイエットゾーン7を検出した
光電信号レベルを含めて、バーコード板4が1回転した
時に得られる光電信号レベルの最大値と最小値になって
いると考えられる。
【0031】バーコード板4の1回転後、この変数ma
xとminを用いてブラッククワイエットゾーン7を検
出するために、2つのしきい値low_th,high
_thを決定する。これらlow_th,high_t
hは得られた変数maxとminの2:1,1:2に内
分する値(low_th=(2max+min)/3,
high_th=(max+2min)/3)とする。
【0032】ブラッククワイエットゾーン7はバーより
も低反射となるから、このように設定されたlow_t
hは、図14に示すように少なくともブラッククワイエ
ットゾーン7を検出したときの光電信号レベルよりも大
きく、かつスペースを検出した時の光電信号レベルより
も小さくなる。そしてhigh_thはスペースを検出
した時の光電信号レベルよりも小さく(当然low_t
hよりも大きく)なっている。
【0033】マイクロコンピュータ20は、このように
して求められたlow_th,high_thを用いて
ブラッククワイエットゾーンの検出の手順を行う。図9
に示すようにブラッククワイエットゾーンの検出の手順
では、バーあるいはブラッククワイエットゾーン7によ
って光電信号レベルがlow_thの値を下回った時点
から、high_thを上回るまでの間にカウントされ
る回転パルス数によって判別する。これには、まずba
r_countを「0」としてから、ネガティブエッジ
の検出を行う。
【0034】図10に示すようにネガティブエッジの検
出の手順では、マイクロコンピュータ20は、タイマを
リセット(「0」)としてから、得られる光電信号レベ
ルをlow_thと順次比較する。ホトセンサ16がバ
ーあるいはブラッククワイエットゾーン7と対面してい
る場合あるいは、対面を開始すると光電信号レベルがl
ow_thを下回る。このときの変数m1の値をいった
ん変数msaveに記憶する。そして、変数m1を
「0」にリセットする。さらに一定時間経過後(約3m
sec後)に、光電信号レベルがlow_thを下回っ
ているかどうかを再度調べる。この時に得られた光電信
号レベルがlow_thを下回っていれば、先に検出さ
れたlow_th以下の光電信号レベルはバーあるいは
ブラッククワイエットゾーン7をホトセンサ16が検出
して得られたものと判断する。そして、変数m2を変数
m1の値としてからしてポジティブエッジの検出を行
う。この変数m2を変数m1の値とする意味については
後述する。
【0035】しかし、一定時間経過後に、光電信号レベ
ルがlow_thを下回っていなった場合には、ノイズ
等による読み間違えであると判断して、変数m1に変数
m2の値を代入した後に、前段のlow_thを下回っ
ているかどうかを調べる処理から行う。変数m1はバー
あるいはブラッククワイエットゾーン7を検出したと考
えられるときにリセットされ、以後のスペースによるポ
ジティブエッジが検出されるまでの回転パルス数を計数
するものである。しかし、再度光電信号レベルとlow
_thと比較して、バーあるいはブラッククワイエット
ゾーン7を検出したものでないと判断したときに、先に
low_thを下回ったときにリセットされていない変
数m2をこのように変数m1の値とすることで、後述す
るスペースを検出しているときに得られる回転パルス数
を、あたかも変数m1が継続して計数しているようにす
るためである。
【0036】また、このように光電信号レベルを2回l
ow_thと比較することで、バーあるいはブラックク
ワイエットゾーン7をノイズ等の影響を受けずに正確に
検出し、判別することができる。なお、ネガティブエッ
ジの検出においては、2sec経過後も上記のようにし
て、バーあるいはブラッククワイエットゾーン7による
ネガティブエッジが検出できなかった場合には、err
or_flagに所定の値を与え、後述するエラー処理
がされる。
【0037】図11に示すように、ポジティブエッジの
検出の手順では、タイマをリセット(「0」)としてか
ら、次々に得られる光電信号レベルをhigh_thと
比較する。そして、ホトセンサ16が前記のようにして
バーを検出した後に、スペースに対面を開始すると光電
信号レベルがhigh_thを上回る。このときネガテ
ィブエッジの検出と同様に、変数m1の値をいったん変
数msaveに記憶してから、変数m1の値を「0」に
リセットする。そして、一定時間経過後、光電信号レベ
ルがhigh_thを上回っているかどうかを再度調べ
る。この時に得られた光電信号レベルがhigh_th
を上回っていれば、スペースによるポジティブエッジが
検出されたものと判断し、変数m2を変数m1の値とす
る。
【0038】また、一定時間経過後に、光電信号レベル
の値がhigh_thを上回っていなった場合には、ノ
イズ等による読み間違えであると判断して、前段のhi
gh_thを上回っているかどうかを調べる処理を再び
行う。なお、この時にも、バーあるいはブラッククワイ
エットゾーン7を検出している間の回転パルスを継続し
て計数しているようにするため、変数m1は変数m2の
値とされる。また、2sec経過後も上記のようにし
て、スペースがが検出されなかった場合には、erro
r_flagに所定の値が与えられ、エラー処理が行わ
れる。
【0039】このようにして、ポジティブエッジが検出
されたときには、変数msaveに、バーあるいはブラ
ッククワイエットゾーン7によるネガティブエッジを検
出してから、スペースによるポジティブエッジを検出し
た間の回転パルス数、すなわちバーあるいはブラックク
ワイエットゾーン7にホトセンサ16が対面していたと
きの回転パルス数が記憶されていることになる。
【0040】この変数masaveの値は、定数bqz
と比較される。定数bqzは、ブラッククワイエットゾ
ーン7が形成された角度だけバーコード板4を回転した
ときに得られる回転パルス数よりも誤差を考慮した小さ
な値で、幅の広いのバー12を検出して得られる回転パ
ルス数よりも十分に大きな値が予め設定されている。得
られた変数msaveの値が定数bqzよりも小さけれ
ば、ホトセンサ16が対面していたのは、幅の広いバー
12あるいは幅の狭いバー13であると判断し、再びネ
ガティブエッジの検出の手順から行う。そして、得られ
た変数msaveの値が定数bqzよりも大きければ、
ホトセンサ16がブラッククワイエットゾーン7に対面
していたと判断する。バーコード板4が2回転以上して
もブラッククワイエットゾーン7を検出できない場合に
は、error_flagに所定の値が与えられ、エラ
ー処理がされる。
【0041】ここで、バーコード板4が2回転以上した
ことを判断するには、バーコード板4が2回転して得ら
れるスペース/バーの組数を計数して判断するようにし
ている。すなわち、バーコード5には、データ部にバー
とスペースの組み合わせが7組になっており、終端スペ
ース11とブラッククワイエットゾーン7をバーとスペ
ースの1組として含めると、バーコード5には8組のバ
ーとスペースがあることになり、2回転して得られるバ
ーとスペースの組数は、のべ16組になる。そして、ネ
ガテイブエッジの検出,ポジテイブエッジの検出が行わ
れると、1組のスペースとバーを検出したことになるか
ら、その都度bar_countをインクリメントし、
このbar_countが定数「16」以上になればバ
ーコード板4が2回転したと判断するようにしている。
【0042】なお、本実施例では、バーコード5には、
データ部にバーとスペースの組み合わせが7組で、終端
スペース11とブラッククワイエットゾーン7をバーと
スペースの1組として含めると、バーコード5には8組
のバーとスペースがとしている。しかし、バーとスペー
スの組数が定まっていない場合には、その最大本数を設
定しておいて、これをbar_countと比較するよ
うにしてもよい。このときに、最大本数よりもバーとス
ペースの組数が少ないときには、余計にバーコード板が
回転することになるが、余計に回転する分には支障をき
たすことはない。
【0043】また、バーとスペースの組数を計数する代
わりに、変数m1,m2と同様なモータ22が一定角度
回転する毎に発生する回転パルスを計数する変数m3を
新たに設けてもよい。このときには、ブラッククワイエ
ットゾーンの検出の手順の最初で変数m3を「0」にリ
セットし、変数m3の値がバーコード板4が2回転分の
回転パルス数を計数したか否で判断するとよい。さらに
は、バー(ブラッククワイエットゾーン7),スペース
(終端スペース11を含む)は予め所定の角度に設定さ
れることを利用して、検出されたバー.スペースの角度
を積算することで2回転以上したかを判断するようにし
てもよい。この場合には、ネガティブエッジ,ポジテイ
ブエッジを検出する毎に、検出されたバー,スペースを
例えば回転パルス数やクロックパルスなどをもとに幅を
判断して、幅広のものならば角度20°を、幅狭のもの
ならば角度10°を加算していき、またブラッククワイ
エットゾーン7ならば角度120°を加算するようにし
て、積算された値が720°(360°×2)を越えた
かどうか判断すればよい。
【0044】ブラッククワイエットゾーン7が検出され
ると、後に幅広か幅狭かを判断するための変数mref
の値をmsave/8とする。これはブラッククワイエ
ットゾーン7は120°、幅の広いバー12及びスペー
ス14は20°、幅の狭いバー13及びスペース15は
10°にそれぞれ設定されているため、バーコード板4
を15°(120°/8)回転させて得られる回転パル
ス数と、後述するスペースおよびバーを検出して得られ
る変数msaveと比較し、幅広か幅狭かを判断するた
めである。
【0045】マイクロコンピュータ20は、ブラックク
ワイエットゾーン7を除いたバーコード5の部分でlo
w_thとhigh_thを決めるために、変数ROU
NDにバーコード板の1/4回転分に相当する回転パル
ス数を代入する。そして、再び前述したしきい値設定の
手順を行う。このしきい値設定の手順では、ブラックク
ワイエットゾーン7を検出した後に、バーコード板4が
1/4回転する間に行われる。ブラッククワイエットゾ
ーン7が検出されたと判断された時点で、ホトセンサ1
6はブラッククワイエットゾーン7から先頭スペー11
に対面を開始していること(図14中のT1の信号位
置)になるから、ブラッククワイエットゾーン7を除い
てバーとスペースを検出した時の光電信号レベルの最大
値と最小値が求められ、それぞれ変数max,minと
される。前記同様にこの変数maxとminからlow
_thとhigh_thが決められる。
【0046】すなわち、図13に示したように、まずバ
ーコード板4が1回転する間に、ブラッククワイエット
ゾーン7を検出した光電信号レベルを含めて光電信号レ
ベルの最大値(nax)と最小値(min)が求められ
る。これら最大値と最小値とから図14に示したように
ブラッククワイエットゾーン7を識別するためにlow
_thとhigh_thが決められる。バーコード板4
が回転を続け、ブラッククワイエットゾーン7が検出が
開始され、T1の時点でブラッククワイエットゾーン7
と識別される。そして、図1に示すように、ブラックク
ワイエットゾーン7と識別された時(T1:先頭スペー
スにホトセンサ16が対面を開始した時)から、バーコ
ード板4が1/4回転する間に、ブラッククワイエット
ゾーン7を除き、データ部のバーとスペースのみを検出
した光電信号レベルの最大値(max)と最小値(mi
n)が求められる。そして、これらの最大値と最小値か
ら再びlow_thとhigh_thが決められる。バ
ーコード板4は、引き続き回転し、後述するようにブラ
ッククワイエットゾーン7を再度識別した時から、バー
コード5のデータ部のバーコードの読み込みが行われ
る。
【0047】図1に示すように、low_thは、バー
を検出したときの光電信号レベルよりも大きく、その差
は、スペースを検出したときの光電信号レベルとlow
_thとの差より小さい。また、high_thは、ス
ペースを検出したときの光電信号レベルよりも小さく、
その差は、バーを検出したときの光電信号レベルとhi
gh_thとの差より小さい。このようにバー及びスペ
ースの判断するのに適切な値に設定される。
【0048】このlow_thとhigh_thを用い
てブラッククワイエットゾーンの検出の手順が再び行わ
れる。このとき、low_thは、バーとスペースを検
出して決定されたものであるが、ブラッククワイエット
ゾーン7を検出したときの光電信号レベルはバーを検出
したときの光電信号レベルの値よりも低くなるから、こ
のlow_thを用いてブラッククワイエットゾーン7
にホトセンサ16が対面したときにもネガティブエッジ
を検出することができる。前記同様にしてブラッククワ
イエットゾーン7を判断すると、バーコードの読込の手
順が行われる。なお、このときの変数msaveの値を
用いて変数mrefの値が更新される。
【0049】この時にもブラッククワイエットゾーン7
と判断された直後には、ホトセンサ16は、先頭スペー
ス10に対面していることになる。バーコード読込の手
順では、bar_countが「0」にリセットされて
から、ネガティブエッジ検出の手順が行われる。マイク
ロコンピュータ20は、回転パルスの発生毎に変数m
1,m2をインクリメントしながら、ホトセンサ16が
ネガティブエッジが検出の処理を行う。
【0050】バーコード板4が回転してホトセンサ16
が先頭スペース10に隣接したバーに対面すると、ブラ
ッククワイエットゾーン7を除いて決定されたlow_
thよりも光電信号レベルが下回る。このときの変数m
1の値を変数msaveにいったん記憶する。
【0051】そして、一定時間経過後、再度光電信号レ
ベルの値がlow_thの値を下回っていれば、先に光
電信号レベルの値がlow_thの値を下回ったのは、
ホトセンサ16がバーに対面したと判断する。記憶され
ている変数msaveは、変数m1が前段のブラックク
ワイエットゾーンの検出の手順で、先頭スペース10に
よるポジティブエッジを検出した際にリセットされてい
るから、先頭スペース10を検出している期間に発生す
る回転パルスを計数したものとなっている。
【0052】変数msaveに記憶された値を変数mr
efと比較する。変数msaveの値には、先頭スペー
ス10の幅に比例した回転パルス数の値となっているか
ら、変数msaveの値が変数mrefの値よりも大き
ければ、幅広のスペース14と判断してデータ「1」を
space_dataの下位1ビットに記憶する。ま
た、変数msaveの値が変数mrefの値よりも小さ
ければ、幅狭のスペースと判断してデータ「0」をsp
ace_dataの下位1ビットに記憶する。図3に示
すバーコード5では先頭スペース10が幅狭となってい
るから論理「0」と判断される。変数m2を変数m1の
値としてから、ポジティブエッジの検出の手順を行う。
【0053】ここで、変数m2を変数m1の値とするの
は、この段階で変数m2には、前回にポジティブエッジ
(この段階では先頭スペース10によるポジティブエッ
ジ)を検出した時から計数されている回転パルス数で、
バーによるネガティブエッジを検出したと判断したこの
段階では、すでに変数m1が変数msaveに記憶され
て、論理の判断がされているから不要な値となってい
る。そして、この検出されたネガティブエッジから次の
ポジティブエッジを検出する間の回転パルス数を計数し
ておくために、変数m2にネガティブエッジを検出した
ときからの回転パルス数を計数している変数m1の値と
している。なお、同様にポジティブエッジの検出の手順
では、検出されたポジティブエッジからネガテイブエッ
ジを検出する間の回転パルス数を計数しておくために変
数m2を変数m1の値とする。
【0054】一方、もし一定時間経過後に、光電信号レ
ベルの値がlow_thの値を下回っていなければ、ノ
イズ等にによる読み間違えと判断し、変数m1には変数
m2としてから再度ネガテイブエッジの検出を行う。
【0055】続いて、ポジティブエッジの検出の手順を
行う。このポジティブエッジがスペースによるものと判
断されたときに、得られた変数msaveは、バーを検
出してlow_thを光電信号レベルが下回り、さらに
次のスペースを検出して光電信号レベルがhigh_t
hを上回ったときの回転パルスとなるから、この間にホ
トセンサ16が対面していたバーの幅に比例した回転パ
ルス数となっている。
【0056】したがって、変数mrefとこのときに得
られた変数msaveとを比較し、変数msaveの値
が変数mrefの値よりも大きければ、幅の広いバー1
2と判断してデータ「1」をbar_dataの下位1
ビットに記憶する。また、変数msaveの値が変数m
refの値よりも小さければ、幅の狭いバー13と判断
してデータ「0」をbar_dataの下位1ビットに
記憶する。バーの論理判断の後、bar_countが
1だけインクリメントされる。もし一定時間経過後に、
光電信号レベルの値がhigh_thの値を上回ってい
なければ、ノイズ等にによる読み間違えと判断し、変数
m1には変数m2としてから再度ポジテイブエッジの検
出を行う。
【0057】このようにしきい値としてlow_th,
high_thの2つを設定し、光電信号レベルがhi
gh_thを上回ったときに、スペースにホトセンサ1
6が対面を開始したと判断し、光電信号レベルがlow
_thを下回ったときに、バーにホトセンサ16が対面
を開始したと判断し、光電信号レベルがhigh_th
を下回ったととしても、バーにホトセンサ16が対面を
開始したとは判断せず、また光電信号レベルがlow_
thを上回ったととしても、スペースにホトセンサ16
が対面を開始したとは判断しないようにしている。
【0058】例えば、図15(a)に例を説明するよう
に、ゆっくりと変化していく光電信号をA/D変換器で
光電信号レベルに変換し、この光電信号レベルを、1個
のしきい値で比較して判断しようとすると、回路特性や
わずかな電圧変動などで生じたしきい値レベルの誤差に
より、しきい値の前後において判断されたレベル(二値
レベル)は幅狭のバーとスペースを繰り返し検出したか
のようになってしまうことがある。しかし、上記のよう
に2つのしきい値を設定しておけば、たとえ変換された
光電信号レベルに誤差が含まれていても、その誤差は小
さいものだから、他方のしきい値の範囲まで及ぶことが
なく、図15(b)のように判断されたレベルには誤差
による影響をなくすことができる。
【0059】また、上記のようにバーとスペースを検出
して得られる光電信号の振幅の中心からずらして2つの
しきい値が設定されている。しかしながら、光電信号の
信号振幅の変化で生じる信号幅の誤差は、ネガティブエ
ッジの検出時のΔ1とポジティブエッジに検出時のΔ2
がほぼ同じになると考えられるから信号幅が正確に測ら
れ、正確な論理判断をすることができる。
【0060】この後も、ネガティブエッジの検出とポジ
ティブエッジの検出が繰り返し行われ、同様にしてスペ
ース及びバーの幅の判断が行われる。そして、spac
e_data及びbar_dataのデータは1ビット
ずつ上位にシフトしながら、得られた論理「1」あるい
は「0」を下位1ビットに記憶していく。
【0061】そして、ホトセンサ16が終端スペースに
対面した時点で、bar_countの値が「7」とな
りバーコードの読取りの手順が終了する。このようにし
て、得られたspace_data,bar_data
を用いてバーコード5のデータの意味が解読される。そ
して解読されたデータはLCD25に例えばフイルムの
種類等が表示される。この後に、モータ22の逆転を停
止し、フイルム送り出し方向に回転させて、フイルムの
給送を行う。
【0062】上記のバーコードの検出の手順でエラー処
理は、ブラッククワイエットゾーンの検出がバーコード
板が2回転以上してもブラッククワイエットゾーン7の
検出が出来なかったり、2秒以上経過してもネガティブ
エッジ及びポジテイブエッジの検出が出来なかった場合
には、割り込み処理を禁止した後にエラー内容をLCD
25に表示し、再びバーコード検出の手順から実行す
る。エラーが発生した場合には、エラーの回数はerr
or_countで計数されて、バーコードの検出の手
順は3回まで繰り返し行われる。バーコードの検出の手
順を3回行っても、error_flagが有る場合、
すなわちブラッククワイエットゾーン7やネガティブエ
ッジ及びポジテイブエッジの検出が出来なかった場合に
は、この旨をLCD25に表示して終了する。なお、本
実施例では、エラーが発生すると、エラーが発生した手
順を呼び出した、手順に戻ってから引き続き次の処理や
手順を行い、バーコードの検出の手順が終了した後にe
rror_flagがあればバーコードの検出の手順を
再試行するようにしているが、これをただちにバーコー
ドの検出の手順を行うようにしてもよい。
【0063】上記に説明した実施例では、発光ダイオー
ドの発光量を一定にしているが、図16〜図18に示す
手順で、これを可変できるようにして光電信号の振幅を
積極的に適正なものにするようにしてもよい。以下に、
この実施例について説明する。なお、初期化,ブラック
クワイエットゾーンの検出,しきい値設定,ネティブエ
ッジの検出,ポジティブエッジの検出、バーコードの読
出しの各手順については、上記実施例と同様な処理を行
う。
【0064】マイクロコンピュータ20は、ホトセンサ
16をONとしたのち、予め設定されたドライブ電流を
トランジスタ21に流し、発光ダイオード17に流れる
電流Ifを10mAにする。モータ22を逆回転させて
バーコード板4を回転させてから、図17に示すバーコ
ードの検出の手順を行う。
【0065】バーコードの検出の手順では、上記実施例
同様にバーコード板4を1回転して得られる光電信号レ
ベルの最大値と最小値とが求められ、それぞれ変数ma
xとminの値となる。この変数maxとminとか
ら、ブラッククワイエットゾーン7を検出するためのし
きい値low_thとhigh_thが設定される。ま
た、変数W_LEVELと変数Q_LEVELのそれぞ
れは、変数maxとminの値とされる。ブラッククワ
イエットゾーンの検出の手順が実行され、ブラッククワ
イエットゾーン7が検出された後に、バーコード板4が
1/4回転する間にバーとスペースによる光電信号レベ
ルの、最大値と最小値が求められ、それぞれ変数max
とminの値となる。変数W_LEVELはこの時の変
数maxの値に更新され、変数B_LEVELは変数m
inの値とされる。
【0066】この後に、Ifの最適化の手順が実行され
る。図18に示すようにIfの最適化の手順では、変数
W_LEVELと変数B_LEVELの差すなわち、ス
ぺースを検出している時の値と、バーを検出している時
に相当する値とが所定のレベル差CONSTであり、変
数B_LEVELと変数Q_LEVELの値すなわちブ
ラッククワイエットゾーン7を検出している時の光電信
号レベルとの差が所定レベル差CONSTになっている
ときには、図19(a)に説明するように適正な光電信
号の振幅になっていると判断し、発光ダイオード17に
流れる電流を変化させず、またif_flagを「0」
のままとする。
【0067】変数W_LEVELと変数B_LEVEL
の差が所定のレベル差CONSTであるが、変数B_L
EVELと変数Q_LEVELの差が所定のレベル差C
ONSTになっていないときには、図19(b)に説明
するように、ブラッククワイエットゾーン7を検出して
いるときの光電信号が、低い方で飽和状態に達してしま
い、バーを検出しているときの光電信号と差が少ないと
判断して、Ifのupの手順で発光ダイオードに流れる
電流を2mAだけ増加させるように制御する。また、変
数W_LEVELと変数B_LEVELの差が所定のレ
ベル差CONSTでなく、変数B_LEVELと変数Q
_LEVELの差が所定のレベル差CONSTになって
いるときには、図19(c)のように、光電信号が高い
方で飽和状態に達しており、スペースとバーとによる光
電信号レベルの差が少ないと判断して、Ifのdown
の手順で、電流Ifを2mAだけ減少するように制御す
る。
【0068】変数W_LEVELと変数B_LEVEL
の差が所定のレベル差CONSTでなく、変数B_LE
VELと変数Q_LEVELの差も所定のレベル差CO
NSTではないときには、 変数W_LEVEL,変数
B_LEVEL,変数Q_LEVELの平均をとり、こ
れが光電レベルの中間値「128」と小さいか否を判断
する。そして、この平均が中間値「128」以上であれ
ば、図20(a)のように、バー,スペース,ブラック
クワイエットゾーン7を検出している時のそれぞれの光
電信号が差が少なく、しかも全体的にレベルが高いと判
断し、Ifのdownの手順で、電流Ifを2mAだけ
減少させる。
【0069】変数W_LEVEL,変数B_LEVE
L,変数Q_LEVELの平均が中間値「128」より
も小さければ、図20(b)のように、バー,スペー
ス,ブラッククワイエットゾーン7を検出している時の
それぞれの光電信号が差が少なく、しかも全体的にレベ
ルが低いと判断し、Ifのupの手順で、電流Ifを2
mAだけ増加させるように制御する。
【0070】このように、電流Ifが増減するように制
御されると、これに応じて発光ダイオード17の発光量
が変化する。したがって光電信号レベルがこれに応じて
増減する。適切な光電信号レベルになると、この調整さ
れた電流Ifで発光ダイオード17を発光させながら、
上記実施例と同様にして、ブラッククワイエットゾーン
の検出,バーコードの読込の手順を行った後にバーコー
ド5のデータが解読される。なお、上記所定のレベル差
CONSTは、すべて同じでもよいが、バー,スペー
ス,ブラッククワイエットゾーン7による反射率の差で
変えるようにしてもよい。例えばブラッククワイエット
ゾーン7とバーの反射率の差が、バーとスペースの反射
率の差よりも大きいときには、ブラッククワイエットゾ
ーン7とバーのレベル差を比較する所定のレベル差CO
NSTをバーとスペースのレベル差を比較する所定レベ
ル差CONSTよりも大きくするようにしてもよい。
【0071】なお、Ifのdownの手順,Ifのup
の手順では、それぞれ電流Ifが2mAを下回っていな
いか、20mAを上回っていないかが判断され、これら
に応じてif_flagに所定の値が与えられる。制御
された電流Ifが2mAと20mAにある場合には、バ
ーコード検出の手順の初期化の手順から処理が行われ、
適切な光電信号レベルになるまで繰り返し行われる。し
かし、電流Ifが2mAを下回っているか、20mAを
上回ってしまったときには、適切な光電信号レベルを得
られない旨をLCD25に表示して終了する。以上のく
りかえし制御はif_flagの値により判断され、i
f_flagが「0」になるまで行われる。
【0072】このようにして、発光ダイオードに流れる
電流を制御して、得られる光電信号を適切に振幅させる
と、より正確にバーコードのバーおよびスペース、さら
にはブラッククワイエットゾーンの検出,幅の判断がで
きるようになる。
【0073】以上で説明した実施例は、プログラムを実
行して光電信号レベルがlow_thを下回ったか、あ
るいはhigh_thを上回ったかを判断するようにし
ているが、2個の二値化回路にそれぞれlow_thと
high_thを設定して、これから得られる信号をも
とにネガティブエッジや、ポジティブエッジを検出する
ようにしてもよい。また上記実施例では、バーコードを
検出しながら逐次論理を判断するようにしているが、1
度すべてのバーコードを検出し得られた回転パルス数を
全てメモリに保持してから論理の判断をするようにして
もよい。また一連の解読作業をフイルム逆転時(巻き固
め時)に行っているが、フイルムを送り出す際において
も同様な効果が得られる。さらに、電流値を最適化する
代わりに特願平5−148012号に示すように、セン
サのエミッタ抵抗としてFETを用い、そのゲート電圧
を制御することにより最適化を行ってもよい。
【0074】
【発明の効果】以上説明したように、本発明によれば、
バーコード板に投光器から検出光を投光し、バーコード
板からの反射光の強さに応じてホトセンサで光電信号に
変換しながら、バーコード板を1回転以上させている間
に得られる光電信号の信号振幅を調べ、その結果からし
きい値を決定し、このしきい値でバーよりも低反射部分
となるブラッククワイエットゾーンを識別する。そし
て、ブラッククワイエットゾーン以外のバーコードのバ
ーとスペースによる光電信号の信号振幅を調べて、バー
とスペースを検出するときの判断基準となるしきい値を
再設定するようにしたから、バーとスペースを検出する
際に適したしきい値が設定され、バーとスペースを検出
しているときの光電信号の信号幅を正確に測ることがで
き、論理の判断が正しくされるようになる。
【0075】
【0076】ブラッククワイエットゾーンの光電検出が
終了した時点から、再びブラッククワイエットゾーンを
光電検出が開始されるまでの範囲で一定角度バーコード
板が回転している間に、光電信号の信号振幅を調べるよ
うにしたから、簡便にブラッククワイエットゾーンを光
電検出していないときの光電信号の信号振幅を調べら
る。
【0077】さらに、光電検出が高反射部分から低反射
部分に移る時の光電信号の符号変化の判断基準とされる
第1のしきい値と、光電検出が低反射部分から高反射部
分に移る時の光電信号の符号変化の判断基準とされる第
2のしきい値とを異なるように設定する。そして、第1
のしきい値と低反射部分を検出したときの光電信号の最
小値との差を、第1のしきい値と高反射部分を検出した
ときの光電信号の最大値との差よりも小さく、かつ第2
のしきい値と高反射部分を検出したときの光電信号の最
大値との差を、第2のしきい値と低反射部分を検出した
ときの光電信号の最小値との差よりも小さくして設定し
たことで、光電信号がゆっくりと変化し、A/D変換器
等の回路特性や電圧の変動等による誤差が光電信号のレ
ベルに含まれていても、あたかも幅狭のバーとスペース
を繰り返し検出したかのような誤動作を防ぐことがで
き、また、的確にバーとスペースあるいはブラッククワ
イエットゾーンの検出ができるようになって論理の判断
を正確行えるようになる。
【0078】しきい値の決定の際に、バーとスペースと
ブラッククワイエットゾーンを光電検出したときの各光
電信号に有効なレベル差が得られないときには、発光ダ
イオードのに流れる電流を調節して各光電信号のレベル
差が最適化されるから、バーコードの論理の判断が正確
にできる。
【図面の簡単な説明】
【図1】バーとスペースを検出して設定される2つのし
きい値と光電信号の振幅とを示した説明図である。
【図2】本発明の実施したフイルムカートリッジを示す
斜視図である。
【図3】同フイルムカートリッジのバーコードの一例を
示す説明図である。
【図4】バーコード読取り装置の回路図である。
【図5】バーコードの読取り装置の動作のメインの手順
を示したフローチャートである。
【図6】バーコードの検出の手順を示したフローチャー
トである。
【図7】バーコードの検出の手順で実行される各変数の
初期化のフローチャートである。
【図8】光電信号の振幅を調べしきい値を設定するしき
い値設定の手順を示したフローチャートである。
【図9】ブラッククワイエットゾーンを識別するため
の、ブラッククワイエットゾーンの検出の手順を示した
フローチャートである。
【図10】ホトセンサがバーあるいはブラッククワイエ
ットゾーンを検出したことを判断するためのネガティブ
エッジを検出する手順を示したフローチャートである。
【図11】ホトセンサがスペースを検出したことを判断
するためのポジティブエッジを検出する手順を示したフ
ローチャートである。
【図12】バーコードのバーとスペースの検出して論理
を判断するバーコードの読み込みの手順を示したフロー
チャートである。
【図13】ブラッククワイエットゾーン検出した光電信
号レベルを含めて、バーコード板が1回転して得られる
光電信号の最大値と最小値を示す説明図である。
【図14】ブラッククワイエットゾーン検出した光電信
号レベルを含めた、光電信号の最大値と最小値から設定
されたしきい値を示す説明図である。
【図15】ゆっくり変化する光電信号に対して、A/D
変換器等の誤差により誤って判断された状態と、その改
善された状態を示す説明図である。
【図16】別の実施例のバーコードの読取り装置の動作
のメインの手順を示したフローチャートである。
【図17】別の実施例の光電信号レベル差を最適化する
ためのバーコードの検出の手順を示したフローチャート
である。
【図18】別の実施例の光電信号レベル差を最適化する
ために発光ダイオードに流れる電流を制御する手順を示
したフローチャートである。
【図19】別の実施例の最適化されている光電信号の振
幅の状態と、最適化される前の光電信号の振幅の状態と
の1例を示した説明図である。
【図20】別の実施例の最適化される前の光電信号の振
幅が飽和している状態の例を示した説明図である。
【符号の説明】
4 バーコード板 5 バーコード 7 ブラッククワイエットゾーン 10 先頭スペース 11 終端スペース 12 幅の広いバー 13 幅の狭いバー 14 幅の広いスペース 15 幅の狭いスペース 16 ホトセンサ 17 発光ダイオード 18 ホトトランジスタ 20 マイクロコンピュータ 22 モータ 24 回転角検出装置
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−230449(JP,A) 特開 平4−301829(JP,A) 特開 平4−352135(JP,A) 特開 平5−134359(JP,A) 特開 平2−56687(JP,A) 特開 平6−214301(JP,A) 特開 平8−106145(JP,A) 特開 平6−250257(JP,A) 特開 平4−316028(JP,A) 実開 平4−53245(JP,U) 特表 平5−508943(JP,A) 米国特許5025274(US,A) 米国特許5552843(US,A) 米国特許5032854(US,A) (58)調査した分野(Int.Cl.7,DB名) G03B 7/00 - 7/28 G03B 17/26 - 17/34 G03C 3/00 - 3/02 G06K 7/00 - 7/14

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 フイルムを巻きつけたスプールと一体回
    転するバーコード板に、互いに反射率が異なり、各々広
    狭2種類の幅をもったバー及びスペースを交互に配列し
    てフイルムの特性値等を表すバーコードを記しておき、
    バーコード板を回転させながら前記バー及びスペースの
    幅を所定のしきい値をもとに光電検出し、符号及び信号
    幅が異なる光電信号の配列に基づいてバーコードの内容
    を読み取るようにしたフイルムカートリッジ用バーコー
    ド読取り装置において、 バーコード板に検出光を投光する投光器と、バーコード
    板からの反射光を光電信号に変換するホトセンサと、バ
    ーコード板を1回転以上させ、その間に得られるホトセ
    ンサからの光電信号の信号振幅を調べ、その結果から光
    電信号の符号の判断基準となる前記しきい値を決定し、
    この決定されたしきい値によって、バーよりも低反射部
    分となるバーコードのデータの区切りを示すブラックク
    ワイエットゾーンを識別し、このブラッククワイエット
    ゾーンを光電検出していないときの光電信号の信号振幅
    を調べ、バーコードのデータを光電検出したときの光電
    信号の判断基準となるしきい値を再定する手段を備え
    たことを特徴とするフイルムカートリッジ用バーコード
    読取り装置。
  2. 【請求項2】 ブラッククワイエットゾーンを光電検出
    していないときの光電信号の信号振幅を調べるには、ブ
    ラッククワイエットゾーンの光電検出が終了した時点か
    ら、再びブラッククワイエットゾーン光電検出が開始
    されるまでの範囲で一定角度バーコード板が回転してい
    る間に、光電信号の信号振幅を調べるようにしたことを
    特徴とする請求項記載のフイルムカートリッジ用バー
    コード読取り装置。
  3. 【請求項3】 光電検出が高反射部分から低反射部分に
    移る時の光電信号の符号変化の判断基準とされる第1の
    しきい値と、光電検出が低反射部分から高反射部分に移
    る時の光電信号の符号変化の判断基準とされる第2のし
    きい値とを異なるように設定することを特徴とする請求
    項1または2記載のフイルムカートリッジ用バーコード
    読取り装置。
  4. 【請求項4】 第1のしきい値と低反射部分を光電検出
    したときの光電信号の最小値との差は、第1のしきい値
    と高反射部分を光電検出したときの光電信号の最大値
    の差よりも小さく、かつ第2のしきい値と高反射部分を
    光電検出したときの光電信号の最大値との差は、第2の
    しきい値と低反射部分を光電検出したときの光電信号の
    最小値との差よりも小さくして、第1及び第2のしきい
    値を設定するようにしたことを特徴とする請求項3記載
    のフイルムカートリッジ用バーコード読取り装置。
  5. 【請求項5】 きい値の決定の際に、バーとスペース
    とブラッククワイエットゾーンを光電検出したときの各
    光電信号に有効なレベル差が得られないときには、投光
    器の発光量を調節して、各光電信号のレベル差を最適化
    することを特徴とすることを請求項1ないし4のいずれ
    か1項に記載のフイルムカートリッジ用バーコード読取
    り装置。
JP00791294A 1994-01-27 1994-01-27 フイルムカートリッジ用バーコード読取り装置 Expired - Fee Related JP3516474B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00791294A JP3516474B2 (ja) 1994-01-27 1994-01-27 フイルムカートリッジ用バーコード読取り装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00791294A JP3516474B2 (ja) 1994-01-27 1994-01-27 フイルムカートリッジ用バーコード読取り装置

Publications (2)

Publication Number Publication Date
JPH07218972A JPH07218972A (ja) 1995-08-18
JP3516474B2 true JP3516474B2 (ja) 2004-04-05

Family

ID=11678761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00791294A Expired - Fee Related JP3516474B2 (ja) 1994-01-27 1994-01-27 フイルムカートリッジ用バーコード読取り装置

Country Status (1)

Country Link
JP (1) JP3516474B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5025274A (en) 1990-08-02 1991-06-18 Eastman Kodak Company Film cassette with built-in support for optical sensor to read film information
US5032854A (en) 1990-07-31 1991-07-16 Eastman Kodak Company Photographic film cassette and camera apparatus and method
US5552843A (en) 1993-02-03 1996-09-03 Nikon Corporation Camera capable of reading film information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032854A (en) 1990-07-31 1991-07-16 Eastman Kodak Company Photographic film cassette and camera apparatus and method
US5025274A (en) 1990-08-02 1991-06-18 Eastman Kodak Company Film cassette with built-in support for optical sensor to read film information
US5552843A (en) 1993-02-03 1996-09-03 Nikon Corporation Camera capable of reading film information

Also Published As

Publication number Publication date
JPH07218972A (ja) 1995-08-18

Similar Documents

Publication Publication Date Title
US4693574A (en) Film information reading device
JP3516474B2 (ja) フイルムカートリッジ用バーコード読取り装置
US5541681A (en) Camera apparatus and method for film double exposure prevention
US5497213A (en) Method and apparatus for reading bar code of photographic film cassette
JPH07218973A (ja) フイルムカートリッジの使用状態識別装置
US5918080A (en) Camera and method of discerning status of a photo film cassette
US5241306A (en) System and method for introducing meter sensor hysteresis
EP0794500B1 (en) Apparatus and method for setting the gain of a radial bar code disk sensor in a photographic camera
US4435056A (en) Film feeding device
JP2601778Y2 (ja) テープ終端検出装置
JPS598019A (ja) 移動量検知装置
JPH07272526A (ja) 昇降装置
CN114947626B (zh) 边刷状态确定方法、装置、扫地机及计算机可读存储介质
JP2974528B2 (ja) カメラのフィルム給送装置
US5812894A (en) Photographic camera and method of and device for distinguishing condition of use of photographic film in film magazine
JPH10221737A (ja) フイルムカートリッジ用バーコード読み取り装置
US20040081035A1 (en) Rotary tray apparatus and method for determining identification number in rotary tray apparatus
JPH10254037A (ja) カメラのデータ読出し装置
JPH08211440A (ja) カメラのバーコード読取装置
KR100491585B1 (ko) 광센서를 이용한 토너 감지장치 및 그 제어방법
JPH07311406A (ja) フイルムの使用状態識別方法および装置
JPH0799350B2 (ja) フオトセンサの動作判別装置
JPH1031243A (ja) フイルムカートリッジの使用状態識別装置
JPH07333675A (ja) フィルム情報読取装置
JPH086103A (ja) フィルム情報読取装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040120

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20080130

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100130

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees