(57)【要約】  本願は、動画スタンプの生成方法、コンピュータ可読記憶媒体及びコンピュータ装置に関し、前記方法は、会話画面においてスタンプ入力パネルに入るステップと、入力パネルにおいてトリガーされたビデオ撮影イベントを検出するステップと、ビデオ撮影イベントに応答して、ビデオデータを撮影するステップと、ビデオデータに対する編集操作を取得するステップと、編集操作に従ってビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成するステップと、動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加するステップと、を含み、スタンプサムネイルは、スタンプサムネイルに対する選択イベントがスタンプ入力パネルで検出されたときに、動画スタンプを会話メッセージとして前記会話画面に表示するために用いられる。本願が提供する解決手段は動画スタンプを生成する効率を大幅に向上させることができる。【選択図】図２
2021517696.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置が実行する動画スタンプの生成方法であって、
会話画面においてスタンプ入力パネルに入るステップと、
前記スタンプ入力パネルにおいてトリガーされたビデオ撮影イベントを検出するステップと、
前記ビデオ撮影イベントに応答して、ビデオデータを撮影するステップと、
前記ビデオデータに対する編集操作を取得するステップと、
前記編集操作に従って、前記ビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成するステップと、
前記動画スタンプに対応するスタンプサムネイルを前記スタンプ入力パネルに付加するステップであって、前記スタンプ入力パネルにおいて、前記スタンプサムネイルに対する選択イベントを検出したときに、前記スタンプサムネイルは、前記動画スタンプを会話メッセージとして前記会話画面に表示するために用いられる、ステップと、を含むことを特徴とする動画スタンプの生成方法。
【請求項２】
前記ビデオ撮影イベントに応答して、ビデオデータを撮影する前記ステップは、
前記ビデオ撮影イベントに応答して、前記会話画面からビデオ撮影画面にジャンプするステップと、
リアルタイムに撮影された画像を前記ビデオ撮影画面に表示するステップと、
前記ビデオ撮影画面においてトリガーされた記録開始イベントを検出したときに、ビデオデータの記録を開始するステップと、
前記ビデオ撮影画面において、記録終了イベントがトリガーされたときに前記ビデオデータの記録が終了し、記録されたビデオデータを取得するステップと、を含むことを特徴とする請求項１に記載の動画スタンプの生成方法。
【請求項３】
前記編集操作は、背景除去操作を含むものであり、前記編集操作に従って、前記ビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成する前記ステップは、
各前記ビデオフレームの画像属性に基いて各前記ビデオフレームから顔特徴を抽出するステップと、
前記顔特徴に基づいて、各前記ビデオフレームにおける人体の輪郭情報を取得するステップと、
前記輪郭情報に基づいて各前記ビデオフレームの背景領域を取得するステップと、
前記背景領域の各ピクセル点の透明度を透明値に調整するステップと、
調整された各ビデオフレームを合成して、動画スタンプを取得するステップと、を含むことを特徴とする請求項１又は２に記載の動画スタンプの生成方法。
【請求項４】
前記編集操作は、加速操作を含むものであり、前記編集操作に従って、前記ビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成する前記ステップは、
前記加速操作された前記ビデオデータに対応するタイムスタンプ配列を算出するステップと、
前記タイムスタンプ配列中の要素値をトラバースするステップと、
トラバースが完了するまで、タイムスタンプが前記要素値に対応するビデオフレームを前記ビデオデータから選択するステップと、
選択された各ビデオフレームを合成することで、動画スタンプを取得するステップと、を含むことを特徴とする請求項１又は２に記載の動画スタンプの生成方法。
【請求項５】
前記編集操作は、スタンプ付加操作を含むものであり、前記編集操作に従って、前記ビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成する前記ステップは、
前記スタンプ付加操作に応答し、前記スタンプ入力パネルを表示するステップと、
前記スタンプ入力パネルから選択されたスタンプサムネイルに対応する付加対象となるスタンプを取得するステップと、
前記付加対象となるスタンプを前記ビデオデータの各前記ビデオフレームに付加するステップと、
スタンプ画像が付加された各ビデオフレームを合成して動画スタンプを取得するステップと、を含むことを特徴とする請求項１又は２に記載の動画スタンプの生成方法。
【請求項６】
前記付加対象となるスタンプを前記ビデオデータの各前記ビデオフレームに付加する前記ステップは、
前記付加対象となるスタンプに基づいて複数の異なるスタンプ画像を生成するステップと、
前記複数の異なるスタンプ画像を前記ビデオデータにおける各ビデオフレームにそれぞれ対応付けるステップと、
前記ビデオデータにおける各ビデオフレームに、対応する前記スタンプ画像をそれぞれ付加するステップと、を含むことを特徴とする請求項５に記載の動画スタンプの生成方法。
【請求項７】
前記編集操作は、テキスト付加操作を含むものであり、前記編集操作に従って、前記ビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成する前記ステップは、
前記テキスト付加操作に応答して、付加対象となるテキストを取得するステップと、
前記付加対象となるテキストを前記ビデオデータの各前記ビデオフレームに付加するステップと、
テキストが付加された各ビデオフレームを合成することで、動画スタンプを取得するステップと、を含むことを特徴とする請求項１又は２に記載の動画スタンプの生成方法。
【請求項８】
付加対象となるテキストを取得する前記ステップは、
テキスト入力ボックスを提供して、前記テキスト入力ボックスに入力されたテキストを付加対象となるテキストとして取得するステップ、
又は、ビデオデータ撮影時に録音した音声データを取得し、前記音声データに対して音声認識を行うことで、付加対象となるテキストを取得するステップを含むことを特徴とする請求項７に記載の動画スタンプの生成方法。
【請求項９】
動画スタンプを合成する前に、各前記ビデオフレームに含まれるピクセル点の透明度を検出するステップと、
前記透明度に基づいて、前記ピクセル点から半透明のピクセル点を取得するステップと、
各前記ビデオフレームにおける半透明のピクセル点の透明度を不透明値に調整した後で、動画スタンプを合成するステップと、をさらに含むことを特徴とする請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記会話画面におけるスタンプメッセージに対する追尾撮影操作を取得するステップと、
前記追尾撮影操作に応答して、前記会話画面からビデオ撮影画面にジャンプするステップと、
前記スタンプメッセージに対応するスタンプを半透明でビデオ撮影画面に表示するステップと、
リアルタイムに撮影されたされた画像を半透明で表示されたスタンプに重ねて表示するステップと、をさらに含むことを特徴とする請求項１〜８のいずれか１項に記載の方法。
【請求項１１】
前記ビデオデータに対する編集操作を取得せず、かつ、合成確認操作を検出した場合に、撮影した前記ビデオデータにおけるビデオフレームに基づいて直接的に合成することで、動画スタンプを取得するステップをさらに含むことを特徴とする請求項１〜８のいずれか１項に記載の方法。
【請求項１２】
コンピュターに、請求項１〜１１のいずれか１項に記載の方法を実行させるコンピュータプログラム。
【請求項１３】
プロセッサと、前記プロセッサにより実行されると、前記プロセッサに請求項１〜１１のいずれか１項に記載の方法のステップを実行させるコンピュータプログラムが記憶されているメモリとを含むことを特徴とするコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年９月２７日に提出された、出願番号が２０１８１１１３２８４４６で、発明の名称が「動画スタンプの生成方法、装置、コンピュータ可読記憶媒体及びコンピュータ装置」である中国特許出願の優先権を主張し、その全ての内容は、参照により本願に組み込むものとする。
【０００２】
本願は、コンピュータ技術の分野に関し、特に動画スタンプの生成方法、並びにそのコンピュータプログラム及びコンピュータ装置に関する。
【背景技術】
【０００３】
インターネットの急速な発展に伴い、インスタントメッセージングアプリケーションを含む様々なオンラインソーシャルアプリケーションが出ている。これらのソーシャルアプリケーションを使用する過程では、言いたいことをより具象的に、生き生きとして表現するために、ユーザーは動画スタンプを常に送信することがあり、これにより、ユーザー間のコミュニケーションの柔軟性及び面白さを大幅に高めることができる。
【０００４】
現在、多くの動画スタンプは一般的にソーシャルアプリケーションの開発者により事前に設計されており、ユーザーがダウンロード又は保存した後に使用することができるが、これらのスタンプはユーザーの個人的ニーズを満たすことができない。カスタマイズした動画スタンプを使用できるようにするために、ユーザーは特別のツールを使用して、自分が好む素材を処理した後に動画スタンプを生成し、次に、自分が便利に使用できるように動画スタンプをソーシャルアプリケーションに導入する。明らかに、このような動画スタンプを生成する方式は効率が非常に低い。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願は、動画スタンプの生成方法、コンピュータ可読記憶媒体及びコンピュータ装置を提供し、関連技術における動画スタンプを生成する方式の効率が低いという技術的課題を解決することができる。
【課題を解決するための手段】
【０００６】
動画スタンプの生成方法は、コンピュータ装置が実行する動画スタンプの生成方法は、
会話画面においてスタンプ入力パネルに入るステップと、
前記スタンプ入力パネルにおいてトリガーされたビデオ撮影イベントを検出するステップと、
前記ビデオ撮影イベントに応答して、ビデオデータを撮影するステップと、
前記ビデオデータに対する編集操作を取得するステップと、
前記編集操作に従って、前記ビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成するステップと、
前記動画スタンプに対応するスタンプサムネイルを前記スタンプ入力パネルに付加するステップと、を含み、前記スタンプ入力パネルにおいて、前記スタンプサムネイルに対する選択イベントを検出したときに、前記スタンプサムネイルは、前記動画スタンプを会話メッセージとして前記会話画面に表示するために用いられる。
【０００７】
動画スタンプの生成装置は、
会話画面においてスタンプ入力パネルに入り、前記スタンプ入力パネルにおいてトリガーされたビデオ撮影イベントを検出する検出モジュールと、
前記ビデオ撮影イベントに応答して、ビデオデータを撮影する撮影モジュールと、
前記ビデオデータに対する編集操作を取得する取得モジュールと、
前記編集操作に従って、前記ビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成する合成モジュールと、
前記動画スタンプに対応するスタンプサムネイルを前記スタンプ入力パネルに付加する付加モジュールと、を含み、前記スタンプ入力パネルにおいて、前記スタンプサムネイルに対する選択イベントを検出したときに、前記スタンプサムネイルは、前記動画スタンプを会話メッセージとして前記会話画面に表示するために用いられる。
【０００８】
コンピュータ可読記憶媒体には、プロセッサにより実行されると、上記動画スタンプの生成方法のステップを実行するコンピュータプログラムが記憶されている。
【０００９】
コンピュータ装置は、プロセッサと、前記プロセッサにより実行されると、前記プロセッサに上記動画スタンプの生成方法のステップを実行させるコンピュータプログラムが記憶されているメモリとを含む。
【図面の簡単な説明】
【００１０】
【図１】一実施例における動画スタンプの生成方法の応用環境の図である。
【図２】一実施例における動画スタンプの生成方法のフローチャートである。
【図３】一実施例における、会話画面にスタンプ入力パネルを表示するインタフェースの概略図である。
【図４】一実施例における、スタンプ入力パネルのお気に入りタブにスタンプ撮影アイコンを表示するステップのインタフェースの概略図である。
【図５】一実施例におけるビデオ撮影画面のインタフェースの概略図である。
【図６】一実施例における会話画面でのスタンプメッセージ追尾撮影のステップのフローチャートである。
【図７】一実施例における会話画面でのスタンプメッセージ追尾撮影のインタフェースの概略図である。
【図８】一実施例における、ビデオ撮影画面に編集アイコンを表示するインタフェースの概略図である。
【図９】一実施例における、動画スタンプをスタンプ入力パネルに付加するインタフェースの概略図である。
【図１０】具体的な応用シナリオで動画スタンプを生成する全体のフローチャートである。
【図１１】一実施例における、選択されたスタンプサムネイルに対応する付加対象となるスタンプをビデオデータに付加するインタフェースの概略図である。
【図１２】一実施例における、取得されたテキストをビデオデータに付加するインタフェースの概略図である。
【図１３】具体的な実施例における、編集操作に従ってビデオデータにおける各ビデオフレームを処理した後に動画スタンプを合成するフローチャートである。
【図１４】具体的な実施例における、動画スタンプを生成するフローチャートである。
【図１５】一実施例における動画スタンプの生成装置の構造ブロック図である。
【図１６】一実施例におけるコンピュータ装置の構造ブロック図である。
【発明を実施するための形態】
【００１１】
本願の目的、技術的解決手段及び利点をより明確にするために、以下に図面及び実施例を参照しながら、本願をさらに詳細に説明する。理解すべきこととして、ここで記述された具体的な実施例は本願を説明するためのものに過ぎず、本願を限定するものではない。
【００１２】
図１は、一実施例における動画スタンプの生成方法の応用環境の図である。図１に表示するように、該動画スタンプの生成方法は、動画スタンプ生成システムに応用される。該動画スタンプ生成システムは、端末１１０及びサーバ１２０を含む。端末１１０とサーバ１２０は、ネットワークを介して接続される。端末１１０は、具体的には、携帯電話、タブレットコンピュータ、ノートブックコンピュータなどのうちの少なくとも１つであり得る携帯端末であってもよい。サーバ１２０は、独立したサーバ又は複数のサーバで構成されるサーバクラスタで実現されてもよい。
【００１３】
端末１１０は、会話画面においてスタンプ入力パネルに入り、スタンプ入力パネルにおいてトリガーされたビデオ撮影イベントを検出し、ビデオ撮影イベントに応答して、ビデオデータを撮影してもよい。端末１１０は、また、ビデオデータに対する編集操作を取得し、編集操作に従ってビデオデータにおける各ビデオフレームを処理した後に動画スタンプを合成してもよい。端末１１０は、動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加してもよい。スタンプサムネイルは、スタンプサムネイルに対する選択イベントがスタンプ入力パネルで検出されたときに、動画スタンプを会話メッセージとして会話画面に表示するために用いられる。
【００１４】
なお、上記応用環境はあくまで一例であり、いくつかの実施例において、端末１１０は、撮影したビデオデータと取得した該ビデオデータに対する編集操作をサーバ１２０に送信してもよく、サーバ１２０は、編集操作に従ってビデオデータにおける各ビデオフレームを処理した後に動画スタンプを合成し、合成された動画スタンプに対応するスタンプサムネイルを端末１１０にフィードバックし、端末１１０は、該スタンプサムネイルをスタンプ入力パネルに付加する。このようにして、端末１１０は、スタンプ入力パネルにおける該スタンプサムネイルに対するトリガー操作を検出したときに、サーバ１２０から該スタンプサムネイルに対応する動画スタンプを取得して、該動画スタンプを会話メッセージとして会話画面に表示することができる。
【００１５】
図２に表示するように、一実施例において、動画スタンプの生成方法を提供する。該方法はコンピュータ装置に応用され、本実施例は、主に該方法を上記図１における端末１１０に応用することを例として説明する。図２に表示するように、該動画スタンプの生成方法は具体的に以下のステップＳ２０２〜ステップＳ２１２を含む。
【００１６】
Ｓ２０２、会話画面においてスタンプ入力パネルに入る。
【００１７】
会話画面は、会話メッセージを表示する画面であり、例えば、ソーシャルアプリケーションにおける会話の両側が送信した会話メッセージを表示する画面であってもよい。ソーシャルアプリケーションは、ソーシャルネットワークに基づいてオンラインソーシャルインタラクションを行うアプリケーションであり、ソーシャルアプリケーションは一般的にインスタントメッセージング機能を有し、ソーシャルアプリケーションはインスタントメッセンジャーなどであってもよく、会話メッセージはインスタント会話メッセージであってもよい。
【００１８】
スタンプは意思表現効果を有する画像であり、該スタンプを送信したユーザーの心の動き、気分、感情又は特定の意味を反映することができる。スタンプは、静止スタンプ及び動画スタンプを含む。一般的に、静止スタンプは、静止画像であり、ＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ、ポータブルネットワークグラフィックス）というファイルフォーマットであってもよく、動画スタンプは、複数フレームの画像から合成される動画であり、ＧＩＦ（Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ、グラフィックス・インターチェンジ・フォーマット）というファイルフォーマットであってもよい。
【００１９】
スタンプ入力パネルは、各スタンプに対応するスタンプサムネイルを格納するコンテナであり、ユーザーはスタンプ入力パネルにおいて新しいスタンプを付加することができる。スタンプ入力パネルは、異なるカテゴリ又は異なる由来のスタンプに対応するスタンプサムネイルを格納する複数のタブ、例えば、ソーシャルアプリケーションの開発者が設計したスタンプに対応するスタンプサムネイルを格納するための常用タブ、現在のユーザーがお気に入りにしたスタンプに対応するスタンプサムネイルを格納するためのお気に入りタブ、新しいスタンプをダウンロード、保存又は導入するための付加タブなどを含む。一般的に、会話画面において、スタンプ入力パネルとテキスト入力パネルを切り替えることができ、ユーザーは、テキスト入力パネルに切り替えた場合にテキスト入力ボックスにテキストを入力して、通信相手にテキストメッセージを送信することができ、スタンプ入力パネルに切り替えた場合にスタンプを入力して、通信相手にスタンプメッセージを送信することができる。スタンプ入力パネルとテキスト入力パネルは、一括して会話パネルと呼ばれてもよい。
【００２０】
具体的には、端末は会話画面にスタンプ入力アイコンを示し、該スタンプ入力アイコンに対するトリガーイベントを検出したときに、会話画面にスタンプ入力パネルを示して、スタンプ入力パネルに入ることができる。端末は、現在のユーザーによりトリガーされた、スタンプ入力パネルにおけるいずれかのスタンプサムネイルに対するトリガー操作を検出したときに、該スタンプサムネイルに対応するスタンプを取得し、取得したスタンプを、通信相手のログインアカウントにログインしている他の端末に送信し、取得したスタンプを現在の会話画面に表示することができる。本実施例において、スタンプサムネイルに対するトリガー操作は、クリック操作、押し操作、ドラッグ操作又はスライド操作であってもよい。
【００２１】
図３は一実施例における、会話画面にスタンプ入力パネルを表示する概略図である。図３に表示するように、端末は、会話画面３０に入力ボックス３１を表示することができ、入力ボックス３１においてスタンプ入力アイコン３２に対するトリガー操作を検出したときに、会話画面３０にスタンプ入力パネル３３を表示する。
【００２２】
Ｓ２０４、入力パネルにおいてトリガーされたビデオ撮影イベントを検出する。
【００２３】
ビデオ撮影イベントは、ビデオの撮影をトリガーするイベントである。具体的には、スタンプ入力パネルには、各スタンプに対応するスタンプサムネイルを含むだけでなく、スタンプ撮影アイコンも含み、端末は、現在のユーザーがトリガーした、該スタンプ撮影アイコンに対するビデオ撮影イベントを検出することができる。該ユーザーがトリガーした、該スタンプ撮影アイコンに対するビデオ撮影イベントは、上記した、スタンプ入力パネルにおいてトリガーされたビデオ撮影イベントであってもよい。ビデオ撮影イベントは、該スタンプ撮影アイコンに対するクリック操作であってもよい。
【００２４】
一実施例において、スタンプ入力パネルは複数のタブを含んでもよく、端末は、これらの複数のタブのいずれか１つに、スタンプ撮影アイコンに対するビデオ撮影イベントを該タブで検出できるように、スタンプ撮影アイコンを示してもよい。端末は、トリガーされたスタンプ撮影アイコンの動画撮影イベントをいずれのタブでも検出できるように、各タブのいずれにもスタンプ撮影アイコンを示してもよい。
【００２５】
図４に表示するように、一実施例における、スタンプ入力パネルのお気に入りタブにスタンプ撮影アイコンを表示する概略図である。図４に表示するように、ユーザーは、スタンプ入力パネルにおけるお気に入りタブ４０に入り、スタンプ撮影アイコン４１をクリックして、ビデオデータの撮影をトリガすることができる。
【００２６】
Ｓ２０６、ビデオ撮影イベントに応答して、ビデオデータを撮影する。
【００２７】
ビデオデータは、動画スタンプを生成する素材であり、撮影された複数のビデオフレームを含む。具体的には、端末は、スタンプ入力パネルにおいてトリガーされたビデオ撮影イベントを検出したときに、該ビデオ撮影イベントに応答して、配置された撮影装置を、ビデオデータを撮影するように制御する。撮影装置は、例えば、端末に配置されたフロントカメラ又はリアカメラであってもよい。
【００２８】
一実施例において、端末は、ビデオ撮影イベントを検出したときに、会話画面からビデオ撮影画面にジャンプし、ビデオ撮影画面において撮影装置を直接呼び出してビデオデータの撮影を開始し、撮影が完了するまで、撮影したビデオデータをビデオ撮影画面に表示することができる。端末は、ユーザーがトリガーした撮影終了イベントを検出したときに、撮影を終了して、ビデオデータを取得することができる。
【００２９】
一実施例において、ステップＳ２０６、ビデオ撮影イベントに応答して、ビデオデータを撮影することは、ビデオ撮影イベントに応答して、会話画面からビデオ撮影画面にジャンプするステップと、ビデオ撮影画面にリアルタイムに撮影された画像を表示するステップと、ビデオ撮影画面においてトリガーされた記録開始イベントを検出したときに、ビデオデータの記録を開始するステップと、ビデオ撮影画面において記録終了イベントがトリガーされるときに終了し、記録されたビデオデータを取得するステップと、を含む。
【００３０】
記録開始イベントは、ユーザーによりトリガーされた、記録アイコンに対するトリガーイベント、例えば、記録アイコンに対する押し操作、クリック操作又はスライド操作などであってもよく、記録終了イベントは、記録アイコンの状態が押されている状態から押されていない状態に切り替わったというイベントであってもよく、又はビデオデータの記録時間が目標時間に達したというイベントであってもよい。
【００３１】
具体的には、端末は、リアルタイムに撮影された画像をビデオ撮影画面に表示することができ、例えば、ユーザーは、端末に配置されたフロントカメラでユーザーの顔を含むリアルタイム画像を撮影することができ、配置されたリアカメラでユーザーの顔を含むリアルタイム画像を撮影することもできる。ビデオ撮影画面においてトリガーされた記録開始イベントを検出したときに、ビデオデータの記録を開始し、ビデオ撮影画面においてトリガーされた記録終了イベントが検出されるときに終了し、記録されたビデオデータを取得する。
【００３２】
図５に表示するように、一実施例におけるビデオ撮影画面のインタフェースの概略図である。図５に表示するように、ユーザーは、ビデオ撮影画面５０において記録アイコン５１を長押しして、ビデオデータの記録の開始をトリガーし、押しを終了するか又はビデオデータ記録時間が、例えば５〜１０秒である目標時間に達したときに、記録されたビデオデータを取得することができる。
【００３３】
図６に表示するように、一実施例において、動画スタンプの生成方法は、さらに以下を含む。
【００３４】
Ｓ６０２、会話画面におけるスタンプメッセージに対する追尾撮影操作を取得する。
【００３５】
スタンプメッセージは、内容がスタンプである会話メッセージである。追尾撮影操作も、ユーザーがトリガーするビデオ撮影イベントである。ユーザーは、スタンプ入力パネルにおいてビデオ撮影イベントをトリガーしてもよく、スタンプメッセージによりビデオ撮影イベントをトリガーしてもよい。
【００３６】
具体的には、会話画面に示されたスタンプメッセージに対して、端末は、ユーザーがトリガーした該スタンプメッセージに対する追尾撮影操作を検出することにより、ビデオデータの撮影をトリガーし、ビデオデータを取得することができ、さらに、ビデオデータに対する編集操作を取得し、編集操作に従ってビデオデータにおける各ビデオフレームを処理した後に動画スタンプを合成し、動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加するというステップを実行する。
【００３７】
一実施例において、端末は、会話画面のいずれか１つのスタンプメッセージ中のスタンプに対する押し操作を検出したときに、該スタンプに対応する詳細メニューを示し、ユーザーによりトリガーされた該詳細メニューにおける「追尾撮影」というオプションに対するトリガー操作を検出し、該スタンプメッセージに対する追尾撮影操作を取得する。
【００３８】
Ｓ６０４、追尾撮影操作に応答して、会話画面からビデオ撮影画面にジャンプする。
【００３９】
具体的には、スタンプメッセージに対する追尾撮影操作が検出された後に、会話画面からビデオ撮影画面にジャンプし、リアルタイムに撮影された画像をビデオ撮影画面に表示することができる。
【００４０】
Ｓ６０６、スタンプメッセージに対応するスタンプを半透明でビデオ撮影画面に表示する。
【００４１】
Ｓ６０８、リアルタイムに撮影された画像と半透明で示されたスタンプを重ねて表示する。
【００４２】
具体的には、端末は、スタンプメッセージに対応するスタンプを、リアルタイムに撮影された画像の前景として半透明で示し、ビデオ撮影画面に表示する。これにより、実際に撮影された画像と半透明のスタンプを重ねてビデオ撮影画面に表示することができ、リアルタイムに撮影された画像に対してビデオデータを記録することをガイドすることができる。端末は、ビデオ撮影画面においてトリガーされた記録開始イベントを検出したときに、リアルタイムに撮影された画像に対してビデオデータを記録することを開始し、ビデオ撮影画面において記録終了イベントがトリガーされるときに終了し、記録されたビデオデータを取得することができる。なお、半透明で示されるスタンプは、ビデオデータの記録をガイドするためのみに用いられ、ビデオデータの記録が終了した後に取得されたデータは半透明で示されるスタンプを含まない。
【００４３】
一実施例において、ステップＳ６０６では、スタンプメッセージに対応するスタンプ中のテキストを元のスタイルでビデオ撮影画像に示し、スタンプメッセージに対応するスタンプ中のテキスト以外の内容を半透明でビデオ撮影画像に示してもよく、すなわち、テキストは不透明でビデオ撮影画面に示される。すると、ステップＳ６０８では、リアルタイムに撮影されたた画像を、該スタンプ中の元のスタイルで示されたテキスト及び半透明で示された内容と重ねてビデオ撮影画面に示してもよい。
【００４４】
一実施例において、スタンプメッセージに対応するスタンプが静止スタンプである場合に、該静止スタンプは、リアルタイムに撮影された画像に、前景として半透明で重ねられる。スタンプメッセージに対応するスタンプが動画スタンプである場合に、該動画スタンプは、リアルタイムに撮影された画像に、前景として半透明で繰り返して再生する。
【００４５】
図７に表示するように、一実施例における会話画面でのスタンプメッセージ追尾撮影のインタフェースの概略図である。図７では、ユーザーが会話画面７０におけるスタンプメッセージ７１をクリックすると、該スタンプメッセージ中のスタンプに対応する詳細メニュー７２がポップアップし、ユーザーは該詳細メニュー７２における「追尾撮影」というオプション７３をクリックすることにより、会話画面７０からビデオ撮影画面７４にジャンプするようにトリガーし、該ビデオ撮影画面７４でビデオデータを撮影する。
【００４６】
Ｓ２０８、ビデオデータに対する編集操作を取得する。
【００４７】
なお、編集操作は、記録されたビデオデータをさらに処理する操作である。端末は、記録されたビデオデータのビデオカバーをビデオ撮影画面に示し、各編集操作に対応する編集アイコンを示し、ユーザーがこれらの編集アイコンによりトリガーした、記録されたビデオデータに対する編集操作を取得することができる。編集操作は、ビデオデータの背景を除去する背景除去操作、ビデオデータの再生を加速する加速操作、ビデオデータに別のスタンプを付加するスタンプ付加操作、ビデオデータに別の文字を付加する文字付加操作などを含む。スタンプ付加操作は、例えば、スタンプ貼り操作であってもよく、文字付加操作は、例えば、字幕貼り操作であってもよい。
【００４８】
図８に表示するように、一実施例における、ビデオ撮影画面に編集アイコンを表示する概略図である。図８に表示するように、ビデオ撮影画面８０において、記録されたビデオデータのビデオカバー８１を示し、ユーザーが該ビデオ撮影画面８０において背景除去アイコン８２、再生加速アイコン８３、スタンプ貼りアイコン８４又は字幕貼りアイコン８５によりトリガーしたビデオデータに対する編集操作を取得する。
【００４９】
Ｓ２１０、編集操作に従ってビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成する。
【００５０】
なお、ビデオデータは複数のビデオフレームを含み、端末は、取得したビデオデータに対する編集操作に従ってビデオデータにおける各ビデオフレームを処理し、処理後の各ビデオフレームを動画スタンプに合成することができ、合成された動画スタンプのファイルフォーマットはＧＩＦであってもよい。端末は、ユーザーがトリガーした合成確認操作を検出したときに、処理後の各ビデオフレームを動画スタンプに合成してもよく、編集操作が完了した後に処理後の各ビデオフレームを動画スタンプに合成してもよい。
【００５１】
一実施例において、動画スタンプの生成方法は、さらに、ビデオデータに対する編集操作が取得されず、合成確認操作が検出された場合に、撮影されたビデオデータにおけるビデオフレームに基づいて直接的に合成することで、動画スタンプを取得することを含む。
【００５２】
具体的には、端末は、ユーザーがトリガーしたビデオデータに対する編集操作をビデオ撮影画面で検出せず、ユーザーがトリガーしたビデオデータに対する合成確認操作を該画面で該画面で検出した場合に、動画スタンプのファイルフォーマットに対応する符号化方式で、撮影されたビデオデータにおける各ビデオフレームを直接的に符号化し、符号化された各ビデオフレームを動画スタンプに合成することができる。
【００５３】
一実施例において、動画スタンプの生成方法は、さらに、動画スタンプを合成する前に、各ビデオフレームに含まれるピクセル点の透明度を検出するステップと、透明度に基づいて、含まれるピクセル点から半透明のピクセル点を取得するステップと、各ビデオフレームにおける半透明のピクセル点の透明度を不透明値に調整した後に、動画スタンプを合成するステップと、を含む。
【００５４】
なお、各ピクセル点の透明度は、各ピクセルの不透明度パラメータの値で表されてもよく、不透明度パラメータの値が大きいほど、該ピクセル点は不透明になる。不透明度パラメータの値は、百分率（例えば（０％〜１００％））、整数（例えば０〜２５５）又は実数（例えば０〜１）で表してもよい。例えば、あるピクセル点の不透明パラメータの値が０％であれば、そのピクセル点は完全に透明であり、つまり見えないものであり、不透明パラメータの値が１００％であれば、該ピクセル点は完全に不透明であり、不透明パラメータの値が０％〜１００％のピクセル点は背景を透き通して表示でき、これらのピクセル点は半透明のピクセル点である。
【００５５】
生成された動画スタンプが透明度を有して異なるバックグラウンドのインタフェースで表示される場合に異なる効果を表示するため、動画スタンプが元の意味を表現できないことを回避するために、処理後の各ビデオフレームを動画スタンプに合成する前に、端末は、各ビデオフレームにおける各ピクセル点の透明度を検出し、各ビデオフレームにおける半透明のピクセル点の透明度を不透明値に調整した後に、各ビデオフレームを動画スタンプに合成することができる。
【００５６】
Ｓ２１２、動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加する。スタンプサムネイルは、スタンプサムネイルに対する選択イベントがスタンプ入力パネルで検出されたときに、動画スタンプを会話メッセージとして会話画面に表示するために用いられる。
【００５７】
なお、スタンプサムネイルは１つのスタンプに対応する。静止スタンプの場合、スタンプサムネイルは静止スタンプの縮小画像であってもよく、動画スタンプの場合、動画スタンプの最初フレーム又は最後のフレームの縮小画像をスタンプサムネイルとして使用してもよい。スタンプサムネイルは、スタンプに対応して記憶される。
【００５８】
具体的には、端末は、各ビデオフレームを最終的に合成して取得した動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加することができ、それにより、端末は、スタンプ入力パネルで該スタンプサムネイルに対する選択イベントを検出したときに、該スタンプサムネイルに対応する動画スタンプを通信相手に送信し、現在のユーザーが使用している端末の会話画面に該動画スタンプを表示することができる。端末は、スタンプ入力パネルにおけるいずれか１つのスタンプに対する除去操作を取得し、除去操作に従ってスタンプ入力パネルから該スタンプを除去することもできる。
【００５９】
図９に表示するように、一実施例における、動画スタンプをスタンプ入力パネルに付加するインタフェースの概略図である。ユーザーがビデオ撮影画面９０でビデオデータの編集を完了した後に、合成確認アイコン９１をクリックすると、端末は、編集操作に従ってビデオデータにおける各ビデオフレームを処理した後に動画スタンプを合成するステップを実行し、かつ合成された動画スタンプに対応するスタンプサムネイル９２をスタンプ入力パネル９３に付加することができ、ユーザーは、該スタンプサムネイル９２をクリックして、対応する動画スタンプ９４を通信相手に送信し、該動画スタンプを会話画面９５に表示することができる。
【００６０】
一実施例において、現在のユーザーが異なる装置で該動画スタンプを使用できるようにするために、端末は、現在のユーザーのユーザー情報を取得し、生成された動画スタンプを該ユーザー情報に対応してサーバに記憶することができる。例えば、ソーシャルアプリケーションはウィーチャット（Ｗｅｃｈａｔ）であってもよく、端末は、生成された動画スタンプを、現在のユーザーのウィーチャットアカウントに対応して記憶することができ、ユーザーは様々な装置で該ウィーチャットアカウントにログインする場合に、サーバから該ウィーチャットアカウントに対応する動画スタンプを取得することができる。
【００６１】
図１０に表示するように、具体的な応用シナリオで動画スタンプを生成する全体のフローチャートである。まず、会話画面のスタンプ入力パネル又はスタンプメッセージにおいてビデオ撮影イベントをトリガーし、次にビデオ撮影画面に入ってビデオデータを撮影し、次に、ユーザーは必要に応じて、背景除去アイコン、加速アイコン、スタンプ付加アイコン又はテキスト付加アイコンをクリックして、ビデオデータを編集し、次に、ユーザーは合成確認ボタンをクリックして、編集後のビデオデータに基づいて動画スタンプを生成し、最後に、動画スタンプをユーザー情報に対応して記憶し、かつスタンプ入力パネルに付加する。
【００６２】
上記動画スタンプの生成方法では、会話画面におけるスタンプ入力パネルに入った後に、ユーザーがトリガーしたビデオ撮影イベントをスタンプ入力パネルで直接検出して該ビデオ撮影イベントに応答して動画スタンプを生成するための素材としてビデオデータを撮影することができ、独自に素材を撮影する必要がない。撮影されたビデオデータに対する編集操作を取得する場合に、ユーザーの編集操作に従ってビデオデータにおける各ビデオフレームに対して対応処理を行った後に動画スタンプを合成してもよく、合成された動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加すると、ユーザーは付加された動画スタンプをスタンプ入力パネルから選択して通信相手に送信することができ、ユーザーの個人的ニーズを満たすだけでなく、特別のツールを使用する必要もなく、動画スタンプの生成効率を大幅に向上させることができる。
【００６３】
一実施例において、編集操作は、背景除去操作を含むものであり、ステップＳ２１０、編集操作に従ってビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成することは、各ビデオフレームの画像属性に基いて各ビデオフレームから顔特徴を抽出するステップと、顔特徴に基づいて、各ビデオフレームにおける人体の輪郭情報を取得するステップと、輪郭情報に基づいて各ビデオフレームの背景領域を取得するステップと、背景領域の各ピクセル点の透明度を透明値に調整するステップと、調整された各ビデオフレームを合成することで、動画スタンプを取得するステップと、を含む。
【００６４】
端末がリアルタイムに撮影された画像に人の顔が含まれる場合、例えば、ユーザーがフロントカメラで撮影した画像にユーザーの顔が含まれる場合に、端末は、該画像を記録して取得したビデオデータを素材として動画スタンプを合成し、個性的で、より面白い動画スタンプを取得することができる。
【００６５】
背景除去操作は、ユーザーがビデオ撮影画面における背景除去アイコンによりトリガーしたイベントであり、端末は、該背景除去操作を検出した後に、ビデオデータにおける各ビデオフレームに対して背景除去処理を行うことができる。ビデオフレームの画像属性は、ビデオフレームにおける各ピクセル点のピクセル値、色成分値、色調、飽和度、明るさ、カラーチャネルなどを含む。顔特徴は、ビデオフレームに含まれる顔特徴を表現できる特徴である。
【００６６】
具体的には、端末は撮影されたビデオデータの背景除去操作を検出した後に、訓練された機械学習モデルにより各ビデオフレームの画像属性に基いて各ビデオフレームから、各ビデオフレームに含まれる情報を表現できる顔特徴を抽出し、抽出された顔特徴に基づいて、各ビデオフレームから人の顔器官又は予め定義された特徴点の、二次元座標で表されてもよい位置を取得し、複数の人の顔器官の位置又は複数の特徴点のビデオフレームにおける位置に基づいて、人体の、顔型の輪郭情報及び体型の輪郭情報を含む輪郭情報を取得することができる。このようにして、端末は、輪郭情報に基づいて各ビデオフレームにおける人の顔と人体を除く背景領域を取得し、背景領域における各ピクセル点の透明度を完全に透明になる透明度値に調整して、背景領域を見えないようにすることで、撮影されたビデオデータに対する背景除去処理を実現し、背景が除去された後の各ビデオフレームに基づいて動画スタンプを合成する。
【００６７】
本実施例において、ビデオフレームにおける背景領域を取得した後に、背景領域における各ピクセル点のピクセル値を透明値に調整することにより、各ビデオフレームに対する背景除去処理をを実現し、合成された動画スタンプに乱雑な背景がないようにする。また、ユーザーがビデオ撮影画面で背景除去操作を直接的にトリガーして、撮影されたビデオデータから背景を除去することができ、特別のツールで背景除去処理を行った後に動画スタンプを合成する必要がなく、動画スタンプの生成効率を向上させる。
【００６８】
一実施例において、編集操作は、加速操作を含むものであり、ステップＳ２１０、編集操作に従ってビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成することは、加速操作後のビデオデータに対応するタイムスタンプ配列を算出するステップと、タイムスタンプ配列中の要素値をトラバースするステップと、トラバースが完了するまで、タイムスタンプが要素値に対応するビデオフレームをビデオデータから選択するステップと、選択されたビデオフレームを合成することで、動画スタンプを取得するステップと、を含む。
【００６９】
加速操作は、ユーザーがビデオ撮影画面における加速アイコンによりトリガーしたイベントであり、端末は、該イベントを検出したときに、撮影されたビデオデータを加速処理し、加速された動画スタンプを取得することができる。タイムスタンプ配列は、撮影されたビデオデータのタイムスタンプで構成される配列であり、加速操作後の対応するタイムスタンプ配列は、ビデオデータの元のタイムスタンプから抽出されたいくつかのタイムスタンプで構成される配列である。抽出されたタイムスタンプの数は加速の倍率に関連する。
【００７０】
具体的には、端末は、ビデオデータが加速された後のタイムスタンプ配列を算出した後に、該タイムスタンプ配列中の各要素値をトラバースし、トラバースされた要素値に基づいてビデオデータから対応するビデオフレームを選択し、次に選択されたビデオフレームを動画スタンプに合成する。
【００７１】
一実施例において、加速操作後のビデオデータに対応するタイムスタンプ配列を算出することは、具体的に、撮影されたビデオデータの記録時間を取得し、記録時間及びビデオデータのフレームレートに基づいてビデオデータにおける各ビデオフレームの元のタイムスタンプを算出し、加速操作に対応する加速倍率を取得し、加速倍率に基づいて元のタイムスタンプから間隔をあけて元のタイムスタンプを選択し、選択されたタイムスタンプに基づいて加速操作後の対応するタイムスタンプ配列を生成する。
【００７２】
例えば、撮影されたビデオデータの時間が５秒間であり、該ビデオデータのフレームレートが４０であり、すなわち１秒ごとに４０フレームのビデオであれば、該ビデオデータの各ビデオフレームに対応する元のタイムスタンプは、
０．０２５、０．０５０、０．０７５、０．１００、０．１２５、０．１５０、０．１７５、０．２００、．．．、４．９００、４．９２５、４．９５０、４．９７５、５．０００であり、
加速操作に対応する倍率が２倍であれば、端末は、加速操作後の対応するタイムスタンプ配列中の各要素値をそれぞれ、
０５０、０．１００、０．１５０、０．２００、０．２５０、０．３００、．．．、４．８５０、４．９００、４．９５０、５．０００と算出する。
【００７３】
一実施例において、撮影されたビデオデータの時間、加速操作に対応する倍率がいずれも予め定義されていれば、対応する加速操作後の対応するタイムスタンプ配列も予め定義されてもよく、端末は予め定義されたタイムスタンプ配列に基づいてビデオデータから対応するビデオフレームを抽出するだけでよい。
【００７４】
上記実施例において、加速操作後の対応するタイムスタンプ配列を算出することにより、対応するビデオフレームを元のビデオデータから抽出し、抽出されたビデオフレームを合成した後に動画スタンプを取得することができ、撮影されたビデオデータに対する加速再生を実現する。また、特別のツールで撮影されたビデオデータに対して加速処理を行う必要がなく、動画スタンプの生成効率を向上させる。
【００７５】
一実施例において、編集操作は、スタンプ付加操作を含むものであり、編集操作に従ってビデオデータにおける各ビデオフレームを処理することで、動画スタンプを合成するステップＳ２１０は、スタンプ付加操作に応答し、スタンプ入力パネルを表示するステップと、スタンプ入力パネルから選択されたスタンプサムネイルに対応する付加対象となるスタンプを取得するステップと、付加対象となるスタンプのスタンプ画像をビデオデータの各ビデオフレームに付加するステップと、スタンプ画像を付加した各ビデオフレームを合成して動画スタンプを取得するステップと、を含む。
【００７６】
スタンプ付加操作は、ユーザーがビデオ撮影画面におけるスタンプ付加アイコンによりトリガーしたイベントであり、端末は、該イベントを検出したときに、撮影されたビデオデータに対してスタンプ付加処理を行って、スタンプを付加した動画スタンプを取得することができ、添加されたスタンプは、スタンプ入力パネルからのスタンプである。
【００７７】
具体的には、端末は、ビデオデータに対するスタンプ付加操作を取得する場合に、ビデオ撮影画面にスタンプ入力パネルを示し、ユーザーがスタンプ入力パネルから選択したスタンプサムネイルに対応する付加対象となるスタンプを取得し、付加対象となるスタンプをビデオデータにおける各ビデオフレームに付加することで、スタンプを付加したビデオフレームを動画スタンプに合成することができる。スタンプ入力パネルにおけるスタンプは、ユーザーが自分の好みに応じてお気に入りにしたスタンプに対応するサムネイルを含み、ユーザーがカスタマイズした動画スタンプに対応するサムネイルをも含むため、ユーザーは自分の好みに応じて撮影したビデオデータにスタンプを付加することができ、このように合成された動画スタンプは、ユーザーの個人的ニーズにより適合している。
【００７８】
図１１に表示するように、一実施例における、選択されたスタンプサムネイルに対応する付加対象となるスタンプをビデオデータに付加するインタフェースの概略図である。図１１に表示するように、端末は、ユーザーがビデオ撮影画面１１０１においてスタンプ付加アイコン１１０２をクリックすることによりトリガーしたスタンプ付加操作を検出した後に、スタンプ入力パネル１１０３をビデオ撮影画面１１０１にポップアップし、ユーザーがスタンプ入力パネル１１０３におけるスタンプサムネイル１１０４をクリックすると、端末は、ユーザーにより選択されたスタンプサムネイルに対応するスタンプをビデオデータに付加することができる。
【００７９】
一実施例において、付加対象となるスタンプのスタンプ画像をビデオデータの各ビデオフレームに付加するステップは、付加対象となるスタンプに基づいて複数の異なるスタンプ画像を生成するステップと、複数の異なるスタンプ画像をビデオデータにおける各ビデオフレームにそれぞれ対応付けるステップと、対応するスタンプ画像を、ビデオデータにおける各ビデオフレームにそれぞれ付加するステップと、を含む。
【００８０】
一実施例において、付加対象となるスタンプは静止スタンプであってもよい。端末は、該付加対象となるスタンプをビデオデータの各ビデオフレームに直接的に付加することができる。端末は、該付加対象となるスタンプに対応する複数の異なる仕様のスタンプ画像を生成し、これらの複数の異なる仕様のスタンプ画像を各ビデオフレームにそれぞれ対応付け、対応するスタンプ画像を各ビデオフレームに付加してもよい。このようにすれば、合成された動画スタンプを再生する場合に、付加されたスタンプは動的に動く効果を呈することができる。
【００８１】
一実施例において、異なる仕様のスタンプ画像は、付加対象となるスタンプとは内容が同じであるが、サイズが異なるスタンプ画像であってもよい。例えば、撮影されたビデオデータのフレームレートは４０であるとする。端末は、ユーザーがスタンプ入力パネルから選択したスタンプサムネイルに対応する付加対象となるスタンプを取得した後に、付加対象となるスタンプに対応する４つの異なるサイズのスタンプ画像を生成することができ、それぞれ大サイズスタンプ画像、中サイズスタンプ画像、小サイズスタンプ画像及び超小サイズスタンプ画像である。すると、撮影された１秒ごとにのビデオデータに対して、第１のフレームから第５のフレームに大サイズスタンプ画像を付加し、第６のフレームから第１０のフレームに中サイズスタンプ画像を付加し、第１１のフレームから第１５のフレームに小サイズスタンプ画像を付加し、第１６のフレームから第２０のフレームに超小サイズスタンプ画像を付加し、第２１のフレームから第２５のフレームに大サイズスタンプ画像を付加し．．．、このように類推して、対応するスタンプ画像をビデオデータの各ビデオフレームに付加することができる。
【００８２】
一実施例において、付加対象となるスタンプは動画スタンプであってもよい。端末は、付加対象となるスタンプにおける各フレームのスタンプ画像を取得し、複数の異なるスタンプ画像をビデオデータにおける各ビデオフレームにそれぞれ対応付け、対応するスタンプ画像を、ビデオデータにおける各ビデオフレームにそれぞれ付加することができる、付加対象となるスタンプの時間がビデオデータの合計時間よりも短い場合に、付加対象となるスタンプに対応する複数の異なるスタンプ画像をビデオデータの各ビデオフレームに循環して付加することができ、付加対象となるスタンプの時間がビデオデータの合計時間と等しい場合に、付加対象となるスタンプに対応する複数の異なるスタンプ画像を対応するビデオフレームに１つずつ付加することができ、付加対象となるスタンプの時間がビデオデータの合計時間よりも長い場合に、付加対象となるスタンプに対応する複数のスタンプ画像から、前の複数のスタンプ画像を切り出してビデオデータの各ビデオフレームに対応付けることができ、或いは、付加対象となるスタンプに対応する複数のスタンプ画像から、対応するスタンプ画像を切り出してビデオデータの各ビデオフレームに対応付け、対応するスタンプ画像を対応するビデオフレームに付加することができる。
【００８３】
上記実施例において、スタンプ入力パネルから選択されたスタンプを撮影されたビデオデータに付加することにより、付加内容が単一で、ユーザーが好む内容を付加できないという問題を回避する。例えば、いくつかのステッカーしか付加できないし、これらのステッカーは開発者が設計した定常なステッカーであるため、生成された動画スタンプはユーザーの個人的ニーズを満たすことができない。また、ビデオデータの撮影を完了した後に、ユーザーはビデオデータにスタンプを直接的に付加することができ、特別のツールで撮影されたビデオデータにスタンプを貼り付ける必要がなく、動画スタンプの生成効率を向上させる。
【００８４】
一実施例において、編集操作は、テキスト付加操作を含むものであり、編集操作に従ってビデオデータにおける各ビデオフレームを処理して動画スタンプを合成するステップＳ２１０は、テキスト付加操作に応答して、付加対象となるテキストを取得するステップと、付加対象となるテキストをビデオデータの各ビデオフレームに付加するステップと、テキストを付加した各ビデオフレームを合成して動画スタンプを取得するステップと、を含む。
【００８５】
テキスト付加操作は、ユーザーがビデオ撮影画面におけるテキスト付加アイコンによりトリガーしたイベントであり、端末は、該イベントを検出したときに、撮影されたビデオデータに対してテキスト付加処理を行って、テキストを付加した動画スタンプを取得することができる。一実施例において、付加対象となるテキストを取得するステップは、テキスト入力ボックスを提供して、テキスト入力ボックスに入力したテキストを付加対象となるテキストとして取得するステップ、又は、ビデオデータ撮影時に録音した音声データを取得し、音声データに対して音声認識を行って付加対象となるテキストを取得するステップを含む。つまり、付加されるテキストは、ユーザーが入力したテキストであってもよく、ビデオデータ中の音声データに対して音声認識を行って取得したテキストであってもよい。
【００８６】
具体的には、端末は、ビデオデータに対するテキスト付加操作を取得すると、ビデオ撮影画面にテキスト入力パネルを示し、ユーザーがテキスト入力パネルのテキスト入力ボックスに入力したテキストを付加対象となるテキストとして取得し、取得した付加対象となるテキストをビデオデータの各ビデオフレームに付加することにより、テキストを付加したビデオフレームを動画スタンプに合成することができる。端末は、ビデオデータに対するテキスト付加操作を取得すると、ビデオデータ中の音声データに対して音声認識を行い、識別されたテキストを付加対象となるテキストとして各ビデオフレームに付加してもよい。端末は、音声認識により取得したテキストをテキスト入力パネルに示してもよく、ユーザーは、付加対象となるテキストの正確さを保証するためにテキストを編集することができる。
【００８７】
図１２に表示するように、一実施例における、取得されたテキストをビデオデータに付加するインタフェースの概略図である。図１２に表示するように、端末は、ユーザーがビデオ撮影画面１２０１でテキスト付加アイコン１２０２をクリックすることによりトリガーしたテキスト付加操作を検出した後に、テキスト入力パネル１２０３がビデオ撮影画面１２０１にポップアップし、ユーザーはテキスト入力パネル１２０３により「びっくり」というテキストを入力し、「完了（チェックマーク）」をクリックすると、端末はユーザーが入力したテキストをビデオデータに付加することができる。
【００８８】
一実施例において、端末は、付加対象となるテキストをビデオデータの各ビデオフレームに直接的に付加することができる。端末は、取得したテキストに基づいて、異なるフォントサイズ又は異なるフォントカラーの複数のテキストを生成し、異なるフォントサイズ又は異なるフォントカラーの複数のテキストをビデオデータの各ビデオフレームにそれぞれ対応付け、対応するテキストを、ビデオデータの各ビデオフレームにそれぞれ付加してもよい。このようにして、合成された動画スタンプを再生するときに、付加されたテキストは動的に動く効果を呈することができる。
【００８９】
例えば、撮影されたビデオデータのフレームレートは４０であるとする。端末は、ユーザーがテキスト入力パネルに入力したテキストを取得した後に、付加されたテキストに対応する４つの異なるフォントサイズのスタンプ画像を生成することができ、それぞれ大サイズテキスト、中サイズテキスト、小サイズテキスト及び超小サイズテキストである。すると、撮影された１秒ごとにのビデオデータに対して、第１のフレームから第５のフレームに大サイズテキストを付加し、第６のフレームから第１０のフレームに中サイズテキストを付加し、第１１のフレームから第１５のフレームに小サイズテキストを付加し、第１６のフレームから第２０のフレームに超小サイズテキストを付加し、第２１のフレームから第２５のフレームに大サイズテキストを付加し．．．、このように類推して、対応するテキストをビデオデータの各ビデオフレームに付加することができる。
【００９０】
上記実施例において、ビデオ撮影画面にテキスト入力パネルを表示することにより、ユーザーが入力したテキストを直接的に取得するか又は音声認識によりテキストを取得して、撮影されたビデオデータに直接的に付加することができ、他のツールでテキストを付加した後に動画スタンプを合成する必要がなく、動画スタンプを生成する効率を向上させる。
【００９１】
図１３に表示するように、具体的な実施例における、編集操作に従ってビデオデータにおける各ビデオフレームを処理した後に動画スタンプを合成するフローチャートである。図１３に表示するように、まず、ビデオデータに対する加速操作が取得されたかどうかを判断し、取得された場合に、加速操作後に撮影されたビデオデータに対応するタイムスタンプ配列を取得し、タイムスタンプ配列の要素値をトラバースし、要素値に対応するビデオフレームをビデオデータから選択し、取得されていない場合に、ビデオデータの各ビデオフレームを取得し、次に、ビデオデータに対する背景除去操作が取得されたかどうかを判断し、取得された場合に、選択又は取得されたビデオフレームの背景領域における各ピクセル点の透明度を透明値に調整し、次に、ビデオデータに対するスタンプ付加操作又はテキスト付加操作が取得されたかどうかを判断し、取得された場合に、選択又は取得されたビデオフレームに、取得された付加対象となるスタンプ又は付加対象となるテキストを描画し、さらに、選択又は取得されたビデオフレームの４つの丸い角を切り取り、ビデオフレームにおける半透明のピクセル点の透明度を不透明値に調整し、最終的に、処理されたビデオフレームを符号化標準に従って動画スタンプに合成することができる。
【００９２】
図１４に表示するように、具体的な実施例における、動画スタンプを生成するフローチャートである。図１４に表示するように、該方法は、以下のステップを含む。
【００９３】
Ｓ１４０２、会話画面においてスタンプ入力パネルに入って、スタンプ入力パネルにおいてトリガーされたビデオ撮影イベントを検出し、ビデオ撮影イベントに応答して、会話画面からビデオ撮影画面にジャンプし、リアルタイムに撮影された画像をビデオ撮影画面に示し、
或いは、Ｓ１４０４、会話画面におけるスタンプメッセージに対する追尾撮影操作を取得し追尾撮影操作に応答して、会話画面からビデオ撮影画面にジャンプし、スタンプメッセージに対応するスタンプを半透明でビデオ撮影画面に示し、リアルタイムに撮影された画像と半透明で示されたスタンプを重ねて表示する。
【００９４】
Ｓ１４０６、ビデオ撮影画面においてトリガーされた記録開始イベントを検出したときに、ビデオデータの記録を開始する。
【００９５】
Ｓ１４０８、ビデオ撮影画面において記録終了イベントがトリガーされるときに終了し、記録されたビデオデータを取得する。
【００９６】
Ｓ１４１０、ビデオデータに対する編集操作を取得する。
【００９７】
Ｓ１４１２、編集操作が背景除去操作を含む場合に、各ビデオフレームの画像属性に基いて各ビデオフレームから顔特徴を抽出し、顔特徴に基づいて、各ビデオフレームにおける人体の輪郭情報を取得し、輪郭情報に基づいて各ビデオフレームの背景領域を取得し、背景領域の各ピクセル点の透明度を透明値に調整し、調整された各ビデオフレームを合成して、動画スタンプを取得する。
【００９８】
Ｓ１４１４、編集操作が加速操作を含む場合に、加速操作後のビデオデータに対応するタイムスタンプ配列を算出し、タイムスタンプ配列中の要素値をトラバースし、トラバースが完了するまで、タイムスタンプが要素値に対応するビデオフレームをビデオデータから選択し、選択されたビデオフレームを合成して、動画スタンプを取得する。
【００９９】
Ｓ１４１６、編集操作がスタンプ付加操作を含む場合に、スタンプ付加操作に応答し、スタンプ入力パネルを示し、スタンプ入力パネルから選択されたスタンプサムネイルに対応する付加対象となるスタンプを取得し、付加対象となるスタンプに基づいて複数の異なるスタンプ画像を生成し、複数の異なるスタンプ画像をビデオデータにおける各ビデオフレームにそれぞれ対応させ、対応するスタンプ画像を、ビデオデータにおける各ビデオフレームにそれぞれ付加し、スタンプ画像を付加した各ビデオフレームを合成して動画スタンプを取得する。
【０１００】
Ｓ１４１８、編集操作がテキスト付加操作を含む場合に、テキスト付加操作に応答して、テキスト入力ボックスを提供し、テキスト入力ボックスに入力されたテキストを付加対象となるテキストとして取得するか、又は、ビデオデータ撮影時に録音した音声データを取得し、取得された音声データに対して音声認識を行って付加対象となるテキストを取得し、付加対象となるテキストをビデオデータの各ビデオフレームに付加し、テキストを付加した各ビデオフレームを合成して動画スタンプを取得する。
【０１０１】
Ｓ１４２０、動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加し、スタンプサムネイルは、スタンプサムネイルに対する選択イベントがスタンプ入力パネルで検出されたときに、動画スタンプを会話メッセージとして会話画面に表示するために用いられる。
【０１０２】
上記動画スタンプの生成方法では、会話画面におけるスタンプ入力パネルに入った後に、ユーザーがトリガーしたビデオ撮影イベントをスタンプ入力パネルで直接検出して該ビデオ撮影イベントに応答して動画スタンプを生成するための素材としてビデオデータを撮影することができ、独自に素材を撮影する必要がない。撮影されたビデオデータに対する編集操作を取得する場合に、ユーザーの編集操作に従ってビデオデータにおける各ビデオフレームに対して対応処理を行った後に動画スタンプを合成してもよく、合成された動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加すると、ユーザーは付加された動画スタンプをスタンプ入力パネルから選択して通信相手に送信することができ、ユーザーの個人的ニーズを満たすだけでなく、特別のツールを使用する必要もなく、動画スタンプの生成効率を大幅に向上させることができる。
【０１０３】
図１４は、一実施例における動画スタンプの生成方法のフローチャートである。理解すべきこととして、図１４のフローチャートの各ステップは、矢印の指した順序で示されているが、これらのステップは、必ずしも矢印の指した順序で実行されるものではない。本明細書で明確に説明しない限り、これらのステップの実行は、厳密な順序に制限されず、他の順序で実行されてもよい。さらに、図１４の少なくとも一部のステップは、複数のサブステップ又は複数の段階を含んでよく、これらのサブステップ又は段階は、必ずしも同じ時刻で実行されるものではなく、異なる時刻で実行されてもよく、これらのサブステップ又は段階の実行順序も、必ずしも順に行われるものではなく、その他のステップ又はその他のステップのサブステップ或いは段階の少なくとも一部と順番に又は交互に実行されてもよい。
【０１０４】
一実施例において、図１５に表示するように、動画スタンプ生成装置１５００が提供され、該動画スタンプ生成装置１５００は、
会話画面においてスタンプ入力パネルに入り、スタンプ入力パネルにおいてトリガーされたビデオ撮影イベントを検出する検出モジュール１５０２と、
ビデオ撮影イベントに応答して、ビデオデータを撮影する撮影モジュール１５０４と、
ビデオデータに対する編集操作を取得する取得モジュール１５０６と、
編集操作に従ってビデオデータにおける各ビデオフレームを処理して動画スタンプを合成する合成モジュール１５０８と、
動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加する付加モジュール１５１０と、を含み、スタンプサムネイルは、スタンプサムネイルに対する選択イベントがスタンプ入力パネルで検出されたときに、動画スタンプを会話メッセージとして会話画面に表示するために用いられる。
【０１０５】
一実施例において、撮影モジュール１５０４は、ビデオ撮影イベントに応答して、会話画面からビデオ撮影画面にジャンプするジャンプモジュールと、リアルタイムに撮影された画像をビデオ撮影画面に表示する表示モジュールと、ビデオ撮影画面においてトリガーされた記録開始イベントを検出したときに、ビデオデータの記録を開始する記録モジュールと、ビデオ撮影画面において記録終了イベントがトリガーされるときに終了し、記録されたビデオデータを取得するビデオデータ取得モジュールと、を含む。
【０１０６】
一実施例において、編集操作は、背景除去操作を含むものであり、合成モジュール１５０８は、さらに、各ビデオフレームの画像属性に基いて各ビデオフレームから顔特徴を抽出し、顔特徴に基づいて、各ビデオフレームにおける人体の輪郭情報を取得し、輪郭情報に基づいて各ビデオフレームの背景領域を取得し、背景領域の各ピクセル点の透明度を透明値に調整し、調整された各ビデオフレームを合成して、動画スタンプを取得する。
【０１０７】
一実施例において、編集操作は、加速操作を含むものであり、合成モジュール１５０８は、さらに、加速操作後のビデオデータに対応するタイムスタンプ配列を算出し、タイムスタンプ配列中の要素値をトラバースし、トラバースが完了するまで、タイムスタンプが要素値に対応するビデオフレームをビデオデータから選択し、選択されたビデオフレームを合成して、動画スタンプを取得する。
【０１０８】
一実施例において、編集操作は、スタンプ付加操作を含むものであり、合成モジュール１５０８は、さらに、スタンプ付加操作に応答し、スタンプ入力パネルを示し、スタンプ入力パネルから選択されたスタンプサムネイルに対応する付加となるスタンプを取得し、付加対象となるスタンプをビデオデータの各ビデオフレームに付加し、スタンプ画像を付加した各ビデオフレームを合成して動画スタンプを取得する。
【０１０９】
一実施例において、合成モジュール１５０８は、さらに、付加対象となるスタンプに基づいて複数の異なるスタンプ画像を生成し、複数の異なるスタンプ画像をビデオデータにおける各ビデオフレームにそれぞれ対応させ、対応するスタンプ画像を、ビデオデータにおける各ビデオフレームにそれぞれ付加する。
【０１１０】
一実施例において、編集操作は、テキスト付加操作を含むものであり、合成モジュール１５０８は、さらに、テキスト付加操作に応答して、付加対象となるテキストを取得するテキスト取得モジュールと、付加対象となるテキストをビデオデータの各ビデオフレームに付加するテキスト付加モジュールと、を含み、合成モジュールは、さらに、テキストを付加した各ビデオフレームを合成して動画スタンプを取得する。
【０１１１】
一実施例において、テキスト取得モジュールは、さらに、テキスト入力ボックスを提供して、テキスト入力ボックスに入力したテキストを付加対象となるテキストとして取得する。一実施例において、テキスト取得モジュールは、さらに、ビデオデータ撮影時に録音した音声データを取得し、音声データに対して音声認識を行って付加対象となるテキストを取得する。
【０１１２】
一実施例において、動画スタンプ生成装置１５００は、さらに、動画スタンプを合成する前に、各ビデオフレームに含まれるピクセル点の透明度を検出し、透明度に基づいて、含まれるピクセル点から半透明のピクセル点を取得し、各ビデオフレームにおける半透明のピクセル点の透明度を不透明値に調整した後に、動画スタンプを合成する透明度調整モジュールを含む。
【０１１３】
一実施例において、動画スタンプ生成装置１５００は、さらに、会話画面におけるスタンプメッセージに対する追尾撮影操作を取得し、追尾撮影操作に応答して、会話画面からビデオ撮影画面にジャンプし、スタンプメッセージに対応するスタンプを半透明でビデオ撮影画面に示し、リアルタイムに撮影された画像と半透明で示されたスタンプを重ねて表示する追尾撮影モジュールを含む。
【０１１４】
一実施例において、合成モジュール１５０８は、ビデオデータに対する編集操作が取得されず、合成確認操作が検出された場合に、撮影されたビデオデータにおけるビデオフレームに基づいて直接的に合成して、動画スタンプを取得する。
【０１１５】
上記動画スタンプ生成装置１５００は、会話画面におけるスタンプ入力パネルに入った後に、ユーザーがトリガーしたビデオ撮影イベントをスタンプ入力パネルで直接検出して該ビデオ撮影イベントに応答して動画スタンプを生成するための素材としてビデオデータを撮影することができ、独自に素材を撮影する必要がない。撮影されたビデオデータに対する編集操作を取得する場合に、ユーザーの編集操作に従ってビデオデータにおける各ビデオフレームに対して対応処理を行った後に動画スタンプを合成してもよく、合成された動画スタンプに対応するスタンプサムネイルをスタンプ入力パネルに付加すると、ユーザーは付加された動画スタンプをスタンプ入力パネルから選択して通信相手に送信することができ、ユーザーの個人的ニーズを満たすだけでなく、特別のツールを使用する必要もなく、動画スタンプの生成効率を大幅に向上させることができる。
【０１１６】
図１６は、一実施例におけるコンピュータ装置の内部構造図を表示する。該コンピュータ装置は具体的に図１の端末１１０であってもよい。図１６に表示するように、該コンピュータ装置は、システムバスにより接続されたプロセッサ、メモリ、ネットワークインタフェース、入力装置及びディスプレイスクリーンを含む。メモリは、不揮発性記憶媒体及び内部メモリを含む。該コンピュータ装置の不揮発性記憶媒体には、オペレーティングシステムが記憶され、プロセッサによって実行されると、プロセッサに動画スタンプの生成方法を実現させるコンピュータプログラムも記憶されてもよい。該内部メモリには、プロセッサによって実行されると、プロセッサに動画スタンプの生成方法を実行させるコンピュータプログラムが記憶されてもよい。コンピュータ装置のディスプレイスクリーンは、液晶ディスプレイスクリーン又は電子インクディスプレイスクリーンであってもよく、コンピュータ装置の入力装置は、ディスプレイスクリーンに覆われたタッチ層であってもよく、コンピュータ装置の筐体に設けられたキー、トラックボール又はタッチパッドであってもよく、外付けのキーボード、タッチパッド又はマウス等であってもよい。コンピュータ装置のカメラは、フロントカメラ又はリアカメラであってもよく、コンピュータ装置の音声撮影装置は、マイクであってもよい。
【０１１７】
当業者が理解できるように、図１６に示される構造は、本願の手段に関連する一部の構造のブロック図に過ぎず、本願の手段が適用するコンピュータ装置を限定するものではなく、具体的なコンピュータ装置は、図に表示するものよりも多い又は少ない部材を含んでもよく、いくつかの部材を組み合わせてもよく、異なる部材配置を有してもよい。
【０１１８】
一実施例において、本願係る動画スタンプ生成装置１５００は、図１６に示されるコンピュータ装置上で実行可能なコンピュータプログラムの形態で実現されてもよい。コンピュータ装置のメモリには、図１５に示される検出モジュール１５０２、撮影モジュール１５０４、取得モジュール１５０６、合成モジュール１５０８及び付加モジュール１５１０など、動画スタンプ生成装置１５００を構成する各プログラムモジュールが記憶されてもよい。各プログラムモジュールで構成されるコンピュータプログラムは、プロセッサに本明細書で説明される本願の各実施例の動画スタンプの生成方法のステップを実行させる。
【０１１９】
例えば、図１６に示されるコンピュータ装置は、図１５に示される動画スタンプ生成装置１５００における検出モジュール１５０２によりステップＳ２０２及びステップＳ２０４を実行することができる。コンピュータ装置は、撮影モジュール１５０４によりステップＳ２０６を実行することができる。コンピュータ装置は、取得モジュール１５０６によりステップＳ２０８を実行することができる。コンピュータ装置は、合成モジュール１５０８によりステップＳ２１０を実行することができる。コンピュータ装置は、付加モジュール１５１０によりステップＳ２１２を実行することができる。
【０１２０】
一実施例において、プロセッサと、プロセッサにより実行されると、プロセッサに上記動画スタンプの生成方法のステップを実行させるコンピュータプログラムが記憶されているメモリとを含むコンピュータ装置を提供する。ここで、動画スタンプの表示方法のステップは、上記各実施例の動画スタンプの生成方法のステップであってもよい。
【０１２１】
一実施例において、プロセッサにより実行されると、プロセッサに上記動画スタンプの生成方法のステップを実行させるコンピュータプログラムが記憶されているコンピュータ可読記憶媒体を含むコンピュータ装置を提供する。ここで、動画スタンプの表示方法のステップは、上記各実施例の動画スタンプの生成方法のステップであってもよい。
【０１２２】
当業者であれば理解できるように、上記方法実施例の全部又は一部の流れは、コンピュータプログラムが関連ハードウェアを命令することにより実現され、前記プログラムが不揮発性コンピュータ可読記憶媒体に記憶することができ、該プログラムが実行されるとき、上記各方法実施例の流れを含んでもよい。本願に係る各実施例に用いられる、メモリ、ストレージ、データベース又は他の媒体への任意の参照は、いずれも不揮発性及び／又は揮発性メモリを含んでもよい。非揮発性メモリは、読み取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）又はフラッシュメモリを含んでもよい。揮発性メモリは、ランダムアクセスメモリ（ＲＡＭ）又は外部キャッシュメモリを含んでもよい。限定ではなく例示として、ＲＡＭは、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、デュアルデータレートＳＤＲＡＭ（ＤＤＲＳＤＲＡＭ）、強化ＳＤＲＡＭ（ＥＳＤＲＡＭ）、同期リンク（Ｓｙｎｃｈｌｉｎｋ）ＤＲＡＭ（ＳＬＤＲＡＭ）、メモリバス（Ｒａｍｂｕｓ）ダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトメモリバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）及びメモリバスダイナミックＲＡＭ（ＲＤＲＡＭ）などの様々な形態で得られる。
【０１２３】
以上の実施例の各技術的特徴を任意に組み合わせることができ、簡単に説明するために、上記実施例における各技術的特徴のすべての可能性のある組み合わせをいずれも説明せず、しかしながら、これらの技術的特徴の組み合わせに矛盾が存在しないと、いずれも本明細書に記載の範囲に属するべきであると考えられる。
【０１２４】
上述した実施例は、本願のいくつかの実施形態のみを示し、その説明が具体的で詳細であるが、それにより本願の特許の範囲を限定するものと理解されるべきではない。注意すべきこととして、当業者であれば、本願の構想から逸脱しない前提で、さらにいくつかの変形及び修正を行うこともでき、これらがいずれも本願の保護範囲に属する。したがって，本願の特許の保護範囲は添付の請求項を基準とすべきである。
【図１】
2021517696.tif 000003
【図２】
2021517696.tif 000004
【図３】
2021517696.tif 000005
【図４】
2021517696.tif 000006
【図５】
2021517696.tif 000007
【図６】
2021517696.tif 000008
【図７】
2021517696.tif 000009
【図８】
2021517696.tif 000010
【図９】
2021517696.tif 000011
【図１０】
2021517696.tif 000012
【図１１】
2021517696.tif 000013
【図１２】
2021517696.tif 000014
【図１３】
2021517696.tif 000015
【図１４】
2021517696.tif 000016
【図１５】
2021517696.tif 000017
【図１６】
2021517696.tif 000018
【国際調査報告】
2021517696.tif 000019
2021517696.tif 000020
2021517696.tif 000021
2021517696.tif 000022