(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-23
(54)【発明の名称】リズムに基づくコンテンツ作成
(51)【国際特許分類】
H04N 21/854 20110101AFI20240416BHJP
G06T 19/00 20110101ALI20240416BHJP
【FI】
H04N21/854
G06T19/00 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023565851
(86)(22)【出願日】2022-04-07
(85)【翻訳文提出日】2023-10-26
(86)【国際出願番号】 SG2022050198
(87)【国際公開番号】W WO2022231515
(87)【国際公開日】2022-11-03
(32)【優先日】2021-04-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521388058
【氏名又は名称】レモン インコーポレイテッド
【氏名又は名称原語表記】Lemon Inc.
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャン,ルンゾ
【テーマコード(参考)】
5B050
5C164
【Fターム(参考)】
5B050AA08
5B050BA06
5B050BA10
5B050BA12
5B050CA08
5B050DA01
5B050EA04
5B050EA18
5B050EA19
5B050FA02
5B050FA05
5B050GA08
5C164FA29
5C164MA03S
5C164MA07S
5C164MC04P
5C164SB41S
5C164YA21
(57)【要約】
本開示は、リズムに基づいてコンテンツを生成するための技術を説明する。前記技術は、複数の画像内で動きを有するオブジェクトを含む前記複数の画像を取得することと、前記オブジェクトの前記少なくとも1つの部分の少なくとも1つのポーションが第1の画像内で前記第1の画像上にオーバーレイされたターゲット画像と合わせたか否か、及び、選択された音楽のプレイバックの第1のリズムポイントに近い時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたか否かを決定することと、前記選択された音楽のプレイバックの前記第1のリズムポイントに近い時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたとの決定に従って、前記オブジェクトの前記少なくとも1つの部分を前記第1の画像から分割することと、前記オブジェクトの前記少なくとも1つの部分に基づいて第1のオーバーレイを生成することと、を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
コンテンツを作成するためのコンピュータ実装方法であって、前記方法は、
複数の画像内で動きを有する少なくとも1つの部分を含むオブジェクトを含む前記複数の画像を取得することと、
第1の画像における前記オブジェクトの前記少なくとも1つの部分の少なくとも1つのポーションが前記第1の画像上にオーバーレイされたターゲット画像と合わせたか否か、及び、選択された音楽のプレイバックの第1のリズムポイントに近い時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたか否かを決定することと、
前記選択された音楽の前記プレイバックの前記第1のリズムポイントに近い前記時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたとの決定に従って、前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションを前記第1の画像から分割することと、
前記第1の画像から分割された前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションに基づいて、第1のオーバーレイを生成することと、
を含むコンピュータ実装方法。
【請求項2】
第2の画像における前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションが前記第2の画像上にオーバーレイされた前記ターゲット画像と合わせたか否か、及び、前記選択された音楽の前記プレイバックの第2のリズムポイントに近い時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたか否かを決定することと、
前記選択された音楽の前記プレイバックの第2のリズムポイントに近い前記時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたとの決定に従って、前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションを前記第2の画像から分割することと、
前記第2の画像から分割された前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションに基づいて、第2のオーバーレイを生成することと、
を含む請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第1のオーバーレイと前記第2のオーバーレイとは、前記複数の画像の少なくとも1つのポーション上の異なる位置に配置されている
請求項2に記載のコンピュータ実装方法。
【請求項4】
前記第1のオーバーレイは、前記第1のオーバーレイが所定位置に配置される前に、前記複数の画像の少なくとも1つのポーションに対して移動するアニメーションを含む
請求項1に記載のコンピュータ実装方法。
【請求項5】
前記複数の画像内で前記オブジェクトの前記少なくとも1つの部分を検出すること
をさらに含む請求項1に記載のコンピュータ実装方法。
【請求項6】
前記ターゲット画像の座標を前記複数の画像内の前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションの座標と比較すること
をさらに含む請求項5に記載のコンピュータ実装方法。
【請求項7】
前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションの上に画像をオーバーレイすることと、
前記少なくとも1つの部分の上にオーバーレイされた前記画像が前記ターゲット画像と合わせたか否かを決定することと、
をさらに含む請求項5に記載のコンピュータ実装方法。
【請求項8】
コンピュータメモリと通信する少なくとも1つのコンピューティング装置を備えるシステムであって、前記コンピュータメモリはコンピュータ可読命令を含み、前記コンピュータ可読命令が前記少なくとも1つのコンピューティング装置により実行されると、前記システムに、
複数の画像内で動きを有する少なくとも1つの部分を含むオブジェクトを含む前記複数の画像を取得することと、
第1の画像における前記オブジェクトの前記少なくとも1つの部分の少なくとも1つのポーションが前記第1の画像上にオーバーレイされたターゲット画像と合わせたか否か、及び、選択された音楽のプレイバックの第1のリズムポイントに近い時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたか否かを決定することと、
前記選択された音楽の前記プレイバックの前記第1のリズムポイントに近い前記時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたとの決定に従って、前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションを前記第1の画像から分割することと、
前記第1の画像から分割された前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションに基づいて、第1のオーバーレイを生成することと、
を含む操作を実行させるように設定するシステム。
【請求項9】
第2の画像における前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションが前記第2の画像上にオーバーレイされた前記ターゲット画像と合わせたか否か、及び、前記選択された音楽の前記プレイバックの第2のリズムポイントに近い時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたか否かを決定することと、
前記選択された音楽の前記プレイバックの第2のリズムポイントに近い前記時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたとの決定に従って、前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションを前記第2の画像から分割することと、
前記第2の画像から分割された前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションに基づいて、第2のオーバーレイを生成することと、
をさらに含む請求項8に記載のシステム。
【請求項10】
前記第1のオーバーレイは、前記第1のオーバーレイが所定位置に配置される前に、前記複数の画像の少なくとも1つのポーションに対して移動するアニメーションを含む
請求項8に記載のシステム。
【請求項11】
前記操作は、
前記複数の画像内で前記オブジェクトの前記少なくとも1つの部分を検出すること
をさらに含む請求項8に記載のシステム。
【請求項12】
前記操作は、
前記ターゲット画像の座標を前記複数の画像内の前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションの座標と比較すること
をさらに含む請求項11に記載のシステム。
【請求項13】
前記操作は、
前記音楽の前記プレイバックの前記第1のリズムポイントに近い前記時間に前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションが前記ターゲット画像と合わせたか否かを示すフィードバック画像を生成して表示すること
をさらに含む請求項8に記載のシステム。
【請求項14】
前記操作は、
前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションの上に画像をオーバーレイすること
をさらに含む請求項8に記載のシステム。
【請求項15】
前記操作は、
前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションの上のオーバーレイが前記ターゲット画像と合わせたと決定すること
をさらに含む請求項8に記載のシステム。
【請求項16】
コンピュータ可読命令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読命令は、プロセッサにより実行された場合、前記プロセッサに、
複数の画像内で動きを有する少なくとも1つの部分を含むオブジェクトを含む前記複数の画像を取得することと、
第1の画像における前記オブジェクトの前記少なくとも1つの部分の少なくとも1つのポーションが前記第1の画像上にオーバーレイされたターゲット画像と合わせたか否か、及び、選択された音楽のプレイバックの第1のリズムポイントに近い時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたか否かを決定することと、
前記選択された音楽の前記プレイバックの前記第1のリズムポイントに近い前記時間に前記少なくとも1つのポーションが前記ターゲット画像と合わせたとの決定に従って、前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションを前記第1の画像から分割することと、
前記第1の画像から分割された前記オブジェクトの前記少なくとも1つの部分又は前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションに基づいて、第1のオーバーレイを生成することと、
を含む操作を実現させる非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記第1のオーバーレイは、前記第1のオーバーレイが所定位置に配置される前に、アニメーションを含む
請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記操作は、
前記ターゲット画像の座標を前記複数の画像内の前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションの座標と比較すること
をさらに含む請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記操作は、
前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションの上に画像をオーバーレイすることと、
前記少なくとも1つの部分の上にオーバーレイされた前記画像が前記ターゲット画像と合わせたか否かを決定することと、
をさらに含む請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項20】
前記操作は、
前記音楽の前記プレイバックの前記第1のリズムポイントに近い前記時間に前記オブジェクトの前記少なくとも1つの部分の前記少なくとも1つのポーションが前記ターゲット画像と合わせたか否かを示すフィードバック画像を生成して表示すること
をさらに含む請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
インターネットベースのツールを使って行われるコミュニケーションが増えている。インターネットに基づくツールは、任意のソフトウェア又はプラットフォームとすることができる。YouTube(登録商標)やFaceBookのような既存のソーシャルメディアプラットフォームは、ユーザ同士が静的なアプリケーションやウェブページを介して画像や動画などの情報を共有することでコミュニケーションすることを可能にしている。携帯電話などの通信機器がますます高性能化する中、人々は新しいエンターテインメント、ソーシャルネットワークや通信の方法を求め続けている。
【図面の簡単な説明】
【0002】
以下の詳細な説明は、添付図面と合わせて読むとよりよく理解できる。説明のために、本開示の様々な態様の例示的な実施形態が添付図面に示されているが、本発明は、開示されている特定の方法及び手段に限定されない。
【0003】
【
図1】コンテンツを配信するための例示的なシステムを示す図である。
【0004】
【
図2】本開示にかかるユーザ装置により実行可能な例示的なコンテンツ作成方法を示す図である。
【0005】
【
図3】本開示にかかるユーザ装置により実行可能な別の例示的なコンテンツ作成方法を示す図である。
【0006】
【
図4】本開示にかかるユーザ装置により実行可能な別の例示的なコンテンツ作成方法を示す図である。
【0007】
【
図5】本開示にかかるコンテンツ配信アプリケーションの例示的なユーザインターフェースを示す図である。
【0008】
【
図6】本開示にかかるコンテンツ配信アプリケーションの別の例示的なユーザインターフェースを示す図である。
【0009】
【
図7】本開示にかかるコンテンツ配信アプリケーションの別の例示的なユーザインターフェースを示す図である。
【0010】
【
図8】本開示にかかるコンテンツ配信アプリケーションの別の例示的なユーザインターフェースを示す図である。
【0011】
【
図9】本開示にかかるコンテンツ配信アプリケーションの別の例示的なユーザインターフェースを示す図である。
【0012】
【
図10】本開示にかかるコンテンツ配信アプリケーションの別の例示的なユーザインターフェースを示す図である。
【0013】
【
図11】本開示にかかるコンテンツ配信アプリケーションの別の例示的なユーザインターフェースを示す図である。
【0014】
【
図12】本明細書に開示されたいずれかの方法を実行するために使用可能な例示的なコンピューティング装置を示す図である。
【発明を実施するための形態】
【0015】
図1はコンテンツを配信するための例示的なシステム100を示す。システム100は、クラウドネットワーク102と複数のクライアント装置104a~dとを含んでもよい。クラウドネットワーク102と複数のクライアント装置104a~dとは、1つ又は複数のネットワーク120を介して互いに通信可能である。
【0016】
クラウドネットワーク102は、単一の建物のようなデータセンターに配置されてもよく、又は異なる地理的位置(例えば、いくつかの建物)に分散されていてもよい。クラウドネットワーク102は、該一つ又は複数のネットワーク120を介してサービスを提供することができる。ネットワーク120は、ルータ、スイッチ、マルチプレクサ、ハブ、モデム、ブリッジ、リピータ、ファイアウォール、プロキシ装置、及び/又は同様の装置など、様々なネットワーク装置を含む。ネットワーク120は、同軸ケーブルリンク、ツイストペアケーブルリンク、光ファイバリンク、それらの組み合わせなどを含むことができる。ネットワーク120は、セルラーリンク、衛星リンク、Wi-Fiリンクなどの無線リンクを含むことができる。
【0017】
クラウドネットワーク102は、様々なサービスをホストする複数のコンピューティングノード118を含むことができる。一実施形態において、ノード118はショート動画サービス112をホストする。ショート動画サービス112は、インターネットプロトコル動画ストリーミングサービスのようなコンテンツストリーミングサービスを含むことができる。ショート動画サービス112は様々な送信技術を介してコンテンツを配信するように設定されてもよい。ショート動画サービス112は、動画、音声、テキストデータ、それらの組み合わせなどのコンテンツ116を提供するように設定されている。コンテンツ116は、コンテンツストリーム(例えば、動画ストリーム、オーディオストリーム、情報ストリーム)、コンテンツファイル(例えば、動画ファイル、オーディオファイル、テキストファイル)、及び/又は他のデータを含んでもよい。コンテンツ116は、データベース114に格納されることができる。例えば、ショート動画サービス112は、動画共有サービス、動画ホスティングプラットフォーム、コンテンツ配信プラットフォーム、コラボレーションゲームプラットフォームなどを含んでもよい。
【0018】
一実施形態において、ショート動画サービス112により配信又は提供されるコンテンツ116は、ショート動画を含む。ショート動画は、1分間、5分間、又は他の所定の分など、所定の時間制限以下の持続時間を有することができる。限定ではなく、一例として、ショート動画は、互いに結合された少なくとも一つ、且つ四つ以下の15秒セグメントを含むことができる。短い動画持続時間は、ユーザが短い時間枠内で大量の動画を見ることを可能にする、エンターテインメントを迅速且つ連続的に視聴者に提供することができる。このような迅速で連続のエンターテインメントは、ソーシャルメディアプラットフォームで流行する可能性がある。
【0019】
ショート動画は、テレビ番組又は映画からの音楽又は音声のような、事前記録のオーディオオーバーレイを含むことができる。ショート動画が事前記録のオーディオオーバーレイを含む場合、ショート動画は、事前記録のオーディオとともに、1人又は複数の人が口パクやダンスをするか、又はそれらの体を他の方法で動かすことを特徴としてもよい。例えば、ショート動画は、ヒット曲に合わせて個人で完成させる「ダンスチャレンジ」を特徴としてもよく、又は、ショート動画は、2人がリップシンクや2人踊りに参加することを特徴としてもよい。別の例として、ショート動画は、個人が、事前記録のオーディオオーバーレイに対応するように、例えば、事前記録のオーディオオーバーレイにより特徴付けされる事前記録の歌曲のビート又はリズムに対応するように、自分の体を動かすことを要求するチャレンジを達成することを特徴としてもよい。他のショート動画は、事前記録のオーディオオーバーライドを含まなくてもよい。例えば、これらのショート動画は、個人がスポーツをしたり、いたずらをしたり、美容やファッションのアドバイス、料理のコツ、家の内装のコツなどのアドバイスをすることを特徴としてもよい。
【0020】
一実施形態において、コンテンツ116は、ネットワーク120を介して異なるクライアント装置104に出力されてもよい。コンテンツ116は、クライアント装置104にストリーミングされてもよい。コンテンツストリームは、ショート動画サービス112から受信されたショート動画のストリームであってもよい。複数のクライアント装置104は、ショート動画サービス112からコンテンツ116にアクセスするように設定されてもよい。一実施形態において、クライアント装置104は、コンテンツアプリケーション106を含むことができる。コンテンツアプリケーション106は、コンテンツ116をクライアント装置104に関連付けられるユーザに出力(例えば、表示、レンダリング、提示)される。コンテンツは、動画、音声、コメント、テキストデータなどを含むことができる。
【0021】
複数のクライアント装置104は、任意のタイプのコンピューティング装置、例えばモバイル装置、タブレット装置、ラップトップコンピュータ、デスクトップコンピュータ、スマートテレビ又は他のスマート装置(例えば、スマートウォッチ、スマートスピーカ、スマート眼鏡、スマートヘルメット)、ゲーム装置、セットトップボックス、デジタルストリーミング装置、ロボット等を含むことができる。複数のクライアント装置104は、一人又は複数のユーザに関連付けられてもよい。1人のユーザは、複数のクライアント装置104のうちの一つ又は複数を使用してクラウドネットワーク102にアクセスすることができる。複数のクライアント装置104は、様々な場所に移動し、異なるネットワークを使用してクラウドネットワーク102にアクセスすることができる。
【0022】
ショート動画サービス112は、ユーザから入力を受け取るように設定されてもよい。ユーザは、ショート動画サービス112のユーザとして登録されてもよく、クライアント装置104上で動作するコンテンツアプリケーション106のユーザであってもよい。ユーザ入力は、ユーザにより作成されたショート動画、ショート動画に関連付けられるユーザコメント、又はショート動画に関連付けられた「いいね」を含むことができる。ユーザ入力は、接続要求と、テキストデータ、デジタル画像データ又はユーザコンテンツなどのユーザ入力データとを含んでもよい。接続要求は、クライアント装置104a~dからの、ショート動画サービス112に接続する要求を含んでもよい。ユーザ入力データは、ショート動画及び/又はユーザコメントなど、ショート動画サービス112に接続されているユーザがショート動画サービス112の他の接続されているユーザと共有することを望む情報を含んでもよい。
【0023】
ショート動画サービス112は、異なるタイプのクライアント装置104を使用するユーザから異なるタイプの入力を受信できるかもしれない。例えば、携帯電話又はタブレットなどの第1のユーザ装置上でコンテンツアプリケーション106を使用するユーザは、コンテンツアプリケーション106を使用してショート動画を作成し、アップロードできるかもしれない。異なる携帯電話又はタブレット上でコンテンツアプリケーション106を使用するユーザは、ショート動画又は他のユーザにより書かれたコメントを見たり、コメントしたり、「いいね」できるかもしれない。別の例において、スマートテレビ、ラップトップ、デスクトップ、又はゲーム装置上でコンテンツアプリケーション106を使用するユーザは、コンテンツアプリケーション106を使用してショート動画を作成及びアップロードしたり、ショート動画にコメントしたりすることができないかもしれない。代わりに、スマートテレビ、ラップトップ、デスクトップ、又はゲーム装置上でコンテンツアプリケーション106を使用するユーザは、コンテンツアプリケーション106を使用して、ショート動画を見たり、他のユーザが残したコメントを見たり、ショート動画を「いいね」したりすることしかできないかもしれない。
【0024】
一実施形態において、ユーザは、クライアント装置104上のコンテンツアプリケーション106を使用して、ショート動画を作成し、クラウドネットワーク102にアップロードすることができる。クライアント装置104は、コンテンツアプリケーション106のインターフェース108にアクセスすることができる。インターフェース108は、入力要素を含むことができる。例えば、入力要素は、ユーザがショート動画を作成することを可能にするように設定されてもよい。ショート動画を作成するために、ユーザは、クライアント装置104のカメラのような画像取得装置又はマイクにアクセスする許可をコンテンツアプリケーション106に与えてもよい。コンテンツアプリケーション106を使用して、ユーザは、ショート動画の持続時間を選択するか、又はショート動画の速度、例えば「スローモーション」又は「スピードアップ」を設定することができる。
【0025】
ユーザは、コンテンツアプリケーション106を用いてショート動画を編集することができる。ユーザは、一つ又は複数のテキスト、フィルター、サウンド、又はビューティエフェクトなどのエフェクトをショート動画に追加することができる。事前記録のオーディオオーバーレイをショート動画に追加するために、ユーザは、コンテンツアプリケーション106のサウンドライブラリから歌曲又はサウンドクリップを選択してもよい。サウンドライブラリには、異なる歌曲、サウンドエフェクト、又は映画、アルバム、テレビ番組からのオーディオクリップを含んでもよい。事前記録のオーディオオーバーレイをショート動画に追加することに加えて、又は追加する代わりに、ユーザは、コンテンツアプリケーション106を使用して、ショート動画にナレーションを追加することができる。ナレーションは、ユーザがクライアント装置104のマイクを使用して記録したサウンドであってもよい。ユーザは、ショート動画にテキストオーバーレイを追加することができ、コンテンツアプリケーション106を使用して、テキストオーバーレイがショート動画にいつ現れることを望むかを指定することができる。ユーザは、ショート動画に、キャプション、位置タグ、及び一つ又は複数のハッシュタグを割り当てて、ショート動画の主題を示すことができる。コンテンツアプリケーション106は、ショート動画についての「カバー画像」として使用するために、ショート動画のフレームを選択するようにユーザに促してもよい。
【0026】
ユーザがショート動画を作成した後、ユーザは、コンテンツアプリケーション106を使用して、ショート動画をクラウドネットワーク102にアップロードし、且つ/又はショート動画をユーザ装置104にローカルに保存することができる。ユーザがショート動画をクラウドネットワーク102にアップロードするとき、ユーザは、ショート動画をコンテンツアプリケーション106の他の全てのユーザが閲覧可能にするか、コンテンツアプリケーション106のユーザのサブセットだけが閲覧可能にするかを選択することができる。ショート動画サービス112は、アップロードされたショート動画及びショート動画に関連付けられた任意のメタデータを一つ又は複数のデータベース114に格納することができる。
【0027】
一実施形態において、ユーザは、クライアント装置104上のコンテンツアプリケーション106を使用して、ショート動画上で入力を提供することができる。クライアント装置104は、ユーザがショート動画に関連付けられる入力を提供することを可能にするコンテンツアプリケーション106のインターフェース108にアクセスすることができる。インターフェース106は、入力要素を含むことができる。例えば、入力要素は、特定のショート動画に関連付けられたコメント又は「いいね」などのユーザからの入力を受け取るように設定されてもよい。入力がコメントである場合、コンテンツアプリケーション106は、ユーザが自分の入力に関連付けられる絵文字を設定することを許可することができる。コンテンツアプリケーション106は、ユーザがいつコメントを書き込んだかなど、入力についての時間情報を決定することができる。コンテンツアプリケーション106は、入力及び関連付けられたメタデータをクラウドネットワーク102に送信することができる。例えば、コンテンツアプリケーション106は、コメント、コメントを書いたユーザの識別子及びコメントについての時間情報をクラウドネットワーク102に送信することができる。ショート動画サービス112は、入力及び関連付けられたメタデータをデータベース114に格納することができる。
【0028】
ショート動画サービス106は、アップロードされたショート動画とユーザ入力とを他のユーザに出力するように設定されてもよい。ユーザは、ショート動画サービス112のユーザとして登録され、他のユーザが作成したショート動画を見ることができる。ユーザは、クライアント装置104上で動作するコンテンツアプリケーション106のユーザであってもよい。コンテンツアプリケーション106は、ショート動画とユーザコメントとを、クライアント装置104に関連付けられたユーザに出力(表示、レンダリング、提示)してもよい。クライアント装置104は、コンテンツアプリケーション106のインターフェース108にアクセスすることができる。インターフェース108は、出力要素を含むことができる。出力要素は、ユーザがショート動画を選択して見られるように、異なるショート動画に関する情報を表示するように設定されてもよい。例えば、出力要素は、ショート動画に関連付けられた複数のカバー画像、キャプション、又はハッシュタグを表示するように設定されてもよい。出力要素はまた、各ショート動画に関連付けられたカテゴリに従ってショート動画を配置するように設定されてもよい。
【0029】
一実施形態において、ショート動画に関連付けられたユーザコメントを、同じショート動画を見ている他のユーザに出力することができる。例えば、ショート動画にアクセスしている全てのユーザは、ショート動画に関連付けられたコメントを見ることができる。ショート動画サービス112は、ショート動画と関連付けられたコメントとを同時に出力することができる。コメントは、ショート動画サービス112によりリアルタイム又はほぼリアルタイムに出力されることができる。コンテンツアプリケーション106は、クライアント装置104上に様々な方法でショート動画とコメントとを表示することができる。例えば、コメントは、コンテンツ上のオーバーレイに表示されたり、コンテンツの隣のオーバーレイに表示されたりすることができる。別の例として、ショート動画に関連付けられた他のユーザのコメントを見たいユーザは、コメントを見るためにボタンを選択する必要があるかもしれない。コメントは表示時にアニメーション表示できる。例えば、コメントはショート動画を横切って又はオーバーレイを横切ってスクロール表示することができる。
【0030】
複数のコンピューティングノード118は、ショート動画サービス112に関連付けられるタスクを処理してもよい。複数のコンピューティングノード118は、一つ又は複数のコンピューティング装置、一つ又は複数のプロセッサ、一つ又は複数の仮想コンピューティングインスタンス、それらの組み合わせなどとして実装されることができる。複数のコンピューティングノード118は、一つ又は複数のコンピューティング装置により実装されることができる。一つ又は複数のコンピューティング装置は、仮想化コンピューティングインスタンスを含むことができる。仮想化コンピューティングインスタンスは、仮想マシン、例えばコンピュータシステム、オペレーティングシステム、サーバなどのエミュレーションを含むことができる。仮想マシンは、仮想イメージ及び/又はエミュレーションのための特定のソフトウェア(例えば、オペレーティングシステム、専用アプリケーション、サーバ)を定義する他のデータに基づいて、コンピューティング装置によりロードされることができる。異なるタイプのプロセッシングサービスについての需要が変化すると、異なる仮想マシンを一つ又は複数のコンピューティング装置上にロード及び/又は終了されることができる。同じコンピューティング装置上の異なる仮想マシンの使用を管理するために、ハイパーバイザを実装することができる。
【0031】
上記したように、ユーザは、クライアント装置104上のコンテンツアプリケーション106を使用して、ショート動画を作成し、クラウドネットワーク102にアップロードしてもよい。一実施形態において、クライアント装置104上のコンテンツアプリケーション106を介してユーザにより作成されるショート動画は、ユーザが、事前記録のオーディオオーバーレイ(例えば、上述したような事前記録のオーディオオーバーレイ)のリズム又はビートに従って、身体部分を動かすことを特徴とするショート動画であってもよい。例えば、ユーザにより作成されたショート動画は、ユーザが自分の身体部分(例えば、ユーザの頭部及び/又は目)を、歌曲又は歌曲クリップのリズム又はビートに対応するように動かすことを特徴とするショート動画であってもよい。別の例として、クライアント装置104上のコンテンツアプリケーション106を介してユーザにより作成されるショート動画は、ユーザが、異なるユーザの身体部分(例えば、異なるユーザの頭部及び/又は目)を、歌曲又は歌曲クリップのリズム又はビートに対応するように動かすことを特徴とするショート動画であってもよい。他の例において、ショート動画は、該ショート動画の複数の画像内で動きを有する少なくとも1つの部分を含むオブジェクトを含む。
【0032】
クライアント装置104は、コンテンツアプリケーション106のインターフェース108にアクセスすることができる。インターフェース108は、入力要素を含むことができる。限定ではなく、一例として、入力要素は、ユーザが、オブジェクトがその部分のうちの1つを事前記録のオーディオオーバーレイのリズム又はビートに合わせて動かす(例えば、該ユーザ又は別のユーザが身体部分を動かす)ことを特徴とするショート動画を作成することを可能にするように設定されてもよい。例えば、ユーザが事前記録のオーディオオーバーレイのリズム又はビートに合わせて身体部分を動かすことを特徴とするショート動画を作成するために、ユーザは、クライアント装置104のカメラのような画像取得装置又はマイクにアクセスする許可をコンテンツアプリケーション106に与えてもよい。
【0033】
クライアント装置104は、画像取得装置により取得されたフィードを利用して、オブジェクトの1つ又は複数の部分、例えばユーザの1つ又は複数の身体部分を検出(例えば位置決め)してもよい。例えば、クライアント装置104は、画像取得装置により取得されたフィードを利用して、ユーザの頭部又は顔を検出してもよい。カメラにより検出された1つ又は複数の身体部分は、ショート動画の作成中にユーザが事前記録のオーディオオーバーレイのリズム又はビートに合わせて移動する身体部分を含んでもよい。例えば、ショート動画の作成中に、ユーザが、事前記録のオーディオオーバーレイのリズム又はビートに合わせて、自分の頭部/顔を動かす場合、クライアント装置104は、画像取得装置により取得されたフィードを利用して、ユーザの頭部又は顔を検出してもよい。
【0034】
一実施形態において、ショート動画サービス112又はクライアント装置104のうちの少なくとも1つは、オブジェクト追跡及び検出モデル110を含む。オブジェクト追跡及び検出モデル110は少なくとも部分的に、画像取得装置により取得されたフィード内のオブジェクトの1つ又は複数の部分(例えば、ユーザの身体部分)を検出(例えば、位置決め)するために使用されてもよい。オブジェクト追跡及び検出モデル110は、例えば、ショート動画の作成中にユーザが事前記録のオーディオオーバーレイのリズム又はビートに合わせて動かす身体部分を検出するために使用されてもよい。例えば、ショート動画の作成中にユーザが事前記録のオーディオオーバーレイのリズム又はビートに合わせて自分の頭部/顔を動かす場合、オブジェクト追跡及び検出モデル110は、画像取得装置により取得されたフィード内のユーザの頭部、顔、及び/又は目を検出するために使用されてもよい。
【0035】
オブジェクト追跡及び検出モデル110は、写真又はポスターのような画像、現実世界環境のようなシーン、又はビデオストリームから情報を自動的に抽出するように設定されてもよい。一実施形態において、オブジェクト追跡及び検出モデル110は、機械学習アルゴリズム又はコンピュータ視覚アルゴリズムにより適用される正及び負の訓練を使用して、画像、シーン、又はビデオストリームからラベル又は識別属性などの情報を抽出してもよい。一旦抽出されると、該情報は、画像、シーン、又はビデオストリーム内に存在する少なくとも1つの関心のあるオブジェクト、特徴、又は要素(例えば、1つ又は複数の身体部分)を検出するために使用されてもよい。オブジェクト追跡及び検出モデル110は、画像内又はシーン内で検出された関心のあるオブジェクト、特徴、又は要素(例えば、1つ又は複数の身体部分)を識別するように設定されてもよい。例えば、オブジェクト追跡及び検出モデル110は、検出された身体部分を、頭部、顔、目、及び/又は任意の他の特定の身体部分のような特定の部位身体として識別するように設定されてもよい。
【0036】
一実施形態において、画像、シーン、又はビデオストリームに存在する関心のあるオブジェクト、特徴、又は要素(例えば、1つ又は複数の身体部分)を識別するために、オブジェクト追跡及び検出モデル110は、検出された関心のあるオブジェクト、特徴、又は要素を、データベース114などのデータベースに記憶されている情報と比較する。データベースに記憶されている情報は、撮像されて特徴評価された関心のあるオブジェクト、特徴、又は要素(例えば、身体部分)に関する情報を含んでもよい。検出された関心のあるオブジェクト、特徴又は要素が、データベースに記憶されている関心のあるオブジェクト、特徴又は要素と一致する場合、オブジェクト追跡及び検出モデル110は、検出された関心のあるオブジェクト、特徴又は要素を、関心のあるオブジェクト、特徴又は要素として識別する。例えば、オブジェクト追跡モデルが、画像取得装置により取得されたフィード内で、画像取得装置により取得されたフィード内の身体部分を検出した場合、該身体部分をデータベースに記憶されている情報と比較することで、検出された身体部分がどのタイプの身体部分であるかを決定してもよい。例えば、該身体部分をデータベースに記憶されている情報と比較して、該身体部分が頭部、顔、及び/又は他の任意の特定の身体部分であることを決定してもよい。
【0037】
実施形態において、オブジェクト追跡及び検出モデル110により抽出された情報は、関心のあるオブジェクト、特徴又は要素(例えば、1つ又は複数の身体部分)に関連付けられた1つ又は複数の測定値を含む。例えば、該1つ又は複数の測定値は、該身体部分のサイズ、該身体部分の、シーン内の他のオブジェクト及び/又は身体部分に対する位置、又は幾何学的又はトポロジー的な情報に関する情報を含んでもよい。一例において、オブジェクト追跡及び検出モデル110は、ユーザの画像取得装置(例えば、カメラ)から得られたフィード内の画素を、記憶された身体部分のモデルに関連付けられた1組の点とマッチングさせてもよい。オブジェクト追跡及び検出モデル110は、身体部分に関連する対応する線の数を決定するように設定されてもよい。例えば、該1組の点は、オブジェクト追跡及び検出モデル110によって生成され、該1組の画素に適合された一連の連結された線分又はリンク、例えば、折れ線であってもよい。オブジェクト追跡及び検出モデル110はまた、折れ線内の各リンクの傾斜角度を決定してもよい。要するに、オブジェクトを識別するために、1つ又は複数のグラフィック画像又はカメラフィード内のラインを、オブジェクトに関連付けられたモデル内のラインで識別することが知られている。他の技術を使用して、画像又はカメラフィード内のオブジェクト、例えば身体部分を識別してもよい。
【0038】
コンテンツアプリケーション106は、検出された身体部分など、検出されたオブジェクト上のグラフィック、ビデオ、サウンド、及び/又は他の入力を強化してもよい。例えば、コンテンツアプリケーション106は、カメラフィード内の検出された身体部分の上に、1つ又は複数の画像オーバーレイのようなデジタル要素を配置してもよい。例えば、オブジェクト追跡及び検出モデル110を介して、カメラフィード内で頭部/顔及び目が検出された場合、コンテンツアプリケーション106は、ユーザの目の上に画像オーバーレイを配置してもよい。画像オーバーレイは、例えば、ユーザの目の各々の少なくとも1つのポーションを覆う2つの円を含んでもよい。画像オーバーレイは、任意の他の形状及び/又は任意の色又はサイズであってもよい。別の例として、異なる身体部分(例えば、頭部/顔及び目以外の身体部分)がカメラフィード内で検出された場合、コンテンツアプリケーション106は、該異なる身体部分の少なくとも1つのポーションが該画像で覆われるように、該異なる身体部分上に画像オーバーレイを配置してもよい。
【0039】
画像オーバーレイは、それが配置される身体部分とともに移動してもよい。例えば、ユーザの目の上の画像オーバーレイは、ユーザの頭部/顔又は目とともに移動してもよい。例えば、ユーザが自分の頭部/顔を右に動かす(従って、自分の目を右に動かす)と、ユーザの目の上の画像オーバーレイも右に動くことができるため、オーバーレイはユーザの目の上に残る。同様に、ユーザが自分の頭部/顔を左に動かす(従って、自分の目を左に動かす)と、ユーザの目の上の画像オーバーレイも左に動くことができるため、オーバーレイはユーザの目の上に残る。ユーザの目の上の画像オーバーレイは、ユーザがどのように又はどこに自分の頭部/顔を動かしたかにかかわらず、オーバーレイがユーザの目上に残るように、任意の他の方向に移動してもよい。
【0040】
一実施形態において、コンテンツアプリケーション106は、カメラフィードの上に異なる又は追加の画像オーバーレイを配置してもよい。例えば、コンテンツアプリケーション106は、カメラフィードの上に1つ又は複数のターゲット画像を配置してもよい。ターゲット画像は、カメラフィード上の様々な位置にオーバーレイされてもよい。様々な位置をランダムに選択してもよく、且つ/又はアルゴリズムに従って位置を選択してもよい。ターゲット画像は、任意のサイズ、形状、又は色であってもよい。例えば、ターゲット画像は、笑顔、1つ又は複数の円、及び/又は任意の他の画像であってもよい。コンテンツアプリケーション106は、カメラフィードの上に一度に1つのターゲット画像を配置してもよく、且つ/又は、コンテンツアプリケーション106は、カメラフィードの上に一度に複数のターゲットを配置してもよい。
【0041】
画像オーバーレイは、ユーザにより作成されたショート動画の少なくとも1つのポーションの間、検出された身体部分に残ってもよい。ショート動画の作成中に、ユーザは、該画像オーバーレイを該1つ又は複数のターゲット画像と合わせることを試みてもよい。ユーザは、所定の時間及び/又は事前記録のオーディオオーバーレイ(例えば、歌曲クリップ)のリズム又はビートに対応する時間に、画像オーバーレイを1つ又は複数のターゲットと合わせることを試みてもよい。例えば、ユーザは、自分の目の上の画像オーバーレイを、歌曲のビートに合わせてターゲット画像と合わせることを試みてもよい。ターゲット画像は、2つの「目」を有する笑顔であってもよく、自分の目の上の画像オーバーレイは、各目の少なくとも1つのポーションを覆う円(又は任意の他の形状)を含んでもよい。ユーザは、自分の各目を覆う円を、歌曲のビートに合わせて笑顔の「目」と合わせることを試みてもよい。代わりに、他の任意の身体部分オーバーレイ及び/又はターゲット画像を使用してもよい。
【0042】
一実施形態において、ユーザは、(画像オーバーレイではなく)該身体部分を該1つ又は複数のターゲット画像と合わせることを試みてもよい。ユーザは、所定の時間及び/又は事前記録のオーディオオーバーレイ(例えば、歌曲クリップ)のリズム又はビートに対応する時間に、身体部分を1つ又は複数のターゲットと合わせることを試みてもよい。例えば、ユーザは、自分の目を、歌曲のビートに合わせてターゲット画像と合わせることを試みてもよい。ターゲット画像は、2つの「目」を備えた笑顔であってもよい。ユーザは、自分の目を、歌曲のビートに合わせて笑顔の「目」に合わせることを試みてもよい。代わりに、他の任意のターゲット画像を使用してもよい。
【0043】
一実施形態において、コンテンツアプリケーション106は、オブジェクト追跡及び検出モデル110を利用して、ショート動画の作成中(例えば、ショート動画の記録中)に、ユーザの目のような身体部分がターゲット画像と合わせ及び/又は近似的に合わせたか否かを決定してもよい。例えば、オブジェクト追跡及び検出モデル110を使用して、身体部分の上の画像オーバーレイ(例えば、目の上のオーバーレイ)がターゲット画像(例えば、笑顔ターゲットの「目」)と合わせ及び/又は近似的に合わせたか否かを決定してもよい。身体部分の上の画像オーバーレイ(例えば、目の上のオーバーレイ)は、身体部分の上の画像オーバーレイとターゲット画像とが完全に重なり合う(例えば、カメラフィード上の同じ位置にある)とき、ターゲット画像と合わせていてもよい。身体部分の上の画像オーバーレイ(例えば、ユーザの目の上のオーバーレイ)は、身体部分の上の画像オーバーレイとターゲット画像とが部分的に又はほぼ完全に(例えば、所定の距離閾値内で)重なり合うときに、ターゲット画像と近似的に合わせていてもよい。
【0044】
一実施形態において、ショート動画サービス112又はクライアント装置104a~dのうちの少なくとも1つは、ビート追跡モデル111を含む。コンテンツアプリケーション106は、ビート追跡モデル111を利用して、1つ又は複数の身体部分が、選択された事前記録のオーディオオーバーレイ(例えば、選択された音楽)のビートに近い時間に、1つ又は複数のターゲット画像と近似的に合わせたか否かを決定してもよい。例えば、該音楽は、ユーザにより選択されてもよく、且つ/又は、該音楽は、ランダムに選択されてもよい。該音楽は、既知のビート及び/又はリズムを有してもよい。
【0045】
一実施形態において、ビート追跡モデル111は、選択された音楽のビート及び/又はビートに対応する1つ又は複数の時間を示すタイムスタンプを追跡し続けてもよい。ビート追跡モデル111はまた、身体部分がターゲット画像と合わせ又は近似的に合わせた1つ又は複数の時間を示すタイムスタンプを追跡及び/又は生成し続けてもよい。ビート追跡モデル111は、身体部分がターゲット画像と合わせ又は近似的に合わせた時間を示すタイムスタンプと、選択された音楽のビート及び/又はリズムに対応するタイムスタンプとを比較して、選択された音楽のビートに近い時間に身体部分がターゲット画像と合わせ又は近似的に合わせたか否かを決定してもよい。
【0046】
コンテンツアプリケーション106は、ショート動画の作成中(例えば、ショート動画の記録中)に、フィードバック画像オーバーレイを配置してもよい。フィードバック画像オーバーレイは、選択された音楽のビート及び/又はリズムに近い時間に、身体部分(例えば、ユーザの目)がターゲット画像と合わせ及び/又は近似的に合わせたか否かを示してもよい。例えば、フィードバック画像オーバーレイは、選択された音楽のビートに近い時間に、身体部分がターゲット画像と合わせ又は近似的に合わせたとビート追跡モデル111が決定したか否かを示してもよい。フィードバック画像オーバーレイは、身体部分が選択された音楽のビートに合わせてターゲット画像と合わせたか、選択された音楽のビートに合わせて(例えば、ビートに合わせた又はビートの所定時間内である)ターゲット画像とほぼ合わせたか、又は、選択された音楽のビートに合わせてターゲット画像と合わせなかったか(例えば、ビートに合わせていない又はビートの所定時間内ではない)をユーザに示してもよい。
【0047】
フィードバック画像オーバーレイは、身体部分がビートに合わせて合わせたか、ほぼビートに合わせて合わせたか、又はビートに合わせずにターゲット画像と合わせたかに応じて異なってもよい。例えば、身体部分が、選択された音楽のビートに合わせてターゲット画像と合わせ又は近似的に合わせた場合、第1のタイプのフィードバック画像オーバーレイを使用してもよい。第1のタイプのフィードバック画像は、例えば、1つ又は複数のハート型であってもよい。身体部分が、選択された音楽のビートにほぼ合わせてターゲット画像と合わせ又は近似的に合わせた場合、第2のタイプのフィードバック画像オーバーレイを使用してもよい。第2のタイプのフィードバック画像は、例えば、緑又は青の円であってもよい。身体部分が、ビートに合わせてターゲット画像と合わせ又は近似的に合わせなかった場合、第3のタイプのフィードバック画像オーバーレイを使用してもよい。第3のタイプのフィードバック画像は、例えば、xマーク又は十字であってもよい。任意の他のタイプのフィードバック画像(例えば、任意のサイズ、色及び/又は形状)を使用してもよい。第1、第2、又は第3のフィードバック画像のうちの1つ又は複数は、同じであってもよい。例えば、第2及び第3のタイプのフィードバック画像は同じであってもよい。
【0048】
一実施形態において、異なるタイプのフィードバック画像の各々をターゲット画像上にオーバーレイしてもよい。例えば、1対の目及び/又は1対の目の上の画像オーバーレイが、ビートに合わせて笑顔ターゲット画像の「目」と合わせ又は近似的に合わせた場合、第1のタイプのフィードバック画像(例えば、1対のハート型)が笑顔ターゲット画像の「目」の上に現れてもよい。別の例として、1対の目又は1対の目上の画像オーバーレイが、ほぼビートに合わせて笑顔ターゲット画像の「目」とで合わせ又は近似的に合わせた場合、第2のタイプのフィードバック画像(例えば、青又は緑の円)が笑顔ターゲット画像の「目」の上に現れてもよい。別の例として、1対の目又は1対の目の上の画像オーバーレイが、ビートに合わせて又はほぼビートに合わせて笑顔ターゲット画像の「目」と合わせなかったか、近似的に合わせなかった場合、第3のタイプのフィードバック画像(例えば、xマーク又は十字)が笑顔ターゲット画像の「目」の上に現れてもよい。別の実施形態において、異なるタイプのフィードバック画像の各々は、追加として、又は代替として、身体部分の上にオーバーレイされてもよい。例えば、フィードバック画像は、身体部分の上の画像オーバーレイ(例えば、目の上のオーバーレイ)上にオーバーレイされてもよい。
【0049】
一実施形態において、ビート追跡モデル111は、身体部分又は身体部分の上の画像オーバーレイが歌曲のビートに合わせてターゲット画像と何回合わせ又は近似的に合わせたかを追跡し続けてもよい。例えば、ビート追跡モデル111は、身体部分の上の画像オーバーレイが歌曲のビートに合わせてターゲット画像と何回合わせ又は近似的に合わせたかを追跡し続けて、身体部分が歌曲のビートに合わせてターゲット画像と所定回数だけ合わせ又は近似的に合わせたか否かを決定してもよい。該所定回数は、例えば、ショート動画の作成中(例えば、ショート動画の記録中)にユーザが達成することを試みる目標であってもよい。例えば、ショート動画の作成中に、ユーザは、歌曲のビートに合わせて身体部分をターゲット画像と合わせ又は近似的に合わせることを、例えば5回、6回、又は7回(又は任意の回数)のように、所定回数だけ試みてもよい。
【0050】
一実施形態において、ショート動画サービス112又はクライアント装置104a~dのうちの少なくとも1つは、動画分割モデル109を含む。作成されるショート動画は、一連のフレームからなってもよい。該一連のフレームのうちの各フレームは、2D画像などの画像であってもよい。動画分割モデル109は、ショート動画の作成中に、該一連のフレーム(すなわち、一連の画像)を複数の領域に分割して、関心のあるオブジェクト、特徴、又は要素に関する情報を決定するように設定されてもよい。例えば、動画分割モデル109は、ショート動画の作成中に、該一連のフレーム(すなわち、一連の画像)を複数の領域に分割して、1つ又は複数の身体部分に関する情報を決定するように設定されてもよい。該1つ又は複数の身体部分は、オブジェクト追跡及び検出モデル110により検出された身体部分を含んでもよい。
【0051】
該1つ又は複数の身体部分に関する情報を使用して、該1つ又は複数の身体部分の境界及び/又は輪郭を決定してもよい。該1つ又は複数の身体部分に関する情報を使用して、該身体部分を一連のフレーム内の他のオブジェクトから区別してもよい。例えば、動画分割モデル109は、頭部又は顔に関する情報を使用して、頭部又は顔を、一連のフレーム内の他の身体部分(例えば、首又は胸)から区別してもよい。一旦身体部分が区別されると、動画分割モデル109は、身体部分をフレームの残りの部分から分離してもよい。
【0052】
一実施形態において、動画分割モデル109は、身体部分がフレームの残りの部分から分離されると、該身体部分の画像を取得するように設定されてもよい。動画分割モデル109は、特定の時間に身体部分の画像を取得するように設定されてもよい。例えば、動画分割モデル109は、選択された音楽のビートに合わせて身体部分がターゲット画像と合わせた場合、身体部分の画像を取得するように設定されてもよい。別の例として、動画分割モデル109は、選択された音楽のビートにほぼ合わせて身体部分がターゲット画像と合わせた場合、身体部分の画像を取得するように設定されてもよい。別の例として、動画分割モデル109は、選択された音楽のビートに合わせて又はビートにほぼ合わせて身体部分がターゲット画像と合わせなかった場合、身体部分の画像を取得するように設定されてもよい。別の例として、動画分割モデル109は、選択された音楽のビートに合わせて身体部分がターゲット画像と合わせたか否かにかかわらず、身体部分の画像を取得するように設定されてもよい(例えば、動画分割モデル109は、ランダムな時間及び/又は他の所定の時間に身体部分の画像を取得するように設定されてもよい)。これは、ショート動画の作成が終了するまで続けてもよい。
【0053】
一実施形態において、コンテンツアプリケーション106は、ショート動画の作成中に(例えば、ショート動画の記録中に)、カメラフィード上のトップバーに、該身体部分の1つ又は複数の取得された画像を出力する。例えば、動画分割モデル109が、選択された音楽のビートに合わせて身体部分がターゲット画像と合わせた場合、身体部分の画像を取得するように設定されており、且つ、ユーザがこれまでに身体部分をターゲット画像と5回も合わせた場合、取得された身体部分の5つの異なる画像がカメラフィード上のトップバーに出力されてもよい。その後、ユーザが6回目に身体部分をターゲット画像と合わせる場合、新しい、6回目に取得された身体部分の画像をカメラフィード上のトップバーに追加してもよい。これは、ショート動画の作成が終了するまで続けてもよい。
【0054】
コンテンツアプリケーション106は、ショート動画の作成中(例えば、ショート動画の記録中)に、アニメーション化オーバーレイを出力してもよい。アニメーション化オーバーレイは、動画分割モデル109により取得された身体部分の画像を含んでもよい。例えば、アニメーション化オーバーレイは、ショート動画がまだ記録されている間、カメラフィードを横切って移動するように設定されてもよい。アニメーション化オーバーレイは、カメラフィードを横切って任意の方向、例えばターゲット画像に向かって移動するように設定されてもよい。アニメーション化オーバーレイは、任意の速度でカメラフィードを横切って移動してもよい。1つ又は複数のアニメーション化オーバーレイは、何れの時点でカメラフィードを横切って移動してもよい。ショート動画の作成中に、複数のアニメーション化オーバーレイがカメラフィードを横切って移動してもよい。
【0055】
アニメーション化オーバーレイは、所定の時間、例えば選択された音楽のビートに対応する時間にターゲット画像に到達するように、カメラフィードを横切って移動するように設定されてもよい。例えば、ビート追跡モデル111は、選択された音楽の間に、その音楽のビート及び/又はリズムに対応する時間(例えば、タイムスタンプ)を追跡し続けてもよい。ターゲット画像の位置は既知であってもよい。音楽サンプルのビートに関連付けられたタイムスタンプとターゲット画像の位置とを組み合わせて使用して、所望の(例えば、ビートに合わせた)時間にアニメーション化オーバーレイがターゲット画像の位置に到達するように、アニメーション化オーバーレイがいつカメラフィードを横切って移動し始めるかを決定してもよい。
【0056】
一実施形態において、コンテンツアプリケーション106は、ショート動画の作成の終わりに向かって、アニメーション化オーバーレイを出力してもよい。例えば、ショート動画の作成は、所定の期間が経過したときに終了してもよい。別の例として、ショート動画の作成は、身体部分の上の画像オーバーレイが歌曲のビートに合わせてターゲット画像と所定回数だけ合わせ又は近似的に合わせたときに終了してもよい。上述したように、該所定回数は、例えば、ショート動画の作成中(例えば、ショート動画の記録中)にユーザが達成することを試みる目標であってもよい。例えば、ショート動画の作成中に、ユーザは、歌曲のビートに合わせて身体部分をターゲット画像と合わせ又は近似的に合わせることを、例えば5回、6回、又は7回(又は任意の回数)のように、所定回数だけ試みてもよい。ショート動画の作成を終了させる前に、コンテンツアプリケーション106はアニメーション化オーバーレイを出力してもよい。アニメーション化オーバーレイは、動画分割モデル109により取得された身体部分の画像を含んでもよい。例えば、アニメーション化オーバーレイは、トップバーから下へ移動し、ユーザの頭部又は顔の周りを回転するように設定されてもよい。
【0057】
ユーザは、動画分割モデル109が身体部分の1つ又は複数の画像を取得するように設定されていることを知っていてもよい。その結果、ユーザは、取得された画像が愉快又は面白いものとなるように、身体部分を特定の方法で歪める及び/又は制御することを試みてもよい。例えば、身体部分が頭部や顔である場合、ユーザは、自分の顔の画像が動画分割モデル109により取得されたときに、滑稽な顔の作成を試みてもよい。その結果、ショート動画の作成中に出力された取得画像に基づく任意のアニメーション化オーバーレイを愉快なものであってもよい。ショート動画を見る他のユーザが面白いと思う可能性を大きくするかもしれない。
【0058】
一実施形態において、アニメーション化オーバーレイは、ショート動画を作成しているユーザ以外の1人又は複数の人のユーザに属する身体部分の画像を含んでもよい。例えば、アニメーション化オーバーレイは、異なるユーザの頭部/顔を含んでもよい。異なるユーザは、友人、家族、又は全く知らない人であってもよい。例えば、異なるユーザは、上述のようにショート動画を以前に作成した、ショート動画サービス112のユーザであってもよい。異なるユーザが以上に説明したように以前にショート動画を作成した場合、そのユーザの身体部分は画像として分割されて保存されていてもよい。この画像は、ショート動画の1人又は複数の人の後続の作成者により使用されてもよい。
【0059】
他のユーザの身体部分のアニメーション化オーバーレイは、該ユーザが該ユーザの身体部分を1つ又は複数のターゲット画像と合わせることを試みるとき(例えば、ショート動画がまだ記録されているとき)、カメラフィードを横切って移動するように設定されてもよい。該他のユーザの身体部分の1つ又は複数のアニメーション化オーバーレイは、カメラフィードを横切って任意の方向、例えばターゲット画像に向かって移動するように設定されてもよい。該他のユーザの身体部分のアニメーション化オーバーレイは、任意の速度でカメラフィードを横切って移動してもよい。該他のユーザの身体部分の1つ又は複数のアニメーション化オーバーレイは、何れの時点でカメラフィードを横切って移動してもよい。
【0060】
図2は、ユーザ装置(例えば、クライアント装置104)により実行される例示的なプロセス200を示す。クライアント装置104は、プロセス200を実行して、ショート動画サービス(例えば、ショート動画サービス112)にアップロードするためのショート動画を生成してもよい。ショート動画サービスにアップロードされると、ショート動画は、ショート動画サービスのユーザにより見られてもよい。
図2では一連の操作として説明されているが、当業者であれば、様々な実施形態において、説明された操作を追加、除去、並べ替え、又は修正することができることを理解できるであろう。
【0061】
上述したように、画像取得装置により取得されたフィードは、1つ又は複数の身体部分を検出(例えば合わせ)するために使用されてもよい。例えば、クライアント装置は、画像取得装置により取得されたフィードを利用して、ユーザの頭部又は顔を検出してもよい。1つ又は複数の検出された身体部分は、ショート動画の作成中にユーザが事前記録のオーディオオーバーレイのリズム又はビートに合わせて移動する身体部分を含んでもよい。
【0062】
202において、オブジェクトの少なくとも1つの部分が検出されてもよい。例えば、オブジェクト(例えば、ユーザ)の該少なくとも1つの部分は、オブジェクト追跡及び/又は検出モデル、例えば、オブジェクト追跡及び検出モデル110により検出されてもよい。オブジェクト追跡及び検出モデルは少なくとも部分的に、画像取得装置により取得されたフィード内の1つ又は複数の身体部分を検出(例えば、位置決め)するために使用されてもよい。オブジェクト追跡及び検出モデルは、例えば、ショート動画の作成中にユーザが事前記録のオーディオオーバーレイのリズム又はビートに合わせて動かす身体部分を検出するために使用されてもよい。例えば、ショート動画の作成中にユーザが事前記録のオーディオオーバーレイのリズム又はビートに合わせて自分の頭部/顔を動かす場合、オブジェクト追跡及び検出モデルは、画像取得装置により取得されたフィード内のユーザの頭部、顔、及び/又は目を検出するために使用されてもよい。
【0063】
また、上述したように、コンテンツアプリケーション106は、カメラフィードの上に画像オーバーレイを配置してもよい。例えば、コンテンツアプリケーション106は、カメラフィードの上に1つ又は複数のターゲット画像を配置してもよい。ターゲット画像は、カメラフィード上の様々な位置にオーバーレイされてもよい。様々な位置をランダムに選択してもよく、且つ/又はアルゴリズムに従って位置を選択してもよい。ターゲット画像は、任意のサイズ、形状、又は色であってもよい。例えば、ターゲット画像は、笑顔、1つ又は複数の円、及び/又は任意の他の画像であってもよい。コンテンツアプリケーション106は、カメラフィードの上に一度に1つのターゲット画像を配置してもよく、且つ/又は、コンテンツアプリケーション106は、カメラフィードの上に一度に複数のターゲットを配置してもよい。
【0064】
ショート動画の作成中に、ユーザは、該少なくとも1つの部分を該1つ又は複数のターゲット画像と合わせることを試みてもよい。ユーザは、所定の時間及び/又は選択された事前記録のオーディオオーバーレイ(例えば、歌曲クリップ)のリズム又はビートに対応する時間に、該少なくとも1つの部分を該1つ又は複数のターゲット画像と合わせることを試みてもよい。例えば、ユーザは、自分の目を、歌曲のビートに合わせてターゲット画像と合わせることを試みてもよい。ターゲット画像は、2つの「目」を備えた笑顔であってもよい。ユーザは、自分の目を、歌曲のビートに合わせて笑顔の「目」に合わせることを試みてもよい。代わりに、他の任意のターゲット画像を使用してもよい。
【0065】
コンテンツアプリケーション106は、オブジェクト追跡及び検出モデルを利用して、ショート動画の作成中(例えば、ショート動画の記録中)に、該少なくとも1つの部分がターゲット画像と合わせ及び/又は近似的に合わせたか否かを決定してもよい。204において、該少なくとも1つの部分を追跡してもよい。例えば、オブジェクト追跡及び検出モデルを使用して、1対の目及び/又は顔がターゲット画像(例えば笑顔ターゲットの「目」)と合わせ又は近似的に合わせたか否かを決定してもよい。該少なくとも1つの部分とターゲット画像とが完全に重なり合うとき、該少なくとも1つの部分はターゲット画像と合わせていてもよい。該少なくとも1つの部分とターゲット画像とが部分的に又はほぼ完全に(例えば所定の距離閾値内で)重なり合うとき、該少なくとも1つの部分はターゲット画像と近似的に合わせていてもよい。206において、該少なくとも1つの部分又は少なくとも1つの部分の少なくとも1つのポーションがターゲット画像と合わせ又は近似的に合わせたかを決定してもよい。
【0066】
作成されるショート動画は、一連のフレームからなってもよい。該一連のフレームのうちの各フレームは、2D画像などの画像であってもよい。動画分割モデル、例えば、動画分割モデル109は、ショート動画の作成中に、該一連のフレーム(すなわち、一連の画像)を複数の領域に分割して、該少なくとも1つの部分に関する情報を決定するように設定されてもよい。該1つ又は複数の身体部分に関する情報を使用して、該少なくとも1つの部分の境界及び/又は輪郭を決定してもよい。該少なくとも1つの部分に関する情報を使用して、該少なくとも1つの部分を一連のフレーム内の他のオブジェクトから区別してもよい。例えば、動画分割モデルは、頭部又は顔に関する情報を使用して、頭部又は顔を、一連のフレーム内の他の身体部分(例えば、首又は胸)から区別してもよい。一旦該少なくとも1つの部分が区別されると、動画分割モデルは、該少なくとも1つの部分をフレームの残りの部分から分離してもよい。
【0067】
動画分割モデルは、該少なくとも1つの部分がフレームの残りの部分から分離されると、該少なくとも1つの部分の画像を取得するように設定されてもよい。208において、動画分割モデルを使用して、該少なくとも1つの部分の画像を生成してもよい。動画分割モデルは、特定の時間に該少なくとも1つの部分の画像を取得するように設定されてもよい。例えば、動画分割モデルは、該少なくとも1つの部分がターゲット画像と合わせた場合(合わせが選択された音楽のビートに合わせて行われたか否かにかかわらず)、該少なくとも1つの部分の画像を取得するように設定されてもよい。別の例として、動画分割モデルは、該少なくとも1つの部分が、選択された音楽のビートに合わせて又は近似的にートに合わせてターゲット画像と合わせた場合にのみ、該少なくとも1つの部分の画像を取得する設定されてもよい。別の例として、動画分割モデルは、該少なくとも1つの部分が、選択された音楽のビートに合わせてターゲット画像と合わせない場合に、該少なくとも1つの部分の画像を取得するように設定されてもよい。別の例として、動画分割モデルは、ランダムな時間及び/又は選択された音楽のビートとは無関係な他の所定の時間に、該少なくとも1つの部分の画像を取得するように設定されてもよい。
【0068】
コンテンツアプリケーション106は、ショート動画の作成中(例えば、ショート動画の記録中)に、アニメーション化オーバーレイを出力してもよい。アニメーション化オーバーレイは、動画分割モデルにより取得された該少なくとも1つの部分の画像を含んでもよい。例えば、アニメーション化オーバーレイは、ショート動画がまだ記録されている間、カメラフィードを横切って移動するように設定されてもよい。210において、オブジェクトの該少なくとも1つの部分又はオブジェクトの該少なくとも1つの部分の少なくとも1つのポーションのアニメーション化画像を出力してもよい。アニメーション化オーバーレイは、カメラフィードを横切って任意の方向、例えば少なくとも1つの他のターゲット画像に向かって移動するように設定されてもよい。アニメーション化オーバーレイは、任意の速度でカメラフィードを横切って移動してもよい。1つ又は複数のアニメーション化オーバーレイは、何れの時点でカメラフィードを通って移動してもよい。ショート動画の作成中に、複数のアニメーション化オーバーレイがカメラフィードを横切って移動してもよい。
【0069】
アニメーション化オーバーレイは、所定の時間、例えば選択された音楽のビートに対応する時間に該少なくとも1つの他のターゲット画像に到達するように、カメラフィードを横切って移動するように設定されてもよい。例えば、ビート追跡モデル、例えばビート追跡モデル111は、選択された音楽の間に、その音楽のビート及び/又はリズムに対応する時間(例えば、タイムスタンプ)を追跡し続けてもよい。該少なくとも1つの他のターゲット画像の位置は既知であってもよい。音楽サンプルのビートに関連付けられたタイムスタンプと該少なくとも1つの他のターゲット画像の位置とを組み合わせて使用して、所望の(例えば、ビートに合わせた)時間にアニメーション化オーバーレイが該少なくとも1つの他のターゲット画像の位置に到達するように、アニメーション化オーバーレイがいつカメラフィードを横切って移動し始めるかを決定してもよい。
【0070】
該少なくとも1つの部分を追跡し、該少なくとも1つの部分がターゲット画像と合わせたか否かを決定し、該少なくとも1つの部分の画像を生成し、該少なくとも1つの部分の画像のアニメーション化オーバーレイを出力する上記プロセスは、ショート動画の生成が終了するまで続けてもよい。例えば、該少なくとも1つの部分がターゲット画像と所定回数(例えば7回)だけ合わせた場合、及び/又は所定時間(例えば1分間)が経過した場合、ショート動画の作成を終了してもよい。ショート動画が作成された後に、ショート動画サービスの他のユーザにより見られるように、該ショート動画をショート動画サービスにアップロードしてもよい。
【0071】
図3は、ユーザ装置(例えば、クライアント装置104)により実行される例示的なプロセス300を示す。クライアント装置104は、プロセス300を実行して、ショート動画サービス(例えば、ショート動画サービス112)にアップロードするためのショート動画を生成してもよい。ショート動画サービスにアップロードされると、ショート動画は、ショート動画サービスのユーザにより見られてもよい。
図3では一連の操作として説明されているが、当業者であれば、様々な実施形態において、説明された操作を追加、除去、並べ替え、又は修正することができることを理解できるであろう。
【0072】
ショート動画の作成(例えば、ショート動画の記録)を開始してもよい。例えば、ショート動画を作成したいユーザは、コンテンツアプリケーション106を介して作成を開始してもよい。限定ではなく、一例として、ショート動画は、ユーザが、事前記録のオーディオオーバーレイ(例えば、上述したような事前記録のオーディオオーバーレイ)のリズム又はビートに従って、1つ又は複数の身体部分を動かすことを特徴とするショート動画であってもよい。事前記録のオーディオオーバーレイは、ユーザにより選択され、且つ/又はランダムに選択されてもよい音楽を含んでもよい。例えば、ユーザにより作成されたショート動画は、ユーザが1つ又は複数の身体部分(例えば、該ユーザの頭部及び/又は目)を、選択された音楽のリズム又はビートに対応するように動かすことを特徴とするショート動画であってもよい。302において、オブジェクト(例えば、ユーザ)の動きを含む画像を取得し、例えば、クライアント装置(例えば、クライアント装置104)のカメラのような画像取得装置により記録してもよい。移動は、ユーザの頭部及び/又は目のような1つ又は複数の所定の部分の動きを含んでもよい。これらの動きは、例えば、1つ又は複数のターゲット画像に向かう1つ又は複数の所定の身体部分の動きを含んでもよい。
【0073】
上述したように、1つ又は複数のターゲット画像をカメラフィードの上にオーバーレイしてもよい。該1つ又は複数のターゲット画像を、カメラフィード上の様々な位置でオーバーレイしてもよい。様々な位置をランダムに選択してもよく、且つ/又はアルゴリズムに従って位置を選択してもよい。該1つ又は複数のターゲット画像は、任意のサイズ、形状、又は色であってもよい。例えば、該1つ又は複数のターゲット画像は、笑顔、1つ又は複数の円、及び/又は任意の他の画像であってもよい。一度に1つのターゲット画像のみをカメラフィードの上にオーバーレイしてもよく、又は一度に複数のターゲット画像をカメラフィードの上にオーバーレイしてもよい。
【0074】
ショート動画の作成中に、ユーザは、該1つ又は複数の所定の身体部分を該1つ又は複数のターゲット画像と合わせることを試みてもよい。ユーザは、所定の時間及び/又は選択された事前記録のオーディオオーバーレイ(例えば、歌曲クリップ)のリズム又はビートに対応する時間に、該1つ又は複数の身体部分を該1つ又は複数のターゲット画像と合わせることを試みてもよい。例えば、ユーザは、自分の目を、歌曲のビートに合わせてターゲット画像と合わせることを試みてもよい。ターゲット画像は、2つの「目」を備えた笑顔であってもよい。ユーザは、自分の目を、歌曲のビートに合わせて笑顔の「目」に合わせることを試みてもよい。代わりに、他の任意のターゲット画像を使用してもよい。
【0075】
304において、オブジェクト(例えば、ユーザ)の該少なくとも1つの部分が、複数のビデオ画像のうちの第1の画像上にオーバーレイされたターゲット画像と合わせ又は近似的に合わせたかを決定してもよい。例えば、オブジェクト追跡モデル、例えばオブジェクト追跡及び検出モデル110を使用して、該1つ又は複数の身体部分がターゲット画像(例えば笑顔ターゲットの「目」)と合わせ又は近似的に合わせたか否かを決定してもよい。該1つ又は複数の身体部分とターゲット画像とが完全に重なり合う(例えば、カメラフィード上の同じ位置にある)とき、該1つ又は複数の身体部分がターゲット画像と合わせていてもよい。該1つ又は複数の身体部分とターゲット画像とが部分的に又はほぼ完全に重なり合う(例えば、所定の距離閾値内である)とき、該1つ又は複数の身体部分はターゲット画像と近似的に合わせていてもよい。
【0076】
ユーザの少なくとも1つの部分が、選択された音楽のプレイバックのリズムポイント(例えば、ビート)に近い時間にターゲット画像と合わせ又は近似的に合わせたか否かを決定してもよい。例えば、ビート追跡モデル111のようなビート追跡モデルを利用して、ユーザの該少なくとも1つの部分が、選択された事前記録のオーディオオーバーレイ(例えば、選択された音楽)のビートに近い時間に、1つ又は複数のターゲット画像と合わせ又は近似的に合わせたか否かを決定してもよい。該音楽は、既知のビート及び/又はリズムを有してもよい。ビート追跡モデルは、選択された音楽のビート及び/又はビートに対応する1つ又は複数の時間を示すタイムスタンプを追跡し続けてもよい。ビート追跡モデルはまた、ユーザの該少なくとも1つの部分がターゲット画像と合わせ又は近似的に合わせた1つ又は複数の時間を示すタイムスタンプを追跡及び/又は生成し続けてもよい。ビート追跡モデルは、該ユーザの少なくとも1つの部分がターゲット画像と合わせ又は近似的に合わせた時間を示すタイムスタンプと、選択された音楽のビート及び/又はリズムに対応するタイムスタンプとを比較して、選択された音楽のビートに近い時間に身体部分がターゲット画像と合わせ又は近似的に合わせたか否かを決定してもよい。
【0077】
上述したように、動画分割モデル109のような動画分割モデルは、特定の時間にユーザの該少なくとも1つの部分の1つ又は複数の画像を取得するように設定されてもよい。例えば、動画分割モデルは、ユーザの該少なくとも1つの部分が、選択された音楽のビートに合わせてターゲット画像と合わせ又は近似的に合わせた場合、ユーザの該少なくとも1つの部分の1つ又は複数の画像を取得するように設定されてもよい。別の例として、動画分割モデルは、ユーザの該少なくとも1つの部分が、選択された音楽のビートにほぼ合わせてターゲット画像と合わせ又は近似的に合わせた場合、ユーザの該少なくとも1つの部分の1つ又は複数の画像を取得するように設定されてもよい。別の例として、動画分割モデルは、ユーザの該少なくとも1つの部分が、選択された音楽のビートに合わせて又はビートにほぼ合わせてターゲット画像と合わせない場合に、ユーザの該少なくとも1つの部分の1つ又は複数の画像を取得するように設定されてもよい。別の例として、動画分割モデルは、ユーザの該少なくとも1つの部分が選択された音楽のビートに合わせてターゲット画像と合わせたか否かにかかわらず、ユーザの少なくとも1つの部分の1つ又は複数の画像を取得するように設定されてもよい(例えば、動画分割モデルは、ランダムな時間及び/又は他の所定の時間にユーザの該少なくとも1つの部分の1つ又は複数の画像を取得するように設定されてもよい)。
【0078】
一実施形態において、動画分割モデルは、異なるユーザ又は異なるユーザ(例えば、ビデオを作成したユーザ以外のユーザ)の部分の1つ又は複数の画像を取得するように設定されてもよい。異なるユーザの該部分は、異なるユーザの任意の身体部分、例えば、異なるユーザの頭部/顔を含んでもよい。異なるユーザは、友人、家族、又は全く知らない人であってもよい。例えば、異なるユーザは、上述のようにショート動画を以前に作成した、ショート動画サービス112のユーザであってもよい。異なるユーザが以上に説明したように以前にショート動画を作成した場合、そのユーザの身体部分は画像として分割されて保存されていてもよい。この画像は、ショート動画の1人又は複数の人の後続の作成者により使用されてもよい。
【0079】
306において、選択された音楽のプレイバックの第1のリズムポイントに近い時間に該少なくとも1つのポーションがターゲット画像と合わせたとの決定に従って、オブジェクトの該少なくとも1つの部分又は該オブジェクトの該少なくとも1つの部分の少なくとも1つのポーションを第1の画像から分割してもよい。いくつかの実施形態において、オブジェクトの該少なくとも1つの部分は、複数の画像において動きを有する。複数の画像のうちの第2の画像内のオブジェクトの少なくとも1つの部分の少なくとも1つのポーションを、第2のリズムポイントに近い時間にターゲット画像と合わせるように決定してもよい。そして、オブジェクトの該少なくとも1つの部分又はオブジェクトの該少なくとも1つの部分の少なくとも1つのポーションを第2の画像から分割してもよい。一例において、第1の画像、第2の画像、及び他の画像は、異なるタイムスタンプを有する連続した画像であってもよい。
【0080】
アニメーション化オーバーレイは、分割された部分又はポーションに基づいて生成されてもよい。アニメーション化オーバーレイは、オブジェクト(例えば、ユーザ)の該少なくとも1つの部分の画像、別のオブジェクトの画像、該オブジェクトの異なる部分、及び/又は異なるユーザの画像に基づいて生成されてもよい。ショート動画の作成中に、アニメーション化オーバーレイをカメラフィードの上に出力してもよい。アニメーション化オーバーレイは、ショート動画がまだ記録されている間、カメラフィードを横切って移動するように設定されてもよい。アニメーション化オーバーレイは、カメラフィードを横切って任意の方向、例えばターゲット画像に向かって移動するように設定されてもよい。アニメーション化オーバーレイは、任意の速度でカメラフィードを横切って移動してもよい。1つ又は複数のアニメーション化オーバーレイは、何れの時点でカメラフィードを横切って移動してもよい。ショート動画作成の中に、複数のアニメーション化オーバーレイはカメラフィードを横切って移動してもよい。
【0081】
アニメーション化オーバーレイは、所定の時間、例えば選択された音楽のビートに対応する時間にターゲット画像に到達するように、カメラフィードを横切って移動するように設定されてもよい。例えば、ビート追跡モデルは、選択された音楽の間に、その音楽のビート及び/又はリズムに対応する時間(例えば、タイムスタンプ)を追跡し続けてもよい。ターゲット画像の位置は既知であってもよい。音楽サンプルのビートに関連付けられたタイムスタンプとターゲット画像の位置とを組み合わせて使用して、所望の(例えば、ビートに合わせた)時間にアニメーション化オーバーレイがターゲット画像の位置に到達するように、アニメーション化オーバーレイがいつカメラフィードを横切って移動し始めるかを決定してもよい。
【0082】
308において、第1のオーバーレイを生成し、ショート動画に結合してもよい。ショート動画を生成することは、選択された音楽のプレイバックの少なくとも1つのポーションと、ビデオ画像の少なくとも1つのポーション(例えば、取得されたビデオの1つ又は複数のフレーム)と、アニメーションの少なくとも1つのポーションとをビデオに結合することを含んでもよい。一例において、ユーザがオブジェクト(例えば、ユーザ)の該少なくとも1つの部分をターゲット画像と合わせるターゲットは、生成されたコンテンツの動きをユーザが大げさに見せる結果になる可能性がある。例えば、ユーザは、取得された画像が愉快又は面白いものとなるように、該少なくとも1つの部分を特定の方法で歪める及び/又は制御することを試みてもよい。例えば、該少なくとも1つの身体部分が頭部や顔である場合、ユーザは、自分の顔の画像が動画分割モデルにより取得されたときに、滑稽な顔の作成を試みてもよい。例えば、ユーザの該少なくとも1つの部分がターゲット画像と所定回数(例えば7回)だけ合わせた場合、及び/又は所定時間(例えば1分間)が経過した場合、ショート動画の生成を終了してもよい。ショート動画が生成された後に、ショート動画サービスの他のユーザにより見られるように、該ショート動画をショート動画サービスにアップロードしてもよい。
【0083】
図4は、ユーザ装置(例えば、クライアント装置104)により実行される例示的なプロセス400を示す。クライアント装置104は、プロセス400を実行して、ショート動画サービス(例えば、ショート動画サービス112)にアップロードするためのショート動画を生成してもよい。ショート動画サービスにアップロードされると、ショート動画は、ショート動画サービスのユーザにより見られてもよい。
図4では一連の操作として説明されているが、当業者であれば、様々な実施形態において、説明された操作を追加、除去、並べ替え、又は修正することができることを理解できるであろう。
【0084】
上記したように、クライアント装置、例えばクライアント装置104は、画像取得装置により取得されたフィードを利用して、1つ又は複数の身体部分、例えばユーザの1つ又は複数の身体部分を検出(例えば位置決め)してもよい。カメラにより検出された1つ又は複数の身体部分は、ショート動画の作成中にユーザが事前記録のオーディオオーバーレイのリズム又はビートに合わせて移動する身体部分を含んでもよい。例えば、ショート動画の作成中に、ユーザが、事前記録のオーディオオーバーレイのリズム又はビートに合わせて、自分の頭部/顔を動かす場合、クライアント装置は、画像取得装置により取得されたフィードを利用して、ユーザの頭部又は顔を検出してもよい。
【0085】
402において、顔を検出してもよい。オブジェクト追跡及び検出モデル、例えば上述したオブジェクト追跡及び検出モデル110を、少なくとも部分的に利用して、顔を検出(例えば、位置決め)してもよい。
図5は、検出された顔502を表すUI 500の例を示す。検出された顔502は、ショート動画を作成したいユーザの顔であってもよい。例えば、ユーザは、ショート動画サービス、例えばショート動画サービス112のユーザであってもよい。顔502は、例えば、オブジェクト追跡及び検出モデルにより検出されてもよい。
【0086】
404において、ターゲット画像及び目のオーバーレイを出力させてもよい。グラフィック、動画、サウンド、及び/又は他の入力を
図5に表す検出された顔502の上にオーバーレイしてもよい。例えば、1つ又は複数の画像、例えば画像オーバーレイ504を、検出された顔502の少なくとも1つのポーション、例えばユーザの目の上にオーバーレイしてもよい。画像オーバーレイ504は、例えば、ユーザの目の各々の少なくとも1つのポーションを覆う2つの円を含んでもよい。画像オーバーレイ504は、任意の他の形状及び/又は任意の色又はサイズであってもよい。画像オーバーレイ504は、両目全体又は目の1つのポーションのみを覆ってもよい。画像オーバーレイ504は、検出された顔502とともに移動してもよい。例えば、ユーザが自分の頭部/顔502を右に動かす(従って、自分の目を右に動かす)と、画像オーバーレイ504も右に動くことができるため、画像オーバーレイ504はユーザの目の上に残る。同様に、ユーザが自分の頭部/顔502を左に動かす(従って、自分の目を左に動かす)と、ユーザの目の上の画像オーバーレイ504も左に動くことができるため、画像オーバーレイ504はユーザの目の上に残る。画像オーバーレイ504は、ユーザがどのように又はどこに自分の頭部/顔502を動かすかにかかわらず、画像オーバーレイ504がユーザの目上に残るように、任意の他の方向に移動してもよい。
【0087】
1つ又は複数のターゲット画像506を追加として又は代替としてカメラフィードの上に配置してもよい。該1つ又は複数のターゲット画像506を、カメラフィード上の様々な位置でオーバーレイしてもよい。様々な位置をランダムに選択してもよく、且つ/又はアルゴリズムに従って位置を選択してもよい。該1つ又は複数のターゲット画像506は、任意のサイズ、形状、又は色であってもよい。例えば、該1つ又は複数のターゲット画像506は、笑顔、1つ又は複数の円、及び/又は任意の他の画像であってもよい。一度に1つのターゲット画像506をカメラフィードの上に出力してもよく、又は一度に複数のターゲット画像506をカメラフィードの上に出力してもよい。
【0088】
ユーザがショート動画の作成を開始する前に(例えば、記録を開始する前に)、音楽を選択してもよい。406において、音楽の選択を受け付けてもよい。音楽の選択は、例えばユーザから受け付けてもよい。代替として、音楽の選択はランダムに選択してもよい。音楽は、音楽ライブラリ、例えばショート動画サービスに関連付けられる音楽ライブラリから選択されてもよい。代替として、音楽は、オンラインの音楽データベース又はクライアント装置上の音楽ライブラリから選択されてもよい。選択された音楽は、既知のビート及び/又はリズムを有してもよい。例えば、タイムスタンプは、選択された音楽の既知のビート及び/又はリズムに関連付けられてもよい。タイムスタンプは、選択された音楽の間の、該音楽のビートに対応する時間を示してもよい。
【0089】
408において、記録を開始してもよい。ユーザは、例えば音楽を選択した後に、記録を開始してもよい。代替として、例えば音楽を選択した後に、記録を自動的に開始してもよい。動画の作成中(例えば、記録中)に、選択された音楽が再生されてもよい。410において、音楽の少なくとも1つのポーションのプレイバックを開始させてもよい。画像オーバーレイ504は、音楽のプレイバックの少なくとも1つのポーションの間、検出された顔502の上に残ってもよい。音楽の再生中に、ユーザは、検出された顔502をターゲット画像506と合わせることを試みてもよい。例えば、ユーザは、画像オーバーレイ504をターゲット画像506と合わせることを試みてもよい。ユーザは、例えば、所定の時間及び/又は音楽の所定のリズム又はビートに対応する時間に、検出された顔502及び/又は画像オーバーレイ504をターゲット画像506と合わせることを試みてもよい。例えば、ユーザは、自分の各目を覆う円を、歌曲のビートに合わせて笑顔ターゲット画像506の「目」と合わせることを試みてもよい。
【0090】
図6は、検出された顔502及び/又は画像オーバーレイ504をターゲット画像506と合わせることを試みるユーザを表すUI 600の一例を示す。ユーザは、所定の時間及び/又は音楽の所定のリズム又はビートに対応する時間に、検出された顔502及び/又は画像オーバーレイ504をターゲット画像と合わせることを試みてもよい。上述したように、オブジェクト追跡モデル(例えば、オブジェクト追跡及び検出モデル110)を利用して、検出された顔502及び/又は画像オーバーレイ504がターゲット画像506と合わせ又は近似的に合わせたかを決定してもよい。検出された顔502及び/又は画像オーバーレイ504とターゲット画像506とが完全に重なり合う(例えば、カメラフィード上の同じ位置にある)場合、検出された顔502及び/又は画像オーバーレイ504はターゲット画像506と合わせていてもよい。検出された顔502及び/又は画像オーバーレイ504とターゲット画像506とが部分的に又はほぼ完全に(例えば所定の距離閾値内で)重なり合う場合に、検出された顔502及び/又は画像オーバーレイ504とターゲット画像506とが近似的に合わせていてもよい。
【0091】
動画分割モデル、例えば上述の動画分割モデル109は、検出された顔502がターゲット画像506と合わせ又は近似的に合わせたときに、検出された顔502の1つ又は複数の画像を取得するように設定されてもよい。例えば、動画分割モデルは、検出された顔502がターゲット画像506と合わせ又は近似的に合わせた場合、合わせが選択された音楽のビートに合わせて行われたか否かにかかわらず、検出された顔502の1つ又は複数の画像を取得するように設定されてもよい。
【0092】
412において、顔の画像を生成且つ/又は取得してもよい。例えば、動画分割モデルは、一連のビデオフレーム(すなわち、一連の画像)を複数の領域に分割して、検出された顔502に関する情報を決定してもよい。検出された顔502に関する情報を使用して、検出された顔502の境界及び/又は輪郭を決定してもよい。検出された顔502に関する情報を使用して、検出された顔502を一連のフレーム内の他のオブジェクトから区別してもよい。例えば、動画分割モデルは、検出された顔502に関する情報を使用して、検出された顔502を、一連のフレーム内の他の身体部分(例えば、首又は胸)から区別してもよい。一旦検出された顔502が区別されると、動画分割モデルは、検出された顔502をフレームの残りの部分から分離してもよい。検出された顔502は、フレームの残りの部分から分離されると、画像として保存されてもよい。
【0093】
検出された顔502の画像のアニメーション化オーバーレイは、ショート動画がまだ記録されている間、カメラフィードを横切って移動するように設定されてもよい。例えば、
図6は、ショート動画がまだ記録されている間に、カメラフィードを横切って移動する検出された顔502の画像のアニメーション化オーバーレイ604を表す。アニメーション化オーバーレイ604は、カメラフィードを横切って任意の方向、例えばターゲット画像506に向かって移動するように設定されてもよい。アニメーション化オーバーレイ604は、任意の速度でカメラフィードを横切って移動してもよい。1つ又は複数のアニメーション化オーバーレイ604は、何れの時点でカメラフィードを横切って移動してもよい。ショート動画の作成中に、複数のアニメーション化オーバーレイ604がカメラフィードを横切って移動してもよい。
【0094】
アニメーション化オーバーレイ604は、所定の時間、例えば選択された音楽のビートに対応する時間にターゲット画像506に到達するように、カメラフィードを横切って移動するように設定されてもよい。例えば、ビート追跡モデル、例えば上記のビート追跡モデル111は、選択された音楽の間に、その音楽のビート及び/又はリズムに対応する時間(例えば、タイムスタンプ)を追跡し続けてもよい。ターゲット画像506の位置は既知であってもよい。音楽サンプルのビートに関連付けられたタイムスタンプとターゲット画像506の位置とを組み合わせて使用して、所望の(例えば、ビートに合わせた)時間にアニメーション化オーバーレイ604がターゲット画像506の位置に到達するように、アニメーション化オーバーレイ604がいつカメラフィードを横切って移動し始めるかを決定してもよい。
【0095】
一実施形態において、ビート追跡モデルを使用して、検出された顔502が、選択された音楽のビートに近い時間に、ターゲット画像506と合わせ又は近似的に合わせたかを決定してもよい。ビート追跡モデルは、選択された音楽のビート及び/又はビートに対応する1つ又は複数の時間を示すタイムスタンプを追跡し続けてもよい。ビート追跡モデルはまた、検出された顔502が(オブジェクト検出及び追跡モデルにより決定されたような)ターゲット画像506と合わせ又は近似的に合わせた1つ又は複数の時間を示すタイムスタンプを追跡及び/又は生成し続けてもよい。ビート追跡モデルは、検出された顔502がターゲット画像506と合わせ又は近似的に合わせた時間を示すタイムスタンプと、選択された音楽のビート及び/又はリズムに対応するタイムスタンプとを比較して、合わせが選択された音楽のビートに近い時間に発生したか否かを決定してもよい。
【0096】
414において、検出された顔502及び/又は画像オーバーレイ504がビートに合わせてターゲット画像506と合わせたか否かを決定してもよい。例えば、ビート追跡モデルを使用して、検出された顔502及び/又は画像オーバーレイ504が、選択された音楽のビートに合わせて、又はビートに近似的に合わせてターゲット画像506と合わせたか否かを決定してもよい。
【0097】
上述したように、フィードバック画像オーバーレイは、ショート動画の作成中に出力されてもよい。フィードバック画像オーバーレイは、検出された顔502及び/又は画像オーバーレイ504が、選択された音楽のビート及び/又はリズムに近い時間にターゲット画像506と合わせ又は近似的に合わせたか否かを示してもよい。例えば、フィードバック画像オーバーレイは、検出された顔502及び/又は画像オーバーレイ504が、選択された音楽のビートに近い時間にターゲット画像と合わせ又は近似的に合わせたとビート追跡モデルが決定したか否かを示してもよい。フィードバック画像オーバーレイは、検出された顔502及び/又は画像オーバーレイ504が選択された音楽のビートに合わせてターゲット画像506と合わせたか、選択された音楽のビートに合わせて(例えば、ビートに合わせた又はビートの所定時間内である)ターゲット画像とほぼ合わせたか、又は、選択された音楽のビートに合わせてターゲット画像と合わせなかったか(例えば、ビートに合わせていない又はビートの所定時間内ではない)を示してもよい。フィードバック画像オーバーレイは、検出された顔502及び/又は画像オーバーレイ504が、ターゲット画像506とビート上に合わせたか、ほとんど合わせなかったか、又はビート上に合わせなかったかに応じて異なることができる。
【0098】
検出された顔502及び/又は画像オーバーレイ504がほぼビートに合わせてターゲット画像506と合わせたと決定された場合、ほぼビートに合わせたフィードバック画像を出力してもよい。例えば、UI 600は、例示的なタイプのフィードバック画像602を示す。フィードバック画像602は、検出された顔502及び/又は画像オーバーレイ504が、ほぼビートに合わせてターゲット画像506と合わせ又は近似的に合わせたことを示してもよい。フィードバック画像602は、ターゲット画像506上に重ねられてもよい。例えば、フィードバック画像602(例えば、青又は緑の円)は、笑顔ターゲット画像506の「目」上にオーバーレイされてもよい。別の実施形態において、フィードバック画像602は、検出された顔502及び/又は画像オーバーレイ504の上に追加として又は代替としてオーバーレイされてもよい。
図6では円として表されているが、フィードバック画像602は、任意のサイズ、色、及び/又は形状であってもよい。
【0099】
検出された顔502及び/又は画像オーバーレイ504が、選択された音楽のビートに合わせてターゲット画像506と合わせ又は近似的に合わせた場合、代替として、異なるタイプのフィードバック画像オーバーレイを出力してもよい。検出された顔502及び/又は画像オーバーレイ504とターゲット画像506とがビートに合わせて合わせたと決定した場合、方法400は418に進んでもよい。418において、ビートに合わせたフィードバックを出力させてもよい。例えば、
図7は、フィードバック画像702を表す。フィードバック画像702は、検出された顔502及び/又は画像オーバーレイ504が、ビートに合わせてターゲット画像506と合わせ又は近似的に合わせたことを示してもよい。フィードバック画像702は、ターゲット画像506上に重ねられてもよい。例えば、フィードバック画像702(例えば、ハート型)は、笑顔ターゲット画像506の「目」上にオーバーレイされてもよい。別の実施形態において、フィードバック画像702は、検出された顔502及び/又は画像オーバーレイ504の上に追加として又は代替としてオーバーレイされてもよい。
図7ではハート型として表されているが、フィードバック画像702は、任意のサイズ、色、及び/又は形状であってもよい。
【0100】
検出された顔502及び/又は画像オーバーレイ504が、選択された音楽のビートに合わせてターゲット画像506と合わせ又は近似的に合わせた場合、検出された顔502の画像をビデオ作成フィードのトップバー708に表示してもよい。420において、顔の画像をカメラフィードのトップバーに表示してもよい。トップバー708に表示される検出された顔502の画像は、検出された顔502及び/又は画像オーバーレイ504がターゲット画像506と合わせ又は近似的に合わせた時間又はその時間に近い時間に(例えば、ビートに合わせて)、動画分割モデルにより生成/取得されてもよい。
【0101】
動画分割モデルが、検出された顔502及び/又は画像オーバーレイ504が、選択された音楽のビートに合わせてターゲット画像506と合わせ又は近似的に合わせた場合、トップバー708に表示させるために検出された顔502を取得するように設定されていることを、ユーザは、知っていてもよい。その結果、ユーザは、検出された顔502の取得された画像が愉快又は面白いものとなるように、自分の顔を特定の方法で歪める及び/又は制御することを試みてもよい。例えば、ユーザは滑稽な顔を作成することを試みてもよい。その結果、トップバー708に出力される取得された画像は愉快なものであってもよい。ショート動画を見る他のユーザが面白いと思う可能性を大きくするかもしれない。
【0102】
ユーザが検出された顔502及び/又は画像オーバーレイ504をターゲット画像506と合わせ又は近似的に合わせた後に、新しいターゲット画像が現れてもよい。例えば、
図8は、検出された顔502及び/又は画像オーバーレイ504を新しいターゲット画像802と合わせることを試みるユーザを表すUI 800を示す。同様に、検出された顔502及び/又は画像オーバーレイ504と、新しいターゲット画像802とが、ビートに合わせて合わせ又は近似的に合わせたかに応じて、特定のタイプのフィードバック画像を出力してもよい。検出された顔502及び/又は画像オーバーレイ504が、選択された音楽のビートに合わせてターゲット画像、例えばターゲット画像802と合わせ又は近似的に合わせるたびに、検出された顔502の追加の画像をビデオ作成フィードのトップバー708に表示してもよい。例えば、検出された顔502の追加の画像804は、検出された顔502及び/又は画像オーバーレイ504がターゲット画像802と合わせ又は近似的に合わせた時間又はその時間に近い時間に(例えば、ビートに合わせて)、動画分割モデルにより生成/取得されてもよい。追加の画像804は、以前に取得された画像704とともにトップバー708に表示されてもよい。
【0103】
図4を再び参照し、検出された顔502及び/又は画像オーバーレイ504とターゲット画像506とがビートに合わせて合わせなかったと決定した場合、方法400は416に進んでもよい。416において、ビートに合わせないフィードバックを出力させてもよい。例えば、
図9は、フィードバック画像902を示すUI 900を表す。フィードバック画像902は、検出された顔502及び/又は画像オーバーレイ504が、ビートに合わせてターゲット画像506と合わせ又は近似的に合わせなかったことを示してもよい。フィードバック画像902は、ターゲット画像506上に重ねられてもよい。例えば、フィードバック画像902(例えば、xマーク又は十字)は、笑顔ターゲット画像506の「目」の上にオーバーレイされてもよい。別の実施形態において、フィードバック画像902は、検出された顔502及び/又は画像オーバーレイ504の上に追加として又は代替としてオーバーレイされてもよい。
図9ではxマーク又は十字として表されているが、フィードバック画像902は、任意のサイズ、色、及び/又は形状であってもよい。ユーザが検出された顔502及び/又は画像オーバーレイ504をビートに合わせてターゲット画像506と合わせ又は近似的に合わせることを試みたが失敗した後に、新しいターゲット画像が現れてもよい。ユーザは、検出された顔502及び/又は画像オーバーレイ504をビートに合わせて該新しいターゲット画像と合わせることを再度試みてもよい。
【0104】
ターゲット画像を出力し、検出された顔502及び/又は画像オーバーレイ504がビートに合わせてターゲット画像と合わせたか否かを決定し、フィードバック画像を出力し、検出された顔502の画像を取得し、新しいターゲット及び/又は取得された画像のアニメーション化オーバーレイを出力する上記のプロセスは、ショート動画の持続時間について継続してもよい。ショート動画は、例えば、ユーザが検出された顔502及び/又は画像オーバーレイ504をターゲット画像と所定回数だけ合わせるまで継続してもよい。例えば、目標は7回であってもよい。ユーザが、検出された顔502を合わせ及び/又は画像オーバーレイ504を、ビートに合わせてターゲット画像と7回合わせたときに、ショート動画の記録を終了させてもよい。追加として又は代替として、ショート動画の作成は、所定の期間後に終了してもよい。例えば、ユーザが検出された顔502及び/又は画像オーバーレイ504をビートに合わせてターゲット画像に何回合わせたかにかかわらず、所定の時間後にショート動画の作成を終了させてもよい。該所定の期間は、30秒や1分間など、任意の期間であってもよい。
【0105】
422において、画像閾値及び/又は時間閾値が満たされているか否かを決定してもよい。画像閾値は、ユーザが、検出された顔502及び/又は画像オーバーレイ504をビートに合わせてターゲット画像と合わせることを試みる所定回数を示してもよい。例えば、ユーザが、検出された顔502及び/又は画像オーバーレイ504を、ビートに合わせてターゲット画像と所定回数だけ、例えば7回合わせた場合、画像閾値を満たすことができる。時間閾値は、30秒又は1分間など、任意の所定期間であってもよい。該所定期間が経過した場合、ユーザが検出された顔502及び/又は画像オーバーレイ504をビートに合わせてターゲット画像と何回合わせたかにかかわらず、時間閾値を満たすことができる。画像閾値及び/又は時間閾値のいずれも満たされていないと決定した場合、方法400は412に戻ってもよい。逆に、画像閾値及び/又は時間閾値のいずれかが満たされていると決定した場合、方法400は424に進んでもよい。424において、トップバー708に表示された全ての取得された画像を出力及び回転させてもよい。例えば、画像704、804及び904を含む、トップバー708に表示された検出された502の画像は、トップバー708から下へ移動し、検出された顔502の周りを回転するように設定されてもよい。426において、記録を終了させてもよい。ショート動画が作成(例えば、記録)された後に、ショート動画サービスの他のユーザにより見られるように、該ショート動画をショート動画サービスにアップロードしてもよい。
【0106】
上述したように、ショート動画の作成中にカメラフィードを横切って移動するアニメーション化オーバーレイは、ショート動画を作成しているユーザ以外の1人又は複数の人のユーザに属する身体部分の画像を含んでもよい。
図10は、ショート動画を作成しているユーザとは異なるユーザの1つの部分の画像を含むアニメーション化オーバーレイ1002を表すUI 1000を示す。例えば、アニメーション化オーバーレイ1002は、異なるユーザの頭部又は顔の画像を含んでもよい。異なるユーザは、友人、家族、又は全く知らない人であってもよい。例えば、異なるユーザは、上述のようにショート動画を以前に作成した、ショート動画サービス112のユーザであってもよい。異なるユーザが以上に説明したように以前にショート動画を作成した場合、そのユーザの身体部分(例えば、自分の顔)は画像として分割されて保存されていてもよい。この画像は、ショート動画の1人又は複数の人の後続の作成者により使用されてもよい。
【0107】
他のユーザの身体部分のアニメーション化オーバーレイ1002は、該ユーザが該ユーザの自分の身体部分を1つ又は複数のターゲット画像、例えばターゲット画像1004と合わせることを試みるとき、カメラフィードを横切って移動するように設定されてもよい。
図11は、ユーザが、他のユーザの身体部分のアニメーション化オーバーレイ1002がカメラフィードを横切って移動するときに、該ユーザの自分の身体部分をターゲット画像1004と合わせることを試みることを示すUI 1111の一例を示す。該他のユーザの身体部分の1つ又は複数のアニメーション化オーバーレイ1002は、カメラフィードを横切って任意の方向、例えばターゲット画像1004に向かって移動するように設定されてもよい。該他のユーザの身体部分のアニメーション化オーバーレイ1002は、任意の速度でカメラフィードを横切って移動してもよい。該他のユーザの身体部分の1つ又は複数のアニメーション化オーバーレイは、何れの時点でカメラフィードを横切って移動してもよい。
【0108】
ユーザが、選択された音楽のビートに合わせて、ユーザ自身の身体部分をターゲット画像1004と合わせ又は近似的に合わせる場合、他のユーザの身体部分のアニメーション化オーバーレイ1002に使用される画像のうちの1つ又は複数が動画作成フィードのトップバー1106に表示されてもよい。例えば、他のユーザの身体部分のアニメーション化オーバーレイ1002が、カメラフィードを横切ってターゲット画像1004に向かって移動するように設定されている場合、ターゲット画像1004、ユーザの身体部分、及びアニメーション化オーバーレイ1002は、全てビートに合わせて合わせ又は近似的に合わせてもよい。このような状況が発生するたびに、他のユーザの身体部分の特定のアニメーション化オーバーレイに使用される画像をトップバー1106に移動させてもよい。ショート動画の作成中に、他のユーザの身体部分の複数の画像1104をトップバー1106に移動させてもよい。
【0109】
図12は、
図1に示されたサービス、ネットワーク、モジュール、及び/又は装置のような、様々な態様で使用できるコンピューティング装置を示す。
図1のアーキテクチャ例に関して、メッセージサービス、インターフェースサービス、プロセッシングサービス、コンテンツサービス、クラウドネットワーク、及びクライアントはそれぞれ、
図12のコンピューティング装置1200の1つ又は複数のインスタンスにより実現されてもよい。
図12に示されるコンピュータアーキテクチャは、従来のサーバコンピュータ、ワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、ネットワーク装置、PDA、電子リーダ、デジタル携帯電話、又は他のコンピューティングノードを示し、本明細書に記載された方法を実装するなど、本明細書に記載されたコンピュータの任意の態様を実行するために使用されてもよい。
【0110】
コンピューティング装置1200は、システムバス又は他の電気通信経路を介して複数のコンポーネント又は装置に接続されることのできるプリント回路基板である基板又は「マザーボード」を含むことができる。一つ又は複数の中央処理装置(CPU)1204は、チップセット1206と結合して動作可能である。CPU 1204は、コンピューティング装置1200の操作に必要な算術演算及び論理演算を実行する標準的なプログラマブルプロセッサであってもよい。
【0111】
(複数の)CPU 1204は、一つの離散的な物理的状態から次に移行して、これらの状態を区別して変化させるスイッチング素子を操作することにより、必要な操作を実行することができる。スイッチング素子は、二つのバイナリ状態のうちの一つを維持する電子回路、例えばフリップフロップと、一つ又は複数の他のスイッチング素子の状態の論理的な組み合わせに基づいて出力状態を提供する電子回路、例えば論理ゲートとを典型的に含むことができる。これらの基本スイッチング素子を組み合わせて、レジスタ、加減算器、算術論理ユニット、浮動小数点ユニット等を含むより複雑な論理回路を作成することができる。
【0112】
(複数の)CPU 1204は、(複数の)GPUのような他の処理ユニットで拡張されてもよく、又はそれらにより置き換えられてもよい。(複数の)GPUは、グラフィック及び他の視覚化関連処理のような高度な並列計算に特化されているが必ずしも限定されていない処理ユニットを含むことができる。
【0113】
チップセット1206は、CPU 1204と、基板上の残りのコンポーネント及び装置との間のインターフェースを提供することができる。チップセット1206は、コンピューティング装置1200内の主メモリとして使用されるランダムアクセスメモリ(RAM)1208へのインターフェースを提供することができる。チップセット1206はまた、コンピューティング装置1200を起動し、様々なコンポーネントと装置との間で情報を送信するのを容易にすることができる基本ルーチンを記憶するために、コンピュータ可読記憶媒体、例えば読取り専用メモリ(ROM)1220又は不揮発性RAM(NVRAM)(図示せず)へのインターフェースを提供してもよい。本明細書で説明される態様によれば、ROM 1220又はNVRAMは、コンピューティング装置1200の操作に必要な他のソフトウェアコンポーネントを記憶することもできる。
【0114】
コンピューティング装置1200は、ローカルエリアネットワーク(LAN)を介した遠隔コンピューティングノード及びコンピュータシステムへの論理接続を使用して、ネットワーク環境で動作することができる。チップセット1206は、ギガビットイーサネットアダプタなどのネットワークインターフェースコントローラ(NIC)1222を介してネットワーク接続を提供するための機能を含むことができる。NIC 1222は、ネットワーク1216を介してコンピューティング装置1200を他のコンピューティングノードに接続することが可能であってもよい。複数のNIC 1222はコンピューティング装置1200内に存在して、コンピューティング装置を他のタイプのネットワーク及び遠隔コンピュータシステムに接続することができることを理解すべきである。
【0115】
コンピューティング装置1200は、コンピュータのために不揮発性記憶装置を提供する大容量記憶装置1228に接続されてもよい。大容量記憶装置1228は、本明細書でより詳細に説明されたシステムプログラム、アプリケーションプログラム、他のプログラムモジュール、及びデータを記憶することができる。大容量記憶装置1228は、チップセット1206に接続された記憶コントローラ1224を介してコンピューティング装置1200に接続されてもよい。大容量記憶装置1228は、一つ又は複数の物理記憶ユニットで構成されてもよい。大容量記憶装置1228は、管理コンポーネント1210を含むことができる。記憶コントローラ1224は、シリアルアタッチドSCSI(SAS)インターフェース、シリアルアドバンスドテクノロジーアタッチメント(SATA)インターフェース、ファイバチャネル(FC)インターフェース、又はコンピュータと物理記憶ユニットとの間で物理的に接続してデータを送信するための他のタイプのインターフェースを介して物理記憶ユニットとインターフェースすることができる。
【0116】
コンピューティング装置1200は、物理記憶ユニットの物理的状態を変換して記憶されている情報を反映することにより、データを大容量記憶装置1228上に記憶することができる。物理的状態の特定の変換は、様々な要因及び本明細書の異なる実施態様に依存することができる。このような要因の例には、物理記憶装置を実現するための技術、及び大容量記憶装置1228が一次記憶装置又は二次記憶装置などとして特徴を有する否かが含まれるが、これらに限定されるものではない。
【0117】
例えば、コンピューティング装置1200は、磁気ディスクドライブユニット内の特定位置の磁気特性、光学記憶ユニット内の特定位置の反射特性又は屈折特性、又は固体記憶ユニット内の特定のキャパシタ、トランジスタ又は他のディスクリートコンポーネントの電気特性を変更するために、記憶コントローラ1224を介して命令を出すことにより情報を大容量記憶装置1228に記憶することができる。本明細書の範囲及び精神から逸脱することなく、物理媒体の他の変換が可能であり、前述の例は、単にその説明を容易にするためだけに提供されている。コンピューティング装置1200はさらに、物理記憶ユニット内の一つ又は複数の特定位置の物理的状態又は特徴を検出することにより、大容量記憶装置1228から情報を読み取ることができる。
【0118】
上述の大容量記憶装置1228に加えて、コンピューティング装置1200は、プログラムモジュール、データ構造、又は他のデータなどの情報を記憶及び検索するために、他のコンピュータ可読記憶媒体にアクセスできてもよい。当業者であれば、コンピュータ可読記憶媒体は、非一時的データの記憶を提供し、コンピューティング装置1200によりアクセス可能な任意の利用可能な媒体とすることができることを理解できるであろう。
【0119】
限定ではなく、一例として、コンピュータ可読記憶媒体は、揮発性及び不揮発性、一時的コンピュータ可読記憶媒体及び非一時的コンピュータ可読記憶媒体、並びに任意の方法又は技術で実現されるリムーバブルメディア及び非リムーバブルメディアを含むことができる。コンピュータ可読記憶媒体は、RAM、ROM、消去可能なプログラマブルROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)、フラッシュメモリ又は他のソリッドステートメモリ技術、コンパクトディスクROM(CD-ROM)、デジタル多用途ディスク(DVD)、高解像度DVD(「HD-DVD」)、BLU-RAY又は他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、他の磁気記憶装置、又は所望の情報を非一時的な方法で記憶するために使用できる任意の他の媒体を含むが、これらに限定されない。
【0120】
図12に示す大容量記憶装置1228のような大容量記憶装置は、コンピューティング装置1200の操作を制御するためのオペレーティングシステムを記憶してもよい。オペレーティングシステムには、1バージョンのLINUXオペレーティングシステムが含まれてもよい。オペレーティングシステムには、マイクロソフト社の1バージョンのWINDOWS(登録商標)サーバオペレーティングシステムが含まれてもよい。別の態様によれば、オペレーティングシステムには、1バージョンのUNIX(登録商標)オペレーティングシステムを含めることができる。また、IOSやANDROID(登録商標)のような、各種携帯電話オペレーティングシステムを利用することも可能である。他のオペレーティングシステムも利用可能であることを理解すべきである。大容量記憶装置1228は、コンピューティング装置1200により使用される他のシステム又はアプリケーション及びデータを記憶することができる。
【0121】
大容量記憶装置1228又は他のコンピュータ可読記憶媒体はまた、コンピューティング装置1200にロードされると、コンピューティング装置を汎用コンピューティングシステムから本明細書で説明される態様を実装できる専用コンピュータに変換するコンピュータ実行可能命令で符号化されてもよい。上述したように、これらのコンピュータ実行可能命令は、CPU 1204がどのように状態間を遷移するかを規定することにより、コンピューティング装置1200を変換する。コンピューティング装置1200は、コンピューティング装置1200により実行されたときに本明細書に記載された方法を実行することができるコンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体にアクセスできてもよい。
【0122】
図12に示されるコンピューティング装置1200のようなコンピューティング装置は、キーボード、マウス、タッチパッド、タッチスクリーン、電子スタイラスペン、又は他のタイプの入力装置のような複数の入力装置からの入力を受信し、処理するための入出力コントローラ1232をさらに含んでもよい。同様に、入出力コントローラ1232は、コンピュータモニタ、フラットパネルディスプレイ、デジタルプロジェクタ、プリンタ、プロッタ、又は他のタイプの出力装置などのディスプレイに出力を提供することができる。コンピューティング装置1200は、
図12に示された全ての構成要素を含まなくてもよく、
図12に明示的に示されていない他の構成要素を含んでもよく、又は
図12に示されたアーキテクチャとは全く異なるアーキテクチャを利用していてもよいことを、理解すべきである。
【0123】
本明細書で説明するように、コンピューティング装置は、
図12のコンピューティング装置1200のような物理コンピューティング装置であってもよい。コンピューティングノードはまた、仮想マシンホストプロセス及び一つ又は複数の仮想マシンインスタンスを含むことができる。コンピュータ実行可能命令は、仮想マシンのコンテキスト内に格納され実行される命令を解釈及び/又は実行することにより、コンピューティング装置の物理ハードウェアにより間接的に実行されることができる。
【0124】
方法及びシステムは、特定の方法、特定のコンポーネント、又は特定の実施態様に限定されないことを理解すべきである。本明細書で使用される用語は、特定の実施形態を説明する目的のためだけに使用され、限定することを意図していないことも理解すべきである。
【0125】
明細書及び添付の特許請求の範囲において使用される場合、単数形「一」、「一つ」及び「該」は、文脈が明示的に別段の指示をしていない限り、複数の参照対象を含む。範囲は、ここでは、「約」一つの特定の値から、及び/又は「約」別の特定の値までと表されることができる。このような範囲が表される場合、別の実施形態は、該一つの特定の値から及び/又は該別の特定の値までの範囲を含む。同様に、先行詞「about」を使用することにより値を近似値として表す場合、該特定の値が他の実施形態を形成することを理解すべきである。さらに、各範囲の端点は、他の端点に対しても、他の端点から独立しても有意であることを理解すべきである。
【0126】
「任意の」又は「任意に」は、後に説明されるイベント又は状況が発生する可能性も発生しない可能性もあり、明細書には、前記イベント又は状況が発生する場合と発生しない場合が含まれることを意味する。
【0127】
本明細書の説明及び特許請求の範囲全体において、単語「含む」及びその単語の変形、例えば「含んでいる」、「包含する」は「含むが、これに限定されない」ことを意味し、例えば、他の構成要素、整数、又はステップを除外することを意図しない。「例示的」は、「~の例」を表し、好ましい又は望ましい実施形態の指示を伝えることを意図しない。「のような」は制限する意味ではなく、解釈の目的で使われる。
【0128】
記載された方法及びシステムを実行するために使用できる構成要素が記載されている。これらの構成要素の組合せ、サブセット、相互作用、グループ等を説明する際に、これらの構成要素の様々な個別及び集合的な組合せ及び順列のそれぞれに対する具体的な参照は明示的に説明されない場合があり、そのそれぞれが全ての方法及びシステムについて、本明細書で具体的に想定され、説明されることを理解すべきである。これは、記載された方法における操作を含むがこれに限定されない、本願の全ての態様に適用される。したがって、実行可能な様々な追加の操作が存在する場合、これらの追加の操作のそれぞれは、説明された方法の任意の特定の実施形態又は実施形態の組み合わせで実行可能であることを理解すべきである。
【0129】
本方法及びシステムは、以下の好ましい実施形態及びそれに含まれる例の詳細な説明、並びに添付の図面及びそれらの説明を参照することにより、より容易に理解することができる。
【0130】
当業者が理解するように、方法及びシステムは、完全なハードウェア実施形態、完全なソフトウェア実施形態、又はソフトウェア及びハードウェアの態様を組み合わせた実施形態の形態をとることができる。さらに、本方法及びシステムは、記憶媒体に具現化されたコンピュータ可読プログラム命令(例えば、コンピュータソフトウェア)を有するコンピュータ可読記憶媒体上のコンピュータプログラム製品の形態をとることができる。より具体的には、本方法及びシステムは、ウェブ実装のコンピュータソフトウェアの形態をとることができる。ハードディスク、CD-ROM、光学記憶装置又は磁気記憶装置を含む任意の適切なコンピュータ可読記憶媒体を利用することができる。
【0131】
方法、システム、装置、及びコンピュータプログラム製品のブロック図及びフローチャートを参照して、方法及びシステムの実施形態を以下に説明する。ブロック図及びフローチャートの各ブロック、並びにブロック図及びフローチャートのブロックの組み合わせは、それぞれコンピュータプログラム命令により実現されてもよいことを理解すべきである。これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理装置上で実行される命令がフローチャートの一つ又は複数のブロック内で指定された機能を実現するための手段を生成するように、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置にロードされてマシンを生成することができる。
【0132】
これらのコンピュータプログラム命令は、コンピュータ可読メモリに記憶された命令がフローチャートの一つ又は複数のブロック内で規定された機能を実現するためのコンピュータ可読命令を含む製品を生成するように、コンピュータ又は他のプログラマブルデータ処理装置を特定の方法で動作させるように指示することができるコンピュータ可読メモリに記憶されてもよい。コンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理装置上で実行される命令がフローチャートの一つ又は複数のブロック内で規定された機能を実現するためのステップを提供するように、コンピュータ又は他のプログラマブルデータ処理装置にロードされて、コンピュータ又は他のプログラマブルデータ処理装置上で一連の操作ステップを実行させて、コンピュータ実現プロセスを生成することもできる。
【0133】
上述した様々な特性及びプロセスは、互いに独立して使用されてもよく、又は様々な方法で組み合わされてもよい。全ての可能な組み合わせ及びサブ組み合わせは、本開示の範囲内に入ることを意図している。さらに、いくつかの実施において、一部の方法又はプロセスブロックを省略してもよい。本明細書で説明される方法及びプロセスは、任意の特定の順序に限定されるものではなく、それに関連するブロック又は状態は、適切な他の順序で実行されてもよい。例えば、説明されたブロック又は状態は、特別に説明された順番以外の順番で実行されてもよく、あるいは、複数のブロック又は状態は、単一のブロック又は状態内で結合されてもよい。例示的なブロック又は状態は、連続的に、並列に、又は何らかの他の方法で実行することができる。ブロック又は状態は、説明された例示的な実施形態に追加されてもよいし、開示された例示的な実施形態から削除されてもよい。本明細書に記載された例示的なシステム及びコンポーネントは、説明されたものとは異なるように設定されてもよい。例えば、説明された例示的な実施形態と比較して、要素を追加したり、削除したり、又は再配置したりすることができる。
【0134】
また、様々なアイテムは、使用中にメモリ内又は記憶装置上に記憶されるように示されており、これらのアイテム又はその一部は、メモリ管理及びデータ完全性の目的のために、メモリと他の記憶装置との間で移転されてもよいことも理解されるであろう。代替として、他の実施形態において、ソフトウェアモジュール及び/又はシステムの一部又は全部を別の装置上のメモリ内で実行し、コンピュータ間通信を介して図示のコンピューティングシステムと通信することができる。さらに、いくつかの実施形態において、システム及び/又はモジュールの一部又は全部は、他の方法で、例えば少なくとも部分的にファームウェア及び/又はハードウェアで実装又は提供されてもよく、ハードウェアは、一つ又は複数の特定用途向け集積回路(ASIC)、標準集積回路、コントローラ(例えば、適切な指令を実行することにより、また、マイクロコントローラ及び/又は埋め込みコントローラを含む)、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブル論理装置(CPLD)などを含むが、これらに限定されない。モジュール、システム、及びデータ構造の一部又は全部は、適切な装置により又は適切な接続を介して読み取るために、ハードディスク、メモリ、ネットワーク、又はポータブルメディア製品などのコンピュータ可読媒体上に(例えば、ソフトウェア指令又は構造化データとして)記憶されてもよい。システム、モジュール、及びデータ構造は、無線ベースの媒体及び有線/ケーブルベースの媒体を含む、様々なコンピュータ可読送信媒体上で、生成されたデータ信号として(例えば、搬送波又は他のアナログ又はデジタル伝搬信号の一部として)送信することもでき、コンピュータ可読送信媒体にはが含まれ、様々な形態をとる(例えば、単一又は多重化アナログ信号の一部として、又は複数の離散デジタルパケット又はフレームとする)ことができる。他の実施形態において、そのようなコンピュータプログラム製品は、他の形態をとることもできる。したがって、本発明は、他のコンピュータシステム構成で実施することができる。
【0135】
好ましい実施形態及び特定の例に関連して方法及びシステムを説明してきたが、本明細書の実施形態は全ての態様において限定的ではなく例示的であることを意図しているので、範囲を特定の実施形態に限定することは意図されていない。
【0136】
特に明記されていない限り、本明細書に記載されている方法は、その操作が特定の順序で実行することを要求するものではない。したがって、方法請求項がその操作が従うべき順序を実際に記載していない場合、又は操作が特定の順序に限定されることが請求項又は明細書に具体的に記載されていない場合、いかなる態様においても順序を推論することを意図するものではない。これは、ステップの配置や操作フローに関する論理的な問題、文法的な構成や句読点から得られる単純な意味、明細書に記載されている実施形態の数又はタイプを含む、解釈のための任意の可能な非表現的な根拠に適用される。
【0137】
当業者にとって明らかなように、本開示の範囲又は精神から逸脱することなく、様々な修正及び変更が可能である。本明細書及び本明細書に記載された実践を考慮すると、他の実施形態は当業者にとって自明であろう。本明細書及び例示的な図面は、例示的であるとのみみなされることが意図されており、その真の範囲及び精神は、以下の特許請求の範囲により示される。
【国際調査報告】