KR20130030117A - 실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치 및 방법 - Google Patents

실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치 및 방법 Download PDF

Info

Publication number
KR20130030117A
KR20130030117A KR1020110093666A KR20110093666A KR20130030117A KR 20130030117 A KR20130030117 A KR 20130030117A KR 1020110093666 A KR1020110093666 A KR 1020110093666A KR 20110093666 A KR20110093666 A KR 20110093666A KR 20130030117 A KR20130030117 A KR 20130030117A
Authority
KR
South Korea
Prior art keywords
character
frame
constraint
angle
joint
Prior art date
Application number
KR1020110093666A
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 KR1020110093666A priority Critical patent/KR20130030117A/ko
Priority to US13/620,360 priority patent/US20130069939A1/en
Publication of KR20130030117A publication Critical patent/KR20130030117A/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

Landscapes

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

Abstract

본 발명은 뎁스 카메라를 이용하여 실시간 캐릭터 애니메이션을 생성할 때 발생하는 발 미끄러짐 현상을 제거할 수 있는 장치 및 방법을 제공한다. 캐릭터 영상 처리 장치는, 입력되는 캐릭터 영상 프레임에서 캐릭터의 발이 미리 설정된 지면에 닿는지를 결정하고, 캐릭터의 발이 지면에 닿는 것으로 결정되는 첫번째 캐릭터 영상 프레임을 제약 기준 프레임으로 결정하고, 제약 기준 프레임에서 캐릭터의 발의 위치를 고정 발 위치로 지정한다. 그런 다음, 캐릭터 영상 처리 장치는, 제약 기준 프레임 이후에 순차적으로 입력되는 캐릭터 영상 프레임들 중 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 제약 프레임들에서 고정 발 위치를 기준으로 캐릭터의 포즈를 조정한다.

Description

실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치 및 방법{Character image processing apparatus and method for footstake clean up in real time animation}
본 발명은 뎁스 카메라로부터 받은 뎁스 영상을 처리하여 캐릭터 애니메이션을 제공할 때 발생하는 발 미끄러짐을 자동으로 보정하는 장치 및 방법에 대한 것이다.
뎁스 영상(depth image)은 센서가 놓여 있는 공간상의 오브젝트간 거리를 하나의 이미지로 나타낸 것을 말한다. 이 영상은 크게 TOF(Time-Of-Flight), 구조광(structured light) 또는 스테레오 카메라와 같은 기법을 이용하여 생성된다. Kinect의 경우, IR(Infrared Light)프로젝터를 이용해 적외선을 투사하는 부분과 이를 받아들여 분석하는 카메라로 이루어져 있다. IR 프로젝터를 통해 특정 패턴의 영상을 공간상에 뿌린 후, 이에 받아들이는 카메라를 통해 영상을 분석하여 오브젝트와 센서와의 거리를 측정한 후, 이를 래스터라이징을 통해 이미지로 생성하는 것이다. Kinect와 같은 센서들은 오픈소스 프로젝트인 OpenNI(Open Natural Interaction)와 같은 미들웨어를 통해 뎁스 영상을 분석하여 사용자의 위치 및 조인트 위치, 방향값을 얻을 수 있는 함수를 제공해주고 있다. 현재는 이 함수를 통해 15개 조인트의 위치 및 방향값을 실시간으로 얻을 수 있다.
3차원 캐릭터의 움직임을 보정하는 기법은 흔히 모션 캡처 시스템에 많이 사용되어왔다. 모션 캡처 시스템은 8개 이상의 광학카메라를 이용해 마커를 부착한 사람의 움직임을 실시간 캡처하여, 마커의 3차원 위치를 파악한 후, 이를 3차원 캐릭터 모델에 입히는 기법을 말한다. 모션 캡처를 통한 모션 데이터는 캐릭터에 입힌 후 플레이하면, 땅에 발이 닿지 않거나, 가만히 서 있는데도 불구하고, 발이 흔들리는 현상이 많이 발생한다. 또한 모션 캡처 데이터를 이용한 각종 모션 합성 방법(예:모션그래프, 모션블랜딩) 기법을 활용할 경우, 모션 캡처 데이터를 변형해서 사용함으로써, 원래 캡처할 당시에 갖고 있던 물리적 특성이 파괴되는데, 가장 대표적인 것이 바로 풋 스케이팅(Foot skating)이라고 불리우는 발 미끄러짐 현상이다.
발 미끄러짐 현상은, 특히 인간형 캐릭터의 애니메이션을 제어할 시 가장 시각적으로 불편함을 느끼게 하는 현상 중 하나이다. 그 이유는 사람은 사람의 움직임에 가장 민감하기 때문에, 부자연스러운 발 미끄러짐은 눈에 띄기 가장 쉽기 때문이다.
Kinect를 사용한 캐릭터 연동 시 발 미끄러짐이 발생하는 이유는 다음과 같다.
첫째, 사용되는 뎁스 영상 자체에 에러가 있다. Kinect의 경우 IR 프로젝션(projection)을 이용하기 때문에 내부 조명에 상당히 민감한 단점이 있다. 이 경우 추출된 뎁스 영상 자체에 에러가 있을 수 있다.
둘째, SDK(Software Development Kit)등을 통해 제공되는 스켈레톤(Skeleton)의 조인트 위치와 방향 추출 알고리즘에 에러가 있을 수 있다. Microsoft의 XBOX의 경우 머신 러닝(machine learning) 방법을 이용한 방법을 사용하며, OpenNI의 경우 순수하게 뎁스 영상에 미리 정의해 놓은 표준 스켈레톤 모델을 매칭하여 조인트의 위치 및 방향을 예측한다. 그런데, 뎁스(depth)에 따라 오클루젼(occlusion)이 발생하므로, 완벽하게 모든 자세(posture)에 대해 정확한 값을 제공하는데 한계가 있다.
모션 캡처를 이용한 인간형 캐릭터의 발 미끄러짐 제거 방법은 Kovar가 발표한 논문 "Footskating cleanup for motion capture editing"에서 제안되었다. 이 방법을 온-라인(on-line)이 아니라 오프-라인(off-line) 방식으로 동작이 되므로, Kinect와 같이 실시간으로 온라인으로 동작하는 캐릭터에 바로 적용하기 힘들다. 모션 캡처의 경우 모든 프레임에 대한 데이터를 모두 갖고 있으므로, 앞뒤 프레임 정보를 이용해 발 미끄러짐 문제를 쉽게 해결할 수 있지만, 온-라인의 경우 미래 프레임에 대한 정보가 없기 때문이다.
본 발명은 뎁스 카메라를 이용하여 실시간 캐릭터 애니메이션을 생성할 때 발생하는 발 미끄러짐 현상을 제거할 수 있는 장치 및 방법을 제안한다.
일 측면에 따른 캐릭터 영상 처리 장치는, 입력되는 캐릭터 영상 프레임에서 캐릭터의 발이 미리 설정된 지면에 닿는지를 결정하고, 캐릭터의 발이 지면에 닿는 것으로 결정되는 첫번째 캐릭터 영상 프레임을 제약 기준 프레임으로 결정하고, 제약 기준 프레임에서 캐릭터의 발의 위치를 고정 발 위치로 지정하는 제약 프레임 결정부와, 제약 기준 프레임 이후에 순차적으로 입력되는 캐릭터 영상 프레임들 중 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 제약 프레임들에서 고정 발 위치를 기준으로 캐릭터의 포즈를 조정하는 캐릭터 포즈 조정부를 포함한다.
다른 측면에 따른 캐릭터 영상 처리 방법은, 입력되는 캐릭터 영상 프레임에서 캐릭터의 발이 미리 설정된 지면에 닿는지를 결정하는 단계와, 캐릭터의 발이 지면에 닿는 것으로 결정되는 첫번째 캐릭터 영상 프레임을 제약 기준 프레임으로 결정하는 단계와, 제약 기준 프레임에서 캐릭터의 발의 위치를 고정 발 위치로 지정하는 단계와, 제약 기준 프레임 이후에 순차적으로 입력되는 캐릭터 영상 프레임들 중 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 제약 프레임들에서 고정 발 위치를 기준으로 캐릭터의 포즈를 조정하는 단계를 포함한다.
뎁스 카메라를 이용하여 실시간 캐릭터 애니메이션을 생성할 때 발생하는 발 미끄러짐 현상을 제거할 수 있다.
도 1은 본 발명의 일 실시예에 따른 실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치의 구성을 나타내는 블록도이다.
도 2는 도 1의 캐릭터 영상 처리 장치의 캐릭터 영상 처리부의 구성의 일 예를 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 캐릭터의 발 위치가 고정되는 제약 프레임 구간을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 캐릭터의 한쪽 다리 구조를 이용하여 루트 조인트 위치를 조정하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 캐릭터의 양쪽 다리 구조를 이용하여 루트 조인트 위치를 조정하는 방법을 설명하기 위한 도면이다.
도 6a, 도 6b 및 도 6c는 본 발명의 일 실시예에 따른 IK 적용 과정을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 캐릭터 영상 처리 방법을 나타내는 순서도이다.
도 8은 도 7의 본 발명의 일 실시예에 따른 캐릭터 포즈를 조정하는 과정을 상세하게 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치의 구성을 나타내는 블록도이다.
캐릭터 영상 처리 장치(100)는 적외광 조사부(110), 뎁스 카메라(120), 제어부(130), 저장부(140), 표시부(150) 및 사용자 입력부(160)를 포함할 수 있다. 캐릭터 영상 처리 장치(100)는 개인용 컴퓨터, 휴대용 카메라, 텔레비젼, 스마트 기기, 게임 기기 등 다양한 형태의 전자 기기로 구현될 수 있다.
적외광 조사부(110)는 적외광을 사람과 같은 객체에 조사한다.
뎁스 카메라(120)는 적외광에 의하여 객체에서 반사된 빛을 포착하여 뎁스 영상 프레임을 생성한다. 뎁스 영상 프레임은 캐릭터 영상 처리 장치(100)와 객체와의 거리 정보를 포함한다. 뎁스 카메라(120)는 움직이는 객체를 포착하기 위하여 연속적으로 객체를 촬영하여 제어부(130)로 전달할 수 있다. 예를 들어, 뎁스 카메라(120)는 30 frames/sec로 뎁스 영상 프레임을 제어부(130)로 전달할 수 있다.
제어부(130)는 캐릭터 영상 처리 장치(100)의 동작 전반을 제어할 수 있다. 제어부(130)는 일 실시예에 따른 캐릭터 영상 처리를 수행하는 캐릭터 영상 처리부(132)를 포함할 수 있다.
캐릭터 영상 처리부(132)는 뎁스 카메라(120)로부터 수신한 뎁스 영상 프레임을 처리하여 캐릭터 영상 프레임을 생성한다. 상세하게는, 캐릭터 영상 처리부(132)는 뎁스 영상 프레임을 분석하여 뎁스 영상 프레임에 포함된 객체의 복수의 조인트 정보를 추출하고, 캐릭터의 대응되는 조인트에 설정하여 캐릭터 영상 프레임을 생성할 수 있다. 또한, 캐릭터 영상 처리부(132)는 캐릭터 영상 프레임으로 형성되는 캐릭터 애니메이션에서 발 미끄러짐 현상이 제거되도록 캐릭터 영상 프레임을 처리하도록 구성된다. 캐릭터 영상 처리부(132)의 구성 및 동작의 상세는 도 2를 참조하여 후술한다.
저장부(140)는 캐릭터 영상 처리 장치(100)의 동작에 필요한 운영체제 및 각종 애플리케이션 데이터와 제어부(130)에서 처리된 캐릭터 영상 애니케이션 데이터 등을 저장할 수 있다.
표시부(150)는 캐릭터 영상 처리부(132)에서 처리된 캐릭터 영상 프레임을 출력한다. 표시부(150)는 일련의 캐릭터 영상 프레임을 출력하여 캐릭터 애니메이션을 제공할 수 있다. 또한, 표시부(150)는 캐릭터 영상 처리부(132)에서 결정된 캐릭터의 포즈를 가지는 캐릭터 영상을 순차적으로 표시하여 실시간 캐릭터 애니메이션을 제공한다.
사용자 입력부(160)는 사용자 입력 신호를 수신하여 제어부(130)에 전달한다. 제어부(130)는 사용자 입력 신호를 기초로 캐릭터 영상 처리부(132)의 동작을 제어할 수 있다. 사용자 입력부(160)는 키보드, 터치 패널, 터치 스크린, 마우스 등 다양한 형태의 사용자 입력 장치를 포함할 수 있다.
도 2는 도 1의 캐릭터 영상 처리 장치(100)의 캐릭터 영상 처리부(132)의 구성의 일 예를 나타내는 블록도이다.
캐릭터 영상 처리부(132)는 뎁스 영상 처리부(210), 제약 프레임 결정부(220) 및 캐릭터 포즈 조정부(220)를 포함할 수 있다.
뎁스 영상 처리부(210)는 오픈소스 프로젝트인 OpenNI(Open Natural Interaction)와 같은 미들웨어를 이용하여 뎁스 영상 프레임을 분석하여 사용자의 위치와, 조인트 위치 및 조인트 방향값을 얻을 수 있는 함수를 제공할 수 있다. 여기에서, 방향값은 쿼터니안 예를 들어, 뎁스 영상 처리부(210)는 이 함수를 통해 15개 조인트의 위치 및 방향값을 실시간으로 얻을 수 있다. 또한, 뎁스 영상 처리부(210)는 3차원 캐릭터를 로딩하고, 3차원 캐릭터의 조인트 개수 및 이름을 결정할 수 있다.
뎁스 영상 처리부(210)는 뎁스 영상 프레임이 수신될 때마다, 뎁스 영상 프레임에서 획득된 복수의 조인트를 3차원 캐릭터의 대응되는 복수의 조인트에 매칭하여 뎁스 영상 프레임으로부터 캐릭터 영상 프레임을 생성할 수 있다. 뎁스 영상 프레임에서 획득된 복수의 조인트를 3차원 캐릭터의 대응되는 복수의 조인트에 매칭하는 것은, 뎁스 영상 프레임에서 획득된 각 조인트의 방향값을 대응하는 캐릭터의 조인트의 방향값으로 설정하는 것을 의미한다. 여기에서, 방향값은 쿼터니언(Quaternions)을 이용하여 나타낼 수 있다. 따라서, 생성된 캐릭터 영상 프레임은 캐릭터의 복수의 조인트에 대한 방향값 정보를 포함하고, 이와 같이, 뎁스 영상 프레임의 처리 결과 설정된 조인트에 대한 방향값 정보를 원래의 방향값이라고 할 수 있다.
뎁스 영상 처리부(210)는 생성된 캐릭터 영상 프레임을 제약 프레임 결정부(220)로 입력한다. 뎁스 영상 처리부(210)는 뎁스 영상이 입력될 때마다 처리하여 생셩된 캐릭터 영상 프레임을 제약 프레임 결정부(220)로 입력할 수 있다.
사람의 특성상 대개 발이 지면에 닿은 후에는 일정시간 동안 지속된다. 일반적으로 걷는 동작을 수행 시, 각 발은 1-2초 동안 땅에 닿게 된다. 발 미끄러짐은 하나의 포인트에 고정되어야 할 발의 위치가 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 캐릭터 영상 프레임들에서 움직이는 현상이므로, 그 위치를 한점으로 고정시키는 작업이 필요하다. 그러나, 만약 모션 캡처 데이터와 달리, 실시간으로 입력되는 캐릭터 영상 프레임에서는, 미래의 발 위치를 알 수 없다.
이를 위해, 제약 프레임 결정부(210)는 캐릭터 영상 프레임이 입력될 때마다, 입력되는 캐릭터 영상 프레임에서 캐릭터의 발이 미리 설정된 지면에 닿는지를 결정한다. 제약 프레임 결정부(210)는 입력되는 캐릭터 영상 프레임에서 캐릭터의 발이 지면에 닿는 것으로 결정되는 첫번째 캐릭터 영상 프레임을 제약 기준 프레임으로 결정하고, 제약 기준 프레임에서 캐릭터의 발의 위치를 고정 발 위치로 지정한다.
또한, 제약 프레임 결정부(210)는 제약 기준 프레임 이후에 입력되는 캐릭터 영상 프레임에서 제약 프레임을 결정한다. 제약 프레임(constraint frame)은 입력되는 캐릭터 영상 프레임 중에서, 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 캐릭터 영상 프레임을 가리킨다. 즉, 제약 프레임은, 일 실시예에 따른 제약 기준 프레임으로부터 획득된 고정 발 위치를 이용하여 캐릭터의 발 미끄러짐 제거를 위한 동작이 적용되는 캐릭터 영상 프레임을 말한다.
제약 프레임 결정부(210)는 제약 기준 프레임을 결정(또는 검출)하는 동작을 센서 도메인 및 캐릭터 도메인에서 수행할 수 있다.
제약 프레임 결정부(210)는, 센서 도메인에서, 뎁스 카메라(120)로부터 받은 월드 좌표에서의 위치 값을 이용해 캐릭터의 발이 지면에 닿는지를 확인할 수 있다. 이 방법은, 실공간의 위치를 기반으로 함으로 센서 앞의 사용자의 위치와 센서가 놓여있는 위치 등에 민감할 수 있다.
제약 프레임 결정부(210)는 캐릭터 도메인에서, 뎁스 영상 프레임에서의 복수의 조인트에 대응하는 방향값들을 3차원 캐릭터의 대응되는 복수의 조인트에 설정한 후에 캐릭터의 발의 위치를 확인하고, 3차원 캐릭터의 가상 공간상의 위치를 확인하여 캐릭터의 발의 위치가 가상 공간상에 미리 설정된 지면에 닿는지를 확인할 수 있다. 이하에서는, 캐릭터 도메인에서 제약 프레임을 결정하는 동작을 중심으로 설명한다.
현재 캐릭터 영상 프레임에서의 발 위치를 Pf라고 하고, 바로 전의 캐릭터 영상 프레임의 발위치를 Ppf라고 하고, 발 이동 속도를 Vf라 할 때, 발 이동 속도(Vf)는 다음의 수학식 1과 같이 계산된다
Figure pat00001
여기에서, r(v,n) = roundXL(v,n)이며, v를 n자리에서 반올림하는 함수이다. delta_t는 각 캐릭터 영상 프레임 사이의 시간 간격이다.
제약 프레임 결정부(210)는 발 이동 속도(Vf)와 발 위치(Pf)의 값을 이용해 두 값이 일정 임계값(threshold)값 안으로 들어오면, 이를 제약 프레임으로 결정할 수 있다. 즉, 제약 프레임들에서 각 캐릭터 영상 프레임의 캐릭터의 발 위치의 변화 속도(Vf)는 임계 변화 속도 이하가 된다.
도 3은 본 발명의 일 실시예에 따른 캐릭터의 발 위치 고정되는 제약 프레임 구간을 나타내는 도면이다.
도 3에서 각 눈금은 입력되는 캐릭터 영상 프레임을 나타낸다. 도 3에 도시된 바와 같이, 입력되는 캐릭터 영상 프레임 중 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 제약 프레임들(또는 제약 프레임 구간)이 결정될 수 있다.
또한, 도 3은 캐릭터 영상 프레임에서 왼발 및 오른발에 대하여 각각 별도의 제약 프레임이 결정될 수 있음을 나타낸다. 따라서, 제약 프레임 결정부(210)는 입력되는 캐릭터 영상 프레임의 캐릭터의 왼쪽 발에 대하여 제약 기준 프레임 및 제약 프레임을 결정하고, 그와 함께 병렬적으로 캐릭터의 오른 발에 대하여 제약 기준 프레임 및 제약 프레임을 결정할 수 있다.
다시 도 2를 참조하면, 캐릭터 포즈 조정부(230)는 제약 기준 프레임 이후에 순차적으로 입력되며 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 제약 프레임들에서 고정 발 위치를 기준으로 캐릭터의 하체의 포즈를 조정한다. 캐릭터의 하체의 포즈를 조정하는 것은, 해당 캐릭터 영상 프레임의 캐릭터의 하체 부위의 복수의 조인트들에 대한 방향값을 원래의 방향값으로부터 조정하는 것을 의미한다.
도 2에 도시된 바와 같이, 캐릭터 포즈 조정부(230)는 루트 조인트 위치 조정부(232), IK(Inverse Kinematics) 적용부(234) 및 스무딩부(236)를 포함할 수 있다.
제약 프레임들에서 또는 제약 프레임 구간의 캐릭터 영상 프레임에서, 캐릭터가 사지를 완전히 펴더라도(fully-stretched), 캐릭터의 발이 미리 설정된 지면에 닿지 않는 경우가 발생한다. 캐릭터의 발이 미리 설정된 지면에 닿지 않는 경우, 예를 들어, 캐릭터가 사지를 완전히 핀 경우에 캐릭터의 발이 가상 공간의 지면 위에 위치되는 경우일 수 있다.
루트 조인트 위치 조정부(232)는 입력된 제약 프레임에서 캐릭터가 사지를 완전히 펴더라도, 캐릭터의 발이 미리 설정된 지면에 닿지 않는지를 결정할 수 있다. 그 경우, 루트 조인트 위치 조정부(232)는 캐릭터 영상 프레임에서 캐릭터 전체의 전역 위치를 결정하는 루트 조인트의 위치를 변경하여 해당 캐릭터 영상 프레임의 고정 발위치가 지면에 닿도록 캐릭터 영상 프레임을 처리한다. 루트 조인트는 조인트 위치 중 토르소 센터(torso center)일 수 있다. 여기에서, 고정 발위치는 왼발에 대한 왼쪽 고정 발위치 및 오른발에 대한 오른쪽 고정 발위치를 포함할 수 있다.
루트 조인트의 위치 조정 방법은 도 4 및 도 5를 참조하여 설명한다.
도 4는 본 발명의 일 실시예에 따른 한 쪽 다리 구조를 기준으로 루트 조인트 위치 조정 방법을 설명하기 위한 도면이다.
도 4에서, Pr은 루트 조인트 위치이며, Pt은 고정 발 위치이며, O은 루트 조인트 위치(Pr)에서의 오프셋 벡터이고, l는 다리의 길이를 나타낸다. 오프셋 벡터는 루트 조인트와 힙 조인트 사이의 벡터이다. 힙 조인트는 다리 조인트가 시작되는 조인트를 나타낸다.
이 경우, 루트 조인트의 위치(Pt)는 다음 조건을 만족하여야만 캐릭터가 사지를 뻗어, 캐릭터의 발이 지면에 닿을 수 있다.
Figure pat00002
이 조건은 오프셋 벡터를 고정 발 위치에 적용하여, 고정 발 위치에서 오프셋 벡터를 차감한 위치인 Pt-o를 중점으로 한 l 길이의 원을 생각할 수 있는데, 루트 조인트 위치(Pr)가 이 원의 안에 들어 있을 때만 캐릭터의 발이 지면에 닿을 수 있음을 나타낸다.
도 5는 본 발명의 다른 실시예에 따른 양쪽 다리 구조를 이용한 루트 조인트 위치 조정 방법을 설명하기 위한 도면이다.
두 발이 모두 땅에 닿아야 하므로, 왼쪽 고정 발위치를 Pt1이라고 하고, 오른쪽 고정 발위치를 Pt2라고 할 때, 왼쪽 고정 발위치(Pr1) 및 오른쪽 고정 발위치(Pr2)를 각각 수학식 2에 대입하여 2개의 원을 설정하고, 캐릭터의 루트 조인트 위치(Pr)가 동시에 두 원에 들어갈 수 있도록, 캐릭터의 루트 조인트(Pr) 두 원의 교차 영역에 투사(projection)한 포인트 위치로 조정할 수 있다.
즉, 루트 조인트 위치 조정부(232)는 오프셋 벡터를 적용한 왼쪽 고정 발위치(Pt1)를 중점으로 다리 길이(l)를 반지름으로 하는 제1 원과, 오프셋 벡터를 적용한 오른쪽 고정 발위치(Pt2)를 중점으로 다리 길이(l)를 반지름으로 하는 제2 원의 교차점을 제약 프레임의 캐릭터의 새로운 루트 조인트의 위치로 결정하고, 제약 프레임의 캐릭터의 원래의 루트 조인트의 위치를 새로운 루트 조인트의 위치로 조정할 수 있다. 제약 프레임에서 원래의 루트 조인트의 위치가 새로운 루트 조인트의 위치로 조정되면, 그에 따라, 캐릭터 전체의 가상 공간에서의 위치가 조정된다.
다음으로, 캐릭터의 하체의 포즈를 조정하는 동작에 대하여 설명한다.
IK 적용부(234)는 제약 프레임들에서 고정 발 위치를 기준으로 IK 알고리즘을 적용하여 캐릭터의 하체의 포즈를 조정할 수 있다. IK(Inverse Kinematics)는 역기구학이라고 하며, 상위 관절의 움직임이 하위 관절에 미치는 것이 아니라, 하위 관절의 움직임에 따라 제한된 범위 내에서 상위 관절의 움직임을 자동을 계산하는 알고리즘이다. IK 적용부(234)의 동작에 대하여, 도 6a, 도 6b 및 도 6c를 참조하여 설명한다.
도 6a, 도 6b 및 도 6c는 본 발명의 일 실시예에 따른 IK 적용 과정을 나타내는 도면이다.
도 6a는 루트 조인트 조정 결과 결정된 캐릭터의 하체의 포즈를 나타낸다. 도 6b는 도 6a의 캐릭터의 하체의 포즈에서 무릎 조인트의 각도를 결정하여 캐릭터의 하체의 포즈가 조정된 결과를 나타낸다. 도 6c는 결정된 무릎 조인트의 각도를 유지한 상태에서 캐릭터의 발을 고정 발 위치로 이동시켜서 캐릭터의 하체의 포즈가 조정된 결과를 나타낸다.
IK 적용부(234)는, 고정 발위치가(Pt) 결정되면, 다음 수학적 해결(numerical solving) 방법을 이용해 다리의 구성(configuration), 즉, 힙(hip) 조인트와 무릎(knee) 조인트와 발목(ankle) 조인트의 방향값(orientation value)을 결정한다. IK 적용부(234)는 첫 번째 단계로 캐릭터의 무릎 조인트의 각도를 결정한다. 무릎 조인트의 각도는 흔히 IK(Inverse Kinematics) 해법 방법을 이용하여 결정할 수 있다. 특히, IK 적용부(234)는 IK를 구현하는 여러 가지 방법 중 분석적 IF(Analytic IK) 방법을 사용할 수 있다.
힙 조인트 위치(Ph)와 목표 위치(Pt)가 되는 고정 발 위치를 사이의 벡터를 Pt_Ph라고 하고, 힙 조인트 위치(Ph)와 현재 발위치(Pf) 사이의 벡터를 Pf_Ph라고 하면 이를 위해, IK 적용부(234)는, 이 두 벡터를 길이가 매칭하도록 무릎 조인트의 각도(θk)를 구할 수 있다.
수학적으로 표현하면, 무릎 조인트의 각도(θk)는 다음의 수학식 3을 이용하여 계산될 수 있다.
Figure pat00003
여기에서, l1는 대퇴부(thigh)의 길이를 나타내고, l2는 정강이(shin)의 길이를 나타낸다. sqrt(x)는 x의 제곱근(square root)을 나타낸다. 무릎은 하나의 축에 대해서만 회전할 수 있다. 여기에서,
Figure pat00004
는 무릎의 회전축에 의해 정의된 평면에 대퇴부가 투사된 길이를 나타내고,
Figure pat00005
는 무릎의 회전축에 의해 정의된 평면에 정강이가 투사된 길이를 나타낸다.
그런 다음, IK 적용부(234)는, 두 번째 단계로, 앞서 결정된 무릎 조인트의 각도(θk)를 유지한 상태에서, 전체 다리를 타깃인 고정 발위치(Pt)에 옮겨 놓는다. 힙->무릎->발목 순으로 형성된 계층적 다리 조인트를 고려하면, IK 적용부(234)는 이 동작을 통해 가장 상위 조인트인 힙 조인트의 각도(θh)를 결정할 수 있다. 상세하게는, IK 적용부(234)는, 벡터(Pf_Ph)와 벡터(Pt_Ph) 사이의 각도를 구한 후, 이 각도를 원래 힙 조인트가 갖고 있는 원래의 방향 값에 곱하여 힙 조인트의 각도(θh)를 계산할 수 있다.
정리하면, IK 적용부(234)는, 제약 프레임의 캐릭터의 힙 위치와 현재 발 위치 사이의 제1 벡터(Pf_Ph)의 길이가, 제약 프레임의 캐릭터의 힙 위치와 고정 발 위치 사이의 제2 벡터(Pt_Ph)의 길이와 동일하게 되도록, 제약 프레임의 캐릭터의 무릎 조인트의 각도를 계산하고, 계산된 무릎 조인트의 각도를 유지한 상태에서, 캐릭터의 현재의 발위치를 고정 발 위치로 이동시켜서 제약 프레임의 캐릭터의 힙 조인트의 각도를 결정할 수 있다. 여기에서, 캐릭터의 현재의 발위치는, 캐릭터가 다리를 곧게 뻗어도 미리 설정된 고정 발 위치에 닿지 않아서, 캐릭터의 루트 조인트의 위치가 조정된 경우에는, 루트 조인트의 위치 조정에 따라 대응하도록 조정된 발 위치이다. 캐릭터의 조인트의 위치가 조정되지 않은 경우에는, 캐릭터의 현재의 발위치는, 캐릭터 영상 프레임이 생성될 때 설정된 원래의 발위치이다.
두번째 단계인 힙 조인트 각도(θh)를 결정할 때, 캐릭터의 발 위치가 고정 발 위치에 정확히 도착하면서 첫 번째 단계에서 결정된 무릎 조인트의 각도(θk)를 유지할 수 있는 해는 도 6c의 점선의 원으로 도시된 바와 같이, 하나가 아니라 여러 개가 나올 수 있다.
이 경우, IK 적용부(234)는, 계산된 무릎 조인트의 각도(θk)를 유지한 상태에서, 캐릭터의 현재의 발위치를 고정 발 위치로 이동시켜서 제약 프레임의 캐릭터의 힙 조인트의 각도(θh)가 복수 개로 결정되는 경우, 복수 개의 힙 조인트(θh)의 각도 중 캐릭터의 원래의 힙 조인트의 각도에 가장 근접한 각도를 선택할 수 있다.
뎁스 영상 처리부(210), 제약 프레임 결정부(220), 루트 조인트 위치 조정부(232) 및 IK 적용부(234)의 모든 프로세싱은 실시간으로 들어오는 각 캐릭터 영상 프레임마다 수행되므로, 프로세싱 과정에서 이러한 각 캐릭터 영상 프레임에 대한 포즈 결정 결과 사이에 일관성(consistency)이 유지되지 못할 경우가 있다.
스무딩부(246)는 각 캐릭터 영상 프레임에 대한 포즈 결정 결과 사이의 일관성이 유지되도록 하기 위하여, 제약 프레임의 직전에 입력된 캐릭터 영상 프레임에서의 힙 조인트 각도(θhp), 무릎 조인트 각도(θkp) 및 발목 조인트 각도(θap)를 기준으로 제약 프레임의 캐릭터의 힙 조인트 각도(θh), 무릎 조인트 각도(θk) 및 발목 조인트 각도(θa) 중 적어도 하나의 변화량이 각 부위에 대하여 미리 설정된 임계 변화 각도 이상 변화한 경우, 직전에 입력된 캐릭터 영상 프레임을 이용하여 제약 프레임에 대한 스무딩을 수행할 수 있다.
이때, 힙 조인트 각도(θh)에 대한 임계 변화 각도를 제1 임계 변화 각도라 하고, 무릎 조인트 각도(θk)에 대한 임계 변화 각도를 제2 임계 변화 각도라 하고 및 발목 조인트 각도(θa)에 대한 임계 변화 각도를 제3 임계 변화 각도라고 할 때, 제1 임계 변화 각도, 제2 임계 변화 각도 및 제3 임계 변화 각도는 각각 다르게 설정될 수 있다.
스무딩부(246)는 현재 캐릭터 영상 프레임 및 직전 캐릭터 영상 프레임에 대하여 SLERP(Spherical Linear Interpolation)방법을 통해 스무딩을 수행할 수 있다.
본 발명의 일 실시예에 따른 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치는 도 2의 캐릭터 영상 처리부의 구성만을 지칭할 수 있다. 도 1에 도시된 바와 같은 뎁스 영상 프레임을 생성하고, 뎁스 영상을 캐릭터 영상으로 변환하여 처리하는 장치 전체를 지칭할 수도 있다.
도 7은 본 발명의 일 실시예에 따른 캐릭터 영상 처리 방법을 나타내는 순서도이다.
도 1 및 도 7을 참조하면, 캐릭터 영상 처리 장치(100)는 입력되는 캐릭터 영상 프레임에서 캐릭터의 발이 미리 설정된 지면에 닿는지를 결정한다(710).
캐릭터 영상 처리 장치(100)는 캐릭터의 발이 지면에 닿는 것으로 결정되는 첫번째 캐릭터 영상 프레임을 제약 기준 프레임으로 결정한다(720).
캐릭터 영상 처리 장치(100)는 제약 기준 프레임에서 캐릭터의 발의 위치를 고정 발 위치로 지정한다(730).
캐릭터 영상 처리 장치(100)는 제약 기준 프레임 이후에 순차적으로 입력되며 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 제약 프레임들에서 고정 발 위치를 기준으로 캐릭터의 포즈를 조정한다(740).
도 8은 도 7의 본 발명의 일 실시예에 따른 캐릭터 포즈를 조정하는 과정(740)을 상세하게 나타내는 순서도이다.
도 2의 캐릭터 포즈 조정부(230)는 제약 프레임이 입력되면, 해당 제약 프레임의 캐릭터의 발이 제약 프레임의 캐릭터가 사지를 뻗더라도 지면에 닿지 않는지 확인한다(820).
해당 제약 프레임의 캐릭터의 발이 지면에 닿지 않는 경우(820), 도 2의 캐릭터 포즈 조정부(230)는 제약 프레임의 캐릭터의 발이 지면에 닿도록 제약 프레임의 캐릭터의 루트 조인트의 위치를 조정한다(830). 동작 830에서, 캐릭터 포즈 조정부(230)는 오프셋 벡터를 적용한 왼쪽 고정 발위치(Pt1)를 중점으로 다리 길이(l)를 반지름으로 하는 제1 원과, 오프셋 벡터를 적용한 오른쪽 고정 발위치(Pt2)를 중점으로 다리 길이(l)를 반지름으로 하는 제2 원의 교차점을 제약 프레임의 캐릭터의 새로운 루트 조인트의 위치로 결정하고, 제약 프레임의 캐릭터의 원래의 루트 조인트의 위치를 새로운 루트 조인트의 위치로 조정할 수 있다.
해당 제약 프레임의 캐릭터의 발이 제약 프레임의 캐릭터가 사지를 뻗으면, 캐릭터의 발이 지면에 닿는 경우(820), 동작 840으로 진행한다.
캐릭터 포즈 조정부(230)는, 제약 프레임들에서 고정 발 위치를 기준으로 IK 알고리즘을 적용하여 캐릭터의 하체의 포즈를 조정한다(840). 동작 840에서, 캐릭터 포즈 조정부(230)는, 제약 프레임의 캐릭터의 힙 위치와 현재 발 위치 사이의 제1 벡터의 길이가, 제약 프레임의 캐릭터의 힙 위치와 고정 발 위치 사이의 제2 벡터의 길이와 동일하게 되도록, 제약 프레임의 캐릭터의 무릎 조인트의 각도를 계산하고, 계산된 무릎 조인트의 각도를 유지한 상태에서, 캐릭터의 현재의 발위치를 고정 발 위치로 이동시켜서 제약 프레임의 캐릭터의 힙 조인트의 각도를 결정할 수 있다. 계산된 무릎 조인트의 각도를 유지한 상태에서, 캐릭터의 현재의 발위치를 고정 발 위치로 이동시켜서 제약 프레임의 캐릭터의 힙 조인트의 각도가 복수 개로 결정되는 경우, 캐릭터 포즈 조정부(230)는, 복수 개의 힙 조인트의 각도 중 캐릭터의 원래의 힙 조인트의 각도에 가장 근접한 각도를 선택하여, 2차적으로 제약 프레임의 캐릭터의 힙 조인트의 각도를 결정할 수 있다.
캐릭터 포즈 조정부(230)는, 제1 조건, 제2 조건 및 제3 조건 중 적어도 하나의 조건을 만족하는지 결정한다(850). 여기에서, 제1 조건은, 현재 제약 프레임의 직전에 입력된 캐릭터 영상 프레임에서의 힙 조인트 각도를 현재 제약 프레임에서의 힙 조인트 각도와 비교했을 때, 직전에 입력된 캐릭터 영상 프레임에서의 힙 조인트 각도의 변화 각도가 미리 설정된 제1 임계 변화 각도 이상인 경우 만족되는 조건을 나타낸다. 제2 조건은, 제약 프레임의 직전에 입력된 캐릭터 영상 프레임에서의 힙 조인트의 변화 각도가 미리 설정된 제2 임계 변화 각도 이상인 경우 만족되는 조건을 나타낸다. 제3 조건은, 제약 프레임의 직전에 입력된 캐릭터 영상 프레임에서의 발목 조인트의 변화 각도가 미리 설정된 제3 임계 변화 각도 이상인 경우 만족되는 조건을 나타낸다.
제1 조건, 제2 조건 및 제3 조건 중 적어도 하나의 조건이 만족되는 경우, 캐릭터 포즈 조정부(230)는 직전에 입력된 캐릭터 영상 프레임을 이용하여 현재 처리중인 제약 프레임에 대한 스무딩을 수행하여, 동작 840에서 조정된 캐릭터의 하체의 포즈를 다시 조정한다(860). 그런 다음, 캐릭터 포즈 조정부(230)는 동작 860에서 조정된 캐릭터의 하체의 포즈를 가지는 캐릭터 영상 프레임을 출력한다(870).
제1 조건, 제2 조건 및 제3 조건 중 적어도 하나의 조건이 만족되지 않는 경우, 캐릭터 포즈 조정부(230)는 동작 840에서 결정된 캐릭터의 하체의 포즈를 가지는 캐릭터 영상 프레임을 출력한다(870). 그런 다음, 캐릭터 포즈 조정부(230)는 다음 입력되는 제약 프레임에 대하여 위의 동작을 반복적으로 수행할 수 있다.
본 발명의 일 양상은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.

Claims (19)

  1. 입력되는 캐릭터 영상 프레임에서 캐릭터의 발이 미리 설정된 지면에 닿는지를 결정하고, 캐릭터의 발이 상기 지면에 닿는 것으로 결정되는 첫번째 캐릭터 영상 프레임을 제약 기준 프레임으로 결정하고, 상기 제약 기준 프레임에서 캐릭터의 발의 위치를 고정 발 위치로 지정하는 제약 프레임 결정부; 및
    상기 제약 기준 프레임 이후에 순차적으로 입력되는 캐릭터 영상 프레임들 중 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 제약 프레임들에서 상기 고정 발 위치를 기준으로 캐릭터의 포즈를 조정하는 캐릭터 포즈 조정부; 를 포함하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  2. 제1항에 있어서,
    상기 제약 프레임들에서 각 캐릭터 영상 프레임의 캐릭터의 발 위치의 변화 속도는 임계 변화 속도 이하인 것을 특징으로 하는 캐릭터 영상 처리 장치.
  3. 제1항에 있어서,
    상기 캐릭터 포즈 조정부는,
    상기 제약 프레임의 캐릭터가 사지를 뻗더라도 캐릭터의 발이 지면에 닿지 않는 경우, 상기 제약 프레임의 캐릭터의 발이 상기 지면에 닿도록 상기 제약 프레임의 캐릭터의 루트 조인트의 위치를 조정하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  4. 제1항에 있어서,
    상기 고정 발위치는 왼쪽 고정 발위치 및 오른쪽 고정 발위치를 포함하고, 루트 조인트와 힙 조인트 사이의 벡터를 나타내는 오프셋 벡터를 적용한 왼쪽 고정 발위치(Pt1)를 중점으로 다리 길이(l)를 반지름으로 하는 제1 원과, 상기 오프셋 벡터를 적용한 오른쪽 고정 발위치(Pt2)를 중점으로 다리 길이(l)를 반지름으로 하는 제2 원의 교차점을 제약 프레임의 캐릭터의 새로운 루트 조인트의 위치로 결정하고, 제약 프레임의 캐릭터의 원래의 루트 조인트의 위치를 새로운 루트 조인트의 위치로 조정하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  5. 제1항에 있어서,
    상기 캐릭터 포즈 조정부는, 상기 제약 프레임들에서 상기 고정 발 위치를 기준으로 IK(Inverse Kinematics) 알고리즘을 적용하여 상기 캐릭터의 하체의 포즈를 조정하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  6. 제5항에 있어서,
    상기 캐릭터 포즈 조정부는, 상기 제약 프레임의 캐릭터의 힙 위치와 현재 발 위치 사이의 제1 벡터의 길이가, 상기 제약 프레임의 캐릭터의 힙 위치와 고정 발 위치 사이의 제2 벡터의 길이와 동일하게 되도록 하는, 상기 제약 프레임의 캐릭터의 무릎 조인트의 각도를 계산하고, 상기 계산된 무릎 조인트의 각도를 유지한 상태에서, 상기 캐릭터의 현재의 발위치를 상기 고정 발 위치로 이동시켜서 상기 제약 프레임의 캐릭터의 힙 조인트의 각도를 결정하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  7. 제6항에 있어서,
    상기 캐릭터 포즈 조정부는, 상기 계산된 무릎 조인트의 각도를 유지한 상태에서, 상기 캐릭터의 현재의 발위치를 상기 고정 발 위치로 이동시켜서 상기 제약 프레임의 캐릭터의 힙 조인트의 각도가 복수 개로 결정되는 경우, 상기 복수 개의 힙 조인트의 각도 중 상기 캐릭터의 원래의 힙 조인트의 각도에 가장 근접한 각도를 선택하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  8. 제5항에 있어서,
    상기 캐릭터 포즈 조정부는, 상기 제약 프레임의 직전에 입력된 캐릭터 영상 프레임에서의 힙 조인트 각도, 무릎 조인트 각도 및 발목 조인트 각도를 기준으로 상기 제약 프레임의 캐릭터의 힙 조인트 각도, 무릎 조인트 각도 및 발목 조인트 각도 중 적어도 하나의 변화량이 각 부위에 대하여 미리 설정된 임계 변화 각도 이상 변화한 경우, 상기 직전에 입력된 캐릭터 영상 프레임을 이용하여 상기 제약 프레임에 대한 스무딩을 수행하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  9. 제1항에 있어서,
    뎁스 영상 프레임을 입력받고, 상기 뎁스 영상 프레임으로부터 추출되는 복수의 조인트를 3차원 캐릭터의 대응되는 복수의 조인트에 매칭하여 상기 뎁스 영상프레임으로부터 상기 캐릭터 영상 프레임을 생성하고, 상기 캐릭터 영상 프레임을 상기 제약 프레임 결정부로 입력하는 뎁스 영상 처리부; 를 더 포함하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  10. 제1항에 있어서,
    적외광을 조사하는 적외광 조사부; 및
    상기 적외광에 의하여 반사된 빛을 포착하여 상기 뎁스 영상 프레임을 생성하는 뎁스 카메라;를 더 포함하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  11. 제1항에 있어서,
    상기 결정된 캐릭터의 포즈를 가지는 캐릭터 영상을 순차적으로 표시하여 실시간 캐릭터 애니메이션을 제공하는 표시부;를 더 포함하는 것을 특징으로 하는 캐릭터 영상 처리 장치.
  12. 입력되는 캐릭터 영상 프레임에서 캐릭터의 발이 미리 설정된 지면에 닿는지를 결정하는 단계;
    상기 캐릭터의 발이 상기 지면에 닿는 것으로 결정되는 첫번째 캐릭터 영상 프레임을 제약 기준 프레임으로 결정하는 단계;
    상기 제약 기준 프레임에서 캐릭터의 발의 위치를 고정 발 위치로 지정하는 단계; 및
    상기 제약 기준 프레임 이후에 순차적으로 입력되는 캐릭터 영상 프레임들 중 캐릭터의 발이 미리 설정된 지면에 닿아야 하는 것으로 결정되는 제약 프레임들에서 상기 고정 발 위치를 기준으로 캐릭터의 포즈를 조정하는 단계; 를 포함하는 것을 특징으로 하는 캐릭터 영상 처리 방법.
  13. 제12항에 있어서,
    상기 고정 발 위치를 기준으로 캐릭터의 포즈를 조정하는 단계는,
    상기 제약 프레임의 캐릭터가 사지를 뻗더라도 캐릭터의 발이 지면에 닿지 않는지 확인하는 단계; 및
    상기 제약 프레임의 캐릭터의 발이 상기 지면에 닿지 않는 경우, 상기 제약 프레임의 캐릭터의 발이 상기 지면에 닿도록 상기 제약 프레임의 캐릭터의 루트 조인트의 위치를 조정하는 단계; 를 포함하는 것을 특징으로 하는 캐릭터 영상 처리 방법.
  14. 제13항에 있어서,
    상기 고정 발위치는 왼쪽 고정 발위치 및 오른쪽 고정 발위치를 포함하고,
    상기 제약 프레임의 캐릭터의 루트 조인트의 위치를 조정하는 단계는,
    루트 조인트와 힙 조인트 사이의 벡터를 나타내는 오프셋 벡터를 적용한 왼쪽 고정 발위치(Pt1)를 중점으로 다리 길이(l)를 반지름으로 하는 제1 원과, 상기 오프셋 벡터를 적용한 오른쪽 고정 발위치(Pt2)를 중점으로 다리 길이(l)를 반지름으로 하는 제2 원의 교차점을 제약 프레임의 캐릭터의 새로운 루트 조인트의 위치로 결정하는 단계; 및
    상기 제약 프레임의 캐릭터의 원래의 루트 조인트의 위치를 상기 새로운 루트 조인트의 위치로 조정하는 단계; 를 포함하는 것을 특징으로 하는 캐릭터 영상 처리 방법.
  15. 제13항에 있어서,
    상기 캐릭터의 포즈를 조정하는 단계는, 상기 제약 프레임의 캐릭터의 루트 조인트의 위치를 조정하는 단계 이후에, 상기 제약 프레임들에서 상기 고정 발 위치를 기준으로 IK 알고리즘을 적용하여 상기 캐릭터의 하체의 포즈를 조정하는 단계를 더 포함하는 것을 특징으로 하는 캐릭터 영상 처리 방법.
  16. 제15항에 있어서,
    상기 제약 프레임들에서 상기 고정 발 위치를 기준으로 IK 알고리즘을 적용하여 상기 캐릭터의 하체의 포즈를 조정하는 단계는,
    상기 제약 프레임의 캐릭터의 힙 위치와 현재 발 위치 사이의 제1 벡터의 길이가, 상기 제약 프레임의 캐릭터의 힙 위치와 고정 발 위치 사이의 제2 벡터의 길이와 동일하게 되도록 하는, 상기 제약 프레임의 캐릭터의 무릎 조인트의 각도를 계산하는 단계; 및
    상기 계산된 무릎 조인트의 각도를 유지한 상태에서, 상기 캐릭터의 현재의 발위치를 상기 고정 발 위치로 이동시켜서 상기 제약 프레임의 캐릭터의 힙 조인트의 각도를 결정하는 단계;를 포함하는 것을 특징으로 하는 캐릭터 영상 처리 방법.
  17. 제16항에 있어서,
    상기 계산된 무릎 조인트의 각도를 유지한 상태에서, 상기 캐릭터의 현재의 발위치를 상기 고정 발 위치로 이동시켜서 상기 제약 프레임의 캐릭터의 힙 조인트의 각도를 결정하는 단계에서,
    상기 힙 조인트의 각도가 복수 개로 결정되는 경우, 상기 복수 개의 힙 조인트의 각도 중 상기 캐릭터의 원래의 힙 조인트의 각도에 가장 근접한 각도를 선택하는 것을 특징으로 하는 캐릭터 영상 처리 방법.
  18. 제15항에 있어서,
    상기 캐릭터의 하체의 포즈를 조정하는 단계 이후에,
    상기 제약 프레임의 직전에 입력된 캐릭터 영상 프레임을 이용하여, 상기 제약 프레임의 캐릭터의 힙 조인트 각도, 무릎 조인트 각도 및 발목 조인트 각도 중 적어도 하나의 변화량이 각 부위에 대하여 미리 설정된 임계 변화 각도 이상 변화한 경우, 상기 직전에 입력된 캐릭터 영상 프레임을 이용하여 상기 제약 프레임에 대한 스무딩을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 캐릭터 영상 처리 방법.
  19. 제12항에 있어서,
    실공간을 촬영한 뎁스 영상 프레임의 복수의 조인트를 3차원 캐릭터의 대응되는 복수의 조인트에 매칭하여 상기 뎁스 영상 프레임으로부터 상기 캐릭터 영상 프레임을 생성하는 단계; 를 더 포함하는 것을 특징으로 하는 캐릭터 영상 처리 방법.
KR1020110093666A 2011-09-16 2011-09-16 실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치 및 방법 KR20130030117A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110093666A KR20130030117A (ko) 2011-09-16 2011-09-16 실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치 및 방법
US13/620,360 US20130069939A1 (en) 2011-09-16 2012-09-14 Character image processing apparatus and method for footskate cleanup in real time animation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110093666A KR20130030117A (ko) 2011-09-16 2011-09-16 실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20130030117A true KR20130030117A (ko) 2013-03-26

Family

ID=47880227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110093666A KR20130030117A (ko) 2011-09-16 2011-09-16 실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치 및 방법

Country Status (2)

Country Link
US (1) US20130069939A1 (ko)
KR (1) KR20130030117A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049483B2 (en) 2015-02-06 2018-08-14 Electronics And Telecommunications Research Institute Apparatus and method for generating animation
KR20210036879A (ko) * 2020-06-08 2021-04-05 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 가상 오브젝트 구동 방법, 장치, 전자기기 및 판독 가능 저장매체

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9807340B2 (en) 2014-11-25 2017-10-31 Electronics And Telecommunications Research Institute Method and apparatus for providing eye-contact function to multiple points of attendance using stereo image in video conference system
KR101808840B1 (ko) * 2015-09-04 2017-12-13 한국전자통신연구원 학습 기반 깊이 정보 추출 방법 및 장치
CN108958478B (zh) * 2018-06-14 2023-09-22 吉林大学 一种虚拟装配操作中脚踏动作识别和评估方法
CN111860358B (zh) * 2020-07-23 2021-05-14 浙江赛慕威供应链管理有限公司 基于工业互联网的物料验收方法
CN113963090A (zh) * 2021-10-20 2022-01-21 李舟 Maya动画角色脚步固定工具
CN114546135A (zh) * 2022-03-15 2022-05-27 杭州虚现科技股份有限公司 基于惯性传感器进行虚拟行走的方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594856A (en) * 1994-08-25 1997-01-14 Girard; Michael Computer user interface for step-driven character animation
US6057859A (en) * 1997-03-31 2000-05-02 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters with blended motion data
US9177387B2 (en) * 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049483B2 (en) 2015-02-06 2018-08-14 Electronics And Telecommunications Research Institute Apparatus and method for generating animation
KR20210036879A (ko) * 2020-06-08 2021-04-05 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 가상 오브젝트 구동 방법, 장치, 전자기기 및 판독 가능 저장매체

Also Published As

Publication number Publication date
US20130069939A1 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
KR101812379B1 (ko) 포즈를 추정하기 위한 방법 및 장치
KR20130030117A (ko) 실시간 캐릭터 애니메이션에서의 발 미끄러짐 제거를 위한 캐릭터 영상 처리 장치 및 방법
KR102136241B1 (ko) 표정 검출 성능을 갖는 머리-장착형 디스플레이
JP5773944B2 (ja) 情報処理装置および情報処理方法
KR102365730B1 (ko) 인터랙티브 콘텐츠 제어 장치 및 방법
KR101519775B1 (ko) 오브젝트의 모션 인식 기반 애니메이션 생성 방법 및 장치
US20110292036A1 (en) Depth sensor with application interface
JP2012525643A5 (ko)
KR20120014925A (ko) 가변 자세를 포함하는 이미지를 컴퓨터를 사용하여 실시간으로 분석하는 방법
JP2015207285A (ja) 呼吸の属性からコンピュータ制御信号を生成するシステムおよび方法
JP2004094288A (ja) 指示位置検出装置及び自律ロボット
WO2006108279A1 (en) Method and apparatus for virtual presence
US20160184998A1 (en) Robot identification system
Yang et al. A virtual try-on system in augmented reality using RGB-D cameras for footwear personalization
US11721056B2 (en) Motion model refinement based on contact analysis and optimization
JP2016152586A (ja) プロジェクションマッピング装置、映像投影制御装置、映像投影制御方法および映像投影制御プログラム
CN112015269A (zh) 头显设备的显示校正方法、设备及存储介质
CN109407824B (zh) 人体模型的同步运动方法与装置
KR101519589B1 (ko) 손 아바타를 이용한 콘텐츠 제어가능 전자학습 장치 및 방법
JP7029253B2 (ja) 情報処理装置及びその方法
JP2018128739A (ja) 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体
WO2020174586A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2005339363A (ja) 人体パーツ自動分割装置及び人体パーツ自動分割方法
KR102615799B1 (ko) 모션 캡쳐 시스템에서의 가상 공간 확장 장치 및 방법
TW201510939A (zh) 動態影像分析系統

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid