(58)【調査した分野】(Int.Cl.,DB名)
各サブシーンビデオ信号は、その最小幅以上で並べて合成され、かつ、各サブシーンビデオ信号は、すべての合成されたサブシーンビデオ信号の合計が前記ステージシーンビデオ信号の幅と等しい各自の幅で並べて合成される、請求項4に記載の方法。
前記ステージシーンビデオ信号内のサブシーンビデオ信号の幅は、サブシーンビデオ信号に対応する少なくとも1つの対象方位において検出されたアクティビティ基準に従って変化するように合成されるのに対して、前記ステージシーンビデオ信号の幅は一定に保たれる、請求項6に記載の方法。
前記ステージシーンビデオ信号から除去されるように移行する前記2つのサブシーンビデオ信号の前記少なくとも1つは、アクティビティ基準が最も以前に満たされた各自の対象方位に対応する、請求項9に記載の方法。
前記少なくとも2つのサブシーンビデオ信号および少なくとも1つの前記追加のサブシーンビデオ信号の各自の対象方位間の前記ワイドカメラに対する左から右への順序は、前記少なくとも2つのサブシーンビデオ信号が少なくとも1つの前記追加のサブシーンビデオ信号とともに合成されて前記ステージシーンビデオ信号を形成する際に保存される、請求項9に記載の方法。
前記少なくとも2つのサブシーンビデオ信号を前記縮小したパノラマビデオ信号とともに合成して、複数の並んだサブシーンビデオ信号と、前記複数の並んだサブシーンビデオ信号の領域よりも高い位置の前記パノラマビデオ信号の領域とを含む、2:1以下のアスペクト比を有するステージシーンビデオ信号を形成することをさらに備え、前記パノラマビデオ信号は、前記ステージシーンビデオ信号の領域の1/5以下であり、前記ステージシーンビデオ信号の幅を横切って延びる、請求項14に記載の方法。
保持基準に基づいて、前記少なくとも2つのサブシーンビデオ信号の少なくとも1つを、移行から保護される保護サブシーンビデオ信号として設定することをさらに備え、前記少なくとも2つのサブシーンビデオ信号の少なくとも1つを置換することによって少なくとも1つの前記追加のサブシーンビデオ信号を前記ステージシーンビデオ信号に移行させることは、保護されるサブシーン以外のサブシーンビデオ信号を移行させる、請求項3に記載の方法。
強調基準に基づいてサブシーン強調動作を設定することをさらに備え、前記少なくとも2つのサブシーンビデオ信号の少なくとも1つは、対応する強調基準に基づいて前記サブシーン強調動作に従って強調される、請求項1に記載の方法。
センサから検知された基準に基づいてサブシーン参加者通知動作を設定することをさらに備え、ローカルリマインダ指標が、対応する検知された基準に基づいて前記通知動作に従って起動される、請求項1に記載の方法。
前記ステージシーンビデオ信号における前記少なくとも2つのサブシーンビデオ信号の水平方向の順序は、前記パノラマビデオ信号における前記少なくとも2つのサブシーンビデオ信号の水平方向の順序と同じである、請求項1に記載の方法。
【発明を実施するための形態】
【0029】
詳細な説明
会議カメラ
図1Aおよび
図1Bは、会議カメラ100であるデバイスによって収集されたワイドシーン内の角度分離されたサブシーンおよび/または対象サブシーンを合成する、追跡する、および/または表示するのに好適なデバイスの実施形態の概略ブロック図である。
【0030】
図1Aは、会議カメラ100または会議「ウェブカム」として、たとえば、接続されたラップトップ、タブレット、またはモバイルデバイス40のUSBホストもしくはハブに接続されたUSB周辺装置として通信するように、かつ、「グーグルハングアウト(Google(登録商標)Hangout)」、「スカイプ(Skype)」または「フェイスタイム(Facetime)」といった既成のビデオチャットまたはビデオ会議ソフトウェアによって一般に用いられているアスペクト比、画素数、および比率の単一のビデオ画像を提供するように構築されたデバイスを示す。デバイス100は、たとえば、2人以上の出席者をキャプチャ可能な、出席者または参加者M1,M2…Mnの会議を見渡すように方向付けられたカメラなどの、「ワイドカメラ」2,3または5を含む。カメラ2,3または5は、1つのデジタル撮像装置もしくはレンズ、または2つ以上のデジタル撮像装置もしくはレンズ(たとえばソフトウェアにスティッチングされているかまたはその他)を含み得る。会議内のデバイス100の場所に応じて、ワイドカメラ2,3または5の視野は70度以下であり得ることに留意すべきである。しかし、1つ以上の実施形態では、ワイドカメラ2,3,5は会議の中央で有用であり、この場合、ワイドカメラは実質的に90度の、または140度よりも大きい(必ずしも連続的ではない)、または最大で360度の水平視野を有し得る。
【0031】
大きい会議室(たとえば8人以上を収容するように設計された会議室)では、広い視野(たとえば実質的に90度以上)を記録し、非常に広いシーンを共同して互いにスティッチングして最も心地よい角度をキャプチャする複数の広角カメラデバイスを有することが有用であり得る。たとえば、長い(10′〜20′)テーブルの遠端における広角カメラではスピーカーSPKRの満足のいかない遠いビューがもたらされ得るが、テーブル全体に分散した複数のカメラ(たとえば5席ごとに1つ)を有すると、少なくとも1つの満足のいくまたは心地よいビューが与えられ得る。カメラ2,3,5は(たとえばH:V水平−垂直比率である、たとえば2.4:1から10:1のアスペクト比の)パノラマシーンを撮像もしくは記録し、および/またはこの信号をUSB接続を介して利用可能にし得る。
【0032】
図2A〜
図2Lに関して述べるように、会議カメラ100のベースからのワイドカメラ2,3,5の高さは好ましくは8インチ
(20.32センチメートル)よりも大きいため、カメラ2,3,5は会議において典型的なラップトップスクリーンよりも高く、それによって会議出席者M1,M2…Mnへの遮られていないおよび/またはほぼ目の高さのビューを有し得る。マイクアレイ4は少なくとも2つのマイクを含み、当該技術において公知であるようにビーム形成、相対的飛行時間、局所化、または受信した信号強度差によって、近くの音または発話への対象方位を得ることができる。マイクアレイ4は、ワイドカメラ2の視野と少なくとも実質的に同じ角度範囲をカバーするように方向付けられた複数のマイクペアを含み得る。
【0033】
マイクアレイ4は、8インチ
(20.32センチメートル)よりも高い高さでワイドカメラ2,3,5とともに任意に配列されているため、出席者M1,M2…Mnの発言中にアレイ4と当該出席者との間に直接的な「見通し線」がやはり存在し、典型的なラップトップスクリーンによって遮られない。計算およびグラフィカルイベントを処理するためのCPUおよび/またはGPU(ならびにカメラ回路などの関連付けられた回路)6が、ワイドカメラ2,3,5の各々およびマイクアレイ4に接続されている。ROMおよびRAM8が、実行可能コードを保持して受信するためにCPUおよびGPU6に接続されている。ネットワークインターフェイスおよびスタック10が、CPU6に接続されたUSB、イーサネット(登録商標)、および/またはWiFiのために設けられている。1つ以上のシリアルバスがこれら電子部品を相互に接続しており、それらはDC、AC、またはバッテリパワーによって電力が供給される。
【0034】
カメラ2,3,5のカメラ回路は、処理されたまたはレンダリングされた画像またはビデオストリームを、1.25:1から2.4:1または2.5:1の「H:V」水平−垂直比率またはアスペクト比(たとえば4:3,16:10,16:9の比率を含む)の風景画方向の単一カメラ画像信号、ビデオ信号またはストリームとして、および/または上述のように、好適なレンズおよび/またはスティッチング回路を用いて、パノラマ画像またはビデオストリームを、実質的に2.4:1以上の単一カメラ画像信号として出力し得る。
図1Aの会議カメラ100は通常はUSB周辺装置として、ラップトップ、タブレット、またはモバイルデバイス40(少なくとも1つのバスによって相互に接続されたディスプレイ、ネットワークインターフェイス、コンピューティングプロセッサ、メモリ、カメラおよびマイク部を有する)に接続され得、接続されると、マルチパーティテレビ会議、ビデオ会議、またはビデオチャットソフトウェアがホストされて、インターネット60を介してリモートクライアント50とテレビ会議するために接続可能となる。
【0035】
図1Bは、
図1Aのデバイス100およびテレビ会議デバイス40の両方が統合されている
図1Aの変形である。単一カメラ画像信号、ビデオ信号またはビデオストリームとしてのカメラ回路出力はCPU、GPU、関連付けられた回路およびメモリ5,6が直接利用可能であり、テレビ会議ソフトウェアは代わりに当該CPU、GPUならびに関連付けられた回路およびメモリ5,6によってホストされる。デバイス100は、インターネット60またはINETを介してリモートクライアント50とテレビ会議するために(たとえばWiFiまたはイーサネットを介して)直接接続可能である。ディスプレイ12は、テレビ会議ソフトウェアを操作するための、かつ本明細書に記載のテレビ会議ビューおよびグラフィックスを会議出席者M1,M2…M3に見せるためのユーザインターフェイスを提供する。
図1Aのデバイスまたは会議カメラ100は、代わりにインターネット60に直接接続され、それによって、リモートクライアント50によってビデオをリモートサーバに直接記録すること、またはリモートクライアント50によってそのようなサーバからビデオにライブでアクセスすることを可能にしてもよい。
【0036】
図2Aから
図2Lは、
図1Aおよび
図1Bのデバイスまたは会議カメラ100のための、ワイドシーンおよび/またはパノラマシーンを収集するのに好適な会議カメラ14またはカメラタワー14配列の実施形態の概略図である。「カメラタワー」14および「会議カメラ」14は本明細書中では実質的に交換可能に用いられ得るが、会議カメラはカメラタワーでなくてもよい。
図2A〜
図2Lにおけるデバイス100のベースからのワイドカメラ2,3,5の高さは、好ましくは8インチ
(20.32センチメートル)よりも大きく15インチ
(38.1センチメートル)よりも小さい。
【0037】
図2Aのカメラタワー14配列では、複数のカメラがカメラタワー14のカメラレベル(8から15インチ
(20.32から38.1センチメートル))で周囲に配列され、等角度に離間している。カメラの数はカメラの視野およびスパンすべき角度によって決定され、パノラマのスティッチングされたビューを形成する場合は、スパンする累積角度は個々のカメラ間のオーバーラップを有するべきである。たとえば、
図2Aの場合、各々が100〜110度の視野(破線で示す)である4つのカメラ2a,2b,2c,2d(2a〜2dとラベル付けされている)が互いに90度に配列されて、カメラタワー14の周りの360度の累積ビューまたはスティッチング可能なもしくはスティッチングされたビューを提供する。
【0038】
たとえば、
図2Bの場合、各々が130度以上の視野(破線で示す)である3つのカメラ2a,2b,2c(2a〜2cとラベル付けされている)が互いに120度に配列されて、やはり、タワー14の周りの360度の累積ビューまたはスティッチング可能なビューを提供する。カメラ2a〜2dの垂直視野は水平視野よりも小さく、たとえば80度未満である。各カメラ2a〜2dからの画像、ビデオまたはサブシーンは、スティッチング、デワープ、または歪み補償といった公知の光学補正の前後に処理されて対象方位またはサブシーンが識別され得るが、典型的には出力前にそのように補正されることになる。
【0039】
図2Cのカメラタワー14配列では、上向きに方向付けられた単一の魚眼カメラまたはほぼ魚眼のカメラ3aが、カメラタワー14のカメラレベル(8から15インチ
(20.32から38.1センチメートル))の頂上に配列されている。この場合、魚眼カメラレンズは360度の連続する水平ビュー、および約215(たとえば190〜230)度の垂直視野(破線で示す)を有して配列される。代わりに、たとえば
図2Dに示すような円筒形の透過性シェル、上部放物面鏡、黒い中央ポスト、テレセントリックレンズ構成を有する単一の反射屈折「円筒画像」カメラまたはレンズ3bが、360度の連続する水平ビューを有して、約40〜80度の垂直視野を有して配列され、水平線上にほぼ中心付けられている。魚眼カメラおよび円筒画像カメラの各々の場合、会議テーブルから8〜15インチ
(20.32〜38.1センチメートル)上に位置決めされる垂直視野は水平線の下を延びて、会議テーブルの周りの出席者M1,M2…Mnを腰の高さ以下まで撮像することを可能にする。各カメラ3aまたは3bからの画像、ビデオまたはサブシーンは、デワープまたは歪み補償といった魚眼レンズまたは反射屈折レンズについての公知の光学補正の前後に処理されて対象方位またはサブシーンが識別され得るが、典型的には出力前にそのように補正されることになる。
【0040】
図2Lのカメラタワー14配列では、複数のカメラがカメラタワー14のカメラレベル(8から15インチ
(20.32から38.1センチメートル))で周囲に配列され、等角度に離間している。カメラの数は、この場合、完全に連続的なパノラマのスティッチングされたビューを形成することを意図しておらず、スパンする累積角度は個々のカメラ間のオーバーラップ有していない。たとえば、
図2Lの場合、各々が130度以上の視野(破線で示す)である2つのカメラ2a,2bが互いに90度に配列されて、カメラタワー14の両側の約260度以上を含む別個のビューを提供する。この配列は、長い会議テーブルCTの場合に有用となる。たとえば、
図2Eの場合、2つのカメラ2a〜2bがパンしており、および/または縦軸の周りを回転可能であり、本明細書に記載の対象方位B1,B2…Bnをカバーしている。各カメラ2a〜2bからの画像、ビデオまたはサブシーンは、光学補正の前後に本明細書に記載のようにスキャンまたは分析され得る。
【0041】
図2Fおよび
図2Gでは、テーブルの頭および端の配列が示されており、すなわち、
図2Fおよび
図2Gに示すカメラタワー14の各々は、会議テーブルCTの頭に有利に置かれるよう意図されている。
図3A〜
図6Aに示すように、プレゼンテーションおよびビデオ会議用の大型フラットパネルディスプレイFPが会議テーブルCTの頭または端に置かれることが多く、
図2Fおよび
図2Gの配列は、代わりにフラットパネルFPの真正面に近接して置かれる。
図2Fのカメラタワー14配列では、約130度の視野の2つのカメラが互いに120度に置かれて、長い会議テーブルCTの2辺をカバーしている。ディスプレイおよびタッチインターフェイス12がテーブル上に方向付けられており(壁にフラットパネルFPがない場合に特に有用である)、ビデオ会議ソフトウェアのためにクライアントを表示する。このディスプレイ12は接続された、接続可能なまたは取外し可能なタブレットまたはモバイルデバイスであり得る。
図2Gのカメラタワー配列では、1つの高解像度の、任意に傾いているカメラ7(自身の独立したテレビ会議クライアントソフトウェアまたはインスタンスに任意に接続されている)が対象オブジェクト(ホワイトボードWBまたはテーブルCT面上のページもしくは紙など)に方向付け可能であり、たとえば100〜110度の視野の2つの独立してパンしている/または傾いているカメラ5a,5bが対象方位をカバーするように方向付けられるか方向付け可能である。
【0042】
各カメラ2a,2b,5a,5b,7からの画像、ビデオまたはサブシーンは、光学補正の前後に本明細書に記載のようにスキャンまたは分析され得る。
図2Hは、90度に分離して配列された100〜130度の2つのカメラ2a〜2bまたは2c〜2dを各々が有する2つの同一ユニットが、テーブルCTの頭または端において>180度のビューユニットとして独立して用いられ得るが、さらに任意に、背中合わせに組合されて、部屋全体をスパンする会議テーブルCTの中央に適切に置かれた4つのカメラ2a〜2dを有する
図2Aのユニットと実質的に同一のユニットを形成し得る変形を示す。
図2Hのタワーユニット14,14の各々には、組合されたユニットを形成するためのネットワークインターフェイスおよび/または物理インターフェイスが設けられることになる。当該2つのユニットは、代わりに、またはさらに、自由に配列されてもよく、または以下の
図2K、
図6A、
図6Bおよび
図14に関して述べるように協調して配列されてもよい。
【0043】
図2Jでは、
図2cのカメラと同様の魚眼カメラまたはレンズ3a(反射屈折レンズ3bと物理的におよび/または概念的に交換可能である)がカメラタワー14のカメラレベル(8から15インチ
(20.32から38.1センチメートル))の頂上に配列されている。1つの回転可能な、高解像度の、任意に傾いているカメラ7(自身の独立したテレビ会議クライアントソフトウェアまたはインスタンスに任意に接続されている)が対象オブジェクト(ホワイトボードWBまたはテーブルCT面上のページもしくは紙など)に方向付け可能である。
図6A、
図6Bおよび
図14に示すように、この配列が有利に働くのは、第1のテレビ会議クライアントが(
図14では「会議室(ローカル)ディスプレイ上でまたはこれに接続されると)、たとえば第1の物理または仮想ネットワークインターフェイスまたはチャネル10aを介して、合成されたサブシーンをシーンSCカメラ3a,3bから単一カメラ画像または合成出力COとして受信し、第2のテレビ会議クライアント(
図14ではデバイス100内に存在しており、第2の物理または仮想ネットワークインターフェイスまたはチャネル10bを介してインターネットに接続されている)が独立した高解像度画像をカメラ7から受信するときである。
【0044】
図2Kは、同様にカメラ3a,3bおよび7からの画像のための別個のビデオ会議チャネルが有利であり得る同様の配列を示しているが、
図2Kの配列では、各カメラ3a,3b対7が各自のタワー14を有しており、インターフェイス15(有線でも無線でもよい)を介してタワー14の残りに任意に接続されている。
図2Kの配列では、シーンSCカメラ3a,3bを有するパノラマタワー14が会議テーブルCTの中央に置かれてもよく、方向付けられた高解像度タワー14がテーブルCTの頭に、または、方向付けられた、高解像度の、別個のクライアント画像もしくはビデオストリームが対象となる任意の場所に置かれてもよい。各カメラ3a,7からの画像、ビデオまたはサブシーンは、光学補正の前後に本明細書に記載のようにスキャンまたは分析され得る。
【0045】
会議カメラの使用
図3A、
図3Bおよび
図12を参照して、写真撮影シーンを合成して出力する本方法の実施形態によると、デバイスまたは会議カメラ100(または200)が、たとえば円形または矩形の会議テーブルCTの上に置かれる。デバイス100は、会議参加者M1,M2,M3…Mnの利便性または意図に従って配置されてもよい。
【0046】
任意の典型的な会議では、参加者M1,M2…Mnはデバイス100に対して角度的に分散することになる。デバイス100が参加者M1,M2…Mnの中央に置かれる場合、参加者は、本明細書に記載のように、パノラマカメラでキャプチャされ得る。逆に、デバイス100が参加者の片側に置かれる(たとえばテーブルの一端に置かれる、またはフラットパネルFPに装着される)場合は、参加者M1,M2…Mnをスパンするのにワイドカメラ(たとえば90度以上)で十分であり得る。
【0047】
図3Aに示すように、参加者M1,M2…Mnの各々は、たとえば説明のために起点ORから測定された、デバイス100からの各自の方位B1,B2…Bnを有することになる。各方位B1,B2…Bnはある範囲の角度または公称角度であり得る。
図3Bに示すように、「ロールされていない」、投影された、またはデワープされた魚眼、パノラマまたはワイドシーンSCは、予期される各自の方位B1,B2…Bnに配列された各参加者M1,M2…Mnの画像を含む。特に、矩形のテーブルCTおよび/またはテーブルCTの片側のデバイス100の配列の場合、各参加者M1,M2…Mnの画像は参加者の対向角度に従って短縮されているか遠近法の歪みを含み得る(
図3Bにおいておよび図面全体にわたって、予期される短縮方向を用いて概略的に描かれている)。当業者に周知であるような遠近法および/または視覚幾何学的補正が、短縮されたまたは遠近法の歪みを有する画像、サブシーン、またはシーンSCに適用され得るが、不要な場合もある。
【0048】
顔検出および拡幅
一例として、共通のアルゴリズムを使用する現代の顔検出ライブラリおよびAPI(50個を超える利用可能なAPIおよびSDKのうち、たとえば、AndroidのFaceDetector. Faceクラス、オブジェクティブCのCIDetectorクラスおよびCIFaceFeatureオブジェクト、Haarカスケードを用いるOpenCVのCascadeClassifierクラス)は通常、瞳孔間距離、ならびに顔特徴および顔ポーズの空間的位置を返す。参加者Mnの耳を範囲に含めるべきである場合は、顔幅推定の大まかな下限は瞳孔間距離/角度の約2倍であり得、大まかな上限は瞳孔間距離/角度の3倍であり得る。肖像画幅推定(すなわち頭部にいくらかの肩幅を加えたもの)の大まかな下限は顔幅/角度の2倍であり得、大まかな上限は顔幅/角度の4倍であり得る。代わりに、サブシーン幅の固定角度または他のより直接的な設定が用いられてもよい。
【0049】
図4A〜
図4Bおよび
図5A〜
図5Bは、顔幅および肩幅の両方(そのいずれか一方は当初のサブシーン幅を設定するために本明細書に記載のような最小幅であり得る)の1つの例示的な二段階のおよび/または別個の識別を示す。
図4Aおよび
図4Bに示すように、瞳孔間距離または顔特徴(特徴、クラス、色、セグメント、パッチ、テクスチャ、訓練された分類子、もしくは他の特徴)の他の寸法分析に従って設定された顔幅FW1,FW2…FWnがパノラマシーンSCから得られる。対照的に、
図5A、
図5B、
図6Aおよび
図6Bでは、肩幅SW1,SW2…SWnが同一の分析に従って設定され、約3倍もしくは4倍だけ、またはデフォルト音声分解もしくは幅に従ってスケーリングされる。
【0050】
角度分離されたサブシーンの合成
図7Aおよび
図7Bは、5人の参加者M1,M2,M3,M4およびM5を示し、視覚最小幅Min.2および対応する角度範囲対象方位B5と、音響最小幅Min.5および対応するベクトル対象方位B2との識別の描写を含む、約10人掛けの会議テーブルCT、および会議カメラパノラマ画像信号SCをそれぞれ示す、会議カメラ100の使用事例を上から見下ろした図である。
【0051】
図7Aでは、会議カメラ100は10人掛けの長い会議テーブルCTの中央に配置されている。したがって、テーブルCTの中央側の参加者M1,M2,M3は最も短縮が小さく、カメラ100の最大画像域および角度ビューを占めているのに対して、テーブルCTの端側の参加者M5およびM4は最も短縮が大きく、最小画像域を占めている。
【0052】
図7Bでは、全体のシーンビデオ信号SCは、たとえば360度ビデオ信号であり、参加者M1…M5全員を含んでいる。会議テーブルCTはシーンSCにおいてパノラマビューの歪んだ「W」形状の特性を有して現れるのに対して、参加者M1…M5は会議カメラ100からの自身の位置および距離に応じて異なるサイズで異なる短縮アスペクトを有して現れる(矩形の体および楕円形の頭で単純に概略的に表わされている)。
図7Aおよび
図7Bに示すように、各参加者M1…M5は各自の方位B1…B5によってメモリ8内に表わされ、音、動作、または特徴の音響または視覚またはセンサ局所化によって求められ得る。
図7Aおよび
図7Bに描かれているように、参加者M2は顔の検出によって局所化されている(かつ、対応するベクトル状の方位B2および最小幅Min.2がメモリに記録されており、顔検出ヒューリスティックから得られた顔幅に比例して求められる)場合があり、参加者M5はビーム形成、相対的信号強度、および/または発話のような音声信号の飛行時間によって局所化されている(かつ、対応するセクタ状の方位B5および最小幅Min.5がメモリに記録されており、音響アレイ4の概算解像度に比例して求められる)場合がある。
【0053】
図8Aは、会議カメラ100ビデオ信号と、最小幅Min.nと、ステージシーンビデオ信号STG,COに合成すべきサブシーンビデオ信号SS2,SS5およびパノラマビデオ信号SC.Rの抽出との概略図を示す。
図8Aの上部は本質的に
図7Bを再現している。
図8Aに示すように、
図7Bからの全体のシーンビデオ信号SCが対象方位(この例では方位B2およびB5に限定される)ならびに幅(この例では幅Min.2およびMin.5に限定される)に従ってサブサンプリングされ得る。サブシーンビデオ信号SS2は、(視覚的に求められた)顔幅限界Min.2と少なくとも同じ幅であるが、ステージSTGの幅、高さ、および/もしくは利用可能な領域、または合成出力COのアスペクト比および利用可能な領域に対してより広くなってもよいし、またはより広くスケーリングされてもよい。サブシーンビデオ信号SS5は、(音響的に求められた)音響概算Min.5と少なくとも同じ幅であるが、同様により広くなってもよいし、またはより広くスケーリングされてもよく、かつ限定されてもよい。このキャプチャ内の縮小したパノラマシーンSC.Rは全体のシーンSCの上下がクロップされたバージョンであり、この場合、10:1のアスペクト比にクロップされる。代わりに、縮小したパノラマシーンSC.Rは、比例的スケーリングまたはアナモフィックスケーリングによって全体のパノラマシーンビデオ信号SCから得られてもよい(たとえば上部および下部は残るが、中央部よりも圧縮される)。いずれの場合も、
図8Aおよび
図8Bの例では、3つの異なるビデオ信号源SS2,SS5およびSC.RがステージSTGまたは合成出力COに合成されるように利用可能である。
【0054】
図8Bは本質的に
図8Aの下部を再現しており、ステージシーンビデオ信号STGまたはCOに合成すべきサブシーンビデオ信号SS2,SS5およびパノラマビデオ信号SC.Rの概略図を示す。
図8Cから
図8Eは、可能な3つの合成出力またはステージシーンビデオ信号STGまたはCOを示す。
【0055】
図8Cに示す合成出力COまたはステージシーンビデオ信号STGでは、縮小したパノラマビデオ信号SC.RがステージSTGの上部全体を横切って合成されており、この場合はステージ領域の1/5または20%未満を占めている。サブシーンSS5は少なくともその最小領域を占めるように合成されており、全体的にスケーリングされていないが、ステージ幅の約1/2を満たすように拡幅されている。サブシーンSS2も、少なくともその(大幅に小さい)最小領域を占めるように合成されており、全体的にスケーリングされておらず、やはりステージ幅の約1/2を満たすように拡幅されている。この合成出力COでは、2つのサブシーンにほぼ同じ面積が与えられているが、参加者はカメラ100からの自身の距離に対応する異なる見掛けのサイズである。また、合成された2つのサブシーンの左右のまたは時計回りの順序は、室内の参加者またはカメラ100からの対象方位の(かつ、縮小したパノラマビューSC.Rに現われているような)順序と同じであることに留意すべきである。さらに、本明細書に記載の移行のいずれかが、サブシーンビデオ信号SS2,SS5をステージビデオ信号STGに合成する際に用いられ得る。たとえば、両方のサブシーンがステージSTGを単純に瞬時に満たしてもよく、または、一方が、その対応する左右のステージ方向からスライドインしてステージ全体を満たした後、他方がその対応する左右のステージ方向からスライドインすることによって漸進的に幅が狭くなる、などでもよく、いずれの場合も、サブシーンウインドウ、フレーム、アウトラインなどが移行全体にわたってそのビデオストリームを表示している。
【0056】
図8Dに示す合成出力COまたはステージシーンビデオ信号STGでは、縮小したパノラマビデオ信号SC.Rは同様にシーンSTGに合成されているが、信号SS5およびSS2の各々は、参加者M5,M2がステージSTGのより大きい領域を占めるように比例してスケーリングまたはズームされている。各信号SS5およびSS2の最小幅もズームされて描かれており、信号SS5およびSS2は依然として各自の最小幅以上を占めているが、各々はステージの約1/2を満たすように拡幅されている(SS5の場合、最小幅はステージの1/2を占めている)。参加者M5,M3はステージSTG上で、または合成出力信号CO内で実質的に同等のサイズである。
【0057】
図8Eに示す合成出力COまたはステージシーンビデオ信号STGでは、縮小したパノラマビデオ信号SC.Rは同様にシーンSTGに合成されているが、信号SS5およびSS2の各々は状況に応じてスケーリングまたはズームされている。サブシーン信号SS5およびSS2は依然として各自の最小幅以上を占めているが、各々はステージの異なる量を満たすように拡幅されている。この場合、サブシーン信号SS5はスケールアップまたはズームされていないが、より広い最小幅を有しており、ステージSGの2/3よりも多い領域を占めている。一方、信号SS2の最小幅はズームされて描かれており、その最小幅の約3倍を占めている。
図8Eの相対的比率および状態が起こる1つの状況は、参加者M5に対して視覚的な局所化が行われず、広く不確実な(低い信頼レベル)対象方位および広い最小幅が与えられ得る場合、およびさらに、参加者M5が長い間発言し続けて、ステージSTGのサブシーンSS5の占有率を任意に増加させる場合であり得る。同時に、参加者M2は信頼性の高い顔幅検出を有し、サブシーンSS2がスケーリングおよび/または拡幅されてその最小幅よりも大きい領域を消費することを可能にし得る。
【0058】
図9Aも、会議カメラ100ビデオ信号と、最小幅Min.nと、ステージシーンビデオ信号に合成すべき代替のサブシーンビデオ信号SSnおよび代替のパノラマビデオ信号SC.Rの抽出との概略図を示す。
図9Aの上部は、参加者M1が最新のスピーカーになっており、対応するサブシーンSS1が対応する最小幅Min.1を有している以外は、本質的に
図7Bを再現している。
図9Aに示すように、
図7Bからの全体のシーンビデオ信号SCは、対象方位(ここでは方位B1,B2およびB5)ならびに幅(ここでは幅Min.1,Min.2およびMin.5)に従ってサブサンプリングされ得る。サブシーンビデオ信号SS1,SS2およびSS5の各々は、(視覚的に、音響的に、またはセンサで求められた)各自の最小幅Min.1,Min.2およびMin.5と少なくとも同じ幅であるが、ステージSTGの幅、高さ、および/もしくは利用可能な領域または合成出力COのアスペクト比および利用可能な領域に対してより広くなってもよいし、またはより広くスケーリングされてもよい。このキャプチャ内の縮小したパノラマシーンSC.Rは全体のシーンSCの上下および側部がクロップされたバージョンであり、この場合、約7.5:1のアスペクト比で、最も関連している/直近のスピーカーM1,M2およびM5のみをスパンするようにクロップされる。
図9Aおよび
図9Bの例では、4つの異なるビデオ信号源SS1,SS2,SS5およびSC.RがステージSTGまたは合成出力COに合成されるように利用可能である。
【0059】
図9Bは本質的に
図9Aの下部を再現しており、ステージシーンビデオ信号に合成すべきサブシーンビデオ信号およびパノラマビデオ信号の概略図を示す。
図9Cから
図9Eは、可能な3つの合成出力またはステージシーンビデオ信号を示す。
【0060】
図9Cに示す合成出力COまたはステージシーンビデオ信号STGでは、縮小したパノラマビデオ信号SC.RがステージSTGの上部をほぼ完全に横切って合成されており、この場合はステージ領域の1/4未満を占めている。サブシーンSS5はここでも、少なくともその最小領域を占めるように合成されており、全体的にスケーリングされていないが、ステージ幅の約1/3を満たすように拡幅されている。サブシーンSS2およびSS1も、少なくともそれらのより小さい最小領域を占めるように合成されており、全体的にスケーリングされておらず、さらに、各々がステージ幅の約1/3を満たすように拡幅されている。この合成出力COでは、3つのサブシーンにほぼ同じ面積が与えられているが、参加者はカメラ100からの自身の距離に対応する異なる見掛けのサイズである。合成されたまたは移行した2つのサブシーンの左右のまたは時計回りの順序は、室内の参加者またはカメラ100からの対象方位の(かつ、縮小したパノラマビューSC.Rに現われているような)順序と同じままである。さらに、本明細書に記載の移行のいずれかが、サブシーンビデオ信号SS1,SS2,SS5をステージビデオ信号STGに合成する際に用いられ得る。特に、移行は、縮小したパノラマビューSC.Rと同じ左右の順序でまたは当該順序から近づくスライド式移行としてより快適である(たとえば、M1およびM2が既にステージ上にある場合は、M5がステージの右からスライドインして、M1およびM5が既にステージ上にある場合は、M2がそれらの間で上または下からスライドインして、M2およびM5が既にステージ上にある場合は、M1がステージの左からスライドインして、パノラマビューSC.RのM1,M2,M5の順序を保存すべきである)。
【0061】
図9Dに示す合成出力COまたはステージシーンビデオ信号STGでは、縮小したパノラマビデオ信号SC.Rは同様にシーンSTGに合成されているが、信号SS1,SS2およびSS5の各々は、参加者M1,M2,M5がステージSTGのより大きい領域を占めるように比例してスケーリングまたはズームされている。各信号SS1,SS2,SS5の最小幅もズームされて描かれており、信号SS1,SS2,SS5は依然として各自のズームされた最小幅以上を占めているが、サブシーンSS5はステージ上でそのズームされた最小幅よりも若干大きい領域を満たすように拡幅されており、SS5はステージの幅の60パーセントを占めており、SS2は15パーセントを占めているに過ぎず、SS3が残りの25パーセントを占めている。参加者M1,M2,M5はステージSTG上で、または合成出力信号CO内で実質的に同等の高さまたは顔サイズであるが、参加者M2およびサブシーンSS2は頭部および/または体幅よりも少し大きい領域のみを示すように実質的にクロップされてもよい。
【0062】
図9Eに示す合成出力COまたはステージシーンビデオ信号STGでは、縮小したパノラマビデオ信号SC.Rは同様にシーンSTGに合成されているが、信号SS1,SS2,SS5の各々は状況に応じてスケーリングまたはズームされている。サブシーン信号SS1,SS2,SS5は依然として各自の最小幅以上を占めているが、各々はステージの異なる量を満たすように拡幅されている。この場合、サブシーン信号SS1,SS2,SS5のいずれもスケールアップまたはズームされていないが、直近のまたは最も関連しているスピーカーM1を有するサブシーンSS1はステージSGの1/2よりも大きい領域を占めている。一方、サブシーンSS2およびSS5の各々はステージSTGのより小さいまたは減少した占有率を占めているが、サブシーンSS5が最小幅を有しているため、ステージSTGの占有率のさらなる減少はサブシーンSS2またはSS1から取られる。
図9Eの相対的比率および状態が起こる1つの状況は、参加者M1に対して視覚的な局所化が行われ得るが、参加者M1が長時間発言し続けて、ステージSTGのサブシーンSS1の占有率を他の2つのサブシーンに対して任意に増加させる場合であり得る。
【0063】
図9Fに描かれているパノラマシーンSCまたは縮小したパノラマシーンSC.Rでは、会議カメラ1000はテーブルCTの中央ではなく、代わりに(たとえば
図7Aの右側に破線位置によって示すように)テーブルCTの一端側に置かれており、フラットパネルFPは遠隔会議参加者を示している。この場合、会議テーブルCTはやはり大きく歪んだ「W」形状で現れる。
図9Fの上部に示すように、会議カメラ100またはパノラマシーンSCのインデックス方向もしくは起点ORが、高アスペクト比パノラマシーンSCの限界が会議テーブルCTを「割る」ように向けられている場合、テーブルCTの周りの人物の位置を参照することは非常に困難である。しかし、会議カメラ100またはパノラマシーンのインデックス方向もしくは起点ORが、テーブルCTが連続的であるようにおよび/または全員が片側を向いて位置決めされるように配列される場合は、シーンはより自然になる。本実施形態によると、プロセッサ6は画像分析を実行してパノラマ画像のインデックス位置または起点位置を変更し得る。一例では、パノラマ画像のインデックス位置または起点位置は、テーブル領域に対応する画像パッチの単一の連続的なセグメント化の面積が最大化される(たとえばテーブルが割れない)ように「回転」させられ得る。別の例では、パノラマ画像のインデックス位置または起点位置は、2つの最も近いまたは最大の顔認識が互いに最も離れている(たとえばテーブルが割れない)ように「回転」させられ得る。第3の例では、別の例では、パノラマ画像のインデックス位置または起点位置は、テーブル領域に対応する画像パッチの最低高さセグメント化がパノラマエッジに位置する(たとえば「W」形状が回転して、会議カメラ100に最も近いテーブルエッジをパノラマエッジに置く)ように「回転」させられ得る。
【0064】
図10Aは、可能な合成出力COまたはステージシーンビデオ信号STGの概略図を示しており、
図9Dの合成出力信号COまたはステージビデオ信号STGを実質的に再現しており、縮小したパノラマ信号がステージSTGの上部の1/4未満を占めるように合成されており、3つの異なるサブシーンビデオ信号がステージSTGの残りの異なる量を占めるように合成されている。
図10Bは、可能な合成出力またはステージシーンビデオ信号の代替概略図を示しており、互いに隣接した3つの異なるサブシーンビデオ信号が、ステージSTGまたは合成出力信号COの異なる量を占めるように合成されている。
【0065】
図11Aおよび
図11Bは、ビデオ会議ソフトウェアが合成出力またはステージシーンビデオ信号を表示し得る2つの代替方法の概略図を示す。
図11Aおよび
図11Bでは、合成出力信号COは添付の音声(現在のスピーカーの声を強調するように任意に混合および/またはビーム形成される)とともに単一カメラ信号として(たとえばUSBポートを介して)受信され、単一カメラ信号としてビデオ会議アプリケーションに統合されている。
図11Aに示すように、各々の単一カメラ信号には別個のウインドウが与えられており、合成出力信号COなどの選択信号またはアクティブ信号または前景信号がサムネイルとして再現される。対照的に、
図11Bに示す例では、選択された単一カメラ信号には実用的な限り最大の面積がディスプレイ上に与えられており、合成出力信号COなどの選択信号またはアクティブ信号または前景信号が網掛けしたサムネイルまたはグレー表示したサムネイルとして提示される。
【0066】
サブシーン識別および合成
図12に示すように、ステップS10において、新たなサブシーンSS1,SS2…SSnが、たとえばパノラマビデオ信号SC内で認識されると、シーンに応じて生成されて追跡され得る。その後、ステップS30において、サブシーンSS1,SS2…SSnは、本明細書に記載の対象方位、条件、および認識に従って合成され得る。合成出力またはステージシーンSTG,COが次にステップ50において出力され得る。
【0067】
図13に示す付加的な詳細において、かつ
図3Aから
図7B(
図3Aおよび
図7Bを含む)に示すように、ステップS12において、デバイス100は、1つ以上の少なくとも部分的にパノラマのカメラ2または2a…2nから少なくとも90度の画角の広角(たとえば90〜360度の角度)シーンSCをキャプチャする。
【0068】
追跡およびサブシーン識別のためのその後の処理は、ネイティブの、歪みのない、もしくはスティッチングされていないシーンSCに対して実行されてもよいし、またはロールされていない、歪み補正された、もしくはスティッチングされたシーンSCに対して実行されてもよい。
【0069】
ステップS14において、新たな対象方位B1,B2…Bnが、ビーム形成、認識、識別、ベクトル化、またはホーミング技術の1つ以上を用いて広角ビューSCから得られる。
【0070】
ステップS16において、1つ以上の新たな方位が、当初の角度範囲(たとえば0〜5度)から、典型的な人間の頭部、および/または典型的な人間の肩、または他のデフォルト幅(たとえば画素もしくは角度範囲で測定される)をスパンするのに十分な角度範囲まで拡幅される。分析の順序は逆であってもよいことに留意すべきであり、たとえば、まず顔を検出してから当該顔への方位を求めてもよい。拡幅は1つ、2つ、またはそれ以上のステップで行なわれてもよく、本明細書に記載の2つのステップは例に過ぎない。また、「拡幅」は漸進的な拡幅処理を必要とせず、たとえば、「拡幅」は検出、認識、閾値、または値に基づいて角度範囲を直接設定することを意味し得る。サブシーンの角度範囲を設定するのに異なる方法が用いられてもよい。2つ以上の顔が互いに近接しているなどのいくつかの場合、「拡幅」は、正確な対象方位B1に1つの顔しかなくても、これらの顔のすべてを含むように選択され得る。
【0071】
ステップS16において、(かつ
図5Aおよび
図5Bに示すように)、肩幅サブシーンSS1,SS2…SSnが、瞳孔間距離または他の顔、頭部、胴体もしくは他の可視的な特徴(特徴、クラス、色、セグメント、パッチ、テクスチャ、訓練された分類子、または他の特徴)から取られた測定に従ってステップS18のように設定または調整され得、シーンSCから得られ得る。サブシーンSS1,SS2…SSnの幅は、肩幅に従って(代わりに顔幅FWに従って)、または代わりに、音声マイクアレイ4の角度分解能に関連する予め定められた幅として設定され得る。
【0072】
代わりに、ステップS16において、各々のまたはすべての対象方位についてのサブシーン幅に対する上限および/または下限が、たとえば、それぞれピーク、平均、または代表的な肩幅SWおよび顔幅FWとして、ステップS18において設定または調整され得る。FWおよびSWの表記は本明細書において、「顔幅」FWまたは「肩幅」SW(すなわち、サブシーンとして角度的にキャプチャすべき顔もしくは肩のスパン)、および顔幅FWまたは肩幅SWを表わす結果的な顔幅または肩幅サブシーンSS(すなわち、ワイドシーンSCから識別され、得られ、調整され、選択されたまたはキャプチャされた画素のブロックもしくは対応する幅のサブシーン)として交換可能に用いられることに留意すべきである。
【0073】
ステップS16において、またはステップS16〜S18において代わりにもしくは加えて、少なくとも20度の画角(たとえばFW1および/またはSW1)の第1の個別のサブシーンが、第1の対象方位B1,B2…Bnにおいて広角シーンSCから得られる。少なくとも20度の画角(たとえばFW1および/またはSW1)設定の代わりにまたは当該設定に加えて、第1の個別のサブシーンFW1および/またはSW1は、(たとえばM1に特有であるかM1,M2…Mnを表わす)瞳孔間距離の少なくとも2倍から12倍をスパンする画角として、または、代わりに、もしくはさらに、(たとえばM1に特有であるかM1,M2…Mnを表わす)瞳孔間距離と(たとえばM1に特有であるかM1,M2…Mnを表わす)肩幅との間の幅をキャプチャするようにスケーリングされた画角として、広角シーンSCから得られ得る。より広
い肩幅SWnのサブシーンキャプチャは、より狭い顔幅FWnを後の参照用に記録し得る。
【0074】
第2の対象方位B1,B2…Bnが利用可能である場合、ステップS16において、またはステップS16〜S18において代わりにもしくは加えて、第2の個別のサブシーン(たとえばFW2および/またはSS2)が、たとえばB2である第2の対象方位において広角ビューSCから同様に得られる。逐次の対象方位B3…Bnが利用可能である場合、逐次の個別のサブシーン(たとえばFW3…nおよび/またはSS3…n)が、逐次の対象方位B3…Bnにおいて広角ビューSCから同様に得られる。
【0075】
第1および第2の対象方位B1,B2(およびその後の対象方位B3…Bn)は、異なるカメラ画像のスティッチングによって得られるか、単一パノラマカメラから得られるかにかかわらず、同一のデバイス100から得られるので、第1の対象方位に対して実質的に共通の角度起点を有し得る。任意に、異なる角度起点からの1つ以上の追加の対象方位Bnが、デバイス100の別のカメラ5もしくは7から、または接続されたデバイス(たとえば、接続されたラップトップ、タブレット、もしくは
図1Aのモバイルデバイス40、または
図2Kの衛星タワー14b上の接続された衛星カメラ7)上のカメラから得られ得る。
【0076】
上述のように、幅FWまたはSWを表わす、設定された、得られた、または拡幅されたサブシーンSSは、たとえば、(i)他のサブシーンと同等のもしくは一致するサイズであるように、(ii)任意に上述の幅の下限未満でないまたは上限を超えない、出力画像もしくはストリーム信号のアスペクト比に対して均一に分割されるか分割可能である(たとえば2個、3個もしくは4個のセグメントに分割される)ように、(iii)近くの対象方位において他のサブシーンとのオーバーラップを回避するように、および/または(iv)他のサブシーンと輝度、コントラスト、もしくは他のビデオ特性が一致するように、ステップS18において調整され得る。
【0077】
ステップS20(
図16〜
図18からモード1、2、もしくは3のステップを合理的で動作可能な組合せで含み得る)において、識別された対象方位B1,B2…BnならびにサブシーンFW1,FW2…FWnおよび/またはSS1,SS2…SSnに関するデータおよび/またはメタデータが追跡目的で記録され得る。たとえば、起点ORからの相対的位置(たとえばセンサもしくは計算によって求められる)、幅、高さ、および/または上述のいずれかの調整されたパラメータが記録され得る。
【0078】
代わりに、ステップS20において、サブシーンと関連付けられた特性データ、予測データまたは追跡データが記録され、たとえば、ステップS20においてサブシーン、方位、または他の特徴追跡データベースに追加され得る。たとえば、サブシーンFW1,FW2…FWnおよび/またはSS1,SS2…SSnは、画像またはビデオシーンSC内に識別された、瞬間的な画像、画像ブロック、またはビデオブロックであり得る。ビデオの場合、ビデオの圧縮/解凍アプローチに応じて、予測データがシーンまたはサブシーンと関連付けられ得、サブシーンと関連付けられたデータまたはメタデータとして記録され得るが、追跡する追加の新たなサブシーンの一部である傾向がある。
【0079】
追跡データまたは他の対象データの記録に続いて、処理はメインルーチンに戻る。
状況ごとのサブシーンの合成
図12のステップS30において、プロセッサ6は状況ごとに(たとえば、ステップS20において追跡データとしてまたはシーンデータとして記録されたデータ、フラッグ、指標、設定、または他のアクションパラメータごとに)サブシーンSSnを合成し得、すなわち、異なる幅FW1,FW2…FWnおよび/またはSW1,SW2…SWnに対応する第1の、任意に第2の、および任意にその後の個別のサブシーンSSnを、合成シーンまたは単一カメラ画像またはビデオ信号STGまたはCOに組合わせる。本明細書において、単一カメラ画像またはビデオ信号STG,COは、単一のUSB(または他の周辺バスもしくはネットワーク)カメラに対応するUSB(または他の周辺バスもしくはネットワーク)周辺画像またはビデオ信号またはストリームを表わす単一のビデオフレームまたは単一の合成ビデオフレームを指し得る。
【0080】
ステップS32において、デバイス100、その回路、および/またはその実行可能コードは、合成されて組合わされた画像またはビデオストリームSTGまたはCOとして配列すべき関連しているサブシーンSSnを識別し得る。「関連している」とは、ステップS14における識別ならびに/またはステップS20における更新および追跡に関して述べた基準に従って判断され得る。たとえば、1つの関連しているサブシーンは直近のスピーカーのサブシーンであり、第2の関連しているサブシーンは2番目に直近のスピーカーのサブシーンであり得る。これら2人の直近のスピーカーは、3番目のスピーカーが発言することによってさらに関連するようになるまで、最も関連し続け得る。本明細書中の実施形態は、合成シーン内のサブシーン内に3人のスピーカーを収容し、その各々が等しい幅のセグメント、または自身の頭部および/もしくは肩を保持するのに十分広いセグメントを有している。しかし、2人のスピーカーまたは4人のスピーカーまたはそれ以上のスピーカーも、合成されたスクリーン幅のそれぞれより広いまたは狭い占有率で容易に収容され得る。
【0081】
高さおよび幅のみにおいて顔をカプセル化するサブシーンSSnを選択することによって、最大で8人のスピーカーが合理的に収容され得(たとえば合成シーンの上段に4人、下段に4人)、4人から8人のスピーカーの配列が、適切なスクリーンおよび/またはウインドウ(ウインドウに対応するサブシーン)のバッファリングおよび合成(たとえば、サブシーンを、オーバーラップしている1デックのカードとして、またはより関連しているスピーカーが大きく手前にあり、あまり関連していないスピーカーが小さく奥にあるビューの短縮されたリングとして提示する)によって収容され得る。
図6Aおよび
図6Bを参照して、(たとえば
図6Aに描かれているように第2のカメラ7によって撮像された場合に)表示すべき最も関連しているシーンはWBであるとシステムが判断した場合はいつでも、シーンSSnはホワイトボードコンテンツWBをさらに含み得る。ホワイトボードまたはホワイトボードシーンWBは目立って提示され、シーンの大半または大部分を占め得るのに対して、スピーカーM1,M2…MnまたはSPKRはホワイトボードWBコンテンツとともにピクチャーインピクチャーで任意に提示され得る。
【0082】
ステップS34において、関連しているサブシーンセットSS1,SS2…SSnが以前に関連していたサブシーンSSnと比較される。ステップS34およびS32は逆の順序で実行されてもよい。この比較によって、以前に関連していたサブシーンSSnが利用可能であるか、ステージSTGもしくはCO上に残り続けるべきであるか、ステージSTGもしくはCOから除去されるべきであるか、より小さいもしくは大きいサイズもしくはパースペクティブに再構成されるべきであるか、またはそうでなければ以前に合成されたシーンもしくはステージSTGもしくはCOから変更される必要があるかが判断される。新たなサブシーンSSnを表示すべきである場合、シーン変更の候補サブシーンSSnが多すぎる場合がある。たとえば、ステップS36において、シーン変更の閾値が確認され得る(このステップはステップS32およびS34の前または間に実行され得る)。たとえば、個別のサブシーンSSnの数が閾値数(たとえば3)よりも大きくなると、広角シーンSC全体または縮小したパノラマシーンSC.Rを(たとえばそのまま、またはUSB周辺装置カメラのアスペクト比内に収まるようにセグメント化してスタックして)出力することが好ましい場合がある。代わりに、複数のサブシーンSSnの合成シーンの代わりに、または合成出力COとして、単一カメラシーンを提示することが最良な場合がある。
【0083】
ステップS38において、デバイス100、その回路、および/またはその実行可能コードは、サブシーンメンバーSS1,SS2…SSnと、それらが合成出力COに移行するおよび/または合成される順序とを設定し得る。言い換えれば、ステージSTGまたはCOとして出力すべきサブシーン補数SS1,SS2…SSnの候補メンバー、およびシーン変更のための任意の規則または閾値が満たされているか超えられているかが判断されると、シーンSSnの順序およびそれらが追加される、除去される、切替えられる、または再配列される移行がステップS38において決定され得る。ステップS38は、以前のステップおよびスピーカーSPKRまたはM1,M2…Mnの履歴に応じて、より重要であるかそれほど重要でないことに留意すべきである。2人または3人のスピーカーM1,M2…MnまたはSPKRが識別され、デバイス100が動作し始めるのと同時に表示されるべきである場合、ステップS38は白紙の状態で開始し、デフォルトの関連規則に従う(たとえば、スピーカーSPKRを時計回りに提示する、合成出力COにおいて3人以下のスピーカーで開始する)。同じ3人のスピーカーM1,M2…Mnが関連し続けている場合は、サブシーンメンバー、順序、および合成はステップS38において変更しなくてもよい。
【0084】
上述のように、ステップS18に関して述べた識別、およびステップS20に関して述べた予測/更新によって、ステップS32〜S40において合成出力COが変更され得る。ステップS40において、実行すべき移行および合成が決定される。
【0085】
たとえば、デバイス100は、その後の対象方位においてその後の(たとえば第3の、第4の、またはその後の)個別のサブシーンSSnを広角またはパノラマシーンSCから得ることができる。ステップS32〜S38において、その後のサブシーンSSnは、合成シーンまたは合成出力COに合成されるか組合されるように設定され得る。さらに、ステップS32〜S38において、その後のサブシーン以外の別のサブシーンSSn(たとえば、以前のまたはあまり関連していないサブシーン)が、合成シーンから(合成移行によって)除去されるように設定され得る(そして、ステップS50において単一カメラシーンとしてフォーマットされる合成シーンまたは合成出力COとして合成されて出力される)。
【0086】
追加例または代替例として、デバイス100はステップS32〜S38において、ステップS18および/またはS20を参照して述べたような追加基準(たとえば、発言の時間、発言の周波数、可聴周波数の咳/くしゃみ/戸口のベル、音の振幅、発話角度と顔認識との一致)の設定に従って、合成シーンまたは合成出力COに合成もしくは組合せるべき、または合成シーンもしくは合成出力COから除去すべきサブシーンSSnを設定し得る。ステップS32〜S38において、追加基準を満たすその後のサブシーンSSnのみが合成シーンCOに組合されるように設定され得る。ステップS40において、実行すべき移行および合成ステップが決定される。ステージシーンは次にステップS50において、単一カメラシーンとしてフォーマットされる合成出力COとして合成されて出力される。
【0087】
追加例または代替例として、デバイス100はステップS32〜S38において、ステップS18および/またはS20を参照して述べたような保持基準(たとえば、音声/発言の時間、音声/発言の周波数、最後の発言からの時間、保持用にタグ付けされている)に基づいて、サブシーンSSnを除去から保護される保護サブシーンとして設定し得る。ステップS32〜S38において、その後のサブシーン以外のサブシーンSSnを除去することは、保護サブシーンを、合成シーンから除去されるように設定しない。ステップS40において、実行すべき移行および合成が決定される。合成シーンは次にステップS50において、単一カメラシーンとしてフォーマットされる合成出力COとして合成されて出力される。
【0088】
追加例または代替例として、デバイス100はステップS32〜S38において、強調基準(たとえば、繰り返しのスピーカー、指定されたプレゼンター、直近のスピーカー、最も声の大きいスピーカー、手の中で/シーン変更において回転するオブジェクト、周波数領域内の高周波数シーンアクティビティ、挙手)に基づいて、ステップS18および/またはS20を参照して述べたようなサブシーンSSn強調動作(たとえば、スケーリング、ブリンキング、ジニー、バウンシング、カードソーティング、オーダリング、コーナリング)を設定し得る。ステップS32〜S38において、個別のサブシーンSSnの少なくとも1つが、各自のまたは対応する強調基準に基づいてサブシーン強調動作に従って強調されるように設定され得る。ステップS40において、実行すべき移行および合成が決定される。合成シーンは次にステップS50において、単一カメラシーンとしてフォーマットされる合成出力COとして合成されて出力される。
【0089】
追加例または代替例として、デバイス100はステップS32〜S38において、センサまたは検知された基準(たとえば、静か過ぎる、リモートポーク)に基づいて、ステップS18および/またはS20を参照して述べたようなサブシーン参加者通知またはリマインダ動作(たとえば、サブシーンの側にいる人物に光をブリンクさせる)を設定し得る。ステップS32〜S38において、ローカルリマインダ指標が、各自のまたは対応する検知された基準に基づいて通知またはリマインダ動作に従って起動されるように設定され得る。ステップS40において、実行すべき移行および合成が決定される。合成シーンは次にステップS50において、単一カメラシーンとしてフォーマットされる合成出力COとして合成されて出力される。
【0090】
ステップS40において、デバイス100、その回路、および/またはその実行可能コードは、合成画像のサブシーン補数を円滑に変更するための移行および合成を生成する。追跡データまたは他の対象データの合成出力COの合成に続いて、処理はメインルーチンに戻る。
【0091】
合成出力
図15のステップS52〜S56において、(任意に逆の順序で)、合成シーンSTGまたはCOは、単一カメラシーンとして送信または受信されるようにフォーマットされ、すなわち合成され、および/または移行はバッファ、スクリーンもしくはフレームにレンダリングもしくは合成される(この場合、「バッファ」、「スクリーン」または「フレーム」は単一カメラビュー出力に対応する)。デバイス100、その回路、および/またはその実行可能コードは、合成ウインドウまたはスクリーンマネージャを、任意にGPU加速と共に用い、サブシーンごとにオフスクリーンバッファを提供し、バッファを、周辺グラフィックスおよび移行グラフィックスとともに、単一カメラビューを表わす単一カメラ画像に合成し得、その結果を出力またはディスプレイメモリに書込む。合成ウインドウまたはサブスクリーンマネージャ回路は、ブレンディング、フェージング、スケーリング、回転、複製、曲げ、捩じれ、シャフリング、ブラーリング、もしくは他の処理をバッファリングされたウインドウに対して実行するか、またはフリップ切替、スタック切替、カバー切替、リング切替、グルーピング、タイリングといったドロップシャドウおよびアニメーションをレンダリングし得る。合成ウインドウマネージャは、合成シーンに入るサブシーンが移行効果で追加される、除去される、または切替えられるように合成され得る視覚的な移行を提供し得る。サブシーンはフェードインまたはフェードアウトし、可視的にシュリンクインまたはシュリンクアウトし、内向きにまたは外向きに滑らかに放射状に広がる。合成中または移行中のすべてのシーンはビデオシーンであり得、たとえば、各々が、パノラマシーンSCからサブサンプリングされた進行中のビデオストリームを含む。
【0092】
ステップS52において、移行または合成は(必要に応じて、繰返して、漸進的に、または連続的に)フレーム、バッファ、またはビデオメモリにレンダリングされる(なお、移行および合成は個々のフレームまたはビデオストリームに適用され得、シーンSTG,CO全体および個々の構成サブシーンSS1,SS2…SSnのビデオの多くのフレームを介して進行中のプロセスであり得る。
【0093】
ステップS54において、デバイス100、その回路、および/またはその実行可能コードは音声ストリームを選択して移行させ得る。ウインドウ、シーン、ビデオ、またはサブシーン合成マネージャと同様に、音声ストリームは、特にアレイ4を形成するビームの場合、合成中のサブシーンを強調するように強調されてもよいし、強調されなくてもよい。同様に、音声を合成ビデオシーンに同期させることが行なわれてもよい。
【0094】
ステップS56において、デバイス100、その回路、および/またはその実行可能コードは、単一カメラビデオおよび音声のシミュレーションを合成出力COとして出力する。上述のように、この出力は、たとえば2:1未満のアスペクト比および典型的に1.78:1未満のアスペクト比などの、周辺USB装置の単一の、たとえばウェブカムビューをシミュレートしているアスペクト比および画素数であり、グループテレビ会議ソフトウェアによって外部ウェブカム入力として用いられ得る。ウェブカム入力を表示ビューとしてレンダリングする場合、テレビ会議ソフトウェアは合成出力COをその他のUSBカメラとして扱い、ホストデバイス40(または
図1Bの直接接続されたデバイス100のバージョン)と対話しているすべてのクライアントが、合成出力COを、ホストデバイス(または
図1Bの直接接続されたデバイス100のバージョン)に対応するすべてのメインビューおよびサムネイルビュー内に提示する。
【0095】
サブシーン合成の例
図12〜
図16を参照して述べたように、会議カメラ100およびプロセッサ6は、単一カメラビデオ信号STG,COを(ステップS30において)合成し、(ステップS50において)出力し得る。ROM/RAM8に動作可能に接続されたプロセッサ6は、実質的に90度以上の水平画角を有するワイドカメラ2,3,5からキャプチャされた、実質的に2.4:1以上のアスペクト比を有するパノラマビデオ信号SCを(ステップS12において)記録し得る。1つの任意のバージョンでは、当該パノラマビデオ信号は実質的に8:1以上のアスペクト比を有し、実質的に360度の水平画角を有するワイドカメラからキャプチャされる。
【0096】
プロセッサ6は、(たとえばステップS14において)ワイドカメラ100から各自の対象方位B1,B2…Bnにおいて少なくとも2つのサブシーンビデオ信号SS1,SS2…SSn(たとえば
図8C〜
図8Eおよび
図9C〜
図9EではSS2およびSS5)を(たとえばステップS32〜S40において)サブサンプリングし得る。プロセッサ6は、2つ以上のサブシーンビデオ信号SS1,SS2…SSn(たとえば
図8C〜
図8Eおよび
図9C〜
図9EではSS2およびSS5)を並べて(ステップS32〜S40においてバッファ、フレーム、またはビデオメモリに)合成して、実質的に2:1以下のアスペクト比を有するステージシーンビデオ信号CO,STGを(ステップS52〜S56において)形成し得る。任意に、単一カメラビデオ信号のできる限り多くを高密度に満たす(参加者のより大きいビューに繋がる)ために、ステージシーンビデオ信号CO,STGの領域の実質的に80%以上がパノラマビデオ信号SCからサブサンプリングされ得る。USB/LANインターフェイス10に動作可能に接続されたプロセッサ6は、(ステップS52〜S56のように)単一カメラビデオ信号としてフォーマットされるステージシーンビデオ信号CO,STGを出力し得る。
【0097】
最適には、プロセッサ6は、パノラマビデオ信号SCからの(ならびに/または任意に、たとえばGPU6および/もしくはROM/RAM8において、バッファ、フレームもしくはビデオメモリからの、ならびに/またはワイドカメラ2,3,5から直接の)各自の対象方位B1,B2…Bnにおいて追加の(たとえば第3の、第4の、またはその後の)サブシーンビデオ信号SS1,SS2…SS3(たとえば
図9C〜
図9EではSS1)をサブサンプリングし得る。プロセッサは次に、ステージSTG,CO上に当初合成された2つ以上のサブシーンビデオ信号SS1,SS2…SS3(たとえば
図9C〜
図9EではSS2およびSS5)を、1つ以上の追加のサブシーンビデオ信号SS1,SS2…SSn(たとえば
図9C〜
図9EではSS1)とともに合成して、実質的に2:1以下のアスペクト比を有する、かつ複数の並んだサブシーンビデオ信号(たとえば1列に、または格子状に合成された2つ、3つ、4つまたはそれ以上のサブシーンビデオ信号SS1,SS2…SSn)を含む、ステージシーンビデオ信号STG,COを形成し得る。プロセッサ6は、1つ以上の対象方位またはサブシーンビデオ信号SS1,SS2…SSnについての1つ以上の追加基準をメモリ内に設定または記憶し得る。この場合、たとえば、追加基準(たとえば十分な品質、十分な照度など)を満たすそれらの追加のサブシーンビデオ信号SS1,SS2…SSnのみがステージシーンビデオ信号STG,COに移行し得る。
【0098】
代わりに、またはさらに、追加のサブシーンビデオ信号SS1,SS2…SSnは、ステージSTG,COに既に合成されている可能性があるサブシーンビデオ信号SS1,SS2…SSnの1つ以上を置換して、依然として実質的に2:1以下のアスペクト比を有するステージシーンビデオ信号STG,COを形成することによって、プロセッサ6によってステージシーンビデオ信号STG,COに合成され得る。合成すべき各サブシーンビデオ信号SS1,SS2…SSnには最小幅Min.1,Min.2…Min.nが割当てられ得、ステージシーンビデオ信号STG,COへの各自の移行が完了すると、各サブシーンビデオ信号SS1,SS2…SSnは実質的にその最小幅Min.1,Min.2…Min.n以上で並べて合成されてステージシーンビデオ信号STG,COを形成し得る。
【0099】
いくつかの場合、たとえばステップS16〜S18において、プロセッサ6は、移行中の各自のサブシーンビデオ信号SS1,SS2…SSnの合成幅を、合成幅が実質的にその対応する各自の最小幅Min.1,Min.2…Min.n以上になるまで、移行全体にわたって増加するように増加させ得る。代わりに、またはさらに、各サブシーンビデオ信号SS1,SS2…SSnは、実質的にその最小幅Min.1,Min.2…Min.n以上で、かつ、各SS1,SS2…SSnが、すべての合成されたサブシーンビデオ信号SS1,SS2…SSnの合計がステージシーンビデオ信号または合成出力STG,COの幅と実質的に等しい各自の幅で、プロセッサ6によって並べて合成され得る。
【0100】
代わりに、またはさらに、ステージシーンビデオ信号STG,CO内のサブシーンビデオ信号SS1,SS2…SSnの幅は、サブシーンビデオ信号SS1,SS2…SSnに対応する1つ以上の対象方位B1,B2…Bnにおいて検出された1つ以上のアクティビティ基準(たとえば、視覚動作、検知された動作、発話の音響検出など)に従って(たとえばステップS16〜S18のように)変化するようにプロセッサ6によって合成されるのに対して、ステージシーンビデオ信号または合成出力STG,COの幅は一定に保たれる。
【0101】
任意に、プロセッサ6は、1つ以上のサブシーンビデオ信号SS1,SS2…SSn(たとえば
図9C〜
図9EではSS2およびSS5)を1つ以上の追加のサブシーンビデオ信号SS1,SS2…SSn(たとえば
図9C〜
図9EではSS1)とともに合成して、1つまたは2つまたはそれ以上のサブシーンビデオ信号SS1,SS2…SSn(たとえば
図9C〜
図9EではSS2およびSS5)の幅を、1つ以上の追加されたまたはその後のサブシーンビデオ信号SS1,SS2…SSn(たとえば
図9C〜
図9EではSS1)の幅に対応する量だけ縮小することによって1つ以上の追加のサブシーンビデオ信号SS1,SS2…SSn(たとえば
図9C〜
図9EではSS1)をステージシーンビデオ信号STG,COに移行させることによって、ステージシーンビデオ信号を形成し得る。
【0102】
いくつかの場合、プロセッサ6は各サブシーンビデオ信号SS1,SS2…SSnに各自の最小幅Min.1,Min.2…Min.nを割当て得、各サブシーンビデオ信号SS1,SS2…SSnを実質的にその対応する各自の最小幅Min.1,Min.2…Min.n以上で並べて合成して、ステージシーンビデオ信号または合成出力STG,COを形成し得る。1つ以上の追加のサブシーンビデオ信号SS1,SS2…SSnとともに、2つ以上のサブシーンビデオ信号SS1,SS2…SSnの各自の最小幅Min.1,Min.2…Min.nの合計がステージシーンビデオ信号STG,COの幅を超えると、2つのサブシーンビデオ信号SS1,SS2…SSnの1つ以上が、ステージシーンビデオ信号または合成出力STG,COから除去されるようにプロセッサ6によって移行し得る。
【0103】
別の代替例では、プロセッサ9は、1つ以上のアクティビティ基準(たとえば、視覚動作、検知された動作、発話の音響検出、最後の発話からの時間など)が最も以前に満たされた各自の対象方位B1,B2…Bnに対応するように、ステージシーンビデオ信号STG,COから除去されるように移行すべき2つ以上のサブシーンビデオ信号SS1,SS2…SSnの少なくとも1つを選択し得る。
【0104】
多くの場合、
図8B〜
図8Eおよび
図9B〜
図9Eに示すように、プロセッサ6は、2つ以上のサブシーンビデオ信号SS1,SS2…SSn(たとえば
図9C〜
図9EではSS2およびSS5)ならびに1つ以上の追加のサブシーンビデオ信号SS1,SS2…SSn(たとえば
図9C〜
図9EではSS1)の各自の対象方位B1,B2…Bn間のワイドカメラ2,3,5に対する左から右への(見下ろした場合、時計回りの)順序を、2つ以上のサブシーンビデオ信号SS1,SS2…SSnが少なくとも1つのその後のサブシーンビデオ信号SS1,SS2…SSnとともに合成されてステージシーンビデオ信号または合成出力STG,COを形成する際に保存し得る。
【0105】
代わりに、またはさらに、プロセッサ6は、ワイドカメラ2,3,5に対する各自の対象方位B1,B2…Bnにおいて検出された1つ以上の選択基準(たとえば、視覚動作、検知された動作、発話の音響検出、最後の発話からの時間など)に依存して、パノラマビデオ信号SCからの各自の対象方位B1,B2…Bnを選択し得る。1つ以上の選択基準が真でなくなった後、プロセッサ6は、その対応するサブシーンビデオ信号SS1,SS2…SSnをステージシーンビデオ信号または合成出力STG,COから除去するように移行させ得る。選択基準は、各自の対象方位B1,B2…Bnにおいて満たされたアクティビティ基準の存在を含み得る。プロセッサ9は、各自の対象方位B1,B2…Bnにおいて1つ以上のアクティビティ基準が満たされてからの時間をカウントし得る。各自の対象方位B1,B2…Bnにおいて1つ以上のアクティビティ基準が満たされた後の予め定められた期間、プロセッサ6は、各自のサブシーン信号SS1,SS2…SSnをステージシーンビデオ信号STGから除去するように移行させ得る。
【0106】
図8A〜
図8C、
図9A〜
図9C、
図10A、
図1B、
図11A、
図11B、および
図22に示す縮小したパノラマビデオ信号SC.Rに関して、プロセッサ6は、パノラマビデオ信号SCから、実質的に8:1以上のアスペクト比の縮小したパノラマビデオ信号SC.Rをサブサンプリングし得る。プロセッサ6は次に、2つ以上のサブシーンビデオ信号(たとえば
図8C〜
図8Eおよび
図9C〜
図9EではSS2およびSS5)を縮小したパノラマビデオ信号SC.Rとともに合成して、複数の並んだサブシーンビデオ信号(たとえば
図8C〜
図8EではSS2およびSS5、
図9C〜
図9EではSS1,SS2およびSS5)とパノラマビデオ信号SC.Rとを含む、実質的に2:1以下のアスペクト比を有するステージシーンビデオ信号STG,COを形成し得る。
【0107】
この場合、プロセッサ6は、2つ以上のサブシーンビデオ信号(たとえば
図8C〜
図8EではSS2およびSS5、
図9C〜
図9EではSS1,SS2およびSS5)を縮小したパノラマビデオ信号SC.Rとともに合成して、複数の並んだサブシーンビデオ信号(たとえば
図8C〜
図8EではSS2およびSS5、
図9C〜
図9EではSS1,SS2およびSS5)と、複数の並んだサブシーンビデオ信号よりも高いパノラマビデオ信号SC.Rとを含む、実質的に2:1以下のアスペクト比を有するステージシーンビデオ信号を形成し得、パノラマビデオ信号は、ステージシーンビデオ信号または合成出力STGまたはCOの領域の1/5以下であり、ステージシーンビデオ信号または合成出力STGまたはCOの幅を実質的に横切って延びる。
【0108】
代替例では、
図24に示すように、プロセッサ6は、テキストドキュメントから(たとえば、テキストエディタ、ワードプロセッサ、スプレッドシート、プレゼンテーション、またはテキストをレンダリングするその他のドキュメントから)テキストビデオ信号TD1からサブサンプルをサブサンプリングし得るか、またはプロセッサ6に当該サブサンプルが提供され得る。プロセッサ6は次に、2つ以上のサブシーンビデオ信号の少なくとも1つをテキストビデオ信号TD1または同等物TD1.Rに置換することによって、テキストビデオ信号TD1またはそのレンダリングされたもしくは縮小されたバージョンTD1.Rをステージシーンビデオ信号STG,COに移行させ得る。
【0109】
任意に、プロセッサ6は、1つ以上の保持基準(たとえば、視覚動作、検知された動作、発話の音響検出、最後の発話からの時間など)に基づいて、2つのサブシーンビデオ信号の1つ以上を、移行から保護される保護サブシーンビデオ信号SS1,SS2…SSnとして設定し得る。この場合、プロセッサ6は、2つ以上のサブシーンビデオ信号SS1,SS2…SSnの少なくとも1つを置換することによって、しかし特に、保護されるサブシーン以外のサブシーンビデオ信号SS1,SS2…SSnを移行させることによって、1つ以上の追加のサブシーンビデオ信号SS1,SS2…SSnをステージシーンビデオ信号に移行させ得る。
【0110】
代わりに、プロセッサ6は、1つ以上の強調基準(たとえば、視覚動作、検知された動作、発話の音響検出、最後の発話からの時間など)に基づいてサブシーン強調動作(たとえばブリンキング、ハイライト表示、アウトライン表示、アイコンオーバーレイ等)を設定し得る。この場合、1つ以上のサブシーンビデオ信号が、サブシーン強調動作に従って、対応する強調基準に基づいて強調される。
【0111】
追加の変形では、プロセッサ6は、センサから検知された基準(たとえば、RF素子、受動型赤外線素子または距離認識素子といったセンサによって検出される音波、振動、電磁放射、熱、UV照射、無線、マイクロ波、電気特性、または深度/範囲の検出)に基づいてサブシーン参加者通知動作を設定し得る。プロセッサ6は、対応する検知された基準に基づいて、通知動作に従って1つ以上のローカルリマインダ指標を起動し得る。
【0112】
対象方位の例
たとえば、対象方位は、たとえば、発言している参加者M1,M2…Mn、たとえば、ビーム形成、局所化、または比較的な受信信号強度、または少なくとも2つのマイクを用いる比較的な飛行時間によって、マイクアレイ4によって角度認識される、ベクトル化される、または、識別される参加者M1,M2…Mnなどの、1つ以上の音声信号または検出に対応するそれらの方位であってもよい。音声信号が十分に強いまたは十分に明瞭であるか否かを決定するために閾値処理または周波数領域分析が用いられてもよく、一致しないペア、マルチパス、および/または冗長を捨てるために、少なくとも3つのマイクを用いてフィルタリングが行なわれてもよい。3つのマイクには、比較用に3ペアを形成するという利点がある。
【0113】
別の例として、代わりに、またはさらに、対象方位は、カメラ2からの画像もしくは動画ビデオもしくはRGBDをスキャン可能な特徴、画像、パターン、クラス、およびまたは動作検出回路もしくは実行可能コードによって、動作がシーン内に検出される、角度認識される、ベクトル化される、または識別されるそれらの方位であってもよい。
【0114】
別の例として、代わりに、またはさらに、対象方位は、カメラ2からの画像もしくは動画ビデオもしくはRGBD信号をスキャン可能な顔検出回路または実行可能コードによって、顔構造がシーン内に検出される、角度認識される、ベクトル化される、または識別されるそれらの方位であってもよい。骨格構造もこのように検出され得る。
【0115】
別の例として、代わりに、またはさらに、対象方位は、カメラ2からの画像もしくは動画ビデオもしくはRGBD信号をスキャン可能なエッジ検出、コーナー検出、ブロブ検出もしくはセグメント化、極値検出、および/または特徴検出回路もしくは実行可能コードによって、色、テクスチャ、および/またはパターンが実質的に連続的な構造がシーン内に検出される、角度認識される、ベクトル化される、または識別されるそれらの方位であってもよい。認識は、以前に記録した、学習した、または訓練した画像パッチ、色、テクスチャ、またはパターンを参照してもよい。
【0116】
別の例として、代わりに、またはさらに、対象方位は、カメラ2からの画像もしくは動画ビデオもしくはRGBD信号をスキャン可能な差分および/または変更検出回路もしくは実行可能コードによって、公知の環境との差分がシーン内に検出される、角度認識される、ベクトル化される、または識別されるそれらの方位であってもよい。たとえば、デバイス100は当該デバイスが配置されている空の会議室の1つ以上の視覚マップを維持し、人物などの十分に妨げとなるエンティティがマップ内の既知の特徴または領域を妨げていることを検出し得る。
【0117】
別の例として、代わりに、またはさらに、対象方位は、カメラ2からの画像もしくは動画ビデオもしくはRGBDをスキャン可能な特徴、画像、パターン、クラス、およびまたは動作検出回路もしくは実行可能コードによって、「ホワイトボード」形状、ドア形状、または椅子の背中の形状を含む矩形などの規則的形状が識別される、角度認識される、ベクトル化される、または識別されるそれらの方位であってもよい。
【0118】
別の例として、代わりに、またはさらに、対象方位は、能動型もしくは受動型音響エミッタもしくはトランスデューサ、および/または受動型もしくは能動型光学もしくは視覚基準マーカ、および/またはRFIDもしくはその他の電磁的に検出可能なものを含む、人工ランドマークとして認識可能な基準オブジェクトまたは特徴がデバイス100を用いる人物によって置かれるそれらの方位であってもよく、これらは上記の1つ以上の技術によって角度認識され、ベクトル化され、または識別される。
【0119】
当初のまたは新たな対象方位がこのように得られない(たとえばどの参加者M1,M2…Mnもまだ発言していないため)場合、合成シーンの代わりにデフォルトビューが単一カメラシーンとして出力されるように設定され得る。たとえば、1つのデフォルトビューとして、(たとえば2:1から10:1のH:V水平−垂直比率の)パノラマシーン全体がフラグメント化され、出力される単一カメラ比率に配列され得る(たとえば、一般に風景画方向では1.25:1から2.4:1もしくは2.5:1のH:Vアスペクト比または水平−垂直比率であるが、対応する「逆向きの」肖像画方向比率も可能である)。別の例として、対象方位の前のデフォルトビューが最初に得られ、出力シーン比率に対応する「ウインドウ」が、たとえばゆっくりとパンしているカメラのシミュレーションとして、たとえばシーンSC全体にわたって固定レートで追跡され得る。別の例として、デフォルトビューは各会議出席者M1,M2…Mnの「顔写真」(マージン内に5〜20%の付加的な幅を含む)で構成されてもよく、マージンは利用可能な表示領域を最適化するように調整される。
【0120】
アスペクト比の例
実施形態および発明の局面はいずれの角度範囲またはアスペクト比でも有用であり得るが、利点が任意に大きくなるのは、サブシーンが、実質的に2.4:1以上のアスペクト比(アスペクト比はフレームまたは画素寸法のいずれかを表わす)を有するパノラマビデオ信号を提供するカメラから形成され、ほとんどのラップトップまたはテレビディスプレイ(通常は1.78:1以下)において見られるように、実質的に2:1以下(たとえば16:9,16:10または4:3など)の全アスペクト比を有する複数参加者ステージビデオ信号に合成され、さらに、任意に、ステージビデオ信号サブシーンが合成された全体のフレームの80%を超える領域を満たす場合、および/またはステージビデオ信号サブシーンとパノラマビデオ信号で形成されたいずれかの付加的に合成されたサムネイルとが合成された全体のフレームの90%を超える領域を満たす場合である。このように、示される各参加者は、実用的に可能な限りほぼ最大にスクリーンを満たす。
【0121】
ビューの垂直角度と水平角度との対応する比はα=2逆正接からの比(d/2f)として求めることができ、式中dはセンサの垂直または水平寸法であり、fはレンズの実効焦点距離である。会議用の異なる広角カメラは単一レンズから90度、120度、または180度の視野を有し得るが、各カメラは、アスペクト比1.78:1の1080p画像(たとえば1920x1080画像)またはアスペクト比3.5:1、もしくは他のアスペクト比のはるかに広い画像を出力し得る。会議シーンを観察する際、120度または180度のワイドカメラと組合されたより小さいアスペクト比(たとえば2:1以下)は、所望され得るよりも多くの天井、壁、またはテーブルを示し得る。したがって、シーンまたはパノラマビデオ信号SCのアスペクト比、およびカメラ100の画角FOVは独立していてもよいが、よりワイドなカメラ100(90度以上)をより広いアスペクト比(たとえば2.4:1以上)のビデオ信号と一致させ、さらに任意に、最大ワイドカメラ(たとえば360度パノラマビュー)が最も広いアスペクト比(たとえば8:1以上)と一致していることが本実施形態に任意に有利である。
【0122】
サブシーンまたは方位の追跡の例
図12〜
図18、特に
図16〜
図18に示すような、
図1Aおよび
図1Bのデバイスによって実行されるプロセスは、ワイドビデオ信号SC内の対象方位B1,B2…BnにおいてサブシーンFW、SSを追跡することを含み得る。
図16に示すように、音響センサまたはマイクアレイ4(任意のビーム形成回路を有する)およびワイドカメラ2,3,5に動作可能に接続されたプロセッサ6は、ステップS202において、任意にまたは好ましくは実質的に90度以上である実質的に共通の角度範囲を監視する。
【0123】
プロセッサ6は、ステップS204およびステップS206においてワイドカメラ2,3,5の角度範囲内の音響認識(たとえば周波数、パターン、もしくは他の音声認識)または視覚認識(たとえば動作検出、顔検出、骨格検出、色ブロブセグメント化もしくは検出)の一方または両方の局所化(たとえば、デカルト座標もしくは極座標内の、またはある方向における位置を表わす測定など)に沿って第1の対象方位B1,B2…Bnを識別するコードを実行するか、または当該識別する回路を含むか当該回路に動作可能に接続され得る。ステップS10のように、かつステップS12およびS14のように、サブシーンビデオ信号SSが、ステップS14において識別された対象方位B1,B2…Bnに沿ってワイドカメラ2,3,5からサブサンプリングされる(たとえば、ワイドカメラ2,3,5の撮像素子から新たにサンプリングされるか、またはステップS12においてキャプチャされたパノラマシーンSCからサブサンプリングされる)。サブシーンビデオ信号SSの幅(たとえば、最小幅Min.1,Min.2…Min.n、またはサブシーン表示幅DWid.1,DWid.2…DWid.n)が、ステップS210において音響認識および視覚/視覚認識の一方または両方の信号特性に従ってプロセッサ6によって設定され得る。信号特性は、さまざまな音響認識または視覚認識の品質または信頼レベルを表わし得る。本明細書において使用する「音響認識」は、ドップラー分析といった波形の周波数分析を含む、音波または振動に基づいた任意の認識(たとえば、測定閾値を満たす、ディスクリプタと一致するなど)を含み得るのに対して、「視覚認識」は、RF素子、受動型赤外線素子または距離認識素子といったセンサによって検出される熱またはUV照射、無線またはマイクロ波、電気特性認識または深度/範囲といった、電磁放射に対応する任意の認識(たとえば、測定閾値を満たす、ディスクリプタと一致するなど)を含み得る。
【0124】
たとえば、ステップS14において識別される対象方位B1,B2…Bnは、異なる順序でそのような音響認識と視覚認識との組合せによって求めることができ、当該順序のいくつかは
図16〜
図18においてモード1,2または3(互いに合理的かつ論理的に組合され得る)として示されている。たとえば
図18のステップS220のように、1つの順序では、音響認識の方位がまず記録される(しかしこの順序は反復および/または変更され得る)。任意に、そのような方位B1,B2…Bnは、ある角度、許容差を有するある角度、または概算範囲もしくは角度範囲の方位(
図7Aの方位B5など)であり得る。
図18のステップS228〜S232に示すように、記録された音響認識方位は、十分に信頼性のある視覚認識が、記録された音響認識の閾値角度範囲内に実質的にある場合、視覚認識(たとえば顔認識)に基づいて精製され(狭められるか再評価され)得る。同じモードにおいて、またはたとえば
図17のステップS218のように別のモードと組合されて、視覚認識と関連付けられていない任意の音響認識は候補対象方位B1,B2…Bnのままであり得る。
【0125】
任意に、
図16のステップS210のように、信号特性は音響認識および視覚認識の一方または両方の信頼レベルを表わしている。「信頼レベル」は公式の確率的定義を満たす必要はないが、ある程度の信頼性(たとえば、閾値振幅を超える、信号品質、信号/雑音比もしくは同等物、または成功基準)を確立する任意の比較測定を意味し得る。代わりに、またはさらに、
図16のステップS210のように、信号特性は、音響認識(たとえば音が発生し得る角度範囲)または視覚認識(たとえば瞳孔間距離、顔幅、体幅)の一方または両方内に認識された特徴の幅を表わし得る。たとえば、信号特性は、対象方位B1,B2…Bnに沿って認識された(たとえば視覚認識によって求められた)人間の顔の概算幅に対応し得る。第1のサブシーンビデオ信号SS1,SS2…SSnの幅は視覚認識の信号特性に従って設定され得る。
【0126】
たとえば
図18のステップS228のように、いくつかの場合、幅が視覚認識の信号特性に従って設定されない(たとえば、幅規定特徴を認識できない場合に確実に設定できないなど)場合は、
図18のステップS230のように、予め定められた幅が、角度範囲内に検出された音響認識の局所化に沿って設定され得る。たとえば、
図18のステップS228およびS232のように、人間の発話を示す音響信号を有していると評価された対象方位B1,B2…Bnに沿って画像分析によって顔が認識され得ない場合、サブシーンSSを規定するための音響方位に沿って、たとえばステップS230のように、デフォルト幅(たとえばシーンSC全体の幅の1/10から1/4と同等の幅を有するサブシーン)が維持または設定され得る。たとえば、
図7Aは、出席者M5の顔が出席者M4の方向を向いており、M5が発言中である出席者およびスピーカーのシナリオを示す。この場合、会議カメラ100の音響マイクアレイ4は対象方位B5に沿ってスピーカーM5を局所化可能であり得る(ここで、対象方位B5はベクトルではなく方位範囲として描かれている)が、ワイドカメラ2,3,5ビデオ信号のパノラマシーンSCの画像分析は顔または他の視覚認識を分解不可能であり得る。そのような場合、デフォルト幅Min.5が、対象方位B5に沿ってサブシーンSS5を最初に規定する、限定する、またはレンダリングするため最小幅として設定され得る。
【0127】
別の実施形態では、対象方位B1,B2…Bnは、会議カメラ100の角度範囲内に検出された音響認識に向けて方向付けられて識別され得る。この場合、プロセッサ6は、任意に
図16のステップS209のように音響認識に近接した(たとえば、対象方位B1,B2…Bn内の、当該方位にオーバーラップしている、または当該方位の隣の、たとえば、対象方位B1,B2…Bnの円弧の5〜20度内の)視覚認識を識別し得る。この場合、第1のサブシーンビデオ信号SS1,SS2…SSnの幅は、音響認識に近接していた(もしくはしている)または他の方法で音響認識と一致していた(もしくはしている)視覚認識の信号特性に従って設定され得る。これが起こり得るのは、たとえば、対象方位B1,B2…Bnがまず音響マイクアレイ4で識別され、その後、ワイドカメラ100からのビデオ画像を用いて十分に近いまたはその他の方法で一致している顔認識で妥当性を検証されるまたは確認される場合である。
【0128】
ある変形では、
図17および
図16を参照して述べたように、会議またはワイドカメラ100を含むシステムは、潜在的な視覚認識または音響認識を用いて
図17のステップS218のように空間マップを作成し、次に
図16のステップS209のように、この空間マップに依拠して、後の、関連付けられている、一致している、近接した、または「スナップされた」認識の妥当性を同一のまたは異なるまたは他の認識アプローチによって検証し得る。たとえば、いくつかの場合、全体のパノラマシーンSCは、顔認識などのためにフレーム単位で効果的にスキャンするには大き過ぎる場合がある。この場合、人々は、特に会議のために自分の席に座った後は、カメラ100を用いる会議状況において場所を著しく移動しないため、全体のパノラマシーンSCの一部のみが、たとえばビデオフレームごとにスキャンされ得る。
【0129】
たとえば、
図17のステップS212のように、ワイドビデオ信号内の対象方位B1,B2…BnにおいてサブシーンSS1,SS2…SSnを追跡するために、プロセッサ6は、実質的に90度以上のワイドカメラ100視野に対応する動画ビデオ信号SCを通してサブサンプリングウインドウをスキャンし得る。プロセッサ6またはそれに関連付けられた回路は、たとえば
図17のステップS214のように、候補対象方位B1,B2…Bnについての好適な信号品質を規定するための閾値を実質的に満たすことによって、サブサンプリングウインドウ内の候補対象方位B1,B2…Bnを識別し得る。各対象方位B1,B2…Bnは、たとえば
図17のステップS216のように、サブサンプリングウインドウ内に検出された視覚認識の局所化に対応し得る。
図17のステップS218のように、候補方位B1,B2…Bnは空間マップ(たとえば、候補方位の位置、場所、および/もしくは方向を追跡し続けるメモリまたはデータベース構造)に記録され得る。たとえばこのようにして、その方位において音響検出がまだ起こっていなくても、顔認識または他の視覚認識(たとえば動作)が空間マップに記憶され得る。その後、ワイドカメラ100の角度範囲が、音響認識のための音響センサまたはマイクアレイ4を用いてプロセッサ6によって監視され得る(これは候補対象方位B1,B2…Bnの妥当性を検証するために用いられ得る)。
【0130】
たとえば
図7Aを参照して、会議カメラ100のプロセッサ6は、視覚認識(たとえば顔、色、動作など)のためにパノラマシーンSC全体の異なるサブサンプリングされたウインドウをスキャンし得る。照明、動作、顔の向きなどに応じて、
図7において、出席者M1…M5の顔、動作または同様の検出に対応する潜在的な対象方位が空間マップに記憶され得る。しかし、
図7Aに示すシナリオでは、出席者Map.1側の潜在的な対象方位は、発言中でない出席者に対応する場合は、音響信号によって後で妥当性を検証されない場合がある(かつ、この出席者はサブシーン内にまったくキャプチャされず、パノラマシーン内にのみキャプチャされ得る)。出席者M1…M5が発言したか発言し始めると、これらの出席者を含むまたはこれらの出席者側の潜在的な対象方位の妥当性が検証され、対象方位B1,B2…B5として記録され得る。
【0131】
任意に、
図16のステップS209のように、空間マップに記録された1つの候補方位に近接して(実質的に隣接して、隣に、または+/−5〜20度の円弧内に)音響認識が検出されると、プロセッサ6は、その1つの候補方位と実質的に対応するように対象方位B1,B2…Bnをスナップし得る。
図16のステップS209は、対象方位が相当する空間マップと一致していることを示しており、「一致」は対象方位値を関連付ける、置換するまたは変更することを含み得る。たとえば、ウインドウおよび/またはパノラマシーンSC内の顔認識または動作認識は、音響アレイまたはマイクアレイ4よりも良い解像度を有し得るが、検出の頻度または信頼度が低いため、音響認識に起因する検出された対象方位B1,B2…Bnは視覚認識に従って変更され、記録され、または他の方法で補正もしくは調整され得る。この場合、音響認識から得られた明白な対象方位B1,B2…Bnに沿ってサブシーンビデオ信号SS1,SS2…SSnをサブサンプリングする代わりに、プロセッサ6は、たとえば、以前にマッピングされた視覚認識を用いて音響対象方位B1,B2…Bnが補正された後にワイドカメラ100および/またはパノラマシーンSCから、スナップ動作に続いて対象方位B1,B2…Bnに沿ってサブシーンビデオ信号をサブサンプリングし得る。この場合、
図16のステップS210のように、サブシーンビデオ信号SSの幅は、検出された顔幅もしくは動作幅に従って、または代わりに、音響認識の信号特性(たとえば、デフォルト幅、アレイ4の解像度、信頼レベル、音響認識もしくは視覚認識の一方もしくは両方内に認識された特徴の幅、対象方位に沿って認識された人間の顔の概算幅)に従って設定され得る。
図16のステップS210または
図18のステップS230のように、サブシーンSS幅が、顔幅または動作範囲といった視覚認識の信号特性に従って設定されていない場合、予め定められた幅(たとえば
図7Aのようなデフォルト幅Min.5など)が音響認識に従って設定され得る。
【0132】
図18の例では、会議カメラ100およびプロセッサ6は、実質的に90度以上のワイドカメラ100の視野FOVに対応する動画ビデオ信号を記録することによって、対象方位B1,B2…Bnにおいてサブシーンを追跡し得る。プロセッサは、ステップS220において、音響認識のための音響センサアレイ4を用いて、ワイドカメラ100の視野FOVに対応する角度範囲を監視し得、ステップS222において音響認識の範囲が検出されると、ステップS224において、当該角度範囲内に検出された音響認識に向けて方向付けられている対象方位B1,B2…Bnを識別し得る。プロセッサ6および関連付けられた回路はステップS226において、次に(たとえば
図7Aの対象方位B5の範囲と同様の)対象方位B1,B2…Bnの対応する範囲に従って、パノラマシーンSCの動画ビデオ信号内にサブサンプリングウインドウを位置付け得る。プロセッサは次に、ステップS228のように当該範囲内に視覚認識が検出されると、サブサンプリングウインドウ内に検出された視覚認識を局所化し得る。その後、プロセッサ6は、任意に実質的に視覚認識を中心とするワイドカメラ100から(カメラ100から直接、またはパノラマシーン記録SCから)キャプチャされたサブシーンビデオ信号SSをサブサンプリングし得る。ステップS232のように、プロセッサ6は次に、視覚認識の信号特性に従ってサブシーンビデオ信号SSの幅を設定し得る。
図18のステップS228のように、視覚認識が可能でない、好適でない、検出されない、または選択されない場合、プロセッサ6は
図18のステップS230のように、音響最小幅を維持または選択し得る。
【0133】
代わりに、会議カメラ100およびプロセッサ6は、
図16〜
図18のように、たとえば
図17のステップS212のように、音響センサアレイ4と実質的に90度以上の視野を観察するワイドカメラ2,3,5とを用いてある角度範囲を監視することによって、パノラマシーンSCなどのワイドビデオ信号内の対象方位B1,B2…Bnにおいてサブシーンを追跡し得る。プロセッサ6は、各々が当該角度範囲内の(ステップS216のように音響または視覚またはセンサベースの)局所化に向けて方向付けられている複数の対象方位B1,B2…Bnを識別し得、対象方位B1,B2…Bn、対応する認識、対応する局所化、またはそれを表わすデータが
図17のステップS218のように逐次記憶されるにつれて、対象方位B1,B2…Bnに対応する記録された特性の空間マップを維持し得る。その後、たとえば
図16のステップS210のように、プロセッサ6は、少なくとも1つの対象方位B1,B2…Bnに実質的に沿って、ワイドカメラ100からサブシーンビデオ信号SS1,SS2…SSnをサブサンプリングし、少なくとも1つの対象方位B1,B2…Bnに対応する記録された特性に従ってサブシーンビデオ信号SS1,SS2…SSnの幅を設定し得る。
【0134】
予測追跡の例
新たな対象方位を識別するための構造、装置、方法および技術の上記の説明では、そのような新たな対象方位を識別するためのさまざまな検出、認識、誘発、または他の原因を説明している。以下の説明では、対象方位およびサブシーンの方位、方向、場所、ポーズ、幅、または他の特性の変更の更新、追跡、または予測について述べるが、この更新、追跡、および予測は上記の説明にも当てはまり得る。新たな対象方位を識別し、方位またはサブシーンの変更を更新または予測するための方法の説明は、対象方位またはサブシーンの再獲得が追跡または予測によって容易になるという点で関連している。本明細書に記載の方法および技術は、ステップS20,S32,S54またはS56において方位および/またはサブシーンをスキャンする、識別する、更新する、追跡する、記録する、または再獲得するために用いることができ、逆もまた同様である。
【0135】
たとえば、予測HEVC、H.264、MPEG−4、他のMPEG Iスライス、Pスライス、およびBスライス(またはフレーム、またはマクロブロック);他のフレーム内およびフレーム間、写真、マクロブロック、またはスライス;H.264または他のSIフレーム/スライス、SPフレーム/スライス(スイッチングP)、および/またはマルチフレーム動き予測;VP9またはVP10スーパーブロック、ブロック、マクロブロックまたはスーパーフレーム、フレーム内およびフレーム間予測、成分予測、動き補償、動きベクトル予測、および/またはセグメント化に従って符号化されるかこれらに関連しているデータなど、予測ビデオデータがサブシーンごとに記録され得る。
【0136】
たとえば、マイクアレイに関する音声動作から得られた動きベクトル、または直接的なもしくは画素ベースの方法(たとえばブロックマッチング、位相相関、周波数領域相関、画素再帰、オプティカルフロー)および/または間接的なもしくは特徴ベースの方法(サブシーンもしくはシーン領域上に適用されるRANSACといった統計関数を用いるコーナー検出などの特徴検出)から得られた動きベクトルなど、ビデオ標準または動き補償SPIとは独立した上述のような他の予測または追跡データが記録され得る。
【0137】
さらに、または代わりに、サブシーンごとの更新または追跡は、たとえば、振幅、発声の周波数、発声の長さ、関連の出席者M1,M2…Mn(相互のトラフィックを有する2つのサブシーン)、司会役または調整役の出席者M.Lead(定期的に短く音声を差し挟むサブシーン)、認識された信号位相(たとえば、拍手、「私にカメラを向け続けて下さい」ならびに他の表現および発話認識といった、得られた音声パラメータなどの関連の指標またはそれを表わすデータもしくは情報を記録し、識別し、またはスコア付けし得る。これらのパラメータまたは指標は、追跡ステップとは独立して、または追跡ステップ時の異なる時間に記録され得る。また、サブシーンごとの追跡は、たとえば、咳またはくしゃみを表わす音声;機械、風、または点滅を表わす定期的または周期的な動作またはビデオ;過渡的動作または過渡的であるのに十分高い周波数での動作などの、エラーまたは無関係の指標を記録し、識別し、またはスコア付けし得る。
【0138】
さらに、または代わりに、サブシーンごとの更新または追跡は、たとえば、保持基準(たとえば、音声/発言の時間、音声/発言の周波数、最後の発言からの時間、保持用にタグ付けされている)に基づいて、サブシーンを設定するおよび/またはサブシーンを除去から保護するための指標またはそれを表わすデータもしくは情報を記録し、識別し、またはスコア付けし得る。合成のためのその後の処理において、新たなまたはその後のサブシーン以外のサブシーンを除去することは、保護サブシーンを合成シーンから除去しない。言い換えれば、保護サブシーンは合成シーンから除去される優先度が低いことになる。
【0139】
さらに、または代わりに、サブシーンごとの更新または追跡は、追加基準を設定するための指標またはそれを表わすデータもしくは情報(たとえば、発言の時間、発言の周波数、可聴周波数の咳/くしゃみ/戸口のベル、音の振幅、発話角度と顔認識との一致)を記録し、識別し、またはスコア付けし得る。コンパイルのための処理では、追加基準を満たすその後のサブシーンのみが合成シーンに組合される。
【0140】
さらに、または代わりに、サブシーンごとの更新または追跡は、強調基準(たとえば、繰り返しのスピーカー、指定されたプレゼンター、直近のスピーカー、最も声の大きいスピーカー、手の中で/シーン変更において回転するオブジェクトの動作検出、周波数領域内の高周波数シーンアクティビティ、挙手の動作または骨格認識)に基づいて、たとえば、音声、CGI、画像、ビデオ、もしくは合成効果などのサブシーン強調動作を設定するための指標またはそれを表わすデータもしくは情報を記録し、識別し、またはスコア付けし得る(たとえば、1つのサブシーンをより大きくスケーリングする、1つのサブシーンの境界をブリンクさせるかパルス化する、ジニーエフェクトで新たなサブシーンを挿入する(小から大に増大させる)、バウンス効果でサブシーンを強調または挿入する、カードソーティングまたはシャッフル効果で1つ以上のサブシーンを配列すること、オーバーラップ効果でサブシーンをオーダリングする、「折り重なった」グラフィックコーナーの外見でサブシーンをコーナリングする)。コンパイル処理では、個別のサブシーンの少なくとも1つが、各自のまたは対応する強調基準に基づいてサブシーン強調動作に従って強調される。
【0141】
さらに、または代わりに、サブシーンごとの更新または追跡は、センサまたは検知された基準(たとえば、静か過ぎる、ソーシャルメディアからのリモートポーク)に基づいて、サブシーン参加者通知もしくはリマインダ動作を設定するための指標またはそれを表わすデータもしくは情報を記録し、識別し、またはスコア付けし得る(たとえば、出席者M1,M2…Mnに対してデバイス100上のライトを、任意にサブシーンと同じ側のライトをブリンクさせる)。コンパイル処理またはその他の処理において、ローカルリマインダ指標が、各自のまたは対応する検知された基準に基づいて通知またはリマインダ動作に従って起動される。
【0142】
さらに、または代わりに、サブシーンごとの更新または追跡は、たとえば、各認識または局所化の記録された特性(たとえばステップS14またはS20に関して本明細書に記載したような色ブロブ、顔、音声)の速度または方向の変更に基づいて、各自の角度セクタFW1,FW2…FWnもしくはSW1,SW2…SWnについての変更ベクトルを予測もしくは設定するための、および/または当該予測もしくは設定に基づいて各自の角度セクタFW1,FW2…FWnもしくはSW1,SW2…SWnの方向を更新するための指標またはそれを表わすデータもしくは情報を記録し、識別し、またはスコア付けし得る。
【0143】
さらに、または代わりに、サブシーンごとの更新または追跡は、たとえば、各認識または局所化の記録された特性(たとえば色ブロブ、顔、音声)の直近の位置に基づいて、失われた認識もしくは局所化の再取込もしくは再獲得のために検索領域を予測もしくは設定するための、および/または当該予測もしくは設定に基づいて各自の角度セクタの方向を更新するための指標またはそれを表わすデータもしくは情報を記録し、識別し、またはスコア付けし得る。記録された特性は、皮膚および/または衣服を表わす少なくとも1つの色ブロブ、セグメント化、またはブロブオブジェクトであり得る。
【0144】
さらに、または代わりに、サブシーンごとの更新または追跡は、記録された特性の(たとえば、シーンSC内の起点ORからの方位B1,B2…Bnまたは角度、およびシーンSC内の角度セクタFW,SWに対応するサブシーンSS1,SS2…SSnなどの角度範囲に基づく)デカルトマップまたは特にもしくは任意に極マップを維持し得、記録された特性の各々は、記録された特性の方位B1,B2…Bnを表わす少なくとも1つのパラメータを有する。
【0145】
したがって、代わりに、またはさらに、デバイス100、その回路、ならびに/またはROM/RAM8および/もしくはCPU/GPU6内に記憶されて実行される実行可能コードの実施形態は、標的角度範囲(たとえばシーンSCを形成するカメラ2n,3n,5もしくは7の水平範囲、またはこのサブセット)を、音響センサアレイ4および光センサアレイ2,3,5および/または7を用いて監視することによって、広角シーンSC内の幅FWおよび/またはSWに対応する対象サブシーンSS1,SS2…SSnを追跡し得る。デバイス100、その回路、および/またはその実行可能コードは、たとえば
図8のステップS14(新たな対象方位の識別)および/またはステップS20(方位/サブシーンのための追跡および特性情報)に関して本明細書に記載したように、認識基準(たとえば音、顔)を探して標的角度範囲SCをスキャンし得る。デバイス100、その回路、および/またはその実行可能コードは、音響センサアレイ4ならびに光センサアレイ2,3,5および/または7の少なくとも1つによって第1の認識(たとえば検出、識別、誘発、または他の原因)および局所化(たとえば角度、ベクトル、ポーズ、または場所)に基づいて第1の対象方位B1を識別し得る。デバイス100、その回路、および/またはその実行可能コードは、音響センサアレイ4ならびに光センサアレイ2,3,5および/または7の少なくとも1つによって第2の認識および局所化(ならびに任意に第3のおよびその後の認識および局所化)に基づいて第2の対象方位B2(ならびに任意に第3のおよびその後の対象方位B3…Bn)を識別し得る。
【0146】
デバイス100、その回路、および/またはその実行可能コードは、各自の対象方位B1,B2…Bnを含む角度サブシーン(たとえば当初の小さい角度範囲または顔ベースのサブシーンFW)を、少なくとも1つの認識基準(たとえば、設定または再設定された角度スパンが瞳孔間距離よりも広い、この2倍である、またはそれ以上である;設定または再設定された角度スパンが頭と壁のコントラスト、距離、エッジ、差分、または動作移行よりも広い)に基づく閾値(たとえば、
図13のステップS16〜S18を参照して述べたような幅閾値)が満たされるまで拡大、拡幅、設定または再設定することによって、各対象方位B1,B2…Bnについての各自の角度セクタ(たとえばFW,SWまたは他のもの)を設定し得る。
【0147】
デバイス100、その回路、および/またはその実行可能コードは、各認識および/もしくは局所化内のまたは各認識および/もしくは局所化を表わす記録された特性(たとえば色ブロブ、顔、音声)の方向または方位B1,B2…Bnの変化に基づいて、各自の角度セクタFW1,FW2…FWnおよび/またはSW1,SW2…SWnの方向または方位B1,B2…Bnを更新または追跡(これらの用語は本明細書中で交換可能に用いられる)し得る。任意に、本明細書に記載のように、デバイス100、その回路、および/またはその実行可能コードは、各自の角度セクタFW1,FW2…FWnおよび/またはSW1,SW2…SWnを更新または追跡して、第1の、第2の、および/または第3の、および/またはその後の対象方位B1,B2…Bnの角度変化に従い得る。
【0148】
合成出力例(ビデオ会議の場合)
図8A〜
図8D、
図10A〜
図10B、および
図19〜
図24において、「合成出力CO」、すなわち、合成されてレンダリングされた/合成されたカメラビューとしての組合されたまたは合成されたサブシーンが、リモートディスプレイRD1のメインビュー(会議室ローカルディスプレイLDから受信したシーンを表わす)、およびネットワークインターフェイス10または10aの両方への引出線とともに示されており、会議室(ローカル)ディスプレイLDのテレビ会議クライアントは、USB周辺装置100から受信したビデオ信号を単一カメラビューとして「透過的に」取扱い、合成出力COをリモートクライアントまたはリモートディスプレイRD1およびRD2に伝えることを表わしている。すべてのサムネイルビューも合成出力COを示し得ることに留意すべきである。一般に、
図19、
図20および
図22は
図3A〜
図5Bに示す出席者の配列に対応しており、さらにもう1人の出席者が
図21において
図3A〜
図5Bに示す空席に座って参加している。
【0149】
例示的な移行間で、縮小したパノラマビデオ信号SC.R(垂直スクリーンの約25%を占めている)は、(たとえば
図9A〜
図9Eに示すように)パノラマシーンビデオ信号SCの「ズームイン」した部分を示し得る。ズームレベルは、この約25%に含まれている画素の数によって決定され得る。人物/オブジェクトM1,M2…Mnが関連するようになると、対応するサブシーンSS1,SS2…SSnが(たとえばスライドするビデオパネルを合成することによって)ステージシーンSTGまたは合成出力COに移行し、参加者M1,M2…Mn間のその時計回りのまたは左から右への位置が維持される。同時に、プロセッサは、GPU6メモリまたはROM/RAM8を用いて、現在の対象方位B1,B2…Bnをスクリーンの中央に表示するために、縮小したパノラマビデオ信号SC.Rを左または右にゆっくりスクロールし得る。現在の対象方位はハイライト表示され得る。新たな関連しているサブシーンSS1,SS2…SSnが識別されると、縮小したパノラマビデオ信号SC.Rは、直近のサブシーンSS1,SS2…SSnがハイライト表示されて、縮小したパノラマビデオ信号SC.Rの中央に配置されるように、回転またはパンし得る。この構成によって、会議中、縮小したパノラマビデオ信号SC.Rが連続的に再レンダリングされて実質的にパンされて、部屋の関連部分が示される。
【0150】
図19に示すように、典型的なビデオ会議ディスプレイにおいて、各出席者のディスプレイはマスタビューおよび複数のサムネイルビューを示し、各々はウェブカメラの出力信号によって実質的に決定される。マスタビューは典型的にリモート出席者のうちの1人であり、サムネイルビューは他の出席者を表わす。ビデオ会議であるかチャットシステムであるかに応じて、マスタビューは出席者の中で活発なスピーカーを示すように選択され得るか、または、しばしばサムネイルの選択によって、いくつかの場合ではローカルシーンを含む別の出席者に切替えられ得る。いくつかのシステムでは、ローカルシーンサムネイルは、各出席者が自身をカメラに対して位置決めして有用なシーンを提示し得るように、常に全体のディスプレイ内にあり続ける(この例を
図19に示す)。
【0151】
図19に示すように、本発明に係る実施形態は、単一カメラシーンの代わりに、複数の出席者の合成されたステージビューを提供する。たとえば、
図19では、(アイコン
図M1,M2およびM3によって表わされる)出席者M1,M2およびM
3への潜在的な対象方位B1,B2およびB3を会議カメラ100が利用可能である。本明細書に記載のように、局所化されるまたはその他の方法で識別される可能な3人の出席者M1,M2,M3がおり、1人のSPKRが発言中であるため、ステージSTG(合成出力COと同等)は当初、
図19では出席者M2である活発なスピーカーSPKRのサブシーンを含む、デフォルト数(この場合は2つ)の関連したサブシーンでポピュレートされ得る。
【0152】
図19には3人の参加者のディスプレイが、すなわち、たとえば、会議カメラ100に、かつインターネットINETに接続されたパーソナルコンピュータなどのローカルディスプレイLDと、第1のリモート出席者A.hexの第1のパーソナルコンピュータ(「PC」)またはタブレットディスプレイリモートディスプレイRD1と、第2のリモート出席者A.diamondの第2のPCまたはタブレットディスプレイRD2とが示されている。ビデオ会議の文脈において予期されるように、ローカルディスプレイLDは、ローカルディスプレイPCのオペレータまたはビデオ会議ソフトウェア(
図19ではA.hex)によって選択されたリモートスピーカーを最も顕著に示すのに対して、2つのリモートディスプレイRD1,RD2は、リモートオペレータまたはソフトウェアによって選択されたビュー(たとえば、活発なスピーカーのビュー、会議カメラ100の合成ビューCO)を示す。
【0153】
マスタビューおよびサムネイルビュー内の出席者の配列は、ビデオ会議またはビデオチャットシステム内のユーザ選択およびさらには自動選択にある程度依存するが、
図19の例では、ローカルディスプレイLDは、典型的であるように、最後に選択されたリモート出席者(たとえば、リモートディスプレイRD1を有するPCまたはラップトップで作業している出席者であるA.hex)が示されているマスタビューと、本質的にすべての出席者が表わされているサムネイル列(ローカル会議カメラ100からの合成されたステージビューを含む)とを示している。リモートディスプレイRD1およびRD2の各々は、対照的に、(スピーカーSPKRが現在発言中であるため)合成されたステージビューCO、STGを含むマスタビューを示しており、サムネイル列はここでも残りの出席者のビューを含んでいる。
【0154】
図19は、出席者M3が既に発言したか、またはステージSTGのデフォルト占有者として以前に選択されており、最も関連しているサブシーンをすでに占めている(たとえば直近に関連していたサブシーンであった)と仮定している。
図19に示すように、スピーカーM2(アイコン
図M2、およびリモートディスプレイ2では口が開いているシルエットM2)に対応するサブシーンSS1が、(ブロック矢印によって表わされる)スライド移行で単一カメラビューに合成される。好ましいスライド移行はゼロまたは無視できるほどの幅で開始し、真ん中の、すなわち、対応するサブシーンSS1,SS2…SSnの対象方位B1,B2…Bnがステージ上にスライドし、次に、合成された対応するサブシーンSS1,SS2…SSnの幅を少なくとも最小幅に達するまで成長させ、ステージ全体が満たされるまで、合成された対応するサブシーンSS1,SS2…SSnの幅を成長させ続け得る。合成(中間移行)および合成シーンはカメラビューとして会議室(ローカル)ディスプレイLDのテレビ会議クライアントに提供されるので、合成および合成シーンは、ローカルクライアントディスプレイLDおよび2つのリモートクライアントディスプレイRD1,RD2のメインビューおよびサムネイルビュー内に実質的に同時に提示(すなわち現在のビューとして提示)され得る。
【0155】
図20において、
図19の後、出席者M1が直近のおよび/または最も関連しているスピーカーになる(たとえば、先の状況は、出席者M2が直近のおよび/または最も関連しているスピーカーであった
図19の状況である)。出席者M3およびM2についてのサブシーンSS3およびSS2は追跡および識別基準に従って関連し続けており、(スケーリング、またはクロッピングによって、瞳孔間距離の2〜12倍の幅限界および本明細書に記載のような他の方法によって任意に限定されて)必要に応じてより小さい幅に再構成され得る。サブシーンSS2は同様に互換性のあるサイズに合成された後、(ここでもブロック矢印によって表わされる)スライド移行でステージSTG上に構成される。
図9、
図10A〜
図10B、および
図11A〜
図11Bに関して本明細書中に述べたように、新たなスピーカーSPKRは、既に表示された出席者M2の方位の(見下ろした図において、時計回りに)右側にいる出席者M1であるため、任意にサブシーンSS1を、左右像または左から右への順序(M3,M2,M1)、この場合は右からの移行を保存するようにステージ上に移行させてもよい。
【0156】
図21において、
図20の後、部屋に到着した新たな出席者M4が直近の最も関連しているスピーカーになる。スピーカーM2およびM1についてのサブシーンSS2およびSS1は追跡および識別基準に従って関連し続けており、「3対1」の幅に合成されたままである。スピーカーM3に対応するサブシーンは「エージアウト」し、もはや直近のスピーカーほど関連していない(しかし、多くの他の優先度および関連性が本明細書に記載される)。スピーカーM4に対応するサブシーンSS4は互換性のあるサイズに合成された後、(ここでもブロック矢印によって表わされる)フリップ移行でカメラ出力に合成され、サブシーンSS3は除去としてフリップアウトされている。これは、スライド移行または代替の移行であってもよい。図示していないが、代替として、新たなスピーカーSPKRは既に表示された出席者M2およびM1の方位の(見下ろした図において、時計回りに)左側にいる出席者M4であるため、任意にサブシーンSS4を、左右像または左から右への順序(M4,M2,M1)、この場合は左からの移行を保存するようにステージ上に移行させてもよい。この場合、サブシーンSS2,SS1の各々は右に1つ場所が移行してもよく、サブシーンM3はステージの右に(スライド移行で離れるように)出てもよい。
【0157】
本明細書に記載のように、
図19〜
図21は、合成された、追跡された、および/または表示された合成シーンが受信されて単一カメラシーンとして表示される、例としてモバイルデバイス上の例示的なローカルおよびリモートビデオ会議モードを示している。これらは前の段落の文脈において参照されて記載されている。
【0158】
全体的な情報は同様であるが、
図22は、
図19の形態の変形であるビデオ会議を表示する形態を提示している。特に、
図19ではサムネイルビューはマスタビューにオーバーラップしておらず、マスタビューと一致するサムネイルビューはサムネイル列内に保持されているが、
図22の形態ではサムネイルがマスタビューにオーバーラップしており(たとえば、マスタビュー上に重畳されるように合成されており)、現在のマスタビューは(たとえば減光などによって)サムネイル列内で強調されていない。
【0159】
図23は、高解像度の、クローズアップの、または同様の別個のカメラ7に対応する第4のクライアントが自身のクライアントをネットワークインターフェイス10bを介してテレビ会議グループに接続しているのに対して、合成出力COおよびその移行がネットワークインターフェイス10aを介して会議室(ローカル)ディスプレイLDに提示される、
図19〜
図22の変形を示す。
【0160】
図24は、テキストレビューウインドウを有する、コードまたはドキュメントをレビューしているクライアントがローカル無線接続を介して会議カメラ100に接続する、
図19〜
図22の変形を示す(しかし、ある変形では、コードまたはドキュメントをレビューしているクライアントはリモートステーションからのインターネットを介して接続してもよい)。一例では、第1のデバイスまたはクライアント(PCまたはタブレット)が出席者をパノラマビューで示すビデオ会議またはチャットクライアントを実行し、第2のクライアントまたはデバイス(PCまたはタブレット)がコードまたはドキュメントレビュークライアントを実行し、それをウェブカメラと同じ形態のビデオ信号として会議カメラ100に提供する。会議カメラ100は、コードまたはドキュメントレビュークライアントのドキュメントウインドウ/ビデオ信号をフルフレームサブシーンSSnとしてステージSTGまたはCOに合成し、任意にさらに、たとえばステージSTGまたはCOよりも高い、会議出席者を含むローカルパノラマシーンを合成する。このように、個々の出席者サブシーンの代わりに、ビデオ信号内に示されるテキストをすべての出席者が利用可能であるが、出席者はやはりパノラマビューSCを参照することによって確認されてもよい。図示していないが、会議カメラ100デバイスは、代わりに、第2のビデオ会議クライアントを作成、インスタンス化、または実行してドキュメントビューをホストしてもよい。代わりに、高解像度の、クローズアップの、または単に別個のカメラ7が自身のクライアントをネットワークインターフェイス10bを介してテレビ会議グループに接続しているのに対して、合成出力COおよびその移行がネットワークインターフェイス10aを介して会議室(ローカル)ディスプレイに提示される。
【0161】
少なくとも一実施形態において、会議出席者M1,M2…Mnは、常にステージシーンビデオ信号または合成出力STG,CO内に示され得る。たとえば
図25に示すように、少なくとも顔幅検出に基づいて、プロセッサ6は顔を顔のみのサブシーンSS1,SS2…SSnとしてクロップし、それらをステージシーンビデオ信号または合成出力STG,COの上部または下部に沿って整列させ得る。この場合、リモートデバイスRD1などのデバイスを使用する参加者が、クロップされた顔のみのサブシーンSS1,SS2…SSnをクリックしてまたは(タッチスクリーンの場合は)触れてローカルディスプレイLDと通信し、その人物に集中したステージシーンビデオ信号STGを作成できることが望ましい場合がある。1つの例示的な解決では、
図1Bと同様の、インターネットINETに直接接続された構成を用いて、会議カメラ100は適切な数の仮想ビデオ会議クライアントを作成もしくはインスタンス化し、および/または各々に仮想カメラを割当て得る。
【0162】
図26は、
図1〜
図26全体にわたって用いられているいくつかの図像および記号を示す。特に、カメラレンズの中心から延びる矢印は、当該矢印がさまざまな図においてそのようにラベル付けされているか否かにかかわらず、対象方位B1,B2…Bnに対応し得る。カメラレンズから開いた「V」字状の角度に延びる破線は、当該破線がさまざまな図においてそのようにラベル付けされているか否かにかかわらず、レンズの視野に対応し得る。楕円形の頭および矩形または台形の体を有する人物の概略的な「棒線画」の描写は、この概略的な人物がさまざまな図においてそのようにラベル付けされているか否かにかかわらず、会議参加者に対応し得る。この概略的な人物の開いた口の描写は、口が開いているこの概略的な人物がさまざまな図においてそのようにラベル付けされているか否かにかかわらず、現在のスピーカーSPKRを描き得る。左から右に、右から左に、上から下に、または螺旋状に延びる太い矢印は、当該矢印がさまざまな図においてそのようにラベル付けされているか否かにかかわらず、進行中の移行または移行の合成を示し得る。
【0163】
本開示において、「広角カメラ」および「ワイドシーン」は視野および対象からの距離に依存しており、肩を並べていない異なる2人の人物を会議においてキャプチャするのに十分広い視野を有する任意のカメラを含む。
【0164】
「視野」は、垂直視野が特定されていない限り、カメラの水平視野である。本明細書において使用する「シーン」は、カメラによってキャプチャされたシーンの画像(静止画または動画)を意味する。一般に、例外を含むが、パノラマ「シーン」SCは、その信号が単一カメラによってキャプチャされるか複数のカメラからスティッチングされるかにかかわらず、システムが取扱う最大画像またはビデオストリームまたは信号の1つである。本明細書中で言及される、最もよく言及されるシーン「SC」は、魚眼レンズに結合されたカメラ、パノラマ光学部品に結合されたカメラ、または重なり合っているカメラの等角分布によってキャプチャされたパノラマシーンSCであるシーンSCを含む。パノラマ光学部品は、カメラにパノラマシーンを実質的に直接提供してもよく、魚眼レンズの場合、パノラマシーンSCは、魚眼ビューの周囲または水平バンドが分離されており、長い、高アスペクト比の矩形画像にデワープされている水平バンドであってもよく、重なり合っているカメラの場合、パノラマシーンは、個々のオーバーラップしているビューからスティッチングされてクロップされ(かつ場合によってはデワープされ)てもよい。「サブシーン」は、たとえば、連続的な、通常はシーン全体よりも小さい矩形の画素ブロックである、シーンのサブ部分を意味する。パノラマシーンは360度未満にクロップされても、その中でサブシーンが取扱われる全体のシーンSCと称され得る。
【0165】
本明細書において使用する「アスペクト比」はH:V水平:垂直比として記載され、「より大きい」アスペクト比は垂直に対して水平比率を(広く短く)増加させる。1:1よりも大きいアスペクト比(たとえば、1.1:1,2:1,10:1)は「風景画書式」と見なされ、本開示のために、1:1以下のアスペクトは「肖像画書式」(たとえば、1:1.1,1:2,1:3)と見なされる。「単一カメラ」ビデオ信号は、その各々の全体が引用により本明細書に援用されている(すなわち、同じURLにおけるhttp://www.usb.org/developers/docs/devclass_docs/USB_Video_Class_1_5.zip USB_Video_Class_1_1_090711.zip参照)、USB Implementers Forum による「USB Device Class Definition for Video Devices」1.1または1.5としても公知の、たとえばUVCといった単一カメラに対応するビデオ信号としてフォーマットされる。UVC内に記載される信号のいずれも、当該信号がUSBを介してトランスポートされるか、搬送されるか、送信されるか、トンネルされるかにかかわらず、「単一カメラビデオ信号」であり得る。
【0166】
「ディスプレイ」は、任意の直接ディスプレイスクリーンまたは投影ディスプレイを意味する。「カメラ」はデジタル撮像装置を意味し、これは、CCDもしくはCMOSカメラ、熱画像カメラ、またはRGBD深度もしくは飛行時間カメラであってもよい。当該カメラは、2つ以上のスティッチングされたカメラビューによって形成される、および/または広いアスペクト、パノラマ、広角、魚眼、もしくは反射屈折パースペクティブの仮想カメラであってもよい。
【0167】
「参加者」は、グループビデオ会議セッションに接続されてウェブカメラからのビューを表示している人物、デバイス、または場所であり、ほとんどの場合「出席者」は参加者であるだけでなく、会議カメラ100と同じ部屋にいる。「スピーカー」は、発言中であるか、または会議カメラ100もしくは関連のリモートサーバが当該スピーカーを識別するのに十分最近に発言した出席者であるが、いくつかの説明では、発言中であるか、またはビデオ会議クライアントもしくは関連のリモートサーバが当該スピーカーを識別するのに十分最近に発言した参加者であってもよい。
【0168】
「合成」は一般に、当該技術において公知であるようなデジタル合成、すなわち、複数のビデオ信号(および/または画像もしくは他のメディアオブジェクト)をデジタル的にアセンブルして最終ビデオ信号を作成することを意味し、これは、アルファ合成およびブレンディング、アンチエイリアシング、ノードベースの合成、キーフレーミング、レイヤベースの合成、ネスティング合成または複合、ディープ画像合成(機能ベースであるかサンプルベースであるかにかかわらず、色、不透明度、およびディープデータを用いる深度を用いる)といった技術を含む。合成は、各々がビデオストリームを含むサブシーンの動作および/またはアニメーションを含む進行中のプロセスであり、たとえば、全体のステージシーン内のさまざまなフレーム、ウインドウ、およびサブシーンの各々が、それらが全体のステージシーンとして移動し、移行し、ブレンドされ、または他の方法で合成されるにつれて異なる進行中のビデオストリームを表示し得る。本明細書において使用する合成は、1つ以上のウインドウのための1つ以上のオフスクリーンバッファを有する合成ウインドウマネージャ、またはスタッキングウインドウマネージャを使用してもよい。任意のオフスクリーンバッファまたはディスプレイメモリコンテンツが二重もしくは三重にバッファリングされてもよいし、またはその他の方法でバッファリングされてもよい。合成はさらに、2Dおよび3Dアニメーション効果の適用、ブレンディング、フェージング、スケーリング、ズーミング、回転、複製、曲げ、捩じれ、シャフリング、ブラーリング、ドロップシャドー、グロー、プレビュー、およびアニメーションの追加といった、バッファリングされたウインドウまたはディスプレイメモリウインドウの一方または両方に対する処理を含み得る。合成はさらに、ベクトル指向のグラフィカル要素またはピクセルもしくはボクセル指向のグラフィカル要素にこれらを適用することを含み得る。合成は、タッチ、マウスオーバー、ホバーまたはクリックするとポップアッププレビューをレンダリングすること、背景に対していくつかのウインドウを再配列してタッチ、マウスオーバー、ホバーまたはクリックによって選択を可能にすることによるウインドウ切替、およびフリップ切替、カバー切替、リング切替、露光切替などを含み得る。本明細書に記載のように、フェージング、スライディング、成長または縮小、およびこれらの組合せなどのさまざまな視覚移行が当該ステージ上で用いられ得る。本明細書において使用する「移行」は、必要な合成ステップを含む。
【0169】
本明細書に開示される実施形態に関連して記載される方法またはアルゴリズムのステップは、ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら2つの組合せにおいて直接具体化されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当該技術において公知のその他の形態の記憶媒体内に存在していてもよい。例示的な記憶媒体が、プロセッサが当該記憶媒体から情報を読出し、かつ当該記憶媒体に情報を書込むことができるように、当該プロセッサに結合されてもよい。代わりに、記憶媒体はプロセッサと一体であってもよい。プロセッサおよび記憶媒体はASIC内に存在していてもよい。ASICはユーザ端末内に存在していてもよい。代わりに、プロセッサおよび記憶媒体は個別の部品としてユーザ端末内に存在していてもよい。
【0170】
上述のプロセスのすべては、1つ以上の汎用または専用コンピュータまたはプロセッサによって実行されるソフトウェアコードモジュールにおいて具体化され、かつ当該ソフトウェアコードモジュールを介して完全に自動化されてもよい。コードモジュールは、任意の種類のコンピュータ読取可能媒体、または他のコンピュータ記憶装置もしくは記憶装置の集合上に記憶されてもよい。代わりに、当該方法の一部またはすべては、特化したコンピュータハードウェアにおいて具体化されてもよい。
【0171】
本明細書に記載の方法およびタスクのすべては、コンピュータシステムによって実行されて完全に自動化されてもよい。コンピュータシステムは、いくつかの場合、ネットワーク上で通信して相互運用して上述の機能を実行する複数の個別のコンピュータまたはコンピューティングデバイス(たとえば物理サーバ、ワークステーション、ストレージアレイ等)を含んでいてもよい。そのようなコンピューティングデバイスの各々は典型的に、プログラム命令を実行するプロセッサ(もしくは複数のプロセッサもしくは回路もしくは回路の集合、たとえばモジュール)、またはメモリもしくは他の非一時的なコンピュータ読取可能記憶媒体に記憶されたモジュールを含む。本明細書に開示されるさまざまな機能はそのようなプログラム命令において具体化されてもよいが、開示される機能の一部またはすべては代わりにコンピュータシステムの特定用途向け回路(たとえばASICまたはFPGA)において実現されてもよい。コンピュータシステムが複数のコンピューティングデバイスを含む場合、これらのデバイスは同じ場所に配置されてもよいが、そのように配置されなくてもよい。開示される方法およびタスクの結果は、ソリッドステートメモリチップおよび/または磁気ディスクといった物理的記憶装置を異なる状態に変換することによって永続的に記憶されてもよい。