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

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

▶ テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッドの特許一覧

特許7407919動画処理方法、動画処理装置、コンピュータプログラム及び電子機器
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-21
(45)【発行日】2024-01-04
(54)【発明の名称】動画処理方法、動画処理装置、コンピュータプログラム及び電子機器
(51)【国際特許分類】
   G06T 13/40 20110101AFI20231222BHJP
   G06N 3/08 20230101ALI20231222BHJP
【FI】
G06T13/40
G06N3/08
【請求項の数】 16
(21)【出願番号】P 2022521969
(86)(22)【出願日】2020-11-02
(65)【公表番号】
(43)【公表日】2022-12-22
(86)【国際出願番号】 CN2020125938
(87)【国際公開番号】W WO2021143289
(87)【国際公開日】2021-07-22
【審査請求日】2022-04-21
(31)【優先権主張番号】202010043321.5
(32)【優先日】2020-01-15
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャン,ルゥォン
【審査官】佐野 潤一
(56)【参考文献】
【文献】特開2019-175266(JP,A)
【文献】中国特許出願公開第108182719(CN,A)
【文献】特開2004-030502(JP,A)
【文献】特表2000-508804(JP,A)
【文献】筒口 拳 ,3次元シーン内の人物像歩行動作生成システム,情報処理学会論文誌 第38巻 第4号,日本,社団法人情報処理学会,1997年04月,第38巻,787-796
【文献】筒口 拳 ,地形適応型歩行動作生成手法を用いた人物の歩行アニメーション,電子情報通信学会論文誌 (J77-D-II) 第8号,日本,社団法人電子情報通信学会,1994年08月,第J77-D-II巻,p.1663-1670
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/00-19/00
A63F 13/00
G06N 3/08
G09G 5/00
(57)【特許請求の範囲】
【請求項1】
電子機器によって実行される動画処理方法であって、
現時点のグラフィカルユーザインターフェースにおける地形特徴を取得するとともに、前記現時点の動画セグメントにおける仮想キャラクタに対応する状態情報及びタスク情報を取得するステップと、
前記地形特徴、前記状態情報及び前記タスク情報を動画処理モデルに入力し、前記動画処理モデルで前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出して、次の時点の前記仮想キャラクタに対応する関節動作情報を取得するステップと、
前記関節動作情報に応じて関節モーメントを決定するステップと、
前記関節モーメントに基づいて、前記現時点の前記仮想キャラクタに対応する姿勢調整情報を取得し、前記姿勢調整情報に応じて前記動画セグメントを処理するステップと、を含み、
前記状態情報は、前記仮想キャラクタの各関節の姿勢、速度及び位相を含み、
前記タスク情報は、前記仮想キャラクタに対応する目標速度方向又は目標点座標を含む
動画処理方法。
【請求項2】
前記現時点が前記動画セグメントの開始時点である場合、前記動画セグメントの開始時点の前記仮想キャラクタの姿勢情報に応じて前記状態情報を決定するステップと、
前記現時点が前記動画セグメントの開始時点でない場合、直前の時点の前記仮想キャラクタに対応する関節動作情報に応じて前記状態情報を決定するステップと、をさらに含む、
請求項1に記載の動画処理方法。
【請求項3】
前記動画セグメントを基づいて、前記仮想キャラクタに対応する複数の時点の姿勢調整情報を取得するステップと、
前記複数の時点の姿勢調整情報に応じて目標動作シーケンスを決定するステップと、をさらに含む、
請求項2に記載の動画処理方法。
【請求項4】
前記地形特徴は、カスタマイズ地形の特徴又は現実地形の特徴であ
請求項1に記載の動画処理方法。
【請求項5】
前記動画処理モデルは、第1制御ネットワーク及び第2制御ネットワークを含み、
前記地形特徴、前記状態情報及び前記タスク情報を動画処理モデルに入力し、前記動画処理モデルで前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出して、次の時点の前記仮想キャラクタに対応する関節動作情報を取得する前記ステップは、
前記地形特徴、前記状態情報及び前記タスク情報を前記第1制御ネットワークに入力し、前記第1制御ネットワークにより前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出して、重要な関節に対応する目標状態情報を取得するステップであって、前記重要な関節は、地形特徴、仮想キャラクタの状態情報及びタスク情報に対応する関節である、ステップと、
前記目標状態情報を目標タスク情報として決定するステップと、
前記状態情報及び前記目標タスク情報を前記第2制御ネットワークに入力し、前記第2制御ネットワークで前記状態情報及び前記目標タスク情報から特徴を抽出して、前記関節動作情報を取得するステップと、を含む、
請求項1に記載の動画処理方法。
【請求項6】
前記第1制御ネットワークは、畳み込みユニット、第1完全接続層、第2完全接続層及び第3完全接続層を含み、
前記第1制御ネットワークにより前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出して、重要な関節に対応する目標状態情報を取得する前記ステップは、
前記畳み込みユニットで前記地形特徴に対して特徴抽出を行って、地形に対応する第1特徴情報を取得するステップと、
前記第1完全接続層で前記第1特徴情報に対して特徴の組合せを行って、第2特徴情報を取得するステップと、
前記第2完全接続層で前記第2特徴情報、前記状態情報及び前記タスク情報に対して特徴の組合せを行って、第3特徴情報を取得するステップと、
前記第3完全接続層により前記第3特徴情報に対して特徴の組合せを行って、前記目標状態情報を取得するステップと、を含む、
請求項5に記載の動画処理方法。
【請求項7】
前記第2制御ネットワークは第4完全接続層及び第5完全接続層を含み、
前記第2制御ネットワークで前記状態情報及び前記目標タスク情報から特徴を抽出して、前記関節動作情報を取得する前記ステップは、
前記第4完全接続層で前記状態情報及び前記目標タスク情報に対して特徴の組合せを行って、第4特徴情報を取得するステップと、
前記第5完全接続層で前記第4特徴情報に対して特徴の組合せを行って、前記関節動作情報を取得するステップと、を含む、
請求項5に記載の動画処理方法。
【請求項8】
前記関節動作情報に応じて関節モーメントを決定する前記ステップは、
前記関節動作情報に応じて関節の現在位置及び目標位置を決定するステップと、
前記現在位置に応じて前記関節の現在速度及び現在加速度を決定し、前記目標位置に応じて前記関節の目標速度を決定するステップと、
前記現在速度及び前記現在加速度に応じて、次の制御周期の後に前記関節に対応する第1位置及び第1速度を決定するステップと、
比例係数、微分ゲイン係数、前記現在位置、前記目標位置、前記目標速度、前記第1位置及び前記第1速度に基づいて、前記関節モーメントを計算するステップと、を含む、
請求項1に記載の動画処理方法。
【請求項9】
前記関節モーメントに基づいて、前記現時点の前記仮想キャラクタに対応する姿勢調整情報を取得する前記ステップは、
前記関節モーメントを物理エンジンに入力し、前記物理エンジンにより前記関節モーメントを対応する関節に施しながら、レンダリングして、前記姿勢調整情報を生成するステップを含む、
請求項1に記載の動画処理方法。
【請求項10】
前記動画処理モデルで前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出する前に、
トレーニング対象の動画処理モデルをトレーニングして、前記動画処理モデルを取得するステップをさらに含む、
請求項5に記載の動画処理方法。
【請求項11】
前記トレーニング対象の動画処理モデルは、トレーニング対象の第1制御ネットワーク及びトレーニング対象の第2制御ネットワークを含み、
トレーニング対象の動画処理モデルをトレーニングして、前記動画処理モデルを取得する前記ステップは、
地形特徴サンプル、キャラクタ状態サンプル及びタスク情報サンプルを取得するステップと、
前記地形特徴サンプル、前記キャラクタ状態サンプル及び前記タスク情報サンプルに基づいて、前記トレーニング対象の第1制御ネットワークをトレーニングして、前記第1制御ネットワークを取得するステップと、
動画セグメントサンプルにおける、前記仮想キャラクタの前記重要な関節に対応する状態情報サンプル及び全ての関節に対応する関節動作情報サンプルに基づいて、前記第2制御ネットワークをトレーニングして、前記第2制御ネットワークを取得するステップと、を含み、
前記トレーニング対象の第1制御ネットワーク及び前記トレーニング対象の第2制御ネットワークを別々にトレーニングされ、前記トレーニング対象の第1制御ネットワークをトレーニングするとき、前記トレーニング対象の第1制御ネットワークには、固定パラメータを持つ第2制御ネットワークが接続されている、
請求項10に記載の動画処理方法。
【請求項12】
動画セグメントサンプルにおける、前記仮想キャラクタの前記重要な関節に対応する状態情報サンプル及び全ての関節に対応する関節動作情報サンプルに基づいて、前記第2制御ネットワークをトレーニングして、前記第2制御ネットワークを取得する前記ステップは、
複数の動画セグメントサンプルを取得するステップと、
前記仮想キャラクタの開始姿勢に基づいて、前記複数の動画セグメントサンプルから目標動画セグメントサンプルを決定するステップと、
前記目標動画セグメントサンプルから前記重要な関節に対応する状態情報サンプルを取得して、前記状態情報サンプルを目標タスク情報とするステップと、
前記仮想キャラクタの全ての関節に対応する関節動作情報サンプルを取得するステップと、
前記目標タスク情報及び前記関節動作情報サンプルに基づいて、前記トレーニング対象の第2制御ネットワークをトレーニングするステップと、を含む、
請求項11に記載の動画処理方法。
【請求項13】
前記トレーニング対象の第1制御ネットワークは、第1トレーニング対象の実行サブネットワーク及び第1トレーニング対象の評価サブネットワークを含み、
前記トレーニング対象の第2制御ネットワークは、第2トレーニング対象の実行サブネットワーク及び第2トレーニング対象の評価サブネットワークを含み、
前記第1トレーニング対象の実行サブネットワークと前記第1トレーニング対象の評価サブネットワークとは構造が同じであり、前記第2トレーニング対象の実行サブネットワークと前記第2トレーニング対象の評価サブネットワークとは構造が同じである、
請求項11に記載の動画処理方法。
【請求項14】
現時点のグラフィカルユーザインターフェースにおける地形特徴を取得するとともに、前記現時点の動画セグメントにおける仮想キャラクタに対応する状態情報及びタスク情報を取得するように構成される情報取得モジュールと、
前記地形特徴、前記状態情報及び前記タスク情報を動画処理モデルに入力し、前記動画処理モデルで前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出して、次の時点の前記仮想キャラクタに対応する関節動作情報を取得するように構成されるモデル処理モジュールと、
前記関節動作情報に応じて関節モーメントを決定し、前記関節モーメントに基づいて、前記現時点の前記仮想キャラクタに対応する姿勢調整情報を取得し、前記姿勢調整情報に応じて前記動画セグメントを処理するように構成される姿勢調整モジュールと、を含み、
前記状態情報は、前記仮想キャラクタの各関節の姿勢、速度及び位相を含み、
前記タスク情報は、前記仮想キャラクタに対応する目標速度方向又は目標点座標を含む
動画処理装置。
【請求項15】
1つ又は複数のプロセッサと、
1つ又は複数のプログラムを記憶するための記憶装置と、を含み、
前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサに請求項1~13のいずれか1項に記載の動画処理方法を実行させる、
電子機器。
【請求項16】
コンピュータに、請求項1~13のいずれか1項に記載の動画処理方法を実施させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本開示は、出願番号が202010043321.5で、出願日が2020年1月15日の中国特許出願に基づいて中国国家知識産権局に提出され、当該中国特許出願の優先権を主張し、当該出願の全ての内容は本願に組み込まれる。
【0002】
(技術分野)
本開示は、人工知能技術の分野に関し、特に、動画処理方法、動画処理装置、コンピュータ記憶媒体及び電子機器に関する。
【背景技術】
【0003】
人工知能の発展に伴い、例えば医療分野、金融分野、画像設計分野など、人工知能技術が応用される分野がますます増加している。ゲームの設計を例にすると、最初の2Dゲームの設計から現在の3Dゲームの設計へと徐々に進んできた。
【0004】
現在、ゲームの制作において、通常、動画デザイナーが複数の動画セグメントを設計してから、ゲームエンジンを経由して複数の動画セグメントを混合し、切り替えて、最終的にゲームの効果が実現される。ここで、動画とは、キャラクタの挙動の表現方法の一つであり、キャラクタのしばらくの間の動作を記録して再生することが、1つの完全な動画セグメントである。しかし、動画デザイナーが制作した動画の再生効果は、物理エンジンでリアルタイムにレンダリングされる動画ほど自然かつリアルではなく、かつ、変化する目標タスクを達成できない、動的地形に適応できないなど、プレーヤーとのインタラクションができない。
【0005】
なお、上記の背景技術部分に開示された情報は、本開示の背景に対する理解を容易にするためのものにすぎず、当業者に周知の従来技術を構成しない情報を含んでもよい。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示の実施例は、動画処理方法、動画処理装置、コンピュータ記憶媒体及び電子機器を提供する。
【課題を解決するための手段】
【0007】
本開示の実施例は、電子機器によって実行される動画処理方法を提供し、当該方法は、現時点のグラフィカルユーザインターフェースにおける地形特徴を取得するとともに、現時点の動画セグメントにおける仮想キャラクタに対応する状態情報及びタスク情報を取得するステップと、地形特徴、状態情報及びタスク情報を動画処理モデルに入力し、動画処理モデルで地形特徴、状態情報及びタスク情報から特徴を抽出して、次の時点の仮想キャラクタに対応する関節動作情報を取得するステップと、関節動作情報に応じて関節モーメントを決定し、関節モーメントに基づいて、現時点の仮想キャラクタに対応する姿勢調整情報を取得し、姿勢調整情報に応じて動画セグメントを処理するステップと、を含む。
【0008】
本開示の実施例は、動画処理装置を提供し、現時点のグラフィカルユーザインターフェースにおける地形特徴を取得するとともに、現時点の動画セグメントにおける仮想キャラクタに対応する状態情報及びタスク情報を取得するように構成される情報取得モジュールと、地形特徴、状態情報及びタスク情報を動画処理モデルに入力し、動画処理モデルで地形特徴、状態情報及びタスク情報から特徴を抽出して、次の時点の仮想キャラクタに対応する関節動作情報を取得するように構成されるモデル処理モジュールと、関節動作情報に応じて関節モーメントを決定し、関節モーメントに基づいて、現時点の仮想キャラクタに対応する姿勢調整情報を取得し、姿勢調整情報に応じて動画セグメントを処理するように構成される姿勢調整モジュールと、を含む。
【0009】
本開示の実施例は、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供し、コンピュータプログラムがプロセッサによって実行されると、上記実施例に記載の動画処理方法が実施される。
【0010】
本開示の実施例は、電子機器を含み、1つ又は複数のプロセッサと、1つ又は複数のプログラムを記憶するための記憶装置と、を含み、1つ又は複数のプログラムが1つ又は複数のプロセッサによって実行されると、1つ又は複数のプロセッサに上記実施例に記載の動画処理方法を実行させる。
【0011】
本開示の実施例にて提供される技術的解決手段では、まず、現時点のグラフィカルユーザインターフェースにおける地形特徴と、動画セグメントにおける仮想キャラクタに対応する状態情報及びタスク情報とを取得し、その後、動画処理モデルで地形特徴、状態情報及びタスク情報から特徴を抽出して、次の時点の仮想キャラクタに対応する関節動作情報を取得し、最後に、関節動作情報に応じて関節モーメントを決定し、関節モーメントに基づいて、現時点の仮想キャラクタに対応する姿勢調整情報を取得し、姿勢調整情報に応じて動画セグメントを処理し、それにより、動画セグメントを模倣しながら、異なる地形特徴及びタスク情報に応じて仮想キャラクタの動作姿勢を調整することもでき、動画のリアリティ性を向上させる一方、ユーザと仮想キャラクタとのインタラクションを実現し、仮想キャラクタの自己適応力を向上させた。
【0012】
上記の一般的な記述及び以下の詳細な記述は、例示的かつ解釈的なものにすぎず、本開示を限定するものではないことを理解されたい。
【図面の簡単な説明】
【0013】
ここの図面は、本明細書に組み込まれて、その一部を構成し、本開示に合致する実施例を示し、本明細書とともに、本開示の原理を説明するために使用される。明らかに、以下の説明における図面は、本開示の一部の実施例にすぎず、当業者であれば、創造的な労働なしに、これらの図面から他の図面を得ることもできる。
図1】本開示の実施例の技術的解決手段を適用できる例示的なシステムアーキテクチャの概略図を示した。
図2】関連技術におけるスキン動画の仮想キャラクタの構成構造を模式的に示した。
図3】本開示の一実施例に係る動画処理方法の概略フローチャートを模式的に示した。
図4】本開示の一実施例に係るゲームシーンと現実シーンとが融合した後のシーンの概略図を模式的に示した。
図5】本開示の一実施例に係るギャップが密な地形の画面の概略図を模式的に示した。
図6】本開示の一実施例に係る混合障害物地形の画面の概略図を模式的に示した。
図7】本開示の一実施例に係る人型キャラクタの歩行動作の第1フレームの動作情報を模式的に示した。
図8】本開示の一実施例に係る地形の画面の概略図を模式的に示した。
図9】本開示の一実施例に係る動画処理モデルの概略構造図を模式的に示した。
図10】本開示の一実施例に係る第1制御ネットワークの概略構造図を模式的に示した。
図11】本開示の一実施例に係る第2制御ネットワークの概略構造図を模式的に示した。
図12】本開示の一実施例に係る拡張的学習の概略フローチャートを模式的に示した。
図13】本開示の一実施例に係る動画処理モデルのアルゴリズムフレームワークアーキテクチャ図を模式的に示した。
図14】本開示の一実施例に係る動画処理モデルが制御する仮想キャラクタが平地を走る動作シーケンスを模式的に示した。
図15A】本開示の一実施例に係る人型仮想キャラクタが、ギャップが密な地形を走る動作シーケンスを模式的に示した。
図15B】本開示の一実施例に係る人型仮想キャラクタが、ギャップが密な地形を走る動作シーケンスを模式的に示した。
図15C】本開示の一実施例に係る人型仮想キャラクタが、ギャップが密な地形を走る動作シーケンスを模式的に示した。
図15D】本開示の一実施例に係る人型仮想キャラクタが、ギャップが密な地形を走る動作シーケンスを模式的に示した。
図15E】本開示の一実施例に係る人型仮想キャラクタが、ギャップが密な地形を走る動作シーケンスを模式的に示した。
図16A】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16B】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16C】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16D】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16E】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16F】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16G】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16H】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16I】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16J】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16K】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図16L】本開示の一実施例に係る人型仮想キャラクタが混合障害物地形を走る動作シーケンスを模式的に示した。
図17】本開示の一実施例に係る動画処理装置のブロック図を模式的に示した。
図18】本開示の実施例を実現するために適する電子機器のコンピュータシステムの概略構造図を示した。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら、例示の実施形態をより包括的に説明する。しかしながら、例示の実施形態を、多様な形態で実施することができ、本明細書の範例に限定されるものであると理解すべきではなく、むしろ、これらの実施形態の提供により、本開示がより包括的もの及び完全なものになり、例示の実施形態の構想を包括的に当業者に伝達することができる。
【0015】
さらに、記述された特徴、構造又は特性は、任意の適切な方法で1つ又は複数の実施例に組み込まれてもよい。以下の記述では、本開示の実施例を十分理解させるために、多くの詳細を提供する。しかしながら、当業者は、特定の詳細のうちの1つ又は複数の詳細なしに、又は、他の方法、構成要素、装置、ステップなどを採用して、本開示の技術的解決手段を実施できることを認識できるだろう。他の場合、本開示の各態様の曖昧さを回避するために、周知の方法、装置、実装又は操作を詳細に表示又は説明しない。
【0016】
図面に示すブロック図は、機能エンティティにすぎず、必ずしも物理的に独立したエンティティに対応するものである必要がない。即ち、ソフトウェアの形態を採用してこれらの機能エンティティを実装してもよいし、1つ又は複数のハードウェアモジュール若しくは集積回路にこれらの機能エンティティを実装してもよいし、異なるネットワーク及び/又はプロセッサ装置及び/又はマイクロコントローラ装置にこれらの機能エンティティを実装してもよい。
【0017】
図面に示すフローチャートは、例示的な説明にすぎず、必ずしもコンテンツ及び操作/ステップを全部含む必要がないし、必ずしも記述された順序に従って実行される必要もない。例えば、分解できる操作/ステップがある一方、統合するか又は部分的に統合することができる操作/ステップがあるため、実際に実行する順序は、実際の状況に応じて変更されてもよい。
【0018】
図1、本開示の実施例の技術的解決手段を適用できる例示的なシステムアーキテクチャの概略図を示した。
【0019】
図1に示すように、システムアーキテクチャ100は、端末機器101、ネットワーク102及びサーバ103を含んでもよい。ネットワーク102は、端末機器101とサーバ103との間の通信リンクを提供するための媒体である。ネットワーク102には、例えば有線通信リンク、無線通信リンクなどのような様々な接続タイプが含まれ得る。
【0020】
図1における端末機器、ネットワーク及びサーバの数は例示的なものにすぎないことを理解されたい。実際のニーズに合わせて、任意の数の、端末機器、ネットワーク及びサーバを有してもよい。例えば、サーバ103は、複数のサーバからなるサーバクラスタなどであってもよい。端末機器101は、ノートパソコン、携帯型コンピュータ、デスクトップ型コンピュータなどの表示画面を有する端末機器であってもよい。
【0021】
本開示の一実施例において、端末機器101にはゲームアプリケーションが搭載されており、当該ゲームアプリケーションは動画セグメントを含み、ゲームアプリケーションの実行中に、ゲームアプリケーションの関連ウィジェットで仮想キャラクタのための障害物を設定してもよいし、端末機器101内の撮像ユニットで現実シーンを撮影し、現実シーンをゲーム画面に取り込んで仮想キャラクタのための障害物を設定してもよい。また、ユーザは、動画セグメントのシーンに応じて、例えば仮想キャラクタを目標方向又は目標点へ移動させるなど、仮想キャラクタのためのタスクを設定してもよい。端末機器101はネットワーク102を介してサーバ103に、現時点のグラフィカルユーザインターフェースにおける地形特徴と、現時点の動画セグメントにおける仮想キャラクタに対応するタスク情報及び状態情報とを送信してもよく、サーバ103で地形特徴、タスク情報及び状態情報を処理して、現時点の仮想キャラクタに対応する姿勢調整情報を取得し、動画セグメントに対する模倣を実現し、また、仮想キャラクタに自己適応性を持たせることができ、設定したタスクを完了させることもできる。
【0022】
一部の実施例において、動画処理モデルで地形特徴、状態情報及びタスク情報から特徴を抽出して、次の時点の仮想キャラクタに対応する関節動作情報を取得し、当該関節動作情報に基づいて関節モーメントを決定し、物理エンジンで対応する関節に関節モーメントを施してレンダリングを行いて、現時点の仮想キャラクタに対応する姿勢調整情報を取得する。ここで、仮想キャラクタに対応する状態情報は、動画セグメントの開始時点の仮想キャラクタに対応する姿勢情報であってもよいし、直前の時点の関節動作情報に応じて決定された状態情報であってもよい。動画セグメントは一定の時間を有し、上記のステップを繰り返すことにより、仮想キャラクタに対応する複数の時点の姿勢調整情報を取得することができ、当該複数の時点の姿勢調整情報に応じて、目標動作シーケンスを決定することができ、当該目標動作シーケンスは動画セグメントを構成することが可能で、当該動画セグメントは、実行中のゲームの動画セグメントに類似し、リアリティ性がより高く、区別点は、動画セグメントにおける仮想キャラクタが、ユーザが設定した地形に自己適応して、ユーザが設定したタスクを完了できることであり、つまり、本開示の実施例の技術的解決手段は、ユーザと仮想キャラクタとのインタラクションを強化することができ、仮想キャラクタの自己適応性を向上させ、ユーザ体験をさらに向上させる。
【0023】
なお、本開示の実施例にて提供される動画処理方法は、サーバによって実行されてもよく、対応して、動画処理装置は、サーバに設置されてもよい。しかし、本開示の他の実施例において、本開示の実施例にて提供される動画処理方法は、端末機器によって実行されてもよい。
【0024】
サーバ103は、独立の物理サーバであっても、複数の物理サーバからなるサーバクラスタ又は分散システムであってもよいし、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメインネームサービス、セキュリティサービス、CDN、及びビッグデータ及び人工知能プラットフォームなどの基礎クラウドコンピューティングサービスを提供するクラウドサーバであってもよい。
【0025】
当該分野の関連技術では、3Dゲームを例とし、3Dゲームにおけるキャラクタ動画とは、通常、スキン動画を指し、図2は、スキン動画における仮想キャラクタの構成構造を示し、図2に示すように、スキン動画における仮想キャラクタは、骨格、スキン及び動画からなり、ここで、骨格は、関節で構築された可動フレームであり、動きの仮想主体であり、キャラクタ全体が動くように駆動するが、ゲーム中にレンダリングされることはなく、スキンは、骨格の周りに包まれた三角形メッシュであり、メッシュの各頂点は1つ又は複数の骨格によって制御され、動画は、各骨格が一定時点の位置や方向などの変化であり、3次元空間は、一般に行列を用いて表示される。通常、動画デザイナーは、事前に3D動画制作ソフトウェアにより大量の動画セグメントを設計・制作し、ゲーム中に、プログラムが、適切なタイミングでシーンに必要な動画セグメントを再生する。特に必要があれば、レンダリングの前にプログラムで動画の後期処理をしてもよく、例えば逆運動学(Inverse Kinematics、IK)の方法を使用して、そのときの実際の環境に応じて仮想キャラクタの手足の正確な位置を算出して、動作を調整する。しかし、後期処理の効果が限られているため、おおむね、動画の品質は、ほぼ完全に動画デザイナーの能力に依存する。動画デザイナーが動画を直接制作することは、実際には、ゲーム内で動画を直接再生することであり、物理エンジンでの実世界の物理的法則に対するシミュレーションが欠けているため、人物の動作が自然かつリアルではない。現在、業界内に、一部の機械学習手段、即ち物理動画トレーニングAIがあるが、学習効果がよくなく、1つのモデルは、1つの動作しか学習できず、表現が単一である。
【0026】
また、現代のゲーム制作において、動画の主な実現方法は、動画デザイナーが制作した動画セグメントを再生することであり、基本的には、事前に定義済みの列挙できるシーンにしか適用できず、環境への自己適応能力を備えていない。キャラクタの環境への自己適応とは、キャラクタの動画が未知の環境で環境に相応する姿勢をとることができることを指す。ここでの「未知」とは、事前に動画を制作する際に想定していた環境に対して、動画セグメントを使用する際に実際の環境が大きく変化したり、小さく変化したりすることである。さらに、干渉物が出てきた場合に衝突を感知して、動作のずれや修正を表すこともでき、非常に強いリアル感がある。環境への自己適応を実現したい場合、少なくともIK技術を使用して、キャラクタの肢体のエンドと、環境や目標とを位置的に整列する必要があり、キャラクタの環境へのフィードバックを非常にリアルなものにしたい場合には、さらに、「物理」(即ち、剛体動力学のシミュレーション)を導入して、キャラクタ動作の合理的な速度及び滑らかな遷移過程を算出する必要がある。通常、地形を固定し、キャラクタが地形を移動する動作過程を動画に制作し、不自然などころを適切に修正し、本質的には、依然として動画を再生することであり、キャラクタの地形上での移動が不自然である。
【0027】
関連技術における問題を踏まえ、本開示の実施例は、動画処理方法を提供し、当該方法は、人工知能を基に実現され、人工知能(Artificial Intelligence、AI)は、デジタルコンピュータ又はデジタルコンピュータで制御される機械を利用して、ヒトの知能をシミュレート、延伸及び拡張し、環境を感知し、知識を取得し、知識を使用して最適な結果を取得する理論、方法、技術及び応用システムである。言い換えれば、人工知能は、コンピュータ科学の統合技術であり、知能の実質を把握して、人間の知能に類似する方法で反応できる知能機械を生産することを図る。人工知能は、様々な知能機械の設計原理及び実現方法を研究し、機械に感知、推論及び意思決定の機能を持たせる。
【0028】
人工知能技術は、統合学科であり、関する分野が幅広く、ハードウェアレベルの技術とソフトウェアレベルの技術の両方がある。人工知能の基礎技術は、一般的に、センサ、専用人工知能チップ、クラウドコンピューティング、分散型記憶、ビッグデータ処理技術、オペレーティング/インタラクションシステム、メカトロニクスなどの技術を含む。人工知能ソフトウェア技術には、主に、コンピュータビジョン技術、音声処理技術、自然言語処理技術及び機械学習/深層学習などのいくつかの大きい方向性がある。
【0029】
コンピュータビジョン技術(Computer Vision、CV)において、コンピュータビジョンは、機械が「見る」ようにするためにどうすればいいかということを研究する科学であり、さらに言えば、人の目の代わりにビデオカメラやコンピュータを使用して、目標に対して認識、追跡及び測定などを行う機械ビジョンを指し、さらにグラフィック処理を行い、人の目での観察により適するか又は機器に伝送して検出するのにより適する画像になるように、コンピュータに処理させる。1つの科学学科として、コンピュータビジョンは関連の理論及び技術を研究して、画像又は多次元データから情報を取得できる人工知能システムを確立しようとする。コンピュータビジョン技術は、一般的に、画像処理、画像認識、画像意味理解、画像検索、OCR、ビデオ処理、ビデオ意味理解、ビデオコンテンツ/挙動認識、3次元物体再構成、3D技術、仮想現実、拡張現実、同期測位及び地図構築などの技術を含み、一般的な顔認識、指紋認識などのバイオ特徴認識技術も含む。
【0030】
機械学習(Machine Learning、ML)は、複数の分野の複合学問であり、確率論、統計学、近似論、凸解析、アルゴリズム複雑度理論などの複数の学問分野に関する。新たな知識又はスキルを取得し、従来の知識構造を改めて組織して、自体の性能を改善し続けるように、コンピュータがどのように人間の学習挙動をシミュレート又は実現するかを専門に研究する。機械学習は、人工知能のコアであり、コンピュータに知能を持たせる基本的な方法であり、人工知能の各分野に適用されている。機械学習及び深層学習は、一般に、人工ニューラルネットワーク、信頼度ネットワーク、拡張的学習、遷移学習、帰納学習、及び式教示学習などの技術を含む。
【0031】
人工知能技術の研究及び進歩に伴い、人工知能技術は、通常のスマートホーム、スマートウェアラブルデバイス、仮想アシスタント、スマートスピーカー、スマートマーケティング、無人運転、自動運転、ドローン、ロボット、スマート医療、スマートカスタマーサービスなど、複数の分野において研究及び応用が展開されており、人工知能技術は、より多くの分野に適用され、ますます重要な価値を発揮するだろう。
【0032】
本開示の実施例にて提供される手段は、人工知能の画像処理技術に関し、以下の実施例によって説明される。
【0033】
本開示の実施例は、まず、動画処理方法を提供し、図3は、本開示の一実施例に係る動画処理方法のフローチャートを模式的に示し、当該動画処理方法は、サーバによって実行されてもよく、当該サーバは、図1に示すサーバ103であってもよい。ゲーム動画に対する処理を例とし、図3に示すように、当該動画処理方法は、少なくともステップS310~ステップS330を含む。
【0034】
ステップS310において、現時点のグラフィカルユーザインターフェースにおける地形特徴を取得するとともに、前記現時点の動画セグメントにおける仮想キャラクタに対応する状態情報及びタスク情報を取得する。
【0035】
本開示の一実施例において、ゲームの娯楽性を向上させ、ユーザとゲーム内の仮想キャラクタとのインタラクションを強化するために、ユーザは、ゲーム進行中に、グラフィックユーザ画面に新しい地形を形成するように、仮想キャラクタのための障害を人為的に設定することができ、例えば、元の動画セグメントにおいて、仮想キャラクタは平坦な道路に沿って前に進む場合、ユーザは、仮想キャラクタの移動経路に、石、階段、窪みなどの路面障害物を設定してもよいし、仮想キャラクタの移動経路に、屋根、飛鳥などの空中障害物を設定してもよく、仮想キャラクタは、これらの障害物を避けてからこそ、前に進めることができる。本開示の実施例の技術的解決手段をより明確にするために、以下では、路面障害物を例として説明するが、当該路面障害物は、路面のギャップ、突起、階段などの障害物であり得る。
【0036】
本開示の一実施例において、ユーザは路面障害物を、ゲーム内臓のウィジェットで設定してもよいし、現実シーンに応じて設定してもよく、一部の実施例において、ゲームのインタラクション画面に路面障害物設定ボタンを設定して、ユーザが当該路面障害物の設定ボタンをトリガすると、リストがポップアップし、ユーザは、リストから仮想キャラクタのために設定したい路面障害物を選択して、決定すると、ゲームの画面に、対応する路面障害物が現れ、拡張現実類のゲームにおいて、ユーザが使用する端末機器に備えられた撮像ユニットで現実シーンを撮影することができ、ゲームエンジンで現実シーンとゲームシーンとを融合することができ、図4は、ゲームシーンと現実シーンとを融合した後のシーンの概略図を示し、図4に示すように、ゲームシーンには妖霊Vが1つあり、現実シーンには多段の階段Sがあり、そして、最高の階段のテラスに数台の電気自動車Mが置かれ、ゲームシーンと現実シーンとを融合することにより、妖霊Vを現実シーンの階段Sに置くことができる。
【0037】
本開示の一実施例において、ゲーム内で障害物を設定する際に、通常、路面障害物を設定し、多くの障害物を使用してランダムに生成された地形には、密なギャップ及び混合障害物があり、図5は、ギャップが密な地形の画面の概略図を示し、図5に示すように、ギャップが密な地形の設計は、地面Gに、連続の複数のギャップCがあり、ギャップの幅は異なり、区間と区間の間には一定の間隔がある。図6は、混合障害物地形の画面の概略図を示し、図6に示すように、混合障害物地形は、一区間の長さの地面Gに、ギャップC、階段D、突起Eなどの障害物が含まれ、各障害物の高さと幅は異なり、一定の間隔がある。
【0038】
本開示の一実施例において、仮想キャラクタのために路面障害物を設定する以外に、仮想キャラクタの移動中に、仮想キャラクタのためのタスクを設定することもでき、例えば、仮想キャラクタの前方にサッカーボールがある場合、サッカーボールの座標位置を目標点として、当該目標点に応じてタスク情報を決定するように、「サッカーボールを蹴ってください」というタスクを設定してもよく、仮想キャラクタが、ある方向へ移動するように駆動し、当該目標速度方向にしたがってタスク情報を決定するように、仮想キャラクタのために目標速度方向を決定してもよい。
【0039】
本開示の一実施例において、仮想キャラクタの姿勢や動作は、例えば踏み出す人型仮想キャラクタは、現時点で人型仮想キャラクタは、右足を持ち上げると、次の時点で右足を着地する傾向があるなど、連続的な時間と空間では互いに関連するものであり、したがって、次の時点の仮想キャラクタの関節動作情報を決定したい場合、現時点の仮想キャラクタの状態情報に基づいて処理する必要があり、当該状態情報は、仮想キャラクタの各関節の状態を説明するものであり、関節の姿勢、速度及び位相を含み得る。そのため、現時点の仮想キャラクタが、障害物を避けてタスクを達成するためには、姿勢をどのように変えるかを決定するために、現時点のグラフィカルユーザインターフェースにおける地形特徴、仮想キャラクタに対応する状態情報及びタスク情報を取得してもよく、これらの情報を処理することにより、対応する姿勢調整情報を取得する。
【0040】
本開示の一実施例において、動画デザイナーが動画セグメントを制作する際に、動画セグメントを異なるフォーマットに設定する可能性があり、動画セグメントから仮想キャラクタの状態情報を抽出するとき、先に、一部のソフトウェア(例えば、MotionBuilder、3ds Max)により動画セグメントのフォーマットをFBX又はBVHフォーマットのファイルに変換してから、状態情報を抽出してもよい。実際に実施するとき、前記現時点が前記動画セグメントの開始時点である場合、前記動画セグメントの開始時点の前記仮想キャラクタの姿勢情報に応じて前記状態情報を決定し、実施時に、開始時点の姿勢情報を状態情報として決定することができ、前記現時点が前記動画セグメントの開始時点でない場合、直前の時点の前記仮想キャラクタに対応する関節動作情報に応じて前記状態情報を決定し、実施時に、直前の時点前での前記仮想キャラクタに対応する関節動作情報を前記状態情報として決定することができる。
【0041】
本開示の一実施例において、人型仮想キャラクタを例とし、人型仮想キャラクタは、合計15個の関節を有し、それぞれが、ルート関節、胸腔、首、右下肢、左下肢、右膝、左膝、右足首、左足首、右肩、左肩、右肘、左肘、右手、左手であり、ここで、ルート関節は、通常、骨盤の位置を指し、rootと表記される。一般的に言えば、人物の仮想キャラクタの骨格と関節は、例えば肩が親関節で、肘は肩の子関節で、手首は肘の子関節であるなど、親子階層構造を有している。親関節の位置から、対応的に平行移動すると、子関節の位置である。そのため、子関節の位置の座標を記録する必要がなく、最上位のルート関節の位置の座標を知って、動画デザイナーが動画を設計するときに設定した骨格の大きさに応じて平行移動するだけで、子関節の位置の座標を取得できる。動作について、動画セグメントに記録されたのは、人物の関節の姿勢情報であり、各関節の位置と回転を知るだけで、仮想キャラクタの現在の動作を構築することができる。ルート関節の位置及び回転以外に、他の関節の対応する回転を記録すれば、仮想キャラクタの現在の完全な姿勢を構築することができる。図7は、人型キャラクタの歩行動作の第1フレームの動作情報を示し、図7に示すように、第1フレームにおける動作情報は3行に分けられ、1行目の1つ目の数の0.0333333は、第1フレームの時間を表し、単位は秒であり、続く3つの値(001389296、0.8033880000000001、0.0036694320000000002)は、第1フレームのルート関節の3次元空間での座標であり、2行目の4つの数(0.5306733251792894、-0.5324986777087051、-0.4638864011202557、-0.46865807049205305)は、第1フレームのルート関節の回転情報であり、3行目の4つの数(0.7517762842400346、0.0012912812309982618、-0.0033 740637622359164、0.6594083459744481)は、ルート関節に対応する1つ目の子関節の回転であり、図7には、残りの子関節の回転情報が省略された。ここで、回転情報は、単位四元数によって表され、単位四元数(Unit quaternion)は、3次元空間内の回転を表すために用いられてもよく、それは一般的に使用される3次元直交行列及びオイラー角と等価であり、オイラー角表示法におけるジンバル・ロックの問題を回避した。3次元空間内の一点のデカルト座標が(x、y、z)であると、純四元数(純虚数に類似、即ち、実部が0の四元数)xi+yj+zkで表される。i、j、k自体の幾何学的意味については、一種の回転と捉えることができ、ここで、i回転は、X軸とY軸とが直交する平面において、X軸がY軸の正方向へ正方向に回転することを表し、j回転は、Z軸とX軸とが直交する平面において、Z軸がX軸の正方向へ正方向に回転することを表し、k回転は、Y軸とZ軸とが直交する平面において、Y軸がZ軸の正方向へ正方向に回転することを表し、-i、-j、-kはそれぞれ、i、j、k回転の逆方向回転を表す。
【0042】
本開示の一実施例において、動画処理モデルに入力された状態情報は、197次元ベクトルであってもよく、ここで、含まれている姿勢は106次元で、速度は90次元で、位相は1次元である。一部の実施例において、姿勢は、人型キャラクタの15個の関節の位置回転情報を記録し、ここで、位置を3次元座標で表示し、回転情報を単位四元数で表示し、合計15×7=105次元であり、また、現時点の仮想キャラクタのルート関節座標のy軸値も記録する必要があり、1次元であり、世界座標系との整合に用いられ、速度は、各関節の線速度及び角度速度が記録され、それぞれが、長さが3のベクトルで表示され、x、y、z軸に対応する速度は、合計15×(3+3)=90次元であり、位相は、現時点が、動画セグメントの総時間の長さのどの位置であるかを記録し、合計1次元である。
【0043】
本開示の一実施例において、地形特徴は、2次元行列であってもよく、行列における各要素は、対応する点の地形の高さと、仮想キャラクタが現在位置する位置の高さとの相対的な高さの差であり、仮想キャラクタの前方の予め設定された範囲内の領域をカバーする高さである。当該行列の大きさ及び地形をカバーする面積を、実際の応用シーンに応じて調整することができ、例えば、2次元行列の大きさを100×100に設定し、地形をカバーする面積を10m×10mに設定することなどができ、本開示の実施例において、これに対して限定しない。図8は、地形の画面の概略図を示し、図8に示すように、地形は、正方形の領域であり、仮想キャラクタは、左辺の中間点に位置し、矢印は、仮想キャラクタAの移動方向を表し、仮想キャラクタAの移動は、カーブなしに、水平方向に沿って前に進むだけで、かつ、障害物Bと互いに平行し、垂直方向で高さが一致するため、地形特徴を100×1の行列と決定することができ、仮想キャラクタの前方10mの地形特徴をカバーする。
【0044】
現時点のグラフィカルユーザインターフェースにおける地形特徴、現時点の動画セグメントにおける仮想キャラクタに対応する状態情報及びタスク情報の取得は、受信端末が送信した現時点の地形特徴、状態情報及びタスク情報であってもよいし、サーバ自体がグラフィックユーザ画面及び受信した設定情報に応じて決定したものであってもよい。
【0045】
ステップS320において、前記地形特徴、前記状態情報及び前記タスク情報を動画処理モデルに入力し、前記動画処理モデルで前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出して、次の時点の前記仮想キャラクタに対応する関節動作情報を取得する。
【0046】
本開示の一実施例において、現時点の地形特徴、状態情報及びタスク情報を取得した後、これらの情報を動画処理モデルに入力し、当該動画処理モデルで地形特徴、状態情報及びタスク情報から特徴を抽出して、次の時点の仮想キャラクタに対応する関節動作情報を取得することができる。ここで、関節動作情報は、仮想キャラクタが現時点の地形特徴及びタスク特徴に直面したとき、次の時点で各関節が取る可能性のある動作情報であり、関節動作情報は、関節の回転情報であってもよく、4次元の長さで表示され、ルート関節以外の他の関節回転情報を含み、合計(15-1)×4=56次元である。ルート関節の姿勢は、他の関節がモーメントの作用下で移動・回転した後、物理エンジンのシミュレーションによって取得され、例えば、人型仮想キャラクタが平地で前へ歩行するとき、物理エンジンは、下肢や膝などの関節の回転情報によって決定されたモーメントにしたがって移動・回転した後、足が受ける後ろ向きの静的摩擦力が順番に下腿、膝、大腿、ルート関節に伝達されることができ、ルート関節は力の作用下で押されて前に進み、したがって、関節動作情報のうち、ルート関節の動作情報を省略することができる。
【0047】
本開示の一実施例において、拡張的学習の動画処理モデルを基に、取得した地形特徴、状態情報及びタスク情報から特徴を抽出することにより、次の時点の仮想キャラクタに対応する関節動作情報を取得することができる。図9は、動画処理モデルの概略構造図を示し、図9に示すように、動画処理モデル900は、第1制御ネットワーク901及び第2制御ネットワーク902を含み、第1制御ネットワーク901は、仮想キャラクタの重要な関節の動作を指導するための上位コントローラ(HLC、High-Level Controller)であってもよく、当該重要な関節は、地形特徴と、仮想キャラクタの状態情報やタスク情報とに対応する一部の関節であり、例えば、人型仮想キャラクタが走っているとき、主に、下肢の動作が変化し、大腿で下腿及び足を動かすことにより運動するため、重要な関節は、大腿関節であり、同様に、人型仮想キャラクタが投げるとき、主に、上肢及び手の動作が変化し、腕で手首と手を動かすことにより運動するため、重要な関節は腕であり、第2制御ネットワーク902は、全ての関節に対応する関節動作情報を出力するための下位コントローラ(LLC、Low-Level Controller)であってもよい。第1制御ネットワーク及び第2制御ネットワークをそれぞれ設置することにより、複雑な動画シーン及びタスクによりよく適応でき、また、第1制御ネットワークは、主に、特定の動作を指導するために用いられ、第2制御ネットワークは、主に、キャラクタの移動を制御するために用いられ、トレーニング済みの第2制御ネットワークには、異なる特定の動作に対する複数の第1制御ネットワークが接続されていてもよく、例えば、トレーニング済みの第2制御ネットワークは、足の目標状態情報に応じて仮想キャラクタの足が運動する関節動作情報を出力することができ、足の目標状態に対応する動作は、仮想キャラクタがボールをキックする動作であっても、仮想キャラクタがジャンプする動作であってもよいので、同じ第2制御ネットワークは、仮想キャラクタのキックを指導する第1制御ネットワークに接続されてもよいし、仮想キャラクタのジャンプを指導する第1制御ネットワークに接続されてもよい。第1制御ネットワーク及び第2制御ネットワークからなる動画処理モデルで動画セグメントを処理することにより、動作効果を向上させ、動作のリアリティ性を向上させることができ、また、様々な地形に適応でき、環境への自己適応性を向上させる。
【0048】
一部の実施例において、第1制御ネットワーク901は、現時点の地形特徴、仮想キャラクタに対応する状態情報及びタスク情報から特徴を抽出して、重要な関節に対応する目標状態情報を取得し、その後、目標状態情報を目標タスク情報とし、状態情報及び目標タスク情報を第2制御ネットワーク902に入力し、第2制御ネットワーク902により、仮想キャラクタに対応する状態情報及び目標タスク情報から特徴を抽出して、仮想キャラクタの全ての関節に対応する関節動作情報を取得する。人型仮想キャラクタが障害物を乗り越えることを例とし、高さが異なる障害物の前で、人型仮想キャラクタがスムーズに乗り越えるようにするために、人型仮想キャラクタが下肢を持ち上げる角度が異なると、ステップの大きさも異なり、第1制御ネットワーク901は、地形特徴、タスク情報及び状態情報に応じてキャラクタの2つの大腿関節の回転と、ルート関節の平面上での速度方向とを出力することができ、キャラクタの2つの大腿関節の回転及びルート関節の平面上での速度方向が、重要な関節に対応する目標状態情報であり、当該出力を第2制御ネットワーク902の目標タスクとして、人型仮想キャラクタが下肢を持ち上げるように指導する。対応して、第1制御ネットワーク901の出力は、10次元のベクトル、即ち、2つの大腿の回転を測定する単位四元数及び1つの長さが2の単位ベクトルであってもよい。当然のことながら、目標状態情報は、キャラクタの2つの大腿関節の回転と、ルート関節の平面上での速度方向とである以外に、2つの手関節の回転、2つの肩関節の回転などであってもよく、異なる障害物タイプ及びタスク情報に応じて、目標状態情報も異なる。
【0049】
さらに、図10は、第1制御ネットワークの概略構造図を示し、図10に示すように、第1制御ネットワーク901は、畳み込みユニット1001、第1完全接続層(全結合層とも呼ばれる)1002、第2完全接続層1003及び第3完全接続層1004を含み、ここで、畳み込みユニット1001は、複数の大きさの異なる畳み込み層を含んでもよく、図に示すように、第1組の畳み込み層の大きさは8×8で、第2組の畳み込み層及び第3組の畳み込み層の大きさはいずれも4×4であり、そして、第1完全接続層1002、第2完全接続層1003及び第3完全接続層1004の大きさは互いに異なり、ここで、第1完全接続層1002、第2完全接続層1003及び第3完全接続層1004に含まれているニューロンの数は、それぞれ64、1024、512である。地形特徴T、タスク情報g及び状態情報sを第1制御ネットワークに入力した後、まず、畳み込みユニット1001で地形特徴Tから特徴を抽出して、地形に対応する第1特徴情報を取得し、次に、第1完全接続層1002で第1特徴情報に対して特徴の組合せを行って、第2特徴情報を取得し、その後、第2完全接続層1003で第2特徴情報、状態情報s及びタスク情報gに対して特徴の組合せを行って、第3特徴情報を取得し、最後に、第3完全接続層で第3特徴情報に対して特徴の組合せを行って、目標状態情報aを取得する。
【0050】
図11は、第2制御ネットワークの概略構造図を示し、図11に示すように、第2制御ネットワーク902は、第4完全接続層1101及び第5完全接続層1102を含み、第4完全接続層1101及び第5完全接続層は、大きさが異なる。一部の実施例において、第4完全接続層1101は1024個のニューロンを含んでもよく、第5完全接続層1102は512個のニューロンを含んでもよい。第1制御ネットワーク901が目標状態情報aを出力した後、それを第2制御ネットワーク902の目標タスク情報gとして、状態情報sと同時に第2制御ネットワーク902に入力し、第4完全接続層1101で状態情報s及び目標タスク情報gに対して特徴の組合せを行って、第4特徴情報を取得し、次に、第5完全接続層1102で第4特徴情報に対して特徴の組合せを行って、関節動作情報aを取得する。
【0051】
本開示の一実施例において、第1制御ネットワーク901は、仮想キャラクタの重要な関節の動作を指導し、即ち特定の動作を指導する一方、第2制御ネットワーク902は、仮想キャラクタの全ての関節の関節動作情報を出力して、連続の動作を形成し、即ちキャラクタの移動を制御し、したがって、第1制御ネットワーク901及び第2制御ネットワーク902の呼び出し周期が異なり、つまり、キャラクタの動作又は重要な関節の状態に変化が発生するときのみ、第1制御ネットワーク901を呼び出す必要があり、仮想キャラクタが運動している限り、その各関節は、いずれも相応の関節動作情報に対応するので、第2制御ネットワーク902を常に呼び出す必要がある。仮想キャラクタが路面障害物を乗り越えることを例とすると、第1制御ネットワーク901は、仮想キャラクタが踏み出すときのみに呼び出される必要があるが、第2制御ネットワーク902は、仮想キャラクタが連続的な動作をするように制御するために、常に呼び出される。第1制御ネットワーク901及び第2制御ネットワーク902に対して、異なる呼び出し周期を設定することにより、時間とリソースを節約することができ、動画処理モデルの処理効率を向上させ、さらに、動作生成効率を向上させる。本開示の実施例において、第1制御ネットワーク901の呼び出し周波数は2Hzであり、第2制御ネットワーク902の呼び出し周波数は30Hzであり、PDコントローラに対して、物理シミュレーション周波数は3000Hzである。実際に使用する際に、現時点の地形特徴、タスク情報及び状態情報に応じて、第1制御ネットワーク901を呼び出す必要があるか否かを判断するが、第2制御ネットワーク902を時点ごとに呼び出して、次の時点の仮想キャラクタの関節動作情報を予測する必要がある。第1制御ネットワーク901を呼び出さない場合、第2制御ネットワーク902の入力は変わらない。
【0052】
本開示の一実施例において、動画処理モデルを使用して地形特徴、状態情報及びタスク情報から特徴を抽出する前に、安定した動画処理モデルを取得するために、トレーニング対象の動画処理モデルをトレーニングする必要がある。動画処理モデルをトレーニングする場合、通常、地形特徴をモデルに入力する方法を採用するが、当該方法の効果は一般であり、トレーニングが失敗しやすく、キャラクタの動作がやや硬いため、比較的簡単な地形にしか適応できなく、したがって、本開示の実施例において、モデル入力中の地形特徴を分割処理し、階層型拡張的学習を採用して、地形及び動作に対する動画処理モデルの感度を強化し、より複雑な地形の遷移を実現する。拡張的学習は、機械学習分野の1つであり、最大化した期待収益を取得するために、どのように環境に基づいて行動するかを強調する。運動制御の問題は、すでに拡張的学習の標準的な基準となっており、強化深層学習方法は、操縦や移動を含む様々なタスクに適用できることが証明されている。
【0053】
本開示の一実施例において、拡張的学習には複数の基本概念が含まれ、それぞれ、環境、エージェント、状態、動作、ボーナス、価値関数及びポリシーであり、ここで、環境は外部システムであり、エージェントは、このシステムに位置し、このシステムを感知できるとともに、感知した状態に基づいて一定の行動をとることができ、エージェントは、環境に組み込まれたシステムであり、行動をとって状態を変えることができ、状態とは、現在の環境のある時点の状態情報を指し、動作とは、主体がとる挙動を指し、ボーナスは、スカラーであり、環境の現在の動作又は状態に対するボーナスを示し、ボーナスは即時の収益を定義し、価値関数は、長期収益を定義し、累積のボーナスと見なされることができ、一般にVで表示され、ポリシーは、現在環境状態から挙動へのマッピングであり、一般にπで表示され、即ち入力状態であり、モデルが当該状態で実行すべき動作を出力する。図12は、拡張的学習の概略フローチャートを示し、図12に示すように、ある時点がtである場合、エージェントは、現在状態Sを入力し、エージェントは現在ポリシーに応じて動作Aを出力することができ、動作Aと環境とのインタラクションの実行は、目標の達成状況に応じて、環境がボーナスR及び次の時点t+1でのエージェントの状態St+1をフィードバックし、エージェントは、ボーナスに応じてポリシーを調整して、次の時点の動作A t+1を出力し、このように循環して、ポリシーを調整し続け、最終的に、目標を達成するポリシーπをトレーニングすることができる。
【0054】
本開示の一実施例において、動画処理モデルをトレーニングするとき、ACフレームワークを基にトレーニングし、ACフレームワークは、価値関数推定アルゴリズム及びポリシー検索アルゴリズムを統合したフレームワークであり、アクターネットワーク(Actor Network)及び評価ネットワーク(Critic Network)の2つのネットワークを含み、ここで、アクターネットワークは、動作を出力するための現在のポリシーをトレーニングし、評価ネットワークは、現在状態価値V(s)を出力するための価値関数を学習する。この価値が状態の良否を評価するために用いられる。図13は、動画処理モデルのアルゴリズムフレームワークのアーキテクチャ図を示し、図13に示すように、当該フレームワークは、アクターネットワーク1301、評価ネットワーク1302及び環境1303を含み、アクターネットワーク1301は、現在の状態及びポリシーに応じて動作を出力し、環境1303は、アクターネットワーク1301が出力する動作にしたがって、ボーナス形態でフィードバックし、評価ネットワーク1302は、動作を実行した後に生成される状態と、環境1303がフィードバックしたボーナスとに基づいて評価して、現在状態価値を決定するとともに、アクターネットワーク1301にフィードバックし、それにより、アクターネットワーク1301がポリシーを調整する。上記の流れを繰り返して、動画処理モデルが安定するまで、トレーニングをし続ける。評価ネットワーク1302が出力する現在状態価値の学習標準は、時間差分法を利用して環境1303にフィードバックされる一連のボーナスを計算して取得したものであり、評価ネットワークの学習を指導するために用いられる。一部の実施例において、経路のシミュレーションを例とすると、経路上の各ノードに対応するボーナスR~Rを取得でき、iは、経路上のノードの数であり、経路上のあるノードtに対応する状態価値V(S)を取得したい場合、tは1とiの間にある値であると、取得したボーナスR及び後続状態の状態価値の推定値に基づいて、Sの価値V(S)を更新することができ、数回反復更新後、安定した価値関数を取得し、そして、1つの経路を通過してサンプリングした後、価値関数に対して更新を複数回行うことができる。採用された評価アルゴリズムは、V(S)=V(S)+α(Rt+1+V(St+1)-V(S))であってもよい、αは係数である。時間差分法は、拡張的学習の中心的な思想の1つであり、モンテカルロ法に類似し、それは、モンテカルロのサンプリング方法(即ち試験を行う)と動的計画法のbootstrapping(後続状態の価値関数を利用して現在の価値関数を推定する)とを結合し、環境に関する完全な知識を必要とせず、経験から直接学習することができ、動的計画法に類似し、イベント全体の終了を待つことを必要とせず、既存の推定結果を引き上げることができ、学習効率を高めた。
【0055】
本開示の一実施例において、モデルをトレーニングするとき、物理エンジンには、キャラクタが2つあり、それぞれが、運動学キャラクタ及び物理キャラクタであり、運動学キャラクタは、物理属性を持たず、動画設計者が設計した動作クリップ中の動作を実行するためにしか使用されなく、運動学の方法によりその関節に動画セグメントにおける参照動作を実行させればよいが、物理キャラクタは、運動学キャラクタを標準及びテンプレートとして学習し、物理属性を持ち、モーメントに応じて制御することができ、当該物理属性は、モーメント、速度、重力、衝突効果などであり得る。また、物理属性を持つ物理キャラクタは、モデルが出力した姿勢を利用して各関節のモーメントを算出し、物理エンジン内で動作を模倣する。物理エンジンで各動作を実行した後に環境をシミュレートする場合、リアルな効果が生成される。各時点で、ボーナスの計算は、2つのキャラクタ間の現在姿勢、速度、角速度などの差異の測定であり、差異が小さいほど、ボーナスが大きい。最終のボーナスは、複数のボーナス成分を重み付けして合計したものであり、重みは、必要に応じて調整できる。環境は、姿勢模倣の良否に応じて、ボーナスを与え、キャラクタの姿勢と参照動作の姿勢との一致を維持するように動機を付け、両者が近いほど、ボーナスは高くなり、遠いほど低くなる。
【0056】
本開示の一実施例において、ボーナスは、下記式(1)に応じて決定され、
【数1】
ここで、
【数2】
はt時点で模倣するボーナス値であり、
【数3】
はt時点でタスク目標を達成したボーナス値であり、重み
【数4】

は、模倣動作の比例を表し、重み
【数5】

は、タスクを達成する比例を表し、プロセス中に設定することができ、
【数6】
である。
【0057】
物理キャラクタと運動学キャラクタとの動作が一致するようにするために、いくつかの標準を設定して物理キャラクタと運動学キャラクタとをフィッティングさせることができ、
【数7】
式は運動学上の類似度関し、姿勢ボーナス
【数8】

、速度ボーナス
【数9】
、エンド関節ボーナス
【数10】
、ルート関節姿勢ボーナス
【数11】
、重心姿勢ボーナス
【数12】

の5つの部分を含む。ここで、姿勢及び速度は、各関節の姿勢及び速度であり、2つのキャラクタの動作が一致すると、姿勢と速度とが必然的に一致するため、姿勢ボーナス及び速度ボーナスを設定してもよく、エンド関節とは手と足を指し、物理キャラクタのエンド関節は運動学キャラクタのエンド関節と整列されるため、エンド関節にエンド関節ボーナスを設定し、ルート関節は、全ての関節の最上位関節であり、2つのキャラクタの動作を一致させたい場合、ルート関節を一致させるべきであり、したがって、ルート関節姿勢ボーナスを設定でき、また、物理キャラクタが、震えずに安定して歩行することを確保するために、物理キャラクタの重心が運動学キャラクタの重心と一致するように保証する必要があり、したがって、重心姿勢ボーナスを設定でき、上記のボーナスを設定することにより、物理キャラクタと運動学キャラクタとの動作が最大程度に一致するように保証することができる。各ボーナスに対応する重みは、
【数13】

である。ここで、運動学キャラクタの項目の右上隅にマーク*がある。姿勢成分を例とし、ここで、
【数14】

は、運動学キャラクタのj個目の関節の姿勢であり、
【数15】

はシミュレーションキャラクタのj個目の関節の姿勢である。式(1)は、以下に示すように、式(2)に変換されてもよく、
【数16】
ここで、
【数17】
は姿勢の類似度を示し、各関節の位置、回転と目標値との間の差異で表され、
【数18】

であり、
【数19】

は速度の類似度を示し、各関節の線速度と目標値との間の差異で表され、
【数20】

であり、
【数21】
は、エンド関節姿勢の類似度を示し、手や足の関節の位置間の差異で表され、
【数22】

であり、
【数23】
はルート関節の類似度を示し、
【数24】
であり、
【数25】
は重心速度の類似度を示し、
【数26】

である。
【0058】

【数27】

はキャラクタが目標を達成する良否を示し、一般的にキャラクタが運動する実際の状況と目標との間の距離を測定する。例えば、目標が移動方向gであると、
【数28】

は、地面の前進方向vと目標gとの間の角度差θの大きさを計算することができ、式(3)に示すとおりであり、
【数29】

仮想キャラクタが倒れる動作を習得していない場合、現在のトレーニング経路を終了し、ボーナス値は0であることに留意されたい。
【0059】
本開示の一実施例において、トレーニング対象の動画処理モデルは、トレーニング対象の第1制御ネットワーク及びトレーニング対象の第2制御ネットワークを含み、トレーニング前に、複数の動画セグメントのサンプルを取得しても良く、これらの動画セグメントのサンプルは異なる地形特徴及び仮想キャラクタに対応するタスク情報を持ち、異なる地形特徴及びタスク情報に対応して、仮想キャラクタの姿勢や動作も異なる。本開示の実施例の動画処理モデルにおいて、第1制御ネットワークは、地形特徴、タスク情報及び状態情報に応じて、重要な関節に対応する目標状態情報を出力し、その後、目標状態情報を目標タスク情報として第2制御ネットワークに入力して処理して、関節動作情報を出力することは、複雑なタスクの処理に用いられることができ、第1制御ネットワーク及び第2制御ネットワークを同時にトレーニングする場合、第1制御ネットワークによる目標状態情報の出力に誤差があると、誤差がある目標状態情報を第2制御ネットワークに入力し、第2制御ネットワークが出力する関節動作情報に応じて動画処理モデルを逆トレーニングすることにより、動画処理モデルが不安定になり、さらに、複雑なタスクを効果的に処理することができなくなり、そのため、動画処理モデルが複雑なタスクを処理できるように保証するために、トレーニング時に、トレーニング対象の第1制御ネットワーク及びトレーニング対象の第2制御ネットワークを別々にトレーニングする必要があり、トレーニング対象の第1制御ネットワークのトレーニングが完了すると、第1制御ネットワークを取得するために、固定パラメータを持つ第2制御ネットワークのトレーニング対象の第1制御ネットワークをトレーニングする。
【0060】
本開示の一実施例において、動画処理モデルは、ACアルゴリズムフレームワークを基にトレーニングされたものであり、動画処理モデルにおけるトレーニング対象の第1制御ネットワーク及びトレーニング対象の第2制御ネットワークを別々にトレーニングするため、トレーニング対象の第1制御ネットワーク及びトレーニング対象の第2制御ネットワークがそれぞれ1対のACネットワークを含むように設定することができ、即ち、トレーニング対象の第1制御ネットワークは、第1トレーニング対象の行動サブネットワーク及び第1トレーニング対象の評価サブネットワークを含み、トレーニング対象の第2制御ネットワークは、第2トレーニング対象の行動サブネットワーク及び第2トレーニング対象の評価サブネットワークを含み、さらに、第1トレーニング対象の行動サブネットワークと第1トレーニング対象の評価サブネットワークとの構造を同じに設定し、第2トレーニング対象の行動サブネットワークと第2トレーニング対象の評価サブネットワークとの構造を同じに設定することもでき、第1トレーニング対象の行動サブネットワーク及び第1トレーニング対象の評価サブネットワークの構造は図10を参照でき、トレーニング対象の第2行動サブネットワーク及び第2トレーニング対象の評価サブネットワークの構造は図11を参照でき、相違点は、入出力の情報が異なることだけである。トレーニング対象の第1制御ネットワーク及びトレーニング対象の第2制御ネットワークのトレーニングが完了した後、そのうちの第1行動サブネットワーク及び第2行動サブネットワークを呼び出すだけで、第1行動サブネットワークにより、入力された地形特徴、タスク情報及び状態情報に応じて重要な関節に対応する目標状態情報aを出力し、さらに、第2行動サブネットワークにより、目標状態情報及び状態情報に応じて仮想キャラクタの全ての関節の関節動作情報aを出力することができる、ことに留意されたい。
人型仮想キャラクタが路面障害物を避けることを例とすると、トレーニング対象の第2制御ネットワークをトレーニングする際に、動画セグメントセットを使用して平地でトレーニングすることができる。当該動画セグメントセットには、動画セグメントサンプルが複数含まれ、仮想キャラクタの高さが異なる障害物の前での下肢の持ち上げ姿勢や踏み出し姿勢を含み、開始動作が類似するとともに、一歩のみであり、例えば、動画セグメントセットには、合計15個の動画セグメントサンプルがあり、各動画セグメントサンプルの長さは0.5sである。トレーニング時に、複数の動画セグメントサンプルから最適な動画を選択してトレーニングすることができる。
【0061】
動画セグメントセットを取得した後、各動画セグメントサンプルに対してミラーリング処理を行ってもよく、即ち、データ拡張のために、キャラクタが出す下肢が右下肢から左下肢に変化し、キャラクタが出す下肢が左下肢から右下肢に変化し、その後、各動作クリップ中のキャラクタの開始姿勢及び足の着地姿勢を統計する。第2制御ネットワークは、第1制御ネットワークの出力を目標タスクとするため、トレーニング対象の第2制御ネットワークをトレーニングするとき、仮想キャラクタの開始姿勢を予め設定することができ、当該開始姿勢に基づいて動画セグメントセットから目標動画セグメントサンプルを決定して、目標動画セグメントサンプルに基づいて目標タスクを決定することにより、トレーニング対象の第2制御ネットワークは目標動画セグメントサンプルに基づいて学習することができる。仮想キャラクタが1回の踏み出しを完了して次の踏み出しを準備する際に、上記のステップを繰り返して、開始姿勢と同じ又は類似の目標動画セグメントサンプルを取得することができ、トレーニング対象の第2制御ネットワークをトレーニングする。目標動画セグメントサンプルを決定する際に、開始姿勢と動画セグメントセットにおける各動画セグメントサンプルとを比較して、当該開始姿勢と各動画セグメントサンプルにおける仮想キャラクタの姿勢との類似度を取得することができ、その後、複数の類似度をシーケンスになるように降順にソートし、最後に、最大類似度に対応する動画セグメントサンプルを目標動画セグメントサンプルとしてもよいし、予め設定された数の類似度をシーケンスから順次取得して、これらの類似度に対応する動画セグメントサンプルのうちのいずれか1つを目標動画セグメントサンプルとしてもよく、当該予め設定された数は、実際のニーズに合わせて設定してもよく、例えば、3個、5個などであり得る。目標動画セグメントサンプルを決定した後、そのうちの重要な関節に対応する状態情報サンプルを抽出し、状態情報サンプルを目標タスク情報とすると同時に、仮想キャラクタの全ての関節に対応する関節動作情報サンプルを取得し、次に、目標タスク情報をトレーニング対象の第2制御ネットワークに入力してトレーニングし、トレーニング対象の第2制御ネットワークが出力した関節動作情報が関節動作情報サンプルと同じであるか又は類似する場合、トレーニング対象の第2制御ネットワークのトレーニングが完了したことを意味する。ここで、動作情報サンプルは、足が着地するときの運動学キャラクタの2つの大腿の回転
【数30】


【数31】

、及びルート関節の平面上での速度方向
【数32】

であり、
【数33】

は、着地する足に対応する大腿関節の回転を示し、
【数34】

は、地面から離れる/着地する直前の足である非着地足に対応する大腿関節の回転を示し、2つの大腿の回転
【数35】


【数36】

、及びルート関節の平面上での速度方向
【数37】

に基づいて、現在目標タスク情報
【数38】

を決定して、それをトレーニング対象の第2制御ネットワークに入力してトレーニングすることができる。
【0062】
第2制御ネットワークの安定性を保証するために、複数のキャラクタの走り経路に応じてトレーニングすることができ、キャラクタの走り経路の最大値は200sなどの値に設定でき、拡張的学習に基づくトレーニング対象の第2制御ネットワークは、仮想キャラクタが走り経路を完了すると、仮想キャラクタの動作又は状態を評価して、状態価値を決定し、最大状態価値を取得するまで、状態価値にしたがって動作を調整することができる。トレーニングにより、第2制御ネットワークは、異なる目標タスク情報が入力される際に、対応する踏み出し動作を実行することができる。
【0063】
本開示の一実施例において、第2制御ネットワークのトレーニングが完了した後、トレーニング対象の第1制御ネットワークをトレーニングすることができ、トレーニングのための走り動画セグメントサンプルは1つだけで、各経路の最長制限は200sであってもよい。各経路が開始するとき、現時点の地形特徴サンプル、キャラクタ状態サンプル及びタスク情報サンプルを入力してもよく、トレーニング対象の第1制御モデルで現時点の地形特徴サンプル、キャラクタ状態サンプル及びタスク情報サンプルから特徴を抽出して、動作情報を出力し、当該動作情報は、目標タスクとしてトレーニング済みの第2制御ネットワーク入力されてもよく、第2制御ネットワークが対応する関節動作情報を出力して、キャラクタ動作に対する制御を実現する。同様に、拡張的学習に基づくトレーニング対象の第1制御ネットワークは、仮想キャラクタが走り経路を完了すると、環境がフィードバックしたボーナスにしたがって仮想キャラクタの状態に対応する状態価値を決定でき、状態価値が予め設定された値又は最大値に達すると、トレーニング対象の第1制御ネットワークのトレーニングが完了したことを意味する。
【0064】
ステップS330において、前記関節動作情報に応じて関節モーメントを決定し、前記仮想キャラクタに対応する姿勢調整情報を取得し、前記姿勢調整情報に応じて前記動画セグメントを処理するために、前記関節モーメントに基づいてレンダリングを行う。
【0065】
本開示の一実施例において、動画処理モデルが出力した関節動作情報を取得した後、それに基づいて関節モーメントを決定することができ、さらに、仮想キャラクタに対応する姿勢調整情報を取得し、姿勢調整情報に応じて動画セグメントを処理するために、物理エンジンで関節モーメントを剛体構造に対応する関節に施してレンダリングを行うことができる。
【0066】
本開示の一実施例において、運動動画では、逆運動学(Inverse Kinematic)に基づく方法を採用してキャラクタ姿勢を制御するのが一般的であるが、物理に基づくキャラクタ姿勢制御では、運動学方法を採用してキャラクタをリアルタイムに制御する場合、リアルな物理効果を生成することができず、衝突などの相互作用を感知できないため、通常、モーメントを採用してキャラクタの運動を制御する。物理キャラクタをリアルタイムに制御する方法は、主に3つがある。(1)モーメント制御、モデルがモーメントを直接出力して、各関節に作用し、当該方法は、簡単に実現できるが、制御効果が悪く、動的制御が不安定で、ジッタが生じやすく、動作が自然ではない。(2)位置制御、モデルは各関節の目標位置を与え、その後、PDコントローラ(比例-微分コントローラ)でキャラクタを対応する位置に動的に制御する。モーメント制御と比較して、より安定的であり、モデルが各関節の姿勢を出力し、その分布の分散が小さく、サンプリングしたサンプルが小さく、モデルの収束速度は速いが、従来のPD制御は依然としてジッタが大きい。(3)速度制御、モデルは、各関節の目標速度を与えてから、PD制御アルゴリズムを採用して目標速度を動的に制御し、その効果及びモデル収束速度が、位置制御と基本的に一致する。
【0067】
しかしながら、通常採用されるのは位置コントローラであり、これは階層制御に相当し、意思決定ネットワークが現在のキャラクタ状態を取得し、次の時点の目標位置を出力し、その後、PDコントローラを利用してキャラクタを目標の姿勢に動的に制御し、実際のプロセスにおいて、PDの制御周期を100に設定する。当該方法は、モデル収束速度、ロバスト性の面でよい効果を得たが、一般のPDコントローラを採用すると、ジッタ効果が大きく、姿勢がそれほど標準的なものではない。
既存の姿勢制御方法の欠陥を解決するために、本開示の実施例は、逆動力学に基づくPD制御の安定化を提案した。従来のPDコントローラを採用してモーメントを決定する計算式は、式(4)に示すとおりであり、
【数39】

ここで、τはモーメント出力であり、qは現時点の仮想キャラクタの関節の現在位置であり、
【数40】

は仮想キャラクタの関節の目標位置であり、
【数41】

は現時点の関節の速度であり、kは比例係数であり、kは微分ゲイン係数であり、nはPD制御の制御周期回数である。
【0068】
物理キャラクタの制御過程において、コントローラは目標姿勢とのズレを急速に小さくする必要があるため、kを大きく設定する必要があり、この場合、高い比例のゲインの安定性問題が生じやすい。PD制御の安定化でこの問題をよく解決することができ、次の時間周期δtの後の位置で計算してτを取得し、これは目標との間の差異を比較すると同時に、初期状態を考慮することに相当し、物理キャラクタの安定性を向上させた。一部の実施例において、関節動作情報に応じて関節の現在位置及び目標位置を決定し、現在位置に応じて関節の現在速度及び現在加速度を決定し、目標位置に応じて関節の目標速度を決定し、現在速度及び現在加速度に応じて次の制御周期後の関節に対応する第1位置及び第1速度を決定し、比例係数、微分ゲイン係数、現在位置、目標位置、目標速度、第1位置及び第1速度に基づいて、関節モーメントを計算する。計算式は、式(5)に示すとおりであり、
【数42】

であり、
ここで、τはモーメント出力であり、kは比例係数であり、kは微分ゲイン係数であり、qは現在位置であり、
【数43】

は現在速度で1つの時間周期を経過した後の関節の第1位置であり、
【数44】

は、関節の目標位置であり、
【数45】

は関節の現在速度であり、
【数46】

は関節が現在加速度で1つの時間周期を経過した後の第1速度であり、
【数47】

は関節の目標速度であり、nはコントローラの制御周期の回数である。
【0069】
本開示の一実施例において、逆動力学に基づくPD制御の安定化により、関節動作情報に対応する複数のモーメントを決定でき、さらに、物理エンジンで複数のモーメントをそれぞれ対応する関節に施し、関節の回転軸及びアンカー点に応じて、角速度及び最終姿勢を算出し、関節の回転のリアルな状況をシミュレートし、現時点の仮想キャラクタに対応する姿勢調整情報を取得でき、当該姿勢調整情報は動作シーケンスであってもよい。逆動力学に基づくPD制御の安定化により、計算精度を向上させ、ジッタを低減し、仮想キャラクタの動作効果を向上させることができる。
【0070】
本開示の一実施例において、連続的な時間帯で、動画セグメントにおける最後のフレームの画像に対する模倣が完了するまで、上記の手段を繰り返して実行すると、各時点の仮想キャラクタに対応する姿勢調整情報、即ち各画像フレームにおける仮想キャラクタに対応する姿勢調整情報を取得でき、当該姿勢調整情報は、グラフィックユーザ画面に新たに追加された地形特徴及び設定しておいた仮想キャラクタに対応するタスク特徴に基づいて決定される仮想キャラクタの姿勢である。各時点の仮想キャラクタに対応する姿勢調整情報に応じて、目標動作シーケンスを決定することができ、ユーザから見ると、当該目標動作シーケンスによって呈される動画効果は、元の動画セグメントの効果と比べて、よりリアルであり、その中の仮想キャラクタは、設定しておいた障害物を避けることができるとともに、対応するタスクを達成することができ、動画効果がよりリアルであり、ユーザ体験がよりよい。
【0071】
図14の(A)~(J)は、動画処理モデルが制御する仮想キャラクタが平地を走る動作シーケンスを示し、図14の(A)~(J)に示すように、仮想キャラクタが、下肢を持ち上げたり、踏み出したり、足を着地したり、腕を振ったりする動作は、より自然で、よりリアルである。
【0072】
図15A~15Eは、人型仮想キャラクタが、ギャップが密な地形を走る動作シーケンスを示し、図15A~15Eに示すように、白色の人型仮想キャラクタW及び黒色の人型仮想キャラクタBの2つの人型仮想キャラクタを含み、白色の人型仮想キャラクタWは、元の動画セグメントにおける人型仮想キャラクタであり、黒色の人型仮想キャラクタBは、動画処理モデルによって制御される人型仮想キャラクタであり、図15A~15Eから分かるように、白色の人型仮想キャラクタWと黒色の人型仮想キャラクタBとは、各ステップの動作が同じで、ギャップC箇所で、白色の人型仮想キャラクタWと黒色の人型仮想キャラクタBとの踏み出し方に違いがあるだけであり、動画処理モデルによって制御される黒色の人型仮想キャラクタBは、ギャップが密な地形G全体をスムーズに走り終えることができ、図15A~15B、15D~15Eに示すとおりである。
【0073】
図16A~16Lは、人型仮想キャラクタが混合障害物地形を走る動作シーケンスを示し、図16A~16Lに示すように、混合障害物地形の地面GにはギャップC、突起E及び階段Dが含まれ、図15に類似し、図には、元の動画セグメントにおける白色の人型仮想キャラクタW及び動画処理モデルによって制御される黒色の人型仮想キャラクタBも含まれ、図16A~16Eは、人型仮想キャラクタがギャップを乗り越える動作シーケンスであり、図16F~16Kは、人型仮想キャラクタが突起を乗り越える動作シーケンスであり、図16Lは、人型仮想キャラクタが階段を乗り越える動作シーケンスであり、これから分かるように、黒色の人型仮想キャラクタBは、ギャップ、突起及び階段をうまく乗り超えることができる一方、白色の人型仮想キャラクタWの走り効果は比較的悪く、例えば、白色の人型仮想キャラクタWは、足がギャップの上方、突起又は階段の下方にある可能性があり、動画効果がリアルではない。
【0074】
本開示の実施例における動画処理方法は、物理動画を必要とするいずれのゲーム又は動画設計に適用でき、本開示の実施例における動画処理方法にしたがって、動画デザイナーが設計した動画セグメントを模倣することができ、模倣中に、障害物及びタスクを仮想キャラクタのために設定することもでき、動画処理モデルで現時点の地形特徴、仮想キャラクタに対応するタスク情報及び状態情報に応じて、次の時点の仮想キャラクタに対応する関節動作情報を決定し、例えば、現時点で、仮想ユーザは左足を着地し右足を持ち上げ、地形特徴は仮想ユーザの移動経路上に突起があり、タスク情報は速度方向が前向きである場合、動画処理モデルは、これらの情報に応じて、仮想キャラクタの次の時点の関節動作情報を出力することができ、それにより、仮想キャラクタが複数の時点の動作を実行した後に、突起をスムーズに乗り越えることができることを保証し、最後に、当該関節動作情報に応じて関節モーメントを決定し、物理エンジンで関節モーメントを大腿や足に施し、仮想キャラクタが突起を乗り越える動作にレンダリングする。
【0075】
本開示の実施例における動画処理方法は、任意のタイプのゲーム動画に適用でき、拡張現実類のゲームを例にし、図4に示すゲームシーンと現実シーンとが融合した後のシーンの概略図に基づくと、妖霊Vはゲーム動画中の仮想キャラクタであり、それが位置する環境は現実シーンでの階段Sであり、さらに、その体の後ろに1列の電気自動車Mがあり、本開示の実施例における動画処理方法によれば、ユーザは、妖霊Vのために、例えば階段を降りる、電気自動車Mを迂回するなどのタスクを設定することができ、妖霊Vの状態情報、タスク情報及びグラフィカルユーザインターフェースにおける地形特徴から、妖霊に対応するリアルな動作シーケンスを取得でき、ビジョン効果から言うと、妖霊Vは、足が階段Sの下方にあったり、体と電気自動車Mが重なったりすることが発生せず、現在の階段から次の階段にジャンプしたり、電気自動車Mをスムーズに迂回したりすることができ、その動作がよりリアルであり、環境への自己適応能力がより強い。
【0076】
本開示の実施例における動画処理方法は、動画処理モデルで各時点の地形特徴、仮想キャラクタの状態情報及びタスク情報に応じて、各時点に隣接する次の時点の関節動作情報を出力し、物理エンジンで関節動作情報に応じて決定した関節モーメントを対応する関節に施してレンダリングを行うと、リアルな動作シーケンスを取得でき、当該リアルな動作シーケンスにしたがって生成された動画は、動画デザイナーが設計した動画と比べて、動画効果がより自然で、よりリアルであり、また、処理中に、異なる地形やタスクを加え、ユーザとゲーム中の仮想キャラクタとのインタラクションを実現することにより、仮想キャラクタに自己適応性を持たせ、仮想キャラクタの地形を感知する能力を向上させ、仮想キャラクタが実行する動作を平地から複雑な地形に遷移することができ、ゲームの娯楽性を向上させ、ユーザ体験をさらに向上させるとともに、ゲーム動画の制作コストを低減した。
【0077】
以下では、本開示の上記実施例における動画処理方法の実行に使用できる本開示の装置の実施例を紹介する。本開示の装置の実施例に披露されていない詳細は、本開示の上記の動画処理方法を参照されたい。
【0078】
図17は、本開示の一実施例に係る動画処理装置のブロック図を模式的に示した。
【0079】
図17に示すように、本開示の一実施例に係る動画処理装置1700は、情報取得モジュール1701、モデル処理モジュール1702及び姿勢調整モジュール1703を含む。
【0080】
ここで、情報取得モジュール1701は、現時点のグラフィカルユーザインターフェースにおける地形特徴を取得するとともに、前記現時点の動画セグメントにおける仮想キャラクタに対応する状態情報及びタスク情報を取得するように構成され、モデル処理モジュール1702は、前記地形特徴、前記状態情報及び前記タスク情報を動画処理モデルに入力し、前記動画処理モデルで前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出して、次の時点の前記仮想キャラクタに対応する関節動作情報を取得するように構成され、姿勢調整モジュール1703は、前記関節動作情報に応じて関節モーメントを決定し、前記現時点の前記仮想キャラクタに対応する姿勢調整情報を取得し、前記姿勢調整情報に応じて前記動画セグメントを処理するために、前記関節モーメントに基づいてレンダリングを行うように構成される。
【0081】
本開示の一実施例において、前記動画処理装置1700は、さらに、前記現時点が前記動画セグメントの開始時点である場合、前記動画セグメントの開始時点の前記仮想キャラクタの姿勢情報に応じて前記状態情報を決定し、前記現時点が前記動画セグメントの開始時点でない場合、直前の時点の前記仮想キャラクタに対応する関節動作情報に応じて前記状態情報を決定するように構成される。
【0082】
本開示の一実施例において、前記動画処理装置1700は、さらに、前記動画セグメントを基に、前記仮想キャラクタに対応する複数の時点の姿勢調整情報を取得し、前記複数の時点の姿勢調整情報に応じて目標動作シーケンスを決定するように構成される。
【0083】
本開示の一実施例において、前記地形特徴は、カスタマイズ地形の特徴又は現実地形の特徴であり、前記状態情報は、前記仮想キャラクタの各関節の姿勢、速度及び位相を含み、前記タスク情報は、前記仮想キャラクタに対応する目標速度方向又は目標点座標を含む。
【0084】
本開示の一実施例において、前記動画処理モデルは、第1制御ネットワーク及び第2制御ネットワークを含み、前記モデル処理モジュール1702は、前記地形特徴、前記状態情報及び前記タスク情報を前記第1制御ネットワークに入力し、前記第1制御ネットワークにより前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出して、重要な関節に対応する目標状態情報を取得するように構成される第1特徴抽出ユニットと、前記目標状態情報を目標タスク情報とし、前記状態情報及び前記目標タスク情報を前記第2制御ネットワークに入力し、前記第2制御ネットワークで前記状態情報及び前記目標タスク情報から特徴を抽出して、前記関節動作情報を取得するように構成される第2特徴抽出ユニットと、を含む。
【0085】
本開示の一実施例において、前記第1制御ネットワークは、畳み込みユニット、第1完全接続層、第2完全接続層及び第3完全接続層を含み、前記第1特徴抽出ユニットは、前記畳み込みユニットで前記地形特徴に対して特徴抽出を行って、地形に対応する第1特徴情報を取得し、前記第1完全接続層で前記第1特徴情報に対して特徴の組合せを行って、第2特徴情報を取得し、前記第2完全接続層で前記第2特徴情報、前記状態情報及び前記タスク情報に対して特徴の組合せを行って、第3特徴情報を取得し、前記第3完全接続層により前記第3特徴情報に対して特徴の組合せを行って、前記目標状態情報を取得する、ように構成される。
【0086】
本開示の一実施例において、前記第2制御ネットワークは、第4完全接続層及び第5完全接続層を含み、前記第2特徴抽出ユニットは、前記第4完全接続層で前記状態情報及び前記目標タスク情報に対して特徴の組合せを行って、第4特徴情報を取得し、前記第5完全接続層で前記第4特徴情報に対して特徴の組合せを行って、前記関節動作情報を取得する、ように構成される。
【0087】
本開示の一実施例において、前記姿勢調整モジュール1703は、前記関節動作情報に応じて関節の現在位置及び目標位置を決定し、前記現在位置に応じて前記関節の現在速度及び現在加速度を決定し、前記目標位置に応じて前記関節の目標速度を決定し、前記現在速度及び前記現在加速度に応じて、次の制御周期の後に前記関節に対応する第1位置及び第1速度を決定し、比例係数、微分ゲイン係数、前記現在位置、前記目標位置、前記目標速度、前記第1位置及び前記第1速度に基づいて、前記関節モーメントを計算する、ように構成される。
【0088】
本開示の一実施例において、前記姿勢調整モジュール1703は、前記関節モーメントを物理エンジンに入力し、前記物理エンジンにより前記関節モーメントを対応する関節に施しながら、レンダリングして、前記姿勢調整情報を生成する、ように構成される。
【0089】
本開示の一実施例において、前記動画処理装置1700は、さらに、前記動画処理モデルで前記地形特徴、前記状態情報及び前記タスク情報から特徴を抽出する前に、トレーニング対象の動画処理モデルをトレーニングして、前記動画処理モデルを取得するように構成されるトレーニングモジュールを含む。
【0090】
本開示の一実施例において、前記トレーニング対象の動画処理モデルは、トレーニング対象の第1制御ネットワーク及びトレーニング対象の第2制御ネットワークを含み、前記トレーニングモジュールは、
地形特徴サンプル、キャラクタ状態サンプル及びタスク情報サンプルを取得し、前記地形特徴サンプル、前記キャラクタ状態サンプル及び前記タスク情報サンプルに基づいて、前記トレーニング対象の第1制御ネットワークをトレーニングして、前記第1制御ネットワークを取得するように構成される第1トレーニングユニットと、
動画セグメントサンプルにおける、前記仮想キャラクタの前記重要な関節に対応する状態情報サンプル及び全ての関節に対応する関節動作情報サンプルに基づいて、前記第2制御ネットワークをトレーニングして、前記第2制御ネットワークを取得するように構成される第2トレーニングユニットと、
を含み、前記トレーニング対象の第1制御ネットワーク及び前記トレーニング対象の第2制御ネットワークを別々にトレーニングし、前記トレーニング対象の第1制御ネットワークをトレーニングするとき、前記トレーニング対象の第1制御ネットワークには、固定パラメータを持つ第2制御ネットワークが接続されている。
【0091】
本開示の一実施例において、前記第2トレーニングユニットは、複数の動画セグメントサンプルを取得し、前記仮想キャラクタの開始姿勢に基づいて、前記複数の動画セグメントサンプルから目標動画セグメントサンプルを決定し、前記目標動画セグメントサンプルから前記重要な関節に対応する状態情報サンプルを取得して、前記状態情報サンプルを目標タスク情報とし、前記仮想キャラクタの全ての関節に対応する関節動作情報サンプルを取得し、前記目標タスク情報及び前記関節動作情報サンプルに基づいて、前記トレーニング対象の第2制御ネットワークをトレーニングする、ように構成される。
【0092】
本開示の一実施例において、前記トレーニング対象の第1制御ネットワークは、第1トレーニング対象の実行サブネットワーク及び第1トレーニング対象の評価サブネットワークを含み、前記トレーニング対象の第2制御ネットワークは、第2トレーニング対象の実行サブネットワーク及び第2トレーニング対象の評価サブネットワークを含み、ただし、前記第1トレーニング対象の実行サブネットワークと前記第1トレーニング対象の評価サブネットワークとは構造が同じであり、前記第2トレーニング対象の実行サブネットワークと前記第2トレーニング対象の評価サブネットワークとは構造が同じである。
【0093】
図18は、本開示の実施例の実現に適する電子機器のコンピュータシステムの概略構造図を示した。
【0094】
なお、図18に示した電子機器のコンピュータシステム1800は、1つの例示にすぎず、本開示の実施例の機能及び使用範囲を制限するものではない。
【0095】
図18に示すように、コンピュータシステム1800は、中央処理措置(Central Processing Unit、CPU)1801を含み、読み取り専用メモリ(Read-Only Memory、ROM)1802に記憶されているプログラム又は記憶部1808からランダムアクセスメモリ(Random Access Memory、RAM)1803にロードされるプログラムに基づいて、様々な適切な動作や処理を実行でき、上記の実施例に記載の画像マーキング方法が実現される。RAM1803には、さらに、システムオペレーティングに必要な様々なプログラムやデータが記憶されている。CPU1801、ROM1802及びRAM1803は、バス1804を介して互いに接続される。入力/出力(Input/Output、I/O)インターフェース1805もバス1804に接続される。
【0096】
キーボード、マウスなどを含む入力部1806と、陰極線管(Cathode Ray Tube、CRT)、液晶ディスプレイ(Liquid Crystal Display、LCD)など及びスピーカーなどを含む出力部1807と、ハードウェアなどを含む記憶部1808と、LAN(Local Area Network、ローカルエリアネットワーク)カード、モデムなどのネットワークインターフェースカードを含む通信部1809とは、I/Oインターフェース1805に接続される。通信部1809は、インターネットなどのネットワークを介して通信処理を実行する。ドライバ1810も、必要に応じてI/Oインターフェース1805に接続される。ディスク、光ディスク、光磁気ディスク、半導体メモリなどのリムーバブルメディア1811は、それから読み出されるコンピュータプログラムを必要に応じて記憶部1808にインストールしやすくするために、必要に応じてドライバ1810にインストールされる。
【0097】
特に、本開示の実施例によれば、以下、フローチャートを参照しながら説明したプロセスは、コンピュータソフトウェアプログラムとして実装され得る。例えば、本開示の実施例には、コンピュータプログラム製品が含まれ、それはコンピュータ可読媒体に記憶されているコンピュータプログラムを含み、当該コンピュータプログラムは、フローチャートに示す方法を実行するためのプログラムコードを含む。このような実施例において、当該コンピュータプログラムは、通信部1809によってネットワークからロードされてインストールされてもよく、及び/又は、リムーバブルメディア1811によってインストールされてもよい。当該コンピュータプログラムが中央処理装置(CPU)1801によって実行されると、本開示のシステムに限定された様々な機能が実行される。
【0098】
なお、本開示の実施例に示すコンピュータ可読媒体は、コンピュータ可読信号媒体であっても、コンピュータ可読記憶媒体であっても、上記の両者の任意の組合せであってもよい。コンピュータ可読記憶媒体は、例えば電気、磁気、光、電磁気、赤外線、又は半導体のシステム、装置、デバイス、又はそれらの任意の組合せであってもよいが、これらに限定されない。コンピュータ可読記憶媒体は、1つ又は複数の配線を有する電気接続、携帯型コンピュータディスク、ハードウェア、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラマブル読み取り専用メモリ(EPRO:MErasable Programmable Read Only Memory)、フラッシュメモリ、光ファイバ、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM:Compact Disc Read-Only Memory)、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組合せを含み得るが、これらに限定されない。本開示において、コンピュータ可読記憶媒体は、プログラムを含むか又はプログラムを記憶する有形媒体であり得、当該プログラムは、命令実行システム、装置又はデバイスによって使用されてもよいし、それらと結合して使用されてもよい。本開示において、コンピュータ読み取り可能な信号媒体は、ベースバンドにふくまれるか又は搬送波の一部として伝播されるデータ信号を含み得、それにはコンピュータ読み取り可能なプログラムコードが記憶されている。このように伝播されるデータ信号は、様々な形態を採用することができ、電磁気信号、光信号又は上記の任意の適切な組合せを含むが、これらに限定されない。コンピュータ読み取り可能な信号媒体は、コンピュータ可読記憶媒体以外のいずれのコンピュータ可読媒体であってもよく、当該コンピュータ可読媒体は、命令実行システム、装置又はデバイスによって使用されるか又はそれと結合して使用されるプログラムを送信、伝播又は伝送することができる。コンピュータ可読媒体に含まれているプログラムコードは、適切な媒体で伝送することができ、無線、有線など、又は上記の任意の適切な組合せを含むが、これらに限定されない。
【0099】
図面におけるフローチャート及びブロック図では、本開示の様々な実施例によるシステム、方法及びコンピュータプログラム製品の実装可能な体系アーキテクチャ、機能及び操作を図示した。この点では、フローチャート又はブロック図の各々のブロックは、1つのモジュール、プログラムクリップ、又はコードの一部を代表でき、上記のモジュール、プログラムクリップ、又はコードの一部には、規定の論理機能を実現するための1つ又は複数の実行可能な命令が含まれている。一部の代替としての実装において、ブロックにマーキングされた機能は図面にマーキングしている順番と異なる順番で発生してもよいことに留意されたい。例えば、2つの連続的に示されたブロックは、実際には、基本的に並行に実行されてもよく、それらは、逆順で実行される場合もあり、これは、関連する機能によって決定される。ブロック図又はフローチャートにおける各々のブロックと、ブロック図又はフローチャートにおけるブロックの組合せとは、規定の機能又は操作専用のハードウェアに基づくシステムを実行することにより実現されてもよいし、専用ハードウェアとコンピュータ命令との組合せで実現されてもよい。
【0100】
本開示の実施例に記述された関連するユニットは、ソフトウェアの方法で実装されてもよいし、ハードウェアの方法で実装されてもよく、記述されたユニットは、プロセッサに設置されてもよい。ここで、これらのユニットの名称は、ある場合には、当該ユニット自体を限定するものではない。
【0101】
別の態様では、本開示は、コンピュータ可読媒体をさらに提供し、当該コンピュータ可読媒体は、上記の実施例に記述の動画処理装置を含んでもよいし、当該電子機器に組み込まれず、単独存在であってもよい。上記のコンピュータ可読媒体には、1つ又は複数のプログラムが記憶されており、上記の1つ又は複数のプログラムが、当該電子機器によって実行されると、当該電子機器によって上記の実施例に記載の方法が実現される。
【0102】
本明細書の詳細な記述において、動作を実行するための機器のいくつかのモジュール又はユニットが言及されたが、これらの区分は強制的なものではないことに注意すべきである。実際には、本開示の実施形態によれば、本明細書に記述した2つ以上のモジュール又はユニットの特徴及び機能は、1つのモジュール又はユニットによって具現化され得る。逆に、本明細書に記述した1つのモジュール又はユニットの特徴及び機能は、複数のモジュール又はユニットによって具現化されるように、さらに分割してもよい。
【0103】
以上の実施形態の説明により、当業者であれば、本明細書に記述した例示的な実施形態は、ソフトウェアで実装されても、ソフトウェアに必要なハードウェアを結合する方法で実装されてもよいことを容易に理解できる。したがって、本開示の実施形態の技術的解決手段は、ソフトウェア製品の形態で具現化することができ、当該ソフトウェア製品は、不揮発性記憶媒体(CD-ROM、USB、モバイルハードウェアなどであってもよい)又はネットワークに記憶されてもよく、コンピュータ機器(パーソナルコンピュータ、サーバ、タッチ端末、又はネットワーク機器などであってもよい)に本開示の実施形態に係る方法を実行させるためのいくつかの命令を含む。
【0104】
当業者であれば、本明細書を考慮し、本明細書に開示された発明を実践した後、本開示の他の実施形態を容易に想到できる。本開示は、本開示のいずれの変形、用途、又は適応的変化を包含することを意図し、これらの変形、用途、又は適応的変化は、本開示の一般的な原理に従い、本開示に開示されていない当技術分野における周知の常識又は慣用の技術的手段を含む。
【0105】
本開示は、上記で説明され、図面に示された厳密な構造に限定されず、その範囲から逸脱することなく、様々な修正および変更がなされ得ることを理解されたい。本開示の範囲は、添付の特許請求の範囲のみによって限定される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15A
図15B
図15C
図15D
図15E
図16A
図16B
図16C
図16D
図16E
図16F
図16G
図16H
図16I
図16J
図16K
図16L
図17
図18