KR100826155B1 - 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현방법 및 애니메이션 재생 장치 - Google Patents

축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현방법 및 애니메이션 재생 장치 Download PDF

Info

Publication number
KR100826155B1
KR100826155B1 KR1020070038652A KR20070038652A KR100826155B1 KR 100826155 B1 KR100826155 B1 KR 100826155B1 KR 1020070038652 A KR1020070038652 A KR 1020070038652A KR 20070038652 A KR20070038652 A KR 20070038652A KR 100826155 B1 KR100826155 B1 KR 100826155B1
Authority
KR
South Korea
Prior art keywords
animation
motion capture
data
matching function
window
Prior art date
Application number
KR1020070038652A
Other languages
English (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 KR1020070038652A priority Critical patent/KR100826155B1/ko
Application granted granted Critical
Publication of KR100826155B1 publication Critical patent/KR100826155B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs

Landscapes

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

Abstract

본 발명은 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현 방법 및 애니메이션 재생 장치에 관한 것으로, 특히 모션 캡쳐 데이터베이스 내의 시간 단위로 측정된 모션 캡쳐 데이터를 간단히 표현하는 동시에 근사화 에러값을 최대한 줄일 수 있는 정합 함수를 산출하여 모션 캡쳐 데이터베이스를 압축함으로써, 메모리의 사용 효율을 높이고 저사양의 프로세서로 동작 가능하며 자연스러운 애니메이션 동작을 복원해낼 수 있는 기술에 관한 것이다. 본 발명에 따르면, 애니메이션 동작을 디스플레이하는 모바일 임베디드 시스템의 메모리 사용 효율을 높일 수 있으며, 저사양의 프로세서에서도 무리없이 자연스러운 애니메이션의 구현을 가능하게 하는 효과가 있다. 또한, 데이터의 세부 구간의 크기와 정합 함수의 차수의 비를 최적화함으로써 압축 효율을 높이면서 근사 오차를 줄이는 효과가 있다. 또한, 데이터 보간 효과로 인해 각 프레임 사이 값들도 계산할 수 있는 효과가 있다.
모션 캡쳐, 애니메이션, 모바일 임베디드 시스템, 최소자승법

Description

축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현 방법 및 애니메이션 재생 장치{Animation implementation method using reduced motion capture database and animation playback device for the same}
도 1은 본 발명의 바람직한 실시예에 의한 모바일 임베디드 시스템에서의 모션 캡쳐 기반 컴퓨터 애니메이션 제작 패러다임을 개념적으로 표현한 도면,
도 2는 본 발명의 바람직한 실시예에 의한 애니메이션 구현 방법의 전체 동작과정을 나타낸 순서도,
도 3은 본 발명의 바람직한 실시예에 의해 대상체의 각속도의 첫 번째 성분 W(1, :)을 2차 곡선으로 정합한 결과를 나타낸 그래프,
도 4는 도 1에서 모션 캡쳐 데이터베이스를 압축하는 제 2 단계(S2)의 동작과정을 보다 상세히 나타낸 순서도,
도 5는 도 1에서 압축된 모션 캡쳐 데이터베이스를 압축 해제하여 애니메이션을 디스플레이하는 제 4 단계(S4)의 동작과정을 보다 상세히 나타낸 순서도,
도 6은 본 발명의 바람직한 실시예에 의한 애니메이션 재생 장치의 구조를 나타낸 블럭도,
도 7은 본 발명의 성능을 테스트하기 위한 시뮬레이션 시나리오를 위해 선정 된 모션 캡쳐 기반 컴퓨터 애니메이션 대상체를 나타낸 도면,
도 8은 도 7에 도시된 대상체의 운동 파라미터와 본 발명의 바람직한 실시예에 의해 근사화된 운동 파라미터를 비교한 결과를 나타낸 그래프,
도 9는 본 발명의 바람직한 실시예에 의해 모바일 임베디드 시스템에서 컴퓨터 애니메이션을 제작한 결과를 나타낸 도면이다.
본 발명은 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현 방법 및 애니메이션 구현 장치에 관한 것으로, 특히 모션 캡쳐 데이터베이스 내의 시간 단위로 측정된 모션 캡쳐 데이터를 간단히 표현하는 동시에 근사화 에러값을 최대한 줄일 수 있는 정합 함수를 산출하여 모션 캡쳐 데이터베이스를 압축함으로써, 메모리의 사용 효율을 높이고 저사양의 프로세서로 동작 가능하며 자연스러운 애니메이션 동작을 복원해낼 수 있는 애니메이션 구현 방법 및 애니메이션 재생 장치에 관한 것이다.
모션 캡쳐는 인체가 동작하는 움직임을 즉시 또는 약간의 시간 차이를 두고 기록하는 작업을 말한다. 기록된 정보를 바탕으로 컴퓨터 캐릭터에게 대상체의 위치 정보를 전달하여 인체의 움직임을 그대로 컴퓨터 캐릭터로 나타낼 수 있도록 하 는 작업을 말한다. 모션 캡쳐를 이용하면 3D로 모델링한 캐릭터를 복잡한 수학 계산없이 자연스럽게 움직이게 할 수 있다.
이러한 기술들은 '스타워즈', '타이타닉', '스타쉽 트루퍼스', '스피시즈', '배트맨', '터미네이터2' 등의 영화 속에서 놀랄만큼 사실감있는 애니메이션을 만들어내기 위해 특수효과를 담당하는 회사들에 의해 많이 사용되어 왔다.
키 프레임 애니메이션(key frame animation)과 시뮬레이션과 같은 기존 애니메이션 기술에 비해 모션 캡쳐의 가장 큰 잇점은 실시간 애니메이션 영상과 자연스럽게 보이는 높은 질의 영상을 제공할 수 있는 장점을 지니고 있다는 점이다.
사이버 가수 아담을 비롯한 많은 캐릭터 애니메이션이 선풍적인 인기에도 불구하고 지속될 수 없었던 이유는 제작에 필요한 시간과 그에 따른 비용부담 대문이었는데, 사이버 가수 아담의 경우, 5초 분량의 방송을 위해 5명의 숙련된 기술자가 꼬박 2개월 동안 작업을 해야만 했다. 마야나 맥스 같은 3D 제작툴로 캐릭터를 제작할 경우 간단한 동작도 일일이 수작업해서 몇 개월의 제작과정이 걸리지만, 모션 캡쳐를 이용해 캐릭터 애니메이션을 제작하면, 기존의 모션 동작 데이터를 캐릭터에 적용하여 활용할 수 있다. 새로운 동작은 추가로 실시간 모션 캡쳐 할 수 있기 때문에 작업이 훨씬 수월하고 제작기간이 단축될 수 있다는 장점이 있다.
모션 캡쳐 기반 컴퓨터 애니메이션 제작 기술은 센서를 사용해서 대상체의 운동을 측정하여 운동 렌더링 파라미터를 추출한 후, 이 운동 파라미터를 컴퓨터에 옮겨서 그래픽 툴을 사용하여 애니메이션화한다. 이러한 일련의 작업이 현재의 데스크 톱 컴퓨터에서는 문제없이 수행될 수 있지만, CPU의 계산 능력과 메모리의 크 기가 데스크 톱 컴퓨터에 비해 매우 작은 모바일 임베디드 시스템에 그대로 적용되기에는 다소 무리가 있다.
예를 들어, 한 대상체의 움직임을 애니메이션화 한다고 생각해 보자. 이 경우, 대상체의 각속도, 선속도 성분은 모두 6개이다. 각 성분을 32 bit(4 byte) 숫자로 표현한다면, 한 개의 표본 프레임에서 풍선의 운동을 나타내기 위한 데이터량은 4 byte * 6 = 24 byte가 된다. 또한 애니메이션에서는 보통 초당 25 프레임을 사용하므로, 1초 동안의 풍선의 운동을 나타내기 위한 데이터량은 24 byte * 25 = 0.6 Kbyte가 된다. 그리고 1분 동안의 풍선의 운동을 나타내기 위한 데이터량은 0.6 Kbyte * 60 = 36 Kbyte가 된다. 만일 각 프레임 상의 대상체가 10 개의 구성요소로 구성되어 있다면, 이 대상체의 운동을 1분 동안 표현하려면, 36 Kbyte * 10 = 360 Kbyte = 0.36 Mbyte의 데이터량이 필요하다. 따라서 이 운동을 30분만 기술해도 10.8 Mbyte의 데이터량이 필요하다.
상용화된 모바일 폰의 램(RAM)과 플래시 메모리(flash memory)가 각각 30 MB 정도 밖에 되지 않는다는 점을 생각하면, 이 정도의 데이터량을 저장했다가 쓰기에는 모바일 임베디드 시스템의 하드웨어 사양에 다소 무리가 따르는 문제점이 있다.
본 발명의 목적은 모션 캡쳐 데이터베이스 내의 시간 단위로 측정된 모션 캡쳐 데이터를 간단히 표현하는 동시에 근사화 에러값을 최대한 줄일 수 있는 정합 함수를 산출하여 모션 캡쳐 데이터베이스를 압축함으로써, 메모리의 사용 효율을 높이고 저사양의 프로세서로 동작 가능하며 자연스러운 애니메이션 동작을 복원해낼 수 있는 애니메이션 구현 방법 및 애니메이션 재생 장치를 제공하는 데 있다.
본 발명의 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현 방법은, 대상체의 각속도, 선속도 성분을 일정 시간 간격(이하 '프레임') 단위로 측정하여 마련한 모션 캡쳐 데이터를 입력받아 모션 캡쳐 데이터베이스를 생성하는 제 1 단계; 모션 캡쳐 데이터의 분포를 근사적으로 표현하는 정합 함수를 산출하고 정합 함수의 계수를 데이터로 갖는 압축된 모션 캡쳐 데이터베이스를 생성하는 제 2 단계; 애니메이션 재생 장치가 압축된 모션 캡쳐 데이터베이스를 입력받아 메모리에 저장하는 제 3 단계; 및 압축된 모션 캡쳐 데이터베이스의 일부 데이터를 압축 해제하여 재생 구간의 정합 함수를 복원하고, 시간 순으로 각 프레임별 정합 함수값을 산출하여 애니메이션으로 출력하는 제 4 단계를 포함하여 구성된다.
본 발명의 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 재생 장치는 압축된 모션 캡쳐 데이터베이스를 입력받는 데이터 입력부; 압축된 모션 캡쳐 데이터베이스를 저장하는 메모리; 압축된 모션 캡쳐 데이터베이스의 일부 데이터를 압축 해제하여 재생 구간의 정합 함수를 복원하고, 시간 순으로 각 프레임별 정합 함수값을 산출하여 애니메이션 데이터를 생성하는 애니메이션 데이터 복원부; 및 애니메이션 데이터를 시간에 따른 프레임 순으로 출력하는 애니메이션 출력부;를 포함하여 구성되고, 애니메이션 데이터 복원부는, 압축된 모션 캡쳐 데이터베이스로부터 재생 구간에 포함된 모션 캡쳐 데이터의 분포에 대응되는 정합 함수를 복원하는 정합 함수 복원부; 윈도우를 구성하는 각 프레임에 대한 정합 함수값을 산출하는 모션 캡쳐 데이터 복원부; 및 각 윈도우에 대하여 산출된 정합 함수값을 이용하여 해당 윈도우 내의 각 프레임에 대한 이미지 데이터를 산출하고 이를 프레임 순으로 연결된 애니메이션 데이터를 생성하는 애니메이션 데이터 생성부;를 포함하여 구성된다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 의한 모바일 임베디드 시스템에서의 모션 캡쳐 기반 컴퓨터 애니메이션 제작 패러다임을 개념적으로 표현한 도면이다.
도시된 바와 같이, 먼저 카메라 등의 모션 캡쳐 장비를 사용하여 모션 캡쳐 데이터를 얻는다. 이렇게 얻어진 모션 캡쳐 데이터를 PC로 옮겨서 모션 캡쳐 데이터베이스를 생성한 후, 모션 캡쳐 데이터베이스 압축 기법을 사용하여 데이터를 축소한다.
압축된 모션 캡쳐 데이터베이스를 모바일 임베디드 시스템의 메모리에 저장한 후, 모션 캡쳐 데이터베이스를 필요한 부분만 조금씩 압축 해제하여 애니메이션으로 표현한다. 그리고, 압축 해제된 데이터는 애니메이션으로 출력된 직후 메모리에서 삭제한다.
이와 같은 방법을 통해서 애니메이션의 전 프레임에 해당하는 많은 량의 모션 캡쳐 데이터를 한꺼번에 메모리에 저장하는 어려움을 피할 수 있다.
본 발명의 대략적인 흐름은 위와 같으며, 모션 캡쳐 데이터베이스를 효과적으로 압축하고 모바일 임베디드 시스템에서 이를 압축 해제하기 위한 구체적인 방법에 대하여 도 2에서 보다 상세히 설명한다.
도 2는 본 발명의 바람직한 실시예에 의한 애니메이션 구현 방법의 전체 동 작과정을 나타낸 순서도이다.
도시된 바와 같이, 일정 시간 간격(이하 '프레임') 단위로 측정된 모션 캡쳐 데이터를 입력받아 모션 캡쳐 데이터베이스를 생성한다(S1). 이때, 모션 캡쳐 데이터로는 대상체의 각속도 및 선속도 성분을 입력받을 수 있다.
그 다음으로, 모션 캡쳐 데이터의 분포를 근사적으로 표현하는 정합 함수를 산출하고, 정합 함수의 계수를 데이터로 갖는 압축된 모션 캡쳐 데이터베이스를 생성한다(S2). 이때, 모션 캡쳐 데이터베이스를 소정 개수의 프레임으로 구성된 단위 구간(이하 '윈도우')으로 분할하고, 각 윈도우의 모션 캡쳐 데이터의 분포를 근사적으로 표현하는 다항식 곡선 함수 형태의 정합 함수를 각 윈도우별로 최소 자승법에 의해 산출하고, 각 윈도우에 해당하는 정합 함수의 계수를 압축된 모션 캡쳐 데이터베이스에 저장한다. 이상의 제 2 단계(S2)에 의해 모션 캡쳐 데이터베이스가 압축되는 과정에 대해서는 이후 도 4를 참조하여 보다 상세히 설명하도록 한다.
MPEG 압축에서와 같이 일반적으로 사용되는 양자화 기법(quantization)에 의한 데이터 축소는 각 프레임 간의 운동의 불연속을 초래해서 모션 캡쳐 기반 컴퓨터 애니메이션의 장점인 운동의 자연스러움을 깨뜨릴 수 있다. 따라서 운동의 자연스러움을 보존할 수 있도록 모션 캡쳐 데이터(즉, 운동 랜더링 파라미터)의 프레임 별 변화를 연속적이고 매끈한 시간 정합 함수로 압축 근사화하고, 정합된 함수의 파라미터가 바로 압축된 데이터가 된다.
이렇게 얻어진 정합 함수의 파라미터를 메모리에 저장하고, 정합 함수의 함수값 계산을 통해 모션 캡쳐 데이터를 복원해 낼 수 있으며, 모션 캡쳐 데이터베이 스를 압축 해제하는 과정은 단순히 정합 함수값 계산으로 귀결되므로 매우 쉽고 효율적으로 압축 해제가 가능하다.
이러한 정합 함수 기반 모션 캡쳐 데이터 압축 기법의 정합 함수로서 다양한 함수가 사용될 수 있는데, 모바일 임베디드 시스템의 CPU 계산력이 낮다는 점을 감안해서 가능한 쉬운 정합 함수를 사용하는 것이 압축, 해제 과정을 단순화 할 수 있는 요령이 된다. 따라서, 가장 단순한 함수 중 하나인 다항식 곡선을 사용하는 것이 바람직하다.
그 다음으로, 애니메이션 재생 장치가 압축된 모션 캡쳐 데이터베이스를 입력받아 메모리에 저장한다(S3).
그 다음으로, 애니메이션 재생 장치가 압축된 모션 캡쳐 데이터베이스의 일부 데이터를 압축 해제하여 재생 구간의 정합 함수를 복원하고, 시간 순으로 각 프레임별 정합 함수값을 산출하여 애니메이션으로 출력한다(S4). 이상의 제 4 단계(S4)에 의해 압축된 모션 캡쳐 데이터베이스가 압축 해제되는 과정에 대해서는 이후 도 5를 참조하여 보다 상세히 설명하도록 한다.
또한, 제 4 단계(S4)에서 애니메이션 재생 장치가 메모리로부터 압축 해제된 데이터를 바로 삭제하는 과정을 추가할 수 있다.
도 3은 본 발명의 바람직한 실시예에 의해 대상체의 각속도의 첫 번째 성분 W(1, :)을 2차 곡선으로 정합한 결과를 나타낸 그래프이다.
도시된 바와 같이, 수평축은 시간의 변화, 즉 프레임 수를 표시하고, 수직축 은 대상체의 각속도 W의 첫 번째 성분, 즉 W(1, :)을 표시한다.
그리고 W(1, :)의 참값, 즉 주어진 모션 캡쳐 데이터 값이 점선으로 표시되어 있으며, MATLAB 함수 polyfit를 사용해서 얻은 2차 다항식 근사값이 실선으로 표시되어 있다.
다항식을 사용한 데이터 정합시 MATLAB 라이브러리가 매우 편리하게 사용될 수 있는데, 주어진 데이터 집합을 다항식 정합 MATLAB 라이브러리 함수 'polyfit'를 사용하면 손쉽게 근사화할 수 있다.
모션 캡쳐 기술을 사용하여 대상체의 각속도 W와 선속도 V의 시간별 변화값을 데이터로 얻었다고 하자. 여기서, W와 V는 각각 3개의 스칼라 성분을 가지고 있다. 그 중 W의 첫 번째 스칼라 성분의 5 프레임 동안의 데이터 값을 polyfit를 사용해서 2차 다항식으로 근사하는 경우를 생각해보자. 이를 위한 MATLAB 프로그램을 아래와 같이 작성할 수 있다.
**********************************************************
최소 자승법을 사용한 스칼라 데이터의 2차 다항식 정합
**********************************************************
>> t5=1:5
% 곡선 정합을 수행할 구간 설정
t5 =
1 2 3 4 5
>> plot(t5, W(1, 1:5), '--')
% 곡선 정합을 수행할 데이터 집합 W(1, 1:5)을 점선 그래프로 표현
>> hold on
% 그래프를 지우지 않고 겹쳐 씀
>> pp5=polyfit(t5, W(1, 1:5), 2)
% W(1, 1:5)의 t5가 지정하는 구간 부분을 2차 다항식으로 정합하여,
% 2차 정합 다항식의 계수를 PP5에 저장
pp5 =
-3.5885 25.8118 -41.9968
% -3.5885 x^2 + 25.8118 x - 41.9968
>> p5ourve=polyval(pp5, t5)
% pp5에 정의된 다항식의 t5 구간에서의 값을 계산하여 p5ourve에
% 저장
p5ourve =
-18.7735 -2.7273 6.1419 7.8341 2.3493
>> plot(t5, p5ourve, '-')
% p5ourve에 저장된 데이터를 실선 그래프로 표현
**********************************************************
위 MATLAB 프로그램을 참조하여 본 발명의 아이디어를 설명하면 W의 첫 번째 성분의 프레임별 데이터 W(1,1), W(1, 2), W(1, 3), W(1, 4), W(1, 5)를 모바일 임베디드 시스템의 메모리에 저장하는 것보다, 2차 곡선 정합 함수의 계수, 즉 -3.5885, 26.8118, -41.9968을 메모리에 저장하고, 필요시 함수값을 계산하여 쓰자는 것이다. 이 예에서도 알 수 있듯이 본 발명에 아이디어를 사용할 경우, 5개의 스칼라 데이터 값을 3개의 데이터 값으로 줄일 수 있다. 그리고, 이 정합 함수의 계수로부터 원하는 데이터 값을 찾아내는 것도 매우 간단해서 거의 추가 계산량을 필요로 하지 않는다. 뿐만 아니라 정합 함수가 데이터 보간의 효과까지 가져와서 주어진 5 프레임의 사이 값들도 구해낼 수 있게 된다.
주어진 모션 캡쳐 데이터베이스를 세부 구간, 즉 윈도우로 나눈 후, 각 세부 구간별로 위와 같은 곡선 정합 근사 방법을 적용하여 전체 모션 캡쳐 데이터베이스를 압축할 수 있다.
이때, 정합 곡선의 차수를 높일수록 근사화 에러는 더욱 작아지지만 메모리 에 저장해야 하는 정합 곡선의 계수가 많아져서 데이터량이 증가하는 단점이 있다. 따라서, 정합 곡선의 차수와 데이터량 사이에는 트레이드오프(trade-off) 문제가 발생한다.
즉, 위에 언급된 MATLAB 프로그램의 예에서처럼 5개의 데이터 값에 대해 2차 곡선 정합 방법을 사용하였을 경우, 2차 곡선의 파라미터 3개만 데이터값으로 사용하면 되므로 데이터량이 60%로 줄어든다. 곡선의 차수를 점차 높여 가면, 곡선의 계수를 많이 저장해야 하므로 데이터량이 늘게 되는 반면 근사화 에러는 줄어든다.
그리고, 그 정점으로서 4차 정합 곡선을 사용하는 경우에 정합 에러가 최소가 된다. 4차 정합 곡선의 경우, 정합 함수 계수는 모두 5개가 되어서, 이 계수 값을 정하는 문제가 exact-determined problem이 된다. 따라서 이 경우가 가장 근사화 에러 값이 작아지게 된다. 반면 데이터로서 4차 정합 곡선의 계수 5개를 사용해야 하므로, 데이터량의 축소 효과가 없어지게 된다.
그리고, 또 한가지 고려해야할 사항은 같은 크기로 분할된 세부 구간에 같은 차수의 정합 곡선을 적용한 획일적인 곡선 정합 방법은 모션 파라미터의 변화량이 많은 세부 구간에서는 정합 곡선의 차수를 높이거나, 곡선 정합을 적용하는 세부 구간, 즉 윈도우의 크기를 줄이는 것이 압축 에러를 줄이는 방법이 된다. 따라서 알고리즘의 효율을 높이고, 압축 에러를 줄이기 위해서는 '세부 구간의 크기/정합 곡선의 차수' 비(ratio)를 최적화할 필요가 있다.
이상의 내용을 반영하여 모션 캡쳐 데이터베이스를 압축하는 방법이 도 4에 도시되어 있다.
도 4는 도 1에서 모션 캡쳐 데이터베이스를 압축하는 제 2 단계(S2)의 동작과정을 보다 상세히 나타낸 순서도이다.
도시된 바와 같이, 윈도우를 구성하는 프레임의 개수를 n개로 설정하여 윈도우의 크기를 설정하고(S21), (윈도우를 구성하는 프레임의 개수 n - 1)을 정합 함수의 차수 m으로 설정한다(S22).
그리고, 최소 자승법을 적용하여 윈도우 내의 모션 캡쳐 데이터를 근사적으로 표현하는 m차 다항식 곡선을 산출한다(S23).
이때, 산출된 m차 다항식 곡선에 의한 모션 캡쳐 데이터의 근사값과 실제 모션 캡쳐 데이터값의 차에 해당되는 근사화 에러값과 기 설정된 임계값의 대소를 비교한다.
만약, 근사화 에러값이 임계값보다 작으면(S24) 다항식 곡선의 차수를 하나 줄이고(S25) 주어진 윈도우 안의 모션 캡쳐 데이터에 대한 다항식 정합을 다시 수행한다. 그리고 근사화 에러값이 임계값을 넘을 때까지 이러한 과정을 반복한다.
위 과정을 반복한 결과 근사화 에러값이 임계값을 넘으면, 근사화 에러값이 임계값을 넘기 직전의 값을 최종 결과값으로 채택한다. 즉, 근사화 에러값이 임계값을 넘는 순간의 다항식 곡선의 차수가 m이므로 임계값을 넘기 직전의 다항식 곡선의 차수 m+1을 구하고(S26), 이때의 다항식 곡선을 해당 윈도우에 대한 정합 함수로 삼고 이때의 정합 함수의 계수를 최종 정합 데이터로 사용한다. 그리고 그 다음 윈도우에 대하여 위 과정을 반복함으로써 모션 캡쳐 데이터베이스의 압축이 이 루어진다.
도 5는 도 1에서 압축된 모션 캡쳐 데이터베이스를 압축 해제하여 애니메이션을 디스플레이하는 제 4 단계(S4)의 동작과정을 보다 상세히 나타낸 순서도이다.
도시된 바와 같이, 사용자가 재생 버튼을 눌러 애니메이션 재생 명령을 내리면, 애니메이션 재생 장치는 메모리에 저장된 압축된 모션 캡쳐 데이터베이스로부터 윈도우의 크기를 불러오고, 윈도우에 대한 정합 함수의 계수를 읽어옴으로써 (차수는 계수로부터 쉽게 계산할 수 있음) 애니메이션 재생 구간에 해당되는 데이터를 시간 순으로 불러온다. 그리고, 불러온 데이터로부터 각 윈도우에 대한 정합 함수를 복원한다(S41).
그런 후에, 윈도우를 구성하는 각 프레임에 대하여 정합 함수값을 산출한다. 이를 위해 윈도우 내에 n개의 프레임이 있다면 시간 순으로 맨 처음 프레임부터 차례대로 각 프레임에 대한 정합 함수값을 산출한다. 즉, 첫 번째 프레임부터 시작하므로 프레임 순서 k를 1로 설정하고(S42), k번째 프레임에 대한 정합 함수값을 산출하고(S43), k=n이 아니면 아직 윈도우 내에 프레임이 더 존재하므로 그 다음 프레임에 대하여 정함 함수값를 산출하는 과정을 반복한다(S44, S45).
결국 어느 시점에 모든 프레임에 대한 정합 함수값이 산출되면, 각 프레임마다 산출된 정합 함수값을 모션 캡쳐 데이터로 대체하여 윈도우 내의 각 프레임에 대한 이미지 데이터를 산출한다. 그리고, 해당 윈도우의 복원된 각 프레임 단위 이미지 데이터를 메모리에 저장한다(S46).
그 다음으로, 메모리에 저장된 각 프레임 단위 이미지 데이터(복원된 윈도우의 이미지 데이터)를 시간에 따른 프레임 순으로 출력한다(S47).
출력이 끝난 직후, 생성된 이미지 데이터를 메모리로부터 삭제한다(S48). 결과적으로, 윈도우 별로 데이터의 압축 해제가 이루어지고, 또 윈도우 별로 애니메이션이 구간 출력된다.
그리고, 그 다음 윈도우에 대해 압축 해제를 통한 이미지 데이터 산출, 생성된 이미지 데이터 출력, 삭제를 계속 진행함으로써(S49) 애니메이션을 윈도우 구간별로 차례대로 출력하게 된다.
도 6은 본 발명의 바람직한 실시예에 의한 애니메이션 재생 장치의 구조를 나타낸 블럭도이다.
도시된 바와 같이, 애니메이션 재생 장치는 크게 데이터 입력부(10), 메모리(20), 애니메이션 데이터 복원부(30), 애니메이션 출력부(40), 데이터 삭제부(50) 등으로 구성된다.
(a) 데이터 입력부(10)는 압축된 모션 캡쳐 데이터베이스를 입력받는다.
(b) 메모리(20)는 데이터 입력부(10)를 통해 입력받은 압축된 모션 캡쳐 데이터베이스를 저장한다.
(c) 애니메이션 데이터 복원부(30)는 사용자가 재생 버튼을 눌러 애니메이션 재생 명령을 내리면 메모리(20)에 저장된 압축된 모션 캡쳐 데이터베이스 중에서 재생 구간에 해당되는 일부 데이터를 압축 해제하여 재생 구간의 정합 함수를 복원 하고, 시간 순으로 각 프레임별 정합 함수값을 산출하여 애니메이션 데이터를 생성한다. 그리고 압축 해제된 정함 합수, 산출된 애니메이션 데이터 등의 압축 해제된 데이터를 메모리(20)에 저장한다.
이때, 애니메이션 데이터 복원부(30)는 크게 정합 함수 복원부(31), 모션 캡쳐 데이터 복원부(32), 애니메이션 데이터 생성부(33)로 구성된다.
(c-1) 정합 함수 복원부(31)는 압축된 모션 캡쳐 데이터베이스로부터 재생 구간('윈도우')에 포함된 모션 캡쳐 데이터의 분포에 대응되는 정합 함수를 복원한다.
(c-2) 모션 캡쳐 데이터 복원부(32)는 윈도우를 구성하는 각 프레임에 대한 정합 함수값을 산출한다.
(c-3) 애니메이션 데이터 생성부(33)는 각 윈도우에 대하여 산출된 정합 함수값을 이용하여 해당 윈도우 내의 각 프레임에 대한 이미지 데이터를 산출하고 이를 프레임 순으로 연결된 애니메이션 데이터를 생성한다.
이상의 애니메이션 복원부(30)에 의한 애니메이션 데이터 복원 과정은 기 설정된 크기의 윈도우 단위로 진행되도록 설정될 수 있다.
(d) 애니메이션 출력부(40)는 애니메이션 데이터 복원부(30) 내의 애니메이션 데이터 생성부(33)에서 생성된 애니메이션 데이터를 시간에 따른 프레임 순으로 출력한다.
(e) 데이터 삭제부(50)는 애니메이션 출력부(40)를 통해 출력된 애니메이션 데이터를 메모리(20)에서 삭제함으로써 메모리(20)의 활용도를 높인다. 또한, 데이 터 삭제부(50)는 애니메이션 출력부(40)를 통해 애니메이션 데이터가 윈도우 단위로 출력되면, 출력된 해당 윈도우의 애니메이션 데이터를 메모리(20)로부터 바로 삭제하도록 설정할 수 있다.
여기서, 정합 함수 복원부(31), 모션 캡쳐 데이터 복원부(32), 애니메이션 데이터 생성부(33), 애니메이션 출력부(40), 데이터 삭제부(50)를 통해 이루어지는 일련의 애니메이션 출력 과정은 모션 캡쳐 데이터베이스의 모든 구간('윈도우')에 대해 차례로 실행된다.
도 7은 본 발명의 성능을 테스트하기 위한 시뮬레이션 시나리오를 위해 선정된 모션 캡쳐 기반 컴퓨터 애니메이션 대상체를 나타낸 도면이다.
그리고, 도 8은 도 7에 도시된 대상체의 운동 파라미터와 본 발명의 바람직한 실시예에 의해 근사화된 운동 파라미터를 비교한 결과를 나타낸 그래프이다.
도시된 바와 같이, 도 7에서 F-15 전투기를 모션 캡쳐의 대상체로 선정하였으며, 기존에 알려진 모션 캡쳐 기술을 활용하여 20 프레임의 운동 파라미터를 추정해 본 결과 도 8의 점선과 같이 운동 파라미터가 구해졌다고 가정한다. 그리고, 이렇게 얻어진 F-15 전투기의 운동 파라미터의 데이터를 압축하기 위해서 본 발명의 바람직한 실시예에 의한 정합법에 기반한 데이터 압축 기술을 적용하여 근사화된 운동 파라미터가 도 8에 실선으로 도시되어 있다.
표 1은 도 8에 실선으로 표시된 근사화된 운동 파라미터를 얻기 위해 본 발 명의 바람직한 실시예에 의해 얻어진 압축 데이터(정합 함수의 계수)를 보여주고 있다.
P(1) P(2) P(3)
a0 -0.0000 0.0000 0.0000
a1 0.0000 -0.0000 -0.0000
a2 -0.0000 0.0000 0.0000
a3 0.0003 -0.0003 -0.0003
a4 -0.0061 0.0055 0.0162
a5 0.0803 -0.0835 -0.1957
a6 -0.6966 0.7087 1.4858
a7 3.8428 -3.8228 -6.7758
a8 -12.1202 11.9365 16.8902
a9 16.9155 -17.4036 -18.9525
a10 -0.0569 -7.4951 24.6070
표 1에서, P(1), P(2), P(3)는 각각 대상체의 x, y, z측 방향 궤적을 표시하며, a0, ..., a10은 다항식 곡선으로 표현된 정합 함수의 계수를 표시하는데 a0가 상수항이고 a10이 최고차 항을 나타낸다.
표 1에서 알 수 있듯이 정합 함수의 계수는 모두 11개이므로, 결과적으로 24 프레임의 데이터가 10차수의 정합 함수로 근사화될 수 있음을 보여주고 있다. 데이터 압축률을 따져 보면, 24개의 운동 파라미터가 11개의 정합 함수 데이터로 축소되었으므로, 압축률은 13/24 = 54.2(%)가 된다.
본 발명에 의한 압축 방식의 성능을 기존 방식과 비교해 보기 위해, 기존의 스플라인(spline) 방식(부족 샘플링(undersampling)을 통해 압축하고 스플라인(spline) 보간법을 사용해서 복원)과 본 발명을 비교한 결과가 아래의 표 2에 도시되어 있다.
표 2는 본 발명과 기존의 스플라인 방식의 운동 파라미터의 압축 에러율 비교한 것이다. 압축 에러율은
Figure 112007029961345-pat00001
로 계산된다. 여기서,
Figure 112007029961345-pat00002
Figure 112007029961345-pat00003
는 각각 대상체의 운동 파라미터와 압축 후 복원된 운동 파라미터를 나타낸다.
압축에러율 본 발명 spline 방법
P(1) 0.0505 0.1005
P(2) 0.0112 0.0236
P(3) 0.0046 0.0103
합계 0.0107 0.0225
위의 표 1에서와 유사한 압축률을 갖는 경우와 비교하기 위하여, 운동 파라미터에 50%의 압축률을 갖도록 2:1 부족 샘플링을 하였다.
그리고, 에러율을 정확히 비교하기 위해 압축 에러율을
Figure 112007029961345-pat00004
로 정의하였다. 여기서,
Figure 112007029961345-pat00005
Figure 112007029961345-pat00006
는 각각 대상체의 운동 파라미터와 압축 후 복원된 운동 파라미터이다. 이렇게 정의한 에러율 계산법에 따라 두 방식의 에러율을 계산한 결과를 표 2에 기술하였다.
표 2를 살펴보면, 같은 압축률일 경우 본 발명이 기존의 스플라인 방식에 비해 좀 더 낮은 압축 에러율을 보임을 알 수 있다.
표 3은 본 발명과 스플라인 방법의 계산량을 비교한 결과이다.
계산량(sec) 본 발명 spline 방법
압축 2.5340 0.0300
압축해제 0.0000 0.0600
표 3의 결과를 살펴보면 본 발명의 경우 spline방식에 비해 압축 계산량은 많지만, 압축해제 계산량은 훨씬 적은 것을 볼 수 있다. 이러한 특성은 본 발명에 제시하는 압축 및 압축해제 방식이 도 1에서 제안한 모션 캡쳐 패러다임, 즉 압축은 PC 상에서, 그리고 압축 해제는 모바일 임베디드 시스템 상에서 행한다는 패러다임에 적합하다고 볼 수 있다. 왜냐하면, PC의 계산력은 충분한데 비해 임베디드 시스템의 계산력이 매우 열악하므로, 압축의 계산량이 커지는 한이 있어도 압축해제의 계산량을 줄이는 것이 필요하기 때문이다.
앞서 표 1에 나타난 11개의 계수로 표현되는 정합 함수에 의해 도 8과 같은 각 프레임별 운동 파라미터가 산출되며, 이를 사용해서 모바일 임베디드 시스템에서 F-15의 애니메이션을 제작하는 예가 도 9에 도시되어 있다.
도 9는 본 발명의 바람직한 실시예에 의해 모바일 임베디드 시스템에서 컴퓨터 애니메이션을 제작한 결과를 나타낸 도면이다.
도 9에 도시된 애니메이션 구현 예는 모바일 C를 사용하여 구현된 모바일 폰 영상이다. 모바일 C의 경우 ANSI C에 비해 그 기능이 미약하지만 본 발명의 정합법에 기반한 압축 데이터로부터 운동 파라미터를 복원하는 과정이 매우 간단하므로, 제한된 기능의 모바일 C와 모바일 임베디드 시스템 플렛폼 상에서도 모션 캡쳐 애니메이션을 재생하는 것이 충분히 효과적으로 구현 가능하다.
이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 따르면, 애니메이션 동작을 디스플레이하는 모바일 임베디드 시스템의 메모리 사용 효율을 높일 수 있으며, 저사양의 프로세서에서도 무리없이 자연스러운 애니메이션의 구현을 가능하게 하는 효과가 있다.
또한, 데이터의 세부 구간의 크기와 정합 함수의 차수의 비를 최적화함으로 써 압축 효율을 높이면서 근사 오차를 줄이는 효과가 있다.
또한, 데이터 보간 효과로 인해 각 프레임 사이 값들도 계산할 수 있는 효과가 있다.

Claims (8)

  1. 삭제
  2. 대상체의 각속도, 선속도 성분을 일정 시간 간격(이하 '프레임') 단위로 측정하여 마련한 모션 캡쳐 데이터를 입력받아 모션 캡쳐 데이터베이스를 생성하는 제 1 단계;
    상기 모션 캡쳐 데이터의 분포를 근사적으로 표현하는 정합 함수를 산출하고 상기 정합 함수의 계수를 데이터로 갖는 압축된 모션 캡쳐 데이터베이스를 생성하는 제 2 단계;
    애니메이션 재생 장치가 상기 압축된 모션 캡쳐 데이터베이스를 입력받아 메모리에 저장하는 제 3 단계; 및
    상기 압축된 모션 캡쳐 데이터베이스의 일부 데이터를 압축 해제하여 재생 구간의 정합 함수를 복원하고, 시간 순으로 각 프레임별 정합 함수값을 산출하여 애니메이션으로 출력하는 제 4 단계;
    를 포함하여 구성되는 애니메이션 구현 방법.
  3. 제 2 항에 있어서,
    상기 제 2 단계는,
    상기 모션 캡쳐 데이터베이스를 소정 개수의 프레임으로 구성된 단위 구간(이하 '윈도우')으로 분할하고, 각 윈도우의 모션 캡쳐 데이터의 분포를 근사적으로 표현하는 다항식 곡선 함수 형태의 정합 함수를 각 윈도우별로 최소 자승법에 의해 산출하고, 각 윈도우에 해당하는 상기 정합 함수의 계수를 상기 압축된 모션 캡쳐 데이터베이스에 저장하는 단계를 포함하여 구성되는 애니메이션 구현 방법.
  4. 제 3 항에 있어서,
    상기 제 2 단계는,
    (a) (상기 윈도우를 구성하는 프레임의 개수 - 1)을 정합 함수의 차수로 설정하는 단계;
    (b) 상기 윈도우 내의 모션 캡쳐 데이터를 근사적으로 표현하는 정합 함수를 산출하는 단계;
    (c) 상기 차수를 하나 감소시키는 단계;
    (d) 상기 정합 함수에 의한 근사화 에러값이 기 설정된 임계값을 넘을 때까지 상기 (b) - (c) 단계를 반복하는 단계; 및
    (e) 상기 근사화 에러값이 상기 임계값을 넘기 직전의 정합 함수의 계수를 상기 압축된 모션 캡쳐 데이터베이스에 저장하는 단계;
    를 포함하여 구성되는 애니메이션 구현 방법.
  5. 제 4 항에 있어서,
    상기 제 4 단계는,
    상기 압축된 모션 캡쳐 데이터베이스로부터 애니메이션 재생 구간에 해당되는 데이터를 시간 순으로 불러오는 단계;
    상기 데이터로부터 각 윈도우에 대한 정합 함수를 복원하는 단계;
    상기 윈도우를 구성하는 각 프레임에 대하여 정합 함수값을 산출하는 단계; 및
    상기 정합 함수값을 모션 캡쳐 데이터로 대체하여 각 프레임에 대한 이미지 데이터를 산출하고 상기 이미지 데이터를 시간에 따른 프레임 순으로 출력하는 단계;
    를 포함하여 구성되는 애니메이션 구현 방법.
  6. 삭제
  7. 압축된 모션 캡쳐 데이터베이스를 입력받는 데이터 입력부; 상기 압축된 모션 캡쳐 데이터베이스를 저장하는 메모리; 상기 압축된 모션 캡쳐 데이터베이스의 일부 데이터를 압축 해제하여 재생 구간의 정합 함수를 복원하고, 시간 순으로 각 프레임별 정합 함수값을 산출하여 애니메이션 데이터를 생성하는 애니메이션 데이터 복원부; 및 상기 애니메이션 데이터를 시간에 따른 프레임 순으로 출력하는 애니메이션 출력부;를 포함하여 구성되고,
    상기 애니메이션 데이터 복원부는,
    상기 압축된 모션 캡쳐 데이터베이스로부터 재생 구간에 포함된 모션 캡쳐 데이터의 분포에 대응되는 정합 함수를 복원하는 정합 함수 복원부;
    윈도우를 구성하는 각 프레임에 대한 정합 함수값을 산출하는 모션 캡쳐 데이터 복원부; 및
    각 윈도우에 대하여 산출된 상기 정합 함수값을 이용하여 해당 윈도우 내의 각 프레임에 대한 이미지 데이터를 산출하고 이를 프레임 순으로 연결된 애니메이션 데이터를 생성하는 애니메이션 데이터 생성부;
    를 포함하여 구성되는 것을 특징으로 하는 애니메이션 재생 장치.
  8. 제 7 항에 있어서,
    상기 애니메이션 복원부는 윈도우 단위로 애니메이션 데이터를 복원하며,
    상기 애니메이션 재생 장치는, 상기 애니메이션 출력부를 통해 애니메이션 데이터가 윈도우 단위로 출력되면, 출력된 윈도우의 애니메이션 데이터를 메모리로부터 바로 삭제하는 애니메이션 삭제부;를 더 포함하여 구성되는 것을 특징으로 하는 애니메이션 재생 장치.
KR1020070038652A 2007-04-20 2007-04-20 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현방법 및 애니메이션 재생 장치 KR100826155B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070038652A KR100826155B1 (ko) 2007-04-20 2007-04-20 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현방법 및 애니메이션 재생 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070038652A KR100826155B1 (ko) 2007-04-20 2007-04-20 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현방법 및 애니메이션 재생 장치

Publications (1)

Publication Number Publication Date
KR100826155B1 true KR100826155B1 (ko) 2008-04-30

Family

ID=39572896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070038652A KR100826155B1 (ko) 2007-04-20 2007-04-20 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현방법 및 애니메이션 재생 장치

Country Status (1)

Country Link
KR (1) KR100826155B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115100331A (zh) * 2022-06-28 2022-09-23 功夫动漫股份有限公司 一种个性化三维动漫的制作方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000050029A (ko) * 2000-05-12 2000-08-05 박기봉 가상연출자에 의한 자동연출형 동영상 제작시스템 및 이를이용한 인터넷 생방송 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000050029A (ko) * 2000-05-12 2000-08-05 박기봉 가상연출자에 의한 자동연출형 동영상 제작시스템 및 이를이용한 인터넷 생방송 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115100331A (zh) * 2022-06-28 2022-09-23 功夫动漫股份有限公司 一种个性化三维动漫的制作方法及装置

Similar Documents

Publication Publication Date Title
JP4384813B2 (ja) 時間依存ジオメトリの圧縮
US6483513B1 (en) Method for defining MPEP 4 animation parameters for an animation definition interface
US20030149569A1 (en) Character animation
CN105282474B (zh) 用于时移视频获取和压缩的系统和方法
CN108492338B (zh) 动画文件的压缩方法、装置、存储介质和电子装置
JP2003529861A (ja) 音響信号により駆動される人間の顔の合成モデルのアニメ化方法
US8000823B2 (en) Audio playback time estimating apparatus and method
KR20060087662A (ko) 3차원 사각 메쉬의 기하 정보 데이터 단순 압축 및 해제 기술
KR20060087631A (ko) 3차원 삼각 메쉬의 기하 정보 데이터 단순 압축 및 해제 기술
KR100826155B1 (ko) 축소된 모션 캡쳐 데이터베이스를 이용한 애니메이션 구현방법 및 애니메이션 재생 장치
CN112634413B (zh) 生成模型和生成3d动画的方法、装置、设备和存储介质
CN113469292A (zh) 视频合成模型的训练方法、合成方法、装置、介质和设备
JP2010539805A (ja) 画像圧縮強化のためのバイト表現
EP1425720A1 (en) Automatic 3d modeling system and method
CN112738423B (zh) 一种导出动画视频的方法与装置
JPH1166043A (ja) 時系列データの符号化と編集を行うデータ変換装置および方法
Shiratori et al. Temporal scaling of upper body motion for sound feedback system of a dancing humanoid robot
CN114332315A (zh) 3d视频生成方法、模型的训练方法及装置
CN109285197B (zh) 一种gif图像处理方法和移动终端
JP2003133963A (ja) グラフィックアニメーションデータの符号化及び復号装置並びにその方法
KR20200043660A (ko) 음성 합성 방법 및 음성 합성 장치
US6373989B1 (en) Iterated image transformation and decoding apparatus and method, and recording medium
CN114827695B (zh) 视频录制方法、设备、电子设备及存储介质
JP3213388B2 (ja) 時間軸圧縮伸長方法
CN117750021B (zh) 一种视频压缩方法、装置、计算机设备及存储介质

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: 20120406

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee