(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-28
(45)【発行日】2024-09-05
(54)【発明の名称】動画移行方法及び装置、機器、記憶媒体並びにコンピュータプログラム
(51)【国際特許分類】
G06T 13/40 20110101AFI20240829BHJP
G06T 17/20 20060101ALI20240829BHJP
【FI】
G06T13/40
G06T17/20
(21)【出願番号】P 2023515277
(86)(22)【出願日】2021-10-28
(86)【国際出願番号】 CN2021127142
(87)【国際公開番号】W WO2022242038
(87)【国際公開日】2022-11-24
【審査請求日】2023-03-07
(31)【優先権主張番号】202110547693.6
(32)【優先日】2021-05-19
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】522208900
【氏名又は名称】シェンチェン テトラス.エーアイ テクノロジー カンパニー リミテッド
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】朱袁▲しゅあん▼
(72)【発明者】
【氏名】黄展▲鵬▼
(72)【発明者】
【氏名】黄健文
(72)【発明者】
【氏名】▲韓▼蕊
(72)【発明者】
【氏名】尹浩
(72)【発明者】
【氏名】▲鄭▼佳宇
(72)【発明者】
【氏名】黄▲偉▼杰
(72)【発明者】
【氏名】秦梓▲鵬▼
【審査官】鈴木 圭一郎
(56)【参考文献】
【文献】特開2013-120395(JP,A)
【文献】特開2017-042896(JP,A)
【文献】特開2019-057918(JP,A)
【文献】米国特許出願公開第2020/0349765(US,A1)
【文献】中国特許出願公開第102708582(CN,A)
【文献】中国特許第102708582(CN,B)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/40
G06T 17/20
(57)【特許請求の範囲】
【請求項1】
動画移行
の方法であって、
前記方法は、
初期ソース骨格、初期ターゲット骨格及び初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得すること
であって、前記ノードマッピング関係は、前記初期ソース骨格と初期ターゲット骨格におけるノード間のマッピング関係を含む、ことと、
前記ノードマッピング関係に基づいて、前記初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得ることであって、前記最終的なターゲット骨格におけるターゲットノードはいずれも、前記最終的なソース骨格におけるソースノードにマッピング可能である、ことと、
前記初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得ること
と
を含
み、
前記ノードマッピング関係に基づいて、前記初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得ることは、2つの骨格の間に、同一のノードにマッピングされる複数のノードがある場合、前記骨格のうちの1つのノードトポロジ構造を更新することを含み、
前記骨格のうちの1つのノードトポロジ構造を更新することは、
前記複数のノードが異なる骨格分岐に位置する場合、前記複数のノードが位置する第1骨格から、前記複数のノードが位置する骨格分岐が合流する第2ノードを探し出し、前記複数のノードを含まない第2骨格から、前記第2ノードにマッピングされる第3ノードを探し出すことであって、前記第1骨格と前記第2骨格とのうちの1つは、初期ソース骨格であり、もう1つは、初期ターゲット骨格である、ことと、
前記複数のノードに対応するノードトポロジ構造に応じて、前記第3ノードに少なくとも1つの骨格分岐を新規追加することであって、前記複数のノードは、前記第3ノードに新規追加される骨格分岐及びオリジナル骨格分岐におけるノードと一対一にマッピングされる、ことと
を含む、方法。
【請求項2】
前記最終的なターゲット骨格と前記最終的なソース骨格のノードトポロジ構造が一致し、及び/又は、前記最終的なターゲット骨格と前記最終的なソース骨格とのノードが一対一にマッピングされ
、前記
ノードマッピング関係に基づいて、前記初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得ることは
、
前記骨格にマッピング関係のないノードがある場合、前記マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新すること
をさらに含み、
前記2つの骨格は、初期ソース骨格と、初期ターゲット骨格とを含み、更新された前記2つの骨格間のノード
は、一対一にマッピングされる
、請求項1に記載の方法。
【請求項3】
前記マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新することは、
前記マッピング関係のないノードを、マッピング関係のある隣接ノードにマージすることであって、前記隣接ノードは、前記マッピング関係のないノードが位置する骨格における、前記マッピング関係のないノードの親ノード又は子ノードである、ことを含み、
及び/又は、
前記骨格のうちの1つのノードトポロジ構造を更新することは、
前記複数のノードが同一の骨格分岐に位置する場合、前記第1骨格を更新することをさらに含む
、請求項2に記載の方法。
【請求項4】
前記複数のノードが位置する第1骨格を更新することは、
前記第1骨格における複数のノードを1つの第1ノードとしてマージすることであって、前記第1ノードは、マージ前の前記複数のノードのマッピング関係を維持する、ことを含
む、請求項3に記載の方法。
【請求項5】
前記初期ソース骨格に関連する第1動画駆動データを前記最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得る前に、前記方法は、
ルートソースノードからリーフソースノードへの順番に応じて、前記最終的なソース骨格における各ソースノードと前記最終的なターゲット骨格における対応してマッピングされるターゲットノードをそれぞれ位置合わせし、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることを
さらに含み、
前記初期ソース骨格に関連する第1動画駆動データを前記最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得ることは、
前記第1動画駆動データと前記第1位置姿勢変換関係を利用して、前記最終的なターゲット骨格の第2動画駆動データを得ることを含む
、請求項1
~4のうちいずれか一項に記載の方法。
【請求項6】
前記最終的なソース骨格における各ソースノードと前記最終的なターゲット骨格における対応してマッピングされるターゲットノードをそれぞれ位置合わせし、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることは、
前記最終的なソース骨格における各ソースノードに対して、前記ソースノードをマッピングされるターゲットノードに位置合わせするために必要なオフセットを取得することであって、前記オフセットは、並進成分と回転成分とのうちの少なくとも1つを含む、ことと、
前記ソースノードに対応するオフセットに基づいて、前記ソースノードの第1位置姿勢変換関係を得ること
と
を含む
、請求項5に記載の方法。
【請求項7】
前記最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードはいずれも第1座標系の原点に並進し、前記第1位置姿勢変換関係は、前記ソースノードとマッピングされるターゲットノードとの、前記第1座標系における変換関係であり、前記ソースノードに対応するオフセットは、前記ソースノードの第1親ノードが位置合わせされ、かつ
、前記第1親ノードが第2座標系の原点である場合、前記ソースノードとマッピングされるターゲットノードの、前記第2座標系におけるオフセットである
、請求項6に記載の方法。
【請求項8】
前記ソースノードをマッピングされるターゲットノードに位置合わせするために必要なオフセットを取得することは、
位置合わせされた前記第1親ノードとルートソースノードとの第2位置姿勢変換関係、及び前記ソースノードのマッピングされるターゲットノードの第2親ノードとルートターゲットノードとの第3位置姿勢変換関係を取得し、前記ソースノード及びマッピングされるターゲットノードの、第1座標系における位置姿勢と、前記第2位置姿勢変換関係と、第3位置姿勢変換関係とに基づいて、前記ソースノードに対応するオフセットを得ることを含み、
及び/又は、
前記ソースノードに対応するオフセットに基づいて、前記ソースノードの第1位置姿勢変換関係を得ることは、
前記ソースノード及び前記ソースノードの上位ノードのそれぞれに対応する前記オフセットに基づいて、前記ソースノードの第1位置姿勢変換関係を得ることであって、前記ソースノードの上位ノードは、前記最終的なソース骨格における前記ソースノードの第1親ノード、ルートソースノード及び前記第1親ノードとルートソースノードとの間のノードである、ことを含む
、請求項7に記載の方法。
【請求項9】
前記第1動画駆動データは、前記最終的なソース骨格と前記初期ソース骨格とのトポロジ構造差異に基づいて、前記初期ソース骨格のオリジナル動画データに対して調整を行うことで得られたものであり、
及び/又は、
前記最終的なターゲット骨格の第2動画駆動データは、前記第1動画駆動データ及び第1位置姿勢変換関係に基づいて得られたものであり、前記第1位置姿勢変換関係は、最終的なソース骨格のソースノードと最終的なターゲット骨格におけるマッピングされるターゲットノードとの間の変換関係であり、前記最終的なターゲット骨格は、ターゲット対象の骨格であり、前記初期ソース骨格に関連する第1動画駆動データを前記最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得ることは、
前記ターゲット対象における幾何学的メッシュ頂点の第1位置情報、前記第1動画駆動データ及び第1位置姿勢変換関係に基づいて、前記第2動画駆動データにおける、前記幾何学的メッシュ頂点に関する第2位置情報を得ることを含む
、請求項1
~8のうちいずれか一項に記載の方法。
【請求項10】
前記ターゲット対象における幾何学的メッシュ頂点の第1位置情報、前記第1動画駆動データ及び第1位置姿勢変換関係に基づいて、前記第2動画駆動データにおける、前記幾何学的メッシュ頂点に関する第2位置情報を得ることは、
前記幾何学的メッシュ頂点との距離が所定の条件を満たす少なくとも1つのターゲットノードをリファレンスノードとして取得し、前記リファレンスノードの影響重みを得ることと、
前記第1動画駆動データにおける、前記リファレンスノードに関する第4位置姿勢変換関係と前記リファレンスノードに対応する第1位置姿勢変換関係に基づいて、前記リファレンスノードに対応する第5位置姿勢変換関係を得ることと、
前記第1位置情報、各前記リファレンスノードに対応する第5位置姿勢変換関係及び前記影響重みを利用して、前記幾何学的メッシュ頂点の第2位置情報を得ること
と
を含む
、請求項9に記載の方法。
【請求項11】
前記初期ソース骨格を取得することは、
ターゲット対象を含む画像に対して分類を行い、前記ターゲット対象のクラスを得、前記クラスに合致した骨格モデルを前記初期ソース骨格として選択することであって、前記最終的なターゲット骨格は、ターゲット対象の骨格である、ことを含み、
及び/又は、
初期ターゲット骨格を取得することは、
ターゲット対象を含む画像に対して輪郭抽出を行い、前記ターゲット対象の輪郭を得ることと、
前記輪郭を利用して、前記ターゲット対象に対して、三次元メッシュモデルを生成することと、
前記三次元メッシュモデルから、前記初期ターゲット骨格を抽出すること
と
を含む
、請求項1
~10のうちいずれか一項に記載の方法。
【請求項12】
動画移行
の装置であって、
前記装置は、
初期ソース骨格、初期ターゲット骨格及び前記初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得するように構成され
ている取得モジュール
であって、前記ノードマッピング関係は、前記初期ソース骨格と初期ターゲット骨格におけるノード間のマッピング関係を含む、取得モジュールと、
前記ノードマッピング関係に基づいて、前記初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得るように構成され
ているモデル更新モジュールであって、前記最終的なターゲット骨格におけるターゲットノードはいずれも、前記最終的なソース骨格におけるソースノードにマッピング可能である、モデル更新モジュールと、
前記初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得るように構成され
ている動画移行モジュール
と
を備え、
前記モデル更新モジュールはさらに、2つの骨格の間に、同一のノードにマッピングされる複数のノードがある場合、前記骨格のうちの1つのノードトポロジ構造を更新するように構成され、
前記モデル更新モジュールは、前記複数のノードが異なる骨格分岐に位置する場合、前記複数のノードが位置する第1骨格から、前記複数のノードが位置する骨格分岐が合流する第2ノードを探し出し、前記複数のノードを含まない第2骨格から、前記第2ノードにマッピングされる第3ノードを探し出し、前記複数のノードに対応するノードトポロジ構造に応じて、前記第3ノードに少なくとも1つの骨格分岐を新規追加するようにさらに構成されており、前記第1骨格と前記第2骨格とのうちの1つは、初期ソース骨格であり、もう1つは、初期ターゲット骨格であり、前記複数のノードは、前記第3ノードに新規追加される骨格分岐及びオリジナル骨格分岐におけるノードと一対一にマッピングされる、装置。
【請求項13】
電子機器であって、前記電子機器は、メモリ
とプロセッサ
とを備え
、前記プロセッサは、前記メモリに記憶されているプログラム命令を実行
することにより、請求項1
~11のうちいずれか一項に記載の方法を
実行するように構成されている、電子機器。
【請求項14】
請求項1
~11のうちいずれか一項に記載の方法を
実行することをコンピュータに行わせるためのプログラムを記憶し
たコンピュータ
読み取り可能な記憶媒体。
【請求項15】
請求項1
~11のうちいずれか一項に記載の方法を
実行することをコンピュータに行わせるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2021年05月19日に提出された、出願番号が202110547693.6である中国特許出願に基づく優先権を主張し、該中国特許出願の全内容が参照として本願に組み込まれる。
【0002】
本願の実施例は、コンピュータグラフィックス分野に関するが、これに限定されず、特に動画移行方法及び装置、機器、記憶媒体並びにコンピュータプログラム製品に関する。
【背景技術】
【0003】
1つの既存の骨格モデルから新たな骨格モデルに動画を移行することによって、既存の骨格モデルの有する動画を新たな骨格モデルで自然且つ合理的な方式で表示することは、コンピュータグラフィックスにおける実用価値の大きい技術である。しかしながら、関連技術の動画移行方案において、動画データを有する既存の骨格モデルから新たな骨格モデルに動画を移行する時に、適用性が低い。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願の実施例は少なくとも、動画移行方法及び装置、機器、記憶媒体並びにコンピュータプログラム製品を提供する。
【課題を解決するための手段】
【0005】
本願の実施例は、動画移行方法を提供する。前記方法は、初期ソース骨格、初期ターゲット骨格及び初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得することと、ノードマッピング関係に基づいて、初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得ることであって、最終的なターゲット骨格におけるターゲットノードはいずれも、最終的なソース骨格におけるソースノードにマッピング可能である、ことと、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得ることと、を含む。
【0006】
従って、初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格のトポロジ構造を更新することによって、最終的なターゲット骨格のターゲットノードをいずれも、最終的なソース骨格におけるソースノードにマッピングすることができる。初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、それにより最終的なターゲット骨格の動きを駆動するため、異なる骨格間の動画移行を実現する。また、移行待ちソース骨格とターゲット骨格の間の初期トポロジ構造が完全に一致する必要がないため、骨格間の動画移行の適用性を向上させる。
【0007】
いくつかの実施例において、最終的なターゲット骨格と最終的なソース骨格のノードトポロジ構造が一致し、及び/又は、最終的なターゲット骨格と最終的なソース骨格とのノードが一対一にマッピングされる。
【0008】
従って、最終的なターゲット骨格におけるノードについて、最終的なソース骨格においてこれとマッピングしたノードがあり、且つマッピング関係が一対一マッピングであり、1つのターゲットノードが複数のソースノードに対応するというケースが存在しないことを確保することで、後続の最終的なターゲット骨格におけるノードに、いずれも対応する動画駆動データがあり、且つ各ノード上での動画駆動データの数が1である。1つのノードが複数の動画駆動データを有するケースが存在しないことにより、最終的なターゲット骨格の動画駆動をより自然にする。
【0009】
いくつかの実施例において、ノードマッピング関係は、初期ソース骨格と初期ターゲット骨格におけるノード間のマッピング関係を含み、ノード対応関係に基づいて、初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得ることは、2つの骨格の間に、同一のノードにマッピングされる複数のノードがある場合、そのうちの1つの骨格のノードトポロジ構造を更新することと、骨格にマッピング関係のないノードがある場合、マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新することと、のうちの少なくとも1つを含み、ここで、2つの骨格は、初期ソース骨格と、初期ターゲット骨格とを含み、更新された2つの骨格間のノードが一対一にマッピングされる。
【0010】
従って、骨格のノードトポロジ構造を更新することで、2つの骨格間の複数のノードが同一のノードにマッピングされることを2つの骨格間のノードの一対一のマッピングに調整し、更に、後続の最終的なターゲット骨格の動画駆動プロセスにおいて合理的ではない状況の出現を減少させる。
【0011】
いくつかの実施例において、マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新することは、マッピング関係のないノードを、マッピング関係のある隣接ノードにマージすることであって、隣接ノードは、マッピング関係のないノードが位置する骨格における、マッピング関係のないノードの親ノード又は子ノードである、ことを含み、及び/又は、そのうちの1つの骨格のノードトポロジ構造を更新することは、複数のノードが同一の骨格分岐に位置する場合、複数のノードが位置する第1骨格を更新することと、複数のノードが異なる骨格分岐に位置する場合、複数のノードを含まない第2骨格を更新することと、を含み、ここで、第1骨格と第2骨格とのうちの1つは、初期ソース骨格であり、もう1つは、初期ターゲット骨格である。
【0012】
従って、複数のノードが位置する第1骨格を更新することで、2つの骨格間の複数のノードが同一のノードにマッピングされることを2つの骨格間のノードが一対一にマッピングされることに調整し、更に、後続の最終的なターゲット骨格の動画駆動プロセスにおいて合理的ではない状況の出現を減少させる。
【0013】
いくつかの実施例において、複数のノードが位置する第1骨格を更新することは、第1骨格における複数のノードを1つの第1ノードとしてマージすることであって、ここで、第1ノードは、マージ前の複数のノードのマッピング関係を維持する、ことを含み、及び/又は、複数のノードを含まない第2骨格を更新することは、第1骨格から、複数のノードが位置する骨格分岐が合流する第2ノードを探し出し、第2骨格から、第2ノードにマッピングされる第3ノードを探し出すことと、複数のノードに対応するノードトポロジ構造に応じて、第3ノードに少なくとも1つの骨格分岐を新規追加することと、を含み、複数のノードは、第3ノードに新規追加される骨格分岐及びオリジナル骨格分岐におけるノードと一対一にマッピングされる。
【0014】
従って、このような方式で、ノードの一対一のマッピングを実現する場合、第1骨格のノードトポロジ構造も最大限に維持できる。
【0015】
いくつかの実施例において、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得る前に、方法は、ルートソースノードからリーフソースノードへの順番に応じて、最終的なソース骨格における各ソースノードと最終的なターゲット骨格における対応してマッピングされるターゲットノードをそれぞれ位置合わせし、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることを更に含み、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得ることは、第1動画駆動データと第1位置姿勢変換関係を利用して、最終的なターゲット骨格の第2動画駆動データを得ることを含む。
【0016】
従って、ソースノードとターゲットノードとの位置合わせを行うことで、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることができ、それにより第1動画駆動データと第1位置姿勢変換関係を利用して、最終的なターゲット骨格の第2動画駆動データを得ることを実現する。
【0017】
いくつかの実施例において、最終的なソース骨格における各ソースノードと最終的なターゲット骨格における対応してマッピングされるターゲットノードをそれぞれ位置合わせし、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることは、最終的なソース骨格における各ソースノードに対して、ソースノードをマッピングされるターゲットノードに位置合わせするために必要なオフセットを取得することであって、オフセットは、並進成分と回転成分とのうちの少なくとも1つを含む、ことと、ソースノードに対応するオフセットに基づいて、ソースノードの第1位置姿勢変換関係を得ることと、を含む。
【0018】
従って、オフセットが並進成分と回転成分を含むことによって、取得された第1位置姿勢変換関係をより正確にする。
【0019】
いくつかの実施例において、最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードはいずれも第1座標系の原点に並進し、第1位置姿勢変換関係は、ソースノードとマッピングされるターゲットノードとの、第1座標系における変換関係であり、ソースノードに対応するオフセットは、ソースノードの第1親ノードが位置合わせされ、かつ第1親ノードが第2座標系の原点である場合、ソースノードとマッピングされるターゲットノードの、第2座標系におけるオフセットである。
【0020】
従って、最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードがいずれも第1座標系の原点に並進することで、最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードとのオフセットを取得することができる。
【0021】
いくつかの実施例において、ソースノードをマッピングされるターゲットノードに位置合わせするために必要なオフセットを取得することは、位置合わせされた第1親ノードとルートソースノードとの第2位置姿勢変換関係、及びソースノードのマッピングされるターゲットノードの第2親ノードとルートターゲットノードとの第3位置姿勢変換関係を取得し、ソースノード及びマッピングされるターゲットノードの、第1座標系における位置姿勢と、第2位置姿勢変換関係と、第3位置姿勢変換関係とに基づいて、ソースノードに対応するオフセットを得ることを含み、及び/又は、ソースノードに対応するオフセットに基づいて、ソースノードの第1位置姿勢変換関係を得ることは、ソースノード及びソースノードの上位ノードのそれぞれに対応するオフセットに基づいて、ソースノードの第1位置姿勢変換関係を得ることであって、ソースノードの上位ノードは、最終的なソース骨格におけるソースノードの第1親ノード、ルートソースノード及び第1親ノードとルートソースノードとの間のノードである、ことを含む。
【0022】
従って、ソースノード及びソースノードの上位ノードに対応するオフセットを結合することで、ソースノードの、第1座標系におけるマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることができる。
【0023】
いくつかの実施例において、第1動画駆動データは、最終的なソース骨格と初期ソース骨格とのトポロジ構造差異に基づいて、初期ソース骨格のオリジナル動画データに対して調整を行うことで得られたものであり、及び/又は、最終的なターゲット骨格の第2動画駆動データは、第1動画駆動データ及び第1位置姿勢変換関係に基づいて得られたものであり、第1位置姿勢変換関係は、最終的なソース骨格のソースノードと最終的なターゲット骨格におけるマッピングされるターゲットノードとの間の変換関係であり、最終的なターゲット骨格は、ターゲット対象の骨格であり、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得ることは、ターゲット対象における幾何学的メッシュ頂点の第1位置情報、第1動画駆動データ及び第1位置姿勢変換関係に基づいて、第2動画駆動データにおける、幾何学的メッシュ頂点に関する第2位置情報を得ることを含む。
【0024】
従って、ターゲット対象における幾何学的メッシュ頂点の第1位置情報、第1動画駆動データ及び第1位置姿勢変換関係を結合することで、第2動画駆動データにおける、幾何学的メッシュ頂点に関する第2位置情報を得ることができ、プロセスが便利である。
【0025】
いくつかの実施例において、ターゲット対象における幾何学的メッシュ頂点の第1位置情報、第1動画駆動データ及び第1位置姿勢変換関係に基づいて、第2動画駆動データにおける、幾何学的メッシュ頂点に関する第2位置情報を得ることは、幾何学的メッシュ頂点との距離が所定の条件を満たす少なくとも1つのターゲットノードをリファレンスノードとして取得し、リファレンスノードの影響重みを得ることと、第1動画駆動データにおける、リファレンスノードに関する第4位置姿勢変換関係とリファレンスノードに対応する第1位置姿勢変換関係に基づいて、リファレンスノードに対応する第5位置姿勢変換関係を得ることと、第1位置情報、各リファレンスノードに対応する第5位置姿勢変換関係及び影響重みを利用して、幾何学的メッシュ頂点の第2位置情報を得ることと、を含む。
【0026】
従って、頂点に対するリファレンスノードの影響重みを考慮することで、取得された幾何学的メッシュ頂点の第2位置情報をより正確にする。
【0027】
いくつかの実施例において、初期ソース骨格を取得することは、ターゲット対象を含む画像に対して分類を行い、ターゲット対象のクラスを得、クラスに合致した骨格モデルを初期ソース骨格として選択することであって、最終的なターゲット骨格は、ターゲット対象の骨格である、ことを含み、及び/又は、初期ターゲット骨格を取得することは、ターゲット対象を含む画像に対して輪郭抽出を行い、ターゲット対象の輪郭を得ることと、輪郭を利用して、ターゲット対象に対して、三次元メッシュモデルを生成することと、三次元メッシュモデルから、初期ターゲット骨格を抽出することと、を含む。
【0028】
従って、ターゲット対象のクラスを取得し、クラスに合致した骨格モデルから、初期ソース骨格を選択することで、便利で迅速である。骨格分岐の数の多い順に応じて、初期骨格と初期ターゲット骨格におけるノードに対して順にマッピングを行うことで、マッピングの正確度を向上させることができる。
【0029】
本願の実施例は、動画移行装置を提供する。前記装置は、初期ソース骨格、初期ターゲット骨格及び初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得するように構成される取得モジュールと、ノードマッピング関係に基づいて、初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得るように構成されるモデル更新モジュールであって、最終的なターゲット骨格におけるターゲットノードはいずれも、最終的なソース骨格におけるソースノードにマッピング可能である、モデル更新モジュールと、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得るように構成される動画移行モジュールと、を備える。
【0030】
本願の実施例は、電子機器を提供する。前記電子機器は、メモリと、プロセッサと、を備え、プロセッサは、メモリに記憶されているプログラム命令を実行し、上記動画移行方法を実施する。
【0031】
本願の実施例は、コンピュータ可読記憶媒体を提供する。該コンピュータ可読記憶媒体にはプログラム命令が記憶されており、プログラム命令がプロセッサにより実行される時、プロセッサに上記動画移行方法を実現させる。
【0032】
本願の実施例は、コンピュータプログラム製品を更に提供する。前記コンピュータプログラム製品は、プログラムコードを記憶したコンピュータ可読記憶媒体を含み、前記プログラムコードに含まれる命令がコンピュータ機器のプロセッサにより実行される時、プロセッサに上記動画移行方法のステップを実現させる。
例えば、本願は以下の項目を提供する。
(項目1)
動画移行方法であって、
初期ソース骨格、初期ターゲット骨格及び初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得することと、
前記ノードマッピング関係に基づいて、前記初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得ることであって、前記最終的なターゲット骨格におけるターゲットノードはいずれも、前記最終的なソース骨格におけるソースノードにマッピング可能である、ことと、
前記初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得ることと、を含む、方法。
(項目2)
前記最終的なターゲット骨格と前記最終的なソース骨格のノードトポロジ構造が一致し、及び/又は、前記最終的なターゲット骨格と前記最終的なソース骨格とのノードが一対一にマッピングされることを特徴とする
項目1に記載の方法。
(項目3)
前記ノードマッピング関係は、前記初期ソース骨格と初期ターゲット骨格におけるノード間のマッピング関係を含み、前記ノード対応関係に基づいて、前記初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得ることは、
2つの骨格の間に、同一のノードにマッピングされる複数のノードがある場合、前記骨格のうちの1つのノードトポロジ構造を更新することと、
前記骨格にマッピング関係のないノードがある場合、前記マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新することと、のうちの少なくとも1つを含み、
前記2つの骨格は、初期ソース骨格と、初期ターゲット骨格とを含み、更新された前記2つの骨格間のノードが一対一にマッピングされることを特徴とする
項目1又は2に記載の方法。
(項目4)
前記マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新することは、
前記マッピング関係のないノードを、マッピング関係のある隣接ノードにマージすることであって、前記隣接ノードは、前記マッピング関係のないノードが位置する骨格における、前記マッピング関係のないノードの親ノード又は子ノードである、ことを含み、
及び/又は、
前記骨格のうちの1つのノードトポロジ構造を更新することは、
前記複数のノードが同一の骨格分岐に位置する場合、前記複数のノードが位置する第1骨格を更新することと、
前記複数のノードが異なる骨格分岐に位置する場合、前記複数のノードを含まない第2骨格を更新することと、を含み、
前記第1骨格と前記第2骨格とのうちの1つは、初期ソース骨格であり、もう1つは、初期ターゲット骨格であることを特徴とする
項目3に記載の方法。
(項目5)
前記複数のノードが位置する第1骨格を更新することは、
前記第1骨格における複数のノードを1つの第1ノードとしてマージすることであって、前記第1ノードは、マージ前の前記複数のノードのマッピング関係を維持する、ことを含み、
及び/又は、前記複数のノードを含まない第2骨格を更新することは、
前記第1骨格から、前記複数のノードが位置する骨格分岐が合流する第2ノードを探し出し、前記第2骨格から、前記第2ノードにマッピングされる第3ノードを探し出すことと、
前記複数のノードに対応するノードトポロジ構造に応じて、前記第3ノードに少なくとも1つの骨格分岐を新規追加することと、を含み、前記複数のノードは、前記第3ノードに新規追加される骨格分岐及びオリジナル骨格分岐におけるノードと一対一にマッピングされることを特徴とする
項目4に記載の方法。
(項目6)
前記初期ソース骨格に関連する第1動画駆動データを前記最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得る前に、前記方法は、
ルートソースノードからリーフソースノードへの順番に応じて、前記最終的なソース骨格における各ソースノードと前記最終的なターゲット骨格における対応してマッピングされるターゲットノードをそれぞれ位置合わせし、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることを更に含み、
前記初期ソース骨格に関連する第1動画駆動データを前記最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得ることは、
前記第1動画駆動データと前記第1位置姿勢変換関係を利用して、前記最終的なターゲット骨格の第2動画駆動データを得ることを含むことを特徴とする
項目1から5のうちいずれか一項に記載の方法。
(項目7)
前記最終的なソース骨格における各ソースノードと前記最終的なターゲット骨格における対応してマッピングされるターゲットノードをそれぞれ位置合わせし、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることは、
前記最終的なソース骨格における各ソースノードに対して、前記ソースノードをマッピングされるターゲットノードに位置合わせするために必要なオフセットを取得することであって、前記オフセットは、並進成分と回転成分とのうちの少なくとも1つを含む、ことと、
前記ソースノードに対応するオフセットに基づいて、前記ソースノードの第1位置姿勢変換関係を得ることと、を含むことを特徴とする
項目6に記載の方法。
(項目8)
前記最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードはいずれも第1座標系の原点に並進し、前記第1位置姿勢変換関係は、前記ソースノードとマッピングされるターゲットノードとの、前記第1座標系における変換関係であり、前記ソースノードに対応するオフセットは、前記ソースノードの第1親ノードが位置合わせされ、かつ前記第1親ノードが第2座標系の原点である場合、前記ソースノードとマッピングされるターゲットノードの、前記第2座標系におけるオフセットであることを特徴とする
項目7に記載の方法。
(項目9)
前記ソースノードをマッピングされるターゲットノードに位置合わせするために必要なオフセットを取得することは、
位置合わせされた前記第1親ノードとルートソースノードとの第2位置姿勢変換関係、及び前記ソースノードのマッピングされるターゲットノードの第2親ノードとルートターゲットノードとの第3位置姿勢変換関係を取得し、前記ソースノード及びマッピングされるターゲットノードの、第1座標系における位置姿勢と、前記第2位置姿勢変換関係と、第3位置姿勢変換関係とに基づいて、前記ソースノードに対応するオフセットを得ることを含み、
及び/又は、
前記ソースノードに対応するオフセットに基づいて、前記ソースノードの第1位置姿勢変換関係を得ることは、
前記ソースノード及び前記ソースノードの上位ノードのそれぞれに対応する前記オフセットに基づいて、前記ソースノードの第1位置姿勢変換関係を得ることであって、前記ソースノードの上位ノードは、前記最終的なソース骨格における前記ソースノードの第1親ノード、ルートソースノード及び前記第1親ノードとルートソースノードとの間のノードである、ことを含むことを特徴とする
項目8に記載の方法。
(項目10)
前記第1動画駆動データは、前記最終的なソース骨格と前記初期ソース骨格とのトポロジ構造差異に基づいて、前記初期ソース骨格のオリジナル動画データに対して調整を行うことで得られたものであり、
及び/又は、
前記最終的なターゲット骨格の第2動画駆動データは、前記第1動画駆動データ及び第1位置姿勢変換関係に基づいて得られたものであり、前記第1位置姿勢変換関係は、最終的なソース骨格のソースノードと最終的なターゲット骨格におけるマッピングされるターゲットノードとの間の変換関係であり、前記最終的なターゲット骨格は、ターゲット対象の骨格であり、前記初期ソース骨格に関連する第1動画駆動データを前記最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得ることは、
前記ターゲット対象における幾何学的メッシュ頂点の第1位置情報、前記第1動画駆動データ及び第1位置姿勢変換関係に基づいて、前記第2動画駆動データにおける、前記幾何学的メッシュ頂点に関する第2位置情報を得ることを含むことを特徴とする
項目1から9のうちいずれか一項に記載の方法。
(項目11)
前記ターゲット対象における幾何学的メッシュ頂点の第1位置情報、前記第1動画駆動データ及び第1位置姿勢変換関係に基づいて、前記第2動画駆動データにおける、前記幾何学的メッシュ頂点に関する第2位置情報を得ることは、
前記幾何学的メッシュ頂点との距離が所定の条件を満たす少なくとも1つのターゲットノードをリファレンスノードとして取得し、前記リファレンスノードの影響重みを得ることと、
前記第1動画駆動データにおける、前記リファレンスノードに関する第4位置姿勢変換関係と前記リファレンスノードに対応する第1位置姿勢変換関係に基づいて、前記リファレンスノードに対応する第5位置姿勢変換関係を得ることと、
前記第1位置情報、各前記リファレンスノードに対応する第5位置姿勢変換関係及び前記影響重みを利用して、前記幾何学的メッシュ頂点の第2位置情報を得ることと、を含むことを特徴とする
項目10に記載の方法。
(項目12)
前記初期ソース骨格を取得することは、
ターゲット対象を含む画像に対して分類を行い、前記ターゲット対象のクラスを得、前記クラスに合致した骨格モデルを前記初期ソース骨格として選択することであって、前記最終的なターゲット骨格は、ターゲット対象の骨格である、ことを含み、
及び/又は、
初期ターゲット骨格を取得することは、
ターゲット対象を含む画像に対して輪郭抽出を行い、前記ターゲット対象の輪郭を得ることと、
前記輪郭を利用して、前記ターゲット対象に対して、三次元メッシュモデルを生成することと、
前記三次元メッシュモデルから、前記初期ターゲット骨格を抽出することと、を含むことを特徴とする
項目1から11のうちいずれか一項に記載の方法。
(項目13)
動画移行装置であって、
初期ソース骨格、初期ターゲット骨格及び前記初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得するように構成される取得モジュールと、
前記ノードマッピング関係に基づいて、前記初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得るように構成されるモデル更新モジュールであって、前記最終的なターゲット骨格におけるターゲットノードはいずれも、前記最終的なソース骨格におけるソースノードにマッピング可能である、モデル更新モジュールと、
前記初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、前記最終的なターゲット骨格の第2動画駆動データを得るように構成される動画移行モジュールと、を備える、動画移行装置。
(項目14)
前記ノードマッピング関係は、前記初期ソース骨格と初期ターゲット骨格におけるノード間のマッピング関係を含み、前記モデル更新モジュールは更に、2つの骨格の間に、同一のノードにマッピングされる複数のノードがある場合、前記骨格のうちの1つのノードトポロジ構造を更新し、前記骨格にマッピング関係のないノードがある場合、前記マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新するように構成され、前記2つの骨格は、初期ソース骨格と、初期ターゲット骨格とを含み、更新された前記2つの骨格間のノードが一対一にマッピングされることを特徴とする
項目13に記載の装置。
(項目15)
前記モデル更新モジュールは更に、
前記マッピング関係のないノードを、マッピング関係のある隣接ノードにマージし、前記隣接ノードは、前記マッピング関係のないノードが位置する骨格における、前記マッピング関係のないノードの親ノード又は子ノードであり、
及び/又は、前記複数のノードが同一の骨格分岐に位置する場合、前記複数のノードが位置する第1骨格を更新し、前記複数のノードが異なる骨格分岐に位置する場合、前記複数のノードを含まない第2骨格を更新するように構成され、前記第1骨格と前記第2骨格とのうちの1つは、初期ソース骨格であり、もう1つは、初期ターゲット骨格であることを特徴とする
項目14に記載の装置。
(項目16)
前記モデル更新モジュールは更に、
前記第1骨格における複数のノードを1つの第1ノードとしてマージし、前記第1ノードは、マージ前の前記複数のノードのマッピング関係を維持し、
及び/又は、前記第1骨格から、前記複数のノードが位置する骨格分岐が合流する第2ノードを探し出し、前記第2骨格から、前記第2ノードにマッピングされる第3ノードを探し出し、前記複数のノードに対応するノードトポロジ構造に応じて、前記第3ノードに少なくとも1つの骨格分岐を新規追加するように構成され、前記複数のノードは、前記第3ノードに新規追加される骨格分岐及びオリジナル骨格分岐におけるノードと一対一にマッピングされることを特徴とする
項目15に記載の装置。
(項目17)
前記動画移行モジュールは更に、ルートソースノードからリーフソースノードへの順番に応じて、前記最終的なソース骨格における各ソースノードと前記最終的なターゲット骨格における対応してマッピングされるターゲットノードをそれぞれ位置合わせし、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得、前記第1動画駆動データと前記第1位置姿勢変換関係を利用して、前記最終的なターゲット骨格の第2動画駆動データを得るように構成されることを特徴とする
項目13から16のうちいずれか一項に記載の装置。
(項目18)
前記動画移行モジュールは更に、前記最終的なソース骨格における各ソースノードに対して、前記ソースノードをマッピングされるターゲットノードに位置合わせするために必要なオフセットを取得し、前記オフセットは、並進成分と回転成分とのうちの少なくとも1つを含み、前記ソースノードに対応するオフセットに基づいて、前記ソースノードの第1位置姿勢変換関係を得るように構成されることを特徴とする
項目17に記載の装置。
(項目19)
前記最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードはいずれも第1座標系の原点に並進し、前記第1位置姿勢変換関係は、前記ソースノードとマッピングされるターゲットノードとの、前記第1座標系における変換関係であり、前記ソースノードに対応するオフセットは、前記ソースノードの第1親ノードが位置合わせされ、かつ前記第1親ノードが第2座標系の原点である場合、前記ソースノードとマッピングされるターゲットノードの、前記第2座標系におけるオフセットであることを特徴とする
項目18に記載の装置。
(項目20)
メモリ及びプロセッサを備える電子機器であって、前記プロセッサは、前記メモリに記憶されているプログラム命令を実行して、項目1から12のうちいずれか一項に記載の方法を実施する、電子機器。
(項目21)
プロセッサにより実行されるときに、前記プロセッサに項目1から12のうちいずれか一項に記載の方法を実施させるためのプログラム命令を記憶した、コンピュータ可読記憶媒体。
(項目22)
プログラムコードを記憶したコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、前記プログラムコードに含まれる命令がコンピュータ機器のプロセッサにより実行されるときに、前記プロセッサに項目1から12のうちいずれか一項に記載の方法を実施させる、コンピュータプログラム製品。
【発明の効果】
【0033】
上記方案において、初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格のトポロジ構造を更新することによって、最終的なターゲット骨格のターゲットノードをいずれも、最終的なソース骨格におけるソースノードにマッピングすることができる。初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、それにより最終的なターゲット骨格の動きを駆動するため、異なる骨格間の動画移行を実現する。また、移行待ちソース骨格とターゲット骨格の間の初期トポロジ構造が完全に一致する必要がないため、骨格間の動画移行の適用性を向上させる。
【0034】
上記の一般的な説明及び後述する細部に関する説明は、例示及び説明のためのものに過ぎず、本願を限定するものではないことが理解されるべきである。
【図面の簡単な説明】
【0035】
【
図1】本願の実施例による動画移行方法のフローチャートである。
【
図2】本願の実施例による動画移行方法におけるマッピング関係の概略図である。
【
図3】本願の実施例による動画移行方法におけるマッピング関係の概略図である。
【
図4】本願の実施例による動画移行方法におけるマッピング関係の概略図である。
【
図5】本願の実施例による動画移行方法のフローチャートである。
【
図6】本願の実施例による動画移行装置の構造概略図である。
【
図7】本願の実施例による電子機器の構造概略図である。
【
図8】本願の実施例によるコンピュータ可読記憶媒体の構造概略図である。
【発明を実施するための形態】
【0036】
ここでの図面は、明細書に引き入れて本明細書の一部を構成し、これらの図面は、本願に適合する実施例を示し、かつ、明細書とともに本願の技術的解決手段を解釈することに用いられる。
【0037】
以下、明細書の図面を参照しながら、本願の実施例の方案を詳しく説明する。
【0038】
下記説明において、本願の実施例を深く理解するために、特定システム構造、インタフェース、技術等の具体的な細部を提出し、これは、本願を解釈するためのものに過ぎず、本願を限定するためのものではない。
【0039】
本明細書において、用語「及び/又は」は、関連対象の関連関係を説明するためのものであり、3通りの関係が存在することを表す。例えば、A及び/又はBは、Aのみが存在すること、AとBが同時に存在すること、Bのみが存在するという3つのケースを表す。なお、本明細書において、文字「/」は一般的には、前後関連対象が「又は」という関係であることを示す。また、本明細書における「複数」は、2つ又は2つより多いことを表す。また、本明細書において、用語「少なくとも1つ」は、複数のうちのいずれか1つ又は複数のうちの少なくとも2つの任意の組み合わせを表す。例えば、A、B、Cのうちの少なくとも1つを含むことは、A、B及びCからなる集合から選ばれるいずれか1つ又は複数の要素を含むことを表す。
【0040】
関連技術における動画移行技術は、既存の骨格モデルと新たな骨格モデルのトポロジ構造が完全に一致することが求められ、即ち、2つの骨格モデルのトポロジ構造が完全に一致した場合のみ、動画移行が実現可能である。しかしながら、新たな骨格モデルの形式が多様であり、各種の骨格モデルに対して、いずれも、トポロジ構造が全く同じである、動画データを有する骨格モデルを構築することができないことにより、関連技術における動画データを有する既存の骨格モデルの適用性が低い。
【0041】
上記方案に存在する欠陥はいずれも、発明者らが実践及び鋭意検討した後に得られた結果である。従って、上記問題点の発見過程及び下記記述における本願が上記問題点に対して提出する解決手段は、いずれも発明者らが開示中に本願に与える寄与であるはずである。
【0042】
図1を参照すると、
図1は、本願の実施例による動画移行方法のフローチャートである。動画移行方法は、以下のステップを含んでもよい。
【0043】
ステップS11において、初期ソース骨格、初期ターゲット骨格及び初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得する。
【0044】
ここで、初期ソース骨格は、動画駆動データを付帯する骨格であり、初期ターゲット骨格は、動画駆動データを付帯していない骨格である。ここで、本願の実施例による動画移行方法は、実際に、初期ソース骨格により付帯される動画駆動データを初期ターゲット骨格に移行し、初期ターゲット骨格を動画駆動データに応じて動きするように駆動することを目的とする。
【0045】
初期ソース骨格と初期ターゲット骨格は、いずれも、複数のノードで構築されたものと見なされてもよい。初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係は、2つの骨格のノード間の対応関係である。
【0046】
ステップS12において、ノードマッピング関係に基づいて、初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得、ここで、最終的なターゲット骨格におけるターゲットノードはいずれも、最終的なソース骨格におけるソースノードにマッピング可能である。
【0047】
初期ソース骨格のトポロジ構造と初期ターゲット骨格のトポロジ構造は、異なる可能性がある。例えば、初期ソース骨格に、初期ターゲット骨格とマッピング関係が構築されていない冗長ノードが存在し、初期ターゲット骨格にも同様に、初期ソース骨とマッピング関係が構築されていない冗長ノードが存在する可能性がある。この場合、初期ソース骨格と初期ターゲット骨格に対して更新を行わず、初期ソース骨格により付帯される動画駆動データを初期ターゲット骨格に直接的に移行すれば、初期ターゲット骨格の動画駆動効果と初期ソース骨格の動画駆動効果との差異が大きいことを引き起こし、元の動画移行の目的を実現できない可能性がある。
【0048】
従って、本願の実施例は、両者間のノードマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格のトポロジ構造を更新することによって、最終的なターゲット骨格のターゲットノードをいずれも、最終的なソース骨格におけるソースノードにマッピングすることができる。
【0049】
ステップS13において、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得る。
【0050】
ここで、最終的なソース骨格のトポロジ構造と初期ソース骨格のトポロジ構造が一致すれば、初期ソース骨格に関連する第1動画駆動データは、初期ソース骨格の動画駆動データと同じである。最終的なソース骨格のトポロジ構造が更新されていれば、最終的なソース骨格の第1動画駆動データは、初期ソース骨格の動画駆動データと異なる。無論、最終的なソース骨格の第1動画駆動データは、そのトポロジ構造の変化に応じて、変わってもよい。例えば、初期ソース骨格のソースノードAとその子ノードBが1つのノードCに融合され、最終的なソース骨格のトポロジ構造を得る場合、最終的なソース骨格におけるノードCの動画データは、ソースノードAとその子ノードBの動画データの融合であってもよい。無論、他の実施例において、2つのソースノードがマージされる場合、2つのソースノードにおける子ノードの動画駆動データを削除してもよい。
【0051】
上記方案において、初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格のトポロジ構造を更新することによって、最終的なターゲット骨格のターゲットノードをいずれも、最終的なソース骨格におけるソースノードにマッピングすることができる。初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、それにより最終的なターゲット骨格の動きを駆動するため、異なる骨格間の動画移行を実現する。また、移行待ちソース骨格とターゲット骨格の間の初期トポロジ構造が完全に一致する必要がないため、骨格間の動画移行の適用性を向上させる。
【0052】
本願のいくつかの実施例において、初期ソース骨格を取得する方式は、ターゲット対象を含む画像に対して分類を行い、ターゲット対象のクラスを得、クラスに合致した骨格モデルを初期ソース骨格として選択することであってもよい。ここで、最終的なターゲット骨格は、ターゲット対象の骨格である。本願の実施例は、予測タグマッピングを用いてもよく、データセットタグマッピングを用いてもよい。両者の相違点は以下のとおりである。予測タグマッピングによるターゲット対象の分類結果がターゲット対象の予測骨格トポロジ構造タイプを含み、例えば、予測骨格トポロジ構造タイプは、2足、4足などを含む。つまり、予測タグマッピングのプロセスにおいて、主に、ターゲット対象の骨格トポロジ構造特徴を予測する。データセットタグマッピングによる分類結果は、入力画像におけるターゲット対象の具体的な種類を提供する必要がある。例えば、ターゲット対象は、猫、犬、パンダ、クマなどである。本願の実施例は、予測タグマッピングを用いる。応用プロセスにおいて、ターゲット対象がパンダであり、予測タグマッピングにより提供されるターゲット対象のクラスが4足であり、クラスに合致した骨格モデルを初期ソース骨格として選択する。選択された初期ソース骨格が4足のクマであれば、クマがパンダと異なるが、実際にほぼ同じの骨格トポロジ構造を有する。従って、クマの動画駆動データをパンダに移行しても、っ自然かつ合理的な形式で出現することもできる。つまり、予測タグマッピングによれば、完全に正確なターゲット対象のクラスを得ることができないが、最終的なターゲット骨格に対する駆動にも影響を及ぼさない。それと同時に、予測タグマッピングにおいて、ターゲット対象の具体的なクラスを更に取得しないため、計算コストを低減させる。
【0053】
初期ターゲット骨格を取得する方式は、ターゲット対象を含む画像に対して輪郭抽出を行い、ターゲット対象の輪郭を得ることであってもよい。ここで、輪郭抽出の方式は、ターゲット分割を行い、明瞭なターゲット対象の輪郭をえることであってもよい。輪郭を利用して、ターゲット対象に対して、三次元メッシュモデルを生成する。一般的には、ターゲット対象の輪郭を多辺形に簡略化し、三角形分割を用いて、対応する二次元の三角形メッシュをえる。続いて、三角形法線方向に沿って二次元の三角形から、三次元メッシュモデルを押し出す。三次元メッシュモデルから、初期ターゲット骨格を抽出する。本願のいくつかの実施例において、平均曲率法を用いて、三次元メッシュから、初期ターゲット骨格を抽出してもよい。ここで、初期ターゲット骨格を抽出した後、抽出された初期ターゲット骨格が解剖構造を満たすかどうか、差が大きすぎるかどうかを判断する。例えば、骨格トポロジ構造において、連続した、長さの差が大きすぎる骨格に対して再サンプリングを行い、長さが均一である骨格トポロジ構造を得る。例えば、連続した3つの骨格ノードがA、B、Cであり、ここで、ノードAとノードBとの間の骨格長さが2メートルであり、ノードBとノードとの間の骨格長さが0.1メートルであるため、ノードAからCの間の骨格に対して再サンプリングを行うことで、ノードAとノードBとの間の骨格長さを1.05メートルにし、ノードAとノードBとの間の骨格長さを1.05メートルにすることができる。無論、ノードAからCの間に新たなノードを追加することによって、隣接するノード間の骨格長さを短縮することもできる。同様に、隣接するノード間の骨格長さが短すぎて、一般的な解剖構造に合致しないと、そのうちの一部のノードをマージし、ノード数を減少させることによって、隣接するノード間の骨格構造を増加する。
【0054】
本願のいくつかの実施例において、初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得する方式は、複数である。
【0055】
例えば、初期ソース骨格と初期ターゲット骨格における各ノードが位置する骨格分岐の数を決定する。骨格分岐の数の多い順に応じて、初期ソース骨格と初期ターゲット骨格におけるノードに対して順にマッピングを行う。位置する骨格分岐の数が最も多いノードは、一般的には、ルートノードと呼ばれる。ここで、ノードが位置する骨格分岐の数を度数と呼ぶ。つまり、まず、2つの骨格における度数が大きいノード間のマッピング関係を構築し、更に、度数が小さいノード間のマッピング関係を構築する。又は、骨格分岐マッピング誤差値が最も小さいという原則を用いてマッピングを行ってもよい。ここで、初期ソース骨格と初期ターゲット骨格とのノード数が異なると、コストが最も低い最小の多対一のマッピングを用いる。例えば、多対一又はスキップマップングが発生したシーケンスにおいて、一対一の結合マッチングを実行するという方式で、マッピングを行ってもよい。
【0056】
本願のいくつかの実施例において、以下の方式を用いて、マッピング関係が構築されていないノードに対して、マッピング関係を構築してもよい。
【0057】
例えば、現在ソースノードに1つのみの子ノードがある場合、つまり、現在ソースノードが骨格分岐の合流点ではない場合、その子ノードのマッピング関係を参照してもよい。例えば、その子ノードとのマップング関係を有するターゲットノード間のマッピング関係を構築する。又は、現在ソースノードが骨格分岐の合流点である場合、複数の骨格分岐のノードに基づいてマージを行い、上限ノードを除去する。また例えば、上記如何なる条件も満たさない場合、初期ターゲット骨格のルートノードをマッピングすると黙認される。無論、本願のいくつかの実施例において、骨格分岐の数の多い順に応じて、両者間のマッピング関係を得た後、マップングのための対応するターゲットノードが存在しないソースノードについて、マップング関係を更に構築しなくてもよい。
【0058】
ターゲット対象のクラスを取得し、クラスに合致した骨格モデルから、初期ソース骨格を選択することで、便利で迅速である。骨格分岐の数の多い順に応じて、初期骨格と初期ターゲット骨格におけるノードに対して順にマッピングを行うことで、マッピングの正確度を向上させることができる。
【0059】
本願のいくつかの実施例において、最終的なターゲット骨格と最終的なソース骨格のノードトポロジ構造が一致し、及び/又は、最終的なターゲット骨格と最終的なソース骨格とのノードが一対一にマッピングされる。つまり、最終的なターゲット骨格と最終的なソース骨格のノードトポロジ構造は、2種の形式がある可能性がある。1つは、最終的なターゲット骨格と最終的なソース骨格のノードトポロジ構造が完全に一致すうことである。もう1つは、最終的なターゲット骨格におけるノードについて、これに対応する最終的なソース骨格におけるノードがいずれも存在するが、最終的なソース骨格において、マッピング関係が構築されていないいくつかのノードが存在することである。即ち、動画が移行された後に、最終的なターゲット骨格におけるノードに、いずれも対応する動画駆動データがあることを確保する必要がある。
【0060】
本願のいくつかの実施例において、ノードマッピング関係は、初期ソース骨格と初期ターゲット骨格におけるノード間のマッピング関係を含む。
【0061】
ノード対応関係に基づいて、初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得ることは、以下の少なくとも1つを含む。
【0062】
1つ目は、2つの骨格の間に、同一のノードにマッピングされる複数のノードがある場合、そのうちの1つの骨格のノードトポロジ構造を更新することである。ここで、2つの骨格は、初期ソース骨格と初期ターゲット骨格を含み、更新された2つの骨格間のノードは、一対一にマッピングされる。骨格のノードトポロジ構造を更新することで、2つの骨格間の複数のノードが同一のノードにマッピングされることを2つの骨格間のノードの一対一のマッピングに調整し、更に、後続の最終的なターゲット骨格の動画駆動プロセスにおいて合理的ではない状況の出現を減少させる。
【0063】
本願のいくつかの実施例において、そのうちの1つの骨格のノードトポロジ構造を更新することは、更に、複数のケースに分けられる。第1ケースにおいて、複数のノードが同一の骨格分岐に位置する場合、複数のノードが位置する第1骨格を更新する。ここで、第1骨格と第2骨格のうちの1つは、初期ソース骨格であり、もう1つは、ターゲット骨格である。複数のノードが位置する第1骨格を更新することで、2つの骨格間の複数のノードが同一のノードにマッチングされることを2つの骨格間のノードが一対一にマッピングされることに調整し、更に、後続の最終的なターゲット骨格の動画駆動プロセスにおいて合理的ではない状況の出現を減少させる。
【0064】
本願のいくつかの実施例において、複数のノードが位置する第1骨格を更新する方式は、1つの骨格における複数のノードを1つの第1ノードとしてマージすることであってもよい。ここで、第1ノードは、マージ前の複数のノードのマッピング関係を維持する。そして、第1ノードの位置は、全てのマージされるノードの位置の平均値である。それと同時に、
図2を参照すると、
図2は、本願の実施例による動画移行方法におけるマッピング関係の概略図である。
図2に示すように、初期ターゲット骨格における2番目のノード201と3番目のノード202が同時に初期ソース骨格における2番目のノード211にマッピングされる場合、初期ターゲット骨格における2番目のノード201と3番目のノード202を1つの第1ノードにマージする。ここで、第1ノードの位置は、初期ターゲット骨格における2番目のノード201と3番目のノード202の位置の平均値である。ここで、第1骨格が初期ソース骨格である場合、初期ソース骨格におけるノードが動画駆動データを付帯しているため、ノードがマージされた後、第1ノードの動画駆動データを取得する必要がある。この場合、マージされる全てのノードの動画駆動データをマージしてもよい。本願のいくつかの実施例において、動画駆動データは、一般的には、行列で表される。行列のマージは、行列乗算によって表されてもよい。即ち、動画駆動データを乗算することで、第1ノードの動画駆動データを得ることができる。第2ケースにおいて、複数のノードが異なる骨格分岐に位置する場合、複数のノードを含まない第2骨格を更新する。ここで、第1骨格と第2骨格のうちの1つは、初期ソース骨格であり、もう1つのターゲット骨格である。本願のいくつかの実施例において、第1骨格から、複数のノードが位置する骨格分岐が合流する第2ノードを探し出す。具体的には、親ノードを順にトラバースし、第2ノードを得る。第2骨格から、第2ノードにマッピングされる第3ノードを探し出す。続いて、複数のノードに対応するノードトポロジ構造を探し、第3ノードに少なくとも1つの骨格分岐を新規追加する。本願の実施例において、1つのノードの親ノードは、1つの骨格分岐において、該ノードに隣接し、かつ該ノードよりもルートノードに近いノードである。ここで、複数のノードは、第3ノードで新規追加される骨格分岐及びオリジナル骨格分岐におけるノードと一対一にマッピングされる。ここで、新規追加された骨格分岐は、オリジナル骨格分岐をコピーしたものであってもよい。コピーしたコンテンツは、動画データ、及び該ノードとその親ノードとの間の変換関係を含む。例えば、オリジナル骨格分岐に3つのノードが含まれば、新規追加された骨格分岐にも3つのノードが含まれ、かつ新規追加された骨格分岐における3つのノードの動画駆動データは、オリジナル骨格分岐における対応するノードの動画データをコピーすることで得られたものである。それと同時に、
図3を参照すると、
図3は、本願の実施例による動画移行方法におけるマッピング関係の概略図である。
図3に示すように、左側のノードトポロジ構造は、初期ソース骨格のノードトポロジ構造であり、右側のノードトポロジ構造は、初期ターゲット骨格のノードトポロジ構造である。
図3において、初期ターゲット骨格の1番目のノード301は、初期ソース骨格の1番目のノード311にマッピングされ、初期ターゲット骨格の2番目のノード302は、初期ソース骨格の2番目のノード312にマッピングされ、初期ターゲット骨格の2番目のノード302では、2つの分岐、即ち左分岐と右分岐を含み、左分岐における1番目のノード3021と右分岐における1番目のノード3022は、初期ソース骨格の3番目のノード313にマッピングされ、左分岐における2番目のノード3023と右分岐における2番目のノード3024は、初期ソース骨格の4番目のノード314にマッピングされる。従って、初期ターゲット骨格における2つのノードが初期ソース骨格の3番目のノード313にマッピングされ、且つこれら2つのノードが異なる分岐に属し、そして、初期ターゲット骨格における2つのノードが初期ソース骨格の4番目のノード314にマッピングされ、且つこれ2つのノードが異なる分岐に属することが発生した。ここで、これら2つの分岐は、初期ターゲット骨格の2番目のノード302で合流する。初期ソース骨格から、初期ターゲット骨格にマッピングされる2番目のノード302を2番目のノードとして探し出す。初期ターゲット骨格のこれら2つのノードに対応するノードトポロジ構造に応じて、初期ソース骨格の2番目のノードで、1つの骨格分岐を新規追加する。ここで、新規追加された1つの骨格分岐におけるノードは、2つである。この場合、初期ターゲット骨格における全てのノードは、いずれも、初期ソース骨格におけるノードに一対一に対応する。従って、このような方式で、ノードの一対一のマッピングを実現する場合、第1骨格のノードトポロジ構造も最大限に維持できる。
【0065】
2つ目は、骨格にマッピング関係のないノードがある場合、マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新することである。ここで、2つの骨格は、初期ソース骨格と、初期ターゲット骨格とを含み、更新された2つの骨格間のノードが一対一にマッピングされる。マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新することで、マッピング関係のないノードを減少させ、更新された2つの骨格間のノードを一対一にマッピングさせることによって、後続で最終的なターゲット骨格の動画駆動プロセスにおいて合理的ではない状況の出現を減少させる。本願のいくつかの実施例において、マッピング関係のないノードを、マッピング関係のある隣接ノードにマージする。ここで、隣接ノードは、マッピング関係のないノードが位置する骨格における、マッピング関係のないノードの親ノード又は子ノードである。本願の実施例において、マッピング関係のないノードをその親ノードにマージする。
図4を参照すると、
図4は、本願の実施例による動画移行方法におけるマッピング関係の概略図である。
図4に示すように、初期ターゲット骨格の1番目のノード401は、初期ソース骨格の1番目のノード411にマッピングされ、初期ターゲット骨格の2番目のノード402は、初期ソース骨格の3番目のノード413にマッピングされ、初期ターゲット骨格の3番目のノード403は、初期ソース骨格の4番目のノード414にマッピングされる。ここで、初期ソース骨格の2番目のノード412は、マッピング関係を有しない。初期ソース骨格の2番目のノード412をその親ノードにマージし、つまり、初期ソース骨格の1番目のノード401にマージしてもよい。無論、初期ソース骨格におけるノードマージは、いずれも、動画駆動データ間のマージを伴う。
【0066】
本願のいくつかの実施例において、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得る前に、最終的なソース骨格と最終的なターゲット骨格との第1位置姿勢変換関係を決定する必要がある。実施時、ルートソースノードからリーフソースノードへの順番に応じて、最終的なソース骨格における各ソースノードと最終的なターゲット骨格における対応してマッピングされるターゲットノードをそれぞれ位置合わせし、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得る。上記実施例に記載したように、ルートノードは、位置する骨格分岐の数が最も多いノードであるため、ルートソースノードは、最終的なソース骨格におけるルートノードである。同様に、ルートターゲットノードは、最終的なターゲット骨格のルートノードである。ここで、リーフノードは、親ノードを有するが、子ノードを有しないノードである。リーフソースノードは、最終的なソース骨格におけるリーフノードであり、リーフターゲットノードは、最終的なターゲット骨格におけるリーフノードである。即ち、まず、ルートソースノード及びルートソースノードとマッピング関係のあるルートターゲットノードを位置合わせする。続いて、ルートソースノードに接続されるリーフソースノード及び該リーフソースノードとはマッピング関係のあるリーフターゲットノードを位置合わせする。このように類推して、最終的なターゲット骨格における全てのノードと最終的なソース骨格のノードがいずれも一対一に位置合わせされるまで継続する。ここで、該ソースノードについて、ターゲット骨格において対応するターゲットノードが存在しない場合、該ソースノードをスキップし、直接的に次のソースノードの位置合わせを行ってもよい。無論、他の実施例において、該ソースノードについて、ターゲット骨格において対応するターゲットノードが存在しない場合、該ソースノードをその隣接する親ノード又は子ノードにマージし、該親ノード又は子ノードのマッピング関係を維持し、マージされたソースノードと対応するターゲットノードを位置合わせする。ソースノードとターゲットノードとの位置合わせを行うことで、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることができ、それにより第1動画駆動データと第1位置姿勢変換関係を利用して、最終的なターゲット骨格の第2動画駆動データを得ることを実現する。
【0067】
本願のいくつかの実施例において、最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードはいずれも第1座標系の原点に並進する。続いて、最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードを位置合わせする。本願のいくつかの実施例において、最終的なターゲット骨格のルートターゲットノードを直接的に第1座標系の原点としてもよい。第1位置姿勢変換関係は、ソースノードとマッピングされるターゲットノードの、第1座標系における変換関係である。最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードがいずれも第1座標系の原点に並進することで、最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードとのオフセットを取得することができる。
【0068】
本願のいくつかの実施例において、最終的なソース骨格における各ソースノードについて、ソースノードをマッピングされるターゲットノードに位置合わせするために必要なオフセットを取得する。ここで、オフセットは、並進成分と回転成分を含む。並進成分にスケーリング成分が含まれる。続いて、ソースノードに対応するオフセットに基づいて、ソースノードの第1位置姿勢変換関係を得る。オフセットが並進成分と回転成分を含むことによって、取得された第1位置姿勢変換関係をより正確にする。ここで、ソースノードに対応するオフセットは、ソースノードの第1親ノードが位置合わせされ、かつ第1親ノードが第2座標系の原点である場合、ソースノードとマッピングされるターゲットノードの、第2座標系におけるオフセットである。ここで、第1座標系及び第2座標系が出現した。ルートソースノードとルートターゲットノードが既に第1座標系の原点に移動しており、即ち、第1座標系がルートターゲットノードを原点とした座標系である。ノードトポロジ構造において、ルートソースノードとルートターゲットノード以外、全てのリーフソースノードとリーフターゲットノードは、いずれも対応する親ノードを有する。且つ各リーフノードは多くとも1つの親ノードを有する。1つのリーフノードが複数の親ノードに対応するというケースが存在しない。第2座標系は、リーフノードの親ノードを座標系の原点とした座標系である。ここで、第1座標系は、ワールドスペースと見なされてもよく、第2座標系は、ローカルスペースと見なされてもよい。最終的なソース骨格におけるあるノードにとって、ワールドスペースは、ルートソースノードを原点とした座標系であり、ローカルスペースは、該ノードの親ノードを原点とした座標系である。
【0069】
本願のいくつかの実施例において、位置合わせされた第1親ノードとルートソースノードとの第2位置姿勢変換関係、及びソースノードがマッピングされるターゲットノードの第2親ノードとルートターゲットノードとの第3位置姿勢変換関係を取得する。ソースノード及びマッピングされるターゲットノードの、第1座標系における位置姿勢と、第2位置姿勢変換関係と、第3位置姿勢変換関係とに基づいて、ソースノードに対応するオフセットを得る。ここで、ここの位置姿勢は、位置と回転を含む。
【0070】
実施時、式(1)と(2)を用いて、最終的なソース骨格と最終的なターゲット骨格とのノードを位置合わせしてもよい。
【0071】
【0072】
【0073】
ここで、
【0074】
【0075】
は、ソースノードiの親ノードインデックスであり、
【0076】
【0077】
は、位置合わせされた第1親ノードとルートソースノードとの第2位置姿勢変換関係を表し、
【0078】
【0079】
は、ソースノードがマッピングされるターゲットノードの第2親ノードとルートターゲットノードとの第3位置姿勢変換関係を表し、
【0080】
【0081】
は、ソースノードiの、第1座標系における位置姿勢であり、
【0082】
【0083】
は、ソースノードがマッピングされるターゲットノードの、第1座標系における位置姿勢であり、
【0084】
【0085】
は、括弧内のコンテンツを反転することであり、
【0086】
【0087】
は、第2座標系において、ソースノードとターゲットノードとの位置合わせのオフセットである。
【0088】
【0089】
は、ルートソースノードとルートターゲットノードとの位置合わせのオフセットである。上記式(1)と式(2)を交互に解く。ここで、公式(1)により求められれる
【0090】
【0091】
は、その子ノードの第2位置姿勢変換関係とする。即ち、上記式(2)により求められる
【0092】
【0093】
を式(1)に代入して
【0094】
【0095】
を求め、続いて、式(1)により求められる
【0096】
【0097】
を式(2)に代入して次のノードの
【0098】
【0099】
を求めることによって、式(1)と式(2)を交互に解くことを実現させる。
【0100】
ソースノードに対応するオフセットに基づいて、ソースノードの第1位置姿勢変換関係を得る。本願のいくつかの実施例において、ソースノード及びソースノードの上位ノードのそれぞれに対応するオフセットに基づいて、ソースノードの第1位置姿勢変換関係を得る。ここで、ソースノードの上位ノードは、最終的なソース骨格におけるソースノードの第1親ノード、ルートソースノード及び第1親ノードとルートソースノードとの間のノードである。ここで、オフセットはいずれも行列で表されてもよい。本願のいくつかの実施例において、ソースノード及びソースノードの上位ノードのそれぞれに対応するオフセットに対して行列乗算を行うことで、ソースノードの第1位置姿勢変換関係を得ることができる。
【0101】
本願のいくつかの実施例において、最終的なターゲット骨格の第2動画駆動データは、第1動画駆動データ及び第1位置姿勢変換関係に基づいて得られたものである。上記実施例に記載したように、第1位置姿勢変換関係は、最終的なソース骨格のソースノードと最終的なターゲット骨格におけるマッピングされるターゲットノードとの間の変換関係である。ここで、最終的なターゲット骨格は、ターゲット対象の骨格である。ここで、第1動画駆動データは、最終的なソース骨格と初期ソース骨格とのトポロジ構造差異に基づいて、初期ソース骨格のオリジナル動画データに対して調整を行うことで得られたものである。最終的なソース骨格のトポロジ構造と初期ソース骨格のトポロジ構造が一致する場合、初期ソース骨格に関連する第1動画駆動データは、初期ソース骨格の動画駆動データと同じである。最終的なソース骨格のトポロジ構造と初期ソース骨格が異なる場合、ソース骨格が更新されていても、最終的なソース骨格の第1動画駆動データは、初期ソース骨格の動画駆動データと異なる。ここで、最終的なソース骨格の第1動画駆動データは、最終的なソース骨格と初期ソース骨格とのトポロジ構造差異に基づいて決定されてもよい。つまり、最終的なソース骨格の第1動画駆動データは、そのトポロジ構造の変化に応じて、変わってもよい。例えば、初期ソース骨格のソースノードAとその子ノードBが1つのノードCに融合され、最終的なソース骨格のトポロジ構造を得る場合、最終的なソース骨格におけるノードCの動画データは、ソースノードAとその子ノードBの動画データの融合であってもよい。無論、他の実施例において、2つのソースノードがマージされる場合、2つのソースノードにおける子ノードの動画駆動データを削除してもよい。初期ソース骨格に関連する第1動画駆動データを得る方式について、ここで限定しない。
【0102】
ここで、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得る方式は、
ターゲット対象における幾何学的メッシュ頂点の第1位置情報、第1動画駆動データ及び第1位置姿勢変換関係に基づいて、第2動画駆動データにおける、幾何学的メッシュ頂点に関する第2位置情報を得ることを含む。ここで、第1位置情報、第1動画駆動データ及び第1位置姿勢変換関係は、行列で表されてもよい。行列乗算により、幾何学的メッシュ頂点の第2位置情報を得ることができる。ターゲット対象における幾何学的メッシュ頂点の第1位置情報、第1動画駆動データ及び第1位置姿勢変換関係を結合することで、第2動画駆動データにおける、幾何学的メッシュ頂点に関する第2位置情報を得ることができ、プロセスが便利である。
【0103】
ここで、初期ソース骨格に関連する第1動画駆動データを利用して、最終的なターゲット骨格の動きを駆動する前に、骨格スキニングを行う必要がある。ここで、骨格スキニングの一般的な方法が多く、ここで一々列挙しない。本願のいくつかの実施例において、1つの幾何学的メッシュ頂点が複数のターゲットノードによる影響を受ける場合、幾何学的メッシュ頂点に対する各ターゲットノードの影響重みを計算する必要がある。ここで、線形ハイブリッドスキニング方法を用いてもよい。標準的な線形ハイブリッドスキニングにおいて、作成ツールを用いて、各頂点に対して、頂点に影響を及ぼすことができる1組のターゲットノードに対応する重みを割り当てる。無論、他の実施例において、ヒートバランス方法で重みを決定してもよい。例えば、頂点に影響を及ぼすノード温度を1とし、頂点に影響を及ぼさないノード温度を0とし、続いて、メッシュ表面のヒートバランスの問題を解決する。
【0104】
本願のいくつかの実施例において、幾何学的メッシュ頂点との距離が所定の条件を満たす少なくとも1つのターゲットノードをリファレンスノードとして取得し、リファレンスノードの影響重みを得る。実施時、1つの頂点が複数のノードによる影響を受ける可能性があるが、現在のグラフィックスプロセッサ(Graphics Processing Unit:GPU)により最終的にサポートされる、単一の頂点に影響を及ぼすノード数が4であり、即ち、1つの頂点は多くとも4つのノードによる影響を受ける。ここで、これら4つのノードの影響重みの和は、1である。頂点に影響を及ぼすリファレンスノードの数が4よりも大きいことが算出された場合、各影響重みを順序付け、最も高い4つの重みに対応するノードをリファレンスノードとして選択し、これら4つのリファレンスノードの影響重みを再計算し、これら4つのリファレンスノードの影響重みの和を1にする。
【0105】
ここで、式(3)を用いて、メッシュ表面のヒートバランスの問題を解決することができる。
【0106】
【0107】
ここで、ノードiが所定の条件を満たす場合、piは1に等しく、そうでなければ、0である。
【0108】
【0109】
は、離散表面におけるラプラス演算子である。Hは、対角行列である。ここで、Hは、一般的にはc/dに等しく、cの値は、0.22又は1などであってもよく、dは、ノードiと頂点との距離であり、Hの目的は、重み係数と、骨格と頂点との距離と、を反比例にすることである。このような方式で、リファレンスノードの重みを得ることができる。
【0110】
第1動画駆動データにおける、リファレンスノードに関する第4位置姿勢変換関係とリファレンスノードに対応する第1位置姿勢変換関係に基づいて、リファレンスノードに対応する第5位置姿勢変換関係を得る。続いて、第1位置姿勢変換関係及びソースノードの第4位置姿勢変換関係に基づいて、リファレンスノードの第5位置姿勢変換関係を得る。ここで、ここのリファレンスノードに関する第4位置姿勢変換関係は、動画キーフレームに付帯されているソース骨格の各ノードの変換関係であってもよく、例えば、ソースノードと其親ノードとの間の変換関係であってもよい。ソースノードとルートソースノードとの全ての隣接ノード間の変換関係を乗算し、ソースノードとターゲットノードとの第1位置姿勢変換関係を結び付けることで、ターゲットノードの第5位置姿勢変換関係を得ることができる。第4位置姿勢変換関係は、並進及び/又は回転を含む。
【0111】
第1位置情報、各リファレンスノードに対応する第5位置姿勢変換関係及び影響重みを利用して、幾何学的メッシュ頂点の第2位置情報を得る。頂点に対するリファレンスノードの影響重みを考慮することで、取得された幾何学的メッシュ頂点の第2位置情報をより正確にする。
【0112】
式(4)で幾何学的メッシュ頂点の第2位置情報V2を決定してもよい。
【0113】
【0114】
【0115】
は、リファレンスノードjの影響重みであり、
【0116】
【0117】
は、リファレンスノードjの第5位置姿勢変換関係であり、V1は、幾何学的メッシュ頂点の、静止姿勢時の第1位置情報である。
【0118】
本願の実施例による動画移行方法をより良く理解するために、以下の例を参照する。
図5を参照すると、
図5は、本願の実施例による動画移行方法のフローチャートである。
【0119】
図5に示すように、本願の実施例による動画移行方法は、以下のステップを含む。
【0120】
ステップS21において、ターゲット対象を含む画像を取得する。
【0121】
ここで、取得方式は、製図ツール、3Dモデリングツール又はカメラによる撮影、他の機器による通信伝送により得られることなどであってもよい。ターゲット対象を含む画像は、2D画像であってもよく、3D画像であってもよい。ここで限定しない。
【0122】
ステップS22において、ターゲット対象輪郭を抽出する。
【0123】
ここで、ターゲット対象輪郭を抽出する方式は多く、例えば、ターゲット分割、又は、まずターゲット検出を行い、次にターゲット抽出を行うなどの方式であってもよい。画像から必要なターゲット対象を抽出できる如何なる方式であってもよく、ここで限定しない。
【0124】
ステップS23において、三角形分割を行う。
【0125】
ターゲット対象に対して三角形分割を行うことで、二次元の三角形メッシュを得ることができる。それにより、二次元の三角形メッシュを利用して三次元メッシュモデルを得ることができる。実現方式は、上記実施例における三次元メッシュの取得方式を参照する。
【0126】
ステップS24において、初期ターゲット骨格を抽出する。
【0127】
ここで、三次元メッシュモデルから初期ターゲット骨格を抽出する方式は、上記実施例における記述を参照する。
【0128】
ステップS25において、ターゲット対象を含む画像に対して分類を行う。
【0129】
ここで、ターゲット対象を含む画像に対して分類を行う方式は、上記実施例における記述を参照する。ここで、動画移行にかかる時間を節約するために、ステップS25とステップS22は同期して実行してもよい。
【0130】
ステップS26において、初期ソース骨格を選択する。
【0131】
ここで、ターゲット対象を含む画像に対して分類を行うことで、ターゲット対象のクラスを得、該クラスから、初期ソース骨格を選択することができる。
【0132】
ステップS27において、骨格マッピング及び骨格位置合わせを行う。
【0133】
ここで、骨格マッピングは、主に、初期ソース骨格と初期ターゲット骨格とのマッピング関係を取得するためのものであり、骨格位置合わせは、両者間のマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格を更新することである。
【0134】
ステップS28において、骨格スキニングを行う。
【0135】
ここで、骨格スキニングは、主に、幾何学的メッシュ頂点とターゲットノードとの関係を取得するためのものである。幾何学的メッシュ頂点とターゲットノードとの影響重みを決定する。影響重みの取得の実現プロセスは、上記実施例における記述を参照する。
【0136】
ステップS29において、第1動画駆動データを取得する。
【0137】
キーフレームに第1動画駆動データが記憶されている。キーフレームにおけるデータを読み取ることで、第1動画駆動データを得ることができる。ここで、ソース骨格のトポロジ構造が変更した場合、動画駆動データを変更する必要もある。動画駆動データの方式は、上記実施例に記載したとおりである。
【0138】
ステップS30において、動画移行後の各幾何学的メッシュ頂点の位置情報を決定する。
【0139】
ここで、ここの位置情報は、上記第2位置情報である。ここで、動画移行後の各幾何学的メッシュ頂点の第2位置情報の取得プロセスは、上記実施例における記述を参照する。
【0140】
上記方案において、初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格のトポロジ構造を更新することによって、最終的なターゲット骨格のターゲットノードをいずれも、最終的なソース骨格におけるソースノードにマッピングすることができる。初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、それにより最終的なターゲット骨格の動きを駆動するため、異なる骨格間の動画移行を実現する。また、移行待ちソース骨格とターゲット骨格の間の初期トポロジ構造が完全に一致する必要がないため、骨格間の動画移行の適用性を向上させる。
【0141】
具体的な実施形態の上記方法において、各ステップの記述順番は、厳しい実行順番を意味して実施プロセスを何ら限定するものではなく、各ステップの具体的な実行順番はその機能及び可能な内在的論理により決まることは、当業者であれば理解すべきである。
【0142】
動画移行方法の実行主体は、動画移行装置であってもよい。例えば、動画移行方法は、端末機器、サーバ又は他の処理機器により実行されてもよい。ここで、端末機器は、ユーザ機器(User Equipment:UE)、携帯機器、ユーザ端末、端末、セルラ電話、コードレス電話、パーソナルデジタルアシスタント(Personal Digital Assistant:PDA)、ハンドヘルドデバイス、コンピューティングデバイス、車載機器、ウェアブル機器及び自動運転自動車、測位及びマッピング需要を有するロボット、レジストレーション需要を有する医療イメージングシステム、拡張実現又は仮想現実用のメガネ、ヘルメットなどの製品などであってもよい。いくつかの可能な実現形態において、該動画移行方法は、プロセッサによりメモリに記憶されているコンピュータ可読命令を呼び出すことで実現してもよい。
【0143】
図6を参照すると、
図6は、本願の実施例による動画移行装置の構造概略図である。動画移行装置30は、取得モジュール31と、モデル更新モジュール32と、動画移行モジュール33とを備える。取得モジュール31は、初期ソース骨格、初期ターゲット骨格及び初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得するように構成され、モデル更新モジュール32は、ノードマッピング関係に基づいて、初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得るように構成され、ここで、最終的なターゲット骨格におけるターゲットノードはいずれも、最終的なソース骨格におけるソースノードにマッピング可能であり、動画移行モジュール33は、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得るように構成される。
【0144】
上記方案において、初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格のトポロジ構造を更新することによって、最終的なターゲット骨格のターゲットノードをいずれも、最終的なソース骨格におけるソースノードにマッピングすることができる。初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、それにより最終的なターゲット骨格の動きを駆動するため、異なる骨格間の動画移行を実現する。また、移行待ちソース骨格とターゲット骨格の間の初期トポロジ構造が完全に一致する必要がないため、骨格間の動画移行の適用性を向上させる。
【0145】
本願のいくつかの実施例において、最終的なターゲット骨格と最終的なソース骨格のノードトポロジ構造が一致し、及び/又は、最終的なターゲット骨格と最終的なソース骨格とのノードが一対一にマッピングされる。
【0146】
上記方案において、最終的なターゲット骨格におけるノードについて、最終的なソース骨格においてこれとマッピングしたノードがあり、且つマッピング関係が一対一マッピングであり、1つのターゲットノードが複数のソースノードに対応するというケースが存在しないことを確保することで、後続の最終的なターゲット骨格におけるノードに、いずれも対応する動画駆動データがあり、且つ各ノード上での動画駆動データの数が1である。1つのノードが複数の動画駆動データを有するケースが存在しないことにより、最終的なターゲット骨格の動画駆動をより自然にする。
【0147】
本願のいくつかの実施例において、ノードマッピング関係は、初期ソース骨格と初期ターゲット骨格におけるノード間のマッピング関係を含み、モデル更新モジュール32は更に、2つの骨格の間に、同一のノードにマッピングされる複数のノードがある場合、そのうちの1つの骨格のノードトポロジ構造を更新し、モデル更新モジュール32は更に、骨格にマッピング関係のないノードがある場合、マッピング関係のないノードが位置する骨格のノードトポロジ構造を更新するように構成され、ここで、2つの骨格は、初期ソース骨格と、初期ターゲット骨格とを含み、更新された2つの骨格間のノードが一対一にマッピングされる。
【0148】
上記方案において、骨格のノードトポロジ構造を更新することで、2つの骨格間の複数のノードが同一のノードにマッピングされることを2つの骨格間のノードの一対一のマッピングに調整し、更に、後続の最終的なターゲット骨格の動画駆動プロセスにおいて合理的ではない状況の出現を減少させる。
【0149】
本願のいくつかの実施例において、モデル更新モジュール32は、マッピング関係のないノードを、マッピング関係のある隣接ノードにマージするように構成され、ここで、隣接ノードは、マッピング関係のないノードが位置する骨格における、マッピング関係のないノードの親ノード又は子ノードであり、及び/又は、モデル更新モジュール32は、複数のノードが同一の骨格分岐に位置する場合、複数のノードが位置する第1骨格を更新し、複数のノードが異なる骨格分岐に位置する場合、複数のノードを含まない第2骨格を更新するように構成され、ここで、第1骨格と第2骨格とのうちの1つは、初期ソース骨格であり、もう1つは、初期ターゲット骨格である。
【0150】
上記方案において、複数のノードが位置する第1骨格を更新することで、2つの骨格間の複数のノードが同一のノードにマッピングされることを2つの骨格間のノードが一対一にマッピングされることに調整し、更に、後続の最終的なターゲット骨格の動画駆動プロセスにおいて合理的ではない状況の出現を減少させる。
【0151】
本願のいくつかの実施例において、モデル更新モジュール32は更に、第1骨格における複数のノードを1つの第1ノードとしてマージするように構成され、ここで、第1ノードは、マージ前の複数のノードのマッピング関係を維持し、及び/又は、モデル更新モジュール32は更に、第1骨格から、複数のノードが位置する骨格分岐が合流する第2ノードを探し出し、第2骨格から、第2ノードにマッピングされる第3ノードを探し出し、複数のノードに対応するノードトポロジ構造に応じて、第3ノードに少なくとも1つの骨格分岐を新規追加するように構成され、ここで、複数のノードは、第3ノードに新規追加される骨格分岐及びオリジナル骨格分岐におけるノードと一対一にマッピングされる。
【0152】
上記方案において、このような方式で、ノードの一対一のマッピングを実現する場合、第1骨格のノードトポロジ構造も最大限に維持できる。
【0153】
本願のいくつかの実施例において、動画移行モジュール33は更に、ルートソースノードからリーフソースノードへの順番に応じて、最終的なソース骨格における各ソースノードと最終的なターゲット骨格における対応してマッピングされるターゲットノードをそれぞれ位置合わせし、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得、第1動画駆動データと第1位置姿勢変換関係を利用して、最終的なターゲット骨格の第2動画駆動データを得るように構成される。
【0154】
上記方案において、ソースノードとターゲットノードとの位置合わせを行うことで、各ソースノードとマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることができ、それにより第1動画駆動データと第1位置姿勢変換関係を利用して、最終的なターゲット骨格の第2動画駆動データを得ることを実現する。
【0155】
本願のいくつかの実施例において、動画移行モジュール33は更に、最終的なソース骨格における各ソースノードに対して、ソースノードをマッピングされるターゲットノードに位置合わせするために必要なオフセットを取得し、ここで、オフセットは、並進成分と回転成分とのうちの少なくとも1つを含み、ソースノードに対応するオフセットに基づいて、ソースノードの第1位置姿勢変換関係を得るように構成される。
【0156】
上記方案において、オフセットが並進成分と回転成分を含むことによって、取得された第1位置姿勢変換関係をより正確にする。
【0157】
本願のいくつかの実施例において、最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードはいずれも第1座標系の原点に並進し、第1位置姿勢変換関係は、ソースノードとマッピングされるターゲットノードとの、第1座標系における変換関係であり、ソースノードに対応するオフセットは、ソースノードの第1親ノードが位置合わせされ、かつ第1親ノードが第2座標系の原点である場合、ソースノードとマッピングされるターゲットノードの、第2座標系におけるオフセットである。
【0158】
上記方案において、最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードがいずれも第1座標系の原点に並進することで、最終的なソース骨格のルートソースノードと最終的なターゲット骨格のルートターゲットノードとのオフセットを取得することができる。
【0159】
本願のいくつかの実施例において、動画移行モジュール33は更に、位置合わせされた第1親ノードとルートソースノードとの第2位置姿勢変換関係、及びソースノードのマッピングされるターゲットノードの第2親ノードとルートターゲットノードとの第3位置姿勢変換関係を取得し、ソースノード及びマッピングされるターゲットノードの、第1座標系における位置姿勢と、第2位置姿勢変換関係と、第3位置姿勢変換関係とに基づいて、ソースノードに対応するオフセットを得、及び/又は、ソースノード及びソースノードの上位ノードのそれぞれに対応するオフセットに基づいて、ソースノードの第1位置姿勢変換関係を得るように構成され、ここで、ソースノードの上位ノードは、最終的なソース骨格におけるソースノードの第1親ノード、ルートソースノード及び第1親ノードとルートソースノードとの間のノードである。
【0160】
上記方案において、ソースノード及びソースノードの上位ノードに対応するオフセットを結合することで、ソースノードの、第1座標系におけるマッピングされるターゲットノードとの第1位置姿勢変換関係を得ることができる。
【0161】
本願のいくつかの実施例において、第1動画駆動データは、最終的なソース骨格と初期ソース骨格とのトポロジ構造差異に基づいて、初期ソース骨格のオリジナル動画データに対して調整を行うことで得られたものであり、及び/又は、最終的なターゲット骨格の第2動画駆動データは、第1動画駆動データ及び第1位置姿勢変換関係に基づいて得られたものであり、ここで、第1位置姿勢変換関係は、最終的なソース骨格のソースノードと最終的なターゲット骨格におけるマッピングされるターゲットノードとの間の変換関係であり、最終的なターゲット骨格は、ターゲット対象の骨格であり、動画移行モジュール33は、ターゲット対象における幾何学的メッシュ頂点の第1位置情報、第1動画駆動データ及び第1位置姿勢変換関係に基づいて、第2動画駆動データにおける、幾何学的メッシュ頂点に関する第2位置情報を得るように構成される。
【0162】
上記方案において、ターゲット対象における幾何学的メッシュ頂点の第1位置情報、第1動画駆動データ及び第1位置姿勢変換関係を結合することで、第2動画駆動データにおける、幾何学的メッシュ頂点に関する第2位置情報を得ることができ、プロセスが便利である。
【0163】
本願のいくつかの実施例において、動画移行モジュール33は更に、幾何学的メッシュ頂点との距離が所定の条件を満たす少なくとも1つのターゲットノードをリファレンスノードとして取得し、リファレンスノードの影響重みを得、第1動画駆動データにおける、リファレンスノードに関する第4位置姿勢変換関係とリファレンスノードに対応する第1位置姿勢変換関係に基づいて、リファレンスノードに対応する第5位置姿勢変換関係を得、第1位置情報、各リファレンスノードに対応する第5位置姿勢変換関係及び影響重みを利用して、幾何学的メッシュ頂点の第2位置情報を得るように構成される。
【0164】
上記方案において、頂点に対するリファレンスノードの影響重みを考慮することで、取得された幾何学的メッシュ頂点の第2位置情報をより正確にする。
【0165】
本願のいくつかの実施例において、取得モジュール31は更に、ターゲット対象を含む画像に対して分類を行い、ターゲット対象のクラスを得、クラスに合致した骨格モデルを初期ソース骨格として選択するように構成され、ここで、最終的なターゲット骨格は、ターゲット対象の骨格であり、及び/又は、取得モジュール31は更に、ターゲット対象を含む画像に対して輪郭抽出を行い、ターゲット対象の輪郭を得、輪郭を利用して、ターゲット対象に対して、三次元メッシュモデルを生成し、三次元メッシュモデルから、初期ターゲット骨格を抽出するように構成され、及び/又は、取得モジュール31は更に、初期ソース骨格と初期ターゲット骨格における各ノードが位置する骨格分岐の数を決定し、骨格分岐の数の多い順に応じて、初期ソース骨格と初期ターゲット骨格におけるノードに対して順にマッピングを行い、ノードマッピング関係を得るように構成される。
【0166】
上記方案において、ターゲット対象のクラスを取得し、クラスに合致した骨格モデルから、初期ソース骨格を選択することで、便利で迅速である。骨格分岐の数の多い順に応じて、初期骨格と初期ターゲット骨格におけるノードに対して順にマッピングを行うことで、マッピングの正確度を向上させることができる。
【0167】
上記方案において、初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格のトポロジ構造を更新することによって、最終的なターゲット骨格のターゲットノードをいずれも、最終的なソース骨格におけるソースノードにマッピングすることができる。初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、それにより最終的なターゲット骨格の動きを駆動するため、異なる骨格間の動画移行を実現する。また、移行待ちソース骨格とターゲット骨格の間の初期トポロジ構造が完全に一致する必要がないため、骨格間の動画移行の適用性を向上させる。
【0168】
図7を参照すると、
図7は、本願の実施例による電子機器の構造概略図である。電子機器40は、メモリ41と、プロセッサ42と、を備え、プロセッサ42は、メモリ41に記憶されているプログラム命令を実行し、上記動画移行方法の実施例におけるステップを実施する。1つの具体的な実施シーンにおいて、電子機器40は、マイクロコンピュータ、サーバを含んでもよいが、それらに限らない。なお、電子機器40は、ノートパソコン、タブレットなどの携帯機器を更に含んでもよい。ここで限定しない。
【0169】
プロセッサ42は、その自体及びメモリ41を制御して、上記動画移行方法の実施例におけるステップを実施する。プロセッサ42は、中央演算装置(Central Processing Unit:CPU)と呼ばれてもよい。プロセッサ42は、信号処理能力を持つ集積回路チップであってもよい。プロセッサ42は、汎用プロセッサ、デジタル信号プロセッサ(Digital Signal Processor:DSP)、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array:FPGA)又は他のプログラマブルゲートアレイ、ディスクリートゲート又はトランジスタ論理デバイス、ディスクリートハードウェアコンポーネントであってもよい。汎用プロセッサは、マイクロプロセッサであってもよく、該プロセッサは、如何なる従来のプロセッサなどであってもよい。なお、プロセッサ42は、集積回路チップにより共同で実現してもよい。
【0170】
上記方案において、初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格のトポロジ構造を更新することによって、最終的なターゲット骨格のターゲットノードをいずれも、最終的なソース骨格におけるソースノードにマッピングすることができる。初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、それにより最終的なターゲット骨格の動きを駆動するため、異なる骨格間の動画移行を実現する。また、移行待ちソース骨格とターゲット骨格の間の初期トポロジ構造が完全に一致する必要がないため、骨格間の動画移行の適用性を向上させる。
【0171】
図8を参照すると、
図8は、本願の実施例によるコンピュータ可読記憶媒体の構造概略図である。コンピュータ可読記憶媒体50に、プロセッサにより実行可能なプログラム命令501が記憶されており、プログラム命令501は、プロセッサに上記動画移行方法の実施例におけるステップを実現させる。
【0172】
上記方案において、初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係に基づいて、初期ソース骨格及び/又は初期ターゲット骨格のトポロジ構造を更新することによって、最終的なターゲット骨格のターゲットノードをいずれも、最終的なソース骨格におけるソースノードにマッピングすることができる。初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、それにより最終的なターゲット骨格の動きを駆動するため、異なる骨格間の動画移行を実現する。また、移行待ちソース骨格とターゲット骨格の間の初期トポロジ構造が完全に一致する必要がないため、骨格間の動画移行の適用性を向上させる。
【0173】
本願の実施例は、コンピュータプログラムを更に提供する。前記コンピュータプログラムは、コンピュータ可読コードを含み、前記コンピュータ可読コードが電子機器において実行される時、プロセッサに上記動画移行方法のステップを実行させる。具体的には、上記方法の実施例を参照してもよい。
【0174】
該コンピュータプログラム製品は、具体的には、ハードウェア、ソフトウェア又はその組み合わせにより実現してもよい。1つの選択可能な実施例において、前記コンピュータプログラム製品は、具体的には、コンピュータ記憶媒体として具現化され、もう1つの選択可能な実施例において、コンピュータプログラム製品は、例えば、ソフトウェア開発キット(Software Development Kit:SDK)等のようなソフトウェア製品として具現化される。
【0175】
幾つかの実施例において、本願の実施例が提供する装置が有する機能又は含むモジュールは、上記方法の実施例に記載の方法を実行するように構成されてもよく、その具体的な実現は、上記方法の実施例の記述を参照することができる。
【0176】
上記各実施例に対する説明は、各実施例間の相違を強調し、その同じまたは類似な所は相互に参照されることができる。
【0177】
本願で提供する幾つかの実施例で開示したシステム、装置及び方法は、他の方式によって実現できることを理解すべきである。以上に記載した装置の実施例はただ例示的なものであり、例えば、前記ユニットの分割はただロジック機能の分割で、実際に実現する時は他の分割方式によってもよい。また例えば、複数のユニット又はコンポーネントを組み合わせてもよいし、別のシステムに組み込んでもよい。又は若干の特徴を無視してもよいし、実行しなくてもよい。また、示したか或いは検討した相互間の結合又は直接的な結合又は通信接続は、幾つかの通信インタフェース、装置又はユニットによる間接的な結合又は通信接続であってもよく、電気的、機械的または他の形態であってもよい。
【0178】
また、本願の各実施例における各機能ユニットは1つの処理ユニットに集積されてもよいし、各ユニットが物理的に別個のものとして存在してもよいし、2つ又は2つ以上のユニットが1つのユニットに集積されてもよい。上記集積したユニットは、ハードウェアの形式で実現してもよく、ソフトウェア機能ユニットの形式で実現してもよい。
【0179】
集積したユニットは、ソフトウェア機能ユニットの形で実現され、かつ独立した製品として販売または使用されるとき、コンピュータにより読み取り可能な記憶媒体内に記憶されてもよいことに留意されたい。このような理解のもと、本願の実施例の技術的解決手段は、本質的に、又は、従来技術に対して貢献をもたらした部分又は該技術的解決手段の一部は、ソフトウェア製品の形式で具現することができ、このようなコンピュータソフトウェア製品は、記憶媒体に記憶しても良く、また、1台のコンピュータ機器(パソコン、サーバ、又はネットワーク装置など)又はプロセッサ(processor)に、本願の各実施例に記載の方法の全部又は一部のステップを実行させるための若干の命令を含む。前記の記憶媒体は、USBメモリ、リムーバブルハードディスク、読み出し専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスクなどの、プログラムコードを記憶できる種々の媒体を含む。
【産業上の利用可能性】
【0180】
本願の実施例は、動画移行方法及び装置、機器、記憶媒体並びにコンピュータプログラム製品を提供する。動画移行方法は、初期ソース骨格、初期ターゲット骨格及び初期ソース骨格と初期ターゲット骨格との間のノードマッピング関係を取得することと、ノードマッピング関係に基づいて、初期ソース骨格と初期ターゲット骨格とのうちの少なくとも1つのノードトポロジ構造を更新し、最終的なソース骨格と最終的なターゲット骨格を得ることであって、最終的なターゲット骨格におけるターゲットノードはいずれも、最終的なソース骨格におけるソースノードにマッピング可能である、ことと、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、最終的なターゲット骨格の第2動画駆動データを得ることと、を含む。本願の実施例によれば、初期ソース骨格に関連する第1動画駆動データを最終的なターゲット骨格に移行し、それにより最終的なターゲット骨格の動きを駆動することができ、異なる骨格間の動画移行を実現する。また、移行待ちソース骨格とターゲット骨格の間の初期トポロジ構造が完全に一致する必要がないため、骨格間の動画移行の適用性を向上させる。