JP2024055447A - Information processing device, information processing method, and program - Google Patents

Information processing device, information processing method, and program Download PDF

Info

Publication number
JP2024055447A
JP2024055447A JP2022162381A JP2022162381A JP2024055447A JP 2024055447 A JP2024055447 A JP 2024055447A JP 2022162381 A JP2022162381 A JP 2022162381A JP 2022162381 A JP2022162381 A JP 2022162381A JP 2024055447 A JP2024055447 A JP 2024055447A
Authority
JP
Japan
Prior art keywords
motion data
interpolated
information processing
index
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022162381A
Other languages
Japanese (ja)
Inventor
佑樹 田中
信広 西条
敬太 望月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Group Corp filed Critical Sony Corp
Priority to JP2022162381A priority Critical patent/JP2024055447A/en
Priority to PCT/JP2023/031239 priority patent/WO2024075435A1/en
Publication of JP2024055447A publication Critical patent/JP2024055447A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Abstract

【課題】複数のモーションデータをより自然に繋げる。【解決手段】時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得する取得部と、前記第1のモーションデータ、前記第2のモーションデータおよび前記取得部により取得された前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出する算出部と、を備える、情報処理装置。【選択図】図3[Problem] To link a plurality of motion data more naturally. [Solution] An information processing device comprising an acquisition unit that acquires interpolated motion data that interpolates between first motion data and second motion data that are independent in time and space, and a calculation unit that calculates an index related to the motion speed of each motion data based on the first motion data, the second motion data, and the interpolated motion data acquired by the acquisition unit. [Selected Figure] Figure 3

Description

本開示は、情報処理装置、情報処理方法およびプログラムに関する。 The present disclosure relates to an information processing device, an information processing method, and a program.

近年、ユーザの動きを示す動き情報を取得するためのモーションキャプチャを利用したアニメーション制作や配信が盛んに行われている。例えば、モーションキャプチャにより取得された動き情報を用いて、ユーザの動きを模したモーションデータを生成し、当該モーションデータに基づくアバター映像を配信することが行われている。 In recent years, animation production and distribution using motion capture to obtain motion information showing a user's movements has become popular. For example, the motion information obtained by motion capture is used to generate motion data that mimics the user's movements, and avatar images based on the motion data are distributed.

このような背景から、年々、モーションデータが増加しており、これまでに生成されたモーションデータを再活用する技術が開発されている。例えば、特許文献1では、複数のモーションデータの動きをブレンドし、ブレンドにより得られた動きを仮想空間上のアバター等によりリアルタイムで再現する技術が開示されている。 As a result of this, the amount of motion data is increasing year by year, and technologies are being developed to reuse previously generated motion data. For example, Patent Document 1 discloses a technology that blends the movements of multiple pieces of motion data and reproduces the movements obtained by blending in real time using an avatar in a virtual space.

国際公開第2019/203190号International Publication No. 2019/203190

このような、複数のモーションデータを連結する際に、当該複数のモーションデータをより自然に繋げるための補間編集が求められる場合がある。このような補間編集に際して、境界条件等のパラメータが細かく指定される場合があるが、ユーザが全てのパラメータの設定を行うことは困難になり得る。 When linking multiple pieces of motion data like this, it may be necessary to perform interpolation editing to join the multiple pieces of motion data more naturally. When performing this type of interpolation editing, parameters such as boundary conditions may be specified in detail, but it may be difficult for the user to set all of the parameters.

そこで、本開示では、複数のモーションデータをより自然に繋げることが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提案する。 This disclosure therefore proposes a new and improved information processing device, information processing method, and program that can link multiple pieces of motion data more naturally.

本開示によれば、時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得する取得部と、前記第1のモーションデータ、前記第2のモーションデータおよび前記取得部により取得された前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出する算出部と、を備える、情報処理装置が提供される。 According to the present disclosure, there is provided an information processing device including an acquisition unit that acquires interpolated motion data that interpolates between first motion data and second motion data that are independent in time and space, and a calculation unit that calculates an index related to the motion speed of each motion data based on the first motion data, the second motion data, and the interpolated motion data acquired by the acquisition unit.

また、本開示によれば、時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得することと、前記第1のモーションデータ、前記第2のモーションデータおよび前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出することと、を含む、コンピュータにより実行される情報処理方法が提供される。 The present disclosure also provides an information processing method executed by a computer, which includes obtaining interpolated motion data that interpolates between first and second motion data that are independent in time and space, and calculating an index related to the motion speed of each piece of motion data based on the first motion data, the second motion data, and the interpolated motion data.

また、本開示によれば、コンピュータに、時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得する取得機能と、前記第1のモーションデータ、前記第2のモーションデータおよび前記取得機能により取得された前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出する算出機能と、を実現させる、プログラムが提供される。 The present disclosure also provides a program that causes a computer to realize an acquisition function that acquires interpolated motion data that interpolates between first and second motion data that are independent in time and space, and a calculation function that calculates an index related to the motion speed of each motion data based on the first motion data, the second motion data, and the interpolated motion data acquired by the acquisition function.

本開示の一実施形態による情報処理システムを説明するための説明図である。FIG. 1 is an explanatory diagram illustrating an information processing system according to an embodiment of the present disclosure. 本開示に係るサーバ10の機能構成の一例を説明するための説明図である。2 is an explanatory diagram for explaining an example of a functional configuration of a server 10 according to the present disclosure. FIG. 本開示に係るPC20の機能構成の一例を説明するための説明図である。2 is an explanatory diagram for explaining an example of a functional configuration of a PC 20 according to the present disclosure. FIG. モーションデータの連結処理の一例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining an example of a linking process of motion data. 複数のモーションデータの間を補間する補間編集に係る概要を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining an overview of interpolation editing for interpolating between a plurality of motion data; 補間編集の一例であるモーションブレンドについて説明するための説明図である。FIG. 11 is an explanatory diagram illustrating motion blending, which is an example of interpolation editing. 補間編集の他の例である補間モーションデータCの生成について説明するための説明図である。FIG. 13 is an explanatory diagram for explaining generation of interpolated motion data C, which is another example of interpolation editing. 本開示に係る生成部241が補間モーションデータを生成する処理の具体例を説明するための説明図である。11 is an explanatory diagram for explaining a specific example of a process in which the generation unit 241 according to the present disclosure generates interpolated motion data. FIG. 補間パラメータの具体例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining a specific example of an interpolation parameter. 本開示に係るGUIの一例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining an example of a GUI according to the present disclosure. 本開示に係るPC20の動作処理の一例を説明するためのフローチャートである。10 is a flowchart for explaining an example of an operation process of a PC 20 according to the present disclosure. 本開示に係るPC20のハードウェア構成を示したブロック図である。FIG. 2 is a block diagram showing a hardware configuration of a PC 20 according to the present disclosure.

以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 A preferred embodiment of the present disclosure will be described in detail below with reference to the attached drawings. Note that in this specification and drawings, components having substantially the same functional configuration are designated by the same reference numerals to avoid redundant description.

また、以下に示す項目順序に従って当該「発明を実施するための形態」を説明する。
1.情報処理システムの概要
2.機能構成例
2.1.サーバ10の機能構成例
2.2.PC20の機能構成例
3.詳細
3.1.モーションデータの連結
3.2.モーションデータの補間編集
3.3.補間モーションデータの生成
3.4.スコアリング
3.5.GUI(グラフィカルユーザインタフェース)
4.動作処理例
5.作用効果例
6.変形例
7.ハードウェア構成
8.補足
The "Mode for Carrying Out the Invention" will be described in the following item order.
1. Overview of Information Processing System 2. Example of Functional Configuration 2.1. Example of Functional Configuration of Server 10 2.2. Example of Functional Configuration of PC 20 3. Details 3.1. Linking of Motion Data 3.2. Interpolation Editing of Motion Data 3.3. Generation of Interpolated Motion Data 3.4. Scoring 3.5. GUI (Graphical User Interface)
4. Operational Processing Example 5. Function and Effect Example 6. Modification Example 7. Hardware Configuration 8. Supplementary Notes

<<1.情報処理システムの概要>>
モーションデータには、人間や動物等の動体の動きの情報を可視化するため、例えば身体の構造を示すスケルトン構造により表現されるスケルトンデータが用いられる。スケルトンデータは、部位の位置や姿勢などの情報を含む。より具体的には、スケルトンデータは、ルート関節のグローバル位置と、各関節の相対的な姿勢等の各種情報を含む。なお、スケルトン構造における部位は、例えば身体の末端部位や関節部位等に対応する。また、スケルトンデータは、部位間を結ぶ線分であるボーンを含んでもよい。スケルトン構造におけるボーンは例えば人間の骨に相当し得るが、ボーンの位置や数は必ずしも実際の人間の骨格と整合していなくてもよい。また、モーションデータは、各ボーンの長さや他のボーンとの接続関係を示す骨格情報や、両足の接地情報の時系列データ等の各種情報を更に含んでもよい。
<<1. Overview of the information processing system>>
In order to visualize information on the movement of a moving body such as a human or an animal, for example, skeleton data expressed by a skeleton structure showing the structure of the body is used as the motion data. The skeleton data includes information such as the position and posture of a part. More specifically, the skeleton data includes various information such as the global position of the root joint and the relative posture of each joint. Note that the part in the skeleton structure corresponds to, for example, an end part or a joint part of the body. The skeleton data may also include bones, which are line segments connecting parts. The bones in the skeleton structure may correspond to, for example, human bones, but the positions and number of bones do not necessarily have to match the actual human skeleton. The motion data may further include various information such as skeletal information showing the length of each bone and the connection relationship with other bones, and time-series data of the ground contact information of both feet.

スケルトンデータにおける各部位の位置および姿勢は、多様なモーションキャプチャ技術により取得可能である。例えば、身体の各部位にマーカを装着し、外部のカメラ等を用いてマーカの位置を取得するカメラ式の技術や、身体の部位にモーションセンサを装着し、モーションセンサにより取得された時系列データに基づいてモーションセンサの位置情報を取得するセンサ方式の技術が存在する。 The position and posture of each part in the skeleton data can be obtained using a variety of motion capture technologies. For example, there is a camera-based technology in which markers are attached to each part of the body and the marker positions are obtained using an external camera, and there is a sensor-based technology in which motion sensors are attached to parts of the body and position information from the motion sensors is obtained based on the time-series data obtained by the motion sensors.

また、スケルトンデータの用途は多様である。例えば、スケルトンデータの時系列データであるモーションデータは、ダンスまたはスポーツにおいてフォームの改善に用いられたり、VR(Virtual Reality)またはAR(Augmented Reality)等のアプリケーションに用いられたりしている。また、モーションデータを用いて、ユーザの動きを模したアバター映像を生成し、当該アバター映像を配信することも行われている。 Skeleton data has a variety of uses. For example, motion data, which is time-series data of skeleton data, is used to improve form in dance or sports, and is used in applications such as VR (Virtual Reality) or AR (Augmented Reality). Motion data is also used to generate avatar images that mimic the movements of a user, and the avatar images are distributed.

本開示に係る情報処理システムは、複数のモーションデータをより自然に繋げることを可能とする。まず、図1を参照して、情報処理システムの概要を説明する。 The information processing system according to the present disclosure makes it possible to link multiple pieces of motion data more naturally. First, an overview of the information processing system will be described with reference to FIG. 1.

図1は、本開示の一実施形態による情報処理システムを説明するための説明図である。本開示に係る情報処理システムは、図1に示すように、ネットワーク1と、サーバ10と、PC(Personal Computer)20と、を有する。 FIG. 1 is an explanatory diagram for explaining an information processing system according to one embodiment of the present disclosure. As shown in FIG. 1, the information processing system according to the present disclosure includes a network 1, a server 10, and a PC (Personal Computer) 20.

(ネットワーク1)
本開示に係るネットワーク1は、ネットワーク1に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク1は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク1は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。サーバ10およびPC20は、ネットワーク1を介して接続されている。
(Network 1)
The network 1 according to the present disclosure is a wired or wireless transmission path for information transmitted from devices connected to the network 1. For example, the network 1 may include public line networks such as the Internet, telephone line networks, and satellite communication networks, as well as various LANs (Local Area Networks) including Ethernet (registered trademark), and WANs (Wide Area Networks). The network 1 may also include dedicated line networks such as IP-VPN (Internet Protocol-Virtual Private Network). The server 10 and the PC 20 are connected via the network 1.

(サーバ10)
本開示に係るサーバ10は、複数のモーションデータを保持する装置である。また、サーバ10は、二つのモーションデータおよび動きに関連するパラメータ(以下、補間パラメータと表現する場合がある。)と、補間モーションデータとの関係を学習し、補間モーションデータを生成する生成モデルを取得する。
(Server 10)
The server 10 according to the present disclosure is a device that stores multiple pieces of motion data. The server 10 also learns the relationship between two pieces of motion data and parameters related to movement (hereinafter, sometimes referred to as interpolation parameters), and the interpolated motion data, and obtains a generation model that generates the interpolated motion data.

(PC20)
本開示に係るPC20は、情報処理装置の一例であり、二つのモーションデータの間を補間する補間モーションデータを取得し、当該二つのモーションデータおよび当該補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出する。
(PC20)
The PC 20 according to the present disclosure is an example of an information processing device that acquires interpolated motion data that interpolates between two motion data, and calculates an index related to the motion speed of each motion data based on the two motion data and the interpolated motion data.

以上、本開示に係る情報処理システムの概要を説明した。続いて、図2および図3を参照し、サーバ10とPC20の機能構成の詳細を順次説明する。 The above describes an overview of the information processing system according to the present disclosure. Next, the functional configurations of the server 10 and the PC 20 will be described in detail with reference to FIG. 2 and FIG. 3.

<<2.機能構成例>>
<2.1.サーバ10の機能構成例>>
図2は、本開示に係るサーバ10の機能構成の一例を説明するための説明図である。本開示に係るサーバ10は、図2に示すように、記憶部110と、学習部120と、通信部130と、を備える。
<<2. Example of functional configuration>>
<2.1. Example of functional configuration of server 10>>
2 is an explanatory diagram for explaining an example of a functional configuration of the server 10 according to the present disclosure. As shown in FIG. 2, the server 10 according to the present disclosure includes a storage unit 110, a learning unit 120, and a communication unit 130.

(記憶部110)
本開示に係る記憶部110は、ソフトウェアおよび各種データを保持する。記憶部110は、例えば複数のモーションデータを保持する。また、記憶部110は、学習部120により得られた生成モデルを保持してもよい。
(Memory unit 110)
The storage unit 110 according to the present disclosure stores software and various data. For example, the storage unit 110 stores a plurality of pieces of motion data. The storage unit 110 may also store a generative model obtained by the learning unit 120.

(学習部120)
本開示に係る学習部120は、時間的および空間的に独立した二つのモーションデータおよび補間パラメータと、補間モーションデータとの関係を学習して生成モデルを生成する。学習に係る詳細については後述する。
(Learning Unit 120)
The learning unit 120 according to the present disclosure learns the relationship between two pieces of temporally and spatially independent motion data, the interpolation parameters, and the interpolated motion data, to generate a generative model. Details related to the learning will be described later.

(通信部130)
本開示に係る通信部130は、ネットワーク1を介して、PC20との間で各種情報を送信および受信する。通信部130は、例えばモーションデータを要求する要求情報をPC20から受信する。また、通信部130は、PC20から受信した要求情報に応じたモーションデータをPC20に送信する。
(Communication unit 130)
The communication unit 130 according to the present disclosure transmits and receives various information to and from the PC 20 via the network 1. The communication unit 130 receives, for example, request information requesting motion data from the PC 20. The communication unit 130 also transmits motion data to the PC 20 in response to the request information received from the PC 20.

また、通信部130は、記憶部110に保持される生成モデルをPC20に送信してもよい。 The communication unit 130 may also transmit the generative model stored in the memory unit 110 to the PC 20.

以上、本開示に係るサーバ10の機能構成の一例を説明した。続いて、図3を参照し、本開示に係るPC20の機能構成の一例を説明する。 An example of the functional configuration of the server 10 according to the present disclosure has been described above. Next, an example of the functional configuration of the PC 20 according to the present disclosure will be described with reference to FIG. 3.

<2.2.PC20の機能構成例>>
図3は、本開示に係るPC20の機能構成の一例を説明するための説明図である。本開示に係るPC20は、図3に示すように、通信部210と、操作表示部220と、記憶部230と、制御部240と、を備える。
<2.2. Example of functional configuration of PC 20>>
3 is an explanatory diagram for explaining an example of a functional configuration of the PC 20 according to the present disclosure. As shown in FIG. 3, the PC 20 according to the present disclosure includes a communication unit 210, an operation display unit 220, a storage unit 230, and a control unit 240.

(通信部210)
本開示に係る通信部210は、ネットワーク1を介して、サーバ10との間で各種情報を送信および受信する。通信部210は、例えばモーションデータを要求する要求情報をサーバ10に送信する。そして、通信部210は、要求情報に応じて送信されたモーションデータをサーバ10から受信する。
(Communication unit 210)
The communication unit 210 according to the present disclosure transmits and receives various information to and from the server 10 via the network 1. The communication unit 210 transmits, for example, request information requesting motion data to the server 10. Then, the communication unit 210 receives the motion data transmitted in response to the request information from the server 10.

また、通信部210は、補間モーションデータを生成する生成モデルを、サーバ10から受信してもよい。 The communication unit 210 may also receive a generative model for generating the interpolated motion data from the server 10.

(操作表示部220)
本開示に係る操作表示部220は、サーバ10から受信したモーションデータ、および後述する生成部241により生成された各種表示情報(例えば、連結モーションデータなど)を表示する表示部としての機能を有する。また、操作表示部220は、ユーザがモーションデータを選択するための入力部としての機能を有する。なお、あるモーションデータがユーザにより選択されると、通信部210は、当該モーションデータを要求する要求情報をサーバ10に送信する。
(Operation display unit 220)
The operation display unit 220 according to the present disclosure functions as a display unit that displays motion data received from the server 10 and various display information (e.g., linked motion data, etc.) generated by a generating unit 241 described below. The operation display unit 220 also functions as an input unit for the user to select motion data. When certain motion data is selected by the user, the communication unit 210 transmits request information requesting the motion data to the server 10.

表示部としての機能は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置により実現される。 The display function is realized, for example, by a CRT (Cathode Ray Tube) display device, a liquid crystal display (LCD) device, or an OLED (Organic Light Emitting Diode) device.

また、入力部としての機能は、例えば、タッチパネル、キーボードまたはマウスにより実現される。 The input function can be realized, for example, by a touch panel, keyboard, or mouse.

なお、図1において、PC20は、表示部および操作部の機能を一体化した構成としているが、表示部および入力部の機能を分離した構成としてもよい。 In FIG. 1, the PC 20 has a configuration in which the functions of the display unit and the operation unit are integrated, but the functions of the display unit and the input unit may be separate.

(記憶部230)
本開示に係る記憶部230は、ソフトウェアおよび各種データを保持する。記憶部230は、サーバ10から受信した生成モデルを保持する。また、記憶部230は、後述する生成部241により生成された補間モーションデータを保持してもよい。また、記憶部230は、生成部241により生成された補間モーションデータ、第1のモーションデータおよび第2のモーションデータを連結した連結モーションデータを保持してもよい。
(Memory unit 230)
The storage unit 230 according to the present disclosure stores software and various data. The storage unit 230 stores a generative model received from the server 10. The storage unit 230 may also store interpolated motion data generated by a generating unit 241 described below. The storage unit 230 may also store linked motion data that combines the interpolated motion data, first motion data, and second motion data generated by the generating unit 241.

(制御部240)
本開示に係る制御部240は、PC20の動作全般を制御する。PC20は、図3に示すように、生成部241と、算出部243と、を備える。
(Control unit 240)
The control unit 240 according to the present disclosure controls the overall operation of the PC 20. The PC 20 includes a generating unit 241 and a calculating unit 243, as shown in FIG.

本開示に係る生成部241は、取得部の一例であり、時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを生成する。補間モーションデータの生成に係る詳細は後述する。 The generation unit 241 according to the present disclosure is an example of an acquisition unit, and generates interpolated motion data that interpolates between first motion data and second motion data that are independent in time and space. The generation of the interpolated motion data will be described in detail below.

例えば、生成部241は、第1のモーションデータ、第2のモーションデータ、および動きに関する少なくとも1以上の補間パラメータを生成モデルに入力し、補間モーションデータを生成してもよい。また、生成部241は、生成モデルに入力する補間パラメータを修正して、複数回に亘って補間モーションデータを生成してもよい。 For example, the generation unit 241 may input the first motion data, the second motion data, and at least one or more interpolation parameters related to the movement into a generative model to generate the interpolated motion data. The generation unit 241 may also modify the interpolation parameters input into the generative model to generate the interpolated motion data multiple times.

また、生成部241は、第1のモーションデータ、補間モーションデータおよび第2のモーションデータを連結した連結モーションデータを生成してもよい。 The generation unit 241 may also generate linked motion data by linking the first motion data, the interpolated motion data, and the second motion data.

本開示に係る算出部243は、通信部210が受信した第1のモーションデータおよび第2のモーションデータと、生成部241により生成された補間モーションデータと、に基づき、各モーションデータのモーション速度に関連する指標を算出する。モーション速度に関連する指標の算出に係る詳細は後述する。 The calculation unit 243 according to the present disclosure calculates an index related to the motion speed of each piece of motion data based on the first motion data and the second motion data received by the communication unit 210 and the interpolated motion data generated by the generation unit 241. Details of the calculation of the index related to the motion speed will be described later.

以上、本開示に係るPC20の詳細を説明した。続いて、図4~図9を参照し、本開示に係る情報処理システムの詳細について順次説明する。 The above describes the details of the PC 20 according to the present disclosure. Next, the details of the information processing system according to the present disclosure will be described in order with reference to Figures 4 to 9.

<<3.詳細>>
昨今、モーションキャプチャまたは手動で取得されたモーションデータがデータベースに登録され、当該データベースからモーションデータの検索または編集を行うアプリケーションが存在する。例えば、モーションデータの編集において、複数のモーションデータを繋げる連結編集が求められる場合がある。まず、図4を参照して、複数のモーションデータの連結編集に係る具体例を説明する。
<<3. More details>>
Recently, motion data obtained by motion capture or manually is registered in a database, and applications exist that search for or edit the motion data from the database. For example, in the case of editing motion data, there is a joint editing that connects multiple motion data. First, a specific example of joint editing of a plurality of motion data will be described with reference to FIG.

<3.1.モーションデータの連結>
図4は、モーションデータの連結処理の一例を説明するための説明図である。あるモーションデータ(以下、第1のモーションデータAと表現する。)に含まれる一部の区間を、他のモーションデータ(以下、第2のモーションデータBと表現する。)に置き換えて修正する場合がある。
<3.1. Linking Motion Data>
4 is an explanatory diagram for explaining an example of a motion data linking process. In some cases, a section included in some motion data (hereinafter referred to as first motion data A) is modified by replacing it with other motion data (hereinafter referred to as second motion data B).

例えば、アプリケーションを利用するユーザは、ある第1のモーションデータAを検索し、当該第1のモーションデータAに含まれる複数の区間A1~A3のうち、区間A2を修正区間として選択する。 For example, a user of an application searches for a certain first motion data A, and selects section A2 from among multiple sections A1 to A3 contained in the first motion data A as the section to be modified.

そして、ユーザは、区間A2の修正対象として、第2のモーションデータBを選択する。この結果、第1のモーションデータAの区間A2は、修正対象である第2のモーションデータBに置き換えて修正される場合がある。なお、ここでの第2のモーションデータBとは、ユーザによりアプリケーション上で選択された任意のモーションデータであってもよいし、アプリケーションにより自動で選択されたモーションデータであってもよい。 The user then selects the second motion data B as the target for modifying section A2. As a result, section A2 of the first motion data A may be modified by replacing it with the second motion data B that is the target for modification. Note that the second motion data B here may be any motion data selected by the user on an application, or may be motion data automatically selected by the application.

例えば、図4に示すように、第1のモーションデータAの区間A2に対する修正対象の候補として、二つの第2のモーションデータBが存在する場合、ユーザはいずれか一方の第2のモーションデータBを選択する。例えば、ユーザが図4に示す第2のモーションデータBの左図を選択した場合、第1のモーションデータAの区間A2は、図4に示すモーションデータBの左図に置き換えて修正される。 For example, as shown in FIG. 4, when there are two pieces of second motion data B as candidates for correction of section A2 of first motion data A, the user selects one of the pieces of second motion data B. For example, when the user selects the left image of second motion data B shown in FIG. 4, section A2 of the first motion data A is corrected by replacing it with the left image of motion data B shown in FIG. 4.

しかし、第1のモーションデータAの区間A2が単に第2のモーションデータBに置き換えられると、第1のモーションデータAと、第2のモーションデータBの境界部分で、モーションが急に切り替わるため、モーションデータに含まれる動きが不自然になり得る。 However, if section A2 of the first motion data A is simply replaced with the second motion data B, the motion will suddenly switch at the boundary between the first motion data A and the second motion data B, and the movements contained in the motion data may appear unnatural.

なお、ここでの境界部分は、第1のモーションデータAの区間A1の終了位置から、第2のモーションデータBの開始位置に切り替わる部分を含む。また、境界部分は、第2のモーションデータBの終了位置から、第1のモーションデータAの区間A3の開始位置に切り替わる部分を含む。 Note that the boundary portion here includes the portion switching from the end position of section A1 of the first motion data A to the start position of the second motion data B. The boundary portion also includes the portion switching from the end position of the second motion data B to the start position of section A3 of the first motion data A.

そこで、このような複数のモーションデータの連結編集に際して、第1のモーションデータAと、第2のモーションデータBと、の間(即ち、境界部分)を補間する補間編集が行われることが望ましい。 When linking and editing multiple pieces of motion data in this way, it is desirable to perform an interpolation edit that interpolates between the first motion data A and the second motion data B (i.e., the boundary portion).

以上、複数のモーションデータの連結編集に係る具体例を説明した。続いて、複数のモーションデータの間を補間する補間編集に係る具体例を説明する。 A specific example of linked editing of multiple motion data has been explained above. Next, we will explain a specific example of interpolation editing that interpolates between multiple motion data.

<3.2.モーションデータの補間編集>
図5は、複数のモーションデータの間を補間する補間編集に係る概要を説明するための説明図である。例えば、第1のモーションデータAには歩く動作が含まれ、第2のモーションデータBにはキックする動作が含まれるとする。
<3.2. Interpolation editing of motion data>
5 is an explanatory diagram for explaining an outline of the interpolation editing for interpolating between a plurality of motion data. For example, it is assumed that the first motion data A includes a walking motion, and the second motion data B includes a kicking motion.

ここで、図5に示すような、第1のモーションデータAから第2のモーションデータBに急に切り替わると、歩いている動作から、キックの動作に瞬間的に切り替わるため、モーションデータの動きが不自然になり得る。例えば、第1のモーションデータAに含まれる各部位の関節位置が、第2のモーションデータBに含まれる各部位の関節位置に1フレームで遷移するため、ある部位の位置が瞬間的に移動(ワープ)する状況が生じ得る。そこで、このような複数のモーションデータの連結に際して生じ得る動きの不自然さを抑える手法として補間編集が存在する。ここで補間編集の具体例を、図6Aおよび図6Bを参照して説明する。 Here, when there is an abrupt switch from the first motion data A to the second motion data B as shown in FIG. 5, the motion of walking switches instantly to a kicking motion, which can make the motion data unnatural. For example, the joint positions of each part included in the first motion data A transition to the joint positions of each part included in the second motion data B in one frame, which can cause a situation in which the position of a certain part moves (warps) instantaneously. Interpolation editing is a method for suppressing the unnaturalness of movement that can occur when multiple pieces of motion data are linked. A specific example of interpolation editing will now be described with reference to FIG. 6A and FIG. 6B.

図6Aは、補間編集の一例であるモーションブレンドについて説明するための説明図である。例えば、モーションブレンドは、第1のモーションデータAと、第2のモーションデータBとを線形幾何学的に結合させる補間編集である。 Figure 6A is an explanatory diagram for explaining motion blending, which is an example of interpolation editing. For example, motion blending is an interpolation editing that linearly and geometrically combines first motion data A and second motion data B.

モーションブレンドによる補間編集では、補間区間BQにおいて、第1のモーションデータAに含まれる動きが、第2のモーションデータBに含まれる動きに徐々に切り替わるような補間が行われ得る。なお、補間区間BQにおいて徐々に動きが切り替わるモーションデータは、補間モーションデータCの一例である。 In interpolation editing using motion blending, interpolation can be performed in which the movement contained in the first motion data A gradually switches to the movement contained in the second motion data B in the interpolation section BQ. Note that the motion data in which the movement gradually switches in the interpolation section BQ is an example of interpolated motion data C.

モーションブレンドでは、補間に係るパラメータが少なく、多少な動きの不自然さを残してでもリアルタイム性が求められるような状況に適した補間編集に用いられ得る。一方、モーションブレンドでは、アニメーション編集のような、より動きの自然さが求められ、且つ、補間に係るパラメータが多くなるような状況には適していない補間編集になり得る。 Motion blending has few parameters related to interpolation and can be used for interpolation editing that is suitable for situations where real-time performance is required even if some unnaturalness of movement remains. On the other hand, motion blending can result in interpolation editing that is not suitable for situations such as animation editing, where more natural movement is required and there are many parameters related to interpolation.

図6Bは、補間編集の他の例である補間モーションデータCの生成について説明するための説明図である。補間モーションデータCの生成には、例えば、Deep Learning等の機械学習技術を用いて、新しくモーションデータを生成する処理が含まれる。ここで、新しく生成されたモーションデータとは、補間モーションデータCの一例である。 FIG. 6B is an explanatory diagram for explaining the generation of interpolated motion data C, which is another example of interpolation editing. The generation of the interpolated motion data C includes a process of generating new motion data using machine learning techniques such as Deep Learning. Here, the newly generated motion data is an example of the interpolated motion data C.

補間モーションデータCの生成では、補間に係るパラメータがモーションブレンドと比較して多くなるものの、第1のモーションデータAと第2のモーションデータBの間を、より自然な動きで補間することが可能な補間モーションデータCが生成され得る。 When generating the interpolated motion data C, the number of parameters related to the interpolation is greater than in the case of motion blending, but it is possible to generate the interpolated motion data C that can interpolate between the first motion data A and the second motion data B with more natural movements.

しかし、補間に係るパラメータが多いため、ユーザが全てのパラメータを手動で設定することは困難である。また、必ずしもユーザが設定したパラメータから、モーションデータ間を自然に補間する補間モーションデータCが生成されるとも限らない。更に、自動でパラメータを設定する場合、どのような動きがユーザにとって望ましいかは、当該ユーザの好みにも依存するため、パラメータ設定時に一意に決定することは困難である。 However, because there are many parameters related to interpolation, it is difficult for the user to set all of the parameters manually. In addition, the parameters set by the user do not necessarily generate interpolated motion data C that naturally interpolates between motion data. Furthermore, when parameters are set automatically, the type of movement desired by the user also depends on the user's preferences, making it difficult to uniquely determine this when setting the parameters.

続いて、本開示に係る生成部241が補間モーションデータCを生成する処理の詳細を説明する。 Next, the process by which the generation unit 241 according to the present disclosure generates the interpolated motion data C will be described in detail.

<3.3.補間モーションデータの生成>
図7は、本開示に係る生成部241が補間モーションデータを生成する処理の具体例を説明するための説明図である。まず、事前準備として、サーバ10が備える学習部120は、補間モーションデータCを生成するための生成モデルを生成する。例えば、学習部120は、時間的および空間的に独立した二つのモーションデータおよび補間に係るパラメータ(以下、補間パラメータと称する)と、補間モーションデータとの組を教師データとする機械学習により生成モデルを生成する。
<3.3. Generation of Interpolated Motion Data>
7 is an explanatory diagram for explaining a specific example of a process in which the generation unit 241 according to the present disclosure generates interpolated motion data. First, as a preliminary step, the learning unit 120 included in the server 10 generates a generative model for generating the interpolated motion data C. For example, the learning unit 120 generates the generative model by machine learning using a set of two pieces of temporally and spatially independent motion data and parameters related to interpolation (hereinafter referred to as interpolation parameters), and the interpolated motion data as teacher data.

より具体的には、学習部120は、図7に示すように、モーションデータを任意の長さで3分割し、それぞれ第1のモーションデータAと、第2のモーションデータBと、第3のモーションデータLとする。第1のモーションデータAと、第2のモーションデータBと、第3のモーションデータLの長さは、ユースケースごとに変更されてもよいし、生成モデルの学習中に可変であってもよい。 More specifically, as shown in FIG. 7, the learning unit 120 divides the motion data into three parts of arbitrary length, which are the first motion data A, the second motion data B, and the third motion data L. The lengths of the first motion data A, the second motion data B, and the third motion data L may be changed for each use case, or may be variable during learning of the generative model.

続いて、学習部120は、第1のモーションデータAおよび第2のモーションデータBと補間パラメータを生成モデルに入力する。この際に、第3のモーションデータLはロストと見做す(即ち、第3のモーションデータLは生成モデルに入力されない。)。これにより学習部120は、暫定的な生成モデルを生成する。 Then, the learning unit 120 inputs the first motion data A, the second motion data B, and the interpolation parameters into the generative model. At this time, the third motion data L is considered to be lost (i.e., the third motion data L is not input into the generative model). In this way, the learning unit 120 generates a provisional generative model.

次いで、学習部120は、生成した生成モデルを用いて、第1のモーションデータAおよび第2のモーションデータBから生成された補間モーションデータCと、第3のモーションデータ(即ち、正解モーション)と、のロスを算出する。 Next, the learning unit 120 uses the generated generative model to calculate the loss between the interpolated motion data C generated from the first motion data A and the second motion data B, and the third motion data (i.e., the correct motion).

そして、学習部120は、ロスが小さくなるように補間モーションデータのパラメータ(例えば、関節位置および関節姿勢など)を修正して繰り返し学習し、生成モデルを更新してもよい。そして、サーバ10が備える通信部130は、学習部120により生成された生成モデルをPC20に送信してもよい。 The learning unit 120 may then modify the parameters of the interpolated motion data (e.g., joint positions and joint postures) to reduce loss and repeat learning to update the generative model. The communication unit 130 included in the server 10 may then transmit the generative model generated by the learning unit 120 to the PC 20.

なお、学習部120は、任意のモーションデータ(様々な動きを含む複数のモーションデータ)から生成モデルを生成してもよいし、歩行または走行などの特定のモーションデータごとに生成モデルを生成してもよい。 The learning unit 120 may generate a generative model from any motion data (multiple motion data including various movements), or may generate a generative model for each specific motion data, such as walking or running.

そして、本開示に係るPC20が備える生成部241は、サーバ10から得られた生成モデルGを用いて、補間モーションデータCを生成してもよい。より具体的には、生成部241は、下記数式(1)を用いて、補間モーションデータxを生成してもよい。 The generation unit 241 included in the PC 20 according to the present disclosure may generate the interpolated motion data C using the generation model G obtained from the server 10. More specifically, the generation unit 241 may generate the interpolated motion data xC using the following formula (1).

Figure 2024055447000002
Figure 2024055447000002

なお、数式(1)における、xは補間モーションデータであり、xは第1のモーションデータであり、xは第2のモーションデータであり、c~cは補間パラメータである。 In addition, in the formula (1), xC is the interpolated motion data, xA is the first motion data, xB is the second motion data, and c0 to cn are the interpolated parameters.

補間パラメータは、境界条件または制約条件等のモーションデータの動きに関連する各種パラメータであり、ユーザにより一部設定されてもよいし、第1のモーションデータAおよび第2のモーションデータBに基づき、自動で設定されてもよい。 The interpolation parameters are various parameters related to the movement of the motion data, such as boundary conditions or constraint conditions, and may be partially set by the user or may be automatically set based on the first motion data A and the second motion data B.

ここで、図8を参照し、補間パラメータの具体例を説明する。 Here, we will explain a specific example of the interpolation parameters with reference to Figure 8.

(補間パラメータ)
図8は、補間パラメータの具体例を説明するための説明図である。図8では、第1のモーションデータAと、第2のモーションデータBが時間的および空間的に独立している状況を示す。ここでの空間的な独立とは、第1のモーションデータAと第2のモーションデータBとが空間的に離れている状態を示し、時間的な独立とは、第1のモーションデータAが開始時刻から終了時刻までの時間と、第2のモーションデータBの開始時刻から終了時刻までの時間が重なっていない状態を示す。
(Interpolation parameters)
Fig. 8 is an explanatory diagram for explaining a specific example of the interpolation parameters. Fig. 8 shows a situation in which the first motion data A and the second motion data B are independent in time and space. Here, spatial independence refers to a state in which the first motion data A and the second motion data B are spatially separated, and temporal independence refers to a state in which the time from the start time to the end time of the first motion data A and the time from the start time to the end time of the second motion data B do not overlap.

例えば、3次元空間上のモーションデータの位置は、位置ベクトルPで表現される。例えば、時刻tにおける第1のモーションデータAの位置は、P=(x,y,z)で表現される。また、時刻tにおける第2のモーションデータBの位置は、P=(x,y,z)で表現される。 For example, the position of motion data in three-dimensional space is represented by a position vector P. For example, the position of the first motion data A at time tA is represented by P A = (x A , y A , z A ), and the position of the second motion data B at time tB is represented by P B = (x B , y B , z B ).

なお、3次元空間上のモーションデータの位置とは、例えばキャラクターのルート関節(腰関節)の位置であってもよいし、他の関節(例えば、つま先の関節)の位置であってもよいし、複数の関節の位置から算出された位置であってもよい。 The position of the motion data in three-dimensional space may be, for example, the position of the character's root joint (waist joint), the position of another joint (for example, a toe joint), or a position calculated from the positions of multiple joints.

また、3次元空間上のモーションデータの姿勢は、全関節の相対姿勢に相当する全関節姿勢Sで表現される。例えば、時刻tにおける第1のモーションデータAの姿勢は、S(t)で表現される。また、時刻tにおける第2のモーションデータBの姿勢は、S(t)で表現される。 The posture of the motion data in three-dimensional space is represented by a total joint posture S, which corresponds to the relative postures of all joints. For example, the posture of the first motion data A at time tA is represented by S A (t A ). The posture of the second motion data B at time tB is represented by S B (t B ).

補間パラメータには、様々なパラメータが存在し得る。本明細書では、(A)~(H)の8種類のパラメータを紹介するが、他のパラメータが含まれてもよい。また、(A)~(H)のパラメータのうちの一部のパラメータはユーザにより手動で指定されていてもよい。また、(A)~(H)の全てのパラメータが補間モーションデータの生成に用いられなくてもよい。即ち、(A)~(H)の一部のパラメータが生成モデルに入力されてもよい。 There may be various types of interpolation parameters. In this specification, eight types of parameters (A) to (H) are introduced, but other parameters may be included. Also, some of the parameters (A) to (H) may be manually specified by the user. Also, not all of the parameters (A) to (H) may be used to generate the interpolated motion data. In other words, some of the parameters (A) to (H) may be input to the generative model.

(A)空間位置
補間パラメータは、モーションデータの空間位置に関するパラメータを含んでもよい。例えば、空間位置に関するパラメータは、第1のモーションデータAおよび第2のモーションデータBの三次元空間上の距離である。換言すると、空間位置に関するパラメータは、第1のモーションデータAおよび第2のモーションデータBの空間位置の差分であり、||p―p||で表される。
(A) Spatial Position The interpolation parameters may include parameters related to the spatial positions of the motion data. For example, the parameters related to the spatial positions are the distances in three-dimensional space between the first motion data A and the second motion data B. In other words, the parameters related to the spatial positions are the difference between the spatial positions of the first motion data A and the second motion data B, and are represented as ||p A -p B ||.

ここで、第1のモーションデータの位置pまたは第2のモーションデータの位置pは、ユーザにより手動で設定されてもよいし、第1のモーションデータAおよび第2のモーションデータBに基づき、自動で設定されてもよい。 Here, the position pA of the first motion data or the position pB of the second motion data may be set manually by the user, or may be set automatically based on the first motion data A and the second motion data B.

例えば、空間位置の差分は、第1のモーションデータA、および第2のモーションデータBの各ルート関節の速度によって補間モーションデータの部位または関節の軌道を推定し、当該推定結果に基づき自動で設定されてもよい。 For example, the spatial position difference may be automatically set based on the estimation result by estimating the trajectory of a part or joint of the interpolated motion data based on the velocity of each root joint in the first motion data A and the second motion data B.

(B)補間時間
補間パラメータは、補間モーションデータにより補間される補間時間に関するパラメータを含んでもよい。補間時間に関するパラメータは、第1のモーションデータAおよび第2のモーションデータBのタイムライン上の時間差であり、t-tで表される。
(B) Interpolation Time The interpolation parameters may include parameters related to an interpolation time to be interpolated by the interpolated motion data. The parameters related to the interpolation time are a time difference on a time line between the first motion data A and the second motion data B, and are represented by t B -t A.

また、第1のモーションデータAの終了時刻または第2のモーションデータBの開始時刻は、ユーザにより手動で設定されてもよいし、自動で設定されてもよい。 In addition, the end time of the first motion data A or the start time of the second motion data B may be set manually by the user or automatically.

例えば、補間時間は、第1のモーションデータA、および第2のモーションデータBのルート関節の速度または空間位置の差分に基づき自動で設定されてもよい。 For example, the interpolation time may be automatically set based on the difference in the velocity or spatial position of the root joint between the first motion data A and the second motion data B.

(C)第1のモーションデータAの姿勢(補間開始姿勢、境界条件)
補間パラメータは、第1のモーションデータAの姿勢に関するパラメータを含んでもよい。第1のモーションデータAの姿勢に関するパラメータは、補間開始時刻t以降のモーションデータAをトリミングすることで、補間開始時刻tの姿勢を調整するパラメータであり、S(t)で表される。第1のモーションデータAの姿勢に関するパラメータが調整されることで、補間開始時の補間モーションデータCの姿勢をより自然にすることが可能になり得る。
(C) Posture of first motion data A (interpolation start posture, boundary conditions)
The interpolation parameters may include parameters related to the posture of the first motion data A. The parameters related to the posture of the first motion data A are parameters for adjusting the posture at the interpolation start time tA by trimming the motion data A after the interpolation start time tA , and are represented as S A (t A ). Adjusting the parameters related to the posture of the first motion data A can make it possible to make the posture of the interpolated motion data C at the start of the interpolation more natural.

また、第1のモーションデータAの姿勢に関するパラメータは、第1のモーションデータAのルート関節の速度から推定される補間開始姿勢として最も安定している姿勢に基づき、自動で設定されてもよい。 In addition, the parameters related to the posture of the first motion data A may be automatically set based on the most stable posture as the interpolation start posture estimated from the velocity of the root joint of the first motion data A.

(D)第2のモーションデータBの姿勢(補間終了姿勢、境界条件)
補間パラメータは、第2のモーションデータBの姿勢に関するパラメータを含んでもよい。第2のモーションデータBの姿勢に関するパラメータは、補間終了時刻t以前のモーションデータBをトリミングすることで、補間終了時刻tの姿勢を調整するパラメータであり、S(t)で表される。第2のモーションデータBの姿勢に関するパラメータを調整することで、補間終了時の補間モーションデータCの姿勢をより自然にすることが可能になり得る。
(D) Posture of second motion data B (interpolation end posture, boundary conditions)
The interpolation parameters may include parameters related to the posture of the second motion data B. The parameters related to the posture of the second motion data B are parameters for adjusting the posture at the interpolation end time tB by trimming the motion data B before the interpolation end time tB , and are represented as S B (t B ). Adjusting the parameters related to the posture of the second motion data B can make it possible to make the posture of the interpolated motion data C at the end of the interpolation more natural.

また、第2のモーションデータBの姿勢に関するパラメータは、第2のモーションデータBのルート関節の速度から推定される補間終了姿勢として最も安定している姿勢に基づき、自動で設定されてもよい。 In addition, the parameters related to the posture of the second motion data B may be automatically set based on the most stable posture as the interpolation end posture estimated from the velocity of the root joint of the second motion data B.

(E)コンタクト条件
補間パラメータは、コンタクト条件に関するパラメータを含んでもよい。コンタクト条件に関するパラメータは、補間開始時刻tから補間終了時刻tまでの間に何歩歩くかといった地面との接触に関するパラメータであってもよい。
(E) Contact Condition The interpolation parameters may include parameters related to the contact condition. The parameters related to the contact condition may be parameters related to contact with the ground, such as the number of steps taken between the interpolation start time tA and the interpolation end time tB .

例えば、コンタクト条件に関するパラメータは、補間開始時刻tから補間終了時刻tまでの補間時間全体を通して「n歩」のように指定されてもよい。例えば、補間時間全体を通して「5歩」というコンタクト条件に関するパラメータが設定された場合、補間開始時刻tから補間終了時刻tまでの間に5歩歩く補間モーションデータCが生成される。 For example, the parameter related to the contact condition may be specified as "n steps" throughout the entire interpolation time from the interpolation start time tA to the interpolation end time tB . For example, when a parameter related to the contact condition of "five steps" throughout the entire interpolation time is set, interpolated motion data C is generated in which five steps are taken between the interpolation start time tA and the interpolation end time tB .

また、足先が地面に接触している状態を「1」とし、足先が地面に接触していない(即ち、足先が地面から離れている)状態を「0」とした場合、コンタクト条件に関するパラメータは、t~t間の各時刻tにおいてc(t)={0,1}等のように逐次指定されてもよい。例えば、「c(t)={0,1}」というコンタクト条件に関するパラメータが設定された場合、時刻tにおいて、左足の足先が地面に接触しておらず、右足の足先が地面に接触している補間モーションデータCが生成される。 Furthermore, if the state in which the toes are in contact with the ground is designated as "1" and the state in which the toes are not in contact with the ground (i.e., the toes are off the ground) is designated as "0", the parameters relating to the contact condition may be sequentially designated, such as c(t)={0, 1}, at each time t between t A and t B. For example, if the parameter relating to the contact condition is set as "c(t 1 )={0, 1}", interpolated motion data C is generated in which the toe of the left foot is not in contact with the ground and the toe of the right foot is in contact with the ground at time t 1.

また、コンタクト条件に関するパラメータは、第1のモーションデータAおよび第2のモーションデータBの空間位置の差分または補間時間から、より適切な歩数が推定され、当該推定結果に基づき、自動で設定されてもよい。 In addition, the parameters related to the contact condition may be automatically set based on a more appropriate number of steps estimated from the difference in spatial positions or the interpolation time between the first motion data A and the second motion data B.

(F)位置制約条件
補間パラメータは、位置制約条件に関するパラメータを含んでもよい。位置制約条件に関するパラメータは、補間モーションデータCの途中の姿勢の固定に関するパラメータである。位置制約条件に関するパラメータは、t~t間のある時刻tにおいて、補間モーションデータCの全関節姿勢を固定するパラメータであり、S(t)で表される。
(F) Positional Constraint Conditions The interpolation parameters may include parameters related to positional constraint conditions. The parameters related to positional constraint conditions are parameters related to fixing intermediate postures of the interpolated motion data C. The parameters related to positional constraint conditions are parameters that fix the postures of all joints in the interpolated motion data C at a certain time t between t A and t B , and are represented by S C (t).

例えば、t~t間のある時刻tにおいて、膝を地面につける補間モーションデータをユーザが求めていた場合、当該ユーザは、当該時刻tにおいて、膝を地面につけるような全関節姿勢のパラメータを、位置制約条件に関するパラメータとして設定してもよい。 For example, if a user is looking for interpolated motion data in which the knee touches the ground at a certain time t between t A and t B , the user may set parameters of all joint postures in which the knee touches the ground at that time t as parameters related to position constraint conditions.

(G)セマンティック条件
補間パラメータは、セマンティック条件に関するパラメータを含んでもよい。セマンティック条件に関するパラメータは、補間モーションデータCのスタイルに関するパラメータを含む。
(G) Semantic Conditions The interpolation parameters may include parameters related to semantic conditions. The parameters related to semantic conditions include parameters related to the style of the interpolated motion data C.

ここでのスタイルとは、モーションデータの動きの特性やジャンルとして表現されたラベルなどにより定義され、学習部120がモーションデータにラベルを付与して生成モデルを学習させることでセマンティック条件に関するパラメータを設けることが実現され得る。 The style here is defined by labels expressed as the characteristics of the movements of the motion data and genres, and the learning unit 120 can assign labels to the motion data and train a generative model to set parameters related to semantic conditions.

なお、スタイルの具体例には、「ダイナミックに」、「ダンス調で」、「ジャンプしながら」、または「男性(女性)的に」などが挙げられる。また、アプリケーションごとにセマンティック条件に関するパラメータが付与されてもよいし、生成部241は、このようなセマンティック条件に関するパラメータを設けずに補間モーションデータCを生成してもよい。 Specific examples of styles include "dynamically," "dance-like," "jumping," and "masculine (feminine)." Parameters related to semantic conditions may be assigned for each application, or the generating unit 241 may generate the interpolated motion data C without providing parameters related to such semantic conditions.

(H)乱数またはノイズ
補間パラメータは、乱数またはノイズに関するパラメータを含んでもよい。例えば、補間モーションデータCを生成する生成モデルは、確率的生成モデルとして乱数を入力してもよい。乱数またはノイズに関するパラメータが用いられることによって上述したような他の補間パラメータが固定されていても異なる補間モーションデータCが生成され得る。
(H) Random Numbers or Noise The interpolation parameters may include parameters related to random numbers or noise. For example, a generation model that generates the interpolated motion data C may input random numbers as a probabilistic generation model. By using parameters related to random numbers or noise, different interpolated motion data C can be generated even if the other interpolation parameters described above are fixed.

生成部241は、乱数をシードとして入力することで、様々なバリエーションの補間モーションデータCを生成してもよいし、乱数を与えずに(即ち、乱数を固定値にして)補間モーションデータCを生成してもよい。 The generation unit 241 may generate various variations of the interpolated motion data C by inputting a random number as a seed, or may generate the interpolated motion data C without providing a random number (i.e., by setting the random number to a fixed value).

以上、補間パラメータの具体例について説明した。上述したように、生成部241は、第1のモーションデータAと、第2のモーションデータBと、補間パラメータとに基づき、補間モーションデータCを生成する。 Specific examples of the interpolation parameters have been described above. As described above, the generation unit 241 generates the interpolation motion data C based on the first motion data A, the second motion data B, and the interpolation parameters.

そして、生成部241は、第1のモーションデータAと、補間モーションデータCと、第2のモーションデータを連結させた連結モーションデータを生成する。しかし、補間パラメータの設定値次第では、生成された連結モーションデータに含まれる各モーションデータが必ずしも自然に(滑らかに)連結されていない恐れがある。 The generation unit 241 then generates linked motion data by linking the first motion data A, the interpolated motion data C, and the second motion data. However, depending on the setting value of the interpolation parameter, there is a risk that the motion data included in the generated linked motion data may not be linked naturally (smoothly).

そこで、本開示に係る情報処理システムは、第1のモーションデータAと、補間モーションデータCと、第2のモーションデータBを、より自然に連結させることが可能な仕組みを有する。より具体的には、算出部243は、第1のモーションデータAと、第2のモーションデータBと、生成部241により生成された補間モーションデータCと、に基づき、各モーションデータのモーション速度に関連する指標を算出する。 The information processing system according to the present disclosure has a mechanism that enables the first motion data A, the interpolated motion data C, and the second motion data B to be linked more naturally. More specifically, the calculation unit 243 calculates an index related to the motion speed of each piece of motion data based on the first motion data A, the second motion data B, and the interpolated motion data C generated by the generation unit 241.

続いて、算出部243により算出される指標の具体例と、当該指標に基づく補間モーションデータの候補をユーザに提示する処理に係る具体例について説明する。 Next, we will explain specific examples of the indices calculated by the calculation unit 243 and a specific example of the process of presenting candidates for interpolated motion data based on the indices to the user.

<3.4.スコアリング>
まず、生成部241は、上述した数式(1)を用いて、第1のモーションデータx、第2のモーションデータxおよび補間パラメータc~cに基づき、補間モーションデータxを生成する。そして、算出部243は、下記数式(2)を用いて、少なくとも1以上の指標Sを含む合計指標sを算出してもよい。
3.4. Scoring
First, the generation unit 241 generates the interpolation motion data xC based on the first motion data xA , the second motion data xB , and the interpolation parameters c0 to cn using the above-mentioned formula (1). Then, the calculation unit 243 may calculate a total index s including at least one index S using the following formula (2).

Figure 2024055447000003
Figure 2024055447000003

例えば、算出部243は、下記数式(3)を用いて、5つの指標Sが含まれる合計指標sを、算出してもよい。 For example, the calculation unit 243 may calculate a total index s including five indexes S using the following formula (3):

Figure 2024055447000004
Figure 2024055447000004

数式(3)における、wp、v、j、およびwは、それぞれ各指標に対する重み係数であり、自動で設定されてもよいし、ユースケースごとに指定されてもよい。 In formula (3), wp, wv, wj , wf , and wm are weighting coefficients for each index, and may be set automatically or may be specified for each use case.

また、数式(3)における合計指標sは、物理指標とヒューリスティック指標の複合で定義される。但し、合計指標sに含まれる指標Sは、以下で説明する物理指標およびヒューリスティック指標に限定されない。また、合計指標sにおける指標Sには、以下で説明する指標Sの全てを必ずしも含んでいなくてもよい。例えば、数式(3)には、wmeta(メタ指標)の項が含まれていなくてもよい。まず、数式(3)における4つの物理指標について説明する。 Furthermore, the total index s in Equation (3) is defined as a combination of a physical index and a heuristic index. However, the index S included in the total index s is not limited to the physical index and the heuristic index described below. Furthermore, the index S in the total index s does not necessarily include all of the indexes S described below. For example, Equation (3) does not necessarily include the term w m S meta ( meta index). First, the four physical indexes in Equation (3) will be described.

(物理指標)
例えば、物理指標には、第1のモーションデータA、補間モーションデータCおよび第2のモーションデータB(以下、各モーションデータと表現する場合がある。)のモーション速度に関連する指標が含まれる。ここでのモーション速度とは、例えば、ルート関節の速度、他の関節の速度(例えば、足先の速度)または複数の関節の速度を組み合わせた際の速度が含まれる。また、モーション速度に関連する指標には、モーションの速度、加速度、または位置に関連する指標が含まれてもよい。
(Physical indicators)
For example, the physical indices include indices related to the motion speeds of the first motion data A, the interpolated motion data C, and the second motion data B (hereinafter, sometimes referred to as each motion data). The motion speeds here include, for example, the speed of the root joint, the speeds of other joints (e.g., the speed of the toes), or a speed obtained by combining the speeds of a plurality of joints. Indices related to the motion speeds may also include indices related to the speed, acceleration, or position of the motion.

例えば、物理指標には、各モーションデータが連続している度合を示す連続位置指標Spositionが含まれてもよい。連続位置指標Spositionは、補間モーションデータCの速度の最大値と、当該補間モーションデータCの前後の複数フレームにある第1のモーションデータAおよび第2のモーションデータBの平均速度と、の差分に基づく指標であってもよい。 For example, the physical index may include a successive position index S position indicating the degree of succession of each motion data. The successive position index S position may be an index based on the difference between the maximum value of the velocity of the interpolated motion data C and the average velocity of the first motion data A and the second motion data B in multiple frames before and after the interpolated motion data C.

第1のモーションデータAから補間モーションデータCに遷移する区間と、補間モーションデータCから第2のモーションデータBに遷移する区間では、特に、各モーションデータの関節位置が瞬間的に移動すると、不自然な挙動になり得る。このような不自然な挙動を減らすための指標として連続位置指標Spositionが定義され、下記数式(4)により得られる値が小さいほど、連続位置指標Spositionは大きく算出される。 In particular, in the section where the first motion data A transitions to the interpolated motion data C, and in the section where the interpolated motion data C transitions to the second motion data B, unnatural behavior may occur if the joint positions of the motion data move instantaneously. A continuous position index S position is defined as an index for reducing such unnatural behavior, and the smaller the value obtained by the following formula (4), the larger the continuous position index S position is calculated to be.

Figure 2024055447000005
Figure 2024055447000005

数式(4)によれば、連続位置指標Spositionは、補間モーションデータCの速度最大値Max(||v||)と、当該補間モーションデータCの前後の複数フレームにある第1のモーションデータAおよび第2のモーションデータBの平均速度||vAB||と、の差分が小さくなる程、大きく算出される。連続位置指標Spositionが大きく算出されることは、換言すると、各モーションデータの関節位置が連続的に移動している状態を示す。 According to formula (4), the continuous position index S position is calculated to be larger as the difference between the maximum velocity Max (||v C ||) of the interpolated motion data C and the average velocity ||v AB || of the first motion data A and second motion data B in multiple frames before and after the interpolated motion data C becomes smaller. In other words, a larger continuous position index S position indicates a state in which the joint positions of each motion data are moving continuously.

また、物理指標には、各モーションデータの速度の滑らかさの度合いを示す速度指標Svelocityが含まれてもよい。速度指標Svelocityは、補間モーションデータCの平均速度と、第1のモーションデータAおよび第2のモーションデータBの平均速度と、の差分に基づく指標であってもよい。 The physical index may also include a velocity index S velocity indicating the degree of smoothness of the velocity of each motion data. The velocity index S velocity may be an index based on the difference between the average velocity of the interpolated motion data C and the average velocities of the first motion data A and the second motion data B.

第1のモーションデータAおよび第2のモーションデータBの平均速度と、補間モーションデータCの平均速度が大きく異なる場合、当該補間モーションデータCは、第1のモーションデータAまたは第2のモーションデータBと比較して急に速く、または急にゆっくり動いてしまうため、不自然な挙動になり得る。このような不自然な挙動を減らすための指標として速度指標Svelocityが定義され、下記数式(5)により得られる値が小さいほど、速度指標Svelocityは大きく算出される。 When the average speed of the first motion data A and second motion data B differs greatly from the average speed of the interpolated motion data C, the interpolated motion data C may suddenly move faster or slower compared to the first motion data A or the second motion data B, resulting in unnatural behavior. A speed index S velocity is defined as an index for reducing such unnatural behavior, and the smaller the value obtained by the following formula (5), the larger the calculated speed index S velocity .

Figure 2024055447000006
Figure 2024055447000006

数式(5)によれば、速度指標Svelocityは、補間モーションデータCの平均速度||Average(v)||と、第1のモーションデータAおよび第2のモーションデータBの平均速度||vAB||と、の差分が小さくなると大きく算出される。速度指標Svelocityが大きく算出されることは、換言すると、各モーションデータがより滑らかに動いている状態を示す。 According to formula (5), the velocity index S velocity is calculated to be large as the difference between the average velocity ∥Average(v C )∥ of the interpolated motion data C and the average velocity ∥v AB ∥ of the first motion data A and the second motion data B becomes small. In other words, a large velocity index S velocity indicates a state in which each motion data is moving more smoothly.

また、物理指標には、補間モーションデータCのjerk(躍度:加速度の変化率)が小さい度合を示す加速度指標Sjerkyが含まれてもよい。加速度指標Sjerkyは、補間モーションデータCの加速度の微分成分に基づく指標であってもよい。 The physical index may also include an acceleration index S jerk that indicates the degree to which the jerk (jerk: rate of change of acceleration) of the interpolated motion data C is small. The acceleration index S jerk may be an index based on a differential component of the acceleration of the interpolated motion data C.

生成部241により生成された補間モーションデータCが急に加速または減速をすると不自然な挙動になり得る。このような不自然な挙動を減らすための指標として、加速度指標Sjerkyが定義され、下記数式(6)により得られる値が小さいほど、加速度指標Sjerkyは大きく算出される。 If the interpolated motion data C generated by the generation unit 241 suddenly accelerates or decelerates, this may result in unnatural behavior. An acceleration index S jerky is defined as an index for reducing such unnatural behavior, and the smaller the value obtained by the following formula (6), the larger the acceleration index S jerky is calculated to be.

Figure 2024055447000007
Figure 2024055447000007

数式(6)によれば、加速度指標Sjerkyは、補間モーションデータCの微分値である躍度が小さくなると、大きく算出される。加速度指標Sjerkyが大きく算出されることは、換言すると、各モーションデータのjerkが小さい状態(即ち、急に加速または減速しない状態)を示す。 According to formula (6), the acceleration index S jerk is calculated to be large when the jerk, which is the differential value of the interpolated motion data C, is small. In other words, the acceleration index S jerk being calculated to be large indicates a state in which the jerk of each motion data is small (i.e., a state in which there is no sudden acceleration or deceleration).

また、物理指標には、補間モーションデータCの足先が接地時に滑らないかの足先指標Sfootが含まれてもよい。足先指標Sfootは、補間モーションデータCの足の先端部位が地面に接触している際の、当該足の先端部位の速度に関連する指標である。 The physical index may also include a foot index S foot indicating whether the toe of the interpolated motion data C will slip when touching the ground. The foot index S foot is an index related to the speed of the tip of the foot of the interpolated motion data C when the tip of the foot is in contact with the ground.

補間モーションデータCの足先が地面に接触している際、当該足先の速度の大きさが0以上であると、補間モーションデータCの足先は、地面に対して滑りが発生している。多くのケースにおいて、足が滑ることは不自然な挙動になり得る。このような、不自然な挙動を減らすための指標として、足先指標Sfootが定義され、下記数式(7)により得られる値が小さいほど、足先指標Sfootは大きく算出される。 When the toe of the interpolated motion data C is in contact with the ground, if the magnitude of the velocity of the toe is equal to or greater than 0, the toe of the interpolated motion data C is slipping on the ground. In many cases, foot slipping can result in unnatural behavior. A toe index S foot is defined as an index for reducing such unnatural behavior, and the smaller the value obtained by the following equation (7), the larger the toe index S foot is calculated to be.

Figure 2024055447000008
Figure 2024055447000008

数式(7)によれば、足先指標Sfootは、補間モーションデータCの足先の速度の大きさが小さくなると、大きく算出される。足先指標Sfootが大きく算出されることは、換言すると、補間モーションデータCの足先が、地面に対して滑りが発生していない状態を示す。 According to equation (7), the toe index S foot is calculated to be large as the magnitude of the velocity of the toes of the interpolated motion data C decreases. In other words, the toe index S foot being calculated to be large indicates a state in which the toes of the interpolated motion data C are not slipping on the ground.

以上、物理指標の具体例を説明した。続いて、数式(3)に含まれるヒューリスティック指標の一例について説明する。 A specific example of a physical indicator has been described above. Next, we will explain an example of a heuristic indicator included in formula (3).

(ヒューリスティック指標)
ヒューリスティック指標には、ユースケースごとに異なるメタ指標Smetaが含まれてもよい。メタ指標Smetaは、補間モーションデータの属性と、前記補間モーションデータに要求される属性と、の差分に基づく、ユースケースに応じた指標であってもよい。
(Heuristic Indicators)
The heuristic index may include a meta index S meta that differs for each use case. The meta index S meta may be an index according to the use case based on a difference between an attribute of the interpolated motion data and an attribute required for the interpolated motion data.

ユーザの感性やユースケースから、生成部241により生成された補間モーションデータCの属性が大きくかけ離れていると不自然に感じる場合がある。例えば、第1のモーションデータA、および第2のモーションデータBは女性が演じたモーションで、生成部241により生成された補間モーションデータCは大柄の男性が演じたようなモーションであった場合、各モーションデータを連結した連結モーションデータは不自然な挙動になり得る。このような、ユースケースに応じた不自然な挙動を減らすための指標として、メタ指標Smetaが定義され、補間モーションデータCの属性を判定する関数をF、求める属性をmとすると、下記数式(8)により得られる値が小さいほど、メタ指標Smetaは大きく算出される。 A user may feel that the attributes of the interpolated motion data C generated by the generation unit 241 are unnatural if they are significantly different from each other depending on the user's sensibility or use case. For example, if the first motion data A and the second motion data B are motions performed by a woman, and the interpolated motion data C generated by the generation unit 241 is motions that look like they were performed by a large man, the connected motion data obtained by connecting the respective motion data may exhibit unnatural behavior. A meta-index S meta is defined as an index for reducing such unnatural behavior according to a use case. If a function for determining the attributes of the interpolated motion data C is F and the attribute to be sought is m, the smaller the value obtained by the following formula (8), the larger the calculated meta-index S meta is.

Figure 2024055447000009
Figure 2024055447000009

数式(8)によれば、メタ指標Smetaは、ユースケースに応じて求められる属性mと、生成部241により生成された補間モーションデータCの属性F(M)と、の差分が小さいほど、大きく算出される。メタ指標Smetaが大きく算出されることは、換言すると、生成部241により生成された補間モーションデータCがユーザの感性やユースケースに応じている状態を示す。 According to formula (8), the smaller the difference between the attribute m determined according to the use case and the attribute F(M C ) of the interpolated motion data C generated by the generation unit 241, the larger the calculated meta index S meta is . In other words, a state in which the interpolated motion data C generated by the generation unit 241 corresponds to the user's sensibility and the use case is indicated.

以上説明したような合計指標sが算出部243により算出された後、生成部241は、補間パラメータの値を変更して、再び、補間モーションデータxを生成し、再び算出部243は、生成された補間モーションデータxから合計指標sを算出する。 After the total index s as described above is calculated by the calculation unit 243, the generation unit 241 changes the values of the interpolation parameters and generates the interpolated motion data xC again, and the calculation unit 243 again calculates the total index s from the generated interpolated motion data xC .

このような、補間パラメータの修正から、合計指標sの算出までの一連の処理が複数回に亘って繰り返し行われてもよい。 This series of processes from modifying the interpolation parameters to calculating the total index s may be repeated multiple times.

即ち、生成部241が補間パラメータを修正して、再び補間モーションデータxを生成し、算出部243が生成部241により再び生成された補間モーションデータxから合計指標sを算出する一連の処理が複数回に亘って繰り返し行われてもよい。 That is, the generation unit 241 may modify the interpolation parameters and generate the interpolated motion data xC again, and the calculation unit 243 may calculate the total index s from the interpolated motion data xC generated again by the generation unit 241. This series of processes may be repeated multiple times.

なお、上述した物理指標の算出方法は上述した各数式に限定されず、より厳密な計算手法が用いられてもよい。また、ヒューリスティック指標の算出方法は他のユースケースに合わせた指標が用いられてもよい。 The calculation method for the physical indexes described above is not limited to the above-mentioned formulas, and a more precise calculation method may be used. In addition, the calculation method for the heuristic index may use an index suited to other use cases.

また、上述した物理指標およびヒューリスティック指標の算出式では、各算出式により得られた値が小さいほど、指標Sが大きくなる例を説明したが、各算出式により得られた値が大きいほど、指標Sが大きくなるように式変形が行われてもよい。 In addition, in the above-mentioned calculation formulas for the physical index and the heuristic index, an example was described in which the smaller the value obtained by each calculation formula, the larger the index S becomes, but the formulas may be modified so that the larger the value obtained by each calculation formula, the larger the index S becomes.

以上、算出部243により算出される指標の具体例を説明した。以上説明した一連の処理によれば、複数の補間モーションデータCと、複数のモーションデータCにより算出されたスコア(合計指標または指標)との組み合わせが複数個用意される。 The above describes specific examples of the indices calculated by the calculation unit 243. According to the series of processes described above, multiple combinations of multiple pieces of interpolated motion data C and scores (total indices or indices) calculated from the multiple pieces of motion data C are prepared.

ここで、生成部241は、算出部243によりスコア(合計指標または指標)が算出された補間モーションデータCを候補リストに追加してもよい。 Here, the generation unit 241 may add the interpolated motion data C whose score (total index or index) has been calculated by the calculation unit 243 to the candidate list.

そして、生成部241は、補間モーションデータCの候補リストをスコア順(より具体的には、スコアが高い順)にソートし、操作表示部220は、ソートされた補間モーションデータの候補を表示してもよい。 Then, the generation unit 241 may sort the list of candidates for the interpolated motion data C in order of score (more specifically, in order of highest score), and the operation display unit 220 may display the sorted candidates for the interpolated motion data.

これにより、ユーザは、スコアが高い順にソートされた補間モーションデータCの候補を確認することが可能になり、補間モーションデータCの閲覧におけるユーザの利便性が向上され得る。 This allows the user to view candidates for interpolated motion data C sorted in descending order of score, improving the convenience for the user when viewing the interpolated motion data C.

続いて、図9を参照し、本開示に係るGUI(Graphical User Interface)の一例を説明する。 Next, an example of a GUI (Graphical User Interface) according to the present disclosure will be described with reference to FIG. 9.

<3.5.GUI(グラフィカルユーザインタフェース)>
図9は、本開示に係るGUIの一例を説明するための説明図である。まず、ユーザは、操作表示部220を用いて、第1のモーションデータAを選択し、タイムライン上の任意区間M1に挿入する。
<3.5. GUI (Graphical User Interface)>
9 is an explanatory diagram for explaining an example of a GUI according to the present disclosure. First, the user uses the operation display unit 220 to select a first motion data A and insert it into an arbitrary section M1 on the timeline.

続いて、ユーザは、操作表示部220を用いて、第2のモーションデータBを選択し、タイムライン上の他の任意区間M2に挿入する。なお、任意区間M1、M2の指定は、ドラッグ&ドロップのような操作により行われてもよいし、時刻の入力により行われてもよい。 Then, the user uses the operation display unit 220 to select the second motion data B and insert it into another arbitrary section M2 on the timeline. Note that the arbitrary sections M1 and M2 may be specified by an operation such as drag and drop, or by inputting the time.

ここで、生成部241は、第1のモーションデータAの終了位置(即ち、任意区間M1の終了位置)から第2のモーションデータBの開始位置(即ち、他の任意区間M2の開始位置)までの区間を補間区間M3として設定する。 Here, the generation unit 241 sets the section from the end position of the first motion data A (i.e., the end position of the arbitrary section M1) to the start position of the second motion data B (i.e., the start position of another arbitrary section M2) as the interpolation section M3.

また、ユーザは、操作表示部220を用いて、上述した補間パラメータの一部を手動で設定してもよい。 The user may also manually set some of the above-mentioned interpolation parameters using the operation display unit 220.

そして、ユーザにより補間モーションデータの生成に係る操作(例えば、図示していない実行ボタンの押下など)が行われると、生成部241は、補間モーションデータを生成し、算出部243は、生成部241により生成された補間モーションデータのスコアを算出する。 When the user performs an operation related to generating interpolated motion data (for example, pressing an execute button not shown), the generation unit 241 generates the interpolated motion data, and the calculation unit 243 calculates the score of the interpolated motion data generated by the generation unit 241.

そして、生成部241は、スコア順に補間モーションデータCをソートし、操作表示部220は、図9に示すような、スコア順にソートされた補間モーションデータの候補リストを表示する。 Then, the generation unit 241 sorts the interpolated motion data C in order of score, and the operation display unit 220 displays a list of candidates for the interpolated motion data sorted in order of score, as shown in FIG. 9.

図9に示す候補リストは、第1の補間モーションデータC1、第2の補間モーションデータC2、第3の補間モーションデータC3、および第4の補間モーションデータC4の順にスコアが高く算出された場合の候補リストである。また、候補リストに含める補間モーションデータの上限が4つで設定されている場合、図9に示すような4つの補間モーションデータC1~C4が操作表示部220に表示されるが、例えば、候補リストに含める補間モーションデータの上限が5以上で設定されている場合、ユーザは、候補リストを下にスクロールすることで、スコアが小さく算出された補間モーションデータC5~を確認することが可能である。 The candidate list shown in FIG. 9 is a candidate list in which the first interpolated motion data C1, the second interpolated motion data C2, the third interpolated motion data C3, and the fourth interpolated motion data C4 are calculated to have the highest scores, in that order. Furthermore, if the upper limit of the interpolated motion data to be included in the candidate list is set to four, the four interpolated motion data C1 to C4 as shown in FIG. 9 are displayed on the operation display unit 220. However, if the upper limit of the interpolated motion data to be included in the candidate list is set to five or more, for example, the user can scroll down the candidate list to check the interpolated motion data C5 onwards that have been calculated to have the lowest scores.

そして、ユーザが候補リストから一の補間モーションデータCを選択すると、生成部241は、第1のモーションデータA、ユーザが選択した補間モーションデータC、および第2のモーションデータBを連結した連結モーションデータを生成する。 Then, when the user selects one piece of interpolated motion data C from the candidate list, the generation unit 241 generates linked motion data that links the first motion data A, the interpolated motion data C selected by the user, and the second motion data B.

そして、操作表示部220は、生成部241により生成された連結モーションデータを表示する。 Then, the operation display unit 220 displays the linked motion data generated by the generation unit 241.

以上、本開示に係るGUIの一例を説明したが、GUIは上述した例に限定されない。例えば、操作表示部220は、第1のモーションデータAと第2のモーションデータBを単に連結した連結モーションデータまたはモーションブレンドにより補間された連結モーションデータなどを表示してもよい。 Although an example of a GUI according to the present disclosure has been described above, the GUI is not limited to the above example. For example, the operation display unit 220 may display linked motion data that simply links the first motion data A and the second motion data B, or linked motion data that is interpolated by motion blending.

以上、本開示に係る情報処理システムの詳細を説明した。続いて、図10を参照し、本開示に係るPC20の動作処理の一例を説明する。 The above describes the details of the information processing system according to the present disclosure. Next, an example of the operation process of the PC 20 according to the present disclosure will be described with reference to FIG. 10.

<<4.動作処理例>>
図10は、本開示に係るPC20の動作処理の一例を説明するためのフローチャートである。まず、ユーザは、操作表示部220を用いて、第1のモーションデータAを選択する(S101)。
<<4. Operation processing example>>
10 is a flowchart for explaining an example of an operational process of the PC 20 according to the present disclosure. First, the user uses the operation display unit 220 to select the first motion data A (S101).

続いて、ユーザは、操作表示部220を用いて、第2のモーションデータBを選択する(S105)。 Next, the user selects the second motion data B using the operation display unit 220 (S105).

次に、生成部241は、少なくとも1以上の補間パラメータを自動で設定する(S109)。ここで、ユーザは、操作表示部220を用いて、補間パラメータの一部を手動で設定してもよい。 Next, the generation unit 241 automatically sets at least one or more interpolation parameters (S109). Here, the user may manually set some of the interpolation parameters using the operation display unit 220.

そして、生成部241は、ユーザにより選択された第1のモーションデータAおよび第2のモーションデータBと、生成部241(またはユーザ)により設定された補間パラメータと、に基づき、補間モーションデータCを生成する(S113)。 Then, the generation unit 241 generates the interpolated motion data C based on the first motion data A and the second motion data B selected by the user and the interpolation parameters set by the generation unit 241 (or the user) (S113).

次に、算出部243は、生成部241により生成された補間モーションデータCと、ユーザが選択した第1のモーションデータAおよび第2のモーションデータBに基づき、スコア(合計指標または指標)を算出する(S117)。 Next, the calculation unit 243 calculates a score (total index or index) based on the interpolated motion data C generated by the generation unit 241 and the first motion data A and second motion data B selected by the user (S117).

続いて、生成部241は、算出部243がスコアを算出した補間モーションデータCを候補リストに追加する(S121)。なお、生成部241は、算出部243により算出されたスコアが所定値以上である補間モーションデータCを候補リストに追加し、スコアが所定値未満である補間モーションデータCを候補リストに追加しなくてもよい。 Then, the generation unit 241 adds the interpolated motion data C whose score has been calculated by the calculation unit 243 to the candidate list (S121). Note that the generation unit 241 may add to the candidate list the interpolated motion data C whose score calculated by the calculation unit 243 is equal to or greater than a predetermined value, and may not add to the candidate list the interpolated motion data C whose score is less than the predetermined value.

次いで、生成部241は、補間モーションデータCの候補リストをスコア順(より具体的には、スコアが高い順)にソートする(S125)。 Next, the generation unit 241 sorts the candidate list of the interpolated motion data C in order of score (more specifically, in order of highest score) (S125).

そして、生成部241は、候補リストに追加した補間モーションデータCの数量が候補リストの上限に達したか否かを判定する(S129)。候補リストの上限に達した場合(S129:YES)、処理はS133に進められ、候補リストの上限に達していない場合(S129:NO)、処理は再びS109に戻り補間パラメータが再設定(変更)され、S129で候補リストの上限に達するまでS109~S129の処理が繰り返し行われる。なお、ここでの候補リストの上限は、予め設定された所定回数に対応し、ユーザが指定してもよいし、自動で設定されてもよい。 Then, the generation unit 241 determines whether the amount of interpolated motion data C added to the candidate list has reached the upper limit of the candidate list (S129). If the upper limit of the candidate list has been reached (S129: YES), the process proceeds to S133. If the upper limit of the candidate list has not been reached (S129: NO), the process returns to S109 again, where the interpolation parameters are reset (changed), and the processes of S109 to S129 are repeated until the upper limit of the candidate list is reached in S129. Note that the upper limit of the candidate list here corresponds to a predetermined number of times and may be specified by the user or may be set automatically.

補間モーションデータCの数量が候補リストの上限に達した場合(S129:YES)、操作表示部220は、スコア順にソートされた補間モーションデータCの候補リストを表示する(S133)。 If the amount of interpolated motion data C reaches the upper limit of the candidate list (S129: YES), the operation display unit 220 displays a candidate list of interpolated motion data C sorted in order of score (S133).

続いて、操作表示部220は、ユーザにより、候補リストに含まれる一の補間モーションデータCが選択される(S137)。 Then, the operation display unit 220 allows the user to select one of the interpolated motion data C included in the candidate list (S137).

そして、生成部241は、ユーザにより選択された補間モーションデータCを第1のモーションデータAと第2のモーションデータBの間に補間した連結モーションデータを生成し(S141)、本開示に係るPC20は処理を終了する。 Then, the generation unit 241 generates linked motion data by interpolating the interpolated motion data C selected by the user between the first motion data A and the second motion data B (S141), and the PC 20 according to the present disclosure ends the process.

<<5.作用効果例>>
以上説明した本開示によれば、多様な作用効果が得られる。例えば、本開示に係る生成部241は、時間的および空間的に独立した第1のモーションデータAおよび第2のモーションデータBの間を補間する補間モーションデータCを生成し、算出部243は、第1のモーションデータA、第2のモーションデータBおよび生成部241により生成された補間モーションデータCに基づき、各モーションデータのモーション速度に関連する指標を算出する。これにより、ユーザは、第1のモーションデータA、第2のモーションデータB、および補間モーションデータCを連結される際に想定される、連結モーションデータがより自然な挙動になる度合を判別することが可能になる。この結果、生成部241は、複数のモーションデータをより自然に繋げた連結モーションデータを生成することが可能になり得る。
<<5. Examples of effects>>
According to the present disclosure described above, various operational effects can be obtained. For example, the generation unit 241 according to the present disclosure generates the interpolated motion data C that interpolates between the first motion data A and the second motion data B that are independent in time and space, and the calculation unit 243 calculates an index related to the motion speed of each piece of motion data based on the first motion data A, the second motion data B, and the interpolated motion data C generated by the generation unit 241. This allows the user to determine the degree to which the connected motion data, which is expected when the first motion data A, the second motion data B, and the interpolated motion data C are connected, will behave more naturally. As a result, the generation unit 241 may be able to generate connected motion data that connects a plurality of motion data more naturally.

また、生成部241が補間パラメータを変更して補間モーションデータCを複数回に亘って生成し、算出部243は、生成部241により生成された各補間モーションデータCを用いてスコアを算出する。更に、操作表示部220は、スコア順にソートされた補間モーションデータCの候補リストを表示する。これにより、ユーザは、当該ユーザがより求める補間モーションデータCを選択することが容易になる。この結果、ユーザは、当該ユーザの希望に沿う連結モーションデータを確認し得る。 The generation unit 241 also changes the interpolation parameters to generate the interpolated motion data C multiple times, and the calculation unit 243 calculates a score using each piece of interpolated motion data C generated by the generation unit 241. Furthermore, the operation display unit 220 displays a candidate list of the interpolated motion data C sorted in order of score. This makes it easy for the user to select the interpolated motion data C that the user desires. As a result, the user can confirm linked motion data that meets the user's wishes.

<<6.変形例>>
(モーションキャプチャの補間技術)
本開示に係る補間モーションデータの生成による補間処理は、モーションキャプチャにおける補間技術にも適用できる。例えば、モーションキャプチャシステムによってモーションが収録された場合、オクルージョン等が原因となり一部のモーションがロストする場合がある。
<<6. Modifications>>
(Motion capture interpolation technology)
The interpolation process by generating the interpolated motion data according to the present disclosure can also be applied to the interpolation technology in motion capture. For example, when motion is recorded by a motion capture system, some of the motion may be lost due to occlusion or the like.

この場合、生成部241は、ロスト区間の前後のモーションをそれぞれ第1のモーションデータA、第2のモーションデータBとして、当該第1のモーションデータAおよび当該第2のモーションデータBを滑らかに補間するような補間モーションデータCを生成し、ロスト区間のモーションを補間してもよい。 In this case, the generation unit 241 may generate interpolated motion data C that smoothly interpolates the first motion data A and the second motion data B, respectively, for the motion before and after the lost section, to interpolate the motion of the lost section.

このケースでは、補間パラメータ設定時において、複数の補間パラメータのうち、空間位置、補間時間、第1のモーションデータAの姿勢、および第2のモーションデータBの姿勢に関する補間パラメータは固定される。PC20は、それ以外の補間パラメータ(即ち、コンタクト条件、位置制約条件、セマンティック条件、および乱数など)を修正して、繰り返し補間モーションデータを生成、且つスコア算出を行う。そして、補間モーションデータの候補が表示された後、ユーザが一の補間モーションデータを指定することでロスト区間の補間が可能となる。なお、必ずしもユーザが一の補間モーションデータを指定しなくてもよく、生成部241は、最もスコアが高く算出された補間モーションデータCまたはスコアが閾値を超えた補間モーションデータを自動で指定し、ロスト区間の補間を行ってもよい。 In this case, when setting the interpolation parameters, among the multiple interpolation parameters, the interpolation parameters related to the spatial position, the interpolation time, the posture of the first motion data A, and the posture of the second motion data B are fixed. The PC 20 modifies the other interpolation parameters (i.e., the contact condition, the position constraint condition, the semantic condition, the random number, etc.) to repeatedly generate the interpolated motion data and calculate the score. Then, after candidates for the interpolated motion data are displayed, the user can specify one of the interpolated motion data to interpolate the lost section. Note that the user does not necessarily have to specify one of the interpolated motion data, and the generation unit 241 may automatically specify the interpolated motion data C with the highest calculated score or the interpolated motion data with a score exceeding a threshold value to interpolate the lost section.

また、体の一部の部位(例えば、手など)のモーションがロストする場合なども想定される。この場合、生成部241は、体の一部の部位(対象部位と称する。)に対してロスト区間を定めてもよい。 It is also possible that the motion of a part of the body (e.g., a hand) may be lost. In this case, the generation unit 241 may determine a lost section for that part of the body (referred to as a target part).

そして、生成部241は、対象部位のロスト前後のモーションをそれぞれ第1のモーションデータAおよび第2のモーションデータBとし、対象部位を滑らかに補間するような補間モーションデータCを生成してもよい。これにより、対象部位を除く体のモーションはそのままモーションキャプチャにより得られた得られたモーションを採用し、モーションがロストした対象部位の補間が可能となる。 The generating unit 241 may then generate the first motion data A and the second motion data B for the motion before and after the target part is lost, respectively, and generate interpolated motion data C that smoothly interpolates the target part. This allows the motion of the body excluding the target part to be directly obtained by motion capture, making it possible to interpolate the target part where the motion has been lost.

また、対象部位の補間処理が実行される場合、アプリケーションのタイムライン上で補間する対象部位が分岐されてもよい(例えば、右手のみなど)。また、モーションが補間される対象部位は複数あってもよい(例えば、右手+左手など)。 When the interpolation process for a target part is performed, the target part to be interpolated on the application's timeline may be branched (for example, only the right hand). Also, there may be multiple target parts whose motion is to be interpolated (for example, the right hand + the left hand).

また、生成部241は、補間パラメータとして、補間する対象部位以外の各部位に位置制約条件を設定してもよい。これにより、対象部位を除く全身はモーションデータの通りに動きつつ、対象部位(例えば、右手のみ)のみが補間される補間モーションデータが生成されてもよい。 The generating unit 241 may also set position constraint conditions as interpolation parameters for each part other than the target part to be interpolated. This may generate interpolated motion data in which only the target part (for example, only the right hand) is interpolated, while the whole body other than the target part moves according to the motion data.

また、算出部243は、生成部241により生成された対象部位から、上述したスコアを算出してもよい。対象部位が複数ある場合、算出部243は、対象部位ごとに補間パラメータの値を変更し、対象部位ごとに重みづけをして指標を算出してもよい。そして、操作表示部220は、対象部位の補間モーションデータと、対象部位を除く全身モーションを連結させて表示してもよい。 The calculation unit 243 may also calculate the above-mentioned score from the target parts generated by the generation unit 241. When there are multiple target parts, the calculation unit 243 may change the value of the interpolation parameter for each target part and calculate an index by weighting each target part. Then, the operation display unit 220 may display the interpolated motion data of the target part and the whole-body motion excluding the target part in combination.

また、VRゲームやメタバース空間におけるアプリケーションでは、モーションキャプチャシステムを用いてユーザの動きをリアルタイムでアバターに反映させる。その際に、リアルタイムモーションキャプチャ中にハンドジェスチャーやエモートモーションなど事前に登録したアニメーションを流し込むケースがある。 In addition, in VR games and applications in the metaverse space, a motion capture system is used to reflect the user's movements on an avatar in real time. In some cases, pre-registered animations such as hand gestures and emote motions are fed into the avatar during real-time motion capture.

ここで、生成部421は、リアルタイムモーションを第1のモーションデータAとし、エモートモーションを第2のモーションデータBとし、第1のモーションデータA、第2のモーションデータBを滑らかに補間するような補間モーションデータCを生成してもよい。これにより、リアルタイムモーションからエモートモーションに自然に遷移することが可能になり得る。また、リアルタイムモーションと、事前収録モーションを組み合わせた新しい表現(例えば、VRライブ等)が可能となる。 Here, the generation unit 421 may generate interpolated motion data C that smoothly interpolates the first motion data A and the second motion data B, with the real-time motion as the first motion data A and the emote motion as the second motion data B. This may enable a natural transition from real-time motion to emote motion. It may also enable new expressions (e.g., VR live) that combine real-time motion and pre-recorded motion.

(モーションブレンドとの合成)
また、本開示に係る補間処理には、補間モーションデータの生成による補間処理と、モーションブレンドによる補間処理とが組み合わせて用いられてもよい。例えば、生成部241は、モーションデータの上半身には、モーションブレンドによる補間処理を実行し、下半身には補間モーションデータの生成による補間処理を実行してもよい。
(Compositing with Motion Blending)
In addition, the interpolation process according to the present disclosure may be a combination of an interpolation process using interpolated motion data generation and an interpolation process using motion blending. For example, the generation unit 241 may perform an interpolation process using motion blending for the upper body of the motion data, and an interpolation process using interpolated motion data generation for the lower body.

モーションブレンドでは、生成部421は、例えば第1のモーションデータAの補間開始姿勢から第2のモーションデータBの補間終了姿勢までを線形補間することでモーションデータの連結位置を補間してもよい。 In motion blending, the generation unit 421 may, for example, interpolate the connection position of the motion data by linearly interpolating from the interpolation start posture of the first motion data A to the interpolation end posture of the second motion data B.

<<7.ハードウェア構成例>>
以上、本開示の実施形態を説明した。上述した補間モーションデータの生成およびスコア(合計指標や指標)の算出などの情報処理は、ソフトウェアと、以下に説明するPC20のハードウェアとの協働により実現される。なお、以下に説明するハードウェア構成はサーバ10にも適用可能である。
<<7. Hardware configuration example>>
The embodiment of the present disclosure has been described above. The information processing such as generating the interpolated motion data and calculating the score (total index and index) described above is realized by cooperation between software and the hardware of the PC 20 described below. Note that the hardware configuration described below can also be applied to the server 10.

図11は、本開示に係るPC20のハードウェア構成を示したブロック図である。本開示に係るPC20は、CPU(Central Processing Unit)2001と、ROM(Read Only Memory)2002と、RAM(Random Access Memory)2003と、ホストバス2004と、を備える。また、PC20は、ブリッジ2005と、外部バス2006と、インタフェース2007と、入力装置2008と、出力装置2010と、ストレージ装置(HDD)2011と、ドライブ2012と、通信装置2015とを備える。 FIG. 11 is a block diagram showing the hardware configuration of a PC 20 according to the present disclosure. The PC 20 according to the present disclosure includes a CPU (Central Processing Unit) 2001, a ROM (Read Only Memory) 2002, a RAM (Random Access Memory) 2003, and a host bus 2004. The PC 20 also includes a bridge 2005, an external bus 2006, an interface 2007, an input device 2008, an output device 2010, a storage device (HDD) 2011, a drive 2012, and a communication device 2015.

CPU2001は、演算処理装置および制御装置として機能し、各種プログラムに従ってPC20内の動作全般を制御する。また、CPU2001は、マイクロプロセッサであってもよい。ROM2002は、CPU2001が使用するプログラムや演算パラメータ等を記憶する。RAM2003は、CPU2001の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス2004により相互に接続されている。CPU2001、ROM2002およびRAM2003とソフトウェアとの協働により、図3を参照して説明した生成部241や算出部243の機能が実現され得る。 The CPU 2001 functions as an arithmetic processing device and control device, and controls the overall operation of the PC 20 in accordance with various programs. The CPU 2001 may also be a microprocessor. The ROM 2002 stores programs and arithmetic parameters used by the CPU 2001. The RAM 2003 temporarily stores programs used in the execution of the CPU 2001 and parameters that change appropriately during the execution. These are interconnected by a host bus 2004 that is composed of a CPU bus and the like. The functions of the generation unit 241 and the calculation unit 243 described with reference to FIG. 3 can be realized by the cooperation of the CPU 2001, the ROM 2002, the RAM 2003, and software.

ホストバス2004は、ブリッジ2005を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス2006に接続されている。なお、必ずしもホストバス2004、ブリッジ2005および外部バス2006を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。 The host bus 2004 is connected to an external bus 2006, such as a PCI (Peripheral Component Interconnect/Interface) bus, via a bridge 2005. Note that the host bus 2004, the bridge 2005, and the external bus 2006 do not necessarily need to be configured separately, and these functions may be implemented in a single bus.

入力装置2008は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU2001に出力する入力制御回路などから構成されている。PC20のユーザは、該入力装置2008を操作することにより、PC20に対して各種のデータを入力したり処理動作を指示したりすることができる。 The input device 2008 is composed of input means for the user to input information, such as a mouse, keyboard, touch panel, button, microphone, switch, and lever, and an input control circuit that generates an input signal based on the user's input and outputs it to the CPU 2001. By operating the input device 2008, the user of the PC 20 can input various data to the PC 20 and instruct processing operations.

出力装置2010は、例えば、液晶ディスプレイ装置、OLED装置およびランプなどの表示装置を含む。さらに、出力装置2010は、スピーカおよびヘッドホンなどの音声出力装置を含む。出力装置2010は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。 The output device 2010 includes, for example, a display device such as a liquid crystal display device, an OLED device, and a lamp. Furthermore, the output device 2010 includes an audio output device such as a speaker and headphones. The output device 2010 outputs, for example, played content. Specifically, the display device displays various information such as played video data as text or images. On the other hand, the audio output device converts played audio data, etc. into audio and outputs it.

ストレージ装置2011は、データ格納用の装置である。ストレージ装置2011は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置2011は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置2011は、ハードディスクを駆動し、CPU2001が実行するプログラムや各種データを格納する。 The storage device 2011 is a device for storing data. The storage device 2011 may include a storage medium, a recording device for recording data on the storage medium, a reading device for reading data from the storage medium, and a deleting device for deleting data recorded on the storage medium. The storage device 2011 is configured, for example, with a HDD (Hard Disk Drive). This storage device 2011 drives the hard disk and stores the programs executed by the CPU 2001 and various data.

ドライブ2012は、記憶媒体用リーダライタであり、PC20に内蔵、あるいは外付けされる。ドライブ2012は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体30に記録されている情報を読み出して、RAM2003に出力する。また、ドライブ2012は、リムーバブル記憶媒体30に情報を書き込むこともできる。 The drive 2012 is a reader/writer for storage media, and is built into the PC 20 or attached externally. The drive 2012 reads information recorded on a removable storage medium 30, such as an attached magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and outputs the information to the RAM 2003. The drive 2012 can also write information to the removable storage medium 30.

通信装置2015は、例えば、ネットワーク1に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置2015は、無線LAN対応通信装置であっても、LTE(Long Term Evolution)対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。 The communication device 2015 is, for example, a communication interface configured with a communication device for connecting to the network 1. The communication device 2015 may be a wireless LAN compatible communication device, an LTE (Long Term Evolution) compatible communication device, or a wired communication device that performs wired communication.

<<8.補足>>
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
<<8. Supplementary Information>>
Although the preferred embodiment of the present disclosure has been described in detail above with reference to the accompanying drawings, the present disclosure is not limited to such examples. It is clear that a person having ordinary knowledge in the technical field to which the present disclosure belongs can conceive of various modified or amended examples within the scope of the technical ideas described in the claims, and it is understood that these also naturally belong to the technical scope of the present disclosure.

例えば、PC20は、本開示に係るサーバ10の全てまたは一部の機能構成を更に備えてもよい。PC20が本開示に係るサーバ10の全ての機能構成を備えた場合、PC20は、ネットワーク1を介した通信をせずに、補間モーションデータの生成から指標の算出に係る一連の処理を実行し得る。 For example, the PC 20 may further include all or part of the functional configuration of the server 10 according to the present disclosure. When the PC 20 includes all of the functional configuration of the server 10 according to the present disclosure, the PC 20 can execute a series of processes from generating the interpolated motion data to calculating the index without communicating via the network 1.

また、サーバ10が生成部241および算出部243を備えていてもよい。この場合、補間モーションデータの生成から指標の算出に係る一例の処理をサーバ上でおこない、当該処理の結果(例えば、スコア順にソートされた候補リスト)をPC20に送信してもよい。 The server 10 may also include a generation unit 241 and a calculation unit 243. In this case, an example of processing relating to the generation of the interpolated motion data and the calculation of the index may be performed on the server, and the results of the processing (e.g., a candidate list sorted in order of score) may be transmitted to the PC 20.

また、サーバ10が生成部を備える場合、PC20は、サーバ10の生成部により生成された補間モーションデータを当該サーバ10から取得してもよい。この場合、PC20が備える通信部210は、取得部に該当する。 In addition, if the server 10 includes a generation unit, the PC 20 may acquire the interpolated motion data generated by the generation unit of the server 10 from the server 10. In this case, the communication unit 210 included in the PC 20 corresponds to the acquisition unit.

また、ソフトウェアは、モーションデータの検索や編集を行うアプリケーションとして独立したものに用いられてもよいし、モーション補間編集機能を既存のDCC(Digital Content Creation)ツールのプラグインとして用いられてもよい。 The software may also be used as a standalone application for searching and editing motion data, or the motion interpolation editing function may be used as a plug-in for existing DCC (Digital Content Creation) tools.

また、補間編集に係る具体例として、補間モーションデータの生成と、モーションブレンドを例示したが、本開示に係る補間編集は係る例に限定されない。例えば、生成部241は、補間モーションデータの生成による補間編集と、モーションデータのテキスト検索による補間編集を組み合わせてモーションデータを補間してもよい。例えば、ユーザは、任意の部位のモーションデータをテキスト検索し、検索結果として表示された複数のモーションデータから一のモーションデータを選択してもよい。この場合、生成部241は、当該部位の動きはユーザにより指定されたモーションデータを用いて補間し、他の部位のおいては、補間モーションデータの生成により補間してもよい。 Furthermore, although the generation of interpolated motion data and motion blending have been exemplified as specific examples of interpolation editing, the interpolation editing according to the present disclosure is not limited to these examples. For example, the generation unit 241 may interpolate motion data by combining interpolation editing by generating interpolated motion data and interpolation editing by text search of motion data. For example, a user may perform a text search for motion data of an arbitrary body part, and select one motion data from multiple motion data displayed as search results. In this case, the generation unit 241 may interpolate the movement of that body part using the motion data specified by the user, and may interpolate the movement of other body parts by generating interpolated motion data.

また第1のモーションデータAと、第2のモーションデータBの組み合わせ次第では、補間パラメータを変更しても算出部243により算出されるスコアが高くならない可能性がある。このような場合、操作表示部220は、第2のモーションデータBを、他の第2のモーションデータB´に変更してはどうか、といった推奨情報を提示してもよい。 Depending on the combination of the first motion data A and the second motion data B, changing the interpolation parameters may not improve the score calculated by the calculation unit 243. In such a case, the operation display unit 220 may present recommendation information such as changing the second motion data B to another second motion data B'.

また、本明細書のPC20の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、PC20の処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されてもよい。 Furthermore, the steps in the processing of PC 20 in this specification do not necessarily need to be processed in chronological order according to the order described in the flowchart. For example, the steps in the processing of PC 20 may be processed in an order different from the order described in the flowchart.

また、サーバ10およびPC20に内蔵されるCPU、ROMおよびRAMなどのハードウェアに、上述したサーバ10およびPC20の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、当該コンピュータプログラムを記憶させた記憶媒体も提供される。 It is also possible to create a computer program that causes the hardware, such as the CPU, ROM, and RAM, built into the server 10 and the PC 20 to perform functions equivalent to those of the respective components of the server 10 and the PC 20 described above. A storage medium on which the computer program is stored is also provided.

また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。 Furthermore, the effects described in this specification are merely descriptive or exemplary and are not limiting. In other words, the technology disclosed herein may achieve other effects that are apparent to a person skilled in the art from the description in this specification, in addition to or in place of the above effects.

なお、以下のような構成も本開示の技術的範囲に属する。
(1)
時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得する取得部と、
前記第1のモーションデータ、前記第2のモーションデータおよび前記取得部により取得された前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出する算出部と、
を備える、情報処理装置。
(2)
前記指標は、
前記補間モーションデータの平均速度と、前記第1のモーションデータおよび前記第2のモーションデータの平均速度と、の差分に基づく指標を含む、
前記(1)に記載の情報処理装置。
(3)
前記指標は、
前記補間モーションデータの速度の最大値と、前記補間モーションデータの前後の複数フレームにある前記第1のモーションデータおよび前記第2のモーションデータの平均速度と、の差分に基づく指標を含む、
前記(1)または前記(2)に記載の情報処理装置。
(4)
前記指標は、
前記補間モーションデータの加速度の微分成分に基づく指標を含む、
前記(1)から前記(3)までのうちいずれか一項に記載の情報処理装置。
(5)
前記指標は、
前記補間モーションデータの足の先端部位が地面に接触している際の、前記足の先端部位の速度に関連する指標を含む、
前記(1)から前記(4)までのうちいずれか一項に記載の情報処理装置。
(6)
前記算出部は、
前記補間モーションデータの属性と、前記補間モーションデータに要求される属性と、の差分に基づき、ユースケースに応じた指標を算出する、
前記(1)から前記(5)までのうちいずれか一項に記載の情報処理装置。
(7)
前記算出部は、
各モーションデータの速度に関連する指標およびユースケースに関連する指標を複数算出し、当該複数の指標の各々に重み係数を乗算して加算することで合計指標を算出する、
前記(6)に記載の情報処理装置。
(8)
前記取得部は、
前記第1のモーションデータと、前記第2のモーションデータとに基づき、前記補間モーションデータを取得する、
前記(7)に記載の情報処理装置。
(9)
前記取得部は、
前記第1のモーションデータと、前記第2のモーションデータと、動きに関連する少なくとも1以上の補間パラメータとに基づき、前記補間モーションデータを取得する、
前記(8)に記載の情報処理装置。
(10)
前記取得部は、
時間的および空間的に独立した二つのモーションデータおよび前記補間パラメータと、前記補間モーションデータとの関係を学習して得られた生成モデルを用いて、前記補間モーションデータを取得する、
前記(9)に記載の情報処理装置。
(11)
前記取得部は、
前記補間パラメータを修正して、複数回に亘って前記補間モーションデータを取得する、
前記算出部は、
前記取得部により取得された複数の補間モーションデータの各々から前記合計指標を算出する、
前記(10)に記載の情報処理装置。
(12)
前記少なくとも1以上の補間パラメータは、複数の補間パラメータであり、
前記複数の補間パラメータに含まれる1以上の補間パラメータは、前記第1のモーションデータおよび前記第2のモーションデータのルート関節の速度または空間位置の差分に基づき自動で設定される、
前記(9)から前記(11)までのうちいずれか一項に記載の情報処理装置。
(13)
前記取得部は、
前記合計指標の大きさに応じた補間モーションデータの候補リストを取得する、
前記(11)に記載の情報処理装置。
(14)
前記取得部は、
前記合計指標の大きさに応じた順番で、前記補間モーションデータがソートされた候補リストを取得する、
前記(13)に記載の情報処理装置。
(15)
前記取得部は、
予め設定された所定数の回数に亘って補間パラメータを修正して、前記所定数の前記補間モーションデータを取得し、前記合計指標の大きい順番でソートされた、前記所定数の補間モーションデータの候補リストを取得する、
前記(14)に記載の情報処理装置。
(16)
前記取得部は、
前記第1のモーションデータと、前記第2のモーションデータと、前記補間モーションデータと、を連結した連結モーションデータを取得する、
前記(13)から前記(15)までのうちいずれか一項に記載の情報処理装置。
(17)
前記取得部は、
前記第1のモーションデータと、前記第2のモーションデータと、前記候補リストからユーザにより選択された一の補間モーションデータと、を連結した連結モーションデータを取得する、
前記(16)に記載の情報処理装置。
(18)
時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得することと、
前記第1のモーションデータ、前記第2のモーションデータおよび前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出することと、
を含む、コンピュータにより実行される情報処理方法。
(19)
コンピュータに、
時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得する取得機能と、
前記第1のモーションデータ、前記第2のモーションデータおよび前記取得機能により取得された前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出する算出機能と、
を実現させる、プログラム。
Note that the following configurations also fall within the technical scope of the present disclosure.
(1)
an acquisition unit that acquires interpolated motion data that is interpolated between first motion data and second motion data that are independent in time and space;
a calculation unit that calculates an index related to a motion speed of each piece of motion data based on the first motion data, the second motion data, and the interpolated motion data acquired by the acquisition unit;
An information processing device comprising:
(2)
The indicator is
an index based on a difference between an average speed of the interpolated motion data and an average speed of the first motion data and the second motion data;
The information processing device according to (1).
(3)
The indicator is
an index based on a difference between a maximum value of the velocity of the interpolated motion data and an average velocity of the first motion data and the second motion data in a plurality of frames before and after the interpolated motion data;
The information processing device according to (1) or (2).
(4)
The indicator is
an index based on a differential component of the acceleration of the interpolated motion data;
The information processing device according to any one of (1) to (3).
(5)
The indicator is
the interpolated motion data including an index related to a velocity of the tip of the foot when the tip of the foot is in contact with the ground;
The information processing device according to any one of (1) to (4).
(6)
The calculation unit is
Calculating an index according to a use case based on a difference between an attribute of the interpolated motion data and an attribute required for the interpolated motion data.
The information processing device according to any one of (1) to (5).
(7)
The calculation unit is
Calculating a plurality of indices related to the speed of each motion data and a plurality of indices related to the use case, and calculating a total index by multiplying each of the plurality of indices by a weighting coefficient and adding them up;
The information processing device according to (6) above.
(8)
The acquisition unit is
obtaining the interpolated motion data based on the first motion data and the second motion data;
The information processing device according to (7) above.
(9)
The acquisition unit is
obtaining the interpolated motion data based on the first motion data, the second motion data, and at least one interpolated parameter associated with a movement;
The information processing device according to (8).
(10)
The acquisition unit is
acquiring the interpolated motion data using a generative model obtained by learning two pieces of temporally and spatially independent motion data and a relationship between the interpolation parameters and the interpolated motion data;
The information processing device according to (9) above.
(11)
The acquisition unit is
modifying the interpolation parameters to obtain the interpolated motion data a plurality of times;
The calculation unit is
calculating the total index from each of the plurality of interpolated motion data acquired by the acquisition unit;
The information processing device according to (10).
(12)
the at least one interpolation parameter is a plurality of interpolation parameters,
one or more interpolation parameters included in the plurality of interpolation parameters are automatically set based on a difference in velocity or spatial position of a root joint between the first motion data and the second motion data;
The information processing device according to any one of (9) to (11).
(13)
The acquisition unit is
obtaining a candidate list of interpolated motion data according to the magnitude of the total index;
The information processing device according to (11) above.
(14)
The acquisition unit is
obtaining a candidate list in which the interpolated motion data is sorted in order according to the magnitude of the sum index;
The information processing device according to (13).
(15)
The acquisition unit is
modifying an interpolation parameter a predetermined number of times to obtain the predetermined number of interpolated motion data, and obtaining a candidate list of the predetermined number of interpolated motion data sorted in descending order of the total index;
The information processing device according to (14) above.
(16)
The acquisition unit is
acquiring linked motion data by linking the first motion data, the second motion data, and the interpolated motion data;
The information processing device according to any one of (13) to (15).
(17)
The acquisition unit is
acquiring linked motion data by linking the first motion data, the second motion data, and one piece of interpolated motion data selected by a user from the candidate list;
The information processing device according to (16).
(18)
Obtaining interpolated motion data that interpolates between first and second motion data that are temporally and spatially independent;
calculating an index related to a motion speed of each motion data based on the first motion data, the second motion data, and the interpolated motion data;
2. An information processing method implemented by a computer, comprising:
(19)
On the computer,
an acquisition function for acquiring interpolated motion data that is interpolated between first motion data and second motion data that are independent in time and space;
a calculation function for calculating an index related to a motion speed of each piece of motion data based on the first motion data, the second motion data, and the interpolated motion data acquired by the acquisition function;
A program to achieve this.

1 ネットワーク
10 サーバ
110 記憶部
120 学習部
130 通信部
20 PC
210 通信部
220 操作表示部
230 記憶部
240 制御部
241 生成部
243 算出部
Reference Signs List 1 Network 10 Server 110 Storage unit 120 Learning unit 130 Communication unit 20 PC
210 Communication unit 220 Operation display unit 230 Storage unit 240 Control unit 241 Generation unit 243 Calculation unit

Claims (19)

時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得する取得部と、
前記第1のモーションデータ、前記第2のモーションデータおよび前記取得部により取得された前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出する算出部と、
を備える、情報処理装置。
an acquisition unit that acquires interpolated motion data that is interpolated between first motion data and second motion data that are independent in time and space;
a calculation unit that calculates an index related to a motion speed of each piece of motion data based on the first motion data, the second motion data, and the interpolated motion data acquired by the acquisition unit;
An information processing device comprising:
前記指標は、
前記補間モーションデータの平均速度と、前記第1のモーションデータおよび前記第2のモーションデータの平均速度と、の差分に基づく指標を含む、
請求項1に記載の情報処理装置。
The indicator is
an index based on a difference between an average speed of the interpolated motion data and an average speed of the first motion data and the second motion data;
The information processing device according to claim 1 .
前記指標は、
前記補間モーションデータの速度の最大値と、前記補間モーションデータの前後の複数フレームにある前記第1のモーションデータおよび前記第2のモーションデータの平均速度と、の差分に基づく指標を含む、
請求項1に記載の情報処理装置。
The indicator is
an index based on a difference between a maximum value of the velocity of the interpolated motion data and an average velocity of the first motion data and the second motion data in a plurality of frames before and after the interpolated motion data;
The information processing device according to claim 1 .
前記指標は、
前記補間モーションデータの加速度の微分成分に基づく指標を含む、
請求項1に記載の情報処理装置。
The indicator is
an index based on a differential component of the acceleration of the interpolated motion data;
The information processing device according to claim 1 .
前記指標は、
前記補間モーションデータの足の先端部位が地面に接触している際の、前記足の先端部位の速度に関連する指標を含む、
請求項1に記載の情報処理装置。
The indicator is
the interpolated motion data including an index related to a velocity of the tip of the foot when the tip of the foot is in contact with the ground;
The information processing device according to claim 1 .
前記算出部は、
前記補間モーションデータの属性と、前記補間モーションデータに要求される属性と、の差分に基づき、ユースケースに応じた指標を算出する、
請求項1に記載の情報処理装置。
The calculation unit is
Calculating an index according to a use case based on a difference between an attribute of the interpolated motion data and an attribute required for the interpolated motion data.
The information processing device according to claim 1 .
前記算出部は、
各モーションデータの速度に関連する指標およびユースケースに関連する指標を複数算出し、当該複数の指標の各々に重み係数を乗算して加算することで合計指標を算出する、
請求項6に記載の情報処理装置。
The calculation unit is
Calculating a plurality of indices related to the speed of each motion data and a plurality of indices related to the use case, and calculating a total index by multiplying each of the plurality of indices by a weighting coefficient and adding them up;
The information processing device according to claim 6.
前記取得部は、
前記第1のモーションデータと、前記第2のモーションデータとに基づき、前記補間モーションデータを取得する、
請求項7に記載の情報処理装置。
The acquisition unit is
obtaining the interpolated motion data based on the first motion data and the second motion data;
The information processing device according to claim 7.
前記取得部は、
前記第1のモーションデータと、前記第2のモーションデータと、動きに関連する少なくとも1以上の補間パラメータとに基づき、前記補間モーションデータを取得する、
請求項8に記載の情報処理装置。
The acquisition unit is
obtaining the interpolated motion data based on the first motion data, the second motion data, and at least one interpolated parameter associated with a movement;
The information processing device according to claim 8.
前記取得部は、
時間的および空間的に独立した二つのモーションデータおよび前記補間パラメータと、前記補間モーションデータとの関係を学習して得られた生成モデルを用いて、前記補間モーションデータを取得する、
請求項9に記載の情報処理装置。
The acquisition unit is
acquiring the interpolated motion data using a generative model obtained by learning two pieces of temporally and spatially independent motion data and a relationship between the interpolation parameters and the interpolated motion data;
The information processing device according to claim 9.
前記取得部は、
前記補間パラメータを修正して、複数回に亘って前記補間モーションデータを取得する、
前記算出部は、
前記取得部により取得された複数の補間モーションデータの各々から前記合計指標を算出する、
請求項10に記載の情報処理装置。
The acquisition unit is
modifying the interpolation parameters to obtain the interpolated motion data a plurality of times;
The calculation unit is
calculating the total index from each of the plurality of interpolated motion data acquired by the acquisition unit;
The information processing device according to claim 10.
前記少なくとも1以上の補間パラメータは、複数の補間パラメータであり、
前記複数の補間パラメータに含まれる1以上の補間パラメータは、前記第1のモーションデータおよび前記第2のモーションデータのルート関節の速度または空間位置の差分に基づき自動で設定される、
請求項9に記載の情報処理装置。
the at least one interpolation parameter is a plurality of interpolation parameters,
one or more interpolation parameters included in the plurality of interpolation parameters are automatically set based on a difference in velocity or spatial position of a root joint between the first motion data and the second motion data;
The information processing device according to claim 9.
前記取得部は、
前記合計指標の大きさに応じた補間モーションデータの候補リストを取得する、
請求項11に記載の情報処理装置。
The acquisition unit is
obtaining a candidate list of interpolated motion data according to the magnitude of the total index;
The information processing device according to claim 11.
前記取得部は、
前記合計指標の大きさに応じた順番で、前記補間モーションデータがソートされた候補リストを取得する、
請求項13に記載の情報処理装置。
The acquisition unit is
obtaining a candidate list in which the interpolated motion data is sorted in order according to the magnitude of the sum index;
The information processing device according to claim 13.
前記取得部は、
予め設定された所定数の回数に亘って補間パラメータを修正して、前記所定数の前記補間モーションデータを取得し、前記合計指標の大きい順番でソートされた、前記所定数の補間モーションデータの候補リストを取得する、
請求項14に記載の情報処理装置。
The acquisition unit is
modifying an interpolation parameter a predetermined number of times to obtain the predetermined number of the interpolated motion data, and obtaining a candidate list of the predetermined number of the interpolated motion data sorted in descending order of the total index;
The information processing device according to claim 14.
前記取得部は、
前記第1のモーションデータと、前記第2のモーションデータと、前記補間モーションデータと、を連結した連結モーションデータを取得する、
請求項13に記載の情報処理装置。
The acquisition unit is
acquiring linked motion data by linking the first motion data, the second motion data, and the interpolated motion data;
The information processing device according to claim 13.
前記取得部は、
前記第1のモーションデータと、前記第2のモーションデータと、前記候補リストからユーザにより選択された一の補間モーションデータと、を連結した連結モーションデータを取得する、
請求項16に記載の情報処理装置。
The acquisition unit is
acquiring linked motion data by linking the first motion data, the second motion data, and one piece of interpolated motion data selected by a user from the candidate list;
The information processing device according to claim 16.
時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得することと、
前記第1のモーションデータ、前記第2のモーションデータおよび前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出することと、
を含む、コンピュータにより実行される情報処理方法。
Obtaining interpolated motion data that interpolates between first and second motion data that are temporally and spatially independent;
calculating an index related to a motion speed of each motion data based on the first motion data, the second motion data, and the interpolated motion data;
2. An information processing method implemented by a computer, comprising:
コンピュータに、
時間的および空間的に独立した第1のモーションデータおよび第2のモーションデータの間を補間する補間モーションデータを取得する取得機能と、
前記第1のモーションデータ、前記第2のモーションデータおよび前記取得機能により取得された前記補間モーションデータに基づき、各モーションデータのモーション速度に関連する指標を算出する算出機能と、
を実現させる、プログラム。
On the computer,
an acquisition function for acquiring interpolated motion data that is interpolated between first motion data and second motion data that are independent in time and space;
a calculation function for calculating an index related to a motion speed of each piece of motion data based on the first motion data, the second motion data, and the interpolated motion data acquired by the acquisition function;
A program to achieve this.
JP2022162381A 2022-10-07 2022-10-07 Information processing device, information processing method, and program Pending JP2024055447A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022162381A JP2024055447A (en) 2022-10-07 2022-10-07 Information processing device, information processing method, and program
PCT/JP2023/031239 WO2024075435A1 (en) 2022-10-07 2023-08-29 Information processing device, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022162381A JP2024055447A (en) 2022-10-07 2022-10-07 Information processing device, information processing method, and program

Publications (1)

Publication Number Publication Date
JP2024055447A true JP2024055447A (en) 2024-04-18

Family

ID=88068990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022162381A Pending JP2024055447A (en) 2022-10-07 2022-10-07 Information processing device, information processing method, and program

Country Status (2)

Country Link
JP (1) JP2024055447A (en)
WO (1) WO2024075435A1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2580615B (en) * 2019-01-16 2022-10-26 Sony Interactive Entertainment Inc Method and system for determining blending coefficients
US11132606B2 (en) * 2019-03-15 2021-09-28 Sony Interactive Entertainment Inc. Reinforcement learning to train a character using disparate target animation data

Also Published As

Publication number Publication date
WO2024075435A1 (en) 2024-04-11

Similar Documents

Publication Publication Date Title
JP6082101B2 (en) Body motion scoring device, dance scoring device, karaoke device, and game device
Jörg et al. Data-driven finger motion synthesis for gesturing characters
CN107430781B (en) Data structure of computer graphics, information processing apparatus, information processing method, and information processing system
US20210312689A1 (en) Enhanced pose generation based on conditional modeling of inverse kinematics
US20040012594A1 (en) Generating animation data
US11497999B2 (en) Method and system for determining blending coefficients
JP2011508290A (en) Motion animation method and apparatus
CN111179385B (en) Dance animation processing method and device, electronic equipment and storage medium
US10049483B2 (en) Apparatus and method for generating animation
EP1031945A2 (en) Animation creation apparatus and method
JP2010267069A (en) Apparatus for generation of video content, and computer program
JP5232129B2 (en) Virtual character generation device and virtual character generation program
Ashida et al. Pedestrians: Creating agent behaviors through statistical analysis of observation data
US10026210B2 (en) Behavioral motion space blending for goal-oriented character animation
JP5495222B2 (en) Operation object control device, system, method and program
CN117203675A (en) Artificial intelligence for capturing facial expressions and generating mesh data
JP2008015713A (en) Motion deformation system and method for it
JP2024055447A (en) Information processing device, information processing method, and program
JP7409390B2 (en) Movement recognition method, movement recognition program and information processing device
US20080273039A1 (en) Real-time goal space steering for data-driven character animation
JP2006196017A (en) Animation creation apparatus and method, storage medium
Neff et al. Layered performance animation with correlation maps
JP5162512B2 (en) Multidimensional time series data analysis apparatus and multidimensional time series data analysis program
WO2023203890A1 (en) Information-processing device, information-processing method, and program
WO2022123800A1 (en) Information processing device, information processing method, and program