(58)【調査した分野】(Int.Cl.,DB名)
前記処理装置は、ユーザ通信装置と通信し、前記ビリヤードテーブル面及び/又は前記ビリヤードテーブル面の周辺領域の画像を取得するために配された1つ以上のカメラからの画像を提供し、前記画像に重ね合わせて前記ショットクロックを表示するように構成される、請求項1又は2に記載の装置。
前記処理装置は、さらに、前記画像を解析し、前記画像中の前記ボールの位置を識別し、前記画像のうちの連続した画像中の前記ボールの位置の変化を判定することにより、前記ビリヤードテーブル面上でボールの動きがない旨を判定するように構成される、請求項1〜3のいずれか一項に記載の装置。
前記処理装置は、前記ボールの動きがない旨の判定後、前記ビリヤードテーブル面上の前記ボールの動きを判定し、前記動きの判定に応じて、前記ショットクロックを停止するように構成される、請求項2〜4のいずれか一項に記載の装置。
前記処理装置は、前記ボールの動きがない旨の判定後、前記ビリヤードテーブル面上でショットが行われたか否かを判定し、前記ショットの判定に応じて、前記ショットクロックを停止するように構成される、請求項2〜4のいずれか一項に記載の装置。
前記処理装置は、さらに、前記画像を解析することにより、前記ショットが行われたか否かを判定して前記画像中の1つ以上の候補キューボールと前記1つ以上の候補キューボールの位置とを特定し、前記画像のうちの連続する画像において、前記1つ以上の候補キューボールの前記位置の変化を判定するように構成される、請求項6に記載の装置。
前記処理装置により、ユーザ通信装置と通信を行い、前記ビリヤードテーブル面及び/又は前記ビリヤードテーブル面の周辺領域の画像を取得するために配された1つ以上のカメラからの画像を提供することをさらに含む、請求項11に記載の方法。
前記処理装置により、前記画像を解析して前記画像中の前記ボールの位置を特定し、前記処理装置により、前記画像のうちの連続する画像における前記ボールの前記位置の変化を判定することにより、前記ビリヤードテーブル面上において前記ボールの動きがない旨を判定することをさらに含む、請求項12に記載の方法。
前記処理装置により、前記ビリヤードテーブル面上でショットが行われたか否かを判定し、前記ショットの判定に応じて、前記処理装置で前記ショットクロックを停止することをさらに含む、請求項12又は13に記載の方法。
前記選択フレームを選択、表示、及び前記単一の動画メモリ内に保存することは、前記ビリヤードテーブル面全体を撮影するために配された前記カメラで取得された動きの判定に応じて、前記カメラからの画像フレームのみを選択、表示、及び保存することを備える、請求項16に記載の方法。
前記選択フレームを選択、表示、及び前記単一の動画メモリ内に保存することは、前記ビリヤードテーブル面全体を撮影するために配された前記カメラで取得されたビリヤードボールの動きがない旨の判定に応じて、少なくとも前記ビリヤードテーブル面の一部及び前記ビリヤードテーブル面の一部の周辺領域のビューを取得するように構成された側方/端部カメラからの画像フレームを、前記カメラからの画像とともに写真画像中の縮小写真として選択、表示、及び保存することを備える、請求項16に記載の方法。
前記選択フレームを選択、表示、及び前記単一の動画メモリ内に保存することは、前記ビリヤードテーブル面の少なくとも一部と前記ビリヤードテーブル面の一部を包囲する異なる領域とのビューを撮影するように各々構成された2つ以上の側方/端部カメラのうちの1つによって撮影された、より多くの動きの判定に応じて、より多くの動きを撮影する側方/端部カメラからの画像フレームを前記中央カメラからの画像とともに写真画像中の縮小写真として選択、表示、及び保存することを備える、請求項16に記載の方法。
【図面の簡単な説明】
【0010】
[0010] 以上のニーズは、特に図面とともに研究したとき、以下の詳細な説明に記載のビリヤードテーブル照明及びゲームプレイモニタを提供することにより、少なくとも部分的に達成される。
【0011】
【
図1】[0011] 本発明の種々の実施形態に応じて構成されたビリヤードテーブルの上方に配される一例としての照明装置の斜視図である。
【
図2】[0012] 照度測定箇所を判定するためのテーブルマーカの使用を示す、ビリヤードテーブルの上面図である。
【
図3】[0013] 照度測定箇所を判定するためのテーブルマーカの他の使用について示す、ビリヤードテーブルの上面図である。
【
図4】[0014] 従来の照明装置を使用して点灯されたビリヤードテーブルにおける照度測定値の3次元グラフである。
【
図5】[0015] 本発明の種々の実施形態に応じて構成された照明装置を使用して点灯されたビリヤードテーブルにおける照度測定値の3次元グラフである。
【
図6】[0016] 本発明の種々の実施形態に応じて構成された照明装置を使用して点灯されたビリヤードテーブルにおける照度測定値のシミュレーションの3次元グラフである。
【
図7】[0017] 本発明の種々の実施形態に応じて構成された一例としての照明装置の上面図である。
【
図8】[0018] 本発明の種々の実施形態に応じて構成された
図7の一例としての照明装置の底面図である。
【
図9】[0019] 本発明の種々の実施形態に応じて使用される光源の平面図である。
【
図10】[0020] 本発明の種々の実施形態に応じて構成された一例としての照明装置の光源の回路図である。
【
図11】[0021] 本発明の種々の実施形態に係るビリヤードテーブルの上方に搭載された一例としての照明装置のフレームの一例を示す断面図である。
【
図12】[0022] 本発明の種々の実施形態に係るビリヤードテーブルの上方に搭載された一例としての照明装置のヘッド端部からの大局的写真である。
【
図13A】[0023] 本発明の種々の実施形態に係るビリヤードテーブル面の中央部分上方に搭載されたカメラで撮影した一例としての画像である。
【
図13B】[0024] 本発明の種々の実施形態に係るビリヤードテーブル面の中央部分上方に搭載されたカメラで、
図13Aの画像後に連続して撮影した一例としての画像である。
【
図14】[0025] 本発明の種々の実施形態に係るビリヤードテーブル面の脚部端部上方に搭載されたカメラで撮影した一例としての画像である。
【
図15】[0026] 本発明の種々の実施形態に係る他の装置と通信する一例としての照明装置のブロック図である。
【
図16】[0027] 本発明の種々の実施形態に係る、照明装置をオン及びオフして光レベルを制御するのに使用される一例としてのウェブページオペレータインタフェースである。
【
図17A】[0028] 本発明の種々の実施形態に係る、ビリヤードテーブルの中央部分上方に搭載されたカメラと、ビリヤードテーブルのヘッド端部に搭載されたカメラとでリアルタイムに構築された一例としての複合画像動画フレームである。
【
図17B】[0029] 本発明の種々の実施形態に係る、ビリヤードテーブルの中央部分上方に搭載されたカメラと、ビリヤードテーブルの脚部端部に搭載されたカメラとでリアルタイムに構築された、
図17Aと同様の一例としての複合画像動画フレームである。
【
図18A】[0030] 本発明の種々の実施形態に係る、照明装置によって実行されることにより、一方のスレッドで動画フレームを非同期的に撮影し、他方のスレッドで撮影した画像のシーンにおける動きに画像処理を非同期的に実施する2スレッドプロセスの例である。
【
図18B】[0031]
図18Aと同様の、本発明の種々の実施形態に係る、照明装置によって実行されることにより、2つの追加スレッドで2つの追加カメラから非同期的に動画フレームを取得し、他の2つの追加スレッドで取得された画像のシーンにおける動きに画像処理を非同期的に実行する4追加スレッドプロセスの例である。
【
図18C】[0032] 本発明の種々の実施形態に係る、照明装置によって実行されることにより、一方のスレッドで3つのカメラから動画の個別フレームを非同期的に選択し、表示のために複合単一出力動画ストリームを生成し、他方のスレッドで対応音声とともに生成した出力動画を記録する2スレッドプロセスの例である。
【
図19】[0033] 本発明の種々の実施形態に係る、照明装置のための複数のソースからの動画ストリームを統合する一例としての実行方法を示すフローチャートである。
【
図20】[0034] 本発明の種々の実施形態に係る、ショットクロックを開始及び停止するボールの動きの判定を実行する一例としての方法を示すフロー図である。
【
図21A】[0035] 本発明の種々の実施形態に係る、ビリヤードテーブルの中央部分上方に搭載されたカメラと、カウントダウンを行うショットクロックとともにビリヤードテーブルのヘッド端部に搭載されたカメラとから、リアルタイムで構築された一例としての一連の符号画像動画フレームである。
【
図21B】[0036] 本発明の種々の実施形態に係る、ビリヤードテーブルの中央部分上方に搭載されたカメラと、ボールの移動の判定後に構築された最終画像動画フレームでカウントダウンを行うショットクロックを備えたビリヤードテーブルのヘッド端部に搭載されたカメラとからリアルタイムで構築された一例としての一連の複合画像動画フレームである。
【
図22】[0037] 本発明の種々の実施形態に応じて判定された、潜在的キューボール対象を示す一例としての画像動画フレームである。
【
図23】[0038] 本発明の種々の実施形態に係る、ボールの動きの判定を実行する一例としての方法を示すフロー図である。
【
図24】[0039] 本発明の種々の実施形態に係る、ボールの動き及びキューボールの動きの判定を実行する一例としての方法を示すフロー図である。
【0012】
[0040] 当業者には、図中の要素は、簡易さ及び明確さのために示されており、必ずしも寸法を示すものでないことがわかるであろう。例えば、図中の要素の一部の寸法及び/又は相対的位置関係は、本発明の種々の実施形態のより良い理解を助けるために、他の要素に対して強調されることもある。また商業的に実現可能な実施形態において有用又は必要である一般的且つよく知られている要素は、これらの種々の実施形態が曖昧になることを避けるために、省略されることが多い。さらに、特定のアクション及び/又はステップが特定の発生順に説明又は図示されることもあるが、当業者は、シーケンスに関するこのような特異性は実際には要求されないことがわかるであろう。また、本明細書中で使用する用語及び表現は、本明細書中で異なる特定の意味を示すことのない限り、上述の技術分野の当業者によってそれらの用語及び表現に認められた通常の技術的意味を有するものであることが理解されるであろう。
【発明を実施するための形態】
【0013】
[0041] 以下、図面のうち特に
図1を参照して、ビリヤードテーブル面110を照明する、本教示のうちの多くに対応する一例としての照明装置100について示す。ビリヤードテーブル面110は、テーブル115に支持され、ビリヤードテーブル面の縁部を規定するクッション117で囲まれている。照明装置100は、ビリヤードテーブル面110の上方において離間距離Zで1つ以上のライト130を支持するように構成されたフレーム120を含む。ゲームプレイ画像撮影及び解析特徴の一部を有効にするために、1つ以上のライト130は、ビリヤードテーブル面110の略均一な照度を提供する構成において、フレーム120に搭載された1つ又は複数の光源を含む。本開示において検討する例は種々の周辺照明アプローチに関連するものであるが、戦略的に配置されたライト、レンズ効果、リフレクタ、シェード、拡散器等を任意の組み合わせで使用するなど、均一な照度を提供する任意の照明配置が適用可能であると考えられる。
【0014】
[0042] 均一な照度という概念について、
図2〜
図6を参照してさらに検討する。本開示の照明アプローチによる均一な照度を確認するため、異なる照度測定値セットを採用した。
図2は、フット端部210において1、2、及び3とラベル付けし、テーブル側方220において1〜7とラベル付けしたテーブルマーカをいかにして使用し、テーブルマーカからの投影240が交差するテーブル面状の測定地点230を確立したかを示している。他の環境光源を伴うことなく、Diamond Billiards製の通常のオーバヘッド中央配置ビリヤードテーブルライトで照明した標準のビリヤードテーブル上の各測定地点に、Extechフートキャンドル/lux照度計を配置した。
図2に示す測定地点における照度測定値をフートキャンドル及びluxの双方で以下の表1に一覧表示する。表1はさらに、平均照度(AVG)、測定値の変動係数(CV)(可能性分布又は頻度分布の分散の標準化測定値であり、相加平均値又は平均値に対する標準偏差の比率として規定される)、及び測定値の標準偏差(STD)を示している。
【0016】
[0044] 表2は、その他の環境光源を伴わない、
図1及び
図7〜
図12のアプローチに応じて構成されたライトを使用するビリヤードテーブルの同一測定地点における照度測定値を一覧表示している。
【0018】
[0046]
図3は、ビリヤードテーブル面110のより多くについて照明の均一性を判定するためにクッション117とのマーカ投影の交差を含むように地点Xを拡張したことを除き、照度測定地点Xを確立する同様のアプローチを示している。標準のDiamond Billiards製ライトを有するテーブルの照度は、これらの測定地点を使用して再測定し、その結果を以下の表3と
図4に示す。また測定は、シカゴエリアにおける2つの商業プール機関において、一般的に使用される他の中央テーブルライトを備えた多数の他のプールテーブル上で行われたものであり、以下の表3に示すものと同様の測定結果が得られた。
【0020】
[0048] 以上に第1の測定値を一覧表示したプロトタイプのライトで照明したビリヤードテーブルは、その照度を、
図3の測定地点を使用して、平均照明出力を市販のDiamond Billiards製ライトにより近くなるように調整するために設定した調光で再測定した。その結果を以下の表4に一覧表示し、
図5に示す。
【0022】
[0050] このアプローチについてさらに示すため、市販の照明光線追跡シミュレーションプログラム(LTI OpticsのPhotopiaソフトウェア)を使用して、表4及び
図5に従って照明したビリヤードテーブルのシミュレーション照度レベルを生成した。以下の表5に一覧表示して
図6に示したシミュレーション結果は、別に得られた物理的照度測定値と非常に一致している。
【0024】
[0052] 従って、本明細書に記載に配置は、約50〜115フートキャンドルの略均一なビリヤードテーブル面の照度を実証している。要するに、テーブル中央表示値のみを使用したときの変動が15%であり、又はクッションにおける照度を含んだときが28%であった代わりに、本開示の照明装置は、テーブル中央表示値のみを使用すると変動係数がわずか3%であり、クッションにおける照度を使用したときにもわずか7%である。要するに、本開示の照明装置についてのクッション間の全体照度の均一性は、標準のビリヤードテーブルライトのテーブル中央照度の均一性より良好であった。従って、このテーブルについての略均一な照度では、
図3に示す上述の位置で測定したクッション間の照度変動係数が約14%以下、より好ましくは10%以下となるであろう。
【0025】
[0053] 以上に測定した一例としての照明アプローチに戻り、
図7及び
図8を参照にすると、フレーム120は、1つ以上の光源130をフレーム120内に搭載してビリヤードテーブル面の上方に搭載される。1つ又は複数の光源は、ビリヤードテーブル面110の周縁近傍における構成において、フレーム120内に搭載された光源130を含んでもよい。この周縁は、通常、ビリヤードテーブル面110のクッション又は縁部の上方に突出した領域に対応するであろう。例えば、フレーム120は、クッション117の縁部の垂直突起から10インチ以内、より好ましくは5インチ以内等、ビリヤードテーブル110の縁部から与えられた水平距離内に1つ以上のライト130を搭載するように構成され得る。1つのアプローチにおいて、1つ以上のライトは、光源がビリヤードテーブル面110の中央部分の略直上に配置されることがないように非中央部分に配置される。ビリヤードテーブル面110の中央部分は、通常、
図3の側方テーブル220マーカのうちの凡そマーカ2から凡そマーカ8までの
図3のフット端部210のマーカ2及び4の突起間の表面110の領域に対応するものと理解されるであろう。
【0026】
[0054] 1つのアプローチにおいて、フレーム120は、ビリヤードテーブル面110の各隅の上方における略垂直構成において、1つ以上のライト130の対710を搭載するように構成される。さらなる態様において、フレーム120は、
図1に示す通り、ビリヤードテーブル面110の各長辺に沿って略等間隔に配置された1つ以上のライト130のうちの2つを搭載するように構成される。フレーム120は、ビリヤードテーブル面110上方に搭載されるとき、ビリヤードテーブル面110の中央部分に対応するフレーム120の中央部分160に亘ってかかる中央フレーム部分720をさらに含んでもよい。
【0027】
[0055] 光源130は、任意の好適な光源を備え得る。図示の例において、各光源130は、
図9に示すような線状構成に搭載された発光ダイオード(LED)ライト930のセットを含む。本例において、光源130は、本明細書中においては線状構成においてのみLEDライト930の搭載された搭載面940を有する、PHLIPS製の既製品ライトバーであるが、線状構成に設定されたものに加え、追加のLEDライトが搭載され得る。搭載面940内の搭載穴950は、フレーム120への光源130の搭載を促進する。電気コネクタ960により、1つの光源又はドライバが1つを上回る数の光源130に対する動力供給及び駆動を行うことができるように、電源又はドライバ又は他の光源130に対する有線接続を可能にする。
【0028】
[0056]
図10は、照明装置、本例ではPHILIPS XITANIUM 75W0.7−2.0A0−10V調光装置の光源130に動力供給するための一例としてのドライバ又は動力回路を示す。ここでは、光源130は、2つの群に分割され、各群は、独自の、又は、同一の回路1010及び1012を有する。次いで、各回路は、光源130と直列に接続された電源1020、レジスタ1030、及び加減抵抗器1040を含む。加減抵抗器1040は、LED光源130を通じて流れる電流の量を制御することにより、光の明度を群として制御する。代替として、従来既知の通り、パルス幅変調(PWM)回路を使用して光の強度を変調してもよい。
【0029】
[0057] 一般的に述べると、フレーム120はさらに、光源130からの光をビリヤードテーブル面に方向付け、プレーヤの目をLEDに直接晒してしまうことから保護するために、シェード又はリフレクタ等を支持する。代替又は追加として、LEDからの光を拡散し、より均一な美観を提供するために、1つ以上のリフレクタ及び/又は拡散器要素を追加することができる。
図11に示すフレーム1120の内側部分の一例としての設計において、フレーム1120は、反射板の形状、すなわち、光源支持部、リフレクタ、及び拡散器のホルダとして機能する、幅の狭い反転された谷部である。反射板フレーム1120は、その内側構造において略中空であり、搭載時にビリヤードテーブル面に最も近い反射板フレームの部分に対向する、内側構造の頂上部分又は上部支持構造1124により、1つ以上のライトを支持するように構成される。反射板フレーム1120の両側は、ライトを収容する頂上部分から下方に延び、反射面を支持する。図示の例は、押出アルミニウムから構成され、部屋の天井にフレームを搭載する支持部とビデオカメラ750又はその他の装置の取り付けのための取付地点を提供するために、頂上面と内面の長さに沿って連続T字スロットを有する。T字スロットは、T字スロットナットと、T字スロット軌道に沿ってスライドするねじ/ボルト1122を収容し、種々の取付を補助する。フレームの上部支持構造1124は、テーブル面の方向に向くように照明要素(ここでは、LED1130を支持するLED回路基板1140)を支持する。本例において、LED1130は、基本的に真っ直ぐ下方に向くように支持され、換言すると、LED1130が支持される平面がテーブル面に対して基本的に水平となるようにされるが、その他の配置も可能である。しかしながら、LED1130からの光は、種々の方向に射出され、人の視野内で気を散らすほど明るくなり得る。
【0030】
[0058] 光を広げてプレーヤがLED1130から気を散らされることなくプレイできるように、フレーム1120は、1つ以上の拡散器を支持する。
図11に図示の例では、フレームによって吸収されるか、又は、テーブルに当たらないように方向付けられる、LED1130からの光線を再方向付けする特定の拡散器配置が示されており、ビリヤードテーブル面を十分に照明してLED1130からの光をさらに拡散するようにし、且つ、プレーヤの気を散らさないようにする。本例において、第1のミラー付き拡散器1150は、1つ又は複数の光源(LED1130等)とビリヤードテーブル面の中央の反対に向いたフレーム1120の外壁1126との間に配される。裏面1155は、ミラー付きであり、拡散器1150のより厚い部分の残りは、ミラー付き面1155による反射の前後双方で反射光を拡散する基板から構成される。拡散器1150の幅は、拡散器1150のミラー付き面1155が光をビリヤードテーブルの中央に向かって反射し、テーブル面に十分な照明を提供する補助となるように、ビリヤードテーブル面に対して基本的に垂直となるように向けられる。1つのアプローチにおいて、この拡散器1150は、市販の拡散器(Evonik Platinum Ice OM001X1)であり、厚さが0.34インチである。
図11に示す設計のアルミニウム押出については、ミラー付き拡散器は
図11の断面において頂上部から底部までが1.8インチであり、標準サイズの9フットポケットビリヤードテーブルについては、フレームの側方に沿って95.8インチであり、フレームの端部に沿って45.8インチである。他の長さも可能である。
【0031】
[0059] 底部拡散器1160は、1つ又は複数の光源(LED1130等)とビリヤード面との間に配されるように支持される。本例において、底部拡散器1160は、厚さが0.08インチで幅が2.125インチである市販の拡散器(Evonik Satin Ice OD002DF)である。拡散器1160は、ゲームプレーヤが個々のLEDから放射され得る強い光によって気を散らされることのないように、LED1130の光を拡散する。代わりに、観察される光は拡散され、より均一に表れた光を提供する。この拡散により、テーブル面に亘ってより均一に光を広げる。また底部拡散器1160は、LED1130がキューで打たれることのないように保護する。
【0032】
[0060] 第2のミラー付き拡散器1170は、1つ又は複数の光源(LED1130等)とビリヤードテーブル面の中央を向いたフレーム1120の内壁1128との間に配される。内壁1128は、1つ以上のカメラ、動きセンサ、又は照明装置の中央部分160等の追加の要素を任意で支持するT字スロット溝部1129を規定してもよい。本例において、第2のミラー付き拡散器1160は、厚さが0.118インチで幅が1.3インチである市販の拡散器(Evonik Platinum Ice OM001 X1)であり、標準サイズの9フットポケットビリヤードについては、フレームの側方に沿って95.8インチであり、フレームの端部に沿って45.8インチである。その他の長さも可能である。第2のミラー付き拡散器1170は、そのミラー付き面1175が実質的に底部拡散器1160と第1ミラー付き拡散器1150の双方に向かって光を反射し、底部拡散器1160を通って、且つ、第1ミラー付き拡散器1140の追加反射を介してビリヤードテーブル面でより多くの光の方向を有効にする。拡散器1150、1160、及び1170は、少なくともLED130が支持されるフレームの長さに対応するフレーム1120の長さ延びるが、拡散器1150、1160、及び1170は、フレームに沿って任意の長さ延びるものとすることができる。通常、例えば、底部拡散器1160は、フレーム1120全体の周囲に延び、フレーム1120のより均一な美観を提供するであろう。
【0033】
[0061] ビリヤードテーブルの上方に搭載されるフレーム1120の一例としての実装を
図12に示すが、ここでは、内側フレームミラー及び拡散器構成の組み合わせにより、LEDからの光を平滑化し、テーブル面上に審美的且つ均一な照度を生じる。
【0034】
[0062]
図7及び
図8を再び参照すると、中央フレーム部分720は、他の種々の要素を支持することにより、照明装置に種々の特徴を加えるように構成されてもよい。例えば、種々の機能を提供するのに必要とされる電気的要素及び/又は演算要素のすべて又は一部は、プレーヤに見えないように中央フレーム部分720の頂上部側に搭載され得る。一適用例において、A/C電源コード722が中央フレーム部分720に搭載され、種々の要素に出口電源を提供する。A/Cスイッチ724は、照明装置100のマスタ電源スイッチを提供する。
【0035】
[0063] 一態様において、フレーム120の中央部分720は、ビリヤードテーブル面110の画像記録を対象とする中央カメラ730を支持する。カメラ730は、カメラレンズが、その画像センサ上にテーブル面領域全体を投射させるように、画像センサを、テーブル面に対して基本的に平行にして、且つ、テーブル上方において十分に高い面にくるように搭載される。必要であれば、テーブルからカメラまでの光路は、カメラレンズと画像センサのサイズに応じて、好適な高さの範囲内に
図1における距離Zを保つため、45度ミラー又は同様の光学配置で反らされ、画像センサがテーブル面に直角になるようにしてもよい。実際には、光路の距離は、テーブル上方でフレームの好適な高さを変えず、依然として画像センサ上に完全なテーブル面領域のマッピングを取得するように、フレーム720の中央部分内に水平に調整可能とされる。いずれの構成においても、中央カメラ730からの動画の1フレームは、画像処理を迅速且つ効率的にする目的のために、画像センサ上にテーブル面全体をマップする。テーブル面の単一フレームの画像処理は、照明装置で提供される均一照度の制御により、さらにより効率を高められる
【0036】
[0064]
図13A及び
図13Bは、中央カメラ730で撮影した一例としての画像を示している。本明細書においてさらに説明する照明装置は、中央カメラ730で記録した画像を受信するように動作可能に通信を行う処理装置745を含んでもよい。当業者は、このようなプロセッサ装置が使途の決まった、ハードウェアで実現されたプラットフォームを備えることができるか、若しくは部分的又は全体的にプログラム可能なプラットフォームを備えることができることを認識及び理解するであろう。これらの構造上の選択肢はすべて、当分野でよく知られ理解されており、本明細書においてさらなる説明を必要としない。このように構成されることにより、処理装置745は、本明細書中でさらに説明する通り、画像比較技術による画像を使用したり、又はフレーム間のボールの動きを追跡するためのフレーム比較に基づいたフレーム上のビリヤードボールの対象識別を使用することにより、中央カメラ730によって記録された画像に基づいて、ビリヤードテーブル面110上のボールが移動中であるか、又は非移動中であるかを判定するようにも構成され得る。そして、処理装置745は、少なくとも部分的にボールが移動中又は非移動中のいずれであるかに基づき、照明装置100の設定を自動制御することができる。例えば、処理装置745は、ビリヤードテーブル面上のボールが非移動中である旨の判定に応じて、中央カメラ730からの画像の記録又は提供の停止を有効にする。そこで、画像が変化しないとき、すなわちプレーヤによるショット間において、ビリヤードテーブル面110の画像の送信又は記録を継続する理由がないため、処理装置745及び中央カメラ730は、より効率的に動作するようにともに作動し得る。1つのアプローチにおいて、処理装置745は、中央カメラ730及び端部カメラ750からの画像の提供を有効にし、本明細書で記載の通り、組み合わせたカメラからリアルタイムの動画記録、又は記録された動画記録を再構築する。
【0037】
[0065] 同様に、一例において、処理装置745は、中央カメラ730の視野において特定の画像を検出し、これに応じて画像の記録又は提供の開始、停止、又は一時停止を有効にできるように構成される。例えば、特定の画像を有するカードを、中央カメラ730の視野内にくるようにビリヤードテーブル面上に配置可能であり、又は特定の手のジェスチャをテーブル面上方で行ってもよい。処理装置745は、いずれの特定画像を検出するかに応じて、特定の対応する方法で反応してもよい。例えば、処理装置745は、1つの特別な画像(カード又はその他独自のインジケータ上の大きな赤いドット等)の検出に応じて、モニタしたゲームに関連のプログラムの実行を自動停止することができる。このように、処理装置740が特定の画像の除外を検出したことに応じてプログラムの自動再開をすることができるため、プレーヤはゲームプレイの途中にプログラムを容易に「一時停止」可能である。同様に、処理装置745は、カード上の大きな緑のドット等、そのアクションに関連付けられた特定の画像の検出に応じて、「新たな」ゲームの記録を自動開始してもよい。
【0038】
[0066] さらなる態様において、ビリヤードテーブル面110の上方に搭載されたときのビリヤードテーブル面110のヘッド端部又はフット端部に対応するフレーム120の端部は、ビリヤードテーブル面110の少なくとも一部と、端部カメラ750が搭載されたのと反対側のビリヤードテーブル面110のヘッド端部又はフット端部を包囲する領域との画像を記録するように向けられた端部カメラ750を支持することができる。
図14は、端部カメラ750で撮影した画像の一例を示している。
図7及び
図8に示す通り、フレーム120は、テーブルの両端の画像を撮影するために、ヘッド端部とフット端部との双方で端部カメラ750を支持することができる。端部カメラ750は、テーブル周辺におけるプレーヤの動きと、プレーヤのショットへのアプローチとの動画を提供する。このような画像は、リアルタイム視聴、記録、又は送信に有用とされ得る。本明細書においてさらに記載する通り、これらの画像を使用して、中央カメラ730で同時に取得したテーブルビュー画像フレームとともに複合動画フレームも構築することができる。
【0039】
[0067] 動きセンサ760を使用して、照明装置の動作を促進することができる。この点について、処理装置740は、動きの検出に応じて照明装置の設定を自動制御するために、動きセンサ760に対して動作可能に通信することができる。一例において、処理装置740は、動きセンサ760がA/Cスイッチ回路724との電気的に連通による閾値設定期間の動きの検出に失敗したことに応じて、複数のライト130を自動的にオフするように構成されてもよい。同様に、処理装置740は、パルス幅変調回路1040と通信し、淡色表示から画像撮影を可能とするのに十分な明るさまで上げ、本明細書に記載の通り、記録することにより、照明レベルを上昇させるように構成されてもよい。他の例において、処理装置740は、第1の動きセンサからの動きの検出に応じて、第1のカメラから画像を提供し、第2の動きセンサからの動きの検出に応じて、第2のカメラから画像を提供するように構成されてもよい。例えば、プレーヤの動きを自動的に記録又は送信することを保証するために、動きを検出する領域から画像を撮影するように向けられたカメラから動画又は画像を記録又は送信するであろう。
【0040】
[0068] さらに他の態様において、処理装置745は、ビリヤードボールを打つキューの性質を有するストライク音を検出し、ストライク音の検出に応じて、照明装置100の設定を自動制御するために、マクロフォン770によって取得した音をモニタするように構成されてもよい。マイクロフォン770は、フレーム120に搭載されるか、処理装置745と通信するその他の装置の一部(ビデオカメラの1つ等)であってもよい。さらに、処理装置は、ストライク音の検出に応じて、フレーム120の中央フレーム部分720に搭載された中央カメラ730からの画像の記録又は提供を開始し、移動中のボールの画像を自動撮影するように構成可能である。
【0041】
[0069] 以上の要素は、種々の方法で組み合わせられ、自動化された特徴及び/又は遠隔制御された特徴の組み合わせを多く提供することができる。このような1つの特徴に、照明装置を完全制御し、照明装置100と無線通信するモバイルデバイスから、カメラ730及び750による画像を記録する能力が挙げられる。一般的に述べると、処理装置は、ユーザ通信装置、ここでは、その他の装置の使用も可能であるがモバイルデバイス1510と通信し、ビリヤードテーブル面110及び/又はビリヤードテーブル面110を包囲する領域の画像を撮影するように配された1つ以上のカメラ730及び750から画像を提供するように構成される。その他のアプローチにおいて、処理装置は、ユーザ通信装置と直接通信してもよい。その後、処理装置は、ユーザ通信装置1510への画像の記憶又は画像の提供を調節するために、1つ以上のカメラ730及び750のうちの少なくとも2つのカメラと通信してもよい。このような一例としての配置が
図15に示されており、第1及び第2の処理装置740及び745(各々、
図15のコンピュータ1及びコンピュータ2)を利用しており、第1の処理装置740が、照明装置をオンし、明度を調整し、ゲームプレイを開始するように動作しており、第2の処理装置745が、カメラ730及び750との通信専用とされ、個々の動画ストリームを記憶し、及び/又は、ユーザ通信装置1510に提供するカメラの選択を促進する。第2の処理装置745は、有線接続742(イーサネット又は同様の方法等)を介して第1の処理装置740に対して動作可能に通信し、画像の視聴又は記録の開始及び停止に関するコマンドを受信する。ここでは、一般的に利用可能なルータ装置1520は、モバイルデバイス1510と照明装置100の処理装置740との間でWiFi等を通じた無線通信を調節可能である。本例において、処理装置745は、モバイルデバイス1510から作動されるウェブページのホストであるサーバを作動する。ウェブページの一例を
図16に示す。サーバは、ルータ1520によってローカルIPアドレスが割り当てられ、IPアドレスがLCDパネル1560に表示される。モバイルデバイス1510は、ウェブページを通じて相互作用してライトを制御し、ユーザにボタン1720のクリックでライトをオン又はオフさせる。ウェブページインタフェースは、ユーザにインタフェース内の一連のバー1730のうちの1つをクリックすることによって光レベルも調整させる。画面上の「高」をクリックすると、バー1740が上方に移動することによって示される、より高いライトレベルを提供する。
図16のウェブページは、処理装置1641からランプ回路へのA/Cスイッチ724を通じたオン又はオフのいずれかの切替を行うようにウェブページを介してインタフェース接続された処理装置1641上で動作中の背景プログラムを通じて、又は、強度調整の場合には、ランプ回路電源1020へのパルス幅変調回路インタフェースを制御することにより、ランプのオン/オフと強度の制御を可能にする。
【0042】
[0070] さらに、背景プログラムは、動き検出器760をモニタし、動き検出器の視野内に動きがあるか否かに応じて光の強度を調整する。動きが存在する限り、ランプはユーザの設定したレベルに留まる。予め設定された期間、動きのない場合、ランプはパルス幅変調制御を使用してより低レベルに自動調光を行う。さらに事前設定された期間、動きのない状態が続く場合、ランプは電源オン/オフスイッチを通じてオフする。
【0043】
[0071]
図15の構成要素を様々に使用した他の例において、第2のプロセッサ745は、表示画面、キーボード、及びマウス1685で作動され、3つのビデオカメラ730及び750のすべてからの出力を組み合わせた自動生成複合動画をリアルタイムで(例えば、1秒間に30フレーム)表示するソフトウェアプログラムを動作させる。複合動画は、任意で、後に行われる検索及びレビューのために記録されてもよい。この動画は、時間的に連続して撮影されたシーンからデジタルに作成された視覚画像の記録、再生、又は表示であり、特定の期間、明らかな動きがない場合であっても、視覚動画として視聴可能である。1つのアプローチでは、複数のビデオカメラから同時に記録したビリヤードゲームプレイの動画を作成する方法には、同一の時間間隔で非同期的に別のカメラと個々に関連付けられた少なくとも3つの独立した画像撮影スレッドを作動することを含む。独立の画像撮影スレッドでは、互いの通信のために、共有メモリリソース及びイベント終了フラグを使用する。独立の画像撮影スレッドは、別のカメラからの個々の画像フレームを非同期的に撮影する。別のカメラから撮影した個々の画像フレームの画像解析を使用して、別のカメラのうちの所定のカメラからの個々の画像フレームを比較し、個々の画像フレームのうちのいずれが別のカメラの各々からの各記録シーケンス内の動きを記録しているかを判定する。別のカメラのうちのいずれが動きを記録しているかに基づき、特定のフレームを選択、表示し、単一の動画メモリ内に保存する。この方法は、1秒間に30フレーム等、特定の時間間隔でビリヤードゲームプレイの動画ファイル内に選択フレームを記録することを含む。動画ファイルに記録された選択フレームは、単一の動画メモリ内にその瞬間に存在するすべてを備える。
【0044】
[0072]
図15の例を再び参照すると、一例としての実装において、3つのカメラ730及び750からの動画ストリームは、USBポートを通じて第2の処理装置745(
図15中ではコンピュータ2とラベル付けされている)に接続される。3つのビデオカメラからの動画ストリームは、USBポートを通じて、同様にコンピュータ2とラベル付けされた処理装置745に接続される。本例において、処理装置745は、ハイパースレッディングを備えたインテルクアッドコアCPU、すなわち8つの別の論理CPUを有する。コンピュータ2の動作システムは、Ubuntuシステムである。8つの論理CPUは、複数スレッドの複数プロセッサ環境において同時に、且つ、非同期的に作動可能であり、別のソフトウェアスレッドが8つの論理CPUの各々で同時に作動可能となるようにする。
図15に示し、
図18A、
図18B、及び
図18C並びに以下の表6に詳細を示した例において、各動画ストリームは、それ自体のスレッド上で作動する別のソフトウェアモジュールに入力され、表6に一覧表示されたメモリ割当を共有する。
【表6】
【0045】
[0073] 以下、
図18A、
図18B、及び
図18Cを参照すると、8つのフロー
図1810、1820、1830、1840、1850、1860、1870、及び1880が示されており、各フロー図は別のソフトウェアスレッドを示している。主要なペアレントソフトウェアプロセスは、これらのスレッドのすべてを非同期的に始動する処理装置745から作動する。しかしながら、これらは、ペアレントプロセスに割り当てられた共有メモリリソースの使用を通じて、画像及びデータを共有してもよい。異なるスレッドの動作を明確に表し、理解できるようにするため、これらの共有リソースを表6に挙げて一覧表示している。
【0046】
[0074] 3つのカメラ動画ストリームから入力されたフレーム毎の画像を受信する3つの画像フレーム撮影スレッド1810、1830、及び1850が存在する。例えば、1810において、撮影スレッド0は、
図7の中央カメラ730から入力された動画を受信する。動画のうちの各連続フレームは、33.3msec(30フレーム/秒)でそのカメラの内部ハードウェア画像バッファ内で利用可能である。ステップ1812において、このスレッドは、その動画ストリームのために処理装置745のプロセスを割り当てられたメモリCFB0にCAM0からの画像フレームを入れる。ステップ1814において、このスレッドは、そのフレーム撮影フラグCFLG0を1に設定した後、1822にて、比較プロセススレッド0に現在のフレームと過去のフレームPFB0との間の差異測定値DIF0を演算させる。その後、プロセススレッド0は、1824にて、CFB0内の現在の画像のコピーを継続して過去のフレームバッファPFB0内の画像を置き換えた後、そのPFLG0を1に設定することにより、非同期的に作動するディレクタスレッドに
図18CのDIF0値を使用させてAVGDIFを更新する。同時に、画像撮影スレッド1及び2の1830及び1850は、同様に動作して、
図7の各ビデオカメラ750から画像フレームを取得し、プロセッサスレッド1及び2の1840及び1860は、それらの現在の画像フレームと過去の画像フレームとの間の差異測定値DIF1及びDIF2を各々演算するように動作する。従って、本例では、6つの別の論理CPU上で動作する6つのスレッドがこのように動作して、3つの動画ストリームからの画像フレーム入力を達成する。
【0047】
[0075] 撮影スレッドが作動して画像を取得するのと同時に、2つの他のスレッド、すなわちディレクタスレッド1870及びライタスレッド1880が複合動画ストリームを構築するように作動し、3つの別の動画ストリームを1つの最終的な複合ストリームに組み合わせる。この複合動画は、ディレクタスレッドによって表示され、ディレクタスレッド1870は、動画のうちのいずれのフレームを使用して3つの入力からの複合動画を構築するかを判定する。記録フラグRFLGが設定された場合、複合動画も30フレーム/秒で記憶され、プロセスの終了時に、複合動画ストリームに結合される音声ファイルも記録される。本例において、Ubuntu動作システム上で作動するSoX音声交換プログラムを使用して、記録済み.wavファイルをライタスレッドで作成された記録済み.aviファイルと統合する。
【0048】
[0076] 再構築複合動画の一次入力は、フレーム毎に収集されるが、
図7の中央カメラ730であり、テーブル面の全体ビューを提供するカメラ0から到来する。複合動画の目的の1つとして、各ショットが行われる前とその後のボールの移動中とにおけるボールの配置の正確な記録を取得することが挙げられる。しかしながら、ボールが移動を停止した後に、プレイの他の興味深い情報的側面が発生する期間がある。再構築された複合動画は、3つのカメラの利用による3つの活動と1つの複合動画記録の再構築との双方を取得する。動きが発生している限り、中央カメラ730のビューにおいては、カメラ750からの残り2つの端部テーブル動画ストリームが再構築に含まれない。本例における動き判定は、カメラ0からの連続フレーム間の差異DIF0をモニタリングすることによって行われ、プロセススレッド0の1820において1822で演算される。ディレクタスレッドは、AVGDIF、すなわち最終30個の連続DIF0値の移動平均を演算し、この値を固定閾値THRSと比較して動きが発生したか否かを決定する。
【0049】
[0077] キューボールをヒットするキュースティックのストライク音を使用するもの(米国仮特許出願第62/032,187号に記載の通りであり、参照としてここに組み込む)、又は当分野でよく知られている通り、対象のボールの動きを具体的に追跡することによるものなど、動きの開始を判定する他の方法を利用して、複数のカメラからいずれのフレームを複合動画に含めるかを判定又は規定することもできる。
【0050】
[0078] ディレクタスレッド1870を再び参照すると、1871においてPFLG0、PFLG、及びPFLG2のすべてが1に等しい場合、新たな画像フレームが現在のフレームバッファCFB0、CFB1、及びCFB2内にあることを意味し、1872にてスレッドはコピーCFB0からDFBに進む。DFBは、現在の画像フレームを表示するメモリバッファであり、それは修正なしの現在のCFB0動画フレームであるか、又はスレッド内で後に、PIP画像とともに隅に重畳される。1873において、現在のDIF0を移動平均に平均化することによってAVGDIF値を更新し、その後、1874において、更新済みのAVGDIFをTHRSと比較して中央カメラのテーブルビュー内に動きが存在するか否かを決定する。
図13A及び
図13Bは、動きが検出された場合に含まれるフレームの種別を示している。これらの図面は、動画フレームのシーケンスからのものであり、より濃い「4ボール」が白いキューボールにヒットされて、「4」ボールを再度ポケットに向かって推進させる様子を示している。これらの連続フレーム及び過去の連続フレームから得たボールの動きが閾値THRSを上回るAVGDIF値を生じるため、これらのフレームは、端部カメラビューを除外して、再構築された複合動画ストリームに単純に加えられるであろう。
【0051】
[0079] 1874にて動きが存在しない場合、スレッドは、1875において、いずれの端部ビューが進行中の動きを最も多く有するかを見るため、DIF1及びDIF2を比較する。より高い差異値DIF1又はDIF2に反映される、動きを最も多く有する動画ストリームが選択され、ステップ1876又は1877にて1/4に縮小され、ステップ1879にてDFBの隅に重畳されて、写真内写真の再構築画像フレームを作成する。動画ストリーム1の差異値DIF1が動画ストリーム2の差異値DIF2より大きい場合、PIPフレームは、動画ストリーム0及び1からの動画フレームから再構築される(1870)。動画ストリーム2の差異値DIF2が動画ストリーム1の差異値DIF1より大きい場合、PIPフレームは、動画ストリーム0及び2からの動画フレームから再構築される(1876)。結果として得られた動画フレームは、
図17A及び17Bに示されるものに対応し、ここでは、選択される端部ビューフレームが最も多く動きを含むものである。従って、ディレクタスレッドの動作は、動きの有無を判定し、表示される動画に適切な次の連続画像フレームを選択することである。テーブル上に動きがない場合、再構築動画は、テーブル周縁近傍の活動を示していなければならず、これは通常、次のショットに備えているプレーヤである。PIPフレームは、これを示すものの、動きの停止前のテーブル面上のボールの全体ビューの文脈において示す。
【0052】
[0080] 以下、
図18Cのステップ1880に戻ると、ライタスレッドは、複合動画記録の記録プロセスの同期を制御する。ライタスレッドは、装置のオペレータによって任意に駆動されるが、その場合、ライタスレッドは、ディレクタスレッドによって生成及び開始される。それは、同期中の音声記録も開始し、記録フレームの時間間隔を精密に測定するためにmsecクロックを開始する。音声信号はリアルタイムで記録されているため、その視覚コンテンツに関する音声記録に正確に対応する複合動画ストリームが生成されなければならない。そこで、撮影スレッド0、1、及び2において、3つの別のビデオカメラストリームを非同期的に開始及び動作させることができ、プロセッサスレッド0、1、及び2において、これらの撮影画像を非同期的に画像処理することによって動き解析測定値を演算することができる。その後、ディレクタスレッドはさらに、非同期的に、且つ、必要に応じて、包含対象のPIPフレームを選択してもよい。しかしながら、時間変動を伴わないライタスレッドは、正確に1秒の1/30で表示バッファDFMのコンテンツを記録し、複合動画を構築しなければならない。その精密な時間でDFM表示内で生じるものすべてを記録動画出力ファイルに書き込む。
【0053】
[0081] 提供された画像に関する上述の制御は、多数の代替の方法で有効とされ得る。ボールの動きを伴わない時間、いずれの端部カメラのビューを表示すべきかという判定は、各端部カメラの各視野に対応するテーブルの周辺領域における動きを検出するためにフレーム上に配された動きセンサからの情報を使用して行われ得る。他のアプローチにおいて、1つ以上の処理装置は、いずれのカメラが最も多くの動きを撮影しているかという判定を行うために、各カメラによって提供される動画フィードに画像解析を実施することができる。端部カメラから重畳動画フィードをいつ除外するかという判定は、キューがボールを打つ音の検出、中央カメラからの動画フィードの画像解析、又はその双方の組み合わせによって行われ得る。例えば、時として、中央カメラが、ボールの動きと混乱し得るキューの移動等、テーブル上のボールの動き以外の動きを撮影することもある。ボールの画像解析をキューのストライク音検出と組み合わせることにより、キューのストライク音検出に応じて重畳動画フレームの除外を行い、ボールの動き検出中は、重畳動画フレームの除外を維持することができる。このようなアクションを有効にするのに必要な処理は、任意の組み合わせの処理装置に対して実施することができる。
【0054】
[0082]
図19を参照すると、画像記憶を自動提供し、及び/又は、ゲームプレイ条件に基づいて異なるカメラからの表示を行うために照明装置によって実行される他の一例としてのプロセスについて説明する。本例において、処理装置は、テーブル面の画像を動画メモリVM2内に取得する
図7の中央カメラ730と、ビリヤードテーブルの両端及びテーブルの各端部を包囲する第1及び第2の領域の画像を動画メモリVM1又はVM3に各々取得する、フレームの両端部のカメラ750と、テーブルの両端を包囲する領域における動きを検出するように配された
図7の動きセンサ760(
図19においてMS1及びMS2とラベル付けする)と、マイクロフォンと通信する。カメラ及び動き検出器は、テーブル端部上方のカメラに加え、又は、テーブル端部上方のカメラの代わりに、テーブルの側方の上方に搭載可能であり、及び/又は、その周囲における動きの画像を撮影するか、又はその周囲における動きを感知することができる。
【0055】
[0083] まず、処理装置は、初期化プロセス1910を起動又は再設定する。そして、テーブル上にボールの動きがないと仮定すれば、処理装置は、1つ以上の動き検出器の使用又は上述のリアルタイム画像解析技術により、ビリヤードテーブル面を包囲する第1の領域及び第2の領域からの動きをモニタする。そして、処理装置は、ステップ1920において、カメラ画像を動画メモリVM4(出力又は表示/記録動画メモリ)に記憶又は表示されなければならない、検出された動きに対する判定を行う。より具体的には、第1の領域からの動きの検出に応じて(又は、双方の領域における動きの場合、動き信号が第1の領域においてより高い)、処理装置は、第2の側方/端部カメラからVM4への画像の記憶又は提供の停止を有効にし、第1の側方/端部カメラからの画像の記憶又は提供を有効にして(1933)、画像を第1の領域からVM4に記憶又は提供する。例えば、これには、ディスプレイ上で表示可能な動画又は動画ファイルの記憶又は提供が含まれる。第2の領域からの動きの検出に応じて(又は、双方の領域における動きの場合、動き信号が第2の領域においてより高い)、処理装置は、第1の側方/端部カメラからVM4への画像の記憶又は提供の停止を有効にし、第2の側方/端部カメラからの画像の記憶又は提供を有効にして(1936)、画像を第2の領域から記憶又は提供する。いずれの場合においても(双方のステップに対する同一の手順に1940とラベル付けする)、処理装置は、次いで、例えば、リアルタイム画像解析などの動き検出により、及び/又は、例えば、ビリヤードボールを打つキューの性質を有するストライク音の検出など、ボールを打つことにより、ボールヒットのモニタを行う。処理装置は、ボールヒットの検出に応じて、各側方/端部カメラからVM4への画像の記憶又は提供の停止を有効にし、テーブルを撮影する視野の画像とボールの動きとを撮影するように、ステップ1950にて、中央カメラのメモリVM2からの画像VM2のVM4への記憶又は提供を有効にする。
【0056】
[0084] その後、処理装置は、上述の通り、1つ以上の動き検出器の使用又はリアルタイム画像解析等により、ボールの動きの停止をモニタする(1960)。ビリヤードテーブル面上でのボールの動きの停止を検出したことに応じて、処理装置は、以上に検討した通り、中央カメラからの画像の記憶又は提供の停止を有効にし、側方/端部カメラのうちの1つからの画像の記憶又は提供を有効にする。処理装置は、プレイ中のゲームについていずれのボールがテーブル上にあるかを追跡すること、又は、プレイの終了を示すユーザ潜在信号を受信することのいずれかにより、ゲームが終了したことを判定する(1970)。ゲームの終了を判定したことに応じて、画像撮影及びその他のゲームプロセスを終了する(1980)。
【0057】
[0085] 上述のシステムは、さらに、ショットクロック等、特定のゲームプレイ統計を自動取得及び表示する能力を提供するように構成可能である。米国ビリヤード協会(BCA:Billiard Congress America)の「規則において使用される定義」8.2によると、「ショットは、キュースティックの前方ストロークの動きにより、先端がボールに接触したときに開始する。またショットは、プレイ中のすべてのボールが移動及び回転を停止したときに終了する。ショットは、シュータがショット中、ファウルを行わなかったとき、リーガルと言われる。」「ショットタイム」は、例えば、プレーヤが依然としてテーブルについてリーガルショットを続行している間等、アクティブなビリヤードプレイ中のショット間の時間として定義される。通常、これは、プレーヤがテーブル上のボールの位置を評価し、後続するプレイのための戦略を練り、次のショットのための位置決めをするための時間である。ショット時間は、最後のショットからボールの動きがテーブル上で停止したときに開始し、プレーヤが次のショットのためにキューボールを打ったときに終了する。「ショットクロック」は、ショット時間を測定する装置として規定される。ショット時間は、例えば、リアルタイムクロックの開始及び停止を行い、ショットタイムを表示するためにオペレータにボタンを手動押下させることを必要とする装置を使用して、測定可能である。
【0058】
[0086] 本明細書に記載のシステムの種々の実施形態は、代わりに、ゲームプレイ中に使用可能なリアルタイムショットクロックを提供する自動装置及び方法を提供する。ショットタイムは、プールテーブル上方に配置された照明装置の一体部分であるビデオカメラ及びコンピュータを使用して自動測定される。ショットクロックは、各ショット後の事前設定時間に自動開始され、デクリメントされ、ショット間の時間中、プレーヤ及び視聴者の視聴のためにリアルタイムで動画画面に表示される。
【0059】
[0087] ビリヤードテーブル面とともに使用される、このような1つの装置に、ビリヤードテーブル面上方に搭載するように構成されたフレームが含まれるが、このフレームは、本明細書に記載のフレーム100のいずれかであってもよい。カメラは、フレームに搭載され、ビリヤードテーブル面の画像を記録する。このようなカメラの一例として、上述の中央カメラ730があり、処理スレッド中、カメラ0とも称する。処理装置は、カメラによって記録された画像を受信するために、動作可能に通信を行う。処理装置は、カメラによって記録された画像に基づき、ビリヤードテーブル面上のボールが動いているか、動いていないかを判定し、ボールが動いているか、動いていないかに基づき、クロックを自動制御するように構成される。例えば、処理装置は、さらに、ビリヤードテーブル面上のボールが動いていないと判定し、ビリヤードテーブル面上のボールが動いていないという判定に応じて、ショットクロックを開始することにより、クロックを自動制御するように構成可能である。さらに、処理装置は、ユーザ通信装置と通信し、ビリヤードテーブル面及び/又はビリヤードテーブル面の周辺領域の画像を取得するように配された1つ以上のカメラから画像を提供し、画像上に重ね合わせてショットクロックを表示するように構成される。処理装置は、上述の処理装置745であってもよい。
【0060】
[0088]
図20は、自動ショットクロック方法のための一例としての動画フレーム解析を示す概略フロー図である。本例において、このプロセスは、処理スレッドにおいて生じ、他のプロセスは他のスレッドで発生し、これらのプロセス/スレッドは非同期である。このアプローチでは、ボールの動き検出のために2つの異なる撮像方法を使用する。一方の方法を使用して、ショットクロックをリセット及び開始する、テーブル上のボールすべての動きの停止を検出し、他の方法を使用して、ショットクロックを停止する最初のキューボールのヒットを検出する。すべてのスレッドに共通の動きフラグを使用して、動きが発生しているか否かについての情報を引き渡す。1つのアプローチにおいて、画像フレーム処理と、全般的な動き及びキューボールの動きの捻出とは、www.opencv.org.から入手可能なOpenCV(オープンソースコンピュータビジョン)と称されるソフトウェアによって実施される。
【0061】
[0089]
図21a及び
図21bは、ショットクロックがプレイ中にカウントダウンを行う際、テーブルにおけるプレーヤのターン中のショットクロックの一連の動画画面表示を示している。
図21a及び
図21bは、テーブルにおけるプレーヤのターン中のショットクロック時間の動画画面表示を示している。2110において、ボールは停止したばかりであり、プレーヤは、任意のショットを評価している。2つの可能なショットがあり、ストレートインショットか、又はサイドレールに沿ったコンビネーションである。ショット時間は45秒で開始し、36秒残っていることが緑色で表示されている。2120において、プレーヤは、サイドレールに沿ったコンビネーションショットを考慮しており、ショットクロックは25秒である。2130において、プレーヤは、コンビネーションを続行しないことを決定しており、ストレートインショットの位置に移動している。ショットクロックは、10秒である。2140において、プレーヤは、ストレートインショットの位置にいる。しかしながら、ショットクロックは、既に警告期間に入っており、残り2秒しかないことを黄色で示している。2150において、プレーヤは、キューボールをヒットしたばかりであるが、そのプレーヤに割り当てられた45秒を8秒間超過して使用してしまったため、ショットクロックは、−8秒を赤色で示している。2160において、ボールが動いているため、ショットクロックは停止され、PIPウィンドウがビュー内にない。この一連の動画は、
図20の概略フロー図のすべての部分において表示される。
【0062】
[0090] 2010におけるプログラムフローは、ショットクロックの開始の準備段階であり、
図21bの2160に対応する。2020において、全般的なボールの動きが停止し、ショットタイムがリセットされて作動している。これは、
図21aの2110に対応し、ショットクロックは、45秒に設定され、ここで36秒となっている。この時間中、処理装置は、ボールが動いていない旨の判定後、ビリヤードテーブル面上でショットが行われるか否かを判定し、ショットの判定に応じて、ショットクロックを停止するように構成される。処理装置は、さらに、画像を解析して、画像中の1つ以上の候補キューボールとその1つ以上の候補キューボールの位置とを特定することにより、ショットが行われるか否かを判定し、連続画像中、1つ以上の候補キューボールの位置における変化を判定するように構成される。これは、2030に示されており、ここで、プログラムフローは、
図24を参照して後述するキューボールの動きのテストに進む。
【0063】
[0091] 2040におけるこのテストの第1の部分は、潜在的なキューボール対象を見つけることである。一実装において、処理装置は、OpenCVからSimpleBlobDetectorを実行する。しかしながら、アルゴリズムは、キューボールを独立の対象として具体的に特定しない。SimpleBlobDetectorアルゴリズムは、代わりに、
図22に示す通り、いくつかの可能なキューボール候補を分離する。候補キューボールは、
図22中、赤色境界と画素カウント数とで示されている。この場合のボールは、キューボール(1550画素)と、黄色ストライプボール(1669画素)と、オレンジストライプボール(1630画素)とである。SimpleBlobDetectorアルゴリズムは、この場合、ビリヤードテーブル面を撮影するカメラからの1920×1080画素の動画フレームである画像が、カラーからグレーレベルに変換されていることを想定している。そして、このアルゴリズムは、閾値化手順を使用して、白黒2値画像を作成し、いくつかのフィルタを使用して、例えば、色(これは、実際には、グレーレベル強度であり、白対黒で終わる)、面積、真円度、慣性、及び凸性等の対象を検出する。本実施形態において使用されるパラメータは、minThreshold=11、maxThreshold=200、minArea=1300.0、maxArea=4000.0、minCircularity=0.69、maxCircularity=1.0、blobColor=255である。SimpleBlobDetectorは、検出された対象について多数の出力パラメータを有する。本実施形態の関心パラメータは、検出された対象の数と、各対象の画像内におけるx,y座標位置とである。
図22の場合、アルゴリズムの限定的なフィルタリング能力を前提として、3つの対象が、可能なキューボールとして検出されている。
【0064】
[0092]
図20に戻ると、2050において、キューボールの動きアルゴリズムにより、最終フレームのすべての位置に対する、現在の各動画フレームの潜在的キューボールのx,y位置をテストする。これは、
図24により詳細に示されている。2つのフレーム間の任意のx,y位置の差異は、キューボールの動きとして捉えられる。キューボールの動きの検出に応じて、ショットクロックが停止され、PIPウィンドウが再構築記録動画ストリームから除外される。これは、
図21bの2160に対応する。
【0065】
[0093] この間、処理装置は、さらに、画像を解析して、画像中のボールの位置を特定し、連続した画像中のボールの位置の変化を判定することにより、ビリヤードテーブル面上でボールの動きがないことを判定するように構成される。
図23は、テーブル面上での全般的なボールの動きを判定する一例としてのプロセスを示している。この方法は、画像差分手順を使用して画素値の差を得るため、現在のテーブル面の画像フレーム2310を、2つ連続する過去の先行するテーブル面画像フレーム2320及び2330と比較することを備える。本実施形態において使用される方法では、本明細書に特定した種々のOpenCVソフトウェアルーチンを利用する。当分野で既知の他の方法を使用して、フレーム間の画像の動きを判定することもできる。動画フレーム画像は、まず、cvtColorを使用して、カラー画像からグレーレベルに変換される。その後、
図23に示す通り、現在の画像及び先行する2つの画像が互いに比較され、まず、absdiffアルゴリズムにより、差分画像2340及び2350を生成した後、bitwise_andアルゴリズムを使用して動き画像2360を生成する。この動き画像2360は、その後、threshold及びcountNonZeroで解析されて、現在のテーブル面画像のためのmotionCount測定値2370を生成する。本実施形態において、閾値Tは、35の値、すなわち、35の値を上回る、導出された動き画像フレームにおける画素数に設定される。次のステップでは、avgMotion2380の最終測定値を演算する。これは、多数のフレームに亘ってmotionCount測定値を平均することによって達成される。本実施形態において、数Nは、フレームレートの8倍に設定される。
【0066】
[0094] avgMotion測定値は、ビリヤードテーブル面全体を撮影するカメラの視野における動きを正確に反映し、プロセッサスレッドによって、常に演算され、リアルタイムで更新される。これはまた、ボールの移動から、テーブル上に何らの動きもないことを示す、非常に確実且つ効率的な方法である。ボールが停止し、移動しないときavgMotionは誤った偽の非ゼロ測定値を伴うことなく、ゼロに留まる。従って、これは、ショットクロックの開始に使用するのに非常に確実な方法である。しかしながら、MotionCountは、ショットクロックタイムを終了させるために、キューボールを打ったことを検出するのにはロバストな方法ではない。これは、本明細書中でさらに説明する通り、キューボールの動きのみを具体的に検出することによってより良好に測定される。
【0067】
[0095] ボールの動きフラグは、ショットクロックの開始及び停止を行う目的で、画像解析からのボールの動きの演出に基づいて設定され、ショットクロックは、ボールの動きがない旨の検出を示すボールの動きフラグに基づいて開始される。一実装において、ディレクタスレッドは、avgMotionがゼロになったとき、フラグbBallMovement=誤りに設定する。このフラグは、単に、cueBallMotion検出手順によって正しいとリセットされる。従って、
図20、b、c、d、及びeに示す通り、カメラ0の視野に他のボールの移動がないことによって誘発されたavgMotionの増加が存在する場合であっても、ショットクロックのカウントダウンには影響しない。本明細書に記載の通り、ショットクロックをオフにするイベントは、cueBallMotionである。通常、プール及びビリヤードのプレイ中、シュータはボールが停止するまでテーブルから離れて立つ。このようにすることにより、さらに、avgMotionを、ボールの移動の停止を示し、ショットクロックとプレーヤに対するその表示をリセットしてオンする主要信号として使用させることができる。
【0068】
[0096]
図24は、キューボールの動きを判定するプログラムフローの概略図である。本方法の本質は、潜在的なキューボール対象を現在のフレーム内に配置し、潜在的な各キューボール対象の位置を依然のフレームにおける潜在的なキューボール対象の位置と比較することである。潜在的なキューボールの位置がすべて2つのフレームの同一位置内にある場合、キューボールの移動の移動はなかったということである。少なくとも1つの潜在的なキューボール対象が同一でない場合、キューボールの動きの開始が検出され、bBallMoveMentフラグが正しいに設定される。
図24は、本プロセスの主要ステップを示している。プログラムは、プロセッサスレッドで作動しており、最初に、bBallMoveMentフラグ2420上で連続的にループし、テーブル上でボールの動きが停止したか否かを判定する。停止していない場合、プログラムフローは、スレッドの一番上に戻り、次のフレーム2410について考慮する。キューボールのヒットからボールの移動が停止するまでの時間は、数秒かかることが多い。従って、例えば、この短いループは、恐らく100回実行されてもよい。このステップの目的は、次のステップの実行前に、テーブル上にボールの移動がないことを確認することである。
【0069】
[0097] 以降、すべてのボールが停止した後の第1のステップについてみると、2430において、
図22で説明した潜在的なキューボールの画像検出が発生する。カメラが種々のより薄い色の付けられたプールボール及びストライプの付けられたプールボール上に見る白色の量が故に、実際のキューボールは、簡易で迅速な対象検出器方法を使用して、独立の対象として具体的に分離することができない。代わりに、ブロブ検出器アルゴリズムでは、潜在的なキューボール対象の数currentNumberOfObjectsを見出して提供し、さらに、それらの(x,y)位置の列currentNumberOfObjectsを提供する。潜在的なキューボールのいずれかが移動した場合、それが実際のキューボールであると推定できるため、これは、ショットクロックを開始する目的に適う。
【0070】
[0098] 2440及び2450における次の2ステップは、初めて実行される特別な状況のためのものである。例えば、currentNumberOfObjectsが初めてゼロを上回ったものの、lastNumberOfObjectsについては違う場合が挙げられる。従って、プログラムフローは、2490に進み、ここでは、lastNumberOfObjects及びlast(x,y)Locationsが更新される。また、currentNumberOfObjectsがゼロである場合、これは、キューボールが取り除かれたことを意味するかもしれず、プログラムフローは、それが再び現れるまでループするであろう。ボールが移動を停止した後、プログラムフロー内で費やされる時間の大部分は、2460、2470、2480、及び2490からなるわずかに大きなループと、次のフレームについて考慮する2410、2420、及び2430に戻ってからである。2460において、current(x,y)Locationsのすべてがlast(x,y)Locationsの各々と比較される。x又はyにおいて1画素を超える位置の差異が見出される場合、bBallMovementフラグが正しいに設定され、より大きなループが終了する。また、この時点で、bBallMovementフラグにアクセスしてこれを継続的にチェックしているディレクタスレッドがショットクロックを停止する。すなわち、キューボールをヒットすることによって誘発される次の全般的なボールの移動が停止したときにオフされ、リセットされる。通常の場合、現在のフレーム及び最終のフレームのx,y位置はすべて合致し、bBallMovementフラグは誤りである旨を維持し続け、より大きなループがキューボールの移動のチェックを続ける。プール及びビリヤードプレイでは、このスレッドは、時として、このより大きなループ内にあることもある。例として、プレーヤが次のショットを行うのにかかる平均時間を30秒と考えてみる。すると、毎秒30フレームであれば、キューボールの移動を待機するこのループにより、約900フレームが解析されるであろう。これは独立に動作するスレッドであるため、移動が検出されたとき、プログラムフローは停止しない。フローは、avgMotionがゼロになったために、すべてのボールが停止したという条件によってbBallMovementフラグが再び誤りに設定されるまで、フローは、2410及び2420のより小さなループを通じて進行する。
【0071】
[0099] 本明細書に記載の装置の他の目的は、本装置の構造内に搭載されるビデオカメラを備えた照明システムであって、全体が一片の機器として含まれながら、テーブル面の上面動画視野を可能にし、同時にその他斜めの動画の側方ビュー及び端部ビューを提供してプレーヤのアクティビティを見せることのできる照明システムを提供することにある。また、同装置は、種々のカメラの動画ストリームの画像処理により、テーブル面ビューを伴う斜めのビューを含んでプレイを記録し、意味のあるゲームプレイのリアルタイムデータを提供することができる。これらの要件を達成することには、多くのデータを調整してストリーミング及び解析することが含まれる。avgMotion測定は、迅速、ロバスト、且つ効率的であり、すべての装置を、同時に3つの動画ストリームを受信し、必要に応じて個々のフレームに画像解析を実施する時間パラメータ内に作動させる。これは、また、新たなキューボールの移動解析が開始される前に、テーブル上にボールの動きがないことを保証するため、キューボールの動きの特定検出に対する準備としても機能する。
【0072】
[0100] 或いは、ショットクロックに関連する装置及び方法は、照明フレームアプローチに組み込まれる必要がない。代わりに、本明細書に記載の動き検出のための画像記録に使用されるカメラを任意の方法で配置し、ビリヤードテーブル面を撮影してもよく、これは必ずしも表面の中央部分の直情に配置されなくてもよい。さらに、このような実施形態におけるショットクロックは、ゲームプレイからの動画画像の上に重ね合わせられる代わりに、専用のディスプレイを介して提供することができる。
【0073】
[0101] 追加の代替実施形態において、
図18A、
図18B、
図18C、
図19、
図20、
図23、及び
図24に記載の機能又は論理は、別のプロセッサ回路、又は同一の集積回路上にない複数の個々の中央プロセッサユニットにおいて実行されてもよいコード又はスレッドの形で組み込まれてもよい。ソフトウェアに組み込まれる場合、各ブロックは、特定された論理機能を実施するプログラム指示を備えたモジュール、セグメント、又はコードの一部を表してもよい。プログラム指示は、プログラミング言語で記述された人による読取が可能な表現を備えるソースコード、若しくはコンピュータシステム又はその他のシステム内のプロセッサ等、好適な実行システムによって認識可能な数値支持を備える機械コードの形で組み込まれてもよい。機械コードは、ソースコード等から変換されてもよい。ハードウェアに組み込まれる場合、各ブロックは、特定された論理機能を実施する回路又は相互接続された多数の回路を表してもよい。従って、コンピュータ可読媒体(持続性又は有形)は、処理装置に本明細書に記載の動作を実施させるように構成された、このような指示を記憶してもよい。
【0074】
[0102] 当業者は、本発明の範囲から逸脱することなく、以上に記載の実施形態には幅広い種々の修正、変更、及び組み合わせが行われ得ること、またこのような修正、変更、及び組み合わせも本発明の概念の範囲内としてみなされなければならないことを認識するであろう。