(57)【要約】ビデオを複数のソースから受信し、それらのソースを合成し、次いで、合成されたビデオをソースとして仮想カメラドライバエンドポイントに再パブリッシュするためのシステムおよび方法。一実施形態では、本方法は、共有ディスプレイ上のワークサーフェス画像によって表される、複数のメディアストリームを表示するステップを含む。共有ディスプレイワークサーフェス画像は、次いで、再エンコードされ、再エンコードされた合成画像は、クライアントコンピュータに伝送され、そこで、再エンコードされた画像は、トランスコードされ、クライアントコンピュータに接続されたデバイスをシミュレートする。トランスコードされたメディアストリームは、次いで、遠隔会議システムに伝送される。
2018529251.tif 000002
【特許請求の範囲】
【請求項１】
マルチソース協働のためのシステムであって、
ビデオデバイスネットワークインターフェースを含むクライアントコンピュータであって、
ホストコンピュータによってホストされるワークサーフェス画像を表す、合成画像を受信することであって、前記ワークサーフェス画像は、ホストコンピュータと通信する少なくとも２つのクライアントコンピュータからの個別のビデオストリーミングを含む、ことと、
前記合成画像をトランスコードされたビデオストリーミングにトランスコードし、仮想デバイスネットワークインターフェースに接続されるデバイスをシミュレートすることと、
前記トランスコードされたビデオストリームをその上での表示のためにウェブ会議コンピュータに伝送することと
を行うように適合される、クライアントコンピュータ
を備える、システム。
【請求項２】
前記クライアントコンピュータは、前記ホストコンピュータと通信する前記少なくとも２つのクライアントコンピュータのうちの１つである、請求項１に記載のシステム。
【請求項３】
前記合成画像は、前記ワークサーフェス画像のシーケンスである、請求項１に記載のシステム。
【請求項４】
前記合成画像は、ウェブソースプロキシから受信される、請求項１に記載のシステム。
【請求項５】
前記合成画像は、ディスプレイホスト／クライアントプロトコルに従って、前記ウェブソースプロキシからエンコードされたビデオストリームとして受信される、請求項４に記載のシステム。
【請求項６】
前記伝送するステップは、前記トランスコードされたビデオストリームを前記シミュレートされたデバイスから前記ウェブ会議コンピュータデバイスに利用可能なものとして表示するステップを含む、請求項１に記載のシステム。
【請求項７】
前記シミュレートされたデバイスは、ビデオカメラである、請求項６に記載のシステム。
【請求項８】
前記シミュレートされたデバイスは、ディスプレイデバイスである、請求項６に記載のシステム。
【請求項９】
前記シミュレートされたデバイスは、前記ホストコンピュータと関連付けられたデバイスである、請求項６に記載のシステム。
【請求項１０】
ウェブ会議システム内におけるマルチソース協働のための方法であって、
メディアストリームを少なくとも２つのクライアントコンピュータのそれぞれから受信するステップと、
前記メディアストリームを合成ワークサーフェス画像上に表すステップと、
複数のメディアストリームを共有ディスプレイ上に共有ディスプレイワークサーフェス画像として表示するステップと、
前記共有ディスプレイワークサーフェス画像をトランスコードし、仮想デバイスネットワークインターフェースに接続されたデバイスをシミュレートするステップと、
前記トランスコードされたメディアストリームを遠隔会議システムを介してウェブ会議コンピュータに伝送するステップと、
を含む、方法
【請求項１１】
前記トランスコードするステップに先立って、前記共有ディスプレイワークサーフェス画像を再エンコードするステップをさらに含む、請求１０に記載の方法。
【請求項１２】
ウェブ会議システム内におけるマルチソース協働のための方法であって、
２つまたはそれを上回るクライアントコンピュータから受信されたビデオを組み合わせるステップと、
メディアストリームをワークサーフェス画像内に表すステップと、
共有ワークサーフェスの合成ビデオ画像をビデオソースプロキシに送信するステップと、
前記合成画像をエンコードし、前記画像を仮想デバイスネットワークインターフェースにディスプレイホスト／クライアントプロトコルを介して再伝送するステップと、
前記共有ワークサーフェス画像を接続されたディスプレイデバイス上に表示し、前記メディアストリームの協働ビューを提供するステップと、
前記ビデオソースプロキシを介して、前記エンコードされたビデオソースをクライアントコンピュータ仮想デバイスネットワークインターフェースに伝送するステップであって、
前記仮想デバイスネットワークインターフェースは、前記受信されたビデオをエミュレートされているデバイスに適切なフォーマットでエクスポーズし、
前記仮想デバイスネットワークインターフェースは、前記ビデオストリームをホストコンピュータ上の有効デバイスを表すデバイスエンコードビデオフォーマットにトランスコードし、
ウェブ会議アプリケーションが、前記仮想デバイスネットワークインターフェースをそのデバイスの共有をサポートする前記クライアントコンピュータのうちの１つのための入力ソースとして選択する、
ステップと、
前記デバイスエンコードビデオフォーマットをウェブ会議コンピュータに送信するステップと、
を含む、方法。
【請求項１３】
前記エンコードされたビデオソースは、前記ワークサーフェスビデオ画像である、請求項１２に記載の方法。
【請求項１４】
前記エンコードされたビデオソースは、前記ワークサーフェス画像のシーケンスである、請求項１２に記載の方法。
【請求項１５】
前記エミュレートされているデバイスは、ディスプレイデバイスである、請求項１２に記載の方法。
【請求項１６】
前記エミュレートされているデバイスは、ビデオカメラである、請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本願は、２０１５年７月２８日に出願された米国仮出願第６２／１９７，７６３号の優先権の利益を主張するものであり、該米国仮出願は、その全体が参照により本明細書中に援用される。
【背景技術】
【０００２】
ビデオ配信システムは、典型的には、ビデオを１つのシステムから１つまたはそれを上回る受信機エンドポイントに配信することに焦点を当てられる。例えば、従来のインターネットビデオサーバは、接続し、ビデオを自身のデバイスにストリーミングされることを要求する、クライアントのセットにビデオを配信する。代替として、サーバは、ビデオを他のサーバに再伝送し、負荷バランシングを達成する、またはネットワーク上で単一の固定されたソースから可能であろうものより短い待ち時間を伴ってビデオがクライアントに伝送されていることを確実にすることができる。
【０００３】
これらのアプローチは、ビデオの単一のソースを１人またはそれを上回る参加者に配信するときに適切であるが、多くのソースが潜在的に多くのエンドポイントに伝送されることになるとき良好に機能しない。それらはまた、典型的には、１次元ビデオストリーミングに限定され、送信者は、ビデオを１つまたはそれを上回るエンドポイントに伝送するが、エンドポイントは、同時に、ビデオを相互に共有していない。これらのシステムが対応するユースケースは、ビデオオンデマンドサーバまたはビデオ共有システムであって、１つのビデオが多くのユーザに提示される。
【０００４】
ウェブ会議ソフトウェアの場合、ユーザは、ビデオソース（すなわち、ビデオカメラまたはそのデスクトップ）を共有ビデオセッションに接続された他のユーザと共有することが可能である。これらのシステムは、共通エンドポイントを利用する。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書に開示されるのは、ビデオを複数のソースから受信し、それらのソースを合成し、次いで、合成されたビデオをソースとして仮想カメラドライバエンドポイントに再パブリッシュする、システムである。本明細書に開示される実施形態は、複数のユーザが種々のビデオソースを同一ディスプレイに共有することを可能にする、協働ビデオストリーミングシステムおよび方法を可能にする。
【０００６】
先行技術システムでは、ソースコンピュータは、ビデオおよび他のメディアを共有ディスプレイワークサーフェスに共有し、複数のソースがディスプレイを視認しているユーザに対して可視化し、かつ協働セッションにおいて生じることを可能にし得る。この特有のアプローチは、単一合成ワークサーフェス上での複数のメディアソースの協働視認にとって重要であるが、より従来的なビデオ配信システムを明白な様式でサポートすることができない。
【０００７】
例えば、３人のユーザが、メディアを共有ディスプレイにストリーミングする３つの異なるクライアントデバイスを伴うとする。それらのユーザはそれぞれ、入力メディア（ビデオ）ストリームを接続されるクライアントのそれぞれから受信する、室内ホストコントローラに接続している。これらのビデオストリームは、デコードされ、会議室内の３人のユーザに提示される、ワークサーフェス画像内に表示される。さらに２人のユーザが、従来のウェブ会議システムを使用して、ミーティングに参加していると仮定する。それらの２人のユーザは、クライアントを用いてディスプレイに接続されていないが、そのウェブ会議アプリケーションを介して、共有画面を視認することを所望する。
【０００８】
本シナリオでは、マルチソースビデオ共有システムにアタッチされるクライアントは、ネットワーク接続を経由して、メディアソースを共有ワークサーフェスにストリーミング可能である。それらの同一クライアントは、ウェブ会議アプリケーション内の会議エンドポイントとして使用されることができる。本開示の実施形態の少なくとも１つの目標は、共有ワークサーフェス画像が従来のウェブ会議システムと統合されることを可能にすることである。
【０００９】
共有ワークサーフェスは、多くのクライアントデバイスから合成される複数のビデオソースを含有し得るため、本実施形態は、ウェブ会議システムが、コンテンツの多くのソースを単一ビデオストリーム内で同時に共有することを可能にし、これは、従来のウェブ会議システムがサポートしない。このように、ウェブ会議のエンドポイントはそれぞれ、潜在的に、コンテンツの多くのソースを共有することができる。
【図面の簡単な説明】
【００１０】
【図１Ａ】図１Ａは、本システムの例示的コンポーネントを図示する、図である。
【図１Ｂ】図１Ｂは、図１Ａに示されるシステムのより詳細な図を提供する。
【図２】図２は、本システムの例示的実施形態において行われるステップの例示的セットを示す、フローチャートである。
【図３】図３は、本明細書に開示されるシステムの少なくとも１つの実施形態によって行われるステップの例示的セットを示す、フローチャートである。
【発明を実施するための形態】
【００１１】
本システムおよび方法は、複数のソースコンピュータが特定の協働セッションに接続され、ソースコンピュータのうちの少なくとも１つからの１つまたはそれを上回るメディアソースは、中央共有ディスプレイ上に表示され、また、ソースコンピュータのうちの少なくとも１つ上にも表示されている、環境において動作する。
【００１２】
本方法は、共有ワークサーフェスがウェブ会議エンドポイントに従来のカメラソースとして現れることを可能にする。
【００１３】
したがって、会議カメラを有効入力ソースとして承認する、任意のウェブ会議は、具体的アプリケーション統合を伴わずに、共有ワークサーフェスを取り込むことができる。
【００１４】
図１Ａは、ホストディスプレイシステム１０２と、インターネット等のネットワーク１３０を介してシステム１０２と通信する、１つまたはそれを上回るクライアントディスプレイデバイス１０６（＊）［「＊」記号は、恣意的デバイスを示す］とを備える、本システム１００の例示的コンポーネントを示す。図１に示されるように、例示的実施形態では、ホストコンピュータ１０２は、ホストコントローラ１０４と、関連付けられたデータ記憶装置１１０と、共有ディスプレイ１０３とを含む。ホストコントローラ１０４は、ホストソフトウェア１０５を実行し、本明細書に説明される機能性を提供する、デジタルプロセッサを含んでもよい。ホストソフトウェア１０５およびホストコントローラ１０４は、本発明の範囲から逸脱することなく、離散論理回路、または他の形態のファームウェア、ソフトウェア、もしくはハードウェアを使用して実装されてもよいことを理解されたい。ユーザは、共有視認のために、共有ワークサーフェス画像１３５をホストコンピュータ共有ディスプレイ１０３上でともに視認することができる。ワークサーフェス画像１３５は、ホストコンピュータ１０２にアクセス可能なメモリ内に記憶される。
【００１５】
各クライアントコンピュータ１０６は、デスクトップもしくはラップトップコンピュータ、タブレット、またはスマートフォン等、デジタルプロセッサ１２１と、ディスプレイ１０８とを伴う、任意のタイプのコンピュータ制御デバイスであってもよい。各ソースコンピュータ１０６内のメモリ１１１内に常駐する、クライアントソフトウェアアプリケーション１０７は、デジタルプロセッサ１２１によって実行されると、以下に詳細に説明されるような機能性およびタスクを実装する、一過性または非一過性コンピュータ可読命令として実装されてもよい。ソフトウェアアプリケーション１０７およびデジタルプロセッサ１２１は、本発明の範囲から逸脱することなく、離散論理回路、または他の形態のファームウェア、ソフトウェア、もしくはハードウェアを使用して実装されてもよいことを理解されたい。
【００１６】
図１Ａのさらなる詳細な図は、図１Ｂに示される。図１Ｂに示されるように、クライアントコンピュータ１０６（１）は、オペレーティングシステム（ＯＳ）１３３と、仮想デバイスネットワークインターフェース（ＶＤＮＩ）１１０と、ウェブ会議エンドポイントアプリケーション１３１とを含む、クライアントソフトウェア１０７を含む。
【００１７】
ウェブ会議エンドポイント１３１は、ウェブ会議サービスに接続し、種々のソースを共有することが可能なクライアントコンピュータ１０６上で起動する、ソフトウェア（または上記で議論されるような離散論理回路）である。これらは、典型的には、クライアントコンピュータ画面と、１つまたはそれを上回る接続されたカメラとを含む。ユーザは、共有するための異なるソースを選択し、かつウェブ会議システムに共有の他の特徴を動かすことによって、ウェブ会議エンドポイントを動作させる。実施例として、ユーザは、遠隔ユーザ（右上に示される）と電話を開始する、チャットウィンドウにタイプする、および接続されたウェブカメラをアクティブ化し、遠隔視認者がユーザを視認することを可能にしてもよい。本明細書に議論される実施形態は、少なくとも、クライアントコンピュータ１０６上にインストールされ、ビデオを受信し、ウェブ会議のためにウェブ会議エンドポイント１３１に有効ビデオソースとして現れる、ソフトウェアである、仮想デバイスネットワークインターフェース（ＶＤＮＩ）１１０を導入することによって、従来のウェブ会議システムを拡張させる。
【００１８】
一実施例では、ＶＤＮＩ１１０は、仮想カメラとして作用し、ビデオ（または他のタイプの）カメラデバイスをエミュレートする。ＶＤＮＩ１１０はまた、仮想ディスプレイをエミュレートしてもよい。いずれのデバイスも、ホストコンピュータ１０２にコンピュータにプラグインされている物理的デバイスとして「現れる」であろう。いったんプラグインされる（ネットワーク１３０を経由してホストディスプレイ受信機に接続される）と、デバイスは、ホストコンピュータ１０２上で起動するウェブ会議ソフトウェアのためのソースとして利用可能である。
【００１９】
ＶＤＮＩ１１０は、マルチソース共有システム１０１とウェブ会議エンドポイント、例えば、ウェブ会議アプリケーション１３１との間の便宜的抽象化層を提供する。ＶＤＮＩ１１０の役割は、メディアフレーム（画像またはビデオ）を共有ワークサーフェス１３５から受信し、そのデータをＶＤＮＩ１１０に準拠するフォーマットでビデオストリーム１４２にトランスコード（再エンコード）することである。本ビデオストリーム１４２は、ＶＤＮＩ１１０によってエミュレートされているデバイスのコンテンツソースとして作用する。例えば、ＶＤＮＩが、仮想カメラとして作用している場合、共有ワークサーフェス画像１３５は、シミュレートされたカメラデバイスによって捕捉されているライブビデオストリームとして受信およびエンコードされる。
【００２０】
ＶＤＮＩ１１０とマルチソースコンテンツ共有システム１０１との間の通信は、ネットワーク１３０を経由して生じ、ＶＤＮＩ１１０が直接共有システムのホストコンピュータ１０２と通信することを可能にする、プロトコルを実装する。これは、ホストコンピュータ１０２とＶＤＮＩ１１０との間の通信プロトコルがクライアントコンピュータ１０６（＊）上で使用されている具体的ウェブ会議エンドポイントから独立することを可能にする。
【００２１】
例えば、ビデオカメラソースをサポートする、クライアントコンピュータ上で起動する任意のウェブ会議ソフトウェアは、ユーザが、仮想カメラと相互作用し、そのビデオを有効にし、それをソースとして選択し、そのソースをウェブ会議セッション内に接続されている遠隔ユーザに伝送することを可能にする。
【００２２】
「ディスプレイホスト／クライアント」通信プロトコルは、クライアント接続を管理し、共有ディスプレイ１０３上に表示される画像フレームデータをクライアントコンピュータ１０６にトランスポートし、図１Ａにおける矢印１４１によって示される、ビデオストリームをエンコードするために使用される。クライアントＶＤＮＩ１１０は、本ビデオストリーム１４１を受信し、それを既存のビデオデバイスに準拠するフォーマットで記憶される画像のストリームを表す仮想ビデオデバイスプロトコルに変換する。例えば、ディスプレイホスト／クライアントプロトコルは、部分的フレームをネットワーク１３０を経由して通信するホスト／クライアントとして含んでもよい。これらのフレームは、バッファされ、次いで、クライアントコンピュータソフトウェア１０７に既知のデバイスドライバフォーマットに従って提示される、標準的ビデオストリーム（すなわち、Ｈ．２６４）にトランスコードされることができる。別のプロトコルが、トランスコードされたＶＤＮＩデータ（図１Ｂにおける矢印１４３によって示される）を受信し、ウェブ会議規格を使用して、それをＷＡＮ１４４を経由してウェブ会議コンピュータ１２６に送信するために採用される。周知の方法が、本システムにおいて使用される種々のプロトコル変換のために採用される。
【００２３】
図２は、本システムの例示的実施形態において行われるステップの例示的セットを示す、フローチャートである。システム動作では、１人またはそれを上回るユーザが、ホストコンピュータ１０２に接続し、メディアを共有するアプリケーションを使用してビデオコンテンツをホストコンピュータ１０２にストリーミングすることによって、協働可視化のために、メディアを共有ディスプレイシステムと共有する。第三者ウェブ会議アプリケーション１３１が、次いで、図１Ａにおけるクライアントコンピュータ、例えば、コンピュータ１０６（１）のうちの１つのために、ＶＤＮＩ１１０を入力ソースとして選択する。
【００２４】
図２に示されるように、ステップ２０５では、クライアントコンピュータ１０６は、ビデオストリームをホストコンピュータ１０２に伝送する。ステップ２１０では、クライアントコンピュータ１０６（例えば、図１Ａにおけるコンピュータ１０６（１））のうちの１つ上のＶＤＮＩプロセス１１０は、ホストソフトウェア１０５に登録し、ビデオカメラまたはディスプレイデバイス等の具体的タイプのデバイスをエミュレートする。ホストソフトウェア１０５は、新しいデバイスが現時点で接続されていることを把握し、ＶＤＮＩプロセス１１０は、ホストディスプレイ１０３に接続する。
【００２５】
ステップ２１５では、ホストコンピュータ１０２は、ビデオを２つまたはそれを上回るクライアントコンピュータ１０６から受信し、共有ワークサーフェス画像１３５内での表示のためにそれを組み合わせる。ステップ２２０では、合成ビデオ画像１４０（クライアントコンピュータからの）は、共有ワークサーフェス画像１３５を捕捉するホストコンピュータ１０２内に常駐する、ビデオソースプロキシ１０８にパスされる。
【００２６】
ステップ２２５では、典型的には、ビデオストリームである、合成された画像１３５は、ホストソフトウェア１０５によってエンコードされ、次いで、ディスプレイホスト／クライアントプロトコルを介して、登録されたクライアントコンピュータ１０６上のＶＤＮＩ１１０に再伝送される。ステップ２３０では、共有ワークサーフェス画像が、随意に、接続されたディスプレイデバイス、例えば、共有ディスプレイ１０３上に表示され、種々のクライアントソースの協働ビューを提供する。
【００２７】
ステップ２３５では、ビデオソースプロキシは、エンコードされたビデオソース（ワークサーフェスビデオ画像１３５またはワークサーフェス画像のシーケンス）１４１をクライアントコンピュータＶＤＮＩ１１０に伝送する。ステップ２４０では、ＶＤＮＩは、仮想ディスプレイまたは仮想ビデオカメラのいずれかである、それがエミュレートしているデバイスに適切なフォーマットで受信されたビデオをエクスポーズする。ＶＤＮＩ１１０は、ホストコンピュータ１０２上で有効デバイスを表すデバイスエンコードビデオフォーマット１４２にビデオストリームをトランスコードする。
【００２８】
ステップ２４５では、第三者ウェブ会議アプリケーション１３１が、ウェブ会議ソフトウェアにすでに内蔵されているインターフェース制御を使用して、次いで、ＶＤＮＩ１１０をそのデバイスの共有をサポートするクライアントコンピュータ１０６のうちの１つのための入力ソースとして選択する。最後に、ステップ２５０では、トランスコードされたＶＤＮＩデータは、ＷＡＮ１４４を経由して、ウェブ会議コンピュータ１２６に送信される。
【００２９】
一実施形態では、本方法は、図３に示される以下のステップを含む。ステップ３０５では、複数のメディアストリームが、ホストコンピュータ１０２によって受信され、ワークサーフェス画像１３５上に表され、これは、ステップ３１０において、共有ディスプレイ１０３上に表示される。共有ディスプレイワークサーフェス画像１３５は、ステップ３１５において再エンコードされ、再エンコードされた合成画像１４１は、ＶＤＮＩ１１０に伝送される。ステップ３２０では、再エンコードされた画像は、トランスコードされ、ＶＤＮＩ１１０に接続されるデバイスをシミュレートする。ステップ３２５では、トランスコードされたメディアストリームは、次いで、遠隔会議システムを介して、ウェブ会議コンピュータ１２６に伝送される。
【００３０】
本発明のある実施形態の前述の説明は、包括的である、または本発明を開示される精密な形態に限定することを意図するものではない。請求項において使用される用語は、本発明を明細書に開示される具体的実施形態に限定するものと解釈されるべきではなく、むしろ、本発明の範囲は、以下の請求項によって判定されるものとする。
【図１Ａ】
2018529251.tif 000003
【図１Ｂ】
2018529251.tif 000004
【図２】
2018529251.tif 000005
【図３】
2018529251.tif 000006
【国際調査報告】
2018529251.tif 000007