本開示は、注文ポイントからの車両追跡をあてにしない合流後順序付けを自動化する画像や映像ベースの方法及びシステムを提供する。対象追跡ベースのアプローチは、注文ポイントにおいて車両を検出し、時間にわたって(すなわち、フレームにわたって)それらの位置を追跡し、車両位置の時系列に基づいて、どの車両が最初に合流ポイントを横断するかについて判定を行うであろう。これとは対照的に、提案された開示は、それらが合流ポイントを横断するときに車両を検出することによって動作し、それらの外観に基づいて、内側又は外側レーンからの車両を分類する。方法及びシステムは、合流ポイントを横断する車両の手動でラベリングされたサンプルの特徴が抽出され、トレーニングのための分類器に供給されるオフライントレーニング段階をあてにしている。その後、トレーニングされた分類器は、システム動作中にオンライン分類モジュールとして使用される。
本開示は、注文ポイントからの車両追跡をあてにしない合流後順序付けを自動化する画像又は映像ベースの方法及びシステムを提供する。方法及びシステムは、それらが合流ポイントを横断するときに車両を検出し、それらの外観に基づいて、隣り合ったドライブスルー構造と関連付けられた内側又は外側レーンからの検出車両を分類することによって動作する。方法及びシステムは、以下のモジュールを備える:(1)関心のあるドライブスルーの映像を取得する少なくとも1つのビデオカメラを含む映像取得モジュールと、(2)それらが例えば動作又は前景検出を介して合流ポイントを通過するときに車両を検出する車両検出モジュールと、(3)それらが監視合流ポイント領域を離れるまで検出車両を追跡する車両追跡モジュールと、(4)検出車両が内側又は外側ドライブスルーレーンから到来しているかどうかを判定する分類モジュールと、(5)追跡モジュールの出力に応じて分類モジュールの出力を時間的に集約する合流ポイント順序判定モジュール。システムは、合流ポイントを横断する車両の手動でラベリングされたサンプルの特徴が抽出され、トレーニングのために分類器に供給されるオフライン段階をあてにしている。その後に、トレーニングされた分類器は、通常のシステム動作のためにオンライン段階に組み込まれる。
背景技術において上述したように、従来の構造に対するその増加した顧客のスループットに起因して、隣り合ったドライブスルー構造は、その多くの既存のレストランが移行している構造とともに、新規に構築されたクイックサービス方式のレストランが付随する標準構造となっている。隣り合ったドライブスルー構造は、レストランが達成可能な時間率あたりの最大ドライブスルー顧客に関して利点を有し、それゆえに、(顧客が到着し、行列が長すぎ、そのため去る決断をする)「走り去り」の発生の数を低減するが、レストラン経営及びレストラン従業員に新たな課題を提示している。1つのそのような課題は、車両は、構造の並列性質に起因して、注文が出された時間と顧客が注文を受領した時間との間でシャッフルされるようになることができることから、正しい注文順序の判定である。「署名ベースのドライブスルー注文追跡システム及び方法(SIGNATURE BASED DRIVE−THROUGH ORDER TRACKING SYSTEM AND METHOD)」と名称が付されたKozitskyらに対する2013年3月19日に付与された米国特許第8,401,230号明細書と、「目的レーンに合流する移動物体の元レーンの判定(DETERMINING SOURCE LANE OF MOVING ITEM MERGING INTO DESTINATION LANE)」と名称が付されたLoceらによる2013年9月9日に提出された米国特許出願第14/022,488号とを参照のこと。注文コンソールを有する2つの別個のレーンがあり、2つの別個のレーンが支払い及び取得のために単一のレーンに再度合流することから、2つの別個の注文ポイント及びレーンの再合流は、注文がとられた順序と支払い及び取得カウンタに到着する車両の順序との間のミスマッチを引き起こす可能性がある。この「順序逸脱(out of sequencing)」は、顧客への誤った勘定及び/又は顧客への誤った食品の供給をもたらすことがあり、顧客の不満に大きく貢献する。供給順序の精度が維持されている場合であっても、これらの順序逸脱現象は、取得キューにおける車両の順序と一致するように従業員が手動で食品注文を再順序付けすることが必要とされることから、かなりの時間の消失、すなわち非効率性をもたらす。
各注文ポイントにおいて車両を特定し、合流ポイントを介して特定された車両を追跡するためにビデオカメラを使用して合流後順序を正確に判定する自動化された方法は、全体的な合流順序付け精度を維持するために正確で信頼性の高い追跡を必要とする。合流ポイント領域に対するビデオカメラの視野角に応じて、正確に追跡する車両は、車両12が車両10を部分的に隠蔽する図1及び図2に図示されたように他のレーン(通常はカメラから遠いレーン)における車両を部分的に隠蔽する1つのレーン(通常はカメラに近いレーン)における車両に起因して困難であることがある。
自動化された合流ポイント順序判定を開示している他の特許/特許出願は、「署名ベースのドライブスルー注文追跡システム及び方法(SIGNATURE BASED DRIVE−THROUGH ORDER TRACKING SYSTEM AND METHOD)」と名称が付されたKozitskyらに対する2013年3月19日に付与された米国特許第8,401,230号明細書に開示されたような署名ベースの注文追跡や、「映像からの低速条件のもとでの車両の自動順序付けシステム及び方法(SYSTEM AND METHOD FOR AUTOMATED SEQUENCING OF VEHICLE UNDER LOW SPEED CONDITIONS FROM VIDEO)」と名称が付されたGrossらによる2013年8月23日に提出された米国特許出願第13/975,245号に開示されたような映像の自動順序付けのための仮想トリップワイヤの使用、「目的レーンに合流する移動物体の元レーンの判定(DETERMINING SOURCE LANE OF MOVING ITEM MERGING INTO DESTINATION LANE)」と名称が付されたLoceらによる2013年9月9日に提出された米国特許出願第14/022,488号に開示されたような合流横断検出のためのステレオビジョンベースのシステムを含む。
米国特許出願第14/260,915号は、それらが合流ポイントを横断するまでにそれらの各注文ポイントにおける車両検出及びそれらの追跡をあてにしている自動合流順序付けのための自動化された方法及びシステムを開示している。そのような方法は、全体的な合流順序付け精度を維持するために正確な動作/前景検出及び追跡を必要とする。合流ポイント領域に対するカメラの視野角に応じて、車両を正確に検出して追跡することは、バンがセダンを隠蔽する図1及び図2に図示されたようなカメラ視点からは、通常はカメラから遠いレーンである他のレーンにおける車両を隠蔽する、通常はカメラに近いレーンである1つのレーンにおける車両に起因して困難であることがある。
本開示は、合流後順序付けを自動化する画像又は映像ベースの方法及びシステムを提供しており、本方法及びシステムは、注文ポイントからの車両追跡をあてにしないが、むしろ、合流ポイントを横断するときに車両を検出し、それらの外観に基づいて、ドライブスルーと関連付けられた内側又は外側レーン、すなわち、2つの合流前ポイントレーンから到来するときに車両を分類することによって動作する。本方法及びシステムは、図3に図示されるように、以下のモジュールを含む:
(1)関心のある合流ポイント領域の映像を取得する少なくとも1つのビデオカメラを含む映像取得モジュール50。
(2)それらが例えば動作又は前景検出を介して合流ポイントを通過するときに車両を検出する車両検出モジュール52。
(3)それらが合流ポイント領域を横断するときに車両を追跡し、それらが前記領域を去るまでそれらを追跡し続ける車両追跡モジュール54。
(4)検出車両が内側又は外側ドライブスルーレーンから到来しているかどうかを判定する分類モジュール56。
(5)追跡モジュールの出力に応じて分類モジュールの出力を時間的に集約し、観察される合流順序に関する判定を行う合流ポイント順序判定モジュール58。
本方法及びシステムは、合流ポイントを横断する車両の手動でラベリングされたサンプルの特徴が抽出され、トレーニングのための分類器に供給されるオフライン段階を含む。そして、トレーニングされた分類器は、システムのオンライン動作中に分類モジュールに組み込まれる。
開示された自動順序付け方法が動作する原理は、図4−図9における画像によって図示されるように、合流ポイントを通過する車両の外観は、それらが到来する場所からの注文ポイントに応じて大きく変化するという事実に基づいている。図4−図6における画像は、外側注文ポイントレーンから到来する車両の外観を図示している一方で、図7−図9における画像は、図1に示されたようなドライブスルーシーンと関連付けられた内側注文ポイントレーンから到来する車両の外観を示している。開示された方法及びシステムは、内側及び外側レーンと関連付けられた車両外観の区別を可能とするために必要な画像ベースの特徴を学習し、それぞれ新たに到来する車両は、その外観及び学習した外観の差異に基づいてどのレーンから到来するのかについて決定を行う。
本方法及びシステムの様々な態様は、以下により詳細に記載される。
1)映像取得モジュール50
映像取得モジュールは、関心領域の映像をキャプチャする少なくとも1つのビデオカメラを備える。空間的又は時間的解像度の面で特定の要件は必要とされない。しかしながら、従来の監視カメラは、通常、VGA(ビデオグラフィックアレイ)のピクセル解像度及び上記(640×480)と、15fps(毎秒あたりのフレーム)のフレームレート及び上記とを有するIP(インターネットプロトコル)カメラである。例えば、本開示の1つの例示的な実施形態によれば、1280×720ピクセル解像度及び30fpsのフレームレートを有する自動露出RGB(赤緑青)カメラである。
2)車両検出モジュール52
車両検出モジュールは、車両が合流ポイント領域に入るときに車両の存在を検出する。アルゴリズムの例示的な実施形態によれば、移動する車両の検出は、フレームの時間的差分をとることによって行われる。背景推定及び減算、並びにオプティカルフローに基づくものなどの他の動作及び前景検出アプローチが使用可能である。あるいは、分類モジュールの説明に図示されているように、分類モジュールは、注文レーン、すなわち内側又は外側注文ポイントの判定、すなわち分類に加えて、車両検出を行うために使用可能であり、車両はフレーム単位で到来する。車両が検出された後、合流ポイント領域を横断するときに車両の進行を監視するように追跡部が初期化される。車両検出モジュールは、システムが最大で1つの車両が任意の所定時点において合流ポイント領域を横断することができるという仮定のもとで動作することから、車両が既に追跡されていないと判定された場合にのみ動作する。
3)車両追跡モジュール54
車両追跡モジュールは、合流ポイント領域を横断するときに検出車両の位置を追跡する。使用可能な映像ベースの物体追跡アルゴリズムの例は、平均シフト追跡、ポイント及びグローバル特徴に基づくシルエット/輪郭、並びに、粒子フィルタ追跡部を含む。例示的な実施形態によれば、局所物体追跡モジュールは、異なるフレームにわたる物体の複数の検出間の対応を確立する。そのために、追跡モジュールは、監視されている領域内に存在するフレームの範囲にわたって検出された車両の位置を示すデータに対応する時間的順序を出力することができる。具体的には、追跡される各物体について、局所追跡モジュールは、物体が監視される領域内に残っているフレームの範囲にわたって、画素座標におけるその位置及び対応するフレーム番号を出力することができる。このモジュールは、合流ポイント領域における追跡を実行し、前記領域内の単一の車両が複数の車両検出信号をトリガするのを防止するために必要とされる。
注目すべきは、開示された方法及びシステムとは異なり、他のアプローチは、合流ポイントまで注文ポイントからの完全な車両追跡をあてにする自動合流解決策を含むということである。所定のレストランにとって利用可能なカメラ角度に応じて、このアプローチの性能は、図1に図示されるように、かなりの隠蔽を受けやすいことがある。しかしながら、ここに開示された方法及びシステムの場合には、合流が一度に1つの車両のみ保持することができるドライブスルーの領域で発生した後に追跡が行われることから、隠蔽は、稀な因子である。2つの追跡領域が図10において比較され、他の追跡解決策によってサポートされる軌跡は、矢印62及び64を含み、現在開示された外観ベースの分類方法及びシステムによってサポートされるように必要とされる追跡領域は、矢印60を含む。
4)分類モジュール56
分類モジュールは、車両検出モジュールによって合流ポイントにおいて検出された車両又は車両追跡モジュールによって追跡された車両が内側又は外側注文ポイントから到来しているかどうかについてフレーム毎の判定を行う。アルゴリズムの例示的な実施形態によれば、車両のトレーニング画像の勾配の抽出ヒストグラム(HOG)特徴においてトレーニングされた2つの線形カーネルサポートベクトルマシン(SVM)分類器が使用される。他の例示的な実施形態は、トレーニングされて適用されたより少ない又はより多い分類器を含むことができる。例えば、非線形カーネル、ニューラルネットワーク、教師ありクラスタリング及び決定ツリーによるSVMに基づくものなどの他の分類器が使用可能である。同様に、局所バイナリパターン(LBP)、連続平均量子化変換特徴(SMQT)などのテクスチャベースの特徴を含む他の特徴、色属性(例えば、色ヒストグラム)ベースの特徴、スケール不変特徴変換(SIFT)特徴又は高速化ロバスト特徴(SURF)などのスケール不変特徴、及び、視覚語のバッグ(BOV)又はフィッシャーベクトルなどの局所画像記述子が使用可能である。先に開示されたように、分類モジュールが入力映像に使用されることができる前に、分類器は、トレーニング段階においてトレーニングされなければならない。入力映像に対するトレーニングされた分類器の適用は、オンライン段階において発生する。
トレーニング段階:各分類器(すなわち、各合流レーンについての1つの分類器)は、分類器に割り当てられたレーンから到来する車両を有する画像を含む手動でラベリングされた正のサンプルと、車両を有しない画像及び分類器に割り当てられていないレーンからの車両を有する画像を含む手動でラベリングされた負のサンプルとによって独立してトレーニングされる。トレーニングサンプルは、RGBからグレースケールに変換される。続いて、HOG特徴が得られた単色画像から抽出され、線形カーネルSVM分類器トレーニング段階に供給される。分類器は、それらの対応する特徴表現を分離する規則を見出すことによって負のサンプルから正のサンプルを識別するようにトレーニングされる。
他の実施形態において、合流レーンのそれぞれから到来する車両の画像を区別するために単一の複数クラス分類器がトレーニングされる。例えば、2つのレーンが単一のレーンに合流する場合には、トレーニングされた分類器は、バイナリ分類器であり、クラス1は、レーン1から合流する車両の画像に対応し、クラス2は、レーン2から合流する車両の画像に対応する。多数の合流レーンがサポートされることができる。
さらに他の実施形態において、合流レーンのそれぞれから到来する車両の画像とともに車両を含まない画像を区別するために単一の複数クラス分類器がトレーニングされる。この場合、合流レーン数がNである場合、分類器におけるクラスの数はN+1である。
オンライン段階:各分類器がトレーニングされた後、それは映像取得モジュールによって取得されたライブ映像に適用される。1つの例示的な実施形態によれば、分類器は、車両が車両検出モジュールによって検出された又は車両が車両追跡モジュールによって追跡されたフレームに適用されるにすぎない。他の例示的な実施形態によれば、分類器は、全てのフレームに適用され、それらの出力は、車両検出及びレーン順序原点判定の双方を行うために使用される。
合流レーンの数に等しいクラスの数を有する単一の複数クラス分類器の代替的な実施形態において、分類器は、車両が車両検出モジュールによって検出されたフレームにのみ適用することができる。各レーンから合流する車両の画像に対応するクラス及び車両を有しない画像に対応する追加のクラスによってトレーニングされた単一の複数クラス分類器の代替的な実施形態において、分類器は、全てのフレーム又は車両が車両検出モジュールによって検出されたフレームに適用することができる。
以下の表1は、分類器1が内側レーンからの正サンプルによってトレーニングされ、分類器2が外側レーンからの正サンプルによってトレーニングされたと想定される2つの動作モードを図示している。入力画像が正の車両のサンプルを含み且つそれ以外は負であるとの判定を分類器が行う場合には、各分類器の出力は正の実数である。実施形態1において、車両が車両検出モジュールによって先に検出されたか又は追跡モジュールによって現在追跡されている場合にのみ判定が行われる。実施形態2において、分類器自体の出力は、車両が既に追跡されていない場合には車両の初期の存在の指標として使用される。車両の検出された初期存在は、後続フレームについての追跡イベントをトリガする。ここで留意すべきは、双方の分類器の出力が正の場合にはほとんど発生しないが、判定はそれらの場合についてさらに考慮される必要があるということである。それらの場合において、例えば、判定がより高い信頼性を有するクラスを選択することによって判定が行われることができる。分類器間に矛盾が存在しない将来のフレームについて待機しているなどの他の判定もまた行われることができる。
5)合流ポイント順序判定モジュール58
合流ポイント順序判定モジュールは、追跡モジュールの出力に応じて分類モジュールの出力を時間的に集約する。これは、追跡及び分類モジュールからの出力に基づく車両が合流ポイントを通過する順序に関する判定を効果的にもたらす。上述したように、追跡モジュールの出力は、多数のフレームにわたる所定の車両を識別するために使用することができる。分類器ベースの判定は、それらのフレームのそれぞれについて行われることができ、追跡モジュールによって固有の車両に対応するとみなされたフレームについて分類器の出力の数学的な組み合わせを行うことによって統一された又は集約の判定が行われることができる。例えば、最も簡単な実施形態において、所定の車両に対応する各フレームについて行われる判定にわたる多数決が出力される。他の実施形態によれば、フレームにわたる分類器出力の間の重み付けされた組み合わせを算出することができる。例えば、車両の初期の場合に行われた判定は、後の場合に行われたものよりも信頼性が高いとみなすことができ、そのため、より大きな重みが前の分類器の判定に割り当てられることができる。
本願明細書において想定される「対象」は、カスタム/個体要求及び/又はイベントについての順序をとった後、カスタマイズされた商品及び/又はサービス(「イベント履行」)を受信するために順番にキューを一般に待機する車両や歩行者などを含むことができる。例示の目的のために、本願明細書において称される対象は車両を含み、それぞれは、物品を購入する顧客と関連付けられている。しかしながら、「対象」及びキューの最終目的に対して本願明細書において行われる限定はない。
本願明細書において想定されるような「合流ポイント」は、対象が複数のキューのうちの1つから単一のキューレーンに入る及び/又は合流し、最終イベントポイントに接近するキューの一部であると考えられるカメラ視野内に定義された領域である。例示の目的のために、本願明細書において称される合流ポイントは、複数の隣り合った注文ポイントのうちの1つにおいて注文した後、車両が複数のキューのうちの1つからの単一のキューレーンに入る及び/又は合流し、サービス(支払い及び取得)ウィンドウに接近するキューの一部であるとここでは考えられる領域を含むことができる。
図11は、本開示にかかる注文順序を更新する方法100の概要を説明するフローチャートである。本方法は、S112において開始される。システムは、S114において、内側及び外側レーンが単一のキューレーンに収束するレーン合流領域を含む関心領域(「キュー領域」)を監視する少なくとも1つの映像ソースから映像データを取得する。映像データは、別個のキューレーンが単一のキューレーンに合流するレーン合流ポイント領域を含む個々の又は組み合わせられた視野を有する少なくとも1つのビデオカメラから生成される。システムは、S116において、レーン合流ポイント領域の境界の少なくとも近くに位置する車両について、フレーム又はフレームにおいて定義された関心領域(ROI)を検索する。説明した実施形態において、背景差分や動き検出のための既存のモデルベースのアプローチが車両を検出するために使用可能である。システムは、S118において、候補車両として検出された各対象に関連付ける。一般に、システムは、S120において、候補車両が以前に追跡部を割り当てられたか又はシーンに対して新しいかどうかを次に判定する。主に、この判定を行うために使用されるアプローチは、属性、他の対象からの距離、特徴のセット、及び/又は、領域内の多数の追跡された特徴などの記述子又は値を算出すること、候補対象の外観を記述すること、及び、閾値又は現在追跡されている他の車両の対応する記述子と記述子/値を比較することを含む。算出された記述子/値は、システムによって適用されている追跡アルゴリズムの種類に基づいている。同様に、システムによって適用された追跡アルゴリズムは、候補車両を検出するために使用されるモデルベースのアプローチに依存することができる。比較の結果に基づいて、システムは、関心のある新しい車両及び現在追跡されている車両カテゴリのうちの1つに属しているとして各候補車両を分類する。関心のある新しい車両として分類される候補車両に応じて、システムは、S122において、新たな車両に追跡部を割り当てる。各車両の移動は、S124において、後続の一連のフレームにわたって監視されるキュー合流ポイント領域内及びその周囲において追跡される。一般に、各追跡車両は、一連のフレームにわたって追随される一方で、その位置は、複数のキューが単一のキューレーンに収束する所定の/事前に定義された合流ポイント領域内にある。事前に定義された合流ポイント領域を横断する検出/追跡された車両に応じて、S125において、システムは、注文ポイントAを含む外側レーン又は注文ポイントBと関連付けられた内側レーンから由来する検出/追跡された車両かどうかを判定するために車両検出及び追跡と関連付けられた1つ以上のフレームを分類し、そして、システムは、S126において、サービスポイントに接近する車両の判定された順序を算出する。この判定された順序は、追跡車両が他の追跡車両に対して単一のキューレーンに移行したときに対応している。そして、システムは、S128において、単一のキューレーンにおける車両の観察された順序と一致するように注文の順序を更新する。1つの実施形態において、注文識別子は、追跡部に関連付けられ、一連のフレームにわたって対象を追い続ける。システムは、各車両がサービスポイントに到達するために予想される順序で注文が満たされることができるように、更新された注文順序を算出するために注文識別子を使用することができる。本方法は、S130において終了する。
図12は、合流されたキューレーンに複数の対象が移行する順序と一致する注文順序を自動的に生成する視覚ベースのシステム200の概略図である。システム200は、自動順序付け装置202と、本願明細書においてはネットワークと称される通信リンクによって互いに結合された画像ソース204とを含む。1つの実施形態において、システム200は、ユーザ装置206とさらに通信してもよい。これらの構成要素は、以下においてより詳細に説明される。
図12に図示された自動順序付け装置202は、装置202の一部であるか又は装置202と関連付けられたコントローラ210を含む。例示的なコントローラ210は、システム200によって受信した画像フレーム又は映像データ(以下、「映像データ」)の分析を制御するために構成されている。コントローラ210は、プロセッサ212に接続されたメモリ214に格納された処理命令の実行によって装置202の動作全体を制御するプロセッサ212を含む。
メモリ214は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、磁気ディスク若しくはテープ、光ディスク、フラッシュメモリ又はホログラフィックメモリなどの任意の種類の有形のコンピュータ読み取り可能な媒体を表すことができる。1つの実施形態において、メモリ214は、ランダムアクセスメモリ及び読み出し専用メモリの組み合わせを含む。ディジタルプロセッサ212は、シングルコアプロセッサ、デュアルコアプロセッサ(又はより一般的にはマルチコアプロセッサによる)、ディジタルプロセッサ、及び、協働する数値演算コプロセッサ、ディジタルコントローラなどによって様々に具現化されることができる。ディジタルプロセッサは、装置202の動作を制御することに加えて、図11、図13A及び図13Bに概略される方法の一部を実行するためにメモリ214に格納された命令を実行する。いくつかの実施形態において、プロセッサ212及びメモリ214は、単一チップに組み合わされてもよい。
装置202は、中央サーバ、ネットワークコンピュータなどのシステム200が接続されるネットワーク上の他の場所に配置されるか又はネットワーク全体に分散される若しくはそれにアクセス可能であり得ることが想定されるものの、装置202は、画像ソース204などのネットワーク装置において具現化されることができる。換言すれば、処理は、ネットワークを介して映像データを転送した後、サイト上で又は中央処理オフライン若しくはサーバコンピュータにおいて画像ソース204内で行われることができる。1つの実施形態において、画像ソース204は、装置202に対して映像データ230を中継及び/又は送信するように構成された装置とすることができる。他の実施形態において、映像データ230は、ワークステーション、データベース、メモリ記憶装置、ディスクなどの任意の適切なソースから入力されることができる。画像ソース204は、プロセッサ212及びメモリ214を含むコントローラ210と通信する。
本願明細書に開示された段階は、メモリ214に含まれる命令に応じてプロセッサ212によって実行される。特に、メモリ214は、キュー合流ポイント領域の映像から映像データを取得する映像バッファリングモジュール216と、キュー領域に含まれる複数のキュー内の候補対象を検出する車両検出モジュール218と、新しい各候補車両についての特徴を抽出する特徴抽出モジュール220と、追跡車両が合流ポイントを通過するまで、監視されるキュー合流ポイント領域内及びその周囲において各検出車両の位置を追跡する車両追跡モジュール222と、追跡車両が所定の合流ポイント領域内で検出/追跡されるのに応じてサービスポイントに接近する車両の観察された順序を算出する合流ポイント調停モジュール224と、システムと、単一の合流後ポイントキューレーンにおける車両の観察された順序と一致するように注文履行の順序を更新するイベント報告モジュール225とを格納する。さらに、想定される実施形態はまた、各候補車両が新たに検出された車両や現在追跡されている車両であるかを判定する車両検証モジュール219を含むことができる。これらの命令が、単一のモジュール内に又は異なる装置に具現化された複数のモジュールとして格納されることができる実施形態が想定される。モジュール216−225は、例示的な方法を参照して後述する。
本願明細書において使用されるソフトウェアモジュールは、ソフトウェアの目的であるタスクを実行するためにコンピュータ又は他のディジタルシステムを構成するように、装置202又は他のディジタルシステムによって実行可能な命令の任意のコレクション又はセットを包含するように意図される。本願明細書において使用される用語「ソフトウェア」は、RAM、ハードディスク、光ディスクなどの記憶媒体に格納されたそのような命令を包含するように意図され、ROMなどに格納されたソフトウェアであるいわゆる「ファームウェア」を包含するようにも意図される。そのようなソフトウェアは、様々な方法で構成されることができ、ライブラリとして構成されたソフトウェア部品、リモートサーバ上などに格納されたインターネットベースのプログラム、ソースコード、解釈コード、オブジェクトコード、直接実行可能なコードなどを含むことができる。ソフトウェアは、所定の機能を実行するために、システムレベルコード又はサーバ(図示しない)若しくは他の場所に存在する他のソフトウェアへのコールを呼び出すことができることが想定される。装置202の様々な部品は、バス226によって全て接続されてもよい。
図12を引き続き参照すると、装置202はまた、外部装置と通信するためにネットワークインターフェースなどの1つ以上の通信インターフェース228を含む。通信インターフェース228は、例えば、モデム、ルータ、ケーブル及び/又はイーサネット(登録商標)ポートなどを含むことができる。通信インターフェース228は、入力として映像データ230を受信するように構成されている。
装置202は、サーバコンピュータ、コントローラ又は例示的な方法を実行するための命令を実行することができる任意の他のコンピューティングデバイスなどの1つ以上の特殊目的又は汎用コンピューティングデバイスを含むことができる。
図12は、さらに、電子形式の映像データを取得及び/又は提供するために画像ソース204に接続された装置102を図示している。ソース204(以下、「ビデオカメラ204」)は、関心のあるシーン(キュー合流ポイント領域)からの映像をキャプチャする1つ以上の監視カメラを含むことができる。カメラの数は、監視されるキュー領域の拡張及び位置に応じて変化し得る。キューの長さが単一のカメラ視野を容易に越える場合には複数のカメラが必要となることがある。複数のカメラの組み合わせ視野は、通常、合流ポイント領域を囲む領域全体を把握することが想定される。外部照明源がない又は周囲ソースからの不規則な照明がある領域において夜間に本方法を実行するために、ビデオカメラ204は、近赤外(NIR)機能を含むことができる。さらにまた、本開示において使用されるビデオカメラ204は、予想される速度でシーンを通過する1つ以上の車両を処理することが可能な(十分に高い)フレームレートで映像をキャプチャするように動作する。
図12を引き続き参照すると、映像データ130は、観察された車両順序232及び/又は更新された注文順序236を出力するように装置202による処理を受ける。
さらにまた、システム200は、グラフィックユーザインターフェース(GUI)234上で適切な形式で出力を表示することができる。GUI234は、ユーザに対して情報を表示するためのディスプレイ、入力として命令を受信するために、キーボードやタッチ若しくは書き込み可能スクリーンなどのユーザ入力装置、及び/又は、ユーザ入力情報及びコマンド選択をプロセッサ212に通信するために、マウス、タッチパッド、トラックボールなどのカーソル制御装置を含むことができる。あるいは、装置202は、ユーザの支払い及び/又は注文履行などの出力をユーザに表示することができるユーザ装置206に出力を提供することができる。さらにまた、1つの想定される実施形態において、観察された車両順序232及び/又は更新された注文順序236は、効率及び利益の潜在性を最大化するためにスループットモデルを再設計するために、データに対して追加の処理を実行することができる他のコンピュータアプリケーションに送信することができる。
図13A−Bは、複数の車両が複数のキューレーンから単一のキューレーンに合流する順序と一致するイベント順序を自動的に生成する方法300を説明する詳細なフローチャートである。本方法は、S302において開始される。システムは、S304において、関心領域(「キュー合流ポイント領域」)を監視する少なくとも1つの映像ソースから映像データを取得する。映像データは、別個のキューレーンが単一のキューレーンに合流する合流ポイント領域を含む個々の又は組み合わせた視野を有する少なくとも1つ以上のビデオカメラから生成される。例としての画像フレームが図14に図示されており、本発明の方法は、ファストフードのドライブスルーにおいて実施されることができる。この図示された例において、開始ポイントは、注文がマイクロフォンを使用してとられるメニューの位置に対応する隣り合った注文エントリポイント14、16を含む。合流ポイント446は、画像空間内の線としてマークされる。ビデオカメラは、線445と446との間において合流ポイント領域を横断するときに車両448の動きをキャプチャするために十分に広い個々の又は組み合わせた視野を含む。カメラ視野は、必要に応じて、開始ポイント前に位置する別個のキューのエントリ部441、443、すなわち対象が別個のキューいずれか1つに入る場所と、サービスポイントなどの合流ポイント後に位置する単一のキューの終了部とを含むキュー領域の追加領域を包含することができる。
映像データは、ビデオカメラから又はビデオカメラからの映像データを中継及び/又は格納する中間画像ソースから直接取得することができる。それにかかわらず、ビデオカメラの配置は、シーンにおいて観察される隠蔽を回避する及び/又は最小化するように合流ポイント領域の近くに固定することができる。しかしながら、本開示は、映像バッファリングモジュール216が他の場所に配置されたビデオカメラから取得された映像データのジオメトリをサポートすることができることを想定する。換言すれば、本願明細書に開示されたシステムは、既存の監視インフラストラクチャに含まれるカメラから取得した映像データを処理することができる。
図13Aに戻ると、映像バッファリングモジュール216は、処理のために対象検出モジュール218に対して映像データから取得した映像フレームを送信する。モジュール218は、順序内の各フレーム又は全てのn番目のフレームを処理することができる。同様に、モジュール218は、画像フレーム全体又はフレーム内に定義された関心領域(ROI)を処理することができる。より具体的には、ROIは、新しい車両がキュー合流ポイント領域に現れることが予想される画像フレームのROIを含むことができる。指定されたROIの処理の1つの態様は、合流ポイント領域を越えて出現及び/又は移動する対象の検出(「誤検出」)を防止するということである。画像フレーム内にROIを定義することにより、システムは、(交通フローについていくようにリアルタイム要件が与えられた)対象検出段階の計算負荷を制限することができ、誤検出の数を低減することができる。
したがって、キュー合流ポイント領域を含むROIは、S306において、1つの想定される実施形態において定義されることができる。ROIは、ビデオカメラが設定されて校正されたときにユーザによって手動で定義されることができる。ビデオカメラが固定されたままである限り、キュー領域は変化しないことから、このROIは一度に定義されることができる。(例えば、ズーム、パン、チルト又は平行移動のために)カメラの設定を変更すると、定義された領域は、再校正手順中に更新されることができる。
処理は、さらにまた、ヒートマップ上の閾値処理を行うことにより、関心のあるキュー領域の外側に検出された物体(「外れ値」)を除去することができる。特に、処理は、S310において、ヒートマップを表すマスクを生成することができ、その後にハイライト領域の外側で検出された任意の物体を破棄することができる。
この学習アプローチは、大量の無関係な背景ノイズ又は「ファントム」物体を除去するために使用されることができる。代替の実施形態は、潜在的な新しい関心車両が検出される可能性を判定するために、これらの学習されたルートの中心からの距離を適用することができる。
図13Aに戻ると、車両検出モジュール218は、S314において、移動する前景物体について定義されたROI(又はフレーム全体)を検索する。映像における前景物体検出は、多数の異なる方法によって達成することができる。映像データに対する分析を実行するアプリケーションにおいて使用される動き検出の2つの一般的な方法は、フレーム間差分と背景推定及び減算(「背景差分」)を含む。フレーム差分アプローチは、通常はフレームレートとカメラジオメトリに対する物体の速度の非常に狭い範囲に調整することを必要とする、映像ストリームにおける連続フレーム間の画素毎の差分を算出することによってカメラ視野内の移動物体を検出する。これらの差分を閾値化することにより、移動物体を含む領域(「動き検出された領域」)を容易に識別することができる。
あるいは、動き/前景検出のためのモデルベースのアプローチが使用可能である。1つの実施形態において、システム200は、背景減算アプローチを行う。背景減算アプローチは、移動物体よりもむしろ前景物体を検出する。しかしながら、移動物体はまた、それらの外観が背景推定とは異なることから、前景検出をトリガする。例えば、いかなる前景物体もない背景の画像が利用可能である場合、モデルは、共通の画素値を推定するためにトレーニングされる。主に、背景減算は、公知又は推定された背景モデルと映像シーケンス内の各現在フレームとの間の絶対強度/色差を算出する。背景モデルと各現在フレームを比較することにより、強度/色空間において算出された距離が所定の閾値を満たしていない画素が背景画素として分類され、強度/色空間において算出された距離が閾値を満たして超えている(すなわち、既存の背景モデルに適合しない)画素は、前景画素として分類される。検出された前景画素は、前景物体/動き検出領域を示している。
背景モデル又は推定値を維持するために使用される戦略は、各画素についての歴史的統計モデル(例えば、ガウス混合モデル(GMM)ベースのアプローチなどのパラメトリック記述子密度モデル又はカーネルベースの推定などの非パラメトリック記述子密度モデル)、(主成分分析を使用する)固有背景、(各次フレーム後に背景を段階的に更新する)平均実行演算、及びメディアンフィルタなどを含む。背景モデルは、通常、シーンの背景における遅い変動から構成するために動的に調整される。想定される実施形態において、背景推定値は、所定の学習率係数によって制御された速度で各入力フレームによって連続的に更新されることができる。しかしながら、背景推定値がより遅いレートで更新されることができる実施形態が想定される。他の選択肢もまた、現在の背景モデルを構築するために想定される。
画素分類を使用してバイナリマスク/差分画像(すなわち、前景物体マスク)が生成される。1つの実施形態において、当該技術分野において理解されているモルフォロジ演算は、架空の動きのソースを除去するために且つ前景又は移動物体に関連する画素を正確に検出するために差分画像に適用することができる。例としてのフィルタリング技術は、物体が誤って少数の別個の前景要素に分割されたバイナリマスクにおける孔を充填して領域における小さな間隙を跨ぐために拡張及び閉鎖動作を適用することを含むことができる。連結成分分析(CCA)はまた、バイナリマスクにおいて動きが検出される小さな余分な領域を除去するために使用可能である。これらの動き検出領域は、関心が小さすぎる前景物体(例えば、シーンを通して飛んでいる鳥)から又は一般画像ノイズから生じることができる。CCAスクリーニングにおいて使用される一般的な特徴は、物体領域、方位角及び充填密度である。
S316において、モジュール218は、関心のある候補車両と各検出車両/動き検出領域を関連付ける。モジュール218は、複数のフレームにおける同一の車両/動き領域に対応する前景画素を検出することができることから、車両検証モジュール219は、S318において、1つの追跡部のみが候補車両毎に割り当てられていることを確認することができる。同じ対象の「複数の目撃」が複数の候補対象として扱われるのを回避するために、対象検証モジュール219は、1つの追跡部のみが各検出車両に割り当てられていることを保証する。追跡部の割り当てを管理することにより、モジュール219は、基本的に、複数の追跡部が複数のフレームにわたって検出された同一対象に割り当てられるのを防止することができる。この検証手順の1つの態様は、追跡段階において必要とされる計算負荷を低減することができるということである。この検証手順の他の態様は、誤ったイベント順序検出の数を低減することができるということである。
モジュール219は、S320において、各候補対象の記述子を抽出する。システムは、想定される実施形態において1つの追跡アルゴリズムを適用することから、記述子は、選択された追跡アプローチに対応している。
本願明細書において想定される例としての追跡アルゴリズムは、領域ベースの追跡アルゴリズム及びポイント追跡部を含む。領域ベースの追跡アルゴリズムの例は、平均シフト及びパーティクルフィルタを含むことができる。領域ベースの追跡アルゴリズムについて抽出されることができる例としての記述子は、色ヒストグラム及び/又は等配向勾配ヒストグラムなど、及び、各現在追跡対象に対する検出された動き領域の距離などの属性を含む。主に、これらの追跡アルゴリズムは、領域として対象全体を考える。ポイント追跡部の例は、KLT追跡を含むことができる。ポイント追跡部について抽出されることができる例としての記述子は、動き検出された領域からの特徴又は動き検出された領域における多数の現在追跡されている特徴のセットを含む。主に、ポイント追跡部は、候補対象(前景物体)のハードエッジ、コーナー及び特徴点などのローカライズされたエントリのセットを考える。
モジュール219は、S322において、所定の閾値及び現在追跡されている記述子のうちの1つと各記述子を比較する。比較に基づいて、モジュール219は、S324において、新たに検出された車両及び現在追跡されている車両のうちの一方に属するものとして各候補車両を分類する。
領域ベースの追跡アルゴリズムについて、抽出された記述子が候補車両の属性である場合、属性は、現在追跡されている車両の属性と比較される。任意の現在追跡されている車両の属性と一致しない動き検出領域の属性に応じて、モジュール219は、新たに検出された車両に属するものとして候補車両を分類する。現在追跡されている車両の属性と一致する動き検出領域の属性に応じて、モジュール219は、現在追跡されている車両に属するものとして候補車両を分類する。
抽出された記述子が画像平面上の動き検出された領域と各現在追跡されている車両との間の算出された距離である場合には、算出された距離は、所定の距離閾値と比較される。算出された距離が所定の閾値を満たして超えるのに応じて、モジュール219は、新しい車両に属するものとして候補車両を分類する。算出された距離が所定の閾値を満たしていないことに応じて、モジュール219は、現在追跡されている車両に属するものとして候補対象を分類する。
ポイント追跡部について、抽出された記述子が動き検出された領域からの特徴のセットである場合、特徴のセットは、現在追跡されている車両の特徴のセットと比較される。一致する特徴の数がカウントされる。特徴の数が所定の閾値数を満たしていないことに応じて、モジュール219は、新たに検出された車両に属するものとして候補車両を分類する。特徴の数が所定の閾値数を満たして超えるのに応じて、モジュール219は、現在追跡されている車両に属するものとして候補車両を分類する。
同様に、抽出された記述子が動き検出された領域内のいくつかの現在追跡されている特徴を含む場合には、この数は所定の閾値と比較される。現在追跡されている特徴の数が所定の閾値数を満たしていないことに応じて、モジュール219は、新たに検出された車両に属するものとして候補車両を分類する。現在追跡されている特徴の数が所定の閾値数を満たして超えるのに応じて、モジュール219は、現在追跡されている車両に属するものとして候補車両を分類する。このアプローチの背後にあるロジックは、追跡される車両が移動しているとき、動き検出されたブロブが追跡車両と重複し、既に追跡されている特徴のセットを含む。
しかしながら、1つの実施形態は、追跡モードの独立した検証を実行することが想定される。例えば、対象検出モジュール218が候補対象を検出すると、モジュール219は、検出された候補対象が次のフレームにおいて検出された所定の割合の候補対象と重複するかどうかを判定することができる。重複が所定の割合を満たして超えるのに応じて、モジュール219は、重複閾値が満たされた連続フレーム数を判定することができる。連続フレーム数が所定の閾値数を満たして超えるのに応じて、モジュール219は、新しい対象に属するものとして候補対象を分類する。連続フレーム数が所定の閾値数を満たしていないことに応じて、モジュール219は、現在追跡されている対象に属するものとして候補対象を分類する。1つの実施形態において、閾値数は、5つの連続画像フレームとすることができる。
候補車両が現在追跡されている車両に属するものとして分類されるのに応じて、モジュール219は、S326において、対象を破棄する。しかしながら、特徴抽出モジュール220は、新しい各対象、すなわち、S328において検出された車両に対して追跡部を割り当てる。より具体的には、モジュール220は、追跡部に対してS320において抽出された記述子(属性や特徴)を割り当てる。しかしながら、検証手順(S318−S324)を省略する実施形態について、記述子は、新しい各車両について抽出される。上述したように、記述子は、システムによって後に適用される追跡アルゴリズムに基づくことができる。例えば、KLTなどのポイント追跡部が適用された場合、抽出された特徴は、ハリスコーナー、スケール不変特徴変換(SIFT)特徴、及び、高速化ロバスト特徴(SURF)からなる群から選択されることができる。同様に、平均シフトなどの領域ベースの追跡部が使用される場合には、抽出された特徴は、カラーヒストグラムなどの対象領域の色属性を含むことができる。
特徴は、カラー又はグレースケール画像のいずれかから抽出されることができる。NIR照明が使用される実施形態において、モジュール220は、グレースケール画像からハリスコーナー特徴又はグレーレベルヒストグラムを抽出することができる。
あるいは、1つの実施形態において、検出された動き領域のテンプレート(すなわち、新たな関心のある対象のクロッピングされたサブ画像)が特徴のセットとして使用可能である。
抽出された記述子(以下、「特徴」)は、S330において、映像ストリームにおける後続フレームにわたって抽出された特徴を追跡する車両追跡モジュール222に対して送信される。モジュール222によって使用される追跡アルゴリズムは、前のモジュール219、220によって抽出されたものと一致している特徴を処理する。上述したように、モジュール222は、これらに限定されるものではないが、平均シフト追跡、輪郭タッキング、カルマンフィルタ、KLT追跡及びパーティクルフィルタなどを含むいくつかの異なるアプローチのうちの1つを適用することができる。一般に、モジュール220は、追跡部を使用して後続フレームにわたって追跡される各対象の位置を判定する。モジュール220は、対象がシーン内のキューによって移動すると予想し、したがって、位置は、時間経過とともに変化する。車両がカメラ(又は組み合わせカメラ)の視野内に残る各フレームについて、モジュール220は、S332において、画素座標における対象の位置を示す追跡データを生成する。
1つの実施形態において、モジュール220は、S334において、追跡される特徴の動きが剛体のものと一致することを確認するために動きの一貫性の検査を行うことができる。所定の対象についての特徴のセットの全体的な動き/移動を監視することにより、セットと共同して移動していない特徴、すなわち、動き検出された領域から最初は抽出されたが、同じポイントにおいてシーンの他の要素上に漂流している特徴が識別されて特徴セットから除去される。このテストは、例えば、追跡された関心のある対象をすぐに囲む背景領域において誤って選択された初期の特徴を検出するか、又は、追跡された対象のカメラの視野を隠蔽する他の対象若しくは物体に対応する特徴を除去するために実行されることができる。特に、第1及び第2の車両のうちの一方が初期位置から移動した場合又は双方の車両が僅かに異なる方向に移動するときにこの除去が生じる。この種の剪定は、より滑らかでより堅牢な追跡性能を生成することができ、特に閉鎖されたレイアウト及び多数の開始及び停止イベントを有するキュー構造について、本システムの全体的な精度を向上させることができる。
例示的な例について、システムによって使用される追跡アプローチがハリスのコーナー特徴を有するKLTポイント追跡部を含む実施形態において、追跡されたハリスコーナー特徴点のセットは、「よく」ない特徴を考慮して動的に調整(剪定)されることができる。
1つの代替の追跡実施形態において、検出された動き領域のテンプレート(すなわち、新たな関心のある対象のクロッピングされたサブ画像)は、特徴のセットとして使用可能である。テンプレートマッチングのアプローチは、後続フレームにおいてこのテンプレートについての最良の一致を見つけるために使用される。テンプレートは、遅く変化する照明、ポーズなどに対処するために、新しい位置が判定されるたびに更新される。
対象追跡モジュール222は、合流点調停モジュール224に対して追跡データ/位置情報を送信する。所定のフレームについて、合流ポイント調停モジュール224は、S336において、合流ポイント領域の位置を定義することができる。あるいは、仮想線が画像平面上に定義されることができる。カメラ構造及びキュー構造が同じままである限り、合流ポイントは変化しないことから、このステップは、一度だけ実行されることができる。
追跡される各車両と関連付けられた位置情報を使用して、モジュール224は、S338において、追跡される車両が定義された合流ポイントの範囲内であるかどうかを判定する。追跡車両が所定の画像フレームの合流ポイント領域を横断するのに応じて(S338においてはい)、モジュール224は、S340において、単一のキューに合流されるものとして対象を関連付ける。この時点で、モジュール224は、車両が合流ポイント領域を横断しているときに後続フレームにおいてその車両を追跡し続ける。
S338における判定は、合流ポイントの位置まで追跡された特徴位置のいずれかの統計量を算出して比較することができる。例えば、1つの実施形態において、単一ポイントは、追跡された対象の位置を概ね特定する位置情報から算出されることができる。KLT追跡部などのポイント追跡部について、この単一のポイントは、追跡された特徴位置の重心とすることができる。他の例示的な統計量は、合流ポイント領域内を通過する、重心、メディアン中心位置、第1のポイント、所定の割合の特徴点及び最後のポイントなどを含むことができる。あるいは、モジュール224は、追跡されるポイントを含む凸包を算出することができる。モジュール224は、外殻と定義された合流領域との間の所定の割合の重複が発生した場合に合流イベントを検出することができる。カーネル又は領域ベースの追跡部がシステムによって適用される場合には同様のアプローチを使用することができ、追跡部のカーネルと合流領域との間の重複が測定可能であり、合流イベントは、重複の度合いが所定の閾値を満たして超える場合にトリガされる。
検出車両が、S340において、単一のキューに合流されたものとして分類されると、S341は、検出/追跡車両が注文ポイントAと関連付けられた外側レーン又は注文ポイントBと関連付けられた内側レーンから由来するものであるかどうかを判定するために、車両検出及び/又は車両追跡と関連付けられた1つ以上の映像フレームを分類する。S342において、対象の観察される順序は、サービスポイントに接近する。この計算の一環として、モジュール224は、基本的に、対象の観察された順序における追跡された関心のある対象の場所を算出する。モジュール224は、イベント報告モジュール225に対してこの算出された観察順序を送信することができる。
システムは、必要に応じてそれらの各注文エントリポイントから対象を追跡することができることから、イベント報告モジュール225は、観察された順序と一致する(図示された実施形態においては「注文」など)各対象に関連する情報の正確な順序を判定することができる。モジュール225は、S344において、終了イベント順序を訂正及び/又は更新する。図示された例において、終了イベントは、支払い及び取得ポイントの一方又は双方において満たされる必要がある注文を含むことができる。特に、モジュール225は、前記対象が検出された場合には各対象に割り当てられた識別子を使用して終了イベント順序を更新することができる。識別子は、追跡部によって対象を追随していることから、モジュール225は、対象が終了ポイントに到達するのと同じ順序で各識別子と関連付けられたイベントを満たすように順序を更新することができる。
モジュール225は、図示された例においては、レストランの販売時点管理(POS)システムなどのユーザコンピュータ装置206に対して、この更新された順序を提供することができる。要約すると、モジュール225は、新しい各合流車両をユーザ装置に対するメッセージに変換する。代替の実施形態において、イベント報告モジュール225はまた、非合流イベントを報告することもできる。これらの非合流イベントは、対象がキューから逸脱するか又はキューに割り込むときを示すことができる。本方法は、S346において終了する。
本開示によって算出された再順序付け情報は、処理が隣り合ったキューにおいて開始され且つ隣り合ったキューが収束した後に単一レーンキューにおいて終了する、特に、処理及びその出力がキューにおける人に追随する同様の環境の影響を受けやすい。本開示を使用することができるビジネスの非限定的な例は、銀行(屋内及びドライブスルーの窓口レーン)、食料品小売店(チェックアウトレーン)、空港(セキュリティチェックポイント、発券キオスク、搭乗領域及びプラットフォーム)、レストラン(ファストフードカウンタ及びドライブスルーなど)、劇場、洗車場などを含む。
方法300は、一連の動作又はイベントの形態で図示されて上述されているが、本開示の様々な方法又は処理は、そのような動作又はイベントの図示された順序によって限定されるものではないことが理解される。これに関して、以下において具体的に提供されるのを除き、いくつかの動作又はイベントは、本開示にかかる本願明細書において図示されて記載されたものから離れて、異なる順序で及び/又は他の動作又はイベントと同時に生じてもよい。さらに留意すべきは、図示された全てのステップが本開示にかかる処理又は方法を実施するために必要とされ得るとは限らず、1つ以上のそのような動作が組み合わされてもよいということである。本開示の図示された方法及び他の方法は、本願明細書に記載された制御機能を提供するために、ハードウェア、ソフトウェア又はそれらの組み合わせにおいて実現されてもよく、上記図示されたシステム200(限定されるものではない)を含む任意のシステムにおいて使用されてもよく、本開示は、本願明細書に図示されて記載された特定の用途及び実施形態に限定されるものではない。
本願明細書における詳細な説明のいくつかの部分は、中央処理装置(CPU)、CPU用のメモリ記憶装置及び接続された表示装置を含む従来のコンピュータ部品によって実行されるデータビットに対する操作のアルゴリズム及び記号表現に関して提示される。これらのアルゴリズムの説明及び表現は、他の当業者に作業の内容を最も効果的に伝えるためにデータ処理分野の当業者によって用いられる手段である。アルゴリズムは、一般に、所望の結果をもたらす首尾一貫した一連のステップとして認識される。ステップは、物理量の物理的操作を必要とするものである。通常、必須ではないものの、これらの量は、格納、転送、結合、比較及びその他の操作が可能な電気又は磁気信号の形態をとる。ビット、値、要素、記号、文字、用語、数字などとしてこれらの信号を参照することは、主に一般的使用の理由のために、時には便利であることが証明されている。
しかしながら、これらの及び類似の用語の全ては、適切な物理量と関連付けられ、単にこれらの量に適用される便利なラベルであることが理解されるべきである。特に明記しない限り、本願明細書における説明から明らかなように、説明全体を通して、「処理」又は「計算」又は「算出」又は「判定」又は「表示」などの用語を利用する議論は、コンピュータシステムのレジスタ及びメモリ内の物理的(電子的)量として表されるデータを操作して、コンピュータシステムメモリ若しくはレジスタ又は他のそのような情報記憶装置、送信又は表示装置内の物理量として同様に表される他のデータに変換するコンピュータシステム又は同様の電子計算装置の動作及び処理を指すことが理解される。
例示的な実施形態はまた、本願明細書において説明された動作を実行する装置に関する。この装置は、必要な目的のために特別に構成されてもよく、又は、コンピュータに格納されたコンピュータプログラムによって選択的に起動若しくは再構成される汎用コンピュータを備えてもよい。そのようなコンピュータプログラムは、これらに限定されるものではないが、フロッピー(登録商標)ディスク、光ディスク、CD−ROM及び光磁気ディスクを含む任意の種類のディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気若しくは光カード、又は、それぞれコンピュータシステムバスに結合された電子命令を格納するのに適した任意の種類の媒体などのコンピュータ読み取り可能な記憶媒体に格納されてもよい。
本願明細書において提示されるアルゴリズム及び表示は、本質的に、特定のコンピュータ又は他の装置に関連するものではない。様々な汎用システムが本願明細書の教示にかかるプログラムとともに使用されてもよく、又は、本願明細書に記載された方法を実行するためにより特化した装置を構成することも便利であることがわかる。様々なこれらのシステムについての構成は、上記説明から明らかである。さらに、例示的な実施形態は、任意の特定のプログラミング言語を参照しながら説明されていない。様々なプログラミング言語が本願明細書に記載された例示的な実施形態の教示を実施するために使用されてもよいことが理解される。
機械読み取り可能な媒体は、機械(例えば、コンピュータ)によって読み取り可能な形式で情報を格納又は送信する任意の機構を含む。例えば、機械読み取り可能な媒体は、ほんの一例言及すると、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、及び、電気的、光学的、音響的又は他の形式の伝搬信号(例えば、搬送波、赤外線信号、ディジタル信号など)を含む。
明細書全体にわたって図示された方法は、コンピュータ上で実行可能なコンピュータプログラム製品において実施することができる。コンピュータプログラム製品は、ディスク、ハードドライブなどの制御プログラムが記録される非一時的なコンピュータ読み取り可能な記録媒体を含むことができる。非一時的なコンピュータ読み取り可能な媒体の一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ若しくは任意の他の磁気記憶媒体、CD−ROM、DVD又は他の任意の光媒体、RAM、PROM、EPROM、フラッシュEPROM又は他のメモリチップ若しくはカートリッジ、又は、コンピュータが読み取って使用することができる他の任意の有形媒体を含むことができる。
あるいは、本方法は、電波及び赤外線データ通信中に生成されるような音波又は光波などの伝送媒体を使用してデータ信号として制御プログラムが具現化される搬送波などの一時的な媒体において実施することができる。