KR20140002567A - 증강 현실 시뮬레이션 연속체 - Google Patents

증강 현실 시뮬레이션 연속체 Download PDF

Info

Publication number
KR20140002567A
KR20140002567A KR1020130076019A KR20130076019A KR20140002567A KR 20140002567 A KR20140002567 A KR 20140002567A KR 1020130076019 A KR1020130076019 A KR 1020130076019A KR 20130076019 A KR20130076019 A KR 20130076019A KR 20140002567 A KR20140002567 A KR 20140002567A
Authority
KR
South Korea
Prior art keywords
physical object
visual scene
virtual objects
augmented reality
physical
Prior art date
Application number
KR1020130076019A
Other languages
English (en)
Other versions
KR101660089B1 (ko
Inventor
케니 미첼
라파엘 씨. 호스테틀러
스텔리안 코로스
로버트 썸너
Original Assignee
디즈니엔터프라이지즈,인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 디즈니엔터프라이지즈,인크. filed Critical 디즈니엔터프라이지즈,인크.
Publication of KR20140002567A publication Critical patent/KR20140002567A/ko
Application granted granted Critical
Publication of KR101660089B1 publication Critical patent/KR101660089B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • 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
    • 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/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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/25Output 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

증강 현실 디바이스를 사용하여 상호 작용들을 시뮬레이션하기 위한 기법이 설명된다. 실시예들은 표시를 위한 시각 장면을 캡처하는데, 시각 장면은 하나 이상의 카메라 디바이스를 사용하여 캡처된다. 실시예들은 제1 물리적 객체와 하나 이상의 가상적 객체 사이의 역학 상호 작용을 시뮬레이션한다. 추가로, 프레임들의 시퀀스가 표시를 위해 렌더링되어, 제1 물리적 객체와 하나 이상의 가상적 객체 사이의 시뮬레이션된 역학 상호 작용을 묘사한다.

Description

증강 현실 시뮬레이션 연속체{AUGMENTED REALITY SIMULATION CONTINUUM}
본 발명은 일반적으로 인간-컴퓨터 인터페이스에 관한 것으로, 특히, 증강 현실 디바이스(augmented reality device)에서 역학 상호 작용들(dynamic interactions)을 시뮬레이션하기 위한 기법에 관한 것이다.
비디오 게임이 처음 개발된 이래로 컴퓨터 그래픽 기술은 크게 진보해 왔다. 이제, 상대적으로 저렴한 3D 그래픽 엔진이, 단지 수백 달러의 비용이 드는 핸드헬드 비디오 게임, 홈 비디오 게임 및 개인용 컴퓨터의 하드웨어 플랫폼에서 거의 사진과 동일한 대화형 게임 플레이를 제공한다. 이러한 비디오 게임 시스템은 일반적으로 핸드-헬드 컨트롤러, 게임 컨트롤러, 또는 핸드-헬드 비디오 게임 플랫폼의 경우에는, 통합 컨트롤러를 포함한다. 사용자 또는 플레이어는 플레이 중인 비디오 게임이나 다른 시뮬레이션을 제어하기 위해 비디오 게임 시스템에 커맨드들(commands)이나 다른 명령어들(instructions)을 전송하는 컨트롤러를 사용한다. 예를 들어, 컨트롤러는 사용자에 의해 동작되는 매니퓰레이터(예컨대, 조이스틱) 및 버튼을 갖출 수 있다.
많은 핸드-헬드 게임 디바이스는, 물리적, 현실 세계 장면의 일련의 이미지들 또는 하나의 이미지를 캡처하는데 사용될 수 있는 일부 형태의 카메라 디바이스를 포함한다. 캡처된 이미지는, 그 다음, 예를 들어, 핸드-헬드 게임 디바이스의 디스플레이에 표시될 수 있다. 증강 현실 디바이스에서, 이러한 캡처된 이미지들은, 가상적 객체와 같은, 추가적인 콘텐츠를 포함하도록 수정될 수 있다. 그러나, 사진 찍힌 물리적 객체가 일련의 프레임에 걸쳐 이동할 때, 이러한 물리적 객체는 삽입된 가상적 객체와 비사실적으로 (혹은 전혀) 상호 작용하는 것으로 보일 수 있다. 마찬가지로, 표시된 장면 내에서 가상적 객체가 이동할 때, 가상적 객체는 장면에 표시된 물리적 객체와 이상적인 방식으로 상호 작용할 수 없다.
실시예들은 증강 현실 디바이스를 사용하여 상호 작용들을 시뮬레이션하기 위한 방법, 증강 현실 디바이스 및 컴퓨터-판독 가능한 저장 매체를 제공한다. 방법, 증강 현실 디바이스 및 컴퓨터-판독 가능한 저장 매체는 표시를 위한 시각 장면을 캡처하는 것을 포함하고, 여기서 시각 장면은 하나 이상의 카메라 디바이스를 사용하여 캡처된다. 방법, 증강 현실 디바이스 및 컴퓨터-판독 가능한 저장 매체는 제1 물리적 객체와 하나 이상의 가상적 객체 사이의 역학 상호 작용(dynamic interaction)을 시뮬레이션하는 것을 더 포함한다. 방법, 증강 현실 디바이스 및 컴퓨터-판독 가능한 저장 매체는 또한 제1 물리적 객체와 하나 이상의 가상적 객체 사이의 시뮬레이션된 역학 상호 작용을 묘사하는, 표시를 위한 프레임들의 시퀀스를 렌더링하는 것을 포함한다.
따라서, 위에서 나열된 양태들이 달성되고 자세히 이해될 수 있는 방식으로, 위에서 간략하게 요약된, 본 발명의 실시예들에 대한 더 구체적인 설명이 첨부된 도면들을 참조하여 제공될 수 있다.
그러나, 첨부된 도면들은 본 발명의 단지 일반적인 실시예들을 설명하는 것으로, 따라서, 그의 범위를 제한하는 것으로 고려되어서는 안 되며, 본 발명에 대해 다른 동등하게 효과적인 실시예들이 인정될 수 있다는 것에 주목해야 한다.
도 1은, 여기에 설명된 하나의 실시예에 따른, 역학 시뮬레이션 컴포넌트(dynamics simulation component)로 구성된 증강 현실 디바이스(augmented reality device)를 도시하는 블록도이다.
도 2a-b는, 여기에 설명된 실시예들에 따른, 증강 현실 디바이스들을 도시하는 다이어그램이다.
도 3은, 여기에 설명된 하나의 실시예에 따른, 증강 현실 디바이스를 도시 하는 다이어그램이다.
도 4는, 여기에 설명된 하나의 실시예에 따른, 증강 현실 디바이스에서 가상적 객체들과 물리적 객체들 사이의 상호 작용들의 역학을 시뮬레이션하는 방법을 도시하는 흐름도이다.
도 5는, 여기에 설명된 하나의 실시예에 따른, 역학 시뮬레이션 컴포넌트로 구성된 증강 현실 디바이스를 도시하는 블록도이다.
여기에 설명된 실시예들은 일반적으로 증강 현실 디바이스(augmented reality device)에 콘텐츠를 표시하기 위한 기법에 관한 것이다. 여기에 사용된, 증강 현실 디바이스는, 환경의 표시된 뷰(view) 내의 요소들을 변경하는 동안, 물리적, 현실 세계 환경의 실시간 뷰를 표시할 수 있는 임의의 디바이스를 지칭한다. 이로써, 가상 세계의 뷰를 표시하는 가상 현실 디바이스와는 달리, 증강 현실 디바이스는 컴퓨터 그래픽 기술을 사용하여 현실 세계이지만 증강 요소들의 뷰를 표시한다. 현실 세계의 이러한 증강 뷰(augmented view)는 여기에서는 "증강 현실 세계(augmented reality world)" 또는 "증강 현실 공간(augmented reality space)"으로 지칭될 수 있다.
이러한 증강 현실 디바이스는 현실 세계 환경의 뷰를 캡처하는데 사용된 카메라 디바이스(또는 다수의 카메라 디바이스)를 포함할 수 있고, 캡처된 장면의 요소들을 증강하도록 구성된 컴퓨터 소프트웨어 및/또는 하드웨어를 더 포함할 수 있다. 예를 들어, 증강 현실 디바이스는, 테이블의 맨 위에 놓인 커피 컵에 대한 일련의 이미지를 캡처할 수 있고, 일련의 이미지를 수정하여 커피 컵이 애니메이션 카툰 캐릭터로 표시될 수 있고, 수정된 일련의 이미지를 현실 세계에서 사용자에게 표시할 수 있다. 따라서, 사용자가 증강 현실 디바이스에서 볼 때, 사용자는 사용자가 위치한 물리적 현실 세계 환경의 증강 뷰를 본다. 위의 예에 이어, 사용자가 서로 다른 각도들로부터의 테이블 위의 물리적 커피 컵에서 증강 현실 디바이스의 카메라를 포인팅하면, 사용자는 증강 현실 디바이스에 표시된 가상 카툰 커피 컵의 서로 다른 각도들을 볼 수 있다.
증강 현실 디바이스에 대한 하나의 도전 과제는, 증강 현실 디바이스에 표시된 가상적 객체가 물리적인 현실 세계 환경 내의 객체들과 사실적으로 상호 작용할 수 없다는 것이다. 즉, 가상적 객체들이 캡처된 장면 내의 물리적 객체들에 더해 또는 그 대신 캡처된 장면에만 단지 삽입되는 증강 현실 디바이스에서, 이러한 디바이스는 가상적 및 물리적 객체들 사이의 상호 작용을 사실적으로 표시할 수 없거나, 이러한 상호 작용으로 인한 역학 효과를 설명할 수 없다. 여기에서 설명된 바와 같이, 역학은, 객체에 적용되는 에너지 또는 힘의 결과인, 객체(물리적 및 가상적 객체를 모두 포함)의 모션을 지칭한다. 예를 들어, 애니메이션 커피 컵이 물리적 객체에 의한 상호 작용에 사실적인 방식으로 응답할 수 없는 경우, 임의의 역학 시뮬레이션을 수행하지 않고 애니메이션 카툰 커피 컵과 물리적 테이블 상의 커피 컵을 대체하도록 구성된 증강 현실 디바이스는 물리적 객체(예컨대, 사용자의 손)와 삽입된 카툰 커피 컵 사이에 덜 사실적인 상호 작용을 묘사하게 될 수 있다. 또 다른 예로서, 물리적 객체(예컨대, 물리적 공)가, 임의의 상호 작용 없이, 가상적 공을 통해 단순히 이동(또는 그 반대)하는 것으로 나타날 수 있는 경우, 가상적 공의 역학을 설명하지 않고 시각 장면(visual scene)에 가상적 공을 삽입하는 증강 현실 디바이스는 사용자에게 덜 사실적으로 나타날 수 있다.
여기에 설명된 실시예들은 증강 현실 디바이스를 사용하여 상호 작용을 시뮬레이션하기 위한 기법을 제공하고 설명한다. 예를 들어, 핸드헬드 디바이스에 상주하는 소프트웨어가 표시를 위한 시각 장면을 수신할 수 있다. 이러한 시각 장면은, 예를 들어, 물리적 현실 세계 환경을 묘사하고 증강 현실 디바이스의 하나 이상의 카메라를 사용하여 캡처된 복수의 프레임을 포함할 수 있다. 소프트웨어는 또한 시각 장면 내의 물리적 객체를 식별할 수 있다. 예로서, 소프트웨어는 캡처된 시각 장면 내에서 테이블 상에 놓인 공을 식별할 수 있다. 추가로, 소프트웨어는 장면 내에서 표시할 하나 이상의 가상적 객체를 식별할 수 있다. 예를 들어, 특정한 증강 현실 디바이스가 장면에 가상적 공을 삽입하도록 구성될 수 있다. 소프트웨어는 시각 장면 내의 물리적 객체와 하나 이상의 가상적 객체 사이의 상호 작용의 역학을 시뮬레이션할 수 있다.
예를 들어, 물리적 공이 증강 현실 디바이스에 표시된 시각 장면에서 가상적 공과 충돌하는 것으로 나타나도록, 사용자는 테이블 상의 물리적 공을 물리적으로 굴릴 수 있다. 이러한 시나리오에서, 증강 현실 디바이스는, 물리적 공이 증강 현실 디바이스에 의해 표시된 증강 현실 장면 내에서 가상적 공과 언제 충돌하는지를 결정하는 역학 시뮬레이션 컴포넌트로 구성될 수 있다. 이 경우, 역학 시뮬레이션 컴포넌트는 역학 규칙 세트를 사용하여 가상적 공의 반응을 시뮬레이션하고, 증강 현실 디바이스의 가상적 공의 반응을 표시할 수 있다. 예를 들어, 증강 현실 디바이스는, 물리적 공과 충돌하는 가상적 공에 응답하여, 테이블을 가로 질러 굴러가는 가상적 공을 묘사할 수 있다. 이렇게 하면, 증강 현실 디바이스에 보다 사실적인 증강 현실 장면을 제공하여, 결과적으로 증강 현실 디바이스와 사용자의 상호 작용을 향상시킬 수 있다.
특정한 실시예에서, 증강 현실 디바이스의 소프트웨어는 장면 내에서 물리적 표면에 대한 하나 이상의 물리적 특성을 결정할 수 있다. 예를 들어, 그러한 물리적 특성은 마찰의 측정(measure of friction), 표면 장력의 측정(measure of surface tension), 및 물리적 표면의 변형성의 측정(measure of deformability of the physical surface)을 포함할 수 있다. 소프트웨어는 물리적 표면의 하나 이상의 물리적 특성에 대한 정보로 미리 구성될 수 있다. 하나의 실시예에서, 소프트웨어는 표면의 다른 속성들에 기초하여 표면의 물리적 특성들을 결정하도록 구성된다. 예를 들어, 소프트웨어는, 빛나는 반사면(shiny specular surfaces)이 더 낮은 마찰 계수를 나타낸다(예컨대, 얼음 조각의 표면)고 결정할 수 있다. 그 다음, 소프트웨어의 가상적 및 물리적 객체 사이의 상호 작용의 시뮬레이션은 이렇게 결정된 물리적 특성에 부분적으로 기초한 것일 수 있다. 예로서, 가상적 거미는 낮은 마찰 계수(예컨대, 얼음 조각)를 갖는 물리적 표면을 가로 질러 걷는 것으로 증강 현실 디바이스에서 묘사될 수 있다. 그 다음, 소프트웨어는, 가상적 거미가 물리적 표면을 가로 질러 나아감에 따라 미끄러지거나 심지어 떨어지는 것으로 나타나도록, 가상적 거미의 행동을 조정할 수 있다. 바람직하게는, 이렇게 하면, 사용자의 증강 현실 경험의 리얼리즘을 향상시킨다.
도 1은, 본 발명의 하나의 실시예에 따른, 역학 시뮬레이션 컴포넌트로 구성된 증강 현실 디바이스를 도시하는 블록도이다. 도시된 바와 같이, 증강 현실 디바이스(100)는 역학 시뮬레이션 컴포넌트(110) 카메라 디바이스(120), 디스플레이디바이스(130) 및 가속도계(140)를 포함한다. 일반적으로, 역학 시뮬레이션 컴포넌트(110)는 (예컨대, 디스플레이 디바이스(130)에) 표시될 때 증강 현실 장면의 리얼리즘을 향상시키기 위해 현실 세계 환경의 캡처된 장면 내의 물리적 객체와 가상적 객체 사이의 상호 작용을 검출하고 이러한 상호 작용의 역학을 시뮬레이션하도록 구성된다. 카메라 디바이스(120)는 시각 장면을 캡처하기 위한 카메라를 포함할 수 있다. 여기에 사용된, 시각 장면(visual scene)은, 디바이스(100)가 사용되는 현실 세계 환경의 뷰(들)를 지칭한다. 예를 들어, 시각 장면은 현실 세계 환경의 일련의 이미지들(또한 여기에서는 "프레임들"로 지칭됨)일 수 있다. 카메라 디바이스(120)는 하나 이상의 사용자-직면 카메라(user-facing camera)를 포함할 수 있다. 일반적으로, 가속도계(140)는 증강 현실 디바이스(100)의 물리적 (또는 적절한) 가속도를 측정할 수 있는 디바이스이다.
위에서 설명된 바와 같이, 역학 시뮬레이션 컴포넌트(110)는 증강 현실 디바이스(100)에 표시된 증강 현실 장면 내의 물리적 객체와 가상적 객체 사이의 상호 작용을 시뮬레이션하도록 구성될 수 있다. 이렇게 하는 경우에, 역학 시뮬레이션 컴포넌트(110)는 캡처된 시각 장면 내의 물리적 객체를 식별할 수 있다. 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 캡처된 시각 장면 내에서 미리 정의된 특정 객체를 인식하도록 구성될 수 있다. 예로서, 역학 시뮬레이션 컴포넌트(110)는 물리적 객체의 특정한 특성(예컨대, 모양, 색상, 패턴 등)에 기초하여 시각 장면 내에서 특정한 물리적 객체(예컨대, 공)를 식별하도록 미리 구성될 수 있다.
하나의 실시예에서, 역학 시뮬레이션 컴포넌트(110)는 캡처된 시각 장면 내의 물리적 객체의 깊이를 추정하도록 더 구성된다. 즉, 캡처된 시각 장면이 복수의 2-차원 프레임으로 구성될 수 있더라도, 이러한 2-차원 프레임들은 3-차원 공간(예컨대, 증강 디바이스가 위치한 물리적 환경)을 나타낸다. 따라서, 역학 시뮬레이션 컴포넌트(110)는 3-차원 공간 내의 물리적 객체의 깊이를 결정하기 위해 캡처된 시각 장면을 분석할 수 있다. 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 객체에 대한 기하학적 정보에 기초하여 미리 정의된 특정 물리적 객체를 인식하도록 구성될 수 있다. 이러한 기하학적 정보는, 역학 시뮬레이션 컴포넌트(110)가 사용가능한 기하학적 정보에 의해 장면에서 객체들을 비교할 수 있도록, 예를 들어, 미리 정의된 물리적 객체의 모양과 크기를 포함할 수 있다. 역학 시뮬레이션 컴포넌트(110)는 시각 장면 내의 물리적 객체의 깊이를 결정하기 위해 기하학적 정보를 사용할 수 있다. 예로서, 기하학적 정보는, 특정 공의 직경이 3인치이고 시각 장면이 공의 유형에 대한 두 가지 인스턴스를 포함한다는 것, 즉, 첫 번째 인스턴스는 10 픽셀을 사용하여 시각 장면을 표시하고, 두 번째 인스턴스는 50 픽셀을 사용하여 시각 장면을 표시한다는 것을 나타낸다고 가정한다. 이러한 예에서, 기하학적 정보가, 두 개의 물리적 공이 동일한 크기이지만 첫 번째 인스턴스가 두 번째 인스턴스보다 더 적은 픽셀을 사용하여 표현됨에 따라, 역학 시뮬레이션 컴포넌트(110)는, 공의 첫 번째 인스턴스가 공의 두 번째 인스턴스보다 카메라에서 더 멀리 떨어져 있다고 결정할 수 있다.
물리적 객체가 장면 내에서 식별될 때, 역학 시뮬레이션 컴포넌트(110)는 시간이 지남에 따라 물리적 객체의 모션(motion)이나 이동(movement)(있는 경우)을 관찰할 수 있다. 하나의 실시예에서, 역학 시뮬레이션 컴포넌트(110)는 물리적 객체의 속도를 결정하도록 구성된다. 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 시각 장면을 구성하는 복수의 캡처된 프레임에 걸쳐 물리적 객체를 모니터링할 수 있고 물리적 객체의 스피드 및 궤도를 결정할 수 있다.
추가로, 역학 시뮬레이션 컴포넌트(110)는 (예컨대, 디스플레이(130)를 사용하여) 증강 현실 디바이스(100)에 표시된 시각 장면에 포함할 하나 이상의 가상적 객체를 식별한다. 예로서, 역학 시뮬레이션 컴포넌트(110)는 시각 장면 내에서 가상적 공을 표시하도록 결정할 수 있다. 물론, 이러한 예는, 제한 없이, 단지 예시적인 설명을 위해 제공되고, 더 일반적으로, 가상적 객체는 가상적 장면 내에 표시될 수 있는 임의의 가상적 객체일 수 있다. 또한, 역학 시뮬레이션 컴포넌트(110)는 가상적 객체에 대한 역학 속성들(dynamics properties) 및 이동학(kinematics), 예컨대, 스피드, 가상적 객체들의 속도, 가상적 객체들 등을 식별하도록 구성될 수 있다.
그 다음, 역학 시뮬레이션 컴포넌트(110)는, 시각 장면 내의 물리적 객체와 하나 이상의 가상적 객체 사이에서 상호 작용이 언제 발생하는지를 결정한다. 일반적으로 말해서, 상호 작용은, 증강 현실 디바이스(100)에 표시된 장면으로 표현된 3-차원 증강 현실 공간 내에서, 물리적 객체와 가상적 객체(들)가 서로를 터치하거나 그렇지 않으면 서로에게 힘을 부과할 때 발생한다. 예를 들어, 물리적 공과 가상적 공은, 두 개의 공이 3-차원 증강 현실 공간 내에서 서로 충돌할 때 상호 작용한다고 할 수 있다. 또 다른 예로서, 가상적 동물이 물리적 테이블 상단에 서 있는 것으로 표시되는 실시예에서, 사용자는 가상적 동물이 묘사된 위치에서 테이블 상단으로 자신의 손을 이동하여 가상적 동물과 상호 작용할 수 있다. 또 다른 예로서, 가상적 공은 테이블 밖으로 굴러가도록 렌더링될 수 있는데, 여기서, 공의 스피드의 레이트는 테이블 밖으로 굴러가는 물리적 공에 작용하는 중력의 실제 힘을 모방한다.
하나의 실시예에서, 역학 시뮬레이션 컴포넌트(110)는 (예컨대, 물리적 객체에 대해 미리 정의된 기하학적 정보를 사용하여) 캡처된 시각 장면에 의해 표현된 3-차원 공간 내의 물리적 객체의 깊이를 결정하고, 3-차원 증강 현실 공간 내에서 가상적 객체의 깊이(즉, 3-차원 위치)를 더 결정한다. 역학 시뮬레이션 컴포넌트(110)는 그 다음 가상적 및 물리적 객체 사이의 보다 사실적인 상호 작용을 묘사하는 애니메이션을 렌더링하기 위해 깊이 값을 사용할 수 있다. 예를 들어, 제1 객체가 제2 객체보다 3-차원 공간 내에서 카메라에 더 가까운 경우에, 제1 객체는 제2 객체와 충돌하기 보다는 제2 객체를 단순히 막는다. 즉, 역학 시뮬레이션 컴포넌트(110)는 3-차원 공간의 3개의 축 모두를 고려하기 위해 깊이 정보를 사용할 수 있다.
상호 작용이 물리적 객체와 하나 이상의 가상적 객체 사이에 발생한 것으로 결정되면, 역학 시뮬레이션 컴포넌트(110)는 객체들 사이의 상호 작용을 모델링하기 위해 역학 시뮬레이션을 수행할 수 있다. 예를 들어, 물리적 공이 가상적 공과 충돌하는 실시예에서, 역학 시뮬레이션 컴포넌트(110)는 물리 공과의 사실적인 충돌을 시뮬레이션하는 것과 같은 방식으로 가상적 공을 이동하도록 구성될 수 있다. 예로서, 역학 시뮬레이션 컴포넌트(110)는, 물리적 공과의 충돌로부터 가상적 공에 부과된 가상적 힘을 계산하기 위해 현실 세계 물리학을 모델링하는 역학 규칙 세트를 가상적 공에 적용할 수 있고, 역학 시뮬레이션 컴포넌트(110)는 또한 가상적 공에 대한 가상적 힘의 효과를 결정하기 위해 규칙을 적용할 수 있다. 하나의 실시예에서, 이러한 역학 규칙은 물리학의 현실 세계 규칙을 모델링하는 한편, 그것은 다른 역학 시스템(예컨대, 저 중력(low gravity), 무중력(no gravity) 등)에서 광범위하게 고려된다.
특정한 실시예에서, 물리적 객체와 하나 이상의 가상적 객체 사이의 상호 작용을 검출한 후에, 역학 시뮬레이션 컴포넌트(110)는, 증강 현실 세계에서의 가상적 객체와의 상호 작용을 시뮬레이션하기 위해 현실 세계에서의 물리적 객체에 힘을 적용할 수 있다. 예를 들어, 물리적 객체는 표면 컨트롤러에 의해 조작될 수 있는 제어 표면에서 구르는 공일 수 있다. 물리적 및 가상적 객체 사이의 상호 작용의 검출에 응답하여, 역학 시뮬레이션 컴포넌트(110)는 (예컨대, 표면 내의 로터들(rotors), 표면 및/또는 공 내의 자석들 등을 사용하여) 제어된 표면을 통해 물리적 공에 힘을 적용하기 위해 컨트롤러에 메시지를 전송할 수 있다. 하나의 실시예에서, 물리적 객체 자체는 요청에 응답하여 그 자신의 이동을 조작하도록 구성된다. 예를 들어, 물리적 공은 공의 모션을 변경할 수 있는 자이로스코프로 구성될 수 있다. 그러한 실시예에서, 역학 시뮬레이션 컴포넌트(110)는, 예를 들어, 물리적 공이 증강 현실 공간 내의 가상적 객체와 언제 충돌하는지를 검출할 수 있고, 물리적 공 내의 컨트롤러에 신호를 전송할 수 있어, 컨트롤러에게 자이로스코프를 활성화하고 물리적 공의 궤도를 변경하게 하도록 지시한다. 결과적으로, 증강 현실 디바이스(100)를 통해 물리적 공을 보는 사용자는 가상적 공과 상호 작용하는 물리적 공을 인식할 수 있고, 이로써, 사용자를 위한 보다 사실적인 증강된 현실 경험을 만들 수 있다.
도 2a-b는 여기에 설명된 실시예들에 따른 증강 현실 디바이스를 도시하는 예를 제공한다. 도 2a는, 그 위에서 물리적 공(225)이 시작 포인트(220)로부터 굴러가는 테이블(215), 및 디스플레이(210)를 갖는 증강 현실 디바이스(100)를 포함하는 장면(200)을 도시한다. 묘사된 바와 같이, 증강 현실 디바이스(100)의 디스플레이(210)는, 시작 포인트(220)의 시작 위치 가상적 표현(212)에 의해, 물리적 공(225)의 가상적 표현(216)을 보여준다. 추가로, 디스플레이(210)는, 시작 포인트(214)로, 가상적 공(218)을 보여준다.
장면(200)에서, 물리적 공(225)이 그의 시작 포인트(220)로부터 굴러가는 경우, 가상적 표현(216)은 디스플레이(210) 상의 그의 시작 포인트(212)에서 움직이지 않았다. 그러나, 교차 포인트(222)에서, 가상적 표현(216)은 가상적 공의 시작 포인트(214)에서 가상적 공(218)과 충돌한다. 가상적 표현(216)과 가상적 공(218) 사이의 충돌을 검출하면, 역학 시뮬레이션 컴포넌트(110)는 가상적 표현(216)과 가상적 공(218) 사이의 상호 작용의 역학을 시뮬레이션하기 위해 가상적 공(218)의 이동을 조정할 수 있다. 따라서, 이 예에서, 역학 시뮬레이션 컴포넌트(110)는 가상적 표현(216)과 가상적 공(218)이 교차 포인트(222)에서 충돌한다고 결정하고, 그에 응답하여, 가상적 공(218)에 가상적 힘을 적용하여, 가상적 공(218)이 시작 포인트(214)로부터 굴러가게 한다. 이렇게 하면, 예컨대, 가상적 객체(예컨대, 가상적 공(218))가 증강 현실 디바이스(100) 상의 물리적 객체의 가상적 표현(예컨대, 가상적 표현(216))과 사실적으로 상호 작용하는 것을 가능하게 함으로써, 증강 현실 디바이스(100)와의 사용자 상호 작용을 향상시킬 수 있다.
하나의 실시예에서, 역학 시뮬레이션 컴포넌트(110)는 증강 현실 세계에 대한 역학 상호 작용을 정의하는 역학 규칙의 세트를 적용하도록 구성된다. 하나의 실시예에서, 역학 규칙의 세트는 증강 현실 세계 내의 객체에 현실 세계 물리학을 적용한다. 그러나, 이러한 예는 제한이 아니라 예시적인 목적을 위한 것으로, 보다 일반적으로, 역학 시뮬레이션 컴포넌트(110)는 증강 현실 세계에서의 상호 작용에 임의의 역학 규칙의 세트(예컨대, 저 중력 물리학(low gravity physics))를 적용하도록 구성될 수 있는 것으로 고려된다.
도 2b는 물리적 객체(및 그들의 가상적 표현) 및 가상적 객체가 상호 작용하는 또 다른 예를 도시한다. 더 구체적으로, 도 2b는, 물리적 공(230)이 그의 시작 포인트(220)로부터 굴러가서, 포인트(225)에서 그의 코스를 변경하는, 테이블(215)을 포함하는 장면(240)을 도시한다. 추가로, 장면(240)은 디스플레이 디바이스(210)를 갖는 증강 현실 디바이스(100)를 포함한다. 디스플레이 디바이스(210)는 물리적 공(230)과 가상적 공(260)의 가상적 표현(265)을 보여준다. 여기에서, 가상적 표현(265)은, 물리적 공(230)의 시작 포인트(220)에 대응하는, 시작 포인트(250)로부터 굴러가고, 가상적 표현(265)은 교차 포인트(255)에서 가상적 공과 충돌한다.
가상적 표현(265)과 가상적 공(260) 사이의 충돌을 검출하면, 역학 시뮬레이션 컴포넌트(110)는 충돌을 모델링하기 위해 역학 시뮬레이션을 수행하고, 그 결과, 가상적 공(260)은 그의 시작 포인트(245)로부터 굴러간다. 즉, 역학 시뮬레이션 컴포넌트(110)는, 교차 포인트(255)에서 발생하는 충돌이 가상적 공(260)에 가상적 힘을 부과한다고 결정하여, 가상 공(260)이 그의 원래 시작 위치(245)로부터 굴러가게 한다. 추가로, 역학 시뮬레이션 컴포넌트(110)는, 충돌의 결과로, 가상적 공(260)이 결국 가상적 표현(265)에 가상적 힘을 부과한다고 결정한다. 위에서 설명한 바와 같이, 역학 시뮬레이션 컴포넌트(110)는, 예를 들어, 제어된 표면(예컨대, 테이블(215)) 내의 로터들, 물리적 객체 내의 자이로스코프, 제어된 표면 및/또는 물리적 객체 내의 자석들 등을 사용하여 물리적 객체(예컨대, 물리적 공(230))의 이동을 변경하도록 구성될 수 있다. 더 일반적으로, 물리적 객체의 이동의 변경에 대한 임의의 메커니즘은, 여기에 설명된 기능성과 일관되는, 역학 시뮬레이션 컴포넌트(110)에 의해 사용될 수 있다는 것이 광범위하게 고려된다.
묘사된 예로 돌아가서, 역학 시뮬레이션 컴포넌트(110)는 물리적 공(230)에 가상적 힘을 적용하여, 따라서 교차 포인트(235)에서 물리적 공의 궤도를 변경(결국, 교차 포인트(255)에서 가상적 표현의 궤도를 변경)한다. 바람직하게는, 이렇게 하면, 가상적 객체가 증강 현실 디바이스에 표시된 현실 세계 객체의 역학에, 및 그 반대로, 영향을 미칠 수 있는 역학 연속체(dynamics continuum)를 만드는 것에 의해 증강 현실 디바이스(100)의 사용자를 위해 향상된 증강 현실 경험을 제공한다.
추가로, 역학 시뮬레이션 컴포넌트(110)는, 두 개의 물리적 객체 사이의 상호 작용(예컨대, 충돌)의 결과로서, 가상적 객체에 부과된 역학을 시뮬레이션하도록 구성될 수 있다. 예를 들어, 역학 시뮬레이션 컴포넌트(110)는, 가상 캐릭터가 물리적, 현실 세계 객체의 이동에 사실적으로 반응하도록, 증강 현실 공간 내의 가상적 캐릭터의 액션들을 조정하도록 구성될 수 있다. 도 3에 도시되는 이러한 예는, 여기에 설명된 하나의 실시예에 따른, 증강 현실 디바이스를 도시하는 다이어그램이다. 더 구체적으로, 장면(300)은 디스플레이(210)를 갖는 증강 현실 디바이스(100) 및 테이블(215)을 포함한다. 여기서, 제1 물리적 공(325) 및 제2 물리적 공(330)은 그들의 각각의 시작 위치(305 및 310)로부터 테이블(215)을 가로 질러 굴러가는 것으로 도시된다. 이러한 예를 위해, 물리적 공(325)은 시작 위치(305)에 놓이고, 공(330)은 그의 시작 위치(310)로부터 움직여서, 교차 포인트(320)에서 움직이지 않는 제1 공(325)과 충돌한다고 가정한다. 충돌의 결과로서, 물리적 공(325)은 그의 시작 위치(305)로부터 그의 현재 위치로 굴러가는 한편, 공(330)은 그의 묘사된 위치에 멈추기 전에 그의 궤도를 변경한다.
이 충돌은 또한 증강 현실 디바이스(100)의 디스플레이(210)에 도시되는데, 여기서, 제1 물리적 공(325)의 가상적 표현(360) 및 제2 물리적 공(330)의 가상적 표현(365)은 그들 각각의 시작 위치(345 및 340)로부터 테이블을 가로 질러 굴러가는 것으로 도시된다. 여기서, 가상적 표현(360)은 시작 위치(345)에 놓이고, 가상적 표현(365)은 그의 시작 위치(340)로부터 움직여서, 교차 포인트(355)에서 움직이지 않는 가상적 표현(360)과 충돌한다. 충돌의 결과, 가상적 표현(360)은 그의 시작 위치(345)로부터 그의 현재 위치로 굴러가는 한편, 가상적 표현(365)은 계속 굴러 가지만 그의 묘사된 위치에서 멈추기 전에 그의 궤도를 변경한다.
추가로, 증강 현실 디바이스(100)의 디스플레이(210)는 원래 위치(350)를 갖는 가상적 캐릭터(370)를 포함한다. 따라서, 현재 예를 위해, 가상적 캐릭터(370)는, 시작 위치(350)로 도시되는 바와 같이, 그의 시작 위치(345)에 있는 가상적 표현(360)의 상단에서 밸런싱하는 것으로 가정한다. 그러나, 가상적 표현(360)이 가상적 표현(365)과 충돌할 때, 묘사된 실시예에서의 역학 시뮬레이션 컴포넌트(110)는, 가상적 표현(360)의 상단에서 밸런스를 유지하기에는 가상적 표현(360)의 결과적인 모션이 가상적 캐릭터(370)에 대해 너무 빠르다고 결정한다. 그 결과, 가상적 캐릭터(370)는 그의 시작 위치(350)로부터 떨어져서, 묘사된 위치에서 멈춘다.
증강 현실 디바이스의 디스플레이(210)에 도시된 현실 세계 객체들의 이동 및 증강 현실 공간 내의 현실 세계 객체와 가상적 객체 사이의 상호 작용에 대한 시뮬레이션 역학을 모니터링하여, 실시예들은 사용자들을 위한 더 실감나고 사실적인 증강 현실 경험을 만들 수 있다. 예를 들어, 위의 예에 이어서, 사용자는 가상 캐릭터(370)가 위치한 위치에서 증강 현실 디바이스(100)의 앞에 자신의 손이 도달하게 할 수 있고, 역학 시뮬레이션 컴포넌트(110)는 캐릭터(370)와 사용자의 손 사이의 상호 작용의 역학을 시뮬레이션하기 위해 가상적 캐릭터의 액션들을 변경할 수 있다. 예를 들어, 사용자는 가상적 표현(360)에서 떨어지면 가상적 캐릭터(370)를 다시 픽업하기 위해 자신의 손을 사용할 수 있고, 가상적 캐릭터(370)를 다시 공(325)의 표현(360)의 상단에 배치할 수 있다. 바람직하게는, 이렇게 하면, 증강 현실 디바이스의 사용자를 위해 실감나는 경험을 만드는데 도움이 되고, 사용자가 실시간으로 디바이스에 도시된 가상적 객체들 및 캐릭터들과 상호 작용할 수 있고 가상적 객체들 및 캐릭터들은 그에 따라 사용자와의 상호 작용에 응답할 것이다.
참고로, 역학 시뮬레이션 컴포넌트(110)는, 증강 현실 장면의 물리적 및 가상적 객체와 가상적 캐릭터(370)의 상호 작용을 시뮬레이션할 때, 물리적 기반 규칙 세트를 모델링하도록 구성될 수 있다. 예를 들어, 캐릭터 팔, 다리 및 관절의 각각의 시뮬레이션된 행동은 중력이나 임의의 다른 외부 충격 힘의 존재를 설명할 수 있다. 바람직하게는, 이렇게 하면, 증강 현실 환경 내의 가상적 캐릭터와 객체들 사이에 보다 사실적인 상호 작용을 제공한다. 추가로, 여기에 제공된 다양한 예는 현실 세계 물리학을 사용하지만, 증강 현실 세계는 물리학의 다른 규칙을 사용할 수 있다는 것이 광범위하게 고려된다. 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 현실 세계에 비해 낮은 중력 계수를 사용하여 증강 현실 세계 내의 가상적 캐릭터와 객체들 사이의 상호 작용을 시뮬레이션하도록 구성될 수 있다. 더 일반적으로, 실시예는 여기에 설명된 기능성과 일관되는 임의의 물리적 기반 규칙들을 사용하도록 구성될 수 있다.
도 4는, 하나의 실시예에 따른, 증강 현실 디바이스에서 가상적 객체와 물리적 객체 사이의 상호 작용의 역학을 시뮬레이션하는 방법을 도시하는 흐름도이다. 도시된 바와 같이, 방법(400)은 단계 410에서 시작하고, 여기서, 증강 현실 디바이스가 장면을 캡처한다. 위에서 논의된 바와 같이, 시각 장면은 증강 현실 디바이스의 카메라를 사용하여 캡처된 일련의 프레임(즉, 이미지)일 수 있다. 그 다음, 역학 시뮬레이션 컴포넌트(110)는 장면 내의 물리적 객체를 식별한다(단계 415). 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 객체의 미리 정의된 특성에 기초하여 특정 객체를 인식하도록 구성될 수 있다. 이러한 특성은, 제한 없이, 객체들의 색상, 모양, 텍스처 등을 포함할 수 있다.
도시된 실시예에서, 역학 시뮬레이션 컴포넌트(110)는 시각 장면 내에 표시될 하나 이상의 가상적 객체를 식별한다(단계 420). 물론, 위에서 논의된 참조 예들은 가상적 공 및 가상적 캐릭터에 관련된 것이지만, 이러한 예는 제한이 아니라 예시적인 목적으로 제공된다. 또한, 여기에 설명된 실시예들은 시각 장면에 삽입될 수 있고 증강 현실 디바이스에 표시될 수 있는 임의의 가상적 객체와 함께 사용될 수 있다는 것이 광범위하게 고려된다.
식별된 물리적 객체 각각에 대해, 역학 시뮬레이션 컴포넌트(110)는 대응하는 속도(즉, 스피드 및 궤도)를 결정한다(단계 430). 예를 들어, 역학 시뮬레이션 컴포넌트(110)는, 자신의 현실 세계 물리적 치수(real-world physical dimensions)와 같은, 특정 물리적 객체의 기하학적 특성을 설명하는 기하학적 정보를 저장할 수 있다. 역학 시뮬레이션 컴포넌트(110)는 시각 장면 내에서 식별된 물리적 객체의 깊이를 결정하기 위해 이러한 기하학적 정보를 사용할 수 있다. 추가로, 이러한 정보는 (예컨대, 일련의 프레임에 걸친 객체의 위치를 모니터링하여) 이러한 객체의 현실 세계 속도를 결정하는데 사용될 수 있다.
도시된 바와 같이, 역학 시뮬레이션 컴포넌트(110)는 하나 이상의 가상적 객체와 상호 작용하는 하나 이상의 물리적 객체의 역학을 모델링하기 위해 이러한 속도 정보를 사용한다(단계 435). 예를 들어, 시뮬레이션 컴포넌트(110)가, 물리적 공이 증강 현실 공간 내에서 가상적 공과 충돌한다고 결정할 때, 가상적 공에 적용하는 가상적 힘의 양을 결정하기 위해 물리적 공이 이동하는 속도를 사용할 수 있다. 이러한 가상적 힘 정보는 (예컨대, 가상적 공이 물리적 공과의 충돌의 결과로 굴러가게 하는) 가상적 공의 모션을 변경하는데 사용될 수 있다.
추가로, 이러한 예에서, 역학 시뮬레이션 컴포넌트(110)는 또한 가상적 객체 중 적어도 하나와 상호 작용하는 물리적 객체를 시뮬레이션하기 위해 적어도 하나의 물리적 객체의 경로를 조정할 수 있다(단계 440). 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 메시지를 물리적 객체 내 컨트롤러에 전송하여, 가상적 객체와 충돌의 결과로 물리적 객체가 특정 방향으로 이동하도록 지시할 수 있다. 또 다른 예로서, 역학 시뮬레이션 컴포넌트(110)는 물리적 객체가 위치하는 표면과 관련된 컨트롤러에게 메시지를 전송할 수 있어, (예컨대, 표면 및/또는 물리적 객체 내의 자석을 사용하여) 충돌의 결과로 물리적 객체의 모션을 변경하도록 표면에 지시한다. 물론, 이러한 예는 제한이 아닌 단지 예시적인 목적으로 제공되는 것으로, 더 일반적으로, 여기에 설명된 기능성과 일관되는, 물리적 객체의 모션을 변경하기 위한 임의의 메커니즘이 사용될 수 있다는 것이 광범위하게 고려된다.
위에서 논의된 바와 같이, 하나의 실시예에서, 역학 시뮬레이션 컴포넌트(110)는 장면 내에서 물리적 표면의 하나 이상의 물리적 특성을 결정할 수 있다. 그러한 물리적 특성은, 제한 없이, 마찰의 측정, 표면 장력의 측정, 및 물리적 표면의 변형성의 측정을 포함할 수 있다. 역학 시뮬레이션 컴포넌트(110)는 물리적 표면의 하나 이상의 물리적 특성에 대한 정보로 미리 구성될 수 있다. 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 장면 내의 표면의 유형을 식별할 수 있고, 그 다음, 식별된 표면에 대한 미리 구성된 물리적 특성 정보에 액세스할 수 있다. 하나의 실시예에서, 역학 시뮬레이션 컴포넌트(110)는 표면의 다른 속성에 기초하여 표면의 물리적 특성을 결정하도록 구성된다. 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 빛나는 반사 표면이 낮은 마찰 계수(예컨대, 얼음 조각의 표면)를 나타낸다고 결정할 수 있다. 그 다음, 역학 시뮬레이션 컴포넌트(110)는 이렇게 결정된 물리적 특성에 부분적으로 기초하여 가상적 및 물리적 객체 사이의 상호 작용을 시뮬레이션할 수 있다. 예를 들어, 위에서 논의된 바와 같이, 가상적 거미가 낮은 마찰 계수(예컨대, 얼음 조각)를 갖는 물리적 표면을 가로 질러 걷는 경우가 증강 현실 디바이스에 묘사될 수 있다. 역학 시뮬레이션 컴포넌트(110)는, 가상적 거미가 물리적 표면을 가로 질러 나아갈 때 미끄러지거나 심지어 떨어지는 것으로 나타나도록 가상적 거미의 행동을 조정할 수 있다. 바람직하게는, 이렇게 하면, 사용자의 증강 현실 경험의 리얼리즘을 향상시킨다.
단계 445에서, 역학 시뮬레이션 컴포넌트(110)는 장면 내에 존재하는 객체들과 가상적 객체들 사이의 모델링된 상호 작용을 설명하는 시각 장면의 프레임들을 증강 현실 디바이스 상에 렌더링한다. 바람직하게는, 실시예들은 증강 현실 디바이스의 사용자를 위한 보다 사실적인 증강된 현실 경험을 만드는데 도움이 된다. 이는, 결국, 사용자가 증강 현실 디바이스 상에 표시된 가상적 객체와 상호 작용하기 위해 물리적 객체(예컨대, 사용자의 손)를 사용할 수 있음에 따라, 사용자를 위한 보다 실감나는 경험을 만든다.
도 5는, 여기에 설명된 하나의 실시예에 따른, 역학 시뮬레이션 컴포넌트로 구성된 증강 현실 디바이스를 도시하는 블록도이다. 이 예에서, 증강 현실 디바이스(100)는, 제한 없이, 프로세서(500), 저장소(505), 메모리(510), I/O 디바이스(520), 네트워크 인터페이스(525), 카메라 디바이스(120), 디스플레이 디바이스(130) 및 가속도계 디바이스(140)를 포함한다. 일반적으로, 프로세서(500)는 메모리(510)에 저장된 프로그래밍 명령어들을 검색 및 실행한다. 프로세서(500)는 단일 CPU, 다수의 CPU, 다수의 프로세싱 코어를 갖는 단일 CPU, 다수의 실행 경로를 갖는 GPU 등을 나타내도록 포함된다. 메모리(510)는 일반적으로 랜덤 액세스 메모리를 나타내는 것으로 포함된다. 네트워크 인터페이스(525)는 증강 현실 디바이스(100)가 데이터 통신 네트워크(예컨대, 유선 이더넷 접속 또는 802.11 무선 네트워크)에 접속하는 것을 가능하게 한다. 또한, 묘사된 실시예는 특정한 증강 현실 디바이스(100)의 컴포넌트를 도시하는 한편, 당업자는 증강 현실 디바이스가 다양한 서로 다른 하드웨어 아키텍처를 사용할 수 있다는 것을 인식할 것이다. 또한, 본 발명의 실시예들은 여기에 설명된 기능들을 수행할 수 있는 임의의 디바이스 또는 컴퓨터 시스템을 사용하여 구현될 수 있다는 것이 명백히 고려된다.
메모리(510)는 필요한 프로그램과 데이터 구조를 보유하기에 충분히 큰 임의의 메모리를 나타낸다. 메모리(510)는 랜덤 액세스 메모리, 비 휘발성 또는 백업 메모리(예컨대, 프로그램가능한 또는 플래시 메모리, 판독-전용 메모리 등)를 포함하는 메모리 디바이스들 중 하나 또는 조합일 수 있다. 또한, 메모리(510) 및 저장소(505)는 다른 곳, 예를 들어, 증강 현실 디바이스(100)에 통신가능하게 결합된 또 다른 컴퓨터에 물리적으로 위치한 메모리를 포함하는 것으로 간주될 수 있다. 예시적으로, 메모리(510)는 역학 시뮬레이션 컴포넌트(110) 및 운영 체제(515)를 포함한다. 운영 체제(515)는 일반적으로 증강 현실 디바이스(100)에서 애플리케이션 프로그램의 실행을 제어한다. 운영 체제(515)의 예는 UNIX, 마이크로 소프트 윈도우® 운영 체제의 버전, 및 리눅스® 운영 체제의 배포를 포함한다(참고: 리눅스는 미국 및 기타 국가에서 사용되는 Linus Torvalds의 상표이다). 운영 체제(515)의 추가적인 예는, 닌텐도 DS®와 소니 PSP®와 같은 시스템에 대한 사용자 정의 운영 체제를 포함하는 게임 콘솔에 대한 사용자 정의 운영 체제를 포함한다.
I/O 디바이스(520)는 디스플레이, 키보드, 터치 스크린 등을 포함하는 매우 다양한 입력 및 출력 디바이스를 나타낸다. 예를 들어, I/O 디바이스(520)는 사용자 인터페이스를 제공하기 위해 사용되는 디스플레이 디바이스를 포함할 수 있다. 예로서, 디스플레이는 사용자가 (예컨대, 가상적 객체를 선택 및 제어하게 위해) 서로 다른 애플리케이션 및 애플리케이션 내의 옵션들을 선택할 수 있게 하는 터치 민감 표면을 제공할 수 있다. 추가로, I/O 디바이스(520)는 증강 현실 디바이스(100)를 제어하기 위한 버튼, 스위치 또는 다른 물리적 디바이스 메커니즘의 세트를 포함할 수 있다. 예를 들어, I/O 디바이스(520)는 증강 현실 디바이스(100)를 사용하여 플레이된 비디오 게임의 양태들을 제어하는데 사용된 방향성 버튼의 세트를 포함할 수 있다.
일반적으로, 역학 시뮬레이션 컴포넌트(110)는 (예컨대, 디스플레이(130)를 사용하여) 증강 현실 디바이스(100)에 의해 표시된 가상적 객체와 디바이스(100) 외부의 물리적 객체(예컨대, 카메라(120)를 사용하여 촬영된 물리적 공) 사이의 상호 작용을 제어한다. 역학 시뮬레이션 컴포넌트(110)는 표시를 위한 시각 장면을 수신할 수 있다. 예를 들어, 시각 장면은 증강 현실 디바이스(100)의 카메라(120)를 사용하여 캡처된 일련의 프레임일 수 있다. 역학 시뮬레이션 컴포넌트(110)는 시각 장면 내의 하나 이상의 물리적 객체를 식별할 수 있고, 시각 장면 내에 표시될 하나 이상의 가상적 객체를 더 식별할 수 있다. 역학 시뮬레이션 컴포넌트(110)는 또한 객체들이 언제 서로 상호 작용하는지를 결정하기 위해 물리적 객체와 가상적 객체의 이동을 모니터링할 수 있다. 그 다음, 역학 시뮬레이션 컴포넌트(110)는 시각 장면 내의 물리적 객체와 하나 이상의 가상적 객체 사이의 상호 작용의 역학을 시뮬레이션할 수 있다. 그 다음, 이러한 시뮬레이션의 출력은 디스플레이(130)를 사용하여 표시될 수 있다. 바람직하게는, 이렇게 하면, 물리적 객체가 증강 현실 디바이스(100)에 표시된 가상적 객체(및 그 반대)와 상호 작용할 수 있도록 하여 보다 사실적이고 실감나는 증강 현실 경험을 제공하는데 도움이 된다.
또한, 본 발명의 실시예에 대한 참조가 이루어진다. 그러나, 본 발명은 특정 기술된 실시예에 한정되지 않는다. 대신, 서로 다른 실시예들에 관련되든지 아니든지, 다음의 특징들 및 요소들의 임의의 조합이 본 발명을 구현하고 실행하는데 고려된다. 또한, 본 발명의 실시예들은 다른 가능한 솔루션들에 걸쳐 및/또는 종래 기술에 걸쳐 장점들을 달성할 수 있지만, 특정한 장점이 소정의 실시예에 의해 달성되든지 아니든지, 본 발명을 제한하지 않는다. 따라서, 전술한 양태, 특징, 실시예 및 장점은 단순히 예시적인 것으로 청구항(들)에 명시적으로 나열되는 경우를 제외하고 첨부된 청구항들의 요소들 또는 제한들로 간주되지 않는다. 마찬가지로, "본 발명"이라는 언급은 여기에 개시된 임의의 독창적인 요지의 일반화로서 해석되어서는 안 되고, 청구항(들)에 명시적으로 나열되는 경우를 제외하고 첨부된 청구항들의 요소들 또는 제한들로 간주되어서는 안 된다.
본 발명의 양태들은 시스템, 방법 또는 컴퓨터 프로그램 제품으로 구현될 수 있다. 따라서, 본 발명의 양태는 완전히 하드웨어 실시예의 형태, 완전히 소프트웨어 실시예의 형태(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함) 또는 여기에서 모두 일반적으로 "회로", "모듈", 또는 "시스템"으로 지칭될 수 있는 소프트웨어와 하드웨어 양태들을 조합하는 실시예의 형태를 취할 수 있다. 더욱이, 본 발명의 양태는 여기에서 구현된 컴퓨터 판독가능한 프로그램 코드를 갖는 하나 이상의 컴퓨터 판독가능한 매체(들)에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
하나 이상의 컴퓨터 판독가능한 매체(들)의 임의의 조합이 사용될 수 있다. 컴퓨터 판독가능한 매체는 컴퓨터 판독가능한 신호 매체 또는 컴퓨터 판독가능한 저장 매체일 수 있다. 컴퓨터 판독가능한 저장 매체는, 예를 들어, 이로 제한되는 것은 아니지만, 전자, 마그네틱, 광, 전자파, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스, 또는 상기의 임의의 적절한 조합일 수 있다. 컴퓨터 판독가능한 저장 매체의 보다 구체적인 예(비전면 목록(non-exhaustive list))는 다음과 같은 하나 이상의 와이어를 갖는 전기 접속, 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 소거가능 및 프로그램가능 판독-전용 메모리(EPROM 또는 플래시 메모리), 광 섬유, 휴대용 컴팩트 디스크 판독-전용 메모리(CD-ROM), 광 저장 디바이스, 자기 저장 디바이스, 또는 상기의 임의의 적절한 조합을 포함한다. 이 문서의 맥락에서, 컴퓨터 판독가능한 저장 매체는 명령어 실행 시스템, 장치 또는 디바이스와 함께 사용할 프로그램을 포함하거나 저장할 수 있는 임의의 유형의 매체일 수 있다.
컴퓨터 판독가능한 신호 매체는, 예를 들어, 베이스 밴드에서 또는 반송파의 일부로서, 거기에 구현된 컴퓨터 판독가능한 프로그램 코드로 전파된 데이터 신호를 포함할 수 있다. 이러한 전파된 신호는, 이로 제한되는 것은 아니지만, 전-자기, 광학, 또는 그들의 임의의 적절한 조합을 포함하는 임의의 다양한 형태를 취할 수 있다. 컴퓨터 판독가능한 신호 매체는 컴퓨터 판독가능한 저장 매체는 아니고 명령어 실행 시스템, 장치 또는 디바이스와 함께 또는 그에 의해 사용할 프로그램을 전달, 전파, 또는 전송할 수 있는 임의의 컴퓨터 판독가능한 매체일 수 있다.
컴퓨터 판독가능한 매체에서 구현된 프로그램 코드는, 이로 제한되는 것은 아니지만, 무선, 유선, 광 섬유 케이블, RF 등 또는 상기의 임의의 적절한 조합을 포함하는 임의의 적절한 매체를 사용하여 전송될 수 있다.
본 발명의 양태에 대한 동작들을 수행하기 위한 컴퓨터 프로그램 코드는, 자바, 스몰토크 C++ 등과 같은 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어와 같은 종래의 절차적 프로그래밍 언어를 포함하는, 하나 이상의 프로그래밍 언어의 임의의 조합으로 기록될 수 있다. 프로그램 코드는, 독립형 소프트웨어 패키지로서, 사용자의 컴퓨터에서 완전히, 사용자의 컴퓨터에서 부분적으로 실행할 수 있고, 사용자의 컴퓨터에서 부분적으로 및 원격 컴퓨터에서 부분적으로 또는 원격 컴퓨터 또는 서버에서 완전히 실행할 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 LAN(local area network) 또는 WAN(wide area network)를 포함하는 임의의 유형의 네트워크를 통해(예를 들어, 인터넷 서비스 공급자를 사용하여 인터넷을 통해) 사용자의 컴퓨터에 접속될 수 있고, 외부 컴퓨터로의 접속이 이루어질 수 있다.
본 발명의 양태들은 본 발명의 실시예들에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 위에서 설명된다. 흐름도 및/또는 블록도의 각 블록, 및 흐름도 및/또는 블록도에서 블록들의 조합은 컴퓨터 프로그램 명령어에 의해 구현될 수 있음을 이해할 것이다. 이러한 컴퓨터 프로그램 명령어는 범용 컴퓨터, 특수 목적 컴퓨터, 또는 머신을 생산하는 다른 프로그램가능 데이터 처리 장치의 프로세서에 제공될 수 있어, 컴퓨터나 다른 프로그램가능한 데이터 처리 장치의 프로세서를 통해 실행하는 명령어들은 흐름도 및/또는 블록도 블록 또는 블록들에서 지정된 기능/액트(functions/acts)를 구현하기 위한 수단을 만든다.
이러한 컴퓨터 프로그램 명령어들은 또한 컴퓨터 판독가능한 매체에 저장될 수 있어, 컴퓨터, 다른 프로그램가능한 데이터 처리 장치, 또는 다른 디바이스가 특정한 방식으로 기능하도록 지시할 수 있어, 컴퓨터 판독가능한 매체에 저장된 명령어들은 흐름도 및/또는 블록도 블록 또는 블록들에서 지정된 기능/액트를 구현하는 명령어들을 포함하는 제조의 아티클을 생산한다.
컴퓨터 프로그램 명령어들은 또한 컴퓨터, 다른 프로그램가능한 데이터 처리 장치, 또는 다른 디바이스에 로드될 수 있어, 일련의 동작 단계들이 컴퓨터, 다른 프로그램가능 장치 또는 다른 디바이스에서 수행되도록 할 수 있어, 컴퓨터 구현 프로세스를 생산하므로, 컴퓨터 또는 다른 프로그램가능 장치에서 실행하는 명령어들은 흐름도 및/또는 블록도 블록 또는 블록들에서 지정된 기능/액트를 구현하기 위한 프로세스들을 제공한다.
본 발명의 실시예는 클라우드 컴퓨팅 인프라스트럭처를 통해 최종 사용자에게 제공될 수 있다. 클라우드 컴퓨팅은 일반적으로 네트워크를 통한 서비스로서 확장 가능한 컴퓨팅 리소스(scalable computing resources)의 제공을 지칭한다. 더 공식적으로, 클라우드 컴퓨팅은 컴퓨팅 리소스와 그의 근본적인 기술적 아키텍처(underlying technical architecture)(예컨대, 서버, 저장소, 네트워크) 사이의 관념(abstraction)을 제공하는 컴퓨팅 능력으로서 정의될 수 있어, 최소한의 관리 노력 또는 서비스 제공자 상호 작용에 의해 신속하게 제공되고 릴리즈(release)될 수 있는 구성가능한 컴퓨팅 리소스의 공유 풀(shared pool)로의 편리한 온-디맨드 네트워크 액세스를 가능하게 한다. 따라서, 클라우드 컴퓨팅은 컴퓨팅 리소스를 제공하는데 사용되는 근본적인 물리적 시스템(또는 이러한 시스템들의 위치)에 관계없이, "클라우드"에서 사용자가 가상적 컴퓨팅 리소스(예컨대, 저장소, 데이터, 애플리케이션, 및 심지어 완전한 가상화된 컴퓨팅 시스템)에 액세스할 수 있도록 한다.
일반적으로, 클라우드 컴퓨팅 리소스는 유료로 사용자에게 제공되는데, 여기서, 사용자는 실제로 사용되는 컴퓨팅 리소스(예컨대, 사용자에 의해 소비되는 저장 공간의 양 또는 사용자에 의해 예시된 가상화된 시스템의 수)에 대해서만 청구된다. 사용자는 인터넷을 통해 언제 어디서나 클라우드에 있는 리소스 중 임의의 것에 액세스할 수 있다. 본 발명의 맥락에서, 사용자는 클라우드에서 사용가능한 기하학적 데이터에 액세스할 수 있다. 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 사용자에 의해 동작된 증강 현실 디바이스(100)에서 실행할 수 있고 사용자의 현재 환경에 속하는 기하학적 정보(예컨대, 사용자의 현재 환경 내의 물리적 객체의 치수)를 수집할 수 있다. 이러한 경우에, 역학 시뮬레이션 컴포넌트(110)는 저장을 위한 클라우드 내의 컴퓨팅 시스템에 수집된 데이터를 전송할 수 있다. 사용자가 다시 동일한 환경으로 돌아갈 때, 역학 시뮬레이션 컴포넌트(110)는 기하학적 데이터를 검색하기 위해 클라우드 내의 컴퓨터 시스템에게 쿼리할 수 있고, 그 다음, 검색된 데이터를 사용하여 사용자의 물리적 환경 내의 물리적 객체와 증강 실현 디바이스(100)에 표시된 가상적 객체 사이의 역학 시뮬레이션을 수행할 수 있다. 예를 들어, 역학 시뮬레이션 컴포넌트(110)는 캡처된 시각 장면 내의 물리적 객체의 깊이를 결정하기 위해 기하학적 정보를 사용할 수 있다. 이렇게 하면, 사용자가 클라우드에 접속된 네트워크(예컨대, 인터넷)에 부착된 임의의 디바이스 또는 컴퓨터 시스템으로부터의 이러한 정보에 액세스할 수 있도록 한다.
도면에서 흐름도 및 블록도는 본 발명의 다양한 실시예들에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현들의 아키텍처, 기능성 및 동작을 도시한다. 이와 관련하여, 흐름도 또는 블록도에서 각 블록은 지정된 논리적 기능(들)을 구현하기 위한 하나 이상의 실행가능한 명령어들을 포함하는 모듈, 세그먼트, 또는 코드의 부분을 나타낼 수 있다. 일부 대안적인 구현에서는, 블록에 나타낸 기능은 도면에서 나타난 순서와는 다른 순서로 발생할 수 있다. 예를 들어, 연속적으로 도시된 2개의 블록은, 사실, 실질적으로 동시에 실행될 수 있고, 또한 블록들은 때때로 수반된 기능성에 따라 역순으로 실행될 수 있다. 블록도 및/또는 흐름도의 각 블록, 및 블록도 및/또는 흐름도에서 블록들의 조합은, 지정된 기능들이나 액트들, 또는 특수 목적 하드웨어 및 컴퓨터 명령어의 조합을 수행하는 특수 목적의 하드웨어 기반 시스템에 의해 구현될 수 있다.
전술한 것은 본 발명 실시예들에 관한 것이지만, 그의 기본적인 범위에서 벗어나지 않고 본 발명의 다른 및 추가 실시예가 창안될 수 있고, 그의 범위는 다음의 청구항들에 의해 결정된다.

Claims (24)

  1. 증강 현실 디바이스(augmented reality device)를 사용하여 상호 작용을 시뮬레이션하기 위한 방법으로서,
    표시를 위한 시각 장면(visual scene)을 캡처하는 단계 - 상기 시각 장면은 제1 물리적 객체(physical object)를 포함하고, 상기 시각 장면은 하나 이상의 카메라 디바이스를 사용하여 캡처됨 - ;
    상기 증강 현실 디바이스의 하나 이상의 컴퓨터 프로세서의 동작에 의해, 상기 제1 물리적 객체와 하나 이상의 가상적 객체(virtual object) 사이의 역학 상호 작용(dynamic interaction)을 시뮬레이션하는 단계; 및
    상기 제1 물리적 객체와 상기 하나 이상의 가상적 객체 사이의 시뮬레이션된 역학 상호 작용을 묘사하는, 표시를 위한 프레임들의 시퀀스를 렌더링하는 단계
    를 포함하는 상호 작용 시뮬레이션 방법.
  2. 제1항에 있어서,
    상기 제1 물리적 객체에 대한 미리 정의된 기하학적 정보(geometry information)를 식별하는 단계 - 상기 미리 정의된 기하학적 정보는 상기 제1 물리적 객체에 대한 크기의 측정을 적어도 포함함 - ; 및
    상기 식별된 미리 정의된 기하학적 정보에 기초하여, 상기 시각 장면 내의 상기 물리적 객체의 깊이 측정을 추정하는 단계
    를 더 포함하고,
    상기 역학 상호 작용을 시뮬레이션하는 단계는 또한 상기 제1 물리적 객체의 추정된 깊이 측정에 기초하는 것인 상호 작용 시뮬레이션 방법.
  3. 제1항에 있어서,
    상기 시각 장면 내의 상기 제1 물리적 객체의 모션을 모니터링하는 단계; 및
    상기 모니터링된 모션에 기초하여 상기 제1 물리적 객체의 속도(velocity)를 추정하는 단계
    를 더 포함하는 상호 작용 시뮬레이션 방법.
  4. 제3항에 있어서,
    상기 시각 장면 내에 표시될 상기 하나 이상의 가상적 객체의 속도를 결정하는 단계
    를 더 포함하고,
    상기 역학 시뮬레이션은 또한 상기 제1 물리적 객체의 결정된 속도와 상기 하나 이상의 가상적 객체의 결정된 속도에 기초하는 것인 상호 작용 시뮬레이션 방법.
  5. 제1항에 있어서, 상기 제1 물리적 객체와 상기 하나 이상의 가상적 객체 사이의 역학 상호 작용을 시뮬레이션하는 단계는 또한 상기 증강 현실 디바이스에 표시된 시각 장면들에 대한 역학 상호 작용들을 정의하는 역학 규칙들의 세트(a set of dynamics rules)에 기초하는 것인 상호 작용 시뮬레이션 방법.
  6. 제1항에 있어서,
    상기 시각 장면 내의 상기 물리적 객체와 상기 하나 이상의 가상적 객체 사이의 시뮬레이션된 역학 상호 작용에 기초하여, 수신된 시각 장면 외부의 상기 제1 물리적 객체에 힘을 적용하는 단계
    를 더 포함하는 상호 작용 시뮬레이션 방법.
  7. 제1항에 있어서,
    수신된 시각 장면 외부의 상기 제1 물리적 객체와 관련된 컨트롤러에 메시지를 전송하는 단계
    를 더 포함하고, 상기 컨트롤러는 상기 메시지의 수신에 응답하여 상기 제1 물리적 객체에 힘을 적용하도록 구성되는 상호 작용 시뮬레이션 방법.
  8. 제1항에 있어서, 상기 제1 물리적 객체와 하나 이상의 가상적 객체 사이의 상기 역학 상호 작용을 시뮬레이션하는 단계는,
    상기 제1 물리적 객체의 하나 이상의 특성을 결정하는 단계; 및
    상기 결정된 하나 이상의 특성에 기초하여 상기 역학 상호 작용의 일부로서 상기 하나 이상의 가상적 객체의 행동을 조정하는 단계
    를 더 포함하는 상호 작용 시뮬레이션 방법.
  9. 증강 현실 디바이스로서,
    프로세서; 및
    상기 프로세서에 의해 실행될 때, 증강 현실 디바이스를 사용하여 상호 작용들을 시뮬레이션하기 위한 동작을 수행하는 프로그램을 포함하는 메모리
    를 포함하고,
    상기 동작은,
    표시를 위한 시각 장면을 캡처하는 동작 - 상기 시각 장면은 하나 이상의 카메라 디바이스를 사용하여 캡처됨 - ;
    제1 물리적 객체와 하나 이상의 가상적 객체 사이의 역학 상호 작용을 시뮬레이션하는 동작; 및
    상기 제1 물리적 객체와 상기 하나 이상의 가상적 객체 사이의 시뮬레이션된 역학 상호 작용을 묘사하는, 표시를 위한 프레임들의 시퀀스를 렌더링하는 동작을 포함하는 증강 현실 디바이스.
  10. 제9항에 있어서, 상기 동작은,
    상기 제1 물리적 객체에 대한 미리 정의된 기하학적 정보를 식별하는 동작 - 상기 미리 정의된 기하학적 정보는 상기 제1 물리적 객체에 대한 크기의 측정을 적어도 포함함 - ; 및
    상기 식별된 미리 정의된 기하학적 정보에 기초하여, 상기 시각 장면 내의 상기 물리적 객체의 깊이 측정을 추정하는 동작
    을 더 포함하고,
    상기 역학 상호 작용을 시뮬레이션하는 동작은 또한 상기 제1 물리적 객체의 추정된 깊이 측정에 기초하는 것인 증강 현실 디바이스.
  11. 제9항에 있어서,
    상기 시각 장면 내의 상기 제1 물리적 객체의 모션을 모니터링하는 동작, 및
    상기 모니터링된 모션에 기초하여 상기 제1 물리적 객체의 속도를 추정하는 동작
    을 더 포함하는 증강 현실 디바이스.
  12. 제11항에 있어서,
    상기 시각 장면 내에 표시될 상기 하나 이상의 가상적 객체의 속도를 결정하는 동작
    을 더 포함하고,
    상기 역학 시뮬레이션은 또한 상기 제1 물리적 객체의 결정된 속도와 상기 하나 이상의 가상적 객체의 결정된 속도에 기초하는 것인 증강 현실 디바이스.
  13. 제9항에 있어서, 상기 제1 물리적 객체와 상기 하나 이상의 가상적 객체 사이의 역학 상호 작용을 시뮬레이션하는 동작은 또한 상기 증강 현실 디바이스에 표시된 시각 장면들에 대한 역학 상호 작용들을 정의하는 역학 규칙들의 세트에 기초하는 것인 증강 현실 디바이스.
  14. 제9항에 있어서, 상기 동작은,
    상기 시각 장면 내의 상기 물리적 객체와 상기 하나 이상의 가상적 객체 사이의 시뮬레이션된 역학 상호 작용에 기초하여, 수신된 시각 장면 외부의 상기 제1 물리적 객체에 힘을 적용하는 동작
    을 더 포함하는 증강 현실 디바이스.
  15. 제9항에 있어서, 상기 동작은,
    수신된 시각 장면 외부의 상기 제1 물리적 객체와 관련된 컨트롤러에 메시지를 전송하는 동작
    을 더 포함하고, 상기 컨트롤러는 상기 메시지의 수신에 응답하여 상기 제1 물리적 객체에 힘을 적용하도록 구성되는 증강 현실 디바이스.
  16. 제9항에 있어서, 상기 제1 물리적 객체와 하나 이상의 가상적 객체 사이의 상기 역학 상호 작용을 시뮬레이션하는 동작은,
    상기 제1 물리적 객체의 하나 이상의 특성을 결정하는 동작; 및
    상기 결정된 하나 이상의 특성에 기초하여 상기 역학 상호 작용의 일부로서 상기 하나 이상의 가상적 객체의 행동을 조정하는 동작
    을 더 포함하는 증강 현실 디바이스.
  17. 실행될 때, 증강 현실 디바이스를 사용하여 상호 작용들을 시뮬레이션하기 위한 동작을 수행하는 프로그램을 포함하는 컴퓨터-판독가능한 저장 매체로서,
    상기 동작은,
    표시를 위한 시각 장면을 캡처하는 동작 - 상기 시각 장면은 하나 이상의 카메라 디바이스를 사용하여 캡처됨 - ;
    제1 물리적 객체와 하나 이상의 가상적 객체 사이의 역학 상호 작용을 시뮬레이션하는 동작; 및
    상기 제1 물리적 객체와 상기 하나 이상의 가상적 객체 사이의 시뮬레이션된 역학 상호 작용을 묘사하는, 표시를 위한 프레임들의 시퀀스를 렌더링하는 동작
    을 포함하는 컴퓨터-판독가능한 저장 매체.
  18. 제17항에 있어서, 상기 동작은,
    상기 제1 물리적 객체에 대한 미리 정의된 기하학적 정보를 식별하는 동작 - 상기 미리 정의된 기하학적 정보는 상기 제1 물리적 객체에 대한 크기의 측정을 적어도 포함함 - ; 및
    상기 식별된 미리 정의된 기하학적 정보에 기초하여, 상기 시각 장면 내의 상기 물리적 객체의 깊이 측정을 추정하는 동작
    을 더 포함하고,
    상기 역학 상호 작용을 시뮬레이션하는 동작은 또한 상기 제1 물리적 객체의 추정된 깊이 측정에 기초하는 것인 컴퓨터-판독가능한 저장 매체.
  19. 제17항에 있어서,
    상기 시각 장면 내의 상기 제1 물리적 객체의 모션을 모니터링하는 동작; 및
    상기 모니터링된 모션에 기초하여 상기 제1 물리적 객체의 속도를 추정하는 동작
    을 더 포함하는 컴퓨터-판독가능한 저장 매체.
  20. 제19항에 있어서,
    상기 시각 장면 내에 표시될 상기 하나 이상의 가상적 객체의 속도를 결정하는 동작
    을 더 포함하고,
    상기 역학 시뮬레이션은 또한 상기 제1 물리적 객체의 결정된 속도와 상기 하나 이상의 가상적 객체의 결정된 속도에 기초하는 것인 컴퓨터-판독가능한 저장 매체.
  21. 제17항에 있어서, 상기 제1 물리적 객체와 상기 하나 이상의 가상적 객체 사이의 역학 상호 작용을 시뮬레이션하는 동작은 또한 상기 증강 현실 디바이스에 표시된 시각 장면들에 대한 역학 상호 작용들을 정의하는 역학 규칙들의 세트에 기초하는 것인 컴퓨터-판독가능한 저장 매체.
  22. 제17항에 있어서, 상기 동작은,
    상기 시각 장면 내의 상기 물리적 객체와 상기 하나 이상의 가상적 객체 사이의 시뮬레이션된 역학 상호 작용에 기초하여, 수신된 시각 장면 외부의 상기 제1 물리적 객체에 힘을 적용하는 동작
    을 더 포함하는 컴퓨터-판독가능한 저장 매체.
  23. 제17항에 있어서, 상기 동작은,
    수신된 시각 장면 외부의 상기 제1 물리적 객체와 관련된 컨트롤러에 메시지를 전송하는 동작
    을 더 포함하고, 상기 컨트롤러는 상기 메시지의 수신에 응답하여 상기 제1 물리적 객체에 힘을 적용하도록 구성되는 컴퓨터-판독가능한 저장 매체.
  24. 제17항에 있어서, 상기 제1 물리적 객체와 하나 이상의 가상적 객체 사이의 상기 역학 상호 작용을 시뮬레이션하는 동작은,
    상기 제1 물리적 객체의 하나 이상의 특성을 결정하는 동작; 및
    상기 결정된 하나 이상의 특성에 기초하여 상기 역학 상호 작용의 일부로서 상기 하나 이상의 가상적 객체의 행동을 조정하는 동작
    을 더 포함하는 컴퓨터-판독가능한 저장 매체.
KR1020130076019A 2012-06-29 2013-06-28 증강 현실 디바이스, 증강 현실 디바이스를 사용하는 상호 작용 시뮬레이션을 위한 방법 및 컴퓨터-판독가능한 저장 매체 KR101660089B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/538,699 2012-06-29
US13/538,699 US9741145B2 (en) 2012-06-29 2012-06-29 Augmented reality simulation continuum

Publications (2)

Publication Number Publication Date
KR20140002567A true KR20140002567A (ko) 2014-01-08
KR101660089B1 KR101660089B1 (ko) 2016-09-26

Family

ID=48746322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130076019A KR101660089B1 (ko) 2012-06-29 2013-06-28 증강 현실 디바이스, 증강 현실 디바이스를 사용하는 상호 작용 시뮬레이션을 위한 방법 및 컴퓨터-판독가능한 저장 매체

Country Status (5)

Country Link
US (2) US9741145B2 (ko)
EP (1) EP2680230A3 (ko)
JP (1) JP5619964B2 (ko)
KR (1) KR101660089B1 (ko)
CN (1) CN103530495B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016006728A1 (ko) * 2014-07-08 2016-01-14 삼성전자 주식회사 화상을 이용해 3차원 정보를 처리하는 전자 장치 및 방법
WO2019203591A1 (en) * 2018-04-19 2019-10-24 Samsung Electronics Co., Ltd. High efficiency input apparatus and method for virtual reality and augmented reality
KR20220027651A (ko) * 2020-08-27 2022-03-08 삼성전자주식회사 증강 현실 컨텐트를 제공하는 전자 장치와 이의 동작 방법
KR102709180B1 (ko) * 2023-04-13 2024-09-24 국민대학교산학협력단 Ar 기반의 연출 증진 장치 및 방법

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014013628A1 (ja) * 2012-07-20 2014-01-23 楽天株式会社 動画処理装置、動画処理方法、ならびに、情報記録媒体
US9773346B1 (en) * 2013-03-12 2017-09-26 Amazon Technologies, Inc. Displaying three-dimensional virtual content
EP2988275A4 (en) * 2013-04-16 2016-11-30 Sony Corp INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD, DISPLAY DEVICE AND DISPLAY METHOD AND INFORMATION PROCESSING SYSTEM
US20150077340A1 (en) * 2013-09-18 2015-03-19 Genius Toy Taiwan Co., Ltd. Method, system and computer program product for real-time touchless interaction
US9704295B2 (en) * 2013-11-05 2017-07-11 Microsoft Technology Licensing, Llc Construction of synthetic augmented reality environment
US9286725B2 (en) * 2013-11-14 2016-03-15 Nintendo Co., Ltd. Visually convincing depiction of object interactions in augmented reality images
US20150185826A1 (en) * 2013-12-30 2015-07-02 Daqri, Llc Mapping gestures to virtual functions
GB2583848B (en) * 2014-05-21 2021-03-24 Tangible Play Inc Virtualization of tangible interface objects
US10583354B2 (en) 2014-06-06 2020-03-10 Lego A/S Interactive game apparatus and toy construction system
US10518188B2 (en) * 2014-06-30 2019-12-31 Microsoft Technology Licensing, Llc Controlling physical toys using a physics engine
JP6390277B2 (ja) 2014-09-02 2018-09-19 ソニー株式会社 情報処理装置、制御方法、およびプログラム
FR3026872A1 (fr) * 2014-10-02 2016-04-08 Amega Signaletiques Procede de fabrication d'objets personnalises pour enseignes de magasin, utilisant la realite augmentee.
MX2017004225A (es) 2014-10-02 2018-03-28 Lego As Sistema de juego.
US10369477B2 (en) 2014-10-08 2019-08-06 Microsoft Technology Licensing, Llc Management of resources within a virtual world
US9696757B2 (en) 2014-10-08 2017-07-04 Microsoft Corporation Transfer of attributes between generations of characters
CN104407696B (zh) * 2014-11-06 2016-10-05 北京京东尚科信息技术有限公司 移动设备的虚拟球模拟及控制的方法
US10495726B2 (en) * 2014-11-13 2019-12-03 WorldViz, Inc. Methods and systems for an immersive virtual reality system using multiple active markers
US9791917B2 (en) * 2015-03-24 2017-10-17 Intel Corporation Augmentation modification based on user interaction with augmented reality scene
US10620778B2 (en) 2015-08-31 2020-04-14 Rockwell Automation Technologies, Inc. Augmentable and spatially manipulable 3D modeling
US10095928B2 (en) 2015-12-22 2018-10-09 WorldViz, Inc. Methods and systems for marker identification
GB201607639D0 (en) * 2016-05-02 2016-06-15 Univ Leuven Kath Sensing method
US10242501B1 (en) 2016-05-03 2019-03-26 WorldViz, Inc. Multi-user virtual and augmented reality tracking systems
US10235809B2 (en) * 2016-06-30 2019-03-19 Microsoft Technology Licensing, Llc Reality to virtual reality portal for dual presence of devices
US10943398B2 (en) * 2016-07-15 2021-03-09 Samsung Electronics Co., Ltd. Augmented reality device and operation thereof
GB2555841A (en) * 2016-11-11 2018-05-16 Sony Corp An apparatus, computer program and method
US10782668B2 (en) * 2017-03-16 2020-09-22 Siemens Aktiengesellschaft Development of control applications in augmented reality environment
CN108334806B (zh) * 2017-04-26 2021-12-14 腾讯科技(深圳)有限公司 图像处理方法、装置和电子设备
CN110520902B (zh) * 2017-03-30 2023-04-28 韩国斯诺有限公司 对图像应用动态效果的方法及装置
US10403050B1 (en) 2017-04-10 2019-09-03 WorldViz, Inc. Multi-user virtual and augmented reality tracking systems
US11054894B2 (en) 2017-05-05 2021-07-06 Microsoft Technology Licensing, Llc Integrated mixed-input system
CN107393017A (zh) * 2017-08-11 2017-11-24 北京铂石空间科技有限公司 图像处理方法、装置、电子设备及存储介质
US20190056799A1 (en) * 2017-08-15 2019-02-21 TinMoon Studios, LLC Method and system for resolving spatial boundary conflicts of virtual objects using simulated spring constraints in 3d virtual space
JP7060355B2 (ja) * 2017-10-17 2022-04-26 株式会社ソニー・インタラクティブエンタテインメント 情報処理システムおよび情報処理方法
US11182957B2 (en) * 2017-10-26 2021-11-23 Sony Interactive Entertainment Inc. Image processing device, image processing method, and program for suppressing movement of an object in virtual space
US10957103B2 (en) * 2017-11-03 2021-03-23 Adobe Inc. Dynamic mapping of virtual and physical interactions
US10139899B1 (en) * 2017-11-30 2018-11-27 Disney Enterprises, Inc. Hypercatching in virtual reality (VR) system
US10360454B1 (en) * 2017-12-28 2019-07-23 Rovi Guides, Inc. Systems and methods for presenting supplemental content in augmented reality
WO2019150781A1 (ja) * 2018-01-30 2019-08-08 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US10546425B2 (en) 2018-01-30 2020-01-28 Disney Enterprises, Inc. Real physical objects interacting with augmented reality features
US10445940B2 (en) 2018-03-15 2019-10-15 Disney Enterprises, Inc. Modeling interactions between simulated characters and real-world objects for more realistic augmented reality
CN108573530B (zh) * 2018-03-29 2022-02-11 麒麟合盛网络技术股份有限公司 增强现实ar交互方法及系统
CN108543309B (zh) * 2018-04-03 2020-03-10 网易(杭州)网络有限公司 在增强现实中控制虚拟控制对象移动的方法、装置及终端
CN108635847B (zh) * 2018-05-14 2021-06-01 北京卡路里科技有限公司 运动中互动的方法与装置
US11315337B2 (en) 2018-05-23 2022-04-26 Samsung Electronics Co., Ltd. Method and apparatus for managing content in augmented reality system
US10818093B2 (en) 2018-05-25 2020-10-27 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
US10984600B2 (en) 2018-05-25 2021-04-20 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
US10748342B2 (en) 2018-06-19 2020-08-18 Google Llc Interaction system for augmented reality objects
US10832481B2 (en) * 2018-08-21 2020-11-10 Disney Enterprises, Inc. Multi-screen interactions in virtual and augmented reality
CN110852143B (zh) * 2018-08-21 2024-04-09 元平台公司 在增强现实环境中的交互式文本效果
US11030813B2 (en) * 2018-08-30 2021-06-08 Snap Inc. Video clip object tracking
US11176737B2 (en) 2018-11-27 2021-11-16 Snap Inc. Textured mesh building
US10692294B1 (en) 2018-12-17 2020-06-23 Universal City Studios Llc Systems and methods for mediated augmented physical interaction
CN109727315B (zh) * 2018-12-29 2023-08-22 上海曼恒数字技术股份有限公司 一对多集群渲染方法、装置、设备及存储介质
US10780359B2 (en) 2019-01-08 2020-09-22 Universal City Studios Llc Systems and methods for a connected augmented environment
US11308652B2 (en) 2019-02-25 2022-04-19 Apple Inc. Rendering objects to match camera noise
US10937218B2 (en) * 2019-07-01 2021-03-02 Microsoft Technology Licensing, Llc Live cube preview animation
KR102570009B1 (ko) 2019-07-31 2023-08-23 삼성전자주식회사 Ar 객체 생성 방법 및 전자 장치
WO2021038565A1 (en) * 2019-08-26 2021-03-04 Agt International Gmbh Tracking dynamics using a computerized device
WO2021105984A1 (en) * 2019-11-25 2021-06-03 Alon Melchner System and method for dynamic synchronization between real and virtual environments
GB2590422B (en) * 2019-12-17 2024-03-06 Sony Interactive Entertainment Inc Content generation system and method
US20230377280A1 (en) * 2020-06-22 2023-11-23 Alon Melchner System and method for rendering virtual interactions of an immersive reality-virtuality continuum-based object and a real environment
CN111773736B (zh) * 2020-07-03 2024-02-23 珠海金山数字网络科技有限公司 一种虚拟角色的行为生成方法及装置
CN111880659A (zh) * 2020-07-31 2020-11-03 北京市商汤科技开发有限公司 虚拟人物控制方法及装置、设备、计算机可读存储介质
US11554320B2 (en) 2020-09-17 2023-01-17 Bogie Inc. System and method for an interactive controller
KR20220046261A (ko) * 2020-10-07 2022-04-14 삼성전자주식회사 증강 현실을 디스플레이하는 방법 및 이를 수행하는 전자 장치
US20220383601A1 (en) * 2021-05-25 2022-12-01 Samsung Electronics Co., Ltd. Virtual avatars and physical object interaction in augmented reality applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188913A (ja) * 1997-09-01 1999-03-30 M R Syst Kenkyusho:Kk 姿勢検出装置、姿勢検出方法、記憶媒体および複合現実感提示装置
JP2000352960A (ja) * 1999-06-11 2000-12-19 Mr System Kenkyusho:Kk 複合現実感画像の効果付加装置、効果付加のための画像処理方法およびプログラム記憶媒体
JP2009217328A (ja) * 2008-03-07 2009-09-24 Oki Semiconductor Co Ltd 画像表示制御装置、画像表示制御プログラム、及び半導体装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131442A (ja) * 1992-10-19 1994-05-13 Mazda Motor Corp 3次元虚像造形装置
US6028593A (en) * 1995-12-01 2000-02-22 Immersion Corporation Method and apparatus for providing simulated physical interactions within computer generated environments
JP2000132329A (ja) * 1998-10-27 2000-05-12 Sony Corp 面認識装置、面認識方法及び仮想画像立体合成装置
JP3517639B2 (ja) * 2000-09-27 2004-04-12 キヤノン株式会社 複合現実感提示装置及びその方法並びに記憶媒体
US7427996B2 (en) * 2002-10-16 2008-09-23 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US7394459B2 (en) * 2004-04-29 2008-07-01 Microsoft Corporation Interaction between objects and a virtual environment display
JP3841806B2 (ja) * 2004-09-01 2006-11-08 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
EP1846811A2 (en) * 2004-12-01 2007-10-24 Koninklijke Philips Electronics N.V. Image display that moves physical objects and causes tactile sensation
US20070205963A1 (en) * 2006-03-03 2007-09-06 Piccionelli Gregory A Heads-up billboard
JP4989383B2 (ja) * 2007-09-10 2012-08-01 キヤノン株式会社 情報処理装置、情報処理方法
KR101146091B1 (ko) 2007-11-30 2012-05-16 광주과학기술원 증강 현실을 위한 입력 인터페이스 장치 및 이를 구비한 증강 현실 시스템
NL1035303C2 (nl) * 2008-04-16 2009-10-19 Virtual Proteins B V Interactieve virtuele reality eenheid.
US20100238161A1 (en) * 2009-03-19 2010-09-23 Kenneth Varga Computer-aided system for 360º heads up display of safety/mission critical data
US20120113223A1 (en) 2010-11-05 2012-05-10 Microsoft Corporation User Interaction in Augmented Reality
US8736583B2 (en) * 2011-03-29 2014-05-27 Intel Corporation Virtual links between different displays to present a single virtual object
US9183676B2 (en) * 2012-04-27 2015-11-10 Microsoft Technology Licensing, Llc Displaying a collision between real and virtual objects

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188913A (ja) * 1997-09-01 1999-03-30 M R Syst Kenkyusho:Kk 姿勢検出装置、姿勢検出方法、記憶媒体および複合現実感提示装置
JP2000352960A (ja) * 1999-06-11 2000-12-19 Mr System Kenkyusho:Kk 複合現実感画像の効果付加装置、効果付加のための画像処理方法およびプログラム記憶媒体
JP2009217328A (ja) * 2008-03-07 2009-09-24 Oki Semiconductor Co Ltd 画像表示制御装置、画像表示制御プログラム、及び半導体装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AR 2 Hockey: A case study of collaborative augmented reality, Virtual Reality Annual International Symposium, Proceedings., IEEE(1998) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016006728A1 (ko) * 2014-07-08 2016-01-14 삼성전자 주식회사 화상을 이용해 3차원 정보를 처리하는 전자 장치 및 방법
US10142608B2 (en) 2014-07-08 2018-11-27 Samsung Electronics Co., Ltd. Electronic apparatus and method for processing three-dimensional information using image
WO2019203591A1 (en) * 2018-04-19 2019-10-24 Samsung Electronics Co., Ltd. High efficiency input apparatus and method for virtual reality and augmented reality
US10877554B2 (en) 2018-04-19 2020-12-29 Samsung Electronics Co., Ltd. High efficiency input apparatus and method for virtual reality and augmented reality
KR20220027651A (ko) * 2020-08-27 2022-03-08 삼성전자주식회사 증강 현실 컨텐트를 제공하는 전자 장치와 이의 동작 방법
KR102709180B1 (ko) * 2023-04-13 2024-09-24 국민대학교산학협력단 Ar 기반의 연출 증진 장치 및 방법

Also Published As

Publication number Publication date
CN103530495B (zh) 2017-10-20
US9741145B2 (en) 2017-08-22
JP5619964B2 (ja) 2014-11-05
US20140002493A1 (en) 2014-01-02
US20170330362A1 (en) 2017-11-16
EP2680230A3 (en) 2016-02-10
EP2680230A2 (en) 2014-01-01
US10282882B2 (en) 2019-05-07
KR101660089B1 (ko) 2016-09-26
CN103530495A (zh) 2014-01-22
JP2014010838A (ja) 2014-01-20

Similar Documents

Publication Publication Date Title
US10282882B2 (en) Augmented reality simulation continuum
US10217289B2 (en) Augmented reality device with predefined object data
US9898872B2 (en) Mobile tele-immersive gameplay
US10068547B2 (en) Augmented reality surface painting
US8411092B2 (en) 2D imposters for simplifying processing of plural animation objects in computer graphics generation
TWI567659B (zh) 照片表示視圖的基於主題的增強
JP4822553B2 (ja) ゲーム装置、ゲームプログラム、コンピュータ読み取り可能な情報記憶媒体、ゲームシステムおよびゲーム処理方法
JP2021525911A (ja) マルチサーバクラウド仮想現実(vr)ストリーミング
JP6959365B2 (ja) 中心窩レンダリングシステムにおけるシャドーの最適化及びメッシュスキンの適応
US9418629B2 (en) Optical illumination mapping
US20120304126A1 (en) Three-dimensional gesture controlled avatar configuration interface
EP3072033B1 (en) Motion control of a virtual environment
CN105144240B (zh) 使用深度图像的用户质心和质量分布提取
US20130080976A1 (en) Motion controlled list scrolling
CN110891659A (zh) 对注视点渲染系统中的粒子和模拟模型的优化的延迟照明和中心凹调适
Li et al. Real-time immersive table tennis game for two players with motion tracking
Song et al. An immersive VR system for sports education
Ionescu et al. A multimodal interaction method that combines gestures and physical game controllers
Chen et al. Research and development of virtual reality game based on unreal engine 4
JP5876600B1 (ja) 情報処理プログラム、及び情報処理方法
Garcia et al. Modifying a game interface to take advantage of advanced I/O devices
Chung Metaverse XR Components
Dorfmueller-Ulhaas et al. An immersive game–augsburg cityrun
Sherstyuk et al. Video-Based Head Tracking for High-Performance Games.

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
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190905

Year of fee payment: 4