KR100803211B1 - 애니메이션 재생 장치 및 방법 - Google Patents

애니메이션 재생 장치 및 방법 Download PDF

Info

Publication number
KR100803211B1
KR100803211B1 KR1020060039553A KR20060039553A KR100803211B1 KR 100803211 B1 KR100803211 B1 KR 100803211B1 KR 1020060039553 A KR1020060039553 A KR 1020060039553A KR 20060039553 A KR20060039553 A KR 20060039553A KR 100803211 B1 KR100803211 B1 KR 100803211B1
Authority
KR
South Korea
Prior art keywords
animation
unit
movement
animations
motion
Prior art date
Application number
KR1020060039553A
Other languages
English (en)
Other versions
KR20070034420A (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 US11/525,038 priority Critical patent/US7995065B2/en
Publication of KR20070034420A publication Critical patent/KR20070034420A/ko
Application granted granted Critical
Publication of KR100803211B1 publication Critical patent/KR100803211B1/ko

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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

애니메이션 재생 장치 및 방법이 개시된다. 소정 모델의 애니메이션을 재생하는 본 발명에 의한 애니메이션 재생 장치는, 미리 마련된 하나 이상의 상기 애니메이션을 재생하고자 하는 움직임에 상응하여 블렌딩하는 움직임 블렌딩부 및 상기 블렌딩된 결과를 렌더링하는 렌더링부를 포함하는 것이 바람직하다.

Description

애니메이션 재생 장치 및 방법{Apparatus and method for reproducing 3 dimension animation}
도 1은 본 발명에 의한 애니메이션 재생 장치를 설명하기 위한 블록도이다.
도 2a 내지 도 2d는 도 1에 도시된 저작부(110)의 동작을 설명하기 위한 참고도들이다.
도 3은 도 1에 도시된 움직임 블렌딩부(142)의 동작을 설명하기 위한 참고도이다.
도 4는 본 발명에 의한 애니메이션 재생 방법을 설명하기 위한 플로우챠트이다.
도 5는 도 4에 도시된 제410 단계에 대한 본 발명에 의한 바람직한 일 실시예(410A)를 설명하기 위한 플로우챠트이다.
도 6은 도 5에 도시된 제530 단계에 대한 본 발명에 의한 바람직한 일 실시예(530A)를 설명하기 위한 플로우챠트이다.
본 발명은 애니메이션(animation) 재생에 관한 것으로, 보다 상세하게는, 재 생하고자 하는 움직임을 나타내는 애니메이션이 미리 마련되어 있지 않더라도, 미리 마련된 하나 이상의 애니메이션을 그 움직임에 상응하여 블렌딩(blending)함으로써, 그 움직임을 나타내는 애니메이션을 생성 및 재생하는 애니메이션 재생 장치 및 방법에 관한 것이다.
사용자가 개인용 컴퓨터(PC : Personal Computer)를 통해 3차원 그래픽 게임을 즐기는 경우, 애니메이션(animation) 데이터는 모델별 및 움직임별로 그 개인용 컴퓨터에 미리 마련되어 있는 것이 일반적이다. 예컨대, 그 게임이, 사용자에 의해 이동이 제어되는 사람 형상의 모델 M이 어떠한 목적지를 찾아가는 게임이라면, 그 개인용 컴퓨터에는 m1, 및 m2라는 세 종류의 애니메이션 데이터가 미리 마련될 수 있다. 여기서, m1은 모델 M이 달리는 모습을 나타내는 애니메이션 데이터를 의미하고, m2는 모델 M이 걷는 모습을 나타내는 애니메이션 데이터를 의미한다.
이 경우, 어떠한 애니메이션 데이터가 재생될 것인가는 사용자가 그 개인용 컴퓨터에 마련된 키를 어떻게 조작하느냐에 따라 결정된다. 예컨대, 현재 재생 중인 애니메이션 데이터가 m2이고, 사용자가 모델 M이 달릴 것을 키 조작을 통해 그 개인용 컴퓨터에 지시한다면, 그 개인용 컴퓨터는 m1을 재생하기 시작한다.
이와 같이, 재생되는 애니메이션 데이터가 변경되는 경우, 모델 M의 움직임은 불연속적으로 변경된다고 육안상 인식될 수 있다. 결국, 종래의 애니메이션 재생 장치는, 재생되는 애니메이션 데이터가 변경될 경우, 그 재생되는 애니메이션 데이터가 나타내는 움직임이 부자연스럽게 변경될 수 있는 문제점을 갖는다. 한편, 이러한 문제점은 미리 마련된 애니메이션 데이터의 종류가 적을수록 두드러진다.
본 발명이 이루고자 하는 기술적 과제는, 재생하고자 하는 움직임을 나타내는 애니메이션이 미리 마련되어 있지 않더라도, 미리 마련된 하나 이상의 애니메이션을 그 움직임에 상응하여 블렌딩(blending)함으로써, 그 움직임을 나타내는 애니메이션을 생성 및 재생하는 애니메이션 재생 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 재생하고자 하는 움직임을 나타내는 애니메이션이 미리 마련되어 있지 않더라도, 미리 마련된 하나 이상의 애니메이션을 그 움직임에 상응하여 블렌딩(blending)함으로써, 그 움직임을 나타내는 애니메이션을 생성 및 재생하는 애니메이션 재생 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 재생하고자 하는 움직임을 나타내는 애니메이션이 미리 마련되어 있지 않더라도, 미리 마련된 하나 이상의 애니메이션을 그 움직임에 상응하여 블렌딩(blending)함으로써, 그 움직임을 나타내는 애니메이션을 생성 및 재생하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기 과제를 이루기 위해, 소정 모델의 애니메이션을 재생하는 본 발명에 의한 애니메이션 재생 장치는, 미리 마련된 하나 이상의 상기 애니메이션을 재생하고자 하는 움직임에 상응하여 블렌딩하는 움직임 블렌딩부 및 상기 블렌딩된 결과를 렌더링하는 렌더링부를 포함하는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 소정 모델의 애니메이션을 재생하는 본 발명 에 의한 애니메이션 재생 방법은, 미리 마련된 하나 이상의 상기 애니메이션을 재생하고자 하는 움직임에 상응하여 블렌딩하는 (a) 단계 및 상기 블렌딩된 결과를 렌더링하는 (b) 단계를 포함하는 것이 바람직하다.
상기 또 다른 과제를 이루기 위해, 소정 모델의 애니메이션을 재생하는 본 발명에 의한 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록매체는, 미리 마련된 하나 이상의 상기 애니메이션을 재생하고자 하는 움직임에 상응하여 블렌딩하는 (a) 단계 및 상기 블렌딩된 결과를 렌더링하는 (b) 단계를 수행하는 컴퓨터 프로그램을 저장하는 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 그 첨부 도면을 설명하는 내용을 참조하여야만 한다.
이하, 본 발명에 의한 애니메이션 재생 장치 및 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 의한 애니메이션 재생 장치를 설명하기 위한 블록도로서, 저작부(110), 압축부(112), 및 애니메이션 재생부(120)를 포함한다.
저작부(110)는 각 종 애니메이션(animation)을 저작(authoring)한다. 이하, 애니메이션은 애니메이션 데이터를 의미한다. 여기서, 애니메이션은 2차원 애니메이션일 수도 있고, 3차원 애니메이션일 수도 있으나, 3차원 애니메이션인 것이 보다 바람직하다. 따라서, 3차원 애니메이션을 저작할 수 있는 각 종 저작 툴(tool)은 그러한 저작부(110)의 일 구현예가 될 수 있다. 디스크릿(discreet)사(社 )(http://www.discreet.com)의 3ds 맥스(Max)는 그러한 저작 툴의 일 례이다. 한편, 애니메이션은 시간의 함수이다.
저작부(110)는 모델별 및 움직임별로 애니메이션을 저작한다. 여기서, 모델이란, 사람, 물건을 포함한 임의의 물체를 의미한다. 이하, 설명의 편의상, 저작부(110)는 모델 A, B 각각마다 달리기, 걷기를 나타내는 애니메이션을 저작한다고 가정한다. 이 때, 모델 A, B 모두는 사람을 의미한다. 구체적으로, 저작부(110)는 a1, a2, b1, 및 b2를 저작한다. 여기서, a1은 모델 A가 달리는 모습을 나타내는 애니메이션이고, a2는 모델 A가 걷는 모습을 나타내는 애니메이션이다. 이와 비슷하게, b1은 모델 B가 달리는 모습을 나타내는 애니메이션이고, b2는 모델 B가 걷는 모습을 나타내는 애니메이션이다.
한편, 저작부(110)는 다양한 종류의 애니메이션을 저작할 수 있다. 예컨대, 저작부(110)는 강체(rigid body) 애니메이션을 저작할 수도 있고, 스킨(skin)/본(bone) 애니메이션을 저작할 수도 있고, 모핑(morphing) 모델을 저작할 수도 있다. 도 2a 내지 도 2d는 도 1에 도시된 저작부(110)의 동작을 설명하기 위한 참고도들이다. 구체적으로, 도 2a는 디스플레이된 강체 애니메이션의 일 례를 나타내고, 도 2b는 디스플레이된 스킨/본 애니메이션의 일 례를 나타내고, 도 2c는 디스플레이된 모핑 애니메이션의 일 례를 나타내고, 도 2d는 강체 애니메이션, 스킨/본 애니메이션, 또는 모핑 애니메이션의 외관을 이루는 버텍스(vertex)들을 나타낸다.
여기서, 강체 애니메이션이란 모델(200)을 하나 이상의 강체들로서 표현한 애니메이션을 의미한다. 즉, 강체 애니메이션은 모델(200)의 각 부분을 강체로서 표현한다. 그에 따라, 강체 애니메이션은 디스플레이되는 형상이 변형될 수 없다. 결국, 강체 애니메이션이란 모델(200)의 외관을 이루는 버텍스(vertex)들의 위치가 모델(200)의 소정 위치에 대해 고정되어 있는 애니메이션을 의미한다. 구체적으로, 강체 애니메이션이란 모델(200)의 각 부분의 외관을 이루는 버텍스들의 위치가 그 각 부분의 소정 위치 예를 들어, 무게 중심에 대해 고정되어 있는 애니메이션을 의미한다. 그러므로, 강체 애니메이션을 저작하는 저작부(110)는 모델(200)의 각 부분마다 '그 소정 위치' 및 '그 소정 위치에 대한 버텍스들의 위치'에 관한 정보를 저작한다.이 때, '그 소정 위치'에 관한 정보는 시간의 경과에 따라 내용이 달라질 수 있는 반면, '그 소정 위치에 대한 버텍스들의 위치'에 관한 정보는 언제나 일정하다. 도 2a에 도시된 바에 따르면, 모델(200)은 사람을 의미하며, 머리(212), 몸통(214), 좌완(216), 우완(218), 왼다리(220), 및 오른다리(222)로 이루어진다. 각각의 외관은 다수의 버텍스들로 이루어진다. 그러한 버텍스들은 다수의 다각형 예를 들어, 삼각형을 형성할 수 있다. 도 2a에 도시된 바에서, 머리(212)의 외관을 이루는 버텍스들은 머리(212)의 소정 위치 예를 들어, 무게 중심에 대해 위치가 고정되어 있다. 이는, 몸통(214), 좌완(216), 우완(218), 왼다리(220), 및 오른다리(222)에 대해서도 마찬가지이다. 나아가, 모델(200)의 각 부분간의 상대적인 위치도 고정되어 있다. 예컨대, 몸통(214)에 대한 머리(212)의 상대적인 위치는 언제나 고정되어 있다.
한편, 스킨/본 애니메이션이란 모델(200)의 각 부분마다 본(bone)이라는 일종의 골격을 내포한다고 간주하고, 그 각 부분이 본의 움직임에 따라 움직이도록 모델(200)을 표현한 애니메이션을 의미한다. 결국, 스킨/본 애니메이션이란 모델(200)의 외관 즉, 스킨(skin)을 이루는 버텍스들의 위치가 본의 움직임에 상응하여 변경되는 애니메이션을 의미한다. 구체적으로, 스킨/본 애니메이션이란 모델(200)의 각 부분의 외관을 이루는 버텍스들의 위치가 그 각 부분에 내포된 본(bone)의 움직임에 따라 변경되는 애니메이션을 의미한다. 그러므로, 스킨/본 애니메이션을 저작하는 저작부(110)는 모델(200)의 각 부분마다 '본의 위치(position) 및 그 본이 위치한 방향(orientation)' 및 '그 본에 대한 버텍스들의 위치'에 관한 정보를 저작한다. 이 때, '본의 위치 및 그 본이 위치한 방향'에 관한 정보는 시간의 경과에 따라 내용이 달라질 수 있는 반면, '그 본에 대한 버텍스들의 위치'에 관한 정보는 언제나 일정하다. 도 2b에 도시된 바에 따르면, 모델(200)은 머리(232), 몸통(236), 좌완(240), 우완(244), 왼다리(248), 및 오른다리(252)로 이루어진다. 각각의 외관은 물론, 다수의 버텍스들로 이루어진다. 한편, 각 부분(232, 236, 240, 244, 248, 또는 252)은 내부에 본(234, 238, 242, 246, 250, 또는 254)을 갖는다. 도 2b에 도시된 바에 따르면, 머리(232)의 외관을 이루는 버텍스들의 위치는 머리(232)에 내포된 본(234)의 움직임에 상응하여 변경된다. 다만, 머리(232)의 외관을 이루는 버텍스들의 위치는 머리(232)에 내포된 본(234)에 대해서 고정적이다. 이는, 몸통(236), 좌완(240), 우완(244), 왼다리(248), 및 오른다리(252)에 대해서도 마찬가지이다.
모핑 애니메이션이란 모델(200)의 모든 외관을 이루는 버텍스들 각각을 정의한 애니메이션을 의미한다. 그러므로, 모핑 애니메이션을 저작하는 저작부(110)는 모델(200)의 모든 외관을 이루는 버텍스들 각각의 위치에 관한 정보를 저작한다. 이 때, 그 모든 외관을 이루는 버텍스들 각각의 위치에 관한 정보는 시간의 경과에 따라 내용이 달라질 수 있다. 도 2c에 도시된 바에 따르면, 모델(200)은 머리(262), 몸통(264), 좌완(266), 우완(268), 왼다리(270), 및 오른다리(272)로 이루어진다. 이 경우, 저작부(110)는 모든 부분(262, 264, 266, 268, 270, 272)의 외관을 이루는 버텍스들의 위치 모두를 시간의 함수로서 저작한다.
압축부(112)는 애니메이션을 압축하고, 압축된 결과를 애니메이션 재생부(120)로 출력한다. 확장자가 sab인 파일은 그러한 압축된 결과의 일 례이다.
애니메이션 재생부(120)는 애니메이션을 재생한다. 본 발명에 의한 애니메이션 재생 장치는 이러한 애니메이션 재생부(120)로서 구현된다. 여기서, 애니메이션 재생부(120)는 복원부(122), 저장부(124), 움직임 결정부(126), 검색부(128), 움직임 블렌딩부(134), 애니메이션 제공부(136), 렌더링부(138), 및 표시부(140)를 포함한다.
애니메이션 재생부(120)가 재생하는 애니메이션은, 강체 애니메이션일 수도 있고, 스킨/본 애니메이션일 수도 있고, 모핑 애니메이션일 수도 있다.
한편, 애니메이션 재생부(120)가 재생하는 애니메이션은, 영화나 녹화된 공연 실황과 같이 사용자가 감상할 용도로만 제작된 애니메이션이 아니다. 즉, 애니메이션 재생부(120)가 재생하는 애니메이션은 당초 설정된 하나의 내용으로만 재생되는 애니메이션이 아니다. 애니메이션 재생부(120)가 재생하는 애니메이션은 사용자의 키 조작된 결과에 상응하여 결정되는 애니메이션이다. 예컨대, 애니메이션 재 생부(120)가 모델 B의 애니메이션으로서 b1을 재생하는 도중, 사용자가 키 조작을 통해 b2의 재생을 지시하면, 애니메이션 재생부(120)는 b2를 재생하게 된다. 이 경우, 애니메이션 재생부(120)는 b1의 재생을 종료한 직후 b2를 재생하지 않고, 달리는 동작에서 걷는 동작으로의 변경이 점진적으로 이루어지도록, b1의 재생을 종료한 직후 b1과 b2를 이용하여 b1'를 생성하고 그 생성된 b1'를 재생한다. 이 때, 생성되는 b1'는 b1과 b2가 각각 소정 비율로 반영된 애니메이션을 의미하고, 애니메이션 재생부(120)는 b1'에 반영된 b1의 비율이 시간이 경과함에 따라 점진적으로 감소하도록, b1'를 생성하고 재생한다. 그에 따라, 애니메이션 재생부(120)는 재생되는 b1'에 반영된 b1의 비율이 0%가 될 때에 비로소, b2를 재생하기 시작한다. 이러한, 애니메이션 재생부(120)의 동작은 복원부(122) 내지 표시부(140) 특히, 움직임 블렌딩부(134)의 동작을 설명하며 보다 구체적으로 개시한다.
복원부(122)는 압축부(112)로부터 입력된 그 압축된 애니메이션을 복원한다. 확장자가 m3d인 파일은 그러한 복원된 결과의 일 례이다. 하나 이상의 그 압축된 애니메이션은 복원부(122)에 하나씩 순차적으로 입력될 수도 있고, 여럿이 함께 입력될 수도 있다.
저장부(124)는 그 복원된 애니메이션을 임시로 저장하며, 일종의 캐쉬(cache)로서 기능할 수 있다. 구체적으로, 이전에 한 번이라도 복원된 바 있는 애니메이션은 저장부(124)에 저장된다. 이로써, 복원부(122)는 이전에 복원한 바 있는 애니메이션의 경우, 다시 반복하여 복원할 필요가 없다.
한편, 애니메이션 재생부(120)에 주어지는 애니메이션은 압축된 애니메이션 일 수도 있고, 압축되지 않은 애니메이션일 수도 있다. 즉, 저작부(110)가 저작한 애니메이션은 압축부(112)를 거쳐 애니메이션 재생부(120)에 제공될 수도 있고, 압축부(112)를 거치지 않고 애니메이션 재생부(120)에 제공될 수도 있다. 만일, 압축되지 않은 애니메이션이 애니메이션 재생부(120)에 주어질지라도, 저장부(124)는 그 주어진 애니메이션을 저장한다.
움직임 결정부(126)는 입력단자 IN 1을 통해 입력된 '사용자의 키 조작된 결과'에 상응하여, 애니메이션 재생부(120)를 통해 '재생하고자 하는 움직임'을 결정한다. 여기서, 키는 사용자의 의도를 전기적인 신호로 변경할 수 있는 임의의 인터페이스(interface)를 의미한다. 예를 들어, 애니메이션 재생부(120)가 개인용 컴퓨터(PC : Personal Computer)에 마련된다면, 키는 그 개인용 컴퓨터에 구비된 키보드의 키들을 의미할 수도 있고, 그 개인용 컴퓨터에 연결된 유/무선 마우스를 의미할 수도 있고, 그 개인용 컴퓨터와 무선으로 연결된 조이스틱(joystick)을 의미할 수도 있고, 그 개인용 컴퓨터에 구비된 터치 스크린(touch screen)을 의미할 수도 있다.
한편, 그 결정된 움직임은 미리 마련된 하나 이상의 애니메이션이 나타내는 움직임들 중 하나의 움직임일 수도 있고, 그 미리 마련된 하나 이상의 애니메이션이 나타내는 움직임들 이외의 움직임일 수도 있다. 예컨대, 그 결정된 움직임은 달리기, 및 걷기 중 하나일 수도 있고, 달리기와 걷기가 각각 20%, 80%의 비율로 섞인 움직임일 수도 있다.
움직임 결정부(126)는 그 키 조작된 결과가 '재생되는 애니메이션의 변경'을 요구하는 경우, 시간의 경과에 따른 움직임이 육안상 연속적으로 인식될 수 있도록, 그 재생하고자 하는 움직임을 결정한다. 예컨대, 애니메이션 재생부(120)가 현재 재생 중인 애니메이션이 b1이고, 그 키 조작된 결과는 b2의 재생을 지시한다면, 애니메이션 재생부(120)는 모델 B의 디스플레이되는 움직임이 달리기에서 걷기로 점진적으로 변경되도록, 달리기, 달리기와 걷기가 각각 90%, 10%의 비율로 섞인 움직임, 달리기와 걷기가 각각 70%, 30%의 비율로 섞인 움직임, 달리기와 걷기가 각각 50%, 50%의 비율로 섞인 움직임, 달리기와 걷기가 각각 30%, 70%의 비율로 섞인 움직임, 달리기와 걷기가 각각 10%, 90%의 비율로 섞인 움직임, 걷기 각각을 순차적으로 결정할 수 있다.
만일, 키 조작이 없거나, 키 조작이 있더라도 그 키 조작이 '재생의 일시정지', '일시정지 해제'와 같이, '재생되는 애니메이션의 변경'을 요구하는 키 조작이 아니라면, 움직임 결정부(126)는 현재 재생 중인 애니메이션의 움직임이 그 '재생하고자 하는 움직임'이라고 결정할 수도 있고, 아무런 동작을 하지 않을 수도 있다.
한편, 움직임 결정부(126)는 각각의 그 결정된 움직임을, 후술할 검색부(128)에 알린다. 이 때, 움직임 결정부(126)는 각각의 그 결정된 움직임을, 후술할 움직임 블렌딩부(134)에도 알릴 수 있다.
검색부(128)는 그 '재생하고자 하는 움직임'에 상응하는 하나 이상의 애니메이션을 저장부(124)에서 검색한다. 예컨대, 그 결정된 움직임이 달리기와 걷기가 각각 70%, 30%의 비율로 섞인 움직임이라면, 검색부(128)는 b1과 b2를 저장부(124) 에서 검색한다. 만일, 그 결정된 움직임이 걷기라면, 검색부(128)는 b2를 저장부(124)에서 검색한다. 이러한 검색부(128)는 검사부(130) 및 독출부(132)로 이루어지는 바, 이하, 검색부(128)의 동작을 보다 구체적으로 개시한다.
검사부(130)는 저장부(124)에 저장된 애니메이션마다, 그 저장된 애니메이션이 그 결정된 움직임에 상응하는지 검사한다. 한편, 저장부(124)에 저장되는 애니메이션은 최저사용빈도(LRU : Least Recently Used) 방식을 이용하여 관리되는 것이 바람직하다. 즉, 검사부(130)는 최근에 검색된 애니메이션일수록 먼저 검사하는 것이 바람직하다.
만일, 그 저장된 애니메이션이 그 결정된 움직임에 상응한다고 검사되면, 검사부(130)는 독출제어신호를 생성 및 출력한다. 한편, 독출부(132)는 독출제어신호에 응답하여 그 저장된 애니메이션을 그 검색된 애니메이션으로서 출력한다.
그 저장된 애니메이션이 그 결정된 움직임에 상응하는지의 여부에 대한 검사가, 그 저장된 애니메이션 모두에 대해 완료되면, 검사부(130)는 그 검색된 하나 이상의 애니메이션에 포함되지 않으며, 그 결정된 움직임에 상응하는 애니메이션이 존재하는가 검사한다.
만일, 그 검색된 하나 이상의 애니메이션에 포함되지 않으며, 그 결정된 움직임에 상응하는 애니메이션이 존재한다고 검사되면, 검사부(130)는 복원제어신호를 생성 및 출력한다. 이 경우, 복원부(132)는 복원제어신호에 응답하여 동작한다. 즉, 복원부(132)는 입력된 그 압축된 애니메이션 중 아직 복원되지 않은 애니메이션을 복원제어신호에 응답하여 복원한다.
움직임 블렌딩부(134)는 사용자가 키 조작을 통해 '재생 중인 애니메이션의 변경'을 요구하는 경우에 동작하며, 이 경우, 움직임 블렌딩부(134)는 검색된 하나 이상의 애니메이션을 그 결정된 움직임에 상응하여 블렌딩(blending)한다. 구체적으로, 움직임 블렌딩부(134)는 검색된 하나 이상의 애니메이션 각각에, 그 결정된 움직임에 상응하는 가중치(weight)를 승산하고, 승산된 결과들을 모두 가산한다. 도 3은 도 1에 도시된 움직임 블렌딩부(142)의 동작을 설명하기 위한 참고도(310)이다. 도 3에 도시된 바에서, 사용자는 시간(이하, t라 명명함)= t1일 때, 키 조작을 통해 b2의 재생을 지시한다. 이 경우, 애니메이션 재생부(120)는 t= t1직후부터 b2를 재생하지 않고, t= t2 (단, t2는 t2>t1)이후부터 b2를 재생한다. 이 경우, 움직임 블렌딩부(134)는 t1< t< t2 동안, 매 시점마다 b1과 b2가 각각 소정 비율로 반영된 애니메이션을 생성한다. 예컨대, 움직임 블렌딩부(134)는 t= ta일 때 b1*1.0 + b2*0.0라는 수식을 이용하여 애니메이션을 생성하고, t= tb일 때 b1*0.9 + b2*0.1라는 수식을 이용하여 애니메이션을 생성하고, t= tc일 때 b1*0.7 + b2*0.3라는 수식을 이용하여 애니메이션을 생성하고, t= td일 때 b1*0.5 + b2*0.5라는 수식을 이용하여 애니메이션을 생성하고, t= te일 때 b1*0.3 + b2*0.7라는 수식을 이용하여 애니메이션을 생성하고, t= tf일 때 b1*0.1 + b2*0.9라는 수식을 이용하여 애니메이션을 생성하고, t= tg일 때 b1*0.0 + b2*1.0라는 수식을 이용하여 애니메이션을 생성할 수 있다. 이 때, ta 내지 tg 간에는 t1< ta< tb< tc< td< te< tf< tg< t2의 관계가 존재한다.
애니메이션 제공부(136)는 움직임 블렌딩부(134)가 동작한 경우 움직임 블렌 딩부(134)로부터 그 블렌딩된 결과를 입력한다. 이와 비슷하게, 애니메이션 제공부(136)는 움직임 블렌딩부(134)가 동작하지 않은 경우 독출부(132)로부터 그 검색된 애니메이션을 입력한다.
애니메이션 제공부(136)는 입력한 애니메이션을 렌더링부(138)에 제공한다. 여기서, 그 입력한 애니메이션이란 그 블렌딩된 결과를 의미할 수도 있고, 그 검색된 애니메이션을 의미할 수도 있다.
렌더링부(138)는 애니메이션 제공부(136)로부터 제공된 애니메이션을 렌더링(rendering)한다. 여기서, 렌더링이란 일종의 시각화(visualization)를 의미한다.
표시부(140)는 그 렌더링된 결과를 디스플레이한다. 액정 판넬(LCD : Liquid Crystal Displayer)은 표시부(140)의 가능한 일 구현례이다.
도 4는 본 발명에 의한 애니메이션 재생 방법을 설명하기 위한 플로우챠트로서, 재생하고자 하는 움직임을 나타내는 애니메이션이 미리 마련되어 있지 않더라도, 미리 마련된 하나 이상의 애니메이션을 그 움직임에 상응하여 블렌딩함으로써, 그 움직임을 나타내는 애니메이션을 생성 및 재생하는 단계들(제410~ 420 단계들)로 이루어진다.
움직임 블렌딩부(134)는 미리 마련된 하나 이상의 애니메이션을, 표시부(140)를 통해 디스플레이하고자 하는 움직임에 상응하여 블렌딩한다(제410 단계). 여기서, 그 미리 마련된 애니메이션은 저작부(110)에서 저작된 애니메이션을 의미한다. 보다 구체적으로, 그 미리 마련된 애니메이션은 검색부(128)가 그 디스플 레이하고자 하는 움직임에 상응하는 애니메이션으로서 검색한 애니메이션을 의미한다.
제410 단계 후에, 렌더링부(138)는 제410 단계에서 블렌딩된 결과를 렌더링하고, 렌더링된 결과를 디스플레이한다(제420 단계).
도 5는 도 4에 도시된 제410 단계에 대한 본 발명에 의한 바람직한 일 실시예(410A)를 설명하기 위한 플로우챠트로서, 미리 마련된 하나 이상의 애니메이션을 재생하고자 하는 움직임에 상응하여 블렌딩하는 단계들(제510~ 540 단계들)로 이루어진다.
복원부(122)는 압축되어 주어지는 하나 이상의 애니메이션을 복원하고(제510 단계), 저장부(124)는 제510 단계에서 복원된 애니메이션을 저장한다(제520 단계).
검색부(128)는 제520 단계에서 저장된 애니메이션 중 그 디스플레이하고자 하는 움직임에 상응하는 하나 이상의 애니메이션을 검색한다(제530 단계).
제530 단계 후에, 움직임 블렌딩부(134)는 제530 단계에서 검색된 하나 이상의 애니메이션을 그 디스플레이하고자 하는 움직임에 상응하여 블렌딩한다(제540 단계).
도 6은 도 5에 도시된 제530 단계에 대한 본 발명에 의한 바람직한 일 실시예(530A)를 설명하기 위한 플로우챠트로서, 제520 단계에서 저장된 애니메이션 중 재생하고자 하는 움직임에 상응하는 애니메이션을 검색하는 단계들(제610~ 630 단계들) 및 그 검색된 애니메이션에 포함되지 않으며 그 재생하고자 하는 움직임에 상응하는 애니메이션이 존재하는가 판단하는 단계(제640 단계)로 이루어진다.
검사부(130)는 제520 단계에서 저장된 애니메이션이 그 디스플레이하고자 하는 움직임에 상응하는가 판단한다(제610 단계).
만일, 제610 단계에서 상응한다고 판단되면, 독출부(132)는 그 저장된 애니메이션을 그 검색된 애니메이션으로서 결정한다(제620 단계).
제620 단계 후에, 검사부(130)는 제520 단계에서 저장된 애니메이션 중, 제610 단계가 수행되지 않은 애니메이션이 존재하는가 판단한다(제630 단계). 이러한 제630 단계는 도시된 바와 같이 제620 단계가 수행된 후에 수행될 수도 있고, 도시된 바와 달리 제620 단계가 수행되기 전에 수행되거나 제620 단계와 동시에 수행될 수도 있다.
한편, 제610 단계에서 상응하지 않는다고 판단되면, 제630 단계로 진행한다.
또한, 제630 단계에서 존재한다고 판단되면, 제610 단계로 진행한다.
그에 반해, 제630 단계에서 존재하지 않는다고 판단되면, 검사부(130)는 제620 단계에서 결정된 하나 이상의 애니메이션에 포함되지 않으며, 그 디스플레이하고자 하는 움직임에 상응하는 애니메이션이 존재하는가 판단한다(제640 단계).
만일, 제640 단계에서 존재한다고 판단되면, 제510 단계로 진행한다. 그에 반해, 제640 단계에서 존재하지 않는다고 판단되면, 제540 단계로 진행한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브 (예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 애니메이션 재생 장치 및 방법은, 재생하고자 하는 움직임을 나타내는 애니메이션이 미리 마련되어 있지 않더라도, 미리 마련된 하나 이상의 애니메이션을 그 움직임에 상응하여 블렌딩(blending)함으로써, 그 움직임을 나타내는 애니메이션을 생성 및 재생하므로, 본 발명에 의하면, 미리 마련된 하나 이상의 애니메이션이 나타내는 움직임들에 존재하지 않는 새로운 움직임도 재생할 수 있다. 이로써, 본 발명에 의한 애니메이션 재생 장치 및 방법은, 현재 재생하는 움직임과 전혀 상이한 움직임을 재생하고자 할지라도, 재생되는 움직임이 그 전혀 상이한 움직임이 될 때까지 매끄럽게 변경되 도록 하여, 애니메이션을 보다 실감나게 재생하는 효과를 갖는다. 한편, 본 발명에 의한 애니메이션 재생 장치 및 방법은, 압축된 애니메이션도 실시간으로 복원하여 재생할 수 있으므로, 미리 마련되는 애니메이션를 위해 확보해야 할 저장 공간에 대한 부담을 경감시키는 효과도 갖는다. 나아가, 본 발명에 의한 애니메이션 재생 장치 및 방법은, 복원된 애니메이션을 임시로 저장하고, 그 저장된 애니메이션을 재생할 수 있어, 애니메이션을 보다 신속히 재생할 수 있다.

Claims (19)

  1. 소정 모델의 애니메이션을 재생하는 애니메이션 재생 장치에 있어서,
    상기 애니메이션 재생 장치에 압축되어 주어지는 하나 이상의 상기 애니메이션을 복원하는 복원부;
    상기 복원부에 의해 복원된 하나 이상의 상기 애니메이션을 재생하고자 하는 움직임에 상응하여 블렌딩하는 움직임 블렌딩부; 및
    상기 블렌딩된 결과를 렌더링하는 렌더링부를 포함하는 것을 특징으로 하는 애니메이션 재생 장치.
  2. 제1 항에 있어서, 상기 움직임 블렌딩부는 미리 마련된 하나 이상의 상기 애니메이션마다 상기 움직임에 상응하는 가중치를 승산하고, 승산된 결과를 모두 가산하고,
    상기 렌더링부는 상기 가산된 결과를 렌더링하는 것을 특징으로 하는 애니메이션 재생 장치.
  3. 삭제
  4. 제1 항에 있어서, 상기 애니메이션 재생 장치는
    복원된 상기 애니메이션을 저장하는 저장부; 및
    상기 움직임에 상응하는 하나 이상의 상기 애니메이션을 저장된 상기 애니메이션에서 검색하는 검색부를 더 포함하고,
    상기 움직임 블렌딩부는 검색된 상기 애니메이션을 상기 움직임에 상응하여 블렌딩하는 것을 특징으로 하는 애니메이션 재생 장치.
  5. 제4 항에 있어서, 상기 검색부는
    저장된 상기 애니메이션이 상기 움직임에 상응하는지 검사하고, 검사된 결과에 응답하여 독출제어신호를 생성하는 검사부; 및
    검사된 상기 애니메이션을 검색된 상기 애니메이션으로서 상기 독출제어신호에 응답하여 출력하는 독출부를 포함하고,
    상기 검사부는 최근에 검색된 상기 애니메이션일수록 먼저 검사하는 것을 특징으로 하는 애니메이션 재생 장치.
  6. 제5 항에 있어서, 상기 검사부는, 검색된 상기 애니메이션에 포함되지 않으며 상기 움직임에 상응하는 상기 애니메이션이 존재하는가 검사하고, 검사된 결과에 응답하여 복원제어신호를 생성하고,
    상기 복원부는 상기 복원제어신호에 응답하여 동작하는 것을 특징으로 하는 애니메이션 재생 장치.
  7. 제1 항에 있어서, 디스플레이되는 상기 렌더링된 결과가 시간의 경과에 따라 나타내는 움직임은 육안상 연속적으로 인식되는 것을 특징으로 하는 애니메이션 재생 장치.
  8. 제1 항에 있어서, 상기 애니메이션은 강체 애니메이션, 스킨(skin)/본(bone) 애니메이션, 또는 모핑(morphing) 애니메이션인 것을 특징으로 하는 애니메이션 재생 장치.
  9. 제1 항에 있어서, 상기 애니메이션 재생 장치는
    상기 렌더링된 결과를 디스플레이하는 표시부를 더 포함하는 것을 특징으로 하는 애니메이션 재생 장치.
  10. 소정 모델의 애니메이션을 재생하는 애니메이션 재생 방법에 있어서,
    (a) 압축되어 주어지는 하나 이상의 상기 애니메이션을 복원하고, 복원된 하나 이상의 상기 애니메이션을 재생하고자 하는 움직임에 상응하여 블렌딩하는 단계; 및
    (b) 상기 블렌딩된 결과를 렌더링하는 단계를 포함하는 것을 특징으로 하는 애니메이션 재생 방법.
  11. 제10 항에 있어서, 상기 (a) 단계는
    (a1) 미리 마련된 하나 이상의 상기 애니메이션마다 상기 움직임에 상응하는 가중치를 승산하는 단계; 및
    (a2) 상기 승산된 결과를 모두 가산하는 단계를 포함하고,
    상기 (b) 단계는 상기 가산된 결과를 렌더링하는 것을 특징으로 하는 애니메이션 재생 방법.
  12. 삭제
  13. 제10 항에 있어서, 상기 (a) 단계는
    (a1) 압축되어 주어지는 하나 이상의 상기 애니메이션을 복원하는 단계;
    (a2) 복원된 상기 애니메이션을 저장하는 단계;
    (a3) 상기 움직임에 상응하는 하나 이상의 상기 애니메이션을 저장된 상기 애니메이션에서 검색하는 단계; 및
    (a4) 검색된 상기 애니메이션을 상기 움직임에 상응하여 블렌딩하는 것을 특징으로 하는 애니메이션 재생 방법.
  14. 제13 항에 있어서, 상기 (a3) 단계는
    (a31) 저장된 상기 애니메이션이 상기 움직임에 상응하는지 판단하는 단계; 및
    (a32) 저장된 상기 애니메이션이 상기 움직임에 상응한다고 판단되면, 저장된 상기 애니메이션을 검색된 상기 애니메이션으로서 결정하는 단계를 포함하고,
    상기 (a31) 단계는 저장된 상기 애니메이션이 최근에 검색된 상기 애니메이션일수록 먼저 수행되는 것을 특징으로 하는 애니메이션 재생 방법.
  15. 제14 항에 있어서, 상기 (a31) 및 상기 (a32) 단계는 저장된 상기 애니메이션마다 수행되고,
    상기 (a3) 단계는
    (a33) 결정된 상기 애니메이션에 포함되지 않으며 상기 움직임에 상응하는 상기 애니메이션이 존재하는가 판단하는 단계; 및
    (a34) 결정된 상기 애니메이션에 포함되지 않으며 상기 움직임에 상응하는 상기 애니메이션이 존재한다고 판단되면, 상기 (a1) 단계로 진행하는 단계를 더 포함하는 것을 특징으로 하는 애니메이션 재생 방법.
  16. 제10 항에 있어서, 상기 애니메이션 재생 방법은
    (c) 상기 렌더링된 결과를 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 애니메이션 재생 방법.
  17. 제10 항에 있어서, 디스플레이되는 상기 렌더링된 결과가 시간의 경과에 따라 나타내는 움직임은 육안상 연속적으로 인식되는 것을 특징으로 하는 애니메이션 재생 방법.
  18. 제10 항에 있어서, 상기 애니메이션은 강체 애니메이션, 스킨(skin)/본(bone) 애니메이션, 또는 모핑(morphing) 애니메이션인 것을 특징으로 하는 애니메이션 재생 방법.
  19. 제10 항의 방법을 컴퓨터에서 실행시키기 위한 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체.
KR1020060039553A 2005-09-23 2006-05-02 애니메이션 재생 장치 및 방법 KR100803211B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/525,038 US7995065B2 (en) 2005-09-23 2006-09-22 Animation reproducing apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US71956205P 2005-09-23 2005-09-23
US60/719,562 2005-09-23

Publications (2)

Publication Number Publication Date
KR20070034420A KR20070034420A (ko) 2007-03-28
KR100803211B1 true KR100803211B1 (ko) 2008-02-14

Family

ID=41344573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060039553A KR100803211B1 (ko) 2005-09-23 2006-05-02 애니메이션 재생 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100803211B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040087787A (ko) * 2003-04-09 2004-10-15 (주)오즈인터미디어 3차원 온라인 게임을 위한 아바타 체형 변형 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040087787A (ko) * 2003-04-09 2004-10-15 (주)오즈인터미디어 3차원 온라인 게임을 위한 아바타 체형 변형 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
2001.11.07. Proceedings of the Fourteenth Conference on Computer Animation p61-72

Also Published As

Publication number Publication date
KR20070034420A (ko) 2007-03-28

Similar Documents

Publication Publication Date Title
KR100496718B1 (ko) 컴퓨터 상의 캐릭터의 애니메이션 시스템, 방법 및 장치와, 애니메이션 파일 다운로드용 서버 컴퓨터, 및 애니메이션 캐릭터 발생용 컴퓨터 구현 시스템
Styliani et al. Virtual museums, a survey and some issues for consideration
Friedl et al. Virtual reality and 3D visualizations in heart surgery education
Foley Getting there: The ten top problems left
US7995065B2 (en) Animation reproducing apparatus and method
Song et al. Digital heritage application as an edutainment tool
KR100803211B1 (ko) 애니메이션 재생 장치 및 방법
Chu et al. Navigable videos for presenting scientific data on affordable head-mounted displays
Schneider et al. Brush as a walkthrough system for architectural models
Gutierrez et al. Controlling virtual humans using pdas
JP2002140730A (ja) 動画像生成方法、装置、動画像生成プログラムを記録した可読記録媒体及びビデオゲーム装置
Neff et al. Layered performance animation with correlation maps
Marks et al. Evaluation of game engines for simulated clinical training
KR100624453B1 (ko) 3차원 캐릭터 애니메이션을 효율적으로 저작/재생하는방법 및 장치
Miyahara et al. Collada-based file format for various attributes of realistic objects in networked VR applications supporting various peripherals
Himona et al. SIMPOL VR–A virtual reality law enforcement training simulator
Hayashi et al. Virtual Museum Equipped with Automatic Video Content Generator
KR102557953B1 (ko) 안무 분석 시스템
KR102666814B1 (ko) 고정밀 화재 시뮬레이션 기반 가상 소방훈련 상호작용 시스템 및 방법과 지역 상호작용 처리 방법
Steed Recreating visual reality in virtuality
Miyahara et al. Collada-based file format supporting various attributes of realistic objects for VR applications
Barakonyi et al. Augmented reality in the character animation pipeline
Deléglise et al. 2D/3D Web Transitions: Methods and Techniques.
Bottino et al. The role of computer games industry and open source philosophy in the creation of affordable virtual heritage solutions
Hrk Virtual art gallery

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130115

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140124

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 9