(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-17
(45)【発行日】2022-08-25
(54)【発明の名称】三次元部分人体モデルの生成方法及び装置、並びにデバイス
(51)【国際特許分類】
G06T 19/20 20110101AFI20220818BHJP
【FI】
G06T19/20
(21)【出願番号】P 2020558527
(86)(22)【出願日】2019-12-19
(86)【国際出願番号】 CN2019126625
(87)【国際公開番号】W WO2020228322
(87)【国際公開日】2020-11-19
【審査請求日】2020-10-20
(31)【優先権主張番号】201910403882.9
(32)【優先日】2019-05-15
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】519454800
【氏名又は名称】浙江商▲湯▼科技▲開▼▲発▼有限公司
【氏名又は名称原語表記】ZHEJIANG SENSETIME TECHNOLOGY DEVELOPMENT CO., LTD.
【住所又は居所原語表記】Room 288-8, No. 857, Shixinbei Road, Ningwei Street, Xiaoshan District Hangzhou, Zhejiang 311215 China
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】▲陳▼呈▲舉▼
(72)【発明者】
【氏名】袁▲亞▼振
(72)【発明者】
【氏名】盛崇山
(72)【発明者】
【氏名】章国▲鋒▼
【審査官】村松 貴士
(56)【参考文献】
【文献】特開2010-267241(JP,A)
【文献】特開2012-043057(JP,A)
【文献】特表2019-512141(JP,A)
【文献】特開2011-107877(JP,A)
【文献】特開2003-044873(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/40
G06T 19/00 - 19/20
(57)【特許請求の範囲】
【請求項1】
三次元部分人体モデルの生成方法であって、
三次元部分人体モデルの骨格パラメータ調整情報を取得することと、
前記骨格パラメータ調整情報に基づ
いて、前記三次元部分人体モデルの骨格パラメータを調整することと、
調整後の前記骨格パラメータに基づ
いて、前記三次元部分人体モデルを生成すること
と
を含
み、
前記三次元部分人体モデルは、人顔モデルを含み、
前記三次元部分人体モデルの生成方法は、
前記人顔モデルの骨格パラメータに基づいて、前記人顔モデルの顔部化粧の1つの交換可能な部分に対応する領域を複数含むフェイスマップを生成することと、
各前記領域に対して、前記領域のパラメータに基づいて対応する交換可能な部分マップを取得することと、
各前記交換可能な部分マップを前記フェイスマップと合成して、合成後のマップを取得することと、
前記合成後のマップを前記人顔モデルにマッピングして、前記人顔モデルの顔部化粧を生成することと
を更に含み、
前記領域は、矩形領域であり、前記矩形領域のパラメータは、座標水平方向オフセット値と座標垂直方向オフセット値とを含み、前記交換可能な部分マップは、透明度情報を含み、
前記交換可能な部分マップを前記フェイスマップと合成することは、
前記交換可能な部分マップに対応する矩形領域の座標水平方向オフセット値および座標垂直方向オフセット値に基づいて、前記交換可能な部分マップを対応する矩形領域にコピーすることと、
前記フェイスマップと前記交換可能な部分マップとを前記透明度情報に応じて組み合わせることと
を含む、三次元部分人体モデルの生成方法。
【請求項2】
前記三次元部分人体モデルの骨格パラメータ調整情報を取得することは、
骨格パラメータ調整命令を受信することと、
前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定すること
と
を含む
、請求項1に記載の
三次元部分人体モデルの生成方法。
【請求項3】
前記骨格パラメータ調整情報に基づいて前記三次元部分人体モデルの骨格パラメータを調整することは、
前記三次元部分人体モデルの骨格パラメータのうちから前記骨格パラメータ調整情報に関連付けられる少なくとも1本の骨格のパラメータを取得することと、
前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整すること
と
を含む
、請求項1
または請求項2に記載の
三次元部分人体モデルの生成方法。
【請求項4】
前記少なくとも1本の骨格が複数本の骨格を含む場合、前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することは、
前記骨格パラメータ調整情報に基づいて前記複数本の骨格のパラメータを同時に調整することを含む
、請求項3に記載の
三次元部分人体モデルの生成方法。
【請求項5】
記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することは、
前記骨格パラメータ調整情報に対応する第1調整範囲を取得することと、
前記骨格パラメータ調整情報に関連付けられる骨格パラメータの第2調整範囲を取得することと、
前記骨格パラメータ調整情報の前記第1調整範囲での変化割合に基づ
いて、前記第2調整範囲内において前記骨格パラメータ調整情報に関連付けられる前記骨格パラメータの値を調整すること
と
を含む
、請求項3
または請求項4に記載の
三次元部分人体モデルの生成方法。
【請求項6】
前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することは、
前記骨格パラメータ調整命令に対して設定されたウィジェットの出力変化量を取得することと、
前記出力変化量に基づいて前記骨格パラメータ調整情報を決定すること
と
を含む
、請求項
2に記載の
三次元部分人体モデルの生成方法。
【請求項7】
前記矩形領域のパラメータ
は、幅
および高さを含み、前記領域のパラメータに基づいて対応する交換可能な部分マップを取得することは、
前記矩形領域の幅
および高さに合致する交換可能な部分マップを取得することを含む
、請求項
1に記載の
三次元部分人体モデルの生成方法。
【請求項8】
前記交換可能な部分マップ
は、透明度情報を含み
、
前記領域に対応する交換可能な部分マップを取得することは、
前記交換可能な部分に対して選択されたテクスチャ情報を取得することと、
前記交換可能な部分マップの透明度情報
および前記テクスチャ情報を組み合わせることにより、テクスチャ付きの交換可能な部分マップを生成すること
と
を含む
、請求項
1または請求項7に記載の
三次元部分人体モデルの生成方法。
【請求項9】
前記合成後のマップを前記人顔モデルにマッピングすることは、
前記人顔モデルのテクスチャ座標UVに基づ
いて、前記合成後のマップを前記人顔モデルにマッピングすることを含む
、請求項
1、7~8のいずれか1項に記載の
三次元部分人体モデルの生成方法。
【請求項10】
前記三次元部分人体モデル
は、人顔モデルを含み
、
前記
三次元部分人体モデルの生成方法は、
標準顔モデルに対応する第1骨格パラメータ
および第1融合変形データを取得することと、
前記人顔モデルに対応する第2骨格パラメータを取得することと、
前記第2骨格パラメータと前記第1骨格パラメータとの変換関係に応じて、前記第1融合変形データを利用して前記人顔モデルに対応する第2融合変形データを取得すること
と
を
更に含む
、請求項1~
9のいずれか1項に記載の
三次元部分人体モデルの生成方法。
【請求項11】
三次元部分人体モデルの生成装置であって、
三次元部分人体モデルの骨格パラメータ調整情報を取得するように構成される取得ユニットと、
前記骨格パラメータ調整情報に基づ
いて、前記三次元部分人体モデルの骨格パラメータを調整するように構成される調整ユニットと、
調整後の前記
骨格パラメータに基づ
いて、前記三次元部分人体モデルを生成するように構成される生成ユニット
と
を備え
、
前記三次元部分人体モデルは、人顔モデルを含み、
前記三次元部分人体モデルの生成装置は、
前記人顔モデルの骨格パラメータに基づいて、前記人顔モデルの顔部化粧の1つの交換可能な部分に対応する領域を複数含むフェイスマップを生成することと、
各前記領域に対して、前記領域のパラメータに基づいて対応する交換可能な部分マップを取得することと、
各前記交換可能な部分マップを前記フェイスマップと合成して、合成後のマップを取得することと、
前記合成後のマップを前記人顔モデルにマッピングして、前記人顔モデルの顔部化粧を生成することと
を行うように構成される化粧生成ユニットを更に備え、
前記領域は、矩形領域であり、前記矩形領域のパラメータは、座標水平方向オフセット値と座標垂直方向オフセット値とを含み、前記交換可能な部分マップは、透明度情報を含み、
前記化粧生成ユニットは、
前記交換可能な部分マップに対応する矩形領域の座標水平方向オフセット値および座標垂直方向オフセット値に基づいて、前記交換可能な部分マップを対応する矩形領域にコピーすることと、
前記フェイスマップと前記交換可能な部分マップとを前記透明度情報に応じて組み合わせることと
を行うように構成される、三次元部分人体モデルの生成装置。
【請求項12】
三次元部分人体モデルの生成デバイスであって、
プロセッサで実行可能なコンピュータ命令を記憶するように構成されるメモリと
、
前記コンピュータ命令を実行する
ことにより、請求項1~
10のいずれか1項に記載の
三次元部分人体モデルの生成方法を
実行するように構成されるプロセッサ
と
を備え
る三次元部分人体モデルの生成デバイス。
【請求項13】
コンピュータプログラムが記憶され
ているコンピュータ
読み取り可能な記憶媒体であって、
前記
コンピュータプログラム
は、プロセッサに
よって実行される
と、請求項1~
10のいずれか1項に記載の
三次元部分人体モデルの生成方法を
実行することを前記プロセッサに行わせる、コンピュータ
読み取り可能な記憶媒体。
【請求項14】
請求項1~
10のいずれか1項に記載の
三次元部分人体モデルの生成方法を実行
することをコンピュータに行わせるように構成され
るコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は三次元部分人体モデルの生成方法及び装置、並びにデバイスに関する。
【背景技術】
【0002】
ゲーム業界及び仮想現実の促進により、デジタル仮想キャラクターが広く応用されている。仮想キャラクターについては、既に単一の仮想イメージからゲームのプレイヤーが自主的に設計したキャラクターに変化し、個性を持つイメージを作るもの、適切な顔部化粧を選択するもの等を含む。現在、キャラクターの生成過程において、一般的に大量の骨格を架設することによりモデルの外形を調整する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示の1つ又は複数の実施例の目的は三次元部分人体モデルの生成方法及び装置、並びにデバイスを提供することである。
【課題を解決するための手段】
【0004】
第1態様では、三次元部分人体モデルの生成方法を提供する。前記方法は、三次元部分人体モデルの骨格パラメータ調整情報を取得することと、前記骨格パラメータ調整情報に基づき、前記三次元部分人体モデルの骨格パラメータを調整することと、調整後の前記骨格パラメータに基づき、前記三次元部分人体モデルを生成することと、を含む。
【0005】
本開示に係るいずれか1つの実施形態を参照して、三次元部分人体モデルの骨格パラメータ調整情報を取得することは、骨格パラメータ調整命令を受信することと、前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することと、を含む。
【0006】
本開示に係るいずれか1つの実施形態を参照して、前記骨格パラメータ調整情報に基づいて前記三次元部分人体モデルの骨格パラメータを調整することは、前記三次元部分人体モデルの骨格パラメータのうちから前記骨格パラメータ調整情報に関連付けられる少なくとも1本の骨格のパラメータを取得することと、前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することと、を含む。
【0007】
本開示に係るいずれか1つの実施形態を参照して、前記少なくとも1本の骨格が複数本の骨格を含む場合、前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することは、前記骨格パラメータ調整情報に基づいて前記複数本の骨格のパラメータを同時に調整することを含む。
【0008】
本開示に係るいずれか1つの実施形態を参照して、前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することは、前記骨格パラメータ調整情報に対応する第1調整範囲を取得することと、前記骨格パラメータ調整情報に関連付けられる骨格パラメータの第2調整範囲を取得することと、前記骨格パラメータ調整情報の前記第1調整範囲での変化割合に基づき、前記第2調整範囲内において前記骨格パラメータ調整情報に関連付けられる前記骨格パラメータの値を調整することと、を含む。
【0009】
本開示に係るいずれか1つの実施形態を参照して、前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することは、前記骨格パラメータ調整命令に対して設定されたウィジェットの出力変化量を取得し、前記出力変化量に基づいて前記骨格パラメータ調整情報を決定することを含む。
【0010】
本開示に係るいずれか1つの実施形態を参照して、前記三次元部分人体モデルが人顔モデルを含み、前記方法は、更に、前記人顔モデルの骨格パラメータに基づき、前記人顔モデルの顔部化粧の1つの交換可能な部分に対応する領域を複数含むフェイスマップを生成することと、各前記領域に対して、前記領域のパラメータに基づいて対応する交換可能な部分マップを取得することと、各前記交換可能な部分マップを前記フェイスマップと合成して、合成後のマップを取得することと、前記合成後のマップを前記人顔モデルにマッピングして、前記人顔モデルの顔部化粧を生成することと、を含む。
【0011】
本開示に係るいずれか1つの実施形態を参照して、前記領域が矩形領域であり、前記矩形領域のパラメータが幅と高さを含み、前記領域のパラメータに基づいて対応する交換可能な部分マップを取得することは、前記矩形領域の幅と高さに合致する交換可能な部分マップを取得することを含む。
【0012】
本開示に係るいずれか1つの実施形態を参照して、前記領域が矩形領域であり、前記矩形領域のパラメータが座標水平方向オフセット値と座標垂直方向オフセット値を含み、前記交換可能な部分マップが透明度情報を含み、前記交換可能な部分マップを前記フェイスマップと合成することは、前記交換可能な部分マップに対応する矩形領域の座標水平方向オフセット値及び座標垂直方向オフセット値に基づき、前記交換可能な部分マップを対応する矩形領域にコピーすることと、前記フェイスマップと前記交換可能な部分マップとを前記透明度情報に応じて組み合わせることと、を含む。
【0013】
本開示に係るいずれか1つの実施形態を参照して、前記交換可能な部分マップが透明度情報を含み、前記領域に対応する交換可能な部分マップを取得することは、前記交換可能な部分に対して選択されたテクスチャ情報を取得することと、前記交換可能な部分マップの透明度情報及び前記テクスチャ情報を組み合わせることにより、テクスチャ付きの交換可能な部分マップを生成することと、を含む。
【0014】
本開示に係るいずれか1つの実施形態を参照して、前記合成後のマップを前記人顔モデルにマッピングすることは、前記人顔モデルのテクスチャ座標UVに基づき、前記合成後のマップを前記人顔モデルにマッピングすることを含む。
【0015】
本開示に係るいずれか1つの実施形態を参照して、前記三次元部分人体モデルが人顔モデルを含み、前記方法は、更に、標準顔モデルに対応する第1骨格パラメータ及び第1融合変形データを取得することと、前記人顔モデルに対応する第2骨格パラメータを取得することと、前記第2骨格パラメータと前記第1骨格パラメータとの変換関係に応じて、前記第1融合変形データを利用して前記人顔モデルに対応する第2融合変形データを取得することと、を含む。
【0016】
第2態様では、三次元部分人体モデルの生成装置を提供する。前記装置は、三次元部分人体モデルの骨格パラメータ調整情報を取得するように構成される取得ユニットと、前記骨格パラメータ調整情報に基づき、前記三次元部分人体モデルの骨格パラメータを調整するように構成される調整ユニットと、調整後の前記骨格パラメータに基づき、前記三次元部分人体モデルを生成するように構成される生成ユニットと、を備える。
【0017】
本開示に係るいずれか1つの実施形態を参照して、取得ユニットは、具体的に、骨格パラメータ調整命令を受信することと、前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することと、に用いられる。
【0018】
本開示に係るいずれか1つの実施形態を参照して、前記調整ユニットは、具体的に、前記三次元部分人体モデルの骨格パラメータのうちから前記骨格パラメータ調整情報に関連付けられる少なくとも1本の骨格のパラメータを取得することと、前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することと、に用いられる。
【0019】
本開示に係るいずれか1つの実施形態を参照して、前記少なくとも1本の骨格が複数本の骨格を含む場合、前記調整ユニットは前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することに用いられる場合、具体的に、前記骨格パラメータ調整情報に基づいて前記複数本の骨格のパラメータを同時に調整することに用いられる。
【0020】
本開示に係るいずれか1つの実施形態を参照して、前記調整ユニットは前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することに用いられる場合、具体的に、前記骨格パラメータ調整情報に対応する第1調整範囲を取得することと、前記骨格パラメータ調整情報に関連付けられる骨格パラメータの第2調整範囲を取得することと、前記骨格パラメータ調整情報の前記第1調整範囲での変化割合に基づき、前記第2調整範囲内において前記骨格パラメータ調整情報に関連付けられる前記骨格パラメータの値を調整することと、に用いられる。
【0021】
本開示に係るいずれか1つの実施形態を参照して、前記調整ユニットは前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することに用いられる場合、具体的に、前記骨格パラメータ調整命令に対して設定されたウィジェットの出力変化量を取得することと、前記出力変化量に基づいて前記骨格パラメータ調整情報を決定することと、に用いられる。
【0022】
本開示に係るいずれか1つの実施形態を参照して、前記三次元部分人体モデルが人顔モデルを含み、前記装置は、更に、前記人顔モデルの骨格パラメータに基づき、前記人顔モデルの顔部化粧の1つの交換可能な部分に対応する領域を複数含むフェイスマップを生成し、各前記領域に対して、前記領域のパラメータに基づいて対応する交換可能な部分マップを取得し、各前記交換可能な部分マップを前記フェイスマップと合成して、合成後のマップを取得し、前記合成後のマップを前記人顔モデルにマッピングして、前記人顔モデルの顔部化粧を生成するように構成される化粧生成ユニットを備える。
【0023】
本開示に係るいずれか1つの実施形態を参照して、前記領域が矩形領域であり、前記矩形領域のパラメータが幅と高さを含み、前記化粧生成ユニットは前記領域のパラメータに基づいて対応する交換可能な部分マップを取得することに用いられる場合、具体的に、前記矩形領域の幅と高さに合致する交換可能な部分マップを取得することに用いられる。
【0024】
本開示に係るいずれか1つの実施形態を参照して、前記領域が矩形領域であり、前記矩形領域のパラメータが座標水平方向オフセット値と座標垂直方向オフセット値を含み、前記交換可能な部分マップが透明度情報を含み、前記化粧生成ユニットは前記交換可能な部分マップを前記フェイスマップと合成することに用いられる場合、具体的に、前記交換可能な部分マップに対応する矩形領域の座標水平方向オフセット値及び座標垂直方向オフセット値に基づき、前記交換可能な部分マップを対応する矩形領域にコピーすることと、フェイスマップと前記交換可能な部分マップとを前記透明度情報に応じて組み合わせることと、に用いられる。
【0025】
本開示に係るいずれか1つの実施形態を参照して、前記交換可能な部分マップが透明度情報を含み、前記化粧生成ユニットは前記領域に対応する交換可能な部分マップを取得することに用いられる場合、具体的に、前記交換可能な部分に対して選択されたテクスチャ情報を取得することと、前記交換可能な部分マップの透明度情報及び前記テクスチャ情報を組み合わせることにより、テクスチャ付きの交換可能な部分マップを生成することと、に用いられる。
【0026】
本開示に係るいずれか1つの実施形態を参照して、前記合成ユニットは、具体的に、前記人顔モデルのテクスチャ座標UVに基づき、前記合成後のマップを前記人顔モデルにマッピングすることに用いられる。
【0027】
本開示に係るいずれか1つの実施形態を参照して、前記三次元部分人体モデルが人顔モデルを含み、前記装置は、更に、標準顔モデルに対応する第1骨格パラメータ及び第1融合変形データを取得し、前記人顔モデルに対応する第2骨格パラメータを取得し、前記第2骨格パラメータと前記第1骨格パラメータとの変換関係に応じて、前記第1融合変形データを利用して前記人顔モデルに対応する第2融合変形データを取得するように構成される更新ユニットを備える。
【0028】
第3態様では、三次元部分人体モデルの生成デバイスを提供する。前記デバイスは、プロセッサで実行可能なコンピュータ命令を記憶するように構成されるメモリと、前記コンピュータ命令を実行するとき、本開示のいずれか1つの前記三次元部分人体モデルの生成方法を実現するように構成されるプロセッサと、を備える。
【0029】
第4態様では、コンピュータ可読記憶媒体を提供する。該記憶媒体にコンピュータプログラムが記憶され、前記プログラムがプロセッサにより実行されるとき、本開示のいずれか1つの前記三次元部分人体モデルの生成方法を実現する。
例えば、本願は以下の項目を提供する。
(項目1)
三次元部分人体モデルの生成方法であって、
三次元部分人体モデルの骨格パラメータ調整情報を取得することと、
前記骨格パラメータ調整情報に基づき、前記三次元部分人体モデルの骨格パラメータを調整することと、
調整後の前記骨格パラメータに基づき、前記三次元部分人体モデルを生成することと、を含む、前記三次元部分人体モデルの生成方法。
(項目2)
前記三次元部分人体モデルの骨格パラメータ調整情報を取得することは、
骨格パラメータ調整命令を受信することと、
前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することと、を含むことを特徴とする
項目1に記載の方法。
(項目3)
前記骨格パラメータ調整情報に基づいて前記三次元部分人体モデルの骨格パラメータを調整することは、
前記三次元部分人体モデルの骨格パラメータのうちから前記骨格パラメータ調整情報に関連付けられる少なくとも1本の骨格のパラメータを取得することと、
前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することと、を含むことを特徴とする
項目1又は2に記載の方法。
(項目4)
前記少なくとも1本の骨格が複数本の骨格を含む場合、前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することは、
前記骨格パラメータ調整情報に基づいて前記複数本の骨格のパラメータを同時に調整することを含むことを特徴とする
項目3に記載の方法。
(項目5)
前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することは、
前記骨格パラメータ調整情報に対応する第1調整範囲を取得することと、
前記骨格パラメータ調整情報に関連付けられる骨格パラメータの第2調整範囲を取得することと、
前記骨格パラメータ調整情報の前記第1調整範囲での変化割合に基づき、前記第2調整範囲内において前記骨格パラメータ調整情報に関連付けられる前記骨格パラメータの値を調整することと、を含むことを特徴とする
項目3又は4に記載の方法。
(項目6)
前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することは、
前記骨格パラメータ調整命令に対して設定されたウィジェットの出力変化量を取得することと、
前記出力変化量に基づいて前記骨格パラメータ調整情報を決定することと、を含むことを特徴とする
項目2~5のいずれか1項に記載の方法。
(項目7)
前記三次元部分人体モデルが人顔モデルを含み、前記方法は、更に、
前記人顔モデルの骨格パラメータに基づき、前記人顔モデルの顔部化粧の1つの交換可能な部分に対応する領域を複数含むフェイスマップを生成することと、
各前記領域に対して、前記領域のパラメータに基づいて対応する交換可能な部分マップを取得することと、
各前記交換可能な部分マップを前記フェイスマップと合成して、合成後のマップを取得することと、
前記合成後のマップを前記人顔モデルにマッピングして、前記人顔モデルの顔部化粧を生成することと、を含むことを特徴とする
項目1~6のいずれか1項に記載の方法。
(項目8)
前記領域が矩形領域であり、前記矩形領域のパラメータが幅と高さを含み、前記領域のパラメータに基づいて対応する交換可能な部分マップを取得することは、
前記矩形領域の幅と高さに合致する交換可能な部分マップを取得することを含むことを特徴とする
項目7に記載の方法。
(項目9)
前記領域が矩形領域であり、前記矩形領域のパラメータが座標水平方向オフセット値と座標垂直方向オフセット値を含み、前記交換可能な部分マップが透明度情報を含み、前記交換可能な部分マップを前記フェイスマップと合成することは、
前記交換可能な部分マップに対応する矩形領域の座標水平方向オフセット値及び座標垂直方向オフセット値に基づき、前記交換可能な部分マップを対応する矩形領域にコピーすることと、
前記フェイスマップと前記交換可能な部分マップとを前記透明度情報に応じて組み合わせることと、を含むことを特徴とする
項目7又は8に記載の方法。
(項目10)
前記交換可能な部分マップが透明度情報を含み、前記領域に対応する交換可能な部分マップを取得することは、
前記交換可能な部分に対して選択されたテクスチャ情報を取得することと、
前記交換可能な部分マップの透明度情報及び前記テクスチャ情報を組み合わせることにより、テクスチャ付きの交換可能な部分マップを生成することと、を含むことを特徴とする
項目7~9のいずれか1項に記載の方法。
(項目11)
前記合成後のマップを前記人顔モデルにマッピングすることは、
前記人顔モデルのテクスチャ座標UVに基づき、前記合成後のマップを前記人顔モデルにマッピングすることを含むことを特徴とする
項目7~10のいずれか1項に記載の方法。
(項目12)
前記三次元部分人体モデルが人顔モデルを含み、前記方法は、更に、
標準顔モデルに対応する第1骨格パラメータ及び第1融合変形データを取得することと、
前記人顔モデルに対応する第2骨格パラメータを取得することと、
前記第2骨格パラメータと前記第1骨格パラメータとの変換関係に応じて、前記第1融合変形データを利用して前記人顔モデルに対応する第2融合変形データを取得することと、を含むことを特徴とする
項目1~11のいずれか1項に記載の方法。
(項目13)
三次元部分人体モデルの生成装置であって、
三次元部分人体モデルの骨格パラメータ調整情報を取得するように構成される取得ユニットと、
前記骨格パラメータ調整情報に基づき、前記三次元部分人体モデルの骨格パラメータを調整するように構成される調整ユニットと、
調整後の前記部分人体骨格パラメータに基づき、前記三次元部分人体モデルを生成するように構成される生成ユニットと、を備えることを特徴とする、前記三次元部分人体モデルの生成装置。
(項目14)
前記取得ユニットは、具体的に、
骨格パラメータ調整命令を受信することと、
前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することと、に用いられることを特徴とする
項目13に記載の装置。
(項目15)
前記調整ユニットは、具体的に、
前記三次元部分人体モデルの骨格パラメータのうちから前記骨格パラメータ調整情報に関連付けられる少なくとも1本の骨格のパラメータを取得することと、
前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することと、に用いられることを特徴とする
項目13又は14に記載の装置。
(項目16)
前記少なくとも1本の骨格が複数本の骨格を含む場合に、前記調整ユニットは前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することに用いられる場合、具体的に、
前記骨格パラメータ調整情報に基づいて前記複数本の骨格のパラメータを同時に調整することに用いられることを特徴とする
項目15に記載の装置。
(項目17)
前記調整ユニットは前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することに用いられる場合、具体的に、
前記骨格パラメータ調整情報に対応する第1調整範囲を取得することと、
前記骨格パラメータ調整情報に関連付けられる骨格パラメータの第2調整範囲を取得することと、
前記骨格パラメータ調整情報の前記第1調整範囲での変化割合に基づき、前記第2調整範囲内において前記骨格パラメータ調整情報に関連付けられる前記骨格パラメータの値を調整することと、に用いられることを特徴とする
項目15又は16に記載の装置。
(項目18)
前記調整ユニットは前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することに用いられる場合、具体的に、
前記骨格パラメータ調整命令に対して設定されたウィジェットの出力変化量を取得することと、
前記出力変化量に基づいて前記骨格パラメータ調整情報を決定することと、に用いられることを特徴とする
項目13~17のいずれか1項に記載の装置。
(項目19)
前記三次元部分人体モデルが人顔モデルを含み、前記装置は、更に、
前記人顔モデルの骨格パラメータに基づき、前記人顔モデルの顔部化粧の1つの交換可能な部分に対応する領域を複数含むフェイスマップを生成し、
各前記領域に対して、前記領域のパラメータに基づいて対応する交換可能な部分マップを取得し、
各前記交換可能な部分マップを前記フェイスマップと合成して、合成後のマップを取得し、
前記合成後のマップを前記人顔モデルにマッピングして、前記人顔モデルの顔部化粧を生成するように構成される化粧生成ユニットを備えることを特徴とする
項目13~18のいずれか1項に記載の装置。
(項目20)
前記領域が矩形領域であり、前記矩形領域のパラメータが幅と高さを含み、前記化粧生成ユニットは前記領域のパラメータに基づいて対応する交換可能な部分マップを取得することに用いられる場合、具体的に、
前記矩形領域の幅と高さに合致する交換可能な部分マップを取得することに用いられることを特徴とする
項目19に記載の装置。
(項目21)
前記領域が矩形領域であり、前記矩形領域のパラメータが座標水平方向オフセット値と座標垂直方向オフセット値を含み、前記交換可能な部分マップが透明度情報を含み、前記化粧生成ユニットは前記交換可能な部分マップを前記フェイスマップと合成することに用いられる場合、具体的に、
前記交換可能な部分マップに対応する矩形領域の座標水平方向オフセット値及び座標垂直方向オフセット値に基づき、前記交換可能な部分マップを対応する矩形領域にコピーすることと、
前記フェイスマップと前記交換可能な部分マップとを前記透明度情報に応じて組み合わせることと、に用いられることを特徴とする
項目19又は20に記載の装置。
(項目22)
前記交換可能な部分マップが透明度情報を含み、前記化粧生成ユニットは前記領域に対応する交換可能な部分マップを取得することに用いられる場合、具体的に、
前記交換可能な部分に対して選択されたテクスチャ情報を取得することと、
前記交換可能な部分マップの透明度情報及び前記テクスチャ情報を組み合わせることにより、テクスチャ付きの交換可能な部分マップを生成することと、に用いられることを特徴とする
項目19~21のいずれか1項に記載の装置。
(項目23)
前記合成ユニットは、具体的に、
前記人顔モデルのテクスチャ座標UVに基づき、前記合成後のマップを前記人顔モデルにマッピングすることに用いられることを特徴とする
項目19~22のいずれか1項に記載の装置。
(項目24)
前記三次元部分人体モデルが人顔モデルを含み、前記装置は、更に、
標準顔モデルに対応する第1骨格パラメータ及び第1融合変形データを取得し、
前記人顔モデルに対応する第2骨格パラメータを取得し、
前記第2骨格パラメータと前記第1骨格パラメータとの変換関係に応じて、前記第1融合変形データを利用して前記人顔モデルに対応する第2融合変形データを取得するように構成される更新ユニットを備えることを特徴とする
項目13~23のいずれか1項に記載の装置。
(項目25)
三次元部分人体モデルの生成デバイスであって、
プロセッサで実行可能なコンピュータ命令を記憶するように構成されるメモリと、前記コンピュータ命令を実行するとき、項目1~12のいずれか1項に記載の方法を実現するように構成されるプロセッサと、を備えることを特徴とする、前記三次元部分人体モデルの生成デバイス。
(項目26)
コンピュータプログラムが記憶されるコンピュータ可読記憶媒体であって、
前記プログラムがプロセッサにより実行されるとき、項目1~12のいずれか1項に記載の方法を実現することを特徴とする、前記コンピュータ可読記憶媒体。
【発明の効果】
【0030】
本開示の1つ又は複数の実施例の三次元部分人体モデルの生成方法及び装置、並びにデバイスは骨格パラメータ調整情報により部分人体骨格パラメータを調整し、部分人体の少なくとも1つの骨格パラメータの同時調整を実現し、それによりモデルの全体形状及び局部詳細の同時調整を実現することができ、迅速に調整する目的を実現することができるだけでなく、細密に調整することもできる。
【図面の簡単な説明】
【0031】
【
図1】
図1は本開示の少なくとも1つの実施例に係る骨格に基づいて確立された人顔モデルの例を示す図である。
【
図2】
図2は本開示の少なくとも1つの実施例に係る三次元部分人体モデルの生成方法の例を示す図である。
【
図3】
図3は本開示の少なくとも1つの実施例に係る調整パラメータの設定方法の例を示す図である。
【
図4】
図4は本開示の少なくとも1つの実施例に係る調整パラメータの設定例を示す図である。
【
図5A】
図5Aは本開示の少なくとも1つの実施例に係る両目全体の大きさを調整するための調整パラメータ設定方法の例を示す図である。
【
図5B】
図5Bは本開示の少なくとも1つの実施例に係る両目全体の大きさを調整するためのウィジェットの例を示す図である。
【
図5C】
図5C及び
図5Dは本開示の少なくとも1つの実施例に係る調整前の人顔モデルの例及び調整後の人顔モデルの例を示す図である。
【
図5D】
図5C及び
図5Dは本開示の少なくとも1つの実施例に係る調整前の人顔モデルの例及び調整後の人顔モデルの例を示す図である。
【
図6】
図6は本開示の少なくとも1つの実施例に係る人顔モデルに対応する融合変形データを更新する方法の例を示す図である。
【
図7】
図7は本開示の少なくとも1つの実施例に係る顔部化粧の生成方法の例を示す図である。
【
図8A】
図8Aは本開示の少なくとも1つの実施例に係るフェイスマップの例を示す図である。
【
図8B】
図8Bは本開示の少なくとも1つの実施例に係る交換可能な部分のテクスチャの例を示す図である。
【
図8C】
図8Cは本開示の少なくとも1つの実施例に係る合成されたフェイスマップ及び交換可能な部分マップの例を示す図である。
【
図9A】
図9A及び
図9Bは本開示の少なくとも1つの実施例に係る生成された化粧前の人顔モデル及び生成された化粧後の人顔モデルを示す図である。
【
図9B】
図9A及び
図9Bは本開示の少なくとも1つの実施例に係る生成された化粧前の人顔モデル及び生成された化粧後の人顔モデルを示す図である。
【
図10A】
図10Aは本開示の少なくとも1つの実施例に係る三次元部分人体モデルの生成装置の例を示す図である。
【
図10B】
図10Bは本開示の少なくとも1つの実施例に係る三次元部分人体モデルの生成装置の例を示す図である。
【
図10C】
図10Cは本開示の少なくとも1つの実施例に係る三次元部分人体モデルの生成装置の例を示す図である。
【
図11】
図11は本開示の少なくとも1つの実施例に係る三次元部分人体モデルの生成デバイスの例を示す図である。
【発明を実施するための形態】
【0032】
本開示の1つ又は複数の実施例又は従来技術の技術案をより明確に説明するために、以下に実施例又は従来技術の記述において必要な図面を用いて簡単に説明を行う。以下に記載する図面は単に本開示の1つ又は複数の実施例に記載される実施例の一例であって、当業者であれば、創造的な労力を要することなく、これらの図面に基づいて他の図面に想到しうる。
【0033】
当業者が本開示の1つ又は複数の実施例の技術案をより良く理解するために、以下に本開示の1つ又は複数の実施例の図面を参照して、本開示の1つ又は複数の実施例の技術案を明確且つ完全に説明する。説明される実施例は本開示の実施例の一部であり、実施例のすべてではない。本開示の1つ又は複数の実施例に基づき、当業者が進歩性のある労働を必要とせずに得られる他の実施例は、いずれも本開示の保護範囲に属すべきである。
【0034】
骨格(bones)に基づいて生成されたモデルにおいて、各骨格が複数のパラメータを有してもよい。例えば、骨格パラメータは変位パラメータt、回転パラメータr、拡大縮小パラメータsのうちの少なくとも1つを含んでもよい。三次元部分人体モデル、例えば人顔モデルについては、各骨格のパラメータが一般的にx軸、y軸、z軸の数値を含み、従って、Bi=(tx,ty,tz,rx,ry,rz,sx,sy,sz)で示されてもよい。i=1、2・・・Nbであり、Nbがモデルに含まれる骨格の数である。
【0035】
図1は骨格に基づいて確立された人顔モデルの模式図である。該人顔モデルは48本の骨格に基づいて確立された骨架であって、骨架をスキン処理して取得したものである。
図1における白色線が骨格を示す。
【0036】
骨格パラメータBiを調整することにより、骨格の位置、方向、大きさのうちの1つ又は複数を変化させることができ、それによりモデルの骨格構造を変化させることができる。
図1における人顔モデルを例とすれば、該人顔モデルが48本の骨格を含むが、各骨格が9つのパラメータを有し、つまりユーザーが48*9個のパラメータを調整してもよい。
【0037】
これに基づき、本開示の少なくとも1つの実施例は三次元部分人体モデルの生成方法を提供し、
図2に示すように、該方法は以下を含んでもよい。
【0038】
ステップ201において、三次元部分人体モデルの骨格パラメータ調整情報を取得する。
【0039】
本実施例では、骨格パラメータ調整命令を受信することにより、前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することができる。骨格パラメータ調整情報は少なくとも変化後のパラメータ値又はパラメータ値を調整する前後の相対変化量又は変化割合のうちの1つであってもよい。
【0040】
ステップ202において、前記骨格パラメータ調整情報に基づき、前記三次元部分人体モデルの骨格パラメータを調整する。
【0041】
本ステップでは、前記骨格パラメータ調整情報に含まれる変化後のパラメータ値又はパラメータ値の相対変化量又は変化割合に基づき、三次元部分人体モデルの骨格パラメータを調整することにより、前記骨格パラメータを対応して変化させ、例えば対応する相対変化量を増加/減少させ、又は対応する変化割合を増加/減少させる。骨格パラメータを調整した後、調整後の1組の骨格パラメータを取得することができる。
【0042】
ステップ203において、調整後の前記骨格パラメータに基づき、三次元部分人体モデルを生成(rendering)する。
【0043】
三次元部分人体モデルの骨格パラメータが調整され、モデルの骨格構造が変化し、それにより所望の三次元部分人体モデルを取得する。
【0044】
本実施例の三次元部分人体モデルの生成方法は例えば頭部(人顔)、手部、胴体等の部分人体モデルを生成することに用いられてもよいし、人体モデルを部分的に調整することに用いられてもよい。
【0045】
本実施例では、骨格パラメータ調整情報に基づいて部分人体モデルの少なくとも1つの骨格パラメータを調整することにより、モデルの全体形状及び局部詳細の調整を両立することができ、迅速に調整する目的を実現することができるだけでなく、細密に調整することもできる。
【0046】
以下の説明において、三次元部分人体モデルの生成方法をより詳しく説明する。以下は人顔モデルを例とする。しかしながら、理解されるように、他のシーンは同様に該三次元部分人体モデルの生成方法、例えば他の部分人体モデルの生成、人体モデルの生成、動物モデルの生成及び骨格に基づいて確立された他のモデルの生成に適用されてもよい。
【0047】
本実施例の方法を利用して骨格パラメータに基づいて三次元部分人体モデルを生成するとき、三次元部分人体モデルの複数の骨格パラメータを同時に調整するためのコントローラ(controller)を予め設定してもよい。該コントローラは上記骨格パラメータ調整情報を取得するための具体的な実施形態であると見なされてもよい。具体的に、コントローラの操作パラメータ(operating parameter of controller、以下に動作パラメータと略称されてもよい)を調整することにより、三次元部分人体モデルの該コントローラに関連付けられる複数の骨格パラメータの調整情報を伝達してもよい。該コントローラは三次元部分人体モデルの骨格パラメータに基づいて設定されたものである。従って、本実施例では、まず人顔モデルの骨格パラメータを取得してもよい。
【0048】
人顔モデルの骨格パラメータが例えばBi=(tx,ty,tz,rx,ry,rz,sx,sy,sz)であってもよく、i=1、2・・・Nbであり、Nbが人顔モデルに含まれる骨格の数である。骨格パラメータBiを調整することにより、骨格の位置、方向、大きさのうちの1つ又は複数を変化させることができ、それによりモデルの骨格構造を変化させることができる。しかしながら、調整可能パラメータの自由度が高すぎると、ユーザーが局部詳細を調整する難度が高すぎることになる。従って、本実施例では、三次元部分人体モデルの複数の骨格パラメータを同時に調整できるよう、コントローラを設定する。
【0049】
該コントローラが部分人体の少なくとも1本の骨格のパラメータに関連付けられる。ここでの関連とは、コントローラの操作パラメータを変化させるとき、前記少なくとも1本の骨格の1つ又は複数のパラメータが同時に変化してもよいことを意味する。該少なくとも1本の骨格が部分人体の局部領域に属する一本又は複数本の骨格であってもよい。
【0050】
一例では、以下の方法により上記コントローラの設定を実現してもよい。
図3に示すように、該方法は以下を含んでもよい。
【0051】
ステップ301において、前記コントローラに関連付けられる骨格を取得する。
【0052】
各コントローラがどの骨格に関連付けられるかは、予め設定されたものであってもよい。該コントローラに関連付けられる骨格を取得することにより、該コントローラの操作パラメータを調整するとき、どの骨格のパラメータが同時に調整されるかを決定することができる。
【0053】
各コントローラについては、1つの局部領域内の全部又は一部の骨格のパラメータを該コントローラと関連づけさせてもよい。例えば、目部領域に合計してE1個の骨格があるが、E2(E2<E1)個の骨格を調整するだけで、目の大きさの変化を制御することができると仮定すれば、両目全体の大きさを調整するための目部骨格コントローラがこのE2個の骨格を制御するだけでよい。
図5Aに示すように、両目全体の大きさを調整するための目部骨格コントローラを目部領域の骨格eye_01、eye_02、eye_03のパラメータに関連づけることにより、該目部骨格コントローラがこの3つの骨格を制御できるようにする。
【0054】
ステップ302において、前記コントローラに関連付けられる各骨格のパラメータのうちから前記コントローラに関連付けられる骨格パラメータを取得する。
【0055】
上記コントローラに関連付けられる各骨格については、コントローラはその9つのパラメータをすべて制御してもよいし、1つ又は複数のパラメータを制御してもよい。骨格のどのパラメータがコントローラに関連付けられるかは、予め設定されたものであってもよい。
【0056】
図4を例とすれば、controller1、controller2・・・controllerMが各コントローラであり、Mがコントローラの数である。コントローラcontroller1は3つの骨格bone1、bone2、bone3を制御することができ、且つ具体的に制御できる各骨格のパラメータがbone1の並進パラメータ(tx,ty)、bone2の拡大縮小パラメータ(sx,sy,sz)及びbone3の回転パラメータ(ry)を含む。つまり、コントローラcontroller1の動作パラメータを調整することにより、この3つの骨格の上記パラメータを同時に調整することができる。以上によれば、ステップ301及びステップ302によって、三次元部分人体モデルの骨格パラメータのうちのコントローラ、具体的にコントローラの操作パラメータに関連付けられる少なくとも1本の骨格のパラメータを取得することができる。
【0057】
ステップ303において、前記コントローラに関連付けられる各骨格パラメータを、前記コントローラの操作パラメータの変化に応じて調整するように設定する。
【0058】
コントローラに関連付けられる骨格パラメータを決定した後、各骨格パラメータを該コントローラの操作パラメータの変化に応じて調整するように設定することにより、コントローラに関連付けられる骨格パラメータの同時制御を実現する。コントローラの操作パラメータの変化に応じて該コントローラに関連付けられる複数の骨格パラメータを同時に調整することは、コントローラの操作パラメータと同じ変化割合で関連付けられる複数の骨格パラメータを調整することを含む。例えば、コントローラの操作パラメータの値の調整幅が1/10増加し、関連付けられる複数の骨格パラメータの値の調整幅も同時に1/10増加する。
【0059】
一例では、以下の方法によりコントローラによる骨格パラメータの調整を実現してもよい。該方法は以下を含む。
【0060】
まず、前記コントローラの操作パラメータの変化範囲(以下に調整範囲とも称される)を取得する。該変化範囲は予め設定されたものであってもよく、コントローラの操作パラメータの値の調整前後の相対変化量を決定することに用いられる。
【0061】
次に、前記コントローラに関連付けられる各骨格パラメータの変化範囲を取得する。該変化範囲も予め設定されたものであってもよく、実際のニーズに応じて調整する例えば骨格の変位、方向、距離等のパラメータの変化範囲を示すことに用いられる。1つの骨格パラメータの変化範囲が0である場合、このパラメータが調整不可能であり、つまり該コントローラにより制御されていないと示される。
【0062】
その後、前記コントローラに関連付けられる骨格パラメータを、前記コントローラの操作パラメータの変化範囲での変化割合に基づき、該骨格パラメータの変化範囲内において同じ割合で変化させるように設定する。ここで言う変化割合が相対変化量で示されてもよい。例えば、
図4におけるコントローラcontroller1については、その動作パラメータの変化範囲が[0,1]であれば、コントローラの操作パラメータの値が0.2から0.3になる場合、相対変化量が1/10となり、つまり変化割合が1/10となる。そうすると、コントローラcontroller1に関連付けられる骨格bone1、bone2、bone3のパラメータの値が同時に1/10アップする。これにより、コントローラによる関連付けられる骨格パラメータの同時調整を実現する。以上の骨格パラメータがコントローラの操作パラメータに等比率で変化し、線形補間アルゴリズムにより実現されてもよい。
【0063】
当業者であれば理解すべきものは、異なる骨格パラメータに対して異なる変化方式を設定してもよく、例えば、コントローラcontroller1の動作パラメータの値が0.2から0.3になる場合、骨格bone1のパラメータを1/10アップするが、骨格bone2及びbone3のパラメータを1/5アップしてもよい。つまり、異なる骨格パラメータに異なる変化傾向を生じさせてもよい。理解すべきものは、コントローラの操作パラメータ値が0から1になる場合、それに応じて各骨格パラメータもそれぞれの変化区間内に最小値から最大値になるが、各骨格パラメータの変化過程が異なる可能性がある。以上の異なる骨格パラメータがコントローラの操作パラメータに従って異なる傾向で変化し、非線形補間アルゴリズムにより実現されてもよい。
【0064】
本開示の少なくとも1つの実施例では、前記骨格パラメータ調整情報を取得することは、骨格パラメータ調整命令を受信することと、前記骨格パラメータ調整命令に基づいて前記骨格パラメータ調整情報を決定することと、を含む。前記骨格パラメータ調整命令は前記コントローラの操作パラメータの調整命令(以下にコントローラ操作命令と略称されてもよい)を指してもよい。前記コントローラ操作命令に基づき、コントローラの操作パラメータの調整情報(以下にコントローラ調整情報と略称されてもよい)を前記骨格パラメータ調整情報として決定してもよい。
【0065】
本開示の少なくとも1つの実施例では、前記骨格パラメータ調整情報を取得した後、前記骨格パラメータ調整情報に関連付けられる少なくとも1本の骨格のパラメータを取得して、前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整する。前記少なくとも1本の骨格が1本のみの骨格を含む場合、前記骨格パラメータ調整情報に基づいて該骨格のパラメータを調整し、前記少なくとも1本の骨格が複数本の骨格(例えば、複数本の頭部骨格)を含む場合、前記骨格パラメータ調整情報に基づいて前記複数本の骨格のパラメータを同時に調整する。前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することは、前記骨格パラメータ調整情報に対応する第1調整範囲を取得することと、前記骨格パラメータ調整情報に関連付けられる骨格パラメータの第2調整範囲を取得することと、前記骨格パラメータ調整情報の前記第1調整範囲での変化割合に基づき、前記第2調整範囲内において前記骨格パラメータ調整情報に関連付けられる前記骨格パラメータの値を調整することと、を含んでもよい。
【0066】
一例では、前記骨格パラメータ調整情報がコントローラ調整情報を含む場合、前記骨格パラメータ調整情報に基づいて前記少なくとも1本の骨格のパラメータを調整することは、具体的に、前記コントローラ調整情報に対応するコントローラを決定して、前記コントローラの操作パラメータの調整範囲を第1調整範囲として取得することと、前記少なくとも1本の骨格の前記コントローラに関連付けられる各パラメータの調整範囲を第2調整範囲として取得することと、前記少なくとも1本の骨格の前記コントローラに関連付けられる各パラメータに対して、該パラメータに対応する前記第2調整範囲及び前記コントローラ調整情報の前記第1調整範囲での変化割合に基づいて該パラメータの値を調整することと、を含んでもよい。
【0067】
一例では、コントローラに対してウィジェット、例えばスライドバーを予め設定してもよく、該ウィジェットを操作することで対応するコントローラ操作命令を生成する。モデルを生成するとき、該ウィジェットの出力変化量を取得し、つまりコントローラ操作命令に対応するコントローラ調整情報を取得することにより、該コントローラ調整情報に基づいて前記骨格パラメータ調整情報を決定することができ、それにより前記骨格パラメータ調整情報に基づいてコントローラ、具体的に該スライドバーに関連付けられる骨格パラメータを調整することができる。
【0068】
以下、
図5Aにおける両目全体の大きさを調整することを例としてコントローラによる人顔モデルの制御を具体的に説明する。
【0069】
例えば、両目全体の大きさを調整するためのコントローラcontroller1_eyeの動作パラメータの変化範囲を[0,1]として設定し、つまりその動作パラメータの値が[0,1]間のいかなる値であってもよい。且つ、コントローラcontroller1_eyeに対応するスライドバーを操作することにより、その動作パラメータ値をこの区間内に変化させてもよく、
図5Bに示される。
【0070】
コントローラcontroller1_eyeは目部領域の3つの骨格eye_01、eye_02、eye_03を制御してもよいし、骨格eye_01の拡大縮小パラメータ(sx,sy,sz)、骨格eye_02の拡大縮小パラメータ(sx,sy,sz)、骨格eye_03の拡大縮小パラメータ(sx,sy,sz)を具体的に制御してもよい。各パラメータの調整範囲がいずれも[-1,1]であり、つまり各パラメータの値が該区間内のいかなる数値であってもよい。この3つの骨格の他のパラメータの調整範囲が0であり、つまりコントローラcontroller1_eyeにより調整できず、且つその制御リストに表示しない。
【0071】
コントローラcontroller1_eyeに対応するスライドバーを操作することにより、その動作パラメータ値を変化させて、該動作パラメータの値を取得する。次に、該動作パラメータ値を利用してコントローラcontroller1_eyeに関連付けられる上記3つの骨格の関連パラメータを対応する調整範囲内に線形補間して、各パラメータの調整後の数値を取得する。つまり、コントローラcontroller1_eyeの動作パラメータの調整範囲での変化に応じて、関連付けられる骨格パラメータの値をそれぞれの調整範囲内に等比率で変化させる。これにより、両目全体の大きさの調整を実現する。
図5Cは元の両目全体の大きさの模式図である。左側の各枠が骨格パラメータを示し、該骨格パラメータが頭部全体パラメータ(head_all_p_N)、左部頬全体パラメータ(cheek_p_L)、左部頬パラメータ(cheek_01_p_L、cheek_02_p_L、cheek_03_p_L)、右部頬全体パラメータ(cheek_p_R)右部頬パラメータ(cheek_01_p_R、cheek_02_p_R、cheek_03_p_R)、目部全体パラメータ(eye_p_L)、目部パラメータ(eye_01_p_L、eye_02_p_L、eye_03_p_L、eye_04_p_L)を含み、右側が複数のコントローラにそれぞれ対応するスライドバーウィジェットを示す。例えば、
図5Bにおける右側で示されるスライドバー“両目全体の大きさ”を操作することにより、対応するコントローラcontroller1_eyeの動作パラメータの値を小さくして、
図5Dに示される両目全体が小さくなる効果を実現する。当業者であれば理解すべきものは、
図5C~
図5Dに示されるのは骨架図をスキンして取得された三次元モデルであるが、骨格の変化による効果を示す。
【0072】
一例では、調整された骨格が対称なペアとなる骨格の1つである場合、それに応じて調整される骨格に対称な骨格のパラメータが変化する。
図2に示すように、人顔の骨格の多くが対称であり、対称骨格の場合、片側を調整すると、それに応じて他側の骨格も変化する。つまり、対称骨格のパラメータ同士が関連し、一方の骨格のパラメータが変化すると、それに応じて対称な他方の骨格のパラメータも変化する。対称骨格のパラメータを対応して変化させることにより、更に調整ステップを減少させるだけでなく、人顔の対称性を維持することにも役立つ。
【0073】
本開示に説明される局部領域は対応するコントローラがいくつかの効果を実現するために制御すべき領域であってもよい。1つのコントローラが実現できる効果に基づき、該コントローラに対応するウィジェットを命名してもよい。
図5C~
図5Dに示すように、“眉毛左右”“眉毛上下”等の命名を含むウィジェットは該ウィジェットに対応するコントローラが実現できる効果を直感的に示し、ユーザーの操作に役立つ。
【0074】
調整後の骨格パラメータに基づいて人顔モデルを生成した後、表情を正常に実行するように標準融合変形(blendshape)データに適合できるかどうかの問題がある。Blendshapeが融合変形器と称されてもよく、人顔モデルの面部表情を作るツールである。標準融合変形データは標準顔に基づいて構築されたものであるが、本開示において初期の骨格パラメータ(標準顔に対応する骨格パラメータ)を調整した。ここで言う標準顔は関連技術におけるよく使用されるデフォルトパラメータを利用して生成された標準顔モデルを指す。区分説明の都合上、以下、該標準顔モデルに対応する骨格パラメータが第1骨格パラメータと称され、対応する融合変形データが第1融合変形データと称され、且つ本開示における前記方法で生成された人顔モデルに対応する骨格パラメータが第2骨格パラメータと称され、対応する融合変形データが第2融合変形データと称される。
【0075】
以下の実施例は人顔モデルに対応する融合変形データを更新する方法を提供する。該方法は、主に、標準顔モデルに対応する第1骨格パラメータ及び第1融合変形データを取得することと、人顔モデル(具体的に、上記骨格パラメータの調整後の人顔モデル)に対応する第2骨格パラメータを取得することと、前記第2骨格パラメータと前記第1骨格パラメータとの変換関係に応じて、前記第1融合変形データを利用して前記人顔モデルに対応する第2融合変形データを取得することと、を含む。
【0076】
一例では、人顔モデルに対応する融合変形データを更新する方法は
図6に示されるとおりであり、以下を含んでもよい。
【0077】
ステップ601において、標準顔モデルに対応する第1融合変形データ及び第1骨格パラメータに基づき、前記第1融合変形データに対応する第1グリッドデータを取得する。
【0078】
まず、前記標準顔モデルの第1骨格パラメータに対応する標準グリッドデータを取得し、該標準グリッドデータが標準顔モデルの骨格に対応するグリッド頂点データを含んでもよい。
【0079】
一般的に、融合変形器に記憶されるのが表情に対応するグリッドデータと標準グリッドデータとの差値である。標準グリッドデータを取得した後、第1融合変形器(第1融合変形データに対応する融合変形器)に記憶される差値を加えて、第1融合変形器に対応する第1グリッドデータを復元することができる。
【0080】
例えば、標準顔モデルに対応する標準グリッドデータがベクトル[1,1,1・・・1,1]であり、目の大きさを制御するための融合変形器に記憶される融合変形データがベクトル[0,0,0.5・・・0,0]であり、この2つのベクトルの次元の大きさが同じであると仮定する。該融合変形器を動作する場合、上記融合変形データを標準グリッドデータに加えて、標準顔から対応する目が大きくなる効果を実現することができる。つまり、標準グリッドデータ[1,1,1・・・1,1]を融合変形データ[0,0,0.5・・・0,0]に加えて取得したベクトル[1,1,1.5・・・1,1]は目が大きくなる表情に対応する第1グリッドデータである。当業者であれば理解すべきものは、以上のグリッドデータフォーマットは模式的なものであって、本開示におけるグリッドデータフォーマットを制限するためのものではない。
【0081】
ステップ602において、人顔モデルに対応する第2骨格パラメータ及び前記第1骨格パラメータに基づき、前記調整後の人顔モデルのすべての骨格の変換行列を取得する。
【0082】
上記人顔モデルと標準顔モデルとの間ですべての骨格をトラバースして、各骨格の変換行列を取得することができる。
【0083】
一例では、以下の方法で各骨格の変換行列を取得してもよい。
【0084】
まず、前記標準顔に対応する第1骨格パラメータに基づいて標準顔モデルの各骨格の位置行列を取得し、次に、人顔モデルに対応する第2骨格パラメータ、すなわち上記調整後の骨格パラメータに基づいて人顔モデルの各骨格の位置行列を取得し、上記標準顔モデルに対応する骨格の位置行列を上記人顔モデルに対応する骨格の位置行列で割って、各骨格の変換行列を取得することができる。
【0085】
例えば、以下の公式で骨格の変換行列を計算してもよい。
【0086】
T=Tnew*inverse(Tnormal) (1)
Tが骨格の変換行列を示し、Tnewが標準顔モデルに対応する骨格の位置行列を示し、Tnormalが人顔モデルに対応する骨格の位置行列を示し、inverse()が逆行列化を示す。
【0087】
ステップ603において、前記変換行列を前記第1グリッドデータに適用して、前記人顔モデルに対応する第2グリッドデータを取得する。
【0088】
骨格の変換行列をステップ601における取得された第1グリッドデータに適用して、新しいグリッド頂点データを取得する。それは主に骨架スキンの発想を利用し、骨架の変化状態及び各グリッド頂点のバンドリング情報に基づいて新しいグリッド頂点座標、すなわち人顔モデルに対応する第2グリッドデータを計算する。例えば、以下の公式で計算してもよい。
【0089】
【0090】
Vertexnewがグリッドの新しい頂点を示し、Vertexoriがグリッドの初期頂点を示し、kは該頂点がk個の骨格の影響を受けることを示し、Tiが骨格変換行列を示し、weightiが骨格変換行列Tiに対応する重みを示す。
【0091】
ステップ604において、前記第2グリッドデータから前記第1グリッドデータを差し引くことによって、前記調整後の人顔モデルに対応する第2融合変形データを取得する。
【0092】
依然として目の大きさを制御するための融合変形器を例とし、ステップ601における取得された第1グリッドデータは目が大きくなる効果を実現することに対応するグリッドデータである。ステップ602における取得された骨格の変換行列を該第1グリッドデータに応用し、取得された第2グリッドデータは目が大きくなる効果を実現する人顔モデルに対応する。該第2グリッドデータから該第1グリッドデータを引いて取得された第2融合変形器データは人顔モデルに対応する融合変形器に記憶されるデータである。
【0093】
本実施例では、新しい人顔モデルを生成した後、骨格の変換行列を標準顔モデルに対応する融合変形器に適用して、新しい人顔モデルに適合するように更新し、表情の駆動精度を向上させることができる。
【0094】
当業者であれば理解すべきものは、本実施例における融合変形データの更新方法は前記三次元部分人体モデルの生成方法を利用して生成された人顔モデルに適用されるだけでなく、いかなる顔をつまんだ後のモデルにも適用されてもよい。顔をつまんだ後のモデルの融合変形データの更新については、その変換行列では、Tnewが顔をつまんだ後のモデルに対応する骨格の位置行列を示し、Tnormalが顔をつまむ前のモデルに対応する骨格の位置行列を示す。
【0095】
生成された人顔モデルについては、一般的にモデル分割方式で人顔モデルの各交換可能な部分のために1つの独立したモデルを分離することを含むカスタム化粧を生成する。このような方式を用いると、レンダリング段階において複数のCPUがグラフィカルプログラミングインターフェース(draw call)を呼び出すことになり、このため、プログラムの性能に大きく影響してしまう。
【0096】
これに基づき、以下の実施例は人顔モデルに顔部化粧を生成する方法を提供し、
図7に示すように、以下を含んでもよい。
【0097】
ステップ701において、人顔モデルの骨格パラメータに基づいて少なくとも1つの領域を含むフェイスマップを生成し、各前記領域が顔部化粧の1つの交換可能な部分に対応する。
【0098】
本ステップでは、前記人顔モデルの骨格パラメータに基づいてフェイスマップを生成してもよい。該フェイスマップは顔部化粧の1つの交換可能な部分に対応する領域を複数含んでもよい。前記複数の領域のうちの各領域の形状が同じであってもよいし、異なってもよく、例えばいずれも矩形領域であってもよい。異なる骨格パラメータについては、各矩形領域の大きさと位置が一般的に異なる。ここで言う顔部化粧は生成された人顔モデルの有する取替不可能な部分ではなく、人顔モデルに対して取替可能な部分、例えば眉毛、頬紅、唇、ひげ等を含む。当業者であれば理解すべきものは、取替可能部分は以上の説明に限らず、更に他の顔部化粧部材を含んでもよい。
【0099】
当業者であれば理解すべきものは、該フェイスマップは上記人顔モデルの骨格パラメータに基づいて生成されたものに限らず、他の方式で作って生成されたフェイスマップであってもよい。
【0100】
図8Aに示すように、該フェイスマップには眉毛、頬紅、唇、又は唇とひげに対応する矩形領域が含まれる。各矩形領域は幅、高さ、座標水平方向オフセット、座標垂直方向オフセット値のうちの少なくとも1つを含んでもよい。当業者であれば理解すべきものは、該領域は矩形領域に限らず、他の形状の領域であってもよい。
【0101】
ステップ702において、各前記領域に対して、対応する交換可能な部分マップを取得する。
【0102】
フェイスマップにおける化粧の交換可能な部分に対応する領域が矩形領域である場合を例とし、本ステップでは、矩形領域のパラメータに基づいて作って、対応する交換可能な部分マップ(以下、部材テクスチャと略称されてもよい)を生成してもよいし、対応する部材テクスチャを呼び出し、導入してもよい。部材テクスチャの例は
図8Bに示されるとおり、各交換可能な部分マップが対応する矩形領域の幅と高さにほぼ合致する。各交換可能な部分マップの色を変化させてもよいし、部材テクスチャに1層の詳細テクスチャを追加してもよい。
【0103】
一例では、交換可能な部分マップの透明度情報及びテクスチャ情報を組み合わせることにより、前記交換可能な部分マップのテクスチャを生成してもよい。該テクスチャ情報は交換可能な部分マップに対して選択されたテクスチャ情報である。
【0104】
ステップ703において、各前記交換可能な部分マップを前記フェイスマップと合成して、合成後のマップを取得する。
【0105】
一例では、以下の方式で顔部化粧の各交換可能な部分マップ及びフェイスマップを合成してもよい。
【0106】
交換可能な部分マップに対応する矩形領域の座標水平方向オフセット値及び座標垂直方向オフセット値に基づき、前記交換可能な部分マップをフェイスマップに対応する矩形領域にコピーし、フェイスマップと前記交換可能な部分マップとを透明度情報に応じて組み合わせる。前記透明度情報は前記交換可能な部分マップの透明度情報であり、その混合公式は以下のとおりである。
【0107】
【0108】
【0109】
が合成後のマップの最終色を示し、
【0110】
【0111】
の場合に表示しているフェイスマップ
【0112】
【0113】
の色を示し、
【0114】
【0115】
の場合に表示している交換可能な部分マップ
【0116】
【0117】
の色を示す。
【0118】
一例では、まずフェイスマップをレンダリングテクスチャ(RenderTexture)にコピーし、その後、各交換可能な部分マップをフェイスマップに対応する矩形領域にコピーし、レンダリングテクスチャを利用して交換可能な部分マップとフェイスマップとの合成を実現してもよい。他の例では、フェイスマップと対応する照明モデル(shader)とをレンダリングテクスチャにコピーしてもよい。
【0119】
交換可能な部分マップとフェイスマップとを合成したものは
図8Cに示される。
【0120】
ステップ704において、前記合成後のマップを前記人顔モデルにマッピングして、前記人顔モデルの顔部化粧を生成する。
【0121】
一例では、まず前記フェイスマップを1つのフレームバッファオブジェクト(FrameBufferObject)にレンダリングし、次に、前記人顔モデルのテクスチャ座標UVに基づき、該フレームバッファオブジェクトをGPUにおける人顔モデルに対応するテクスチャオブジェクトに関連づけて、前記合成後のマップから前記人顔モデルまでのマッピングを実現する。
【0122】
図9Aには初期の人顔モデルを示し、
図9Bには上記方法で顔部化粧を生成した後の人顔モデルを示す。
【0123】
本実施例では、フェイスマップと顔部化粧における各交換可能な部分に対応するテクスチャとを生成することにより、合成してからレンダリングする方法を利用して、レンダリング効率を向上させる。
【0124】
図10Aには三次元部分人体モデルの生成装置を示し、
図10Aに示すように、該装置は、三次元部分人体モデルを含む骨格パラメータ調整情報を取得するように構成される取得ユニット1001と、前記骨格パラメータ調整情報に基づき、前記三次元部分人体モデルの骨格パラメータを調整するように構成される調整ユニット1002と、調整後の前記骨格パラメータに基づき、三次元部分人体モデルを生成するように構成される生成ユニット1003と、を備えてもよい。
【0125】
図10Bには他の三次元部分人体モデルの生成装置を示す。前記三次元部分人体モデルが人顔モデルである場合、
図10Bに示すように、該装置は、更に、予め取得された標準顔モデルに対応する第1骨格パラメータ及び第1融合変形データ、並びに前記人顔モデルに対応する第2骨格パラメータに基づき、前記人顔モデルに対応する第2融合変形データを取得するように構成される更新ユニット1005を備えてもよい。
【0126】
図10Cには他の三次元部分人体モデルの生成装置を示す。前記三次元部分人体モデルが人顔モデルである場合、
図10Cに示すように、該装置は、更に、前記人顔モデルに顔部化粧を生成するように構成され、具体的に、前記人顔モデルの骨格パラメータに基づき、前記人顔モデルの顔部化粧の1つの交換可能な部分に対応する領域を複数含むフェイスマップを生成し、各前記領域に対して、該領域のパラメータに基づいて対応する交換可能な部分マップを取得し、各前記交換可能な部分マップを前記フェイスマップと合成して、合成後のマップを取得し、前記合成後のマップを前記人顔モデルにマッピングして、前記人顔モデルの前記顔部化粧を生成するように構成される化粧生成ユニット1006を備えてもよい。
【0127】
図11には本開示の少なくとも1つの実施例に係る三次元部分人体モデルの生成デバイスを示し、
図11に示すように、該デバイスはメモリ1101とプロセッサ1102を備えてもよい。前記メモリ1101はプロセッサ1102において実行できるコンピュータ命令を記憶することに用いられ、前記プロセッサ1102は前記コンピュータ命令を実行するとき、本開示のいずれか1つの実施例に記載の三次元部分人体モデルの生成方法を実現することに用いられる。
【0128】
本開示の少なくとも1つの実施例は更にコンピュータ可読記憶媒体を提供し、該記憶媒体にコンピュータプログラムが記憶され、前記プログラムがプロセッサにより実行されるとき、本開示のいずれか1つの実施例に記載の三次元部分人体モデルの生成方法を実現する。
【0129】
当業者であれば理解すべきものは、本開示の1つ又は複数の実施例は方法、システム又はコンピュータプログラム製品として提供されてもよい。従って、本開示の1つ又は複数の実施例は完全なハードウェア実施例、完全なソフトウェア実施例又はソフトウェア態様とハードウェア態様とを組み合わせた実施例の形式を用いてもよい。且つ、本開示の1つ又は複数の実施例はコンピュータ利用可能プログラムコードを含む1つ又は複数のコンピュータ利用可能記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリ等を含むが、それらに限らない)において実施されるコンピュータプログラム製品の形式を用いてもよい。
【0130】
本開示の各実施例はいずれも累加方式で説明し、各実施例同士の同じ又は類似の部分は互いに参照すればよく、各実施例において他の実施例との相違点を中心に説明する。特に、データ処理デバイスの実施例については、方法実施例にほぼ類似するため、簡単に説明したが、関連箇所は方法実施例の部分説明を参照すればよい。
【0131】
以上は本開示の特定実施例を説明した。他の実施例は添付の特許請求の範囲内に含まれる。いくつかの場合、特許請求の範囲に記載される行動又はステップは実施例と異なる順序で実行されてもよく、且つ依然として所望の結果を実現することができる。また、図面に説明される過程は必ずしも図示の特定順序又は連続順序で所望の結果を実現するように要求されるとは限らない。いくつかの実施形態では、マルチタスク処理及び並列処理は有利なものであってもよく、又は有利なものである可能性がある。
【0132】
本開示に説明される主題及び機能操作の実施例は、デジタル電子回路、有形コンピュータソフトウェア又はファームウェア、本開示に開示される構造及びその構造的同等物を含むコンピュータハードウェア、又はそれらのうちの1つ又は複数の組み合わせにおいて実現されてもよい。本開示に説明される主題の実施例は1つ又は複数のコンピュータプログラム、すなわちデータ処理装置により実行され又はデータ処理装置の操作を制御するように有形非一時的プログラムキャリアにコーディングされるコンピュータプログラム命令における1つ又は複数のモジュールとして実現されてもよい。代替可能又は追加として、プログラム命令は手動で生成された伝播信号、例えば機械により生成された電気、光又は電磁信号にコーディングされてもよく、該信号が生成されることにより、データ処理装置により実行されるように情報をコーディングして適切な受信機装置に伝達する。コンピュータ記憶媒体は機械可読記憶装置、機械可読記憶基板、ランダムアクセスメモリ又はシリアルアクセスメモリデバイス、又はそれらのうちの1つ又は複数の組み合わせであってもよい。
【0133】
本開示に説明される処理及び論理フローは1つ又は複数のコンピュータプログラムを実行する1つ又は複数のプログラマブルコンピュータにより実行されてもよく、それにより対応する機能を実行するように入力データに基づいて操作して出力を生成する。前記処理及び論理フローは更に特定用途向け論理回路例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)により実行されてもよく、且つ装置は特定用途向け論理回路として実現されてもよい。
【0134】
コンピュータプログラムを実行することに適するコンピュータは例えば汎用及び/又は専用マイクロプロセッサ、又はいかなる他のタイプの中央演算処理装置を含んでもよい。一般的に、中央演算処理装置は読み出し専用メモリ及び/又はランダムアクセスメモリから命令とデータを受信する。コンピュータの基本コンポーネントは命令を実施又は実行するための中央演算処理装置と、命令とデータを記憶するための1つ又は複数のメモリデバイスとを含む。一般的に、コンピュータは更にデータを記憶するための1つ又は複数の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスク又は光ディスク等に操作可能に結合され、又は該コンピュータはこの大容量記憶デバイスに操作可能に結合され、それにより該大容量記憶デバイスからデータを受信し又は該大容量記憶デバイスへデータを伝送し、或いは以上の2種類の状況が同時に存在する。ところが、コンピュータはこのような特徴を有しなければならないデバイスではない。なお、コンピュータは他のデバイス、例えば携帯電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオ又はビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、又は例えば汎用シリアルバス(USB)フラッシュメモリの携帯型記憶デバイス等に嵌め込まれてもよい。
【0135】
コンピュータプログラム命令とデータを記憶することに適するコンピュータ可読媒体はすべての形式の不揮発性メモリ、媒体及びメモリデバイスを含み、例えば、半導体メモリデバイス(例えば、EPROM、EEPROM及びフラッシュメモリデバイス)、磁気ディスク(例えば、内部ハードディスク又はリムーバブルディスク)、光磁気ディスク、並びにCD ROM及びDVD-ROMディスクを含む。プロセッサ及びメモリは特定用途向け論理回路により追加され又は特定用途向け論理回路に内蔵されてもよい。
【0136】
本開示は多くの具体的な実施詳細を含むが、これらが本発明の範囲又は保護を要求する範囲を制限するためのものであると解釈されるべきではなく、主に特定発明の具体的な実施例の特徴を説明することに用いられる。本開示における複数の実施例に説明されるいくつかの特徴は単一の実施例において組み合わせて実施されてもよい。他の態様では、単一の実施例に説明される様々な特徴は複数の実施例において別個に実施され、又はいかなる適切なサブ組み合わせにより実施されてもよい。なお、特徴は以上の説明のようにいくつかの組み合わせで役割を果たし、ひいては最初にこのように保護を要求してもよいが、保護を要求する組み合わせからの1つ又は複数の特徴はいくつかの場合に該組み合わせから除去されてもよく、且つ保護を要求する組み合わせはサブ組み合わせ又はサブ組み合わせの変形を指してもよい。
【0137】
同様に、図面において特定順序で操作を説明したが、所望の結果を実現するよう、これらの操作を図示の特定順序で実行し又は順次実行するように要求され、又はすべての例示的な操作が実行されるように要求されると理解されるべきではない。いくつかの場合、マルチタスク及び並列処理が有利なものである可能性がある。なお、上記実施例における様々なシステムモジュールとコンポーネントとの分離はすべての実施例においていずれもこのような分離を必要とすると理解されるべきではなく、理解すべきものは、説明されるプログラムコンポーネント及びシステムが一般的に単一のソフトウェア製品に統合され、又は複数のソフトウェア製品にカプセル化されてもよい。
【0138】
これにより、主題の特定実施例が説明された。他の実施例は添付の特許請求の範囲内に含まれる。いくつかの場合、特許請求の範囲に記載される動作は異なる順序で実行されてもよく、且つ依然として所望の結果を実現する。なお、所望の結果を実現するよう、図面に説明される処理は図示の特定順序又は順次順序で実行されなければならないというわけではない。いくつかの実現において、マルチタスク及び並列処理が有利なものである可能性がある。
【0139】
以上の説明は本開示の1つ又は複数の実施例の好適な実施例であって、本開示の1つ又は複数の実施例を制限するためのものではなく、本開示の1つ又は複数の実施例の趣旨及び原則内に行われたいかなる修正、等価置換、改良等は、いずれも本開示の1つ又は複数の実施例の保護範囲内に含まれるべきである。