KR100945037B1 - Method and system for creating exaggeration image using rubber-like exaggeration algorithm - Google Patents

Method and system for creating exaggeration image using rubber-like exaggeration algorithm Download PDF

Info

Publication number
KR100945037B1
KR100945037B1 KR1020080039972A KR20080039972A KR100945037B1 KR 100945037 B1 KR100945037 B1 KR 100945037B1 KR 1020080039972 A KR1020080039972 A KR 1020080039972A KR 20080039972 A KR20080039972 A KR 20080039972A KR 100945037 B1 KR100945037 B1 KR 100945037B1
Authority
KR
South Korea
Prior art keywords
joints
exaggerated
joint
motion information
motion
Prior art date
Application number
KR1020080039972A
Other languages
Korean (ko)
Other versions
KR20090114169A (en
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 KR1020080039972A priority Critical patent/KR100945037B1/en
Publication of KR20090114169A publication Critical patent/KR20090114169A/en
Application granted granted Critical
Publication of KR100945037B1 publication Critical patent/KR100945037B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models

Abstract

본 발명은 카툰 애니메이션 또는 캐릭터 애니메이션에 사용될 수 있는 과장 영상 생성 방법 및 시스템을 개시한다. 본 발명의 과장 영상 생성 방법은 복수 개의 관절들에 대한 모션 정보를 입력받는 단계, 관절의 궤적을 기반으로 하는 관절의 위치 과장을 통해 위치가 과장된 모션 정보를 생성하는 단계, 서로 이웃하는 관절들 사이에 위치하는 부관절들에 대한 과장된 모션 정보를 생성하는 단계 및 부관절들에 대한 과장된 모션 정보를 이용하여 과장 영상을 생성하는 단계를 포함한다. 본 발명에 따르면, 캐릭터 애니메이션에서 기본적으로 지켜져 왔던 링크 길이의 제한으로부터 자유로운 모션의 과장이 가능하고, 고무 형태로 휘어지는 유연하고 역동적인 모션을 갖는 과장 영상을 생성할 수 있다.The present invention discloses an exaggerated image generation method and system that can be used for cartoon animation or character animation. The exaggerated image generation method of the present invention comprises the steps of receiving motion information for a plurality of joints, generating motion information with exaggerated positions through exaggerated position of the joints based on the trajectory of the joints, between adjacent joints. Generating exaggerated motion information for the sub-joints located in and generating an exaggerated image using the exaggerated motion information for the sub-joints. According to the present invention, it is possible to exaggerate the motion free from the limitation of the link length that has been basically observed in the character animation, and to generate an exaggerated image having a flexible and dynamic motion that is bent in a rubber shape.

모션 과장, 궤적 과장, 카툰 애니메이션, 질량-용수철 시뮬레이션 Motion Exaggeration, Trajectory Exaggeration, Cartoon Animation, Mass-Spring Simulation

Description

고무 형태의 과장 알고리즘을 이용한 과장 영상 생성 방법 및 시스템{Method and system for creating exaggeration image using rubber-like exaggeration algorithm} Method and system for creating exaggeration image using rubber-like exaggeration algorithm

본 발명은 과장 영상 생성 방법 및 시스템에 관한 것으로서, 특히 모션 캡처 정보를 카툰 스타일의 캐릭터 모션으로 변환할 수 있는 고무 형태의 과장 영상 생성 방법에 관한 것이다. 본 발명은 카툰 애니메이션, 컴퓨터 게임의 캐릭터 애니메이션 분야에 사용될 수 있다.The present invention relates to a method and a system for generating an exaggerated image, and more particularly, to a method for generating an exaggerated image in a rubber form capable of converting motion capture information into a cartoon style character motion. The invention can be used in the field of cartoon animation, character animation of computer games.

캐릭터 애니메이션 분야에서 모션 캡처 데이터를 활용하는 것은 중요한 이슈가 되어왔으며, 모션 그래프를 사용하여 종래의 비교적 좋은 결과를 나았다. 특히 물리 기반(physics-based)의 모션 편집 기술은 많은 리서쳐들에 의하여 연구된 바 있다. 리우(Liu)와 포포빅(Popovic)은 “단순한 애니메이션으로부터 복잡하고 역동적인 캐릭터 모션의 합성(In processings of ACM SIGGRAPH '02, pages 408~416, ACM Press, 2002)”에서 다이나믹한 수식을 이용하여 물리적으로 현실감있는 모션에 대하여 모션의 변환 방법을 제안했다. 상기 문헌에는 비선형적인 역 최적화(inverse optimization)를 이용하여 현실적인 모션에 대한 물리적 기반의 표현 방법이 소개된 바 있다. 또한, 몇몇의 문헌들은 물리적인 시뮬레이션을 모션 캡쳐와 혼합시키는 표현 방법을 개시한 바 있다.The use of motion capture data has been an important issue in the field of character animation, and the motion graph has been used to produce relatively good results. In particular, physics-based motion editing techniques have been studied by many researchers. Liu and Popovic used dynamic formulas in “In processings of ACM SIGGRAPH '02, pages 408–416, ACM Press, 2002”. We proposed a motion conversion method for physically realistic motion. This document has introduced a physically based representation of realistic motion using nonlinear inverse optimization. In addition, several documents have disclosed a representation method of mixing physical simulation with motion capture.

한편, 카툰 애니메이션도 하나의 양식화된 모션의 형태이기 때문에, 카툰 애니메이션에서도 캐릭터 모션을 양식화하는 것은 중요한 이슈이다. 이러한 양식화는 몇몇의 좋은 결과를 달성하였으나, 특히 카툰에 대해서는 좋은 결과를 달성한 바는 없다. 하나의 캐릭터의 모션을 또 다른 모션으로 목표 설정을 바꾸는 것은 하나의 캐릭터 모션을 다른 링크 길이를 갖는 또 다른 캐릭터로 매핑시키는 문제와 관련된다. 종래에도 캐릭터의 링크 길이를 바꾸는 것에 대한 개념적인 접근을 다룬 경우, 관절의 회전을 보간하기 위하여 관절을 자동적으로 원래에 더하는 스키닝 방법을 다룬 경우가 있었다.On the other hand, because cartoon animation is a form of a stylized motion, it is an important issue to style character motion in cartoon animation. This has achieved some good results, but not particularly for cartoons. Changing the goal setting of one character's motion to another involves the problem of mapping one character motion to another character with a different link length. Previously, when dealing with the conceptual approach to changing the link length of the character, there was a case where the skinning method of automatically adding the joint to the original to interpolate the rotation of the joint.

비실사적인(non-photorealistic) 애니메이션에 대한 연구는 시각-의존적으로 접근하는 기술, 카툰 애니메이션 데이터를 재활용하는 기술, 전통적인 애니메이션의 원칙을 따르는 기술 등으로 분류될 수 있다. 라데마허(Rademacher)는 카툰에서 객채들이 바라보는 시야에 따라 서로 다른 표현을 가질 수 있음을 관찰하고, 선형 보간을 이용하는 시각-의존적인 기술과 이러한 접근이 애니메이션에 적용될 수 있음을 제안한 바 있다. 이와 유사한 접근은 캐릭터 애니메이션에도 적용될 수 있다. 브래글러(Bregler) 외 2는 카툰 애니메이션을 획득하고, 그것을 재사용하기 하는 방법을 제안한 바 있다. 브래글러 외 2는 어파인 변환을 이용하는 카툰 영상으로부터의 스쿼시(squash) 및 스트레치(stretch) 효과를 캡쳐하기 위해 시도한 바 있다. 그러나, 이러한 방법은 경직된 링크 구조를 갖기 때문에 과장에 일정한 한계가 있 다.Research into non-photorealistic animation can be classified into visual-dependent approaches, techniques for recycling cartoon animation data, and techniques that follow the principles of traditional animation. Rademacher observes that cartoons can have different representations depending on the field of view they see, and suggests a visual-dependent technique using linear interpolation and that this approach can be applied to animation. Similar approaches can be applied to character animation. Braggler et al. 2 proposed a way to acquire a cartoon animation and reuse it. Braggler et al. 2 attempted to capture squash and stretch effects from cartoon images using affine transformations. However, this method has a certain limitation in exaggeration because it has a rigid link structure.

위에서 언급한 많은 다수의 방법들은 실사 또는 비실사 애니메이션에서는 좋은 결과를 갖는다. 그러나, 종래의 모션 캡쳐(motion capture) 기술을 이용해서는 카툰-형태의 애니메이션(cartoon-style animation)을 직접적으로 생성할 수 없다. 종래에는 미리 결정된 길이에서 링크를 유지하는 등 캐릭터의 관절 구조(Joint hierarchy)에 대한 일정한 제약이 있었고, 이러한 제약 조건은 모션의 과장을 제한하였다. 캐릭터 애니메이션을 위한 실제적인 모션 데이터를 생성하는 기술인 모션 그래프(Motion graph), 물리 기반의 캐릭터 애니메이션(physics-based character animination)은 실제적인 모션 데이터와 관련하여 좋은 결과를 낳았다. 이러한 방법들이 현실적인 애니메이션(realistic animation)을 생성하는 것에는 훌륭한 방법이지만, 관절의 길이 제한, 각도 제한 등 전통적인 애니메이션의 제약에 따라 다양한 모션을 필요로 하는 카툰 애니메이션(cartoon animation)을 생성하는 데에는 적합하지 않다.Many of the methods mentioned above have good results in live or non-realistic animation. However, conventional motion capture techniques cannot directly generate cartoon-style animation. Conventionally, there have been certain constraints on the joint hierarchy of a character, such as maintaining a link at a predetermined length, and this constraint has limited the exaggeration of motion. Motion graphs, a technique for generating realistic motion data for character animation, and physics-based character animination have produced good results with respect to actual motion data. While these methods are great for creating realistic animations, they are not suitable for creating cartoon animations that require different motions depending on the limitations of traditional animations such as joint length and angle constraints. not.

상술한 종래 기술의 한계를 고려하여, 본 발명은 캐릭터 애니메이션에서 기본적으로 지켜져 왔던 링크 길이의 제한을 받지 않기 때문에 자유로운 모션 과장이 가능하고, 고무 형태로 휘어지는 유연하고 역동적인 모션 과장이 가능하며, 카툰 애니메이션에 적용될 수 있는 과장 영상 생성 방법 및 시스템을 제공하는 것을 목적으로 한다.In view of the above limitations of the prior art, the present invention is free from the motion exaggeration, and the flexible and dynamic motion exaggeration in the form of rubber is possible because the present invention is not limited by the link length that has been basically observed in the character animation. An object of the present invention is to provide an exaggerated image generation method and system that can be applied to animation.

상술한 기술적 과제를 해결하기 위한 본 발명에 따른 과장 영상 생성 방법은 복수 개의 관절들에 대한 위치 정보 및 방향 정보를 포함하는 모션 정보를 입력받는 단계; 관절의 궤적을 기반으로 하는 관절의 위치 과장을 통해 상기 복수 개의 관절들에 대한 과장된 모션 정보를 생성하는 단계; 상기 과장된 모션 정보와 상기 입력된 모션 정보를 이용하여, 서로 이웃하는 관절들 사이에 위치하는 부관절들에 대한 과장된 모션 정보를 생성하는 단계; 및 상기 생성된 부관절들에 대한 과장된 모션 정보를 이용하여 과장 영상을 생성하는 단계를 포함한다.An exaggerated image generating method according to the present invention for solving the above technical problem comprises the steps of receiving motion information including position information and direction information for a plurality of joints; Generating exaggerated motion information for the plurality of joints through exaggerated position of the joint based on a trajectory of the joint; Using the exaggerated motion information and the input motion information, generating exaggerated motion information on sub-joints positioned between adjacent joints; And generating an exaggerated image using the exaggerated motion information on the generated joints.

상술한 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 과장 영상 생성 시스템은 복수 개의 관절들에 대한 위치 정보 및 방향 정보를 포함하는 모션 정보를 입력받는 입력부; 관절의 궤적을 기반으로 하는 관절의 위치 과장을 통해 상기 복수 개의 관절들에 대한 과장된 모션 정보를 생성하는 모션 과장부; 상기 과장된 모션 정보와 상기 입력부를 통해 입력된 모션 정보를 이용하여, 서로 이웃하는 관절들 사이에 위치하는 부관절들에 대한 과장된 모션 정보를 생성하는 부관절 모션 과장부 및 상기 생성된 부관절들에 대한 과장된 모션 정보를 이용하여 과장 영상을 생성하는 과장 영상 생성부를 포함한다.According to another aspect of the present invention, there is provided an exaggerated image generating system comprising: an input unit configured to receive motion information including position information and direction information of a plurality of joints; A motion exaggeration unit configured to generate exaggerated motion information for the plurality of joints through exaggerated position of the joint based on a trajectory of the joint; By using the exaggerated motion information and the motion information input through the input unit, to the limb joint motion exaggeration and the generated sub-joints to generate exaggerated motion information for the sub-joints located between the neighboring joints And an exaggerated image generating unit generating an exaggerated image by using the exaggerated motion information.

또한, 본 발명은 상술한 과장 영상 생성 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체를 제공한다.The present invention also provides a computer-readable recording medium having recorded thereon a program for executing the above-mentioned exaggerated image generating method on a computer.

본 발명에 따르면, 모셥 캡쳐를 통해 획득된 사실적인 모션에 대하여 궤적 기반으로 모션 과장을 함으로써 캐릭터 애니메이션에서 기본적으로 지켜져 왔던 링크 길이의 제한으로부터 자유로운 모션 과장이 가능하고, 부관절을 이용한 과장을 통해 관절의 구조를 변형함으로써 고무 형태로 휘어지는 유연하고 역동적인 모션을 갖는 과장 영상을 생성할 수 있다.According to the present invention, motion exaggeration based on the trajectory of the motion obtained through the mode capture is possible to exaggerate motion free from the limitation of the link length that has been basically observed in the character animation, and through the exaggeration using the joint By modifying the structure of the exaggerated image having a flexible and dynamic motion bending in the form of rubber can be generated.

이하 첨부된 도면과 실시예를 참고하여 본 발명의 고무 형태의 과장 알고리즘을 이용한 과장 영상 생성 방법과 시스템 그리고 상기 과장 영상 생성 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 기록 매체에 대하여 상세히 설명한다.Hereinafter, a method and system for generating an exaggerated image using a rubber exaggerated algorithm of the present invention and a recording medium on which a program for performing the exaggerated image generating method on a computer will be described in detail with reference to the accompanying drawings and embodiments.

도 1은 본 발명의 과장 영상 생성 알고리즘을 설명하기 위한 개념도이다. 본 발명에 따른 과장 영상 생성 알고리즘은 크게 두개의 알고리즘으로 구분된다. 하나는, 궤적 기반의 모션 과장(trajectory-based motion exaggeration)이고, 나머지 하나는 작은 단위의 관절인 부관절을 이용하여 구부러지는 효과를 얻기 위한 고무 관절 그룹 스무딩(Rubber-joint group smoothing: RJG smoothing)이다.1 is a conceptual diagram for explaining an exaggerated image generation algorithm of the present invention. The exaggerated image generation algorithm according to the present invention is largely divided into two algorithms. One is trajectory-based motion exaggeration, and the other is rubber-joint group smoothing (RJG smoothing) to achieve the bend effect using the sub-articular joints. to be.

우선, 본 발명에서 도입한 궤적 기반의 모션 과장은 사실적인 모션을 갖는 모션 캡쳐 데이터를 입력으로 하는 과장인데, 궤적 기반의 모션 과장은 링크 길이로 부터 자유롭기 때문에 카툰 애니메이션에 적합한 다양한 형태의 모션을 갖는 영상 제작이 가능하다. 본 발명에서 궤적 기반의 모션 과장은 커브 외삽을 이용한 모션 과장(motion exaggeration using curve extrapolation)과 관절 구조를 정정하는 과장된 모션 수정(joint hierarchy correction)을 포함하며, 구체적인 내용은 후술한다.First, the trajectory-based motion exaggeration introduced in the present invention is an exaggeration inputting motion capture data having realistic motion, and the trajectory-based motion exaggeration is free from the link length, and thus has various types of motions suitable for cartoon animation. Video production is possible. In the present invention, the trajectory-based motion exaggeration includes motion exaggeration using curve extrapolation and joint hierarchy correction for correcting the joint structure, which will be described later.

관절 그룹 스무딩 알고리즘은 원래의 관절 구조의 링크를 작은 단위 관절 즉 부관절(sub-joint)로 분할하는 부관절 계층 생성을 포함한다. 여기에서 부관절은 고무의 구부러지는 효과를 흉내내기 위하여 사용된 것이다. 부관절 생성을 위한 부관절 구조는 미리 정의되어 계산될 수도 있다. The joint group smoothing algorithm involves creating a joint joint layer that splits the link of the original joint structure into small unit joints, or sub-joints. The joints are used here to mimic the bending effect of rubber. The joint structure for generating the joint may be predefined and calculated.

RJG 포지셔닝은 생성된 부관절들을 소정의 기준에 따라 그룹화하고, 이를 다차원 곡선 보간법을 사용하여 부드럽게 이은 후 상기 관절 그룹 스무딩 알고리즘에 따른 부관절들을 위치시키는 것이다. 예를 들어, 왼쪽 팔, 오른쪽 팔, 왼쪽 다리, 오른쪽 다리를 각각의 RJG로 결정할 수 있으며, 다차원 곡선 보간법으로 베지어 곡선을 이용할 수 있다.RJG positioning groups the generated joints according to predetermined criteria, smoothes them using multi-dimensional curve interpolation, and then positions the joints according to the joint group smoothing algorithm. For example, the left arm, right arm, left leg, and right leg can be determined for each RJG. Bezier curves can be used for multidimensional curve interpolation.

질량-용수철 시뮬레이션은 각각의 관절과 부관절을 질량이 있는 질점으로 파악하고, 서로 인접하는 관절, 부관절들이 용수철에 의하여 연결된 것으로 가정하는 동적 시뮬레이션이다. 이를 통해 보다 역동성있고 재미있는 모션을 생성할 수 있다. Mass-spring simulation is a dynamic simulation that identifies each joint and joint as a mass point and assumes that joints and joints adjacent to each other are connected by a spring. This allows you to create more dynamic and fun motions.

혼합(blending)은 시뮬레이션 결과와 RJG 포지셔닝에 따른 결과 즉 관절들과 부관절들의 위치 정보를 혼합하는 것이고, 후처리(post-processing)는 혼합에 따라 위치가 특정된 관절들의 방향 정보와 새로운 스키닝 정보를 생성하고, 이를 이용하여 최종적인 모션 정보를 출력하는 과정이다. 본 실시예에서는 캐릭터 애니메이션에 가장 넓게 사용되는 기본적인 골격 표현을 사용하였다.Blending is the blending of simulation results and results from RJG positioning, that is, the position information of joints and joints, and post-processing is the new skinning information and direction information of joints whose location is specified by blending. Is generated, and the final motion information is output using the same. In this embodiment, the basic skeletal representation used most widely for character animation is used.

본 발명은 관절 길이 제한을 지키지 않는 궤적 기반의 모션 과장, 원래의 관절(original joint)을 더 촘촘한 부관절(sub-joint)의 도입, 그리고 베지어 커브 보간과 질량-용수철 시뮬레이션을 통해 관절의 위치를 컴퓨팅함으로써, 고무 형태의 부드러운 움직임과 역동성있는 과장된 모션을 갖는 과장 영상을 생성하는 방법이다. 기존의 접근 들은 링크의 길이를 유지하면서 관절의 각도 등을 수정하는데 그쳤으나, 본 발명은 관절의 구조 자체를 수정하기 위한 접근을 통해 고무 형태의 포즈를 갖는 부드럽고 다양한 모션 과장을 가능하게 한다.The invention is based on trajectory-based motion exaggeration that does not obey joint length limitations, the introduction of sub-joints more closely to the original joints, and the position of the joints through Bezier curve interpolation and mass-spring simulations. By computing the method of generating an exaggerated image having a smooth movement of the rubber form and dynamic exaggerated motion. Existing approaches only modify the angle of the joint and the like while maintaining the length of the link, but the present invention enables smooth and varied motion exaggeration with a rubbery pose through an approach to modify the structure of the joint itself.

도 2는 본 발명의 일 실시예에 따른 과장 영상 생성 시스템을 나타내는 블록도이다. 도 2에 도시된 과장 영상 생성 시스템(1)은 입력부(10), 모션 과장부(20), 모션 수정부(30), 부관절 생성부(40), 부관절 모션 과장부(50), 질량-용수철 시뮬레이션부(60) 및 과장 영상 생성부(70)를 포함한다.2 is a block diagram illustrating an exaggerated image generating system according to an embodiment of the present invention. The exaggerated image generating system 1 shown in FIG. 2 includes an input unit 10, a motion exaggeration unit 20, a motion correction unit 30, a joint joint generation unit 40, a joint joint exaggeration unit 50, and a mass. A spring simulation unit 60 and an exaggerated image generating unit 70.

입력부(10)는 캐릭터 영상에 대한 모션 정보(motion data)를 입력받는다. 모션 정보는 복수 개의 관절들에 대한 위치 정보(position data) 및 방향 정보(orientation data)를 포함하는 국부 좌표 정보(local coordinate data)를 포함한다.The input unit 10 receives motion information about the character image. The motion information includes local coordinate data including position data and orientation information about the plurality of joints.

모션 과장부(20)는 관절의 궤적을 기반으로 하는 관절의 위치 과장을 통해 상기 복수 개의 관절들의 위치를 과장시킨 과장된 모션 정보를 생성한다. 본 실시예에서 모션 과장부(20)는 커브 외삽(curve extrapolation)을 이용하여 모션을 과장하며, 구체적인 알고리즘은 후술한다.The motion exaggeration unit 20 generates exaggerated motion information that exaggerates the positions of the plurality of joints by exaggerating the position of the joint based on the trajectory of the joint. In the present embodiment, the motion exaggeration 20 exaggerates motion using curve extrapolation, and a detailed algorithm will be described later.

모션 수정부(30)는 상기 과장에 따른 영상 왜곡을 방지하기 위하여, 서로 이웃하는 관절들 간의 링크 길이를 고려하여 상기 과장된 모션 정보를 수정함으로써 수정된 모션 정보를 생성한다.The motion correction unit 30 generates modified motion information by modifying the exaggerated motion information in consideration of link lengths between neighboring joints in order to prevent image distortion due to the exaggeration.

부관절 생성부(sub-joint creation unit, 40)는 상기 입력된 모션 정보와 미리 결정된 기준에 따라 서로 인접하는 관절들 사이에 위치하는 부관절을 정의한다.The sub-joint creation unit 40 defines sub-joints positioned between joints adjacent to each other according to the input motion information and a predetermined criterion.

부관절 모션 과장부(50)는 상기 과장된 모션 정보와 상기 입력부를 통해 입력된 모션 정보를 이용하여, 서로 이웃하는 관절들 사이에 위치하는 부관절들에 대한 과장된 모션 정보를 생성한다. 부관절 모션 과장부(50)는 그룹핑부(52), 함수 추정부(54) 및 부관절 모션 정보 생성부(56)를 포함한다. 본 실시예는 관절들과 부관절들을 서로 이웃하는 관절들 사이의 관계를 부모 관절(parent joint)과 자식 관절(child joint)의 관점에서 취급한다. 부모 관절은 서로 인접하는 두 개의 관절들 중에서 상대적으로 내측에 위치한 관절이고, 자식 관절은 상대적으로 외측에 위치하는 관절이다. 예를 들어, 캐릭터가 사람인 경우 사람 몸의 중심을 내측이라고 정의할 수 있다.The joint motion exaggeration unit 50 generates exaggerated motion information on the joints located between the joints adjacent to each other using the exaggerated motion information and the motion information input through the input unit. The joint motion exaggeration unit 50 includes a grouping unit 52, a function estimating unit 54, and a joint joint motion information generation unit 56. This embodiment treats joints and sub-joints in terms of parent joints and child joints between the neighboring joints. The parent joint is a joint located relatively inward of the two joints adjacent to each other, and the child joint is a joint located relatively outward. For example, when the character is a person, the center of the human body may be defined as the inside.

그룹핑부(52)는 복수 개의 관절들 중에서 오로지 하나의 자식 관절을 갖는 부모 관절과 상기 자식 관절 간의 링크가 연속적으로 형성된 관절들을 그룹핑한다. 함수 추정부(54)는 그룹핑에 의해 하나의 그룹에 포함된 관절들에 대하여 커브 내삽(curve interpolation)을 통해 서로 이웃하는 관절들을 연결하는 함수를 추정한다. 부관절 모션 정보 생성부(56)는 추정된 함수와 상기 부관절 생성부에서 사용한 부관절 정의 기준을 이용하여 부관절들의 과장된 위치를 결정하고, 부관절들의 과장된 모션 정보를 생성한다.The grouping unit 52 groups joints in which a link between the parent joint having one child joint and the child joint is continuously formed among the plurality of joints. The function estimator 54 estimates a function of connecting joints neighboring each other through curve interpolation for joints included in one group by grouping. The joint motion information generator 56 determines an exaggerated position of the joints using the estimated function and the joint definition criteria used in the joint generator, and generates the exaggerated motion information of the joints.

질량-용수철 시뮬레이션부(60)는 부관절들에 대한 과장된 모션 정보를 질량-용수철 시뮬레이션(mass-spring simulation)을 통해 수정한다. 여기에서, 질량-용수철 시뮬레이션은 상기 관절들과 부관절들을 각각 질량을 갖는 질점으로 취급하고, 서로 인접하는 부관절들 또는 관절과 부관절들 간에는 용수철의 힘이 작용하는 것으로 취급하여 시뮬레이션이다.The mass-spring simulation unit 60 modifies the exaggerated motion information on the sub-joints through mass-spring simulation. In this case, the mass-spring simulation is a simulation by treating the joints and the joints as mass materials having respective masses, and treating the joint forces or the joints and the joints as adjacent to each other.

과장 영상 생성부(70)는 부관절 모션 정보 생성부(56)와 질량-용수철 시뮬레이션부(60)로 부터 생성된 모션 정보들을 이용하여 과장 영상을 생성한다. 과장 영상 생성부(70)는 혼합부(72)와 후처리부(74)를 포함한다. 혼합부(72)는 질량-용수철 시뮬레이션에 따라 수정된 모션 정보와 상기 부관절 모션 과장부에서 생성된 부관절들에 대한 과장된 모션 정보를 소정의 가중치 함수에 따라 혼합한다. 후처리부(74)는 상기 혼합된 모션 정보를 이용하여 원래의 입력 영상이 갖는 스키닝 정보(skining data)를 수정하고, 수정된 스키닝 정보에 따른 과장 영상을 생성한다. 혼합된 모션 정보에 방향 정보가 포함되지 않은 경우, 과장되지 않은 원래의 관절들, 부관절들이 갖는 방향 정보를 이용하여 과장된 관절들, 부관절들의 방향 정보를 추정할 수 있다.The exaggerated image generator 70 generates an exaggerated image by using motion information generated from the joint motion information generator 56 and the mass-spring simulation unit 60. The exaggerated image generator 70 includes a mixer 72 and a post processor 74. The mixing unit 72 mixes the motion information modified according to the mass-spring simulation and the exaggerated motion information for the sub-joints generated in the sub-joint motion exaggeration according to a predetermined weight function. The post processor 74 modifies skinning data of the original input image by using the mixed motion information, and generates an exaggerated image according to the modified skinning information. When the direction information is not included in the mixed motion information, the direction information of the exaggerated joints and the sub-joints may be estimated using the direction information of the original joints and the sub-joints that are not exaggerated.

도 3는 본 발명의 일 실시예에 따른 과장 영상 생성 방법을 나타내는 흐름도이다. 도 3에 도시된 과장 영상 생성 방법은 과장 영상 생성 시스템(1)에서 시계열적으로 수행되는 하기 단계들을 포함한다.3 is a flowchart illustrating a method of generating an exaggerated image according to an embodiment of the present invention. The exaggerated image generation method illustrated in FIG. 3 includes the following steps performed in time series in the exaggerated image generation system 1.

102단계에서 입력부(102)는 복수 개의 관절들에 대한 모션 정보를 입력 받는다. 본 단계에서 입력되는 모션 정보는 과장 처리되지 않은 모션 정보이다. 본 실시예에서 모션 정보는 캐릭터 애니메이션에 일반적으로 사용되는 골격 표현(skeleton representation)에 따른 관절의 위치 정보와 방향 정보를 포함하는 의미로 사용한다.In step 102, the input unit 102 receives motion information about a plurality of joints. The motion information input in this step is motion information that is not exaggerated. In the present embodiment, motion information is used as a meaning including position information and direction information of joints according to a skeleton representation generally used for character animation.

104단계에서 모션 과장부(104)는 관절의 궤적을 기반으로 하는 관절의 위치 과장을 통해 과장된 모션 정보를 생성한다. 예를 들어, 모션 과장부(104)는 커브 외삽(curve extrapolation)을 이용하여 과장된 모션 정보를 생성한다. 종래의 모션 과장은 관절 각(joint angle)을 과장한 예가 있었으나, 본 실시예에서는 관절의 궤적 과장을 통해 모션을 과장하는 것에 일 특징이 있다. 기존의 4원법(Quaternion) 기반의 모션 편집은 정규성 문제를 갖지 않고 있으나, 상기 방법을 이용할 경우 스트레치된 링크를 갖는 결과 모션을 얻을 수 없다. 본 실시예에서는 3차원 공간에서 각각의 관절의 궤적을 과장하는 방식을 도입하였으며, 이를 통해 몇몇의 링크들의 길이를 늘리는 것을 가능하게 하였다. 임의의 시간 t (t∈ [0, T])에서 관절 Jk의 k번째 궤적 곡선을 jk(t)라고 할 때, 관절 Jk의 과장된 값 또는 위치(ek(t))는 하기 수학식으로 표현된다.In step 104, the motion exaggeration unit 104 generates exaggerated motion information through exaggeration of the position of the joint based on the trajectory of the joint. For example, the motion exaggeration 104 generates exaggerated motion information using curve extrapolation. In the conventional motion exaggeration, there is an example in which the joint angle is exaggerated, but in this embodiment, the motion exaggeration is characterized by exaggerating the motion through the trajectory exaggeration of the joint. Existing quaternion-based motion editing does not have a normality problem, but using the above method, the resulting motion with a stretched link cannot be obtained. In this embodiment, a method of exaggerating the trajectory of each joint in the three-dimensional space is introduced, thereby making it possible to increase the length of some links. When the k th trajectory curve of joint J k at any time t (t ∈ [0, T]) is j k (t), the exaggerated value or position e k (t) of joint J k is Expressed as

[수학식1][Equation 1]

ek(t) = ωjk(t) + (1 - ω)ak(t)e k (t) = ω j k (t) + (1-ω) a k (t)

[수학식2][Equation 2]

ak(t) = jk(t) * gσ(t)a k (t) = j k (t) * g σ (t)

[수학식3][Equation 3]

Figure 112008030934292-pat00001
Figure 112008030934292-pat00001

여기에서, ak(t)는 jk(t)와 gσ(t)의 컨벌루션으로서 관절 궤적 jk(t)의 국부 평균 커브(local spatial average curve)를 의미하며, gσ(t)는 표준편차 σ를 갖는 가우시안 함수이다. ek(t)는 ak(t)로부터 떨어진 위치에 존재하는 jk(t)의 과장된 값이다. ω는 관절 위치를 과장시키기 위한 사용자 정의 파라미터로서, ak(t)와 jk(t)를 ω(>1) : 1로 외분하기 위한 사용자 정의값이다. 파라미터 σ와 ω는 과장의 정도를 결정하기 위한 조절 파라미터이다. ak(t0)는 특정된 시간 t0에서 관절의 평균 위치를 의미한다. 만약, 특정의 시간 t0에서 실제의 위치가 평균값과 다르다면, 이 경우 jk(t0)와 ak(t0) 간의 거리는 더 커질 것이다. 외분에 의하여 보간된 지점 ek(t0)는 jk(t0)로 부터 떨어진 곳에 위치하게 된다. 결과적으로, 모션 과장을 통해 외삽된 커브 ek(t)는 실제의 모션과 평균 모션 들 간의 거리 만큼 모션을 과장 한다.Here, a k (t) is a convolution of j k (t) and g σ (t), which means a local spatial average curve of the joint trajectory j k (t), where g σ (t) is Gaussian function with standard deviation σ. e k (t) is an exaggerated value of j k (t) at a position away from a k (t). ω is a user defined parameter for exaggerating the joint position, and is a user defined value for dividing a k (t) and j k (t) by ω (> 1): 1. The parameters σ and ω are adjustment parameters for determining the degree of exaggeration. a k (t0) means the average position of the joint at the specified time t0. If the actual position at a certain time t0 is different from the average value, then the distance between j k (t0) and a k (t0) will be larger. The interpolated point e k (t 0) is located away from j k (t 0). As a result, the curve e k (t) extrapolated through the motion exaggeration exaggerates the motion by the distance between the actual motion and the average motions.

도 4는 궤적 과정을 이용하여 던지는 모션을 과장하는 개념을 설명하는 참고도이다. 도 4에서 붉은 색 커브는 원래의 궤적 jk(t)이고, 녹색 커브는 평균 커브 ak(t)이며, 푸른색 커브는 외삽된 커브 ek(t)를 나타낸다. 도 4에 도시된 바와 같이, 외삽을 통해 과정된 모션은 원래의 링크-길이를 제한없이 변경한 것이다.4 is a reference diagram illustrating a concept of exaggerating a throwing motion using a trajectory process. In Figure 4 the red curve is the original trajectory j k (t), the green curve is the average curve a k (t), and the blue curve represents the extrapolated curve e k (t). As shown in FIG. 4, the motion processed through extrapolation is an unlimited change in the original link-length.

궤적 기반의 모션 과장 방법은 관절 각도를 과장하는 기존의 방식에 비하여 링크 길이의 제약으로 부터 자유롭기 때문에 보다 역동적인 모션 과장을 가능하게 하며, 기존의 과장 기술에 비하여 간단한 장점이 있다.The trajectory-based motion exaggeration method is free from the limitation of link length compared to the existing method of exaggerating the joint angle, thus enabling more dynamic motion exaggeration, and has a simple advantage over the existing exaggeration technique.

106단계에서 모션 수정부(30)는 104단계에서 생성된 과장된 모션 정보를 수정한다. 본 단계는 104단계를 통해 과장된 관절의 위치에 따라 특정되는 링크의 길이가 원래의 링크 길이에 비하여 너무 과장되는 것을 방지하기 위하여, 과장된 모션을 수정하는 단계이다.In step 106, the motion correction unit 30 modifies the exaggerated motion information generated in step 104. This step is a step of modifying the exaggerated motion in order to prevent the length of the link specified according to the position of the exaggerated joint in step 104 is too exaggerated compared to the original link length.

예를 들어, 캐릭터를 이루는 임의의 관절을 Jk라고, 모든 관절 들의 집합을 J라고 할 때, J = {Jk}이다. 부모 관절(parent joint, Jp)과 자식 관절(child joint, Jc) 사이의 관계(relation)를 l(Jp, Jc)라고 하고, 이러한 관계들의 집합 L이라 할 때, L={l(Jp, Jc)}이다. 부모 관절(Jp)로 부터 자식 관절(Jc)으로의 링크 벡터를 v(Jp, Jc)라고 표현할 수 있다. 이 경우 집합 L에 속한 모든 관계들에 대하여 Jp와 Jc 사이의 거리가, v(Jp, Jc)의 길이에 더 가깝게 되도록 관절의 위치를 조정할 필요가 있다.For example, a, J = {J} k to J as a set of random is called, all the joints the joint J k forming the character. Said parent joint (parent joint, J p) and the child joint (child joint, J c) the relationship (relation) l (J p, J c) between, and when referred to as a set L of this relationship, L = {l (J p , J c )}. The link vector from the parent joint J p to the child joint J c can be expressed as v (J p , J c ). In this case, for all relationships in the set L, it is necessary to adjust the position of the joint so that the distance between J p and J c is closer to the length of v (J p , J c ).

도 5는 104단계를 통해 과장된 모션 정보를 수정하는 알고리즘을 나타낸다. 여기에서, T는 프레임의 수이고, δ는 각각의 반복 시행 동안의 모션의 왜곡을 방지하기 위해 미리 결정된 계수이다. 본 알고리즘은 과장된 동작인 링크-길이 제한을 얼마나 초과하는지를 계산하고, 해당 관절의 위치를 반복하여 정정하는 것에 특징이 있다. 여기에서 m(Jp, Jc)는 해당 관절의 원래 위치로부터 그 관절의 부모 관절의 원래 위치로의 위치 벡터로서, 반복 시행에 따라 정정된 위치에 해당하는 위치 백터를 의미한다. 각각의 관절은 그 관절의 부모 관절을 향해서 움직이며, 모든 링크들의 전체 길이는 반복 시행을 수행할 수록 짧아지게 된다. 도 5에 예시된 순환 루프는 에러(error)가 임계값(threshold)값 보다 작아질 때 까지 반복된다. 여기에서 임계값은 링크들의 전체 길이를 조절하는 직관적인 수단이 되며, 임계값을 조정함으로써 과장의 정도를 용이하게 조절할 수 있다.5 illustrates an algorithm for modifying exaggerated motion information in step 104. Where T is the number of frames and δ is a predetermined coefficient to prevent distortion of the motion during each iteration. The algorithm is characterized by calculating how much it exceeds the link-length limit, which is an exaggerated motion, and repeatedly correcting the position of the joint. Here m (J p , J c ) is a position vector from the original position of the joint to the original position of the parent joint of the joint, and means a position vector corresponding to the corrected position according to the repetition. Each joint moves toward its parent joint, and the overall length of all links becomes shorter with repeated trials. The cyclic loop illustrated in FIG. 5 is repeated until the error is less than the threshold. Here, the threshold value is an intuitive means of adjusting the overall length of the links, and the threshold value can be easily adjusted by adjusting the threshold value.

도 6은 도 5의 알고리즘을 반복 수행함에 따라 과장된 모션이 수정되는 것을 보여주는 예이다. 도 5에 예시된 알고리즘의 반복(iteration)을 거듭할수록 과도하게 과장된 링크(붉은 색) 길이는 오차 허용 범위 내의 링크(노란색) 길이를 갖도록 수정된다.6 illustrates an example in which an exaggerated motion is modified by repeatedly performing the algorithm of FIG. 5. As the iteration of the algorithm illustrated in FIG. 5 is repeated, the excessively exaggerated link (red) length is modified to have a link (yellow) length within an error tolerance.

108단계에서 부관절 생성부(40)는 102단계에서 입력된 모션 정보를 기반으로 하여 미리 결정된 기준에 따라 부관절을 생성한다. 본 실시예에서는 캐릭터의 링크에 대해 고무 로드(rubber rod)의 구부리는 동작을 적용시키기 위하여, 부관절 계 층을 도입하였다. 부관절 생성부(40)는 각각의 관절에 따른 링크를 일정한 기준에 따른 복수 개의 부링크(sub-links)로 구분하고, 각각의 부링크에 해당하는 부관절(sub-joint)을 생성한다. 부관절의 위치 정보(position data)와 방향 정보(orientation data)는 원래의 관절의 위치 정보와 방향 정보를 이용하여 계산할 수 있다. 원래의 관절들의 집합을 J라고 할 때, J = {Jk}라고 나타낼 수 있다. 도 7은 108단계에서 부관절 구조를 생성하는 일예를 나타낸다. 임의의 관절 Jk을 mk개의 부관절들로 나눌 때, 상기 부관절들은 J'k ,1, J'k ,2, J'k ,3,..., J'k , mk로 나타낼 수 있다. 집합 J' k ={J'k , l , 1 ≤ l ≤ mk}는 Jk의 모든 부관절로 구성되는 집합이며, J' = U J' k 는 모든 부관절 집합의 합을 의미한다. 도 7의 예에서, J' k 의 경우 부관절의 위치는 Jk와 Jk + 1를 3등분하는 위치이다. 본 단계에서 미리 결정된 기준은 Jk와 Jk + 1간의 거리를 3등분하는 지점들을 부관절로 결정하는 것이 된다.In step 108, the joint generating unit 40 generates the joint according to a predetermined criterion based on the motion information input in step 102. In this embodiment, the joint joint layer is introduced to apply the bending action of the rubber rod to the link of the character. The joint generation unit 40 divides the links according to each joint into a plurality of sub-links according to a predetermined criterion, and generates a sub-joint corresponding to each sub link. Position data and orientation data of the joint may be calculated using the original joint position information and orientation information. When the original set of joints is called J , it can be expressed as J = {J k }. FIG. 7 shows an example of generating a joint structure in step 108. When dividing an arbitrary joint J k into m k sub-arthropods, the sub-arthroses can be represented by J ' k , 1 , J' k , 2 , J ' k , 3 , ..., J' k , mk have. Set J 'k = {J ' k , l , 1 ≤ l ≤ m k } is a set that consists of all the sub-joints of J k , and J' = U J ' k is the sum of all sub-joint sets. In the example of FIG. 7, in the case of J ′ k , the position of the subjoint is a position that divides J k and J k + 1 by three. In this step, the predetermined criterion is to determine as a joint by the points that divide the distance between J k and J k + 1 by three.

110단계에서, 그룹핑부(52)는 고무 관절 그룹(Rubber-joint group: RJG)를 결정한다. 여기에서 고무 관절 그룹은 다음과 같이 정의되며, 이하 RJG라 칭한다.In step 110, the grouping unit 52 determines a rubber-joint group (RJG). The rubber joint group is defined as follows, hereinafter referred to as RJG.

- 임의의 작용점(end-effector)은 RJG의 맴버이다.Any end-effector is a member of the RJG.

- 부모 관절이 단지 하나의 자식 관절을 갖고 있고, 그 자식 관절이 어떤 RJG의 멤버라면, 그 때 부모 관절은 상기 RJG의 멤버이다. 어떤 캐릭터가 손가락들 또는 발가락들을 갖고 있지 않다면, 사지(limb) 각각의 연속된 링크들을 하나의 RJG로 그룹핑할 수 있다. RJG는 예를 들어 왼쪽 팔 그룹, 오른쪽 팔 그룹, 왼쪽 다 리 그룹, 오른쪽 다리 그룹 등이 있다.If the parent joint has only one child joint and the child joint is a member of a certain RJG, then the parent joint is a member of the RJG. If a character does not have fingers or toes, it is possible to group consecutive links of each limb into one RJG. RJGs include, for example, left arm group, right arm group, left leg group, right leg group.

112단계에서, 함수 추정부(54)는 106단계를 통해 수정된 모션 정보에 의해 특정된 위치를 갖는 관절들에 대한 보간을 수행하고, 관절들을 부드러운 곡선으로 연결시키기 위한 함수를 추정한다. 본 실시예에서는 과장된 모션을 고무 형태의 모션으로 변환시키기 위하여, 각각의 RJG에 대하여 모든 관절의 원래 위치에 대하여 내삽에 의한 보간을 수행한다. 예를 들어, 베지어 커브 내삽(Bezier curve interpolation)을 이용하여 부관절의 위치를 추정할 수 있다. 이를 통해 부관절 각각의 위치가 특정되면 부관절 파라미터와 부관절들 사이의 링크 길이는 물론 부관절의 방향 정보도 계산할 수 있다.In step 112, the function estimator 54 performs interpolation on the joints having the position specified by the modified motion information in step 106, and estimates a function for connecting the joints to a smooth curve. In this embodiment, interpolation is performed by interpolation for the original positions of all joints for each RJG in order to convert the exaggerated motion into rubber-like motion. For example, the Bezier curve interpolation can be used to estimate the position of the joint. Through this, when the position of each joint is specified, the joint length parameter and the link length between the joints as well as the direction information of the joint can be calculated.

도 8은 110단계와 112단계의 고무-관절 그루핑과 커브 내삽을 이용하여 부관절의 위치를 결정하는 예를 나타낸 것이다. 붉은색은 원래의 관절 즉 과장되지 않은 관절을 나타내는데, 원래의 관절의 위치는 베지어 커브(Bezier curve, 푸른색으로 점선 처리됨)를 이용하여 보간된다. 그리고, 푸른색의 원으로 처리된 부관절의 위치는 원래의 관절을 보간시키는 곡선을 이용하여 계산될 수 있다. 도 8에서와 같이 파란색의 점선 즉 보간 곡선이 특정되면, 부관절의 위치 정보와 방향 정보를 계산할 수 있다. 보간 곡선은 관절들을 서로 연결하는 곡선으로서 링크에 해당한다. 본 단계에서 부관절의 위치를 결정하는 기준은 108단계에서 원래의 관절 구조에서 부관절을 정의하는데 사용된 기준과 동일하게 사용되며, 링크를 이루는 곡선을 소정 개수로 등분하는 지점에 부관절들이 위치하도록 결정할 수 있다. 부관절은 보간 곡선 위에 존재하는 것이므로, 부관절의 방향은 해당 위치에서의 접선 기울기를 계 산함으로써 결정할 수 있다.FIG. 8 shows an example of determining the position of the subarticular joint using rubber joint jointing and curve interpolation in steps 110 and 112. The red color represents the original joint, i.e., the exaggerated joint. The position of the original joint is interpolated using a Bezier curve (blue dotted line). The position of the paraarticular treated with a blue circle may be calculated using a curve interpolating the original joint. As shown in FIG. 8, when a blue dotted line, that is, an interpolation curve, is specified, position information and direction information of the joint may be calculated. Interpolation curves are curves that connect joints together and correspond to links. In this step, the criterion for determining the position of the joint is used in the same manner as the criteria used to define the joint in the original joint structure in step 108. You can decide to. Since the joint is above the interpolation curve, the direction of the joint can be determined by calculating the tangential slope at that location.

114단계에서 질량-용수철 시뮬레이션부(56)는 106단계를 통해 수정된 모션 정보에 대하여 질량-용수철 시뮬레이션을 수행한다. 예를 들어, 질량-용수철 시뮬레이션을 통해 팔로우-스로우(follow-through) 모션을 과장할 경우, 각각의 관절과 부관절(sub-joint)은 질량을 갖는 파티클이 되고, 부링크(sub-link)는 스프링으로서 취급할 수 있다. 본 단계의 질량-용수철 시뮬레이션은 팔로우-스로우 모션이 필요한 경우에 유효하다.In step 114, the mass-spring simulation unit 56 performs mass-spring simulation on the motion information modified in step 106. For example, when exaggerating follow-through motion through mass-spring simulations, each joint and sub-joint becomes a particle with mass and a sub-link. Can be treated as a spring. The mass-spring simulation of this step is valid when follow-throw motion is required.

본 실시예에서는 팔로우-스로우 모션이 동작의 처음과 끝 부분에 있는 익스트림 포즈(extreme poses) 이후에 잠시 동안 나타난다는 가정을 한다. 본 실시예에서는 모든 프레임들에 대하여 질량-용수철 시뮬레이션을 수행하는 것이 아니라, 질량-용수철 시뮬레이션은 익스트림 포즈(extreme poses)를 갖는 키 프레임(key frames)을 기준으로 상기 키 프레임으로 부터 소정의 시간이 떨어진 프레임 까지 수행한다. 여기에서 키 프레임은 해당 포즈의 특징을 효과적으로 나타내는 프레임으로써 자동적으로 또는 수동적으로 선별될 수 있다. 익스트림 포즈를 갖는 프레임이 2개 선택되면, 질량-용수철 시뮬레이션은 익스트림 포즈를 갖는 두 프레임들 중 시간적으로 앞선 프레임으로부터 상기 두 프레임들의 중간에 위치하는 프레임까지 수행된다. 관절의 질량과 스프링의 후크 계수(Hook coefficient)는 단일하게 세팅될 수 있다. 각각의 관절(질점)의 초기 위치와 속도는 부관절 모션 정보 생성부(56)에서 생성된 RJG에 따른 위치 정보를 이용하여 계산될 수 있고, 중력은 시뮬레이션 동안에 외부에서 작용하는 힘으로 모델링된다.In this embodiment, it is assumed that the follow-throw motion appears for a while after the extreme poses at the beginning and the end of the motion. In this embodiment, the mass-spring simulation is not performed for all the frames, but the mass-spring simulation has a predetermined time from the key frame with respect to the key frames having the extreme poses. Perform up to the dropped frame. Here, the key frame may be selected automatically or manually as a frame effectively indicating the characteristic of the pose. If two frames with extreme poses are selected, the mass-spring simulation is performed from the temporally preceding one of the two frames with extreme poses to the frame located in the middle of the two frames. The mass of the joint and the hook coefficient of the spring can be set singularly. The initial position and velocity of each joint (vaginal point) can be calculated using the positional information according to the RJG generated by the joint motion information generation unit 56, and gravity is modeled as an externally acting force during the simulation.

116단계에서 혼합부(72)는 112단계를 통해 획득한 부관절들에 대한 과장된 모션 정보와 114단계에서 질량-용수철 시뮬레이션을 통해 획득한 수정된 모션 정보를 소정의 가중치 함수에 따라 합산한다. 임의의 시점 t에서 부관절의 위치를 j'(t)라고하고, 시뮬레이션된 위치를 p(t)라고 하면, 시간 t0와 t1 사이의 질량-스프링 시뮬레이션에 대하여 j'(t)와 p(t)를 블랜딩한 위치 b(t)는 하기 수학식4로 표현된다. In step 116, the mixing unit 72 adds the exaggerated motion information for the joints obtained in step 112 and the modified motion information obtained through the mass-spring simulation in step 114 according to a predetermined weight function. If the position of the subjoint is j '(t) and the simulated position is p (t) at any time point t, then j' (t) and p for the mass-spring simulation between times t 0 and t 1 The position b (t) which blended ( t ) is represented by following formula (4).

[수학식4][Equation 4]

Figure 112008030934292-pat00002
Figure 112008030934292-pat00002

여기에서,

Figure 112008030934292-pat00003
은 시뮬레이션된 모션의 영향을 결정하는 복구 상수(restitution constant)를 나타낸다.
Figure 112008030934292-pat00004
를 크게하거나 작게함으로써 팔로우-스로우 효과의 정도를 초기에 조절할 수 있다.From here,
Figure 112008030934292-pat00003
Denotes a restoration constant that determines the effect of the simulated motion.
Figure 112008030934292-pat00004
You can initially adjust the degree of follow-throw effect by increasing or decreasing.

118단계에서 후처리부(74)는 116단계에서 혼합된 모션 정보를 이용하여 과장 영상을 생성한다. 118단계는 크게 두 단계로 구분된다. 첫 번째 단계는 부관절들의 방향 정보를 계산하는 것이고, 두 번째 단계는 스킨 정보를 생성하는 것이다. 116단계의 혼합을 통해 얻어지는 모션 정보는 각 관절에 따른 위치 정보를 포함한다. 이러한 모션 정보는 위치 정보와 방향 정보를 갖는 일반적인 골격 모델(skeleton model)로 변환되어야 한다. 부관절에 따른 방향 정보를 계산하는 방법으로는, 예를 들어 원래 관절의 위치에 위치하는 부관절들의 방향을 계산하고, 이 방향들을 가능 하면 원래 관절의 방향에 유사하게 조절한 후, 상기 계산한 부관절들 간의 슬럽 내삽(Slerp interpolation)을 이용하여 다른 부관절들의 방향을 결정하는 방법이 있다.In step 118, the post processor 74 generates an exaggerated image using the mixed motion information in step 116. Step 118 is largely divided into two steps. The first step is to calculate the orientation information of the joints, and the second step is to generate the skin information. The motion information obtained through the mixing of step 116 includes position information for each joint. Such motion information should be converted into a general skeleton model having position information and direction information. As a method of calculating the direction information according to the joint, for example, the direction of the joints located at the position of the original joint is calculated, and if possible, the directions are adjusted similarly to the direction of the original joint, and then the calculated There is a method of determining the direction of other joints by using slip interpolation between the joints.

한편 최종적인 영상을 생성하기 위해서는 스킨 정보가 필요한데, 본 실시예의 경우 과장 프로세스에 따라 새로운 관절 구조가 생성되었기 때문에, 과장 이전의 골격 모델로 캐릭터를 생성하는데 사용되는 스킨 정보(Skinning information)을 단순히 사용할 수는 없다. 따라서, 원래의 스킨 정보를 변형하여 변환된 관절 구조에 맞는 스킨 정보를 생성하는 것이 바람직하다. On the other hand, skin information is required to generate the final image. In this embodiment, since a new joint structure is generated according to an exaggeration process, skin information used to generate a character using a skeleton model before exaggeration is simply used. There is no number. Therefore, it is desirable to generate the skin information corresponding to the converted joint structure by modifying the original skin information.

이하 부관절의 구조에 맞는 스킨 정보 생성 방법에 대하여 구체적으로 설명한다. 원래의 관절 Jk가 가중치 ωυ,k를 갖는 스킨 매쉬 버텍스(skin mesh vertex) υ에 할당된다고 가정하고, 또한 본 실시예에 따른 과장을 통해 원래의 관절이 부관절 J'k , l (1 ≤ l ≤ mk)로 분할된다고 가정할 수 있다. 원래의 가중치 ωv,k는 메쉬 버텍스 υ와 부관절들을 연결하는 라인 세그먼트(line segment) 사이의 거리에 반비례하도록 새로운 가중치 ω'v,k,l로 재분배된다.Hereinafter, a method of generating skin information suitable for the structure of the subjoint will be described in detail. Assume that the original joint J k is assigned to a skin mesh vertex υ having a weight ω υ, k , and through exaggeration according to the present embodiment, the original joint is connected to the joint J ' k , l (1 ≤ l ≤ m k ). The original weight ω v, k is redistributed with the new weight ω ' v, k, l so as to be inversely proportional to the distance between the mesh vertex υ and the line segment connecting the joints.

도 9는 스킨 정보 생성과 관련하여 고양이 캐릭터에서 가중치를 재분배하는 예를 나타낸 것이다. 좌측은 원래의 가중치를 나타낸 것이다. 우측은 과장 이후 생성된 부관절 구조에 따라 변경된 가중치를 나타낸 것이다. 메쉬 각각의 버텍스 색깔은 그 버텍스에 할당된 관절의 색깔을 소정의 가중치로 혼합시킴으로써 결정될 수 있다.9 illustrates an example of redistributing weights in a cat character in relation to skin information generation. The left side shows the original weights. The right side shows the weight changed according to the structure of the joints generated after the exaggeration. The vertex color of each mesh can be determined by mixing the color of the joint assigned to that vertex with a predetermined weight.

도 10은 본 발명의 알고리즘에 따라 고양이 캐릭터가 과장되는 예를 나타내는 참고도이다. 도 10에서 제 1 행은 과장되지 않은 원래의 모션 캡처 정보에 따른 캐릭터 영상이다. 제 2 행은 질량-용수철 시뮬레이션을 하지 않고, RJG 포지셔닝을 통해 과장시킨 모션 캡처 정보에 따른 캐릭터 영상이다. 제 3 행은 질량-용수철 시뮬레이션과 혼합(blending)을 더욱 적용시킨 모션 캡처 정보에 따른 캐릭터 영상이다. 도 10을 통하여 확인할 수 있듯이, 제 2 행과 제 3 행의 캐릭터 영상은 고무 형태로 부드럽게 과장된 영상이다. 특히 제 3 행의 캐릭터 영상은 결과적인 모션을 보다 역동적이고 흥미로우며, 좀더 카툰 영상에 적합하다. 또한, 무릎 부근에서의 혼합에 따른 결과 영상은 바람직하지 못하게도 보일 수 있으나, 한편으로 이러한 과장은 일종의 "관절 파괴" 기법으로 볼 수 있다.10 is a reference diagram illustrating an example in which a cat character is exaggerated according to the algorithm of the present invention. In FIG. 10, the first row is a character image according to original motion capture information that is not exaggerated. The second row is a character image according to motion capture information exaggerated through RJG positioning without mass-spring simulation. The third row is the character image according to the motion capture information further applying mass-spring simulation and blending. As can be seen through FIG. 10, the character images of the second row and the third row are softly exaggerated images in a rubber form. In particular, the third row of character images makes the resulting motion more dynamic and interesting, and more suitable for cartoon images. In addition, the resulting image due to mixing in the vicinity of the knee may appear undesirably, while this exaggeration can be seen as a kind of "joint fracture" technique.

상술한 본 발명의 알고리즘을 각각의 프레임에 대하여 수행하기 위해 소요되는 시간은 다음과 같은 실험을 통해 계산될 수 있다. 2Gb의 메모리를 가진 2.13GHz 인텔 코어2 CPU를 이용하여 커브 외삽, 질량-용수철 시뮬레이션, 혼합(blending) 및 후처리에 필요한 시간을 계산해본 결과, 걷는 동작의 캐릭터 영상의 경우 프레임당 약 12.10ms(millisecond), 뛰는 동작의 캐릭터 영상의 경우 약 6.22ms, 발로 차는 동작의 캐릭터 영상의 경우 약 13.21ms, 코사크(cossack) 동작의 캐릭터 영상의 경우 12.11ms가 소요되는 등 본 발명에 따른 알고리즘에 소요되는 시간은 양호하기 때문에 실시간 영상의 과장에도 활용되기에 적합하다.The time required to perform the above-described algorithm of the present invention for each frame may be calculated through the following experiment. Using a 2.13GHz Intel Core 2 CPU with 2Gb of memory, we calculated the time required for curve extrapolation, mass-spring simulation, blending, and post-processing. millisecond), about 6.22 ms for the character image of the jumping motion, about 13.21 ms for the character image of the kicking motion, and 12.11 ms for the character image of the cossack motion. Since the time is good, it is suitable to be used for exaggeration of real-time video.

한편 본 발명의 과장 영상 생성 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기 록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.On the other hand, the exaggerated image generation method of the present invention can be implemented in a computer-readable code on a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트 들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which may be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로, 상기 개시된 실시예 들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will understand that the present invention can be embodied in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown not in the above description but in the claims, and all differences within the scope should be construed as being included in the present invention.

본 발명의 과장 영상 생성 방법 및 시스템은 기존의 모션 과장 기술에 비하여 캐릭터의 모션을 신체 부위에 따라 자유롭게 과장할 수 있고, 고무 형태로 휘어지는 유연하고 역동적인 모션을 갖는 과장 영상을 생성할 수 있기 때문에, 다양한 표현이 요구되는 카툰 애니메이션 분야와 컴퓨터 게임의 캐릭터 애니메이션 분야에 직접적으로 사용될 수 있다. 또한, 본 발명의 과장 영상 생성 방법은 3D 그래픽스 프로그램의 플러그인 형태로 제작될 수 있다.Exaggerated image generation method and system of the present invention can freely exaggerate the motion of the character according to the body part compared to the existing motion exaggeration technology, and can produce an exaggerated image having a flexible and dynamic motion bent in the form of rubber It can be used directly in the field of cartoon animation where various expressions are required and character animation in computer games. In addition, the exaggerated image generation method of the present invention can be produced in the form of a plug-in of the 3D graphics program.

도 1은 본 발명의 과장 영상 생성 알고리즘을 설명하기 위한 개념도이다.1 is a conceptual diagram for explaining an exaggerated image generation algorithm of the present invention.

도 2는 본 발명의 일 실시예에 따른 과장 영상 생성 시스템을 나타내는 블록도이다.2 is a block diagram illustrating an exaggerated image generating system according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 과장 영상 생성 방법을 나타내는 흐름도이다.3 is a flowchart illustrating a method of generating an exaggerated image according to an embodiment of the present invention.

도 4는 궤적 과장을 이용하여 던지는 모션을 과장하는 개념을 설명하는 참고도이다.4 is a reference diagram illustrating a concept of exaggerating a throwing motion using a trajectory exaggeration.

도 5는 104단계를 통해 과장된 모션 정보를 수정하는 알고리즘을 나타낸다.5 illustrates an algorithm for modifying exaggerated motion information in step 104.

도 6은 도 5의 알고리즘을 반복 수행함에 따라 과장된 모션이 수정되는 것을 보여주는 예이다.6 illustrates an example in which an exaggerated motion is modified by repeatedly performing the algorithm of FIG. 5.

도 7은 108단계에서 부관절 구조를 생성하는 일 예를 나타내는 참고도이다.FIG. 7 is a reference diagram illustrating an example of generating a joint structure in step 108.

도 8은 110단계와 112단계의 고무-관절 그루핑과 커브 내삽을 이용하여 부관절의 위치를 결정하는 예를 나타내는 참고도이다.FIG. 8 is a reference diagram illustrating an example of determining the position of the sub-joint using rubber joint jointing and curve interpolation in steps 110 and 112.

도 9는 고양이 캐릭터의 부관절 구조에 맞도록 가중치를 재분배하는 예를 나타낸 것이다.9 shows an example of redistributing weights to fit the cat joint structure of a cat character.

도 10은 본 발명의 알고리즘에 따라 고양이 캐릭터가 과장되는 예를 나타내는 참고도이다.10 is a reference diagram illustrating an example in which a cat character is exaggerated according to the algorithm of the present invention.

Claims (17)

애니메이션 캐릭터의 모션을 과장시킨 과장 영상 생성 방법에 있어서,In the exaggerated image generation method that exaggerated the motion of the animation character, a) 모션을 과장하고자 하는 애니메이션 캐릭터에 포함된 복수 개의 관절들에 대한 위치 정보 및 방향 정보를 포함하는 모션 정보를 입력받는 단계;a) receiving motion information including position information and direction information of a plurality of joints included in an animation character to exaggerate motion; b) 관절의 궤적을 기반으로 하는 관절의 위치 과장을 통해 상기 복수 개의 관절들에 대한 과장된 모션 정보를 생성하는 단계;b) generating exaggerated motion information for the plurality of joints by exaggerating the position of the joint based on the trajectory of the joint; c) 상기 과장된 모션 정보와 상기 a)단계에서 입력된 모션 정보를 이용하여, 서로 이웃하는 관절들 사이에 위치하는 부관절들에 대한 과장된 모션 정보를 생성하는 단계; 및c) using the exaggerated motion information and the motion information input in the step a), generating exaggerated motion information on sub-joints positioned between neighboring joints; And d) 상기 생성된 부관절들에 대한 과장된 모션 정보를 이용하여 과장 영상을 생성하는 단계를 포함하는 것을 특징으로 하는 과장 영상 생성 방법.d) generating an exaggerated image by using exaggerated motion information on the generated joints. 제 1 항에 있어서,The method of claim 1, 상기 b)단계의 과장에 따른 영상 왜곡을 방지하기 위하여, 서로 이웃하는 관절들 간의 링크 길이를 고려하여 상기 과장된 모션 정보를 수정함으로써 수정된 모션 정보를 생성하는 단계를 더 포함하며,Generating modified motion information by modifying the exaggerated motion information in consideration of link lengths between neighboring joints in order to prevent image distortion caused by exaggeration of step b), 상기 c)단계에서 상기 관절들에 대한 과장된 모션 정보를 이용하는 것은 상기 수정된 모션 정보를 이용하는 것을 특징으로 하는 과장 영상 생성 방법.And using the exaggerated motion information for the joints in step c) uses the modified motion information. 제 2 항에 있어서, 상기 c)단계는The method of claim 2, wherein c) c1) 상기 a)단계에서 입력된 상기 복수 개의 관절들 사이에 위치하며, 미리 결정된 기준에 따라 서로 인접하는 관절들 사이에 위치하는 부관절을 생성하는 단계; 및c1) generating a joint located between the plurality of joints input in step a) and positioned between adjacent joints according to a predetermined criterion; And c2) 상기 관절들에 대한 과장된 모션 정보 또는 상기 수정된 모션 정보와 상기 c1)단계에서 상기 부관절과 관련하여 사용된 상기 미리 결정된 기준을 이용하여 상기 부관절들에 대한 과장된 모션 정보를 생성하는 것을 특징으로 하는 과장 영상 생성 방법.c2) generating exaggerated motion information for the joints using the exaggerated motion information for the joints or the modified motion information and the predetermined criterion used in connection with the joint in step c1). Exaggerated image generation method characterized in that. 제 3 항에 있어서, The method of claim 3, wherein 상기 애니메이션 캐릭터에 포함되며 서로 인접하는 두 개의 관절들 중에서 상기 캐릭터의 중심측을 기준으로 상대적으로 내측에 위치한 관절을 부모 관절이라고 하고, 상대적으로 외측에 위치하는 관절을 자식 관절이라고 정의할 경우,In the case where two joints included in the animation character and adjacent to each other are defined as a parent joint, a joint located relatively inward with respect to the center side of the character, and a joint located relatively outward as a child joint. 상기 a)단계에서 입력된 복수개의 관절들 중에서 오로지 하나의 자식 관절을 갖는 부모 관절과 상기 자식 관절 간의 링크가 연속적으로 형성된 관절들을 그룹핑하는 단계; 및Grouping joints in which a link between the parent joint having only one child joint and the child joint is continuously formed among the plurality of joints input in step a); And 상기 그룹핑에 의해 하나의 그룹에 포함된 관절들에 대하여 커브 내삽(curve interpolation)을 통해 서로 이웃하는 관절들을 연결하는 함수를 추정하는 단계를 더 포함하고,Estimating a function of connecting joints neighboring each other through curve interpolation for joints included in one group by the grouping, 상기 c2)단계에서 상기 관절들에 대한 과장된 모션 정보 또는 상기 수정된 모션 정보를 이용하는 것은 상기 추정된 함수를 이용하는 것을 특징으로 하는 과장 영상 생성 방법.And using the exaggerated motion information or the modified motion information for the joints in step c2) uses the estimated function. 제 1 항에 있어서, The method of claim 1, 상기 b)단계에서 상기 관절의 궤적을 기반으로 하는 관절의 위치 과장은 커브 외삽(curve extrapolation)을 이용하는 것을 특징으로 하는 과장 영상 생성 방법.The exaggeration of the position of the joint based on the trajectory of the joint in step b) using curve extrapolation. 제 1 항에 있어서,The method of claim 1, 상기 관절의 궤적을 기반으로 하는 관절의 위치 과장은 시간 영역을 기준으로 상기 관절들의 위치 정보를 나타내는 함수와 상기 관절들의 위치에 따른 확률을 나타내는 확률 분포 모델 함수의 컨벌루션을 이용하는 것을 특징으로 하는 과장 영상 생성 방법.The exaggerated position of the joint based on the trajectory of the joint is an exaggerated image using a convolution of a function representing the position information of the joints based on a time domain and a probability distribution model function representing a probability according to the positions of the joints. How to produce. 제 3 항에 있어서, 상기 c2)단계에 이어According to claim 3, following the step c2) 상기 c2)단계를 통해서 생성된 상기 부관절들에 대한 과장된 모션 정보를 질량-용수철 시뮬레이션을 통해 수정하는 단계를 더 포함하며, 상기 질량-용수철 시뮬레이션은 상기 부관절들을 질점으로 취급하고, 서로 인접하는 부관절들 또는 관절과 부관절들 간에는 용수철의 힘이 작용하는 것으로 취급하는 것이고,And modifying the exaggerated motion information for the sub-joints generated through the step c2) through mass-spring simulation, wherein the mass-spring simulation treats the sub-joints as a quality point and is adjacent to each other. The joints or joints and joints are treated as the force of the spring, 상기 d)단계는 상기 질량-용수철 시뮬레이션에 따라 수정된 모션 정보를 이용하여 과장 영상을 생성하는 것을 특징으로 하는 과장 영상 생성 방법.In step d), the exaggerated image generating method is generated using the motion information modified according to the mass-spring simulation. 제 7 항에 있어서,The method of claim 7, wherein 상기 d)단계는 상기 질량-용수철 시뮬레이션에 따라 수정된 모션 정보와 상 기 c)단계에서 생성된 부관절들에 대한 과장된 모션 정보를 소정의 가중치 함수에 따라 혼합하고, 상기 혼합된 모션 정보를 이용하여 과장 영상을 생성하는 것을 특징으로 하는 과장 영상 생성 방법.Step d) mixes the motion information modified according to the mass-spring simulation with the exaggerated motion information for the sub-joints generated in step c) according to a predetermined weight function and uses the mixed motion information. Exaggerating image generation method, characterized in that for generating an exaggerated image. 제 8 항에 있어서,The method of claim 8, 상기 질량-용수철 시뮬레이션은 상기 애니메이션 캐릭터의 모션이 시작되거나 끝나는 시간에서의 포즈인 익스트림 포즈(extreme poses)를 갖는 프레임에 시간적으로 후행하는 프레임에 속해있는 캐릭터에 대하여 수행되며, 상기 가중치 함수는 상기 익스트림 포즈를 갖는 프레임과의 시간 거리가 가까울수록 상기 질량-용수철 시뮬레이션에 따라 수정된 모션 정보에 더 큰 가중치 값을 부여하는 것을 특징으로 하는 과장 영상 생성 방법.The mass-spring simulation is performed on a character belonging to a frame temporally trailing a frame with extreme poses, which is a pose at a time at which the animation character's motion begins or ends, and the weight function The closer the time distance to the frame having a pose is, the greater weight value is assigned to the motion information modified according to the mass-spring simulation. 제 1 항 내지 제 9 항 중에서 선택된 어느 한 항에 따른 과장 영상 생성 방법을 컴퓨터 상에서 수행하기 위한 프로그램이 기록된 컴퓨터에서 판독가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for executing an exaggerated image generating method according to any one of claims 1 to 9 on a computer. 애니메이션 캐릭터의 모션을 과장시킨 과장 영상 생성 시스템에 있어서,In the exaggerated image generation system that exaggerated the motion of the animation character, 모션을 과장하고자하는 애니메이션 캐릭터에 포함된 복수개의 관절들에 대한 위치 정보 및 방향 정보를 포함하는 모션 정보를 입력받는 입력부;An input unit for receiving motion information including position information and direction information of a plurality of joints included in an animation character to exaggerate motion; 관절의 궤적을 기반으로 하는 관절의 위치 과장을 통해 상기 복수 개의 관절들에 대한 과장된 모션 정보를 생성하는 모션 과장부;A motion exaggeration unit configured to generate exaggerated motion information for the plurality of joints through exaggerated position of the joint based on a trajectory of the joint; 상기 과장된 모션 정보와 상기 입력부를 통해 입력된 모션 정보를 이용하여, 서로 이웃하는 관절들 사이에 위치하는 부관절들에 대한 과장된 모션 정보를 생성하는 부관절 모션 과장부 및A limb joint motion exaggeration unit for generating exaggerated motion information on sub-joints positioned between adjacent joints by using the exaggerated motion information and the motion information input through the input unit; 상기 생성된 부관절들에 대한 과장된 모션 정보를 이용하여 과장 영상을 생성하는 과장 영상 생성부를 포함하는 것을 특징으로 하는 과장 영상 생성 시스템.And an exaggerated image generating unit configured to generate an exaggerated image using the exaggerated motion information on the generated joints. 제 11 항에 있어서,The method of claim 11, 상기 모션 과장부에서의 상기 관절의 위치 과장에 따른 영상 왜곡을 방지하기 위하여, 서로 이웃하는 관절들 간의 링크 길이를 고려하여 상기 관절들에 대한 과장된 모션 정보를 수정함으로써 수정된 모션 정보를 생성하는 모션 수정부를 더 포함하며,In order to prevent image distortion caused by exaggeration of the position of the joint in the motion exaggeration, a motion for generating modified motion information by modifying exaggerated motion information for the joints in consideration of link lengths between adjacent joints Further includes a correction part, 상기 부관절 모션 과장부는 상기 수정된 모션 정보를 더욱 이용하여 부관절의 모션 정보를 생성하는 것을 특징으로 하는 과장 영상 생성 시스템.The exaggerated motion exaggeration unit generates the exaggerated motion information further using the modified motion information. 제 12 항에 있어서, 상기 부관절 모션 과장부는 The method of claim 12, wherein the ligament motion exaggeration 상기 입력된 모션 정보와 미리 결정된 기준에 따라 서로 인접하는 관절들 사이에 위치하는 부관절을 정의하는 부관절 결정부; 및A joint arranging unit defining a joint located between joints adjacent to each other according to the input motion information and a predetermined criterion; And 상기 관절들에 대한 과장된 모션 정보 또는 상기 수정된 모션 정보와 상기 부관절을 정의하기 위해 사용되는 상기 미리 결정된 기준을 이용하여 상기 부관절들에 대한 과장된 모션 정보를 생성하는 부관절 모션 정보 생성부를 포함하는 것을 특징으로 하는 과장 영상 생성 시스템.A joint motion information generation unit configured to generate exaggerated motion information for the joints using the exaggerated motion information for the joints or the modified motion information and the predetermined criterion used to define the joint. Exaggerated image generation system, characterized in that. 제 13 항에 있어서, The method of claim 13, 상기 애니메이션 캐릭터에 포함되며 서로 인접하는 두 개의 관절들 중에서 상기 캐릭터의 중심측을 기준으로 상대적으로 내측에 위치한 관절을 부모 관절이라고 하고, 상대적으로 외측에 위치하는 관절을 자식 관절이라고 정의할 경우,In the case where two joints included in the animation character and adjacent to each other are defined as a parent joint, a joint located relatively inward with respect to the center side of the character, and a joint located relatively outward as a child joint. 상기 부관절 모션 과장부는 The ligament motion exaggeration 상기 입력부를 통해 입력된 복수개의 관절들 중에서 오로지 하나의 자식 관절을 갖는 부모 관절과 상기 자식 관절 간의 링크가 연속적으로 형성된 관절들을 그룹핑하는 그룹핑부 및A grouping unit for grouping joints in which a link between the parent joint having one child joint and the child joint is continuously formed among a plurality of joints input through the input unit; 상기 그룹핑에 의해 하나의 그룹에 포함된 관절들에 대하여 커브 내삽(curve interpolation)을 통해 서로 이웃하는 관절들을 연결하는 함수를 추정하는 함수 추정부를 더 포함하며, And a function estimator for estimating a function of connecting joints neighboring each other through curve interpolation for joints included in one group by the grouping. 상기 부관절 모션 정보 생성부는 상기 관절들에 대한 과장된 모션 정보 또는 상기 수정된 모션 정보를 이용하는 것은 상기 추정된 함수를 이용하는 것을 특징으로 하는 과장 영상 생성 시스템.And using the exaggerated motion information or the corrected motion information for the joints using the estimated function. 제 11 항에 있어서, 상기 관절의 궤적을 기반으로 하는 관절의 위치 과장은 커브 외삽(curve extrapolation)을 이용하는 것을 특징으로 하는 과장 영상 생성 시스템.12. The exaggerated image generating system of claim 11, wherein the exaggeration of the position of the joint based on the trajectory of the joint uses curve extrapolation. 제 11 항에 있어서,The method of claim 11, 상기 부관절 모션 정보 생성부에서 생성된 과장된 모션 정보를 질량-용수철 시뮬레이션을 통해 수정하는 질량-용추철 시뮬레이션부를 더 포함하고, 상기 질량-용수철 시뮬레이션부는 상기 부관절들을 질점으로 취급하고, 서로 인접하는 부관절들 또는 관절과 부관절들 간에는 용수철의 힘이 작용하는 것으로 취급하여 시뮬레이션을 수행하며,The mass-spring coil simulation unit may further modify the exaggerated motion information generated by the joint-joint motion information generating unit through mass-spring simulation, and the mass-spring simulation unit treats the joints as a material point and is adjacent to each other. Simulates the joints or joints and joints as if the force of the spring is acting. 상기 과장 영상 생성부는 상기 질량-용수철 시뮬레이션에 따라 수정된 모션 정보를 이용하여 과장 영상을 생성하는 것을 특징으로 하는 과장 영상 생성 시스템.And the exaggerated image generating unit generates an exaggerated image using the motion information modified according to the mass-spring simulation. 제 16 항에 있어서,The method of claim 16, 상기 과장 영상 생성부는 상기 질량-용수철 시뮬레이션에 따라 수정된 모션 정보와 상기 부관절 모션 과장부에서 생성된 부관절들에 대한 과장된 모션 정보를 소정의 가중치 함수에 따라 혼합하고, 상기 혼합된 모션 정보를 이용하여 과장 영상을 생성하는 것을 특징으로 하는 과장 영상 생성 시스템.The exaggerated image generating unit mixes the motion information modified according to the mass-spring simulation with the exaggerated motion information for the sub-joints generated in the sub-joint motion exaggeration according to a predetermined weight function, and mixes the mixed motion information. Exaggerated image generation system, characterized in that for generating an exaggerated image.
KR1020080039972A 2008-04-29 2008-04-29 Method and system for creating exaggeration image using rubber-like exaggeration algorithm KR100945037B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080039972A KR100945037B1 (en) 2008-04-29 2008-04-29 Method and system for creating exaggeration image using rubber-like exaggeration algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080039972A KR100945037B1 (en) 2008-04-29 2008-04-29 Method and system for creating exaggeration image using rubber-like exaggeration algorithm

Publications (2)

Publication Number Publication Date
KR20090114169A KR20090114169A (en) 2009-11-03
KR100945037B1 true KR100945037B1 (en) 2010-03-05

Family

ID=41555431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080039972A KR100945037B1 (en) 2008-04-29 2008-04-29 Method and system for creating exaggeration image using rubber-like exaggeration algorithm

Country Status (1)

Country Link
KR (1) KR100945037B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107170029B (en) * 2017-05-10 2018-03-13 广州梦映动漫网络科技有限公司 A kind of display methods, storage device and the electronic equipment of the combination of animation role material
KR102237090B1 (en) * 2018-12-24 2021-04-07 한국전자기술연구원 Method of Rigging Compensation for 3D Object Composed of Two Links
KR102589194B1 (en) * 2023-02-07 2023-10-13 (주)로코모스튜디오 Motion cover method, apparatus, and system for linking animation data between different characters in a compatible manner

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10208072A (en) 1996-11-19 1998-08-07 Namco Ltd Skeleton model shape deforming method, picture composing device, and information storage medium
JPH11224351A (en) 1996-11-19 1999-08-17 Namco Ltd Shape deforming method for skelton model, image composing device and information storage medium
KR20020089460A (en) * 2001-02-13 2002-11-29 가부시키가이샤 세가 Animation creation program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10208072A (en) 1996-11-19 1998-08-07 Namco Ltd Skeleton model shape deforming method, picture composing device, and information storage medium
JPH11224351A (en) 1996-11-19 1999-08-17 Namco Ltd Shape deforming method for skelton model, image composing device and information storage medium
KR20020089460A (en) * 2001-02-13 2002-11-29 가부시키가이샤 세가 Animation creation program

Also Published As

Publication number Publication date
KR20090114169A (en) 2009-11-03

Similar Documents

Publication Publication Date Title
Kähler et al. Geometry-based muscle modeling for facial animation
JP7061238B2 (en) Reinforcement learning to train characters using heterogeneous target animation data
Capell et al. Physically based rigging for deformable characters
KR101796190B1 (en) Apparatus and method for generating digital clone
Sueda et al. Musculotendon simulation for hand animation
US8830269B2 (en) Method and apparatus for deforming shape of three dimensional human body model
JP4972734B2 (en) Musculoskeletal shape skinning
US8379029B2 (en) Looping motion space registration for real-time character animation
KR20100072745A (en) Method for constructing motion-capture database and method for motion synthesis by using the motion-capture database
Roussellet et al. Dynamic implicit muscles for character skinning
KR100945037B1 (en) Method and system for creating exaggeration image using rubber-like exaggeration algorithm
Chaudhry et al. Dynamic skin deformation using finite difference solutions for character animation
Zhang et al. Efficient Modeling of An Anatomy‐Based Face and Fast 3D Facial Expression Synthesis
Saito et al. Efficient and robust skin slide simulation
Hsieh et al. Motion retargeting and transition in different articulated figures
Kwon et al. Exaggerating Character Motions Using Sub‐Joint Hierarchy
Nebel Keyframe interpolation with self-collision avoidance
KR100319758B1 (en) Animation method for walking motion variation
Choi et al. Image morphing using mass-spring system
Zheng One-to-many: Example-based mesh animation synthesis
Kwon et al. Rubber-like exaggeration for character animation
Sanna et al. Virtual character animations from human body motion by automatic direct and inverse kinematics-based mapping
Jiang et al. Animating arbitrary topology 3D facial model using the MPEG-4 FaceDefTables
Choi et al. A fast overlap control in image morphing using mass-spring system
Pai et al. Eulerian solids for soft tissue and more

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121126

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150216

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160202

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170112

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180308

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190128

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200116

Year of fee payment: 11