IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ライブアリーナ テクノロジーズ アクチエボラグの特許一覧

特表2024-542647ビデオストリームを生成するシステムおよび方法
<>
  • 特表-ビデオストリームを生成するシステムおよび方法 図1
  • 特表-ビデオストリームを生成するシステムおよび方法 図2
  • 特表-ビデオストリームを生成するシステムおよび方法 図3
  • 特表-ビデオストリームを生成するシステムおよび方法 図4
  • 特表-ビデオストリームを生成するシステムおよび方法 図5
  • 特表-ビデオストリームを生成するシステムおよび方法 図6a
  • 特表-ビデオストリームを生成するシステムおよび方法 図6b
  • 特表-ビデオストリームを生成するシステムおよび方法 図6c
  • 特表-ビデオストリームを生成するシステムおよび方法 図6d
  • 特表-ビデオストリームを生成するシステムおよび方法 図6e
  • 特表-ビデオストリームを生成するシステムおよび方法 図6f
  • 特表-ビデオストリームを生成するシステムおよび方法 図7
  • 特表-ビデオストリームを生成するシステムおよび方法 図8a
  • 特表-ビデオストリームを生成するシステムおよび方法 図8b
  • 特表-ビデオストリームを生成するシステムおよび方法 図8c
  • 特表-ビデオストリームを生成するシステムおよび方法 図8d
  • 特表-ビデオストリームを生成するシステムおよび方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-15
(54)【発明の名称】ビデオストリームを生成するシステムおよび方法
(51)【国際特許分類】
   H04N 7/15 20060101AFI20241108BHJP
   H04N 21/2665 20110101ALI20241108BHJP
   H04N 21/242 20110101ALI20241108BHJP
【FI】
H04N7/15 120
H04N21/2665
H04N21/242
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024532231
(86)(22)【出願日】2022-11-07
(85)【翻訳文提出日】2024-07-26
(86)【国際出願番号】 SE2022051034
(87)【国際公開番号】W WO2023101589
(87)【国際公開日】2023-06-08
(31)【優先権主張番号】2151461-7
(32)【優先日】2021-11-30
(33)【優先権主張国・地域又は機関】SE
(81)【指定国・地域】
(71)【出願人】
【識別番号】524135738
【氏名又は名称】ライブアリーナ テクノロジーズ アクチエボラグ
【氏名又は名称原語表記】LIVEARENA TECHNOLOGIES AB
(74)【代理人】
【識別番号】100109380
【弁理士】
【氏名又は名称】小西 恵
(74)【代理人】
【識別番号】100109036
【弁理士】
【氏名又は名称】永岡 重幸
(72)【発明者】
【氏名】ビョークマン,アンドレアス
(72)【発明者】
【氏名】ニルソン,アンダース
(72)【発明者】
【氏名】エルマン,ラーズ
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA10
5C164FA26
5C164MA02S
5C164SB10P
5C164SC04P
5C164VA13P
5C164VA36P
(57)【要約】
第2のデジタルビデオストリームを提供する方法は、以下のステップを含む:収集ステップにおいて、少なくとも2つの異なるデジタルビデオ情報源(121)から、第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリームを収集し;第1の生成ステップ(135')において、前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームを生成し;第2の生成ステップ(135'')において、前記第1の生成ビデオストリームに基づいて、また前記第1および第2の一次デジタルビデオストリームに基づいて、前記第2のストリームを生成し;ここで、前記第2の生成ステップ(135'')において、前記第1の生成ステップ(135')から生じる前記第1の生成ビデオストリームの待ち時間を考慮して、前記第1の生成ビデオストリームと時間同期させるように、前記第1および第2の一次デジタルビデオストリームを時間遅延させ、ここで、前記第2の生成ストリームは、前記時間遅延された第1および第2の一次デジタルビデオストリームに基づいて生成される。本発明はまたシステムおよびコンピュータソフトウエア製品に関する。
【選択図】 図8
【特許請求の範囲】
【請求項1】
第2のデジタルビデオストリームを提供する方法であって、該方法は以下のステップを含む方法:
割り当てステップにおいて、複数の参加者クライアント(121)を、そうした参加者クライアント(121)の少なくとも2つのグループ(121',121'',121''')に亘って割り当て;
収集ステップにおいて、第1の参加者クライアント(121)から第1の一次デジタルビデオストリームを収集し、第2の参加者クライアント(121)から第2の一次デジタルビデオストリームを収集し、第3の参加者クライアント(121)から第3の一次デジタルビデオストリームを収集し、第4の参加者クライアント(121)から第4の一次デジタルビデオストリームを収集し、第5の参加者クライアント(121)から第5の一次デジタルビデオストリームを収集し、ここで、前記第1および第2の一次ビデオストリームは、参加者クライアント(121)の第1の割り当てグループ(121')に割り当てられた参加者クライアント(121)から収集され、前記第4および第5の一次ビデオストリームは、参加者クライアント(121)の第3のグループ(121''')に割り当てられた参加者クライアントから収集され;
公開ステップにおいて、前記第1の参加者クライアント(121)および前記第2の参加者クライアント(121)の少なくとも1つに対して、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオ、および、前記第1および第2の一次ビデオストリームの少なくとも1つに基づいて生成された第1の生成ビデオストリームの少なくとも1つを提供し;
第2の生成ステップ(135'')において、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、前記第3の一次デジタルビデオストリームに基づいて、および前記第4および第5の一次ビデオストリームの少なくとも1つに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第2の生成ステップ(135'')は、前記第2の生成ビデオストリームが、前記公開ステップにおいて前記第1または第2の参加者クライアント(121)に提供されるいずれのビデオストリームとも時間的に非同期であるように、時間遅延を導入し;
第3の生成ステップ(135''')において、前記第4および第5の一次ビデオストリームに基づいて、第3の生成ビデオストリームを生成し、ここで、前記第3の生成ステップ(135''')は、前記第3の生成ビデオストリームが、前記第1の生成ビデオストリームに対して時間的に非同期であるように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み、
前記公開ステップはさらに、前記第2の生成ビデオストリームを、前記第1または第2の参加者クライアントではない少なくとも1つの消費者クライアント(121;150)に連続的に提供し、前記第3の生成ビデオストリームを、前記第3のグループに割り当てられた少なくとも1つの参加者クライアントに連続的に提供することを含む。
【請求項2】
第2のデジタルビデオストリームを提供する方法であって、該方法は以下のステップを含む方法:
割り当てステップにおいて、複数の参加者クライアント(121)を、そうした参加者クライアント(121)の少なくとも2つのグループ(121',121'',121''')に亘って割り当て;
収集ステップにおいて、参加者クライアント(121)の第1の割り当てグループ(121')に割り当てられた少なくとも2つの異なる参加者クライアント(121)から、第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリームを収集し、参加者クライアント(121)の第3のグループ(121''')に割り当てられた参加者クライアント(121)から、第4の一次デジタルビデオストリームおよび第5の一次デジタルビデオストリームを収集し;
第1の生成ステップ(135')において、前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成し;
第2の生成ステップ(135'')において、前記第1の生成ビデオストリームおよび前記第1および第2の一次デジタルビデオストリームに基づいて、さらに前記第4および第5の一次ビデオストリームの少なくとも1つに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し;
第3の生成ステップ(135''')において、前記第4および第5の一次ビデオストリームに基づいて、第3の生成ビデオストリームを生成し、ここで、前記第3の生成ステップ(135''')は、前記第3の生成ビデオストリームが、前記第1の生成ビデオストリームに対して時間的に非同期であるように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み;
公開ステップ(136''')において、前記第2の生成ビデオストリームを、前記第1または第2の参加者クライアントではない少なくとも1つの消費者クライアント(121;150)に連続的に提供し、前記第3の生成ビデオストリームを、前記第3のグループに割り当てられた少なくとも1つの参加者クライアントに連続的に提供し、ここで、
前記第2の生成ステップ(135'')において、前記第1の生成ステップ(135')から生じる前記第1の生成ビデオストリームの待ち時間を考慮して、前記第1の生成ビデオストリームと時間同期させるように、前記第1および第2の一次デジタルビデオストリームを時間遅延させ、ここで、前記第2の生成ビデオストリームは、前記時間遅延された第1および第2の一次デジタルビデオストリームに基づいて生成される。
【請求項3】
請求項2に記載の方法であって、該方法はさらに以下を含む:
公開ステップ(136')において、前記第1の生成ビデオストリームを、第1の参加者クライアント(121)および第2の参加者クライアント(121)の少なくとも1つに連続的に提供する。
【請求項4】
請求項3に記載の方法であって、該方法はさらに以下を含む:
前記第1の参加者クライアント(121)は、前記第1の一次デジタルビデオストリームを提供し、前記第2の参加者クライアント(121)は、前記第2の一次デジタルビデオストリームを提供する。
【請求項5】
第2のデジタルビデオストリームを提供する方法であって、該方法は以下のステップを含む方法:
割り当てステップにおいて、複数の参加者クライアント(121)を、そうした参加者クライアント(121)の少なくとも2つのグループ(121',121'',121''')に亘って割り当て;
収集ステップにおいて、第1の参加者クライアント(121)から第1の一次デジタルビデオストリームを収集し、第2の参加者クライアント(121)から第2の一次デジタルビデオストリームを収集し、第3の参加者クライアント(121)から第3の一次デジタルビデオストリームを収集し、第4の参加者クライアント(121)から第4の一次デジタルビデオストリームを収集し、第5の参加者クライアント(121)から第5の一次デジタルビデオストリームを収集し、ここで、前記第1および第2の一次ビデオストリームは、参加者クライアント(121)の第1の割り当てグループ(121')に割り当てられた参加者クライアント(121)から収集され、前記第4および第5の一次ビデオストリームは、参加者クライアント(121)の第3のグループ(121''')に割り当てられた参加者クライアントから収集され;
第1の生成ステップ(135')において、前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第1の生成デジタルビデオストリームは、第1の待ち時間で公開されるために連続的に生成され;
第2の生成ステップ(135'')において、前記第1、第2および第3の一次デジタルビデオストリームに基づいて、さらに前記第4および第5の一次ビデオストリームの少なくとも1つに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第2の生成ビデオストリームは、第2の待ち時間で公開されるために連続的に生成され、前記第2の待ち時間は、前記第1の待ち時間よりも大きく;
第3の生成ステップ(135''')において、前記第4および第5の一次ビデオストリームに基づいて、第3の生成ビデオストリームを生成し、ここで、前記第3の生成ステップ(135''')は、前記第3の生成ビデオストリームが、前記第1の生成ビデオストリームに対して時間的に非同期であるように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み;および、
公開ステップ(136')において、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および前記第1の生成ビデオストリームのうちの少なくとも1つを、前記第1の参加者クライアント(121)および前記第2の参加者クライアント(121)のうちの少なくとも1つに連続的に提供し、前記第2の生成ビデオストリームを、少なくとも1つの他の参加者クライアント(121)に連続的に提供し、および、前記第3の生成ビデオストリームを、前記第3のグループに割り当てられた少なくとも1つの他の参加者クライアント(121)に連続的に提供する。
【請求項6】
請求項3から5のいずれか1項に記載の方法であって、該方法はさらに以下を含む:
前記公開ステップ(136'')において、前記第2の生成ビデオストリームを、前記第1または第2の参加クライアントではない少なくとも1つの消費者クライアント(121;150)に連続的に提供する。
【請求項7】
請求項1、および3から6のいずれか1項に記載の方法であって、該方法はさらに以下を含む:
前記第1および第2の一次デジタルビデオストリームは、共有デジタルビデオ通信サービス(110)の一部として提供され、前記第1の参加者クライアント(121)および前記第2の参加者クライアント(121)はいずれも、前記共有デジタルビデオ通信サービス(110)にそれぞれ遠隔接続された参加者クライアントである。
【請求項8】
請求項7に記載の方法であって、
前記収集ステップ(131)は、前記共有デジタルビデオ通信サービス(110)から前記第1および/または第2の一次デジタルビデオストリームを収集することを含む。
【請求項9】
請求項7または8に記載の方法であって、
前記収集ステップ(131)は、前記共有デジタルビデオ通信サービス(110)の外部である情報源(300)から収集された外部デジタルビデオストリーム(301)として、少なくとも1つの一次デジタルビデオストリームを収集することを含み、ここで、
前記第1および/または第2の生成ビデオストリームは、前記外部デジタルビデオストリーム(301)に基づいて生成される。
【請求項10】
請求項1から9のいずれか1項に記載の方法であって、
前記第1の(135')および/または第2の(135'')生成ステップは、前記生成デジタルビデオストリームの視覚的および/または聴覚的ビデオコンテンツ配置における前記第1および/または第2の一次デジタルビデオストリームの個々のものの可視性;使用される視覚的または聴覚的効果;および/または前記生成デジタルビデオストリームの出力モード、に関する予め決定されたおよび/または動的に可変なパラメータのセットに基づいて、当該それぞれの生成ビデオストリームを生成することを含む。
【請求項11】
請求項1から10のいずれか1項に記載の方法であって、
前記第1の(135')および/または第2の(135'')生成ステップは、中央サーバ(130)によって実行され、前記第2の生成ビデオストリーム(230)を、API(137)を介してライブビデオストリームとして1つまたは複数の同時接続消費者クライアントに提供する。
【請求項12】
請求項1から11のいずれか1項に記載の方法であって、
前記第1の生成ステップ(135')は、前記第1および第2の一次ビデオストリームを互いに同期させるように時間遅延させることを含み、ここで、
前記第3の生成ステップ(135''')は、前記第4および第5の一次ビデオストリームを時間遅延させて互いに時間同期させるが、前記第1の生成ステップにおいて前記第1および第2の一次ビデオストリームを時間遅延させるために使用される最大時間遅延よりも小さい最大時間遅延を使用するように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み、その結果、前記第1の生成ビデオストリームは、前記第3の生成ビデオストリームと時間同期されない。
【請求項13】
請求項1から12のいずれか1項に記載の方法であって、
前記グループ(121',121'',121''')のそれぞれに割り当てられた参加者クライアント(121)は、第2の生成ビデオストリームが公開されるビデオ通信サービス(110)に参加することを含み、ここで、前記方法はさらに以下を含む:
前記グループ(121',121'',121''')の異なるものを、前記ビデオ通信サービス(110)における異なる参加者対話権限に関連付け;および、
前記グループ(121',121'',121''')の異なるものを、当該グループ(121',121'',121''')に割り当てられた参加者クライアント(121)に公開されるそれぞれの生成ビデオストリームを生成するために使用される異なる最大時間遅延に関連付ける。
【請求項14】
請求項13に記載の方法であって、
前記グループ(121',121'',121''')のそれぞれの前記最大時間遅延は、当該グループ(121',121'',121''')内の参加クライアント(121)に連続的に公開されるすべての一次ビデオストリームおよびあらゆる生成ビデオストリームに亘る最大の待ち時間差として決定される。
【請求項15】
第2のデジタルビデオストリームを提供するコンピュータソフトウエア製品であって、該コンピュータプログラム機能は実行される際に、以下のステップを実行するコンピュータソフトウエア製品:
割り当てステップにおいて、複数の参加者クライアント(121)を、そうした参加者クライアント(121)の少なくとも2つのグループ(121',121'',121''')に亘って割り当て;
収集ステップにおいて、第1の参加者クライアント(121)から第1の一次デジタルビデオストリームを収集し、第2の参加者クライアント(121)から第2の一次デジタルビデオストリームを収集し、第3の参加者クライアント(121)から第3の一次デジタルビデオストリームを収集し、第4の参加者クライアント(121)から第4の一次デジタルビデオストリームを収集し、第5の参加者クライアント(121)から第5の一次デジタルビデオストリームを収集し、ここで、前記第1および第2の一次ビデオストリームは、参加者クライアント(121)の第1の割り当てグループ(121')に割り当てられた参加者クライアント(121)から収集され、前記第4および第5の一次ビデオストリームは、参加者クライアント(121)の第3のグループ(121''')に割り当てられた参加者クライアントから収集され;
公開ステップにおいて、前記第1の参加者クライアント(121)および前記第2の参加者クライアント(121)の少なくとも1つに対して、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオ、および、前記第1および第2の一次ビデオストリームの少なくとも1つに基づいて生成された第1の生成ビデオストリームの少なくとも1つを提供し;
第2の生成ステップ(135'')において、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、前記第3の一次デジタルビデオストリームに基づいて、および前記第4および第5の一次ビデオストリームの少なくとも1つに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第2の生成ステップ(135'')は、前記第2の生成ビデオストリームが、前記公開ステップにおいて前記第1または第2の参加者クライアント(121)に提供されるいずれのビデオストリームとも時間的に非同期であるように、時間遅延を導入し;
第3の生成ステップ(135''')において、前記第4および第5の一次ビデオストリームに基づいて、第3の生成ビデオストリームを生成し、ここで、前記第3の生成ステップ(135''')は、前記第3の生成ビデオストリームが、前記第1の生成ビデオストリームに対して時間的に非同期であるように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み、
前記公開ステップはさらに、前記第2の生成ビデオストリームを、前記第1または第2の参加者クライアントではない少なくとも1つの消費者クライアント(121;150)に連続的に提供し、前記第3の生成ビデオストリームを、前記第3のグループに割り当てられた少なくとも1つの参加者クライアントに連続的に提供することを含む。
【請求項16】
共有デジタルビデオストリームを提供するコンピュータソフトウエア製品であって、該コンピュータプログラム機能は実行される際に、以下のステップを実行するコンピュータソフトウエア製品:
割り当てステップにおいて、複数の参加者クライアント(121)を、そうした参加者クライアント(121)の少なくとも2つのグループ(121',121'',121''')に亘って割り当て;
収集ステップにおいて、参加者クライアント(121)の第1の割り当てグループ(121')に割り当てられた少なくとも2つの異なる参加者クライアント(121)から、第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリームを収集し、参加者クライアント(121)の第3の割り当てグループ(121''')に割り当てられた参加者クライアント(121)から、第4の一次デジタルビデオストリームおよび第5の一次デジタルビデオストリームを収集し;
第1の生成ステップ(135')において、前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成し;
第2の生成ステップ(135'')において、前記第1の生成ビデオストリームおよび前記第1および第2の一次デジタルビデオストリームに基づいて、さらに前記第4および第5の一次ビデオストリームの少なくとも1つに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し;
第3の生成ステップ(135''')において、前記第4および第5の一次ビデオストリームに基づいて、第3の生成ビデオストリームを生成し、ここで、前記第3の生成ステップ(135''')は、前記第3の生成ビデオストリームが、前記第1の生成ビデオストリームに対して時間的に非同期であるように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み;
公開ステップ(136''')において、前記第2の生成ビデオストリームを、前記第1または第2の参加者クライアントではない少なくとも1つの消費者クライアント(121;150)に連続的に提供し、前記第3の生成ビデオストリームを、前記第3のグループに割り当てられた少なくとも1つの参加者クライアントに連続的に提供し、ここで、
前記第2の生成ステップ(135'')において、前記第1の生成ステップ(135')から生じる前記第1の生成ビデオストリームの待ち時間を考慮して、前記第1の生成ビデオストリームと時間同期させるように、前記第1および第2の一次デジタルビデオストリームを時間遅延させ、ここで、前記第2の生成ビデオストリームは、前記時間遅延された第1および第2の一次デジタルビデオストリームに基づいて生成される。
【請求項17】
共有デジタルビデオストリームを提供するコンピュータソフトウエア製品であって、該コンピュータプログラム機能は実行される際に、以下のステップを実行するコンピュータソフトウエア製品:
割り当てステップにおいて、複数の参加者クライアント(121)を、そうした参加者クライアント(121)の少なくとも2つのグループ(121',121'',121''')に亘って割り当て;
収集ステップにおいて、第1の参加者クライアント(121)から第1の一次デジタルビデオストリームを収集し、第2の参加者クライアント(121)から第2の一次デジタルビデオストリームを収集し、第3の参加者クライアント(121)から第3の一次デジタルビデオストリームを収集し、第4の参加者クライアント(121)から第4の一次デジタルビデオストリームを収集し、第5の参加者クライアント(121)から第5の一次デジタルビデオストリームを収集し、ここで、前記第1および第2の一次ビデオストリームは、参加者クライアント(121)の第1の割り当てグループ(121')に割り当てられた参加者クライアント(121)から収集され、前記第4および第5の一次ビデオストリームは、参加者クライアント(121)の第3のグループ(121''')に割り当てられた参加者クライアントから収集され;
第1の生成ステップ(135')において、前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第1の生成デジタルビデオストリームは、第1の待ち時間で公開されるために連続的に生成され;
第2の生成ステップ(135'')において、前記第1、第2および第3の一次デジタルビデオストリームに基づいて、さらに前記第4および第5の一次ビデオストリームの少なくとも1つに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第2の生成ビデオストリームは、第2の待ち時間で公開されるために連続的に生成され、前記第2の待ち時間は、前記第1の待ち時間よりも大きく;
第3の生成ステップ(135''')において、前記第4および第5の一次ビデオストリームに基づいて、第3の生成ビデオストリームを生成し、ここで、前記第3の生成ステップ(135''')は、前記第3の生成ビデオストリームが、前記第1の生成ビデオストリームに対して時間的に非同期であるように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み;および、
公開ステップ(136')において、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および前記第1の生成ビデオストリームのうちの少なくとも1つを、前記第1の参加者クライアント(121)および前記第2の参加者クライアント(121)のうちの少なくとも1つに連続的に提供し、前記第2の生成ビデオストリームを、少なくとも1つの他の参加者クライアント(121)に連続的に提供する。
【請求項18】
第2のデジタルビデオストリームを提供するシステム(100)であって、該システム(100)は中央サーバ(130)を備え、該中央サーバ(130)は、以下の機能を備えるシステム:
複数の参加者クライアント(121)を、そうした参加者クライアント(121)の少なくとも2つのグループ(121',121'',121''')に亘って割り当てるよう構成される割り当て機能;
第1の参加者クライアント(121)から第1の一次デジタルビデオストリームを収集し、第2の参加者クライアント(121)から第2の一次デジタルビデオストリームを収集し、第3の参加者クライアント(121)から第3の一次デジタルビデオストリームを収集し、第4の参加者クライアント(121)から第4の一次デジタルビデオストリームを収集し、第5の参加者クライアント(121)から第5の一次デジタルビデオストリームを収集するよう構成される収集機能、ここで、前記第1および第2の一次ビデオストリームは、参加者クライアント(121)の第1の割り当てグループ(121')に割り当てられた参加者クライアント(121)から収集され、前記第4および第5の一次ビデオストリームは、参加者クライアント(121)の第3のグループ(121''')に割り当てられた参加者クライアントから収集され;
前記第1の参加者クライアント(121)および前記第2の参加者クライアント(121)の少なくとも1つに対して、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオ、および、前記第1および第2の一次ビデオストリームの少なくとも1つに基づいて生成された第1の生成ビデオストリームの少なくとも1つを提供するよう構成される公開機能;
前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、前記第3の一次デジタルビデオストリームに基づいて、および前記第4および第5の一次ビデオストリームの少なくとも1つに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第2の生成機能(135'')、ここで、前記第2の生成機能(135'')は、前記第2の生成ビデオストリームが、前記公開機能において前記第1または第2の参加者クライアント(121)に提供されるいずれのビデオストリームとも時間的に非同期であるように、時間遅延を導入し;
前記第4および第5の一次ビデオストリームに基づいて、第3の生成ビデオストリームを生成するよう構成される第3の生成機能(135''')、ここで、前記第3の生成機能(135''')は、前記第3の生成ビデオストリームが、前記第1の生成ビデオストリームに対して時間的に非同期であるように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み、
前記公開機能はさらに、前記第2の生成ビデオストリームを、前記第1または第2の参加者クライアントではない少なくとも1つの消費者クライアント(121;150)に連続的に提供し、前記第3の生成ビデオストリームを、前記第3のグループに割り当てられた少なくとも1つの参加者クライアントに連続的に提供することを含む。
【請求項19】
共有デジタルビデオストリームを提供するシステム(100)であって、該システム(100)は中央サーバ(130)を備え、該中央サーバ(130)は、以下の機能を備えるシステム:
複数の参加者クライアント(121)を、そうした参加者クライアント(121)の少なくとも2つのグループ(121',121'',121''')に亘って割り当てるよう構成される割り当て機能;
参加者クライアント(121)の第1の割り当てグループ(121')に割り当てられた少なくとも2つの異なる参加者クライアント(121)から、第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリームを収集し、参加者クライアント(121)の第3の割り当てグループ(121''')に割り当てられた参加者クライアント(121)から、第4の一次デジタルビデオストリームおよび第5の一次デジタルビデオストリームを収集するよう構成される収集機能;
前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第1の生成機能(135');
前記第1の生成ビデオストリームおよび前記第1および第2の一次デジタルビデオストリームに基づいて、さらに前記第4および第5の一次ビデオストリームの少なくとも1つに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第2の生成機能(135'');
前記第4および第5の一次ビデオストリームに基づいて、第3の生成ビデオストリームを生成するよう構成される第3の生成機能(135''')、ここで、前記第3の生成機能(135''')は、前記第3の生成ビデオストリームが、前記第1の生成ビデオストリームに対して時間的に非同期であるように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み;および、
前記第2の生成ビデオストリームを、前記第1または第2の参加者クライアントではない少なくとも1つの消費者クライアント(121;150)に連続的に提供し、前記第3の生成ビデオストリームを、前記第3のグループに割り当てられた少なくとも1つの参加者クライアントに連続的に提供するよう構成される公開機能(136''')、ここで、
前記第2の生成機能(135'')において、前記第1の生成機能(135')から生じる前記第1の生成ビデオストリームの待ち時間を考慮して、前記第1の生成ビデオストリームと時間同期させるように、前記第1および第2の一次デジタルビデオストリームを時間遅延させ、ここで、前記第2の生成ビデオストリームは、前記時間遅延された第1および第2の一次デジタルビデオストリームに基づいて生成される。
【請求項20】
共有デジタルビデオストリームを提供するシステム(100)であって、該システム(100)は中央サーバ(130)を備え、該中央サーバ(130)は、以下の機能を備えるシステム:
複数の参加者クライアント(121)を、そうした参加者クライアント(121)の少なくとも2つのグループ(121',121'',121''')に亘って割り当てるよう構成される割り当て機能;
第1の参加者クライアント(121)から第1の一次デジタルビデオストリームを収集し、第2の参加者クライアント(121)から第2の一次デジタルビデオストリームを収集し、第3の参加者クライアント(121)から第3の一次デジタルビデオストリームを収集し、第4の参加者クライアント(121)から第4の一次デジタルビデオストリームを収集し、第5の参加者クライアント(121)から第5の一次デジタルビデオストリームを収集するよう構成される収集機能、ここで、前記第1および第2の一次ビデオストリームは、参加者クライアント(121)の第1の割り当てグループ(121')に割り当てられた参加者クライアント(121)から収集され、前記第4および第5の一次ビデオストリームは、参加者クライアント(121)の第3のグループ(121''')に割り当てられた参加者クライアントから収集され;
前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第1の生成機能(135')、ここで、前記第1の生成デジタルビデオストリームは、第1の待ち時間で公開されるために連続的に生成され;
前記第1、第2および第3の一次デジタルビデオストリームに基づいて、さらに前記第4および第5の一次ビデオストリームの少なくとも1つに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第2の生成機能(135'')、ここで、前記第2の生成ビデオストリームは、第2の待ち時間で公開されるために連続的に生成され、前記第2の待ち時間は、前記第1の待ち時間よりも大きく;
前記第4および第5の一次ビデオストリームに基づいて、第3の生成ビデオストリームを生成するよう構成される第3の生成機能(135''')、ここで、前記第3の生成機能(135''')は、前記第3の生成ビデオストリームが、前記第1の生成ビデオストリームに対して時間的に非同期であるように、前記第4および第5の一次ビデオストリームを時間遅延させることを含み;および、
前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および前記第1の生成ビデオストリームのうちの少なくとも1つを、前記第1の参加者クライアント(121)および前記第2の参加者クライアント(121)のうちの少なくとも1つに自動的かつ連続的に提供し、前記第2の生成ビデオストリームを、少なくとも1つの他の参加者クライアント(121)に連続的に提供するよう構成される公開機能(136')。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルビデオストリームを生成するための、特に、2つ以上の異なるデジタル入力ビデオストリームに基づいてデジタルビデオストリームを生成するための、システム、コンピュータソフトウエア製品および方法に関する。好ましい実施形態において、デジタルビデオストリームは、特に複数の異なる同時接続ユーザが参加するデジタルビデオ会議、またはデジタルビデオ会議ないしミーティングシステムのコンテキストにおいて生成される。生成されたデジタルビデオストリームは、外部に公開(published)されてもよいし、デジタルビデオ会議またはデジタルビデオ会議システム内で公開されてもよい。
【0002】
他の実施形態では、本発明は、デジタルビデオ会議ではないが、複数のデジタルビデオ入力ストリームが同時に処理され、生成されるべきデジタルビデオストリームに結合されるコンテキストに適用される。例えば、このようなコンテキストは、教育的または指導的なものであってよい。
【背景技術】
【0003】
Microsoft(登録商標)Teams(登録商標)、Zoom(登録商標)、Google(登録商標) Meet(登録商標)など、多くのデジタルビデオ会議システムが知られており、2人以上の参加者が、ローカルで録画されたデジタルビデオとオーディオを使用してバーチャルに会議を行い、参加者全員にブロードキャストすることで、物理的な会議をエミュレートすることができる。
【0004】
このようなデジタルビデオ会議ソリューションを改善する一般的なニーズがあり、特に、視聴コンテンツの生成(制作)に関して、どのようなコンテンツを、どのような時間に、誰に、どのような配信チャネルを通じて見せるかといったことが重要である。
【0005】
たとえば、現在発話中の参加者を自動的に検出し、その発話中の参加者の対応するビデオフィード(video feed)を他の参加者に表示するシステムもある。多くのシステムでは、現在表示されている画面、ビューイングウィンドウ、デジタルプレゼンテーションなどのグラフィックを共有することが可能である。しかし、バーチャルミーティングがより複雑になるにつれ、現在利用可能なすべての情報のうち、どの情報を各時点で各参加者に表示すべきかをサービス側が把握することは、すぐに難しくなるであろう。
【0006】
他の例では、プレゼンテーションしている参加者がデジタルプレゼンテーションのスライドについて話しながらステージ上を動き回る。この場合、システムは、プレゼンテーションを表示するか、発表者を表示するか、あるいはその両方を表示するか、あるいはその2つを切り替えるかを決定する必要がある。
【0007】
自動生成プロセスによって、多数の入力デジタルビデオストリームに基づいて1つまたは複数の出力デジタルビデオストリームを生成し、そのような生成されたデジタルビデオストリームまたはストリーム群を1人または複数の消費者に提供することが望ましい場合がある。
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら多くの場合、このようなデジタルビデオ会議システムが直面する多くの技術的な困難のために、動的な会議画面のレイアウトマネージャや他の自動化された生成機能が、どのような情報を表示すべきかを選択することは困難である。
【0009】
第1に、デジタルビデオ会議はリアルタイム性を重視するため、遅延が小さいことが重要である。異なる参加者が異なるハードウエアを使用して参加するなど、異なる受信デジタルビデオストリームが、異なる遅延、異なるフレームレート、異なるアスペクト比、または異なる解像度と関連付けられる場合、これは問題となる。多くの場合、このような受信デジタルビデオストリームは、整形された(well-formed)ユーザ体験のための処理が必要とする。
【0010】
第2に、時間同期の問題がある。外部デジタルビデオストリームや参加者が提供するデジタルビデオストリームなどの、多様な入力デジタルビデオストリームは、典型的には中央サーバ等に供給されるため、そのようなデジタルビデオフィードをそれぞれ同期させる絶対的な時間は存在しない。大き過ぎる遅延と同様に、同期されていないデジタルビデオフィードは、ユーザ体験の低下につながる。
【0011】
第3に、複数参加者間のデジタルビデオ会議は、異なるエンコーディングまたはフォーマットを持つ異なるデジタルビデオストリームを含む可能性があり、これはデコードと再エンコーディングを必要とし、遅延と同期の点で問題が生じる。また、このようなエンコーディングは、計算負荷が高く、ハードウエア要件の点で高価となる。
【0012】
第4に、異なるデジタルビデオソースが異なるフレームレート、異なるアスペクト比、異なる解像度に関連付けられる可能性があるという事実は、メモリ割り当てのニーズが予測不可能に変化すること、継続的なバランスを必要とし得る。その結果、遅延や同期の問題が追加的に発生する可能性がある。その結果、大きなバッファが必要となる。
【0013】
第5に、参加者は、接続性の変動、離脱/再接続などの点で様々な困難を経験する可能性があり、整形されたユーザ体験を自動的に生成する上でさらなる困難をもたらす。
【0014】
これらの問題は、多数の参加者がいる;参加者が異なるハードウエアおよび/またはソフトウエアを使用して接続している;外部から提供されたデジタルビデオストリームを使用している;画面共有をしている;複数のホストを使用しているなど、より複雑な会議の状況で増幅される。
【0015】
教育や指導のためのデジタルビデオ生成システムのように、複数の入力デジタルビデオストリームに基づいて出力デジタルビデオストリームを生成すべき場合、対応する問題が他のコンテキストで生じる。
【0016】
スウェーデン特許出願SE2151267-8(本出願の有効優先日時点では未公開)は、上述の問題に対する様々な解決策を開示している。
【0017】
複数の参加者を含むデジタルビデオ環境では、さらに遅延に関する問題がある。特に、遅延の要件は異なる参加者の間で異なる可能性がある。このような環境では、時間遅延がコミュニケーションに悪影響を与えないように、すべての参加者に良好な時間同期された体験を提供することが困難であることが判明している。これは特に、複雑な構成のビデオ環境、例えば、中間的に生成された複数の参加者を含むビデオストリームを使用する場合、および/または複数のタイプの参加者を含む場合である。
【0018】
本発明は、上述した問題の1つまたは複数を解決するものである。
【課題を解決するための手段】
【0019】
したがって、本発明は、第2のデジタルビデオストリームを提供する方法に関し、該方法は以下のステップを含む:収集ステップにおいて、第1の参加者クライアントから第1の一次デジタルビデオストリームを収集し、第2の参加者クライアントから第2の一次デジタルビデオストリームを収集し、第3の参加者クライアントから第3の一次デジタルビデオストリームを収集し;公開ステップにおいて、前記第1の参加者クライアントおよび前記第2の参加者クライアントの少なくとも1つに対して、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および、前記第1および第2の一次ビデオストリームの少なくとも1つに基づいて生成された第1の生成ビデオストリームの少なくとも1つを提供し;第2の生成ステップにおいて、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および前記第3の一次デジタルビデオストリームに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、記第2の生成ステップは、前記第2の生成ビデオストリームが、前記公開ステップにおいて前記第1または第2の参加者クライアントに提供されるいずれのビデオストリームとも時間的に非同期であるように、時間遅延を導入し;ここで、前記公開ステップはさらに、前記第2の生成ビデオストリームを、前記第1または第2の参加者クライアントではない少なくとも1つの消費者クライアントに連続的に提供することを含む。
【0020】
本発明はまた、第2のデジタルビデオストリームを提供する方法に関し、該方法は以下のステップを含む:収集ステップにおいて、なくとも2つの異なるデジタルビデオ情報源から、第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリームを収集し;第1の生成ステップにおいて、前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成し;第2の生成ステップにおいて、前記第1の生成ビデオストリームに基づいて、また前記第1および第2の一次デジタルビデオストリームに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し;ここで、前記第2の生成ステップにおいて、前記第1の生成ステップから生じる前記第1の生成ビデオストリームの待ち時間を考慮して、前記第1の生成ビデオストリームと時間同期させるように、前記第1および第2の一次デジタルビデオストリームを時間遅延させ、ここで、前記第2の生成ビデオストリームは、前記時間遅延された第1および第2の一次デジタルビデオストリームに基づいて生成される。
【0021】
本発明はまた、第2のデジタルビデオストリームを提供する方法に関し、該方法は以下のステップを含む:収集ステップにおいて、第1の参加者クライアントから第1の一次デジタルビデオストリームを収集し、第2の参加者クライアントから第2の一次デジタルビデオストリームを収集し、第3の参加者クライアントから第3の一次デジタルビデオストリームを収集し;第1の生成ステップにおいて、前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第1の生成デジタルビデオストリームは、第1の待ち時間で公開されるために連続的に生成され;第2の生成ステップにおいて、前記第1、第2および第3の一次デジタルビデオストリームに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第2の生成ビデオストリームは、第2の待ち時間で公開されるために連続的に生成され、前記第2の待ち時間は、前記第1の待ち時間よりも大きく;および、公開ステップにおいて、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および前記第1の生成ビデオストリームのうちの少なくとも1つを、前記第1の参加者クライアントおよび前記第2の参加者クライアントのうちの少なくとも1つに連続的に提供し、前記第2の生成ビデオストリームを、少なくとも1つの他の参加者クライアントに連続的に提供する。
【0022】
本発明はまた、第2のデジタルビデオストリームを提供するコンピュータソフトウエア製品に関し、該コンピュータプログラム機能は実行される際に、以下のステップを実行する:収集ステップにおいて、第1の参加者クライアントから第1の一次デジタルビデオストリームを収集し、第2の参加者クライアントから第2の一次デジタルビデオストリームを収集し、第3の参加者クライアントから第3の一次デジタルビデオストリームを収集し;公開ステップにおいて、前記第1の参加者クライアントおよび前記第2の参加者クライアントの少なくとも1つに対して、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および、前記第1および第2の一次ビデオストリームの少なくとも1つに基づいて生成された第1の生成ビデオストリームの少なくとも1つを提供し;第2の生成ステップにおいて、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および前記第3の一次デジタルビデオストリームに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第2の生成ステップは、前記第2の生成ビデオストリームが、前記公開ステップにおいて前記第1または第2の参加者クライアントに提供されるいずれのビデオストリームとも時間的に非同期であるように、時間遅延を導入し;ここで、前記公開ステップはさらに、前記第2の生成ビデオストリームを、前記第1または第2の参加者クライアントではない少なくとも1つの消費者クライアントに連続的に提供することを含む。
【0023】
本発明はまた、共有デジタルビデオストリームを提供するコンピュータソフトウエア製品に関し、該コンピュータプログラム機能は実行される際に、以下のステップを実行する:収集ステップにおいて、少なくとも2つの異なるデジタルビデオ情報源から、第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリームを収集し;第1の生成ステップにおいて、前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成し;第2の生成ステップにおいて、前記第1の生成ビデオストリームに基づいて、また前記第1および第2の一次デジタルビデオストリームに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第2の生成ステップにおいて、前記第1の生成ステップから生じる前記第1の生成ビデオストリームの待ち時間を考慮して、前記第1の生成ビデオストリームと時間同期させるように、前記第1および第2の一次デジタルビデオストリームを時間遅延させ、ここで、前記第2の生成ビデオストリームは、前記時間遅延された第1および第2の一次デジタルビデオストリームに基づいて生成される。
【0024】
本発明はまた、共有デジタルビデオストリームを提供するコンピュータソフトウエア製品に関し、該コンピュータプログラム機能は実行される際に、以下のステップを実行する:収集ステップにおいて、第1の参加者クライアントから第1の一次デジタルビデオストリームを収集し、第2の参加者クライアントから第2の一次デジタルビデオストリームを収集し、第3の参加者クライアントから第3の一次デジタルビデオストリームを収集し;第1の生成ステップにおいて、前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第1の生成デジタルビデオストリームは、第1の待ち時間で公開されるために連続的に生成され;第2の生成ステップにおいて、前記第1、第2および第3の一次デジタルビデオストリームに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成し、ここで、前記第2の生成ビデオストリームは、第2の待ち時間で公開されるために連続的に生成され、前記第2の待ち時間は、前記第1の待ち時間よりも大きく;および、公開ステップにおいて、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および前記第1の生成ビデオストリームのうちの少なくとも1つを、前記第1の参加者クライアントおよび前記第2の参加者クライアントのうちの少なくとも1つに連続的に提供し、前記第2の生成ビデオストリームを、少なくとも1つの他の参加者クライアントに連続的に提供する。
【0025】
本発明はまた、第2のデジタルビデオストリームを提供するシステムに関し、該システムは中央サーバを備え、該中央サーバは以下の機能を備える:第1の参加者クライアントから第1の一次デジタルビデオストリームを収集し、第2の参加者クライアントから第2の一次デジタルビデオストリームを収集し、第3の参加者クライアントから第3の一次デジタルビデオストリームを収集するよう構成される収集機能;前記第1の参加者クライアントおよび前記第2の参加者クライアントの少なくとも1つに対して、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および、前記第1および第2の一次ビデオストリームの少なくとも1つに基づいて生成された第1の生成ビデオストリームの少なくとも1つを提供するよう構成される公開機能;前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および前記第3の一次デジタルビデオストリームに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第2の生成機能、ここで、前記第2の生成機能は、前記第2の生成ビデオストリームが、前記公開機能において前記第1または第2の参加者クライアントに提供されるいずれのビデオストリームとも時間的に非同期であるように、時間遅延を導入し;ここで、前記公開機能はさらに、前記第2の生成ビデオストリームを、前記第1または第2の参加者クライアントではない少なくとも1つの消費者クライアントに連続的に提供することを含むよう構成される。
【0026】
本発明はまた、共有デジタルビデオストリームを提供するシステムに関し、該システムは中央サーバを備え、該中央サーバは下の機能を備える:少なくとも2つの異なるデジタルビデオ情報源から、第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリームを収集するよう構成される収集機能;前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第1の生成機能;前記第1の生成ビデオストリームに基づいて、また前記第1および第2の一次デジタルビデオストリームに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第2の生成機能、ここで、前記第2の生成機能において、前記第1の生成機能から生じる前記第1の生成ビデオストリームの待ち時間を考慮して、前記第1の生成ビデオストリームと時間同期させるように、前記第1および第2の一次デジタルビデオストリームを時間遅延させ、ここで、前記第2の生成ビデオストリームは、前記時間遅延された第1および第2の一次デジタルビデオストリームに基づいて生成される。
【0027】
本発明はまた、共有デジタルビデオストリームを提供するシステムに関し、該システムは中央サーバを備え、該中央サーバは以下の機能を備える:第1の参加者クライアントから第1の一次デジタルビデオストリームを収集し、第2の参加者クライアントから第2の一次デジタルビデオストリームを収集し、第3の参加者クライアントから第3の一次デジタルビデオストリームを収集するよう構成される収集機能;前記第1および第2の一次デジタルビデオストリームに基づいて、第1の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第1の生成機能、ここで、前記第1の生成デジタルビデオストリームは、第1の待ち時間で公開されるために連続的に生成され;前記第1、第2および第3の一次デジタルビデオストリームに基づいて、前記第2の生成ビデオストリームをデジタルビデオストリームとして生成するよう構成される第2の生成機能、ここで、前記第2の生成ビデオストリームは、第2の待ち時間で公開されるために連続的に生成され、前記第2の待ち時間は、前記第1の待ち時間よりも大きく;および、前記第1の一次デジタルビデオストリーム、前記第2の一次デジタルビデオストリーム、および前記第1の生成ビデオストリームのうちの少なくとも1つを、前記第1の参加者クライアントおよび前記第2の参加者クライアントのうちの少なくとも1つに連続的に提供し、前記第2の生成ビデオストリームを、少なくとも1つの他の参加者クライアントに連続的に提供するよう構成される公開機能。
【0028】
さらに、本発明はシステムに関する。
【0029】
以下では、本発明の例示的な実施形態および添付の図面を参照しながら、本発明を詳細に説明する。
【図面の簡単な説明】
【0030】
図1図1は、第1の例示的システムを示す図である。
図2図2は、第2の例示的システムを示す図である。
図3図3は、第3の例示的システムを示す図である。
図4図4は、中央サーバを示す図である。
図5図5は、第1の方法を示す図である。
図6a図6aは、図5に示す方法における異なる方法ステップに関連した後続する状態を示す図である。
図6b図6bは、図5に示す方法における異なる方法ステップに関連した後続する状態を示す図である。
図6c図6cは、図5に示す方法における異なる方法ステップに関連した後続する状態を示す図である。
図6d図6dは、図5に示す方法における異なる方法ステップに関連した後続する状態を示す図である。
図6e図6eは、図5に示す方法における異なる方法ステップに関連した後続する状態を示す図である。
図6f図6fは、図5に示す方法における異なる方法ステップに関連した後続する状態を示す図である。
図7図7は、共通プロトコルを概念的に示す図である。
図8a図8aは、第2の方法を示す図である。
図8b図8bは、第3の方法を示す図である。
図8c図8cは、第4の方法を示す図である。
図8d図8dは、第5の方法を示す図である。
図9図9は、第4の例示的システムを示す図である。
【発明を実施するための形態】
【0031】
すべての図は、同一または対応する部分の参照符号を共有するものである。
【0032】
図1は、デジタルビデオストリーム、例えば共有デジタルビデオストリーム、を提供するための本発明に係る方法を実行するように構成された、本発明に係るシステム100を示す。
【0033】
システム100は、ビデオ通信サービス110を備えてもよいが、ビデオ通信サービス110は、いくつかの実施形態では、システム100の外部にあってもよい。以下で説明するように、複数のビデオ通信サービス110が備えられてよい。
【0034】
システム100は、1つまたは複数の参加者クライアント121を備えてよいが、1つ、いくつか、またはすべての参加者クライアント121は、いくつかの実施形態では、システム100の外部であってもよい。
【0035】
システム100は中央サーバ130を備える。
【0036】
本明細書で使用する場合、「中央サーバ」という用語は、明確に定義されたAPI(アプリケーション・プログラミング・インタフェース)を介するなど、論理的に一元化された方法でアクセスできるように構成された、コンピュータに実装された機能である。このような中央サーバの機能は、純粋にコンピュータソフトウエアに実装されてもよいし、ソフトウエアと仮想ハードウエアおよび/または物理ハードウエアの組み合わせに実装されてもよい。また、スタンドアロンの物理的または仮想的なサーバコンピュータに実装してもよいし、相互接続された複数の物理的および/または仮想的なサーバコンピュータに分散させて実装してもよい。
【0037】
中央サーバ130が実行する物理的または仮想的ハードウエア、言い換えれば、中央サーバ130の機能を定義するコンピュータソフトウエアは、それ自体従来のCPU、それ自体従来のGPU、それ自体従来のRAM/ROMメモリ、それ自体従来のコンピュータバス、およびインターネット接続のようなそれ自体従来の外部通信機能から構成され得る。
【0038】
ビデオ通信サービス110は、それが使用される限りにおいて、上記意味での中央サーバでもあり、それは中央サーバ130とは異なる中央サーバであってもよいし、中央サーバ130の一部であってもよい。
【0039】
これに対応して、参加者クライアント121のそれぞれは、対応する解釈で、各参加者クライアント121が実行する物理的または仮想的ハードウエア、言い換えれば、参加者クライアント121の機能を定義するコンピュータソフトウエアが、それ自体従来のCPU/GPU、それ自体従来のRAM/ROMメモリ、それ自体従来のコンピュータバス、およびインターネット接続のようなそれ自体従来の外部通信機能を備える、上記意味での中央サーバであってもよい。
【0040】
各参加者クライアント121はまた、典型的には、進行中のビデオ通信の一部として参加者クライアント121に提供されるビデオコンテンツを表示するように配置されたコンピュータスクリーンと、ビデオ通信の一部として参加者クライアント121に提供されるサウンドコンテンツを発するように配置されたスピーカと、ビデオカメラと、ビデオ通信に対する人間の参加者122にローカルにサウンドを記録するように配置されたマイクロフォンとを備えるか、またはそれらと通信しており、参加者122は、当該参加者クライアント121を使用してビデオ通信に参加する。
【0041】
言い換えれば、各参加者クライアント121のそれぞれのヒューマン・マシン・インタフェースにより、それぞれの参加者122は、ビデオ通信において、他の参加者、および/または多様なソースから提供されるオーディオ/ビデオストリームと、当該クライアント121で対話することができる。
【0042】
一般に、各参加者クライアント121は、デジタルビデオストリーム、デジタルオーディオストリームおよび/または他のデジタルデータを受信するための、上記ビデオカメラ;上記マイクロフォン;キーボード;コンピュータマウスまたはトラックパッド;および/またはAPIから構成され得る、それぞれの入力手段123を備える。入力手段123は、特に、ビデオ通信サービス110および/または中央サーバ130などの中央サーバからビデオストリームおよび/またはオーディオストリームを受信するように構成され、そのようなビデオストリームおよび/またはオーディオストリームは、ビデオ通信の一部として提供され、好ましくは、そのようなデジタルデータ入力ストリームの少なくとも2つのソース、たとえば参加者クライアント121および/または外部ソース(後述)から上記中央サーバに提供される対応するデジタルデータ入力ストリームに基づいて生成される。
【0043】
さらに一般的に、各参加者クライアント121は、上記コンピュータスクリーン;上記スピーカ;およびデジタルビデオおよび/またはオーディオストリームを発するAPIから構成され得るそれぞれの出力手段124を備える。こうしたストリームは、当該参加者クライアント121を使用した、参加者122に対するローカルにキャプチャされたビデオおよび/またはオーディオを代表するものである。
【0044】
実際には、各参加者クライアント121は、スクリーン、スピーカ、マイク、およびインターネット接続を備える携帯電話などのモバイルデバイスであってもよく、モバイルデバイスは、ローカルでコンピュータソフトウエアを実行するか、リモートで実行されるコンピュータソフトウエアにアクセスして、当該参加者クライアント121の機能を実行する。これに対応して、参加者クライアント121は、厚型または薄型のラップトップまたは据え置き型コンピュータであってもよく、ローカルにインストールされたアプリケーションを実行したり、ウェブブラウザを介してリモートアクセスされた機能を使用したりすることもできる。
【0045】
本実施形態の1つの同じビデオ通信で使用される参加者クライアント121は、1つ以上、例えば少なくとも3つ、または少なくとも4つ存在してよい。
【0046】
参加クライアントの少なくとも2つの異なるグループが存在してよい。参加クライアントの各々は、そのような各グループに割り当てられてよい。グループは、参加クライアントの異なる役割、参加クライアントの異なる仮想的または物理的な場所、および/または参加クライアントの異なる対話権限(interaction rights)を反映してよい。
【0047】
そのような役割としては、多様なものが利用可能であり、例えば、「リーダ」または「会議主催者」、「スピーカ」、「パネリスト」、「対話する聴衆」、「遠隔リスナ」であってよい。
【0048】
そのような物理的な場所としては、多様なものが利用可能であり、例えば「ステージ上」、「パネル内」、「物理的に存在する聴衆」、「物理的に離れた聴衆」であってよい。
【0049】
仮想的な場所は、物理的な場所という観点から定義されてよいが、物理的な場所と部分的に重複し得る仮想的なグルーピングを含んでもよい。例えば、物理的に存在する聴衆参加者を第1の仮想グループと第2の仮想グループとに分け、物理的に存在する一部の聴衆参加者を、物理的に離隔する一部の聴衆参加者とともに1つの同じ仮想グループにグルーピングしてよい。
【0050】
このような対話権限としては、多様なものが利用可能であり、例えば、「完全な対話」(制限なし)、「話すことはできるが、マイクを要求した後でなければ話せない」(ビデオ会議サービスで仮想の手を挙げるなど)、「話すことはできないが、共通のチャットに書き込むことができる」、「見る/聞くだけ」であってよい。
【0051】
ある実施態様では、定義された各役割、および/または物理的/仮想的な場所は、ある所定の対話権限に関して定義されるかもしれない。他の例では、同じ対話権限を持つすべての参加者がグループを形成する。したがって、定義された役割、場所、および/または対話権限は、多様なグループ割当てを反映することができ、異なるグループは、必要に応じて相互に異なっても、または重複してもよい。
【0052】
これは以下に例示的に説明される。
【0053】
ビデオ通信は、本明細書で説明し例示するように、少なくとも一部がビデオ通信サービス110によって提供され、少なくとも一部が中央サーバ130によって提供され得る。
【0054】
この用語が本明細書で使用される場合、「ビデオ通信」とは、少なくとも2つ、好ましくは少なくとも3つまたは少なくとも4つのビデオストリームを含む双方向デジタル通信セッションであり、好ましくは、1つまたは複数の混合または共同デジタルビデオ/オーディオストリームを生成するために使用され、ビデオおよび/またはオーディオを介してビデオ通信に貢献してもしなくてもよい1人または複数の消費者(例えば、上述のタイプの参加者クライアント)により消費されるオーディオストリームとも一致する。このようなビデオ通信は、リアルタイムであり、一定の待ち時間または遅延があってもなくてもよい。このようなビデオ通信に参加する少なくとも1人、好ましくは少なくとも2人、または少なくとも4人の参加者122は、ビデオ/オーディオ情報を提供および消費する双方向の方法でビデオ通信に関与する。
【0055】
参加者クライアント121の少なくとも1つ、または参加者クライアント121のすべては、ローカル同期ソフトウエア機能125を備えており、その詳細は後述する。
【0056】
ビデオ通信サービス110は、以下により詳細に説明するように、共通時間基準を備えるか、または共通時間基準にアクセスすることができる。
【0057】
少なくとも1つの中央サーバ130のそれぞれは、当該中央サーバ130の外部のエンティティとデジタル通信するためのAPI137を含んでいてもよい。このような通信は、入力と出力の両方を含んでよい。
【0058】
中央サーバ130などのシステム100は、外部から提供されるビデオストリームなどの外部情報ソース300とデジタル通信し、特に外部情報ソース300からオーディオおよび/またはビデオストリームデータなどのデジタル情報を受信するように構成され得る。情報ソース300が「外部」であるということは、中央サーバ130から、または中央サーバ130の一部として提供されないことを意味する。好ましくは、外部情報ソース300によって提供されるデジタルデータは、中央サーバ130から独立しており、中央サーバ130はその情報内容に影響を与えることができない。例えば、外部情報ソース300は、公のスポーツイベントや進行中のニュースイベントや報道のような、ライブキャプチャされたビデオおよび/またはオーディオであってもよい。また、外部情報ソース300は、参加者クライアント121のいずれかによってではなく、ウェブカメラなどによってキャプチャされてもよい。したがって、そのようなキャプチャされたビデオは、参加者クライアント121のいずれか1つと同じ局所(地域)を描写することができるが、参加者クライアント121の活動の一部としてキャプチャされることはない。外部から提供される情報ソース300と内部から提供される情報ソース120との間の1つのあり得る相違点は、内部から提供される情報ソースは、上記定義されたタイプのビデオ通信への参加者として、その能力において提供され得るが、外部から提供される情報ソース300はそうではなく、代わりに、当該ビデオ会議の外部であるコンテキストの一部として提供されることである。
【0059】
また、オーディオおよび/またはビデオストリームなどの当該タイプのデジタル情報を中央サーバ130に並行して提供する、複数の外部情報ソース300が存在してもよい。
【0060】
図1に示すように、各参加者クライアント121は、説明したように、当該参加者クライアント121によってビデオ通信サービス110に提供されるそれぞれの情報(ビデオおよび/またはオーディオ)ストリーム120のソースを構成する。
【0061】
中央サーバ130などのシステム100は、外部消費者150とデジタル通信し、特に外部消費者150にデジタル情報を発するようにさらに構成されてもよい。例えば、中央サーバ130によって生成されたデジタルビデオおよび/またはオーディオストリームは、上記API137を介して、1つまたは複数の外部消費者150に、リアルタイムまたはほぼリアルタイムで、連続的に提供され得る。ここでも、消費者150が「外部」であるということは、消費者150が中央サーバ130の一部として提供されないこと、および/または当該ビデオ通信の当事者ではないことを意味する。
【0062】
特に断りのない限り、本明細書におけるすべての機能および通信は、適切なコンピュータハードウエア上で実行されるコンピュータソフトウエアによって実現され、インターネットのようなデジタル通信ネットワークまたはチャネルを介して通信されて、デジタル的かつ電子的に提供される。
【0063】
したがって、図1に示されるシステム100の構成では、多数の参加者クライアント121が、ビデオ通信サービス110によって提供されるデジタルビデオ通信に参加する。各参加者クライアント121は、それゆえ、ビデオ通信サービス110に対する進行中のログイン、セッション、または同様のものを有し、ビデオ通信サービス110によって提供される1つの同じ進行中のビデオ通信に参加することができる。言い換えれば、ビデオ通信は、参加者クライアント121の間で「共有」され、したがって、対応する人間の参加者122によっても「共有」される。
【0064】
図1では、中央サーバ130は、自動参加者クライアント140を備え、これは参加者クライアント121に対応する自動クライアントであるが、人間の参加者122には関連付けられない。その代わりに、自動参加者クライアント140は、参加者クライアント121と同じ共有ビデオ通信に参加するために、ビデオ通信サービス110に参加者クライアントとして追加される。このような参加者クライアントとして、自動参加者クライアント140には、ビデオ通信サービス110によって進行中のビデオ通信の一部として提供される、連続的に生成されるデジタルビデオおよび/またはオーディオストリーム(複数可)へのアクセスが付与され、こうしたストリームは自動参加者クライアント140を介して中央サーバ130によって消費されることができる。好ましくは、自動参加者クライアント140は、ビデオ通信サービス110から、各参加者クライアント121に配信される、または配信され得る共通のビデオおよび/またはオーディオストリーム;1つまたは複数の参加者クライアント121の各々からビデオ通信サービス110に提供され、ビデオ通信サービス110によってすべての参加者クライアント121または要求している参加者クライアント121に生データまたは修正された形式で中継されるそれぞれのビデオおよび/またはオーディオストリーム;および/または共通時間基準、を受信する。
【0065】
中央サーバ130は、後述するように処理するために、自動参加者クライアント140から、場合によっては上記外部情報ソース(複数可)300からも、上記タイプのビデオストリームおよび/またはオーディオストリームを複数受信し、その後、API137を介して生成されたビデオストリーム、例えば共有ビデオストリームを提供するように構成された収集機能131を備えてよい。たとえば、この生成されたビデオストリームは、外部の消費者150によって、および/またはビデオ通信サービス110によって消費され、ビデオ通信サービス110によって、参加者クライアント121のすべてまたは要求する任意の1つに配信される。
【0066】
図2図1と同様であるが、自動参加者クライアント140を使用する代わりに、中央サーバ130は、ビデオ通信サービス110のAPI112を介して、進行中のビデオ通信からビデオおよび/またはオーディオストリームデータを受信する。
【0067】
図3図1と同様であるが、ビデオ通信サービス110は示されていない。この場合、参加者クライアント121は、中央サーバ130のAPI137と直接通信し、例えば、中央サーバ130にビデオおよび/またはオーディオストリームデータを提供し、および/または中央サーバ130からビデオおよび/またはオーディオストリームデータを受信する。次に、生成された共有ストリームは、外部消費者150に、および/またはクライアント参加者121のうちの1つまたは複数に提供され得る。
【0068】
図4は、中央サーバ130をより詳細に示している。図示されるように、収集機能131は、1つまたは好ましくは複数の、フォーマット固有の収集機能131aから構成され得る。フォーマット固有の収集機能131aの各々は、所定のバイナリエンコーディングフォーマットおよび/または所定のストリームデータコンテナのような所定のフォーマットを有するビデオおよび/またはオーディオストリームを受信するように構成され、具体的には、上記フォーマットのバイナリビデオおよび/またはオーディオデータを解析(parse)して、個々のビデオフレーム、ビデオフレームのシーケンスおよび/またはタイムスロットに分類するように構成される。
【0069】
中央サーバ130は、収集機能131からバイナリストリームデータなどのビデオおよび/またはオーディオストリームデータを受信し、受信した複数のデータストリームの個々の1つに対してそれぞれのイベント検出を実行するように構成された、イベント検出機能132をさらに備える。イベント検出機能132は、イベント検出を実行するためのAI(人工知能)コンポーネント132aを備えてよい。イベント検出は、収集された個別の複数のストリームを最初に時間同期させることなく実行されてよい。
【0070】
中央サーバ130は、収集機能131によって提供され、イベント検出機能132によって処理されてよい複数のデータストリームを時間同期させるように構成された同期機能133をさらに備える。同期機能133は、時間同期を実行するためのAIコンポーネント133aを備えてよい。
【0071】
中央サーバ130は、受信した複数のデータストリームの少なくとも1つでもよいが、多くの場合は少なくとも2つ、例えば少なくとも3つまたは少なくとも4つ、例えばすべて、の組み合わせに基づいてパターン検出を実行するように構成されたパターン検出機能134をさらに備えてよい。パターン検出はさらに、イベント検出機能132によって上記複数のデータストリームの個々の1つごとに検出された1つ、場合によっては少なくとも2つ以上のイベントに基づいてもよい。パターン検出機能134によって考慮されるそのような検出されたイベントは、個々の収集されたストリームに関して時間に亘って分布し得る。パターン検出機能134は、パターン検出を実行するためのAIコンポーネント134aを備えてよい。パターン検出はさらに、上述したグルーピングに基づいてもよく、特に、1つのグループに関してのみ発生する特定のパターンを検出するように構成されてもよく、すべてのグループではなくいくつかのグループに関してのみ発生する特定のパターンを検出するように構成されてもよく、すべてのグループに関して発生する特定のパターンを検出するように構成されてもよい。
【0072】
中央サーバ130は、収集機能131から提供された複数のデータストリームに基づいて、さらに、場合によっては検出されたあらゆるイベントおよび/またはパターンに基づいて、例えば共有デジタルビデオストリームなどの生成されたデジタルビデオストリームを生成するように構成された、生成機能135をさらに備える。生成されたビデオストリームは、少なくとも、収集機能131によって提供された、生データの、再フォーマットされた、または変換されたビデオストリームの1つまたは複数を備えるように生成されたビデオストリームを含み、対応するオーディオストリームデータを含んでもよい。以下に例示するように、複数の生成されたビデオストリームが存在してよく、そのような生成されたビデオストリームの1つは、上述の方法で生成されてよいが、別の既に生成されたビデオストリームにさらに基づいて生成されてよい。
【0073】
すべての生成されたビデオストリームは、好ましくは連続的に、好ましくはほぼリアルタイムで生成される(本明細書で後述するタイプの待ち時間や遅延を差し引いた後)。
【0074】
中央サーバ130はさらに、上述のAPI137を介するなどして、生成された共有デジタルビデオストリームを公開する(publish)ように構成された公開機能136を備えてよい。
【0075】
図1図2および図3は、本明細書で説明する原理を実施するために、特に本発明による方法を提供するために、中央サーバ130をどのように使用できるかの3つの異なる例を示しているが、1つまたは複数のビデオ通信サービス110を使用する、または使用しない他の構成も可能であることに留意されたい。
【0076】
したがって、図5は、生成されたデジタルビデオストリームを提供するための方法を図示する。図6aから図6fは、図5に示される方法ステップの結果として生じる異なるデジタルビデオ/オーディオデータストリームの状態を示す。
【0077】
最初のステップで、本方法は始まる。
【0078】
続く収集ステップにおいて、それぞれの複数の一次デジタルビデオストリーム210、301が、例えば収集機能131によって、上記デジタルビデオソース120、300のうちの少なくとも2つから収集される。このような複数の一次データストリーム210、301はそれぞれ、オーディオ部分214および/またはビデオ部分215を備えてよい。このコンテキストにおける「ビデオ」は、かかるデータストリームの動画および/または静止画像コンテンツを示すことが理解される。各一次データストリーム210、301は、(当該一次ストリーム210、301を提供するエンティティによって使用されるそれぞれのコーデックを使用して)任意のビデオ/オーディオ符号化標準に従ってエンコードされてよく、符号化フォーマットは、1つの同じビデオ通信で同時に使用される当該複数の一次ストリーム210、301の異なるもの間で異なってよい。複数の一次データストリーム210、301の少なくとも1つ、例えば全ては、バイナリデータのストリームとして提供されることが好ましく、場合によっては、それ自体従来のデータコンテナデータ構造で提供される。複数の一次データストリーム210、301の少なくとも1つ、例えば少なくとも2つ、あるいはすべてが、それぞれのライブビデオ録画として提供されることが好ましい。
【0079】
複数の一次データストリーム210、301は、収集機能131によって受信されるとき、時間的に同期していない可能性があることに留意されたい。これは、それらが互いに対して異なる待ち時間または遅延に関連付けられていることを意味し得る。例えば、2つの一次ビデオストリーム210、301がライブ録画である場合、これは、収集機能131によって受信されたときに、それらが録画時間に関して異なる待ち時間に関連付けられていることを意味し得る。
【0080】
また、複数の一次データストリーム210、301は、それ自体が、ウェブカメラからのそれぞれのライブカメラフィード;現在共有されている画面やプレゼンテーション;視聴されているフィルムクリップ;あるいは、1つの同じ画面内に様々な方法で配置されたこれらの任意の組み合わせであったりすることに留意されたい。
【0081】
収集ステップは、図6aおよび図6bに示されている。図6bでは、収集機能131が、各一次ビデオストリーム210、301を、バンドルされたオーディオ/ビデオ情報として、または関連するビデオストリームデータから分離されたオーディオストリームデータとして、どのように格納できるかも示されている。図6bは、一次ビデオストリーム210、301のデータが、個々のフレーム213またはフレームの集積/クラスタとしてどのように格納されるかを図示し、「フレーム」は、ここでは、画像データおよび/または任意の関連するオーディオデータの時間制限された部分を指し、たとえば、各フレームは、個々の静止画像であるか、または連続する一連の画像(たとえば、最大で1秒の動画像を構成するような一連の画像)であり、一緒に動画像ビデオコンテンツを形成する。
【0082】
イベント検出機能132によって実行される後続のイベント検出ステップにおいて、複数の一次デジタルビデオストリーム210、301は、イベント検出機能132、特にAIコンポーネント132aなどによって分析され、第1のイベントセットから選択された少なくとも1つのイベント211を検出する。これを図6cに示す。
【0083】
このイベント検出ステップは、少なくとも1つの、例えば少なくとも2つの、例えば全ての、一次ビデオストリーム210、301に対して行われ、当該一次ビデオストリーム210、301の各々に対して個別に行われることが好ましい。換言すれば、イベント検出ステップは、好ましくは、当該特定の一次ビデオストリーム210、301の一部として含まれる情報のみを考慮し、特に、他の一次ビデオストリームの一部として含まれる情報を考慮することなく、当該個々の一次ビデオストリーム210、301に対して行われる。さらに、イベント検出は、好ましくは、複数の一次ビデオストリーム210、301に関連付けられるあらゆる共通の時間基準260を考慮することなく行われる。
【0084】
一方、好ましくは、イベント検出は、ある時間間隔に亘って、例えば、0秒より長い、例えば、少なくとも0.1秒、例えば、少なくとも1秒のような一次ビデオストリームの履歴時間間隔に亘って、当該個別に分析された一次ビデオストリームの一部として含まれる情報を考慮する。
【0085】
イベント検出は、一次ビデオストリーム210、301の一部として含まれるオーディオおよび/またはビデオデータに含まれる情報を考慮してもよい。
【0086】
上記第1のイベントセットには、当該一次ビデオストリーム210、301を構成する、または当該一次ビデオストリーム210、301の一部であるスライドプレゼンテーションにおけるスライドの変化;当該一次ビデオストリーム210、301を提供するソース120、300の接続品質の変化であって、画像品質の変化、画像データの損失、または画像データの再取得をもたらす接続品質の変化;および、ビデオ内の人物またはオブジェクトの動き、ビデオ内の照明の変化、オーディオ内の突然の鋭いノイズ、またはオーディオ品質の変化などの当該一次ビデオストリーム210、301内で検出された動きの物理的イベント等の、任意の数のタイプのイベントが含まれ得る。これは、網羅的なリストであることを意図するものではなく、これらの例は、現在説明されている原理の適用可能性を理解するために提供されるものであることを理解されたい。
【0087】
同期機能133によって実行される後続の同期ステップにおいて、複数の一次デジタルビデオストリーム210は、時間同期される。この時間同期は、共通の時間基準260に対して実行されてよい。図6dに示されるように、この時間同期は、例えば共通時間基準260を使用して、複数の一次ビデオストリーム210、301を互いに対して整列させることを含んでよく、これにより、それらが組み合わされて、時間同期されたコンテキストを形成することができる。共通時間基準260は、データのストリーム、ハートビート信号または他のパルスデータ、または個別の複数の一次ビデオストリーム210、301のそれぞれに適用可能な時間アンカであってもよい。共通時間基準を個別の複数の一次ビデオストリーム210、301のそれぞれに適用できるようにすることによって、共通の時間軸に関して、当該一次ビデオストリーム210、301の情報コンテンツを共通時間基準に対して一義的に関連付けることができる。言い換えれば、共通時間基準により、複数の一次ビデオストリーム210、301は、タイムシフトを介して、現在の感覚(present sense)において時間同期されるように整列させられる。他の実施形態では、時間同期は、測定値など、当該一次ビデオストリーム210、301間の時間差に関する既知の情報に基づいてもよい。
【0088】
図6dに示されるように、時間同期は、複数の一次ビデオストリーム210、301のそれぞれについて、例えば、共通時間基準260に関連して、またはビデオストリーム210、301のそれぞれについて、他方のビデオストリーム210、301に関連してまたは他の複数のビデオストリーム210、301に関連して、1つまたは複数のタイムスタンプ261を決定することを含んでよい。
【0089】
パターン検出機能134によって実行される後続のパターン検出ステップにおいて、時間同期された複数の一次デジタルビデオストリーム210、301は、第1のパターンセットから選択された少なくとも1つのパターン212を検出するために分析される。これを図6eに示す。
【0090】
イベント検出ステップとは対照的に、パターン検出ステップは、好ましくは、時間同期された複数の一次ビデオストリーム210、301の少なくとも2つの一部として含まれるビデオおよび/またはオーディオ情報に基づいて実行される。
【0091】
上記第1のパターンのセットは、複数の参加者が入れ替わり立ち替わりまたは同時に発話する;またはプレゼンテーションスライドの変更が別の参加者が発話するなどの別のイベントとして同時に発生するなど、任意の数のタイプのパターンを含んでよい。このリストは網羅的なものではなく、例示的なものである。
【0092】
代替的実施形態では、検出されたパターン212は、複数の一次ビデオストリーム210、301のうちの複数に含まれる情報ではなく、複数の一次ビデオストリーム210、301のうちの1つのみに含まれる情報に関連してよい。そのような場合、そのようなパターン212は、少なくとも2つの検出されたイベント211、例えば2つ以上の連続して検出されたプレゼンテーションスライド変更または接続品質変更に跨る、その単一の一次ビデオストリーム210、301に含まれるビデオおよび/またはオーディオ情報に基づいて検出されることが好ましい。一例として、検出されたスライド変更イベントごとの1つの個別のスライド変更パターンとは対照的に、時間の経過とともに急速に互いに続く複数の連続したスライド変更が、1つの単一のスライド変更パターンとして検出される場合がある。
【0093】
第1のイベントセットおよび第1のパターンセットは、パラメータおよびパラメータ間隔のそれぞれのセットを使用して定義された、所定のタイプのイベント/パターンを備えてよいことが理解される。以下に説明するように、上記セットのイベント/パターンは、様々なAIツールを使用して定義および検出することもできる。
【0094】
生成機能135によって実行される後続の生成ステップにおいて、共有デジタルビデオストリームは、時間同期された複数の一次デジタルビデオストリーム210、301の連続的に考慮された複数のフレーム213と、検出されたパターン212とに基づいて、出力デジタルビデオストリーム230として生成される。
【0095】
以下に説明し詳述するように、本発明により、例えば出力デジタルビデオストリーム230のようなビデオストリームを完全に自動生成することができる。
【0096】
例えば、このような生成は、どの一次ビデオストリーム210、301からどのようなビデオおよび/またはオーディオ情報を、出力ビデオストリーム230でどの程度使用するかの選択;出力ビデオストリーム230のビデオスクリーンレイアウト;時間に亘る異なるそのような使用またはレイアウト間の切り替えパターンなどを含んでよい。
【0097】
これは、図6fにも示されており、この図6fには、出力ビデオストリーム230の生成において、(例えば共通時間基準260に対して)時間同期され、時間同期された複数の一次ビデオストリーム210、301と協働して使用され得る、追加デジタルビデオ情報ストリームなどの、時間に関連する(共通時間基準260に関連してよい)デジタルビデオ情報220の1つまたは複数の追加部分が示されている。例えば、追加ストリーム220は、検出されたパターンに動的に基づくような、使用する任意のビデオおよび/またはオーディオ特殊効果に関する情報;ビデオ通信のための計画されたタイムスケジュールなどを含んでよい。
【0098】
公開機能136によって実行される後続の公開ステップにおいて、生成された出力デジタルビデオストリーム230は、上述のように、共有デジタルビデオストリームの消費者110、150に連続的に提供される。生成されたデジタルビデオストリームは、例えばビデオ通信サービス110を介して、1つまたは複数の参加者クライアント121に提供され得る。
【0099】
後続するステップで、本方法は終了する。しかしながら、最初に、本方法は、図5に示されるように、出力ビデオストリーム230を連続的に提供されるストリームとして生成するために、任意の回数、反復されてもよい。好ましくは、出力ビデオストリーム230は、リアルタイムまたはほぼリアルタイム(途中のすべてのステップによって付加される待ち時間の合計を考慮する)で、かつ連続的に(より多くの情報が利用可能になったときに直ちに公開されるが、ただし、以下に説明する意図的に付加される待ち時間はカウントしない)消費されるように生成される。このようにして、出力ビデオストリーム230は、双方向(インタラクティブ)方式で消費されてよく、これにより、ビデオ通信サービス110に、または、閉じたフィードバックループを形成するように収集機能131に再び供給される一次ビデオストリーム210の生成の基礎を形成する他のコンテキストに、出力ビデオストリーム230がフィードバックされ;または、異なる(システム100の外部、または、少なくとも中央サーバ130の外部の)コンテキストに、出力ビデオストリーム230が消費され、そこで、リアルタイムの双方向ビデオ通信の基礎を形成することができる。
【0100】
上述したように、いくつかの実施形態では、複数の一次デジタルビデオストリーム210、301の少なくとも2つ、例えば少なくとも3つ、例えば少なくとも4つまたは少なくとも5つは、ビデオ通信サービス110によって提供されるような共有デジタルビデオ通信の一部として提供され、このビデオ通信は、当該一次デジタルビデオストリーム210を提供するそれぞれの遠隔接続された参加者クライアント121を含む。このような場合、収集ステップは、共有デジタルビデオ通信サービス110自体から、当該ビデオ通信サービス110内からビデオおよび/またはオーディオストリームデータへのアクセスを順番に付与された自動参加者クライアント140を介して、および/またはビデオ通信サービス110のAPI112を介して、当該一次デジタルビデオストリーム210の少なくとも1つを収集することから構成され得る。
【0101】
さらに、この場合および他の場合において、収集ステップは、共有デジタルビデオ通信サービス110の外部である情報ソース300から収集されたそれぞれの外部デジタルビデオストリーム301として、上記複数の一次デジタルビデオストリーム210、301の少なくとも1つを収集することを備えてよい。このような外部ビデオソース300の1つまたは複数が、中央サーバ130の外部にあってもよいことに留意されたい。
【0102】
いくつかの実施形態では、複数の一次ビデオストリーム210、301は、同じ方法でフォーマットされていない。そのような異なるフォーマットは、それらが異なるタイプのデータコンテナ(AVIまたはMPEGなど)で収集機能131に供給される形式であり得るが、好ましい実施形態では、複数の一次ビデオストリーム210、301の少なくとも1つは、(一次ビデオストリーム210、301の少なくとも1つの他のものに対して)偏位する(deviating)フォーマットに従ってフォーマットされ、これは、偏位する一次デジタルビデオストリーム210、301が偏位するビデオ符号化;偏位する固定または可変フレームレート;偏位するアスペクト比;偏位するビデオ解像度;および/または偏位するオーディオサンプルレートを有するという点においてである。
【0103】
収集機能131は、収集されたすべての一次ビデオストリーム210、301で発生するすべての符号化フォーマット、コンテナ規格などを読み取り、解釈するように事前に構成されていることが好ましい。これにより、本明細書で説明するような処理を実行することが可能になり、これらの処理の比較的後の段階まで(当該一次ストリームがそれぞれのバッファに入れられるまで;イベント検出ステップの後まで;あるいはイベント検出ステップの後までなど)、デコーディングを必要としない。しかしながら、一次ビデオフィード210、301のうちの1つまたは複数が、収集機能131がデコードせずには解釈できないコーデックを使用して符号化されているという稀なケースでは、収集機能131は、そのような一次ビデオストリーム210、301のデコードおよび分析を実行し、その後、例えばイベント検出機能によって処理できるフォーマットへの変換を実行するように構成されてよい。この場合でも、この段階で再エンコードを実行しないことが好ましいことに留意されたい。
【0104】
例えば、ビデオ通信サービス110によって提供されるような、複数当事者間のビデオイベントからフェッチされる一次ビデオストリーム220は、典型的には、低遅延に対する要求があり、したがって、典型的には、参加者122が効果的な通信を行うことを可能にするために、可変フレームレートおよび可変ピクセル解像度と関連付けられる。言い換えれば、全体的なビデオおよびオーディオの品質は、低遅延のために必要に応じて低下する。
【0105】
一方、外部ビデオフィード301は、典型的には、より安定したフレームレートを持ち、高画質であるが、それゆえ遅延が大きくなる可能性がある。
【0106】
したがって、ビデオ通信サービス110は、各時点で、外部ビデオソース300とは異なる符号化(エンコーディング)および/またはコンテナを使用し得る。したがって、本明細書で説明する分析およびビデオ生成プロセスは、この場合、異なるフォーマットのこれら複数のストリーム210、301を、結合された経験のために新たな1つのストリームに結合する必要がある。
【0107】
上述したように、収集機能131は、フォーマット固有の収集機能131aのセットを備えてよく、それぞれが、特定のタイプのフォーマットの一次ビデオストリーム210、301を処理するように構成される。たとえば、これらのフォーマット固有の収集機能131aの各1つは、Windows(登録商標)Media(登録商標)またはDivX(登録商標)などの異なるビデオそれぞれのエンコード方法/コーデックを使用してエンコードされた複数の一次ビデオストリーム210、301を処理するように構成されてよい。
【0108】
しかしながら、好ましい実施形態では、収集ステップは、複数の一次デジタルビデオストリーム210、301の少なくとも2つ、例えばすべて、を共通プロトコル240に変換することを含む。
【0109】
この文脈で使用されるように、用語「プロトコル」は、デジタルビデオ/オーディオストリームに含まれる情報をどのように格納かを特定する情報構造化規格またはデータ構造を示す。しかしながら、共通プロトコルは、好ましくは、デジタルビデオおよび/またはオーディオ情報を、例えばバイナリレベルなど(すなわち、音および画像自体を指示する符号化/圧縮されたデータ)、どのように格納するかを規定するのではなく、代わりに、そのようなデータを格納するための所定のフォーマットの構造を形成する。言い換えれば、共通プロトコルは、そのような格納に関連してデジタルビデオデコーディングまたはデジタルビデオエンコーディングを何ら実行することなく、場合によってはバイナリ形式のバイト列を連結および/または分割することとは別に既存のバイナリ形式を全く修正することなく、生データのバイナリ形式でデジタルビデオデータを格納することを規定している。代わりに、当該一次ビデオストリーム210、301の生データの(符号化/圧縮された)バイナリデータコンテンツは、プロトコルによって定義されたデータ構造でこの生データのバイナリデータを再パック(repacking)しながら、保持される。いくつかの実施形態では、共通プロトコルは、ビデオファイルコンテナフォーマットを定義する。
【0110】
図7は、一例として、それぞれのフォーマット固有収集機能131aによって再構築され、上記共通プロトコル240を使用する、図6aに示す複数の一次ビデオストリーム210、301を示す。
【0111】
したがって、共通プロトコル240は、デジタルビデオおよび/またはオーディオデータを、好ましくは、当該一次ビデオストリーム210、301に関連する時間軸に沿って、離散的で連続したデータのセットに分割されたデータセット241に格納することを規定する。このような各データセットは、1つまたはいくつかのビデオフレーム、および関連するオーディオデータを含むことができる。
【0112】
共通プロトコル240はまた、格納されたデジタルビデオおよび/またはオーディオデータセット241に関連して、指定された時点に関連付けられるメタデータ242を格納することを規定してよい。
【0113】
メタデータ242は、当該生データのバイナリデータを生成するために使用されるデジタルビデオエンコーディング方法またはコーデック;ビデオデータの解像度;ビデオフレームレート;フレームレート変動フラグ;ビデオ解像度;ビデオアスペクト比;オーディオ圧縮アルゴリズム;またはオーディオサンプリングレートに関する等の、当該一次デジタルビデオストリーム210の生データのバイナリフォーマットに関する情報を含んでよい。また、メタデータ242は、例えば当該一次ビデオストリーム210、301自体の時間基準に関連する、または上述の異なるビデオストリームに関連する、格納されたデータのタイムスタンプに関する情報を含んでよい。
【0114】
フォーマット固有の収集機能131aを共通プロトコル240と組み合わせて使用することにより、受信したビデオ/オーディオデータをデコーディング/再エンコーディングすることによる待ち時間(遅延)を追加することなく、一次ビデオストリーム210、301の情報コンテンツを迅速に収集することが可能になる。
【0115】
したがって、収集ステップは、当該一次ビデオストリーム210、301を解析し、解析された生データのバイナリデータを、任意の関連するメタデータとともに、共通プロトコルを使用してデータ構造に格納するために、複数のフォーマット固有収集機能131aのうち異なる収集機能131aを使用して、異なるバイナリビデオおよび/またはオーディオエンコーディングフォーマットを使用してエンコードされた複数の一次デジタルビデオストリーム210、301を収集することを備えてよい。自明であるが、どの一次ビデオストリーム210、301に対してどのフォーマット固有の収集機能131aを使用するかについての決定は、当該一次ビデオストリーム210、301のそれぞれの所定のおよび/または動的に検出された特性に基づいて、収集機能131によって実行されてよい。
【0116】
このように収集された各一次ビデオストリーム210、301は、中央サーバ130内のRAMメモリバッファのような、それ自身の別個のメモリバッファに格納されてよい。
【0117】
各フォーマット固有の収集機能131aによって実行される一次ビデオストリーム210、301の変換は、したがって、こうして変換された各一次デジタルビデオストリーム210、301の生データのバイナリデータを、順序付けられたセットのより小さいデータセット241に分割することを備えてよい。
【0118】
さらに、変換は、より小さいセット241のそれぞれ(またはサブセット、例えば当該一次ストリーム210、301のそれぞれの時間軸に沿って規則的に分布するサブセット)を、例えば共通時間基準260に関連して、共有の時間軸に沿ったそれぞれの時間に関連付けることも備えてよい。この関連付けは、以下に説明する原理方法のいずれか、または他の方法で、生データのバイナリビデオおよび/またはオーディオデータの分析によって実行されてもよく、一次ビデオストリーム210、301の後続する時間同期を実行できるようにするために実行されてもよい。使用される共通時間基準260のタイプに応じて、各データセット241のこの関連付けの少なくとも一部は、同期機能133によっても、またはその代わりに実行されてもよい。後者の場合、収集ステップは、代わりに、より小さいセット241の各々またはそのサブセットを、当該一次ストリーム210、301に固有の時間軸のそれぞれの時間に関連付けることを含んでよい。
【0119】
いくつかの実施形態では、収集ステップはまた、複数の一次ビデオストリーム210、301から収集された生データのバイナリビデオおよび/またはオーディオデータを、均一な品質に変換、および/または周波数を更新することを含む。これは、必要に応じて、複数の一次デジタルビデオストリーム210、301の生データのバイナリデジタルビデオおよび/またはオーディオデータを、共通のビデオフレームレート;共通のビデオ解像度;または共通のオーディオサンプリングレートにダウンサンプリングまたはアップサンプリングすることを含んでよい。当該フォーマット固有収集機能131aが正しいバイナリ符号化ターゲットフォーマットに従って生データのバイナリデータを直接処理することができるため、このような再サンプリングは、完全なデコーディング/再エンコーディングを実行することなく、あるいは、デコーディングを全く実行することすらなく、実行することができることに留意されたい。
【0120】
好ましくは、複数の一次デジタルビデオストリーム210、301の各々は、上述したように、個々のフレーム213またはフレーム213のシーケンスとして、個々のデータ格納バッファ250に格納され、また、各々は、共通時間基準260に順に関連付けられた対応するタイムスタンプに関連付けられる。
【0121】
例示のために提供される具体例では、ビデオ通信サービス110は、Microsoft(登録商標) Teams(登録商標)であり、同時接続の複数参加者122が関与するビデオ会議を実行している。自動参加者クライアント140は、Teams(登録商標)会議の会議参加者として登録されている。
【0122】
次に、一次ビデオ入力信号210が、自動参加者クライアント140を介して収集機能130に提供され、収集機能130によって取得される。これらはH264フォーマットの生データ信号であり、各ビデオフレームのタイムスタンプ情報を含む。
【0123】
関連するフォーマット固有の収集機能131aは、設定可能な事前定義されたTCPポート上で、IP(クラウドのLANネットワーク)経由で生データをピックアップする。すべてのTeams(登録商標)会議参加者と関連する音声データは、個別のポートに関連付けられる。次に、収集機能131は、オーディオ信号(50Hz)からのタイムスタンプを使用し、ビデオデータを25Hzの固定出力信号にダウンサンプリングしてから、ビデオストリーム220をそれぞれの個別のバッファ250に格納する。
【0124】
上述のように、共通プロトコル240は、データを生データのバイナリ形式で保存する。これは、非常に低レベルで、ビデオ/オーディオデータの生データのビットおよびバイトを処理するように設計することができる。好ましい実施形態では、データは、単純なバイト配列または対応するデータ構造(スライスなど)として共通プロトコル240に格納される。これは、データが従来のビデオコンテナに入れられる必要が全くないことを意味する(共通プロトコル240は、この文脈ではそのような従来のコンテナを構成しない)。また、ビデオのエンコードおよびデコードは、計算量的に重いので、遅延を引き起こし、高価なハードウエアを必要とする。さらに、この問題は参加者の数によってスケーリングされる。
【0125】
共通プロトコル240を使用すると、Teams(登録商標)の各会議参加者122に関連付けられた一次ビデオストリーム210と、任意の外部ビデオソース300のために、収集機能131内のメモリを確保し、プロセス中にオンザフライで割り当てメモリ量を変更することが可能になる。このようにして、入力ストリームの数を変更することが可能になり、その結果、各バッファを有効に保つことができる。例えば、解像度、フレームレートなどの情報は可変であるが、共通プロトコル240にメタデータとして格納されるため、この情報を使用して、必要に応じて各バッファのサイズを迅速に変更することができる。
【0126】
以下は、本タイプの共通プロトコル240の仕様の一例である。
【0127】
【表1】
【0128】
上記表では、「もしあれば、検出されたイベント(Detected event in, if any)」データは、共通プロトコル260の仕様の一部として含まれている。しかしながら、いくつかの実施形態では、この情報(検出されたイベントに関する)は、代わりに別のメモリバッファに入れてもよい。
【0129】
いくつかの実施形態では、オーバーレイまたはエフェクトであり得るデジタルビデオ情報220の上記少なくとも1つの追加部分もまた、共通時間基準260に順に関連付けられた対応するタイムスタンプにそれぞれ関連付けられた個々のフレームまたはフレームのシーケンスとして、それぞれの個別バッファ250に格納される。
【0130】
上記に例示したように、イベント検出ステップは、共通プロトコル240を使用して、検出されたイベント211を記述するメタデータ242を、当該イベント211が検出された一次デジタルビデオストリーム210、301に関連付けて記憶することを含んでよい。
【0131】
イベント検出は、異なる方法で実行することができる。AIコンポーネント132aによって実行されるいくつかの実施形態では、イベント検出ステップは、第1の訓練されたニューラルネットワークまたは他の機械学習コンポーネントが、前記イベント211のいずれかを自動的に検出するために、複数の一次デジタルビデオストリーム210、301の少なくとも1つ、例えばいくつか、または全部を個別に分析することを含む。これは、AIコンポーネント132aが、管理された分類において、一次ビデオストリーム210、301のデータを、予め定義されたイベントのセットに分類すること、および/または、管理されていない分類において、動的に決定されたイベントのセットに分類することを含んでよい。
【0132】
いくつかの実施形態では、検出されたイベント211は、当該一次ビデオストリーム210、301である、またはこれに含まれるプレゼンテーションのプレゼンテーションスライドの変更である。
【0133】
例えば、プレゼンテーションの発表者が、聴衆に対してその時点で行っているプレゼンテーションのスライドを変更することを決定した場合、これは、所定の視聴者にとって興味深いものが変化し得ることを意味する。新しく表示されるスライドは、いわゆる「バタフライ」モード(例えば、出力ビデオストリーム230でスライドを発表者のビデオと並べて表示する)で短時間見るのに最適な全体レベルの画像に過ぎないかもしれない。あるいは、スライドには、詳細が多く、フォントサイズが小さいテキストなどが含まれる場合もある。後者の場合、スライドはフルスクリーンで表示され、通常の場合よりも多少長い時間表示される。この場合のスライドは、発表者の顔よりもプレゼンテーションを見る人の興味を引くかもしれないので、バタフライモードはそれほど適切ではないかもしれない。
【0134】
実際には、イベント検出ステップは、以下の少なくとも1つで構成される。
【0135】
まず第1に、イベント211は、検出されたスライドの第1の画像と、それに後続する検出されたスライドの第2の画像との差の画像解析に基づいて検出することができる。一次ビデオストリーム220、301の性質がスライドを示すものであることは、OCR(光学式文字認識)と組み合わせた動き検出を使用するなど、それ自体は従来のデジタル画像処理を使用して自動的に決定することができる。
【0136】
これは、自動コンピュータ画像処理技術を使用して、検出されたスライドが、実際にスライドの変更として分類するのに十分なほど大きく変化したかどうかをチェックすることを含んでよい。これは、RGBカラー値に関して、現在のスライドと前のスライドとの間のデルタ(delta)をチェックすることによって行うことができる。例えば、問題のスライドがカバーする画面領域で、RGB値がどの程度グローバルに変化したかを評価し、同時に、これに協調して変化する隣接するピクセルのグループを見つけることが可能かどうかを評価することができる。こうすることで、関連するスライドの変化を検出することができ、同時に、例えば、画面全体にわたるコンピュータのマウスの動きのような無関係な変化をフィルタリングすることができる。このアプローチで完全な構成可能性が実現される。例えば、発表者がコンピュータのマウスを使って異なるものを指し示しながら何かを詳細に発表したい場合など、コンピュータのマウスの動きをキャプチャできることが望まれることがある。
【0137】
第2に、イベント211は、より高い特異性でイベントの種類を決定するために、第2の画像自体の情報複雑性の画像解析に基づいて検出されてもよい。
【0138】
これは例えば、問題のスライド上のテキスト情報の総量や、関連するフォントサイズを評価することを含むかもしれない。これは、ディープラーニングに基づく文字認識技術など、従来のOCR手法を使用して行うことができる。
【0139】
評価されたビデオストリーム210、301の生データのバイナリフォーマットが既知であるため、これは、最初にビデオデータをデコードまたは再エンコードすることなく、バイナリドメインで直接実行されてもよいことに留意されたい。例えば、イベント検出機能132は、画像解釈サービスのための関連するフォーマット固有の収集機能を呼び出してもよく、またはイベント検出機能132自体が、多数の異なるサポートされる生データのバイナリビデオデータフォーマットに対して、個々のピクセルレベルなどへの画像情報を評価するための機能を含んでもよい。
【0140】
別の例では、検出されたイベント211は、デジタルビデオ通信サービス110に対する参加者クライアント121の通信接続の喪失である。この場合、検出ステップは、当該参加者クライアント121に対応する一次デジタルビデオストリーム210の一連の後続ビデオフレーム213の画像解析に基づいて、当該参加者クライアント121が通信接続を喪失したことを検出することを含んでよい。
【0141】
参加者クライアント121は、異なる物理的な場所や異なるインターネット接続に関連付けられているため、誰かがビデオ通信サービス110または中央サーバ130への接続を喪失することが起こり得る。そのような状況では、生成された出力ビデオストリーム230に黒または空の画面が表示されないようにすることが望ましい。
【0142】
これに替えて、このような接続の喪失は、イベント検出機能132によってイベントとして検出することができ、例えば、使用される2つのクラスが接続されている/接続されていない(データなし)である2クラス分類アルゴリズムを適用することによって検出することができる。この場合、「データなし」は、発表者が意図的に黒いスクリーンを送信することとは異なると理解される。わずか1フレームまたは2フレームのような短時間の黒いスクリーンは、最終的に生成されるストリーム230では目立たない可能性があるため、2クラス分類アルゴリズムを経時的に適用して時系列を作成することができる。次に、接続中断の最小長さを指定する閾値を使用して、接続が喪失したかどうかを決定することができる。
【0143】
以下で説明されるように、上記で例示されたタイプの検出されたイベントは、パターン検出機能134によって、適切かつ所望のように、様々な対応をするために使用され得る。
【0144】
上記のように、個々の一次ビデオストリーム210、301は、それぞれ共通の時間基準260に関連しており、同期機能133が互いに対して時間同期させることができる。
【0145】
いくつかの実施形態では、共通時間基準260は、共通オーディオ信号111(図1から図3参照)に基づくか、または共通オーディオ信号111を備え、共通オーディオ信号111は、上述したように、少なくとも2つの遠隔接続された参加者クライアント121が参加する共有デジタルビデオ通信サービス110に共通であり、各々が、一次デジタルビデオストリーム210のそれぞれの1つを提供する。
【0146】
上述したMicrosoft(登録商標)Teams(登録商標)の例では、共通オーディオ信号が生成され、自動参加者クライアント140を介して、および/またはAPI 112を介して、中央サーバ130によってキャプチャされ得る。この例および他の例では、このような共通オーディオ信号をハートビート信号として使用して、このハートビート信号に基づいて個々の一次ビデオストリーム220を特定の時点に結合することによって、個々の複数の一次ビデオストリーム220を時間同期させることができる。このような共通オーディオ信号は、別個の(他の一次ビデオストリーム210の各々との関係において)信号として提供されてもよく、これにより、他の一次ビデオストリーム210は各々、当該他の一次ビデオストリーム210に含まれるオーディオに基づいて、または(自動画像処理ベースのリップシンク技術を使用するなど)そこに含まれる画像情報に基づいて、共通オーディオ信号に個別に時間相関(time -correlated)されてもよい。
【0147】
言い換えると、個々の一次ビデオストリーム210に関連する可変の待ち時間および/または異なる待ち時間を処理し、結合されたビデオ出力ストリーム230の時間同期を実現するために、このような共通オーディオ信号が、中央サーバ130内のすべての一次ビデオストリーム210のためのハートビートとして使用される(ただし、おそらく外部の一次ビデオストリーム301ではない)。言い換えれば、他のすべての信号は、すべてが時間同期していることを確認するために、この共通のオーディオ時間のハートビートにマッピングされる。
【0148】
別の例では、時間同期は、出力デジタルビデオストリーム230に導入され、参加者クライアント121の1つまたはいくつかの個々のものの一部として提供されるそれぞれのローカル時間同期ソフトウエア機能125によって検出される時間同期要素231を使用して達成される。ローカルソフトウエア機能125は、出力ビデオストリーム230における時間同期要素231の到着時間(time of arrival)を検出するように構成される。理解されるように、このような実施形態では、出力ビデオストリーム230は、ビデオ通信サービス110にフィードバックされるか、そうでない場合、各参加者クライアント121および当該ローカルソフトウエア機能125に利用可能となる。
【0149】
例えば、時間同期要素231は、一定の時間間隔で出力ビデオ230に配置または更新される、所定の順序または方法で色が変化する画素などの視覚的マーカ;出力ビデオ230に更新および表示される視覚的時計;(例えば、十分に低い振幅および/または十分に高い周波数を有することによって、参加者122に聞こえないように設計され得る)音声信号であって、出力ビデオストリーム230の一部を形成する音声に追加される音声信号、であってよい。ローカルソフトウエア機能125は、適切な画像処理および/または音声処理を使用して、時間同期要素(のそれぞれ)231のそれぞれの到着時間を自動的に検出するように構成される。
【0150】
次に、共通時間基準260は、少なくとも部分的には、検出された到着時間に基づいて決定され得る。例えば、ローカルソフトウエア機能125の各々は、検出された到着時間を示すそれぞれの情報を中央サーバ130に通信してもよい。
【0151】
このような通信は、当該参加者クライアント121と中央サーバ130との間の直接通信リンクを介して行われてよい。ただし、通信は、当該参加クライアント121に関連付けられた一次ビデオストリーム210を介して行われてもよい。例えば、参加者クライアント121は、中央サーバ130による自動検出のために、当該参加者クライアント121によって生成される一次ビデオストリーム210に、上述したタイプのような視覚的または可聴的コードを導入し、共通時間基準260を決定するために使用してもよい。
【0152】
さらに追加的な実施例では、各参加者クライアント121は、ビデオ通信サービス110に対して、すべての参加者クライアント121が視聴可能な共通ビデオストリームにおいて画像検出を実行し、そのような画像検出の結果を、上述したものに対応する方法で中央サーバ130に中継し、そこで経時的に、互いに対する各参加者クライアント121のそれぞれのオフセットを決定するために使用されてもよい。このようにして、共通時間基準260は、個々の相対オフセットのセットとして決定され得る。例えば、共通に利用可能なビデオストリームの選択された基準ピクセルは、ローカルソフトウエア機能125などによって、いくつかの、またはすべての参加クライアント121によってモニタリングされ、そのピクセルの現在の色が中央サーバ130に伝達されてもよい。中央サーバ130は、多数の(またはすべての)参加クライアント121の各々から連続して受信されたそのような色値に基づいてそれぞれの時系列を計算し、相互相関(cross-correlation)を実行することにより、異なる参加クライアント121間に亘る相対的な時間オフセットの推定されるセットを生成してもよい。
【0153】
実際には、ビデオ通信サービス110に供給された出力ビデオストリーム230は、当該ビデオ通信のすべての参加者クライアントの共有画面の一部として含まれてよく、したがって、参加者クライアント121に関連付けられるそのような時間オフセットを評価するために使用されてよい。特に、ビデオ通信サービス110に供給された出力ビデオストリーム230は、自動参加者クライアント140および/またはAPI112を介して、中央サーバに再び利用可能になってよい。
【0154】
いくつかの実施形態では、共通時間基準260は、複数の一次デジタルビデオストリーム210、301のうちの第1のもののオーディオ部分214と、複数の一次デジタルビデオストリーム210、301のうちの上記第1のものの画像部分215との間の検出された不一致(discrepancy)に少なくとも部分的に基づいて決定され得る。このような不一致は、例えば、当該第1の一次デジタルビデオストリーム210、301において視聴される発話中の参加者122のデジタルリップシンクビデオ画像分析に基づくものでよい。このようなリップシンク解析はそれ自体従来のものであり、例えば訓練されたニューラルネットワークを使用してもよい。分析は、利用可能な共通のオーディオ情報に関連して、各一次ビデオストリーム210、301について同期機能133によって実行されてもよく、個々の一次ビデオストリーム210、301に亘る相対的なオフセットは、この情報に基づいて決定されてもよい。
【0155】
いくつかの実施形態では、同期ステップは、最大30秒、例えば最大5秒、例えば最大1秒、例えば最大0.5秒、ただし0秒よりも長い遅延(この文脈において「遅延」および「待ち時間」は同じものを意味することが意図される)を意図的に導入することを含み、これにより、出力デジタルビデオストリーム230には少なくともその遅延が提供される。いずれの長さであっても、意図的に導入される遅延は、収集ステップにおける任意の再サンプリング後に格納されるこの数のフレーム(または個別の画像)のような、少なくとも3つ、あるいは少なくとも5つ、さらには10つといった、少なくとも複数のビデオフレーム分である。本明細書で使用する場合、「意図的に」という用語は、同期の問題などに基づいてそのような遅延を導入する必要性とは無関係に遅延が導入されることを意味する。言い換えれば、意図的に導入される遅延は、複数の一次ビデオストリーム210、301間の互いの時間同期をとるために、一次ビデオストリーム210、301の同期の一部として導入される遅延に加えて導入される。意図的に導入される遅延は、共通時間基準260との関係で、予め決められたもの、固定されたもの、または可変のものであってもよい。遅延時間は、複数の一次ビデオストリーム210、301のうち最も潜在的(latent)でない1つに関連して測定されてよく、上記時間同期の結果、これらのストリーム210、301のより多くの潜在的なものが、相対的に小さい意図的に追加された遅延に関連付けられるようにしてもよい。
【0156】
いくつかの実施形態では、0.5秒以下のような比較的小さな遅延が導入される。この遅延は、出力ビデオストリーム230を使用するビデオ通信サービス110の参加者にはほとんど気づかれない。他の実施形態では、出力ビデオストリーム230が対話型コンテキストでは使用されず、代わりに外部消費者150への一方向通信で公開される場合などに、より大きな遅延が導入される可能性がある。
【0157】
この意図的に導入された遅延は、同期機能133が、収集された個別のプライマリストリーム210、301のビデオフレームを正しい共通時間基準260のタイムスタンプ261にマッピングするのに十分な時間を達成するのに十分なものであってよい。また、失われた一次ストリーム210、301の信号、スライドの変更、解像度の変更などを検出するために、上述のイベント検出を実行するのに十分な時間をもたらすのに十分なものであってよい。さらに、遅延を意図的に導入することにより、以下に説明するように、パターン検出機能134を改善するのに十分なものであってよい。
【0158】
遅延の導入は、当該バッファリングされたフレーム213を使用して出力ビデオストリーム230を公開する前に、収集され時間同期された複数の一次ビデオストリーム210、301の各々をバッファリング250することを含むことが理解される。言い換えれば、複数の一次ビデオストリーム210、301の少なくとも1つ、いくつか、またはすべてのビデオデータおよび/またはオーディオデータは、キャッシュのように、しかし(従来のキャッシュバッファのように)帯域幅が変化する状況に対処できることを意図して使用されるのではなく、上記の理由のために、特にパターン検出機能134によって使用されるように、バッファリングされた方法で中央サーバ130に存在することになってよい。
【0159】
そのため、いくつかの実施形態では、パターン検出ステップは、複数の一次デジタルビデオストリーム210、301の少なくとも1つ、例えばいくつか、例えば少なくとも4つ、またはすべて、の特定の情報を考慮することを含み、この特定の情報は、出力デジタルビデオストリーム230の生成においてまだ使用されていない、時間同期された一次デジタルビデオストリーム210のフレームよりも後のフレーム213に存在する。したがって、新たに追加されたフレーム213は、出力ビデオストリーム230の一部(またはその基礎)を形成する前の特定の待ち時間の間、当該バッファ250に存在する。この期間中、当該フレーム213の情報は、出力ビデオストリーム230の現在のフレームを生成するために現在使用されているフレームとの関係において、「未来」の情報を構成する。出力ビデオストリーム230のタイムラインが当該フレーム213に達すると、当該フレームは出力ビデオストリーム230の対応するフレームの生成に使用され、その後は破棄されてもよい。
【0160】
言い換えれば、パターン検出機能134は、出力ビデオストリーム230を生成するためにまだ使用されていないビデオ/オーディオフレーム213のセットを自由に利用でき、このデータを使用して上記パターンを検出する。
【0161】
パターン検出は、異なる方法で実行することができる。AIコンポーネント134aによって実行されるいくつかの実施形態では、パターン検出ステップは、第2の訓練されたニューラルネットワークまたは他の機械学習コンポーネントが、上記パターン212を自動的に検出するために、複数の一次デジタルビデオストリーム120、301の少なくとも2つ、例えば少なくとも3つ、例えば少なくとも4つ、あるいはすべて、を協調して(in concert)分析することを含む。
【0162】
いくつかの実施形態において、検出されたパターン212は、共有ビデオ通信サービス110に対する、各々がそれぞれの参加者クライアント121に関連付けられた、少なくとも2人、例えば少なくとも3人、例えば少なくとも4人の異なる発話中の参加者122を含む発話パターンを備え、これら発話中の参加者122の各々は、複数の一次デジタルビデオストリーム210、301のそれぞれの1つにおいて視覚的に視聴される。
【0163】
好ましくは、生成ステップは、出力ビデオストリーム230の現在の生成状態を決定し、追跡し、更新することを含む。例えば、そのような状態は、どのような参加者122(もしあれば)が出力ビデオストリーム230において可視であるか、および画面上のどこで可視であるか;いずれかの外部ビデオストリーム300が出力ビデオストリーム230において可視であるか、および画面上のどこで可視であるか;いずれかのスライドまたは共有画面が、フルスクリーンモードで表示されるか、またはいずれかのライブビデオストリームと組み合わせて表示されるか、などを決定付けることができる。したがって、生成機能135は、生成された出力ビデオストリーム230に関するステートマシン(state machine)として見ることができる。
【0164】
出力ビデオストリーム230を、例えば最終消費者150によって視聴される結合されたビデオ体験として生成するために、中央サーバ130は、個々の一次ビデオストリーム210、301に関連付けられる個々のイベントを単に検出するよりも深いレベルで何が起こるかを理解できることが有利である。
【0165】
第1の例では、プレゼンテーションしている参加者クライアント121が、現在表示されているスライドを変更している。このスライド変更は、上述したようにイベント検出機能132によって検出され、スライド変更が起こったことを示すメタデータ242が当該フレームに追加される。プレゼンテーションしている参加者クライアント121が多数のスライドを前方に急速に連続してスキップしていることが判明し、その結果、一連の「スライド変更」のイベントが、検出機能132によっても検出され、当該一次ビデオストリーム210の個別のバッファ250に対応するメタデータ242とともに格納されるので、これは何回も起こる。実際には、そのような急速に前方にスキップされた各スライドは、ほんの数秒の間しか表示されないことがある。
【0166】
パターン検出機能134は、これらの検出されたスライド変更の複数にまたがる、当該バッファ250内の情報を参照して、多数のまたは急速に実行されたスライド変更ではなく、1つの単一のスライド変更に対応するパターンを検出する(すなわち、前方スキップにおける最後のスライドへの単一のスライド変更であり、一旦急速なスキップが終了すると、その最後のスライドは可視のままである)。言い換えれば、パターン検出機能134は、例えば、非常に短時間に10回のスライド変更があったこと、なぜそれらが1つの単一のスライド変更を意味する検出されたパターンとして扱われるのかに注目する。その結果、生成機能135は、パターン検出機能134によって検出されたパターンへのアクセスを持ち、この最後のスライドが上記ステートマシンにおいて潜在的に重要であると判断するので、出力ビデオストリーム230において数秒間フルスクリーンモードでその最後のスライドを表示することを選択することができる。また、出力ストリーム230において、中間的に閲覧されるスライドを全く表示しないことを選択することもできる。
【0167】
複数の急速なスライド変更を有するパターンの検出は、単純なルールベースのアルゴリズムによって検出されてもよいが、これに替えて、分類によって動画像のそのようなパターンを検出するように設計され訓練されたニューラルネットワークを使用して検出されてもよい。
【0168】
別の例では、例えば、ビデオ通信がトークショー、パネル討論、または同様のものである場合に有用である可能性があるが、一方では、穏やかで滑らかな出力ビデオストリーム230を生成して公開することによって消費者150に関連する視聴体験を与えながら、一方では、現在の話者の間で視覚的注目を素早く切り替えることが望ましい可能性がある。この場合、イベント検出機能132は、各一次ビデオストリーム210、301を連続的に分析して、その特定の一次ビデオストリーム210、301において視聴されている人物が現在話しているか否かを常に判定することができる。これは、例えば、それ自体従来の画像処理ツールを使用して、上述のように実行され得る。次に、パターン検出機能134は、複数の一次ビデオストリーム210、301を含む、特定の全体的なパターン(overall patterns)を検出するように動作可能であってもよく、このパターンは、滑らかな出力ビデオストリーム230を生成するのに有用である。例えば、パターン検出機能134は、現在の話者間の非常に頻繁なスイッチのパターンおよび/または複数の同時話者を含むパターンを検出することができる。
【0169】
次に、生成機能135は、例えば、半秒しか話さずに再び無音になる話者に視覚的フォーカスを自動的に切り替えないようにしたり、両者が入れ替わりながら又は同時に話しているある時間帯に複数の話者が並んで表示される状態に切り替えるようにしたりするなど、生成状態に関連して自動化された決定を行う際に、このような検出されたパターンを考慮することができる。この状態決定プロセスは、それ自体、時系列パターン認識技術を使用して、または訓練されたニューラルネットワークを使用して実行することができるが、少なくとも部分的に所定のルールセットに基づくこともできる。
【0170】
いくつかの実施形態では、並行して検出され、生成機能135のステートマシンへの入力を形成する複数のパターンがあってもよい。このような複数のパターンは、生成機能135によって、異なるAIコンポーネント、コンピュータビジョン検出アルゴリズムなどで使用され得る。一例として、一部の参加者クライアント121の不安定な接続を同時に検出しながら、恒久的なスライドの変更を検出することができ、他のパターンは現在の主な発話中の参加者122を検出する。このような利用可能なパターンデータをすべて使用して、このようなパターンデータの時系列を分析するために、分類器ニューラルネットワークを訓練し、および/またはルールのセットを開発することができる。このような分類は、少なくとも部分的に、例えば完全に、上記の生成で使用される決定された所望の状態変化をもたらすように、教師付きにすることができる。例えば、様々な異なる生成スタイルおよび要望に従って出力ビデオストリーム230を自動的に生成するように特に構成された、異なるそのような所定の分類器を生成することができる。訓練は、所望の出力としての既知の生成状態変化シーケンス、および訓練データとしての既知のパターン時系列データに基づいて行うことができる。いくつかの実施形態では、ベイズモデルを使用して、そのような分類器を生成することができる。具体的な例では、経験豊富なプロデューサから先験的に情報を得ることができ、「トークショーでは、話者Aから話者Bに直接切り替わることはしないが、他の話者が非常に支配的で大きな声で話す場合を除き、他の話者に焦点を当てる前に、常に最初に概要を示す」といった入力を提供することができる。この生成ロジックは、「もしXが真であれば|Yが真であるという事実が与えられれば|Zを実行する」という一般的な形式のベイズモデルとして表現される。実際の検出(誰かが大きな声で話しているかどうかなど)は、分類器や閾値ベースのルールを使って行うことができる。
【0171】
(パターン時系列データの)大規模なデータセットがあれば、ディープラーニングの手法を用いて、ビデオストリームの自動生成に使用するための、正しく魅力的な生成フォーマットを開発することができる。
【0172】
要約すると、個別の複数の一次ビデオストリーム210、301に基づくイベント検出;意図的に導入された遅延;複数の時間同期された一次ビデオストリーム210、301および検出されたイベントに基づくパターン検出;および検出されたパターンに基づく生成プロセスの組み合わせを使用することにより、テイストおよびスタイルの幅広い可能な選択に従って、出力デジタルビデオストリーム230の自動生成を実現することが可能になる。この結果は、イベント検出機能132、パターン検出機能134、および生成機能135によって使用される、可能なニューラルネットワークおよび/またはルールに基づく分析技術の広い範囲に亘って有効である。特に、第1の生成ビデオストリームが第2の生成ビデオストリームの自動生成に使用されること;および参加者クライアントの異なるグループに対して異なる意図的に追加された遅延を使用すること、を特徴とする以下に説明する実施形態においてこれは有効である。
【0173】
上記に例示したように、生成ステップは、出力デジタルビデオストリーム230における複数の一次デジタルビデオストリーム210、301の個々のものの可視性;視覚的および/または聴覚的ビデオコンテンツの配置;使用される視覚的または聴覚的効果;および/または出力デジタルビデオストリーム230の出力モードに関する、予め決定されたおよび/または動的に可変なパラメータのセットに基づいて、出力デジタルビデオストリーム230を生成することを含んでよい。このようなパラメータは、生成機能135のステートマシンによって自動的に決定され、および/または生成を制御するオペレータによって設定され(半自動にされ)、および/またはある先験的な構成上の要望(出力ビデオストリーム230のレイアウト変更または上記例示されたタイプの状態変更の間の最短時間など)に基づいて予め決定されてよい。
【0174】
実際の例では、ステートマシンは、フルスクリーンの発表者ビュー(現在発話中の参加者122をフルスクリーンで示す);スライドビュー(現在共有されているプレゼンテーションスライドをフルスクリーンで示す);「バタフライビュー」(現在発話中の参加者122と現在共有されているプレゼンテーションスライドの両方を並べたビューで示す);マルチスピーカビュー(参加者122のすべてまたは選択されたサブセットを並べてまたはマトリックスレイアウトで示す)など、出力ビデオストリーム230に適用され得る所定の標準レイアウトのセットをサポートしてよい。様々な利用可能な生成フォーマットは、利用可能な状態のセット(上記標準レイアウトのセットなど)と共に、(上記に例示したような)ステートマシン状態変更ルールのセットによって定義することができる。例えば、そのような生成フォーマットの1つは「パネルディスカッション」であり、別の生成フォーマットは「プレゼンテーション」などである。中央サーバ130へのGUIまたは他のインタフェースを介して特定の生成フォーマットを選択することによって、システム100のオペレータは、予め定義されたそのような制作フォーマットのセットのうちの1つを迅速に選択することができ、次いで、中央サーバ130が、完全に自動的に、上記のような利用可能な情報に基づいて、当該生成フォーマットに従って出力ビデオストリーム230を生成することを可能にする。
【0175】
さらに、生成中に、上述のように、各会議参加者クライアント121または外部ビデオソース300に対して、それぞれのメモリ内バッファが作成され、維持される。これらのバッファは、その場で容易に削除、追加、および変更することができる。次に、中央サーバ130は、出力ビデオストリーム230の生成中に、追加/削除(dropped-off)された参加者クライアント121およびスピーチを行う予定の参加者122;プレゼンテーションの予定されたまたは予期せぬ一時停止/再開;現在使用されている生成フォーマットに対する所望の変更などに関する情報を受信するように構成されてよい。このような情報は、例えば、上述したように、オペレータGUIまたはインタフェースを介して中央サーバ130に供給されてよい。
【0176】
上記に例示したように、いくつかの実施形態では、複数の一次デジタルビデオストリーム210、301の少なくとも1つは、デジタルビデオ通信サービス110に提供され、次に、公開ステップは、出力デジタルビデオストリーム230をその同じ通信サービス110に提供することを含んでよい。例えば、出力ビデオストリーム230は、ビデオ通信サービス110の参加者クライアント121に提供されてもよく、または、API112を介して、ビデオ通信サービス110への外部ビデオストリームとして提供されてもよい。このようにして、出力ビデオストリーム230は、ビデオ通信サービス110によって現在実現されているビデオコミュニケーションイベントの参加者の複数または全員が利用できるようにすることができる。
【0177】
上述もしたように、追加的または代替的に、出力ビデオストリーム230は、1つまたは複数の外部消費者150に提供されてよい。
【0178】
一般に、生成ステップは、中央サーバ130によって実行され、出力デジタルビデオストリーム230を、API137を介してライブビデオストリームとして1つまたは複数の同時消費者に提供することができる。
【0179】
図8aは、本発明の第1の態様に係る方法を示す図であり、上述した開示を参照して以下に説明する。すなわち、デジタルビデオストリーム(以下では、「第2の」デジタルビデオストリームと表記する)を提供するための図8aに示される方法では、デジタルビデオストリームの収集、イベント検出、同期、パターン検出、生成、および公開に関して上述したすべてのメカニズムおよび原理を適用することができる。
【0180】
本発明の第2の態様に係る方法を示す図8b、本発明の第3の態様に係る方法を示す図8c、および本発明の第4の態様に係る方法を示す図8dについても、概ね同様のことがいえる。
【0181】
上記第1、第2、第3および第4の態様は自由に組み合わせることができる。特に、第4の態様に係る方法は、第1、第2および第3の態様のいずれか1つによる方法と組み合わせて使用することができる。
【0182】
さらに、図9は、図8aから図8dに示された方法を実行するための構成を備えるシステム100の簡略図である。
【0183】
中央サーバ130は、上記のような収集機能131を備えている。
【0184】
中央サーバ130はまた、第1の生成機能135'、第2の生成機能135''および第3の生成機能135'''を備える。このような各生成機能135'、135''、135'''は、生成機能135に対応し、生成機能135に関連して上記で説明したことは、生成機能135'、135''、135'''にも同様に適用される。生成機能135'、135''、135'''は、中央サーバ130の詳細な構成に応じて、別個のものであってもよいし、複数の機能を1つの単一の論理関数に共有配置してもよく、3つを超える数の生成機能が存在してもよい。生成機能135'、135''、135'''は、場合によっては、1つの同じ生成機能135の異なる機能的側面であってもよい。生成機能135'、135''、135'''と他のエンティティとの間の様々な通信は、適切なAPIを介して行われてよい。
【0185】
さらに、生成機能135'、135''、135'''またはそのような生成機能のグループのそれぞれに対して別個の収集機能131が存在してもよく、詳細な構成に応じて、各々がそれぞれの収集機能131を有する、論理的に分離された複数の中央サーバ130が存在してもよいことが理解される。
【0186】
さらに、中央サーバ130は、第1の公開機能136'、第2の公開機能136''、および第3の公開機能136'''を備える。このような各公開機能136'、136''、136'''は、公開機能136に対応し、公開機能136に関連して上記で説明したことは、公開機能136'、136''、136'''にも同様に適用される。公開機能136'、136''、136'''は、中央サーバ130の詳細な構成に応じて、別個の機能であってもよく、複数の機能を備えた1つの単一の論理機能に共有配置されてもよく、また、3つを超える数の公開機能が存在してもよい。公開機能136'、136''、136'''は、場合によっては、1つの同じ公開機能136の異なる機能的側面であってもよい。
【0187】
図9では、本明細書で開示する原理を説明するために、参加者クライアントの3つのセットまたはグループが示されており、それぞれが上述の参加者クライアント121に対応している。したがって、このような参加者クライアント121の第1のグループ121'、このような参加者クライアントの第2のグループ121''、およびこのような参者加クライアントの第3のグループ121'''が存在する。これらのグループの各々は、1つまたは好ましくは少なくとも2つの、参加者クライアントから構成され得る。このようなグループは、詳細な構成に応じて、2つだけであってもよいし、3つ以上であってもよい。グループ121'、121''、121'''間の割り当ては、各参加者クライアント121が最大1つのグループ121'、121''、121'''に割り当てられるという意味で、排他的であってもよい。代替的構成では、少なくとも1つの参加者クライアント121が、同時に複数のそのようなグループ121'、121''、121'''に割り当てられてもよい。
【0188】
図9はまた、外部消費者150を示しており、上述のように、そのような外部消費者150が複数存在してもよいことが理解される。
【0189】
図9は、単純化の目的のためビデオ通信サービス110を示していないが、上述の一般的なタイプのビデオ通信サービスを中央サーバ130と共に使用してもよく、例えば、上述の方法で中央サーバ130を使用して各参加者クライアント121に共有ビデオ通信サービスを提供してもよいことが理解される。
【0190】
図8aに戻り、最初のステップで方法が開始される。
【0191】
後続の収集ステップにおいて、多数の一次ビデオストリーム、この例示的な場合では少なくとも第1の一次デジタルビデオストリーム、第2の一次デジタルビデオストリーム、および第3の一次デジタルビデオストリームのそれぞれが、それぞれの参加者クライアント121から収集される。したがって、第1の一次デジタルビデオストリームが第1の参加者クライアントから収集され、第2の一次デジタルビデオストリームが第2の参加者クライアントから収集され、第3の一次デジタルビデオストリームが第3の参加者クライアントから収集される。
【0192】
後続する公開ステップにおいて、少なくとも1つのビデオストリームが、第1の参加者クライアントおよび第2の参加者クライアントの少なくとも一方に提供される。すなわち、このビデオストリームは、第1の一次デジタルビデオストリーム、第2の一次デジタルビデオストリーム、および、第1および第2の一次ビデオストリームのうちの少なくとも1つに基づいて生成された第1の生成ビデオストリームのうちの少なくとも1つである。このような一次ビデオストリームの生成は、以下に説明するように、第1の生成機能135'によって実行されてもよく、例えば、当該生成の結果として第1の生成デジタルビデオストリームの遅延を導入することを含んでもよい。
【0193】
当該提供や公開は、連続的であってよく、リアルタイムであってもよい。
【0194】
例えば、第1および第2の参加者は、本明細書の他の箇所でも説明されているように、ビデオ会議などの同じビデオ通信サービスに参加することができる。そして、例えば第1の参加者クライアント121は、第1の参加者クライアント121のスクリーン124で視聴するための第2のデジタルビデオストリームを提供されてよく、その逆であってもよく、これにより、第1および第2の参加者クライアント121のユーザ122同士が互いを見て対話するようにできる。それに加えてまたはそれに替えて、第1および第2の参加者クライアントの各々または一方には、当該参加者クライアント121のそれぞれのスクリーン124で視聴するための第1の生成デジタルビデオストリームが提供されてよい。第1の生成デジタルビデオストリームと、第1および第2の一次ビデオストリームのいずれか1つとの両方が連動して提供される場合、当該一次ビデオストリームは、当該参加者クライアント121で表示されるビデオストリームを時間同期させるように、後述するように遅延させることができる。
【0195】
第2の生成機能135''によって実行される後続する第2の生成ステップにおいて、第2の生成ビデオストリームは、第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリームに基づき、さらに第3の一次デジタルビデオストリームにも基づくデジタルビデオストリームとして生成される。第3の一次デジタルビデオストリームは、好ましくは、そのままでも、または生成されたデジタルビデオストリームの一部としてでも、第1または第2の参加者クライアントに提供されないことに留意されたい。本明細書の他の箇所で説明されているように、第1および第2の参加者クライアントは、第3の参加者クライアントと比較して、参加者クライアントの異なるグループに割り当てられてよい。
【0196】
第2の生成ステップは、第2の生成ビデオストリームが、上記公開ステップにおいて第1または第2の参加者クライアントに提供され得るビデオストリームのいずれとも時間的に非同期であるように、時間遅延を導入することを含む。この時間遅延は、本明細書で説明される方法のいずれかにおいて、意図的に追加され、および/または第2の生成デジタルビデオストリームの生成の直接的な結果であってよい。好ましくは、第2の生成デジタルビデオストリームは、第1および/または第2の参加者クライアントで公開された任意のビデオストリームに関連して遅延して公開されるために利用可能である。これについて考慮する1つの方法は、第2の生成デジタルビデオストリームの任意の消費者クライアントは、第1および第2の参加者クライアントのビデオストリーム消費「タイムゾーン」よりも(時間的に)わずかに後の「タイムゾーン」において、この第2の生成デジタルビデオストリームを消費するということである。
【0197】
例えば、1つまたは複数の一次デジタルビデオストリームが第1および/または第2の参加者クライアントに提供される場合、そのような提供は、(意図的に導入された時間遅延を使用することなく)直接的であってよく、および/または当該参加者クライアントへの提供の前に計算上比較的軽量な処理のみを含んでよく、一方、第2の生成デジタルビデオストリームの生成は、第1のおよび/または第2の一次デジタルビデオストリームの公開のための最も早い遅延に関連して、第2の生成デジタルビデオストリームが最も早い公開のために遅延して生成されることにつながる、意図的に導入された時間遅延および/または比較的重量級の処理を含んでよい。第1の生成ビデオストリームが第1および/または第2の参加者クライアントに提供される場合、第1の生成デジタルビデオストリームは、比較的短い意図的に加えられた時間遅延および/または比較的軽量な処理を用いて生成され、一方、第2の生成デジタルビデオストリームは、比較的長い意図的に加えられた時間遅延および/または比較的重量級の処理を用いて生成され、その結果、第2の生成デジタルビデオストリームは、対応して、第1の生成デジタルビデオストリームの最も早い遅延に関連して、最も早い公開のために遅延して生成される。
【0198】
通常、第2の生成デジタルビデオストリームは、第1または第2の参加者クライアントにおいて公開されるために提供されるのではなく、例えば第3の参加者クライアント(第2のグループ121''などの異なるグループに割り当てられる)および/または外部の消費者クライアント151などの、第1および第2のクライアントが属するグループとは異なるグループ(第1のグループ121'など)に割り当てられる参加クライアントにおいて提供される。
【0199】
そのため、図8aに示されるように、上記公開ステップは、第2の生成ビデオストリームを、第1または第2の参加者クライアントではない少なくとも1つの消費者クライアント121、150に連続的に提供することをさらに含む。
【0200】
図8aにも示されているように、本方法は、当該デジタルビデオストリームを連続的に生成し、提供/公開することを繰り返してよい。
【0201】
後続するステップで本方法は終了する。
【0202】
図8bは、第2の態様に係る方法を示す。
【0203】
最初のステップで本方法はスタートする。
【0204】
後続する収集ステップにおいて、多数の一次ビデオストリーム、この例示的な例では、参加者クライアントの第1のグループから選択されたそれぞれの参加者クライアント121'から収集された少なくとも第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリーム、が収集される。
【0205】
図8aに示される方法の場合と同様に、収集は上述のように実行されてよく、収集機能131は例えば再エンコードを実行することなく生データを処理する。また、第1の生成デジタルビデオストリームを生成する目的で、参加者クライアント121'の第1のグループから収集された一次デジタルビデオストリームに適用される、上述の一般的なタイプのイベント検出ステップ、同期ステップ、およびパターン検出ステップも存在してよい。
【0206】
すなわち、後続する第1の生成ステップにおいて、第1の生成機能135'は、収集機能131からそれぞれのデジタルビデオストリームとして第1および第2の一次ビデオストリームを受信し、第1および第2の一次デジタルビデオストリームに基づいて第1の生成デジタルビデオストリームを生成する。好ましくは、上記第1のデジタルビデオストリームは、第1のグループ121'に割り当てられた参加者クライアントとは別の、1つの同じビデオ通信サービス110に接続された他の参加者クライアント121に基づいては生成されず、そうした他の参加者クライアント121がビデオ通信サービス110上で第1のグループ121'のメンバーと対話できるような方法では生成されない。他方、第1の生成ビデオストリームは、外部ビデオフィード、静的データまたはグラフィックスなどの他の情報に基づいて生成されてよい。明確化のため、図8bに関連して説明されたこれらおよび他のことは、図8a、図8cおよび図8dに示された方法にも適用され得る。
【0207】
したがって、この第1の生成の結果は、上述のタイプの生成されたデジタルビデオストリームであり、それは、例えば、サブパートとして、処理された形態または処理されていない形態で、1つまたは複数の当該一次ビデオストリームを視覚的に含んでよい。この第1の生成ビデオストリームは、中央サーバ130によって生成されたビデオ出力ストリームに関連して概略上述したように、ライブキャプチャされたビデオストリーム、スライド、外部から提供されたビデオまたは画像などを含んでよい。第1の生成ビデオストリームはまた、概略上述した方法で、第1のグループ121'の参加者クライアントによって提供される、意図的に遅延されたまたはリアルタイムの第1および/または第2の一次ビデオストリームの、検出されたイベントおよび/またはパターンに基づいて生成されてよい。
【0208】
後続する第2の生成ステップにおいて、第2の生成デジタルビデオストリームは、第1の生成ビデオストリーム、および参加者クライアント121'の第1のグループから収集された第1および第2の一次デジタルビデオストリームの双方に基づいて、デジタルビデオストリームとして生成される。第1および第2の一次デジタルビデオストリームは、収集機能131から第2の生成機能135''に提供されてよく、一方、第1の生成ビデオストリームは、第1の生成機能135'から第2の生成機能135''に提供されてよい。第1および第2の生成機能135'、135''が1つの同じ論理ユニットである場合(その場合もある)、生成は、その生成機能において単純に2つの連続するステップで実行される。
【0209】
後続するステップで本方法は終了する。
【0210】
第2の生成ステップ135''に供給される第1および/または第2の一次ビデオストリームは、第2の生成ステップ135''の前に様々な方法で予めフォーマットされ得ることが理解される。また、概略上述したように、イベントおよび/またはパターンを検出するために、意図的に遅延させることもできる。
【0211】
第2の生成ステップは、上述した生成ステップのいずれかと同様であってもよく、生成機能135、135'の機能に関して上述したことはすべて、第2の生成機能135''にも対応して適用可能である。例えば、第2の生成機能135''は、生成プロセスの一部として、様々な方法で一次ビデオストリームをフォーマットすることによって、第2の生成ビデオストリームを生成してよい。
【0212】
上述したように、第1および第2の一次ビデオストリームは、第1の生成機能135'に供給される前に、例えば上述したいずれかの方法で共通時間基準を使用するなどして、互いに時間同期させることができる。
【0213】
しかしながら、第2の生成ステップにおいて、第1および第2の一次デジタルビデオストリームを意図的に時間遅延させることができる(例えば、複数の一次ビデオストリームを互いに時間同期させるため、および/または第1の生成機能135'で使用するためのイベントおよび/またはパターンを検出できるようにするために実行される、既に適用された時間遅延に加えて、意図的に時間遅延させる)。ここで意図的に導入された時間遅延の目的および結果は、第2の生成ビデオストリームで使用される前に、第1の生成ビデオストリームと時間同期させることである。したがって、第1および第2の一次ビデオストリームに関して導入される追加遅延は、その後、第1の生成ステップの実行に関連する待ち時間に等しいか、実質的に等しいか、または少なくともその関数として決定される。追加される正確な待ち時間は、例えば、上述の一般的なタイプの検出された共通時間基準に基づいて決定することができる。
【0214】
すなわち、第1の生成ビデオストリームが生成される第1の生成ステップは、通常、(第1の生成ステップ135'自体のデータ処理に起因する)ある待ち時間と関連付けられ、それは、例えば、利用可能な計算能力および第1の生成ステップ135'の複雑さに依存し得る。この待ち時間は、通常、第1および第2のビデオストリーム自体には存在せず(または、いかなる待ち時間もいずれにせよ小さい)、それらビデオストリームは、単純にキャプチャされ、任意に上述の方法で処理され、その後、収集機能131によって第2の生成機能135''に提供され、第2の生成機能135''によって使用される。
【0215】
第1の生成ステップの結果生じる第1の生成ビデオストリームの待ち時間を考慮して、この(追加的な)遅延を第1および第2の一次ビデオストリームに意図的に導入してこれら3つのビデオストリームを時間同期させることにより、第2の生成ビデオストリームが、第1および第2の一次ビデオストリームに基づいてだけでなく、同じ第1および第2の一次ビデオストリームに基づき生成された第1の生成ビデオストリームにも基づいて生成される場合であっても、同期の問題なしに第2のビデオストリームを生成することが可能になる。すなわち、第2の生成ビデオストリームは、時間遅延された第1および第2の一次デジタルビデオストリームに基づいて生成される。
【0216】
したがって、第1の生成ビデオストリームは、第2の生成ステップ135''に供給されてよく、第2の生成ビデオストリームは、したがって、2つの(またはそれ以上の)生成ステップ135'、135''を使用して生成され、そこで、収集機能131によって提供される一次ビデオストリームの共通時間基準に関連して異なる待ち時間に関連付けられた少なくとも2つのそのような生成ステップにおいて、同じ一次ビデオストリームが使用される。
【0217】
例示的な実施例では、第1のグループ121'の参加者クライアントは討論パネルの一部であり、相対的に低い待ち時間でビデオ通信サービス110を使用して通信し、これらの参加者クライアントの各々は、第1の生成ビデオストリーム(または、前述の図8aに関連して説明したように、互いのそれぞれの一次ビデオストリーム)を連続的に供給される。討論パネルの聴衆は、第2のグループ121''の参加者クライアントによって構成され、第2の生成ビデオストリームが連続的に供給され、順に、わずかにより高い待ち時間に関連付けられる。第2の生成ビデオストリームは、上述の一般的な方法で、討論パネルの個々のスピーカ(第1のグループ121'に割り当てられた参加者クライアント、このようなビューは収集機能131から直接提供される)のビューと、すべての討論パネルのスピーカを表示する生成されたビュー(このビューは第1の生成ビデオストリームである)との間で自動的にシフトするように、自動的に生成され得る。第1および/または第2の態様に係る本発明を使用して、パネルのスピーカが最小の待ち時間で互いに対話することができる一方で、聴衆は、良好に制作された経験を享受することができる。
【0218】
第2の生成ステップに関連して第1および第2の一次ビデオストリームに意図的に追加される遅延は、少なくとも0.1秒、例えば少なくとも0.2秒、例えば少なくとも0.5秒であってもよく、最大5秒、例えば最大2秒、例えば最大1秒であってもよい。
【0219】
上述の一般的な方法で第2の生成機能135''で使用するためのパターン検出を改良するために、第1および第2の一次ビデオストリーム、ならびに第1の生成ビデオストリームはすべて、追加的に意図的に遅延させることができることが理解される。
【0220】
図9は、中央サーバ130によって生成された様々な生成されたビデオストリームを公開する、多数の代替または同時実行の方法を示している。
【0221】
一般に、第1の生成機能135'から第1の生成ビデオストリームを受信するよう構成される第1の公開機能136'によって実行される後続の公開ステップにおいて、第1の生成ビデオストリームは、第1の参加者クライアント121および第2の参加者クライアント121の少なくとも一方に連続的に提供され得る。例えば、この第1の参加者クライアントは、第1の一次デジタルビデオストリームを提供するグループ121'からの参加者クライアントであってもよく、および/または、第2の参加者クライアントは、第2の一次デジタルビデオストリームを提供するグループ121'からの参加クライアントであってもよい。
【0222】
換言すれば、第1の生成ビデオストリームは、第1の参加者クライアントおよび第2の参加者クライアントの少なくとも一方に連続的に提供され得る。
【0223】
いくつかの実施形態では、グループ121'の参加者クライアントの1つまたは複数は、第2の生成機能135''から第2の生成ビデオストリームを受信するよう構成される第2の公開機能136''によって、第2の生成ビデオストリームを受信してよい。
【0224】
したがって、第1のグループ121'に割り当てられている、一次ビデオストリームを提供する参加者クライアントの各々は、上記一次デジタルビデオストリームを直接提供されない場合、第1の生成ビデオストリームを提供されてよく、この第1の生成ビデオストリームは、複数の一次ビデオストリーム間の同期に起因する一定の遅延または待ち時間を含み、さらに、上述したように、イベントおよび/またはパターン検出のための十分な時間を確保するために、意図的に追加される可能性のある遅延または待ち時間を含んでよい。
【0225】
これに対応して、第2のグループ121''に割り当てられている参加者クライアントの各々は、第2の生成ビデオストリームを提供されてよく、この第2の生成ビデオストリームは、第1の生成ビデオストリームを第1および第2の一次ビデオストリームと時間同期させる目的で追加された、第2の生成ステップに関連して意図的に追加された遅延をも含む。この超過の遅延は、例えば、第2のグループ121''の参加者クライアントが第1のグループ121'の参加者クライアントとは異なる方法でビデオ通信サービス110と対話することに起因して(下記参照)、第2のグループ121''の参加者クライアント間の通信障害を引き起こす場合もあるし、引き起こさない場合もある。他の実施形態(例えば、第1のグループ121'の参加者クライアントが一次デジタルビデオストリームを直接提供される場合)では、第2のグループ121''に割り当てられた参加者クライアントの各々は、第1の生成ビデオストリームを直接提供されてよい。
【0226】
したがって、第1のグループ121'の参加者クライアントは、当該ビデオ通信サービス110に現在参加しているすべての参加者クライアント121のサブグループを形成し、第1の生成ビデオストリームまたは第2の生成ビデオストリームなどの生成されたビデオストリームを連続的に提供されているどの参加クライアントよりもわずかに先(1~3秒先など)の「タイムゾーン」において当該サービスに存在して当該サービスを使用している。それでもなお、他の参加者クライアント(第1のグループ121'に割り当てられておらず、代わりに第2のグループ121''に割り当てられている)は、第2の生成ビデオストリームを連続的に提供され、この第2の生成ビデオストリームは、第1および第2の一次ビデオストリームに基づいて生成されるが(各時点で、いずれかまたは両方を含む可能性がある)、わずかに遅い「タイムゾーン」にある。第1の生成ビデオストリームは、第1および第2の一次ビデオストリームに基づいて直接生成されるため、一次ビデオストリーム自体に基づいて既に生成されたビデオストリームに時間同期させるために遅延や待ち時間が追加されることはなく、より直接的で低遅延のビデオ通信サービス110の経験が、これらの参加者クライアント121に提供される。
【0227】
この場合も、第1のグループ121'に割り当てられた参加者クライアント121には、第2の生成ビデオストリームへのアクセスが提供されないことを意味し得る。
【0228】
すなわち、第1および第2の一次デジタルビデオストリームは、上述の一般的なタイプの共有デジタルビデオ通信サービス1100の一部として提供されてよく、第1の参加者クライアントおよび第2の参加者クライアント(同じ第1のグループ121'に属する)は、いずれも、共有デジタルビデオ通信サービス1100へのそれぞれの遠隔接続された参加者クライアントであってよい。第2のグループ121''の参加者クライアント(および第3のグループ121''の参加者クライアントも)は、共有デジタルビデオ通信サービス110に遠隔接続された参加者クライアントであってよい。
【0229】
この文脈では、「遠隔接続」とは、そのような参加者クライアント121または対応するユーザ122が、必ずしも異なる部屋、敷地、または地理的位置に配置されていることを意味するのではなく、ユーザ122が、当該参加者クライアント121を使用してビデオ通信サービス110と音声/視覚的に対話することを意味することが理解される。
【0230】
上記収集ステップは、例えば上述したいずれかの方法で、共有デジタルビデオ通信サービス110から第1および/または第2の一次デジタルビデオストリームを収集することを含んでよい。
【0231】
図8cは、第3の態様に係る方法を示す。上述のように、図8cに示す方法は、図8dに示す方法についても同様であるが、図8aおよび図8bに示す方法と同様であり、本発明のこれら4つの態様は自由に組み合わせることができる。これらの態様の1つに関連して述べたことはすべて、互換性がある限り、対応する態様で他の態様にも容易に適用できる。
【0232】
最初のステップで本方法はスタートする。
【0233】
後続する収集ステップで、第1のグループ121'に割り当てられた第1の参加者クライアントから、第1の一次デジタルビデオストリームが収集され、同じく第1のグループ121'に割り当てられた第2の参加者クライアントから、第2の一次デジタルビデオストリームが収集される。さらに、第3のデジタルビデオストリームが、第1のグループ121'に割り当てられていない可能性のある第3の参加者クライアントから収集される。例えば、第3の参加者クライアントは、第2のグループ121''に割り当てられていてよい。この収集ステップは、図8bに関連して説明した収集ステップと同様であってよい。
【0234】
図8bに関連して説明された第1の生成ステップと同様であってよい、後続する第1の生成ステップにおいて、第1の生成ビデオストリームは、収集された第1および第2の一次デジタルビデオストリームに基づいて、デジタルビデオストリームとして生成され得る。ここで、第1の生成ビデオストリームが第3の一次ビデオストリームに基づいて生成されなくてもよいことに留意されたい。
【0235】
第1の生成デジタルビデオストリームは、いくつかの消費者クライアントへの公開のために、第1の待ち時間で連続的に生成される。換言すれば、この第3の態様によれば、第1の生成デジタルビデオストリームは、第1の生成デジタルビデオストリームの新たに生成された各フレームが当該フレームの生成時に直ちに公開される場合、当該フレームの公開が第1の待ち時間で行われるように生成される。
【0236】
後続する第2の生成ステップでは、図8bに関連して説明した第2の生成ステップと同様であり得るが、第2の生成ビデオストリームは、3つの一次デジタルストリームのすべて、言い換えれば、第1、第2および第3の一次デジタルビデオストリームのすべてに基づくデジタルビデオストリームとして生成される。
【0237】
第1の生成ビデオストリームおよび第1の待ち時間に対応する方法で、第2の生成デジタルビデオストリームは、公開のために、第2の待ち時間で連続的に生成される。第2の待ち時間は、第1の待ち時間よりも大きい。これは、第1および第2の生成ビデオストリームが双方とも、例えば、第1の一次ビデオストリームからのフレームを含む場合、そのようなフレームは、第2の生成ビデオストリームの即時の公開と比較して、第1の生成ビデオストリームの即時の公開においてより早く表示されることを意味する。
【0238】
図8bに関連して説明した公開ステップと同様であり得る、後続する公開ステップで、第1の一次デジタルビデオストリーム、第2の一次デジタルビデオストリーム、および第1の生成ビデオストリームのうちの少なくとも1つ(例えば、これら複数のストリームのうちの1つ以上の任意のセット)が、第1の参加者クライアントおよび第2の参加者クライアントのうちの少なくとも1つに連続的に提供される。これは、上述の図8aに関連して説明した方法と同様である。
【0239】
また、第2の生成ビデオストリームは、少なくとも1つの他の参加者クライアントに連続的に提供される。
【0240】
後続するステップで本方法は終了する。
【0241】
第2の態様の解決手段の実際の適用を説明するために使用した同じ例を使用して、この第3の態様を実装する方法を説明することもできる。第3の一次ビデオストリームは、第1および第2の一次ビデオストリームを提供する第1のグループ121'の参加者クライアントよりも待ち時間に対する要求が低い第2のグループ121'の参加者クライアントから収集されるので、第2の生成ビデオストリームは、より待ち時間が長い方法で提供され、所望の自動生成を達成することが可能になり、一方、第1のグループ121'のパネル討論スピーカは、より低い待ち時間で対話することができる。
【0242】
当然ながら、第3の一次ビデオストリームに加えて、より多くの第2のグループ121''が提供する一次ビデオストリームが存在してよく、これらは対応して使用されてよい。
【0243】
図8bおよび図8cに関連して説明される公開ステップにおいて、第2の生成ビデオストリームは、第1または第2の参加者クライアントではない少なくとも1つの消費者クライアントに連続的に提供され得る。より一般的には、第2の生成ビデオストリームは、第1のグループ121'に割り当てられていない参加クライアント121、および/または外部消費者150に連続的に提供され得る。
【0244】
上述したように、収集ステップ131は、共有デジタルビデオ通信サービス110の外部である情報源300から収集された、上述のタイプの外部デジタルビデオストリーム301として、第1および第2の一次ビデオストリームに加えて例えば追加の一次ビデオストリームなどの、一次デジタルビデオストリームの少なくとも1つを収集することを含んでよい。また上述したように、このような外部ビデオストリーム301は、収集機能131と第1の生成機能135'との間に論理的に位置する(データフローの点で)同期機能133によって、第1および第2の一次ビデオストリームに時間同期され得る。対応することは、本明細書で説明される第3、第4および第5の一次ビデオストリームにも適用される。その場合、第1および/または第2の生成ビデオストリームは、外部デジタルビデオストリーム301に基づいて生成され得る。
【0245】
また、概略的に上述したように、第1の生成ステップ135'および/または第2の生成ステップ135''はさらに、当該生成されたデジタルビデオストリームにおける第1および/または第2の一次デジタルビデオストリーム210の個々のものの可視性;視覚的および/または聴覚的ビデオコンテンツの配置;使用される視覚的または聴覚的効果;および/または当該生成されたデジタルビデオストリームの出力モードに関する、予め決定されたおよび/または動的に可変なパラメータのセットに基づいて、当該それぞれの生成された(第1および/または第2の)ビデオストリームを生成すること、を含んでよい。
【0246】
また上述したように、第1の生成ステップ135'および/または第2の生成ステップ135''は、中央サーバ130によって実行され、第2の生成ビデオストリームを、上記で説明された一般的なタイプのAPI137を介して、ライブビデオストリームとして1つまたは複数の同時(外部および/または参加)消費者クライアントに提供してよい。
【0247】
したがって、参加者クライアント121の異なるグループ121'、121''、121'''は、遅延耐性の点で異なる要件を有し得る。これは特に、参加者クライアント121として1つの同じライブビデオ通信サービス110に参加する場合に当てはまる。このことは、以下でさらに例示される。
【0248】
図8dは、本発明の第4の態様に係る方法を示す。
【0249】
最初のステップで本方法はスタートする。
【0250】
一般に、図8dに示されるように、第2の生成デジタルビデオストリームを生成するための方法は、後続する割り当てステップを含んでいてもよく、それは初期ステップであってもよいが、例えば再割り当てステップとして、方法中の任意の時点で実行されてもよい。
【0251】
この割り当てステップでは、複数の参加者クライアント121を、そのような参加者クライアント121の少なくとも2つのグループ121'、121''、121'''に亘って割り当ててよい。本実施例では、割り当ては、少なくとも第1のグループ121'と第3のグループ121''に行われるが、参加クライアント121は、当然、第3のグループ121''にも割り当てることができる。
【0252】
より詳細には、第1の一次デジタルビデオストリームおよび第2の一次デジタルビデオストリームは、例えば収集機能131によって、および後続の収集ステップにおいて、参加者クライアントの第1のグループ121'に割り当てられたそれぞれの参加者クライアント121から、収集され得る。しかしながら、第4の一次デジタルビデオストリームおよび第5の一次デジタルビデオストリームも、収集機能131によって、および上記収集ステップにおいて、参加者クライアントの第3のグループ121'''に割り当てられたそれぞれの参加者クライアント121から収集され得る。
【0253】
図9に示す例では、第3のグループ121''に割り当てられた参加者クライアント121は、第1のグループ121'に割り当てられた参加者クライアント121よりも厳格な待ち時間の要件を持たなくてよい。例えば、第1のグループ121'の参加者クライアント121は、上述の討論パネルのメンバー(リアルタイムで互いに対話するため低待ち時間を必要とする)であってよく、一方、第3のグループ121''の参加者クライアント121は、パネルと対話するが、より構造化された方法(明確な質問/回答を使用するなど)で対話する専門家パネルまたは同様のパネルを構成してよく、したがって、第1のグループ121'よりも大きい待ち時間を許容することができる。
【0254】
第1の生成ビデオストリームは、上述したように、第1の生成機能135'によって、第1および第2の一次ビデオストリーム(ならびに説明したように任意の追加入力コンテンツ)に基づいて生成され得る。第3の生成ビデオストリームも、対応する方法で生成されるが、第3の生成機能135'''によって、および(少なくとも)第4および第5の一次ビデオストリームに基づいて生成される。
【0255】
第1の生成ビデオストリームと第3の生成ビデオストリームの双方は、場合によっては、第2の生成ビデオストリームの生成の基礎とするために、第2の生成機能135''に供給されてよい。
【0256】
しかしながら、この第4の態様によれば、第2の生成機能135''によって実行される第2の生成ステップにおいて、第2の生成ビデオストリームは、上述したような方法で、第1および第2の一次ビデオストリームの少なくとも1つに基づいて、さらに第4および第5の一次ビデオストリームの少なくとも1つに基づいて、生成される。第2の生成機能135''は、任意のクロスストリーム時間同期、イベント検出などを含む、第1および第2の一次ビデオストリームと対応する方法で、収集機能131から第4および第5の一次ビデオストリームを提供されてよい。第2の生成ビデオストリームは、例えば、第2の生成ビデオストリームが、第1および第2の一次ビデオストリームに基づく第1の生成ビデオストリームに基づくことによって、第1および/または第2の一次ビデオストリームに直接的または間接的に基づいてもよく;対応して、第4および第5の一次ビデオストリームおよび第3の生成ビデオストリームについても同様であること、に特に留意されたい。
【0257】
上記第3の生成ビデオストリームは、後続する第3の生成ステップで生成される。
【0258】
第4の態様によれば、第3の生成ステップは、第4および第5の一次ビデオストリームに対して、互いに時間同期されるが、第1の生成ビデオストリームに対して時間非同期される(時間同期されない)ように、意図的に時間遅延を導入することを含む。この時間遅延は、第3の生成機能135'''自体、または当該第3の生成機能135'''の上流の対応する同期機能133において導入され得ることが理解される。
【0259】
したがって、第1の生成ステップ135'は、第1および第2の一次ビデオストリームの同期の一部として導入される遅延に加えて導入され、例えば、効率的なイベントおよび/またはパターン検出を実行するために十分な時間を達成するように導入される、上述したタイプの意図的な遅延または待ち時間を導入することを含んでよい。このような意図的な遅延または待ち時間の導入は、上記同期機能133によって実行される同期の一部として行われ得る(簡略化の理由から図9には示されていない)。第3の生成ステップ135'''についても同様であるが、第1の生成ステップ135'のために意図的に導入された遅延または待ち時間とは異なる意図的な遅延または待ち時間を導入してよい。
【0260】
特に、意図的に導入された遅延または待ち時間は、第1の生成ビデオストリームと第3の生成ビデオストリームとの間の時間非同期をもたらす。これは、第1および第3の生成ビデオストリームが、個々のフレームそれぞれの生成時に即時かつ連続的に公開される場合に、共通のタイムラインに従わないことを意味する。
【0261】
上述したように、第2の生成ビデオストリームは、第1の生成ビデオストリームよりも大きい遅延に関連付けられてよく、場合によっては、第3の生成ビデオストリームよりも大きい遅延にも関連付けられてよい。したがって、第2の生成機能135''は、第2の生成ビデオストリームに組み込む前に、第1、第2、第4および第5の一次ビデオストリームにそれぞれの追加的遅延を追加することによってこれら第1、第2、第4および第5の一次ビデオストリームを同期させるように構成されてよい。
【0262】
公開ステップにおいて、第3の生成ビデオストリームは、第3のグループ121'''に割り当てられた少なくとも1つの参加者クライアントに連続的に提供され、そこで当該ユーザ122に連続的に公開されてよい。同様に、第1の生成ビデオストリームは、第1のグループ121'に割り当てられた少なくとも1つの参加者クライアントに連続的に提供され、そこで当該ユーザ122に公開され得る;および/または第2の生成ビデオストリームは、上述のように提供および公開され得る。
【0263】
後続するステップで本方法は終了する。
【0264】
したがって、この第4の態様では、3つの別個に生成されたビデオストリームが、異なる「タイムゾーン」において、同時に生成され、消費/公開されてよい。これらは少なくとも部分的に同じ一次ビデオ素材に基づいているにもかかわらず、生成されたビデオストリームは異なる待ち時間で公開される。第1のグループ121'は、最も小さい待ち時間を必要とし、第1の生成ビデオストリームを使用して対話することができ、非常に小さい待ち時間を提供する。第3のグループ121'''は、わずかに大きい待ち時間を受け入れることをいとわず、第2の生成ビデオストリームを使用して対話することができ、より多くの待ち時間を提供するが、他方では、本明細書の他の箇所に開示されているように、より良好な自動生成を達成するように、意図的に追加された遅延の点でより大きな柔軟性を提供する。一方、遅延にそれほど敏感でない第2のグループ121''は、第1のグループ121'および第3のグループ121'''からの素材を組み込むことができ、また非常に柔軟な方法で自動的に生成される第2の生成ビデオストリームを使用して対話を楽しむことができる。参加者ユーザのこれら全てのグループ121'、121''、121'''は、上記の様々な遅延を使用し、したがって異なる「タイムゾーン」で行動しているにもかかわらず、上記ビデオ通信サービス110を使用して互いに対話することに特に留意されたい。しかしながら、各生成機能における個々の入力ビデオストリームの同期により、参加者ユーザ121は、それぞれの観点から、異なる待ち時間に気付くことがない。
【0265】
上記第1の生成ステップ135'は、上述したように、第1および第2の一次ビデオストリームを互いに時間同期させるように時間遅延させることを含んでよい。
【0266】
これに対応して、上記第3の生成ステップ135''(または対応する同期ステップ133)は、第4および第5の一次ビデオストリームを互いに時間同期させるように時間遅延させることを含んでよい。しかしながら、ここでは、第1の生成ステップ135'(または対応する同期ステップ133)において第1および第2の一次ビデオストリームを時間遅延させるために使用される最大時間遅延よりも大きな最大時間遅延を使用し、その結果、第1の生成ビデオストリームは、第3の生成ビデオストリームと上述の方法では時間同期されない。
【0267】
上述したように、上記グループ121'、121''、121'''のそれぞれに割り当てられたそれぞれの参加者クライアント121は、第2の生成ビデオストリームが連続的に公開される1つの同じビデオ通信サービス110に参加することができる。
【0268】
そして、上記グループ121'、121''、121'''の異なるものは、ビデオ通信サービス110における異なる参加者の対話権限に関連付けられ、上記グループ121'、121''、121'''の異なるものは、当該グループ121'、121''、121'''に割り当てられた参加者クライアント121に対して公開されるそれぞれの生成ビデオストリームを生成するために使用される異なる最大時間遅延(待ち時間)に関連付けられてよい。
【0269】
例えば、パネル討論の参加者クライアントの第1のグループ121'は、完全な対話権限に関連付けられてもよく、望めばいつでも発言することができる。参加者クライアントの第3のグループ121'''は、例えば、ビデオ通信サービス110がマイクのミュートを解除することによって発言できるようになる前にフロアを要求する必要があるなど、わずかに制限された対話権限に関連付けられてよい。聴衆参加者ユーザの第2のグループ121''は、例えば、共通のチャットルームへのテキスト投稿により質問を投げかけることができるだけで、発言することはできないなど、さらに制限された対話権限と関連付けられてよい。
【0270】
したがって、参加者ユーザの様々なグループは、待ち時間が対話権限の減少の増加関数となるように、異なる対話権限と、それらに公開されるそれぞれの生成ビデオストリームに対する異なる待ち時間とに関連付けられてよい。当該参加者ユーザ121が、ビデオ通信サービス110によって、他のユーザと対話することがより自由に許可されるほど、許容される待ち時間は低くなる。許容される待ち時間が低いほど、対応する自動生成機能が検出されたイベントやパターンなどを考慮する可能性が小さくなる。
【0271】
最大の待ち時間を持つグループは、ビデオ通信サービスに受動的に参加する以外に対話する権利を持たない、視聴者だけのグループであってよい。
【0272】
特に、上記グループ121'、121''、121'''の各々についてのそれぞれの最大時間遅延(待ち時間)は、すべての一次ビデオストリームと、当該グループの参加者クライアントに連続的に公開される任意の生成ビデオストリームとに亘る最大の待ち時間の差として決定され得る。この合計には、上述したように、イベントおよび/またはパターンを検出する目的で意図的に追加された追加的時間遅延を加えることができる。
【0273】
本明細書で使用される場合、「生成」および「生成デジタルビデオストリーム」という用語は、異なるタイプの生成を参照する場合がある。ある例では、単一の、明確に定義されたデジタルビデオストリームが、中央サーバ130などの中央エンティティによって生成されて、当該生成デジタルビデオストリームを消費することになる参加者クライアント121の特定のセットのそれぞれへの提供および公開のために、当該生成デジタルビデオストリームを形成する。他の態様では、異なる個々のそのような参加者クライアント121は、当該生成デジタルビデオストリームのわずかに異なるバージョンを視聴することができる。例えば、生成デジタルビデオストリームは、参加者クライアント121のローカルソフトウエア機能125が当該ユーザ122に切り替えさせたり、スクリーン124上に配置させたり、またはその他の方法で構成もしくは処理させることができるような、複数の個別または結合されたデジタルビデオストリームを含んでよい。多くの場合、重要なのは、時間同期されたサブコンポーネントを含む生成デジタルビデオストリームが、どの「タイムゾーン」で(すなわち、どの待ち時間で)提供されるかである。したがって、図8aに関連して上述した、第1および第2の参加者クライアントが互いの一次ビデオストリームを提供されるケースは、(生データのまたは処理された第1および第2の一次デジタルビデオストリームの時間同期されたセットが第1および第2の参加者クライアントの双方で利用可能になるという意味で)第1の生成デジタルビデオストリームが第1および第2の参加者クライアントに提供されると見なすことができる。
【0274】
上述した参加者クライアントのグループ121'、121''、121'''の使用をさらに明確にし、例示するために、3つの異なる同時「タイムゾーン」を含むビデオ通信サービスミーティングの形式で、以下の例を説明する。
【0275】
参加者クライアント121'の第1のグループは、リアルタイムで、または少なくともほぼリアルタイムで(不可避のハードウエアおよびソフトウエアの遅延に依存する)対話を経験している。これらの参加者クライアントは、当該ユーザ122間のこのような対話およびコミュニケーションを実現するために、互いから音声を含むビデオを提供される。第1のグループ121'は、ミーティングの中核となるユーザ122にサービスを提供することができ、その対話は、他の(第1のグループ121'以外の)参加者クライアントにとって参加することに関心を持ち得る。
【0276】
そのような他の参加クライアント121''の第2のグループは、同じミーティングに参加するが、第1のグループの参加者クライアント121'よりもリアルタイムから離れた、異なる「タイムゾーン」にいる。例えば、第2のグループ121''は、第1のグループ121'に質問を投げかけることができるなどの対話権限を有する聴衆であってもよい。第2のグループ121''の「タイムゾーン」は、提起された質問と回答が気付くことができるが短い遅延に関連付けられるように、第1のグループ121'の「タイムゾーン」との関係で遅延を有してよい。一方、このわずかに大きい遅延により、この第2のグループ121''の参加者クライアントは、より複雑な方法で自動的に生成された生成デジタルビデオストリームを体験することができ、より快適なユーザ体験を提供することができる。
【0277】
このような他の参加者クライアント121'''の第3のグループも、同じミーティングに参加するが、視聴者としてのみ参加する。この第3のグループ121'''は、第2の「タイムゾーン」よりもさらに大きい遅延を有する第3の「タイムゾーン」で消費される、さらに精巧かつ複雑な方法で自動的に生成され得る生成デジタルビデオストリームを消費する。しかしながら、第3のグループ121'''は、第1のグループ121'および第2のグループ121''に影響を与えるような方法で通信サービスに入力を提供することができないので、第3のグループ121'''は、会議が「リアルタイム」かつ納得できる演出で行われることを体験する。
【0278】
当然、このような参加者クライアントのグループは3つ以上あってもよく、本明細書で説明する原則を用いて、時間的な遅延が次第に大きくなり、生成の複雑さが増す、それぞれのミーティング「タイムゾーン」に関連付けられる。
【0279】
本発明はまた、上述の内容に従って第2のデジタルビデオストリームを提供するためのコンピュータソフトウエア機能に関する。そして、そのようなコンピュータソフトウエア機能は、実行時に、特に第1、第2、第3および/または第4の態様に関して、上述した収集、イベント検出、同期、パターン検出、生成、および公開ステップの少なくともいくつかを実行するように構成され得る。コンピュータソフトウエア機能は、上述したように、中央サーバ130の物理ハードウエアまたは仮想ハードウエア上で実行するように構成されてよい。
【0280】
本発明はまた、第2のデジタルビデオストリームを提供するためのシステムであり、順に中央サーバ130を備える、そのようなシステム100に関する。中央サーバ103は、順に、特に第1、第2、第3および/または第4の態様に関して、上述した収集、イベント検出、同期、パターン検出、生成、および公開ステップの少なくともいくつかを実行するように構成され得る。例えば、これらのステップは、上述のような前記ステップを実行するための前記コンピュータソフトウエア機能を実行する中央サーバ130によって実行され得る。
【0281】
このような入力ビデオストリームの時間同期、イベントおよび/またはパターン検出などを含む、上述した利用可能な入力ビデオストリームのセットに基づく自動生成の原理は、異なるレベルで同時に適用されてもよいことが理解される。したがって、このような自動生成されたビデオストリームの1つは、ビデオストリームを生成する下流の自動生成機能に対する利用可能な入力ビデオストリームを形成してよい。
【0282】
中央サーバ130は、個々の参加者クライアント121に対するグループ121'、121''、121'''の割り当てを制御するように構成され得る。例えば、ライブビデオ通信サービスセッションの過程で、特定のそのような参加者クライアントに対するグループ割り当てを動的に変更することは、中央サーバ130による当該ビデオ通信サービスの自動生成の一部であってもよい。このような再割当は、所定のタイムテーブルに基づいて、または、例えば、個々の参加者クライアントのユーザ122の(当該クライアント121を介して提供される)要求に応じて、例えば、時間とともに動的に変化し得るパラメータデータの関数として動的にトリガされ得る。
【0283】
これに対応して、中央サーバ130は、ビデオ通信サービスの過程で、所定の時間枠(例えば、予定されているパネル討論の間)だけ特定のグループを使用するなど、グループ構成を動的に変更するように構成されてよい。
【0284】
グループ割り当ての1つの可能な実用的解決手段は、いくつかのビデオ会議システムで利用可能な「ブレイクアウトルーム」の概念を使用することである。特定のグループ121'、121''、121'''に割り当てられた参加者クライアント121は、そのようなブレイクアウトルームに割り当てられ、中央サーバ130は、次に、中央サーバ130における下流の生成ステップで使用するために、個々の一次ビデオストリームまたは生成ビデオストリームなどのビデオストリームデータを、そのブレイクアウトルームから取得することができる。このようなビデオストリームの抽出は、それ自体、上述したように行われ得る。
【0285】
上述のすべての態様において、本発明は、第1のグループの少なくとも1つの参加者クライアント(第1のグループは第1の待ち時間と関連付けられる)が、第2のグループの少なくとも1つの参加者クライアント(第2のグループは第2の待ち時間と関連付けられる)と二方向(双方向)で対話する対話ステップをさらに含んでよく、ここで、第2の待ち時間は第1の待ち時間とは異なる。これらの参加者クライアントはすべて、上述のタイプの1つの同じ通信サービスの参加者であってもよいことが理解される。
【0286】
このような場合、異なる待ち時間(または上述の「タイムゾーン」)に関連付けられる参加者クライアントが、一時的に同じ「タイムゾーン」、言い換えれば、同じ待ち時間に関連付けられることが好ましい。例えば、これは、より大きな待ち時間に一時的に関連付けられている参加者クライアントの1つが、当該参加者クライアントに関連付けられている待ち時間よりも小さな待ち時間を使用して生成されている、1つまたは複数の一次/生成デジタルビデオストリームを一時的に提供されることによって行われてよい。換言すると、より大きな待ち時間を有する1つまたは複数のビデオストリームを通常は継続的に提供されている参加者クライアントが、より小さな待ち時間を有する1つまたは複数のビデオストリームを継続的に提供されている参加者クライアントと対話したい場合、前者の参加者クライアントは、代わりに、後者のビデオストリームの1つまたは複数を一時的に継続的に提供される。したがって、大きい待ち時間の参加者クライアントは、小さい待ち時間の参加クライアントが関連する小さい待ち時間の「タイムゾーン」に一時的に切り替える。対話終了後、大きい待ち時間の参加者クライアントは、対話前に使用していた大きい待ち時間の通信環境に戻る。
【0287】
例えば、上記のパネル討論の聴衆のメンバーが質問を投げかけたいと思うかもしれない。この場合、その聴衆メンバーは発言機会を与えられ、パネル討論の「タイムゾーン」に切り替えられる。つまり、その聴衆は、より小さい遅延時間でパネルを視聴することになるが、あまり凝った演出ではない。より詳細には、聴衆は、対話の間、パネルのメンバーに提供される1つまたは複数の同じビデオストリームを視聴することができる。それ以外の聴衆は、より大きい遅延時間の聴衆の「タイムゾーン」に留まるため、違いに気付くことはない。発言する聴衆メンバーとパネルとの間の対話の後、発言した聴衆は、対話の前と同様に、より大きい待ち時間のビデオストリームまたはストリームを再び提供される。
【0288】
異なる「タイムゾーン」間の切り替えは、中央サーバ130によって自動的に実行され得る。
【0289】
以上、好適な実施形態について説明した。しかしながら、本発明の基本的な思想から逸脱することなく、開示された実施形態に多くの変更を加えることができることは、当業者には明らかである。
【0290】
例えば、本明細書で説明するシステム100の一部として、本明細書では説明しない多くの追加機能を提供することができる。一般に、ここで開示されている解決手段は、ビデオデータのストリームが通信に使用される多種多様な具体的アプリケーションに対応するために、詳細な機能性および特徴を構築することができるフレームワークを提供する。
【0291】
一例としては、デモンストレーションの状況があり、一次ビデオストリームには、プレゼンターのビュー、共有されたデジタルスライドベースのプレゼンテーション、デモンストレーションされる製品のライブビデオが含まれる。
【0292】
別の例としては、教育の状況があり、一次ビデオストリームには、教師の映像、教える対象である物理的実体のライブ映像、質問を投げかけ教師と対話する複数の生徒のライブ映像が含まれる。
【0293】
これら2つの例のいずれにおいても、(システムの一部であってもなくてもよい)ビデオ通信サービスが、一次ビデオストリームの1つまたは複数を提供してよく、および/または、複数の一次ビデオストリームが、本明細書で開示されるタイプの外部ビデオソースとして提供されてよい。
【0294】
多様なグループは、討論パネル、専門家パネル、聴衆として例示された。しかしながら、デジタルビデオ通信サービスにおける参加者ユーザを2つ以上のグループに分けることは、実行される通信の現在の対象および構造を反映して可能である。例えば、1つまたは複数のグループには、異なる地理的位置からビデオ通信サービスに遠隔アクセスする参加者ユーザが含まれ、一方、1つまたは複数の他のグループには、講義室のような共通の中央位置からビデオ通信サービスにアクセスする参加者ユーザが含まれる。このような場合はすべて、上述と同じ原則が適用される。
【0295】
一般に、本方法に関して開示したことはすべて、本システムおよびコンピュータソフトウエア製品に適用可能であり、その逆もまた同様である。
【0296】
したがって、本発明は、記載された実施形態に限定されるものではなく、添付の特許請求の範囲内で種々の変更が可能である。
図1
図2
図3
図4
図5
図6a
図6b
図6c
図6d
図6e
図6f
図7
図8a
図8b
図8c
図8d
図9
【国際調査報告】