ANPRシステム及びALPRシステム(本願明細書では互換的に使用される)は、様々なインテリジェントな輸送管理システム及び交通管理システムにおいて使用される。例えば、ALPRシステムは、ライセンスプレート登録と関連付けられた個人に通行料の請求又は課金を送信することができるように、有料道路上のガントリーの下を通過する車両のライセンスプレート(ナンバープレート又はプレートとも称される)を読み取るために使用することができる。
ALPRシステムは、参照により本明細書に組み込まれるBucholzの米国特許第7,579,965号に記載されているように、車両が時間制限付きの駐車場所にあまりにも長い時間にわたって駐車されているかどうかを監視する駐車取り締まりにおいて使用することができる。
ALPRシステムは、紛失車両又は盗難車両の位置を特定するために使用することができる。このような適用例では、モバイルALPRシステムを搭載した車両は、ライセンスプレート番号あるいは駐車車両又は運転時に通過した移動車両を検出し得る。当該システムは、検出したライセンスプレート番号を、盗難車両又は他の社会的な又は犯罪上の理由で手配されている個人に登録された車両を含むライセンスプレートの「ホットリスト」と比較することができる。このような適用例は、参照により本明細書に組み込まれるSimonの米国特許第7,881,498号に記載されている。
これらの及び他のALPR適用例のそれぞれでは、ライセンスプレートの読み取り精度を最大化することが重要である。ライセンスプレート上の文字は、様々な理由で、OCRエンジンには検出しづらいことがある。例えば、多くのライセンスプレートは、プレートがどの国又は州から来たのかを示すために、特別な理由をサポートするために、あるいは、運転者が好きなプレートを選択することを可能にするために含まれる、様々な意匠又は絵柄を有する。これらの意匠又は絵柄は、絵柄が文字と重なった時に、あるいは絵柄がプレートの外周に配置された時であっても、プレート上の文字の検出をより困難にすることがある。
他の事例では、プレートは汚れていることがあり、あるいは、雪、砂、ライセンスプレートのフレーム、牽引棒又はヒッチ、あるいはプレートを見えにくくする他のオブジェクト又はデブリによって、部分的に又は完全に覆われている、又は見えにくくなっていることがある。プレートはまた、経年劣化し、天気、又は交通事故などの衝撃に起因して損傷を受け得る。
正確なプレートの読み取り又は文字認識を保証するために、様々な手法が使用される。1つの手法は、可視光及び赤外光のそれぞれにより照明されるプレートの画像を収集することである。これらの画像の一方又は両方を使用すると、2014年8月13日付けで本願出願人により出願され、参照により本明細書に組み込まれる米国特許出願第62/036,797号「Optically Active Articles and Systems In Which They May Be Used」により論じるように、より良好な読み取り精度を保証することができる。
更に、様々な種類のOCRエンジン又はシステムを使用して、ライセンスプレート上の文字を読み取ることができる。しかしながら、様々なOCRエンジンの正確な読み取りレートの結果及びレベルは、特定のエンジンが使用するアルゴリズムに基づいて変動する。
ライセンスプレート上の文字の正確な識別における改善が歓迎される。
本開示は、現状に勝る様々な利点を提供する。例えば、本開示は、ライセンスプレートの読み取り結果の精度の向上を可能にする。個々の文字レベルで、又はライセンスプレート番号全体に関して、精度の向上を達成することができる。2つ以上の異なるOCRエンジンからの読み取り結果を使用すると、精度の工場が可能になる。
また、本開示は、複数の異なるOCRエンジンを使用したリアルタイムでのライセンスプレートの読み取りの検証を可能にする。
本開示により、読み取り精度の信頼性の向上が能になる。多くの料金徴収策又は他の解決策では、オペレータは、読み取りが信頼性の高い読み取りでない限り、正確なプレートの読み取りを手動で確認することなく、違反者に違反切符又は罰金を送信するための、あるいは、プリペイドユーザが料金徴収エリアを通ることを可能にするアクションを起こすことはない。手動による確認は、人がライセンスプレート番号の読み取りとライセンスプレートの画像とを視覚的に比較することによって行われる。
本開示は、信頼性の高い読み取りの割合を増大させることができる。更に、読み取りの信頼性が高い結果として、システムの精度を全体的に向上させることができる。システム、読み取りが正確である高い信頼性を有することができる1つのそのようなやり方は、2つの異なるOCRエンジンが、単一のライセンスプレート番号について、同一の読み取り結果を生成する時である。信頼性が高い読み取りの割合の向上及び精度の向上は、読み取り精度を確認するために必要な手動作業を低減することができる。これは、システムを動作させるコストを低減することによって、必要な手動作業を低減することによって、並びに、フォールスポジティブ読み取りの数及びフォールスポジティブに基づく誤って発行されたチケットの数を減少させることによって、料金徴収システム又は違反切符を発行し得る他のシステムについて著しい財政的恩恵を有することができる。本開示から生じる精度の向上はまた、違反切符を発行するためのベースを形成する正しい読み取りの数を増加し得る。
一事例では、本開示は、デュアル埋込み光学文字認識(OCR)エンジンを有するカメラシステムを含む。本カメラシステムは、車両の画像を捕捉するためのカメラモジュールを含み、当該画像は、文字を含んでいるライセンスプレート番号を有するライセンスプレートと、ライセンスプレートから文字を抽出することによって、第1の読み取り及び第1の信頼性レベルを生成する第1のOCRエンジンと、ライセンスプレートから文字を抽出する、第2の読み取り及び第2の信頼性レベルを生成する、第1のOCRエンジンとは異なるパターンベースのOCRエンジンと、を含む。本カメラシステムは、第1の読み取りと第2の読み取りとを比較するためのコンパレータを更に含む。第1の読み取りと第2の読み取りとが一致した場合、本システムは、最終読み取りとして一致読み取りを生成する。第1の読み取りと第2の読み取りとが一致しない場合、融合モジュールは、第1の読み取り、第1の信頼性レベル、第2の読み取り及び第2の信頼性レベルを使用して、最終読み取りを生成する。
別の事例では、本開示は、ライセンスプレートの最終読み取りを生成するための方法を含む。本方法は、デュアル埋め込み型光学文字認識(OCR)エンジンを有するカメラシステムを提供することであって、カメラシステムは、カメラモジュール、第1のOCRエンジン、第2のOCRエンジン、コンパレータ、及び融合モジュールを含む、カメラシステムを提供すること、を含む。本方法は、カメラモジュールを用いて、車両の画像を捕捉することであって、画像は、文字を含んでいるライセンスプレート番号を有するライセンスプレートを含む、車両の画像を捕捉することと、特徴ベースのOCRエンジンを用いてライセンスプレートから文字を抽出することによって、第1の読み取り及び第1の信頼性レベルを生成することと、パターンベースのOCRエンジンを用いてライセンスプレートから文字を抽出する、第2の読み取り及び第2の信頼性レベルを生成することと、を更に含む。本方法は、第1の読み取りと第2の読み取りとを比較すること、を更に含む。第1の読み取りと第2の読み取りとが一致した場合、最終読み取りとして一致読み取りを生成する。第1の読み取りと第2の読み取りとが一致しない場合、第1の読み取り、第1の信頼性レベル、第2の読み取り及び第2の信頼性レベルを使用して、融合モジュールを用いて最終読み取りを生成する。
別の事例では、本開示は、デュアル埋込み光学文字認識(OCR)エンジンを有するカメラシステムを含む。本システムは、車両の画像を捕捉するためのカメラモジュールであって、画像は、文字を含んでいるライセンスプレート番号を有するライセンスプレートを含む、カメラモジュールと、ライセンスプレートから文字を抽出することによって、第1の読み取り及び第1の信頼性レベルを生成する第1のOCRエンジンと、ライセンスプレートから文字を抽出する、第2の読み取り及び第2の信頼性レベルを生成する第2のOCRエンジンと、を備える。本システムは、第1の読み取りと第2の読み取りとを比較するためのコンパレータを更に備える。第1の読み取りと第2の読み取りとが一致した場合、本システムは、最終読み取りとして一致読み取りを生成する。第1の読み取りと第2の読み取りとが一致しない場合、融合モジュールは、第1の読み取り、第1の信頼性レベル、第2の読み取り及び第2の信頼性レベルを使用して、最終読み取りを生成する。
いくつかの実施形態では、融合モジュールは、第1の読み取りから少なくとも1つの文字を選択し、第2の読み取りから少なくとも1つの文字を選択して、最終読み取りを生成する。
いくつかの実施形態では、融合モジュールは、最終読み取りと関連付けられた第3の信頼性レベルを提供する。更に、いくつかの事例では、第3の信頼性レベルが既定のしきい値を下回った場合、最終読み取りは無効として指定される。
いくつかの実施形態では、特徴ベースのOCRエンジン及びパターンベースのOCRエンジンは、第1の読み取り及び第2の読み取りを生成するために、同一の画像を評価する。
いくつかの実施形態では、特徴ベースのOCRエンジン及びパターンベースのOCRエンジンは、第1の読み取り及び第2の読み取りを生成するために、異なる画像を評価する。
いくつかの実施形態では、特徴ベースのOCRエンジンは、第1のチャネルを通じて受信した情報から、第1の読み取りを生成し、パターンベースのOCRエンジンは、第2のチャネルを通じて受信した情報から、第2の読み取りを生成する。
図1は、ライセンスプレート10の一例である。ライセンスプレート10は、プレートフレーム11により取り囲まれている。ライセンスプレート10は、州の名前12「ジョージア」、桃13のイメージ、及びライセンスプレート番号14を含む。ライセンスプレート番号は、ライセンスプレートにエンボス加工又は印刷されている英数字の識別子である。この事例では、ライセンスプレート番号14は、7つの文字15で構成されている。ライセンスプレート番号14は、より多数の又はより少数の文字を含み得る。文字は、英数字、グラフィクス、シンボル、ロゴ、形状、及び他の識別子を含み得る。
図2a及び図2bは、異なる波長の照明で撮影された画像ライセンスプレートである。図2aは、可視光又は可視スペクトルで撮影された図1のライセンスプレート22の画像である。可視スペクトルとは、人の眼に見える(即ち、人の眼により検出することができる)電磁スペクトルの一部分を指す。典型的なヒトの眼は、約390〜700nmの波長に反応する。ライセンスプレート22は、文字25からなるライセンスプレート番号24を含む。文字は、背景の桃23の画像によりいくらか見えにくくなっている。
図2bは、赤外スペクトルの照明を使用して撮影された同じライセンスプレート22の画像である。「赤外」という用語は、可視放射の波長よりも長い波長を有する電磁放射を指し、700ナノメートル(nm)程度の可視スペクトルの公称レッドエッジから1000nm超までから拡張する。赤外スペクトルは、この値を越えて拡張することが認識される。本明細書で使用する場合「近赤外」という用語は、700nm〜1300nmの波長を有する電磁放射を指す。
このような画像は、状況に応じて赤外放射又は紫外放射に感応性であり、かつ、可視スペクトル外の再帰反射放射を検出することが可能であるセンサ(検出器)により、捕捉され得る。例示的な市販のカメラは、3M Companyが販売しているP372カメラ、P382カメラ、及びP492カメラを含むが、これらには限定されない。
図2a及び図2bのそれぞれに示したライセンスプレート22は、光学活性物品であり得、したがって、反射性物品及び/又は再帰反射性物品である。「再帰反射性物品」とは斜めに入射する放射線を、放射源又はそのごく近傍に戻るように、その入射方向に対して概ね逆平行な方向に反射させる属性を有する。
図2a及び図2bに示した画像は、異なるチャネルを通じて捕捉された画像の例であり、図2aの画像は、(オフアクシスで照明された)色チャネルで捕捉され、図2bの画像は、(オンアクシスで照明された)狭帯域赤外チャネルで捕捉される。異なる種類のチャネルに関する更なる議論は、2014年8月13日付けで本願出願人により出願され、参照により本明細書に組み込まれる米国特許出願第62/036,797号「Optically Active Articles and Systems In Which They May Be Used」に見ることができる。
図3は、デュアル埋め込み型OCRエンジン32及び34を有するカメラシステム30の例示的なブロック図である。カメラシステム30は、車両の画像を捕捉するためのカメラモジュール31を含み、この画像は、文字を含んでいるライセンスプレート番号を有するライセンスプレートを含む。カメラモジュール31は、2つ以上の別個のチャネルを通じて同時に2つ以上の画像を捕捉することが可能であり得る。別の実施形態では、カメラモジュール31は、単一のチャネルを通じて、又は2つ以上の別個のチャネルを通じて、同一のライセンスプレートの後続の画像を捕捉し得る。1つ、2つ又はそれ以上の捕捉された画像は、第1のOCRエンジン32及び第2のOCRエンジン34に送信され得る。いくつかの実施形態では、同一の画像(単数又は複数)が、第1のOCRエンジン32及び第2のOCRエンジン34のそれぞれに送信され得、他の実施形態では、異なる画像が、第1のOCRエンジン32及び第2のOCRエンジン34のそれぞれに送信され得る。いくつかの実施形態では、カメラシステム30は、3つ以上の異なるOCRエンジンを含み得る。
カメラモジュール31により複数の画像が捕捉される実施形態では、選択基準を使用して、読み取り可能なプレートを含んでいる可能性が最も高い候補画像を識別し得る。次いで、OCRエンジンへの発信のために、これらの候補画像に優先順位をつける。画像選択プロセスのステップは、候補画像レコード(それぞれの画像レコードは、例えば、プレート発見データを含む画像メタデータを含んでいる)の時間順キューを維持する。このキューの長さは制限されている。新しい画像レコードは、チャネルから到着すると、既にキューにあるそれらの画像レコードに対して評価される。新しい画像レコードが、既にキューにあるいずれかよりも「良好である」と見なされた場合、又は、キューがフルでない場合、新しい画像レコードが、キューの後ろに加えられる。キューが「フル」である場合、キューの中でその時点で最も弱い候補が除去される。これは、画像選択を取り扱うための1つの方法であるが、本開示を読むと、当業者には、本発明の範囲内の他の方法が明らかになるであろう。
第1のOCRエンジン32は、画像中のライセンスプレート番号から文字を抽出し、それらを正しく識別することによって、第1のOCRエンジン32が受信した画像と関連付けられた第1の読み取り及び第1の信頼性レベルを生成する。「読み取り値」、「読み取り」又は「読み取り精度」とは、ライセンスプレート上のライセンスプレート番号又は文字の機械解釈を意味する。
信頼性レベルとは、文字又はライセンスプレート番号が正しいという尤度を規定するパーセンテージである。第1のOCRエンジン32は、ライセンスプレート番号全体の読み取りと関連付けられた信頼性レベルと、ライセンスプレート上のそれぞれの文字と関連付けられた、又はライセンスプレート番号の一部を含む信頼性レベルと、を生成し得る。第1のOCRエンジン32は、処理するライセンスプレートのそれぞれの画像について、同様のデータセットを生成し得る。
第1のOCRエンジン32とは異なる第2のOCRエンジン34は、画像中のライセンスプレート番号から文字を抽出し、それらを正しく識別することによって、第2のOCRエンジン34が受信した画像と関連付けられた第2の読み取り及び第2の信頼性レベルを生成する。第2のOCRエンジン34は、ライセンスプレート番号全体の読み取りと関連付けられた信頼性レベルと、ライセンスプレート上のそれぞれの文字と関連付けられた、又はライセンスプレート番号の一部を含む信頼性レベルと、を生成し得る。第2のOCRエンジン34は、処理するライセンスプレートのそれぞれの画像について、同様のデータセットを生成し得る。更に、OCRエンジンは、プレートの読み取りの複数の代替推測値を生成し、それぞれの推測値について、同様のデータセットを生成し得る。
第1のOCRエンジン32及び第2のOCRエンジン34は、異なる種類のOCRエンジンである。例えば、一実施形態では、第1のOCRエンジン32は、特徴ベースのOCRエンジンであり得る。特徴ベースのOCRエンジンは、ループ、線、穴及び角など、文字の特徴に基づいて、文字を認識又は識別する。一実施形態では、第2のOCRエンジン34は、パターンベースのOCRエンジンであり得る。パターンベースのOCRエンジンは、文字と既知のパターンとの相関に基づいて、文字を認識又は識別する。2つのOCRエンジンが異なるアルゴリズムを含み、それにより、同一の画像から、異なる文字又はライセンスプレート番号の読み取りを生成することが可能であるように、一方のOCRエンジンは、もう一方OCRエンジンとは異なる。
第1のOCRエンジン32及び第2のOCRエンジン34は、それらの読み取り結果のそれぞれを送信する。読み取り結果は、コンパレータ36への、ライセンスプレート番号及び/又は文字の読み取り、及び関連付けられた信頼性レベルを含む。コンパレータ36は、第1の読み取りを第2の読み取りと比較する。第1の読み取りと第2の読み取りとが一致した場合、カメラシステム30は、最終読み取りとして一致読み取りを生成する。
第1の読み取りと第2の読み取りとが一致しない場合、融合モジュール38は、第1の読み取り、第1の信頼性レベル、第2の読み取り及び第2の信頼性レベルを使用して、最終読み取りを生成する。融合モジュール38は、それぞれの読み取り結果からの全ての候補文字を分析し、それぞれの文字と関連付けられた信頼性レベルに基づいて、正しい可能性が最も高い最終読み取り結果を計算する。
いくつかの実施形態では、融合モジュール38は、第1の読み取りから少なくとも1つの文字を選択し、第2の読み取りから少なくとも1つの文字を選択して、最終読み取りを生成する。いくつかの実施形態では、融合モジュール38は、第1の読み取り又は第2の読み取りのうちの1つのみから、全ての文字を選択する。いくつかの実施形態では、融合モジュール38は、最終読み取りと関連付けられた第3の信頼性レベルを提供する。いくつかの実施形態では、第3の信頼性レベルが既定のしきい値を下回った場合、最終読み取りは無効として指定される。
融合モジュール38及び/又はコンパレータ36は、最終読み取りを通信モジュール39に送信する。通信モジュール39は、料金徴収、駐車取り締まり、又は他の適用例などの所望の適用例のために、最終読み取り及び関連付けられた信頼性レベルを、最終読み取りを使用する外部システム又はバックエンドシステムに送信してもよく、関連付けられた信頼性レベルを使用してもよい。
カメラシステム30の様々な構成要素は、別々に図示されているが、単一のプロセッサ又はプロセッサの任意の組み合せに含まれるか、又はそれらによって実行され得る。更に、本開示を読むと当業者には明らかであるように、本発明のカメラシステムの多くの変形形態が本発明の範囲に含まれる。カメラシステムは、3つ以上のOCRエンジンを含んでもよく、複数のチャネル及びそれらの任意の組み合せを通じて画像を捕捉することが可能なカメラモジュール(単数又は複数)を含み得る。
図4は、デュアル埋め込み型OCRエンジンのプロセス図である。プロセス40は、第1のOCRエンジン42及び第2のOCRエンジン43のそれぞれが、カメラモジュールから、ライセンスプレート41を含んでいる画像を受信することで開始する。第1のOCRエンジン42及び第2のOCRエンジン43のそれぞれは、コンパレータ44への、読み取り結果、ライセンスプレート番号読み取り及び/又は文字読み取りと関連付けられた信頼性レベルの双方を生成する。
OCRエンジンのそれぞれからのライセンスプレート番号の読み取りが一致した場合、コンパレータは、OCRエンジンのそれぞれからの読み取り結果のそれぞれの信頼性レベルに基づく信頼性レベルと共に、一致読み取りを通信モジュール46に送信する。多くの事例では、2つの異なるOCRエンジンが同一の読み取りに達するので、この最終読み取りと関連付けられた信頼性レベルは比較的高いことが予想される。
2つのOCRエンジンのそれぞれからのライセンスプレートの読み取りが一致しない場合、融合モジュール45は、第1の読み取り、第1の信頼性レベル、第2の読み取り及び第2の信頼性レベルを使用して、最終読み取りを生成する。融合モジュール45は、それぞれの読み取り結果からの全ての候補文字を分析し、それぞれの文字と関連付けられた信頼性レベルに基づいて、正しい可能性が最も高い最終読み取り結果を計算する。
いくつかの実施形態では、融合モジュール45は、第1の読み取りから少なくとも1つの文字を選択し、第2の読み取りから少なくとも1つの文字を選択して、最終読み取りを生成する。いくつかの実施形態では、融合モジュール45は、最終読み取りと関連付けられた第3の信頼性レベルを提供する。いくつかの実施形態では、第3の信頼性レベルが既定のしきい値を下回った場合、最終読み取りは無効として指定される。
融合モジュール45は、最終読み取りを通信モジュール46に送信する。通信モジュール46は、料金徴収、駐車取り締まり、又は他の適用例などの所望の適用例のために、最終読み取り及び関連付けられた信頼性レベルを、最終読み取りを使用する外部システム又はバックエンドシステムに送信し得る。
図5は、融合モジュールの例示的なプロセス図である。ステップ51では、第1のOCRエンジン及び第2のOCRエンジンからの読み取り結果を融合モジュールに送信する。いくつかの事例では、それぞれのOCRエンジンから単一の読み取り結果のみが送信される。他の事例では、それぞれのOCRエンジンからの複数の読み取り結果が融合モジュールに送信される。
図5に示した例では、ライセンスプレート番号における所与の文字の読み取り結果について説明する。第1のOCRエンジンは、文字が「B」であって、その結果に92%の信頼性レベルを割り当てられていることを識別した。第1のOCRエンジンは、代替的には文字が「8」であって、関連付けられた信頼性レベルが70%であることを識別した。第2のOCRエンジンは、文字が「8」であって、関連付けられた信頼性レベルが94%であることを識別した。第2のOCRエンジンは、文字が「B」であって、関連付けられた信頼性レベルが90%であることを識別した。
ステップ52では、融合モジュールは、第1のOCRエンジンからのトップ結果についての信頼性レベル(「B」;92%)と、第2のOCRエンジンからのトップ結果についての信頼性レベル(90%)とを平均して、「B」についての平均信頼性レベル91%を識別する。融合モジュールはまた、第2のOCRエンジンからのトップ結果について信頼性レベル(「8」;94%)と、第1のOCRエンジンからのトップ結果の関連信頼性レベル(70%)とを平均して、「8」の平均信頼性レベル82%を識別する。
ステップ53では、融合モジュールは、第1のOCRエンジンからのトップ結果と関連付けられた平均信頼性レベル(「B」;91%」)と、第2のOCRエンジンからのトップ結果と関連付けられた平均信頼性レベル(「8」;82%)とを比較して、平均信頼性レベルがより高いことを理由に、その所与の文字「B」についての最終結果を選択する。
図5に示したプロセスは、双方のエンジンについての信頼性値に着目して「最良の」結果を判定する。これは、第1の結果だけでなく、可能性が低い結果も比較することを含む。この手法は、それぞれのOCRエンジンと、それぞれのOCRエンジンからの最終読み取り結果だけでなく、可能な結果の群を問い合わせることができる融合モジュールとの間に双方向通信によって可能になる。この双方向通信は、OCRエンジンの埋め込み型構成と、OCRエンジンがカメラ又はカメラシステムに外部接続された構成とを通じてイネーブルされる。
当業者には、融合モジュールについて説明した方法は、2つ以上の異なるOCRエンジンからの読み取り結果を融合させるために使用され得る多くの計算法の一例にすぎないことが明らかになるであろう。単一の画像に基づくそれぞれのOCRエンジンからの複数の結果が融合され得る。複数のエンジンに基づくそれぞれのOCRエンジンからの複数の結果を融合し得る。本開示を読むと、当業者には、本発明の範囲内の様々な計算法が明らかになるであろう。
本開示の技術は、サーバ、ラップトップコンピュータ、デスクトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートフォンなど、多種多様なコンピュータデバイスにおいて実装され得る。機能的態様を強調するために、任意の構成要素、モジュール又はユニットについて記載してきたが、必ずしも、異なるハードウェアユニットによる実現が必要とは限らない。また、本明細書に記載の技術は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合せによって実装され得る。モジュール、ユニット又は構成要素として説明した任意の特徴部は、集積論理デバイス中に一緒に実装しても、あるいは、個別であるが相互使用可能な論理デバイスとして別々に実装してもよい。いくつかの場合には、様々な特徴部は、集積回路チップ又はチップセットなど、集積回路デバイスとして実装され得る。更に、本明細書全体にわたって、それらの多くが固有の機能を実行する複数の別個のモジュールについて説明してきたが、モジュールの全ての全機能を単一のモジュールへと結合してしても、あるいは更なる追加のモジュールへと分割してもよい。本明細書で説明したモジュールは、例示的なものにすぎず、理解をより一層容易にするように記載したものである。
ソフトウェアに実装される場合、当該技術は、プロセッサによって実行される時に、上記で説明した方法のうちの1つ以上を実行する命令を含む、コンピュータ可読媒体によって少なくとも部分的に実現され得る。コンピュータ可読媒体は、タンジブルコンピュータ可読記録媒体を含み得、梱包材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読記憶媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)、読み取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去・再書き込み可能な読み出し専用メモリ(EEPROM)、フラッシュメモリ、磁気又は光学データ記憶媒体等などのランダムアクセスメモリ(RAM)を含み得る。また、コンピュータ可読記憶媒体は、ハードディスク、磁気テープ、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイディスク、ホログラフィックデータ記憶媒体又は他の不揮発性記憶デバイスなどの不揮発性記憶デバイスを含み得る。
本明細書で使用する場合「プロセッサ」という用語は、前述の構造のうちのいずれか、あるいは本明細書で説明した技術の実装に適した任意の他の構造を指し得る。加えて、いくつかの態様では、本明細書で説明した機能は、本開示の技術を実行するように構成された専用のソフトウェアモジュール又はハードウェアモジュール内に提供され得る。ソフトウェアに実装される場合であっても、当該技術は、ソフトウェアを実行するプロセッサなどのハードウェア、又はソフトウェアを記憶するメモリを使用し得る。このような場合には、本明細書で説明したコンピュータは、本明細書で説明した特定の機能を実行することが可能な特定のマシンを規定し得る。また、当該技術は、プロセッサと見なしてもよい1つ以上の回路又は論理素子に完全に実装してもよい。