KR101677718B1 - 가상 세계 처리 장치 및 방법 - Google Patents

가상 세계 처리 장치 및 방법 Download PDF

Info

Publication number
KR101677718B1
KR101677718B1 KR1020100034125A KR20100034125A KR101677718B1 KR 101677718 B1 KR101677718 B1 KR 101677718B1 KR 1020100034125 A KR1020100034125 A KR 1020100034125A KR 20100034125 A KR20100034125 A KR 20100034125A KR 101677718 B1 KR101677718 B1 KR 101677718B1
Authority
KR
South Korea
Prior art keywords
metadata
value
data
type
flag
Prior art date
Application number
KR1020100034125A
Other languages
English (en)
Other versions
KR20110114793A (ko
Inventor
한승주
한재준
방원철
김도균
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100034125A priority Critical patent/KR101677718B1/ko
Priority to CN201180018544.5A priority patent/CN102869415B/zh
Priority to US13/640,658 priority patent/US9612737B2/en
Priority to EP11769008.1A priority patent/EP2559462A4/en
Priority to JP2013504804A priority patent/JP5838196B2/ja
Priority to CN201410588651.7A priority patent/CN104391638B/zh
Priority to PCT/KR2011/002407 priority patent/WO2011129542A2/ko
Publication of KR20110114793A publication Critical patent/KR20110114793A/ko
Application granted granted Critical
Publication of KR101677718B1 publication Critical patent/KR101677718B1/ko

Links

Images

Classifications

    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • 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
    • 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/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • 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
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • 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/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi® or piconet
    • 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
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00352Input means
    • H04N1/00381Input by recognition or interpretation of visible user 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
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Social Psychology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Processing (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

가상 세계 처리 장치 및 방법이 개시된다. 실시예들은 센서의 특성에 관한 정보인 센서 특성을 이용하여 현실 세계로부터 측정한 정보를 가상 세계로 전달하여 현실 세계와 가상 세계의 상호 작용을 구현할 수 있다. 상기 측정된 정보 중 이전에 측정된 정보와 상이한 것만을 선택적으로 전달하는 가상 세계 처리 장치 및 방법이 개시된다. 상기 측정된 정보가 이전에 측정된 정보와 많은 차이가 있을 경우 상기 측정된 정보 전체를 전달하고, 차이가 많지 않을 경우 상기 측정된 정보 중 상기 이전에 측정된 정보와 상이한 것만을 선택적으로 전달하는 가상 세계 처리 장치 및 방법이 개시된다.

Description

가상 세계 처리 장치 및 방법{Method and Apparatus for Processing Virtual World}
실시예들은 가상 세계 처리 장치 및 방법(Method and Apparatus for Processing Virtual World)에 관한 것으로, 보다 구체적으로 현실 세계의 정보를 가상 세계에 적용하는 장치 및 방법에 관한 것이다.
최근 들어 체감형 게임에 대한 관심이 증대 되고 있다. Microsoft社는 "E3 2009" Press Conference에서 그들의 게임 콘솔인 Xbox360에 Depth/Color 카메라와 마이크 어레이로 구성된 별도의 센서 디바이스를 결합하여 사용자의 전신 모션 캡처링, 얼굴 인식, 음성 인식 기술을 제공하여 별도의 컨트롤러 없이 가상세계와 상호 작용 할 수 있도록 해 주는 "Project Natal"을 발표 했다. 또한, Sony社는 자사 게임 콘솔인 Play Station3에 컬러 카메라와 마커, 초음파 센서를 결합한 위치/방향 센싱 기술을 적용하여 컨트롤러의 모션 궤적을 입력으로 가상세계와 상호 작용할 수 있는 체감형 게임 모션 컨트롤러 "Wand"를 발표했다.
현실 세계와 가상 세계의 상호 작용은 두 가지 방향을 가진다. 첫째는 현실 세계의 센서로부터 얻어진 데이터 정보를 가상 세계에 반영하는 방향이고, 둘째는 가상 세계로부터 얻어진 데이터 정보를 엑추에이터(actuator)를 통해 현실 세계에 반영하는 방향이다. 실시예들은 현실 세계와 가상 세계의 상호 작용을 구현하기 위해, 현실 세계의 센서로부터 얻어진 데이터를 가상 세계에 적용하는 제어 시스템, 제어 방법 및 명령 구조를 제공한다.
일실시예에 따른 가상 세계 처리 장치는 센서 특성에 관한 정보를 출력하는 센서 및 상기 정보에 기반하여 이진 형태 메타데이터를 출력하는 인코더를 포함하고, 상기 인코더는 상기 이진 형태 메타데이터를 모드에 따라 제1 형태 또는 제2 형태로 인코딩하여 출력하며, 상기 제1 형태의 메타데이터는 상기 정보 내의 항목을 포함하고, 상기 제2 형태의 메타데이터는 상기 정보 내의 항목 중 이전과 다른 값을 갖는 항목을 포함할 수 있다.
일실시예에 따른 가상 세계 처리 장치는 이진 형태 메타데이터에 기반하여 정보를 출력하는 디코더 및 상기 정보에 기반하여 가상 세계에 적용될 정보를 생성하는 처리부를 포함하고, 상기 디코더는 상기 이진 형태 메타데이터를 모드에 따라 제1 형태 또는 제2 형태로 디코딩하여 출력하며, 상기 제1 형태의 메타데이터는 상기 정보 내의 항목을 포함하고, 상기 제2 형태의 메타데이터는 상기 정보 내의 항목 중 이전과 다른 값을 갖는 항목을 포함할 수 있다.
일실시예에 따른 가상 세계 처리 방법은 센서 특성에 관한 정보를 출력하는 센싱 단계 및 상기 정보에 기반하여 이진 형태 메타데이터를 출력하는 인코딩 단계를 포함하고, 상기 인코딩 단계는 상기 이진 형태 메타데이터를 모드에 따라 제1 형태 또는 제2 형태로 인코딩하여 출력하며, 상기 제1 형태의 메타데이터는 상기 정보 내의 항목을 포함하고, 상기 제2 형태의 메타데이터는 상기 정보 내의 항목 중 이전과 다른 값을 갖는 항목을 포함할 수 있다.
일실시예에 따른 가상 세계 처리 방법은 이진 형태 메타데이터에 기반하여 정보를 출력하는 디코딩 단계 및 상기 정보에 기반하여 가상 세계에 적용될 정보를 생성하는 처리 단계를 포함하고, 상기 디코딩 단계는 상기 이진 형태 메타데이터를 모드에 따라 제1 형태 또는 제2 형태로 디코딩하여 출력하며, 상기 제1 형태의 메타데이터는 상기 정보 내의 항목을 포함하고, 상기 제2 형태의 메타데이터는 상기 정보 내의 항목 중 이전과 다른 값을 갖는 항목을 포함할 수 있다.
실시예들은 센서의 특성에 관한 정보인 센서 특성을 이용하여 현실 세계로부터 측정한 정보를 가상 세계로 전달하여 현실 세계와 가상 세계의 상호 작용을 구현할 수 있다.
실시예들은 상기 측정된 정보 중 이전에 측정된 정보와 상이한 것만을 선택적으로 전달할 수 있다.
실시예들은 상기 측정된 정보가 이전에 측정된 정보와 많은 차이가 있을 경우 상기 측정된 정보 전체를 전달하고, 차이가 많지 않을 경우 상기 측정된 정보 중 상기 이전에 측정된 정보와 상이한 것만을 선택적으로 전달할 수 있다.
도 1은 일실시예에 따른 센서를 이용하여 가상 세계의 객체를 조작하는 동작을 나타내는 도면이다.
도 2a는 일실시예에 따른 센서를 이용하여 가상 세계의 객체를 조작하는 시스템을 나타내는 도면이다.
도 2b는 본 발명의 또 다른 일실시예에 따른 센서를 이용하여 가상 세계의 객체를 조작하는 시스템을 나타내는 도면이다.
도 2c 내지 도 2e는 본 발명의 일실시예에 따른 센서 및 적응 RV를 나타내는 도면이다.
도 2f 내지 도 2h는 본 발명의 일실시예에 따른 적응 VR 엔진 및 엑츄에이터를 나타내는 도면이다.
도 3a은 일실시예에 따른 가상 세계 처리 장치의 구성을 나타내는 도면이다.
도 3b는 본 발명의 일실시예에 따른 가상 세계 처리 장치의 구성을 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 노멀 모드 및 업데이트 모드를 지원하는 이진 형태 인코더 및 이진 형태 디코더의 구조도이다.
도 5는 본 발명의 일실시예에 따른 이진 형태 인코더에서 상기 이진 형태 디코더로 전송되는 정보 메타데이터의 구조를 도시한다.
도 6은 본 발명의 일 실시예에 따른 가상 세계 처리 방법의 절차를 설명한다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 명세서에서 사용되는 '객체(object)'는 가상 세계에서 구현, 표현되는 사물, 물체, 아바타(avatar) 등을 포함할 수 있다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일실시예에 따른 센서를 이용하여 가상 세계의 객체를 조작하는 동작을 나타내는 도면이다.
도 1을 참조하면, 일실시예에 따른 센서(100)를 이용하여 현실 세계(real world)의 사용자(user)(110)는 가상 세계(virtual world)의 객체(object)(120)를 조작할 수 있다. 현실 세계의 사용자(110)는 자신의 동작, 상태, 의도, 형태 등을 센서(100)를 통해서 입력할 수 있고, 센서(100)는 사용자(110)의 동작, 상태, 의도, 형태 등에 관한 제어 정보(control information, CI)를 센서 신호에 포함하여 가상 세계 처리 장치로 전송할 수 있다.
실시예에 따라서는, 현실 세계의 사용자(110)는 인간, 동물, 식물 및 무생물(예를 들어, 물건)일 수 있고, 또한 사용자의 주변 환경까지 포함할 수 있다.
도 2a는 일실시예에 따른 센서를 이용하여 가상 세계의 객체를 조작하는 시스템을 나타내는 도면이다.
도 2a를 참조하면, 일실시예에 따른 현실 세계(210)의 장치(real world device)인 센서를 통해서 입력된, 현실 세계(210)의 사용자의 동작, 상태, 의도, 형태 등에 관한 제어 정보(control information, CI)(201)를 포함한 센서 신호는 가상 세계 처리 장치로 전송될 수 있다. 실시예에 따라서는, 현실 세계(210)의 사용자의 동작, 상태, 의도, 형태 등에 관한 제어 정보(201)는 센서 특성(sensor capability), 센서 적응 선호(sensor adaptation preference) 및 감지 정보(sensed information)을 포함할 수 있다.
일실시예에 따른 가상 세계 처리 장치는 적응 RV(adaptation real world to virtual world)(220)를 포함할 수 있다. 실시예에 따라, 적응 RV(220)는 RV 엔진(real world to virtual world engine, RV engine)으로 구현될 수 있다. 적응 RV(220)는 센서 신호에 포함되어 있는 현실 세계(210)의 사용자의 동작, 상태, 의도, 형태 등에 관한 제어 정보(CI)(201)를 이용하여 현실 세계(210)의 정보를 가상 세계(virtual world)(240)에 적용될 수 있는 정보로 변환한다.
실시예에 따라서는, 적응 RV(220)는 현실 세계(210)의 사용자의 동작, 상태, 의도, 형태 등에 관한 제어 정보(201)를 이용하여 VWI(virtual world information, 가상 세계 정보)(202)를 변환할 수 있다.
VWI(202)는 가상 세계(240)에 관한 정보이다. 예를 들어, VWI(202)는 가상 세계(240)의 객체 또는 상기 객체를 구성하는 요소에 관한 정보를 포함할 수 있다.
가상 세계 처리 장치는 적응RV(220)에 의해 변환된 정보(203)를, 적응 RV/VR(adaptation real world to virtual world/virtual world to real world)(230)을 통해서 가상 세계(240)로 전달할 수 있다.
일실시예에 따른 가상 세계 처리 장치는 적응 RV(adaptation real world to virtual world)(220)를 포함할 수 있다. 실시예에 따라, 적응 RV(220)는 RV 엔진(real world to virtual world engine, RV engine)으로 구현될 수 있다. 적응 RV(220)는 센서 신호에 포함되어 있는 현실 세계(210)의 사용자의 동작, 상태, 의도, 형태 등에 관한 제어 정보(CI)(201)를 이용하여 현실 세계(210)의 정보를 가상 세계(virtual world)(240)에 적용될 수 있는 정보로 변환한다.
실시예에 따라서는, 적응 RV(220)는 현실 세계(210)의 사용자의 동작, 상태, 의도, 형태 등에 관한 제어 정보(201)를 이용하여 VWI(virtual world information, 가상 세계 정보)(202)를 변환할 수 있다.
VWI(202)는 가상 세계(240)에 관한 정보이다. 예를 들어, VWI(202)는 가상 세계(240)의 객체 또는 상기 객체를 구성하는 요소에 관한 정보를 포함할 수 있다.
가상 세계 처리 장치는 적응RV(220)에 의해 변환된 정보(203)를, 적응 RV/VR(adaptation real world to virtual world/virtual world to real world)(230)을 통해서 가상 세계(240)로 전달할 수 있다.
표 1은 도 2a에 표시되어 있는 구성들을 설명한다.
이름 설명
SIDC 센서 입력 장치 특성(Sensory input device capabilities).
센서 특성(Sensor capability)의 다른 표현.
VWI 가상 세계 정보(Virtual world information)
USIP 사용자 센서 입력 선호(User sensory input preferences).
센서 적응 선호(Sensor adaptation preference)의 다른 표현.
SODC 센서 출력 장치 특성(Sensory output device capabilities)
SIDCmd 센서 입력 장치 명령(Sensory input device commands)
USOP 사용자 센서 출력 선호(User sensory output preferences)
VWC 가상 세계 특성(Virtual world capabilities)
SODCmd 센서 출력 장치 명령(Sensory output device commands)
VWP 가상 세계 선호(Virtual world preferences)
SEM 센서 효과 메타데이타(Sensory effect metadata)
VWEM 가상 세계 효과 메타데이타(Virtual world effect metadata)
SI 센서 정보(Sensory information)
도 2b는 본 발명의 또 다른 일실시예에 따른 센서를 이용하여 가상 세계의 객체를 조작하는 시스템을 나타내는 도면이다.
도 2b를 참조하면, 일실시예에 따른 센서(250)는 현실 세계의 사용자의 동작, 상태, 의도, 형태 등에 관한 정보를 수집한다. 센서(250)로부터 수집된 정보는 감지 정보를 포함할 수 있다.
실시예에 따라서는, 센서(250)는 입력부를 포함할 수 있다. 입력부는 센서 적응 선호를 현실 세계의 사용자로부터 입력 받을 수 있다.
센서(250)는 수집된 정보를 메타데이터로 인코딩하는 메타데이터 인코더(metadata encoder)(251)를 포함한다.
메타데이터 인코더(251)는 수집된 정보를 제1 메타데이터로 인코딩하고, 센서(250)는 제1 메타데이터를 적응 RV(255)에게 전송한다. 적응 RV(255)에 포함된 메타데이터 디코더(metadata decoder)(256)는 센서(250)로부터 수신한 제1 메타데이터를 디코딩(decoding)한다.
실시예에 따라서는, 메타데이터 인코더(251)는 수집된 정보를 XML 형태의 데이터로 인코딩하는 XML 인코더 또는 이진(Binary) 형태의 데이터로 인코딩하는 이진 형태 인코더 중 적어도 하나를 포함할 수 있다. 또한, 메타데이터 디코더(256)는 수신한 XML 형태의 데이터를 디코딩하는 XML 디코더 또는 수신한 이진 형태의 데이터를 디코딩하는 이진 형태 디코더 중 적어도 하나를 포함할 수 있다.
이하 도 2c 내지 도 2e를 참조하여, 센서(250)가 수집한 정보를 인코딩하는 실시예 및 적응 RV(255)가 수신한 데이터를 디코딩하는 실시예에 대해서 살펴본다.
도 2c 내지 도 2e는 본 발명의 일실시예에 따른 센서 및 적응 RV를 나타내는 도면이다.
도 2c를 참조하면, 본 발명의 일실시예에 따른 센서(271)는 XML 인코더(272)를 포함할 수 있다. XML 인코더(272)는 센서(271)가 수집한 정보(예를 들어 감지 정보)를 XML 형태의 데이터로 인코딩할 수 있다.
또한, 센서(271)는 XML 인코더(272)가 인코딩한 데이터를 적응 RV(274)에게 전송할 수 있다.
적응 RV(274)는 XML 디코더(273)를 포함할 수 있고, XML 디코더(273)는 센서(271)로부터 수신한 데이터를 디코딩할 수 있다.
도 2d를 참조하면, 본 발명의 일실시예에 따른 센서(275)는 XML 인코더(276) 및 이진 형태 인코더(277)를 포함할 수 있다. XML 인코더(276)는 센서(275)가 수집한 정보(예를 들어 감지 정보)를 XML 형태의 데이터로 인코딩할 수 있다. 이진 형태 인코더(277)는 XML 인코더(276)가 인코딩한 데이터를 이진 형태의 데이터로 인코딩할 수 있다.
또한, 센서(275)는 XML 인코더(276) 및 이진 형태 인코더(277)가 인코딩한 데이터를 적응 RV(280)에게 전송할 수 있다.
적응 RV(280)는 이진 형태 디코더(278) 및 XML 디코더(279)를 포함할 수 있고, 이진 형태 디코더(278)는 센서(275)로부터 수신한 데이터를 XML 형태의 데이터로 디코딩할 수 있다. 또한, XML 디코더(279)는 이진 형태 디코더(278)가 XML 형태의 데이터로 디코딩한 데이터를 다시 디코딩할 수 있다.
도 2e를 참조하면, 본 발명의 일실시예에 따른 센서(281)는 이진 형태 인코더(282)를 포함할 수 있다. 이진 형태 인코더(282)는 센서(281)가 수집한 정보(예를 들어 감지 정보)를 이진 형태 형태의 데이터로 인코딩할 수 있다.
또한, 센서(281)는 이진 형태 인코더(282)가 인코딩한 데이터를 적응 RV(284)에게 전송할 수 있다.
적응 RV(284)는 이진 형태 디코더(283)를 포함할 수 있고, 이진 형태 디코더(283)는 센서(281)로부터 수신한 데이터를 디코딩할 수 있다.
다시 도 2b를 참조하면, 적응 RV(255)에 포함된 메타데이터 디코더(258)는 적응 VR(260)로부터 수신한 제2 메타데이터를 디코딩한다. 제2 메타데이터는 적응 VR(260)에 포함된 메타데이터 인코더(262)가 가상 세계(265)에 대한 정보를 인코딩한 메타데이터일 수 있다.
실시예에 따라서는, 메타데이터 인코더(262)는 가상 세계(265)에 대한 정보를 XML 형태의 메타데이터로 인코딩하는 XML 인코더 또는 이진(Binary) 형태의 메타데이터로 인코딩하는 이진 형태 인코더 중 적어도 하나를 포함할 수 있다.
실시예에 따라서는, 메타데이터 인코더(262)는 XML 인코더를 포함하고, XML 인코더는 가상 세계(265)에 대한 정보를 XML 형태의 데이터로 인코딩할 수 있다.
또한, 메타데이터 인코더(262)는 XML 인코더 및 이진 형태 인코더를 포함하고, XML 인코더 가상 세계(265)에 대한 정보를 XML 형태의 데이터로 인코딩하고, 이진 형태 인코더가 XML 형태의 데이터를 다시 이진 형태의 데이터로 인코딩할 수 있다.
또한, 메타데이터 인코더(262)는 이진 형태 인코더를 포함하고, 이진 형태 인코더는 가상 세계(265)에 대한 정보를 이진 형태의 데이터로 인코딩할 수 있다.
적응 RV(255)는, 메타데이터 디코더(256)가 제1 메타데이터를 디코딩한 정보 및 메타데이터 디코더(258)가 제2 메타데이터를 디코딩한 정보에 기반하여, 가상 세계(265)에 적용될 정보를 생성한다. 이 때, 적응 RV(255)는, 제2 메타데이터에 포함되는 가상 세계 객체 속성(virtual world object characteristics) 및 감지 정보에 대응하도록, 가상 세계(265)에 적용될 정보를 생성할 수 있다.
메타데이터 인코더(257)는, 적응 RV(255)가 생성한 가상 세계(265)에 적용될 정보를 제3 메타데이터로 인코딩한다. 또한, 적응 RV(255)은 제3 메타데이터를 적응 VR(260)로 전송한다.
적응 VR(260)에 포함된 메타데이터 디코더(261)는 제3 메타데이터를 디코딩한다. 적응 VR(260)은, 디코딩된 정보에 기반하여, 가상 세계(265)의 객체의 속성을 변환할 수 있다. 또한, 적응 VR(260)은 변환된 속성을 가상 세계(265)에 적용할 수 있다.
본 발명의 일측에 따르면, 가상 세계 처리 시스템은 가상 세계(265)에 대한 정보를 현실 세계의 엑츄에이터(Actuator)로 전송하여, 가상 세계(265)의 정보가 현실 세계에 반영되도록 할 수 있다. 이하, 도 2f 내지 도 2h를 참조하여 가상 세계(265)의 정보가 현실 세계에 반영되는 실시예를 자세히 살펴본다.
도 2f 내지 도 2h는 본 발명의 일실시예에 따른 적응 VR 엔진 및 엑츄에이터를 나타내는 도면이다.
도 2f를 참조하면, 본 발명의 일실시예에 따른 적응 VR 엔진(285)은 XML 인코더(286)를 포함할 수 있다. 적응 VR 엔진(285)은 도 2b의 적응 RV(255)의 일실시예로서, 가상 세계(265)에 대한 정보가 현실 세계에 반영될 수 있도록 가상 세계(265)에 대한 정보를 현실 세계의 엑츄에이터(288)에게 전송할 수 있다.
적응 VR(260)은 가상 세계(265)의 객체의 속성의 변화에 대한 정보를 수집하고, 수집한 정보를 적응 VR 엔진(285)에게 전송할 수 있다. 적응 VR 엔진(285)은 XML 인코더(286)를 포함하고, XML 인코더(286)는 수신한 가상 세계(265)에 대한 정보를 XML 형태의 데이터로 인코딩할 수 있다. 또한, 적응 VR 엔진(285)은 XML 인코더(286)가 인코딩한 데이터를 엑츄에이터(288)에게 전송할 수 있다.
엑츄에이터(288)는 XML 디코더(287)를 포함하고, XML 디코더(287)는 적응 VR 엔진(285)으로부터 수신한 XML 형태의 데이터를 디코딩할 수 있다.
엑츄에이터(288)는 XML 디코더(287)가 디코딩한 정보에 대응하여 동작할 수 있다.
도 2g를 참조하면, 본 발명의 일실시예에 따른 적응 VR 엔진(290)은 XML 인코더(291) 및 이진 형태 인코더(292)를 포함할 수 있다.
적응 VR(260)은 가상 세계(265)의 객체의 속성의 변화에 대한 정보를 수집하고, 수집한 정보를 적응 VR 엔진(290)에게 전송할 수 있다. 적응 VR 엔진(290)은 XML 인코더(291) 및 이진 형태 인코더(292)를 포함하고, XML 인코더(291)는 수신한 가상 세계(265)에 대한 정보를 XML 형태의 데이터로 인코딩할 수 있고, 이진 형태 인코더(292)는 XML 인코더(291)가 인코딩한 데이터를 다시 이진 형태의 데이터로 인코딩할 수 있다. 또한, 적응 VR 엔진(290)은 이진 형태 인코더(292)가 인코딩한 데이터를 엑츄에이터(295)에게 전송할 수 있다.
엑츄에이터(295)는 이진 형태 디코더(293) 및 XML 디코더(294)를 포함하고, 이진 형태 디코더(293)는 적응 VR 엔진(290)으로부터 수신한 이진 형태의 데이터를 XML 형태의 데이터로 디코딩할 수 있고, XML 디코더(294)는 이진 형태 디코더(293)가 XML 형태로 디코딩한 데이터를 디코딩할 수 있다.
엑츄에이터(295)는 XML 디코더(294)가 디코딩한 정보에 대응하여 동작할 수 있다.
도 2h를 참조하면, 본 발명의 일실시예에 따른 적응 VR 엔진(296)은 이진 형태 인코더(297)를 포함할 수 있다.
적응 VR(260)은 가상 세계(265)의 객체의 속성의 변화에 대한 정보를 수집하고, 수집한 정보를 적응 VR 엔진(296)에게 전송할 수 있다. 적응 VR 엔진(296)은 이진 형태 인코더(297)를 포함하고, 이진 형태 인코더(297)는 수신한 가상 세계(265)에 대한 정보를 이진 형태 형태의 데이터로 인코딩할 수 있다. 또한, 적응 VR 엔진(296)은 이진 형태 인코더(297)가 인코딩한 데이터를 엑츄에이터(299)에게 전송할 수 있다.
엑츄에이터(299)는 이진 형태 디코더(298)를 포함하고, 이진 형태 디코더(298)는 적응 VR 엔진(296)으로부터 수신한 이진 형태 형태의 데이터를 디코딩할 수 있다.
엑츄에이터(299)는 이진 형태 디코더(298)가 디코딩한 정보에 대응하여 동작할 수 있다.
도 3a은 일실시예에 따른 가상 세계 처리 장치의 구성을 나타내는 도면이다.
도 3a을 참조하면, 일실시예에 따른 가상 세계 처리 장치(300)는 저장부(310) 및 처리부(320)를 포함한다.
저장부(310)는 센서의 특성에 관한 센서 특성을 저장한다.
센서는 현실 세계의 사용자의 동작, 상태, 의도 또는 형태 등을 측정하는 장치이다. 센서는 센서 입력 장치(sensory input device)로 표현될 수 있다. 실시예에 따라서는, 센서를 (1) 음향, 음성, 진동(acoustic, sound, vibration) (2) 자동차, 운송 수단(automotive, transportation) (3) 화학물(chemical) (4) 전류, 전위, 자기, 라디오(electric current, electric potential, magnetic, radio) (5) 환경, 날씨(environment, weather) (6) 흐름(flow) (7) 전리 방사선, 아원자 입자(ionizing radiation, subatomic particles) (8) 네비게이션 장치(navigation instruments) (9) 위치, 각도, 변위, 거리, 속도, 가속도(position, angle, displacement, distance, speed, acceleration) (10) 시각, 빛, 영상(optical, light, imaging) (11) 압력, 힘, 밀도, 레벨(pressure, force, density, level) (12) 열, 뜨거움, 온도(thermal, heat, temperature) (13) 근접, 존재(proximity, presence) (14) 센서 기술(sensor technology)와 같이 타입(type)별로 분류할 수 있다.
표 2는 센서 타입에 따른 센서의 실시예들을 나타낸다. 하기 표에 나타난 센서는 일실시예에 불과하고, 본 발명이 하기 표에 나타난 센서에 의해서만 구현될 수 있는 것으로 제한 해석 되어서는 안 된다.
센서 타입(sensor type) 센서 리스트(a list of sensors)
(1) 음향, 음성, 진동
(acoustic, sound, vibration)
지질계(geophone)
수중 청음기(hydrophone)
래이스 센서, 기타 픽업(lace sensor, a guitar pickup)
마이크(microphone)
지진계(seismometer)
가속계(accelerometer)
(2) 자동차, 운송 수단(automotive, transportation) 크랭크 센서(crank sensor)
연석 감지기(curb feeler)
결점 탐지기(defect detector)
지도 센서(map sensor)
주차 센서(parking sensors)
파크트로닉(parktronic)
레이더 건(radar gun)
속도계(speedometer)
속도 센서(speed sensor)
조절판 위치 센서(throttle position sensor)
가변 렐럭턴스 센서(variable reluctance sensor)
바퀴 속도 센서(wheel speed sensor)
(3) 화학물(chemical) 음주 측정기(breathalyzer)
이산화탄소 센서(carbon dioxide sensor)
일산화탄소 탐지기(carbon monoxide detector)
촉매 비드 센서(catalytic bead sensor)
화학필드 효과 트랜지스터(chemical field-effect transistor)
전자 노즈(electronic nose)
전해물-절연체-반도체 센서(electrolyte-insulator-semiconductor sensor)
수소 센서(hydrogen sensor)
적외선 포인트 센서(infrared point sensor)
선택적 이온 전극(ion-selective electrode)
비분산 적외선 센서(nondispersive infrared sensor)
마이크로웨이브 화학 센서(microwave chemistry sensor)
산화질소 센서(nitrogen oxide sensor)
옵토드(optode)
산소 센서(oxygen sensor)
펠리스토어(pellistor)
pH 글래스 전극(pH glass electrode)
포텐티오메트릭 센서(potentiometric sensor)
산화 환원 전극(redox electrode)
연기 탐지기(smoke detector)
산화아연 나노로드 센서(zinc oxide nanorod sensor)
(4) 전류, 전위, 자기, 라디오(electric current, electric potential, magnetic, radio) 전류계(ammeter)
커런트 센서(current sensor)
검류계(galvanometer)
홀 효과 센서(hall effect sensor)
홀 프로브(hall probe)
리프 검전기(leaf electroscope)
자기 예외 탐지기(magnetic anomaly detector)
자기계(magnetometer)
금속 탐지기(metal detector)
멀티미터(multimeter)
저항계(ohmmeter)
전압계(voltmeter)
와트시 미터(watt-hour meter)
(5) 환경, 날씨(environment, weather) 물고기 카운터(fish counter)
가스 탐지기(gas detector)
습도계(hygrometer)
피래노미터(pyranometer)
피리지오미터(pyrgeometer)
비 게이지(rain gauge)
비 센서(rain sensor)
지진계(seismometers)
(6) 흐름(flow) 대기 흐름 미터(air flow meter)
흐름 센서(flow sensor)
가스 미터(gas meter)
매스 흐름 센서(mass flow sensor)
워터 미터(water meter)
(7) 전리 방사선, 아원자 입자(ionizing radiation, subatomic particles) 버블 챔버(bubble chamber)
클라우드 챔버(cloud chamber)
게이저 카운터(geiger counter)
중선자 탐지기(neutron detection)
입자 탐지기(particle detector)
신틸레이터 카운터(scintillation counter)
신틸레이터(scintillator)
와이어 챔버(wire chamber)
(8) 네비게이션 장치(navigation instruments) 대기 속도 인디캐이터(air speed indicator)
고도계(altimeter)
애티튜드 인디캐이터(attitude indicator)
플럭스게이트 콤파스(fluxgate compass)
자이로스코프(gyroscope)
관성 레퍼런스 유닛(inertial reference unit)
자기 콤파스(magnetic compass)
전자유체 센서(MHD sensor)
고리 레이저 자이로스코프(ring laser gyroscope)
회전 코올디내이터(turn coordinator)
승강계(variometer)
진동 구조 자이로스코프(vibrating structure gyroscope)
편요 비율 센서(yaw rate sensor)
(9) 위치, 각도, 변위, 거리, 속도, 가속도(position, angle, displacement, distance, speed, acceleration) 가속도계(accelerometer)
경사계(inclinometer)
레이저 거리계(laser rangefinder)
선형 인코더(linear encoder)
선형 가변 차동 트랜스포머(linear variable differential transformer (LVDT))
액체 용량 경사계(liquid capacitive inclinometers)
주행기록계(odometer)
압전 가속계(piezoelectric accelerometer)
위치 센서(position sensor)
회전 인코더(rotary encoder)
회전 가변 차동 트랜스포머(rotary variable differential transformer)
셀신(selsyn)
유속계(tachometer)
(10) 시각, 빛, 영상(optical, light, imaging) 차지-커플드 장치(charge-coupled device)
색체계(colorimeter)
적외선 센서(infra-red sensor)
LED 라이트 센서(LED as light sensor)
니콜스 복사계(nichols radiometer)
광섬유 센서(fiber optic sensors)
광다이오드(photodiode)
광멀티플라이어 튜브(photomultiplier tubes)
광트랜지스터(phototransistor)
광전자 센서(photoelectric sensor)
광이온화 탐지기(photoionization detector)
광멀티플라이어(photomultiplier)
광레지스터(photoresistor)
광스위치(photoswitch)
광튜브(phototube)
근접 센서(proximity sensor)
신틸로미터(scintillometer)
세크-할트만(shack-Hartmann)
등위상면 센서(wavefront sensor)
(11) 압력, 힘, 밀도, 레벨(pressure, force, density, level) 풍속계(anemometer)
뱅미터(bhangmeter)
자기 기압계(barograph)
기압계(barometer)
유속계(hydrometer)
수평 센서(Level sensor)
로드 셀(Load cell)
자기 수평 게이지(magnetic level gauge)
진동 유튜브(oscillating U-tube)
압력 센서(pressure sensor)
압전 센서(piezoelectric sensor)
압력 게이지(pressure gauge)
변형 게이지(strain gauge)
토크 센서(torque sensor)
점도계(viscometer)
(12) 열, 뜨거움, 온도(thermal, heat, temperature) 볼로미터(bolometer)
열량계(calorimeter)
히트 흐름 센서(heat flux sensor)
적외선 온도계(infrared thermometer)
마이크로볼로미터(microbolometer)
마이크로웨이브 복사계(microwave radiometer)
넷 복사계(net radiometer)
저항 온도 탐지기(resistance temperature detector)
저항 온도계(resistance thermometer)
테로미스터(thermistor)
열전지(thermocouple)
온도계(thermometer)
(13) 근접, 존재(proximity, presence) 알람 센서(alarm sensor)
야뇨증 알람(bedwetting alarm)
모션 탐지기(motion detector)
점유 센서(occupancy sensor)
수동 적외선 센서(passive infrared sensor)
리드 스위치(reed switch)
스터드 파인터(stud finder)
삼각 측량 센서(triangulation sensor)
접촉 스위치(touch switch)
와이어 글러브(wired glove)
(14) 센서 기술(sensor technology) 능동 픽셀 센서(active pixel sensor)
머신 비전(machine vision)
바이오칩(biochip)
바이오센서(biosensor)
커패시턴스 프로브(capacitance probe)
굴절 센서(catadioptric sensor)
탄소 패이스트 전극(carbon paste electrode)
치환 수신기(displacement receiver)
전자기계 필름(electromechanical film)
전자 광학 센서(electro-optical sensor)
영상 센서(image sensor)
인덕티브 센서(inductive sensor)
지능 센서(intelligent sensor)
랩온더칩(lab-on-a-chip)
리프 센서(leaf sensor)
레이더(RADAR)
센서 배열(sensor array)
센서 노드(sensor node)
소프트 센서(soft sensor)
스태어링 배열(staring array)
트랜듀서(transducer)
초음파 센서(ultrasonic sensor)
비디오 센서(video sensor)
예를 들어, 센서 타입 (1) 음향, 음성, 진동(acoustic, sound, vibration)의 마이크(Microphone)는 현실 세계 사용자의 음성 및 사용자 주변의 음성을 수집할 수 있다. 센서 타입 (2) 자동차, 운송 수단(automotive, transportation)의 속도 센서(Speed sensor)는 현실 세계의 사용자의 속도 및 현실 세계의 물체(예를 들어, 운송 수단(vehicle))의 속도를 측정할 수 있다. 센서 타입 (3) 화학물(chemical)의 산소 센서(Oxygen sensor)는 현실 세계 사용자 주변의 공기 속의 산소 비율 및 현실 세계의 사용자 주변의 액체 속의 산소 비율을 측정할 수 있다. 센서 타입 (4) 전류, 전위, 자기, 라디오(electric current, electric potential, magnetic, radio)의 금속 탐지기(Metal detector)는 현실 세계 사용자 및 주변의 금속 유무를 측정할 수 있다. 센서 타입 (5) 환경, 날씨(environment, weather)의 비 센서(rain sensor)는 현실 세계에서 비가 오는지 여부를 측정할 수 있다. 센서 타입 (6) 흐름(flow)의 흐름 센서(flow sensor)는 현실 세계에서의 유체유동의 비율을 측정할 수 있다. 센서 타입 (7) 전리 방사선, 아원자 입자(ionizing radiation, subatomic particles)의 신틸레이터(scintillator)는 현실 세계의 사용자 및 사용자 주변의 방사선 비율를 측정할 수 있다. 센서 타입 (8) 네비게이션 장치(navigation instruments)의 승강계(variometer)는 현실 세계의 사용자 및 사용자 주변의 승강 속도를 측정할 수 있다. 센서 타입 (9) 위치, 각도, 변위, 거리, 속도, 가속도(position, angle, displacement, distance, speed, acceleration)의 주행기록계(odometer)는 현실 세계의 물체(예를 들어, 운송 수단(vehicle))의 주행 거리를 측정할 수 있다. 센서 타입 (10) 시각, 빛, 영상(optical, light, imaging)의 광트랜지스터(phototransistors)는 현실 세계의 빛을 측정할 수 있다. 센서 타입 (11) 압력, 힘, 밀도, 레벨(pressure, force, density, level)의 기압계(barometer)는 현실 세계의 기압을 측정할 수 있다. 센서 타입 (12) 열, 뜨거움, 온도(thermal, heat, temperature)의 볼로미터(bolometer)는 현실 세계의 복사선을 측정할 수 있다. 센서 타입 (13) 근접, 존재(proximity, presence)의 모션 탐지기(motion detector)는 현실 세계의 사용자의 움직임을 측정할 수 있다. 센서 타입 (14) 센서 기술(sensor technology)의 바이오 센서(biosensor)는 현실 세계의 사용자의 생물학적 성질을 측정할 수 있다.
도 3b는 본 발명의 일실시예에 따른 가상 세계 처리 장치의 구성을 나타내는 도면이다.
도 3b를 참조하면, 일실시예에 따른 입력장치(360)는 현실 세계의 사용자로부터 센서 적응 선호(361)를 입력 받는다. 실시예에 따라서는, 입력장치(360)는 센서(370) 또는 가상 세계 처리 장치(350)에 일모듈의 형태로 삽입되도록 구현될 수 있다. 센서 적응 선호(361)에 대해서는 도 7 내지 도 9를 참조하여, 뒤에서 상세히 설명한다.
센서(370)는 센서 특성(371) 및 감지 정보(372)를 가상 세계 처리 장치(350)에게 전송할 수 있다.
본 발명의 일실시예에 따른 가상 세계 처리 장치(350)는 신호처리부(351) 및 적응부(352)를 포함한다.
신호처리부(351)는 센서(370)로부터 센서 특성(371) 및 감지 정보(372)를 수신하고, 수신한 센서 특성(371) 및 감지 정보(372)에 대한 신호처리 작업을 수행한다. 실시예에 따라서는, 신호처리부(351)는 센서 특성(371) 및 감지 정보(372)에 대해서 필터링(filtering) 작업 및 검증(validation) 작업을 수행할 수 있다.
적응부(352)는 입력장치(360)로부터 센서 적응 선호(361)를 수신하고, 수신한 센서 적응 선호(361)에 기반하여, 가상 세계(380)에 적용할 수 있도록 신호처리부(351)에서 신호처리한 정보에 대해서 적응(adaptation) 작업을 수행할 수 있다. 또한, 가상 세계 처리 장치(350)는 적응부(352)에서 적응 작업을 수행한 정보를 가상 세계(380)에 적용한다.
센서 특성(sensor capability)은 센서의 특성에 관한 정보이다.
센서 특성 기본 타입(sensor capability base type)은 센서 특성의 기본 타입이다. 실시예에 따라서는, 센서 특성 기본 타입은 센서 특성에 대한 메타데이터(metadata)의 일부분으로서, 모든 센서에 공통적으로 적용되는 센서 특성에 관한 메타데이터의 기본 타입일 수 있다(sensor capability base type provides a base abstract type for a subset of types defined as part of the sensory input device capability metadata types).
가상세계와 현실세계 간의 정보 전달에 있어, 어떤 시점에서 전달되어야 하는 현재 정보가 이미 전달되었던 과거 정보와 크게 상이하지 않다면, 상기 현재 정보 중 상기 과거 정보와 상이한 부분만이 전달될 수 있다. 반면, 상기 현재 정보가 상기 과거 정보와 많은 부분에서 상이하다면, 상기 현재 정보 전체가 전달될 수 있다. 이러한 방식은 상기 가상세계 및 상기 현실세계 사이에서 전달되는 전체 정보량을 줄이기 위한 방법이다.
예컨대, 사용자가 모션센서를 장착한 경우, 상기 모션 센서에 대한 정보가 무선으로 전송되게 된다. 이때, 사용자가 움직이지 않으면, 즉 상기 모션 센서에 대한 현재 정보 및 과거 정보는 서로 크게 상이하지 않다. 이때, 상기 모션 센서에 대한 모든 현재 정보가 전송된다면, 매 프레임마다 상기 모션 센서에 관련된 모든 정보가 전송되어야 한다. 그러나, 업데이트 스킴(update scheme), 즉 상기 현재 정보 및 상기 과거 정보 간에 서로 상이한 부분만이 전달되는 방식이 사용되면, 상기 모션 센서는 움직이지 않기 때문에, 상기 모션 센서에 관련된 명령(command) 중 타임 스템프를 제외한 다른 정보는 전달되지 않을 수 있다. 즉, 매 프레임마다 position, orientation, velocity, angularvelocity 및 acceleration, angularacceleration에 관련된 정보는 전송되지 않을 수 있다. 따라서, 무선 통신 전송 로드(load)가 상당히 감소될 수 있다.
전술된 본 발명의 실시예에서, 상기 이진 형태 인코더(277, 282, 292 및 297)는 상기 이진 형태 디코더(278, 283, 293 및 298)로 가상세계와 현실세계 간의 정보를 전달한다.
상기 이진 형태 인코더(277, 282, 292 및 297)는 상기 노멀 모드 및 상기 업데이트 모드로 작동할 수 있다.
상기 노멀 모드에서 상기 이진 형태 인코더(277, 282, 292 및 297)는 자신이 전달받은 모든 정보를 인코딩하여 출력할 수 있다.
상기 업데이트 모드에서 상기 이진 형태 인코더(277, 282, 292 및 297)는 자신이 전달받은 현재 정보 중 과거 정보와 상이한 부분만을 인코딩하여 출력할 수 있다.
또한, 상기 업데이트 모드에서 상기 이전 형태 인코더(277, 282, 292 및 297)는 자신이 전달받은 현재 정보와 자신이 이전에 전달받은 과거 정보를 비교하여, 상기 현재 정보와 상기 과거 정보가 크게 상이한 경우 상기 현재 정보 전체를 인코딩해서 출력하고, 상기 현재 정보와 상기 과거 정보가 크게 상이하지 않은 경우 상기 현재 정보 중 상기 과거 정보와 상이한 부분만을 인코딩하여 출력할 수 있다.
상기 이진 형태 디코더(278, 283, 293 및 298)는 상기 노멀 모드 및 상기 업데이트 모드로 작동할 수 있다.
상기 노멀 모드에서 상기 이진 형태 디코더(278, 283, 293 및 298)는 상기 이진 형태 인코더(277, 282, 292 및 297)로부터 모든 정보를 전달받았기 때문에, 상기 모든 정보를 디코딩하여 출력한다.
상기 업데이트 모드에서 상기 이진 형태 디코더(278, 283, 293 및 298)는 상기 이진 형태 인코더(277, 282, 292 및 297)로부터 현재 정보 중 과거 정보와 상이한 부분만을 전달받을 수 있다. 이러한 경우, 상기 이진 형태 디코더(278, 283, 293 및 298)는 자신이 전달받은 일부 정보만을 디코딩하여 출력할 수 있다. 이 경우, 상기 정보를 전달받은 본 발명의 실시예에 따른 시스템의 다른 부분이 자신이 이전에 전송받은 나머지 정보를 사용하여 필요한 기능을 수행할 것이다.
또한, 상기 이진 형태 디코더(278, 283, 293 및 298)는 자신이 전달받은 일부 정보를 디코딩하고, 이에 자신이 이전에 전달받은 다른 정보를 부가하여 출력할 수 있다. 이 경우, 상기 정보를 전달받는 본 발명의 실시예에 따른 시스템의 다른 부분은 상기 노멀 모드 및 상기 업데이트 모드에 따른 전송 정보의 차이에 대해 투명하게 작동할 수 있다.
또한, 전술한 것처럼 상기 인코더(277, 282, 292 및 297)는 상기 업데이트 모드에서도 현재 정보 전체를 출력할 수 있기 때문에, 상기 디코더(278, 283, 293 및 298) 또한 상기 업데이트 모드에서도 상기 현재 정보 전체를 디코딩하여 출력할 수 있다.
도 4는 본 발명의 일실시예에 따른 상기 노멀 모드 및 상기 업데이트 모드를 지원하는 이진 형태 인코더 및 이진 형태 디코더의 구조도이다.
상기 이진 형태 인코더(410)는 스위치(420), 노멀 모드 이진 형태 인코드부(430) 및 업데이트 모드 이진 형태 인코드부(440)를 포함한다.
상기 스위치(420)는 복수 개의 출력 포트를 구비한다. 상기 출력 포트 중 하나는 상기 노멀 모드 이진 형태 인코드부(430) 입력에, 다른 하나는 상기 업데이트 모드 이진 형태 인코드부(430)의 입력에 연결되었다. 상기 스위치(420)는 상기 이진 형태 인코더부(410)로 입력되는 정보를 현재의 모드에 따라 상기 노멀 모드 이진 형태 인코드부(430) 또는 상기 업데이트 모드 이진 형태 인코드부(440)로 스위칭(switching)하여 전송한다.
상기 노멀 모드 이진 형태 인코드부(430)는 전술한 노멀 모드에서의 상기 이진 형태 인코더(277, 282, 292 및 297)의 동작을 수행한다. 즉, 상기 노멀 모드 이진 형태 인코드부(430)는 입력된 정보를 노멀 모드로 인코딩하여 출력한다. 상기 업데이트 모드 이진 형태 인코드부(440)는 전술한 업데이트 모드에서의 상기 이진 형태 인코더(277, 282, 292 및 297)의 동작을 수행한다. 즉, 상기 업데이트 모드 이진 형태 인코드부(430)는 입력된 정보를 업데이트 모드로 인코딩하여 출력한다.
상기 이진 형태 디코더(450)는 노멀 모드 이진 형태 디코드부(460), 업데이트 모드 이진 형태 디코드부(470) 및 스위치(480)를 포함한다.
상기 노멀 모드 이진 형태 디코드부(430)는 전술한 노멀 모드에서의 상기 이진 형태 디코더(278, 283, 293 및 298)의 동작을 수행한다. 즉, 상기 노멀 모드 이진 형태 디코드부(460)는 상기 노멀 모드 이진 형태 인코드부(430)로부터 입력된 정보를 노멀 모드로 디코딩하여 출력한다. 상기 업데이트 모드 이진 형태 디코드부(470)는 전술한 업데이트 모드에서의 상기 이진 형태 디코더(278, 283, 293 및 298)의 동작을 수행한다. 즉, 상기 업데이트 모드 이진 형태 디코드부(470)는 상기 노멀 모드 이진 형태 인코드부(440)로부터 입력된 정보를 업데이트 모드로 디코딩하여 출력한다. 상기 스위치(480)는 복수 개의 입력 포트를 구비할 수 있다. 상기 입력 포트 중 하나는 상기 노멀 모드 이진 형태 디코드부(460) 출력에, 다른 하나는 상기 업데이트 모드 이진 형태 디코드부(470)의 출력에 연결되었다. 상기 스위치(480)는 현재의 모드에 따라 상기 노멀 모드 이진 형태 디코드부(460) 출력 및 상기 업데이트 모드 이진 형태 디코드부(470)의 출력 중 하나로 스위칭하여 출력한다.
도 5는 본 발명의 일실시예에 따른 상기 이진 형태 인코더(277, 282, 292, 297 및 430)에서 상기 이진 형태 디코더(278, 283, 293, 298 및 460)로 전송되는 정보 메타데이터(500)의 구조를 도시한다. 상기 메타데이터는 센서에 의해 수집된 정보의 업데이트를 나타내는 센서 업데이트 메타데이터일 수 있다. 상기 메타데이터는 장치에 의해 수집된 정보의 업데이트를 나타내는 센서리(sensory) 업데이트 메타데이터일 수 있다.
상기 메타데이터(500)는 명령 타입(command type)(510), 개별 타입(individual type)(520), 업데이팅 모드(updating mode)(530), 리스트 업데이트(list update)(540), 플래그 필드(flag field)(550) 및 데이터 필드(data field)(560)를 포함할 수 있다.
상기 명령 타입(510)은 상기 메타데이터의 타입(type of metadata)을 나타낸다. 상기 명령 타입은 예컨대 4비트의 고정된 길이를 가질 수 있다.
상기 개별 타입(520)은 개별 장치 및 센서의 타입을 나타낸다. 상기 개별 타입은 예컨대 5비트의 고정된 길이를 가질 수 있다.
상기 업데이팅 모드(530)은 상기 이진 형태 인코더(278, 283, 293, 298 및 460) 및 상기 이진 형태 디코더의 모드(278, 283, 293, 298 및 460)를 나타낸다. 즉, 상기 업데이팅 모드(530)의 값에 따라 상기 이진 형태 인코더(278, 283, 293, 298 및 460) 및 상기 이진 형태 디코더의 모드(278, 283, 293, 298 및 460)가 변경된다. 상기 모드는 노멀 모드 또는 업데이트 모드이기 때문에 1 비트의 정보로 모드가 구분될 수 있다.
상기 업데이팅 모드(530)는 상기 명령 타입(510)의 일부로서 포함될 수 있다. 즉, 상기 명령 타입(510)이 특정 값을 갖는 경우 상기 업데이팅 모드(530)의 역할을 수행할 수 있도록 일실시예가 구성될 수 있으며, 상기 명령 타입(510) 중 특정 비트가 상기 업데이팅 모드(530)의 비트로서의 역할을 수행할 수 있도록 일실시예가 구성될 수 있다.
상기 플래그 필드(550)는 상기 메타데이터(500)에 포함되는 플래그 필드들을 나타낸다.
상기 데이터 필드(560)는 상기 메타데이터(500)에 포함되는 데이터 필드들을 나타낸다.
상기 데이터는 필수적(mandatory) 또는 선택적(optional)일 수 있다. 선택적인 데이터의 경우, 상기 데이터가 메타데이터에 포함되는지 여부가 가리켜져야 된다. 상기 플래그는 특정 데이터가 메타데이터에 포함되었는지 여부를 가리킨다. 즉 플래그 A의 값이 1이면 그에 대응하는 데이터 B가 메타데이터 C에 포함되고, 상기 플래그 A의 값이 0이면 상기 데이터 B가 메타데이터 C에 포함되지 않을 수 있다.
전술한 표현을 이진 표현 신텍스로 나타내면 하기의 수학식 1과 같다.
Figure 112010023665726-pat00001
한 플래그 A에 대응하는 데이터는 복수 개가 될 수도 있다. 예컨대, 메타데이터 C의 플래그 A에 대응하는 데이터가 B 및 C이면, 하기의 수학식 2와 같은 이진 표현 신텍스로 나타내어 진다.
Figure 112010023665726-pat00002
한 플래그 A에 대응하는 데이터 B는 하위 필드를 가질 수 있다. 상기 데이터 B의 하위 데이터 필드 또한 다른 하위 필드를 가질 수 있다.
예컨대, 메타데이터 C의 플래그 A에 데이터 B가 대응하고, 상기 데이터 B가 하위 필드로 플래그 D를 갖고, 상기 플래그 D는 데이터 E에 대응하는 경우, 하기의 수학식 3과 같은 이진 표현 신텍스로 나타내어 진다.
Figure 112010023665726-pat00003
이때, 선택적 데이터 E가 존재하기 위해서는 A 및 D가 1이어야 한다.
같은 이름의 플래그 또는 데이터가 상기 메타데이터(500) 내에 복수 개 존재할 수 있다. 이럴 경우, 플래그 또는 데이터는 어레이(array)로 존재하고, 어래이 내에서 엘리먼트(element)를 특정하기 위한 인덱스(index)가 사용된다. 또한, 상기 인덱스에는 초기화 및 가감 연산이 적용될 수 있다.
수학식 4는 플래그 어레이 A, A[0]에 대응하는 데이터 B 및 A[1]에 대응하는 데이터 C를 포함하는 메타데이터 D를 나타낸다.
Figure 112010023665726-pat00004
상기 수학식 4를 인덱싱(indexing)을 위한 변수 E를 사용하여 나타내면 하기의 수학식 5와 같다.
Figure 112010023665726-pat00005
상기 수학식 5에서 E는 우선 0으로 초기화되고, 다음으로 인덱스 1을 가리키기 위해 1 증가되었다.
본 발명의 일 실시예에 따른 제1 노멀 모드는 하기의 설명과 같을 수 있다.
전송 측에서는 모든 플래그 및 모든 필수적 데이터를 포함하는 메타데이터를 전송한다. 선택적 데이터의 경우 상기 선택적 데이터에 대응하는 플래그의 값이 1일 경우에만 상기 메타데이터에 포함되어 전송된다. 수신 측에서는, 수신한 상기 메타데이터에서 모든 플래그 및 모든 필수적 데이터를 추출한다. 선택적 데이터의 경우 그에 대응하는 플래그의 값을 검사하여, 상기 플래그의 값이 1일 경우에만 상기 선택적 데이터를 추출한다. 상기 플래그, 필수적 데이터 및 선택적 데이터의 상대적인 순서는 미리 결정되어 있다.
본 발명의 일 실시예에 따른 제2 노멀 모드는 하기의 설명과 같을 수 있다.
전송 측에서는 모든 플래그, 모든 필수적 데이터 및 모든 선택적 데이터를 포함하는 메타데이터를 전송한다.
만약, 대응하는 플래그의 값에 비추어볼 때 실제로 존재하지 않는 선택적 데이터는 고정된 값 또는 임의의 값을 가진 채 전송될 것이다. 수신측에서는 상기 선택적 데이터 중 실제로 존재하지 않는 것들을 구분하여 폐기한다.
본 발명의 일 실시예에 따른 제1 업데이트 모드는 하기의 설명과 같을 수 있다.
전송 측에서는 우선 상기 리스트 업데이트(540)의 비트 수를 결정한다.
상기 비트 수는 모든 플래그 및 모든 데이터의 개수의 합이 될 수 있다. 즉, 플래그가 3개, 데이터가 4개가 있을 경우 상기 리스트 업데이트(540)는 7 비트로 구성된다. 각각의 비트는 상기 플래그 또는 데이터에 대응한다. 단, 항상 메타데이터에 포함되어야 하는 플래그 또는 데이터가 있는 경우, 상기 플래그 또는 데이터에 대응하는 비트는 제외될 수 있다.
전송 측에서는 플래그가 과거의 값에서 변경되었을 경우 상기 플래그를 메타데이터(500)의 플래그 필드(550)에 포함시키고, 리스트 업데이트(540)의 상기 플래그에 대응하는 비트를 1로 만든다. 상기 플래그가 과거의 값과 같은 경우 상기 리스트 업데이트(540)의 대응하는 비트는 0이 된다. 전송 측에서는 필수적 데이터가 과거의 값에서 변경되었을 경우 상기 필수적 데이터를 메타데이터(500)의 데이터 필드(560)에 포함시키고, 리스트 업데이트(540)의 상기 필수적 데이터에 대응하는 비트를 1로 만든다. 상기 필수적 데이터가 과거의 값과 같은 경우 상기 리스트 업데이트(540)의 대응하는 비트는 0이 된다. 또한, 전송 측에서는 선택적 데이터가 존재하고(즉, 대응하는 플래그가 1이고) 과거의 값에서 변경되었으면 상기 선택적 데이터를 상기 데이터 필드(560)에 포함시키고, 리스트 업데이트(540)의 상기 선택적 데이터에 대응하는 비트를 1로 만든다. 상기 필수적 데이터가 과거의 값과 같은 경우 상기 리스트 업데이트(540)의 대응하는 비트는 0이 된다.
전송 측은 상기와 같이 구성된 메타데이터(500)를 수신측에 전송한다.
수신 측에서는 플래그 또는 데이터에 대응하는 리스트 업데이트(540)의 비트가 1인지 확인한다. 상기 비트가 1이면 상기 플래그 또는 데이터는 변경되었고, 상기 플래그 또는 데이터를 플래그 필드(550) 또는 데이터 필드(560)에서 추출한다. 단, 상기 데이터가 선택적 데이터인 경우, 우선 상기 선택적 데이터에 대응하는 리스트 업데이트(540)의 비트가 1인지 확인한 후, 상기 비트가 1이면 다시 상기 선택적 데이터에 대응하는 플래그가 1인지 확인한다. 상기 플래그의 값이 1이면 수신 측은 상기 데이터 필드(560)에서 상기 선택적 데이터를 추출한다.
상기와 같은 과정으로 수신 측은 값이 변경된 플래그 또는 데이터를 판별할 수 있고, 상기 변경된 플래그 또는 데이터의 이전 값과의 조합을 통해 플래그 또는 데이터의 값을 출력한다.
이 경우, 항상 변경되거나 변경이 잦은 등의 이유로 항상 메타데이터에 포함되어야 하는 플래그 또는 데이터(예컨대, 타임스탬프)는 상기 리스트 업데이트(540)의 비트를 차지하지 않고, 항상 상기 플래그 필드(550) 또는 데이터 필드(560)에서 추출될 수 있으며, 또는 상기 리스트 업데이트(540)의 비트를 차지하되 상기 전송 측 및 상기 수신 측은 상기 비트의 값을 무시하고 항상 상기 플래그 또는 데이터가 상기 플래그 필드(550) 또는 데이터 필드(560)에 포함된 것으로 간주할 수 있다.
본 발명의 일 실시예에 따른 제2 업데이트 모드는 하기의 설명과 같을 수 있다.
상기 제2 업데이트 모드는 현재의 플래그들 및 과거의 플래그들이 일치하는 것을 전제로 한다. 즉, 플래그 중 과거의 값과 상이한 것이 있는 경우 전술한 노멀 모드로 변경되고, 전송 측 및 수신 측은 상기 노멀 모드에서 동작한다. 또한, 상기 메타데이터(500)에 포함될 선택적 데이터는 노멀 모드에서 업데이트 모드로 진입하는 시점에 결정된다.
플래그 및 필수적 데이터는 상기 플래그 필드(550) 또는 데이터 필드(560)에 포함된다. 여기서, 플래그는 그에 대응하는 선택적 데이터의 포함 여부를 가리키기 위해 상기 플래그 필드(550)에 포함되나, 전술한 것처럼 상기 업데이트 모드 중에는 계속 과거의 값과 일치하기 때문에(즉, 변경되지 않기 때문에), 리스트 업데이트(540)의 비트를 차지하지는 않는다. 필수적 데이터는 변경될 수 있기 때문에 리스트 업데이트(540)의 비트를 차지할 수 있고, 선택적 데이터 중 대응하는 플래그의 값이 1인 것은 변경 여부를 가리키기 위해 상기 리스트 업데이트(540)의 비트를 차지할 수 있다. 상기 비트 수는 업데이트 모드 진입 시점에서 1의 값을 갖는 플래그의 개수에 필수적 데이터의 개수를 더한 수가 될 수 있다.
전송 측은 상기 플래그를 상기 플래그 필드(550)에 포함시킨다. 또한, 필수적 데이터 중 값이 변경된 것을 상기 데이터 필드(560)에 포함시키고, 상기 필수적 데이터에 대응하는 상기 리스트 업데이트(540)의 비트를 1로 만든다. 필수적 데이터 중 값이 변경되지 않은 것은 상기 데이터 필드(560)에 포함되지 않고, 상기 필수적 데이터에 대응하는 상기 리스트 업데이트(540)의 비트는 0이 된다.
전송 측은 대응하는 플래그의 값이 1인 선택적 데이터 중, 값이 변경된 것을 상기 데이터 필드(560)에 포함시키고, 상기 선택적 데이터에 대응하는 상기 리스트 업데이트(540)의 비트를 1로 만든다. 상기 대응하는 플래그의 값이 1인 선택적 데이터 중 값이 변경되지 않은 것은 상기 데이터 필드(560)에 포함되지 않으며, 상기 선택적 데이터에 대응하는 상기 리스트 업데이트(540)의 비트는 0이 된다.
수신 측은 상기 메타데이터(500)의 플래그 필드(550)에서 플래그들의 값을 추출한다. 상기 추출된 플래그들의 값으로 상기 수신 측은 상기 리스트 업데이트(540)의 비트를 차지하는 데이터를 알 수 있다. 또한, 수신 측은 상기 리스트 업데이트(540)의 비트의 값을 통해 값이 변경된 필수적 데이터를 알 수 있고, 상기 리스트 업데이트(540)의 비트의 값 및 상기 추출된 플래그들의 값을 통해 값이 변경된 선택적 데이터를 알 수 있다.
상기와 같은 과정으로 수신 측은 값이 변경된 플래그 또는 데이터를 판별할 수 있고, 상기 변경된 플래그 또는 데이터의 이전 값과의 조합을 통해 플래그 또는 데이터의 값을 출력한다.
도 6은 본 발명의 일 실시예에 따른 가상 세계 처리 방법의 절차를 설명한다.
우선, 송신 측은 이진 형태 인코드를 수행하기 위해, 현재 이진 형태 인코드모드가 노멀 모드인지 여부를 판단한다(S610). 만약 상기 모드가 노멀 모드면 상기 송신 측은 노멀 모드 이진 형태 인코딩을 수행하고(S620), 상기 모드가 업데이트 모드면 업데이트 모드 이진 형태 인코딩을 수행한다(S630). 송신 측은 상기 인코딩의 결과인 메타데이터를 수신측으로 전송한다(S640).
수신 측은 상기 메타데이터를 수신한다(S650). 수신 측은 이진 형태 디코드가 노멀 모드에서 수행되어야 할지 여부를 판단한다(S660). 상기 판단은 상기 메타데이터의 내용에 기반할 수 있다. 만약, 노멀 모드에서 수행되어야 한다면 상기 수신 측은 노멀 모드 이진 형태 디코딩을 수행하고(S670), 업데이트 모드에서 수행되어야 한다면 업데이트 모드 이진 형태 디코딩(S680)을 수행하여 그 결과를 출력한다.
전술된 상기 송신 측은 상기 이진 형태 인코더(278, 283, 293, 298 및 460) 또는 상기 이진 형태 인코더(278, 283, 293, 298 및 460)를 포함하는 가상 세계 처리 장치일 수 있으며, 전술된 상기 수신 측은 상기 이진 형태 디코더(278, 283, 293, 298 및 460) 또는 상기 이진 형태 디코더(278, 283, 293, 298 및 460)를 포함하는 가상 세계 처리 장치일 수 있다.
아래에서, 본 발명의 일실시예에서 사용하는 메타데이터의 예시적인 구조를 기술한다. 상기 구조는 XML 표현 신텍스 및 이진 표현 신텍스로서 기술될 수 있고, 상기 XML 표현 신텍스 및 이진 표현 신텍스 내의 엔트리(entry)는 기술어 구성 시멘틱(descriptor components semantics)에서 설명될 수 있다.
하기의 표 3은 상기 명령 타입(510)의 용어 정보 및 이진 표현을 예시한다.
Figure 112010023665726-pat00006
상기 명령 타입(510)은 전송되는 정보, 즉 메타데이터가 어떠한 정보를 나타내는 메타데이터인지를 가리킨다. 예컨대, 실감 정보(sensory information)은 현실 세계의 실감 장치에서 구현되는 효과 이벤트에 대한 정보를 나타낸다. 장치 명령(device command)은 현실 세계의 실감 장치의 동작을 제어하는 명령에 대한 정보를 나타낸다. 실감 장치 특성(sensory device capabilities)는 실감 장치의 특성에 대한 정보를 나타낸다. 사용자 실감 선호(user sensory preference)는 사용자의 실감 선호에 대한 정보를 나타낸다. 가상 세계 객체 특성(virtual world object characteristics)은 가상 세계 상의 객체의 특성을 나타낸다. 감지 정보(sensed information)는 센서가 현실 세계를 감지한 정보를 나타낸다. 센서 특성(sensor capability)는 센서의 특성에 대한 정보를 나타낸다.
전술한 것처럼, 상기 표 3의 Reserved의 이진 표현 중 일부가 모드를 가리키기 위해 사용될 수 있다. 즉, 상기 명령 타입(510)이 이진 표현으로 0111 내지 1111 사이의 특정 값을 가지면, 상기 모드가 지정되는 것으로 본 발명의 일 실시예가 구성될 수 있다.
하기의 표 4는 상기 명령 타입(510)이 장치 명령, 센서 특성 또는 사용자 센서 선호일 때, 상기 개별 타입(520)이 나타내는 장치를 예시한다.
Figure 112010023665726-pat00007
하기의 표 5는 상기 명령 타입(510)이 감지 정보 또는 감지 특성일 때, 상기 개별 타입(520)이 나타내는 센서를 예시한다.
Figure 112010023665726-pat00008
하기의 표 6은 상기 업데이팅 모드(530)의 이진 표현을 예시하고, 표 7은 상기 업데이팅 모드(530)의 이진 표현 신텍스(syntax)를 예시한다.
Figure 112010023665726-pat00009
Figure 112010023665726-pat00010
상기 표 7에서 if 문은 update의 값이 1이면 UpdateMode를, 그렇지 않으면 NormalMode를 설정하는 것을 보인다.
다음으로, 노멀 모드에서의 개별 장치에 대한 메타데이터를 살펴본다.
하기의 표 8, 표 9 및 표 10은 각각 장치 명령 베이스 타입(device command base type)의 XML 표현 신텍스(XML representation syntax), 이진 표현 신텍스 및 기술어 구성 시멘틱(descriptor components semantics)을 예시한다.
Figure 112010023665726-pat00011
상기 표 8 및 그 외 본 명세서의 표에서 사용되는 XML 표현은 <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:mpeg7="urn:mpeg:mpeg7:schema:2004" xmlns:iidl="urn:mpeg:mpeg-v:2010:01-IIDL-NS" targetNamespace="urn:mpeg:mpeg-v:2010:01-IIDL-NS" elementFormDefault="qualified" attributeFormDefault="unqualified" version="ISO/IEC 23005-x" id="MPEG-V-IIDL.xsd"> 스키마를 따른 것일 수 있다.
Figure 112010023665726-pat00012
상기 표 3에서 DeviceCommandBaseType은 TimeStamp 및 DeviceCmdBaseAttributes 데이터를 가지며, TimeStampType는 TimeStampSelect의 값에 따라 AbsoluteTimeStamp, ClockTickTimeStamp 또는 CLockTIckTimeDeltaStamp 데이터를 갖는다.
상기 표 3의 형식에서, bslbf는 비트 스트링 좌측 비트 우선(bit string left bit first)을 나타낸다. 여기서, 좌측은 비트가 ISO/IEC 15938-3에서 쓰이는 순서이다. UTF-8(Unicode Transformation Format-8)은 유니코드를 위한 가변 길이 문자 인코딩 방식으로 ISO 10646/IETF RFC 2279에서 정의되었다.UTF-8은 유니코드 한 문자를 나타내기 위해 1 바이트 내지 4 바이트를 사용할 수 있다. 그 외, vluimsbf5는 두 부분으로 구성되는 최상위 비트 우선 가변 길이 자연수(variable length unsigned integer most significant bit first)이다. 제1 부분은 값의 표현을 위해 사용되는 4-비트 비트 필드의 개수 n을 정의한다. 상기 개수는 "0"이 마지막으로 뒤따라오는 n-1 개의 연속적인 "1"로서 인코드된다. 제2 부분은 상기 제1 부분에서 특정된 개수의 비트 필드들을 사용하여 인코드 된 정수이다. uimbsf는 최상위 비트 우선 자연수(unsigned integer, most significant bit first)이다. fsbf는 부동소수(float)(32 비트)이고, 음양(sign) 비트가 제일 먼저 온다. float 내의 비트들의 시맨틱은 ANSI/IEEE 표준 754-1985를 따른다.
Figure 112010023665726-pat00013
하기의 표 11, 표 12 및 표 13은 각각 장치 명령 베이스 속성(device command base attributes)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00014
Figure 112010023665726-pat00015
상기 표 12에서 DeviceCmdBaseAttributesType는 idFlag, deviceIdRefFlag 및 activateFlag를 가지며, 상기 idFlag의 값이 1이면 id 데이터를 갖고, 상기 deviceIdRefFlag의 값이 1이면 deviceIdRefLength 데이터 및 deviceIdRef 데이터를 갖고, 상기 activateFlag의 값이 1이면 activate 데이터를 갖는다.
Figure 112010023665726-pat00016
다음으로, 장치 명령 보케블러리(vocabulary)를 설명한다. 즉, 본 발명의 일 실시예에 따른 장치 명령들 각각의 예시적인 구성을 설명한다.
하기의 표 14, 표 15 및 표 16은 각각 색상 정정 타입(color correction type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00017
Figure 112010023665726-pat00018
상기 표 15에서 ColorCorrectionType은 LoopSpatialLocator의 값 k 만큼의 SpatialLocator[i](0 ≤ i < k)를 갖는다.
Figure 112010023665726-pat00019
하기의 표 17, 표 18 및 표 19는 각각 리지드 바디 타입(rigid body motion type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00020
Figure 112010023665726-pat00021
Figure 112010023665726-pat00022
Figure 112010023665726-pat00023
Figure 112010023665726-pat00024
Figure 112010023665726-pat00025
Figure 112010023665726-pat00026
Figure 112010023665726-pat00027
Figure 112010023665726-pat00028
하기의 표 20, 표 21 및 표 22는 각각 촉각 타입(tactile type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00029
Figure 112010023665726-pat00030
Figure 112010023665726-pat00031
하기의 표 22, 표 24 및 표 25는 각각 운동감각 타입(kinestetic type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00032
Figure 112010023665726-pat00033
Figure 112010023665726-pat00034
다음으로, 노멀 모드에서의 개별 센서에 대한 메타데이터를 살펴본다.
하기의 표 26, 표 27 및 표 28은 각각 센서 정보 베이스 타입(sensed information base type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00035
Figure 112010023665726-pat00036
Figure 112010023665726-pat00037
하기의 표 29, 표 30 및 표 31은 각각 센서 정보 베이스 속성(sensed information base attribute)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00038
Figure 112010023665726-pat00039
Figure 112010023665726-pat00040
Figure 112010023665726-pat00041
하기의 표 32, 표 33 및 표 34는 각각 위치 센서 타입(position sensor type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00042
Figure 112010023665726-pat00043
Figure 112010023665726-pat00044
하기의 표 35, 표 36 및 표 37은 각각 방위 센서 타입(orientation sensor type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00045
Figure 112010023665726-pat00046
Figure 112010023665726-pat00047
하기의 표 38, 표 39 및 표 40은 각각 속도 센서 타입(velocity sensor type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00048
Figure 112010023665726-pat00049
Figure 112010023665726-pat00050
하기의 표 41, 표 42 및 표 43은 각각 각속도 센서 타입(angular velocity sensor type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00051
Figure 112010023665726-pat00052
Figure 112010023665726-pat00053
하기의 표 44, 표 45 및 표 46은 각각 가속도 센서 타입(acceleration sensor type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00054
Figure 112010023665726-pat00055
Figure 112010023665726-pat00056
하기의 표 47, 표 48 및 표 49는 각각 각 가속도 센서 타입(angular acceleration sensor type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00057
Figure 112010023665726-pat00058
Figure 112010023665726-pat00059
하기의 표 50, 표 51 및 표 52는 각각 모션 센서 타입(motion acceleration sensor type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00060
Figure 112010023665726-pat00061
Figure 112010023665726-pat00062
하기의 표 50, 표 51 및 표 52는 각각 지능 카메라 타입(intelligent camera type)의 XML 표현 신텍스, 이진 표현 신텍스 및 기술어 구성 시멘틱을 예시한다.
Figure 112010023665726-pat00063
Figure 112010023665726-pat00064
Figure 112010023665726-pat00065
Figure 112010023665726-pat00066
다음으로, 전술한 제1 업데이트 모드에서의 개별 장치 및 센서에 대한 메타데이터를 살펴본다.
장치 명령 보케블러리(device command vocabulary)를 살펴본다.
하기의 표 56은 색상 정정 타입의 예시이다.
Figure 112010023665726-pat00067
Figure 112010023665726-pat00068
상기 ColorCorrectionDeviceUpdate은 10 비트의 리스트 업데이트(540)를 포함한다. 상기 리스트 업데이트(540)의 각각의 비트들은 상기 ColorCorrectionDeviceUpdate의 특정 플래그 또는 데이터에 대응한다. 예컨대, 상기 리스트 업데이트(540)의 최하위 비트(ListUpdate[0])가 1이면, 상기 ColorCorrectionDeviceUpdate에 idFlag가 포함되고, 그렇지 않으면 상기 idFlag는 포함되지 않는다. 또한, 플래그 idFlag에 종속되는 선택적인 데이터 id의 경우, 우선, 리스트 업데이트(540)의 최하위에서부터 여섯 번째 비트(ListUpdate[5])가 1이고, 상기 idFlag가 1이면 상기 ColorCorrectionDeviceUpdate에 포함된다.
또한, SpitialLocator의 경우, LoopSpatialLocator의 값에 따라 복수 개가 존재할 수 있는데, 복수 개의 SpitialLocator 각각의 포함 여부를 가리키기 위해 UpdateMask가 포함되었다. 즉, 상기 UpdataMask의 복수 개의 비트 중 그 값이 1인 k 번째 비트에 대응하는 SpatialLocatior[k]가 상기 ColorCorrectionDeviceUpdate에 포함된다.
하기의 표 57은 리지드 바디 모션 타입의 예시이다.
Figure 112010023665726-pat00069
Figure 112010023665726-pat00070
Figure 112010023665726-pat00071
Figure 112010023665726-pat00072
Figure 112010023665726-pat00073
상기 표 57에서 directionXFlag는 우선 ListUpdate[11]이 1이어서 MoveTowardFlag가 RigidBodyMotionDeviceUpdateModeType에 포함되고, 또한 ListUpdate[12]가 1의 값을 가져야 RigidBodyMotionDeviceUpdateModeType에 포함된다.
하기의 표 58은 촉각 타입 예시이다.
Figure 112010023665726-pat00074
하기의 표 59는 운동감각 타입의 예시이다.
Figure 112010023665726-pat00075
Figure 112010023665726-pat00076
감지 정보 보케블러리(sensed information vocabulary)를 살펴본다.
하기의 표 60은 위치 센서 타입의 예시이다.
Figure 112010023665726-pat00077
Figure 112010023665726-pat00078
하기의 표 61은 방위 센서 타입의 예시이다.
Figure 112010023665726-pat00079
Figure 112010023665726-pat00080
하기의 표 62는 속도 센서 타입의 예시이다.
Figure 112010023665726-pat00081
Figure 112010023665726-pat00082
하기의 표 63은 각 속도 센서 타입의 예시이다.
Figure 112010023665726-pat00083
Figure 112010023665726-pat00084
하기의 표 64는 가속도 센서 타입의 예시이다.
Figure 112010023665726-pat00085
Figure 112010023665726-pat00086
하기의 표 65는 각 가속도 센서 타입의 예시이다.
Figure 112010023665726-pat00087
Figure 112010023665726-pat00088
하기의 표 66은 모션 센서 타입의 예시이다.
Figure 112010023665726-pat00089
Figure 112010023665726-pat00090
Figure 112010023665726-pat00091
하기의 표 67은 지능 카메라 타입의 예시이다.
Figure 112010023665726-pat00092
Figure 112010023665726-pat00093
Figure 112010023665726-pat00094
다음으로, 전술한 제2 업데이트 모드에서의 개별 장치 및 센서에 대한 메타데이터를 살펴본다.
장치 명령 보케블러리(device command vocabulary)를 살펴본다.
하기의 표 68은 색상 정정 타입의 예시이다.
Figure 112010023665726-pat00095
Figure 112010023665726-pat00096
ColorCorrectionDeviceUpdateModeType은 플래그들을 포함한다. 즉, idFlag, deviceIdRefFlag, activateFlag 및 intensityFlag가 각각 1 비트를 차지한다. 노멀 모드에서 업데이트 모드로 변경되는 시점에 상기 플래그 중 1의 값을 가진 플래그를 위해 각각 1개의 비트가 상기 ListUpdate(540)에 할당된다. 또한, TimeStamp 데어터를 위해 1개의 비트가 상기 ListUpdate(540)에 할당된다. 즉, 업데이트 모드로 변경될 시점에서의 상기 플래그의 값에 따라 상기 ListUpdate(540)의 길이가 변한다.
id 데이터가 ColorCorrectionDeviceUpdateModeType에 포함되었는지 여부를 판단하여야 한다. 상기 idFlag의 값이 1이면 상기 idFlag 및 상기 idFlag에 대응하는 id 데이터를 위해 ListUpdate(540)로 1 비트가 할당된 것이다. 따라서, 우선 상기 idFlag가 1인지 여부가 검사된다. 다음으로, 상기 id 데이터가 변경되었는지 여부를 판단하기 위해 상기 idFlag에 대응하는 ListUpdate(540)의 비트가 1인지 여부를 검사한다. 즉, 상기 idFlag가 1이고, 상기 idFlag에 대응하는 ListUpdate(540)의 비트가 1이면, 상기 idFlag에 대응하는 상기 id 데이터의 값이 메타데이터에 포함되는 것이다. ListUpdate의 비트 열 중 하나를 가리키기 위해 0으로 초기화된 ListItemNum이 사용되었다.
또한, 상기 idFlag가 1이면 상기 idFlag를 위해 할당된 상기 ListUpdate(540)의 1 비트가 검사된 것이므로, 상기 ListUpdate(540)의 다음 비트를 검사 대상으로 하기 위해 상기 ListItemNum의 값을 하나 증가시킨다. 만약, 상기 idFlag가 0이면 상기 ListUpdate(540)에는 애초에 상기 idFlag를 위해 할당된 비트가 없는 것이므로 상기 ListItemNum이 증가되지 않는다.
하기의 표 69는 리지드 바디 모션 타입의 예시이다.
Figure 112010023665726-pat00097
Figure 112010023665726-pat00098
Figure 112010023665726-pat00099
Figure 112010023665726-pat00100
Figure 112010023665726-pat00101
하기의 표 70은 촉각 타입의 예시이다.
Figure 112010023665726-pat00102
하기의 표 71은 운동감각 타입 예시이다.
Figure 112010023665726-pat00103
Figure 112010023665726-pat00104
감지 정보 보케블러리(sensed information vocabulary)를 살펴본다.
하기의 표 72는 위치 센서 타입의 예시이다.
Figure 112010023665726-pat00105
Figure 112010023665726-pat00106
하기의 표 73은 방위 센서 타입의 예시이다.
Figure 112010023665726-pat00107
Figure 112010023665726-pat00108
하기의 표 74은 속도 센서 타입의 예시이다.
Figure 112010023665726-pat00109
Figure 112010023665726-pat00110
하기의 표 75는 각 속도 센서 타입의 예시이다.
Figure 112010023665726-pat00111
Figure 112010023665726-pat00112
하기의 표 76은 가속도 센서 타입의 예시이다.
Figure 112010023665726-pat00113
Figure 112010023665726-pat00114
하기의 표 77은 각 가속도 센서 타입의 예시이다.
Figure 112010023665726-pat00115
Figure 112010023665726-pat00116
하기의 표 78은 모션 센서 타입의 예시이다.
Figure 112010023665726-pat00117
Figure 112010023665726-pat00118
Figure 112010023665726-pat00119
하기의 표 79는 지능형 카메라 타입의 예시이다.
Figure 112010023665726-pat00120
Figure 112010023665726-pat00121
Figure 112010023665726-pat00122
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 센서
110 : 사용자
120 : 가상 세계의 객체

Claims (17)

  1. 감지 정보를 출력하는 센서와,
    상기 정보에 따라 바이너리 형식의 메타 데이터를 출력하는 인코더와,
    를 포함하고,
    상기 메타 데이터는 해당 장치의 동작 모드를 나타내는 비트를 포함하고, 상기 인코더는, 상기 장치의 동작 모드에 따라 상기 바이너리 형식의 메타 데이터를 제 1 형태 또는 제 2 형태로 인코딩하여 출력하며, 상기 제 1 형태의 메타 데이터는 상기 정보의 항목을 포함하고, 상기 제 2 형태의 메타 데이터는 상기 정보의 항목 중 이전과 다른 값을 가지는 항목을 포함하고,
    상기 동작 모드가 노멀 모드인 경우, 상기 인코더는 상기 메타데이터를 상기 감지 정보의 전체가 출력되는 상기 제1 형태로 인코딩하여 출력하고,
    상기 동작 모드가 업데이트 모드인 경우, 상기 인코더는 상기 메타데이터를 상기 감지 정보의 일부가 출력되는 상기 제2 형태로 인코딩하여 출력하는 것을 특징으로 하는 가상 세계의 정보 처리 장치.
  2. 제1항에 있어서,
    상기 인코더는,
    상기 센서로부터 출력된 정보를 수신하여 상기 동작 모드에 따라 복수 개의 출력 포트 중 하나로 상기 정보를 출력하는 스위치;
    상기 스위치의 출력 포트 중 하나에 연결되어 상기 제1 형태의 메타데이터를 출력하는 제1 인코더부; 및
    상기 스위치에 출력 포트 중 하나에 연결되어 상기 제2 형태의 메타데이터를 출력하는 제2 인코더부
    를 포함하는 가상 세계 처리 장치.
  3. 제1항에 있어서,
    상기 항목은 플래그 및 상기 플래그에 대응하는 데이터를 포함하고. 상기 제2 형태의 메타데이터는 상기 플래그 및 데이터 각각의 값이 변경되었는지 여부를 나타내는 비트를 포함하고,
    상기 플래그는 대응하는 데이터가 존재하면 제1 값을 갖고, 그렇지 않으면 제2 값을 가지며,
    상기 비트는 대응하는 상기 플래그 또는 상기 데이터가 변경되었으면 제3 값을 갖고, 그렇지 않으면 제4 값을 가지며,
    상기 제2 형태의 메타데이터는 대응하는 상기 비트의 값이 제3 값인 플래그를 포함하고, 상기 제2 형태의 메타데이터는 대응하는 상기 비트의 값이 제3 값이고 대응하는 상기 플래그의 값이 제1 값인 상기 데이터를 포함하는 가상 세계 처리 장치.
  4. 제1항에 있어서,
    상기 항목은 플래그 및 상기 플래그에 대응하는 데이터를 포함하고,
    상기 플래그는 대응하는 데이터가 존재하면 제1 값을 갖고, 그렇지 않으면 제2 값을 가지며,
    상기 제2 형태의 메타데이터는 상기 플래그를 포함하고, 상기 제2 형태의 메타데이터는 상기 데이터 중 자신에게 대응하는 플래그가 제1 값을 갖는 데이터에 대응하는 비트를 포함하고,
    상기 비트는 대응하는 상기 데이터가 변경되었으면 제3 값을 갖고, 그렇지 않으면 제4 값을 가지며,
    상기 제2 형태의 메타데이터는 상기 데이터 중 대응하는 비트가 제3 값을 갖는 데이터를 포함하는 가상 세계 처리 장치.
  5. 이진 형태 메타데이터에 기반하여 정보를 출력하는 디코더; 및
    상기 정보에 기반하여 가상 세계에 적용될 정보를 생성하는 처리부;
    를 포함하고,
    상기 메타 데이터는 해당 장치의 동작 모드를 나타내는 비트를 포함하고, 상기 디코더는, 상기 장치의 동작 모드에 따라 상기 이진 형태 메타데이터를 모드에 따라 제1 형태 또는 제2 형태로 디코딩하여 출력하며, 상기 제1 형태의 메타데이터는 상기 정보 내의 항목을 포함하고, 상기 제2 형태의 메타데이터는 상기 정보 내의 항목 중 이전과 다른 값을 갖는 항목을 포함하며,
    상기 동작 모드가 상기 정보의 전체가 출력되는 노멀 모드인 경우 상기 메타데이터는 상기 제1 형태로 디코딩되고,
    상기 동작 모드가 상기 정보의 일부가 출력되는 업데이트 모드인 경우 상기 메타데이터는 상기 제2 형태로 디코딩되는 가상 세계 처리 장치.
  6. 제5항에 있어서,
    상기 디코더는
    상기 이진 형태 메타데이터를 입력받아 상기 제1 형태로 디코딩하여 출력하는 제1 디코더부;
    상기 이진 형태 메타데이터를 입력받아 상기 제2 형태로 디코딩하여 출력하는 제2 디코더부; 및
    상기 제1 디코더부 및 상기 제2 디코더부의 출력을 수신하여 상기 동작 모드에 따라 양 출력 중 하나를 출력하는 스위치;
    를 포함하는 가상 세계 처리 장치.
  7. 제5항에 있어서,
    상기 항목은 플래그 및 상기 플래그에 대응하는 데이터를 포함하고. 상기 제2 형태의 메타데이터는 상기 플래그 및 데이터 각각의 값이 변경되었는지 여부를 나타내는 비트를 포함하고,
    상기 플래그는 대응하는 데이터가 존재하면 제1 값을 갖고, 그렇지 않으면 제2 값을 가지며,
    상기 비트는 대응하는 상기 플래그 또는 상기 데이터가 변경되었으면 제3 값을 갖고, 그렇지 않으면 제4 값을 가지며,
    상기 제2 형태의 메타데이터는 대응하는 상기 비트의 값이 제3 값인 플래그를 포함하고, 상기 제2 형태의 메타데이터는 대응하는 상기 비트의 값이 제3 값이고 대응하는 상기 플래그의 값이 제1 값인 상기 데이터를 포함하는 가상 세계 처리 장치.
  8. 제5항에 있어서,
    상기 항목은 플래그 및 상기 플래그에 대응하는 데이터를 포함하고,
    상기 플래그는 대응하는 데이터가 존재하면 제1 값을 갖고, 그렇지 않으면 제2 값을 가지며,
    상기 제2 형태의 메타데이터는 상기 플래그를 포함하고, 상기 제2 형태의 메타데이터는 상기 데이터 중 자신에게 대응하는 플래그가 제1 값을 갖는 데이터에 대응하는 비트를 포함하고,
    상기 비트는 대응하는 상기 데이터가 변경되었으면 제3 값을 갖고, 그렇지 않으면 제4 값을 가지며,
    상기 제2 형태의 메타데이터는 상기 데이터 중 대응하는 비트가 제3 값을 갖는 데이터를 포함하는 가상 세계 처리 장치.
  9. 가상 세계 처리 장치에서 실행되는 가상 세계 처리 방법에 있어서,
    감지 정보를 출력하는 센싱 단계; 및
    상기 정보에 기반하여 이진 형태 메타데이터를 출력하는 인코딩 단계;
    를 포함하고,
    상기 인코딩 단계는 상기 장치의 동작 모드에 따라 상기 이진 형태 메타데이터를 모드에 따라 제1 형태 또는 제2 형태로 인코딩하여 출력하며, 상기 제1 형태의 메타데이터는 상기 정보 내의 항목을 포함하고, 상기 제2 형태의 메타데이터는 상기 정보 내의 항목 중 이전과 다른 값을 갖는 항목을 포함하며,
    상기 인코딩 단계는,
    상기 동작 모드가 노멀 모드인 경우, 상기 메타데이터를 상기 감지 정보의 전체가 출력되는 상기 제1 형태로 인코딩하여 출력하는 단계; 및,
    상기 동작 모드가 업데이트 모드인 경우, 상기 메타데이터를 상기 감지 정보의 일부가 출력되는 상기 제2 형태로 인코딩하여 출력하는 단계
    중 어느 하나를 포함하는, 가상 세계 처리 방법.
  10. 제9항에 있어서,
    상기 인코딩 단계는,
    상기 정보를 수신하여 상기 동작 모드에 따라 복수 개의 출력 포트 중 하나로 상기 정보를 출력하는 스위칭 단계;
    상기 출력된 정보에 기반하여 상기 제1 형태의 메타데이터를 출력하는 제1 부인코딩 단계; 및
    상기 출력된 정보에 기반하여 상기 제2 형태의 메타데이터를 출력하는 제2 부인코딩 단계;
    를 포함하는 가상 세계 처리 방법.
  11. 제9항에 있어서,
    상기 항목은 플래그 및 상기 플래그에 대응하는 데이터를 포함하고. 상기 제2 형태의 메타데이터는 상기 플래그 및 데이터 각각의 값이 변경되었는지 여부를 나타내는 비트를 포함하고,
    상기 플래그는 대응하는 데이터가 존재하면 제1 값을 갖고, 그렇지 않으면 제2 값을 가지며,
    상기 비트는 대응하는 상기 플래그 또는 상기 데이터가 변경되었으면 제3 값을 갖고, 그렇지 않으면 제4 값을 가지며,
    상기 제2 형태의 메타데이터는 대응하는 상기 비트의 값이 제3 값인 플래그를 포함하고, 상기 제2 형태의 메타데이터는 대응하는 상기 비트의 값이 제3 값이고 대응하는 상기 플래그의 값이 제1 값인 상기 데이터를 포함하는 가상 세계 처리 방법.
  12. 제9항에 있어서,
    상기 항목은 플래그 및 상기 플래그에 대응하는 데이터를 포함하고,
    상기 플래그는 대응하는 데이터가 존재하면 제1 값을 갖고, 그렇지 않으면 제2 값을 가지며,
    상기 제2 형태의 메타데이터는 상기 플래그를 포함하고, 상기 제2 형태의 메타데이터는 상기 데이터 중 자신에게 대응하는 플래그가 제1 값을 갖는 데이터에 대응하는 비트를 포함하고,
    상기 비트는 대응하는 상기 데이터가 변경되었으면 제3 값을 갖고, 그렇지 않으면 제4 값을 가지며,
    상기 제2 형태의 메타데이터는 상기 데이터 중 대응하는 비트가 제3 값을 갖는 데이터를 포함하는 가상 세계 처리 방법.
  13. 가상 세계 처리 장치에서 실행되는 가상 세계 처리 방법에 있어서,
    이진 형태 메타데이터에 기반하여 정보를 출력하는 디코딩 단계; 및
    상기 정보에 기반하여 가상 세계에 적용될 정보를 생성하는 처리 단계;
    를 포함하고,
    상기 디코딩 단계는 상기 장치의 동작 모드에 따라 상기 이진 형태 메타데이터를 모드에 따라 제1 형태 또는 제2 형태로 디코딩하여 출력하며, 상기 제1 형태의 메타데이터는 상기 정보 내의 항목을 포함하고, 상기 제2 형태의 메타데이터는 상기 정보 내의 항목 중 이전과 다른 값을 갖는 항목을 포함하며,
    상기 동작 모드가 상기 정보의 전체가 출력되는 노멀 모드인 경우 상기 메타데이터는 상기 제1 형태로 디코딩되고,
    상기 동작 모드가 상기 정보의 일부가 출력되는 업데이트 모드인 경우 상기 메타데이터는 상기 제2 형태로 디코딩되는 가상 세계 처리 방법.
  14. 제13항에 있어서,
    상기 디코딩 단계는,
    상기 이진 형태 메타데이터를 입력받아 상기 제1 형태로 디코딩하여 출력하는 제1 부디코딩 단계;
    상기 이진 형태 메타데이터를 입력받아 상기 제2 형태로 디코딩하여 출력하는 제2 부디코딩 단계; 및
    상기 제1 부디코딩 단계의 출력 및 및 상기 제2 부디코딩 단계의 출력을 입력받아 상기 모드에 따라 양 출력 중 하나를 출력하는 스위칭 단계;
    를 포함하는 가상 세계 처리 방법.
  15. 제13항에 있어서,
    상기 항목은 플래그 및 상기 플래그에 대응하는 데이터를 포함하고. 상기 제2 형태의 메타데이터는 상기 플래그 및 데이터 각각의 값이 변경되었는지 여부를 나타내는 비트를 포함하고,
    상기 플래그는 대응하는 데이터가 존재하면 제1 값을 갖고, 그렇지 않으면 제2 값을 가지며,
    상기 비트는 대응하는 상기 플래그 또는 상기 데이터가 변경되었으면 제3 값을 갖고, 그렇지 않으면 제4 값을 가지며,
    상기 제2 형태의 메타데이터는 대응하는 상기 비트의 값이 제3 값인 플래그를 포함하고, 상기 제2 형태의 메타데이터는 대응하는 상기 비트의 값이 제3 값이고 대응하는 상기 플래그의 값이 제1 값인 상기 데이터를 포함하는 가상 세계 처리 방법.
  16. 제13항에 있어서,
    상기 항목은 플래그 및 상기 플래그에 대응하는 데이터를 포함하고,
    상기 플래그는 대응하는 데이터가 존재하면 제1 값을 갖고, 그렇지 않으면 제2 값을 가지며,
    상기 제2 형태의 메타데이터는 상기 플래그를 포함하고, 상기 제2 형태의 메타데이터는 상기 데이터 중 자신에게 대응하는 플래그가 제1 값을 갖는 데이터에 대응하는 비트를 포함하고,
    상기 비트는 대응하는 상기 데이터가 변경되었으면 제3 값을 갖고, 그렇지 않으면 제4 값을 가지며,
    상기 제2 형태의 메타데이터는 상기 데이터 중 대응하는 비트가 제3 값을 갖는 데이터를 포함하는 가상 세계 처리 방법.
  17. 제9항 내지 제16항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020100034125A 2010-04-14 2010-04-14 가상 세계 처리 장치 및 방법 KR101677718B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020100034125A KR101677718B1 (ko) 2010-04-14 2010-04-14 가상 세계 처리 장치 및 방법
CN201180018544.5A CN102869415B (zh) 2010-04-14 2011-04-06 用于处理虚拟世界的装置和方法
US13/640,658 US9612737B2 (en) 2010-04-14 2011-04-06 Device and method for processing virtual worlds
EP11769008.1A EP2559462A4 (en) 2010-04-14 2011-04-06 Device and method for processing virtual worlds
JP2013504804A JP5838196B2 (ja) 2010-04-14 2011-04-06 仮想世界の情報処理装置及び方法
CN201410588651.7A CN104391638B (zh) 2010-04-14 2011-04-06 用于处理虚拟世界的装置和方法
PCT/KR2011/002407 WO2011129542A2 (ko) 2010-04-14 2011-04-06 가상 세계 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100034125A KR101677718B1 (ko) 2010-04-14 2010-04-14 가상 세계 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110114793A KR20110114793A (ko) 2011-10-20
KR101677718B1 true KR101677718B1 (ko) 2016-12-06

Family

ID=44799126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100034125A KR101677718B1 (ko) 2010-04-14 2010-04-14 가상 세계 처리 장치 및 방법

Country Status (6)

Country Link
US (1) US9612737B2 (ko)
EP (1) EP2559462A4 (ko)
JP (1) JP5838196B2 (ko)
KR (1) KR101677718B1 (ko)
CN (2) CN102869415B (ko)
WO (1) WO2011129542A2 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100138700A (ko) * 2009-06-25 2010-12-31 삼성전자주식회사 가상 세계 처리 장치 및 방법
KR101746453B1 (ko) * 2010-04-12 2017-06-13 삼성전자주식회사 실감 효과 처리 시스템 및 방법
KR101410410B1 (ko) * 2011-12-21 2014-06-27 주식회사 케이티 체감형 학습 장치 및 방법
TW201329877A (zh) * 2012-01-05 2013-07-16 李福文 執行虛擬人物的執行方法及應用該方法的可攜式電子裝置
US10133470B2 (en) 2012-10-09 2018-11-20 Samsung Electronics Co., Ltd. Interfacing device and method for providing user interface exploiting multi-modality
US10861221B2 (en) * 2017-07-14 2020-12-08 Electronics And Telecommunications Research Institute Sensory effect adaptation method, and adaptation engine and sensory device to perform the same
CN108121405B (zh) * 2018-01-19 2023-09-19 深圳市亿道数码技术有限公司 360度二合一笔记本控制系统
CN111507361B (zh) * 2019-01-30 2023-11-21 富士通株式会社 基于微波雷达的动作识别装置、方法及系统
KR20200131647A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상현실 촉감 전달 장치
KR20200131651A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상현실 반력 제공장치
KR20200131601A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상 현실 글러브의 반력 제어 액츄에이터
KR20200131591A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상현실 촉감 전달 장치
KR20200131596A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상현실 반력 제공장치
KR20200131630A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상현실 시스템용 글러브
KR20200131607A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상현실 촉감 전달 글러브
KR20200131615A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상현실 촉감 전달 글러브의 위치측정장치
KR20200131637A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상 현실 시스템의 피드백 장치
KR20200131641A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상 현실 시스템의 촉감 피드백 장치
KR20200131587A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상현실 촉감 전달 글러브
KR20200131626A (ko) 2019-05-14 2020-11-24 (주) 풀다이브테크놀로지 가상현실 촉감 전달 글러브
KR20220153396A (ko) * 2021-05-11 2022-11-18 삼성전자주식회사 Ar 원격 렌더링 프로세스를 위한 방법 및 장치
CN114770571B (zh) * 2022-04-01 2024-01-05 苏州大学 气动反馈机械手

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003525719A (ja) * 2000-03-06 2003-09-02 イレヴン エンジニアリング インコーポレイテッド 無線周波数遠隔ゲームコントローラ
WO2009146250A1 (en) * 2008-05-27 2009-12-03 Qualcomm Incorporated Method and system for automatically updating avatar status to indicate user's status

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995020788A1 (en) * 1994-01-27 1995-08-03 Exos, Inc. Intelligent remote multimode sense and display system utilizing haptic information compression
JP3631151B2 (ja) * 2000-11-30 2005-03-23 キヤノン株式会社 情報処理装置、複合現実感提示装置及びその方法並びに記憶媒体
KR100965881B1 (ko) * 2003-10-10 2010-06-24 삼성전자주식회사 비디오 데이터 인코딩 시스템 및 디코딩 시스템
US8547401B2 (en) * 2004-08-19 2013-10-01 Sony Computer Entertainment Inc. Portable augmented reality device and method
US20060262120A1 (en) * 2005-05-19 2006-11-23 Outland Research, Llc Ambulatory based human-computer interface
US7806777B2 (en) * 2006-04-18 2010-10-05 World Golf Tour, Inc. Automatically adapting virtual equipment model
US7636645B1 (en) 2007-06-18 2009-12-22 Ailive Inc. Self-contained inertial navigation system for interactive control using movable controllers
US20080125224A1 (en) * 2006-09-26 2008-05-29 Pollatsek David Method and apparatus for controlling simulated in flight realistic and non realistic object effects by sensing rotation of a hand-held controller
US7460725B2 (en) * 2006-11-09 2008-12-02 Calista Technologies, Inc. System and method for effectively encoding and decoding electronic information
US8675017B2 (en) 2007-06-26 2014-03-18 Qualcomm Incorporated Real world gaming framework
US8902227B2 (en) * 2007-09-10 2014-12-02 Sony Computer Entertainment America Llc Selective interactive mapping of real-world objects to create interactive virtual-world objects
US20090221368A1 (en) 2007-11-28 2009-09-03 Ailive Inc., Method and system for creating a shared game space for a networked game
US8386918B2 (en) * 2007-12-06 2013-02-26 International Business Machines Corporation Rendering of real world objects and interactions into a virtual universe
CN101520884A (zh) * 2008-02-29 2009-09-02 国际商业机器公司 获取和回放虚拟世界中发生的事件的方法和系统
CN101639974B (zh) * 2008-07-31 2011-06-22 鸿富锦精密工业(深圳)有限公司 遥控器、电视系统及利用电视系统进行游戏的方法
JP5110594B2 (ja) * 2008-10-01 2012-12-26 シャープ株式会社 情報処理装置、情報処理方法、および情報処理プログラム
KR20100114858A (ko) * 2009-04-16 2010-10-26 한국전자통신연구원 실감 기기 성능 메타데이터를 이용한 실감 효과 표현 방법 및 장치
US8448153B1 (en) * 2009-10-29 2013-05-21 Ning Wang Encoding data and metadata for run-time checking of computer code and data serialization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003525719A (ja) * 2000-03-06 2003-09-02 イレヴン エンジニアリング インコーポレイテッド 無線周波数遠隔ゲームコントローラ
WO2009146250A1 (en) * 2008-05-27 2009-12-03 Qualcomm Incorporated Method and system for automatically updating avatar status to indicate user's status

Also Published As

Publication number Publication date
EP2559462A4 (en) 2017-05-31
WO2011129542A2 (ko) 2011-10-20
WO2011129542A3 (ko) 2012-02-02
US20130088424A1 (en) 2013-04-11
CN104391638B (zh) 2018-05-08
EP2559462A2 (en) 2013-02-20
CN104391638A (zh) 2015-03-04
KR20110114793A (ko) 2011-10-20
JP5838196B2 (ja) 2016-01-06
JP2013529097A (ja) 2013-07-18
CN102869415B (zh) 2014-12-03
CN102869415A (zh) 2013-01-09
US9612737B2 (en) 2017-04-04

Similar Documents

Publication Publication Date Title
KR101677718B1 (ko) 가상 세계 처리 장치 및 방법
US9987553B2 (en) Virtual world processing device and method
EP2557481B1 (en) Apparatus and method for processing virtual world
KR101686139B1 (ko) 가상 세계 처리 장치 및 방법
CN103020102B (zh) 服务器装置、检索系统及其检索方法
US20120103168A1 (en) Input apparatus and recording medium with program recorded therein
CN102279701A (zh) 图像稳定化装置、图像稳定化方法和程序
CN106875931A (zh) 音效控制装置及智能乐器
JP2010279638A (ja) ライフログ記録装置
Motta et al. Overview of smart white canes: connected smart cane from front end to back end
US10580168B2 (en) Content output system and method
JP2012163382A (ja) 情報提供システムおよびサーバ
US20210312824A1 (en) Smart pen apparatus
KR20110108060A (ko) 가상 세계 처리 장치 및 방법
JP2006292616A (ja) バーチャル・ナビゲーション・システムおよび携帯端末機
JP7421949B2 (ja) 情報処理システムおよび情報処理方法
Son et al. Proposal of Descriptive Approach for XR Device Sensor Data Handling and Compatibility
KR101632744B1 (ko) 모바일 기기와 모바일 기기에서의 정보 획득 방법 및 모바일 기기와 정보를 송수신하는 서버와 상기 서버에서의 정보 제공 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant