(57)【要約】【課題】撮像時のぶれの影響を抑制し得る光学的情報読取装置を提供する。【解決手段】制御部２１により、撮像部２２からの画素信号に基づいて補正用コードＣに対し幅方向βに沿うように直交する補正基準線Ｌ上に対応する検出輝度分布Ｙが検出される。また、所定の幅値Ｗに基づいて撮像時にぶれが生じない場合の補正基準線Ｌ上に対応する推定輝度分布Ｘが推定される。そして、検出輝度分布Ｙと推定輝度分布Ｘとの相関に基づいてバーコードＢに対応するコード画像の各輝度値Ｙｂｍが補正された各輝度値Ｘｂｍに対してデコード処理が実施される。【選択図】図５
2010272007.tif 000002
【特許請求の範囲】
【請求項１】
複数の明色セルおよび複数の暗色セルから構成される情報コードとこの情報コードの周囲に配置されて所定の幅値を有するように暗色セルから構成される補正用コードとを読み取り可能な光学的情報読取装置であって、
前記情報コードおよび前記補正用コードを撮像する撮像手段と、
前記補正用コードに対し幅方向に沿うように直交しかつ前記情報コードを通過しない補正基準線を設定し、前記撮像手段からの画素信号に基づいて前記補正基準線上に対応する領域の輝度分布を検出輝度分布として検出する輝度分布検出手段と、
前記所定の幅値に基づいて撮像時にぶれが生じない場合の前記補正基準線上に対応する領域の輝度分布を推定輝度分布として推定する輝度分布推定手段と、
前記検出輝度分布と前記推定輝度分布との相関に基づいて、前記画素信号において前記情報コードに対応する領域の各輝度値を補正する補正手段と、
前記補正手段により各輝度値が補正された前記情報コードをデコードするデコード手段と、
を備えることを特徴とする光学的情報読取装置。
【請求項２】
前記デコード手段は、前記補正手段により各輝度値が補正される前の情報コードをデコードし、このデコードが失敗した場合に、前記補正手段により各輝度値が補正された情報コードをデコードすることを特徴とする請求項１に記載の光学的情報読取装置。
【請求項３】
前記情報コードは、バーコードであって、
前記補正用コードは、前記バーコードの配列側を除く周囲であって当該バーコードの配列方向に対して前記幅方向が平行になるように１つ配置されることを特徴とする請求項１または２に記載の光学的情報読取装置。
【請求項４】
前記情報コードは、二次元コードであって、
前記補正用コードは、第１の補正用コードおよび第２の補正用コードからなり、これら両補正用コードは、前記二次元コードの周囲にて互いに直交する方向に配置されることを特徴とする請求項１または２に記載の光学的情報読取装置。
【請求項５】
前記情報コードの周囲には、前記補正用コードに対して他の補正用コードが少なくとも１つ平行に配置されることを特徴とする請求項１〜４のいずれか一項に記載の光学的情報読取装置。
【請求項６】
前記補正手段は、
撮像時に前記撮像手段と前記バーコードおよび前記補正用コードとの間に当該補正用コードの前記幅方向へ所定量だけぶれが生じたことを前提に、前記推定輝度分布のｍ番目の輝度値をＸｍ、前記検出輝度分布のｍ番目の輝度値をＹｍとすると、下記両式が成立する係数Ａｋを算出し、
Ｙｍ＝Σｋ＝１ＡｋＸｍ−ｋ
Σｋ＝１Ａｋ＝１
前記係数Ａｋに基づいて前記バーコードに対応する領域の各輝度値を補正することを特徴とする請求項３または５に記載の光学的情報読取装置。
【請求項７】
前記補正手段は、
撮像時に前記撮像手段と前記第１の補正用コードとの間に当該第１の補正用コードの前記幅方向へ第１の所定量だけぶれが生じたことを前提に、前記第１の補正用コードに関する前記推定輝度分布のｍ番目の輝度値をＸ１ｍ、前記検出輝度分布のｍ番目の輝度値をＹ１ｍとすると、下記両式が成立する係数Ａ１ｋを算出し、
Ｙ１ｍ＝Σｋ＝１Ａ１ｋＸ１ｍ−ｋ
Σｋ＝１Ａ１ｋ＝１
撮像時に前記撮像手段と前記第２の補正用コードとの間に当該第２の補正用コードの前記幅方向へ第２の所定量だけぶれが生じたことを前提に、前記第２の補正用コードに関する前記推定輝度分布のｍ番目の輝度値をＸ２ｍ、前記検出輝度分布のｍ番目の輝度値をＹ２ｍとすると、下記両式が成立する係数Ａ２ｋを算出し、
Ｙ２ｍ＝Σｋ＝１Ａ２ｋＸ２ｍ−ｋ
Σｋ＝１Ａ２ｋ＝１
前記係数Ａ１ｋおよびＡ２ｋに基づいて前記二次元コードに対応する領域の各輝度値を補正することを特徴とする請求項４または５に記載の光学的情報読取装置。
【請求項８】
撮像時に前記撮像手段と前記補正用コードとの間に生じるぶれのぶれ方向を検出するぶれ方向検出手段を備え、
前記輝度分布検出手段は、前記第１の補正用コードおよび前記第２の補正用コードのいずれか一方に対し前記ぶれ方向に平行であってかつ前記情報コードを通過しない補正基準線を設定し、前記撮像手段からの画素信号に基づいて前記補正基準線上に対応する領域の輝度分布を検出輝度分布として検出し、
前記補正手段は、撮像時に前記撮像手段と前記二次元コードおよび前記補正用コードとの間に前記ぶれ方向へ所定量だけぶれが生じたことを前提に、当該ぶれ方向に平行な前記補正基準線に関する前記推定輝度分布のｍ番目の輝度値をＸ３ｍ、前記検出輝度分布のｍ番目の輝度値をＹ３ｍとすると、下記両式が成立する係数Ａ３ｋを算出し、
Ｙ３ｍ＝Σｋ＝１Ａ３ｋＸ３ｍ−ｋ
Σｋ＝１Ａ３ｋ＝１
前記ぶれ方向および前記係数Ａ３ｋに基づいて前記二次元コードに対応する領域の各輝度値を補正することを特徴とする請求項４または５に記載の光学的情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的情報読取装置に関するものである。
【背景技術】
【０００２】
従来、光学的情報読取装置に関する技術として、下記特許文献１に示す読み取り装置が知られている。この読み取り装置では、２次元コードを表すドットの、ドットを読み取る方向と垂直な方向の直線上の両端または片端に配置されているタイミングマークを基準として、その間に配置されているコードを表すドットを検出する。これにより、プリンタのヘッドのばらつきによって２次元コードを表す各ドットが変化する場合でも、２次元ドットコードに対する読取精度を向上させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１６０１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、撮像機能を有する携帯機器により二次元コード等の情報コードを光学的に読み取らせているが、この光学的な読み取りがスムーズに行えない場合がある。撮像時の焦点調整の困難性や携帯機器と情報コードとの間の相対的なぶれ（例えば、手ぶれ）などがその原因であり、このように撮影された画像にぼけやぶれ等が生じると、この画像をデコードできなくなる場合がある。一般的にぼけの問題については、携帯機器にオートフォーカス機能を搭載することにより、ぼけの影響を抑制している。また、一般的にぶれの問題については、携帯機器に十分な照明機能を搭載することにより、必要な光量の反射光を捉えるための時間を短縮することで、撮像手段のシャッター速度を高めて携帯機器と情報コードとの間の相対的なぶれの影響を抑制している。
【０００５】
しかしながら、例えば、照明機能を有しない携帯電話に搭載されたカメラ等の撮像手段によって情報コードを光学的に読み取る場合には、情報コードからの反射光を十分に捉えることができない。そうすると、環境光のみに頼って読み取りを行うため、必要な光量の反射光を捉えるために撮像手段のシャッター速度を遅くする必要がある。しかしながら、このようにシャッター速度を遅くすると、十分な照明機能を有する専用の装置では発生しなかったぶれの問題が発生してしまう。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、撮像時のぶれの影響を抑制し得る光学的情報読取装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、特許請求の範囲に記載の請求項１の光学的情報読取装置では、複数の明色セルおよび複数の暗色セルから構成される情報コードとこの情報コードの周囲に配置されて所定の幅値を有するように暗色セルから構成される補正用コードとを読み取り可能な光学的情報読取装置であって、前記情報コードおよび前記補正用コードを撮像する撮像手段と、前記補正用コードに対し幅方向に沿うように直交しかつ前記情報コードを通過しない補正基準線を設定し、前記撮像手段からの画素信号に基づいて前記補正基準線上に対応する領域の輝度分布を検出輝度分布として検出する輝度分布検出手段と、前記所定の幅値に基づいて撮像時にぶれが生じない場合の前記補正基準線上に対応する領域の輝度分布を推定輝度分布として推定する輝度分布推定手段と、前記検出輝度分布と前記推定輝度分布との相関に基づいて、前記画素信号において前記情報コードに対応する領域の各輝度値を補正する補正手段と、前記補正手段により各輝度値が補正された前記情報コードをデコードするデコード手段と、を備えることを特徴とする。
【０００８】
請求項２の発明は、請求項１に記載の光学的情報読取装置において、前記デコード手段は、前記補正手段により各輝度値が補正される前の情報コードをデコードし、このデコードが失敗した場合に、前記補正手段により各輝度値が補正された情報コードをデコードすることを特徴とする。
【０００９】
請求項３の発明は、請求項１または２に記載の光学的情報読取装置において、前記情報コードは、バーコードであって、前記補正用コードは、前記バーコードの配列側を除く周囲であって当該バーコードの配列方向に対して前記幅方向が平行になるように１つ配置されることを特徴とする。
【００１０】
請求項４の発明は、請求項１または２に記載の光学的情報読取装置において、前記情報コードは、二次元コードであって、前記補正用コードは、第１の補正用コードおよび第２の補正用コードからなり、これら両補正用コードは、前記二次元コードの周囲にて互いに直交する方向に配置されることを特徴とする。
【００１１】
請求項５の発明は、請求項１〜４のいずれか一項に記載の光学的情報読取装置において、前記情報コードの周囲には、前記補正用コードに対して他の補正用コードが少なくとも１つ平行に配置されることを特徴とする。
【００１２】
請求項６の発明は、請求項３または５に記載の光学的情報読取装置において、前記補正手段は、撮像時に前記撮像手段と前記バーコードおよび前記補正用コードとの間に当該補正用コードの前記幅方向へ所定量だけぶれが生じたことを前提に、前記推定輝度分布のｍ番目の輝度値をＸｍ、前記検出輝度分布のｍ番目の輝度値をＹｍとすると、下記両式が成立する係数Ａｋを算出し、
Ｙｍ＝Σｋ＝１ＡｋＸｍ−ｋ
Σｋ＝１Ａｋ＝１
前記係数Ａｋに基づいて前記バーコードに対応する領域の各輝度値を補正することを特徴とする。
【００１３】
請求項７の発明は、請求項４または５に記載の光学的情報読取装置において、前記補正手段は、撮像時に前記撮像手段と前記第１の補正用コードとの間に当該第１の補正用コードの前記幅方向へ第１の所定量だけぶれが生じたことを前提に、前記第１の補正用コードに関する前記推定輝度分布のｍ番目の輝度値をＸ１ｍ、前記検出輝度分布のｍ番目の輝度値をＹ１ｍとすると、下記両式が成立する係数Ａ１ｋを算出し、
Ｙ１ｍ＝Σｋ＝１Ａ１ｋＸ１ｍ−ｋ
Σｋ＝１Ａ１ｋ＝１
撮像時に前記撮像手段と前記第２の補正用コードとの間に当該第２の補正用コードの前記幅方向へ第２の所定量だけぶれが生じたことを前提に、前記第２の補正用コードに関する前記推定輝度分布のｍ番目の輝度値をＸ２ｍ、前記検出輝度分布のｍ番目の輝度値をＹ２ｍとすると、下記両式が成立する係数Ａ２ｋを算出し、
Ｙ２ｍ＝Σｋ＝１Ａ２ｋＸ２ｍ−ｋ
Σｋ＝１Ａ２ｋ＝１
前記係数Ａ１ｋおよびＡ２ｋに基づいて前記二次元コードに対応する領域の各輝度値を補正することを特徴とする。
【００１４】
請求項８の発明は、請求項４または５に記載の光学的情報読取装置において、撮像時に前記撮像手段と前記補正用コードとの間に生じるぶれのぶれ方向を検出するぶれ方向検出手段を備え、前記輝度分布検出手段は、前記第１の補正用コードおよび前記第２の補正用コードのいずれか一方に対し前記ぶれ方向に平行であってかつ前記情報コードを通過しない補正基準線を設定し、前記撮像手段からの画素信号に基づいて前記補正基準線上に対応する領域の輝度分布を検出輝度分布として検出し、前記補正手段は、撮像時に前記撮像手段と前記二次元コードおよび前記補正用コードとの間に前記ぶれ方向へ所定量だけぶれが生じたことを前提に、当該ぶれ方向に平行な前記補正基準線に関する前記推定輝度分布のｍ番目の輝度値をＸ３ｍ、前記検出輝度分布のｍ番目の輝度値をＹ３ｍとすると、下記両式が成立する係数Ａ３ｋを算出し、
Ｙ３ｍ＝Σｋ＝１Ａ３ｋＸ３ｍ−ｋ
Σｋ＝１Ａ３ｋ＝１
前記ぶれ方向および前記係数Ａ３ｋに基づいて前記二次元コードに対応する領域の各輝度値を補正することを特徴とする。
【発明の効果】
【００１５】
請求項１の発明では、輝度分布検出手段により、撮像手段からの画素信号に基づいて補正基準線上に対応する領域の輝度分布が検出輝度分布として検出される。また、輝度分布推定手段により、所定の幅値に基づいて撮像時にぶれが生じない場合の補正基準線上に対応する領域の輝度分布が推定輝度分布として推定される。そして、補正手段により検出輝度分布と推定輝度分布との相関に基づいて各輝度値が補正された情報コードがデコード手段によりデコードされる。
【００１６】
検出輝度分布は、各輝度値が情報コードおよび補正用コードを撮像手段によって撮像する際に撮像時の手ぶれ等に影響されて検出される。一方、推定輝度分布は、撮像時にぶれが生じないことを前提に推定されるため、補正用コードが占める領域、すなわち、予め設定される上記所定の幅値に対応する領域のみ低輝度値で一定となり、この領域以外では高輝度値で一定となる。そうすると、検出輝度分布と推定輝度分布との相関は、撮像手段によって実際に撮像された情報コードに対応する領域の各輝度値と、撮像時にぶれが生じないことを前提に撮像手段によって撮像される情報コードに対応する領域の各輝度値との相関と等しくなる。
【００１７】
このため、検出輝度分布と推定輝度分布との相関に基づいて、撮像手段によって撮像された情報コードに対応する領域の各輝度値を補正することにより、撮像時のぶれの影響を抑制することができる。
【００１８】
請求項２の発明では、デコード手段は、補正手段により各輝度値が補正される前の情報コードをデコードし、このデコードが失敗した場合に、補正手段により各輝度値が補正された情報コードをデコードするため、撮像時のぶれの影響が小さくデコードが失敗しないような場合には補正手段による補正処理が実施されないので、補正処理のための処理時間を短縮することができる。
【００１９】
請求項３の発明では、情報コードはバーコードであって、補正用コードはこのバーコードの配列側を除く周囲であって当該バーコードの配列方向に対して幅方向が平行になるように１つ配置されるため、補正用コードに対し幅方向に沿うように直交する補正基準線がバーコードを通過することもないので、バーコードを通過するか否かを判断することなく補正基準線を設定することができる。
【００２０】
請求項４の発明では、情報コードは二次元コードであって、第１の補正用コードおよび第２の補正用コードは、二次元コードの周囲にて互いに直交する方向に配置されるため、第１の補正用コードに直交する補正基準線上に対応する検出輝度分布と推定輝度分布との相関と、第２の補正用コードに直交する補正基準線上に対応する検出輝度分布と推定輝度分布との相関とから、二次元コードに対応する領域の各輝度値を二次元的に補正することができる。
【００２１】
請求項５の発明では、情報コードの周囲には、補正用コードに対して他の補正用コードが少なくとも１つ平行に配置されるため、補正用コードに直交する補正基準線上に対応する検出輝度分布と推定輝度分布との相関と、他の補正用コードに直交する補正基準線上に対応する検出輝度分布と推定輝度分布との相関との双方に基づいて、撮像手段によって撮像された情報コードに対応する領域の各輝度値を補正することにより、補正精度を向上して撮像時のぶれの影響を確実に抑制することができる。
【００２２】
請求項６の発明では、補正手段は、撮像時に撮像手段とバーコードおよび補正用コードとの間に当該補正用コードの幅方向へ所定量だけぶれが生じたことを前提に、推定輝度分布のｍ番目の輝度値をＸｍ、検出輝度分布のｍ番目の輝度値をＹｍとすると、Ｙｍ＝Σｋ＝１ＡｋＸｍ−ｋおよびΣｋ＝１Ａｋ＝１の両式が成立する係数Ａｋを算出し、この係数Ａｋに基づいてバーコードに対応する領域の各輝度値を補正する。
【００２３】
撮像時に撮像手段とバーコードおよび補正用コードとの間に当該補正用コードの幅方向（配列方向）へ所定量だけぶれが生じると、各輝度値はその配列方向にそれぞれ同じぶれ量で分散するように変化するとみなすことができる。すなわち、ぶれ前の各輝度値が推定輝度分布のｍ番目の輝度値Ｘｍに相当し、ぶれ後の各輝度値が検出輝度分布のｍ番目の輝度値Ｙｍに相当するので、具体的には、Ｙｍ＝Ａ１Ｘｍ−１＋Ａ２Ｘｍ−２＋Ａ３Ｘｍ−３＋・・・が成立するとともに、ぶれが生じる前と後で総輝度値は変化しないことから、Σｋ＝１Ａｋ＝１が成立することとなる。したがって、上述した２式を満たす係数Ａｋが撮像時のぶれ量を考慮した係数になるので、この係数Ａｋに基づいてバーコードに対応する領域の各輝度値を補正することにより、撮像時のぶれの影響を確実に抑制することができる。
【００２４】
請求項７の発明では、補正手段は、撮像時に撮像手段と第１の補正用コードとの間に当該第１の補正用コードの幅方向へ第１の所定量だけぶれが生じたことを前提に、当該第１の補正用コードに関する推定輝度分布のｍ番目の輝度値をＸ１ｍ、検出輝度分布のｍ番目の輝度値をＹ１ｍとすると、Ｙ１ｍ＝Σｋ＝１Ａ１ｋＸ１ｍ−ｋおよびΣｋ＝１Ａ１ｋ＝１の両式が成立する係数Ａ１ｋを算出する。また、補正手段は、撮像時に撮像手段と第２の補正用コードとの間に当該第２の補正用コードの幅方向へ第２の所定量だけぶれが生じたことを前提に、当該第２の補正用コードに関する推定輝度分布のｍ番目の輝度値をＸ２ｍ、検出輝度分布のｍ番目の輝度値をＹ２ｍとすると、Ｙ２ｍ＝Σｋ＝１Ａ２ｋＸ２ｍ−ｋおよびΣｋ＝１Ａ２ｋ＝１の両式が成立する係数Ａ２ｋを算出する。そして、補正手段は、係数Ａ１ｋおよびＡ２ｋに基づいて二次元コードに対応する領域の各輝度値を補正する。
【００２５】
二次元コードでは、撮像時のぶれに応じて、各輝度値が第１の補正用コードの幅方向と第２の補正用コードの幅方向とに第１の所定量と第２の所定量とでそれぞれ同じぶれ量で分散するように変化するとみなすことができる。このため、上述した第１の補正用コードに関する２式を満たす係数Ａ１ｋと、第２の補正用コードに関する２式を満たす係数Ａ２ｋとが撮像時のぶれ量を二次元的に考慮した係数になるので、係数Ａ１ｋおよびＡ２ｋに基づいて二次元コードに対応する領域の各輝度値を二次元的に補正することにより、二次元コードであっても撮像時のぶれの影響を確実に抑制することができる。
【００２６】
請求項８の発明では、補正手段は、撮像時に撮像手段と二次元コードおよび補正用コードとの間にぶれ方向検出手段により検出されたぶれ方向へ所定量だけぶれが生じたことを前提に、当該ぶれ方向に平行な補正基準線に関する推定輝度分布のｍ番目の輝度値をＸ３ｍ、検出輝度分布のｍ番目の輝度値をＹ３ｍとすると、Ｙ３ｍ＝Σｋ＝１Ａ３ｋＸ３ｍ−ｋおよびΣｋ＝１Ａ３ｋ＝１の両式が成立する係数Ａ３ｋを算出し、上記ぶれ方向および係数Ａ３ｋに基づいて二次元コードに対応する領域の各輝度値を補正する。
【００２７】
このように、二次元コードに対する撮像時のぶれを補正する場合、ぶれ方向を考慮することにより、上記請求項７の発明のように２方向それぞれの検出輝度分布および推定輝度分布から２種類の係数を算出することなく、ぶれ方向に関する検出輝度分布および推定輝度分布の相関から算出される係数Ａ３ｋとぶれ方向とに基づいて二次元コードに対応する領域の各輝度値を補正することができる。
【図面の簡単な説明】
【００２８】
【図１】第１実施形態に係る携帯電話１０の電気的構成を示すブロック図である。
【図２】バーコードＢと補正用コードＣとの位置関係を示す説明図である。
【図３】第１実施形態における読取処理の流れを例示するフローチャートである。
【図４】図３の輝度値補正処理のサブルーチンを例示するフローチャートである。
【図５】推定輝度分布Ｘと検出輝度分布Ｙとの関係を示す説明図である。
【図６】補正前の輝度分布と補正後の輝度分布との関係を示す説明図である。
【図７】バーコードＢに対する補正用コードの変形例を示す説明図である。
【図８】第２実施形態におけるＱＲコードＱと補正用コードＣ１，Ｃ２との位置関係を示す説明図である。
【図９】第２実施形態における輝度値補正処理のサブルーチンを例示するフローチャートである。
【図１０】ＱＲコードＱに対する補正用コードの変形例を示す説明図である。
【図１１】第３実施形態における輝度値補正処理のサブルーチンを例示するフローチャートである。
【図１２】第３実施形態におけるＱＲコードＱとぶれ方向γとの位置関係を示す説明図である。
【発明を実施するための形態】
【００２９】
［第１実施形態］
以下、本発明の光学的情報読取装置を携帯電話１０に適用した第１実施形態について図を参照して説明する。
図１に示すように、携帯電話１０は、撮像部２２からの画素信号に基づいて撮像された画像データを処理する制御部２１を備えており、この画像データに含まれる一次元コードや二次元コード等の情報コード（図１では物品Ｒに付されたバーコードＢを例示）を読み取る装置として構成されている。なお、撮像部２２は、特許請求の範囲に記載の「撮像手段」の一例に相当する。
【００３０】
また、携帯電話１０は、複数のキー等により構成される操作部２３と、液晶等により構成される表示部２４とを備えている。制御部２１は、操作部２３からの入力操作に応じて後述する読取処理を実施することで撮像部２２および表示部２４を制御する。そして、撮像部２２により撮像された画像データや制御部２１により処理された情報データおよび読取処理を実施するためのプログラムなどは、メモリ２５に記憶されるように構成されている。
【００３１】
本第１実施形態では、図２に示すように、補正用コードＣが周囲に配置されて複数のスペース（明色セル）および複数のバー（暗色セル）から構成されるバーコードＢを読み取り対象とする。具体的には、補正用コードＣは、予め設定される所定の幅値Ｗを有するように暗色セルのみから構成されており、バーコードＢの配列側（図２にて左右側）を除く周囲であって当該バーコードＢの配列方向αに対して幅方向βが平行になるように１つ配置されている。
【００３２】
バーコードＢのような一次元コードでは、撮像時に撮像部２２と補正用コードＣとの間に幅方向βへ所定量だけぶれが生じると、バーコードＢに対応するコード画像の各輝度値が上記幅方向βにそれぞれ同じぶれ量で分散するように変化するとみなすことができる。このため、制御部２１にて実行されるバーコードＢの読取処理において、後述するように、補正用コードＣに対して直交するように設定される補正基準線Ｌ上の輝度分布に基づいて各輝度値を補正し、このように各輝度値が補正されたバーコードＢに対してデコード処理を実施することで、撮像時のぶれの影響を抑制する。
【００３３】
以下、本第１実施形態における携帯電話１０の制御部２１にて実行される読取処理について図３および図４に示すフローチャートを用いて詳細に説明する。
まず、制御部２１では、図３のステップＳ１０１において、画像取得処理がなされる。この処理では、操作部２３に対する所定の入力操作に応じて、撮像部２２によりバーコードＢおよび補正用コードＣを含む画像が撮像されてこの画像データがメモリ２５に記憶される。
【００３４】
次に、ステップＳ１０３にてメモリ２５に記憶されたコード画像（バーコードＢに対応する領域の画像）を各輝度値に基づき二値化した後、公知のデコード処理が実施される。このデコード処理が成功してバーコードＢとして符号化された文字データ等が解読されると（Ｓ１０５でＹｅｓ）、デコード成功時の処理がなされてデコード結果等が表示部２４に表示されることで当該読取処理が終了する。なお、ステップＳ１０３および後述するステップＳ１０７を実行する制御部２１は、特許請求の範囲に記載の「デコード手段」の一例に相当する。
【００３５】
一方、ステップＳ１０３におけるデコード処理が失敗したと判定されると（Ｓ１０５でＮｏ）、ステップＳ２００において、輝度値補正処理のサブルーチンが実行される。この輝度値補正処理のサブルーチンでは、まず、図４のステップＳ２０１において、補正基準線設定処理がなされる。この処理では、画像データにおいて、図２に示すように、補正用コードＣに対し幅方向βに沿うように当該補正用コードＣに直交しかつバーコードＢを通過しない補正基準線Ｌが設定される。この補正基準線Ｌの幅方向βにおける長さは、バーコードＢの配列方向αにおける長さに等しくなるように設定される。
【００３６】
次に、ステップＳ２０３において、検出輝度分布作成処理がなされる。この処理では、ステップＳ１０１にて取得された画像データのうち上記補正基準線Ｌ上に対応する領域の輝度分布が検出輝度分布Ｙ（ｍ番目の輝度値がＹｍとして表される）として検出される。なお、ステップＳ２０１，Ｓ２０３を実行する制御部２１は、特許請求の範囲に記載の「輝度分布検出手段」の一例に相当する。
【００３７】
続いて、ステップＳ２０５において、推定輝度分布作成処理がなされる。この処理では、所定の幅値Ｗに基づいて撮像時にぶれが生じない場合の上記補正基準線Ｌ上に対応する領域の輝度分布が推定輝度分布Ｘ（ｍ番目の輝度値がＸｍとして表される）として推定される。なお、ステップＳ２０５を実行する制御部２１は、特許請求の範囲に記載の「輝度分布推定手段」の一例に相当する。
【００３８】
上記ステップＳ２０３にて検出される検出輝度分布Ｙは、各輝度値が補正用コードＣが撮像される際に撮像時の手ぶれ等に影響されて検出されることとなる。一方、上記ステップＳ２０５にて推定される推定輝度分布Ｘは、撮像時にぶれが生じないことを前提に推定されるため、補正用コードＣが占める領域、すなわち、予め設定される上記所定の幅値Ｗに対応する領域のみ低輝度値で一定となり、この領域以外では高輝度値で一定となる。そうすると、検出輝度分布Ｙと推定輝度分布Ｘとの相関は、撮像部２２によって実際に撮像されたバーコードＢに対応する領域の各輝度値と、撮像時にぶれが生じないことを前提に撮像部２２によって撮像されるバーコードＢに対応する領域の各輝度値との相関と等しくなる。
【００３９】
このため、ステップＳ２０７における補正係数算出処理では、検出輝度分布Ｙと推定輝度分布Ｘとの相関に基づいて、撮像部２２によって撮像されたバーコードＢに対応する領域の各輝度値を補正することにより、撮像時のぶれの影響を抑制している。
【００４０】
ここで、図５を用いて検出輝度分布Ｙと推定輝度分布Ｘとの相関を説明する。図５に示すように、矢印方向に所定量だけぶれが生じる場合、各点におけるぶれ度合はそれぞれ等しくなることから、検出輝度分布Ｙにおけるｍ番目の輝度値Ｙｍと、推定輝度分布Ｘの各輝度値Ｘｍ−１，Ｘｍ−２，Ｘｍ−３，・・・との間には、補正係数Ａ１，Ａ２，Ａ３・・・を用いた以下の関係式が成立する。
Ｙｍ＝Ａ１Ｘｍ−１＋Ａ２Ｘｍ−２＋Ａ３Ｘｍ−３＋・・・
すなわち、検出輝度分布Ｙの各輝度値Ｙｍは、以下の式で表すことができる。
Ｙｍ＝Σｋ＝１ＡｋＸｍ−ｋ                                        ・・・（１）
ここで、ぶれが生じる前と後で総輝度値は変化しないことから、補正係数Ａ１，Ａ２，Ａ３・・・には、以下の関係式が成立する。
Σｋ＝１Ａｋ＝１                                                  ・・・（２）
【００４１】
そうすると、所定の幅値Ｗは予め設定されているため、図５に示すように、例えば、Ｘｍ〜Ｘｍ＋３＝１、Ｘｍ−１，Ｘｍ−２・・・＝０、Ｘｍ＋４，Ｘｍ＋５・・・＝０であり、検出輝度分布Ｙの各輝度値Ｙｍが検出されると、これらの値を上記式（１）にそれぞれ代入し，上記式（２）との関係から、補正係数Ａ１，Ａ２，Ａ３・・・を算出することができる。なお、図５では、Ａ１＝０．５，Ａ２＝０．３，Ａ３＝０．２が成立する場合の検出輝度分布Ｙと推定輝度分布Ｘとの関係を示しており、例えば、Ｙｍ＋１＝０．５×Ｘｍ＋０．３×Ｘｍ−１＋０．２×Ｘｍ−２＝０．５が成立する。
【００４２】
上述のように、ステップＳ２０７にて補正係数Ａ１，Ａ２，Ａ３・・・が算出されると、ステップＳ２０９において、補正処理がなされる。この処理では、ステップＳ１０１にて取得されたコード画像の各輝度値を上述した検出輝度分布Ｙの各輝度値Ｙｍに相当する各輝度値Ｙｂｍとし、これら各輝度値Ｙｂｍと上述のように算出された補正係数Ａ１，Ａ２，Ａ３・・・との関係において上記式（１），（２）が成立する各輝度値Ｘｂｍがそれぞれ算出される。このように算出される各輝度値Ｘｂｍは、撮像時のぶれの影響を除くようにバーコードＢを撮像したコード画像の各輝度値Ｙｂｍが補正されたものとなる。
【００４３】
具体的には、図６（Ｂ）に示すように、ステップＳ１０１にて取得されたコード画像の各輝度値Ｙｂｍが撮像時のぶれのために明暗の差が小さくデコード処理が失敗する場合でも、図６（Ａ）に示すように、上記補正処理により補正された各輝度値Ｘｂｍではぶれの影響がなくなり明暗の差が明確になっていることが判る。
【００４４】
このようにステップＳ２０９にてコード画像の各輝度値Ｙｂｍが補正されて、輝度値補正処理のサブルーチンが終了する。なお、ステップＳ２０９を実行する制御部２１は、特許請求の範囲に記載の「補正手段」の一例に相当する。
【００４５】
上述のように輝度値補正処理のサブルーチンが終了すると、図３のステップＳ１０７において、ステップＳ２０９にて補正された各輝度値Ｘｂｍに基づき二値化した後、公知のデコード処理が実施される。上記ステップＳ１０３におけるデコード処理の失敗が撮像時のぶれに起因するものであれば上記ステップＳ１０７におけるデコード処理が成功することとなり、撮像時のぶれの影響が抑制されて、バーコードＢとして符号化された文字データ等を解読することができる。
【００４６】
以上説明したように、本第１実施形態に係る携帯電話１０では、ステップＳ２０１，Ｓ２０３を実行する制御部２１により、撮像部２２からの画素信号に基づいて補正用コードＣに対し幅方向βに沿うように直交する補正基準線Ｌ上に対応する検出輝度分布Ｙが検出される。また、ステップＳ２０５を実行する制御部２１により、所定の幅値Ｗに基づいて撮像時にぶれが生じない場合の補正基準線Ｌ上に対応する推定輝度分布Ｘが推定される。そして、検出輝度分布Ｙと推定輝度分布Ｘとの相関に基づいてバーコードＢに対応するコード画像の各輝度値Ｙｂｍが補正された各輝度値Ｘｂｍに対してデコード処理が実施される。
【００４７】
検出輝度分布Ｙと推定輝度分布Ｘとの相関は、撮像部２２によって実際に撮像されたバーコードＢに対応する領域の各輝度値Ｙｂｍと、撮像時にぶれが生じないことを前提に撮像部２２によって撮像されるバーコードＢに対応する領域の各輝度値Ｘｂｍとの相関と等しくなるため、検出輝度分布Ｙと推定輝度分布Ｘとの相関に基づいて、撮像部２２によって撮像されたバーコードＢに対応する領域の各輝度値Ｙｂｍを補正することにより、撮像時のぶれの影響を抑制することができる。
【００４８】
また、本第１実施形態に係る携帯電話１０では、まず、上記輝度値補正処理により補正される前のバーコードＢに対応するコード画像の各輝度値Ｙｂｍに基づきデコード処理を行い、このデコード処理が失敗した場合に、上記輝度値補正処理により各輝度値Ｙｂｍが補正された各輝度値Ｘｂｍに基づきデコード処理を実施するため、撮像時のぶれの影響が小さくデコード処理が失敗しないような場合には上記輝度値補正処理が実施されないので、補正処理のための処理時間を短縮することができる。
【００４９】
さらに、本第１実施形態に係る携帯電話１０では、情報コードとしてバーコードＢが読み取り対象であり、補正用コードＣはこのバーコードＢの配列側を除く周囲であって当該バーコードＢの配列方向αに対して幅方向βが平行になるように１つ配置されるため、補正用コードＣに対し幅方向βに沿うように直交する補正基準線ＬがバーコードＢを通過することもないので、バーコードＢを通過するか否かを判断することなく補正基準線Ｌを設定することができる。
【００５０】
また、本第１実施形態に係る携帯電話１０では、撮像時に撮像部２２とバーコードＢおよび補正用コードＣとの間に幅方向βへ所定量だけぶれが生じたことを前提に、上記式（１）（２）が成立する補正係数Ａｋを算出し、この補正係数Ａｋに基づいてバーコードＢに対応する領域の各輝度値Ｙｂｍを補正する。これにより、上述した２式（１），（２）を満たす補正係数Ａｋが撮像時のぶれ量を考慮した係数になるので、この補正係数Ａｋに基づいてバーコードＢに対応する領域の各輝度値Ｙｂｍを補正することにより、撮像時のぶれの影響を確実に抑制することができる。
【００５１】
ここで、図７に示すように、本第１実施形態の変形例として、バーコードＢの周囲には、当該バーコードＢの配列方向αに対して幅方向βが平行になるように２つの補正用コードＣａ，Ｃｂがそれぞれ配置されてもよい。
【００５２】
これにより、補正用コードＣａに直交する補正基準線Ｌａ上に対応する検出輝度分布と推定輝度分布との相関と、補正用コードＣｂに直交する補正基準線Ｌｂ上に対応する検出輝度分布と推定輝度分布との相関との双方に基づいて、撮像部２２によって撮像されたバーコードＢに対応する領域の各輝度値Ｙｂｍが補正されるので、補正精度を向上して撮像時のぶれの影響を確実に抑制することができる。なお、バーコードＢの周囲には、３つ以上の補正用コードが配置されても上記作用効果を奏する。
【００５３】
［第２実施形態］
次に、本発明の第２実施形態に係る携帯電話１０について図８および図９を参照して説明する。
本第２実施形態に係る携帯電話１０では、読み取り対象が図８に示す二次元コードであるＱＲコードＱであり、上述した輝度値補正処理のサブルーチンを図４に示すフローチャートに代えて図９に示すフローチャートに基づいて演算処理している点が、上記第１実施形態に係る携帯電話と異なる。したがって、第１実施形態の携帯電話と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【００５４】
本第２実施形態では、図８に示すように、互いに直交する第１補正用コードＣ１および第２補正用コードＣ２が周囲に配置されて複数の明色セルおよび複数の暗色セルから構成されるＱＲコードＱを読み取り対象とする。具体的には、両補正用コードＣ１，Ｃ２は、予め設定される所定の幅値Ｗを有するように暗色セルのみから構成されている。第１補正用コードＣ１は、ＱＲコードＱにおける２次元配列の行方向（配列方向α１という）に対して幅方向β１が平行になるように配置されている。また、第２補正用コードＣ２は、ＱＲコードＱにおける２次元配列の列方向（配列方向α２という）に対して幅方向β２が平行になるように配置されている。
【００５５】
ＱＲコードＱのような二次元コードでは、撮像時のぶれに応じて、コード画像の各輝度値が第１補正用コードＣ１の幅方向β１と第２補正用コードＣ２の幅方向β２とに第１の所定量と第２の所定量とでそれぞれ同じぶれ量で分散するように変化するとみなすことができる。このため、制御部２１にて実行されるＱＲコードＱの読取処理において、後述するように、第１補正用コードＣ１が第１の所定量だけぶれる状態を示す補正係数Ａ１ｋと、第２補正用コードＣ２が第２の所定量だけぶれる状態を示す補正係数Ａ２ｋとが撮像時のぶれ量を二次元的に考慮した係数になる。これにより、補正係数Ａ１ｋおよび補正係数Ａ２ｋに基づいてＱＲコードＱに対応する領域の各輝度値を二次元的に補正し、このように各輝度値が補正されたＱＲコードＱに対してデコード処理を実施することで、撮像時のぶれの影響を抑制する。
【００５６】
以下、本第２実施形態における携帯電話１０の制御部２１にて実行される読取処理について図３および図９に示すフローチャートを用いて詳細に説明する。
まず、制御部２１では、上記第１実施形態と同様に図３のステップＳ１０１において、画像取得処理がなされて、ＱＲコードＱおよび両補正用コードＣ１，Ｃ２を含む画像が撮像部２２により撮像され、このコード画像に対するデコード処理が失敗すると（Ｓ１０５でＮｏ）、図９に示す輝度値補正処理のサブルーチンが実行される。
【００５７】
この輝度値補正処理のサブルーチンでは、まず、図９のステップＳ３０１において、第１補正基準線設定処理がなされる。この処理では、画像データにおいて、図８に示すように、第１補正用コードＣ１に対し幅方向β１に沿うように当該第１補正用コードＣ１にそれぞれ直交しかつＱＲコードＱを通過しない第１補正基準線Ｌ１が設定される。この第１補正基準線Ｌ１の幅方向β１における長さは、ＱＲコードＱの配列方向α１における長さに等しくなるように設定される。
【００５８】
次に、ステップＳ３０３において、第１検出輝度分布作成処理がなされる。この処理では、ステップＳ１０１にて取得された画像データのうち上記第１補正基準線Ｌ１上に対応する領域の輝度分布が第１検出輝度分布Ｙ１（ｍ番目の輝度値がＹ１ｍとして表される）として検出される。
【００５９】
続いて、ステップＳ３０５において、第１推定輝度分布作成処理がなされる。この処理では、所定の幅値Ｗに基づいて撮像時にぶれが生じない場合の上記第１補正基準線Ｌ１上に対応する領域の輝度分布が第１推定輝度分布Ｘ１（ｍ番目の輝度値がＸ１ｍとして表される）として推定される。
【００６０】
上記第１実施形態と同様に、第１検出輝度分布Ｙ１の各輝度値Ｙ１ｍと第１推定輝度分布Ｘ１の各輝度値Ｘ１ｍとの間には、撮像時に撮像部２２と第１補正用コードＣ１との間に幅方向β１へ第１の所定量だけぶれが生じたことを前提に、補正係数Ａ１１，Ａ１２，Ａ１３・・・を用いた以下の関係式が成立する。
Ｙ１ｍ＝Σｋ＝１Ａ１ｋＸ１ｍ−ｋ                                  ・・・（３）
Σｋ＝１Ａ１ｋ＝１                                                ・・・（４）
ステップＳ３０７では、各輝度値Ｙ１ｍおよび各輝度値Ｘ１ｍの各値を上記式（３）にそれぞれ代入した結果式と上記式（４）とから補正係数Ａ１１，Ａ１２，Ａ１３・・・が算出される。
【００６１】
次に、ステップＳ３０９において、第２補正基準線設定処理がなされる。この処理では、上記第１補正基準線設定処理と同様に、画像データにおいて、図８に示すように、第２補正用コードＣ２に対し幅方向β２に沿うように当該第２補正用コードＣ２にそれぞれ直交しかつＱＲコードＱを通過しない第２補正基準線Ｌ２が設定される。この第２補正基準線Ｌ２の幅方向β２における長さは、ＱＲコードＱの配列方向α２における長さに等しくなるように設定される。
【００６２】
次に、ステップＳ３１１において、第２検出輝度分布作成処理がなされる。この処理では、上記第１検出輝度分布作成処理と同様に、ステップＳ１０１にて取得された画像データのうち上記第２補正基準線Ｌ２上に対応する領域の輝度分布が第２検出輝度分布Ｙ２（ｍ番目の輝度値がＹ２ｍとして表される）として検出される。
【００６３】
続いて、ステップＳ３１３において、第２推定輝度分布作成処理がなされる。この処理では、上記第１推定輝度分布作成処理と同様に、所定の幅値Ｗに基づいて撮像時にぶれが生じない場合の上記第２補正基準線Ｌ２上に対応する領域の輝度分布が第２推定輝度分布Ｘ２（ｍ番目の輝度値がＸ２ｍとして表される）として推定される。
【００６４】
第１検出輝度分布Ｙ１と第１推定輝度分布Ｘ１との関係と同様に、第２検出輝度分布Ｙ２の各輝度値Ｙ２ｍと第２推定輝度分布Ｘ２の各輝度値Ｘ２ｍとの間には、撮像時に撮像部２２と第２補正用コードＣ２との間に幅方向β２へ第２の所定量だけぶれが生じたことを前提に、補正係数Ａ２１，Ａ２２，Ａ２３・・・を用いた以下の関係式が成立する。
Ｙ２ｍ＝Σｋ＝１Ａ２ｋＸ２ｍ−ｋ                                  ・・・（５）
Σｋ＝１Ａ２ｋ＝１                                                ・・・（６）
ステップＳ３１５では、各輝度値Ｙ２ｍおよび各輝度値Ｘ２ｍの各値を上記式（５）にそれぞれ代入した結果式と上記式（６）とから補正係数Ａ２１，Ａ２２，Ａ２３・・・が算出される。
【００６５】
続いて、ステップＳ３１７において、補正処理がなされる。この処理では、上記第１実施形態においてバーコードＢを撮像したコード画像における各輝度値Ｙｂｍとこれを補正した各輝度値Ｘｂｍとの関係に対応して、ＱＲコードＱを撮像したコード画像における各輝度値Ｙｑｍとこれを補正した各輝度値Ｘｑｍとを定義する。そして、各輝度値Ｙｑｍと上記補正係数Ａ１１，Ａ１２，Ａ１３・・・および補正係数Ａ２１，Ａ２２，Ａ２３・・・との関係において上記式（３），（５）が成立する各輝度値Ｘｑｍがそれぞれ算出される。このように算出される各輝度値Ｘｑｍは、撮像時のぶれの影響を除くようにＱＲコードＱを撮像したコード画像の各輝度値Ｙｑｍが二次元的に補正されたものとなる。このようにステップＳ３１７にてコード画像の各輝度値Ｙｑｍが補正されて、輝度値補正処理のサブルーチンが終了する。
【００６６】
上述のように輝度値補正処理のサブルーチンが終了すると、図３のステップＳ１０７において、ステップＳ３１７にて補正された各輝度値Ｘｑｍに基づき二値化した後、公知のデコード処理が実施される。上記ステップＳ１０３におけるデコード処理の失敗が撮像時のぶれに起因するものであれば上記ステップＳ１０７におけるデコード処理が成功することとなり、撮像時のぶれの影響が抑制されて、ＱＲコードＱとして符号化された文字データ等を解読することができる。
【００６７】
以上説明したように、本第２実施形態に係る携帯電話１０では、情報コードとしてＱＲコードＱが読み取り対象であり、第１補正用コードＣ１および第２補正用コードＣ２は、ＱＲコードＱの周囲にて互いに直交する方向に配置されるため、第１補正用コードＣ１に直交する第１補正基準線Ｌ１上に対応する第１検出輝度分布Ｙ１と第１推定輝度分布Ｘ１との相関と、第２補正用コードＣ２に直交する第２補正基準線Ｌ２上に対応する第２検出輝度分布Ｙ２と第２推定輝度分布Ｘ２との相関とから、ＱＲコードＱに対応する領域の各輝度値Ｙｑｍを二次元的に補正して、撮像時のぶれの影響を抑制することができる。
【００６８】
特に、本第２実施形態に係る携帯電話１０では、撮像時に撮像部２２と第１補正用コードＣ１との間に幅方向β１へ第１の所定量だけぶれが生じたことを前提に、上記式（３）（４）が成立する補正係数Ａ１ｋを算出するとともに、撮像時に撮像部２２と第２補正用コードＣ２との間に幅方向β２へ第２の所定量だけぶれが生じたことを前提に、上記式（５）（６）が成立する補正係数Ａ２ｋを算出する。これにより、補正係数Ａ１ｋおよび補正係数Ａ２ｋが撮像時のぶれ量を二次元的に考慮した係数になるので、これら補正係数Ａ１ｋおよび補正係数Ａ２ｋに基づいてＱＲコードＱに対応する領域の各輝度値Ｙｑｍを二次元的に補正することにより、ＱＲコードＱのような二次元コードであっても撮像時のぶれの影響を確実に抑制することができる。
【００６９】
ここで、図１０（Ａ）〜（Ｄ）に示すように、本第２実施形態の変形例として、ＱＲコードＱの周囲に、当該ＱＲコードＱの配列方向α１または配列方向α２に対して幅方向が平行になるように複数の補正用コードＣが配置することで、補正精度を向上して撮像時のぶれの影響を抑制してもよい。
【００７０】
具体的には、図１０（Ａ）に示すように、ＱＲコードＱの配列方向α１側の両縁の一方にその幅方向が配列方向α１に直交する１つの補正用コードＣを設け、他方に各幅方向が配列方向α１に直交する一対の補正用コードＣを設けることで、配列方向α２に沿う補正基準線を複数設けて配列方向α２に関する補正精度を向上させることができる。また、ＱＲコードＱの配列方向α２側の両縁の一方にその幅方向が配列方向α２に直交する１つの補正用コードＣを設け、他方に各幅方向が配列方向α２に直交する一対の補正用コードＣを設けることで、配列方向α１に沿う補正基準線を複数設けて配列方向α１に関する補正精度を向上させることができる。
【００７１】
また、図１０（Ｂ）に示すように、ＱＲコードＱの配列方向α１側の両縁の一方にその幅方向が配列方向α１に直交する補正用コードＣを離間して２つ設け、他方に各幅方向が配列方向α１に直交する一対の補正用コードＣを離間して２つ設けることで、配列方向α２に沿う補正基準線を複数設けて配列方向α２に関する補正精度を向上させることができる。また、ＱＲコードＱの配列方向α２側の両縁の一方にその幅方向が配列方向α２に直交する１つの補正用コードＣを離間して２つ設け、他方に各幅方向が配列方向α２に直交する一対の補正用コードＣを離間して２つ設けることで、配列方向α１に沿う補正基準線を複数設けて配列方向α１に関する補正精度を向上させることができる。
【００７２】
また、図１０（Ｃ）に示すように、ＱＲコードＱの周囲の４隅にＬ字状の補正コードＣまたは二重のＬ字状の補正コードを、各直線部が配列方向α１または配列方向α２に沿うように配置してもよい。
【００７３】
また、図１０（Ｄ）に示すように、ＱＲコードＱの配列方向α１側の両縁の一方にその幅方向が配列方向α１に平行な１つの補正用コードＣを設け、他方に各幅方向が配列方向α１に平行な一対の補正用コードＣを設けることで、配列方向α１に沿いＱＲコードＱを通過しない補正基準線を複数設けて配列方向α１に関する補正精度を向上させることができる。また、ＱＲコードＱの配列方向α２側の両縁の一方にその幅方向が配列方向α２に平行な１つの補正用コードＣを設け、他方に各幅方向が配列方向α２に平行な一対の補正用コードＣを設けることで、配列方向α２に沿いＱＲコードＱを通過しない補正基準線を複数設けて配列方向α１に関する補正精度を向上させることができる。
【００７４】
［第３実施形態］
次に、本発明の第３実施形態に係る携帯電話１０について図１１および図１２を参照して説明する。
本第３実施形態に係る携帯電話１０では、上述した輝度値補正処理のサブルーチンを図９に示すフローチャートに代えて図１１に示すフローチャートに基づいて演算処理している点が、上記第２実施形態に係る携帯電話と異なる。したがって、第２実施形態の携帯電話と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【００７５】
以下、本第３実施形態における携帯電話１０の制御部２１にて実行される読取処理について図３および図１１に示すフローチャートを用いて詳細に説明する。
まず、上記第２実施形態と同様に、図３のステップ１０１にてＱＲコードＱおよび両補正用コードＣ１，Ｃ２を含む画像が撮像され、このコード画像に対するデコード処理が失敗すると（Ｓ１０５でＮｏ）、図１１に示す輝度値補正処理のサブルーチンが実行される。
【００７６】
この輝度値補正処理のサブルーチンでは、まず、図１１のステップＳ４０１において、ぶれ方向検出処理がなされる。この処理では、ステップＳ１０１にて撮像された画像に含まれる第１補正用コードＣ１または第２補正用コードＣ２に相当する領域の形状と補正用コードの幅値Ｗとから、撮像時に撮像部２２と両補正用コードＣ１，Ｃ２等との間に生じたぶれの方向（以下、ぶれ方向γ）を検出する。
【００７７】
次に、ステップＳ４０３において、補正基準線設定処理がなされる。この処理では、画像データにおいて、第１補正用コードＣ１または第２補正用コードＣ２に対しぶれ方向γに沿いＱＲコードＱを通過しない補正基準線Ｌ３が設定される。例えば、図１２に示すように、ぶれ方向γと第１補正用コードＣ１の幅方向との間の角度が、第２補正用コードＣ２の幅方向との間の角度よりも小さい場合には、ぶれ方向γに沿うように第１補正用コードＣ１を通過しＱＲコードＱを通過しないように補正基準線Ｌ３が設定される。
【００７８】
次に、ステップＳ４０５において、検出輝度分布作成処理がなされる。この処理では、ステップＳ１０１にて取得された画像データのうち上記補正基準線Ｌ３上に対応する領域の輝度分布が検出輝度分布Ｙ３（ｍ番目の輝度値がＹ３ｍとして表される）として検出される。
【００７９】
続いて、ステップＳ４０７において、推定輝度分布作成処理がなされる。この処理では、所定の幅値Ｗに基づいて撮像時にぶれが生じない場合の上記補正基準線Ｌ３上に対応する領域の輝度分布が推定輝度分布Ｘ３（ｍ番目の輝度値がＸ３ｍとして表される）として推定される。
【００８０】
上記第１実施形態と同様に、検出輝度分布Ｙ３の各輝度値Ｙ３ｍと推定輝度分布Ｘ３の各輝度値Ｘ３ｍとの間には、補正係数Ａ３１，Ａ３２，Ａ３３・・・を用いた以下の関係式が成立する。
Ｙ３ｍ＝Σｋ＝１Ａ３ｋＸ３ｍ−ｋ                                  ・・・（７）
Σｋ＝１Ａ３ｋ＝１                                                ・・・（８）
ステップＳ４０９では、各輝度値Ｙ３ｍおよび各輝度値Ｘ３ｍの各値を上記式（７）にそれぞれ代入した結果式と上記式（８）とから補正係数Ａ３１，Ａ３２，Ａ３３・・・が算出される。
【００８１】
そして、ステップＳ４１１において、補正処理がなされる。この処理では、上記第２実施形態と同様に、ＱＲコードＱを撮像したコード画像における各輝度値Ｙｑｍとこれを補正した各輝度値Ｘｑｍとを定義する。そして、ぶれ方向γに沿う方向において、各輝度値Ｙｑｍと上記補正係数Ａ１１，Ａ１２，Ａ１３・・・との関係にて上記式（７）が成立する各輝度値Ｘｑｍがそれぞれ算出される。このように算出される各輝度値Ｘｑｍは、撮像時のぶれの影響を除くようにＱＲコードＱを撮像したコード画像の各輝度値Ｙｑｍが二次元的に補正されたものとなる。このようにステップＳ４１１にてコード画像の各輝度値Ｙｑｍが補正されて、輝度値補正処理のサブルーチンが終了する。
【００８２】
上述のように輝度値補正処理のサブルーチンが終了すると、図３のステップＳ１０７において、ステップＳ４１１にて補正された各輝度値Ｘｑｍに基づき二値化した後、公知のデコード処理が実施される。上記ステップＳ１０３におけるデコード処理の失敗が撮像時のぶれに起因するものであれば上記ステップＳ１０７におけるデコード処理が成功することとなり、撮像時のぶれの影響が抑制されて、ＱＲコードＱとして符号化された文字データ等を解読することができる。
【００８３】
以上説明したように、本第３実施形態に係る携帯電話１０では、撮像時に撮像部２２と両補正用コードＣ１，Ｃ２との間にぶれ方向γへ所定量だけぶれが生じたことを前提に、当該ぶれ方向γに平行な補正基準線Ｌ３に関して、上記式（７）（８）が成立する補正係数Ａ３ｋを算出し、上記ぶれ方向γおよび補正係数Ａ３ｋに基づいてＱＲコードＱに対応する領域の各輝度値Ｙｑｍを二次元的に補正する。
【００８４】
このように、ＱＲコードＱのような二次元コードに対する撮像時のぶれを補正する場合、ぶれ方向γを考慮することにより、上記第２実施形態のように２方向それぞれの検出輝度分布Ｙ１，Ｙ２および推定輝度分布Ｘ１，Ｘ２から２種類の補正係数Ａ１ｋ，Ａ２ｋを算出することなく、ぶれ方向γに関する検出輝度分布Ｙ３および推定輝度分布Ｘ３の相関から算出される補正係数Ａ３ｋとぶれ方向γとに基づいて二次元コードに対応する領域の各輝度値Ｙｑｍを二次元的に補正することができる。
【００８５】
なお、本発明は上記各実施形態に限定されるものではなく、以下のように具体化してもよく、その場合でも、上記各実施形態と同等の作用・効果が得られる。
（１）上記各実施形態において、携帯電話１０は、バーコードＢやＱＲコードＱ等の情報コードからの反射光の光量を高めるための照明手段を有してもよい。また、上記各実施形態に記載された発明は、情報コード等に光を照射して光学的に読み取る光学的情報読取装置に適用されてもよい。
【００８６】
（２）上記第１実施形態のステップＳ２０１にて同一の補正コードＣに対して補正基準線Ｌを２つ以上設定し、ステップＳ２０３にて各補正基準線Ｌ上に対応する領域の輝度分布をそれぞれ検出し各輝度分布を平均化して検出輝度分布Ｙを検出することで、当該検出輝度分布Ｙの検出精度を向上させてもよい。他の実施形態においても同一の補正コードＣに対して補正基準線Ｌを２つ以上設定して検出輝度分布を検出することで当該検出輝度分布の検出精度を向上させることができる。
【符号の説明】
【００８７】
１０…携帯電話（光学的情報読取装置）
２１…制御部（輝度分布検出手段，輝度分布推定手段，補正手段，デコード手段）
２２…撮像部（撮像手段）
Ａｋ，Ａ１ｋ，Ａ２ｋ，Ａ３ｋ…補正係数
Ｂ…バーコード（情報コード）
Ｃ，Ｃ１，Ｃ２…補正用コード
Ｌ，Ｌ１，Ｌ２，Ｌ３…補正基準線
Ｑ…ＱＲコード（情報コード，二次元コード）
Ｘ，Ｘ１，Ｘ２，Ｘ３…推定輝度分布
Ｙ，Ｙ１，Ｙ２，Ｙ３…検出輝度分布
Ｗ…所定の幅値
α，α１，α２…配列方向
β，β１，β２…幅方向
γ…ぶれ方向
【図１】
2010272007.tif 000003
【図２】
2010272007.tif 000004
【図３】
2010272007.tif 000005
【図４】
2010272007.tif 000006
【図５】
2010272007.tif 000007
【図６】
2010272007.tif 000008
【図７】
2010272007.tif 000009
【図８】
2010272007.tif 000010
【図９】
2010272007.tif 000011
【図１０】
2010272007.tif 000012
【図１１】
2010272007.tif 000013
【図１２】
2010272007.tif 000014