(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】ビデオにオブジェクトを表示する方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
H04N 21/854 20110101AFI20240709BHJP
G06T 7/20 20170101ALI20240709BHJP
【FI】
H04N21/854
G06T7/20 300A
(21)【出願番号】P 2022530155
(86)(22)【出願日】2020-11-18
(86)【国際出願番号】 CN2020129842
(87)【国際公開番号】W WO2021104130
(87)【国際公開日】2021-06-03
【審査請求日】2022-05-24
(31)【優先権主張番号】201911196331.6
(32)【優先日】2019-11-29
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジュゴ,ジンジン
(72)【発明者】
【氏名】ニ,グアンヤオ
(72)【発明者】
【氏名】ヤン,ホイ
【審査官】鈴木 順三
(56)【参考文献】
【文献】米国特許第06722987(US,B2)
【文献】特開2007-079673(JP,A)
【文献】米国特許出願公開第2018/0268609(US,A1)
【文献】特開2009-231988(JP,A)
【文献】特開2001-137541(JP,A)
【文献】特開2013-030125(JP,A)
【文献】特開2013-135835(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 - 21/858
G06T 7/00 - 7/90
(57)【特許請求の範囲】
【請求項1】
撮像素子が取り込んだビデオを取得して表示することと、
前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示することとを含み、
ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含み、
第1のトリガ条件を検出したことに応じて、前記ビデオに前記目標オブジェクトの消失プロセスを表示することをさらに含み、
ここで、前記第1のトリガ条件は、前記ビデオに第2の目標動作が出現することであり、
ここで、前記ビデオにおける前記第2の目標動作の表示位置は、前記目標オブジェクトの表示範囲内にある、
ビデオにオブジェクトを表示する方法。
【請求項2】
前記目標オブジェクトの生成プロセスは、具体的に、
前記目標オブジェクトが、第1のサイズ閾値の大きさにて前記第1の目標動作の表示位置に出現することと、
前記目標オブジェクトの大きさが第1のサイズ閾値から、第2のサイズ閾値に達するまで大きくなることとを含み、
ここで、前記第1のサイズ閾値は、前記第2のサイズ閾値よりも小さい
ことを特徴とする請求項1に記載のビデオにオブジェクトを表示する方法。
【請求項3】
前記ビデオに目標オブジェクトの生成プロセスを表示した後に、
前記ビデオに前記目標オブジェクトの動きプロセスを表示することをさらに含み、
ここで、前記目標オブジェクトの動きプロセスは、前記目標オブジェクトが移動すること、及び/又は、前記目標オブジェクトが回転すること、及び/又は、前記目標オブジェクトのサイズが変化することを含む
ことを特徴とする請求項1または2に記載のビデオにオブジェクトを表示する方法。
【請求項4】
前記目標オブジェクトが移動することは、具体的に、
前記目標オブジェクトが、第1の移動速度と第1の移動方向とによって定められた第1の線形軌跡に沿って表示位置を移動することを含む
ことを特徴とする請求項3に記載のビデオにオブジェクトを表示する方法。
【請求項5】
前記目標オブジェクトが回転することは、具体的に、
前記目標オブジェクトが、第1の回転方向と第1の角速度とによって定められた第1の回転軌跡に沿って回転することを含む
ことを特徴とする請求項3に記載のビデオにオブジェクトを表示する方法。
【請求項6】
前記目標オブジェクトのサイズが変化することは、
前記目標オブジェクトの大きさが、第3のサイズ閾値と第4のサイズ閾値との間で変化することを含む
ことを特徴とする請求項3に記載のビデオにオブジェクトを表示する方法。
【請求項7】
前記目標オブジェクトが移動することは、具体的に、
前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが、前記第1の線形軌跡から、第2の移動速度と第2の移動方向とにより定められた第2の線形軌跡に切り替えて表示位置を移動することをさらに含む
ことを特徴とする請求項4に記載のビデオにオブジェクトを表示する方法。
【請求項8】
前記目標オブジェクトが回転することは、具体的に、
前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが、前記第1の回転軌跡から、第2の回転方向と第2の角速度とによって定められた第2の回転軌跡に切り替えて回転することを含む
ことを特徴とする請求項5に記載のビデオにオブジェクトを表示する方法。
【請求項9】
前述した、前記ビデオに前記目標オブジェクトの消失プロセスを表示することは、
前記目標オブジェクトの消失シーケンスフレームを取得することと、
前記ビデオに前記消失シーケンスフレームを再生することと、
前記消失シーケンスフレームの再生が終了すると、前記目標オブジェクトを前記ビデオから消失させることとを含む
ことを特徴とする請求項1に記載のビデオにオブジェクトを表示する方法。
【請求項10】
前記ビデオにおける手のキーポイントを検出することと、
前記手のキーポイントのうちの人差し指の指先のキーポイントと手のひらのキーポイントとの第1の距離を計算することと、
前記手のキーポイントのうちの中指の第2の関節のキーポイントと手のひらのキーポイントとの第2の距離を計算することと、
第1の距離と第2の距離とが所定の関係を満たすことに応じて、前記第2の目標動作が検出されたと判定し、前記人差し指の指先のキーポイントの位置を前記第2の目標動作の表示位置に決定することとをさらに含む
ことを特徴とする請求項1に記載のビデオにオブジェクトを表示する方法。
【請求項11】
前記撮像素子が前記ビデオに取り込んだ対象である第2のオブジェクトの変形により形成された第1のオブジェクトが前記目標オブジェクト内において呈されている
ことを特徴とする請求項1乃至10のいずれか一項に記載のビデオにオブジェクトを表示する方法。
【請求項12】
ビデオにオブジェクトを表示する装置であって、
撮影素子が取り込んだビデオを取得して表示するためのビデオ表示モジュールと、
前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示するための目標オブジェクト表示モジュールとを含み、ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含み、
前記目標オブジェクト表示モジュールは、第1のトリガ条件を検出したことに応じて、前記ビデオに前記目標オブジェクトの消失プロセスを表示することにさらに用いられ、
ここで、前記第1のトリガ条件は、前記ビデオに第2の目標動作が出現することであり、
ここで、前記ビデオにおける前記第2の目標動作の表示位置は、前記目標オブジェクトの表示範囲内にある、
装置。
【請求項13】
コンピュータ読み取り可能な命令を記憶するためのメモリと、
前記コンピュータ読み取り可能な命令を実行するプロセッサであって、前記プロセッサが実行されると、請求項1乃至11のいずれか一項に記載のビデオにオブジェクトを表示する方法を実施させるためのプロセッサとを含む
ことを特徴とする電子機器。
【請求項14】
コンピュータによって実行されると、前記コンピュータに請求項1乃至11のいずれか一項に記載のビデオにオブジェクトを表示する方法を実行させるコンピュータ読み取り可能な命令を記憶するための非一時的コンピュータ読み取り可能な記憶媒体。
【請求項15】
請求項1乃至11のいずれか一項に記載のビデオにオブジェクトを表示する方法を
コンピュータに実行させるため
のコンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本開示は、2019年11月29日に中国専利局へ提出された、出願番号が201911196331.6、出願名称が「ビデオにオブジェクトを表示する方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体」である中国特許出願の優先権を主張し、同出願の内容の全ては、ここに参照として取り込まれる。
【0002】
本開示は、画像処理分野に関し、特に、ビデオにオブジェクトを表示する方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0003】
コンピュータネットワークの発展やスマートフォンの普及に伴い、普通のユーザは単調な絵や文字だけで自分の感情を表現することに対してもはや満足できない。より多様なコンテンツ及び形態を呈し、直観的な感覚をもたらすことができるビデオはユーザに強く愛用され、ますます流行しており、普通のユーザがオリジナルのビデオを制作する傾向になっている。一方、オリジナルの自撮りビデオの表現は、味気なく、同時に、映像作品におけるビデオのエフェクトの運用が益々豊富になり、コンテンツ表現の形態も多様化し、ビデオのエフェクトは、成功した映像作品のサポートと保障であると言える。
【0004】
しかし、現在のビデオのエフェクトは、一般的に、エフェクトがビデオの所定の位置に表示されるか、またはエフェクトの表示がビデオにおけるオブジェクトに追従して移動するなど、表示効果が比較的に固定して柔軟性に欠ける。しかし、エフェクト自体には何らかの変化や動きはない。
【発明の概要】
【0005】
この発明の概要は、次の発明を実施するための形態で詳細に説明される構想を簡潔な形態で紹介するために提供される。この発明の概要は、保護したい技術案の重要な特徴又は必要な特徴を表すことを意図していないし、保護したい技術案の範囲を限定するために用いられることを意図していない。
【0006】
第1の態様において、本開示の実施例は、
撮像素子が取り込んだビデオを取得して表示することと、
前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示することとを含み、
ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含む、
ビデオにオブジェクトを表示する方法を提供する。
【0007】
第2の態様において、本開示の実施例は、ビデオにオブジェクトを表示する装置であって、
撮影素子が取り込んだビデオを取得して表示するためのビデオ表示モジュールと、
前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示するための目標オブジェクト表示モジュールとを含み、ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含む装置を提供する。
【0008】
第3の態様において、本開示の実施例は、電子機器であって
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されたメモリとを含み、ここで、前記メモリは、前記少なくとも1つのプロセッサによって実行可能な命令を記憶し、前記命令は、前記少なくとも1つのプロセッサによって実行され、前記少なくとも1つのプロセッサに、前記第1の態様のいずれかに記載されたビデオにオブジェクトを表示する方法を実行させることができる、電子機器を提供する。
【0009】
第4の態様において、本開示の実施例は、前記第1の態様のいずれかに記載されたのビデオにオブジェクトを表示する方法をコンピュータに実行させるコンピュータ命令を記憶することを特徴とする非一時的コンピュータ読み取り可能な記憶媒体を提供する。
【0010】
第5の態様において、本開示の実施例は、実行されると、本開示の実施例による、ビデオにオブジェクトを表示する方法を実現するためのコンピュータプログラムを含むコンピュータプログラム製品を提供する。
【0011】
本開示の実施例は、ビデオにオブジェクトを表示する方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体を開示する。その中で、ビデオにオブジェクトを表示する方法は、撮像素子が取り込んだビデオを取得して表示することと、前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示することとを含み、ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含む。以上のような方法により、従来のようにエフェクトの表示効果が固定されるため、エフェクトが何らか変化したり動くことができないといった技術的問題点が解消され、これによって、エフェクトの表示効果がより柔軟になる。
【図面の簡単な説明】
【0012】
本開示の様々な実施例の前記および他の特徴、利点、ならびに態様は、添付の図面と併せて、以下の詳細な説明を参照することでより明らかになる。図面を通して、同一または類似の参照番号は、同一または類似の要素を示す。図面は概略的なものであり、エレメント及び要素は必ずしも縮尺通りに描かれていないことが理解される。
【
図1】
図1は、本開示によるビデオにオブジェクトを表示する方法の実施例のフローチャートである。
【
図2】
図2は、本開示によるビデオにオブジェクトを表示する方法の実施例において第2の目標動作の表示位置を決定するための具体的な例示的なフローチャートである。
【
図3】
図3は、本開示によるビデオにオブジェクトを表示する方法の実施例における距離d1及び距離d2の概略図である。
【
図4】
図4は本開示の実施例によるビデオにオブジェクトを表示する装置の実施例の構造概略図である。
【
図5】
図5は本開示の実施例による電子機器の構造概略図である。
【発明を実施するための形態】
【0013】
以下、本開示の実施例について図面を参照して詳細に説明する。本開示の何れかの実施例が図面に示されたが、本開示は、様々な形態で実施されてもよく、本明細書に説明される実施例に限られるものとして解釈されるべきではなく、むしろ、これらの実施例が本開示のより完全な理解のために提供されるものとして理解されるべきである。本開示の図面及び実施例は、例示的なものだけであり、本開示の保護範囲を制限するためのものではないことが理解されるべきである。
【0014】
本開示の方法の実施例に記載された様々なステップは、異なる順序で、及び/又は、並行して実行されてもよいことが理解されるべきである。さらに、方法の実施形態は、追加されるステップを含んでもよく、および/または、示されたステップの実行を省略してもよい。本開示の範囲はこの点において制限されない。
【0015】
本明細書で使用される「含む」という用語及びその変形は、非制限的な包括、すなわち、「含むが、これに限定されない」ということである。「基づいて」という用語は、「少なくともに部分的に基づいて」である。「一実施例」という用語は、「少なくとも1つの実施例」を意味し、「別の実施例」という用語は、「少なくとも1つの別の実施例」を意味し、「いくつかの実施例」という用語は、「少なくともいくつかの実施例」を意味する。他の用語の関連定義は、以下の説明において与えられる。
【0016】
なお、本開示において言及される「第1」、「第2」などの概念は、単に異なる装置、モジュール、またはユニットを区別するために使用され、これらの装置、モジュール、またはユニットによって実行される機能の順序または相互依存関係を限定するために使用されるものではない。
【0017】
なお、本開示において言及される「1つ」、「複数」の記載は、限定的ではなく例示的であり、文脈上明らかに他のことが示されない限り、「1つまたは複数」として理解されることが、当業者により理解されるべきである。
【0018】
本開示の実施形態における複数の装置間でやりとりされるメッセージ又は情報の名称は、説明ためのものだけであり、これらのメッセージ又は情報の範囲を制限するためのものではない。
【0019】
図1は、本開示の実施例によるビデオにオブジェクトを表示する方法の実施例のフローチャートであり、本実施例による当該ビデオにオブジェクトを表示する方法は、ソフトウェア、またはソフトウェアとハードウェアとの組合せにより実現され得る、ビデオにオブジェクトを表示する装置によって実行されてもよく、当該ビデオにオブジェクトを表示する装置は、例えば、ビデオにオブジェクトを表示するサーバまたはビデオにオブジェクトを表示する端末機器などの、ビデオにオブジェクトを表示するシステム内の機器に集積して配置されてもよい。
図1に示すように、この方法は、以下のステップを含む。
【0020】
ステップS101:撮像素子が取り込んだビデオを取得して表示する。
【0021】
本開示において、撮像素子とは、ビデオを取り込むことができる様々な画像センシング機器を意味し、例えば、ビデオカメラ、カメラ、撮影機等が挙げられる。この実施例では、前記撮像素子は、スマートフォンのフロントカメラ、バックカメラのような端末機器のカメラであってもよく、前記カメラが取り込んだビデオは、携帯電話の表示画面に表示され、そのステップにおいて、撮像素子が取り込んだビデオを取得して表示し、本開示における目標オブジェクトの表示背景とする。
【0022】
ステップS102:前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示する。ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含む。
【0023】
本開示では、ビデオにおける第1の目標動作の出現を検出した場合に、目標オブジェクトの生成プロセスを表示することをトリガするトリガ条件として、第1の目標動作を予め設定してもよい。
【0024】
オプションとして、前記ビデオにおける第1の目標動作の出現を検出したことに応じることは、前記ビデオにおける目標オブジェクトの特徴点を識別することと、前記特徴点のうちの特定の特徴点の位置を判定することと、前記特定の特徴点の位置が予想される位置と合致することに応じて、前記ビデオに第1の目標動作が出現したと判定することとを含む。例えば、前記第1の目的動作は、口をとがらせることであり、特定の特徴点は、口の特徴点であり、前記口の特徴点と口の中心点との距離が予め設定された値より小さいと判定された場合、前記顔の口が、口をとがらせる動作を行ったと判定される。
【0025】
オプションとして、前記ビデオにおける第1の目標動作の出現を検出したことに応じることは、前記ビデオを、前記第1の目標動作を識別するために使用される予めトレーニングされた畳み込みニューラルネットワークに入力することと、前記畳み込みニューラルネットワークの出力値が判定閾値より大きいことに応じて、前記ビデオにおける第1の目標動作の出現を判定することを含む。例えば、前記第1の目標動作は、口をとがらせることである場合、口をとがらせる動作を含んだ様々なビデオフレームが畳み込みニューラルネットワークに入力され、損失関数により畳み込みニューラルネットワークの誤差が計算され、前記誤差が前記畳み込みニューラルネットワークにフィードバックされることで、前記畳み込みニューラルネットワークがパラメータを調整し、複数回のトレーニングにより口をとがらせる動作を認識するために使用できる畳み込みニューラルネットワークが得られる。その後、撮像素子が取り込んだビデオフレームを前記畳み込みニューラルネットワークに入力するだけで、前記ビデオにおける動作を判断することができる。
【0026】
第1の目標動作を認識した後に、前記目標オブジェクトは、前記第1の目標動作の表示位置に出現し、かつ、小から大へ変化する。ここで、前記第1の目標動作の表示位置は、前記第1の目標動作を行う第1のオブジェクトの中心位置であり、一例では、前記目標オブジェクトが口であれば、その表示位置は口の中心位置に設定される。また、他の例として、前記目標オブジェクトが目であれば、その表示位置は、目の中心位置に設定される。前記目標オブジェクトは、エフェクトにおけるオブジェクトであり、予め設定された態様で前記表示位置にレンダリングされる。本実施例では、前記目標オブジェクトは、前記表示位置にレンダリングされ、かつ、小さいものから徐々に大きくなる。
【0027】
オプションとして、前記目標オブジェクトの生成プロセスには、具体的に、前記目標オブジェクトが第1のサイズ閾値の大きさにて前記第1の目標動作の表示位置に出現することと、前記目標オブジェクトの大きさが第1のサイズ閾値から、第2のサイズ閾値に達するまで大きくなることとを含み、ここで、前記第1のサイズ閾値は、前記第2のサイズ閾値よりも小さい。一実施例において、前記目標オブジェクトは、表示状態属性を含み、異なる表示状態属性値を設定することによって異なる状態でビデオにレンダリングされる。前記表示状態属性値は、例えば、非表示、拡大、動き、消失などを含み得る。前記ビデオにおける第1目標動作の出現が検出される前に、前記表示状態属性値が非表示に設定され、このとき前記目標オブジェクトが表示されない。前記第1の目標動作が検出されたことに応じて、目標オブジェクトの生成プロセスを前記ビデオに表示するために、前記目標オブジェクトの表示状態属性値を大きくするように設定する。具体的には、前記目標オブジェクトは、サイズ属性を更に含み、前記サイズ属性の値によって前記ビデオにおける前記目標オブジェクトの表示サイズを決定した。この実施例では、それぞれ、目標オブジェクトの2つのサイズ属性値、すなわち、前記目標オブジェクトが表示される初期サイズ属性値である第1のサイズ閾値及び前記目標オブジェクトが大きくなる状態におけるサイズ属性の最大値である第2のサイズ閾値を取得し、第1のサイズ閾値及び第2のサイズ閾値を取得した後、ビデオの複数のビデオフレームにおいて前記目標オブジェクトのサイズ属性値を第1のサイズ閾値から前記第2のサイズ閾値に変更する。例として、前記目標オブジェクトのサイズ属性値を第1のサイズ閾値から第2のサイズ閾値に変更することは、第1のサイズ閾値から、一定の増分ずつ加算して目標オブジェクトのサイズ属性値として、その後、前記サイズ属性値が前記第2のサイズ閾値に達するまで、次の画像フレームにおいて増分が加算されたサイズ属性値にて前記目標オブジェクトをレンダリングすることができる。例えば、前記目標オブジェクトが泡であれば、第1の目標動作が検出されると、第1の目標動作の表示位置に泡をレンダリングし、前記泡の第1のサイズ閾値が0であり、第2のサイズ閾値が200ピクセルである場合、前記ビデオにおいて泡の半径が0から200ピクセルに変化するプロセス、すなわち泡が小から大へ変化するプロセスを表示する。
【0028】
オプションとして、前記目標オブジェクトのサイズ属性の第1のサイズ閾値及び第2のサイズ閾値は、予め設定された値であってもよいし、予め設定された一定値であってもよいし、所定の条件に従って算出された値であってもよい。前記目標オブジェクトが円形である場合、その半径の初期値は、一定の100ピクセルに設定されてもよい。あるいは、初期値をビデオの長さの1/5などに設定してもよい。
【0029】
オプションとして、前記目標オブジェクトのサイズ属性の第1のサイズ閾値及び第2のサイズ閾値は、取得時にランダムに計算されたものであり、第2のサイズ閾値がランダムに取得されたときに第2のサイズ閾値が第1のサイズ閾値よりも大きくなることが確保さればよい。これにより、前記目標オブジェクトを複数表示する場合に、サイズの異なる目標オブジェクトを複数呈することができる。
【0030】
オプションとして、このステップでは、目標オブジェクトの生成プロセスには、前記目標オブジェクトの表示位置を取得することと、時間と前記サイズ属性値との対応関係である拡大関数を取得することと、前記拡大関数に基づいて、前記目標オブジェクトの現在の時間におけるサイズ属性値を決定することと、前記目標オブジェクトの表示位置及びサイズ属性値に基づいて、前記ビデオに前記目標オブジェクトをレンダリングすることとを含む。オプションとして、拡大関数は、時間と前記サイズ属性値との対応関係であり、前記目標オブジェクトの拡大の速度を制御するために使用されて、例えば、前記目標オブジェクトの状態属性値を拡大と設定した後、N秒間、第1のサイズ閾値から第2のサイズ閾値に前記目標オブジェクトのサイズ属性値を拡大する。例えば、第1のサイズ閾値が0であり、第2のサイズ閾値がMであれば、1秒当たりM/Nの長さ単位だけ拡大されるように前記目標オブジェクトが制御されるため、前記目標オブジェクトの状態属性を拡大に設定してからN秒後に、前記目標オブジェクトのサイズ属性がMに拡大される。前記目標オブジェクトの表示位置と前記拡大関数とに基づいて、表示において小から大に徐々に拡大する効果を呈する前記目標オブジェクトを前記ビデオ画像にレンダリングする。
【0031】
前記の拡大関数の具体的な実現方法は、単なる例であり、本開示を限定するものではなく、実際には、様々な拡大方法を用いて異なる効果を実現することができることが理解される。
【0032】
一実施例において、前記ビデオに目標オブジェクトの生成プロセスを表示した後に、
前記ビデオに前記目標オブジェクトの動きプロセスを表示するステップS103をさらに含み、ここで、前記目標オブジェクトの動きプロセスは、前記目標オブジェクトが移動すること、及び/又は、前記目標オブジェクトが回転すること、及び/又は、前記目標オブジェクトのサイズが変化することを含む。本実施例では、前記目標オブジェクトの状態属性値は、移動に設定され、その状態で前記目標オブジェクトが予め設定された動き属性値に従って動く。
【0033】
ここで、前記目標オブジェクトが移動するとは、具体的に、前記目標オブジェクトが、第1の移動速度と第1の移動方向とによって定められた第1の線形軌跡に沿って表示位置を移動することを含む。この実施例において、前記目標オブジェクトの動き属性には、移動方向および移動速度を含み、前記目標オブジェクトの表示位置、移動方向および移動速度に基づいて、ビデオの各フレームにおける前記目標オブジェクトの表示位置を算出してもよい。オプションとして、前記第1の移動方向は方向角であり、前記方向角は移動方向と水平軸とがなす角度であり、前記角度は0°~360°の任意の値を取り得る。前記第1の移動速度は、単位時間内に前記目標オブジェクトが移動した距離を示す。これにより、第1の線形軌跡を算出することができる。前記第1の線形軌跡は複数の表示位置から構成され、各表示位置は、1つの時点における目標オブジェクトの表示位置に対応する。その後、現時点に基づいて対応する表示位置を取得し、前記目標オブジェクトを前記表示位置にレンダリングする。オプションとして、現時点における前記目標オブジェクトの第1の表示位置、第1の移動速度および第1の移動方向に基づいて、次の時点における前記目標オブジェクトの第2の表示位置を算出し、次の時点になると第2の表示位置に前記目標オブジェクトをレンダリングし、複数フレームに亘って、表示位置を算出して目標オブジェクトをレンダリングし、これにより、目標オブジェクトが移動する状態を呈するようにしてもよい。
【0034】
ここで、前記目標オブジェクトが回転することは、具体的に、前記目標オブジェクトが、第1の回転方向と第1の角速度とによって定められた第1の回転軌跡に沿って回転することを含む。この実施例において、前記目標オブジェクトの回転は、前記目標オブジェクトの、前記ビデオの表示面での自己回転であり、前記目標オブジェクトの動き属性には、回転方向および角速度が含まれ、前記目標オブジェクトの、前記ビデオの各フレームにおける回転角度は、前記目標オブジェクトの初期回転角度、回転方向および角速度に基づいて算出されてもよい。ここで、前記回転方向は、時計回り及び反時計回りを含み、前記角速度は、前記目標オブジェクトの単位時間当たりの回転角度を表す、前記目標オブジェクトの回転速度である。目標オブジェクトの第1の回転方向および第1の角速度が決定された後、目標オブジェクトの初期回転角度に基づいて、各時点における前記目標オブジェクトの回転角度からなる第1の回転軌跡が計算され、その後、現時点に基づいて対応する回転角度が取得され、前記回転角度に基づいて、前記目標オブジェクトが回転され、現時点の表示位置にレンダリングされてもよい。オプションとして、現時点における前記目標オブジェクトの第1の回転角度、第1の回転方向、および第1の角速度に基づいて、次の時点における前記目標オブジェクトの第2の回転角度を算出し、次の時点になると、第2の回転角度で前記目標オブジェクトをレンダリングし、複数フレームに亘って、回転角度を算出し、目標オブジェクトをレンダリングし、これにより、目標オブジェクトが回転した状態を呈するようにしてもよい。
【0035】
ここで、前記目標サイズが変化することは、前記目標オブジェクトの大きさは、第3のサイズ閾値と第4のサイズ閾値との間で変化することを含む。この実施例では、前記目標オブジェクトのサイズ属性値は、第3のサイズ閾値と第4のサイズ閾値との間で変化するように設定され、例えば、前記変化として、目標オブジェクトのサイズ属性値は、第3のサイズ閾値と第4のサイズ閾値との間で小から変化、及び/又は大から変化する。オプションとして、前記変化は、予め設定された一定の速度で変化され、例えば、前記目標オブジェクトのサイズ属性値が、第3のサイズ閾値から一定の速度で徐々に第4のサイズ閾値に変化し、その後、第4のサイズ閾値から一定の速度で徐々に第3のサイズ閾値に変化する。オプションとして、前記変化は、時間とともに変化する関数であるサイズ変化制御関数によって制御される。これによって、各時点における前記目標オブジェクトのサイズ属性値は、前記サイズ変化制御関数によって計算されうる。サイズ変化制御関数は、例えば下記のようになる。
【0036】
R=R0+asin(t)
ここで、Rは、目標オブジェクトのリアルタイムのサイズ属性値であり、R0の値は、前記サイズ属性の中間値である。
【0037】
a≦R0である。tは、前記状態属性をランダムな動きとした後の経過時間の長さである。-1≦sin(t)≦1であるため、R0-a≦R≦R0+a。ここで、R0-aは第3のサイズ閾値であり、R0+aは第4のサイズ閾値である。この例で、前記Rは、円形の目標オブジェクトの半径を示し、その半径の大きさは、時間と共に変化し、時には小さく、時には大きいという効果を呈する。
【0038】
一実施例では、前記目標オブジェクトが移動することは、具体的に、前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが、前記第1の線形軌跡から、第2の移動速度と第2の移動方向とにより定められた第2の線形軌跡に切り替えて表示位置を移動することをさらに含む。前記目標オブジェクトが回転することは、具体的に、前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが前記第1の回転軌跡から、第2の回転方向と第2の角速度とによって定められた第2の回転軌跡に切り替えて回転することを含む。オプションとして、前記した、前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じることは、前記ビデオのエッジ位置を取得することと、前記目標オブジェクトのエッジ位置が前記ビデオのエッジ位置と重なることに応じて、前記目標オブジェクトが前記ビデオのエッジに衝突したと判定することとを含む。例えば、前記ビデオのエッジをX=0、Y=0、X=W、Y=Hという4本の直線に設定し、前記目標オブジェクトのエッジの点の座標を計算し、前記目標オブジェクトのエッジの点の座標(X,Y)に、X=0またはY=0またはX=WまたはY=Hがある場合、前記目標オブジェクトのエッジ位置は前記ビデオのエッジ位置と重なり、すなわち、目標オブジェクトは前記ビデオのエッジと衝突した。前記衝突が発生した後、目標オブジェクトの新たな動き属性を生成し、前記新たな動き属性には、第2の移動速度、第2の移動方向、及び/又は、第2の回転方向、第2の角速度が含まれ、その後、第2の移動速度と第2の移動方向とに基づいて決定された第2の移動軌跡に基づいて前記目標オブジェクトの表示位置を決定し、及び/又は、第2の回転方向、第2の角速度に基づいて決定された第2の回転軌跡に基づいて前記目標オブジェクトの回転角度を決定し、衝突が発生した後、前記目標オブジェクトの初期表示位置は、衝突発生時の前記目標オブジェクトの表示位置であり、前記目標オブジェクトの初期回転角度は、衝突発生時の前記目標オブジェクトの回転角度である。
【0039】
一実施例において、前記ビデオにオブジェクトを表示する方法は、第1のトリガ条件を検出したことに応じて、前記ビデオに前記目標オブジェクトの消失プロセスを表示するステップS104をさらに含む。前記ステップS104は、前記ステップS102の後、又は前記ステップS103の後であってもよく、ステップS102の実行時に並行して実行されてもよい。すなわち、前記目標オブジェクトが既に生成されている場合、生成中及びその後の動き中にかかわらず、第1のトリガ条件が検出されたとき、前記目標オブジェクトが消失するプロセスが前記ビデオに表示される。この実施例において、前記目標オブジェクトの表示状態属性値は消失に設定される。オプションとして、前記ビデオに前記目標オブジェクトの消失プロセスを表示することは、前記目標オブジェクトの消失シーケンスフレームを取得することと、前記ビデオに前記消失シーケンスフレームを再生することと、前記消失シーケンスフレームの再生が終了すると、前記目標オブジェクトを前記ビデオから消失させることとを含む。ここで、前記目標オブジェクトの消失シーケンスフレームは、目標オブジェクトが完備から切れ切れになって完全に消失するまでの動画のような動画であり、前記消失シーケンスフレームが取得された後に前記ビデオで再生され、前記消失シーケンスフレームの再生が終了した後に前記目標オブジェクトは前記ビデオから消失する。具体的に、前記シーケンスフレームの再生時間長に基づいて前記目標オブジェクトの透明度を制御することができる。前記消失シーケンスフレームの再生にしたがって前記目標オブジェクトの透明度が次第に大きくなり、前記消失シーケンスフレームの再生が完了する時に前記目標オブジェクトが完全に透明になる。
【0040】
オプションとして、第1のトリガ条件は、前記目標オブジェクトが前記ビデオに表示された時間が、予め設定された時間閾値を超えることである。オプションとして、ここでの表示時間は、前記目標オブジェクトの表示状態属性の値が拡大に設定された後の経過時間の長さである。オプションとして、ここでの表示時間は、前記目標オブジェクトの表示状態属性の値が動きに設定された後の経過時間の長さである。
【0041】
オプションとして、前記第1のトリガ条件は、前記ビデオに第2の目標動作が出現することであり、ここで、前記ビデオにおける前記第2の目標動作の表示位置は、前記目標オブジェクトの表示範囲内にある。例えば、前記第2の目標動作は人差し指を伸ばすことであり、前記第2の目標動作の表示位置は人差し指の指先の位置であり、前記人差し指の指先の位置が前記目標オブジェクトの表示範囲内にある場合、前記第1のトリガ条件が検出されたことを示す。さらに、前記第2の目標動作の表示位置を決定することは、
前記ビデオにおける手のキーポイントを検出するステップS201と、
前記手のキーポイントのうちの人差し指の指先のキーポイントと手のひらのキーポイントとの第1の距離を計算するステップS202と、
前記手のキーポイントのうちの中指の第2の関節のキーポイントと手のひらのキーポイントとの第2の距離を計算するステップS203と、
第1の距離と第2の距離とが所定の関係を満たすことに応じて、前記第2の目標動作が検出されたと判定し、前記人差し指の指先のキーポイントの位置を前記第2の目標動作の表示位置に決定するステップS204とを含む。
【0042】
オプションとして、ステップS201において、任意の人の手のキーポイントの検出技術を採用してよい。典型的には、人の手のキーポイントをマークしたトレーニングマップセットを用いてディープ学習ネットワークをトレーニングし、その後、検出対象画像を前記ディープ学習ネットワークに入力することで、前記検出対象画像における人の手のキーポイントを出力するディープ学習に基づく人の手のキーポイント検出を採用してもよい。他の人の手のキーポイント検出技術はここでは説明を省略する。オプションとして、このステップでは、人の手のすべてのキーポイントを検出するために、汎用の検出方法を使用することができ、検出効率を改善するために、特定のシーンに特定のネットワークをトレーニングすることができ、または特定の方法を使用して、使用する必要があるキーポイントのみを検出することができる。オプションとして、この実施例では、人の手の人差し指の指先のキーポイント、中指の第2の関節のキーポイント、および手のひらのキーポイントを検出するために、特定のモデルをトレーニングすることができる。
図3に示すように、ステップS202において、前記人の手のキーポイントのうち人差し指の指先のキーポイントと手のひらのキーポイントとの第1の距離d1を計算し、ステップS203において、前記人の手のキーポイントのうち中指の第2の関節のキーポイントと手のひらのキーポイントとの第2の距離d2を計算する。d1とd2が所定の関係を満たす場合に、人の手が所定の姿勢、すなわち第2の目標動作を行ったと判定し、その際に人差し指の指先のキーポイントの位置を前記第2の目標動作の表示位置として決定する。オプションとして、所定の関係は、下記のようになる。
【0043】
d1>1.5*d2
すなわち、前記d1がd2の1.5倍より大きくなった場合には、前記人の手が人差し指を伸ばす動作を行ったと判断し、そのときに前記人差し指の指先のキーポイントの位置を取得する。
【0044】
オプションとして、前記第2の目標動作の表示位置が決定された後、前記第2の目標動作の表示位置と前記目標オブジェクトの中心点の位置との間の距離が第1の距離閾値未満であるか否かが判定される。前記第1の距離閾値は、前記目標オブジェクトの大きさ属性の値であり、前記目標オブジェクトの中心位置と前記目標オブジェクトのエッジとの間の距離を示してもよい。前記第2の目標動作の表示位置と前記目標オブジェクトの中心点の位置との間の距離が前記第1の距離閾値より小さい場合、前記第2のオブジェクト動作に対応する表示位置が前記目標オブジェクトのエッジ内にあることを示す。例えば、目標オブジェクトは泡であり、上述した第1のトリガ条件を用いることで、ユーザが人差し指で泡をつつくと泡が消えるという効果が得られる。
【0045】
オプションとして、目標オブジェクトが完全に消失した後に、前記目標オブジェクトの表示状態属性を非表示に設定し、第1の目標動作の出現を待ち続け、目標オブジェクトの生成プロセスを再びトリガする。
【0046】
オプションとして、前述した、ビデオにオブジェクトを表示する方法は、前記撮像素子が前記ビデオに取り込んだオブジェクトである第2のオブジェクトの変形により形成された第1のオブジェクトが前記目標オブジェクト内において呈されていることをさらに含む。ここで、前記第2のオブジェクトは、前記ビデオにおける任意のオブジェクトである。例えば、前記第2のオブジェクトは、ビデオにおける人の顔であり、前記変形は、拡大縮小と眼拡大であり、前記ビデオにおける人の顔を検出した後、前記人の顔に関する画像を切り取り、前記顔の眼拡大の処理を行ない前記人の顔における眼を拡大させ、その後、前記眼拡大の処理を行った人の顔を、前記目標オブジェクトの大きさに適応するように拡大縮小し、変形後の人の顔を取得し、前記変形後の人の顔を前記目標オブジェクト内にレンダリングする。第1のオブジェクトが目標オブジェクト内に呈された後、前記第1のオブジェクトは、前記目標オブジェクトに追従して移動し、および/または回転し、および/または大きさが変化する。
【0047】
本開示の実施例は、ビデオにオブジェクトを表示する方法、装置、電子機器及びコンピュータ読み取り可能な記憶媒体を開示する。ここで、当該するビデオにオブジェクトを表示する方法は、撮像素子が取り込んだビデオを取得して表示することと、前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示することとを含み、ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含む。以上のような方法により、従来のようにエフェクトの表示効果が固定されるため、エフェクトが変化したり動くことができないといった技術的問題点が解消され、エフェクトの表示効果がより柔軟になる。
【0048】
先ほど、前記方法の実施例における各ステップは、前記の順序で説明されているが、本開示の実施例におけるステップは、必ずしも前記の順序で実行されるとは限らなく、逆順、並列、交替などの他の順序で実行されてもよいことは当業者にとって明らかである。また、前記のステップに加えて、当業者が他のステップを加えてもよい。これらの明らかな変形又は等価な置換は、本開示の保護範囲に含まれ、ここで繰り返し述べない。
【0049】
図4は、本開示の実施例によるビデオにオブジェクトを表示する装置の実施例の構造概略図である。
図4に示すように、装置400は、ビデオ表示モジュール401と、目標オブジェクト表示モジュール402とを備える。このうち、
ビデオ表示モジュール401は撮影素子が取り込んだビデオを取得して表示することに用いられる。
【0050】
目標オブジェクト表示モジュール402は、前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示することに用いられる。ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含む。
【0051】
さらに、前記目標オブジェクトの生成プロセスは、具体的に、
前記目標オブジェクトが第1のサイズ閾値の大きさにて前記第1の目標動作の表示位置に出現することと、
前記目標オブジェクトの大きさが第1のサイズ閾値から、第2のサイズ閾値に達するまで大きくなることとを含み、
ここで、前記第1のサイズ閾値は、前記第2のサイズ閾値よりも小さい。
【0052】
さらに、前記ビデオに目標オブジェクトの生成プロセスを表示した後に、前記目標オブジェクト表示モジュール402は、
前記ビデオに前記目標オブジェクトの動きプロセスを表示することにさらに用いられ、
ここで、前記目標オブジェクトの動きプロセスは、前記目標オブジェクトが移動すること、及び/又は、前記目標オブジェクトが回転すること、及び/又は、前記目標オブジェクトのサイズが変化することを含む。
【0053】
さらに、前記目標オブジェクトが移動することは、具体的に、前記移動目標オブジェクトが、第1の移動速度と第1の移動方向とによって定められた第1の線形軌跡に沿って表示位置を移動することを含む。
【0054】
さらに、前記目標オブジェクトが回転することは、具体的に、前記目標オブジェクトが、第1の回転方向と第1の角速度とによって定められた第1の回転軌跡に沿って回転することを含む。
【0055】
さらに、前記目標オブジェクトのサイズが変化することは、
前記目標オブジェクトの大きさが、第3のサイズ閾値と第4のサイズ閾値との間で変化することを含む。
【0056】
さらに、前記目標オブジェクトが移動することは、具体的に、
前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが、前記第1の線形軌跡から、第2の移動速度と第2の移動方向とにより定められた第2の線形軌跡に切り替えて表示位置を移動することをさらに含む。
【0057】
さらに、前記目標オブジェクトが回転することは、具体的に、
前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが、前記第1の回転軌跡から、第2の回転方向と第2の角速度とによって定められた第2の回転軌跡に切り替えて回転することを含む。
【0058】
さらに、前記目標オブジェクト表示モジュール402は、
第1のトリガ条件を検出したことに応じて、前記ビデオに目標オブジェクトの消失プロセスを表示することにさらに用いられる。
【0059】
さらに、前述した、前記ビデオに前記目標オブジェクトの消失プロセスを表示することは、
前記目標オブジェクトの消失シーケンスフレームを取得することと、
前記ビデオに前記消失シーケンスフレームを再生することと、
前記消失シーケンスフレームの再生が終了すると、前記目標オブジェクトを前記ビデオから消失させることとを含む。
【0060】
さらに、前記第1のトリガ条件は、前記ビデオに第2の目標動作が出現することであり、ここで、
前記ビデオにおける前記第2の目標動作の表示位置は、前記目標オブジェクトの表示範囲内にある。
【0061】
さらに、前記目標オブジェクト表示モジュール402は、
前記ビデオにおける手のキーポイントを検出することと、
前記手のキーポイントのうちの人差し指の指先のキーポイントと手のひらのキーポイントとの第1の距離を計算することと、
前記手のキーポイントのうちの中指の第2の関節のキーポイントと手のひらのキーポイントとの第2の距離を計算することと、
第1の距離と第2の距離とが所定の関係を満たすことに応じて、前記第2の目標動作が検出されたと判定し、前記人差し指の指先のキーポイントの位置を前記第2の目標動作の表示位置に決定することとにさらに用いられる。
【0062】
さらに、前記目標オブジェクトの生成プロセスは、前記撮像素子が前記ビデオに取り込んだ対象である第2のオブジェクトの変形により形成された第1のオブジェクトが前記目標オブジェクト内において呈されていることをさらに含む。
【0063】
図4に示す装置は、
図1~
図3に示す実施例の方法を実行することができ、本実施例の詳細に説明されていない部分は、
図1~
図3に示す実施例の関連説明を参照することができる。当該技術案の実行プロセスと技術的効果は、
図1~
図3に示す実施例の説明を参照でき、ここで繰り返し述べない。
【0064】
次に
図5を参照すると、本開示の実施例を実現するのに適した電子機器(例えば、
図1の端末機器又はサーバ)500の構造概略図が示されている。本開示の実施例に係る端末機器は、携帯電話、ノートパソコン、デジタル放送受信機、PDA(パーソナルデジタルアシスタント)、PAD(パッド)、PMP(ポータブルメディアプレーヤ)、車載用端末(例えばカーナビゲーション端末)などの携帯端末や、デジタルTV、デスクトップコンピュータなどの固定端末などを含みうるが、これらに限定されない。
図5に示す電子機器は一例だけであって、本開示の実施例の機能及び使用範囲に何らか制限がない。
【0065】
図5に示すように、電子機器500は、リードオンリーメモリ(ROM)502に格納されたプログラム、又は記憶装置508からランダムアクセスメモリ(RAM)503にロードされたプログラムに従って、様々な適切な動作及び処理を実行することができる処理装置(例えば、中央処理装置、グラフィックプロセッサ等)501を含んでもよい。RAM503には、電子機器500の動作に必要な各種のプログラムやデータも記憶される。処理装置501、ROM502、およびRAM503は、バス504を介して互いに接続されている。バス504には、入出力(I/O)インターフェース505も接続されている。
【0066】
一般的に、I/Oインターフェース505には、例えば、タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイクロフォン、加速度計、ジャイロスコープなどを含む入力装置506と、例えば、液晶ディスプレイ(LCD)、スピーカ、バイブレータなどを含む出力装置507と、例えば、磁気テープ、ハードディスクなどを含む記憶装置508と、通信装置509とが接続されている。通信装置509は、電子機器500が、他のデバイスと無線又は有線で通信して、データを交換することを可能にする。
図5は、様々な装置を有する電子機器500を示すが、示された装置の全てが実現されるまたは備えられることを要求されないことが理解されるべきである。これに代えて、より多く又はより少ない装置が実現または備えられてもよい。
【0067】
特に、本開示の実施例によれば、前述したフローチャートを参照して記載されたプロセスは、コンピュータソフトウェアプログラムとして実現され得る。例えば、本開示の実施例は、フローチャートに示される方法を実行するためのプログラムコードを含む、非一時的コンピュータ読み取り可能な媒体に担持されたコンピュータプログラムを含むコンピュータプログラム製品を含む。このような実施例において、コンピュータプログラムは、通信装置509を介してネットワークからダウンロードされてインストールされてもよく、または記憶装置508からインストールされてもよく、またはROM502からインストールされてもよい。処理装置501によって当該コンピュータプログラムが実行されると、本開示の実施例の方法に規定された前記機能が実行される。
【0068】
なお、本開示に係る前記のコンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体、またはコンピュータ読み取り可能な記憶媒体、または前述した2つの任意の組み合わせであってもよい。コンピュータ読み取り可能な記憶媒体は、例えば、電気、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいはそれらの任意の組合せとすることができるが、これらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例は、1つまたは複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、又は前記の任意の適切な組み合わせを含み得るが、これらに限定されない。本開示において、コンピュータ読み取り可能な記憶媒体は、命令実行システム、装置、またはデバイスによって、またはそれらと関連して使用され得るプログラムを含みまたは記憶する、任意の有形媒体であり得る。本開示では、コンピュータ読み取り可能な信号媒体は、ベースバンドで又は搬送波の一部として伝搬されるデータ信号を含み、コンピュータ読み取り可能なプログラムコードを担持する。このような伝搬データ信号は、電磁信号、光信号、又は前記の任意の適切な組み合わせを含む様々な形態をとり得るが、これらに限定されない。コンピュータ読み取り可能な信号媒体は、命令実行システム、装置、又はデバイスによって、またはそれらと関連して使用されるプログラムを送信、伝播、又は伝送することができる、コンピュータ読み取り可能な記憶媒体以外の任意のコンピュータ読み取り可能な媒体であってもよい。コンピュータ読み取り可能な媒体に含まれるプログラムコードは、電線、光ケーブル、RF(無線周波数)など、または前記の任意の適切な組み合わせを含む、任意の適切な媒体で送信され得るが、これらに限定されない。
【0069】
いくつかの実施形態において、クライアント、サーバは、HTTP(HyperText Transfer Protocol)などの任意の現在既知または将来開発されるネットワークプロトコルを用いて通信することができ、任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)と相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、インターネット、及びエンドツーエンドネットワーク(例えば、ad hocエンドツーエンドネットワーク)、並びに現在既知又は将来開発される任意のネットワークが挙げられる。
【0070】
前記コンピュータ読み取り可能な媒体は、前記電子機器に含まれたものであってもよく、当該電子機器に組み込まれずに単独で存在しているものであってもよい。
【0071】
前記コンピュータ読み取り可能な媒体は、1つまたは複数のプログラムを担持する。前記1つまたは複数のプログラムは、当該電子機器によって実行されると、前記電子機器に、撮像素子が取り込んだビデオを取得して表示し、前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示するようにさせ、ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含む。
【0072】
本開示の動作を実行するためのコンピュータプログラムコードは、1つまたは複数のプログラミング言語又はそれらの組合せで記述されてもよく、前記プログラミング言語は、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び「C」言語又は類似のプログラミング言語のような従来の手続き型プログラミング言語も含むが、これらに限定されない。プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして一部がユーザのコンピュータ上でもう一部が遠隔コンピュータ上で、又は完全に遠隔コンピュータ若しくはサーバ上で、実行され得る。遠隔コンピュータを用いる場合、遠隔コンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてもよく、または、外部のコンピュータに接続されてもよい(例えば、インターネットサービスプロバイダを用いてインターネットを介して接続される)。
【0073】
図面におけるフローチャートおよびブロック図は、本開示の様々な実施例によるシステム、方法、およびコンピュータプログラム製品の実現可能なアーキテクチャ、機能、および動作を示した。この点に関して、フローチャート又はブロック図における各ブロックは、指定された論理機能を実現するための1つ又は複数の実行可能な命令を含むモジュール、プログラムセグメント、又はコードの一部を表すことができる。いくつかの代替的な実現形態では、ブロックに記された機能は、図に記された順序とは異なる順序で生じ得る。例えば、連続して示される2つのブロックは、実際には、関連する機能に応じて、実質的に並列に実行されてもよく、時には逆順に実行されてもよい。ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された機能又は動作を実行する専用のハードウェアベースのシステムで実現されてもよく、又は専用ハードウェアとコンピュータ命令との組み合わせで実現されてもよい。
【0074】
本開示の実施例に記載されたユニットは、ソフトウェアで実現されてもよいし、ハードウェアで実現されてもよい。ここで、ユニットの名称は、ある場合で、そのユニット自体を限定するものではない。
【0075】
本明細書で上述された機能は、1つまたは複数のハードウェア論理構成要素によって少なくとも部分的に実行され得る。例えば、限定ではないが、例示的なタイプのハードウェア論理構成要素は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)などを含む。
【0076】
本開示の文脈において、機器読み取り可能な媒体は、命令実行システム、装置、またはデバイスによってまたはそれらと関連して使用されるプログラムを含みまたは記憶する有形媒体であり得る。機器読み取り可能な媒体は、機器読み取り可能な信号媒体または機器読み取り可能な記憶媒体であり得る。機器読み取り可能な媒体は、電子的、磁気的、光学的、電磁的、赤外線のもの、または半導体システム、装置、もしくはデバイス、または前記の任意の好適な組み合わせを含み得るが、これらに限定されない。機器読み取り可能な記憶媒体のより具体的な例は、1つまたは複数の配線に基づく電気接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、光ファイバ、コンパクトディスクリードオンリメモリ(CN-ROM)、光記憶機器、磁気記憶機器、又はこれらの任意の適切な組み合わせを含む。
【0077】
本開示の実施例は、実行されると、本開示の実施例によるビデオにオブジェクトを表示する方法を実施するためのコンピュータプログラムを含むコンピュータプログラム製品をさらに提供する。
【0078】
本開示の1つまたは複数の実施例によれば、撮像素子が取り込んだビデオを取得して表示することと、前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示することとを含み、ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含む、ビデオにオブジェクトを表示する方法を提供する。
【0079】
さらに、前記目標オブジェクトの生成プロセスは、具体的に、前記目標オブジェクトが第1のサイズ閾値の大きさにて前記第1の目標動作の表示位置に出現することと、前記目標オブジェクトの大きさが第1のサイズ閾値から、第2のサイズ閾値に達するまで大きくなることとを含み、ここで、前記第1のサイズ閾値は、前記第2のサイズ閾値よりも小さい。
【0080】
さらに、前記ビデオに目標オブジェクトの生成プロセスを表示した後に、前記ビデオに前記目標オブジェクトの動きプロセスを表示することをさらに含み、ここで、前記目標オブジェクトの動きプロセスは、前記目標オブジェクトが移動すること、及び/又は、前記目標オブジェクトが回転すること、及び/又は、前記目標オブジェクトのサイズが変化することを含む。
【0081】
さらに、前記目標オブジェクトが移動することは、具体的に、前記移動目標オブジェクトが、第1の移動速度と第1の移動方向とによって定められた第1の線形軌跡に沿って表示位置を移動することを含む。
【0082】
さらに、前記目標オブジェクトが回転することは、具体的に、前記目標オブジェクトが、第1の回転方向と第1の角速度とによって定められた第1の回転軌跡に沿って回転することを含む。
【0083】
さらに、前記目標オブジェクトのサイズが変化することは、前記目標オブジェクトの大きさが、第3のサイズ閾値と第4のサイズ閾値との間で変化することを含む。
【0084】
さらに、前記目標オブジェクトが移動することは、具体的に、前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが、前記第1の線形軌跡から、第2の移動速度と第2の移動方向とにより定められた第2の線形軌跡に切り替えて表示位置を移動することをさらに含む。
【0085】
さらに、前記目標オブジェクトが回転することは、具体的に、前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが、前記第1の回転軌跡から、第2の回転方向と第2の角速度とによって定められた第2の回転軌跡に切り替えて回転することを含む。
【0086】
さらに、前記方法は、第1のトリガ条件を検出したことに応じて、前記ビデオに前記目標オブジェクトの消失プロセスを表示することをさらに含む。
【0087】
さらに、前記ビデオに前記目標オブジェクトの消失プロセスを表示することは、前記目標オブジェクトの消失シーケンスフレームを取得することと、前記ビデオに前記消失シーケンスフレームを再生することと、前記消失シーケンスフレームの再生が終了すると、前記目標オブジェクトを前記ビデオから消失させることとを含む。
【0088】
さらに、前記第1のトリガ条件は、前記ビデオに第2の目標動作が出現することであり、ここで、前記ビデオにおける前記第2の目標動作の表示位置は、前記目標オブジェクトの表示範囲内にある。
【0089】
さらに、前記ビデオにオブジェクトを表示する方法は、前記ビデオにおける手のキーポイントを検出することと、前記手のキーポイントのうちの人差し指の指先のキーポイントと手のひらのキーポイントとの第1の距離を計算することと、前記手のキーポイントのうちの中指の第2の関節のキーポイントと手のひらのキーポイントとの第2の距離を計算することと、第1の距離と第2の距離とが所定の関係を満たすことに応じて、前記第2の目標動作が検出されたと判定し、前記人差し指の指先のキーポイントの位置を前記第2の目標動作の表示位置に決定することとをさらに含む。
【0090】
さらに、前記撮像素子が前記ビデオに取り込んだ対象である第2のオブジェクトの変形により形成された第1のオブジェクトが前記目標オブジェクト内において呈されている。
【0091】
本開示の1つまたは複数の実施例によれば、ビデオにオブジェクトを表示する装置であって、撮影素子が取り込んだビデオを取得して表示するためのビデオ表示モジュールと、前記ビデオにおける第1の目標動作の出現を検出したことに応じて、前記ビデオにおける前記第1の目標動作の表示位置に基づいて、前記ビデオに目標オブジェクトの生成プロセスを表示するための目標オブジェクト表示モジュールとを含み、ここで、前記目標オブジェクトの生成プロセスは、前記目標オブジェクトが前記表示位置に出現し、かつ、小から大へ変化することを含む装置を提供する。
【0092】
さらに、前記目標オブジェクトの生成プロセスは、具体的に、前記目標オブジェクトが第1のサイズ閾値の大きさにて前記第1の目標動作の表示位置に出現することと、前記目標オブジェクトの大きさが第1のサイズ閾値から、第2のサイズ閾値に達するまで大きくなることとを含み、ここで、前記第1のサイズ閾値は、前記第2のサイズ閾値よりも小さい。
【0093】
さらに、前記ビデオに目標オブジェクトの生成プロセスを表示した後に、前記目標オブジェクト表示モジュールは、前記ビデオに前記目標オブジェクトの動きプロセスを表示することにさらに用いられ、ここで、前記目標オブジェクトの動きプロセスは、前記目標オブジェクトが移動すること、及び/又は、前記目標オブジェクトが回転すること、及び/又は、前記目標オブジェクトのサイズが変化することを含む。
【0094】
さらに、前記目標オブジェクトが移動することは、具体的に、前記移動目標オブジェクトが、第1の移動速度と第1の移動方向とによって定められた第1の線形軌跡に沿って表示位置を移動することを含む。
【0095】
さらに、前記目標オブジェクトが回転することは、具体的に、前記目標オブジェクトが、第1の回転方向と第1の角速度とによって定められた第1の回転軌跡に沿って回転することを含む。
【0096】
さらに、前記目標オブジェクトのサイズが変化することは、前記目標オブジェクトの大きさが、第3のサイズ閾値と第4のサイズ閾値との間で変化することを含む。
【0097】
さらに、前記目標オブジェクトが移動することは、具体的に、前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが、前記第1の線形軌跡から、第2の移動速度と第2の移動方向とにより定められた第2の線形軌跡に切り替えて表示位置を移動することをさらに含む。
【0098】
さらに、前記目標オブジェクトが回転することは、具体的に、前記目標オブジェクトが前記ビデオのエッジに衝突したことに応じて、目標オブジェクトが、前記第1の回転軌跡から、第2の回転方向と第2の角速度とによって定められた第2の回転軌跡に切り替えて回転することを含む。
【0099】
さらに、前記目標オブジェクト表示モジュールは、第1のトリガ条件を検出したことに応じて、前記ビデオに前記目標オブジェクトの消失プロセスを表示することにさらに用いられる。
【0100】
さらに、前述した、前記ビデオに前記目標オブジェクトの消失プロセスを表示することは、前記目標オブジェクトの消失シーケンスフレームを取得することと、前記ビデオに前記消失シーケンスフレームを再生することと、前記消失シーケンスフレームの再生が終了すると、前記目標オブジェクトを前記ビデオから消失させることとを含む。
【0101】
さらに、前記第1のトリガ条件は、前記ビデオに第2の目標動作が出現することであり、ここで、前記ビデオにおける前記第2の目標動作の表示位置は、前記目標オブジェクトの表示範囲内にある。
【0102】
さらに、前記目標オブジェクト表示モジュールは、前記ビデオにおける手のキーポイントを検出することと、前記手のキーポイントのうちの人差し指の指先のキーポイントと手のひらのキーポイントとの第1の距離を計算することと、前記手のキーポイントのうちの中指の第2の関節のキーポイントと手のひらのキーポイントとの第2の距離を計算することと、第1の距離と第2の距離とが所定の関係を満たすことに応じて、前記第2の目標動作が検出されたと判定し、前記人差し指の指先のキーポイントの位置を前記第2の目標動作の表示位置に決定することとにさらに用いられる。
【0103】
さらに、前記目標オブジェクトの生成プロセスは、前記撮像素子が前記ビデオに取り込んだ対象である第2のオブジェクトの変形により形成された第1のオブジェクトが前記目標オブジェクト内において呈されていることをさらに含む。
【0104】
本開示の1つまたは複数の実施例によれば、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されたメモリとを含み、ここで、前記メモリは、前記少なくとも1つのプロセッサによって実行可能な命令を記憶し、前記命令は、前記少なくとも1つのプロセッサによって実行され、前記少なくとも1つのプロセッサに、ビデオにオブジェクトを表示する前記いずれかの方法を実行させることができる電子機器を提供する。
【0105】
本開示の1つまたは複数の実施例によれば、前記コンピュータにビデオにオブジェクトを表示する前記のいずれかの方法を実行させるコンピュータ命令を記憶することを特徴とする非一時的コンピュータ読み取り可能な記憶媒体を提供する。
【0106】
本開示の1つまたは複数の実施例によれば、実行されると、本開示の実施例による前記ビデオにオブジェクトを表示する方法を実現するためのコンピュータプログラムを含むコンピュータプログラム製品を提供する。
【0107】
以上の記載は、本開示の実施例およびその適用技術原理の説明に過ぎない。本開示に係る開示の範囲は、上述の技術的特徴の特定の組み合わせによるものに限定されず、上述の開示の構想を逸脱しない限り、上述の技術的特徴またはその均等物の任意の組み合わせによる他の形態も含むものであることは、当業者にとって理解される。例えば、前記特徴を類似の機能を備えた本開示(これに限定されない)に開示された技術特徴と互いに置き換えることによって形成される技術案を含む。
【0108】
さらに、動作は特定の順序で図示されているが、動作が、示された特定の順序で、または連続した順序で実行されることを要求するものとして理解されない。ある状況では、マルチタスクおよび並列処理が有利であり得る。同様に、いくつかの具体的な実現の詳細は、前記の説明に含まれているが、それらは、本開示の範囲を限定するものとして解釈されない。個々の実施例の文脈で説明される特定の特徴はまた、単一の実施例において組み合わせて実現され得る。逆に、単一の実施例の文脈で説明された様々な特徴は、複数の実施例において、別々にまたは任意の適切な部分的組合せで実現されてもよい。
【0109】
本主題は、構造的特徴および/または方法論理動作に特有の言語で説明されたが、特許請求の範囲に定義された主題は、必ずしも前記で説明された特定の特徴または動作に限定されないことが理解される。むしろ、前記で説明した特定の特徴および動作は、特許請求の範囲を実施する例示的な形態にすぎない。