(57)【要約】ビデオエフェクトアプリケーションは、画像キャプチャデバイスを有するクライアントデバイス上で実行され、画像キャプチャデバイスによってキャプチャされたビデオデータを受信する。ビデオエフェクトアプリケーションは、キャプチャされたビデオデータから情報を抽出し、抽出された情報をキャプチャされたビデオデータに関連付けられたメタデータとして記憶する。例えば、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータ内のオブジェクトを特定するか、またはキャプチャされたビデオデータのオプティカルフローを特定し、特定されたオブジェクトまたは特定されたオプティカルフローをキャプチャされたビデオデータに関連付けられたメタデータとして記憶する。ビデオエフェクトアプリケーションは、キャプチャされたビデオデータに関連してキャプチャされたビデオデータに対する編集を記述する情報を記憶する。キャプチャされたビデオデータが提示されるときに、キャプチャされたビデオデータ、関連付けられたメタデータ、および編集を記述する情報がレンダラに伝達され、レンダラは、キャプチャされたビデオデータを提示するときにメタデータを使用してキャプチャされたビデオデータに対して特定された編集を行う。
2019537298.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
クライアントデバイスにおいてビデオデータを取得するステップと、
前記クライアントデバイスにおいてビデオデータが取得されたときに、前記クライアントデバイスが前記ビデオデータに１つまたは複数の処理を適用することによって前記ビデオデータから情報を抽出するステップと、
抽出した情報を前記ビデオデータに関連付けられたメタデータとして記憶するステップと、
前記ビデオデータに対する１つまたは複数の編集を特定する情報を受信するステップと、
前記ビデオデータに対する編集を特定する受信した情報を前記ビデオデータに関連付けて記憶するステップと、
前記ビデオデータが前記クライアントデバイスによってレンダリングされるときに、受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップであって、１つまたは複数の編集が前記ビデオデータに関連付けられた前記メタデータを使用して実行される、前記編集するステップと、
前記クライアントデバイスのディスプレイデバイスにより編集された前記ビデオデータを提示するステップとを含む方法。
【請求項２】
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムに提供するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータを前記オンラインシステムに提供するステップは、
前記オンラインシステムのユーザの識別子を前記オンラインシステムに前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて伝達することを含む、請求項２に記載の方法。
【請求項４】
前記ビデオデータに対する編集を特定する前記受信した情報を前記オンラインシステムに前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて提供するステップをさらに含む、請求項２に記載の方法。
【請求項５】
前記ビデオデータに関連付けられた前記メタデータは、１つまたは複数のオブジェクトを含む前記ビデオデータの１つまたは複数の一部を特定する、請求項１に記載の方法。
【請求項６】
前記ビデオデータを編集するステップは、
前記ビデオデータの前記１つまたは複数の一部に含まれるオブジェクトに基づいて前記ビデオデータの１つまたは複数の一部を編集することを含む、請求項５に記載の方法。
【請求項７】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集するステップは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信した１つまたは複数の入力に基づいて前記ビデオデータの一部を編集することを含む、請求項１に記載の方法。
【請求項８】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集するステップは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報に基づいて前記ビデオデータの一部を編集することを含む、請求項１に記載の方法。
【請求項９】
前記クライアントデバイスの構成要素は、加速度計、位置センサ、およびそれらの任意の組み合わせからなる群から選択される、請求項８に記載の方法。
【請求項１０】
前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップであって、１つまたは複数の編集が前記ビデオデータに関連付けられた前記メタデータに基づいて実行される、前記編集するステップは、
前記ビデオデータに関連付けられたメタデータによってオブジェクトを含むと特定された前記ビデオデータの一部に１つまたは複数の画像をオーバーレイし、前記ビデオデータの一部の間の前記ビデオデータのオーディオデータを編集することを含む、請求項１に記載の方法。
【請求項１１】
前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップは、
前記ビデオデータに関連付けられた前記メタデータによって特定された前記ビデオデータの一部の１つまたは複数の特性に基づいて前記ビデオデータの一部に対して複数の編集を実行することを含む、請求項１に記載の方法。
【請求項１２】
前記クライアントデバイスにおいて前記ビデオデータを取得するステップは、
前記クライアントデバイスに含まれる画像キャプチャデバイスにより前記ビデオデータをキャプチャすることを含む、請求項１に記載の方法。
【請求項１３】
前記クライアントデバイスにおいて前記ビデオデータを取得するステップは、
他のクライアントデバイスから前記ビデオデータを受信することを含む、請求項１に記載の方法。
【請求項１４】
前記クライアントデバイスにおいて前記ビデオデータが取得されるときに前記ビデオデータに適用されるプロセスは、前記ビデオデータに含まれる１つまたは複数のオブジェクトを特定する、請求項１に記載の方法。
【請求項１５】
前記ビデオデータに含まれるオブジェクトは顔を含む、請求項１４に記載の方法。
【請求項１６】
方法であって、
オンラインシステムにおいて、前記オンラインシステムのユーザに関連付けられたクライアントデバイスからビデオデータを受信するステップと、
前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータを受信するステップと、前記メタデータは、前記クライアントデバイスが前記ビデオデータを取得したときに前記クライアントデバイスによって前記ビデオデータから抽出された情報を含み、
前記オンラインシステムにおいて、前記ビデオデータを前記メタデータと関連付けて記憶するステップと、
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータを、前記オンラインシステムの追加のユーザに関連する追加のクライアントデバイスに提供するステップとを含む方法。
【請求項１７】
前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを受信するステップは、
前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータと、前記クライアントデバイスによって受信されたビデオデータに対する１つまたは複数の編集を記述する情報とを受信することを含む、請求項１６に記載の方法。
【請求項１８】
前記ビデオデータおよび前記ビデオデータに関連付けられたメタデータを前記追加のクライアントデバイスに提供するステップは、
前記ビデオデータ、前記ビデオデータに関連付けられた前記メタデータ、および前記ビデオデータに対する１つまたは複数の編集を記述する情報を追加のクライアントデバイスに提供することを含み、前記追加のクライアントデバイスは、前記ビデオデータをレンダリングするときに前記ビデオデータに対する１つまたは複数の編集を実行するように構成されている、請求項１７に記載の方法。
【請求項１９】
前記ビデオデータに対する１つまたは複数の編集を記述する情報は、前記ビデオデータに関連付けられた前記メタデータによって識別された、前記ビデオデータの一部の１つまたは複数の特性に基づいて前記ビデオデータの一部に対する複数の編集を特定する、請求項１７に記載の方法。
【請求項２０】
前記ビデオデータに対する１つまたは複数の編集を記述する情報は、前記ビデオデータの一部に対応する期間中に前記追加のクライアントデバイスによって受信された１つまたは複数の入力に基づいて前記ビデオデータの一部に対する編集を特定する、請求項１７に記載の方法。
【請求項２１】
符号化された命令を有する非一時的コンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、前記命令は、プロセッサによる実行時に、前記プロセッサに、
クライアントデバイスにおいて、ビデオデータおよび前記ビデオデータに関連付けられたメタデータを取得すること、前記メタデータは、追加のクライアントデバイスによって前記ビデオデータに関連付けられ、
前記クライアントデバイスにおいて、前記ビデオデータに対する１つまたは複数の編集を特定する情報を受信すること、
前記クライアントデバイスにより前記ビデオデータがレンダリングされるときに受信した情報により特定された編集を実行することによって前記ビデオデータを編集すること、１つまたは複数の編集は、前記ビデオデータに関連付けられたメタデータを使用して行われ、
前記クライアントデバイスのディスプレイデバイスにより編集されたビデオデータを提示することを行わせる、コンピュータプログラム製品。
【請求項２２】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集することは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報に基づいて前記ビデオデータの一部を編集することを含む、請求項２１のコンピュータプログラム製品。
【請求項２３】
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信された１つまたは複数の入力を含む、請求項２２に記載のコンピュータプログラム製品。
【請求項２４】
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報を含む、請求項２２に記載のコンピュータプログラム製品。
【請求項２５】
前記ビデオデータおよび前記追加のクライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを取得することは、
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムから受信することを含む、請求項２１に記載のコンピュータプログラム製品。
【請求項２６】
方法であって、
クライアントデバイスにおいてビデオデータを取得するステップと、
前記クライアントデバイスにおいてビデオデータが取得されたときに、前記クライアントデバイスが前記ビデオデータに１つまたは複数の処理を適用することによって前記ビデオデータから情報を抽出するステップと、
抽出した情報を前記ビデオデータに関連付けられたメタデータとして記憶するステップと、
前記ビデオデータに対する１つまたは複数の編集を特定する情報を受信するステップと、
前記ビデオデータに対する編集を特定する受信した情報を前記ビデオデータに関連付けて記憶するステップと、
前記ビデオデータが前記クライアントデバイスによってレンダリングされるときに、受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップであって、１つまたは複数の編集が前記ビデオデータに関連付けられた前記メタデータを使用して実行される、前記編集するステップと、
前記クライアントデバイスのディスプレイデバイスにより編集された前記ビデオデータを提示するステップとを含む方法。
【請求項２７】
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムに提供するステップをさらに含み、
任意選択的に、前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータを前記オンラインシステムに提供するステップは、
前記オンラインシステムのユーザの識別子を前記オンラインシステムに前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて伝達することを含み、
任意選択的に、前記ビデオデータに対する編集を特定する前記受信した情報を前記オンラインシステムに前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて提供するステップをさらに含む、請求項２６に記載の方法。
【請求項２８】
前記ビデオデータに関連付けられた前記メタデータは、１つまたは複数のオブジェクトを含む前記ビデオデータの１つまたは複数の一部を特定し、
任意選択的に、前記ビデオデータを編集するステップは、
前記ビデオデータの前記１つまたは複数の一部に含まれるオブジェクトに基づいて前記ビデオデータの１つまたは複数の一部を編集することを含む、請求項２６または２７に記載の方法。
【請求項２９】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集するステップは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信した１つまたは複数の入力に基づいて前記ビデオデータの一部を編集すること、および／または、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報に基づいて前記ビデオデータの一部を編集することを含み、
任意選択的に、前記クライアントデバイスの構成要素は、加速度計、位置センサ、およびそれらの任意の組み合わせからなる群から選択される、請求項２６乃至２８のいずれか１項に記載の方法。
【請求項３０】
前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップであって、１つまたは複数の編集が前記ビデオデータに関連付けられた前記メタデータに基づいて実行される、前記編集するステップは、
前記ビデオデータに関連付けられたメタデータによってオブジェクトを含むと特定された前記ビデオデータの一部に１つまたは複数の画像をオーバーレイし、前記ビデオデータの一部の間の前記ビデオデータのオーディオデータを編集することを含む、請求項２６乃至２９のいずれか１項に記載の方法。
【請求項３１】
前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップは、
前記ビデオデータに関連付けられた前記メタデータによって特定された前記ビデオデータの一部の１つまたは複数の特性に基づいて前記ビデオデータの一部に対して複数の編集を実行することを含む、請求項２６乃至３０のいずれか１項に記載の方法。
【請求項３２】
前記クライアントデバイスにおいて前記ビデオデータを取得するステップは、
前記クライアントデバイスに含まれる画像キャプチャデバイスにより前記ビデオデータをキャプチャすること、および／または
他のクライアントデバイスから前記ビデオデータを受信することを含む、請求項２６乃至３１のいずれか１項に記載の方法。
【請求項３３】
前記クライアントデバイスにおいて前記ビデオデータが取得されるときに前記ビデオデータに適用されるプロセスは、前記ビデオデータに含まれる１つまたは複数のオブジェクトを特定する、請求項２６乃至３２のいずれか１項に記載の方法。
【請求項３４】
方法であって、
オンラインシステムにおいて、前記オンラインシステムのユーザに関連付けられたクライアントデバイスからビデオデータを受信するステップと、
前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータを受信するステップと、前記メタデータは、前記クライアントデバイスが前記ビデオデータを取得したときに前記クライアントデバイスによって前記ビデオデータから抽出された情報を含み、
前記オンラインシステムにおいて、前記ビデオデータを前記メタデータと関連付けて記憶するステップと、
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータを、前記オンラインシステムの追加のユーザに関連する追加のクライアントデバイスに提供するステップとを含む方法。
【請求項３５】
前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを受信するステップは、
前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータと、前記クライアントデバイスによって受信されたビデオデータに対する１つまたは複数の編集を記述する情報とを受信することを含むこと、および／または
前記ビデオデータおよび前記ビデオデータに関連付けられたメタデータを前記追加のクライアントデバイスに提供するステップは、
前記ビデオデータ、前記ビデオデータに関連付けられた前記メタデータ、および前記ビデオデータに対する１つまたは複数の編集を記述する情報を追加のクライアントデバイスに提供することを含み、前記追加のクライアントデバイスは、前記ビデオデータをレンダリングするときに前記ビデオデータに対する１つまたは複数の編集を実行するように構成されている、請求項３４に記載の方法。
【請求項３６】
前記ビデオデータに対する１つまたは複数の編集を記述する情報は、前記ビデオデータに関連付けられた前記メタデータによって識別された、前記ビデオデータの一部の１つまたは複数の特性に基づいて前記ビデオデータの一部に対する複数の編集を特定する、および／または
前記ビデオデータに対する１つまたは複数の編集を記述する情報は、前記ビデオデータの一部に対応する期間中に前記追加のクライアントデバイスによって受信された１つまたは複数の入力に基づいて前記ビデオデータの一部に対する編集を特定する、請求項３５に記載の方法。
【請求項３７】
符号化された命令を有する非一時的コンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、前記命令は、プロセッサによる実行時に、前記プロセッサに、
クライアントデバイスにおいて、ビデオデータおよび前記ビデオデータに関連付けられたメタデータを取得すること、前記メタデータは、追加のクライアントデバイスによって前記ビデオデータに関連付けられ、
前記クライアントデバイスにおいて、前記ビデオデータに対する１つまたは複数の編集を特定する情報を受信すること、
前記クライアントデバイスにより前記ビデオデータがレンダリングされるときに受信した情報により特定された編集を実行することによって前記ビデオデータを編集すること、１つまたは複数の編集は、前記ビデオデータに関連付けられたメタデータを使用して行われ、
前記クライアントデバイスのディスプレイデバイスにより編集されたビデオデータを提示することを行わせる、コンピュータプログラム製品。
【請求項３８】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集することは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報に基づいて前記ビデオデータの一部を編集することを含む、請求項３７のコンピュータプログラム製品。
【請求項３９】
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信された１つまたは複数の入力を含み、および／または
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報を含む、請求項３８に記載のコンピュータプログラム製品。
【請求項４０】
前記ビデオデータおよび前記追加のクライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを取得することは、
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムから受信することを含む、請求項３８または３９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、クライアントデバイスによるビデオデータの取得に関し、より具体的には、取得されたビデオデータがレンダリングされるときにクライアントデバイスによって取得されたビデオデータを追加のコンテンツで拡張するための構成に関する。
【背景技術】
【０００２】
クライアントデバイスのユーザは、様々なクライアントデバイスに含まれる画像キャプチャデバイスによりビデオデータを増加傾向でキャプチャし、キャプチャしたビデオを他のユーザと共有する。例えば、クライアントデバイス上で実行されるオンラインシステムに関連するアプリケーションを介して、クライアントデバイスのユーザは、クライアントデバイスによりキャプチャされた、またはそれ以外にクライアントデバイスにより取得されたビデオデータをオンラインシステムの他のユーザに配信する。ユーザの関与を促進するために、多くのアプリケーションによって、クライアントデバイスのユーザがクライアントデバイスによって取得されたビデオデータを編集し、その後編集されたビデオデータを提示することが可能である。
【０００３】
例えば、様々なアプリケーションによって、ユーザが、クライアントデバイスによって取得されたビデオデータにフィルタを適用すること、またはクライアントデバイスによって取得されたビデオデータの一部上にテキストまたは画像をオーバーレイすることが可能である。しかしながら、ビデオデータを編集するための従来のアプリケーションは、ビデオデータがレンダリングされるときにビデオデータに対する編集を受け取り、ビデオデータから情報を抽出して編集を実行する。例えば、ビデオデータ内で検出された顔に画像をオーバーレイするために、従来のアプリケーションは、ビデオデータがレンダリングされる間にビデオデータに１つまたは複数の検出方法を適用して、顔が検出されたビデオデータの領域に画像をオーバーレイすることによってビデオデータを編集する。ビデオデータから情報を抽出する方法は計算量が多いので、ビデオデータをレンダリングする間に情報を抽出すること、および編集を実行することは、クライアントデバイスのバッテリまたは他の電源に蓄積される電力などのクライアントデバイスのリソースがより急速に消耗し得る。
【発明の概要】
【０００４】
スマートフォンまたはタブレットコンピュータなどのクライアントデバイスは、ビデオデータをキャプチャするように構成された画像キャプチャデバイスを含む。クライアントデバイス上で実行されるビデオエフェクトアプリケーションは、キャプチャされたビデオデータを受信し、キャプチャされたビデオデータがクライアントデバイスのディスプレイデバイスによって提示されるときにキャプチャされたデータを拡張するか、またはビデオデータを編集する。例えば、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータを提示するときに、キャプチャされたビデオデータ上に追加の画像またはテキストをオーバーレイする。ビデオエフェクトアプリケーションは、ビデオデータがキャプチャされたときにビデオデータを拡張するか、またはそれ以外に編集してもよく、またはビデオデータがキャプチャされた時期に続く時期にビデオデータを編集してもよい。
【０００５】
ビデオデータに対して様々な編集を実行するために、ビデオエフェクトアプリケーションは、多くはキャプチャされたビデオデータから情報を抽出し、抽出された情報を使用してキャプチャされたビデオデータを編集する。例えば、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータ内の１つまたは複数の顔を検出し、キャプチャされたビデオデータの幾つかのフレーム内の検出された顔の位置に基づいてテキストまたは画像をビデオデータに貼り付ける。クライアントデバイスのバッテリをより効率的に使用するために、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータから情報を抽出し、抽出された情報をキャプチャされたビデオデータに関連付けられたメタデータとして記憶する。様々な実施形態において、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータをオンラインシステムに提供して、オンラインシステムが引き続きキャプチャされたビデオデータおよび関連付けられたメタデータをレンダリングのために他のクライアントデバイスに提供することができるようにする。例えば、クライアントデバイスのユーザは、クライアントデバイスによりビデオをキャプチャし、キャプチャされたビデオおよび関連付けられたメタデータをオンラインシステムに伝達するようにビデオエフェクトアプリケーションに命令を提供する。ユーザは、またキャプチャされたビデオデータおよび関連付けられたメタデータを受信するためのオンラインシステムの１人または複数の他のユーザをオンラインシステムに対して指定し、オンラインシステムはキャプチャされたビデオデータおよび関連付けられたメタデータを他のユーザに関連するクライアントデバイスに伝達する。ビデオエフェクトアプリケーションは、キャプチャされたビデオデータをレンダリングするときに実行されるべき、キャプチャされたビデオデータに対する編集を特定する情報をも記憶する。例えば、キャプチャされたビデオデータに対する１つまたは複数の編集を特定する情報は、編集が実行されるべきときのキャプチャされたビデオデータの時刻に関連して記憶される。１つまたは複数の編集を記述する情報は、オンラインシステムに提供されてもよく、オンラインシステムは、その後、１つまたは複数の編集を記述する情報をキャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータとともに他のユーザに関連付けられたクライアントデバイスに提供し得る。
【０００６】
キャプチャされたビデオデータが続いて提示のためにレンダリングされるとき、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する１つまたは複数の編集を特定する情報をレンダラに提供する。キャプチャされたビデオデータに関連付けられたメタデータおよびキャプチャされたビデオデータに対する特定された１つまたは複数の編集に基づいて、レンダラは、キャプチャされたビデオデータが表示のためにレンダリングされるときに、キャプチャビデオデータに対して１つまたは複数の編集を行う。例えば、レンダラは、キャプチャされたビデオデータに関連付けられたメタデータ内に含まれる検出された顔または他のオブジェクトの１つまたは複数のフレーム内の位置に基づいて、ビデオデータの１つまたは複数の特定された時刻に対応するキャプチャされたビデオデータの１つまたは複数のフレームにテキストまたはグラフィックをオーバーレイする。
【０００７】
キャプチャされたビデオデータおよび関連付けられたメタデータがオンラインシステムに伝達されると、オンラインシステムは、キャプチャされたビデオデータおよび関連付けられたメタデータをオンラインシステムの他のユーザに関連する追加のクライアントデバイスに伝達し得る。オンラインシステムの他のユーザは、追加のクライアントデバイスのビデオエフェクトアプリケーションまたはレンダラに１つまたは複数の編集を記述する情報を提供して、追加のクライアントデバイスのレンダラまたはビデオエフェクトアプリケーションがキャプチャされたビデオデータに関連付けられたメタデータを使用してキャプチャされたビデオデータに対して記述された編集を実行し、編集されたキャプチャされたビデオデータをクライアントデバイスの他のユーザに提示することができるようにする。追加のクライアントデバイスのレンダラまたはビデオエフェクトアプリケーションがキャプチャされたビデオデータから情報を抽出することなく、キャプチャされたビデオデータに関連付けられたメタデータを使用してキャプチャされたビデオデータに対して編集を実行することにより、追加のクライアントデバイスの計算および電力リソースが節約される。
【０００８】
キャプチャされたビデオデータから情報を別個に抽出し、ビデオデータに対して編集を実行することにより、クライアントデバイスがそのバッテリをより効率的に使用することが可能となる。キャプチャされたビデオデータから情報を抽出する方法は計算量が多いため、キャプチャされたビデオデータから情報を抽出し、抽出された情報をキャプチャビデオデータに関連付けられたメタデータとして記憶することによって、キャプチャビデオデータに関連付けられたメタデータはキャプチャされたビデオデータと共に他のクライアントデバイスに提供することができ、これにより、他のクライアントデバイスは、キャプチャされたビデオデータから情報を再度抽出して提示中にビデオデータを編集するのではなく、提示中にビデオデータを編集するときにキャプチャされたビデオデータに関連付けられたメタデータを利用することができる。さらに、キャプチャされたビデオデータから抽出された情報を記憶し、提示中にキャプチャされたビデオデータを編集するために記憶された情報を使用することにより、より高品質の編集されたキャプチャされたビデオデータの提示が可能となる。例えば、キャプチャされたビデオデータから抽出された記憶された情報を使用してキャプチャされたビデオデータを編集することにより、キャプチャされたビデオデータへの編集がキャプチャされたビデオデータを圧縮することによる圧縮アーチファクトのないようにすることが可能となる。さらに、キャプチャされたビデオデータから抽出された記憶された情報に基づいてキャプチャされたビデオデータを編集することにより、ビデオエフェクトアプリケーションがキャプチャされたビデオデータが編集される間にキャプチャされたビデオデータから情報が抽出される場合よりもキャプチャされたビデオデータに対してより複雑な編集を行うことが可能となる。
【０００９】
本発明による実施形態は、特に、方法およびコンピュータプログラム製品に向けられた添付の請求項に開示され、ある請求項のカテゴリ、たとえば方法、で述べる特徴は別の請求項のカテゴリ、たとえば、コンピュータプログラム製品、システム、記憶媒体においても同様に請求することができる。添付の請求項の従属または後方参照は単に形式的理由のために選ばれている。ただし、任意の先行請求項への意図的な後方参照（特に多数項従属）により得られる任意の主題も同様に請求できるので、請求項とその特徴のあらゆる組合せが開示され、添付の請求項で選ばれる従属に関係なく請求することができる。請求できる主題は、添付の請求項に記載される通りの特徴の組合せだけでなく、請求項の特徴のあらゆる他の組合せも含み、請求項で述べられる各特徴はあらゆる他の特徴または請求項の他の特徴の組合せと組み合わせることができる。また、本明細書で説明または図示される実施形態および特徴のいずれも、個々の請求項および／または本明細書で説明もしくは図示されるあらゆる実施形態もしくは特徴、もしくは添付の請求項の特徴のいずれかとのあらゆる組合せで請求することができる。
【００１０】
本発明による一実施形態において、方法、特にコンピュータが実施する方法は、
クライアントデバイスにおいてビデオデータを取得するステップと、
クライアントデバイスにおいてビデオデータが取得されたときに、クライアントデバイスがビデオデータに１つまたは複数の処理を適用することによってビデオデータから情報を抽出するステップと、
抽出した情報をビデオデータに関連付けられたメタデータとして記憶するステップと、
ビデオデータに対する１つまたは複数の編集を特定する情報を受信するステップと、
ビデオデータに対する編集を特定する受信した情報をビデオデータに関連付けて記憶するステップと、
ビデオデータがクライアントデバイスによってレンダリングされるときに、受信した情報によって特定された編集を実行することによってビデオデータを編集するステップであって、１つまたは複数の編集がビデオデータに関連付けられたメタデータを使用して実行される、編集するステップと、
クライアントデバイスのディスプレイデバイスにより編集されたビデオデータを提示するステップとを含む。
【００１１】
本発明による一実施形態において、方法は、ビデオデータおよびビデオデータに関連付けられたメタデータをオンラインシステムに提供するステップを含み得る。
ビデオデータおよびビデオデータに関連付けられたメタデータをオンラインシステムに提供するステップは、オンラインシステムのユーザの識別子をオンラインシステムにビデオデータおよびビデオデータに関連付けられたメタデータに関連付けて伝達することを含み得る。
【００１２】
本発明による一実施形態において、方法は、ビデオデータに対する編集を特定する受信した情報をオンラインシステムにビデオデータおよびビデオデータに関連付けられたメタデータに関連付けて提供するステップを含み得る。
【００１３】
ビデオデータに関連付けられたメタデータは、１つまたは複数のオブジェクトを含むビデオデータの１つまたは複数の一部を特定し得る。
ビデオデータを編集するステップは、
ビデオデータの１つまたは複数の一部に含まれるオブジェクトに基づいてビデオデータの１つまたは複数の一部を編集することを含み得る。
【００１４】
ビデオデータに対する編集はビデオデータの一部を特定し得、ビデオデータを編集するステップは、
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスのユーザから受信した１つまたは複数の入力に基づいてビデオデータの一部を編集することを含み得る。
【００１５】
ビデオデータに対する編集はビデオデータの一部を特定し得、ビデオデータを編集するステップは、
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報に基づいてビデオデータの一部を編集することを含み得る。
【００１６】
クライアントデバイスの構成要素は、加速度計、位置センサ、およびそれらの任意の組み合わせからなる群から選択され得る。
受信した情報によって特定された編集を実行することによってビデオデータを編集するステップであって、１つまたは複数の編集がビデオデータに関連付けられたメタデータに基づいて実行される、編集するステップは、
ビデオデータに関連付けられたメタデータによってオブジェクトを含むと特定されたビデオデータの一部に１つまたは複数の画像をオーバーレイし、ビデオデータの一部の間のビデオデータのオーディオデータを編集することを含み得る。
【００１７】
受信した情報によって特定された編集を実行することによってビデオデータを編集するステップは、
ビデオデータに関連付けられたメタデータによって特定されたビデオデータの一部の１つまたは複数の特性に基づいてビデオデータの一部に対して複数の編集を実行することを含み得る。
【００１８】
クライアントデバイスにおいてビデオデータを取得するステップは、
クライアントデバイスに含まれる画像キャプチャデバイスによりビデオデータをキャプチャすることを含み得る。
【００１９】
クライアントデバイスにおいてビデオデータを取得するステップは、
他のクライアントデバイスからビデオデータを受信することを含み得る。
クライアントデバイスにおいてビデオデータが取得されるときにビデオデータに適用されるプロセスは、ビデオデータに含まれる１つまたは複数のオブジェクトを特定し得る。
【００２０】
ビデオデータに含まれるオブジェクトは顔を含み得る。
本発明による一実施形態において、方法は、
オンラインシステムにおいて、オンラインシステムのユーザに関連付けられたクライアントデバイスからビデオデータを受信するステップと、
オンラインシステムにおいて、クライアントデバイスによってビデオデータに関連付けられたメタデータを受信するステップと、メタデータは、クライアントデバイスがビデオデータを取得したときにクライアントデバイスによってビデオデータから抽出された情報を含み、
オンラインシステムにおいて、ビデオデータをメタデータと関連付けて記憶するステップと、
ビデオデータおよびビデオデータに関連付けられたメタデータを、オンラインシステムの追加のユーザに関連する追加のクライアントデバイスに提供するステップとを含み得る。
【００２１】
オンラインシステムにおいて、クライアントデバイスによってビデオデータに関連付けられたメタデータを受信するステップは、
クライアントデバイスによってビデオデータに関連付けられたメタデータと、クライアントデバイスによって受信されたビデオデータに対する１つまたは複数の編集を記述する情報とを受信することを含み得る。
【００２２】
ビデオデータおよびビデオデータに関連付けられたメタデータを追加のクライアントデバイスに提供するステップは、
ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する１つまたは複数の編集を記述する情報を追加のクライアントデバイスに提供することを含み得、追加のクライアントデバイスは、ビデオデータをレンダリングするときにビデオデータに対する１つまたは複数の編集を実行するように構成されている。
【００２３】
ビデオデータに対する１つまたは複数の編集を記述する情報は、ビデオデータに関連付けられたメタデータによって識別された、ビデオデータの一部の１つまたは複数の特性に基づいてビデオデータの一部に対する複数の編集を特定し得る。
【００２４】
ビデオデータに対する１つまたは複数の編集を記述する情報は、ビデオデータの一部に対応する期間中に追加のクライアントデバイスによって受信された１つまたは複数の入力に基づいてビデオデータの一部に対する編集を特定し得る。
【００２５】
本発明による一実施形態において、コンピュータプログラム製品は、符号化された命令を有する非一時的コンピュータ可読記憶媒体を好ましくは備え、命令は、プロセッサによる実行時に、プロセッサに、
クライアントデバイスにおいて、ビデオデータおよびビデオデータに関連付けられたメタデータを取得すること、メタデータは、追加のクライアントデバイスによってビデオデータに関連付けられ、
クライアントデバイスにおいて、ビデオデータに対する１つまたは複数の編集を特定する情報を受信すること、
クライアントデバイスによりビデオデータがレンダリングされるときに受信した情報により特定された編集を実行することによってビデオデータを編集すること、１つまたは複数の編集は、ビデオデータに関連付けられたメタデータを使用して行われ、
クライアントデバイスのディスプレイデバイスにより編集されたビデオデータを提示することを行わせる。
【００２６】
ビデオデータに対する編集はビデオデータの一部を特定し得、ビデオデータを編集することは、
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスによって取得された情報に基づいてビデオデータの一部を編集することを含み得る。
【００２７】
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスによって取得された情報は、ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスのユーザから受信された１つまたは複数の入力を含み得る。
【００２８】
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスによって取得された情報は、ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報を含み得る。
【００２９】
ビデオデータおよび追加のクライアントデバイスによってビデオデータに関連付けられたメタデータを取得することは、
ビデオデータおよびビデオデータに関連付けられたメタデータをオンラインシステムから受信することを含み得る。
【００３０】
本発明による一実施形態において、１つまたは複数のコンピュータ可読非一時的記憶媒体は、本発明による方法または前述の実施形態のいずれかを実施するために実行されたときに動作可能であるソフトウェアを具体化し得る。
【００３１】
本発明による一実施形態において、システムは、１つまたは複数のプロセッサと、プロセッサに連結されて、プロセッサにより実行可能な命令を含む少なくとも１つのメモリとを備え得、前記プロセッサは、命令を実行したときに、本発明による方法または前述の実施形態のいずれかを実施するように動作可能である。
【００３２】
本発明による一実施形態において、好ましくはコンピュータ可読非一時的記憶媒体を含むコンピュータプログラム製品は、データ処理システム上で実行されたときに、本発明による方法または前述の実施形態のいずれかを実施するように動作可能であり得る。
【図面の簡単な説明】
【００３３】
【図１】一実施形態によるオンラインシステムが動作するシステム環境のブロック図である。
【図２】一実施形態によるオンラインシステムのブロック図である。
【図３】一実施形態によるクライアントデバイスのブロック図である。
【図４】一実施形態によるクライアントデバイスによって取得されたビデオデータを編集するための方法のフローチャートである。
【図５】一実施形態による、クライアントデバイスによって取得されたビデオデータを編集するための構成のプロセスフロー図である。
【図６】一実施形態による、クライアントデバイスによって取得されたビデオデータおよびビデオデータに対する編集を追加のクライアントデバイスに提供し、追加のクライアントデバイスが編集を実行し、編集されたビデオデータを提示するための方法の相互作用図である。
【発明を実施するための形態】
【００３４】
図は、例示のみの目的でさまざまな実施形態を示している。本明細書において記述されている原理から逸脱することなく、本明細書において示されている構造および方法の代替実施形態が採用されることが可能であるということを当業者であれば以降の論考から容易に認識するであろう。
【００３５】
システム構成
図１は、オンラインシステム１４０のためのシステム環境１００のブロック図である。図１によって示されているシステム環境１００は、１つまたは複数のクライアントデバイス１１０と、ネットワーク１２０と、１つまたは複数のサードパーティシステム１３０と、オンラインシステム１４０とを備える。代替構成においては、異なる構成要素および／または更なる構成要素がシステム環境１００内に含まれ得る。例えば、オンラインシステム１４０は、ソーシャルネットワーキングシステム、コンテンツ共有ネットワーク、メッセージングサーバ、またはコンテンツをユーザに提供する別のシステムである。
【００３６】
クライアントデバイス１１０は、ユーザ入力を受け取ること、ならびにネットワーク１２０を通じてデータを送信することおよび／または受け取ることが可能な１つまたは複数のコンピューティングデバイスである。一実施形態においては、クライアントデバイス１１０は、デスクトップまたはラップトップコンピュータなど、従来のコンピュータシステムである。あるいは、クライアントデバイス１１０は、携帯情報端末（ＰＤＡ）、モバイル電話、スマートフォン、スマートウオッチ、または別の適切な機器など、コンピュータ機能を有する機器であり得る。クライアントデバイス１１０は、ネットワーク１２０を通じて通信を行うように構成されている。一実施形態においては、クライアントデバイス１１０は、クライアントデバイス１１０のユーザがオンラインシステム１４０とインタラクションすることを可能にするアプリケーションを実行する。たとえば、クライアントデバイス１１０は、ネットワーク１２０を通じたクライアントデバイス１１０とオンラインシステム１４０との間におけるインタラクションを可能にするためにブラウザアプリケーションを実行する。別の実施形態においては、クライアントデバイス１１０は、ＩＯＳ（登録商標）またはＡＮＤＲＯＩＤ（登録商標）など、クライアントデバイス１１０のネイティブオペレーティングシステム上で稼働するアプリケーションプログラミングインターフェース（ＡＰＩ）を通じてオンラインシステム１４０とインタラクションする。
【００３７】
図３に関連して以下にさらに説明されるように、各種実施形態において、クライアントデバイス１１０は、ビデオデータをキャプチャすることができる画像キャプチャデバイスと、キャプチャされたビデオデータを編集するためのアプリケーションとを含む。例えば、クライアントデバイス１１０上で実行されるアプリケーションは、クライアントデバイス１１０のユーザが、画像キャプチャデバイスによってキャプチャされるか、またはそれ以外にクライアントデバイス１１０によって取得されたビデオデータの一部に画像またはテキストをオーバーレイすることを可能にする。いくつかの実施形態において、ビデオデータを編集するためのアプリケーションは、追加機能を提供する。例えば、アプリケーションは、ユーザがオンラインシステム１４０の他のユーザとコンテンツ（例えば、メッセージ）を交換することを可能にする。あるいは、追加のアプリケーションは、ユーザがオンラインシステム１４０のユーザと通信することを可能にし、追加のアプリケーションは、ビデオデータを編集したアプリケーションから編集後のビデオデータを取得する。リソース（例えば、電源リソース）を節約しつつ取得したビデオデータを編集するために、アプリケーションは、ビデオデータが取得されたときにビデオデータから情報を抽出し、抽出された情報を記述するメタデータをビデオデータに関連付けて格納する。ビデオデータに対する１つまたは複数の編集を記述する情報を受信した後、アプリケーション（または別のアプリケーション）は、ビデオデータに関連付けられたメタデータを使用して、記述された１つまたは複数の編集を実行する。これにより、ビデオデータが受信されたときおよびビデオデータが編集されるときに、ビデオデータから情報を抽出することなく、ビデオデータを編集することが可能になる。例示的なクライアントデバイス１１０は、図３に関連して以下でさらに説明され、ビデオデータからの情報の抽出およびビデオデータの編集は、図４および５に関連して以下でさらに説明される。
【００３８】
クライアントデバイス１１０は、ネットワーク１２０を通じて通信を行うように構成されており、ネットワーク１２０は、有線通信システムおよび／または無線通信システムの両方を使用する、ローカルエリアネットワークおよび／またはワイドエリアネットワークの任意の組合せを含むことができる。一実施形態においては、ネットワーク１２０は、標準的な通信技術および／またはプロトコルを使用する。たとえば、ネットワーク１２０は、イーサネット（登録商標）、８０２．１１、ワールドワイドインターオペラビリティーフォーマイクロウェーブアクセス（ＷｉＭＡＸ）、３Ｇ、４Ｇ、符号分割多元接続（ＣＤＭＡ）、デジタルサブスクライバーライン（ＤＳＬ）等などの技術を使用する通信リンクを含む。ネットワーク１２０を通じて通信するために使用されるネットワーキングプロトコルの例としては、マルチプロトコルラベルスイッチング（ＭＰＬＳ）、トランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ハイパーテキストトランスポートプロトコル（ＨＴＴＰ）、シンプルメールトランスファープロトコル（ＳＭＴＰ）、およびファイルトランスファープロトコル（ＦＴＰ）が含まれる。ネットワーク１２０を通じて交換されるデータは、ハイパーテキストマークアップ言語（ＨＴＭＬ）または拡張マークアップ言語（ＸＭＬ）などの任意の適切なフォーマットを使用して表現され得る。いくつかの実施形態においては、ネットワーク１２０の通信リンクのうちのすべてまたはいくつかは、任意の適切な１つまたは複数の技術を使用して暗号化され得る。
【００３９】
１つまたは複数のサードパーティシステム１３０はオンラインシステム１４０と通信するためのネットワーク１２０に統合されることが可能であり、オンラインシステム１４０については、以下に図２と併せてさらに説明される。一実施形態においては、サードパーティシステム１３０は、クライアントデバイス１１０によって実行するためのアプリケーションについて記述する情報を伝達するアプリケーションプロバイダ、またはクライアントデバイス上で実行されるアプリケーションによって使用するためのデータをクライアントデバイス１１０に対して伝達するアプリケーションプロバイダである。他の実施形態においては、サードパーティシステム１３０は、クライアントデバイス１１０を通じて提示するためのコンテンツまたは他の情報を提供する。サードパーティシステム１３０は、情報、たとえば、サードパーティシステム１３０によって提供される広告、コンテンツ、またはアプリケーションに関する情報をオンラインシステム１４０に対して伝達し得る。
【００４０】
各種サードパーティシステム１３０は、オンラインシステム１４０のユーザにコンテンツを提供する。例えば、サードパーティシステム１３０は、オンラインシステム１４０のユーザがクライアントデバイス１１０上で実行する１つまたは複数のアプリケーションを介してアクセスし得るコンテンツのページを維持する。サードパーティシステム１３０は、オンラインシステム１３０によって提供されるコンテンツを特定するコンテンツアイテムをオンラインシステム１４０に提供して、サードパーティシステム１３０によって提供されるコンテンツをオンラインシステム１４０のユーザに通知し得る。例えば、サードパーティシステム１３０によってオンラインシステム１４０に提供されるコンテンツアイテムは、コンテンツのページを取得するためのネットワークアドレスを指定する、オンラインシステム１４０によって提供されるコンテンツのページを特定する。
【００４１】
図２は、オンラインシステム１４０の構成のブロック図である。図２において示されているオンラインシステム１４０は、ユーザプロフィールストア２０５、コンテンツストア２１０、アクションロガー２１５、アクションログ２２０、エッジストア２２５、コンテンツ選択モジュール２３０、およびウェブサーバ２３５を含む。その他の実施形態においては、オンラインシステム１４０は、各種アプリケーションに関するさらなる、より少ない、または異なる構成要素を含み得る。ネットワークインターフェース、セキュリティー機能、ロードバランサ、フェイルオーバサーバ、管理およびネットワークオペレーションコンソール等などの従来の構成要素は、このシステム構成の詳細をわかりにくくすることのないように、示されていない。
【００４２】
オンラインシステム１４０の各ユーザは、ユーザプロフィールストア２０５に記憶されているユーザプロフィールに関連付けられている。ユーザプロフィールは、ユーザが明白的にシェアしたユーザに関する宣言的情報を含み、かつオンラインシステム１４０によって推定されるプロフィール情報も含み得る。一実施形態においては、ユーザプロフィールは、対応するソーシャルネットワーキングシステムのユーザの１つまたは複数の属性をそれぞれ記述する複数のデータフィールドを含む。ユーザプロフィールに記憶される情報の例には、職歴、学歴、性別、趣味やプリファレンス、ロケーション等など、人物、人口統計学的およびその他のタイプの記述的情報が含まれる。ユーザプロフィールは、ユーザが提供する他の情報、たとえば、画像やビデオを記憶することもできる。ある実施形態においては、ユーザの画像を、画像に表示されるソーシャルネットワーキングシステムのユーザを特定する情報、ユーザがユーザのユーザプロフィールにタグ付けして記憶した画像を特定する情報でタグ付けすることが可能である。ユーザプロフィールストア２０５内のユーザプロフィールは、コンテンツストア２１０内のコンテンツアイテムに対して行われてアクションログ２２０に記憶される、対応するユーザによるアクションへの参照を維持することもできる。
【００４３】
各ユーザプロフィールは、オンラインシステム１４０が個々のユーザプロフィールに対応するユーザを一意に識別することを可能にするユーザ識別情報を含む。例えば、各ユーザプロフィールは電子メール（「Ｅメール」）アドレスを含み、オンラインシステム１４０がそれらのＥメールアドレスに基づいて個々のユーザを識別することが可能となる。しかしながら、ユーザプロフィールは、オンラインシステム１４０が個々のユーザを識別することを可能にする、オンラインシステム１４０によってユーザに関連付けられた任意の適切なユーザ識別情報を含み得る。
【００４４】
ユーザプロフィールストア２０５内のユーザプロフィールは、しばしば個人に関連付けられて、個人がオンラインシステム１４０を通じて互いにインタラクションすることを可能にするが、ユーザプロフィールは企業や組織などのエンティティについても記憶することができる。これによりエンティティは、オンラインシステム１４０上で、他のソーシャルネットワーキングシステムのユーザとつながり、かつコンテンツを交換するためにプレゼンスを確立することが可能である。エンティティは、自社についての情報、自社製品についての情報を投稿し、またはエンティティのユーザプロフィールに関連付けられているブランドページを使用してオンラインシステム１４０のユーザに他の情報を提供することができる。オンラインシステム１４０の他のユーザは、ブランドページとつながって、ブランドページに投稿された情報を受け取るか、またはブランドページからの情報を受け取ることができる。ブランドページに関連付けられているユーザプロフィールは、そのエンティティに関する背景または情報データをユーザに提供する、エンティティ自体に関する情報を含み得る。
【００４５】
コンテンツストア２１０は、様々なタイプのコンテンツを各々が表す複数のオブジェクトを記憶する。オブジェクトによって表されるコンテンツの例には、ページ投稿、ステータスの更新、写真、ビデオ、リンク、共有コンテンツアイテム、ゲームアプリケーションの達成度、地域のビジネスにおけるチェックインイベント、ブランドページ、または他のタイプのコンテンツが含まれる。オンラインシステムのユーザは、ステータスの更新、オンラインシステム１４０内の他のオブジェクトに関連付けるためにユーザがタグ付けした写真、イベント、グループ、またはアプリケーションなど、コンテンツストア２１０によって記憶されるオブジェクトを作成することができる。いくつかの実施形態においては、オブジェクトはサードパーティアプリケーション、またはオンラインシステム１４０とは別のサードパーティアプリケーションから受け取られる。一実施形態においては、コンテンツストア２１０内のオブジェクトは、１つのコンテンツ、または複数のコンテンツ「アイテム」を表す。そのため、オンラインシステムのユーザは、様々な通信チャネルを通してテキストや様々なタイプの媒体のコンテンツアイテムをオンラインシステム１４０に投稿することによって、互いに通信するよう促される。これによりユーザ同士のインタラクションの量が増え、オンラインシステム１４０内でユーザがインタラクションする頻度が増す。
【００４６】
様々な実施形態において、コンテンツストア２１０は、クライアントデバイス１１０によってキャプチャされたビデオデータと、クライアントデバイス１１０によってビデオデータに関連付けられたメタデータとを含む。図３〜図５に関連して以下でさらに説明されるように、クライアントデバイス１１０は、キャプチャされたビデオデータから情報を抽出し、キャプチャされたビデオデータに関連付けてメタデータを格納する。クライアントデバイス１１０は、ビデオデータおよび関連のメタデータをオンラインシステム１４０に伝達し、オンラインシステム１４０は、ビデオデータおよび関連のメタデータをコンテンツストア２１０に格納する。様々な実施形態において、オンラインシステム１４０はオンラインシステム１４０のユーザを識別する情報をビデオデータおよび関連のメタデータと共に受信し、ユーザを識別する情報をビデオデータおよびビデオデータに関連付けられたメタデータと関連して格納する。図４に関連して以下にさらに説明されるように、オンラインシステム１４０は、ビデオデータをオンラインシステム１４０に提供したユーザから他のユーザにビデオデータを提供するための要求を受信したことに応答して、コンテンツストア２１０からビデオデータおよびビデオデータに関連付けられたメタデータを取得し、オンラインシステムの他のユーザに関連するクライアントデバイス１１０にビデオデータおよび関連のメタデータを提供し得る。
【００４７】
コンテンツストア２１０に含まれる１つまたは複数のコンテンツアイテムは、ユーザに提示するためのコンテンツと入札額とを含む。コンテンツは、テキスト、画像、オーディオ、ビデオ、またはユーザに提示される他の適切なデータである。様々な実施形態において、コンテンツはまた、コンテンツのページを特定する。例えば、コンテンツアイテムは、コンテンツアイテムがアクセスされたときにユーザを対象とするコンテンツのページのネットワークアドレスを指定するランディングページを含む。入札額は、ユーザによってコンテンツアイテムに含まれ、かつ入札額は、コンテンツアイテム内のコンテンツがユーザに提示された場合、提示されたときにコンテンツアイテム内のコンテンツがユーザインタラクションを受け取った場合、またはコンテンツアイテム内のコンテンツがユーザに提示されたときに何らかの適切な条件が満たされた場合に、広告主によってオンラインシステム１４０に提供される金銭的補償等の期待値を決定するために使用される。例えば、コンテンツアイテムに含まれる入札額は、コンテンツアイテム内のコンテンツが表示された場合に、コンテンツアイテムをオンラインシステム１４０に提供したユーザからオンラインシステム１４０が受け取る金額を指定する。いくつかの実施形態では、コンテンツアイテムからコンテンツを提示することのオンラインシステム１４０への期待値は、入札額に、コンテンツアイテムのコンテンツがユーザによってアクセスされる確率を乗算することによって決定され得る。
【００４８】
様々なコンテンツアイテムは、コンテンツアイテムに関連するユーザが、そのコンテンツアイテムに含まれるコンテンツが提示されたときに他のユーザが実行することを所望するインタラクションを識別する目標を含み得る。例示的な目標は、コンテンツアイテムに関連するアプリケーションのインストール、コンテンツアイテムに対するプリファレンスの指示、他のユーザとのコンテンツアイテムの共有、コンテンツアイテムに関連付けられたオブジェクトとのインタラクション、または他の適切なインタラクションの実行を含む。コンテンツアイテムからのコンテンツがオンラインシステムのユーザに提示されると、オンラインシステム１４０は、提示されたユーザとコンテンツアイテムまたはコンテンツアイテムに関連するオブジェクトとの間のインタラクションを記録する。さらに、オンラインシステムユーザがコンテンツアイテムに含まれる目標を満たす、コンテンツアイテムとのインタラクションを実行したときに、オンラインシステム１４０は、コンテンツアイテムに関連するユーザから補償金を受け取る。
【００４９】
さらに、コンテンツアイテムは、コンテンツアイテムをオンラインシステム１４０に提供したユーザによって指定された１つまたは複数のターゲティング基準を含み得る。コンテンツアイテム要求に含まれるターゲティング基準は、コンテンツアイテムと共に提示されるのに適したユーザの１つまたは複数の特徴を指定する。例えば、ターゲティング基準は、少なくとも１つのターゲティング基準を満たすユーザプロフィール情報、エッジ、またはアクションを有するユーザを識別するために使用される。したがって、ターゲティング基準は、ユーザが特定の特性を有するユーザを識別することを可能にし、その後の個々のユーザへのコンテンツの配信を簡略化する。
【００５０】
一実施形態では、ターゲティング基準は、ユーザと他のユーザまたはオンラインシステム１４０のオブジェクトとの間のアクションまたは接続タイプを指定し得る。ターゲティング基準は、ユーザと、サードパーティシステム１３０上などのオンラインシステム１４０の外部で実行されるオブジェクトとの間のインタラクションも指定し得る。例えば、ターゲティング基準は、他のユーザへのメッセージの送信、アプリケーションの使用、グループへの参加、グループからの離脱、イベントへの参加、イベントの説明の生成、オンラインマーケットプレイスを使用した製品またはサービスの購入または検討、サードパーティシステム１３０からの情報の要求、アプリケーションのインストール、または他の任意の適切なアクション等の特定のアクションを行ったユーザを識別する。アクションをターゲティング基準に含めることで、ユーザはコンテンツアイテムの提示に適したユーザをさらに絞り込むことができる。別の例として、ターゲティング基準は、他のユーザまたはオブジェクトへの接続を有するか、または他のユーザまたはオブジェクトへの特定のタイプの接続を有するユーザを識別する。
【００５１】
アクションロガー２１５は、オンラインシステム１４０の内部および／または外部のユーザアクションに関する通信を受け取って、ユーザアクションに関する情報をアクションログ２２０に投入する。アクションの例には、別のユーザへのつながりを追加すること、別のユーザにメッセージを送信すること、画像をアップロードすること、別のユーザからのメッセージを読むこと、別のユーザに関連付けられているコンテンツを閲覧すること、別のユーザによって投稿されたイベントに出席することが含まれる。さらに、多数のアクションがオブジェクトおよび１人または複数人の特定のユーザを伴うことがあるため、これらのアクションも特定のユーザに関連付けられて、アクションログ２２０に記憶される。
【００５２】
アクションログ２２０は、オンラインシステム１４０が、オンラインシステム１４０上でのユーザアクション、および、オンラインシステム１４０に情報を伝達するサードパーティシステム１３０上でのアクションを追跡するために使用することができる。ユーザはオンラインシステム１４０上のさまざまなオブジェクトとインタラクションすることができ、これらのインタラクションについて記述する情報がアクションログ２２０に記憶される。オブジェクトとのインタラクションの例には、投稿に対してコメントすること、リンクをシェアすること、クライアントデバイス１１０を通じて実際のロケーションにチェックインすること、コンテンツアイテムにアクセスすること、および他の適切なインタラクションが含まれる。アクションログ２２０に含められるオンラインシステム１４０上のオブジェクトとのインタラクションのさらなる例には、フォトアルバムに対してコメントすること、ユーザと通信すること、オブジェクトとのつながりを確立すること、イベントに参加すること、グループに参加すること、イベントを作成すること、アプリケーションを認証すること、アプリケーションを使用すること、オブジェクトに関するプリファレンスを表現すること（そのオブジェクトに「いいね！」を表明すること）、および、トランザクションに関わることが含まれる。さらに、アクションログ２２０は、オンラインシステム１４０上の広告およびオンラインシステム１４０上で動作する他のアプリケーションとの、ユーザのインタラクションを記録することができる。いくつかの実施形態においては、アクションログ２２０からのデータは、ユーザの関心またはプリファレンスを推測するために使用されて、ユーザのユーザプロフィールに含まれる関心を強化し、ユーザのプリファレンスをさらに完全に理解できるようにする。
【００５３】
アクションログ２２０は、外部ウェブサイトなどのサードパーティシステム１３０上で行われてオンラインシステム１４０に伝達されるユーザアクションを記憶することもできる。たとえば、電子商取引のウェブサイトはソーシャルプラグインを通じてオンラインシステム１４０のユーザを認識することができるので、電子商取引のウェブサイトがオンラインシステム１４０のユーザを識別することが可能である。オンラインシステム１４０のユーザは一意に識別できるため、前述の例におけるように、電子商取引のウェブサイトは、オンラインシステム１４０外のユーザのアクションに関する情報を、ユーザに関連付けるためにオンラインシステム１４０に伝達することができる。そのため、アクションログ２２０は、ウェブページの閲覧履歴、関わった広告、行った購入、および買い物や購買からの他のパターンなどを含む、ユーザがサードパーティシステム１３０上で行うアクションに関する情報を記録することができる。さらに、サードパーティシステム１３０に関連付けられ、かつクライアントデバイス１１０上で実行するアプリケーションを介してユーザが実行するアクションは、アクションログ２２０内の記録およびユーザとの関連付けのためにアプリケーションによってアクションロガー２１５に伝達され得る。
【００５４】
一実施形態においては、エッジストア２２５は、ユーザとオンラインシステム１４０上の他のオブジェクトとのつながりについて記述する情報をエッジとして記憶する。いくつかのエッジはユーザによって定義されることができ、ユーザが他のユーザとの関係を指定することが可能である。たとえば、ユーザは、友達、同僚、パートナーなど、ユーザの実生活の関係に即した他のユーザとのエッジを生成することができる。オンラインシステム１４０上のあるページへの関心を表明すること、オンラインシステム１４０の他のユーザとリンクをシェアすること、および、オンラインシステム１４０の他のユーザが行った投稿にコメントすることなど、ユーザがオンラインシステム１４０でオブジェクトとインタラクションするとき、他のエッジが生成される。
【００５５】
エッジは、ユーザ同士のインタラクション、ユーザとオブジェクトのインタラクション、またはオブジェクト同士のインタラクションの特性をそれぞれ表す様々な特徴を含むことができる。たとえば、エッジに含まれる特徴は、２人のユーザ間のインタラクションの割合、２人のユーザが互いにインタラクションしたのがどれくらい最近であったか、あるユーザがオブジェクトに関して取得した情報の割合もしくは量、またはユーザがオブジェクトに関して投稿したコメントの数とタイプを記述する。特徴は、ある特定のオブジェクトまたはユーザについて記述する情報を表すこともできる。たとえば、特徴は、ある特定のトピックに対してユーザがもつ関心のレベル、ユーザがオンラインシステム１４０にログインしている割合、またはユーザに関する人口統計学的情報について記述する情報を表すことができる。各特徴は、ソースオブジェクトまたはユーザ、ターゲットオブジェクトまたはユーザ、および特徴値に関連付けることができる。特徴は、ソースオブジェクトまたはユーザ、ターゲットオブジェクトまたはユーザについて、またはソースオブジェクトまたはユーザとターゲットオブジェクトまたはユーザとの間におけるインタラクションについて記述する値に基づいた式として指定され得る。そのため、エッジは１つまたは複数の特徴式として表され得る。
【００５６】
エッジストア２２５は、オブジェクト、関心、および他のユーザについてのアフィニティ（ａｆｆｉｎｉｔｙ）スコアなど、エッジに関する情報も記憶する。オンラインシステム１４０によって経時的にアフィニティスコア、または、「アフィニティ」が計算されて、ユーザが行うアクションに基づいて、オンラインシステム１４０内のオブジェクトまたは別のユーザへのユーザの関心を見積ることができる。オンラインシステム１４０によって経時的にユーザのアフィニティが計算されて、ユーザが行うアクションに基づいてオンラインシステム１４０内のオブジェクト、トピック、または別のユーザへのユーザの関心を見積ることができる。アフィニティの計算については、２０１０年１２月２３日に出願された米国特許出願第１２／９７８，２６５号、２０１２年１１月３０日に出願された米国特許出願第１３／６９０，２５４号、２０１２年１１月３０日に出願された米国特許出願第１３／６８９，９６９号、および２０１２年１１月３０日に出願された米国特許出願第１３／６９０，０８８号にさらに記述されており、一実施形態においては、ユーザと特定のオブジェクトとの間における複数のインタラクションを、１つのエッジとしてエッジストア２２５内に記憶することができる。あるいは、ユーザと特定のオブジェクトとの間における各インタラクションを別個のエッジとして記憶する。いくつかの実施形態においては、ユーザ間のつながりをユーザプロフィールストア２０５に記憶することができ、またはユーザプロフィールストア２０５がユーザ間のつながりを決定するためにエッジストア２２５にアクセスすることができる。
【００５７】
コンテンツ選択モジュール２３０は、１つまたは複数のコンテンツアイテムをユーザに提示されるべくクライアントデバイス１１０への伝達のために選択する。ユーザへの提示に適したコンテンツアイテムは、視聴ユーザへの提示のためにコンテンツアイテムのうちの１つまたは複数を選択するコンテンツ選択モジュール２３０によって、コンテンツストア２１０から、または別のソースから取得される。ユーザへの提示に適したコンテンツアイテムは、ユーザの特性によって満たされる少なくともしきい値数のターゲティング基準に関連付けられたコンテンツアイテムであるか、またはターゲティング基準に関連付けられていないコンテンツアイテムである。様々な実施形態において、コンテンツ選択モジュール２３０は、ユーザに提示するための一組のコンテンツアイテムを特定する１つまたは複数の選択プロセスにおいてユーザに提示するのに適したコンテンツアイテムを含む。例えば、コンテンツ選択モジュール２３０は、オンラインシステム１４０によってユーザに関連付けられた特性に基づいて、かつ個々のコンテンツアイテムに対するユーザのアフィニティに基づいて、ユーザに対する様々なコンテンツアイテムの関連性の度合いを決定する。関連性の度合いに基づいて、コンテンツ選択モジュール２３０は、ユーザに提示するためのコンテンツアイテムを選択する。追加の例として、コンテンツ選択モジュール２３０は、ユーザへの提示のために、最も高い関連性の度合いを有するコンテンツアイテム、または少なくともしきい値の関連性の度合いを有するコンテンツアイテムを選択する。代替的に、コンテンツ選択モジュール２３０は、その関連する関連性の度合いに基づいてコンテンツアイテムをランク付けし、ランク付けにおいて最上位位置にあるコンテンツアイテム、またはランク付けにおいて少なくともしきい値位置にあるコンテンツアイテムをユーザへの提示のために選択する。
【００５８】
ユーザへの提示に適したコンテンツアイテムは、入札額に関連するコンテンツアイテムを含み得る。コンテンツ選択モジュール２３０は、ユーザに提示するためのコンテンツを選択するときに広告要求に関連する入札額を使用する。様々な実施形態において、コンテンツ選択モジュール２３０は、それらの入札額に基づいて様々なコンテンツアイテムに関連付けられた期待値を決定し、最大期待値に関連付けられたコンテンツアイテム、または少なくとも提示のためのしきい値期待値に関連付けられたコンテンツアイテムを選択する。コンテンツアイテムに関連付けられた期待値は、コンテンツアイテムを提示することに関するオンラインシステム１４０への期待補償額を表す。例えば、コンテンツアイテムに関連付けられた期待値は、広告要求の入札額と、ユーザがコンテンツアイテムとインタラクションする可能性との乗算値である。コンテンツ選択モジュール２３０は、コンテンツアイテムに関連付けられた入札額に基づいてコンテンツアイテムをランク付けし、ランク付けにおいて少なくともしきい値位置にあるコンテンツアイテムをユーザへの提示のために選択し得る。いくつかの実施形態では、コンテンツ選択モジュール２３０は、入札額およびコンテンツアイテムに関連する関連性の度合いに基づいて、入札額に関連しないコンテンツアイテムおよび入札額に関連するコンテンツアイテムの両方を統一したランキングでランク付けする。統一したランキングに基づいて、コンテンツ選択モジュール２３０は、ユーザに提示するためのコンテンツを選択する。統一したランクキングを通じて入札額に関連するコンテンツアイテムと入札額に関連しないコンテンツアイテムを選択することは、２０１２年７月１０日に出願された米国特許出願第１３／５４５，２６６号にさらに記載されており、この特許出願を参照によりその全体を本明細書に組み込む。
【００５９】
例えば、コンテンツ選択モジュール２３０は、オンラインシステム１４０のユーザにコンテンツのフィードを提示する要求を受け取る。フィードは、入札額に関連付けられた１つまたは複数のコンテンツアイテム、およびユーザに接続している他のオンラインシステムの複数のユーザに関連付けられた複数のアクションを記述するストーリーなどの、入札額に関連付けられていない他のコンテンツアイテムを含み得る。コンテンツ選択モジュール２３０は、ユーザについての情報を取得するために、ユーザプロフィールストア２０５、コンテンツストア２１０、アクションログ２２０、およびエッジストア２２５のうちの１つまたは複数にアクセスする。例えば、ユーザに接続されている他の複数のユーザに関連付けられている複数のアクションを記述する情報、またはユーザに接続されている複数のユーザに関連付けられている他のデータが取得される。コンテンツストア２１０からのコンテンツアイテムは、コンテンツ選択モジュール２３０によって取得および分析されて、ユーザへの提示に適した候補コンテンツアイテムを特定する。例えば、ユーザに接続されていない複数のユーザに関連するコンテンツアイテム、またはユーザに対するアフィニティがしきい値未満の複数のユーザに関連するストーリーは、候補コンテンツアイテムとして破棄される。様々な基準に基づいて、コンテンツ選択モジュール２３０は、識別されたユーザに提示するための候補コンテンツアイテムとして特定された１つまたは複数のコンテンツアイテムを選択する。選択されたコンテンツアイテムは、ユーザに提示されるコンテンツのフィードに含まれる。例えば、コンテンツのフィードは、オンラインシステム１４０を介してユーザに接続された複数のユーザに関連付けられたアクションを記述する少なくともしきい値数のコンテンツアイテムを含む。
【００６０】
様々な実施形態において、コンテンツ選択モジュール２３０は、ユーザへの提示のために選択された複数のコンテンツアイテムを含むニュースフィードを介してユーザにコンテンツを提示する。１つまたは複数のコンテンツアイテムもフィードに含めることができる。コンテンツ選択モジュール２３０は、選択されたコンテンツアイテムがフィードを介して提示される順序も決定し得る。例えば、コンテンツ選択モジュール２３０は、ユーザが様々なコンテンツアイテムとインタラクションする可能性に基づいてフィード内のコンテンツアイテムを順序付ける。
【００６１】
ウェブサーバ２３５は、ネットワーク１２０を通じてオンラインシステム１４０を１つまたは複数のクライアントデバイス１１０へ、ならびに１つまたは複数のサードパーティシステム１３０へリンクさせる。ウェブサーバ２４０は、ウェブページ、およびその他のコンテンツ、たとえば、ＪＡＶＡ（登録商標）、ＦＬＡＳＨ（登録商標）、ＸＭＬなどを供給する。ウェブサーバ２４０は、オンラインシステム１４０とクライアントデバイス１１０との間におけるメッセージ、たとえば、インスタントメッセージ、キューに入れられたメッセージ（例、電子メール）、テキストメッセージ、ショートメッセージサービス（ＳＭＳ）のメッセージ、またはその他の適切なメッセージング技術を使用して送信されるメッセージを受け取って回送することができる。ユーザは、コンテンツストア２１０に記憶される情報（例、画像またはビデオ）をアップロードするよう求める要求をウェブサーバ２４０に送信することができる。加えて、ウェブサーバ２４０は、ＩＯＳ（登録商標）、ＡＮＤＲＯＩＤ（登録商標）、ＷＥＢＯＳ（登録商標）、またはＢｌａｃｋｂｅｒｒｙ（登録商標）ＯＳなどのネイティブクライアントデバイスオペレーティングシステムに対してデータを直接送信するためのアプリケーションプログラミングインターフェース（ＡＰＩ）機能を提供することができる。
【００６２】
クライアントデバイス構成
図３は、一実施形態のクライアントデバイス１１０の構成のブロック図である。図３に示されるクライアントデバイス１１０は、画像キャプチャデバイス３０５、ビデオエフェクトアプリケーション３１０、レンダラ３１５、およびディスプレイデバイス３２０を含む。他の実施形態では、クライアントデバイス１１０は、様々な用途に対して追加の、より少ない、または別個の構成要素を含み得る。さらに、クライアントデバイス１１０の様々な構成要素は、いくつかの実施形態において以下でさらに説明される機能の様々な組み合わせを提供し得る。
【００６３】
画像キャプチャデバイス３０５は、画像またはビデオデータをキャプチャすることが可能な任意のデバイスである。例示的な画像キャプチャデバイス３０５は、１つまたは複数のカメラ、１つまたは複数のビデオカメラ、または画像データをキャプチャすることが可能な任意の他のデバイスを含む。いくつかの実施形態では、画像キャプチャデバイス３０５は１つまたは複数のフィルタを含む。同様に、画像キャプチャデバイス３０５は、様々な実施形態において画像データまたはビデオデータを生成するために使用される光を変化させるための光学系を含み得る。別個のクライアントデバイス１１０は、別個の特性（例えば、キャプチャされた画像データの解像度、シャッター制御、フレームレート、焦点距離、ビデオデータまたは画像データを生成するための光をキャプチャする入射瞳の直径）を有する画像キャプチャデバイス３０５を有し得る。図３は単一の画像キャプチャデバイス３０５を有するクライアントデバイス１１０を示しているが、様々な実施形態において、クライアントデバイス１１０は複数の画像キャプチャデバイス３０５を含み得る。
【００６４】
ビデオエフェクトアプリケーション３１０は、クライアントデバイス１１０のプロセッサによる実行時に、画像キャプチャデバイス３０５または他の適切なソースから受信したビデオデータから情報を抽出する命令を含む。ビデオデータから情報を抽出するために、ビデオエフェクトアプリケーション３１０は、ビデオデータから１つまたは複数の方法をビデオデータに対して適用することができ、様々な方法は、ビデオデータから別個の情報を抽出する。たとえば、ビデオエフェクトアプリケーション３１０によって適用される１つまたは複数の方法は、ビデオデータの幾つかのフレームから顔などのオブジェクトを検出する。別の例として、ビデオエフェクトアプリケーション３１０によって適用される１つまたは複数の方法は、ビデオデータの幾つかのフレームに基づいて、ビデオデータのオブジェクトまたは他の構成要素の動きを記述するオプティカルフローベクトルを決定する。様々な実施形態において、ビデオエフェクトアプリケーション３１０はビデオデータから任意の適切な情報を抽出し得る。他の例では、ビデオデータから抽出された情報は、（例えば、ビデオデータへの１つまたは複数の粒子フィルタの適用を通して）ビデオデータの幾つかのフレームに亘る１つまたは複数のオブジェクトを追跡するか、またはビデオデータにおいて検出された１つまたは複数のオブジェクトの変化（例えば、ビデオデータにおいて検出された顔の表情の変化）を識別する。さらに、ビデオエフェクトアプリケーション３１０によってビデオデータから抽出された情報は、クライアントデバイス１１０のユーザによって指定された設定に基づいて、ビデオエフェクトアプリケーション３１０によって指定された情報に基づいて、クライアントデバイス１１０上で実行されている別のアプリケーションによって指定された情報に基づいて、または任意の他の適切なソースからの情報に基づいて決定され得る。これにより、様々な実施形態においてビデオエフェクトアプリケーションによってビデオデータから抽出された情報のカスタマイズが可能となる。図４に関連して以下でさらに説明するように、ビデオエフェクトアプリケーション３１０は、ビデオデータから抽出された情報をビデオデータに関連付けられたメタデータとして記憶する。
【００６５】
さらに、ビデオエフェクトアプリケーション３１０は、ビデオデータに対する編集を特定する情報を受信する。ビデオデータに対する編集を特定する情報は、ユーザから受信されても、他のアプリケーションから受信されても、オンラインシステム１４０から受信されても、またはサードパーティシステム１３０から受信されてもよい。ビデオエフェクトアプリケーション３１０に対して特定されるビデオデータへの編集の例は、ビデオデータへの１つまたは複数のフィルタの適用、ビデオデータの１つまたは複数の一部上へのテキストのオーバーレイ、ビデオデータの１つまたは複数の一部上の画像のオーバーレイ、ビデオデータの再生速度の変更、ビデオデータの１つまたは複数の一部に含まれるオーディオの編集、ビデオデータ内のオブジェクトの動きの識別、ビデオデータの１つまたは複数のフレームのシェーディングまたはカラーリングの修正、ビデオデータ内のオブジェクトの追跡（例えば、粒子フィルタの適用）、ビデオデータ内の１つまたは複数のオブジェクトにおける変化の識別（例えば、１つの変化の識別）、および任意の他の適切な編集を含む。ビデオデータに対する１つまたは複数の編集は、ビデオデータがどのように編集されたかに影響を及ぼす、クライアントデバイス１１０によってビデオデータが提示されるときに取得されるデータを識別し得る。例えば、ビデオデータに対する編集は、ビデオデータが提示されるときにクライアントデバイス１１０によって受信される１つまたは複数の入力と、受信された１つまたは複数の入力に基づいて、ビデオデータにオーバーレイされる画像またはテキストデータを変更するための命令とを識別する。他の例では、クライアントデバイス１１０の加速度計から、クライアントデバイス１１０の位置センサから、クライアントデバイス１１０のマイクロフォンから、またはクライアントデバイス１１０の任意の他の適切な構成要素からのデータを識別し、かつ使用してクライアントデバイス１１０によって提示されるときにビデオデータがどのように編集されるかを決定し得る。さらに、ビデオデータに対する編集を特定する情報は、編集を実行するためのビデオデータに関連付けられたメタデータの１つまたは複数の特性を指定し得る。例えば、ビデオデータに対する編集を記述する情報は、特定のオブジェクトに対する類似性のしきい値の度合いを指定して、メタデータによって識別されたオブジェクトが特定のオブジェクトに対する少なくとも類似性のしきい値の度合いを有する場合、特定された編集が行われ、メタデータによって識別されたオブジェクトが特定のオブジェクトに対する類似性のしきい値の度合いよりも小さい場合、特定された編集は行われないようにし得る。様々な実施形態において、ビデオデータに対する別個の編集をビデオエフェクトアプリケーション３１０に対して識別することができ、ビデオエフェクトアプリケーション３１０の別個の実施態様はビデオデータに対する別個の編集を特定し得る。図４に関連して以下でさらに説明するように、ビデオエフェクトアプリケーション３１０は、ビデオデータに関連してビデオデータに対する１つまたは複数の編集を特定する情報を記憶する。
【００６６】
レンダラ３１５は、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオエフェクトアプリケーション１１０からビデオデータに対する編集を記述する情報を受信する。説明の目的のために、図３は、レンダラ３１５をビデオエフェクトアプリケーション３１０とは別に示している。しかしながら、様々な実施形態において、レンダラ３１５およびビデオエフェクトアプリケーション３１０は、単一の構成要素に組み合わされてもよい。図４に関連して以下でさらに説明するように、ビデオデータをレンダリングするとき、レンダラ３１５は、情報によって記述された編集を実行することによってビデオデータを編集し、編集されたビデオデータをレンダリングする。ビデオデータに対する１つまたは複数の編集を実行するために、レンダラ３１５は、メタデータにアクセスし、ビデオデータから抽出され、かつメタデータによって記述された情報を使用する。例えば、ビデオデータへの編集がビデオデータ内のオブジェクト（例えば、ビデオデータ内の顔）上にオーバーレイする画像を識別する場合、レンダラ３１５は、メタデータからオブジェクトを含むビデオデータのフレームを識別し、オブジェクトを有する識別されたフレーム内の位置を特定し、オブジェクトを有する識別されたフレーム内の位置に画像をオーバーレイする。従って、レンダラ３１５は、ビデオデータから情報を再度抽出することなく、ビデオデータから抽出された情報を記述するメタデータを利用して、引き続きビデオデータを編集する。
【００６７】
クライアントデバイス１１０に含まれるディスプレイデバイス３２０は、画像データまたはビデオデータをクライアントデバイス１１０のユーザに提示する。ディスプレイデバイス３２０の例は、液晶ディスプレイ（ＬＣＤ）、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、アクティブマトリックス液晶ディスプレイ（ＡＭＬＣＤ）、または任意の他の適切なデバイスを含む。別個のクライアントデバイス１１０は、別個の特性を有するディスプレイデバイス３２０を有し得る。
例えば、別個のクライアントデバイス３２０は、別個の表示領域、別個の解像度、または他の別個の特性を有するディスプレイデバイス３２０を有する。
【００６８】
ビデオデータから抽出された情報に基づくクライアントデバイスによって取得されたビデオデータの編集
図４は、クライアントデバイス１１０によって取得されたビデオデータを編集するための一実施形態の方法のフローチャートである。他の実施形態では、方法は、図４に示すものとは異なるステップおよび／または追加のステップを含み得る。さらに、方法のステップは、様々な実施形態において図４に関連して説明された順序とは異なる順序で実行されてもよい。
【００６９】
クライアントデバイス１１０に含まれる画像キャプチャデバイス３０５は、ビデオデータをキャプチャする（４０５）。例えば、クライアントデバイス１１０に含まれるカメラは、ビデオデータをキャプチャする（４０５）。様々な実施形態において、４０５で画像キャプチャデバイス３０５によってキャプチャされたビデオデータは、任意の適切な解像度または任意の他の適切な特性を有する。他の実施形態では、クライアントデバイス１１０は任意の適切なソースからビデオデータをキャプチャする（４０５）。例えば、クライアントデバイス１１０によってキャプチャされたビデオデータは、クライアントデバイス１１０がオンラインシステム１４０から、サードパーティシステム１３０から、別のクライアントデバイス１１０から、または任意の他の適切なソースから受信するビデオデータである。
【００７０】
クライアントデバイス１１０上で実行されているビデオエフェクトアプリケーション３１０は、４０５でクライアントデバイス１１０の画像キャプチャデバイス３０５によってキャプチャされたビデオデータを受信し、キャプチャされたビデオデータから情報を抽出する（４１０）。様々な実施形態において、ビデオエフェクトアプリケーション３１０は、キャプチャされたビデオデータから任意の適切な情報を抽出する（４１０）。キャプチャされたビデオデータから情報を抽出し（４１０）、抽出された情報を使用してキャプチャされたビデオデータを編集する。例えば、ビデオエフェクトアプリケーション３１０は、キャプチャされたビデオデータに１つまたは複数の処理を適用して、キャプチャされたビデオデータに含まれる顔などのオブジェクトを検出する。ビデオエフェクトアプリケーション３１０は、検出されたオブジェクトのビデオデータの１つまたは複数のフレーム内の場所を識別し得る。別の例として、ビデオエフェクトアプリケーション３１０は、キャプチャされたビデオデータに１つまたは複数の処理を適用して、キャプチャされたビデオデータ内のオブジェクトまたは他の適切な構成要素の動きを記述するオプティカルフローベクトルを決定する。様々な実施形態において、ビデオエフェクトアプリケーション３１０は、キャプチャされたビデオデータの任意の適切な特徴またはキャプチャされたビデオデータに関する情報を抽出し得る（４１０）。
【００７１】
ビデオエフェクトアプリケーション３１０は、４１０でキャプチャされたビデオデータから抽出された情報をキャプチャされたビデオデータに関連付けられたメタデータとして記憶する（４１５）。様々な実施形態において、抽出された情報は、キャプチャされたビデオデータと関連して任意の適切なフォーマットで記憶されてもよい（４１５）。例えば、抽出された情報がキャプチャされたビデオデータ内で検出されたオブジェクトを含む場合、４１５でキャプチャされたビデオデータに関連して記憶されるメタデータは、幾つかのオブジェクトのビデオデータ内の時刻を含むか、または幾つかのオブジェクトが検出されたオブジェクトの識別子と共に検出されたビデオデータのフレームの識別子を含み、オブジェクトが検出された幾つかのフレーム内の位置もまた、記憶されたメタデータに含まれてもよい。別の例として、幾つかのフレームから決定されたオプティカルフローベクトルは、オプティカルフローベクトルが決定されたキャプチャされたビデオデータのフレームの識別子に関連して記憶される（４１５）。
【００７２】
いくつかの実施形態では、ビデオエフェクトアプリケーション３１０は、キャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータをオンラインシステム１４０に伝達する。いくつかの実施形態では、オンラインシステム１４０は、クライアントデバイス１１０からのキャプチャされたビデオデータと、キャプチャされたビデオデータに関連付けられたメタデータとを記憶する。例えば、クライアントデバイス１１０上で実行されるビデオエフェクトアプリケーション３１０は、キャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータに関連してクライアントデバイス１１０に関連付けられたオンラインシステム１４０のユーザを識別する情報をオンラインシステム１４０に伝達し、オンラインシステム１４０は、キャプチャされたビデオデータおよび関連付けられたメタデータをユーザと関連付けて記憶する。別の例として、クライアントデバイス１１０は、オンラインシステム１４０の追加の複数のユーザの識別子、キャプチャされたビデオデータ、およびキャプチャされたビデオデータに関連付けられたメタデータをオンラインシステム１４０に伝達し、オンラインシステム１４０は、識別子に対応する追加の複数のユーザに関連する追加の複数のクライアントデバイス１１０にビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータを伝達する。
【００７３】
さらに、ビデオエフェクトアプリケーション３１０は、キャプチャされたビデオデータに対する１つまたは複数の編集を特定する情報を受信し（４２０）、キャプチャされたビデオデータに対する編集を特定する受信された情報をキャプチャされたビデオデータに関連付けて記憶する（４２５）。例えば、ビデオエフェクトアプリケーション３１０は、ユーザからのキャプチャされたビデオデータに適用するフィルタの識別子を、フィルタが適用されるキャプチャされたビデオデータの１つまたは複数の一部の識別子（例えば、フレームの識別子、時間間隔）と共に受信し（４２０）、フィルタの識別子と、フィルタが適用されるキャプチャされたビデオデータの１つまたは複数の一部の識別子とをキャプチャされたビデオデータと関連付けて記憶する（４２５）。別の例として、ビデオエフェクトアプリケーション３１０は、キャプチャされたデータの１つまたは複数の一部にオーバーレイするためのテキストデータまたは画像データを受信し（４２０）、テキストデータまたは画像データをテキストまたは画像データがオーバーレイされるキャプチャされたビデオデータの１つまたは複数の一部の識別子（例えば、フレームの識別子、時間間隔）と関連付けて記憶する（４２５）。いくつかの実施形態では、４２０で受信された情報は、テキストデータまたは画像データがオーバーレイされるキャプチャされたビデオデータから検出されたオブジェクトを識別し得る。いくつかの実施形態では、キャプチャされたビデオデータに対する編集を特定する情報は、クライアントデバイス１１０からオンラインシステム１４０に伝達される。例えば、オンラインシステム１４０は、キャプチャされたビデオデータに対する編集を特定する情報と共にオンラインシステム１４０のユーザを識別する情報を受信し、オンラインシステム１４０は、編集を特定する情報をユーザに関連付けて、かつキャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータに関連付けて記憶する。別の例として、オンラインシステム１４０は、キャプチャされたビデオデータに対する編集を特定する情報と共に、クライアントデバイス１１０から追加の複数のユーザの識別子を受信し、オンラインシステム１４０は、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する編集を特定する情報を追加の複数のユーザに関連する追加の複数のクライアントデバイス１１０に伝達する。
【００７４】
４２５で記憶された１つまたは複数の編集を特定する情報に基づいてキャプチャされたデータを編集するために、キャプチャされたビデオデータが後で提示されるとき、ビデオエフェクトアプリケーション３０５は、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する１つまたは複数の編集を特定する情報をレンダラ３１５に提供する。いくつかの実施形態では、レンダラ３１５はビデオエフェクトアプリケーション３１０の構成要素である。代替的に、レンダラ３１５はクライアントデバイス１１０の別個の構成要素である。例えば、レンダラ３１５は、クライアントデバイス１１０上で実行される別個のアプリケーションであるか、またはクライアントデバイス１１０のハードウェアコンポーネントまたはファームウェアコンポーネントである。キャプチャされたビデオデータが提示または記憶されると、レンダラ３１５は、特定された１つまたは複数の編集およびキャプチャされたビデオデータに関連付けられたメタデータに基づいてキャプチャされたビデオデータを編集する（４３０）。例えば、キャプチャされたビデオデータに関連付けられた情報は、テキストまたは画像がオーバーレイされるキャプチャされたビデオデータの一部を識別し、したがって、レンダラ３１５は、キャプチャされたビデオデータの識別された一部がクライアントデバイス１１０のディスプレイデバイス３２０による提示のためにレンダリングされるか、あるいはクライアントデバイス１１０による、オンラインシステム１４０による、またはサードパーティシステム１３０による記憶のためにレンダリングされる場合に、テキストまたは画像をキャプチャされたビデオデータの識別された一部にオーバーレイする。キャプチャされたビデオデータに対する特定された編集が、編集されるべきビデオデータ内のオブジェクトを識別する場合、レンダラ３１５は、キャプチャされたビデオデータに関連付けられたメタデータから識別されたオブジェクトを含むビデオデータの一部を識別し、識別されたオブジェクトを含むビデオデータの一部が提示される場合に情報によって指定されたようにオブジェクトを編集する。従って、レンダラ３１５は、提示のためにキャプチャされたビデオデータをレンダリングするときに、キャプチャされたビデオデータに関連付けられたメタデータを使用して、記憶された情報に基づいて編集されるキャプチャされたビデオデータの一部を識別し、キャプチャされたビデオデータの識別された一部を編集する。
【００７５】
キャプチャされたビデオデータに関連して４１０でキャプチャされたビデオデータから抽出された情報を記述するメタデータを記憶し、続いて、キャプチャされたビデオデータを提示または記憶するときにキャプチャされたビデオデータに関連付けられたメタデータを利用してキャプチャされたビデオデータを４３０で編集することにより、クライアントデバイス１１０がより効率的に電力を消費することが可能となり、クライアントデバイス１１０がキャプチャされたビデオデータを編集するときにバッテリまたは他の電源からの電力の使用を低減することができる。キャプチャされたビデオデータから情報を抽出する方法４１０は計算量が多いことから、キャプチャされたビデオデータから情報を抽出し（４１０）、抽出された情報をキャプチャされたビデオデータに関連付けられたメタデータとして記憶する（４１５）ことによって、キャプチャされたビデオデータを受信する別のクライアントデバイス１１０によるキャプチャされたビデオデータのその後の編集が、クライアントデバイス１１０またはオンラインシステム１４０からキャプチャされたビデオデータを受信した後にキャプチャされたビデオデータから情報を再度抽出するのではなく、編集されたキャプチャされたビデオデータをレンダリングするときにキャプチャされたビデオデータに関連付けられたメタデータを利用してキャプチャされたビデオデータを編集することができる。加えて、キャプチャされたビデオデータから抽出された情報を４１５で記憶し、提示または記憶の間に記憶された情報を使用してキャプチャされたビデオデータを４３０で編集することにより、キャプチャされたビデオデータに対する編集の品質が向上する。例えば、キャプチャされたビデオデータに関連する記憶されたメタデータを使用してキャプチャされたビデオデータを４３０で編集することにより、キャプチャされたビデオデータに対する編集がキャプチャされたビデオデータを圧縮することによるアーチファクトがないようにすることが可能となる。
【００７６】
さらに、キャプチャされたビデオデータから抽出された情報を記述する記憶されたメタデータに基づいてキャプチャされたビデオデータを４３０で編集することにより、キャプチャされたビデオデータが編集されている間に、キャプチャされたビデオデータから情報が抽出される場合よりも、キャプチャされたビデオデータのより複雑な編集が可能となり得る。例えば、キャプチャされたビデオデータに関連付けられたメタデータに基づいてキャプチャされたビデオデータを４３０で編集することにより、編集されたキャプチャされたビデオデータが提示されるときに、キャプチャされたビデオデータに対する１つまたは複数の編集がクライアントデバイス１１０によって取得されたデータを考慮することが可能となる。一例として、キャプチャされたビデオデータを４３０で編集するクライアントデバイス１１０は、クライアントデバイス１１０がキャプチャされたビデオデータを提示する一方で、クライアントデバイス１１０のユーザからの異なる入力（例えば、キャプチャされたビデオデータが提示されるときのクライアントデバイス１１０の入力デバイスとのインタラクション）に基づいて、またはクライアントデバイス１１０の１つまたは複数の構成要素（たとえば、加速度計、位置センサなど）によってキャプチャされた異なる情報に基づいてビデオデータを異なるように編集する。従って、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する編集を特定する情報が追加のクライアントデバイス１１０に提供される場合、別個の追加のクライアントデバイス１１０は、キャプチャされたビデオデータの提示中に別個の追加のクライアントデバイス１１０によって取得されたデータの差異に基づいてキャプチャされたビデオデータに対して提示中に１つまたは複数の編集を別個に実行し得る。さらに、キャプチャされたビデオデータに関連付けられたメタデータを使用してキャプチャされたビデオデータを４３０で編集することにより、キャプチャされたビデオデータの一部に関連付けられたメタデータに基づいてキャプチャされたビデオデータの一部に対する複数の編集が可能となる。例えば、キャプチャされたビデオデータに関連付けられたメタデータが特定のオブジェクトを含むビデオデータの一部を識別するか、または特定のオブジェクトに対する変更を行う場合、１つまたは複数の画像がキャプチャされたビデオデータの識別された一部にオーバーレイされ、キャプチャされたビデオデータのオーディオが識別された一部の間に編集される。キャプチャされたビデオデータに関連付けられたメタデータを使用することにより、キャプチャされたビデオデータの幾つかの部分の特性または内容に基づいてキャプチャされたビデオデータの幾つかの部分に対する複数の編集の実行が単純化される。
【００７７】
図４は、クライアントデバイスの画像キャプチャデバイス３０５によって４０５でキャプチャされたビデオデータからの情報の抽出を説明しているが、図４に関連して上述した方法は、任意の適切なソースからクライアントデバイス１１０によって取得されたビデオデータに適用され得る。例えば、上述したように、クライアントデバイス１１０は、他のクライアントデバイス１１０から、オンラインシステム１４０から、またはサードパーティシステム１３０からビデオデータを受信し、ビデオエフェクトアプリケーション３１０は、ビデオデータから情報を抽出し（４１０）、抽出した情報をビデオデータに関連付けられたメタデータとして記憶する（４１５）。ビデオエフェクトアプリケーション３１０は、ビデオデータに対する１つまたは複数の編集を記述する情報を受信し（４２０）、受信した情報をビデオデータに関連付けて記憶する（４２５）。さらに上述したように、ビデオデータが続いて提示または記憶されるとき、レンダラは、ビデオデータに関連付けられたメタデータに基づいて、受信した情報によって指定されるビデオデータを編集する。従って、クライアントデバイス１１０によって画像キャプチャデバイス３０５から取得されるか、または任意の適切なソースから取得されたビデオデータは、図４に関連して上述したように編集され得る。
【００７８】
図５は、クライアントデバイス１１０によって取得されたビデオデータを編集するための一実施形態の構成のプロセスフロー図である。図５の例では、クライアントデバイス１１０の画像キャプチャデバイス３０５はビデオデータをキャプチャし、キャプチャされたビデオデータをクライアントデバイス１１０上で実行されているビデオエフェクトアプリケーション３１０に提供する（５０５）。図４に関連して上述したように、ビデオエフェクトアプリケーション３１０は、キャプチャされたビデオデータから情報を抽出し、抽出された情報をキャプチャされたビデオデータに関連付けられたメタデータとして記憶する。さらに、ビデオエフェクトアプリケーション３１０は、図４に関連してさらに上で説明したように、キャプチャされたビデオデータに対する１つまたは複数の編集を特定する情報を受け取り、キャプチャされたビデオデータに対する編集を特定する受信した情報をキャプチャされたビデオデータに関連付けて記憶する。ビデオエフェクトアプリケーション３１０は、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する編集を特定する情報をレンダラ３１５に提供する。
【００７９】
レンダラ３１５は、受信した情報によって特定されたキャプチャされたビデオデータの一部に対して、受信された情報によって指定された編集を実行することによってキャプチャされたビデオデータを編集する。キャプチャされたビデオデータを編集するとき、レンダラ３１５は、キャプチャされたビデオデータに関連付けられたメタデータにアクセスし、キャプチャされたビデオデータから抽出され、かつメタデータによって記述された情報を使用して１つまたは複数の編集を実行する。レンダラ３１５は、編集されたキャプチャされたビデオデータを提示のためにクライアントデバイス１１０のディスプレイデバイス３２０に、または記憶のためにクライアントデバイス１１０に含まれるストレージデバイスに提供する。従って、図５に関連して説明した構成は、キャプチャされたビデオデータからの情報の抽出を抽出された情報に基づくキャプチャされたビデオデータの編集から分離し、キャプチャされたビデオデータの編集がクライアントデバイス１１０による電力消費を低減することが可能となる。
【００８０】
図６は、クライアントデバイス１１０によって取得されたビデオデータおよびそのビデオデータに対する編集を他のクライアントデバイス１１０に提供し、他のクライアントデバイス１１０が編集を実行し編集されたビデオデータを提示する一実施形態の方法の相互作用図である。他の実施形態では、方法は、図６に示すものとは異なるステップおよび／または追加のステップを含み得る。さらに、方法のステップは、様々な実施形態において図６に関連して説明された順序とは異なる順序で実行されてもよい。
【００８１】
クライアントデバイス１１０Ａは、ビデオデータを取得し（６０５）、６０５でビデオデータが取得されると、ビデオデータから情報を抽出する（６１０）。図４に関連して上述したように、ビデオデータは、クライアントデバイス１１０Ａに含まれる画像キャプチャデバイス３０５によってキャプチャされるか、他のクライアントデバイス１１０から受信されるか、サードパーティシステム１３０から受信されるか、オンラインシステム１４０から受信されるか、クライアントデバイス１１０Ａに含まれるストレージデバイスから取得されるか、または任意の他の適切なソースから取得される（６０５）。クライアントデバイス１１０Ａがビデオデータを取得する間に（６０５）、クライアントデバイス１１０Ａはビデオデータから情報を抽出する（６１０）。図４に関連して上述したように、クライアントデバイス１１０Ａは、１つまたは複数のプロセスをビデオデータに適用してビデオデータから任意の適切な情報（例えば、オブジェクト、オプティカルフローベクトル、１つまたは複数のオブジェクトに対する変更、オブジェクトのビデオデータの１つまたは複数のフレーム内の位置等）を抽出する。クライアントデバイス１１０Ａは、抽出された情報をビデオデータに関連付けられたメタデータとして記憶する（６１５）。例えば、抽出された情報がキャプチャされたビデオデータ内で検出されたオブジェクトを含む場合、ビデオデータに関連して６１５で記憶されたメタデータは、幾つかのオブジェクトが、検出されるオブジェクトの識別子と共に検出されたビデオデータ内の時間またはビデオデータのフレームの識別子を含み、オブジェクトが検出された幾つかのフレーム内の位置もまた記憶されたメタデータに含まれてもよい。
【００８２】
さらに、クライアントデバイス１１０Ａは、ビデオデータに対する１つまたは複数の編集を特定する情報を受信し、記憶する（６２０）。例えば、クライアントデバイス１１０Ａは、キャプチャされたビデオデータに適用するフィルタの識別子を、フィルタが適用されるキャプチャされたビデオデータの１つまたは複数の一部の識別子（例えば、フレームの識別子、時間間隔）と共にユーザから受信する（６２０）。別の例として、クライアントデバイス１１０Ａは、テキストデータまたは画像データがオーバーレイされるキャプチャされたビデオデータのキャプチャされたデータ（例えば、フレームの識別子、時間間隔）の１つまたは複数の一部にオーバーレイするためにテキストデータまたは画像データを６２０で受信する。いくつかの実施形態では、受信した情報は、テキストデータまたは画像データがオーバーレイされるキャプチャされたビデオデータから検出されたオブジェクトを識別し得る。図４に関連して上述したように、受信した情報は、１つまたは複数のオブジェクトを含むか、または１つまたは複数の特性を有するビデオデータの一部に対して１つまたは複数の編集を実行するために、ビデオデータの１つまたは複数の一部の１つまたは複数のオブジェクトまたは特性を識別し得る。
【００８３】
クライアントデバイス１１０Ａは、ビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびビデオデータに対する１つまたは複数の編集を特定する情報をオンラインシステム１４０に提供する（６２５）。オンラインシステム１４０は、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する１つまたは複数の編集を特定する情報を記憶する（６３０）。例えば、クライアントデバイス１１０Ａは、ビデオデータと関連付けられたクライアントデバイス１１０Ａと関連付けられたオンラインシステム１４０のユーザを識別する情報と、ビデオデータに関連付けられたメタデータと、１つまたは複数の編集を特定する情報とをオンラインシステム１４０に提供し（６２５）、オンラインシステム１４０は、ビデオデータ、関連付けられたメタデータ、およびユーザに関連してビデオデータに対する１つまたは複数の編集を特定する情報を記憶する（６３０）。
【００８４】
オンラインシステム１４０は、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する１つまたは複数の編集を特定する情報を追加のクライアントデバイス１１０Ｂに提供する（６３５）。様々な実施形態において、追加のクライアントデバイス１１０Ｂは、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する１つまたは複数の編集を特定する情報と共にオンラインシステム１４０に６２５で提供されたオンラインシステム１４０のユーザに関連付けられる。代替的に、オンラインシステム１４０は、クライアントデバイス１１０Ａに関連するユーザからオンラインシステム１４０の追加のユーザを識別する情報を受信し、オンラインシステム１４０が追加のユーザについて維持する情報から追加のユーザに関連する追加のクライアントデバイス１１０Ｂを識別し、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する１つまたは複数の編集を特定する情報を追加のクライアントデバイス１１０Ｂに提供する（６３５）。
【００８５】
追加のクライアントデバイス１１０Ａがビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する１つまたは複数の編集を特定する情報を受信すると、追加のクライアントデータは、メタデータを使用してビデオデータをレンダリングしつつビデオデータに対して１つまたは複数の特定された編集を実行し（６４０）、ディスプレイデバイス３２５を介して編集されたビデオデータを提示する（６４５）。ビデオデータのレンダリング中にビデオデータに関連付けられたメタデータを使用して１つまたは複数の特定された編集を６４０で実行することにより、追加のクライアントデバイス１１０Ｂがビデオデータを編集するときにバッテリまたは他の電源からの電力の使用を低減することができる。図４に関連して上述したように、ビデオデータから情報を抽出することは計算量が多いことから、メタデータを使用してビデオデータに対して１つまたは複数の編集を６４０で実行することにより、追加クライアントデバイス１１０Ｂがビデオデータに関連付けられたメタデータを利用して、キャプチャされたビデオデータを受信した後、ビデオデータから編集を実行するための情報を再度抽出することなく、レンダリング中にビデオデータを編集することが可能となる。
【００８６】
結び
実施形態についての前述の説明は、例示の目的で提示されており、すべてを網羅すること、または開示されている厳密な形態に特許権を限定することは意図されていない。上述の開示に照らせば、多くの変更形態および変形形態が可能であるということを当業者であれば理解することができる。
【００８７】
この説明のいくつかの部分は、情報に関するオペレーションのアルゴリズムおよびシンボル表示という点から本発明の実施形態について記述している。これらのアルゴリズム的な記述および表示は一般に、データ処理技術分野における技術者たちによって、それらの技術者たちの作業の実体を他の当業者たちに対して効果的に伝達するために使用されている。これらのオペレーションは、機能的に、計算処理的に、または論理的に記述されているが、コンピュータプログラムまたは均等な電気回路、マイクロコードなどによって実施されるということがわかる。さらに、一般性を失うことなく、モジュールとしてオペレーションのこれらの構成に言及することが時として好都合であることもわかっている。記述されているオペレーションおよびそれらの関連付けられているモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで具体化されることが可能である。
【００８８】
本明細書において記述されている工程、オペレーション、またはプロセスのうちのいずれも、１つもしくは複数のハードウェアモジュールもしくはソフトウェアモジュールを用いて、単独で、またはその他のデバイスと組み合わせて実行または実施されることが可能である。一実施形態においては、ソフトウェアモジュールは、記述されている工程、オペレーション、またはプロセスのうちの任意のものまたはすべてを実行するためにコンピュータプロセッサによって実行されることが可能であるコンピュータプログラムコードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品とともに実装される。
【００８９】
実施形態は、本明細書におけるオペレーションを実行するための装置に関連することも可能である。この装置は、求められている目的のために特別に構築されることが可能であり、および／または、コンピュータ内に記憶されているコンピュータプログラムによって選択的にアクティブ化もしくは再構成される汎用コンピューティングデバイスを備えることができる。そのようなコンピュータプログラムは、コンピュータシステムバスへ結合されることが可能である非一時的な有形のコンピュータ可読記憶媒体、または電子命令を記憶するのに適している任意のタイプのメディア内に記憶されることが可能である。さらに、本明細書において言及されているあらゆるコンピューティングシステムは、シングルプロセッサを含むことができ、またはコンピューティング機能を高めるためにマルチプロセッサ設計を採用している構成であることが可能である。
【００９０】
実施形態は、本明細書において記述されているコンピューティングプロセスによって製造される製品に関連することも可能である。そのような製品は、コンピューティングプロセスから生じる情報を備えることができ、それらの情報は、非一時的な有形のコンピュータ可読記憶媒体上に記憶され、本明細書において記述されているコンピュータプログラム製品またはその他のデータの組合せの任意の実施形態を含むことができる。
【００９１】
最後に、本明細書において使用されている言葉は、主として読みやすさおよび教示上の目的で選択されており、特許権の線引きまたは画定を行うために選択されてはいない場合がある。したがって、特許権の範囲は、この詳細な説明によってではなく、本明細書に基づく出願上で生じるあらゆる請求項によって限定されるということが意図されている。したがって、実施形態の開示は、特許権の範囲を例示するものであり、特許権の範囲を限定するものではないということが意図されており、特許権の範囲は、添付の特許請求の範囲において示されている。
【図１】
2019537298.tif 000003
【図２】
2019537298.tif 000004
【図３】
2019537298.tif 000005
【図４】
2019537298.tif 000006
【図５】
2019537298.tif 000007
【図６】
2019537298.tif 000008
【手続補正書】
【提出日】平成31年3月26日(2019.3.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
クライアントデバイスにおいてビデオデータを取得するステップと、
前記クライアントデバイスにおいてビデオデータが取得されたときに、前記クライアントデバイスが前記ビデオデータに１つまたは複数の処理を適用することによって前記ビデオデータから情報を抽出するステップと、
抽出した情報を前記ビデオデータに関連付けられたメタデータとして記憶するステップと、
前記ビデオデータに対する１つまたは複数の編集を特定する情報を受信するステップと、
前記ビデオデータに対する編集を特定する受信した情報を前記ビデオデータに関連付けて記憶するステップと、
前記ビデオデータ、前記メタデータ、および特定された編集を表示のために複数のクライアントデバイスに提供するステップとを含み、前記複数のクライアントデバイスの各々は、前記複数のクライアントデバイスの各々の１つまたは複数の構成要素によってキャプチャされたデータにおける差異に基づいて前記ビデオデータの提示中に前記ビデオデータを異なるように編集するように構成され、前記複数のクライアントデバイスのうちのあるクライアントデバイスによる前記ビデオデータに対する編集は、前記複数のクライアントデバイスのうちの前記あるクライアントデバイスのディスプレイデバイスによる提示のために前記複数のクライアントデバイスのうちの前記あるクライアントデバイスにおいて前記ビデオデータがレンダリングされるときに実行される、方法。
【請求項２】
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムに提供するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータを前記オンラインシステムに提供するステップは、
前記オンラインシステムのユーザの識別子を前記オンラインシステムに前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて伝達することを含む、請求項２に記載の方法。
【請求項４】
前記ビデオデータに対する編集を特定する前記受信した情報を前記オンラインシステムに前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて提供するステップをさらに含む、請求項２に記載の方法。
【請求項５】
前記ビデオデータに関連付けられた前記メタデータは、１つまたは複数のオブジェクトを含む前記ビデオデータの１つまたは複数の一部を特定する、請求項１に記載の方法。
【請求項６】
前記ビデオデータを編集するステップは、
前記ビデオデータの前記１つまたは複数の一部に含まれるオブジェクトに基づいて前記ビデオデータの１つまたは複数の一部を編集することを含む、請求項５に記載の方法。
【請求項７】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集するステップは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信した１つまたは複数の入力に基づいて前記ビデオデータの一部を編集することを含む、請求項１に記載の方法。
【請求項８】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集するステップは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報に基づいて前記ビデオデータの一部を編集することを含む、請求項１に記載の方法。
【請求項９】
前記クライアントデバイスの構成要素は、加速度計、位置センサ、およびそれらの任意の組み合わせからなる群から選択される、請求項８に記載の方法。
【請求項１０】
前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップであって、１つまたは複数の編集が前記ビデオデータに関連付けられた前記メタデータに基づいて実行される、前記編集するステップは、
前記ビデオデータに関連付けられたメタデータによってオブジェクトを含むと特定された前記ビデオデータの一部に１つまたは複数の画像をオーバーレイし、前記ビデオデータの一部の間の前記ビデオデータのオーディオデータを編集することを含む、請求項１に記載の方法。
【請求項１１】
前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップは、
前記ビデオデータに関連付けられた前記メタデータによって特定された前記ビデオデータの一部の１つまたは複数の特性に基づいて前記ビデオデータの一部に対して複数の編集を実行することを含む、請求項１に記載の方法。
【請求項１２】
前記クライアントデバイスにおいて前記ビデオデータを取得するステップは、
前記クライアントデバイスに含まれる画像キャプチャデバイスにより前記ビデオデータをキャプチャすることを含む、請求項１に記載の方法。
【請求項１３】
前記クライアントデバイスにおいて前記ビデオデータを取得するステップは、
他のクライアントデバイスから前記ビデオデータを受信することを含む、請求項１に記載の方法。
【請求項１４】
前記クライアントデバイスにおいて前記ビデオデータが取得されるときに前記ビデオデータに適用されるプロセスは、前記ビデオデータに含まれる１つまたは複数のオブジェクトを特定する、請求項１に記載の方法。
【請求項１５】
前記ビデオデータに含まれるオブジェクトは顔を含む、請求項１４に記載の方法。
【請求項１６】
方法であって、
オンラインシステムにおいて、前記オンラインシステムのユーザに関連付けられたクライアントデバイスからビデオデータを受信するステップと、
前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータを受信するステップと、前記メタデータは、前記クライアントデバイスが前記ビデオデータを取得したときに前記クライアントデバイスによって前記ビデオデータから抽出された情報を含み、
前記オンラインシステムにおいて、前記ビデオデータを前記メタデータと関連付けて記憶するステップと、
前記ビデオデータ、前記メタデータ、および特定された編集を表示のために複数のクライアントデバイスに提供するステップとを含み、前記複数のクライアントデバイスの各々は、前記複数のクライアントデバイスの各々の１つまたは複数の構成要素によってキャプチャされたデータにおける差異に基づいて前記ビデオデータの提示中に前記ビデオデータを異なるように編集するように構成され、前記複数のクライアントデバイスのうちのあるクライアントデバイスによる前記ビデオデータに対する編集は、前記複数のクライアントデバイスのうちの前記あるクライアントデバイスのディスプレイデバイスによる提示のために前記複数のクライアントデバイスのうちの前記あるクライアントデバイスにおいて前記ビデオデータがレンダリングされるときに実行される、方法。
【請求項１７】
前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを受信するステップは、
前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータと、前記クライアントデバイスによって受信されたビデオデータに対する１つまたは複数の編集を記述する情報とを受信することを含む、請求項１６に記載の方法。
【請求項１８】
前記ビデオデータおよび前記ビデオデータに関連付けられたメタデータを前記追加のクライアントデバイスに提供するステップは、
前記ビデオデータ、前記ビデオデータに関連付けられた前記メタデータ、および前記ビデオデータに対する１つまたは複数の編集を記述する情報を追加のクライアントデバイスに提供することを含み、前記追加のクライアントデバイスは、前記ビデオデータをレンダリングするときに前記ビデオデータに対する１つまたは複数の編集を実行するように構成されている、請求項１７に記載の方法。
【請求項１９】
前記ビデオデータに対する１つまたは複数の編集を記述する情報は、前記ビデオデータに関連付けられた前記メタデータによって識別された、前記ビデオデータの一部の１つまたは複数の特性に基づいて前記ビデオデータの一部に対する複数の編集を特定する、請求項１７に記載の方法。
【請求項２０】
前記ビデオデータに対する１つまたは複数の編集を記述する情報は、前記ビデオデータの一部に対応する期間中に前記追加のクライアントデバイスによって受信された１つまたは複数の入力に基づいて前記ビデオデータの一部に対する編集を特定する、請求項１７に記載の方法。
【請求項２１】
符号化された命令を有する非一時的コンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、前記命令は、プロセッサによる実行時に、前記プロセッサに、
クライアントデバイスにおいて、ビデオデータおよび前記ビデオデータに関連付けられたメタデータを取得すること、前記メタデータは、追加のクライアントデバイスによって前記ビデオデータに関連付けられ、
前記クライアントデバイスにおいて、前記ビデオデータに対する１つまたは複数の編集を特定する情報を受信すること、
表示のための前記ビデオデータのレンダリング中に受信した情報により特定された編集を実行することによって前記ビデオデータを編集すること、１つまたは複数の編集は、前記ビデオデータに関連付けられたメタデータを使用して行われ、前記１つまたは複数の編集は、前記クライアントデバイスの１つまたは複数の構成要素によりキャプチャされたデータに基づき、
前記クライアントデバイスのディスプレイデバイスにより編集されたビデオデータを提示することを行わせる、コンピュータプログラム製品。
【請求項２２】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集することは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報に基づいて前記ビデオデータの一部を編集することを含む、請求項２１のコンピュータプログラム製品。
【請求項２３】
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信された１つまたは複数の入力を含む、請求項２２に記載のコンピュータプログラム製品。
【請求項２４】
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報を含む、請求項２２に記載のコンピュータプログラム製品。
【請求項２５】
前記ビデオデータおよび前記追加のクライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを取得することは、
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムから受信することを含む、請求項２１に記載のコンピュータプログラム製品。
【手続補正書】
【提出日】令和1年11月6日(2019.11.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
クライアントデバイスにおいてビデオデータを取得するステップと、
前記クライアントデバイスにおいてビデオデータが取得されたときに、前記クライアントデバイスが前記ビデオデータに１つまたは複数の処理を適用することによって前記ビデオデータから情報を抽出するステップと、
抽出した情報を前記ビデオデータに関連付けられたメタデータとして記憶するステップと、
前記ビデオデータに対する１つまたは複数の編集を特定する情報を受信するステップと、
前記ビデオデータに対する編集を特定する受信した情報を前記ビデオデータに関連付けて記憶するステップと、
前記ビデオデータ、前記メタデータ、および特定された編集を表示のために複数のクライアントデバイスに提供するステップとを含み、前記複数のクライアントデバイスの各々は、前記複数のクライアントデバイスの各々の１つまたは複数の構成要素によってキャプチャされたデータにおける差異に基づいて前記ビデオデータの提示中に前記ビデオデータを異なるように編集するように構成され、前記複数のクライアントデバイスのうちのあるクライアントデバイスによる前記ビデオデータに対する編集は、前記複数のクライアントデバイスのうちの前記あるクライアントデバイスのディスプレイデバイスによる提示のために前記複数のクライアントデバイスのうちの前記あるクライアントデバイスにおいて前記ビデオデータがレンダリングされるときに実行される、方法。
【請求項２】
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムに提供するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータを前記オンラインシステムに提供するステップは、
前記オンラインシステムのユーザの識別子を、前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて前記オンラインシステムに伝達することを含む、請求項２に記載の方法。
【請求項４】
前記ビデオデータに対する編集を特定する前記受信した情報を、前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて前記オンラインシステムに提供するステップをさらに含む、請求項２に記載の方法。
【請求項５】
前記ビデオデータに関連付けられた前記メタデータは、１つまたは複数のオブジェクトを含む前記ビデオデータの１つまたは複数の一部を特定する、請求項１に記載の方法。
【請求項６】
前記ビデオデータを編集するステップは、
前記ビデオデータの前記１つまたは複数の一部に含まれるオブジェクトに基づいて前記ビデオデータの１つまたは複数の一部を編集することを含む、請求項５に記載の方法。
【請求項７】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集するステップは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信した１つまたは複数の入力に基づいて前記ビデオデータの一部を編集することを含む、請求項１に記載の方法。
【請求項８】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集するステップは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報に基づいて前記ビデオデータの一部を編集することを含む、請求項１に記載の方法。
【請求項９】
前記クライアントデバイスの構成要素は、加速度計、位置センサ、およびそれらの任意の組み合わせからなる群から選択される、請求項８に記載の方法。
【請求項１０】
前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップであって、１つまたは複数の編集が前記ビデオデータに関連付けられた前記メタデータに基づいて実行される、前記編集するステップは、
前記ビデオデータに関連付けられたメタデータによってオブジェクトを含むと特定された前記ビデオデータの一部に１つまたは複数の画像をオーバーレイし、前記ビデオデータの一部の間の前記ビデオデータのオーディオデータを編集することを含む、請求項１に記載の方法。
【請求項１１】
前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップは、
前記ビデオデータに関連付けられた前記メタデータによって特定された前記ビデオデータの一部の１つまたは複数の特性に基づいて前記ビデオデータの一部に対して複数の編集を実行することを含む、請求項１に記載の方法。
【請求項１２】
前記クライアントデバイスにおいて前記ビデオデータを取得するステップは、
前記クライアントデバイスに含まれる画像キャプチャデバイスにより前記ビデオデータをキャプチャすることを含む、請求項１に記載の方法。
【請求項１３】
前記クライアントデバイスにおいて前記ビデオデータを取得するステップは、
他のクライアントデバイスから前記ビデオデータを受信することを含む、請求項１に記載の方法。
【請求項１４】
前記クライアントデバイスにおいて前記ビデオデータが取得されるときに前記ビデオデータに適用される処理は、前記ビデオデータに含まれる１つまたは複数のオブジェクトを特定する、請求項１に記載の方法。
【請求項１５】
前記ビデオデータに含まれるオブジェクトは顔を含む、請求項１４に記載の方法。
【請求項１６】
方法であって、
オンラインシステムにおいて、前記オンラインシステムのユーザに関連付けられたクライアントデバイスからビデオデータを受信するステップと、
前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータを受信するステップと、前記メタデータは、前記クライアントデバイスが前記ビデオデータを取得したときに前記クライアントデバイスによって前記ビデオデータから抽出された情報を含み、
前記オンラインシステムにおいて、前記ビデオデータを前記メタデータと関連付けて記憶するステップと、
前記ビデオデータ、前記メタデータ、および特定された編集を表示のために複数のクライアントデバイスに提供するステップとを含み、前記複数のクライアントデバイスの各々は、前記複数のクライアントデバイスの各々の１つまたは複数の構成要素によってキャプチャされたデータにおける差異に基づいて前記ビデオデータの提示中に前記ビデオデータを異なるように編集するように構成され、前記複数のクライアントデバイスのうちのあるクライアントデバイスによる前記ビデオデータに対する編集は、前記複数のクライアントデバイスのうちの前記あるクライアントデバイスのディスプレイデバイスによる提示のために前記複数のクライアントデバイスのうちの前記あるクライアントデバイスにおいて前記ビデオデータがレンダリングされるときに実行される、方法。
【請求項１７】
前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを受信するステップは、
前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータと、
前記クライアントデバイスによって受信されたビデオデータに対する１つまたは複数の編集を記述する情報とを受信することを含む、請求項１６に記載の方法。
【請求項１８】
前記ビデオデータおよび前記ビデオデータに関連付けられたメタデータを前記追加のクライアントデバイスに提供するステップは、
前記ビデオデータ、前記ビデオデータに関連付けられた前記メタデータ、および前記ビデオデータに対する１つまたは複数の編集を記述する情報を追加のクライアントデバイスに提供することを含み、前記追加のクライアントデバイスは、前記ビデオデータをレンダリングするときに前記ビデオデータに対する１つまたは複数の編集を実行するように構成されている、請求項１７に記載の方法。
【請求項１９】
前記ビデオデータに対する１つまたは複数の編集を記述する情報は、前記ビデオデータに関連付けられた前記メタデータによって識別された、前記ビデオデータの一部の１つまたは複数の特性に基づいて前記ビデオデータの一部に対する複数の編集を特定する、請求項１７に記載の方法。
【請求項２０】
前記ビデオデータに対する１つまたは複数の編集を記述する情報は、前記ビデオデータの一部に対応する期間中に前記追加のクライアントデバイスによって受信された１つまたは複数の入力に基づいて前記ビデオデータの一部に対する編集を特定する、請求項１７に記載の方法。
【請求項２１】
符号化された命令を有する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによる実行時に、前記プロセッサに、
クライアントデバイスにおいて、ビデオデータおよび前記ビデオデータに関連付けられたメタデータを取得すること、前記メタデータは、追加のクライアントデバイスによって前記ビデオデータに関連付けられ、
前記クライアントデバイスにおいて、前記ビデオデータに対する１つまたは複数の編集を特定する情報を受信すること、
表示のための前記ビデオデータのレンダリング中に受信した情報により特定された編集を実行することによって前記ビデオデータを編集すること、１つまたは複数の編集は、前記ビデオデータに関連付けられたメタデータを使用して行われ、前記１つまたは複数の編集は、前記クライアントデバイスの１つまたは複数の構成要素によりキャプチャされたデータに基づき、
前記クライアントデバイスのディスプレイデバイスにより編集されたビデオデータを提示することを行わせる、コンピュータ可読記憶媒体。
【請求項２２】
前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集することは、
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報に基づいて前記ビデオデータの一部を編集することを含む、請求項２１に記載のコンピュータ可読記憶媒体。
【請求項２３】
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信された１つまたは複数の入力を含む、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２４】
前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの１つまたは複数の構成要素によってキャプチャされた情報を含む、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２５】
前記ビデオデータおよび前記追加のクライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを取得することは、
前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムから受信することを含む、請求項２１に記載のコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
本発明による一実施形態において、コンピュータ可読非一時的記憶媒体は符号化された命令を有し、該命令は、プロセッサによる実行時、該プロセッサに、本発明による方法または前述の実施形態のいずれかを実施させることが可能であり得る。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
本明細書において記述されている工程、オペレーション、またはプロセスのうちのいずれも、１つもしくは複数のハードウェアモジュールもしくはソフトウェアモジュールを用いて、単独で、またはその他のデバイスと組み合わせて実行または実施されることが可能である。一実施形態においては、ソフトウェアモジュールは、記述されている工程、オペレーション、またはプロセスのうちの任意のものまたはすべてを実行するためにコンピュータプロセッサによって実行されることが可能であるコンピュータプログラムコードを含むコンピュータ可読媒体とともに実装される。
【国際調査報告】
2019537298.tif 000009
2019537298.tif 000010