(57)【要約】【課題】二次元コードリーダが得られる画像の歪みは、コードリーダ側での対応は容易ではないことから、形成する二次元コード自体の変形により、コードリーダが得られる画像の伸縮・歪曲を補正し、読取率を向上させることができる二次元コードを提供する。【解決手段】所定の曲面に形成され、矩形内の分布パターンにより情報を表現する二次元コードであって、所定の位置から二次元コードを撮像した像が所定の矩形形状になるように、分布パターンを曲面に沿って形成した。【選択図】図１
2009025992.tif 000002
【特許請求の範囲】
【請求項１】
所定の曲面に形成され、矩形内の分布パターンにより情報を表現する二次元コードであって、
所定の位置から前記二次元コードを撮像した像が所定の矩形形状になるように、前記分布パターンを前記曲面に沿って形成したことを特徴とする二次元コード。
【請求項２】
矩形内の分布パターンにより情報を表現する二次元コードであって、
前記二次元コードが所定の曲面に貼付された場合に、所定の位置から前記二次元コードを撮像した像が所定の矩形形状になるように、前記分布パターンを変形させて形成したことを特徴とする二次元コード。
【請求項３】
前記曲面は、円柱の曲面であることを特徴とする請求項１または２に記載の二次元コード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元コードに関する。
【背景技術】
【０００２】
従来の２次元コードの例としては、例えば、特許文献１に記載のものがある。２次元コードは、記録されるべき情報が２次元的な広がりを持ち、従来のバーコードに比べて格段に大量の情報を記録することができる。従来の２次元コードは、存在位置の確定を容易にするために、特定寸法比率の正方形を組み合わせた位置決め用シンボルを３個持っており、２次元コードの内部は、ｎ×ｎの正方形の升目に区切られている図形である。
【特許文献１】特開平７−２５４０３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上記のような二次元コードを飲料の容器等の円柱形の対象物に形成した場合、二次元コードリーダによる読取率が著しく下がるか、もしくは読取不可能となる状態が発生するという問題がある。二次元コードが平面上への形成を前提に設計されていることからも当然のことではあるが、この読取率低下は、二次元コードを曲面に形成したことから起因する二次元コードリーダの撮像手段における画像の伸縮・歪曲が原因である。
【０００４】
本発明は、このような事情に鑑みてなされたもので、二次元コードリーダが得られる画像の歪みは、コードリーダ側での対応は容易ではないことから、形成する二次元コード自体の変形により、コードリーダが得られる画像の伸縮・歪曲を補正し、読取率を向上させることができる二次元コードを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、所定の曲面に形成され、矩形内の分布パターンにより情報を表現する二次元コードであって、所定の位置から前記二次元コードを撮像した像が所定の矩形形状になるように、前記分布パターンを前記曲面に沿って形成したことを特徴とする。
【０００６】
本発明は、矩形内の分布パターンにより情報を表現する二次元コードであって、前記二次元コードが所定の曲面に貼付された場合に、所定の位置から前記二次元コードを撮像した像が所定の矩形形状になるように、前記分布パターンを変形させて形成したことを特徴とする。
【０００７】
本発明は、前記曲面は、円柱の曲面であることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、矩形内の分布パターンにより情報を表現する二次元コードを曲面に形成する場合に、予め決められた位置から撮像した像が本来の矩形形状になるように、分布パターンを曲面に沿って形成するようにしたため、得られる二次元コード画像は本来の矩形形状として得ることができるようになるため、二次元コードの読取率を向上させることができるという効果が得られる。また、円柱面に二次元コードを直接形成するのではなく、用紙等に形成してこの用紙を円柱面に貼り付ける場合は、予め決められた位置から二次元コードを撮像した像が本来の矩形形状になるように、矩形形状を変形させて形成するようにしたため、同様に二次元コードの読取率を向上させることができるという効果が得られる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の一実施形態による二次元コードを図面を参照して説明する。ここでは、本発明による二次元コードを円柱の曲面に形成するものとし、二次元コード画像のファイル形式はビットマップ形式とする。このため、画像操作において１ピクセル長が定格幅、および、最小単位幅となることを前提とする。本発明による二次元コードは、円柱状の飲料容器の表面に形成した場合に、撮像した画像が歪んでしまうのを防止するものである。
【００１０】
まず、水平方向（円柱の円周方向；二次元コードの横方向）の補正方法について説明する。視点位置（カメラ等の撮像手段の位置）を原点とし、透視投影を考える。通常の二次元コードを円柱形の対象物に貼り付けた場合、図１に示すように、二次元コードの中心から左右辺の端になるにつれ、本来の平面に形成した二次元コードよりも収縮した画像になる。これを改変するために、図２に示すように、円柱形対象物における本来あるべき画像の射影上に画像があるように元の画像を伸張する。
【００１１】
ここで、二次元コード画像改変手順を説明する。まず、撮像手段の位置（視点）を原点Ｏとし、原点Ｏから形成対象円柱物の中心への直線方向をｙ軸、これに対する垂線方向をｘ軸とするｘｙ平面を考える。そして、理想の二次元コードの一点Ｂを想定し、原点Ｏから点Ｂへの直線の延長線と円柱形対象物側面との交点をＣとし、円柱の中心点をＤとした場合、点Ｃのｘ座標ＥＣを算出し、△ＤＣＥにおいて、θを三角関数より求め、弧度法より弧ＡＣの長さを求めることにより水平方向の位置を求めることができる。なお、点Ｃからｙ軸への垂線と、ｙ軸の交点を点Ｅとし、角ＯＤＣの角度をθとする。
【００１２】
この処理によって、平面上に形成した場合の任意の位置に対応する円柱面に形成した場合の位置（水平方向位置）を求めることができる。理想の水平方向位置算出を、二次元コードの中心から横方向へ１ピクセルずつ長さを増加するごとに行い、逐次計算の間に、算出した理想の横幅とピクセル配置済み横長との差において、ピクセル幅の整数倍の長さがあれば、整数倍の個数のピクセルを複製することにより水平方向の補正を行うことができる。
【００１３】
次に、図３を参照して、二次元コードの画像を補整する詳細手順を説明する。まず視点Ｏから単位ピクセル幅（ＡＢ）のＢへの視線の円柱への射影をＢ’とし、弧ＡＢ’の長さａを求める（図３（ａ）参照）。
【００１４】
次に、弧ＡＢ’にいくつ分のピクセル幅があるか算出し、ピクセルの整数個分（図３（ｂ）の符号Ｐ１で示す領域）を元の二次元ビットマップ画像の当該画素ピクセルで埋める。そして、ピクセル単位幅を増加させ（ＡＣ）、視点Ｏから点Ｃへ視線の円柱への射影をＣ''とし、弧ＡＣ''の長さａを求める（図３（ｂ）参照）。
【００１５】
次に、弧ＡＣ''と既にピクセルを埋めた幅の差を算出する。その幅にいくつ分のピクセル幅があるか算出し、ピクセルの整数個分（図３（ｃ）の符号Ｐ２で示す領域）を元の二次元ビットマップ画像の当該画素ピクセルで埋める。そして、ピクセル単位幅を増加させ（ＡＤ）、視点ＯからＡＣへ視線の円柱への射影をＤ’とし、弧ＡＤ’の長さａを求める。
【００１６】
この手順を繰り返すことにより、逐次的に理想の点への元ピクセル拡大を行うことができる。これにより、単純に一括して拡大率を求めるよりも、より精確な位置へのピクセル配置が可能となる。水平方向の補正はビットマップ画像のあるピクセル横位置において、一意の拡大決定の値を用いる。
【００１７】
ここで、図４を参照して、前述した補正手法の導出式を説明する。図４に示すように、直線と円の連立方程式より
【数１】
2009025992.tif 000003
【００１８】
これを解くと、
【数２】
2009025992.tif 000004
【００１９】
解の公式と必要な要素より
【数３】
2009025992.tif 000005
【００２０】
したがってθは、
【数４】
2009025992.tif 000006
【００２１】
弧ＡＣの長さは、
【数５】
2009025992.tif 000007
によって求めることができる。
【００２２】
次に、鉛直方向（二次元コードの縦方向）の補正方法について説明する。二次元コードリーダの読み込み処理は、まず二次元コードの端三点にある位置指定子と呼ばれる「黒枠：白枠：黒方形」となる部分を読み込み、次にその黒枠の横・縦方向への延長方向直線上の画素を抽出するようになっている。平面に形成した二次元コードでは直線上となる部分が、曲面に形成した場合、二次元コードリーダとして用いる携帯端末等のカメラレンズ上では、図５に示すように、二次元コードの上辺が凸に、下辺が凹に歪曲する。この歪曲を、図６に示すように二次元コード画像の補正を行う必要がある。
【００２３】
次に、鉛直方向の補正手順を説明する。まず、水平方向の補正と同様に、カメラの撮像手段位置を原点Ｏとしてｘｙ平面を考える。理想の二次元コードの一点Ｂを想定し、半直線ＯＢ上にある実際の円柱形との交点Ｃのｘ成分ＥＣを算出する。なお、点Ｃからｙ軸への垂線と、ｙ軸との交点を点Ｅとする。
【００２４】
次に、高さを含めたｘｙｚ軸空間を考える。その横位置における高さａｎｓ（ｚ軸）は、面ＯＣＨ上における△ＯＢＩと△ＯＣＨの相似と、面ＯＡＢ上における△ＯＡＢと△ＯＥＣの相似から求めることができる。なお、理想の二次元コード上でｘ座標をＢとし、高さｈとする一点を点Ｉとする。また、半直線ＯＩと実際の円柱形との交点を点Ｈとする。
【数６】
2009025992.tif 000008
【００２５】
次に、水平方向の拡大決定と同様の操作を縦方向に対して行う。ただし、縦方向の拡大決定は１ピクセルずつ高さと長さを独立に増加させ、高さ（縦方向拡大）を算出する。
【００２６】
ここで、図７を参照して、前述した補正手法の導出式を説明する。図７に示すように、水平方向の補正同様に、円柱形の一点であるｘの値を求める。
直線と円の連立方程式より、
【数７】
2009025992.tif 000009
【００２７】
解の公式と必要な要素より
【数８】
2009025992.tif 000010
【００２８】
三角形の相似から
【数９】
2009025992.tif 000011
【００２９】
上記の比例式より、外項の積と内項の積は等しいので、
【数１０】
2009025992.tif 000012
【００３０】
したがって、ビットマップ画像のある一点における理想の高さを求めることができる。
【００３１】
次に、計算限界値について説明する。本来の位置に写像が現れるようにするには、当然ながら円柱物に射影ができることが前提となる。したがって、射影が可能な範囲を超える場合、前述した補正手法は妥当ではない。しかし、物理的に射影が円柱物に収まらない地点において限界点が存在することは自明であるので、この限界点を計算限界値として算出する必要がある。
【００３２】
図８を参照して、計算限界値の導出手順を説明する。対象円柱物側面と撮像手段の位置Ｏからの直線が接点を持つ場合が計算限界点となり、ｙ＝ｄの線上における限界点Ｂにおけるｙ軸からの距離ｌｉｍｉｔを算出する。△ＯＣＤと△ＯＡＢにおいて
【数１１】
2009025992.tif 000013
【００３３】
したがって、撮像手段から限界値点への距離ｌは、
【数１２】
2009025992.tif 000014
【００３４】
△ＯＡＢにおける三平方の定理より、限界距離ｌｉｍｉｔは、
【数１３】
2009025992.tif 000015
【００３５】
したがって、二次元コードの横幅片側サイズをａとすると、半直線ＯＢの傾きよりも大きな傾きの場合、限界点を超えないことになる。
【数１４】
2009025992.tif 000016
【００３６】
次に、二次曲面上に形成された二次元コードの認識処理について説明する。この処理の目的は、カメラ等の撮像手段の二次元コード解析エンジンが曲面上に形成された二次元コードを平面として認識することに有る。
【００３７】
まず、平面上に形成された二次元コードを解析する処理を検証する。二次元コード解析エンジンは、平面上に形成された二次元コードを認識する際、図９に示すように、二次元コード上の各点からの距離が異なることを元に構築されていることとする。このことを元に、二次元コードを二次曲面上に形成するとき、二次元コード認識処理に対して、平面上に形成された二次元コードと同様の画像を提供することにより、二次元コードの認識率の向上を図る。すなわち、図１０に示すように、二次元コード認識エンジンのデータ収集点（カメラの焦点）から平面の二次曲面への投影画像を二次曲面上に形成すれば、二次元コードの認識率を向上させることができる。
【００３８】
ただし、デジタル画像には解像度が有るという特性上、二次元コード上の任意の一点を補正した場合、補正後の点は本来投影されるべき点からずれが生じてしまう。本処理の実装に於いては、二次元コード認識エンジンの補正機能の範囲内であるとの仮定を元に、上記ずれに対する補正は、処理に於けるデータ量のオーバーフロー発生を抑えた方向で修正を行っている。これらのことをふまえて、二次元コードを円柱に形成するために変換すると、図１１に示すように変形されることになる。
【００３９】
以上説明したように、矩形内の分布パターンにより情報を表現する二次元コードを円柱状の容器等に形成する場合に、予め決められた位置から携帯端末等に備えられているカメラによってこの二次元コードを撮像した像が本来の矩形形状になるように、分布パターンを曲面に沿って形成するようにしたため、得られる二次元コード画像は本来の矩形形状として得ることができるようになるため、二次元コードの読取率を向上させることができる。
【００４０】
なお、円柱面に二次元コードを直接形成するのではなく、用紙等に形成してこの用紙を円柱面に貼り付ける場合は、予め決められた位置から二次元コードを撮像した像が本来のの矩形形状になるように、矩形形状を変形させて形成すれば、同様に二次元コードの読取率を向上させることができる。
【図面の簡単な説明】
【００４１】
【図１】二次元コードを円柱面の形成した状態を示す説明図である。
【図２】二次元コードの補正状態を示す説明図である。
【図３】本発明による二次元コードの補正手順を示す説明図である。
【図４】本発明による二次元コードの補正導出式を示す説明図である。
【図５】二次元コードの歪曲状態を示す説明図である。
【図６】本発明による二次元コードの補正状態を示す説明図である。
【図７】本発明による二次元コードの補正導出式を示す説明図である。
【図８】計算限界値導出のための説明図である。
【図９】二次曲面に形成された二次元コードの認識処理を説明するための説明図である。
【図１０】二次曲面に形成された二次元コードの認識処理を説明するための説明図である。
【図１１】本発明の補正手順に基づいて補正した二次元コードの例を示す説明図である。
【符号の説明】
【００４２】
Ｏ・・・原点（視点；撮像手段位置）
【図１】
2009025992.tif 000017
【図２】
2009025992.tif 000018
【図３】
2009025992.tif 000019
【図４】
2009025992.tif 000020
【図５】
2009025992.tif 000021
【図６】
2009025992.tif 000022
【図７】
2009025992.tif 000023
【図８】
2009025992.tif 000024
【図９】
2009025992.tif 000025
【図１０】
2009025992.tif 000026
【図１１】
2009025992.tif 000027