KR20160016964A - 실질 세계 객체 조작에 기초한 데이터 조작 - Google Patents

실질 세계 객체 조작에 기초한 데이터 조작 Download PDF

Info

Publication number
KR20160016964A
KR20160016964A KR1020157037217A KR20157037217A KR20160016964A KR 20160016964 A KR20160016964 A KR 20160016964A KR 1020157037217 A KR1020157037217 A KR 1020157037217A KR 20157037217 A KR20157037217 A KR 20157037217A KR 20160016964 A KR20160016964 A KR 20160016964A
Authority
KR
South Korea
Prior art keywords
virtual
physical
physical object
image
notification
Prior art date
Application number
KR1020157037217A
Other languages
English (en)
Other versions
KR101803168B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=51984598&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20160016964(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 데크리, 엘엘씨 filed Critical 데크리, 엘엘씨
Publication of KR20160016964A publication Critical patent/KR20160016964A/ko
Application granted granted Critical
Publication of KR101803168B1 publication Critical patent/KR101803168B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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
    • G06K9/00671
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • H04L29/06034
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Abstract

실제 세계 객체 조작에 기초하는 데이터 조작을 위한 시스템 및 방법이 기술된다. 디바이스는 물리적 객체의 이미지를 캡처한다. 이미지는 네트워크를 통해 원격 서버에 통신된다. 원격 서버는 컴퓨팅 디바이스의 사용자에 대한 통신 통지 및 이미지와 연관된 가상 객체 데이터를 포함한다. 디바이스는 가상 객체 데이터를 수신하고, 가상 객체 데이터를 이용하여 가상 풍경에 가상 이미지를 디스플레이한다. 사용자에 의해 유발된 물리적 객체와 컴퓨팅 디바이스 간의 상대적 이동에 응답하여, 가상 이미지가 변경된다.

Description

실질 세계 객체 조작에 기초한 데이터 조작{DATA MANIPULATION BASED ON REAL WORLD OBJECT MANIPULATION}
<관련 출원들>
이 출원은 2013년 6월 3일 출원된 미국 출원 번호 제13/909,046호에 대한 우선권을 주장하는 국제 출원이고, 그 전체 내용이 본 명세서에 참조되어 포함된다.
본 명세서에 개시되는 주제는 일반적으로 데이터의 처리에 관한 것이다. 특히, 본 개시는 실제 물리적 객체 조작에 기초하여 데이터를 조작하기 위한 시스템들과 방법들을 다룬다.
디바이스는 디바이스에 의해 캡처된 이미지 위에 데이터를 생성 및 디스플레이하기 위해 이용될 수 있다. 예를 들어, 증강 현실(augmented reality, AR)은 사운드, 비디오, 그래픽, 또는 GPS 데이터와 같은 컴퓨터 생성된 감각 입력에 의해 그 엘리먼트들이 증강되는, 물리적 실세계 환경의, 라이브, 직접 또는 간접 뷰(view)이다. 진보된 AR 기술(예를 들어, 컴퓨터 비전 및 객체 인지의 부가)의 도움으로, 사용자의 주변 실세계에 관한 정보가 상호작용 가능하게 된다. 환경 및 그의 객체들에 관한 디바이스 생성(예를 들어, 인위적) 정보가 실제 세계 위에 오버레이될 수 있다.
첨부 도면들의 도들에 일부 실시예들이 제한적이 아니라 예로써 도시된다.
도 1은 일부 예시적 실시예들에 따른, 증강 현실 서버를 운영하기에 적합한 네트워크의 예를 도시하는 블록도이다.
도 2는 일부 예시적 실시예들에 따른, 디바이스의 모듈들(예를 들어, 컴포넌트들)을 도시하는 블록도이다.
도 3은 일부 예시적 실시예들에 따른, 증강 현실 통지 모듈의 모듈들(예를 들어, 컴포넌트들)을 도시하는 블록도이다.
도 4는 일부 예시적 실시예들에 따른, 물리적 세계 조작 모듈의 모듈들(예를 들어, 컴포넌트들)을 도시하는 블록도이다.
도 5는 일부 예시적 실시예들에 따른, 서버의 모듈들(예를 들어, 컴포넌트들)을 도시하는 블록도이다.
도 6은 일부 예시적 실시예들에 따른, 도 1의 디바이스의 증강 현실 통지 모듈의 동작을 도시하는 래더 다이어그램이다.
도 7은 일부 예시적 실시예들에 따른, 물리적 세계 조작 모듈의 동작을 도시하는 래더 다이어그램이다.
도 8a는 도 1의 디바이스의 증강 현실 통지 모듈의 제1 동작 예를 도시하는 도면이다.
도 8b는 도 1의 디바이스의 증강 현실 통지 모듈의 제2 동작 예를 도시하는 도면이다.
도 8c는 도 1의 디바이스의 증강 현실 통지 모듈의 제3 동작 예를 도시하는 도면이다.
도 9a는 도 1의 디바이스의 물리적 세계 조작 모듈의 제1 동작 예를 도시하는 도면이다.
도 9b는 디바이스의 물리적 세계 조작 모듈의 제2 동작 예를 도시하는 도면이다.
도 9c는 도 1의 디바이스의 물리적 세계 조작 모듈의 제3 동작 예를 도시하는 도면이다.
도 10은 일부 예시적 실시예들에 따른, 도 1의 디바이스의 정황적 로컬 이미지 인지 데이터세트 모듈의 동작 예를 도시하는 흐름도이다.
도 11은 일부 예시적 실시예들에 따른, 도 1의 디바이스의 정황적 로컬 이미지 인지 데이터세트 모듈의 다른 동작 예를 도시하는 흐름도이다.
도 12는 머신 판독 가능 매체로부터 명령어들을 판독하고, 본 명세서에 논의되는 방법론들 중 임의의 하나 이상을 수행할 수 있는, 일부 예시적 실시예들에 따른, 머신의 컴포넌트들을 도시하는 블록도이다.
예시적 방법들과 시스템들은 실제 세계 객체 조작에 기초한 데이터 조작에 관한 것이다. 예들은 가능한 변형들을 단지 대표한다. 명시적으로 달리 언급되지 않는 한, 컴포넌트들 및 기능들은 옵션이고, 조합, 또는 세분될 수 있으며, 동작들은 순서가 변경될 수 있거나, 또는 조합 또는 세분될 수 있다. 하기의 설명에서, 설명의 목적을 위해, 복수의 특정 상세 사항들이 예시적 실시예들의 충분한 이해를 제공하기 위해 제시된다. 그러나, 본 주제가 이들 특정 상세 사항들 없이도 실시될 수 있다는 점이 본 분야의 통상의 기술자에게 명백할 것이다.
증강 현실 애플리케이션들은 사용자가 예를 들어, 디바이스의 카메라에 의해 캡처된 물리적 객체의 사진 상에 오버레이된 3차원 가상 객체의 형태로, 정보를 경험할 수 있게 해준다. 물리적 객체는 증강 현실 애플리케이션이 식별할 수 있는 시각적 레퍼런스를 포함할 수 있다. 예컨대 물리적 객체의 이미지에 오버레이되거나 또는 결부된(engaged) 3차원 가상 객체와 같은 부가 정보의 시각화가 디바이스의 디스플레이에서 발생된다. 3차원 가상 객체는 인지된 시각적 레퍼런스 또는 물리적 객체의 캡처된 이미지에 기초하여 선택될 수 있다. 3차원 가상 객체의 시각화의 렌더링은 시각적 레퍼런스에 대해 상대적인 디스플레이의 위치에 기초할 수 있다.
실질 세계 객체 조작에 기초한 데이터 조작을 위한 시스템 및 방법이 기술된다. 디바이스는 물리적 객체의 이미지를 캡처한다. 이미지는 네트워크를 통해 원격 서버에 통신된다. 원격 서버는 컴퓨팅 디바이스의 사용자에 대한 통신 통지 및 이미지와 연관된 가상 객체 데이터를 포함한다. 디바이스는 가상 객체 데이터를 수신하고 가상 객체 데이터를 이용하여 가상 풍경에 가상 이미지를 디스플레이한다. 사용자에 의해 유발된 물리적 객체와 컴퓨팅 디바이스 간의 상대적 이동에 응답하여, 가상 이미지가 변경된다.
다른 실시예에서, 디바이스는 디바이스의 사용자에 대한 통신 통지와 연관된 가상 객체가 디바이스의 디스플레이 상에 생성된다. 가상 객체는 디바이스의 사용자에 대한 통신 통지와 연관된다. 가상 객체는 디바이스에 의해 캡처된 물리적 객체의 이미지와 결부된다. 물리적 객체는 통신 통지와 연관된다. 물리적 객체에 대해 상대적인 디바이스의 위치에 기초하여 가상 객체의 시각화가 렌더링된다. 물리적 객체가 식별된다. 물리적 객체의 물리적 조작들과 연관된 가상 기능들이 식별된다. 물리적 객체의 조작에 대응하는 가상 기능이 생성된다.
예시적 실시예에서, 디바이스는 증강 현실 통지 모듈 및 물리적 세계 조작 모듈을 포함한다. 증강 현실 통지 모듈은 디바이스의 사용자에 대한 통신 통지와 연관된 가상 객체를 디바이스의 디스플레이에 생성할 수 있다. 가상 객체는 디바이스에 의해 캡처된 물리적 객체의 이미지와 결부될 수 있다. 물리적 객체는 통신 통지와 연관될 수 있다. 증강 현실 통지 모듈은 물리적 객체에 대해 상대적인 디바이스의 위치에 기초하여 가상 객체의 시각화를 렌더링한다. 물리적 세계 조작 모듈은 물리적 객체를 식별할 수 있고, 물리적 객체의 물리적 조작들과 연관된 가상 기능들에 액세스할 수 있고, 물리적 객체의 조작에 대응하는 가상 기능을 생성할 수 있다.
예시적 실시예에서, 디바이스는 디바이스의 사용자와 연관된 통지 서버로부터의 통신 통지에 액세스하는 통지 모듈을 포함한다. 통지 서버는 이메일 통지, 캘린더 리마인더 통지, 및 소셜 네트워크 통지를 생성할 수 있다.
예시적 실시예에서, 증강 현실 통지 모듈은 레퍼런스 식별자 모듈, 통지 시각화 모듈, 및 가상 객체 생성기를 포함한다. 레퍼런스 식별자 모듈은 통신 통지와 연관된 레퍼런스 식별자들에 액세스할 수 있다. 통지 시각화 모듈은 레퍼런스 식별자들과 연관된 증강 현실 시각화에 액세스할 수 있다. 가상 객체 생성기는 물리적 객체의 이미지에서의 레퍼런스 식별자와 연관된 증강 현실 시각화를 이용하여 물리적 객체의 이미지에서 상기 레퍼런스 식별자와 결부된 가상 객체를 생성할 수 있다.
예시적 실시예에서, 통지 시각화 모듈은 가상 객체의 피처를 변화시킬 수 있고, 물리적 객체의 이미지에서의 레퍼런스 식별자와 연관된 증강 현실 시각화에 기초하여 가상 객체를 다른 가상 객체로 대체할 수 있다.
예시적 실시예에서, 물리적 세계 조작 모듈은 물리적 객체 식별기, 물리적 객체 조작 검출기, 및 가상 액추에이터를 포함한다. 물리적 객체 식별기는 물리적 객체, 및 물리적 객체의 물리적 조작들과 연관된 가상 기능성들을 식별할 수 있다. 물리적 객체 조작 검출기는 물리적 객체의 물리적 조작을 식별할 수 있다. 가상 액추에이터는 물리적 객체의 식별된 물리적 조작에 대응하는 가상 기능을 생성할 수 있다. 가상 액추에이터는 물리적 객체의 식별된 물리적 조작에 대응하는 가상 사용자 인터페이스를 생성할 수 있다. 가상 액추에이터는 물리적 객체의 식별된 물리적 조작에 응답하여 디바이스 상에서 기능을 활성화할 수 있다.
가상 액추에이터는 물리적 객체의 식별된 물리적 조작에 응답하여 다른 디바이스를 제어하기 위한 가상 기능에 대한 명령을 생성할 수 있다. 다른 디바이스는 물리적 객체와의 통신을 갖지 않을 수 있다. 물리적 객체의 물리적 조작은 물리적 객체를 움직이거나 또는 회전시키는 것을 포함할 수 있다.
다른 예시적 실시예에서, 비-일시적 머신 판독가능 스토리지 디바이스는 명령어들의 세트를 저장할 수 있고, 그 명령어들은 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 본 개시 내에 논의된 방법 동작들을 수행하게 한다.
도 1은 일부 예시적 실시예들에 따라, 디바이스의 증강 현실 애플리케이션을 운영하기에 적합한 네트워크 환경(100)을 도시하는 네트워크 도면이다. 네트워크 환경(100)은 네트워크(108)를 통해 서로 통신 가능하게 연결된, 디바이스(101)와 서버(110)를 포함한다. 디바이스(101)와 서버(110)는 각각, 도 12와 관련하여 아래에 설명되는 바와 같이, 전부 또는 부분적으로, 컴퓨터 시스템에서 구현될 수 있다.
서버(110)는 네트워크 기반 시스템의 일부일 수 있다. 예를 들어, 네트워크 기반 시스템은 디바이스(101)에 3차원 모델들과 같은 부가 정보를 제공하는 클라우드 기반 서버 시스템일 수 있거나 그것을 포함할 수 있다.
도 1은 디바이스(101)를 사용하는 사용자(102)를 도시한다. 사용자(102)는 사람 사용자(예를 들어, 인간), 머신 사용자(예를 들어, 디바이스(101)와 상호작용하도록 소프트웨어 프로그램에 의해 구성된 컴퓨터), 또는 그들의 임의의 적절한 조합(예를 들어, 머신이 돕는 사람 또는 사람이 감독하는 머신)일 수 있다. 사용자(102)는 네트워크 환경(100)의 일부가 아니지만, 디바이스(101)와 연관되고, 디바이스(101)의 사용자(102)일 수 있다. 예를 들어, 디바이스(101)는 데스크탑 컴퓨터, 차량용 컴퓨터, 태블릿 컴퓨터, 내비게이션 디바이스, 휴대용 미디어 디바이스, 스마트 폰, 또는 착용가능 컴퓨팅 디바이스(예를 들어, 시계 또는 안경)일 수 있다.
사용자(102)는 디바이스(101)에서 애플리케이션의 사용자일 수 있다. 애플리케이션은, 예컨대 2차원 물리적 객체(104)(예를 들어, 사진) 또는 3차원 물리적 객체(106)(예를 들어, 조각상)와 같은 물리적 객체에 의해 트리거되는 경험을 사용자(102)에게 제공하도록 구성되는 증강 현실 애플리케이션을 포함할 수 있다. 예를 들어, 사용자(102)는 2차원 물리적 객체(104)의 이미지를 캡처하기 위해 디바이스(101)의 카메라를 가리킬 수 있다. 이미지는 디바이스(101)의 증강 현실 애플리케이션의 로컬 정황 인지 데이터세트 모듈을 이용하여 디바이스(101)에서 로컬하게 인지된다. 그 후, 증강 현실 애플리케이션은 이미지에 대응하는 부가 정보(예를 들어, 3차원 모델)를 생성하고, 인지된 이미지를 식별하는 것에 응답하여 디바이스(101)의 디스플레이에 이 부가 정보를 제시한다. 캡처된 이미지가 디바이스(101)에서 로컬하게 인지되지 않으면, 디바이스(101)는 네트워크(108)를 통해 서버(110)의 데이터베이스로부터, 캡처된 이미지에 대응하는 부가 정보(예를 들어, 3차원 모델)를 다운로드한다.
디바이스(101)는 사용, 및 사용자(102)가 물리적 객체와 어떻게 상호작용하고 있는지에 대한 추가적 분석을 위해 분석론 데이터를 캡처할 수 있고 서버(110)에 제출할 수 있다. 예를 들어, 분석론 데이터는 사용자(102)가 물리적 또는 가상 객체 상의 어느 위치들(예를 들어, 지점들 또는 피처들)을 보았는지, 사용자(102)가 물리적 또는 가상 객체 상의 각각의 위치를 얼마나 오래 보았는지, 사용자(102)가 물리적 또는 가상 객체를 볼 때 디바이스(101)를 어떻게 잡았는지, 사용자(102)가 가상 객체의 어느 피처들과 상호작용했는지(예를 들어, 사용자(102)가 가상 객체에서 링크를 탭핑(tap)했는지 여부 등), 및 그들의 임의의 적절한 조합을 추적할 수 있다. 디바이스(101)는 분석론 데이터와 관련된 시각화 콘텐츠 데이터세트를 수신한다. 그 후, 디바이스(101)는 시각화 콘텐츠 데이터세트에 기초하여 부가적 또는 시각화 피처들을 갖는 가상 객체, 또는 새로운 경험을 생성한다.
도 1에 도시된 머신들, 데이터베이스들, 또는 디바이스들 중 임의의 것은 그 머신, 데이터베이스, 또는 디바이스에 대해 본 명세서에 기술되는 기능들 중 하나 이상을 수행하기 위해 소프트웨어에 의해 변경되어(예를 들어, 구성되거나 프로그래밍되어) 특수 목적 컴퓨터가 될 범용 컴퓨터에서 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 방법론들 중 임의의 하나 이상을 구현하는 것이 가능한 컴퓨터 시스템이 도 12와 관련하여 하기에 논의된다. 본 명세서에 사용되는 바와 같이, "데이터베이스"는 데이터 스토리지 리소스이며 텍스트 파일, 테이블, 스프레드시트, 관계형 데이터베이스(예를 들어, 객체 관계형 데이터베이스), 트리플 스토어, 계층적 데이터 스토어, 또는 그들의 임의의 적절한 조합으로서 구조화된 데이터를 저장할 수 있다. 게다가, 도 1에 예시된 머신들, 데이터베이스들, 또는 디바이스들 중 임의의 두 개 이상은 단일 머신 내에 결합될 수 있고, 임의의 단일 머신, 데이터베이스, 또는 디바이스에 대해 본 명세서에 기술되는 기능들은 복수의 머신들, 데이터베이스들, 또는 디바이스들 중에 세분될 수 있다.
네트워크(108)는 머신들(예를 들어, 서버(110)), 데이터베이스들, 및 디바이스들(예를 들어, 디바이스(101)) 간에 또는 그들 중에 통신할 수 있게 하는 임의의 네트워크일 수 있다. 따라서, 네트워크(108)는 유선 네트워크, 무선 네트워크(예 를 들어, 모바일, 또는 셀룰러 네트워크), 또는 그들의 임의의 적절한 조합일 수 있다. 네트워크(108)는 사설 네트워크, 공용 네트워크(예를 들어, 인터넷), 또는 그들의 임의의 적절한 조합을 구성하는 하나 이상의 부분들을 포함할 수 있다.
도 2는 일부 예시적 실시예들에 따른, 디바이스(101)의 모듈들(예를 들어, 컴포넌트들)을 도시하는 블록도이다. 디바이스(101)는 센서들(202), 디스플레이(204), 프로세서(206), 및 스토리지 디바이스(216)를 포함할 수 있다. 예를 들어, 디바이스(101)는 데스크탑 컴퓨터, 차량용 컴퓨터, 태블릿 컴퓨터, 내비게이션 디바이스, 휴대용 미디어 디바이스, 또는 사용자의 스마트 폰일 수 있다. 사용자는 사람 사용자(예를 들어, 인간), 머신 사용자(예를 들어, 디바이스(101)와 상호작용하기 위한 소프트웨어 프로그램에 의해 구성된 컴퓨터), 또는 그들의 임의의 적절한 조합(예를 들어, 머신에 의해 도움받는 사람 또는 사람에 의해 감독받는 머신)일 수 있다.
센서들(202)은 예를 들어, 근접 센서, 광학 센서(예를 들어, 카메라), 방향 센서(예를 들어, 자이로스코프), 오디오 센서(예를 들어, 마이크로폰), 또는 그들의 임의의 적절한 조합을 포함할 수 있다. 예를 들어, 센서들(202)은 디바이스(101)에 후방 카메라(rear facing camera) 및 전방 카메라(front facing camera)를 포함할 수 있다. 본 명세서에서 설명되는 센서들은 예시의 목적들을 위한 것이고, 그러므로 센서들(202)은 설명된 것들로 제한되지 않는 것을 유의한다.
디스플레이(204)는 예를 들어, 터치스크린 디스플레이 상의 접촉을 통해 사용자 입력을 수신하도록 구성된 터치스크린 디스플레이를 포함할 수 있다. 일 예에서, 디스플레이(204)는 프로세서(206)에 의해 생성된 이미지들을 디스플레이하도록 구성된 스크린 또는 모니터를 포함할 수 있다. 다른 예에서, 디스플레이(204)는 사용자가 디스플레이(104)를 통해 관통하여 볼 수 있도록 투명 또는 반투명할 수 있다.
프로세서(206)는 통지 모듈(210), 증강 현실 애플리케이션(212)을 포함할 수 있다. 통지 모듈(210)은 디바이스(101)의 사용자와 연관된 통지 서버로부터의 통신 통지에 액세스할 수 있다. 예를 들어, 통지 서버는 이메일 통지, 약속 리마인더, 및 업무 리마인더들을 생성하도록 구성되는 이메일 서버를 포함할 수 있다. 통지 서버는 디바이스(101)의 사용자와 관련된 소셜 네트워크 정보 업데이트들의 통지를 생성하도록 구성되는 소셜 네트워크 서버를 포함할 수 있다.
증강 현실 애플리케이션(212)은 디바이스(101)의 디스플레이(204)에서 디바이스(101)의 카메라에 의해 캡처된 물리적 객체의 이미지 상에 오버레이되는(예를 들어, 그 위에 중첩되는, 또는 다른 방식으로 공동으로 디스플레이되는) 3차원 가상 객체의 시각화를 생성할 수 있다. 3차원 가상 객체의 시각화는 디바이스(101)의 카메라에 대해 상대적인 물리적 객체의 위치(예를 들어, 그것의 물리적 위치, 방향, 또는 둘 다)를 조절함으로써 조작될 수 있다. 유사하게, 3차원 가상 객체의 시각화는 물리적 객체에 대해 상대적인 디바이스(101)의 카메라 위치를 조절함으로써 조작될 수 있다.
일 실시예에서, 증강 현실 애플리케이션(212)은 캡처된 이미지와 연관된 가상 객체들(예를 들어, 캡처된 이미지에 대응하는 가상 객체들)의 3차원 모델들을 검색한다. 예를 들어, 캡처된 이미지는 식별 가능한 이미지, 심볼, 문자, 숫자, 머신 판독가능 코드로 구성된 시각적 레퍼런스(마커(marker)라고도 지칭함)를 포함할 수 있다. 예를 들어, 시각적 레퍼런스는 3차원 가상 객체와 이전에 연관되어진 바코드, QR(quick response) 코드, 또는 이미지(예를 들어, 3차원 가상 객체에 대응하는 것으로 이전에 결정되었던 이미지)를 포함할 수 있다.
일 실시예에서, 증강 현실 애플리케이션(212)은 증강 현실 통지 모듈(214) 및 물리적 세계 조작 모듈(216)을 포함한다. 증강 현실 통지 모듈(214)은 디바이스(101)의 디스플레이(204)에, 디바이스(101)의 사용자를 위해 통신 통지(예를 들어, 의사를 호출하기 위한 리마인더)와 연관된 가상 객체(예를 들어, 노란 리마인더 스티키 노트)를 생성한다. 예를 들어, 가상 객체(예를 들어, 노란 리마인더 스티키 노트)는 디바이스(101)에 의해 캡처된 물리적 객체(예를 들어, 물리적 전화)의 이미지와 결부될 수 있다(예를 들어, 물리적 전화의 상부에 표류함). 특히, 물리적 객체(예를 들어, 물리적 전화)는 통신 통지(예를 들어, 리마인더 또는 음성메일)와 연관될 수 있다. 그 후 증강 현실 통지 모듈(214)은 물리적 객체(예를 들어, 물리적 전화)에 대해 상대적인 디바이스(101)의 위치에 기초하여 가상 객체(예를 들어, 음성메일 심볼)의 시각화를 렌더링한다. 증강 현실 통지 모듈(214)은 도 3과 관련하여 하기에 더 상세히 기술된다.
일 실시예에서, 물리적 세계 조작 모듈(216)은 물리적 객체(예를 들어, 물리적 전화)를 식별할 수 있고, 물리적 객체의 물리적 조작들(예를 들어, 물리적 전화 핸드셋을 들어올림)과 연관된 가상 기능들(예를 들어, 근방의 텔레비전의 볼륨을 높이거나 줄임)에 액세스할 수 있고, 물리적 객체의 물리적 조작에 대응하는 가상 기능을 생성할 수 있다. 물리적 세계 조작 모듈(216)은 도 4와 관련하여 하기에 더 상세히 기술된다.
다른 실시예에서, 디바이스(101)는 캡처된 이미지가 디바이스(101)에서 이미지들 및 대응하는 부가 정보(예를 들어, 3차원 모델 및 상호작용형 피처들)의 로컬 데이터베이스에 로컬하게 저장된 이미지와 일치하는지 결정하도록 구성된 정황적 로컬 이미지 인지 모듈(도시 생략)을 포함한다. 일 실시예에서, 정황적 로컬 이미지 인지 모듈은 서버(110)로부터 일차 콘텐츠 데이터세트를 검색하고, 디바이스(101)에 의해 캡처된 이미지에 기초하여 정황적 콘텐츠 데이터세트를 생성 및 업데이트한다.
스토리지 디바이스(208)는 시각적 레퍼런스들(예를 들어, 이미지들) 및 대응 경험들(예를 들어, 3차원 가상 객체들, 3차원 가상 객체들의 상호작용형 피처들)의 데이터베이스를 저장하도록 구성될 수 있다. 예를 들어, 시각적 레퍼런스는 머신 판독가능 코드 또는 이전에 식별된 이미지(예를 들어, 신발의 사진)를 포함할 수 있다. 이전에 식별된 신발의 이미지는 신발의 사진에 대해 상대적으로 디바이스(101)의 위치를 조작함으로써 상이한 각도들로부터 보여질 수 있는 신발의 3차원 가상 모델에 대응할 수 있다. 3차원 가상 신발의 피처들은 신발의 3차원 가상 모델 상의 선택 가능한 아이콘들을 포함할 수 있다. 아이콘은 디바이스(101) 상에서 탭핑하거나 이동시킴으로써 선택 또는 활성화될 수 있다.
일 실시예에서, 스토리지 디바이스(208)는 일차 콘텐츠 데이터세트, 정황적 콘텐츠 데이터세트, 시각화 콘텐츠 데이터세트를 포함한다. 일차 콘텐츠 데이터세트는 예를 들어, 이미지들의 제1 세트 및 대응하는 경험들(예를 들어, 3차원 가상 객체 모델들과의 상호작용)을 포함한다. 예를 들어, 이미지는 하나 이상의 가상 객체 모델들과 연관될 수 있다. 일차 콘텐츠 데이터세트는 서버(110)에 의해 결정되는 이미지들의 핵심 세트 또는 가장 인기 있는 이미지들을 포함할 수 있다. 이미지들의 핵심 세트는 서버(110)에 의해 식별된 제한된 개수의 이미지들을 포함할 수 있다. 예를 들어, 이미지들의 핵심 세트는 열 개의 가장 인기 있는 잡지들의 커버들을 묘사하는 이미지들 및 그들의 대응하는 경험들(예를 들어, 열 개의 가장 인기 있는 잡지들을 나타내는 가상 객체들)을 포함할 수 있다. 다른 예에서, 서버(110)는 서버(110)에서 수신되는 종종 스캐닝된 이미지들 또는 가장 인기 있는 것에 기초한 이미지들의 제1 세트를 생성할 수 있다. 그러므로, 일차 콘텐츠 데이터세트는 디바이스(101)의 증강 현실 애플리케이션(212)에 의해 스캐닝된 이미지들 또는 객체들에 의존하지 않는다.
정황적 콘텐츠 데이터세트는 예를 들어, 서버(110)로부터 검색된 이미지들의 제2 세트 및 대응하는 경험들(예를 들어, 3차원 가상 객체 모델들)을 포함한다. 예를 들어, 일차 콘텐츠 데이터세트에서 (예를 들어, 서버(110)에 의해) 인지되지 않은 디바이스(101)에 의해 캡처된 이미지들은 인지를 위해 서버(110)에 제출된다. 캡처된 이미지가 서버(110)에 의해 인지되면, 대응하는 경험이 디바이스(101)에서 다운로드될 수 있고 정황적 콘텐츠 데이터세트에 저장될 수 있다. 그러므로, 정황적 콘텐츠 데이터세트는 디바이스(101)가 이용되었던 정황에 의존한다. 이에 따라, 정황적 콘텐츠 데이터세트는 디바이스(101)의 증강 현실 애플리케이션(212)에 의해 스캐닝된 이미지들 또는 객체들에 의존한다.
일 실시예에서, 디바이스(101)는 시각적 레퍼런스들, 대응하는 3차원 가상 객체들, 및 3차원 가상 객체들의 대응하는 상호작용형 피처들의 데이터베이스의 일부를 검색하기 위해 서버(110)와, 네트워크(108)를 통해, 통신할 수 있다. 네트워크(108)는 머신들, 데이터베이스들, 및 디바이스들(예를 들어, 디바이스(101)) 간에 또는 그들 중에 통신할 수 있게 하는 임의의 네트워크일 수 있다. 따라서, 네트워크(108)는 유선 네트워크, 무선 네트워크(예를 들어, 모바일, 또는 셀룰러 네트워크) 또는 그들의 임의의 적절한 조합일 수 있다. 네트워크(108)는 사설 네트워크, 공용 네트워크(예를 들어, 인터넷), 또는 그들의 임의의 적절한 조합을 구성하는 하나 이상의 부분들을 포함할 수 있다.
본 명세서에 기술되는 임의의 하나 이상의 모듈들은 하드웨어(예를 들어, 머신의 프로세서) 또는 하드웨어와 소프트웨어의 조합을 이용하여 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 임의의 모듈은 그 모듈에 대해 본 명세서에서 기술되는 동작들을 수행하기 위해 프로세서를 구성할 수 있다. 또한, 임의의 두 개 이상의 모듈들은 단일 모듈로 결합될 수 있고, 단일 모듈에 대해 본 명세서에 기술된 기능들은 복수의 모듈들 중에 세분될 수 있다. 또한, 다양한 예시적 실시예들에 따라, 단일 머신, 데이터베이스, 또는 디바이스 내에 구현되는 것으로서 본 명세서에 기술되는 모듈들은 복수의 머신들, 데이터베이스들, 또는 디바이스들에 걸쳐 분산될 수 있다.
도 3은 일부 예시적 실시예들에 따른, 도 2의 증강 현실 통지 모듈(214)의 모듈들(예를 들어, 컴포넌트들)을 도시하는 블록도이다. 증강 현실 통지 모듈(214)은 레퍼런스 식별자 모듈(304), 통지 시각화 모듈(302), 및 가상 객체 생성기(306)를 포함할 수 있다. 레퍼런스 식별자 모듈(304)은 통신 통지와 연관된 레퍼런스 식별자들에 액세스할 수 있다. 예를 들어, 레퍼런스 식별자는 이메일 통지와 연관된 검은 물리적 레터 트레이의 사진일 수 있다. 통지 시각화 모듈(302)은 레퍼런스 식별자들과 연관된 증강 현실 시각화에 액세스할 수 있다. 예를 들어, 증강 현실 시각화는 검은 물리적 레터 트레이와 연관된 깜빡이는 이메일 아이콘 또는 하얀 물리적 레터 트레이와 연관된 레터들의 가상 스택을 포함할 수 있다. 다른 예에서, 검은 물리적 레터 트레이는 특정 이메일 계정으로부터의 이메일들과 연관될 수 있는 반면, 하얀 물리적 레터 트레이는 다른 이메일 계정 또는 소셜 네트워크 서비스 계정과 연관될 수 있다.
가상 객체 생성기(306)는 물리적 객체의 이미지에서의 레퍼런스 식별자와 연관된 증강 현실 시각화를 이용하여 물리적 객체의 이미지에서의 레퍼런스 식별자와 결부된 가상 객체를 생성할 수 있다. 예를 들어, 새로운 이메일 통지를 받으면, 가상 객체 생성기(306)는 디바이스(101)의 디스플레이(204)에서 물리적 레터 트레이의 캡처된 이미지 위에 깜빡이는 가상 이메일 아이콘을 생성한다.
다른 실시예에서, 통지 시각화 모듈(302)은 가상 객체의 피처를 변화시킬 수 있다. 예를 들어, 이메일 아이콘은 새로운 이메일 통지에 기초하여 상이한 색으로 변화할 수 있다. 예를 들어, 긴급하거나 중요하다고 마크된 새로운 이메일은 가상 객체 생성기(306)로 하여금 디바이스(101)의 디스플레이(204)에서 물리적 레터 트레이의 이미지의 상부에 깜빡이는 빨간 이메일 아이콘을 생성하게 할 수 있다. 다른 예에서, 소셜 네트워크 서비스를 나타내는 아이콘은 새로운 소셜 네트워크 활동 통지에 기초하여 디스플레이될 수 있다. 예를 들어, 친구로부터의 업데이트를 가진 소셜 네트워크 통지는 가상 객체 생성기(306)로 하여금 디바이스(101)의 디스플레이(204)에서 물리적 레터 트레이의 이미지의 상부에 친구의 사진을 갖는 소셜 네트워크 서비스를 나타내는 아이콘을 생성하게 할 수 있다.
다른 실시예에서, 통지 시각화 모듈(302)은 물리적 객체의 이미지에서의 레퍼런스 식별자와 연관된 증강 현실 시각화에 기초하여 가상 객체를 다른 가상 객체로 대체할 수 있다(가상 객체를 제거하고 다른 가상 객체를 부가함).
도 4는 일부 예시적 실시예들에 따른, 도 2의 물리적 세계 조작 모듈(216)의 모듈들(예를 들어, 컴포넌트들)을 도시하는 블록도이다. 물리적 세계 조작 모듈(216)은 물리적 객체 식별기(402), 물리적 객체 조작 검출기(404), 및 가상 액추에이터(406)를 포함한다.
물리적 객체 식별기(402)는 물리적 객체, 및 물리적 객체의 물리적 조작들과 연관된 가상 기능성들을 식별할 수 있다. 예를 들어, 벽 상의 물리적 노브(knob)는 물리적 세계에서 임의의 다른 디바이스들과의 어떤 기능성들도 갖지 않을 수 있다. 다시 말하면, 노브는 단지 회전할 수 있고, 전기적으로 임의의 다른 디바이스에 연결되지 않는다. 그러므로, 노브의 회전은 물리적 세계에서 임의의 다른 디바이스들에 영향을 미치지 않는다. 이에 따라, 물리적 객체 식별기(402)는 노브의 물리적 조작들에 기초하여 노브, 및 연관된 가상 기능성들을 식별할 수 있다. 다시 말하면, 노브를 시계 방향으로 회전시키는 것은 노브와 근방의 텔레비전 세트가 임의의 물리적 또는 전기적 관계를 갖지 않더라도 근방의 텔레비전 세트의 볼륨을 높이는 기능을 트리거할 수 있다. 유사하게, 노브를 반시계 방향으로 회전시키는 것은 근방의 텔레비전 세트의 볼륨을 줄이는 기능을 트리거할 수 있다. 이에 따라 가상 기능성들은 물리적 세계에서의 임의의 물리적 객체에 할당될 수 있다. 다른 예에서, 물리적 조작은, 근방의 텔레비전 세트를 켜고, 조명이 원격 컨트롤과 통신하지 않거나 전기적으로 연결되지 않더라도 동일 방에서 조명을 낮추는 연관된 가상 기능성을 가지는, 원격 컨트롤을 테이블 위에 정면이 위로 되게 배치하는 것을 포함할 수 있다. 유사하게, 물리적 조작은, 근방의 텔레비전 세트를 끄고, 조명이 원격 컨트롤과 통신하지 않거나 전기적으로 연결되지 않더라도 동일 방에서 조명을 올리는 연관된 가상 기능성을 가지는, 원격 컨트롤을 테이블 위에 정면이 아래로 되게 배치하는 것을 포함할 수 있다.
물리적 객체 조작 검출기(404)는 물리적 객체의 물리적 조작을 식별할 수 있다. 예를 들어, 물리적 객체 조작 검출기(404)는 원격 컨트롤이 표면 상에 정면이 위로 되게 또는 정면이 아래로 되게 배치되는지 식별할 수 있다. 다른 예에서, 물리적 객체 조작 검출기(404)는 다이얼 또는 노브의 회전 또는 스위치의 위치를 식별할 수 있다. 다른 예에서, 물리적 객체 조작 검출기(404)는 문이 닫히거나 열리는지 결정할 수 있다.
가상 액추에이터(406)는 물리적 객체의 식별된 물리적 조작에 대응하는 가상 기능을 생성할 수 있다. 일 실시예에서, 가상 액추에이터(406)는 물리적 객체의 식별된 물리적 조작에 대응하는 가상 사용자 인터페이스를 생성한다. 예를 들어, 스위치가 온 위치로 이동되는 것은 스위치의 상부에 디스플레이될 특정 가상 사용자 인터페이스를 생성할 수 있다. 다른 예에서, 박스 내부에 디스플레이되는 가상 사용자 인터페이스를 생성하기 위해 박스의 뚜껑이 열릴 수 있다.
가상 액추에이터(406)는 물리적 객체의 식별된 물리적 조작에 응답하여 다른 디바이스를 제어하기 위한 가상 기능을 위한 명령을 생성할 수 있다. 일 실시예에서, 다른 디바이스는 물리적 객체와 임의의 관계를 갖지 않거나, 그것과 전기적으로 연결되지 않는다.
다른 예에서, 가상 액추에이터(606)는 전화를 방해 금지 모드로 전환하기 및 물리적 객체와 연관된 미리 정의된 수신자에게 이메일 또는 텍스트를 전송하기 등과 것과 같은 명령을 생성할 수 있다.
도 5는 일부 예시적 실시예들에 따른, 서버(110)의 모듈들(예를 들어, 컴포넌트들)을 도시하는 블록도이다. 서버(110)는 콘텐츠 생성기(502), 물리적 객체 검출기(504), 물리적 객체 기능 모듈(505), 및 데이터베이스(506)를 포함한다.
콘텐츠 생성기(502)는 물리적 객체에 대해 상대적인 디바이스(101)의 위치에 기초하여 디바이스(101)의 디스플레이(204)에 렌더링될 가상 객체의 모델을 생성할 수 있다. 물리적 객체 검출기(504)는 디바이스(101)에 의해 캡처된 이미지로부터 물리적 객체의 물리적 이동을 식별한다. 물리적 객체 기능 모듈(505)은 물리적 움직임과 연관된 가상 기능성들을 결정한다.
데이터베이스(506)는 콘텐츠 데이터세트(508), 가상 콘텐츠 데이터세트(510), 및 가상 기능 데이터세트(512)를 저장할 수 있다. 콘텐츠 데이터세트(508)는 일차 콘텐츠 데이터세트 및 정황적 콘텐츠 데이터세트를 저장할 수 있다. 일차 콘텐츠 데이터세트는 이미지들의 제1 세트 및 대응하는 가상 객체 모델들을 포함한다. 콘텐츠 생성기(502)는 디바이스(101)로부터 수신되는 캡처된 이미지가 콘텐츠 데이터세트(508)에서 인지되지 않는 것으로 결정하고, 디바이스(101)에 대한 정황적 콘텐츠 데이터세트를 생성한다. 정황적 콘텐츠 데이터세트는 이미지들의 제2 세트 및 대응하는 가상 객체 모델들을 포함할 수 있다. 가상 콘텐츠 데이터세트(510)는 대응하는 물리적 객체의 이미지와 연관된 통지를 수신하면 생성될 가상 객체들의 모델들을 포함한다. 가상 기능 데이터세트(512)는 물리적 객체들의 대응하는 물리적 조작과 연관된 가상 기능성들을 포함한다.
도 6은 일부 예시적 실시예들에 따른, 디바이스(101)의 증강 현실 통지 모듈(214)의 동작을 도시하는 래더 다이어그램이다. 동작(602)에서, 디바이스(101)는 레퍼런스 식별자들의 세트를 다운로드한다. 동작(604)에서, 디바이스(101)는 물리적 객체의 이미지를 캡처한다. 동작(606)에서, 디바이스는 물리적 객체의 캡처된 이미지에서의 레퍼런스 식별자를 식별한다. 동작(608)에서, 메일 서버(602)는 새로운 메일 통지를 디바이스(101)에 전송한다. 동작(610)에서, 디바이스(101)는 메일 서버(601)로부터의 새로운 메일 통지에 응답하여 캡처된 이미지에서의 레퍼런스 식별자와 연관된 가상 객체를 생성한다.
도 7은 일부 예시적 실시예들에 따른, 디바이스(101)의 물리적 세계 조작 모듈(216)의 동작을 도시하는 래더 다이어그램이다. 동작(702)에서, 디바이스(101)는 물리적 객체의 이미지를 캡처하는 데 사용된다. 동작(704)에서, 디바이스(101)는 물리적 객체의 이미지를 서버(110)에 전송한다. 동작(706)에서, 서버(110)는 디바이스(101)에 의해 전송된 이미지로부터 물리적 객체를 식별하고 인지한다. 다시 말하면, 서버(110)는 도 5의 데이터베이스(506)에 저장된 가상 기능성들을 가진 식별된 물리적 객체들과, 물리적 객체의 이미지를 비교한다. 동작(708)에서, 서버(110)는 물리적 객체의 가상 기능을 결정한다. 동작(710)에서, 서버(110)는 물리적 객체의 가상 기능성을 디바이스(101)에 전송한다. 동작(712)에서, 디바이스(101)는 물리적 객체의 그 조작을 검출하고, 다른 디바이스(701)에의 대응하는 가상 기능성을 생성한다. 일 실시예에서, 디바이스(101)에 의해 검출된 물리적 객체는 다른 디바이스(701)에 전기적으로 결합되지 않는다.
도 8a는 디바이스(101)의 증강 현실 통지 모듈(214)의 제1 동작 예를 도시하는 도면이다. 디바이스(101)는 그것의 후방 카메라(802)를 이용하여, 물리적 레터 트레이(804)의 이미지를 캡처한다. 디바이스(101)는 메일 서버(810)로부터 새로운 이메일들의 통지를 수신한다. 새로운 이메일들의 통지에 응답하여, 디바이스(101)는 디스플레이(803)에서 레터 트레이(808)의 이미지의 상부에 메일들(806)의 가상 스택을 생성한다.
도 8b는 디바이스(101)의 증강 현실 통지 모듈(214)의 제2 동작 예를 도시하는 도면이다. 디바이스(101)는 그것의 후방 카메라(802)를 이용하여, 화분(812)의 이미지를 캡처한다. 디바이스(101)는 캘린더 서버(814)로부터 화분(812)에 물주기 위한 리마인더의 통지를 수신한다. 리마인더의 통지에 응답하여, 디바이스(101)는, 디스플레이(803)에서, 화분(816)의 사진을 생성하고, 노란색(818)으로 화분(816)의 사진을 채색한다.
도 8c는 디바이스(101)의 증강 현실 통지 모듈(214)의 제3 동작 예를 도시하는 도면이다. 디바이스(101)는 그것의 후방 카메라(802)를 이용하여, 캘린더(820)의 이미지를 캡처한다. 디바이스(101)는 캘린더 서버(814)로부터 휴가의 통지를 수신한다. 휴가의 통지에 응답하여, 디바이스(101)는 디스플레이(803)에서, 캘린더(822)의 사진의 디스플레이(803)에 채색된 휴일들(824)을 갖는 캘린더(822)의 사진을 생성한다.
도 9a는 디바이스(101)의 물리적 세계 조작 모듈(216)의 제1 동작 예를 도시하는 도면이다. 디바이스(101)는 그것의 후방 카메라(902)를 이용하여 디스플레이(903)에서의 디스플레이를 위해 노브(904)의 이미지(905)를 캡처한다. 디바이스(101)는 노브(904)의 물리적 조작들과 연관된 가상 기능성들을 검색한다. 예를 들어, 노브(904)의 가상 기능성들은 볼륨 컨트롤 기능들(906)을 포함할 수 있다.
도 9b는 디바이스(101)의 물리적 세계 조작 모듈(216)의 제2 동작 예를 도시하는 도면이다. 디바이스(101)는 노브(904)가 시계 방향으로 회전하도록 물리적으로 조작되는 것을 검출한다. 디바이스(101)는 노브(904)에 할당된 근방의 스테레오의 볼륨을 높이기 위한 가상 기능(908)을 생성한다.
도 9c는 디바이스(101)의 물리적 세계 조작 모듈(216)의 제3 동작 예를 도시하는 도면이다. 디바이스(101)는 노브(904)가 반시계 방향으로 회전되도록 물리적으로 조작되는 것을 검출한다. 디바이스(101)는 노브(904)에 할당된 근방의 스테레오의 볼륨을 줄이기 위한 가상 기능(910)을 생성한다.
도 10은 일부 예시적 실시예들에 따른, 디바이스의 정황적 로컬 이미지 인지 데이터세트 모듈의 동작 예를 도시하는 흐름도이다. 동작(1002)에서, 디바이스(101)는 물리적 객체를 식별한다. 동작(1004)에서, 디바이스(101)는 물리적 객체와 연관된 통신 통지를 수신한다. 동작(1006)에서, 디바이스(101)는 통신 통지와 연관된 가상 객체를 생성한다. 동작(1008)에서, 디바이스(101)는 물리적 객체에 대해 상대적인 디바이스(101)의 위치에 기초하여 가상 객체의 시각화를 렌더링한다.
도 11은 일부 예시적 실시예들에 따른, 디바이스의 정황적 로컬 이미지 인지 데이터세트 모듈의 다른 예시적 동작을 도시하는 흐름도이다. 동작(1102)에서, 디바이스(101)는 물리적 객체를 식별한다. 동작(1104)에서, 디바이스(101)는 물리적 객체의 물리적 조작들과 연관된 가상 기능들에 액세스한다. 동작(1106)에서, 디바이스(101)는 물리적 객체의 물리적 조작을 검출한다. 동작(1108)에서, 디바이스(101)는 물리적 객체의 물리적 조작에 대응하는 가상 기능을 생성한다.
모듈들, 컴포넌트들, 및 로직
특정 실시예들이 본 명세서에서 로직을 포함하는 것으로서 또는 복수의 컴포넌트들, 모듈들, 또는 메커니즘들을 포함하는 것으로서 설명된다. 모듈들은 소프트웨어 모듈들(예를 들어, 머신 판독가능 매체 상에 또는 전송 신호에서 구현된 코드) 또는 하드웨어 모듈들 중 어느 것으로 구성할 수 있다. 하드웨어 모듈은 특정 동작들을 수행할 수 있는 유형 유닛이며, 특정 방식으로 구성 또는 배열될 수 있다. 다양한 예시적 실시예들에서, 하나 이상의 컴퓨터 시스템들(예를 들어, 독립형, 클라이언트, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈들(예를 들어, 프로세서, 또는 프로세서들의 그룹)은 본 명세서에 설명된 바와 같은 특정 동작들을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(예를 들어, 애플리케이션, 또는 애플리케이션 부분)에 의해 구성될 수 있다.
다양한 실시예들에서, 하드웨어 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작들을 수행하기 위해 (예를 들어, 필드 프로그램가능 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)와 같은 특수 목적 프로세서로서) 영구적으로 구성되는 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 모듈은 또한 특정 동작들을 수행하기 위해 소프트웨어에 의해 일시적으로 구성되는 프로그램가능 로직 또는 회로(예를 들어, 범용 프로세서 또는 다른 프로그램가능 프로세서의 내에 포함된 것으로서)를 포함할 수 있다. 기계적으로, 전용으로, 그리고 영구적으로 구성되는 회로로, 또는 일시적으로 구성되는(예를 들어, 소프트웨어에 의해 구성된) 회로로 하드웨어 모듈을 구현하기 위한 결정은 비용 및 시간 고려사항들에 의해 유도될 수 있다는 것이 이해될 것이다.
따라서, "하드웨어 모듈"이라는 용어는, 본 명세서에 설명된 특정 동작들을 수행하도록 그리고/또는 특정 방식으로 동작하도록 일시적으로 구성되는(예를 들어, 프로그래밍되는), 영구적으로 구성되는(예를 들어, 하드와이어드되는), 또는 물리적으로 구성되는 엔티티인 유형 엔티티를 포함하는 것으로 이해해야 한다. 하드웨어 모듈들이 일시적으로 구성되는(예를 들어, 프로그래밍되는) 실시예들을 고려하면, 하드웨어 모듈들 각각은 임의의 하나의 시간 인스턴스에서 인스턴스화되거나 구성될 필요는 없다. 예를 들어, 하드웨어 모듈들이 소프트웨어를 사용하여 구성되는 범용 하드웨어 프로세서를 포함하는 경우, 범용 하드웨어 프로세서는 상이한 시간들에 각각의 상이한 하드웨어 모듈들로서 구성될 수 있다. 따라서, 소프트웨어는 예를 들어, 하나의 시간 인스턴스에서 특정 하드웨어 모듈을 구성하고, 상이한 시간 인스턴스에서 상이한 하드웨어 모듈을 구성하도록 프로세서를 구성할 수 있다.
하드웨어 모듈들은 다른 하드웨어 모듈들에 정보를 제공할 수 있고, 다른 하드웨어 모듈들로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈들은 통신 가능하게 연결되는 것으로 간주될 수 있다. 복수의 그러한 하드웨어 모듈들이 동시에 존재하는 경우에, 통신은 하드웨어 모듈들 연결하는 (예를 들어, 적절한 회로들 및 버스들을 통한) 신호 전송을 통해 달성될 수 있다. 복수의 하드웨어 모듈들이 상이한 시간들에 구성되거나 인스턴스화되는 실시예들에서, 이러한 하드웨어 모듈들 간의 통신은 예를 들어, 복수의 하드웨어 모듈들이 액세스하는 메모리 구조들에서의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작들을 수행할 수 있고, 그 동작의 출력을, 그것이 통신 가능하게 결합되는 메모리 디바이스에 저장할 수 있다. 그러면, 추가의 하드웨어 모듈은, 나중에, 메모리 디바이스에 액세스할 수 있어서, 저장된 출력을 검색 및 처리할 수 있다. 또한, 하드웨어 모듈들은 입력 또는 출력 디바이스들과의 통신을 개시할 수 있고, 리소스(예를 들어, 정보의 컬렉션)에 대해 동작할 수 있다.
본 명세서에 설명된 예시적 방법들의 다양한 동작들은, 관련 동작들을 수행하도록 영구적으로 구성되거나 또는 (예를 들어, 소프트웨어에 의해) 일시적으로 구성되는 하나 이상의 프로세서들에 의해 적어도 부분적으로 수행될 수 있다. 일시적으로 구성되든지 또는 영구적으로 구성되든지 간에, 그러한 프로세서들은 하나 이상의 동작들 또는 기능들을 수행하도록 동작하는 프로세서 구현 모듈들을 구성할 수 있다. 본 명세서에서 언급된 모듈들은 일부 예시적 실시예들에서, 프로세서로 구현된 모듈들을 포함할 수 있다.
유사하게, 본 명세서에서 기술되는 방법들은 적어도 부분적으로 프로세서로 구현될 수 있다. 예를 들어, 방법의 동작들의 적어도 일부는 하나 이상의 프로세서들 또는 프로세서 구현 모듈들에 의해 수행될 수 있다. 동작들 중 특정 동작의 수행은, 단일의 머신 내에 상주할 뿐만 아니라 복수의 머신들에 걸쳐 배치되는 하나 이상의 프로세서들 중에 분산될 수 있다. 일부 예시적 실시예들에서, 프로세서 또는 프로세서들이 단일 위치(예를 들어, 가정 환경, 사무실 환경 내에, 또는 서버 팜으로서)에 배치될 수 있는 반면에, 다른 실시예들에서는, 프로세서들이 다수의 위치들에 걸쳐 분산될 수 있다.
하나 이상의 프로세서들은 또한 "클라우드 컴퓨팅" 환경에서 또는 "SaaS(software as a service)"로서 관련 동작들의 수행을 지원하도록 동작할 수 있다. 예를 들어, 동작들 중 적어도 일부는 (프로세서들을 포함하는 머신들의 예들로서의) 컴퓨터들의 그룹에 의해 수행될 수 있으며, 이러한 동작들은 네트워크를 통해 그리고 하나 이상의 적절한 인터페이스(예를 들어, API들)를 통해 액세스 가능하다.
전자 장치 및 시스템
예시적인 실시예들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 그들의 조합으로 구현될 수 있다. 예시적인 실시예들은 컴퓨터 프로그램 제품 예를 들어, 데이터 처리 장치 예컨대, 프로그램가능 프로세서, 컴퓨터, 또는 복수의 컴퓨터들에 의해 실행되거나 그 동작을 제어하기 위해, 정보 캐리어 예를 들어, 머신 판독 가능한 매체에 실체적으로 구현된 컴퓨터 프로그램을 이용하여 구현될 수 있다.
컴퓨터 프로그램은 컴파일되거나 해석되는 언어를 비롯한 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 자립형 프로그램으로서, 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 서브루틴, 또는 다른 유닛으로서 배치되는 것을 비롯하여 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서, 또는 한 장소에 있거나 복수의 장소들에 걸쳐 분산되어 통신 네트워크에 의해 상호접속되는 복수의 컴퓨터들 상에서 실행되도록 배치될 수 있다.
예시적 실시예들에서, 동작들은 입력 데이터에 대해 연산을 하고 출력을 생성함으로써 기능들을 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 프로세서들에 의해 수행될 수 있다. 특수 목적 로직 회로(예를 들면, FPGA 또는 ASIC)에 의해 방법 동작들이 또한 수행될 수 있고, 예시적 실시예들의 장치가 그러한 특수 목적 로직 회로로서 구현될 수 있다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터 상에서 실행되며 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의하여 발생한다. 프로그램가능 컴퓨팅 시스템을 활용하는 실시예들에서, 하드웨어와 소프트웨어 아키텍처들 둘 다의 장점을 고려하는 것이 이해될 것이다. 특히, 특정 기능을, 영구히 구성되는 하드웨어(예를 들어, ASIC)로, 일시적으로 구성되는 하드웨어(예를 들어, 소프트웨어와 프로그램가능 프로세서의 조합)로, 또는 영구적으로 그리고 일시적으로 구성되는 하드웨어의 조합으로 구현할 지의 선택은 설계 선택일 수 있다는 것이 이해될 것이다. 아래에는 다양한 예시적 실시예들에서, 활용될 수 있는 하드웨어(예를 들어, 머신)와 소프트웨어 아키텍처들이 설명된다.
예시적 머신 아키텍처 및 머신 판독가능 매체
도 12는 머신으로 하여금, 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하게 하는 명령어들이 실행될 수 있는 컴퓨터 시스템(1200)의 예시적 형태의 머신의 블록도이다. 대안 실시예들에서, 머신은 독립 디바이스로서 동작하거나, 다른 머신들에 접속(예를 들어, 네트워킹)될 수 있다. 네트워킹된 배치에서, 머신은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 능력으로 동작할 수 있거나, 또는 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신은 퍼스널 컴퓨터(PC), 태블릿 PC, 셋탑 박스(set-top box, STB), 개인 정보 단말기(Personal Digital Assistant, PDA), 셀룰러 폰, 웹 가전 제품, 네트워크 라우터, 스위치 또는 브리지, 또는 머신에 의해 취해질 동작들을 지정하는 명령어들을(순차적으로 또는 달리) 실행할 수 있는 임의의 머신일 수 있다. 또한, 단일 머신만이 예시되지만, 용어 "머신"은 또한 본 명세서에서 논의되는 방법론들 중 임의의 하나 이상을 수행하기 위해 명령어들의 세트(또는 복수의 세트들)를 개별적으로 또는 공동으로 실행하는 머신들의 임의의 집합을 포함하는 것으로도 간주될 것이다.
예시적 컴퓨터 시스템(1200)은 프로세서(1202)(예를 들면, 중앙 처리 유닛(CPU), 그래픽스 처리 유닛(GPU), 또는 둘 다), 메인 메모리(1204), 및 스태틱 메모리(1206)를 포함하는데, 이들은 버스(1208)를 통하여 서로 통신한다. 컴퓨터 시스템(1200)은 비디오 디스플레이 유닛(1210)(예를 들어, 액정 디스플레이(Liquid Crystal Display, LCD) 또는 음극선관(Cathode Ray Tube, CRT))을 더 포함할 수 있다. 컴퓨터 시스템(1200)은 또한 영숫자 입력 디바이스(1212)(예를 들어, 키보드), 사용자 인터페이스(UI) 내비게이션 (또는 커서 제어) 디바이스(1214)(예를 들어, 마우스), 디스크 드라이브 유닛(1216), 신호 생성 디바이스(1218)(예를 들어, 스피커), 및 네트워크 인터페이스 디바이스(1220)를 포함한다.
머신 판독가능 매체
디스크 드라이브 유닛(1216)은 본 명세서에서 설명된 방법론들 또는 기능들 중 임의의 하나 이상을 구현되거나 그에 의해 이용되는 데이터 구조들 및 명령어들(1224)(예를 들어, 소프트웨어)의 하나 이상의 세트들을 저장하는 머신 판독가능 매체(1222)를 포함한다. 명령어들(1224)은 또한 컴퓨터 시스템(1200)에 의한 그들의 실행 동안 메인 메모리(1204) 내에 그리고/또는 프로세서(1202) 내에 완전히 또는 적어도 부분적으로 상주할 수 있는데, 메인 메모리(1204)와 프로세서(1202)는 또한 머신 판독가능 매체를 구성한다. 명령어들(1224)은 또한 스태틱 메모리(1206) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다.
머신 판독가능 매체(1222)는 예시적 실시예에서 단일 매체인 것으로 나타내어지지만, 용어 "머신 판독가능 매체"는 하나 이상의 명령어들(1224) 또는 데이터 구조들을 저장하는 단일 매체 또는 복수의 매체(예를 들어, 중앙 집중형, 또는 분산형 데이터베이스 및/또는 연관된 캐시들 및 서버들)를 포함할 수 있다. 용어 "머신 판독가능 매체"는 또한, 머신에 의한 실행을 위한 명령어들을 저장, 인코딩, 또는 전달할 수 있고, 머신으로 하여금 본 실시예들의 방법론들 중 임의의 하나 이상을 수행하게 하거나, 그러한 명령어들에 의해 이용되거나 그들과 연관된 데이터 구조들을 저장, 인코딩, 또는 전달할 수 있는 임의의 유형 매체를 포함하는 것으로 간주될 것이다. 따라서, 용어 "머신 판독가능 매체"는 솔리드 스테이트 메모리, 및 광학 및 자기 매체를 포함하지만, 이에 한정되지 않는 것으로 간주될 것이다. 머신 판독가능 매체의 구체적인 예들은, 예로서 반도체 메모리 디바이스들(예를 들면, 소거 가능한 프로그램가능 판독 전용 메모리(EPROM), 전기적 소거 가능한 프로그램가능 판독 전용 메모리(EEPROM)), 및 플래시 메모리 디바이스들)을 포함하는 비-휘발성 메모리; 내부 하드 디스크들 및 이동식 디스크들과 같은 자기 디스크들; 광 자기 디스크들; 및 컴팩트 디스크 - 판독 전용 메모리(CD-ROM) 및 디지털 다기능 디스크(또는 디지털 비디오 디스크) 판독 전용 메모리(DVD-ROM) 디스크들을 포함한다.
전송 매체
명령어들(1224)은 전송 매체를 이용하여 통신 네트워크(1226)를 통해 더 송신 또는 수신될 수 있다. 명령어들(1224)은 다수의 주지된 전송 프로토콜들(예를 들어, HTTP) 중 어느 하나 및 네트워크 인터페이스 디바이스(1220)를 이용하여 전송될 수 있다. 통신 네트워크들의 예들은 LAN, WAN, 인터넷, 이동 전화 네트워크들, POTS 네트워크들, 및 무선 데이터 네트워크들(예를 들어, WiFi 및 WiMax 네트워크들)을 포함한다. 용어 "전송 매체"는 머신에 의한 실행을 위한 명령어들을 저장, 인코딩, 또는 전달할 수 있는 임의의 무형 매체를 포함하는 것으로 간주될 것이며, 디지털 또는 아날로그 통신 신호들 또는 그러한 소프트웨어의 통신을 가능하게 하기 위한 다른 무형 매체를 포함한다.
실시예가 특정 예시적 실시예들을 참조하여 기술되어 있지만, 본 개시의 광의의 정신 및 범위를 벗어나지 않고 이러한 실시예들에 여러 가지 수정들 및 변형들이 행해질 수 있다는 것은 명백할 것이다. 따라서, 명세서, 및 도면들은 제한적이라기보다는 예시적 것으로 간주되어야 한다. 본 명세서의 일부를 구성하는 첨부 도면은 주제가 실시될 수 있는 특정 실시예들을 제한적으로가 아니라 예시적으로 도시한다. 예시된 실시예들은 통상의 기술자가 본 명세서에 개시된 교시를 실시할 수 있도록 충분히 구체적으로 설명된다. 본 개시의 범위로부터 벗어남이 없이 구조적 및 논리적 대안들 및 변형들이 이루어질 수 있도록 다른 실시예들도 이용될 수 있고 그로부터 파생될 수 있다. 따라서, 본 상세한 설명은 제한적인 의미로 간주되지 않아야 하고, 다양한 실시예들의 범위는 청구항들에 부여되는 균등물들의 모든 범위와 더불어, 첨부의 청구항들에 의해서만 한정된다.
이러한 본 발명 주제의 실시예들은 단지 편의를 위해 그리고 본 출원의 범위를, 실제로 하나보다 많이 개시되었다면 임의의 단일의 발명으로 또는 발명의 개념으로 자발적으로 제한하려는 의도 없이, 본 명세서에서 개별적으로 그리고/또는 집합적으로 "발명"이라는 용어로 지칭될 수 있다. 따라서, 비록 본 명세서에서 구체적인 실시예들이 예시되고 설명되었지만, 동일한 목적을 달성하기 위해 계획된 임의의 구조는 개시된 구체적인 실시예들을 대체할 수 있다는 것이 이해될 것이다. 본 개시 내용은 다양한 실시예들의 임의의 및 모든 개조들 또는 변형들을 포함하고자 의도된다. 전술한 실시예들의 조합들, 및 본 명세서에 구체적으로 기술되지 않은 다른 실시예들은 전술한 설명을 검토할 때 통상의 기술자에게 명백해질 것이다.
독자들이 기술적 개시의 본질을 빠르게 확인하게 해줄 요약서를 요구하는 37 C.F.R. §1.72(b)에 따라 본 개시의 요약서가 제공된다. 그것이 청구항들의 범위 또는 의미를 해석하거나 제한하는 데 이용되지는 않을 것이라고 이해하며 제출된다. 또한, 전술한 상세한 설명에서, 개시의 간략화를 위해 각종 특징들이 단일의 실시예에 함께 그룹화된 것을 알 수 있다. 이러한 개시의 방법은 청구되는 실시예들이 각각의 청구항에 명확히 기재된 것보다 더 많은 특징들을 필요로 한다는 의도를 반영하는 것으로서 해석되지 않아야 한다. 오히려, 하기의 청구항들이 반영하는 바와 같이, 본 발명의 내용은 단일의 개시된 실시예의 모든 특징들보다 더 적은 특징들에 존재한다. 따라서, 하기의 청구항들은, 각각의 청구항이 그 자체로 개별 실시예로서 성립하면서, 이에 의해 상세한 설명에 통합된다.

Claims (20)

  1. 디바이스로서,
    물리적 객체의 이미지를 캡처하도록 구성된 카메라; 및
    증강 현실 애플리케이션 및 증강 현실 통지 모듈을 포함하는 프로세서를 포함하고,
    상기 증강 현실 애플리케이션은 네트워크를 통해 상기 이미지를 원격 서버에 통신하고 - 상기 원격 서버는 컴퓨팅 디바이스의 사용자에 대한 통신 통지 및 상기 이미지와 연관된 가상 객체 데이터를 포함함 -, 상기 컴퓨팅 디바이스에서 상기 가상 객체 데이터를 수신하도록 구성되고,
    상기 증강 현실 통지 모듈은 상기 가상 객체 데이터를 이용하여 가상 풍경에 가상 이미지를 디스플레이하고, 상기 사용자에 의해 유발된 상기 물리적 객체와 상기 컴퓨팅 디바이스 간의 상대적 이동에 응답하여, 상기 가상 이미지를 변경하도록 구성되는, 디바이스.
  2. 제1항에 있어서, 상기 프로세서는:
    상기 물리적 객체의 물리적 조작들과 연관된 가상 기능들을 수신하고, 상기 물리적 객체의 물리적 조작에 대응하는 가상 기능을 생성하도록 구성되는 물리적 세계 조작 모듈을 더 포함하는, 디바이스.
  3. 제1항에 있어서, 상기 프로세서는:
    상기 컴퓨팅 디바이스의 사용자와 연관된 통지 서버로부터 상기 통신 통지를 수신하도록 구성된 통지 모듈을 더 포함하고, 상기 통신 통지는 이메일 통지, 캘린더 리마인더 통지, 또는 소셜 네트워크 통지를 포함하는, 디바이스.
  4. 제1항에 있어서, 상기 증강 현실 통지 모듈은 레퍼런스 식별자 모듈, 통지 시각화 모듈, 및 가상 객체 생성기를 포함하고,
    상기 레퍼런스 식별자 모듈은 상기 통신 통지와 연관된 레퍼런스 식별자들에 액세스하도록 구성되고,
    상기 통지 시각화 모듈은 상기 레퍼런스 식별자들과 연관된 증강 현실 시각화에 액세스하도록 구성되고,
    상기 가상 객체 생성기는 상기 물리적 객체의 이미지에서의 레퍼런스 식별자와 연관된 상기 증강 현실 시각화를 이용하여 상기 물리적 객체의 이미지에서 그 레퍼런스 식별자와 결부된 가상 객체를 생성하도록 구성되는, 디바이스.
  5. 제4항에 있어서,
    상기 통지 시각화 모듈은 상기 가상 객체의 피처를 변화시키고, 상기 물리적 객체의 이미지에서의 상기 레퍼런스 식별자와 연관된 상기 증강 현실 시각화에 기초하여 상기 가상 객체를 다른 가상 객체로 대체하도록 구성되는, 디바이스.
  6. 제2항에 있어서, 상기 물리적 세계 조작 모듈은 물리적 객체 식별기, 물리적 객체 조작 검출기, 및 가상 액추에이터를 포함하고,
    상기 물리적 객체 식별기는 상기 물리적 객체, 및 상기 물리적 객체의 물리적 조작들과 연관된 가상 기능들을 식별하도록 구성되고,
    상기 물리적 객체 조작 검출기는 상기 물리적 객체의 물리적 조작을 식별하도록 구성되고,
    상기 가상 액추에이터는 상기 물리적 객체의 상기 식별된 물리적 조작에 대응하는 가상 기능을 생성하도록 구성되는, 디바이스.
  7. 제6항에 있어서,
    상기 가상 액추에이터는 상기 물리적 객체의 상기 식별된 물리적 조작에 대응하는 가상 사용자 인터페이스를 생성하도록 구성되는, 디바이스.
  8. 제6항에 있어서,
    상기 가상 액추에이터는 상기 물리적 객체의 상기 식별된 물리적 조작에 응답하여 상기 디바이스 상의 기능을 활성화하도록 구성되는, 디바이스.
  9. 제6항에 있어서,
    상기 가상 액추에이터는 상기 물리적 객체의 상기 식별된 물리적 조작에 응답하여 다른 디바이스를 제어하기 위한 상기 가상 기능에 대한 명령을 생성하도록 구성되고, 상기 다른 디바이스는 상기 물리적 객체와의 통신을 갖지 않는, 디바이스.
  10. 제6항에 있어서,
    상기 물리적 객체의 상기 물리적 조작은 상기 물리적 객체를 움직이거나 또는 회전시키는 것을 포함하는, 디바이스.
  11. 방법으로서,
    컴퓨팅 디바이스를 이용하여 물리적 객체의 이미지를 캡처하는 단계;
    네트워크를 통해 상기 이미지를 원격 서버에 통신하는 단계 - 상기 원격 서버는 상기 컴퓨팅 디바이스의 사용자에 대한 통신 통지 및 상기 이미지와 연관된 가상 객체 데이터를 포함함 -;
    상기 컴퓨팅 디바이스에서 상기 가상 객체 데이터를 수신하는 단계;
    상기 가상 객체 데이터를 이용하여 가상 풍경에 가상 이미지를 디스플레이하는 단계; 및
    상기 사용자에 의해 유발된 상기 물리적 객체와 상기 컴퓨팅 디바이스 간의 상대적 이동에 응답하여, 상기 가상 이미지를 변경하는 단계를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 물리적 객체의 물리적 조작들과 연관된 가상 기능들을 수신하는 단계; 및
    상기 물리적 객체의 물리적 조작에 대응하는 가상 기능을 생성하는 단계를 더 포함하는, 방법.
  13. 제11항에 있어서,
    상기 컴퓨팅 디바이스의 사용자와 연관된 통지 서버로부터 상기 통신 통지를 수신하는 단계를 더 포함하고, 상기 통신 통지는 이메일 통지, 캘린더 리마인더 통지, 또는 소셜 네트워크 통지를 포함하는, 방법.
  14. 제11항에 있어서,
    상기 통신 통지와 연관된 레퍼런스 식별자들에 액세스하는 단계;
    상기 레퍼런스 식별자들과 연관된 증강 현실 시각화에 액세스하는 단계; 및
    상기 물리적 객체의 이미지에서의 레퍼런스 식별자와 연관된 상기 증강 현실 시각화를 이용하여 상기 물리적 객체의 이미지에서 그 레퍼런스 식별자와 결부된 가상 객체를 생성하는 단계를 더 포함하는, 방법.
  15. 제14항에 있어서,
    상기 가상 객체의 피처를 변화시키거나, 또는 상기 물리적 객체의 이미지에서의 상기 레퍼런스 식별자와 연관된 상기 증강 현실 시각화에 기초하여 상기 가상 객체를 다른 가상 객체로 대체하는 단계를 더 포함하는, 방법.
  16. 제12항에 있어서,
    상기 물리적 객체, 및 상기 물리적 객체의 물리적 조작들과 연관된 가상 기능들을 식별하는 단계;
    상기 물리적 객체의 물리적 조작을 식별하는 단계; 및
    상기 물리적 객체의 상기 식별된 물리적 조작에 대응하는 가상 기능을 생성하는 단계를 더 포함하는, 방법.
  17. 제16항에 있어서,
    상기 물리적 객체의 상기 식별된 물리적 조작에 대응하는 가상 사용자 인터페이스를 생성하는 단계를 더 포함하는, 방법.
  18. 제16항에 있어서,
    상기 물리적 객체의 상기 식별된 물리적 조작에 응답하여 상기 컴퓨팅 디바이스 상의 기능을 활성화하는 단계를 더 포함하는, 방법.
  19. 제16항에 있어서,
    상기 물리적 객체의 상기 식별된 물리적 조작에 응답하여 다른 디바이스를 제어하기 위한 상기 가상 기능에 대한 명령을 생성하는 단계를 더 포함하고, 상기 다른 디바이스는 상기 물리적 객체와의 통신을 갖지 않는, 방법.
  20. 명령어들을 포함하는 비-일시적 머신 판독가능 매체로서, 상기 명령어들은 머신의 하나 이상의 프로세서들에 의해 실행될 때, 상기 머신으로 하여금:
    물리적 객체의 이미지를 캡처하는 동작;
    네트워크를 통해 상기 이미지를 원격 서버에 통신하는 동작 - 상기 원격 서버는 컴퓨팅 디바이스의 사용자에 대한 통신 통지 및 상기 이미지와 연관된 가상 객체 데이터를 포함함 -;
    상기 컴퓨팅 디바이스에서 상기 가상 객체 데이터를 수신하는 동작;
    상기 가상 객체 데이터를 이용하여 가상 풍경에 가상 이미지를 디스플레이하는 동작; 및
    상기 사용자에 의해 유발된 상기 물리적 객체와 상기 컴퓨팅 디바이스 간의 상대적 이동에 응답하여, 상기 가상 이미지를 변경하는 동작
    을 포함하는 동작들을 수행하게 하는, 비-일시적 머신 판독가능 매체.
KR1020157037217A 2013-06-03 2014-06-02 실질 세계 객체 조작에 기초한 데이터 조작 KR101803168B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/909,046 2013-06-03
US13/909,046 US9639984B2 (en) 2013-06-03 2013-06-03 Data manipulation based on real world object manipulation
PCT/US2014/040555 WO2014197394A1 (en) 2013-06-03 2014-06-02 Data manipulation based on real world object manipulation

Publications (2)

Publication Number Publication Date
KR20160016964A true KR20160016964A (ko) 2016-02-15
KR101803168B1 KR101803168B1 (ko) 2017-11-29

Family

ID=51984598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157037217A KR101803168B1 (ko) 2013-06-03 2014-06-02 실질 세계 객체 조작에 기초한 데이터 조작

Country Status (7)

Country Link
US (1) US9639984B2 (ko)
EP (1) EP3005683A4 (ko)
JP (1) JP6192817B2 (ko)
KR (1) KR101803168B1 (ko)
AU (1) AU2014275191B2 (ko)
NZ (1) NZ715232A (ko)
WO (1) WO2014197394A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017129045A1 (de) 2016-12-13 2018-06-14 Hyundai Motor Company Druckverschluss für ein Kühlsystem eines Fahrzeugs
KR20190056412A (ko) * 2016-12-02 2019-05-24 구글 엘엘씨 가상 현실의 오브젝트에 대한 협업적 조작
KR20190080244A (ko) * 2017-12-28 2019-07-08 엘에스산전 주식회사 증강 현실 제공 시스템 및 방법
KR20200084784A (ko) * 2019-01-02 2020-07-13 더 보잉 컴파니 개선된 모델들을 사용하는 증강 현실 시스템
KR20200115652A (ko) * 2018-06-25 2020-10-07 구글 엘엘씨 스마트 디바이스들의 식별 및 제어
WO2021107499A1 (ko) * 2019-11-29 2021-06-03 한국과학기술원 투명 평판을 이용한 영상 처리 방법 및 이를 수행하는 장치

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965564B2 (en) 2011-07-26 2018-05-08 Schneider Electric It Corporation Apparatus and method of displaying hardware status using augmented reality
JP2014191718A (ja) 2013-03-28 2014-10-06 Sony Corp 表示制御装置、表示制御方法および記録媒体
US9639984B2 (en) 2013-06-03 2017-05-02 Daqri, Llc Data manipulation based on real world object manipulation
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
FR3008005B1 (fr) * 2013-07-04 2015-06-19 Solystic Procede pour trier des objets postaux au casier avec affichage d'une pile virtuelle d'images d'objet
US20150077340A1 (en) * 2013-09-18 2015-03-19 Genius Toy Taiwan Co., Ltd. Method, system and computer program product for real-time touchless interaction
US9652895B2 (en) * 2014-03-06 2017-05-16 Disney Enterprises, Inc. Augmented reality image transformation
US20160071319A1 (en) * 2014-09-09 2016-03-10 Schneider Electric It Corporation Method to use augumented reality to function as hmi display
US10025546B2 (en) * 2015-07-14 2018-07-17 International Business Machines Corporation Remote device control via transparent display
US10600296B2 (en) * 2015-08-19 2020-03-24 Google Llc Physical knowledge action triggers
US10025375B2 (en) * 2015-10-01 2018-07-17 Disney Enterprises, Inc. Augmented reality controls for user interactions with a virtual world
US20170098049A1 (en) * 2015-10-02 2017-04-06 Spinal Generations, Llc System and method for tracking medical device inventory
US20170154465A1 (en) * 2015-12-01 2017-06-01 MetroStar Systems, Inc. Systems, apparatus, and methods for providing an augmented image of a virtual tombstone via an electronic device
US11184531B2 (en) 2015-12-21 2021-11-23 Robert Bosch Gmbh Dynamic image blending for multiple-camera vehicle systems
JP2017117115A (ja) * 2015-12-22 2017-06-29 富士通株式会社 コンテンツ制御プログラム、コンテンツ制御方法、コンテンツ制御装置、及びコンテンツ表示装置
CN105957141B (zh) * 2016-06-15 2019-01-08 浙江工业大学 一种基于对称结构的三维花朵建模方法
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
CN107423053B (zh) * 2017-06-15 2020-08-21 东莞理工学院 一种遥感图像处理的web化模型封装与分布式处理方法
CN109582122B (zh) * 2017-09-29 2022-05-03 阿里巴巴集团控股有限公司 增强现实信息提供方法、装置及电子设备
US11222081B2 (en) 2017-11-27 2022-01-11 Evoqua Water Technologies Llc Off-line electronic documentation solutions
US20200021668A1 (en) * 2018-07-13 2020-01-16 Merge Labs, Inc. Dynamic augmented reality collaboration system using a trackable three-dimensional object
US11107293B2 (en) * 2019-04-23 2021-08-31 XRSpace CO., LTD. Head mounted display system capable of assigning at least one predetermined interactive characteristic to a virtual object in a virtual environment created according to a real object in a real environment, a related method and a related non-transitory computer readable storage medium
DE102019114495B3 (de) * 2019-05-29 2020-11-19 Alexander Hoch Visualisierungsanordnung
US11763191B2 (en) 2019-08-20 2023-09-19 The Calany Holding S. À R.L. Virtual intelligence and optimization through multi-source, real-time, and context-aware real-world data
KR20210072463A (ko) 2019-12-09 2021-06-17 한국전자통신연구원 인간-머신 상호작용 방법 및 이를 위한 장치
CN111176530A (zh) * 2019-12-31 2020-05-19 中国银行股份有限公司 微信小程序中3d模型展示方法及装置
IT202100022940A1 (it) * 2021-09-06 2023-03-06 Candy Spa Metodo per assistere un utente nell’uso e/o nell’esplorazione delle funzionalità di un elettrodomestico, mediante impiego di realtà aumentata
US11855831B1 (en) 2022-06-10 2023-12-26 T-Mobile Usa, Inc. Enabling an operator to resolve an issue associated with a 5G wireless telecommunication network using AR glasses

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2180899A1 (en) 1995-07-12 1997-01-13 Yasuaki Honda Synchronous updating of sub objects in a three dimensional virtual reality space sharing system and method therefore
JP3745802B2 (ja) 1995-10-13 2006-02-15 株式会社日立製作所 画像生成/表示装置
JP2001136504A (ja) * 1999-11-08 2001-05-18 Sony Corp 情報入出力システム及び情報入出力方法
US6771294B1 (en) * 1999-12-29 2004-08-03 Petri Pulli User interface
JP2004164069A (ja) * 2002-11-11 2004-06-10 Nippon Telegr & Teleph Corp <Ntt> 情報制御システム、情報制御方法、この方法のプログラムおよびこのプログラムを記録した記録媒体
US7961909B2 (en) 2006-03-08 2011-06-14 Electronic Scripting Products, Inc. Computer interface employing a manipulated object with absolute pose detection component and a display
US7394459B2 (en) 2004-04-29 2008-07-01 Microsoft Corporation Interaction between objects and a virtual environment display
US8887066B1 (en) * 2008-04-02 2014-11-11 Facebook, Inc. Communicating plans for users of a social networking system
US8494215B2 (en) * 2009-03-05 2013-07-23 Microsoft Corporation Augmenting a field of view in connection with vision-tracking
US9571625B2 (en) 2009-08-11 2017-02-14 Lg Electronics Inc. Electronic device and control method thereof
KR101612957B1 (ko) 2009-09-11 2016-04-26 엘지전자 주식회사 원격 제어 장치 및 방법
FR2950989B1 (fr) 2009-10-05 2011-10-28 Alcatel Lucent Dispositif d'interaction avec un objet augmente.
KR101080803B1 (ko) 2009-11-17 2011-11-07 한국과학기술연구원 실감 인터랙션 시스템 및 방법
WO2011106520A1 (en) 2010-02-24 2011-09-01 Ipplex Holdings Corporation Augmented reality panorama supporting visually impaired individuals
KR101690955B1 (ko) 2010-10-04 2016-12-29 삼성전자주식회사 증강 현실을 이용한 영상 데이터 생성 방법 및 재생 방법, 그리고 이를 이용한 촬영 장치
JP5741160B2 (ja) * 2011-04-08 2015-07-01 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
KR101239284B1 (ko) 2011-05-31 2013-03-06 삼성에스디에스 주식회사 증강현실 컨텐츠를 통해 타겟장치를 제어하는 제어단말기 및 서버
JP5821526B2 (ja) 2011-10-27 2015-11-24 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US9361730B2 (en) * 2012-07-26 2016-06-07 Qualcomm Incorporated Interactions of tangible and augmented reality objects
US9639984B2 (en) 2013-06-03 2017-05-02 Daqri, Llc Data manipulation based on real world object manipulation

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190056412A (ko) * 2016-12-02 2019-05-24 구글 엘엘씨 가상 현실의 오브젝트에 대한 협업적 조작
DE102017129045A1 (de) 2016-12-13 2018-06-14 Hyundai Motor Company Druckverschluss für ein Kühlsystem eines Fahrzeugs
KR20190080244A (ko) * 2017-12-28 2019-07-08 엘에스산전 주식회사 증강 현실 제공 시스템 및 방법
KR20200115652A (ko) * 2018-06-25 2020-10-07 구글 엘엘씨 스마트 디바이스들의 식별 및 제어
KR20200084784A (ko) * 2019-01-02 2020-07-13 더 보잉 컴파니 개선된 모델들을 사용하는 증강 현실 시스템
WO2021107499A1 (ko) * 2019-11-29 2021-06-03 한국과학기술원 투명 평판을 이용한 영상 처리 방법 및 이를 수행하는 장치
KR20210067503A (ko) * 2019-11-29 2021-06-08 한국과학기술원 투명 평판을 이용한 영상 처리 방법 및 이를 수행하는 장치

Also Published As

Publication number Publication date
WO2014197394A1 (en) 2014-12-11
EP3005683A4 (en) 2017-01-18
NZ715232A (en) 2018-02-23
EP3005683A1 (en) 2016-04-13
AU2014275191A1 (en) 2016-01-21
JP6192817B2 (ja) 2017-09-06
AU2014275191B2 (en) 2017-08-24
US20140354686A1 (en) 2014-12-04
JP2016521882A (ja) 2016-07-25
US9639984B2 (en) 2017-05-02
KR101803168B1 (ko) 2017-11-29

Similar Documents

Publication Publication Date Title
KR101803168B1 (ko) 실질 세계 객체 조작에 기초한 데이터 조작
KR102606601B1 (ko) 표면 인식 렌즈
KR102643741B1 (ko) 중복 추적 시스템
US10997760B2 (en) Augmented reality anthropomorphization system
KR20220030263A (ko) 텍스처 메시 빌딩
US20150185825A1 (en) Assigning a virtual user interface to a physical object
KR20230019975A (ko) 이미지 프로세싱 sdk에서 사용하기 위한 인터페이스 캐러셀
KR20230021113A (ko) 이미지 프로세싱을 위한 소프트웨어 개발 키트
US20160224657A1 (en) Digitized interactions with an identified object
CN115315726A (zh) Diy效果图像修改
US20180268607A1 (en) Data manipulation based on real world object manipulation
CN115552366A (zh) 设备背面部分上的触控板
KR102242324B1 (ko) 카메라 광 데이터로 가상 환경을 조명하는 방법
US20170046876A1 (en) Marker positioning for augmented reality overlays

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
GRNT Written decision to grant