KR20160034645A - 방향 예측을 이용한 저 레이턴시 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램 - Google Patents

방향 예측을 이용한 저 레이턴시 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20160034645A
KR20160034645A KR1020140125850A KR20140125850A KR20160034645A KR 20160034645 A KR20160034645 A KR 20160034645A KR 1020140125850 A KR1020140125850 A KR 1020140125850A KR 20140125850 A KR20140125850 A KR 20140125850A KR 20160034645 A KR20160034645 A KR 20160034645A
Authority
KR
South Korea
Prior art keywords
image
time
direction information
information
time delay
Prior art date
Application number
KR1020140125850A
Other languages
English (en)
Other versions
KR101728408B1 (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 KR1020140125850A priority Critical patent/KR101728408B1/ko
Priority to PCT/KR2015/009934 priority patent/WO2016047999A2/ko
Priority to JP2017515808A priority patent/JP6452808B2/ja
Priority to US15/512,833 priority patent/US10204420B2/en
Priority to CN201580056362.5A priority patent/CN107302845B/zh
Publication of KR20160034645A publication Critical patent/KR20160034645A/ko
Application granted granted Critical
Publication of KR101728408B1 publication Critical patent/KR101728408B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/20Linear translation of whole images or parts thereof, e.g. panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

시뮬레이션 장치는, 하나 이상의 센서를 이용하여 대상체의 움직임 정보를 획득하도록 구성된 센서부; 상기 움직임 정보를 이용하여 상기 대상체의 방향 정보를 산출하도록 구성된 방향 산출부; 및 상기 방향 산출부로부터 수신한 상기 방향 정보에 기초하여 물리적 객체를 시뮬레이션하고 이미지로 렌더링(rendering)하도록 구성된 시뮬레이션부를 포함할 수 있다. 상기 방향 산출부는, 상기 움직임 정보의 획득 시점과 렌더링 시점 사이의 시간차를 이용하여 상기 방향 정보를 수정하도록 구성된 시간지연 보정부를 포함할 수 있다. 센서의 측정 주기와 이미지의 렌더링 주기 사이의 시간지연 및/또는 이미지의 렌더링으로부터 이미지가 실제 화면에 표시되기까지의 시간지연을 고려하여 예측된 방향 정보를 이용하여 시뮬레이션을 수행함으로써, 대상체의 움직임과 이미지 사이의 레이턴시(latency)를 낮추고 자연스러운 시뮬레이션 결과를 얻을 수 있다.

Description

방향 예측을 이용한 저 레이턴시 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램{APPARATUS AND METHOD FOR LOW LATENCY SIMULATION USING ESTIMATION OF ORIENTATION, AND COMPUTER PROGRAM FOR THE SAME}
실시예들은 시뮬레이션 장치 및 방법과 이를 위한 컴퓨터 프로그램에 대한 것으로, 보다 상세하게는 센서에 의해 측정되는 신호와 표시되는 이미지 사이의 시간차를 보정하여 레이턴시(latency)를 낮춘 시뮬레이션 기법에 대한 것이다.
최근 스마트폰(smartphone)과 같은 모바일 장치의 처리 능력이 비약적으로 향상됨에 따라, 모바일 장치상에서 컴퓨터 시뮬레이션을 수행하는 사례도 증가하고 있다. 시뮬레이션된 객체는 렌더링 과정을 거쳐 이미지로 변환되어, 게임 등 애플리케이션 내에서 사용되거나, 또는 모바일 장치의 운영체제와 연관된 사용자 인터페이스(User Interface)의 일부를 구성하도록 모바일 장치상에 표시된다.
모바일 장치상의 시뮬레이션의 일 유형으로서, 대상체의 움직임을 반영하여 가상의 객체인 모델(model)을 시뮬레이션하고, 시뮬레이션 결과를 이미지로 렌더링(rendering)하는 것이 있다. 시뮬레이션의 기초가 되는 대상체의 움직임은 하나 이상의 센서를 통해 측정될 수 있으며, 센서 데이터에 따라 모델을 시뮬레이션함으로써 대상체의 움직임을 모사하거나 이에 대응하여 모델이 움직이도록 할 수 있다.
그러나, 센서에 의한 측정 주기와 시뮬레이션된 모델이 이미지로 렌더링되는 주기는 불일치(asynchronous)하여 레이턴시(latency)가 발생되는 문제점이 있다. 즉, 모바일 장치의 센서 데이터와 비교하여 렌더링되어 표시되는 이미지에 시간지연이 발생되는 것이다. 이러한 시간지연은 사용자가 이미지를 관찰할 때 어색함을 느끼거나, 또는 이미지와 상호작용함에 있어서 불편함을 느끼게 하는 원인이 된다.
공개특허공보 제10-2012-0035895호
본 발명의 일 측면에 따르면, 센서에 의해 측정되는 신호와 표시되는 이미지 사이의 시간지연을 보정하여 레이턴시(latency)를 낮춘 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램을 제공할 수 있다.
일 실시예에 따른 시뮬레이션 장치는, 하나 이상의 센서를 이용하여 대상체의 움직임 정보를 획득하도록 구성된 센서부; 상기 움직임 정보를 이용하여 상기 대상체의 방향 정보를 산출하도록 구성된 방향 산출부; 및 상기 방향 산출부로부터 수신한 상기 방향 정보에 기초하여 물리적 객체를 시뮬레이션하고 이미지로 렌더링(rendering)하도록 구성된 시뮬레이션부를 포함할 수 있다. 상기 방향 산출부는, 상기 움직임 정보의 획득 시점과 렌더링 시점 사이의 시간차를 이용하여 상기 방향 정보를 수정하도록 구성된 시간지연 보정부를 포함할 수 있다.
상기 센서부는 주기적으로 상기 움직임 정보를 획득하도록 구성되며, 상기 시뮬레이션부는 주기적으로 상기 이미지를 렌더링하도록 구성될 수 있다. 이때, 상기 시간지연 보정부는, 상기 움직임 정보의 각 획득 시점으로부터 후속하는 렌더링 시점까지의 시간지연을 산출하고, 상기 시간지연을 이용하여 상기 방향 정보를 수정하도록 구성될 수 있다. 또한, 상기 시간지연 보정부는, 상기 움직임 정보로부터 대상체의 각속도를 산출하고, 상기 각속도 및 상기 시간지연의 곱을 상기 방향 정보에 가산함으로써 상기 방향 정보를 수정하도록 구성될 수도 있다.
상기 방향 산출부는, 렌더링 시점과 상기 이미지가 표시부에 표시되는 시점 사이의 시간차를 더 이용하여 상기 대상체의 방향 정보를 수정하도록 구성될 수도 있다. 상기 시뮬레이션부는 주기적으로 상기 이미지를 렌더링하도록 구성되고, 상기 표시부는 상기 이미지를 주기적으로 표시하도록 구성될 수 있다. 이때, 상기 시간지연 보정부는, 각 렌더링 시점으로부터 후속하는 이미지 표시 시점까지의 시간지연을 더 이용하여 상기 방향 정보를 수정하도록 구성될 수 있다.
일 실시예에 따른 시뮬레이션 방법은, 시뮬레이션 장치가 하나 이상의 센서를 이용하여 대상체의 움직임 정보를 획득하는 단계; 상기 시뮬레이션 장치가, 상기 움직임 정보를 이용하여 상기 대상체의 방향 정보를 산출하는 단계; 상기 시뮬레이션 장치가, 상기 움직임 정보의 획득 시점과 렌더링 시점 사이의 시간차를 이용하여 상기 방향 정보를 수정하는 단계; 및 상기 시뮬레이션 장치가, 상기 수정된 방향 정보를 이용하여 물리적 객체를 시뮬레이션하고 이미지로 렌더링하는 단계를 포함할 수 있다.
상기 움직임 정보를 획득하는 단계 및 상기 이미지를 렌더링하는 단계는 주기적으로 수행될 수 있다. 이때, 상기 방향 정보를 수정하는 단계는, 상기 움직임 정보의 각 획득 시점으로부터 후속하는 렌더링 시점까지의 시간지연을 산출하는 단계; 및 상기 시간지연을 이용하여 상기 방향 정보를 수정하는 단계를 포함할 수 있다. 또한, 상기 시간지연을 이용하여 상기 방향 정보를 수정하는 단계는, 상기 움직임 정보로부터 대상체의 각속도를 산출하는 단계; 및 상기 각속도 및 상기 시간지연의 곱을 상기 방향 정보에 가산하는 단계를 포함할 수도 있다.
상기 시뮬레이션 방법은, 상기 이미지를 표시부에 표시하는 단계를 더 포함할 수 있다. 이때, 상기 방향 정보를 수정하는 단계는, 렌더링 시점과 상기 이미지가 표시되는 시점 사이의 시간차를 더 이용하여 수행될 수 있다. 또한, 상기 이미지를 렌더링하는 단계 및 상기 이미지를 표시부에 표시하는 단계는 주기적으로 수행되며, 상기 방향 정보를 수정하는 단계는, 각 렌더링 시점으로부터 후속하는 이미지 표시 시점까지의 시간지연을 더 이용하여 수행될 수도 있다.
일 실시예에 따른 컴퓨터 프로그램은, 하드웨어와 결합되어 상기 시뮬레이션 방법을 수행하도록 매체에 기록된 것일 수 있다.
본 발명의 일 측면에 따른 시뮬레이션 장치 및 방법은, 센서의 측정 주기와 이미지의 렌더링(rendering) 주기 사이의 시간지연 및/또는 이미지의 렌더링으로부터 이미지가 실제 화면에 표시되기까지의 시간지연을 고려하여 예측된 방향 정보를 이용하여 시뮬레이션을 수행한다. 그 결과, 대상체의 움직임과 표시되는 이미지 사이의 레이턴시(latency)를 낮추고, 자연스러운 시뮬레이션 결과를 얻을 수 있다.
도 1은 일 실시예에 따른 시뮬레이션 장치의 개략적인 블록도이다.
도 2는 일 실시예에 따른 시뮬레이션 방법에서 움직임 정보의 획득 시점, 렌더링 시점 및 이미지 표시 시점 사이의 시간차를 설명하기 위한 개념도이다.
이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.
실시예들에 따른 시뮬레이션 장치는, |대상체의 움직임에 따라 모델(model)을 시뮬레이션하고, 시뮬레이션된 모델을 이미지로 렌더링(rendering)하도록 구성된다. 본 명세서에서, 대상체는 움직임을 측정하고자 하는 장치 또는 사람을 의미한다. 예를 들어, 대상체는 사용자가 소지한 스마트폰(smartphone) 등 모바일 장치, 또는 헤드 마운트형 장치(Head Mounted Device; HMD)와 같이 사용자가 착용 가능한 웨어러블(wearable) 장비일 수 있다. 또는, 사용자가 직접 대상체가 되며, 사용자에게 부착되거나 또는 원격 위치에 위치한 하나 이상의 센서를 통해 사용자의 움직임을 측정할 수도 있다.
본 명세서에서 모델이란, 대상체의 움직임을 반영하여 시뮬레이션하고자 하는 가상의 물리적 객체에 대응되는 데이터를 의미한다. 예를 들어, 모델은 하나 이상의 정점(vertex)을 포함하여 정의되는 메쉬(mesh)일 수도 있다. 대상체의 움직임을 측정하고, 움직임에 따른 상호작용을 모델 각 부분의 위치 및 속도에 반영하도록 물리 방정식을 연산함으로써 대상체의 움직임에 따라 모델을 시뮬레이션할 수 있다. 예를 들면, 사용자가 모바일 장치를 기울이면 모바일 장치상에 표시된 이미지도 동일하게 기울어지도록 하거나, 또는 사용자가 센서 앞에서 움직이면 사용자를 닯은 캐릭터가 사용자와 동일하게 움직이게 하는 것 등이 이에 해당될 수 있다.
도 1은 일 실시예에 따른 시뮬레이션 장치의 개략적인 블록도이다.
도 1을 참조하면, 시뮬레이션 장치는 센서부(10), 방향 산출부(20) 및 시뮬레이션부(30)를 포함할 수 있다. 일 실시예에서, 시뮬레이션 장치는 표시부(40)를 더 포함할 수도 있다. 실시예들에 따른 시뮬레이션 장치는, 전적으로 하드웨어이거나, 전적으로 소프트웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 시뮬레이션 장치는 데이터를 처리 능력이 구비된 하드웨어 및 이를 구동시키기 위한 운용 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "시스템" 및 "장치" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 하드웨어에 의해 구동되는 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.
실시예들에 따른 시뮬레이션 장치를 구성하는 각각의 부는 반드시 물리적으로 구분되는 별개의 구성요소를 지칭하는 것으로 의도되지 않는다. 도 1에서 센서부(10), 방향 산출부(20), 시뮬레이션부(30) 및 표시부(40)는 서로 구분되는 별개의 블록으로 도시되나, 실시예에 따라서는 센서부(10), 방향 산출부(20), 시뮬레이션부(30) 및 표시부(40) 중 일부 또는 전부가 동일한 하나의 장치 내에 집적화될 수 있다. 또한, 방향 산출부(20) 및 시뮬레이션부(30)는 이들이 구현된 컴퓨팅 장치에서 수행하는 동작에 따라 장치를 기능적으로 구분한 것일 뿐, 반드시 서로 분리된 별개의 소자를 의미하는 것이 아니다.
예를 들어, 실시예들에 따른 시뮬레이션 장치는 스마트폰과 같은 모바일 장치에 집적화된 형태로 구현되어, 모바일 장치를 대상체로 하여 모바일 장치의 움직임을 측정하고, 측정된 움직임에 따라 소정의 모델을 시뮬레이션하며, 시뮬레이션된 이미지를 모바일 장치의 화면에 표시할 수도 있다. 그러나, 이는 예시적인 것으로서, 다른 실시예에서는 센서부(10), 방향 산출부(20), 시뮬레이션부(30) 및 표시부(40) 중 하나 이상이 다른 부와 물리적으로 구분되는 별개의 장치로 구현될 수도 있다. 예컨대, 센서부(10), 방향 산출부(20), 시뮬레이션부(30) 및 표시부(40)는 분산 컴퓨팅 환경 하에서 서로 통신 가능하게 연결된 컴포넌트들일 수도 있다.
센서부(10)는 대상체의 움직임 정보를 획득하기 위한 부분이다. 움직임 정보는 대상체의 방향 정보를 산출하기 위한 기초가 되는 정보로서, 센서부(10)는 방향 정보를 산출할 수 있는 센서 데이터를 얻도록 구성된 하나 또는 복수의 종류의 센서를 포함할 수 있다. 예컨대, 일 실시예에서 센서부(10)는 가속도계(accelerometer)(110), 자기력계(magnetometer)(120) 및 자이로스코프(gyroscope)(130)로 이루어지나, 이에 한정되는 것은 아니다. 센서부(10)에 의해 얻어지는 움직임 정보의 형태는 센서의 종류에 따라 상이할 수 있다. 예컨대, 가속도계(110)의 경우 중력 벡터, 자기력계(120)의 자북에 대한 상대적인 방향, 그리고 자이로스코프(130)의 경우 각속도의 형태로 움직임 정보가 얻어질 수 있다.
방향 산출부(20)는 센서부(10)에 의해 측정된 움직임 정보를 수신하고, 이로부터 대상체의 방향 정보를 산출하기 위한 부분이다. 일 실시예에서, 방향 산출부(20)는 신호 병합부(210) 및 시간지연 보정부(220)를 포함할 수 있다. 신호 병합부(210)는 센서부(10)의 각 센서에 의해 측정된 움직임 정보를 병합하고 이로부터 방향 정보를 산출한다. 일 실시예에서, 신호 병합부(210)는 먼저 가속도계(110) 및 자기력계(120)의 움직임 정보를 병합하여 제1 방향 정보를 산출하며, 자이로스코프(130)의 움직임 정보를 이용하여 제2 방향 정보를 산출한다. 이 경우, 제1 방향 정보는 자기적 방향 및 가속도에 의존하므로 방향 편이(drift)가 적은 반면 잡읍을 포함하고 있으며, 제2 방향 정보는 잡음이 거의 없으나 방향 편이를 포함한다. 신호 병합부(210)는 제1 및 제2 방향 정보를 하기 수학식 1과 같이 병합함으로써 병합된 방향 정보를 산출할 수 있다.
Figure pat00001
상기 수학식 1에서 θam은 제1 방향 정보를 나타내며, θg는 제2 방향 정보를 나타내고, θfusion은 병합된 방향 정보를 나타낸다. 또한, 상기 수학식 1에서 α 및 (1-α)는 각각 제1 및 제2 방향 정보에 대한 가중치로서, α의 값은 병합된 방향 정보 θfusion이 실제 대상체의 방향과 부합하도록 적절히 결정될 수 있다. 이상과 같이 방향 정보를 산출함으로써, 방향 편이 및 잡음이 모두 감소된 방향 정보를 얻을 수 있다.
시간지연 보정부(220)는, 신호 병합부(210)에서 산출된 대상체의 방향 정보를, 방향 정보의 산출에 사용된 움직임 정보의 획득 시점과 렌더링 시점 사이의 시간차를 고려하여 수정하기 위한 부분이다. 또한 일 실시예에서, 시간지연 보정부(220)는, 렌더링 시점과 이미지가 실제로 표시부(40)에 표시되는 시점 사이의 시간차를 더 이용하여 방향 정보를 수정할 수도 있다. 이를 위하여, 시간지연 보정부(220)는 시뮬레이션부(30) 및/또는 표시부(40) 각각으로부터 이들의 동작 주기에 대한 정보를 획득할 수 있다. 시간지연 보정부(220)의 구체적인 동작에 대해서는 도 2를 참조하여 후술한다.
시뮬레이션부(30)는, 방향 산출부(20)로부터 대상체의 방향 정보를 수신하고, 이에 기초하여 모델에 대한 시뮬레이션을 수행하기 위한 부분이다. 시뮬레이션부(30)가 수신하는 방향 정보는, 신호 병합부(210)에 의하여 일차적으로 산출되며 시간지연 보정부(220)에 의해 수정된 방향 정보를 지칭한다. 시뮬레이션부(30)는 대상체의 방향 정보를 반영하여 모델의 각 부분의 위치 및 속도를 시간 단계별로 갱신함으로써, 모델이 대상체의 움직임에 따라 시뮬레이션되도록 한다. 또한, 시뮬레이션부(30)는 시뮬레이션된 모델을 화면에 표시되기 위한 이미지로 렌더링한다.
시뮬레이션은 모델이 대상체의 움직임을 모사하도록 또는 모델이 대상체의 움직임에 따라 변화하거나 대상체와 상호작용하도록 수행될 수 있으며, 특정 방식의 시뮬레이션에 의하여 한정되지 아니한다. 또한, 2차원 또는 3차원 모델에 대하여 주어진 조건을 이용하여 컴퓨터 시뮬레이션 연산을 수행하는 과정은 본원발명이 속하는 기술분야에서 통상의 기술자에게 잘 알려져 있으므로, 발명의 요지를 명확하게 하기 위하여 본 명세서에서는 자세한 설명을 생략한다.
표시부(40)는 시뮬레이션부(30)에 의해 렌더링된 이미지를 사용자가 볼 수 있도록 표시하기 위한 부분이다. 예를 들어, 표시부(40)는 액정표시장치(Liquid Crystal Display), 또는 능동형 유기 발광 다이오드(Active-Matrix Organic Light-Emitting Diode; AMOLED) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 본 실시예에 따른 시뮬레이션 장치가 스마트폰과 같은 모바일 장치 내에 집적화되어 구현될 경우, 표시부(40)는 모바일 장치의 표시 수단이자 입력 수단인 터치스크린의 형태로 구현될 수도 있다.
도 2는 일 실시예에 따른 시뮬레이션 방법에서 움직임 정보의 획득 시점, 렌더링 시점 및 이미지 표시 시점 사이의 시간차를 설명하기 위한 개념도이다.
도 1 및 도 2를 참조하면, 센서부(10)에 의한 움직임 정보의 측정은 주기적으로 이루어지며, 각 측정 시점은 제1 주기(T1)마다 돌아온다. 또한, 시뮬레이션부(30)에 의한 렌더링 과정도 주기적으로 이루어지며, 각 렌더링 시점은 제2 주기(T2)마다 돌아온다. 제1 주기(T1)와 제2 주기(T2)는 서로 동일하거나 서로 상이할 수 있으나, 주기 또는 시작 시점의 차이로 인해 각 측정 시점과 각 렌더링 시점은 불일치(asynchronous)한다. 그 결과, 각 측정 시점과 인접한 각 렌더링 시점 사이에는 시간지연(Dt1)이 발생된다. 제1 주기(T1)와 제2 주기(T2)가 서로 상이할 경우, 시간지연(Dt1)은 각 시점별로 상이하게 된다.
방향 산출부(20)의 시간지연 보정부(220)는, 방향 정보의 산출에 사용된 움직임 정보의 획득 시점으로부터 후속하는 렌더링 시점까지의 시간지연(Dt1)을 이용하여 대상체의 방향 정보를 수정한다. 즉, 시간지연 보정부(220)에 의해 수정된 방향 정보는 렌더링 시점의 방향 정보를 미리 예측한 것에 해당된다. 시간지연 보정부(220)는 예측된 방향 정보를 시뮬레이션부(30)에 전달함으로써 이에 따라 시뮬레이션 및 렌더링이 이루어지도록 한다. 구체적으로, 도 2의 시점(501, 502)을 예로 들면, 시간지연 보정부(220)는 현재 방향 정보의 산출에 사용된 움직임 정보의 측정 시점(501)으로부터 가장 인접한 후속 렌더링 시점(502)까지의 시간지연(503)을 산출한다. 다음으로, 시간지연 보정부(220)는 해당 측정 시점(501)에 얻어진 움직임 정보를 통해 대상체의 각속도를 산출하고, 산출된 각속도에 시간지연(503)을 곱하여 방향 정보에 가산한다.
즉, 시간지연 보정부(220)에 의해 수정되기 전의 방향 정보를 θcurrent, 최근 측정된 움직임 정보에 의한 대상체의 각속도를 ω, 최근 움직임 정보의 측정 시점과 후속하는 인접 렌더링 시점 사이의 시간 지연을 Dt1이라고 할 경우, 시간지연 보정부(220)에 의해 수정된 방향 정보 θnew는 하기 수학식 2와 같이 산출될 수 있다.
Figure pat00002
일 실시예에서, 시간지연 보정부(220)는 렌더링 시점과 실제 이미지가 표시부(40)에 표시되는 시점의 시간지연을 더 고려하여 방향 정보를 수정할 수도 있다. 즉, 이와 같이 수정된 방향 정보는 실제 이미지가 표시되는 시점에서의 대상체의 방향을 미리 예측한 것에 해당된다.
도 2를 참조하면, 표시부(40)에 의한 이미지 표시는 주기적으로 이루어지며, 각 이미지 표시 시점은 제3 주기(T3)마다 돌아온다. 이때, 각 렌더링 시점과 표시부(40)에 의한 각 이미지 표시 시점 사이에는 시간지연(Dt2)이 발생되며, 시간지연 보정부(220)는 전술한 센서 측정 시점과 렌더링 시점 사이의 시간지연(Dt1)에 더하여 시간지연(Dt2)을 더 고려하여 방향 정보를 수정할 수 있다. 이 경우, 시간지연 보정부(220)에 의해 수정된 방향 정보 θnew는 하기 수학식 3과 같이 산출될 수 있다.
Figure pat00003
즉, 이상에서 설명한 실시예들에 따른 시뮬레이션 장치 및 방법은, 센서의 측정 주기와 이미지의 렌더링 주기 사이의 시간지연을 고려하여 렌더링 시점에서의 대상체의 방향 정보를 예측하거나, 또는 이에 추가적으로 렌더링 주기와 이미지의 표시 주기 사이의 시간지연을 고려하여 이미지 표시 시점에서의 대상체의 방향 정보를 예측하도록 구성된 것이다. 이와 같이 예측된 방향 정보를 이용하여 시뮬레이션 및 렌더링을 수행함으로써, 센서의 측정 주기가 시뮬레이션 또는 표시 주기와 불일치하여 발생하는 레이턴시(latency)를 낮추고, 대상체의 움직임에 따라 자연스러운 시뮬레이션 결과를 얻을 수 있는 이점이 있다.
이상에서 설명한 실시예들에 따른 시뮬레이션 장치에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(carrier wave)(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.

Claims (11)

  1. 하나 이상의 센서를 이용하여 대상체의 움직임 정보를 획득하도록 구성된 센서부;
    상기 움직임 정보를 이용하여 상기 대상체의 방향 정보를 산출하도록 구성된 방향 산출부; 및
    상기 방향 산출부로부터 수신한 상기 방향 정보에 기초하여 물리적 객체를 시뮬레이션하고 이미지로 렌더링하도록 구성된 시뮬레이션부를 포함하되,
    상기 방향 산출부는, 상기 움직임 정보의 획득 시점과 렌더링 시점 사이의 시간차를 이용하여 상기 방향 정보를 수정하도록 구성된 시간지연 보정부를 포함하는 시뮬레이션 장치.
  2. 제 1항에 있어서,
    상기 센서부는 주기적으로 상기 움직임 정보를 획득하도록 구성되며,
    상기 시뮬레이션부는 주기적으로 상기 이미지를 렌더링하도록 구성되고,
    상기 시간지연 보정부는, 상기 움직임 정보의 각 획득 시점으로부터 후속하는 렌더링 시점까지의 시간지연을 산출하고, 상기 시간지연을 이용하여 상기 방향 정보를 수정하도록 구성된 시뮬레이션 장치.
  3. 제 2항에 있어서,
    상기 시간지연 보정부는, 상기 움직임 정보로부터 대상체의 각속도를 산출하고, 상기 각속도 및 상기 시간지연의 곱을 상기 방향 정보에 가산함으로써 상기 방향 정보를 수정하도록 구성된 시뮬레이션 장치.
  4. 제 1항에 있어서,
    상기 방향 산출부는, 렌더링 시점과 상기 이미지가 표시부에 표시되는 시점 사이의 시간차를 더 이용하여 상기 대상체의 방향 정보를 수정하도록 구성된 시뮬레이션 장치.
  5. 제 4항에 있어서,
    상기 시뮬레이션부는 주기적으로 상기 이미지를 렌더링하도록 구성되고,
    상기 표시부는 상기 이미지를 주기적으로 표시하도록 구성되며,
    상기 시간지연 보정부는, 각 렌더링 시점으로부터 후속하는 이미지 표시 시점까지의 시간지연을 더 이용하여 상기 방향 정보를 수정하도록 구성된 시뮬레이션 장치.
  6. 시뮬레이션 장치가 하나 이상의 센서를 이용하여 대상체의 움직임 정보를 획득하는 단계;
    상기 시뮬레이션 장치가, 상기 움직임 정보를 이용하여 상기 대상체의 방향 정보를 산출하는 단계;
    상기 시뮬레이션 장치가, 상기 움직임 정보의 획득 시점과 렌더링 시점 사이의 시간차를 이용하여 상기 방향 정보를 수정하는 단계; 및
    상기 시뮬레이션 장치가, 상기 수정된 방향 정보를 이용하여 물리적 객체를 시뮬레이션하고 이미지로 렌더링하는 단계를 포함하는 시뮬레이션 방법.
  7. 제 6항에 있어서,
    상기 움직임 정보를 획득하는 단계 및 상기 이미지를 렌더링하는 단계는 주기적으로 수행되며,
    상기 방향 정보를 수정하는 단계는,
    상기 움직임 정보의 각 획득 시점으로부터 후속하는 렌더링 시점까지의 시간지연을 산출하는 단계; 및
    상기 시간지연을 이용하여 상기 방향 정보를 수정하는 단계를 포함하는 시뮬레이션 방법.
  8. 제 7항에 있어서,
    상기 시간지연을 이용하여 상기 방향 정보를 수정하는 단계는,
    상기 움직임 정보로부터 대상체의 각속도를 산출하는 단계; 및
    상기 각속도 및 상기 시간지연의 곱을 상기 방향 정보에 가산하는 단계를 포함하는 시뮬레이션 방법.
  9. 제 6항에 있어서,
    상기 이미지를 표시부에 표시하는 단계를 더 포함하되,
    상기 방향 정보를 수정하는 단계는, 렌더링 시점과 상기 이미지가 표시되는 시점 사이의 시간차를 더 이용하여 수행되는 시뮬레이션 방법.
  10. 제 9항에 있어서,
    상기 이미지를 렌더링하는 단계 및 상기 이미지를 표시부에 표시하는 단계는 주기적으로 수행되며,
    상기 방향 정보를 수정하는 단계는, 각 렌더링 시점으로부터 후속하는 이미지 표시 시점까지의 시간지연을 더 이용하여 수행되는 시뮬레이션 방법.
  11. 하드웨어와 결합되어,
    하나 이상의 센서를 이용하여 대상체의 움직임 정보를 획득하는 단계;
    상기 움직임 정보를 이용하여 상기 대상체의 방향 정보를 산출하는 단계;
    상기 움직임 정보의 획득 시점과 렌더링 시점 사이의 시간차를 이용하여 상기 방향 정보를 수정하는 단계; 및
    상기 수정된 방향 정보를 이용하여 물리적 객체를 시뮬레이션하고 이미지로 렌더링하는 단계를 실행하도록 매체에 저장된 컴퓨터 프로그램.
KR1020140125850A 2014-09-22 2014-09-22 방향 예측을 이용한 저 레이턴시 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램 KR101728408B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020140125850A KR101728408B1 (ko) 2014-09-22 2014-09-22 방향 예측을 이용한 저 레이턴시 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램
PCT/KR2015/009934 WO2016047999A2 (ko) 2014-09-22 2015-09-22 방향 예측을 이용한 저 레이턴시 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램
JP2017515808A JP6452808B2 (ja) 2014-09-22 2015-09-22 方向予測を利用した低レイテンシーシミュレーション装置及び方法と、そのためのコンピュータプログラム
US15/512,833 US10204420B2 (en) 2014-09-22 2015-09-22 Low latency simulation apparatus and method using direction prediction, and computer program therefor
CN201580056362.5A CN107302845B (zh) 2014-09-22 2015-09-22 利用方向预测的低时延模拟装置、方法及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140125850A KR101728408B1 (ko) 2014-09-22 2014-09-22 방향 예측을 이용한 저 레이턴시 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20160034645A true KR20160034645A (ko) 2016-03-30
KR101728408B1 KR101728408B1 (ko) 2017-04-19

Family

ID=55582210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140125850A KR101728408B1 (ko) 2014-09-22 2014-09-22 방향 예측을 이용한 저 레이턴시 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램

Country Status (5)

Country Link
US (1) US10204420B2 (ko)
JP (1) JP6452808B2 (ko)
KR (1) KR101728408B1 (ko)
CN (1) CN107302845B (ko)
WO (1) WO2016047999A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10424340B2 (en) * 2016-08-25 2019-09-24 Bellevue Investments Gmbh & Co. Kgaa Method and system for 360 degree video editing with latency compensation
CN109932926A (zh) * 2017-12-19 2019-06-25 帝斯贝思数字信号处理和控制工程有限公司 低延时的用于图像处理系统的试验台
US11675430B1 (en) * 2021-12-17 2023-06-13 Varjo Technologies Oy Display apparatus and method incorporating adaptive gaze locking
KR20230099898A (ko) 2021-12-28 2023-07-05 삼성전자주식회사 측위를 위한 센싱 시점을 독립적으로 관리 및 이용하는 방법 및 전자 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6184847B1 (en) 1998-09-22 2001-02-06 Vega Vista, Inc. Intuitive control of portable data displays
KR100316630B1 (ko) * 1999-04-22 2001-12-12 윤덕용 인터넷을 이용한 원격 이동 로봇의 인터넷 직접 제어 시스템 및그 방법
JP2001075470A (ja) * 1999-09-07 2001-03-23 Hitachi Ltd シミュレーションライド制御装置
US6995793B1 (en) * 2000-11-14 2006-02-07 Eastman Kodak Company Video tap for a digital motion camera that simulates the look of post processing
JP2002354880A (ja) 2001-05-28 2002-12-06 Mitsubishi Electric Corp リアルタイムシミュレータおよびリアルタイムシミュレーション方法
US7515156B2 (en) * 2003-01-08 2009-04-07 Hrl Laboratories, Llc Method and apparatus for parallel speculative rendering of synthetic images
US20060223637A1 (en) * 2005-03-31 2006-10-05 Outland Research, Llc Video game system combining gaming simulation with remote robot control and remote robot feedback
US8083589B1 (en) * 2005-04-15 2011-12-27 Reference, LLC Capture and utilization of real-world data for use in gaming systems such as video games
US8408982B2 (en) * 2007-05-24 2013-04-02 Pillar Vision, Inc. Method and apparatus for video game simulations using motion capture
TWI454140B (zh) * 2010-06-08 2014-09-21 Univ Nat Taiwan 與影片互動之方法與比賽模擬系統
KR101237018B1 (ko) 2010-12-30 2013-02-26 전자부품연구원 이더캣의 멀티채널 통신을 기반으로 하는 시뮬레이터
US20120188148A1 (en) * 2011-01-24 2012-07-26 Microvision, Inc. Head Mounted Meta-Display System
KR20140066258A (ko) * 2011-09-26 2014-05-30 마이크로소프트 코포레이션 투시 근안 디스플레이에 대한 센서 입력에 기초한 비디오 디스플레이 수정
KR20230113418A (ko) * 2013-03-15 2023-07-28 매직 립, 인코포레이티드 디스플레이 시스템 및 방법
US20160027141A1 (en) * 2014-07-22 2016-01-28 Oculus Vr, Llc In-band latency detection system
US9240069B1 (en) * 2015-06-30 2016-01-19 Ariadne's Thread (Usa), Inc. Low-latency virtual reality display system

Also Published As

Publication number Publication date
KR101728408B1 (ko) 2017-04-19
WO2016047999A2 (ko) 2016-03-31
CN107302845B (zh) 2020-11-10
US10204420B2 (en) 2019-02-12
WO2016047999A3 (ko) 2016-05-19
US20170294022A1 (en) 2017-10-12
JP2018500616A (ja) 2018-01-11
JP6452808B2 (ja) 2019-01-16
CN107302845A (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
KR102212250B1 (ko) 증강 현실 오브젝트의 신체 고정식 배치
CN109643014B (zh) 头戴式显示器追踪
KR102334271B1 (ko) 제스처 파라미터 튜닝
US9928653B2 (en) Head mounted display presentation adjustment
US10607412B2 (en) Mixed reality presentation system
US9497389B2 (en) Information processing device, information processing method, and program for reduction of noise effects on a reference point
US20170115846A1 (en) Three Dimensional User Interface Effects On A Display
US9767609B2 (en) Motion modeling in visual tracking
US10732411B2 (en) Methods and devices for processing motion-based image
KR20190098003A (ko) 장치의 자세 추정 방법 및 그 장치
CN113760093A (zh) 用于对象运动跟踪的方法及混合现实系统
KR101728408B1 (ko) 방향 예측을 이용한 저 레이턴시 시뮬레이션 장치 및 방법과, 이를 위한 컴퓨터 프로그램
CN112154405B (zh) 三维推送通知
JP2015166816A (ja) 表示装置,表示制御プログラム及び表示制御方法
JP2017181666A (ja) 情報処理装置、情報処理方法およびプログラム
KR20190122266A (ko) 주변 디바이스들의 시각적 추적
CN112449691B (zh) 通过物理接触细化虚拟网格模型
CN111066081B (zh) 用于补偿虚拟现实的图像显示中的可变显示设备等待时间的技术
CN111382701B (zh) 动作捕捉方法、装置、电子设备及计算机可读存储介质
JP2015118577A5 (ko)
KR102207838B1 (ko) 하이브리드 센서를 이용한 착용형 디스플레이 장치의 자세 예측 장치
CN108762527A (zh) 一种识别定位方法及装置
US20200008713A1 (en) Walking support system, walking support method, and program
JP6437811B2 (ja) 表示装置及び表示方法
US20240192024A1 (en) Long term in-field imu temperature calibration

Legal Events

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