KR20210028198A - 아바타 애니메이션 - Google Patents

아바타 애니메이션 Download PDF

Info

Publication number
KR20210028198A
KR20210028198A KR1020217001476A KR20217001476A KR20210028198A KR 20210028198 A KR20210028198 A KR 20210028198A KR 1020217001476 A KR1020217001476 A KR 1020217001476A KR 20217001476 A KR20217001476 A KR 20217001476A KR 20210028198 A KR20210028198 A KR 20210028198A
Authority
KR
South Korea
Prior art keywords
avatar
control data
animating
data processing
processing device
Prior art date
Application number
KR1020217001476A
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 웹 어시스턴트 게엠베하
Publication of KR20210028198A publication Critical patent/KR20210028198A/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
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)

Abstract

데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법은: a) 2차원 및/또는 3차원 오브젝트를 애니메이션화하도록 설계되는 그리고 인터페이스를 구비하는 그래픽 유닛 - 2차원 및/또는 3차원 오브젝트를 애니메이션화하기 위해 제어 데이터는 인터페이스를 통해 그래픽 유닛으로 전송될 수 있음 - 을 제공하는 단계; b) 그래픽 유닛에 의해 주소 지정될 수 있는 메모리 영역에서 아바타를 로딩하고 준비 상태로 유지하는 단계; c) 아바타를 애니메이션화하기 위한 제어 데이터를 수신하기 위한 수신 유닛을 제공하는 단계; d) 수신된 제어 데이터를 그래픽 유닛으로 연속적이고 순차적으로 전송하는 단계; e) 그래픽 유닛에서의 아바타의 후속하는 렌더링과 함께 현재 제어 데이터가 전송되는 것에 기초하여 업데이트된 아바타의 연속적인 재계산에 의해 아바타를 애니메이션화하는 단계; f) 디스플레이 디바이스 상에서의 업데이트된 아바타의 연속적인 표현 단계를 포함한다.

Description

아바타 애니메이션
본 발명은 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법에 그리고 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법에 관한 것이다. 본 발명은 또한 방법을 실행하기 위한 수단을 포함하는 데이터 프로세싱 시스템에 그리고 컴퓨터 프로그램에 관한 것이다. 본 발명은 마찬가지로 컴퓨터 프로그램을 구비하는 컴퓨터 판독 가능 저장 매체에 관한 것이다.
급속하게 진전되는 디지털화 때문에, 실제 사람은 많은 영역에서 가상 캐릭터 또는 아바타에 의해 점점 표현되고 있다. 이 경우, 아바타는 통상적으로 가상 세계에서 실제 사람에게 할당되는 인공의 사람 또는 그래픽적 인물(graphic figure)이다.
예를 들면, 아바타는 인터넷 포럼에서 유저에게 할당되는 정적 이미지의 형태로 존재할 수도 있으며, 식별의 목적을 위해, 토론에 대한 기고문(contribution) 옆에 각각 디스플레이된다. 움직일 수 있는 및/또는 그 외관이 구체적으로 변경될 수 있는 동적인 또는 애니메이션화 가능한화 가능한 아바타도 마찬가지로 알려져 있다. 이 경우, 복잡한 아바타는 실제 사람의 움직임과 얼굴 표정을 사실적인 방식으로 모방할(emulate) 수 있다.
아바타는 이미 컴퓨터 게임에 널리 퍼져 있다. 이 경우, 유저는 애니메이션화 가능한 가상 캐릭터에 의해 구체적으로 표현될 수 있으며 가상 게임 세계에서 이동할 수 있다. 아바타는 또한, 특히, 영화 산업에서, 온라인 지원에서, 가상 비서로서, 시청각 커뮤니케이션에서, 예를 들면, 아바타 비디오 채팅에서, 또는 트레이닝 목적을 위해 사용된다.
US 2013/0235045 A1은, 예를 들면, 비디오 카메라, 네트워크 인터페이스, 애니메이션 소프트웨어를 포함하는 메모리 유닛 및 3-D 캐릭터 또는 아바타의 모델을 포함하는 컴퓨터 시스템을 설명한다. 소프트웨어는 실제 사람의 비디오 이미지에서 얼굴 움직임이 검출되고 모션 데이터로 변환될 수 있도록 구성된다. 이들 모션 데이터는, 그 다음, 아바타를 애니메이션화하기 위해 사용된다. 애니메이션화된 아바타는, 네트워크 인터페이스를 통해, 원격 디바이스로 송신되고 그곳에서 수신되는 코딩된 비디오 메시지로서 렌더링된다.
그러나, 그러한 시스템의 단점은, 상응하여 대량의 데이터를 생성하는 코딩된 비디오 메시지를 대상으로 작업하는 것이 필요하다는 것이다. 특히 원격 디바이스 상에서의 실시간 애니메이션은, 인터넷 및 네트워크 연결을 통한 제한된 송신 레이트 때문에, 거의 불가능하거나 또는 제한된 품질만을 가지고 가능하다.
아바타는 이미 트레이닝의 분야에서 또한 사용되고 있는데, 이 경우, 그들은 비디오 애니메이션에서 실제 교사의 역할을 채택하거나 또는 복잡한 문제를 구체적으로 예시할 수 있다. 그러한 비디오 애니메이션은 통상적으로 3-D 애니메이션 프로그램에 의해 미리 생성되며 비디오 클립 또는 비디오 필름으로서 제공된다. 생성 동안, 아바타 또는 오브젝트는 애니메이션 데이터와 관련되고, 3-D 애니메이션 프로그램에서 배경에 대해 직접적으로 렌더링되며 비디오 파일의 단위로서 제공된다. 따라서, 결과는 규정된 또는 변경 불가능한 애니메이션 시퀀스 및 배경을 갖는 정의되는 길이의 완전히 렌더링된 비디오 파일이다.
그러나, 아바타를 애니메이션화 하고 제시하기 위해 사용될 수 있는 현재 이용 가능한 3-D 애니메이션 프로그램은, 일반적으로, 조작하기가 매우 복잡하고, 따라서, 전문가에 의해서만 조작될 수 있다. 또한, 완전히 렌더링된 아바타만이 로딩되어 제시될 수 있기 때문에, 로드 시간은 일반적으로 매우 길다.
따라서, 아바타를 애니메이션화하고 제시하기 위한 개선되고 더 유연한 솔루션에 대한 요구가 여전히 있다.
본 발명의 목적은 아바타를 애니메이션화하기 위한 개선된 방법을 제공하는 것이며, 그 방법은 시작에서 언급되는 기술 분야에 속한다. 특히, 방법은 아바타의 실시간 애니메이션을 가능하게 하도록 의도되며, 바람직하게는, 고품질 애니메이션을 가능한 한 적은 데이터 볼륨을 가지고 유연한 방식으로 제공하도록 의도된다.
목적의 달성은 청구항 1의 피쳐(feature)에 의해 정의된다. 본 발명에 따르면, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법은 다음의 단계를 포함한다:
a) 2차원 및/또는 3차원 오브젝트를 애니메이션화하도록 설계되며 인터페이스를 구비하는 그래픽 유닛 - 2차원 및/또는 3차원 오브젝트를 애니메이션화하기 위한 제어 데이터는 인터페이스를 통해 그래픽 유닛으로 전송될 수 있음 - 을 제공하는 단계;
b) 아바타를 그래픽 유닛에 의해 주소 지정될 수 있는 메모리 영역에서 로딩하고 이용 가능하게 유지하는 단계;
c) 아바타를 애니메이션화하기 위한 제어 데이터를 수신하기 위한 수신 유닛을 제공하는 단계;
d) 수신된 제어 데이터를 그래픽 유닛으로 연속적이고 순차적으로 전송하는 단계;
e) 그래픽 유닛에서의 아바타의 후속하는 렌더링과 함께 각각의 현재 전송된 제어 데이터에 기초하여 업데이트된 아바타를 연속적으로 재계산하는 것에 의해 아바타를 애니메이션화하는 단계;
f) 업데이트되고 렌더링된 아바타를 출력 디바이스 상에서 연속적으로 제시하는 단계.
따라서, 본 발명에 따르면, 아바타는 실제 애니메이션 이전에 그래픽 유닛에 의해 주소 지정될 수 있는 메모리 영역에서 로딩되고 이용 가능하게 유지된다. 특히, 아바타는 단계 d) 내지 f) 동안 메모리 영역에서 언제 어디서나(omnipresently) 이용 가능하다.
아바타를 애니메이션화하기 위한 제어 데이터는, 그 다음, 수신 유닛을 통해 연속적으로 수신되고 그래픽 유닛으로 전송될 수 있다. 그래픽 유닛에서, 미리 로딩된 아바타는, 그 다음, 각각의 현재 전송된 제어 데이터에 기초하여 연속적으로 재계산되고 렌더링된다. 이러한 방식으로 업데이트되고 렌더링되는 아바타는 출력 디바이스 상에서 제시된다.
이 방법은, 아바타 그 자체 또는 아바타가 기초하는 모델이 제어 데이터와는 독립적으로 로딩되고 이용 가능하게 유지된다는 큰 이점을 갖는다. 아바타는 시간의 관점에서 제어 데이터 이전에 완전히 로딩되는 것이 바람직하다. 이용 가능한 아바타를 애니메이션화하기 위해서는, 제어 데이터를 수신하고 그들을 사용하여 아바타를 업데이트하는 것이면 충분하다. 이것은 데이터의 볼륨을 상당히 감소시키고 심지어 제한된 송신 대역폭의 경우에도 고품질 실시간 애플리케이션을 가능하게 한다. 따라서, 본 발명에 따른 접근법을 사용하여 실시간 유저 상호 작용이 어떠한 문제도 없이 구현될 수 있다.
아바타가 원칙적으로는 로딩 이후 무제한의 시간 동안 이용 가능하기 때문에, 그것은 제어 데이터를 사용하여 임의의 시간에 그리고 임의의 시간 길이 동안 애니메이션화될 수 있다. 제어 데이터는 상이한 소스로부터 유래할 수 있고, 따라서, 애니메이션에서 고도의 유연성을 달성하는 것을 가능하게 만든다는 것이 또한 강조되어야 한다. 예를 들면, 제어 데이터 소스는 아바타의 진행 중인 애니메이션 동안 어떠한 문제도 없이 변경될 수 있다. 추가적인 제어 데이터를 생성하는 추가적인 유저 입력에 의해 특정한 제어 데이터 소스에 기초하여 실행되는 애니메이션에 특별히 영향을 끼치는 것도 또한 가능하다.
업데이트된 아바타의 연속적인 표현(presentation) 때문에, 업데이트된 아바타는 프레임 없이 및/또는 배경 없이 제시될 수 있고 및/또는 원칙적으로는 출력 디바이스, 예를 들면, 스크린 상의 임의의 위치에서 그 자체로 크롭될 수 있다.
따라서, 본 발명에 따른 접근법은, 아바타를 제시하기 이전에 배경 및/또는 미리 정의된 프레임을 갖는 완전한 애니메이션 시퀀스의 완전한 비디오 렌더링이 실행되는 아바타의 비디오 기반의 애니메이션과는 명백히 대조된다.
하나의 특히 바람직한 실시형태에 따르면, 본 발명에 따른 방법은 데이터 프로세싱 설비(data processing installation) 상에서 실행되는 웹 브라우저에서 실행된다. 유저의 경우, 이것은, 특히, 일반적으로 존재하는 표준 소프트웨어, 예를 들면, 웹 브라우저를 제외하면, 추가적인 프로그램이 필요로 되지 않으며, 컴퓨터에 의한 실행 동안, 컴퓨터로 하여금, 본 발명에 따른 방법을 실행하게 하는 컴퓨터 프로그램이 웹사이트로서 제공될 수 있다는 이점을 갖는다. 다시 말하면, 컴퓨터에 의한 실행 동안, 컴퓨터로 하여금, 본 발명에 따른 방법을 실행하게 하는 컴퓨터 프로그램은 웹 애플리케이션으로서 존재할 수도 있다.
이 경우, 웹 브라우저는, 특히, 월드 와이드 웹(World Wide Web)에서 전자 하이퍼텍스트 문서 또는 웹사이트를 제시하도록 설계되는 컴퓨터 프로그램을 의미하는 것으로 이해되어야 한다. 웹 브라우저는, 특히, HTML 기반의 문서(HTML = Hypertext Markup Language; 하이퍼텍스트 마크업 언어) 및/또는 CSS 기반의 문서(CSS = Cascading Style Sheets; 캐스케이딩 스타일 시트)가 해석되고 제시될 수 있는 그러한 방식으로 설계된다. 웹 브라우저는 추가적으로 바람직하게는 프로그램을 위한 런타임 환경, 특히 자바 런타임 환경(Java runtime environment)을 갖는다.
웹 브라우저는 또한, 웹 브라우저에서 2-D 및/또는 3-D 그래픽을 제시하기 위해 사용될 수 있는 프로그래밍 인터페이스를 구비하는 것이 바람직하다. 이 경우, 프로그래밍 인터페이스는, 표현이, 예를 들면, 그래픽 프로세서 또는 그래픽 카드를 사용하는 하드웨어 가속 방식에서 영향을 받을 수 있는, 특히, 추가적인 확장 없이 영향을 받을 수 있는 그러한 방식으로 설계되는 것이 바람직하다.
예를 들면, WebGL 프로그래밍 인터페이스를 구비하는 웹 브라우저가 적합하다. 대응하는 웹 브라우저, 특히, Chrome(크롬)(Google(구글)), Firefox(파이어폭스)(Mozilla(모질라)), Safari(사파리)(Apple(애플)), Opera(오페라)(Opera software(오페라 소프트웨어)), Internet Explorer(인터넷 익스플로러)(Microsoft(마이크로소프트)) 또는 Edge(에지)(Microsoft)가 자유롭게 이용 가능하다.
본 발명에 따른 방법의 단계 d)-f)는, 예를 들면, 다음 하위 단계에 의해 구현될 수 있다:
(i) 제1 수신된 제어 데이터 레코드(control data record)를 그래픽 유닛으로 전송하는 단계;
(ii) 전송된 제어 데이터 레코드에 기초하여 업데이트된 아바타를 계산하고 아바타를 그래픽 유닛에서 렌더링하는 단계;
(iii) 업데이트된 아바타를 출력 디바이스 상에서 제시하는 단계;
(iv) 다음에 수신된 제어 데이터 레코드를 그래픽 유닛으로 전송하는 하는 단계;
(v) 특히 미리 정의된 중단 조건이 충족될 때까지, 단계 (ii) 내지 (iv)를 반복하는 단계.
이 경우, 하위 단계는, 특히, 언급된 순서대로 수행되었다.
이 경우, 제어 데이터는 하나 이상의 제어 데이터 레코드를 포함하는 것이 바람직한데, 각각의 제어 데이터 레코드는 특정한 시간에서의 아바타를 정의한다. 이것은, 특히, 제어 데이터 레코드(들)가 주어진 시간에서의 아바타의 상태를 정의한다는 것을 의미한다. 특히, 제어 데이터 레코드(들)는 특정한 시간에서의 아바타의 이동 가능한 제어 엘리먼트, 예를 들면, 뼈 및/또는 관절의 포지션을 직접적으로 또는 간접적으로 정의(들)한다. 간접적인 정의 또는 규정은, 예를 들면, 하기에서 추가로 설명되는 바와 같이, 키 이미지에 의해 영향을 받을 수 있다.
하나의 특히 바람직한 실시형태에 따르면, 단계 d) 내지 f) 및/또는 하위 단계 (i) 내지 (iv)는 실시간으로 실행된다. 이것은 사실적인 애니메이션과 즉각적인 유저 상호 작용을 가능하게 한다. 그러나, 특수 애플리케이션의 경우, 단계 d) 내지 f) 및/또는 하위 단계 (i) 내지 (iv)는 더 빠른 또는 더 느린 방식으로 또한 발생할 수 있다.
단계 d) 내지 f) 및/또는 하위 단계 (i) 내지 (iv)에서의 각각의 프로세스의 반복률은, 특히, 적어도 10 Hz, 특히 적어도 15 Hz, 바람직하게는 적어도 30 Hz 또는 적어도 50 Hz이다. 단계 d) 내지 f) 및/또는 하위 단계 (i) 내지 (iv)에서의 각각의 프로세스는 동기화된 방식으로 발생하는 것이 바람직하다. 이것은, 특히, 사실적인 실시간 애니메이션을 달성하는 것을 가능하게 만든다. 그러나, 특별한 경우에는, 더 낮은 반복률도 또한 가능하다.
또한, 제어 데이터가 시간 코딩을 가지며 단계 d) 내지 f) 및/또는 하위 단계 (i) 내지 (iv)가 시간 코딩과 동기화되어 실행되는 경우가 바람직하다. 이것은 아바타의 시간 분해 애니메이션을 가능하게 하는데, 이것은, 결국에는, 현실성에 가까워진다는 이점을 갖는다.
본 발명에서, "아바타"는 실체(real body) 또는 오브젝트, 예를 들면, 생명체(living thing)의 인공적 모델을 의미하는 것으로 이해된다. 특히, 용어 아바타는, 가상 세계에서 실제 사람에게 할당될 수 있는 인공의 사람 또는 그래픽적 인물을 의미하는 것으로 이해된다. 이 경우, 아바타는 생명체를 완전히 또는 부분적으로만, 예를 들면, 사람의 머리만을 표현할 수도 있다.
아바타는, 특히, 신체의 2차원 또는 3차원 가상 모델로서 정의된다. 모델은 특히 2차원 또는 3차원 공간에서 이동 가능하고, 및/또는 가상 모델의 형태를 정의된 방식으로 변경하기 위해 사용될 수 있는 제어 엘리먼트를 구비한다.
특히, 아바타는 스켈레톤 모델(skeleton model)에 기초한다. 그러나, 원칙적으로는, 다른 모델이 마찬가지로 사용될 수 있다.
아바타는 계층적으로 연결된 뼈 및/또는 관절의 세트 및 이들에 커플링되는 정점(vertex)의 메쉬(mesh)의 형태의 스켈레톤에 의해 정의되는 것이 특히 바람직하다.
정점의 포지션은 통상적으로 2차원 또는 3차원 벡터의 형태의 포지션 표시에 의해 미리 정의된다. 포지션 표시에 더하여, 추가적인 파라미터, 예를 들면, 컬러 값, 텍스쳐 및/또는 할당된 뼈 또는 관절이 정점에 또한 할당될 수도 있다. 정점은, 특히, 아바타의 가시적 모델(visible model)을 정의한다.
뼈 및/또는 관절의 포지션은, 특히, 2차원 또는 3차원 좌표에 의해 정의된다.
뼈 및/또는 관절은, 그들이 미리 정의된 움직임을 허용하는 방식으로 정의되는 것이 바람직하다. 예를 들면, 선택된 뼈 및/또는 선택된 관절은, 공간에서 이동될 수 있는 것 및 회전을 수행할 수 있는 것 둘 모두가 가능한 소위 루트(root)로서 정의될 수도 있다. 그 다음, 모든 다른 뼈 및/또는 관절은 회전 운동으로 제한될 수 있다. 이 경우, 각각의 관절 및/또는 각각의 뼈는 로컬 좌표 시스템을 기하학적으로 표현할 수 있는데, 관절 및/또는 뼈의 변환은 모든 종속하는 관절 및/또는 뼈 또는 그들의 좌표 시스템에도 또한 영향을 준다.
대응하는 아바타는, 다양한 공급자, 예를 들면, Daz(다즈) 3D(미국 솔트 레이크 시티) 또는 High Fidelity(하이 피델리티)(미국 샌프란시스코)로부터 상업적으로 이용 가능하다. 그러나, 아바타는 또한, 원칙적으로는, 예를 들면 특수 소프트웨어, 예를 들면, Autodesk(오토데스크)로부터의 Maya(마야) 또는 3ds Max(맥스), Maxon(맥손)으로부터의 Cinema4D(시네마4D) 또는 오픈 소스 솔루션인 Blender(블렌더)를 사용하여 원칙적으로 자체 생성될 수 있다.
아바타에 대한 선호되는 데이터 포맷은 JSON, gITF2, FBX 및/또는 COLLADA이다. 이들은, 특히, WebGL과 호환 가능하다.
또한, 아바타의 키 이미지(키 프레임), 예를 들면, 10-90 개의 키 이미지가 메모리 영역으로 로딩되고 아바타와 함께 제공되는 경우가 바람직하다. 키 이미지는 미리 정의된 상태에 있는 아바타의 가상 모델에 대응한다. 아바타가 인체를 나타내는 경우, 예를 들면, 하나의 키 이미지는 입을 벌린 상태의 아바타를 제시할 수 있고, 반면, 다른 키 이미지는 입을 다문 상태의 아바타를 제시할 수 있다. 그러면, 입을 벌리는 움직임은 소위 키 이미지 애니메이션에 의해 달성될 수 있는데, 이것은 하기에서 더 자세하게 설명된다.
그러나, 원칙적으로, 키 이미지를 생략하는 것이 가능하다. 이것은, 예를 들면, 송신 대역폭이 충분한 경우 또는 아바타의 복잡성이 제한되는 경우에 그렇다.
특히, 제어 데이터는 하나 이상의 제어 데이터 레코드를 포함하는데, 제어 데이터 레코드는 특정한 시간에서의 아바타를 정의한다.
특히, 제어 데이터 레코드는 n 개의 뼈 및/또는 관절의 좌표를 포함하고, 반면 아바타는 n 개보다 더 많은 뼈 및/또는 관절을 포함한다. 다시 말하면, 제어 데이터 레코드는, 각각, 아바타의 뼈 및/또는 관절의 제한된 선택의 좌표만을 포함한다. 이 경우, 아바타의 n 개보다 더 많은 뼈 및/또는 관절 중 하나가, 특히, 제어 데이터 레코드에 포함되는 n 개의 뼈의 각각에 할당된다.
하나의 특히 바람직한 실시형태에 따르면, 업데이트된 아바타를 계산할 때, 적어도 두 개의 키 이미지를 보간하는 것에 의해 중간 이미지가 생성된다. 이 경우, 하나 이상의 중간 이미지는 키 이미지로부터 시작하여 시간적으로 이따금 보간될 수 있고, 따라서, 각각의 뼈 및/또는 각각의 관절에 대한 제어 데이터가 각각의 개개의 중간 이미지에 대해 필요로 되지 않고도 완전하고 유동적인 모션 시퀀스를 획득할 수 있다. 대신, 아바타로 하여금 특정한 움직임을 실행하게 하는 제어 데이터면 충분하다. 이 경우, 움직임의 강도 및 속도 둘 모두는 미리 정의될 수 있다. 상기에서 언급되는 예로 돌아가서, 아바타는, 예를 들면, 적절한 제어 데이터에 의해, 자신의 입을 열도록 촉구받을 수 있다. 이 경우, 개방 정도 및 개방 속도 둘 모두는 미리 정의될 수 있다.
키 이미지의 사용은, 애니메이션의 품질을 눈에 띄게 감소시키지 않으면서, 데이터의 볼륨을 크게 감소시키는 것을 가능하게 만든다.
제어 데이터에서의 또는 제어 데이터 레코드로부터의 뼈 및/또는 관절의 포지션 및/또는 좌표는, 단계 e)에서, 아바타의 하나 이상의 뼈 및/또는 관절에 및/또는 아바타의 하나 이상의 키 이미지에 할당되는 것이 바람직하다.
이 목적을 위해, 단계 e)에서, 적어도 하나의 키 이미지, 특히 복수의 키 이미지가, 특히, 제어 데이터에서의 선택된 뼈 및/또는 관절에 링크되거나 또는 적어도 하나의 키 이미지, 특히 복수의 키 이미지가 제어 데이터에서의 선택된 뼈 및/또는 관절의 포지션 및/또는 좌표에 링크된다. 이 경우, 제어 데이터에서의 선택된 뼈 및/또는 관절의 포지션은, 적어도 하나의 링크된 키 이미지를 사용하는 보간에 의해 획득되는 중간 이미지에 할당될 수 있다.
미리 정의된 기준 값으로부터의 선택된 뼈 및/또는 관절의 포지션의 편차는, 특히, 보간에서 적어도 하나의 링크된 키 이미지의 영향의 강도를 정의한다.
개개의 제어 데이터는 미리 정의된 프로토콜에 따라 아바타의 뼈 및/또는 관절에 및/또는 키 이미지에 할당되는 것이 유리한데, 여기서 프로토콜은 메모리 영역에 로딩되고 아바타와 함께 제공되는 것이 바람직하다. 따라서, 아바타 및 할당된 프로토콜 둘 모두는 무제한의 시간 동안 또는 언제 어디서나 이용 가능하다. 따라서, 제어 데이터와 관련한 데이터 레이트는 최소화될 수 있다.
사용되는 프로토콜에서, 제어 데이터 또는 제어 데이터 레코드로부터의 뼈 및/또는 관절의 좌표는 아바타의 하나 이상의 뼈 및/또는 관절에 및/또는 아바타의 하나 이상의 키 이미지에 할당되는 것이 바람직하다.
제어 데이터는, 특히, BVH 데이터 포맷(BVH = Biovision Hierarchy(바이오비전 하이어아키))으로 존재한다. 이것은 그 자체로 공지되어 있는 데이터 포맷이며, 구체적으로, 애니메이션 목적을 위해 사용되며, 스켈레톤 구조체 및 모션 데이터를 포함한다.
하나의 바람직한 실시형태에 따르면, 본 발명에 따른 방법의 단계 a) 내지 f)는 로컬 데이터 프로세싱 설비 상에서 완전히 실행된다. 이 경우, 로컬 데이터 프로세싱 설비는, 예를 들면, 퍼스널 컴퓨터, 휴대용 컴퓨터, 특히 랩탑 또는 태블릿 컴퓨터, 또는 모바일 디바이스, 예를 들면, 컴퓨터 기능성(functionality)을 갖춘 이동 전화(스마트폰)일 수도 있다. 로딩될 아바타 및/또는 제어 데이터의 가능한 송신을 제외하면, 데이터 프로세싱 설비 사이에서 추가적인 데이터 교환이 필요로 되지 않기 때문에, 그러한 접근법을 통해 데이터 트래픽은 감소될 수 있다.
그러나, 특별한 적용을 위해, 본 발명에 따른 방법의 개개의 단계 중 하나 이상이 상이한 데이터 프로세싱 설비 상에서 실행되는 것이 가능하다.
특히, 제어 데이터, 로딩될 아바타 및/또는 프로토콜은 원격 데이터 프로세싱 설비, 특히 서버 상에서 적어도 부분적으로, 특히 완전히 존재하며, 특히 본 발명에 따른 방법이 실행되는 그 로컬 데이터 프로세싱 설비 상에서, 네트워크 연결, 특히 인터넷 연결을 통해 그들로부터 수신된다.
특히, 원격 데이터 프로세싱 설비 상에는, 가능한 프로토콜 및 로딩될 아바타와 제어 데이터 양자가 존재한다.
이 접근법을 통해, 유저는, 원칙적으로, 유저가 현재 이용 가능한 데이터 프로세싱 설비와 관계없이, 임의의 시간에 제어 데이터 및/또는 아바타에 액세스할 수 있다.
그러나, 원칙적으로, 로딩될 아바타 및/또는 제어 데이터가 본 발명에 따른 방법이 실행되는 로컬 데이터 프로세싱 설비 상에서 존재하는 것도 또한 가능하다.
특히 바람직한 방식에서, 로딩될 아바타 및/또는 수신될 제어 데이터는 조작 엘리먼트를 사용하여 미리 선택될 수 있거나 또는 선택될 것이다. 조작 엘리먼트는, 예를 들면, 버튼, 선택 필드, 텍스트 입력 및/또는 음성 제어 유닛이다. 이것은 데이터 프로세싱 설비의 그래픽 유저 인터페이스를 통해 그 자체로 공지되어 있는 방식으로 제공될 수도 있다.
그러한 조작 엘리먼트는 각각의 경우에 주목하는 제어 데이터를 사용하여 애니메이션화되는 아바타를 의도적으로 선택하기 위해 유저에 의해 사용될 수 있다.
특히, 아바타의 애니메이션을 제어하기 위해 사용될 수 있는 추가적인 조작 엘리먼트가 존재한다. 예를 들면, 애니메이션은 추가적인 조작 엘리먼트를 사용하여 시작, 일시 정지 및/또는 정지될 수 있다. 추가적인 조작 엘리먼트는 마찬가지로 데이터 프로세싱 설비의 그래픽 유저 인터페이스에서 제공되는 것이 바람직하다.
특히, 제어 엘리먼트 및 추가적인 제어 엘리먼트는 HTML 및/또는 CSS 제어 엘리먼트이다.
아바타는 추가적인 오브젝트와 함께 장면에서 렌더링되고 제시되는 것이 특히 바람직하다. 따라서, 사실적인 애니메이션이 생성될 수 있다. 추가적인 오브젝트는, 예를 들면, 배경, 바닥(floor), 방 및 등등일 수도 있다. 본 발명에 따른 방법 때문에, 심지어 이미 실행되고 있는 애니메이션의 경우에도, 추가적인 오브젝트가 임의의 시간에 장면에 통합될 수 있다.
하나의 바람직한 실시형태에 따르면, 두 개 이상의 아바타는 서로 독립적으로 동시에 로딩되고 이용 가능하게 유지되며, 바람직하게는, 개별적으로 할당된 제어 데이터를 사용하여 서로 독립적으로 애니메이션화된다. 이것은 본 발명에 따른 방법을 사용하여 어떠한 문제도 없이 가능하다. 예를 들면, 복수의 유저 사이의 유저 상호 작용 또는 시청각(audiovisual) 통신은, 따라서, 극도로 유연한 방식으로 구현될 수 있다.
업데이트된 아바타는, 원칙적으로는, 임의의 소망되는 출력 디바이스 상에서 제시될 수도 있다. 예를 들면, 출력 디바이스는 스크린, 비디오 프로젝터, 홀로그램 프로젝터 및/또는 머리 상에 착용될 출력 디바이스(헤드 마운트 디스플레이), 예를 들면, 비디오 글래스 또는 데이터 글래스일 수도 있다.
본 발명의 또 다른 양태는 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법에 관한 것인데, 여기서 제어 데이터는, 특히, 상기에서 설명되는 바와 같은 방법에서의 사용을 위해 설계되며, 다음의 단계를 포함한다:
a) 2차원 또는 3차원 공간에서 이동될 수 있는 신체의 2차원 또는 3차원 가상 모델 - 모델은 가상 모델을 정의된 방식으로 변경하기 위해 사용될 수 있는 제어 엘리먼트를 구비함 - 을 제공하는 단계;
b) 실제 신체의 움직임 및/또는 변화를 시간 분해 방식(time-resolved manner)으로 캡쳐하는 단계;
c) 주어진 시간에서의 실제 신체의 상태에 대응하는, 가상 모델의 제어 엘리먼트의 좌표를 시간 분해 방식으로 결정하는 것에 의해 가상 모델에서 실제 신체의 움직임 및/또는 변화를 모방하는 단계;
d) 제어 엘리먼트의 결정된 시간 분해 좌표를 제어 데이터로서 제공하는 단계.
제어 데이터를 캡쳐하기 위한 본 발명에 따른 방법은 유연한 방식으로 제어 데이터를 생성하는 것을 가능하게 만드는데, 이것은, 그 다음, 아바타를 애니메이션화하기 위한 상기에서 설명된 방법에서 사용될 수 있다.
방법은 데이터 프로세싱 설비 상에서 실행되는 웹 브라우저에서 실행되는 것이 바람직하다. 이 경우, 웹 브라우저는, 특히, 상기에서 설명되는 바와 같이 설계되며, 특히, 상기에서 설명되는 기능성 및 인터페이스를 갖는다. 유저의 경우, 이것은, 결국에는, 종래에 존재하는 표준 소프트웨어, 예를 들면 웹 브라우저를 제외하면, 추가적인 프로그램이 필요로 되지 않으며, 컴퓨터에 의한 실행 동안, 컴퓨터로 하여금, 본 발명에 따른 방법을 실행하게 하는 컴퓨터 프로그램이 웹 애플리케이션으로서 존재할 수도 있다는 이점을 갖는다. 따라서, 순전히 웹 브라우저에 기초한 방식으로 아바타를 애니메이션화하기 위한 제어 데이터를 생성하는 것이 가능하다.
웹 브라우저는, 컴퓨터-컴퓨터 연결을 통해 실시간 통신을 가능하게 하는 통신 프로토콜 및/또는 프로그래밍 인터페이스를 갖는 것이 바람직하다. 예를 들면, WebRTC 표준을 준수하는 웹 브라우저, 예를 들면, Chrome(Google), Firefox(Mozilla), Safari(Apple), Opera(Opera software) 또는 Edge(Microsoft)가 적합하다.
단계 b)에서, 신체의 움직임 및/또는 변화를 캡쳐하기 위해, 원칙적으로는, 실제 신체의 움직임 및/또는 변화를 추적하기 위해 사용될 수 있는 임의의 소망되는 수단을 사용하는 것이 가능하다. 예를 들면, 수단은 카메라 및/또는 센서일 수도 있다.
2-D 카메라 및/또는 3-D 카메라가 카메라로서 적합하다. 2-D 비디오 카메라 및/또는 3-D 비디오 카메라가 선호된다. 이 경우, 3-D 카메라는, 오브젝트의 거리의 시각적 표현을 허용하는 카메라를 의미하는 것으로 이해된다. 특히, 이것은 스테레오 카메라, 삼각 측량 시스템, 비행 시간 측정 카메라(time of flight measurement camera; TOF 카메라) 또는 라이트 필드 카메라(light field camera)이다. 따라서, 2-D 카메라는 오브젝트의 순수한 2차원 표현을 가능하게 하는 카메라를 의미하는 것으로 이해된다. 예를 들면, 이것은 단안 카메라(monocular camera)일 수도 있다.
굽힘(bending), 변형(strain), 가속도, 위치, 포지션 및/또는 자이로 센서가 센서로서 사용될 수 있다. 특히, 기계, 열전(thermoelectric), 저항, 압전(piezoelectric), 용량(capacitive), 유도(inductive), 광학 및/또는 자기 센서가 수반된다. 얼굴 인식의 경우, 광학 센서 및/또는 자기 센서, 예를 들면, 홀(Hall) 센서가 특히 적합하다. 그들은 실제 신체의 정의된 위치에서 고정 및/또는 착용될 수도 있고, 따라서, 신체의 움직임 및/또는 변화를 레코딩하고 포워딩할 수 있다. 예를 들면, 센서는, 자신의 움직임 및/또는 변화가 캡쳐되도록 의도되는 사람에 의해 착용되는 의류의 아이템에서 통합될 수 있다. 대응하는 시스템은 상업적으로 이용 가능하다.
카메라, 특히 2-D 카메라는, 특히, 실제 사람의 얼굴을 캡쳐할 목적을 위해, 단계 b)에서 사용되는 것이 특히 바람직하다. 이 경우, 비디오 카메라가 사용되는 것이 바람직하다. 카메라에 더하여, 실제 신체의 움직임 및/또는 변화를 캡쳐하기 위해 단계 b)에서 하나 이상의 센서가 사용되는 경우도 또한 유리할 수도 있다. 이것은, 예를 들면, 머리 아래의 신체 부분이 예를 들면, 센서 수트(suit) 형태의 센서를 사용하여 쉽게 캡쳐될 수 있기 때문에 제어 데이터가 사람의 전신 애니메이션을 위해 생성되도록 의도되는 경우에 유리하다.
단계 b) 내지 d)는 실시간으로 수행되는 것이 바람직하다. 이것은, 아바타의 현실적이고 자연스러운 애니메이션을 가능하게 하는 제어 데이터를 생성하는 것을 가능하게 만든다.
특히, 정의된 시간에서의 모든 제어 엘리먼트의 좌표는, 정의된 시간에서의 모델을 완전히 정의하는 데이터 레코드를 형성한다.
특히, 제어 데이터를 캡쳐하기 위한 방법에 대한 가상 모델은 아바타를 애니메이션화하기 위한 방법에서 아바타의 상기에서 설명된 가상 모델보다 더 적은 제어 엘리먼트를 포함한다. 따라서, 제어 데이터의 볼륨을 감소시키는 것이 가능하다.
가상 모델은 스켈레톤 모델에 의해 정의되는 것이 바람직하다. 그러나, 원칙적으로는, 다른 모델도 또한 가능하다.
가상 모델은 계층적으로 연결된 뼈 및/또는 관절의 세트 및 이들에 커플링되는 정점의 메쉬의 형태의 스켈레톤에 의해 정의되는 것이 바람직한데, 여기서 뼈 및/또는 관절은, 특히, 제어 엘리먼트를 구성한다. 이 경우, 제어 데이터를 캡쳐하기 위한 방법에 대한 가상 모델은 아바타를 애니메이션화하기 위한 방법에서의 아바타의 상기에서 설명된 가상 모델보다 더 적은 뼈, 관절 및 정점을 포함한다.
제어 데이터를 캡쳐하기 위한 방법에 대한 가상 모델은, 특히, 그것이, 아바타를 애니메이션화하기 위한 상기에서 설명된 방법에서 수신될 수 있는 또는 수신되는 제어 데이터 레코드에서의 뼈 및/또는 관절의 좌표의 수와 동일한 수의 뼈 및/또는 관절을 가지도록 설계된다.
특히, 가상 모델은 인체, 특히 사람 머리를 표현한다.
실제 인체, 특히 실제 사람 머리의 움직임 및/또는 변화는 이 경우 단계 b)에서 캡쳐되는 것이 바람직하다.
움직이고 있는 및/또는 변화하는 실제 신체의 개개의 랜드마크 포인트(landmark point)의 움직임은 단계 b)에서 검출되는 것이 바람직하다. 이 접근법은, 예를 들면, US 2013/0235045 A1에서, 특히 단락 0061 내지 0064에서 또한 설명되어 있다.
랜드마크 포인트는, 예를 들면, 신체 상의 정의된 위치에 광학적 마커를 적용하는 것에 의해, 예를 들면, 실제 신체, 예를 들면, 얼굴 상에서 미리 표시될 수 있다. 그 다음, 각각의 광학 마커가 랜드마크 포인트로서 사용될 수 있다. 실제 신체의 움직임이 비디오 카메라를 사용하여 추적되는 경우, 광학 마커의 움직임은 그 자체로 공지된 방식으로 카메라 이미지에서 검출될 수 있고 기준 포인트에 대한 그들의 포지션이 결정될 수 있다.
현재의 맥락에서, 랜드마크 포인트가 자동 이미지 인식에 의해, 특히, 미리 정의된 오브젝트를 인식하는 것에 의해 카메라 이미지에서 정의되고, 그 다음, 바람직하게는 카메라 이미지 상에서 중첩되는 경우가 특히 바람직하다는 것이 밝혀졌다. 이 경우, 카메라 이미지에서 눈에 띄는 포지션을 식별하고, 그에 기초하여, 예를 들면, Viola-Jones(비올라-존스) 방법을 사용하여, 카메라 이미지 상에 랜드마크 포인트를 중첩시키는 패턴 또는 얼굴 인식 알고리즘을 사용하는 것이 유리하다. 예를 들면, Viola(비올라) 및 Jones(존스)에 의한 IJCV 2001 출판물 "Robust Real-time Object Detection"에서 대응하는 접근법이 설명되어 있다.
그러나, 랜드마크 포인트를 검출하기 위해 다른 방법이 또한 사용될 수 있다.
웹 브라우저에서 방법을 실행하는 경우, 랜드마크 포인트를 검출하기 위해 실행 이전에 대응 프로그램 코드가 네이티브 기계어(native machine language)로 컴파일되는 것이 바람직하다. 이것은 선행 컴파일러(ahead-of-time compiler; AOT 컴파일러), 예를 들면, Emscripten을 사용하여 실행될 수 있다. 결과적으로, 랜드마크 포인트의 검출이 크게 가속화될 수 있다. 예를 들면, 랜드마크 포인트를 검출하기 위한 프로그램 코드는 OpenCV 및/또는 OpenVX 프로그램 라이브러리를 사용하는 C, C++, Phyton(파이썬) 또는 JavaScript(자바스크립트)에서 존재할 수도 있다.
또한, AOT 컴파일러를 통해 대응하는 소스 코드가 모듈 방식으로 컴파일되어 통합될 수 있기 때문에, 다른 이미지 인식 또는 얼굴 인식 기술을 유연한 방식으로 사용하는 것이 가능하다. 따라서, 방법을 실행하는 실제 프로그램은 변경되지 않은 상태로 유지될 수 있고, 반면, AOT 컴파일러를 사용하여 컴파일되는 소스 코드는 임의의 시간에 적응될 수 있다.
특히, 랜드마크 포인트는 가상 모델 메쉬의 개개의 정점에 할당되고 및/또는 개개의 랜드마크 포인트는 모델의 개개의 제어 엘리먼트에 직접적으로 및/또는 간접적으로 할당된다. 랜드마크 포인트는, 예를 들면, 제어 엘리먼트를 정점에 링크하는 것에 의해, 모델의 개개의 제어 엘리먼트에 간접적으로 할당될 수 있다.
따라서 랜드마크 포인트에 관련이 있는 지오메트리 데이터는 정점의 및/또는 제어 엘리먼트의 대응하는 포지션으로 변환될 수 있다.
가상 모델이 계층적으로 연결된 뼈 및/또는 관절의 세트 및 이들에 커플링되는 정점의 메쉬의 형태의 스켈레톤에 의해 정의되는 경우, 뼈 및/또는 관절의 각각의 포지션은, 단계 b)에서, 움직이고 있는 및/또는 변화하는 실제 신체의 개개의 랜드마크 포인트의 움직임을 검출하는 것에 의해 결정되는 것이 바람직하다.
실제 신체의 움직임 및/또는 변화에 추가하여, 음향 신호, 특히 사운드 신호가 유리하게는 단계 b)에서 시간 분해 방식으로 캡쳐된다. 예를 들면, 이것은 마이크를 사용하여 실행될 수 있다. 따라서, 예를 들면, 음성 정보가 캡쳐될 수 있고 제어 데이터와 동기화될 수 있다.
단계 d)에서 제공되는 제어 데이터, 특히 모델의 뼈 및/또는 관절의 시간 분해 좌표는 시간 코딩된 방식으로, 특히 그들이 데이터베이스에서 검색될 수 있는 그러한 방식으로 레코딩되고 및/또는 저장되는 것이 바람직하다. 이것은, 예를 들면, 상기에서 설명되는 바와 같은 아바타를 애니메이션화하기 위한 방법에서, 필요하다면 제어 데이터에 액세스하는 것을 가능하게 만든다.
음향 신호가 동시에 캡쳐되는 경우, 제어 데이터는 음향 신호와 병렬로 시간 코딩된 방식으로 레코딩되고 및/또는 저장되는 것이 바람직하다. 따라서, 음향 신호 및 제어 데이터는, 특히, 동시에 그러나 개별적으로 레코딩되고 및/또는 저장된다.
특히, 제어 데이터를 생성하기 위한 방법의 단계 a) 내지 d)는 로컬 데이터 프로세싱 설비 상에서 완전히 실행된다. 단계 d)에서 제공되는 제어 데이터는, 이 경우, 어쩌면 음향 신호와 함께, 원격 데이터 프로세싱 설비 상에서 저장되고 및/또는 레코딩되는 것이 바람직하다.
제어 데이터를 생성하기 위한 방법은, 특히, 단계 d)에서 제공되는 제어 데이터가 아바타를 애니메이션화하기 위한 상기에서 설명된 방법에 대한 제어 데이터로서 사용될 수 있는 그러한 방식으로 실행된다.
추가적인 양태에서, 본 발명은 다음의 단계를 포함하는 방법에 관한 것이다: (i) 상기에서 설명되는 바와 같은 방법을 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 생성하는 단계, 및 (ii) 상기에서 설명되는 바와 같은 방법을 사용하여 아바타를 애니메이션화하는 단계. 이 경우, 특히, 단계 (i)에서 생성되는 제어 데이터는 단계 (ii)에서 제어 데이터로서 수신된다.
하나의 유리한 실시형태에서, 단계 (i)에서 제공되는 제어 데이터는 단계 (ii)에서 제어 데이터로서 연속적으로 수신되고 아바타를 애니메이션화하기 위해 사용되며 동시에 레코딩되고 및/또는 저장되는 것이 바람직하다.
이 경우, 단계 (ii)에서 수신되는 제어 데이터는, 상기에서 설명되는 프로토콜을 고려하여, 아바타의 키 이미지, 뼈 및/또는 관절에 할당되는 것이 바람직하다.
특히, 단계 (i) 및 (ii)는 병렬 방식으로 발생하며, 그 결과, 단계 (ii)에서의 애니메이션화된 아바타는 단계 (i)에서 캡쳐되는 실제 신체의 움직임 및/또는 변화를 실질적으로 동시에 따르게 된다.
단계 (i) 및 (ii)는 동일한 로컬 데이터 프로세싱 설비 상에서 실행하는 것이 바람직하다. 따라서, 유저는, 특히, 제어 데이터가 충분히 정확한 방식으로 캡쳐되는지의 여부 및 애니메이션이 만족스러운지의 여부를 즉시 체크할 수 있다.
본 발명은 또한 상기에서 설명되는 바와 같은 아바타를 애니메이션화하기 위한 방법을 실행하기 위한 수단 및/또는 상기에서 설명되는 바와 같은 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법을 실행하기 위한 수단을 포함하는 데이터 프로세싱 시스템에 관한 것이다.
데이터 프로세싱 시스템은, 특히, 중앙 컴퓨팅 유닛(central computing unit; CPU), 메모리, 이미지 정보를 제시하기 위한 출력 유닛 및 데이터를 입력하기 위한 입력 유닛을 포함한다. 데이터 프로세싱 시스템은 또한, 바람직하게는 그 자신의 메모리를 갖는 그래픽 프로세서(graphics processor)(GPU)를 구비하는 것이 바람직하다.
시스템은 실제 신체의 움직임 및/또는 변화를 캡쳐하기 위한 수단, 특히 상기에서 설명되는 바와 같은 카메라 및/또는 센서를 또한 포함하는 것이 바람직하다. 특히, 시스템은 음향 신호, 특히 발화된 말(spoken language)을 캡쳐하기 위한 적어도 하나의 마이크를 또한 구비한다.
마찬가지로, 본 발명은, 프로그램이 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금, 상기에서 설명되는 바와 같은 아바타를 애니메이션화하기 위한 방법 및/또는 상기에서 설명되는 바와 같은 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법을 실행하게 하는 명령어를 포함하는 컴퓨터 프로그램에 관한 것이다.
마지막으로, 본 발명은, 상기에서 언급되는 컴퓨터 프로그램이 저장되는 컴퓨터 판독 가능 저장 매체에 관한 것이다.
그것이 등장함에 따라, 본 발명에 따른 접근법 및 방법은, 영업 사원을 위한 학습 콘텐츠를 생성하고 전달하는 데 특히 유리하다.
예를 들면, 트레이너가 비디오 카메라를 통해 그의 판매 주장(sales argument)의 프리젠테이션을 레코딩할 수 있고 아바타를 애니메이션화하기 위한 제어 데이터를 생성하기 위해 본 발명에 따른 방법을 사용할 수 있다. 이 경우, 특히 구매 권유(sales pitches)와 관련되는 얼굴 표정과 제스쳐가 트레이너에 의해 예시될 수 있고 동시에 캡쳐된다. 이것은 유저 친화적이고 직관적인 그래픽 유저 인터페이스를 갖는 웹 애플리케이션을 사용하여 순전히 웹 기반의 방식으로 특수한 소프트웨어 없이 완전히 실행될 수 있다.
제어 데이터는, 예를 들면, 인터넷을 통해 액세스 가능한 서버 상에 고정적으로 할당되고 구조화된 학습 콘텐츠로서 저장되며 임의의 시간에 플레이될 수 있는 트레이닝 시퀀스를 표현할 수 있다. 이 경우, 임의의 소망되는 수의 학생이 상이한 시간에 제어 데이터에 액세스할 수 있고, 따라서, 개인적으로 자유롭게 선택 가능한 아바타를 애니메이션화할 수 있다. 이것은, 마찬가지로 유저 친화적이고 직관적인 그래픽 유저 인터페이스를 갖는 웹 애플리케이션을 사용하여 순전히 웹 기반의 방식으로 다시 발생할 수도 있다. 따라서 학생은 또한 어떠한 추가적인 소프트웨어도 필요로 하지 않는다. 또한, 학습 콘텐츠는 소망되는 만큼 자주 반복될 수 있다.
또한, 예를 들면, 학생 그 자신이 상이한 영업 상황(sales situation)을 다시 규정하고, 예를 들면, 랩탑에 통합되는 웹 카메라일 수도 있는 비디오 카메라를 사용하여 그 상이한 영업 상황을 레코딩하는 것, 및 아바타를 애니메이션화하기 위한 제어 데이터를 생성하기 위해 본 발명에 따른 방법을 사용하는 것이 가능한데, 그 제어 데이터는 학생의 컴퓨터에 로컬하게 저장될 수 있고, 학생은, 그 다음, 자신의 컴퓨터로부터 웹 프리젠터(web presenter)를 통해 상기 데이터를 편리하게 선택하고, 로딩하고 그리고 재생할 수 있다. 이 경우, 학생은, 예를 들면, 영업 상황을 반영하는 아바타를 애니메이션화하기 위해 제어 데이터를 사용할 수 있다. 이 애니메이션에 기초하여, 학생은 자신의 외모에서 임의의 가능한 약점을 식별할 수 있고 그들을 개선할 수 있다.
또한, 학생에게 피드백을 제공하기 위해, 학생에 의해 다시 규정되는 영업 상황이 다른 사람, 예를 들면, 트레이너에 의해 평가되는 것이 고려될 수 있다.
본 발명의 추가적인 유리한 실시형태 및 피쳐의 조합은 다음의 상세한 설명 및 모든 특허 청구범위로부터 나타난다.
예시적인 실시형태를 설명하기 위해 사용되는 도면에서:
도 1은 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 본 발명에 따른 방법을 예시하는 플로우차트를 도시한다;
도 2는, 도 1에서 예시되는 방법에 기초하는, 아바타를 애니메이션화하기 위한 웹 기반의 프로그램의 그래픽 유저 인터페이스를 도시한다;
도 3은 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 본 발명에 따른 방법을 예시하는 플로우차트를 도시한다;
도 4는, 도 3에서 예시되는 방법에 기초하는, 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 웹 기반의 프로그램의 그래픽 유저 인터페이스를 도시한다;
도 5는, 네트워크 연결을 통해 통신하는 세 개의 데이터 프로세싱 설비를 포함하는 배열의 개략적인 예시를 도시하는데, 그 배열은 도 1 내지 도 4에서 예시되는 방법 또는 프로그램을 실행하도록 설계된다;
도 6은 트레이닝 또는 교육용으로 설계되는, 도 2로부터의 아바타를 애니메이션화하기 위한 웹 기반의 프로그램의 변형예를 도시한다;
도 7은 터치 감지 스크린을 구비하는 모바일 디바이스용으로 설계되는, 도 2로부터의 웹 프리젠터 또는 유저 인터페이스의 변형예를 도시한다.
원칙적으로, 동일한 부품은 도면에서 동일한 참조 부호를 제공받는다.
도 1은 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 본 발명에 따른 방법을 예로서 예시하는 플로우차트(1)를 도시한다.
제1 단계(11)에서, 웹 서버 상의 웹 애플리케이션으로서 제공되는 아바타를 애니메이션화하기 위한 프로그램은, 웹 브라우저에서 웹사이트를 호출하는 것에 의해 시작된다. 이 경우, WebGL 지원을 갖는 웹 브라우저, 예를 들면, Chrome(Google)이 사용된다.
다음 단계(12)에서, WebGL이 열리고 웹사이트 상의 컨테이너는 자신의 콘텐츠가 웹사이트의 나머지와 구별되는 그러한 방식으로 JavaScript에 의해 구성된다. 결과는 프로그램이 이제 개별적으로 실행될 수 있는 정의된 영역이다. WebGL의 다양한 엘리먼트, 예를 들면, 기본 엘리먼트로서의 3-D 장면, 이것의 카메라 관점, 상이한 조명 및 렌더링 엔진이 이제 이 영역(스크린 섹션)에 통합된다. 그러한 기본 엘리먼트가 생성된 경우, 상이한 추가적인 엘리먼트가 이 장면에 로딩되어 배치될 수 있다. 이것은 WebGL 또는 프레임워크를 제공하고 지원되는 다수의 로더를 통해 발생한다.
로더는, 적절한 기술 표준을 WebGL의 동작의 방법으로 변환하고 그들을, WebGL에서 해석, 제시 및 사용될 수 있는 그러한 방식으로 통합하는 프로그램이다. 이 경우, 로더는, 특별히 확장된 three.js(배포한 r90, 2018년 2월 14일)로부터의 JavaScript 프로그램 라이브러리 ImageLoader, JSONLoader, AudioLoader 및 AnimationLoader에 기초하여 하며, 그 결과, 특정한 BVH 제어 데이터가 할당 프로토콜의 포함과 함께 아바타로 로딩, 해석 및 연결될 수 있다.
단계(12)에서, 예를 들면, 머리의 형태의 캐릭터 또는 아바타가, 따라서, 초기화될 수 있다. 이 경우, 아바타는, 예를 들면, 250 개의 개수의 계층적으로 연결된 뼈의 세트, 및 이들에 커플링되는 정점의 메쉬를 포함하는 3차원 스켈레톤의 형태의 가상 모델에 의해 정의되며, 프로그램의 그래픽 유닛에 의해 주소 지정될 수 있는 메모리 영역으로 로딩된다. 아바타는 JSON, gITF2 또는 COLLADA의 포맷으로 존재할 수도 있으며 아바타의 키 이미지, 예를 들면, 87 개의 키 이미지와 함께 로딩된다.
더구나, 프로토콜이 단계(12)에서 메모리 영역으로 로딩되는데, 그 프로토콜은 프로그램의 수신 유닛을 통해 도달하는 제어 데이터를 아바타의 하나 이상의 뼈 및/또는 키 이미지에 할당하기 위해 사용될 수 있다.
따라서, 프로그램의 전체 런타임 동안, 프로토콜과 함께, 편재하는(omnipresent) 아바타(13)가 제공되고 이용 가능하며, 스크린 상의 캔버스 또는 컨테이너(21)(도 2 참조)에서 제시될 수 있다. 이 시작 포지션에서, 아바타는 프로그램의 수신 유닛을 통해 임의의 시간에 제어 데이터를 수신할 수 있다.
단계(14)에서, 제어 데이터는 이제 아바타를 애니메이션화하기 위한 프로그램에 의해 제공되는 종래의 유저 인터페이스를 통해 원격 웹 서버에서 이용 가능한 데이터베이스(15)로부터 선택될 수 있고 인터넷을 통해 전송될 수 있다.
이 경우, 제어 데이터는 복수의 제어 데이터 레코드를 포함하는데, 각각의 제어 데이터 레코드는 특정한 시간에서의 아바타를 정의한다. 제어 데이터 레코드는, 예를 들면, 메모리 영역에 로딩되는 아바타에 포함되는 250 개의 개수의 뼈보다 더 적은 40 개의 뼈의 시간 코딩된 3차원 좌표를 포함한다. 제어 데이터는, 특히, 뼈 계층 구조 및 좌표의 형태의 모션 데이터를 포함하는 BVH 데이터 포맷으로 존재한다. 이 경우 모션, 데이터의 각각의 라인은 정의된 시간에서의 아바타를 정의한다.
단계(16)에서, 아바타로 하여금 움직이게 하는 제어 데이터의 임의의 소망되는 데이터 스트림은, 아바타를 애니메이션화하기 위한 프로그램에 의해 제공되는 공통 HTML5 또는 CSS 제어 엘리먼트(22, 24)(도 2 참조)를 통해 개시되고 체크될 수 있다. 따라서, 모든 고려 가능한 시퀀스가 구성될 수 있다. 데이터 스트림은 또한 체크 데이터(18, 19), 예를 들면, 시작(재생), 정지(정지), 일시 중지(일시 정지), 재설정(재설정) 및 선택 옵션을 위한 데이터를 포함할 수도 있다. 체크 데이터는 또한 텍스트 입력(텍스트 대 음성) 또는 목소리(목소리 대 음성)로부터 생성될 수도 있다.
제어 데이터가 도달하자마자, 그들은, 아바타를 애니메이션화하기 위한 프로그램의 수신 유닛을 통해, 업데이트된 아바타의 후속하는 렌더링과 함께 각각의 현재 전송된 제어 데이터에 기초하여 업데이트된 아바타를 연속적으로 재계산하며 애니메이션화된 아바타(17)의 형태로 스크린 상의 웹 브라우저에서 업데이트된 아바타를 제시하는 그래픽 유닛으로 전송된다. 이것은 다음과 같이 실행된다:
(i) 제1 수신된 제어 데이터 레코드를 그래픽 유닛으로 전송함;
(ii) 전송된 제어 데이터 레코드에 기초하여 업데이트된 아바타를 계산하고 프로토콜을 고려하여 아바타를 그래픽 유닛에서 렌더링함. 제어 데이터에서의 선택된 뼈의 좌표는 키 이미지에 또는 하나 이상의 뼈에 구체적으로 할당된다. 해당 중간 이미지는 키 이미지를 고려하여 보간에 의해 계산된다;
(iii) 스크린 상의 웹 브라우저에서 업데이트된 아바타를 제시함;
(iv) 다음에 수신된 제어 데이터 레코드를 그래픽 유닛으로 전송함;
(v) 단계 (ii) 내지 (iv)를 반복함.
이것은 유저가 아바타를 애니메이션화하기 위한 프로그램을 종료할 때까지 계속된다. 하위 단계 (i) 내지 (iv)는 시간 코딩된 제어 데이터와 동기화되어 발생하며, 그 결과, 실시간 애니메이션이 생성된다. 예를 들면, 하위 단계 (i) 내지 (iv)의 반복률은 대략적으로 30 Hz이다.
적은 데이터 볼륨 때문에, 스마트폰 또는 태블릿과 같은 모바일 디바이스 상에서 어떠한 문제도 없이 아바타가 애니메이션화될 수 있고, 한편 제어 데이터는 인터넷 연결을 통해 원격 웹 서버로부터 획득된다.
도 2는 아바타를 애니메이션화하기 위한 프로그램의 그래픽 유저 인터페이스(20)를 도시하는데, 이것은 도 1과 관련하여 설명되었으며 웹 브라우저에서 실행된다. 이 경우, 웹 브라우저에서 캔버스(21)의 배경에 대비하여 아바타(23)가 제시된다. 이 경우, 아바타(23)는, 상기에서 설명되는 바와 같이, 제어 데이터가 도달하는 경우 애니메이션화된 아바타(17)가 되는 편재하는 아바타(13)의 표현에 대응한다. 제어를 위해, 그래픽 유저 인터페이스(20)는 버튼 및 선택 필드의 형태의 HTML5 또는 CSS 제어 엘리먼트(22, 24)를 갖는다.
따라서, 도 1 및 도 2와 관련하여 설명되는 방법은, 순수한 웹 애플리케이션으로서 또는 웹사이트 형태로 구현될 수도 있는 웹 프리젠터이며, 로딩 동작 이후, 로컬 데이터 프로세싱 설비 상에서 완전히 실행될 수 있다.
유저는, 예를 들면, 다음과 같이 그 자신의 웹사이트에서 그러한 웹 프리젠터를 또한 통합할 수 있다: 유저는 정의된 웹사이트 상에서 그의 콘텐츠 관리 시스템(content management system; CMS)용 소프트웨어 모듈(플러그인)을 다운로드하여 그것을 그의 백엔드에 통합한다.
그 다음, 유저는 그의 사이트(= 프론트엔드) 상에서의 웹 프리젠터의 설계의 외관을 정의할 수 있고 어디에 어떤 제어 엘리먼트가 그리고 얼마나 많은 제어 엘리먼트가 배치되도록 의도되는지를 정의할 수 있다. 유저는 또한 어떤 제어 유닛이 어떤 동적 텍스트를 제공받도록 의도되는지 그리고 어떤 동적 텍스트를 생성하는지를 정의할 수 있다. 마지막으로, 그는 제어 유닛, 예를 들면, 미리 생성되는 제어 데이터(예를 들면, BVH 및 오디오)의 저장 위치를 갖는 버튼을 주소 지정한다. 버튼이 조작되자마자, 미리 정의되고 및/또는 선택된 그리고 웹사이트를 여는 것과 함께 로딩된 아바타가 도달하는 제어 데이터를 사용하여 애니메이션화된다. 이 경우, 예를 들면, 자막, 텍스트 및 이미지가 개별적으로 그리고 소망에 따라 시간 제어된 방식으로 디스플레이될 수 있다.
그래픽 유저 인터페이스(20)는, 도 2에서 예시되는 바와 같이, 특히, 제품 또는 서비스의 직접 판매 또는 온라인 테스트를 실행하는 데 적합하다. 아바타는 제어 엘리먼트(24)를 통해 고객 또는 테스트 대상자에 의해 답변될 수 있는 질문을 고객 또는 테스트 대상자에게 선택 필드의 형태로 직접 질문할 수 있다.
선택 또는 답변 이후, 고객은 제어 엘리먼트(22)의 "다음" 버튼을 누르고 아바타는 다음 질문을 질문하고, 계속 그런 식이다. 모든 답변은 고객의 소망에 대응하는 방식으로 또는 테스트 대상자로부터의 답변에 대응하는 방식으로 개별적으로 평가될 수 있고, 그 결과, 예를 들면, 그에 의해, 입찰 또는 테스트 평가의 형태의 텍스트 문서가 생성될 수 있다.
제어 엘리먼트는 임의의 소망되는 방식으로 확장될 수 있으며 유저 또는 서비스 공급자의 소망에 대응하는 방식으로 링크될 수 있다.
도 3은, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 본 발명에 따른 방법을 예로서 예시하는 제2 플로우차트(2)를 도시한다.
제1 단계(31)에서, 웹 서버 상의 웹 애플리케이션으로 제공되는, 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 프로그램은, 웹 브라우저에서 웹사이트를 호출하는 것에 의해 시작된다. 이 경우에서는, 특히, WebGL 및 WebRTC 지원을 갖는 웹 브라우저, 예를 들면, Chrome(Google)이 사용된다.
다음 단계(32)에서, WebGL이 열리고 JavaScript가 사용되어 웹사이트 상의 캔버스를, 그 콘텐츠가 웹사이트의 나머지로부터 구별되는 그러한 방식으로 구성한다.
단계(33)에서, 예를 들면, 머리의 형태의 캐릭터 또는 아바타가 선택되고, 그 다음, 초기화된다. 이 경우, 아바타는 도 1과 관련하여 상기에서 설명되는 바와 같이 정의되고, 아바타의 관련된 키 이미지, 예를 들면, 87 개의 키 이미지와 함께, 프로그램의 그래픽 유닛에 의해 주소 지정될 수 있는 메모리 영역으로 로딩된다. 따라서, 아바타는, 예를 들면, 250 개의 계층적으로 연결된 뼈 및 이들에 커플링되는 정점의 메쉬를 갖는 3차원 스켈레톤의 형태의 가상 모델로서 메모리 영역에서 존재한다. 더구나, 프로그램의 수신 유닛을 통해 도달하는 제어 데이터를 하나 이상의 뼈 및/또는 아바타의 키 이미지에 할당하기 위해 사용될 수 있는 프로토콜이 메모리 영역에 로딩된다.
단계(34)에서, 아바타는, 그 다음, 웹사이트 상의 캔버스에서 출력된다.
이러한 방식으로 제공되는 아바타는, 이제, 후속하는 단계(35)에서, 미리 생성되는 제어 데이터 또는 좌표의 형태의 제어 데이터를 수신할 수 있다. 제어 데이터가 도달하자마자, 그들은, 도 1에서 설명되는 바와 같이, 아바타를 애니메이션화하기 위한 프로그램의 수신 유닛을 통해, 업데이트된 아바타의 후속하는 렌더링과 함께 각각의 현재 전송된 제어 데이터에 기초하여 업데이트된 아바타를 연속적으로 재계산하며 애니메이션화된 아바타(36)의 형태로 스크린 상의 웹 브라우저에서 업데이트된 아바타를 제시하는 그래픽 유닛으로 전송된다.
따라서, 프로그램의 전체 런타임 동안, 프로토콜과 함께, 편재하는 아바타가 제공되고 이용 가능하며, 스크린 상의 캔버스(도 4, 캔버스(61) 참조)에서 제시될 수 있다. 이 시작 포지션에서, 아바타는 실제 사람의 움직임을 따를 수 있는데, 실제 사람의 움직임은 병렬 방식으로 발생하는 프로세스에서 캡쳐되고, 실시간으로, 제어 데이터로 변환된다(하기의 설명 참조). 또한, 미리 저장되며 데이터베이스에 저장되는 제어 데이터를 사용하여 언제 어디서나 이용 가능한 아바타가 애니메이션화되는 것도 또한 가능하다.
단계(32)와 병렬로, 단계(37)에서, 가능한 카메라 연결이 검색되고 초기화된다. 이 경우, 예를 들면, 웹 브라우저에 대한 온라인 연결을 확립하는 것을 가능하게 만드는 카메라를 사용하는 것이 가능하다. 웹 카메라 또는 웹캠이 특히 적합하다. 또한, 단계(38)에서, 가능한 오디오 입력 채널이 검색되고 초기화된다.
단계(39)에서, C++에 존재하는 랜드마크 포인트 검출을 위한 프로그램 코드는 OpenCV를 사용하는 Emscripten 또는 다른 선행 컴파일러를 통해 컴파일되고, asm.js 중간 코드로서 제공되어 시작된다. 따라서, 랜드마크 포인트 검출을 위한 프로그램 코드의 속도가 크게 가속될 수 있다. 랜드마크 포인트 검출을 위한 프로그램 코드는, 예를 들면, Viola-Jones 방법에 기초할 수도 있다.
카메라 및 오디오 데이터는 WebRTC로 전송되고 단계(40)에서 통합된다. 관련된 출력은, 단계(41)에서, 웹 브라우저의 스크린 상의 캔버스(도 4, 캔버스(62) 참조)에서 제시된다. 결과는 다수의 정의된 랜드마크 포인트를 갖는 실시간 비디오 스트림이다. 이들은 카메라에 의해 캡쳐되는 실제 사람의 모든 움직임을 따른다.
단계(42)에서, 공간에서 변화하는 랜드마크 포인트의 모든 좌표는 정의된 제로 또는 기준 포인트와 관련하여 계산되고 배경에서 동적인 값으로 출력된다. 이 경우, 랜드마크 포인트는 실제 사람의 가상 모델의 메쉬의 개개의 정점에 할당된다. 따라서, 랜드마크 포인트는 정점을 개개의 제어 엘리먼트에 링크하는 것에 의해 가상 모델의 제어 엘리먼트의 좌표에 할당된다.
아바타와 유사한 방식으로, 실제 사람의 가상 모델은 계층적으로 연결된 뼈 및/또는 관절의 세트와 이들에 커플링되는 정점의 메쉬의 형태의 스켈레톤에 의해 또한 정의된다. 그러나, 이 가상 모델은 아바타의 가상 모델보다 더 적은 제어 엘리먼트를 갖는다. 예를 들면, 실제 사람의 가상 모델은 단지 40 개의 뼈만을 포함하고, 반면 아바타의 가상 모델은 250 개의 뼈를 포함한다. 상기에서 설명되는 바와 같이, 실제 사람의 가상 모델의 제어 엘리먼트는 프로토콜을 사용하는 것에 의해 아바타의 제어 엘리먼트 및 키 이미지에 구체적으로 할당될 수 있다.
동적 제어 데이터 또는 좌표는, 단계(43)에서, 상응하여 애니메이션화되는 아바타로 전송된다(상기의 단계(35 및 36) 참조). 따라서, 아바타는 실제 사람의 움직임을 실시간으로 따른다. 이것은, 실제 사람의 움직임이 정확하게 캡쳐되어 대응하는 제어 데이터로 변환되는지의 여부를 체크하기 위해 사용된다.
병렬 방식에서, 생성되는 제어 데이터는, 단계(44)에서, 추가적인 프로세싱 또는 저장을 위해 출력될 수 있다.
제어 데이터를 저장하기 위해, 단계(44)에서 출력되는 제어 데이터는 통합 레코더 유닛(integrated recorder unit; 50)으로 공급된다. 이 경우, 단계(51)에서 레코딩이 시작될 수 있다. 레코딩 동안, 모든 유입하는 모션 데이터 또는 제어 데이터 또는 좌표(좌표 스트림)는 단계(52a)에서 시간 기준과 함께 제공되고 타임 라인과 동기화된다. 그 다음, 데이터의 볼륨이 카운트된다.
동시에, 오디오 데이터(오디오 스트림)도 또한 단계(52b)에서 시간 기준과 함께 제공되고 타임 라인과 동기화된다.
이제 모든 모션 데이터는, 단계(53a)에서, 임의적인 포맷, 특히 BVH 제어 데이터로 직접적으로 변환된다. 동시에, 모든 오디오 데이터는 단계(53b)에서 임의적인 오디오 포맷으로 변환된다. 예를 들면, 높은 동등성에서 상대적으로 적은 볼륨의 데이터를 생성하는 포맷, 예를 들면 MP3 포맷이 선호된다.
제공되는 데이터는 단계(54)에서 가시적으로 출력될 수 있다. 이것은 체크를 가능하게 하며 가능한 조정을 위해 사용된다.
그 다음, 데이터는, 예를 들면, 데이터베이스(56)를 사용하여 단계(55)에서 함께 저장되고, 그 결과, 그들은 임의의 시간에 검색될 수 있다. 이 경우, 저장된 데이터는 도 1 및 도 2에 따른 아바타를 애니메이션화하기 위한 방법에서 상기 데이터를 사용하는 것을 가능하게 만드는 포맷의 제어 데이터를 포함한다. 저장은, 예를 들면, 그래픽 인터페이스 상에서 유저가 이용 가능하게 만들어지는 특수한 제어 엘리먼트에 의해 체크될 수 있다(도 4 참조).
도 3 및 도 4와 관련하여 설명되는 방법은 순수한 웹 애플리케이션으로서 구현된다.
단계(31-54)는 로컬 데이터 프로세싱 설비, 예를 들면, 웹 카메라를 갖는 유저의 데스크탑 컴퓨터에서 발생하고, 반면, 단계(55) 또는 저장은 원격 데이터 프로세싱 설비, 예를 들면, 웹 서버 상에서 발생하는 것이 바람직하다.
오디오 데이터를 비롯한 데이터의 저장 볼륨은 애니메이션의 분당 평균 대략 20 MB인데, 이것은 매우 적은 것이다. 비교를 위해: 현재 널리 퍼져 있는 고해상도 비디오(HD, 720p)의 경우, 통상적으로, 대략 100MB/분의 저장 볼륨이 예상된다.
도 4는 제어 데이터를 생성하기 위한 프로그램의 그래픽 유저 인터페이스(60)를 도시하는데, 그 프로그램은 도 3과 관련하여 설명되었으며 웹 브라우저에서 실행된다. 좌측에는, 단계(36)(도 3)에서 애니메이션화되는 아바타가 웹 브라우저의 제1 캔버스(61)에서 제시된다. 단계(41)(도 3)에서 출력되며 다수의 정의된 랜드마크 포인트를 구비하는 실시간 비디오 스트림이 도 4의 우측에서 제시된다.
단계(54)(도 3)에서 출력되는 제어 데이터 또는 좌표 및 오디오 데이터는 아래 영역의 추가적인 캔버스(63)에서 제시된다. 제어 데이터를 생성하기 위한 방법을 제어하기 위해 사용될 수 있는 제어 엘리먼트(64)는 캔버스(63) 아래에 배열된다. 이 경우, 예를 들면, 레코딩 버튼, 정지 버튼 및 삭제 버튼이 제공될 수 있다.
도 3 및 도 4와 관련하여 설명되는 방법은 순수한 웹 애플리케이션으로서 또는 웹사이트 형태로 구현되는 웹 레코더를 구성하며, 제어 데이터의 저장을 제외하면, 로딩 동작 이후 로컬 데이터 프로세싱 설비 상에서 실질적으로 완전히 실행될 수 있다.
구체적으로, 유저의 관점에서 웹 레코더의 사용은, 예를 들면, 다음과 같다: 유저가 그의 로컬 컴퓨터 상에서 웹 브라우저를 열고 웹 레코더를 제공하는 웹사이트의 URL(Uniform Resource Locator; 유니폼 리소스 로케이터)을 입력한다.
옵션 사항인 로그인 이후, 미리 선택되는 렌더링된 아바타를 갖는 그래픽 유저 인터페이스(60)가 캔버스(61)의 스크린의 좌측에서 나타난다. 얼굴의 모든 움직임을 따르는 적용된 랜드마크 포인트를 갖는 유저의 얼굴은, 예를 들면, 컴퓨터 상의 웹 카메라 및 마이크를 활성화하는 것에 의해 캔버스(62)의 스크린 우측에서 제시된다. 움직임이 아바타로 직접적으로 송신되기 때문에, 후자는 유저 얼굴의 모든 움직임을 자동적으로 따른다.
유저가 결과에 만족하면, 그는 제어 엘리먼트(64)의 영역에서 레코딩 버튼을 누르고, 그 결과, 레코딩이 시작된다. 그 다음 유저가 정지 버튼을 누르면, 생성된 제어 데이터 및 오디오 데이터는 저장 위치를 선택하고 파일 이름을 할당한 이후 저장된다. 유저가 이제 삭제 버튼을 누르면, 웹 레코더는 다음 녹화를 위한 준비가 된다.
따라서, 웹 레코더는 순수한 웹 애플리케이션으로서 제공되고 운영될 수 있다. 추가적인 소프트웨어를 설치할 필요는 없다.
웹 레코더는, 예를 들면, 대응하는 계정과 함께 라이센스 요금을 갖는 플랫폼을 통해 온라인으로 제공될 수도 있고, 그 결과, 예를 들면, 웹 디자이너 또는 게임 개발자는 그들의 제어 데이터를 그들 자신이 직접적으로 레코딩할 수 있다.
프리젠터가 CMS 플러그인의 형태로 임의의 소망되는 웹사이트에 통합할 수 있고, 자유롭게 구성 및 연결될 수도 있으며, 그 결과, 제한되지 않는 수의 아주 다양한 애플리케이션이 신속하게 구현될 수 있기 때문에, 그 문제는 웹 디자이너에게 특히 중요하다. 그 다음, 이들 플러그인 및 다수의 상이한 아바타는 플랫폼으로부터 간단히 다운로드될 수 있다.
도 5는, 프로세서(71a), 메인 메모리(71b) 및 그래픽 프로세서 및 그래픽 메모리를 갖는 그래픽 카드(71c)를 구비하는 제1 데이터 프로세싱 설비(71), 예를 들면, 데스크탑 컴퓨터를 포함하는 배열(70)을 개략적으로 도시한다. 비디오 카메라(웹캠)(72), 마이크(73) 및 통합된 라우드스피커를 갖는 스크린이 이것에 연결되어 있다.
데이터 프로세싱 설비(71)는, 자신이 제2 및 원격 데이터 프로세싱 설비(75)로부터 데이터를 획득할 수 있고 제3 및 원격 데이터 프로세싱 설비(76)로 데이터를 송신할 수 있는 인터페이스를 또한 구비한다. 제2 데이터 프로세싱 설비(75)는, 예를 들면, 아바타가, 관련되는 키 이미지 및 할당 프로토콜과 함께, 검색 가능한 방식으로 저장되는 웹 서버일 수도 있다. 제3 데이터 프로세싱 설비(76)는, 마찬가지로, 생성된 제어 데이터가 저장되며 및/또는 상기 제어 데이터가 다시 검색되는 웹 서버일 수도 있다.
도 6은 도 2의 웹 프리젠터 또는 유저 인터페이스의 변형예를 도시한다. 도 6의 웹 프리젠터의 유저 인터페이스(20a)는, 특히, 트레이닝 또는 교육을 위한 변형예로서 설계된다. 이 경우, 웹 브라우저에서 캔버스(21a)의 배경에 대비하여 아바타(23a)가 다시 제시된다. 아바타(23a)는, 마찬가지로, 상기에서 설명되는 바와 같이, 제어 데이터가 도달하는 경우 애니메이션화된 아바타(17)가 되는 편재하는 아바타(13)의 표현에 대응한다. 제어를 위해, 그래픽 유저 인터페이스(20a)는 버튼의 형태의 HTML5 또는 CSS 제어 엘리먼트(22a, 24a, 25a)를 구비한다.
사용 동안, 학생은, 예를 들면, 제어 엘리먼트(24a)를 통해 선택될 수 있고 그 다음 제어 엘리먼트(22a)를 통해 재생될 수 있는 다섯 개의 전문적인 예시적 주장(argument)을 제공받는 "구매 권유시 대화 열기(open conversation in a sales pitch)"의 주제로 내비게이팅한다. 그 다음, 애니메이션화된 아바타(23a)는 학생이 구매 권유시 대화 열기를 시작할 수 있는 방법을 학생에게 보여준다. 전반적으로, 모든 관련 주제를 다루는 수백 개의 예시적인 주장이 이용 가능할 수도 있다. 결과적으로, 학생은, 그 자신이 작업해야만 하는 것의 인상을 제공받는다. 유저 인터페이스의 설계는 임의의 소망되는 방식으로 구성될 수 있다.
애니메이션 동안, 학생은 메모를 할 수 있고 그 자신의 주장에 대해 작업할 수 있다. 그 다음, 그는 연습을 위해 이들 주장을 제시할 수 있고 상기에서 설명되는 웹 레코더와 함께 웹 카메라 및 마이크를 사용하여 그 자신이 제어 데이터를 레코딩하고 저장할 수 있다. 학생은 웹 레코더로부터의 생성된 제어 데이터를 임의의 소망되는 디렉토리에 로컬하게 저장할 수 있다.
이들 자체 생성된 제어 데이터는, 그 다음, 제어 엘리먼트(25a)를 통해 웹 프리젠터로부터 선택될 수 있고 임의의 시간에 로딩될 수 있다. 학생이 그 자신에 의해 생성되는 제어 데이터를 재생하는 덕분에, 학생은 아바타(23a)의 얼굴 표정 및 음성 콘텐츠를 통해 그 자신의 그리고 그의 작업의 사실적인 이미지를 생성할 수 있다. 이 경우, 학생은 미리 정의된 트레이닝 콘텐츠와 그 자신의 작품 사이에서 임의의 소망되는 방식으로 전환할 수 있는데, 이것은 학습 효과를 추가적으로 향상시킨다.
학생은 또한, 웹 프리젠터를 사용하여 임의의 시간에 상기 데이터를 로딩하여 평가할 수 있는 트레이너에게, 전자 메일에 의해 또는 다른 방식으로, 제어 데이터를 전송할 수 있다.
학생이 그 자신의 레코딩 동안 카메라 또는 적어도 스크린을 응시해야 하기 때문에, 원칙적으로는, 학생이 학습한 자료를 또한 진심으로 학습하는 것이 필요하다. 따라서, 학생은, 자료를 읽지 않고도 그것을 재현할 수 있는 경우에만, 양호한 레코딩을 할 수 있다. 이것은, 학생이 또한, 예를 들면, 고객과 함께, 학습한 자료를 실제로 더 잘 사용할 수 있는 것으로 귀결된다.
도 7은 도 2로부터의 웹 프리젠터 또는 유저 인터페이스의 또 다른 변형예를 도시한다. 도 7로부터의 웹 프리젠터의 유저 인터페이스(20b)는 터치 감지 스크린을 갖는 모바일 디바이스용으로 설계된다. 이 경우, 아바타(23b)는 웹 브라우저 또는 특수 애플리케이션에서 캔버스(21b)의 배경에 대비하여 다시 제시된다. 아바타(23b)는, 마찬가지로, 상기에서 설명되는 바와 같이, 제어 데이터가 도달하는 경우 애니메이션화된 아바타(17)가 되는 편재하는 아바타(13)의 표현에 대응한다. 제어를 위해, 그래픽 유저 인터페이스(20b)는 버튼 필드의 형태의 HTML5 또는 CSS 제어 엘리먼트(22b, 24b)를 갖는다. 동작의 방법은 도 2로부터의 유저 인터페이스 또는 웹 프리젠터에 대응한다.
상기에서 설명되는 예시적인 실시형태는 어떠한 방식으로든 제한적인 것으로 이해되어서는 안되며 본 발명의 범위 내에서 임의의 소망되는 방식으로 적용될 수 있다.
예를 들면, 도 1 내지 도 4와 관련하여 설명되는 방법을 실행하는 것을 가능하게 만드는 프로그램이, 웹 애플리케이션으로서가 아니라, 데이터 프로세싱 설비 상에서 로컬하게 저장되는 것, 및 로컬하게 시작되는 것이 가능하다.
또한, 도 1 및 도 2에서 설명되는 방법에서, 제어 데이터가, 방법이 또한 실행되는 동일한 데이터 프로세싱 설비 상에 있는 로컬 데이터베이스로부터 수신되는 것도 가능하다.
마찬가지로, 도 3 및 도 4에서 설명되는 방법에서, 제어 데이터는 방법이 또한 실행되는 동일한 데이터 프로세싱 설비 상에 있는 로컬 데이터베이스에 저장될 수 있다.
도 3 및 도 4와 관련하여 설명되는 방법과 관련하여, 원칙적으로는, 제어 데이터를 즉시 체크할 필요가 없는 경우 단계(32-36 및 43)를 생략하는 것도 또한 가능하다. 이 경우, 도 4의 유저 인터페이스(60)에서 캔버스(61)를 생략하는 것도 또한 가능하다.
도 5의 배열(70)에서, 예를 들면, 스크린(74) 대신, 다른 출력 디바이스, 예를 들면, 프로젝터 또는 홀로그래프를 또한 사용하는 것이 대안적으로 또는 추가적으로 가능하다.
도 5의 배열에서, 제1 데이터 프로세싱 설비로서, 모바일 디바이스, 예를 들면, 적절한 기능성을 가진 랩탑, 태블릿 또는 이동 전화를 사용하는 것도 또한 가능하다.
요약하면, 신규의 그리고 특히 유리한 방법 및 프로그램이 제공되었으며 아바타에 대한 제어 데이터를 효율적으로 생성하기 위해 그리고 아바타를 애니메이션화하기 위해 사용될 수 있다고 말할 수 있다. 이 경우, 방법에서 사용되는 제어 데이터는 적은 볼륨의 데이터만을 가지며, 그 결과, 그들은, 네트워크를 불필요하게 로딩하지 않고도, 서버로부터 클라이언트로 매우 신속하게 송신될 수 있다. 따라서, 추가적인 콘텐츠, 예를 들면, 배경에 대한 추가적인 애니메이션, 등등이 송신될 수 있는데, 이것은 또 다른 가능한 애플리케이션으로 귀결된다.
제어 데이터를 통해, 특히, 트레이닝, 영업, 조언, 게임 및 등등을 위한 가상 비서의 형태의 2-D 또는 3-D 아바타가 사용될 수 있다.
결과적으로, 애니메이션을 위한 생산 시간이 매우 단축되고 특정한 전문 지식이 필요하지 않기 때문에 일반인에 의해 실행될 수 있다. 프로그램이 설치될 필요가 없다.

Claims (34)

  1. 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현(computer-implemented) 방법에 있어서,
    a) 2차원 및/또는 3차원 오브젝트를 애니메이션화하도록 설계되며 인터페이스를 구비하는 그래픽 유닛 - 상기 2차원 및/또는 3차원 오브젝트를 애니메이션화하기 위한 제어 데이터는 상기 인터페이스를 통해 상기 그래픽 유닛으로 전송될 수 있음 - 을 제공하는 단계;
    b) 아바타를 상기 그래픽 유닛에 의해 주소 지정될 수 있는 메모리 영역에서 로딩하고 이용 가능하게 유지하는 단계;
    c) 상기 아바타를 애니메이션화하기 위한 제어 데이터를 수신하기 위한 수신 유닛을 제공하는 단계;
    d) 수신된 제어 데이터를 상기 그래픽 유닛으로 연속적이고 순차적으로 전송하는 단계;
    e) 상기 그래픽 유닛에서의 상기 아바타의 후속하는 렌더링과 함께 각각의 현재 전송된 상기 제어 데이터에 기초하여 업데이트된 아바타를 연속적으로 재계산(recalculating)하는 것에 의해 상기 아바타를 애니메이션화하는 단계;
    f) 상기 업데이트된 아바타를 출력 디바이스 상에서 연속적으로 제시하는 단계를 포함하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 방법은 상기 데이터 프로세싱 설비 상에서 실행되는 웹 브라우저에서 실행되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  3. 제1항 및 제2항 중 적어도 하나의 항에 있어서,
    상기 아바타는 단계 d) 내지 f) 동안 상기 메모리 영역에서 언제 어디서나(omnipresently) 이용 가능한 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  4. 제1항 내지 제3항 중 적어도 하나의 항에 있어서,
    단계 d) 내지 f)는 실시간으로 실행되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  5. 제1항 내지 제4항 중 적어도 하나의 항에 있어서,
    상기 제어 데이터는 시간 코딩을 가지며 단계 d) 내지 f)는 바람직하게는 상기 시간 코딩과 동기하여 실행되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  6. 제1항 내지 제5항 중 적어도 하나의 항에 있어서,
    상기 아바타는 계층적으로 연결된 뼈 및/또는 관절의 세트 및 이들에 커플링되는 정점의 메쉬의 형태의 스켈레톤(skeleton)에 의해 정의되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  7. 제1항 내지 제6항 중 적어도 하나의 항에 있어서,
    상기 아바타의 키(key) 이미지, 예를 들면, 10-90 개의 키 이미지가 상기 메모리 영역에 로딩되고 상기 아바타와 함께 제공되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  8. 제1항 내지 제7항 중 적어도 하나의 항에 있어서,
    상기 제어 데이터는 상기 뼈 및/또는 관절의 좌표를 나타내는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  9. 제1항 내지 제8항 중 적어도 하나의 항에 있어서,
    상기 제어 데이터는 하나 이상의 제어 데이터 레코드를 포함하되, 제어 데이터 레코드는 특정한 시간에서의 상기 아바타를 정의하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    제어 데이터 레코드는 n 개의 뼈 및/또는 관절의 상기 좌표를 포함하고, 반면 상기 아바타는 n 개보다 더 많은 뼈 및/또는 관절을 포함하되, 상기 아바타의 n 개보다 더 많은 뼈 및/또는 관절 중 하나는 제어 데이터 레코드에 포함되는 상기 n 개의 뼈의 각각에 할당되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  11. 제7항 내지 제10항 중 적어도 하나의 항에 있어서,
    상기 업데이트된 아바타를 계산할 때, 적어도 두 개의 키 이미지를 보간하는 것에 의해 중간 이미지가 생성되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  12. 제7항 내지 제11항 중 적어도 하나의 항에 있어서,
    적어도 하나의 키 이미지, 특히, 복수의 키 이미지가 단계 e)에서 상기 제어 데이터의 선택된 뼈 및/또는 관절에 링크되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  13. 제7항 내지 제12항 중 적어도 하나의 항에 있어서,
    상기 제어 데이터에서의 선택된 뼈 및/또는 관절의 포지션은, 상기 적어도 하나의 링크된 키 이미지를 사용하는 보간에 의해 획득되는 중간 이미지에 할당되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  14. 제7항 내지 제13항 중 적어도 하나의 항에 있어서,
    미리 정의된 기준 값으로부터의 선택된 뼈의 포지션의 편차는 상기 보간에서 상기 적어도 하나의 링크된 키 이미지의 영향의 강도를 정의하는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  15. 제7항 내지 제14항 중 적어도 하나의 항에 있어서,
    상기 개개의 제어 데이터는 미리 정의된 프로토콜에 따라 상기 아바타의 상기 뼈 및/또는 관절에 및/또는 상기 키 이미지에 할당되되, 상기 프로토콜은 바람직하게는 상기 메모리 영역에 로딩되고 상기 아바타와 함께 제공되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  16. 제1항 내지 제15항 중 적어도 하나의 항에 있어서,
    상기 제어 데이터는 원격 데이터 프로세싱 설비, 특히 서버 상에서 존재하고, 네트워크 연결, 특히 인터넷 연결을 통해 그들로부터 수신되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  17. 제1항 내지 제16항 중 적어도 하나의 항에 있어서,
    두 개 이상의 아바타가 서로 독립적으로 동시에 로딩되고 이용 가능하게 유지되며, 바람직하게는, 개별적으로 할당된 제어 데이터를 사용하여 서로 독립적으로 애니메이션화되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 컴퓨터 구현 방법.
  18. 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법에 있어서,
    상기 제어 데이터는, 특히, 제1항 내지 제17항 중 하나의 항에서 청구되는 바와 같은 방법에서의 사용을 위해 설계되며:
    a) 2차원 또는 3차원 공간에서 이동될 수 있는 신체의 2차원 또는 3차원 가상 모델 - 상기 모델은 상기 가상 모델을 정의된 방식으로 변경하기 위해 사용될 수 있는 제어 엘리먼트를 구비함 - 을 제공하는 단계;
    b) 실제 신체의 움직임 및/또는 변화를 시간 분해 방식(time-resolved manner)으로 캡쳐하는 단계;
    c) 주어진 시간에서의 상기 실제 신체의 상태에 대응하는, 상기 가상 모델의 상기 제어 엘리먼트의 좌표를 시간 분해 방식으로 결정하는 것에 의해 상기 가상 모델에서 상기 실제 신체의 상기 움직임 및/또는 변화를 모방하는 단계;
    d) 상기 제어 엘리먼트의 상기 결정된 시간 분해 좌표를 제어 데이터로서 제공하는 단계를 포함하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  19. 제18항에 있어서,
    상기 방법은 상기 데이터 프로세싱 설비 상에서 실행되는 웹 브라우저에서 실행되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  20. 제18항 또는 제19항 중 적어도 하나의 항에 있어서,
    단계 b) 내지 d)가 실시간으로 수행되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  21. 제18항 내지 제20항 중 적어도 하나의 항에 있어서,
    정의된 시간에서의 모든 제어 엘리먼트의 상기 좌표는, 상기 정의된 시간에서의 상기 모델을 완전히 정의하는 데이터 레코드를 형성하는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  22. 제18항 내지 제21항 중 적어도 하나의 항에 있어서,
    상기 가상 모델은 계층적으로 연결된 뼈 및/또는 관절의 세트 및 이들에 커플링되는 정점의 메쉬의 형태의 스켈레톤에 의해 정의되되, 상기 뼈 및/또는 관절은, 특히, 상기 제어 엘리먼트를 구성하는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  23. 제18항 내지 제22항 중 적어도 하나의 항에 있어서,
    상기 가상 모델은 인체, 특히 사람 머리를 나타내고, 인체, 특히 사람 머리의 상기 움직임 및/또는 변화는 단계 b)에서 캡쳐되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  24. 제18항 내지 제23항 중 적어도 하나의 항에 있어서,
    움직이고 있는 및/또는 변화하는 상기 실제 신체의 개개의 랜드마크 포인트(landmark point)의 움직임은 단계 b)에서 검출되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  25. 제24항에 있어서,
    상기 랜드마크 포인트는 상기 모델의 상기 메쉬의 개개의 정점에 할당되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  26. 제18항 내지 제25항 중 적어도 하나의 항에 있어서,
    상기 신체의 상기 움직임 및/또는 변화를 캡쳐할 때 2-D 비디오 카메라가 단계 b)에서 사용되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  27. 제18항 내지 제26항 중 적어도 하나의 항에 있어서,
    상기 실제 신체의 상기 움직임 및/또는 상기 변화에 추가하여, 음향 신호, 특히 사운드 신호가 단계 b)에서 시간 분해 방식으로 캡쳐되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  28. 제18항 내지 제27항 중 적어도 하나의 항에 있어서,
    단계 d)에서 제공되는 상기 제어 데이터, 특히 상기 모델의 상기 뼈 및/또는 관절의 상기 시간 분해 좌표는 시간 코딩된 방식으로, 특히 그들이 데이터베이스에서 검색될 수 있는 그러한 방식으로 레코딩되고 및/또는 저장되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  29. 제28항에 있어서,
    상기 제어 데이터는 상기 음향 신호와 병렬로 시간 코딩된 방식으로 레코딩되고 및/또는 저장되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  30. 제18항 내지 제29항 중 적어도 하나의 항에 있어서,
    제18항의 단계 a) 내지 d)는 로컬 데이터 프로세싱 설비 상에서 완전히 실행되고 단계 d)에서 제공되는 상기 제어 데이터는 원격 데이터 프로세싱 설비 상에서 저장되는 것을 특징으로 하는, 데이터 프로세싱 디바이스를 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 캡쳐하기 위한 방법.
  31. 방법에 있어서:
    (i) 제18항 내지 제30항 중 하나의 항에서 청구되는 바와 같은 방법을 사용하여 아바타를 애니메이션화하기 위한 제어 데이터를 생성하는 단계, 및 (ii) 제1항 내지 제17항 중 하나의 항에서 청구되는 바와 같은 방법을 사용하여 아바타를 애니메이션화하는 단계를 포함하되, 단계 (i)에서 제공되는 상기 제어 데이터는, 특히, 단계 (ii)에서 제어 데이터로서 연속적으로 수신되며 상기 아바타를 애니메이션화하기 위해 사용되는, 방법.
  32. 제1항 내지 제17항 중 하나의 항에서 청구되는 바와 같은 방법을 실행하기 위한 수단을 포함하고 및/또는 제18항 내지 제31항 중 하나의 항에 청구되는 바와 같은 방법을 실행하기 위한 수단을 포함하는, 데이터 프로세싱 시스템.
  33. 명령어를 포함하는 컴퓨터 프로그램에 있어서,
    상기 명령어는, 컴퓨터에 의해 프로그램이 실행될 때, 상기 컴퓨터로 하여금, 제1항 내지 제17항 중 하나의 항에서 청구되는 바와 같은 및/또는 제18항 내지 제31항 중 하나의 항에서 청구되는 바와 같은 방법을 실행하게 하는, 명령어를 포함하는 컴퓨터 프로그램.
  34. 제33항에서 청구되는 바와 같은 상기 컴퓨터 프로그램이 저장되는, 컴퓨터 판독 가능 저장 매체.
KR1020217001476A 2018-07-04 2018-07-04 아바타 애니메이션 KR20210028198A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2018/068136 WO2019105600A1 (de) 2018-07-04 2018-07-04 Avataranimation

Publications (1)

Publication Number Publication Date
KR20210028198A true KR20210028198A (ko) 2021-03-11

Family

ID=62909496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217001476A KR20210028198A (ko) 2018-07-04 2018-07-04 아바타 애니메이션

Country Status (7)

Country Link
US (1) US20210166461A1 (ko)
EP (1) EP3718086A1 (ko)
JP (1) JP2022500795A (ko)
KR (1) KR20210028198A (ko)
CN (1) CN112673400A (ko)
DE (1) DE212018000371U1 (ko)
WO (1) WO2019105600A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3980865A4 (en) * 2019-06-06 2023-05-17 Artie, Inc. MULTIMODAL MODEL FOR DYNAMIC RESPONDING VIRTUAL CHARACTERS
US11620779B2 (en) * 2020-01-03 2023-04-04 Vangogh Imaging, Inc. Remote visualization of real-time three-dimensional (3D) facial animation with synchronized voice
US11978143B2 (en) * 2022-05-23 2024-05-07 Lemon Inc. Creation of videos using virtual characters
US20240013464A1 (en) * 2022-07-11 2024-01-11 Samsung Electronics Co., Ltd. Multimodal disentanglement for generating virtual human avatars
CN115268757A (zh) * 2022-07-19 2022-11-01 武汉乐庭软件技术有限公司 一种基于触摸屏的画面系统上的手势交互识别系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2450757A (en) * 2007-07-06 2009-01-07 Sony Comp Entertainment Europe Avatar customisation, transmission and reception
US20100302253A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Real time retargeting of skeletal data to game avatar
US9159151B2 (en) * 2009-07-13 2015-10-13 Microsoft Technology Licensing, Llc Bringing a visual representation to life via learned input from the user
US8749557B2 (en) * 2010-06-11 2014-06-10 Microsoft Corporation Interacting with user interface via avatar
US20120130717A1 (en) * 2010-11-19 2012-05-24 Microsoft Corporation Real-time Animation for an Expressive Avatar
US9747495B2 (en) 2012-03-06 2017-08-29 Adobe Systems Incorporated Systems and methods for creating and distributing modifiable animated video messages
KR101643573B1 (ko) * 2014-11-21 2016-07-29 한국과학기술연구원 얼굴 표정 정규화를 통한 얼굴 인식 방법, 이를 수행하기 위한 기록 매체 및 장치
CN106251396B (zh) * 2016-07-29 2021-08-13 迈吉客科技(北京)有限公司 三维模型的实时控制方法和系统

Also Published As

Publication number Publication date
WO2019105600A1 (de) 2019-06-06
CN112673400A (zh) 2021-04-16
DE212018000371U1 (de) 2020-08-31
US20210166461A1 (en) 2021-06-03
EP3718086A1 (de) 2020-10-07
JP2022500795A (ja) 2022-01-04

Similar Documents

Publication Publication Date Title
US9654734B1 (en) Virtual conference room
KR20210028198A (ko) 아바타 애니메이션
KR101851356B1 (ko) 3d 디지털액터에 의한 지능형 사용자 인터페이스 제공방법
US11783534B2 (en) 3D simulation of a 3D drawing in virtual reality
US20190026935A1 (en) Method and system for providing virtual reality experience based on ultrasound data
US12032728B2 (en) Machine interaction
JP6683864B1 (ja) コンテンツ制御システム、コンテンツ制御方法、およびコンテンツ制御プログラム
US20230130535A1 (en) User Representations in Artificial Reality
CN113923462A (zh) 视频生成、直播处理方法、设备和可读介质
CN110691010B (zh) 跨平台跨终端vr/ar产品信息展示系统
KR20190014895A (ko) 가상 현실 기반의 고인 맞춤형 추모 시스템
Jin et al. Volumivive: An authoring system for adding interactivity to volumetric video
JP6892478B2 (ja) コンテンツ制御システム、コンテンツ制御方法、およびコンテンツ制御プログラム
US20240104870A1 (en) AR Interactions and Experiences
JP7195015B2 (ja) インストラクションシステム、プログラム
US20230162420A1 (en) System and method for provision of personalized multimedia avatars that provide studying companionship
NL2014682B1 (en) Method of simulating conversation between a person and an object, a related computer program, computer system and memory means.
CN117853622A (zh) 一种用于创建头像的系统和方法
Zhu InstructAR: Building a Deliverable Infrastructure of How-to Kits for Assembly Scenarios in Augmented Reality
Schäfer Improving Essential Interactions for Immersive Virtual Environments with Novel Hand Gesture Authoring Tools
CN116993868A (zh) 动画生成方法、装置、电子设备及存储介质
da Silva Meira Rendering and Editing Tools for Interactive 360° Video
CN114299581A (zh) 一种人体动作展示的方法、装置、设备及可读存储介质
CN117504296A (zh) 动作生成方法、动作显示方法、装置、设备、介质及产品
CN116431001A (zh) 一种在虚拟空间中实现ai交互的方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal