KR20160065902A - 증강 현실 장치, 방법 및 프로그램 - Google Patents

증강 현실 장치, 방법 및 프로그램 Download PDF

Info

Publication number
KR20160065902A
KR20160065902A KR1020167010872A KR20167010872A KR20160065902A KR 20160065902 A KR20160065902 A KR 20160065902A KR 1020167010872 A KR1020167010872 A KR 1020167010872A KR 20167010872 A KR20167010872 A KR 20167010872A KR 20160065902 A KR20160065902 A KR 20160065902A
Authority
KR
South Korea
Prior art keywords
mobile device
state
context
interaction
providing
Prior art date
Application number
KR1020167010872A
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 KR20160065902A publication Critical patent/KR20160065902A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/332Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/88Mini-games executed independently while main games are being loaded
    • 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
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/217Input arrangements for video game devices characterised by their sensors, purposes or types using environment-related information, i.e. information generated otherwise than by the player, e.g. ambient temperature or humidity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

AV(augmented virtuality) 경험을 사용자에게 제공하기 위한 기술이 여기서 설명된다. AV 경험을 제공하기 위한 방법의 예는 모바일 디바이스의 위치를 결정하는 단계; 위치에 기초하여 콘택스트(context)를 결정하는 단계; AV 객체 정보를 획득하는 단계; 콘택스트에 관하여 AV 객체 정보를 디스플레이하는 단계; 콘택스트와의 상호작용을 검출하는 단계; 상호작용에 기초하여 AV 객체 정보를 수정하는 단계; 및 수정된 AV 객체 정보를 디스플레이하는 단계를 포함한다. 콘택스트는 가중화 정보를 포함할 수 있다. 가중화 정보는 RSSI(Received Signal Strength Indication) 또는 RTT(Round-Trip Time) 데이터에 기초할 수 있다. 가중화 정보는 콘택스트에서 물리적 객체의 구성요소(composition)와 연관될 수 있다. 사용자 제스처(gesture)가 수신될 수 있고 AV 객체 정보는 수신된 제스처 정보에 기초하여 수정될 수 있다.

Description

증강 현실 장치, 방법 및 프로그램{AUGMENTED REALITY APPARATUS, METHOD AND PROGRAM}
[0001] 모바일 컴퓨팅 디바이스들(모바일 디바이스들)은 무선 통신 시스템들을 통해 다양한 정보에 대한 액세스를 사용자들에게 제공한다. 몇몇 모바일 컴퓨팅 디바이스들은 이미지 또는 텍스트 정보와 같은 컴퓨터 생성 정보에 따라 스크린 상에서 실세계 객체가 이미징되고 디스플레이되는 AR(augmented reality) 애플리케이션들을 위해 이용될 수 있다. AR은 빌딩 또는 물건과 같은 실세계 객체에 관한 정보를 그래픽 또는 텍스트로 제공하는데 이용될 수 있다. 통상적으로, AR 객체를 랜더링할 때 위치 또는 다른 주변 객체들은 고려되지 않는다.
[0002] 증강 현실 애플리케이션에서 이용하기 위해, 모바일 디바이스들은 또한, 실세계 객체들 또는 이벤트들이 가상 세계에 합쳐지는 AV(Augmented Virtuality)를 사용자들이 익스플로잉(explore)하는 것을 가능케 한다. 예를 들어, 모바일 디바이스 상의 포지션 결정 모듈은 증강 현실 객체의 상대적 위치를 도시하는 그래픽 객체와 함께 그의 주변 환경(가상 세계를 포함함)의 콘택스트(context)(예를 들어, 지도, 위치, 이미지들)를 사용자에게 제시하는데 이용될 수 있다. 모바일 디바이스는, 모바일 디바이스의 위치는 물론 객체와 연관된 특징들에 기초하여 사용자가 증강 현실 객체와 상호작용하는 것을 허용하게 구성될 수 있다. 증강 현실 객체는 사전에 모바일 디바이스 상에 저장되거나 네트워크를 통해 액세스될 수 있다. 증강 현실 객체는 크기, 형상, 위치, 속도 및 방향과 같은 특징들(예를 들어, 변수들)을 갖는 가상 객체일 수 있다. 가상 객체는 실세계 또는 판타지 객체들에 기초한 그래픽 이미지 또는 다른 애니메이션 객체(예를 들어, 공, 플라잉 쿠폰, 홍수, 벌레 떼, 몬스터 등)와 연관될 수 있다. 가상 객체들은 마케팅 및 광고와 같은 사업 애플리케이션은 물론, 트레이닝 보조 및 게임들과 같은 교육적 및 오락적 애플리케이션들에서 이용될 수 있다. 모바일 디바이스 상에 도시된 가상 세계에서의 가상 객체의 거동은, 알고리즘에 기초하여 또는 사용자의 실세계 콘택스트에서 발생하는 이벤트들로부터의 입력들 또는 이들의 임의의 결합에 기초할 수 있다.
[0003] 본 개시에 따라 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 방법의 예는 모바일 디바이스의 위치를 결정하는 단계, 위치에 기초하여 콘택스트를 결정하는 단계, AV 객체 정보를 획득하는 단계, 콘택스트에 관하여 AV 객체 정보를 디스플레이하는 단계, 콘택스트와의 상호작용을 검출하는 단계, 상호작용에 기초하여 AV 객체 정보를 수정하는 단계, 및 수정된 AV 객체 정보를 디스플레이하는 단계를 포함한다.
[0004] 방법의 구현들은 다음의 특징들 중 하나 또는 그 초과를 포함할 수 있다. 콘택스트는 가중화 정보를 포함할 수 있다. 가중화 정보는 RSSI(Received Signal Strength Indication) 또는 RTT(Round-Trip Time) 데이터에 기초할 수 있다. 가중화 정보는 콘택스트에서 물리적 객체의 구성요소(composition)와 연관될 수 있다. 사용자 제스처(gesture)가 수신될 수 있고 AV 객체 정보는 수신된 제스처 정보에 기초하여 수정될 수 있다. 경고가 사용자에게 제공될 수 있고 AV 객체 정보는 반응 시간에 기초하여 수정될 수 있어서, 반응 시간은 경고 신호가 제공된 시간과 제스처가 수신된 시간 간의 차이가 된다. AV 객체 정보는 AV(augmented virtuality) 서버로부터 수신될 수 있고 수정된 AV 객체 정보는 AV 서버에 제공될 수 있다.
[0005] 본 개시에 따라 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 방법의 예는 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하는 단계, AV 객체에 대한 상태를 생성하는 단계, 콘택스트 상호작용 결과를 결정하는 단계, 콘택스트 상호작용 결과에 기초하여 AV 객체의 상태를 수정하는 단계, 모바일 디바이스 상호작용 결과를 결정하는 단계, 모바일 디바이스 상호작용 결과에 기초하여 AV 객체의 상태를 수정하는 단계, 및 AV 객체를 디스플레이하는 단계를 포함한다.
[0006] 방법의 구현들은 다음의 특징들 중 하나 또는 그 초과를 포함할 수 있다. AV 객체의 상태는 방향 변수를 포함할 수 있다. AV 객체의 상태는 모바일 디바이스 상호작용 결과에 기초하여 수정될 수 있으며, 이는 방향 변수를 수정하는 것을 포함한다. 모바일 디바이스 상호작용 결과에 기초하여 AV 객체의 상태를 수정하는 단계는 방향 변수를 수정하는 단계를 포함할 수 있다. AV 객체의 상태는 크기 변수를 포함할 수 있다. 콘택스트 상호작용 결과에 기초하여 AV 객체의 상태를 수정하는 단계는 크기 변수를 수정하는 단계를 포함할 수 있다. 모바일 디바이스 상호작용 결과는 사용자로부터의 제스처를 수신함으로써 결정될 수 있다. 모바일 디바이스의 상태는 모바일 디바이스 상호작용 결과에 기초하여 수정될 수 있다.
[0007] 본 개시에 따라 AV(Augmented Virtuality) 애플리케이션들에서 가상 툴들을 이용하는 방법의 예는 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하는 단계, 가상 위협(virtual threat)에 대한 상태를 생성하는 단계, 가상 툴에 대한 상태를 생성하는 단계, 콘택스트 상호작용 결과를 결정하는 단계, 툴 상호작용 결과를 결정하는 단계, 콘택스트 상호작용 결과 및 툴 상호작용 결과에 기초하여 가상 위협의 상태를 수정하는 단계, 및 가상 위협 및 가상 툴을 디스플레이하는 단계를 포함한다.
[0008] 방법의 구현들은 다음의 특징들 중 하나 또는 그 초과를 포함할 수 있다. 가상 툴의 상태는 위치 변수를 포함할 수 있다. 가상 툴의 상태는 모바일 디바이스의 상태에 기초하여 수정될 수 있다. 툴 상호작용 결과는 가상 툴의 수정된 상태에 기초하여 결정될 수 있다. 툴 상호작용 결과는 가상 위협의 상태를 제한할 수 있다.
[0009] 본 개시에 따라 AV(Augmented Virtuality) 애플리케이션에서 상호작용 변수들을 결정하는 방법의 예는 콘택스트를 획득하는 단계, 콘택스트 내의 하나 또는 그 초과의 영역들에 대응하는 위치 데이터를 결정하는 단계, 하나 또는 그 초과의 영역들 각각에 대한 가중화 정보를 결정하는 단계, 가중화 정보에 기초하여 상호작용 변수들을 결정하는 단계, 및 상호작용 변수들을 저장하는 단계를 포함한다.
[0010] 방법의 구현들은 다음의 특징들 중 하나 또는 그 초과를 포함할 수 있다. 가중화 정보는 RSSI 정보에 기초할 수 있다. 가중화 정보는 RTT 정보에 기초할 수 있다.
[0011] 본 개시에 따라 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 방법의 예는 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하는 단계, 콘택스트 내에서 제어 영역을 설정하는 단계, 방랑하는 위협(roving threat)에 대한 상태를 생성하는 단계 ― 방랑하는 위협의 상태는 콘택스트에 의해 제한됨 ― , 방랑하는 위협에 대한 교전 구역(engagement zone)을 결정하는 단계 ― 교전 구역은 콘택스트에 의해 제한됨 ― , 모바일 디바이스의 상태를 결정하는 단계 ― 상태는 현재 위치를 포함함 ― , 그리고 모바일 디바이스의 상태에 기초하여 제 1 미니-게임을 개시하는 단계를 포함한다.
[0012] 방법의 구현들은 다음의 특징들 중 하나 또는 그 초과를 포함할 수 있다. 제 1 미니-게임은 모바일 디바이스의 위치가 제어 영역 내에 있을 때 개시될 수 있다. 제 2 미니-게임은 모바일 디바이스의 위치가 교전 구역 내에 있을 때 개시될 수 있다. 교전 구역은 시선(line of sight) 변수를 포함할 수 있다. 시선 변수는 콘택스트에 의해 제한될 수 있다.
[0013] 본 개시에 따라 하나 또는 그 초과의 모바일 디바이스들에 AV(augmented virtuality) 객체 정보를 제공하기 위한 방법의 예는 모바일 디바이스를 AV 서버에 등록하는 단계, AV 서버로부터 AV 객체 정보 및 피어 포지션 업데이트를 수신하는 단계 및 포지션 업데이트를 AV 서버에 제공하는 단계를 포함한다. 방법의 구현에서, 제스처 업데이트가 AV 서버에 제공될 수 있다.
[0014] 본 개시에 따라 하나 또는 그 초과의 모바일 디바이스들에 AV(augmented virtuality) 객체 정보를 제공하기 위한 방법의 예는 모바일 디바이스를 AV 서버에 등록하는 단계, AV 객체 물리 엔진 모듈을 수신하는 단계, 및 AV 객체 상태 변수 업데이트들을 AV 서버에 제공하는 단계를 포함한다.
[0015] 본 개시에 따라 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 장치의 예는, 메모리 모듈, 및 메모리 모듈에 커플링되는 프로세서를 포함하고, 프로세서는 모바일 디바이스의 위치를 결정하도록, 위치에 기초하여 콘택스트(context)를 결정하도록, AV 객체 정보를 획득하도록, 콘택스트에 관하여 AV 객체 정보를 디스플레이하도록, 콘택스트와의 상호작용을 검출하도록, 상호작용에 기초하여 AV 객체 정보를 수정하도록, 그리고 수정된 AV 객체 정보를 디스플레이하도록 구성된다.
[0016] 본 개시에 따라 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 장치의 예는, 메모리 모듈, 및 메모리 모듈에 커플링되는 프로세서를 포함하고, 프로세서는 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하도록, AV 객체에 대한 상태를 생성하도록, 콘택스트 상호작용 결과를 결정하도록, 콘택스트 상호작용 결과에 기초하여 AV 객체의 상태를 수정하도록, 모바일 디바이스 상호작용 결과를 결정하도록, 모바일 디바이스 상호작용 결과에 기초하여 AV 객체의 상태를 수정하도록, 그리고 AV 객체를 디스플레이하도록 구성된다.
[0017] 본 개시에 따라 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 장치의 예는 메모리 모듈, 및 메모리 모듈에 커플링되는 프로세서를 포함하고, 프로세서는, 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하도록, AV 객체에 대한 상태를 생성하도록, 콘택스트 상호작용 결과를 결정하도록, 콘택스트 상호작용 결과에 기초하여 AV 객체의 상태를 수정하도록, 모바일 디바이스 상호작용 결과를 결정하도록, 모바일 디바이스 상호작용 결과에 기초하여 AV 객체의 상태를 수정하도록, 그리고 AV 객체를 디스플레이하도록 구성된다.
[0018] 본 개시에 따라 AV(Augmented Virtuality) 애플리케이션들에서 가상 툴들을 이용하는 장치의 예는 메모리 모듈, 및 메모리 모듈에 커플링되는 프로세서를 포함하고, 프로세서는, 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하도록, 가상 위협(virtual threat)에 대한 상태를 생성하도록, 가상 툴에 대한 상태를 생성하도록, 콘택스트 상호작용 결과를 결정하도록, 툴 상호작용 결과를 결정하도록, 콘택스트 상호작용 결과 및 툴 상호작용 결과에 기초하여 가상 위협의 상태를 수정하도록, 그리고 가상 위협 및 가상 툴을 디스플레이하도록 구성된다.
[0019] 본 개시에 따라 AV(Augmented Virtuality) 애플리케이션에서 상호작용 변수들을 결정하는 장치의 예는 메모리 모듈, 및 메모리 모듈에 커플링되는 프로세서를 포함하고, 프로세서는, 콘택스트를 획득하도록, 콘택스트 내의 하나 또는 그 초과의 영역들에 대응하는 위치 데이터를 결정하도록, 영역들 각각에 대한 가중화 정보를 결정하도록, 가중화 정보에 기초하여 상호작용 변수들을 결정하도록, 그리고 상호작용 변수들을 저장하도록 구성된다.
[0020] 본 개시에 따라 AV(augmented virtuality) 경험을 사용자에게 제공하기 위한 장치의 예는 메모리 모듈, 및 메모리 모듈에 커플링되는 프로세서를 포함하고, 프로세서는, 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하도록, 콘택스트 내에서 제어 영역을 설정하도록, 방랑하는 위협(roving threat)에 대한 상태를 생성하도록 ― 방랑하는 위협의 상태는 콘택스트에 의해 제한됨 ― , 방랑하는 위협에 대한 교전 구역(engagement zone)을 결정하도록 ― 교전 구역은 콘택스트에 의해 제한됨 ― , 모바일 디바이스의 상태를 결정하도록 ― 상태는 현재 위치를 포함함 ― , 그리고 모바일 디바이스의 상태에 기초하여 제 1 미니-게임을 개시하도록 구성된다.
[0021] 본 개시에 따른, 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건의 예는 프로세서-실행 가능 명령들을 포함하고, 프로세서-실행 가능 명령들은 프로세서로 하여금, 모바일 디바이스의 위치를 결정하게 하고, 위치에 기초하여 콘택스트(context)를 결정하게 하고, AV 객체 정보를 획득하게 하고, 콘택스트에 관하여 AV 객체 정보를 디스플레이하게 하고, 콘택스트와의 상호작용을 검출하게 하고, 상호작용에 기초하여 AV 객체 정보를 수정하게 하고, 그리고 수정된 AV 객체 정보를 디스플레이하게 하도록 구성된다.
[0022] 본 개시에 따른, 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건의 예는 프로세서-실행 가능 명령들을 포함하고, 프로세서-실행 가능 명령들은 프로세서로 하여금, 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하게 하고, AV 객체에 대한 상태를 생성하게 하고, 콘택스트 상호작용 결과를 결정하게 하고, 콘택스트 상호작용 결과에 기초하여 AV 객체의 상태를 수정하게 하고, 모바일 디바이스 상호작용 결과를 결정하게 하고, 모바일 디바이스 상호작용 결과에 기초하여 AV 객체의 상태를 수정하게 하고, 그리고 AV 객체를 디스플레이하게 하도록 구성된다.
[0023] 본 개시에 따른, 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건의 예는 프로세서-실행 가능 명령들을 포함하고, 프로세서-실행 가능 명령들은 프로세서로 하여금, 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하게 하고, 가상 위협(virtual threat)에 대한 상태를 생성하게 하고, 가상 툴에 대한 상태를 생성하게 하고, 콘택스트 상호작용 결과를 결정하게 하고, 툴 상호작용 결과를 결정하게 하고, 콘택스트 상호작용 결과 및 툴 상호작용 결과에 기초하여 가상 위협의 상태를 수정하게 하고, 그리고 가상 위협 및 가상 툴을 디스플레이하게 하도록 구성된다.
[0024] 본 개시에 따른, 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건의 예는 프로세서-실행 가능 명령들을 포함하고, 프로세서-실행 가능 명령들은 프로세서로 하여금, 콘택스트를 획득하게 하고, 콘택스트 내의 복수의 영역들에 대응하는 위치 데이터를 결정하게 하고, 복수의 영역들 각각에 대한 가중화 정보를 결정하게 하고, 가중화 정보에 기초하여 상호작용 변수들을 결정하게 하고, 그리고 상호작용 변수들을 저장하게 하도록 구성된다.
[0025] 본 개시에 따른, 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건의 예는 프로세서-실행 가능 명령들을 포함하고, 프로세서-실행 가능 명령들은 프로세서로 하여금, 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하게 하고, 콘택스트 내에서 제어 영역을 설정하게 하고, 방랑하는 위협(roving threat)에 대한 상태를 생성하게 하고 ― 방랑하는 위협의 상태는 콘택스트에 의해 제한됨 ― , 방랑하는 위협에 대한 교전 구역(engagement zone)을 결정하게 하고 ― 교전 구역은 콘택스트에 의해 제한됨 ― , 모바일 디바이스의 상태를 결정하게 하고 ― 상태는 현재 위치를 포함함 ― , 그리고 모바일 디바이스의 상태에 기초하여 제 1 미니-게임을 개시하게 하도록 구성된다.
[0026] 여기서 설명된 아이템들 및/또는 기술들은 하기의 능력들 중 하나 또는 그 초과는 물론 언급되지 않은 능력들을 제공할 수 있다. 콘택스트는 모바일 디바이스의 위치와 연관될 수 있다. 콘택스트에 대한 가중화 함수들이 결정될 수 있다. AV(augmented virtuality) 객체들은 하나 또는 그 초과의 모바일 디바이스들 상에 제시되는 가상 객체들이다. AV 객체들은 실세계 객체들(예를 들어, 볼, 흐르는 물, 야생 동물들, 거품들, 팽창하는 가스 등)은 물론, 상상의 객체들(예를 들어, 마술 파이어 볼, 외계인 로봇, 화난 거인들, 플라잉 쿠폰들)을 모델링할 수 있다. AV 객체들은 가상 및 물리적 속성들을 모델링하도록 상태 변수들을 포함할 수 있다. 사용자들은 모바일 디바이스에서 센서들을 통해 AV 객체들과 상호작용할 수 있다. 하나 또는 그 초과의 AV 객체들의 상태 변수들을 콘택스트에 기초하여 수정되거나 제한될 수 있다. AV 서버는 AV 애플리케이션들을 호스팅하고 동작시킬 수 있다. 설계자들은 AV 애플리케이션들을 AV 서버 상에 등록할 수 있다. AV 애플리케이션들 및 연관된 AV 객체들은 모바일 디바이스들에 제공될 수 있다. AV 애플리케이션들은 로컬 및 클라이언트 구성들에서 실행될 수 있다. 모바일 디바이스들은 위치 및 AV 객체 상태 정보를 AV 서버에 제공하도록 구성될 수 있다. AV 서버는 하나 또는 그 초과의 모바일 디바이스들에 AV 객체 상태 정보를 전파시키도록 구성될 수 있다. AV 객체는 가상 툴(즉, 다른 AV 객체)을 표현할 수 있고, 사용자는 모바일 디바이스의 센서들을 통해 가상 툴과 상호작용할 수 있다. 가상 툴들은 콘택스트에 기초하여 수정되거나 제한될 수 있는 상태 변수들을 포함할 수 있다. 가상 툴들은 AV 객체들과 상호작용하는데 이용될 수 있다. 콘택스트는 하나 또는 그 초과의 제어 영역들을 포함할 수 있다. 모바일 디바이스는 제어 영역에 대한 그의 근접도에 기초하여 하나 또는 그 초과의 미니-게임들을 실행하도록 구성될 수 있다. 다른 능력들이 제공될 수 있고, 본 개시에 따른 각각의 모든 구현들은 논의된 능력들 중 전부는 물론이고 임의의 것을 제공해야 하는 것은 아니다. AV 객체와 콘택스트 간의 상호작용의 결과들은 광범위한 사업적, 교육적 및 엔터테인먼트 애플리케이션들에서 활용될 수 있다. 또한, 위에서 언급된 효과는 언급된 것 이외의 다른 수단에 의해 달성되는 것이 가능할 수 있고, 언급된 아이템/기술이 반드시 언급된 효과를 산출하지 않을 수도 있다.
[0027] 도 1은 AV(Augmented Virtuality) 시스템에 대한 예시적인 네트워크환경이다.
[0028] 도 2는 예시적인 모바일 디바이스의 개략적 블록도이다.
[0029] 도 3은 콘택스트 내에서 가중화 함수들을 결정하기 위한 예시적인 구성의 평면도이다.
[0030] 도 4는 AV 서버와 하나 또는 그 초과의 모바일 디바이스들 간의 예시적인 데이터 전달 방식의 블록 흐름도이다.
[0031] 도 5는 다중 상태들의 예시적인 AV 객체의 평면도이다.
[0032] 도 6은 콘택스트를 두루 이동하는 예시적인 AV 객체의 평면도이다.
[0033] 도 7은 예시적인 팽창하는 위협 AV 객체의 평면도이다.
[0034] 도 8은 예시적인 팽창하는 위협 및 가상 툴 AV 객체들을 갖는 콘택스트의 평면도이다.
[0035] 도 9는 예시적인 가상 트레이너 AV 객체를 갖는 콘택스트의 평면도이다.
[0036] 도 10은 다수의 제어 영역들 및 예시적인 방랑하는 위협 AV 객체들을 갖는 콘택스트의 평면도이다.
[0037] 도 11은 하나 또는 그 초과의 미니-게임들을 실행하는 모바일 디바이스의 평면도이다.
[0038] 도 12는 AV 객체를 디스플레이하기 위한 프로세스의 블록 흐름도이다.
[0039] 도 13a는 콘택스트 내의 영역들에 대한 상호작용 변수들을 결정하기 위한 프로세스의 블록 흐름도이다.
[0040] 도 13b는 가중화 정보 및 상호작용 변수들에 대한 예시적인 데이터 구조이다.
[0041] 도 14a는 AV 서버에 포지션 및 제스처 업데이트들을 제공하기 위한 프로세스의 블록 흐름도이다.
[0042] 도 14b는 AV 서버에 AV 객체 포지션 업데이트들을 제공하기 위한 프로세스의 블록 흐름도이다.
[0043] 도 15는 AV 객체의 상태 변수들을 수정하기 위한 프로세스의 블록 흐름도이다.
[0044] 도 16은 콘택스트 또는 툴 상호작용에 기초하여 AV 객체의 상태 변수들을 수정하기 위한 프로세스의 블록 흐름도이다.
[0045] 도 17은 모바일 디바이스 상에서 미니-게임을 개시하기 위한 프로세스의 블록 흐름도이다.
[0046] 사용자의 위치 및 위치와 연관된 콘택스트에 기초하여 사용자에게 AV(Augmented Virtuality) 객체들을 제공하기 위한 기술들이 여기서 논의된다. 예를 들어, 실제 위치의 지도가 포지셔닝 엔진 또는 서버로부터 획득되고 모바일 디바이스에 제공된다. 이 지도는 위치의 다양한 객체들 및 구조적 특징들과 연관되는 가중화 함수들을 표현하는, 열지도와 같은 부가적인 콘택스트 정보를 포함할 수 있다. 가중화 함수들은 액세스 포인트들로부터 획득된 RSSI(Received Signal Strength Indicator) 및 RTT(Round Trip Time) 데이터에 기초할 수 있다. 예를 들어, 가중화 함수들은, 벽들 및 다른 장애물들의 위치들, 또는 AV 객체들이 이동하거나 그 콘택스트 내에서 변형되는 방식을 결정하는데 이용될 수 있다. 콘택스트는, 예를 들어, 방들, 벽들, 문들, 복도들 및 다른 아키텍처 특징들의 위치들과 같은 구조적 엘리먼트들에 관한 정보를 포함할 수 있다. AV 객체의 상태 변수들(즉, 상태)은 콘택스트와 사용자와의 상호작용에 기초하여 수정될 수 있다. 예를 들어, AV 서버 또는 모바일 디바이스 상에서 실행되는 물리 엔진은 AV 객체와 콘택스트 간의 상호작용들, 및/또는 AV 객체와 사용자 간의 상호작용들의 결과들을 계산하는데 이용될 수 있다. AV 객체의 상태는 위치 내의 다른 모바일 디바이스들에게 전파되거나, 그렇지 않으면 액세스 가능하게 된다. 예를 들어, 콘택스트와 하나 또는 그 초과의 AV 객체들 간의 상호작용들은 다양한 사업적, 교육적 및 엔터테인먼트 애플리케이션들에서 이용될 수 있다. 그러나 이들 예들이 전체를 포괄하는 것은 아니다.
[0047] 도 1을 참조하면, AV(Augmented Virtuality) 시스템에 대한 예시적인 네트워크 환경(100)이 도시된다. 네트워크 환경(100)은 예를 들어, 모바일 디바이스들(120 및 130)과 같은 임의의 수의 모바일 디바이스들을 포함할 수 있다. 모바일 디바이스들(120 및 130)은 네트워크(140)를 통해 AV 서버(110)와 무선으로 통신할 수 있다. 모바일 디바이스들(120 및 130)은, 몇 개의 예들만 언급하자면, 셀룰러 전화, 스마트폰, 개인용 디지털 보조기기, 저(low) 듀티 사이클 통신 디바이스, 랩톱 컴퓨터, 휴대용 미디어 재생기 디바이스, 개인용 네비게이션 디바이스 및 디지털 카메라를 포함하는 휴대용 전자 디바이스를 포함하는 임의의 적합한 모바일 컴퓨팅 플랫폼을 포함할 수 있다. 네트워크 환경(100)은 네트워크(140)를 통해 AV 서버(110)와 또한 통신할 수 있는 컴퓨팅 플랫폼(122)과 같은 비-모바일 컴퓨팅 플랫폼을 더 포함할 수 있다. 적어도 일부 구현들에서, 모바일 디바이스는 예를 들어, 네트워크(140)를 활용하지 않고도 유선 또는 무선 통신에 의해 컴퓨팅 플랫폼(122)과 도킹(docking)함으로써 통신하도록 적응될 수 있다.
[0048] 네트워크(140)는 광역 네트워크(예를 들어, 인터넷), 로컬 영역 네트워크(예를 들어, 인트라넷), 및/또는 개인 영역 네트워크 중 하나 또는 그 초과를 포함할 수 있다. 예를 들어, 모바일 디바이스들(120 및 130)은, CDMA, GSM, 또는 WCDMA 및/또는 Wifi 또는 WiMAX와 같은 WLAN(wireless local area network) 프로토콜들과 같은 셀룰러 통신 프로토콜들을 포함하는 임의의 적합한 통신 프로토콜을 통해 AV 서버(110)와 무선으로 통신할 수 있다. 이에 따라, 네트워크(140)는 이러한 구현들에서, 하나 또는 그 초과의 무선 트랜시버들을 포함할 수 있다. 네트워크(140)의 무선 트랜시버들은 또한 모바일 디바이스 포지션을 추정하기 위한 포지셔닝 정보를 획득하도록 모바일 디바이스들(120 및 130)에 의해 활용될 수 있다.
[0049] 몇몇 구현들에서, 삼변측량(trilateration) 기반 접근법이 지리적인 포지션을 추정하기 위해 모바일 디바이스에 의해 활용될 수 있다. 예를 들어, 몇 개의 전송기 장착 기지국들 각각으로부터 전송된 무선 신호들의 상대적 도달 시간들을 모바일 디바이스에서 측정하는, CDMA의 AFLT(Advanced Forward Link Trilateration) 또는 GSM의 EOTD(Enhanced Observed Time Difference) 또는 WCDMA의 OTDOA(Observed Time Difference of Arrival)를 포함하는 기술들이 이용될 수 있다. 다른 예로서, 모바일 디바이스는 MAC(Media Access Control) 어드레스 또는 무선 트랜시버와 연관된 다른 적합한 식별자를 획득하고 MAC 어드레스 또는 식별자를 그 무선 트랜시버의 알려진 지리적인 위치와 상관시킴으로써 자신의 포지션을 추정할 수 있다.
[0050] 모바일 디바이스들(120 및 130)은 추가로 모바일 디바이스 포지션을 추정하기 위해 포지셔닝 시스템(150)으로부터 무선 포지셔닝 신호들을 획득할 수 있다. 예를 들어, 포지셔닝 시스템(150)은 SPS(Satellite Positioning System) 및/또는 육상 기반 포지셔닝 시스템을 포함할 수 있다. 위성 포지셔닝 시스템들은 예를 들어, GPS(Global Positioning System), Galileo, GLONASS, NAVSTAR, GNSS, 이들 시스템들의 결합들로부터 위성들을 이용하는 시스템, 또는 미래에 개발된 임의의 SPS를 포함할 수 있다. 여기서 이용된 바와 같이, SPS는 또한 의사위성(pseudolite) 시스템들을 포함하는 것으로 이해될 것이다. RSSI 및/또는 WiFi의 RTT 및 WLAN 신호들을 이용하는 것을 비롯해서, WiFi/WLAN 방법들과 같은 육상 포지셔닝 기술들이 또한 이용될 수 있다. 포지셔닝 시스템(150)은 포지셔닝 서버일 수 있고, 포지셔닝 시스템(150)의 기능성은 AV 서버(110)에 포함될 수 있다. 그러나 여기서 제공되는 특정한 포지셔닝 기술들은 단지 예시적인 포지셔닝 기술들이며, 청구된 청구 대상이 이러한 것으로 제한되지 않는다는 것이 이해되어야 한다.
[0051] AV 서버(110)는 하나 또는 그 초과의 서버들 및/또는 다른 적합한 컴퓨팅 플랫폼들을 포함할 수 있다. 이에 따라, AV 서버(110)는 데이터베이스(114) 및 명령들(116)이 저장되어 있는 저장 매체들(112)을 포함할 수 있다. 저장 매체들(112)은 메모리 모듈로 간주될 수 있다. AV 서버(110)는 명령들(116)을 실행하기 위한 및/또는 데이터베이스(114)에서의 데이터 저장 및 리트리브를 용이하게 하기 위한 예시적인 프로세서(118)와 같은 하나 또는 그 초과의 프로세서들을 포함할 수 있다. 프로세서(118)는 바람직하게는, 지능형 디바이스 예를 들어, Intel® Corporation 또는 AMD®에 의해 제조된 것들과 같은 개인용 컴퓨터 CPU(central processing unit), 마이크로제어기, ASIC(application specific integrated circuit) 등이다. AV 서버(110)는 추가로 모바일 디바이스들(120 및 130) 및 컴퓨팅 플랫폼(122)을 포함하는, 네트워크(140)의 클라이언트들과의 통신을 용이하게 하기 위한 통신 인터페이스(160)를 포함할 수 있다.
[0052] 개시된 구현들의 이해를 용이하게 하기 위해, 명령들(116)은 때때로, 특정한 동작들을 수행하기 위한 하나 또는 그 초과의 모듈들의 견지에서 설명될 수 있다. 일 예로서, 명령들(116)은 AV 객체와 콘택스트 및/또는 사용자 간의 상호작용의 결과들을 결정하기 위해 객체 상호작용 엔진 모듈(162)을 포함할 수 있다. 다른 예로서, 명령들(116)은 네트워크 내에서 AV 객체 정보의 전개를 관리하기 위해 콘텐츠 관리 모듈(164)을 포함할 수 있다. 콘텐츠 관리 모듈(164)은, 예를 들어, 모바일 디바이스(예를 들어, 모바일 디바이스(120)) 또는 다른 적합한 컴퓨팅 플랫폼(예를 들어, 컴퓨팅 플랫폼(122))을 통해 사용자(예를 들어, 인간 사용자)가 콘텐츠 관리 모듈과 상호작용하는 것을 가능케 하도록 다수의 툴들을 포함할 수 있다. 적어도 일부 구현들에서, 콘텐츠 관리 모듈(164)은 개발자(즉, 사용자)가 네트워크 시스템 내에서 AV 객체들을 전개하는 것을 가능케 하는 객체 전개 툴(166) 및 개발자가 AV 객체들을 등록하고 그 개발자에 의해 전개된 AV 객체 콘텐츠에 대한 다른 사용자들의 액세스 권리들을 관리하는 것을 가능케 하도록 객체 등록 툴(170)을 포함할 수 있다. 이러한 툴들은 모바일 디바이스 또는 다른 적합한 컴퓨팅 플랫폼의 입력 또는 출력 디바이스들을 통해 개발자에게 액세스 가능하게 될 수 있다. 예를 들어, 모바일 디바이스의 그래픽 디스플레이에 제시되는 GUI(graphical user interface)는 툴들(166 및 170) 중 하나 또는 그 초과를 이용함으로써 하나 또는 그 초과의 속성 파일들 및 다른 미디어 콘텐츠 아이템들을 포함하는 AV 객체를 개발자가 정의하는 것을 가능케 할 수 있다.
[0053] 데이터베이스(114)는 하나 또는 그 초과의 연관된 아이템들을 포함하는 다양한 데이터를 포함할 수 있다. 연관된 아이템(176)은 예를 들어, 적어도 하나의 미디어 콘텐츠 아이템(178) 및, 예를 들어, 콘택스트 데이터(180), 가중화 정보(182), 메타데이터(186) 및 객체 물리 엔진 모듈(174)을 포함하는 다른 연관된 데이터 엘리먼트들을 포함할 수 있다. 데이터베이스(114)는 추가로 하나 또는 그 초과의 미리-존재하는 가상 객체들(194)을 갖는 객체 라이브러리(192)를 포함할 수 있다.
[0054] 콘택스트 데이터(180)는 평면도(floor plan)와 같은 미디어 콘텐츠(예를 들어, 미디어 콘텐츠 아이템(178))가 제시될 수 있는 위치를 사용자의 위치에 대하여 정의할 수 있다. 콘택스트 데이터(180)는 객체 전개 툴(166)을 통해 사용자에 의해 정의될 수 있다. 예를 들어, 콘택스트 데이터(180)는 디지털 평면도와 같은 전자 매체(예를 들어, AutoCAD .dwg 파일, BIM(Building Information Model), Sketch-Up 파일들)일 수 있다.
[0055] 가중화 정보(182)는 콘택스트 내의 물리적 객체들의 구조적 양상들을 정의할 수 있다. 예를 들어, 지도 프로세싱 기술들은 빌딩 레이아웃을 프로세싱하고 빌딩 특징들에 특성들 및/또는 속성들을 할당하는데 이용될 수 있다. 실시예에서, RSSI 및/또는 RTT 모델들이 빌딩 특징들의 특성들 및/또는 속성들을 추정하는데 이용될 수 있다. 가중화 정보는 장애물들 및/또는 콘택스트 내의 다른 환경 컨디션들과 같은 다른 물리적 객체들을 모델링하는데 이용될 수 있다. 가중화 정보(182)는 객체 전개 툴(166)을 통해 사용자에 의해 정의될 수 있다. 예를 들어, 사용자는 객체 상호작용 엔진 모듈(162)에 대한 콘택스트 관련 입력을 입력하기 위해 객체 전개 툴(166)을 활용할 수 있다.
[0056] 메타데이터(186)는 연관된 미디어 콘텐츠 아이템(178)과 같은 전개된 미디어 콘텐츠 아이템들에 액세스할 사용자들의 권리들을 정의하는 권리 정의(188)를 포함할 수 있다. 비-제한적인 예로서, 사용자는 선택 사용자들이 특정한 미디어 콘텐츠 아이템(예를 들어, AV 객체 및 연관된 파일들)에 액세스하는 것을 배제시킬 수 있거나, 또는 사용자는 콘택스트 내의 특정한 미디어 콘텐츠 아이템에 액세스할 권리를 선택 사용자에게 그랜트(grant)할 수 있다.
[0057] 메타데이터(186)는 미디어 콘텐츠 아이템(178)과 연관되는 디바이스 상태 데이터(190)를 추가로 포함할 수 있다. 디바이스 상태 데이터(190)는 예를 들어, 모바일 디바이스가 AV 객체와 상호작용하는 동안 모바일 디바이스의 포지션 및/또는 배향을 표시할 수 있다. 일부 구현들에서, 모바일 디바이스의 포지션은 기준 데이터에 대해 측정된 하나 또는 그 초과의 경도, 위도 및/또는 고도 값들로서 표현될 수 있다. 유사하게, 모바일 디바이스의 배향은 기준 데이터에 대해 측정된 하나 또는 그 초과의 롤(roll), 피치 및/또는 요(yaw) 값들에 의해 표현될 수 있다. 모바일 디바이스의 상태는 탭들, 스와이프들, 셰이크들과 같은 수신된 제스처 업데이트들을 포함할 수 있다. 이러한 디바이스 상태 데이터는, 도 2를 참조하여 더 상세히 설명될 바와 같이 모바일 디바이스에서 획득되는 하나 또는 그 초과의 포지셔닝 신호 및/또는 관성 센서 측정들에 기초할 수 있다.
[0058] 도 2를 참조하면, 예시적인 모바일 디바이스(200)의 개략적 블록도가 도시된다. 모바일 디바이스(200)는 적어도 일부 구현들에 대해 도 1의 모바일 디바이스들(120 및 130)의 비-제한적인 예로서의 역할을 할 수 있다. 이에 따라, 모바일 디바이스(200)는 도 1의 AV 서버(110), 모바일 디바이스들(120, 130) 및/또는 컴퓨팅 플랫폼(122)과 같은 다른 컴퓨팅 플랫폼들의 통신을 가능하게 하는 통신 인터페이스(228)를 포함할 수 있다. 일 실시예에서, 통신 인터페이스(228)는 다른 네트워크들(예를 들어, WAN, WLAN)과 통신하도록 구성될 수 있고, 위치 결정(예를 들어, SPS 신호들)에 이용되도록 구성될 수 있다. 통신 인터페이스(228)는 예시적인 네트워크(140)를 포함하는 통신 네트워크와의 무선 통신을 가능케 할 수 있다. 모바일 디바이스(200)는 예를 들어, 포지셔닝 시스템(150)과 같은 포지셔닝 시스템으로부터 포지셔닝 신호들을 수신하기 위한 수신기(230)를 더 포함할 수 있다.
[0059] 모바일 디바이스(200)는 사용자 입력들을 수신하기 위한 입력 디바이스들(218)을 포함할 수 있다. 입력 디바이스들(218)은 예를 들어, 하나 또는 그 초과의 물리적 버튼들, 키보드들, 제어기들, 마이크로폰들, 포인팅 디바이스들 및/또는 터치-감지 표면들을 포함할 수 있다. 모바일 디바이스(200)는 사용자에게 정보를 제시하기 위한 출력 디바이스들(221)을 포함할 수 있다. 일 예로서, 출력 디바이스들(221)은 그래픽 사용자 인터페이스(224)를 제시하기 위한 그래픽 디스플레이(222)를 포함할 수 있다. 일반적으로 그래픽 디스플레이(222)는 사용자 입력을 수신할 수 있는 터치-감지 그래픽 디스플레이(예를 들어, 터치 스크린)를 포함할 수 있다. 터치-감지 그래픽 디스플레이는 예를 들어, 용량성 감지, 저항성 감지 및/또는 광학 감지 기술들을 포함해서, 디스플레이 표면에 또는 근처에서 사용자 입력을 검출하기 위한 임의의 적합한 감지 기술들을 활용할 수 있다. 이러한 터치-감지 구현들에서, 그래픽 디스플레이(222)는 사용자 입력을 수신하기 위한 입력 디바이스 및 그래픽 콘텐츠를 제시하기 위한 출력 디바이스 둘 다로서의 역할을 할 수 있다. 출력 디바이스들(221)은 몇몇 구현들에서 오디오 콘텐츠를 제시하기 위한 오디오 스피커(226)를 더 포함할 수 있다.
[0060] 적어도 일부의 구현들에서, GUI(graphical user interface)(224)는 그래픽 디스플레이(222)에 제시될 수 있다. GUI(224)는 콘택스트 정보를 갖는 AV 객체들을 제시하기 위한 AV 뷰(234)를 포함할 수 있다. 정보 층(236)은 랜더링된 미디어 콘텐츠 아이템(238)과 같은 하나 또는 그 초과의 랜더링된 미디어 콘텐츠 아이템들 및 그래픽 제어 엘리먼트(240)와 같은 하나 또는 그 초과의 그래픽 제어 엘리먼트들을 포함할 수 있다. 비-제한적인 예로서, 다른 적합한 그래픽 콘텐츠 또는 이들의 부분 중에서도, 랜더링된 미디어 콘텐츠 아이템(238)은 이미지, 비디오, 애니메이션과 같은 미디어 콘텐츠 아이템(178)의 랜더링된 상태에 대응할 수 있다. 그래픽 제어 엘리먼트(240)는 모바일 디바이스의 기능성을 제어하기 위한 사용자 입력을 사용자가 제공하는 것을 가능케 하기 위한 하나 또는 그 초과의 그래픽 엘리먼트들을 포함할 수 있다.
[0061] 모바일 디바이스(200)는 관성 센서 측정들을 획득하기 위해 모바일 디바이스에 탑재되는 하나 또는 그 초과의 관성 센서들(232)을 포함할 수 있다. 적어도 일부 구현들에서, 관성 센서들(232)은 하나 또는 그 초과의 가속도계들, 자이로스코프들, 또는 모바일 디바이스의 관성 상태를 측정하기 위한 다른 적합한 디바이스들을 포함할 수 있다. 일부 구현들에서, 모바일 디바이스의 관성 상태는 모바일 디바이스의 포지션 및/또는 배향의 표시를 제공하기 위해 데카르트(Cartesian) 및/또는 극 좌표계들로 다수의 축들을 따라 관성 센서들(232)에 의해 측정될 수 있다.
[0062] 관성 센서들(232)로부터 획득된 관성 센서 측정들은 모바일 디바이스 포지션 및/또는 배향의 이러한 추정들을 획득하도록 프로세싱(예를 들어, 시간에 걸쳐 통합)될 수 있다는 것이 인지될 것이다. 앞서 설명된 바와 같이, 모바일 디바이스의 포지션은, 하나 또는 그 초과의 위도, 경도 및/또는 고도 값들로서 표현될 수 있고, 모바일 디바이스의 배향은 기준 데이터에 대해 측정된 하나 또는 그 초과의 롤, 피치 및/또는 요 값들에 의해 표현될 수 있다. 모바일 디바이스(200)는 그래픽 디스플레이(222)에서 제시될 수 있는 카메라 뷰를 획득하기 위한 카메라(220)를 포함할 수 있다. 카메라(220)는, 몇몇 구현들에서, 광을 포커싱하기 위한 하나 또는 그 초과의 렌즈들 및/또는 이미지 및/또는 비디오 데이터를 나타내는 디지털 신호들로 광을 변환하기 위한 하나 또는 그 초과의 광 감지 엘리먼트들을 포함하는 다수의 광학 엘리먼트들을 갖는 디지털 카메라를 포함할 수 있다. 비-제한적인 예로서, 광 감지 엘리먼트는 광을 디지털 신호들로 변환하기 위해 광학 픽업(optical pickup), 전하-커플링된 디바이스 및/또는 광전자 디바이스를 포함할 수 있다. 카메라의 하나 또는 그 초과의 광감지 엘리먼트들로터 획득된 디지털 신호들은 카메라 뷰로서 그래픽 디스플레이(222)에서 프로세싱되고 및/또는 랜더링될 수 있다. 또한, 몇몇 구현들에서, 카메라(220)를 통해 획득된 카메라 뷰는 이미지 및/또는 비디오 콘텐츠로서 저장 매체에 저장될 수 있다. 예를 들어, 카메라(220)로부터 획득된 디지털 신호들은 .jpeg, .mpeg, 또는 다른 적합한 포맷으로서 인코딩되고 저장 매체(210)에 저장될 수 있다. 카메라 뷰를 나타내는 이러한 디지털 신호들은 저장 및/또는 프로세싱을 위한 다른 컴퓨팅 플랫폼들로 전송될 수 있다. 예를 들어, 모바일 디바이스에서 획득된 카메라 뷰는 다른 컴퓨팅 플랫폼에 도킹함으로써 또는 통신 네트워크를 통해 서버 시스템 또는 다른 적합한 컴퓨팅 플랫폼에 전송될 수 있다.
[0063] 모바일 디바이스(200)는 데이터베이스(212) 및 명령들(214)이 저장되어 있는 저장 매체(210)를 더 포함할 수 있다. 저장 매체(210)는 메모리 모듈일 수 있다. 모바일 디바이스(200)는 명령들(214)을 실행하고 및/또는 데이터베이스(212)에 데이터의 저장 및 리트리브를 용이하게 하기 위해 예시적인 프로세서(216)와 같은 하나 또는 그 초과의 프로세서들을 포함할 수 있다. 데이터베이스(212)는 도 1의 데이터베이스(114)를 참조하여 앞서 설명된 데이터 엘리먼트들 중 일부 또는 전부를 포함하는 다양한 데이터를 포함할 수 있다. 예를 들어, 데이터베이스(212)는, 다른 데이터 중에서도, 연관된 콘텐츠 아이템(176) 및 객체 라이브러리(192) 중 하나 또는 그 초과를 모바일 디바이스(200)에 국부적으로 보유할 수 있다. 이러한 데이터는 또한, 예를 들어, 그것이 무선 네트워크를 통해 모바일 디바이스에 의해 액세스될 수 있는, 도 1의 AV 서버(110)와 같은 서버 시스템에 원격으로 보유될 수 있다는 것이 인지될 것이다.
[0064] 명령들(214)은 유사하게 앞서 설명된 도 1의 명령들(116)의 모듈들 및/또는 툴들 중 하나 또는 그 초과를 포함할 수 있다. 예를 들어, 명령들(214)은 모바일 디바이스(200)에 국부적으로 보유되는, 앞서 설명된 객체 상호작용 엔진 모듈(162) 및 콘텐츠 관리 모듈(164)을 포함할 수 있다. 명령들(214)은 콘택스트 내의 AV 객체들의 움직임 및 반응을 모델링하기 위한 물리 엔진 모듈(254)을 더 포함할 수 있다. 명령들은, AV 객체와 연관된 상태 변수들을 저장하는 것은 물론, 관성 센서들(232)을 통해 획득된 관성 센서 측정들 및/또는 수신기(230)를 통해 획득된 포지셔닝 신호들을 프로세싱하기 위한 디바이스 상태 모듈(256)을 더 포함할 수 있다. 예를 들어, 디바이스 상태 모듈(256)은 이러한 포지셔닝 신호들 및/또는 관성 센서 측정들에 적어도 부분적으로 기초하여, 모바일 디바이스(200)의 포지션 및/또는 배향을 추정하도록 적응될 수 있다. 모바일 디바이스(200)의 추정된 포지션 및/또는 배향은 예를 들어, 디바이스 상태 데이터(190)를 참조하여 앞서 설명된 바와 같이 데이터베이스(212)에 저장될 수 있다. 적어도 일부 구현들에서, 디바이스 상태 모듈(256)은 AV 객체와의 상호작용에 대한 응답으로 모바일 디바이스에 대한 디바이스 상태 데이터를 획득하도록 적응될 수 있다. 예를 들어, AV 객체는 (예를 들어, 모바일 디바이스의 실제 위치에 기초하여) 모바일 디바이스에서 가상으로 히트(hit)할 수 있는 가상 도지 볼(dodge ball)일 수 있고, 디바이스 상태 모듈(256)은 모바일 디바이스가 히트되었는지 또는 여전히 자유로운지를 표시할 수 있다. 디바이스 상태 모듈(256)은 예를 들어, 데이터베이스(212) 또는 데이터베이스(114)에서 (예를 들어, 메타데이터로서) 상태 특정 미디어 콘텐츠 아이템들에 디바이스 상태 데이터를 연관시키도록 또한 적응될 수 있다.
[0065] 도 2의 예시적인 모바일 디바이스(200)의 적어도 일부의 엘리먼트들은, 이러한 컴퓨팅 플랫폼들이 여기서 설명된 동작들, 프로세스들, 및 방법들 중 하나 또는 그 초과를 수행하는 것을 가능케 하도록 도 1의 컴퓨팅 플랫폼(122)과 같은 다른 모바일 또는 비-모바일 컴퓨팅 플랫폼들로 제시될 수 있다는 것이 인지될 것이다. 예를 들어, 도 1의 컴퓨팅 플랫폼(122)은 명령들(214) 및/또는 데이터베이스(212)를 포함하는 저장 매체(210)와 같은 저장 매체, 프로세서(216)와 같은 하나 또는 그 초과의 프로세서들, 하나 또는 그 초과의 입력 및 출력 디바이스들 및 통신 인터페이스(228)와 같은 통신 인터페이스를 포함할 수 있다.
[0066] 도 3을 참조하면, 콘택스트 내에서 가중화 함수들을 결정하기 위한 예시적인 구성의 평면도가 도시된다. 구성은 콘택스트(300), 액세스 포인트(302), 및 하나 또는 그 초과의 모바일 디바이스들(304a, 304b, 304c)의 3개의 예시적인 위치들을 포함한다. 콘택스트(300)는 벽들, 복도들, 및 다른 장애물들을 포함하는 위치를 표현할 수 있다. 여기서 이용된 바와 같은 액세스 포인트란 용어는 육상 트랜시버들(예를 들어, 기지국, WiFi 액세스 포인트들, 펨토셀들)의 다양한 변동들을 포함한다. 액세스 포인트(302)는 Wi-Fi, 블루투스, CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), FDMA(Frequency Division Multiple Access), OFDMA(Orthogonal Frequency Division Multiple Access), SC-FDMA(Single-Carrier Frequency Division Multiple Access) 또는 임의의 다른 적합한 무선 기술 및/또는 표준과 같은 셀룰러 통신 기술을 이용하여 무선 네트워크에 모바일 디바이스들(304a, 304b, 304c)을 연결하도록 허용할 수 있다. 실시예에서, AV 서버(110)에 연결된 액세스 포인트(302)는 가중화 정보를 결정하거나 업데이트하기 위해 모바일 디바이스들(304a, 304b, 304c) 중 하나 또는 그 초과와 통신할 수 있다. AV 서버(110) 또는 다른 포지셔닝 서버는 가중화 정보를 계산하는데 이용되는 알고리즘들을 포함할 수 있다. 이 정보는 하나의 디바이스 또는 다수의 디바이스들(즉, 크라우드소싱(crowdsourcing))로부터의 현재 및/또는 이력 데이터에서 비롯될 수 있고 모바일 디바이스들 간에 공유되고 및/또는 중앙 위치(예를 들어, 네트워크 엘리먼트) 상에서 유지될 수 있다. 일 예에서, 지도 서버(또는 다른 네트워크 디바이스)는 하나 또는 그 초과의 모바일 디바이스들로부터의 입력에 기초하여 대응하는 가중화 정보(예를 들어, 열지도)를 갖는 콘택스트를 유지하고 업데이트할 수 있다. 부가적으로 또는 대안적으로, 각각의 모바일 디바이스는 가중화 정보를 유지하고 업데이트할 수 있고 및/또는 서버 및/또는 다른 모바일 디바이스(들)와 업데이트된 가중화 정보를 공유할 수 있다. 위치 데이터의 세트가 특정 콘택스트(예를 들어, 빌딩)와 연관되는 경우, 모바일 디바이스는 다수의 콘택스트들에 대한 위치 데이터의 다수의 세트들(예를 들어, 지도들)을 저장 및 유지할 수 있다. 위치 데이터 및/또는 대응하는 가중화 정보는 또한 시간 및/또는 날짜에 민감할 수 있다. 예를 들어, 주중에 점심식사 시간 동안 사람이 많은 카페 내에 및/또는 그 주위의 열지도는, 그것이 주말 자정에 사실상 비어있을 때와 상이할 수 있다.
[0067] 실시예에서, AV 서버(110)는 모바일 디바이스가 로케이팅되는 콘택스트(예를 들어, 영역)를 결정할 수 있다. 이 초기 결정은, 이전에 알려진 위치, 추측 항법(dead reckoning) 데이터, 센서 데이터, GNSS 및 다른 신호 소스들 등과 같은 다양한 데이터 중 임의의 것에 기초할 수 있다. 몇몇 실시예들은 특정한 MAC ID와 결속된 위치를 통해 대강의 위치를 결정하는 것을 제공할 수 있으며, 이는 이후, 보다 정확한 위치를 결정하기 위해 사용된다. 모바일 디바이스가 로케이팅된 것으로 결정된 콘택스트는 RSSI 및 RTT 측정들에 영향을 줄 수 있다. 콘택스트는 하나 또는 그 초과의 영역들의 환경 컨디션들을 나타내는 정보를 포함할 수 있다. 콘택스트는 예를 들어, 벽들, 창문들, 문들 및/또는 영역의 환경의 컨디션에 영향을 줄 수 있는 다른 구조들과 같은 물리적 객체들의 위치를 표시할 수 있는, 빌딩의 레이아웃과 같은 지도를 포함할 수 있다. 위치 데이터는 추가로, 지도 프로세싱 알고리즘을 이용함으로써 생성될 수 있는 가중화 정보를 포함할 수 있고, 영역의 환경의 컨디션(예를 들어, 영역과 액세스 포인트 간의 벽들의 수, 벽 구성 타입, 거리, 액세스 포인트의 하드웨어 정보 및/또는 RSSI 및/또는 RTT 데이터에 대한 신뢰 레벨(예를 들어, 모바일 디바이스와 액세스 포인트 간의 거리 측정들) 등)을 또한 표시할 수 있다. 가중화 정보는 RSSI 및/또는 RTT 데이터가 획득될 수 있는 단일 액세스 제어 또는 1개 초과의 액세스 포인트들과 관련될 수 있다.
[0068] RSSI 및 RTT 데이터는 환경의 컨디션에 기초하여 가중화될 수 있다. 예를 들어, RSSI 및 RTT 데이터 둘 다에 대한 가중치들을 포함하는 가중화는 위치 데이터의 가중화 정보에 제공된 하나 또는 그 초과의 신뢰 메트릭들을 이용하여 계산될 수 있다. 그것은 또한 주어진 모바일 디바이스 및/또는 액세스 포인트에 대한 디바이스-특정 정보와 같이 가중화 정보에 포함되지 않을 수 있는 특정 정보를 고려할 수 있다. 예를 들어, 모바일 디바이스는, 안테나 및/또는 다른 신호-수신 하드웨어를 가질 수 있으며, 다른 신호-수신 하드웨어는 RSSI 데이터가 다른 모바일 디바이스들보다 더 정확하게 되게 하며, 이 경우에, 보다 많은 가중치가 RSSI 데이터에 부여될 수 있다. 모바일 디바이스는 RSSI 및 RTT 정보를 측정하고 포지션 서버 또는 AV 서버(110)에 측정 데이터를 제공하도록 구성될 수 있다. 다른 예에서, 액세스 포인트는 특정 하드웨어를 가질 수 있으며, 이 특정 하드웨어는 액세스 포인트가 다수의 다른 액세스 포인트들보다 덜 부합하는 프로세싱 지연을 갖게 하며, 이 경우, 더 적은 가중치가 해당 액세스 포인트를 이용하여 측정되는 RTT 데이터에 부여될 수 있다. 모바일의 위치가 알려질 때, 가중화 정보는 환경(예를 들어, 물리적 객체들)을 모델링하는데 이용될 수 있다. 객체 상호작용 엔진 모듈(162)은 가중화 정보를 활용하여 AV 객체가 통과할 수 없는 벽을 모델링하거나, 통과한 벽들의 수 또는 특성에 의존하여 객체에 대한 변형을 모델링하거나, 또는 AV 객체와 상호작용하지 않는 복도를 모델링할 수 있다. 가중화 정보는, 예를 들어, 모바일 디바이스들(304a, 304b, 304c)과 액세스 포인트(302) 간의 벽들의 밀도를 결정하기 위해 활용될 수 있으며, 이는 가상의 객체들이 이들 모바일 디바이스들에 대해 트래버싱(traverse)하는 방법을 추가로 관리할 수 있다. 실시예에서, 네트워크 디바이스(들)는 객체 상호작용 엔진 모듈(162)에 의해 이용될 수 있는 열지도를 유지할 수 있다.
[0069] 도 4를 참조하면, AV 서버와 하나 또는 그 초과의 모바일 디바이스들 간의 예시적인 데이터 전달 방식의 블록 흐름도가 도시된다. 전달 방식은 AV 서버(110), 사용자 모바일 디바이스들(402a, 402b, 402c)(집합적으로 402), 및 개발자 디바이스(420)를 포함한다. 모바일 디바이스들(402) 및 개발자 디바이스(420)는 앞서 논의된 바와 같이(예를 들어, 모바일 디바이스(200)) 구성될 수 있다. 일 실시예에서, 모바일 디바이스들(402) 및 개발자 디바이스(420)는 네트워크(140) 및 하나 또는 그 초과의 액세스 포인트들(도시되지 않음)을 통해 AV 서버(110)와 통신하도록 구성된다. 설명을 위해, 네트워크(140) 및 액세스 포인트들은 인바운드 및 아웃바운드 통신 경로들(410b-d, 411b-d, 420a)의 모음으로 통합된다. 아웃바운드 통신 경로들(410b-d)(집합적으로 410)은 AV 서버(110)로부터 모바일 디바이스들로 전송된 AV 객체 정보를 표현하고, 인바운드 통신 경로들(411b-d)(집합적으로 411)은 모바일 디바이스들로부터 AV 서버(110)로 전송된 AV 객체 정보를 표현한다. 상이한 통신 경로들로서 도시되었지만, 인바운드 및 아웃바운드 통신 경로들은 단일 경로일 수 있다. 개발자 디바이스(420)는 통신 경로(421)를 통해 AV 서버(110)와 통신한다.
[0070] 동작에서, 개발자는 가상 객체를 생성하고, AV 객체를 데이터베이스(114)에 등록하기 위해 개발자 디바이스(420)(또는 다른 컴퓨팅 플랫폼(122))를 활용할 수 있다. 예를 들어, 개발자 디바이스(420)는 AV 객체들 및 연관된 아이템들(176)을 생성, 또는 업로드하기 위해 콘텐츠 관리 모듈(164)에 액세스할 수 있다. AV 서버(110)와 모바일 디바이스들(402) 간의 데이터 전달 방식의 아키텍처는 모바일 디바이스들(402)의 능력들 및 AV 객체에 기초한다. 일 예에서, AV 서버(110)는 연관된 아이템들(176)을 포함하는 초기 AV 객체 정보를 통신 경로(410)를 통해 모바일 디바이스에 제공할 수 있다. 객체 상호작용 엔진 모듈(162)은 AV 객체와의 사용자 상호작용을 가능케 하기 위해 AV 객체 정보를 활용할 수 있다. 모바일 디바이스 상에서 국부적으로 실행되는 물리 엔진 모듈(254)은 AV 객체의 움직임 및 AV 객체를 설명하는 상태 변수를 시뮬레이팅할 수 있고, 모바일 디바이스는 업데이트될 수 있다. 상태 업데이트들은 인바운드 통신 경로(411)를 통해 AV 서버에 송신되고 그 후 아웃바운드 통신 경로(410)를 통해 다른 모바일 디바이스들에 브로드캐스트될 수 있다. 일 실시예에서, 모바일 디바이스들(402)은 인바운드 통신 경로(411)를 통해 AV 서버(110)에 디바이스 상태 정보를 송신할 수 있고, AV 서버(110)는 AV 객체의 상호작용들 및 대응하는 상태를 결정하도록 객체 상호작용 엔진 모듈(162)을 실행할 수 있다. AV 객체 상태 정보는 그 후 아웃바운드 통신 경로(410)를 통해 모바일 디바이스들(402)에 전송될 수 있다. 단일 플레이어(예를 들어, 단지 하나의 모바일 디바이스(402a))의 경우에, AV 서버는 모바일 디바이스와 AV 서버 간의 추가의 통신을 요구함 없이 모바일 디바이스 상의 애플리케이션을 초기화하는데 이용될 수 있다. 다른 데이터 전달 방식들이 AV 객체와 모바일 디바이스 상태 정보를, AV 서버(110) 및 모바일 디바이스(402)로 그리고 이들로부터 전달하는데 이용될 수 있다.
[0071] 도 5를 참조하고, 추가로 도 1 및 도 2를 참조하여, 다수의 상태들의 예시적인 AV 객체의 평면도가 도시된다. 이 도해는 콘택스트(300), 하나 또는 그 초과의 모바일 디바이스들(502a, 502b, 502c)(집합적으로 502), 가상 볼(510)(즉, AV 객체) 및 상호작용 이벤트(520)를 포함한다. 다양한 시간들에 가상 볼(510)의 위치들은 문자들 A 내지 G로 표시된다. AV 서버(110)는 콘택스트(300)에 대한 랜덤 초기 위치 변수, 방향 및 속도 변수들로 가상 볼(510)을 런칭(launch)하도록 구성될 수 있다. 예를 들어, AV 서버(110)는 모바일 디바이스들(502) 각각에 가상 볼(510)에 대한 초기 상태 정보를 제공한다. 초기 상태 정보는, 가상 볼(510)이 위치 'A'에서 시작하고, 초기 속도로 위치 'B'로 진행된다는 것을 표시한다. 가상 볼(510)의 위치 및 이동은 모바일 디바이스들(502) 각각의 그래픽 디스플레이(222) 상에 나타난다. 일 실시예에서, AV 서버(110)는 주기적인 단위로(예를 들어, 50ms, 100ms, 200ms, 500ms) 상태 정보를 업데이트하기 위해 객체 상호작용 엔진 모듈(162)을 활용한다. 예를 들어, 객체 상호작용 엔진 모듈(162)은 가상 볼(510)에 대한 새로운 상태를 생성하기 위해 콘택스트 데이터(180) 및 가중화 정보(182)를 고려하여 가상 볼(510)의 현재 상태를 프로세싱한다. 그 결과, 가중화 정보(182) 및/또는 콘택스트 데이터(180)는 가상 볼(510)과 상호작용하는 가상 경계들을 생성하는데 이용된다. 예를 들어, 위치 'B'를 참조하여, 가상 볼(510)은 가상으로 벽들에 튕겨서 위치 'C'로 진행된다. 객체 상호작용 엔진 모듈(162)에 의해 계산된 결과들은 가상 볼(510)의 상태를 변화시킬 수 있다. 가상 볼(510)의 포지션, 속도 및 방향과 연관된 상태 변수들은 변화되고 그 후 모바일 디바이스들(502)에 제공될 수 있다. 상태 변수들은 또한 하나 또는 그 초과의 모바일 디바이스들(502) 상에서 업데이트되고, (만약 있다면) 애플리케이션에 참가한 다른 모바일 디바이스들로의 전파를 위해 AV 서버에 제공될 수 있다. 다른 애플리케이션들은 부가적인 상태 변수들을 가질 수 있다. 예를 들어, 바람 속도 및 방향과 같이 가상 환경 양상들은 AV 객체의 상태를 변경하는데 이용될 수 있다.
[0072] 가상 볼(510)의 예를 계속하면, 위치들 'C' 및 'D'에서의 편향 이후, 가상 볼(510)은 위치 'E' 및 모바일 디바이스(502c) 쪽으로 복도를 따라 계속 내려간다. 모바일 디바이스(502c)의 사용자는, 가상 볼(510)이 포지션 'A'로부터 포지션 'E'로 이동할 때 그것의 진행을 모니터링할 수 있다. 가상 볼(510)이 접근할 때, 사용자는 상호작용 이벤트(520)를 생성하도록 모바일 디바이스(502c)에 제스처를 입력할 수 있다. 제스처는 스크린 탭 또는 스와이프, 셰이크, 또는 스윙 모션을 포함할 수 있다. 모바일 디바이스(502c)에 대한 다른 입력들이 상호작용 이벤트(520)를 개시하기 위한 제스처들로서 이용될 수 있다. 제스처의 타이밍 및 성질은 디바이스 상태 모듈(256)에 의해 캡처되고 객체 상호작용 엔진 모듈(162)에 대한 입력으로서 AV 서버(110)에 송신될 수 있다. 예를 들어, 가상 볼(510)이 위치 'E'에 도달할 때, 모바일 디바이스(502c)의 사용자는 위치'F' 쪽으로 가상 볼(510)을 보내기 위해 그래픽 디스플레이(222)를 플릭(flick)한다. 상호작용 이벤트의 결과들은 가상 볼(510)의 상태를 수정할 수 있다. 일반적으로, AV 객체의 상태를 수정한다는 것은 AV 객체 속성들(예를 들어, 방향 및 속도)과 연관된 상태 변수들의 값들을 변경한다는 것을 의미한다. 가상 볼(510)은 위치 'G' 쪽으로 지속될 수 있고 모바일 디바이스(502b)와 가상으로 충돌하는 것이 가능하다. 게임 애플리케이션에서, 사용자는, AV 객체를 이용하여 다른 사용자를 가상으로 히트하기 위한 포인트들을 획득할 수 있다.
[0073] 도 5의 가상 볼 애플리케이션은 단지 예시적이며 제한적이지 않다. 다른 애플리케이션들은 AV 객체를 잡는 것과 같은 또는 하나 또는 그 초과의 AV 객체들을 발견(예를 들어, 부활절 달걀 찾기)하기 위한 목표들을 포함할 수 있다. 일부 게임 애플리케이션들에서, 사용자는 다른 플레이어들을 히트하기 위해 AV 객체를 이용(예를 들어, 도지 볼)함으로써 또는 플레이어를 거쳐간 AV 객체(예를 들어, 가상 볼)를 침(예를 들어, 탁구)으로써 포인트를 스코어링할 수 있다. 예에서, 사용자는 경고 신호를 제공받을 수 있고, 가상 객체(예를 들어, 뜨거운 감자)와 성공적으로 상호작용하도록 특정한 시간 프레임(예를 들어, 반응 시간) 내에서 모바일 디바이스에 제스처 업데이트를 제공해야 한다. 포지션 및 콘택스트에 기초한 다른 게임들이 생성될 수 있다. 실시예에서, AV 객체는 AV 뷰(234)에서 증강된 현실 객체로서 그래픽 디스플레이(222) 상에 제시될 수 있다. 예를 들어, 사용자는 자신의 환경들(예를 들어, 현관, 방)에서 객체들의 근 실시간 뷰를 획득하기 위해 카메라(220)를 활용할 수 있고, 사용자 쪽으로 이동하는 가상 볼(510)의 이미지는 카메라 뷰의 객체들과 관련하여 제시될 수 있다. 카메라 뷰에서 AV 객체의 크기는 사용자로부터 AV 객체의 상대적 위치에 기초하여 변할 수 있다(즉, 가상 볼(510)은 그것이 사용자에게 더 가까워질 때 더 크게 나타날 수 있음).
[0074] 도 6을 참조하면, 콘택스트(300)를 두루 이동하는 예시적인 AV 객체의 평면도가 도시된다. 이 도해는 콘택스트(300), 제 1 모바일 디바이스(602), 제 2 모바일 디바이스(604), 상호작용 영역(606) 및 상이한 상태들(610a-f)로 표현되는 파이어볼(610)(즉, AV 객체)을 포함한다. 파이어볼(610)은 콘택스트(300)에서 장애물들을 통해 이동하는 것으로 도시된다. 예시적인 게임 애플리케이션에서, AV 서버(110)는 파이어볼(610)과 같은 판타지 타입 가상 객체를 생성할 수 있다. 예를 들어, 객체 라이브러리(192) 및 연관된 아이템(176)은, 파이어볼(610)의 속성들과 연관된 특징들은 물론, 스코어링 매커니즘과 같은 다른 정보를 포함할 수 있다. 예를 들어, 객체 라이브러리(192)는 다음을 포함할 수 있다:
·파이어볼 객체 = fireball.gif, 물리적 현상(physics) = 최대 5개의 벽들을 통해 진행됨, 반지름이 각각의 벽 통과시마다 20%씩 감소함.
[0075] 파이어볼(610)은 초기 위치, 속도 및 방향 벡터는 물론, 크기(즉, 반지름)를 표시하기 위한 초기 상태 변수들로 가상으로 런칭될 수 있다. 초기 상태(610a)는 초기 위치를 표시한다. 제 2 상태(610b)는 파이어볼(610)이 제 1 모바일 디바이스(602) 쪽 방향으로 이동한 것을 표시한다. 상이한 상태들(610a-f)이 도 6에서 별개의 간격들로 도시되지만, 인바운드 및 아웃바운드 통신 경로들(410, 411)에 걸친 데이터 전달의 레이트는 물론, 다른 프로세싱 능력들은 상태간의 보다 연속적인 천이를 허용할 수 있다. 객체 상호작용 엔진 모듈(162)은 파이어볼(610)이 콘택스트(300)와 상호작용할 시기를 결정하도록 구성될 수 있다. 예를 들어, 객체 상호작용 엔진 모듈(162)은, 파이어볼(610)이 지도에서 구조적인 특징들(예를 들어, 벽들, 문들, 창문들)과 상호작용한다는 것을 표시할 수 있다. 상호작용의 결과들은, 콘택스트 특징들과 연관된 가중화 정보에 기초하여 파이어볼(610)의 크기를 감소시키는 것과 같이 파이어 볼(610)의 상태를 변화시킬 수 있다. 예를 들어, 제 3 상태(610c)에서의 파이어볼은 벽과 상호작용하고, 이에 따라 제 4 상태(610d)에서 표시된 바와 같이 크기가 감소된다. 구조적 특징의 타입 및/또는 성질(예를 들어, 콘택스트 데이터(180), 가중화 정보(182))은 상호작용 계산들의 결과들에 영향을 줄 수 있다. 두꺼운(solid) 벽들은 창문들 또는 입방체 디바이더(cubical divider)보다 상당히 더 많이 크기가 축소될 수 있다. 예를 들어, 제 4 상태(610d)로부터 제 5 상태(610e)로의 상태 변화는 영역에 대한 콘택스트 정보 및/또는 가중화 정보에 기초하여 작을 수 있다. 파이어볼(610)은 타겟 영역에 기초하여 효과의 최대 범위(예를 들어, 제 6 상태(610f)) 및 영역을 가질 수 있다. 상호작용 영역(606)은 제 1 모바일 디바이스(602)의 상태에 비교되는 파이어볼(610)의 상태에 기초하여 결정된다. 모바일 디바이스 및 AV 객체의 위치와 연관된 상태 변수들은 비교될 수 있다. 일 예에서, 제 1 모바일 디바이스(602)는 파이어볼(610)의 경로에 있고, 이에 따라 가상으로 히트한다. 제 2 모바일 디바이스(604)는 새로운 포지션으로 이동하고, 파이어볼(610)을 히트하지 않는다(예를 들어, 상호작용하지 않음).
[0076] 일 예에서, 모바일 디바이스의 상태는 상호작용 계산들에 영향을 줄 애플리케이션 파라미터들을 포함할 수 있다. 도 6의 판타지 파이어볼 예를 계속하면, 제 1 모바일 디바이스(602)는, 파이어볼(610)과의 상호작용으로부터, 모바일 디바이스가 차폐되었거나, 그렇지 않고 보호되었음을 표시하기 위한 상태 변수들을 포함할 수 있다. 특정한 AV 객체 애플리케이션에 기초한 다른 상태 변수들이 이용될 수 있다. 일 예에서, 파이어볼(610)은 특정 사용자 및/또는 모바일 디바이스를 타겟팅하도록 시도하는 로크-온(Lock-On) 타겟 양상을 가질 수 있다. 콘택스트 또는 가중화 정보는, 모바일 디바이스가 충분한 커버(즉, 파이어볼(610)을 차단하는 두꺼운 벽) 뒤에 있는지를 결정하는데 이용될 수 있다.
[0077] 도 7을 참조하면, 예시적인 팽창하는 위협을 갖는 콘택스트의 평면도가 도시된다. 이 도해는 콘택스트(300), 모바일 디바이스들(702a-c) 및 팽창하는 위협 AV 객체(710)를 포함한다. 일 예에서, 팽창하는 위협(710)은 콘택스트(300)를 두루 시드 위치(seed location)로부터 팽창하는 곤충 떼 또는 홍수를 표현할 수 있다. 팽창의 레이트 및 방향은 콘택스트(300)의 구조적 엘리먼트들에 의해 제한될 수 있다. 콘택스트 데이터(180) 및/또는 가중화 정보(182)는 위협의 확산을 제한하는데 이용될 수 있다. 객체 라이브러리(192) 및 연관된 아이템들(176)은 다음을 포함할 수 있다:
·홍수 객체 = water.gif 물리적 현상 = 복도들 및 벽들을 통해 전파됨, 부피는 거리에 따라 감소함.
예를 들어, 홍수 게임 애플리케이션은, 팽창하는 위협(710)과 접촉하는 것을 방지하도록 사용자(예를 들어, 모바일 디바이스들(702a-c))에 요구할 수 있다. 실시예에서, 모바일 디바이스(702a) 상에서 실행되는 물리 엔진 모듈(254)은 팽창하는 위협(710)의 현재 상태를 결정하고 AV 서버(110)에 위협 상태 정보를 제공할 수 있다. AV 서버는 위협 상태 정보를 부가적인 모바일 디바이스들(예를 들어, 모바일 디바이스들(702b, 702c))에 배포할 수 있다. 실시예에서, AV 서버(110)는 팽창하는 위협(710)의 상태를 결정하고 모바일 디바이스들(702a-c)에 상태 정보를 배포하도록 구성될 수 있다.
[0078] 도 8을 참조하고, 도 7을 추가로 참조하여, 예시적인 팽창하는 위협 및 가상 툴 AV 객체들을 갖는 콘택스트의 평면도가 도시된다. 이 도해는 콘택스트(300), 팽창하는 위협(710), 제 1 모바일 디바이스(802a), 제 2 모바일 디바이스(802b), 제 3 모바일 디바이스(802c), 가상 샌드백들의 제 1 세트(810a), 및 가상 샌드백들의 제 2 세트(810b)를 포함한다. 일 예에서, 팽창하는 위협(710)은 콘택스트(300)에 의해 제한되는 가상 홍수 AV 객체이다. 사용자는 홍수를 추가로 제한하는 것을 돕기 위해 가상 툴들과 상호작용할 수 있다. 예를 들어, 가상 툴들은 가상 샌드백들의 제 1 세트(810a) 및 가상 샌드백들의 제 2 세트(810b)와 같은 가상 샌드백들을 표현할 수 있다. 트레이닝 애플리케이션에서, 사용자는 제 1 위치에서 가상 샌드백을 가상으로 픽업하고 그 후 그것을 제 2 위치로 이동시키도록 요구될 수 있다. 이러한 가상 객체는, 모바일 디바이스가 가상 객체의 요구되는 근접도 내에 있을 때를 결정하기 위해 객체 주위의 지리적 팬스(geofence)를 포함할 수 있다. 지리적 팬스의 크기(예를 들어, 엄격함(strictness), 허용오차)는 주어진 장소(given venue)의 포지셔닝 품질에 의존할 수 있다. 도 8의 예를 참조하면, 제 1 모바일 디바이스(802a)는 가상 샌드백들의 제 1 세트(810a) 근처에(즉, 지리적 팬스 내에) 로케이팅된다. 객체 상호작용 엔진 모듈(162)은 가상 샌드백들의 제 1 세트(810a)로부터의 하나 또는 그 초과의 가상 샌드백들이 가상으로 픽업되었는지를 표시하기 위해 모바일 디바이스의 상태를 조정할 수 있다. 제 2 모바일 디바이스(802b)는 팽창하는 위협(710) 근처 또는 그 경로 내에 있는 영역에 로케이팅된다. 제 2 모바일 디바이스의 상태는 하나 또는 그 초과의 가상 샌드백들이 가상으로 드롭되는 것을 표시하도록 수정될 수 있다. 가상 샌드백들(810b)의 제 2 세트는 가상 위협과 상호작용하는 가상 툴들을 표현한다. 홍수 예에서, 가상 샌드백들의 제 2 세트는 팽창하는 위협(710)의 경로를 차단하거나, 그렇지 않으면 제한한다. 게임 애플리케이션에서, 객체는 한 팀이 팽창하는 위협을 상대 팀의 손해로 제한하기 위한 것일 수 있다(예를 들어, 제 3 모바일 디바이스(802c)는 홍수에 의해 곧 트랩(trap)될 것임). 팽창하는 홍수 및 가상 샌드백들은, 다른 AV 객체들이 가상 위협들 및 가상 툴들(예를 들어, 곤충떼/벌레 스프레이, 방랑하는 외계인/레이저 총, 가상의 호랑이/케이지 문 레버)을 표현하는데 이용될 수 있기 때문에, 단지 예시적이며 제한적이지 않다.
[0079] 도 9를 참조하면, 예시적인 가상 트레이너 AV 객체를 갖는 콘택스트의 평면도가 도시된다. 이 도해는 콘택스트(300), 모바일 디바이스(902) 및 가상 트레이너(910)를 포함한다. 가상 객체는 발사물(projectile)들 및 이전에 설명된 바와 같은 팽창하는 위협들로 제한되지 않는다. 다른 가상 객체들이 위치 및 콘택스트에 기초하여 사용자와 상호작용하도록 개발될 수 있다. 예를 들어, 가상 트레이너(910)는 경고가 거의 또는 전혀 없이(즉, 사용자의 감각을 예민하게 유지하기 위한 일환으로), 특정한 위치에서 사용자를 기습(ambush)(예를 들어, 상호작용)하도록 구성될 수 있다. 기습은 콘택스트(300)를 통한 추격으로 이어지는 모바일 디바이스(902) 상의 제 1 미니-게임을 발생시킬 수 있다. 상호작용 이벤트 및/또는 후속 제 2 미니-게임의 결과들은 모바일 디바이스(902) 및/또는 가상 트레이너(910)의 상태를 변화시킬 수 있다. 가상 트레이너(910)는 발견되기를 기다리는 다른 위치에 숨을 수 있다(예를 들어, 숨바꼭질). 다른 가상의 존재들이 활용될 수 있다.
[0080] 도 10을 참조하면, 다수의 제어 영역을 및 예시적인 방랑하는 위협 AV 객체들을 갖는 콘택스트의 평면도가 도시된다. 이 도해는 콘택스트(300), 제 1 모바일 디바이스(1002a), 제 2 모바일 디바이스(1002b), 제 3 모바일 디바이스(1002c), 제 1 제어 영역(1004a), 제 2 제어 영역(1004b), 제 3 제어 영역(1004c), 제 4 제어 영역(1004d), 제 1 방랑하는 위협(1010a), 제 2 방랑하는 위협(1010b), 및 제 3 방랑하는 위협(1010c)을 포함한다. 각각의 방랑하는 위협(1010a-c)은 LOS(line-of-sight) 표시자(1011a-c)를 각각 포함한다. 제어 영역들 및 방랑하는 위협들의 수, 성질 및 위치들은 단지 예시적이며 제한적이지 않다. 모바일 디바이스들의 수는, 게임 애플리케이션이 단일 플레이어 또는 다중플레이어 구성일 수 있기 때문에 예시적이다. 동작에서, 객체 라이브러리(192)는 콘택스트 내의 제어 영역들을 정의하는 가상 객체들을 포함할 수 있다. 제어 영역들은, 방들에 해당하거나, 또는 가중화 정보(182) 및/또는 콘택스트 데이터(180)에 의해 결정된 바와 같은 다른 구조적 특징들에 의해 제한될 수 있다. 예에서, 콘택스트는 제어 영역들 각각이 상징적인 제어 스테이션을 표현하도록 가상 탐사선으로 변환될 수 있다. 제 1 제어 영역(1004a)은 브리지를 표현할 수 있고 제 2 제어 영역(1004b)은 무기 스테이션을 표현할 수 있고, 제 3 제어 영역(1004c)은 엔지니어링 영역을 표현할 수 있고, 제 4 제어 영역(1004d)은 저장실을 표현할 수 있다. 객체 상호작용 엔진 모듈(162)은 제어 영역들에 관한 모바일 디바이스의 위치에 기초하여 상호작용 결과를 컴퓨팅하도록 구성될 수 있다. 예를 들어, 제 1 모바일 디바이스(1002a)는 제 1 제어 영역(1004a) 내에 있고, 결과적인 상호작용 결과는 브리지-관련 미니-게임(예를 들어, 제 1 미니-게임)을 개시하는 것일 수 있다. 제 2 모바일 디바이스(1002b)는 제 3 제어 영역(1004c) 내에 로케이팅되고, 결과적인 상호작용 결과는 엔지니어링 관련 미니-게임(예를 들어, 제 2 미니-게임)을 개시하는 것일 수 있다. 다른 상호작용 결과들이 이용될 수 있고, 모바일 디바이스들 및 제어 영역들의 대응하는 상태들이 업데이트될 수 있다.
[0081] 일 실시예에서, 제어 영역들(1004a-d) 간의 복도들은 하나 또는 그 초과의 방랑하는 위협들(1010a-b)을 포함할 수 있다. 공상과학 테마를 계속하면, 방랑하는 위협들은 콘택스트(300)를 돌아다니는 가상 로봇 외계인을 표현할 수 있다. 방랑하는 위협들(1010a-c)의 이동은 콘택스트 데이터(180) 및/또는 가중화 정보(182)에 의해 제한된다. 방랑하는 위협들(1010a-c) 각각은 방랑하는 위협에 대한 일반적인 관심 방향을 표현하는 LOS 표시자(1011a-c)(즉, 가변 가능한 시선)를 포함할 수 있다. 동작에서, 객체 상호작용 엔진 모듈(162)은 방랑하는 위협의 위치는 물론 현재 LOS 표시자에 기초하여 상호작용 결과를 컴퓨팅하도록 구성될 수 있다. 상호작용 결과는 모바일 디바이스 상에서 방랑하는 위협 관련 미니-게임을 개시하는 것일 수 있다. 게임 애플리케이션에서, 모바일 디바이스들, 제어 영역들 및 방랑하는 위협들의 상태들은 스코어링 매커니즘을 생성하는데 이용될 수 있다. 예를 들어, 게임은 사용자들이 완료할 미션을 생성하고, 그 후 사용자들이 반응할 비상사태들(emergencies)을 생성할 수 있다. 사용자들은 미션을 완료하기 위해 제어 영역으로부터 제어 영역으로 콘택스트를 돌아다녀야 할 필요가 있을 수 있다. 가상 툴들은 게임 애플리케이션에 또한 포함될 수 있다. 이들 규칙들 및 목적들은, 다른 게임 애플리케이션들이 콘택스트 특정 제어 영역들 및 방랑하는 위협들을 활용하도록 생성될 수 있기 때문에 단지 예시적이다.
[0082] 도 11을 참조하고, 도 10을 더 참조하면, 하나 또는 그 초과의 미니-게임들을 실행하는 모바일 디바이스의 평면도가 도시된다. 이 도해는 지도 애플리케이션(1102a), 브리지 미니-게임 애플리케이션(1102b), 무기 미니-게임 애플리케이션(1102c) 및 엔지니어링 미니-게임 애플리케이션(1102d)을 실행하고 디스플레이하도록 구성된 모바일 디바이스(1100)를 포함한다. 지도 애플리케이션들(1102a-d)은 도 10에 관하여 설명된 공상과학 테마를 고려하여 단지 예시적이다. 동작에서, AV 서버(110)는 데이터베이스(114)에 지도 애플리케이션들(1102a-b)을 저장하고, 지도 애플리케이션들(1102a-d)을 모바일 디바이스(1100)에 제공할 수 있다. 지도 애플리케이션(1102a-d)은 객체 상호작용 엔진 모듈(162)에 의해 컴퓨팅된 결과들에 기초하여 개시될 수 있다. 예를 들어, 애플리케이션은 모바일 디바이스(1100)가 대응하는 제어 영역에 진입할 때 개시될 수 있다. 미니-게임 애플리케이션들은 각각의 제어 영역을 테마로 하게 될 수 있다. 브리지 미니-게임은 비행 시뮬레이터를 완료하도록 사용자에게 요구할 수 있고, 무기 미니-게임은 타겟 슈팅 게임을 완료하도록 사용자에게 요구할 수 있고, 엔지니어링 게임은 기술적 퀴즈 게임(technical trivia game)일 수 있다. 미니-게임은 증강된 현실 애플리케이션에서 AV 객체와 상호작용하는 것을 포함할 수 있다. 예를 들어, 사용자는 방랑하는 위협(1010a)으로 이어지는 복도의 뷰를 획득하기 위해 모바일 디바이스(1002c)의 카메라 뷰를 이용할 수 있다. 모바일 디바이스(1002c)의 디스플레이는, 외계인 로봇이 복도 아래쪽으로 이동하고 있는 상태의 복도의 실황 이미지를 동시에 보여줄 수 있으며, 여기서 외계인 로봇의 위치는 상태 변수들에 기초한다. 이러한 미니-게임의 객체는 (예를 들어, 모바일 디바이스 스크린 상에서 로봇 이미지의 탭(tap)을 통해) 외계인 로봇을 가상으로 파워-다운하도록 될 수 있다. 다른 미니-게임들이 이용될 수 있다. 특정한 미니-게임의 사용자의 성적은 모바일 디바이스, 제어 영역, 또는 다른 게임 애플리케이션 관련 상태 모델(예를 들어, 탐사선의 위치, 손상 상태들, 위협 레벨)의 상태를 변화시킬 수 있다. 미니-게임들의 결과들은 또한 테마에 기초하여 콘택스트 데이터를 일시적으로 수정하는데 이용될 수 있다(예를 들어, 문 닫기, 에어 로크 개방, 트랜스포터 활성화).
[0083] 도 12를 참조하고, 도 1 내지 도 11을 더 참조하여, AV 객체를 디스플레이하기 위한 프로세스(1200)는 도시된 스테이지들을 포함한다. 그러나 프로세스(1200)는 단지 예시적이며 제한적이지 않다. 프로세스(1200)는 예를 들어, 스테이지들을 부가되게 하고, 제거되게 하고, 재배열되게 하고, 결합되게 하고, 동시에 수행되게 함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분할되게 함으로써 변경될 수 있다. 예를 들어, 아래에서 설명되는 AV 객체 정보를 수신하는 스테이지(1206)가 스테이지들(1202 및 1204) 이전에 수행될 수 있다. 도시되고 설명된 바와 같은 프로세스(1200)에 대한 또 다른 변경들이 가능하다.
[0084] 스테이지(1202)에서, 모바일 디바이스(200), 또는 AV 서버(110)는 모바일 디바이스(200)의 위치를 결정한다. 모바일 디바이스(200)는 위성 및/또는 육상 기반 포지셔닝 시스템들로부터 무선 포지셔닝 신호들을 획득할 수 있다. 삼변측량 기반 접근법이 모바일 디바이스의 위치를 결정하기 위해 모바일 디바이스(200)에 의해 활용될 수 있다. 디바이스 상태 모듈(256)은 위치 정보와 함께 업데이트될 수 있고, 모바일 디바이스 상태 변수들의 모음은 모바일 디바이스(200) 상에 국부적으로 저장되거나 AV 서버(110)에 제공될 수 있다. 일 실시예에서, 부가적인 액션들이 프로세스(1200)의 시작 시에 수행될 수 있다. 예를 들어, 사용자는 게임을 개시하고 난이도 레벨을 세팅하고, 게임 파라미터들을 교환하고, 사용자 인증을 수행하거나, 또는 요금청구 정보를 결정할 수 있다. 다른 애플리케이션들 또는 동작 단계들이 또한 수행될 수 있다.
[0085] 스테이지(1202)에서, 모바일 디바이스(200) 또는 AV 서버(110)는 콘택스트를 결정한다. 콘택스트는 데이터베이스(114)에 콘택스트 데이터(180)로서 저장된 (상호작용 값들을 포함하는) 구조적 특징들을 갖는 평면도일 수 있다. 콘택스트는 RSSI/RTT 열지도와 같은 가중화 정보(182)를 포함할 수 있다. 부가적인 미디어 콘텐츠 아이템들(178)은 콘택스트에 포함될 수 있다. 콘택스트는 스테이지(1202)에서 결정된 위치에 기초하여 모바일 디바이스(200)에 제공될 수 있거나, 또는 사전에 모바일 디바이스(200) 상에 저장되고 모바일 디바이스(200)에 위치에 기초하여 액세스될 수 있다.
[0086] 스테이지(1206)에서, 모바일 디바이스(200)는 AV 서버로부터 또는 로컬 메모리로부터 AV 객체 정보를 획득할 수 있다. AV 객체 정보는 객체 라이브러리(192)에 저장될 수 있고, 미디어 콘텐츠 아이템, 객체 물리 엔진 및 메타데이터(186)와 같은 하나 또는 그 초과의 연관된 아이템들(176)을 포함할 수 있다. AV 객체 정보는 또한 AV 객체의 현재 상태를 표현하는 상태 변수들의 세트를 포함할 수 있다. 상태 변수들은 위치, 크기, 이동 속도 및 방향, 상호작용 변수들 및 AV 객체의 액션들을 모델링하기 위한 다른 정보를 표현할 수 있다. AV 객체 정보는 스테이지(1202)에서 결정된 위치에 기초하여 모바일 디바이스(200)에 제공될 수 있다. 예를 들어, AV 객체 정보는 아웃바운드 통신 경로(410)를 통해 AV 서버(110)로부터 모바일 디바이스에 전송될 수 있다. AV 객체는 사전에 모바일 디바이스(200) 상에 저장되며 저장 매체들(210)에서 (즉, 위치가 스테이지(1202)에서 결정되기 이전에) 지속적일 수 있다.
[0087] 스테이지(1208)에서, 모바일 디바이스(200)는 콘택스트에 관한 AV 객체 정보를 디스플레이하도록 구성된다. 모바일 디바이스(200)는 AV 객체를 갖는 콘택스트(예를 들어, 평면도, 카메라 뷰)는 물론, 콘택스트에 로케이팅되는 다른 모바일 디바이스들을 표현하는 아이콘들을 디스플레이하도록 구성된 그래픽 디스플레이(222) 및 AV 뷰(234)를 포함한다. 예를 들어, 도 5를 참조하면, 콘택스트(300)는 가상 볼(510) 및 모바일 디바이스들(502)과 함께 디스플레이된다. AV 객체의 위치는 상태 변수로서 포함될 수 있다. AV 객체 상태 변수들은 물리 엔진 모듈(254) 및/또는 객체 상호작용 엔진 모듈(162) 내에서 알고리즘들의 실행에 기초하여 업데이트될 수 있다. 그래픽 디스플레이(222)는 상태 변수들의 값들에 적어도 부분적으로 기초하여 AV 객체를 디스플레이하도록 구성될 수 있다.
[0088] 스테이지(1210)에서, 모바일 디바이스(200) 또는 AV 서버(110)는 상호작용을 검출하도록 구성된다. 일 예에서, 객체 상호작용 엔진 모듈(162)은 상호작용을 검출하기 위해 AV 객체 정보, 콘택스트 정보(예를 들어, 콘택스트 데이터(180) 및/또는 가중화 정보(182)), 및 디바이스 상태 모듈(256)을 프로세싱할 수 있다. 상호작용은, 예를 들어, AV 객체가 콘택스트의 구조적 엘리먼트 근처에 있음을 AV 객체 정보가 표시할 때(예를 들어, 가상 볼이 도 5에서 도시된 바와 같이 벽에 튕길 때) 발생할 수 있다. 상호작용은 AV 객체가 모바일 디바이스 근처에 있음을 표시하는 AV 객체 정보에 의해 검출될 수 있다. 상호작용은 모바일 디바이스(200)에 입력되는 제스처들에, 또는 다른 디바이스 상태 정보에 기초하여 검출될 수 있다.
[0089] 스테이지(1212)에서, 모바일 디바이스(200) 또는 AV 서버(110)는 상호작용에 기초하여 AV 객체 정보를 수정하도록 구성된다. 객체 상호작용 엔진 모듈(162) 및/또는 물리 엔진 모듈(254)은 검출된 상호작용에 기초하여 상호작용 결과를 컴퓨팅하도록 구성된다. 상호작용 결과는 상호작용 이후 AV 객체가 이동하는 속도 및 방향을 표시할 수 있다. 예를 들어, 수정은 상호작용 결과들에 기초하여 AV 객체의 속도 상태 변수의 값을 감소시키는 것(즉, 가상 속도의 감소)일 수 있다. 상호작용 결과는, 상호작용 이후 AV 객체의 크기를 축소시키는 것(즉, 크기 상태 변수를 수정함)을 표시할 수 있다. AV 객체와 연관된 다른 상태 변수들은 상호작용 결과에 기초하여 수정될 수 있다. 도 7의 팽창하는 위협 예에서, 상호작용 결과는 AV 객체의 팽창을 제한할 수 있다. 상호작용 결과는, 콘택스트(300), 모바일 디바이스(802c), 가상 툴(예를 들어, 가상 샌드백(810b)) 또는 그의 결합들과의 상호작용에 기초할 수 있다. 수정된 AV 객체 정보는 네트워크(140)를 통해 다른 모바일 디바이스들에 배포될 수 있다.
[0090] 스테이지(1214)에서, 모바일 디바이스(200)는 수정된 AV 객체 정보를 디스플레이하도록 구성된다. 수정된 AV 객체 정보는, 수정된 상태 변수들(예를 들어, 속도, 방향, 크기의 변화)은 물론, 미디어 콘텐츠 아이템들(178)의 변화들(예를 들어, 그래픽 파일들, LOS 표시기들(1011))에 기초한 변화를 포함할 수 있다. 미디어 콘텐츠 아이템들(178)의 변화들은 상태 변수들의 변화에 대응할 수 있다(즉, 상태 변수는 미디어 콘텐츠 아이템에 대한 포인터일 수 있음). 수정된 AV 객체 정보를 디스플레이하는 것은 네트워크(140)를 통해 단일 모바일 디바이스 상에서 또는 다중 모바일 디바이스들 상에서 발생할 수 있다.
[0091] 도 13a를 참조하고, 도 1 내지 도 4를 추가로 참조하면, 상호작용 변수들을 결정하기 위한 프로세스(1300)는 도시된 스테이지들을 포함한다. 그러나 프로세스(1300)는 단지 예시적이며 제한적이지 않다. 프로세스(1300)는 예를 들어, 스테이지들이 부가되게 하고, 제거되게 하고, 재배열되게 하고, 결합되게 하고, 동시에 수행되게 함으로써 및/또는 단일 스테이지를 다수의 스테이지들로 분할되게 함으로써 변경될 수 있다.
[0092] 스테이지(1302)에서, AV 서버(110)는 콘택스트 데이터(180)를 획득할 수 있다. 개발자는 데이터베이스(114)에 액세스하고 콘택스트(300)를 저장하기 위해 개발자 디바이스(420)를 활용할 수 있다. 콘택스트는 예를 들어, 몇 개의 영역들을 갖는 빌딩의 레이아웃을 포함할 수 있다. 콘택스트(300)는 AV 서버(110) 또는 모바일 디바이스 상에 저장된 데이터 파일(예를 들어, .dwg, BIMXML)일 수 있다. 영역들은 방들, 뜰, 현관 등과 같이 물리적으로 별개의 영역들 또는 지도에 부과된 그리드 상의 영역들과 같은 비-물리적 경계들에 의해 분리된 영역들일 수 있다.
[0093] 스테이지(1304)에서, AV 서버(110)는 콘택스트 내의 하나 또는 그 초과의 영역들에 대응하는 위치 데이터를 결정하도록 구성될 수 있다. 명령들(116)은, 프로세서(118)가 콘택스트를 영역으로 분할하게 하기 위한 컴퓨터-판독 가능한 명령들을 포함할 수 있다. 분할은 구조적 특징들(예를 들어, 벽들, 문들, 창문들)은 물론, 방들, 뜰들, 현관들 등의 위치를 결정하기 위한 개방 공간의 분석에 기초할 수 있다.
[0094] 스테이지(1306)에서, AV 서버(110)는 영역들 각각에 대한 가중화 정보를 결정하도록 구성될 수 있다. 예에서, 가중화 정보는 특정한 아키텍처 특징(예를 들어, 물질, 크기, 반지름, 두께 등)의 특성 및/또는 속성으로서 아키텍처 파일에 포함될 수 있다. 가중화 정보는 아키텍처 특징들(예를 들어, 벽들, 벽들의 구성요소, 거리)의 수 및 RSSI 및 RTT 신호 정보에 영향을 줄 수 있는 다른 팩터들에 기초할 수 있다. 가중화 정보는 콘택스트에서 하나 또는 그 초과의 모바일 디바이스들로부터 제공될 결과들에 기초하여 결정될 수 있다. 도 3을 참조하면, 예를 들어, 액세스 포인트(302)는 모바일 디바이스들(304a, 304b, 304c) 각각에 의해 점유된 영역들에 대한 RSSI 및 RTT 신호 정보를 캡처할 수 있다. 영역들 각각에 대응하는 가중화 정보는 데이터베이스(114)에 저장될 수 있다. 일 예에서, RSSI 및/또는 RTT 정보는 벽 물질과 같은 아키텍처 특징 특성에 상관될 수 있다. 즉, 낮은 신호(즉, 높은 손실)를 갖는 콘택스트 내의 영역은 '콘크리트' 물질에 상관될 수 있고, 중간 신호(즉, 중간 손실)를 갖는 영역은 '석고' 물질에 상관될 수 있고, 높은 신호(예를 들어, 낮은 손실)를 갖는 영역은 개방 공간에 상관될 수 있다. 콘택스트에 대한 가중화 정보는 더 많은 모바일 디바이스들이 콘택스트에 진입할 수 있기 때문에(예를 들어, 크라우드소싱(crowdsourcing)) 시간에 걸쳐 업데이트되고 정제될 수 있다. 가중화 정보는 콘택스트의 물리적 레이아웃을 덮을 수 있는 열지도일 수 있다.
[0095] 스테이지(1308)에서, AV 서버(110)는 가중화 정보에 기초하여 상호작용 변수를 결정하도록 구성될 수 있다. 상호작용 변수들은 가중화 정보와 연관된 상태 변수들 및/또는 함수들일 수 있다. 상호작용 변수들은 구조적 특징들의 구성요소(예를 들어, 딱딱한 벽, 문, 개방 복도), 또는 RSSI 및/또는 RTT 데이터에 기초한 신호 세기에 기초할 수 있다. 상호작용 변수들은 콘택스트 내의 아키텍처 특징과 AV 객체 간의 상호작용을 모델링하는데 이용될 수 있다. 예를 들어, 가상 볼(510)은 '벽돌' 물질 특성을 갖는 벽에는 튕기고, '유리' 물질 특성을 갖는 벽은 부술 수 있다. 상호작용 변수들은, 예를 들어, 튕김 또는 부숨의 결과로서 가상 볼(510)의 속도 및 방향을 결정하기 위한 함수일 수 있다.
[0096] 실시예에서, 벽들의 구성요소 및 배치는 가상 컴포넌트를 포함할 수 있고, 상호작용 변수들은 가상 컴포넌트에 기초할 수 있다. 예를 들어, 특정한 벽들에 대한 가중화 정보는 벽돌 또는 콘크리트를 표시할 수 있다. 이 실제 가중화 정보는 판타지 세팅들에서 '돌' 또는 공상과학 세팅에서 '퍼마크리트(permacrete)'가 되도록 가상으로 지정될 수 있다. 가상의 지정들에 대한 상호작용 변수들이 애플리케이션에서 이용될 수 있다. 가상 책꽂이들, 테입스트리들(tapestries), 블라스트 도어(blast door) 또는 다른 가상 구조물들과 같은 다른 아키텍처 또는 환경적 특징들이 지정될 수 있다. 가상 특성들은 실제 특징의 특성들에 기초할 수 있다. 예를 들어, 가상 돌 벽의 두께 및 대응하는 내구성은 콘택스트에서 실제 벽들의 특성들(즉, 물질, 크기, 위치, 구성)에 관련될 수 있다. 동작에서, 객체 상호작용 엔진 모듈(162)은 AV 객체와의 상호작용 결과를 결정하기 위해, 상호작용 변수들 또는 함수들은 물론 특징 특성들을 활용할 수 있다. 예를 들어, 도 6을 참조하면, 상호작용 변수의 높은 값은 파이어볼(610)의 상태가 크기면에서 대량으로 축소되게 할 수 있는 반면에, 상호작용 변수의 낮은 값은, 파이어볼(610)의 상태가 크기면에서 소량으로 축소되게 할 수 있다. 상호작용 변수들 또는 함수들의 영향력은 상이한 AV 객체들에 대해 상이할 수 있다.
[0097] 도 13b를 참조하면, 가중화 정보 및 상호작용 변수들에 대한 예시적인 데이터 구조가 도시된다. 데이터베이스(114)는 콘택스트 데이터(180) 및 가중화 정보(182)의 모음을 포함할 수 있다. 일 예에서, 콘택스트 데이터(180)는 콘택스트(300)의 전자 표현들일 수 있다. 전자 표현들의 예들은, CAD(Computer Automated Design) 파일들, BIM 파일들(예를 들어, BIMXML), 다른 사유의(proprietary) 파일들을 포함(그러나 이것으로 제한되지 않음)할 수 있다. 도 13b의 예시적인 콘택스트 데이터 레코드(180a)는 속성 태그(즉, 'Attrib Value' 태그)를 포함하는 BIMXML 포맷을 활용한다. 태그는 단지 예시적이며 제한적이지 않다. 속성 태그는 가중화 정보(182)를 참조하는데 이용될 수 있다. 예를 들어, 콘택스트 데이터 레코드(180a)는 콘택스트 특징의 물질이 '벽돌'이라는 것을 표시한다. 가중화 정보(182)는 상호작용 변수들 또는 함수들에 특징 특성들(예를 들어, 속성 태그들)을 상관시키기 위한 데이터베이스의 모음 레코드들 또는 다른 파일 구조일 수 있다. 일 예로서, 가중화 정보 데이터 표(182a)는 AV 객체들의 리스트(1320) 및 상호작용 변수들 또는 함수들의 모음을 포함할 수 있다. 가중화 정보 데이터 표(182a)는 도 13b의 물질 값 예와 같이, 이용될 아키텍처 특징들(예를 들어, 속성 태그들)에 의해 인덱싱될 수 있다. 주어진 속성 태그(예를 들어, 널(null), 벽돌, 유리, 석고, 콘크리트 등) 및 AV 객체(예를 들어, 볼, 물, 파이어볼, 로봇)에 대해, 상호작용 변수(1322)가 결정될 수 있다. 예를 들어, 볼은 상호작용 함수 B(v,d)를 활용함으로써 벽돌과 상호작용할 것이다. 함수 B(v,d)는 객체 상호작용 엔진 모듈(162) 내의 함수에 대한 호출(call)일 수 있다. 함수 호출은 예의 속도(v) 및 방향(d) 벡터와 같은 파라미터들을 포함할 수 있다. 다른 파라미터들 및 다른 함수들이 다양한 AV 객체 가중화 정보 값들에 대해 이용될 수 있다.
[0098] 일 실시예에서, 가중화 정보(182)는 모바일 디바이스에 의해 제공되는 신호 파라미터들에 의해 인덱싱될 수 있다. 예를 들어, 속성 태그(예를 들어, 널, 벽돌, 유리, 석고, 콘크리트)는 신호 세기 값들 또는 RSSI 및/또는 RTT 데이터에 기초한 다른 정보로 대체될 수 있다. 이 예에서, 상호작용 변수(1322)의 선택은 AV 객체 및 신호 파라미터들에 기초한다. 일 실시예에서, 가중화 정보 데이터 표(182a)의 속성 태그들은, 상호작용 변수의 선택이 AV 객체 및 속성 태그 및 신호 파라미터들의 결합에 기초하도록 신호 파라미터들에 의해 증강될 수 있다.
[0099] 도 14a를 참조하고, 도 4를 더 참조하여, AV 서버에 포지션 및 제스처 업데이트들을 제공하기 위한 프로세스(1400)는 도시된 스테이지들을 포함한다. 그러나 프로세스(1400)는 단지 예시적이며 제한적이지 않다. 프로세스(1400)는 예를 들어, 스테이지들이 부가되게 하고, 제거되게 하고, 재배열되게 하고, 결합되게 하고, 동시에 수행되게 함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분할되게 함으로써 변경될 수 있다. 예를 들어, 아래에 설명되는, AV 객체 정보 및 피어(peer) 포지션 업데이트들을 수신하는 스테이지(1406)는 스테이지(1406) 이전에 수행될 수 있다. 도시되고 설명된 바와 같은 프로세스(1400)에 대한 또 다른 변경들이 가능하다.
[0100] 스테이지(1402)에서, 모바일 디바이스(402a)는 인바운드 통신 경로(411a)를 통해 AV 서버(110)에 등록된다. 등록 프로세스는, 모바일 디바이스(402a)가 AV 객체 정보를 수신할 준비가 되었음을 표시하기 위해 이용될 수 있다. 등록 프로세스는 보안 프로시저(예를 들어, 패스워드)를 포함할 수 있고, 모바일 디바이스(402)가 네트워크(140)에 참여하거나 콘택스트(300)에 진입할 때 자동으로 발생할 수 있다.
[0101] 스테이지(1404)에서, 모바일 디바이스(402)는, 아웃바운드 통신 경로(410a)를 통해 AV 서버(110)로부터 AV 객체 정보 및 피어 포지션 업데이트들을 수신한다. AV 객체 정보는 데이터베이스(114)에서 지속적일 수 있고, 스테이지(1402)의 등록 이후 모바일 디바이스(402a)에 제공될 수 있다. AV 객체 정보는 사전에 모바일 디바이스(402a) 상에서 데이터베이스(212)에 저장될 수 있다. AV 서버(110)는 인바운드 통신 경로들(411b, 411c)을 통해 다른 모바일 디바이스들(예를 들어, 모바일 디바이스들(402b, 402c))로부터 피어 포지션 업데이트들을 수신하고 아운바운드 통신 경로(410a)를 통해 모바일 디바이스(402a)에 피어 포지션 업데이트들을 제공하도록 구성될 수 있다. AV 객체 정보 및 피어 포지션 업데이트들은, 각각, 모바일 디바이스들(402b, 402c) 및 AV 객체와 연관되는 하나 또는 그 초과의 상태 변수들일 수 있다.
[0102] 스테이지(1406)에서, 모바일 디바이스(402a)는 인바운드 통신 경로(411a)를 통해 AV 서버(110)에 포지션 및 제스처 업데이트들을 제공한다. 포지션 및 제스처 업데이트들은 디바이스 상태 모듈(256)의 하나 또는 그 초과의 상태 변수들일 수 있다. 객체 상호작용 엔진 모듈(162)은 상호작용 이벤트들을 결정하고 및/또는 AV 객체 정보를 업데이트하기 위해 포지션 및 제스처 업데이트들을 활용할 수 있다. AV 서버(110)는 스테이지(1404)에서 설명된 바와 같이 다른 모바일 디바이스들(402b, 402c)에 AV 객체 정보 및 포지션 업데이트들을 배포할 수 있다.
[0103] 도 14b를 참조하고, 도 4를 더 참조하면, AV 객체 포지션 업데이트들을 AV 서버에 제공하기 위한 프로세스(1450)는 도시된 스테이지들을 포함한다. 그러나 프로세스(1450)는 단지 예시적이며 제한적이지 않다. 프로세스(1450)는 예를 들어, 스테이지들을 부가되게 하고, 제거되게 하고, 재배열되게 하고, 결합되게 하고, 동시에 수행되게 함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분할되게 함으로써 변경될 수 있다.
[0104] 스테이지(1452)에서, 모바일 디바이스(402a)는 인바운드 통신 경로(411a)를 통해 AV 서버(110)에 등록된다. 등록 프로세스는, 모바일 디바이스(402a)가 AV 객체 정보를 수신할 준비가 되었음을 표시하기 위해 이용될 수 있다. 등록 프로세스는 보안 프로시저(예를 들어, 패스워드)를 포함할 수 있고, 모바일 디바이스(402)가 네트워크(140)에 참여하거나 콘택스트(300)에 진입할 때 자동으로 발생할 수 있다.
[0105] 스테이지(1454)에서, 모바일 디바이스(402a)는 AV 서버(110)로부터 AV 객체 물리 엔진 모듈(174)을 포함하는 AV 객체 정보를 수신한다. 객체 물리 엔진 모듈(174)은 물리 엔진 모듈(254)에서 국부적으로(즉, 모바일 디바이스(402a) 상에서) 실행된다. 동작에서, 물리 엔진 모듈(254)은 AV 객체의 움직임을 시뮬레이팅하고, 위치 또는 다른 AV 객체 상태 변수들을 업데이트한다. 업데이트의 레이트는 프로세서(216)의 사양 및 네트워크(140)의 이용 가능한 대역폭에 기초할 수 있다. 물리 엔진 모듈(254) 및 객체 상호작용 엔진 모듈(162)은 AV 객체와 콘택스트 간의 상호작용들의 결과를 결정하는데 이용될 수 있다. 예를 들어, 콘택스트 및 대응하는 가중화 정보는 모바일 디바이스 상에 저장되고 물리 엔진 및 객체 상호작용 엔진 모듈들에 의한 프로세싱을 위해 이용 가능할 수 있다.
[0106] 스테이지(1456)에서, 모바일 디바이스(402a)는 인바운드 통신 경로(411b)를 통해 AV 서버에 AV 객체 상태 변수 업데이트들을 제공한다. AV 서버는 다른 모바일 디바이스들(402b, 402c)에 업데이트된 AV 객체 상태 변수들을 브로드캐스트할 수 있다. AV 서버(110)는 그의 대응하는 상태 변수들(예를 들어, 포지션, 게임 특정 컨디션들)에 기초하여 다른 모바일 디바이스들(402b, 402c)에 업데이트들을 선택적으로 제공하도록 구성될 수 있다.
[0107] 도 15를 참조하고, 도 5를 더 참조하면, AV 객체에 대한 상태 변수들을 수정하기 위한 프로세스(1500)는 도시된 스테이지들을 포함한다. 그러나 프로세스(1500)는 단지 예시적이며 제한적이지 않다. 프로세스(1500)는 예를 들어, 스테이지들을 부가되게 하고, 제거되게 하고, 재배열되게 하고, 결합되게 하고, 동시에 수행되게 함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분할되게 함으로써 변경될 수 있다. 예를 들어, 아래에서 설명되는, 모바일 디바이스 상호작용 결과를 결정하기 위한 스테이지(1510)는 스테이지들(1506 및 1508) 이전에 수행될 수 있다. 도시되고 설명된 바와 같은 프로세스(1500)에 대한 또 다른 변경들이 가능하다.
[0108] 스테이지(1502)에서, 모바일 디바이스(502c) 또는 AV 서버(110)는 모바일 디바이스(502c)의 위치에 기초하여 콘택스트를 결정하도록 구성될 수 있다. 예를 들어, 콘택스트(300)는 사무실 빌딩의 평면도일 수 있다. AV 서버(110)는, 모바일 디바이스가 콘택스트(300) 내의 위치에 진입할 때 네트워크(140)를 통해 콘택스트(300)를 모바일 디바이스(502c)에 제공할 수 있다. 콘택스트(300)는 사전에 모바일 디바이스(502c) 상에 저장될 수 있다.
[0109] 스테이지(1504)에서, 모바일 디바이스(502c) 또는 AV 서버(110)는 AV 객체에 대한 초기 상태를 생성하도록 구성될 수 있다. 예를 들어, 가상 볼(510)의 초기 상태는 초기 방향 및 속도 정보를 갖는 포지션 'A'를 포함한다. AV 객체의 초기 상태는 모바일 디바이스에 의해 생성될 수 있다.
[0110] 스테이지(1506)에서, 모바일 디바이스(502c) 또는 AV 서버(110) 상에서 실행되는 객체 상호작용 엔진 모듈(162)은 콘택스트 데이터(180) 및/또는 가중화 정보(182)(예를 들어, 상호작용 변수들)를 갖는 AV 객체의 상태를 프로세싱하도록 구성될 수 있다. 객체 상호작용 엔진 모듈(162)로부터의 출력은 상호작용 결과일 수 있다. 예를 들어, 가상 볼(510)이 포지션 'C'에 로케이팅되면, 결과는 스테이지(1508)에서 가상 볼(510)의 방향 및 속도와 연관된 상태 변수들을 수정(즉, 그 값의 변경)하는 것이다. 다른 상호작용 결과들이 가능하다. 예를 들어, 콘택스트 상호작용 결과는, AV 객체(예를 들어, 파이어 볼(610))의 크기를 축소시키거나, 또는 AV 객체(예를 들어, 팽창하는 위협(710))를 제한할 수 있다.
[0111] 스테이지(1510)에서, 모바일 디바이스(502c) 상에서 또는 AV 서버(110) 상에서 실행되는 객체 상호작용 엔진 모듈(162)은 모바일 디바이스 상태 정보를 갖는 AV 객체의 상태를 프로세싱하도록 구성될 수 있다. 예를 들어, 가상 볼(510)이 포지션 'E'에 도달할 때, 모바일 디바이스(502c)의 사용자는, 모바일 디바이스(502c)에 제스처, 또는 다른 센서 입력을 입력하고 모바일 디바이스(502c)의 상태를 수정할 수 있다. 상호작용 결과는 스테이지(1512)에서 AV 객체의 상태를 수정할 수 있다. 상호작용 결과는 모바일 디바이스(502c)의 상태 및/또는 콘택스트(300)의 상태를 또한 수정할 수 있다. 예를 들어, 가상 볼(510)이 바위인 경우, 상호작용 결과는 콘택스트(300)에서 벽 또는 다른 구조를 일시적으로 제거하는 것일 수 있다. 수정된 AV 객체는, 모바일 디바이스(502c)는 물론 다른 모바일 디바이스들(502a, 502b) 상에 디스플레이될 수 있다.
[0112] 도 16을 참조하고, 도 8을 더 참조하여, 콘택스트 또는 툴 상호작용에 기초하여 AV 객체의 상태 변수들을 수정하기 위한 프로세스(1600)는 도시된 스테이지들을 포함한다. 그러나 프로세스(1600)는 단지 예시적이며 제한적이지 않다. 프로세스(1600)는 예를 들어, 스테이지들을 부가되게 하고, 제거되게 하고, 재배열되게 하고, 결합되게 하고, 동시에 수행되게 함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분할되게 함으로써 변경될 수 있다.
[0113] 스테이지(1602)에서, 모바일 디바이스(802a) 또는 AV 서버(110)는 모바일 디바이스(802a)의 위치에 기초하여 콘택스트를 결정하도록 구성될 수 있다. 예를 들어, 콘택스트(300)는 사무실 빌딩의 평면도일 수 있다. 콘택스트(300)는, 모바일 디바이스가 콘택스트(300) 내의 위치에 진입할 때 네트워크(140)를 통해 모바일 디바이스(802a)에 제공될 수 있다. 콘택스트(300)는 사전에 모바일 디바이스(802a) 상에 저장될 수 있다.
[0114] 스테이지(1604)에서, 모바일 디바이스(802a) 또는 AV 서버(110)는 가상 위협에 대한 상태를 생성하도록 구성될 수 있다. 가상 위협의 초기 상태는 초기 포지션 및 이동 변수들을 포함할 수 있다. 예를 들어, 팽창하는 위협(710)은 팽창하는 위협(710)이 영역에서 얼마나 빨리 팽창하는지를 결정하기 위한 시드 포지션 및 홍수 레이트 변수를 포함할 수 있다. 초기 상태는 또한 팽창하는 위협(710)의 경계들(예를 들어, 다각형)을 표시하기 위한 변수들을 포함할 수 있다.
[0115] 스테이지(1606)에서, 모바일 디바이스(802a) 상에서 또는 AV 서버(110) 상에서 실행되는 객체 상호작용 엔진 모듈(162)은 콘택스트 상호작용 결과를 결정하도록 구성될 수 있다. 예를 들어, 콘택스트(300)는 팽창하는 위협(710)을 제한하는 벽을 포함한다. 콘택스트 상호작용 결과는 팽창하는 위협(710) 상태 정보의 경계 변수들을 수정할 수 있다. 다른 콘택스트 상호작용 결과들이 또한 결정될 수 있다.
[0116] 스테이지(1608)에서, 모바일 디바이스(802a) 또는 AV 서버(110)는 가상 툴에 대한 상태를 생성하도록 구성될 수 있다. 가상 툴의 초기 상태는 초기 포지션 및 상호작용 변수를 포함할 수 있다. 예를 들어, 가상 샌드백들(810a)은 팽창하는 위협에 의해 점유된 영역으로부터 분리되는 콘택스트(300)내의 영역에 로케이팅될 수 있다. 게임 애플리케이션의 목적은 제 1 위치로부터 제 2 위치로 가상 툴을 재로케이팅시키도록 사용자에게 요구하는 것일 수 있다. 사용자는 다른 AV 객체와의 상호작용을 야기하기 위한 포지션 내로 가상 툴을 이동시킬 수 있다. 모바일 디바이스(802b)는 팽창하는 위협(710)과 상호작용하도록 가상 샌드백들(810b)을 이동시킨다.
[0117] 스테이지(1610)에서, 모바일 디바이스(802a) 상에서 또는 AV 서버(110) 상에서 실행되는 객체 상호작용 엔진 모듈(162)은 툴 상호작용 결과를 결정하도록 구성될 수 있다. 예를 들어, 가상 샌드백들(810b)의 상태 및 팽창하는 위협(710)의 상태는 툴 상호작용 결과를 결정하도록 객체 상호작용 엔진 모듈(162)에 의해 프로세싱될 수 있다. 툴 상호작용 결과는 팽창하는 위협(710)의 경계 상태 변수들을 수정할 수 있다.
[0118] 스테이지(1612)에서, 가상 위협의 상태는 콘택스트 상호작용 결과 및/또는 툴 상호작용 결과에 기초하여 수정될 수 있다. 샌드백 가상 툴은 단지 예시적이며 제한적이지 않다. 다른 가상 툴이 이용될 수 있다. 예를 들어, 홍수 예를 계속하면, 가상 툴은 가상 드레인, 또는 가상의 프리즈 광선(freeze ray) 또는 가상 스폰지일 수 있다. 콘택스트 상호작용 결과 및 툴 상호작용 결과에 대한 계산의 순서는 단지 예시적이다. 결과들은 직렬로 또는 병렬로 계산될 수 있다. 일부 애플리케이션들에서, 콘택스트 에너지와 가상 툴 간의 시너지가 이용될 수 있다(예를 들어, 결합된 효과는 개별적으로 부가된 개별 효과들보다 더 큼). 애플리케이션은 주어진 가상 위협에 대한 상이한 상호작용 결과들을 각각 갖는 다수의 가상 툴들을 가질 수 있다.
[0119] 도 17을 참조하고, 도 10을 더 참조하면, 모바일 디바이스 상에서 미니-게임을 개시하기 위한 프로세스에 대한 프로세스(1700)는 도시된 스테이지들을 포함할 수 있다. 그러나 프로세스(1700)는 단지 예시적이며 제한적이지 않다. 프로세스(1700)는 예를 들어, 스테이지들을 부가되게 하고, 제거되게 하고, 재배열되게 하고, 결합되게 하고, 동시에 수행되게 함으로써 및/또는 단일 스테이지들을 다수의 스테이지들로 분할되게 함으로써 변경될 수 있다.
[0120] 스테이지(1702)에서, 모바일 디바이스(1002a) 또는 AV 서버(110)는 모바일 디바이스(1002a)의 위치에 기초하여 콘택스트를 결정하도록 구성될 수 있다. 예를 들어, 콘택스트(300)는 사무실 빌딩의 평면도일 수 있다. 콘택스트(300)는, 모바일 디바이스가 콘택스트(300) 내의 위치에 진입할 때, 네트워크(140)를 통해 모바일 디바이스(1002a)에 제공될 수 있다. 콘택스트(300)는 사전에 모바일 디바이스(1002a) 상에 저장될 수 있다.
[0121] 스테이지(1704)에서, 모바일 디바이스(1002a) 또는 AV 서버(110)는 콘택스트 내에 하나 또는 그 초과의 제어 영역들을 설정하도록 구성될 수 있다. 제어 영역들은 방들, 뜰들, 현관들 등 또는 콘택스트(300) 상에 부과되는 그리드 상의 영역들과 같이 비-물리적 경계들에 의해 분리되는 영역들에 대응할 수 있다. 제어 영역은 대응하는 상태 변수들을 갖는 AV 객체일 수 있다. AV 서버(110)는 다른 모바일 디바이스들(예를 들어, 1002b, 1002c)에 제어 영역을 브로드캐스트할 수 있다.
[0122] 스테이지(1706)에서, 모바일 디바이스(1002a) 또는 AV 서버(110)는 하나 또는 그 초과의 방랑하는 위협들에 대한 상태를 생성하도록 구성될 수 있다. 제한이 아닌 일 예로서, 방랑하는 위협의 초기 상태는 초기 포지션, 이동 및 시선 변수들을 포함할 수 있다. 방랑하는 위협에 대한 이동 및 시선은 콘택스트에 의해 제한될 수 있다. 예를 들어, 도 10을 참조하면, 방랑하는 위협(1010a)은 콘택스트(300)의 복도들을 배회하도록 구성된 외계인 로봇을 표현한다. 방랑하는 위협(1010a)은 상이한 방향들로 자신의 LOS 표시자(1011a)를 랜덤으로 변화시킬 수 있다. 방랑하는 위협에 대한 상태 변수들은 LOS 표시자(1011a)의 방향을 표시하도록 업데이트될 수 있다.
[0123] 스테이지(1708)에서, 모바일 디바이스(1002a) 또는 AV 서버(110)는 방랑하는 위협들 각각에 대한 교전(engagement) 구역을 결정하도록 구성될 수 있다. 예를 들어, 교전 구역은 방랑하는 위협 주위에 정의된 영역일 수 있다. 교전 구역은 LOS 정보를 포함할 수 있어서, 사용자가 검출됨 없이 방랑하는 위협 뒤에서 몰래 다가가도록 허용한다. 교전 구역은 콘택스트(300)에 의해 제한될 수 있다. 방랑하는 위협 LOS는 콘택스트 데이터(180) 및/또는 가중화 정보(182)에서 정의된 바와 같은 벽들 또는 다른 구조적 아이템들에 의해 차단될 수 있다. 스테이지(1710)에서, 모바일 디바이스(1002a)의 상태가 결정될 수 있다. 객체 상호작용 엔진 모듈(162)은 스테이지(1714)에서 하나 또는 그 초과의 방랑하는 위협들에 대한 교전 구역들의 위치와 모바일 디바이스의 위치를 비교하도록 구성될 수 있다. 모바일 디바이스가 방랑하는 위협 교전 구역 내에 있다고 비교가 표시하는 경우, 모바일 디바이스는 스테이지(1716)에서 미니-게임 애플리케이션을 실행하도록 구성될 수 있다. 예를 들어, 사용자는 방랑하는 위협을 물리치거나 이로부터 도망가도록 시도하기 위해 전투 관련 미니-게임을 완료해야 할 수 있다. 미니-게임의 결과들은 모바일 디바이스 및 방랑하는 위협에 대한 상태 변수들에 영향을 줄 것이다. 예를 들어, 방랑하는 위협은 미니-게임의 결과로서 감소될 수 있는 데미지 변수를 가질 수 있다.
[0124] 스테이지(1712)에서, 객체 상호작용 엔진 모듈(162)은, 모바일 디바이스의 현재 위치가 제어 영역 내에 있는지를 결정하도록 구성될 수 있다. 예를 들어, 도 10을 참조하면, 모바일 디바이스(1002a)는 제어 영역(1004a) 내에 있다. 모바일 디바이스(1002a)가 제어 영역(1004a) 내에 있는 동안, 미니-게임이 스테이지(1716)에서 사용자에 제시될 수 있다. 미니-게임은 제어 영역(예를 들어, 위에서 설명된 시뮬레이팅된 브리지 예)에 대응하고, 미니-게임의 결과들은 모바일 디바이스, 제어 영역 또는 다른 애플리케이션 기반 데이터 필드들의 상태 변수들에 영향을 줄 수 있다.
[0125] 청구항들을 포함해서 여기서 이용된 바와 같이, "~중 적어도 하나"의 서문으로 나오는 아이템들의 리스트에서 이용되는 것과 같은 "또는"은 예를 들어, "A, B, C 중 적어도 하나"의 리스트가 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C) 또는 1개의 초과의 특징들의 결합들(예를 들어, AA, AAB, ABBC 등)을 의미하도록 이접적 리스트를 표시한다.
[0126] 청구항들을 포함해서 여기서 이용된 바와 같이, 기능 또는 동작이 아이템 또는 컨디션에 기초한다는 구문은, 달리 언급이 없으면, 기능 또는 동작이 언급된 아이템 또는 컨디션에 기초하고, 언급된 아이템 또는 컨디션에 추가로, 하나 또는 그 초과의 아이템들 및/또는 컨디션들에 기초할 수 있다는 것을 의미한다.
무선 통신 네트워크는 모든 통신들이 무선으로 전송되게 하는 것이 아니라, 무선으로 전송되는 적어도 일부의 통신들을 갖도록 구성된다.
[0127] 다른 예들 및 구현들이 본 개시 및 첨부된 청구항들의 사상 및 범위 내에 있다. 예를 들어, 소프트웨어의 특성으로 인해, 위에서 설명된 기능들은, 프로세서, 하드웨어, 펌웨어, 하드와이어링, 또는 이들의 임의의 결합들에 의해 실행되는 소프트웨어(예를 들어, 컴퓨터 프로그램 물건)를 이용하여 구현될 수 있다. 이러한 소프트웨어는 프로세서-실행 가능 저장 매체 상에 상주하는 컴퓨터 프로그램 물건일 수 있다. 기능들을 구현하는 특징들은 또한, 기능들 중 일부들이 상이한 물리적 위치에서 구현되도록 분배되는 것을 비롯해서, 다양한 포지션들에 물리적으로 로케이팅될 수 있다.
[0128] 또한 1개 초과의 발명이 개시될 수 있다.
[0129] 설명된 구성들에 대한 실질적인 변동들은 특정한 요건들에 따라 이루어질 수 있다. 예를 들어, 커스터마이징된 하드웨어가 또한 이용될 수 있고 및/또는 특정한 엘리먼트들은 하드웨어, 소프트웨어(애플릿들 등과 같은 포터블 소프트웨어를 포함함), 또는 이 둘 다에서 구현될 수 있다. 또한, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 연결이 이용될 수 있다.
[0130] 물리적 및/또는 유형의 컴퓨터-판독 가능 매체들의 공통적인 형태는, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 천공 카드들, 페이퍼 테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 이하 설명되는 바와 같은 반송파 또는 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다. 예를 들어, 컴퓨터-판독 가능 매체들은, 프로세서-실행 가능 저장 매체 상에 상주하는 컴퓨터 프로그램 물건일 수 있고, 컴퓨터 프로그램 물건은 프로세서로 하여금 여기서 설명되는 하나 또는 그 초과의 특징들을 수행하게 하도록 구성된 프로세서-실행 가능 명령들을 포함한다.
[0131] 위에서 논의된 방법들, 시스템들 및 디바이스들은 예들이다. 다양한 구성들은 적절히 다양한 프로시저들 또는 컴포넌트들을 생략하거나, 대체하거나, 또는 부가할 수 있다. 예를 들어, 대안적인 구성들에서, 방법들은 설명된 것과 상이한 순서로 수행될 수 있고 다양한 단계들이 부가되거나, 생략되거나, 또는 결합될 수 있다. 또한, 특정한 구성들에 관하여 설명된 특징들은 다양한 다른 구성들에서 결합될 수 있다. 구성들의 상이한 양상들 및 엘리먼트들은 유사한 방식으로 결합될 수 있다. 또한, 기술은 진화하고 이에 따라 엘리먼트들 대부분은 예들이며, 본 개시 또는 청구항들의 범위를 제한하지 않는다.
[0132] 특정한 세부사항들은 예시적인 구성들(구현들을 포함함)의 완전한 이해를 제공하도록 설명에서 제공되었다. 그러나 구성들은 이들 특정한 세부사항들 없이 실시될 수 있다. 예를 들어, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들 및 기술들은 구성들을 모호하게 하지 않도록 불필요한 세부사항 없이 도시된다. 이 설명은 단지 예시적인 구성들을 제공하며, 청구항들의 범위, 응용성 또는 구성들을 제한하지 않는다. 오히려, 구성들의 앞선 설명은 설명된 기술들을 구현하기 위한 설명을 제공한다. 다양한 변화들은 본 개시의 사상 또는 범위로부터 벗어남 없이 엘리먼트들의 기능 및 어레인지먼트에서 이루어질 수 있다.
[0133] 또한, 구성들은 흐름도 또는 블록도로서 도시된 프로세스로서 설명될 수 있다. 각각이 순차적인 프로세스로서 동작들을 설명할 수 있지만, 동작들 대부분은 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수 있다. 프로세스는 도면에 포함되지 않은 부가적인 스테이지들 또는 기능들을 가질 수 있다. 또한, 방법들의 예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어들, 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현될 때, 작업을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 비-일시적인 컴퓨터-판독 가능 매체에 저장될 수 있다. 프로세서들은 설명된 작업들을 수행할 수 있다.
[0134] 서로 통신하거나 연결된 것으로서 여기서 논의되고 및/또는 도면에서 도시되는, 기능적이거나 다른 방식의 컴포넌트들은 통신 가능하게 커플링된다. 즉, 이들은 그들 간의 통신을 가능케 하도록 직접 또는 간접적으로 연결될 수 있다.
[0135] 몇 개의 예시적인 구성들이 설명되었지만, 다양한 수정들, 대안적인 구성들 및 등가물들의 본 개시의 사상으로부터 벗어남 없이 이용될 수 있다. 예를 들어, 위의 엘리먼트들은, 다른 규칙들이 본 발명의 적용보다 우선시 되거나, 그렇지 않으면 수정할 수 있는 더 큰 시스템의 컴포넌트들일 수 있다. 또한, 다수의 동작들은 위의 엘리먼트들이 고려되기 이전에, 중간에 또는 그 이후에 착수될 수 있다. 이에 따라, 위의 설명은 청구항들의 범위를 구속하지 않는다.
[0136] 값이 제 1 임계값을 넘는다(또는 그 초과)는 문구는 값이 제 1 임계값보다 약간 더 큰 제 2 임계값(예를 들어, 제 2 임계값은 컴퓨팅 시스템의 분해능에서 제 1 임계값보다 더 큰 하나의 값임)을 충족하거나 넘는다는 문구와 등가이다. 값이 제 1 임계값보다 적다는(또는 그 이내) 문구는, 값이 제 1 임계값보다 약간 더 작은 제 2 임계값(예를 들어, 제 2 임계값은 컴퓨팅 시스템의 분해능에서 제 1 임계값보다 더 낮은 하나의 값임)보다 적거나 등가라는 문구와 등가이다.

Claims (112)

  1. 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 방법으로서,
    상기 모바일 디바이스의 위치를 결정하는 단계;
    상기 위치에 기초하여 콘택스트(context)를 결정하는 단계;
    AV 객체 정보를 획득하는 단계;
    상기 콘택스트에 관하여 상기 AV 객체 정보를 디스플레이하는 단계;
    상기 콘택스트와의 상호작용을 검출하는 단계;
    상기 상호작용에 기초하여 상기 AV 객체 정보를 수정하는 단계; 및
    수정된 AV 객체 정보를 디스플레이하는 단계
    를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 콘택스트는 가중화 정보를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 가중화 정보는 RSSI(Received Signal Strength Indication) 또는 RTT(Round-Trip Time) 데이터에 기초하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  4. 제 2 항에 있어서,
    상기 가중화 정보는 상기 콘택스트에서 물리적 객체의 구성요소(composition)와 연관되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  5. 제 1 항에 있어서,
    사용자로부터 제스처(gesture)를 수신하는 단계; 및
    수신된 제스처에 기초하여 상기 AV 객체 정보를 수정하는 단계
    를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 사용자에게 경고 신호를 제공하는 단계; 및
    반응 시간에 기초하여 상기 AV 객체 정보를 수정하는 단계를 포함하고,
    상기 반응 시간은 상기 경고 신호가 제공된 시간과 상기 제스처가 수신된 시간 간의 차이인,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  7. 제 1 항에 있어서,
    AV(augmented virtuality) 서버로부터 상기 AV 객체 정보를 수신하는 단계;
    상기 수정된 AV 객체 정보를 상기 AV 서버에 제공하는 단계
    를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  8. 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 방법으로서,
    상기 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하는 단계;
    AV 객체에 대한 상태를 생성하는 단계;
    콘택스트 상호작용 결과를 결정하는 단계;
    상기 콘택스트 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하는 단계;
    상기 모바일 디바이스 상호작용 결과를 결정하는 단계;
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하는 단계; 및
    상기 AV 객체를 디스플레이하는 단계
    를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  9. 제 8 항에 있어서,
    상기 AV 객체의 상태는 방향 변수를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  10. 제 9 항에 있어서,
    상기 콘택스트 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하는 단계는 상기 방향 변수를 수정하는 단계를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  11. 제 9 항에 있어서,
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하는 단계는 상기 방향 변수를 수정하는 단계를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  12. 제 8 항에 있어서,
    상기 AV 객체의 상태는 크기 변수를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  13. 제 12 항에 있어서,
    상기 콘택스트 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하는 단계는 상기 크기 변수를 수정하는 단계를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  14. 제 8 항에 있어서,
    상기 모바일 디바이스 상호작용 결과를 결정하는 단계는 사용자로부터의 제스처를 수신하는 단계를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  15. 제 8 항에 있어서,
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 모바일 디바이스의 상태를 수정하는 단계를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  16. AV(Augmented Virtuality) 애플리케이션들에서 가상 툴들을 이용하는 방법으로서,
    모바일 디바이스의 위치에 기초하여 콘택스트를 결정하는 단계;
    가상 위협(virtual threat)에 대한 상태를 생성하는 단계;
    가상 툴에 대한 상태를 생성하는 단계;
    콘택스트 상호작용 결과를 결정하는 단계;
    툴 상호작용 결과를 결정하는 단계;
    상기 콘택스트 상호작용 결과 및 상기 툴 상호작용 결과에 기초하여 상기 가상 위협의 상태를 수정하는 단계; 및
    상기 가상 위협 및 상기 가상 툴을 디스플레이하는 단계
    를 포함하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 방법.
  17. 제 16 항에 있어서,
    상기 가상 툴의 상태는 위치 변수를 포함하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 방법.
  18. 제 17 항에 있어서,
    상기 모바일 디바이스의 상태에 기초하여 상기 가상 툴의 상태를 수정하는 단계를 포함하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 방법.
  19. 제 18 항에 있어서,
    상기 툴 상호작용 결과를 결정하는 단계는 상기 가상 툴의 수정된 상태에 기초하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 방법.
  20. 제 16 항에 있어서,
    상기 툴 상호작용 결과는 상기 가상 위협의 상태를 제한하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 방법.
  21. AV(Augmented Virtuality) 애플리케이션에서 상호작용 변수들을 결정하는 방법으로서,
    콘택스트를 획득하는 단계;
    상기 콘택스트 내의 복수의 영역들에 대응하는 위치 데이터를 결정하는 단계;
    상기 복수의 영역들 각각에 대한 가중화 정보를 결정하는 단계;
    상기 가중화 정보에 기초하여 상호작용 변수들을 결정하는 단계; 및
    상기 상호작용 변수들을 저장하는 단계
    를 포함하는,
    AV 애플리케이션에서 상호작용 변수들을 결정하는 방법.
  22. 제 21 항에 있어서,
    상기 가중화 정보는 RSSI 정보에 기초하는,
    AV 애플리케이션에서 상호작용 변수들을 결정하는 방법.
  23. 제 21 항에 있어서,
    상기 가중화 정보는 RTT 정보에 기초하는,
    AV 애플리케이션에서 상호작용 변수들을 결정하는 방법.
  24. 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 방법으로서,
    상기 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하는 단계;
    상기 콘택스트 내에서 제어 영역을 설정하는 단계;
    방랑하는 위협(roving threat)에 대한 상태를 생성하는 단계 ― 상기 방랑하는 위협의 상태는 상기 콘택스트에 의해 제한됨 ― ;
    상기 방랑하는 위협에 대한 교전 구역(engagement zone)을 결정하는 단계 ― 상기 교전 구역은 상기 콘택스트에 의해 제한됨 ― ;
    상기 모바일 디바이스의 상태를 결정하는 단계 ― 상기 상태는 현재 위치를 포함함 ― ; 그리고
    상기 모바일 디바이스의 상태에 기초하여 제 1 미니-게임을 개시하는 단계
    를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  25. 제 24 항에 있어서,
    상기 제 1 미니-게임은, 상기 모바일 디바이스의 위치가 상기 제어 영역 내에 있을 때 개시되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  26. 제 24 항에 있어서,
    상기 모바일 디바이스의 위치가 상기 교전 구역 내에 있을 때 제 2 미니-게임을 개시하는 단계를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  27. 제 24 항에 있어서,
    상기 교전 구역은 시선(line of sight) 변수를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  28. 제 27 항에 있어서,
    상기 시선 변수는 상기 콘택스트에 의해 제한되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 방법.
  29. 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 장치로서,
    메모리 모듈; 및
    상기 메모리 모듈에 커플링되는 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 모바일 디바이스의 위치를 결정하도록;
    상기 위치에 기초하여 콘택스트(context)를 결정하도록;
    AV 객체 정보를 획득하도록;
    상기 콘택스트에 관하여 상기 AV 객체 정보를 디스플레이하도록;
    상기 콘택스트와의 상호작용을 검출하도록;
    상기 상호작용에 기초하여 상기 AV 객체 정보를 수정하도록; 그리고
    수정된 AV 객체 정보를 디스플레이하도록;
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  30. 제 29 항에 있어서,
    상기 콘택스트는 가중화 정보를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  31. 제 30 항에 있어서,
    상기 가중화 정보는 RSSI(Received Signal Strength Indication) 또는 RTT(Round-Trip Time) 데이터에 기초하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  32. 제 30 항에 있어서,
    상기 가중화 정보는 상기 콘택스트에서 물리적 객체의 구성요소(composition)와 연관되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  33. 제 29 항에 있어서,
    상기 프로세서는 추가로,
    사용자 제스처를 수신하도록; 그리고
    수신된 제스처에 기초하여 상기 AV 객체 정보를 수정하도록
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  34. 제 33 항에 있어서,
    상기 프로세서는 추가로,
    사용자에게 경고 신호를 제공하도록; 그리고
    반응 시간에 기초하여 상기 AV 객체 정보를 수정하도록
    구성되고,
    상기 반응 시간은 상기 경고 신호가 제공된 시간과 상기 사용자 제스처가 수신된 시간 간의 차이인,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  35. 제 29 항에 있어서,
    상기 프로세서는 추가로,
    AV(augmented virtuality) 서버로부터 상기 AV 객체 정보를 수신하도록;
    상기 수정된 AV 객체 정보를 상기 AV 서버에 제공하도록
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  36. 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 장치로서,
    메모리 모듈; 및
    상기 메모리 모듈에 커플링되는 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하도록;
    AV 객체에 대한 상태를 생성하도록;
    콘택스트 상호작용 결과를 결정하도록;
    상기 콘택스트 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하도록;
    상기 모바일 디바이스 상호작용 결과를 결정하도록;
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하도록; 그리고
    상기 AV 객체를 디스플레이하도록
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  37. 제 36 항에 있어서,
    상기 AV 객체의 상태는 방향 변수를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  38. 제 37 항에 있어서,
    상기 프로세서는 추가로,
    상기 콘택스트 상호작용 결과에 기초하여 상기 방향 변수를 수정하도록
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  39. 제 37 항에 있어서,
    상기 프로세서는 추가로,
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 방향 변수를 수정하도록
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  40. 제 36 항에 있어서,
    상기 AV 객체의 상태는 크기 변수를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  41. 제 40 항에 있어서,
    상기 프로세서는 추가로,
    상기 콘택스트 상호작용 결과에 기초하여 상기 크기 변수를 수정하도록,
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  42. 제 36 항에 있어서,
    상기 프로세서는 추가로,
    사용자로부터의 제스처를 수신하도록 구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  43. 제 36 항에 있어서,
    상기 프로세서는 추가로,
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 모바일 디바이스의 상태를 수정하도록
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  44. AV(Augmented Virtuality) 애플리케이션들에서 가상 툴들을 이용하는 장치로서,
    메모리 모듈; 및
    상기 메모리 모듈에 커플링되는 프로세서
    를 포함하고,
    상기 프로세서는,
    모바일 디바이스의 위치에 기초하여 콘택스트를 결정하도록;
    가상 위협(virtual threat)에 대한 상태를 생성하도록;
    가상 툴에 대한 상태를 생성하도록;
    콘택스트 상호작용 결과를 결정하도록;
    툴 상호작용 결과를 결정하도록;
    상기 콘택스트 상호작용 결과 및 상기 툴 상호작용 결과에 기초하여 상기 가상 위협의 상태를 수정하도록; 그리고
    상기 가상 위협 및 상기 가상 툴을 디스플레이하도록
    구성되는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  45. 제 44 항에 있어서,
    상기 가상 툴의 상태는 위치 변수를 포함하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  46. 제 45 항에 있어서,
    상기 프로세서는 추가로,
    상기 모바일 디바이스의 상태에 기초하여 상기 가상 툴의 상태를 수정하도록
    구성되는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  47. 제 46 항에 있어서,
    상기 프로세서는 추가로,
    상기 가상 툴의 수정된 상태에 기초하여 상기 툴 상호작용 결과를 결정하도록
    구성되는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  48. 제 44 항에 있어서,
    상기 툴 상호작용 결과는 상기 가상 위협의 상태를 제한하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  49. AV(Augmented Virtuality) 애플리케이션에서 상호작용 변수들을 결정하는 장치로서,
    메모리 모듈; 및
    상기 메모리 모듈에 커플링되는 프로세서
    를 포함하고,
    상기 프로세서는,
    콘택스트를 획득하도록;
    상기 콘택스트 내의 복수의 영역들에 대응하는 위치 데이터를 결정하도록;
    상기 복수의 영역들 각각에 대한 가중화 정보를 결정하도록;
    상기 가중화 정보에 기초하여 상호작용 변수들을 결정하도록; 그리고
    상기 상호작용 변수들을 저장하도록
    구성되는,
    AV 애플리케이션에서 상호작용 변수들을 결정하는 장치.
  50. 제 49 항에 있어서,
    상기 가중화 정보는 RSSI 정보에 기초하는,
    AV 애플리케이션에서 상호작용 변수들을 결정하는 장치.
  51. 제 49 항에 있어서,
    상기 가중화 정보는 RTT 정보에 기초하는,
    AV 애플리케이션에서 상호작용 변수들을 결정하는 장치.
  52. 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 장치로서,
    메모리 모듈; 및
    상기 메모리 모듈에 커플링되는 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하도록;
    상기 콘택스트 내에서 제어 영역을 설정하도록;
    방랑하는 위협(roving threat)에 대한 상태를 생성하도록 ― 상기 방랑하는 위협의 상태는 상기 콘택스트에 의해 제한됨 ― ;
    상기 방랑하는 위협에 대한 교전 구역(engagement zone)을 결정하도록 ― 상기 교전 구역은 상기 콘택스트에 의해 제한됨 ― ;
    상기 모바일 디바이스의 상태를 결정하도록 ― 상기 상태는 현재 위치를 포함함 ― ; 그리고
    상기 모바일 디바이스의 상태에 기초하여 제 1 미니-게임을 개시하도록
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  53. 제 52 항에 있어서,
    상기 프로세서는 추가로,
    상기 모바일 디바이스의 위치가 상기 제어 영역 내에 있을 때 상기 제 1 미니-게임을 개시하도록
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  54. 제 52 항에 있어서,
    상기 프로세서는 추가로,
    상기 모바일 디바이스의 위치가 상기 교전 구역 내에 있을 때 제 2 미니-게임을 개시하도록
    구성되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  55. 제 52 항에 있어서,
    상기 교전 구역은 시선(line of sight) 변수를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  56. 제 55 항에 있어서,
    상기 시선 변수는 상기 콘택스트에 의해 제한되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  57. 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 장치로서,
    상기 모바일 디바이스의 위치를 결정하기 위한 수단;
    상기 위치에 기초하여 콘택스트(context)를 결정하기 위한 수단;
    AV 객체 정보를 획득하기 위한 수단;
    상기 콘택스트에 관하여 상기 AV 객체 정보를 디스플레이하기 위한 수단;
    상기 콘택스트와의 상호작용을 검출하기 위한 수단;
    상기 상호작용에 기초하여 상기 AV 객체 정보를 수정하기 위한 수단; 및
    수정된 AV 객체 정보를 디스플레이하기 위한 수단
    을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  58. 제 57 항에 있어서,
    상기 콘택스트는 가중화 정보를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  59. 제 58 항에 있어서,
    상기 가중화 정보는 RSSI(Received Signal Strength Indication) 또는 RTT(Round-Trip Time) 데이터에 기초하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  60. 제 58 항에 있어서,
    상기 가중화 정보는 상기 콘택스트에서 물리적 객체의 구성요소(composition)와 연관되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  61. 제 57 항에 있어서,
    사용자로부터 제스처(gesture)를 수신하기 위한 수단; 및
    수신된 제스처에 기초하여 상기 AV 객체 정보를 수정하기 위한 수단
    을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  62. 제 61 항에 있어서,
    상기 사용자에게 경고 신호를 제공하기 위한 수단; 및
    반응 시간에 기초하여 상기 AV 객체 정보를 수정하기 위한 수단을 포함하고,
    상기 반응 시간은 상기 경고 신호가 제공된 시간과 상기 제스처가 수신된 시간 간의 차이인,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  63. 제 57 항에 있어서,
    AV(augmented virtuality) 서버로부터 상기 AV 객체 정보를 수신하기 위한 수단;
    상기 수정된 AV 객체 정보를 상기 AV 서버에 제공하기 위한 수단
    을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  64. 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 장치로서,
    상기 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하기 위한 수단;
    AV 객체에 대한 상태를 생성하기 위한 수단;
    콘택스트 상호작용 결과를 결정하기 위한 수단;
    상기 콘택스트 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하기 위한 수단;
    상기 모바일 디바이스 상호작용 결과를 결정하기 위한 수단;
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하기 위한 수단; 및
    상기 AV 객체를 디스플레이하기 위한 수단
    을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  65. 제 64 항에 있어서,
    상기 AV 객체의 상태는 방향 변수를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  66. 제 65 항에 있어서,
    상기 콘택스트 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하기 위한 수단은 상기 방향 변수를 수정하기 위한 수단을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  67. 제 65 항에 있어서,
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하기 위한 수단은 상기 방향 변수를 수정하기 위한 수단을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  68. 제 64 항에 있어서,
    상기 AV 객체의 상태는 크기 변수를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  69. 제 68 항에 있어서,
    상기 콘택스트 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하기 위한 수단은 상기 크기 변수를 수정하기 위한 수단을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  70. 제 64 항에 있어서,
    상기 모바일 디바이스 상호작용 결과를 결정하기 위한 수단은 사용자로부터의 제스처를 수신하기 위한 수단을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  71. 제 64 항에 있어서,
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 모바일 디바이스의 상태를 수정하기 위한 수단을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  72. AV(Augmented Virtuality) 애플리케이션들에서 가상 툴들을 이용하는 장치로서,
    모바일 디바이스의 위치에 기초하여 콘택스트를 결정하기 위한 수단;
    가상 위협(virtual threat)에 대한 상태를 생성하기 위한 수단;
    가상 툴에 대한 상태를 생성하기 위한 수단;
    콘택스트 상호작용 결과를 결정하기 위한 수단;
    툴 상호작용 결과를 결정하기 위한 수단;
    상기 콘택스트 상호작용 결과 및 상기 툴 상호작용 결과에 기초하여 상기 가상 위협의 상태를 수정하기 위한 수단; 및
    상기 가상 위협 및 상기 가상 툴을 디스플레이하기 위한 수단
    을 포함하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  73. 제 72 항에 있어서,
    상기 가상 툴의 상태는 위치 변수를 포함하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  74. 제 73 항에 있어서,
    상기 모바일 디바이스의 상태에 기초하여 상기 가상 툴의 상태를 수정하기 위한 수단을 포함하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  75. 제 74 항에 있어서,
    상기 툴 상호작용 결과를 결정하는 것은 상기 가상 툴의 수정된 상태에 기초하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  76. 제 72 항에 있어서,
    상기 툴 상호작용 결과는 상기 가상 위협의 상태를 제한하는,
    AV 애플리케이션들에서 가상 툴들을 이용하는 장치.
  77. AV(Augmented Virtuality) 애플리케이션에서 상호작용 변수들을 결정하는 장치로서,
    콘택스트를 획득하기 위한 수단;
    상기 콘택스트 내의 복수의 영역들에 대응하는 위치 데이터를 결정하기 위한 수단;
    상기 복수의 영역들 각각에 대한 가중화 정보를 결정하기 위한 수단;
    상기 가중화 정보에 기초하여 상호작용 변수들을 결정하기 위한 수단; 및
    상기 상호작용 변수들을 저장하기 위한 수단
    을 포함하는,
    AV 애플리케이션에서 상호작용 변수들을 결정하는 장치.
  78. 제 77 항에 있어서,
    상기 가중화 정보는 RSSI 정보에 기초하는,
    AV 애플리케이션에서 상호작용 변수들을 결정하는 장치.
  79. 제 77 항에 있어서,
    상기 가중화 정보는 RTT 정보에 기초하는,
    AV 애플리케이션에서 상호작용 변수들을 결정하는 장치.
  80. 모바일 디바이스 상에서 AV(augmented virtuality)를 제공하기 위한 장치로서,
    상기 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하기 위한 수단;
    상기 콘택스트 내에서 제어 영역을 설정하기 위한 수단;
    방랑하는 위협(roving threat)에 대한 상태를 생성하기 위한 수단 ― 상기 방랑하는 위협의 상태는 상기 콘택스트에 의해 제한됨 ― ;
    상기 방랑하는 위협에 대한 교전 구역(engagement zone)을 결정하기 위한 수단 ― 상기 교전 구역은 상기 콘택스트에 의해 제한됨 ― ;
    상기 모바일 디바이스의 상태를 결정하기 위한 수단 ― 상기 상태는 현재 위치를 포함함 ― ; 그리고
    상기 모바일 디바이스의 상태에 기초하여 제 1 미니-게임을 개시하기 위한 수단
    을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  81. 제 80 항에 있어서,
    상기 제 1 미니-게임은, 상기 모바일 디바이스의 위치가 상기 제어 영역 내에 있을 때 개시되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  82. 제 80 항에 있어서,
    상기 모바일 디바이스의 위치가 상기 교전 구역 내에 있을 때 제 2 미니-게임을 개시하기 위한 수단을 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  83. 제 80 항에 있어서,
    상기 교전 구역은 시선(line of sight) 변수를 포함하는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  84. 제 83 항에 있어서,
    상기 시선 변수는 상기 콘택스트에 의해 제한되는,
    모바일 디바이스 상에서 AV를 제공하기 위한 장치.
  85. 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 프로그램 물건은 프로세서-실행 가능 명령들을 포함하고,
    상기 프로세서-실행 가능 명령들은 프로세서로 하여금,
    모바일 디바이스의 위치를 결정하게 하고;
    상기 위치에 기초하여 콘택스트(context)를 결정하게 하고;
    AV 객체 정보를 획득하게 하고;
    상기 콘택스트에 관하여 상기 AV 객체 정보를 디스플레이하게 하고;
    상기 콘택스트와의 상호작용을 검출하게 하고;
    상기 상호작용에 기초하여 상기 AV 객체 정보를 수정하게 하고; 및
    수정된 AV 객체 정보를 디스플레이하게 하도록
    구성되는,
    컴퓨터 프로그램 물건.
  86. 제 85 항에 있어서,
    상기 콘택스트는 가중화 정보를 포함하는,
    컴퓨터 프로그램 물건.
  87. 제 86 항에 있어서,
    상기 가중화 정보는 RSSI(Received Signal Strength Indication) 또는 RTT(Round-Trip Time) 데이터에 기초하는,
    컴퓨터 프로그램 물건.
  88. 제 86 항에 있어서,
    상기 가중화 정보는 상기 콘택스트에서 물리적 객체의 구성요소(composition)와 연관되는,
    컴퓨터 프로그램 물건.
  89. 제 85 항에 있어서,
    상기 프로세서로 하여금,
    사용자 제스처를 수신하게 하고; 및
    수신된 제스처에 기초하여 상기 AV 객체 정보를 수정하게 하도록
    구성된 명령들을 더 포함하는,
    컴퓨터 프로그램 물건.
  90. 제 89 항에 있어서,
    상기 프로세서로 하여금,
    사용자에게 경고 신호를 제공하게 하고; 및
    반응 시간에 기초하여 상기 AV 객체 정보를 수정하게 하도록
    구성된 명령들을 더 포함하고,
    상기 반응 시간은 상기 경고 신호가 제공된 시간과 상기 사용자 제스처가 수신된 시간 간의 차이인,
    컴퓨터 프로그램 물건.
  91. 제 85 항에 있어서,
    상기 프로세서로 하여금,
    AV(augmented virtuality) 서버로부터 상기 AV 객체 정보를 수신하게 하고;
    상기 수정된 AV 객체 정보를 상기 AV 서버에 제공하게 하도록
    구성된 명령들을 더 포함하는,
    컴퓨터 프로그램 물건.
  92. 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 프로그램 물건은 프로세서-실행 가능 명령들을 포함하고,
    상기 프로세서-실행 가능 명령들은 프로세서로 하여금,
    상기 모바일 디바이스의 위치에 기초하여 콘택스트를 결정하게 하고;
    AV 객체에 대한 상태를 생성하게 하고;
    콘택스트 상호작용 결과를 결정하게 하고;
    상기 콘택스트 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하게 하고;
    상기 모바일 디바이스 상호작용 결과를 결정하게 하고;
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 AV 객체의 상태를 수정하게 하고; 및
    상기 AV 객체를 디스플레이하게 하도록
    구성되는,
    컴퓨터 프로그램 물건.
  93. 제 92 항에 있어서,
    상기 AV 객체의 상태는 방향 변수를 포함하는,
    컴퓨터 프로그램 물건.
  94. 제 93 항에 있어서,
    상기 프로세서로 하여금,
    상기 콘택스트 상호작용 결과에 기초하여 상기 방향 변수를 수정하게 하도록 구성된 명령들
    을 더 포함하는,
    컴퓨터 프로그램 물건.
  95. 제 93 항에 있어서,
    상기 프로세서로 하여금,
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 방향 변수를 수정하게 하도록 구성된 명령들
    을 더 포함하는,
    컴퓨터 프로그램 물건.
  96. 제 92 항에 있어서,
    상기 AV 객체의 상태는 크기 변수를 포함하는,
    컴퓨터 프로그램 물건.
  97. 제 96 항에 있어서,
    상기 프로세서로 하여금,
    상기 콘택스트 상호작용 결과에 기초하여 상기 크기 변수를 수정하게 하도록 구성된 명령들
    을 더 포함하는,
    컴퓨터 프로그램 물건.
  98. 제 92 항에 있어서,
    상기 프로세서로 하여금,
    사용자로부터의 제스처를 수신하게 하도록 구성된 명령들
    을 더 포함하는,
    컴퓨터 프로그램 물건.
  99. 제 92 항에 있어서,
    상기 프로세서로 하여금,
    상기 모바일 디바이스 상호작용 결과에 기초하여 상기 모바일 디바이스의 상태를 수정하게 하도록 구성된 명령들
    을 더 포함하는,
    컴퓨터 프로그램 물건.
  100. 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 프로그램 물건은 프로세서-실행 가능 명령들을 포함하고,
    상기 프로세서-실행 가능 명령들은 프로세서로 하여금,
    모바일 디바이스의 위치에 기초하여 콘택스트를 결정하게 하고;
    가상 위협(virtual threat)에 대한 상태를 생성하게 하고;
    가상 툴에 대한 상태를 생성하게 하고;
    콘택스트 상호작용 결과를 결정하게 하고;
    툴 상호작용 결과를 결정하게 하고;
    상기 콘택스트 상호작용 결과 및 상기 툴 상호작용 결과에 기초하여 상기 가상 위협의 상태를 수정하게 하고; 및
    상기 가상 위협 및 상기 가상 툴을 디스플레이하게 하도록
    구성되는,
    컴퓨터 프로그램 물건.
  101. 제 100 항에 있어서,
    상기 가상 툴의 상태는 위치 변수를 포함하는,
    컴퓨터 프로그램 물건.
  102. 제 101 항에 있어서,
    상기 프로세서로 하여금,
    상기 모바일 디바이스의 상태에 기초하여 상기 가상 툴의 상태를 수정하게 하도록 구성된 명령들
    을 더 포함하는,
    컴퓨터 프로그램 물건.
  103. 제 102 항에 있어서,
    상기 프로세서로 하여금,
    상기 가상 툴의 수정된 상태에 기초하여 상기 툴 상호작용 결과를 결정하게 하도록 구성된 명령들
    을 더 포함하는,
    컴퓨터 프로그램 물건.
  104. 제 100 항에 있어서,
    상기 툴 상호작용 결과는 상기 가상 위협의 상태를 제한하는,
    컴퓨터 프로그램 물건.
  105. 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 프로그램 물건은 프로세서-실행 가능 명령들을 포함하고,
    상기 프로세서-실행 가능 명령들은 프로세서로 하여금,
    콘택스트를 획득하게 하고;
    상기 콘택스트 내의 복수의 영역들에 대응하는 위치 데이터를 결정하게 하고;
    상기 복수의 영역들 각각에 대한 가중화 정보를 결정하게 하고;
    상기 가중화 정보에 기초하여 상호작용 변수들을 결정하게 하고; 그리고
    상기 상호작용 변수들을 저장하게 하도록
    구성되는,
    컴퓨터 프로그램 물건.
  106. 제 105 항에 있어서,
    상기 가중화 정보는 RSSI 정보에 기초하는,
    컴퓨터 프로그램 물건.
  107. 제 105 항에 있어서,
    상기 가중화 정보는 RTT 정보에 기초하는,
    컴퓨터 프로그램 물건.
  108. 프로세서-실행 가능 저장 매체에 상주하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 프로그램 물건은 프로세서-실행 가능 명령들을 포함하고,
    상기 프로세서-실행 가능 명령들은 프로세서로 하여금,
    모바일 디바이스의 위치에 기초하여 콘택스트를 결정하게 하고;
    상기 콘택스트 내에서 제어 영역을 설정하게 하고;
    방랑하는 위협(roving threat)에 대한 상태를 생성하게 하고 ― 상기 방랑하는 위협의 상태는 상기 콘택스트에 의해 제한됨 ― ;
    상기 방랑하는 위협에 대한 교전 구역(engagement zone)을 결정하게 하고 ― 상기 교전 구역은 상기 콘택스트에 의해 제한됨 ― ;
    상기 모바일 디바이스의 상태를 결정하게 하고 ― 상기 상태는 현재 위치를 포함함 ― ; 그리고
    상기 모바일 디바이스의 상태에 기초하여 제 1 미니-게임을 개시하게 하도록
    구성되는,
    컴퓨터 프로그램 물건.
  109. 제 108 항에 있어서,
    상기 프로세서로 하여금,
    상기 모바일 디바이스의 위치가 상기 제어 영역 내에 있을 때 상기 제 1 미니-게임을 개시하도록 구성된 명령들
    을 더 포함하는,
    컴퓨터 프로그램 물건.
  110. 제 108 항에 있어서,
    상기 프로세서로 하여금,
    상기 모바일 디바이스의 위치가 상기 교전 구역 내에 있을 때 제 2 미니-게임을 개시하게 하도록 구성된 명령들
    을 더 포함하는,
    컴퓨터 프로그램 물건.
  111. 제 110 항에 있어서,
    상기 교전 구역은 시선(line of sight) 변수를 포함하는,
    컴퓨터 프로그램 물건.
  112. 제 111 항에 있어서,
    상기 시선 변수는 상기 콘택스트에 의해 제한되는,
    컴퓨터 프로그램 물건.
KR1020167010872A 2013-09-30 2014-09-24 증강 현실 장치, 방법 및 프로그램 KR20160065902A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/042,213 US10217284B2 (en) 2013-09-30 2013-09-30 Augmented virtuality
US14/042,213 2013-09-30
PCT/US2014/057095 WO2015048055A1 (en) 2013-09-30 2014-09-24 Augmented reality apparatus, method and program

Publications (1)

Publication Number Publication Date
KR20160065902A true KR20160065902A (ko) 2016-06-09

Family

ID=51703407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167010872A KR20160065902A (ko) 2013-09-30 2014-09-24 증강 현실 장치, 방법 및 프로그램

Country Status (6)

Country Link
US (1) US10217284B2 (ko)
EP (1) EP3052208A1 (ko)
JP (1) JP2016539668A (ko)
KR (1) KR20160065902A (ko)
CN (2) CN105555373B (ko)
WO (1) WO2015048055A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8810598B2 (en) 2011-04-08 2014-08-19 Nant Holdings Ip, Llc Interference based augmented reality hosting platforms
US9582516B2 (en) 2013-10-17 2017-02-28 Nant Holdings Ip, Llc Wide area augmented reality location-based services
US9536352B2 (en) * 2014-03-27 2017-01-03 Intel Corporation Imitating physical subjects in photos and videos with augmented reality virtual objects
US10332283B2 (en) * 2014-09-16 2019-06-25 Nokia Of America Corporation Visualized re-physicalization of captured physical signals and/or physical states
US11054893B2 (en) * 2014-11-15 2021-07-06 Vr Exit Llc Team flow control in a mixed physical and virtual reality environment
EP3286718A4 (en) * 2015-04-23 2018-12-05 Hasbro, Inc. Context-aware digital play
CN104869160B (zh) * 2015-05-12 2018-07-31 成都绿野起点科技有限公司 一种基于云平台的分布式虚拟现实系统
EP3417422A4 (en) * 2016-02-08 2019-07-03 Security Services Northwest, Inc. SECURITY ALERT SYSTEM BASED ON LOCATION
JP7118007B2 (ja) 2016-04-21 2022-08-15 マジック リープ, インコーポレイテッド 視野周辺の視覚的背光
CN105955463A (zh) * 2016-04-26 2016-09-21 王立峰 基于bim的vr虚拟感受系统
CN109564351A (zh) 2016-06-06 2019-04-02 华纳兄弟娱乐公司 混合现实系统
CN106302679B (zh) * 2016-08-08 2018-10-02 腾讯科技(深圳)有限公司 一种虚拟对象移动同步方法、客户端及服务器
US10726735B1 (en) * 2016-08-31 2020-07-28 Rockwell Collins, Inc. Simulation and training with virtual participants in a real-world environment
CN106371603A (zh) * 2016-09-18 2017-02-01 成都动鱼数码科技有限公司 基于位置服务和增强现实技术的角色定位捕捉方法
US20180114363A1 (en) * 2016-10-25 2018-04-26 Microsoft Technology Licensing, Llc Augmented scanning of 3d models
EP3319361A1 (en) * 2016-11-03 2018-05-09 Alcatel Lucent Method and apparatus for a radio communication network
EP3400991A1 (en) * 2017-05-09 2018-11-14 Trimoo IP Europe B.V. Transport simulation in a location-based mixed-reality game system
WO2018206605A1 (en) * 2017-05-08 2018-11-15 Trimoo Ip Europe B.V. Transport simulation in a location-based mixed-reality game system
EP3400992A1 (en) * 2017-05-08 2018-11-14 Trimoo IP Europe B.V. Providing a location-based mixed-reality experience
US11054272B2 (en) * 2017-05-11 2021-07-06 Disney Enterprises, Inc. Physical navigation guided via story-based augmented and/or mixed reality experiences
JP7029888B2 (ja) * 2017-05-23 2022-03-04 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
CN109931923B (zh) 2017-12-15 2023-07-07 阿里巴巴集团控股有限公司 一种导航引导图的生成方法和装置
US20190184291A1 (en) * 2017-12-20 2019-06-20 Andar, Inc. Augmented reality game that promotes in-store sales
US10768605B2 (en) * 2018-07-23 2020-09-08 Accenture Global Solutions Limited Augmented reality (AR) based fault detection and maintenance
US11103773B2 (en) * 2018-07-27 2021-08-31 Yogesh Rathod Displaying virtual objects based on recognition of real world object and identification of real world object associated location or geofence
US11241624B2 (en) * 2018-12-26 2022-02-08 Activision Publishing, Inc. Location-based video gaming with anchor points
US11385610B2 (en) * 2019-08-16 2022-07-12 Exato IP LLC Stage automation system
US11263787B2 (en) * 2020-03-05 2022-03-01 Rivian Ip Holdings, Llc Augmented reality detection for locating autonomous vehicles
CN111744181A (zh) * 2020-07-01 2020-10-09 网易(杭州)网络有限公司 游戏中信息的显示方法、装置、游戏客户端及介质
US11495004B1 (en) * 2021-06-15 2022-11-08 Meta Platforms Technologies, Llc Systems and methods for lighting subjects for artificial reality scenes
CN113766420B (zh) * 2021-09-08 2023-08-29 海南医学院 公共卫生领域的虚拟墙医疗隔离智能信息系统
JP7327851B1 (ja) 2022-11-09 2023-08-16 Tradfit株式会社 情報処理方法、プログラム及び情報処理装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6522312B2 (en) * 1997-09-01 2003-02-18 Canon Kabushiki Kaisha Apparatus for presenting mixed reality shared among operators
US7667700B1 (en) 2004-03-05 2010-02-23 Hrl Laboratories, Llc System and method for navigating operating in a virtual environment
WO2008128188A2 (en) * 2007-04-13 2008-10-23 Jeffrey Williams Systems and methods for interactive real estate viewing
US8264505B2 (en) 2007-12-28 2012-09-11 Microsoft Corporation Augmented reality and filtering
US20090174703A1 (en) * 2008-01-07 2009-07-09 Disney Enterprises, Inc. Particle-based method of generating and animating three-dimensional vegetation
WO2010029553A1 (en) * 2008-09-11 2010-03-18 Netanel Hagbi Method and system for compositing an augmented reality scene
US8839121B2 (en) * 2009-05-06 2014-09-16 Joseph Bertolami Systems and methods for unifying coordinate systems in augmented reality applications
US8442502B2 (en) 2010-03-02 2013-05-14 Empire Technology Development, Llc Tracking an object in augmented reality
US9901828B2 (en) 2010-03-30 2018-02-27 Sony Interactive Entertainment America Llc Method for an augmented reality character to maintain and exhibit awareness of an observer
JP2011258159A (ja) * 2010-06-11 2011-12-22 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
US20120032877A1 (en) * 2010-08-09 2012-02-09 XMG Studio Motion Driven Gestures For Customization In Augmented Reality Applications
US20120038668A1 (en) 2010-08-16 2012-02-16 Lg Electronics Inc. Method for display information and mobile terminal using the same
JP4914528B1 (ja) 2010-08-31 2012-04-11 新日鉄ソリューションズ株式会社 拡張現実提供システム、情報処理端末、情報処理装置、拡張現実提供方法、情報処理方法、及びプログラム
US8385596B2 (en) * 2010-12-21 2013-02-26 Microsoft Corporation First person shooter control with virtual skeleton
US20120176525A1 (en) * 2011-01-12 2012-07-12 Qualcomm Incorporated Non-map-based mobile interface
US20120195461A1 (en) 2011-01-31 2012-08-02 Qualcomm Incorporated Correlating areas on the physical object to areas on the phone screen
US8509483B2 (en) 2011-01-31 2013-08-13 Qualcomm Incorporated Context aware augmentation interactions
JP2012212225A (ja) 2011-03-30 2012-11-01 Nifty Corp 情報処理装置、方法およびプログラム
CN102142055A (zh) 2011-04-07 2011-08-03 上海大学 基于增强现实交互技术的真三维设计方法
US8760499B2 (en) * 2011-04-29 2014-06-24 Austin Russell Three-dimensional imager and projection device
US8550909B2 (en) * 2011-06-10 2013-10-08 Microsoft Corporation Geographic data acquisition by user motivation
JP5864144B2 (ja) * 2011-06-28 2016-02-17 京セラ株式会社 表示機器
JP5762892B2 (ja) 2011-09-06 2015-08-12 ビッグローブ株式会社 情報表示システム、情報表示方法、及び情報表示用プログラム
JP5940785B2 (ja) 2011-09-14 2016-06-29 株式会社バンダイナムコエンターテインメント プログラムおよびゲーム装置
US9285871B2 (en) * 2011-09-30 2016-03-15 Microsoft Technology Licensing, Llc Personal audio/visual system for providing an adaptable augmented reality environment
US9345957B2 (en) * 2011-09-30 2016-05-24 Microsoft Technology Licensing, Llc Enhancing a sport using an augmented reality display
JP5995304B2 (ja) 2011-12-12 2016-09-21 株式会社バンダイナムコエンターテインメント プログラム、情報記憶媒体、端末及びサーバ
US20130178257A1 (en) * 2012-01-06 2013-07-11 Augaroo, Inc. System and method for interacting with virtual objects in augmented realities
US8880101B2 (en) * 2012-12-16 2014-11-04 Federico Fraccaroli Method and apparatus for managing attributes and functionalities of predetermined geographical areas
US20140267282A1 (en) * 2013-03-14 2014-09-18 Robert Bosch Gmbh System And Method For Context Dependent Level Of Detail Adjustment For Navigation Maps And Systems
US9383819B2 (en) * 2013-06-03 2016-07-05 Daqri, Llc Manipulation of virtual object in augmented reality via intent
US20150009117A1 (en) * 2013-07-03 2015-01-08 Richard R. Peters Dynamic eye trackcing data representation

Also Published As

Publication number Publication date
US10217284B2 (en) 2019-02-26
US20150091941A1 (en) 2015-04-02
EP3052208A1 (en) 2016-08-10
JP2016539668A (ja) 2016-12-22
CN110833689A (zh) 2020-02-25
CN105555373A (zh) 2016-05-04
CN105555373B (zh) 2019-11-12
WO2015048055A1 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
KR20160065902A (ko) 증강 현실 장치, 방법 및 프로그램
JP7364627B2 (ja) 並行現実ゲーム内の活動を用いたプレイヤーの現実世界位置の検証
CN110507994B (zh) 控制虚拟飞行器飞行的方法、装置、设备及存储介质
JP2022517194A (ja) 仮想環境においてマーク情報を生成する方法、装置、電子機器及びコンピュータプログラム
US11612809B2 (en) Input interface system and location-based game system
CN110917619B (zh) 互动道具控制方法、装置、终端及存储介质
WO2021184806A1 (zh) 互动道具显示方法、装置、终端及存储介质
US20140213361A1 (en) Method, device, and system for interacting with a virtual character in smart terminal
CN109529356B (zh) 对战结果确定方法、装置及存储介质
JP2022539289A (ja) 仮想オブジェクト照準方法、装置及びプログラム
US9415311B2 (en) Location-based online games for mobile devices and in-game advertising
AU2020428058B2 (en) Method and apparatus for skill aiming in three-dimensional virtual environment, device and storage medium
US20140323157A1 (en) Systems and methods for hazardous material simulations and games using internet-connected mobile devices
WO2021244310A1 (zh) 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质
WO2022123466A1 (en) Visual camera re-localization using graph neural networks and relative pose supervision
CN112245921A (zh) 虚拟对象控制方法、装置、设备及存储介质
JP2024509064A (ja) 位置マークの表示方法及び装置、機器並びにコンピュータプログラム
CN113680060B (zh) 虚拟画面显示方法、装置、设备、介质及计算机程序产品
TW202300201A (zh) 興趣點之重複性預測
CN110585708B (zh) 虚拟环境中从飞行器着陆的方法、装置及可读存储介质
WO2023071808A1 (zh) 基于虚拟场景的图形显示方法、装置、设备以及介质
CN111318020A (zh) 虚拟对象控制方法、装置、设备及存储介质
CN113101653B (zh) 虚拟对象类型显示方法、数据处理方法及装置
KR102317103B1 (ko) Iot 기기를 이용해서 증강 현실을 구현한 전장 온라인 게임
CN113750531A (zh) 虚拟场景中的道具控制方法、装置、设备及存储介质

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination