(57)【要約】  いくつかの実施形態は自動ゲーム認識のためのシステムに関し、本システムは、テーブルゲームを含む視野の画像フレームを捕捉するように構成される少なくとも１つの画像センサと、視野の視野像の奥行きを捕捉するように構成される少なくとも１つの奥行きセンサと、画像フレームおよび視野像の奥行きを受信するように構成され、かつ視野内に現れる少なくとも１つのゲーム状態の自動認識を生成するために、受信した画像フレームおよび視野像の奥行きを処理するように構成されるコンピューティングデバイスとを備える。実施形態はまた、自動ゲーム認識のための方法およびコンピュータ可読媒体に関する。さらなる実施形態は、ゲームテーブル上でのゲームプレイおよび／またはゲームイベントをモニタするための方法およびシステムに関する。
2019522507.tif 000002
【特許請求の範囲】
【請求項１】
テーブルゲームを含む視野の画像フレームを捕捉するように構成される少なくとも１つの画像センサと、
前記視野の視野像の奥行きを捕捉するように構成される少なくとも１つの奥行きセンサと、
前記画像フレームおよび前記視野像の奥行きを受信するように構成され、かつ前記視野内に現れる少なくとも１つのゲーム状態の自動認識を生成するために、受信した前記画像フレームおよび前記視野像の奥行きを処理するように構成されるコンピューティングデバイスと
を備える、自動ゲーム認識のためのシステム。
【請求項２】
前記画像フレームが、可視スペクトル内の画像、もしくは可視スペクトルを構成する画像、または赤外線もしくは紫外線画像を含む、請求項１に記載のシステム。
【請求項３】
前記視野像の奥行きが、前記視野の飛行時間データ点およびフィールドの奥行きを反映する位相情報データ点を含む、請求項１または請求項２に記載のシステム。
【請求項４】
前記視野内に現れる前記少なくとも１つのゲーム状態が、ゲーム開始、チップ検出、チップ値予測、チップ積み重ね高さ予測、およびゲーム終了のうちの１つもしくは複数またはすべてを含む、請求項１から３のいずれか一項に記載のシステム。
【請求項５】
テーブルゲームを含む視野の画像フレームを獲得することと、
前記視野の視野像の奥行きを獲得することと、
前記視野内に現れる少なくとも１つのゲーム状態の自動認識を生成するために、受信した前記画像フレームおよび前記視野像の奥行きを処理することと
を含む、自動ゲーム認識の方法。
【請求項６】
前記画像フレームが、可視スペクトル内の画像、もしくは可視スペクトルを構成する画像、または赤外線もしくは紫外線画像を含む、請求項５に記載の方法。
【請求項７】
前記視野像の奥行きが、前記視野の飛行時間データ点およびフィールドの奥行きを反映する位相情報データ点を含む、請求項５または請求項６に記載の方法。
【請求項８】
前記視野内に現れる前記少なくとも１つのゲーム状態が、ゲーム開始、チップ検出、チップ値予測、チップ積み重ね高さ予測、およびゲーム終了のうちの１つもしくは複数またはすべてを含む、請求項５から７のいずれか一項に記載の方法。
【請求項９】
１つまたは複数のプロセッサによって実行されるとき、
テーブルゲームを含む視野の画像フレームを獲得することと、
前記視野の視野像の奥行きを獲得することと、
前記視野内に現れる少なくとも１つのゲーム状態の自動認識を生成するために、受信した前記画像フレームおよび前記視野像の奥行きを処理することと
の実施を引き起こす、自動ゲーム認識のための命令を含む、非一時的コンピュータ可読媒体。
【請求項１０】
前記画像フレームが、可視スペクトル内の画像、もしくは可視スペクトルを構成する画像、または赤外線もしくは紫外線画像を含む、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記視野像の奥行きが、前記視野の飛行時間データ点およびフィールドの奥行きを反映する位相情報データ点を含む、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記視野内に現れる前記少なくとも１つのゲーム状態が、ゲーム開始、チップ検出、チップ値予測、チップ積み重ね高さ予測、およびゲーム終了のうちの１つもしくは複数またはすべてを含む、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１３】
ゲームテーブルのテーブル表面上でのゲームプレイをモニタする方法であって、
前記テーブル表面の捕捉画像をリアルタイムで分析して、前記テーブル表面上の目的とする複数の第１の予め規定された領域のうちのいずれか１つにおけるゲーム対象物の存在を識別することと、
目的とする複数の前記第１の予め規定された領域のうちの前記いずれか１つにおいて存在すると識別されているゲーム対象物に応じて、ゲームイベントのタイムスタンプを記録することと、
ゲームイベントデータをサーバに送信することであって、前記ゲームイベントデータが、前記タイムスタンプ、前記ゲームイベントの指標、および目的とする複数の前記第１の予め規定された領域のうちの前記いずれか１つの識別子を含む、送信することと
を含む、方法。
【請求項１４】
前記ゲーム対象物がゲームカードである、請求項１３に記載の方法。
【請求項１５】
前記ゲーム対象物が位置マーカである、請求項１３に記載の方法。
【請求項１６】
前記分析することが、前記テーブル表面上の少なくとも１つの賭け対象物の存在を識別することを含む、請求項１３から１５のいずれかに記載の方法。
【請求項１７】
前記少なくとも１つの賭け対象物が前記ゲーム対象物とは異なる、請求項１６に記載の方法。
【請求項１８】
前記少なくとも１つの賭け対象物の存在が、目的とする複数の第２の予め規定された領域のうちの１つまたは複数において識別される、請求項１７に記載の方法。
【請求項１９】
前記分析することが、目的とする前記１つまたは複数の第２の予め規定された領域内の賭け対象物の１つまたは複数の群を識別することを含む、請求項１８に記載の方法。
【請求項２０】
前記分析することが、
前記テーブル表面に対する前記賭け対象物の１つまたは複数の群の各々の高さを予測することと、
賭け対象物の各群内に存在する賭け対象物の数を予測することと、をさらに含む、請求項１９に記載の方法。
【請求項２１】
前記分析が、賭け対象物の各群の一番上の賭け対象物の色を識別することをさらに含む、請求項２０に記載の方法。
【請求項２２】
少なくとも１つの賭け対象物の存在が識別される目的とする各第２の予め規定された領域と関連付けられた賭け金を自動的に予測することをさらに含み、前記予測することが、賭け対象物の各群の前記一番上の賭け対象物の識別された前記色、および目的とする前記それぞれの第２の領域内の賭け対象物の各群内の賭け対象物の予測された前記数に基づく、請求項２１に記載の方法。
【請求項２３】
前記捕捉画像が、マルチスペクトル画像を含み、前記分析することが、前記テーブル表面上の前記複数の目的とする前記第１の予め規定された領域または目的とする前記第２の予め規定された領域のうちのいずれか１つにおける前記ゲーム対象物の存在を識別するために、前記マルチスペクトル画像のマルチフレーム処理をさらに含む、請求項１３から２２のいずれか一項に記載の方法。
【請求項２４】
ゲームテーブルのテーブル表面上でのゲームプレイをモニタするシステムであって、
テーブル表面の画像を捕捉するように構成される少なくとも１つのカメラと、
前記カメラと通信状態にあるコンピューティングデバイスであって、前記テーブル表面の捕捉画像をリアルタイムに分析して、前記テーブル表面上の目的とする複数の第１の予め規定された領域のうちのいずれか１つにおけるゲーム対象物の存在を自動的に識別するように構成されるコンピューティングデバイスと、を備える、システム。
【請求項２５】
前記ゲーム対象物がゲームカードである、請求項２４に記載のシステム。
【請求項２６】
前記ゲーム対象物が位置マーカである、請求項２５に記載のシステム。
【請求項２７】
前記コンピューティングデバイスが、前記テーブル表面上の賭け対象物のうちの少なくとも１つの存在を識別するようにさらに構成される、請求項２４から２６のいずれかに記載のシステム。
【請求項２８】
前記少なくとも１つの賭け対象物が前記ゲーム対象物とは異なる、請求項２７に記載のシステム。
【請求項２９】
前記少なくとも１つの賭け対象物の存在が、目的とする複数の第２の予め規定された領域のうちの１つまたは複数において識別される、請求項２８に記載のシステム。
【請求項３０】
前記コンピューティングデバイスが、目的とする前記１つまたは複数の第２の予め規定された領域内の賭け対象物の１つまたは複数の群を識別するようにさらに構成される、請求項２９に記載のシステム。
【請求項３１】
前記少なくとも１つのカメラが、前記テーブル表面に対する前記ゲーム対象物の奥行きデータを前記コンピューティングデバイスに通信するための奥行き感知デバイスをさらに備え、
前記コンピューティングデバイスが、前記テーブル表面に対する賭け対象物の前記１つまたは複数の群の各々の高さを予測するようにさらに構成され、
前記コンピューティングデバイスが、賭け対象物の各群内に存在する賭け対象物の数を予測するようにさらに構成される、請求項３０に記載のシステム。
【請求項３２】
前記コンピューティングデバイスが、賭け対象物の各群の一番上の賭け対象物の色を識別するようにさらに構成される、請求項３１に記載のシステム。
【請求項３３】
前記コンピューティングデバイスが、少なくとも１つの賭け対象物の存在が識別される目的とする各第２の予め規定された領域と関連付けられた賭け金を自動的に予測するようにさらに構成され、前記予測することが、賭け対象物の各群の前記一番上の賭け対象物の識別された前記色、および目的とする前記それぞれの第２の領域内の賭け対象物の各群内の賭け対象物の予測された前記数に基づく、請求項３２に記載のシステム。
【請求項３４】
前記捕捉画像が、マルチスペクトル画像を含み、前記コンピューティングデバイスが、前記テーブル表面上の前記複数の目的とする前記第１の予め規定された領域または目的とする前記第２の予め規定された領域のうちのいずれか１つにおける前記ゲーム対象物の存在を識別するために、前記マルチスペクトル画像のマルチフレーム処理を実施するようにさらに構成される、請求項２４から３３のいずれか一項に記載のシステム。
【請求項３５】
ゲームテーブル上のゲームイベントを自動モニタするためのシステムであって、
前記ゲームテーブルのゲーム領域上の複数のゲーム対象物の奥行きを捕捉するように構成される奥行き撮像デバイスと、
前記ゲーム領域の視覚画像を捕捉するように構成される複数の視覚撮像カメラと、
ゲーム構成モジュールであって、複数のゲーム、前記ゲームテーブルの構成、目的とする領域の場所、ゲーム対象物を認識するためのパターン、および前記ゲームテーブル上のゲーム対象物の状態の変化としてのゲームイベントの定義と関連付けられた構成データを含む、ゲーム構成モジュールと、
前記奥行き撮像デバイスおよび前記複数の視覚撮像カメラからデータを受信し、前記ゲーム構成モジュール内の前記構成データにアクセスして、前記ゲーム領域上の対象物およびゲーム中に発生するゲームイベントを自動的に認識するように構成される、コンピュータシステムと
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  説明される実施形態は、概して、テーブルゲームをモニタすることに関する。具体的には、実施形態は、賭博場におけるテーブルゲーム内のイベントをモニタするためのシステムおよび方法に関する。
【背景技術】
【０００２】
[0002]  カジノおよびその他同様の会場は、現在、プレイヤをモニタし自らのビジネス戦略を計画することを目的として監視技術および他の管理ソフトウェアを使用している。これらの会場では、プレイヤ収益を最大限にするため、人員配置を最適化するため、および会場収益を最大限にするゲームの種類に対する会場フロアスペースの割り当てを最適化するために、リアルタイム行動分析、アルゴリズム（またはプロセス）、およびプレイヤ追跡技術を配備することを目指している。大半のカジノ常連客は、コイン、紙幣、またはチケットの代わりにプレイヤカードを使用することが求められるロイヤルティプログラムに参加している。これによりカジノは、個々のギャンブル行動を記録および分析し、プレイヤプロファイルを作成し、各賭け客が賭ける金額、賭け客の勝敗、および賭け客がスロットマシンボタンを押す比率などの事柄を記録する機会を得てきた。しかしながら、テーブルゲームは、スロットマシン、またはボタン操作されるゲームマシンのいずれかと比較すると、モニタすることが容易ではない。
【０００３】
[0003]  テーブルゲームをモニタおよび管理するためのシステムは、典型的には、設置および保守が高価であることが示されており、真に有益であることが必要とされる正確性レベルを達成することができていない。他の選択肢としては、カジノチップ内にセンサを設けること、および他のオフライン収益管理ソリューションが挙げられるが、これらは非効果的であることが示されている。賭博場の運営環境は、多くの視覚的および聴覚的なノイズおよび妨害を伴い、展開が速く、カードおよび賭けチップはテーブル上に乱雑に置かれる場合があり、照明は著しく変化し得る。
【０００４】
[0004]  カジノまたは他のこうした賭博場は、プレイヤが特定のイベントの発生または非発生に対して賭けることに関与するバカラ、ブラックジャック、ルーレットなどのいくつかのテーブルベースのゲームを執り行う。個々のゲームは、ゲームを開始する、ゲーム中に行われた賭けの結果を決定する、またはゲームを終了するという規定イベントの独自のセットを有する。大半のゲームは、ゲームを開始する、行われた賭けの結果を決定するイベントをトリガする、またはゲームを終了することができる各ゲームに対する特定の行動を請け負う指定のディーラによって行われる。
【０００５】
[0005]  カジノおよび他のこうした賭博場は、ゲームテーブルまたは競技面上で発生するイベントと関連付けられたトランザクションデータを確認することに興味がある。この情報は、カジノのビジネス戦略の計画、およびプレイヤの行動を監視することを援助することができる。テーブル上のゲームのイベントおよび結果に関する情報は、最適な人員配置、特定のゲームに対するフロアスペース割り当て、および他のこうした収益向上またはパトロン体験向上決定をカジノが確認するための基盤を形成することができる。カジノによって用いられるゲームテーブル上で発生するイベントと関連付けられたトランザクションデータを確認する１つの方法は、個人がテーブルの一部分で起こっているイベントを目視検証し、その観察した情報を報告するという無作為抽出である。報告された情報は外挿されて、カジノ内のテーブル上の活動の全体的なレベルを予測することができる。しかしながら、そのような目視検証は、１時間またはそれ以上の間隔で発生し、人間による判断を頼りにするため、そのような方法には非効率性が存在し得る。
【０００６】
[0006]  テーブルゲームをモニタおよび管理するためのシステムは、典型的には、設置および保守が高価であることが示されており、真に有益であることが必要とされる正確性レベルを達成することができていない。他の選択肢としては、カジノチップ内にセンサを設けること、および他のオフライン収益管理ソリューションが挙げられるが、これらは非効果的であることが示されている。賭博場の運営環境は、多くの視覚的および聴覚的なノイズおよび妨害を伴い、展開が速く、カードおよび賭けチップはテーブル上に乱雑に置かれる場合があり、照明は著しく変化し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
[0007]  賭博場におけるテーブルゲーム内のイベントをモニタするための先行技術に関連する１つまたは複数の短所または欠点を解決もしくは改善する、または少なくとも、有益な代替案を提供することが望ましい。
【０００８】
[0008]  本明細書全体を通して、用語「備える（comprise）」、または「備える（comprises）」もしくは「備える（comprising）」などの変形は、述べられた要素、整数、もしくは工程、または要素、整数、もしくは工程の群の包含を示唆するが、任意の他の要素、整数、もしくは工程、または要素、整数、もしくは工程の群の排除を示唆しないことが理解されるものとする。
【０００９】
[0009]  本明細書において、要素が選択肢のリスト「のうちの少なくとも１つ」であり得るという記述は、その要素が、列挙された選択肢のうちの任意の１つであり得ること、または列挙された選択肢のうちの２つ以上の任意の組み合わせであり得ることが理解される。
【００１０】
[0010]  本明細書に含まれている文書、法令、材料、デバイス、物品などのいかなる議論も、これら事項のいずれかもしくはすべてが先行技術ベースの部分を形成するという承認、またはそれが本出願の各請求の優先日付より前に存在したことから本開示に関連する分野における共通の一般知識であるという承認として受け止られないものとする。
【課題を解決するための手段】
【００１１】
[0011]  第１の態様によると、いくつかの実施形態は、自動ゲーム認識のためのシステムを提供し、本システムは、テーブルゲームを含む視野の画像フレームを捕捉するように構成される少なくとも１つの画像センサと、視野の視野像の奥行きを捕捉するように構成される少なくとも１つの奥行きセンサと、画像フレームおよび視野像の奥行きを受信するように構成され、かつ視野内に現れる少なくとも１つのゲーム状態の自動認識を生成するために、受信した画像フレームおよび視野像の奥行きを処理するように構成されるコンピューティングデバイスとを備える。
【００１２】
[0012]  第２の態様によると、いくつかの実施形態は、自動ゲーム認識の方法を提供し、本方法は、テーブルゲームを含む視野の画像フレームを獲得することと、視野の視野像の奥行きを獲得することと、視野内に現れる少なくとも１つのゲーム状態の自動認識を生成するために、受信した画像フレームおよび視野像の奥行きを処理することとを含む。
【００１３】
[0013]  さらなる態様によると、いくつかの実施形態は、自動ゲーム認識のための非一時的コンピュータ可読媒体を提供し、本非一時的コンピュータ可読媒体は、１つまたは複数のプロセッサによって実行されるとき、テーブルゲームを含む視野の画像フレームを獲得することと、視野の視野像の奥行きを獲得することと、視野内に現れる少なくとも１つのゲーム状態の自動認識を生成するために、受信した画像フレームおよび視野像の奥行きを処理することとの実施を引き起こす、命令を含む。
【００１４】
[0014]  画像フレームは、可視スペクトル内の画像もしくは可視スペクトルを構成する画像を含むことができるか、または赤外線もしくは紫外線画像を含むことができる。視野像の奥行きは、視野の飛行時間データ点および／またはフィールドの奥行きを反映する位相情報データ点を含むことができる。視野内に現れる少なくとも１つのゲーム状態は、ゲーム開始、チップ検出、チップ値予測、チップ積み重ね高さ予測、およびゲーム終了のうちの１つもしくは複数またはすべてを含むことができる。ゲーム開始および／またはゲーム終了は、カード検出またはドリー検出によって成立され得る。テーブルゲームは、ポーカー、ブラックジャック、もしくはバカラなどのカードゲーム、またはルーレットなどの非カードベースのゲームであってもよい。
【００１５】
[0015]  いくつかの実施形態は、ゲームテーブルのテーブル表面上でのゲームプレイをモニタする方法に関し、本方法は、テーブル表面の捕捉画像をリアルタイムで分析して、テーブル表面上の目的とする複数の第１の予め規定された領域のうちのいずれか１つにおけるゲーム対象物の存在を識別することと、目的とする複数の第１の予め規定された領域のうちのいずれか１つにおいて存在すると識別されているゲーム対象物に応じて、ゲームイベントのタイムスタンプを記録することと、ゲームイベントデータをサーバに送信することであって、ゲームイベントデータが、タイムスタンプ、ゲームイベントの指標、および目的とする複数の第１の予め規定された領域のうちのいずれか１つの識別子を含む、送信することと、を含む。
【００１６】
[0016]  ゲーム対象物は、ゲームカードまたは位置マーカであってもよい。分析することは、テーブル表面上の少なくとも１つの賭け対象物の存在を識別することを含み得る。少なくとも１つの賭け対象物は、ゲーム対象物と異なってもよい。少なくとも１つの賭け対象物の存在は、目的とする複数の第２の予め規定された領域のうちの１つまたは複数において識別され得る。分析することは、目的とする１つまたは複数の第２の予め規定された領域内の賭け対象物の１つまたは複数の群を識別することを含み得る。
【００１７】
[0017]  分析することは、テーブル表面に対する賭け対象物の１つまたは複数の群の各々の高さを予測することと、賭け対象物の各群内に存在する賭け対象物の数を予測することとをさらに含み得る。分析することは、賭け対象物の各群の一番上の賭け対象物の色を識別することをさらに含み得る。
【００１８】
[0018]  本方法は、少なくとも１つの賭け対象物の存在が識別される目的とする各第２の予め規定された領域と関連付けられた賭け金を自動的に予測することをさらに含み得、この予測することは、賭け対象物の各群の一番上の賭け対象物の識別された色、および目的とするそれぞれの第２の領域内の賭け対象物の各群内の賭け対象物の予測された数に基づく。
【００１９】
[0019]  捕捉画像は、マルチスペクトル画像を含み得、分析することは、テーブル表面上の複数の目的とする第１の予め規定された領域または目的とする第２の予め規定された領域のうちのいずれか１つにおけるゲーム対象物の存在を識別するために、マルチスペクトル画像のマルチフレーム処理をさらに含み得る。
【００２０】
[0020]  いくつかの実施形態は、ゲームテーブルのテーブル表面上でのゲームプレイをモニタするシステムに関し、本システムは、テーブル表面の画像を捕捉するように構成される少なくとも１つのカメラと、カメラと通信状態にあるコンピューティングデバイスであって、テーブル表面の捕捉画像をリアルタイムに分析して、テーブル表面上の目的とする複数の第１の予め規定された領域のうちのいずれか１つにおけるゲーム対象物の存在を自動的に識別するように構成されるコンピューティングデバイスと、を備える。
【００２１】
[0021]  ゲーム対象物は、例えば、ゲームカードまたは位置マーカであってもよい。コンピューティングデバイスは、テーブル表面上の賭け対象物のうちの少なくとも１つの存在を識別するように構成され得る。賭け対象物のうちの少なくとも１つは、ゲーム対象物と異なってもよい。少なくとも１つの賭け対象物の存在は、目的とする複数の第２の予め規定された領域のうちの１つまたは複数においてコンピューティングデバイスによって識別される。コンピューティングデバイスは、目的とする１つまたは複数の第２の予め規定された領域内の賭け対象物の１つまたは複数の群を識別するように構成され得る。
【００２２】
[0022]  少なくとも１つのカメラは、テーブル表面に対するゲーム対象物の奥行きデータをコンピューティングデバイスに通信するための奥行き感知デバイスをさらに備え得る。コンピューティングデバイスは、テーブル表面に対する賭け対象物の１つまたは複数の群の各々の高さを予測するようにさらに構成され得る。コンピューティングデバイスは、賭け対象物の各群内に存在する賭け対象物の数を予測するようにさらに構成され得る。コンピューティングデバイスは、賭け対象物の各群の一番上の賭け対象物の色を識別するようにさらに構成され得る。
【００２３】
[0023]  コンピューティングデバイスは、少なくとも１つの賭け対象物の存在が識別される目的とする各第２の予め規定された領域と関連付けられた賭け金を自動的に予測するように構成され得、この予測することは、賭け対象物の各群の一番上の賭け対象物の識別された色、および目的とするそれぞれの第２の領域内の賭け対象物の各群内の賭け対象物の予測された数に基づく。
【００２４】
[0024]  捕捉画像は、マルチスペクトル画像を含み得、コンピューティングデバイスは、テーブル表面上の複数の目的とする第１の予め規定された領域または目的とする第２の予め規定された領域のうちのいずれか１つにおけるゲーム対象物の存在を識別するために、マルチスペクトル画像のマルチフレーム処理を実施するように構成され得る。
【００２５】
[0025]  いくつかの実施形態は、ゲームテーブル上のゲームイベントを自動モニタするためのシステムに関し、本システムは、ゲームテーブルのゲーム領域上の複数のゲーム対象物の奥行きを捕捉するように構成される奥行き撮像デバイスと、ゲーム領域の視覚画像を捕捉するように構成される複数の視覚撮像カメラと、ゲーム構成モジュールであって、複数のゲーム、ゲームテーブルの構成、目的とする領域の場所、ゲーム対象物を認識するためのパターン、およびゲームテーブル上のゲーム対象物の状態の変化としてのゲームイベントの定義と関連付けられた構成データを含む、ゲーム構成モジュールと、奥行き撮像デバイスおよび複数の視覚撮像カメラからデータを受信し、ゲーム構成モジュール内の構成データにアクセスして、ゲーム領域上の対象物およびゲーム中に発生するゲームイベントを自動的に認識するように構成される、コンピュータシステムと、を備える。
【００２６】
[0026]  本明細書に説明される方法は、完全に自動化され得るため、ゲーム行動モニタリングは、人間による判断または介入のいかなる必要性もなしに発生することができる。しかしながら、賭けのためおよびカードまたはドリーなどのゲーム対象物の位置特定のための目的とする領域を確立することなど、いくつかの人間による相互作用が、システム構成工程内で発生し得る。
【図面の簡単な説明】
【００２７】
【図１】[0027]  ゲームモニタリングシステムのブロック図である。
【図２】[0028]  図１のゲームモニタリングシステムの部分を形成する、自動テーブルゲーム認識のためのシステムの概略図である。
【図３】[0029]  図１のシステムのゲーム環境の部分を形成し得るゲームテーブルの表面の画像である。
【図４】[0030]  図１のシステムのゲーム環境の部分を形成し得る別のゲームテーブルの表面の画像である。
【図５】[0031]  図１のシステムのゲーム環境の部分を形成し得る別のゲームテーブルの表面の画像である。
【図６】[0032]  図１のシステムのゲーム環境の部分を形成し得る別のゲームテーブルの表面の画像である。
【図７】[0033]  図１のシステムにおける使用のための奥行き感知デバイスおよびカメラのブロック図である。
【図８】[0034]  いくつかの実施形態に従う奥行き感知デバイスおよびカメラのハウジングの内側の正面図である。
【図９】[0035]  図１のシステムのコンピューティングデバイスのブロック図である。
【図１０】[0036]  図１のシステムのメッセージブローカサーバのブロック図である。
【図１１】[0037]  図１のシステムのデータベースサーバのブロック図である。
【図１２】[0038]  図１のシステムのウェブアプリケーションサーバのブロック図である。
【図１３】[0039]  図１のシステムのゲーム環境の部分を形成し得る別のゲームテーブルの構成を管理するためのインターフェースを示すウェブアプリケーションのスクリーンショットである。
【図１４】[0040]  図１のシステムのゲーム環境の部分を形成し得る別のゲームテーブルの構成を管理するためのインターフェースを示すウェブアプリケーションの別のスクリーンショットである。
【図１５】[0041]  図１のシステムのゲーム環境の部分を形成し得る別のゲームテーブルの構成を管理するためのインターフェースを示すウェブアプリケーションの別のスクリーンショットである。
【図１６】[0042]  サンプル画像に対する数種類の閾値化操作の結果を例証するための画像のセットである。
【図１７】[0043]  サンプル画像に対するさらなる種類の閾値化操作の結果を例証するための画像のセットである。
【図１８】[0044]  サンプル画像に対する浸食および膨張演算の結果を例証するための画像のセットである。
【図１９】[0045]  エッジ検出プロセスのフローチャートである。
【図２０】[0046]  図１９のプロセスの部分におけるエッジ検出を例証するための図である。
【図２１】[0047]  図１９のエッジ検出プロセスに適用される例示的な基準を例証するための例示的なグラフである。
【図２２】[0048]  異なるパラメータを用いたサンプル画像に対する輪郭検出の適用を例証するための画像のセットである。
【図２３（ａ）】[0049]  平面予測プロセスが適用されることになる点のセットのプロットである。
【図２３（ｂ）】[0050]  平面予測プロセスの適用の結果、および図２３（a）のプロットに示される点までの予測平面の直交距離のプロットである。
【図２４】[0051]  いくつかの実施形態に従うゲームモニタリングシステムのフローチャートである。
【図２５】[0052]  さらなる実施形態に従うゲームモニタリングシステムのフローチャートである。
【図２６（ａ）】[0053]  別のゲームテーブルに対するいくつかのカード検出プロセスの適用を例証する画像フレームである。
【図２６（ｂ）】別のゲームテーブルに対するいくつかのカード検出プロセスの適用を例証する画像フレームである。
【図２７（ａ）】[0054]  カードおよびチップ検出プロセスが適用され得る別のゲームテーブルの画像フレームである。
【図２７（ｂ）】[0055]  図２７（a）の画像フレームに閾値化技術を提供することによって得られる図２７（a）のゲームテーブルの画像フレームである。
【図２８（ａ）】[0056]  別のゲームテーブルに対するいくつかのカードおよびチップ検出プロセスの適用を例証する、赤外線カメラによって得られる画像フレームである。
【図２８（ｂ）】別のゲームテーブルに対するいくつかのカードおよびチップ検出プロセスの適用を例証する、赤外線カメラによって得られる画像フレームである。
【図２９（ａ）】[0057]  チップ検出プロセスへの入力であり得る画像フレームである。
【図２９（ｂ）】[0058]  図２９（a）の画像フレームに対する２値閾値化操作の適用により得られる画像フレームである。
【図２９（ｃ）】[0059]  図２９（b）の画像フレームに対する浸食演算の適用により得られる画像フレームである。
【図２９（ｄ）】[0060]  図２９（c）の画像フレームに対する膨張演算の適用により得られる画像フレームである。
【図２９（ｅ）】[0061]  図２９（a）の入力画像フレームに対するチップ検出プロセスの適用の結果を例証する画像フレームである。
【図３０】[0062]  ゲームテーブルの視野の部分が妨害されている、ゲームテーブルに対するチップ検出プロセスの適用の結果を例証する画像フレームである。
【図３１】[0063]  図３０（a）における妨害が画像フレーム内になくなった後に得られた図３０（a）のゲームテーブルのチップ検出プロセスの適用の結果を例証する画像フレームである。
【図３２】[0064]  入力画像フレームが視覚画像カメラによって捕捉される画像に基づく、ゲームテーブルに対するチップ検出プロセスの適用の結果を例証する画像フレームである。
【図３３】[0065]  入力画像フレームが赤外線カメラによって捕捉される画像に基づく、図３２のゲームテーブルに対するチップ検出プロセスの適用の結果を例証する画像フレームである。
【図３４】[0066]  いくつかの実施形態に従うマルチフレーム処理技術のフローチャートである。
【発明を実施するための形態】
【００２８】
[0067]  説明される実施形態は、概して、テーブルゲームをモニタすることに関する。具体的には、実施形態は、賭博場におけるテーブルゲーム内のイベントをモニタするためのシステムおよび方法に関する。
【００２９】
[0068]  ゲームモニタリングシステム：図１は、いくつかの実施形態に従うゲームモニタリングシステム１００のブロック図である。システム１００は、複数のゲームモニタリング設定１０５、ゲームモニタリングインフラストラクチャ１１５、アドミニストレータクライアント１７０、およびデータベースクライアント１８０を備え得る。ゲームモニタリング設定１０５は、ゲーム環境１１０、奥行き感知デバイスおよびカメラ１２０、ならびにコンピューティングデバイス１３０を含む。システム１００は、カジノなどの賭博場の１つまたは複数のゲームルーム内での設置および運用に適している。ゲームルームは各々、１つまたは複数のゲームテーブルがその中に位置付けられており、それらのテーブルのうちのいくつかまたは各々が、それぞれのゲームモニタリング設定１０５の部分を形成し得る。Ｍｉｃｒｏｓｏｆｔ（商標）ＫｉｎｅｃｔまたはＡｓｕｓ（商標）ＸｔｉｏｎまたはＩｎｆｉｎｅｏｎ（商標）３Ｄ画像センサＲＥＡＬ３（商標）などの市販のデバイス、カメラ機能付きの他の同様の奥行き感知デバイスが、例えば、奥行き感知デバイスおよびカメラとして用いられ得る。奥行き感知デバイスおよびカメラ１２０は、コンピューティングデバイス１３０と連結または接続されて、リンク１０７を使用してコンピューティングデバイス１３０から命令を受信し、記録されたデータをコンピューティングデバイス１３０に送信する。例えば、Ｍｉｃｒｏｓｏｆｔ（商標）Ｋｉｎｅｃｔデバイスは、コンピューティングデバイス上のＵＳＢポートを使用してコンピューティングデバイスに接続され得る。
【００３０】
[0069]  賭博場は、複数のゲーム環境、例えばテーブルゲームが競技されるエリアまたはルームを有し得、それらのゲーム環境の１つずつをモニタするために、複数のゲームモニタリング設定１０５が存在し得る。複数のゲームモニタリング設定１０５は、ネットワークリンク１８７を使用して共通のゲームモニタリングインフラストラクチャ１１５と連結またはリンクされ得る。ネットワークリンク１８７は、コンピューティングデバイス１３０とメッセージブローカサーバ１４０との間のネットワークリンク１１７、およびデータベースサーバ１５０とコンピューティングデバイス１３０との間のネットワークリンク１６７を含む。ゲームモニタリングインフラストラクチャ１１５はまた、２つ以上の異なる賭博場内のゲームモニタリング設定１０５と連結またはリンクされ得る。賭博場が多数のゲーム環境１１０を有し得るいくつかの実施形態においては、複数のゲームモニタリングインフラストラクチャ１１５が、同じ会場内のゲームモニタリング設定１０５の異なる一部分と連結され得る。
【００３１】
[0070]  ゲームモニタリングインフラストラクチャ１１５は、メッセージブローカサーバ１４０、データベースサーバ１５０、およびウェブアプリケーションサーバ１６０を含む。メッセージブローカサーバ１４０は、二方向ネットワークリンク１１７を介して複数のコンピューティングデバイス１３０に接続され得る。ネットワークリンク１２７は、データまたは命令の転送を可能にするためにメッセージブローカサーバ１４０とデータベースサーバ１５０との間に存在し得る。ネットワークリンク１３７は、データまたは命令の転送を可能にするためにウェブアプリケーションサーバ１６０とデータベースサーバ１５０との間に存在し得る。サーバ１４０、１５０、および１６０の各々は、スタンドアローンサーバとして実装され得るか、または１つもしくは複数の物理サーバ上の明白な仮想サーバとして実装され得るか、またはクラウドコンピューティングサービス内に実装され得る。サーバ１４０、１５０、および１６０の各々はまた、改善された性能または高いアベイラビリティ要件を取り扱うように構成される２つ以上のサーバのネットワークを通じて実装され得る。
【００３２】
[0071]  アドミニストレータクライアント１７０は、コンピュータまたはタブレットなどのエンドユーザコンピューティングデバイスであってもよく、例えば、ネットワークリンク１４７を介してウェブアプリケーションサーバ１６０に接続され得る。データベースクライアント１８０は、他のエンドユーザコンピューティングデバイスまたは他のデータベースにデータをリレーするためのエンドユーザコンピューティングデバイスまたはインターフェースであってもよく、ネットワークリンク１５７を介してデータベースサーバ１５０に接続され得る。
【００３３】
[0072]  ゲーム環境：ゲーム環境１１０の構成は、執り行われている特定のゲームに応じて様々であり得るが、本実施形態のいずれか１つによってモニタされる大半のゲームは、共通の要素を有する。図２は、いくつかの実施形態に従う自動テーブルベーム認識のためのシステム２００を例証する。現在説明される本発明の実施形態のシステムの主な機能は、ゲームが開始および終了するときを検出すること、置かれたチップの場所を検出すること、ならびにチップ積み重ねの値および高さ（チップがいくつかであるか）を予測することである。このシステムは、画像処理技術および感知デバイス機能の組み合わせに基づく。
【００３４】
[0073]  ゲーム環境１１０は、ゲームが執り行われる競技面またはゲームテーブル２１０を含む。競技面２１０は、一般的には略水平な平面表面であり、その上には、ゲームモニタリングシステム１００によって検出され得るカード２１１もしくはチップ２１３などの様々なゲーム対象物または他の対象物が置かれている場合がある。奥行き感知デバイスおよびカメラ１２０は、奥行き感知デバイスおよびカメラ１２０を奥行き感知デバイスの視野内の任意の障害物の上に位置付けるような高さで支柱または柱２２０に装着され得、奥行き感知デバイスおよびカメラ１２０の視野をゲームテーブル２１０に向かっていくらか下方に向けるように角度付けされ得る。障害物は、例えば、テーブルにおいてゲームを執り行うディーラ、またはゲームの参加者、または通行人などの一時的な障害物であり得る。いくつかの実施形態において、奥行き感知デバイスまたはカメラ１２０は、ゲームテーブル２１０の競技面の見通しを得るために、ディーラの肩の後側かつ上に位置付けられ得る。奥行き感知デバイスまたはカメラ１２０およびコンピューティングデバイス１３０の位置は、ゲームテーブル２１０に位置する支柱または柱上の他のディスプレイスクリーンより上にあるか、またはそれに隣接し得る。
【００３５】
[0074]  図３は、ブラックジャックのゲームのために構成されたゲームテーブルの競技面の部分を例証する画像３００である。競技面またはゲームテーブルは、目的とする複数の予め規定された領域を含み、ゲームの特性に応じて、ゲームの運用に関して特定の配向および機能を有し得る。目的とする予め規定された領域は、ゲームカードまたは賭け対象物などの特定のゲーム対象物の検出のために指定され得る。例えば、図３では、目的とする第１の予め規定された領域３０５は、プレイヤに配られたカード２１１を位置特定するために指定され、目的とする第２の予め規定された領域３０８は、プレイヤがゲーム内で賭け得るチップまたは賭け対象物２１３を位置特定するために指定され得る。いくつかの実施形態において、目的とする予め規定された領域のうちの１つまたは複数は、他の目的とする予め規定された領域のうちの１つまたは複数と重複してもよい。いくつかの実施形態において、１つの目的とする予め規定された領域は、他の目的とする予め規定された領域の部分を形成し得る。
【００３６】
[0075]  ゲームの参加者は、賭けを行い得るプレイヤおよびゲームを執り行うディーラを含む。賭けを行うまたはゲームを執り行うために、ゲーム対象物として説明される対象物が、プレイヤまたはディーラによって使用される。ゲーム対象物は、識別するために特定の印を有する特定の形状にあるカード２１１、チップもしくは賭け対象物２１３、またはプレイヤがゲーム内で賭け得る金額を指定し得る他のそのような対象物を含み得るか、または位置マーカまたはルーレットのゲームで使用されるドリーなどのゲームの結果を指定し得る明白な形状を有する他の対象物を含み得る。ゲームは、ゲームの開始、ゲーム中のプレイヤによる賭けの実施、ゲーム中の中間結果、およびゲームの最終結果を決定するゲームの終了を含む一連のゲームイベントを通じて執り行われる。ゲーム中、プレイヤは、賭けを行うための指定された目的とする領域内に自分の賭け対象物を置く（すなわち、トークンまたはチップを賭ける）ことによって賭けを行い得る。例えば、図３に示されるようなブラックジャックのゲームにおいて、プレイヤは、賭けを行うための指定の領域３０８にチップ２１３などの１つまたは複数の賭け対象物を置くことによって、ゲーム中に賭けを行い得る。チップまたは賭け対象物は、目的とする領域内に群または積み重ねで配置され得る。多くの場合、賭け対象物の群または積み重ねは、共通色の賭け対象物を含む。
【００３７】
[0076]  特定のゲームにおいて、プレイヤは、行われた賭けと関連付けられた勝利および支払いの可能性と関連付けられる目的とする領域を選択し得る。例えば、図６の競技面２１０は、ルーレットのゲームのための賭けエリアのための印を有する競技面である。競技面６００上の目的とする異なる領域３０８は、プレイヤの賭けに対する勝利および支払いの異なる可能性を有し得る。競技面は、ゲームと関連付けられた異なるルールおよび／または賭けの慣例に応じて、様々な目的とする領域の場所および構造に関していくつかの異なる構成を有し得る。図４は、バカラのゲームのために指定されたゲームテーブルの画像４００である。図５は、いくつかの実施形態に従う別のゲームのために指定されたゲームテーブルの画像５００である。
【００３８】
[0077]  奥行き感知デバイスおよびカメラ：奥行き感知デバイスおよびカメラ１２０は、視覚画像およびデバイス前の視野の深さ情報を捕捉する機能を実施する。デバイス１２０は、ゲームテーブル上で識別される指定された目的とする領域すべてを捕捉するために、競技面またはゲームテーブルの前に置かれる。デバイス１２０は、赤外線プロジェクタ７１０、赤外線センサ７２０、カメラ７３０、プロセッサ７４０、通信ポート７５０、ならびに赤外線センサ７２０およびカメラ７３０をプロセッサ７４０と接続する内部データリンク７０５を備える。内部データリンク７０６は、プロセッサ７４０を通信ポート７５０と接続する。奥行き感知デバイスおよびカメラ１２０は、人間の目に見えるおよび／または人間の目に見えない光の複数のスペクトルから画像を捕捉することができる。例えば、奥行き感知デバイスおよびカメラ１２０は、カメラ７３０を通じて可視光スペクトルから、および赤外線センサ７２０を通じて赤外線スペクトルから画像を捕捉することができ、結果的に、マルチスペクトルカメラとして動作することができる。
【００３９】
[0078]  奥行き感知デバイスおよびカメラ１２０は、その前の視野の奥行きまたは場面を感知するために飛行時間技術に依拠し得る。赤外線プロジェクタ７１０は、正弦波または方形波であり得る連続波でパルス光または調光を投影し得る。奥行き情報の正確性を向上するために、投影光の複数の位相が投影および感知され得る。赤外線プロジェクタ７１０によって発光された光パルスと赤外線センサ７２０によって感知された反射パルスとの間の測定された位相シフトは、デバイス前のフィールドの奥行きを計算するために、プロセッサ７４０によって依拠される。いくつかの実施形態において、奥行き感知デバイスおよびカメラ１２０は、投影光パターンおよび奥行き感知のためのカメラを使用するという原則に依拠する構造化光３Ｄスキャナを含み得る。いくつかの実施形態において、奥行き感知デバイスおよびカメラ１２０は、２つ以上のレンズおよび対応する画像センサからの画像を使用することによって奥行き感知の機能を実施するステレオカメラを含み得る。奥行き感知デバイスおよびカメラ１２０は、ゲーム環境および具体的にはテーブル競技面２１０の奥行き情報を得るために、奥行きもしくは範囲感知の他の代替手段、または２つ以上の技術の組み合わせに依拠し得る。
【００４０】
[0079]  感知された奥行き情報は、プロセッサによって決定される画素グリッド情報と組み合わされ、通信ポート７５０への出力として提示される。画素グリッド情報はまた、カメラ７３０によって捕捉される視覚画像と組み合わされ、奥行き情報と組み合わせてポート７５０を通じた出力として提示される。奥行き情報とは別に、赤外線センサ７２０はまた、視野によって反射される赤外線光の強度を感知し、この情報は、プロセッサ７４０によって画素グリッド情報と組み合わされ、ポート７５０に渡される。ポート７５０は、例えばＵＳＢポートなどの物理ポート、またはワイヤレスネットワークアダプタなどのワイヤレストランスミッタの形態にあり得る。奥行き感知デバイスおよびカメラ１２０は、感知された奥行き、色、および赤外線撮像データを、互いとマッピングされ得る異なる座標空間内に返して、デバイスの視野内の特定の領域または点と関連付けられた統合された奥行き、色、および赤外線データを得る。図８は、１つの実施形態８００に従う奥行き感知デバイスおよびカメラのハウジングの内側の正面図であり、赤外線プロジェクタ７１０、赤外線センサ７２０、およびカメラ７３０を含むそのコンポーネントの一部を例証する。
【００４１】
[0080]  コンピューティングデバイス：奥行き感知デバイスおよびカメラ１２０によって生成されるデータは、通信ポート９９０を介してコンピューティングデバイス１３０によって受信される。ポート９９０は、センサデータを受信するためまたは奥行き感知デバイスおよびカメラ１２０に命令を送信するために通信ポート７５０と連結するＵＳＢポートまたはワイヤレスアダプタの形態にあり得る。コンピューティングデバイス１３０のハードウェアコンポーネント９１０は、メモリ９１４、プロセッサ９１２、およびコンピューティングデバイスの動作に必要な他のコンポーネントを備える。メモリ９１４は、必要なソフトウェアモジュール９２０を格納し、ソフトウェアモジュール９２０は、画像処理ライブラリ９２２、奥行き感知デバイスおよびカメラＡＰＩ９２４、ランタイム環境ドライバ９２６、ゲームモニタリングモジュール９２８、バッチスクリプト９３０、スケジュールされたジョブ９３２、ならびにメッセージ生成器モジュール９３４を備える。
【００４２】
[0081]  画像処理ライブラリ９２２は、画像に対して閾値化操作、モルフォロジー演算を実施するなど、基本の画像処理演算を実施するためのプログラム、およびゲームモニタリングモジュール９２８によって行われる画像処理工程に必要な他のプログラムのセットである。ＯｐｅｎＣＶは、用いられ得る画像処理ライブラリの例である。奥行き感知デバイスおよびカメラＡＰＩ９２４は、コンピューティングデバイス９３０が１つまたは複数の奥行き感知デバイスおよびカメラ９２０との通信チャネルを確立することを可能にするプログラムのセットである。例えば、Ｍｉｃｒｏｓｏｆｔ（商標）Ｋｉｎｅｃｔ（商標）デバイスが奥行き感知デバイスおよびカメラとして用いられる場合、Ｗｉｎｄｏｗｓ（商標）ＳＤＫのためのＫｉｎｅｃｔが、奥行き感知デバイスおよびカメラＡＰＩ９２４として用いられる。このＡＰＩ９２４は、コンピューティングデバイス１３０が、適切なプロトコルで奥行き感知デバイスおよびカメラ１２０に対してクエリを行うこと、ならびに返された結果のフォーマットを理解することを可能にする。このＡＰＩ９２４は、奥行き感知デバイスおよびカメラ１２０によって生成されるデータが、ゲームモニタリングモジュール９２８によって受信され処理されることを可能にする。コンピューティングデバイス１３０はまた、ゲームモニタリングモジュール９２８の実行のための必要な従属性を提供するために、必要なランタイム環境ドライバ９２６を有する。ゲームモニタリングモジュール９２８は、ゲームの途中に発生するゲームイベントをモニタするプログラムを含む。
【００４３】
[0082]  ソフトウェアモジュール９２０はまた、ゲームモニタリングモジュール９２８のための必要なシステム管理業務および保全業務を実施するために、Ｗｉｎｄｏｗｓ  ＰｏｗｅｒＳｈｅｌｌスクリプトまたは他のスクリプト言語でのスクリプトの形態にあり得るバッチスクリプトを含む。バッチスクリプト９３０は、Ｗｉｎｄｏｗｓスケジューラジョブまたは他の同様のジョブスケジューリングサービスの形態にあり得るスケジュールされたジョブ９３２を通じてスケジュールに基づいて実行され得る。ゲームモニタリングモジュール９２８からの命令に基づいたメッセージ生成器モジュール９３４は、メッセージブローカサーバ１４０に渡されるメッセージを生成する。メッセージ生成器モジュールは、例えばＲａｂｂｉｔＭＱまたはＫａｆｋａなどの標準メッセージングシステムに基づき得る。構成モジュール９４０内の格納されたメッセージブローカ構成９４２に基づいて、メッセージ生成器モジュール９３４は、通信ポート９９０およびネットワークリンク１１７を介してメッセージブローカサーバ１４０にメッセージを通信することができる。構成モジュール９４０はまた、テーブル構成９４２ならびにゲーム開始および終了トリガ構成９４４を含む。構成モジュール９４０のコンポーネントは、メモリ９１４内に１つまたは複数の構成ファイルの形態で格納される。構成ファイルは、例えば、ＸＭＬフォーマットで格納され得る。
【００４４】
[0083]  メッセージブローカサーバ：メッセージブローカサーバ１４０は、メッセージブローカサービスを実装し、ネットワークリンク１１７を介した複数のコンピューティングデバイス１３０からのメッセージを待つ。メッセージブローカサーバ１４０は、共通のローカルネットワーク内のコンピューティングデバイス１３０と同じ敷地に位置し得るか、またはそれは敷地外に（遠隔に）位置し得るが、メッセージおよびデータの転送を可能にするために２つの敷地間に確立されたネットワークリンク１１７を介して依然として通信状態にある。メッセージブローカサーバ１４０は、集中型メッセージブローカサービスを提供するために、集中され、複数の賭博場内のコンピューティングデバイス１３０に接続され得る。メッセージブローカサーバ１４０は、メモリ１０１４、プロセッサ１０１２、およびサーバの動作のための他の必要なハードウェアコンポーネントを備えるハードウェアコンポーネント１０１０を有する。メッセージキューモジュール１０２０は、複数の構成デバイス１３０からのメッセージを受信し、解釈し、処理するためのキューを実装する。メッセージは、メッセージブローカサーバ１４０へのまたはメッセージブローカサーバ１４０からのデータおよび命令の二方向転送を可能にすることができるネットワークアダプタまたは他の同様のポートの形態にあり得る通信ポート１０９０を介して受信される。メッセージキューモジュール１０２０は、ＲａｂｂｉｔＭＱまたはＫａｆｋａなどのメッセージブローカパッケージを通じて実装され得る。メッセージキューモジュール１０２０は、ゲームテーブル上で発生するゲームイベントに関するトランザクション情報を含むメッセージを受信すると、データベース構文解析モジュール１０３０を開始する。データベース構文解析モジュール１０３０は、メッセージキューモジュール１０２０によって受信されるメッセージを、ネットワークリンク１２７を介して続いてデータベースサーバ１５０上で実行されるデータベースクエリへと構文解析する。
【００４５】
[0084]  データベースサーバ：データベースサーバ１５０は、メッセージブローカサーバ１４０からゲームイベントデータを受信すること、ウェブアプリケーションサーバ１６０を介して管理されるテーブル構成データを格納すること、およびゲームモニタリングシステム１００によって捕捉されるゲームイベントデータへのアクセスを提供するためにデータベースクライアント１８０のためのレポジトリとしての機能を果たすことという目的を果たす。データベースサーバ１５０は、メモリ１１１４、プロセッサ１１１２、およびサーバの動作のための他の必要なハードウェアコンポーネントを備えるハードウェアコンポーネント１１１０を有する。通信ポート１１９０は、１つまたは複数のネットワークリンクを介してデータベースサーバ１５０へのまたはデータベースサーバ１５０からのデータおよび命令の二方向転送を可能にすることができるネットワークアダプタまたは他の同様のポートの形態にあり得る。データベースモジュール１１２０は、ＭｙＳＱＬ（商標）、ＰｏｓｔｇｒｅｓまたはＭｉｃｒｏｓｏｆｔ（商標）ＳＱＬサーバなどのデータベース管理システムを通じて実装され得る。
【００４６】
[0085]  データベースモジュール１１２０は、テーブル構成データ１１２２およびゲームイベントデータ１１２４を含むデータを保持する。ゲームイベントデータ１１２４は、ゲームテーブルまたは競技面上で発生するゲームイベントを表すトランザクションデータを含む。ゲームイベントデータを形成する記録は、ゲームイベントが認識された時間のタイムスタンプ、ゲームイベントが発生したゲームテーブルのための固有の識別子、賭けを行うこと、ゲームの中間結果、ゲームの最終結果などのゲームイベントの特性のための識別子、ゲームイベントと関連付けられた目的とする領域の識別子、目的とする領域と関連付けられた賭け値の予測、およびゲームイベントを表す他の関連属性を含み得る。
【００４７】
[0086]  テーブル構成データ１１２２は、ゲームテーブルおよび関連コンピューティングデバイス１３０のための固有の識別子と、多角形、および多角形の終点を形成する奥行き感知デバイスおよびカメラ１２０と関連付けられた画素の座標の形態にあるゲームテーブル上の目的とする領域３０８の場所と、目的とする領域３０８の特性であって、目的とする領域３０８が、カードを置くためまたはチップを置くためまたは検出されるべき特定のゲーム対象物を置くための領域である、特性と、ゲーム開始および終了トリガイベントの特性であって、ゲームの開始が目的とする領域にカードを置くことまたは目的とする特定の領域に特定のゲーム対象物を置くことによって検出される、特性と、例えばゲームモニタリングモジュール９２８による検出を可能にするためにカードまたはチップなどのゲーム対象物のモデル輪郭と、ゲームモニタリングシステム１００によって依拠されるパラメータを表すのに必要な他の関連データとを含む。いくつかの実施形態において、テーブル構成データ１１２２およびゲームイベントデータ１１２４は、ゲームモニタリングシステム１００のより大きなスケーラビリティおよび管理性を可能にするために別個のデータベースサーバ内に保持され得る。
【００４８】
[0087]  データベースサーバ１５０はまた、テーブル構成データ１１２２をそれぞれのコンピューティングデバイス１３０に伝達する機能を実施するテーブル構成伝達モジュール１１４０を備える。テーブル構成伝達モジュールは、まずテーブル構成９４２、ゲーム開始および終了トリガ構成９４４、ならびにメッセージブローカ構成９４６を、例えばＸＭＬなどの構成ファイルの形態で生成するデータベーススクリプトおよびコマンドラインスクリプトの組み合わせを通じて実装され得る。生成された構成ファイルは、ネットワークリンク１６７上で応答する通信ポート１１９０を介してそれぞれのコンピューティングデバイス１３０に転送され得る。ネットワークリンク１６７は、データベースサーバ１５０およびコンピューティングデバイス１３０が同じローカルネットワーク内にある場合はローカルネットワークリンクであり得、またはデータベースサーバ１５０およびコンピューティングデバイス１３０が別個のネットワーク内に位置する場合には複数のコンピュータネットワークにまたがるネットワークリンクであり得る。構成ファイルの転送は、例えばファイル転送プロトコルまたはＳＳＨ転送プロトコルなどの適切なネットワークプロトコルを通じて達成され得る。
【００４９】
[0088]  ウェブアプリケーションサーバ：ウェブアプリケーションサーバ１６０は、データベースサーバ１５０上のテーブル構成データ１１２２の構成および管理を促進するウェブアプリケーションをホストする。ウェブアプリケーションサーバ１６０は、メモリ１２１４、プロセッサ１２１２、およびサーバの動作のための他の必要なハードウェアコンポーネントを備えるハードウェアコンポーネント１２１０を有する。通信ポート１２９０は、１つまたは複数のネットワークリンクを介してウェブアプリケーションサーバ１６０へのまたはウェブアプリケーションサーバ１６０からのデータおよび命令の二方向転送を可能にすることができるネットワークアダプタまたは他の同様のポートの形態にあり得る。ウェブアプリケーションサーバは、ユーザがデータベースサーバ１５０上のテーブル構成データ１１２２を作成および更新することを可能にするウェブインターフェースを備えるウェブアプリケーションモジュール１２２０を備える。ウェブアプリケーションは、例えば、ｐｙｔｈｏｎでのＤｊａｎｇｏまたはＡＳＰ．ＮＥＴまたは他の同様のウェブフレームワークなどのウェブアプリケーションフレームワークを通じて実装され得る。ウェブアプリケーションサーバ１６０はまた、ウェブインターフェースを介してウェブアプリケーションモジュール１２２０によって受信される命令を、アドミニストレータクライアント１７０によって行われる操作を反映するためにテーブル構成データ１１２２を作成または更新する特定のデータベースクエリまたは命令に翻訳するデータベース構文解析モジュール１２３０を備える。データベースクエリまたは命令は、ネットワークリンク１３７を介してデータベースサーバ１５０上で実行される。ネットワークリンク１３７は、データベースサーバ１５０およびウェブアプリケーションサーバ１５０が共通のネットワーク内にある場合はローカルエリアネットワークリンクであり得、またはそれは、データベースサーバ１５０およびウェブアプリケーションサーバ１５０が別個のネットワーク内に位置する場合には複数のネットワークにまたがり得る。
【００５０】
[0089]  ウェブインターフェース：図１３は、ゲーム環境１１０の部分を形成し得るゲームテーブルの実施形態の構成を管理するためのインターフェースを示すウェブアプリケーションのスクリーンショット１３００である。ゲームテーブルを設定することに必要とされ得るパラメータおよびパラメータは、テーブルのための固有の識別子、例えばスクリーン領域１３１０内に位置する関連コンピューティングデバイスのＩＰアドレスを含み得る。テーブル構成９４２を成文化するためにコンピューティングデバイス１３０に伝達され得るＸＭＬ構成ファイルの部分がスクリーンエリア１３２０に示される。ボタン１３３０は、追加のゲームテーブルのための記録を作成するために使用され得、登録ボタン１３４０は、ユーザが新規構成を登録することを可能にする。
【００５１】
[0090]  図１４は、ゲーム環境１１０の部分を形成し得るゲームテーブルの実施形態の構成を管理するための別のインターフェースを示すウェブアプリケーションの別のスクリーンショット１４００である。配備ボタン１４１０は、保存された構成のセットを、ネットワークリンク１６７を通じてコンピューティングデバイス１３０に配備するためにクリックされ得る。削除ボタン１４２４は、任意の保存された構成を削除するためにクリックされ得る。１４２０は、構成情報を保存しかつコンピューティングデバイス１３０に伝達するために使用され得る別のＸＭＬファイルの部分のサンプルである。スクリーン領域１４１２、１４１４、および１４１６は、奥行き感知デバイスおよびカメラ１３０からの奥行き、色、および赤外線画像ストリームを表す。個々のストリームと関連付けられた構成の詳細は、ボタン１４２２をクリックすることによって閲覧することができる。構成詳細は、ボタン１４１８をクリックすることによって削除され得る。スクリーン領域１４４０は、保存ボタン１４３０をクリックすることによって保存され得るすべてのテーブルのためのデフォルト構成をユーザが設定することを可能にする。
【００５２】
[0091]  ボタン１４３０は、配備前のゲームテーブル構成への変更を保存するために使用され得る。
【００５３】
[0092]  図１５は、ゲーム環境１１０の部分を形成し得るゲームテーブルの実施形態の構成を管理するための別のインターフェースを示すウェブアプリケーションの別のスクリーンショット１５００である。スクリーンショット１５００に示されるインターフェースは、目的とする領域の種類、位置、および境界がユーザインターフェースツールを使用して規定されることを可能にする。そのような規定された目的とする領域は次いで、一旦ゲーム構成データ内に保存されると、本明細書内で言及されるような「目的とする予め規定された領域」となる。ボタン１５１０は、奥行き感知デバイスおよびカメラ１２０に対するゲームテーブルの位置が変化した場合に、ゲームテーブルのリフレッシュ画像を得るためにクリックされ得る。スクリーンショット１５００に示される画像フレーム１５１５は、１つまたは複数の目的とする境界領域１５２０を含み、目的とする境界領域は各々、多角形１５２５によって規定されている。特注の多角形は、選択可能なハンドル１５６０を使用して描写され得、例えば、多角形のリスト１５３０に追加され得る。保存ボタン１５４０は、ユーザが多角形に対してなされた変更を保存することを可能にし、再マッピングボタン１５５０は、ユーザが既存の多角形を異なる場所に再マッピングすることを可能にする。
【００５４】
[0093]  ゲームの自動認識のためのシステムを開発するためには、ゲームの挙動を理解することが必要である。本明細書では２種類のゲームテーブルを取り扱う。１つは、ゲームが競技される際に用いられる主要デバイスとしてトランプを、それらが伝統的なものまたはゲーム専用であるにしろ使用する任意のゲームであるカードベースのゲームまたはカードゲームである。この種類の例は、ブラックジャック、バカラ、およびポーカーである。他の種類のテーブルゲームは、カードに基づかない、例えば、ルーレットである。このゲームでは、プレイヤは、単一の数字もしくは数字の範囲、赤色もしくは黒色、または数字が奇数もしくは偶数であるかのいずれかに対して賭けを行うことを選択することができる。勝利する数字および色を決定するために、ディーラは、ホイールを一方向にスピンし、次いで、ホイールの外周を取り巻く円状のトラックの周りにボールを反対方向にスピンする。
【００５５】
[0094]  カードベースのゲームの挙動は以下の通りである。
・プレイヤは、しばらくの間自由に賭けを行う。
・ディーラが「Ｎｏ  ｍｏｒｅ  ｂｅｔｓ」と言い、プレイヤにカードを配り始める。これがゲーム開始のときである。
・ゲーム結果が決まった後、ディーラは、敗北プレイヤのチップを集め、勝利チップを配布する。
・その後、ディーラがすべてのカードを片付ける。これがゲーム終了のときである。
【００５６】
[0095]  非カードベースのゲーム、特にルーレットの挙動。
・プレイヤは、しばらくの間賭けを行うことになる。
・ディーラがホイールをスピンし、ボールが停止しそうになるまでしばらくの間待ち、その後「  Ｎｏ  ｍｏｒｅ  ｂｅｔｓ」とアナウンスする。これがゲーム開始のときである。
・ボールが停止した後、ディーラがドリーをテーブル上に勝利数字の上に置く。勝利／敗北チップは、ディーラによって割り当てられる／集められる。
・その後、ゲームが終了する。
【００５７】
[0096]  全体モニタリングプロセス：ゲームモニタリングシステム１００はその運用において輪郭検出および平面予測という２つの基本的側面を支持する。輪郭検出は、奥行き感知デバイスおよびカメラ１２０によって捕捉される画像内の形状を認識するために、リアルタイムまたはほぼリアルタイムで実施され得るセットまたはプロセスまたは技術を含む。ほぼリアルタイムの処理は、イベントの発生から数秒、例えば２〜３秒以下の待ち時間を伴う処理を含み得る。平面予測は、奥行き感知デバイスおよびカメラ１２０によって捕捉される奥行きデータおよび画像に基づいてゲームテーブルまたは競技面を表す平面の位置を予測するために、リアルタイムまたはほぼリアルタイムで実施され得るプロセスまたは技術のセットを含む。平面予測の工程が実施されると、獲得された平面位置情報は、ゲームテーブル上のゲーム対象物の積み重ねの高さを予測し、例えばチップの積み重ねなどのゲーム対象物の積み重ねと関連付けられた値について推論するために、奥行き感知デバイスおよびカメラ１２０によって捕捉される追加の奥行きデータと組み合わされ得る。
【００５８】
[0097]  画像事前処理工程：輪郭検出または平面予測技術が適用され得る前に、奥行き感知デバイスおよびカメラ１２０によって捕捉される画像に対していくつかの画像事前処理工程が適用される。これらの画像事前処理工程は、輪郭検出および平面予測技術を実施するプロセスの性能および精度を改善する。
【００５９】
[0098]  閾値化：用いられ得る１つの画像事前処理技術が閾値化である。奥行き感知デバイスおよびカメラ１２０は、ゲーム環境１１０の色および赤外線画像フレーム内にデータを返す。閾値化技術は、色および赤外線データの両方のストリームに適用され得る。色または赤外線ストリームいずれかの特定のフレーム内の各画素は、画素の色または強度を示す数値によって表される。色画像フレームは、閾値化操作を実施する前にグレースケール画像フレームに変換され得る。グローバル閾値化は、閾値化を実施する１つの方法である。グローバル閾値化では、各画素値は、任意の閾値と比較され、画素値がこの閾値よりも大きい場合、それは白に対応する値、例えば８ビットスケールでは２５５を指定され、そうでない場合は、黒に対応する値、例えば８ビットスケールでは０を指定される。一連の画像１６００を通じて、図１６は、サンプル画像１６０１に対する閾値化の結果の例を例証する。画像１６０２は、１２７の値を使用した画像１６０１へのグローバル閾値化の適用の結果であり、画像１６０１は８ビットフォーマットで表されている。グローバル閾値化は、様々な実際の応用では十分ではない場合がある。画像は、画像の様々な部分において異なる照明条件を有し得、グローバル閾値化技術の適用は、低照明条件を有する画像の部分を減少し得る。
【００６０】
[0099]  適応型の閾値化は、グローバル閾値化の限界に対処するための代替案である。適応型の閾値化では、画像の異なる小さい領域のための閾値が存在し、閾値化の目的のためにそれらの領域に適用される。適応型の閾値化のための閾値は、ある画素の近傍における画素の平均値、または重みがガウス分布から得られ得る近傍画素の加重和を用いることによって計算され得る。図１６では、画像１６０３は、適応型の平均閾値化技術の適用の出力の例であり、画像１６０４は、元の画像１６０１への適応型のガウス閾値化技術の適用の出力の例である。閾値化の別の代替法は、大津の２値化である。この方法では、閾値化は、画像ヒストグラムに基づいて実施される。一連の画像１７００を通じて、図１７は、代表的なヒストグラム１７０２を用いたサンプル画像１７０１のセットに対する大津の２値化技術の適用の例を例証する。代替的な閾値化技術のうちの１つまたは複数は、事前処理段階で、色または赤外線画像フレームに適用され得る。画像処理ライブラリ９２２は、画像事前処理段階においてゲームモニタリングモジュール９２８によって呼び出され得る提案された閾値化技術を実装する再利用可能なライブラリを提供し得る。
【００６１】
[0100]  モルフォロジー変換：モルフォロジー変換は、画像形状に基づく演算である。これは通常、２値画像に対して実施される。これは２つの入力を必要とし、１つは元の画像であり、２つ目は、演算の特性を決定する構造化要素またはカーネルと呼ばれる。２つの基本的なモルフォロジー演算子は、浸食および膨張である。
【００６２】
[0101]  モルフォロジー変換は、画像内で検出されるべき特徴を強化するため、ならびに輪郭検出プロセスの性能および精度を改善するために、奥行き感知デバイスおよびカメラ１２０によって捕捉される画像に対して実施される。浸食および膨張は、画像事前処理段階中に適用され得るモルフォロジー変換の例である。浸食プロセスおよび膨張プロセスは両方とも、奥行き感知デバイスおよびカメラ１２０によって捕捉されるマトリクスの形態にある画像データ、ならびに入力画像に対して実施されるモルフォロジー演算の特性を決定する構造化要素またはカーネルという２つの入力を必要とする。カーネルは、正方形または円形の形状にあり得、規定された中心を有し、入力画像を通って横断することによって演算として適用される。
【００６３】
[0102]  浸食：浸食のモルフォロジー変換は、カーネルが画像を通って横断する際に、カーネルに対応する値すべてが１または白色に対応する値である場合にのみ、画素の値が１の値または白色に対応する値のままにされるという、カーネルを使用することによる画像内の前景オブジェクトの鮮鋭化を含む。サイズ３×３もしくは５×５または他のサイズのカーネルが浸食の演算のために用いられ得る。浸食演算は、前景オブジェクトの境界を浸食する。一連の画像１８００を通じて、図１８は、浸食および膨張演算子の適用の例を例証する。入力画像１８０１に対する浸食演算の効果の例は、浸食出力画像１８０２に見られ得る。浸食の演算は、画像処理ライブラリ９２２内の予め規定されたライブラリによって実施され得る。例えば、ＯｐｅｎＣＶライブラリが使用される場合、関数「ｅｒｏｄｅ」が、奥行き感知デバイスおよびカメラ１２０によって捕捉された画像に対して働くようにゲームモニタリングモジュール９２８によって呼び出され得る。
【００６４】
[0103]  浸食を達成するため、カーネルは画像を通ってスライドする（２Ｄ畳み込みにおいて見られるように）。元の画像内の画素（１または０のいずれか）は、カーネル下の画素すべてが１である場合にのみ１と見なされ、そうでない場合、それは浸食される（ゼロにされる）。
【００６５】
[0104]  膨張：膨張の演算は浸食の逆である。例えば、３×３正方形マトリクスカーネルを使用する膨張演算では、カーネルの中心にある画素は、対応するカーネル内の値のいずれか１つが１または白色に対応する値である場合、１の値または白色に対応する値のままにされ得る。入力画像１８０２に対するこの演算の効果の例は、浸食出力画像１８０３に見られ得る。膨張の結果として、画像内の特徴はより連続的でかつ大きくなる。膨張の演算は、画像処理ライブラリ９２２内の予め規定されたライブラリによって実施され得る。例えば、ＯｐｅｎＣＶライブラリが使用される場合、関数「ｄｉｌａｔｅ」が、奥行き感知デバイスおよびカメラ１２０によって捕捉された画像に対して働くようにゲームモニタリングモジュール９２８によって呼び出され得る。
【００６６】
[0105]  膨張は、浸食の真逆である。ここでは、カーネル下の少なくとも１つの画素が１である場合、画素要素は１である。そのため、それは画像内の白領域を増加させるか、または前景オブジェクトのサイズが増大する。通常、雑音除去などの場合、浸食の後に膨張が続く。なぜなら、浸食は白色雑音を除去するが、本明細書における対象物を縮小もする。そのため、本発明ではそれを膨張させる。雑音要素は浸食によって除去されるため、雑音要素が膨張によって再びもたらされることはないが、対象物エリアが増大する。それは、対象物の破損個所を結合することにも有用である。
【００６７】
[0106]  画像への閾値化技術の適用は、２値画像を生成する。画像内に存在する特徴をさらに強化するため、浸食および膨張のモルフォロジー変換が適用される。有利には、モルフォロジー変換は、画像からの雑音の低減、個々の要素の分離、および画像内の異種要素の結合を助ける。
【００６８】
[0107]  画像輪郭は、画像内に表される対象物の境界に沿った連続的な点すべてを結合する曲線を含む。輪郭は、形状分析ならびに対象物検出および再構成のための有用なツールである。輪郭近似は、特定の形状の相似をアプリケーション内の所望の形状のものに近似するために使用される。所望の形状は、例えば、多角形または円形または楕円の形態にあり得る。より優れた精度および性能のために、輪郭検出演算は、エッジ検出演算が実施された後に２値画像に対して実施され得る。
【００６９】
[0108]  エッジ検出：エッジ検出は、画像内の対象物の境界を見つけるための画像処理技術である。それは、明るさの不連続性を検出することによって機能する。中でも、Ｃａｎｎｙは、以下の工程で説明され得る人気のマルチステージエッジ検出アルゴリズム（またはプロセス）である。
【００７０】
[0109]  エッジ検出は、近傍画素および画素クラスタ間の明るさ不連続性を検出することによって実施され得る。いくつかの画像処理技術が、この演算を実施するために用いられ得る。いくつかの実施形態は、奥行き感知デバイスおよびカメラ１２０によって捕捉された画像内のエッジを検出するためにＣａｎｎｙエッジ検出演算子またはプロセスを実装する。図１９は、Ｃａｎｎｙエッジ検出演算子の実装に関与する一連の工程を表すフローチャート１９００である。工程１９１０は、演算子への入力として使用するための画像の準備を伴う。この工程は、画像への適切な閾値化技術の適用、および残りのエッジ検出プロセスの性能を改善するための浸食または膨張の適用を含み得る。工程１９２０は、画像から望ましくない雑音を低減することを含む。これは、例えば、５×５ガウスフィルタリングカーネルの適用により達成され得る。この工程は、画像内の特徴を滑らかにし、残りのプロセスの性能を改善する。用いられ得るガウスフィルタリングカーネルの例は以下の通りである。
【００７１】
【数１】
2019522507.tif 000003
【００７２】
[0110]  工程１９３０は、画像の輝度勾配の予測を含む。この演算を実施するために、入力画像は、２つのＳｏｂｅｌカーネルによってフィルタリングされる。カーネルＧｘの演算は、画像の第１の導関数を水平方向に返し、カーネルＧｙは、入力画像の第１の導関数を垂直方向に返す。使用され得るカーネルＧｘおよびＧｙは以下である。
【００７３】
[0111]
【数２】
2019522507.tif 000004
【００７４】
[0112]  入力画像の第１の水平および垂直の導関数に基づいて、エッジ勾配Ｇおよび各画素の方向θが以下のように計算され得る。
【００７５】
[0113]
【数３】
2019522507.tif 000005
【００７６】
[0114]  勾配方向は、エッジに対してほぼ垂直であり、垂直方向、水平方向、および２つの斜め方向を表す４つの角度のうちの１つに丸められ得る。
【００７７】
[0115]  工程１９４０では、あるエッジまたは所望のエッジを構成することができないいかなる望ましくない画素も除去するために、エッジ強度画像の完全なスキャンが行われ得る。これは、各画素がその勾配の方向においてその近傍内で極大であるかどうかをチェックすることによって達成される。図２０のグラフ２０００に例証されるように、点Ａは、エッジ上に垂直方向にあり、勾配方向は、エッジに垂直である。点ＢおよびＣは、勾配方向内に位置し、したがって、点Ａは、それが極大を形成するかどうかを観察するために、点ＢおよびＣと比較され得る。そうである場合、それはプロセス内の次の段階１９５０について検討され、そうでない場合、それは、点Ａに０の画素値を指定することによって抑制され得る。その結果が、薄エッジに対応する値１およびエッジなしに対応する０の画素を有する２値画像である。
【００７８】
[0116]  工程１９５０では、前の工程で検出されたエッジのうちのどれが真の陽性であるかが予測され、真の陽性とは、擬陽性ではなく、入力画像によって表される現実世界におけるエッジを表す可能性が最も高いものを意味する。この演算を実施するために、ｍｉｎＶａｌおよびｍａｘＶａｌという２つの閾値が規定され得る。ｍａｘＶａｌより大きい輝度勾配を有するエッジは、確実なエッジであると見なされ、ｍｉｎＶａｌ未満のものは、非エッジと見なされて廃棄され得る。２つの閾値内に入るエッジは、それらの接続性プロパティによってエッジまたは非エッジとしてさらに分類され得る。それらが確実なエッジ画素に接続される場合、それらはエッジの部分を形成すると見なされる。そうでない場合、それらは擬陽性として廃棄され得る。例えば、図２１のグラフ２１００では、エッジＡはｍａｘＶａｌを上回るため、それは真の陽性と見なされ得る。エッジＣはｍａｘＶａｌ未満であるが、それはエッジＡに接続されるため、それもまた真の陽性エッジとして取り扱われ得、曲線全体が有効と見なされ得る。エッジＢはｍｉｎＶａｌを上回り、かつエッジＣのものと同じ領域内にあるが、いかなる真の陽性エッジにも接続されていないため、それは擬陽性として取り扱われ得る。ｍｉｎＶａｌおよびｍａｘＶａｌの値は、最適な結果を達成するように選択される。例えば、ｍｉｎＶａｌは２０〜６０の間の値に設定され得、ｍａｘＶａｌは、６０〜１８０の間の値に設定され得る。この段階は、小画素クラスタの形態にある雑音も除去し得る。
【００７９】
[0117]  図１９において識別される工程の一部またはすべては、画像処理ライブラリ９２２内で利用可能なプログラムを通じて実施され得る。例えば、ＯｐｅｎＣＶライブラリが使用される場合、「Ｃａｎｎｙ」エッジ検出関数呼び出しが使用され得る。エッジ検出の他の代替方法もまた、入力画像内のエッジの識別の同じ結果を得るためにＣａｎｎｙエッジ検出の代替案として利用され得る。
【００８０】
[0118]  輪郭検出：エッジ検出演算子が、エッジを識別するために入力画像に適用された後、輪郭検出プロセスが、画像内の形状の相似を例えば多角形または円形などの特定のモデル形状に近似するためにエッジ検出演算の結果に適用され得る。
【００８１】
[0119]  輪郭は、同じ色または強度を有する（境界に沿った）連続的な点すべてを結合する曲線として説明され得る。輪郭は、形状分析ならびに対象物検出および再構成のための有用なツールである。より優れた精度のために、２値画像が輪郭検出アルゴリズム（またはプロセス）への入力として使用されることが示唆される。そのため、輪郭を発見する前に、閾値化またはＣａｎｎｙエッジ検出を適用すべきであることが示唆される。本発明の応用においては、デジタル化された２値画像のトポロジー分析のために境界線追跡アルゴリズム（またはプロセス）を使用する。これらのアルゴリズム（またはプロセス）は、２値画像の境界線間の包囲関係を決定する。外側の境界線および穴境界線は、それぞれ、画素の接続された構成要素および穴への一対一対応を有するため、本アルゴリズム（またはプロセス）は、２値画像の表現をもたらし、そこからいくつかの特徴を画像を再構成することなく抽出することができる。第１の境界線追跡アルゴリズムの修正版である第２の境界線追跡アルゴリズム（またはプロセス）は、最も外側の境界線（すなわち、穴によって囲まれていない外側の境界線）のみを追跡する。
【００８２】
[0120]  本発明において特定する正確性に応じて、輪郭形状をより少ない数の頂点を有する別の形状（多角形）に近似する輪郭近似も実施される。それは、Ｄｏｕｇｌａｓ−Ｐｅｕｃｋｅｒアルゴリズムを通じて以下のように実装され得る。
ｆｕｎｃｔｉｏｎ  ＤｏｕｇｌａｓＰｅｕｃｋｅｒ（ＰｏｉｎｔＬｉｓｔ［］，ｅｐｓｉｌｏｎ）
／／Ｆｉｎｄ  ｔｈｅ  ｐｏｉｎｔ  ｗｉｔｈ  ｔｈｅ  ｍａｘｉｍｕｍ  ｄｉｓｔａｎｃｅ
ｄｍａｘ＝０
ｉｎｄｅｘ＝０
ｅｎｄ＝ｌｅｎｇｔｈ（ＰｏｉｎｔＬｉｓｔ）
ｆｏｒ  ｉ＝２  ｔｏ（ｅｎｄ−１）｛
ｄ＝ｐｅｒｐｅｎｄｉｃｕｌａｒＤｉｓｔａｎｃｅ（ＰｏｉｎｔＬｉｓｔ［ｉ］，
Ｌｉｎｅ（ＰｏｉｎｔＬｉｓｔ［１］，ＰｏｉｎｔＬｉｓｔ［ｅｎｄ］））
ｉｆ（ｄ＞ｄｍａｘ）｛
ｉｎｄｅｘ＝ｉ
ｄｍａｘ＝ｄ
｝
｝
／／Ｉｆ  ｍａｘ  ｄｉｓｔａｎｃｅ  ｉｓ  ｇｒｅａｔｅｒ  ｔｈａｎ  ｅｐｓｉｌｏｎ，
／／ｒｅｃｕｒｓｉｖｅｌｙ  ｓｉｍｐｌｉｆｙ
ｉｆ（ｄｍａｘ＞ｅｐｓｉｌｏｎ）｛
／／Ｒｅｃｕｒｓｉｖｅ  ｃａｌｌ
ｒｅｃＲｅｓｕｌｔｓ１［］＝ＤｏｕｇｌａｓＰｅｕｃｋｅｒ（ＰｏｉｎｔＬｉｓｔ［１．．．ｉｎｄｅｘ  ］，
ｅｐｓｉｌｏｎ）
ｒｅｃＲｅｓｕｌｔｓ２［］＝ＤｏｕｇｌａｓＰｅｕｃｋｅｒ（ＰｏｉｎｔＬｉｓｔ［ｉｎｄｅｘ．．．ｅｎｄ］，
ｅｐｓｉｌｏｎ）
／／Ｂｕｉｌｄ  ｔｈｅ  ｒｅｓｕｌｔ  ｌｉｓｔ
ＲｅｓｕｌｔＬｉｓｔ［］＝｛ｒｅｃＲｅｓｕｌｔｓ１［１．．．ｌｅｎｇｔｈ（ｒｅｃＲｅｓｕｌｔｓ１）−１］，
ｒｅｃＲｅｓｕｌｔｓ２［１．．．ｌｅｎｇｔｈ（ｒｅｃＲｅｓｕｌｔｓ２）］｝
｝ｅｌｓｅ｛
ＲｅｓｕｌｔＬｉｓｔ［］＝｛ＰｏｉｎｔＬｉｓｔ［１］，ＰｏｉｎｔＬｉｓｔ［ｅｎｄ］｝
｝
／／Ｒｅｔｕｒｎ  ｔｈｅ  ｒｅｓｕｌｔ
ｒｅｔｕｒｎ  ＲｅｓｕｌｔＬｉｓｔ［］
ｅｎｄ
【００８３】
[0121]  図２２では、一連の画像２２００が、Ｄｏｕｇｌａｓ−Ｐｅｕｃｋｅｒアルゴリズムの適用の様々な段階を表す。画像２２１０は、入力画像として使用され得る元の画像である。画像２２２０内の線２２０５は、アーク長の１０％に等しいエプシロンの値のための近似曲線を表す。画像２２３０内の線２２１５は、アーク長の１％に等しいエプシロンの値のための近似曲線を表す。
【００８４】
[0122]  輪郭予測演算は、画像処理ライブラリ９２２内の予め準備された関数を使用し、それらをゲームモニタリングモジュール９２８内で呼び出すことによって実施され得る。例えば、輪郭予測プロセスを実施するためにＯｐｅｎＣＶが使用される場合、例えば、関数「ｆｉｎｄＣｏｎｔｏｕｒｓ」または「ｄｒａｗＣｏｎｔｏｕｒｓ」または「ａｐｐｒｏｘＰｏｌｙＤＰ」が、本プロセスを実施するために呼び出され得る。
【００８５】
[0123]  平面検出プロセス：ゲームテーブルまたは競技面上のチップの積み重ねの高さの予測の前身として、ゲームモニタリングシステム１００は、ゲームテーブルまたは競技面を含む平面の位置を予測する。平面の方程式を予測する１つの方法は、主成分分析（ＰＣＡ）による。ＰＣＡは、データのセットから当てはめモデルまでの垂直距離を最小限にする。これは、直交回帰または総最小二乗として知られるものの線形ケースである。例えば、２つのデータベクトルｘおよびｙを前提とすると、２つの変数を有する線形方程式の形態にある線は、点（ｘｉ，ｙｉ）の各々から線までの垂直距離を最小限にすると予測され得る。より一般的には、ｒ−次元超平面は、ｐ−次元空間内にフィットされ得、ここでｒはｐ未満である。ｒの選択は、ＰＣＡ中に維持する成分の数の選択に同等である。
【００８６】
[0124]  平面の基礎的な数学モデルは、以下のように式化され得る。
ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０
【００８７】
[0125]  値ａ、ｂ、ｃ、およびｄは、ゲームテーブルまたは競技面上の選択された点からの距離を最小限にするように予測される必要がある。チップ検出段階中に獲得される画像の２値バージョンに基づいて、チップとして検出されない１００以上の点が、ＰＣＡのための入力点として選択され得る。これらの選択された点は２次元空間内にあるため、点と関連付けられた奥行き情報は、２次元空間内の座標を獲得するために利用される。ピンホールカメラモデルの原則は、２次元空間内の点を３次元空間内の点に変換するために依拠される。座標（ｘ，ｙ）を有する２次元空間内の点、奥行き値Ｚ、ならびに奥行き感知デバイスおよびカメラ１２０の光心のｘ，ｙ座標としての（Ｃｘ，Ｃｙ）を前提とすると、３次元空間内の同じ点の座標（Ｘ，Ｙ，Ｚ）は、以下の方程式を使用して決定され得る。
【００８８】
[0126]  
【数４】
2019522507.tif 000006
【００８９】
[0127]  図２３（ａ）および図２３（ｂ）は、３次元座標グラフ２３００内の点のセット２３１０へのＰＣＡの適用を例証する。図２３（ｂ）内の座標グラフ２３０１では、ＰＣＡの適用が、点２３１０と平面２３５０との間の直交距離２３２０を最小限にするプレイス２３５０の識別を可能にする。平面予測演算は、画像処理ライブラリ９２２内の予め準備された関数を使用し、それらをゲームモニタリングモジュール９２８内で呼び出すことによって実施され得る。例えば、輪郭予測プロセスを実施するためにＯｐｅｎＣＶが使用される場合、クラス「ｃｖ：：ＰＣＡ」によって実施される関数が、例えば、平面予測プロセスを実施するために呼び出され得る。
【００９０】
[0128]  チップの値を予測するために、画像の従来的なユークリッド距離を使用してチップを分類することができる。チップテンプレート画像は、比較目的のために事前に集められる。次いで、ｋ近傍アルゴリズムがチップの値を指定するために使用される。しかしながら、類似の色を有するいくつかのチップ種類が存在する。これらの種類のチップを区別するために、本発明では、赤外線画像からチップ種類の反射率をさらに利用して、ｋ近傍アルゴリズムを用いてそれらを分類する。
【００９１】
[0129]  テーブル平面が示された後、各チップの中心からその平面までの距離が、チップの積み重ねの高さを得るために予測され得る。チップの数はまた、線形または非線形マッピングによって、この高さに基づいて予測され得る。点から平面までの距離を計算することは、以下のように派生される。３次元空間内の平面を前提とし
ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０
および点ｘ０＝（ｘ０；ｙ０；ｚ０）であり、平面までの法線ベクトルが、
【００９２】
【数５】
2019522507.tif 000007
によって得られ、その点から平面までの距離は、
【００９３】
【数６】
2019522507.tif 000008
として計算される。
【００９４】
[0130]  カード検出のためのアルゴリズム（またはプロセス）が実施され得る。例えばカードベースおよび非カードベースのゲームの２種類のゲームが存在し得る。カードベースのゲームの場合、１内のアルゴリズム（またはプロセス）が、カードを検出し、ゲーム開始イベントをトリガするために使用され得る。ルーレットの場合、ドリー検出が、ゲーム開始および終了イベントをトリガするために使用され得る。ゲームモニタリングシステムがドリー（または位置マーカ）を検出するとき、それは、ドリーの検出の数秒前、例えば２０〜３０秒前にゲームが開始した可能性があることを推論し得る。ドリーは、ディーラによって除去されるまでその位置にとどまり得る。初期検出後のドリーの除去は、ゲーム終了イベントをトリガし得る。ドリーの反射特徴に起因して、それを検出するには色画像ではなく赤外線画像が使用され得る。
【００９５】
[0131]  アルゴリズム１  カード検出アルゴリズム（プロセス）：
１：手続きＣａｒｄＤｅｃｔｉｏｎ（ｉｍｇ）。グレースケール画像ｉｍｇを入力する
２：ｉｍｇに対してＣａｎｎｙエッジ検出を適用する
３：エッジセグメント間の可能性のある穴を除去するためにＣａｎｎｙ出力を膨張する
４：ｉｍｇに対してＣａｎｎｙエッジ検出を適用する
５：輪郭を発見し近似する
６：以下の基準を満たす輪郭を承認する：
輪郭のエリアは、カードのエリアサイズ、例えば４０〜７０ｃｍ２の間または５０〜６０ｃｍ２の間以内でなければならない
輪郭は、近似後に４つの頂点を有さなければならない
結合エッジ間の角度のコサインは、例えば−０．２〜０．２の間または−０．１〜０．１の間など、小さくなければならない。
【００９６】
[0132]  アルゴリズム２  ドリー検出アルゴリズム（プロセス）：
１：手続きＤｏｌｌｙＤｅｃｔｉｏｎ（ｉｍｇ）。赤外線画像ｉｍｇを入力する
２：ｉｍｇに対してグローバル閾値化を適用する
３：小さい対象物を除去するために出力を浸食する。
４：サイズ基準を満たす対象物が残っている場合、それは検出されたドリーである。
５．チップを検出するためのチップ検出、本発明では、背景からチップをセグメント化するために適応型の閾値化を使用する。出力された２値は、小さい対象物を除去するために浸食および膨張される。その後、サイズ基準を満たすすべての小塊が、チップとして検出される。このアルゴリズム（またはプロセス）は、色画像および赤外線画像の両方に対して適用され得る。以下の細別事項は、使用される技術のレビューであり、アルゴリズム（またはプロセス）のレイアウト詳細は、アルゴリズム３において説明される。
【００９７】
[0133]  アルゴリズム３  チップ検出アルゴリズム（またはプロセス）（プロセス）：
１：手続きＣａｒｄＤｅｃｔｉｏｎ（ｉｍｇ）。グレースケール画像ｉｍｇを入力する
２：ｉｍｇに対して適応型の閾値化を適用する
３：小さい対象物を除去するために出力を浸食および膨張する。
４：サイズ基準を満たす対象物が残っている場合、それは検出されたチップである。
【００９８】
[0134]  サイズ基準または角度基準のコサインなどの特定の基準は、テーブル構成９４２の部分として構成モジュール９４０内に格納され得る。
【００９９】
[0135]  チップ高さ予測アルゴリズムは、アルゴリズム４において見られ得る：
【０１００】
[0136]  アルゴリズム４  チップ積み重ね高さ予測アルゴリズム（プロセス）：
１：手続きＣｈｉｐＨｅｉｇｈｔＥｓｔｉｍａｔｅ（ｉｍｇ）。奥行き画像ｉｍｇを入力する
２：チップではない選択されたテーブル点を３Ｄ座標に変換する
３：これらの点をテーブル平面と呼ばれる平面にフィットする
４：チップ積み重ね高さを得るためにチップ積み重ねの各中心からこの平面までの距離を見つける
５：積み重ねられたチップの数を予測するために単一のチップの高さから高さを割る
【０１０１】
[0137]  図２６（ａ）および図２６（ｂ）は、それぞれ、カード検出およびチップ検出が実施されているゲームテーブルの実施形態の画像フレーム２６００および２６５０である。図２６（ａ）では、境界２６２０は、カードが検出された画像フレームのエリアを表す。境界２６３０は、チップが検出された画像フレームのエリアを表す。カード２６１０は、それが奥行き感知デバイスおよびカメラ１２０に完全に提示されておらず、およびゲームテーブル２１０上で配られているプロセスにあるため、カード検出アルゴリズム（またはプロセス）によって検出されていない。図２６（ｂ）では、図２６（ａ）に提示されるカードとは異なるカード２１１が検出されており、境界２６２０に囲まれている。図２６（ｂ）内のチップ２１３は、図２６（ａ）内のチップとは異なる位置にあり、境界２６３０を用いて検出されている。
【０１０２】
[0138]  図２７（ａ）および図２７（ｂ）は、それぞれ、カード検出およびチップ検出が実施されているゲームテーブルの実施形態の画像フレーム２７００および２７０１を表す。図２７（ｂ）は、２値閾値化技術のうちのいずれか１つの図２７（ａ）への適用の結果である。図２７（ｂ）内の形状２７１０は、カード２１１の潜在的な擬陽性検出であり得る。これらの擬陽性は、ある形状のエリアをカードの予期されるエリアと比較するアルゴリズム１の工程６によって除外され得る。類似形状２７２０は、形状２７２０のエリアとチップ２１３の予期されるエリアとの比較によってチップ２１３の擬陽性検出として除外され得る。図２８（ａ）は、カード２１１およびチップ２１３などのゲーム対象物を有するゲームテーブル２８００の実施形態の赤外線画像を表す。図２８（ｂ）では、チップ２１１がチップ検出アルゴリズム３によって識別されており、検出を示すために灰色にされている。色画像フレームに対するゲーム対象物検出プロセスの適用の結果は、検出の精度およびチップ積み重ね高さの予測を改善するために赤外線画像フレームと組み合わされ得る。
【０１０３】
[0139]  図２９（ａ）〜図２９（ｅ）は、いくつかの実施形態に従う画像フレーム２９００へのチップ検出プロセスの適用を例証する。画像フレーム２９００は、奥行き感知デバイスおよびカメラ１２０によって捕捉され得る。図２９（ｂ）は、図２９（ａ）の入力画像フレーム２９００への２値閾値化操作の適用によって得られる画像フレーム２９０１である。図２９（ｃ）の画像フレーム２９０２は、図２９（ｂ）の画像フレーム２９０１への浸食演算の適用によって得られる。図２９（ｄ）は、図２９（ｃ）の入力画像フレーム２９０２に対する膨張演算の適用により得られる画像フレーム２９０３である。浸食および膨張演算の組み合わせは、入力画像フレームから雑音を低減するのを助け、チップなどの観察可能な特徴をより目立たせる。図２９（ｅ）は、チップ検出プロセスの結果を例証する画像フレーム２９０４である。検出されたチップ２１３は、外形２９２０によって識別される。図２９（ｄ）の形状２９１０は、それらがチップ検出のプロセスの部分として基準を満たすことができないことから、チップとして識別されない。この基準は、チップとして検出されるべき形状のサイズ範囲、または他の同様の区別基準であり得る。
【０１０４】
[0140]  いくつかの実施形態は、ゲームテーブルのゲームイベントをモニタするために図２４のフローチャート２４００内の工程に従う。フレームグラバ２４１０は、カラービデオフレーム、奥行きフレーム、および赤外線フレームを含む、３つのフレームのストリームを集める。生の色画像は、１９２０×１０８０解像度を有する。奥行きストリームは、可視エリア内のすべての点の奥行き値を提供する。奥行き値は、観察された点のセンサからの距離である。赤外線ストリームは、視野のより暗い部分をより明白に閲覧できるようにする。
【０１０５】
[0141]  ゲーム開始検出は２４２０で発生する。ゲームが開始するときを検出するために、いくつかの実施形態はトリガとしてカードを使用する。ルーレットのようなカードなしのゲームの場合、ゲームが終了するときにドリーが検出され得、ゲーム開始イベントはｎ番目のフレームに遡ってトリガされる。
【０１０６】
[0142]  チップ検出および予測は２４３０で発生する。これは、チップの場所を検出し、チップ金銭価値およびそのチップ積み重ね内にいくつのチップがあるかを予測するプロセスである。このアルゴリズム（またはプロセス）は、適応型の閾値化およびモルフォロジー演算に基づく。これは、色画像および赤外線画像の両方に適用され得る。
【０１０７】
[0143]  チップ値予測は、色画像内のテンプレートマッチングおよび赤外線画像内の各チップ種類の反射特徴を使用することによって、２４６０で実施される。次いで、チップ高さ予測が、チップの上面とテーブル平面との間の距離に基づいて計算される。
【０１０８】
[0144]  ゲーム終了検出２４６０は、ゲーム開始検出と反対のプロセスである。ディーラがカードを片付けると、それがゲーム終了イベントをトリガする。ルーレットの場合、ドリーの除去の検出がこのイベントをトリガする。
【０１０９】
[0145]  ゲーム開始および終了検出：図２５は、いくつかの実施形態がゲームテーブル上のイベントをモニタするために実施し得るゲームモニタリングプロセス２５００のフローチャートを表す。本プロセス内の２つの重要な工程は、ゲーム開始検出２５２０およびゲーム終了検出２５６０である。ゲーム開始および終了トリガを規定するイベントの特定の特性は、ゲーム開始および終了トリガ構成９４４内に格納され得、ゲームがテーブル上で開始または終了されたことを予測するためにゲームモニタリングモジュール９２８によって参照され得る。例えば、ブラックジャックのゲーム用に指定されたテーブルの場合、工程２５１０において抽出された画像フレーム内の１つまたは複数のカードの存在は、ゲームの開始として取り扱われ得る。同様に、ゲームの開始後、画像フレーム内にいかなるカードもないことは、ゲーム終了検出２５６０の目的のためにゲームの終了として取り扱われ得る。ルーレットなどのカードに基づかないゲームの場合、ドリーなどの他のゲーム対象物の存在が、ゲームのための開始および終了トリガとして使用され得る。ゲーム開始または終了トリガを作動するゲーム対象物の特定の形状および特性は、コンピューティングデバイス１３０の構成モジュール９４０のゲーム開始および終了トリガ構成９４４に保存され得る。これらの構成は、データベースサーバ１５０上のウェブアプリケーションサーバ１６０を通じて管理され得、続いてテーブル構成伝達モジュール１１４０を介してコンピューティングデバイス１３０に転送され得る。
【０１１０】
[0146]  全体モニタリングプロセス：ゲームモニタリングプロセス２５００は、画像フレーム２５１０の抽出の工程から始まる。この工程は、奥行き感知デバイスおよびカメラ１２０によってゲーム環境１１０の画像を捕捉すること、ならびにゲームモニタリングモジュール９２８による分析のために利用可能なコンピューティングデバイス１３０へのリンク１０７を介した捕捉画像の送信を含む。画像は、色フォーマットもしくは赤外線フォーマット、またはその両方、または奥行き感知デバイスおよびカメラが画像を捕捉することができる任意の他のフォーマットで捕捉され得る。次の工程２５２０は、例えば、アルゴリズム１：カード検出アルゴリズムまたはアルゴリズム２：ドリー検出アルゴリズムの適用によるゲームの開始の検出を含む。ゲームの始まりが検出されると、ゲームテーブルまたは競技面２５３０の平面を自動予測する工程が実施される。工程２５３０は、上で論じられたＰＣＡを使用して実施され得、結果は、コンピューティングデバイス１３０のメモリに格納され得る。
【０１１１】
[0147]  次の工程２５４０は、チップの検出を含む。この工程は、アルゴリズム３：チップ検出アルゴリズムを通じて実施され得る。チップが検出される場合、次の工程２５５０は、画像内のチップの積み重ねの値を予測することであり得る。この工程は、リアルタイムまたはほぼリアルタイムで実施され得るアルゴリズム４：チップ積み重ね高さ予測アルゴリズムまたはプロセスを実施することによって実施される。本プロセスの部分はまた、積み重ねの上部のチップまたは賭け対象物の色を自動的に予測すること、およびテーブル構成モジュール９４２から色と関連付けられた値を読み出すことを含み得る。読み出された値は、積み重ね全体の値を自動的に予測するために、積み重ね内の賭け対象物またはチップの予測された数で乗算され得る。このアルゴリズムまたはプロセスの適用の結果は、コンピューティングデバイス１３０のメモリに格納され、イベントまたはトランザクションとして記録され得る。検出されたチップの積み重ねはまた、同じゲームテーブル上の他のチップの積み重ねからそれを区別するためにテーブル上の目的とする領域と関連付けられる。
【０１１２】
[0148]  単一の目的とする領域上のチップまたは賭け対象物の複数の積み重ねは、別個に検出され得、各積み重ねの予測された値は、目的とする領域の固有の識別子と共に別個に記録され得る。代替的に、単一の目的とする領域上のチップの複数の積み重ねの値は、合計され、目的とする領域の固有の識別子と共に記録され得る。チップの複数の積み重ねの高さは、アルゴリズム４の実施の１回の反復または数回の反復で予測され得る。チップの積み重ねの値を予測した後、別の画像フレームが、工程２５１４を通じてグラブされ、ゲーム終了検出工程２５６０が実施される。ゲーム終了検出は、例えば、任意のカードの不在を探すことによって、または工程２５１４でグラブされた画像フレーム内のゲームテーブル上のドリーの不在によって、実施され得る。ゲーム終了が検出されない場合、別の画像フレームが工程２５１２でグラブされ、この後に、工程２５４０においてチップの検出のさらにもう１回の反復が続く。
【０１１３】
[0149]  ゲームの終了が検出されると、工程２５７０において、モニタリングプロセス中に捕捉されたイベントデータが、メッセージブローカサーバ１４０を介してゲームイベントデータ１１２４として格納されるように、データベースサーバ１５０に送信される。他の実施形態において、トランザクションをデータベースサーバ１５０に報告する工程は、イベントがリアルタイムまたはほぼリアルタイムの様式で検出されているときに発生し得る。このイベントデータは、イベントが発生したタイムスタンプ、チップが検出された目的とする領域、チップの積み重ねの予測値、ゲーム開始および終了時間、ならびにゲームモニタリングモジュール９２８によって捕捉される他の関連パラメータを含み得る。トランザクションをデータベースサーバに報告した後、ゲームモニタリングシステムは、工程２５１０および２５２０において、ゲームテーブルをモニタし続け、次のゲームの始まりを待ち得る。ゲーム中に捕捉されるイベントデータのいくつかの記録の例は、以下の通りである。
【０１１４】
[0150]  ゲーム記録１＜テーブルＩＤ：Ｒ．２７４５；ゲームＩＤ：１７．０．２０１７０４２１１５０２０２；ゲーム開始時間：２０１７−０４−２１ １５：０２：０２；ゲーム終了時間：２０１７−０４−２１ １５：０４：０２＞
【０１１５】
[0151]  ゲーム対象物記録１＜テーブルＩＤ：Ｒ．２７４５；ゲームＩＤ：１７．０．２０１７０４２１１５０２０２；目的とする領域ＩＤ：プレイヤ−１、賭け対象物値：５；賭け対象物数：５＞
【０１１６】
[0152]  ゲーム対象物記録２＜テーブルＩＤ：Ｒ．２７４５；ゲームＩＤ：１７．０．２０１７０４２１１５０２０２；目的とする領域ＩＤ：プレイヤ−２、賭け対象物値：１０；賭け対象物数：２＞
【０１１７】
[0153]  ゲームイベントデータの上の例において、固有の識別子「ゲームＩＤ：１７．０．２０１７０４２１１５０２０２」を有するゲーム記録１は、固有の識別子「テーブルＩＤ：Ｒ．２７４５」によって識別される固有のゲームテーブルまたは競技面と関連付けられる。ゲーム記録はまた、ゲーム開始および終了タイムスタンプ値を含む。ゲーム記録１と関連付けられるのは、ゲーム対象物記録１およびゲーム対象物記録２という２つのゲーム対象物記録である。ゲーム対象物記録１は、固有の識別子「プレイヤ−１」を有する目的とする領域内で検出された値５の５つの賭け対象物の予測を表す。ゲーム対象物記録２は、固有の識別子「プレイヤ−２」を有する目的とする領域内で検出された値１０の２つの賭け対象物の予測を表す。
【０１１８】
[0154]  マルチフレーム処理：上に説明されるゲーム対象物検出への取り組みは、任意の処理を実施するために単一フレームまたはスナップショットを考慮する。この取り組みによってもたらされる結果は、マルチフレーム処理技術により擬陽性を回避しより高い精度を達成するためにさらに改善され得る。この技術は、ゲーム対象物検出およびチップ高さ予測のためのすべてのフレームを処理すること、ならびにすべての処理反復の後に得られる結果のロギングを含む。ゲーム対象物検出およびチップ積み重ね高さ予測工程を改善するために、特定の処理ルールがロギングされた結果に適用され得る。例えば、いくつかのフレームにわたって予測されたチップ積み重ね値の平均化が、誤った観察を有する数フレームを補償するために使用され得る。また、第１のカード検出が遅延され得るゲームにおいて、ゲームモニタリングモジュール９２８は、時間を遡って捕捉フレームを横断して、カード検出を再び実施し、新規ゲームの始まりを遡及的に識別し得る。ゲームをトリガする対象物を移動させることは、目的とする複数の領域内でカードを検出し、目的とする領域の特定の比率、例えば８領域のうちの３つ、または１２領域のうちの２つがカードを有して検出された場合にのみゲームが開始されたと取り扱うことによって低減され得る。
【０１１９】
[0155]  奥行き感知デバイスおよびカメラ１２０の視野から一時的に妨害され得るゲーム対象物を検出するために、マルチフレーム処理技術も用いられ得る。図３１は、ディーラの頭３０１０の形態にある妨害物を有するゲームテーブルの視野を表す画像フレーム３０００である。図３１は、画像フレーム３０００の前後数秒に取られた図３０のゲームテーブルの視野を表す画像フレーム３１００である。画像フレーム３１００は、妨害物３０１０を有さず、チップ検出アルゴリズムの適用が、画像フレーム３０００内で以前に検出されなかったチップ３１１３の識別を結果としてもたらす。２〜４秒または１〜２秒または１秒以内など、短時間で獲得され得た画像フレームに対するゲーム対象物検出プロセスの適用によって得られた結果の組み合わせは、ゲーム対象物検出プロセスの全体的な精度を改善するために使用され得る。
【０１２０】
[0156]  上に説明されるマルチフレーム処理技術はまた、例えば、視覚画像カメラおよび赤外線カメラから得られた画像、または２つ以上の奥行き感知デバイスおよびカメラ１２０から得られた画像など、異なるソースから得られた画像フレームまで拡大され得る。図３２は、奥行き感知デバイスおよびカメラ１２０の部分であり得る視覚画像カメラから得られた画像フレーム３２００である。この画像３２００では、チップ検出プロセスの適用は、チップ３２１０を識別することによって擬陽性結果を生成し得る。図３３は、画像事前処理工程ならびにエッジおよび輪郭検出技術が生の画像フレームに適用された後に赤外線カメラから得られた画像フレーム３３００である。画像フレーム３３００におけるチップ検出プロセスの適用は、画像フレーム３２００内で生成された擬陽性結果を生成しない。したがって、複数の異なる（種類の）画像フレームに対するゲーム対象物検出プロセスの適用によって得られる結果の組み合わせは、ゲーム対象物検出結果の精度を改善するためにいくつかの実施形態において効果的であり得る。
【０１２１】
[0157]  図３４のフローチャートは、いくつかの実施形態が実装し得るマルチフレーム処理技術３４００の実装形態の例である。工程３４１０は、奥行き感知デバイスおよびカメラ１２０を通じて２つの画像フレームＡおよびＢを獲得することを含む。画像フレームＡおよびＢは、視覚画像カメラまたは赤外線カメラからのものであり得、例えば数ミリ秒だけ捕捉の時間が分離され得る。代替的に、画像フレームＡおよびＢは、例えば同じ時間点において、それぞれ視覚画像カメラおよび赤外線カメラから獲得されている。両方の画像フレームＡおよびＢは、実質的に同じ視点から取られ、同じゲームテーブルまたは競技面を表す。
【０１２２】
[0158]  工程３４２０は、画像フレームＡおよびＢ内の各目的とする領域へのゲーム対象物検出プロセスの適用を含む。ゲーム対象物検出プロセスは、例えば、カード検出プロセス、またはチップもしくは賭け対象物検出プロセスであり得る。所与の目的とする領域のためのゲーム対象物検出プロセスから得られた結果は、例えば、目的とする領域内のゲーム対象物の存在の識別、目的とする領域内のゲーム対象物の数、目的とする領域内のゲーム対象物の異なる群の数、各識別された群内のゲーム対象物の数、および／またはゲーム対象物の色のうちの１つまたは複数を含み得る。ゲーム対象物検出プロセスが特定の目的とする領域内のゲーム対象物を識別しない場合、そのプロセスの結果は、ＮＵＬＬ結果（結果が報告されない）またはゲーム対象物が検出されないことを示す結果であり得る。特定の目的とする予め規定された領域は、特定のゲーム対象物の存在の識別に指定され得る。例えば、目的とする予め規定された領域は、ゲーム対象物検出プロセスの部分としてゲームカードの識別に指定され得る。他の目的とする予め規定された領域は、ゲーム対象物検出プロセスの部分として賭け対象物の識別に指定され得る。
【０１２３】
[0159]  工程３４３０は、工程３４２０での画像フレームＡおよびＢに対するゲーム対象物検出プロセスの適用によって得られる結果の比較を含む。画像フレームＡおよびＢから得られた結果が一致する場合、例えば、画像フレームＡおよびＢ内で検出されたゲーム対象物の場所、数、および色が同一である場合、工程３４４０において、得られた結果が承認され、コンピューティングデバイス１３０によってゲームイベントとして報告される。
【０１２４】
[0160]  画像フレームＡおよびＢから得られた結果が、検出されたゲーム対象物の場所または数または色のいずれかに関して一致しない場合、工程３４５０において、画像フレームＣが奥行き感知デバイスおよびカメラ１２０から獲得される。画像フレームＣは、異なるソース、例えば視覚画像カメラまたは赤外線カメラから捕捉され得るか、または、画像フレームＡもしくはＢが獲得された時間から例えば数ミリ秒だけ分離された時間点において得られていた可能性がある。すべての画像Ａ、Ｂ、およびＣは、実質的に同じ視点から得られ、同じゲームテーブルまたは競技面を表す。
【０１２５】
[0161]  工程３４６０において、工程３４２０で適用されたゲーム対象物検出プロセスがまた、画像フレームＣに適用される。工程３４７０では、工程３４２０および３４６０での画像フレームＡ、Ｂ、およびＣに対するゲーム対象物検出プロセスの適用により得られた結果が比較される。画像フレームＡから得られた結果が画像フレームＣから得られた結果と一致する場合、画像フレームＢから得られた結果は、例外として廃棄され、画像フレームＡまたはＣから得られた結果が工程３４４０において承認される。画像フレームＢから得られた結果が画像フレームＣから得られた結果と一致する場合、画像フレームＡから得られた結果は、例外として廃棄され、画像フレームＢまたはＣから得られた結果が工程３４４０において承認される。画像フレームＡまたはＢまたはＣから得られた結果のいずれも一致しない場合、画像の新たなセットが、より優れたゲーム対象物検出結果を得るために工程３４１０において獲得され得る。
【０１２６】
[0162]  いくつかの実施形態のこの説明において、実施形態を形成するために組み合わさるソフトウェアおよびハードウェアシステムの特定の抽象概念である図について言及がなされる。これらの抽象概念は、実施形態を理解するのを助けるためならびにそれらの再現および実施を可能にするものとして理解されるべきであり、そのために本明細書内に提示される。システムのブロックへの分割は、システムの機能に従っており、そのようなものとして、実施において、論理的または物理的にそのような様式で分割されるソフトウェアまたはハードウェアコンポーネントを有する必要がないという理解をもって提示される。システムの機能は本開示から逸脱することなく異なって分散され得るため、同様に、物理的設備設置が１つの可能性である。簡便性のため、システムおよび特定の例は、ブラックジャック、バカラ、およびルーレットのゲームという観点から説明される。システムのコンポーネントの一部またはすべてが他のテーブルゲームにも適用され得ることを理解されたい。
【０１２７】
[0163]  いくつかの実施形態は、カメラ視野の初期背景画像をさらに用い得る。この背景画像は、空のテーブルのものであり得る。この画像は、画像内の主な特徴（テーブルレイアウト）に基づいた鳥瞰図へと歪曲され得る。この新規画像は、正規化背景画像と称され得、以後は背景抽象化のために使用され得る。
【０１２８】
[0164]  本開示の広範な一般範囲から逸脱することなく、多数の変形および／または修正が上記の実施形態になされ得ることが当業者によって理解され得る。したがって、本実施形態は、あらゆる点で例証的であり限定的ではないと見なされるべきである。
【図１】
2019522507.tif 000009
【図２】
2019522507.tif 000010
【図３】
2019522507.tif 000011
【図４】
2019522507.tif 000012
【図５】
2019522507.tif 000013
【図６】
2019522507.tif 000014
【図７】
2019522507.tif 000015
【図８】
2019522507.tif 000016
【図９】
2019522507.tif 000017
【図１０】
2019522507.tif 000018
【図１１】
2019522507.tif 000019
【図１２】
2019522507.tif 000020
【図１３】
2019522507.tif 000021
【図１４】
2019522507.tif 000022
【図１５】
2019522507.tif 000023
【図１６】
2019522507.tif 000024
【図１７】
2019522507.tif 000025
【図１８】
2019522507.tif 000026
【図１９】
2019522507.tif 000027
【図２０】
2019522507.tif 000028
【図２１】
2019522507.tif 000029
【図２２】
2019522507.tif 000030
【図２３（ａ）】
2019522507.tif 000031
【図２３（ｂ）】
2019522507.tif 000032
【図２４】
2019522507.tif 000033
【図２５】
2019522507.tif 000034
【図２６（ａ）】
2019522507.tif 000035
【図２６（ｂ）】
2019522507.tif 000036
【図２７（ａ）】
2019522507.tif 000037
【図２７（ｂ）】
2019522507.tif 000038
【図２８（ａ）】
2019522507.tif 000039
【図２８（ｂ）】
2019522507.tif 000040
【図２９（ａ）】
2019522507.tif 000041
【図２９（ｂ）】
2019522507.tif 000042
【図２９（ｃ）】
2019522507.tif 000043
【図２９（ｄ）】
2019522507.tif 000044
【図２９（ｅ）】
2019522507.tif 000045
【図３０】
2019522507.tif 000046
【図３１】
2019522507.tif 000047
【図３２】
2019522507.tif 000048
【図３３】
2019522507.tif 000049
【図３４】
2019522507.tif 000050
【国際調査報告】
2019522507.tif 000051
2019522507.tif 000052
2019522507.tif 000053
2019522507.tif 000054
2019522507.tif 000055