(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2018-521546(P2018-521546A)
(43)【公表日】2018年8月2日
(54)【発明の名称】クラウド映像共有に基づくマルチアングル映像編集
(51)【国際特許分類】
H04N 21/437 20110101AFI20180706BHJP
G06F 17/30 20060101ALI20180706BHJP
H04N 21/2743 20110101ALI20180706BHJP
H04N 21/6587 20110101ALI20180706BHJP
【FI】
H04N21/437
G06F17/30 220B
G06F17/30 170D
H04N21/2743
H04N21/6587
【審査請求】未請求
【予備審査請求】未請求
【全頁数】24
(21)【出願番号】特願2017-560569(P2017-560569)
(86)(22)【出願日】2016年4月22日
(85)【翻訳文提出日】2018年1月18日
(86)【国際出願番号】US2016028968
(87)【国際公開番号】WO2016186798
(87)【国際公開日】20161124
(31)【優先権主張番号】14/714,670
(32)【優先日】2015年5月18日
(33)【優先権主張国】US
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US
(71)【出願人】
【識別番号】514016360
【氏名又は名称】ゼップ ラブズ、インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】ハン ジョン
(72)【発明者】
【氏名】シュー ジエ
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164PA33
5C164SD12P
5C164TC13P
5C164UB02S
5C164UB04S
5C164UB26S
(57)【要約】
異なるアングルから取り込んだ映像からマルチアングル映像を組み立てるための解決法を開示する。マルチアングル映像を組み立てることの要求は、対象ユーザから受信する。その要求は、その対象ユーザが取り込んだ映像、及び、その対象ユーザの近くの他のユーザが取り込んだ映像を使用するマルチアングル映像の組み立てを要求する。近くの複数のユーザが取り込んだ複数の映像は、取り込んだ映像に紐付けられたメタデータ、例えば、その映像の地理位置及びタイムスタンプ、に基づいて識別され、対象ユーザに提示される。近くの複数のユーザが取り込んだ複数の映像からの2つ以上の映像を含む映像シーケンスを受信し、そして、マルチアングル映像を、受信した映像シーケンスに基づいて組み立てる。
【特許請求の範囲】
【請求項1】
クライアント装置でマルチアングル映像を組み立てるためのコンピュータ実施方法であって、前記方法は、
対象ユーザに関連付けられたクライアント装置によってマルチアングル映像の中で使われる映像を取り込むステップであって、前記マルチアングル映像は、少なくとも一部の前記取り込まれた映像と、複数の部分の他の映像であって前記対象ユーザの近くの他のユーザによって取り込まれたものとを含む、ステップと、
前記取り込まれた映像に関連付けられた複数のメタデータを決定するステップと、
前記取り込まれた映像及び関連付けられたメタデータをコンピュータサーバへ送信するステップと、
を含む、コンピュータ実施方法。
【請求項2】
前記取り込まれた映像に関連付けられた前記複数のメタデータは、
前記クライアント装置の位置を記述した地理位置情報、
前記クライアント装置によって前記映像がいつ取り込まれたかを示すタイムスタンプ、
前記取り込まれた映像から抽出されるキーフレームの識別、及び
前記抽出されたキーフレームに対応する低解像度画像の識別
のうち少なくとも1つを含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記クライアント装置の位置を記述した地理位置情報を決定するステップと、
前記コンピュータサーバの時計と、前記取り込まれた映像に関連付けられたタイムスタンプとを同期するステップと、
前記取り込まれた映像の複数のキーフレームを抽出するステップと、
前記抽出されたキーフレームに対応する低解像度画像を生成するステップと、
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記取り込まれた映像から複数のキーフレームを抽出するステップは、
全ての予め定義された時間区間について、前記取り込まれた映像から映像フレームを抽出するステップをさらに含む、請求項3に記載のコンピュータ実施方法。
【請求項5】
前記取り込まれた映像から複数のキーフレームを抽出するステップは、
前記取り込まれた映像の予めよく定義された映像フレームの集合について、前記取り込まれた映像から映像フレームを抽出するステップをさらに含む、請求項3に記載のコンピュータ実施方法。
【請求項6】
前記地理位置は、グループからの少なくとも1つを含み、前記グループは、前記クライアント装置に関連付けられる緯度、経度、及び方位を含む、請求項2に記載のコンピュータ実施方法。
【請求項7】
前記取り込んだ映像を含むマルチアングル映像を組み立てることの要求を送信するステップと、
前記対象ユーザの近くの他のユーザが取り込んだ他の映像の複数の部分を受信するステップと、
他の映像の1つ又は複数の部分を選択するステップと、
前記選択された他の映像の部分と、前記対象ユーザに関連付けられた前記クライアント装置によって取り込まれた前記映像とに基づいて、前記マルチアングル映像を生成するステップと、
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項8】
前記マルチアングル映像を生成するステップは、
前記対象ユーザの近くの他のユーザによって取り込まれた他の映像の前記選択された部分と、前記対象ユーザに関連付けられた前記クライアント装置によって取り込まれた映像とを、前記選択された映像に関連付けられたタイムスタンプに応じて、結合するステップを含む、請求項7に記載のコンピュータ実施方法。
【請求項9】
マルチアングル映像を組み立てるためのコンピュータ実施方法であって、前記方法は、
対象ユーザから、マルチアングル映像を組み立てることの要求を受信するステップと、
前記対象ユーザの近くの他のユーザによって取り込まれた複数の映像を識別するステップと、
前記対象ユーザの近くのユーザによって取り込まれた前記複数の映像を提示するステップと、
前記対象ユーザ及び近くのユーザによって取り込まれた映像の部分の選択を受信するステップと、
前記映像の選択部分に基づいてマルチアングル映像を組み立てるステップと、
を含む、コンピュータ実施方法。
【請求項10】
前記近くのユーザは、前記対象ユーザと同時に映像を記録したユーザであり、前記近くのユーザは、前記対象ユーザが前記映像を記録したとき、前記対象ユーザの位置に対して閾値距離範囲内に位置していた、
請求項9に記載のコンピュータ実施方法。
【請求項11】
前記マルチアングル映像を組み立てるステップは、
前記対象ユーザによって取り込まれた映像及び前記近くのユーザによって取り込まれた複数の映像を受信するステップを含み、
前記選択は、前記対象ユーザによって取り込まれた前記映像の少なくとも第1の部分と、近くのユーザによって取り込まれた映像の第2の部分とを含む、
請求項9に記載のコンピュータ実施方法。
【請求項12】
前記対象ユーザによって取り込まれた前記映像から前記第1の部分を抽出し、前記近くのユーザによって取り込まれた前記映像から前記第2の部分を抽出するステップと、
前記マルチアングル映像を生成するために、前記第1の部分と前記第2の部分とを結合するステップと、
をさらに含む、請求項11に記載のコンピュータ実施方法。
【請求項13】
近くのユーザによって取り込まれた前記複数の映像を識別するステップは、
前記対象ユーザによって取り込まれた映像に関連付けられる地理位置及び時間を決定するステップと、
他のユーザを識別するステップであって、前記他のユーザは、前記対象ユーザによって取り込まれた前記映像と時間が重なる映像を取り込み、前記対象ユーザによって取り込まれた前記映像に関連付けられた前記地理位置に対して閾値距離範囲内に地理位置を有する、ステップと、
を含む、請求項9に記載のコンピュータ実施方法。
【請求項14】
近くのユーザによって取り込まれた前記複数の映像を識別するステップは、
前記対象ユーザによって取り込まれた映像に関連付けられる地理位置及び時間を決定するステップと、
前記決定された地理位置に基づいて地理的境界を識別するステップと、
他のユーザを識別するステップであって、前記他のユーザは、前記対象ユーザによって取り込まれた前記映像と時間的に重なる映像を取り込み、前記識別した地理的境界の範囲内に地理位置を有する、ステップを含む、
請求項9に記載のコンピュータ実施方法。
【請求項15】
前記地理的境界は、前記対象ユーザによって取り込まれた前記映像に関連付けられる前記決定した地理位置を中心とする円である、請求項14に記載のコンピュータ実施方法。
【請求項16】
前記地理的境界を識別するステップは、
前記対象ユーザによって取り込まれた前記映像に関連付けられる前記決定した地理位置近くの地理的特徴を識別するステップと、
前記識別した地理的特徴に関連付けられる地理的境界を識別するステップと、
を含む、請求項14に記載のコンピュータ実施方法。
【請求項17】
近くのユーザによって取り込まれた前記複数の映像からの映像が利用できないという決定に応じて、前記利用できない映像に関連付けられた前記ユーザに対し、前記利用できない映像を提供するように要求を送信するステップと、
をさらに含む、請求項9に記載のコンピュータ実施方法。
【請求項18】
クライアント装置でマルチアングル映像を組み立てるための、コンピュータによって実行可能なコンピュータプログラム命令を格納する、非一過性のコンピュータ読み取り可能な記録媒体であって、前記命令は、コンピュータプロセッサによって実行されるとき、前記コンピュータプロセッサに、
対象ユーザに関連付けられたクライアント装置によるマルチアングル映像、前記マルチアングル映像は、前記取り込まれた映像の少なくとも部分及び前記対象ユーザの近くの他のユーザによって取り込まれた他の映像の複数の部分を含み、
前記取り込まれた映像に関連付けられる複数のメタデータを決定させ、
前記取り込まれた映像及び関連付けられたメタデータをコンピュータサーバに送信させる、コンピュータ読み取り可能な記録媒体。
【請求項19】
前記取り込まれた映像に関連付けられた前記複数のメタデータは、
前記クライアント装置の位置を記述する地理位置情報、
前記クライアント装置によって前記映像がいつ取り込まれたかを示すタイムスタンプ、
前記取り込まれた映像から抽出されるキーフレームの識別(identification)、及び
前記抽出されたキーフレームに対応する低解像度画像の識別(identification)
のうち少なくとも1つを含む、請求項18に記載のコンピュータ読み取り可能な記録媒体。
【請求項20】
前記命令は、コンピュータプロセッサによって実行されるとき、前記コンピュータプロセッサに、さらに、
前記クライアント装置の位置を記述する地理位置情報を決定させ、
前記取り込まれた映像に関連付けられたタイムスタンプと、前記コンピュータサーバの時計とを同期させ、
前記取り込まれた映像の複数のキーフレームを抽出させ、
前記抽出されたキーフレームに対応する低解像度画像を生成させる、
請求項18に記載のコンピュータ読み取り可能な記録媒体。
【請求項21】
前記命令は、コンピュータプロセッサによって実行されるとき、前記コンピュータプロセッサに、さらに、
前記取り込まれた映像を含むマルチアングル映像を組み立てることの要求を前記コンピュータサーバに送信させ、
前記対象ユーザの近くの他のユーザによって取り込まれた他の映像の複数の部分を受信させ、
他の映像の1つ又は複数の部分を選択させ、及び
他の映像の前記選択された部分及び前記対象ユーザに関連付けられた前記クライアント装置によって取り込まれた前記映像に基づいて、前記マルチアングル映像を生成させる、
請求項18に記載のコンピュータ読み取り可能な記録媒体。
【請求項22】
マルチアングル映像を組み立てるためのコンピュータプログラム命令を格納する、非一過性のコンピュータ読み取り可能な記録媒体であって、前記命令は、コンピュータプロセッサによって実行されるとき、前記コンピュータプロセッサに、
対象ユーザから、マルチアングル映像を組み立てることの要求を受信させ、
前記対象ユーザの近くの他のユーザによって取り込まれた複数の映像を識別させ、
近くのユーザによって取り込まれた前記複数の映像を前記対象ユーザに提示させ、
前記対象ユーザ及び近くのユーザによって取り込まれた映像の部分の選択を受信させ、
前記映像の前記選択された部分に基づいてマルチアングル映像を組み立てさせる、
コンピュータ読み取り可能な記録媒体。
【請求項23】
前記近くのユーザは、前記対象ユーザと同時に映像を記録したユーザであり、前記近くのユーザは、前記対象ユーザが前記映像を記録したとき、前記対象ユーザの位置に対して閾値距離範囲内に位置していた、請求項22に記載のコンピュータ読み取り可能な記録媒体。
【請求項24】
近くのユーザによって取り込まれた前記複数の映像を識別するための前記命令は、前記コンピュータプロセッサによって実行されるとき、前記コンピュータプロセッサに、
前記対象ユーザによって取り込まれた映像に関連付けられる地理位置及び時間を決定させ、
前記決定した地理位置に基づいて地理的境界を識別させ、
前記対象ユーザによって取り込まれた前記映像と時間的に重なる映像を取り込み、前記識別した地理的境界の範囲内に地理位置を有する、他のユーザを識別させる、
請求項22に記載のコンピュータ読み取り可能な記録媒体。
【請求項25】
前記命令は、コンピュータプロセッサによって実行させるとき、さらに、前記コンピュータプロセッサに、
近くのユーザによって取り込まれた前記複数の映像からの映像が利用できないという決定に応じて、前記利用できない映像に関連付けられた前記ユーザに対し、前記利用できない映像を提供するように要求を送信させる、
請求項22に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して映像共有に関し、そして、特にクラウド映像共有を用いるマルチアングル映像編集に関する。
【背景技術】
【0002】
スマートフォン及びタブレットのようなモバイルコンピューティングデバイスの進歩に伴い、ますます人々が様々な種類のイベントの映像を記録できるようになってきている。
例えば、スポーツイベントに参加する人々は、彼らのモバイルコンピューティングデバイスを使用して、そのスポーツイベントの映像素材(short footages)を記録することができる。そうしたユーザは、彼ら自身の映像をモバイルアプリケーションで編集するかもしれない。例えば、複数のユーザがイベントの特定の瞬間を異なるアングルから記録していることがあり、そして、ユーザは、それら2つ以上の映像を使用して、第1のモバイルデバイスのカメラによって記録された1つのアングルから、第2のモバイルデバイスのカメラによって記録された第2のアングルへと遷移する1つの映像を生成したいことがある。しかし、彼らのモバイルデバイスを使用する個々のユーザが、異なるアングルから取り込まれた映像から、マルチアングル映像を編集して生成することは、技術的にチャレンジングであり、そして、高価になる。
【0003】
また、ユーザは、イベントの映像素材(footages)の1つを記録するために使用したモバイルコンピューティングデバイスを用いて映像編集を行いたいことがある。モバイルコンピューティングデバイスは、限られた演算能力を有し、それがマルチアングル映像編集をよりチャレンジングにする。マルチアングル映像編集のための現在の解決法、例えば、異なるアングルから取り込んだ映像の異なる部分を手作業で選択して印付けすること、は、ユーザエクスペリエンスを損なわずに、そうしたモバイルコンピューティングデバイスに適合しえない。
【発明の概要】
【0004】
本発明の実施形態は、異なるアングルから取り込まれた映像を用いてマルチアングル映像を組み立てるための解決法を提供する。映像共有サービスは、複数のユーザが取り込んだ複数の映像に関連付けられた情報を、ユーザが、マルチアングル映像を組み立てるために保存する。また、クライアント装置の映像取得エンジンは、映像を取り込み、そして、組み立てられたマルチアングル映像の中でアングル間を切り替えるときの円滑な遷移を許容するために映像共有サービスと同期する。同期は、時間ベースでありうる。そして、時間ベースの同期は、複数の映像に関連付けられたオーディオ特徴に基づいてさらに改良されうる。
【0005】
クライアント装置でマルチアングル映像を組み立てるためのコンピュータ実施方法が開示される。その方法の実施形態は、対象ユーザに関連付けられたクライアント装置によってマルチアングル映像で用いる映像を取り込むステップを含む。マルチアングル映像は、取り込まれた映像の少なくとも一部、及び対象ユーザの近くの他のユーザによって取り込まれた他の映像部分を含む。取り込まれた映像に関連付けられたメタデータを決定し、そして、取り込まれた映像及びそのメタデータをコンピュータサーバに送信する。
【0006】
他の側面によれば、コンピュータサーバでマルチアングル映像を組み立てるためのコンピュータ実施方法が提供される。マルチアングル映像を組み立てることの要求を対象ユーザから受信する。対象ユーザの近くの他のユーザによって取り込まれた映像を特定する。
特定した映像を対象ユーザに提示する。対象ユーザ及び近くのユーザによって取り込まれた映像部分の選択を受信し、そして、選択された映像部分に基づいて、マルチアングル映像を組み立てる。
【0007】
本明細書で説明される特徴及び利点は全てを包含するものというわけではなく、特に、多くの追加的な特徴及び利点が、図面、明細書、及び請求項の視点から当業者において明らかになるであろう。さらに、明細書で使用される用語は、主に可読性及び教示を目的として選択されたものであり、開示された構成要素を叙述又は限定するために選択されたものではないことに注意すべきである。
【図面の簡単な説明】
【0008】
【
図1】1つの実施形態に従い、マルチアングル映像を組み立てるためのコンピュータ環境のブロックダイアグラムを示した図である。
【
図2】1つの実施形態に従い、映像共有サービス及び/又はクライアント装置として動作するコンピュータの一例を表したブロック図である。
【
図3】1つの実施形態に従い、映像取得エンジンについて示したブロック図である。
【
図4】1つの実施形態に従い、映像共有エンジンについて示したブロック図である。
【
図5A】1つの実施形態に従い、スポーツイベントの映像素材(footage)を取り込む複数のユーザのトップビューダイアグラムを示した図である。
【
図5B】1つの実施形態に従い、複数のスポーツイベントの映像素材(footage)を取り込む複数のユーザのトップビューダイアグラムを示した図である。
【
図5C】1つの実施形態に従い、スポーツイベントの映像素材(footage)を取り込む複数の他のユーザの向こう側に移動するユーザを示した図である。
【
図6】1つの実施形態に従い、マルチアングル映像を生成するための、近くのユーザからの利用可能な映像及びユーザの映像シーケンス選択を表した図である。
【
図7】1つの実施形態に従い、マルチアングル映像組み立てのための映像素材(video footage)をアップロードするプロセスを示したフロー図である。
【
図8】1つの実施形態に従い、複数のアングルから取り込まれた映像素材を有するマルチアングル映像を映像共有サービスで組み立てるプロセスを示したフロー図である。
【
図9】1つの実施形態に従い、複数のアングルから取り込まれた映像素材を有するマルチアングル映像をクライアント装置で組み立てるプロセスを示したフロー図である。
【
図10】1つの実施形態に従い、映像に関連付けられたサウンドパターンに基づいて、複数のアングルから取り込まれた2つの映像を同期するためのプロセスを示したフロー図である。
【
図11】1つの実施形態に従い、複数のアングルから取り込まれた映像素材を有するマルチアングル映像を組み立てるための例示的なユーザインターフェースを示した図である。
【発明を実施するための形態】
【0009】
システム概要
モバイルコンピューティングデバイスによって取り込まれ、そして、クラウドコンピューティング環境に格納されるマルチアングル映像を組み立てるための解決法が提供される。複数のユーザは、異なるアングルからモバイルコンピューティングデバイスのカメラを用いて特定のイベントの映像を取り込む。モバイルコンピューティングデバイスのそれぞれから取り込まれた映像のタイムスタンプは、映像共有サーバの時間と同期される。また、地理位置のような他の情報(例えば、緯度、経度、高度、及び方位)は、モバイルコンピューティングデバイスによって測定でき、そして、取り込まれた映像に関連付けられうる。取り込まれた映像は、映像共有サーバに送信され、そして、マルチアングル映像を組み立てるために、ユーザによって、後にアクセスされる。
【0010】
図1は、1つの実施形態に従い、マルチアングル映像を組み立てるためのコンピューティング環境100を示したブロック図である。
図1に示した実施形態は、複数のクライアント装置110(例えば、110A、110B、及び110C)及び映像共有サービス130は、ネットワーク120によって互いに接続される。コンピューティング環境100の実施形態は、ネットワーク120に接続された多くのクライアント装置110を有しうる。同様に、
図1の様々なエンティティによって実行される機能は、異なる実施形態において異なりうる。
【0011】
クライアント装置110は、デジタルコンテンツの記録、デジタルコンテンツの消費、ソフトウェアアプリケーションの実行、ネットワーク120上のウェブサーバによって運営されるウェブサイトの閲覧、ファイルのダウンロードなどのような機能を実行するために、ユーザによって利用される電子デバイスである。例えば、クライアント装置110は、メディアストリーミングデバイス、スマートフォン、又は、タブレット、ノートブック又はデスクトップコンピュータであってもよい。クライアント装置110は、ユーザが映像及び他のコンテンツを見ることができるようにするディスプレイ装置を含む及び/又は仲介する。また、クライアント装置110は、物理的及び/又はオンスクリーンのボタンのようなユーザインターフェース(UI)を提供する。それを有することで、ユーザは、クライアント装置110と相互作用することができ、スポーツ教育映像のようなデジタルコンテンツを見る、選択する、及び、消費するというような機能を実行できる。
【0012】
1つの実施形態において、クライアント装置110は、映像を取り込み、そして、映像を映像共有サービス130にアップロードする映像取得エンジン115を有する。他の実施形態において、映像取得エンジン115に加え、クライアント装置110は、マルチアングル映像を組み立てる映像組立モジュール(
図1には不図示)を有する。映像取得エンジン115については、
図3を参照しながら以下でさらに説明する。簡単のために、映像組立モジュールについては、
図4の映像共有サービス130の映像共有エンジン138の、対応する映像組立モジュール430を参照しながら説明する。
【0013】
映像共有サービス130は、クライアント装置110によって取り込まれた映像を格納するための映像データベース134と、映像データベース134に格納される映像に関連付けられたメタデータを格納するためのメタデータデータベース132と、異なるクライアント装置110によって取り込まれた映像のタイミングを同期するための同期モジュール136と、映像データベース134に格納された映像を利用してマルチアングル映像を組み立てるための映像共有エンジン138とを含む。映像共有エンジン134については、
図4を参照しながら以下でさらに説明する。
【0014】
本開示において、“映像コンテンツ”、“デジタルコンテンツ”、又は“デジタルメディアコンテンツ”は、概して、任意の機器読み取り可能な及び機器格納可能な作品のことを称する。デジタルコンテンツは、例えば、映像、オーディオ、又は映像とオーディオとの組み合わせを含みうる。あるいは、デジタルコンテンツは、JPEG又はGIFファイルのようなスチル画像、又はテキストファイルであってもよい。簡単化及び1つの実施形態の説明を目的として、デジタルコンテンツを“映像”、“映像ファイル”、又は“映像素材(video footages)”と称するが、この用語によって、解析されうるデジタルコンテンツの種類についての限定を意図するものではない。
【0015】
ネットワーク120は、クライアント装置110及び映像共有サービス130の間における通信を可能にする。1つの実施形態において、ネットワーク120はインターネットを含み、そして、標準通信技術及び/又はプロトコル、例えば、4G LTEモバイルネットワーク、を利用する。他の実施形態においては、エンティティがカスタムの及び/又は専用のデータ通信技術を利用しうる。
【0016】
コンピューティングシステムアーキティクチャ
図1に示したエンティティは、1つ又は複数のコンピュータを用いて実現される。
図2は、1つの実施形態に従い、映像共有サービス130及び/又はクライアント装置110として動作するためのコンピュータ200を示した高レベルのブロック図である。チップセット204に接続される少なくとも1つのプロセッサ202が記載されている。また、チップセット204に接続されているものは、メモリ206、ストレージ装置208、キーボード210、グラフィックアダプタ212、ポインティングデバイス214、及びネットワークアダプタ216である。ディスプレイ218は、グラフィックアダプタ212に接続される。1つの実施形態において、チップセット204の機能は、メモリコントローラハブ220及びI/Oコントローラハブ222によって提供される。他の実施形態において、メモリ206は、チップセット204に代えて、プロセッサ202に直接接続される。
【0017】
ストレージ装置208は、ハードドライブ、CD−ROM(compact disk read-only memory)、DVD、又は、固体メモリデバイス(solid-state memory device)のような任意の非一過性のコンピュータ読み取り可能な記録媒体である。メモリ206は、命令、及びプロセッサ202によって利用されるデータを保持する。ポインティングデバイス214は、マウス、トラックボール、又は他の種類のポインティングデバイスであってもよく、キーボード210と共にコンピュータシステム200にデータを入力するために利用される。グラフィックアダプタ212は、画像及び他の情報をディスプレイ218に表示する。ネットワークアダプタ216は、コンピュータシステム200をネットワーク120に接続する。
【0018】
当技術分野で周知のように、コンピュータ200は、
図2に示されたものとは異なる及び/又は他の要素を持ちうる。また、コンピュータ200は、ある記載された要素を欠くこともできる。例えば、映像共有エンジン138として動作するコンピュータは、複数のブレードサーバを互いに接続して1つ又は複数の分散システムを形成することができ、キーボードやディスプレイのような要素を省略することができる。さらに、ストレージ装置208は、ローカルにおくこともできるし及び/又はコンピュータ200から離れたところにおくこともできる(SAN(storage area network)内での形態のように)。
【0019】
当技術分野で周知のように、コンピュータ200は、ここで説明される機能性を提供するコンピュータプログラムモジュールを実行することに適合している。ここで使われるように、用語“モジュール”は、特定の機能を提供するために使われるコンピュータプログラム論理のことを称する。従って、モジュールは、ハードウェア、ファームウェア、及び/又はソフトウェアで実現されうる。1つの実施形態において、プログラムモジュールは、ストレージ装置208に格納され、メモリ206にロードされ、そして、プロセッサ202により実行される。
【0020】
マルチアングル映像組み立てのための映像取得
複数のユーザは、同じスポーツイベントの映像を異なるアングルからモバイルコンピューティングデバイスのカメラを利用して取り込むことができる。
図3は、1つの実施形態に従い、クライアント装置110の映像取得エンジン115を示したブロック図である。映像取得エンジン115は、映像、例えば、ライブサッカーゲーム、を取り込み、その映像を映像共有サービス130にアップロードする。1つの実施形態において、映像取得エンジン115は、映像取得モジュール310と、同期モジュール320と、測位モジュール330と、キーフレーム抽出モジュール340と、メタデータアップロードモジュール350と、そして、映像アップロードモジュール360とを有する。映像取得エンジン115の他の実施形態は、異なる及び/又は追加的なコンピュータモジュール、例えば、映像共有サービスによって生成されたマルチアングル映像を提示するプレゼンテーションモジュール、を有しうる。同様に、
図3の様々なエンティティによって実行される機能は、異なる実施形態において異なっていてもよい。
【0021】
映像取得モジュール310、例えば、スマートフォンの内蔵デジタルカメラ、は、スポーツイベントのようなイベントの映像を取り込む。例えば、映像取得モジュール310は、サッカー競技の映像、又はバスケットボール競技の映像を取り込む。映像取得モジュール115は、任意のフォーマット及び/又は解像度で映像を取り込むことができる。いくつかの実施形態において、映像取得モジュール115は、クライアント装置110を利用するユーザによって指定されたフォーマット及び解像度で映像を取り込む。取り込まれた映像は複数の映像フォーマットを含み、その各々は、取り込まれた映像の他の映像フレームに関係する時間情報を表す、関連付けられたタイムスタンプを有する。
【0022】
同期モジュール320は、映像取得モジュール310によって取り込まれた映像のタイムスタンプと、映像共有サービス130の同期モジュール136からの時計とを同期する。いくつかの実施形態において、クライアント装置110の同期モジュール320及び映像共有サービス130の同期モジュール136は、クリスチャンズアルゴリズム(Cristian’s algorithm)又はNTP(network time protocol)のような時計同期アルゴリズムを利用する。例えば、クライアント装置110の同期モジュール320は、要求を映像共有サービス130の同期モジュール136に送信してもよい。映像共有サービス130の同期モジュール136は、同期モジュール136のクロックタイムを含む応答を送信する。クライアント装置110の同期モジュール320は、クライアント装置110から映像共有サービス130へと行ったり来たりするパケットについてのRTT(round trip time)をさらに測定してもよい。映像同期モジュール320は、次に、取り込んだ映像の現在時間を、映像共有サービス130の同期モジュール136からの応答に含まれる時間にRTTの半分を加えたものであると決定してもよい。
【0023】
測位モジュール330は、映像取得モジュール310が映像を取り込んだとき、クライアント装置110の位置を測定し、そして、映像取得モジュール310によって取り込まれた映像に、測定した位置をタグ付けする。例えば、測位モジュール330は、GPS(global positioning system)受信機を使用してクライアント装置110の緯度及び経度を測定する。測位モジュール330は、取り込まれた映像に関連付けて、座標値(例えば、緯度及び経度)に対応するメタデータをローカルのリポジトリに格納してもよいし、又は、そのメタデータをさらなる処理のためにメタデータアップロードモジュール350に提供してもよい。測位モジュール330は、標高や方位のような他の地理位置パラメータをさらに測定してもよい。
【0024】
キーフレーム抽出モジュール340は、映像取得モジュール310によって取り込まれた映像からキーフレームを抽出する。キーフレームは、映像のオーディオ/ビデオ信号に生じた変化の始点又は終点を示すために選択されたビデオフレームである。例えば、キーフレームは、スポーツ映像のオーディオ信号が閾値レベルに減衰し始める点を示すように設定される。いくつかの実施形態において、キーフレーム抽出モジュール340は、設定された数のフレーム毎にフレームを抽出する(例えば、30フレーム毎に最初のフレームを抽出する)、又は、設定された時間周期でフレームを抽出する(例えば、30秒毎にフレームを抽出する)。
【0025】
また、キーフレーム抽出モジュール340は、映像共有サービス130にアップロードされる、抽出されたキーフレームについての低解像度画像を生成してもよい。元の解像度のキーフレームに代えて、抽出されたキーフレームについての低解像度画像をアップロードすることは、モバイルコンピューティングデバイスに対する帯域幅の要求を低減する。例えば、低解像度画像は、映像取得モジュール310によって取り込まれた映像のキーフレームのサムネイルとして映像共有サービス130により利用されうる。実施形態において、キーフレーム抽出モジュール340は、抽出されたキーフレームを圧縮することによって、抽出されたキーフレームについての低解像度画像を生成する。当業者において知られた任意の圧縮方法は、キーフレーム抽出モジュール340により、抽出されたキーフレームを圧縮するために利用されうる。
【0026】
メタデータアップロードモジュール350は、映像取得モジュール310によって取り込まれた映像に関連付けられたメタデータを映像共有サービス130にアップロードする。映像取得モジュール310によって取り込まれた映像に関連付けられたメタデータの例は、映像の地理位置情報、映像の時間情報、抽出されたキーフレームの識別(identification)、及びキーフレームの対応する低解像度画像を含む。例えば、メタデータアップロードモジュール350は、測位モジュール330によって測定された地理位置情報、及び同期モジュール320によって決定された時間情報をアップロードする。メタデータアップロードモジュールは、キーフレームの識別、又はキーフレーム抽出モジュール340によって抽出されたキーフレームに対応する低解像度画像をさらにアップロードしてもよい。
【0027】
いくつかの実施形態において、メタデータアップロードモジュール350は、映像取得モジュール310がイベントの映像素材を取り込んだ後すぐにメタデータをアップロードする。例えば、メタデータアップロードモジュール350は、映像取得モジュール310が映像素材を取り込み終えた後、直ちにメタデータをアップロードしてもよい。いくつかの実施形態において、メタデータアップロードモジュール350は、映像取得モジュール310が映像素材を取り込んでいる間にメタデータをアップロードしてもよい。例えば、メタデータアップロードモジュール350は、時間情報、地理位置情報、及び/又は、キーフレームの識別を、映像取得モジュール310が映像素材の取り込みを終える前であっても、映像共有サービス130にアップロードすることができる。
【0028】
映像アップロードモジュール360は、映像取得モジュール310によって取り込まれた映像素材を映像共有サービス130にアップロードする。1つの実施形態において、映像アップロードモジュール360は、キーフレーム抽出モジュール340によって抽出されたキーフレームに対応する低解像度画像をアップロードする。いくつかの実施形態において、映像アップロードモジュール360は、クライアント装置110が、取り込んだ映像をアップロードする前に、高速インターネット接続を確立するまで待機してもよい。例えば、映像アップロードモジュール360は、クライアント装置がWLAN(wireless local area network)を介して接続されるまで待機してもよい。他の実施形態において、映像アップロードモジュールは、クライアント装置110のユーザからの指示の受信に応じて、映像取得モジュールによって取り込まれた映像をアップロードする。
【0029】
マルチアングル映像組み立て及び共有
再び
図1を参照すると、映像共有サービス130は、メタデータデータベース132、映像データベース134、同期モジュール136、及び映像共有エンジン138を含む。映像データベース134は、クライアント装置110によって取り込まれた映像を格納する。メタデータデータベース132は、映像データベース134に格納された映像に関連付けられたメタデータを格納する。1つの実施形態において、メタデータデータベース132に格納されるメタデータは、関連付けられた映像を提供したクライアント装置110から受信される。映像共有サービス130の同期モジュール136は、クライアント装置110の映像取得エンジン115の同期モジュール320と通信し、クライアント装置110によって取り込まれた映像のタイミングと同期する。映像共有エンジン138は、映像データベース132に格納された映像を利用して、ユーザがマルチアングル映像を組み立てできるようにする。
【0030】
同期モジュール136は、クライアント装置110によって取り込まれ、そして、映像共有サービス130にアップロードされた映像のタイミングを同期する。クライアント装置110の各々は、異なる内部時間を有しうるし、そして、クライアント装置110によって取り込まれた映像は、そのタイムスタンプとして、クライアント装置110の内部時間を有する。複数のクライアント装置で記録された映像素材を利用してマルチアングル映像を構成するとき、もし、異なる映像素材に関連付けられたタイミングが同期していないと、構成された映像は、時間的に連続しなくなることがある。例えば、見ている人に対するジッター(jittering)の出現となりうる。例えば、ユーザは、第1のクライアント装置からの映像素材と、第2のクライアント装置からの映像素材とを利用して映像を構成してもよいが、ここで、第1のクライアント装置の内部時間と第2のクライアント装置の内部時間とが1秒異なる。構成された映像は、クライアント装置の各々によって記録された映像素材間を切り替えるとき、第1のクライアント装置と第2のクライアント装置との間の内部時間の違いにより、1秒の時間的なギャップを有しうる。
【0031】
1つの実施形態において、同期モジュール136は、クライアント装置110によって取り込まれた各映像に関連付けられた内部時間を、同期モジュール136のシステム時計に同期する。例えば、クライアント装置110からクロック同期要求を受信したとき、同期モジュール136は、同期モジュール136のクロックタイムを含む応答を送信する。クライアント装置110の映像同期モジュール320は、映像の現在時間を、同期モジュール136からの応答に含まれる時間になるように設定するが、ここで、現在時間は、クライアント装置110によって映像共有サービス130にアップロードされたキーフレームの低解像度画像に関連付けられている。
【0032】
ある状況下では、同期モジュール136は、クライアント装置110毎に時間を正確に同期できないかもしれない。例えば、クライアント装置110は、ビジーネットワーク(例えば、数千人の人々が同時に1つのネットワークに接続するコンサート会場内)の中にいるかもしれず、このような場合、クライアント装置110と映像共有サービス130との間でデータを送信及び受信するための遅延は大きい。同期モジュール136は、映像共有サービス130とクライアント装置110との間の時間ベースの同期が成功しなかったとき、映像を同期するために複数の映像のオーディオ特徴を利用してもよい。
【0033】
いくつかの実施形態において、同期モジュール136は、時間ベースの同期が不成功になったかどうか、又は、映像共有サービス130とクライアント装置110との間の時間ベースの同期が不正確であることの尤度が閾値より高いかどうか、を判断する。例えば、同期モジュール136は、複数のクライアント装置に到達するための遅延(例えば、映像共有サービス130とクライアント装置110との間でパケットのRTT(roundtrip time)を測定することによって)を測定してもよい。クライアント装置110についてのRTTを測定するために、映像共有サービス130は、クライアント装置110に要求を送信し、そして、クライアント装置110からのACK(acknowledgement)の受信にかかる時間を計測してもよい。同期モジュール136は、次に、時間同期が不正確であることの尤度が高いことを、測定した遅延に基づいて判断する。例えば、もし、異なるクライアント装置110についての遅延に基づくRTT間の差が遅延閾値より大きいなら、同期モジュール136は、時間同期が不正確であることの尤度が高いと判断する。
【0034】
複数から取り込まれた複数の映像の同期についての精度を改善するために、同期モジュール136は、それら複数の映像のうちのある映像に関連付けられたオーディオシグネチャ(audio signature;“サウンドパターン”とも称される)を選択し、選択したサウンドパターンがそれら映像のうちの他の映像映像に現れるかを判断する。サウンドパターンの判断に基づいて、同期モジュール136は、各映像に関連付けられたタイミングを調整するかどうかを決定する。
【0035】
図10は、複数のアングルから取り込まれた複数の映像のうち第1映像と第2映像とを、映像に関連付けられたサウンドパターンに基づいて同期するためのプロセスを示したフロー図である。
図10に示した例は、2つの映像間の同期だけを示しているが、同様のステップは複数のアングルから取り込まれた、より多くの映像に対しても適用されうる。もし、第1映像と第2映像とが近隣ユーザによって同時に記録されたものであるなら、第1映像と第2の映像とは、似通ったオーディオシグネチャを有するセグメントを含みうる。例えば、もし、第1映像と第2映像とがコンサートの間に記録されたものなら、両方の映像は、歌手が特定の歌又は歌の一部を歌うオーディオシグネチャを、特定のタイマー期間に含みうる。同様に、もし、映像がサッカー競技の間に記録されたものであるなら、両方の映像は、観衆がゴールに歓喜する、又はボールがポストに当たるオーディオシグネチャを含みうる。
【0036】
第1及び第2映像を同期するために、同期モジュール136は、参照オーディオシグネチャとして第1映像に関連付けられたサウンドパターンを選択し、第1映像の複数のサーチウィンドウ内のオーディオ信号のパワーを測定1010する。同期モジュール136は、サウンドパワー閾値より大きなパワーを有し、そして、期間閾値(例えば、2秒)より大きな期間を有するサーチウインドウを選択1020する。例えば、同期モジュール136は、第1映像のオーディオ信号の少なくとも2秒間における最大パワーを有するサーチウィンドウを選択してもよい。選択したサーチウィンドウのサウンドパワーは、第1映像の参照オーディオシグネチャを与える。
【0037】
同期モジュール136は、第2映像内での選択したウィンドウのオーディオシグネチャを探索1030する。オーディオシグネチャを探索するために、同期モジュール136は、選択したウィンドウの周波数スペクトラムについて第2映像のオーディオ信号を解析し、第1映像のオーディオシグネチャに関連付けられた、類似する周波数スペクトラムを有する第2映像のウィンドウを探索する。もし、オーディオシグネチャが第2映像内で発見1040されたなら、同期モジュール136は、第1映像のオーディオシグネチャを有する映像セグメントのRTTタイムスタンプと、第2映像のオーディオシグネチャを有する映像セグメントのRTTタイムスタンプとの間の差(variance)を計算する。計算されたタイムスタンプの差に基づいて、同期モジュール136は、第2映像のタイミングを調整するかどうかを決定する。
【0038】
1つの実施形態において、同期モジュール136は、計算したタイムスタンプの差と、差分閾値とを比較する。差が差分閾値より小さいかに応じて、同期は、第2映像のタイミングを調整1050するか、あるいは、タイミング調整を実施しない。例えば、第2映像のタイミングは、タイムスタンプの差と差分閾値との比較に基づいてシフトされる。もし、オーディオシグネチャが第2映像内に見つからないなら、第2映像は破棄1060される。もし、同期する映像が2つ以上あるなら、同期モジュール136は、同じ1030−1060のステップを追加的な映像に対して繰り返す。いくつかの実施形態において、もし、オーディオシグネチャが複数の場所で見つかるなら(例えば、第2映像内に含まれるサウンドのエコーが理由で)、オーディオシグネチャを含む最初のウィンドウが、第1映像と第2映像との同期に利用される。
【0039】
映像共有エンジン138は、ユーザに対し、映像データベース132に格納されている映像を利用してマルチアングル映像を組み立てることを可能にする。
図4は、1つの実施形態に従い、映像共有エンジン138を示したブロック図である。映像共有エンジン138は、近隣ユーザ識別モジュール410、映像提示モジュール420、及び映像組立モジュール430を含む。
【0040】
複数のユーザは、スポーツイベントの映像を、異なるアングルから、モバイルコンピューティングデバイスのカメラを利用して取り込むことができ、そして、ユーザは、異なるアングルから他のユーザが取り込んだ映像素材を利用して映像を組み立てたいかもしれない。ユーザによって記録された特定の映像について、近隣ユーザ識別モジュール410は、特定の映像を記録したユーザの近くにいた他のユーザによって取り込まれた他の映像を識別する。映像共有エンジン138の1つの実施形態の説明を簡単にするため、近隣ユーザ識別モジュール410が、他のユーザが近くにいると認識するための、ユーザをこれ以降、“対象ユーザ”と称する。1つの実施形態において、近隣ユーザ識別モジュール410は、取り込まれた映像のメタデータ、例えば、地理位置情報を、対象ユーザの近くにいた他のユーザを認識するために利用する。
【0041】
図5Aは、スポーツイベントの映像素材を取り込む複数のユーザのトップビューを示した図である。
図5Aの例において、6人のユーザU1、U2、U3、U4、U5、及びU6がサッカーゲームの映像素材を取り込んでいる。特に、ユーザU1、U2、U3、U4、及びU5は、サッカーボールを持っているプレーヤ510Aの映像素材を取り込んでおり、一方で、ユーザU6は、プレーヤ510Bの映像素材を取り込んでいる。ユーザU1は、対象ユーザであり、ユーザU1、U3、及びU4によって取り込まれた映像素材を利用して映像を組み立てたいことがありうる。近隣ユーザ識別モジュール410は、対象ユーザUIの近くにいたユーザU2からU6を認識するために、メタデータデータベース132に含まれる情報を利用する。例えば、近隣ユーザ識別モジュール410は、ユーザU2及びU6によって取り込まれた映像に関連付けられた地理位置情報、例えば、緯度及び経度、を利用し、そして、その地理位置情報と、ユーザU1によって記録された映像に関連付けられた地理位置情報とを比較する。ユーザU1によって記録された映像と類似する緯度及び経度を有するユーザU2からU6によって取り込まれた映像に応じて、近隣ユーザ識別モジュール410は、ユーザU2からU6がユーザU1の近くにいたものと判断する。
【0042】
ユーザU1からU6によって取り込まれた映像間での地理位置情報の比較に基づく判断を強化するために、近隣ユーザ識別モジュール410は、ユーザU1からU6によって取り込まれた映像に関連付けられた時間情報をさらに比較してもよい。ユーザU1によって取り込まれた映像と同じ時間期間にユーザU2からU6によって取り込まれた映像は、ユーザU2からU6がユーザU1の近くにいた可能性を高める。
【0043】
他の実施形態において、
図5Bに示したように、近隣ユーザ識別モジュール410は、対象ユーザU1からの距離(R)によって測定される所定のエリア内にいるユーザを選択する。例えば、もし、ユーザU1が近くの他のユーザによって取り込まれた映像を用いてマルチアングル映像を組み立てるなら、近隣ユーザ識別モジュール410は、ユーザU1の位置を中心とする半径Rの円520Aの内部にいるユーザを認識する。
図5Bの例において、ユーザU2、U3、U4、及びU5は、彼らがユーザU1の位置を中心とする円520A内にいるために選択されており、そして、ユーザU6及びU7は、彼らが円520Aの外側にいることにより選択されていない。
【0044】
いくつかの実施形態において、近隣ユーザ識別モジュール410は、近くのユーザを特定するために、カメラが指し示しているアングルを考慮に入れる。例えば、ユーザは、彼らの地理位置に基づく対象ユーザの近くにいるが、それらユーザによって利用されるカメラは、対象ユーザU1によって指し示されているものとは異なる位置を指し示していることがありうる。近隣ユーザ識別モジュール410は、彼らのマルチアングル映像を組み立てるために対象ユーザU1によって映像が選択及び利用されないユーザを認識する。
図5Bの例において、ユーザU2、U3、U4、及びU5は、彼らの地理的位置に基づくと、対象ユーザU1の近くにいる。例えば、ユーザU2からU5は、サッカー場530Aの中央を中心とする同じ円520Bの内部にいる。しかし、ユーザU4及びU5のカメラは、対象ユーザU1のカメラによって指し示されている方向とは異なるサッカー場を指し示している。近隣ユーザ識別モジュール410は、ユーザU3、U4、及びU5を、対象ユーザU1の近くのユーザとして選択し、ユーザU4及びU5を選択しない。
【0045】
また他の実施形態において、近隣ユーザ識別モジュール410は、スポーツ競技場又は対象ユーザU1の視界に含まれる建物を認識してもよく、認識された競技場を、対象ユーザU1の近くにいるユーザを選択するために使用する。
図5Bを例に挙げると、近隣ユーザ識別モジュール410は、サッカー場530Aを、対象ユーザU1の視界の中にあると認識する。近隣ユーザ識別モジュール410は、競技場530Aの周りに位置する円520Bの内側にいるユーザを、マルチアングル映像を組み立てるために対象ユーザU1によって映像を利用できる、対象ユーザU1の近くのユーザとして認識する。
【0046】
いくつかの実施形態において、近隣ユーザ識別モジュール410は、対象ユーザU1が1つの場所から他へと移動するにつれて、又は、他のユーザが、近くのユーザを認識するために利用される所定の円形エリアの内部又は外部に移動するにつれて、異なるユーザを認識する。例えば、
図5Cは、スポーツイベントの映像素材を取り込んでいる複数の他のユーザの向こう側に移動するユーザを示した図である。ユーザU1がパス550に沿って移動するにつれて、所定の直径を有し、近くのユーザを認識するために利用される円540も移動する。例えば、ユーザU1が第1の位置にいるとき、第1の円540Aは、近くのユーザを認識するために利用される。円540Aを利用すると、ユーザU2は、ユーザU1の近くにいると認識される。なぜなら、ユーザU2は、第1の円540Aの内部にいるからである。ユーザU1がパス550に沿って第2の位置に移動するとき、そこでの第2の円540Bが近くのユーザを認識するために利用される。この位置で、近くのユーザは認識されない。なぜなら、ユーザU1以外に円540Bの内部にユーザがいないからである。ユーザU1は、次に、パス550に沿って第3の位置まで移動する。そこでの第3の円540Cが近くのユーザを認識するために利用される。この位置では、二人のユーザU3及びU4がユーザU1の近くにいると認識される。なぜなら、彼らは第3の円540Cの内側にいるからである。ユーザU1が第4の位置に移動するとき、第4の円540Dが近くのユーザを認識するために利用される。
図5Cの例において、ユーザU1の近くにいるユーザとして認識される他のユーザはない。なぜなら、第4の円540Dの内側に他のユーザがいないからである。
【0047】
再び
図4を参照すると、映像提示モジュール420は、近隣ユーザ識別モジュール410によって認識された近くのユーザにより取り込まれた映像素材を対象ユーザに提示する。例えば、
図5Aの例示的な状況については、映像提示モジュール420が、ユーザU2、U3、U4、及びU5からの映像素材を対象ユーザU1に提示する。ユーザU1は、ユーザU1自身によって取り込まれた映像に加え、認識された近くのユーザからの1つ又は複数の映像素材を利用してマルチアングル映像を組み立てる。
【0048】
対象ユーザによるマルチアングル映像組み立てをさらに説明するために、
図6は、1つの実施形態に従い、近くのユーザからの利用可能な映像、及び、マルチアングル映像を生成するためのユーザの映像シーケンス選択を示した図である。
図6に示したように、ユーザU1、U2、U3、U4、U5、及びU6は、時間00:00と時間04:00との範囲におけるサッカーゲームの映像素材を記録した。例えば、陰付きボックス(shaded boxes)は、ユーザのそれぞれがサッカーゲームの映像素材を記録した時間期間を示している。陰付きボックス上のソリッドボックス(solid boxes)は、ユーザU1が組立映像を組み立てるために選択した映像素材の位置を示している。映像提示モジュール420は、対象ユーザU1がサッカーゲームの映像を記録していた時間期間の間に、近くのユーザによって記録された映像(すなわち、
図6の陰付きボックスによって表される映像)を提示する。
【0049】
いくつかの実施形態において、映像提示モジュール420は、プレビュー(例えば、近くのユーザによって取り込まれた映像からのキーフレームの低解像度画像)を示す。他の実施形態において、映像提示モジュール420は、近くのユーザがスポーツイベントの映像素材を取り込んだ時間期間の識別(identification)を提示する。
図6に示した例において、提示モジュール420は、マルチアングル映像の組み立ての中で、対象ユーザU1によって選択された各映像シーケンスの時間情報(例えば、開始及び終了)を示す。例えば、対象ユーザU1は、時間00:00から時間01:02まで自身で記録した映像素材の部分と、ユーザU2によって01:02から01:45まで記録された映像素材の部分と、ユーザU3によって01:45から02:30まで記録された映像素材の部分と、そして、ユーザU1によって02:30から04:00まで記録された映像素材の部分とを選択した。
【0050】
再び
図4を参照すると、映像組立モジュール430は、映像素材選択を、マルチアングル映像を組み立てる対象ユーザから受信し、対象ユーザによって選択された映像素材の部分を利用してマルチアングル映像を生成する。映像組立モジュール430は、対象ユーザによって選択された映像を映像データベース134から取り出し、そして、取り出した映像に基づいてマルチアングル映像を組み立てる。映像組立モジュール430は、ここでは、映像共有サービス130と併せて記載されているけれども、ここで説明された機能は、クライアント装置110の対応する映像組立モジュールによって同様に実行されうる。
【0051】
いくつかの実施形態において、もし、1つ又は複数の近くのユーザが映像素材(例えば、地理位置情報、時間情報、及びキーフレーム)についてのメタデータをアップロードのみし、映像をアップデートしなかったならば、映像組立モジュール430は、マルチアングル映像を組み立てる対象ユーザに、1つ又は複数の映像がまだ利用可能ではないことを通知する。いくつかの実施形態において、映像組立モジュール430は、欠けていた映像が1つ又は複数の近くのユーザから受信されたときに、マルチアングル映像を生成する。例えば、もし、近くのユーザU2及びU4がメタデータ及び映像をアップロードし、そして近くのユーザU3及びU5がメタデータをアップロードしたが映像をアップロードせず、そして、ユーザU1が、ユーザU1、U3、及びU4によって取り込まれた映像部分を、マルチアングル映像に含めるために選択したならば、映像組立モジュール430は、ユーザU3によって取り込まれた映像が映像共有サービス130にアップロードされたときに、マルチアングル映像を組み立ててもよい。いくつかの実施形態において、映像組立モジュール430は、ユーザU3に対し、ユーザU3によって取り込まれた映像をアップロードするように通知を送信してもよい。
【0052】
図7は、1つの実施形態に従い、マルチアングル映像組み立てのための映像素材をアップロードするプロセスを示したフロー図である。最初に、クライアント装置110の映像取得エンジン115は、イベントの映像、例えば、サッカーゲーム、をクライアント装置110のデジタルカメラを利用して取り込む710。映像取得エンジン115は、クライアント装置110によって取り込まれた映像の時間と映像共有サービス138の時間とを同期720する。
【0053】
映像取得エンジン115は、クライアント装置110の位置を測定730する。例えば、映像取得エンジン115の測位モジュール330は、GPS受信機を利用して緯度及び経度の値を測定してもよい。映像取得エンジン115は、クライアント装置110によって取り込まれた映像からキーフレームを抽出740し、抽出したキーフレームの低解像度画像を生成750する。映像取得エンジン115は、抽出したキーフレームの低解像度画像、取り込まれた映像の同期後のタイムスタンプ、及び、映像が取り込まれた時点でのクライアント装置110の地理位置を映像共有サービス130に送信760する。映像取得エンジン115は、取り込んだ映像を映像共有サービス130に送信770する。
【0054】
図8は、対象ユーザのために、対象ユーザの近くの他のユーザによって取り込まれた複数の映像素材からマルチアングル映像を組み立てるプロセスを示したフロー図である。最初に、映像共有エンジン138は、対象ユーザからマルチアングル映像を組み立てることの要求を受信810する。映像共有エンジン138は、対象ユーザの近くの他のユーザを認識820し、近くのユーザによって取り込まれた映像を認識830する。映像共有エンジン138は、近くのユーザからの、認識された映像を対象ユーザに提示840する。映像共有エンジン138は、映像の選択、又は、対象ユーザ自身及び近くのユーザによって取り込まれた映像部分を受信850する。映像共有エンジン138は、選択された映像に基づいて、例えば、それらのタイムスタンプに従って選択された映像を結合することによって、マルチアングル映像を組み立てる860。映像共有エンジン138は、対象ユーザに組み立てた映像を提供870する。
【0055】
先に述べたように、異なるアングルから取り込まれた映像からのマルチアングル映像組み立ては、クライアント装置110の映像組立モジュールによってクライアント装置110で同様に実行されうる。最初に、クライアント装置110は、
図7を参照して説明したように、映像を取り込み、そして、映像共有サービス130にアップロード910する。映像をアップロードしたユーザ、すなわち、対象ユーザ、に関連付けられたクライアント装置110は、アップロードした映像に基づくマルチアングル映像を組み立てることの要求を映像共有サービス130に送信920する。映像共有サービス130は、対象ユーザがアップロードした映像を撮ったのとほぼ同じ時間に対象ユーザの近くにいた他のユーザを認識する。映像共有サービス130は、認識した近くのユーザによって取り込まれた映像を取得し、そして、その映像をクライアント装置110に送信する。クライアント装置110は、認識した近くのユーザによって取り込まれた映像を受信930し、そして、受信した映像から、1つ又は複数の映像又は映像部分を選択940する。クライアント装置110は、選択した映像及び/又は映像部分からマルチアングル映像を生成950し、そして、生成した映像を対象ユーザに対して、クライアント装置110のディスプレイ上に提示960する。
【0056】
図11は、複数のアングルから取り込まれた映像素材を有するマルチアングル映像を組み立てるための例示的なユーザインターフェース1100を示している。ユーザインターフェース1100は、近くのユーザによって取り込まれた映像を提示するためのGUI(graphical user interface)要素1110を含む。
図11の例示的なGUI100は、5人の異なるユーザ(例えば、ユーザAからの映像を提示するGUI要素1110A、ユーザBからの映像を提示するGUI要素1110B、ユーザCからの映像を提示するGUI要素1110C、ユーザDからの映像を提示するGUI要素1110D、ユーザEからの映像を提示するGUI要素1110E)によって取り込まれた映像を提示するためのGUI要素1110を含む。いくつかの実施形態において、GUI要素1110は、ユーザによって取り込まれた映像のキーフレームを示す。マルチアングル映像を組み立てるユーザは、近くのユーザによって取り込まれた映像又は映像の部分を選択してもよい。
図11の例において、ユーザDは、ユーザAによって取り込まれた映像部分、ユーザBによって取り込まれた映像部分、自身で取り込んだ映像部分を利用してマルチアングル映像を組み立てている。
【0057】
GUI1100は、組み立てたマルチアングル映像をレビューするためのプレビュービューワ1120、及び、マルチアングル映像に含まれる映像から選択されたサムネイル画像を示すためのGUI要素1130をさらに含む。ユーザは、マルチアングル映像がどのように見えるかを、選択されたシーケンスに基づいて見ることができる。もし、ユーザが選択した映像シーケンスに満足しないならば、ユーザは、GUI要素1110を利用して、望む映像が得られるまで選択を修正できる。
全般的な事項
【0058】
本発明の実施形態についてのこれまでの記述は説明を目的として提示されたものであり、それは、網羅的又は発明を開示された厳密な形に限定することを意図するものではない。当業者であれば、上記の開示に照らして多くの修正や変形が可能であることを理解できよう。
【0059】
この説明についてのいくつかの部分は、発明の実施形態をアルゴリズム及び情報の操作についての抽象的表現の観点から説明している。これらのアルゴリズム的な記載及び表現は、共通してデータ処理分野の当業者によって使用され、彼らの作業内容を効果的に他分野の当業者へ伝える。これら、機能的、計算上、又は論理的に記述した操作は、コンピュータプログラム又は等価な電子回路、マイクロコードなどによって実現されるものと理解される。さらに、これら操作の仕組みをモジュールと称することが、一般性を失うことなく、時には便利であることがわかる。説明された操作及びそれらの関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせによって実装されうる。
【0060】
ここで説明した任意のステップ、操作、又はプロセスは、1つ又は複数のハードウェア又はソフトウェアモジュール、単独又は他のデバイスとの組み合わせ、によって実行又は実現されうる。1つの実施形態において、ソフトウェアモジュールは、説明した任意の又は全てのステップ、操作、及びプロセスを実行するためのコンピュータプロセッサによって実行されるコンピュータプログラムコードを内包した、コンピュータ読み取り可能な記録媒体を含むコンピュータプログラム製品で実現されうる。
【0061】
発明の実施形態は、こうした操作を実行する装置にも関係しうる。この装置は、特に、要求された目的のために組み立てられたものでもよいし、及び/又は、それは、コンピュータに格納されたコンピュータプログラムによって選択的に有効化され又は再構成される汎用目的のコンピューティングデバイスを構成するものでもよい。そのようなコンピュータプログラムは、非一過性の、有形のコンピュータ読み取り可能なストレージ媒体、又は、任意のタイプの電子命令を格納するのに適した媒体であって、コンピュータシステムバスに接続されうるもの、に格納されうる。さらに、本明細書において参照されるコンピュータシステムは、単独のプロセッサを含んでもよいし、又は、コンピューティング能力を増大するためにマルチプロセッサデザインを採用するアーキティクチャであってもよい。
【0062】
発明の実施形態は、ここで説明したコンピューティングプロセスによって作り出される製品にも関係する。そのような製品は、コンピューティングプロセスからの結果となる情報を含む。ここで、その情報は、非一過性の、有形のコンピュータ読み取り可能なストレージ媒体に格納され、コンピュータプログラム製品の任意の実施形態又はここで説明した他のデータの組み合わせを含みうる。
【0063】
最後に、本明細書で使用した用語は、基本的に可読性や教育的な目的のために選択されており、それは、発明構成の描写又は制限のために選択されたものではない。従って、発明の範囲は、この詳細な説明によってではなく、むしろこれに関する出願の特許請求の範囲によって制限されることを意図している。よって、発明の実施形態の開示は、説明的であり、発明の範囲を限定するものではなく、特許請求の範囲によって記載される。
【国際調査報告】