(58)【調査した分野】(Int.Cl.,DB名)
コンピューティングデバイスによって、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められたピクセル検出規則に基づいて、前記QRコード(登録商標)画像内の候補位置検出パターンの中心を決定するステップであって、前記予め決められたピクセル検出規則が、行ピクセル検出規則および列ピクセル検出規則を含み、前記行ピクセル検出規則が、前記第1の種類のピクセル、前記第2の種類のピクセル、および前記第1の種類のピクセルの第1の連続した配列の比率が、第1の予め決められた比率を満たすことを指定し、前記列ピクセル検出規則が、前記第1の種類のピクセル、前記第2の種類のピクセル、および前記第1の種類のピクセルの第2の連続した配列の比率が、第2の予め決められた比率を満たすことを指定する、ステップと、
前記コンピューティングデバイスによって、前記候補位置検出パターンの前記中心に基づいて、前記候補位置検出パターンを識別するステップと、
前記コンピューティングデバイスによって、前記候補位置検出パターンから、QRコード(登録商標)画像位置決め規則を満たすパターンのセットを決定するステップと、
前記コンピューティングデバイスによって、パターンの前記セットを前記QRコード(登録商標)画像の位置検出パターンとして使用するステップとを含み、
前記QRコード(登録商標)画像位置決め規則を満たすパターンの前記セットを決定するステップが、
前記候補位置検出パターンから、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンのセットを決定するステップであって、前記第1の選択条件が、前記第1の種類の候補位置検出パターンの前記セット内の各候補位置検出パターンの前記中心の近隣の予め決められたエリア内の、前記第1の種類のピクセルの量および前記第2の種類のピクセルの量のうちの少なくとも1つが、予め決められた閾値の範囲を満たすことを含み、前記第2の選択条件が、前記中心を通る第3のピクセルの配列内の前記第1の種類のピクセル、前記第2の種類のピクセル、前記第1の種類のピクセル、前記第2の種類のピクセル、および前記第1の種類のピクセルの第3の連続した配列の比率が、第3の予め決められた比率を満たすことを含む、ステップと、
前記第1の選択条件および前記第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンの前記セットから、前記QRコード(登録商標)画像位置決め規則を満たすパターンの前記セットを決定するステップとを含む、
コンピュータで実行される方法。
前記QRコード(登録商標)画像位置決め規則が、3つの位置検出パターンの中心を結ぶ3つの線の中で最も短い2つ線が、互いに垂直でありかつ長さが等しいことを指定し、
前記第1の選択条件および前記第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンの前記セットから、前記QRコード(登録商標)画像位置決め規則を満たすパターンの前記セットを決定するステップが、
各3つの候補位置検出パターンを1つのグループとして使用することによって、前記第1の選択条件および前記第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンの前記セットから、候補位置検出パターンの複数のグループを形成するステップと、
候補位置検出パターンの各グループが、前記QRコード(登録商標)画像位置決め規則を満たすかどうかを決定するステップと、
前記QRコード(登録商標)画像位置決め規則を満たす候補位置検出パターンの少なくとも1つのグループを、前記QRコード(登録商標)画像の前記位置検出パターンとして使用するステップとを含む、
請求項1に記載のコンピュータで実行される方法。
前記QRコード(登録商標)画像位置決め規則が、3つの位置検出パターンの中心を結ぶ3つの線の中で最も短い2つ線が、互いに垂直でありかつ長さが等しいことを指定し、
前記第1の選択条件および前記第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンの前記セットから、前記QRコード(登録商標)画像位置決め規則を満たすパターンの前記セットを決定するステップが、
各3つの候補位置検出パターンを1つのグループとして使用することによって、前記第1の選択条件および前記第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンの前記セットから、候補位置検出パターンの複数のグループを形成するステップと、
候補位置検出パターンの各グループが、前記QRコード(登録商標)画像位置決め規則を満たすかどうかを決定するステップと、
前記QRコード(登録商標)画像位置決め規則を満たす候補位置検出パターンの少なくとも1つのグループを、前記QRコード(登録商標)画像の前記位置検出パターンとして使用するステップとを含む、
請求項8に記載のコンピュータで実装されるシステム。
コンピューティングデバイスによって、行ピクセル検出規則および列ピクセル検出規則に基づいて、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、前記QRコード(登録商標)画像内の候補位置検出パターンの中心を決定するステップであって、前記行ピクセル検出規則が、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が、第1の予め決められた閾値に達することを含み、前記列ピクセル検出規則が、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が、第2の予め決められた閾値に達することを含む、ステップと、
前記コンピューティングデバイスによって、前記候補位置検出パターンの前記中心に基づいて、前記候補位置検出パターンを識別するステップと、
前記コンピューティングデバイスによって、前記候補位置検出パターンから、QRコード(登録商標)画像位置決め規則を満たすパターンのセットを決定するステップと、
前記コンピューティングデバイスによって、パターンの前記セットを、前記QRコード(登録商標)画像の位置検出パターンとして使用するステップとを含み、
前記QRコード(登録商標)画像位置決め規則を満たすパターンの前記セットを決定するステップが、
前記候補位置検出パターンから、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンのセットを決定するステップであって、前記第1の選択条件が、前記第1の種類の候補位置検出パターンの前記セット内の各候補位置検出パターンの前記中心の近隣の予め決められたエリア内の、前記第1の種類のピクセルの量および前記第2の種類のピクセルの量のうちの少なくとも1つが、予め決められた閾値の範囲を満たすことを含み、前記第2の選択条件が、前記中心を通る第3のピクセルの配列内の前記第1の種類のピクセル、前記第2の種類のピクセル、前記第1の種類のピクセル、前記第2の種類のピクセル、および前記第1の種類のピクセルの第3の連続した配列の比率が、第3の予め決められた比率を満たすことを含む、ステップと、
前記第1の選択条件および前記第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンの前記セットから、前記QRコード(登録商標)画像位置決め規則を満たすパターンの前記セットを決定するステップとを含む、
コンピュータで実行される方法。
【発明を実施するための形態】
【0022】
当業者に本出願の技術的解決策をより深く理解させるために、以下で、本出願の実装の添付の図面を参照して本出願の実装の技術的解決策を明瞭に説明する。明らかに、説明される実装は、本出願の実装の一部であるに過ぎず、すべてではない。創造的な努力なしに本出願の実装に基づいて当業者によって得られるすべてのその他の実装は、本出願の保護範囲内に入る。
【0023】
本出願の実装は、QRコード(登録商標)位置決め方法および装置を提供し、方法は、QRコード(登録商標)が決済、アイデンティティの認証などのために使用される筋書きに適用され得る。QRコード(登録商標)は、ALIPAYまたはWeChatなどの任意のアプリケーションプログラムによって使用されるQRコード(登録商標)であることが可能である。
【0024】
概して、QRコード(登録商標)が適用されるとき、QRコード(登録商標)は、QRコード(登録商標)に記憶された情報を取得するために特定される必要がある。QRコード(登録商標)の特定は、少なくとも、QRコード(登録商標)の位置決めおよびQRコード(登録商標)の復号を含む。つまり、QRコード(登録商標)の位置決めは、QRコード(登録商標)の特定の1つのステップである。
【0025】
本出願の実装において提供される方法は、端末、たとえば、モバイル電話、コンピュータ、タブレットコンピュータ、またはQRコード(登録商標)スキャンデバイスによって実行され得る。この場合、端末がQRコード(登録商標)画像を取得した後、端末は、取得されたQRコード(登録商標)画像に対して本出願の実装において提供される方法を直接実行する。確かに、本出願の実装において提供される方法は、サーバによって実行され得る。この場合、最初に、端末が、スキャンすることによってQRコード(登録商標)画像を取得し、それから、サーバが、端末からQRコード(登録商標)画像を取得し、サーバが、取得されたQRコード(登録商標)画像に対して本出願の実装において提供される方法を実行する。
【0026】
図1は、本出願の実装によるQRコード(登録商標)位置決め方法を示す第1の概略的な流れ図である。
図1に示されるように、方法は、少なくとも以下のステップを含む。
【0027】
ステップS102:第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められた行ピクセル検出規則および予め決められた列ピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定し、行ピクセル検出規則は、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率を満たすことを含み、列ピクセル検出規則は、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第2の予め決められた比率を満たすことを含む。
【0028】
第1の種類のピクセルおよび第2の種類のピクセルは、異なる色のピクセルである。たとえば、QRコード(登録商標)が白黒QRコード(登録商標)であるとき、第1の種類のピクセルは、黒いピクセルであることが可能であり、第2の種類のピクセルは、白いピクセルであることが可能である。QRコード(登録商標)が青白QRコード(登録商標)であるとき、第1の種類のピクセルは、青いピクセルであることが可能であり、第2の種類のピクセルは、白いピクセルであることが可能である。
【0029】
さらに、特定の実装においては、後続の処理を容易にするために、元のQRコード(登録商標)画像が取得された後、QRコード(登録商標)画像の2値化された画像を得るために、元のQRコード(登録商標)画像に対して2値化処理が実行される。この場合、QRコード(登録商標)画像内のピクセルは、2色、すなわち、黒および白のみである。したがって、第1の種類のピクセルは、黒いピクセルであることが可能であり、第2の種類のピクセルは、白いピクセルであることが可能である。
【0030】
概して、3つの位置検出パターンが、各QRコード(登録商標)に設定され、3つの位置検出パターンは、QRコード(登録商標)の4つの角のうちの任意の3つに置かれる。位置検出パターンは、概して、長方形パターンであり、4つの等しい辺を有する正方形であることが可能であり、または長方形であることが可能である。各位置検出パターンは、3つの同心長方形を含むことが考えられ得る。
図2は、本出願の実装によるQRコード(登録商標)の位置検出パターンを示す可能な概略的な図である。
図2の位置検出パターンは、3つの同心正方形を含む。3つの正方形は、7x7の黒いモジュール、5x5の白いモジュール、および3x3の黒いモジュールである。つまり、第1の種類のピクセルは、黒いピクセルであり、第2の種類のピクセルは、白いピクセルであり、位置検出パターンのモジュール幅の比率は、1:1:3:1:1である。
図2においては、位置検出パターンの最も外側の黒い長方形エリアが、第1のエリアと表記され、位置検出パターンの真ん中の黒い長方形エリアが、第3のエリアと表記され、第1のエリアと第3のエリアとの間の白いエリアが、第2のエリアと表記される。
【0031】
第1の予め決められた比率は、1:n:1であり、nは、1よりも大きい。第2の予め決められた比率は、1:m:1であり、mは、1よりも大きい。mおよびnの値は、同じであることが可能であり、または異なることが可能であり、mおよびnの特定の値は、実際の応用の筋書きに基づいて決定され得る。たとえば、既存の1:1:3:1:1の位置検出パターンに関しては、mおよびnの両方の値が5であることが可能であり、第1の予め決められた比率が1:5:1であることが可能であり、第2の予め決められた比率が1:5:1であることが可能であり。
【0032】
本出願のこの実装においては、QRコード(登録商標)画像内の候補位置検出パターンの中心を決定することが、以下のステップ(a
1)および(a
2)、すなわち、(a
1)第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率を満たす第1のピクセル配列を行ピクセルから決定し、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第2の予め決められた比率を満たす第2のピクセル配列を列ピクセルから決定するステップと、(a
2)第1のピクセル配列の中心および第2のピクセル配列の中心に基づいて候補位置検出パターンの中心を決定するステップとを含む。
【0033】
第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率は、第1の予め決められた比率を満たし、この第1の予め決められた比率は、第1の種類のピクセル:第2の種類のピクセル:第1の種類のピクセル=1:n:1を指す。第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率は、第2の予め決められた比率を満たし、この第2の予め決められた比率は、第1の種類のピクセル:第2の種類のピクセル:第1の種類のピクセル=1:m:1を指す。特に、ここで、ピクセル配列の比率は、ピクセルの量の配列の比率であることが可能である。
【0034】
本出願のこの実装において、第1の予め決められた比率を満たす第1のピクセル配列は、
図2の第1のエリアおよび第2のエリアのみを通るピクセルの行であり、第2の予め決められた比率を満たす第2のピクセル配列は、
図2の第1のエリアおよび第2のエリアのみを通るピクセルの列である。
【0035】
実際には、スキャンされるQRコード(登録商標)画像は歪んでいる、不完全である、汚れているといった可能性があるので、QRコード(登録商標)画像内の位置検出パターンの第1のピクセル配列の第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率は、厳密には第1の予め決められた比率を満たし得ず、QRコード(登録商標)画像内の位置検出パターンの第2のピクセル配列の第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率は、厳密には第2の予め決められた比率を満たし得ない。したがって、ステップ(a
1)においては、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率または第2の予め決められた比率の誤差範囲内に入るならば、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率は、第1の予め決められた比率または第2の予め決められた比率を満たすと考えられ得る。
【0036】
ステップ(a
2)においては、候補位置検出パターンの中心の座標が、第1のピクセル配列の中心および第2のピクセル配列の中心に基づいて決定されることが可能であり、そして、候補位置検出パターンの中心が、決定されることが可能である。
【0037】
特定の実装においては、
図3に示されるように、OXY座標系を確立するために、QRコード(登録商標)の左上の角が、座標の原点Oとして使用され、座標の原点を通る水平の線が、横軸(X軸)として使用され、座標の原点を通る垂直の線が、縦軸(Y軸)として使用される。特に、候補位置検出パターンの中心の座標は、少なくとも以下の3つの方法(b
1)、(b
2)、および(b
3)を使用することによって決定され得る。
【0038】
(b1)走査線(scanning line)がQRコード(登録商標)画像のX方向に引かれ、QRコード(登録商標)画像が走査線を使用することによってY方向にスキャンされ、第1のピクセル配列が各候補位置検出パターン内の第1の予め決められた位置において決定される。それから、走査線がQRコード(登録商標)画像のY方向に引かれ、QRコード(登録商標)画像が走査線を使用することによってX方向にスキャンされ、第2のピクセル配列が各候補位置検出パターン内の第2の予め決められた位置および第3の予め決められた位置において別々に決定される。
図4に示されるように、第1の予め決められた位置の第1のピクセル配列は、P
1と表記され、第2の予め決められた位置の第2のピクセル配列は、P
2と表記され、第3の予め決められた位置の第2のピクセル配列は、P
3と表記される。第2のピクセル配列P
2から候補位置検出パターンの左の縁までの距離が、第1の距離と表記され、第2のピクセル配列P
3から候補位置検出パターンの右の縁までの距離が、第2の距離と表記される。特定の実装においては、計算を容易にするために、第2のピクセル配列P
2および第2のピクセル配列P
3の位置が、第1の距離が第2の距離に等しいという条件を厳密に満たすことを可能にされる。水平方向の第2のピクセル配列P
2および第2のピクセル配列P
3の位置の平均値が、計算され、平均値は、第1のピクセル配列P
1の中心であり、中心の水平座標は、候補位置検出パターンの中心の水平座標と表記される。
【0039】
加えて、本出願のこの実装においては、QRコード(登録商標)内の位置検出パターンが、複数の長方形モジュールに均等に分割される。長方形モジュールは、正方形モジュールであることが可能である。長方形モジュールの長さ対幅の比率は、実際の応用の筋書きに基づいて設定され得る。
【0040】
各長方形モジュールの幅は、候補位置検出パターンの幅と幅方向の長方形モジュールの量との比率を計算することによって計算され得る。そして、第2のピクセル配列の中心が、垂直方向の第1のピクセル配列P
1の位置、および第1のピクセル配列P
1と垂直方向の中心との間の長方形モジュールの量に基づいて決定され、第2のピクセル配列の中心の垂直座標は、候補位置検出パターンの中心の垂直座標である。
【0041】
第1の予め決められた位置は、第1のピクセル配列が第1の予め決められた比率を満たすことを可能にする任意の位置であることが可能であり、第2の予め決められた位置および第3の予め決められた位置も、第2のピクセル配列が第2の予め決められた比率を満たすことを可能にする任意の位置であることが可能である。一部の実装においては、計算を容易にするために、第1の予め決められた位置、第2の予め決められた位置、および第3の予め決められた位置は、すべて、長方形モジュール全体において設定され得る。
【0042】
(b
2)この場合、候補位置検出パターンの中心の水平座標を決定するための方法は、(b
1)の水平座標を決定するための方法と同じであり、詳細は、ここでは省略される。
【0043】
加えて、この場合、候補位置検出パターンの中心の垂直座標が、水平座標を決定する方法と同じ方法を使用することによって決定される。特定のプロセスは、以下の通りである。走査線が、QRコード(登録商標)画像のX方向に引かれ、QRコード(登録商標)画像が、走査線を使用することによってY方向にスキャンされ、第1のピクセル分布P
1が、第1の予め決められた位置において決定され、第1のピクセル配列P
4が、第4の予め決められた位置において決定される。候補位置検出パターンの中心の垂直座標が、第1のピクセル配列P
1および第1のピクセル配列P
4に基づいて決定される。特定のプロセスは、水平座標を決定する上述のプロセスと同様であり、詳細は、ここでは省略される。
【0044】
(b
3)走査線が、QRコード(登録商標)画像のX方向に引かれ、QRコード(登録商標)画像が、走査線を使用することによってY方向にスキャンされ、第1のピクセル配列P
1が、第1の予め決められた位置において決定される。走査線が、QRコード(登録商標)画像のY方向に引かれ、QRコード(登録商標)画像が、走査線を使用することによってX方向にスキャンされ、第2のピクセル配列P
2が、第2の予め決められた位置において決定される。第1のピクセル配列P
1の中心が、第1のピクセル配列P
1の最初のピクセルと最後のピクセルとの間の距離に基づいて決定され、第2のピクセル配列P
2の中心が、同じ方法を使用することによって決定される。候補位置検出パターンの中心の水平座標が、第1のピクセル配列P
1の中心に基づいて決定され、候補位置検出パターンの中心の垂直座標が、第2のピクセル配列P
2の中心に基づいて決定される。
【0045】
本出願のこの実装において、第1のピクセル配列は、候補位置検出パターンのピクセルの行であり、第2のピクセル配列は、候補位置検出パターンのピクセルの列である。
【0046】
本出願のこの実装においては、QRコード(登録商標)画像の候補位置検出パターンの中心が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率のみに基づいて決定され、その結果、QRコード(登録商標)の認識の有効性が、高められる。
【0047】
ステップS104:候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定する。
【0048】
本出願のこの実装においては、候補位置検出パターンの中心が決定された後、中心があるパターンが、QRコード(登録商標)の候補位置検出パターンとして決定される。
【0049】
ステップS106:特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用する。
【0050】
本出願のこの実装においては、QRコード(登録商標)画像内の候補位置検出パターンが、ステップS102およびステップS104を使用することによって特定され得る。しかし、2つのステップだけを使用することによって特定される候補位置検出パターンに別のパターンが存在する可能性がある。したがって、位置検出パターンの認識の正確さを高めるために、特定された候補位置検出パターンに対してさらなる選択が、実行される必要があり、QRコード(登録商標)画像位置決め規則を満たすパターンが、選択された候補位置検出パターンから決定され、これは、特に、以下のステップ(1)および(2)、すなわち、(1)特定された候補位置検出パターンから第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンを決定するステップであって、第1の選択条件が、中心の近隣の予め決められたエリア内の第1の種類のピクセルの量および第2の種類のピクセルの量のうちの少なくとも1つが予め決められた閾値の範囲を満たすことを含み、第2の選択条件が、中心を通る第3のピクセル配列内の第1の種類のピクセル、第2の種類のピクセル、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第3の予め決められた比率を満たすことを含む、ステップと、(2)第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定するステップとを使用することによって実施される。
【0051】
特に、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定するステップは、以下の3つのケースを含む。
【0052】
ケース1:特定された候補位置検出パターンから第1の選択条件を満たす候補位置検出パターンを決定し、第1の選択条件を満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定する。
【0053】
ケース2:特定された候補位置検出パターンから第2の選択条件を満たす候補位置検出パターンを決定し、第2の選択条件を満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定する。
【0054】
ケース3:特定された候補位置検出パターンから第1の選択条件および第2の選択条件を満たす候補位置検出パターンを決定し、第1の選択条件および第2の選択条件を満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定する。
【0055】
ケース3において、特定の実装は、まず、特定された候補位置検出パターンから第1の選択条件を満たす候補位置検出パターンを決定し、それから、第1の選択条件を満たす候補位置検出パターンから第2の選択条件を満たす候補位置検出パターンを選択し、第2の選択条件を満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定することであることが可能である。
【0056】
確かに、まず、第2の選択条件を満たす候補位置検出パターンが、選択されることが可能であり、それから、第1の選択条件を満たす候補位置検出パターンが、第2の選択条件を満たす候補位置検出パターンから選択されることが可能である。
【0057】
特に、本出願のこの実装において、選択のために第1の選択条件を使用するプロセスは、以下の通りである。候補位置検出パターンの中心のピクセルが、中心のピクセルの周りの予め決められた量のピクセルを選択するための中心として使用される。たとえば、中心のピクセルを含む9個のピクセルまたは5個のピクセルが、選択される。そして、選択された予め決められた量のピクセルの中の第1の種類のピクセルの量および第2の種類のピクセルの量が決定され、第1の種類のピクセルの量および第2の種類のピクセルの量に基づいて選択が実行される。たとえば、中心がある第3のエリアが黒いピクセルのエリアである場合、第1の種類のピクセルは、黒いピクセルであり、第2の種類のピクセルは、白いピクセルである。通常の場合、第3のエリア内のすべてのピクセルは第1の種類のピクセルであり、またはごま塩雑音の影響で第3のエリア内にいくつかの白いピクセルが存在する可能性がある。したがって、選択された予め決められた量のピクセル内の第2の種類のピクセルの量が決定され、第2の種類のピクセルの量と予め決められた量との比率が予め決められた比率よりも高いとき、候補位置検出パターンは選択されない。
【0058】
特に、第3のピクセル配列は、中心のピクセルを含む任意のピクセル配列であることが可能である。たとえば、第3のピクセル配列は、候補位置検出パターンの対角線であることが可能であり、または中心のピクセルを含む斜めの線であることが可能であり、斜めの線と水平の線との間の角度の値は、30°である。
【0059】
1:1:3:1:1の位置検出パターンにおいて、第3の予め決められた比率は、1:1:3:1:1である。
【0060】
図5は、本出願の実装によるQRコード(登録商標)位置決め方法を示す第2の概略的な流れ図である。
図5に示されるように、方法は、以下のステップを含む。
【0061】
ステップS202:第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像内の行ピクセルから、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率を満たす第1のピクセル配列を決定し、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像内の列ピクセルから、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第2の予め決められた比率を満たす第2のピクセル配列を決定する。
【0062】
ステップS204:第1のピクセル配列の中心および第2のピクセル配列の中心に基づいて候補位置検出パターンの中心を決定する。
【0063】
ステップS206:候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定する。
【0064】
ステップS208:特定された候補位置検出パターンから第1の選択条件を満たす候補位置検出パターンを決定する。
【0065】
ステップS210:第1の選択条件を満たす候補位置検出パターンから第2の選択条件を満たす候補位置検出パターンを決定する。
【0066】
ステップS212:第2の選択条件を満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定する。
【0067】
QRコード(登録商標)内の3つの位置検出パターンは、QRコード(登録商標)の4つの角のうちの任意の3つに置かれる。したがって、位置決め規則は、3つの位置検出パターンの中心を結ぶ3つの線のうちの短い方の2つの線が互いに直角であり、長さが等しいことを含み得る。
【0068】
位置検出パターンのこの中心は、位置検出パターンの1つの中心である。
【0069】
したがって、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定するステップは、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンから候補位置検出パターンの複数のグループを形成することと、候補位置検出パターンの各グループが上述の位置決め規則を満たすかどうかを判定することと、位置決め規則を満たす候補位置検出パターンの少なくとも1つのグループをQRコード(登録商標)画像の位置検出パターンとして使用することとを含む。
【0070】
第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす少なくとも3つの候補位置検出パターンが、選択される。本出願のこの実装においては、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす選択された候補位置検出パターンの量が、Nと表記され、候補位置検出パターンの
【0072】
個のグループが、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによってN個の候補位置検出パターンから形成され得る。たとえば、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす4つの候補位置検出パターンが、選択され、A
1、A
2、A
3、およびA
4と表記され、候補位置検出パターンの
【0074】
個のグループが、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって形成され、{A
1, A
2, A
3}、{A
1, A
3, A
4}、{A
1, A
2, A
4}、および{A
2, A
3, A
4}と表記され得る。
【0075】
特に、候補位置検出パターンの各グループの中心の接続線は、三角形を形成し得る。候補位置検出パターンの各グループが位置決め規則を満たすかどうかを判定するとき、三角形の2つの短辺の間の角度の値が90°であるかどうかと、2つの短辺が等しいかどうかとが判定され得る。取得されたQRコード(登録商標)画像が歪んでいるなどの理由で、3つの位置検出パターンの中心によって形成される三角形の2つの短辺の間の角度の値は、必ずしも90°ではない。したがって、実際には、候補位置検出パターンの各グループが位置決め規則を満たすかどうかを判定するとき、90°と候補位置検出パターンの各グループの中心によって形成される三角形の2つの短辺の間の角度の値との間の差が予め決められた範囲内である場合、および2つの短辺の間の長さの差が予め決められた誤差範囲内である場合、候補位置検出パターンのグループは、位置決め規則を満たすと判定される。
【0076】
QRコード(登録商標)位置決め規則を満たすパターンを決定するための上述の方法に加えて、本出願のこの実装は、以下の特に、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンから候補位置検出パターンの複数のグループを形成するステップと、候補位置検出パターンの各グループの3つの候補位置検出パターンの中心の接続線によって形成される三角形の幾何学パラメータ、および3つの候補位置検出パターンの面積の標準偏差を決定するステップであって、幾何学パラメータが、三角形の2つの短い接続線の間の角度の値、および2つの短い接続線の間の長さの差を含む、ステップと、角度の値、長さの差、および標準偏差に基づいてQRコード(登録商標)位置決め規則を満たすパターンを決定するステップとを含む方法をさらに提供する。
【0077】
3つの候補位置検出パターンの面積の標準偏差を決定する特定のプロセスは、以下の通りである。各モジュールの長さおよび幅が、各候補位置検出パターンの長さおよび幅ならびに各候補位置検出パターン内のモジュールの量に基づいて決定され、各モジュールの面積が、計算される。そして、各候補位置検出パターンの面積が、各モジュールの面積およびモジュールの量に基づいて計算される。最後に、3つの候補位置検出パターンの面積の標準偏差は、3つの候補位置検出パターンの面積および標準偏差の等式に基づいて計算される。
【0078】
特に、本出願のこの実装において、角度の値、長さの差、および標準偏差に基づいてQRコード(登録商標)位置決め規則を満たすパターンを決定するステップは、特に、以下のステップ、すなわち、等式(1)を使用することによって角度の値、長さの差、および標準偏差に基づいて候補位置検出パターンの各グループのスコアを計算するステップと、候補位置検出パターンの各グループのスコアを予め決められたスコアと比較し、比較結果に基づいて、QRコード(登録商標)位置決め規則を満たすパターンを決定するステップとを含み、
【0081】
等式(1)において、a、b、c、およびdは、すべて定数であり、x
iは、候補位置検出パターンの第iのグループの中心の接続線によって形成される三角形の2つの短い接続線の間の角度の値を表し、y
iは、候補位置検出パターンの第iのグループの中心の接続線によって形成される三角形の2つの短い接続線の間の長さの差を表し、z
iは、候補位置検出パターンの第iのグループの3つの候補位置検出パターンの面積の標準偏差を表し、f
iは、候補位置検出パターンの第iのグループのスコアを表す。
【0082】
候補位置検出パターンの各グループのスコアが決定された後、スコアが、予め決められたスコアと比較される。特定の実装においては、スコアが予め決められたスコア以上であるとき、候補位置検出パターンのグループがQRコード(登録商標)位置決め規則を満たすと判定される。
【0083】
本出願のこの実装においては、QRコード(登録商標)位置決め規則を満たす位置検出パターンの1つまたは複数のグループが決定され得る。
【0084】
図1から
図5の方法に基づいて、本出願の実装は、QRコード(登録商標)位置決め方法をさらに提供する。
図6は、本出願の実装によるQRコード(登録商標)位置決め方法を示す第3の概略的な流れ図である。方法は、端末またはサーバによって実行され得る。
図6に示される方法に関して、主に
図1から
図5の方法との違いが、ここで説明される。同じ部分に関しては、
図1から
図5の前の説明が参照されることが可能であり、詳細はここでは省略される。
図6に示されるように、方法は、以下のステップを含む。
【0085】
ステップS602:第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められた行ピクセル検出規則および予め決められた列ピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定し、行ピクセル検出規則は、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が第1の予め決められた閾値に達することを含み、列ピクセル検出規則は、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が第2の予め決められた閾値に達することを含む。
【0086】
特に、行ピクセル検出規則は、連続して配列された第1の種類のピクセルの量が第1の予め決められた閾値に達することであることが可能であり、それに対応して、列ピクセル検出規則は、連続して配列された第1の種類のピクセルの量が第2の予め決められた閾値に達することであることが可能である。代替的に、行ピクセル検出規則は、連続して配列された第2の種類のピクセルの量が第1の予め決められた閾値に達することであることが可能であり、それに対応して、列ピクセル検出規則は、連続して配列された第2の種類のピクセルの量が第2の予め決められた閾値に達することであることが可能である。
【0087】
第1の予め決められた閾値は、第2の予め決められた閾値に等しいことが可能である。特定の応用の筋書きにおいて、ALIPAYによって使用されるQRコード(登録商標)内の位置検出パターンは、正方形であり、つまり、位置検出パターンの長さは、位置検出パターンの幅に等しい。この場合、第1の予め決められた閾値は、第2の予め決められた閾値に等しい。
【0088】
行ピクセル検出規則および列ピクセル検出規則を満たすピクセル配列は、(
図2に示されるように)概して2値検出パターンの第1のエリア内にある。
【0089】
ステップS604:候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定する。
【0090】
ステップS606:特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用する。
【0091】
特定の実装においては、たとえば、ALIPAYによって使用される白黒QRコード(登録商標)内の位置検出パターンは、1:1:3:1:1の様式であり、3つの同心正方形は、7x7の黒いモジュール、5x5の白いモジュール、および3x3の黒いモジュールである。この場合、行ピクセル検出規則は、連続して配列された黒いピクセルの量が7x7の黒いモジュールの黒いピクセルの量に達することであることが可能であり、列ピクセル検出規則は、連続して配列された黒いピクセルの量が7x7の黒いモジュールの黒いピクセルの量に達することであることが可能である。行ピクセル検出規則を満たす第1のピクセル配列が、位置検出パターンの第1のエリア内にあり、列ピクセル検出規則を満たす第2のピクセル配列が、位置検出パターンの第1のエリア内にある。したがって、QRコード(登録商標)内の候補位置検出パターンが、迅速に特定され得る。
【0092】
本出願のこの実装においては、QRコード(登録商標)画像内の候補位置検出パターンの中心が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの配列の比率に基づいて、または連続して配列された第1の種類のピクセルの量もしくは連続して配列された第2の種類のピクセルの量に基づいて決定され、これは、特定の耐障害性を有する。したがって、候補位置検出パターンは、たとえQRコード(登録商標)の位置検出パターンが汚れているかまたは明るさが足りないとしても特定されることが可能であり、それによって、候補位置検出パターンの特定の有効性を高める。さらに、候補位置検出パターンが上述の方法を使用することによって特定された後、QRコード(登録商標)の位置検出パターンが、特定された候補位置検出パターンから決定され、したがって、正確さが、比較的高い。
【0093】
図1から
図5の方法に基づいて、本出願の実装は、QRコード(登録商標)位置決め方法をさらに提供する。
図7は、本出願の実装によるQRコード(登録商標)位置決め方法を示す第4の概略的な流れ図である。方法は、端末またはサーバによって実行され得る。
図7に示される方法に関して、主に
図1から
図5の方法との違いが、ここで説明される。同じ部分に関しては、
図1から
図5の前の説明が参照されることが可能であり、詳細はここでは省略される。
図7に示されるように、方法は、以下のステップを含む。
【0094】
ステップS702:第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められたピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定し、ピクセル検出規則は、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が予め決められた比率を満たすことを含む。
【0095】
予め決められた比率は、現段階でALIPAYによって使用されるQRコード(登録商標)に関して1:5:1であることが可能である。
【0096】
本出願のこの実装において、第1の種類のピクセルは、フォアグラウンドの色のピクセルであり、第2の種類のピクセルは、バックグラウンドの色のピクセルである。特に、第1の種類のピクセルは、黒いピクセルまたは青いピクセルであり、第2の種類のピクセルは、第1の種類のピクセルとの色の違いが指定された閾値を超えるピクセルである。たとえば、第2の種類のピクセルは、白であることが可能である。
【0097】
確かに、黒いピクセルおよび青いピクセルに加えて、第1の種類のピクセルは、別の色のピクセルであることが可能である。
【0098】
現在、ALIPAYによって使用されるQRコード(登録商標)は、白黒QRコード(登録商標)、青白QRコード(登録商標)などを含む。したがって、特定の実装において、第1の種類のピクセルは、黒いピクセルであり、第2の種類のピクセルは、白いピクセルである。別の実装において、第1の種類のピクセルは、青いピクセルであり、第2の種類のピクセルは、白いピクセルである。
【0099】
ステップS704:候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定する。
【0100】
ステップS706:特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用する。
【0101】
ALIPAYによって使用される白黒QRコード(登録商標)が、例として使用される。以降で、特定のQRコード(登録商標)位置決め方法が、特定の応用の筋書きに関連して説明される。
図8は、本出願の実装によるQRコード(登録商標)位置決め方法を示す第5の概略的な流れ図である。方法は、端末またはサーバによって実行され得る。
図8に示されるように、方法は、以下のステップを含む。
【0102】
ステップS802:ALIPAYを使用することによってスキャンされた元のQRコード(登録商標)画像を取得する。
【0103】
ステップS804:黒いピクセルおよび白いピクセルを含むQRコード(登録商標)画像を取得するために元のQRコード(登録商標)画像を処理する。
【0104】
QRコード(登録商標)画像を処理することは、雑音除去、2値化などを含み得る。
【0105】
ステップS806:黒いピクセルおよび白いピクセルを含むQRコード(登録商標)画像から予め決められたピクセル検出規則に基づいて、黒いピクセル、白いピクセル、および黒いピクセルの連続した配列の比率が行ピクセルにおいて1:5:1を満たす行ピクセル配列と、黒いピクセル、白いピクセル、および黒いピクセルの連続した配列の比率が列ピクセルにおいて1:5:1を満たす列ピクセル配列とを決定する。
【0106】
ステップS808:行ピクセル配列の中心および列ピクセル配列の中心に基づいて候補位置検出パターンの中心を決定する。
【0107】
ステップS810:候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定する。
【0108】
ステップS812:特定された候補位置検出パターンから第1の選択条件を満たす候補位置検出パターンを決定する。
【0109】
ステップS814:第1の選択条件を満たす候補位置検出パターンから第2の選択条件を満たす候補位置検出パターンを決定する。
【0110】
ステップS816:それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって、第2の選択条件を満たす候補位置検出パターンから候補位置検出パターンの複数のグループを形成する。
【0111】
ステップS818:候補位置検出パターンの各グループがQRコード(登録商標)位置決め規則を満たすかどうかを判定し、満たす場合、ステップS820を実行する。
【0112】
ステップS820:候補位置検出パターンのグループをQRコード(登録商標)画像の位置検出パターンとして使用する。
【0113】
上述のQRコード(登録商標)位置決め方法によれば、QRコード(登録商標)画像内の候補位置検出パターンの中心が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの配列の比率に基づいて決定され、これは、特定の耐障害性を有する。したがって、候補位置検出パターンは、たとえQRコード(登録商標)の位置検出パターンが汚れているかまたは明るさが足りないとしても特定されることが可能であり、それによって、候補位置検出パターンの特定の有効性を高める。さらに、候補位置検出パターンが上述の方法を使用することによって特定された後、QRコード(登録商標)の位置検出パターンが、特定された候補位置検出パターンから決定され、したがって、正確さが、比較的高い。
【0114】
上述のQRコード(登録商標)位置決め方法に対応して、同じ発想に基づいて、本出願の実装は、QRコード(登録商標)位置決め装置をさらに提供し、このQRコード(登録商標)位置決め装置は、端末の側またはサーバの側に適用され得る。
図9は、本出願の実装によるQRコード(登録商標)位置決め装置のモジュール構成を示す概略的な図である。
図9に示されるように、装置は、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められた行ピクセル検出規則および予め決められた列ピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定するように構成された位置決定モジュール91であって、行ピクセル検出規則が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率を満たすことを含み、列ピクセル検出規則が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第2の予め決められた比率を満たすことを含む、位置決定モジュール91と、候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定するように構成された特定モジュール92と、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用するように構成されたパターン決定モジュール93とを含む。
【0115】
任意で、第1の予め決められた比率は、1:n:1であり、nは、1よりも大きく、第2の予め決められた比率は、1:m:1であり、mは、1よりも大きい。
【0116】
任意で、位置決定モジュール91は、ピクセル決定ユニットおよび位置決定ユニットを含む。
【0117】
ピクセル決定ユニットは、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率を満たす第1のピクセル配列を行ピクセルから決定し、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第2の予め決められた比率を満たす第2のピクセル配列を列ピクセルから決定するように構成される。位置決定ユニットは、第1のピクセル配列の中心および第2のピクセル配列の中心に基づいて候補位置検出パターンの中心を決定するように構成される。
【0118】
任意で、パターン決定モジュール93は、第1のパターン決定ユニットおよび第2のパターン決定ユニットを含む。
【0119】
第1のパターン決定ユニットは、特定された候補位置検出パターンから第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンを決定するように構成され、第1の選択条件は、中心の近隣の予め決められたエリア内の第1の種類のピクセルの量および第2の種類のピクセルの量のうちの少なくとも1つが予め決められた閾値の範囲を満たすことを含み、第2の選択条件は、中心を通る第3のピクセル配列内の第1の種類のピクセル、第2の種類のピクセル、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第3の予め決められた比率を満たすことを含む。第2の決定ユニットは、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定するように構成される。
【0120】
任意で、位置決め規則は、3つの位置検出パターンの中心を結ぶ3つの線のうちの短い方の2つの線が互いに直角であり、長さが等しいことを含み、第2のパターン決定ユニットは、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンから候補位置検出パターンの複数のグループを形成し、候補位置検出パターンの各グループが位置決め規則を満たすかどうかを判定し、位置決め規則を満たす候補位置検出パターンの少なくとも1つのグループをQRコード(登録商標)画像の位置検出パターンとして使用するように特に構成される。
【0121】
任意で、第2のパターン決定ユニットは、さらに、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンから候補位置検出パターンの複数のグループを形成することと、候補位置検出パターンの各グループの3つの候補位置検出パターンの中心の接続線によって形成される三角形の幾何学パラメータ、および3つの候補位置検出パターンの面積の標準偏差を決定することであって、幾何学パラメータが、三角形の2つの短い接続線の間の角度の値、および2つの短い接続線の間の長さの差を含む、決定することと、角度の値、長さの差、および標準偏差に基づいてQRコード(登録商標)位置決め規則を満たすパターンを決定することとを行うように特に構成される。
【0122】
任意で、第2のパターン決定ユニットは、以下のプロセス、すなわち、下の等式を使用することによって角度の値、長さの差、および標準偏差に基づいて候補位置検出パターンの各グループのスコアを計算することと、候補位置検出パターンの各グループのスコアを予め決められたスコアと比較し、比較結果に基づいて、QRコード(登録商標)位置決め規則を満たすパターンを決定することとを使用することによって、QRコード(登録商標)位置決め規則を満たすパターンを決定するように特に構成され、
【0125】
上記等式において、a、b、c、およびdは、すべて定数であり、x
iは、候補位置検出パターンの第iのグループの中心の接続線によって形成される三角形の2つの短い接続線の間の角度の値を表し、y
iは、候補位置検出パターンの第iのグループの中心の接続線によって形成される三角形の2つの短い接続線の間の長さの差を表し、z
iは、候補位置検出パターンの第iのグループの3つの候補位置検出パターンの面積の標準偏差を表し、f
iは、候補位置検出パターンの第iのグループのスコアを表す。
【0126】
上述のQRコード(登録商標)位置決め方法に対応して、同じ発想に基づいて、
図9に示されるQRコード(登録商標)位置決め装置のモジュールは、特に、以下の機能をさらに有する。
【0127】
位置決定モジュール91は、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められた行ピクセル検出規則および予め決められた列ピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定するようにさらに構成され、行ピクセル検出規則は、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が第1の予め決められた閾値に達することを含み、列ピクセル検出規則は、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が第2の予め決められた閾値に達することを含む。
【0128】
特定モジュール92は、候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定するようにさらに構成される。
【0129】
パターン決定モジュール93は、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用するようにさらに構成される。
【0130】
任意で、第1の予め決められた閾値は、第2の予め決められた閾値に等しい。
【0131】
上述のQRコード(登録商標)位置決め方法に対応して、同じ発想に基づいて、
図9に示されるQRコード(登録商標)位置決め装置のモジュールは、特に、以下の機能をさらに有する。
【0132】
位置決定モジュール91は、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められたピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定するようにさらに構成され、ピクセル検出規則は、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が予め決められた比率を満たすことを含む。
【0133】
特定モジュール92は、候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定するようにさらに構成される。
【0134】
パターン決定モジュール93は、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用するようにさらに構成される。
【0135】
任意で、予め決められた比率は、1:5:1である。
【0136】
任意で、第1の種類のピクセルは、黒いピクセルまたは青いピクセルであり、第2の種類のピクセルは、第1の種類のピクセルとの色の違いが指定された閾値を超えるピクセルである。
【0137】
本出願のこの実装のQRコード(登録商標)位置決め装置によれば、まず、QRコード(登録商標)内の候補位置検出パターンが、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの配列の比率に基づいて、または連続して配列された第1の種類のピクセルの量もしくは連続して配列された第2の種類のピクセルの量に基づいて決定され、これは、特定の耐障害性を有する。したがって、候補位置検出パターンは、たとえQRコード(登録商標)の位置検出パターンが汚れているかまたは明るさが足りないとしても特定されることが可能であり、それによって、候補位置検出パターンの特定の有効性を高める。さらに、候補位置検出パターンが上述の方法を使用することによって特定された後、QRコード(登録商標)の位置検出パターンが、特定された候補位置検出パターンから決定され、したがって、正確さが、比較的高い。
【0138】
さらに、
図1から
図8に示された上述の方法に基づいて、本出願の実装は、
図10に示されるように、QRコード(登録商標)位置決めデバイスをさらに提供する。
【0139】
QRコード(登録商標)位置決めデバイスは、構成または性能によって大きく変わることが可能であり、1つまたは複数のプロセッサ901および1つまたは複数のメモリ902を含み得る。メモリ902は、1つまたは複数のアプリケーションプログラムまたはデータを記憶することができる。メモリ902は、一時的ストレージまたは永続的ストレージであることが可能である。メモリ902に記憶されたアプリケーションプログラムは、1つまたは複数のモジュール(図示せず)を含むことが可能であり、各モジュールは、QRコード(登録商標)位置決めデバイスの一連のコンピュータが実行可能な命令を含むことが可能である。さらに、プロセッサ901は、メモリ902と通信し、QRコード(登録商標)位置決めデバイス上でメモリ902内の一連のコンピュータが実行可能な命令を実行するように構成され得る。QRコード(登録商標)位置決めデバイスは、1つまたは複数の電源903、1つまたは複数の有線またはワイヤレスネットワークインターフェース904、1つまたは複数の入力/出力インターフェース905、1つまたは複数のキーボード906などをさらに含み得る。
【0140】
特定の実装において、QRコード(登録商標)位置決めデバイスは、メモリおよび1つまたは複数のプログラムを含む。1つまたは複数のプログラムは、メモリに記憶される。1つまたは複数のプログラムは、1つまたは複数のモジュールを含み得る。各モジュールは、QRコード(登録商標)位置決めデバイスのための一連のコンピュータが実行可能な命令を含み得る。1つまたは複数のプロセッサは、以下のコンピュータが実行可能な命令、すなわち、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められた行ピクセル検出規則および予め決められた列ピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定することであって、行ピクセル検出規則が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率を満たすことを含み、列ピクセル検出規則が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第2の予め決められた比率を満たすことを含む、決定することと、候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定することと、特定された候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)の位置検出パターンとして使用することとを含む1つまたは複数のプログラムを実行するように構成される。
【0141】
任意で、コンピュータが実行可能な命令が実行されているとき、第1の予め決められた比率は、1:n:1であり、nは、1よりも大きく、第2の予め決められた比率は、1:m:1であり、mは、1よりも大きい。
【0142】
任意で、コンピュータが実行可能な命令が実行されているとき、QRコード(登録商標)画像内の候補位置検出パターンの中心を決定することは、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率を満たす第1のピクセル配列を行ピクセルから決定することと、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第2の予め決められた比率を満たす第2のピクセル配列を列ピクセルから決定することと、第1のピクセル配列の中心および第2のピクセル配列の中心に基づいて候補位置検出パターンの中心を決定することとを含む。
【0143】
任意で、コンピュータが実行可能な命令が実行されているとき、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定することは、特定された候補位置検出パターンから第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンを決定することであって、第1の選択条件が、中心の近隣の予め決められたエリア内の第1の種類のピクセルの量および第2の種類のピクセルの量のうちの少なくとも1つが予め決められた閾値の範囲を満たすことを含み、第2の選択条件が、中心を通る第3のピクセル配列内の第1の種類のピクセル、第2の種類のピクセル、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第3の予め決められた比率を満たすことを含む、決定することと、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定することとを含む。
【0144】
任意で、位置決め規則は、3つの位置検出パターンの中心を結ぶ3つの線のうちの短い方の2つの線が互いに直角であり、長さが等しいことを含む。コンピュータが実行可能な命令が実行されているとき、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定することは、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンから候補位置検出パターンの複数のグループを形成することと、候補位置検出パターンの各グループが位置決め規則を満たすかどうかを判定することと、位置決め規則を満たす候補位置検出パターンの少なくとも1つのグループをQRコード(登録商標)画像の位置検出パターンとして使用することとを含む。
【0145】
任意で、コンピュータが実行可能な命令が実行されているとき、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定することは、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンから候補位置検出パターンの複数のグループを形成することと、候補位置検出パターンの各グループの3つの候補位置検出パターンの中心の接続線によって形成される三角形の幾何学パラメータ、および3つの候補位置検出パターンの面積の標準偏差を決定することであって、幾何学パラメータが、三角形の2つの短い接続線の間の角度の値、および2つの短い接続線の間の長さの差を含む、決定することと、角度の値、長さの差、および標準偏差に基づいてQRコード(登録商標)位置決め規則を満たすパターンを決定することとを含む。
【0146】
任意で、コンピュータが実行可能な命令が実行されているとき、角度の値、長さの差、および標準偏差に基づいてQRコード(登録商標)位置決め規則を満たすパターンを決定することは、下の等式を使用することによって角度の値、長さの差、および標準偏差に基づいて候補位置検出パターンの各グループのスコアを計算することと、候補位置検出パターンの各グループのスコアを予め決められたスコアと比較し、比較結果に基づいて、QRコード(登録商標)位置決め規則を満たすパターンを決定することとを含み、
【0149】
上記等式において、a、b、c、およびdは、すべて定数であり、x
iは、候補位置検出パターンの第iのグループの中心の接続線によって形成される三角形の2つの短い接続線の間の角度の値を表し、y
iは、候補位置検出パターンの第iのグループの中心の接続線によって形成される三角形の2つの短い接続線の間の長さの差を表し、z
iは、候補位置検出パターンの第iのグループの3つの候補位置検出パターンの面積の標準偏差を表し、f
iは、候補位置検出パターンの第iのグループのスコアを表す。
【0150】
特定の実装において、QRコード(登録商標)位置決めデバイスは、メモリおよび1つまたは複数のプログラムを含む。1つまたは複数のプログラムは、メモリに記憶される。1つまたは複数のプログラムは、1つまたは複数のモジュールを含み得る。各モジュールは、QRコード(登録商標)位置決めデバイスのための一連のコンピュータが実行可能な命令を含み得る。1つまたは複数のプロセッサは、以下のコンピュータが実行可能な命令、すなわち、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められた行ピクセル検出規則および予め決められた列ピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定することであって、行ピクセル検出規則は、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が第1の予め決められた閾値に達することを含み、列ピクセル検出規則は、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が第2の予め決められた閾値に達することを含む、決定することと、候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定することと、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用することとを含む1つまたは複数のプログラムを実行するように構成される。
【0151】
任意で、コンピュータが実行可能な命令が実行されているとき、第1の予め決められた閾値は、第2の予め決められた閾値に等しい。
【0152】
特定の実装において、QRコード(登録商標)位置決めデバイスは、メモリおよび1つまたは複数のプログラムを含む。1つまたは複数のプログラムは、メモリに記憶される。1つまたは複数のプログラムは、1つまたは複数のモジュールを含み得る。各モジュールは、QRコード(登録商標)位置決めデバイスのための一連のコンピュータが実行可能な命令を含み得る。1つまたは複数のプロセッサは、以下のコンピュータが実行可能な命令、すなわち、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められたピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定することであって、ピクセル検出規則が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が予め決められた比率を満たすことを含む、決定することと、候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定することと、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用することとを含む1つまたは複数のプログラムを実行するように構成される。
【0153】
任意で、コンピュータが実行可能な命令が実行されているとき、予め決められた比率は、1:5:1である。
【0154】
任意で、コンピュータが実行可能な命令が実行されているとき、第1の種類のピクセルは、黒いピクセルまたは青いピクセルであり、第2の種類のピクセルは、第1の種類のピクセルとの色の違いが指定された閾値を超えるピクセルである。
【0155】
本出願のこの実装においては、ストレージ媒体に記憶された実行可能な命令が実行された後、まず、QRコード(登録商標)内の候補位置検出パターンが、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの配列の比率に基づいて、または連続して配列された第1の種類のピクセルの量もしくは連続して配列された第2の種類のピクセルの量に基づいて決定され、これは、特定の耐障害性を有する。したがって、候補位置検出パターンは、たとえQRコード(登録商標)の位置検出パターンが汚れているかまたは明るさが足りないとしても特定されることが可能であり、それによって、候補位置検出パターンの特定の有効性を高める。さらに、候補位置検出パターンが上述の方法を使用することによって特定された後、QRコード(登録商標)の位置検出パターンが、特定された候補位置検出パターンから決定され、したがって、正確さが、比較的高い。
【0156】
さらに、本出願の実装は、コンピュータが実行可能な命令を記憶するように構成されたストレージ媒体をさらに提供する。特定の実装において、ストレージ媒体は、USBフラッシュドライブ、光ディスク、ハードディスクなどであることが可能である。ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、以下の手順、すなわち、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められた行ピクセル検出規則および予め決められた列ピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定することであって、行ピクセル検出規則が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率を満たすことを含み、列ピクセル検出規則が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第2の予め決められた比率を満たすことを含む、決定することと、候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定することと、特定された候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)の位置検出パターンとして使用することとが、実施され得る。
【0157】
任意で、ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、第1の予め決められた比率は、1:n:1であり、nは、1よりも大きく、第2の予め決められた比率は、1:m:1であり、mは、1よりも大きい。
【0158】
任意で、ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、QRコード(登録商標)画像内の候補位置検出パターンの中心を決定することは、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第1の予め決められた比率を満たす第1のピクセル配列を行ピクセルから決定することと、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第2の予め決められた比率を満たす第2のピクセル配列を列ピクセルから決定することと、第1のピクセル配列の中心および第2のピクセル配列の中心に基づいて候補位置検出パターンの中心を決定することとを含む。
【0159】
任意で、ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定することは、特定された候補位置検出パターンから第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンを決定することであって、第1の選択条件が、中心の近隣の予め決められたエリア内の第1の種類のピクセルの量および第2の種類のピクセルの量のうちの少なくとも1つが予め決められた閾値の範囲を満たすことを含み、第2の選択条件が、中心を通る第3のピクセル配列内の第1の種類のピクセル、第2の種類のピクセル、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が第3の予め決められた比率を満たすことを含む、決定することと、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定することとを含む。
【0160】
任意で、位置決め規則は、3つの位置検出パターンの中心を結ぶ3つの線のうちの短い方の2つの線が互いに直角であり、長さが等しいことを含む。ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定することは、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンから候補位置検出パターンの複数のグループを形成することと、候補位置検出パターンの各グループが位置決め規則を満たすかどうかを判定することと、位置決め規則を満たす候補位置検出パターンの少なくとも1つのグループをQRコード(登録商標)画像の位置検出パターンとして使用することとを含む。
【0161】
任意で、ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンからQRコード(登録商標)位置決め規則を満たすパターンを決定することは、それぞれの3つの候補位置検出パターンを1つのグループとして使用することによって、第1の選択条件および第2の選択条件のうちの少なくとも1つを満たす候補位置検出パターンから候補位置検出パターンの複数のグループを形成することと、候補位置検出パターンの各グループの3つの候補位置検出パターンの中心の接続線によって形成される三角形の幾何学パラメータ、および3つの候補位置検出パターンの面積の標準偏差を決定することであって、幾何学パラメータが、三角形の2つの短い接続線の間の角度の値、および2つの短い接続線の間の長さの差を含む、決定することと、角度の値、長さの差、および標準偏差に基づいてQRコード(登録商標)位置決め規則を満たすパターンを決定することとを含む。
【0162】
任意で、ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、角度の値、長さの差、および標準偏差に基づいてQRコード(登録商標)位置決め規則を満たすパターンを決定することは、下の等式を使用することによって角度の値、長さの差、および標準偏差に基づいて候補位置検出パターンの各グループのスコアを計算することと、候補位置検出パターンの各グループのスコアを予め決められたスコアと比較し、比較結果に基づいて、QRコード(登録商標)位置決め規則を満たすパターンを決定することとを含み、
【0165】
上記等式において、a、b、c、およびdは、すべて定数であり、x
iは、候補位置検出パターンの第iのグループの中心の接続線によって形成される三角形の2つの短い接続線の間の角度の値を表し、y
iは、候補位置検出パターンの第iのグループの中心の接続線によって形成される三角形の2つの短い接続線の間の長さの差を表し、z
iは、候補位置検出パターンの第iのグループの3つの候補位置検出パターンの面積の標準偏差を表し、f
iは、候補位置検出パターンの第iのグループのスコアを表す。
【0166】
さらに、本出願の実装は、コンピュータが実行可能な命令を記憶するように構成されたストレージ媒体をさらに提供する。特定の実装において、ストレージ媒体は、USBフラッシュドライブ、光ディスク、ハードディスクなどであることが可能である。ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、以下の手順、すなわち、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められた行ピクセル検出規則および予め決められた列ピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定することであって、行ピクセル検出規則が、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が第1の予め決められた閾値に達することを含み、列ピクセル検出規則が、連続して配列された第1の種類のピクセルの量または連続して配列された第2の種類のピクセルの量が第2の予め決められた閾値に達することを含む、決定することと、候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定することと、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用することとが、実施され得る。
【0167】
任意で、ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、第1の予め決められた閾値は、第2の予め決められた閾値に等しい。
【0168】
さらに、本出願の実装は、コンピュータが実行可能な命令を記憶するように構成されたストレージ媒体をさらに提供する。特定の実装において、ストレージ媒体は、USBフラッシュドライブ、光ディスク、ハードディスクなどであることが可能である。ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、以下の手順、すなわち、第1の種類のピクセルおよび第2の種類のピクセルを含むQRコード(登録商標)画像から、予め決められたピクセル検出規則に基づいてQRコード(登録商標)画像内の候補位置検出パターンの中心を決定することであって、ピクセル検出規則が、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの連続した配列の比率が予め決められた比率を満たすことを含む、決定することと、候補位置検出パターンの決定された中心に基づいて対応する候補位置検出パターンを特定することと、特定された候補位置検出パターンからQRコード(登録商標)画像位置決め規則を満たすパターンを決定し、決定されたパターンをQRコード(登録商標)画像の位置検出パターンとして使用することとが、実施され得る。
【0169】
任意で、ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、予め決められた比率は、1:5:1である。
【0170】
任意で、ストレージ媒体に記憶されたコンピュータが実行可能な命令がプロセッサによって実行されているとき、第1の種類のピクセルは、黒いピクセルまたは青いピクセルであり、第2の種類のピクセルは、第1の種類のピクセルとの色の違いが指定された閾値を超えるピクセルである。
【0171】
本出願のこの実装においては、ストレージ媒体に記憶された実行可能な命令が実行された後、まず、QRコード(登録商標)内の候補位置検出パターンが、第1の種類のピクセル、第2の種類のピクセル、および第1の種類のピクセルの配列の比率に基づいて、または連続して配列された第1の種類のピクセルの量もしくは連続して配列された第2の種類のピクセルの量に基づいて決定され、これは、特定の耐障害性を有する。したがって、候補位置検出パターンは、たとえQRコード(登録商標)の位置検出パターンが汚れているかまたは明るさが足りないとしても特定されることが可能であり、それによって、候補位置検出パターンの特定の有効性を高める。さらに、候補位置検出パターンが上述の方法を使用することによって特定された後、QRコード(登録商標)の位置検出パターンが、特定された候補位置検出パターンから決定され、したがって、正確さが、比較的高い。
【0172】
1990年代には、技術的改善がハードウェアの改善(たとえば、ダイオード、トランジスタ、もしくはスイッチなどの回路構造への改善)であるのかまたはソフトウェアの改善(方法の手順への改善)であるのかは、はっきりと区別可能である。しかし、テクノロジーが発達するにつれて、多くの方法の手順への現在の改善は、ハードウェア回路構造への直接的な改善と考えられ得る。ほとんどすべての設計者は、通常、ハードウェア回路に改善された方法の手順をプログラミングして対応するハードウェア回路構造を得る。したがって、方法の手順は、ハードウェアエンティティモジュールを使用することによって改善され得る。たとえば、プログラマブルロジックデバイス(PLD)(たとえば、フィールドプログラマブルゲートアレイ(FPGA))は、そのような集積回路であり、PLDの論理的機能は、デバイスのプログラミングを通じてユーザによって決定される。設計者は、チップの製造業者が専用の集積回路チップを設計し、製造することを必要とすることなくデジタルシステムを単一のPLDに「組み込む」ためのプログラミングを実行する。さらに、現在は、集積回路チップを手動で製造する代わりに、この種のプログラミングは、大抵、「論理コンパイラ(logic compiler)」ソフトウェアを使用することによって実施される。「論理コンパイラ」ソフトウェアは、プログラムを開発し、記述するために使用されるソフトウェアコンパイラに似ている。元のコードが、コンパイルされる前に特定のプログラミング言語で記述される必要がある。言語は、ハードウェア記述言語(HDL)と呼ばれる。高度ブール表現言語(ABEL:Advanced Boolean Expression Language)、Alteraハードウェア記述言語(AHDL)、Confluence、Cornell Universityプログラミング言語(CUPL)、HDCal、Java(登録商標)ハードウェア記述言語(JHDL)、Lava、Lola、MyHDL、PALASM、およびRubyハードウェア記述言語(RHDL)などの多くのHDLが存在する。超高速集積回路ハードウェア記述言語(VHDL)およびVerilogは、現在最もよく使用される。当業者は、方法の手順がいくつかの説明されたハードウェア記述言語を使用することによって論理的にプログラミングされ、集積回路にプログラミングされるならば、論理的な方法の手順を実装するハードウェア回路が容易に得られることが可能であることも理解するはずである。
【0173】
コントローラは、任意の適切な方法を使用することによって実装され得る。たとえば、コントローラは、マイクロプロセッサまたはプロセッサ、あるいはマイクロプロセッサもしくはプロセッサ、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ、または組み込みマイクロプロセッサによって実行され得る(ソフトウェアまたはファームウェアなどの)コンピュータ可読プログラムコードを記憶するコンピュータ可読媒体の形態であることが可能である。コントローラの例は、以下のマイクロプロセッサ、すなわち、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicone Labs C8051F320を含むがこれらに限定されない。メモリコントローラも、メモリの制御論理の一部として実装され得る。当業者は、コンピュータ可読プログラムコードを使用することによってコントローラを実装することに加えて、コントローラが論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラ、および組み込みマイクロコントローラの形態で同じ機能を実装することを可能にするために、方法のステップに関して論理プログラミングが実行され得ることも知っている。したがって、コントローラは、ハードウェア構成要素と考えられることが可能であり、また、コントローラに様々な機能を実装するように構成された装置は、ハードウェア構成要素内の構造と考えられることが可能である。代替的に、様々な機能を実装するように構成された装置は、方法を実装するソフトウェアモジュールとハードウェア構成要素内の構造との両方とさえ考えられることが可能である。
【0174】
上述の実装に示されたシステム、装置、モジュール、またはユニットは、特に、コンピュータチップもしくはエンティティを使用することによって実装されることが可能であり、または特定の機能を有する製品を使用することによって実装されることが可能である。典型的な実装のデバイスは、コンピュータである。特に、コンピュータは、たとえば、パーソナルコンピュータ、ラップトップコンピュータ、セルラー電話、カメラ電話、スマートフォン、携帯情報端末、メディアプレイヤー、ナビゲーションデバイス、電子メールデバイス、ゲームコンソール、タブレットコンピュータ、もしくはウェアラブルデバイス、またはこれらのデバイスのいずれかの組合せであることが可能である。
【0175】
説明を容易にするために、上述の装置は、上述の装置が説明されるときに説明のために機能に基づいて様々なユニットに分割される。確かに、本出願が実装されるとき、ユニットの機能は、1つまたは複数のソフトウェアおよび/またはハードウェアに実装されることが可能である。
【0176】
当業者は、本出願の実装が方法、システム、またはコンピュータプログラム製品として提供され得ることを理解するはずである。したがって、本出願は、ハードウェアのみの実装、ソフトウェアのみの実装、またはソフトウェアとハードウェアとの組合せによる実装の形態を使用し得る。さらに、本出願は、コンピュータが使用可能なプログラムコードを含む(磁気ディスクメモリ、CD-ROM、光学式メモリなどを含むがこれらに限定されない)1つまたは複数のコンピュータが使用可能なストレージ媒体上に実装されるコンピュータプログラム製品の形態を用いることができる。
【0177】
本出願は、本出願の実装による方法、デバイス(システム)、およびコンピュータプログラム製品の流れ図および/またはブロック図を参照して説明されている。流れ図および/またはブロック図の各プロセスおよび/または各ブロックと、流れ図および/またはブロック図のプロセスおよび/またはブロックの組合せとを実装するためにコンピュータプログラム命令が使用され得ることに留意することは有意義である。これらのコンピュータプログラム命令は、コンピュータまたはその他のプログラミング可能なデータ処理デバイスのプロセッサによって実行される命令が流れ図の1つもしくは複数のプロセスおよび/またはブロック図の1つもしくは複数のブロックの特定の機能を実装するための装置を生成するようにマシンを生成するために多目的コンピュータ、専用コンピュータ、組み込みプロセッサ、またはその他のプログラミング可能なデータ処理デバイスのプロセッサのために提供され得る。
【0178】
これらのコンピュータプログラム命令は、コンピュータ可読メモリに記憶された命令が指示装置を含む製品を生成するように、特定の方法で働くようにコンピュータまたはその他のプログラミング可能なデータ処理デバイスに命令し得るコンピュータ可読メモリに記憶されることが可能である。指示装置は、流れ図の1つもしくは複数のプロセスおよび/またはブロック図の1つもしくは複数のブロックの特定の機能を実装する。
【0179】
これらのコンピュータプログラム命令は、一連の動作およびステップがコンピュータまたはその他のプログラミング可能なデバイス上で実行され、それによって、コンピュータによって実施される処理を生成するようにコンピュータまたはその他のプログラミング可能なデータ処理デバイスにロードされることが可能である。したがって、コンピュータまたはその他のプログラミング可能なデバイス上で実行される命令が、流れ図の1つもしくは複数のプロセスおよび/またはブロック図の1つもしくは複数のブロックの特定の機能を実施するためのステップを提供する。
【0180】
典型的な構成において、コンピューティングデバイスは、1つまたは複数のプロセッサ(CPU)と、入力/出力インターフェースと、ネットワークインターフェースと、メモリとを含む。
【0181】
メモリは、非永続的メモリ、ランダムアクセスメモリ(RAM)、および/またはコンピュータ可読媒体内の不揮発性メモリ、たとえば、読み出し専用メモリ(ROM)もしくはフラッシュメモリ(フラッシュRAM)を含む可能性がある。メモリは、コンピュータ可読媒体の例である。
【0182】
コンピュータ可読媒体は、任意の方法またはテクノロジーを使用することによって情報を記憶することができる、永続的媒体、非永続的媒体、移動可能な媒体、および移動不可能な媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータであることが可能である。コンピュータストレージ媒体の例は、相変化RAM(PRAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、別の種類のRAM、ROM、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリ、もしくは別のメモリテクノロジー、コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタルバーサタイルディスク(DVD)、もしくは別の光学式ストレージ、カセット、カセット磁気ディスクストレージ、もしくは別の磁気式ストレージデバイス、または任意のその他の非送信媒体を含むがこれらに限定されない。コンピュータストレージ媒体は、コンピューティングデバイスにアクセスされ得る情報を記憶するように構成されることが可能である。本出願において説明されたように、コンピュータ可読媒体は、変調されたデータ信号およびキャリアなどのコンピュータ可読一時媒体を含まない。
【0183】
用語「含む(comprise)」および「含む(include)」またはこれらの任意のその他の変化形が、要素のリストを含むプロセス、方法、製品、またはデバイスがそれらの要素を含むだけでなく明示的に挙げられていないその他の要素も含むか、またはそのようなプロセス、方法、製品、もしくはデバイスに固有の要素をさらに含むように非排他的な包含を含むように意図されることにさらに留意することは、有意義である。「〜を含む(includes a ...)」と後に続く要素は、さらなる制約がなければ、その要素を含むプロセス、方法、製品、またはデバイスに追加的な同一の要素が存在することを排除しない。
【0184】
当業者は、本出願の実装が方法、システム、またはコンピュータプログラム製品として提供され得ることを理解するはずである。したがって、本出願は、ハードウェアのみの実装、ソフトウェアのみの実装、またはソフトウェアとハードウェアとの組合せによる実装の形態を使用し得る。さらに、本出願は、コンピュータが使用可能なプログラムコードを含む(磁気ディスクメモリ、CD-ROM、光学式メモリなどを含むがこれらに限定されない)1つまたは複数のコンピュータが使用可能なストレージ媒体上に実装されるコンピュータプログラム製品の形態を用いることができる。
【0185】
本出願は、コンピュータによって実行されるコンピュータが実行可能な命令、たとえば、プログラムモジュールの通常の文脈で説明され得る。概して、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本出願は、分散コンピューティング環境において実施されることも可能である。分散コンピューティング環境において、タスクは、通信ネットワークを通じて接続される遠隔の処理デバイスによって実行される。分散コンピューティング環境においては、プログラムモジュールは、ストレージデバイスを含むローカルのコンピュータストレージ媒体と遠隔のコンピュータストレージ媒体との両方に置かれることが可能である。
【0186】
本明細書の実装が、漸進的に説明されている。実装の同じまたは同様の部分に関して、実装が相互に参照されることが可能である。各実装は、その他の実装との違いに焦点を当てる。特に、システムの実装は、方法の実装と基本的に同様であり、したがって簡潔に説明されている。関連する部分に関しては、方法の実装の関連する説明が参照され得る。
【0187】
上述の実装は、本出願の実装であるに過ぎず、本出願を限定するように意図されていない。当業者は、本出願に様々な修正および変更を行うことができる。本出願の精神および原理から逸脱することなくなされたあらゆる修正、均等な置き換え、改善などは、本出願の請求項の範囲内に入る。