KR20100138701A - 영상 장치 및 컴퓨터 판독 기록매체 - Google Patents

영상 장치 및 컴퓨터 판독 기록매체 Download PDF

Info

Publication number
KR20100138701A
KR20100138701A KR1020090101175A KR20090101175A KR20100138701A KR 20100138701 A KR20100138701 A KR 20100138701A KR 1020090101175 A KR1020090101175 A KR 1020090101175A KR 20090101175 A KR20090101175 A KR 20090101175A KR 20100138701 A KR20100138701 A KR 20100138701A
Authority
KR
South Korea
Prior art keywords
avatar
animation
data
information
control
Prior art date
Application number
KR1020090101175A
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 KR1020090104487A priority Critical patent/KR101640458B1/ko
Priority to US13/379,834 priority patent/US20120169740A1/en
Priority to CN201080038361.5A priority patent/CN102483857B/zh
Priority to PCT/KR2010/004135 priority patent/WO2010151075A2/ko
Priority to EP10792357.5A priority patent/EP2447908A4/en
Publication of KR20100138701A publication Critical patent/KR20100138701A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

영상 장치 및 컴퓨터 판독 기록매체가 개시된다. 본 발명의 일실시예에 따르면, 가상 세계의 아바타의 임의의 부분에 대응하는 애니메이션 클립의 우선 순위와 모션 데이터의 우선 순위를 비교하여, 아바타의 임의의 부분에 대응하는 데이터를 결정함으로써, 애니메이션 클립과 현실 세계의 사용자의 동작을 센싱한 모션 데이터가 결합된 아바타의 동작을 생성할 수 있다.
Figure P1020090101175
애니메이션 클립, 우선 순위, 애니메이션 제어 정보, 컨트럴 제어 정보, 아바타

Description

영상 장치 및 컴퓨터 판독 기록매체{Display device and Computer-Readable Recording Medium}
본 발명의 실시예들은 영상 장치 및 컴퓨터 판독 기록매체(Display device and Computer-Readable Recording Medium)에 관한 것으로, 보다 구체적으로 가상 세계의 아바타의 동작을 생성하는 영상 장치 및 컴퓨터 판독 기록매체에 관한 것이다.
최근 들어 체감형 게임에 대한 관심이 증대 되고 있다. Microsoft社는 "E3 2009" Press Conference에서 그들의 게임 콘솔인 Xbox360에 Depth/Color 카메라와 마이크 어레이로 구성된 별도의 센서 디바이스를 결합하여 사용자의 전신 모션 캡처링, 얼굴 인식, 음성 인식 기술을 제공하여 별도의 컨트롤러 없이 가상세계와 상호 작용 할 수 있도록 해 주는 "Project Natal"을 발표 했다. 또한, Sony社는 자사 게임 콘솔인 Play Station3에 컬러 카메라와 마커, 초음파 센서를 결합한 위치/방향 센싱 기술을 적용하여 컨트롤러의 모션 궤적을 입력으로 가상세계와 상호 작용 할 수 있는 체감형 게임 모션 컨트롤러 "Wand"를 발표했다.
현실 세계와 가상 세계의 상호 작용은 두 가지 방향을 가진다. 첫째는 현실 세계의 센서로부터 얻어진 데이터 정보를 가상 세계에 반영하는 방향이고, 둘째는 가상 세계로부터 얻어진 데이터 정보를 엑추에이터(actuator)를 통해 현실 세계에 반영하는 방향이다.
도 1은 MPEG-V 표준의 시스템 구조를 나타내는 도면이다.
다큐먼트 10618(document 10618)은 현실 세계를 가상 세계로 반영하는 '적응 VR(adaptation VR, adaptation virtual world to real world)'을 위한 제어 정보를 다룬다. 반대 방향으로의 제어 정보, 즉 가상 세계를 현실 세계로 반영하는 '적응 RV(adaptation RV, adaptation real world to virtual world)'를 위한 제어 정보는 아직 제안되지 않고 있다. 적응 RV를 위한 제어 정보는 가상 세계에서 모든 제어 가능한 엘리먼트(element)를 다룬다.
본 발명에 따른 일실시예는 현실 세계와 가상 세계의 상호 작용을 구현하기 위해, 현실 세계의 센서로부터 얻어진 데이터 및 애니메이션 클립을 이용하여 가상 세계의 아바타의 동작을 생성하는 영상 장치 및 컴퓨터 판독 기록매체를 제공한다.
본 발명의 일측에 따른 영상 장치는, 애니메이션 클립, 상기 애니메이션 클립이 어느 아바타의 어느 부분에 대응하는지에 관한 정보 및 우선 순위를 포함하는 애니메이션 제어 정보 및 모션 센서로부터 수신된 값을 처리한 모션 데이터가 어느 아바타의 어느 부분에 대응하는지에 관한 정보 및 우선 순위를 포함하는 컨트롤 제어 정보를 저장하는 저장부 및 아바타의 제1 부분에 대응하는 상기 애니메이션 제어 정보의 우선 순위와 상기 아바타의 상기 제1 부분에 대응하는 상기 컨트롤 제어 정보의 우선 순위를 비교하여, 상기 아바타의 상기 제1 부분에 적용할 데이터를 결정하는 처리부를 포함한다.
본 발명의 일측에 따른 컴퓨터 판독 기록매체는, 애니메이션 제어 정보 및 컨트롤 제어 정보를 저장하는 제1 명령어 세트 및 아바타의 각 부분에 대응하는 상기 애니메이션 제어 정보 및 상기 컨트롤 제어 정보를 참조하여 모션 센서로부터 수신된 값으로부터 생성된 모션 데이터 및 애니메이션 클립을 결합하는 제2 명령어 세트를 포함하고, 상기 애니메이션 제어 정보는, 대응하는 애니메이션 클립에 대한 정보 및 상기 대응하는 애니메이션 클립이 어느 아바타의 얼굴 표정, 머리, 상체, 중체, 및 하체 중 어느 부분에 대응하는지에 관한 식별자를 포함하고, 상기 컨트롤 제어 정보는, 상기 실시간 모션 데이터가 어느 아바타의 얼굴 표정, 머리, 상체, 중체, 및 하체 중 어느 부분에 대응하는지에 관한 식별자를 포함한다.
가상 세계의 아바타를 제어하기 위한 애니메이션 제어 정보 및 모션 데이터의 구조에 관한 제어 메타데이터가 제시된다.
가상 세계의 아바타의 임의의 부분에 대응하는 애니메이션 클립의 우선 순위와 모션 데이터의 우선 순위를 비교하여, 아바타의 임의의 부분에 대응하는 데이터를 결정함으로써, 애니메이션 클립과 현실 세계의 사용자의 동작을 센싱한 모션 데이터가 결합된 아바타의 동작을 생성할 수 있는 방안이 제시된다.
현실 세계의 사용자의 얼굴을 센싱하기 위한 특징점을 설정하고, 특징점에 대한수집한 데이터를 이용하여 가상 세계의 아바타의 얼굴을 생성함으로써, 애니메이션에서 정의할 수 없는 임의의 표정을 생성할 수 있는 방안이 제시된다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 일실시예에 따른 현실 세계와 가상 세계 사이의 정보 및 데이터 교환에 관한 시스템의 구조를 나타낸 도면이다.
도 2를 참조하면, 현실 세계 장치(real world device)(예를 들어서, 모션 센서(motion sensor))를 통해서 현실 세계의 사용자가 자신의 의도를 입력하면, 현실 세계 사용자의 의도에 관한 제어 정보(control information, CI)를 포함한 센서 신호는 가상 세계 처리 장치로 전송될 수 있다.
제어 정보(CI)는 현실 세계 장치를 통해 입력한 값에 따른 명령(command) 및 상기 명령에 관련된 정보일 수 있다. 제어 정보(CI)는 SIDC(sensory input device capabilities, 센서 입력 장치 특성), USIP(user sensory input preferences, 사용자 센서 입력 선호), SDICmd(sensory input device commands, 센서 입력 장치 명령)를 포함할 수 있다.
적응 RV(adaptation real world to virtual world)는 RV 엔진(real world to virtual world engine, RV engine)으로 구현될 수 있다. 적응 RV는 센서 신호에 포함되어 있는 현실 세계의 사용자의 동작, 상태, 의도, 형태 등에 관한 제어 정보(CI)를 이용하여 현실 세계 장치를 통해 입력된 현실 세계의 정보를 가상 세계에 적응(adaptation) 될 수 있는 정보로 변환한다. 상기 적응 과정을 통해 가상 세계 정보(Virtual World Information, VWI)에 영향을 줄 수 있다.
가상 세계 정보(VWI)는 가상 세계에 관한 정보이다. 예를 들어, 가상 세계 객체(virtual object)나 아바타(avatar) 등 가상 세계(virtual world)를 구성하는 요소에 관한 정보일 수 있다. 가상 세계 정보(VWI)에 대한 변화는 RV 엔진에서 VWEM(virtual world effect metadata, 가상 세계 효과 메타데이터), VWP(virtual world preferences, 가상 세계 선호), VWC(virtual world capabilities, 가상 세계 특성) 형태의 명령으로 이루어질 수 있다.
표 1은 도 2에 표시되어 있는 구성들을 설명한다.
[표 1]
SIDC 센서 입력 장치 특성
(Sensory input device capabilities)
VWI 가상 세계 정보
(Virtual world information)
USIP 사용자 센서 입력 선호
(User sensory input preferences)
SODC 센서 출력 장치 특성
(Sensory output device capabilities)
SIDCmd 센서 입력 장치 명령
(Sensory input device commands)
USOP 사용자 센서 출력 선호
(User sensory output preferences)
VWC 가상 세계 특성
(Virtual world capabilities)
SODCmd 센서 출력 장치 명령
(Sensory output device commands)
VWP 가상 세계 선호
(Virtual world preferences)
SEM 센서 효과 메타데이타
(Sensory effect metadata)
VWEM 가상 세계 효과 메타데이타
(Virtual world effect metadata)
SI 센서 정보
(Sensory information)
도 3a 내지 도 3e는 본 발명의 일실시예에 따른 아바타 제어 명령을 나타낸 도면이다.
도 3a를 참조하면, 본 발명의 일실시예에 따른 아바타 제어 명령(avatar control commands)(310)은 아바타 제어 명령 기본 타입(avatar control command base type)(311)과 임의의 속성(any attributes)(312)를 포함할 수 있다.
또한, 도 3b 내지 도 3e를 참조하면, XML(eXtensible Markup Language)을 이용하여 아바타 제어 명령(avatar control commands)을 표시했다. 그러나 도 3b 내지 도 3e에 표시된 프로그램 소스(source)는 일실시예일 뿐이고, 본 발명이 이에 제한되는 것은 아니다.
도면 부호(318)는 아바타 제어 명령(310)의 기본 엘리먼트(base element)의 정의를 나타낸다. 아바타 제어 명령(310)은 아바타를 제어하기 위한 명령을 의미(semantic)한다.
도면 부호(320)는 아바타 제어 명령(310)의 루트 엘리먼트(root element)의 정의를 나타낸다. 아바타 제어 명령(310)은 메타데이터(metadata)를 위한 루트 엘 리먼트(root element)의 역할을 의미할 수 있다.
도면 부호(319) 및 도면 부호(321)는 아바타 제어 명령 기본 타입(311)의 정의를 나타낸다. 아바타 제어 명령 기본 타입(avatar control command base type)(311)은 아바타 제어 명령 기본 타입(avatar ctrl cmd base type)을 확장하고, 아바타 제어 명령 메타데이터 타입으로서 정의된 타입의 서브셋을 위한 기본 추상 타입을 제공하는 것을 의미한다(avatar control command base type provides a base abstract type for a subset of types defined as part of the avatar control commands metadata types).
임의의 속성(312)은 추가적인 아바타 제어 명령일 수 있다.
본 발명의 일측에 따르면, 아바타 제어 명령 기본 타입(311)은 아바타 제어 명령 기본 속성(avatar control command base attributes)(313) 및 임의의 속성(314)을 포함할 수 있다.
도면 부호(315)은 아바타 제어 명령 기본 속성(313)의 정의를 나타낸다. 아바타 제어 명령 기본 속성(313)은 명령의 속성으로 이루어진 그룹(group of attribute for the commands)을 표시하는 것을 의미한다.
아바타 제어 명령 기본 속성(313)은 id, idref, 활성 상태(activate) 및 값(value)를 포함할 수 있다.
id는 아바타 제어 명령 기본 타입(311)의 개별적인 정체성을 구분하기 위한 아이디 정보이다.
idref는 타입 id의 예시된 속성을 포함하는 엘리먼트를 참조한다(idref references elements that have an instantiated attribute of type id). idref는 아바타 제어 명령 기본 타입(311)의 개별적인 정체성을 구분하기 위한 id에 대한 부가적인 정보일 수 있다.
활성 상태(activate)는 효과가 활성화될 것인지 여부를 표시한다(activate describes whether the effect shall be activated). 'true'값은 효과가 활성화됨을 의미하고, 'false'값은 효과가 비활성화됨을 의미할 수 있다. 도면 부호(316)에 따르면, 활성 상태은 "boolean" 유형의 데이터를 가지고, 선택적(optional)으로 사용될 수 있다.
값(value)은 효과의 강도를 개별 효과의 의미 정의 내에 정의된 최대 스케일에 따라 비율로서 표시한다(value describes the intensity of the effect in percentage according to the max scale defined within the semantics definition of the individual effects). 도면 부호(317)에 따르면, 값은 "integer" 유형의 데이터를 가지고, 선택적(optional)으로 사용될 수 있다.
임의의 속성(314)은 타겟 네임스페이스(target namespace)와는 다른 네임스페이스로부터의 속성을 포함하기 위한 확장 메커니즘을 제공하는 것을 의미한다. 포함되어야 할 속성은 프로세스 유닛을 식별하고, 프로세스 유닛들의 시간 정보를 결합(associating)하기 위해 ISO/IEC 21000-7에서 정의된 XML 스트리밍 명령어일 수 있다. 예를 들어, 'si:pts'는 결합된 정보가 프로세싱을 위한 어플리케이션에서 이용될 수 있는 포인트를 표시할 수 있다.
도면 부호(322)는 아바타 제어 명령 어피어런스 타입(avatar control command appearance type)의 정의를 나타낸다.
본 발명의 일측에 따르면, 아바타 제어 명령 어피어런스 타입은 어피어런스 제어 타입(appearance control type), 애니메이션 제어 타입(animation control type), 커뮤니케이션 스킬 제어 타입(communication skill control type), 개성 제어 타입(personality control type) 및 컨트럴 제어 타입(control control type)을 포함할 수 있다.
도면 부호(323)은 어피어런스 제어 타입(appearance control type)의 엘리먼트(element)를 나타낸다. 어피어런스 제어 타입(appearance control type)은 어피어런스 제어 명령을 표시하기 위한 도구(tool)이다. 이하, 어피어런스 제어 타입의 구조를 도 4를 참조하여 상세히 설명한다.
도 4는 어피어런스 제어 타입의 구조를 나타내는 도면이다.
도 4를 참조하면, 어피어런스 제어 타입(appearance control type)(410)은 아바타 제어 명령 기본 타입(avatar control command base type)(420) 및 엘리먼트(element)를 포함할 수 있다. 아바타 제어 명령 기본 타입(420)에 대해서는 위에서 상세히 설명하였는바, 이하 설명을 생략한다.
본 발명의 일측에 따르면, 어피어런스 제어 타입(410)의 엘리먼트는 몸(body), 머리(head), 눈(eyes), 코(nose), 입술(mouthlip), 피부(skin), 얼굴(facial), 손톱(nail), 머리카락(hair), 눈썹(eyebrows), 안면 털(facial hair), 외양 수단(appearance resources), 육체적 상태(physical condition), 의상(clothes), 신발(shoes) 및 액세서리(accessories)를 포함할 수 있다.
다시 도 3a 내지 도 3e를 참조하면, 도면 부호(325)는 커뮤니케이션 스킬 제어 타입(communication skill control type)의 엘리먼트를 나타낸다. 커뮤니케이션 스킬 제어 타입은 애니메이션 제어 명령을 표시하기 위한 도구(tool)이다. 이하, 커뮤니케이션 스킬 제어 타입의 구조를 도 5를 참조하여 상세히 설명한다.
도 5는 커뮤니케이션 스킬 제어 타입의 구조를 나타내는 도면이다.
도 5를 참조하면, 커뮤니케이션 스킬 제어 타입(510)은 아바타 제어 명령 기본 타입(avatar control command base type)(520) 및 엘리먼트(element)를 포함할 수 있다.
본 발명의 일측에 따르면, 커뮤니케이션 스킬 제어 타입(510)의 엘리먼트는 입력 구두 의사교환(input verbal communication), 입력 비구두 의사교환(input nonverbal communication), 출력 구두 의사교환(ouput verbal communication) 및 출력 비구두 의사교환(ouput nonverbal communication)를 포함할 수 있다.
다시 도 3a 내지 도 3e를 참조하면, 도면 부호(326)는 개성 제어 타입(personality control type)의 엘리먼트를 나타낸다. 개성 제어 타입은 애니메이션 제어 명령을 표시하기 위한 도구(tool)이다. 이하, 개성 제어 타입의 구조를 도 6을 참조하여 상세히 설명한다.
도 6은 개성 제어 타입의 구조를 나타내는 도면이다.
도 6을 참조하면, 개성 제어 타입(610)은 아바타 제어 명령 기본 타입(avatar control command base type)(620) 및 엘리먼트(element)를 포함할 수 있다.
본 발명의 일측에 따르면, 개성 제어 타입(610)의 엘리먼트는 개방적(openness), 상냥함(agreeableness), 신결질적(neuroticism), 외향적(extraversion) 및 양심적(conscientiousness)을 포함할 수 있다.
다시 도 3a 내지 도 3e를 참조하면, 도면 부호(324)는 애니메이션 제어 타입(animation control type)의 엘리먼트를 나타낸다. 애니메이션 제어 타입은 애니메이션 제어 명령을 표시하기 위한 도구(tool)이다. 이하, 애니메이션 제어 타입의 구조를 도 7을 참조하여 상세히 설명한다.
도 7은 애니메이션 제어 타입의 구조를 나타내는 도면이다.
도 7을 참조하면, 애니메이션 제어 타입(710)은 아바타 제어 명령 기본 타입(avatar control command base type)(720), 임의의 속성(730) 및 엘리먼트(element)를 포함할 수 있다.
본 발명의 일측에 따르면, 임의의 속성(730)은 모션 우선 순위(motion priority)(731) 및 속도(speed)(732)를 포함할 수 있다.
모션 우선 순위(731)는 애니메이션과 몸 및/또는 얼굴 특징 제어를 믹싱함으로써 아바타의 동작을 생성할 때의 우선 순위를 결정한다(motion priority determines the priority when generating the motion of avatar by mixing with animation and body and/or facial feature control).
속도(732)는 동일한 애니메이션을 사용하여 다양한 효과를 얻을 수 있도록 애니메이션의 속도를 조절한다. 예를 들어, 걷는 동작에 관한 애니메이션의 경우, 속도의 단계에 따라 천천히 걷는 동작, 보통 속도로 걷는 동작 및 빨리 걷는 동작 으로 분류될 수 있다.
애니메이션 제어 타입(710)의 엘리먼트는 한가한(idle), 인사(greeting), 댄스(dance), 걷기(walk), 이동(moves), 싸우기(fighting), 듣기(hearing), 담배피기(smoke), 축하(congratulations), 일반행동(common actions), 특별한 행동(specific actions), 얼굴 표정(facial expression), 몸 표현(body expression) 및 애니메이션 수단(animation resources)을 포함할 수 있다.
다시 도 3a 내지 도 3e를 참조하면, 도면 부호(327)는 컨트럴 제어 타입(control control type)의 엘리먼트를 나타낸다. 컨트럴 제어 타입은 컨트럴 특징 제어 명령을 표시하기 위한 도구(tool)이다. 이하, 컨트럴 제어 타입의 구조를 도 8을 참조하여 상세히 설명한다.
도 8은 컨트럴 제어 타입의 구조를 나타내는 도면이다.
도 8을 참조하면, 컨트럴 제어 타입(810)은 아바타 제어 명령 기본 타입(avatar control command base type)(820), 임의의 속성(830) 및 엘리먼트(element)를 포함할 수 있다.
본 발명의 일측에 따르면, 임의의 속성(730)은 모션 우선 순위(motion priority)(831), 프래임시간(frame time)(832), 프래임개수(num of frame)(833) 및 프래임id(frame id)(834)를 포함할 수 있다.
모션 우선 순위(831)는 애니메이션과 몸 및/또는 얼굴 특징 제어를 믹싱함으로써 아바타의 동작을 생성할 때의 우선 순위를 결정한다.
프래임시간(832)은 모션 제어 데이터의 프래임 간격을 정의한다(frame time defines the frame interval of motion control data). 예를 들어, 프래임 간격의 단위는 초(second)일 수 있다.
프래임개수(833)는 모션 제어를 위한 프레임의 전체 수를 선택적으로 정의한다(num of frame optionally defines the total number of frames for the motion control).
프래임id(834)는 각 프레임의 순서를 가리킨다(frame id indicates the order of each frame).
컨트럴 제어 타입(810)의 엘리먼트는 몸 특징 제어(body features control)(840) 및 얼굴 특징 제어(face features control)(850)를 포함할 수 있다.
본 발명의 일측에 따르면, 몸 특징 제어(840)는 몸 특징 제어 타입을 포함할 수 있다. 또한, 상기 몸 특징 제어 타입은 머리뼈(headbones), 상체뼈(upper body bones), 하체뼈(down body bones) 및 중체뼈(middle body bones)의 엘리먼트를 포함할 수 있다.
가상 세계의 아바타의 동작(motion)은 애니메이션 제어 타입과 컨트럴 제어 타입과 관련된다. 애니메이션 제어 타입은 애니메이션 세트의 순서에 관한 정보를 포함하고, 컨트럴 제어 타입은 모션 센싱(motion sensing)에 관한 정보를 포함할 수 있다. 가상 세계의 아바타의 동작을 제어하기 위해서는 애니메이션 또는 모션 센싱 장치를 이용할 수 있다. 따라서, 이하 본 발명의 일실시예에 따른 가상 세계의 아바타의 동작을 제어하기 위한 영상 장치를 상세히 설명한다.
도 9는 본 발명의 일실시예에 따른 영상 장치의 구성을 나타낸 도면이다.
도 9를 참조하면, 본 발명의 일실시예에 따른 영상 장치(900)는 저장부(910) 및 처리부(920)를 포함한다.
저장부(910)는 애니메이션 클립(animation clip), 애니메이션 클립이 어느 아바타(avatar)의 어느 부분(part)에 대응하는지에 관한 정보와 우선 순위(priority)를 포함하는 애니메이션 제어 정보(animation control information) 및 모션 센서(motion sensor)로부터 수신된 값을 처리한 모션 데이터(motion data)가 어느 아바타의 어느 부분에 대응하는지에 관한 정보와 우선 순위를 포함하는 컨트롤 제어 정보(control control information)를 저장한다.
애니메이션 클립은 가상 세계의 아바타의 동작에 대한 동영상 데이터이다.
본 발명의 일측에 따르면, 가상 세계의 아바타를 부분으로 나누어, 각 부분에 대응하는 애니메이션 클립 및 모션 데이터를 저장할 수 있다. 실시예에 따라서는, 가상 세계의 아바타를 얼굴 표정(facial expression), 머리(head), 상체(upper body), 중체(middle body) 및 하체(lower body)의 부분으로 나눌 수 있다. 이에 대해서 도 10을 참조하여 상세히 설명한다.
도 10은 본 발명의 일실시예에 따른 가상 세계의 아바타를 얼굴 표정, 머리, 상체, 중체 및 하체의 부분으로 나눈 도면을 나타낸다.
도 10을 참조하면, 가상 세계의 아바타(1000)는 얼굴 표정(1010), 머리(1020), 상체(1030), 중체(1040) 및 하체(1050)의 부분으로 나누어진다.
본 발명의 일측에 따르면, 애니메이션 클립 및 모션 데이터는 얼굴 표정(1010), 머리(1020), 상체(1030), 중체(1040) 및 하체(1050) 중 어느 하나에 대 응하는 데이터일 수 있다.
다시 도 9를 참조하면, 애니메이션 제어 정보(animation control information)는 애니메이션 클립이 어느 아바타의 어느 부분에 대응하는지에 관한 정보 및 우선 순위를 포함한다. 가상 세계의 아바타는 하나 이상일 수 있고, 애니메이션 제어 정보에 따라, 애니메이션 클립은 하나의 아바타 또는 하나 이상의 아바타에 대응할 수 있다.
실시예에 따라서는, 애니메이션 클립이 어느 아바타의 어느 부분에 대응하는지에 관한 정보는 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 부분에 대응하는지에 관한 정보일 수 있다.
아바타의 임의의 부분에 대응하는 애니메이션 클립은 우선 순위를 가질 수 있다. 우선 순위는 현실 세계의 사용자에 의해서 미리 설정되거나, 실시간으로 입력 받아 설정될 수 있다. 우선 순위에 대해서는 도 13을 참조하여 뒤에서 상세히 설명한다.
실시예에 따라서는, 애니메이션 제어 정보는 아바타의 임의의 부분에 대응하는 애니메이션 클립의 속도에 관한 정보를 더 포함할 수 있다. 예를 들어, 아바타의 하체에 대응하는 애니메이션 클립으로서 걷는 동작을 나타내는 데이터의 경우, 상기 애니메이션 클립의 속도에 관한 정보에 따라서, 상기 애니메이션 클립은 천천히 걷는 동작, 보통의 속도로 걷는 동작, 빨리 걷는 동작 및 뛰는 동작에 관한 데이터로 구분될 수 있다.
컨트롤 제어 정보(control control information)는 모션 센서로부터 수신된 값을 처리한 모션 데이터가 어느 아바타의 어느 부분에 대응하는지에 관한 정보와 우선 순위를 포함한다.
모션 센서는 현실 세계의 사용자의 동작, 표정, 상태 등을 측정하기 위한 현실 세계 장치(real world device)인 센서(sensor)이다.
모션 데이터는 모션 센서로부터 현실 세계의 사용자의 동작, 표정, 상태 등을 측정한 값을 수신하고, 상기 값을 가상 세계의 아바타에 적용할 수 있도록 처리한 데이터일 수 있다.
예를 들어, 모션 센서는 현실 세계의 사용자의 팔과 다리에 대한 위치 정보를 측정하여 x, y, z축의 값인 Xreal, Yreal, Zreal값과 x, y, z축과의 각도의 값인 ΘXreal, ΘYreal, ΘZreal값으로 나타낼 수 있다. 또한, 모션 데이터는 상기 위치 정보에 대한 값을 가상 세계의 아바타에 적용할 수 있도록 처리한 데이터일 수 있다.
본 발명의 일측에 따르면, 가상 세계의 아바타를 부분으로 나누어, 각 부분에 대응하는 모션 데이터를 저장할 수 있다. 실시예에 따라서는, 모션 데이터가 어느 아바타의 어느 부분에 대응하는지에 관한 정보는 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 부분에 대응하는지에 관한 정보일 수 있다.
아바타의 임의의 부분에 대응하는 모션 데이터는 우선 순위를 가질 수 있다. 우선 순위는 현실 세계의 사용자에 의해서 미리 설정되거나, 실시간으로 입력 받아 설정될 수 있다. 우선 순위에 대해서는 도 13을 참조하여 뒤에서 상세히 설명한다
처리부(920)는 아바타의 제1 부분에 대응하는 애니메이션 제어 정보의 우선 순위와 아바타의 상기 제1 부분에 대응하는 컨트롤 제어 정보의 우선 순위를 비교하여, 아바타의 제1 부분에 적용할 데이터를 결정한다. 이에 대해서는 도 13을 참조하여 뒤에서 상세히 설명한다.
도 11은 본 발명의 일실시예에 따른 애니메이션 클립에 대한 데이터베이스를 나타낸 도면이다.
도 11을 참조하면, 본 발명의 일실시예에 따른 애니메이션 클립에 대한 데이터베이스(database)(1100)는 애니메이션 클립(1110), 대응 부분(1120) 및 우선 순위(1130)의 카테고리로 분류된다.
애니메이션 클립(1110)은 가상 세계의 아바타의 임의의 부분에 대응하는 아바타의 동작에 대한 데이터의 카테고리이다. 실시예에 따라서는, 애니메이션 클립(1110)은 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 한 부분에 대응하는 애니메이션 클립에 대한 카테고리일 수 있다. 예를 들어, 제1 애니메이션 클립(1111)은 아바타의 얼굴 표정 부분에 대응하는 애니메이션 클립으로서, 웃는 동작에 대한 데이터일 수 있다. 제2 애니메이션 클립(1112)은 아바타의 머리 부분에 대응하는 애니메이션 클립으로서, 고개를 좌우로 흔드는 동작에 대한 데이터일 수 있다. 제3 애니메이션 클립(1113)은 아바타의 상체 부분에 대응하는 애니메이션 클립으로서, 양팔을 위로 올리는 동작에 대한 데이터일 수 있다. 제4 애니메이션 클립(1114)은 아바타의 중체 부분에 대응하는 애니메이션 클립으로서, 엉덩이를 앞으로 내미는 동작에 대한 데이터일 수 있다. 제5 애니메이션 클립(1115)은 아바타의 하체 부분에 대응하는 애니메이션 클립으로서, 다리 하나를 구부리고 다른 다 리는 뒤로 뻗는 동작에 대한 데이터일 수 있다.
대응 부분(1120)은 애니메이션 클립이 아바타의 어느 부분에 대응하는지에 대한 데이터의 카테고리이다. 실시예에 따라서는, 대응 부분(1120)은 애니메이션 클립이 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 부분에 대응하는지에 대한 데이터의 카테고리일 수 있다. 예를 들어, 제1 애니메이션 클립(1111)은 아바타의 얼굴 표정 부분에 대응하는 애니메이션 클립이므로, 제1 대응 부분(1121)은 'facial expression'으로 표기될 수 있다. 제2 애니메이션 클립(1112)은 아바타의 머리 부분에 대응하는 애니메이션 클립이므로, 제2 대응 부분(1122)은 'head'로 표기될 수 있다. 제3 애니메이션 클립(1113)은 아바타의 상체 부분에 대응하는 애니메이션 클립이므로, 제3 대응 부분(1123)은 'upper body'로 표기될 수 있다. 제4 애니메이션 클립(1114)은 아바타의 중체 부분에 대응하는 애니메이션 클립이므로, 제4 대응 부분(1124)은 'middle body'로 표기될 수 있다. 제5 애니메이션 클립(1115)은 아바타의 하체 부분에 대응하는 애니메이션 클립이므로, 제5 대응 부분(1125)은 'lower body'로 표기될 수 있다.
우선 순위(1130)는 애니메이션 클립이 갖는 우선 순위에 대한 값의 카테고리이다. 실시예에 따라서는, 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 한 부분에 대응하는 애니메이션 클립이 갖는 우선 순위에 대한 값의 카테고리일 수 있다. 예를 들어, 아바타의 얼굴 표정 부분에 대응하는 제1 애니메이션 클립(1111)은 '5'의 우선 순위 값을 가질 수 있다. 아바타의 머리 부분에 대응하는 제2 애니메이션 클립(1112)은 '2'의 우선 순위 값을 가질 수 있다. 아바타의 상체 부분에 대응하는 제3 애니메이션 클립(1113)은 '5'의 우선 순위 값을 가질 수 있다. 아바타의 중체 부분에 대응하는 제4 애니메이션 클립(1114)은 '1'의 우선 순위 값을 가질 수 있다. 아바타의 하체 부분에 대응하는 제5 애니메이션 클립(1115)은 '1'의 우선 순위 값을 가질 수 있다. 애니메이션 클립에 대한 우선 순위 값은 현실 세계의 사용자로부터 미리 설정되거나, 실시간으로 입력 받아 설정될 수 있다.
도 12는 본 발명의 일실시예에 따른 모션 데이터에 대한 데이터베이스를 나타낸 도면이다.
도 12를 참조하면, 본 발명의 일실시예에 따른 모션 데이터에 대한 데이터베이스 (1200)는 모션 데이터(1210), 대응 부분(1220) 및 우선 순위(1230)의 카테고리로 분류된다.
모션 데이터(1210)는 모션 센서로부터 수신된 값을 처리한 데이터로서, 가상 세계의 아바타의 임의의 부분에 대응하는 모션 데이터의 카테고리이다. 실시예에 따라서는, 모션 데이터(1210)는 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 한 부분에 대응하는 모션 데이터의 카테고리일 수 있다. 예를 들어, 제1 모션 데이터(1211)는 아바타의 얼굴 표정 부분에 대응하는 모션 데이터로서, 현실 세계의 사용자가 얼굴을 찡그리는 동작을 하고 모션 센서가 이를 측정하면, 측정된 값을 가상 세계의 아바타의 얼굴 표정 부분에 적용할 수 있도록 처리한, 현실 세계의 사용자가 얼굴을 찡그리는 동작에 대한 데이터일 수 있다. 마찬가지로, 제2 모션 데이터(1212)는 아바타의 머리 부분에 대응하는 모션 데이터로서, 현실 세계 세 계의 사용자가 고개를 숙이는 동작에 대한 데이터일 수 있다. 제3 모션 데이터(1213)는 아바타의 상체 부분에 대응하는 모션 데이터로서, 현실 세계 세계의 사용자가 양팔을 좌우로 들어 올리는 동작에 대한 데이터일 수 있다. 제4 모션 데이터(1214)는 아바타의 중체 부분에 대응하는 모션 데이터로서, 현실 세계 세계의 사용자가 엉덩이를 앞뒤로 흔드는 동작에 대한 데이터일 수 있다. 제5 모션 데이터(1215)는 아바타의 하체 부분에 대응하는 모션 데이터로서, 현실 세계 세계의 사용자가 양 다리를 좌우로 벌리면서 구부리는 동작에 대한 데이터일 수 있다.
대응 부분(1220)은 모션 데이터가 아바타의 어느 부분에 대응하는지에 대한 데이터의 카테고리이다. 실시예에 따라서는, 대응 부분(1220)은 모션 데이터가 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 부분에 대응하는지에 대한 데이터의 카테고리일 수 있다. 예를 들어, 제1 모션 데이터(1211)는 아바타의 얼굴 표정 부분에 대응하는 모션 데이터이므로, 제1 대응 부분(1221)은 'facial expression'으로 표기될 수 있다. 제2 모션 데이터(1212)는 아바타의 머리 부분에 대응하는 모션 데이터이므로, 제2 대응 부분(1222)은 'head'로 표기될 수 있다. 제3 모션 데이터(1213)는 아바타의 상체 부분에 대응하는 모션 데이터이므로, 제3 대응 부분(1223)은 'upper body'로 표기될 수 있다. 제4 모션 데이터(1214)는 아바타의 중체 부분에 대응하는 모션 데이터이므로, 제4 대응 부분(1224)은 'middle body'로 표기될 수 있다. 제5 모션 데이터(1215)는 아바타의 하체 부분에 대응하는 모션 데이터이므로, 제5 대응 부분(1225)은 'lower body'로 표기될 수 있다.
우선 순위(1230)는 모션 데이터가 갖는 우선 순위에 대한 값의 카테고리이 다. 실시예에 따라서는, 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 한 부분에 대응하는 모션 데이터가 갖는 우선 순위에 대한 값의 카테고리일 수 있다. 예를 들어, 아바타의 얼굴 표정 부분에 대응하는 제1 모션 데이터(1211)는 '1'의 우선 순위 값을 가질 수 있다. 아바타의 머리 부분에 대응하는 제2 모션 데이터(1212)는 '5'의 우선 순위 값을 가질 수 있다. 아바타의 상체 부분에 대응하는 제3 모션 데이터(1213)는 '2'의 우선 순위 값을 가질 수 있다. 아바타의 중체 부분에 대응하는 제4 모션 데이터(1214)는 '5'의 우선 순위 값을 가질 수 있다. 아바타의 하체 부분에 대응하는 제5 모션 데이터(1215)는 '5'의 우선 순위 값을 가질 수 있다. 모션 데이터에 대한 우선 순위 값은 현실 세계의 사용자로부터 미리 설정되거나, 실시간으로 입력 받아 설정될 수 있다.
도 13은 본 발명의 일실시예에 따른 우선 순위를 비교하여 아바타의 임의의 부분에 적용할 모션 객체 데이터를 결정하는 동작을 나타낸 도면이다.
도 13을 참조하면, 아바타(1310)는 얼굴 표정(1311), 머리(1312), 상체(1313), 중체(1314) 및 하체(1315)의 부분으로 나누어진다.
모션 객체 데이터(motion object data)는 아바타의 임의의 부분의 동작에 관한 데이터이다. 모션 객체 데이터는 애니메이션 클립 및 모션 데이터를 포함할 수 있다. 모션 객체 데이터는 모션 센서로부터 수신된 값을 처리하거나, 영상 장치의 저장부로부터 독출되어 획득될 수 있다. 실시예에 따라서는, 모션 객체 데이터는 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 한 부분에 대응할 수 있다.
데이터베이스(1320)는 애니메이션 클립에 대한 데이터베이스이다. 또한, 데이터베이스(1330)는 모션 데이터에 대한 데이터베이스이다.
본 발명의 일실시예에 따른 영상 장치의 처리부는 아바타(1310)의 제1 부분에 대응하는 애니메이션 제어 정보의 우선 순위와 아바타의 제1 부분에 대응하는 컨트롤 제어 정보의 우선 순위를 비교하여, 아바타의 제1 부분에 적용할 데이터를 결정할 수 있다.
실시예에 따라서는, 아바타(1310)의 얼굴 표정(1311)에 대응하는 제1 애니메이션 클립(1321)은 우선 순위의 값이 '5'이고, 아바타(1310)의 얼굴 표정(1311)에 대응하는 제1 모션 데이터(1331)는 우선 순위의 값이 '1'일 수 있다. 제1 애니메이션 클립(1321)이 제1 모션 데이터(1331)보다 우선 순위의 값이 더 높으므로, 영상 장치의 처리부는 아바타(1310)의 얼굴 표정(1311)에 적용할 데이터를 제1 애니메이션 클립(1321)으로 결정할 수 있다.
또한, 아바타(1310)의 머리(1312)에 대응하는 제2 애니메이션 클립(1322)은 우선 순위의 값이 '2'이고, 아바타(1310)의 머리(1312)에 대응하는 제2 모션 데이터(1332)는 우선 순위의 값이 '5'일 수 있다. 제2 모션 데이터(1332)가 제2 애니메이션 클립(1322)보다 우선 순위의 값이 더 높으므로, 영상 장치의 처리부는 아바타(1310)의 머리(1312)에 적용할 데이터를 제2 모션 데이터(1332)로 결정할 수 있다.
또한, 아바타(1310)의 상체(1313)에 대응하는 제3 애니메이션 클립(1323)은 우선 순위의 값이 '5'이고, 아바타(1310)의 상체(1313)에 대응하는 제3 모션 데이 터(1333)는 우선 순위의 값이 '2'일 수 있다. 제3 애니메이션 클립(1323)이 제3 모션 데이터(1333)보다 우선 순위의 값이 더 높으므로, 영상 장의 처리부는 아바타(1310)의 상체(1313)에 적용할 데이터를 제3 애니메이션 클립(1323)으로 결정할 수 있다.
또한, 아바타(1310)의 중체(1314)에 대응하는 제4 애니메이션 클립(1324)은 우선 순위의 값이 '1'이고, 아바타(1310)의 중체(1314)에 대응하는 제4 모션 데이터(1334)는 우선 순위의 값이 '5'일 수 있다. 제4 모션 데이터(1334)가 제4 애니메이션 클립(1324)보다 우선 순위의 값이 더 높으므로, 영상 장치의 처리부는 아바타(1310)의 중체(1314)에 적용할 데이터를 제4 모션 데이터(1334)로 결정할 수 있다.
또한, 아바타(1310)의 하체(1315)에 대응하는 제5 애니메이션 클립(1325)은 우선 순위의 값이 '1'이고, 아바타(1310)의 하체(1315)에 대응하는 제5 모션 데이터(1335)는 우선 순위의 값이 '5'일 수 있다. 제5 모션 데이터(1335)가 제5 애니메이션 클립(1325)보다 우선 순위의 값이 더 높으므로, 영상 장치의 처리부는 아바타(1310)의 하체(1315)에 적용할 데이터를 제5 모션 데이터(1335)로 결정할 수 있다.
따라서, 아바타(1310)는 얼굴 표정(1311)에 제1 애니메이션 클립(1321)을, 머리(1312)에 제2 모션 데이터(1332)를, 상체(1313)에 제3 애니메이션 클립(1323)을, 중체(1314)에 제4 모션 데이터(1334)를, 하체(1315)에 제5 모션 데이터(1335)를 가질 수 있다.
아바타(1310)의 임의의 부분에 대응하는 데이터는 복수 개의 애니메이션 클립과 복수 개의 모션 데이터가 있을 수 있다. 아바타(1310)의 임의의 부분에 대응하는 데이터가 복수 개 있는 경우, 아바타(1310)의 임의의 부분에 적용할 데이터를 결정하는 방법을 이하 도 14를 참조하여 설명한다.
도 14는 아바타의 각 부분에 적용할 모션 객체 데이터를 결정하는 방법의 흐름도이다.
도 14를 참조하면, 본 발명의 일실시예에 따른 영상 장치는 모션 객체 데이터(motion object data)에 포함되어 있는 정보를 확인한다(S1410). 모션 객체 데이터에 포함되어 있는 정보는, 모션 객체 데이터가 어느 아바타의 어느 부분에 대응하는지에 관한 정보 및 모션 객체 데이터의 우선 순위를 포함할 수 있다.
아바타의 제1 부분에 대응하는 모션 객체 데이터가 아직 없는 경우, 독출 또는 처리되어 획득된 모션 객체 데이터를 아바타의 제1 부분에 적용할 데이터로 결정할 수 있다.
아바타의 제1 부분에 대응하는 모션 객체 데이터가 있는 경우, 영상 장치의 처리부는 기존의 모션 객체 데이터와 새로 독출 또는 처리되어 획득된 모션 객체 데이터의 우선 순위의 값을 비교한다(S1420).
기존의 모션 객체 데이터보다 새로 독출 또는 처리되어 획득된 모션 객체 데이터가 더 높은 우선 순위의 값을 갖는 경우, 아바타의 제1 부분에 적용할 데이터를 새로 독출 또는 처리되어 획득된 모션 객체 데이터로 결정한다(S1430).
그러나, 기존의 모션 객체 데이터가 새로 독출 또는 처리된 모션 객체 데이 터보다 더 높은 우선 순위의 값을 갖는 경우, 기존의 모션 객체 데이터가 아바타의 제1 부분에 적용할 데이터로 결정된다.
모든 모션 객체 데이터를 확인하였는지 여부를 판단한다(S1440)
판단되지 않는 모션 객체 데이터가 있는 경우, 영상 장치는 판단되지 않은 모션 객체 데이터에 대해서 상기 단계(S1410)부터 단계(S1440)까지의 과정을 반복 수행한다.
모든 모션 객체 데이터에 대해서 판단한 경우, 아바타의 각 부위에 대응하는 모션 객체 데이터 중 우선 순위가 가장 높은 데이터를 결합하여 아바타의 동영상을 생성한다(S1450).
본 발명의 일실시예에 따른 영상 장치의 처리부는 아바타의 각 부분에 대응하는 애니메이션 제어 정보의 우선 순위와 컨트롤 제어 정보의 우선 순위를 비교하여, 상기 각 부분에 적용할 데이터를 결정하고, 결정된 데이터를 결합하여 아바타의 동영상을 생성할 수 있다. 아바타의 각 부분에 적용할 데이터를 결정하는 과정에 대해서는 도 에서 상세히 설명하였는바, 이하 도 15를 참조하여, 결정된 데이터를 결합하여 아바타의 동영상을 생성하는 과정에 대해 설명한다.
도 15는 본 발명의 일실시예에 따른 아바타의 각 부분에 대응하는 모션 객체 데이터를 결합하는 동작을 나타낸 흐름도이다.
도 15를 참조하면, 본 발명의 일실시예에 따른 영상 장치는 루트 엘리먼트(root element)를 포함하는 아바타의 부분을 확인(find)한다(S1510).
또한, 아바타의 부분에 대응하는 모션 객체 데이터로부터 연결 축에 관한 정 보를 추출한다(S1520). 모션 객체 데이터는 애니메이션 클립 및 모션 데이터를 포함할 수 있다. 모션 객체 데이터는 연결 축에 관한 정보를 포함할 수 있다.
또한, 결합되지 않은 모션 객체 데이터가 존재하는지 확인한다(S1530).
결합되지 않은 모션 객체 데이터가 존재하지 않는 경우, 아바타의 각 부분에 대응하는 모든 데이터가 결합되었으므로, 아바타의 동영상을 생성하는 과정은 종료된다.
결합되지 않은 모션 객체 데이터가 존재하는 경우, 상기 모션 객체 데이터로부터 추출한 연결 축에 관한 정보에 포함되는 관절 방향각을 상대적 방향으로 변경한다(S1540). 실시예에 따라서는, 연결 축에 관한 정보에 포함되는 관절 방향각은 상대적 방향일 수 있고, 이 경우 변경하는 단계(S1540)는 생략하고 단계(S1550)로 바로 갈 수 있다.
이하, 본 발명의 일측에 따른, 관절 방향각이 절대적 방향인 경우, 상기 관절 방향각을 상대적 방향으로 변경하는 방법을 상세히 설명한다. 또한, 가상 세계의 아바타가 얼굴 표정, 머리, 상체, 중체 및 하체의 부분으로 나누어진 경우를 실시예로 하여 설명한다.
실시예에 따라서는, 아바타의 중체에 대응하는 모션 객체 데이터는 신체 중심 좌표를 포함할 수 있다. 절대적 방향인 관절 방향각은 신체 중심 좌표를 포함하는 중체 부분의 연결 부위를 기준으로 상대적 방향으로 변경될 수 있다.
영상 장치는 아바타의 중체에 대응하는 모션 객체 데이터에 저장된 연결 축에 관한 정보를 추출한다. 연결 축에 관한 정보는 아바타의 상체 부분의 연결 부 위인 가슴 척추골(thoracic vertebrae)과 머리 부분의 연결 부위인 경부 척추골(cervical vertebrae) 간의 관절 방향각, 상체 부분의 연결 부위인 가슴 척추골(thoracic vertebrae)과 왼편 쇄골(left clavicle) 간의 관절 방향각, 상체 부분의 연결 부위인 가슴 척추골(thoracic vertebrae)과 오른편 쇄골(right clavicle) 간의 관절 방향각 및 중체 부분의 연결 부위인 골반(pelvis)과 하체 부분의 연결 부위인 왼편 대퇴부(left femur), 중체 부분의 연결 부위인 골반(pelvis)과 하체 부분의 연결 부위인 오른편 대퇴부(right femur) 간의 관절 방향각을 포함할 수 있다.
예를 들어, 골반과 오른편 대퇴부 간의 관절 방향각은 다음과 같은 [수학식 1]로 나타날 수 있다.
[수학식 1]
Figure 112009065042673-PAT00001
상기 [수학식 1]에서 함수 A(.)는 디렉셔널 코사인 함수(directional cosine matrix)이고, RRightFemur _ Pelvis는 골반과 오른편 대퇴부 간의 방향각에 대한 회전 함수(rotational matrix)이다. 또한, ΘRightFemur는 아바타의 하체 부분의 오른편 대퇴부(right femur)에서의 관절 방향각이고, ΘPelvis는 중체 부분의 골반(pelvis)과 오른편 대퇴부(right femur)와의 관절 방향각이다.
상기 [수학식 1]로부터 다음의 [수학식 2]와 같이 회전 함수를 계산할 수 있 다.
[수학식 2]
Figure 112009065042673-PAT00002
절대적 방향인 관절 방향각은 신체 중심 좌표를 포함하는 중체 부분의 연결 부위를 기준으로 상대적 방향으로 변경될 수 있다. 예를 들어, 상기 [수학식 2]의 회전 함수를 이용하여, 아바타의 하체에 대응하는 모션 객체 데이터에 저장된 연결 축에 관한 정보에 포함되는 절대적 방향인 관절 방향각을 하기의 [수학식 3]과 같이 상대적 방향으로 변경할 수 있다.
[수학식 3]
Figure 112009065042673-PAT00003
마찬가지로, 아바타의 머리 및 상체에 대응하는 모션 객체 데이터에 저장된 연결 축에 관한 정보에 포함되는 절대적 방향인 관절 방향각을 상대적 방향으로 변경할 수 있다.
상기 과정에 의해, 관절 방향각이 상대적 방향으로 변경되면, 아바타의 각 부분에 대응하는 모션 객체 데이터에 저장된 연결 축에 관한 정보를 이용하여, 각 부분에 대응하는 모션 객체 데이터를 결합한다(S1550).
다시 단계(S1530)로 돌아가서, 결합되지 않은 모션 객체 데이터가 존재하는 지 확인한다(S1530).
결합되지 않은 모션 객체 데이터가 존재하지 않는 경우, 아바타의 각 부분에 대응하는 모든 데이터가 결합되었으므로, 아바타의 동영상을 생성하는 과정은 종료된다.
도 16은 본 발명의 일실시예에 따른 아바타의 각 부분에 대응하는 모션 객체 데이터를 결합하는 동작을 나타낸 도면이다.
도 16을 참조하면, 본 발명의 일실시예에 따른 영상 장치는 아바타의 제1 부분에 대응하는 모션 객체 데이터(1610)와 제2 부분에 대응하는 모션 객체 데이터(1620)가 결합하여 아바타의 동영상(1630)을 생성한다.
제1 부분에 대응하는 모션 객체 데이터(1610)는 애니메이션 클립 및 모션 데이터 중 어느 하나일 수 있다. 마찬가지로, 제2 부분에 대응하는 모션 객체 데이터(1620)는 애니메이션 클립 및 모션 데이터 중 어느 하나일 수 있다.
본 발명의 일측에 따르면, 영상 장치의 저장부는 애니메이션 클립의 연결 축(1601)에 관한 정보를 더 저장하고, 처리부는 애니메이션 클립의 연결 축(1601)에 관한 정보를 이용하여 애니메이션 클립과 모션 데이터를 결합할 수 있다. 또한, 처리부는 애니메이션 클립의 연결 축(1601)에 관한 정보를 이용하여 애니메이션 클립과 애니메이션 클립을 결합할 수 있다.
실시예에 따라서는, 처리부는 모션 데이터로부터 연결 축에 관한 정보를 추출하고, 애니메이션 클립의 연결 축(1601)과 모션 데이터의 연결 축을 대응시켜 애니메이션 클립과 모션 데이터를 결합할 수 있다. 또한, 처리부는 모션 데이터로부 터 추출한 연결 축에 관한 정보를 이용하여 모션 데이터와 모션 데이터를 결합할 수 있다. 연결 축에 관한 정보는 도 15에서 상세히 설명하였는바, 이하 설명을 생략한다.
이하, 본 발명의 일실시예에 따른 영상 장치가 현실 세계의 사용자의 얼굴을 가상 세계의 아바타의 얼굴에 반영하는 동작을 설명한다.
영상 장치는 현실 세계의 사용자의 얼굴을 현실 세계 장치(예를 들어서, 영상 센서)를 통해서 센싱(sensing)하고, 가상 세계의 아바타의 얼굴에 반영할 수 있다. 가상 세계의 아바타를 얼굴 표정, 머리, 상체, 중체 및 하체의 부분으로 나눈 경우, 영상 장치는 현실 세계의 사용자의 얼굴을 센싱하여, 가상 세계의 아바타의 얼굴 표정 및 머리 부분에 반영할 수 있다.
실시예에 따라서는, 영상 장치는 현실 세계의 사용자의 얼굴의 특징점을 센싱하여 특징점에 대한 데이터를 수집하고, 상기 특징점에 대한 데이터를 이용하여 가상 세계의 아바타의 얼굴을 생성할 수 있다.
이하, 도 17 및 도 18을 참조하여 현실 세계의 사용자의 얼굴을 가상 세계의 아바타의 얼굴에 적용하는 동작을 상세히 설명한다.
도 17은 본 발명의 일실시예에 따른 영상 장치가 현실 세계의 사용자의 얼굴을 센싱하기 위한 특징점을 나타낸 도면이다.
도 17을 참조하면, 영상 장치는 현실 세계의 사용자의 얼굴을 센싱하기 위한 특징점(1 내지 8)을 설정할 수 있다. 영상 장치는 현실 세계의 사용자의 얼굴의 특징점(1), 특징점(2) 및 특징점(3)에 대응하는 부분을 센싱하여 데이터를 수집할 수 있다. 데이터는, 특징점(1), 특징점(2) 및 특징점(3)에 대응하는 부분의 색채, 위치, 깊이, 각도, 굴절률 등이 될 수 있다. 영상 장치는 상기 데이터를 이용하여 가상 세계의 아바타의 얼굴을 생성하기 위한 평면을 만들 수 있다. 또한, 상기 데이터를 이용하여 가상 세계의 아바타의 얼굴의 연결 축에 대한 정보를 생성할 수 있다.
영상 장치는 현실 세계의 사용자의 얼굴의 특징점(4), 특징점(5), 특징점(6), 특징점(7) 및 특징점(8)에 대응하는 부분을 센싱하여 데이터를 수집할 수 있다. 데이터는, 특징점(4), 특징점(5), 특징점(6), 특징점(7) 및 특징점(8)에 대응하는 부분의 색채, 위치, 깊이, 각도, 굴절률 등이 될 수 있다. 영상 장치는 상기 데이터를 이용하여 가상 세계의 아바타의 얼굴의 윤곽 구조를 생성할 수 있다.
영상 장치는 현실 세계의 사용자의 얼굴의 특징점(1), 특징점(2) 및 특징점(3)에 대응하는 부분을 센싱하여 수집한 데이터를 이용하여 생성한 평면 및 특징점(4), 특징점(5), 특징점(6), 특징점(7) 및 특징점(8)에 대응하는 부분을 센싱하여 수집한 데이터를 이용하여 생성한 윤곽 구조를 결합하여 가상 세계의 아바타의 얼굴을 생성할 수 있다.
[표 2]는 가상 세계의 아바타의 얼굴을 표현하기 위해 수집될 수 있는 데이터를 나타낸다.
[표 2]
Figure 112009065042673-PAT00004
도 18은 본 발명의 또 다른 일실시예에 따른 영상 장치가 현실 세계의 사용 자의 얼굴을 센싱하기 위한 특징점을 나타낸 도면이다.
도 18을 참조하면, 영상 장치는 현실 세계의 사용자의 얼굴을 센싱하기 위한 특징점(1 내지 30)을 설정할 수 있다. 특징점(1 내지 30)을 이용하여 가상 세계의 아바타의 얼굴을 생성하는 동작에 대해서는 도 17에서 상세히 설명하였으므로, 이하 설명을 생략한다.
[소스 1]은 XML(eXtensible Markup Language)을 이용한 가상 세계의 아바타의 얼굴을 표현하기 위해 수집될 수 있는 데이터의 프로그램 소스를 나타낸다. 그러나 [소스 1]은 일실시예일 뿐이고, 본 발명이 이에 제한되는 것은 아니다.
[소스 1]
<xsd:complexType name="FaceFeaturesControlType">
<xsd:sequence>
<xsd:element name="HeadOutline" type="Outline" minOccurs="0"/>
<xsd:element name="LeftEyeOutline" type="Outline" minOccurs="0"/>
<xsd:element name="RightOutline" type="Outline" minOccurs="0"/>
<xsd:element name="LeftEyeBrowOutline" type="Outline" minOccurs="0"/>
<xsd:element name="RightEyeBrowOutline" type="Outline" minOccurs="0"/>
<xsd:element name="LeftEarOutline" type="Outline" minOccurs="0"/>
<xsd:element name="RightEarOutline" type="Outline" minOccurs="0"/>
<xsd:element name="NoseOutline" type="Outline"/>
<xsd:element name="MouthLipOutline" type="Outline"/>
<xsd:element name="MiscellaneousPoints" type="MiscellaneousPointsType"/>
</xsd:sequence>
<xsd:attribute name="Name" type="CDATA"/>
</xsd:complexType>
<xsd:complexType name="MiscellaneousPointsType">
<xsd:sequence>
<xsd:element name="Point1" type="Point" minOccurs="0"/>
<xsd:element name="Point2" type="Point" minOccurs="0"/>
<xsd:element name="Point3" type="Point" minOccurs="0"/>
<xsd:element name="Point4" type="Point" minOccurs="0"/>
<xsd:element name="Point5" type="Point" minOccurs="0"/>
<xsd:element name="Point6" type="Point" minOccurs="0"/>
<xsd:element name="Point7" type="Point" minOccurs="0"/>
<xsd:element name="Point8" type="Point" minOccurs="0"/>
<xsd:element name="Point9" type="Point" minOccurs="0"/>
<xsd:element name="Point10" type="Point" minOccurs="0"/>
<xsd:element name="Point11" type="Point" minOccurs="0"/>
<xsd:element name="Point12" type="Point" minOccurs="0"/>
<xsd:element name="Point13" type="Point" minOccurs="0"/>
<xsd:element name="Point14" type="Point" minOccurs="0"/>
<xsd:element name="Point15" type="Point" minOccurs="0"/>
<xsd:element name="Point16" type="Point" minOccurs="0"/>
<xsd:element name="Point17" type="Point" minOccurs="0"/>
<xsd:element name="Point18" type="Point" minOccurs="0"/>
<xsd:element name="Point19" type="Point" minOccurs="0"/>
<xsd:element name="Point20" type="Point" minOccurs="0"/>
<xsd:element name="Point21" type="Point" minOccurs="0"/>
<xsd:element name="Point22" type="Point" minOccurs="0"/>
<xsd:element name="Point23" type="Point" minOccurs="0"/>
<xsd:element name="Point24" type="Point" minOccurs="0"/>
<xsd:element name="Point25" type="Point" minOccurs="0"/>
<xsd:element name="Point26" type="Point" minOccurs="0"/>
<xsd:element name="Point27" type="Point" minOccurs="0"/>
<xsd:element name="Point28" type="Point" minOccurs="0"/>
<xsd:element name="Point29" type="Point" minOccurs="0"/>
<xsd:element name="Point30" type="Point" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 MPEG-V 표준의 시스템 구조를 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 현실 세계와 가상 세계 사이의 정보 및 데이터 교환에 관한 시스템의 구조를 나타낸 도면이다.
도 3a 내지 도 3e는 본 발명의 일실시예에 따른 아바타 제어 명령을 나타낸 도면이다.
도 4는 어피어런스 제어 타입의 구조를 나타내는 도면이다.
도 5는 커뮤니케이션 스킬 제어 타입의 구조를 나타내는 도면이다.
도 6은 개성 제어 타입의 구조를 나타내는 도면이다.
도 7은 애니메이션 제어 타입의 구조를 나타내는 도면이다.
도 8은 컨트럴 제어 타입의 구조를 나타내는 도면이다.
도 9는 본 발명의 일실시예에 따른 영상 장치의 구성을 나타낸 도면이다.
도 10은 본 발명의 일실시예에 따른 가상 세계의 아바타를 얼굴 표정, 머리, 상체, 중체 및 하체의 부분으로 나눈 도면을 나타낸다.
도 11은 본 발명의 일실시예에 따른 애니메이션 클립에 대한 데이터베이스를 나타낸 도면이다.
도 12는 본 발명의 일실시예에 따른 모션 데이터에 대한 데이터베이스를 나타낸 도면이다.
도 13은 본 발명의 일실시예에 따른 우선 순위를 비교하여 아바타의 임의의 부분에 적용할 모션 객체 데이터를 결정하는 동작을 나타낸 도면이다.
도 14는 아바타의 각 부분에 적용할 모션 객체 데이터를 결정하는 방법의 흐름도이다.
도 15는 본 발명의 일실시예에 따른 아바타의 각 부분에 대응하는 모션 객체 데이터를 결합하는 동작을 나타낸 흐름도이다.
도 16은 본 발명의 일실시예에 따른 아바타의 각 부분에 대응하는 모션 객체 데이터를 결합하는 동작을 나타낸 도면이다.
도 17은 본 발명의 일실시예에 따른 영상 장치가 현실 세계의 사용자의 얼굴을 센싱하기 위한 특징점을 나타낸 도면이다.
도 18은 본 발명의 또 다른 일실시예에 따른 영상 장치가 현실 세계의 사용자의 얼굴을 센싱하기 위한 특징점을 나타낸 도면이다.

Claims (11)

  1. 영상 장치에 있어서,
    애니메이션 클립, 상기 애니메이션 클립이 어느 아바타의 어느 부분에 대응하는지에 관한 정보 및 우선 순위를 포함하는 애니메이션 제어 정보 및 모션 센서로부터 수신된 값을 처리한 모션 데이터가 어느 아바타의 어느 부분에 대응하는지에 관한 정보 및 우선 순위를 포함하는 컨트롤 제어 정보를 저장하는 저장부; 및
    아바타의 제1 부분에 대응하는 상기 애니메이션 제어 정보의 우선 순위와 상기 아바타의 상기 제1 부분에 대응하는 상기 컨트롤 제어 정보의 우선 순위를 비교하여, 상기 아바타의 상기 제1 부분에 적용할 데이터를 결정하는 처리부
    를 포함하는 영상 장치.
  2. 제1항에 있어서, 상기 처리부는,
    상기 아바타의 각 부분에 대응하는 상기 애니메이션 제어 정보의 우선 순위와 상기 컨트롤 제어 정보의 우선 순위를 비교하여, 상기 각 부분에 적용할 데이터를 결정하고, 상기 결정된 데이터를 결합하여 상기 아바타의 동영상을 생성하는 영상 장치.
  3. 제1항에 있어서, 어느 아바타의 어느 부분에 대응하는지에 관한 상기 정보는,
    상기 아바타의 얼굴 표정, 머리, 상체, 중체 및 하체 중 어느 부분에 대응하는지에 관한 정보인 영상 장치.
  4. 제1항에 있어서, 상기 애니메이션 제어 정보는,
    상기 아바타의 애니매이션의 속도에 관한 정보를 더 포함하는 영상 장치.
  5. 제1항에 있어서,
    상기 저장부는 상기 애니메이션 클립의 연결 축에 관한 정보를 더 저장하고,
    상기 처리부는 상기 애니메이션 클립의 연결 축에 관한 상기 정보를 이용하여 상기 애니메이션 클립과 상기 모션 데이터를 결합하는 영상 장치.
  6. 제5항에 있어서,
    상기 처리부는 상기 모션 데이터로부터 연결 축에 관한 정보를 추출하고, 상기 애니메이션 클립의 연결 축과 상기 모션 데이터의 연결 축을 대응시켜 상기 애니메이션 클립과 상기 모션 데이터를 결합하는 영상 장치.
  7. 프로세서 및 메모리를 포함하는 컴퓨터 시스템에서 수행되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 기록매체에 있어서,
    애니메이션 제어 정보 및 컨트롤 제어 정보를 저장하는 제1 명령어 세트; 및
    아바타의 각 부분에 대응하는 상기 애니메이션 제어 정보 및 상기 컨트롤 제 어 정보를 참조하여 모션 센서로부터 수신된 값으로부터 생성된 모션 데이터 및 애니메이션 클립을 결합하는 제2 명령어 세트
    를 포함하고,
    상기 애니메이션 제어 정보는,
    대응하는 애니메이션 클립에 대한 정보; 및
    상기 대응하는 애니메이션 클립이 어느 아바타의 얼굴 표정, 머리, 상체, 중체, 및 하체 중 어느 부분에 대응하는지에 관한 식별자;
    를 포함하고,
    상기 컨트롤 제어 정보는,
    상기 실시간 모션 데이터가 어느 아바타의 얼굴 표정, 머리, 상체, 중체, 및 하체 중 어느 부분에 대응하는지에 관한 식별자
    를 포함하는 컴퓨터 판독 기록매체.
  8. 제7항에 있어서,
    상기 애니메이션 제어 정보는 우선 순위를 더 포함하고, 상기 컨트롤 제어 정보는 우선 순위를 더 포함하는 컴퓨터 판독가능 기록매체.
  9. 제8항에 있어서, 상기 제2 명령어 세트는,
    아바타의 제1 부분에 대응하는 상기 애니메이션 제어 정보의 우선 순위와 상기 아바타의 상기 제1 부분에 대응하는 상기 컨트롤 제어 정보의 우선 순위를 비교 하여, 상기 아바타의 상기 제1 부분에 적용할 데이터를 결정하는 컴퓨터 판독가능 기록매체.
  10. 제7항에 있어서, 상기 애니메이션 제어 정보는,
    상기 아바타의 애니매이션의 속도에 관한 정보를 더 포함하는 컴퓨터 판독가능 기록매체.
  11. 제7항에 있어서, 상기 제2 명령어 세트는,
    상기 모션 데이터로부터 연결 축에 관한 정보를 추출하고, 상기 애니메이션 클립의 연결 축과 상기 모션 데이터의 연결 축을 대응시켜 상기 애니메이션 클립과 상기 모션 데이터를 결합하는 컴퓨터 판독가능 기록매체.
KR1020090101175A 2009-06-25 2009-10-23 영상 장치 및 컴퓨터 판독 기록매체 KR20100138701A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020090104487A KR101640458B1 (ko) 2009-06-25 2009-10-30 영상 장치 및 컴퓨터 판독 기록매체
US13/379,834 US20120169740A1 (en) 2009-06-25 2010-06-25 Imaging device and computer reading and recording medium
CN201080038361.5A CN102483857B (zh) 2009-06-25 2010-06-25 图像装置及计算机可读记录介质
PCT/KR2010/004135 WO2010151075A2 (ko) 2009-06-25 2010-06-25 영상 장치 및 컴퓨터 판독 기록매체
EP10792357.5A EP2447908A4 (en) 2009-06-25 2010-06-25 Imaging device and computer reading and recording medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020090057314 2009-06-25
KR20090057314 2009-06-25
KR1020090060409 2009-07-02
KR20090060409 2009-07-02

Publications (1)

Publication Number Publication Date
KR20100138701A true KR20100138701A (ko) 2010-12-31

Family

ID=43512136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090101175A KR20100138701A (ko) 2009-06-25 2009-10-23 영상 장치 및 컴퓨터 판독 기록매체

Country Status (1)

Country Link
KR (1) KR20100138701A (ko)

Similar Documents

Publication Publication Date Title
CN102458595B (zh) 在虚拟世界中控制对象的系统、方法和记录介质
JP5859456B2 (ja) プレゼンテーション用カメラ・ナビゲーション
TWI531396B (zh) 用於推動互動故事的自然使用者輸入
US9071808B2 (en) Storage medium having stored information processing program therein, information processing apparatus, information processing method, and information processing system
US20100060662A1 (en) Visual identifiers for virtual world avatars
US20080215974A1 (en) Interactive user controlled avatar animations
KR101640458B1 (ko) 영상 장치 및 컴퓨터 판독 기록매체
US20110304629A1 (en) Real-time animation of facial expressions
US20040152512A1 (en) Video game with customizable character appearance
US9952668B2 (en) Method and apparatus for processing virtual world
KR20130087311A (ko) 모바일 환경에서 제공되는 서비스에서 아바타를 제공하는 아바타 서비스 시스템 및 방법
EP2118840A1 (en) Interactive user controlled avatar animations
KR20130087305A (ko) 유무선 웹을 통한 아바타 서비스 시스템 및 방법
JP2010532890A (ja) アバターカスタマイズの装置及び方法
JP6802393B2 (ja) 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル
US11833430B2 (en) Menu placement dictated by user ability and modes of feedback
CN105279795A (zh) 基于3d标记的增强现实系统
WO2008106197A1 (en) Interactive user controlled avatar animations
US20220327755A1 (en) Artificial intelligence for capturing facial expressions and generating mesh data
Lucas et al. The effect of operating a virtual doppleganger in a 3D simulation
JP7479618B2 (ja) 情報処理プログラム、情報処理方法、情報処理装置
KR101977893B1 (ko) 영상컨텐츠 적용 디지털액터의 운용방법
CN109939439B (zh) 虚拟角色的卡住检测方法、模型训练方法、装置及设备
EP2597575B1 (en) Method for transmitting data between virtual worlds
KR102079321B1 (ko) 유무선 웹을 통한 아바타 서비스 시스템 및 방법