(57)【特許請求の範囲】
【請求項１】
情報コードを撮像する撮像手段と、
前記撮像手段により撮像された撮像画像に含まれる情報コードをデコードするデコード手段と、
前記デコード手段によるデコード結果を用いた所定の処理を実行するための制御手段と、
を備える光学的情報読取装置であって、
前記撮像画像の撮像領域は、複数の分割領域に区分けされており、
前記情報コードが前記複数の分割領域のいずれかに位置することに基づいて、前記撮像領域に対する当該情報コードのコード位置を検出する位置検出手段と、
前記制御手段により前記所定の処理が実行されるときのデコード結果が前回デコード結果として上書きして記憶されるとともに、このデコード結果に対応する前記コード位置が前回検出位置として上書きして記憶される記憶手段と、
前記デコード手段によるデコード結果が、前記記憶手段に記憶される前記前回デコード結果に一致するか否かについて判定する判定手段と、
前記記憶手段に記憶される前記前回検出位置を基準として前記位置検出手段により検出されたコード位置の変化を検出する位置変化検出手段と、
を備え、
前記制御手段は、
前記判定手段により前記前回デコード結果に一致しないと判定された情報コードについては、この情報コードのデコード結果を用いた前記所定の処理を実行し、
前記判定手段により前記前回デコード結果に一致すると判定された情報コードについては、前記位置変化検出手段により前記撮像領域の外縁に向かう方向の前記コード位置の変化の検出の後にこの方向と異なる方向への当該コード位置の変化が検出されると、この情報コードのデコード結果を用いた前記所定の処理を実行することを特徴とする光学的情報読取装置。
【請求項２】
前記複数の分割領域には、前記撮像領域の中心から当該撮像領域の外縁に向けて徐々に低くなる重み付けが分割領域ごとにそれぞれ付与されており、
前記位置変化検出手段は、前記コード位置の変化として、前記前回検出位置に対応する分割領域の前記重み付けを基準として、前記位置検出手段により検出されたコード位置に対応する分割領域の前記重み付けが低くなる第１の変化と当該分割領域の前記重み付けが高くなる第２の変化とを検出可能に構成され、
前記制御手段は、
前記判定手段により前記前回デコード結果に一致すると判定される場合、この情報コードについては、前記位置変化検出手段により前記第１の変化が検出された後に前記第２の変化が検出されると、この情報コードのデコード結果を用いた前記所定の処理を実行することを特徴とする請求項１に記載の光学的情報読取装置。
【請求項３】
前記前回検出位置は、前記位置検出手段により検出される最も高くなる前記重み付けのコード位置に一致するように前記記憶手段に上書きして記憶されることを特徴とする請求項２に記載の光学的情報読取装置。
【請求項４】
前記複数の分割領域には、前記前回デコード結果が前記記憶手段に記憶されるごとに、この前回デコード結果に対応する前記前回検出位置を中心に前記撮像領域の外縁に向けて徐々に低くなる重み付けが分割領域ごとにそれぞれ付与され、
前記位置変化検出手段は、前記コード位置の変化として、前記前回検出位置に対応する分割領域の前記重み付けを基準として、前記位置検出手段により検出されたコード位置に対応する分割領域の前記重み付けが低くなる第１の変化と当該分割領域の前記重み付けが高くなる第２の変化とを検出可能に構成され、
前記制御手段は、
前記判定手段により前記前回デコード結果に一致すると判定される場合、この情報コードについては、前記位置変化検出手段により前記第１の変化が検出された後に前記第２の変化が検出されると、この情報コードのデコード結果を用いた前記所定の処理を実行することを特徴とする請求項１に記載の光学的情報読取装置。
【請求項５】
前記位置変化検出手段により前記第１の変化の検出が継続する場合の継続時間を計時する計時手段を備え、
前記制御手段は、
前記判定手段により前記前回デコード結果に一致すると判定される場合、この情報コードについては、前記計時手段により計時される前記継続時間が所定時間以上となりその後に前記位置変化検出手段により前記第２の変化が検出されると、この情報コードのデコード結果を用いた前記所定の処理を実行することを特徴とする請求項２〜４のいずれか一項に記載の光学的情報読取装置。
【請求項６】
前記位置変化検出手段は、前記前回検出位置に対応する分割領域の前記重み付けを基準として、前記位置検出手段により検出されたコード位置に対応する分割領域の前記重み付けが第１の差を超えて低くなる場合に前記第１の変化を検出することを特徴とする請求項２〜４のいずれか一項に記載の光学的情報読取装置。
【請求項７】
前記位置変化検出手段は、前記前回検出位置に対応する分割領域の前記重み付けを基準として、前記位置検出手段により検出されたコード位置に対応する分割領域の前記重み付けが第２の差を超えて高くなる場合に前記第２の変化を検出することを特徴とする請求項２〜４および６のいずれか一項に記載の光学的情報読取装置。
【請求項８】
前記重み付けは、数値化されていることを特徴とする請求項２〜７のいずれか一項に記載の光学的情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二度読み防止機能を有する光学的情報読取装置に関する。
【背景技術】
【０００２】
従来、光学的情報読取装置には、同一のバーコードを読んでしまう二度読みを防止するために、二度読み防止機能が設けられており、この二度読み防止機能を有する光学的情報読取装置として、下記特許文献１に示すバーコードハンドスキャナが知られている。このバーコードハンドスキャナは、当該バーコードハンドスキャナの移動状態を検出するための加速度計を備えている。
【０００３】
上記バーコードハンドスキャナは、バーコードの読み取りが行われてバーコードデータが得られると、バーコードが読まれる前から始まる加速度の変化が第１の所定値以上から第２の所定値以下に変化したかどうかを判定し、この加速度判定がＹｅｓとなった場合には、オペレータが同一商品の二度読みを意図して行うためにバーコードハンドスキャナを動かしているとして、得られたバーコードデータを上位装置に送出させる。また、上記加速度判定がＮｏとなり、得られたバーコードデータが直前に送出したデータと一致しない場合または一致しても規定時間に達している場合には、得られたバーコードデータを上位装置に送出させる。一方、上記加速度判定がＮｏとなり、得られたバーコードデータが直前に送出したデータと一致するとともに規定時間に達していない場合には、二度読み防止機能を発揮して、得られたバーコードデータが廃棄される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願平０８−１４７４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記特許文献１に開示されるような構成では、装置本体の加速度を検知することで二度読み防止機能を解除することができるが、装置本体が固定される据え置き型のような使用条件では、読取対象のみが移動するため、装置本体の加速度を検出しても、二度読み防止機能を適切に解除できないという問題がある。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、二度読み防止機能を好適に解除し得る光学的情報読取装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、特許請求の範囲に記載の請求項１の光学的情報読取装置では、情報コードを撮像する撮像手段と、前記撮像手段により撮像された撮像画像に含まれる情報コードをデコードするデコード手段と、前記デコード手段によるデコード結果を用いた所定の処理を実行するための制御手段と、を備える光学的情報読取装置であって、前記撮像画像の撮像領域は、複数の分割領域に区分けされており、前記情報コードが前記複数の分割領域のいずれかに位置することに基づいて、前記撮像領域に対する当該情報コードのコード位置を検出する位置検出手段と、前記制御手段により前記所定の処理が実行されるときのデコード結果が前回デコード結果として上書きして記憶されるとともに、このデコード結果に対応する前記コード位置が前回検出位置として上書きして記憶される記憶手段と、前記デコード手段によるデコード結果が、前記記憶手段に記憶される前記前回デコード結果に一致するか否かについて判定する判定手段と、前記記憶手段に記憶される前記前回検出位置を基準として前記位置検出手段により検出されたコード位置の変化を検出する位置変化検出手段と、を備え、前記制御手段は、前記判定手段により前記前回デコード結果に一致しないと判定された情報コードについては、この情報コードのデコード結果を用いた前記所定の処理を実行し、前記判定手段により前記前回デコード結果に一致すると判定された情報コードについては、前記位置変化検出手段により前記撮像領域の外縁に向かう方向の前記コード位置の変化の検出の後にこの方向と異なる方向への当該コード位置の変化が検出されると、この情報コードのデコード結果を用いた前記所定の処理を実行することを特徴とする。
【０００８】
請求項２の発明は、請求項１に記載の光学的情報読取装置において、前記複数の分割領域には、前記撮像領域の中心から当該撮像領域の外縁に向けて徐々に低くなる重み付けが分割領域ごとにそれぞれ付与されており、前記位置変化検出手段は、前記コード位置の変化として、前記前回検出位置に対応する分割領域の前記重み付けを基準として、前記位置検出手段により検出されたコード位置に対応する分割領域の前記重み付けが低くなる第１の変化と当該分割領域の前記重み付けが高くなる第２の変化とを検出可能に構成され、前記制御手段は、前記判定手段により前記前回デコード結果に一致すると判定される場合、この情報コードについては、前記位置変化検出手段により前記第１の変化が検出された後に前記第２の変化が検出されると、この情報コードのデコード結果を用いた前記所定の処理を実行することを特徴とする。
【０００９】
請求項３の発明は、請求項２に記載の光学的情報読取装置において、前記前回検出位置は、前記位置検出手段により検出される最も高くなる前記重み付けのコード位置に一致するように前記記憶手段に上書きして記憶されることを特徴とする。
【００１０】
請求項４の発明は、請求項１に記載の光学的情報読取装置において、前記複数の分割領域には、前記前回デコード結果が前記記憶手段に記憶されるごとに、この前回デコード結果に対応する前記前回検出位置を中心に前記撮像領域の外縁に向けて徐々に低くなる重み付けが分割領域ごとにそれぞれ付与され、前記位置変化検出手段は、前記コード位置の変化として、前記前回検出位置に対応する分割領域の前記重み付けを基準として、前記位置検出手段により検出されたコード位置に対応する分割領域の前記重み付けが低くなる第１の変化と当該分割領域の前記重み付けが高くなる第２の変化とを検出可能に構成され、前記制御手段は、前記判定手段により前記前回デコード結果に一致すると判定される場合、この情報コードについては、前記位置変化検出手段により前記第１の変化が検出された後に前記第２の変化が検出されると、この情報コードのデコード結果を用いた前記所定の処理を実行することを特徴とする。
【００１１】
請求項５の発明は、請求項２〜４のいずれか一項に記載の光学的情報読取装置において、前記位置変化検出手段により前記第１の変化の検出が継続する場合の継続時間を計時する計時手段を備え、前記制御手段は、前記判定手段により前記前回デコード結果に一致すると判定される場合、この情報コードについては、前記計時手段により計時される前記継続時間が所定時間以上となりその後に前記位置変化検出手段により前記第２の変化が検出されると、この情報コードのデコード結果を用いた前記所定の処理を実行することを特徴とする。
【００１２】
請求項６の発明は、請求項２〜４のいずれか一項に記載の光学的情報読取装置において、前記位置変化検出手段は、前記前回検出位置に対応する分割領域の前記重み付けを基準として、前記位置検出手段により検出されたコード位置に対応する分割領域の前記重み付けが第１の差を超えて低くなる場合に前記第１の変化を検出することを特徴とする。
【００１３】
請求項７の発明は、請求項２〜４および６のいずれか一項に記載の光学的情報読取装置において、前記位置変化検出手段は、前記前回検出位置に対応する分割領域の前記重み付けを基準として、前記位置検出手段により検出されたコード位置に対応する分割領域の前記重み付けが第２の差を超えて高くなる場合に前記第２の変化を検出することを特徴とする。
【００１４】
請求項８の発明は、請求項２〜６のいずれか一項に記載の光学的情報読取装置において、前記重み付けは、数値化されていることを特徴とする。
【発明の効果】
【００１５】
請求項１の発明では、位置検出手段により、情報コードが複数の分割領域のいずれかに位置することに基づいて、撮像画像に対する当該情報コードのコード位置が検出される。また、記憶手段に、制御手段により所定の処理が実行されるときのデコード結果が前回デコード結果として上書きして記憶されるとともに、このデコード結果に対応するコード位置が前回検出位置として上書きして記憶される。そして、判定手段により前回デコード結果に一致しないと判定された情報コードについては、この情報コードのデコード結果を用いた所定の処理が制御手段により実行され、判定手段により前回デコード結果に一致すると判定された情報コードについては、位置変化検出手段により撮像領域の外縁に向かう方向のコード位置の変化の検出の後にこの方向と異なる方向への当該コード位置の変化が検出されると、この情報コードのデコード結果を用いた所定の処理が制御手段により実行される。
【００１６】
これにより、デコード手段によるデコード結果が記憶手段に記憶される前回デコード結果に一致し、位置変化検出手段により撮像領域の外縁に向かう方向のコード位置の変化の検出の後にこの方向と異なる方向への当該コード位置の変化が検出される場合、すなわち、使用者が同じ情報コードを二度読みさせるためにその情報コードを撮像領域の視野内から外す方向に相対移動させた後に再び視野内方に相対移動させる場合には、二度読み防止機能が発揮されることなく、この情報コードのデコード結果を用いた所定の処理が制御手段により実行される。一方、デコード手段によるデコード結果が記憶手段に記憶される前回デコード結果に一致し、位置変化検出手段により撮像領域の外縁に向かう方向のコード位置の変化の検出の後にこの方向と異なる方向への当該コード位置の変化が検出されない場合には、二度読み防止機能が発揮されることとなり、この情報コードのデコード結果を用いた所定の処理が制御手段により実行されることもない。
【００１７】
また、撮像画像の撮像領域が複数の分割領域に区分けされて、これら複数の分割領域のいずれかに情報コードが位置することに基づいて、撮像領域に対する当該情報コードのコード位置が検出されるので、複雑な演算処理を実施することなくコード位置を検出することができる。特に、撮像領域に対する情報コードの相対位置を検出するので、携帯型の光学的情報読取装置だけでなく据え置き型の光学的情報読取装置にも採用することができる。
したがって、携帯型または据え置き型の光学的情報読取装置において、二度読み防止機能を好適に解除することができる。
【００１８】
請求項２の発明では、複数の分割領域には、撮像領域の中心から当該撮像領域の外縁に向けて徐々に低くなる重み付けが分割領域ごとにそれぞれ付与されている。そして、判定手段により前回デコード結果に一致すると判定された情報コードについては、位置変化検出手段により上記第１の変化が検出された後に上記第２の変化が検出されると、この情報コードのデコード結果を用いた所定の処理が制御手段により実行される。
【００１９】
このように、複数の分割領域のそれぞれに重み付けを付与して重み付けの変化でコード位置の変化を検出するため、コード位置の変化を検出するための演算処理を容易に実施することができる。特に、重み付けが撮像領域の中心を基準として付与されるので、重み付けを付与するための演算処理を容易に実施することができる。
【００２０】
請求項３の発明では、前回検出位置は、位置検出手段により検出される最も高くなる重み付けのコード位置に一致するように記憶手段に上書きして記憶される。このように、前回検出位置は、最も高くなる重み付けのコード位置、すなわち、使用者が撮像領域の中心と意識しているコード位置に等しくなるように設定されるので、使用者の読取作業を考慮して前回検出位置が設定されることとなり、二度読み防止機能の解除に関する操作性を向上させることができる。
【００２１】
請求項４の発明では、複数の分割領域には、前回デコード結果が記憶手段に記憶されるごとに、この前回デコード結果に対応する前回検出位置を中心に撮像領域の外縁に向けて徐々に低くなる重み付けが分割領域ごとにそれぞれ付与される。そして、判定手段により前回デコード結果に一致すると判定された情報コードについては、位置変化検出手段により上記第１の変化が検出された後に上記第２の変化が検出されると、この情報コードのデコード結果を用いた所定の処理が制御手段により実行される。
【００２２】
このように、複数の分割領域のそれぞれに重み付けを付与して重み付けの変化でコード位置の変化を検出するため、コード位置の変化を検出するための演算処理を容易に実施することができる。特に、重み付けが前回検出位置を基準としてその都度付与されるので、使用者の読取作業を考慮して重み付けが付与されることとなり、二度読み防止機能の解除に関する操作性を向上させることができる。
【００２３】
請求項５の発明では、判定手段により前回デコード結果に一致すると判定される場合、この情報コードについては、計時手段により計時される継続時間が所定時間以上となりその後に位置変化検出手段により第２の変化が検出されると、この情報コードのデコード結果を用いた所定の処理が制御手段により実行される。
【００２４】
これにより、手振れ等により位置変化検出手段により検出される重み付けの変化が一時的に上記第１の変化から上記第２の変化に変わっただけでは、二度読み防止機能が解除されないため、上記所定時間を適切に設定することで、不要な二度読み防止機能の解除を防止することができる。
【００２５】
請求項６の発明では、前回検出位置に対応する分割領域の重み付けを基準として、位置検出手段により検出されたコード位置に対応する分割領域の重み付けが第１の差を超えて低くなる場合に、上記第１の変化が位置変化検出手段により検出される。
【００２６】
これにより、手振れ等により位置変化検出手段により検出される重み付けが、単に前回検出位置に対応する分割領域の重み付けよりも低くなっても、上記第１の差を超えて低くならない限り、二度読み防止機能が解除されないため、上記第１の差を適切に設定することで、不要な二度読み防止機能の解除を防止することができる。
【００２７】
請求項７の発明では、前回検出位置に対応する分割領域の重み付けを基準として、位置検出手段により検出されたコード位置に対応する分割領域の重み付けが第２の差を超えて高くなる場合に、上記第２の変化が位置変化検出手段により検出される。
【００２８】
これにより、第１の変化の検出後に、手振れ等により位置変化検出手段により検出される重み付けが、単に前回検出位置に対応する分割領域の重み付けよりも高くなっても、上記第２の差を超えて高くならない限り、二度読み防止機能が解除されないため、上記第２の差を適切に設定することで、不要な二度読み防止機能の解除を防止することができる。
【００２９】
請求項８の発明では、重み付けは、数値化されているため、重み付けの付与や重み付けの変化を検出するための演算処理を容易に実施することができる。
【図面の簡単な説明】
【００３０】
【図１】第１実施形態に係る光学的情報読取装置の電気的構成を示すブロック図である。
【図２】図２（Ａ）は、複数の分割領域に区分けされた撮像領域を例示する説明図であり、図２（Ｂ）は、デコードされたバーコードのコード位置の変化を例示する説明図である。
【図３】第１実施形態において実施される読取処理の流れを例示するフローチャートである。
【図４】図３の二度読み解除判定処理のサブルーチンを示すフローチャートである。
【図５】第１実施形態においてデコードされた情報コードのコード位置ポイントの変化を例示するタイミングチャートである。
【図６】第１実施形態の変形例において複数の分割領域に区分けされた撮像領域を例示する説明図である。
【図７】第２実施形態における二度読み解除判定処理のサブルーチンを示すフローチャートである。
【図８】第２実施形態においてデコードされた情報コードのコード位置ポイントの変化を例示するタイミングチャートである。
【図９】第３実施形態における二度読み解除判定処理のサブルーチンを示すフローチャートである。
【図１０】第３実施形態においてデコードされた情報コードのコード位置ポイントの変化を例示するタイミングチャートである。
【図１１】第４実施形態における二度読み解除判定処理のサブルーチンを示すフローチャートである。
【図１２】第４実施形態においてデコードされた情報コードのコード位置ポイントの変化を例示するタイミングチャートである。
【発明を実施するための形態】
【００３１】
［第１実施形態］
以下、本発明の第１実施形態に係る光学的情報読取装置について図を参照して説明する。図１は、第１実施形態に係る光学的情報読取装置１０の電気的構成を示すブロック図である。
【００３２】
図１に示すように、光学的情報読取装置１０は、物品に付されたバーコードなどの一次元コードや二次元コード等の情報コードを光学的に読み取る装置として構成されている。この光学的情報読取装置１０は、図示しないケースの内部に回路部２０が収容されてなるものであり、回路部２０は、主に、照明光源２１、受光センサ２８、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、トリガースイッチ４２等のマイクロコンピュータ（以下「マイコン」という）系と、から構成されている。
【００３３】
光学系は、投光光学系と、受光光学系とに分かれている。投光光学系を構成する照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられるレンズとから構成されている。なお、図１では、バーコードＢが付された物品Ｒに向けて照明光Ｌｆを照射する例を概念的に示している。
【００３４】
受光光学系は、受光センサ２８、結像レンズ２７、反射鏡（図示略）などによって構成されている。受光センサ２８は、バーコードＢ等に照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。この受光センサ２８は、結像レンズ２７を介して入射する入射光を受光可能にプリント配線板（図示略）に実装されている。なお、受光センサ２８は、特許請求の範囲に記載の「撮像手段」に相当し得るものである。
【００３５】
結像レンズ２７は、外部から読取口（図示略）を介して入射する入射光を集光して受光センサ２８の受光面２８ａに像を結像可能な結像光学系として機能するものである。本実施形態では、照明光源２１から照射された照明光ＬｆがバーコードＢにて反射した後、この反射光Ｌｒを結像レンズ２７で集光し、受光センサ２８の受光面２８ａにコード像を結像させている。
【００３６】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、トリガースイッチ４２、発光部４３、ブザー４４、バイブレータ４５、液晶表示器４６、通信インタフェース４８等から構成されている。
【００３７】
光学系の受光センサ２８から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、生成されてメモリ３５に入力されると、所定のコード画像情報格納領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２８およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００３８】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、上述したコード画像情報格納領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理、解析処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００３９】
制御回路４０は、光学的情報読取装置１０全体を制御可能なマイコンによって構成されており、ＣＰＵ、システムバス、入出力インタフェース等を有すると共に、情報処理機能を備えており、メモリ３５とともに情報処理装置を構成している。本実施形態では、制御回路４０に対し、トリガースイッチ４２、発光部４３、ブザー４４、バイブレータ４５、液晶表示器４６、通信インタフェース４８等が接続されている。
【００４０】
これにより、制御回路４０は、例えば、トリガースイッチ４２の監視や管理、バーコードＢの読み取りに関する情報を報知するインジケータとして機能する発光部４３の点灯・消灯、ビープ音やアラーム音を発生可能なブザー４４の鳴動のオンオフ、当該光学的情報読取装置１０の使用者に伝達し得る振動を発生可能なバイブレータ４５の駆動制御、液晶表示器４６の表示制御や外部装置とのシリアル通信を可能にする通信インタフェース４８の通信制御等を可能にしている。
【００４１】
次に、本第１実施形態における光学的情報読取装置１０の制御回路４０にて実行される読取処理について図２〜図５を用いて説明する。図２（Ａ）は、複数の分割領域に区分けされた撮像領域Ｓを例示する説明図であり、図２（Ｂ）は、デコードされたバーコードのコード位置の変化を例示する説明図である。図３は、第１実施形態において実施される読取処理の流れを例示するフローチャートである。図４は、図３の二度読み解除判定処理のサブルーチンを示すフローチャートである。図５は、デコードされた情報コードのコード位置ポイントの変化を例示するタイミングチャートである。
【００４２】
本実施形態に係る光学的情報読取装置１０では、同一のバーコードを読み取ってしまう二度読みを防止する二度読み防止機能が採用されている。そして、制御回路４０にて実行される読取処理では、上記二度読み防止機能を好適に解除するために、前回のデコード結果と同一のデコード結果が得られた場合には、撮像画像の撮像領域Ｓにおける情報コードの位置変化に応じて、このデコード結果を所定の演算部等に転送するか否かについての判断がなされる。
【００４３】
具体的には、撮像画像の撮像領域Ｓを複数の分割領域に区分けし、この撮像領域Ｓの中心から外縁に向けて徐々に低くなる重み付けが、分割領域ごとにそれぞれ予め付与されている。本実施形態では、図２（Ａ）に例示するように、重み付けとして、例えば、１〜４のいずれかの数値からなるポイント（以下、コード位置ポイントという）が、撮像領域Ｓの中心から当該撮像領域Ｓの外縁に向けて徐々に低くなるように、正方形状に形成される分割領域ごとに付与されている。そして、情報コードが撮像領域Ｓに占めるコード位置のコード位置ポイントを、その情報コードの中心が位置する分割領域に付与されたコード位置ポイントに等しくなるように設定することで、当該情報コードのコード位置がコード位置ポイントに応じて検出され、コード位置の変化がコード位置ポイントの差に応じて検出される。
【００４４】
そして、デコードに成功した情報コードのコード位置ポイントを基準位置ポイント（後述する）として記憶し、前回のデコード結果と一致する情報コードのコード位置ポイントが上記基準位置ポイントに対して所定の変化をした場合に、使用者が同じ情報コードを二度読みさせるための操作をしているとして、上記二度読み防止機能を解除する。
【００４５】
以下、上述した二度読み防止機能の解除判定がなされる読取処理について、図３に示すフローチャートを用いて詳細に説明する。
光学的情報読取装置１０が電源オン状態になり情報コードを読み取り可能な読取状態になると、まず、ステップＳ１０１において、二度読み防止解除処理がなされ、後述するように設定される二度読み防止が解除された状態となる。
【００４６】
次に、ステップＳ１０３にて撮像処理がなされ、撮像可能範囲内に情報コードが存在する場合には、この情報コードが含まれる撮像画像が撮像される。続いて、ステップＳ１０５にてデコード処理がなされ、ステップＳ１０３にて撮像された撮像画像に含まれる情報コードに対して公知のデコード処理がなされる。このデコード処理によりデコード結果が得られて読取成功した場合には、ステップＳ１０７にてＹｅｓと判定される。そして、二度読み防止が解除された状態であれば、ステップＳ１０９にてＮｏと判定されて、ステップＳ１１１にて二度読み防止設定処理がなされて、二度読み防止が設定される。なお、ステップＳ１０５を実行する制御回路４０は、特許請求の範囲に記載の「デコード手段」の一例に相当し得し得る。
【００４７】
このように、デコードが成功したことから二度読み防止が設定されると、ステップＳ１１３において、前回デコード結果および基準ポイントを設定するための設定処理がなされる。この処理では、ステップＳ１０５にてデコードされたデコード結果が前回デコード結果として設定されてメモリ３５に上書き状態で記憶され、このデコード結果に対応するコード位置ポイントが基準位置ポイントＰｏとして設定されてメモリ３５に上書き状態で記憶される。なお、メモリ３５は、特許請求の範囲に記載の「記憶手段」の一例に相当し得し、前回デコード結果および基準位置ポイントＰｏは、特許請求の範囲に記載の「前回デコード結果」および「前回検出位置」の一例に相当し得る。
【００４８】
続いて、ステップＳ１１５にて後述するフラグＦが０に設定されると、ステップＳ１１７にてデータ転送処理がなされて、上記ステップＳ１０５にて得られたデコード結果が有効なデータであるとして、所定の処理を実行する演算部や上位システム等に転送される。このようにデコード結果が転送されると、二度読み防止が設定された状態で、上記ステップＳ１０３からの処理が再びなされることとなる。
【００４９】
そして、再びステップＳ１０３にて情報コードが含まれる撮像画像が撮像されて、ステップＳ１０５にてこの撮像画像に含まれる情報コードがデコードされ、このデコードが成功すると、ステップＳ１０７にてＹｅｓと判定される。この段階では、二度読み防止が設定された状態であるため、ステップＳ１０９にてＹｅｓと判定されて、ステップＳ１１９において、上記ステップＳ１０５にてデコードされたデコード結果とメモリ３５に記憶される前回デコード結果とが一致するか否かについて判定される。
【００５０】
ここで、上記ステップＳ１０５にてデコードされたデコード結果と、前回デコード結果とが一致しない場合には、ステップＳ１１９にてＮｏと判定されて、上述したステップＳ１１１以降の処理がなされる。これにより、上記ステップＳ１０５にてデコードされたデコード結果、すなわち、最新のデコード結果が前回デコード結果として設定されてメモリ３５に上書き状態で記憶され、基準位置ポイントＰｏがこのデコード結果に対応するコード位置ポイントに等しくなるように設定されてメモリ３５に上書き状態で記憶される。
【００５１】
一方、上記ステップＳ１０５にてデコードされたデコード結果と前回デコード結果とが一致する場合には、ステップＳ１１９にてＹｅｓと判定されて、ステップＳ１２１にてポイント取得処理がなされ、上記ステップＳ１０５にてデコードされたデコード結果に対応するコード位置のコード位置ポイントＰが取得される。なお、ステップＳ１１９を実行する制御回路４０は、特許請求の範囲に記載の「判定手段」の一例に相当し得し得る。
【００５２】
このようにコード位置ポイントＰが取得されると、ステップＳ２００において、二度読み解除判定処理がなされる。このサブルーチンでは、まず、図４のステップＳ２０１において、フラグＦが１に設定されているか否かについて判定され、フラグＦが１に設定されていなければ、Ｎｏと判定される。次に、ステップＳ２０３において、ステップＳ１２１にて取得されたコード位置ポイントＰがステップＳ１１３にて設定された基準位置ポイントＰｏよりも小さくなる（低くなる）第１の変化が検出されるか否かについて判定される。ここで、コード位置ポイントＰが基準位置ポイントＰｏ以上である場合には、第１の変化が検出されないとしてステップＳ２０３にてＮｏと判定されて、二度読み解除判定処理のサブルーチンが終了する。
【００５３】
一方、コード位置ポイントＰが基準位置ポイントＰｏよりも小さくなる場合、すなわち、撮像領域Ｓの外縁に向かう方向にコード位置が変化する場合には、第１の変化が検出されるとしてステップＳ２０３にてＹｅｓと判定されて、ステップＳ２０５にてフラグＦがＦ＝１に設定される。このフラグＦは、コード位置の変化を示すためのフラグであり、デコードが成功した情報コードが撮像領域Ｓの外縁に向かう方向に相対移動することが検出される場合（第１の変化が検出される場合）に、Ｆ＝１に設定される。
【００５４】
ここで、フラグＦがＦ＝１に設定される場合について、図２（Ｂ）を用いて説明する。デコードが成功してデータ転送されたバーコードのコード位置が符号Ｂ１で示され、次に撮像されたときにこのバーコードが撮像領域Ｓの外縁に向かう方向に相対移動して、符号Ｂ２で示されるコード位置まで変化した場合を想定する。図２（Ｂ）に示す場合には、基準位置ポイントＰｏは「３」に設定され、コード位置ポイントＰは「１」に設定されるので、コード位置ポイントＰが基準位置ポイントＰｏよりも小さくなるため、デコードが成功した情報コードが撮像領域Ｓの外縁に向かう方向に相対移動する第１の変化が検出されたとして、フラグＦがＦ＝１に設定されることとなる。
【００５５】
そして、このようにフラグＦがＦ＝１に設定された状態で、再びステップＳ１０３からの処理がなされ、ステップＳ１０９，Ｓ１１９にてＹｅｓと判定されることで、ステップＳ１２１にて最新の撮像画像に対するコード位置ポイントＰが取得されて、ステップＳ２００にて二度読み解除判定処理がなされると、ステップＳ２０１にてＹｅｓと判定される。次に、ステップＳ２０７にて、コード位置ポイントＰが基準位置ポイントＰｏに等しくなる第２の変化が検出されるか否かについて判定され、コード位置ポイントＰが基準位置ポイントＰｏよりも小さい状態が維持される場合には、第２の変化が検出されないとしてステップＳ２０７にてＮｏと判定されて、二度読み解除判定処理のサブルーチンが終了する。
【００５６】
一方、情報コードの相対移動に応じてコード位置ポイントＰが高くなり基準位置ポイントＰｏに等しくなると、第２の変化が検出されるとしてステップＳ２０７にてＹｅｓと判定されて、ステップＳ２０９にて二度読み防止解除処理がなされる。このようにコード位置ポイントＰが基準位置ポイントＰｏに等しくなる場合には、撮像領域Ｓの外縁に向かう方向のコード位置の変化（第１の変化）の検出の後に、この方向と異なる方向、具体的には撮像領域Ｓの中央に向かう方向への当該コード位置の変化（第２の変化）が検出されたと判断できる。このようなコード位置の変化は、使用者が同じ情報コードを二度読みさせるために、情報コードを撮像領域Ｓの視野内から外す方向に相対移動させた後に再び視野内方に相対移動させたことが想定される。そこで、この場合には、ステップＳ２０９にて二度読み防止が解除される。なお、ステップＳ２０３，Ｓ２０７を実行する制御回路４０は、特許請求の範囲に記載の「位置変化検出手段」の一例に相当し得し得る。
【００５７】
ここで、上述したコード位置ポイントＰの変化を、図５に示すタイミングチャートを用いて説明する。
図５に例示するように、デコードが成功した情報コードのコード位置ポイントＰが基準位置ポイントＰｏとして「３」と設定され、このデコード結果が転送された後、ステップＳ１２１にて取得されたコード位置ポイントが「１」となる場合（図５の時間ｔ１参照）、すなわち使用者によりこの情報コードが撮像領域Ｓの外縁に向かう方向に相対移動した場合には、ステップＳ２０５にてフラグＦがＦ＝１に設定される。そして、フラグＦがＦ＝１に設定された後にステップＳ１２１にて取得されたコード位置ポイントが「３」となる場合（図５の時間ｔ２参照）、すなわち使用者によりこの情報コードが撮像領域Ｓの中央に向かう方向へ相対移動した場合には、ステップＳ２０９にて二度読み防止が解除される。
【００５８】
このようにステップＳ２０９にて二度読み防止が解除されて二度読み解除判定処理のサブルーチンが終了する場合には、新たに撮像された情報コードがデコード成功すると（Ｓ１０７でＹｅｓ）、ステップＳ１０９にてＮｏと判定されて、このデコード結果について前回デコード結果と比較されることなく、ステップＳ１１１以降の処理がなされることとなる。なお、ステップＳ２０９にて二度読み防止が解除される場合には、その後に新たに撮像することなくステップＳ１１１以降の処理を実施することで、コード位置ポイントＰが基準位置ポイントＰｏに等しくなったときのデコード結果を、ステップＳ１１７にて転送してもよい。
【００５９】
一方、ステップＳ１０５におけるデコードが失敗した場合（Ｓ１０７でＮｏ）であって、二度読み防止が設定されている場合（Ｓ１２７でＹｅｓ）、ステップＳ１０３にて撮像された撮像画像に情報コードが撮像されていないことからデコードが失敗していると、ステップＳ１２９にてＮｏと判定される。この場合には、使用者が二度読み防止を解除するために、情報コードが存在しない状態を撮像したと判断して、ステップＳ１３１にて二度読み防止が解除される。
【００６０】
以上説明したように、本実施形態に係る光学的情報読取装置１０では、情報コードが複数の分割領域のいずれかに位置することに基づいて、撮像領域Ｐに対する当該情報コードのコード位置がコード位置ポイントＰを用いて検出される。また、メモリ３５に、デコード結果が前回デコード結果として上書きして記憶されるとともに、このデコード結果に対応するコード位置が基準位置ポイントＰｏとして上書きして記憶される。そして、前回デコード結果に一致しないと判定された情報コードについては、この情報コードのデコード結果が転送され、前回デコード結果に一致すると判定された情報コードについては、撮像領域Ｓの外縁に向かう方向のコード位置の変化（第１の変化）の検出の後にコード位置ポイントＰが基準位置ポイントＰｏに等しくなる変化（第２の変化）が検出されると、二度読み防止が解除されて、この情報コードのデコード結果が転送される。
【００６１】
これにより、デコード結果がメモリ３５に記憶される前回デコード結果に一致し、第１の変化の検出の後に第２の変化が検出される場合、すなわち、使用者が同じ情報コードを二度読みさせるためにその情報コードを撮像領域の視野内から外す方向に相対移動させた後に再び視野内方に相対移動させる場合には、二度読み防止機能が発揮されることなく、この情報コードのデコード結果が転送される。一方、デコード結果がメモリ３５に記憶される前回デコード結果に一致し、第１の変化の検出およびこの第１の変化の検出後における第２の変化が検出されない場合には、二度読み防止機能が発揮されることとなり、この情報コードのデコード結果が転送されることもない。
【００６２】
また、撮像画像の撮像領域Ｓが複数の分割領域に区分けされて、これら複数の分割領域のいずれかに情報コードが位置することに基づいて、撮像領域Ｓに対する当該情報コードのコード位置が検出されるので、複雑な演算処理を実施することなくコード位置を検出することができる。特に、撮像領域Ｓに対する情報コードの相対位置を検出するので、携帯型の光学的情報読取装置だけでなく据え置き型の光学的情報読取装置にも採用することができる。
したがって、携帯型または据え置き型の光学的情報読取装置において、二度読み防止機能を好適に解除することができる。
【００６３】
また、撮像領域Ｓにおける複数の分割領域には、撮像領域Ｓの中心から当該撮像領域Ｓの外縁に向けて徐々に低くなる重み付けとして１〜４のいずれかの数値からなるポイントが分割領域ごとにそれぞれ付与されている。そして、前回デコード結果に一致すると判定された情報コードについては、上記第１の変化が検出された後に上記第２の変化が検出されると、この情報コードのデコード結果が転送される。
【００６４】
このように、複数の分割領域のそれぞれに重み付けを付与して、重み付けの変化でコード位置の変化を検出するため、コード位置の変化を検出するための演算処理を容易に実施することができる。特に、重み付けが撮像領域Ｓの中心を基準として付与されるので、重み付けを付与するための演算処理を容易に実施することができる。
【００６５】
特に、重み付けは、コード位置ポイントＰを用いて数値化されているため、重み付けの付与や重み付けの変化を検出するための演算処理を容易に実施することができる。
【００６６】
また、上述のようにコード位置ポイントＰを用いてコード位置の変化を検出するため、図２（Ｂ）に示すように、撮像領域Ｓ内に情報コードと区別しにくい模様等（図２（Ｂ）にて符号Ｘにて示す）が撮像される場合でも、この影響をうけることなく、二度読み防止機能を好適に解除することができる。
【００６７】
図６は、第１実施形態の変形例において複数の分割領域に区分けされた撮像領域Ｓを例示する説明図である。
第１実施形態の変形例として、上述したステップＳ１１３において、複数の分割領域には、前回デコード結果がメモリ３５に記憶されるごとに、この前回デコード結果に対応するコード位置を中心に撮像領域Ｓの外縁に向けて徐々に低くなる重み付けとしてコード位置ポイントＰが分割領域ごとにそれぞれ都度付与されてもよい。
【００６８】
例えば、図６に例示するように、前回デコード結果がメモリ３５に記憶された情報コード（図６では符号Ｂ１にて示す）を中心に、コード位置ポイントＰが、撮像領域Ｓの外縁に向けて徐々に低くなるように分割領域ごとにそれぞれ付与される。
【００６９】
このように、複数の分割領域のそれぞれにコード位置ポイントＰ（重み付け）を付与してコード位置ポイントＰの変化でコード位置の変化を検出しても、コード位置の変化を検出するための演算処理を容易に実施することができる。特に、コード位置ポイントＰが前回デコード結果に対応するコード位置を基準としてその都度各分割領域に対してそれぞれ付与されるので、使用者の読取作業を考慮してコード位置ポイントＰ（重み付け）が付与されることとなり、二度読み防止機能の解除に関する操作性を向上させることができる。
【００７０】
［第２実施形態］
次に、本発明の第２実施形態に係る光学的情報読取装置１０について図７および図８を参照して説明する。図７は、第２実施形態における二度読み解除判定処理のサブルーチンを示すフローチャートである。図８は、第２実施形態においてデコードされた情報コードのコード位置ポイントの変化を例示するタイミングチャートである。
【００７１】
本第２実施形態に係る光学的情報読取装置１０では、使用者の読取作業を考慮して基準位置ポイントＰｏを都度更新するために、上述した二度読み解除判定処理のサブルーチンについて図４に示すフローチャートに代えて図７に示すフローチャートに基づいて演算処理している点が、上記第１実施形態に係る光学的情報読取装置と主に異なる。したがって、上述した第１実施形態の光学的情報読取装置と実質的に同一の構成部分には同一符号を付し、説明を省略する。
【００７２】
本第２実施形態の読取処理における特徴的部分は、上記第１実施形態と異なり、基準位置ポイントＰｏは、前回デコード結果がメモリ３５に記憶された後も更新され、その後に検出される最も高いコード位置ポイントＰに一致するように設定されることにある。
【００７３】
以下、本第２実施形態における二度読み解除判定処理のサブルーチンについて、図７のフローチャートを用いて説明する。
上記第１実施形態における読取処理と同様に、二度読み防止設定中でありデコードが成功した情報コードのデコード結果がメモリ３５に記憶される前回デコード結果に一致する場合には（Ｓ１０９，Ｓ１１９でＹｅｓ）、ステップＳ１２１にて最新の撮像画像に対するコード位置ポイントＰが取得されて、ステップＳ２００にて二度読み解除判定処理がなされる。本実施形態におけるサブルーチンでは、まず、図７のステップＳ２０１において、フラグＦがＦ＝１に設定されているか否かについて判定され、フラグＦがＦ＝１に設定されていない場合には、Ｎｏと判定される。
【００７４】
次に、ステップＳ２０３において、ステップＳ１２１にて取得されたコード位置ポイントＰが基準位置ポイントＰｏよりも小さくなる（低くなる）第１の変化が検出されるか否かについて判定される。ここで、コード位置ポイントＰが基準位置ポイントＰｏ以上である場合には、第１の変化が検出されないとしてステップＳ２０３にてＮｏと判定される。
【００７５】
続いて、ステップＳ２１１にて、基準位置ポイント再設定処理がなされる。この処理では、ステップＳ１２１にて取得されたコード位置ポイントＰに等しくなるように基準位置ポイントＰｏが再設定される。このように基準位置ポイントＰｏが再設定されると、二度読み解除判定処理のサブルーチンが終了する。そして、上記第１実施形態と同様に、ステップＳ１０３からの処理がなされて、ステップＳ１２１にて最新の撮像画像に対するコード位置ポイントＰが取得されると、再び、ステップＳ２００にて二度読み解除判定処理がなされる。
【００７６】
そして、ステップＳ１２１にて取得されたコード位置ポイントＰが基準位置ポイントＰｏよりも小さくなる（低くなる）第１の変化が検出されるまで、ステップＳ２１１にて基準位置ポイントＰｏが再設定される処理が繰り返される。すなわち、コード位置ポイントＰが基準位置ポイントＰｏ以上である場合にこのコード位置ポイントＰに等しくなるように基準位置ポイントＰｏが再設定されるため、コード位置ポイントＰが前回のコード位置ポイントＰよりも低くなるまで（コード位置ポイントＰの上昇が停止するまで）、基準位置ポイントＰｏが再設定される処理が繰り返されることとなる。
【００７７】
そして、デコード結果転送後に、使用者により撮像領域Ｓの中央に向かう情報コードの相対移動が止まり、撮像領域Ｓの外縁に向かう方向にコード位置が変化すると、ステップＳ１２１にて取得されたコード位置ポイントＰが基準位置ポイントＰｏよりも小さくなるため、第１の変化が検出されたとしてステップＳ２０３にてＹｅｓと判定されて、ステップＳ２０５にて、フラグＦがＦ＝１に設定される。
【００７８】
このようにフラグＦがＦ＝１に設定された状態で、再びステップＳ１０３からの処理がなされ、ステップＳ１０９，Ｓ１１９にてＹｅｓと判定されることで、ステップＳ１２１にて最新の撮像画像に対するコード位置ポイントＰが取得されて、ステップＳ２００にて二度読み解除判定処理がなされると、ステップＳ２０１にてＹｅｓと判定される。そして、コード位置ポイントＰが基準位置ポイントＰｏに等しくなる第２の変化が検出されると、ステップＳ２０７にてＹｅｓと判定されて、ステップＳ２０９にて二度読み防止が解除されて、二度読み解除判定処理のサブルーチンが終了する。
【００７９】
ここで、上述したコード位置ポイントＰの変化を、図８に示すタイミングチャートを用いて説明する。
図８に例示するように、デコード結果が転送された情報コードのコード位置ポイントＰが基準位置ポイントＰｏとして「３」と設定された後も、使用者により情報コードが撮像領域Ｓの中央に向かう方向へ相対移動することでステップＳ１２１にて取得されたコード位置ポイントＰが「４」になると（図８の時間ｔ１参照）、コード位置ポイントＰ（「４」）が基準位置ポイントＰｏとして設定される。
【００８０】
そして、ステップＳ１２１にて取得されたコード位置ポイントが「１」となる場合（図８の時間ｔ２参照）、すなわち使用者により撮像領域Ｓの中央に向かう情報コードの相対移動が止まりこの情報コードが撮像領域Ｓの外縁に向かう方向に相対移動した場合には、ステップＳ２０５にてフラグＦがＦ＝１に設定される。そして、フラグＦがＦ＝１に設定された後にステップＳ１２１にて取得されたコード位置ポイントが「４」となる場合（図８の時間ｔ３参照）、すなわち二度読みをする使用者によりこの情報コードが撮像領域Ｓの中央に向かう方向へ再び相対移動した場合には、ステップＳ２０９にて二度読み防止が解除される。
【００８１】
以上説明したように、本実施形態に係る光学的情報読取装置１０では、前回デコード結果がメモリ３５に記憶されると、基準位置ポイントＰｏは、その後に取得（検出）される最も高いコード位置ポイントＰに一致するように設定される。
【００８２】
このように、基準位置ポイントＰｏは、最も高くなるコード位置ポイントＰ、すなわち、使用者が撮像領域Ｓの中心と意識しているコード位置に等しくなるように設定されるので、使用者の読取作業を考慮して基準位置ポイントＰｏが設定されることとなり、二度読み防止機能の解除に関する操作性を向上させることができる。
【００８３】
［第３実施形態］
次に、本発明の第３実施形態に係る光学的情報読取装置１０について図９および図１０を参照して説明する。図９は、第３実施形態における二度読み解除判定処理のサブルーチンを示すフローチャートである。図１０は、第３実施形態においてデコードされた情報コードのコード位置ポイントの変化を例示するタイミングチャートである。
【００８４】
本第３実施形態に係る光学的情報読取装置１０では、一時的なコード位置ポイントの変化では二度読み防止機能を解除しないために、上述した読取処理に関して図４に示すフローチャートに代えて図９に示すフローチャートに基づいて演算処理している点が、上記第１実施形態に係る光学的情報読取装置と主に異なる。したがって、上述した第１実施形態の光学的情報読取装置と実質的に同一の構成部分には同一符号を付し、説明を省略する。
【００８５】
本第３実施形態の読取処理における特徴的部分は、上記第１実施形態と異なり、前回デコード結果に一致すると判定される場合、この情報コードについては、上記第１の変化の検出が所定時間継続した後に上記第２の変化が検出されると、二度読み防止が解除されることにある。
【００８６】
以下、本第３実施形態における二度読み解除判定処理のサブルーチンについて、図９のフローチャートを用いて説明する。
上記第１実施形態における読取処理と同様に、二度読み防止設定中でありデコードが成功した情報コードのデコード結果がメモリ３５に記憶される前回デコード結果に一致する場合には（Ｓ１０９，Ｓ１１９でＹｅｓ）、ステップＳ１２１にて最新の撮像画像に対するコード位置ポイントＰが取得されて、ステップＳ２００にて二度読み解除判定処理がなされる。本実施形態におけるサブルーチンでは、まず、図９のステップＳ２０１において、フラグＦがＦ＝１に設定されているか否かについて判定され、フラグＦがＦ＝１に設定されていない場合には、Ｎｏと判定される。
【００８７】
このとき、ステップＳ１２１にて取得されたコード位置ポイントＰが基準位置ポイントＰｏよりも小さくなる（低くなる）第１の変化が検出されると、ステップＳ２０３にてＹｅｓと判定されて、ステップＳ２１３にて計時処理がなされ、第１の変化が最初に検出されてからの継続時間Ｔの計時が開始される。そして、継続時間Ｔが所定時間Ｔｏ以上となるまで、ステップＳ２１５にてＮｏと判定されて、二度読み解除判定処理のサブルーチンが終了する。ここで、所定時間Ｔｏは、一時的なコード位置ポイントの変化では二度読み防止機能を解除しないために設定される時間であり、例えば１秒に設定されている。
【００８８】
そして、第１の変化が継続して検出され（Ｓ２０３でＹｅｓ）、この第１の変化が継続する経過時間Ｔが所定時間Ｔｏ以上となると、ステップＳ２１５にてＹｅｓと判定されて、ステップＳ２０５にてフラグＦがＦ＝１に設定されて、二度読み解除判定処理のサブルーチンが終了する。このようにフラグＦがＦ＝１に設定された状態で、再びステップＳ１０３からの処理がなされ、ステップＳ１０９，Ｓ１１９にてＹｅｓと判定されることで、ステップＳ１２１にて最新の撮像画像に対するコード位置ポイントＰが取得されて、ステップＳ２００にて二度読み解除判定処理がなされると、ステップＳ２０１にてＹｅｓと判定される。そして、コード位置ポイントＰが基準位置ポイントＰｏに等しくなる第２の変化が検出されると、ステップＳ２０７にてＹｅｓと判定されて、ステップＳ２０９にて二度読み防止が解除されて、二度読み解除判定処理のサブルーチンが終了する。
【００８９】
一方、第１の変化が継続する経過時間Ｔが所定時間Ｔｏ以上となる前に、コード位置ポイントＰが基準位置ポイントＰｏより以上となると、ステップＳ２１７にて経過時間Ｔが０に設定され、二度読み解除判定処理のサブルーチンが終了する。
【００９０】
ここで、上述したコード位置ポイントＰの変化を、図１０に示すタイミングチャートを用いて説明する。
図１０に例示するように、デコード結果が転送された情報コードのコード位置ポイントＰが基準位置ポイントＰｏとして「３」と設定された後にステップＳ１２１にて取得されたコード位置ポイントＰが基準位置ポイントＰｏよりも小さくなる（低くなる）第１の変化が検出されても（図１０の時間ｔ１参照）、この第１の変化の検出が継続しない場合には、第１の変化の検出後に第２の変化が検出されてもデコード結果が転送されることはない。
【００９１】
そして、第１の変化が検出された後に（図１０の時間ｔ２参照）、経過時間Ｔが所定時間Ｔｏ以上となり（図１０の時間ｔ３参照）、この第１の変化の検出が所定時間継続する場合には（Ｓ２１５でＹｅｓ）、ステップＳ２０５にてフラグＦがＦ＝１に設定される。そして、フラグＦがＦ＝１に設定された後にステップＳ１２１にて取得されたコード位置ポイントが「３」となる場合（図１０の時間ｔ４参照）、すなわち二度読みをする使用者によりこの情報コードが撮像領域Ｓの中央に向かう方向へ再び相対移動した場合には、ステップＳ２０９にて二度読み防止が解除される。
【００９２】
以上説明したように、本実施形態に係る光学的情報読取装置１０では、第１の変化が最初に検出されてからの継続時間Ｔが所定時間Ｔｏ以上となりその後に第２の変化が検出されると、二度読み防止が解除されてデコード結果が転送される。
【００９３】
これにより、手振れ等により検出されるコード位置ポイントＰ（重み付け）の変化が一時的に上記第１の変化から上記第２の変化に変わっただけでは、二度読み防止機能が解除されないため、上記所定時間Ｔｏを適切に設定することで、不要な二度読み防止機能の解除を防止することができる。
【００９４】
［第４実施形態］
次に、本発明の第４実施形態に係る光学的情報読取装置１０について図１１および図１２を参照して説明する。図１１は、第４実施形態における二度読み解除判定処理のサブルーチンを示すフローチャートである。図１２は、第４実施形態においてデコードされた情報コードのコード位置ポイントの変化を例示するタイミングチャートである。
【００９５】
本第４実施形態に係る光学的情報読取装置１０では、一時的なコード位置ポイントの変化では二度読み防止機能を解除しないために、上述した読取処理に関して図４に示すフローチャートに代えて図１１に示すフローチャートに基づいて演算処理している点が、上記第１実施形態に係る光学的情報読取装置と主に異なる。したがって、上述した第１実施形態の光学的情報読取装置と実質的に同一の構成部分には同一符号を付し、説明を省略する。
【００９６】
本第４実施形態の読取処理における特徴的部分は、上記第１実施形態と異なり、ステップＳ１２１にて取得されたコード位置ポイントＰが、ステップＳ１１３にて設定された基準位置ポイントＰｏに対して、後述する第１の差を超えて小さくなる場合に上記第１の変化が検出され、後述する第２の差を超えて大きくなる場合に上記第２の変化が検出されることにある。
【００９７】
以下、本第４実施形態における二度読み解除判定処理のサブルーチンについて、図１１のフローチャートを用いて説明する。
上記第１実施形態における読取処理と同様に、二度読み防止設定中でありデコードが成功した情報コードのデコード結果がメモリ３５に記憶される前回デコード結果に一致する場合には（Ｓ１０９，Ｓ１１９でＹｅｓ）、ステップＳ１２１にて最新の撮像画像に対するコード位置ポイントＰが取得されて、ステップＳ２００にて二度読み解除判定処理がなされる。本実施形態におけるサブルーチンでは、まず、図１１のステップＳ２１９において、閾値設定処理がなされる。この処理では、ステップＳ１１３にて設定された基準位置ポイントＰｏを基準に、第１の差だけ減算された第１閾値Ｐ１と、第２の差だけ減算された第２閾値Ｐ２とが設定される。本実施形態では、例えば、第１の差は、１を超え２未満となる値に設定され、第２の差は、０を超え１未満となる値に設定されている。
【００９８】
このように第１閾値Ｐ１および第２閾値Ｐ２が設定されると、ステップＳ２０１において、フラグＦがＦ＝１に設定されているか否かについて判定され、フラグＦがＦ＝１に設定されていない場合には、Ｎｏと判定される。
【００９９】
続いて、ステップＳ２０３ａにて、ステップＳ１２１にて取得されたコード位置ポイントＰが第１閾値Ｐ１よりも小さくなる（低くなる）第１の変化が検出されるか否かについて判定される。ここで、コード位置ポイントＰが第１閾値Ｐ１以上である場合には、第１の変化が検出されないとしてステップＳ２０３にてＮｏと判定されて、二度読み解除判定処理のサブルーチンが終了する。
【０１００】
一方、コード位置ポイントＰが第１閾値Ｐ１よりも小さくなる場合には、第１の変化が検出されるとしてステップＳ２０３ａにてＹｅｓと判定されて、ステップＳ２０５にてフラグＦがＦ＝１に設定されて、二度読み解除判定処理のサブルーチンが終了する。
【０１０１】
このようにフラグＦがＦ＝１に設定されていることからステップＳ２０１にてＹｅｓと判定されると、ステップＳ２０７ａにて、ステップＳ１２１にて取得されたコード位置ポイントＰが第２閾値Ｐ２よりも大きくなる（高くなる）第２の変化が検出されるか否かについて判定される。ここで、コード位置ポイントＰが第２閾値Ｐ２以下である場合には、第２の変化が検出されないとしてステップＳ２０７ａにてＮｏと判定されて、二度読み解除判定処理のサブルーチンが終了する。
【０１０２】
一方、コード位置ポイントＰが第２閾値Ｐ２よりも大きくなる場合には、第２の変化が検出されるとしてステップＳ２０７ａにてＹｅｓと判定されて、ステップＳ２０９にて二度読み防止が解除されて、二度読み解除判定処理のサブルーチンが終了する。
【０１０３】
ここで、上述したコード位置ポイントＰの変化を、図１２に示すタイミングチャートを用いて説明する。
図１２に例示するように、デコード結果が転送された情報コードのコード位置ポイントＰが基準位置ポイントＰｏとして「３」と設定された後にステップＳ１２１にて取得されたコード位置ポイントＰが基準位置ポイントＰｏよりも小さくなっても（図１２の時間ｔ１参照）、第１閾値Ｐ１よりも小さくならない場合には、上記第１の変化が検出されず二度読み防止が解除されることはない。
【０１０４】
そして、コード位置ポイントＰが第１閾値Ｐ１よりも小さくなる第１の変化が検出された後（図１２の時間ｔ２参照）、ステップＳ１２１にて取得されたコード位置ポイントＰが上昇しても（図１２の時間ｔ３参照）、第２閾値Ｐ２よりも大きくならない場合には、上記第２の変化が検出されず二度読み防止が解除されることはない。そして、第１の変化の検出後に、コード位置ポイントＰが第２閾値Ｐ２よりも大きくなり（図１２の時間ｔ４参照）、第２の変化が検出されると（Ｓ２０７ａでＹｅｓ）、ステップＳ２０９にて二度読み防止が解除される。
【０１０５】
以上説明したように、本実施形態に係る光学的情報読取装置１０では、ステップＳ１１３にて設定された基準位置ポイントＰｏを基準として、第１閾値Ｐ１が設定され、ステップＳ１２１にて取得されたコード位置ポイントＰが、第１閾値Ｐ１を超えて低くなる場合（基準位置ポイントＰｏを基準に上記第１の差を超えて低くなる場合）に、上記第１の変化が検出される。
【０１０６】
これにより、手振れ等によりステップＳ１２１にて取得されたコード位置ポイントＰが、単に基準位置ポイントＰｏよりも低くなっても、第１閾値Ｐ１（上記第１の差）を超えて低くならない限り、二度読み防止機能が解除されないため、第１閾値Ｐ１（上記第１の差）を適切に設定することで、不要な二度読み防止機能の解除を防止することができる。
【０１０７】
また、ステップＳ１１３にて設定された基準位置ポイントＰｏを基準として、第２閾値Ｐ２が設定され、ステップＳ１２１にて取得されたコード位置ポイントＰが、第２閾値Ｐ２を超えて高くなる場合（基準位置ポイントＰｏを基準に上記第２の差を超えて高くなる場合）に、上記第２の変化が検出される。
【０１０８】
これにより、第１の変化の検出後に、手振れ等によりステップＳ１２１にて取得されたコード位置ポイントＰが、単に基準位置ポイントＰｏよりも高くなっても、第２閾値Ｐ２（上記第２の差）を超えて高くならない限り、二度読み防止機能が解除されないため、第２閾値Ｐ２（上記第２の差）を適切に設定することで、不要な二度読み防止機能の解除を防止することができる。
【０１０９】
なお、本実施形態では、ステップＳ２１９にて第１閾値Ｐ１および第２閾値Ｐ２の双方を設定したが、これに限らず、どちらか一方のみが設定されてもよい。例えば、第１閾値Ｐ１のみが設定される場合には、ステップＳ２０７ａおける判定処理に代えて上述したステップＳ２０７における判定処理が実施される。また、第２閾値Ｐ２のみが設定される場合には、ステップＳ２０３ａおける判定処理に代えて上述したステップＳ２０３における判定処理が実施される。
【０１１０】
なお、本発明は上記各実施形態に限定されるものではなく、以下のように具体化してもよい。
（１）撮像領域Ｓの各分割領域には、重み付けとして１〜４のいずれかの数値からなるポイントが付与されることに限らず、最大値が５以上となる複数種類の数値からなるポイントが付与されてもよい。また、重み付けは、上述のように数値化されることに限らず、例えば、Ａ〜Ｄを用いた４段階の重み付けや、複数段階の重み付けがなされてもよい。
【０１１１】
（２）撮像領域Ｓは、正方形状に形成される複数の分割領域から構成されることに限らず、例えば、長方形状に形成される複数の分割領域や複数種類の形状にて形成される複数の分割領域から構成されてもよい。
【０１１２】
（３）二度読み防止が解除された状態では、デコード結果を転送する処理がなされることに限らず、当該デコード結果を用いた所定の処理が制御回路４０等により実行されてもよい。
【０１１３】
（４）ステップＳ２０７では、ステップＳ１２１にて取得されるコード位置ポイントＰが基準位置ポイントＰｏに等しくなる場合に第２の変化を検出することに限らず、コード位置ポイントＰが基準位置ポイントＰｏ以上となる場合に第２の変化を検出してもよい。
【符号の説明】
【０１１４】
１０…光学的情報読取装置
３５…メモリ（記憶手段）
４０…制御回路（制御手段，デコード手段，判定手段，位置変化検出手段）
Ｐ…コード位置ポイント
Ｐｏ…基準位置ポイント
Ｐ１…第１閾値
Ｐ２…第２閾値
Ｓ…撮像領域
Ｔ…継続時間
Ｔｏ…所定時間
【図１】
0005630336.tif 000002
【図２】
0005630336.tif 000003
【図３】
0005630336.tif 000004
【図４】
0005630336.tif 000005
【図５】
0005630336.tif 000006
【図６】
0005630336.tif 000007
【図７】
0005630336.tif 000008
【図８】
0005630336.tif 000009
【図９】
0005630336.tif 000010
【図１０】
0005630336.tif 000011
【図１１】
0005630336.tif 000012
【図１２】
0005630336.tif 000013