IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニーの特許一覧

特許7454588色空間変換技術に基づくターゲットに関連する画像の検出の最適化
<>
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図1
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図2A
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図2B
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図3
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図4
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図5A
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図5B
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図5C
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図5D
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図6A
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図6B
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図6C
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図7
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図8
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図9
  • 特許-色空間変換技術に基づくターゲットに関連する画像の検出の最適化 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-13
(45)【発行日】2024-03-22
(54)【発明の名称】色空間変換技術に基づくターゲットに関連する画像の検出の最適化
(51)【国際特許分類】
   G06K 7/12 20060101AFI20240314BHJP
   G06K 7/14 20060101ALI20240314BHJP
   G06K 19/06 20060101ALI20240314BHJP
   G06T 7/90 20170101ALI20240314BHJP
【FI】
G06K7/12
G06K7/14 017
G06K19/06 037
G06K19/06 140
G06T7/90 C
【請求項の数】 9
(21)【出願番号】P 2021556558
(86)(22)【出願日】2020-03-13
(65)【公表番号】
(43)【公表日】2022-03-25
(86)【国際出願番号】 US2020022811
(87)【国際公開番号】W WO2020190789
(87)【国際公開日】2020-09-24
【審査請求日】2022-01-12
【審判番号】
【審判請求日】2023-02-02
(31)【優先権主張番号】16/357,231
(32)【優先日】2019-03-18
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】ウォルターズ,オースティン グラント
(72)【発明者】
【氏名】グッドシット,ジェレミー エドワード
(72)【発明者】
【氏名】アブディ タギ アバド,ファーディン
【合議体】
【審判長】林 毅
【審判官】脇岡 剛
【審判官】稲垣 良一
(56)【参考文献】
【文献】特開2017-027583号公報(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 19/06
(57)【特許請求の範囲】
【請求項1】
コンピュータプロセッサが、環境に存在するマトリックスバーコードを含む画像を、第1の分布を有する第1の色空間から第2の分布を有する派生色空間への変換方法を使用して、画像データに変換することと、
前記コンピュータプロセッサが、変換された画像データに含まれるマトリックスバーコードを検出することとを含む方法であって、
前記マトリックスバーコードは、前記派生色空間の複数の色を備え、
前記マトリックスバーコードの前記複数の色のうちの少なくとも1つは、前記環境における複数の最も一般的でない色のうちの1つであり、
前記環境における複数の最も一般的でない色は、前記派生色空間の第2の分布における複数の座標セットを有し、
前記複数の座標セットは、前記派生色空間の第2の分布において、前記環境において最も一般的な色の複数の座標セットからの距離が最大となるように選択される、方法。
【請求項2】
前記マトリックスバーコードは、前記第1の色空間の前記派生色空間への前記変換に基づいて、前記複数の最も一般的でない色から導出される第1の複数の色を備え、前記方法は、
前記マトリックスバーコードに符号化された1つまたは複数のデータのビットを検出すること、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記マトリックスバーコードの前記検出は、(i)前記画像で、ディスプレイデバイス上の前記マトリックスバーコードの検出、または(ii)前記画像で、物理的材料の表面に沿った前記マトリックスバーコードの検出のうちの1つまたは複数を含み、前記派生色空間は、複数の色チャネルを含み、各色チャネルのそれぞれの最大値およびそれぞれの最小値は、最も一般的な複数の色のそれぞれの色および前記複数の最も一般的でない色のそれぞれの色を含む、請求項1に記載の方法。
【請求項4】
プロセッサによって実行可能なコンピュータ可読プログラムコードを格納する非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読プログラムコードは、前記プロセッサに、
環境に存在するマトリックスバーコードを含む画像を、第1の分布を有する第1の色空間から第2の分布を有する派生色空間への変換方法を使用して、画像データに変換することと、
変換された画像データに含まれるマトリックスバーコードを検出することと、
を実行させ、
前記マトリックスバーコードは、前記派生色空間の複数の色を備え、
前記マトリックスバーコードの前記複数の色のうちの少なくとも1つは、前記環境における複数の最も一般的でない色のうちの1つであり、
前記環境における複数の最も一般的でない色は、前記派生色空間の第2の分布における複数の座標セットを有し、
前記複数の座標セットは、前記派生色空間の第2の分布において、前記環境において最も一般的な色の複数の座標セットからの距離が最大となるように選択される、非一時的なコンピュータ可読記憶媒体。
【請求項5】
前記マトリックスバーコードは、前記第1の色空間の前記派生色空間への前記変換に基づいて、前記複数の最も一般的でない色から導出される第1の複数の色を備え、前記プロセッサによって実行可能なコンピュータ可読プログラムコードを格納する前記媒体は、前記プロセッサに、
前記マトリックスバーコードに符号化された1つまたは複数のデータのビットを検出すること、
を実行させる、請求項に記載のコンピュータ可読記憶媒体。
【請求項6】
前記マトリックスバーコードの前記検出は、(i)前記画像で、ディスプレイデバイス上の前記マトリックスバーコードの検出、または(ii)前記画像で、物理的材料の表面に沿った前記マトリックスバーコードの検出のうちの1つまたは複数を含み、前記派生色空間は、複数の色チャネルを含み、各色チャネルのそれぞれの最大値およびそれぞれの最小値は、最も一般的な複数の色のそれぞれの色および前記複数の最も一般的でない色のそれぞれの色を含む、請求項に記載のコンピュータ可読記憶媒体。
【請求項7】
プロセッサと、
命令を格納するメモリと、を備える装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
環境に存在するマトリックスバーコードを含む画像を、第1の分布を有する第1の色空間から第2の分布を有する派生色空間への変換方法を使用して、画像データに変換することと、
変換された画像データに含まれるマトリックスバーコードを検出することと、
を実行させ、
前記マトリックスバーコードは、前記派生色空間の複数の色を備え、
前記マトリックスバーコードの前記複数の色のうちの少なくとも1つは、前記環境における複数の最も一般的でない色のうちの1つであり、
前記環境における複数の最も一般的でない色は、前記派生色空間の第2の分布における複数の座標セットを有し、
前記複数の座標セットは、前記派生色空間の第2の分布において、前記環境において最も一般的な色の複数の座標セットからの距離が最大となるように選択される、装置。
【請求項8】
前記マトリックスバーコードは、前記第1の色空間の前記派生色空間への前記変換に基づいて、前記複数の最も一般的でない色から導出される第1の複数の色を備え、前記メモリは、命令を格納しており、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記マトリックスバーコードに符号化された1つまたは複数のデータのビットを検出すること、
を実行させる、請求項に記載の装置。
【請求項9】
前記マトリックスバーコードの前記検出は、(i)前記画像で、ディスプレイデバイス上の前記マトリックスバーコードの検出、または(ii)前記画像で、物理的材料の表面に沿った前記マトリックスバーコードの検出のうちの1つまたは複数を含み、前記派生色空間は、複数の色チャネルを含み、各色チャネルのそれぞれの最大値およびそれぞれの最小値は、最も一般的な複数の色のそれぞれの色および前記複数の最も一般的でない色のそれぞれの色を含む、請求項に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
この出願は、2019年3月18日に出願された「色空間変換技術に基づくターゲットに関連する画像の検出の最適化」という名称の米国特許出願第16/357,231号の優先権を主張する。前述の出願の内容は、その全体が参照により本明細書に援用される。
【背景技術】
【0002】
太古の昔から、特定の材料(例えば、ペイント、インクなど)は、シーンおよび/またはオブジェクトを半永久的から永久的な媒体に記憶させるために使用されてきた。そのような記憶には、写真を作成するための写真撮影の取り組みが含まれる。コンピュータ技術は、これらの写真のデジタル化と画像への検出を可能にし、技術分野として画像処理を導入した。エッジ検出は、画像処理の少なくとも1つの側面を構成し、多くの場合に適用される。
【0003】
現在の改善が必要とされているのは、これらおよび他の考慮事項に関してである。
【発明の概要】
【0004】
以下は、本明細書に記載のいくつかの新規実施形態の基本的な理解を提供するために、簡略化された要約を提示する。この要約は、広範な概要ではなく、主要/重要な要素を特定したり、その範囲を明確にしたりすることを目的としたものではない。その唯一の目的は、後で提示されるより詳細な説明の前置きとして、いくつかの概念を簡略化された形式で提示することである。
【0005】
本開示の一態様は、特定の環境での検出のために最適化されたマトリックスを作成するための装置を含む。装置は、命令を格納するためのメモリと、命令を実行するように動作可能なメモリと結合された処理回路とを含み、実行されると、処理回路に、i)ターゲットの1つまたは複数の画像、およびii)ターゲットの1つまたは複数のビデオのうちの少なくとも1つを含む代表的なデータセットを受信することであって、ターゲットは、i)環境、ii)ライブエンティティ、およびiii)オブジェクトのうちの少なくとも1つを含む、ことと、代表的なデータセットを処理してターゲットのヒストグラムを作成することと、ヒストグラムに基づいてターゲットに関連付けられた最も一般的な複数の色を識別することと、ヒストグラムに基づいて関連する複数の色を決定することであって、関連する複数の色は、i)ターゲットに関連して存在しない色、およびii)ターゲットに関連付けられた最も一般的でない色のうちの少なくとも1つを含む、ことと、関連する複数の色を使用してマトリックスを作成することであって、マトリックスは、ターゲットに関連付けられていることと、を実行させる。
【0006】
本開示の他の態様は、特定の環境での検出のために最適化されたマトリックスを検出するための方法を含む。この方法は、物理媒体を介してディスプレイ上に表示され、環境に関連付けられたマトリックスを検出することであって、マトリックスは、複数の非黒および非白の色を含み、複数の非黒および非白の色のそれぞれは、i)環境に関連して存在しない色、およびii)環境に関連付けられた最も一般的でない色のうちの少なくとも1つであること、を含む。
【0007】
本開示のさらに他の態様は、特定の環境での検出のために最適化されたマトリックスバーコードを表示する製品を含む。物理媒体を介して表示され、環境に関連付けられたマトリックスバーコードを備える製品であって、マトリックスバーコードは、複数の非黒および非白の色を含み、マトリックスバーコードは、コンピュータデータに埋め込まれ、コンピュータデータは、非黒および非白の色に関連付けられた複数のピクセルによって表され、複数のピクセルは、マトリックスバーコードを形成する少なくとも3つの色チャネルに関連付けられている、製品を含む。
【0008】
本開示のさらに他の態様は、特定の環境での検出のために最適化されたマトリックスを作成するための装置を含み、マトリックスは、紫外線層を含む層状画像の一部である。装置は、i)1つまたは複数の画像、およびii)ターゲットの1つまたは複数のビデオのうちの少なくとも1つを含む代表的なデータセットを受信することであって、ターゲットは、i)環境、ii)ライブエンティティ、およびiii)オブジェクトのうちの少なくとも1つを含む、ことと、代表的なデータセットを処理してターゲットのヒストグラムを作成することと、ヒストグラムに基づいてターゲットに関連付けられた最も一般的な複数の色を識別することと、ヒストグラムに基づいて関連する複数の色を決定することであって関連する複数の色は、i)ターゲットに関連して存在しない色、およびii)ターゲットに関連付けられた最も一般的でない色のうちの少なくとも1つを含む、ことと、関連する複数の色および少なくとも1つの紫外線層を使用してマトリックスを作成することであって、マトリックスは、ターゲットに関連付けられる、ことと、を含む。
【0009】
本開示のさらに他の態様は、特定の環境での検出のために最適化されたマトリックスを検出するための方法を含み、マトリックスは、少なくとも1つの紫外線層を含む画像の一部である。この方法は、物理媒体を介してディスプレイ上に表示され、環境に関連付けられたマトリックスバーコードを検出することであって、マトリックスバーコードは、複数の非黒および非白の色および少なくとも1つの紫外線層を含み、少なくとも1つの紫外線層は、紫外線を反射し、マトリックスバーコードは、4ビット以上の情報を含む、ことを含む。
【0010】
本開示のさらに他の態様は、特定の環境での検出のために最適化されたマトリックスバーコードを表示する製品を含み、マトリックスバーコードは、紫外線層を有する画像の一部である。製品は、紫外線を投射、吸収、反射、または照射のうちの少なくとも1つに適した表面を介して表示されるマトリックスバーコードであって、マトリックスバーコードは、それぞれが別個の色チャネルに関連付けられた4つ以上の構成マトリックスバーコードの組み合わせを含み、4つの構成マトリックスバーコードのうちの少なくとも1つの少なくとも1つの層に関連付けられた紫外線色チャネルを含む、マトリックスバーコードを含む。
【0011】
本開示のさらに他の態様は、特定の環境での検出のために最適化されたマトリックスを作成するための装置を含み、マトリックスは、赤外線層を含む層状画像の一部である。装置は、i)1つまたは複数の画像、およびii)ターゲットの1つまたは複数のビデオのうちの少なくとも1つを含む代表的なデータセットを受信することであって、ターゲットは、i)環境、ii)ライブエンティティ、およびiii)オブジェクトのうちの少なくとも1つを含む、ことと、代表的なデータセットを処理してターゲットのヒストグラムを作成することと、ヒストグラムに基づいてターゲットに関連付けられた最も一般的な複数の色を識別することと、ヒストグラムに基づいて関連する複数の色を決定することであって、関連する複数の色は、i)ターゲットに関連して存在しない色、およびii)ターゲットに関連付けられた最も一般的でない色のうちの少なくとも1つを含む、ことと、関連する複数の色および少なくとも1つの赤外線層を使用してマトリックスを作成することであって、マトリックスは、ターゲットに関連付けられている、ことと、を含む。
【0012】
本開示のさらに他の態様は、特定の環境での検出のために最適化されたマトリックスを検出するための方法を含み、マトリックスは、少なくとも1つの赤外線層を含む画像の一部である。この方法は、物理媒体を介してディスプレイ上に表示され、環境に関連付けられたマトリックスバーコードを検出することであって、マトリックスバーコードは、複数の非黒および非白の色および少なくとも1つの赤外線層を含み、少なくとも1つの赤外線層は、赤外光を反射し、マトリックスバーコードは、4ビット以上の情報を含む、ことと、を含む。
【0013】
本開示のさらに他の態様は、特定の環境での検出のために最適化されたマトリックスバーコードを表示する製品を含み、マトリックスバーコードは、赤外線層を有する画像の一部である。製品は、赤外線を投射、吸収、反射、または照射のうちの少なくとも1つに適した表面を介して表示されるマトリックスバーコードであって、マトリックスバーコードは、それぞれが別個の色チャネルに関連付けられた4つ以上の構成マトリックスバーコードの組み合わせを含み、4つの構成マトリックスバーコードのうちの少なくとも1つの少なくとも1つの層に関連付けられた赤外線色チャネルを含む、マトリックスバーコードを含む。
【0014】
本開示のさらに他の態様は、紫外線層および赤外線層の両方を含むマトリックスバーコードを作成するための装置を含む。装置は、命令を格納するためのメモリと、命令を実行するように動作可能なメモリと結合された処理回路と、を含み、実行されると、処理回路に、少なくとも1つの赤外線層および少なくとも1つの紫外線層を使用してマトリックスバーコードを作成すること、を実行させる。
【0015】
本開示のさらに他の態様は、特定の環境での検出のために最適化されたマトリックスを作成するための装置を含み、マトリックスは、赤外線層および紫外線層を含む層状画像の一部である。装置は、命令を格納するためのメモリと、命令を実行するように動作可能なメモリと結合された処理回路と、を含み、実行されると、処理回路に、1つまたは複数の色層、少なくとも1つの赤外線層および少なくとも1つの紫外線層を使用してマトリックスバーコードを作成することと、i)1つまたは複数の画像、およびii)ターゲットの1つまたは複数のビデオのうちの少なくとも1つを含む代表的なデータセットを受信することであって、ターゲットは、i)環境、ii)ライブエンティティ、およびiii)オブジェクトのうちの少なくとも1つを含む、ことと、代表的なデータセットを処理してターゲットのヒストグラムを作成することと、ヒストグラムに基づいてターゲットに関連付けられた最も一般的な複数の色を識別することと、ヒストグラムに基づいて関連する複数の色を決定することであって、関連する複数の色は、i)ターゲットに関して存在しない色、およびii)ターゲットに関連付けられた最も一般的でない色のうちの少なくとも1つを含み、関連する複数の色は、1つまたは複数の色層のそれぞれに含まれる、ことと、を実行させる。
【0016】
本開示のさらに他の態様は、特定の環境での検出のために最適化されたマトリックスバーコードを検出するための方法を含み、マトリックスバーコードは、紫外線層および赤外線層の両方を含む。この方法は、物理媒体を介してディスプレイ上に表示され、環境に関連付けられたマトリックスバーコードを検出することであって、マトリックスバーコードは、複数の非黒および非白の色、少なくとも1つの赤外線層、および少なくとも1つの紫外線層を含み、少なくとも1つの紫外線層は、紫外線を反射し、少なくとも1つの赤外線層は、紫外線を反射する、こと、を含む。
【0017】
本開示のさらに他の態様は、紫外線層および赤外線層の両方を有するマトリックスバーコードを表示するための製品を含む。製品は、赤外線と紫外線の両方を投射、吸収、反射、または照射のうちの少なくとも1つに適した表面を介して表示されるマトリックスバーコードであって、マトリックスバーコードは、少なくとも1つの赤外線層および少なくとも1つの紫外線層を含む、マトリックスバーコードを含む。
【0018】
本開示のさらに他の態様は、紫外線層および赤外線層の両方を有するマトリックスバーコード、および特定の環境での検出のために最適化された1つまたは複数の着色層を表示するための製品を含む。製品は、赤外線と紫外線の両方を反射する適切な表面を介して表示されるマトリックスバーコードであって、マトリックスバーコードは、少なくとも1つの赤外線層、少なくとも1つの紫外線層、および複数の非黒および非白の色を含み、複数の非黒および非白の色は、少なくとも3つの非白および非黒の色チャネルに関連付けられる、マトリックスバーコードを含む。
【0019】
前述および関連する目的を達成するために、特定の例示的な態様が、以下の説明および添付の図面に関連して本明細書で説明される。これらの態様は、本明細書に開示された原理を実施できる様々な方法を示しており、そのすべての態様および均等物は、請求された主題の範囲内にあることが意図されている。他の利点および新規の特徴は、図面と併せて検討すると、以下の詳細な説明から明らかになり得る。
【図面の簡単な説明】
【0020】
図1】本開示の少なくとも1つの実施形態による画像におけるエッジ検出を改善するためのシステムの実施形態を示している。
図2A】本開示の少なくとも1つの実施形態による図1のシステムのためのクラスタリングプロセスの実施形態を示している。
図2B】本開示の少なくとも1つの実施形態による図1のシステムのための色空間変換技術の実施形態を示している。
図3】本開示の少なくとも1つの実施形態による図1のシステムのための集中型システムの実施形態を示している。
図4】本開示の少なくとも1つの実施形態による図1のシステムのための動作環境の実施形態を示している。
図5A】本開示の少なくとも1つの実施形態による図1のシステムのための第1の論理フローの実施形態を示している。
図5B】本開示の少なくとも1つの実施形態による図1のシステムのための第2の論理フローの実施形態を示している。
図5C】本開示の少なくとも1つの実施形態による図1のシステムのための第3の論理フローの実施形態を示している。
図5D】本開示の少なくとも1つの実施形態による図1のシステムのための第4の論理フローの実施形態を示している。
図6A】本開示の少なくとも1つの実施形態によるスキャン可能な画像の形成を示している。
図6B】本開示の少なくとも1つの実施形態によるスキャン可能な画像の形成を示している。
図6C】本開示の少なくとも1つの実施形態によるスキャン可能な画像の形成を示している。
図7】本開示の少なくとも1つの実施形態によるスキャン可能な画像を生成およびスキャンするためのコンピュータデバイスを示している。
図8図1のシステムのためのグラフィカルユーザインターフェース(GUI)の実施形態を示している。
図9】コンピューティングアーキテクチャの実施形態を示している。
図10】通信アーキテクチャの実施形態を示している。
【発明を実施するための形態】
【0021】
様々な実施形態は、例えば、特定の環境内または特定のターゲットに関連して検出を改善するために色空間間で変換するなど、特定の環境での検出にどの色空間モデルを使用するのが最も適切であるかを識別することによって画像処理を改善することに向けられている。様々な実施形態では、色空間間の変換は、オブジェクト上に配置されるか、または電子デバイスによって表示されるマトリックスを提供し、マトリックスは、マトリックスを生成する際に1つまたは複数の色空間対話を実行することによって、環境での検出のために最適化される。1つまたは複数の実施形態では、マトリックスは、マトリックスバーコードであり、1つまたは複数の実施形態では、マトリックスバーコードは、基準マーカである。
【0022】
様々な実施形態では、色空間変換は、マトリックスバーコードに関する情報を符号化し、これは、改ざんおよび誤検証を防止しながら、マトリックスバーコードに関連するオブジェクトの適切なスキャンを可能にする。例えば、情報を含む色チャネルは、変換に結び付けられ、変換に関連する情報にアクセスするスキャンデバイスがなければ、スキャンは、オブジェクトに関連付けられたオブジェクトを検証したり、および/またはそれに関連付けられた情報にアクセスしたりすることはできない。
【0023】
様々な実施形態では、色空間変換は、変換された(導出された)色空間に関連付けられた色チャネルを必要に応じて制限なく増加され得るので、マトリックス、例えば、マトリックスバーコードに格納される情報の量を増加させることを提供する(マトリックスがスキャンされたときに検出を行うようにスキャン装置が適切に構成されている場合)。
【0024】
様々な実施形態では、マトリックスに関連付けられた情報をさらに増加させ、セキュリティの層を追加し、および/またはマトリックスの印刷に関連付けられたインクを最適に利用するために、マトリックスに関して紫外線および/または赤外線層を使用し得る。
【0025】
したがって、本開示の様々な実施形態は、以下の利点のうちの少なくとも1つを提供する。i)環境内のオブジェクト上の画像、例えば、マトリックスの検出を強化する(マトリックスの色は、環境の色を念頭に置いて選択および最適化されているため)、ii)より安全な検証を提供する、iii)使用できる色チャネルの数にフロントロードの制限がなく、情報の量をさらに増やすことができ、赤外線または紫外線機能を追加することにより検証スキャンをより安全にするため、マトリックスにより多くの情報を格納する。
【0026】
様々な実施形態では、色空間変換は、エッジ検出を改善する。画像処理では、エッジ検出は既知の技術分野であり、エッジ検出の技術は、様々な色空間モデルに対して様々な結果を提供する。色空間モデルに従って画像データを取得すると、他の色空間モデルよりもエッジ検出に成功する可能性が高くなるため、ある色空間モデルがエッジ検出で他の色空間よりも優れた結果を提供することは珍しくない。
【0027】
色空間モデルは、色データを表すように構成されているが、ほとんどのモデルは、その色データの表現が異なる。例えば、CIELABまたはLAB色空間モデルは、色を3つの値、輝度/明度のLと、緑-赤および青-黄の各色成分のアルファ(A)およびベータ(B)として表す。LAB色空間モデルは、通常、赤-緑-青(RGB)色空間モデルからシアン-マゼンタ-黄-黒(CMYK)に変換するときに使用される。いくつかの画像では、LAB色空間モデルでその色データを表すと、RGBモデルを含む他の色空間モデルよりも優れたエッジ検出結果が得られる。結果として、実施形態は、検証に関連付けられた画像をスキャンするより効果的かつ正確な方法を提供することによって、トランザクションを検証する手段として画像検出を利用するオペレータ、デバイス、またはネットワークの手頃な価格、スケーラビリティ、モジュール性、拡張性、または相互運用性を改善できる。(ひいては、コンピュータリソースの冗長な消費を最小限に抑える)。
【0028】
本明細書で使用される表記法および命名法を一般的に参照して、以下の詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順に関して提示され得る。これらの手順の説明および表現は、当業者によって、それらの作業の実体を当業者に最も効果的に伝えるために使用される。
【0029】
手順は本明細書に記載されており、一般に、望ましい結果につながる自己矛盾のない一連の演算であると考えられている。これらの演算は、物理量の物理的な操作を必要とする演算である。通常、必ずしもそうとは限らないが、これらの量は、格納、転送、結合、比較、およびその他の方法で操作できる電気信号、磁気信号、または光信号の形をとる。主に一般的な使用法の理由から、これらの信号をビット、値、要素、記号、文字、用語、数値などと呼ぶと便利な場合がある。しかしながら、これらおよび類似の用語はすべて、適切な物理量に関連付けられており、これらの量に適用される便利なラベルにすぎないことに留意すべきである。
【0030】
さらに、実行される操作は、加算または比較などの用語で参照されることが多く、これらは一般に、人間のオペレータによって実行される知的な演算に関連付けられている。1つまたは複数の実施形態の一部を形成する本明細書に記載の演算のいずれにおいても、人間のオペレータのそのような能力は、必要ではなく、またはほとんどの場合望ましいものではない。むしろ、演算は、機械演算である。様々な実施形態の演算を実行するための有用な機械には、汎用デジタルコンピュータまたは同様のデバイスが含まれる。
【0031】
様々な実施形態はまた、これらの演算を実行するための装置またはシステムに関する。この装置は、必要な目的のために特別に構築され得るか、またはコンピュータに格納されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピュータを備え得る。本明細書に提示される手順は、本質的に特定のコンピュータまたは他の装置に関連するものではない。様々な汎用機械が、本明細書の教示に従って書かれたプログラムと共に使用され得るか、または必要な方法ステップを実行するためのより特殊な装置を構築することが便利であることが証明され得る。これらの様々な機械に必要な構造は、与えられた説明から明らかになり得る。
【0032】
ここで、図面を参照する。ここで、同様の参照番号は、全体を通して同様の要素を参照するために使用される。以下の説明では、説明の目的で、それらを完全に理解するために、多くの具体的な詳細が示されている。しかしながら、新規の実施形態は、これらの特定の詳細なしで実施できることは明らかであろう。他の例では、よく知られている構造およびデバイスは、その説明を容易にするためにブロック図の形で示されている。意図は、請求された主題と一致するすべての修正、均等物、および代替案をカバーすることである。
【0033】
図1は、システム100のブロック図を示している。図1に示されるシステム100は、特定のトポロジーにおいて限られた数の要素を有するが、システム100は、所与の実施に望まれるように、代替トポロジーに多かれ少なかれ要素を含み得ることが理解され得る。システム100は、完全に単一のデバイス内など、単一のコンピューティングエンティティ内のシステム100の構造および/または動作のいくつかまたはすべてを実施し得る。
【0034】
システム100は、装置120を備え得る。装置120は、一般に、様々なコンポーネントを使用して入力110を処理し、出力130を生成するように構成され得、その(いくつかの)出力130は、ディスプレイデバイスに表示されるか、または適切な材料表面に印刷される。装置120は、プロセッサ140(例えば、処理回路)およびコンピュータメモリ150を備え得る。処理回路140は、任意のタイプの論理回路であり得、コンピュータメモリ150は、1つまたは複数のメモリユニットの構成であり得る。
【0035】
装置120は、コンピュータメモリ150に格納され、処理回路140上で実行される論理160をさらに含む。論理160は、処理回路140に、画像データセット170の画像データをパッチされた画像データに処理させるように動作し、画像データは、色空間モデルに従って構成されている。本明細書で説明される色空間モデルは、赤-緑-青(RGB)、シアン-マゼンタ-黄-黒(CMYK)、輝度-アルファ-ベータ(LAB)などの任意の適切な色空間モデルを指す。例えば、LAB色空間モデルのアルファチャネルとベータチャネルは、それぞれ緑-赤と青-黄の色成分を参照する。緑-赤成分は、赤と緑との間の分散で、軸に沿って緑が負の方向にあり、赤が正の方向にあることを表し、青-黄成分は、青と黄との間の分散で、軸に沿って青が負の方向にあり、黄が正の方向にあることを表し得る。様々な実施形態では、エッジは、アルファチャネルがゼロ(0)またはゼロに近い値を有する各ピクセル位置として(数学的に)定義され得る。
【0036】
様々な実施形態では、パッチされた画像データは、各パッチが色データ(例えば、各ピクセルが赤-緑-青(RGB)色強度のタプルとして表されるピクセルデータ)を備える複数のパッチを含む。本明細書で説明するように、1つの色空間モデル(例えば、RGB)は、他の色空間モデルよりもエッジ検出で成功する可能性が高いことに対応し得る。いくつかの画像は、RGBに配置したときに最適またはほぼ最適なエッジ検出結果を提供するが、他の画像は、LABまたはXYZ色空間に配置したときに最適またはほぼ最適なエッジ検出結果を提供し、その逆もある。
【0037】
様々な実施形態では、論理160は、さらに動作可能であり、処理回路140に色空間変換メカニズム180を画像データに適用させて、他の色空間モデルに従って変換された画像データを生成させる。次に、論理160は、処理回路140に、変換された画像データにエッジ検出技術190を適用させるように動作可能である。エッジ検出技術190は、画像内のオブジェクトのエッジまたは境界を識別するためのいくつかのアルゴリズムのいずれか1つを参照する画像処理技術である。一般に、エッジ検出技術190は、画像データセット170の画像データにおけるエッジの位置を示す情報(例えば、ピクセルデータ)を提供する。エッジ検出技術190のいくつかの実施は、明るさの不連続性を検出することによって動作し、それらの実施の場合、画像データをLAB色空間、またはRGB上のXYZ色空間に持つことにより、より正確なエッジ検出結果が得られる。エッジ検出技術190のいくつかの実施は、画像データがRGBの代わりにHCL(色相-彩度-輝度)に従ってモデル化されたときに正確なエッジ検出結果を提供する。
【0038】
様々な実施形態では、論理160は、さらに動作可能であり、処理回路140に、パッチされた画像データに対応する画像グループを識別させる。画像データセット170は、適切なエッジ検出結果を提供する可能性が最も高い色空間モデルと画像を相関させる画像グループモデルデータをさらに含む。様々な実施形態では、画像グループモデルデータは、ほぼ最適なエッジ検出結果を達成するために、エッジ検出の前に所与の画像を変換する際に使用する色空間モデルを示す。論理160はさらに、処理回路140に、画像グループに基づいて色空間変換メカニズム180を選択させるように構成される。色空間変換メカニズム180は、他の色空間モデルに従って画像データを変換された画像データに変換するように動作し、他の色空間モデルは、画像グループのエッジ検出時に色空間モデルよりも高い可能性を有する。他の色空間モデルは、色空間モデルとは異なるチャネル数を有するものを含む任意の色空間モデルであり得ることが理解される。
【0039】
様々な実施形態では、論理160は、処理回路140に、特定のオブジェクト、エンティティ、または環境に関連する検出に最適な色空間を決定させるようにさらに動作可能であり得、特定のオブジェクト、エンティティ、または環境の色空間またはヒストグラム表現は、画像データセット170の一部であり得る。論理160は、さらに動作可能であり、処理回路140に、1つまたは複数の色空間変換動作に基づいて最適な色空間を決定させ得、色空間変換動作は、マトリックスバーコード、基準マーカ、その他の適切なバーコード、またはその他の適切な画像などのマトリックスを含むがこれらに限定されない、任意の適切な媒体で情報を符号化するためのメカニズムを提供し得る。論理160はさらに、処理回路140に、色空間決定に基づいて、特定のオブジェクト、エンティティ、または環境に関連して検出するためのマトリックス、例えば、マトリックスバーコード、基準マーカなどのスキームを生成させるように動作可能であり得る。論理160はさらに、処理回路140に、特定のオブジェクト、エンティティ、または環境に関連する検出に有用な、マトリックスまたはマトリックスバーコードなどの画像に少なくとも1つの紫外線層および赤外線層を追加するスキームを提供させるように動作可能であり得、紫外線層および/または赤外線層は、検出可能な画像に追加のデータ伝達能力および/またはセキュリティを追加し得る。
【0040】
本明細書の他の場所で述べられ、暗示される、本明細書で説明される1つまたは複数の色空間モデルは、三刺激システムまたはスキームを採用した色空間、赤-緑-青(RGB)、輝度-アルファ-ベータ(LAB)、XYZ色空間、および/または同様のもの、および/またはそのバリエーションなどの任意の適切な色空間モデルを指す。同様に、様々な実施形態は、1つの特定の色空間から他の特定の色空間への特定の変換を参照し得るが、他の色空間間の変換が企図され、本開示の教示と一致する。
【0041】
様々な実施形態では、本明細書に記載されるように、1つの色空間モデル(例えば、RGBまたはXYZ)は、特定の色分布を有するオブジェクト、エンティティ、または環境に関連して、表示または印刷された画像、例えば、バーコードの検出に関して、他の色空間モデルよりもエッジ検出における成功の可能性が高いことに対応し得る。さらに、色空間に関連付けられた特定の色および色チャネルは、オブジェクト、エンティティ、または環境に関連して優れたエッジ検出を提供し得る。いくつかの画像は、RGBに配置したときに最適またはほぼ最適なエッジ検出結果を提供するが、他の画像は、XYZまたはLABに配置したときに最適またはほぼ最適なエッジ検出結果を提供する、その逆もある。例として、緑のフィールドに赤い風船を描いた画像は、RGBではLABとは大きく異なって表示される。したがって、エッジ検出に関して、LABは、緑の環境で赤い色をした赤い風船、またはマトリックス、例えば、バーコードまたは基準マーカのエッジ(例えば、境界)を正常に識別および特定する際に、RGBよりも高い可能性を提供する。
【0042】
様々な実施形態では、色チャネルは、第1の色および第2の色がそれぞれ第1および第2の最も高い普及を有する色の分布であり、境界がこれらの色の間の遷移であり得るように、第1の色は、色チャネルにおいて最小になり、第2の色は、最大になる。この境界は、色が第1の色から第2の色に、またはその逆に変化した少なくとも1つのピクセルであり得る。第1の色がゼロ(0)に設定され、第2の色が255(255)に設定されている場合、数学的には、この境界は、最小値と最大値との間でジャンプしたピクセルに配置され得る。例えば、少なくとも2つの隣接するピクセルが0から255の間ですぐに遷移する鋭い分割(すなわち、薄い境界)が存在し得る。様々な実施形態では、色チャネル、例えば、「R」、「G」、および「B」は、RGBなどの色空間(例えば、三刺激システムに基づく第1の色空間)を定義し、様々な実施形態では、カスタム色チャネルは、XYZ色空間(および/またはXYZ色空間への変換)に関連付けられて定義されている(第2の)三刺激値システムを使用して作成され得る。様々な実施形態では、色チャネルは、3より大きくし得る。
【0043】
様々な実施形態では、本明細書で論じられるように、1つまたは複数の色チャネル範囲は、1つまたは複数の色チャネルの最大色値が、スキャンに関連付けられたターゲットオブジェクト、エンティティ、および/または環境の一意の色値、最も一般的な色値、および/または最高の色値に対応し、色チャネルの最小色値が、スキャン可能な画像、例えば、マトリックス、マトリックスバーコード、および/または基準マーカの最も一意の色、最も一般的な色値、および/または最高の色値に対応するように選択される。さらに、スキャン可能な画像の最も一般的な値および/または最高の色値も最も一般的ではない(最も低い色値)および/またはスキャンに関連付けられたターゲットオブジェクト、エンティティ、および/または環境に存在しない、またはその逆(例えば、最大値または最小値に関して)である。
【0044】
様々な実施形態では、本明細書に記載されるように、特定のオブジェクト、エンティティ、または環境は、より複雑で多様な色空間を作る色分布、およびそれに関連する色および色チャネルを有し得、これには、情報の格納と暗号化の容量を増やすことに加えて、人間の目によって知覚できない、検出にとってより魅力的な色を含む。したがって、様々な実施形態では、論理160は、さらに動作可能であり、処理回路140に、パッチされた画像データに対応する画像グループを識別させる。画像データセット170は、適切なエッジ検出結果を提供する可能性が最も高い色空間変換モデルと画像を相関させる画像グループモデルデータをさらに含む。いくつかの実施形態では、画像グループモデルデータは、ほぼ最適なエッジ検出結果を達成するために、エッジ検出の前に所与の画像を変換する際に使用する色空間変換モデルを示す。論理160はさらに、処理回路140に、画像グループに基づいて色空間変換メカニズム180を選択させるように構成される。色空間変換メカニズム180は、他の色空間モデルに従って画像データを変換された画像データに変換するように動作し、他の色空間モデルは、画像グループのエッジ検出時に色空間モデルよりも高い可能性を有する。
【0045】
様々な実施形態では、システム100は、カメラまたはビデオデバイス195および/またはスキャンデバイス197のうちの1つまたは複数を含み得、デバイス195およびデバイス197の両方は、オブジェクト、エンティティ、および/または環境のビデオまたはカメラの写真を含むがこれらに限定されない画像を、取得、キャプチャ、編集、および/またはスキャンするための任意の適切なデバイスであり得る。ロジック160は、デバイス195および/またはデバイス197を使用して特定のオブジェクト、エンティティまたは環境の画像をキャプチャまたはスキャンするように構成され得、キャプチャされた画像は、画像データセット170の一部となり、適切な色空間を決定し、色空間変換を実行し、および/または本明細書で提供される教示と一致し得るように、色空間変換から決定された画像をスキャンするために使用され得る。
【0046】
様々な実施形態では、システム100は、印刷デバイス199(例えば、プリンタ)またはそのためのアプリケーションを含み得、スキャン可能なマトリックス、マトリックスバーコード、または基準マーカなどの色空間変換技術またはメカニズムを適用することによって、画像データセット170の画像部分および/またはシステム100の1つまたは複数のコンポーネントによって生成された画像が、印刷デバイス199によって印刷され得、および/または、印刷デバイス199が、スキャン可能なマトリックス、マトリックスバーコード、または基準マーカに関連付けられた画像を印刷または生成するために、他のデバイスのためのスキームを提供し得る。
【0047】
図2Aは、システム100のクラスタリングプロセス200Aの実施形態を示している。クラスタリングプロセス200Aは、画像の色データを格納する画像データセット(例えば、図1の画像データセット170)に対して動作する。
【0048】
クラスタリングプロセス200Aのいくつかの実施形態では、画像の色データ202は、画像がパッチされた画像データ206の複数のパッチ204に処理されるパッチ動作を受ける。パッチされた画像データ206の各パッチ204は、RGBタプルを有するピクセルデータなどの色空間モデルに従った色データを含む。クラスタリングプロセス200Aは、パッチされた画像206の色データに色空間変換メカニズムを適用してパッチされた画像データを変換された画像210の変換された画像データに変換することにより、変換動作208を介してパッチされた画像データ206をさらに処理する。パッチされた画像206の色データは、色空間モデルに従って構成され、変換された画像210の新しい色データは、他の色空間モデルに従って生成される。
【0049】
いくつかの実施形態では、クラスタリングプロセス200Aは、パッチされた画像206の少なくとも1つのパッチに対してミニ色空間変換を実行し、おそらく変換なしで1つまたは複数のパッチを残す。変換動作208を介して、ミニ色空間変換は、パッチされた画像データを変換された画像210の変換された画像データに変換するために、少なくとも1つのパッチ内の色データを変更する。クラスタリングプロセス200Aは、人工的なエッジを作成するのとは対照的に、パッチ間のスティッチングを実行して、パッチされた画像206を均一にし得る。
【0050】
図2Bは、本開示の様々な実施形態による色空間変換スキーム200Bの例を示している。特定のオブジェクト、エンティティ、または環境215のヒストグラム218表現が提供される(ここで、番号100、90、80、および70は、特定のオブジェクト、エンティティ、または環境215を表す1つまたは複数の色の色分布値の簡略化されたバージョンを表すことを意図する)。ヒストグラム218は、システム100の1つまたは複数のコンポーネントに特定のオブジェクト、エンティティ、または環境215のスキャンを実行させ、オブジェクト、エンティティ、または環境215の最も一般的な色、最も一般的でない色、または存在しない色のヒストグラム218を生成することによって生成し得る。1つまたは複数の実施形態では、ヒストグラム218は、オブジェクト、エンティティ、または環境の最も一般的な色の4つ以上の色であり得る。本開示の様々な実施形態は、人間の目に知覚できない色を使用することを明確に企図しているので、ヒストグラム218に関して使用できる色の数に制限はなく、本明細書で論じられる色空間変換、または色空間から生成された任意の画像、マトリックス、マトリックスバーコード、基準マーカなどを含むがこれらに限定されないは、4色および4色チャネルを超えて有し得、4色および/または4色チャネルは、互いに区別され、異なっている。
【0051】
様々な実施形態では、システム100の1つまたは複数のコンポーネントは、オブジェクト、エンティティ、または環境215に関連付けられた最も一般的な色を決定し得、結果として生じるヒストグラム218は、その決定に基づき得る。ヒストグラム218を使用して、最も一般的な色を、RGB色空間224を含むがこれに限定されない適切な色空間224に関連付けられた分布222にマッピングし得る。様々な実施形態では、ヒストグラム218の色は、RGB色空間の三刺激値、例えば、「R」、「G」、および「B」に従ってマッピングされる。任意の適切な数学的変換、例えば、線形代数などを使用して、RGB色空間への変換をマッピングし、例えば、マッピングされたRGB色空間を他の色空間に変換し得る。
【0052】
様々な実施形態では、分布222がRGB色空間224に従ってマッピングされると、システム100の1つまたは複数のコンポーネントは、RGB分布222を、新しい色空間226に従って分布228を有する新しい色空間226に変換し得る。XYZ色空間への変換を含む、任意の適切な色空間変換を使用し得る。変換は、RGBとXYZとの間の適切な三刺激値変換を含む、XYZ色空間を管理する任意の適切な数学的変換および方程式に従い得る。様々な実施形態では、「Y」は、XYZ空間の輝度値を表し、「X」および「Z」の少なくとも1つ(または両方)は、色空間のクロミナンス値および関連する分布、例えば、XYZ色空間に従ってプロットされた226を表す。
【0053】
様々な実施形態では、輝度チャネル「Y」は、色空間228’および分布226’をもたらすようにフィルタリングされ、これは、輝度を考慮せずに、エンティティ、オブジェクト、または環境215に関連付けられた実際の彩度のみを決定するのを助け得る(これは、少なくとも人間の目には知覚できない色を使用できるため、役に立つ)。様々な実施形態では、4本(またはそれ以上)の線は、点(a1,b1)、(a2,b2)、(a3,b3)、および(a4,b4)によって定義され得、分布226’に関して最大距離が離れるように選択される。様々な実施形態では、点a1、a2、a3、およびa4は、エンティティ、オブジェクト、または環境215に関連付けられた最も一般的な色に対応するように選択され、b1、b2、b3、およびb4は、これらの色とは反対に、拡張して、エンティティ、オブジェクト、または環境b1、b2、b3、b4に関連して、最も一般的でない、または存在しない色を表し得る。これらの線は、XYZまたは他の適切な色空間245における新しい色空間変換のためのベクトルを定義し得、そして新しいXYZ三刺激値の基礎を形成し得る。マトリックスまたはマトリックスバーコードなどの画像は、新しい色空間250に関連付けられた色と、色チャネルベクトル(i,-i)、(j,-j)、(k,-k)、追加の色チャネル、およびそれに関連付けられた他のすべての色チャネル(3次元空間の制限のために表示から省略)によって定義される色の分布245を使用して作成され得る。様々な実施形態では、色は、潜在的なスキャンが起こり得る場所(またはスキャンされているもの)、例えば、エンティティまたはオブジェクト上のマトリックスバーコードおよび/またはそれらに関連して最大の差を有する色のある環境に関連して、あまり一般的でないまたは存在しない色に対応し得るため、エッジ検出が強化される。
【0054】
あるいは、明示的には示されていないが、例えば、a1からb1、a2からb2などのように、最も一般的な色から最も一般的でない色までの最大距離を決定し得、次に、b1、b2、b3、およびb4から、a1、a2、a3、およびa4に関連付けられたベクトルまたは方向に接する、平行または反対の方向に線を引き得る。色空間250に関連付けられた色チャネルベクトル(i,-i)、(j,-j)、(k,-k)、追加の色チャネルおよび他のすべての色チャネル(3次元空間の制限のために表示から省略)は、エンティティ、オブジェクト、または環境215に関連して、完全に色が存在しないか、および/または穏やかに一般的であり得、これにより、エッジ検出をさらに強化し得る。
【0055】
様々な実施形態では、228’と250との間の色空間変換を実行する場合、XYZ色空間に関連付けられた代数または他の適切な変換を実行することに加えて、色チャネルベクトル、例えば、(i,-i)、(j,-j)、(k,-k)は、ベクトルに対して任意の適切な数学的および/または方向演算を実行することによって、および/または変換を行うときに色空間226’および分布228’上の適切な点を選択することによって、互いに直交し得る。様々な実施形態では、1つまたは複数の点の間の第2の最大差は、色チャネルベクトルが直交し、相互に最大距離を有するように、新たに定義された色チャネルベクトル、例えば、(i,-i)、(j,-j)、(k,-k)の軸に沿って分布245を中心に置く方向演算に加えて、空間250においてとられ得る。様々な実施形態では、直交性演算、最大決定、および/または方向付け演算の少なくとも1つを実行することは、スキャンされるエンティティ、オブジェクト、または環境215に関連して、マトリックスバーコードなどのスキャンのために生成された画像のエッジ検出をさらに強化し得る。
【0056】
様々な実施形態では、各ベクトル、例えば、(-i,i)を含む上記の様々な色チャネルは、色チャネルにおいて最小である第1の色を定義し、第2の色が最大になる。この境界は、色が第1の色から第2の色に、またはその逆に変化した少なくとも1つのピクセルであり得る。第1の色がゼロ(0)に設定され、第2の色が255(255)に設定されている場合、数学的には、この境界は、最小値と最大値との間でジャンプしたピクセルに配置され得る。例えば、少なくとも2つの隣接するピクセルが0から255の間ですぐに遷移する鋭い分割(すなわち、薄い境界)が存在し得る。様々な実施形態では、境界は、上記のように、1つまたは複数の色チャネルの最大色値が、スキャンに関連付けられたターゲットオブジェクト、エンティティ、および/または環境の一意の色値、最も一般的な色値、および/または最も高い色値に対応し、色チャネルの最小色値が、スキャン可能な画像、例えば、マトリックス、マトリックスバーコード、および/または基準マーカの最も一意の色、最も一般的な色値、および/または最も高い色値に対応するように1つまたは複数の色チャネル範囲が選択される場合、これらの色の間の遷移であり得る。さらに、スキャン可能な画像の最も一般的な値および/または最も高い色値は、スキャンに関連付けられたターゲットオブジェクト、エンティティ、および/または環境で最も一般的でない(最も低い色値)および/または存在しない、またはその逆(例えば、最大値または最小値に関して)でもある。
【0057】
色チャネルの長さは、様々なコンポーネント、例えば、カメラまたはビデオデバイス195、スキャンデバイス197、および/または認識コンポーネント422-4(以下で図4に関して説明する)のスキャンおよび画像取得能力の能力に基づいて、適宜調整され得る。ここで、長さは、色チャネルの最小点と最大点との間の異なる色の数を増やす。
【0058】
様々な実施形態では、RGB色空間からXYZ色空間への変換、および/または最初に変換された(微分)XYZ空間から他のXYZ色空間への変換は、変換された色空間と色空間の分布を定義する三刺激値方程式(式1)によって制御され得る。ここで、x+y=zの値は、1に正規化され得る。
x=X/(X+Y+Z)、
y=Y/(X+Y+Z)、
z=Z/(X+Y+Z)。
式1
【0059】
様々な実施形態では、「X」、「Y」、および「Z」の値は、RGB色空間からの(または第2の変換の場合、変換する色空間からの)入力色に依存する。上記のように、三刺激値は、3つの定義であるが、変換は、人間の目に知覚できない色を定義する色チャネルを含む、3つ以上の色チャネルを含み得る。様々な実施形態では、式1によって支配される変換は、マトリックス、例えば、マトリックスバーコードまたは基準マーカなどの変換によって定義された画像をスキャンするためのスキャンデバイスのための鍵を形成し得る。様々な実施形態では、これは、スキャンされる画像の色チャネルおよび色の数を増加させるための手段を提供することに加えて、これは、そこに符号化され得る情報のビットを増加させることを意味することを意味し、様々な実施形態の他の利点は、例えば、色空間が支配する1つまたは複数の式を知らずに、そして入力値(エンティティ、オブジェクト、または環境215に関連付けられた第1の色空間に基づく)を知らずに、情報を安全に符号化する方法を提供することであり、成功したスキャンは、起こり得ない。したがって、様々な実施形態では、システム100の論理160は、式1に関連付けられた1つまたは複数の色空間変換に従って符号化された画像をスキャンするために、プロセッサ140(または100の動作を実行するようにプログラムされたアプリケーション)に、式1によって支配される鍵をスキャンデバイス197に提供させ得る。
【0060】
様々な実施形態では、システム100の論理160は、プロセッサ140に、マトリックス、例えば、マトリックスバーコードまたは基準マーカなどの画像に紫外線層および/または赤外線層の一方または両方を追加するためのスキームを提供させ得る。画像は、任意の適切な色空間によって管理される複数の非黒または非白の色を含む。様々な実施形態では、スキームは、紫外線層および赤外線層の両方を含み得、紫外線層は、その特性を利用するために画像の第1の層を形成し得る。様々な実施形態では、スキャン可能な画像の非黒および非白の色は、本明細書に概説されるような1つまたは複数の色空間変換技術によって決定され得る。様々な実施形態では、非黒および非白の色は、黒または白ではない色を意味する。様々な実施形態では、非黒および非白の色は、黒、白ではない、またはグレースケール分布に基づかない色を意味する。
【0061】
図3は、分散システム300のブロック図を示している。分散システム300は、システム100の構造および/または動作の一部を複数のコンピューティングエンティティに分散させ得る。分散システム300の例は、クライアントサーバアーキテクチャ、3層アーキテクチャ、N層アーキテクチャ、密結合またはクラスタ化アーキテクチャ、ピアツーピアアーキテクチャ、マスタースレーブアーキテクチャ、共有データベースアーキテクチャ、およびその他のタイプの分散システムを含むがこれらに限定されない。実施形態は、この文脈に限定されない。
【0062】
分散システム300は、クライアントデバイス310およびサーバデバイス320を備え得る。一般に、クライアントデバイス310および/またはサーバデバイス320は、図1を参照して説明したように、装置120と同じまたは類似し得る。例えば、クライアントデバイス310およびサーバデバイス320はそれぞれ、図1を参照して説明したように、処理回路140と同じまたは類似の処理コンポーネント330を備え得る。他の例では、デバイス310、320は、通信コンポーネント340を介して通信信号314を使用して、通信媒体312を介して通信し得る。
【0063】
サーバデバイス320は、通信コンポーネント340を介して、通信信号314を使用して、通信媒体312を介して他のデバイスと通信し得る。他のデバイスは、所与の実施に望まれるように、デバイス320の内部または外部であり得る。
【0064】
クライアントデバイス310は、説明された実施形態による様々な方法論を実行するように動作する1つまたは複数のクライアントプログラムを備えるか、または使用し得る。一実施形態では、例えば、クライアントデバイス310は、図1の論理160を含むシステム100を実施し得、様々な実施形態では、クライアントデバイス310は、上および本明細書で概説されているように、1つまたは複数の色空間変換に基づいて画像を形成するための1つまたは複数の動作を実施し得る。
【0065】
サーバデバイス320は、説明された実施形態による様々な方法論を実行するように動作する1つまたは複数のサーバプログラムを備えるか、または使用し得る。一実施形態では、例えば、サーバデバイス320は、図2Aのクラスタリングプロセス200Aを実施し、スキーム200Bの1つまたは複数の色空間変換動作を実行することによって、画像グループモデルデータ350を生成し、および/または画像グループモデルデータ350を生成し得る。画像グループモデルデータ350は、マトリックス、例えば、マトリックスバーコードまたは基準マーカなどのエンティティ、オブジェクト、または環境215でスキャンされる画像の印刷スキームまたは色分布を含み得る。
【0066】
デバイス310、320は、システム100の情報を受信、処理、および送信できる任意の電子デバイスを備え得る。電子デバイスの例には、ウルトラモバイルデバイス、モバイルデバイス、パーソナルデジタルアシスタント(PDA)、モバイルコンピューティングデバイス、スマートフォン、電話、デジタル電話、携帯電話、電子ブックリーダ、ハンドセット、一方向ページャ、双方向ページャ、メッセージングデバイス、コンピュータ、パーソナルコンピュータ(PC)、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバ、サーバアレイまたはサーバファーム、ウェブサーバ、ネットワークサーバ、インターネットサーバ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワークアプライアンス、ウェブアプライアンス、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、消費者向け電子機器、プログラム可能な消費者向け電子機器、ゲームデバイス、テレビ、デジタルテレビ、セットトップボックス、ワイヤレスアクセスポイント、ベースステーション、加入者ステーション、モバイル加入者センタ、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組み合わせが含まれるが、これらに限定されない。実施形態は、この文脈に限定されない。
【0067】
デバイス310、320は、処理コンポーネント330を使用して、システム100の命令、処理動作、または論理を実行し得る。処理コンポーネント330は、様々なハードウェア要素、ソフトウェア要素、または両方の組み合わせを備え得る。ハードウェア要素の例には、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、処理回路、回路要素(例えば、トランジスタ、抵抗、コンデンサ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、アプリケーション固有の標準製品(ASSP)、システムオンチップシステム(SOC)、複雑なプログラマブルロジックデバイス(CPLD)、メモリユニット、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどが含まれ得る。ソフトウェア要素の例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、記号、またはそれらの任意の組み合わせが含まれ得る。一実施形態がハードウェア要素および/またはソフトウェア要素を使用して実施されるかどうかの決定は、特定の実施に必要な、所望の計算速度、電力レベル、耐熱性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度およびその他の設計または性能の制約などの任意の数の要因に従って変化し得る。
【0068】
デバイス310、320は、通信コンポーネント340を使用して、システム100の通信動作または論理を実行し得る。通信コンポーネント340は、パケット交換ネットワーク(例えば、インターネットなどのパブリックネットワーク、エンタープライズイントラネットなどのプライベートネットワークなど)、回線交換ネットワーク(例えば、公衆交換電話網)、またはパケット交換ネットワークと回線交換ネットワークの組み合わせ(適切なゲートウェイとトランスレータを使用)での使用に適した技術など、任意の周知の通信技術およびプロトコルを実施し得る。通信コンポーネント340は、1つまたは複数の通信インターフェース、ネットワークインターフェース、ネットワークインターフェースカード(NIC)、無線、無線送信機/受信機(トランシーバ)、有線および/または無線通信媒体、物理的コネクタなどの様々なタイプの標準通信要素を含み得る。限定ではなく例として、通信媒体312は、有線通信媒体および無線通信媒体を含む。有線通信媒体の例には、ワイヤ、ケーブル、金属リード、プリント回路基板(PCB)、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ、伝搬信号などが含まれ得る。無線通信媒体の例には、音響、無線周波数(RF)スペクトル、赤外線および他の無線媒体が含まれ得る。
【0069】
図4は、システム100の動作環境400の実施形態を示している。図4に示されるように、動作環境400は、入力410を処理し、出力430を生成するための、エンタープライズソフトウェアアプリケーションなどのアプリケーション420を含む。
【0070】
アプリケーション420は、1つまたは複数のコンポーネント422-aを備え、ここで、aは、任意の整数を表す。一実施形態では、アプリケーション420は、インターフェースコンポーネント422-1、クラスタリングコンポーネント422-2、変換メカニズムライブラリ422-3、および認識コンポーネント422-4を備え得る。インターフェースコンポーネント422-1は、一般に、例えば、グラフィカルユーザインターフェース(GUI)として提示するためのグラフィカルデータを生成することによって、アプリケーション420のユーザインターフェースを管理するように構成され得る。インターフェースコンポーネント422-1は、ダイアログボックス、リッチテキストを有するHTMLフォームなどの様々な要素を描写するためのGUIを生成し得る。
【0071】
クラスタリングコンポーネント422-2は、一般に、画像を画像グループまたはクラスタに編成するように配置され得る。クラスタリングコンポーネント422-2のいくつかの実施形態は、図2Aのクラスタリングプロセス200Aおよび/または図2Bのスキーム200Bの1つまたは複数の色空間変換動作を実行し、図3の画像グループモデルデータ350を生成する。様々な実施形態では、クラスタリングコンポーネント422-2は、各画像グループについて、本明細書に概説されるか、そうでなければ適切な、そのグループのエッジ検出における成功の現在の色空間変換よりも高い可能性を有する特定の色空間変換を識別する。様々な実施形態では、クラスタリングコンポーネント422-2は、様々なエッジ検出技術に対して上記のクラスタリングプロセスを実行し得、画像グループの各セットが特定の技術に対応する画像グループのセットをもたらす。エッジ検出技術は、画像内の境界の識別方法が異なり、色の違いを検出する技術もあれば、他の属性を測定する他の技術もある。色の違いを測定する方法に関して、いくつかの技術は異なる。1つの技術で特定のステップを変更し、複数の技術を作成できる。
【0072】
色空間変換ライブラリ422-3は、複数の色空間変換メカニズムを含み、一般に、画像に適用するための色空間変換メカニズムを提供するように配置され得、画像の元の色空間モデルとは異なる色空間モデルに従ってその画像を変換された画像に変換する。本明細書で説明するように、色空間モデルは、RGBまたはLAB、またはRGBからXYZ、またはRGBからXYZから他のXYZなどの画像の色データをモデル化するための技術を指す。一般に、そして本明細書の1つまたは複数の実施形態で概説されるように、色空間変換メカニズムは、数学演算を実行して、画像の元の/現在の色空間モデル内のデータポイントを、異なる色空間モデルに従って対応するデータポイントにマッピングする。これには、1つのドメインにあるデータポイントの値を、対応するデータポイントの対応する値に変換することが含まれ得る。例として、色空間変換は、RGB値のタプルを有するRGBピクセルをLAB値のタプルを有するLABピクセルに変換し、RGB値のタプルを有するRGBピクセルをXYZ値のタプルを有するXYZピクセルに変換し、および/またはRGB値のタプルを有するRGBピクセルをXYZ値のタプルを有するXYZピクセルに変換し、そして再び他のXYZ値のタプルを有する他のXYZピクセルに変換し得る。最終変換に関連付けられたピクセルは、エンティティ、オブジェクト、または環境に関連付けられたスキャンに使用されるマトリックスまたはマトリックスバーコードなど、スキャン可能な画像の色分布を定義し得る。
【0073】
適切なスキャナ、プリンタおよび/またはカメラまたはそのためのアプリケーションなどの認識コンポーネント422-4は、一般に、変換された画像に対する認識動作の一部としてエッジ検出技術を実行するように構成され得る。よく知られている認識動作の一例は、光学式文字認識(OCR)である。アプリケーション420は、認識コンポーネント422-4を呼び出して、アイテムの真正性を検証するため、および/またはバーコードに関連付けられた符号化情報を取得するために、マトリックス、例えば、マトリックスバーコードまたは基準マーカをスキャンすることを含む様々なタスクを実行する。認識コンポーネント422-4は、バーコードによって反射された関連する色をスキャンするように、例えば、色空間変換を定義する指定された入力を有する数学的1つまたは複数の式などの、鍵、を含むように構成され得る。色は、本明細書で概説されている1つまたは複数の色空間変換技術に基づいている。鍵は、スキャン可能な画像の色に関連付けられた色チャネルおよび色空間を定義する最終変換を定義する。鍵によって定義される色チャネルは、それぞれ符号化されたデータの少なくとも1ビットを表す。
【0074】
様々な実施形態では、認識コンポーネント422-4は、1つまたは複数の非黒および非白の色と紫外線層および赤外線層の一方または両方を含む画像、例えば、バーコードおよび/または基準マーカを印刷するためのスキーマを印刷または提供し得る。非黒と非白の色のそれぞれに関連付けられた色チャネルは、それぞれ少なくとも1ビットのデータを構成し得、赤外線層と紫外線層のそれぞれは、それぞれ1ビットのデータを構成し得る。様々な実施形態では、非黒および非白の色のそれぞれは、色空間変換メカニズムまたは技術によって生成され、変換メカニズムに関連付けられた鍵によってスキャン可能である。様々な実施形態では、認識コンポーネント422-4は、人間の目に知覚できない色を含む任意の数の色をスキャンするように調整できるので、色チャネルの数は、4つの色チャネル以上になるように調整され得る。
【0075】
様々な実施形態では、非黒および非白の色チャネルは、マトリックス、マトリックスバーコードおよび/または基準マーカなどのスキャン可能な画像上の赤外線層または紫外線層の一方または両方と組み合わせて使用し得、色チャネル、紫外線層、および/または赤外線層のそれぞれは、データのビットおよびデータを画像に符号化する異なる方法を表し、そのため、6ビット以上のデータは、画像に符号化され得る。様々な実施形態では、紫外線層は、紫外線層の特性を利用するために、赤外線層および非黒および非白の色チャネルに関連付けられた様々な層に関連して最初に印刷または表示され得る。
【0076】
様々な実施形態では、非黒および非白の色チャネル層、紫外線層、および赤外線層に関連付けられた層のすべてまたは1つを含む画像は、検証コンポーネントのために認識コンポーネント422-4によってスキャンされ得る。認識コンポーネント422-4は、色空間変換に関連する式、例えば、式1に基づく鍵を含むか、または受信し得る。色空間変換は、紫外線および/または赤外線層の有無が符号化された情報を示しているかどうかを示す1つまたは複数の検証ビットに加えて、情報を含む関連する色を有する関連する色チャネルを明らかにする。したがって、鍵および/または検証ビットは、情報を復号する方法を提供する。
【0077】
様々な実施形態では、アプリケーション420は、鍵および/または検証ビットを含み、画像のスキャン、例えば、バーコードが局所的に検証されると、出力430を提供するように構成される。様々な実施形態では、認識コンポーネント422-4は、認識コンポーネント422-4によって使用される鍵および/または検証ビットが正確であることを、例えば、1つまたは複数の比較ステップによって確認するために、システム100の機能性の1つまたは複数を含むホストシステムに連絡する追加の検証ステップを必要とし得る。鍵が正確であり、スキャンが認識コンポーネント422-4によって確認される場合、アプリケーション420の出力430は、通貨、個人、および/または財務情報を含む情報の、他のエンティティへの1つまたは複数のアクセス、転送、または受信である。
【0078】
様々な実施形態では、画像、例えば、マトリックス、マトリックスバーコード、および/または基準マーカをスキャンすることは、ユーザを金銭的不正流用から保護するために行われ得る。認識コンポーネント422-4は、テキストまたは画像認識動作を実行して、画像、例えば、バーコードが有効であるかどうかを決定し、いくつかの実施形態によれば、スキャンの有効性を、パスワードまたは社会保障番号(SSN)などの任意の機密情報を含む情報の検証またはアクセスに関連付け得る。アプリケーション420は、ソーシャルネットワークコンテンツを公開する前に、画像、例えば、バーコードをスキャンするために認識コンポーネント422-4を呼び出して、画像を適切にスキャンできない可能性、例えば、画像をスキャンするコンポーネントが、色空間情報に関連する鍵および/または紫外線および/または赤外線層が情報を含んでいることを示すビットに従って適切に復号する鍵を有していない場合、そのコンテンツ内の機密情報の識別が前記公開を妨げるようにし得る。他の様々な実施形態では、画像、例えば、バーコードのスキャンは、金融トランザクションの開始、例えば、任意の適切な電子資金の転送を提供し得る。
【0079】
本明細書に含まれるのは、開示されたアーキテクチャの新規の態様を実行するための例示的な方法論を表す一連のフローチャートである。説明を簡単にするために、例えば、フローチャートまたはフロー図の形で本明細書に示される1つまたは複数の方法論は、一連の行為として示され、説明されるが、いくつかの行為は、それに従って、本明細書に示され、説明されているものとは異なる順序で、および/または他の行為と同時に行われることがあるため、方法論は、行為の順序によって制限されないことを理解されたい。例えば、当業者は、方法論が、状態図などの一連の相互に関連する状態またはイベントとして代替的に表すことができることを理解し、評価し得る。さらに、方法論に示されているすべての行為が、新しい実施に必要なわけではない。
【0080】
図5Aは、論理フロー500Aの一実施形態を示している。論理フロー500Aは、本明細書に記載の1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。
【0081】
図5Aに示される図示の実施形態では、論理フロー500Aは、エンティティ、オブジェクト、または環境などのターゲットの代表的なデータセットを受信する(502)。例えば、論理フロー500は、i)ターゲットの1つまたは複数の画像、およびii)ターゲットの1つまたは複数のビデオのうちの少なくとも1つを含む代表的なデータセットを受信し得、ターゲットは、i)環境、ii)ライブエンティティ、およびiii)任意の適切なカメラまたはスキャンデバイスを使用するオブジェクトのうちの少なくとも1つを含む。代表的なデータセットは、画像グループモデルデータ350に含まれるか、任意の適切なデバイス、例えば、カメラまたはビデオデバイス195および/またはスキャンデバイス197を使用してターゲットをスキャンすることによって直接取得される。様々な実施形態では、ターゲットは、その中にスキャン可能な画像を含む環境であり得る。
【0082】
論理フロー500Aは、代表的なデータセットを処理して、ヒストグラムなどの配色の適切な表現にし得る(504)。例えば、論理フロー500は、スキャンされた環境のキャプチャされたデータを含む画像グループモデルデータ350を検査し得る。論理フロー500が環境のスキャンされたデータを識別すると、論理フローは、そのデータを特定の色空間、例えば、RGB色空間のヒストグラムに処理し得る。
【0083】
論理フロー500Aは、ヒストグラムを利用して、環境の最も一般的な色を識別し得る(506)。様々な実施形態では、論理フローは、マトリックス、マトリックスバーコード、基準マーカなどのようなスキャン可能な画像のエッジ検出を実質的に最大化するための色空間変換メカニズムを適用するために、最も一般的な色を識別する。
【0084】
論理フロー500Aは、ヒストグラムに基づいて関連する色の数を決定し得る(508)。例えば、ヒストグラムは、ターゲットの最も一般的な色に関して最も一般的でない色および/または存在しない色が決定される第1の色空間にマッピングするために使用され、最も一般的でない色および/または存在しない色は、第2の色空間における1つまたは複数の色チャネルの基礎を形成する。
【0085】
様々な実施形態では、関連する複数の色は、ターゲットに関連して存在しない唯一の色および/またはターゲットに関連して最も一般的でない色を含む、ターゲットの最も一般的な色と最も一般的でない色および/または存在しない色との間の色の範囲を表し得る。様々な実施形態では、関連する色の数に基づいて決定するために、論理フローは、色空間変換メカニズムを選択し、ヒストグラムに関連付けられた画像データに適用し得る。本明細書で説明するように、画像データは、色空間モデルに従って構成された色データを含み、例えば、ヒストグラムを使用して、ターゲットデータの色空間表現を作成し得る。いくつかの実施形態では、論理フロー500は、ヒストグラムに関連付けられた色空間とは異なる他の色空間モデルに従って、画像データを、色データを備える変換された画像データに変換することによって、図1の色空間変換メカニズム180を適用する。例えば、論理フローは、ターゲットに関連付けられた画像データのヒストグラムを作成し、次にヒストグラムを使用して、ターゲットの第1の色空間表現、例えば、RGB色空間表現を作成し得る。その後、以下で説明するように、論理フローは、1つまたは複数の追加の色空間変換技術を、XYZ色空間または三刺激システムを利用する他の任意の適切な色空間などの他の色空間に実行し得る。
【0086】
様々な実施形態では、論理フロー500Aは、元の画像データの色データを操作して色空間変換を実行して、変換された画像データの効率的なエッジ検出を可能にできる。以下に説明するように、論理フロー500Aは、2つの色が近接している場合など、境界を迅速に識別するために色空間モデルを変更できる。論理フロー500Aは、画像内の各データポイントを検査し、各場所について、論理フロー500Aは、色を識別する。様々な実施形態では、色空間変換は、他の(または第2の)色空間に従って最も一般的な色のそれぞれについての色座標の少なくとも1つのセットに基づいて、(第2の)他の色空間における関連する複数の色に対応する色座標の少なくとも1つのセットを決定し得る。最も一般的な複数の色の座標の少なくとも1つのセットは、他の色空間に関して、関連する色の座標の少なくとも1つのセットに対して垂直/直交および最大距離のいずれかまたは両方である。様々な実施形態では、第2の色空間は、第1の色空間の派生色空間と見なされ得る。
【0087】
様々な実施形態では、これにより、スキャン可能な画像に使用される色がエッジ検出を最大化し得ることを保証する。これは、環境内のターゲットの一般的な色チャネルおよび色と、他の色チャネルおよび色(関連する色チャネルおよび色)との間の最大距離が、関連する色チャネルおよび色がターゲットに存在しないか、および/またはターゲットで最も一般的でないことを保証するためである。さらに、関連する色および色チャネルが、ターゲットの色チャネルおよび色に対して(および互いに対して)垂直または直交するように選択される場合、これは、エッジ検出をさらに強化し得る。
【0088】
上で概説した1つまたは複数の技術を利用する一例では、論理フロー500Aは、ターゲットにおける普及によって2つ以上の色を識別し、それらを1つのチャネルに構成することを進める。例えば、普及がそれぞれ第1と第2に高い第1の色と第2の色を考える。ここで、境界がこれらの色の間の遷移であり得るように、第1の色は、色チャネルで最小になり、第2の色は、最大になる。この境界は、色が第1の色から第2の色に、またはその逆に変化した少なくとも1つのピクセルであり得る。第1の色がゼロ(0)に設定され、第2の色が255(255)に設定されている場合、数学的には、この境界は、最小値と最大値との間でジャンプしたピクセルに配置され得る。例えば、少なくとも2つの隣接するピクセルが0から255の間ですぐに遷移する鋭い分割(すなわち、薄い境界)が存在し得る。
【0089】
上で示唆したように、これらの色チャネルは、第1の色空間、例えば、RGBに対応し得、第1の色空間は、三刺激値の第1のセットに基づき得、第1の色空間は、ターゲットの色、例えば、ターゲットの最も一般的な色を表すための色座標を有し得る。次に、論理フロー500Aは、未使用またはほとんど使用されていない(すなわち、最も一般的でないかまたは存在しない)1つまたは複数の色を識別し、上記で識別された一般的な色とは反対になるように他のチャネルでそれらの色を確立し得る。新しい色チャネル(または色チャネル)は、新しい色空間の基礎を形成する。例えば、XYZ色空間の新しい三刺激値のセットであり、第1の色空間は、第2の色空間に変換される。
【0090】
次に、論理フロー500Aは、1つまたは複数の追加の動作を実行し得る。例えば、新しい色空間モデルにおいて新しい色空間の各色チャネルが、互いに垂直または直交するように構成すること、輝度または明度チャネルなどのクロマシティに関連しない特徴をフィルタリングする中間演算を含む、第3の色空間への追加の変換を行うこと、および/または、色チャネルを互いに垂直または直交させる前に、第2(または第3)の色空間において、方向付け演算を行うこと(色チャネル間の距離を最大化し、その結果、エッジ検出を強化するため)などである。
【0091】
論理フロー500Aは、ブロック508の関連する色を利用して、マトリックス、マトリックスバーコード、基準マーカ、またはスキャンに適した他の任意の画像などの1つまたは複数のスキャン可能な画像を作成し得る(510)。様々な実施形態では、関連する色は、上記の最終的な色空間変換に関連付けられた各色チャネルの色であり得、例えば、XYZ色空間で表され得る複数の色チャネルおよび関連する色であり得、ターゲットには一般的でない、および/またはターゲットには完全に存在しないものであり得る。様々な実施形態では、最も一般的でないおよび/または存在しない色を互いに直交して配置して、エッジ検出をさらに強化し得る。様々な実施形態では、スキャン可能な画像は、ターゲット、例えば、マトリックスバーコードを含む環境に関して、最も一般的でないおよび/または存在しないおよび/または直交する色チャネルのそれぞれの色を反射するように形成されるマトリックスバーコードであり得る。
【0092】
様々な実施形態では、マトリックスバーコードは、色空間変換に基づく情報が埋め込まれている。例えば、マトリックスバーコードに関連付けられた各ピクセルは、最終的な色空間の色チャネルに関連付けられている。例えば、環境の最も一般的でない、または存在しない色を表す色チャネルを有するXYZ色空間である。各色チャネルは、データのビットを表し、色チャネルの数は、3つ以上、4つ以上などであり得る(人間の知覚によって課せられる制限がないため)。そして拡張により、符号化されたビットの数は、3つ以上、4つ以上などであり得る。
【0093】
4つ以上の色が使用される様々な実施形態では、4つ以上の色のそれぞれは、互いに関連して別個の色であり、本明細書および上記で論じた色空間技術に基づいて、4つ以上の色は、変換された(派生)色空間に沿った少なくとも4つの異なる色のそれぞれに対応する複数の座標から導出される。変換された(派生)色空間は、ターゲット、例えば、環境の少なくとも4つの一般的な色を表す複数の座標セットを含む。4つ以上の色のそれぞれは、変換された(派生)色空間の個別の座標セットに対応する。
【0094】
様々な実施形態では、4つ以上の異なる色のそれぞれは、ターゲット、例えば、環境において少なくとも4つの一般的な色を表す複数の座標セットのうちの少なくとも1つに関して最大の反対の座標関係を有することに基づいて選択される。
【0095】
いくつかの適用可能なエッジ検出技術があり、エッジ検出技術190は、変換された画像データの1つの色空間モデルに適切であり得、一方、他のエッジ検出技術は、元の色空間モデルに適切であり得る。実施形態は、この例に限定されない。
【0096】
図5Bは、論理フロー500Bの一実施形態を示している。論理フロー500Bは、本明細書に記載の1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。
【0097】
図5Bに示される図示の実施形態では、論理フローは、1つまたは複数の非黒および非白の色を含むマトリックスを検出し得、非黒および非白の色のそれぞれは、i)環境に関連して存在しない色の少なくとも1つ、および/またはii)環境に関連付けられた少なくとも1つの最も一般的でない色である515。様々な実施形態では、マトリックスは、本明細書に概説されるような1つまたは複数の色空間変換技術で構築されたバーコードであり、例えば、マトリックスバーコードは、RGB色空間およびRGB色空間の派生色空間(XYZ色空間などのRGB色空間から変換された(派生)色空間)から導出される。様々な実施形態では、派生色空間は、フィルタリングされた輝度チャネルを有するXYZ色空間である。
【0098】
様々な実施形態では、バーコードは、様々な実施形態において、マトリックスバーコードに符号化された情報を含む、マトリックスバーコードのスキャン可能な部分に関連付けられた色に関連付けられた色チャネルを明らかにする、適切な鍵、例えば、XYZ色空間への変換に関連付けられた三刺激方程式を有する任意の適切なコンポーネント、例えば、スキャンデバイス197を用いてスキャンされ得る。様々な実施形態では、バーコードは、それぞれが少なくとも4つの別個の色チャネルに関連付けられた4つ以上の別個の色を含み得、各色は、互いに異なり、環境の最も一般的な色とは異なる。様々な実施形態では、バーコードの色および色チャネルは、最も一般的な色と最も一般的でない色および/または存在しない色との間の最大距離を含む、派生色空間における最も一般的な色と最も一般的でない色および/または存在しない色との間の座標関係に従って計算され得る。本明細書で論じられるように、追加のまたは異なる色空間変換技術を使用し得、これは、本開示と一致する単なる一例である。
【0099】
様々な実施形態では、バーコードは、任意の適切なコンポーネント、例えば、印刷デバイス199を使用して、物理媒体、例えば、物理的な表面または材料に、最も一般的でない色および/または存在しない色で印刷および/または埋め込まれ得、バーコードは、物理的な表面の表面に沿ってスキャンされ得る。他の実施形態では、コンピュータ、ラップトップ、またはタブレット(以下に提供される図7に示される)を含む任意の適切なコンピュータデバイスは、バーコードがコンピュータディスプレイの表面に沿ってスキャンされ得る最も一般的でない色または存在しない色を反射するスキャン可能なバーコードを生成するように構成され得る。
【0100】
論理フロー500Bは、バーコードのスキャンが成功したか否か、およびそれに関連する任意の符号化された情報が得られたか否かに関する指示を含む、本明細書で論じられる任意の適切なコンピュータデバイスにスキャンの結果を送信し得る520。
【0101】
図5Cは、論理フロー500Cの一実施形態を示している。論理フローは、本明細書に記載の1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。
【0102】
図5Cに示される図示の実施形態では、論理フロー500Cは、フロー500Cの動作のうちの1つまたは複数を実行し、一実施形態では、それは、502、504、506、および508の動作を実行する。
【0103】
論理フロー500Cは、関連する色を利用して、マトリックス、マトリックスバーコード、基準マーカ、またはスキャンのための任意の他の適切な画像などのスキャン可能な画像を生成し得530、スキャン可能な画像は、非黒および非白の色(ターゲット、例えば、環境などに関連する最も一般的でない色および/または存在しない色など)を含むことに加えて、紫外線層および赤外線層の一方または両方を含み得る。様々な実施形態では、マトリックス、マトリックスバーコード、基準マーカ、または任意の他の適切な画像は、任意の適切なコンポーネント、例えば、印刷デバイス199を使用して、最も一般的でない色および/または存在しない色と、赤外線および/または紫外線層とを用いて、物理的な表面に印刷および/または埋め込まれ得、バーコードは、物理的な表面の表面に沿ってスキャンされ得る。他の実施形態では、コンピュータ、ラップトップ、またはタブレット(以下に提供される図7に示される)を含む任意の適切なコンピュータデバイスは、最も一般的でない色または存在しない色、紫外線層および/または赤外線層を反射するスキャン可能なバーコードを生成するように構成され得る。マトリックス、マトリックスバーコード、基準マーカ、またはその他の適切な画像は、コンピュータディスプレイの表面に沿ってスキャンされ得る。
【0104】
様々な実施形態では、紫外線層は、最初に物理的表面に沿って印刷され得、および/または紫外線に関連付けられた利益を最大化するために、コンピュータ画面上に生成された最上層を形成し得る。様々な実施形態では、スキャン可能な画像の色は、環境と関係がある、および/または色空間変換技術に基づかない色である必要はなく、検出用の赤外線層および紫外線層の両方を含むスキャン可能な画像を使用して、標準的な白黒色を含む任意の色であり得る。
【0105】
図5Dは、論理フロー500Dの一実施形態を示している。論理フロー500Dは、本明細書に記載の1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。
【0106】
図5Dに示される図示の実施形態では、論理フローは、1つまたは複数の非黒および非白の色を含むスキャン可能な画像、例えば、マトリックスを検出し得、非黒および非白の色のそれぞれは、紫外線層および/または赤外線層の一方または両方に加えて、i)環境に関連して存在しない色、および/またはii)環境に関連付けられた最も一般的でない色のうちの少なくとも1つである540。様々な実施形態では、マトリックスは、例えば、図5Bに関して説明したように、紫外線層および/または赤外線層を追加した、本明細書で概説した1つまたは複数の色空間変換技術で構築されたバーコードである。
【0107】
様々な実施形態では、スキャン可能な画像、例えば、バーコードは、適切な鍵、例えば、XYZ色空間への変換に関連付けられた三刺激方程式を有する任意の適切なコンポーネント、例えば、スキャンデバイス197でスキャンされ得、様々な実施形態では、マトリックスバーコードに符号化された情報を含む、マトリックスバーコードのスキャン可能な部分に関連付けられた関連する色を有する色チャネルが明らかになる。鍵に加えて、任意の適切なコンポーネント、例えば、スキャンデバイス197はまた、紫外線層および/または赤外線層が情報に関連付けられているかどうかを示す検証ビットを有し得、そうであれば、検証ビットに基づいてスキャンを実行し、および/または情報を復号する。様々な実施形態では、バーコードは、それぞれが少なくとも4つの別個の色チャネルに関連付けられた4つ以上の別個の色を含み得、各色は、紫外線層および/または赤外線層の一方または両方を有することに加えて、互いに異なる色であり、環境の最も一般的な色とも異なり、そのため、スキャンは、6ビット以上の情報のスキャンであり得る。
【0108】
様々な実施形態では、バーコードは、任意の適切なコンポーネント、例えば、印刷デバイス199を使用して、最も一般的でない色および/または存在しない色で、物理的表面に印刷および/または埋め込まれ得、バーコードは、物理的表面の表面に沿ってスキャンされ得る。他の実施形態では、コンピュータ、ラップトップ、またはタブレット(以下に提供される図7に示される)を含む任意の適切なコンピューティングデバイスは、最も一般的でない色または存在しない色を反射するスキャン可能なバーコードを生成するように構成され得、バーコードは、コンピュータディスプレイの表面に沿ってスキャンされ得る。様々な実施形態では、スキャン可能な画像、例えば、バーコードの印刷は、最上層が紫外線層となり得、そして任意の関連するスキャンでは、最初に紫外線層を考慮し得る。同様に、様々な実施形態では、スキャン可能な画像がコンピュータデバイスによって生成され、コンピュータディスプレイによって表示される場合、コンピュータデバイスによって表示される第1の層は、紫外線層であり得る。
【0109】
論理フロー500Dは、バーコードのスキャンが成功したか否かの指示、およびそれに加えて得られた関連する任意の符号化された情報を含む、本明細書で論じられるような任意の適切なコンピュータデバイスに、スキャンの結果を送信し得る550。
【0110】
図6Aは、本開示の少なくとも1つの実施形態による、スキャン可能な画像を形成する1つの技術600Aを示している。スキャン可能な画像層605a、610a、および615aはそれぞれ、1つまたは複数の色に関連付けられたバーコードなどのスキャン可能な画像の層を表す。本明細書に開示される任意の適切なコンポーネントは、層620a、625a、および630aを生成するために、各スキャン可能な画像層605a、610a、615aに対して1つまたは複数の色空間変換技術を実行し得、層620a、625a、および630aは、単一のスキャン可能な画像、例えば、バーコード635aに統合され得る。様々な実施形態では、スキャン可能な層620a、625a、および630aはそれぞれ、スキャン可能な画像635aに関連付けられ得るターゲットに関して存在しないおよび/または一般的でない1つまたは複数の色を表す色チャネルに関連付けられ得る。様々な実施形態では、620a、625a、および630aの色に関連付けられた1つまたは複数の色チャネルは、それらの色を表す色空間に関して、互いに直交または垂直であり得る。スキャン可能な画像635aは、任意の適切なデバイスを使用してターゲットの物理的表面に印刷され得、および/またはコンピュータディスプレイに表示するために任意の適切なコンピューティングデバイスによって生成され得る。
【0111】
図6Aの実施形態は、既存のスキャン可能な画像層605a、610a、および/または615aに関連付けられた色スキームに関して変換技術を実行することを示すが、スキャン可能な画像635aは、既存の画像から変換することなく、最初から生成され得、例えば、ターゲットをスキャンし、それに関連する色空間をそこから決定し得、最終的なスキャン可能な画像635aは、本明細書に開示されるか、または他の適切な方法で色空間に対して1つまたは複数の色空間変換を実行することによって生成され得る。
【0112】
図6Bは、本開示の少なくとも1つの実施形態による、スキャン可能な画像を形成する1つの技術600Bを示している。スキャン可能な画像層605b、610b、および615bはそれぞれ、1つまたは複数の色に関連付けられたバーコードなどのスキャン可能な画像の層を表す。本明細書に開示される任意の適切なコンポーネントは、層620b、625b、および630bを生成するために、各スキャン可能な画像層605b、610b、615bに対して1つまたは複数の色空間変換技術を実行し得、層620b、625b、および630bは、単一のスキャン可能な画像635b、例えば、バーコード635bに統合され得る。様々な実施形態では、スキャン可能な層620b、625b、および630bはそれぞれ、スキャン可能な画像635bに関連付けられ得るターゲットに関して存在しないおよび/または一般的でない1つまたは複数の色を表す色チャネルに関連付けられ得る。様々な実施形態では、620b、625b、および630bの色に関連付けられた1つまたは複数の色チャネルは、それらの色を表す色空間に関して、互いに直交または垂直であり得る。様々な実施形態では、少なくとも1つの層、例えば、630bは、紫外線または赤外線インクで作製されるか、または紫外線または赤外線を使用して生成され、紫外線または赤外線を吸収、反射、投射、および/または照射し得る情報の追加のチャネル、例えば、情報の紫外線層または赤外線層を含み得る。様々な実施形態では、紫外線層または赤外線層630bは、画像635bの第1の層であり得る。様々な実施形態では、紫外線層または赤外線層630bは、スキャン可能な画像635bに関連付けられるターゲットから一般的でない色および/または存在しない色を含む、様々な色を表す色チャネル層を含み得、様々な実施形態では、紫外線チャネルのみが、紫外線層630bに関連付けられ得る。
【0113】
様々な実施形態では、スキャン可能な画像635bは、任意の適切なデバイスを使用してターゲットの物理的表面に印刷され得、および/またはコンピュータディスプレイに表示するために任意の適切なコンピュータデバイスによって生成され得る。
【0114】
様々な実施形態では、スキャン可能な画像635bは、紫外線および/または赤外線の一方または両方を検出し得る適切なデバイスによってスキャンされるときに、紫外線および/または赤外線の固有の配向機能を利用する基準マーカである。様々な実施形態では、適切なデバイス、例えば、スキャンデバイス197が、紫外線および/または赤外線を反射する基準マーカ635bをスキャンする場合、紫外線および/または赤外線の反射および検出に関連する固有の特性のために、スキャンデバイス197およびデバイスを含む環境内の他のオブジェクトに関連する、基準マーカ635bに関連付けられたオブジェクト、例えば、その上にラベル付けされた基準マーカを有するオブジェクトおよび/または基準マーカ635bを生成するコンピュータディスプレイの空間的関係を確認することが容易である。
【0115】
図6Cは、本開示の少なくとも1つの実施形態による、スキャン可能な画像を形成する1つの技術600Cを示している。スキャン可能な画像層605c、610c、615c、および620cはそれぞれ、1つまたは複数の色に関連付けられたバーコードなどのスキャン可能な画像の層を表す。本明細書に開示される任意の適切なコンポーネントは、層625c、630c、635cおよび640cを生成するために、各スキャン可能な画像層605c、610c、615c、および620cに対して1つまたは複数の色空間変換技術を実行し得、層625c、630c、635cおよび640cは、例えば、バーコード645cなどの単一のスキャン可能な画像に統合され得る。様々な実施形態では、スキャン可能な層625c、630c、635cおよび640cはそれぞれ、スキャン可能な画像に関連付けられ得るターゲットに関して存在しないおよび/または一般的でない1つまたは複数の色を表す色チャネルに関連付けられ得る。様々な実施形態では、625c、630c、635cおよび640cの色に関連する1つまたは複数の色チャネルは、それらの色を表す色空間に関して、互いに直交または垂直であり得る。
【0116】
様々な実施形態では、少なくとも1つの層、例えば、635cは、赤外線を吸収、反射、投射、および/または照射し得る情報の追加のチャネル、例えば、情報の紫外線層を含むように、赤外線インクで作製され得るか、または赤外線を使用して生成され得、様々な実施形態では、赤外線層630cは、画像635cの第1の層であり得る。様々な実施形態では、赤外線層630cは、スキャン可能な画像645cに関連付けられるターゲットに一般的でないおよび/または存在しない色を含む、様々な色を表す色チャネル層を含み得、様々な実施形態では、赤外線チャネルのみが、赤外線層630dに関連付けられ得る。様々な実施形態では、少なくとも1つの層、例えば、640cは、紫外線を吸収、反射、投射、および/または照射し得る情報の追加のチャネル、例えば、情報の紫外線層を含むように、紫外線インクで作製され得るか、または紫外線を使用して生成され得、様々な実施形態では、紫外線層640cは、画像645cの第1の層であり得る。様々な実施形態では、紫外線層640cは、スキャン可能な画像645cに関連付けられるべきターゲットから一般的でない色および/または存在しない色を含む様々な色を表す色チャネル層を含み得、様々な実施形態では、紫外線チャネルのみが、紫外線層640cに関連付けられ得る。
【0117】
様々な実施形態では、スキャン可能な画像645cは、紫外線および/または赤外線の一方または両方を検出し得る適切なデバイスによってスキャンされるときに、紫外線および/または赤外線の固有の配向機能を利用する基準マーカである。様々な実施形態では、適切なデバイス、例えば、スキャンデバイス197が、紫外線および赤外線の両方を反射する基準マーカ645cをスキャンする場合、紫外線および/または赤外線の反射および検出に関連付けられた固有の特性のために、スキャンデバイス197およびデバイスを含む環境内の他のオブジェクトとの関係における、基準マーカ645cに関連付けられたオブジェクト、例えば、基準マーカがその上にラベル付けされたオブジェクトおよび/または基準マーカ645cを生成するコンピュータディスプレイの空間的関係は、確認または検出が容易である。基準マーカ645cが紫外線と赤外線の両方を利用する様々な実施形態では、スキャンデバイス197の機能が危殆化された場合、および/または最初のスキャンが一方または他方を検出できない場合、両方の存在がフェイルセーフとして機能する。
【0118】
様々な実施形態では、スキャン可能な画像645cは、赤外線層635cと紫外線層640cの両方を含み得、層645cの印刷または生成は、紫外線に関連付けられた特性を利用するために紫外線層640cが第1の層となり得る。上に提供された少なくとも1つの実施形態は、層635cおよび640cの一方または両方が色チャネル情報、例えば、ターゲットと関係を有するスキャン可能な色を含み得ることを示すが、様々な実施形態では、層635cおよび640cは、それぞれ赤外線および/または紫外線情報に厳密に関連付けられ得る。さらに、様々な実施形態では、層620c、625c、および630cの色は、ターゲットと関係を有する層である必要はなく、様々な実施形態では、前記層は、黒および白の色および/またはターゲットと関係のないおよび/または色空間変換技術に基づかない他の色から構成され得る。
【0119】
図7は、スキャン可能な画像740を生成およびスキャンするためのコンピュータまたはタブレットシステム700を示している。タブレットシステムは、スキャン可能な画像740、例えば、バーコードを生成するためのタブレット702を含み、タブレット702は、アプリケーション705A~E、アプリケーションN、およびアプリケーション420を含み、アプリケーション420の一実施形態は、図4に関して上記でより詳細に説明される。タブレット702は、ユーザがタブレット702とインターフェースするために使用し得る1つまたは複数のユーザインターフェースデバイス720を含み得る。タブレット702は、紫外線層と赤外線層の一方または両方を含むスキャン可能な画像740を生成し得る。タブレット702は、紫外線に固有の特性を利用するために、最上層が紫外線層であることを確実にするように構成され得る。画像はさらに、白および黒の層を含む1つまたは複数の色の層を含み得る。画像は、タブレットが配置されている環境に関連付けられた色に関連する1つまたは複数の非黒および非白の色の層をさらに含み得る。例えば、タブレットは、アプリケーションを備えたカメラを有するように構成され得る。それは、環境をスキャンし、その環境に関連する色を有するスキャン可能な画像740を生成し得る。様々な実施形態では、環境に関連する色は、タブレット702を含む環境に最も一般的でない色および/または存在しない色を含む、本明細書で論じられるような1つまたは複数の色空間変換技術に基づく色であって、1つまたは複数の色空間変換によって決定され得る。
【0120】
システム700は、スキャン可能な画像740をスキャンし得るカメラまたはスキャンデバイスc750をさらに含み得、様々な実施形態では、カメラまたはスキャンデバイスc750は、アプリケーション420(上記のように)、および/または本明細書に開示されているような色空間鍵および/または赤外線検証ビットおよび/または紫外線検証ビットを含み得、スキャン可能な画像740の有効なスキャンを実行するために、および/またはそれに関連する任意の符号化された情報を取得するために、アプリケーション420を含み得る。
【0121】
図8は、システム100のアプリケーションのためのグラフィカルユーザインターフェース(GUI)800の実施形態を示している。いくつかの実施形態では、ユーザインターフェース800は、図4のアプリケーション420のために構成される。
【0122】
図8に示されるように、GUI800は、ツールバー802およびGUI要素などのいくつかのコンポーネントを含む。ツールバー802は、一例のツールとして、呼び出されたときに、画像806、例えば、1つまたは複数の色空間技術から生成された、および/または本明細書に概説されるような紫外線層および/または赤外線層の両方の一方または両方を含むバーコードをスキャンする認識テキストツール804を含む。スキャンは、有効なスキャンが行われるために鍵および/または検証ビットを使用し得、適切なスキャンは、機密情報808にアクセスおよび/または識別するためのセキュリティ手段として機能し得る。本明細書で説明するように、適切な色空間変換メカニズムは、基礎となる色空間モデルが他の適用可能な色空間モデルよりもエッジ検出の可能性が高く、これを念頭に置いてバーコードを生成し得るため、最も正確なエッジ検出結果を提供する。
【0123】
図9は、前述のような様々な実施形態を実施するのに適した例示的なコンピューティングアーキテクチャ900の実施形態を示している。一実施形態では、コンピューティングアーキテクチャ900は、電子デバイスを含むか、またはその一部として実施され得る。電子デバイスの例には、とりわけ、図3を参照して説明されたものが含まれ得る。実施形態は、この文脈に限定されない。
【0124】
このアプリケーションで使用される用語「システム」および「コンポーネント」は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータ関連エンティティを指すことを意図しており、その例は、例示的なコンピューティングアーキテクチャ900によって提供される。例えば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、ハードディスクドライブ、(光学および/または磁気記憶媒体の)複数のストレージドライブ、オブジェクト、実行可能なもの、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、サーバ上で実行されているアプリケーションとサーバの両方は、コンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に常駐し得、コンポーネントは、1台のコンピュータにローカライズされ、および/または2台以上のコンピュータ間で分散され得る。さらに、コンポーネントは、様々なタイプの通信媒体によって互いに通信可能に結合され、動作を調整し得る。調整には、情報の一方向または双方向の交換が含まれ得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形で情報を通信し得る。情報は、様々な信号線に割り当てられた信号として実施され得る。このような割り当てでは、各メッセージは、信号である。しかしながら、さらなる実施形態は、代替としてデータメッセージを使用し得る。このようなデータメッセージは、様々な接続を介して送信され得る。接続例は、パラレルインターフェース、シリアルインターフェース、およびバスインターフェースを含む。
【0125】
コンピューティングアーキテクチャ900は、1つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)コンポーネント、電源などの様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティングアーキテクチャ900による実施に限定されない。
【0126】
図9に示されるように、コンピューティングアーキテクチャ900は、処理ユニット904、システムメモリ906、およびシステムバス908を含む。処理ユニット904は、AMD(登録商標)Athlon(登録商標)、Duron(登録商標)およびOpteron(登録商標)プロセッサ、ARM(登録商標)アプリケーション、組み込みおよびセキュアプロセッサ、IBM(登録商標)およびMotorola(登録商標)DragonBall(登録商標)およびPowerPC(登録商標)プロセッサ、IBMおよびSony(登録商標)Cellプロセッサ、Intel(登録商標)Celeron(登録商標)、Core(登録商標)、Core(2)Duo(登録商標)、Itanium(登録商標)、Pentium(登録商標)、Xeon(登録商標)、およびXScale(登録商標)プロセッサおよび類似のプロセッサを含むがこれらに限定されない、様々な市販のプロセッサのいずれかであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサ、およびその他のマルチプロセッサアーキテクチャも、処理ユニット904として使用され得る。
【0127】
システムバス908は、システムメモリ906から処理ユニット904を含むがこれらに限定されないシステムコンポーネントにインターフェースを提供する。システムバス908は、様々な市販のバスアーキテクチャのいずれかを使用して、メモリバス(メモリコントローラの有無にかかわらず)、周辺バス、およびローカルバスにさらに相互接続し得るいくつかのタイプのバス構造のいずれかであり得る。インターフェースアダプタは、スロットアーキテクチャを介してシステムバス908に接続し得る。スロットアーキテクチャの例は、アクセラレーテッドグラフィックスポート(AGP)、カードバス、(拡張)業界標準アーキテクチャ((E)ISA)、マイクロチャネルアーキテクチャ(MCA)、NuBus、ペリフェラルコンポーネントインターコネクト(拡張)(PCI(X))、PCI Express、Personal Computer Memory Card International Association(PCMCIA)などを含むがこれらに限定されない。
【0128】
コンピューティングアーキテクチャ900は、様々な製造品を備えるか、または実施し得る。製造品は、ロジックを格納するためのコンピュータ可読記憶媒体を備え得る。コンピュータ可読記憶媒体の例は、揮発性メモリまたは不揮発性メモリ、リムーバブルまたは非リムーバブルメモリ、消去可能または非消去可能メモリ、書き込み可能または再書き込み可能メモリなどを含む、電子データを格納できる任意の有形媒体を含み得る。論理の例は、ソースコード、コンパイル済みコード、インタプリタコード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、ビジュアルコードなど、任意の適切なタイプのコードを使用して実施された実行可能コンピュータプログラム命令を含み得る。実施形態はまた、非一時的なコンピュータ可読媒体に含まれる、または非一時的なコンピュータ可読媒体上に含まれる命令として少なくとも部分的に実施され得、これは、本明細書に記載の動作の実行を可能にするために1つまたは複数のプロセッサによって読み取られ実行され得る。
【0129】
システムメモリ906は、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、強誘電性ポリマーメモリ、オボニックメモリ、相変化または強誘電性メモリなどのポリマーメモリ、シリコン酸化物窒化物酸化物シリコン(SONOS)メモリ、磁気または光カード、独立ディスクの冗長アレイ(RAID)ドライブなどのデバイスのアレイ、ソリッドステートメモリデバイス(例えば、USBメモリ、ソリッドステートドライブ(SSD))、および情報の格納に適したその他のタイプの記憶媒体などの1つまたは複数の高速メモリユニットの形式の様々なタイプのコンピュータ可読記憶媒体を含み得る。図9に示される図示の実施形態では、システムメモリ906は、不揮発性メモリ910および/または揮発性メモリ912を含み得る。不揮発性メモリ910には、基本入出力システム(BIOS)が格納され得る。
【0130】
コンピュータ902は、内部(または外部)ハードディスクドライブ(HDD)914、リムーバブル磁気ディスク918からの読み取りまたはリムーバブル磁気ディスク918への書き込みを行う磁気フロッピディスクドライブ(FDD)916、およびリムーバブル光ディスク922(例えば、CD-ROMまたはDVD)からの読み取りまたはリムーバブル光ディスク922への書き込みを行う光ディスクドライブ920を含む、1つまたは複数の低速メモリユニットの形式の様々なタイプのコンピュータ可読記憶媒体を含み得る。HDD914、FDD916、および光ディスクドライブ920は、それぞれ、HDDインターフェース924、FDDインターフェース926、および光学ドライブインターフェース928によってシステムバス908に接続され得る。外部ドライブ実施用のHDDインターフェース924は、ユニバーサルシリアルバス(USB)およびIEEE1394インターフェース技術の少なくとも一方または両方を含み得る。
【0131】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの揮発性および/または不揮発性ストレージを提供する。例えば、多数のプログラムモジュールは、オペレーティングシステム930、1つまたは複数のアプリケーションプログラム932、他のプログラムモジュール934、およびプログラムデータ936を含む、ドライブおよびメモリユニット910、912に格納され得る。一実施形態では、1つまたは複数のアプリケーションプログラム932、他のプログラムモジュール934、およびプログラムデータ936は、例えば、システム100の様々なアプリケーションおよび/またはコンポーネントを含み得る。
【0132】
ユーザは、1つまたは複数の有線/無線入力デバイス、例えば、キーボード938およびマウス940などのポインティングデバイスを介して、コンピュータ902にコマンドと情報を入力し得る。その他の入力デバイスには、マイク、赤外線(IR)リモートコントロール、無線周波数(RF)リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グラブ、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、容量性、抵抗性など)、トラックボール、トラックパッド、センサ、スタイラスなどを含み得る。これらおよび他の入力デバイスは、システムバス908に結合された入力デバイスインターフェース942を介して処理ユニット904に接続されることがよくあるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどの他のインターフェースによって接続され得る。
【0133】
モニタ944または他のタイプの表示デバイスも、ビデオアダプタ946などのインターフェースを介してシステムバス908に接続されている。モニタ944は、コンピュータ902の内部または外部にあり得る。モニタ944に加えて、コンピュータは通常、スピーカ、プリンタなどの他の周辺出力デバイスを含む。
【0134】
コンピュータ902は、リモートコンピュータ948などの1つまたは複数のリモートコンピュータへの有線および/または無線通信を介した論理接続を使用して、ネットワーク環境で動作し得る。リモートコンピュータ948は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースの娯楽機器、ピアデバイス、または他の一般的なネットワークノードであり得、通常、コンピュータ902に関連して記載された要素の多くまたはすべてを含むが、簡潔にするために、メモリ/ストレージデバイス950のみが示されている。示されている論理接続には、ローカルエリアネットワーク(LAN)952および/またはより大きなネットワーク、例えば、ワイドエリアネットワーク(WAN)954への有線/無線接続が含まれる。このようなLANおよびWANネットワーク環境は、オフィスや企業では一般的であり、イントラネットなどの企業規模のコンピュータネットワークを容易にする。これらはすべて、例えば、インターネットなどのグローバル通信ネットワークに接続し得る。
【0135】
LANネットワーキング環境で使用される場合、コンピュータ902は、有線および/または無線通信ネットワークインターフェースまたはアダプタ956を介してLAN952に接続される。アダプタ956は、アダプタ956の無線機能と通信するためにその上に配置された無線アクセスポイントを含み得るLAN952への有線および/または無線通信を容易にし得る。
【0136】
WANネットワーキング環境で使用される場合、コンピュータ902は、モデム958を含み得るか、またはWAN954上の通信サーバに接続されるか、またはインターネットを経由するなど、WAN954上で通信を確立するための他の手段を有する。モデム958は、内部または外部であり、有線および/または無線デバイスであり、入力デバイスインターフェース942を介してシステムバス908に接続する。ネットワーク環境では、コンピュータ902に関して示されたプログラムモジュール、またはその一部は、リモートメモリ/ストレージデバイス950に格納され得る。示されたネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解されよう。
【0137】
コンピュータ902は、無線通信(例えば、IEEE802.11無線変調技術)で動作可能に配置された無線デバイスなど、IEEE802規格ファミリを使用して有線および無線デバイスまたはエンティティと通信するように動作可能である。これには、少なくともWi-Fi(または無線フィデリティ)、WiMax、ブルートゥース(登録商標)ワイヤレステクノロジなどが含まれる。したがって、通信は、従来のネットワークと同様に事前定義された構造、または少なくとも2つのデバイス間での単なるアドホック通信であり得る。Wi-Fiネットワークは、IEEE802.11x(a、b、g、nなど)と呼ばれる無線技術を用いて、安全で信頼性の高い高速な無線接続を提供する。Wi-Fiネットワークは、コンピュータを相互に接続したり、インターネットに接続したり、有線ネットワーク(IEEE802.3関連のメディアと機能を使用)に接続したりするために使用し得る。
【0138】
図10は、前述のような様々な実施形態を実施するのに適した例示的な通信アーキテクチャ1000のブロック図を示している。通信アーキテクチャ1000は、送信機、受信機、トランシーバ、無線、ネットワークインターフェース、ベースバンドプロセッサ、アンテナ、増幅器、フィルタ、電源などのような様々な一般的な通信要素を含む。しかしながら、実施形態は、通信アーキテクチャ1000による実施に限定されない。
【0139】
図10に示されるように、通信アーキテクチャ1000は、1つまたは複数のクライアント1002およびサーバ1004を含む。クライアント1002は、クライアントデバイス310を実施し得る。サーバ1004は、サーバデバイス950を実施し得る。クライアント1002およびサーバ1004は、クッキーおよび/または関連するコンテキスト情報など、それぞれのクライアント1002およびサーバ1004にローカルな情報を格納するために使用し得る1つまたは複数のそれぞれのクライアントデータストア1008およびサーバデータストア1010に動作可能に接続される。
【0140】
クライアント1002およびサーバ1004は、通信フレームワーク1006を使用して互いに情報を通信し得る。通信フレームワーク1006は、任意の周知の通信技術およびプロトコルを実施し得る。通信フレームワーク1006は、パケット交換ネットワーク(例えば、インターネットなどの公衆ネットワーク、企業イントラネットなどのプライベートネットワークなど)、回線交換ネットワーク(例えば、公衆交換電話網)、またはパケット交換ネットワークと回線交換ネットワークの組み合わせ(適切なゲートウェイとトランスレータを使用)として実施され得る。
【0141】
通信フレームワーク1006は、通信ネットワークを受け入れ、通信し、接続するように構成された様々なネットワークインターフェースを実施し得る。ネットワークインターフェースは、入出力インターフェースの特殊な形式と見なし得る。ネットワークインターフェースは、直接接続、イーサネット(例えば、シック、シン、ツイストペア10/100/1000ベースTなど)、トークンリング、無線ネットワークインターフェース、セルラネットワークインターフェース、IEEE802.11axネットワークインターフェース、IEEE802.16ネットワークインターフェース、IEEE802.20ネットワークインターフェースなどを含むがこれらに限定されない接続プロトコルを採用し得る。さらに、複数のネットワークインターフェースを使用して、様々な通信ネットワークタイプと連携し得る。例えば、ブロードキャスト、マルチキャスト、およびユニキャストネットワークを介した通信を可能にするために、複数のネットワークインターフェースを使用し得る。処理要件がより大きな速度および容量を要求する場合、分散ネットワークコントローラアーキテクチャを同様に使用して、クライアント1002およびサーバ1004によって必要とされる通信帯域幅をプールし、負荷分散し、さもなければ増加させ得る。通信ネットワークは、直接相互接続、安全なカスタム接続、プライベートネットワーク(例えば、エンタープライズイントラネット)、パブリックネットワーク(例えば、インターネット)、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、インターネット上のノードとしての運用ミッション(OMNI)、ワイドエリアネットワーク(WAN)、無線ネットワーク、セルラネットワーク、およびその他の通信ネットワークを含むがこれらに限定されない有線および/または無線ネットワークの任意の1つおよび組み合わせであり得る。
【0142】
いくつかの実施形態は、それらの派生物と共に「一実施形態」または「実施形態」という表現を使用して説明され得る。これらの用語は、実施形態に関連して説明される特定の特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所における「一実施形態では」という句の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。さらに、いくつかの実施形態は、それらの派生物と共に「結合された」および「接続された」という表現を使用して説明され得る。これらの用語は、必ずしも相互の同義語として意図されているわけではない。例えば、いくつかの実施形態は、2つ以上の要素が互いに直接物理的または電気的に接触していることを示すために、「接続された」および/または「結合された」という用語を使用して説明され得る。しかしながら、「結合された」という用語は、2つ以上の要素が互いに直接接触していないが、それでも互いに協力または相互作用していることを意味し得る。
【0143】
読者が技術的開示の性質を迅速に確認できるように、開示の要約が提供されていることが強調されている。請求項の範囲または意味を解釈または制限するために使用することはできないことを理解した上で提出される。さらに、前述の詳細な説明では、開示を合理化する目的で、様々な特徴が単一の実施形態に一緒にグループ化されていることが分かる。この開示方法は、請求された実施形態が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、以下の請求項が反映するように、本発明の主題は、単一の開示された実施形態のすべての特徴よりも少ない特徴にある。したがって、以下の請求項は、詳細な説明に組み込まれ、各請求項は、別個の実施形態としてそれ自体で成り立っている。添付の請求項において、「含む」および「その中」という用語は、それぞれ「備える」および「ここで」というそれぞれの用語の平易な英語の均等物として使用される。さらに、「第1」、「第2」、「第3」などの用語は、単にラベルとして使用されており、オブジェクトに数値要件を課すことを意図したものではない。
【0144】
上で説明されたことは、開示されたアーキテクチャの例を含む。もちろん、コンポーネントおよび/または方法論の考えられるすべての組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび順列が可能であることを認識し得る。したがって、新規のアーキテクチャは、添付の請求項の精神および範囲内にあるそのようなすべての変更、修正、および変形を包含することを意図している。
図1
図2A
図2B
図3
図4
図5A
図5B
図5C
図5D
図6A
図6B
図6C
図7
図8
図9
図10