KR20170086317A - Apparatus and Method for Generating 3D Character Motion via Timing Transfer - Google Patents

Apparatus and Method for Generating 3D Character Motion via Timing Transfer Download PDF

Info

Publication number
KR20170086317A
KR20170086317A KR1020160006012A KR20160006012A KR20170086317A KR 20170086317 A KR20170086317 A KR 20170086317A KR 1020160006012 A KR1020160006012 A KR 1020160006012A KR 20160006012 A KR20160006012 A KR 20160006012A KR 20170086317 A KR20170086317 A KR 20170086317A
Authority
KR
South Korea
Prior art keywords
joint
timing
motion
foot
time
Prior art date
Application number
KR1020160006012A
Other languages
Korean (ko)
Inventor
김예진
홍성진
백성민
김명규
정일권
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160006012A priority Critical patent/KR20170086317A/en
Priority to US15/142,501 priority patent/US10049484B2/en
Publication of KR20170086317A publication Critical patent/KR20170086317A/en

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/90Services for handling of emergency or hazardous situations, e.g. earthquake and tsunami warning systems [ETWS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/40Arrangements in telecontrol or telemetry systems using a wireless architecture
    • H04Q2209/43Arrangements in telecontrol or telemetry systems using a wireless architecture using wireless personal area networks [WPAN], e.g. 802.15, 802.15.1, 802.15.4, Bluetooth or ZigBee

Abstract

본 발명은 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치로, 동일한 스켈레톤 모델 구조를 갖는 캐릭터에 대한 적어도 하나의 예제 동작 데이터를 저장하는 예제동작 데이터베이스와, 상기 예제동작 데이터베이스에 포함되어 있는 예제 동작 데이터의 타이밍을 분석하여 타이밍 소스를 생성하는 예제 동작 분석부와, 입력 동작의 공간적 움직임을 상기 소정 예제 동작의 타이밍 소스에 맞게 재조절하여 출력 동작을 생성하는 입력 동작 변환부를 포함한다.The present invention relates to an apparatus for generating a three-dimensional character movement using timing conversion, the apparatus comprising: an example operation database storing at least one example operation data for a character having the same skeleton model structure; And an input operation converting unit for generating an output operation by re-adjusting the spatial motion of the input operation according to the timing source of the predetermined sample operation.

Description

타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치 및 방법{Apparatus and Method for Generating 3D Character Motion via Timing Transfer}TECHNICAL FIELD [0001] The present invention relates to an apparatus and method for generating three-dimensional character motion using timing conversion,

본 발명은 콘텐츠 제작 및 편집 기술에 관한 것으로, 보다 상세하게는 3차원 가상 캐릭터의 애니메이션 제작 및 편집 기술에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a content creation and editing technology, and more particularly, to a technique for creating and editing animations of a 3D virtual character.

3차원 가상 캐릭터(3-dimensional virtual character)는 영화, 게임, 방송, 아바타(avatar) 등과 같은 디지털 콘텐츠(digital contents) 분야에 폭넓게 사용되고 있다. 일반적으로 가상 캐릭터의 사실적인 동작을 포함하는 애니메이션(animation)을 제작하기 위해서는 정량적인(quantitative) 요소와 정성적인(qualitative) 요소를 고려해야 한다. 3-dimensional virtual characters are widely used in the fields of digital contents such as movies, games, broadcasting, avatars, and the like. In general, quantitative and qualitative factors must be considered in order to produce an animation that includes the realistic behavior of a virtual character.

캐릭터 애니메이션에서 정량적인 요소는 동작의 위치, 속도, 가속도 등과 같이 수치적으로 계산이 가능하지만, 정성적인 요소는 캐릭터의 감성, 경험, 습관 등과 같이 수치 해석(numerical analysis)이 어렵거나 불가능한 경우가 많다. 특히, 정성적인 요소를 편집하여 새로운 동작을 생성하는 과정에서 특정 동작의 시작과 끝을 나타내는 타이밍(timing)은 해당 동작 스타일(style) 및 특징(characteristic)을 표현하는데 매우 중요한 역할을 한다. 예컨대, 동일한 위치를 이동하는 동작이라도 타이밍이 빠르면 활기차고 역동적으로 표현되나, 느리면 지치고 무디게 느껴진다. 또한, 동일한 위치에서 정지해 있는 시간이 길면 동작은 단계적으로 끊어져 보이는 반면 정지해 있는 시간이 짧으면 동작이 전체적으로 유기적으로 매우 부드럽게 느껴진다. 따라서, 캐릭터 애니메이션 제작에 많이 쓰이는 다수의 관절(joint)로 연결된 스켈레톤 모델(articulated skeleton model)을 이용하여 동작의 스타일을 편집할 경우 사용자는 각 관절의 수만큼 관절 회전 타이밍을 조절해야만 한다.In character animation, quantitative elements can be calculated numerically, such as position, speed, and acceleration, but qualitative elements are often difficult or impossible to numerically analyze, such as character emotion, experience, and habits . Particularly, in the process of editing a qualitative element to generate a new operation, timing indicating the start and end of a specific operation plays a very important role in expressing the corresponding style and characteristic. For example, even when moving at the same position, the timing is expressed vigorously and dynamically at a high speed, but it is tired and dull at a slow speed. In addition, when the stopping time at the same position is long, the operation is seen to be cut off step by step, while when the stopping time is short, the operation is overall very smoothly organically. Therefore, when the style of motion is edited using a plurality of articulated skeleton models commonly used for character animation production, the user must adjust the joint rotation timing by the number of each joint.

한편, 기존에 캐릭터의 동작을 생성하는 방법으로는 키-프레임 애니메이션(key-frame animation) 방식이 널리 사용되어 왔다. 이는 사용자가 원하는 스타일의 동작을 매우 자유롭게 생성할 수 있다는 장점이 있으나, 주요 프레임에 해당하는 동작 타이밍을 편집하는 과정은 다음과 같은 이유로 많은 노력과 시간을 요구한다. Meanwhile, a key-frame animation method has been widely used as a method of generating a character's motion in the past. This has the advantage that the user can freely create an operation of a desired style, but the process of editing the operation timing corresponding to the main frame requires much effort and time for the following reason.

첫째, 캐릭터 모델을 형성하는 다관절 스켈레톤 모델은 높은 자유도(degrees of freedom)를 가지고 있고, 사용자가 많은 수의 관절과 연동된 타이밍을 조절하여 높은 품질의 동작으로 생성하기에는 전문적인 훈련과 인체 동작의 물리적인 지식(예로 중력에 의한 인체 활동 범위의 제약 및 관절 간의 이동 상관 관계)을 필요로 한다. 특히, 캐릭터 동작 타이밍과 밀접한 관계가 있는 무게 및 운동 에너지의 이동을 사실적으로 표현하는 작업은 편집 경험 및 전문성이 부족한 초보 사용자에게는 매우 어려운 일이다. First, the multi-joint skeleton model that forms the character model has high degree of freedom and it is necessary for the user to adjust the timing associated with a large number of joints so that the high- (For example, constraints on the range of human activity due to gravity and mobile correlation between joints). In particular, realistic representation of the movement of weight and kinetic energy, which is closely related to the timing of character operations, is very difficult for beginners who lack editing experience and expertise.

또한, 자연스러운 캐릭터 애니메이션을 보여주기 위해서는 초당 24~30 프레임이상의 동작 자세를 생성해야 하는데, 이를 위해 주요 자세들이 포함하는 모든 관절들의 타이밍을 편집하는 작업은 전문 애니메이터(animator)에게도 많은 시간을 요구한다. Also, in order to show a natural character animation, it is necessary to generate an operation posture of 24 to 30 frames per second or more. To this end, editing the timing of all the joints included in the main postures requires a lot of time for a professional animator.

마지막으로 동작 타이밍을 편집하기 위해 나온 대부분의 상업용 3차원 모델링 도구(modeling tool)들은 복잡한 편집 프로세스(process) 및 사용자 인터페이스(user interface)로 인해 초보 사용자가 이런 도구를 이용하여 사실적인 애니메이션을 제작하기는 매우 어렵다. 이러한 이유들로 현재 키 프레임 방식으로 높은 품질의 캐릭터 애니메이션을 제작하기 위해서는 길이가 짧은 애니메이션이라도 많은 전문 애니메이터를 필요로 하고, 이는 높은 제작 비용의 원인이 되고 있다. Finally, most commercial three-dimensional modeling tools to edit the timing of operations have complex editing processes and user interfaces that enable novice users to create realistic animations using these tools. Is very difficult. For these reasons, in order to produce high-quality character animation using the key frame method, even a short animation requires many professional animators, which causes a high production cost.

한편, 다수의 카메라를 통해 연기자의 움직임을 실시간으로 인식 및 추적한 후 가상 캐릭터 모델의 동작으로 복원하는 모션 캡쳐(motion capture) 방식은 연기자의 움직임을 직접 기록(record)하기 때문에 매우 높은 품질의 동작 데이터 생성이 가능하다. 특히, 갭쳐된 3차원 동작 데이터는 다관절 스켈레톤에 피팅(fitting)되어 기존의 캐릭터 애니메이션 제작 파이프라인(pipeline)에 쉽게 적용할 수가 있다. 하지만, 카메라의 속도에 따라 최소 초당 24~30 프레임이상으로 동작이 캡쳐되면서 생성되는 동작 데이터는 높은 프레임의 연속성(continuity) 및 밀집성(density)을 가진다. 때문에, 사용자가 갭쳐한 데이터의 타이밍 정보를 편집하면 연속된 프레임들에 포함되어 있는 움직임의 중요한 요소인 물리적 타당성(physical validity)을 쉽게 훼손할 수 있다. 따라서, 갭쳐한 데이터를 사용자가 원하는 스타일의 동작으로 변형시 결과물에 동작의 부자연스러움 및 노이즈(noise)로 인해 품질 저하가 일어날 수 있다. 또한, 일반적으로 고품질의 동작 데이터를 인식 및 추적하는 모션 갭쳐 시스템은 매우 고가의 장비이고, 넓은 캡쳐 공간이 필요하며, 다수의 운영인원이 전문적인 교육을 받아야 사용할 수가 있다. 마지막으로 모션 갭쳐 방식에서 동작의 품질에 제일 큰 영향을 미치는 요소는 연기자의 숙련도이다. 특히, 댄스나 운동과 같이 복잡하고 다이나믹(dynamic)한 동작의 타이밍 정보는 일반인의 움직임에서 고품질로 추출하기는 매우 어렵기 때문에 전문 연기자를 필요로 한다. 이러한 이유들로 현재 모션 갭쳐 방식으로 동작 데이터를 생성하는데는 긴 준비 시간과 높은 비용이 소요되고 있다.On the other hand, a motion capture method that recognizes and tracks the actor's movements in real time through a plurality of cameras and restores them to the operation of the virtual character model records the actor's motion directly, Data generation is possible. In particular, the captured three-dimensional motion data can be fitted to a multi-joint skeleton and easily applied to an existing character animation production pipeline. However, the motion data generated as the motion is captured at a minimum of 24-30 frames per second according to the camera speed has a high frame continuity and density. Therefore, if the user edits the timing information of the captured data, the physical validity, which is an important element of the motion included in the consecutive frames, can be easily undermined. Therefore, when the captured data is transformed into a style operation desired by the user, the quality of the result may be deteriorated due to unnatural operation and noise. In addition, motion capture systems, which generally recognize and track high quality motion data, are very expensive equipment, require a large capture space, and require a large number of operating personnel to receive professional training. Finally, the factor that has the greatest influence on the quality of motion in the motion capture method is the skill of the actor. In particular, the timing information of complex and dynamic motion such as dance or motion is very difficult to extract from the motion of the general public in high quality, and thus requires a professional performer. For these reasons, it takes a long preparation time and high cost to generate motion data using the current motion capture method.

본 발명은 3차원 캐릭터 애니메이션 제작에 필요한 동작 데이터를 저비용으로 빠르게 생성하기 위한 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치 및 방법을 제공한다. The present invention provides an apparatus and method for generating a three-dimensional character motion using timing conversion for quickly generating operation data required for producing a three-dimensional character animation at low cost.

본 발명은 숙련된 전문 애니메이터들에 의해 생성된 동작 데이터를 사용자가 원하는 목적으로 재사용할 수 있게 변환할 수 있는 동작 스타일 편집 도구인 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치 및 방법을 제공한다. The present invention provides an apparatus and method for generating a three-dimensional character motion using timing conversion, which is an operation style editing tool that can convert operation data generated by experienced professional animators so that the user can reuse them for a desired purpose.

본 발명은 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치로, 동일한 스켈레톤 모델 구조를 갖는 캐릭터에 대한 적어도 하나의 예제 동작 데이터를 저장하는 예제동작 데이터베이스와, 상기 예제동작 데이터베이스에 포함되어 있는 예제 동작 데이터의 타이밍을 분석하여 타이밍 소스를 생성하는 예제 동작 분석부와, 입력 동작의 공간적 움직임을 상기 소정 예제 동작의 타이밍 소스에 맞게 재조절하여 출력 동작을 생성하는 입력 동작 변환부를 포함한다.The present invention relates to an apparatus for generating a three-dimensional character movement using timing conversion, the apparatus comprising: an example operation database storing at least one example operation data for a character having the same skeleton model structure; And an input operation converting unit for generating an output operation by re-adjusting the spatial motion of the input operation according to the timing source of the predetermined sample operation.

본 발명은 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법으로, 동일한 스켈레톤 모델 구조를 갖는 캐릭터에 대한 적어도 하나의 예제 동작 데이터의 타이밍을 분석하여 타이밍 소스를 생성하는 단계와, 입력 동작의 공간적 움직임을 상기 소정 예제 동작의 타이밍 소스에 맞게 재조절하여 변환하는 단계를 포함한다.A method for generating a three-dimensional character motion using timing conversion, the method comprising: generating a timing source by analyzing a timing of at least one sample operation data for a character having the same skeleton model structure; And re-adjusting to match the timing source of the given sample operation.

본 발명에 따라, 사용자는 주어진 예제 동작 DB에서 선택한 예제 동작의 스타일을 기존의 공간적 편집 과정 없이 입력 동작(타이밍 정보)에 적용하여 원래 동작의 고품질을 유지하면서 새로운 스타일의 동작을 효율적으로 생성할 수 있다. According to the present invention, the user can apply the style of the selected operation selected in the given example operation DB to the input operation (timing information) without the existing spatial editing process, thereby efficiently generating the new style operation while maintaining the high quality of the original operation have.

또한. 숙련된 전문 애니메이터들에 의해 제작된 동작 데이터를 재사용하여 사용자가 원하는 스타일의 동작으로 변환할 수 있으며, 입력 동작의 편집 과정에서 필요로 하던 동작의 물리적 특성 분석 및 정성적인 요소 이해와 같은 전문적인 지식을 사용자로부터 요구하지 않는다. Also. It is possible to reuse motion data produced by skilled professional animators and convert them into motion of the style desired by the user. It is also possible to analyze the physical characteristics of motion and qualitative elements Is not requested from the user.

또한, 출력 동작이 입력 동작의 공간적 움직임을 예제 동작의 타이밍 정보만을 활용하여 생성되기 때문에 기존의 공간적 동작 편집에 따른 노이즈 및 에러가 발생할 요인이 없으며, 고품질의 동작 데이터 생성을 보장한다. In addition, since the output operation generates the spatial movement of the input operation by utilizing only the timing information of the example operation, there is no cause of noise and error due to the editing of the existing spatial operation, and ensures generation of high-quality operation data.

특히, 본 발명에서 동작 분석 및 변환에서 동작의 스타일 변화 과정은 사용자의 개입을 최소화하여 자동화되어 있기 때문에 대용량 애니메이션을 제작하는데 필요한 많은 수의 동작 데이터를 빠르게 생성할 수 있다. 따라서, 본 발명은 기존에 생성된 동작을 재사용하여 저비용으로 예제 동작 DB(10)의 크기 증가가 가능하고, 3차원 캐릭터 동작이 활용되는 다양한 인터랙티브(interactive) 어플케이션인 게임, 가상현실, 방송, 아바타 등에 실용적으로 사용될 수 있다.Particularly, in the present invention, since the style change process of the action in the action analysis and conversion is automated by minimizing the intervention of the user, it is possible to quickly generate a large number of action data necessary for producing a large-capacity animation. Accordingly, the present invention is applicable to various interactive applications such as a game, a virtual reality, a broadcast, a game, a game, etc., in which the size of the example operation DB 10 can be increased at low cost by reusing the previously generated operations, Avatars and the like can be practically used.

도 1은 3차원 가상 캐릭터의 다관절 스켈레톤 모델의 일 예를 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 예제 동작 분석부의 상세 구성도이다.
도 4는 예제 동작의 키 타임들이 정규화된 일 예를 도시한 도면이다.
도 5는 자세 비교를 위한 특징 백터 정의를 위한 스켈레톤 모델의 구조도이다.
도 6은 본 발명의 일 실시 예에 따른 입력 동작 변환부의 상세 구성도이다.
도 7은 두 동작의 자식과 부모 관절의 회전 타이밍 이동과 진폭 크기의 일 예를 도시한 도면이다.
도 8a 및 도 8b는 본 발명에 따라 입력 동작을 타이밍 소스의 동작 스타일로 복제한 결과의 예를 도시한 도면이다.
도 9는 본 발명의 일 실시 예에 따른 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법을 설명하기 위한 순서도이다.
도 10은 본 발명의 일 실시 예에 따른 예제 동작 분석 단계를 설명하기 위한 순서도이다.
도 11은 본 발명의 일 실시 예에 따른 입력 동작 변환 단계를 설명하기 위한 순서도이다.
1 is a view showing an example of a multi-joint skeleton model of a three-dimensional virtual character.
FIG. 2 is a diagram illustrating an apparatus for generating a three-dimensional character motion using timing conversion according to an embodiment of the present invention.
3 is a detailed block diagram of an exemplary operation analyzing unit according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating an example in which the key times of the example operation are normalized.
5 is a structural diagram of a skeleton model for defining feature vectors for posture comparison.
6 is a detailed configuration diagram of an input operation converting unit according to an embodiment of the present invention.
FIG. 7 is a diagram showing an example of a rotation timing shift and an amplitude magnitude of a child and a parent joint of two movements.
8A and 8B are diagrams showing examples of the result of replicating an input operation in accordance with the present invention to the operation style of a timing source.
9 is a flowchart illustrating a method of generating a three-dimensional character operation using timing conversion according to an embodiment of the present invention.
FIG. 10 is a flow chart for explaining an example operation analysis step according to an embodiment of the present invention.
11 is a flow chart for explaining an input operation conversion step according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시 예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout.

본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명 실시 예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

명세서 전반에 걸쳐 사용되는 용어들은 본 발명 실시 예에서의 기능을 고려하여 정의된 용어들로서, 사용자 또는 운용자의 의도, 관례 등에 따라 충분히 변형될 수 있는 사항이므로, 이 용어들의 정의는 본 발명의 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.The terms used throughout the specification are defined in consideration of the functions in the embodiments of the present invention and can be sufficiently modified according to the intentions and customs of the user or the operator. It should be based on the contents of.

도 1은 3차원 가상 캐릭터의 다관절 스켈레톤 모델의 일 예를 도시한 도면이다.1 is a view showing an example of a multi-joint skeleton model of a three-dimensional virtual character.

도 1을 참조하면, 3차원 캐릭터 애니메이션 제작에 사용되는 스켈레톤 모델은 루트(root) 관절에서 시작해서 중간 관절들(internal joints)을 통해 머리(head), 손(hand), 발(foot)의 관절 끝으로 연결되어 있는 구조를 갖는다. 각각의 관절은 x, y, z축을 기점으로 총 6개의 회전 및 이동 자유도(DOF)를 가질 수 있다. 따라서, 캐릭터 편집 및 생성 방법으로 새로운 스타일의 동작을 생성하기 위해서는 사용자가 동작 스타일과 관련된 많은 수의 관절 자유도를 반복적으로 조절해야만 한다. 이러한 수동적인 관절 자유도 조절을 기존 동작 데이터를 활용하여 자동으로 동작을 생성하는 방법들이 제안되었으나, 신체 비율이 상이한 캐릭터들 간의 동일한 스타일의 동작 생성에만 그 초점이 맞추어져 있다. 특히, 동작 편집 과정에서 원본 동작의 공간적(spatial) 데이터를 직접 편집하고 있기 때문에 출력 동작의 품질을 보장하기가 어렵다.Referring to FIG. 1, a skeleton model used for producing a three-dimensional character animation starts from a root joint and passes through joints (internal joints), such as a head, a hand, And has a structure connected to the end. Each joint can have a total of six rotational and translational degrees of freedom (DOF) starting from the x, y, and z axes. Thus, in order to create a new style of action with character editing and creation methods, the user must repeatedly adjust a large number of joint degrees of freedom associated with the style of action. These passive joint degree of freedom adjustments have been proposed for generating motion automatically using existing motion data, but focusing on creating the same style of motion between characters with different body ratios. In particular, since the spatial data of the original motion is directly edited during the motion editing process, it is difficult to guarantee the quality of the output motion.

따라서, 본 발명에서는 사용자가 숙련된 애니메이터들에 의해 이미 생성되어 있는 예제 동작의 스타일을 기존의 공간적 편집 과정 없이 입력 동작(타이밍 정보)에 적용하여 원래 동작의 고품질을 유지하면서 새로운 스타일의 동작을 효율적으로 생성할 수 있는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치 및 방법을 제안한다.Accordingly, in the present invention, the style of the example operation already generated by the skilled animators is applied to the input operation (timing information) without the conventional spatial editing process, so that the operation of the new style can be efficiently performed Dimensional character motion by using timing conversion which can be generated by the proposed method.

도 2는 본 발명의 일 실시 예에 따른 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치를 도시한 도면이다. FIG. 2 is a diagram illustrating an apparatus for generating a three-dimensional character motion using timing conversion according to an embodiment of the present invention.

도 2를 참조하면, 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치(이하 '장치'라 기재함)는 예제 동작 DB(10), 예제 동작 분석부(100) 및 입력 동작 변환부(200)를 포함한다. Referring to FIG. 2, an apparatus for generating a three-dimensional character motion using a timing conversion (hereinafter referred to as a "device") includes an example operation DB 10, an example operation analysis unit 100, and an input operation conversion unit 200 do.

예제 동작 DB(10)는 키 프레임이나 모션 캡쳐 방식으로 생성된 데이터를 모두 포함할 수 있으나, 동작 스타일 변환 과정의 간소화를 위해 모든 데이터는 도 1에 도시된 바와 같은 동일한 스켈레톤 모델 구조를 사용한다고 가정한다. 만약, 예제 동작 DB(10)에 포함되어 있는 예제 동작 간의 스켈레톤 모델 구조가 상이할 경우, 예제 동작 간의 스켈레톤 모델 구조는 모션 리타게팅(motion retargeting) 기법으로 단일 스켈레톤 모델 구조로 매핑(mapping)된 후, 사용될 수 있다. 또한, 모션 캡쳐 방식으로 생성된 데이터를 사용할 경우 연기한(performed) 동작 내용에 따라 동작의 시작과 끝을 나타내는 자세, 잘못된(erroneous) 자세, 중복된(duplicated) 자세 등이 포함되어 있을 수 있는데, 예제 동작 DB(10)는 이러한 데이터들 중에서 전처리(preprocessing) 작업을 거쳐 선별된 동작의 스타일을 나타내는데 필요한 주요 자세만을 포함하고 있는 데이터를 저장할 수 있다.The example operation DB 10 may include all the data generated by the key frame or the motion capture method. However, in order to simplify the operation style conversion process, it is assumed that all the data use the same skeleton model structure as shown in FIG. 1 do. If the skeleton model structure between the example operations included in the example operation DB 10 is different, the skeleton model structure between the example operations is mapped to a single skeleton model structure by the motion retargeting technique , Can be used. In addition, when using the data generated by the motion capture method, the posture indicating the start and end of the action, the erroneous posture, and the duplicated posture may be included according to the postponed action contents, The example operation DB 10 can store data including only the main postures necessary for expressing the style of the selected operation through the preprocessing operation among the data.

예제 동작 분석(example motion analysis)부(100)는 예제 동작 DB(10)에 포함되어 있는 모든 예제 동작 데이터의 타이밍을 분석하여 타이밍 소스를 생성한다. 즉, 동작들 간의 시간적 변화를 하나의 공통된 시간 축(time axis)으로 이동하여 서로 다른 관절의 타이밍을 동일한 축에서 조절할 수 있어야 한다. 이러한 타이밍은 동작의 중요한 순간을 나타내는 키 타임으로 표시하여 나타낼 수 있지만, 사용자가 예제 동작 DB(10)에 포함된 모든 예제 동작들의 키 타임들을 수작업으로 찾아내기에는 많은 시간이 소요된다. 따라서, 예제 동작 분석(example motion analysis)부(100)는 예제 동작 DB(10)의 예제 동작들의 키 타임들을 자동으로 검출하고, 사용자가 동작 스타일 변환에 사용할 수 있는 데이터 형태인 타이밍 소스(timing source)를 생성한다. 예제 동작 분석부(100)의 상세 설명은 도 3을 참조하여 후술하기로 한다. The example motion analysis unit (100) analyzes the timing of all the sample operation data included in the sample operation DB (10) to generate a timing source. That is, it is necessary to move the temporal changes between the operations on one common time axis to adjust the timing of the different joints on the same axis. Such timing may be indicated by key time indicating an important moment of operation, but it takes a long time for the user to manually find the key times of all example operations included in the example operation DB 10. [ Therefore, the example motion analysis unit 100 automatically detects the key times of the example operations of the example operation DB 10, and detects a timing source ). The detailed description of the example motion analyzing unit 100 will be described later with reference to FIG.

입력 동작 변환(input motion transfer)부(200)는 입력 동작의 공간적(spatial) 움직임을 사용자가 선택한 예제 동작의 타이밍 소스에 맞게 재조절하여 새로운 스타일의 동작을 생성한다. 입력 동작 변환부(100)의 상세 설명은 도 6을 참조하여 후술하기로 한다. The input motion transfer unit 200 re-adjusts the spatial motion of the input motion to the timing source of the example motion selected by the user to generate a new style of motion. Details of the input operation converting unit 100 will be described later with reference to FIG.

도 3은 본 발명의 일 실시 예에 따른 예제 동작 분석부의 상세 구성도이다.3 is a detailed block diagram of an exemplary operation analyzing unit according to an embodiment of the present invention.

도 3을 참조하면, 예제 동작 분석부(100)는 상세하게는 예제 동작들의 주요 타이밍을 키 타임(key time)으로 검출하는 타이밍 소스 검출부(110) 및 검출된 키 타임들은 예제 동작들 간의 타이밍 대응 관계를 설정하는 타이밍 정렬부(120)를 포함한다. 3, the exemplary operation analysis unit 100 includes a timing source detection unit 110 for detecting a main timing of exemplary operations as a key time, and a detection unit 110 for detecting timing timings And a timing alignment unit 120 for setting a relationship.

또한, 키 타임 검출부(110)는 상세하게는 관절 노이즈 제거부(111) 및 키 타임 검출부(112)를 포함한다.The key time detecting unit 110 includes a joint noise removing unit 111 and a key time detecting unit 112.

관절 노이즈 제거부(111)는 관절의 가속도 정보를 정확히 계산하기 위해 관절의 위치 노이즈를 필터링(filtering)한다. 캐릭터의 키 타임을 효과적으로 검출하기 위해 도 1에 도시된 바와 같이 캐릭터의 좌우 손, 좌우 발, 머리에 해당하는 5개의 관절들(흐리게 표시됨)의 위치 및 가속도 정보를 사용한다. 특히, 동작 캡쳐 데이터의 경우 캡쳐 당시 마커(marker)의 에러 및 인체 비율과 크기가 상이한 스켈레톤 모델에 동작 피팅시 관절의 위치 오차 때문에 관절의 떨림과 같은 에러가 발생할 수 있다. 이를 위해 관절 노이즈 제거부(111)는 Savitzk-Golay 필터와 같은 로우-패스(low-pass) 필터로 관절의 동작 커브(motion curve)에서 로컬 정점(local peak)에 해당하는 노이즈를 제거한다. 이때, 전체적인 커브의 모양을 유지하면서 로컬 정점만 효과적으로 제거하기 위해서 5~10 프레임의 필터링 윈도우 크기에 4차 스무싱 다항식(degree 4 of smoothing polynomial)을 사용한다.The joint noise removing unit 111 filters the position noise of the joint to accurately calculate the acceleration information of the joint. In order to effectively detect the key time of the character, the position and acceleration information of the five joints (shown in gray) corresponding to the right and left hands, the left and right feet, and the head of the character are used as shown in FIG. Particularly, in the case of the operation capture data, an error such as trembling of the joint may occur due to the position error of the joint at the time of the operation fitting to the skeleton model in which the marker error and the body ratio and size are different at the time of capture. To this end, the joint noise canceler 111 is a low-pass filter such as the Savitzk-Golay filter, and removes noise corresponding to a local peak in the motion curve of the joint. In this case, a degree 4 of smoothing polynomial is used for the filtering window size of 5 to 10 frames in order to effectively remove only local vertices while maintaining the shape of the overall curve.

키 타임 검출부(112)는 좌우 손, 좌우 발, 머리에 해당하는 5개의 관절들의 키 타임을 찾아낸다. The key time detection unit 112 finds the key time of the five joints corresponding to right and left hands, left and right feet, and head.

우선, 키 타임 검출부(112)는 예제 동작의 각 프레임마다 스켈레톤 모델의 발 관절과 가상환경의 그라운드(ground) 접촉 상태에 따라 키 타임을 찾아낸다. 예제 동작의 스타일을 표현하는데 중요한 순간들 중에는 캐릭터가 그라운드 표면에 발을 접촉하는 타이밍이 있다. 이러한 키 타임을 정확히 검출하기 위해 발의 끝 관절의 위치와 가속도 정보를 사용한다. 우선, 예제 동작에 포함된 모든 프레임의 발 끝 관절 위치를 계산한 후 가상공간의 상향 좌표(up-axis)를 기준으로 그라운드에서 발 끝 관절 높이가 전체 발 높이 반경 10% 미만인 자세를 포함하는 프레임들만 검출한다. 이 프레임들 중에서 발 끝 관절의 가속도가 0에 가까운 프레임들만 선택한 후 발의 평균 값 위치에 제일 가까운 발 끝 관절의 위치를 포함하는 프레임의 시간(해당 예제 동작의 시작 시간 기준)을 발의 키 타임으로 지정한다.First, the key time detection unit 112 finds the key time according to the ground contact state of the foot joint of the skeleton model and the virtual environment for each frame of the example operation. Examples One of the most important moments in expressing the style of motion is when the character touches the ground surface. The position and acceleration information of the foot end joint is used to accurately detect the key time. First, after calculating the foot end joint positions of all the frames included in the example motion, a frame including an attitude in which the foot end joint height is less than 10% of the total foot height radius on the basis of the up-axis of the virtual space . Of these frames, only the frames whose acceleration of the foot end joint is near 0 are selected, and the time of the frame including the position of the foot end joint nearest to the mean value position of the foot (based on the start time of the corresponding example motion) do.

우선, 키 타임 검출부(112)는 예제 동작의 각 프레임마다 캐릭터 스켈레톤 모델의 좌우 손과 머리 관절의 가속도 값에 따라 키 타임을 검출한다. 좌우 손과 머리의 끝에 해당하는 관절은 zero-crossing rate을 측정하여 가속도가 0에 가까운 프레임의 시간을 손과 머리의 키 타임으로 각각 지정한다. 이때, 키 타임으로 지정된 프레임들이 너무 가깝게(앞뒤 간격으로 0.1~0.5초 내외) 있는 경우 중간 프레임의 시간을 키 타임으로 지정하여 중복된 타이밍을 제거한다.First, the key time detection unit 112 detects the key time according to the acceleration values of the right and left hands and the head joint of the character skeleton model for each frame of the example operation. The joints at the ends of the left and right hands and head measure the zero-crossing rate and specify the time of the frame near zero acceleration as the key time of the hand and head, respectively. At this time, if the frames designated by the key time are too close to each other (about 0.1 to 0.5 second in front and back interval), the time of the intermediate frame is designated as the key time, thereby eliminating the overlapping timing.

타이밍 정렬부(120)는 상세하게는 검출한 예제 동작의 키 타임들을 동일한 시간 축으로 변환하는데, 상세하게는 타이밍 정규화부(121) 및 타이밍 매핑부(122)를 포함한다.More specifically, the timing alignment unit 120 includes a timing normalization unit 121 and a timing mapping unit 122. The timing normalization unit 121 and the timing mapping unit 122 convert the key times of the detected sample operation into the same time axis.

타이밍 정규화부(121)는 각 예제 동작이 포함하고 있는 실제 타임(actual time) T 는 DTW 기법을 통해 정규화된 시간(generic time) t 로 변환될 수 있다. 즉, 각 예제 모델의 키 타임 { K 1, K 2, ..., K i, ... , K N }는 정규화된 타임 t [0, 1]로 다음의 <수학식 1>과 같이 변환된다.The timing normalization unit 121 may convert the actual time T included in each example operation into a generic time t through the DTW technique. That is, the key times { K 1, K 2, ..., K i, ... , K N } of each of the example models are the normalized times t [0, 1] as shown in the following Equation (1).

Figure pat00001
Figure pat00001

<수학식 1>에서 T [ K i , K i +1 ], 1 ≤ i N 이다. 이와 비슷하게 주어진 t 에 해당하는 프레임 F 는 다음의 <수학식 2>와 같이 계산될 수 있다.In Equation (1), T [ K i , K i +1 ] and 1 ≦ i N. Similarly, a frame F corresponding to a given t can be calculated as Equation (2) below.

Figure pat00002
Figure pat00002

<수학식 2>에서 F i K i 에 해당하는 키 프레임이다. In Equation (2), F i K i Is a key frame corresponding to &quot;

도 4는 예제 동작의 키 타임들이 정규화된 일 예를 도시한 도면이다.FIG. 4 is a diagram illustrating an example in which the key times of the example operation are normalized.

도 4를 참조하면, M개의 예제 동작들의 각각으로부터 추출된 키 타임들 {K 1, K 2, ... , K i, ... , K N }이 실제 시간 T 에서 정규화된 시간 t 로 변환된다. Referring to FIG. 4, key times { K 1, K 2, ... , K i, ... , K N } extracted from each of the M example operations are converted from a real time T to a normalized time t do.

다시 도 3을 참조하면, 타이밍 매핑부(122)는 정규화된 키 타임을 기반으로 예제 동작 간의 타이밍 대응관계를 설정한다. 입력 동작의 자연스러운 동작 스타일 변환을 위해서는 예제 동작 간의 정규화된 키 타임에 해당하는 프레임의 자세를 비교하여 두 동작 간에 대응하는 타이밍을 결정해야 한다. 즉, 도 4와 같이 M 개의 예제 동작들이 있으면, 각 예제 동작의 M i 에 해당하는 프레임을 다른 예제 동작의 K i 에 해당하는 프레임과 자세 유사도를 비교하여 유사성이 높은 순서대로 두 예제동작 간의 K i 를 정렬할 수 있다. 이때, 신속한 자세 유사도 비교를 위해 도 5와 같은 특징 백터 V i 를 사용한다. Referring again to FIG. 3, the timing mapping unit 122 sets a timing correspondence relationship between the sample operations based on the normalized key time. Natural behavior of the input operation For the style conversion, the corresponding timing between the two operations must be determined by comparing the posture of the frame corresponding to the normalized key time between the example operations. That is, as shown in FIG. 4, If there are four example operations, M i Is compared with the frame corresponding to K i of the other example operation and the postural similarity, and K i . At this time, for the quick comparison of the postural similarity, the characteristic vector V i Lt; / RTI &gt;

도 5는 자세 비교를 위한 특징 백터 정의를 위한 스켈레톤 모델의 구조도이다. 5 is a structural diagram of a skeleton model for defining feature vectors for posture comparison.

도 5를 참조하면, V i 는 중심(root) 관절을 영점(origin)으로 좌우 손끝, 좌우 발끝, 머리 관절의 위치 및 방향을 local 좌표계로 나타내고 있으며, 관절의 중요도에 따라 가중치 값 W i 다르게 지정할 수 있다. 따라서, 예제 동작 간의 타이밍 대응관계가 설정되면, 각 예제 동작의 정렬된 키 타임들은 입력 동작의 타이밍을 변화시키는 데이터 형태인 타이밍 소스로 사용될 수 있다.Referring to Figure 5, V i The origin and the position of the left and right fingers, the left and right toes, and the head joint are shown in the local coordinate system. The weight values W i To Can be specified differently. Thus, once the timing correspondence between example operations is established, the aligned key times of each example operation can be used as a timing source, a form of data that changes the timing of the input operation.

도 6은 본 발명의 일 실시 예에 따른 입력 동작 변환부의 상세 구성도이다. 6 is a detailed configuration diagram of an input operation converting unit according to an embodiment of the present invention.

도 6을 참조하면, 입력 동작 변환부(200)는 동작 스타일 변환의 주요 요소인 동작의 전체 속도를 조절하는 전체 속도 조절부(210) 및 스켈레톤 관절의 연속성을 동작 구간별로 변환하는 관절 회전 조절부(220)를 포함한다. 이를 통해, 원래 동작의 고품질을 유지하면서 새로운 스타일의 동작을 효율적으로 생성할 수 있다. Referring to FIG. 6, the input motion converting unit 200 includes an overall speed adjusting unit 210 for adjusting the overall speed of motion, which is a main element of motion style conversion, and a joint rotation adjusting unit 210 for converting the continuity of the skeleton joints, (220). Thus, a new style of operation can be efficiently generated while maintaining the high quality of the original operation.

전체 속도 조절부(210)는 상세하게는 운동 경로 아크 길이(arc length) 계산부(211) 및 속도 비율 재분배부(212)를 포함한다. The overall speed adjusting unit 210 includes a motion path arc length calculating unit 211 and a speed ratio redistributing unit 212.

운동 경로 아크 길이 계산부(211)는 동작의 공간상 움직임을 운동 경로 커브(curve)의 파라미터(parameter) 값으로 재정의하고, 이 운동 경로가 되는 커브의 함수에서 시간에 따른 동작의 순간 속도를 계산한다. The motion path arc length calculation unit 211 redefines the spatial motion of the motion as a parameter value of the motion path curve and calculates the instantaneous velocity of the motion over time in the function of the curve as the motion path do.

입력 동작의 공간상 움직임을 나타내는 운동 경로의 모양은 거리와 시간의 함수(distance-time function)로 나타낼 수 있다. 이를 위해 동작의 운동 경로 커브를 [0, 1]의 파라미터 값을 가지는 아크 길이(arc length)인 t 로 정의한다면, t 는 입력 동작과 타이밍 소스(사용자가 선택한 예제 동작)의 운동 경로 시간에 상응하는 거리를 추정할 수 있다. 따라서, 타이밍이 서로 다른 두 동작 간의 속도를 동일한 파라미터 값으로 시간과 거리에 따른 상응 관계를 설정할 수 있다.The shape of the motion path representing the spatial motion of the input motion can be expressed as a distance-time function. To do this , we define the motion path curve of the motion as t , the arc length with the parameter value of [0, 1] , t corresponds to the motion path time of the input motion and the timing source Can be estimated. Therefore, it is possible to set the correspondence between the time and the distance using the same parameter value as the speed between the two operations with different timings.

속도 비율 재분배부(212)는 입력 동작의 전체 속도 변화를 자연스럽게 타이밍 소스의 전체 속도로 변환하기 위해 두 동작 간의 정규화된 시간 t 를 기반으로 하는 속도 비율로 매칭시킨다. 예컨대, 느린 동작의 t 를 빠른 동작의 t 에 그대로 적용하여 새로운 동작을 생성하면, 출력 동작에서는 2개의 연속되는 키 프레임(키 타임에 해당하는 프레임) 사이의 간격이 넓어져서 동작이 끊어져 보이는 문제가 발생한다. 반대로 빠른 동작의 t 를 느린 동작의 t 에 그대로 적용하면 키 프레임 사이의 간격이 너무 짧아져 출력 동작이 비현실적으로 빠르게 움직이는 문제가 발생할 수 있다. 따라서, 동작 스타일 변환시 두 동작 간에 전체 속도를 t 값으로 직접 조절하기 보다는 각 동작을 키 프레임기반 구간별로 나누고, 각 구간별로 해당하는 속도의 비율을 타이밍 소스가 가지고 있는 구간별 속도 비율에 맞추어 출력 동작의 전체 속도를 부드럽게 조절할 필요가 있다. 즉, 입력동작의 연속된 2개의 키 프레임 사이의 중간 프레임(in-between frames)의 수를 e i 라고 가정하고, i 번째 구간( i [ 1, ..., N p ], 여기서 N p 는 총 구간의 수)에 해당하는 아크 길이(arc length)만큼 지나온 거리를 o i 이라고 가정한다면, i 번째 구간에 대응하는 타이밍 소스의 j 번째 구간의 중간 프레임의 수와 아크 길이(arc length)의 거리는 각각

Figure pat00003
Figure pat00004
로 가정할 수 있다. 그러면, 입력 동작의 속도 비율 e i / o i 는 새로운(타이밍 소스의 비율과 같은) 속도 비율인
Figure pat00005
와 일치시켜야 하기 때문에 타이밍 소스의 전체 동작 시간은
Figure pat00006
에 따라 다음의 <수학식 3>과 같이 입력 동작의 구간별로 재분배된다.The rate ratio redistributing unit 212 matches the rate change based on the normalized time t between the two operations in order to naturally convert the total speed change of the input operation to the full speed of the timing source. For example, if a new operation is generated by applying t of a slow operation to t of a fast operation, a problem in which the operation is interrupted due to an increase in the interval between two consecutive key frames (frames corresponding to the key time) Occurs. Conversely, if you accept the t's fast action in slow motion t becomes the interval between keyframes too short can cause the output behavior problems unrealistically fast-moving. Therefore, the operation style conversion both share the respective operations, rather than directly controlling the entire speed value t between operations by each keyframe-based intervals, and the output operation in accordance with the piecewise speed ratio that the ratio of the speed has a timing source to each section It is necessary to smoothly adjust the overall speed of the motor. That is, assuming that the number of in-between frames between two consecutive key frames of the inputting operation is e i , and the i- th interval ( i [ 1, ..., N p ] , where N p Is the arc length (arc length) as if the jinaon distance assumed to be o i, the number of i intermediate frame of the j-th section of the timing source that corresponds to the second interval and the arc length (arc length) corresponding to the total number of intervals) The distance is
Figure pat00003
Wow
Figure pat00004
. Then, the speed ratio e i / o i of the input operation becomes a new rate (equal to the rate of the timing source)
Figure pat00005
The total operating time of the timing source is
Figure pat00006
And is redistributed according to the interval of the input operation according to Equation (3) as follows.

Figure pat00007
Figure pat00007

<수학식 3>에서 N I N T 는 각각 입력과 타이밍 소스의 키 프레임 사이에 해당하는 중간 프레임(in-between frames)의 총 합계 수이다. 특히,

Figure pat00008
가 입력 동작의 i 번째 구간에 해당하는 arc length 거리를 타이밍 소스의 평균 속도에 맞추기 위해 필요한 프레임 수를 나타내고 있다면,
Figure pat00009
는 출력 동작의 해당 구간 길이(duration)를 타이밍 소스와 같도록 조절하고 있다. 따라서, 출력동작의 i 번째 구간을 위한
Figure pat00010
가 위와 같이 정해지면 출력동작의 중간 프레임 수는
Figure pat00011
에 대응하는 arc length β o 를 입력동작의 근접하는 2개의 이웃 포인트들로부터 다음의 <수학식 4>와 같이 근사(approximate)할 수 있다.In Equation (3), N I And N T are the total number of corresponding in-between frames between the input and the key frame of the timing source, respectively. Especially,
Figure pat00008
Represents the number of frames required to match the arc length distance corresponding to the i- th section of the input operation to the average speed of the timing source,
Figure pat00009
Adjusts the duration of the output operation to be equal to the timing source. Thus, for the i < th >
Figure pat00010
Is set as above, the number of intermediate frames of the output operation is
Figure pat00011
Arc length β o corresponding to Can be approximated from Equation (4) by the following two neighboring points of the input operation.

Figure pat00012
Figure pat00012

<수학식 4>에서

Figure pat00013
u k 는 각각 ? i e i 로 정규화(normalize) 되어
Figure pat00014
, u k [0, 1] 이다. 그리고, a k 는 입력동작의 구간에 해당하는 u k 만큼 이동한 arc length이다. 출력 동작의 실제 스켈레톤의 중심(root) 위치는 입력동작의 a k a k +1 에 위치하는 프레임이 포함하는 스켈레톤의 중심 위치들을 보간(interpolation)하여 결정된다.In Equation (4)
Figure pat00013
And u k are respectively ? i And e i &Lt; / RTI >
Figure pat00014
, u k [0, 1] . And, a k is the arc length shifted by u k corresponding to the interval of the input operation. The root position of the actual skeleton of the output operation is determined by interpolating the center positions of the skeleton included in the frames located at a k and a k +1 of the input operation.

다음으로, 관절 회전 조절부(220)는 타이밍 조절부(221) 및 크기 조절부(222)를 포함한다.Next, the joint rotation adjusting unit 220 includes a timing adjusting unit 221 and a size adjusting unit 222.

타이밍 조절부(220)는 타이밍 소스의 관절 회전 타이밍을 입력 동작의 관절에 적용한다. 타이밍 소스의 동작 스타일을 입력 동작에 자연스럽게 변환하기 위해선 두 동작 간의 전체 속도를 매칭하는 것 이외에 스켈레톤의 중심에서 머리와 좌우 손 끝 관절까지 이어지는 상체 관절의 움직임 연속성(succession)을 동작 스타일에 맞게 변환하는 것이 중요하다. 여기서, 스켈레톤의 중심 아래의 하위 관절은 동작의 중요한 물리적 정보(발과 지면의 위치) 및 특징을 가지고 있기 때문에 본 단계의 타이밍 변환을 적용하지 않는다. 따라서, 관절의 회전 이동(shift)을 β , 진폭 크기(amplitude scale)를 α 라고 가정하면, 도 1과 같이 다수의 관절로 이루어진 스켈레톤 모델에서는 입력과 타이밍 소스 동작간의 자식(child)과 부모(parent) 관절 회전의 정점(peak)을 일치시킨 후 상체의 동작 범위에 따라 회전 위치 및 크기를 조절할 수 있다. 우선, 출력 동작의 타이밍 위치를 결정하는 관절 회전의 이동 값 β O 는 다음의 <수학식 5>와 같이 결정된다.The timing adjuster 220 applies the joint rotation timing of the timing source to the joint of the input operation. In order to naturally convert the motion style of the timing source into the input motion, in addition to matching the total speed between the two motions, the motion succession of the upper joint from the center of the skeleton to the head and the left and right hand joints It is important. Here, since the lower joint under the center of the skeleton has important physical information (foot and ground position) and characteristics of the operation, the timing conversion of this step is not applied. Therefore, assuming that the rotation of the joint is β and the amplitude scale is α , in a skeleton model composed of a plurality of joints, as shown in FIG. 1, a child between the input and the timing source operation and a parent ) After aligning the peak of the joint rotation, the position and size of the rotation can be adjusted according to the range of motion of the upper body. First, a movement value ? O of the joint rotation determining the timing position of the output operation Is determined according to the following Equation (5).

Figure pat00015
Figure pat00015

<수학식 5>에서 β I β T 는 각각 입력 동작과 타이밍 소스의 자식과 부모 관절 간의 타이밍 차이 값이고, N I N T 는 각각 입력과 타이밍 소스의 키 프레임 사이에 해당하는 중간 프레임(in-between frames)의 총 합계 수이다. 그리고, 타이밍 배치 순서를 정하는 관절 회전 이동의 방향은 β T 의 기호(- or +)에 따라 정해진다. 예로 기호가 마이너스(-)이면 자식 관절의 회전이 부모 관절의 회전보다 일찍 일어나고, 기호가 플러스(+)이면 반대로 자식 관절의 회전은 부모 관절의 회전보다 늦게 일어나게 된다. In Equation (5) ,? I And β T are the timing differences between the input and the timing source and the parent joints, respectively, and N I And N T are the total number of corresponding in-between frames between the input and the key frame of the timing source, respectively. The direction of the joint rotation movement that determines the timing arrangement order is β T (- or +) of the symbol. For example, if the sign is negative (-), the rotation of the child joint occurs earlier than the rotation of the parent joint, and if the sign is positive (+), the rotation of the child joint occurs later than the rotation of the parent joint.

크기 조절부(222)는 변환된 관절 타이밍에 따른 관절 회전 크기를 조절해 최종적으로 출력 동작을 생성한다. 일반적으로 다관절 캐릭터 동작의 움직임은 타이밍에 영향을 받기 때문에 자연스러운 동작을 생성하기 위해선 타이밍 소스의 관절 회전 크기 비율에 따라 출력 동작의 회전 크기도 조절해야 한다. 따라서, 출력 동작의 관절 회전 크기 조절 수치인 δ 는 다음의 <수학식 6>과 같이 결정된다.The size adjustment unit 222 adjusts the joint rotation size according to the converted joint timing to finally generate the output operation. In general, since the motion of the multi-joint character motion is affected by the timing, in order to generate a natural motion, the rotation size of the output motion should be adjusted according to the joint rotation size ratio of the timing source. Therefore, the joint rotation magnitude adjustment value ? Of the output motion is determined according to Equation (6) below.

Figure pat00016
Figure pat00016

<수학식 6>에서 α IC α IP 는 각각 입력 동작의 자식과 부모 관절의 회전 각도의 최대 진폭이다. 마찬가지로 α TC α TP 는 각각 타이밍 소스의 자식과 부모 관절의 회전 각도의 최대 진폭이다. 일정한 진폭을 가지는 관절에 대해선 δ 을 1로 설정한다. 따라서, 입력 동작의 모든 상체 관절들은 원래 회전 값에 δ 만큼 곱하여 동작의 크기를 변환한다. In Equation (6) ,? IC And alpha IP Is the maximum amplitude of the rotation angle of the parent joint and the child of the input motion, respectively. Similarly α TC And ? TP Is the maximum amplitude of the angle of rotation of the parent joint and the child of the timing source, respectively. For joints with constant amplitude, set δ to 1. Thus, all upper body joints of the input operation multiply the original rotation value by delta to convert the magnitude of the motion.

도 7은 두 동작의 자식과 부모 관절의 회전 타이밍 이동과 진폭 크기의 일 예를 도시한 도면이다. FIG. 7 is a diagram showing an example of a rotation timing shift and an amplitude magnitude of a child and a parent joint of two movements.

도 8a 및 도 8b는 본 발명에 따라 입력 동작을 타이밍 소스의 동작 스타일로 복제한 결과의 예를 도시한 도면이다. 8A and 8B are diagrams showing examples of the result of replicating an input operation in accordance with the present invention to the operation style of a timing source.

도 8a 및 도 8b를 참조하면, 캐릭터 동작 편집 경험이 없는 일반 사용자가 본 발명이 제안하는 방법을 사용하여 주어진 예제 동작 DB(10)에서 선택한 예제 동작의 타이밍 소스를 입력 동작에서 새로운 스타일의 출력 동작으로 복제한 결과 예를 보여주고 있다.8A and 8B, a general user who is not experienced in editing a character operation may use a method suggested by the present invention to change the timing source of the selected example operation in the given example operation DB 10 from the input operation to the new style output operation As shown in Fig.

도 9는 본 발명의 일 실시 예에 따른 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법을 설명하기 위한 순서도이다. 9 is a flowchart illustrating a method of generating a three-dimensional character operation using timing conversion according to an embodiment of the present invention.

도 9를 참조하면, 장치는 예제 동작 데이터의 타이밍을 분석하여 타이밍 소스를 생성한다(S910, 도 10 참조). 그런 후, 장치는 입력 동작의 공간적(spatial) 움직임을 사용자가 선택한 예제 동작의 타이밍 소스에 맞게 재조절하여 새로운 스타일의 동작을 생성한다(S920, 도 11 참조). Referring to FIG. 9, the apparatus analyzes the timing of the sample operation data to generate a timing source (S910, see FIG. 10). The device then recalibrates the spatial motion of the input motion to the timing source of the example motion selected by the user to create a new style of motion (S920, see FIG. 11).

도 10은 본 발명의 일 실시 예에 따른 예제 동작 분석 단계를 설명하기 위한 순서도이다. 하기에서 예제 동작 분석 단계의 상세 단계를 설명함에 있어, 도 3에 도시된 예제 동작 분석부의 동작과 중복되는 상세한 설명은 생략하기로 한다. 그러나, 예제 동작 분석부의 동작으로 기재된 내용은 예제 동작 분석 단계에 모두 포함됨을 밝혀둔다. FIG. 10 is a flow chart for explaining an example operation analysis step according to an embodiment of the present invention. In the following description of the detailed steps of the sample operation analysis step, a detailed description overlapping with the operation of the sample operation analysis unit shown in FIG. 3 will be omitted. However, it should be noted that the contents described in the operation of the example operation analysis unit are all included in the example operation analysis step.

도 10을 참조하면, 장치는 관절의 가속도 정보를 정확히 계산하기 위해 관절의 위치 노이즈를 필터링(filtering)한다(S911). 캐릭터의 키 타임을 효과적으로 검출하기 위해 도 1(흐리게 표시한 관절)과 같이 캐릭터의 좌우 손, 좌우 발, 머리에 해당하는 5개의 관절들의 위치 및 가속도 정보를 사용한다. 특히, 동작 캡쳐 데이터의 경우 캡쳐 당시 마커(marker)의 에러 및 인체 비율과 크기가 상이한 스켈레톤 모델에 동작 피팅시 관절의 위치 오차 때문에 관절의 떨림과 같은 에러가 발생할 수 있다. 따라서, Savitzk-Golay 필터와 같은 로우-패스(low-pass) 필터로 관절의 동작 커브(motion curve)에서 로컬 정점(local peak)에 해당하는 노이즈를 제거한다. 이때, 전체적인 커브의 모양을 유지하면서 로컬 정점만 효과적으로 제거하기 위해서 5~10 프레임의 필터링 윈도우 크기에 4차 스무싱 다항식(degree 4 of smoothing polynomial)을 사용한다.Referring to FIG. 10, the apparatus filters the positional noise of the joint to accurately calculate the acceleration information of the joint (S911). In order to effectively detect the key time of the character, the position and acceleration information of the five joints corresponding to the left and right hands, the left and right feet, and the head of the character are used as shown in FIG. 1 (joint shown in gray). Particularly, in the case of the operation capture data, an error such as trembling of the joint may occur due to the position error of the joint at the time of the operation fitting to the skeleton model in which the marker error and the body ratio and size are different at the time of capture. Thus, a low-pass filter such as the Savitzk-Golay filter removes noise corresponding to the local peak in the joint motion curve. In this case, a degree 4 of smoothing polynomial is used for the filtering window size of 5 to 10 frames in order to effectively remove only local vertices while maintaining the shape of the overall curve.

장치는 예제 동작의 각 프레임마다 스켈레톤 모델의 발 관절과 가상환경의 그라운드(ground) 접촉 상태에 따라 키 타임을 찾아낸다(S912). 예제 동작의 스타일을 표현하는데 중요한 순간들 중에는 캐릭터가 그라운드 표면에 발을 접촉하는 타이밍이 있다. 이러한 키 타임을 정확히 검출하기 위해 발의 끝 관절의 위치와 가속도 정보를 사용한다. 우선, 예제 동작에 포함된 모든 프레임의 발끝 관절 위치를 계산한 후 가상공간의 상향 좌표(up-axis)를 기준으로 그라운드에서 발끝 관절 높이가 전체 발 높이 반경 10% 미만인 자세를 포함하는 프레임들만 검출한다. 이 프레임들 중에서 발 끝 관절의 가속도가 0에 가까운 프레임들만 선택한 후 발의 평균 값 위치에 제일 가까운 발 끝 관절의 위치를 포함하는 프레임의 시간(해당 예제 동작의 시작 시간 기준)을 발의 키 타임으로 지정한다.The device finds the key time according to the foot joint of the skeleton model and the ground contact state of the virtual environment for each frame of the example operation (S912). Examples One of the most important moments in expressing the style of motion is when the character touches the ground surface. The position and acceleration information of the foot end joint is used to accurately detect the key time. First, after calculating the position of the foot joints of all the frames included in the example motion, only the frames including the posture where the foot joint height is less than 10% of the total foot height radius on the ground based on the up-axis of the virtual space are detected do. Of these frames, only the frames whose acceleration of the foot end joint is near 0 are selected, and the time of the frame including the position of the foot end joint nearest to the mean value position of the foot (based on the start time of the corresponding example motion) do.

장치는 또한 예제 동작의 각 프레임마다 캐릭터 스켈레톤 모델의 좌우 손과 머리 관절의 가속도 값에 따라 키 타임을 검출한다(S913). 좌우 손과 머리의 끝에 해당하는 관절은 zero-crossing rate을 측정하여 가속도가 0에 가까운 프레임의 시간을 손과 머리의 키 타임으로 각각 지정한다. 이 때, 키 타임으로 지정된 프레임들이 너무 가깝게(앞뒤 간격으로 0.1~0.5초 내외) 있는 경우 중간 프레임의 시간을 키 타임으로 지정하여 중복된 타이밍을 제거한다.The apparatus also detects the key time according to the acceleration values of the left and right hands and the head joint of the character skeleton model for each frame of the sample operation (S913). The joints at the ends of the left and right hands and head measure the zero-crossing rate and specify the time of the frame near zero acceleration as the key time of the hand and head, respectively. At this time, when the frames designated by the key time are too close to each other (about 0.1 to 0.5 second in front / back interval), the time of the intermediate frame is designated as the key time, thereby eliminating the overlapping timing.

장치는 각 예제 동작이 포함하고 있는 실제 타임(actual time) T 는 DTW 기법을 통해 정규화된 시간(generic time) t 로 변환한다(S914). The device translates the actual time T contained in each example operation into a generic time t through the DTW technique (S914).

장치는 정규화된 키 타임을 기반으로 예제 동작 간의 타이밍 대응관계를 설정한다(S915). 입력 동작의 자연스러운 동작 스타일 변환을 위해서는 예제 동작 간의 정규화된 키 타임에 해당하는 프레임의 자세를 비교하여 두 동작 간에 대응하는 타이밍을 결정해야 한다. 즉, 도 4와 같이 M 개의 예제 동작들이 있으면, 각 예제 동작의 M i 에 해당하는 프레임을 다른 예제 동작의 K i 에 해당하는 프레임과 자세 유사도를 비교하여 유사성이 높은 순서대로 두 예제동작 간의 K i 를 정렬할 수 있다. The apparatus sets a timing correspondence relationship between the sample operations based on the normalized key time (S915). Natural behavior of the input operation For the style conversion, the corresponding timing between the two operations must be determined by comparing the posture of the frame corresponding to the normalized key time between the example operations. That is, as shown in FIG. 4, If there are four example operations, M i Is compared with the frame corresponding to K i of the other example operation and the postural similarity, and K i .

도 11은 본 발명의 일 실시 예에 따른 입력 동작 변환부의 상세 구성도이다. 하기에서 입력 동작 변환 단계의 상세 단계를 설명함에 있어, 도 3에 도시된 예제 동작 분석부의 동작과 중복되는 상세한 설명은 생략하기로 한다. 그러나, 입력 동작 변환부의 동작으로 기재된 내용은 입력 동작 변환 단계에 모두 포함됨을 밝혀둔다. 11 is a detailed configuration diagram of an input operation converting unit according to an embodiment of the present invention. In the following detailed description of the input operation conversion step, a detailed description overlapping with the operation of the exemplary operation analysis unit shown in FIG. 3 will be omitted. It is to be noted, however, that the contents described in the operation of the input operation converting unit are all included in the input operation converting step.

도 11을 참조하면, 장치는 입력 동작이 입력되고, 사용자로부터 선택된 예제 동작의 타이밍 소스를 획득한다(S921). Referring to FIG. 11, an apparatus receives an input operation and acquires a timing source of a selected example operation from a user (S921).

그런 후, 장치는 동작의 공간상 움직임을 운동 경로 커브(curve)의 파라미터(parameter) 값으로 재정의하고, 이 운동 경로가 되는 커브의 함수에서 시간에 따른 동작의 순간 속도를 계산한다(S922). 입력 동작의 공간상 움직임을 나타내는 운동 경로의 모양은 거리와 시간의 함수(distance-time function)로 나타낼 수 있다. 이를 위해 동작의 운동 경로 커브를 [0, 1]의 파라미터 값을 가지는 아크 길이(arc length)인 t 로 정의한다면, t 는 입력 동작과 타이밍 소스(사용자가 선택한 예제 동작)의 운동 경로 시간에 상응하는 거리를 추정할 수 있다. 따라서, 타이밍이 서로 다른 두 동작 간의 속도를 동일한 파라미터 값으로 시간과 거리에 따른 상응 관계를 설정할 수 있다.The device then redefines the spatial motion of the motion as the parameter value of the motion path curve and calculates the instantaneous velocity of motion over time in the function of the curve as this motion path (S922). The shape of the motion path representing the spatial motion of the input motion can be expressed as a distance-time function. To do this , we define the motion path curve of the motion as t , the arc length with the parameter value of [0, 1] , t corresponds to the motion path time of the input motion and the timing source Can be estimated. Therefore, it is possible to set the correspondence between the time and the distance using the same parameter value as the speed between the two operations with different timings.

그리고, 장치는 입력 동작의 전체 속도 변화를 자연스럽게 타이밍 소스의 전체 속도로 변환하기 위해 두 동작 간의 정규화된 시간 t 를 기반으로 하는 속도 비율로 매칭시킨다(S924). Then, the apparatus matches (S924) a rate ratio based on the normalized time t between the two operations in order to naturally convert the entire speed change of the input operation into the full speed of the timing source.

다음으로, 장치는 타이밍 소스의 관절 회전 타이밍을 입력 동작의 관절에 적용한다(S924). 타이밍 소스의 동작 스타일을 입력 동작에 자연스럽게 변환하기 위해선 두 동작 간의 전체 속도를 매칭하는 것 이외에 스켈레톤의 중심에서 머리와 좌우 손 끝 관절까지 이어지는 상체 관절의 움직임 연속성(succession)을 동작 스타일에 맞게 변환하는 것이 중요하다. 여기서, 스켈레톤의 중심 아래의 하위 관절은 동작의 중요한 물리적 정보(발과 지면의 위치) 및 특징을 가지고 있기 때문에 본 단계의 타이밍 변환을 적용하지 않는다. 따라서, 관절의 회전 이동(shift)을 β , 진폭 크기(amplitude scale)를 α 라고 가정하면, 도 1과 같이 다수의 관절로 이루어진 스켈레톤 모델에서는 입력과 타이밍 소스 동작간의 자식(child)과 부모(parent) 관절 회전의 정점(peak)을 일치시킨 후 상체의 동작 범위에 따라 회전 위치 및 크기를 조절할 수 있다. Next, the apparatus applies the joint rotation timing of the timing source to the joint of the input operation (S924). In order to naturally convert the motion style of the timing source into the input motion, in addition to matching the total speed between the two motions, the motion succession of the upper joint from the center of the skeleton to the head and the left and right hand joints It is important. Here, since the lower joint under the center of the skeleton has important physical information (foot and ground position) and characteristics of the operation, the timing conversion of this step is not applied. Therefore, assuming that the rotation of the joint is β and the amplitude scale is α , in a skeleton model composed of a plurality of joints, as shown in FIG. 1, a child between the input and the timing source operation and a parent ) After aligning the peak of the joint rotation, the position and size of the rotation can be adjusted according to the range of motion of the upper body.

다음으로, 장치는 변환된 관절 타이밍에 따른 관절 회전 크기를 조절해 최종적으로 출력 동작을 생성한다(S925). Next, the apparatus adjusts the joint rotation size according to the converted joint timing to finally generate the output operation (S925).

Claims (18)

동일한 스켈레톤 모델 구조를 갖는 캐릭터에 대한 적어도 하나의 예제 동작 데이터를 저장하는 예제동작 데이터베이스와,
상기 예제동작 데이터베이스에 포함되어 있는 예제 동작 데이터의 타이밍을 분석하여 타이밍 소스를 생성하는 예제 동작 분석부와,
입력 동작의 공간적 움직임을 상기 소정 예제 동작의 타이밍 소스에 맞게 재조절하여 출력 동작을 생성하는 입력 동작 변환부를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치.
An example action database for storing at least one example action data for a character having the same skeleton model structure,
An example operation analyzing unit for analyzing the timing of the sample operation data included in the sample operation database to generate a timing source,
And an input operation converting unit for generating an output operation by re-adjusting the spatial movement of the input operation according to the timing source of the predetermined sample operation.
제1 항에 있어서, 상기 예제 동작 분석부는
상기 예제 동작 데이터의 키 타임들을 자동으로 검출하고, 사용자가 동작 스타일 변환에 사용할 수 있는 데이터 형태인 타이밍 소스를 생성하는 타이밍 소스 검출부와,
상기 예제 동작으로부터 검출된 키 타임을 정규화된 시간으로 변환하고, 상기 둘 이상의 예제 동작들의 정규화된 키 타임에 해당하는 프레임들의 자세를 비교하여 둘 이상의 예제 동작들 간에 대응하는 타이밍을 결정하는 타이밍 정렬부를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치.
The apparatus of claim 1, wherein the sample motion analyzer
A timing source detection unit that automatically detects key times of the sample operation data and generates a timing source that is a data type that a user can use for an operation style conversion,
A timing alignment unit that converts the detected key time from the example operation to a normalized time and compares the attitudes of frames corresponding to the normalized key time of the two or more example operations to determine a corresponding timing between two or more example operations Wherein the three-dimensional character movement generating unit generates the three-dimensional character movement using the timing conversion.
제2 항에 있어서, 상기 타이밍 소스 검출부는
상기 캐릭터의 손의 왼쪽 관절, 손의 오른쪽 관절, 발의 왼쪽 관절, 발의 오른쪽 관절 및 머리 관절에 해당하는 위치에서의 노이즈를 필터링하는 하는 관절 노이즈 제거부와,
예제 동작의 각 프레임마다 스켈레톤 모델의 발 관절과 가상환경의 그라운드(ground) 접촉 상태에 따른 키 타임을 검출하고, 좌우 손과 머리 관절의 가속도 값에 따라 키 타임을 검출하는 키타임 검출부를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치.
3. The apparatus of claim 2, wherein the timing source detector
A joint noise removing unit for filtering noise at a position corresponding to the left joint of the hand of the character, the right joint of the hand, the left joint of the foot, the right joint of the foot and the head joint,
Each frame of the example operation includes a key time detector that detects the key time according to the ground contact state of the foot joint of the skeleton model and the virtual environment and detects the key time according to the acceleration values of the left and right hands and the head joints Dimensional character motion using timing conversion.
제3 항에 있어서, 상기 관절 노이즈 제거부는
로우-패스 필터로 관절의 동작 커브에서 로컬 정점에 해당하는 노이즈를 제거함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치.
4. The apparatus of claim 3, wherein the joint noise removing unit
And a noise corresponding to a local peak is removed from an operation curve of the joint by a low-pass filter.
제3 항에 있어서, 상기 키타임 검출부는
상기 예제 동작에 포함된 모든 프레임의 발끝 관절 위치를 계산한 후, 가상공간의 상향 좌표를 기준으로 그라운드에서 발끝 관절 높이가 전체 발 높이 반경의 소정 비율 미만인 자세를 포함하는 프레임들을 검출하고, 검출된 프레임들 중에서 발 끝 관절의 가속도가 영에 가까운 프레임들을 선택한 후 발의 평균값 위치에 최 근접한 발끝 관절의 위치를 포함하는 프레임의 시간을 발의 키 타임으로 지정 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치.
4. The apparatus of claim 3, wherein the key time detector
After calculating the toe joint positions of all the frames included in the example operation, frames including an attitude whose foot joint height is less than a predetermined ratio of the total foot height radius on the ground on the basis of the upward coordinate of the virtual space are detected, Wherein a time of a frame including a position of a foot joint closest to an average value position of a foot is selected as a key time of a foot after selecting frames whose accelerations of the foot end joints are zero among the frames, Character motion generation device.
제3 항에 있어서, 상기 키타임 검출부는
상기 예제 동작의 각 프레임마다 캐릭터 스켈레톤 모델의 좌우 손과 머리 관절의 가속도 값에 따라 영에 근접한 프레임의 시간을 손과 머리의 키 타임으로 각각 지정하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치.
4. The apparatus of claim 3, wherein the key time detector
A three-dimensional character motion generation device using timing conversion to designate a time of a frame close to zero according to acceleration values of right and left hands and head joint of a character skeleton model for each frame of the example operation, respectively.
제1 항에 있어서, 상기 입력 동작 변환부는
입력 동작에서 동작 스타일 변환의 주요 요소인 동작들의 전체 속도를 상기 타이밍 소스에 따라 조절하는 전체 속도 조절부와,
타이밍 소스의 관절 회전 타이밍을 입력 동작의 관절에 적용하는 관절 회전 조절부를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치.
2. The apparatus of claim 1, wherein the input operation conversion unit
An overall speed adjuster for adjusting the overall speed of the operations, which is a main element of the operation style conversion in the input operation, according to the timing source;
And a joint rotation control unit for applying a joint rotation timing of a timing source to a joint of an input operation.
제7 항에 있어서, 상기 전체 속도 조절부는
상기 입력 동작의 공간상 움직임을 운동 경로 커브의 파라미터 값으로 재정의하고, 상기 운동 경로 커브에 상응하는 함수를 이용하여 시간에 따른 입력 동작의 순간 속도를 계산하는 운동 경로 아크 길이 계산부와,
입력 동작의 전체 속도 변화를 자연스럽게 타이밍 소스의 전체 속도로 변환하기 위해 두 동작 간의 시간을 기반으로 하는 속도 비율로 매칭시키는 동작 구간별 속도 비율 재분배부를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치.
8. The apparatus of claim 7, wherein the overall speed adjuster
A motion path arc length calculating unit for redefining the spatial motion of the input motion as a parameter value of the motion path curve and calculating an instantaneous velocity of the input motion over time using a function corresponding to the motion path curve,
And a speed ratio redistributing unit for each operation period to match the total speed change of the input operation with the speed ratio based on the time between the two operations so as to naturally convert the total speed change of the input operation into the full speed of the timing source. Motion generation device.
제7 항에 있어서, 상기 관절 회전 조절부는
다수의 관절로 이루어진 스켈레톤 모델에서는 입력과 타이밍 소스 동작간의 자식과 부모 관절 회전의 정점을 일치시킨 후 상체의 동작 범위에 따라 회전 위치 및 크기를 조절하는 관절 회전 타이밍 조절부와,
변환된 관절 타이밍에 따른 관절 회전 크기를 조절하는 크기 조절부를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치.
8. The apparatus according to claim 7, wherein the joint rotation adjusting section
In a skeleton model composed of a plurality of joints, a joint rotation timing control unit adjusts the rotation position and size according to the motion range of the upper body after matching the vertices of the parent joint rotation with the child between the input and the timing source operation,
And a size adjusting unit for adjusting a joint rotation size according to the converted joint timing.
동일한 스켈레톤 모델 구조를 갖는 캐릭터에 대한 적어도 하나의 예제 동작 데이터의 타이밍을 분석하여 타이밍 소스를 생성하는 단계와,
입력 동작의 공간적 움직임을 상기 소정 예제 동작의 타이밍 소스에 맞게 재조절하여 변환하는 단계를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법.
Analyzing a timing of at least one sample operation data for a character having the same skeleton model structure to generate a timing source;
And adjusting the spatial motion of the input operation according to the timing source of the predetermined sample operation to convert the spatial motion of the input operation to the timing source of the predetermined sample operation.
제10 항에 있어서, 상기 생성하는 단계는
상기 예제 동작 데이터의 키 타임들을 자동으로 검출하고, 사용자가 동작 스타일 변환에 사용할 수 있는 데이터 형태인 타이밍 소스를 생성하는 단계와,
상기 예제 동작으로부터 검출된 키 타임을 정규화된 시간으로 변환하고, 상기 둘 이상의 예제 동작들의 정규화된 키 타임에 해당하는 프레임들의 자세를 비교하여 둘 이상의 예제 동작들 간에 대응하는 타이밍을 결정하는 단계를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법.
11. The method of claim 10, wherein the generating comprises:
Automatically detecting key times of the example operation data and generating a timing source that is a type of data that a user can use for an action style conversion;
Converting the detected key time from the example operation to a normalized time and comparing the postures of frames corresponding to the normalized key times of the two or more example operations to determine a corresponding timing between two or more example operations And generating a three-dimensional character motion using timing conversion.
제11 항에 있어서, 상기 타이밍 소스를 생성하는 단계는
상기 캐릭터의 손의 왼쪽 관절, 손의 오른쪽 관절, 발의 왼쪽 관절, 발의 오른쪽 관절 및 머리 관절에 해당하는 위치에서의 노이즈를 필터링하는 단계와,
예제 동작의 각 프레임마다 스켈레톤 모델의 발 관절과 가상환경의 그라운드(ground) 접촉 상태에 따라 발의 키 타임을 검출하는 단계와,
예제 동작의 각 프레임마다 캐릭터 스켈레톤 모델의 좌우 손과 머리 관절의 가속도 값에 따라 손과 머리의 키 타임을 검출하는 단계를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법.
12. The method of claim 11, wherein generating the timing source comprises:
Filtering the noise at the left joint of the hand of the character, the right joint of the hand, the left joint of the foot, the right joint of the foot, and the head joint,
Detecting the key time of the foot according to the ground contact state of the foot joint of the skeleton model and the virtual environment for each frame of the example operation,
And detecting the key time of the hand and the head according to the acceleration values of the left and right hands and the head joint of the character skeleton model for each frame of the example operation.
제12 항에 있어서, 상기 필터링하는 단계는
로우-패스 필터로 관절의 동작 커브에서 로컬 정점에 해당하는 노이즈를 제거함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법.
13. The method of claim 12, wherein the filtering
And removing noise corresponding to a local vertex from the motion curve of the joint with a low-pass filter.
제12 항에 있어서, 상기 발의 키타임을 검출하는 단계는
상기 예제 동작에 포함된 모든 프레임의 발끝 관절 위치를 계산한 후, 가상공간의 상향 좌표를 기준으로 그라운드에서 발끝 관절 높이가 전체 발 높이 반경의 소정 비율 미만인 자세를 포함하는 프레임들을 검출하고, 검출된 프레임들 중에서 발 끝 관절의 가속도가 영에 가까운 프레임들을 선택한 후 발의 평균값 위치에 최 근접한 발끝 관절의 위치를 포함하는 프레임의 시간을 발의 키 타임으로 지정 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법.
13. The method of claim 12, wherein detecting the key time of the foot
After calculating the toe joint positions of all the frames included in the example operation, frames including an attitude whose foot joint height is less than a predetermined ratio of the total foot height radius on the ground on the basis of the upward coordinate of the virtual space are detected, Wherein a time of a frame including a position of a foot joint closest to an average value position of a foot is selected as a key time of a foot after selecting frames whose accelerations of the foot end joints are zero among the frames, How to create a character action.
제12 항에 있어서, 상기 손머리의 키타임을 검출하는 단계는
상기 예제 동작의 각 프레임마다 캐릭터 스켈레톤 모델의 좌우 손과 머리 관절의 가속도 값에 따라 영에 근접한 프레임의 시간을 손과 머리의 키 타임으로 각각 지정하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법.
13. The method according to claim 12, wherein the step of detecting the key time of the hand-
A method for generating a three-dimensional character motion using timing conversion in which a time of a frame close to zero is designated as a key time of a hand and a head, respectively, in accordance with acceleration values of left and right hands and head joint of each character frame skeleton model.
제10 항에 있어서, 상기 변환하는 단계는
입력 동작에서 동작 스타일 변환의 주요 요소인 동작들의 전체 속도를 상기 타이밍 소스에 따라 조절하는 단계와,
타이밍 소스의 관절 회전 타이밍을 입력 동작의 관절에 적용하는 단계를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법.
11. The method of claim 10, wherein transforming
Adjusting the overall speed of operations, which is a key element of the operation style conversion in the input operation, according to the timing source;
And applying the joint rotation timing of the timing source to the joint of the input operation.
제16 항에 있어서, 상기 조절하는 단계는
상기 입력 동작의 공간상 움직임을 운동 경로 커브의 파라미터 값으로 재정의하고, 상기 운동 경로 커브에 상응하는 함수를 이용하여 시간에 따른 입력 동작의 순간 속도를 계산하는 단계와,
입력 동작의 전체 속도 변화를 자연스럽게 타이밍 소스의 전체 속도로 변환하기 위해 두 동작 간의 시간을 기반으로 하는 속도 비율로 매칭시키는 단계를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법.
17. The method of claim 16,
Redefining the spatial motion of the input motion as a parameter value of the motion path curve and calculating an instantaneous velocity of the input motion over time using a function corresponding to the motion path curve;
And matching the overall speed change of the input operation with a speed ratio based on the time between the two operations to naturally convert the overall speed change of the input operation into the overall speed of the timing source.
제16 항에 있어서, 상기 적용하는 단계는
다수의 관절로 이루어진 스켈레톤 모델에서는 입력과 타이밍 소스 동작간의 자식과 부모 관절 회전의 정점을 일치시킨 후 상체의 동작 범위에 따라 회전 위치 및 크기를 조절하는 단계와,
변환된 관절 타이밍에 따른 관절 회전 크기를 조절하는 단계를 포함함을 특징으로 하는 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 방법.
17. The method of claim 16, wherein applying
In a multi-jointed skeleton model, adjusting the rotation position and size according to the motion range of the upper body after matching the vertices of the parent joint rotation with the child between the input and the timing source operation,
And adjusting the joint rotation size according to the converted joint timing.
KR1020160006012A 2016-01-18 2016-01-18 Apparatus and Method for Generating 3D Character Motion via Timing Transfer KR20170086317A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160006012A KR20170086317A (en) 2016-01-18 2016-01-18 Apparatus and Method for Generating 3D Character Motion via Timing Transfer
US15/142,501 US10049484B2 (en) 2016-01-18 2016-04-29 Apparatus and method for generating 3D character motion via timing transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160006012A KR20170086317A (en) 2016-01-18 2016-01-18 Apparatus and Method for Generating 3D Character Motion via Timing Transfer

Publications (1)

Publication Number Publication Date
KR20170086317A true KR20170086317A (en) 2017-07-26

Family

ID=59314935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160006012A KR20170086317A (en) 2016-01-18 2016-01-18 Apparatus and Method for Generating 3D Character Motion via Timing Transfer

Country Status (2)

Country Link
US (1) US10049484B2 (en)
KR (1) KR20170086317A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200005885A (en) 2018-07-09 2020-01-17 주식회사 엔씨소프트 Apparatus and method for learning motion generation model, apparatus and method for genrating motion
KR20210017462A (en) * 2019-08-08 2021-02-17 주식회사 엘지유플러스 Apparatus and method for measuring body motion similarity
KR102289695B1 (en) * 2020-02-21 2021-08-13 (주)코어센스 Motion Data Recording Method of Human Animation by Singular Point Extraction
KR20220015523A (en) * 2020-07-31 2022-02-08 한국전자기술연구원 System and method for training ai character type of npc for virtual training
KR102438488B1 (en) * 2022-03-02 2022-09-01 최성 3d avatar creation apparatus and method based on 3d markerless motion capture

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7069768B2 (en) * 2018-02-06 2022-05-18 ヤマハ株式会社 Information processing methods, information processing equipment and programs
CN108961428B (en) * 2018-05-23 2023-05-26 杭州易现先进科技有限公司 Style migration method, medium, device and computing equipment for three-dimensional actions
US10984575B2 (en) 2019-02-06 2021-04-20 Snap Inc. Body pose estimation
US11715246B1 (en) 2019-02-12 2023-08-01 Apple Inc. Modification and transfer of character motion
US11430184B1 (en) * 2020-03-26 2022-08-30 Apple Inc. Deformation joints
CN111462209B (en) * 2020-03-31 2022-05-24 北京市商汤科技开发有限公司 Action migration method, device, equipment and storage medium
US11660022B2 (en) * 2020-10-27 2023-05-30 Snap Inc. Adaptive skeletal joint smoothing
US11615592B2 (en) 2020-10-27 2023-03-28 Snap Inc. Side-by-side character animation from realtime 3D body motion capture
US11748931B2 (en) 2020-11-18 2023-09-05 Snap Inc. Body animation sharing and remixing
US11450051B2 (en) 2020-11-18 2022-09-20 Snap Inc. Personalized avatar real-time motion capture
US11734894B2 (en) 2020-11-18 2023-08-22 Snap Inc. Real-time motion transfer for prosthetic limbs
US11861779B2 (en) * 2021-12-14 2024-01-02 Adobe Inc. Digital object animation using control points

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6552729B1 (en) * 1999-01-08 2003-04-22 California Institute Of Technology Automatic generation of animation of synthetic characters
US6462742B1 (en) * 1999-08-05 2002-10-08 Microsoft Corporation System and method for multi-dimensional motion interpolation using verbs and adverbs
US6924803B1 (en) 2000-05-18 2005-08-02 Vulcan Portals, Inc. Methods and systems for a character motion animation tool
KR101006191B1 (en) 2002-08-06 2011-01-07 윤재민 Emotion and Motion Extracting Method of Virtual Human
KR100513090B1 (en) 2003-12-12 2005-09-08 한국전자통신연구원 Apparatus and method for motion data processing
KR100624453B1 (en) 2004-12-23 2006-09-18 삼성전자주식회사 Method and apparatus for authoring/rendering effectively 3 dimension character animation
US8094156B2 (en) 2006-07-31 2012-01-10 Autodesk Inc. Rigless retargeting for character animation
US20100259547A1 (en) * 2009-02-12 2010-10-14 Mixamo, Inc. Web platform for interactive design, synthesis and delivery of 3d character motion data
US8988437B2 (en) * 2009-03-20 2015-03-24 Microsoft Technology Licensing, Llc Chaining animations
KR101053395B1 (en) * 2009-06-11 2011-08-01 서울대학교산학협력단 Motion Editing System and Method of Multiple Characters Synchronized
KR101102778B1 (en) 2010-04-22 2012-01-05 한국과학기술원 Method and apparatus for transferring character rigs from source model to target model
US8797328B2 (en) 2010-07-23 2014-08-05 Mixamo, Inc. Automatic generation of 3D character animation from 3D meshes
JP5820366B2 (en) * 2010-10-08 2015-11-24 パナソニック株式会社 Posture estimation apparatus and posture estimation method
US9001132B1 (en) 2010-12-22 2015-04-07 Lucasfilm Entertainment Company Ltd. Constraint scenarios for retargeting actor motion
KR20120071256A (en) 2010-12-22 2012-07-02 신인섭 Method for producing animation of character
KR101765208B1 (en) * 2014-01-07 2017-08-04 한국전자통신연구원 Method and apparatus of generating dance motion based on pose and timing constraints
US10324522B2 (en) * 2015-11-25 2019-06-18 Jakob Balslev Methods and systems of a motion-capture body suit with wearable body-position sensors

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200005885A (en) 2018-07-09 2020-01-17 주식회사 엔씨소프트 Apparatus and method for learning motion generation model, apparatus and method for genrating motion
KR20210017462A (en) * 2019-08-08 2021-02-17 주식회사 엘지유플러스 Apparatus and method for measuring body motion similarity
KR102289695B1 (en) * 2020-02-21 2021-08-13 (주)코어센스 Motion Data Recording Method of Human Animation by Singular Point Extraction
KR20220015523A (en) * 2020-07-31 2022-02-08 한국전자기술연구원 System and method for training ai character type of npc for virtual training
KR102438488B1 (en) * 2022-03-02 2022-09-01 최성 3d avatar creation apparatus and method based on 3d markerless motion capture

Also Published As

Publication number Publication date
US10049484B2 (en) 2018-08-14
US20170206695A1 (en) 2017-07-20

Similar Documents

Publication Publication Date Title
KR20170086317A (en) Apparatus and Method for Generating 3D Character Motion via Timing Transfer
Sharma et al. Use of motion capture in 3D animation: motion capture systems, challenges, and recent trends
Xia et al. A survey on human performance capture and animation
KR100727034B1 (en) Method for representing and animating 2d humanoid character in 3d space
US6249285B1 (en) Computer assisted mark-up and parameterization for scene analysis
CN104732203A (en) Emotion recognizing and tracking method based on video information
CN105809144A (en) Gesture recognition system and method adopting action segmentation
Sargin et al. Analysis of head gesture and prosody patterns for prosody-driven head-gesture animation
Terra et al. Performance timing for keyframe animation
Heloir et al. Exploiting motion capture for virtual human animation
KR20150075909A (en) Method and apparatus for editing 3D character motion
Caramiaux Motion modeling for expressive interaction: A design proposal using Bayesian adaptive systems
KR100918095B1 (en) Method of Face Modeling and Animation From a Single Video Stream
Zhong et al. Rapid 3D conceptual design based on hand gesture
Schreer et al. Real-time vision and speech driven avatars for multimedia applications
Thalmann The virtual human as a multimodal interface
KR20010091219A (en) Method for retargetting facial expression to new faces
Cordea et al. 3-D head pose recovery for interactive virtual reality avatars
Zhuang et al. A modern approach to intelligent animation: theory and practice
Will et al. An Optimized Marker Layout for 3D Facial Motion Capture.
Ruttkay et al. Facial animation by synthesis of captured and artificial data
JP4812063B2 (en) Human video creation system
Condell et al. HandPuppet3D: Motion capture and analysis for character animation
Orvalho et al. Character animation: past, present and future
de Carvalho Cruz et al. A review regarding the 3D facial animation pipeline

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application