(57)【要約】 【課題】  コード読み取り装置の処理能率を低下させることなくデコード率を向上させる。【解決手段】  イメージセンサ４０により取得されたデジタルコードの画像データは、セレクタＳＬの切り替えに従って、第１ラインバッファＢＦ１及び第２ラインバッファＢＦ２のそれぞれに１ライン単位のデータ長で蓄積された後に、ＤＭＡ８０を介してＲＡＭ３０に直接転送されて、１フレームの第１フレーム画像Ｆ１として記憶される。ＣＰＵ１０は、第１フレーム画像Ｆ１のコピーを作成して、そのコピーに画像処理を行って第２フレーム画像Ｆ１を生成する。そして、第１デコーダＤ１が第１フレーム画像Ｆ１を、第２デコーダＤ２が第２フレーム画像Ｆ２をそれぞれデコードして、そのそれぞれのデコード結果の成否をＣＰＵ１０が判定する。ＣＰＵ１０は、成功したと判定したデコード結果を符号化情報として決定する。【選択図】図１
2006252039.tif 000002
【特許請求の範囲】
【請求項１】
デジタルコードの画像データを取得する取得手段と、
この取得手段により取得された画像データをデコードする第１のデコード手段と、
前記取得手段により取得された画像データを画像処理する画像処理手段と、
この画像処理手段により画像処理された画像データをデコードする第２のデコード手段と、
前記第１のデコード手段及び前記第２のデコード手段によるデコードの成否を判定する判定手段と、
この判定手段により成功したと判定されたデコードの結果を前記デジタルコードにより符号化された情報として決定する決定手段と、
を備えることを特徴とするコード読み取り装置。
【請求項２】
前記画像処理手段は、前記第１のデコード手段によるデコードの終了以前に、前記取得された画像コードの画像処理を開始する並列画像処理手段を有することを特徴とする請求項１に記載のコード読み取り装置。
【請求項３】
前記画像処理手段は、前記取得された画像データに対して相異なる複数の画像処理を個々に行う複数画像処理手段を有し、
前記第２のデコード手段は、前記画像データに対して行った複数の画像処理結果それぞれをデコードする複数デコード手段を有し、
前記判定手段は、
前記第１のデコード手段によるデコードの成否と、前記複数デコード手段による複数のデコードの成否とを判定する複数判定手段を有することを特徴とする請求項１又は２に記載のコード読み取り装置。
【請求項４】
前記取得手段は、前記デジタルコードの画像データをフレーム単位で取得するフレーム取得手段を有し、
前記画像処理手段は、前記取得された画像データをフレーム単位で画像処理するフレーム画像処理手段を有することを特徴とする請求項１〜３の何れか一項に記載のコード読み取り装置。
【請求項５】
前記取得手段は、前記デジタルコードの画像データをライン単位で取得するライン取得手段を有し、
前記画像処理手段は、前記取得された画像データをライン単位で画像処理するライン画像処理手段を有することを特徴とする請求項１〜３の何れか一項に記載のコード読み取り装置。
【請求項６】
第１の記憶手段と、第２の記憶手段と、
前記取得手段により取得された画像データを前記第１の記憶手段に、前記画像処理手段により画像処理された画像データを前記第２の記憶手段にそれぞれ転送する専用バスと、を更に備え、
前記第１のデコード手段は、前記第１の記憶手段に記憶された画像データを、前記第２のデコード手段は、前記第２の記憶手段に記憶された画像データをそれぞれ前記専用バスを介して読み出してデコードすることを特徴とする請求項１〜５の何れか一項に記載のコード読み取り装置。
【請求項７】
デジタルコードの画像データを取得する取得ステップと、
この取得ステップにおいて取得された画像データをデコードする第１のデコードステップと、
前記取得ステップにおいて取得された画像データの画像処理を行う画像処理ステップと、
この画像処理ステップにおいて画像処理された画像データをデコードする第２のデコードステップと、
前記第１のデコードステップ及び前記第２のデコードステップにおけるデコードの成否を判定する判定ステップと、
この判定ステップにおいて成功したと判定されたデコードの結果を前記デジタルコードにより符号化された情報として決定する決定ステップと、
を含むことを特徴とするコード読み取り方法。
【請求項８】
デジタルコードの画像データを取得する取得機能と、
この取得機能により取得された画像データをデコードする第１のデコード機能と、
前記取得機能により取得された画像データの画像処理を行う画像処理機能と、
この画像処理機能により画像処理された画像データをデコードする第２のデコード機能と、
前記第１のデコード機能及び前記第２のデコード機能によるデコードの成否を判定する判定機能と、
この判定機能において成功したと判定されたデコードの結果を前記デジタルコードにより符号化された情報として決定する決定機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コード読み取り装置、コード読み取り方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、太さや間隔の異なる棒（バー）を並べ合わせることで様々な情報を符号化したバーコード（一次元コード）が知られているが、一次元コードの情報量の不足に対する要望から、点や線を縦横に複雑に組み合わせることより多くの情報を符号化する二次元コードが考案されて広く普及してきた（以下、一次元コード及び二次元コードを総称して「デジタルコード」という。）。
【０００３】
また、デジタルコードによって符号化された情報の読み取りを行うコード読み取り装置が広く普及している。コード読み取り装置は、記録媒体上に記録されたデジタルコードをイメージセンサで撮像し、その撮像画像をデコード（復元）処理することで、デジタルコードの読み取りを行う（特許文献１参照）。
【特許文献１】特開２０００−３５３２１２号公報
【０００４】
ここで、従来のコード読み取り装置１００の具体的な動作例を、図１４（ａ）及び（ｂ）を用いて簡単に説明する。図１４（ａ）によれば、コード読み取り装置１００は、ＣＰＵ（Central Processing Unit）１１０と、ＲＯＭ（Read Only Memory）１２０と、ＲＡＭ（Random Access Memory）１３０と、イメージセンサ１４０と、タイミングコントローラ１６０、データバッファ１７０及びＤＭＡ（direct memory access）１８０を有する専用ＡＳＩＣ（application-specific integrated circuit）１５０とがシステムバス１９０に接続されて構成されている。
【０００５】
先ず、ＣＰＵ１１０が一定期間毎に随時更新していく露光設定Ａ，Ｂ，Ｃ，・・・，に対し、タイミングコントローラ１６０が図１４（ｂ）に示すようなフレーム同期信号ＦＳをイメージセンサ１４０に出力する。イメージセンサ１４０は、フレーム同期信号ＦＳがＬ（ＬＯＷ）となっている期間（以下、この期間を「露光期間」、当該露光期間内に露光した画像の単位を「フレーム」という。）に露光を行ってデジタルコードの撮像を行う。
【０００６】
イメージセンサ１４０が露光中に走査した画像データは、データバッファ１７０に１ライン分蓄積された後に、ＤＭＡ１８０を介してＲＡＭ１３０に直接転送される。その転送された１ライン分のデータは、ＲＡＭ１３０のフレーム画像１３２格納領域に１フレーム分蓄積記憶される。
【０００７】
これにより、露光期間Ａ１，Ｂ１，Ｃ１，・・・，の間にイメージセンサ１４０がデジタルコードを露光・走査することにより、ＲＡＭ１３２のフレーム画像１３２は、１３２Ａ１，１３２Ｂ１，１３２Ｃ１，・・・，と更新されていく。そして、ＣＰＵ１１０のデコーダ１１２は、フレーム画像１３２のデコードが成功するまで、逐次更新されるフレーム画像１３２Ａ１，１３２Ｂ１，・・・，のデコードを行っていく。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、イメージセンサにより撮像された画像（フレーム画像）の画質は、露光設定や露光時の環境（例えば、光量や手ぶれ）に大きく影響する。このため、特許文献１のコード読み取り装置が撮像した画像の画質が悪かった場合には、当該画像中のデジタルコードから情報の復元できず、デコードに失敗してしまうことがあった。
【０００９】
一方、図１４（ａ）に示したコード読み取り装置１００は、露光設定を変えてデコードに成功するまで撮影を繰り返す。しかし、１つのフレーム画像のデコードに成功する確率、即ちデコード率は、その撮影時の露光設定や露光環境の影響を受け、特許文献１のコード読み取り装置と余り変わらない。このため、露光回数を単に増やしたコード読み取り装置１００が最終的にデコードに成功するには、結局は露光設定や露光環境が良好な状態でなければならなく、コード読み取り装置１００全体のデコード率の向上は図れない。
【００１０】
また、１つの露光設定での露光回数を増やして、例えば、図１４（ｂ）のように露光期間Ａ１及びＡ２の２回露光を行って得られたフレーム画像１３２Ａ１と１３２Ａ２の両方をデコードする方法もある。しかし、同じ露光設定で連続して撮像されたフレーム画像の画質にはほとんど変化はないため、１つの露光設定で露光回数を増やすことでデコード率の向上は図れない。また、コード読み取り装置１００を統括的に制御するＣＰＵ１１０資源を無駄に使うことになり、コード読み取り装置１００の処理能率が低下してしまった。
【００１１】
本発明の課題は、コード読み取り装置の処理能率を低下させることなくデコード率を向上ことである。
【課題を解決するための手段】
【００１２】
以上の課題を解決するために、請求項１に記載のコード読み取り装置は、
デジタルコードの画像データを取得する取得手段と、
この取得手段により取得された画像データをデコードする第１のデコード手段と、
前記取得手段により取得された画像データの画像処理を行う画像処理手段と、
この画像処理手段により画像処理された画像データをデコードする第２のデコード手段と、
前記第１のデコード手段及び前記第２のデコード手段によるデコードの成否を判定する判定手段と、
この判定手段により成功したと判定されたデコードの結果を前記デジタルコードにより符号化された情報として決定する決定手段と、
を備えることを特徴としている。
【００１３】
請求項２に記載の発明は、請求項１に記載のコード読み取り装置であって、
前記画像処理手段は、前記第１のデコード手段によるデコードの終了以前に、前記取得された画像データの画像処理を開始する並列画像処理手段を有することを特徴としている。
【００１４】
請求項３に記載の発明は、請求項１又は２に記載のコード読み取り装置であって、
前記画像処理手段は、前記取得された画像データに対して相異なる複数の画像処理を個々に行う複数画像処理手段を有し、
前記第２のデコード手段は、前記画像データに対して行った複数の画像処理結果それぞれをデコードする複数デコード手段を有し、
前記判定手段は、
前記第１のデコード手段によるデコードの成否と、前記複数デコード手段による複数のデコードの成否とを判定する複数判定手段を有することを特徴としている。
【００１５】
請求項４に記載の発明は、請求項１〜３の何れか一項に記載のコード読み取り装置であって、
前記取得手段は、前記デジタルコードの画像データをフレーム単位で取得するフレーム取得手段を有し、
前記画像処理手段は、前記取得された画像データをフレーム単位で画像処理するフレーム画像処理手段を有することを特徴としている。
【００１６】
請求項５に記載の発明は、請求項１〜３の何れか一項に記載のコード読み取り装置であって、
前記取得手段は、前記デジタルコードの画像データをライン単位で取得するライン取得手段を有し、
前記画像処理手段は、前記取得された画像データをライン単位で画像処理するライン画像処理手段を有することを特徴としている。
【００１７】
請求項６に記載の発明は、請求項１〜５の何れか一項に記載のコード読み取り装置であって、
第１の記憶手段と、第２の記憶手段と、
前記取得手段により取得された画像データを前記第１の記憶手段に、前記画像処理手段により画像処理された画像データを前記第２の記憶手段にそれぞれ転送する専用バスと、を更に備え、
前記第１のデコード手段は、前記第１の記憶手段に記憶された画像データを、前記第２のデコード手段は、前記第２の記憶手段に記憶された画像データをそれぞれ前記専用バスを介して読み出してデコードすることを特徴としている。
【００１８】
請求項７に記載のコード読み取り方法は、
デジタルコードの画像データを取得する取得ステップと、
この取得ステップにおいて取得された画像データをデコードする第１のデコードステップと、
前記取得ステップにおいて取得された画像データの画像処理を行う画像処理ステップと、
この画像処理ステップにおいて画像処理された画像データをデコードする第２のデコードステップと、
前記第１のデコードステップ及び前記第２のデコードステップにおけるデコードの成否を判定する判定ステップと、
この判定ステップにおいて成功したと判定されたデコードの結果を前記デジタルコードにより符号化された情報として決定する決定ステップと、
を含むことを特徴としている。
【００１９】
請求項８に記載のプログラムは、
デジタルコードの画像データを取得する取得機能と、
この取得機能により取得された画像データをデコードする第１のデコード機能と、
前記取得機能により取得された画像データの画像処理を行う画像処理機能と、
この画像処理機能により画像処理された画像データをデコードする第２のデコード機能と、
前記第１のデコード機能及び前記第２のデコード機能によるデコードの成否を判定する判定機能と、
この判定機能において成功したと判定されたデコードの結果を前記デジタルコードにより符号化された情報として決定する決定機能と、
をコンピュータに実現させることを特徴としている。
【発明の効果】
【００２０】
請求項１、７及び８に記載の発明によれば、画像処理を施したデジタルコードの画像データと、画像処理を施さないそのままの画像データとにそれぞれデコードを行って、そのデコードの成否を判定するので、画像処理を施さない画像データに対するデコードが失敗であったとしても、その画像データに画像処理を施すことでそのデコードに成功し得る場合があるため、単に取得した画像データをデコードしただけよりも、デコードに成功する確率、即ち、デコード率を向上させることができる。
【００２１】
請求項２に記載の発明によれば、第１のデコード手段によるデコードの終了以前に、画像処理手段は画像処理を開始することで、デコードと画像処理とが並列的に実現されるので、第２のデコーダ手段は、画像処理後の画像データがより早く得られるため、コード読み取り装置の処理能率を上げることができる。
【００２２】
請求項３に記載の発明によれば、デジタルコードの画像データに相異なる複数の画像処理を個々に行って、その画像処理結果それぞれをデコードするため、判定手段の成否判定の対象となるデコード数が増し、更にデコード率の向上が図れる。
【００２３】
請求項４に記載の発明によれば、デジタルコードの画像データをフレーム単位で画像処理するコード読み取り装置が実現される。
【００２４】
請求項５に記載の発明によれば、デジタルコードの画像データをライン単位で画像処理するため、画像処理手段による画像処理結果がライン単位毎に得られるので、第２のデコード手段は、ライン単位毎にデコードを行え、より早くデコード結果を出すことができるため、コード読み取り装置の処理能率を上げることができる。
【００２５】
請求項６に記載の発明によれば、第１のデコード手段がデコードする画像データの転送及び読み出しと、第２のデコード手段がデコードする画像データの転送呼び読み出しは専用バスを介して直接行われるので、デコードに際して、コード読み取り装置内でのデータ通信の負荷を低減させて、コード読み取り装置の処理能率を上げることができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明のコード読み取り装置の実施形態について図１〜図１３を参照して詳細に説明する。コード読み取り装置は、取得したデジタルコードの画像データをデコードすることで、当該デジタルコードによって符号化された情報（以下、「符号化情報」と略し、例えば、価格やシリアル番号等の商品管理情報、ＵＲＬやＥ−ｍａｉｌアドレス等がある。）を読み取るための装置である。
【００２７】
デジタルコードのコード形式には、１次元コード（バーコード）のＪＡＮ（Japan Article Number）、ｃｏｄｅ３９、ＩＴＦ（Interleaved Two of Five）等や、２次元コードのＱＲ（Quick Response）コード、ＰＤＦ４１７、ＤａｔａＭａｔｒｉｘ、Ｍａｘｉ  Ｃｏｄｅ等があり、ＣＰＵは、イメージセンサ４０により取得された画像データに対して、コード形式に適応したデコードを行う。
【００２８】
このコード読み取り装置は、例えば、ＰＯＳ（Point of Sales）システムのバーコードリーダ、バーコードスキャナ等に適用されるが、その適用例はこれに限られず、例えば、ハンディターミナルや携帯電話、ＰＤＡ（Personal Digital Assistant）の各種電子機器に適宜適用可能である。
【００２９】
〔第１実施形態〕
先ず、コード読み取り装置１の第１実施形態について図１〜図４を参照して説明する。図１は、コード読み取り装置１の機能構成の一例を示すブロック図である。図１に示すようにコード読み取り装置１は、ＣＰＵ１０と、ＲＯＭ２０と、ＲＡＭ３０と、イメージセンサ４０によるデジタルコードの撮像処理を制御する専用ＡＳＩＣ５０とがシステムバスＳＢに接続されて構成されている。
【００３０】
ＣＰＵ１０は、ＲＯＭ２０に記憶されたプログラムに基づいた処理を実行し、各機能部への指示やデータの入出力を行うことで、コード読み取り装置１を統括的に制御する。より具体的には、ＲＯＭ２０に記憶されたコード読み取りプログラム２２を読み出して、ＲＡＭ３０に展開することで、デジタルコードによって符号化された情報を読み取るためのコード読み取り処理（図３（ａ）参照）を実行する。
【００３１】
また、ＣＰＵ１０は、２つ以上の異なる処理工程を並列に行えるように構成されており、本実施形態では、コード読み取り装置１の全体制御や画像処理（画像処理手段）とは別に、第１デコーダＤ１（第１のデコード手段）と、第２デコーダＤ２（第２のデコード手段）とを個々に実現する。
【００３２】
第１デコーダＤ１は、ＲＡＭ３０に記憶された第１フレーム画像Ｆ１のデコードを行う。この第１フレーム画像Ｆ１は、イメージセンサ４０及び専用ＡＳＩＣ５０によって取得されたデジタルコードの画像データである。第１デコーダＤ１は、第１フレーム画像Ｆ１を２値化した結果、デジタルコードが１次元コードであった場合、バーコードの長さ及び幅と、隣り合うバーの間隔とを算出して、その算出結果を元に情報の復元を行い、また、デジタルコードが２次元コードであった場合は、白黒のデータセルの配置パターンを元に情報の復元を行う。第１デコーダＤ１は、復元した情報に対して、第１フレーム画像Ｆ１のデジタルコードに含まれるチェックディジットによって誤り訂正を行う。
【００３３】
第２デコーダＤ２は、ＲＡＭ３０に記憶された第２フレーム画像Ｆ２のデコードを行う。この第２フレーム画像Ｆ２は、第１フレーム画像Ｆ１に所定の画像処理を施して得られた画像データである。第１フレーム画像Ｆ１に対して施す画像処理としては、例えば、コントラスト補正、γ補正、ノイズ除去等があり、第１フレーム画像Ｆ１の画質を改善する画像処理であれば適宜採用可能であり、また、複数の画像処理を組み合わせることとしてもよい。尚、第２デコーダＤ２が行うデコードと、第１デコーダＤ２が行うデコードと同一の処理内容であるのでその説明は省略する。
【００３４】
図２（ａ）は、第１フレーム画像Ｆ１の一例であり、図２（ｂ）は、第１フレーム画像Ｆ１にコントラスト補正を施した際の第２フレーム画像Ｆ２の一例である。図２（ａ）の第１フレーム画像Ｆ１では、バーコードの長さや幅、間隔を識別することが困難であるためデコードに成功し難いが、第２フレーム画像Ｆ２は、第１フレーム画像Ｆ１よりも、バーコードの明暗がはっきりしているためデコードが容易である。このように、第１フレーム画像Ｆ１と、画像処理後の第２フレーム画像Ｆ２との２つの異なる画像それぞれをデコードすることにより、デコード率の向上を図っている。
【００３５】
尚、第１デコーダＤ１及び第２デコーダＤ２は、ＣＰＵ１０がソフト的に実現することとしたが、ＣＰＵ１０とは別個の電子回路でハード的に実現することとしてもよい。
【００３６】
ＲＯＭ２０は、各種初期設定やハードウェアの検査等を行うための初期プログラムや、コード読み取り装置１の動作に係る各種機能を実現するためのプログラムを格納する。図１によれば、ＲＯＭ２０は、コード読み取り処理（図３（ａ）参照）を実現するためのコード読み取りプログラム２２を記憶している。
【００３７】
ＲＡＭ３０は、ＣＰＵ１０が実行する各種プログラムの実行に係るデータ等を一時的に保持する記憶領域である。図１によれば、ＲＡＭ３０は、上述した第１フレーム画像Ｆ１と、第２フレーム画像Ｆ２とを記憶している。ＣＰＵ１０は、第１フレーム画像Ｆ１のコピーを作成して、そのコピーに対して画像処理を施して第２フレーム画像Ｆ２を生成する。また、ＣＰＵ１０（並列画像処理手段）は、第１デコーダＤ１のデコードが終了する以前に、第１フレーム画像Ｆ１のコピーに対して画像処理を開始することで、第２フレーム画像Ｆ２の生成を早めて第２デコーダＤ２によるデコードに移行することができる。
【００３８】
専用ＡＳＩＣ５０は、コード読み取り装置１のために設計・製造されたＬＳＩ（Large Scale Integration）であり、イメージセンサ４０の制御と、当該イメージセンサ４０により取得された画像データのＲＡＭ３０への転送とを行う。
【００３９】
イメージセンサ４０は、ＣＭＯＳセンサや照明ＬＥＤ等を備えて構成され、記録媒体に記録・貼付されたデジタルコードを走査して当該デジタルコードの画像データを光学的に取得する機能部である。イメージセンサ４０は、タイミングコントローラ６０から出力されるフレーム同期信号ＦＳ（図４参照）に基づいて露光を行って、デジタルコードを走査する。そして、走査して得られた１ライン単位の画像データを所定のデータ長（例えば、８ビット）に分割して専用ＡＳＩＣ５０のデータバッファ７０に出力する。
【００４０】
また、図１によれば、専用ＡＳＩＣ５０は、タイミングコントローラ６０と、データバッファ７０と、ＲＡＭ３０に直接アクセスしてデータの読み書きを行うＤＭＡ８０とを備えて構成される。
【００４１】
タイミングコントローラ６０は、常時一定周波数のクロック信号をイメージセンサ４０に出力する回路部であり、例えば、水晶発振器により構成される。本実施形態においてｈ、タイミングコントローラ６０は、図４に示すようなフレーム同期信号ＦＳをイメージセンサ４０に出力する。このとき、イメージセンサ４０は、フレーム同期信号ＦＳがＬ（Ｌｏｗ）となっている露光期間Ａ１，Ａ２，Ｂ１，Ｂ２，・・・を１フレームおき、即ち、露光期間Ａ１，Ｂ１，Ｃ１，・・・の間に露光を行い、デジタルコードを１ラインずつ走査する。
【００４２】
データバッファ７０（ライン取得手段）は、イメージセンサ４０の走査によって取得された画像データを一旦蓄積した後にＤＭＡ８０に出力する回路部である。図１によれば、データバッファ７０は、セレクタＳＬと、第１ラインバッファＢＦ１と、第２ラインバッファＢＦ２とを備えて構成される。
【００４３】
ここで、データバッファ７０の動作を簡単に説明すると次のようになる。先ず、セレクタＳＬは、イメージセンサ４０から出力される所定データ長の画像データを第１ラインバッファＢＦ１に所定回数出力することで、システムバスＳＢ上で送受信可能な１ライン分のデータ長の画像データを第１ラインバッファＢＦ１に蓄積させる。
【００４４】
セレクタＳＬは、第１ラインバッファＢＦ１に所定回数画像データを出力した後に、画像データの出力先を第２ラインバッファＢＦ２に切り替えて、次は第２ラインバッファＢＦ２の蓄積を行う。第２ラインバッファＢＦ２に画像データを蓄積している間、第１ラインバッファＢＦ１に蓄積された１ライン分の画像データは、ＤＭＡ８０を介してＲＡＭ３０に転送されて、第１フレーム画像Ｆ１の格納領域に書き込まれる。次いで、セレクタＳＬが第１ラインバッファＢＦ１に出力を切り替えると、第２ラインバッファＢＦ２に蓄積された画像データがＤＭＡ８０を介してＲＡＭ３０の第１フレーム画像Ｆ１の格納領域に書き込まれる。
【００４５】
例えば、イメージセンサ４０から出力される画像データが８ビットであれば、セレクタＳＬは、その画像データを４回ずつ、第１ラインバッファＢＦ１及び第２ラインバッファＢＦ２に出力することで、３６ビットの１ライン分の画像データを蓄積させる。これにより、イメージセンサ４０で走査された画像データを、システムバスＳＢ上で通信可能なデータ長に変換して、ＲＡＭ３０に直接書き込むことができる。従って、イメージセンサ４０で取得された画像データをＲＡＭ３０に記憶させるための制御をＣＰＵ１０が行う必要はなく、ＣＰＵ１０の負荷を軽減させることができる。
【００４６】
次に、図３（ａ）及び（ｂ）のフローチャートと図４のタイムチャートとを用いて、コード読み取り装置１の具体的な動作について説明する。
【００４７】
先ず、タイミングコントローラ６０が出力する図４に示すフレーム同期信号ＦＳに基づいて、イメージセンサ４０は１フレームおきに露光を行って第１フレーム画像Ｆ１を逐次更新していく。具体的には、始めに露光期間Ａ１の間に走査した１ライン毎の画像データをＤＭＡ８０を介してＲＡＭ３０に転送する。その１ライン毎の画像データは、ＲＡＭ３０に順次書き込まれて１フレーム単位の画像データが第１フレーム画像Ｆ１ａとして記憶される。
【００４８】
ＣＰＵ１０（フレーム取得手段）は、図３（ａ）に示すコード読み取り処理を開始すると、ＲＡＭ３０の更新された第１フレーム画像Ｆ１ａを取得して（ステップＳ１；取得ステップ）、サブルーチンとして図３（ｂ）に示すデコード処理を行う（ステップＳ３）。尚、取得手段は、ＣＰＵ１０、イメージセンサ４０及び専用ＡＳＩＣ５０が協働することにより実現される。
【００４９】
図３（ｂ）に示すデコード処理において、第１デコーダＤ１は、第１フレーム画像Ｆ１ａのデコードを行い（ステップＳ３１；第１のデコードステップ）、一方ではＣＰＵ１０（フレーム画像処理手段）が、１フレーム分の第１フレーム画像Ｆ１に画像処理を施して第２フレーム画像Ｆ２ａを生成する（ステップＳ３３；画像処理ステップ）。
【００５０】
そして、ステップＳ３３の画像処理後に第２デコーダＤ２が第２フレーム画像Ｆ２ａをデコードして（ステップＳ３５；第２のデコードステップ）、第１デコーダＤ１及び第２デコーダＤ２それぞれのデコードが終了した後に、メインルーチンであるコード読み取り処理に戻る。
【００５１】
ＣＰＵ１０（判定手段）は、第１デコーダＤ１のデコード結果と、第２デコーダＤ２のデコーダ結果とのそれぞれの成否を判定する（ステップＳ５；判定ステップ）。例えば、デコード結果中から国コードやメーカーコード、商品管理情報、ＵＲＬ等が識別可能であり、適切に誤り訂正ができた場合に、デコードに成功したと判定する。
【００５２】
ＣＰＵ１０（決定手段）は、第１デコーダＤ１及び第２デコーダＤ２それぞれのデコーダ結果のうち、少なくとも何れか一方がデコーダに成功したと判定した場合は（ステップＳ５；Ｙｅｓ）、その成功したデコード結果を符号化情報として決定して（ステップＳ７；決定ステップ）、図３（ａ）に示すコード読み取り処理を終了する。
【００５３】
一方、ステップＳ５において、第１デコーダＤ１及び第２デコーダＤ２の何れにもデコードに失敗したと判定した場合（ステップＳ５；Ｎｏ）、ＣＰＵ１０は、次に更新された第１フレーム画像Ｆ１ｂを取得して、上述したデコード処理とデコード結果の成否判定とを行う。このように、ＣＰＵ１０は、デコードに成功するまで逐次更新されていく第１フレーム画像Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃ，・・・に対してステップＳ１〜Ｓ５の処理を繰り返す。
【００５４】
以上、第１実施形態によれば、イメージセンサ４０により取得されたままの画像データ（第１フレーム画像Ｆ１）を単にデコードするだけでなく、画像処理を施した画像データ（第２フレーム画像Ｆ２）をデコードして、そのデコード結果の成否を判定することで、コード読み取り装置１のデコード率の向上を図ることができる。
【００５５】
また、図４によれば、露光期間Ｂ１において得られた第１フレーム画像Ｆ１ｂをＲＡＭ３０に転送している間に、第１デコーダＤ１によるデコードと並行して、第２フレーム画像Ｆ２を生成するための画像処理や第２デコーダＤ２によるデコードを行っている。これにより、第１デコーダＤ１によるデコードの空き時間にデコード率の向上を図るための第２デコーダＤ２のデコードを行うことができる。従って、デコード率の向上のためにＣＰＵ１０を効率的に使用して、ＣＰＵ資源を無駄にすることがない。
【００５６】
尚、第１実施形態において、第１フレーム画像Ｆ１に対する画像処理は、専用ＡＳＩＣ５０から転送される１ラインずつの画像データがＲＡＭ３０に１フレーム分記憶された後に行うこととしたが、例えば、次のようにしてもよい。
【００５７】
即ち、専用ＡＳＩＣ５０から１ライン毎の画像データがＲＡＭ３０に書き込まれる度に、ＣＰＵ１０（ライン画像処理手段）が、その１ライン毎の画像データを読み出して画像処理を施していく。このように、画像データの転送に対して画像処理を並行して行うことで、図５に示すように、第２フレーム画像Ｆ２ａ，Ｆ２ｂ，・・・といった１フレーム分の第２フレーム画像Ｆ２の生成が早まる。従って、第２デコーダＤ２によるデコードの開始タイミングを繰り上げて、コード読み取り装置１の処理効率を上げることができる。
【００５８】
また、第１実施形態におけるコード読み取り装置１は、画像処理手段をＣＰＵ１０がソフト的に実現することとしたが、これをハード的に実現することとしてもよい。次に、第１フレーム画像Ｆ１の画像処理をハード的に実現した場合の第２実施形態について図６〜図１１を用いて説明する。尚、以下の説明において、上述したコード読み取り装置１と同一の構成要素には同一の符号を付してその説明は省略する。
【００５９】
〔第２実施形態〕
図６は、第１変形例におけるコード読み取り装置１ａの機能構成を示すブロック図である。図６によれば、コード読み取り装置１ａは、ＣＰＵ１０、ＲＯＭ２０、ＲＡＭ３０及び専用ＡＳＩＣ５０ａがシステムバスＳＢに接続されて構成されている。
【００６０】
また、専用ＡＳＩＣ５０ａは、タイミングコントローラ６０と、データバッファ７０と、ＤＭＡ８０と、画像処理プロセッサ（Image Processor）９０とを備えて構成されている。画像処理プロセッサ９０（画像処理手段）は、第１実施形態においてＣＰＵ１０が行っていた画像処理をＣＰＵ１０とは独立して実現するための回路部である。
【００６１】
専用ＡＳＩＣ５０ａは、第１実施形態と同様に、イメージセンサ４０で走査・取得された１ライン毎の画像データを第１ラインバッファＢＦ１及び第２ラインバッファＢＦ２で交互に蓄積した後、ＤＭＡ８０を介してＲＡＭ３０に直接転送して第１フレーム画像Ｆ１として書き込む。
【００６２】
１フレーム分の画像データをＲＡＭ３０に転送し終えたら、セレクタＳＬは、第１ラインバッファＢＦ１及び第２ラインバッファＢＦ２への画像データの出力を停止する。そして、ＣＰＵ１０は、記憶更新された第１フレーム画像Ｆ１のコピーを作成して、第２フレーム画像Ｆ２としてＲＡＭ３０に記憶する。その後、第１デコーダＤ１が第１フレーム画像Ｆ１を取得してデコードを開始する。尚、このコピーの作成は画像処理プロセッサ９０が行うこととしてもよい。
【００６３】
一方、画像処理プロセッサ９０は、ＤＭＡ８０を介して直接第２フレーム画像Ｆ２をＲＡＭ３０から読み込んで、第１実施形態と同様の画像処理をその第２フレーム画像Ｆ２に対して行う。そして、画像処理プロセッサ９０は、画像処理を施した第２フレーム画像Ｆ２をＲＡＭ３０に転送して更新する。ＣＰＵ１０の第２デコーダＤ２は画像処理された第２フレーム画像Ｆ２を取得してデコードする。
【００６４】
ＣＰＵ１０は、第１実施形態と同様に第１デコーダＤ１及び第２デコーダＤ２それぞれのデコード結果の成否判定を行って、デコードに失敗した場合は、次に更新される第１フレーム画像Ｆ１と、そのコピー（第２フレーム画像Ｆ２）とで、デコードと成否判定とを繰り返し、デコードに成功した場合は、そのデコード結果を符号化情報として決定する。
【００６５】
以上、第２実施形態によれば、第１実施形態においてＣＰＵ１０が実行していた図３（ｂ）に示すステップＳ３３に相当する処理を、ＣＰＵ１０とは独立して設けられた画像処理プロセッサ９０が実行する。このため、ＣＰＵ１０の負荷を軽減させて、第１デコーダＤ１及び第２デコーダＤ２それぞれのデコードの処理時間を短縮することができる。
【００６６】
また、画像処理プロセッサ９０が単独で画像処理を行うことで、当該画像処理の処理時間を短縮することができる。このため、１フレーム毎の画像データ、即ち第１フレーム画像Ｆ１に対するコード読み取り処理のステップＳ１〜Ｓ５に相当する一連の処理工程をより高速に実現することができる。
【００６７】
尚、画像処理手段をハード的に実現する方法としては、図６に示したコード読み取り装置１ａに限らず、その実現方法は適宜適用可能であり、例えば、図７及び図８に示すような機能構成で実現することとしてもよい。ここで、図７及び８を用いて、第２実施形態の変形例について説明する。
【００６８】
〔第１変形例〕  
先ず、第１変形例について説明する。図７は、第１変形例におけるコード読み取り装置１ｂの機能構成の一例を示すブロック図である。このコード読み取り装置１ｂは、図６に示すコード読み取り装置１ａの専用ＡＳＩＣ５０ａを図７の専用ＡＳＩＣ５０ｂに置き換えて構成であり、他の構成要素はコード読み取り装置１ａと同一である。
【００６９】
専用ＡＳＩＣ５０ｂは、タイミングコントローラ６０、データバッファ７０、ＤＭＡ８０、画像処理プロセッサ９０、第３ラインバッファＢＦ３及び第４ラインバッファＢＦ４を備えて構成される。
【００７０】
第１変形例におけるセレクタＳＬは、イメージセンサ４０により取得された画像データを所定回数ずつ交互に切り替えて第１ラインバッファＢＦ１及び第２ラインバッファＢＦ２に出力するが、同様に第３ラインバッファＢＦ３及び第４ラインバッファＢＦ４にも画像データを交互に切り替えて出力する。
【００７１】
セレクタＳＬは、第３ラインバッファＢＦ３に所定回数（例えば、８ビットの画像データを４回）分の画像データを出力した後、第４ラインバッファＢＦ４に出力先を切り替えると、第３ラインバッファＢＦ３に蓄積された１ライン分の画像データが画像処理プロセッサ９０に出力される。同様にセレクタＳＬが、第４ラインバッファＢＦ４から第３ラインバッファＢＦ３に切り替えると、第４ラインバッファＢＦ４に蓄積された１ライン分の画像データが画像処理プロセッサ９０に出力される。
【００７２】
画像処理プロセッサ９０は、第３ラインバッファＢＦ３から入力された１ライン分の画像データに対して画像処理を行った後にＤＭＡ８０を介してＲＡＭ３０に転送して、第２フレーム画像Ｆ２として記憶させる。また、セレクタＳＬの切り替えにより第４ラインバッファＢＦ３から入力された画像データに対して画像処理を行って同様にＲＡＭ３０に転送する。
【００７３】
以上、第１変形例によれば、画像処理プロセッサ９０が、第３ラインバッファＢＦ３及び第４ラインバッファＢＦ４から入力される画像データに画像処理を施して、ＲＡＭ３０に転送する。このように、イメージセンサ４０により取得された画像データに直接画像処理を行うことにより、第１フレーム画像Ｆ１と第２フレーム画像Ｆ２とをほぼ同時に得ることがでる。このため、第２デコーダＤ２によるデコードを、第１デコーダＤ１によるデコードとほぼ同時に行うことができる。また、ＣＰＵ１０が第１フレーム画像Ｆ１のコピーの作成を行う必要がなくなり、ＣＰＵ１０の負荷を更に軽減させることができる。
【００７４】
〔第２変形例〕
次に、第２変形例について説明する。図８は、第２変形例におけるコード読み取り装置１ｃの機能構成の一例を示すブロック図である。このコード読み取り装置１ｃは、図６に示すコード読み取り装置１ａの専用ＡＳＩＣ５０ａを図７の専用ＡＳＩＣ５０ｃに置き換えて構成であり、他の構成要素はコード読み取り装置１ａと同一である。
【００７５】
専用ＡＳＩＣ５０ｃは、タイミングコントローラ６０、画像処理プロセッサ９０、分配器９５及びバスセレクタ（専用バス）ＢＳを備えて構成される。また、バスセレクタＢＳには、第１フレームメモリ（第１の記憶手段）ＦＭ１と第２フレームメモリ（第２の記憶手段）ＦＭ２とが接続されて構成されている。
【００７６】
第１フレームメモリＦＭ１は、イメージセンサ４０により取得された画像データを第１フレーム画像として一時的に記憶するための専用メモリであり、及び第２フレームメモリＦＭ２は、画像処理プロセッサ９０により画像処理された画像データを第２フレーム画像として一時的に記憶するための専用メモリである。
【００７７】
分配器９５は、イメージセンサ４０から入力される画像データを、画像処理プロセッサ９０及びバスセレクタＢＳにそれぞれ出力する回路部である。第２変形例における画像処理プロセッサ９０は、分配器９５から入力された画像データに対して画像処理を施してバスセレクタＢＳに出力する。
【００７８】
バスセレクタＢＳは、専用ＡＳＩＣ５０ｃが予め備える制御レジスタ（図示略）の制御に基づいて、第１フレームメモリＦＭ１及び第２フレームメモリＦＭ２に対する画像データの出力と、第１フレームメモリＦＭ１及び第２フレームメモリＦＭ２に記憶された画像データのＣＰＵ１０に対する出力とを行う回路部である。制御レジスタは、専用ＡＳＩＣ５０ｃの動作に係る初期プログラムや各種データを記憶している。
【００７９】
ここで、バスセレクタＢＳの具体的な動作を簡単に説明する。先ず、バスセレクタＢＳは、分配器９５から入力される画像データを第１フレームメモリＦＭ１に出力し、その間、第２フレームメモリＦＭ２に記憶されている第２フレーム画像、即ち、画像処理後の画像データをＣＰＵ１０に出力する。このとき、ＣＰＵ１０の第２デコーダＤ２が、第２フレーム画像をデコードする。
【００８０】
また、バスセレクタＢＳは、制御レジスタの制御に基づいて画像データの入力先を分配器９５から画像処理プロセッサ９０に切り替えた場合、画像処理プロセッサ９０から入力される画像データを第２フレームメモリＦＭ２に出力する共に、第１フレームメモリＦＭ１に記憶された第１フレーム画像をＣＰＵ１０に出力する。このとき、ＣＰＵ１０の第１デコーダＤ１が第１フレーム画像、即ち、イメージセンサ４０により取得されたままの画像データをデコードする。
【００８１】
以上、第２変形例によれば、第１フレーム画像及び第２フレーム画像を記憶するための専用メモリ（第１フレームメモリＦＭ１及び第２フレームメモリＦＭ２）をシステムバスＳＢから独立させて、専用ＡＳＩＣ５０ｃに直結して設けた。このため、システムバスＳＢを介して第１フレーム画像及び第２フレーム画像をＲＡＭ３０に転送して書き込む必要がなくなる。
【００８２】
これにより、画像データのデータ通信によってシステムバスＳＢを占有する時間（占有率）を大幅に下げることができる。また、ＲＡＭ３０をコード読み取り装置１ｃのシステムメモリとして使用することができ、コード読み取り装置１ｃの処理速度の向上が図れる。尚、このようなコード読み取り装置１ｃは、例えば、ハンディターミナルの無線通信処理のような、コード読み取り処理以外にも重要な機能を持つコード読み取り装置に対して有効な構成として適用することができる。
【００８３】
〔第３変形例〕
また、上述した実施形態では、第１フレーム画像Ｆ１に画像処理を施して生成した第２フレーム画像Ｆ２をデコードすることとしたが、２以上の相異なる画像処理それぞれを第１フレーム画像に施し、第２フレーム画像，第３フレーム画像，第４フレーム画像，・・といった複数のフレーム画像を生成してそれぞれにデコードを行うこととしてもよい。ここで、第１フレーム画像に２種類の画像処理を施した場合のコード読み取り装置１ｄの第３変形例について図９〜１２を用いて説明する。
【００８４】
第３変形例におけるコード読み取り装置１ｄは、図９に示すように、図１に示すコード読み取り装置１のＣＰＵ１０をＣＰＵ１０ｄに、ＲＯＭ２０をＲＯＭ２０ｄに、ＲＡＭ３０をＲＡＭ３０ｄに置き換えた構成である。そのため、コード読み取り装置１と同一の構成要素についてはその説明を省略する。
【００８５】
ＣＰＵ１０ｄは、第１デコーダＤ１、第２デコーダＤ２、第３デコーダＤ３（複数デコード手段）及び２種類の画像処理（複数画像処理）を並列的に実現可能に構成されている。ＲＡＭ３０ｄは、第１フレーム画像Ｆ１、第２フレーム画像Ｆ２及び第３フレーム画像Ｆ３を記憶している。
【００８６】
ＣＰＵ１０ｄは、第１フレーム画像Ｆ１のコピーを２つ作成する。そして、一方のコピーに対してはコントラスト補正を行い、他方のコピーにはノイズ除去を行うといったように、それぞれのコピーに対して相異なる画像処理を施してそれぞれを第２フレーム画像Ｆ２及び第３フレーム画像Ｆ３として生成する。
【００８７】
このようにして、ＣＰＵ１０ｄは複数画像処理手段を実現するが、例えば、コントラスト補正とはパラメータの異なるγ補正を第１フレーム画像Ｆ１に行って第３フレーム画像Ｆ３を生成したり、コントラスト補正とノイズ除去とを組み合わせて行って第３フレーム画像Ｆ３を生成したりするといったように、画像処理のパラメータや組み合わせを変えて実現することとしてもよい。
【００８８】
ＲＯＭ２０ｄは、第３変形例に係るコード読み取り処理を実現するためのコード読み取りプログラム２２ｄを記憶している。第３変形例におけるコード読み取り処理は、図３（ａ）のステップＳ３のデコード処理を図１０に示すデコード処理に置き換えた処理であり、図３（ａ）及び（ｂ）に示す処理ステップと同一の処理ステップには、同一の符号を付してその詳細な説明は省略する。
【００８９】
次に、コード読み取り装置１ｄのコード読み取り処理の具体的な動作を、図１０のフローチャートと、図１１のタイムチャートを用いて説明する。
【００９０】
ＣＰＵ１０ｄは、専用ＡＳＩＣ５０から転送される１ライン毎に画像データを取得して、その画像データに画像処理を施すことで、第１フレーム画像Ｆ１ａと共に、順次第２フレーム画像Ｆ２ａを生成する（ステップＳ３３）。
【００９１】
そして、第１デコーダＤ１が第１フレーム画像Ｆ１に対してデコードを行い、第２デコーダＤ２が第２フレーム画像Ｆ２に対してデコードを行う。その一方で、ＣＰＵ１０ｄは、第１フレーム画像Ｆ１のコピーにステップＳ３３の画像処理とは異なる画像処理を行って、第３フレーム画像Ｆ３を生成する（ステップＳ３７）。このため、ＣＰＵ１０ｄは、第１デコーダＤ１のデコーダと、第２デコーダＤ２のデコーダと、ステップＳ３７の画像処理との３つ処理を並行処理することとなる。
【００９２】
そして、生成した第３フレーム画像Ｆ３に対して第３デコーダＤ３がデコードを行った後（ステップＳ３９）、ＣＰＵ１０ｄ（複数判定手段）は、メインルーチンのコード読み取り処理に戻って、第１〜第３デコーダＤ１〜Ｄ３それぞれのデコード結果の成否判定を行う。
【００９３】
以上、第３変形例によれば、第１フレーム画像Ｆ１に対して２種類の画像処理を施した後にそのそれぞれにデコードを行うことで、１種類の画像処理を施すよりも更にデコード率を向上させることができる。
【００９４】
尚、３つのデコード結果それぞれの成否判定は、図３（ａ）のステップＳ７において同時に行うだけではなく、それぞれの成否判定を逐次実行するようにしてもよい。即ち、第２デコーダＤ２のデコードと並列的に第１デコーダＤ１のデコード結果の成否を判定し、その判定結果が失敗であると判定した場合は、次に第２デコーダＤ２のデコード結果の成否を判定する。更に、そのデコード結果が失敗であると判定した場合は、第３デコーダＤ３のデコード結果の成否判定を行っていく。
【００９５】
また、この第３デコーダＤ３のデコード結果の成否判定時に、順次更新されている第１フレーム画像Ｆ１ｂの取得やデコード、第２フレーム画像Ｆ２ｂの生成やデコードを図１１のようにその成否判定と並行して行っていく。これにより、コード読み取り装置１ｄの処理効率を更に上げることができる。
【００９６】
〔第４変形例〕
また、３つのデコーダによって第１〜第３フレーム画像Ｆ１〜Ｆ３のデコードを行うこととしたが、例えば、第１デコーダＤ１が、第３デコーダＤ３の機能を行う第４変形例のコード読み取り装置１ｄを実現してもよい。この場合、図３（ａ）のコード読み取り処理のデコード処理は、図１２に示すデコード処理を行う。
【００９７】
即ち、図３（ａ）のコード読み取り処理のステップＳ３において図１２に示すデコード処理を開始すると、第１デコーダＤ１が、第１フレーム画像Ｆ１ａのデコードを第３変形例の第１デコーダＤ１よりも高速に行い（ステップＳ３１）、図１３に示すように次の第１フレーム画像Ｆ１ｂのデコード開始までの空き時間Ｔを充分に確保する。その一方で、ＣＰＵ１０ｄは、第２フレーム画像Ｆ２の生成と、第２デコーダＤ２によるデコードとを行う（ステップＳ３３〜Ｓ３５）。
【００９８】
ＣＰＵ１０ｄは、第１デコードＤ１によるデコードの結果の成否を判定し、成功したと判定した場合は（ステップＳ４１：Ｙｅｓ）、そのままデコード処理を終了して、図３（ａ）のコード読み取り処理に戻る。従って、ステップＳ５では、第１フレーム画像Ｆ１と第２フレーム画像Ｆ２とのデコード結果の成否判定を行うことになる。
【００９９】
一方、ステップＳ４１で第１フレーム画像Ｆ１のデコードに失敗したと判定した場合（ステップＳ４１：Ｎｏ）、第１フレーム画像Ｆ１にステップＳ３３で施した画像処理（例えば、コントラスト補正）とは異なる画像処理（例えば、ノイズ除去）を施して第３フレーム画像Ｆ３を生成する（ステップＳ４３）。そして、第１デコーダＤ１が、空き時間Ｔの間、即ち、次に更新される第１フレーム画像Ｆ１ａのデコードを行うまでの間に、第３フレーム画像Ｄ３のデコードを行い（ステップＳ４５）、ＣＰＵ１０ｄは、図３（ａ）に示すコード読み取り処理に戻る。
【０１００】
このため、ステップＳ５では、第２フレーム画像Ｆ２と第３フレーム画像Ｄ３とのデコード結果の成否判定を行うこととなる。従って、ステップＳ４１において第１フレーム画像Ｄ３のデコードに成功したと判定した場合には、第３フレーム画像Ｄ３を生成するための画像処理と、第３フレーム画像Ｄ３のデコードとを行わずに済むため、ＣＰＵ１０ｄの負荷を低減させることができる。
【０１０１】
また、図６〜図７に示すコード読み取り装置１ａ〜１ｂにおいて２種類の画像処理を行ってデコードを行う場合は、ＲＡＭ３０が第１〜第３フレーム画像Ｆ１〜Ｆ３を記憶し、ＣＰＵ１０が第１〜第３デコーダＤ１〜Ｄ３を備えてそれぞれがデコードすることで実現可能である。また、図８のコード読み取り装置１ｃの場合は、バスセレクタＢＳに第３フレームメモリＦＭ３（図示略）を更に設けることで実現が可能である。
【図面の簡単な説明】
【０１０２】
【図１】第１実施形態におけるコード読み取り装置の機能構成の一例を示すブロック図。
【図２】第１フレーム画像と第２フレーム画像との一例。
【図３】第１実施形態におけるコード読み取り処理を説明するためのフローチャート。
【図４】第１実施形態におけるコード読み取り装置の動作例を説明するためのタイムチャート。
【図５】第１実施形態の変形例におけるコード読み取り装置の動作例を説明するためのタイムチャート。
【図６】第２実施形態におけるコード読み取り装置の機能構成の一例を示すブロック図。
【図７】第１変形例におけるコード読み取り装置の機能構成の一例を示すブロック図。
【図８】第２変形例におけるコード読み取り装置の機能構成の一例を示すブロック図。
【図９】第３変形例におけるコード読み取り装置の機能構成の一例を示すブロック図。
【図１０】第３変形例におけるコード読み取り処理を説明するためのフローチャート。
【図１１】第３変形例におけるコード読み取り装置の動作例を説明するためのタイムチャート。
【図１２】第４変形例におけるデコード処理を説明するためのフローチャート。
【図１３】第４変形例におけるコード読み取り装置の動作例を説明するためのタイムチャート。
【図１４】従来のコード読み取り装置の機能構成の一例を示すブロック図（ａ）と、その動作例を説明するためのタイムチャート（ｂ）。
【符号の説明】
【０１０３】
１      コード読み取り装置
１０      ＣＰＵ
Ｄ１      第１デコーダ
Ｄ２      第２デコーダ
２０      ＲＯＭ
２２      コード読み取りプログラム
３０      ＲＡＭ
Ｆ１      第１フレーム画像
Ｆ２      第２フレーム画像
４０      イメージセンサ
５０      専用ＡＳＩＣ
６０      タイミングコントローラ
７０      データバッファ
ＳＬ      セレクタ
ＢＦ１    第１ラインバッファ
ＢＦ２    第２ラインバッファ
８０      ＤＭＡ
９０      画像処理プロセッサ
９５      分配器
ＢＳ      バスセレクタ
ＦＭ１    第１フレームメモリ
ＦＭ２    第２フレームメモリ
ＳＢ    システムバス
【図１】
2006252039.tif 000003
【図２】
2006252039.tif 000004
【図３】
2006252039.tif 000005
【図４】
2006252039.tif 000006
【図５】
2006252039.tif 000007
【図６】
2006252039.tif 000008
【図７】
2006252039.tif 000009
【図８】
2006252039.tif 000010
【図９】
2006252039.tif 000011
【図１０】
2006252039.tif 000012
【図１１】
2006252039.tif 000013
【図１２】
2006252039.tif 000014
【図１３】
2006252039.tif 000015
【図１４】
2006252039.tif 000016