WO2010143766A1 - 동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법 - Google Patents

동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법 Download PDF

Info

Publication number
WO2010143766A1
WO2010143766A1 PCT/KR2009/003307 KR2009003307W WO2010143766A1 WO 2010143766 A1 WO2010143766 A1 WO 2010143766A1 KR 2009003307 W KR2009003307 W KR 2009003307W WO 2010143766 A1 WO2010143766 A1 WO 2010143766A1
Authority
WO
WIPO (PCT)
Prior art keywords
discrete
editing
motion
constraints
path
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.)
Ceased
Application number
PCT/KR2009/003307
Other languages
English (en)
French (fr)
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.)
SNU R&DB Foundation
Original Assignee
SNU R&DB Foundation
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 SNU R&DB Foundation filed Critical SNU R&DB Foundation
Priority to US13/376,781 priority Critical patent/US9030479B2/en
Publication of WO2010143766A1 publication Critical patent/WO2010143766A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/20Three-dimensional [3D] animation
    • G06T13/40Three-dimensional [3D] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2213/00Indexing scheme for animation
    • G06T2213/08Animation software package

Definitions

  • Embodiments according to the present invention relate to a system and method for editing motion of a plurality of synchronized characters.
  • the motion editing system edits a spatial path of input character data according to a user's constraint, and applies a discrete deformation while a character data is processed and a Laplacian motion editing unit for processing interactive time distortion. And a discrete operation editing unit.
  • the Laplacian motion editing unit may further include a degenerate case processing unit that processes a degenerate case and an overall body improvement unit that improves the entire body of the character.
  • the discrete transformation may include three types of insertion, deletion and replacement, and the user's constraints include spatial constraints and absolute time, including pin constraints, relationship constraints and end-effect constraints. , Time constraints, including duration and synchronization.
  • the method for editing a motion in the Laplacian motion editing unit according to a user's constraint is edited and mutually edited. Processing the functional time distortion and applying discrete deformation while the character data is processed in the discrete motion editing unit.
  • discontinuous editing and continuous path editing can be seamlessly combined through an interactive manipulation interface for a plurality of characters, and synchronized operation at large scale by integrating discontinuous editing characteristics You can edit
  • FIG. 3 illustrates an example of handling interactive time distortion of two synchronized time tracks in a motion editing system according to one embodiment of the invention.
  • FIG. 7 is a block diagram illustrating an internal configuration of an operation editing system according to an embodiment of the present invention.
  • Cooperative and hostile interactions between multiple characters usually require synchronization in both space and time.
  • Most existing motion editing techniques allow the motion of each individual character to be manipulated independently. Editing a plurality of synchronized character actions can be cumbersome if the user must manually maintain the constraints that exist between humans for synchronization.
  • the present specification provides a new interactive action editing technique that allows a user to designate an interaction between characters as a collection of linear constraints while maintaining constraints, and to simultaneously manipulate a plurality of synchronized character actions.
  • path constraints may take the form of a linear equation system by the vector 'p' in equation (5).
  • Soft and hard space constraints, respectively, 'And' It can be expressed as'
  • the absolute time may mean that temporal adjustment of the character motion in the frame ' i ' may be restricted with respect to the reference time.
  • Absolute time ' When given as' the constraint equation can be expressed as Equation 6 below.
  • the duration may mean that the duration of the operation sequence between the frame ' i ' and the frame ' j ' may be specified by a constraint that can be formulated by Equation 7 below.
  • ' t i ' can have the temporal adjustment of the character in frame ' i '
  • ' t k ' can have the temporal adjustment of the character in frame ' j '
  • time mismatch ' e t ' can have a constant scalar value. have. If ' e t ' has a value of '0', it must be correctly synchronized in frame ' i ' and frame ' j ' of the reference time of the two character motions.
  • the first type of such degenerate case is a stationary path.
  • Some human motion data are fragile even for small deformations, while some other motion data remain natural even after large deformations.
  • the walking motion is usually resilient to extending the travel path, and thus can be deformed over a wide range of curvature angles.
  • manipulating the path of fixed motion can cause the character to wander around unnaturally with slippery feet. If the average speed on the path does not exceed the threshold, or if both feet are firmly on the ground, the part-path, which is part of the motion path, is fixed.
  • the motion editing system considers the fixed part-path as rigid segments, in which way the part-path is not deformed while being interactively adjusted. In other words, the degenerate case for the fixed path can be simply processed by putting the constraints for the shape-preservation manipulation corresponding to Equation 9 in the collection of hard constraints.
  • the overall body motion of the character present between the modified paths requires an end-effector constraint defined by the user and requires a final modification to avoid foot-sliding problems. If the foot is in sufficient contact with the ground and the speed is within the threshold, the contact of the foot with the ground can be identified automatically. Constraints and end-effector constraints upon contact with the ground can be fed to hybrid inverse kinematic solvers and hierarchical displacement mapping.
  • end-effector constraints may involve nonlinear equations, and thus repetition of inverse kinematic solvers may be required.
  • the combination of root path editing and IK-based clean up can be a practical solution that can make motion editing systems fast enough for practical applications.
  • End-effector constraints can be added to the root constraints for this joining operation. For example, to make a character move a box, the motion editing system may first constrain the box to remain near the root using a relational position / orientation constraint and then use the character's hand using an end-effector constraint. It can be constrained to contact this box.
  • Temporal distortion only requires the first phase of the path editing algorithm.
  • the resizing problem occurs in the dragging direction of the coordinator in the orthogonal direction and therefore scale compensation is not necessary for one-dimensional curves.
  • the second step of the path editing algorithm can be rather damaging. That is, the path editing algorithm can cause the frame to scale faster in the middle of the motion data than at the beginning and end of the motion data.
  • Discrete motion editing can allow for structural changes that occur seamlessly during Laplacian path editing. The following describes how to identify possible discrete transformations, how to evaluate the transformed paths, and how to integrate the discrete optimization with the interface of interactive behavior editing while maintaining interactive performance.
  • the motion editing system may provide a discrete conversion appropriate to the motion path in the middle of the user's operation as needed. At this time, only one operation path may be converted for updating for each user constraint.
  • 6 is an example of an algorithm that can be used for optimization of a discrete transform in an operation editing system according to an embodiment of the present invention.
  • the user updates the temporal or spatial constraints once, and the motion editing system calculates all possible discrete transforms to evaluate the user's constraints. At that time, the most appropriate discrete transform is selected and modified to suit the user's constraints accurately using Laplacian motion editing.
  • the algorithm of Figure 6 is suitable for use for interactive manipulation because the response to the update for each of the user's constraints can be immediate and predictable.
  • the motion editing system 700 includes a Laplacian motion editing unit 710 and a discrete motion editing unit 720 as shown in FIG. 7.
  • the Laplacian motion editing unit 710 includes a spatial path editing unit 711, a temporal distortion processing unit 712, and a degenerate case processing unit 713 as shown in FIG. 7. And it may include the entire body improvement unit 714.
  • the spatial path editing unit 711 edits the spatial path through shape-preservation manipulation and scale compensation.
  • the spatial path editing unit 711 may obtain an intermediate result by extending the over-determined linear system for shape-preservation manipulation through a pseudo inverse matrix and a Lagrange multiplier method.
  • the overdetermined linear system may be formed in such a way that a modified path having the same local coordinates at all points is maintained to be the same as the set of modified local coordinates, and associated with a soft constraint of the user's constraints. .
  • the time warping processor 712 processes the interactive time warping.
  • the time distortion processing unit 712 may process the time distortion through a system obtained by extending the hypercrystalline linear system through a pseudo inverse matrix and the Lagrange multiplier method.
  • the overdetermined linear system is formed through an association between a linear system obtained by uniformly sampling and inputting motion data and a soft constraint among the user constraints.
  • the discrete motion editing unit 720 may use the discrete conversion application unit 721, the deformation energy calculation unit 722, the discrete conversion removal unit 723, and the accelerator 724 as illustrated in FIG. 7. It may include.
  • the strain energy calculator 722 calculates strain energy for the operation path to which the discrete transformation is applied to satisfy the user's constraint. At this time, the strain energy calculation unit 722 is based on the strain energy for each shape-preservation, scale-compensation, time-distortion, and weights given to the path deformation in comparison to the length, temporal duration, and discrete transformation of the spatial path. Strain energy to satisfy the constraint.
  • the discrete conversion removing unit 723 removes unnecessary discrete conversion. At this time, the discrete conversion removing unit 723 removes the corresponding discrete conversion when (1) the period of the operation frame deleted or inserted by the discrete conversion is out of a predetermined range, or (2) by the first discrete conversion. If the period of the motion frame to be deleted or inserted includes the period of the motion frame affected by the effect of the second discrete transform, and the second discrete transform includes the first discrete transform, (2) Provide a user interface capable of removing or replacing discrete motion frames forced by momentary constraints or (4) activating or deactivating the discrete conversion, and through the user interface Type, character, time zone, and discrete conversion are allowed You may receive input information according to the information and to enable or disable the spatial region.
  • FIG. 8 is a flowchart illustrating an operation editing method according to an embodiment of the present invention.
  • the operation editing method according to the present embodiment may be performed by the operation editing system 700 described with reference to FIG. 7.
  • the operation editing method will be described by describing a process of performing each step through the operation editing system 700.
  • the motion editing system 700 may adjust the intermediate result according to the shape preservation operation by eliminating the problem of size change through the scale compensation.
  • the size change problem may be eliminated through a system obtained by extending an overdetermined linear system through a pseudo-inverse matrix and a Lagrange multiplier method. It can be formed through the association between soft constraints.
  • the action editing system 700 processes the interactive time warp.
  • the time distortion processing unit 712 may process the time distortion through a system obtained by extending the hypercrystalline linear system through a pseudo inverse matrix and the Lagrange multiplier method.
  • the overdetermined linear system may be formed through an association between a linear system obtained by uniformly sampling and inputting motion data and a soft constraint among the user constraints.
  • the operation editing system 700 may include steps S821 to S824 in step S820 as illustrated in FIG. 8.
  • step S821 the motion editing system 700 applies a discrete transform to the motion path of the character data.
  • the motion editing system 700 may calculate all possible discrete transforms, evaluate the constraints of the user, and select and apply the discrete transforms to be applied according to the evaluation result.
  • the motion editing system 700 calculates a deformation energy for the motion path to which the discrete transform is applied to satisfy the user's constraint.
  • the motion editing system 700 may perform the constraints based on the deformation energy for each of shape-preservation, scale-compensation, and time-distortion, and weights given to path deformations in relation to the length, temporal duration and discrete transformation of the spatial path.
  • the strain energy can be calculated to satisfy.
  • step S823 the operation editing system 700 removes unnecessary discrete conversions.
  • the motion editing system 700 removes the corresponding discrete conversion when (1) the period of the operation frame to be deleted or inserted by the discrete conversion is out of the predetermined range, or (2) the first discrete conversion is deleted.
  • the period of the operation frame to be inserted or inserted includes the period of the operation frame affected by the second discrete transform, and the second discrete transform includes the third discrete transform, or (3) instantaneously Provide a user interface capable of removing or replacing discrete motion frames forced by certain constraints, or (4) activating or deactivating the discrete conversion, and through the user interface, Types, characters, time zones, and spaces that allow for discrete conversion Information about the inferior region and information on activation or deactivation may be input.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)

Abstract

동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법을 개시한다. 동작 편집 시스템은 사용자의 제약에 따라 입력된 캐릭터 데이터의 공간적 경로를 편집하고, 상호작용적 시간 왜곡을 처리하는 라플라시안 동작 편집부 및 캐릭터 데이터가 처리되는 동안 디스크리트 변형을 적용하는 디스크리트 동작 편집부를 포함한다.

Description

동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법
본 발명에 따른 실시예들은 동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법에 관한 것이다.
복수의 캐릭터간에 협력적이고 적대적인 상호작용은 보통 공간 및 시간 모두에서 동기화가 요구된다. 대부분의 존재하는 동작 편집 기술은 각각의 개별 캐릭터의 동작을 독립적으로 변형한다. 동기화된 복수의 캐릭터 동작을 편집하는 경우 만약 사용자가 인간 사이에 존재하는 제약을 동기화를 위해 수동으로 유지하는 것은 매우 불편하고 비효율적이다. 본 명세서에서는 보다 효율적으로 복수의 캐릭터의 동작을 편집할 수 있는 동작 편집 시스템 및 방법을 제공한다.
본 발명의 일실시예는 통합된 프레임워크(framework)에서 복수의 캐릭터에 대한 공간적 경로 편집, 시간 왜곡 및 인간 사이에 발생하는 상호작용을 다룰 수 있는 동작 편집 시스템 및 방법을 제공한다.
본 발명의 일실시예는 복수의 캐릭터에 대해 상호작용적 조작 인터페이스를 통해 불연속적인 편집과 연속적인 경로 편집이 끊김없이 결합될 수 있고, 불연속적인 편집 특성을 통합함으로써 큰 스케일에서 동기화된 동작을 편집할 수 있는 동작 편집 시스템 및 방법을 제공한다.
본 발명의 일실시예에 따른 동작 편집 시스템은 사용자의 제약에 따라 입력된 캐릭터 데이터의 공간적 경로를 편집하고, 상호작용적 시간 왜곡을 처리하는 라플라시안 동작 편집부 및 캐릭터 데이터가 처리되는 동안 디스크리트 변형을 적용하는 디스크리트 동작 편집부를 포함한다.
본 발명의 일측면에 따르면, 상기 라플라시안 동작 편집부는 모양-보존 조작과 스케일 보상을 통해 상기 공간적 경로를 편집하는 공간 경로 편집부 및 상호작용적 시간 왜곡을 처리하는 시간 왜곡 처리부를 포함할 수 있다.
본 발명의 일측면에 따르면, 상기 라플라시안 동작 편집부는 디제너레이트(degenerate) 케이스를 처리하는 디제너레이트 케이스 처리부 및 캐릭터의 전체-몸체를 개선하는 전체 몸체 개선부를 더 포함할 수 있다.
본 발명의 일측면에 따르면, 상기 디스크리트 동작 편집부는 상기 캐릭터 데이터의 동작 경로에 디스크리트 변환을 적용하는 디스크리트 변환 적용부, 상기 디스크리트 변환이 적용된 동작 경로가 상기 사용자의 제약을 만족하기 위한 변형 에너지를 계산하는 변형 에너지 계산부, 불필요한 디스크리트 변환을 제거하는 디스크리트 변환 제거부 및 디스크리트 변환의 평가를 위한 부표본을 생성하는 가속화부를 포함할 수 있다.
본 발명의 일측면에 따르면, 상기 디스크리트 변환은 삽입, 삭제 및 대체의 세 가지 타입을 포함할 수 있고, 상기 사용자의 제약은 핀 제약, 관계 제약 및 엔드-이펙트 제약을 포함하는 공간적 제약 및 절대 시간, 존속기간 및 동기화를 포함하는 시간적 제약을 포함할 수 있다.
본 발명의 일실시예에 따른 라플라시안 동작 편집부 및 디스크리트 동작 편집부를 포함하는 동작 편집 시스템에서 동작을 편집하는 방법은 상기 라플라시안 동작 편집부에서 사용자의 제약에 따라 입력된 캐릭터 데이터의 공간적 경로를 편집하고, 상호작용적 시간 왜곡을 처리하는 단계 및 상기 디스크리트 동작 편집부에서 캐릭터 데이터가 처리되는 동안 디스크리트 변형을 적용하는 단계를 포함한다.
본 발명의 일실시예에 따르면, 통합된 프레임워크(framework)에서 복수의 캐릭터에 대한 공간적 경로 편집, 시간 왜곡 및 인간 사이에 발생하는 상호작용을 다룰 수 있다.
본 발명의 일실시예에 따르면, 복수의 캐릭터에 대해 상호작용적 조작 인터페이스를 통해 불연속적인 편집과 연속적인 경로 편집이 끊김없이 결합될 수 있고, 불연속적인 편집 특성을 통합함으로써 큰 스케일에서 동기화된 동작을 편집할 수 있다.
도 1은 복수의 캐릭터와 객체를 나타낸 일례이다.
도 2는 탄젠트 플립핑을 설명하기 위한 일례이다.
도 3은 본 발명의 일실시예에 따른 동작 편집 시스템에서 두 동기화된 시간 트랙의 상호작용적 시간 왜곡을 처리하는 일례를 나타낸다.
도 4는 캐릭터의 걷기 동작을 나타낸 일례이다.
도 5는 디스크리트 변환의 세가지 타입을 설명하기 위한 일례이다.
도 6은 본 발명의 일실시예에 따른 동작 편집 시스템에서 디스크리트 변환의 최적화를 위해 이용 가능한 알고리즘의 일례이다.
도 7은 본 발명의 일실시예에 있어서, 동작 편집 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 8은 본 발명의 일실시예에 있어서, 동작 편집 방법을 도시한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명에 따른 다양한 실시예를 상세히 설명하기로 한다.
인간 동작 데이터를 대화식으로 상호작용적으로 편집하는 능력은 캐릭터 애니메이션에 있어서 필수적이다. 본 발명의 일실시예에 따른 동작 편집 시스템에서 이용되는 라플라시안 동작 편집은 복수의 캐릭터간의 상화작용을 선형제약의 컬렉션으로서 공식화하고, 사용자가 시공간적 영역(domain)에서 직접적으로 캐릭터의 동작을 조절하는 동안 상기 선형제약을 강제(enforce)한다. 다양한 타입의 조작핸들이 절대적/상대적 공간적 위치, 방향, 시간, 존속기간 그리고 복수의 캐릭터에 대한 동기화를 조건으로 지정하기 위해 제공될 수 있다. 또한, 비 순차적인 개별 편집 능력은 본 실시예에 따른 동작 편집 인터페이스에 의해 통합될 수 있고, 따라서 연속적이고 개별적인 편집이 일제히 그리고 한결같이 수행될 수 있다. 본 명세서에서는 복수의 캐릭터 동작이 시공간적 제약을 이용하여 실시간으로 동기화되고 조작됨을 설명한다.
상호작용적인 인간 동작 데이터의 편집 능력은 캐릭터 애니메이션에 있어서 필수적인 도구이다. 동작 편집의 공통적인 목표는 본질적인 품질과 원래 동작의 특징을 가능한 많이 보존하면서 존재하는 동작 데이터에 원하는 변화를 만들어 내는 것이다. 상호작용 편집 기술은 일반적으로 사용자가 캐릭터의 이동궤적을 일부분을 선택하고, 선택한 지점을 직접적으로 드래그하여 동작 데이터를 조작한다.
복수의 캐릭터간에 협력적이고 적대적인 상호작용은 보통 공간 및 시간 모두에서 동기화가 요구된다. 대부분의 존재하는 동작 편집 기술은 각각의 개별 캐릭터의 동작이 독립적으로 조작되는 것을 허락한다. 동기화된 복수의 캐릭터 동작을 편집하는 것은 만약 사용자가 인간 사이에 존재하는 제약을 동기화를 위해 수동으로 유지해야 한다면 성가실 수 있다. 본 명세서에서는 제약을 유지하면서 사용자가 캐릭터들간에 상호작용을 선형 제약의 컬렉션으로서 지정하고, 동기화된 복수의 캐릭터 동작을 동시에 조작하는 것을 허락하는 새로운 상호작용 동작 편집 기술을 제공한다.
다양한 타입의 조작핸들과 인간 사이에 존재하는 제약은 절대적/상대적 공간 위치, 방향, 시간기간 및 상호작용의 시간적 조절을 조건으로서 지정함으로써 제공될 수 있다. 사용자는 동기화된 동작 데이터를 직관적이고, 사용하기 쉬운 사용자 인터페이스를 통해 공간적 그리고 시간적 영역에서 잡아 늘이거나 줄일 수 있다.
본 실시예에 따른 동작 편집 시스템은 라플라시안 메쉬 편집의 일차원 버전에 기초한다. 이 방법은 다각형 커브가 가능한 한 원래의 형상을 보존하면서 변형되는 것을 허락한다. 동기화된 동작 경로를 다루는 아이디어를 일반화하고, 라플라시안 공식에서 시공간적 제약이 어떻게 협력하는가 그리고 디제너레이트된 경우를 어떻게 극복하는가를 논의한다. 공간적 경로 편집과 상호작용적인 시간 뒤틀림(warping) 모두를 위해 이러한 경로 편집 알고리즘을 사용한다. 따라서, 동작 데이터의 공간적 그리고 시간적 관점이 균일하게 다뤄질 수 있다.
라플라시안 동작 편집은 캐릭터의 동작 궤도를 휘게 함으로써 원래 동작에 대한 부드럽고 연속적인 변화를 만든다. 이러한 동작의 근원적인 구조는 가벼운 늘임, 줄임, 구부림에 대하여 변하지 않고 유지된다. 그러나, 동작 패스에서 큰 편집을 수용하기 위해서는 워킹스텝의 추가나 제거와 같이 불연속적이고 구조적인 동작의 변형이 필요하다. 이러한 불연속적인 동작 편집은 동작 데이터를 짧은 클립(clip)으로 구분하고, 구분된 동작 데이터들을 이어 맞춤으로써 수행될 수 있다. 본 실시예에 따른 동작 편집 시스템은 동작 편집 인터페이스에서 비 순차적 불연속적 편집 능력을 끊김없이 통합시킨다. 따라서, 불연속적 변화는 상호작용적인 조작 동안 연속적인 경로 편집과 끊김없이 부드럽게 일어난다. 불연속적인 동작 경로의 최적화는 가능한 불연속적 변형의 수에 대한 기하급수적인 계산 복잡성이 잘 알려져 있다. 풍부한 연결 동작의 컬렉션을 이용한 일반적인 이산 최적화는 상호작용적 어플리케이션에서는 비 실용적이다. 다행히도, 상호작용적 편집은 그 특성상 점진적으로 변하고 따라서 갑작스런 변화가 조작에서 허락되지 않는다. 이러한 점증적인 변화 과정은 능률적이고 점증적인 전략을 통해 상호작용적인 성과에 도달하는 것을 허락한다. 본 실시예에 따른 동작 편집 시스템의 연속적이고 불연속적인 편집 능력을 각각 다른 캐릭터와 환경 물체에 대해 상호작용적인 복수의 캐릭터에 대해 정확한 시공간적 제어를 필요로 하는 예들을 통해 설명한다.
Ⅰ. 복수의 캐릭터 상호작용
애니메이션 캐릭터들은 시간과 공간 모두에 동기화된 다른 캐릭터들 및 환경과 상호작용한다. 이러한 캐릭터-환경 및 캐릭터-캐릭터간의 관계는 상대적 공간 위치, 공간 방향 및 상호작용 시간에 의해 묘사될 수 있다.
본 발명의 일실시예는 선형 제약을 조건으로 지정할 수 있는 복수의 캐릭터간 상호작용을 고려하고, 선형 균등 제약을 갖는 시스템으로서 선형 방정식의 모션 편집 문제를 공식화한다.
관절로 연결된 캐릭터의 동작은 기준 좌표계(reference coordinate system)에서 시간에 따라 변동하는 관절 각도와 함께 루트 몸체 부분의 시간에 따라 변동하는 위치 및 방향에 의해 표현될 수 있다. 지면 위에 설계된 루트 궤도는 동작 경로를 형성한다. 본 실시예에 따른 동작 편집 시스템은 동작 경로 및 전체 몸체의 동작을 편집하기 위한 엔드-이펙터(end-effector) 중 하나에 대한 제약을 조건으로 지정하는 것을 허락한다. 인간 사이에 존재하는 제약에 의해 동기화된 복수의 동작 경로의 편집에 집중한다. 각각의 경로가 수정될 때 엔드-이펙터 제약을 강제하고 풋 슬라이딩 문제점(foot-sliding artifact)를 제거하기 위해, 전체 몸체의 동작을 상세히 설명한다.
우선, 아래 표 1은 본 명세서에서 이용되는 수학적 기호들을 나타낸다.
[표 1]
Figure PCTKR2009003307-appb-I000001
1-1. 공간적 제약
지평면 위에서 몸체(골반)의 위치와 방향의 시간의 연속을 묘사하는 동작 경로는 '
Figure PCTKR2009003307-appb-I000002
'와 같이 표현될 수 있다. 수행의 편의를 위해 본 명세서에서는 전역 기준 좌표계(global reference coordinate system)에서 위치 'p i '를, 동작 경로의 탄젠트 벡터와 노멀 벡터에 의해 정의된 지역 좌표계에 대해서는 방향 'θ i '를 각각 이용한다. 여기서, 탄젠트 벡터는 포인트 'p i '에서의 차분, 't i = p i +1 - p i -1'와 같이 나타낼 수 있고, 노멀 벡터는 'R'이 90° 각도의 2 × 2 회전행렬(rotation matrix)인 경우 'n i = Rt i '와 같이 나타낼 수 있다. 방향 'θ i '이 지역 좌표계(local coordinate system)에 속해있다면 캐릭터의 방향은 병진(translational) 이동 경로의 변형에 대해서는 자동적으로 결정될 수 있다. 따라서, 이후 모션 경로에서는 오직 위치 성분만을 조작하고, 방향 성분은 위치 성분의 조작에 따라 적절히 조정될 수 있다.
하나의 포인트에서 탄젠트 벡터는 '||t i || < ε'와 같은 정지(stationary) 모션에서 디제너레이트(degenerate)될 수 있다. 이러한 상황을 극복하기 위해, 우선 탄젠트 벡터의 길이를 확인함으로써, 모든 디제너레이트 포인트가 식별될 수 있다. 이때, 가까운 비-디제너레이트 탄젠트 벡터를 디제너레이트 포인트에 선형보간법으로 삽입함으로써, 새로운 탄젠트 벡터가 결정될 수 있다.
동작 편집 시스템은 상호작용적 조작을 위해 공간적 제약의 3가지 타입을 제공할 수 있다. 여기서, 핀(pinning) 제약 및 관계(relative) 제약은 엔드-이펙터(end-effector) 제약이 캐릭터 몸체의 특정 부위에 강제되는 동안 경로 패스상에 강제될 수 있다.
핀은 프레임 'i'에서 캐릭터의 위치와 방향이 전역 기준 좌표계에 대해 제약됨을 의미할 수 있다. 위치 제약이 '
Figure PCTKR2009003307-appb-I000003
'와 같이 주어졌을 때, 제약에 따른 방정식은 p i 들의 연속(series)에 대해 간단한 선형으로 하기 수학식 1과 같이 표현될 수 있다. 유사하게, '
Figure PCTKR2009003307-appb-I000004
'와 같이 표현되는 방향에서 동작 경로의 탄젠트 방향은 하기 수학식 2와 같이 선형적으로 제약될 수 있다.
[수학식 1]
Figure PCTKR2009003307-appb-I000005
[수학식 2]
Figure PCTKR2009003307-appb-I000006
관계는 프레임 'i'에서 캐릭터 α의 위치 및 방향이 프레임 'j'에서 또 다른 캐릭터
Figure PCTKR2009003307-appb-I000007
의 지역 좌표계의 몸체에 대해 제약됨을 의미할 수 있다. 관계 위치가 '
Figure PCTKR2009003307-appb-I000008
'와 같이, 관계 방향이 '
Figure PCTKR2009003307-appb-I000009
'와 같이 주어졌을 때 제약을 위한 방정식은 각각 하기 수학식 3 및 하기 수학식 4와 같이 표현될 수 있다.
[수학식 3]
Figure PCTKR2009003307-appb-I000010
[수학식 4]
Figure PCTKR2009003307-appb-I000011
엔드-이펙터는 표준 역기구학 솔버(standard inverse kinematics solver)에 의해 다뤄질 수 있는 제약의 타입을 포함한다. 일반적으로, 특정 프레임에서 캐릭터의 몸체 부분의 위치 및 방향은 기준 좌표계나 또 다른 캐릭터/물체의 지역 좌표계에 관해서 제약될 수 있다.
모든 타입의 제약은 인스턴스 제약(instant constraints)이라 불리는 싱글 타임 인스턴스 및 변동 제약(variational constraints)이라 불리는 시간 간격 중 하나로 지정될 수 있다.
도 1은 복수의 캐릭터와 객체를 나타낸 일례이다. 여기서, 의자를 향해 걸어가고, 의자를 마주보고 들어올려 함께 나르는 제1 캐릭터(101) 및 제2 캐릭터(102)를 고려할 때, 협동적이고 동기화된 동작을 편집하기 위해 제1 캐릭터(101) 및 제2 캐릭터(102)가 정확한 위치에서 의지와의 관계를 유지하기 위한 관계 제약 및 의자를 옮기는 동안 캐릭터들의 손이 의자 상에 유지되도록 하기 위한 엔드-이펙터 제약이 조건으로 지정될 수 있다. 제3 캐릭터(103)는 의자를 나르는 제1 캐릭터(101) 및 제2 캐릭터(102)와의 충돌을 피하기 위한 관계 제약이 조건으로 지정될 수 있다. 제1 시간 트랙(104)은 제3 캐릭터(103)의, 제2 시간 트랙(105)는 제1 캐릭터(101)의 제3 시간 트랙(106)은 제2 캐릭터(102)의 시간적 제약을 각각 표현할 수 있다.
상술한 예에서, 관계 제약 및 엔드-이펙터 제약은 모두 변동 제약에서 강제되어야 한다.
동작 편집 시스템은 각각의 제약이 어떻게 정확히 요구조건을 만족시킬 것인가를 사용자가 결정하도록 할 수 있다. 하드(hard)한 제약이 정확하게 강제되는 동안 소프트한(soft) 제약은 최소 제곱 센스(least squares sense)에서 유지될 수 있다. 변동 제약은 소프트한 제약의 연속에 유사해진다. 복수의 경로에 대한 좌표 값의 연속은 하기 수학식 5와 같은 벡터를 형성하기 위해 연관될 수 있다.
[수학식 5]
Figure PCTKR2009003307-appb-I000012
경로 제약의 컬렉션은 상기 수학식 5의 벡터 'p'에 의해 선형 방정식 시스템의 형태를 가질 수 있다. 소프트한 공간적 제약과 하드한 공간적 제약은 각각 '
Figure PCTKR2009003307-appb-I000013
' 및 '
Figure PCTKR2009003307-appb-I000014
'와 같이 표현될 수 있다.
1-2. 시간적 제약
동작 클립(clip)은 보통 고정된 프레임 율에서 샘플링 된 동작 프레임의 시퀀스를 의미할 수 있다. 동작 클립의 컬렉션은 복수의 시간 트랙(track)과 정렬될 수 있고, 동기화된 복수의 캐릭터 상호작용과 함께 연결될 수 있다. 각각의 시간 트랙은 단일 캐릭터 동작의 시간적 조절을 관리한다. 각각의 동작 클립에서 시간적 조절은 동기화된 기준 시간에서 '
Figure PCTKR2009003307-appb-I000015
'에 맵핑되는 프레임 인덱스 'i'에 의해 지역적인 파라미터로서 나타내어질 수 있다. 시간적 제약에 대한 3가지 타입이 단일 시간 트랙에서의 시간-왜곡 동작 그리고 시간 트랙의 전역에 걸쳐 동기화된 복수의 캐릭터 동작에 대해 제공될 수 있다.
절대 시간(absolute time)은 프레임 'i'에서 캐릭터 동작의 시간적 조절이 기준 시간에 대해 제약될 수 있음을 의미할 수 있다. 절대 시간이 '
Figure PCTKR2009003307-appb-I000016
'와 같이 주어졌을 때 제약 방정식은 하기 수학식 6과 같이 표현될 수 있다.
[수학식 6]
Figure PCTKR2009003307-appb-I000017
존속기간(duration)은 프레임 'i'와 프레임 'j' 사이에서 동작 시퀀스의 존속기간이 하기 수학식 7에 의해 공식화될 수 있는 제약에 의해 조건이 지정될 수 있음을 의미할 수 있다.
[수학식 7]
Figure PCTKR2009003307-appb-I000018
여기서, 존속기간 '
Figure PCTKR2009003307-appb-I000019
'는 스칼라 값을 가질 수 있다.
동기화(synchronization)은 두 캐릭터의 시간적 조절이 동기화될 수 있음을 의미할 수 있다. 이러한 제약 방정식은 하기 수학식 8과 같이 표현될 수 있다.
[수학식 8]
Figure PCTKR2009003307-appb-I000020
여기서, 't i '는 프레임 'i'에서 캐릭터의 시간적 조절을, 't k '는 프레임 'j'에서 캐릭터의 시간적 조절을, 시간 불일치 'e t '는 일정한(constant) 스칼라 값을 가질 수 있다. 만약 'e t '가 '0'의 값을 갖는다면, 두 캐릭터 동작의 기준 시간의 프레임 'i' 및 프레임 'j'에서 정확하게 동기화되어야 한다.
시간적 제약 역시 소프트한 제약 및 하드한 제약 중 하나가 조건으로서 지정될 수 있다. 소프트한 시간적 제약은 '
Figure PCTKR2009003307-appb-I000021
'와 같이, 하드한 시간적 제약은 '
Figure PCTKR2009003307-appb-I000022
'와 같이 각각 표현될 수 있다.
Ⅱ. 라플라시안(Laplacian) 동작 편집
2-1. 공간적 경로 편집
동기화된 동작 경로의 컬렉션이 주어졌을 때, 두 개의 최소 제곱 문제를 순차적으로 풀어 사용자가 조건으로 지정한 제약과 만나기 위해 경로를 수정할 수 있다. 첫 번째 최소 제곱 문제의 해(solution)은 가능한 한 원래 경로의 상세한 특징을 보존하는 동안 사용자의 제약을 만족하는 중간결과를 생성할 수 있다. 상기 최종결과는 중간결과에서 바람직하지 않은 크기 변경(scaling) 문제점(artifact)을 보상하는 두 번째 최소 제곱 문제를 풀어 얻을 수 있다.
2-1-1. 모양-보존 조작(shape-preserving manipulation)
동작 경로상의 포인트 'p i '는 이웃 포인트에 의해 하기 수학식 9와 같이 표현될 수 있다.
[수학식 9]
Figure PCTKR2009003307-appb-I000023
여기서, (x i , y i )는 포인트 'p i '의 지역 좌표를 의미할 수 있다. 알고리즘의 첫 번째 단계(phase)는 사용자의 제약을 만족시키면서 지역 좌표에서 왜곡을 최소화하고자 할 수 있다. 왜곡을 최소화하기 위해, 상기 수학식 9에서 모든 포인트에서 동일한 지역 좌표를 갖는 변형된 경로 '
Figure PCTKR2009003307-appb-I000024
'를 유지하기를 기대할 수 있다. 이러한 조건은 각각의 동작 경로 'k'를 위한 선형 시스템 '
Figure PCTKR2009003307-appb-I000025
'로서 공식화 될 수 있다. 상기 수학식 9에서 일정한 항(constant term)을 갖지 않기 때문에 선형 시스템 '
Figure PCTKR2009003307-appb-I000026
'의 우측(right hand side)이 '0'의 값을 가질 수 있다. 복수의 동작 경로를 위한 선형 시스템과 사용자에 의해 정의된 소프트한 제약의 연관(concatenating)은 사용자에 의해 정의된 하드한 제약 '
Figure PCTKR2009003307-appb-I000027
'으로 가정하였을 때 중복 결정된(over-determined) 선형 시스템 '
Figure PCTKR2009003307-appb-I000028
'를 형성할 수 있고, 하기 수학식 10과 같이 표현될 수 있다.
[수학식 10]
Figure PCTKR2009003307-appb-I000029
여기서, 'M s' 유사역행렬(pseudo-inverse) 및 라그랑주 승수법(Lagrange multiplier) 'λs'를 이용하면, 모양-보존 조작의 목표(objective)는 하기 수학식 11과 같이 표현되는 에너지 함수를 최소화시키는 것이다.
[수학식 11]
Figure PCTKR2009003307-appb-I000030
'
Figure PCTKR2009003307-appb-I000031
'에 대해 미분하면 그때, 'λs'는 하기 수학식 12와 같이 표현될 수 있는 확장된 시스템을 야기한다.
[수학식 12]
Figure PCTKR2009003307-appb-I000032
첫 번째 단계(phase)에서 중간결과 '
Figure PCTKR2009003307-appb-I000033
'는 상기 수학식 12와 같이 표현된 시스템을 풀어 얻어질 수 있다. 여기서, 상기 시스템은 희소하고(sparse), 따라서 희소한(sparse) LU 솔버(solver)를 통해 효과적으로 풀릴 수 있다.
2-1-2. 스케일 보상(scale compensation)
두 번째 단계(phase)는 크기 변경 문제점을 제거함으로써 중간결과 '
Figure PCTKR2009003307-appb-I000034
'를 조정할 수 있다. 변형된 경로에서 원래의 길이가 조정된 두 개의 연속적인 포인트 '
Figure PCTKR2009003307-appb-I000035
' 및 '
Figure PCTKR2009003307-appb-I000036
' 사이의 벡터는 하기 수학식 13과 같이 표현될 수 있다.
[수학식 13]
Figure PCTKR2009003307-appb-I000037
두 번째 단계에서 스케일이 보상된 경로 '
Figure PCTKR2009003307-appb-I000038
'는 사용자의 제약을 만족시키기 위해 구부러지거나 평평하게 펴질 수 있다. 따라서, 스케일 보호의 목적은 하기 수학식 14와 같은 선형 방정식을 야기할 수 있다.
[수학식 14]
Figure PCTKR2009003307-appb-I000039
여기서, '
Figure PCTKR2009003307-appb-I000040
'일 수 있다. 이러한 목적은 경로 'k'를 위해 선형 시스템 '
Figure PCTKR2009003307-appb-I000041
'의 컬렉션을 형성한다. 복수의 경로를 위한 선형 시스템과 사용자에 의해 정의된 소프트한 제약의 연관(concatenating)은 하드한 제약으로 가정하였을 때 중복 결정된 선형 시스템 '
Figure PCTKR2009003307-appb-I000042
'를 형성할 수 있다. 상기 수학식 11 및 상기 수학식 12에서 '
Figure PCTKR2009003307-appb-I000043
'를 '
Figure PCTKR2009003307-appb-I000044
'로 대체하면, 스케일 보상을 위한 목적 함수 'Escale'과 목적 함수에 상응하는 확장된 시스템을 얻을 수 있다.
2-2. 디제너레이트 케이스 핸들링(handling degenerate case)
동작 편집 시스템은 디제너레이트 케이스의 두 가지 타입을 다룰 수 있다.
이러한 디제너레이트 케이스의 첫 번째 타입은 고정(stationary) 경로이다. 일부(some) 인간의 동작 데이터들은 작은 변형에 대해서도 부숴지기 쉬운(fragile) 반면, 다른 일부 동작 데이터들은 큰 변형 후에도 자연스러움을 유지한다. 예를 들어, 걷는 동작은 보통 이동 경로를 늘이는 것에 탄력적(resilient)이고, 따라서 곡률각(curvature angle)의 넓은 범위에서도 변형될 수 있다. 반대로, 고정 동작의 경로를 조작하는 것은 캐릭터가 미끄러운 걸음(slippery feet)으로 부자연스럽게 주변을 배회하도록 만들 수 있다. 만약, 경로상의 평균 속도가 스레스홀드(threshold)를 넘지 않거나 두 발이 지면에 단단히 세워져 있다면 동작 경로의 부분인 부분-경로는 고정적이다. 동작 편집 시스템은 고정적인 부분-경로를 고정된 조각들(rigid segments)로서 간주하고, 그런 방법으로 부분-경로는 상호작용적으로 조정되는 동안 변형되지 않는다. 즉, 고정 경로에 대한 디제너레이트 케이스는 상기 수학식 9에서 대응하는 모양-보존 조작을 위한 제약을 하드한 제약의 컬렉션에 넣음으로써, 간단히 처리할 수 있다.
디제너레이터 케이스의 두 번째 타입은 탄젠트 플립핑(tangent flipping)이다. 도 2는 탄젠트 플립핑을 설명하기 위한 일례이다. 제1 곡선(201)과 같은 동작 경로에 압착을 가하는 경우, 제2 곡선(202)과 같이 동작 경로의 중간에 플립핑이 발생할 수 있다. 즉, 동작 경로의 작은 변형은 탄젠트 방향의 플립을 야기할 수 있다. 이때, 연속적인 탄젠트 벡터 사이의 각도를 확인함으로써, 탄젠트 플립핑을 식별할 수 있다. 즉, 탄젠트 방향의 갑작스러운 변화는 탄젠트 플립핑을 나타낼 수 있다. 보다 정확하게, 각각 변형되지 않은 경로와 변형된 경로의 탄젠트 벡터 '
Figure PCTKR2009003307-appb-I000045
' 및 '
Figure PCTKR2009003307-appb-I000046
'를 고려할 수 있다. '
Figure PCTKR2009003307-appb-I000047
' 와 '
Figure PCTKR2009003307-appb-I000048
' 사이의 각도 '
Figure PCTKR2009003307-appb-I000049
'는 유용한 측도(measure)를 제공할 수 있다. 동작 편집 시스템은 만약, '
Figure PCTKR2009003307-appb-I000050
'가 임의의 'i'에 대해 사용자로부터 제공되는 스레스홀드(threshold)를 넘어서는 경우, 탄젠트 플립핑을 기록할 수 있다. 이때, 단일의(singular) 포인트에서 이웃한 탄젠트 벡터를 선형보간하여 삽입함으로써, 새로운 탄젠트 벡터를 결정할 수 있다.
2-3. 전체-몸체 개선(full-body refinement)
변형된 경로 사이에 존재하는 캐릭터의 전체 몸체 동작은 사용자에 의해 정의된 엔드-이펙터 제약을 강제하고, 풋-슬라이딩 문제점을 피하기 위한 최종 수정이 요구된다. 만약, 발이 충분히 지면과 접하고 있고, 속도가 스레스홀드 이내라면, 발과 지면의 접촉은 자동적으로 식별될 수 있다. 지면과의 접촉에 따른 제약과 엔드-이펙터 제약은 하이브리드(hybrid) 역기구학 솔버 및 계층적 변위(hierarchical displacement) 맵핑에 공급될 수 있다.
루트 경로 편집이 매우 효과적인 선형 공식으로 공식화되는 동안, 엔드-이펙터 제약은 비선형 방정식을 수반할 수 있고, 따라서 역기구학 솔버의 반복이 요청될 수 있다. 루트 경로 편집과 IK-기반 클린업(clean up)의 결합은 동작 편집 시스템이 실질적인 어플리케이션을 위해 충분히 빨라지도록 만들 수 있는 실용적인 해답이 될 수 있다. 이러한 결합 작업을 위해 엔드-이펙터 제약은 루트 제약에 추가될 수 있다. 예를 들어, 캐릭터가 박스를 옮기도록 만들기 위해, 동작 편집 시스템은 우선, 관계 위치/방향 제약을 이용하여 박스가 루트 근처에 유지되도록 제약할 수 있고 그때, 엔드-이펙터 제약을 이용하여 캐릭터의 손이 박스와 접촉하도록 제약할 수 있다. 캐릭터가 이동하는 동안, 루트와 박스 사이의 제약은 박스가 캐릭터와 함께 이동하도록 유지하고, 엔드-이펙터 제약은 모든 시간 프레임에서 캐릭터의 손이 박스와 접촉하도록 유지함으로써 캐릭터의 포즈를 개선할 수 있다. 작은 스케일에서 캐릭터의 포즈를 조절하기 위해 캐릭터의 전역 위치/방향 제약을 조건으로 지정한 루트 제약과 엔드-이펙터 제약을 사용하는 것은 자연스런 결합이다.
2-4. 상호작용적 시간 왜곡(interactive time warping)
상호작용적 시간 왜곡을 위해 라플라시안 커브 조작 방법이 이용될 수 있다. 동작 편집 시스템에서는 사용자의 자의적인 시간적 제약이 조건으로 지정될 수 있다. 즉, 동작 편집 시스템은 사용자에 의해 정의된 제약을 만족시키기 위해 일차원의 부드러운 시간 왜곡을 계산할 수 있다.
도 3은 본 발명의 일실시예에 따른 동작 편집 시스템에서 두 동기화된 시간 트랙의 상호작용적 시간 왜곡을 처리하는 일례를 나타낸다. 원래의 균일한 시간 트랙(310)은 부드럽고, 동기화된 시간 왜곡을 생성하기 위해 상호작용적으로 조작될 수 있다. 즉, 시간 왜곡이 발생한 시간 트랙(320)에서와 같이 사용자는 오직 하나의 시간 트랙에 대해서만 절대 시간(301, 302)을 조절할 수 있고, 그에 따라 다른 하나의 시간 트랙은 왜곡이 발생될 수 있다.
입력된 동작 데이터는 '
Figure PCTKR2009003307-appb-I000051
'와 같이 균일하게 샘플링 될 수 있고, 여기서 '
Figure PCTKR2009003307-appb-I000052
'는 샘플링 시간 단계를 의미할 수 있다. 시간 왜곡은 가능한 한 균일하게 보호되면서 수행되어야 한다. 이러한 조건은 각각의 동작 경로 'k'에 대한 선형 시스템 '
Figure PCTKR2009003307-appb-I000053
'로서 공식화될 수 있다. 여기서, '
Figure PCTKR2009003307-appb-I000054
'는 k-번째 동작 경로의 시간 왜곡을 의미할 수 있다. 매트릭스 '
Figure PCTKR2009003307-appb-I000055
'는 오직 두 대각선만이 '0'이 아닌 값을 갖는다. '
Figure PCTKR2009003307-appb-I000056
'는 컨스턴트(constant) 벡터일 수 있다. 복수의 동작 경로를 위한 선형 시스템과 소프트한 시간적 제약 '
Figure PCTKR2009003307-appb-I000057
'간의 연관(concatenating)은 하드한 시간적 제약 '
Figure PCTKR2009003307-appb-I000058
'으로 가정하였을 때 하기 수학식 15와 같이 표현될 수 있는 과결정 선형 시스템 '
Figure PCTKR2009003307-appb-I000059
'을 형성할 수 있다.
[수학식 15]
Figure PCTKR2009003307-appb-I000060
상기 수학식 11 및 상기 수학식 12에서 '
Figure PCTKR2009003307-appb-I000061
'를 '
Figure PCTKR2009003307-appb-I000062
'로 대체하면, 시간 왜곡에 대한 목적 함수 'Etime'과 하기 수학식 16과 같이 표현될 수 있는 확장된 시스템을 얻을 수 있다.
[수학식 16]
Figure PCTKR2009003307-appb-I000063
시간 왜곡은 경로 편집 알고리즘의 첫 번째 단계(phase)만을 요구한다. 크기 변경 문제점은 직각 방향에서 조정자의 드래깅 방향으로 일어나고, 그러므로, 스케일 보상은 일차원 곡선을 위해서는 필요치 않다. 경로 편집 알고리즘의 두 번째 단계는, 오히려 해가 될 수 있다. 즉, 경로 편집 알고리즘은 동작 데이터의 시작과 끝에서 보다 동작 데이터의 중간에서 프레임이 더 빨리 스케일되는 것을 야기할 수 있다.
시간은 절대 뒤로 흐르지 않고, 따라서 시간 왜곡은 감소하지 않고 증가해야만 한다. 과도한 시간 왜곡은 시간 플립핑이나 모션 시퀀스에서 과도한 감속을 야기할 수 있다. 동작 편집 시스템은 각각의 'i'에 대해 부등식 제약 '
Figure PCTKR2009003307-appb-I000064
'을 강제함으로써 상술한 문제를 다룰 수 있다. 여기서, 상기 수학식 16의 선형 시스템은 부등식 제약과 쉽게 결합되지 않는다. 대신에, 동작 편집 시스템은 반복적인 방법으로 부등식 제약을 강제할 수 있다. 우선, 선형 시스템을 부등식 제약 없이 풀고, 하기 수학식 17과 같은 등식 제약을 추가할 수 있다.
[수학식 17]
Figure PCTKR2009003307-appb-I000065
여기서, 부등식 제약은 위배된다. 따라서, 동작 편집 시스템은 모든 부등식 제약이 만족 될 때까지 프로세스를 반복할 수 있다.
Ⅲ. 디스크리트(discrete) 동작 편집
본 발명의 일실시예에 따른 동작 편집 시스템에서의 디스크리트 동작 편집은 동작 경로가 조작되는 동안 디스크리트 변환이 고르고 적절하게 일어나도록 할 수 있다.
도 4는 캐릭터의 걷기 동작을 나타낸 일례이다. 도 4는 입력된 걷기 동작(401), 라플라시안 경로 편집이 반드시 수반하는 큰 걸음의 걷기 동작(402) 및 과도한 늘이기를 극복하기 위한 추가 스텝을 소개하는 디스크리트 동작 편집을 통한 걷기 동작(403)을 각각 나타낸다. 즉, 입력된 걷기 동작(401)을 디스크리트 변환 없이 두 개의 핀 제약만을 이용하여 늘이면, 부자연스러운 큰 걸음의 걷기 동작(402)을 야기하게 된다. 동작 편집 시스템은 디스크리트 최적화 절차를 통해 자동적으로 스텝을 추가함으로써, 과도하게 큰 걸음의 걷기 동작(402)이 발생하는 것을 피할 수 있다.
전체 경로를 재통합하는 것을 피하기 위해 상호작용적 조작 동안 경로 플래닝(planning) 또는 상태-공간(state-space) 검색 기술을 이용할 수 있다. 사용자는 일반적으로 마우스로 드래깅하는 동안 캐릭터의 동작이 단계적으로 변화하길 원한다. 스마트 플래너로부터 갑작스럽게 제안될 수 있는 전체적으로 새로 재-계획된 경로는 종종 사용자를 혼란스럽게 할 수 있다. 따라서, 동작 편집 시스템에서 제공 가능한 사용자 인터페이스는 각각의 순간에 작고, 예측 가능한 디스크리트 변화를 만들어 냄으로써 디스크리트 동작 편집이 연속적인 경로 편집과 끊김없이 통합되도록 할 수 있다. 게다가, 처음부터 경로를 재통합하는 것보다 계산적으로 더 효율적이다.
디스크리트 동작 편집은 라플라시안 경로 편집 중 끊김없이 발생하는 구조적 변화를 허락할 수 있다. 이하에서는 상호작용적 성능을 유지하면서 가능한 디스크리트 변환을 어떻게 식별하고, 어떻게 변환된 경로를 평가하고, 어떻게 디스크리트 최적화를 상호작용적 동작 편집의 인터페이스와 통합할 것인가에 대해 설명한다.
3-1. 디스크리트 변환(discrete transformations)
효과적으로 동작 데이터에서 구조적 변화를 식별하기 위해 입력된 동작 데이터의 동작 그래프를 생성할 수 있다. 동작 그래프의 노드들은 동작 프레임에 대응될 수 있고, 노드들의 엣지들은 프레임들간 연결된 전이(transition)에 대응될 수 있다. 이러한 동작 그래프는 입력된 동작 데이터로부터 유사한 프레임을 식별하고 유사한 프레임간의 전이를 발생시킴으로써 자동적으로 그려질 수 있다. 두 개의 프레임이 충분히 유사한지를 결정하기 위해 관절 각도, 루트 높이, 루트 방향, 관절 속도, 루트 이동 및 루트 회전과 같이 동작의 다양한 특징을 고려하는 측도가 고려될 수 있다. 동작 프레임은 시간적으로 일관되고(coherent), 따라서 많은 연결된 전이가 시작 프레임 및 종료 프레임에 근접할 수 있다. 동작 편집 시스템은 전이 매트릭스에서 지역 최대값들을 선택함으로써, 많은 유사한 전이 중 가장 알맞은 전이를 부여받을 수 있다. 다른 모든 전이들은 연결된 변화의 드문(sparse) 집합을 생성하기 위해 잘라내어 질 수 있다.
동작 편집 시스템은 디스크리트 변환의 세가지 타입인 삽입(insertion), 삭제(deletion) 그리고 대체(replacement)를 고려할 수 있다. 도 5는 디스크리트 변환의 세가지 타입을 설명하기 위한 일례이다. 즉, 도 5는 원래 데이터(501)가 삽입이 발생한 데이터(502), 삭제가 발생한 데이터(503), 대체가 발생한 데이터(504)로 각각 변화된 모습을 나타낸다.
프레임 'i' 와 프레임 'j'가 하나의 프레임에서 다른 프레임으로의 연결된 변화가 허락된 유사한 프레임이고, 'i'가 'j'보다 작다고 가정할 때, 'i'로부터 'j+1'까지의 전위 전이를 하는 것은 'i+1'과 'j' 사이의 프레임들을 삭제하는 결과를 낳는다. 반면, 'j'부터 'i'까지 후위 전이를 하는 것은 'i+1'과 'j' 사이의 프레임들의 중복을 이끈다. 여기서, 중복은 삽입의 특별한 타입일 수 있다. 또한, 삽입은 'i'로부터 'j+1'까지 그리고 'k'로부터 'i+1'까지의 두 개의 전이를 요청하고, 그때 'j+1'부터 'k'까지의 프레임을 복사되어 'i'와 'i+1' 사이에 삽입될 수 있다. 여기서, 'j'는 'k'보다 작을 수 있다. 유사하게, 'i'부터 'k+1'까지 그리고 'l'부터 'j+1'까지의 두 전이를 이용하는 대체는 프레임들을 'i+1'과 'j' 사이의 프레임들을 'k+1'과 'l' 사이의 프레임들로 대체하는 결과를 야기시킬 수 있다. 이때, 'i'는 'j'보다 작고, 'k'는 'l'보다 작을 수 있다.
3-2. 디스크리트 최적화(discrete optimization)
동작 편집 시스템은 필요에 따라 사용자의 조작에 대한 중간 과정에서 동작 경로에 적절한 디스크리트 변환을 제공할 수 있다. 이때, 오직 하나의 동작 경로가 사용자 제약 각각에 대한 갱신을 위해 변환될 수 있다. 도 6은 본 발명의 일실시예에 따른 동작 편집 시스템에서 디스크리트 변환의 최적화를 위해 이용 가능한 알고리즘의 일례이다. 도 6의 알고리즘에 따르면, 사용자는 한차례 시간적 또는 공간적 제약을 갱신하고, 이때 동작 편집 시스템은 모든 가능한 디스크리트 변환을 계산하여 사용자의 제약에 대해 평가한다. 그때, 가장 알맞은 디스크리트 변환이 선택되고, 라플라시안 동작 편집을 이용하여 정확하게 사용자의 제약에 적합하도록 변형된다. 도 6의 알고리즘은 사용자의 제약 각각에 대한 갱신에 대한 응답이 즉각적일 수 있고 예측 가능하기 때문에 상호작용적인 조작을 위해 이용하기 적합하다.
3-2-1. 변형 에너지(deformation energy)
여기서는, 각각 디스크리트 변환된 경로가 어떻게 사용자에 의해 정의된 제약에 적합하게 할 것인가에 대해 결정한다. 디스크리트 변환된 경로에서 경로와 시간 왜곡 모두에 대한 라플라시안 동작 편집이 사용자의 제약을 만족하도록 수행되도록 할 때 변형 에너지는 하기 수학식 18과 같이 표현될 수 있다.
[수학식 18]
Figure PCTKR2009003307-appb-I000066
여기서, '
Figure PCTKR2009003307-appb-I000067
'는 원래의 동작 경로를 의미하고, '
Figure PCTKR2009003307-appb-I000068
'는 디스크리트 변환되고, 변형되고, 시간 왜곡된 동작 경로를 의미한다. 또한, 'Eshape', 'Escale' 및 'Etime'는 각각 모양-보존, 스케일-보상 및 시간-왜곡 각각에 대한 변형 에너지를 의미한다. 이에 더해, '
Figure PCTKR2009003307-appb-I000069
'는 공간적 경로의 길이를, '
Figure PCTKR2009003307-appb-I000070
'는 시간적 기간을 각각 의미한다. 라플라시안 동작 편집에 의해 처음 세 개의 기간은 경로 변형에 패널티가 부여되고, 마지막 두 개의 기간은 디스크리트 변환에 의해 동작 경로의 길이가 길어지고 짧아지는 패널티가 부여된다. 마지막으로, '
Figure PCTKR2009003307-appb-I000071
'와 '
Figure PCTKR2009003307-appb-I000072
'는 디스크리트 변환에 대비하여 경로 변형에 부여되는 가중치를 의미한다.
3-2-2. 디스크리트 변환 제거(pruning discrete transformation)
종종 상호작용적인 속도(interactive rates)로 조작하기에는 계산되고, 평가되어야 할 너무 많은 디스크리트 변환이 발생할 수 있다. 따라서, 라플라시안 동작 편집을 적용하기 전에 가능한 한 부적절한 디스크리트 변환을 제거하는 것은 매우 중요하다. 이러한 디스크리트 변환의 제거를 위한 동작 편집과 사용자의 제약에 대한 상호작용을 설명한다.
기간(duration): 디스크리트 변환에 의해 삭제되거나 삽입되는 동작 프레임의 기간이 너무 짧거나 너무 길면, 해당 디스크리트 변환을 제거할 수 있다. 동작 조작에서 매우 짧은 기간의 디스크리트 변환은 너무 빈번하게 발생하는 경향이 있고, 반면에 매우 긴 기간의 디스크리트 변환은 갑작스러운 동작의 변화를 야기시킬 수 있다. 실험적으로 0.3 내지 2.0초 사이의 디스크리트 변환이 허용된다.
포함(enclosing): 디스크리트 변환에 의해 삭제되거나 삽입되는 동작 프레임의 기간이 다른 디스크리트 변환의 영향이 미치는 동작 프레임의 기간을 포함하는 경우, 전자의 디스크리트 변환이 후자의 디스크리트 변환을 포함할 수 있다. 만약, 전자의 디스크리트 변환이 또 다른 디스크리트 변환을 포함한다면, 전자의 디스크리트 변환을 제거할 수 있다. 이러한 제거 룰을 위한 이론적 해석(rationale)은 조작의 상호작용으로부터 올 수 있다. 사용자의 제약이 사용자가 조작자(manipulator)를 드래그 함으로써 연속적으로 갱신된다고 가정한다. 따라서, 포함된 구간의 디스크리트 변환은 필요하나 포함하는 구간의 디스크리트 변환은 발생할 수 없다. 제약(constraints): 디스크리트 변환은 사용자에 의해 정의된 어떠한 제약도 제거해서는 안 된다. 보다 명확하게, 순간적인 제약이 존재하는 어떤 동작 프레임을 삭제 또는 대체한 디스크리트 변환은 금지된다. 변동 제약에 의해 강제된 동작 프레임은 변동 제약이 시작 및 끝나는 바운더리 프레임들이 손상되지 않고 유지되는 동안에는 디스크리트 변환에 의해 제거되거나, 다른 프레임으로 대체될 수 있고, 다른 프레임이 삽입될 수 있다.
로컬리티(locality): 디스크리트 변환은 사용자의 조작을 기대한 포인트나 시간으로부터 먼 곳에서 발생시킬 수 있다. 동작 편집 시스템은 사용자에게 디스크리트 변환을 활성화 또는 비활성화 시킬 수 있는 간단한 사용자 인터페이스를 제공할 수 있다. 따라서, 사용자는 특정 디스크리트 변환의 타입, 캐릭터, 시간 구역, 디스크리트 변환이 허락되는 공간적 지역에 따라 디스크리트 변환을 선택적으로 활성화시킬 수 있다.
3-2-3. 가속 기술(acceleration technique)
디스크리트 변환을 이용한 동작 편집의 성능 병목은 가능한 디스크리트 변환의 평가에 의해 발생할 수 있다. 각각의 디스크리트 변환의 평가는 연속적인 라플라시안 동작 편집을 위해 세 가지 크고, 드문 선형 시스템을 풀 것을 요구한다. 선형 시스템의 크기는 동작 경로들에서 프레임의 전체 수에 의존한다. 동작 편집 시스템은 성능 이득과 평가의 정확성을 교환(trade off)할 수 있다. 즉, 동작 편집 시스템은 더 작은 선형 시스템을 만들기 위해 동작 경로들의 부표본을 만들 수 있다. 부표본을 만들 때, 사용자에 의해 정의된 제약들과 가능한 디스크리트 변환들은 계속 유지되어야 한다. 이러한 요구는 동작 프레임들의 불균일한 부표본의 생성을 야기할 수 있다. 그렇지만 부표본화된 경로를 갖는 라플라시안 동작 편집은 원래의, 완전한 프레임의 경로에 대한 거의 근사한 변형 에너지를 갖는다. 변형 에너지를 평가하는 것은 엔드-이펙터 제약을 요구하지 않는다. 계층적인 대체 맵핑은 알고리즘의 끝에서 한번 적용된다.
도 7은 본 발명의 일실시예에 있어서, 동작 편집 시스템의 내부 구성을 설명하기 위한 블록도이다. 본 실시예에 따른 동작 편집 시스템(700)은 도 7에 도시된 바와 같이 라플라시안 동작 편집부(710) 및 디스크리트 동작 편집부(720)를 포함한다.
라플라시안 동작 편집부(710)는 사용자의 제약에 따라 입력된 캐릭터 데이터의 공간적 경로를 편집하고, 상호작용적 시간 왜곡을 처리한다. 여기서, 상기 사용자의 제약은 핀 제약, 관계 제약 및 엔드-이펙트 제약을 포함하는 공간적 제약 및 절대 시간, 존속기간 및 동기화를 포함하는 시간적 제약을 포함할 수 있다.
이러한 공간적 경로 편집 및 상호작용적 시간 왜곡을 처리하기 위해 라플라시안 동작 편집부(710)는 도 7에 도시된 바와 같이 공간 경로 편집부(711), 시간 왜곡 처리부(712), 디제너레이트 케이스 처리부(713) 및 전체 몸체 개선부(714)를 포함할 수 있다.
공간 경로 편집부(711)는 모양-보존 조작과 스케일 보상을 통해 상기 공간적 경로를 편집한다. 이때, 공간 경로 편집부(711)는 상기 모양-보존 조작을 위한 과결정(over-determined) 선형 시스템을 유사역행렬 및 라그랑주 승수법을 통해 확장하여 중간결과를 획득할 수 있다. 여기서, 상기 과결정 선형 시스템은, 모든 포인트에서 동일한 지역 좌표를 갖는 변형된 경로가 변형된 지역 좌표의 집합과 동일하도록 유지되고, 상기 사용자의 제약 중 소프트한 제약과 연관(concatenation)되어 형성될 수 있다.
또한, 공간 경로 편집부(711)는 상기 스케일 보상을 통해 크기 변경 문제점을 제거하여 상기 모양 보존 조작에 따른 중간결과를 조정할 수 있다. 이때, 상기 크기 변경 문제점은 과결정 선형 시스템을 유사역행렬 및 라그랑주 승수법을 통해 확장하여 얻은 시스템을 통해 제거될 수 있고, 상기 과결정 선형 시스템은 복수의 경로를 위한 선형 시스템과 상기 사용자의 제약 중 소프트한 제약간의 연관을 통해 형성될 수 있다.
시간 왜곡 처리부(712)는 상호작용적 시간 왜곡을 처리한다. 이때, 시간 왜곡 처리부(712)는 과결정 선형 시스템을 유사역행렬 및 라그랑주 승수법을 통해 확장하여 얻은 시스템을 통해 시간 왜곡을 처리할 수 있다. 여기서, 상기 과결정 선형 시스템은 입력되는 동작 데이터를 균일하게 샘플링하여 공식화한 선형 시스템과 상기 사용자의 제약 중 소프트한 제약간의 연관을 통해 형성된다.
디제너레이트 케이스 처리부(713)는 디제너레이트(degenerate) 케이스를 처리한다. 이때, 상기 디제너레이트 케이스는 고정 경로 또는 탄젠트 플립핑(flipping)을 포함할 수 있고, 디제너레이트 케이스 처리부(713)는 상기 사용자의 제약 중 상기 모양-보존 조작에 대한 제약을 하드한 제약의 컬렉션에 추가하여 상기 고정 경로를 처리하거나 또는 사용자로부터 제공되는 스레스홀드(threshold) 이상의 탄젠트 플립핑을 기록하여 단일의 포인트에서 이웃한 탄젠트 벡터를 선형보간하여 삽입하여 상기 탄젠트 플립핑을 처리한다.
전체 몸체 개선부(714)는 캐릭터의 전체-몸체를 개선한다. 이때, 전체 몸체 개선부(714)는 상기 사용자의 제약 중 엔드-이펙터(end-effector) 제약, 상기 캐릭터의 발과 지면간의 접촉에 따른 제약, 하이브리드 역기구학 솔버(hybrid inverse kinematics solver) 및 계층적 변위(hierarchical displacement) 맵핑을 이용하여 상기 캐릭터의 전체 몸체를 개선한다.
디스크리트 동작 편집부(720)는 캐릭터 데이터가 처리되는 동안 디스크리트 변형을 적용한다. 여기서, 상기 디스크리트 변환은 삽입, 삭제 및 대체의 세 가지 타입을 포함한다.
디스크리트 변형을 적용하기 위해 디스크리트 동작 편집부(720)는 도 7에 도시된 바와 같이 디스크리트 변환 적용부(721), 변형 에너지 계산부(722), 디스크리트 변환 제거부(723) 및 가속화부(724)를 포함할 수 있다.
디스크리트 변환 적용부(721)는 상기 캐릭터 데이터의 동작 경로에 디스크리트 변환을 적용한다. 이때, 디스크리트 변환 적용부(721)는 모든 가능한 디스크리트 변환을 계산하여 상기 사용자의 제약에 대해 평가하고, 상기 평가 결과에 따라 적용될 디스크리트 변환을 선택하여 적용할 수 있다.
변형 에너지 계산부(722)는 상기 디스크리트 변환이 적용된 동작 경로가 상기 사용자의 제약을 만족하기 위한 변형 에너지를 계산한다. 이때, 변형 에너지 계산부(722)는 모양-보존, 스케일-보상, 시간-왜곡 각각에 대한 변형 에너지 그리고 공간적 경로의 길이, 시간적 기간 및 디스크리트 변환에 대비하여 경로 변형에 부여되는 가중치에 기초하여 상기 제약을 만족하기 위한 변형 에너지를 한다.
디스크리트 변환 제거부(723)는 불필요한 디스크리트 변환을 제거한다. 이때, 디스크리트 변환 제거부(723)는 (1) 디스크리트 변환에 의해 삭제되거나 삽입되는 동작 프레임의 기간이 기선정된 범위를 벗어나는 경우, 해당 디스크리트 변환을 제거하거나, (2) 제1 디스크리트 변환에 의해 삭제되거나 삽입되는 동작 프레임의 기간이 제2 디스크리트 변환의 영향이 미치는 동작 프레임의 기간을 포함하고, 제2 디스크리트 변환이 제1 디스크리트 변환을 포함하는 경우, 제2 디스크리트 변환을 제거하거나, (3) 순간적인 제약에 의해 강제된 어떤 동작 프레임을 삭제 또는 대체한 디스크리트 변환을 제거하거나 또는 (4) 상기 디스크리트 변환을 활성화 또는 비활성화 시킬 수 있는 사용자 인터페이스를 제공하고, 상기 사용자 인터페이스를 통해 상기 사용자로부터 디스크리트 변환의 타입, 캐릭터, 시간 구역, 디스크리트 변환이 허락되는 공간적 지역에 대한 정보 및 활성화 또는 비활성화에 따른 정보를 입력받을 수 있다.
가속화부(724)는 디스크리트 변환의 평가를 위한 부표본을 생성한다.
도 8은 본 발명의 일실시예에 있어서, 동작 편집 방법을 도시한 흐름도이다. 본 실시예에 따른 동작 편집 방법은 도 7을 통해 설명한 동작 편집 시스템(700)에 의해 수행될 수 있다. 도 8에서는 동작 편집 시스템(700)을 통해 각각의 단계가 수행되는 과정을 설명함으로써 상기 동작 편집 방법을 설명한다.
단계(S810)에서 동작 편집 시스템(700)은 사용자의 제약에 따라 입력된 캐릭터 데이터의 공간적 경로를 편집하고, 상호작용적 시간 왜곡을 처리한다. 여기서, 상기 사용자의 제약은 핀 제약, 관계 제약 및 엔드-이펙트 제약을 포함하는 공간적 제약 및 절대 시간, 존속기간 및 동기화를 포함하는 시간적 제약을 포함할 수 있다.
이러한 공간적 경로 편집 및 상호작용적 시간 왜곡을 처리하기 위해 동작 편집 시스템(700)은 도 8에 도시된 바와 같이 단계(S810)에 단계(S811) 내지 단계(S814)를 포함하여 수행할 수 있다.
단계(S811)에서 동작 편집 시스템(700)은 모양-보존 조작과 스케일 보상을 통해 상기 공간적 경로를 편집한다. 이때, 동작 편집 시스템(700)은 상기 모양-보존 조작을 위한 과결정(over-determined) 선형 시스템을 유사역행렬 및 라그랑주 승수법을 통해 확장하여 중간결과를 획득할 수 있다. 여기서, 상기 과결정 선형 시스템은, 모든 포인트에서 동일한 지역 좌표를 갖는 변형된 경로가 변형된 지역 좌표의 집합과 동일하도록 유지되고, 상기 사용자의 제약 중 소프트한 제약과 연관(concatenation)되어 형성될 수 있다.
또한, 동작 편집 시스템(700)은 상기 스케일 보상을 통해 크기 변경 문제점을 제거하여 상기 모양 보존 조작에 따른 중간결과를 조정할 수 있다. 이때, 상기 크기 변경 문제점은 과결정 선형 시스템을 유사역행렬 및 라그랑주 승수법을 통해 확장하여 얻은 시스템을 통해 제거될 수 있고, 상기 과결정 선형 시스템은 복수의 경로를 위한 선형 시스템과 상기 사용자의 제약 중 소프트한 제약간의 연관을 통해 형성될 수 있다.
단계(S812)에서 동작 편집 시스템(700)은 상호작용적 시간 왜곡을 처리한다. 이때, 시간 왜곡 처리부(712)는 과결정 선형 시스템을 유사역행렬 및 라그랑주 승수법을 통해 확장하여 얻은 시스템을 통해 시간 왜곡을 처리할 수 있다. 여기서, 상기 과결정 선형 시스템은 입력되는 동작 데이터를 균일하게 샘플링하여 공식화한 선형 시스템과 상기 사용자의 제약 중 소프트한 제약간의 연관을 통해 형성될 수 있다.
단계(S813)에서 동작 편집 시스템(700)은 디제너레이트(degenerate) 케이스를 처리한다. 이때, 상기 디제너레이트 케이스는 고정 경로 또는 탄젠트 플립핑(flipping)을 포함할 수 있고, 디제너레이트 케이스 처리부(713)는 상기 사용자의 제약 중 상기 모양-보존 조작에 대한 제약을 하드한 제약의 컬렉션에 추가하여 상기 고정 경로를 처리하거나 또는 사용자로부터 제공되는 스레스홀드(threshold) 이상의 탄젠트 플립핑을 찾아 단일의 포인트에서 이웃한 탄젠트 벡터를 선형보간으로 삽입하여 상기 탄젠트 플립핑을 처리할 수 있다.
단계(S814)에서 동작 편집 시스템(700)은 캐릭터의 전체-몸체를 개선한다. 이때, 동작 편집 시스템(700)은 상기 사용자의 제약 중 엔드-이펙터(end-effector) 제약, 상기 캐릭터의 발과 지면간의 접촉에 따른 제약, 하이브리드 역기구학 솔버(hybrid inverse kinematics solver) 및 계층적 변위(hierarchical displacement) 맵핑을 이용하여 상기 캐릭터의 전체 몸체를 개선할 수 있다.
단계(S820)에서 동작 편집 시스템(700)은 캐릭터 데이터가 처리되는 동안 디스크리트 변형을 적용한다. 여기서, 상기 디스크리트 변환은 삽입, 삭제 및 대체의 세 가지 타입을 포함할 수 있다.
디스크리트 변형을 적용하기 위해 동작 편집 시스템(700)은 도 8에 도시된 바와 같이 단계(S820)에 단계(S821) 내지 단계(S824)를 포함하여 수행할 수 있다.
단계(S821)에서 동작 편집 시스템(700)은 상기 캐릭터 데이터의 동작 경로에 디스크리트 변환을 적용한다. 이때, 동작 편집 시스템(700)은 모든 가능한 디스크리트 변환을 계산하여 상기 사용자의 제약에 대해 평가하고, 상기 평가 결과에 따라 적용될 디스크리트 변환을 선택하여 적용할 수 있다.
단계(S822)에서 동작 편집 시스템(700)은 상기 디스크리트 변환이 적용된 동작 경로가 상기 사용자의 제약을 만족하기 위한 변형 에너지를 계산한다. 이때, 동작 편집 시스템(700)은 모양-보존, 스케일-보상, 시간-왜곡 각각에 대한 변형 에너지 그리고 공간적 경로의 길이, 시간적 기간 및 디스크리트 변환에 대비하여 경로 변형에 부여되는 가중치에 기초하여 상기 제약을 만족하기 위한 변형 에너지를 계산할 수 있다.
단계(S823)에서 동작 편집 시스템(700)은 불필요한 디스크리트 변환을 제거한다. 이때, 동작 편집 시스템(700)은 (1) 디스크리트 변환에 의해 삭제되거나 삽입되는 동작 프레임의 기간이 기선정된 범위를 벗어나는 경우, 해당 디스크리트 변환을 제거하거나, (2) 제1 디스크리트 변환에 의해 삭제되거나 삽입되는 동작 프레임의 기간이 제2 디스크리트 변환의 영향이 미치는 동작 프레임의 기간을 포함하고, 제2 디스크리트 변환이 제3 디스크리트 변환을 포함하는 경우, 제1 디스크리트 변환을 제거하거나, (3) 순간적인 제약에 의해 강제된 어떤 동작 프레임을 삭제 또는 대체한 디스크리트 변환을 제거하거나 또는 (4) 상기 디스크리트 변환을 활성화 또는 비활성화 시킬 수 있는 사용자 인터페이스를 제공하고, 상기 사용자 인터페이스를 통해 상기 사용자로부터 디스크리트 변환의 타입, 캐릭터, 시간 구역, 디스크리트 변환이 허락되는 공간적 지역에 대한 정보 및 활성화 또는 비활성화에 따른 정보를 입력받을 수 있다.
단계(S824)에서 동작 편집 시스템(700)은 디스크리트 변환의 평가를 위한 부표본을 생성한다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 파일 데이터, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (25)

  1. 사용자의 제약에 따라 입력된 캐릭터 데이터의 공간적 경로를 편집하고, 상호작용적 시간 왜곡을 처리하는 라플라시안 동작 편집부; 및
    캐릭터 데이터가 처리되는 동안 디스크리트 변형을 적용하는 디스크리트 동작 편집부
    를 포함하는 동작 편집 시스템.
  2. 제1항에 있어서,
    상기 라플라시안 동작 편집부는,
    모양-보존 조작과 스케일 보상을 통해 상기 공간적 경로를 편집하는 공간 경로 편집부; 및
    상호작용적 시간 왜곡을 처리하는 시간 왜곡 처리부
    를 포함하는 동작 편집 시스템.
  3. 제2항에 있어서,
    상기 공간 경로 편집부는,
    상기 모양-보존 조작을 위한 과결정(over-determined) 선형 시스템을 유사역행렬 및 라그랑주 승수법을 통해 확장하여 중간결과를 획득하는, 동작 편집 시스템.
  4. 제3항에 있어서,
    상기 과결정 선형 시스템은, 모든 포인트에서 동일한 지역 좌표를 갖는 변형된 경로가 변형된 지역 좌표의 집합과 동일하도록 유지되고, 상기 사용자의 제약 중 소프트한 제약과 연관(concatenation)되어 형성되는, 동작 편집 시스템.
  5. 제2항에 있어서,
    상기 공간 경로 편집부는,
    상기 스케일 보상을 통해 크기 변경 문제점을 제거하여 상기 모양 보존 조작에 따른 중간결과를 조정하는, 동작 편집 시스템.
  6. 제5항에 있어서,
    상기 크기 변경 문제점은 과결정 선형 시스템을 유사역행렬 및 라그랑주 승수법을 통해 확장하여 얻은 시스템을 통해 제거되고,
    상기 과결정 선형 시스템은 복수의 경로를 위한 선형 시스템과 상기 사용자의 제약 중 소프트한 제약간의 연관을 통해 형성되는, 동작 편집 시스템.
  7. 제2항에 있어서,
    상기 시간 왜곡 처리부는,
    과결정 선형 시스템을 유사역행렬 및 라그랑주 승수법을 통해 확장하여 얻은 시스템을 통해 시간 왜곡을 처리하고,
    상기 과결정 선형 시스템은 입력되는 동작 데이터를 균일하게 샘플링하여 공식화한 선형 시스템과 상기 사용자의 제약 중 소프트한 제약간의 연관을 통해 형성되는, 동작 편집 시스템.
  8. 제2항에 있어서,
    상기 라플라시안 동작 편집부는,
    디제너레이트(degenerate) 케이스를 처리하는 디제너레이트 케이스 처리부; 및
    캐릭터의 전체-몸체를 개선하는 전체 몸체 개선부
    를 더 포함하는, 동작 편집 시스템.
  9. 제8항에 있어서,
    상기 디제너레이트 케이스는 고정 경로를 포함하고,
    상기 디제너레이트 케이스 처리부는,
    상기 사용자의 제약 중 상기 모양-보존 조작에 대한 제약을 하드한 제약의 컬렉션에 추가하여 상기 고정 경로를 처리하는, 동작 편집 시스템.
  10. 제8항에 있어서,
    상기 디제너레이트 케이스는, 탄젠트 플립핑(flipping)을 포함하고,
    상기 디제너레이트 케이스 처리부는,
    사용자로부터 제공되는 스레스홀드(threshold) 이상의 탄젠트 플립핑을 찾아 단일의 포인트에서 이웃한 탄젠트 벡터를 선형보간법으로 삽입하여 상기 탄젠트 플립핑을 처리하는, 동작 편집 시스템.
  11. 제8항에 있어서,
    상기 전체-몸체 개선부는,
    상기 사용자의 제약 중 엔드-이펙터(end-effector) 제약, 상기 캐릭터의 발과 지면간의 접촉에 따른 제약, 하이브리드 역기구학 솔버(hybrid inverse kinematics solver) 및 계층적 변위(hierarchical displacement) 맵핑을 이용하여 상기 캐릭터의 전체 몸체를 개선하는, 동작 편집 시스템.
  12. 제1항에 있어서,
    상기 디스크리트 동작 편집부는,
    상기 캐릭터 데이터의 동작 경로에 디스크리트 변환을 적용하는 디스크리트 변환 적용부;
    상기 디스크리트 변환이 적용된 동작 경로가 상기 사용자의 제약을 만족하기 위한 변형 에너지를 계산하는 변형 에너지 계산부;
    불필요한 디스크리트 변환을 제거하는 디스크리트 변환 제거부; 및
    디스크리트 변환의 평가를 위한 부표본을 생성하는 가속화부
    를 포함하는, 동작 편집 시스템.
  13. 제12항에 있어서,
    상기 디스크리트 변환 적용부는,
    모든 가능한 디스크리트 변환을 계산하여 상기 사용자의 제약에 대해 평가하고, 상기 평가 결과에 따라 적용될 디스크리트 변환을 선택하여 적용하는, 동작 편집 시스템.
  14. 제12항에 있어서,
    상기 변형 에너지 계산부는,
    모양-보존, 스케일-보상, 시간-왜곡 각각에 대한 변형 에너지 그리고 공간적 경로의 길이, 시간적 기간 및 디스크리트 변환에 대비하여 경로 변형에 부여되는 가중치에 기초하여 상기 제약을 만족하기 위한 변형 에너지를 계산하는, 동작 편집 시스템.
  15. 제12항에 있어서,
    상기 디스크리트 변환 제거부는,
    디스크리트 변환에 의해 삭제되거나 삽입되는 동작 프레임의 기간이 기선정된 범위를 벗어나는 경우, 해당 디스크리트 변환을 제거하는, 동작 편집 시스템.
  16. 제12항에 있어서,
    상기 디스크리트 변환 제거부는,
    제1 디스크리트 변환에 의해 삭제되거나 삽입되는 동작 프레임의 기간이 제2 디스크리트 변환의 영향이 미치는 동작 프레임의 기간을 포함하고, 제2 디스크리트 변환이 제1 디스크리트 변환을 포함하는 경우, 제2 디스크리트 변환을 제거하는, 동작 편집 시스템.
  17. 제12항에 있어서,
    상기 디스크리트 변환 제거부는,
    순간적인 제약에 의해 강제된 어떤 동작 프레임을 삭제 또는 대체한 디스크리트 변환을 제거하는, 동작 편집 시스템.
  18. 제12항에 있어서,
    상기 디스크리트 변환 제거부는,
    상기 디스크리트 변환을 활성화 또는 비활성화 시킬 수 있는 사용자 인터페이스를 제공하고, 상기 사용자 인터페이스를 통해 상기 사용자로부터 디스크리트 변환의 타입, 캐릭터, 시간 구역, 디스크리트 변환이 허락되는 공간적 지역에 대한 정보 및 활성화 또는 비활성화에 따른 정보를 입력받는, 동작 편집 시스템.
  19. 제1항에 있어서,
    상기 디스크리트 변환은 삽입, 삭제 및 대체의 세 가지 타입을 포함하는, 동작 편집 시스템.
  20. 제1항에 있어서,
    상기 사용자의 제약은 핀 제약, 관계 제약 및 엔드-이펙트 제약을 포함하는 공간적 제약 및 절대 시간, 존속기간 및 동기화를 포함하는 시간적 제약을 포함하는, 동작 편집 시스템.
  21. 라플라시안 동작 편집부 및 디스크리트 동작 편집부를 포함하는 동작 편집 시스템에서 동작을 편집하는 방법에 있어서,
    상기 라플라시안 동작 편집부에서 사용자의 제약에 따라 입력된 캐릭터 데이터의 공간적 경로를 편집하고, 상호작용적 시간 왜곡을 처리하는 단계; 및
    상기 디스크리트 동작 편집부에서 캐릭터 데이터가 처리되는 동안 디스크리트 변형을 적용하는 단계
    를 포함하는 동작 편집 방법.
  22. 제21항에 있어서,
    상기 공간적 경로를 편집하고, 상호작용적 시간 왜곡을 처리하는 단계는,
    모양-보존 조작과 스케일 보상을 통해 상기 공간적 경로를 편집하는 단계; 및
    상호작용적 시간 왜곡을 처리하는 단계
    를 포함하는 동작 편집 방법.
  23. 제22항에 있어서,
    상기 공간적 경로를 편집하고, 상호작용적 시간 왜곡을 처리하는 단계는,
    디제너레이트(degenerate) 케이스를 처리하는 단계; 및
    캐릭터의 전체-몸체를 개선하는 단계
    를 더 포함하는, 동작 편집 방법.
  24. 제21항에 있어서,
    상기 캐릭터 데이터가 처리되는 동안 디스크리트 변형을 적용하는 단계는,
    상기 캐릭터 데이터의 동작 경로에 디스크리트 변환을 적용하는 단계;
    상기 디스크리트 변환이 적용된 동작 경로가 상기 사용자의 제약을 만족하기 위한 변형 에너지를 계산하는 단계;
    불필요한 디스크리트 변환을 제거하는 단계; 및
    디스크리트 변환의 평가를 위한 부표본을 생성하는 단계
    를 포함하는, 동작 편집 방법.
  25. 제21항 내지 제24항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
PCT/KR2009/003307 2009-06-11 2009-06-19 동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법 Ceased WO2010143766A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/376,781 US9030479B2 (en) 2009-06-11 2009-06-19 System and method for motion editing multiple synchronized characters

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090052017A KR101053395B1 (ko) 2009-06-11 2009-06-11 동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법
KR10-2009-0052017 2009-06-11

Publications (1)

Publication Number Publication Date
WO2010143766A1 true WO2010143766A1 (ko) 2010-12-16

Family

ID=43309010

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/003307 Ceased WO2010143766A1 (ko) 2009-06-11 2009-06-19 동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법

Country Status (3)

Country Link
US (1) US9030479B2 (ko)
KR (1) KR101053395B1 (ko)
WO (1) WO2010143766A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110138321A1 (en) * 2009-12-04 2011-06-09 International Business Machines Corporation Zone-based functions in a user interface
KR101527792B1 (ko) * 2013-08-29 2015-06-12 한양대학교 산학협력단 상호작용하는 캐릭터를 모델링 하는 방법 및 장치
KR20170086317A (ko) * 2016-01-18 2017-07-26 한국전자통신연구원 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치 및 방법
KR101867991B1 (ko) * 2016-12-13 2018-06-20 한국과학기술원 다관절 오브젝트의 모션 에디팅 방법 및 장치
US11087514B2 (en) * 2019-06-11 2021-08-10 Adobe Inc. Image object pose synchronization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002074396A (ja) * 2000-06-16 2002-03-15 Sony Computer Entertainment Inc 群集の移動を表現する方法、記憶媒体、および情報処理装置
KR100682849B1 (ko) * 2004-11-05 2007-02-15 한국전자통신연구원 디지털 캐릭터 생성 장치 및 그 방법
KR20080050277A (ko) * 2006-12-02 2008-06-05 한국전자통신연구원 대규모 가상 군중 동작의 획득 및 편집 방법 및 그 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002074396A (ja) * 2000-06-16 2002-03-15 Sony Computer Entertainment Inc 群集の移動を表現する方法、記憶媒体、および情報処理装置
KR100682849B1 (ko) * 2004-11-05 2007-02-15 한국전자통신연구원 디지털 캐릭터 생성 장치 및 그 방법
KR20080050277A (ko) * 2006-12-02 2008-06-05 한국전자통신연구원 대규모 가상 군중 동작의 획득 및 편집 방법 및 그 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MINSU AHN ET AL.: "Designing and Implementation of a Crowd Scene Management System", PROCEEDINGS OF THE KOREAN INFORMATION SCIENCE SOCIETY CONFERENCE, vol. 27, no. 1(B), April 2000 (2000-04-01), pages 616 - 618 *

Also Published As

Publication number Publication date
KR101053395B1 (ko) 2011-08-01
US9030479B2 (en) 2015-05-12
US20120075349A1 (en) 2012-03-29
KR20100133232A (ko) 2010-12-21

Similar Documents

Publication Publication Date Title
WO2010143766A1 (ko) 동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법
WO2020213829A1 (ko) 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
WO2024058616A1 (en) Synergies between pick and place: task-aware grasp estimation
WO2015194866A1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2021085757A1 (ko) 예외적 움직임에 강인한 비디오 프레임 보간 방법 및 그 장치
WO2021241994A1 (ko) Rgb-d 카메라의 트래킹을 통한 3d 모델의 생성 방법 및 장치
WO2021034006A1 (en) Method and apparatus for rigging 3d scanned human models
WO2024186177A1 (ko) 비전-언어 트랜스포머를 사전 훈련하는 방법 및 이를 통해 사전 훈련된 비전-언어 트랜스포머를 포함하는 인공지능 시스템
WO2015183049A1 (ko) 옵티컬 트래킹 시스템 및 옵티컬 트래킹 시스템의 마커부 자세 산출방법
WO2010087654A2 (ko) 다중 입력 소스를 이용한 오브젝트 조작 장치
WO2012011755A2 (ko) 데이터 전송 장치 및 방법
WO2016099111A1 (ko) 영상 합성 방법 및 시스템
WO2023153553A1 (ko) 발화 합성 영상 생성 장치 및 방법
WO2023153555A1 (ko) 발화 합성 영상 생성 장치 및 방법
Sim et al. Multirate predictor control scheme for visual servo control
WO2023090627A1 (ko) 화합물 최적화를 위한 장치 및 방법
WO2019108002A1 (ko) 관절 로봇의 관절각 산출 방법
WO2019074185A1 (en) ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF
WO2024186080A1 (ko) 자연어 기반 3차원 객체 조작 장치 및 방법
WO2024039154A1 (ko) 3d 영상을 표시하기 위한 전자 장치 및 전자 장치의 동작 방법
WO2023146019A1 (ko) 발화 합성 영상 생성 장치 및 방법
WO2023043168A1 (ko) 3차원 스케칭을 수행하는 전자 장치 및 그 동작 방법
WO2012108568A1 (ko) 모션 제어 장치 및 방법
WO2011055906A2 (ko) 우주비행체 자세결정을 위한 별패턴 인식 방법 및 별센서 장치
WO2019164276A1 (ko) 수술동작 인식 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09845860

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13376781

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09845860

Country of ref document: EP

Kind code of ref document: A1