(57)【要約】【課題】  顔のような客体の変化を、より自然に仮想客体に反映させること。【解決手段】  入力される映像に含まれたユーザの顔のような客体を特定のキャラクタの顔のような仮想客体にマッピングし、客体に対して予め定義されているコンポーネントの値の組み合わせによるイベントを仮想客体に適用することにより、ユーザの顔の表情や特定のイベントなどをキャラクタにリアルタイムでマッピングすることができる映像処理方法およびシステム、コンピュータ装置と結合して映像処理方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムを提供する。【選択図】      図３
2019012526.tif 000002
【特許請求の範囲】
【請求項１】
映像処理装置のコンピュータに映像処理方法を実行させるコンピュータプログラムであって、
前記映像処理方法は、
入力される映像が含む客体に対するランドマーク情報を抽出する段階、
前記ランドマーク情報に基づき、前記入力される映像が含む客体と仮想客体とをマッピングする段階、
前記ランドマーク情報に基づき、前記客体に対して予め定義されている複数のコンポーネントそれぞれの値を決定する段階、
前記決定された複数のコンポーネントの値の組み合わせに対応するイベントを決定する段階、および
前記決定されたイベントを、前記客体にマッピングされた仮想客体に適用する段階
を含むことを特徴とする、コンピュータプログラム。
【請求項２】
前記予め定義されている複数のコンポーネントは、前記客体の特徴点の位置を示す複数のランドマークコンポーネントおよび前記客体の回転を示すための複数の角度コンポーネントを含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項３】
前記複数のランドマークコンポーネントごとに２つ以上の互いに異なる形状を示す複数の形状値が設定および管理されており、
前記客体に対して予め定義されている複数のコンポーネントそれぞれの値を決定する段階は、
第１ランドマークコンポーネントに対して管理される複数の形状値のうちで前記ランドマーク情報に基づいて決定される前記第１ランドマークコンポーネントの形状に対応する形状値を、前記第１ランドマークコンポーネントの値として決定することを特徴とする、請求項２に記載のコンピュータプログラム。
【請求項４】
前記複数の角度コンポーネントは、前記客体に対して設定可能な複数の回転軸に対応し、
前記複数の回転軸ごとに２つ以上の互いに異なる角度を示す複数の角度値が設定および管理されており、
前記客体に対して予め定義されている複数のコンポーネントそれぞれの値を決定する段階は、
前記複数の回転軸のうちで第１回転軸に対する前記客体の角度を前記ランドマーク情報に基づいて決定する段階、および
前記第１回転軸に対して管理される複数の角度値のうちで前記決定された客体の角度に対応する角度値を、前記第１回転軸に対応する角度コンポーネントの値として決定する段階
を含むことを特徴とする、請求項２に記載のコンピュータプログラム。
【請求項５】
前記映像処理方法は、
前記複数のコンポーネントに対して設定可能な値の組み合わせごとにイベントが設定され、組み合わせに対する複数のイベントが管理されており、
前記イベントを決定する段階は、
前記管理される複数のイベントのうちから、前記決定された値の組み合わせに対応するイベントを抽出することを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項６】
前記決定されたイベントを前記客体にマッピングされた仮想客体に適用する段階は、
前記決定されたイベントに対応するモーションファイルをロードする段階、および
前記ロードされたモーションファイルが含むアニメーションのモーションフレームを、前記仮想客体を表示するためのフレームにフレーム単位で順に適用する段階
を含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項７】
前記映像処理方法は、
前記抽出されたランドマーク情報を利用して前記客体の大きさ、位置、および角度を正規化する段階
をさらに含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項８】
前記映像処理方法は、
前記映像の現在フレームから抽出されたランドマーク情報によって認識される前記客体のランドマークコンポーネントの座標を、前記映像の以前フレームから抽出されたランドマーク情報を利用して補正する段階
をさらに含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項９】
前記補正する段階は、
前記現在フレームで認識される前記客体の回転軸別の角度と前記以前フレームで認識される前記客体の回転軸別の角度の変化量に基づいて計算される信頼値を利用し、前記現在フレームに基づいて前記客体のランドマークコンポーネントの座標を補正することを特徴とする、請求項８に記載のコンピュータプログラム。
【請求項１０】
前記客体は、カメラを通じて入力される前記映像に含まれたユーザの顔を含み、
前記仮想客体は、前記ユーザの顔にリアルタイムでマッピングさせようとするキャラクタの顔を含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項１１】
前記映像処理方法は、
前記ユーザの顔が含む両目の開き程度を示す相対的な値を、前記映像の連続する予め設定された数のフレームに対してそれぞれ測定してバッファに格納する段階、
前記測定された相対的な値に基づき、両目を開いてはおらず且つ両目を閉じてもいない場合、前記バッファに格納された予め設定された数のフレームの相対的な値を分析して片目モーション動作を選択する段階、および
前記選択された片目モーション動作を前記キャラクタの顔に適用する段階
を含むことを特徴とする、請求項１０に記載のコンピュータプログラム。
【請求項１２】
入力される映像が含む客体に対するランドマーク情報を抽出する段階、
前記ランドマーク情報に基づき、前記入力される映像が含む客体と仮想客体とをマッピングする段階、
前記ランドマーク情報に基づき、前記客体に対して予め定義されている複数のコンポーネントそれぞれの値を決定する段階、
前記決定された複数のコンポーネントの値の組み合わせに対応するイベントを決定する段階、および
前記決定されたイベントを、前記客体にマッピングされた仮想客体に適用する段階
を含むことを特徴とする、映像処理方法。
【請求項１３】
前記予め定義されている複数のコンポーネントは、前記客体の特徴点の位置を示す複数のランドマークコンポーネントおよび前記客体の回転を示すための複数の角度コンポーネントを含むことを特徴とする、請求項１２に記載の映像処理方法。
【請求項１４】
前記複数のランドマークコンポーネントごとに２つ以上の互いに異なる形状を示す複数の形状値が設定および管理されており、
前記客体に対して予め定義されている複数のコンポーネントそれぞれの値を決定する段階は、
第１ランドマークコンポーネントに対して管理される複数の形状値のうちで前記ランドマーク情報に基づいて決定される前記第１ランドマークコンポーネントの形状に対応する形状値を、前記第１ランドマークコンポーネントの値として決定することを特徴とする、請求項１３に記載の映像処理方法。
【請求項１５】
前記複数の角度コンポーネントは、前記客体に対して設定可能な複数の回転軸に対応し、
前記複数の回転軸ごとに２つ以上の互いに異なる角度を示す複数の角度値が設定および管理されており、
前記客体に対して予め定義されている複数のコンポーネントそれぞれの値を決定する段階は、
前記複数の回転軸のうちで第１回転軸に対する前記客体の角度を前記ランドマーク情報に基づいて決定する段階、および
前記第１回転軸に対して管理される複数の角度値のうちで前記決定された客体の角度に対応する角度値を、前記第１回転軸に対応する角度コンポーネントの値として決定する段階
を含むことを特徴とする、請求項１３に記載の映像処理方法。
【請求項１６】
前記複数のコンポーネントに対して設定可能な値の組み合わせごとにイベントが設定され、組み合わせに対する複数のイベントが管理されており、
前記イベントを決定する段階は、
前記管理される複数のイベントのうちから、前記決定された値の組み合わせに対応するイベントを抽出することを特徴とする、請求項１２に記載の映像処理方法。
【請求項１７】
前記決定されたイベントを前記客体にマッピングされた仮想客体に適用する段階は、
前記決定されたイベントに対応するモーションファイルをロードする段階、および
前記ロードされたモーションファイルが含むアニメーションのモーションフレームを、前記仮想客体を表示するためのフレームにフレーム単位で順に適用する段階
を含むことを特徴とする、請求項１２に記載の映像処理方法。
【請求項１８】
前記映像の現在フレームから抽出されたランドマーク情報によって認識される前記客体のランドマークコンポーネントの座標を、前記映像の以前フレームから抽出されたランドマーク情報を利用して補正する段階
をさらに含むことを特徴とする、請求項１２に記載の映像処理方法。
【請求項１９】
前記補正する段階は、
前記現在フレームで認識される前記客体の回転軸別の角度と前記以前フレームで認識される前記客体の回転軸別の角度の変化量に基づいて計算される信頼値を利用し、前記現在フレームに基づいて前記客体のランドマークコンポーネントの座標を補正することを特徴とする、請求項１８に記載の映像処理方法。
【請求項２０】
請求項１２〜１９のうちのいずれか一項に記載の映像処理方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、映像処理方法およびシステムに関し、より詳細には、入力される映像に含まれたユーザの顔のような客体を特定のキャラクタの顔のような仮想客体にマッピングし、客体に対して予め定義されているコンポーネントの値の組み合わせによるイベントを仮想客体に適用することにより、ユーザの顔の表情や特定のイベントなどをキャラクタにリアルタイムでマッピングすることができる映像処理方法およびシステム、コンピュータ装置と結合して映像処理方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラム等に関する。
【背景技術】
【０００２】
アバターのような特定のキャラクタを制御するための従来技術として、ユーザの顔の表情をアバターに反映することによってアバターをよりリアルに表現するための技術が存在する。例えば、特許文献１は、表情制御点を利用したアバター制御装置および方法に関するものであって、ユーザの顔の表情から追跡される特徴点位置にしたがってアバターの特徴点位置を制御し、ユーザの顔の表情をアバターに適用することができる。
【０００３】
しかし、ユーザの顔から追跡される特徴点位置をそのままアバターに適用すれば、ユーザの顔の表情をアバターに適用することはできても、アバターの観点ではアバターの表情が不自然になってしまうという問題があった。例えば、ユーザの顔とまったく似ていないキャラクタの顔にユーザの顔の表情をそのまま特徴点位置をマッピングしても、キャラクタの顔にまったく似ていない表情になってしまうという問題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】韓国公開特許第１０−２０１２−００５９９９４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
入力される映像に含まれている客体（一例として、ユーザの顔）に対して予め定義されているコンポーネント（一例として、目、鼻、口、眉毛、顔の角度など）の値を決定し、決定された値の組み合わせによって仮想客体に対して予め設定されているイベントのうちから１つを選択して仮想客体に適用することにより、客体の変化（一例として、顔の表情の変化）を仮想客体に反映すると同時に、仮想客体の観点においては、より自然な変化を適用することができる映像処理方法およびシステム、コンピュータ装置と結合して映像処理方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラム等を提供する。
【課題を解決するための手段】
【０００６】
映像処理装置のコンピュータに映像処理方法を実行させるコンピュータプログラムであって、前記映像処理方法は、入力される映像が含む客体に対するランドマーク情報を抽出する段階、前記ランドマーク情報に基づき、前記入力される映像が含む客体と仮想客体とをマッピングする段階、前記ランドマーク情報に基づき、前記客体に対して予め定義されている複数のコンポーネントそれぞれの値を決定する段階、前記決定された複数のコンポーネントの値の組み合わせに対応するイベントを決定する段階、および前記決定されたイベントを、前記客体にマッピングされた仮想客体に適用する段階を含むことを特徴とする、コンピュータプログラムを提供する。
【０００７】
入力される映像が含む客体に対するランドマーク情報を抽出する段階、前記ランドマーク情報に基づき、前記入力される映像が含む客体と仮想客体とをマッピングする段階、前記ランドマーク情報に基づき、前記客体に対して予め定義されている複数のコンポーネントそれぞれの値を決定する段階、前記決定された複数のコンポーネントの値の組み合わせに対応するイベントを決定する段階、および前記決定されたイベントを、前記客体にマッピングされた仮想客体に適用する段階を含むことを特徴とする、映像処理方法を提供する。
【０００８】
前記映像処理方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【０００９】
入力される映像に含まれている客体（一例として、ユーザの顔）に対して予め定義されているコンポーネント（一例として、目、鼻、口、眉毛、顔の角度など）の値を決定し、決定された値の組み合わせによって仮想客体に対して予め設定されているイベントのうちから１つを選択して仮想客体に適用することにより、客体の変化（一例として、顔の表情の変化）を仮想客体に反映すると同時に、仮想客体の観点においては、より自然な変化を適用することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、映像処理方法の例を示した図である。
【図４】本発明の一実施形態における、顔客体のランドマークコンポーネントの例を示した図である。
【図５】本発明の一実施形態における、顔客体の角度コンポーネントの例を示した図である。
【図６】本発明の一実施形態における、仮想客体にイベントを適用する方法の例を示したフローチャートである。
【図７】本発明の一実施形態における、モーションファイルが含む複数のモーションフレームの例を示した図である。
【図８】本発明の一実施形態における、ランドマーク座標を正規化する例を示した図である。
【図９】本発明の一実施形態における、ランドマーク座標を補正する例を示した図である。
【図１０】本発明の一実施形態における、両目のまばたきとウィンクを区分するための方法の例を示したフローチャートである。
【図１１】本発明の一実施形態における、サービス全体の流れの例を示したフローチャートである。
【発明を実施するための形態】
【００１１】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００１２】
本発明の実施形態に係る映像処理システムは、以下で説明される電子機器またはサーバのようなコンピュータ装置によって実現されてよく、本発明の実施形態に係る映像処理方法は、このような電子機器またはサーバによって実行されてよい。例えば、電子機器には、本発明の一実施形態に係るコンピュータプログラムとして実現されるアプリケーションがインストールおよび駆動されてよく、電子機器は、駆動するアプリケーションの制御にしたがって入力される映像を処理して仮想客体にイベントを適用してよい。コンピュータプログラムは、電子機器と結合して映像処理方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されてよい。他の実施形態として、サーバが上述したアプリケーションの制御にしたがって映像処理方法を実行してもよい。
【００１３】
一実施形態として、電子機器やサーバのようなコンピュータ装置は、入力される映像に含まれている客体（一例として、ユーザの顔）に対して予め定義されているコンポーネント（一例として、目、鼻、口、眉毛、顔の角度など）の値を決定し、決定された値の組み合わせによって仮想客体に対して予め設定されているイベントのうちから１つを選択して仮想客体に適用することにより、客体の変化（一例として、顔の表情の変化）を仮想客体に反映すると同時に、仮想客体の観点においては、より自然な変化を適用することができる。
【００１４】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００１５】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、ナビゲーション、ＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ノート型パンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレットなどがある。一例として、図１では、電子機器１（１１０）の例としてスマートフォンの形状を示しているが、本発明の実施形態では、実質的に無線または有線通信方式を利用してネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信することのできる多様な機器のうちの１つを意味してよい。
【００１６】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的（ｈｉｅｒａｒｃｈｉｃａｌ）ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これらに限定されることはない。
【００１７】
サーバ１５０、１６０それぞれは、複数の電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。例えば、サーバ１５０は、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第１サービスを提供するシステムであってよく、サーバ１６０も、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第２サービスを提供するシステムであってよい。より具体的な例として、サーバ１６０は、第２サービスとして、アプリケーション（コンピュータプログラム）のインストールのためのインストールファイル（一例として、応用プログラムパッケージファイル）を複数の電子機器１１０、１２０、１３０、１４０に提供するシステムであってよい。また、サーバ１５０は、第１サービスとして、上述したアプリケーションと関連するサービス（一例として、メッセージングサービス、ソーシャルネットワークサービス、コンテンツ提供サービスなど）を複数の電子機器１１０、１２０、１３０、１４０に提供してよい。このようなサービスは、ネットワーク環境を説明するための１つの実施形態に過ぎず、実際のネットワーク環境においてサーバ１５０、１６０それぞれが提供するサービスは、さらに多様であってよい。
【００１８】
上述したように、本発明の実施形態に係る映像処理方法は、電子機器によって実行されてもよいし、電子機器と通信するサーバによって実行されてもよい。
【００１９】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、電子機器に対する例として電子機器１（１１０）の内部構成を、サーバに対する例としてサーバ１５０の内部構成を説明する。他の電子機器１２０、１３０、１４０やサーバ１６０も、上述した電子機器１（１１０）またはサーバ１５０と同一または類似の内部構成を有してよい。
【００２０】
電子機器１（１１０）とサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。ここで、ＲＯＭとディスクドライブのような永久大容量記憶装置は、メモリ２１１、２２１とは区分される別の永久格納装置として電子機器１（１１０）やサーバ１５０に含まれてもよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電気機器１（１１０）にインストールされ駆動するブラウザや上述した特定のサービスを提供するために電子機器１（１１０）にインストールされたアプリケーションなどのためのコード）が格納されてよい。このようなソフトウェア構成要素は、メモリ２１１、２２１とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール２１３、２２３を通じてメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム（一例として、サーバ１５０）がネットワーク１７０を介して提供するファイルによってインストールされるプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてよい。
【００２１】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【００２２】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１（１１０）とサーバ１５０とが互いに通信するための機能を提供してもよいし、電子機器１（１１０）および／またはサーバ１５０が他の電子機器（一例として、電子機器２（１２０））または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１（１１０）のプロセッサ２１２がメモリ２１１のような記録装置に格納されたプログラムコードにしたがって生成した要求が、通信モジュール２１３の制御にしたがってネットワーク１７０を介してサーバ１５０に伝達されてよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１（１１０）の通信モジュール２１３を通じて電子機器１（１１０）に受信されてもよい。例えば、通信モジュール２１３を通じて受信したサーバ１５０の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ２１２やメモリ２１１に伝達されてよく、コンテンツやファイルなどは、電子機器１（１１０）がさらに含むことのできる格納媒体（上述した永久格納装置）に格納されてよい。
【００２３】
入力／出力インタフェース２１４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を含んでよく、出力装置は、ディスプレイのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。入力／出力装置２１５は、電子機器１（１１０）と１つの装置によって構成されてもよい。また、サーバ１５０の入力／出力インタフェース２２４は、サーバ１５０と連結してもよいし、サーバ１５０が含むことのできる入力または出力のための装置（図示せず）とのインタフェースのための手段であってもよい。より具体的な例として、電子機器１（１１０）のプロセッサ２１２は、メモリ２１１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や電子機器２（１２０）が提供するデータを利用して構成されるサービス画面やコンテンツが、入力／出力インタフェース２１４を通じてディスプレイに表示されてよい。
【００２４】
また、他の実施形態において、電子機器１（１１０）およびサーバ１５０は、図２の構成要素よりも多くの構成要素を含んでもよい。しかし、実施形態の説明の簡明化のため、大部分の従来技術の構成要素に対する詳細な説明は省略される。例えば、電子機器１（１１０）は、上述した入力／出力装置２１５のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器１（１１０）がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力／出力ポート、振動のための振動器などのような多様な構成要素が、電子機器１（１１０）にさらに含まれるように実現されてもよい。
【００２５】
図３は、本発明の一実施形態における、映像処理方法の例を示した図である。本実施形態に係る映像処理方法は、上述した電子機器１（１１０）やサーバ１５０のようなコンピュータ装置によって実行されてよい。本実施形態では、電子機器１（１１０）が映像処理方法を実行する過程について説明する。電子機器１（１１０）のプロセッサ２１２は、メモリ２１１が含むオペレーティングシステムのコードや、少なくとも１つのコンピュータプログラムのコードによる制御命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行するように実現されてよい。ここで、プロセッサ２１２は、電子機器１（１１０）に格納されたコードが提供する制御命令にしたがって電子機器１（１１０）が図３の実施形態に係る映像処理方法に含まれる段階３１０〜３５０を実行するように電子機器１（１１０）を制御してよい。
【００２６】
段階３１０で、電子機器１（１１０）は、入力される映像が含む客体に対してランドマーク情報を抽出してよい。ここで、客体は、映像に含まれたユーザの顔のように仮想客体と代替される対象を含んでよく、ランドマーク情報は、特徴点位置（一例として、映像と関連する仮想座標系における特徴点の座標）を含んでよい。アバターのような仮想客体は、特徴点位置にしたがって制御されることが可能である。ランドマーク情報を抽出する具体的な技術は、当業者であれば周知の従来技術から容易に理解することができるであろう。
【００２７】
段階３２０で、電子機器１（１１０）は、ランドマーク情報に基づき、入力される映像が含む客体と仮想客体をマッピングしてよい。上述した例のように、客体が、映像に含まれたユーザの顔であれば、仮想客体は、ユーザのアバターや特定のキャラクタの顔のように、映像に含まれた客体に対応する仮想の客体を意味してよい。
【００２８】
例えば、電子機器１（１１０）は、映像に含まれたユーザの顔を特定のキャラクタの顔に代替して提供したり、特定のキャラクタの顔を提供したりするときに、映像に含まれたユーザの顔の表情などを特定のキャラクタの顔に適用して提供することが望まれる場合がある。より具体的な例として、電子機器１（１１０）は、映像通話のためにカメラを通じて入力された映像において、ユーザの顔を特定のキャラクタの顔に代替して提供することがある。また他の具体的な例として、電子機器１（１１０）は、映像通話のための映像の代わりに、特定のキャラクタの顔が含まれた代替映像を提供しながら、カメラを通じて入力される映像において、ユーザの顔の表情を代替映像のキャラクタの顔に適用して提供することが望まれる場合もある。
【００２９】
さらに他の例として、電子機器１（１１０）は、ユーザの顔の表情や、これと関連するエフェクトのようなイベントが適用されたキャラクタの顔の画面を動画録画し、録画された動画ファイルや、動くＧＩＦフォーマットのファイルを生成および提供することも考えられる。生成および提供されるファイルは、メッセージングサービスやソーシャルネットワークサービスなどで他のユーザと共有されてよい。この場合、電子機器１（１１０）は、結果映像に追加的な効果（一例として、デコレーション効果）を追加してもよい。
【００３０】
上述したように、映像処理方法は、電子機器１（１１０）によって実行される場合だけでなく、サーバ１５０によって実行されてもよい。例えば、電子機器１（１１０）は、カメラを通じて入力された映像を順に（すなわち、リアルタイムに）サーバ１５０に送信してもよいし、あるいは、電子機器１（１１０）に予め格納された映像ファイルを後に一括してサーバ１５０に送信してもよい。このとき、サーバ１５０は、電子機器１（１１０）から送信されて入力される映像に対して本発明の実施形態に係る映像処理方法を実行し、生成される結果物を電子機器１（１１０）や他の電子機器に提供してよい。
【００３１】
以下の段階では、抽出されたランドマーク情報に基づいて特定のイベントが仮想客体に適用される過程について説明する。
【００３２】
段階３３０で、電子機器１（１１０）は、ランドマーク情報に基づき、客体に対して予め定義されている複数のコンポーネントそれぞれの値を決定してよい。このような複数のコンポーネントは、客体の種類によって予め定義されてよい。例えば、客体が映像に含まれたユーザの顔であれば、複数のコンポーネントは、目、鼻、口、眉毛、客体の角度などのような項目を含んでよい。このとき、特定のコンポーネントの値は、該当のコンポーネントと関連する形状や角度を示す値であってよい。例えば、「左目」に該当するコンポーネントは、「開いた目」、「閉じた目」、「半ば開いた目（あるいは半ば閉じた目）」のような３種類の予め設定されている値のうちの１つの値を有してよい。言い換えれば、入力される映像の現在フレームに含まれたユーザの顔で「左目」が開いている場合、「左目」コンポーネントの値は「開いた目」に決定されてよい。このようなコンポーネントとコンポーネントの値については、以下でさらに詳しく説明する。
【００３３】
段階３４０で、電子機器１（１１０）は、決定された複数のコンポーネントの値の組み合わせに対応するイベントを決定してよい。例えば、「左目」コンポーネントの値が「開いた目」であり、「右目」コンポーネントの値が「閉じた目」であるとき、電子機器１（１１０）は、「右目ウィンク」のようなイベントを決定してよい。このとき、口の形状などのように「口」コンポーネントの値がさらに組み合わされれば、イベントがより確実に決定されるようになる。また、複数のコンポーネントの値の組み合わせに関し、すべての値の組み合わせの指定が可能であってもよいが、それは必須ではない。例えば、一般的な値を除いた特別な１つのコンポーネントの値や特別な２つ以上のコンポーネントの値の組み合わせが活用されてもよい。
【００３４】
段階３５０で、電子機器１（１１０）は、決定されたイベントを、客体にマッピングされた仮想客体に適用してよい。ここで、イベントは、特定の客体にマッチングされる仮想客体に対して予め設定されてよい。言い換えれば、仮想客体別に該当の仮想客体に適した予め設定されたイベントが存在し、客体を通じて決定されたが仮想客体に適用されるべきイベントとして決定され、その仮想客体のイベントが仮想客体に適用されるので、より自然な変化を仮想客体に適用することができるようになる。例えば、ユーザの顔の表情がそのままアバターに適用されるのではなく、ユーザの顔の表情に対応するアバターの顔の表情（イベント）がアバターに適用されるようになる。ここで、イベントは、複数のコンポーネントの値の組み合わせごとに予め定義されてよいため、複数のコンポーネントの個数と各々のコンポーネントに対して予め定義されることが可能な値の個数とに応じて、極めて多くの数のイベントを定義することが可能になる。例えば、「左目」コンポーネントに対して３つの値が定義され、「右目」コンポーネントに対して３つの値が定義され、「口」に対して３つの値が定義される場合、その組み合わせによって合計２７（３×３×３）種類のイベントが該当の仮想客体に対して予め定義されてよい。
【００３５】
実施形態によっては、予め定義されている複数のコンポーネントは、客体が含む複数のランドマークコンポーネントおよび客体の回転を示すための複数の角度コンポーネントを含んでよい。例えば、ランドマークコンポーネントは、目、鼻、口、眉毛などのような客体のランドマークに対応してよく、角度コンポーネントは、客体のＸ−軸、Ｙ−軸、Ｚ−軸のような複数の回転軸にそれぞれ対応してよい。
【００３６】
図３の実施形態で説明した電子機器１（１１０）は、段階３１０以前に、複数のランドマークコンポーネントごとに２つ以上の互いに異なる形状を示す複数の形状値を設定して管理してよい。上述したように、「左目」に該当するランドマークコンポーネントに対応して「開いた目」、「閉じた目」、および「半ば開いた目（あるいは半ば閉じた目）」のような３種類の形状値が予め設定され管理されてよい。
【００３７】
図４は、本発明の一実施形態における、顔客体のランドマークコンポーネントの例を示した図である。図４は、顔客体４１０に含まれたランドマークコンポーネントとして「左眉毛（ｅｙｅ  Ｂｒｏｗ  Ｌｅｆｔ：ＢＬ）」、「右眉毛（ｅｙｅ  Ｂｒｏｗ  Ｒｉｇｈｔ：ＢＲ）」、「左目（Ｅｙｅ  Ｌｅｆｔ：ＥＬ）」、「右目（Ｅｙｅ  Ｒｉｇｈｔ：ＥＲ）」、「口（Ｍｏｕｔｈ：ＭＯ）」をそれぞれ示している。また、以下の表１は、このようなランドマークコンポーネントに対する識別子と値の説明例を示している。
【００３８】
【表１】
2019012526.tif 000003
表１では、理解を助けるために、コンポーネントの値をテキスト形態で表現したが、システム内部では、該当の形状に対応する数値やその他の形態で設定および格納されてもよい。
【００３９】
この場合、電子機器１（１１０）は、図３の段階３３０で、第１ランドマークコンポーネントに対して管理される複数の形状値のうちでランドマーク情報に基づいて決定される第１ランドマークコンポーネントの形状に対応する模様値を、第１ランドマークコンポーネントの値として決定してよい。上述した表１の例において、第１ランドマークコンポーネントが「左目」であり、ランドマーク情報に基づいて決定される第１ランドマークコンポーネントの形状が「閉じた目」であれば、表１において「ＥＬ」が「閉じた目」であることは「値：１」に対応するので、第１ランドマークコンポーネントの値は、「ＥＬ１」のように左目が閉じた目を示す値に決定されてよい。
【００４０】
また、図３の実施形態で説明した電子機器１（１１０）は、段階３１０以前に、複数の回転軸ごとに２つ以上の互いに異なる角度を示す複数の角度値を設定して管理してよい。
【００４１】
図５は、本発明の一実施形態における、顔客体の角度コンポーネントの例を示した図である。図５は、顔客体５１０をＸ−軸を中心に回転させることによって現れる形状（５２０および５３０）、Ｙ−軸を中心に回転させることによって現れる形状（５４０および５５０）、そしてＺ−軸を中心に回転させることによって現れる形状（５６０および５７０）の例をそれぞれ示している。また、以下の表２は、このような角度コンポーネントに対する識別子と値の説明例を示している。
【００４２】
【表２】
2019012526.tif 000004
【００４３】
表２に示されたコンポーネントの値も、理解を助けるためにテキストの形態で表現したが、システム内部では、回転の仕方に対応する数値やその他の形態で設定および格納されてもよい。
【００４４】
この場合、電子機器１（１１０）は、図３の段階３３０で、複数の回転軸のうちの第１回転軸に対する客体の角度をランドマーク情報に基づいて決定し、第１回転軸に対して管理される複数の角度値のうちで決定された客体の角度に対応する角度値を、第１回転軸に対応する角度コンポーネントの値として決定してよい。例えば、第１回転軸がＺ−軸であり、ランドマーク情報に基づいて決定されるＺ−軸に対する客体の角度が「右下端向き」である場合、角度コンポーネントの値は、「ＲＡ１」のように、Ｚ−軸中心回転の右下端向きを示すための値で設定されてよい。
【００４５】
以下の表３は、コンポーネントの値の組み合わせに対応するイベントの例を示している。
【００４６】
【表３】
2019012526.tif 000005
例えば、表３の「ＥＬ１＋ＥＲ２」は、表１で「左目」に対する「閉じた目」と「右目」に対する「開いた目」の組み合わせを示し、これは左目ウィンクを意味してよい。このとき、仮想客体（一例として、ユーザの顔に対応するキャラクタの顔）には、「左目ウィンク」イベントが適用されてよい。また、ユーザの表情だけではなく、ユーザの口の開閉に応じてハート型の客体を出現させるアニメーションなどのような多様なエフェクトが仮想客体に適用されてよい。
【００４７】
例えば、図３の実施形態で説明した電子機器１（１１０）は、段階３１０以前に、複数のコンポーネントに対して設定可能な値の組み合わせごとにイベントを設定し、組み合わせに対する複数のイベントを管理してよい。この場合、電子機器１（１１０）は、段階３４０で、管理される複数のイベントのうちから決定された値の組み合わせに対応するイベントを抽出してよく、段階３５０で、抽出されたイベントを仮想客体に適用してよい。
【００４８】
このように、イベントは、コンポーネントの値の組み合わせによって決定されるため、映像で客体の変化（一例として、ユーザの顔の表情や顔の角度）を反映することができると同時に、イベントが仮想客体に適合するように製作されるため、仮想客体に自然にマッチするイベントが適用されるようになる。このようにして決定されたイベントが、以後の段階３５０で適用されてもよい。あるいは、決定されたイベントをユーザが変更し、変更後のイベントが段階３５０で適用されてもよい。後者の場合、ユーザの意図を更に強調することがかのうになる。
【００４９】
図６は、本発明の一実施形態における、仮想客体にイベントを適用する方法の例を示したフローチャートである。図６の段階６１０〜６３０は、図３を参照しながら説明した段階３５０に含まれて実行されてよい。
【００５０】
段階６１０で、電子機器１（１１０）は、決定されたイベントに対応するモーションファイルをロードしてよい。コンポーネント値の組み合わせに対してイベントが予め決定されるように、イベントに対応してモーションファイルが予め生成および管理されてよい。このようなモーションファイルは、仮想客体のためのアニメーションを適用するために少なくとも１つのモーションフレームを含んでよい。例えば、「ハート出現」に対応するモーションファイルは、ハートが出現されるアニメーションを仮想客体に適用するためのモーションフレームを含んでよい。
【００５１】
段階６２０で、電子機器１（１１０）は、フレーム単位でロードされたモーションファイルを実行してよい。例えば、電子機器１（１１０）は、仮想客体を表示するための現在フレームに、モーションファイルが含む１番目のモーションフレームを適用してよい。
【００５２】
段階６３０で、電子機器１（１１０）は、モーションファイルの終了を確認してよい。このとき、モーションファイルが終了した場合にはイベントの適用は終了してよく、モーションファイルが終了していない場合には段階６２０が再び実行されてよい。例えば、モーションファイルが３つのモーションフレームを含んでいる場合、仮想客体を表示するためのフレームには順に３つのモーションフレームが適用されてよい。このようなモーションフレームがすべて適用されることが、モーションファイルの終了を意味してよい。
【００５３】
言い換えれば、電子機器１（１１０）は、段階６２０および段階６３０を繰り返し実行しながら、ロードされたモーションファイルが含むアニメーションのモーションフレームを、仮想客体を表示するためのフレームにフレーム単位で順に適用してよい。
【００５４】
また、図３の実施形態において、電子機器１（１１０）は、段階３１０以後に、抽出されたランドマーク情報を利用して前記客体の大きさおよび角度を正規化してよい。
【００５５】
図７は、本発明の一実施形態における、モーションファイルが含む複数のモーションフレームの例を示した図である。人間がまばたきする実際の速度は非常に速く、図７に示すように、目が開いている状態７１０と目を閉じている状態７２０だけをそのままアバターにマッピングすれば、不自然なモーションが出力されてしまう。そこで、電子機器１（１１０）は、図７に示すように、複数のモーションフレーム７３０〜７７０を利用することにより、より自然な仮想客体のモーションを提供してよい。
【００５６】
モーションファイルの形式は、一例として、（ランドマークコンポーネントの識別子＝「、」で区分される値の変化）の形態で表現されてよい。例えば、図７の実施形態において、両目を閉じるモーションファイルは、（ＥＬ＝１．０、０．８、０．６、０．２、０．０、ＥＲ＝１．０、０．８、０．６、０．２、０．０）のように表現されてよい。このような表現は、左目と右目がそれぞれ１．０の値を有する第１モーションフレーム、左目と右目がそれぞれ０．８の値を有する第２モーションフレーム、左目と右目がそれぞれ０．６の値を有する第３モーションフレーム、左目と右目がそれぞれ０．２の値を有する第４モーションフレーム、および左目と右目がそれぞれ０．０の値を有する第５モーションフレームのように、５つのモーションフレームが含まれたモーションファイルを意味してよい。
【００５７】
図８は、本発明の一実施形態における、ランドマーク座標を正規化する例を示した図である。電子機器１（１１０）は、入力された映像フレーム８１０に含まれた客体８１１を、ランドマーク座標正規化アルゴリズム８２０を利用して出力フレーム８３０の客体８３１のように正規化してよい。
【００５８】
例えば、カメラを利用して写真を撮影したときに、顔の大きさ、位置（映像内における相対的な位置）、および／または角度が映像内で互いに異なる場合、目の大きさや位置が異なるようになる。このとき、電子機器１（１１０）は、ランドマークを正規化する過程により、同一人物の場合には、顔が同じような大きさ、位置、および／または角度を有するように調節してよい。例えば、ランドマーク座標正規化アルゴリズム８２０は、顔で認識される瞳の相対的な位置を調節してランドマークを正規化してよいが、これに限定されることはなく、周知の多様な正規化アルゴリズムが活用されてもよいことは、当業者であれば容易に理解することができるであろう。
【００５９】
このようなランドマーク座標正規化により、入力される映像において客体（顔）の大きさや位置、角度などが異なったとしても、正規化されたランドマーク座標に基づいて相対的な値を求めることができるようになる。このために、電子機器１（１１０）は、スケールファクタによって認識された顔の大きさを標準の大きさに変換する過程と、ピッチ（Ｐｉｔｃｈ）、ロール（Ｒｏｌｌ）、ヨー（ｙａｗ）を利用した回転により、客体のランドマーク座標を正規化してよい。正規化された座標値は二次元座標であってよい。
【００６０】
また、図３の実施形態において、電子機器１（１１０）は、段階３１０以後または上述したランドマーク座標の正規化以後に、映像の現在フレームから抽出されたランドマーク情報によって認識される客体のランドマークコンポーネントの座標を、映像の以前フレームから抽出されたランドマーク情報を利用して補正してよい。例えば、ユーザのモバイルフォンカメラなどによって撮影されて入力される映像は、手振れなどによってランドマーク座標が不均等に決定されることがある。これにより、電子機器１（１１０）は、顔認識の際に、以前フレームの顔の角度（ピッチ（Ｐｉｔｃｈ）、ロール（Ｒｏｌｌ）、ヨー（Ｙａｗ））の偏差を利用した加重値関数を反映して結果座標を均等にしてよい。
【００６１】
図９は、本発明の一実施形態における、ランドマーク座標を補正する例を示した図である。電子機器１（１１０）は、客体９１０に対するランドマークと角度を感知（９２０）してよい。このようなランドマークと角度の感知（９２０）は、図３を参照しながら説明した段階３１０でランドマーク情報を抽出すること、あるいは段階３１０のようにランドマーク情報を抽出した後、図８を参照しながら説明したようにランドマーク座標を正規化することに対応してよい。
【００６２】
また、電子機器１（１１０）は、ランドマーク座標を補正（９３０）してよい。例えば、電子機器１（１１０）は、上述したように、顔認識の際に、以前フレームの顔の角度（ピッチ（Ｐｉｔｃｈ）、ロール（Ｒｏｌｌ）、ヨー（Ｙａｗ））の偏差を利用した加重値関数を反映して結果座標を均等にしてよい。このとき、加重値関数は、一例として、以下の数式（１）のように定義されてよい。
【００６３】
【数１】
2019012526.tif 000006
ここで、ｙｉはｉ番目のフレームの出力、ｘｉはｉ番目フレームの入力、αは０と１の間の値を有する信頼度をそれぞれ意味してよい。また、αは、以前フレームの顔の角度（ピッチ（Ｐｉｔｃｈ）、ロール（Ｒｏｌｌ）、ヨー（ｙａｗ））の差（ｄｉｆｆｅｒｅｎｃｅ）に対する割合であり、一例として以下の数式（２）のように計算されてよい。
【００６４】
【数２】
2019012526.tif 000007
ここで、ｙａｗｉはｉ番目フレームにおける顔角度のヨー（Ｙａｗ）に、ｒｏｌｌｉはｉ番目フレームにおける顔角度のロール（Ｒｏｌｌ）に、ｐｉｔｃｈｉはｉ番目フレームにおけるピッチ（Ｐｉｔｃｈ）にそれぞれ対応してよい。
また、ｙａｗｍａｘ、ｒｏｌｌｍａｘ、ｐｉｔｃｈｍａｘはそれぞれ、ピッチ（Ｐｉｔｃｈ）、ロール（Ｒｏｌｌ）、ヨー（ｙａｗ）の最大変化量の値を意味してよい。
【００６５】
また、電子機器１（１１０）は、座標が補正されたランドマーク情報を利用することにより、図３の実施形態を参照しながら説明したように、ユーザの顔の表情やイベントを仮想客体（ユーザの顔に対応するキャラクタの顔）にマッピング９４０してよい。
【００６６】
一方、電子機器１（１１０）は、ユーザの顔において、両目のまばたきとウィンクとを区分するための別の方法を利用してもよい。
【００６７】
図１０は、本発明の一実施形態における、両目のまばたきとウィンクとを区分するための方法の例を示したフローチャートである。
【００６８】
電子機器１（１１０）は、アプリケーションが開始されると（１０１０）、まばたきに関する情報をバッファリング（１０２０）してよい。例えば、電子機器１（１１０）は、ユーザの顔が含む両目の開き程度を示す相対的な値を、映像の連続する予め設定された数のフレームに対してそれぞれ測定してバッファに格納してよい。ここで、相対的な値の例は、図７を参照しながら説明したとおりである。
【００６９】
このとき、電子機器１（１１０）は、過程１０３０で、現在は両目がすべて開いているか（Ｏｐｅｎ）閉じているか（Ｃｌｏｓｅ）を確認（１０３０）してよい。「両目がすべて開いている」または「両目がすべて閉じている」場合、フローは両目モーション動作（１０４０）に進み、これにより、アバターモーション動作（１０５０）が決定されてよい。
【００７０】
一方、「両目がすべて開いていない」および「両目かすべて閉じていない」場合、電子機器１（１１０）は、バッファを確認する。例えば、電子機器１（１１０）は、バッファで特定の時間内に両目がすべて同一イベント（両目とも開いているか閉じている場合）であるか否かを確認（１０７０）してよい。特定の時間は、例えば、予め設定された数のフレームに対応してよい。例えば、電子機器１（１１０）は、バッファで予め設定された数の連続的なフレームの相対的な値を分析し、該当のフレームで両目の同一イベントが存在すれば、フローは両目モーション動作（１０４０）に進み、該当のフレームで両目の同一イベントが存在しなければ、フローは片目モーション動作（１０８０）に進む。後者の場合、電子機器１（１１０）は、片目モーション動作（１０８０）にしたがってアバターモーション動作（１０５０）を決定してよい。
【００７１】
図１１は、本発明の一実施形態における、サービス全体の流れの例を示したフローチャートである。図１１は、アバターにユーザの顔の表情などをマッピングする全体過程の一例を示している。
【００７２】
過程１（１１１１）は、電子機器１（１１０）がカメラを起動させて初期ランドマーク情報を抽出する過程であってよい。ユーザの顔のような客体が含まれた映像から目、鼻、口、眉毛などのようなランドマークの情報を抽出すること自体は、上述したように周知の技術であるため、当業者であれば容易に理解することができるであろう。
【００７３】
過程２（１１１２）は、電子機器１（１１０）が、図８を参照しながら説明したように、ランドマーク座標正規化アルゴリズムを利用してランドマーク座標を正規化する過程であってよい。
【００７４】
過程３（１１１３）は、電子機器１（１１０）が表情に対する値を抽出する過程であってよい。例えば、電子機器１（１１０）は、目が開かれた程度、口が開けられた程度、眉毛と目の距離、眉毛の角度などを抽出してよい。
【００７５】
過程４（１１１４）は、電子機器１（１１０）が抽出された値に基づいて表情モデルを生成する過程であってよい。
【００７６】
過程５（１１１５）は、電子機器１（１１０）がカメラを起動させて起動中のランドマーク情報を抽出する過程であってよい。
【００７７】
過程６（１１１６）は、電子機器１（１１０）が、抽出されたランドマーク情報に基づく顔の表情モデルを標準モデルと比較する過程であってよい。標準モデルとは、サービスを始めるときに最初に抽出した顔の状態を意味してよい。例えば、過程１〜４は、サービスを利用しようとするユーザの顔に対するランドマーク（一例として、目、鼻、口、眉毛など）の初期座標を基盤とした情報であってよい。過程６は、このような標準モデルとの比較により、顔の表情が変化するとき、変化したランドマークの位置と角度を比較してコンポーネントの変化した状態を確認するための過程であってよい。人物ごとに目、鼻、口、眉毛などのランドマークの形状や大きさが異なるため、コンポーネントの絶対的な大きさで状態値を特徴することには困難がある。例えば、左目を大きく開いた人物の左目の大きさが２ｃｍである人物Ａと１ｃｍである人物Ｂが存在する場合、人物それぞれの標準モデルを活用して比率に応じて左目の変化を計算することによって正確な測定が可能となる。言い換えれば、左目を大きく開けた人物の左目の大きさが２ｃｍである人物Ａの左目の大きさが１ｃｍに変化すれば、人物Ａは左目を半分閉じていると判断されるようになる。
【００７８】
過程７（１１１７）は、電子機器１（１１０）が、図９を参照しながら説明したように、ランドマーク座標を以前フレームに基づいて補正する過程であってよい。
【００７９】
過程８（１１１８）は、電子機器１（１１０）がＡＵ（Ａｃｔｉｏｎ  Ｕｎｉｔ）の属性値を抽出する過程であってよい。このようなＡＵの属性値は、上述した標準モデルとの比較によって計算された変化値を意味してよい。言い換えれば、標準モデルは最初の値の集合を意味してよく、ＡＵの属性値は変化する値の集合を意味してよい。例えば、標準モデルの左目の開きが２ｃｍである場合、左目を半分閉じれば１ｃｍになるため、このときの左目に対するＡＵの属性値は０．５になってよい。
【００８０】
過程９（１１１９）は、電子機器１（１１０）が、図１０を参照しながら説明したように、両目まばたき同期化を処理する過程であってよい。言い換えれば、電子機器１（１１０）は、過程９（１１１９）において、まばたきバッファリング（１０２０）などを活用することによって両目モーション動作（１０４０）およびユーザの片目モーション動作（１０８０）のうちから１つを選択してよい。
【００８１】
過程１０（１１２０）は、電子機器１（１１０）が、図３の段階３２０を参照しながら説明したように、ランドマーク情報に基づいてユーザの顔とアバターの顔をマッピングする過程であってよい。
【００８２】
過程１１（１１２１）は、電子機器１（１１０）が、図３の段階３３０および段階３４０を参照しながら説明したように、イベントを決定する過程であってよい。
【００８３】
過程１２（１１２２）は、電子機器１（１１０）が、図６および図７を参照しながら説明したモーションファイルを利用して表情アニメーションを決定する過程であってよい。
【００８４】
過程１０（１１２０）、過程１１（１１２１）、および過程１２（１１２２）の結果はそれぞれ、並列的にアバターに適用されてよい。
【００８５】
過程１３（１１２３）は、電子機器１（１１０）が後処理を実行する過程であってよい。後処理は、ユーザの顔の表情や各種エフェクトなどが適用されたアバターの画面に対する動画録画、録画された動画の編集、編集された動画の保存、編集された映像の動くＧＩＦファイルへの変換、編集された動画やＧＩＦファイルの共有（一例として、メッセージングサービスやソーシャルネットワークサービスなどで共有）のような処理を含んでよい。
【００８６】
このように、本発明の実施形態によると、入力される映像に含まれている客体（一例として、ユーザの顔）に対して予め定義されているコンポーネント（一例として、目、鼻、口、眉毛、顔の角度など）の値のうち何れかの値を決定し、決定された値の組み合わせによって仮想客体に対して予め設定されているイベントのうちから１つを選択して仮想客体に適用することにより、客体の変化（一例として、顔の表情の変化）を仮想客体に反映すると同時に、仮想客体の観点においては、より自然な変化を適用することができる。
【００８７】
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【００８８】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置に永久的または一時的に具現化されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【００８９】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【００９０】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００９１】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００９２】
１１０、１２０、１３０、１４０：電子機器
１５０、１６０：サーバ
１７０：ネットワーク
【図１】
2019012526.tif 000008
【図２】
2019012526.tif 000009
【図３】
2019012526.tif 000010
【図４】
2019012526.tif 000011
【図５】
2019012526.tif 000012
【図６】
2019012526.tif 000013
【図７】
2019012526.tif 000014
【図８】
2019012526.tif 000015
【図９】
2019012526.tif 000016
【図１０】
2019012526.tif 000017
【図１１】
2019012526.tif 000018