(57)【要約】  通信／コンピューティングデバイスに対するアバターキーボードの提供に関連付けられた装置、方法、及び記憶媒体が本願において開示される。実施形態において、通信する装置が、アプリケーションを実行する１つ以上のプロセッサと、該１つ以上のプロセッサに結合されて、アプリケーションに入力するための複数のキーボードを対応する複数のキーボードモードにおいて提供し、アバターキーボードをアバターキーボードモードにおいて含むキーボードモジュールと、を含むことができる。アバターキーボードは、アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ又はアニメ化されることができる対応アバターを有する複数のアバターキーを含むことができる。他の実施形態が開示され、かつ／あるいは請求され得る。
2018514020.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行する１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合されて、前記アプリケーションに入力するための複数のキーボードを対応する複数のキーボードモードにおいて提供し、前記アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ又はアニメ化されることができる対応するアバターを有する複数のアバターキーを有するアバターキーボードをアバターキーボードモードにおいて含むキーボードモジュールと、
を含む、通信する装置。
【請求項２】
前記複数のキーボードは、英数字キーボード又はエモーティコンキーボードをさらに含み、前記キーボードモジュールは、前記アバターキーボードの要求に応答して、前記アバターキーボードモードに入り、使用のために前記アバターキーボードを表示する、請求項１に記載の装置。
【請求項３】
前記キーボードモジュールは、アバターキーをカスタマイズし又はアニメ化する要求に応答して、前記アバターキーボードモード内のカスタマイズ／アニメ化モードに入り、当該装置のユーザの１つ以上のイメージを捕捉するカメラをオープンする、請求項１に記載の装置。
【請求項４】
前記キーボードモジュールはさらに、前記アバターキーボードのエリアに前記カメラの現在ビューを表示し、あるいは表示することを容易にする、請求項３に記載の装置。
【請求項５】
当該装置は、前記カメラをさらに含む、請求項３に記載の装置。
【請求項６】
前記キーボードモジュールはさらに、前記ユーザの顔表情又は頭部姿勢について前記１つ以上のイメージを解析し、かつ前記ユーザの顔表情又は頭部姿勢についての前記解析の結果に少なくとも部分的に基づいて前記複数のアバターキーのうち選択された１つをカスタマイズし又はアニメ化するアバターアニメエンジンに、前記１つ以上のイメージを提供し、あるいは提供されることをもたらす、請求項３に記載の装置。
【請求項７】
当該装置は、前記アバターアニメエンジンをさらに含む、請求項６に記載の装置。
【請求項８】
前記キーボードモジュールは、前記複数のアバターキーのうち対応する１つの選択に応答して、前記アプリケーションにアバター又はアバターのアニメを入力する、請求項１乃至７のうちいずれか１項に記載の装置。
【請求項９】
前記アプリケーションは、チャットアプリケーション、メッセージングアプリケーション、電子メールアプリケーション、又はソーシャルネットワーキングアプリケーションを含む群から選択された通信アプリケーションである、請求項８に記載の装置。
【請求項１０】
当該装置は、前記通信アプリケーションをさらに含む、請求項９に記載の装置。
【請求項１１】
コンピューティングデバイスにより、アプリケーションを実行することと、
前記コンピューティングデバイスにより、アバターキーボードの要求を受信することと、
前記要求に応答して、前記コンピューティングデバイスにより、アバターキーボードモードに入ることと、前記アプリケーションに対して選択されたアバターキーのアバター又はアバターのアニメを入力するのに使用される、対応するアバターを有する複数のアバターキーを有するアバターキーボードを表示することであって、前記対応するアバターは、前記アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ、あるいはアニメ化されることができる、ことと、
を含む、通信する方法。
【請求項１２】
前記コンピューティングデバイスにより、前記アバターキーボードモードの間に、アバターキーをカスタマイズし又はアニメ化するように前記アバターキーボードモード内のカスタマイズ／アニメ化モードに入る要求を受信することと、前記カスタマイズ／アニメ化モードに入る前記要求に応答して、前記カスタマイズ／アニメ化モードに入ることと、前記コンピューティングデバイスのユーザの１つ以上のイメージを捕捉するカメラをオープンすることと、をさらに含む請求項１１に記載の方法。
【請求項１３】
前記コンピューティングデバイスにより、前記アバターキーボードのエリアに前記カメラの現在ビューを表示すること又は表示することを容易にすること、をさらに含む請求項１２に記載の方法。
【請求項１４】
前記コンピューティングデバイスにより、前記ユーザの顔表情又は頭部姿勢について前記１つ以上のイメージを解析することと、前記ユーザの顔表情又は頭部姿勢についての前記解析の結果に少なくとも部分的に基づいて前記複数のアバターキーのうち選択された１つをカスタマイズすること又はアニメ化することと、をさらに含む請求項１２に記載の方法。
【請求項１５】
前記コンピューティングデバイスにより、前記複数のアバターキーのうち対応する１つの選択に応答して、前記アプリケーションに対してアバター又はアバターのアニメを入力すること、をさらに含む請求項１１乃至１４のうちいずれか１項に記載の方法。
【請求項１６】
アプリケーションを実行する手段と、
アバターキーボードの要求を受信する手段と、
前記要求に応答する手段であって、アバターキーボードモードに入る手段、及び、前記アプリケーションに対して選択されたアバターキーのアバター又はアバターのアニメを入力するのに使用される、対応するアバターを有する複数のアバターキーを有するアバターキーボードを表示する手段を含み、前記対応するアバターは、前記アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ又はアニメ化されることができる、手段と、
を含む、通信する装置。
【請求項１７】
前記アバターキーボードモードの間、アバターキーをカスタマイズし又はアニメ化するように前記アバターキーボードモード内のカスタマイズ／アニメ化モードに入る要求を受信する手段と、前記カスタマイズ／アニメ化モードに入る前記要求に応答する手段であって、前記カスタマイズ／アニメ化モードに入る手段、及び当該装置のユーザの１つ以上のイメージを捕捉するカメラをオープンする手段を含む、手段と、をさらに含む請求項１６に記載の装置。
【請求項１８】
前記アバターキーボードのエリアに前記カメラの現在ビューを表示する又は表示することを容易にする手段、をさらに含む請求項１７に記載の装置。
【請求項１９】
前記ユーザの顔表情又は頭部姿勢について前記１つ以上のイメージを解析し、前記ユーザの顔表情又は頭部姿勢についての前記解析の結果に少なくとも部分的に基づいて前記複数のアバターキーのうち選択された１つをカスタマイズし、あるいはアニメ化する手段、をさらに含む請求項１７に記載の装置。
【請求項２０】
前記複数のアバターキーのうち対応する１つの選択に応答して、前記アプリケーションに対してアバター又はアバターのアニメを入力する手段、をさらに含む請求項１６乃至１９のうちいずれか１項に記載の装置。
【請求項２１】
コンピューティングデバイスによる実行に応答して、前記コンピューティングデバイスにキーボードモジュールを動作させる命令を含むコンピュータプログラムであって、前記キーボードモジュールは、
アプリケーションに入力するための複数のキーボードを対応する複数のキーボードモードにおいて提供し、前記アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ又はアニメ化されることができる対応するアバターを有する複数のアバターキーを有するアバターキーボードをアバターキーボードモードにおいて含む、
コンピュータプログラム。
【請求項２２】
前記キーボードモジュールは、アバターキーをカスタマイズし又はアニメ化する要求に応答して、前記アバターキーボードモード内のカスタマイズ／アニメ化モードに入り、前記コンピューティングデバイスのユーザの１つ以上のイメージを捕捉するカメラをオープンし、前記アバターキーボードのエリアに前記カメラの現在ビューを表示し、あるいは表示することを容易にする、請求項２１に記載のコンピュータプログラム。
【請求項２３】
前記キーボードモジュールはさらに、前記ユーザの顔表情又は頭部姿勢について前記１つ以上のイメージを解析し、かつ前記ユーザの顔表情又は頭部姿勢についての前記解析に少なくとも部分的に基づいて前記複数のアバターキーのうち選択された１つをカスタマイズし又はアニメ化するアバターアニメエンジンに、前記１つ以上のイメージを提供し、あるいは提供されることをもたらし、前記命令は、前記コンピューティングデバイスによる実行に応答して、前記コンピューティングデバイスに前記アバターアニメエンジンをさらに提供する、請求項２２に記載のコンピュータプログラム。
【請求項２４】
前記キーボードモジュールは、前記複数のアバターキーのうち対応する１つの選択に応答して、前記アプリケーションに対してアバター又はアバターのアニメを入力する、請求項２１乃至２３のうちいずれか１項に記載のコンピュータプログラム。
【請求項２５】
前記アプリケーションは、チャットアプリケーション、メッセージングアプリケーション、電子メールアプリケーション、又はソーシャルネットワーキングアプリケーションを含む群から選択された通信アプリケーションである、請求項２４に記載のコンピュータプログラム。
【請求項２６】
請求項２１乃至２５のうちいずれか１項に記載のコンピュータプログラムを記憶したコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ処理及びデータ通信の分野に関する。より具体的に、本開示は、アバターキーボードの提供に関する。
【背景技術】
【０００２】
本明細書において提供される背景技術は、本開示の背景を一般に提示する目的のものである。本明細書において別段示されない限り、本セクションに説明される材料は、本出願における請求項に対する従来技術ではなく、本セクションに含まれることにより従来技術であるように認められはしない。
【０００３】
多数のスマートフォン、例えば、クパチーノのＡｐｐｌｅ（登録商標）コンピュータからのｉＰｈｏｎｅ（登録商標）などは、複数のソフトキーボード（以降、単にキーボード）をサポートし、エモーティコン及びステッカーの簡単入力を提供するキーボードを含む。しかしながら、典型的に、エモーティコン及びステッカーの数は有限であり、これらは静的であり、修正することができない。ユーザ自身を表現し、かつその個性を示すためのユーザの能力が制限される。
【図面の簡単な説明】
【０００４】
本開示のアバターキーボードの実施形態が、添付図面と関連した下記の詳細な説明により容易に理解されるであろう。説明を容易にするために、同様の参照番号は同様の構造要素を示す。実施形態は、添付図面の図において限定でなく例として示される。
【図１】様々な実施形態に従う、本開示のアバターキーボードを組み込まれるコンピューティング／通信デバイスのブロック図を示す。
【図２】様々な実施形態に従う、コンピューティング／通信デバイスによりサポートされるキーボードのさらなる例を示す。
【図３】様々な実施形態に従う、本開示のアバターキーボードの使用の例を示す。
【図４】様々な実施形態に従う、本開示のアバターキーボードの使用の例を示す。
【図５】様々な実施形態に従う、本開示のアバターキーボードの使用の例を示す。
【図６】様々な実施形態に従う、図１のキーボードモジュールの動作フローの例を示すフロー図である。
【図７】様々な実施形態に従う、図１のキーボードモジュールの動作フローの例を示すフロー図である。
【図８】様々な実施形態に従う、図１のアバターアニメエンジンをさらに示すブロック図である。
【図９】様々な実施形態に従う、図１のアバターアニメエンジンをさらに示すブロック図である。
【図１０】開示された実施形態に従う、本開示の様々な態様を実施するための使用に適したコンピュータシステムの例を示す。
【図１１】開示された実施形態に従う、図１〜９を参照して説明された方法を実施する命令を有する記憶媒体を示す。
【発明を実施するための形態】
【０００５】
通信／コンピューティングデバイスに対するアバターキーボードの提供に関連付けられた装置、方法、及び記憶媒体が、本明細書において開示される。実施形態において、通信する装置が、アプリケーションを実行する１つ以上のプロセッサと、１つ以上のプロセッサに結合されて、アプリケーションに対する入力のための複数のキーボードを対応する複数のキーボードモードにおいて提供し、アバターキーボードをアバターキーボードモードにおいて含むキーボードモジュールと、を含むことができる。アバターキーボードは、アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ又はアニメ化されることができる対応するアバターを有する複数のアバターキーを含むことができる。具体的に、アバターは、ユーザの顔表情及び／又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ又は動画化されることができ、これにより、ユーザが自身をより良く表現できることが可能にされる。
【０００６】
実施形態において、アプリケーションは、通信アプリケーション、例えば、チャットアプリケーション、メッセージングアプリケーション、電子メールアプリケーション、又はソーシャルネットワーキングアプリケーションなどであり得る。
【０００７】
下記の詳細な説明において、添付図面に対して参照が行われる。添付図面は詳細な説明の一部を形成し、同様の番号は全体をとおして同様の部分を示し、添付図面には、実施され得る実施形態が例示として示される。本開示の範囲から逸脱することなく他の実施形態が利用される可能性があり、あるいは構造的又は論理的変更が行われる可能性があることが理解されるべきである。ゆえに、下記の詳細な説明は限定的意味でとられるべきでなく、実施形態の範囲は別記の請求項及びその均等物により定義される。
【０００８】
本開示のいくつかの態様が添付図面に開示される。本開示の別の実施形態及びその均等物が、本開示の主旨又は範囲から分かれることなく考案される可能性がある。下記で開示される同様の要素は、図面において同様の参照番号により示されることが留意されるべきである。
【０００９】
様々な動作が、請求される対象事項を理解するのに最も役立つ仕方で、順次に複数の別個のアクション又は動作として説明されることがある。しかしながら、説明の順序は、上記動作が必ず順序依存であることを暗に示すと見なされるべきではない。具体的に、上記動作は、提示の順序で行われない可能性がある。説明される動作は、説明される実施形態とは異なる順序で実行されてもよい。様々なさらなる動作が実行されてもよく、かつ／あるいは、説明される動作がさらなる実施形態において省略されてもよい。
【００１０】
本開示を目的として、フレーズ「Ａ及び／又はＢ」は、（Ａ）、（Ｂ）、又は（Ａ及びＢ）を意味する。本開示を目的として、フレーズ「Ａ、Ｂ、及び／又はＣ」は、（Ａ）、（Ｂ）、（Ｃ）、（Ａ及びＢ）、（Ａ及びＣ）、（Ｂ及びＣ）、又は（Ａ、Ｂ、及びＣ）を意味する。
【００１１】
下記説明は、フレーズ「一実施形態において」又は「実施形態において」を使用することがあり、これらは各々、同一の又は異なる実施形態のうち１つ以上を参照することがある。さらに、用語「含む」、「含める」、「有する」等は、本開示の実施形態に関して用いられるとき、同義である。
【００１２】
本明細書において用いられるとき、用語「モジュール」は、特定用途向け集積回路（ＡＳＩＣ）、電子回路、１つ以上のソフトウェア又はファームウェアプログラムを実行するプロセッサ（共有、専用、又はグループ）及び／又はメモリ（共有、専用、又はグループ）、組み合わせ論理回路、及び／又は説明される機能性を提供する他の適切なコンポーネントを参照し、あるいはこれらの一部であり、あるいはこれらを含むことがある。
【００１３】
本明細書において用いられるとき、用語「通信デバイス」は、通信アプリケーションを有するコンピューティングデバイスを含む。用語「キーボード」は、文脈が別段明示的に示さない限り、ソフトキーボードを参照する。同様に、用語「キー」は、文脈が別段明示的に示さない限り、ソフトキーを参照する。
【００１４】
次に図１を参照すると、様々な実施形態に従う、本開示のアバターキーボードを組み込まれたコンピューティング／通信デバイスのブロック図が示される。図示されるとおり、コンピューティング／通信デバイス１００（以降、単に通信デバイス）は、アプリケーション１０２、例えば通信アプリケーションを含むことができ、上記通信アプリケーションは、例えば、これらに限られないが、チャットアプリケーション、メッセージングアプリケーション、電子メールアプリケーション、ソーシャルネットワーキングアプリケーションなどである。通信デバイス１００は、アプリケーション１０２に対する入力を提供するのに使用される複数のキーボード１１２〜１１６を提供するキーボード（ＫＢ）モジュール１０４をさらに含む。複数のキーボード１１２〜１１６は、これらに限られないが、英数字ＫＢ１１２（図２をさらに参照）、エモーティコン（emoticon）ＫＢ１１４（図２をさらに参照）、及びアバターＫＢ１１６を含むことができる。アバターＫＢ１１６は、複数のアバターに対応する複数のアバターキーを含むことができる。さらに、通信デバイス１００は、アバターアニメエンジン（avatar  animation  engine）（ＡＡＥ）１０６及びカメラ１０８を含むことができ、これらは、ＫＢモジュール１０４と動作的に結合され、協働して、ＫＢモジュール１０４が下記でさらに十分説明されるようにアバターキーに対応するアバターのカスタマイズ及び／又はアニメ化をサポートすることを可能にする。実施形態において、ＫＢモジュール１０４は、ハードウェア、例えば特定用途向け集積回路（ＡＳＩＣ）、本明細書に説明される動作ロジックでプログラムされたプログラマブルロジックなど、若しくは通信デバイス１００のホストプロセッサにより動作するソフトウェア、又はこれらの組み合わせなどで実装することができる。
【００１５】
図１には、一例示的なチャットアプリケーション１０２の一例示的な表示面インスタンス１２２がさらに示される。図示されるとおり、表示面のインスタンス１２２は、通信デバイス１００のユーザとチャットセッションの１以上の他ユーザとの間の最も最近の通信交換を示すダイアログエリアを含むことができる。表示面のインスタンス１２２は、送信の前に入力されるテキスト、エモーティコン、ステッカー（stickers）、及び／又はアバターを示す入力エリア１２６をさらに含むことができる。表示面のインスタンス１２２は、現在のＫＢ、例えば、複数のアバターキーを有する、図示されるアバターＫＢ１１６などをさらに含むことができる。他のＫＢと同様、アバターは、対応するアバターキーをタップすることをとおして、入力のために選択されることができる。実施形態において、アバターは、制御キー／アイコン、例えば制御キー／アイコン１３２をタップすること、又は他の手段をとおして、入力のために選択されることができる。
【００１６】
さらに、制御キー／アイコン１３２に追加で、表示面のインスタンス１２２は、複数の他の制御アイコンをさらに含むことができ、上記他の制御アイコンは、例えば、これらに限られないが、他のＫＢに切り替える制御アイコン１３０、スクロールして他のアバターキーを見せる制御アイコン１３１及び１３３、さらなる制御アイコンを表示する制御アイコン１３４、オーディオ入力を提供する通信デバイス１００のマイクロフォン（図示されていない）をオープンする（open）制御アイコン１３５、又は写真を撮るカメラ１０８をオープンする制御アイコン１３６などである。
【００１７】
実施形態において、制御アイコン１３２はさらに、例えば制御アイコンをタップすること及び瞬間的に保持することを介して、選択されたアバターをカスタマイズし又はアニメ化する（animate）カスタマイズ／アニメ化モードに入るのに使用することができる。別の実施形態において、カスタマイズ／アニメ化モードはさらに、例えば、アバターをタップすること及び瞬間的に保持すること、又は他の手段によって入ってもよい。
【００１８】
実施形態において、ＫＢモジュール１０４は、ハードウェア、ソフトウェア、又はこれらの組み合わせで実装することができる。ハードウェア実装の例には、これらに限られないが、特定用途向け集積回路（ＡＳＩＣ）又はプログラマブル回路、例えば、本明細書に説明される動作ロジックでプログラムされたフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含むことができる。ソフトウェア実装の例には、通信デバイス１００のホストプロセッサ（図示されていない）によりサポートされる機械命令にコンパイルされるアセンブラ言語又は高水準言語実装を含むことができる。
【００１９】
実施形態において、理解を容易にするために図示されていないが、通信デバイス１００は他のコンポーネントをさらに含むことができ、上記他のコンポーネントは、例えば、これらに限られないが、プロセッサ（シングルコア又はマルチコア）、メモリ（揮発又は不揮発）、オペレーティングシステム、グラフィックスコプロセッサ、デジタルシグナルプロセッサ、通信インターフェース（有線又は無線）などである。無線通信インターフェースの例には、これらに限られないが、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷｉＦｉ（登録商標）、ＬＴＥ（登録商標）などを含むことができる。したがって、組み込まれるアバターＫＢテクノロジーを除き、通信デバイス１００は、その他の点で、当分野において知られる複数のコンピューティング／通信デバイスのうちの任意の１つであり得、上記コンピューティング／通信デバイスには、これらに限られないが、スマートフォン、コンピューティングタブレット、ｕｌｔｒａｂｏｏｋ（登録商標）、ゲームコンソール、セットトップボックス、スマートＴＶなどが含まれる。
【００２０】
前に暗に示されたとおり、図２は、様々な実施形態に従う、コンピューティング／通信デバイス１００によりサポートされる例示的なさらなるキーボードを示す。具体的に、図２の左側は英数字ＫＢ１１２を示し、図２の右側はエモーティコンＫＢ１１４を示し、これらの各々は、ＫＢの要求に応答して、例えば図１の制御アイコン１３０をタップすることをとおして、呼び出すことができる。
【００２１】
理解を容易にするために、ＫＢモジュール１０４は３つのＫＢ１１２〜１１６のサポートと共に説明されているが、本開示はそのように限定されない。実施形態において、ＫＢモジュール１０４は、より少ない又はより多いＫＢをサポートすることができ、該ＫＢには、例えば、他のラテン言語、フランス語、ポルトガル語、・・・、又は他の非ラテン言語、例えばアラビア語、ペルシア語、日本語、簡体字／繁体字中国語などのＫＢが含まれる。
【００２２】
次に、図３〜図５を参照すると、様々な実施形態に従う、本開示のアバターＫＢ１１６の例示的な使用が示される。図３に示されるとおり、カスタマイズ／アニメ化モードに入ると、選択されたアバター１３８がアバターＫＢ１１６の１つのエリアに示され、カメラの現在ビュー１４４がアバターＫＢ１１６の別のエリアに示される。下記でさらに十分説明されるように、カスタマイズ／アニメ化モードにおいて、ＫＢモジュール１０４は、ＡＡＥ１０６を使用して、カメラ１０８により捕捉された１つ以上のイメージをユーザの顔表情及び／又は頭部姿勢について解析し、ユーザの顔表情及び／又は頭部姿勢の解析の結果に少なくとも部分的に基づいて、選択されたアバター１３８をカスタマイズする／アニメ化する。実施形態において、制御アイコン１４２が提供されて、選択されたアバター１３８のカスタマイズ／アニメ化を開始し、停止することができる。さらに、実施形態において、制御アイコン１４０が提供されて、ユーザがアバターギャラリーを進んで代わりにカスタマイズ／アニメ化のための別のアバターを選択することができる。
【００２３】
図４は、カスタマイズされたアバター（単一のイメージフレームを含む）が入力され、アプリケーション１０２により送信された後の、アプリケーション１０２の表示面の一例示的なインスタンス１２２を示す。図５は、アニメ化されたアバター（複数のイメージフレームを含む）が入力され、アプリケーション１０２により送信された後の、アプリケーション１０２の表示面の一例示的なインスタンス１２２を示す。
【００２４】
次に図６〜図７を参照すると、様々な実施形態に従う、ＫＢモジュール１０４の例示的な動作フローを示す２つのフロー図が示される。前に説明された英数字ＫＢ１１２、エモーティコンＫＢ１１４、及びアバターＫＢ１１６を含む様々なＫＢを提供する処理１５０が、ブロック１５２〜１５４の動作を含むことができる。アバターＫＢ１１６を提供する処理１６０が、ブロック１６２〜１７６の動作を含むことができる。これら動作は、例えば図１のＫＢモジュール１０４により実行することができる。
【００２５】
図示されるとおり、処理１５０はブロック１５２で開始することができる。ブロック１５２において、現在のＫＢ、例えば、英数字ＫＢ１１２、エモーティコンＫＢ１１４、又はアバターＫＢ１１６のいずれかを表示することができる。次に、ブロック１５４において、表示されたＫＢは、対応するＫＢモード、例えば、英数字ＫＢモード、エモーティコンＫＢモード、及びアバターＫＢモードで動作することができる。英数字ＫＢモード及びエモーティコンＫＢモード内における動作は当分野に知られており、さらに説明されはしない。アバターＫＢモード内における例示的な動作が、下記で図７を参照してさらに説明される。
【００２６】
処理１５０は、現在のＫＢを切り替える要求が受信されるまでブロック１５４にとどまることができる。切り替え要求を受信すると、処理１５０はブロック１５２に戻り、現在のＫＢを次のＫＢに切り替え、そこから前に説明されたように継続することができる。実施形態において、ＫＢは、ラウンドロビン方式で切り替えられてもよい。
【００２７】
アバターＫＢを動作させる処理１６０は、アバターＫＢモードに入ると、ブロック１６２で始まることができる。ブロック１６２において、一組のアバターキーを表示することができる。次に、ブロック１６４において、処理１６０は、ユーザ選択及び／又はコマンドを待つことができる。ブロック１６４から、処理１６０は、ブロック１６６、１６８、１７４、又は１７６に進むことができる。処理１６０は、スクロールコマンドを受信するとブロック１６６に進むことができる。スクロールコマンドに応答して、別の一組のアバターキーを表示することができる。スクロールすると、処理１６０はブロック１６４に戻り、そこから前に説明されたように進むことができる。
【００２８】
処理１６０は、カスタマイズ／アニメ化コマンドを受信するとブロック１６８に進むことができる。ブロック１６８において、処理１６０は、前に説明されたようにカスタマイズ／アニメ化モードに入ることができる。次に、ブロック１７０において、デバイスカメラを起動し、あるいはオープンすることができる。１７２において、ＡＡＥが、選択されたアバターをカスタマイズし又はアニメ化するように動作することができる。カスタマイズ／アニメ化を完了すると、処理１６０はブロック１６４に戻り、そこから前に説明されたように進むことができる。アバターの動画、及びＡＡＥは、下記で図８〜図９を参照してさらに説明される。
【００２９】
処理１６０は、選択コマンド、例えばアバターキーのタッピングを受信すると、ブロック１７４に進み、アプリケーションに対する入力のためのアバターを選択することができる。応答において、アプリケーションは、上記選択を通知され、選択されたアバター（このアバターはカスタマイズされ、あるいはアニメ化され得る）を入力されることができる。入力すると、処理１６０はブロック１６４に戻り、そこから前に説明されたように進むことができる。
【００３０】
処理１６０は、他のコマンドを受信するとブロック１７６に進むことができる。応答において、上記他のコマンドは、アプリケーション依存の仕方で処理されることができ、上記仕方は、コマンドごとに、及び実施形態ごとに変動してよい。他のコマンドの処理を完了すると、処理１６０はブロック１６４に戻り、そこから前に説明されたように進むことができる。
【００３１】
次に、図８〜図９を参照すると、様々な実施形態に従う、図１のアバターアニメエンジンをさらに示す２つのブロック図が示される。例示されるとおり、ＡＡＥ１０６は、図示されるように互いに結合された顔表情追跡器／解析器１８２及びアニメ化器（animator）１８４を含むことができる。実施形態において、顔表情追跡器／解析器１８２は、複数のイメージフレーム１１８、例えば、カメラ１０８により捕捉されたイメージフレームにアクセスし、イメージフレームを顔表情及び／又は頭部姿勢について解析するように構成されることができる。さらに、顔表情追跡器／解析器１８２は、解析において、決定された顔表情及び／又は頭部姿勢のいずれかに基づいて、アバターのアニメを駆動する（drive）アニメ化器１８４のための複数のアニメメッセージを出力するように構成されることができる。
【００３２】
実施形態において、動作の効率化のために、アニメ化器１８４は、複数の予め定義されたブレンド形状（blend  shapes）でアバターをアニメ化するように構成され、ＡＡＥ１０６を広範囲のモバイルデバイスに特に適するようにすることができる。中立の表情及びいくつかの典型的表情、例えば、口が開いている、口が笑っている、眉が上がっている、眉が下がっている、まばたきなどを有するモデルを、前もって、最初予め構築することができる。ブレンド形状は、様々な顔表情追跡器／解析器１８２能力及びターゲットモバイルデバイスシステム要件に対して決められ、あるいは選択されることができる。動作の間、顔表情追跡器／解析器１８２は、決定された顔表情及び／又は発話に基づいて、様々なブレンド形状を選択し、ブレンド形状重みを割り当てることができる。選択されたブレンド形状及びその割り当てられた重みは、アニメメッセージ１８６の一部として出力されることができる。
【００３３】
ブレンド形状選択及びブレンド形状重み（αｉ）を受信すると、アニメ化器１８４は、表現された顔の結果を下記の式（式１）で生成することができる。
【００３４】
【数１】
2018514020.tif 000003
ここで、Ｂ＊は、ターゲットにより表現された顔であり、
Ｂ０は、中立表情を有するベースモデルであり、
ΔＢｉは、特定の表情のためのベースモデルに基づく頂点位置オフセットを記憶したｉ番目のブレンド形状である。
【００３５】
より詳細に、実施形態において、顔表情追跡器／解析器１８２は、顔表情追跡機能及びアニメメッセージ生成機能で構成されることができる。実施形態において、顔表情追跡機能は、上記複数のイメージフレーム内のユーザの顔の顔アクション動き及び／又はユーザの頭部の頭部姿勢ジェスチャを検出し、決定された顔表情及び／又は頭部姿勢を表す複数の顔パラメータをリアルタイムで出力するように構成されることができる。例えば、複数の顔モーションパラメータは、検出された顔アクション動き、例えば目及び／又は口の動きなど、及び／又は、検出された頭部姿勢ジェスチャ、例えば頭部の回転、動き、及び／又はカメラからより近く若しくは遠くなることなどを表す頭部姿勢ジェスチャパラメータを表すことができる。
【００３６】
実施形態において、顔アクション動き及び頭部姿勢ジェスチャは、例えば、イメージフレームの画素サンプリングに基づいて、顔の口及び目並びに頭部のフレーム間差をとおして、検出されることができる。機能ブロックの様々なものが、ピッチ、ヨー、及び／又はロールを含むユーザの頭部の回転角度と、水平、垂直方向に沿った、カメラからより近くなる又は遠くに行く並進距離とを算出するように構成されることができ、これらは、頭部姿勢ジェスチャパラメータの一部として最終的に出力される。上記算出が複数のイメージフレームのうちサブサンプリングされた画素のサブセットに基づき、例えば、動的テンプレートマッチング、再位置合わせ（re-registration）などを適用してもよい。上記機能は十分正確であり、しかしなお必要とされる処理パワーにおいてスケーラブルであり、ＡＡＥ１０６を、広範囲のモバイルコンピューティングデバイス、例えばスマートフォン及び／又はコンピューティングタブレットなどによりホストされるのに特に適するようにすることができる。
【００３７】
一例示的な顔表情追跡機能が、後に図９を参照してさらに説明される。
【００３８】
実施形態において、アニメメッセージ生成機能は、ユーザの顔表情及び頭部姿勢を表す顔表情及び頭部姿勢パラメータに基づいて、アバターのアニメを駆動するためのアニメメッセージ１２０を選択的に出力するように構成されることができる。実施形態において、アニメメッセージ生成機能は、アバターのアニメのために顔アクションユニット（facial  action  units）をブレンド形状及びその割り当てられた重みに変換するように構成されることができる。顔追跡が、アバターレンダリング側とは異なるメッシュジオメトリ及びアニメ構造を使用する可能性があるので、アニメメッセージ生成機能は、アニメ係数変換及び顔モデルターゲット変更（retargeting）を実行するようにさらに構成されることができる。実施形態において、アニメメッセージ生成機能は、ブレンド形状及びその重みをアニメメッセージ１８６として出力することができる。アニメメッセージ１８６は、複数のアニメ、例えば、「下唇が下がっている（lower  lip  down）」（ＬＬＩＰＤ）、「両唇が広がっている（both  lips  widen）」（ＢＬＩＰＷ）、「両唇が上がっている（both  lips  up）」（ＢＬＩＰＵ）、「鼻がしわがある（nose  wrinkle）」（ＮＯＳＥＷ）、「眉が下がっている（eyebrow  down）」（ＢＲＯＷＤ）などを指定することができる。
【００３９】
図８を続けて参照すると、アニメ化器１８４は、顔表情追跡器／解析器１８２により出力されるアニメメッセージ１８６を受信し、アバターモデルを駆動してアバターをアニメ化し、アバター上にユーザの顔表情及び／又は頭部姿勢を複製するように構成されることができる。
【００４０】
実施形態において、アニメ化器１８４は、頭部回転インパクトを考慮に入れた顔表情及び頭部姿勢パラメータの観点で生成されたアニメメッセージ１２０に基づいてアニメ化するとき、頭部回転インパクト重み生成器（図示されていない）により提供される頭部回転インパクト重みに従ってアバターをアニメ化することができる。頭部回転インパクト重み生成器は、アニメ化器１８４のための一組の頭部回転インパクト重みを予め生成するように構成されることができる。上記実施形態において、アニメ化器１８４は、顔及び骨格のアニメと頭部回転インパクト重みの適用とをとおしてアバターをアニメ化するように構成されることができる。頭部回転インパクト重みは、例えば頭部回転インパクト重みマップの形式で、前に説明されたように頭部回転インパクト重み生成器により予め生成され、アニメ化器１８４に提供されることができる。頭部回転インパクト重みを考慮したアバターアニメは、“AVATAR  FACIAL  EXPRESSION  ANIMATIONS  WITH  HEAD  ROTATION”と題され2014年7月25日に申請された、同時係属特許出願の国際出願第PCT/CN2014/082989号の主題である。さらなる情報については、国際出願第PCT/CN2014/082989号を参照されたい。
【００４１】
顔表情追跡器／解析器１８２及びアニメ化器１８４は各々、ハードウェア、例えば、ＡＳＩＣ、又は適切なロジックをプログラムされたプログラマブルデバイス、例えばＦＰＧＡなど、汎用及び／又はグラフィックスプロセッサにより実行されるソフトウェア、又は、双方の組み合わせで実装することができる。
【００４２】
他の顔アニメーション手法、例えばモーション伝達及びメッシュ変形などと比較して、顔アニメーションにブレンド形状を使用することはいくつかの利点を有する可能性がある。１）表情カスタマイズ：アバターモデルが作成されるとき、表情がアバターのコンセプト及び特徴に従ってカスタマイズされることができる。アバターモデルがユーザに対してより面白く、魅力的に作られることができる。２）低い計算コスト：計算がモデルサイズに比例するように構成され、並列処理に対してより適するように作られることができる。３）良好なスケーラビリティ：フレームワークへのより多くの表情の追加が、より容易に行われることができる。
【００４３】
上記特徴の個々及び組み合わせで、ＡＡＥ１０６は、広範囲のモバイルコンピューティングデバイスによりホストされるのに特に適することが当業者に明らかであろう。しかしながら、ＡＡＥ１０６は、モバイルデバイス、例えばスマートフォン、ファブレット、コンピューティングタブレット、ラップトップコンピュータ、又は電子ブックリーダなどで動作するのに特に適するように設計されるが、本開示はそのように限定されるべきでない。ＫＢモジュール１０４及びＡＡＥ１０６はさらに、典型的モバイルデバイスより多くのコンピューティングパワーを有するコンピューティングデバイス、例えばデスクトップコンピュータ、ゲームコンソール、セットトップボックス、又はコンピュータサーバ上で動作できることが予期される。
【００４４】
次に、図９を参照すると、様々な実施形態に従う、図８の顔表情追跡機能の一例示的な実装がさらに詳細に示される。図示されるとおり、実施形態において、顔表情追跡機能は、図示されるように互いに結合された顔検出機能ブロック２０２、目印検出機能ブロック２０４、初期顔メッシュフィッティング機能ブロック２０６、顔表情推定機能ブロック２０８、頭部姿勢追跡機能ブロック２１０、口開き推定機能ブロック２１２、顔メッシュ追跡機能ブロック２１４、追跡確認機能ブロック２１６、目まばたき検出及び口補正機能ブロック２１８、及び顔メッシュ適合ブロック２２０を含むことができる。
【００４５】
実施形態において、顔検出機能ブロック２０２は、受信した複数のイメージフレームのうち１つ以上の、ウィンドウスキャンをとおして顔を検出するように構成されることができる。各ウィンドウ位置において、修正センサス変換（modified  census  transform）（ＭＣＴ）特徴を抽出することができ、カスケード分類器を適用して顔を探すことができる。目印検出機能ブロック２０４は、顔の目印点、例えば、目の中心、鼻の先、口の角、及び顔の輪郭点を検出するように構成されることができる。長方形の顔を所与として、初期目印位置が、平均顔形状に従って与えられることができる。その後、正確な目印位置が、反復的に明示的形状回帰（explicit  shape  regression）（ＥＳＲ）法をとおして見つけられることができる。
【００４６】
実施形態において、初期顔メッシュフィッティング機能ブロック２０６は、顔上に検出された複数の目印点に少なくとも部分的に基づいて、顔メッシュの３Ｄ姿勢を初期化するように構成されることができる。Ｃａｎｄｉｄｅ３ワイヤフレーム頭部モデルが使用されてもよい。頭部モデルの回転角度、並進ベクトル、及びスケーリングファクタが、ＰＯＳＩＴアルゴリズムを用いて推定されてもよい。結果として、イメージプレーン上の３Ｄメッシュの投影が２Ｄ目印にマッチし得る。顔表情推定機能ブロック２０８は、顔上に検出された複数の目印点に少なくとも部分的に基づいて、複数の顔モーションパラメータを初期化するように構成されることができる。Ｃａｎｄｉｄｅ３頭部モデルが、顔アクションパラメータ（facial  action  parameters）（ＦＡＵ）、例えば口の幅、口の高さ、鼻のしわ、目の開きなどにより制御されてもよい。上記ＦＡＵパラメータは、最小二乗フィッティングをとおして推定されてもよい。
【００４７】
頭部姿勢追跡機能ブロック２１０は、ピッチ、ヨー、及び／又はロールを含むユーザの頭部の回転角度と、水平、垂直方向に沿った、カメラからより近くなり又は遠くに行く並進距離とを算出するように構成されることができる。上記算出が複数のイメージフレームのうちサブサンプリングされた画素のサブセットに基づき、動的テンプレートマッチング及び再位置合わせを適用してもよい。口開き推定機能ブロック２１２は、口の上唇と下唇との開いた距離を算出するように構成されることができる。口のジオメトリ（開いている／閉じている）及び見た目の補正が、サンプルデータベースを用いて訓練されてもよい。さらに、口開き距離が複数のイメージフレームのうち現在のイメージフレームのサブサンプリングされた画素のサブセットに基づいて推定され、ＦＥＲＮ回帰を適用してもよい。
【００４８】
顔メッシュ追跡機能ブロック２１４は、複数のイメージフレームのうちサブサンプリングされた画素のサブセットに基づいて、顔メッシュの位置、方向付け、又は変形を調整して、顔メッシュによる顔のカバレッジと顔の動きの反映との継続を維持するように構成されることができる。上記調整は、Ｃａｎｄｉｄｅ３モデル内の予め定義されたＦＡＵパラメータの影響下で、連続したイメージフレームのイメージアライメントをとおして実行することができる。頭部姿勢追跡機能ブロック２１０と口の開きとの結果は、パラメータ最適化に対するソフト制約の役割を果たすことができる。追跡確認機能ブロック２１６は、顔メッシュ追跡状態を監視して、顔を再配置することが必要かどうかを決定するように構成されることができる。追跡確認機能ブロック２１６は、１つ以上の顔領域又は目領域分類器を適用して、上記決定を行うことができる。追跡が円滑に実行されている場合、動作は次フレーム追跡で継続することができ、さもなければ、動作は顔検出機能ブロック２０２に戻り、現在のフレームについて顔を再配置させることができる。
【００４９】
目まばたき検出及び口補正機能ブロック２１８は、目のまばたき状態と口の形状とを検出するように構成されることができる。目のまばたきは、光学フロー解析をとおして検出することができ、口の形状／動きは、口のフレーム間ヒストグラム差の検出をとおして推定することができる。顔全体のメッシュ追跡の精緻化として、目まばたき検出及び口補正機能ブロック２１６は、より正確な目まばたき推定を生み出し、口動き感度を向上させることができる。
【００５０】
顔メッシュ適合機能ブロック２２０は、導出された顔アクションユニットに従って顔メッシュを再構築し、顔メッシュ下で現在のイメージフレームを再サンプリングして次イメージフレームの処理をセットアップするように構成されることができる。
【００５１】
説明された例示的な顔表情追跡機能は、“FACIAL  EXPRESSION  AND/OR  INTERACTION  DRIVEN  AVATAR  APPARATUS  AND  METHOD”と題され2014年3月19日に申請された同時係属特許出願の国際出願第PCT/CN2014/073695号の主題である。記載されるとおり、そのアーキテクチャ、機能ブロック間の作業負荷の分配が、顔表情追跡機能１２２を、ラップトップ若しくはデスクトップコンピュータ又はサーバと比較して比較的より多く制限されたコンピューティングリソースを有するポータブルデバイスに特に適するようにする。さらなる詳細については、国際出願第PCT/CN2014/073695号を参照されたい。
【００５２】
別の実施形態において、顔表情追跡機能は、当分野において知られる複数の他の顔追跡器のうち任意のものであってもよい。
【００５３】
図１０は、本開示の選択された態様を実施するクライアントデバイス又はサーバとしての使用に適し得る一例示的なコンピュータシステムを示す。図示されるとおり、コンピュータ５００は、１つ以上のプロセッサ又はプロセッサコア５０２及びシステムメモリ５０４を含むことができる。請求項を含め本出願を目的として、用語「プロセッサ」は物理プロセッサを参照し、用語「プロセッサ」及び「プロセッサコア」は、文脈が別段明示的に要求しない限り、同義と考えることができる。さらに、コンピュータ５００は、大容量記憶デバイス５０６（例えば、ディスケット、ハードドライブ、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）など）、入力／出力デバイス５０８（例えば、ディスプレイ、キーボード、カーソル制御など）、及び通信インターフェース５１０（例えば、ネットワークインターフェースカード、モデムなど）を含むことができる。上記要素はシステムバス５１２を介して互いに結合することができ、システムバス５１２は１つ以上のバスを表し得る。複数バスの場合、これらは１つ以上のバスブリッジ（図示されていない）によりブリッジされてよい。
【００５４】
上記要素の各々は、当分野において知られるその従来的機能を実行することができる。具体的に、システムメモリ５０４及び大容量記憶デバイス５０６を用いて、前に説明されたＫＢモジュール１０４及び／又はＡＡＥ１０６に関連付けられた動作を実装するプログラミング命令のワーキングコピー及び永続的コピーを記憶することができ、上記コピーは、集合的に計算ロジック５２２として参照される。様々な要素を、プロセッサ５０２によりサポートされるアセンブラ命令、又はこうした命令へコンパイルすることができる高水準言語、例えばＣにより実装することができる。
【００５５】
上記要素５１０〜５１２の数、能力、及び／又はキャパシティは、コンピュータ５００がクライアントデバイスとして使用されるか又はサーバとして使用されるかに依存して変動してもよい。クライアントデバイスとしての使用のとき、上記要素５１０〜５１２の能力及び／又はキャパシティは、クライアントデバイスが固定デバイスか、あるいはスマートフォン、コンピューティングタブレット、ｕｌｔｒａｂｏｏｋ、又はタブレットコンピュータなどのモバイルデバイスかに依存して、変動してもよい。そうでない場合、要素５１０〜５１２の構成は既知であり、したがってさらには説明されない。
【００５６】
当業者により十分理解されるであろうとおり、本開示は、方法又はコンピュータプログラム製品として具現化することができる。したがって、本開示は、前に説明されたようにハードウェアで具現化されることに追加で、全体的にソフトウェアの実施形態（ファームウェア、常住ソフトウェア、マイクロコード等を含む）、又は、全体が一般に「回路」、「モジュール」、又は「システム」として参照され得るソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形式をとることができる。さらに、本開示は、コンピュータ使用可能プログラムコードを媒体に具現化させた表現の、任意の有形又は非一時的媒体に具現化されたコンピュータプログラム製品の形式をとることができる。図１１は、命令を記憶する使用に適し得る一例示的なコンピュータ読取可能非一時記憶媒体を示し、上記命令は、装置による命令の実行に応答して、本開示の選択された態様を装置に実施させる。図示されるとおり、非一時的コンピュータ読取可能記憶媒体６０２が、複数のプログラミング命令６０４を含むことができる。プログラミング命令６０４は、デバイス、例えばコンピュータ５００が、プログラミング命令の実行に応答して例えば図１〜図９を参照して説明されたＫＢモジュール１０４及び／又はＡＡＥ１０６に関連付けられた様々な動作を実行することを可能にするように構成されることができる。別の実施形態において、プログラミング命令６０４は、代わって、複数のコンピュータ読取可能非一時記憶媒体６０２に配設されてもよい。別の実施形態において、プログラミング命令６０４は、コンピュータ読取可能一時記憶媒体、例えば信号などに配設されてもよい。
【００５７】
１つ以上のコンピュータ使用可能又はコンピュータ読取可能媒体の任意の組み合わせが利用されてよい。コンピュータ使用可能又はコンピュータ読取可能媒体は、例えば、これらに限られないが、電子、磁気、光学、電磁気、赤外、又は半導体の、システム、装置、デバイス、又は伝搬媒体であり得る。コンピュータ読取可能媒体のより具体的な例（包括的でないリスト）には下記が含まれる：１つ以上のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、消去可能プログラマブル読取専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）、光学記憶デバイス、送信媒体、例えばインターネット又はイントラネットをサポートする送信媒体など、又は磁気記憶デバイス。コンピュータ使用可能又はコンピュータ読取可能媒体は、さらには、プログラムが例えば紙又は他の媒体の光学スキャンを介して電子的に捕捉され、それから必要な場合に適切な仕方でコンパイルされ、解釈され、又はその他の方法で処理され、それからコンピュータメモリに記憶されるとき、プログラムが印刷された紙又は別の適切な媒体であり得ることに留意されたい。本文献の文脈において、コンピュータ使用可能又はコンピュータ読取可能媒体は、命令実行システム、装置、又はデバイスによって又はこれらと接続して使用されるプログラムを含み、記憶し、通信し、伝搬し、又は運ぶことができる任意の媒体であり得る。コンピュータ使用可能媒体は、ベースバンドにおいて又は搬送波の一部としてコンピュータ使用可能プログラムコードを具現化された伝搬データ信号を含んでもよい。コンピュータ使用可能プログラムコードは、任意の適切な媒体を用いて送信されることができ、上記媒体には、これらに限られないが、無線、有線、光ファイバケーブル、ＲＦ等が含まれる。
【００５８】
本開示の動作を実行するコンピュータプログラムコードは、１つ以上のプログラミング言語の任意の組み合わせで書かれてよく、上記言語には、オブジェクト指向型プログラミング言語、例えばＪａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋など、及び従来の手続き型プログラミング言語、例えば「Ｃ」プログラミング言語又は同様のプログラミング言語が含まれる。プログラムコードは、スタンドアロンソフトウェアパッケージとして全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上かつ部分的にリモートコンピュータ上で、あるいは全体的にリモートコンピュータ又はサーバ上で実行することができる。後半のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を含む任意タイプのネットワークをとおしてユーザのコンピュータに接続されてよく、あるいは、接続は、外部コンピュータに対して（例えば、インターネットサービスプロバイダを用いてインターネットをとおして）行われてもよい。
【００５９】
本開示は、該開示の実施形態に従う方法、装置（システム）、及びコンピュータプログラム製品のフローチャート例示及び／又はブロック図を参照して説明される。フローチャート例示及び／又はブロック図の各ブロック並びにフローチャート例示及び／又はブロック図内のブロックの組み合わせはコンピュータプログラム命令により実装できることが理解されるであろう。上記コンピュータプログラム命令は、汎用目的コンピュータ、特別目的コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されてマシンを生み出すことができ、したがって、上記コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行する上記命令は、フローチャート及び／又はブロック図の１つ又は複数のブロック内に指定された機能／動作を実装する手段を作り出す。
【００６０】
上記コンピュータプログラム命令は、さらに、コンピュータ又は他のプログラマブルデータ処理装置に特定の仕方で機能するように指令することができるコンピュータ読取可能媒体に記憶されてもよく、したがって、コンピュータ読取可能媒体に記憶された上記命令は、フローチャート及び／又はブロック図の１つ又は複数のブロックに指定された機能／動作を実装する命令手段を含む製造品を作り出す。
【００６１】
上記コンピュータプログラム命令は、さらに、コンピュータ又は他のプログラマブルデータ処理装置にロードされて、一連の動作ステップを上記コンピュータ又は他のプログラマブル装置上で実行させてコンピュータ実施処理を作り出すことができ、したがって、コンピュータ又は他のプログラマブル装置上で実行する上記命令は、フローチャート及び／又はブロック図の１つ又は複数のブロック内に指定された機能／動作を実装する処理を提供する。
【００６２】
図面におけるフローチャート及びブロック図は、本開示の様々な実施形態に従うシステム、方法、及びコンピュータプログラム製品のあり得る実装のアーキテクチャ、機能性、及び動作を例示する。上記の点で、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実行する１つ以上の実行可能命令を含むモジュール、セグメント、又はコードの部分を表すことができる。さらに、いくつかの代替的実装において、ブロック内に記された機能が図内に記された順序から外れて発生し得ることが留意されるべきである。例えば、関与する機能性に依存して、連続して示される２つのブロックが実際には実質的に同時に実行される可能性があり、あるいはブロックが時々反対の順序で実行される可能性がある。さらに、ブロック図及び／又はフローチャート例示の各ブロック並びにブロック図及び／又はフローチャート例示内のブロックの組み合わせは、指定された機能又は動作を実行する特別目的ハードウェアベースシステム、又は特別目的ハードウェアとコンピュータ命令との組み合わせにより実装できることが留意される。
【００６３】
本明細書において用いられる用語は、具体的な実施形態を単に説明する目的のものであり、本開示の限定であるようには意図されない。本明細書において用いられるとき、単数形の「一の（“a”、“an”）」「その（“the”）」は、文脈が別段明示的に示さない限り、複数形を同様に含むことが意図される。さらに、用語「含む」及び／又は「含んでいる」は、本明細書において用いられるとき、記述された特徴、整数、ステップ、動作、要素、及び／又はコンポーネントの存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び／又はこれらの組み合わせの存在又は追加を除外しないことが理解されるであろう。
【００６４】
実施形態は、コンピュータ処理、コンピューティングシステムとして、又は製造品、例えばコンピュータ読取可能媒体のコンピュータプログラム製品などとして実装することができる。コンピュータプログラム製品は、コンピュータシステムにより読取可能な、コンピュータ処理を実行するコンピュータプログラム命令をエンコードしたコンピュータ記憶媒体であり得る。
【００６５】
下記の請求項内のすべてのミーンズ又はステッププラスファンクション要素の対応する構造、材料、動作、及び均等物は、具体的に請求される他の請求される要素との組み合わせで上記ファンクションを実行する任意の構造、材料、又は動作を含むことが意図される。本開示の説明は、例示及び説明の目的で提示されており、包括的であり又は開示された形式での開示に限定されるようには意図されない。多くの修正及びバリエーションが、本開示の範囲及び主旨から逸脱することなく当業者に明らかになるであろう。実施形態は、本開示の原理及び実践的適用を最も良く説明するように、及び、当業者が企図される具体的な使用に適するように様々な修正を有する実施形態について本開示を理解することを可能にするように選択され、説明されている。
【００６６】
図１０を再度参照し、一実施形態について、プロセッサ５０２の少なくとも１つが、（メモリ５０４及び記憶装置５０６に記憶する代わりに）計算ロジック５２２を有するメモリと共にパッケージ化されてもよい。一実施形態について、プロセッサ５０２の少なくとも１つが、計算ロジック５２２を有するメモリと共にパッケージ化されてシステムインパッケージ（ＳｉＰ）を形成してもよい。一実施形態について、プロセッサ５０２の少なくとも１つが、計算ロジック５２２を有するメモリと同じダイに統合されてもよい。一実施形態について、プロセッサ５０２の少なくとも１つが、計算ロジック５２２を有するメモリと共にパッケージ化されてシステムオンチップ（ＳｏＣ）を形成してもよい。少なくとも１つの実施形態について、ＳｏＣは、例えば、これらに限られないが、スマートフォン又はコンピューティングタブレットに利用されてもよい。
【００６７】
ゆえに、本開示の様々な例示的実施形態は、これらに限られないが下記を含め説明されている。
【００６８】
例１は、アプリケーションを実行する１つ以上のプロセッサと、上記１つ以上のプロセッサに結合されて、上記アプリケーションに入力するための複数のキーボードを対応する複数のキーボードモードにおいて提供し、上記アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ又はアニメ化されることができる対応するアバターを有する複数のアバターキーを有するアバターキーボードをアバターキーボードモードにおいて含むキーボードモジュールと、を含む、通信する装置であり得る。
【００６９】
例２は、上記複数のキーボードは、英数字キーボード又はエモーティコンキーボードをさらに含むことができ、上記キーボードモジュールは、上記アバターキーボードの要求に応答して、上記アバターキーボードモードに入り、使用のために上記アバターキーボードを表示する、例１であり得る。
【００７０】
例３は、上記キーボードモジュールは、アバターキーをカスタマイズし又はアニメ化する要求に応答して、上記アバターキーボードモード内のカスタマイズ／アニメ化モードに入り、当該装置のユーザの１つ以上のイメージを捕捉するカメラをオープンすることができる、例１又は２であり得る。
【００７１】
例４は、上記キーボードモジュールはさらに、上記アバターキーボードのエリアに上記カメラの現在ビューを表示し、あるいは表示することを容易にすることができる、例３であり得る。
【００７２】
例５は、当該装置は、上記カメラをさらに含むことができる、例３であり得る。
【００７３】
例６は、上記キーボードモジュールはさらに、上記ユーザの顔表情又は頭部姿勢について上記１つ以上のイメージを解析し、かつ上記ユーザの顔表情又は頭部姿勢についての上記解析の結果に少なくとも部分的に基づいて上記複数のアバターキーのうち選択された１つをカスタマイズし又はアニメ化するアバターアニメエンジンに、上記１つ以上のイメージを提供し、あるいは提供されることをもたらすことができる、例３であり得る。
【００７４】
例７は、当該装置は、上記アバターアニメエンジンをさらに含むことができる、例６であり得る。
【００７５】
例８は、上記キーボードモジュールは、上記複数のアバターキーのうち対応する１つの選択に応答して、上記アプリケーションにアバター又はアバターのアニメを入力することができる、例１乃至７のうちいずれか１つであり得る。
【００７６】
例９は、上記アプリケーションは、チャットアプリケーション、メッセージングアプリケーション、電子メールアプリケーション、又はソーシャルネットワーキングアプリケーションを含む群から選択された通信アプリケーションであり得る、例８であり得る。
【００７７】
例１０は、当該装置は、上記通信アプリケーションをさらに含むことができる、例９であり得る。
【００７８】
例１１は、コンピューティングデバイスにより、アプリケーションを実行することと、上記コンピューティングデバイスにより、アバターキーボードの要求を受信することと、上記要求に応答して、上記コンピューティングデバイスにより、アバターキーボードモードに入ることと、上記アプリケーションに対して選択されたアバターキーのアバター又はアバターのアニメを入力するのに使用される、対応するアバターを有する複数のアバターキーを有するアバターキーボードを表示することであって、上記対応するアバターは、上記アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ、あるいはアニメ化されることができる、ことと、を含む、通信する方法であり得る。
【００７９】
例１２は、上記コンピューティングデバイスにより、上記アバターキーボードモードの間に、アバターキーをカスタマイズし又はアニメ化するように上記アバターキーボードモード内のカスタマイズ／アニメ化モードに入る要求を受信することと、上記カスタマイズ／アニメ化モードに入る上記要求に応答して、上記カスタマイズ／アニメ化モードに入ることと、上記コンピューティングデバイスのユーザの１つ以上のイメージを捕捉するカメラをオープンすることと、をさらに含む例１１であり得る。
【００８０】
例１３は、上記コンピューティングデバイスにより、上記アバターキーボードのエリアに上記カメラの現在ビューを表示すること又は表示することを容易にすること、をさらに含む例１２であり得る。
【００８１】
例１４は、上記コンピューティングデバイスにより、上記ユーザの顔表情又は頭部姿勢について上記１つ以上のイメージを解析することと、上記ユーザの顔表情又は頭部姿勢についての上記解析の結果に少なくとも部分的に基づいて上記複数のアバターキーのうち選択された１つをカスタマイズすること又はアニメ化することと、をさらに含む例１２であり得る。
【００８２】
例１５は、上記コンピューティングデバイスにより、上記複数のアバターキーのうち対応する１つの選択に応答して、上記アプリケーションに対してアバター又はアバターのアニメを入力すること、をさらに含む例１１乃至１４のうちいずれか１つであり得る。
【００８３】
例１６は、コンピューティングデバイスによる命令の実行に応答して、上記コンピューティングデバイスにキーボードモジュールを動作させる前記命令を含む１つ以上のコンピュータ読取可能媒体であって、上記キーボードモジュールは、アプリケーションに入力するための複数のキーボードを対応する複数のキーボードモードにおいて提供し、上記アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ又はアニメ化されることができる対応するアバターを有する複数のアバターキーを有するアバターキーボードをアバターキーボードモードにおいて含む、コンピュータ読取可能媒体であり得る。
【００８４】
例１７は、上記複数のキーボードは、英数字キーボード又はエモーティコンキーボードをさらに含むことができ、上記キーボードモジュールは、上記アバターキーボードの要求に応答して、上記アバターキーボードモードに入り、使用のために上記アバターキーボードを表示することができる、例１６であり得る。
【００８５】
例１８は、上記キーボードモジュールは、アバターキーをカスタマイズし又はアニメ化する要求に応答して、上記アバターキーボードモード内のカスタマイズ／アニメ化モードに入り、上記装置のユーザの１つ以上のイメージを捕捉するカメラをオープンすることができる、例１６であり得る。
【００８６】
例１９は、上記キーボードモジュールはさらに、上記アバターキーボードのエリアに上記カメラの現在ビューを表示し、あるいは表示することを容易にすることができる、例１８であり得る。
【００８７】
例２０は、上記キーボードモジュールはさらに、上記ユーザの顔表情又は頭部姿勢について上記１つ以上のイメージを解析し、かつ上記ユーザの顔表情又は頭部姿勢についての上記解析に少なくとも部分的に基づいて上記複数のアバターキーのうち選択された１つをカスタマイズし又はアニメ化するアバターアニメエンジンに、上記１つ以上のイメージを提供し、あるいは提供されることをもたらすことができる、例１８であり得る。
【００８８】
例２１は、上記命令は、上記コンピューティングデバイスによる実行に応答して、上記コンピューティングデバイスに上記アバターアニメエンジンをさらに提供することができる、例２０であり得る。
【００８９】
例２２は、上記キーボードモジュールは、上記複数のアバターキーのうち対応する１つの選択に応答して、上記アプリケーションに対してアバター又はアバターのアニメを入力することができる、例１６乃至２１のうちいずれか１つであり得る。
【００９０】
例２３は、上記アプリケーションは、チャットアプリケーション、メッセージングアプリケーション、電子メールアプリケーション、又はソーシャルネットワーキングアプリケーションを含む群から選択された通信アプリケーションであり得る、例２２であり得る。
【００９１】
例２４は、アプリケーションを実行する手段と、アバターキーボードの要求を受信する手段と、上記要求に応答する手段であって、アバターキーボードモードに入る手段、及び、上記アプリケーションに対して選択されたアバターキーのアバター又はアバターのアニメを入力するのに使用される、対応するアバターを有する複数のアバターキーを有するアバターキーボードを表示する手段を含み、上記対応するアバターは、上記アプリケーションに対する入力の前にユーザの顔表情又は頭部姿勢に少なくとも部分的に基づいて動的にカスタマイズされ又はアニメ化されることができる、手段と、を含む、通信する装置であり得る。
【００９２】
例２５は、上記アバターキーボードモードの間、アバターキーをカスタマイズし又はアニメ化するように上記アバターキーボードモード内のカスタマイズ／アニメ化モードに入る要求を受信する手段と、上記カスタマイズ／アニメ化モードに入る上記要求に応答する手段であって、上記カスタマイズ／アニメ化モードに入る手段、及び上記コンピューティングデバイスのユーザの１つ以上のイメージを捕捉するカメラをオープンする手段を含む、手段と、をさらに含む例２４であり得る。
【００９３】
例２６は、上記アバターキーボードのエリアに上記カメラの現在ビューを表示する又は表示することを容易にする手段、をさらに含む例２５であり得る。
【００９４】
例２７は、上記ユーザの顔表情又は頭部姿勢について上記１つ以上のイメージを解析し、上記ユーザの顔表情又は頭部姿勢についての上記解析の結果に少なくとも部分的に基づいて上記複数のアバターキーのうち選択された１つをカスタマイズし、あるいはアニメ化する手段、をさらに含む例２５であり得る。
【００９５】
例２８は、上記複数のアバターキーのうち対応する１つの選択に応答して、上記アプリケーションに対してアバター又はアバターのアニメを入力する手段、をさらに含む例２４乃至２７であり得る。
【００９６】
本開示の主旨又は範囲から逸脱することなく、開示されたデバイス及び関連する方法の開示された実施形態において、様々な修正及びバリエーションがなされ得ることが当業者に明らかであろう。ゆえに、本開示は、上記で開示された実施形態の修正及びバリエーションがいずれかの請求項及びその均等物の範囲内にはいるならば、上記修正及びバリエーションをカバーすることが意図される。
【図１】
2018514020.tif 000004
【図２】
2018514020.tif 000005
【図３】
2018514020.tif 000006
【図４】
2018514020.tif 000007
【図５】
2018514020.tif 000008
【図６】
2018514020.tif 000009
【図７】
2018514020.tif 000010
【図８】
2018514020.tif 000011
【図９】
2018514020.tif 000012
【図１０】
2018514020.tif 000013
【図１１】
2018514020.tif 000014
【国際調査報告】
2018514020.tif 000015
2018514020.tif 000016