IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許7299414画像処理方法、装置、電子機器及びコンピュータプログラム
<>
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図1
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図2
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図3A
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図3B
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図3C
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図4
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図5
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図6
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図7
  • 特許-画像処理方法、装置、電子機器及びコンピュータプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-19
(45)【発行日】2023-06-27
(54)【発明の名称】画像処理方法、装置、電子機器及びコンピュータプログラム
(51)【国際特許分類】
   G06T 13/40 20110101AFI20230620BHJP
   A63F 13/60 20140101ALI20230620BHJP
【FI】
G06T13/40
A63F13/60
【請求項の数】 19
(21)【出願番号】P 2022520106
(86)(22)【出願日】2020-10-30
(65)【公表番号】
(43)【公表日】2022-12-02
(86)【国際出願番号】 CN2020125081
(87)【国際公開番号】W WO2021143278
(87)【国際公開日】2021-07-22
【審査請求日】2022-03-30
(31)【優先権主張番号】202010036516.7
(32)【優先日】2020-01-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲劉▼ 杰
【審査官】粕谷 満成
(56)【参考文献】
【文献】米国特許出願公開第2020/0005138(US,A1)
【文献】国際公開第2019/242454(WO,A1)
【文献】特開2008-237327(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/40
A63F 13/60
(57)【特許請求の範囲】
【請求項1】
電子機器が実行する、画像処理方法であって、
仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するステップと、
前記仮想オブジェクトの第2骨格姿勢を取得するステップと、
前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成するステップと、
前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定するステップと、
座標空間内の前記参照表面モデル及び前記範例表面モデルに従って前記仮想オブジェクトを生成するために、前記姿勢変換行列に基づいて、前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換するステップと、
を有する方法。
【請求項2】
前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成する前記ステップは、
前記第2骨格姿勢に基づいて、前記参照表面モデルをスキニング(skinning)して、前記第2骨格姿勢の範例骨格スキニングモデルを取得するステップと、
前記範例骨格スキニングモデルの表面データを抽出し、前記表面データに従って前記第2骨格姿勢の範例表面モデルを生成するステップと、
を有する請求項1に記載の方法。
【請求項3】
前記範例骨格スキニングモデルの表面データを抽出する前に、前記方法は、
前記範例骨格スキニングモデルに対する要求側の修正要求を取得するステップと、
前記要求側が前記範例骨格スキニングモデルを修正するようにするために、前記修正要求に対する検証が合格した場合、前記範例骨格スキニングモデルの修正権限を前記要求側に公開するステップと、
を更に有し、
前記範例骨格スキニングモデルの表面データを抽出する前記ステップは、
修正された前記範例骨格スキニングモデルの表面データを抽出するステップを有する、
請求項2に記載の方法。
【請求項4】
前記姿勢変換行列に基づいて、前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換する前記ステップは、
前記範例表面モデルを前記参照表面モデルが配置された座標空間に変換するために、前記姿勢変換行列に従って前記範例表面モデルに対して座標変換処理を実行するステップを有する、
請求項1に記載の方法。
【請求項5】
前記方法は、
前記仮想オブジェクトのターゲット骨格姿勢を取得するステップと、
前記ターゲット骨格姿勢に基づいて前記参照表面モデルをスキニングして、前記ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得するステップと、
前記座標空間内の前記参照表面モデル及び前記範例表面モデルに基づいて、前記ターゲット骨格姿勢の修正表面モデルを決定するステップと、
前記ターゲット骨格スキニングモデル及び前記修正表面モデルに基づいて、前記仮想オブジェクトを生成するステップと、
を更に有する請求項1に記載の方法。
【請求項6】
前記座標空間内の前記参照表面モデル及び前記範例表面モデルに基づいて、前記ターゲット骨格姿勢の修正表面モデルを決定する前記ステップは、
前記第1骨格姿勢及び前記第2骨格姿勢を前記ターゲット骨格姿勢に融合した場合、前記第1骨格姿勢及び前記第2骨格姿勢にそれぞれ割り当てられた重みを決定するステップと、
前記第1骨格姿勢の重み及び前記第2骨格姿勢の重みに基づいて、前記参照表面モデル及び前記範例表面モデルに対して融合処理を実行して、前記ターゲット骨格姿勢の修正表面モデルを取得するステップと、
を有する請求項5に記載の方法。
【請求項7】
前記第1骨格姿勢及び前記第2骨格姿勢を前記ターゲット骨格姿勢に融合した場合、前記第1骨格姿勢及び前記第2骨格姿勢にそれぞれ割り当てられた重みを決定する前記ステップは、
前記第1骨格姿勢及び前記第2骨格姿勢を前記ターゲット骨格姿勢に融合した場合、動径基底関数を介して、前記第1骨格姿勢と前記第2骨格姿勢との間で補間処理を実行して、前記第1骨格姿勢及び前記第2骨格姿勢にそれぞれ割り当てられた重みを取得するステップを有する、
請求項6に記載の方法。
【請求項8】
前記第1骨格姿勢の重み及び前記第2骨格姿勢の重みに基づいて、前記参照表面モデル及び前記範例表面モデルに対して融合処理を実行して、前記ターゲット骨格姿勢の修正表面モデルを取得する前記ステップは、
前記第1骨格姿勢の重みを前記参照表面モデルの重みとして使用し、前記第2骨格姿勢の重みを前記範例表面モデルの重みとして使用し、前記参照表面モデル及び前記範例表面モデルに対して重み付けして、前記ターゲット骨格姿勢の修正表面モデルを取得するステップを有する、
請求項6に記載の方法。
【請求項9】
前記ターゲット骨格スキニングモデル及び前記修正表面モデルに基づいて、前記仮想オブジェクトを生成する前記ステップは、
ターゲット姿勢変換行列として、前記第1骨格姿勢と前記ターゲット骨格姿勢との姿勢変換行列を決定するステップと、
前記ターゲット姿勢変換行列に基づいて、前記座標空間内の前記修正表面モデルに対して座標変換処理を実行して、抽出された前記修正表面モデルを取得するステップと、
前記仮想オブジェクトを生成するために、抽出された前記修正表面モデル及び前記ターゲット骨格スキニングモデルに対して重ね合わせ処理を実行するステップと、
を有する請求項5に記載の方法。
【請求項10】
前記抽出された前記修正表面モデル及び前記ターゲット骨格スキニングモデルに対して重ね合わせ処理を実行する前に、前記方法は、
前記ターゲット骨格スキニングモデルに対して表面変形処理を実行するステップを更に有し、
前記仮想オブジェクトを生成するために、抽出された前記修正表面モデル及び前記ターゲット骨格スキニングモデルに対して重ね合わせ処理を実行する前記ステップは、
前記仮想オブジェクトを生成するために、抽出された前記修正表面モデル及び表面変形処理された前記ターゲット骨格スキニングモデルに対して重ね合わせ処理を実行するステップを有する、
請求項9に記載の方法。
【請求項11】
前記仮想オブジェクトのターゲット骨格姿勢を取得する前記ステップは、
前記仮想オブジェクトの操作データを取得するステップと、
前記操作データに基づいて、前記仮想オブジェクトのターゲット骨格姿勢を決定するステップと、
を有する請求項5に記載の方法。
【請求項12】
前記仮想オブジェクトのターゲット骨格姿勢を取得する前記ステップは、
センサデータを取得するステップと、
前記センサデータに基づいて、ユーザアクションを決定するステップと、
前記ユーザアクションに基づいて、前記仮想オブジェクトのターゲット骨格姿勢を決定するステップと
を有する請求項5に記載の方法。
【請求項13】
前記第2骨格姿勢の数は少なくとも2つを含み、
前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成する前記ステップは、
前記参照表面モデル及び少なくとも2つの前記第2骨格姿勢に基づいて、少なくとも2つの前記第2骨格姿勢の範例表面モデルをそれぞれ生成するステップを有する、
請求項1乃至12のいずれか一項に記載の方法。
【請求項14】
前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定する前記ステップは、
前記第1骨格姿勢と各前記第2骨格姿勢との姿勢変換行列を決定するステップを有し、
前記姿勢変換行列に基づいて前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換する前記ステップは、
前記第1骨格姿勢と各前記第2骨格姿勢との姿勢変換行列に基づいて、少なくとも2つの前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換するステップを有する、
請求項13に記載の方法。
【請求項15】
前記方法は、
前記仮想オブジェクトのターゲット骨格姿勢を取得するステップと、
前記ターゲット骨格姿勢に基づいて前記参照表面モデルをスキニングして、前記ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得するステップと、
前記座標空間内の前記参照表面モデル及び少なくとも2つの前記範例表面モデルに基づいて、前記ターゲット骨格姿勢の修正表面モデルを決定するステップと、
前記ターゲット骨格スキニングモデル及び前記修正表面モデルに基づいて、前記仮想オブジェクトを生成するステップと
を更に有する請求項14に記載の方法。
【請求項16】
前記方法は、
仮想シーンに仮想オブジェクトを表示するために、生成された前記仮想オブジェクトに対してレンダリング処理を実行するステップを更に有する、
請求項1乃至12のいずれか一項に記載の方法。
【請求項17】
画像処理装置であって、
仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するように構成される第1取得モジュールと、
前記仮想オブジェクトの第2骨格姿勢を取得するように構成される第2取得モジュールと、
前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成するように構成される生成モジュールと、
前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定するように構成される行列決定モジュールと、
座標空間内の前記参照表面モデル及び前記範例表面モデルに従って前記仮想オブジェクトを生成するために、前記姿勢変換行列に基づいて、前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換するように構成される座標空間変換モジュールと、
を備える装置。
【請求項18】
電子機器であって、メモリ及びプロセッサを有し、
前記メモリは、コンピュータ可読命令を記憶するよう構成され、
前記プロセッサは、前記メモリに記憶されたコンピュータ可読命令を実行し、それにより、請求項1乃至16のいずれか一項に記載の画像処理方法を実行するように構成される、
電子機器。
【請求項19】
コンピュータプログラムであって、
コンピュータに、請求項1ないし16のいずれか一項に記載の画像処理方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2020年01月14日に中国特許局に提出された、出願番号が202010036516.7である中国特許出願の優先権を主張するものであり、当該中国特許出願の全ての内容が参照により本願に援用される。
【0002】
本願は、画像処理分野に関し、特に、画像処理方法、装置、電子機器及びコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
情報技術の急速な発展に伴い、環境を感知し、情報を取得するためのチャネルが拡大される。特に、実際のニーズに応じて仮想オブジェクトの表示を実現できる仮想化表示技術は、ユーザとのインタラクションのためにゲームの仮想シーンに仮想オブジェクトを表示することなど、様々な典型的な応用シーンを有する。
【0004】
技術の継続的な開発と更新の過程で、ユーザは、仮想オブジェクトに対する要求もますます高くなっている。例えば、仮想オブジェクトをより現実的で、鮮やかで、芸術的表現力を有することを要求している。主に視覚出力情報に依存する仮想オブジェクトの場合、ユーザの要求を満たすための最も直接的な方法は、視覚方面で最適化を実行することであるため、仮想オブジェクトの生成段階では、仮想オブジェクトに様々な表面変形(仮想オブジェクトの特定の部分を振るようにするなど)を加える要求がある。
【発明の概要】
【課題を解決するための手段】
【0005】
本願実施例では、
仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するステップと、
前記仮想オブジェクトの第2骨格姿勢を取得するステップと、
前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成するステップと、
前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定するステップと、
座標空間内の前記参照表面モデル及び前記範例表面モデルに従って前記仮想オブジェクトを生成するために、前記姿勢変換行列に基づいて、前記範例表面モデル及び前記参照表面モデルを同じ座標空間に変換するステップと
を有する画像処理方法を提供する。
【0006】
本願実施例では、
仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するように構成される第1取得モジュールと、
前記仮想オブジェクトの第2骨格姿勢を取得するように構成される第2取得モジュールと、
前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成するように構成される生成モジュールと、
前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定するように構成される行列決定モジュールと、
座標空間内の前記参照表面モデル及び前記範例表面モデルに従って前記仮想オブジェクトを生成するために、前記姿勢変換行列に基づいて、前記範例表面モデル及び前記参照表面モデルを同じ座標空間に変換するように構成される座標空間変換モジュールと
を有する画像処理装置を提供する。
【0007】
本願実施例では、
メモリ及びプロセッサを有し、前記メモリは、コンピュータ可読命令を記憶するように構成され、前記プロセッサは、前記メモリに記憶されたコンピュータ可読命令を実行し、それにより、本願実施例による画像処理方法を実行するように構成される、電子機器を提供する。
【0008】
本願実施例では、
コンピュータ可読命令を記憶し、前記コンピュータ可読命令がプロセッサによって実行されるとき、本願実施例による画像処理方法を実行する、コンピュータ可読記憶媒体を提供する。
【0009】
添付の図面を参照しながらその実施例を詳細に説明することによって、本願の上記した及び他の目的、特徴、及び利点は、より明らかになる。
【図面の簡単な説明】
【0010】
図1】本願実施例による画像処理システムのアーキテクチャの概略図である。
図2】本願実施例によるゲームシーンに適用される画像処理システムのアーキテクチャの概略図である。
図3A】本願実施例による画像処理方法のフローチャートである。
図3B】本願実施例による画像処理方法のフローチャートである。
図3C】本願実施例による画像処理方法のフローチャートである。
図4】本願実施例による素材リソース生成段階のフローチャートである。
図5】本願実施例による仮想オブジェクトの生成段階のフローチャートである。
図6】本願実施例によるMayaソフトウェアで仮想オブジェクトを生成するための端末インターフェース図である。
図7】本願実施例による画像処理装置のブロック図である。
図8】本願実施例による電子機器のハードウェア図である。
【発明を実施するための形態】
【0011】
次に、添付の図面を参照しながら例示的な実施形態をより完全に説明する。しかしながら、例示的な実施形態は、様々な形態で実施することができ、本明細書に記載の実施例に限定されると理解されるべきではなく、むしろ、これらの例示的な実施形態は、本願の説明を十分かつ完全にし、例示的な実施形態の構想を当業者に十分に伝えるために提供される。添付の図面は、本願の単なる概略図であり、必ずしも一定の縮尺通りに描く必要はない。添付の図面において、同じ参照番号は、同じ又は類似した部品を表すため、ここでは繰り返して説明しない。
【0012】
更に、説明された特徴、構造又は特性は、任意の適切な方法で1つ又は複数の実施形態に組み合わせることができる。以下の説明では、本願の例示的な実施形態を完全に理解するために、多くの特定の詳細が提供される。しかしながら、当業者は、本願の技術的解決策を実施するために1つ又は複数の特定の詳細が省略され得るか、又は他の方法、構成要素、ステップなどが使用され得ることを理解すべきである。その他の場合、本願の各側面を曖昧にすることを避けるために、既知の構造、方法、実現、又は動作を詳細に示さず、又は説明しない。
【0013】
図面に示されたブロック図の一部は機能的実体であり、必ずしも物理的又は論理的に独立した実体に対応するわけではない。これらの機能的実体は、ソフトウェアの形で実現され、又は、1つ又は複数のハードウェアモジュール又は集積回路に実現され、又は異なるネットワーク及び/又はプロセッサデバイス及び/又はマイクロコントローラデバイスに実現され得る。
【0014】
以下の説明において、「いくつかの実施例」という用語は、全ての可能な実施例のサブセットを説明するが、「いくつかの実施例」は、全ての可能な実施例の同じサブセット又は異なるサブセットであり得、競合することがない場合に組み合わせることができることが理解できる。以下の説明において、「複数」という用語は、少なくとも2つを意味する。
【0015】
特に定義されていない限り、本明細書で使用されるすべての技術用語及び科学用語は、本願の技術分野に属する当業者によって通常理解されるものと同じ意味を有する。本明細書で使用される用語は、単に本願実施例を説明するためのものであり、本願を限定することを意図するものではない。
【0016】
まず、本願の実施例における関連するいくつかの概念について簡単に説明する。
【0017】
1)仮想シーン:機器によって出力された、実世界とは異なるシーンであり、例えば、表示画面により出力される2D映像や、立体投影、仮想現実、拡張現実などの立体表示技術によって出力される3D映像など、肉眼又は機器の補助を介して仮想シーンに対して視覚的知覚を形成でき、更に、様々な可能なハードウェアを介して、聴覚的知覚、触覚的知覚、嗅覚的知覚、運動知覚など、実世界のシミュレーションの様々な知覚を形成することができる。
【0018】
2)仮想オブジェクト:仮想シーン内でインタラクションできる様々な人及び物の形象、又は仮想シーン内の可動オブジェクトであり、仮想オブジェクトは、ゲームエンジン、描画ソフトウェア、又は別の画像処理ツールを使用して生成することができ、仮想オブジェクトを生成するために使用されるコア技術は、3D画像技術である。当該可動オブジェクトは、仮想人物、仮想動物、漫画キャラクタなどであり得、例えば、仮想シーンに表示される人物、動物、植物、ドラム缶、壁、又は石であり得る。当該仮想オブジェクトは、当該仮想シーン内のユーザを表す仮想なアバタであり得る。仮想オブジェクトは、仮想シーン内で独自の形状とボリュームを有し、仮想シーン内の空間の一部を占める。本願実施例において、仮想オブジェクトは、アニメキャラクタであり得、本願実施例で提供される画像処理方法は、骨格アニメーションにおけるアニメキャラクタの画像処理プロセスに適用され得る。
【0019】
3)骨格アニメーション(Skeletal Animation):モデルアニメーションの一種である。骨格アニメーションでは、仮想オブジェクト(アニメキャラクタなど)は、骨格姿勢、表面モデルなどの少なくとも2種類のデータを含む。ここで、骨格姿勢は、仮想オブジェクト「骨格」の向き及び位置を記載し、表面モデルは、仮想オブジェクトの表面上の複数の頂点を記載し、即ち、表面モデルは、仮想オブジェクトの表面上の一連の頂点の集合として理解できる。骨格姿勢の変化は、対応的に表面モデルの変化を駆動でき、それにより、骨格姿勢を駆動することにより、対応するアニメーションを生成することができる。
【0020】
4)スキニング:「骨格姿勢の変化が対応的に表面モデルの変化を駆動できる」ことを実現するために、仮想オブジェクトの表面上のどの頂点が特定の骨格により駆動されることができるかを定義する必要があるが、仮想オブジェクトの表面上のどの頂点が特定の骨格によって駆動されることができるかを定義する(即ち、特定の骨格を仮想オブジェクトの表面上の特定の頂点にバインドする)プロセスをスキニングと呼ぶ。
【0021】
5)骨格スキニングモデル:骨格姿勢に従って表面モデルをスキニングした後の骨格スキニング情報を有するモデルである。骨格スキニングモデルは、主に、表面情報(表面データ)、骨格スキニング情報の2つの情報を含む。
【0022】
6)表面変形:仮想オブジェクトの生成を実行するとき、特定のサービス要件を満たすために、仮想オブジェクトに追加表面変形を加える必要がある場合がある。例えば、スキニング及びその他の必要な処理の後、ふっくらしたアニメキャラクタが生成されるが、実際のサービス要件では、当該アニメキャラクタを動かす必要がある場合、アニメキャラクタの腰の贅肉が実生活と同じように振れることがある。更に、芸術的なニーズを満たすために、脂肪は実生活よりも誇張して振れる。この場合、脂肪の振れをシミュレートできる追加表面変形をアニメーションキャラクタに加える必要がある。実際の応用では、追加表面変形は非線形表面変形であり得、更に、変形規則を捉えることが難しい複雑な非線形表面変形であり得ることが理解され得る。
【0023】
7)素材リソース:本願実施例において、仮想オブジェクトの生成を実際に実行する前に、関連する素材リソースの作成(製造)を事前に実行し、素材リソースは、参照表面モデル及び範例表面モデルを含む。ここで、参照表面モデルは、事前に設定された最も基本的な素材リソースであり、1つだけであり得、範例表面モデルは、参照表面モデルの基で更に取得された素材リソースであり、1つだけ、又は少なくとも2つであり得る。
【0024】
技術の発展に伴い、仮想オブジェクトの視覚的表現に対する要求はますます高まり、仮想オブジェクトの生成段階では、様々な表面変形(複雑な非線形表面変形など)を仮想オブジェクトに加える必要がある。しかしながら、現在の骨格アニメーション技術では、仮想オブジェクトの生成段階で表面変形処理をサポートできず、表面変形との互換性が低く、上記の要件を満たせない。
【0025】
これを鑑みて、本願実施例は、画像処理方法、装置、電子機器及びコンピュータ可読記憶媒体を提供し、素材リソースの生成プロセスに対する表面変形の影響を回避し、それにより、仮想オブジェクトの生成段階での表面変形処理をサポートし、表面変形との互換性を向上させることができる。
【0026】
一例として、図1を参照すると、図1は、本願実施例による画像処理システムのアーキテクチャ図であり、図1において、画像処理システムは、第1端末機器10、サーバ20及び第2端末機器30を含む。
【0027】
いくつかの実施例において、電子機器が端末機器であることを例として、本願実施例による画像処理方法は、端末機器によって実現できる。理解を容易にするために、第1端末機器10を例として説明する。例えば、第1端末機器10は、素材リソースを生成する動作を実行することができ、ここで、第1端末機器10は、素材リソースの生成に関連する機能、例えば、表面モデルを決定する機能、骨格姿勢を調整する機能などを、第1ユーザに提供して、第1ユーザの動作の下で素材リソースを生成することができる。第1端末機器10は、生成された素材リソースをローカルに記憶し、必要に応じて、記憶された素材リソースに従って、仮想オブジェクトの生成を実行し、生成された仮想オブジェクトに対してレンダリング処理を実行して、出力された仮想シーンに仮想オブジェクトを表示するなど、仮想オブジェクトを表示する。このような方法は、端末機器の強力なコンピューティング機能を備えるシーンに適用される。
【0028】
いくつかの実施例において、電子機器がサーバであることを例として、本願実施例による画像処理方法は、サーバによって実現できる。例えば、サーバ20は、素材リソースの自動生成を実行することができ、例えば、事前に記憶された第1骨格姿勢、第2骨格姿勢及び参照表面モデルに従って、素材リソースを生成し、生成された素材リソースをローカルに記憶する。サーバ20は更に、記憶された素材リソースに従って、仮想オブジェクトの生成を実行し、生成された仮想オブジェクトのレンダリング情報を端末機器に送信して、端末機器が仮想オブジェクトを表示するようにし、例えば、端末機器によって出力された仮想シーンに仮想オブジェクトを表示する。
【0029】
いくつかの実施例において、本願実施例による画像処理方法は更に、端末機器及びサーバによって協調的に実現できる。例えば、素材リソースの生成段階では、主に第1端末機器10及びサーバ20に関する。ここで、第1端末機器10は、主にフロントエンドとして機能し、第1ユーザの動作に応答して素材リソースを生成するために使用され、サーバ20は、主にリアエンドとして機能し、素材リソースの生成過程で第1端末機器10のために、対応する機能的サポート(表面モデルを決定する機能、骨格姿勢を調整する機能など)を提供し、第1端末機器10によって送信された素材リソースを記憶するために使用される。
【0030】
仮想オブジェクトの生成段階では、第2端末機器30及びサーバ20が主に関与する。ここで、サーバ20は、主にリアエンドとして機能し、記憶された素材リソースに従って仮想オブジェクトを生成し、生成された仮想オブジェクトのレンダリングデータを第2端末機器30に送信するために使用され、第2端末機器30は、主にフロントエンドとして機能し、サーバ20から受信したレンダリングデータに従ってレンダリング処理を実行して、当該仮想オブジェクトを表示するために使用され、例えば、出力された仮想シーンに仮想オブジェクトを表示して、第2ユーザが視聴又はインタラクションすることを容易にする。一例として、図1は、第2端末機器30によって出力された仮想シーン31及び仮想シーン31内の仮想オブジェクト32を示し、仮想シーン31及び仮想オブジェクト32は、第2端末機器30のグラフィカルインターフェースに表示することができる。
【0031】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0032】
一例として、図2を参照すると、図2は、本願実施例によるゲームシーンにおける画像処理システムのアーキテクチャ図であり、図2における画像処理システムは、モデラー端末機器40、ゲームサーバ50及びゲームプレーヤ端末機器60を含む。理解を容易にするために、本願実施例による画像処理方法が端末機器及びサーバによって協調的に実施される場合を例として説明する。
【0033】
素材リソースの生成段階では、モデラー端末機器40、ゲームサーバ50が主に関与する。ここで、モデラー端末機器40は、主にフロントエンドとして機能し、ゲーム素材リソース(例えば、自然な立ち姿勢のゲームキャラクタの表面モデル、両手を広げた姿勢のゲームキャラクタの表面モデルなど)の作成動作に応答してゲーム素材リソースを生成するために使用され、ゲームサーバ50は、主にリアエンドとして機能し、素材リソースの生成過程でモデラー端末機器40のために、対応する機能的サポートを提供し、モデラー端末機器40によって送信されたゲーム素材リソースを記憶するために使用される。
【0034】
ここで、モデラーは、モデラー端末機器40で対応するアートワーク(例えば、デジタル製図板を使用してゲームキャラクタの表面モデルを修正したり、マウス命令やキーボード命令を使用してゲームキャラクタの表面モデルを修正したりする)を実行することができ、このようにして、モデラー端末機器40は、ゲームサーバ50のサポートの下で、対応するゲーム素材リソース生成することができる。
【0035】
仮想オブジェクトの生成段階では、ゲームプレーヤ端末機器60及びゲームサーバ50が主に関与する。ここで、ゲームサーバ50は、主にリアエンドとして機能し、記憶されたゲーム素材リソースに従って仮想オブジェクトを生成するために使用され、ここで、仮想オブジェクトがゲームキャラクタである場合を例として、ゲームサーバ50は更に、生成された仮想オブジェクトのレンダリングデータをゲームプレーヤ端末機器60に送信するために使用され、ゲームプレーヤ端末機器60は、主にフロントエンドとして機能し、ゲームサーバ50から受信したレンダリングデータに従ってレンダリング処理を実行して、当該仮想オブジェクトを表示するために使用され、例えば、出力された仮想シーンに仮想オブジェクトを表示する。一例として、図2では、ゲームプレーヤ端末機器60によって出力されたゲーム仮想シーン61及びゲーム仮想シーン61内のゲームキャラクタ62を示している。
【0036】
ここで、ゲームプレーヤは、ゲームプレーヤ端末装置60で、ゲーム動作(例えば、マウスを使用してゲームキャラクタ62の動きを制御し、キーボードを使用してゲームキャラクタ62のスキルキャストを制御し、又は画面をタッチすることによってゲームキャラクタ62の動き及びスキルキャストを制御する)を実行して、ゲームプレーヤ端末装置60に表示されるゲームキャラクタ62を制御することができる。このプロセスでは、ゲームプレーヤ端末機器60は、プレーヤのゲーム動作に応答して、対応する命令を生成し、その命令をゲームサーバ50に送信する。ゲームサーバ50は、受信された命令に従って、記憶されたゲーム素材リソースと組み合わせて新しいゲームキャラクタを生成することができる。例えば、図2に示されるゲームキャラクタ62はジャンプ状態にあり、生成された新しいゲームキャラクタは、立ち状態のゲームキャラクタ62であり、即ち、骨格の姿勢が修正される。
【0037】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0038】
いくつかの実施例において、端末機器は、コンピュータプログラムを実行することによって、本願実施例による画像処理方法を実施でき、例えば、コンピュータプログラムは、オペレーティングシステム内のネイティブプログラム又はソフトウェアモジュールであってもよく、ネイティブ(Native)アプリケーション(APP、Application)、即ち、ゲームアプリケーションなどの、実行するためにオペレーティングシステムにインストールする必要のあるプログラムであってもよく、小さなプログラム、即ち、ブラウザ環境にダウンロードするだけで実行できるプログラムであってもよく、更に、任意のAPPに埋め込むことができる小さなプログラムであってもよい。要約すると、上記のコンピュータプログラムは、任意の形式のアプリケーション、モジュール、又はプラグインであり得る。
【0039】
本願実施例は、クラウド技術(Cloud Technology)によって実施でき、クラウド技術は、ハードウェア、ソフトウェア、ネットワークなどの一連のリソースを、ワイドエリアネットワーク又はローカルエリアネットワークに統合して、データのコンピューティング、記憶、処理及び共有を実現するホスティング技術である。別の意味では、クラウド技術は、ネットワーク技術、情報技術、統合技術、管理プラットフォーム技術、及びクラウドコンピューティングサービスモデルに基づくアプリケーション技術の総称でもあり、リソースプールを形成し、必要に応じて使用し、柔軟かつ便利に使用できる。クラウドコンピューティング技術は重要なサポートになる。技術ネットワークシステムのバックグラウンドサービスには、大量のコンピューティングリソース及び記憶リソースが必要である。
【0040】
いくつかの実施例において、上記のサーバは、独立した物理サーバであってもよく、複数の物理サーバで構成されたサーバクラスタ又は分散システムであってもよく、更に、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメインネームサービス、セキュリティサービス、CDN、ビッグデータ及び人工知能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するクラウドサーバであってもよく、例えば、クラウドサービスは、端末機器に呼び出すための、素材リソースを生成するサービス又は仮想オブジェクトを生成するサービスであってもよい。端末機器は、スマートフォン、タブレットコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、携帯情報端末、ウェアラブルデバイス、及び医用画像機器などであり得るが、これらに限定されない。端末機器及びサーバは、有線又は無線通信を介して直接又は間接的に接続することができ、本願実施例はこれらに限定されない。
【0041】
本願実施例による電子機器の例示的な適用及び実施を参照して、本願実施例による画像処理方法を説明する。
【0042】
図3Aを参照すると、図3Aは、本願実施例による画像処理方法の1つのフローチャートであり、図3Aに示されるステップを組み合わせて説明する。
【0043】
ステップ410.仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得する。
【0044】
ステップ420.仮想オブジェクトの第2骨格姿勢を取得する。
【0045】
ステップ430.参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の範例表面モデルを生成する。
【0046】
ステップ440.第1骨格姿勢と第2骨格姿勢との姿勢変換行列を決定する。
【0047】
ステップ450において、座標空間内の参照表面モデル及び範例表面モデルに従って仮想オブジェクトを生成するために、姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換する。
【0048】
本願実施例において、素材リソースの生成段階では、電子機器が参照表面モデルに従って範例表面モデルを生成した後、第1骨格姿勢(参照表面モデルに対応する骨格姿勢)と第2骨格姿勢(範例表面モデルに対応する骨格姿勢)との姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換して、同じ座標空間の素材リソースを取得する。このようにして、素材リソースの生成プロセスに対する表面変形の影響を回避し、それにより、仮想オブジェクトの次の生成段階での追加表面変形(様々な複雑な非線形追加表面変形など)との互換性があり、異なる座標空間での処理によって生じる、制御不能な結果(最終的に生成された仮想オブジェクトが適用された表面変形と一致しない)を効果的に回避し、骨格アニメーションと表面変形の互換性を向上させることができる。
【0049】
以下では、素材リソースの生成段階の具体的な実施プロセスについて説明する。
【0050】
ステップ410において、仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得する。
【0051】
ここで、仮想オブジェクトは、人や物の様々な仮想化されたオブジェクトであり、例えば、仮想オブジェクトは、アニメキャラクタ、木、旗又は紙などであり得る。本願実施例において、仮想オブジェクトは、複数の骨格姿勢を有し、例えば、アニメキャラクタは、自然な立ち姿勢での骨格姿勢及び両腕の水平姿勢での骨格姿勢などを有し、旗は、静止時の骨格姿勢及び風に吹かれた時の骨格姿勢などを有する。
【0052】
仮想オブジェクトの場合、仮想オブジェクトの第1骨格姿勢の表面モデルを、参照表面モデルとして取得する。例えば、参照表面モデルは、自然な立ち姿勢での仮想オブジェクトの表面モデルであり得、第1骨格姿勢は、自然な立ち姿勢での仮想オブジェクトの骨格姿勢である。ここで、第1骨格姿勢は、1つだけであり得る。
【0053】
本願実施例において、参照表面モデルは、事前に生成され電子機器に記憶され得、素材リソースの生成を実行する必要がある場合、電子機器は、当該参照表面モデルを呼び出すことができ、参照表面モデルは、ユーザ(アートワークを行うモデラーなど)が電子機器(モデラー端末機器など)でリアルタイムに作成することもでき、第1骨格姿勢も参照表面モデルと同じである。
【0054】
ステップ420において、仮想オブジェクトの第2骨格姿勢を取得する。
【0055】
第2骨格姿勢は、生成される範例表面モデルの骨格姿勢であり、範例表面モデルは、参照表面モデルに基づいて生成された、第1骨格姿勢ではない表面モデルである。例えば、参照表面モデルが自然な立ち姿勢での仮想オブジェクトの表面モデルである場合、自然な立ち姿勢での仮想オブジェクトの表面モデルに基づいて生成された両腕の水平姿勢での表面モデルは、1つの範例表面モデルである。これに対応して、両腕の水平姿勢での骨格姿勢は、第2骨格姿勢である。
【0056】
本願実施例において、第2骨格姿勢は、事前に生成され電子機器に記憶され得、ユーザ(アートワークを行うモデラーなど)が電子機器(モデラー端末機器など)でリアルタイムで作成することもできる。第2骨格姿勢の数は、例えば、1つ又は少なくとも2つであり得、本願実施例はこれらを限定しない。理解を容易にするために、図3Aでは、第2骨格姿勢が1つだけである場合を例として説明する。
【0057】
ステップ430において、参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の範例表面モデルを生成する。
【0058】
取得された参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の表面モデルを生成でき、区別しやすくするように、ここで生成された表面モデルは、範例表面モデルと呼ぶ。
【0059】
いくつかの実施例において、上記の参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の範例表面モデルを生成するステップは、第2骨格姿勢に基づいて参照表面モデルをスキニングして、第2骨格姿勢の範例骨格スキニングモデルを取得し、範例骨格スキニングモデルの表面データを抽出し、表面データに従って第2骨格姿勢の範例表面モデルを生成する方法によって実現できる。
【0060】
本願実施例において、取得された第2骨格姿勢に基づいて、取得された参照表面モデルをスキニングして、第2骨格姿勢の骨格スキニングモデルを取得する。ここで、骨格スキニングモデルは、主に、表面データ、骨格スキニング情報の2つの情報を含む。区別しやすくするように、ここで取得された骨格スキニングモデルは、範例骨格スキニングモデルと呼ぶ。
【0061】
例えば、参照表面モデルは、水平姿勢の水平腕モデルであり、第2骨格姿勢は、上向き姿勢の上向き腕の骨格姿勢である。上向き腕の骨格姿勢に基づいて、水平腕モデルをスキニングして、骨格スキニング情報を有する上向き姿勢の上向き腕モデル、即ち、範例骨格スキニングモデルを取得する。
【0062】
第2骨格姿勢の範例骨格スキニングモデルを取得した後、その表面データを抽出して、表面データに従って第2骨格姿勢の範例表面モデルを生成でき、ここで、範例表面モデルは、抽出された表面データによって説明された、仮想オブジェクトの表面上の各頂点を含む。上記のスキニング方法により、第2骨格姿勢の範例表面モデルを自動的に取得でき、人件費を削減することができる。
【0063】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0064】
いくつかの実施例において、範例骨格スキニングモデルの表面データを抽出する前に、当該方法は、
範例骨格スキニングモデルに対する要求側の修正要求を取得するステップと、要求側が範例骨格スキニングモデルを修正するようにするために、修正要求に対する検証が合格した場合、範例骨格スキニングモデルの修正権限を要求側に公開するステップとを更に含む。
【0065】
上記の範例骨格スキニングモデルの表面データを抽出するステップは、修正された範例骨格スキニングモデルの表面データを抽出する方法によって実現できる。
【0066】
本願実施例において、参照表面モデルをスキニングして範例骨格スキニングモデルを取得した後、且つ範例骨格スキニングモデルの表面データを抽出して範例表面モデルを取得する前に、要求側(フロントエンドにあるモデラー端末機器など)が当該範例骨格スキニングモデルを修正するように許可することができる。
【0067】
スキニング自体は、線形の数学的処理プロセスであるため、スキニングによって取得された範例骨格スキニングモデルは、単純な骨格姿勢の修正を実行しただけで、範例骨格スキニングモデルの表面データは、特定のアート要件などの実際の要件を満たせない。例えば、肘曲げの骨格姿勢に基づいて水平腕モデル(表面モデル)をスキニングして、骨格スキニング情報を有する、肘曲げの骨格姿勢の曲げ腕モデル(骨格スキニングモデル)を取得することができる。水平腕モデル内の上腕二頭筋の表面は平坦であり、スキニングして取得した曲げ腕モデル内の上腕二頭筋の表面は、鮮明な変化がなく、依然として平坦である。実生活では、肘を曲げた後、筋肉のバックログが発生し、水平腕モデルと比較して、曲げ腕モデル内の上腕二頭筋の表面が明らかに隆起することが理解できる。特定のアート要件がある場合、曲げ腕モデル内の上腕二頭筋の表面はより明らかに隆起する必要がある。
【0068】
したがって、スキニングした後、要求側が範例骨格スキニングモデルを修正するようにサポートして、アート要件などの対応する要件を満たす。例えば、ユーザは、要求側を介して範例骨格スキニングモデルの修正要求を、電子機器(サーバなど)に送信し、受信した修正要求に対する検証が合格した場合、電子機器は、範例骨格スキニングモデルの修正権限を要求側に公開して、ユーザが要求側を介して範例骨格スキニングモデルを修正するようにする。
【0069】
ゲームシーンを例として、モデラーは、アート要件に応じて、モデラー端末機器を介してゲームサーバに修正要求を送信して、スキニングして取得した範例骨格スキニングモデルを修正するように要求する。当該修正要求に対する検証が合格した場合、ゲームサーバは、対応する修正権限をモデラー端末機器に公開するようにして、モデラーがモデラー端末機器で、範例骨格スキニングモデルを修正できるようにする。
【0070】
要求側が範例骨格スキニングモデルを修正するプロセスでは、ユーザは、範例骨格スキニングモデルの表面データを修正してもよく、範例骨格スキニングモデルに対応する第2骨格姿勢を修正することにより、範例骨格スキニングモデルの表面データを更新してもよい。
【0071】
修正が完了した後、ユーザは、要求側を介して、電子機器に修正完了のメッセージを送信でき、電子機器は、修正完了のメッセージを受信した場合、修正された範例骨格スキニングモデルの表面データを抽出して、当該表面データに従って第2骨格姿勢の範例表面モデルを生成する。上記の人工的な修正方法と組み合わせることにより、範例骨格スキニングモデルの表面データの精度を向上させ、実際の応用シーンでの様々な要件を満たすことができる。
【0072】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0073】
ステップ440において、第1骨格姿勢と当該第2骨格姿勢との姿勢変換行列を決定する。
【0074】
姿勢変換行列は、第1骨格姿勢と第2骨格姿勢との相互変換関係を説明するために使用される数学的行列である。姿勢変換行列を介して、第1骨格姿勢を第2骨格姿勢に変換してもよく、第2骨格姿勢を第1骨格姿勢に変換してもよい。
【0075】
本願実施例において、第1骨格姿勢及び第2骨格姿勢は両方、電子機器で特定のデータの形で存在する。例えば、電子機器には、骨格頂点の三次元空間座標が記憶され得、骨格頂点の三次元空間座標を調整することにより、対応する骨格姿勢を取得できる。即ち、骨格姿勢は、三次元空間座標データの形式で記憶され、及び処理できる。ここで、1つの骨格姿勢は、通常、複数の骨格頂点を含み、複数の骨格頂点を介して、骨格姿勢内の各骨格の向き及び位置を表すことができる。したがって、第1骨格姿勢は、1つの数学的行列Aとして表し、第2骨格姿勢は、1つの数学的行列Bとして表すことができ、式A*C=Bに従って、行列C、即ち、姿勢変換行列を計算して取得することができる。
【0076】
ステップ450において、座標空間内の参照表面モデル及び範例表面モデルに従って仮想オブジェクトを生成するために、姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換する。
【0077】
本願実施例において、生成された素材リソースを同じ座標空間に変換して、仮想オブジェクトの生成を実行するようにする。即ち、素材リソースの生成段階では、範例表面モデル及び参照表面モデルを同じ座標空間に変換する。例えば、範例表面モデルを参照表面モデルが配置された座標空間に変換してもよく、参照表面モデルを範例表面モデルが配置された座標空間に変換してもよい。
【0078】
いくつかの実施例において、上記の姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換するステップは、範例表面モデルを参照表面モデルが配置された座標空間に変換するために、姿勢変換行列に従って、範例表面モデルに対して座標変換処理を実行する方法によって実現できる。
【0079】
本願実施例において、参照表面モデルは、人工的に設定した標準であるため、範例表面モデルを参照表面モデルが配置された座標空間に変換するために、姿勢変換行列に従って、範例表面モデルに対して座標変換処理を実行することができる。次に、参照表面モデルが配置された座標空間で、参照表面モデル及び範例表面モデルを記憶し、素材リソースの生成を完了することができる。
【0080】
以下では、図4を参照しながら、本願実施例における素材リソースの生成段階のプロセスについて説明する。
【0081】
図4に示されるように、参照面モデルMは、1つの座標空間に配置され、区別しやすくするように、当該座標空間は、参照座標空間と呼ぶ。電子機器によって最初に取得されたデータは、参照表面モデルM、参照表面モデルMに対応する第1骨格姿勢P、生成される範例表面モデルMに対応する第2骨格姿勢Pを含む。
【0082】
第1骨格姿勢P及び第2骨格姿勢Pに従って、両者との姿勢変換行列を計算して、姿勢変換行列を介して後続のプロセスで座標空間変換を実行する。
【0083】
第2骨格姿勢Pに従って参照表面モデルMをスキニングして、範例骨格スキニングモデルを取得し、次に、ユーザ(モデラーなど)は、実際の要件(アート要件など)に応じて、当該範例骨格スキニングモデルを修正して、要件を満たす新しい範例骨格スキニングモデル(即ち、修正された範例骨格スキニングモデル)を取得することができる。新しい範例骨格スキニングモデルの表面データを抽出することにより、第2骨格姿勢Pの範例表面モデルを生成し、次に、姿勢変換行列を適用して、当該範例表面モデルを参照座標空間に変換し、それにより、参照座標空間に配置された範例表面モデルMを取得する。
【0084】
本願実施例において、電子機器は、姿勢変換行列を介して参照表面モデルM及び範例表面モデルMの両方を参照座標空間に記憶して、後続の仮想オブジェクト生成プロセスで、参照表面モデルM及び範例表面モデルMに対して実行される一連の処理がすべて当該参照座標空間で実行されるようにし、それにより、表面変形の影響を回避する。このようにして、生成された材料リソース、即ち、参照表面モデルM及び範例表面モデルMは、様々な複雑な非線形追加表面変形などの任意の追加表面変形と互換性があり、異なる座標空間での処理によって生じる、最終的に生成された仮想オブジェクトが適用された表面変形と一致しないなどの制御不能な結果を効果的に回避できる。
【0085】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0086】
いくつかの実施例において、図3Bを参照すると、図3Bは、本願実施例による画像処理方法の1つのフローチャートであり、図3Aに基づいて、ステップ450の後、ステップ510において、更に、仮想オブジェクトのターゲット骨格姿勢を取得できる。
【0087】
ここで、ターゲット骨格姿勢は、生成が必要な仮想オブジェクトの骨格姿勢であり、実際の応用に応じて設定できる。例えば、ターゲット骨格姿勢が両手を腰に当てた立ち姿勢での骨格姿勢である場合、最終的に生成された仮想オブジェクトは、両手を腰に当てた立ち姿勢である。本願実施例において、ターゲット骨格姿勢は、事前に生成され電子機器に記憶されてもよく、リアルタイムで取得してもよい。
【0088】
いくつかの実施例において、上記の仮想オブジェクトのターゲット骨格姿勢を取得するステップは、仮想オブジェクトの操作データ(manipulation data)を取得し、操作データに基づいて、仮想オブジェクトのターゲット骨格姿勢を決定する方法によって実現できる。
【0089】
本願実施例において、特定の入力機器に基づいて入力された操作データなどの仮想オブジェクトの操作データを介して、ターゲット骨格姿勢を決定することができる。例えば、操作データは、図1の第2端末機器30内の入力機器、又は図2のゲームプレーヤ端末機器60内の入力機器からのものであり得る。ここで、操作データは、キーボードデータ、マウスデータ、及び画面タッチデータのうちの少なくとも1つを含み得るが、もちろんこれらに限定されない。
【0090】
ゲームシーンを例として説明すると、プレーヤは携帯電話端末で画面タッチ動作を実行でき、それにより、携帯電話端末で実行されているゲームのゲームキャラクタに、特定のジェスチャーで対応するアクションを実行するように指示する。画面タッチ動作を検出した場合、携帯電話端末は、画面タッチ動作によってトリガーされた画面タッチデータをゲームサーバにアップロードし、ゲームサーバは、取得された画面タッチデータに基づいて、プレーヤによって指示された特定の姿勢、即ち、ゲームキャラクタのターゲット骨格姿勢を決定する。上記の方法により、ユーザは、アクティブな動作方法でターゲット骨格姿勢を決定し、それにより、仮想オブジェクトの生成を制御することができる。
【0091】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0092】
いくつかの実施例において、上記の仮想オブジェクトのターゲット骨格姿勢を取得するステップは、センサデータを取得し、センサデータに基づいて、ユーザアクションを決定し、ユーザアクションに基づいて、仮想オブジェクトのターゲット骨格姿勢を決定する方法によって実現できる。
【0093】
本願実施例において、更に、センサデータを介して仮想オブジェクトのターゲット骨格姿勢を決定できる。ここで、センサデータは、センサ機器、例えば、図1の第2端末機器30内のセンサ機器、又は図2のゲームプレイヤー端末機器60内のセンサ機器からのものであり得る。センサデータは、位置決め情報に関する位置決めセンサデータ及び部分的な体の動きに関するアクションセンサデータのうちの少なくとも1つを含み得る。
【0094】
ゲームシーンを例として説明すると、プレーヤは、VRメガネやVRハンドルなど、コンピュータ端末と通信する仮想現実(Virtual Reality、VR)機器を着用し、特定のアクションを実行し、それにより、コンピュータ端末で実行されるVRゲーム内の、対応するゲームキャラクタが同じアクションを実行するように指示する。VR機器に対応するVRセンサシステム(少なくとも2つの基地局で構成されるセンサーシステムなど)は、VR機器内のセンサ(VRハンドル内のセンサなど)を監視することにより、対応するセンサデータを生成し、センサデータをコンピュータ端末に送信できる。コンピュータ端末がセンサデータをサーバにアップロードした後、サーバは、センサデータに基づいて、ユーザアクション(即ち、アクションキャプチャを実現する)を決定し、決定されたユーザアクションに対応する骨格姿勢を、ゲームキャラクタのターゲット骨格姿勢として決定することができる。上記の方法により、ユーザは、自分でアクションを実行する方法でターゲット骨格姿勢を決定し、それにより、より強い没入感をユーザにもたらし、ユーザのインタラクション体験を向上させることができる。
【0095】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。更に、上記の仮想オブジェクトのターゲット骨格姿勢を決定する方法は、仮想オブジェクトの第1骨格姿勢及第2骨格姿勢の決定にも適用できる。
【0096】
ステップ520において、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得する。
【0097】
ターゲット骨格姿勢を取得した後、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得し、区別しやすくするように、ここで取得された骨格スキニングモデルは、ターゲット骨格スキニングモデルと呼ぶ。
【0098】
ステップ530において、座標空間内の参照表面モデル及び範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定する。
【0099】
ここで、同じ座標空間内の参照表面モデル及び範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定する。修正表面モデルは、ターゲット骨格スキニングモデル内の表面データをある程度修正して、実際の要件(アート要件など)をある程度満たせる表面モデルである。修正表面モデルに対応する骨格姿勢は、ターゲット骨格スキニングモデルに対応する骨格姿勢、即ち、ターゲット骨格姿勢と基本的に一致する。
【0100】
いくつかの実施例において、事前に生成された、特定のアートスタイルに属する素材リソースに基づいて、生成されたターゲット骨格姿勢の表面モデル(即ち、修正表面モデル)も、同じく当該アートスタイルに属し、このようにして、異なるターゲット骨格姿勢に基づいて生成された仮想オブジェクトのスタイルの一貫性を保証し、統一性を向上させることができる。
【0101】
いくつかの実施例において、上記の座標空間内の参照表面モデル及び範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定するステップは、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを決定し、第1骨格姿勢の重み及び第2骨格姿勢の重みに基づいて、参照表面モデル及び範例表面モデルに対して融合処理を実行して、ターゲット骨格姿勢の修正表面モデルを取得する方法で実現できる。
【0102】
ここで、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを決定し、ここで、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みに従って、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合でき、ここでの融合は、加重加算であってもよく、もちろん他の方法であってもよい。次に、第1骨格姿勢の重み及び第2骨格姿勢の重みに基づいて、第1骨格姿勢の参照表面モデル及び第2骨格姿勢の範例表面モデルに対して融合処理を実行して、ターゲット骨格姿勢の修正表面モデルを取得する。
【0103】
いくつかの実施例において、上記の第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを決定するステップは、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、動径基底関数を介して、第1骨格姿勢と第2骨格姿勢との間で補間処理を実行して、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを取得する方法によって実現できる。
【0104】
ここで、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、動径基底関数(Radial Basis Function、RBF)を適用して、記憶された第1骨格姿勢と第2骨格姿勢との間で補間処理を実行し、それにより、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを取得することができる。
【0105】
いくつかの実施例において、上記の第1骨格姿勢の重み及び第2骨格姿勢の重みに基づいて、参照表面モデル及び範例表面モデルに対して融合処理を実行して、ターゲット骨格姿勢の修正表面モデルを取得するステップは、第1骨格姿勢の重みを参照表面モデルの重みとして使用し、第2骨格姿勢の重みを範例表面モデルの重みとして使用し、参照表面モデル及び範例表面モデルに対して重み付けして、ターゲット骨格姿勢の修正表面モデルを取得する方法によって実現できる。
【0106】
ここで、加重加算の方法によって、ターゲット骨格姿勢の修正表面モデルを取得することができる。例えば、第1骨格姿勢P及び第2骨格姿勢P1がターゲット骨格姿勢Pに融合される場合、Pに割り当てられた重みはWであり、Pに割り当てられた重みはWである。次に、W及びWに従って、第1骨格姿勢Pの参照表面モデルM、及び第2骨格姿勢Pの範例表面モデルMに対して融合処理を実行して、修正表面モデルMを取得し、ここで、M=W*M+W*Mである。
【0107】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではない。加重加算の方法以外、他の方法によって参照表面モデル及び範例表面モデルに対して融合処理を実行することもできる。
【0108】
ステップ540において、ターゲット骨格スキニングモデル及び修正表面モデルに基づいて、仮想オブジェクトを生成する。
【0109】
いくつかの実施例において、上記のターゲット骨格スキニングモデル及び修正表面モデルに基づいて、仮想オブジェクトを生成するステップは、第1骨格姿勢とターゲット骨格姿勢との姿勢変換行列を、ターゲット姿勢変換行列として決定し、ターゲット姿勢変換行列に基づいて、座標空間内の修正表面モデルに対して座標変換処理を実行して、抽出された修正表面モデルを取得し、抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成する方法によって実現できる。
【0110】
本願実施例において、記憶された参照表面モデル及び範例表面モデルは、同じ座標空間内にあり、修正表面モデルは参照モデル及び範例表面モデルの融合によって取得されるため、修正表面モデルも当該座標空間内にある。ターゲット骨格姿勢が第1骨格姿勢と異なる場合、ターゲット骨格姿勢に対応する座標空間に適合するために、修正表面モデルを当該座標空間から抽出する必要がある。例えば、第1骨格姿勢とターゲット骨格姿勢との姿勢変換行列を決定し、区別しやすくするように、ここで決定された姿勢変換行列は、ターゲット姿勢変換行列と呼ぶ。取得されたターゲット姿勢変換行列に基づいて、座標空間内の修正表面モデルに対して座標変換処理を実行して、抽出された修正表面モデルを取得し、次に、抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成する。上記の方法により、抽出された修正表面モデルは、ターゲット骨格姿勢に対応する座標空間に配置でき、仮想オブジェクトの生成の実行を容易にする。
【0111】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0112】
いくつかの実施例において、抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行する前に、この方法は、ターゲット骨格スキニングモデルに対して表面変形処理を実行するステップを更に有する。上記の抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成するステップは、抽出された修正表面モデル及び表面変形処理されたターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成する方法によって実現できる。
【0113】
本願実施例において、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格スキニングモデルを取得した後、様々な複雑な非線形追加表面変形を適用するなど、実際の要件に応じて、ターゲット骨格スキニングモデルで表面変形処理を実行できる。ここで、表面変形は、第三者のシステムに基づいて生成でき、例えば、ターゲット骨格スキニングモデルを生成した後、第三者の筋肉シミュレーションシステムを呼び出して、当該ターゲット骨格スキニングモデルに特定の形態の筋肉を加える。
【0114】
融合処理して取得された修正表面モデルを、参照表面モデルに配置された座標空間から抽出した後、当該抽出された修正表面モデル、及び追加表面変形(即ち、表面変形処理後)を加えたターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成する。上記の方法により、様々な表面変形要件を満たし、実際の応用シーンの適用性を向上させることができる。
【0115】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0116】
いくつかの実施例において、ステップ540の後、この方法は、生成された仮想オブジェクトに対してレンダリング処理を実行して、仮想シーンに仮想オブジェクトを表示するステップを更に有する。
【0117】
ここで、仮想オブジェクトを生成するために使用される電子機器が端末機器である場合、端末機器は、生成された仮想オブジェクトに対してローカルでレンダリング処理を実行して、仮想シーンに仮想オブジェクトを表示することができ、仮想オブジェクトを生成するために使用される電子機器がサーバである場合、サーバは、生成された仮想オブジェクトのレンダリング情報を端末機器に送信でき、端末機器は、受信されたレンダリングデータに従ってレンダリング処理を実行して、仮想シーンに仮想オブジェクトを表示することができる。仮想シーンは、レンダリングによっても取得できることに留意されたい。上記の方法により、仮想オブジェクトを表示する柔軟性を向上させる。
【0118】
図3Bに示されるように、参照表面モデル及び範例表面モデルは両方、姿勢変換行例によって構築された、同じ独立した座標空間に配置されるため、参照表面モデル及び範例表面モデルに対する処理はすべて当該座標空間で実行され、表面変形の影響を受けない。それにより、仮想オブジェクトの生成段階では、任意の非線形表面変形と互換性があり、表面変形との互換性を向上させることができる。
【0119】
いくつかの実施例において、図3Cを参照すると、図3Cは、本願実施例による画像処理方法の1つのフローチャートであり、図3Bに示されるステップ420は、ステップ610に更新でき、ステップ610において、仮想オブジェクトの少なくとも2つの第2骨格姿勢を取得する。
【0120】
本願実施例において、素材リソースの生成段階では、1つの範例表面モデルのみ生成することにより、参照表面モデル及び1つの範例表面モデルに従って仮想オブジェクトの生成を実行してもよく、少なくとも2つの範例表面モデルを生成することにより、参照表面モデル及び少なくとも2つの範例表面モデルに従って仮想オブジェクトの生成を実行してもよい。ここで、後者の場合を例として説明すると、まず、仮想オブジェクトの少なくとも2つの第2骨格姿勢を取得する。理解を容易にするために、取得された第1骨格姿勢がPであり、参照表面モデルがMであり、取得された第2骨格姿勢がP、P及びPを含む場合を例として説明する。
【0121】
図3Cにおいて、図3Bに示されるステップ430は、ステップ620に更新でき、ステップ620において、参照表面モデル及び少なくとも2つの第2骨格姿勢に基づいて、少なくとも2つの第2骨格姿勢の範例表面モデルをそれぞれ生成する。
【0122】
取得された各第2骨格姿勢の場合、参照表面モデル及び第2骨格姿勢に基づいて、当該第2骨格姿勢の範例表面モデルを生成する。このようにして、各第2骨格姿勢はすべて、対応する範例表面モデルを取得することができる。例えば、第2骨格姿勢Pの範例表面モデルM、第2骨格姿勢Pの範例表面モデルM、及び第2骨格姿勢Pの範例表面モデルMを取得することができる。
【0123】
図3Cにおいて、図3Bに示されるステップ440は、ステップ630に更新でき、ステップ630において、第1骨格姿勢と各第2骨格姿勢との姿勢変換行列を決定する。
【0124】
各第2骨格姿勢の場合、更に、第1骨格姿勢と第2骨格姿勢との姿勢変換行列を決定する。
【0125】
図3Cにおいて、図3Bに示されるステップ450は、ステップ640に更新でき、ステップ640において、第1骨格姿勢と各第2骨格姿勢との姿勢変換行列に基づいて、少なくとも2つの範例表面モデル及び参照表面モデルを同じ座標空間に変換する。
【0126】
ここで、第2骨格姿勢Pを例として、第1骨格姿勢Pと第2骨格姿勢Pとの姿勢変換行列に基づいて、第2骨格姿勢Pの範例表面モデルMを参照表面モデルMが配置された座標空間に変換でき、このように類推する。
【0127】
図3Cにおいて、図3Bに示されるステップ530は、ステップ650に更新でき、ステップ650において、座標空間内の参照表面モデル及び少なくとも2つの範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定する。
【0128】
本願実施例において、生成された素材リソースは、少なくとも2つの範例表面モデルを含む。これに対応して、生成された素材リソースに従って修正表面モデルを決定する場合、電子機器は、記憶されたすべての範例表面モデル及び参照表面モデルに従って修正表面モデルを決定する。
【0129】
例えば、第1骨格姿勢P、第2骨格姿勢P、第2骨格姿勢P及び第2骨格姿勢Pがターゲット骨格姿勢Pに融合される場合、Pに割り当てられた重みはWであり、Pに割り当てられた重みはWであり、Pに割り当てられた重みはWであり、Pに割り当てられた重みはWであると決定することができる。次に、W、W、W及びWに従って、M、M、M及びMに対して融合処理を実行して、修正表面モデルMを取得する。ここで、W*M+W*M+W*M+W*M=Mの方法を採用して、修正表面モデルMを取得することができる。
【0130】
図3Cに示されるように、本願実施例は、少なくとも第2骨格姿勢を介して、素材リソース及び仮想オブジェクトの生成を実行でき、第2骨格姿勢の数の増加に伴い、生成された仮想オブジェクトの効果もより良くなる。
【0131】
以下では、図5を参照しながら、本願実施例における仮想オブジェクトの生成段階のプロセスについて説明する。
【0132】
図5に示されるように、事前に生成された素材リソース(すべて参照座標空間に記憶される)は、参照表面モデルM、範例表面モデルM、範例表面モデルM、範例表面モデルM、...、範例表面モデルMを含み、ここでのiは、3より大きい正数である。これに対応して、取得された骨格姿勢は、参照表面モデルMの第1骨格姿勢P、範例表面モデルMの第2骨格姿勢P、範例表面モデルMの第2骨格姿勢P、範例表面モデルMの第2骨格姿勢P、・・・、範例表面モデルMの第2骨格姿勢Pを含む。
【0133】
ターゲット骨格姿勢Pを取得した場合、ターゲット骨格姿勢Pと第1骨格姿勢Pの両者との姿勢変換行列を計算して、当該姿勢変換行列を介して後続のプロセスで座標空間変換を実行する。
【0134】
ターゲット骨格姿勢Pに従って参照表面モデルMをスキニングして、ターゲット骨格スキニングモデルを取得する。次に、ターゲット骨格スキニングモデルに基づいて、第三者のシミュレーションシステムを適用して特定の形態の筋肉を加えるなど、第三者のシステムを適用して表面変形処理を実行でき、即ち、追加表面変形を加えることができる。
【0135】
第1骨格姿勢P、第2骨格姿勢P、第2骨格姿勢P、第2骨格姿勢P、・・・、第2骨格姿勢Pを含む、記憶された骨格姿勢を読み取る。RBFアルゴリズムを適用して、読み取られた骨格姿勢との間で補間処理を実行し、それにより、読み取られたすべての骨格姿勢がターゲット骨格姿勢Pに融合された場合、読み取られた各骨格姿勢に割り当てられる必要のある重みを取得する。次に、割り当てられた重みに従って、読み取られた各骨格姿勢に対応する表面モデルに対して融合処理を実行して、参照座標空間に記憶された修正表面モデルを取得する。
【0136】
姿勢変換行列を適用して、参照座標空間に記憶された修正表面モデルに対して座標変換処理を実行して、修正表面モデルを座標空間から抽出し、次に、抽出された修正表面モデル及びスキニングして取得した、追加表面変形が加えられたターゲット骨格スキニングモデルに対して重ね合わせ処理を実行することにより、対応する仮想オブジェクトを取得する。
【0137】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0138】
図6は、本願実施例の画像処理方法をMayaソフトウェア(一種の三次元モデリングソフトウェア)に適用して、仮想オブジェクトの生成を実行する端末インターフェース図である。
【0139】
図6において、事前に生成された素材リソースは、仮想オブジェクトの上腕に対して生成された様々な骨格姿勢の上腕表面モデルであり得る。本願実施例に示されるMayaソフトウェアの端末インターフェース図には、上腕姿勢読み取りノード(upperarm_rノード)、スキンノード(skinClusterノード)、追加表面変形ノード(deformateノード)、融合ノード(posedriverノード)など、対応する機能を統合した4つのノードが含まれる。ここで、upperarm_rノードは、主に、素材リソース内の様々な骨格姿勢の上腕表面モデルを読み取るために使用され、shinClusterノードは、主に、スキニングするために使用され、deformateノードは、主に、追加表面変形を加えるため、即ち、表面変形処理を実行するために使用され、posedriverノードは、主に、表面モデルの融合処理を実行して、修正表面モデルを生成するために使用される。ここで、姿勢変換行列の計算及び適用は、posedriverノードにカプセル化することができる。
【0140】
関連技術において、生成された素材リソースが、仮想オブジェクト生成段階での追加表面変形との互換性をサポートできないため、仮想オブジェクトの生成段階では、スキニングに使用されるskinClusterノードは、主に表面モデルの融合処理に使用されるposedriverノードの後にのみ配置できる。更に、関連技術において、追加表面変形を加えるために使用されるdeformateノードは、skinClusterノードとposedriverノードの間に直接配置できない。本願実施例で提供される画像処理方法によれば、posedriverノードによって取得された修正表面モデルは、任意の非線形追加表面変形と互換性があり、それにより、姿勢変換行列を介して座標変換処理が実行された後、スキニングされた、追加表面変形が加えられた骨格スキニングモデルに直接重ね合わせることができる。
【0141】
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
【0142】
図7に示されるように、本願実施例によって、仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するように構成される第1取得モジュール710と、仮想オブジェクトの第2骨格姿勢を取得するように構成される第2取得モジュール720と、参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の範例表面モデルを生成するように構成される生成モジュール730と、第1骨格姿勢と第2骨格姿勢との姿勢変換行列を決定するように構成される行列決定モジュール740と、座標空間内の参照表面モデル及び範例表面モデルに従って仮想オブジェクトを生成するために、姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換するように構成される座標空間変換モジュール750と
を有する、画像処理装置が更に提供される。
【0143】
いくつかの実施例において、生成モジュール730は、第2骨格姿勢に基づいて参照表面モデルをスキニングして、第2骨格姿勢の範例骨格スキニングモデルを取得し、範例骨格スキニングモデルの表面データを抽出し、表面データに従って第2骨格姿勢の範例表面モデルを生成するように構成される。
【0144】
いくつかの実施例において、画像処理装置は、範例骨格スキニングモデルに対する要求側の修正要求を取得し、修正要求に対する検証が合格した場合、範例骨格スキニングモデルの修正権限を要求側に公開して、要求側が範例骨格スキニングモデルを修正するようにし、修正された範例骨格スキニングモデルの表面データを抽出するように構成される。
【0145】
いくつかの実施例において、座標空間変換モジュール750は、範例表面モデルを参照表面モデルが配置された座標空間に変換するために、姿勢変換行列に従って、範例表面モデルに対して座標変換処理を実行するように構成される。
【0146】
いくつかの実施例において、画像処理装置は、仮想オブジェクトのターゲット骨格姿勢を取得し、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得し、座標空間内の参照表面モデル及び範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定し、ターゲット骨格スキニングモデル及び修正表面モデルに基づいて、仮想オブジェクトを生成するように構成される。
【0147】
いくつかの実施例において、画像処理装置は、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを決定し、第1骨格姿勢の重み及び第2骨格姿勢の重みに基づいて、参照表面モデル及び範例表面モデルに対して融合処理を実行して、ターゲット骨格姿勢の修正表面モデルを取得するように構成される。
【0148】
いくつかの実施例において、画像処理装置は、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、動径基底関数を介して、第1骨格姿勢と第2骨格姿勢との間で補間処理を実行して、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを取得するように構成される。
【0149】
いくつかの実施例において、画像処理装置は、第1骨格姿勢の重みを参照表面モデルの重みとして使用し、第2骨格姿勢の重みを範例表面モデルの重みとして使用し、参照表面モデル及び範例表面モデルに対して重み付けして、ターゲット骨格姿勢の修正表面モデルを取得するように構成される。
【0150】
いくつかの実施例において、画像処理装置は、第1骨格姿勢とターゲット骨格姿勢との姿勢変換行列を、ターゲット姿勢変換行列として決定し、ターゲット姿勢変換行列に基づいて、座標空間内の修正表面モデルに対して座標変換処理を実行して、抽出された修正表面モデルを取得し、抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成するように構成される。
【0151】
いくつかの実施例において、画像処理装置は、ターゲット骨格スキニングモデルに対して表面変形処理を実行し、抽出された修正表面モデル及び表面変形処理されたターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成するように構成される。
【0152】
いくつかの実施例において、第2骨格姿勢の数は少なくとも2つを含み、画像処理装置は、参照表面モデル及び少なくとも2つの第2骨格姿勢に基づいて、少なくとも2つの第2骨格姿勢の範例表面モデルをそれぞれ生成し、第1骨格姿勢と各第2骨格姿勢との姿勢変換行列を決定し、第1骨格姿勢と各第2骨格姿勢との姿勢変換行列に基づいて、少なくとも2つの範例表面モデル及び参照表面モデルを同じ座標空間に変換するように構成される。
【0153】
いくつかの実施例において、画像処理装置は、仮想オブジェクトのターゲット骨格姿勢を取得し、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得し、座標空間内の参照表面モデル及び少なくとも2つの範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定し、ターゲット骨格スキニングモデル及び修正表面モデルに基づいて、仮想オブジェクトを生成するように構成される。
【0154】
いくつかの実施例において、画像処理装置は、仮想オブジェクトの操作データを取得し、操作データに基づいて、仮想オブジェクトのターゲット骨格姿勢を決定するように構成される。
【0155】
いくつかの実施例において、画像処理装置は、センサデータを取得し、センサデータに基づいて、ユーザアクションを決定し、ユーザアクションに基づいて、仮想オブジェクトのターゲット骨格姿勢を決定するように構成される。
【0156】
いくつかの実施例において、画像処理装置は、生成された仮想オブジェクトに対してレンダリング処理を実行して、仮想シーンに仮想オブジェクトを表示するように構成される。
【0157】
以下では、図8を参照しながら、本願実施例による電子機器80について説明する。図8に示される電子機器80は、単なる1つの例であり、本願実施例の機能及び使用範囲を限定するべきではない。
【0158】
図8に示されるように、電子機器80は、汎用コンピューティング機器の形態で表される。電子機器80の構成要素は、上記少なくとも1つの処理ユニット810、上記少なくとも1つの記憶ユニット820、異なるシステム構成要素(記憶装置820及び処理装置810を含む)を接続するバス830を含み得るが、これらに限定されない。
【0159】
ここで、記憶ユニットには、処理ユニット810によって実行できるプログラムコードを記憶され、処理ユニット810は、本明細書の上記の例示的な方法の説明部分に記載された本願の様々な例示的な実施形態によるステップを実行する。例えば、処理ユニット810は、図3A、3B及び3Cに示されるような各ステップを実行することができる。
【0160】
記憶ユニット820は、ランダムアクセス記憶ユニット(RAM)8201及び/又はキャッシュ記憶ユニット8202などの揮発性記憶ユニットの形態の可読媒体を含んでもよく、読み取り専用記憶ユニット(ROM)8203を含んでもよい。
【0161】
記憶ユニット820は、プログラムモジュール8205のセット(少なくとも1つ)を有するプログラム/ユーティリティツール8204を更に含み得、このようなプログラムモジュール8205は、オペレーティングシステム、1つ又は複数のアプリケーション、他のプログラムモジュール、及びプログラムデータを含むが、これらに限定されず、これらの例のそれぞれ又はいくつかの組み合わせには、ネットワーク環境の実現が含まれる場合がある。
【0162】
バス830は、いくつかのタイプのバス構造のうちの1つ又は複数を表すことができ、記憶ユニットバス又は記憶ユニットコントローラ、周辺バス、グラフィックスアクセラレーションポート、処理ユニット、又は様々なバス構造のいずれかを使用するローカルバスを含む。
【0163】
電子機器80はさらに、1つ又は複数の外部機器900(キーボード、ポインティング機器、ブルートゥース機器など)と通信し、更に、ユーザが当該電子機器80とインタラクションできるようにする、1つ又は複数の機器と通信し、及び/又は当該電子機器80が1つ又は複数の他のコンピューティング機器と通信できるようにする任意の機器(ルータ、モデムなど)と通信することができる。このような通信は、入力/出力(I/O)インターフェース850を介して実行できる。入力/出力(I/O)インターフェース850は、表示ユニット840に接続される。また、電子機器80は更に、ネットワークアダプタ860を介して、1つ又は複数のネットワーク(ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及び/又はインターネットなどのパブリックネットワーク)と通信することができる。図8に示されるように、ネットワークアダプタ860は、バス830を介して電子機器80の他のモジュールと通信する。図には示されていないが、他のハードウェア及び/又はソフトウェアモジュールは、電子機器80と組み合わせて使用でき、前記他のハードウェア及び/又はソフトウェアモジュールは、マイクロコード、デバイスドライバ、冗長処理ユニット、外部磁気ディスク駆動アレイ、RAIDシステム、磁気テープドライブ、及びデータバックアップ記憶システムを含むが、これらに限定されないことを理解すべきである。
【0164】
上記の実施形態の説明を介して、当業者は、本明細書に記載の例示的な実施形態がソフトウェアによって実現され得るか、又はソフトウェアを必要なハードウェアと組み合わせることによって実現され得ることを容易に理解することができる。したがって、本願の実施形態による技術的解決策は、ソフトウェア製品に実現することができ、当該コンピュータソフトウェア製品は、1つの不揮発性記憶媒体(CD-ROM、Uディスク、モバイルハードディスクなどであり得る)又はネットワークに記憶され、コンピューティング機器(パソコン、サーバ、端末機器、ネットワーク機器などであり得る)に本願の実施形態による方法を実行させるためのいくつかの命令を含む。
【0165】
本願の例示的な実施例において、コンピュータ可読命令を記憶し、前記コンピュータ可読命令がプロセッサによって実行されるとき、本願実施例による画像処理方法を実行する、コンピュータ可読記憶媒体が更に提供される。
【0166】
本願実施例において、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)を使用でき、且つプログラムコードを含み、パーソナルコンピュータなどの端末機器で実行できる、画像処理方法を実現するために使用されるプログラム製品が更に提供される。しかしながら、本願のプログラム製品はこれに限定されず、本願実施例において、可読記憶媒体は、プログラムを含む、又は記憶する任意の有形媒体であり得、当該プログラムは、命令実行システム、装置、又はデバイスによって、又はそれらと組み合わせて使用され得る。
【0167】
プログラム製品は、1つ又は複数の可読媒体の任意の組み合わせを使用することができる。可読媒体は、可読信号媒体又は可読記憶媒体であり得る。可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁的、赤外線、又は半導体システム、装置又はデバイス、又は上記のいずれかの組み合わせであり得るが、これらに限定されない。可読記憶媒体のより具体的な例(非網羅的なリスト)には、1つ又は複数ワイヤを有する電気的接続、ポータブルディスク、ハードディスク、ランダムアクセスメモリ(RGM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組み合わせが含まれる。
【0168】
コンピュータ可読信号媒体は、ベースバンドで、又は搬送波の一部として伝播されるデータ信号を含み得、可読プログラムコードを搬送する。このような伝播されるデータ信号は、電磁信号、光信号、又は上記の任意の適切な組み合わせなどのを様々な形態をとることができるが、これらに限定されない。可読信号媒体は、また、可読記憶媒体以外の任意の可読媒体であり得、当該可読媒体は、命令実行システム、装置、又はデバイスによって使用されるか、又はそれらと組み合わせて使用するためのプログラムを送信、伝播、又は転送することができる。
【0169】
可読信号媒体に含まれるプログラムコードは、無線、有線、光ファイバーケーブル、RFなどを含むがこれらに限定されない、任意の適切な媒体、又は上記の任意の適切な組み合わせを使用して伝送できる。
【0170】
本願の動作を実行するために使用されるプログラムコードは、1つ以上のプログラミング言語の任意の組み合わせによって書くことができ、プログラミング言語には、JAVA、C++などのオブジェクト指向プログラミング言語が含まれ、「C」言語又は類似したプログラミング言語などの、従来の手続き型プログラミング言語も含まれる。プログラムコードは、ユーザコンピューティング機器で完全に実行されるか、ユーザ機器で部分的に実行されるか、独立したソフトウェアパッケージとして実行されるか、ユーザコンピューティング機器で部分的に実行され、リモートコンピューティング機器で部分的に実行されるか、又はリモートコンピューティング機器又はサーバで完全に実行され得る。リモートコンピューティング機器の場合、リモートコンピューティング機器は、ローカルエリアネットワーク(KGN)又はワイドエリアネットワーク(WGN)を含む任意のネットワークを介して、ユーザコンピューティング機器に接続され得るか、又は外部コンピューティング機器に接続され得る(インターネットサービスプロバイダーを使用してインターネット経由で接続するなど)。
【0171】
アクション実行のための機器のいくつかのモジュール又はユニットは、上記の詳細な説明で言及されているが、このような分割は必須ではないことに留意されたい。実際、本願の実施形態によれば、上記の2つ又は更に多くのモジュール又はユニットの特徴及び機能は、1つのモジュール又はユニットに具体化され得る。逆に、上記の1つのモジュール又はユニットの特徴及び機能は、複数のモジュール又はユニットに更に分割され、具体化され得る。
【0172】
更に、添付の図には、本願の方法における各ステップが特定の順序で示されているが、これは、必ずしもその特定の順序に従ってこれらのステップを実行すること、又は、必ずしも示されたすべてのステップを実行してこそ、望ましい結果を達成することを要求又は暗示するものではない。追加的又は代替的に、いくつかのステップは省略され得、複数のステップは、1つのステップに結合して実行され得、及び/又は1つのステップは、複数のステップに分解して実行され得る。
【0173】
上記の実施形態の説明を介して、当業者は、本明細書に記載の例示的な実施形態がソフトウェアによって実現され得るか、又はソフトウェアを必要なハードウェアと組み合わせることによって実現され得ることを容易に理解することができる。したがって、本願の実施形態による技術的解決策は、ソフトウェア製品に実現することができ、当該コンピュータソフトウェア製品は、1つの不揮発性記憶媒体(CD-ROM、Uディスク、モバイルハードディスクなどであり得る)又はネットワークに記憶され、コンピューティング機器(パソコン、サーバ、モバイル端末、ネットワーク機器などであり得る)に、本願の実施形態による方法を実行させるためのいくつかの命令を含む。
【0174】
本明細書に開示される明細書及び実施を考慮した後、本願の他の実施形態は、当業者にとって容易に想到し得る。本願は、本願の任意の変形、応用又は適応性変化を網羅することを意図し、これらの変形、応用又は適応性変化は、本願の普通の原理に準拠し、本願に開示されていない本技術分野における公知常識又は従来の技術的手段を含む。明細書及び実施例は、例示としてのみ考慮され、本願の真の範囲及び思想は、添付の特許請求の範囲によって示される。
【符号の説明】
【0175】
10 第1端末機器
20 サーバ
30 第2端末機器
31 仮想シーン
32 仮想オブジェクト
40 モデラー端末機器
50 ゲームサーバー
60 ゲームプレーヤ端末機器
62 ゲームキャラクタ
710 第1取得モジュール
720 第2取得モジュール
730 生成モジュール
740 行列決定モジュール
750 座標空間変換モジュール
80 電子機器
810 処理ユニット
820 記憶ユニット
8201 ランダムアクセス記憶ユニット(RAM)
8202 キャッシュ記憶ユニット
8204 プログラム/ユーティリティツール
8205 プログラムモジュール
830 バス
840 表示ユニット
850 入力/出力(I/O)インターフェース
860 ネットワークアダプタ
90 外部機器
図1
図2
図3A
図3B
図3C
図4
図5
図6
図7
図8