(57)【特許請求の範囲】
【請求項１】
データが光学的に読み取り可能なコードで記録された記録媒体から、前記コードを光学的に読み取るコード読取装置において、
前記コードを撮像する撮像手段と、
前記撮像手段で撮像された前記コードを含む画像に対して所定の処理を行う画像処理手段と、
前記画像処理手段で画像処理された前記コードを含む画像から、前記データを読み取るデータ読取手段と、
を具備し、
前記画像処理手段は、前記撮像手段の撮像画面内における前記コードの撮像位置に拘らず前記データ読取手段によるデータの読み取りエラーが略一定となるように、シェーディングに基づいて設定された前記撮像画面中央部で広く同撮像画面周辺部で狭い領域をその処理の単位として、前記所定の処理を行うことを特徴とするコード読取装置。
【請求項２】
データが光学的に読み取り可能なコードで記録された記録媒体から、前記コードを光学的に読み取るコード読取装置において、
前記コードを撮像する撮像手段と、
前記撮像手段で撮像された前記コードを含む画像に対して所定の処理を行う画像処理手段と、
前記画像処理手段で画像処理された前記コードを含む画像から、前記データを読み取るデータ読取手段と、
を具備し、
前記画像処理手段は、前記撮像手段の撮像画面内における前記コードの撮像位置に拘らず前記データ読取手段によるデータの読み取りエラーが略一定となるように、前記記録媒体に対する前記コードの記録に関する品質と当該コード読取装置の性能とに基づいて設定された位置及びサイズを有する領域をその処理の単位として、前記所定の処理を行うことを特徴とするコード読取装置。
【請求項３】
前記コード読取装置の性能は、シェーディングを含むことを特徴とする請求項２に記載のコード読取装置。
【請求項４】
データが光学的に読み取り可能なコードで記録された記録媒体から、前記コードを光学的に読み取るコード読取装置において、
前記コードを撮像する撮像手段と、
前記撮像手段で撮像された前記コードを含む画像に対して所定の処理を行う画像処理手段と、
前記画像処理手段で画像処理された前記コードを含む画像から、前記データを読み取るデータ読取手段と、
を具備し、
前記コード読取装置が、前記撮像画面内に収まらない大きさの前記コードを読み取るために、前記記録媒体との間で相対的に移動しながら前記コードを連続的に撮像して前記データを読み取るように構成されたものであるとき、
前記画像処理手段は、前記連続的に撮像された各撮像画面における同一領域の前記データ読取手段によるデータの読み取りエラーを前記各撮像画面にわたって累積したときの単位面積当たりのエラーが略一定となるように設定された位置及びサイズを有する領域をその処理の単位として、前記所定の処理を行うことを特徴とするコード読取装置。
【請求項５】
前記領域は、前記撮像画面中央部で狭く、同撮像画面周辺部で広く設定されたことを特徴とする請求項４に記載のコード読取装置。
【請求項６】
前記画像処理手段は、前記撮像手段で撮像された前記コードを含む画像の２値化処理を行う手段を含むことを特徴とする請求項１乃至３の何れかに記載のコード読取装置。
【請求項７】
前記領域は、前記撮像画面内に、複数のサイズで重複することなく設定されたことを特徴とする請求項１乃至３の何れかに記載のコード読取装置。
【請求項８】
前記領域の位置及びサイズは、前記撮像画面における単位面積当たりの前記データ読取手段によるデータの読み取りエラーが略一定となるように設定されたことを特徴とする請求項１又は２に記載のコード読取装置。
【請求項９】
前記コード読取装置は、所定の一の辺に沿って前記コードが記録されたカード型記録媒体の前記一の辺を所定のガイド溝に当接させ、当該ガイド溝に沿って前記カード型記録媒体をその辺方向に手動で移動させることにより、当該移動するコードを光学的に読み取るように構成されたものであることを特徴とする請求項１乃至８の何れかに記載のコード読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データが光学的に読み取り可能なコードで記録された記録媒体から上記コードを光学的に読み取るコード読取装置に関する。
【０００２】
【従来の技術】
光学的に読取可能なコードとしてデータが記録された記録媒体から該コードを読み取る読取装置において、一般にコード読み取り時のエラーは、記録媒体の品質や読取装置の性能、ユーザの読み取り動作などに依存して変化する。このエラーは当然少ないのが望ましく、本出願人は先に、ドットの記録状態に応じて適切な２値化を行うシステム（特開平７−３３６８００号公報に開示）や、撮像状態が画面内で不均一な読取装置において、最適な条件でデータを読み取るシステム（特開平９−３５７６８２号公報に開示）、コード周辺にコードの読み取りに影響を与える画像を配置しない記録媒体（特開２００１−７６１１３号公報に開示）、などを提案している。これらのシステムや記録媒体は、データ読取時のエラーを最小限に抑え、確実にデータを読み取ることが可能であるという点でたいへん優れている。
【０００３】
【発明が解決しようとする課題】
ここで、読取装置においてエラーを最小限に抑える処理を行ったり、記録媒体にエラーを最小限に抑える記録条件を設定する効果は大きいが、エラーをどの程度にまで抑えるかについては、注意を払う必要がある。即ち、エラーを最小化するために、読取装置のハードウェア規模が増大したり、そのような記録条件を設定することで記録媒体のデザイン性が損なわれたりすることが考えられ、これらはエラーとトレードオフの関係にあるため、適切にバランスさせる必要がある。
【０００４】
しかしながら、従来の技術では、エラーをどのようにして、どの程度にまで抑えるかについては十分考慮されていなかった。
【０００５】
本発明は、上記の点に鑑みてなされたもので、データの読み取りエラーを所定の値で安定させるように設計された読取装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記の目的を達成するために、本発明によるコード読取装置は、データが光学的に読み取り可能なコードで記録された記録媒体から、上記コードを光学的に読み取るコード読取装置において、
上記コードを撮像する撮像手段と、
上記撮像手段で撮像された上記コードを含む画像に対して所定の処理を行う画像処理手段と、
上記画像処理手段で画像処理された上記コードを含む画像から、上記データを読み取るデータ読取手段と、
を具備し、
上記画像処理手段は、上記撮像手段の撮像画面内における上記コードの撮像位置に拘らず上記データ読取手段によるデータの読み取りエラーが略一定となるように、シェーディングに基づいて設定された上記撮像画面中央部で広く同撮像画面周辺部で狭い領域をその処理の単位として、上記所定の処理を行うことを特徴とする。
【０００７】
また、本発明によるコード読取装置は、データが光学的に読み取り可能なコードで記録された記録媒体から、上記コードを光学的に読み取るコード読取装置において、
上記コードを撮像する撮像手段と、
上記撮像手段で撮像された上記コードを含む画像に対して所定の処理を行う画像処理手段と、
上記画像処理手段で画像処理された上記コードを含む画像から、上記データを読み取るデータ読取手段と、
を具備し、
上記画像処理手段は、上記撮像手段の撮像画面内における上記コードの撮像位置に拘らず上記データ読取手段によるデータの読み取りエラーが略一定となるように、上記記録媒体に対する上記コードの記録に関する品質と当該コード読取装置の性能とに基づいて設定された位置及びサイズを有する領域をその処理の単位として、上記所定の処理を行うことを特徴とする。
【０００８】
また、本発明によるコード読取装置は、データが光学的に読み取り可能なコードで記録された記録媒体から、上記コードを光学的に読み取るコード読取装置において、
上記コードを撮像する撮像手段と、
上記撮像手段で撮像された上記コードを含む画像に対して所定の処理を行う画像処理手段と、
上記画像処理手段で画像処理された上記コードを含む画像から、上記データを読み取るデータ読取手段と、
を具備し、
上記コード読取装置が、上記撮像画面内に収まらない大きさの上記コードを読み取るために、上記記録媒体との間で相対的に移動しながら上記コードを連続的に撮像して上記データを読み取るように構成されたものであるとき、
上記画像処理手段は、上記連続的に撮像された各撮像画面における同一領域の上記データ読取手段によるデータの読み取りエラーを上記各撮像画面にわたって累積したときの単位面積当たりのエラーが略一定となるように設定された位置及びサイズを有する領域をその処理の単位として、上記所定の処理を行うことを特徴とする。
【００１０】
【発明の実施の形態】
本発明の実施の形態を詳細に説明する前に、本発明の理解を助けるために、まず、原理説明を行う。
【００１１】
今、光学的に読み取り可能なコードが、黒（Ｂ）と白（Ｗ）の２つの属性のドットで紙等の記録媒体に記録されているとすると、その輝度ヒストグラムは、図２の（Ａ）に示すように、黒の輝度Ｂと白の輝度Ｗの２箇所でのみピークを有する。
【００１２】
しかしながら、これを光学系を通してイメージセンサで撮像すると、光学系のボケやイメージセンサの受光素子の開口、ノイズ等により、データ読取点に相当する各ドット中心におけるイメージセンサ出力のヒストグラムは、図２の（Ｂ）に示すようになる。ここで、ψB（Ｙ）は黒ドット（ドット有）の読取点における出力レベル分布、ψW（Ｙ）は白ドット（ドット無）の読取点における出力レベル分布をそれぞれ表している。
【００１３】
従って、これをレベルＴｈで２値判定すると、ψB（Ｙ）のＴｈ以上の部分では黒を白と読み誤り（ＥB（Ｔｈ））、逆に、ψW（Ｙ）のＴｈ未満の部分は白を黒と読み誤る（ＥW（Ｔｈ））ことになる。これを式で表すと、以下のようになる。
【００１４】
【数１】
0003884276.tif 000002
但し、ここでＭは出力レベルの最大値である。
【００１５】
即ち、閾値Ｔｈを変化させると、それぞれのエラーは図２の（Ｃ）に示すように変化し、総エラーＥ（Ｔｈ）は、次式のように表される。
【００１６】
Ｅ（Ｔｈ）＝ＥB（Ｔｈ）＋ＥW（Ｔｈ）                  …（３）
ここで、閾値ＴｈはＥ（Ｔｈ）の極小点に合わせ込むことが望ましく、種々提案されている適応２値化手法により閾値を決定すれば良いが、これにはある程度の誤差があり、その許容幅をＲとすると、図２の（Ｃ）に示すようにエラーはＥRまで許容する必要がある。そこで、エラーＥR以下で確実に元のデータが復元できるように、コードには予めエラー訂正符号を付加しておくことが行われる。当然、許容すべきエラー（以下、許容エラーとも言う。）ＥRが大きければ大きいほど、そのために付加するエラー訂正符号は増え、コードの記録密度が低下してしまうため、ＥRはなるべく小さくするのが望ましい。
【００１７】
しかしながら、ＥRを最小化するためには読取装置の性能向上や、記録媒体の品質向上などが必要であり、実際の場面では、ハードウェア規模や処理時間、コスト、記録媒体のデザイン性、記録装置の制約などの面から、それらとＥRをバランスさせた設計とする必要がある。
【００１８】
一般的に、記録媒体の品質に合わせて、品質の悪い媒体を使用するときには付加するエラー訂正符号を多くしてエラー訂正能力を上げるということも考えられるが、ここでは、読取装置の性能やユーザの操作も考慮して、ＥRを略一定に保つことを考える。こうすることにより、付加するエラー訂正符号を一定に保つことができ、即ち、コードの記録密度や読取処理の時間なども略一定に保つことができるというメリットがある。
【００１９】
これには次の３つの場合について考慮する必要がある。
【００２０】
（１）  読取装置のタイプ、記録媒体のタイプが１対１の組合せの場合、
（２）  読取装置のタイプ、記録媒体のタイプが多対１の組合せの場合、
（３）  読取装置のタイプ、記録媒体のタイプが１対多の組合せの場合。
【００２１】
例えば、上記（１）の場合には、読取装置、記録媒体は１タイプなので、組合せによるＥRの変化は考慮しなくて良いが、ユーザの操作によるＥRの変化、具体的には、読取装置と記録媒体との位置関係の変化などがＥRに与える影響を抑える必要がある。また、上記（２）の場合には、読取装置に構成の異なる複数のタイプがあるので、読取装置間でのＥRの変化、具体的には、光学特性の変化や照明特性の変化などがＥRに与える影響も抑える必要がある。また、上記（３）の場合には、記録媒体に記録状態の異なる複数のタイプがあるので、記録媒体間でのＥRの変化、具体的には、コード記録濃度、コード背景デザインの変化などがＥRに与える影響も抑える必要がある。
【００２２】
実際にはこれらが複合して起こる場合が多く、以下の実施の形態の説明中で詳しく説明する。
【００２３】
なお、ここでは説明を簡単にするため、所定のデータ量のコードのエラー数という意味で単にエラーという表現を用いたが、より一般的にはデータ量（後述する単位面積あたりのデータ量も含む）が変化することを考慮し、本文中のエラーはエラー率を表現するものとする。
【００２４】
以下、本発明の実施の形態を図面を参照して説明する。
【００２５】
［第１の実施の形態］
ここでは、上記（１）の場合の具体例として、シェーディングのあるコード読取装置について説明する。
【００２６】
撮像画面上で得られるシェーディングには、照明系、光学系、撮像系の特性が反映され、その状態は、コードの代わりに一様な白（コードの背景相当が望ましい）を記録した記録媒体をコード同様に撮像することによって容易に観測することができる。
【００２７】
例えば、図３の（Ａ）に示すように、矩形の撮像画面１０の一側が最も暗く、他側に近づくにつれて明るさが直線的に増していき、他側が最も明るいようなシェーディングがあるコード読取装置でコードを撮像した時、その撮像画面１０は、図３の（Ｂ）に示すようになり、撮像画面１０上の位置によってコード１２の撮像状態が異なってくる。
【００２８】
即ち、図３の（Ｃ）に示すように、撮像画面１０上の明るい領域（ａ）でのコードのヒストグラムに対し、暗くなる領域（ｂ）、（ｃ）では、このヒストグラムを出力レベルの小さい側に圧縮したような形のヒストグラムとなる。また、それぞれのヒストグラムに対応する閾値とエラーの関係は、図３の（Ｄ）に示すようになり、これからわかるように、暗くなるに従って、総エラーＥ（Ｔｈ）もレベルの低い側に圧縮したような形（Ｅa（Ｔｈ）〜Ｅc（Ｔｈ））となり、それぞれの領域で許容すべきエラーＥRa〜ＥRcは暗くなるに従って大きくなってしまう。
【００２９】
このように、コード１２の撮像位置に依存して許容すべきエラーが変動してしまうと、このコードを確実に再生するためには、コードが撮像画面１０上の暗い側に位置する場合（ＥRが最も大きくなる条件）のＥRを訂正可能な符号化を行わなければならず、たいへん冗長であり、また、コードが撮像画面１０上の明るい側に位置する場合には、実際に生じるエラーが非常に少ないにもかかわらずコードに付加するエラー訂正符号が多くなり、非効率的である。
【００３０】
そこで、コードの撮像位置によらず、より小さな許容エラーＥRで確実にコードが読み取れるように読取装置を設計するのが望ましい。
【００３１】
これを踏まえて、本実施の形態について説明する。
【００３２】
本実施の形態において、コード１２は、図１の（Ａ）に示すように、コード１２の読取指標であるマーカ１４と、記録すべき情報の「１」、「０」に対応して「黒」、「白」の属性で表現したデータドット１６とからなり、また、コード読取装置１８は、図１の（Ｂ）に示すように、撮像部２０、画像処理部２２、サブフレーム記憶部２４、及びデータ読取部２６から構成されている。
【００３３】
次に、本実施の形態の作用効果を説明する。
【００３４】
撮像部２０では、図１の（Ａ）のようなコード１２をＬＥＤなどの照明系によって照明し、それを光学系を通してＣＣＤなどのイメージセンサにより撮像し、電気信号に変換する。次に、画像処理部２２では、サブフレーム記憶部２４に位置とサイズが予め記憶されたサブフレーム単位でコード画像に対して所定の画像処理を施して、画像処理部２２内の画像メモリに格納する。次に、データ読取部２６では、上記画像メモリを走査して読取指標であるマーカ１４を検出し、その中心を読取基準点として、図２の（Ｄ）に示すようにブロックを構成する４つの読取基準点２８の内部をブロックデータフォーマットに基づいて格子状に分割する。そして、各格子点における画像メモリの状態からデータドット１６の白黒判定を行うことによってデータを読み取る。なお、ここでの画像処理は、データ読取部２６にてデータドット１６の白黒判定を行うための特徴量を抽出する処理や、データをより確実に読み取るためのドット強調処理、あるいは２値化処理などが含まれるものとする。
【００３５】
ここで、コード読取装置１８が図３の（Ａ）のようなシェーディングを有していたとすると、先述したとおりの不具合があるため、本実施の形態では、サブフレーム記憶部２４に記憶されたサブフレーム単位でコード画像に対して所定の画像処理を施すことにより、コード１２の撮像位置に拘らず、許容すべきエラーをＥRに保つようにしている。
【００３６】
ここで、サブフレームの設定方法について説明する。
【００３７】
例えば、図４の（Ａ）に示すように、撮像画面１０の水平方向にシェーディングがかかったコード読取装置１８において、撮像画面１０を撮像状態（ここでは照明状態）がほぼ同じと考えられる微小領域Ｄ1〜ＤNに分割し、それぞれの微小領域でコード１２が撮像されたときの閾値とエラーの関係をε1（Ｔｈ）〜εN（Ｔｈ）とすると、おおよそ図４の（Ｂ）に示すようなグラフとなる。
【００３８】
ここで、微小領域Ｄ1〜Ｄnをグルーピングして一つの領域として画像処理したときの閾値とエラーの関係は、ε1（Ｔｈ）〜εn（Ｔｈ）を足し合わせたものとなり、それをｎで割った単位面積当たりのエラーε1n（Ｔｈ）は図５の（Ａ）に示すように変化する。従って、それぞれのグラフから単位面積当たりの許容すべきエラーεR1nを求めると、ｎが大きくなるに従って、εR1nも増加していくことがわかる。このように、隣接するいくつかの微小領域をグルーピングすることにより、εRをある程度自由に変えることができるので、ｎを適切に設定することで、グルーピングされた領域におけるεRを所定の目標値に略一致させることができる。即ち、図５の（Ｂ）に示すように、グルーピングされた各領域におけるεRが略一定となるようにｐ、ｑ、…を設定し、微小領域Ｄ1〜Ｄpをグルーピングして一つの処理領域（＝サブフレーム）Ｓ1とし、同様に、微小領域Ｄp+1〜ＤqをグルーピングしてＳ2として、次々とグルーピングしていくことで、図６のようにサブフレームを設定することができる。
【００３９】
こうすることで、コード１２の撮像位置に拘らず、読み取りエラーを略一定とすることができ、必要以上のエラー訂正符号を付加することなく、安定した効率的な読み取りが可能となる。また、シェーディングの状態に合わせて、複数の異なる位置、及び、サイズでサブフレームを設定することで、コード１２のエラー訂正能力に対して許容すべきエラーが十分小さいサブフレームが多数発生するのを防ぎ、ハードウェア規模の縮小化や、画像処理の効率化を図ることができる。
【００４０】
次に、サブフレームの別の設定方法についても説明する。
【００４１】
先述した例では、撮像画面１０を微小領域に分割して、そのグルーピングの仕方を撮像状態に応じて変化させることでサブフレーム内の単位面積当たりのεRを略一定としたが、サブフレーム内のシェーディング量とその内部でのεRの間には密接な関係があり、サブフレーム内のシェーディング量を一定にすることで、単位面積当たりのεRを略一定とすることができる。
【００４２】
これは、次のような原理による。
【００４３】
シェーディングを有するコード読取装置１８において、撮像画面１０上の最も明るい部分の微小領域においてコード１２が撮像されたときの閾値とエラーの関係をε100（Ｔｈ）、そこから光量が２０％低下した微小領域におけるそれをε80（Ｔｈ）、さらに２０％低下した微小領域におけるそれをε64（Ｔｈ）とすると、図７に示すようになり、それぞれにはおおよそ次の関係が成り立つ。
【００４４】
【数２】
0003884276.tif 000003
【００４５】
実際には、暗くなることでＳ／Ｎも劣化するため、暗くなるに従って上記（４）式よりもエラーが若干増える傾向があるが、おおよそこの関係が保たれていることにより、光量の低下が２０％未満（１００〜８０％）の領域をグルーピングし（Ｓ1）、その領域における閾値とエラーの関係をε1（Ｔｈ）、光量の低下がそこからさらに２０％未満（８０〜６４％）の領域をグルーピングし（Ｓ2）、その領域における閾値とエラーの関係をε2（Ｔｈ）とすると、両者にもおおよそ次の関係がある。
【００４６】
【数３】
0003884276.tif 000004
【００４７】
また、閾値の変動幅もおおよそ光量に比例する傾向があることから、閾値の許容幅Ｒも、領域Ｓ1での許容幅Ｒ1と領域Ｓ2での許容幅Ｒ2との間には、おおよそ次の関係がある。
【００４８】
【数４】
0003884276.tif 000005
【００４９】
従って、図７に示すように、両領域内における単位面積当たりの許容エラーεRは、ほぼ一定となる。
【００５０】
そこで、例えば、図４の（Ａ）のように撮像画面１０の水平方向にシェーディングがかかったコード読取装置１８において、水平方向の照明量の変化が図８の（Ａ）に示すようなグラフで表されるとすると、サブフレーム内での光量の低下（減光率）が２０％未満の領域ごとに括って、図８の（Ｂ）に示すようにサブフレームを設定することができる。
【００５１】
このようにシェーディングに基づいてサブフレームを設定することにより、容易に適切なサブフレーム設定を行うことができる。
【００５２】
なお、ここではサブフレーム内での減光率が２０％未満となるように設定したが、これはコード１２の記録品質（背景色／濃度、ドット色／濃度、ドット形状など）とコード１２のエラー訂正能力、読取装置の性能（シェーディングの大きさ、照明量、照明波長、センサ感度、Ｓ／Ｎ、ドット読取点位置決め精度など）を考慮して１０〜３０％程度の間で決定するのが望ましい。
【００５３】
こうすることで、サブフレーム数が極端に増えてハードウェア規模を大きくしたり、エラー訂正能力を極端に高めて記録密度を低下させたりすることなく、適切なサブフレーム設定が行える。
【００５４】
次に、コード読取装置１８で発生するいくつかのシェーディングを例に、サブフレーム設定について説明する。
【００５５】
コード読取装置１８では、コード１２をＬＥＤなどの照明系によって照明し、それを光学系を通してＣＣＤなどのイメージセンサにより撮像しているため、撮像画面１０上でシェーディングとして検出されるものには、照明系の照明ムラの他に、光学系の周辺減光、センサの感度ムラなどがある。
【００５６】
まず、光学系の周辺減光としては、図９の（Ａ）に示すように、通常、撮像画面中心に一致する光軸中心が最も明るく、光軸中心から離れるに従って撮像画面１０上で光量が低下するパターンが一般的である。よって、この場合も、最も明るい撮像画面中心から、光量（センサ出力）が２０％低下する領域までをＳ1、その周囲でさらに２０％低下する領域までをＳ2、という風にサブフレーム内での減光率が２０％を越えないようにしていくことで、図９の（Ｂ）に示すようにサブフレームが設定される。
【００５７】
なお、シェーディングは一般に、図９の（Ａ）のように、円状のものとなる。しかしながら、撮像画面１０上の走査は直線的に行われるため、処理を複雑にしないためサブフレームは同図の（Ｂ）のような矩形状となっている。
【００５８】
このように、撮像画面中央部では広く、周辺部では狭く、サブフレームを設定することにより、周辺減光に適したサブフレーム設定を行うことができる。
【００５９】
また、照明系の照明ムラとしては、例えば、２個のＬＥＤによって記録媒体を照明すると、図１０の（Ａ）に示すように、撮像画面中程２箇所に明るい領域ができ、周辺にいくに従って徐々に暗くなるようなシェーディングが発生する。この場合も同様で、最も明るい部分から、光量が２０％低下する領域までを１つのサブフレームに、その周囲で最も明るい部分からさらに２０％低下する領域までを次のサブフレームに、というようにサブフレーム内での減光率が２０％を越えないようにしていけば良いが、このようなＬＥＤによる照明の場合、撮像位置に依存して局所的な光量変化を生じる場合が多く、図９の（Ｂ）のように他のサブフレームを囲むような広い領域にかかるサブフレームを設定することは望ましくない。そこで、画像データへのアクセスのし易さも考慮して、図１０の（Ｂ）のような格子分割によりサブフレームを設定する。もちろん、各サブフレーム内で最も明るい部分と最も暗い部分（Ｓ6、Ｓ8、Ｓ10、Ｓ12において、○と矢印で表示）とのレベル比が所定の減光率の範囲に収まるように設定する。
【００６０】
このように、本第１の実施の形態では、各サブフレームでの単位面積当たりのエラー率を略一定とすることによって、コードの撮像位置に拘らず、読み取りエラーを略一定とすることができ、必要以上のエラー訂正符号を付加することなく、安定した効率的な読み取りが可能となる。また、シェーディングの状態に合わせて、サブフレームを適切に設定することで、コードのエラー訂正能力に対して許容すべきエラーが十分小さいサブフレームが多数発生するのを防ぎ、ハードウェア規模の縮小化や、画像処理の効率化を図ることができる。
【００６１】
［第２の実施の形態］
次に、本発明の第２の実施の形態を説明する。
【００６２】
本実施の形態においては、コード１２は、撮像画面１０内に収まらない大きさのものであり、図１１の（Ａ）に示すように、記録すべき情報をブロック３０毎に分割して、読取指標であるマーカ１４やブロックアドレス３２と共に記録媒体上に記録されている。また、コード読取装置１８は、図１１の（Ｂ）に示すように、撮像部２０、画像処理部２２、サブフレーム記憶部２４、データ読取部２６、及びデータ再生部３４から構成され、撮像部２０をコード１２に対して相対的に移動しながら、連続的にコード１２を撮像することによってコード１２全体を撮像し、記録されたデータを読み取るものである。
【００６３】
このような記録媒体とコード読取装置１８の例としては、図１２に示すようなシート状の記録媒体３６（紙３６Ａ）と先端に撮像部を有するペン型のコード読取装置１８（ペン型リーダ１８Ａ）がある。あるいは、図１３の（Ａ）に示すようなカード型の記録媒体３６（所定の一の辺に沿ってコード２２が記録されたカード３６Ｂ）と、図１３の（Ｂ）に示すように、カード３６Ｂを安定して摺動させるためのカードガイド３８を有するコード読取装置１８（カードリーダ１８Ｂ）などがある。
【００６４】
図１２に示すようなペン型のコード読取装置１８では、本やチラシなども記録媒体３６として利用することができる点で優れており、また、図１３の（Ｂ）に示すようなガイド溝としてのカードガイド３８を有するコード読取装置１８では、記録媒体３６に対するコード読取装置１８の浮きや傾きが殆どないため、手動でカードを移動させても撮像状態が安定し、常に最適な画像処理を行うことが可能となる。
【００６５】
次に、本実施の形態の作用効果を説明するが、ここでは連続的にコード１２を撮像する部分について詳しく説明し、第１の実施の形態と同様の作用については特に説明しない。
【００６６】
即ち、データ読取部２６では、画像メモリを走査して読取指標であるマーカ１４を検出し、その中心を読取基準点２８として、ブロック３０を構成する４つの読取基準点２８の内部をブロックデータフォーマットに基づいて格子状に分割する。そして、各格子点における画像メモリの状態からドットの白黒判定を行うことによってブロックデータを読み取る。このとき、ブロックアドレス３２も同時に読み取り、読み取ったブロックデータはブロックアドレス３２に基づいてデータメモリに格納する。そして、一定の撮像周期でこの一連の処理を繰り返し行うことによって、連続的に移動するコード画像を次々と取り込み、コード１２に記録された全てのデータがデータメモリに格納される。データ再生部３４では、こうしてデータメモリ内にアドレス順に格納されたブロックデータを結合し、変調やエラー訂正符号化されたデータについては、対応する復調処理やエラー訂正処理を施して、元のデータを再生する。
【００６７】
ここで、データ読取部２６では、読取指標であるマーカ１４の位置を基準にして、ブロック毎にその内部にあるデータドット１６を読み取るため、図１４の（Ａ）に示すようにブロック全体が撮像画面１０内に入っていないブロック３０については、その内部のデータドット１６を読み取ることができない。このように、撮像画面１０周辺部ではデータドット１６が読み取られる可能性が低く、例えば、横軸に撮像画面１０内での水平位置、縦軸に単位面積当たりのデータドット１６の読取頻度をとると、図１４の（Ｂ）に示すように表される。なお、連続的にコード１２を撮像するため、ここで読み取られないブロック３０のデータドット１６は、前後の撮像画面でブロック全体が撮像されることによって読み取られる。
【００６８】
このように、撮像部２０をコード１２に対して相対的に移動しながら、連続的にコード１２を読み取るようなコード読取装置１８の場合、一連のコード読み取りによって撮像画面内のある微小領域に生じるエラーは、各撮像画面で各領域に生じるエラーを各撮像画面にわたって累積したものとなる。即ち、一連のコード読み取りによって撮像画面内のある微小領域に生じるエラー率は、該領域において読み取り可能なデータドット１６を撮像した場合に生じるエラー率に該領域におけるデータドット１６の読取確率を掛け合わせたものとなることに注意する必要がある。
【００６９】
即ち、図１４の（Ｃ）に示すように、撮像画面１０内に微小領域Ｄmnを設定し、各微小領域におけるデータドット１６の読取確率をμmnとし、図１４の（Ｄ）に示すように各微小領域において読み取り可能なデータドット１６を撮像した場合に生じるエラー率をεmn（Ｔｈ）とすると、一連のコード読み取りによって各微小領域に生じるエラー率φmn（Ｔｈ）は、次式のようになる。
【００７０】
φmn（Ｔｈ）＝μmn×εmn（Ｔｈ）                    …（７）
このエラー率φmn（Ｔｈ）に基づいて、グルーピングされた各領域における許容エラー率εRが略一定となるように、第１の実施の形態と同様に、隣接するいくつかの微小領域をグルーピングしていくことでサブフレームを設定する。
【００７１】
このようにサブフレームを設定することにより、撮像画面１０内に収まらない大きさのコード１２を読み取る際にも、読み取りエラーを略一定とすることができ、必要以上のエラー訂正符号を付加することなく、安定した効率的な読み取りが可能となる。
【００７２】
なお、ここではコード１２内のデータドット１６の黒、白の割合が略一定となっている前提で説明したが、そうでない場合には、各微小領域における、黒ドットを読み取る確率と黒ドットを読み取ったときのエラー率との積、及び、各微小領域における、白ドットを読み取る確率と白ドットを読み取ったときのエラー率との積を合算したものが、一連のコード読み取りによって各微小領域に生じるエラー率となる。
【００７３】
また、各サブフレームで最適な画像処理を行うと個によって、読み取り可能なデータドット１６を撮像した場合に生じる各サブフレーム内における単位面積当たりのエラー率が撮像画面１０内で一様となるコード読取装置では、データドット１６の読取確率に従ってサブフレームを設定することができる。即ち、読取頻度の高い撮像画面１０中央部では狭く、周辺部では広くサブフレームを設定することにより、撮像画面１０内に収まらない大きさのコード１２を読み取る際に適したサブフレーム設定を行うことができる。
【００７４】
さらに、例えば、図９の（Ａ）で示したようなシェーディングを有するコード読取装置１８の場合、単位面積当たりの許容エラーεRは、図１５の（Ａ）に示すように、撮像画面中央で低く、撮像画面周囲で高くなるが、単位面積当たりのデータドット１６の読取頻度μは、逆に、図１５の（Ｂ）に示すように、撮像画面中央で高く、撮像画面周囲で低くなる。このため、このようなコード読取装置１８では、図１５の（Ｃ）に示すように均等にサブフレーム４０を設定することで、一連のコード読み取りにおける単位面積当たりの許容エラー（＝両者の積）をほぼ一定とすることができる。
【００７５】
このように、本第２の実施の形態では、一連のコード読み取りによって生じる単位面積当たりのエラー率を略一定とすることによって、撮像画面内に収まらない大きさのコードを読み取る際にも、読み取りエラーを略一定とすることができ、必要以上のエラー訂正符号を付加することなく、安定した効率的な読取が可能となる。
【００７６】
［第３の実施の形態］
次に、本発明の第３の実施の形態を説明する。
【００７７】
ここでは、上記（２）の場合の具体例として、コード読取装置間で性能が異なる場合について説明する。
【００７８】
本実施の形態において、コード１２は、図１の（Ａ）に示すように、コード１２の読取指標であるマーカ１４と、記録すべき情報の「１」、「０」に対応して「黒」、「白」の属性で表現したデータドット１６とからなり、コード読取装置１８は、図１の（Ｂ）に示すように、撮像部２０、画像処理部２２、サブフレーム記憶部２４、及びデータ読取部２６から構成されている。
【００７９】
次に、本実施の形態の作用効果を説明するが、画像処理部２２以外の作用効果は第１の実施の形態と同一であるので説明は省略する。
【００８０】
先に説明したように、撮像部２０の光学系、照明系、撮像系などの影響により、図２の（Ａ）に示すような輝度ヒストグラムを持つコード１２を撮像しても、それを撮像した時のイメージセンサ出力ヒストグラムは、図２の（Ｂ）に示すようなものとなる。従って、同じコード１２を読み取る場合であっても、コード読取装置１８の構成が異なれば、許容すべきエラーＥRは異なり、コード１２にエラー訂正符号を付加する場合には、ＥRが最も大きくなるコード読取装置を想定して決定しなければならない。また逆に、コード１２のエラー訂正能力が決まっていれば、コード読取装置の性能をそれに合わせて設計するのが望ましい。
【００８１】
そこで、画像処理部２２では、サブフレーム記憶部２４に位置とサイズが予め記憶されたサブフレーム単位でコード画像に対して所定の画像処理を施して、画像メモリに格納するが、ここで、撮像部２０での性能変化を緩和するような画像処理を行うこととする。
【００８２】
例えば、光学系のボケやイメージセンサの画素の開口などによって、イメージセンサ出力ヒストグラムが、図２の（Ｂ）に示すようになっている場合には、ＥR’（＜ＥR）のエラー訂正能力を有するコードを読み取るのには性能的に不十分であり、画像処理部２２では、ボケたコード画像を回復するためのイコライザ処理（等化処理）を行う。これは、光学系のボケに対応する逆フィルタ（高域強調フィルタ）などによって構成されるが、エラーを小さくするためにフィルタの構成を複雑にすると、それだけハードウェア規模が大きくなるため、ここでは、図１６の（Ａ）に示すような単純な余弦等化フィルタで代用することにする。これは、注目画素Ｐiとその前後ｎ画素（ここでは３画素）の値を用いて、Ｑi＝２Ｐi−０．５（Ｐi-3＋Ｐi+3）で処理対象領域（サブフレーム）全域に渡って注目画素を置き換える処理に相当する。このときのヒストグラムは、図１６の（Ｂ）に示すようになり、図２の（Ｂ）と比較してそれぞれのヒストグラムをより分離することができる。これにより、閾値とエラーの関係は図１６の（Ｃ）に示すように改善されて、許容すべきエラーをＥR’に抑えることができる。
【００８３】
この場合、サブフレームは撮像画面全体でも良く、サブフレーム記憶部２４は必須の要件ではない。
【００８４】
このように適度に簡素化した画像処理で、撮像部２０での性能変化を緩和し、許容すべきエラーをＥR’に合わせることができ、必要以上にハードウェア規模を大きくする必要がなく、かつ、コード読取装置間で、読み取りエラーを略一定とすることができる。
【００８５】
もちろん、コード１２の撮像位置に依存してボケの程度が異なるような場合には、サブフレーム毎にフィルタの構成や、パラメータを変化させるように構成することも可能で、そうすることにより、コード１２の撮像位置に拘らず、読み取りエラーを略一定とすることができる。
【００８６】
また、図１７の（Ａ）に示すような画像が図１７の（Ｂ）に示すように撮像されてしまう光学歪を有するコード読取装置では、図１７の（Ｃ）に示すようにデータドット読取点４２がデータドット１６のドット中心からずれるため、イメージセンサ出力ヒストグラムは、図２の（Ｂ）のようにやはりブロードになる。
【００８７】
このような場合には、画像処理部２２では、歪んだコード画像を回復するための歪み復元処理を行う。これには、画素毎に光学系の歪みに対応した座標変換を行えば良いが、全画素に対して歪みに対応する座標変換を行うようにすると、それだけハードウェア規模が大きくなるため、ここでは、サブフレーム毎の簡単な２次変換で代用する。具体的には、図１８に示すようにサブフレーム４０毎に光学歪を代表する四角形を設定し、それを元の正方形に変換する２次変換行列Ｔnを求めておき、各サブフレーム内の画素に対してこの２次変換行列Ｔnによる座標変換を行う。このときのヒストグラムも図１６の（Ｂ）のように改善されて、許容すべきエラーをＥR’に低減することができる。
【００８８】
こうすることにより、適度に簡素化した歪復元処理で、撮像部２０の性能変化を緩和し、許容すべきエラーをＥR’に合わせることができ、必要以上にハードウェア規模を大きくする必要がなく、かつ、コード読取装置間で、読み取りエラーを略一定とすることができる。また、サブフレーム毎の歪み復元処理により、コードの撮像位置に拘らず、読み取りエラーを略一定とすることができる。
【００８９】
このように、本第３の実施の形態では、撮像部の性能が異なるコード読取装置において、性能変化を緩和する画像処理を施すことによって、撮像部の性能に拘らず、読み取りエラーを略一定とすることができ、必要以上のエラー訂正符号を付加することなく、安定した効率的な読み取りが可能となる。また、コードのエラー訂正能力に合わせて、画像処理を適度に簡素化することにより、ハードウェア規模の縮小化や、画像処理の効率化を図ることができる。
【００９０】
［第４の実施の形態］
次に、本発明の第４の実施の形態を説明する。
【００９１】
ここでは、上記（３）の場合の具体例として、記録媒体間で品質が異なる場合について説明する。
【００９２】
本実施の形態において、コード１２は、図１の（Ａ）に示すように、コード１２の読取指標であるマーカ１４と、記録すべき情報の「１」、「０」に対応して「黒」、「白」の属性で表現したデータドット１６とからなり、コード読取装置１８は、図１の（Ｂ）に示すように、撮像部２０、画像処理部２２、サブフレーム記憶部２４、及びデータ読取部２６から構成されている。
【００９３】
次に、本実施の形態の作用効果を説明する。
【００９４】
先述したように、撮像部２０では、図１の（Ａ）のようなコード１２をＬＥＤなどの照明系によって照明し、その反射光を光学系を通してＣＣＤなどのイメージセンサにより撮像し、電気信号に変換する。従って、センサの出力は照度と反射率、及びセンサ感度の積で表され、それぞれが分光特性を有している場合には、各波長毎の積和で表される。即ち、ＬＥＤ照度の分光特性が図１９の（Ａ）、コードの白、黒の反射率の分光特性が図１９の（Ｂ）、センサ感度の分光特性が図１９の（Ｃ）のように示される場合、波長毎の積算結果より、図１９の（Ｄ）が得られ、それを積分した斜線で表記した部分が、コード１２の白、黒を撮像したときのセンサ出力となる。
【００９５】
このときのヒストグラムは、図２０の（Ａ）に示すように、黒レベルと白レベルの２箇所でのみピークを有するはずであるが、先述したように、光学系のボケやイメージセンサの受光素子の開口、ノイズ等により、実際には同図中のψB（Ｙ）、ψW（Ｙ）のようになる。ここで、ψB（Ｙ）は黒ドット（ドット有）の読取点における出力レベル分布、ψW（Ｙ）は白ドット（ドット無）の読取点における出力レベル分布をそれぞれ表している。先述したように、これをレベルＴｈで２値判定したときのエラーはＥB（Ｔｈ）、ＥW（Ｔｈ）となり、総エラーＥ（Ｔｈ）は、図２０の（Ｂ）に示すように表される。
【００９６】
このとき、閾値誤差の許容幅をＲとすると、許容すべきエラーはＥRとなるが、コード１２のエラー訂正能力がＥR’（＞ＥR）の場合、この余裕を記録媒体の品質に振ることができる。
【００９７】
ここでいう品質とは、コード読み取り上の品質のことで、例えば、記録媒体のデザイン性を向上させるために、ドットを黒ではなく青（Ｃ）で、背景を白ではなくて黄（Ｙ）で記録すると、コントラストが低下するため、コード読み取り上の品質は劣化する。
【００９８】
図２１の（Ａ）に示すように、黄は、およそ波長５５０ｎｍ以上で反射率が０．８程度となる分光特性を、青は、およそ波長５５０ｎｍ以上で反射率が０．１程度となる分光特性を有しているものとする。これより、波長毎の積算を行い、センサ出力を求めると、図２１の（Ｂ）の斜線部のようになり、反射率０．９の白、反射率０．０５の黒に比べて何れもコントラストの小さくなる側に作用していることがわかる。即ち、このときのヒストグラムは図２０の（Ｃ）に示すように、青／黄の２箇所でピークを有するものとなり、図２０の（Ａ）で示した黒／白のピークと比較して内側に存在する。従って、光学系のボケ等を考慮すると実際のヒストグラムは図２０の（Ｃ）中のψC（Ｙ）、ψY（Ｙ）のようになり、上記ψB（Ｙ）、ψW（Ｙ）をそれぞれ内側に移動したようなグラフとなる。そして、これをレベルＴｈで２値判定したときのエラーは図２０の（Ｄ）のように表され、許容すべきエラーはＥR’（＞ＥR）となる。
【００９９】
青／黄の組合せに限らず、この場合ＬＥＤ照度で出力の大きい６６０ｎｍ近辺でこの組合せと同じような反射率を有する色であればほぼ同じ特性を示すため、他の色を選択することも勿論可能である。
【０１００】
例えば、ここまで説明してきた黒は黒濃度が１００％（Ｋ１００と表現する）のもので、白はＫ０、この間の灰色は黒濃度を調整することで自由に設定でき、Ｋ４０、Ｋ５０、Ｋ６０は図２１の（Ａ）に示したようになる。従って、青の代わりにＫ９５、黄の代わりにＫ１０でコード１２を構成してもエラー率は同様となる。
【０１０１】
さらには、シェーディングの例で先述したように、コントラストがほぼ一定に保たれていればエラー率もほぼ一定となることから、青の代わりにＫ８０、黄の代わりにＫ０（白）でコード１２を構成してもエラー率は同様となる。
【０１０２】
また、黒濃度と同様に、青／黄についても濃度を調整することが可能で、そのときの分光特性は図２２に示すように変化する。従って、ドットの濃度や背景の濃度を変化（変調）させた場合には、図２０の（Ｅ）に示すように、変調をかけないときに比べてピークがブロードとなる。このため、実際のヒストグラムは同図中のψC（Ｙ）、ψY（Ｙ）のようにさらにブロードとなり、同図の（Ｆ）に示すように許容すべきエラーＥR’はさらに大きくなる。従って、コードのエラー訂正能力に余裕があるときには、このようにコードのドットや背景に変調をかけることも可能である。
【０１０３】
このように、データの読み取りエラーが略一定となるように、コードの色、濃度を自由に選択することができ、これにより記録媒体のデザイン性を向上することができる。
【０１０４】
記録媒体の品質には、ドット／背景の色、濃度、コントラストの他にも、ドットの形状、面積、位置バラツキなどがあり、例えば、ドットの形状が悪くなる上質紙への印刷では濃度を濃くしたり、位置バラツキの大きいインクジェットプリンタによる印刷ではドット面積を大きくしたりすることで、データの読み取りエラーが略一定となるようにすることができ、これにより、コードの記録条件を自由に選択することができるようになる。
【０１０５】
このように、本第４の実施の形態では、品質が異なる記録媒体において、適切な記録条件によりエラーを略一定とすることによって、記録媒体の品質に拘らず、読み取りエラーを略一定とすることができ、必要以上のエラー訂正符号を付加することなく、安定した効率的な読み取りが可能となる。また、コードのエラー訂正能力に合わせて、記録条件を自由に変えることにより、記録媒体のデザイン性の向上を図ることができる。
【０１０６】
なお、本発明は、図１や図１１に示したコード以外の他の光学的に読み取り可能なコードにも適用できるものである。
【０１０７】
以上、第１乃至第４の実施の形態で説明してきたように、本発明では、必ずしもデータ自体の読み取りに全く影響を与えないのではなく、再生に影響を与えない範囲でコードに一定のエラーを許容することを前提に、そのようなエラーの許容を積極的に利用することにより、コード読取装置の設計や記録媒体の設計に自由度を与えるところにその本質がある。
【０１０８】
以上実施の形態に基づいて本発明を説明したが、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【０１０９】
ここで、本発明の要旨をまとめると以下のようになる。
【０１１０】
（１）  データが光学的に読み取り可能なコードで記録された記録媒体から、前記コードを光学的に読み取るコード読取装置において、
前記コードを撮像する撮像手段と、
前記撮像手段で撮像された前記コードを含む画像に対して所定の処理を行う画像処理手段と、
前記画像処理手段で画像処理された前記コードを含む画像から、前記データを読み取るデータ読取手段と、
を具備し、
前記画像処理手段は、前記データ読取手段によるデータの読み取りエラーが略一定となるように前記所定の処理を行うことを特徴とするコード読取装置。
【０１１１】
この発明に関する実施の形態は、第１乃至第３の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１１２】
ここで、画像処理部では、データ読取部によるデータの読み取りエラーが略一定となるように撮像部での性能変化を緩和するような画像処理を行う。
【０１１３】
即ち、画像処理部では、撮像部における照明系のシェーディング及び光学系のボケや歪みに対応して、それらを緩和するようなシェーディング補正処理や等化処理や２値化処理やサブフレーム毎の座標変換などを行う。
【０１１４】
この（１）のような構成とすることにより、撮像部の性能に拘らず、読み取りエラーを略一定とすることができ、必要以上のエラー訂正符号を付加することなく、安定した効率的な読み取りが可能となる。また、コードのエラー訂正能力に合わせて、画像処理を適度に簡素化することにより、ハードウェア規模の縮小化や、画像処理の効率化を図ることができる。
【０１１５】
（２）  前記画像処理手段は、前記撮像手段の撮像画面内における前記コードの撮像位置に拘らず、前記データ読取手段によるデータの読み取りエラーが略一定となるように前記所定の処理を行うことを特徴とする（１）に記載のコード読取装置。
【０１１６】
この発明に関する実施の形態は、第１及び第３の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１１７】
ここで、画像処理部では、コードの撮像位置に拘らず、データ読取部によるデータの読み取りエラーが略一定となるように撮像位置に依存した性能変化を緩和するような画像処理を行う。
【０１１８】
即ち、画像処理部では、画像をいくつかのサブフレームに分割して、各サブフレーム単位で、撮像位置に依存して変化する照明系のシェーディング及び光学系のボケや歪みに対応して、それらを緩和するようなシェーディング補正処理や等化処理や２値化処理やサブフレーム毎の座標変換などを行う。
【０１１９】
この（２）のような構成とすることにより、コードの撮像位置に拘らず、読み取りエラーを略一定とすることができ、必要以上のエラー訂正符号を付加することなく、安定した効率的な読み取りが可能となる。
【０１２０】
（３）  前記画像処理手段は、前記撮像手段の撮像画面内における前記コードの撮像位置に拘らず、前記データ読取手段によるデータの読み取りエラーが略一定となるように設定された位置及びサイズを有する所定の領域をその処理の単位として、前記所定の処理を行うことを特徴とする（２）に記載のコード読取装置。
【０１２１】
この発明に関する実施の形態は、第１及び第２の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１２２】
ここで、サブフレーム記憶部には、画像処理部における処理の単位である所定の領域、即ちサブフレームの位置、及びサイズが記憶されている。
【０１２３】
即ち、画像処理部は、サブフレーム記憶部に予め記憶されたサブフレームの位置とサイズに従って、サブフレーム単位でコード画像に対して所定の画像処理を施す。ここでの画像処理は、データ読取部にてデータドットの白黒判定を行うための特徴量を抽出する処理や、光学系のボケや歪みを回復するイコライザ処理、データをより確実に読み取るためのドット強調処理、あるいは２値化処理なども含まれる。
【０１２４】
また、サブフレーム記憶部に記憶されるサブフレームの位置、及び、サイズは、コードの撮像位置に拘らず、データの読み取りエラーが略一定となるように設定されている。
【０１２５】
この（３）のような構成とすることにより、撮像状態が画面内で不均一な撮像画面のどのような位置でコードが撮像されようとも、読み取りエラーを略一定とすることができ、必要以上のエラー訂正符号を付加することなく、安定した効率的な読み取りが可能となる。
【０１２６】
（４）  前記画像処理手段は、前記撮像手段で撮像された前記コードを含む画像の２値化処理を行う手段を含むことを特徴とする（１）乃至（３）の何れかに記載のコード読取装置。
【０１２７】
この発明に関する実施の形態は、第１及び第２の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１２８】
ここで、画像処理部は２値化処理部を含んでいる。
【０１２９】
即ち、画像処理部は、サブフレーム記憶部に位置とサイズが予め記憶されたサブフレーム単位でコード画像を所定の閾値で２値化する。
【０１３０】
この（４）のような構成とすることにより、サブフレーム単位で適切な２値化を行うことができ、安定した２値化画像が得られ、効率的な読み取りが可能となる。
【０１３１】
（５）  前記所定の領域は、前記撮像画面内に、複数のサイズで重複することなく設定されたことを特徴とする（３）に記載のコード読取装置。
【０１３２】
この発明に関する実施の形態は、第１及び第２の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１３３】
ここで、サブフレーム記憶部は、画面内で不均一な撮像状態に合わせて、複数の異なる位置、及び、サイズのサブフレームを記憶している。即ち、撮像画面全体を有効な画像としたときには、画面を非等分割して記憶していると言い換えることができる。
【０１３４】
即ち、画像処理部は、サブフレーム記憶部に予め記憶された、複数の異なる位置、及び、サイズのサブフレーム単位でコード画像に対して所定の画像処理を施す。
【０１３５】
この（５）のような構成とすることにより、撮像状態に合わせて、サブフレームを適切なサイズに設定することができ、コードのエラー訂正能力に対して許容すべきエラーが十分小さいサブフレームが多数発生するのを防ぎ、ハードウェア規模の縮小化や、画像処理の効率化を図ることが可能となる。
【０１３６】
（６）  前記所定の領域の位置及びサイズは、前記撮像画面における単位面積当たりの前記データ読取手段によるデータの読み取りエラーが略一定となるように設定されたことを特徴とする（３）に記載のコード読取装置。
【０１３７】
この発明に関する実施の形態は、第１及び第２の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１３８】
ここで、サブフレーム記憶部は、画面内で不均一な撮像状態に合わせて、単位面積当たりのデータの読み取りエラーが略一定となるような位置、及び、サイズのサブフレームを記憶している。
【０１３９】
即ち、画像処理部は、サブフレーム記憶部に予め記憶された、位置、及び、サイズのサブフレーム単位でコード画像に対して所定の画像処理を施す。
【０１４０】
この（６）のような構成とすることにより、単位面積当たりのエラーに合わせて、サブフレームを適切に設定することができ、コードの撮像位置に拘らず、読み取りエラーを略一定とすることが可能となる。
【０１４１】
（７）  前記所定の領域の位置及びサイズは、シェーディングに基づいて設定されたことを特徴とする（３）に記載のコード読取装置。
【０１４２】
この発明に関する実施の形態は、第１及び第２の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１４３】
ここで、シェーディング量とエラー率の間には密接な関係があり、サブフレーム記憶部は、画面内で不均一な撮像状態に合わせて、サブフレーム内のシェーディング量が略一定となるような位置、及び、サイズのサブフレームを記憶している。
【０１４４】
即ち、画像処理部は、サブフレーム記憶部に予め記憶された、位置、及び、サイズのサブフレーム単位でコード画像に対して所定の画像処理を施す。
【０１４５】
この（７）のような構成とすることにより、シェーディングに基づいて、容易に適切なサブフレームを設定することができ、コードの撮像位置に拘らず、読み取りエラーを略一定とすることが可能となる。
【０１４６】
（８）  前記所定の領域は、前記撮像画面中央部で広く、同撮像画面周辺部で狭く設定されたことを特徴とする（７）に記載のコード読取装置。
【０１４７】
この発明に関する実施の形態は、第１及び第２の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１４８】
ここで、サブフレーム記憶部は、周辺減光の影響を受けた撮像状態に合わせて、画面中央部で広く、周辺部で狭く設定されたサブフレームを記憶している。
【０１４９】
即ち、画像処理部は、サブフレーム記憶部に予め記憶された、位置、及び、サイズのサブフレーム単位でコード画像に対して所定の画像処理を施す。
【０１５０】
この（８）のような構成とすることにより、周辺減光の影響を受けた撮像状態に合わせて、サブフレームを適切なサイズに設定することができ、コードのエラー訂正能力に対して許容すべきエラーが十分小さいサブフレームが多数発生するのを防ぎ、ハードウェア規模の縮小化や、画像処理の効率化を図ることが可能となる。
【０１５１】
（９）  前記所定の領域の位置及びサイズは、前記記録媒体に対する前記コードの記録に関する品質と、当該コード読取装置の性能とに基づいて設定されたことを特徴とする（３）に記載のコード読取装置。
【０１５２】
この発明に関する実施の形態は、第１及び第２の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１５３】
ここで、サブフレーム記憶部は、コードの記録品質と、読取装置の性能とに基づいて設定されたサブフレームを記憶している。なお、コードの記録品質とは、コードを構成しているドットの濃度、形状、面積、及び、コード背景の濃度などで、読取装置の性能とは、照明系のシェーディング、光量、光学系のボケ、歪み、撮像系の感度、露光時間などが含まれる。
【０１５４】
即ち、画像処理部は、サブフレーム記憶部に予め記憶された、位置、及び、サイズのサブフレーム単位でコード画像に対して所定の画像処理を施す。
【０１５５】
この（９）のような構成とすることにより、サブフレーム数が極端に増えてハードウェア規模を大きくしたり、エラー訂正能力を極端に高めて記録密度を低下させたりすることなく、適切なサブフレーム設定が可能となる。
【０１５６】
（１０）  前記コード読取装置の性能は、シェーディングを含むことを特徴とする（９）に記載のコード読取装置。
【０１５７】
この発明に関する実施の形態は、第１及び第２の実施の形態が対応し、その構成は図１の（Ｂ）のようになる。
【０１５８】
ここで、サブフレーム記憶部は、コードの記録品質とシェーディングに基づいて設定されたサブフレームを記憶している。
【０１５９】
即ち、画像処理部は、サブフレーム記憶部に予め記憶された、位置、及び、サイズのサブフレーム単位でコード画像に対して所定の画像処理を施す。
【０１６０】
この（１０）のような構成とすることにより、コードの記録品質とシェーディングに合わせて、適切なサブフレーム設定が可能となる。
【０１６１】
（１１）  前記コード読取装置が、前記撮像画面内に収まらない大きさの前記コードを読み取るために、前記記録媒体との間で相対的に移動しながら前記コードを連続的に撮像して前記データを読み取るように構成されたものであるとき、
前記所定の領域の位置及びサイズは、前記連続的に撮像された各撮像画面における同一領域の前記データ読取手段によるデータの読み取りエラーを前記各撮像画面にわたって累積したときの単位面積当たりのエラーが略一定となるように設定されたことを特徴とする（３）に記載のコード読取装置。
【０１６２】
この発明に関する実施の形態は、第２の実施の形態が対応し、その構成は図１１の（Ｂ）のようになる。
【０１６３】
ここで、コード読取装置は、撮像部を図１１の（Ａ）のように構成されたコードに対して相対的に移動しながら、連続的にコードを撮像することによってコード全体を撮像し、記録されたデータを読み取るように構成されている。具体的には、図１２のように読取装置を記録媒体に対して移動する形式のものや、図１３の（Ｂ）のように記録媒体を読取装置に対して移動する形式のものがある。
【０１６４】
また、サブフレーム記憶部は、連続的に撮像された撮像画面における同一領域のエラーを各撮像画面にわたって累積した単位面積当たりのエラーが略一定となるように設定されたサブフレームを記憶している。
【０１６５】
即ち、画像処理部は、サブフレーム記憶部に位置とサイズが予め記憶されたサブフレーム単位でコード画像に対して所定の画像処理を施す。ここでの画像処理は、データ読取部にてデータドットの白黒判定を行うための特徴量を抽出する処理や、データをより確実に読み取るためのドット強調処理、あるいは２値化処理などが含まれるものとする。
【０１６６】
また、データ読取部では、読取指標であるマーカの位置を基準にして、ブロック毎にその内部にあるデータドットを読み取る。
【０１６７】
この（１１）のような構成とすることにより、一連のコード読み取りによって生じる単位面積当たりのエラーを略一定とすることができ、撮像画面内に収まらない大きさのコードを読み取る際にも、読取エラーを略一定とすることができ、冗長なエラー訂正符号を使用することなく、安定した効率的な読み取りが可能となる。
【０１６８】
（１２）  前記所定の領域は、前記撮像画面中央部で狭く、同撮像画面周辺部で広く設定されたことを特徴とする（１１）に記載のコード読取装置。
【０１６９】
この発明に関する実施の形態は、第２の実施の形態が対応し、その構成は図１１の（Ｂ）のようになる。
【０１７０】
ここで、サブフレーム記憶部は、撮像画面中央部では狭く、周辺部では広くなるように設定されたサブフレームを記憶している。
【０１７１】
即ち、画像処理部は、サブフレーム記憶部に位置とサイズが予め記憶されたサブフレーム単位でコード画像に対して所定の画像処理を施す。
【０１７２】
この（１２）のような構成とすることにより、撮像画面内に収まらない大きさのコードを読み取る際に適したサブフレーム設定を行うことが可能となる。
【０１７３】
（１３）  前記コード読取装置は、所定の一の辺に沿って前記コードが記録されたカード型記録媒体の前記一の辺を所定のガイド溝に当接させ、当該ガイド溝に沿って前記カード型記録媒体をその辺方向に手動で移動させることにより、当該移動するコードを光学的に読み取るように構成されたものであることを特徴とする（１）乃至（１２）の何れかに記載のコード読取装置。
【０１７４】
この発明に関する実施の形態は、第２の実施の形態が対応し、その構成は図１１の（Ｂ）のようになる。
【０１７５】
ここで、記録媒体はカード型をしており、読取装置は、図１３の（Ｂ）に示すような構造をしている。
【０１７６】
即ち、読取装置は、カード型記録媒体をガイド溝（カードガイド）に沿って手動で移動させることにより、媒体上の一の辺に沿って記録されたコードを光学的に読み取る。
【０１７７】
この（１３）のような構成とすることにより、コードの撮像状態が安定し、常に最適な画像処理を行うことが可能となる。
【０１７８】
（１４）  データが光学的に読み取り可能なコードで記録された記録媒体において、
前記コードを光学的に読み取るコード読取装置が、
前記コードを撮像する撮像手段と、
前記撮像手段で撮像された前記コードを含む画像に対して所定の処理を行う画像処理手段と、
前記画像処理手段で画像処理された前記コードを含む画像から、前記データを読み取るデータ読取手段と、
を具備するとき、
前記コードは、前記画像処理手段が、前記データ読取手段によるデータの読み取りエラーが略一定となる画像処理を行えるような記録条件にて記録されたものであることを特徴とする記録媒体。
【０１７９】
この発明に関する実施の形態は、第４の実施の形態が対応し、コード読取装置の構成は図１の（Ｂ）のようになる。
【０１８０】
ここで、コードは、データ読取部によるデータの読み取りエラーが略一定となる画像処理を画像処理部が行えるような記録条件で記録される。
【０１８１】
即ち、コードは、その構成要素（ドット／背景）の色、濃度、コントラスト、形状、面積、位置バラツキなどの変化による読み取りへの影響を緩和するような記録条件で記録されているため、画像処理後のコード構成要素の性質（ヒストグラム等）は略一定となる。
【０１８２】
この（１４）のような構成とすることにより、コードの色、濃度などをある程度自由に設定することができ、記録媒体のデザイン性を向上することができる。また、ドットの形状、面積、位置バラツキなどもある程度許容できるので、異なる記録タイプの記録装置でも記録することが可能となる。
【０１８３】
（１５）  前記記録条件は、前記コードのコントラストを含むことを特徴とする（１４）に記載の記録媒体。
【０１８４】
この発明に関する実施の形態は、第４の実施の形態が対応する。
【０１８５】
ここで、コードは、データ読取部によるデータの読取エラーが略一定となる画像処理を画像処理部が行えるようなコントラスト条件で記録される。
【０１８６】
即ち、コードは、このような記録条件で記録されているため、画像処理後のヒストグラムは略一定となる。
【０１８７】
この（１５）のような構成とすることにより、コードの色、濃度などをある程度自由に設定することができ、記録媒体のデザイン性を向上することができる。
【０１８８】
（１６）  前記記録条件は、前記コードの記録濃度又は反射率を含むことを特徴とする（１４）に記載の記録媒体。
【０１８９】
この発明に関する実施の形態は、第４の実施の形態が対応する。
【０１９０】
ここで、コードは、データ読取部によるデータの読み取りエラーが略一定となる画像処理を画像処理部が行えるような記録濃度で記録される。
【０１９１】
即ち、コードは、このような記録濃度又は反射率で記録されているため、画像処理後のヒストグラムは略一定となる。
【０１９２】
この（１６）のような構成とすることにより、コード濃度をある程度自由に設定することができ、記録媒体のデザイン性を向上することができる。
【０１９３】
（１７）  前記記録条件は、前記コードを構成する構成要素の記録形状を含むことを特徴とする（１４）に記載の記録媒体。
【０１９４】
この発明に関する実施の形態は、第４の実施の形態が対応する。
【０１９５】
ここで、コードは、データ読取部によるデータの読取エラーが略一定となる画像処理を画像処理部が行えるようなコード構成要素の記録形状で記録される。
【０１９６】
即ち、コードは、このような記録形状で記録されているため、画像処理後のヒストグラムは略一定となる。
【０１９７】
この（１７）のような構成とすることにより、コード構成要素の記録形状をある程度自由に設定することができ、記録装置の選択の幅を広げることができる。
【０１９８】
【発明の効果】
以上詳述したように、本発明によれば、データの読み取りエラーを所定の値で安定させるように設計された読取装置を提供することができる。
【図面の簡単な説明】
【図１】（Ａ）は本発明の第１の実施の形態に係る記録媒体に記録されたコードの構成例を示す図であり、（Ｂ）は本発明の第１の実施の形態に係る読取装置としてのコード読取装置の基本構成を示すブロック図である。
【図２】（Ａ）はコードの輝度ヒストグラムを示す図、（Ｂ）はコード撮像時のイメージセンサ出力ヒストグラムを示す図、（Ｃ）は閾値とエラーの関係を示す図であり、（Ｄ）は読取基準点とデータドット読取点との関係を説明するための図である。
【図３】（Ａ）はシェーディングのある読取装置の撮像画面を示す図、（Ｂ）はコード撮像時の撮像画面を示す図、（Ｃ）は（Ｂ）の撮像画面における各領域でのコードのヒストグラムを示す図であり、（Ｄ）はそれぞれのヒストグラムに対応する閾値とエラーの関係を示す図である。
【図４】（Ａ）は微小領域の設定を説明するための図であり、（Ｂ）は各微小領域における閾値とエラーの関係を示す図である。
【図５】（Ａ）はグルーピングによる閾値とエラーの関係の変化を説明するための図であり、（Ｂ）はグルーピングした各領域における閾値と単位面積当たりのエラーの関係を示す図である。
【図６】設定されたサブフレームを示す図である。
【図７】サブフレーム内シェーディングとεRとの関係を示す図である。
【図８】（Ａ）はシェーディングに基づいてサブフレームを設定する場合のサブフレーム内シェーディングの固定化を説明するための図であり、（Ｂ）は設定されたサブフレームを示す図である。
【図９】（Ａ）は光学系の周辺減光によるシェーディングに基づいてサブフレームを設定するサブフレーム内シェーディングの固定化を説明するための図であり、（Ｂ）は設定されたサブフレームを示す図である。
【図１０】（Ａ）は照明系の照明ムラによるシェーディングに基づいてサブフレームを設定するサブフレーム内シェーディングの固定化を説明するための図であり、（Ｂ）は設定されたサブフレームを示す図である。
【図１１】（Ａ）は本発明の第２の実施の形態に係る記録媒体に記録されたコードの構成例を示す図であり、（Ｂ）は本発明の第２の実施の形態に係る読取装置としてのコード読取装置の基本構成を示すブロック図である。
【図１２】コード読取装置を移動させてコードを読み取る場合の読み取り状態を示す図である。
【図１３】（Ａ）はコードの記録された記録媒体を示す図であり、（Ｂ）は記録媒体を移動させてコードを読み取る場合の読み取り状態を示す図である。
【図１４】（Ａ）は撮像画面内で読み取られるブロックを説明するための図、（Ｂ）は撮像画面内の水平位置に対するデータドットの読取頻度を示す図、（Ｃ）は微小領域における読取確率を示す図であり、（Ｄ）は微小領域におけるエラー率を示す図である。
【図１５】（Ａ）は光学系の周辺減光によるシェーディングを有するコード読取装置における撮像画面内の水平位置に対する単位面積当たりの許容エラーを示す図、（Ｂ）は単位面積当たりのデータドットの読取頻度を示す図であり、（Ｃ）は設定されたサブフレームを示す図である。
【図１６】（Ａ）は本発明の第３の実施の形態に係るコード読取装置に用いられるボケ回復フィルタの構成を示す図、（Ｂ）は画像処理後のイメージセンサ出力ヒストグラムを示す図であり、（Ｃ）は閾値とエラーの関係を示す図である。
【図１７】光学歪による影響を説明するための図で、（Ａ）は光学歪のないときの画像を示す図、（Ｂ）は光学歪のあるときの画像を示す図であり、（Ｃ）は光学歪のあるときのデータドットの読取点ずれを説明するための図である。
【図１８】各サブフレーム毎の歪補正を説明するための図である。
【図１９】（Ａ）はＬＥＤ照度の分光特性を示す図、（Ｂ）はコード反射率の分光特性を示す図、（Ｃ）はセンサ感度の分光特性を示す図であり、（Ｄ）は波長毎の積算とセンサ出力を示す図である。
【図２０】（Ａ）は黒／白コード撮影時のイメージセンサ出力ヒストグラムを示す図、（Ｂ）はその時の閾値とエラーの関係を示す図、（Ｃ）は青／黄コード撮影時のイメージセンサ出力ヒストグラムを示す図、（Ｄ）はその時の閾値とエラーの関係を示す図、（Ｅ）は色変調コード撮影時のイメージセンサ出力ヒストグラムを示す図であり、（Ｆ）はその時の閾値とエラーの関係を示す図である。
【図２１】青／黄コードの分光特性を説明するための図で、（Ａ）は青／黄コード反射率の分光特性を示す図、（Ｂ）は波長毎の積算とセンサ出力を示す図である。
【図２２】色変調時の分光特性を示す図である。
【符号の説明】
１０      撮像画面
１２      コード
１４      マーカ
１６      データドット
１８      コード読取装置
１８Ａ      ペン型リーダ
１８Ｂ      カードリーダ
２０      撮像部
２２      画像処理部
２４      サブフレーム記憶部
２６      データ読取部
２８      読取基準点
３０      ブロック
３２      ブロックアドレス
３４      データ再生部
３６      記録媒体
３６Ａ      紙
３６Ｂ      カード
３８      カードガイド
４０      サブフレーム
４２      データドット読取点
【図１】
0003884276.tif 000006
【図２】
0003884276.tif 000007
【図３】
0003884276.tif 000008
【図４】
0003884276.tif 000009
【図５】
0003884276.tif 000010
【図６】
0003884276.tif 000011
【図７】
0003884276.tif 000012
【図８】
0003884276.tif 000013
【図９】
0003884276.tif 000014
【図１０】
0003884276.tif 000015
【図１１】
0003884276.tif 000016
【図１２】
0003884276.tif 000017
【図１３】
0003884276.tif 000018
【図１４】
0003884276.tif 000019
【図１５】
0003884276.tif 000020
【図１６】
0003884276.tif 000021
【図１７】
0003884276.tif 000022
【図１８】
0003884276.tif 000023
【図１９】
0003884276.tif 000024
【図２０】
0003884276.tif 000025
【図２１】
0003884276.tif 000026
【図２２】
0003884276.tif 000027