KR20050116156A - 객체에서의 행동을 생성하는 장치 및 방법 - Google Patents

객체에서의 행동을 생성하는 장치 및 방법 Download PDF

Info

Publication number
KR20050116156A
KR20050116156A KR1020057017989A KR20057017989A KR20050116156A KR 20050116156 A KR20050116156 A KR 20050116156A KR 1020057017989 A KR1020057017989 A KR 1020057017989A KR 20057017989 A KR20057017989 A KR 20057017989A KR 20050116156 A KR20050116156 A KR 20050116156A
Authority
KR
South Korea
Prior art keywords
behavior
behavioral
input
output
framework
Prior art date
Application number
KR1020057017989A
Other languages
English (en)
Other versions
KR101106002B1 (ko
Inventor
다니엘 발린
마르코 질리스
Original Assignee
브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 filed Critical 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니
Publication of KR20050116156A publication Critical patent/KR20050116156A/ko
Application granted granted Critical
Publication of KR101106002B1 publication Critical patent/KR101106002B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Feedback Control In General (AREA)

Abstract

계층적인 행동 프레임워크는 관절있는 객체의 자율적인 그리고 반자율적인 행동을 생성하고 제어하기 위해 사용된다. 행동 동작과 연관된 입력을 수신하고, 프레임워크를 사용하는 복수의 행동 파라미터값을 추론하고, 동등한 행동에 대응하는 출력을 생성하기 위해 행동 제어기에 로딩될때 파라미터값을 사용하는 관절있는 객체에서의 동등한 행동을 생성하도록 행동 제어기가 배치된다. 상기 동등한 행동은 입력된 행동 동작을 재생하고 및/또는 동시에 또는 연속된 동작의 일부로 실시되는 하나 이상의 다른 행동 동작을 구비한다.

Description

객체에서의 행동을 생성하는 장치 및 방법{APPARATUS AND METHOD FOR GENERATING BEHAVIOUR IN AN OBJECT}
본 발명은 객체에서의 행동을 생성하는 방법 및 장치에 관한 것이다. 본 발명이 그에 제한되는 것은 아니지만, 특히 관심있는 애플리케이션 중 하나는 예를 들면 아바타와 같은 가상 에이전트 또는 객체에서의 바디 랭귀지를 전달하는 자율적인 행동을 생성하는 것이다.
가상(아바타와 같은)의 또는 로봇(예를 들면 펫 "장난감")의, 움직이는 객체가 점차 그 행동에서의 복잡성을 띠어가고 있다. 특히, 아바타와 움직이는 에이전트와 같은 가상 객체에 의한 보다 실제와 같은 동작에 대한 소비자의 요구가 있다. 본 발명의 문맥 내에서, 아바타는 임의의 적절한 형태를 취하고 있는, 가상 환경에서 사용자의 시각적 표현으로 정의된다. 움직이는 에이전트는 가상 환경에서 사용자와 상호 작용하거나 또는 인터렉티브 엔터테인먼트를 위해 사용되는 인텔리전트 소프트웨어 기반 에이전트이다.
객체가 움직이는 행동을 가질 수 있을 때, 프로그래밍 하는데에 상대적으로 능숙하지 않은 사용자는 객체의 행동을 의인화하는 능력을 갖는 것이 바람직하다. 이것은, 예를 들면, 사용자가 그룹 설정에서 개별 센스를 만들고, 객체가 플레이하는 역할을 강화하고, 또는 사용자 자신의 개성을 반영하고자 할 때 특히 그러하다. 객체를 그들의 인간 사용자에게 보다 흥미롭게 만들기 위해, 개성이 객체에 제공될 수 있다면, 즉, 행동이 사용자가 호감을 느끼는 인상을 갖도록 사용자에 의해 변경될 수 있다면 바람직하다.
이 요구조건을 만족시키기 위해, 움직이는 객체에서 행동을 생성하기 위해 사용되는 행동 모델들은 점점 복잡해지고 있다. 이것은 프로그래밍에 상대적으로 능숙하지 않은 사용자가 객체의 행동을 변경시키기를 원할 때, 사용자가 행동 모델을 표현하는 복잡한 프로그램과 원활히 상호작용하고 상기 행동의 기초를 이루는 코드를 변경시키기 위해 필요한 전문적 지식이 부족하기 때문에, 모순을 발생시킨다. 객체에 자율적인 행동을 생성하고 객체에 공지의 개성을 제공하는 종래 기술은 그의 유용성에서 제한된다. 일반적으로, 기술적으로 비숙련인 개인에게 객체의 동작을 변경시킬 적절한 수단을 제공하고 객체에 의한 복잡한 동작을 제공할 때에는 조악한 타협에 도달한다. 이것은, 사용자가 실시간으로 객체의 행동을 변경시키기를 원할 때, 특히 그러하다.
기술적으로 비숙련인 사용자가 아바타와 같은 가상 객체의 행동을 변경시킬 수 있도록 하는 제한된 수단이 종래 기술에 개시되어 있다. 예를 들면 Brush Ⅱ 등에 의한 미국특허 제 5,884,029호, "다른 사용자들에 의해 제어되는 다른 아바타들과 상호작용하는 인텔리전트 가상 객체인 아바타와 사용자 간의 상호작용"에서, 사용자가 아바타와 같은 인텔리전트 가상 객체에 개성을 프로그래밍 할 수 있도록 하는 방법 및 장치가 기술되어 있다. 이 예에서, 아바타의 개성은 미리 프로그래밍된 응답 세트를 사용하여 외부 자극에 아바타가 반자율적으로 반응할 수 있도록 함으로써 생성된다. 이 방법은 많은 이유때문에 사용에 제한이 있는데, 특히 비숙련 사용자는 어느 개성의 특징이 자율 행동을 정의하는지 선택할 수 없고, 또한, 비숙련 사용자가 실시간으로 아바타의 개성을 변경시킬 수 없기 때문에 그러하다.
Ball 등에 의한 미국특허 제 6,212,502호, "컴퓨터 사용자 인터페이스로부터의 감정과 개성의 모델링 및 투영"에서, 사용자의 개연성있는 감정 상태를 판정하고 개인 아바타에 사용자의 감정적인 행동을 표현하여 사용자의 가상 세계에서의 경험을 강화시키는 방법이 개시되어 있다. 이 방법은, 사용자가 아바타의 행동이 자신의 행동과 다르기를 원할 때 아바타의 행동을 조정하고 제어 할 수 없기 때문에 사용에 제한이 있다.
Lies 등의 미국특허 제 5,880,731호, "온라인 대화 세션에서 자동적으로 제스처를 취하고 제한된 상호작용을 하는 아바타의 이용"에서, 사용자는 제한된 메뉴에서 아바타가 달리 움직이지 않을 때 아바타가 자율적으로 수행하는 특정 제스처를 선택할 수 있다. 상기 개성은, 아바타가 사용자의 제어하에서 의도적인 동작을 수행하지 않을 때 때때로 자동으로 표시되는 선택된 제스처들을 구비하기 때문에, 사용자의 의도된 제어하에서의 동작을 강화시키기 위해 상기 행동에 대한 어떠한 변경도 이루어지지 않는다. 본 발명은 앞에서 기술된 종래 기술의 단점을 방지하고 및/또는 완화시키는 객체에서의 자율적인 행동을 생성하는 장치 및 방법을 제공하고자 한다.
본 발명의 바람직한 실시예는 단지 예시로서만, 첨부된 도면을 참조하여 기술될 것이다.
도 1A는 본 발명의 제 1 실시예의 개략도,
도 1B는 도 1A에 도시된 행동 설계 사용자 인터페이스의 확대된 개략도,
도 2A는 도 1A에 도시된 두 아바타의 중립 자세를 보다 상세히 표시한 도,
도 2B는 Bill의 아바타가 높은 남자다움을 가질 때의 두 아바타의 자세를 도시한 도,
도 2C는 Bill의 아바타가 높은 관심의 표현(flirtatiousness)을 가질 때의 두 아바타의 자세를 도시한 도,
도 2D는 Bill의 아바타가 낮은 관심의 표현을 가질 때의 두 아바타의 자세를 도시한 도,
도 2E는 Bob의 아바타가 높은 레벨의 putUpon과 듣기(listening), 및 낮은 레벨의 domSub를 가질 때의 두 아바타의 자세를 도시한 도,
도 3은 본 발명에 따른 행동 아키텍처의 개관을 도시한 도,
도 4는 본 발명의 일 실시예에 따른 행동 모델의 계층 레이어(hierarchical layer)를 도시한 도,
도 5는 본 발명의 일 실시예에 따른 객체에 대한 행동 제어기용의 극단적으로 단순화시킨 프레임워크의 개략적인 다이어그램,
도 6은 도 5 및 도 7에 도시된 것과 같은 아키텍처의 프레임워크에서의 행동 노드의 개략적인 다이어그램,
도 7은 본 발명의 또다른 실시예에 따른 객체에 대해 도 5에 도시된 것보다 더 복잡한 행동 제어기용 프레임워크의 개략적인 다이어그램,
도 8은 본 발명에 따른 객체에 행동을 생성하는 방법에서의 실시간 스텝, 및 오프라인 프로파일과 형용사 설계를 개략적으로 나타내는 플로우 다이어그램,
도 9A는 행동 프레임워크가 본 발명에 따른 동등한 행동을 어떻게 생성하는 지를 나타내는 플로우 다이어그램, 및
도 9B는 사용자가 행동 제어기의 특정한 행동 파라미터에 할당된 값을 재할당하기 위해 아바타의 바디의 움직임을 어떻게 조작할 수 있는 지를 나타내는 플로우 다이어그램이다.
본 발명의 제 1 측면에 따르면, 행동 제어기의 제어하에서 객체에 대한 행동을 생성하는 방법에 있어서,
행동 동작에 연관된 입력을 수신하는 단계;
객체에 의한 행동을 생성하도록 배치된 행동 프레임워크에 따라 상기 입력으로부터 복수의 행동 파라미터 값을 추론(infer)하는 단계;
상기 추론된 복수의 행동 파라미터 값으로부터 출력을 도출하는 단계; 및
상기 파라미터 값으로부터 도출된 출력을 사용하여 객체에 의해 동등한 행동을 생성하는 단계를 포함하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 제 2 측면에 따라, 객체에 대한 행동 제어기의 복수의 내부 파라미터값을 추론하는 방법에 있어서,
행동 동작을 나타내는 입력을 수신하는 단계;
상기 수신된 입력으로부터 객체에 의해 동등한 행동 동작에 상당하는 적어도 하나의 출력 값의 세트를 추론하는 단계; 및
상기 적어도 하나의 출력 값 세트로부터 상기 각각의 복수의 내부 파라미터에 대한 값을 추론하는 단계를 포함하고, 여기서 상기 복수의 내부 파라미터 각각에 대한 추론된 값은 동등한 행동 동작에 대해 등가의 행동을 야기하는 행동 제어기에 의한 출력을 생성하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 제 3 측면에 따르면, 객체에서 행동을 생성하는 방법에 있어서,
본 발명의 제 2 측면에 따라 객체에 대한 행동 제어기에 대해 복수의 파라미터 값을 추론하는 단계를 포함하고,
상기 추론된 복수의 파라미터 값을 사용하여 상기 동등한 행동과 연관된 출력값의 세트를 생성하는 단계; 및
상기 관절이 있는 객체가 상기 행동을 실행하도록하는 단계를 추가로 포함하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 제 4 측면에 따르면, 관절있는 객체의 행동을 제어하는 방법에 있어서,
상기 객체에 대한 행동 제어기에 입력값을 제공하도록 배치된 행동 설계 인터페이스를 사용하는 상기 객체의 행동특성에 연관된 행동 파라미터 세트 - 여기서, 각 행동 파라미터 세트는 상기 행동특성에 영향을 주는 적어도 하나의 파라미터를 구비함 - 에 값을 할당하는 단계;
상기 할당된 값에 대한 함수를 실행하여 얻어진 파라미터 값을 가진 파라미터 세트의 각 파라미터와 행동 프로파일에 의해 정의된 디폴트 값을 연관시키는 단계;
상기 파라미터 값을 객체에 대한 행동 제어기로 입력하는 단계;
상기 입력으로부터 행동 제어기에 의해 생성된 출력을 추론하는 단계;
출력을 객체에 의한 행동 동작과 연관시키는 단계; 및
객체가 행동 동작을 실행하도록 하는 단계를 포함하는 것을 특징으로 하는 관절있는 객체의 행동을 제어하는 방법을 제공한다.
본 발명의 제 5 측면에 따르면, 하나 이상의 컴퓨터가 본 발명의 방법의 측면 중 어느 하나를 실시하도록 하는 명령어의 세트로 구성된 컴퓨터 프로그램, 또는 컴퓨터 프로그램 슈트를 구비한 컴퓨터 프로그램 제품이 제공된다.
본 발명의 제 6 측면에 따르면, 객체에서의 행동을 생성하도록 배치된 행동 제어기를 구비한 장치에 있어서,
상기 컨트롤러는,
행동 동작과 연관된 입력값을 수신하는 수단; 객체에 의해 행동을 생성하도록 배치된 행동 프레임워크에 따라 상기 입력값으로부터 복수의 행동 파라미터값을 추론하는 수단; 상기 추론된 복수의 행동 파라미터 값으로부터 출력을 도출하는 수단; 및 상기 파라미터 값으로부터 도출된 출력을 사용하여 상기 객체에 의한 동등한 행동을 생성하는 수단을 구비한 것을 특징으로 하는 장치가 제공된다.
본 발명의 제 7 측면에 따르면, 행동 설계 인터페이스를 구비한 장치에 있어서, 객체의 행동 특성과 연관된 적어도 하나의 파라미터 값을 구비한 행동 파라미터 세트인 할당 값을 행동 파라미터 세트에 허용하도록 배치된 수단을 포함하고; 상기 인터페이스를 사용하여 할당된 값은 상기 제 6 측면에 따른 장치에 입력값으로서 제공되는 것을 특징으로 하는 장치가 제공된다.
본 발명의 제 8 측면에 따르면, 그 안에 적어도 하나의 컴퓨터 프로그램의 슈트를 갖도록 배치된 디바이스에 있어서, 상기 디바이스가 본 발명의 제 6 또는 제 7 측면에 따른 장치로서 기능하도록 하기 위해 적어도 하나 이상의 컴퓨터 프로그램의 슈트가 상기 디바이스 상에서 실행할 수 있도록 하는 것을 특징으로 하는 디바이스가 제공된다.
본 발명의 제 9 측면에 따르면, 서로 통신 가능하도록 배치된 복수의 컴퓨터 타입의 디바이스들을 구비한 네트워크에 있어서, 적어도 하나의 디바이스는 본 발명의 제 8 측면에 따른 디바이스를 구비하고, 다른 디바이스는 적어도 하나의 컴퓨터 프로그램의 슈트의 적어도 일부에 원격으로 액세스하도록 배치되어 상기 다른 디바이스들의 환경내에서 동작하는 객체가 적어도 하나의 컴퓨터 프로그램의 슈트에 의해 제어될 수 있도록 하는 것을 특징으로 하는 네트워크가 제공된다.
본 발명의 제 10 측면에 따르면, 객체의 행동을 제어하기 위해 객체를 직접 조작하는 방법에 있어서, 상기 객체가 행동 동작을 실행하도록 조작하는 단계;
행동 동작을 나타내는 입력을 행동 프레임워크의 출력 노드 - 여기서, 출력 노드는 또한 객체에 의해 동등한 행동을 생성하는 데에 사용되는 출력을 제공하도록 배치됨 - 로 제공하는 단계; 상기 프레임워크의 다른 행동 노드에 대한 적어도 하나의 파라미터값의 세트를 도출하기 위해 행동 프레임워크의 출력 노드에 의해 수신된 입력을 프레임워크 내에 매핑시키는 단계; 및 도출된 적어도 하나의 파라미터값의 세트로부터 객체에 의해 다른 동등한 행동을 생성하는 출력값의 세트를 추론하는 단계를 포함하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 제 11 측면에 따르면, 노드의 프레임워크를 구비한 행동 제어기의 제어하의 객체에서의 행동을 생성하는 방법에 있어서, 적어도 하나의 노드가 행동 동작과 연관된 입력값을 수신하는 단계; 각각의 적어도 하나의 노드가 수신된 입력을 출력으로 매핑하는 단계; 상기 출력을 사용하여 프레임워크의 다른 노드들에 대한 복수의 행동 파라미터값을 추론하는 단계; 및 객체에 의해 동등한 행동을 생성하는 행동 제어기에 의한 출력을 제공하도록 상기 추론된 행동 파라미터 값을 사용하여 수신된 입력값을 매핑하는 단계를 포함하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 제 12 측면에 따르면, 행동 제어기의 제어하에서 객체의 행동을 생성하는 방법에 있어서, 행동 동작과 연관된 입력을 수신하는 단계; 상기 수신된 입력을 상기 객체에 의해 동등한 행동에 상당하는 적어도 하나의 출력값 세트로 매핑하는 단계; 객체에 의해 생성하도록 배치된 행동 프레임워크에 따라 상기 적어도 하나의 출력값 세트로부터 복수의 행동 파라미터값을 추론하는 단계; 및 이것들을 상기 행동 제어기로 로딩함으로써 상기 파라미터 값을 사용하여 객체에 동등한 행동을 생성하는 단계를 포함하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 제 13 측면에 따르면, 복수의 가상 객체가 가상 환경에 참여한 한 명 이상의 사용자의 관찰하에서 상호작용하도록 배치되는 가상 환경에 있어서, 가상 환경의 복수의 가상 객체 각각은 가상 환경의 하나 이상의 다른 가상 객체의 하나 이상의 행동 동작으로부터 도출된 하나 이상의 입력을 사용하는 행동 시스템을 사용하여 생성된 반자율적인 행동을 나타내는 것을 특징으로 하는 가상 환경이 제공된다.
바람직하게는, 가상 환경에 참여한 각 사용자는 입력을 상기 행동 시스템에 제공함으로써 생성된 반자율적인 행동을 제어할 수 있다.
본 발명의 다른 측면들은 상기 측면의 가상 환경을 지원하도록 구성된 플랫폼을 제공하며, 상기 플랫폼은 상기 가상 환경에 참여한 한 명 이상의 사용자 중 하나가 상기 입력을 제공하는 수단을 제공한다.
바람직하게는, 사용자는 표시된 행동 설계 인터페이스를 통해 상기 입력을 제공하고, 수신된 입력은 상기 행동 시스템에 의해 생성된 행동을 제어하도록 구성된 행동 제어기에 의해 처리된다.
상기 행동 시스템은 상술한 임의의 측면들에 따른 행동 제어기와 행동 프레임워크를 구비한다.
특히, 상기 시스템은 객체의 행동 제어기를 위한 행동 번역(translation) 디바이스가 제공될 수 있도록 하고, 상기 디바이스는 제 1 문화와 일치하는 행동을 나타내는 정보를 제 2 문화와 일치하는 행동에 매핑시키는 수단을 구비한다. 바람직하게는, 상기 정보는 행동 제어기에 의해 입력으로 수신된다. 바람직하게는, 상기 정보는 행동 제어기에 의해 출력으로 제공된다.
특히, 객체에 의한 동등한 행동이 소정의 시퀀스로 실행된 복수의 행동 동작을 구비하기 때문에, 보다 복잡한 행동이 상대적으로 비숙련의 사용자에 의해 제공된다. 특히, 시변의(time-varying) 행동 파라미터가 보다 실제와 같은 자율적인 움직이는 행동을 제공하기 위해 행동 제어기에 결합된다.
특히, 입력으로부터 나중에 상기 객체에 의해 동등한 동작을 생성하는 데에 사용될 수 있는 내부 파라미터값을 추론해낼 수 있는 능력을 가짐으로써, 행동을 생성하는 방법은 사용자에 의한 상대적으로 단순한 데이터 입력이 객체에서 복잡한 행동을 생성할 수 있도록 한다.
특히, 하나 이상의 행동 동작을 구비하고 2 개 이상의 행동 동작이 동시에 실행되는 복잡한 행동이 생성된다. 예를 들면, 아바타와 같은 관절이 있는 객체의 행동은 아바타의 자세와 시선의 행동이 모두 동시에 실행되도록 제어된다. 예를 들면, 상기 아바타는 물체를 집어들때 그 물체를 자동으로 바라보며, 또는 또다른 예를 들면, 아바타가 다른 아바타가 공격적인 것에 대응하여 겁을 내면, 겁을 내는 아바타는 자세와 시선 모두를 변경하여 자신의 어깨를 구부리고 눈을 내려깐다.
특히, 본 발명은 사용자가 대화방의 가상 매체에서 전달할 수 있는 표현의 양을 증가시킴으로써 사용자에 대한 대화방의 경험을 증가시키는 수단을 제공한다. 특히 자세와 시선과 같은 2 개 이상의 행동 동작의 동시 다발적인 실시에 의해 전달될 때, 바디 랭귀지의 표현은 보다 생동감 있고, 인간에 가까운 아바타를 나타내고, 그들의 대화의 질을 개선시킨다. 본 발명은 편리하게도, 동일 그룹의 아바타들이 자신들의 행동에 조화를 이루게하여 각 아바타가 적절한 방법으로 다른 아바타의 바디 랭귀지에 반응하도록 한다.
종속된 청구항 내에 기술된 바람직한 특성은 당업자에게는 명백한 적절한 방법으로, 상기 측면 중 어느 하나와 적절하게 조합될 수 있다.
발명자에 의해 의도된 본 발명의 최상의 형태가 첨부한 도면을 참조하여 하기에 기술될 것이다. 그러나, 본 발명의 설명은 단지 예시이며, 본 발명은 기술되는 실시예에 제한되지 않음은 당업자에게 명백할 것이다.
첨부한 도 1A에 의하면, 본 발명의 제 1 실시예는 아바타와 가상의 캐릭터에 대한 바디 랭귀지를 생성하고, 추론하며 설계하는 툴을 구비한다. 본 발명의 본 실시예는 인터넷 대화방과 컴퓨터 게임 형태의 환경 등에서 가상 객체의 행동 특성을 제어하는 데에 특히 유용하다.
도 1A에 컴퓨터 디바이스(1)가 도시되었다. 컴퓨터 디바이스(1)는 높은 레벨의 컴퓨터 프로그래밍 기능을 갖지 못한 사람(도시되지 않음)이 사용하여 구동되는 것을 가정한다. 상기 컴퓨터 디바이스라는 용어는 예를 들면, 이동 전화 등과 같은 모바일 통신 디바이스 뿐만 아니라, 게임 콘솔, PDA 등의 비주얼 디스플레이에 부속될 수 있고 데이터 처리 능력을 가진 임의의 디바이스를 의미하는 것으로 사용된다.
컴퓨터 디바이스(1)는 예를 들면 모니터와 같은 디스플레이(3)를 갖는 비주얼 디스플레이 수단(2)이 제공된다. 예를 들면 마우스 또는 키보드(도시되지 않음)와 같은 임의의 적절한 네비게이션 수단이 상기 디스플레이(3)를 네비게이트(navigate)하기 위해 사용자에 의해 채용된다. 다른 실시예는 동일한 방법으로 사용되는 스타일러스, 트랙패드, 조이스틱과 같은 네비게이션 툴을 포함한다.
디스플레이(3)는 가상 환경 애플리케이션이 그 안에서 작동하고 있는 윈도우(4)를 포함한다. 가상 객체를 포함하고 있는 가상 환경이 윈도우(4)에 표시된다. 명확하게 하기 위해, 2 개의 가상 객체만이 본 발명의 바람직한 실시예의 내용에서 기술될 것이다. 도 1A에 도시된 것과 같이, 2 개의 가상 객체들은 움직이는 2 개의 아바타(5, 6)를 구비하는 관절이 있는 객체들이다. 아바타(5)는 또한 본 문에서 Bob으로, 아바타(6)는 Bill로 참조된다. Bill과 Bob은 도 1A에 도시된 실시예에서 관절이 있는 형태를 가지지만, 가상 객체는, 예를 들면 감정을 나타내기위해 찡그리는 얼굴을 구비한 관절이 없는 것이 될 수도 있다. 따라서 객체의 형태에 관계없이, 행동에 대한 참조는 객체에 의해 얼굴에 의해 표현된 행동과 임의의 형태의 행동을 포함한다.
가상 객체(5, 6)가 반자율적으로(이경우 적어도 사용자로부터의 어떠한 입력이 필요함) 움직일 수 있도록 구성되지만, 가상 객체(5, 6) 중 적어도 하나는 본 발명의 다른 실시예에 따른 행동 제어기를 사용하여 자율적으로 기능하도록 오프라인으로 프로그래밍될 수 있다. 본 발명의 내용에서, 오프라인은 가상 객체가 가상 환경에서 움직이는 행동을 수행하지 않거나, 또는 재시작되기 전에 오프라인 프로그래밍이 발생하는 동안 그러한 행동이 중지 또는 일시적으로 중단될 때, 행동 제어기를 프로그래밍 하는 것을 말한다.
다시 도 1A로 돌아가서, 가상 환경의 가상 객체(5, 6)는 2 개의 인간 아바타를 구비한다. 그러나 당업자는 가상 객체가 취하는 형태는 상황에 따라 매우 다양할 수 있음을 이해할 것이다. 예를 들면, 그 역할에 따라, 가상 객체는 동물도 될 수 있고, 다른 움직일 수 있는 관절있는 객체가 될 수 있다. 관절이 있다는 말은 여기서 예를 들면, 다리 및/또는 관절부와 같이 서로 상관하여 움직일 수 있는 부분으로 구성된 것으로 정의된다.
디스플레이(3)는 또한 행동 설계 사용자 인터페이스(7)를 나타낸다. 상기 행동 설계 사용자 인터페이스(7)는 상기 가상 환경 윈도우(4)에 대해 분리된 윈도우를 구비한다. 행동 설계 사용자 인터페이스(7)는 하나 이상의 가상 객체(5, 6)에 의한 행동을 생성하도록 사용자가 행동 제어기에 입력을 제공할 수 있도록 한다. 행동 설계 사용자 인터페이스 애플리케이션은 상기 행동 제어기를 포함하는 애플리케이션의 일부를 구비하거나 또는, 상기 행동 제어기를 포함하는 애플리케이션과 인터페이스하도록 구성된 별도의 소프트웨어 애플리케이션의 일부로서 제공된다. 상기 행동 제어기는 소정의 행동 프레임워크에 따라 구성된 연결된 노드의 세트를 구비하고, 프레임워크의 각 노드는 입력을 다수의 파라미터에 기초하여 출력으로 매핑한다. 상기 행동 제어기는 하기에서 보다 상세히 기술될 것이다.
도 1A에서, 사용자는 행동 설계 사용자 인터페이스의 트랙커바(9)의 슬라이더(8)를 사용하여 행동 파라미터 값을 적절하게 선택함으로써 두 가상 객체(5, 6) 모두를 제어한다, 남자다움 파라미터 세트에 대한 트랙커바와 슬라이더만이 구별을 위해 도 1A에 번호가 매겨져있다. 그러나, 도 1B를 참조하면, 도 1A의 행동 설계 사용자 인터페이스의 확대된 도가 도시되어있다.
행동 설계 인터페이스
도 1B는 도 1A의 행동 설계 사용자 인터페이스(7)를 보다 상세하게 도시한다. 도 1B에 도시한 바와 같이, 행동 설계 사용자 인터페이스(7)는 도 1A의 가상 환경 윈도우(4)에서 상호작용하는 가상 객체 Bob과 Bill 각각에 대한 메뉴 선택의 범위를 사용자에게 제공한다. 본 발명의 또 다른 실시예에서, 사용자는 상기 환경에서 다른 가상 객체들의 행동에 대해 보다 덜 직접적인 제어를 가지지만 그러나 간략화를 위해, 여기서는 사용자가 Bob과 Bill 모두에 대해 직접적인 영향력을 가지기를 원한다고 가정한다. 또다른 가상 객체에 대해 직접적인 제어가 제공되지 않음에도 불구하고, 보다 상세히 설명되겠지만 사용자는 여전히 간접적으로 다른 가상 객체의 행동에 영향을 줄 수 있다.
도 1B에서 명확하게 하기 위해, 트랙커 레인(9a, 11a)에서 관심의 표현(flirtatiousness)으로 지칭된 행동 파라미터 세트의 값을 선택하기 위한 슬라이드 바(8, 10) 만이 번호가 매겨져 있다.
도 1B에 도시된 것과 같은 행동 설계 사용자 인터페이스(7)는 2 개의 행동 프로파일(9a~9h, 11a~11h)을 구비한다. 도시된 각 행동 프로파일은 "형용사"의 세트 또는, 가상 객체의 특정 행동 특성과 연관된 동등한 행동 파라미터 세트를 구비한다. 도 1B에 도시된 바와 같이, 행동 파라미터 세트는 관심의 표현(9a, 11a), 우호(9b, 11b), 남자다움(9c, 11c), 다른 사람을 좋아함(otherLiking)(9d, 11d), 슬픔(9e, 11e), 자만(9f, 11f), 수줍음(9g, 11g), 및 타인에 대한 우월성(superioritytoOther)(9h, 11h)를 포함한다.
사용자는 행동 파라미터 세트의 다른 선택을 포함하는 다른 행동 프로파일을 구성할 수 있다. 또한 행동 파라미터 세트를 구비하는 복수의 개별 행동 파라미터 각각의 프로퍼티(property)를 변경시킬 수 있다. 행동 파라미터 세트의 설계는 소정의 행동 특성을 집합적으로 변경하기 위해 행동 제어기의 행동 프레임워크에 의해 정의된다. 따라서, 파라미터 세트 설계는 어떤 행동 파라미터 세트가 행동 프로파일을 형성하는지의 단순한 선택보다 더 기술이 필요한 작업이다. 파라미터 세트는 단일 파라미터 만을 구비할 수 있다. 예를 들면, 그 값이 상기 행동 프레임워크 내의 모든 행동 노드의 출력에 영향을 줄 수 있는 글로벌 파라미터, 또는, 그의 값이 프레임워크의 단일 행동 노드 만의 출력에 영향을 줄 수 있는 내부 파라미터이다.
도 1B로 돌아가서, 트랙커 레인(9a~9h, 11a~11h)의 트랙 길이는 사용자가 슬라이드바(8 또는 9)를 위치조정함으로써 선택할 수 있는 가능한 값의 범위를 나타낸다. 명확히 하기 위해 제 1 관심의 표현 행동 파라미터 세트에 대한 슬라이드 바만이 도 1B에 표시되어 있음이 이해될 것이다. 다른 실시예에서, 예를 들면 라디오 버튼, 드롭다운 윈도우 등의 다른 값 선택 수단이 사용되거나 또는 직접적으로 제어 데이터를 입력한다. 그러나 슬라이딩 바와 트랙커의 사용은, 이것이 연속한 범위의 값들이 상기 메인 스크린 디스플레이 가상 화면 윈도우(4)로부터 사용자를 지나치게 혼란을 주지 않으면서 파라미터에 쉽게 할당될 수 있도록 하기때문에 특히 바람직하다.
사용자에 의해 0으로 할당된 도 1B에 도시된 값은 각각의 표시된 행동 파라미터 세트에 대응하는 중립 자세를 가상 객체(5, 6)에 제공한다. 이것은 도 1A에 도시된 2 개의 가상 객체의 중립적인 자세와 도 1A 및 1B에 도시된 대응하는 행동 파라미터 세트 값을 도시하는 도 2A에 보다 명확하게 도시되어 있다.
도 2B는 가상 객체(6)(Bill)에 대해 남성다움 트랙커바 슬라이더를 움직임으로써 Bill의 행동에 사용자가 어떻게 직접적으로 영향을 주고, Bob의 행동에는 어떻게 간접적으로 영향을 주었는지를 도시한다. 도 2B에서, 사용자는 남성다움 행동 파라미터 세트 트랙커 레인에서 슬라이더를 사용하여 14의 값을 할당하고, Bill은 Bill에 대한 행동 제어기에 의해 생성된 행동을 표시한다. Bill의 행동 제어기는 사용자 입력을 취하고, 행동 프레임워크의 행동 출력 노드에 적절한 값들을 할당하기 위해 상기 프레임워크를 통해 그것을 전달함으로써 어떤 동등한 남성다움 행동이 사용자로부터 요구되는 것인지를 상기 입력으로부터 추론했다.
Bill에 대한 행동 제어기는 할당된 남자다움의 값 14로부터 도 2B에 도시된 실시예에서 Bill의 남자다운 자세를 유지하는 것을 포함하는 동등한 행동 동작을 추론한다. 다양한 남자다운 자세가 발생하고, 또한 남자다운 제스처, 시선, 선 자세, 얼굴 표정 등과 같은 다른 남자다운 행동을 낳는다. Bill의 행동 제어기는 또한 Bill의 남자다운 행동 동작(들)을 반영하는 하나 이상의 값을 Bob의 행동 제어기에 출력한다. 이 출력은 Bill의 남자다운 행동에 대한 자신의 응답을 나타내는 Bob에 의해 수행되는 행동 동작을 포함한다.
Bob의 행동 제어기는 Bob의 행동 제어기가 Bill의 행동에 의해 전달되는 바디 랭귀지를 효과적으로 번역하도록 할 수 있는 Bill의 행동 동작으로부터 도출된 입력을 수신한다. 이 입력은 예를 들면, Bob의 행동 프레임워크에 의해 생성된 행동을 변경하는 하나 이상의 파라미터 값인, Bill의 남자다운 행동에 대한 응답을 구비하는 행동 동작을 나타낼 수 있다. 또는, Bob은 Bill의 행동을 나타내는 파라미터값의 표시를 수신하고, Bob의 행동 제어기는 Bill에 의해 제공된 파라미터 값으로부터 어떤 출력값이 이 응답에 대응하는지를 추론할 수 있다. Bob의 행동 제어기는 그런 다음 이 출력값들로부터 Bob의 행동 프레임워크에서 상기 응답과 동등한 행동을 생성하는 다른 행동 파라미터 값을 추론하고, 이 행동 파라미터 값을 사용하여 출력값을 생성하고, 그런 다음 이 행동을 실행한다. 도 2A에 도시된 것과 같이, 이것은 Bill의 앞에서 복종하는 자세를 선택하는 Bob을 포함한다.
상술한 방법으로, 사용자는 상기 가상 객체(6)에 대한 행동 파라미터 세트 값을 변화시킴으로써 가상 객체(5)의 행동을 간접적으로 변경시킬 수 있다. Bob은 사용자가 직접 Bob의 트랙커 바를 복종하는 위치로 이동시킬 필요없이 보다 복종하는 자세를 취했다. 하나의 가상 객체(Bob)에 대한 행동 제어기는 다른 가상 객체(Bill)의 행동에 의해 전달된 바디 랭귀지를 번역했다. 이것은 바디 랭귀지를 나타내는 정보를 전달하는 다른 객체의 행동 제어기에 의해 수신된 출력을 생성하는 제 1 객체의 행동 제어기에 의해 달성되었다. 그런 다음, 적절한 내부 행동 파라미터 값이 다른 가상 객체에 대한 행동 제어기에 의해 추론되고, 이것은 다른 객체의 행동을 변경시킨다. 각 가상 객체가 입력을 수신하도록 구성된 적절한 행동 제어기를 가진다면, 바디 랭귀지 정보는 하나 이상의 가상 객체로 전달될 수 있다는 것을 당업자는 명확하게 이해할 것이다.
도 2A에 도시된 본발명의 실시예에서, Bob에 대해 표시된 슬라이더 값이 파라미터 값을 변화시키지 않기 때문에 캐릭터 Bob(가상 객체(6))에 대응하는 행동 프레임워크의 파라미터 값은 Bill에 할당된 값에 의해 직접 영향받지 않는다. . 그러나 본 발명의 다른 실시예에서, 슬라이더 값이 그것들의 새로운 값들을 반영하도록 자동으로 갱신될 수 있다.
도 2C는 본 발명의 일 실시예에서, 어떻게 상기 가상 객체 중 하나의 바디 랭귀지가 적절한 행동 응답을 설정하도록 다른 가상 객체에 전달될 수 있는지를 도시한다. 도 2C에서, 도 2B에 도시된 행동에 이어서, Bill의 사용자는 1의 값을 남자다움에 할당하고, 관심의 표현에 10의 값을 할당하였다. Bill에 대한 행동 제어기는 도 2C에 도시된 것과 같이 Bill이 Bob의 팔을 건드리는 것과 같이 움직이는 자동화된 행동을 생성한다. Bob의 행동 제어기는 Bill이 덜 남성스럽고 보다 우호적이며, 따라서, Bob을 건드리기 위해 팔을 내뻗는 동작은 우호적인 것이지 적의를 가진 것이 아닌 것을 나타내는 것으로 Bill의 바디 랭귀지를 번역한다. 이것은 예를 들면, Bob의 행동 제어기가 수신한 입력을 사용하여 Bill의 컨트롤러에 의해 제공된 파라미터 값을 Bill이 우호적임을 나타내는 것으로 번역함으로써 달성될 수 있다. 결과적으로, (예를 들면)Bill이 Bob을 적의적인 방식으로 건드리는 경우 발새할 방어적인 행동을 나타내는 대신, Bob은 복종하는 자세를 유지한다기 보다는 보다 덜 방어적인 자세를 취하고, 약간 앞으로 기댄다. Bob이 보다 덜 방어적이라고 한다면, 도 2D에 도시된 것과 같이, 사용자는 Bill에 대한 관심의 표현과 남성다움의 레벨을 보다 낮은 값으로 설정할 수 있고, 이것은 양 아바타에 의한 보다 친밀한 행동을 만든다.
도 2A-2D에 도시된 것처럼, 사용자는 특정한 바디의 움직임을 지시하는 포인트 또는 행동 동작을 지시하는 텍스트 키를 가지지 않고, 상기 행동 제어기는 실시간으로 할당된 행동 파라미터 세트 값에 응답하여 적절한 행동을 자율적으로 생성한다.
특히, 윈도우용 소프트웨어 애플리케이션으로 행동 설계 사용자 인터페이스(7)를 제공함으로써, 시야상에 인터페이스의 범위가 사용자의 요구에 따라 변경될 수 있다. 도 2E에서, Bob에 대한 행동 프로파일은 행동 설계 사용자 인터페이스(7)에서 볼수 있고, 도 2A-2D의 행동 프로파일에 도시된 것들과 다른 행동 파라미터 세트들을 포함하는 Bob에 대한 다른 행동 프로파일이 도시된다.
도 2E에서, Bob은 사용자에 의해 듣기 행동 파라미터 세트에 대해 높은 값을 할당받고, putUpon 행동 파라미터 세트에 대해 동일한 높은 값이 할당되었다. 도 2E에 도시된 다른 행동 파라미터 세트는 touchyFeely, domSub 등을 포함한다. Bob은 상대적으로 낮은 값이 domSub에 할당되었다. 이 값들은 Bob의 행동 제어기에 의해 사용되어 상기 값에 적합한 행동을 생성한다. 따라서, Bill은 직립한 자세를 갖고, Bob은 보다 복종하는 자세를 취한다.
첨부 도면중 도 3은 본 발명의 행동 제어기가 행동 모델(30)에 따라 객체의 행동을 어떻게 생성하는 지를 개략적으로 도시한다. 상기 행동 모델(30)은, 예를 들면, 자세(32), 제스처(33), 안면 움직임(34), 및 시선(35)과 같은 특정한 행동을 생성하는 데에 상기 프레임워크에 의해 수신된 입력이 사용되는 방법을 통제하는 특정한 행동 프레임워크(31)를 정의한다. 상기 행동 프레임워크(31)는 다수의 노드를 구비하고, 추후 보다 상세히 기술될 것이다(행동 프레임워크의 예로 도 5 및 7을 참조하라).
상기 프레임워크(31)에 대한 입력은 다양한 외부 및 내부 소스로부터 도출될 수 있다. 예를 들면, 외부 구문/이벤트(36)로부터, 다른 캐릭터(37)로부터, 다른 무드 큐(38)로부터 미리정해진 프로파일(39)로부터 도출된다. 프레임워크(31) 자체는 또한 특정 프로파일(40)을 설계하는데에 사용될 수 있고, 그런 다음, 그 결과인 프로파일(39)은 상기 프레임워크 노드의 하나 이상의 행동 파라미터로 할당된 값을 변경하기 위해 상기 프레임워크(31)로 입력을 제공할 수 있다.
사용자가 직접 아바타를 조작하거나 또는 행동 설계 사용자 인터페이스(41)를 사용하여 직접 입력값을 조작하는 경우, 입력은 프레임워크의 자세(32), 제스처(33), 안면(34), 및 시선(35) 행동 출력 노드의 이동에 의해 할당된 값에 의해 직접 프레임워크(31)로 제공될 수 있다. 그런다음, 상기 프레임워크는 행동 동작에 대한 적절한 값을 추론하고, 사용자 인터페이스/추적(tracking) 시스템(40)은 상기 애니메이션 시스템을 사용하여 적합한 동작을 만들어낸다.
집합적으로, 자세, 제스처, 안면, 시선 행동 노드에 의한 출력값은 애니메이션 서브시스템(41)을 사용하여 적절하게 움직이는 행동을 만들어내는 데에 사용된다. 사용된 애니메이션 서브시스템은 예를 들면 퀘이크 엔진과 같은 컴퓨터 게임 엔진이나 SGI의 Open 개발자 라이브러리와 같은 씬 그래프(scene graph) 기반 컴퓨터 그래픽 시스템 등의 적절한 애니메이션 애플리케이션에 의해 제공될 수 있다.
행동 모델 아키텍처
첨부 도면중 도 4를 참조하여, 본 발명에 따른 레이어된 계층 행동 모델의 계층적인 구조가 개략적으로 도시된다.
도 4는 행동 모델의 기능성이 5개의 레이어를 구비한 본 발명의 바람직한 실시예를 도시하는데, 상기 기능성은, 기능성이 행동 모델(51)을 정의하는 프레임워크의 행동 노드의 설계과 관련있는 제 1 레이어; 기능성이 행동 아키텍처 그 자체(52a)의 설계과 "컨텐츠 생성"(52b)(이것은 숙련된 기술자에 의해 출력 행동에 대응하는 실질적인 애니메이션 등의 생성에 관련됨)에 관련된 제 2 레이어; 행동 형용사(동등하게는, 행동 파라미터 세트)(53)의 설계에 기능적으로 관련된 제 3 레이어; 예를 들면 도 4에 도시된 슬라이더 기능(54a)과 같은 파라미터 값 선택 매커니즘, 행동 프로파일(54b)의 설계, 및 가상 객체(54c)의 직접 조작에 의해 상기 모델로의 입력을 직접 공급하는 것에 관련된 제 4 레이어; 및 마지막으로 실시간 제어(55)에 관련된 제 5 레이어를 구비한 것을 특징으로 하는 본 발명의 바람직한 실시예를 도시한다.
본 발명의 다른 실시예에서, 보다 복잡한 레이어들은 행동 설계과 제어 아키텍처에 제공될 수 있지만, 실시간 제어가 지원된다면 5 개의 레이어는 본 발명의 바람직한 실시예에 요구되는 최소한의 것이다.
행동 모델의 레이어와 인터페이스로 연결되는 데에 필요한 전문화된 지식의 레벨 및/또는 정보의 양은 일반적으로 사용자가 변경하고자 하는 프레임워크의 특정 특성 또는 기능에 달려있다. 예를 들면, 상기 모델의 상위 레이어(예를 들면 레이어 4 및 5)에 대한 인터페이스는 사용자의 일부에 대해 상대적으로 적은 전문화된 지식을 필요로 하는데, 즉, 누구든 본 발명의 본 실시예에 따라 가상 객체의 실시간 제어를 실시할 수 있다. 그러나, 노드 타입(즉, 행동 계층의 레벨 1과 인터페이스로 연결된)을 설계하기 원하는 사용자는 전문 프로그래머가 되어야할 것이다.
도 4에 도시된 행동 모델은 레이어 수(복잡도를 증가시키는)와 모델(예를 들면, 이 단순한 멀티 레이어 아키텍처의 상세한 설명을 위해 Scerri & Ydren[컴퓨터 사이언스(2000)의 Springer-Verlag Lecture Note의 RoboCUP Teams, RoboCUP-99, Robot Soccer World Cup Ⅲ의 엔드 유저 설명서]를 보라)에서의 실시간 제어를 포함하여 양측 모두에서, 종래 멀티 레이어 행동 설계 및 Scerri & Ydre'n의 제어 아키텍처(하기를 참조)와 다르다. 보다 복잡한 계층 구조와 실시간 제어 기능성을 구현하는 능력을 갖는 것에 추가하여, 다른 뚜렷하게 구별되는 특성은 행동 프레임워크의 행동 파라미터 값이 입력된 파라미터 값으로부터 내부적으로 추론될 수 있도록 하는 행동 파라미터 추론 스킴을 공급하는 것을 포함한다. 따라서, 사용자가 행동 특성에 관련된 하나 이상의 행동 파라미터 값의 세트를 입력하거나, 특정 행동 동작을 만들도록 상기 객체를 조작할 때, 상기 수신된 입력은 하나 이상의 행동 동작을 구비하는 다른 동등한 행동을 생성하도록 사용될 수 있다. 이 행동 파라미터 추론 시스템은 하기에 보다 상세히 기술될 것이다.
도 4에서, 설계 노드 타입 레이어(51)는 애니메이션 제어 시스템과 인터페이스로 연결된 출력 노드의 설계에 관련된 것이다. 일반적으로, 출력 노드의 출력은 가상 객체를 움직이게 하기 위해 노드의 다른 섹션에 의해 사용된다. 상기 애니메이션 시스템은 그것이 생산하는 행동을 제어하는 다수의 파라미터를 포함하고 있다. 출력 노드는 애니메이션 시스템의 각 파라미터에 대해 하나의 출력을 가지고, 그 파라미터는 상기 출력값에 직접 설정된다. 예를 들면, 자세 노드의 경우, 새로운 자세는 각 기본 자세에 대한 가중치에 기초하여 기본 자세의 세트의 조합으로써 생성된다. 상기 자세는 그 가중치에 비례하여 동작 조합 시스템과 함께 조합된다. 상기 자세 노드는 그의 가중치에 상당하는 각 자세에 대한 출력을 갖는다. 다른 출력 행동은 파라미터와 행동 사이의 보다 복잡한 매핑을 갖는다. 예를 들면, 출력 노드는 노드 타입의 서브 타입을 만드는 프로그래머(일반적으로 상당히 기술적으로 숙련된)에 의해 만들어질 수 있고, 런타임에서 상기 아키텍처의 프레임워크로 새로운 타입을 추가함으로써 상기 노드는 파일로부터 행동 제어기 정의에서 판독하는 데에 사용될 수 있다. 본 발명의 다른 실시예에서, 출력 노드는 사용되는 애니메이션 시스템에 적합하도록 그 출력을 변경시킨다.
사용자는 일반적으로 아키텍처 설계(52a) 또는 행동 설계 모델의 레이어(2)의 컨텐츠 생성(52b) 특성을 변경하기 전에 행동 프레임워크에 친숙해지도록 훈련받을 필요가 있다. 레이어(2)는 특정 애플리케이션에 대한 가상 객체를 생성하기 위한 프레임워크를 구비한다. 그것은 행동 제어기의 설계과 출력 노드에 대한 컨텐츠 설계를 포함한다. 예를 들면, 출력 노드는 미리 존재하는 동작 또는 다른 컨텐츠에 기초한 행동을 만들기 위해 설계될 수 있다. 많은 출력 행동은 예를 들면, 자세 모델이 미리 존재하는 자세의 세트에 기초하고 얼굴 표정의 모듈은 이미 존재하는 얼굴 표정의 세트에 기초하는 일련의 이미 존재하는 애니메이션과 동일한 컨텐츠에 기초할 것이다. 이것들은 상업적인 3D 모델링 툴을 사용하여 숙력된 디자이너에 의해 만들어질 수 있다.
행동 제어기의 설계는 일반적인 예를 들면 XML 파일같은 설계 명세 파일이나, 직접 편집될 수 있는 다른 적절한 파일 타입(가능한, 특별히 설계된 파일 타입)에 의해 기술된다. 행동 제어기가 그래프 구조를 가지므로, 간단한 그래픽 편집 툴이 다른 실시예에서 설계 명세 파일을 편집하기 위해 제공된다. 설계 명세 파일이 편집되면, 그것은 상술한 행동 프레임워크를 사용하여 컨트롤러로 컴파일될 수 있다.
도 4에서의 형용사 설계 레이어(53)와 슬라이더(54a), 프로파일 설계(52b), 직접 조작(52c), 및 레이어(3, 4, 5)의 실시간 제어 특성은 일반적으로 비숙련 사용자가 객체의 행동을 커스터마이징 할 수 있도록 배치된다. 첨부도면 도 8을 참조하여 하기에 보다 상세히 기술한 것과 같이, 특히, 사용자는 행동 프로파일을 설계함으로서 레이어(3, 4)와 인터페이스로 연결될 수 있다.
행동 제어기
첨부도면 도 5를 참조하면, 본 발명의 제 1 실시예에 따른 가상 객체에 대한 행동 제어기의 프레임워크(60)가 도시되어 있다. 도 5에서, 행동 제어기의 프레임워크(60)는 하나 이상의 소스로부터의 입력을 하나 이상의 출력으로 매핑하는 다수의 컴퓨터를 사용하는 노드를 구비한다. 상기 프레임워크(60) 내의 노드들은 외부 입력(61)을 제공하는 노드들을 포함하는데, 예를 들면 다른 가상 객체의 행동으로부터 도출되는 입력; 글로벌 프레임워크 파라미터를 제공하는 글로벌 파라미터 노드(62)와 상기 프레임워크의 모든 노드에 의해 액세스가능한(직접, 또는 간접으로) 그것들에 연관된 입력값; 네임으로 식별되고, 특정 노드에 대해 보다 많은 내부의 값에 연관된 행동 노드(63a, 63b, 63c, 63d); 및 외부에서 사용될 수 있는(예를 들면, 다른 가상 객체의 행동 제어기를 사용하여) 파라미터값을 출력하는 외부 출력 노드(64)를 구비하는 출력 노드(64, 65), 또는 적절한 행동을 제공하는 가상 객체의 실질적으로 원하는 애니메이션을 만드는 행동 애니메이션 매커니즘에 의해 사용되는 파라미터값을 제공하는 행동 출력 노드(65)가 그것이다. 프로그래밍의 시각에서, 각 파라미터는 예를 들면 할당된 수치값과 연관된 텍스트 명의, 이름-값 쌍으로 구성된다. 사용된 행동 모델의 정확한 아키텍처는 행동 제어기의 프레임워크(60)의 형태를 결정한다.
도 5에서, 프레임워크(60)는 그 함수가 다수의 입력을 다수의 파라미터에 기초한 다수의 출력으로 매핑하는 다수의 행동 노드(63a, 63b, 63c, 63d)를 구비한다. 도 5는 외부 입력(61)과 글로벌 파라미터 입력(62)이 어떻게 집합적으로 행동 노드(63a, 63b, 63c, 63d)로 입력을 제공하는지를 개략적으로 도시한다. 노드(63a, 63d)는 추가로 노드(63b, 63c)로부터의 입력을 수신한다.
외부 입력(61)은 예를 들면 다른 캐릭터가 우호적인지 또는 복종적인지에 대한 정도의, 환경과 다른 객체에 대한 높은 레벨의 정보를 구비한다.
글로벌 파라미터 입력(62)은 그의 행동에 영향을 주고 각 행동 노드에 의해 정해지는 특정 행동을 변경하는 가상 객체의 높은 레벨의 속성을 구비한다. 예를 들면, 글로벌 파라미터 값은 예를 들면 행복함 또는 우호적임 등의 객체의 무드나 태도와 같은 특성을 구비한다. 도 1B를 다시 간략히 참조하면, 여러 행동 파라미터 세트는 캐릭터가 얼마나 우호적인 또는 부끄러움이 많은지와 같은 여러 글로벌 파라미터를 나타내도록 표시된다.
행동 제어기 프레임워크 내의 행동 노드(63a, 63b, 63c, 63d)로 입력된 각 글로벌 파라미터 이름-값 쌍은 하나 이상의 숫자로된 출력을 생성한다. 이 수치 출력은 그런 다음 외부 출력 노드(64)에 의해 외부 출력으로 가거나 또는 출력 노드(65)에 의해 행동 출력과 연관지어진다.
외부 출력(64)는 예를 들면 상기 가상 객체가 얼마나 우호적인지 또는 복종적인지와 같은 상기 외부 입력과 동등한 정보를 구비한다. 외부 출력으로 제공된 파라미터 이름-값 쌍은 바디 랭귀지 정보를 전달한다. 이 외부 출력이 다른 가상 객체(들)에 의해 수신될 때, 그것은 다른 가상 객체(들)의 행동을 변경시키는 다른 객체(들)의 내부 행동 파라미터가 추론될 수 있도록 한다. 하나의 컨트롤러에 의한 외부 출력은 동일한 네임을 가지는 이름-값 쌍을 매칭함으로써 다른 가상 객체(들)의 행동 제어기(들)에 제공되는 외부 입력과 서로 연관된다.
각 행동 출력 노드(65)는 행동 동작에 대응하는 출력을 생산한다. 프로그래밍의 관점에서, 행동 출력 노드(65)는 행동 노드(63a, 63b, 63c, 63d)의 서브 타입(객체지향의 관점에서)을 구비하고, 파라미터에서 행동으로 매핑하도록 출력에 대한 동일한 맵의 입력을 실행한다. 행동 출력 노드(65)는 출력 노드의 다른 부분에 의해 캐릭터를 움직이게 하는데에 사용될 수 있는 출력을 만든다. 예를 들면, 자세 출력 노드에서, 새로운 자세가 생성되는 기본 자세의 세트와, 각 기본 자세에 대한 파라미터가 있다. 자세의 실질적인 표현은 객체의 골절각(joint angle)(오일러 각으로써)의 각도로 저장된다. 새로운 자세는 가중치로써 자세의 파라미터를 사용하여 기초 자세에 대응하는 각도에 대한 가중된 합을 실시함으로써 생성된다. 이 생성된 각은 직접적으로 내재한 기하학적인 표현으로 대응하여 변환한다.
프레임워크의 행동 노드의 구조 및 기능
도 6을 참조하여, 도 5의 행동 노드의 확대도가 도시되어 있다. 도 6은 복수의 다른 소스로부터의 입력이 행동 노드에 의해 어떻게 사용되는 지를 개략적으로 도시한다. 도 6에 도시된 것과 같이, 행동 노드(63d)는 그의 내부 파라미터 세트에 기초한 하나 이상의 출력으로 상기 행동 노드에 의해 전방으로 매핑되는 3가지 다른 유형의 입력까지 수신할 수 있다. 도 6에서, 행동 노드(63d)로의 입력은, 예를 들면 하나 이상의 글로벌 파라미터 네임 밸류 쌍에 의해 제공되는 입력(62); 및/또는 상기 프레임워크 외부의 소스로부터의 외부 입력(61)으로부터의 노드(63b, 63c)인, 다른 행동 노드로부터의 출력에서 나올 수 있다. 외부 입력(61)은 소정의 상호작용 룰 세트에 따라 상기 객체가 상호작용하는 다른 객체에 의해 생성될 수 있다. 행동 노드로의 외부 입력은 노드에 의해 변경될 수 있다. 예를 들면, 입력이 허용 범위를 벗어나면, 입력은 무시되거나, 최대 또는 최소 값으로 제한될 수 있다. 또는, 외부 입력이 사용자의 문화와 다른 문화에 따라 실행되는 동작을 나타낸다면, 외부 입력은, 먼저 사용자 자신의 문화에서 적합한 행동에 상응하는 외부 입력이 사용자의 가상 객체에 의한 응답을 변경하는 프레임워크에 의해 실제 사용되도록 보장하기 위해 적절하게 변경된다.
도 6은 또한 행동 노드가 그의 기능을 어떻게 반전시키고 리버스(reverse) 맵을 실행할 수 있는지를 보여준다. 리버스 맵은 상기 행동 노드의 출력에 대응하는 레벨에서 프레임워크에 의해 입력이 수신될 때마다 실행된다. 이것은 예를 들면, 행동 노드(65)로의 출력과 동등한 레벨의 프레임워크로 입력을 제공하면서 사용자가 객체를 직접 조작할 때 발생할 수 있다. 이 수신된 "출력"은 프레임워크와 본문 하기에 보다 상세히 기술될 방법으로 추론된 그의 파라미터값을 가진 각 내부 행동 노드를 지나는 리버스 맵에 대한 출발점이 되고, 그리고 상기 수신된 "출력"을 만드는 프레임워크에 대한 글로벌 파라미터 값까지 결정된다.
전방 또는 후방 중 어느 한 방향으로, 프레임워크의 각 행동 노드는 하나 이상의 입력을 상기 노드의 함수에 따라 다수의 파라미터에 기초한 하나 이상의 출력으로 매핑할 수 있다.
포워드 맵
포워드 맵의 경우, 객체에 대한 행동 제어기에 의해 제공된 출력값은 로 주어지고, 각 Tij는 다수의 팩터, 의 프로덕트이고, 여기서 각 팩터는 내부 파라미터 또는 노드의 입력이다. 상술한 바와 같이, 노드로의 입력은 다른 노드로부터의 출력으로 발생하며, 전체 아키텍처 전역에 걸쳐 할당되는 파라미터가 되거나, 또는 다른 아키텍처로부터 온(즉, 다른 객체의 행동 제어기로부터의) 외부 입력이 된다.
예를 들면, 캐릭터는 1.2의 값(캐릭터가 선천적으로 우호적이라고 나타내는)을 가진 글로벌 파라미터 "우호적임"으로 설정될 수 있고, 그것은 또한 1.5의 값(다른 캐릭터가 기쁘다고 지시하는)을 가진 다른 캐릭터로부터의 외부 입력 "기쁨(pleasantness)"을 수신할 수도 있다. 이것들은 노드에서 함께 곱해져 1.8의 값(캐릭터가 다른 캐린터에 친밀한 자세를 받아들이는 것을 나타내는)을 갖는 출력 "친밀함(close)"을 만든다. 그런 다음 이 출력은, 2 개의 기본 자세를 결합하고, 앞으로 몸을 기울이고 다른 캐릭터로 방향을 돌림으로써 상기 캐릭터가 이것을 달성하는지 여부를 판단하는 다른 노드로 전달된다. 이 두 자세에 대한 가중치는 "친밀함"의 출력으로부터 연산되어, 새로운 자세를 만들어 내는 애니메이션 시스템으로 전달된다.
도 7을 참조하면, 본 발명의 제 2 실시예에 따른 행동 제어기에 대한 프레임워크의 개략도가 보다 상세하게 도시된다. 도 7에서, 행동 노드는 즉시성 평형(immediacy equilibrium), 지배 팩터(dominance factor), 즉시성 차이(immediacy difference), 민감성(responsiveness), 지배 차이(dominance difference), 동맹(affiliation), 지위(status), 기쁨(pleasantness), 근접성, 공간 파일링(space filing), 및 이완(relaxation)을 포함한다. 행동 출력 노드(65)는 표정, 높은 레벨 자세 노드, 시선, 제스처, 및 자세를 포함한다. 다른 실시예는 음성의 톤, 속도, 액센트 등과 같은 보다 많은 행동 출력 노드를 포함한다.
도 7에 개략적으로 도시된 프레임워크의 복잡성이 도 5에 도시된 극도로 간략화된 프레임워크보다 더 높고, 한편으로는, 보다 복잡한 프레임워크가 특정한 애플리케이션 및 본 발명의 실시예에 적합하도록 구축된다. 객체의 행동 프레임워크에 따라 생성된 객체의 행동을 사용자가 변경할 수 있도록 하기 위해, 사용자가 제공하기를 요구받는 입력 레벨을 매우 단순화시키면서 하나 이상의 행동 파라미터의 세트를 구비한 행동 형용사가 구축된다.
각 객체(5, 6)에 대한 행동 프로파일이 다음의 형용사; 관심의 표현, 우호적임, 남자다움, 다른 사람을 좋아함, 슬픔, 자만, 수줍음, 및 타인에 대한 우월성을 포함하는 행동 형용사(behavioural adjective)의 예들이 도 1B에 도시되어 있다. 이들 행동 형용사 각각은 행동 파라미터 세트를 구비하고, 일반적으로 단순한 텍스트 명 또는 구에 의해 행동 설계 사용자 인터페이스에 표현된다. 일반적으로 "형용사" 명은 사용자가 인식하기 수월하게 하기 위해 직관적으로 행동 "형용사"의 측면이 변경되는 것을 기술한다. 행동 파라미터 세트의 각 파라미터는 초기 또는 디폴트 값에 할당되고, 이것은 함수에 의해 동작되고, 외부에서 입력된 값과 연결되어 동작될 수 있다. 예를 들면, 상기 함수는 1차 선형 대수 함수(a simple linear algebraic function)이거나, 또는 단순히 소정의 양에 의해 행동 파라미터 세트에 대해 사용자가 할당한 값을 증감시키는 것이다(scale). 또는, 상기 함수는 입력된 값으로만 복귀하는 "항등" 함수(identity function)이다.
도 7에 개략적으로 도시된 프레임워크는 비언어적인(non-verbal), 개인 내면의(intra-personal) 행동의 여러 측면들을 실시하는 본 발명의 실시예를 나타낸다. 상기 행동 제어기는 가상 객체들, 예를 들면 온라인 대화 또는 컴퓨터 게임/대화방의 시나리오에서의 캐릭터들 사이의 상호작용을 확장할 수 있고, 그것들을 보다 신회할 수 있도록 보이게 만들수 있다. 특히, 프레임워크는 반자율적인 아바타(즉, 사용자가 아바타의 각 행동을 특정해서 지시하지않는)에 유용하다.
아바타를 많이 사용하는 것은 개인 내면의 행동을 포함하기 때문에, 적절한 비언어적인 행동이 그들의 사용가치를 매우 증가시킨다. 도 7에서, 행동 제어기는 다수의 개인 내면의 태도를 부호화하고, 잠재적으로 다수의 출력을 제어하고, 이것은 자세와 시선 행동과 같은 애니메이션을 만든다. 상기 제어 시스템은 Argyle(Michael Argyle(1988) Bodily Communication 2nd edition, Routledge)과 Mehrabian(Albert Mehrabian(1972) Nonverbal Communication, Aldine-Atherton)에 의해 제안된 이론에 기초한 것이다. Argyle은 비언어적인 행동에 가장 큰 영향을 주는 개인 내면의 관계의 2가지 측면인, 친교(intimacy)과 지배-복종(dominance-submission)을 제안하였다. 이것들은 하기에 기술되는 바와 같이 항상적 동기유발(homeostatic motivation)로 모델링될 수 있다. Mehrabian에 관련되어서는 미소짓기, 물리적인 접근과 접촉, 및 세력(potency)/지위(status)와 같은 것으로 표시되고, 이완 또는 긴장 및 민감성으로 나타내며, 일반적인 물리적 활성화(activation)으로 표시되는 비언어적인 행동 동맹(non-verbal activity affiliation)(애호)의 3 가지 디멘션(dimemsion)이 제안되었다. 상기 민감성의 디멘션은 선택적이고 도 7에 도시된 행동 제어기에서 구현되지 않으며, 그 외의 것들은 이들의 양에 기초하지 않는다.
도 7에서, Argyle의 즉시성(immediacy)과 지배의 디멘션이 Mehrabian의 동맹과 지위의 디멘션과 매우 관련있기 때문에, 그것들은 아키텍처의 면에서 연관된다. Mehrabian의 디멘션은 즉시성과 지배 에이전트에 의해 직접 결정되는 행동 노드로 모델링된다, 즉시성과 지배는 항시적 동기유발로 모델링된다.
변수에 대한 원하는 값은 가상 객체의 글로벌 파라미터와 다른 가상 객체로부터의 외부 입력에 기초한 즉시성 평형과 지배 팩터 노드에 의해 연산된다. 원하는 친교를 증가시키는 팩터는 상기 캐릭터가 우호적인 정도, 다른 캐릭터가 그를 좋아하는 정도(글로벌 파라미터), 및 다른 캐릭터가 호감을 가지는 정도(외부 입력)이다. 친교를 감소시키는 팩터는 상기 캐릭터가 수줍음이 많은 정도, 다른 캐릭터가 지배적인 정도이다. 이 모든 팩터들은 캐릭터들의 프로파일에 기초하여 캐릭터 마다 다양한 가중치를 가진다. 원하는 지배 팩터는 다수의 다른 팩터에 의존하는 두 캐릭터 사이의 지위에서의 원하는 차이가 된다. 즉시성 차이는 원하는 즉시성과 실질적인 즉시성 사이의 차이가 되며, 이것은 다른 캐릭터와 얼마나 친밀한지(외부 입력)에 의해 결정된다. 실질적인 즉시성이 Ia 이고 원하는 즉시성이 Id 라면, 즉시성 차이는,
가 된다.
지배에 대한 방정식은 팩터들이 다른 코스에 있음에도 불구하고 동일하다. 행동 민감성의 제 3 디멘션은 본 발명의 다른 실시예에서 구현된다.
본 발명의 본 실시예에서, 캐릭터의 행동은 높은 레벨의 행동 유형인 기쁨, 근접성, 공간 파일링, 이완으로 정의된다. 이것들은 계층의 동기유발 레벨과 동작 생성 레벨 사이의 매개로서 동작한다. 기쁨은 웃는 얼굴과 같은 일반적인 호감을 주는 태도이고, 반면에 그 반대는 얼굴을 찌푸리거나 공격적인 제스처이다. 그것은 동맹(호 또는 불호)의 표현이다. 기쁨은 자세에 있어서 많은 표현을 갖지는 않지만, 예시에서는 다른 캐릭터와 함께 있을 때 캐릭터가 그의 머리를 그쪽으로 기울이는 "헤드 콕(head cock)"이라는 것인데, 이것은 일반적으로 우호적인 자세로 해석된다. 근접성은 물리적인 거리 뿐 아니라, 몸의 방향 또는 상호간에 정도와 같은 것을 포함하는 사회적인 거리(친밀도)이다. 낮은 사회적 거리는 높은 동맹의 결과이다. 그것은 앞으로 기울이거나 다른 캐릭터를 접촉하는 것과 같은 다수의 방법의 자세로 표현된다. 높은 사회적 거리는 그 반대이고, 멀리 떨어지도록 기울이거나 또는 전체 몸을 멀리 돌리는 것으로 표현될 수 있다. 공간 파일링은 예를 들면, 자세 또는 다소의 몸을 벌리는 제스처로 스스로를 크게하거나 작게하는 것이다. 예로 든 자세들은 직립하여 있거나, 서 있거나, 또는 다리를 벌리고 앉아있는 것을 포함한다. 높은 공간 파일링은 지배와 관련되며, 낮은 공간 파일링는 복종에 연관된다. 이완은 주로 자세에 연관될 뿐만 아니라 다른 타입의 행동에도 연관된 낮은 신체적인 긴장 상태이다. 높은 이완은 우월적인 지위의 표시이고, 자세의 비대칭성으로 표현될 수 있다.
본 발명의 실시예에서, 높은 레벨의 행동 팩터를 실질적인 자세로 변환하는 다수의 높은 레벨의 자세 노드가 있다. 각 자세마다 하나의 높은 레벨의 자세 노드가 있다. 각각의 것들은 하나 이상의 높은 레벨의 행동 타입에 의존한다. 상기 높은 레벨의 행동 타입의 값들은 자세에 대한 값을 만들기 위해 가중치를 곱한다. 이것은 캐릭터가 자세를 실시하는 정도를 결정한다. 상기 가중치는 캐릭터 프로파일에 의존하여 다른 캐릭터들이 동일한 높은 레벨의 행동에 대해 다른 자세들을 만들도록 한다. 상기 자세의 값들은 그런 다음 자세 노드 출력 노드로 간다. 이것은 상기 자세의 실질적인 표현을 저장한다. 이것은 골절각으로 표현된다. 각 자세에 대응하는 골절각은 가중치로서 자세의 값을 사용하여 합산되며, 그 결과는 캐릭터의 실제 자세가 되고, 이것은 바로 내재한 기하학적인 표현이 된다.
도 8은 가상 객체의 행동을 생성하는 특정한 스테이지를 도시한다. 포함된 스테이지는, 첫째, 하나 이상의 행동 형용사의 설계; 둘째, 복수의 행동 형용사를 구비한 행동 프로파일의 설계; 셋째, 사용자가 프로파일의 행동 형용사에 대해 값을 할당; 마지막으로, 행동 제어기에 의한 행동의 연속적인 생성이다. 상기 형용사와 프로파일 설계 스테이지는 일반적으로 오프라인에서 발생하고, 반면에 사용자 입력과 행동 제어기에 의한 행동의 생성은 사용자가 가상 환경에 온라인으로 있는 동안 실시간으로 동적으로 발생한다.
본문의 문맥에서, 형용사는 하나 이상의 행동 파라미터의 세트를 구비한다. 상기 행동 제어기의 프레임워크에서 어느 행동 파라미터가 행동 특성에 영향을 주는지 선택하는 것은 상대적으로 숙련을 요하는 일이다. 그러나 형용사를 제공함으로써, 행동 설계 인터페이스의 사용자에 요구되는 데이터와 이해도의 양은 감소된다. 행동 파라미터를 할당하는 형용사 설계(70)과 디폴트값(71)의 선택은 도 7을 참조하면, 이미 앞에서 기술되어 있다.
프로파일 설계
형용사 설계를 셋업하는데 필요한 지식의 레벨과는 대조적으로, 어떤 형용사들이 객체(72)의 행동 프로파일에 포함되어야 하는가의 선택은 하나의 형용사를 구성하기 위해 필요한 지식의 레벨과 비교하여 덜 복잡한 작업이다. 행동 프로파일의 설계 단계는 사용자가 어떤 행동 특성이 행동 설계 인터페이스를 사용하여 제어하고자 하는 객체(들)의 행동과 관련되는가를 선택하게 할 수 있다.
그러므로 행동 프로파일은 하나 이상의 형용사로 이루어진다. 하나의 형용사는 단일 글로벌 또는 고유하게 할당된 행동 노드 파라미터 값, 또는 복수의 하나 이상의 각 형태의 복수의 파라미터 이름-값(name-value) 형태들을 포함할 수 있다. 이 방식에서 사용자는 행동 제어기에 대한 내부 및/또는 글로벌 파라미터들을 설정할 수 있다. 본 발명의 일 실시예에서, 행동 프로파일은 두개의 섹션을 포함하고, 양자는 파라미터 이름-값 쌍을 사용하여 설명된다. 제 1 섹션은 객체의 전체적인 개성(개성이라는 용어는 여기서 객체의 일반적인 성질을 나타내는데 사용된다)을 설명한다. 제 2 섹션은 일 세트의 태도들의 이름 값을 포함한다. 본 발명의 일 실시예에서, "개성" 섹션에서의 각 형용사는 글로벌 파라미터(들)을 포함하고, 반면 "태도" 섹션에서의 각 형용사는 고유의 행동 노드 파라미터(들)을 포함한다.
태도들은 어떤 다른 가상 객체들이 가상 객체와 상호작용되고 있는가에 기초하여 변화하는 가상 객체의 행동의 측면들을 포함한다. 예컨대, 가상 객체는 다른 것보다는 하나의 캐릭터와 더욱 우호적일 수 있다. 태도는 캐릭터(또는 일 세트의 캐릭터들)에 대한 이름 및 그러한 캐릭터와 상호작용하는 경우에 단지 로딩되는 일 세트의 파라미터 값들로 이루어진다. 이러한 상황에서, 태도는 적어도 하나의 행동 파라미터 이름-값 쌍으로 이루어진 일 세트를 포함한다는 점에서 "형용사"의 형태이다.
행동 프로파일의 태도 파라미터 섹션은 상호작용에 존재하는 각 명명된 객체에 대한 적어도 하나의 파라미터 값의 일 세트를 포함한다. 이들 값들은 적절한 행동을 생성하기 위해서 행동 프레임워크의 파라미터들로 로딩된다. 객체들의 분류에 대한 파라미터 값들의 일 세트, 또는 개인 객체 예컨대, 분류 "낯선 사람"의 객체에 대한 파라미터 값은 또한 객체가 아바타가 이전에 만나지 않은 다른 아바타들을 좋아하지 않는다는 사실을 반영하기 위해 할당될 수 있다.
파라미터는 임의의 적절한 방식으로 그 값을 설정하게 할 수 있다. 두 개의 방식이 아주 적절한 것으로 간주된다. 첫째, 하나의 값은 노드 네임, 파라미터 네임, 및 파라미터를 설정하기 위한 값을 사용하여 프레임워크 파라미터를 특정함으로써 직접적으로 특정될 수 있다. 둘째, 복수의 프레임워크 파라미터들은 "형용사"로 불리고 본문에서 이미 설명된 데이터 구조에 연관될 수 있고, 본문에서 이미 정의된 용어는 행동 프레임워크의 하나 이상의 행동 파라미터들을 포함하는 일 세트를 참조한다. 사용자가 형용사에 대해 선택할 수 있는 가능한 값들의 범위는 프로파일 설계 단계(73)(또는 선택적으로 그것은 형용사 설계 단계의 일부를 형성할 수 있음)에 포함될 수 있다.
최종적으로, 일단 "형용사"가 사용자에 의해 값을 할당했다면(단계(74)), 세트 내의 각 파라미터의 실제 값들은 단계(75)에서 결정되고, 형용사 설계 단계(단계(73)) 및 사용자에 의해 형용사로 값이 할당되는(단계(74)) 동안 정의된 디폴트 값들의 함수에 의해 주어진다.
예컨대, 사용자는 "행복한(happy)"으로 표시되는 행동 파라미터 세트 "형용사"에 '10'이라는 값을 할당할 수 있다. 행동 프로파일이 행동 제어기로 판독되는 경우, "행복한"에 대해 사용자에 의해 할당된 값 '10'이 파라미터 세트 "행복한"을 만들기 위해 형용사 설계(단계(70,71))에 의해 판정된 모든 파라미터(들)에 대한 실제 파라미터 값으로 번역되고, 실제 값은 형용사와 연관되는 입력 값에 작용하는 함수에 의해 판정된다.
어떤 파라미터들이 행동 파라미터 세트를 집합적으로 포함하는가는 프로파일 번역 파일에 의해 결정된다. 프로파일 번역 파일은 각 행동 파라미터 세트를 정의하고 각 "형용사" 이름(또는 행동 파라미터 세트에 대한 약간 등가의 이름 또는 구절즉, 파라미터 세트가 수정하는 행동 특성과 직관적으로 연관된 이름)과 연관된다. 프로파일 번역 파일은 또한 행동 파라미터 세트에 속할 때 적어도 하나의 파라미터를 정의한다. 요약해서, 행동 모델에 의해 사용된 각 파라미터 내의 최종 값은 프로파일에 할당된 값 및/또는 행동 파라미터 세트에 할당된 값의 함수이다.
사용자가 프로파일을 수정할 수 있는 몇 가지 방법이 존재한다. 예컨대, 코드의 텍스트 편집, 슬라이더를 사용하여 또는 이후에 더욱 상세히 설명되는 가상 객체의 직접적인 조작에 의한 값의 할당.
이제부터 도 8로 돌아가서, 객체에 대한 행동 형용사로 사용자에 의해 할당된 값이 객체의 행동 제어기로의 입력으로서 제공된다. 그 다음 행동 제어기는 입력을 취하고 그것으로부터 어떤 파라미터들이 적절한 행동 출력을 생성하기 위해 어떤 값들로 할당되어야 하는가를 추론한다(단계(75,76,77,78)). 수신된 입력이 객체에 의한 행동을 생성하기 위해 사용되는 매커니즘은 도 9A에서 더욱 상세히 개략적으로 도시된다.
도 9A는 프레임워크가 동작하는 두가지 방식을 나타낸다. 첫째, 프레임워크는 외부 입력 또는 글로벌 파라미터 또는 형용사와 같은 높은 레벨의 입력이 설정되는 경우 발생하는 포워드 매핑만을 사용하여 동작할 수 있다. 이 경우에, 프레임워크는 노드에서의 입력들로부터 출력들을 바로 생성하는 쪽으로 동작되고(도 6을 참조), 출력 노드들의 값들이 결정될 때까지 포워드 매핑을 행한다.
둘째, 프레임워크는 입력들보다는 출력들이 변경되는 경우 리버스 매핑을 실행하기 위해 동작할 수 있다(다시 한번, 도 6 참조). 예컨대, 객체의 직접 조작이 발생하는 경우이다. 또한 복수의 입력들이 양자의 매핑을 실행하기 위해 수신되는 곳에서 가능하지만, 리버스 매핑은 직접 매핑에 의한 출력에 영향을 미칠 수 있으며, 그래서 본 발명의 일부 실시예들에서 이는 먼저 실행된다.
이제부터 도 9A를 참조하면, 행동 제어기는 입력을 수신한다(단계(81)). 상기 입력이 입력 노드, 예컨대 외부의 입력 파라미터 또는 글로벌 파라미터에 상응하는 프레임워크의 높은 레벨의 노드에서 수신되면(단계(81)), 입력은 바람직한 행동을 생성하기 위해(단계(85)) 애니메이션 시스템에 값들을 제공하는데 사용되는 특정 출력을 생성하도록(단계(83)) 연결 노드의 행동 제어기의 프레임워크 내부에서 포워드 매핑된다(단계(83)). 바람직한 행동은 입력에서 나타나는 행동과 등가의 행동을 포함한다. 그러나, 등가의 행동은 더욱 복잡할 수 있고 및/또는 더 많은 동작을 포함할 수 있고, 그들 중 일부는 동시에 및/또는 순서대로 실행될 수 있다.
리버스 맵
대신에, 입력이 객체의 직접 조작과 같이 소스로부터 수신되면, 수신된 입력은 프레임워크의 출력 노드들의 하나 이상의 출력이 생성할 수 있는 행동과 등가이다(애니메이션 시스템과 결합하여). 이 경우에, 입력은 하나 이상의 출력 노드들에서 수신되고(단계(81)), 어떤 입력 값들이 이러한 출력을 생성되게 할 수 있는가를 판정하기 위해 행동 프레임워크를 통해 먼저 리버스 매핑된다(단계(82b)).
이러한 행동을 생성할 수 있는 글로벌 파라미터가 추론될 때까지, 이러한 리버스 매핑은 그들의 파라미터 값들이 추론되도록 프레임워크 내의 모든 관련 노드들을 필요로 한다(단계(84, 85)). 이들 유도된 파라미터 값들은 추론된 글로벌 파라미터 값들로부터 출발하는 포워드 매핑 프로세스에 대해 유지되고 다른 행동을 생성하는데 사용된다. 결과는 비록 단지 하나의 동작이 직접 입력을 제공하는데 사용되지만, 제어기에 의해 생성된 행동이 본래 직접 조작된 입력보다 더욱 풍부하고 복잡할 수 있고, 하나 이상의 행동 동작들, 또는 심지어 행동 동작들의 시퀀스도 포함할 수 있다는 것이다. 이는 이후에 더욱 상세히 다시 설명된다.
포워드 맵
아마도 예컨대 다른 가상 객체를 향한 아바타의 태도를 나타내는 어떤 노드 특정 파라미터 값들 뿐만 아니라, 행동 설계 인터페이스가 하나 이상의 글로벌 파라미터들, 예컨대 아바타와 같은 가상 객체의 어떤 기분을 나타내는 글로벌 파라미터들에 값들을 할당하는 본 발명의 일 실시예를 예컨대 고려하자.
이제부터 도 7 및 도 9A를 참조하면, 입력(62)이 행동 프레임워크의 적절한 노드들에 의해 수신되고(단계(82a)), 그다음 내부 행동 노드들(63)을 통해 행동 프레임워크에 의해 매핑된다(단계(83))(예컨대, 도 7로 돌아가 참조하면, 파라미터 값들은 먼저 즉시성 평형 및 지배 팩터 노드들을 통해, 그 다음 출력 노드들(65)에 도달할 때까지 동맹(affiliation) 및 지위 노드들, 및 기쁨, 근접함(proximity), 공간 파일링 및 이완 노드들로 포워드 매핑하는 즉시성 차이, 민감성, 및 지배 차이(dominance difference) 노드들로 매핑될 수 있다). 도 7에 도시된 본 발명의 실시예에서, 출력 노드들은 안면 표정, 높은 레벨의 자세 노드(그리고 이는 자세 노드들로 추가로 매핑됨), 시선, 및 제스처 노드들을 포함하고, 이들 각각은 아바타가 움직이고 적절한 행동을 생성하게 하기에 적합한 애니메이션 시스템에 제공될 수 있는 출력을 생성한다. 입력이 프레임워크를 통해 포워드 매핑되는 경우, 글로벌 파라미터는 2차 행동 변화가 유도되게 할 수 있는 프레임워크 내의 다른 노드들로의 입력으로서 제공된다. 따라서 이들 글로벌 파라미터 값들은 더욱 복잡한 행동이 아바타에 의해 실행되게 할 수 있다.
직접 조작
도 7에 도시된 본 발명의 실시예에서, 출력 노드들은 안면 표정, 높은 레벨의 자세 노드들(그리고 이는 자세 노드들로 추가로 매핑됨), 시선, 및 제스처 노드들을 포함하고, 이들 각각은 아바타가 움직이고 적절한 행동을 생성하게 하기에 적합한 애니메이션 시스템에 제공될 수 있는 출력을 생성한다. 이제부터 도 9를 또한 참조하면, 사용자가 예컨대 다른 아바타의 팔을 잡기 위해 아바타를 직접 조작하는(예컨대, 아바타의 팔 위에서 클릭함으로써(단계 90)) 한 예를 고려하자(단계 91). 이는 프레임워크의 자세 노드에서 특정 입력을 생성한다(단계 92). 아바타에 의한 이러한 행동을 생성할 수 있는 글로벌 파라미터 값들은 다른 아바타를 향하는 우호적임이 의도되는 경우에만 그렇게 행동하도록 셋업될 수 있다. 행동 제어기는 자세 노드에 의해 생성된 값들로부터, 글로벌 행동 파라미터 "우호적임"에 대한 적절한 입력 값이 추론될 수 있는(단계 93 참조) 프레임워크의 글로벌 파라미터 입력 노드들에 도달할 때까지 프레임워크의 관련 노드들을 거꾸로 통해 리버스 매핑을 실행한다(단계 93). 그 다음 이들 글로벌 파라미터 값들은 프레임워크를 통해 포워드 맵을 시작하는데 사용된다.
리버스 맵은 또한 값들을 프레임워크 내의 다른 행동 파라미터 값들, 예컨대 기쁨 및 이완(도 7 참조)에 할당할 것이다. 추론된 글로벌 파라미터 값들로부터 포워드 맵을 실행하면(단계 94), 할당된 값들은 다른 행동을 생성하는(단계 96) 더 많은 출력을 생성하는데 사용된다(단계 95).
예컨대, 기쁨 및 이완에 할당된 값들이 아바타의 웃음으로 귀결되는 안면 표정에 대한 출력 노드에서 추가 행동을 생성할 수 있다. 다른 아바타의 얼굴을 바라보는 시선을 변경하는 것과 같은 다른 행동이 또한 생성될 수 있고, 악수를 하는 것과 같은 제스처는 팔을 잡는 것에 이어서 생성될 수 있다. 따라서 비록 사용자가 다른 아바타의 팔을 잡기 위해 아바타의 자세를 단지 직접 조작한다 할지라도, 행동 제어기는 아바타가 다른 아바타를 향해 우호적이고 아바타에게 인사기를 원하며, 따라서 적절한 행동을 생성하는 것을 추론하기 위해 사용자가 아바타에게 제공하는 바디 랭귀지를 번역한다.
요약하면, 입력으로서 수신된 정보로부터 더욱 많은 정보를 추론함으로써, 리버스 맵을 사용하여 생성된 행동은 차례차례로, 또는 랜덤하게 실행될 수 있는 하나 이상의 행동 동작들을 포함할 수 있고, 시선, 자세, 동작 등과 같은 하나 이상의 행동 동작들도 동시에 실행될 수 있다. 이는 객체에 의해 나타난 행동의 복잡성을 크게 증가시키나, 반면 사용자에게 매우 단순한 제어 매커니즘을 또한 제공한다. 추론 매커니즘은 이후에 더욱 상세히 설명된다.
직접 조작은 가상 객체의 바디 부분을 클릭하여 새로운 위치로 바디 부분을 드래그하기 위해 마우스를 사용하여 가상 객체를 직접 조작하여 사용자에 의해 실행될 수 있다. 예컨대, 커서 및 키보드, 조이스틱, 트랙볼(track-ball), 포인터 등과 같은 다른 컴퓨터 네비게이션 툴 또는 툴의 조합이 가상 객체를 조작하기 위해 기술분야에서 당업자에게 명백한 임의의 적절한 방식으로 사용될 수 있다.
실제 객체가 행동 제어기에 의해 제어되는 본 발명의 실시예들에서, 사용자는 객체의 자세를 수동으로 직접 변경하기를 원할 수 있다. 동작하는 동안 다른 객체 등에게 근접하는 것뿐만 아니라 배치 및/또는 동작의 속도를 포함할 수 있는 이러한 동작의 특성은 어떤 입력이 행동 제어기에 제공되는가를 결정할 것이다.
이 방식에서, 사용자는 가상 객체에 의한 특정 바람직한 동작을 나타낼 수 있고, 그다음 행동 프레임워크는 사용자가 표시하는 바람직한 행동과 일치하는 더 많은 행동 동작들을 추정할 수 있다. 새로운 출력 파라미터 값들은 사용자에 의해 표시된 동작뿐만 아니라 다른 환경에 적절한 유사한 동작을 생성하는데 사용될 수 있다. 더욱이, 파라미터 세팅은 행동 프로파일에 저장될 수 있거나 또는 행동 프로파일을 만들기 위해 사용자에 의해 사용될 수 있는 형용사로서 저장될 수 있다. 더욱 복잡한 행동의 생성을 유발하기 위해 객체의 직접 조작은 아이가 복잡한 행동을 실행하기 위해 장난감을 쉽게 프로그래밍할 수 있는 것과 같이, 객체가 장난감인 경우에 특히 유용하다.
가상 객체의 행동 제어기에 대한 행동 프레임워크가 내부 및 글로벌 파라미터들을 추론하는 방식이 설명되었고 이제부터 더욱 상세히 설명된다.
행동 추론 스킴
행동 제어기의 동작을 정의하는 행동 프레임워크의 구조는 예컨대 사용자가 가상 객체를 직접 조작하는 경우 내부 파라미터 값들이 리버스 맵을 사용하는 프레임워크로의 입력으로부터 추론되게 할 수 있다. 도 9A를 또다시 참조하여, 행동 제어기가 프레임워크에 대해 외부 소스로부터 도출된 입력을 수신하는 경우를 고려하자. 입력이 출력과 직접 연관되는 경우, 예컨대 직접 조작에 의해 도출된다면, 리버스 맵은 포워드 맵에 대한 글로벌 파라미터 값들을 뿌리기 위해 실행되는 것을 필요로 한다. 이 리버스 맵은 이하에서 나타나는 행동 추론 스킴을 사용하여 실행된다.
입력의 외부 소스는 객체의 환경에 의해 결정될 수 있다. 예컨대, 입력은 다른 객체가 객체 쪽으로 던져지는 것에 관한 정보를 포함할 수 있다. 선택적으로, 이는 다른 객체의 행동 제어기로부터 출력을 포함할 수 있다. 선택적으로, 이는 사용자로부터의 입력, 예컨대 사용자에 부착된 동작 센서에 의해 제공된 데이터를 포함할 수 있다. 선택적으로, 이는 사용자로부터 직접 입력된 값들, 또는 행동 설계 사용자 인터페이스를 통한 입력을 포함할 수 있다. 입력은 이 정보가 적절한 응답을 추론하는데 사용될 수 있는 경우에 다른 객체의 바디 랭귀지의 표시를 제공할 수 있다.
일단 입력이 행동 제어기에 의해 수신되면(단계 80), 수신된 입력 값들은 객체에 대한 출력 값들과 연관된다(단계 81). 이는 각기 다른 타입의 행동 출력 노드에 대한 특별한 목적의 맵을 사용하여 실행된다. 일단 이러한 초기 매핑이 출력 노드에서 실행되면, 리버스 맵은 노드들의 내부 파라미터들 및 글로벌 파라미터들을 추론하기 위해서 전체 프레임워크에 걸쳐 실행된다. 이는 행동 프레임워크의 각 노드의 각 영향받은 출력에 대해 설정된 수학식을 사용하여 얻어진다.
여기서 각 팩터는 내부 파라미터 또는 노드의 입력 중의 하나이다.
이 방식으로, 출력의 각 항인 Tij는 그것을 출력의 다른 항 Tij와 구별하는 해를 구할 수 있는 팩터를 갖는다. 항 Tij는 내부 파라미터 값 또는 글로벌 파라미터 값과 같은 내부 값들일 수 있는 해를 구할 수 있는 팩터를 포함한다. 이 환경에서, 해를 구할 수 있는 팩터는 새로운 값으로 단순하게 재할당된다. 해를 구할 수 있는 팩터가 다른 노드로부터의 입력이라면, 프로세스는 소스 노드로부터 입력을 나타내기 위해 새로운 세트의 식을 형성함으로써 반복된다. 따라서 출력에서의 변경은 해를 구할 수 있는 팩터가 내부 또는 글로벌 파라미터에 의해 표시될 수 있을 때까지 노드들의 계층 위로 전파된다.
각 항 Tij는 두 개의 해를 구할 수 있는 파라미터들을 갖는다: 첫째는 실시간 제어를 위해 내부 상태를 추론하는 경우에 해를 구하는데 사용되고, 다른 하나는 프로파일 편집을 위해 사용된다.
해를 구할 수 있는 팩터의 관점에서 각 노드의 출력은 다음과 같다.
여기서 fij는 해를 구할 수 없는 팩터들의 합계이고 Sij는 해를 구할 수 있는 팩터이다. 이 선형 수학식은 적절한 선형 대수 방법을 사용하여 해가 구해진다. 예컨대, 사용자가 다수의 편집 함수들을 실행한 경우, 선형 수학식들의 시퀀스는 행렬 형태로 존재한다:
여기서 o는 에디터의 각각의 출력에 대한 벡터이고, F는 해를 구할 수 없는 팩터들의 행렬(예컨대 외부 입력들 또는 시변 파라미터들의 다른 세팅들과 같은 상황에 의존할 수 있는)이며, s는 해를 구할 수 있는 팩터들의 벡터이다)이다. F가 제곱이 아닌 모든 경우에 하나의 정확한 해보다 많이 존재할 것이기 때문에, 의사-인버스(pseudo-inverse) 방법이 최소 제곱(least-squares) 해를 찾는데 사용될 수 있다.:
이 방법은 단일 노드의 파라미터들이 추론되게 할 수 있다. 출력에 직접적이지 않게 연결되는 계층 더욱 위로 노드들의 파라미터들을 추론하기 위해서, 일부의 해를 구할 수 있는 팩터들은 내부 파라미터들보다는 노드로의 입력으로써 제공된다. 입력들은 또한 외부 입력들, 글로벌 파라미터들 또는 다른 노드들의 출력들일 수 있다. 외부 입력들은 해를 구할 수 있는 파라미터들이 될 수 없다. 글로벌 파라미터들은 해를 구하는 프로세스 동안 그들 값들을 직접 세팅되게 한다.
입력이 다른 노드의 출력이라면, 해는 다른 노드에 대해 해를 구하는 것이 필요하고, 이는 입력을 그 노드 및 그 노드로의 입력을 제공하는 임의의 노드들을 포함하는 수학식들의 시스템을 셋업함으로써 이루어질 수 있다. 이 경우에, 추가 노드들은 출력을 다른 노드들에 제공하고, 그래서 해가 구해지는 수학식은 다음의 형태로 최적으로 표현된다.
각 행동 노드는 주어진 출력 노드의 출력으로부터 판정된다.
실시간 제어
행동 계층에서의 최종층이 사용자가 객체에 복잡한 행동을 실시간으로 제공할 수 있게 하는 본 발명의 실시예들에서, 사용자는 입력을 다양한 소스로부터 행동 제어기로 입력을 제공하거나 또는 임의의 개별 객체에 대한 하나의 행동 설계 인터페이스보다 더 많이 사용하길 원할 수 있다. 예컨대, 또는 입력을 제공하는 다른 장치들은 예컨대 사용자의 머리 및/또는 몸체상의 동작-트래커(motion-trackers)를 사용하는 것을 포함할 수 있다. 두 개 이상의 제어 장치들은 동작 부하를 줄이기 위해 사용자에 의해 동시에 동작될 수 있다. 사용된 제어 장치는 사용자가 가상 객체의 몸체의 모든 부분들을 지속적으로 제어하는 것을 필요로 하기 보다는 때때로 한정된 개수의 부분들을 조작하는 것만을 필요로 하는 것을 확실히 하기 위해 객체 모델에서의 특정 파라미터들을 세팅하기 위해 형용사들의 사용을 이용한다.
객체의 행동이 직접 조작 또는 센서 트래킹 중 어느 것에 의해 도출되던지, 사용자는 적절한 인터페이스 매커니즘을 사용하여 행동 제어기로 전달될 수 있는 정보를 생성한다. 정보가 특정 행동 출력 노드들의 파라미터 값들과 등가인 파라미터 값들을 나타내는 경우, 행동 제어기는 값들을 가상 객체에 의한 특별한 행동을 생성하는데 필요한 관련 파라미터들 내부로 할당하기 위해 프레임워크를 통해 리버스 맵을 실행한다. 이는 객체가 이들 파라미터들과 연관된 다른 행동들을 생성할 수 있게 한다. 예컨대, 사용자는 도 2C에 도시된 것과 같이 다른 캐릭터의 팔을 잡도록 객체의 팔을 움직일 수 있다. 프레임워크는 이 제스처가 높은 값의 관심의 표현(flirtatiousness)에 상응한다는 것을 추론할 수 있다. 그 다음 이는 예컨대 앞으로 굽히거나 웃는 것과 같은 다른 관심을 표현하는 행동으로 귀결될 수 있다.
파라미터 값들은 트래커들이 사용되는 경우에 사용자의 행동에 상응할 수 있는 "우호"와 같은 넓은 행동 패턴을 나타낼 수 있다. 추론 매커니즘은 어떤 형태의 행동이 표현되고 있는가를 판정하기 위해 가상 객체의 조작에 관한 대수 수학식을 단순하게 해결하기 때문에, 어떤 가능성 있는 매커니즘도 본 발명의 본 실시예에서의 사용자의 행동을 추론하는데 사용되지 않는다. 일단 "우호적인" 행동으로서 인식되면, 프레임워크는 더 넓은 범위의 우호적인 행동을 생성한다. 이 더 넓은 범위의 행동은 사용자가 실시간으로 직접 제어하기 위해 기대될 수 있는 것을 넘어서 확장되고, 예컨대 사용자가 악수를 하기 위해 아바타를 조작함으로써 아바타가 우호적임을 나타내는 것을 단지 표시한 사실에도 불구하고, 가상 객체는 프레임워크에 의해 웃는 것으로 유도될 수 있다. 어떤 입력도 제공되지 않는다면, 프레임워크는 가상 객체가 계속해서 독립적으로 행동하게 할 수 있다. 이는 행동 설계 사용자 인터페이스에 낯선 사용자가 가상 환경에 더욱 익숙해지고 시작으로부터 바로 가상 객체를 조작하기 위한 시도를 할 필요가 없이 그 환경에 관한 것을 알 수 있게 한다. 이는 심지어 매우 어린 아이들에게 적합한 아주 사용하기 쉬운 인터페이스를 제공한다.
첨부된 도면에 나타난 것과 같은 행동 제어 시스템은 비언어적인 행동을 지원하는 본 발명의 일 실시예에 기초한다. 그러나 본 발명의 일반적인 상황에서, 행동은 특정 파라미터들에 의해 각기 수정된 신체적인 동작들 및/또는 음성 동작들에 의해 표시된다. 예컨대, 바디 랭귀지와 같은 신체적인 동작들은 객체의 현재 내적 상태, 예컨대 객체가 화가 났는지의 여부에 의해 수정될 수 있다. 음성 동작들은 예컨대 피치와 같은 파라미터들에 의해 수정될 수 있다. 이러한 상황에서, 용어 "행동"은 특정 자극들에 대한 제어된 또는 제어되지 않은(반사적인) 응답으로서 생성된 하나 이상의 동작들로서 정의될 수 있다. 행동은 더욱 순간적이고, 감정적인 모습(예컨대, 행복하거나 또는 슬프거나) 뿐만 아니라, 긴 기간의 특징적인 모습(예컨대, 소심하거나 또는 공격적인)을 포함한다.
본 발명의 비언어적인 행동 실시예의 일 예는 친밀함 및 지배-복종(dominance-submission)의 개념을 사용하여 상호간의 관계를 모델링한다. 이 실시예에서, 행동 제어 시스템은 단체들 사이의 친밀함 및 지배/복종의 수준을 반영하는 동맹, 권력/지위와 같은 특정 태도의 다양한 등급을 나타내기 위해 비언어적인 행동을 생성한다. 동맹은 예컨대 웃거나, 신체적인 가까움 및/또는 접촉과 같은 행동에 의해 적절한 행동 디스플레이에 의해 나타난다. 권력/지위는 예컨대 태도에서의 디스플레이된 이완 또는 긴장에 의해 나타날 수 있다. 나타날 수 있는 다른 비언어적인 행동들은 일반적인 신체적인 행동에 의해 디스플레이되는 민감성을 포함한다. 이 상황에서, 도 1B에 나타난 파라미터 값들은 본 발명의 실시예에서 동맹에 상응하는 "우호적임" 및 "다른 사람을 좋아함(otherLiking)" 또는 지배에 상응하는 "남자다움(machismo)" 또는 "자만"과 같은 미리 정의한 감정/개인내 파라미터들이다.
본 발명의 다른 실시예들
상기에서 설명된 실시예들은 제어되고 있는 가상 객체의 행동을 주로 설명한다. 그러나, 여기에서 설명된 행동 제어의 개념들은 비록 상기 상세한 설명에서 명백하게 설명되지 않았지만, 비가상의, 즉 실재의 또는 실체적인 객체들의 제어로 쉽사리 확장되고, 따라서 본 발명은 기술분야의 통상의 지식인에 의해 인식될 수 있는 것과 같이 실재 및 가상 객체들의 행동으로 확장한다.
본 발명의 상기 실시예들은 본질적으로 정적인 행동 프레임워크를 가진다. 정적인 프레임워크에서, 일단 파라미터 값이 사용자에 의해 세팅되면, 그것은 그렇게 리셋 될 때까지 그 값으로 설정된 상태로 있는다. 더욱 독립적인 애니메이션은 시간을 따라 파라미터를 변경함으로써 생성될 수 있다. 실재 애니메이션을 생성하기 위해서, 프레임워크는 시간에 따라 변화하는 파라미터들을 포함하도록 수정된다.
시간에 따라 변화하는 파라미터들의 다른 형태는 행동 프레임워크에 의해 지원될 수 있다. 예컨대, 랜덤하게 변화하는 파라미터는 임시적인 태도의 변화들을 제공할 수 있지만, 반면 다른 형태는 아주 범용적인 애니메이션들을 생성할 수 있다. 이러한 파라미터들은 리버스 맵을 실행하는 더욱 정교한 기술들을 요구할 수 있고, 그래서 본 발명의 최적의 모드에서는 고려되지 않는다. 그러나 파라미터 변경에 대한 임의의 타이밍의 변경을 제어함으로써, 더욱 현실적인 태도의 변화가 얻어질 수 있다.
본 발명의 다른 움직이는 실시예는 사이에 변경될 수 있거나 또는 시간에 따라 삽입될 수 있는 다수의 프로파일들의 제공을 필요로 한다. 이는 하나의 진행에 있어서 일 세트의 파라미터들을 변경할 수 있다. 본 발명의 이러한 일 실시예를 실행하는 하나의 방식은 애니메이션 감각의 중요한 프레임들로서 프로파일들을 제공하는 것이고 그것들 사이에 삽입되는 것이다. 더 많은 애니메이션을 실행하는 다른 방식은 각 상태가 부착된 프로파일을 갖는 경우 유한의 상태 장치 시스템을 사용하여 캐릭터를 제어하는 것이다. 상태들은 세상의 일들 또는 캐릭터의 내부 팩터들 때문에 변화할 수 있고, 새로운 상태에 진입하는 경우 그 프로파일이 로딩된다.
본 발명의 다른 실시예들은 다른 형태들의 출력 노드를 갖는다. 예컨대, 본 발명의 일 실시예에서, 출력 노드로서 단지 태도 노드만을 제공하는 것이 가능하다. 이러한 출력 노드는 파라미터들로부터의 단순한 매핑을 행동에 제공하고, 파라미터는 각 태도에 대해 존재하고 이들 파라미터들의 값들은 태도들 사이에 삽입을 제공한다. 이 모델은 다른 형태의 행동에 적용될 수 있고, 예컨대 여러개의 동작들이 동일한 방식으로 삽입될 수 있다. 그러나, 더욱 복잡한 행동들은 더욱 복잡한 매핑들을 필요로 할 것이며, 이느 내부 파라미터들을 추론하기 위해 행동으로부터 역으로의 매핑의 복잡성을 증가시킨다.
이 문제에 대한 다양한 접근들이 존재한다. 첫째, 그것을 무시하는 것이고 앞으로의 행동을 생성할 수 있으나 해가 구해질 수 없는 약간의 출력 노드들을 갖는 것이다. 이는 제어될 수 있는 다른 형태의 행동이 존재하는 한 실행가능한 옵션이다.
예컨대 시선와 같은 약간의 측면들은 그들이 사용자가 제어하기에 너무 어렵기 때문에 무시될 수 있다. 다른 접근은 각 형태의 출력 노드에 대해 수작업으로 만들어진 매핑을 제공하는 것이다. 이는 시간 소모적이다. 최종 방식은 예컨대 베이지안(Bayesian)망 또는 신경망과 같은 매핑을 익히기 위해 약간의 종류의 학습 스킴을 사용하는 것일 수 있다.
본 발명의 일 실시예는 유한 상태 장치 확장 및 확률(probabilistic) 베이지안망 확장을 결합한다. 망 내의 각 노드는 본 실시예에서 다수의 상태들을 갖고, 각 상태는 다른 내부 파라미터들의 세팅들 및 입력들과 출력들 사이의 이같은 다른 매핑들을 갖는다. 이 실시예에서, 주어진 상태에 있는 노드의 확률은 다른 노드들의 상태들, 및 글로벌 파라미터들 또는 다른 노드들의 출력들에 의존할 수 있다. 그러면 프레임워크는 노드들 사이에 두개의 다른 형태의 내부관계를 가진다. 하나는 노드들 사이에서 진행하는 연속적인 값의 파라미터들을 갖는 현재 시스템에서와 같이 연속적이다. 다른 하나는 노드들이 일 세트의 불연속 상태들의 하나가 되는 것으로 불연속이다. 정보의 두 가지 형태는 약간의 행동 피처들이 원래 불연속이고, 반면 다른 행동은 불연속이 아니기 때문에, 동일한 중요도로 제공된다. 예컨대, 팔짱을 낄 수 있거나 또는 아닐 수 있고, 대화중이거나 또는 그렇지 않은 것일 수 있으며, 어느 경우도 50%는 아주 중요하지 않다. 그러나, 다른 행동 피처들은 원래 연속적이다. 예컨대, 객체는 시간에 따라 행복한 것과 화내는 것 사이에서 연속적으로 변화할 수 있어야 하며 불연속적인 단계들의 시퀀스로서 행동하지 않아야 한다.
다른 방법들이 본 발명의 이러한 실시예들의 각 형태의 정보를 추론하는데 적합하다. 여기에서 제공된 프레임워크는 부정확함이 없이 연속적인 데이터에 대해 유효하며, 반면 베이지안망은 일 세트의 불연속 상태들의 확률을 추론할 수 있다. 본 발명의 약간의 실시예들에서, 행동 프레임워크로의 확장은 정보를 추론하는 두개의 방법들이 결합되게 할 수 있다.
첨부된 도면을 참조하여 상기에서 설명된 방법은 개연성이 없으며, 각 노드의 상태가 알려지는 경우 연속적인 상태를 추론하는데 사용될 수 있다. 두 개의 추론 방법들이 결합되는 본 발명의 다른 실시예들에서, 베이지안망은 미리 사용될 수 있고, 노드 상태들 및 그들 사이에서의 그들의 확률 관계들은 베이지안망으로서 취급될 수 있으며 출력으로부터 각 노드의 상태들을 추론하는데 사용될 수 있다. 망의 구조(topology)는 그것이 베이지안망이든 연속망이든 동일한 상태로 있어야 한다. 일단 이들 구성요소들이 제자리에 있다면 시스템의 내부 파라미터들은 사람의 행동에 대한 데이터로부터 자동적으로 학습될 수 있다.
본 발명의 다른 실시예들에서, 프로파일들을 설계하기 위해 상기에서 설명된 방법들이 실제 데이터에 기초한 일 세트의 내부 파라미터들을 학습하기 위해 아주 많은 개수의 예들로 확장될 수 있다. 베이지안 학습 기술들은 확률 관계들을 학습하는데 사용될 수 있다. 이와 함께 시스템의 파라미터들은 실제 사람으로부터의 데이터에 기초할 수 있고 그래서 이론적으로 캡처하는 것이 매우 어려운 사람의 행동을 더욱 정확하게 반영할 수 있다.
사용자가 온라인 채팅 룸을 통해 상호작용하는 본 발명의 일 실시예가 이제부터 설명된다. 이 실시에에서, 사용자들은 행동 제어기로의 입력을 제공하는 텍스트 뿐만 아니라 바디 랭귀지로 그들 자신을 표현하는 것이 허용된다. 이는 또한 온라인 중개, 온라인 미팅(즉, 정보가 가상 객체들의 그룹에 의해 교환되는), 온라인 협력(즉, 작업이 가상 객체들의 그룹에 의해 실행되는), 및 온라인 거래 환경(예컨대, 아바타 판매 룸)과 같은 다른 가상 환경들뿐만 아니라, 아바타가 인간 카운셀러를 나타내는 온라인 카운셀링과 같은 본 발명의 실시예들에게 또한 적합하다.
바디 랭귀지는 행동을 생성하기 위해 프로파일로부터 일 세트의 미리 정의된 감정/개인내의 파라미터들을 사용함으로써, 설명된 프레임워크 내에서 설계된 구조에 의해 독립적으로 생성된 행동을 포함한다. 사용자는 표준 데스크톱 PC를 사용하여 시스템에 액세스한다. 행동 제어기에 입력을 제공하기 위해 사용자에 의해 사용된 컴퓨터 내비게이션 장치들은 예컨대 마우스 및 키보드와 같은 환경에서 평범하게 입수가능한 것들에 한정된다. 키보드는 텍스트를 입력하는데 사용되고 마우스는 캐릭터의 동작을 제어하는데 사용될 수 있다. 사용자가 텍스트를 타이핑하는데 집중하길 대부분 원하기 때문에, 캐릭터들의 동작의 제어는 가끔의 경우일 것일 것이다. 하나의 입력(예컨대, 행동 설계 사용자 인터페이스를 통한)은 단일 동작보다는 캐릭터들의 전체적인 행동에 대한 수정으로 귀결될 것이며, 따라서 작은량의 사용자 입력을 대부분 사용한다. 이는 그러한 입력으로부터 감정/개인내의 파라미터들을 추론함으로써 쉽게 얻어진다. 아바타의 감정에 대한 더욱 직접적인 입력은 현재의 그래픽 채팅 시스템에서 사용된 "이모티콘"을 통해 행해진다. 이들은 글로벌 파라미터들을 직접 세팅할 수 있다.
본 발명의 다른 실시예는 사용자의 동작에 의해 제공된 입력을 추가로 포함함으로써 상기 실시예를 확장한다. 예컨대, 홈 컴퓨터는 종종 입력을 행동 제어기에 제공하는 특별화된 출력 노드를 통해 안면 트래킹(face tracking)을 실행하기 위해 배치될 수 있는 저렴한 비디오 카메라를 구비할 수 있고, 입력은 사용자의 상태를 추론하기 위해 사용된다.
상기에서 설명된 본 발명의 실시예들은 아바타의 프로파일을 편집하게 함으로써, 사용자가 그들 아바타의 행동을 수정할 수 있게 한다. 최종 사용자에 대해 이는 가능한 사용자 친화적인 방식으로 행해져야 할 것이고, 도 1A ~ 2E에 도시된 실시예들은 행동 설계 사용자 인터페이스에 의해 제공된 슬라이더의 세트를 사용하여 형용사들을 편집하는데 특히 적당하다.
본 발명은 채팅룸과 같은 유사한 방식으로 실행될 수 있는 국제 아바타 회의를 포함하는 많은 애플리케이션들을 가진다. 이 경우 참가자들의 실제 바디 랭귀지를 캡처하는 것은, 특히 비지니스 협상에 대해서 아주 중요하다. 이는 사용자에 대한 높은 품질의 안면 트래킹을 포함하는 더욱 정교한 신체-트래킹(body-tracking) 시스템을 구비함으로써 실행될 수 있다. 목소리의 톤과 같은 다른 단서들은 또한 사용자의 상태를 추론하는데 사용될 수 있다. 행동 제어기의 프레임워크는 각 사용자의 행동이 올바로 추론되는 것을 보장하기 위해 더욱 복잡하게 만들어 질 수 있다.
행동 번역
상기에서 설명된 추론 스킴은 다른 문화적인 행동들 사이에서 번역하는 능력을 구비하기 위해 행동 제어기의 애플리케이션을 확장시키는 가상 에이전트 또는 아바타의 내부 상태의 모델이 판정될 수 있게 한다. 예컨대, 아바타가 웹-미팅과 같은 온라인 환경에서 다른 문화적인 배경 출신의 사용자들과 상호작용하는 사용자에 대한 개인적인 가상 에이전트로서 기능하는 경우에, 사용자의 실제 동작들과 감정들을 직접 나타내는 능력은 바람직하지 않을 수 있다.
본 발명의 이러한 실시예들은 입력 또는 출력 단계들 중 어느 하나에서 행동 제어기에 의해 행동을 번역하는 것을 포함하기 위해 수정될 수 있다. 이는 하나의 문화에 상응하는 행동 프레임워크를 사용하여 외부 출력들을 생성함으로써 및 다른 문화에 상응하는 다른 프레임워크를 사용하여 이러한 외부 출력으로부터 행동을 재창조함으로써 이루어질 수 있다. 다르게는, 두개의 프레임워크들은 다른 문화들에 상응하는 다른 프로파일들을 사용할 수 있는 것을 제외하고 동일할 수 있다.
이는 또한 제 1 문화에 상응하는 행동 동작과 연관된 행동 제어기에 의해 수신된 입력이 먼저 제 2의 다른 문화에서의 등가의 행동 동작과 연관된 입력으로 먼저 번역되게 할 수 있는 번역 구성요소를 포함함으로써 이루어질 수 있다. 유사하게, 제 2 문화에 따른 행동에 상응하는 행동 제어기의 출력 행동 노드들로부터 출력을 수신하고 이를 제 1 문화로 반대로 변역하는 번역 구성요소를 실행하는 것이 가능하다.
번역 구성요소는 하나의 문화로부터 다른 문화로 바디 랭귀지의 번역을 실행하는 제어기 내에 제공될 수 있다. 이것이 실행될 수 있는 하나의 매커니즘은 다른 문화적인 환경에서 다른 바디 랭귀지를 생성하기 위해 다른 프로파일들로 사용되는 한편의 바디 랭귀지의 의미를 나타내는 높은 레벨의 파라미터들에 의해서이다. 이는 다른 관찰자들이 그들 소유의 문화에서 참가자 아바타의 바디 랭귀지를 인식하는 것을 보장할 것이다. 따라서 특정 행동은 문화 A의 관찰자에 의해 시스템으로 입력되고, 문화 A에 상응하는 프로파일에 의해 우호적인 행동으로서 번역될 수 있다. 우호적임의 파라미터는 문화 B에 상응하는 프로파일을 포함하는 장치로 세팅되는 장치로 전달될 것이다. 이 장치는 다른 행동이지만 문화 B에서 우호적임의 의미를 가질 수 있는 것을 생성할 수 있다.
컴퓨터 게임 환경에서의 사용을 위해 구성되는 본 발명의 실시예들에서, 의미 있는 바디 랭귀지가 생성될 수 있고, 또한 캐릭터에 관한 사용자들의 명령들로부터 캐릭터의 내부 상태가 어떤 것인지가 추론될 수 있다. 사용자 입력은 예컨대 상기에서 설명된 것과 같이 다수의 방식으로 실행될 수 있고, 사용자는 캐릭터의 태도를 직접 조작할 수 있다. 선택적으로, 큰 규모의 행동은 예컨대 동작의 선택, 어떤 사람에게 말을 걸을 것인지의 여부 또는 단어의 선택과 같은 추론을 위해 사용될 수 있다. 일단 행동 프레임워크에 대한 글로벌 파라미터들이 추론되면, 게임에서의 캐릭터들은 이들에 대해 반응하도록 만들어질 수 있다. 유리하게도, 본 발명은 게임 디자이너들이 강력하고 더욱 직관적인 도구들을 사용하여 캐릭터들의 행동의 설계에 대해 미세한 제어를 할 수 있게 한 행동 설계 도구를 제공한다.
객체가 하나의 역할을 실행하는 본 발명의 실시예들에서, 사용자가 설계 인터페이스를 사용하여 생성한 프로파일은 행동이 그 역할에 대해 적절하고, 내부 상태에 대한 임의의 추론이 행동이 추론되는 객체의 역할을 반영하는 것을 보장하기 위해 사용될 수 있다.
로봇 애플리케이션
상기에서 설명된 실시예들은 가상 환경들에 대해 특별히 연관되지만, 복잡하고, 진행중인 행동을 생성할 수 있는 행동 제어기와 인터페이스하기 위해 단순한 입력 장치를 사용자에게 제공하는 개념은 실제 세상의 애플리케이션들, 상세하게는 예컨대 로봇 장난감들을 갖는 애플리케이션들을 갖는 것이다. 따라서, 본 발명의 다른 실시예들은 사용자가 로봇 객체, 상세하게는 장난감 인형과 같이 표현이 가능한 로봇 객체에서의 복잡한 행동을 생성하기 위한 단순한 매커니즘을 제공한다.
이러한 실시예들은 예컨대 정교한 성격을 갖는 로봇 애완 동물 또는 인형을 아이들에게 제공할 수 있게 하고, 반면에 행동 프로파일들에 할당된 직관적인 라벨들의 조작만을 필요로 하게 한다. 이러한 애플리케이션들에서, 행동 설계 사용자 인터페이스는 원격 제어 형태의 장치로서 제공될 수 있다. 그러면 행동 제어 정보는 로봇 장치에 의한 적절한 동작을 지시하기 위해 무선으로 제공될 수 있다. 행동 제어기는 로봇 장치로 단지 전송되는 애니메이션 명령들을 갖는 인터페이스 장치의 일부, 또는 로봇 장치 그 자체의 일부, 또는 로봇 장치로 행동 명령들을 중계하는 프록시 장치의 일부 중 어느 하나로서 제공될 수 있다.
본 발명의 다른 실시예들에서, 제조 또는 생산 라인의 흐름에서 사용되는 로봇 장치들은 그들의 행동이 여기에서 설명된 것과 같은 계층 행동 모델 프레임워크를 사용하여 제어되게 하는 것을 유사하게 필요로 할 수 있고, 행동 설계 사용자 인터페이스는 로봇 장치가 실행해야 하는 작업에 특정적으로 의존하여 더 많은 역할이 되는 행동 옵션들을 제공할 수 있다. 이 로봇 장치들은 그들의 상황에 의존하여 유선 또는 무선 연결 중의 어느 하나에 의해 원격으로 제어될 수 있다. 예컨대, 생산 라인에서, 로봇 장치는 무선 통신 링크들을 통해 제어될 수 있고, 반면에 수중 환경에서, 수중 로봇은 무선 통신 링크 및/또는 유선 통신 링크를 필요로 할 수 있다.
특히, 본 발명은 복잡한 로보트 행동에 대한 행동 설계 인터페이스를 사용하는 단일체를 제공하며, 이것은, 특히 사용자가 실시간으로 제어할 필요가 있는 자동/반자동 행동의 일정한 레벨을 가진 시간에 민감한(time-critical) 작업을 상기 로보트 객체가 실시해야만 하는 애플리케이션에서 중요하다.
본 발명은 하드웨어 및/또는 소프트웨어의 적절한 조합에 의해 구현될 수 있으며, 상기 하드 및 소프트웨어의 조합은 상술한 특정한 부분에 의해 제한되는 것을 의도하지 않음이 당업자에게는 명확하게 이해될 것이다. 또한, 본 발명은 하나 이상의 디바이스를 실행시키는 하나 이상의 컴퓨터 프로그램의 슈트에 의해 구현될 수 있다. 상기 디바이스는 통신 네트워크를 통해 분산될 수 있다.
가상 환경의 엔티티의 행동은 상기 가상 환경의 하나 이상의 다른 엔티티의 존재에 의해 영향을 받는 본 발명의 실시예에서, 다른 가상 엔티티의 전체 효과가 결정되고 상기 전체 효과는 영향을 받는 엔티티의 행동 제어기로의 높은 레벨의 입력으로써 사용될 수 있다. 이것은, 아바타에 영향을 주는 가상 환경 내의 하나 이상 또는 모든 다른 엔티티가 그의 행동이 영향을 받는 아바타의 관찰자에 나타나지 않는 다고 할지라도 발생할 수 있다. 예를 들면, 아바타가 다른 엔티티들의 그룹을 교육하고, 다른 엔티티들이 그들의 행동에 의해 지루하다는 것을 나타내면, 교육을 실시하는 아바타는 자율적인 방법으로 그의 청중의 관심도를 높이기 위해 보다 움직임이 많은 행동을 채택하고 및/또는 그들의 톤의 다양성과 소리의 강도를 증가시킨다. 이것은 예를 들어, 화자가 직접적으로 그들의 가상의 청중들 모두를 직접 관찰할 수 없을 때에 조차도, 온라인 대화에서 사용자가 관심을 유지할 수 있도록 한다. 일반적으로, 전체 효과는, 그의 행동이 영향을 받는 엔티티의 행동 제어기로 입력으로써 처리된 출력을 제공하기 전에, 처리안에 따라 다른 엔티티의 행동 제어기에 의해 제공된 출력을 처리함으로써 결정된다. 예를 들면, 하나 이상의 다른 엔티티에 의해 제공된 각 출력에 대한 평균 파라미터값은 그의 행동이 다른 엔티티에 의해 영향을 받는 엔티티의 행동 제어기로 입력으로써 사용되기 전에 결정된다(모든 엔티티가 특정한 파라미터값에 기여하지 않는다 하더라도).
요약서의 텍스트가 명세서의 일부로써 하기에 재현되어졌다.
계층적인 행동 프레임워크는 관절있는 객체의 자율적인 그리고 반자율적인 행동을 생성하고 제어하기 위해 사용된다. 행동 동작과 연관된 입력을 수신하고, 프레임워크를 사용하는 복수의 행동 파라미터값을 추론하고, 동등한 행동에 대응하는 출력을 생성하기 위해 행동 제어기에 로딩될때 파라미터값을 사용하는 관절있는 객체에서의 동등한 행동을 생성하도록 행동 제어기가 배치된다. 상기 동등한 행동은 입력된 행동 동작을 재생하고 및/또는 동시에 또는 연속된 동작의 일부로 실시되는 하나 이상의 다른 행동 동작을 구비한다.

Claims (66)

  1. 행동 제어기의 제어 하에서 객체에 대한 행동을 생성하는 방법에 있어서,
    하나 이상의 행동 동작에 연관된 입력을 수신하는 단계;
    상기 객체에 행동을 생성하도록 배치된 행동 프레임워크에 따라 상기 입력으로부터 복수의 행동 파라미터값을 추론하는 단계;
    상기 추론된 복수의 행동 파라미터값으로부터 출력을 도출하는 단계; 및
    상기 파라미터값으로부터 도출된 출력을 사용하여 상기 객체에 의한 동등한 행동을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 프레임워크는 내부적으로 유연한 구조인 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    상기 프레임워크는 계층적인 행동 노드를 포함하는 것을 특징으로 하는 방법.
  4. 제 2 항 또는 제 3 항 중 어느 한 항에 있어서,
    상기 프레임워크는 동적으로 유연한 것을 특징으로 하는 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    수신된 입력은 복수의 행동 동작과 연관되며, 추론된 각 파라미터값은 상기 복수의 행동 동작 입력의 조합에 의해 결정되는 것을 특징으로 하는 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 입력은 행동 동작을 생성하는 출력과 직접 연관된 적어도 하나의 행동 파라미터값의 세트를 구비하고,
    상기 추론 단계에서, 하나 이상의 다른 행동 파라미터값이 추론되어, 상기 행동 동작에 대해 동등한 행동을 생성하기 위한 추가적인 출력이 도출되는 것을 특징으로 하는 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 프레임워크는 복수의 노드를 구비하고,
    상기 노드는 하나 이상의 파라미터값 상에서 동작하는 함수에 연관되어 객체의 행동 특성을 변경시키는 출력을 제공하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서,
    하나 이상의 행동 파라미터값 상에서 동작하는 함수에 의해 만들어진 출력은 상기 행동을 생성하기 위해 애니메이션 시스템으로 입력을 제공하는 것을 특징으로 하는 방법.
  9. 제 7 항에 있어서,
    상기 함수는 상기 노드에 대해 불규칙하게 할당된 적어도 하나의 행동 파라미터값 상에서 동작하는 것을 특징으로 하는 방법.
  10. 제 7 항에 있어서,
    상기 함수는 상기 프레임워크의 노드에 의해 사용가능한 글로벌 파라미터값 인 적어도 하나의 행동 파라미터값 상에서 동작하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서,
    상기 글로벌 파라미터값은 상기 객체의 무드 상태에 연관되며, 상기 프레임워크의 노드 출력에 의해 제공된 객체의 행동 특성은 상기 객체의 무드를 표시하도록 변경되는 것을 특징으로 하는 방법.
  12. 제 9 항에 있어서,
    상기 노드는 상기 객체의 행동 특성에 영향을 주는 개성에 연관된 내부 파라미터값 상에서 동작하는 함수를 사용하여 입력으로부터 출력을 생성하는 것을 특징으로 하는 방법.
  13. 제 9 항 내지 제 12 항에 있어서,
    제 7 항에 종속하는 경우,
    입력은 상기 프레임워크의 출력 노드에서 수신되고,
    상기 수신된 입력은 행동 동작을 생성하는 출력과 직접 연관된 하나 이상의 파라미터값의 세트를 구비하고,
    추가적인 파라미터값을 추론하는 단계에서, 이미 정해진 파라미터값의 세트로부터 상기 프레임워크의 내부 노드에 대한 추가적인 복수의 행동 파라미터값을 추론하기 위해, 리버스 매핑이 실시되는 것을 특징으로 하는 방법.
  14. 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
    입력을 수신하는 단계에서, 입력은 상기 프레임워크의 글로벌 파라미터 노드에서 수신되고, 상기 프레임워크의 하나 이상의 다른 노드에 대한 복수의 행동 파라미터값을 추론하기 위해, 네트워크의 노드가 상기 수신된 입력을 하나 이상의 다른 노드로 매핑하는 것을 특징으로 하는 방법.
  15. 제 1 항에 있어서,
    객체에서 동등한 행동을 생성하는 단계에서, 상기 동등한 행동은 관절이 있는 객체에서 생성되는 것을 특징으로 하는 방법.
  16. 제 1 항 내지 제 15 항 중 어느 한 항에 있어서,
    객체에서 동등한 행동을 생성하는 단계에서, 상기 동등한 행동은 안면으로 표현하는 행동을 포함하는 것을 특징으로 하는 방법.
  17. 제 1 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 객체에 의한 동등한 행동은 소정의 시퀀스로 실행되는 복수의 행동 동작을 포함하는 것을 특징으로 하는 방법.
  18. 제 17 항에 있어서,
    상기 객체에 의한 동등한 행동은 랜덤한 순서로 실행되는 복수의 행동 동작을 포함하는 것을 특징으로 하는 방법.
  19. 제 16 항 또는 제 17 항 중 어느 한 항에 있어서,
    상기 행동 동작은 한 기간 동안 실행되는 것을 특징으로 하는 방법.
  20. 제 16 항 또는 제 17 항 중 어느 한 항에 있어서,
    상기 하나 이상의 복수의 행동 동작은 동시에 실행되는 것을 특징으로 하는 방법.
  21. 제 1 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 행동은 시선 응시, 팔다리의 움직임, 말하기, 자세를 포함하는 그룹으로부터 취해진 행동 동작을 포함하는 것을 특징으로 하는 방법.
  22. 제 1 항 내지 제 21 항 중 어느 한 항에 있어서,
    상기 수신된 입력은 인간 사용자에 의한 객체의 직접 조작으로 야기된 객체에 의한 행동 동작으로부터 도출되는 것을 특징으로 하는 방법.
  23. 제 1 항 내지 제 22 항에 중 어느 한 항에 있어서,
    상기 수신된 입력은 객체와 상호작용하는 하나 이상의 다른 객체에 의한 행동 동작으로부터 도출되는 것을 특징으로 하는 방법.
  24. 제 23 항에 있어서,
    상기 객체는 가상 환경에서 동작하는 가상 객체이고,
    상기 수신된 입력은 가상 환경내의 객체와 상호작용하는 하나 이상의 다른 관절이 있는 가상 객체에 의한 행동 동작으로부터 도출되는 것을 특징으로 하는 방법.
  25. 제 23 항 또는 제 24 항 중 어느 한 항에 있어서,
    상기 하나 이상의 다른 객체로부터 도출된 복수의 입력은 소정의 처리안에 따라 처리되고,
    상기 처리의 결과는 상기 복수의 행동 파라미터값을 추론하는 데에 사용되는 것을 특징으로 하는 방법.
  26. 제 25 항에 있어서,
    상기 처리안은 상기 복수의 입력 각각의 평균을 결정하는 것을 특징으로 하는 방법.
  27. 제 1 항 내지 제 26 항 중 어느 한 항에 있어서,
    상기 수신된 입력은 행동 제어기의 사용자에 의해 실행된 행동 동작과 연관된 입력을 포함하는 것을 특징으로 하는 방법.
  28. 제 1 항 내지 제 27 항 중 어느 한 항에 있어서,
    입력으로써 수신된 행동 동작을 문화적으로 동등한 행동 동작으로 변환하는 단계; 및
    상기 문화적으로 동등한 행동 동작에 대한 동등한 행동을 생성하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  29. 관절이 있는 객체의 행동을 제어하는 방법에 있어서,
    입력을 객체에 대한 행동 제어기로 제공하도록 배치된 행동 설계 인터페이스를 사용하여 객체의 행동 특성과 연관된 행동 파라미터 세트 - 여기서, 각 행동 파라미터 세트는 행동 특성에 영향을 주는 적어도 하나의 파라미터를 구비함 - 로 값을 할당하는 단계;
    할당된 값 상에서 행동 프로파일에 의해 정의된 디폴트값으로 함수를 실시함으로써 얻어진 파라미터 값에 파라미터 세트 내의 각 파라미터를 연관시키는 단계;
    상기 파라미터 값을 객체에 대한 행동 제어기에 입력하는 단계;
    상기 입력으로부터 상기 행동 제어기에 의해 생성된 출력을 추론하는 단걔;
    상기 출력을 상기 객체에 의한 행동 동작과 연관시키는 단계; 및
    객체가 상기 행동 동작을 실행하도록 하는 단계를
    포함하는 것을 특징으로 하는 방법.
  30. 제 29 항에 있어서,
    상기 함수는 항등 함수(identity function)인 것을 특징으로 하는 방법.
  31. 객체가 자신의 행동을 제어하도록 직접 조작하는 방법에 있어서,
    객체가 행동 동작을 실행하도록 조작하는 단계;
    행동 동작을 나타내는 입력을 행동 프레임워크의 출력 노드 - 여기서, 출력 노드는 또한 객체에 의한 동등한 행동을 생성하는 데에 사용되는 출력을 제공하도록 배치됨 -로 제공하는 단계;
    프레임워크의 다른 행동 노드에 대한 적어도 하나의 파라미터값의 세트를 도출하기 위해 프레임워크 내의 행동 프레임워크 출력 노드에 의해 수신된 입력을 매핑하는 단계; 및
    도출된 적어도 하나의 파라미터값의 세트로부터 객체에 의해 다른 동등한 행동을 생성하는 출력값의 세트를 추론하는 단계를
    포함하는 것을 특징으로 하는 방법.
  32. 객체에 대해 행동 제어기에 대한 복수의 내부 파라미터값을 추론하는 방법에 있어서,
    행동 동작을 나타내는 입력을 수신하는 단계;
    상기 수신된 입력으로부터 객체에 의한 동등한 행동 동작에 상당하는 적어도 하나의 출력값의 세트를 추론하는 단계; 및
    상기 적어도 하나의 출력값의 세트로부터 상기 각 복수의 내부 파라미터값을 추론하는 단계를 포함하고,
    상기 각 복수의 내부 파라미터에 대해 추론된 값은 동등한 행동 동작에 대한 동등한 행동을 초래하는 행동 제어기에 의해 출력을 만드는 것을 특징으로 하는 방법.
  33. 객체에 행동을 생성하는 방법에 있어서,
    제 32 항에 따른 객체에 대해 행동 제어기에 대한 복수의 내부 파라미터값을 추론하는 방법을 포함하고,
    상기 추론된 복수의 파라미터값을 사용하여 상기 동등한 행동과 연관된 출력값의 세트를 생성하는 단계; 및
    상기 관절 있는 객체가 상기 행동을 실행하도록 하는 단계를
    추가로 포함하는 것을 특징으로 하는 방법.
  34. 노드의 프레임워크를 구비한 행동 제어기의 제어하에서 객체에 행동을 생성하는 방법에 있어서,
    적어도 하나의 노드가 행동 동작에 연관된 입력을 수신하는 단계;
    상기 각 적어도 하나의 노드가 수신된 입력을 출력으로 매핑하는 단계;
    상기 출력을 사용하여 프레임워크의 다른 노드에 대한 복수의 행동 파라미터값을 추론하는 단계;
    객체가 동등한 행동을 생성하는 행동 제어기에 의해 출력을 제공하는 상기 추론된 행동 파라미터값을 사용하여 수신된 입력을 매핑하는 단계를 포함하는 것을 특징으로 하는 방법.
  35. 행동 제어기의 제어하에서 객체에 행동을 생성하는 방법에 있어서,
    행동 동작에 연관된 입력을 수신하는 단계;
    상기 수신된 입력을 객체에 의해 동등한 행동에 상당하는 적어도 하나의 출력값의 세트로 매핑하는 단계;
    객체에 의해 행동을 생성하도록 배치된 행동 프레임워크에 따라 상기 적어도 하나의 출력값의 세트로부터 복수의 행동 파라미터값을 추론하는 단계; 및
    상기 파라미터 값을 행동 제어기로 로딩함으로써 상기 파라미터 값을 사용하여 객체에 동등한 행동을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  36. 제 1 항 내지 제 35 항 중 어느 한 항에 있어서,
    상기 행동 프레임워크의 파라미터는 추론되고, 시변(time-varying)인 것을 특징으로 하는 방법.
  37. 제 1 항 내지 제 36 항 중 어느 한 항에 있어서,
    추론된 파라미터값은 시변인 것을 특징으로 하는 방법.
  38. 제 1 항 내지 제 37 항 중 어느 한 항에 있어서,
    상기 객체의 행동은 행동 동작에 연관된 입력 수신에 응답하여 실시간으로 생성되는 것을 특징으로 하는 방법.
  39. 제 1 항 내지 제 38 항 중 어느 한 항에 있어서,
    상기 객체는 가상 환경에서 제공되는 가상 객체인 것을 특징으로 하는 방법.
  40. 제 1 항 내지 제 39 항 중 어느 한 항에 있어서,
    객체는 로봇 객체인 것을 특징으로 하는 방법.
  41. 제 1 항 내지 제 40 항 중 어느 한 항에 있어서,
    객체는,
    실제의 장난감(real toy);
    게임 캐릭터;
    아바타
    로 구성되는 그룹에서 선택된 객체인 것을 특징으로 하는 방법.
  42. 객체에 행동을 생성하도록 배치된 행동 제어기에 있어서,
    행동 동작과 연관된 입력을 수신하는 수단;
    객체에 의해 행동을 생성하도록 배치된 행동 프레임워크에 따라 상기 입력으로부터 복수의 행동 파라미터값을 추론하는 수단;
    추론된 복수의 행동 파라미터값으로부터 출력을 도출하는 수단; 및
    파라미터값으로부터 도출된 출력을 사용하여 객체에 의해 동등한 행동을 생성하는 수단을 포함하는 것을 특징으로 하는 행동 제어기.
  43. 제 42 항에 있어서,
    동등한 행동을 생성하는 수단은, 상기 출력 상에서 동작하도록 배치된 애니메이션 시스템으로 상기 파라미터값으로부터 도출된 출력을 포워딩하여 적절한 행동이 객체에 의해 움직여지도록 하는 수단을 포함하는 것을 특징으로 하는 행동 제어기.
  44. 제 42 항 또는 제 43 항 중 어느 한 항에 있어서,
    상기 수신 수단은 객체의 행동 프레임워크에 대해 외부에 있는 소스로부터 적어도 하나의 파라미터값을 입력으로써 수신하는 수단을 포함하는 것을 특징으로 하는 행동 제어기.
  45. 제 42 항 내지 제 44 항 중 어느 한 항에 있어서,
    복수의 행동 파라미터값을 추론하는 수단은 노드의 프레임워크를 구비하고,
    각 행동 노드는 적어도 하나의 입력 파라미터값을 적어도 하나의 출력 파라미터값으로 매핑하도록 배치된 것을 특징으로 하는 행동 제어기.
  46. 제 45 항에 있어서,
    적어도 하나의 노드는,
    행동 프레임워크 내의 각 노드에 대해 정의된 파라미터;
    행동 프레임워크의 각 노드내에 정의된 파라미터; 및
    행동 프레임워크 대해 외부로 정의된 파라미터
    를 포함하는 그룹으로부터 취해진 적어도 하나의 파라미터값을 매핑하도록 배치되는 것을 특징으로 하는 행동 제어기.
  47. 제 42 항 내지 제 46 항 중 어느 한 항에 있어서,
    입력을 수신하는 상기 수단은 행동 설계 인터페이스로부터 입력을 수신하도록 배치되고,
    상기 행동 설계 인터페이스는,
    객체의 행동 프레임워크에 따라 정의된 적어도 하나의 행동 파라미터를 구비한 행동 파라미터에 대한 값의 할당을 허용하도록 배치된 수단; 및
    내부 파라미터 값을 결정하기 위해 소정의 함수로 행동 파라미터 세트에 할당된 값 상에서 동작하도록 배치된 수단
    을 포함하는 것을 특징으로 하는 행동 제어기.
  48. 제 42 항 내지 제 47 항 중 어느 한 항에 있어서,
    상기 객체는 가상 환경내에서 동작하도록 배치된 가상 객체인 것을 특징으로 하는 행동 제어기.
  49. 제 42 항 내지 제 48 항 중 어느 한 항에 있어서,
    상기 행동 제어기로부터의 출력은 다른 객체의 행동 제어기에 의해 입력으로써 수신되기에 적합한 형태로 제공되는 것을 특징으로 하는 행동 제어기.
  50. 제 42 항 내지 제 49 항 중 어느 한 항에 있어서,
    상기 행동 제어기는 제 1 문화와 일치하는 행동으로부터 도출되어 수신된 입력을 제 2 문화와 일치하는 입력으로 매핑하기 위한 변환 엘리먼트를 추가로 구비한 것을 특징으로 하는 행동 제어기.
  51. 제 42 항 내지 제 50 항 중 어느 한 항에 있어서,
    상기 행동 제어기는 소정의 제 1 문화와 일치하는 행동 출력을 소정의 제 2 문화와 일치하는 행동 출력으로 매핑하기 위한 변환 엘리먼트를 추가로 구비한 것을 특징으로 하는 행동 제어기.
  52. 제 42 항 내지 제 51 항 중 어느 한 항에 있어서,
    상기 객체는 가상 환경의 그룹 중 어느 하나로부터 선택된 가상 환경 내에서 동작하도록 배치된 가상 객체이고,
    상기 그룹은,
    가상 컴퓨터 게임, 가상 온라인 미팅, 온라인 게임, 온라인 대화방, 아바타 호스팅 미팅(avatar hosted meeting); 아바타 카운셀링 미팅; 아바타 기반의 중개 환경(mediation environment); 아바타 기반의 판매 환경; 온라인 공동 연구 환경(collaboration environment); 온라인 CRM(고객 관계 관리) 환경
    으로 구성되는 것을 특징으로 하는 행동 제어기.
  53. 제 42 항 내지 제 52 항 중 어느 한 항에 있어서,
    상기 입력을 수신하도록 배치된 수단은 행동 동작을 생성하는 출력과 직접 연관된 적어도 하나의 행동 파라미터값의 세트를 구비하고,
    상기 추론 수단은 추가적인 출력이 상기 행동 동작과 동등한 행동을 생성하기 위해 도출되는 적어도 하나 이상의 다른 행동 파라미터값으로부터 추론하도록 배치되는 것을 특징으로 하는 행동 제어기.
  54. 제 53 항에 있어서,
    상기 입력을 수신하기 위해 배치된 수단은 객체의 방향 조작에 상당하는 출력과 직접 연관된 적어도 하나의 행동 파라미터값의 세트를 구비하는 입력을 수신하는 것을 특징으로 하는 행동 제어기.
  55. 제 42 항 내지 제 54 항 중 어느 한 항에 있어서,
    사용자가 상기 장치로 입력을 제공하는 것을 특징으로 하는 행동 제어기.
  56. 제 42 항 내지 제 55 항 중 어느 한 항에 있어서,
    소프트웨어 에이전트가 상기 장치에 입력을 제공하는 것을 특징으로 하는 행동 제어기.
  57. 행동 설계 인터페이스에 있어서,
    객체의 행동 특성과 연관된 적어도 하나의 파라미터값을 구비한 행동 파라미터 세트로 값을 할당하는 것을 허용하도록 배치된 수단을 구비하고,
    상기 인터페이스를 사용하여 할당된 값이 제 42 항 내지 제 56 항 중 어느 한 항의 행동 제어기에 입력으로써 제공되는 것을 특징으로 하는 인터페이스.
  58. 적어도 하나의 컴퓨터 프로그램 한 벌이 저장되도록 배치된 디바이스 에 있어서,
    상기 디바이스가 제 42 항 내지 제 56 항 중 어느 한 항의 행동 제어기로써 기능하도록 하기 위해 상기 디바이스 상에 적어도 하나의 컴퓨터 프로그램 한 벌이 실행가능하도록 한 것을 특징으로 하는 디바이스.
  59. 적어도 하나의 컴퓨터 프로그램 한 벌이 저장되도록 배치된 디바이스에 있어서,
    상기 디바이스가 제 57 항의 행동 설계 인터페이스로써 기능하도록 하기 위해, 적어도 하나의 컴퓨터 프로그램 한 벌이 상기 디바이스 상에서 실행될 수 있는 것을 특징으로 하는 디바이스.
  60. 서로 통신할 수 있도록 배치된 복수의 컴퓨터 타입 디바이스를 구비한 네트워크에 있어서,
    적어도 하나의 디바이스가 제 58 항 또는 제 59 항의 디바이스를 구비하고, 다른 디바이스는 적어도 하나의 컴퓨터 프로그램 한 벌의 적어도 일부를 원격으로 액세스 가능하도록 배치되어, 상기 다른 디바이스의 환경내에서 동작하는 객체가 적어도 하나의 컴퓨터 프로그램 한 벌에 의해 제어될 수 있도록 하는 네트워크.
  61. 컴퓨터 프로그램 또는 컴퓨터 프로그램의 한 벌을 구비한 컴퓨터 프로그램 제품에 있어서,
    하나 이상의 컴퓨터가 제 1 항 내지 제 41 항 중 어느 한 항의 어느 한 방법을 실행 하도록 하는 명령어의 세트를 구비한 것을 특징으로 하는 컴퓨터 프로그램 제품.
  62. 컴퓨터 프로그램이 저장되도록 배치된 디바이스에 있어서,
    상기 디바이스가 제 1 항 내지 제 41 항 중 어느 한 항의 방법의 하나 이상의 단계를 실행하도록 하기 위해, 컴퓨터 프로그램이 상기 디바이스 상에서 실행될 수 있는 것을 특징으로 하는 디바이스.
  63. 복수의 가상 객체가 가상 환경에 참여하는 하나 이상의 사용자의 관찰하에서 상호작용하도록 배치된 가상 환경에 있어서,
    가상 환경의 상기 복수의 가상 객체 각각은 상기 가상 환경의 하나 이상의 다른 가상 객체의 하나 이상의 행동 동작으로부터 도출된 하나 이상의 입력을 사용하는 행동 시스템을 사용하여 생성된 반 자율적인 행동을 표시하는 것을 특징으로 하는 가상 환경.
  64. 제 63 항에 있어서,
    가상 환경에 참여하는 각 사용자는 입력을 상기 행동 시스템에 제공함으로써 생성된 반 자율적인 행동을 제어할 수 있는 것을 특징으로 하는 가상 환경.
  65. 제 64 항의 상기 가상 환경을 지원하도록 배치된 플랫폼에 있어서,
    가상 환경에 참여한 상기 하나 이상의 사용자 중 한 명에게 상기 입력을 제공하는 수단을 제공하는 것을 특징으로 하는 플랫폼.
  66. 제 65 항에 있어서,
    상기 사용자는 표시된 행동 설계 인터페이스를 통해 상기 입력을 제공하고, 수신된 입력은 상기 행동 시스템에 의해 생성된 행동을 제어하도록 배치된 행동 제어기에 의해 처리되는 것을 특징으로 하는 플랫폼.
KR1020057017989A 2003-03-25 2004-03-24 객체에서의 행동을 생성하는 장치 및 방법 KR101106002B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0306875.6A GB0306875D0 (en) 2003-03-25 2003-03-25 Apparatus and method for generating behavior in an object
GB0306875.6 2003-03-25
PCT/GB2004/001301 WO2004086208A2 (en) 2003-03-25 2004-03-24 Apparatus and method for generating behaviour in an object

Publications (2)

Publication Number Publication Date
KR20050116156A true KR20050116156A (ko) 2005-12-09
KR101106002B1 KR101106002B1 (ko) 2012-01-18

Family

ID=9955506

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020057017990A KR20050107629A (ko) 2003-03-25 2004-03-24 객체 행동 번역기
KR1020057017989A KR101106002B1 (ko) 2003-03-25 2004-03-24 객체에서의 행동을 생성하는 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020057017990A KR20050107629A (ko) 2003-03-25 2004-03-24 객체 행동 번역기

Country Status (8)

Country Link
US (2) US7574332B2 (ko)
EP (2) EP1606697A1 (ko)
JP (2) JP2007527556A (ko)
KR (2) KR20050107629A (ko)
CN (2) CN100392562C (ko)
CA (2) CA2519762A1 (ko)
GB (1) GB0306875D0 (ko)
WO (2) WO2004086208A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100711194B1 (ko) * 2005-02-04 2007-04-24 바이어스아이티 주식회사 다중 레이어 기반의 이미지 및 오디오 아바타 파일 생성및 재생 방법
US9843772B2 (en) 2015-01-09 2017-12-12 Korea Advanced Institute Of Science And Technology Method for providing telepresence using avatars, and system and computer-readable recording medium using the same

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0306875D0 (en) * 2003-03-25 2003-04-30 British Telecomm Apparatus and method for generating behavior in an object
US7346478B2 (en) * 2004-09-21 2008-03-18 Ford Motor Company Method of embedding tooling control data within mechanical fixture design to enable programmable logic control verification simulation
JP2006146435A (ja) * 2004-11-17 2006-06-08 Univ Waseda 動作伝達システムおよび動作伝達方法
US8136038B2 (en) * 2005-03-04 2012-03-13 Nokia Corporation Offering menu items to a user
US7512537B2 (en) * 2005-03-22 2009-03-31 Microsoft Corporation NLP tool to dynamically create movies/animated scenes
US20070015121A1 (en) * 2005-06-02 2007-01-18 University Of Southern California Interactive Foreign Language Teaching
DE102005035903A1 (de) 2005-07-28 2007-02-08 X-Aitment Gmbh Generische KI-Architektur für ein Multiagenten-System
WO2007076513A2 (en) * 2005-12-27 2007-07-05 Bonnie Johnson Virtual counseling practice
CA2657176C (en) * 2006-07-12 2015-09-08 Medical Cyberworlds, Inc. Computerized medical training system
US8010474B1 (en) 2006-09-05 2011-08-30 Aol Inc. Translating paralinguisitic indicators
US8726195B2 (en) 2006-09-05 2014-05-13 Aol Inc. Enabling an IM user to navigate a virtual world
US20080120558A1 (en) * 2006-11-16 2008-05-22 Paco Xander Nathan Systems and methods for managing a persistent virtual avatar with migrational ability
JP2010533006A (ja) * 2007-03-01 2010-10-21 ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 仮想世界とコミュニケーションを取るためのシステムおよび方法
US20080215974A1 (en) * 2007-03-01 2008-09-04 Phil Harrison Interactive user controlled avatar animations
GB0703974D0 (en) * 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
WO2008151419A1 (en) * 2007-06-11 2008-12-18 Darwin Dimensions Inc. Sex selection in inheritance based avatar generation
WO2008151420A1 (en) * 2007-06-11 2008-12-18 Darwin Dimensions Inc. Automatic feature mapping in inheritance based avatar generation
WO2008151422A1 (en) * 2007-06-11 2008-12-18 Darwin Dimensions Inc. Dynamic user interface for inheritance based avatar generation
US8130219B2 (en) * 2007-06-11 2012-03-06 Autodesk, Inc. Metadata for avatar generation in virtual environments
US8930463B2 (en) * 2007-07-09 2015-01-06 Yahoo! Inc. Super-emoticons
KR101399199B1 (ko) * 2007-07-16 2014-05-27 삼성전자주식회사 소프트웨어 로봇의 유전자 코드 구성 방법
US20090058862A1 (en) * 2007-08-27 2009-03-05 Finn Peter G Automatic avatar transformation for a virtual universe
US20090069084A1 (en) * 2007-09-12 2009-03-12 Reece Alex D System and Methods for Monitoring and Controlling the Actions of an Avatar in a Virtual Environment
US20090128567A1 (en) * 2007-11-15 2009-05-21 Brian Mark Shuster Multi-instance, multi-user animation with coordinated chat
US20090157481A1 (en) * 2007-12-13 2009-06-18 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for specifying a cohort-linked avatar attribute
US9211077B2 (en) * 2007-12-13 2015-12-15 The Invention Science Fund I, Llc Methods and systems for specifying an avatar
US20090156955A1 (en) * 2007-12-13 2009-06-18 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for comparing media content
US8356004B2 (en) * 2007-12-13 2013-01-15 Searete Llc Methods and systems for comparing media content
US20090157660A1 (en) * 2007-12-13 2009-06-18 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems employing a cohort-linked avatar
US20090164458A1 (en) * 2007-12-20 2009-06-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems employing a cohort-linked avatar
US20090157625A1 (en) * 2007-12-13 2009-06-18 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for identifying an avatar-linked population cohort
US20090157751A1 (en) * 2007-12-13 2009-06-18 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for specifying an avatar
US20090164302A1 (en) * 2007-12-20 2009-06-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for specifying a cohort-linked avatar attribute
US8069125B2 (en) * 2007-12-13 2011-11-29 The Invention Science Fund I Methods and systems for comparing media content
US20090157813A1 (en) * 2007-12-17 2009-06-18 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for identifying an avatar-linked population cohort
US8615479B2 (en) 2007-12-13 2013-12-24 The Invention Science Fund I, Llc Methods and systems for indicating behavior in a population cohort
US8195593B2 (en) * 2007-12-20 2012-06-05 The Invention Science Fund I Methods and systems for indicating behavior in a population cohort
US20090171164A1 (en) * 2007-12-17 2009-07-02 Jung Edward K Y Methods and systems for identifying an avatar-linked population cohort
US8390629B2 (en) * 2007-12-17 2013-03-05 Pixar Methods and apparatus for designing animatronics units from articulated computer generated characters
EP2227802A4 (en) * 2007-12-17 2012-04-25 Pixar METHOD AND DEVICE FOR DESIGNING ANIMATRONIC UNITS FROM COMPUTER-GENERATED JOINTFIGURES
US8150796B2 (en) * 2007-12-20 2012-04-03 The Invention Science Fund I Methods and systems for inducing behavior in a population cohort
US9418368B2 (en) * 2007-12-20 2016-08-16 Invention Science Fund I, Llc Methods and systems for determining interest in a cohort-linked avatar
US20090164503A1 (en) * 2007-12-20 2009-06-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for specifying a media content-linked population cohort
US20090164131A1 (en) * 2007-12-20 2009-06-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for specifying a media content-linked population cohort
US9775554B2 (en) * 2007-12-31 2017-10-03 Invention Science Fund I, Llc Population cohort-linked avatar
US20090192785A1 (en) * 2008-01-29 2009-07-30 Anna Carpenter Cavender System and method for optimizing natural language descriptions of objects in a virtual environment
US9110890B2 (en) * 2008-02-15 2015-08-18 International Business Machines Corporation Selecting a language encoding of a static communication in a virtual universe
US20090210803A1 (en) * 2008-02-15 2009-08-20 International Business Machines Corporation Automatically modifying communications in a virtual universe
US7447996B1 (en) * 2008-02-28 2008-11-04 International Business Machines Corporation System for using gender analysis of names to assign avatars in instant messaging applications
WO2009149076A1 (en) * 2008-06-02 2009-12-10 Nike International, Ltd. System and method for creating an avatar
US20090319397A1 (en) * 2008-06-19 2009-12-24 D-Link Systems, Inc. Virtual experience
IL192478A0 (en) * 2008-06-26 2009-02-11 Shimon Elnatan System and method for simplifying the creation and storage of complex animation objects and movies
US8200578B2 (en) * 2008-07-09 2012-06-12 Hill Matthew D Methods and systems for account management and virtual agent design and implementation
US8446414B2 (en) * 2008-07-14 2013-05-21 Microsoft Corporation Programming APIS for an extensible avatar system
US20120246585A9 (en) * 2008-07-14 2012-09-27 Microsoft Corporation System for editing an avatar
US8384719B2 (en) * 2008-08-01 2013-02-26 Microsoft Corporation Avatar items and animations
US9223469B2 (en) * 2008-08-22 2015-12-29 Intellectual Ventures Fund 83 Llc Configuring a virtual world user-interface
US8296246B2 (en) * 2008-09-02 2012-10-23 International Business Machines Corporation Allocating virtual universe customer service
US20100083112A1 (en) * 2008-09-23 2010-04-01 International Business Machines Corporation Managing virtual universe avatar behavior ratings
US20100088084A1 (en) * 2008-10-03 2010-04-08 International Business Machines Corporation Method for translating a non-verbal communication within a virtual world environment
US8266536B2 (en) * 2008-11-20 2012-09-11 Palo Alto Research Center Incorporated Physical-virtual environment interface
US20100131876A1 (en) * 2008-11-21 2010-05-27 Nortel Networks Limited Ability to create a preferred profile for the agent in a customer interaction experience
US9741147B2 (en) * 2008-12-12 2017-08-22 International Business Machines Corporation System and method to modify avatar characteristics based on inferred conditions
KR101381594B1 (ko) * 2008-12-22 2014-04-10 한국전자통신연구원 가상현실을 이용한 교육 장치 및 방법
WO2010093995A1 (en) * 2009-02-13 2010-08-19 Social Gaming Network Apparatuses, methods and systems for an interworld feedback platform bridge
EP2400462A1 (en) * 2009-02-18 2011-12-28 Nec Corporation Device for control of moving subject, system for control of moving subject, method for control of moving subject, and program
US8262474B2 (en) 2009-04-21 2012-09-11 Mcmain Michael Parker Method and device for controlling player character dialog in a video game located on a computer-readable storage medium
US8390680B2 (en) 2009-07-09 2013-03-05 Microsoft Corporation Visual representation expression based on player expression
US8380649B2 (en) 2009-07-10 2013-02-19 International Business Machines Corporation Application of normative rules in a virtual universe
US8347217B2 (en) 2009-12-02 2013-01-01 International Business Machines Corporation Customized rule application as function of avatar data
US20110225039A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Virtual social venue feeding multiple video streams
US20110225515A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Sharing emotional reactions to social media
US20110239136A1 (en) * 2010-03-10 2011-09-29 Oddmobb, Inc. Instantiating widgets into a virtual social venue
US20110225518A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Friends toolbar for a virtual social venue
US20110225519A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Social media platform for simulating a live experience
US8667402B2 (en) * 2010-03-10 2014-03-04 Onset Vi, L.P. Visualizing communications within a social setting
US8572177B2 (en) 2010-03-10 2013-10-29 Xmobb, Inc. 3D social platform for sharing videos and webpages
US8875019B2 (en) * 2010-03-16 2014-10-28 International Business Machines Corporation Virtual cultural attache
KR20110107428A (ko) * 2010-03-25 2011-10-04 삼성전자주식회사 컨텐츠 제작을 위한 그래픽 유저 인터페이스를 제공하는 디지털 기기 및 그의 그래픽 유저 인터페이스 제공 방법 및 그 방법을 수행하기 위한 프로그램이 기록된 기록 매체
US20110250575A1 (en) * 2010-04-13 2011-10-13 enVie Interactive LLC System And Method For Providing A Visual Representation Of A User Personality Within A Virtual Environment
US8323068B2 (en) * 2010-04-23 2012-12-04 Ganz Villagers in a virtual world with upgrading via codes
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
CN106943742B (zh) * 2011-02-11 2024-04-26 漳州市阿思星谷电子科技有限公司 一种动作放大系统
US20130038756A1 (en) * 2011-08-08 2013-02-14 Samsung Electronics Co., Ltd. Life-logging and memory sharing
KR101885295B1 (ko) * 2011-12-26 2018-09-11 엘지전자 주식회사 전자기기 및 그 제어방법
KR101190660B1 (ko) 2012-07-23 2012-10-15 (주) 퓨처로봇 로봇 제어 시나리오 생성 방법 및 장치
TWI569156B (zh) 2012-10-09 2017-02-01 萬國商業機器公司 提供電子裝置之使用者介面的方法及其電子裝置
US9852381B2 (en) * 2012-12-20 2017-12-26 Nokia Technologies Oy Method and apparatus for providing behavioral pattern generation for mixed reality objects
EP3028201A4 (en) 2013-08-02 2017-03-22 Auckland Uniservices Limited System for neurobehavioural animation
US10304114B2 (en) 2014-03-25 2019-05-28 Ebay Inc. Data mesh based environmental augmentation
US20160148529A1 (en) 2014-11-20 2016-05-26 Dharma Systems Inc. System and method for improving personality traits
IN2015CH03967A (ko) 2015-07-31 2015-08-14 Wipro Ltd
US20170124901A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome introversion
US20170186334A1 (en) * 2015-11-04 2017-06-29 Dharma Life Sciences Llc System and method for enabling a user to improve on behavioral traits that are required for achieving success
US20170124906A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome perfectionism
US20160293044A1 (en) * 2015-11-04 2016-10-06 Dharma Life Sciences Llc System and method for enabling a user to overcome impatience laziness and low trust issues
US20170124910A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome submissiveness
US20170124896A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome sensitivity
US20170124903A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome anxiety
US20170124897A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome high empathy
US20170124904A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome low empathy
US20160328992A1 (en) * 2015-11-04 2016-11-10 Dharma Life Sciences Llc System and method for enabling a user to overcome low self esteem and narcissism
US20170124905A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome social anxiety
US20170124902A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome low self-esteem
US20170124909A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome anger
US20170124907A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome lack of self control
US20170124908A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome pessimism
US20170124900A1 (en) * 2015-11-04 2017-05-04 Dharma Life Sciences Llc System and method for enabling a user to overcome weak behavioral traits
EP3371778A4 (en) * 2015-11-06 2019-06-26 Mursion, Inc. CONTROL SYSTEM FOR VIRTUAL FIGURES
CN105511930A (zh) * 2015-12-30 2016-04-20 北京像素软件科技股份有限公司 一种游戏技能的实现方法及装置
US10239205B2 (en) * 2016-06-29 2019-03-26 International Business Machines Corporation System, method, and recording medium for corpus curation for action manifestation for cognitive robots
JP7140984B2 (ja) * 2018-02-16 2022-09-22 日本電信電話株式会社 非言語情報生成装置、非言語情報生成モデル学習装置、方法、及びプログラム
JP7280512B2 (ja) 2018-02-16 2023-05-24 日本電信電話株式会社 非言語情報生成装置及びプログラム
WO2019160105A1 (ja) 2018-02-16 2019-08-22 日本電信電話株式会社 非言語情報生成装置、非言語情報生成モデル学習装置、方法、及びプログラム
KR102543656B1 (ko) 2018-03-16 2023-06-15 삼성전자주식회사 화면 제어 방법 및 이를 지원하는 전자 장치
CN109063595B (zh) * 2018-07-13 2020-11-03 苏州浪潮智能软件有限公司 一种将肢体动作转换为计算机语言的方法及装置
KR102530264B1 (ko) * 2018-08-08 2023-05-09 삼성전자 주식회사 아바타에 대응하는 속성에 따른 아이템을 제공하는 방법 및 장치
US10896534B1 (en) 2018-09-19 2021-01-19 Snap Inc. Avatar style transformation using neural networks
US11544594B2 (en) * 2019-04-11 2023-01-03 Sunghee Woo Electronic device comprising user interface for providing user-participating-type AI training service, and server and method for providing user-participating-type AI training service using the electronic device
US20210035047A1 (en) * 2019-08-02 2021-02-04 Capital One Services, Llc Utilizing a machine learning model to determine anonymized avatars for employment interviews
US11991419B2 (en) 2020-01-30 2024-05-21 Snap Inc. Selecting avatars to be included in the video being generated on demand
CN111870917B (zh) * 2020-07-24 2021-07-23 合肥安达创展科技股份有限公司 滑雪装置的模拟运行方法、系统及计算机可读储存介质
US11738943B2 (en) * 2021-09-07 2023-08-29 Lasso Loop Recycling LLC. Processed used-material collection and transfer system and method
US11861778B1 (en) * 2022-07-25 2024-01-02 Gravystack, Inc. Apparatus and method for generating a virtual avatar

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5395042A (en) * 1994-02-17 1995-03-07 Smart Systems International Apparatus and method for automatic climate control
US5982853A (en) 1995-03-01 1999-11-09 Liebermann; Raanan Telephone for the deaf and method of using same
JPH0981632A (ja) * 1995-09-13 1997-03-28 Toshiba Corp 情報公開装置
US5880731A (en) * 1995-12-14 1999-03-09 Microsoft Corporation Use of avatars with automatic gesturing and bounded interaction in on-line chat session
US6463446B1 (en) * 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US5884029A (en) 1996-11-14 1999-03-16 International Business Machines Corporation User interaction with intelligent virtual objects, avatars, which interact with other avatars controlled by different users
JP3932462B2 (ja) * 1997-05-27 2007-06-20 ソニー株式会社 クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体
DE69739216D1 (de) * 1997-08-29 2009-03-05 Sony France Sa Der Entwicklung von konditionierten Reflexen angepasstes System
JP3178393B2 (ja) 1997-11-11 2001-06-18 オムロン株式会社 行動生成装置、行動生成方法及び行動生成プログラム記録媒体
JPH11213179A (ja) * 1998-01-23 1999-08-06 Sony Corp 共有仮想空間提供装置および方法、並びに提供媒体
US6185534B1 (en) * 1998-03-23 2001-02-06 Microsoft Corporation Modeling emotion and personality in a computer user interface
US6230111B1 (en) * 1998-08-06 2001-05-08 Yamaha Hatsudoki Kabushiki Kaisha Control system for controlling object using pseudo-emotions and pseudo-personality generated in the object
JP2000107442A (ja) * 1998-10-06 2000-04-18 Konami Co Ltd ビデオゲームにおけるキャラクタ挙動制御方法、ビデオゲーム装置及びビデオゲームプログラムが記録された可読記録媒体
JP2000155750A (ja) * 1998-11-24 2000-06-06 Omron Corp 行動生成装置、行動生成方法及び行動生成プログラム記録媒体
US7061493B1 (en) * 1999-04-07 2006-06-13 Fuji Xerox Co., Ltd. System for designing and rendering personalities for autonomous synthetic characters
CN1161700C (zh) * 1999-04-30 2004-08-11 索尼公司 网络系统
US7079712B1 (en) 1999-05-25 2006-07-18 Silverbrook Research Pty Ltd Method and system for providing information in a document
JP2001034378A (ja) * 1999-07-23 2001-02-09 Kansai Tlo Kk オブジェクト出力システム、オブジェクト管理装置、オブジェクト出力装置、及び記録媒体
US6522333B1 (en) 1999-10-08 2003-02-18 Electronic Arts Inc. Remote communication through visual representations
JP2001191274A (ja) * 1999-12-30 2001-07-17 Sony Corp データ保持装置、ロボット装置、変更装置及び変更方法
JP2001277163A (ja) * 2000-04-03 2001-10-09 Sony Corp ロボットの制御装置及び制御方法
JP2002018146A (ja) * 2000-07-04 2002-01-22 Tomy Co Ltd 対話型玩具、反応行動パターン生成装置および反応行動パターン生成方法
JP2002312295A (ja) * 2001-04-09 2002-10-25 Nec Interchannel Ltd 仮想3次元空間会話システム
US8108509B2 (en) * 2001-04-30 2012-01-31 Sony Computer Entertainment America Llc Altering network transmitted content data based upon user specified characteristics
US7663628B2 (en) * 2002-01-22 2010-02-16 Gizmoz Israel 2002 Ltd. Apparatus and method for efficient animation of believable speaking 3D characters in real time
JP2003337956A (ja) * 2002-03-13 2003-11-28 Matsushita Electric Ind Co Ltd コンピュータグラフィックス・アニメーション装置及びコンピュータグラフィックス・アニメーション方法
GB0306875D0 (en) * 2003-03-25 2003-04-30 British Telecomm Apparatus and method for generating behavior in an object

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100711194B1 (ko) * 2005-02-04 2007-04-24 바이어스아이티 주식회사 다중 레이어 기반의 이미지 및 오디오 아바타 파일 생성및 재생 방법
US9843772B2 (en) 2015-01-09 2017-12-12 Korea Advanced Institute Of Science And Technology Method for providing telepresence using avatars, and system and computer-readable recording medium using the same

Also Published As

Publication number Publication date
KR101106002B1 (ko) 2012-01-18
EP1606697A1 (en) 2005-12-21
KR20050107629A (ko) 2005-11-14
US20060224546A1 (en) 2006-10-05
JP2007527556A (ja) 2007-09-27
JP2006525570A (ja) 2006-11-09
CN1764889A (zh) 2006-04-26
GB0306875D0 (en) 2003-04-30
CA2520036A1 (en) 2004-10-07
WO2004086207A1 (en) 2004-10-07
WO2004086208A2 (en) 2004-10-07
US20060184355A1 (en) 2006-08-17
JP4579904B2 (ja) 2010-11-10
CN100392562C (zh) 2008-06-04
CN100407111C (zh) 2008-07-30
CN1764890A (zh) 2006-04-26
WO2004086208A3 (en) 2004-11-25
CA2519762A1 (en) 2004-10-07
EP1606698A2 (en) 2005-12-21
US7574332B2 (en) 2009-08-11

Similar Documents

Publication Publication Date Title
KR101106002B1 (ko) 객체에서의 행동을 생성하는 장치 및 방법
Vinayagamoorthy et al. An eye gaze model for dyadic interaction in an immersive virtual environment: Practice and experience
Manninen Rich interaction in the context of networked virtual environments—Experiences gained from the multi-player games domain
Gillies et al. Integrating autonomous behavior and user control for believable agents
Tastan et al. Using handheld user interface and direct manipulation for architectural modeling in immersive virtual reality: An exploratory study
Shi et al. Smart avatars in jackmoo
WO1998006043A1 (en) A method and system for scripting interactive animated actors
Gillies et al. Individuality and Contextual Variation of Character Behaviour for Interactive Narrative.
Gillies et al. Piavca: a framework for heterogeneous interactions with virtual characters
Gillies et al. Customisation and context for expressive behaviour in the broadband world
Turner et al. SL-Bots: Automated and Autonomous Performance Art in Second Life
Capin et al. Integration of avatars and autonomous virtual humans in networked virtual environments
Gittens Dyadic-XV: A Taxonomy of Digital Beings
Gillies et al. Direct manipulation like tools for designing intelligent virtual agents
Barnes Visual programming agents for virtual environments
TANAZAWA et al. A survey of the effects of non-emotional motion features on emotion
Gillies et al. Affective interactions between expressive characters
Young et al. Style by Demonstration: Using Broomsticks and Tangibles to Show Robots How to Follow People
Gillies Applying direct manipulation interfaces to customizing player character behaviour
Gillies GOLDSMITHS Research Online
KR20110030204A (ko) 로봇 행동양식 구현시스템, 그 방법 및 그 기록매체
Pirjanian et al. Bouncy: An interactive life-like pet
Gillies et al. Relationships and interactions of multiple characters for interactive narrative
Barakonyi et al. zum Zwecke der Erlangung des akademischen Grades eines Doktors der technischen Wissenschaften
Afzal The Role of Avatars in AR/VR Systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee