KR101842106B1 - 알려지지 않은 오브젝트들에 대한 증강 현실 콘텐츠의 생성 - Google Patents

알려지지 않은 오브젝트들에 대한 증강 현실 콘텐츠의 생성 Download PDF

Info

Publication number
KR101842106B1
KR101842106B1 KR1020167011711A KR20167011711A KR101842106B1 KR 101842106 B1 KR101842106 B1 KR 101842106B1 KR 1020167011711 A KR1020167011711 A KR 1020167011711A KR 20167011711 A KR20167011711 A KR 20167011711A KR 101842106 B1 KR101842106 B1 KR 101842106B1
Authority
KR
South Korea
Prior art keywords
unknown
physical
template
display
objects
Prior art date
Application number
KR1020167011711A
Other languages
English (en)
Other versions
KR20160068837A (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 KR20160068837A publication Critical patent/KR20160068837A/ko
Application granted granted Critical
Publication of KR101842106B1 publication Critical patent/KR101842106B1/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
    • 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
    • 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/2012Colour editing, changing, or manipulating; Use of colour codes
    • 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/2024Style variation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본원에 설명된 기술들은, 증강 현실(AR) 환경을 위한 애플리케이션의 개발 시 알려지지 않은 또는 식별되지 않은 실제 오브젝트들에 대한 가상 콘텐츠를 정의하기 위한 방법을 제공한다. 예를 들어, AR 애플리케이션의 개발 시, 애플리케이션 개발자는 모바일 디바이스가 동작하고 있을 수 있는 정황을 알지 못할 수 있고 결과적으로 AR 애플리케이션이 접할 수 있는 실제 오브젝트의 타입들 또는 부류들 그리고 실제 오브젝트들의 수를 알지 못할 수 있다. 일 실시예에서, 모바일 디바이스는 물리적 장면으로부터 알려지지 않은 오브젝트들을 검출할 수 있다. 모바일 디바이스는 이후, 오브젝트 템플릿을, 알려지지 않은 오브젝트와 연관되는 높이, 형상, 사이즈 등과 같은 물리적 속성들에 기초하여 알려지지 않은 오브젝트와 연관시킬 수 있다. 모바일 디바이스는 오브젝트 템플릿의 적어도 하나의 디스플레이 특성을 이용하여 알려지지 않은 오브젝트의 포즈에서 디스플레이 오브젝트를 렌더링할 수 있다.

Description

알려지지 않은 오브젝트들에 대한 증강 현실 콘텐츠의 생성{GENERATING AUGMENTED REALITY CONTENT FOR UNKNOWN OBJECTS}
[0001]본 개시내용은 일반적으로, 증강 현실 환경들에 관한 것이며, 보다 구체적으로, 실세계 주변들의 머신-기반 인식에 관한 것이다.
[0002]증강 현실(AR) 환경들에서, 사용자는 인공적 또는 가상적 그래픽스를 사용자의 자연 환경들과 통합하여 볼 수 있다. AR의 일부 초기 구현에서, 사용자는, 예를 들어, 증강 현실 고글들을 통해 사용자의 자연 환경들 중에 또는 그 내부에 임의적으로 디스플레이된 그래픽스를 볼 수 있다. 예를 들어, 랜덤한 나비 그래픽이 AR 고글들의 뷰를 따라 날아다닐 수 있는 한편, 사용자가 자연스럽게 보고 있는 어떤 것과 그 나비가 어떤 관련성을 갖는지 여부와는 관계없이 사용자는 자신의 자연 환경들을 계속해서 보고 있다. AR의 보다 정교한 구현에서, 사용자는 사용자의 자연 환경들의 구조들 또는 오브젝트들에 직접적으로 AR 피처들 또는 그래픽스를 적용할 수 있다. 예를 들어, 테이블에 앉아 있는 오브젝트가 식별될 수 있으며, AR 환경에서 상이한 색이나 또는 상이한 물리적 속성들로 렌더링될 수 있다. 그러나, 런타임 동안 오브젝트의 현실을 증강시키는 것은, 환경의 오브젝트가 식별되고, 원하는 특징들로 다시 렌더링되는 것을 요구한다.
[0003]알려진 그리고 식별된 오브젝트들에 대한 AR의 제한은 AR 애플리케이션들의 적용가능성을 감소시킨다. 본원에 기재된 기술들은 이러한 문제점들 및 다른 문제점들을 해결한다.
[0004]개시내용의 양상들이 예로서 도시된다. 동일한 참조 부호가 전반에 걸쳐서 동일한 엘리먼트들을 지칭하도록 사용되는 도면들을 참조하여 다음 설명이 제공된다. 하나 이상의 기술들 중 다양한 세부사항들이 본 명세서에서 설명되지만, 다른 기술들도 가능하다. 일부 예들에서, 잘 알려진 구조들 및 디바이스들은 다양한 기술들의 설명을 가능하게 하기 위해서 블록도 형태로 도시된다.
[0005]본 개시내용에 의해 제공되는 예들의 본질 및 이점들의 추가적인 이해는 나머지 상세한 설명 부분들 및 도면들을 참고로 하여 실현될 수 있고, 동일한 도면 부호들이 동일한 컴포넌트들을 지칭하기 위해서 몇 개의 도면들에 걸쳐 사용된다. 일부 경우들에서, 서브-라벨이, 다수의 유사한 컴포넌트들 중 하나를 표시하기 위해서 도면 부호와 연관된다. 기존 서브-라벨에 대한 상세한 설명없이 도면 부호를 참조할 경우, 도면 부호는 모든 이러한 유사한 컴포넌트들을 지칭한다.
[0006]도 1은, 본 개시내용의 하나 이상의 양상들을 구현하도록 구성될 수 있는 예시적인 컴퓨팅 디바이스를 도시한다.
[0007]도 2a는 본 개시 내용에 설명된 하나 이상의 실시예들에 따른, 편집 모드에서 하나 이상의 오브젝트 템플릿들을 생성하기 위한 인터페이스의 예시적인 시각적 표현을 도시한다.
[0008]도 2b는 본 개시내용에 설명된 하나 이상의 실시예들에 따른, 런타임 시에 렌더링된 디스플레이 오브젝트의 예를 도시한다.
[0009]도 3a는, 본 개시내용의 일 실시예에 따른, 제 1 시간에서의 물리적 장면의 일 예시적인 디지털 표현을 도시한다.
[0010]도 3b는, 본 개시내용에 설명된 일 실시예에 따른, 제 2 시간에서의 도 3a로부터의 물리적 장면의 예시적인 디지털 표현을 도시한다.
[0011]도 4는 본 개시내용에 설명된 실시예들에 따른 오브젝트 템플릿의 일 예시적인 표현이다.
[0012]도 5는 본 개시내용에 설명된 특정 실시형태들에 따른, 물리적 속성 검증자(qualifier)에 대한 물리적 속성들을 선택하기 위한 예시적인 사용자 인터페이스를 도시한다.
[0013]도 6은 본 개시내용에 설명된 특정 실시예들에 따른, 디스플레이 특성들을 선택하기 위한 예시적인 사용자 인터페이스를 도시한다.
[0014]도 7은, 본 개시내용에 설명된 특정 실시예들에 따른, 런타임 시 디스플레이 상에 이미지를 렌더링하기 위해 모바일 디바이스에서 구현되는 예시적인 모듈들에 대한 블록도를 도시한다.
[0015]도 8a는 본 개시내용에 설명된 하나 이상의 실시예들에 따른, 편집 모드에 시각적으로 표현된 2개의 오브젝트 템플릿들을 도시한다.
[0016]도 8b는, 모바일 디바이스에 결합된 카메라에 의해 획득된 물리적 장면의 입력 이미지를, 변경하지 않은 상태로 도시한다.
[0017]도 8c는 모바일 디바이스의 디스플레이 스크린 상에 디스플레이될 수 있는 증강 현실 렌더링 이미지의 예를 도시한다.
[0018]도 9는 본 개시내용에 설명된 하나 이상의 실시예들에 따른, 편집 모드에서 오브젝트 템플릿을 생성하기 위한 방법에 대한 흐름도를 도시한다.
[0019]도 10은, 본 개시내용에 설명된 하나 이상의 실시예들에 따른 방법을 수행함으로써 디스플레이 이미지를 렌더링하기 위한 흐름도를 도시한다.
[0020]도 11은 하나 이상의 실시예들이 구현될 수 있는 컴퓨팅 시스템의 예를 도시한다.
[발명의 내용]
[0021]본원에 설명된 기술들은, 증강 현실(AR) 환경을 위한 애플리케이션의 개발 시 알려지지 않은(unknown) 또는 식별되지 않은 실제 오브젝트들에 대한 가상 콘텐츠를 정의하기 위한 방법을 제공한다. 예를 들어, AR 애플리케이션의 개발 시, 애플리케이션 개발자는 모바일 디바이스 및 AR 애플리케이션이 동작하고 잇을 수 있는 정황 및 결과적으로 AR 애플리케이션이 접할 수 있는 실제 오브젝트의 타입들 또는 부류들 그리고 실제 오브젝트들의 수를 알지 못할 수 있다. 다른 기술들은 AR 애플리케이션의 런타임 동안 실제 오브젝트들 대신 가상 콘텐츠를 디스플레이하기 위한 방법들을 설명한다.
[0022]증강 현실 환경에 대한 알려지지 않은 오브젝트들에 대한 가상 콘텐츠를 이용하여 물리적 장면의 디지털 표현을 구성하기 위한 기술들이 설명된다. 일 양상에서, 런타임 시, 모바일 디바이스 또는 모바일 디바이스의 컴포넌트들은 물리적인 장면에 대한 정보를 획득한다. 예를 들어, 모바일 디바이스는, 장면이 평면 표면을 갖는다는 것을 검출할 수 있다. 모바일 디바이스는 하나 이상의 알려지지 않은 오브젝트들을 검출하고 선택할 수 있으며, 알려지지 않은 오브젝트와 연관된 포즈들 및 다른 속성들을 결정한다. 모바일 디바이스는 이후, 알려지지 않은 오브젝트와 연관되는, 높이, 형상, 사이즈 등과 같은 속성들에 기초하여 알려지지 않은 오브젝트와 오브젝트 템플릿을 연관시킬 수 있다. 개시물의 일 양상에서, 오브젝트 템플릿은 편집 모드에서 3차원(3D) 저작 툴(authoring tool)을 이용하여 개발자에 의해 생성될 수 있다. 모바일 디바이스는 오브젝트 템플릿의 적어도 하나의 특성을 이용하여 알려지지 않은 오브젝트의 포즈에서 디스플레이 오브젝트를 렌더링할 수 있다. 예를 들어, 모바일 디바이스는, 오브젝트 모델의 컬러 특성이 적색 벽돌이고 구조 특성이 빌딩인 경우 알려지지 않은 오브젝트 대신 적색 벽돌 빌딩을 렌더링할 수 있다.
[0023]물리적 장면의 디지털 표현을 수행하기 위한 예시적인 방법은, 물리적 장면으로부터 알려지지 않은 오브젝트를 선택하는 단계, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성을 결정하는 단계, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성에 기초하여 알려지지 않은 오브젝트와 상이한 오브젝트를 나타내는 오브젝트 템플릿을 선택하는 단계, 및 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성을 이용하여 물리적 장면으로부터 알려지지 않은 오브젝트의 포지션에서 물리적 장면의 디지털 표현에 디스플레이 오브젝트를 렌더링하는 단계를 포함할 수 있다. 특정 양상들에서, 디스플레이 오브젝트를 렌더링하는 단계는, 모바일 디바이스의 디스플레이 스크린 상에 디스플레이될 물리적 장면을 나타내는 이미지 상에 디스플레이 오브젝트를 렌더링하는 단계를 포함할 수 있다.
[0024]방법의 특정 양상에서, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성은 알려지지 않은 오브젝트의 형상, 알려지지 않은 오브젝트의 사이즈, 알려지지 않은 오브젝트의 위치, 알려지지 않은 오브젝트의 포즈, 알려지지 않은 오브젝트의 다른 오브젝트들에 대한 출현(appearance)의 순서, 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 이상의 것을 포함할 수 있다. 방법의 특정 양상들에서, 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성은 그래피컬 및 애니메이션 특성들 중 하나 이상의 것을 포함한다. 그래피컬 특성들은 컬러, 사이즈, 텍스처, 형상, 충돌 검출, 폐색, 및 투명도 중 하나 이상의 것을 포함할 수 있다.
[0025]방법의 특정 구현들에서, 오브젝트 템플릿의 특성들은 애플리케이션의 개발 시 편집 인터페이스를 이용하여 개발자에 의해 선택된다. 일 구현에서, 알려지지 않은 오브젝트는 복수의 알려지지 않은 오브젝트들 중 하나이고, 오브젝트 템플릿은 복수의 알려지지 않은 오브젝트들로부터의 다수의 알려지지 않은 오브젝트들과 연관된다. 본 개시내용의 특정 양상들에서, 오브젝트 템플릿은 복수의 오브젝트 템플릿들 중 하나일 수 있다.
[0026]물리적 장면의 디지털 표현을 수행하기 위한 예시적인 모바일 디바이스는, 물리적 장면 정보를 획득하기 위한 카메라, 정보를 저장하기 위한 메모리, 및 프로세서를 포함할 수 있고, 이 프로세서는, 물리적 장면으로부터 알려지지 않은 오브젝트를 선택하고, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성을 결정하고, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성에 기초하여 알려지지 않은 오브젝트와 상이한 오브젝트를 나타내는 오브젝트 템플릿을 선택하고, 그리고 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성을 이용하여 물리적 장면으로부터 알려지지 않은 오브젝트의 포지션에서 물리적 장면의 디지털 표현에 디스플레이 오브젝트를 렌더링하기 위한 것이다. 특정 구현들에서, 디스플레이 오브젝트를 렌더링하는 것은, 모바일 디바이스의 디스플레이 스크린 상에 디스플레이될 물리적 장면을 나타내는 이미지 상에 디스플레이 오브젝트를 렌더링하는 것을 포함할 수 있다.
[0027]모바일 디바이스의 특정 구현들에서, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성은 알려지지 않은 오브젝트의 형상, 알려지지 않은 오브젝트의 사이즈, 알려지지 않은 오브젝트의 위치, 알려지지 않은 오브젝트의 포즈, 알려지지 않은 오브젝트의 다른 오브젝트들에 대한 출현의 순서, 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 이상의 것을 포함할 수 있다. 모바일 디바이스의 특정 구현들에서, 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성은 그래피컬 및 애니메이션 특성들 중 하나 이상의 것을 포함한다. 그래피컬 특성들은 컬러, 사이즈, 텍스처, 형상, 충돌 검출, 폐색, 및 투명도 중 하나 이상의 것을 포함할 수 있다.
[0028]모바일 디바이스의 특정 구현들에서, 오브젝트 템플릿의 특성들은 애플리케이션의 개발 시 편집 인터페이스를 이용하여 개발자에 의해 선택된다. 일 구현에서, 알려지지 않은 오브젝트는 복수의 알려지지 않은 오브젝트들 중 하나이고, 오브젝트 템플릿은 복수의 알려지지 않은 오브젝트들로부터의 다수의 알려지지 않은 오브젝트들과 연관될 수 있다. 본 개시내용의 특정 양상들에서, 오브젝트 템플릿은 복수의 오브젝트 템플릿들 중 하나일 수 있다.
[0029]예시적인 비일시적 컴퓨터 판독가능 저장 매체로서, 비일시적 컴퓨터 판독가능 저장 매체는 프로세서에 의해 실행가능한 명령들을 포함하며, 명령들은, 물리적 장면으로부터 알려지지 않은 오브젝트를 선택하고, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성을 결정하고, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성에 기초하여 알려지지 않은 오브젝트와 상이한 오브젝트를 나타내는 오브젝트 템플릿을 선택하고, 그리고 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성을 이용하여 물리적 장면으로부터 알려지지 않은 오브젝트의 포지션에서 물리적 장면의 디지털 표현에 디스플레이 오브젝트를 렌더링하기 위한 명령들을 포함할 수 있다. 특정 구현들에서, 디스플레이 오브젝트를 렌더링하는 것은, 모바일 디바이스의 디스플레이 스크린 상에 디스플레이될 물리적 장면을 나타내는 이미지 상에 디스플레이 오브젝트를 렌더링하는 것을 포함할 수 있다.
[0030]예시적인 비일시적 컴퓨터 판독가능 매체의 특정 양상들에서, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성은 알려지지 않은 오브젝트의 형상, 알려지지 않은 오브젝트의 사이즈, 알려지지 않은 오브젝트의 위치, 알려지지 않은 오브젝트의 포즈, 알려지지 않은 오브젝트의 다른 오브젝트들에 대한 출현의 순서, 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 이상의 것을 포함할 수 있다. 비일시적인 컴퓨터 판독가능 매체의 특정 구현들에서, 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성은 그래피컬 및 애니메이션 특성들 중 하나 이상의 것을 포함한다. 그래피컬 특성들은 컬러, 사이즈, 텍스처, 형상, 충돌 검출, 폐색, 및 투명도 중 하나 이상의 것을 포함할 수 있다.
[0031]비일시적 컴퓨터 판독가능 매체의 특정 구현들에서, 오브젝트 템플릿의 특성들은 애플리케이션의 개발 시 편집 인터페이스를 이용하여 개발자에 의해 선택된다. 일 구현에서, 알려지지 않은 오브젝트는 복수의 알려지지 않은 오브젝트들 중 하나이고, 오브젝트 템플릿은 복수의 알려지지 않은 오브젝트들로부터의 다수의 알려지지 않은 오브젝트들과 연관될 수 있다. 특정 양상들에서, 오브젝트 템플릿은 복수의 오브젝트 템플릿들 중 하나일 수 있다.
[0032]예시적인 장치는 물리적 장면으로부터 알려지지 않은 오브젝트를 선택하기 위한 수단, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성을 결정하기 위한 수단, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성에 기초하여 알려지지 않은 오브젝트와 상이한 오브젝트를 나타내는 오브젝트 템플릿을 선택하기 위한 수단, 및 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성을 이용하여 물리적 장면으로부터 알려지지 않은 오브젝트의 포지션에서 물리적 장면의 디지털 표현에 디스플레이 오브젝트를 렌더링하기 위한 수단을 포함할 수 있다. 특정 양상들에서, 디스플레이 오브젝트를 렌더링하는 것은, 모바일 디바이스의 디스플레이 스크린 상에 디스플레이될 물리적 장면을 나타내는 이미지 상에 디스플레이 오브젝트를 렌더링하는 것을 포함할 수 있다.
[0033]장치의 특정 구현들에서, 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성은 알려지지 않은 오브젝트의 형상, 알려지지 않은 오브젝트의 사이즈, 알려지지 않은 오브젝트의 위치, 알려지지 않은 오브젝트의 포즈, 알려지지 않은 오브젝트의 다른 오브젝트들에 대한 출현의 순서, 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 이상의 것을 포함할 수 있다. 장치의 특정 양상들에서, 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성은 그래피컬 및 애니메이션 특성들 중 하나 이상의 것을 포함할 수 있다. 그래피컬 특성들은 컬러, 사이즈, 텍스처, 형상, 충돌 검출, 폐색, 및 투명도 중 하나 이상의 것을 포함할 수 있다.
[0034]장치의 특정 구현들에서, 오브젝트 템플릿의 특성들은 애플리케이션의 개발 시 편집 인터페이스를 이용하여 개발자에 의해 선택된다. 일 구현에서, 알려지지 않은 오브젝트는 복수의 알려지지 않은 오브젝트들 중 하나이고, 오브젝트 템플릿은 복수의 알려지지 않은 오브젝트들로부터의 다수의 알려지지 않은 오브젝트들과 연관될 수 있다. 특정 양상들에서, 오브젝트 템플릿은 복수의 오브젝트 템플릿들 중 하나일 수 있다.
[0035]전술한 것들은, 다음의 상세한 설명이 더 잘 이해할 수 있도록 예들의 특징들 및 기술적 이점들을 다소 광범위하게 약술되었다. 추가적인 특징들 및 이점들은 이하에서 설명될 것이다. 개시된 개념 및 특정 실시예들은, 본 개시내용의 동일한 목적들을 수행하기 위한 다른 구조들을 변경하거나 또는 설계하기 위한 기초로서 용이하게 이용될 수 있다. 이러한 등가적인 구성들은 첨부된 청구 범위의 사상 및 범위를 벗어나지 않는다. 본원에 개시된 개념들의 특징이 될 것으로 여겨지는 특징들은, 그들의 조직화 및 동작 방법 둘 모두에 관하여, 연관된 이점들과 함께, 첨부 도면들과 연결하여 고려될 경우 다음 설명으로부터 더 잘 이해될 것이다. 각각의 도면은 예시 및 설명의 목적으로만 제공되며, 본 청구범위의 한계를 정의하지 않는다.
[0036]몇 개의 예시적인 실시예들이 이제 본 명세서의 일부를 형성하는 첨부 도면들에 대하여 설명될 것이다. 본 개시물의 하나 이상의 양상들이 구현될 수 있는 특정 실시예들이 이하에 설명되지만, 다른 실시예들이 사용될 수 있고, 다양한 변경들이 개시물의 범위 또는 첨부된 청구항들의 사상으로부터 벗어나지 않고 이루어질 수 있다.
[0037]모바일 증강 현실은, 실제 오브젝트들의 검출 및 추적과, 이들의 실제 오브젝트들과 관련된 가상 컨텐츠의 렌더링을 포함한다. 오브젝트의 포즈 및 형상을 알고 실제와 가상 콘텐츠 간의 확실한 상호작용을 생성하는 것이 바람직할 수 있다. 실제 오브젝트가 애플리케이션 개발 시 알려진 오브젝트로 식별될 수 있다면, 애플리케이션 개발자는 알려진 실제 오브젝트의 알려진 지오메트리와 3차원(3D) 저작 툴을 이용한 정교한 증강 현실 경험을 생성할 수 있다. 예를 들어, 개발자는, 그래픽스, 애니메이션, 충돌 검출 등과 같이 알려진 실제 오브젝트에 대한 가상 콘텐츠를 생성할 수 있다. 오브젝트가 알려진 경우, 실제 오브젝트와의 모든 상호작용들은 3D 저작 툴에서 이 오브젝트의 가상 표현으로 시뮬레이션될 수 있다. 예를 들어, 애플리케이션 개발자가, 물리적 장면이 부엌 탑 테이블일 수 있음을 아는 경우, 개발자는 티 컵에 대한 가상 콘텐츠 특성들을 정의할 수 있다. 애플리케이션이 티 컵을 식별할 경우, 런타임 시, 애플리케이션은 티 컵에 대해 개발자에 의해 정의된 가상 콘텐츠를 사용할 수 있다.
[0038]애플리케이션 개발자 또는 개발자는, 편집 모드에서 애플리케이션을 생성하기 위한 3D 저작 툴과 같은 편집 툴의 사용자를 지칭할 수 있다. 편집 모드(editor mode)는, 애플리케이션이 애플리케이션 개발자에 의해 개발되는 동안의 편집 툴의 모드를 지칭할 수 있다. 편집 툴(editing tool)는, 애플리케이션의 개발을 위한 사용자 인터페이스를 포함할 수 있지만, 이것으로 제한되지 않는다. 일 구현에서, 개발자는, 애플리케이션의 개발을 위해 편집 모드에서 편집 툴에 의해 제공되는 사용자 인터페이스를 사용할 수 있다. 사용자 인터페이스는 그래픽 또는 명령 인터페이스일 수 있다.
[0039]이후의 시점 일 수 있는 런타임 시, 편집 모드에서 개발된 애플리케이션은 동일하거나 또는 상이한 디바이스 상에서 동일하거나 또는 상이한 사용자에 의해 실행될 수 있다. 런타임은, 편집 모드에서 애플리케이션의 개발 후 이후의 시점에서, 애플리케이션과 연관된 명령들 또는 오브젝트 코드의 실행을 지칭할 수 있다. 런타임 시, 애플리케이션은 디바이스의 실시간 환경과 상호 작용할 수 있다.
[0040]본원에 설명된 기술들은, 애플리케이션의 개발 시에 알려지지 않거나 또는 식별되지 않은 실제 오브젝트들(이하, 알려지지 않은 오브젝트들)에 대한 가상 콘텐츠 특성들을 정의하기 위한 방법을 제공한다. 예를 들면, AR 애플리케이션의 개발 시, 애플리케이션 개발자가, 모바일 디바이스 및 모바일 디바이스 상에서 실행되고 있는 AR 애플리케이션이 동작 중일 수 있는 정황을 알지 못할 수 있고 결과적으로 AR 애플리케이션이 접할 수 있는 실제 오브젝트의 타입들 또는 부류들 및 실제 오브젝트들의 수를 알지 못할 수 있다. 정황이 알려진 경우에도, AR 애플리케이션은 알려지지 않은 오브젝트들을 여전히 접할 수 있다. 실제 오브젝트들의 형상, 사이즈, 관련 포즈들 및 관련 포지셔닝의 물리적인 속성들을 알지 못 한다면, 개발자가, 런타임 시 접하게 될 수 있는 알려지지 않은 오브젝트들에 대한 가상 콘텐츠를 생성하는 것이 곤란할 수 있다. 추가로, 모바일 디바이스 및 모바일 디바이스에 연결된 카메라가 물리적 장면에 걸쳐 이동할 경우, 모바일 디바이스의 관점에서 볼 때 형상들, 사이즈들 또는 포즈들과 같은 오브젝트의 차원들이 시간에 따라 변할 수 있다.
[0041]일부 실시예들에서, 장면의 합리적인 앱스트랙션(abstraction)이 물리적인 장면을 나타내기 위해 사용될 수 있다. 예를 들어, 편집 모드에서, 개발자는 상부에 오브젝트들을 지닌 평면 표면을 이용하여 작업할 수 있다. 런타임 시, 모바일 디바이스는, 물리적 장면이 평면 표면으로서 표현될 수 있음 결정할 수 있고 모바일 디바이스의 디스플레이 스크린 상에 장면의 디지털 표현의 렌더링 시에 개발자에 의해 개발된 가상 콘텐츠를 사용할 수 있다. 상부에 오브젝트를 지닌 평면 표면은 단지 장면의 예시적인 앱스트랙션인 반면, 평면 표면들은, 실내 AR 애플리케이션들, 예를 들어, 테이블들 및 바닥들에 대해서는 매우 일반적이다. 본 발명 및 도면들의 실시예들이 평면 표면을 이용하여 설명될 수 있지만, 물리적인 장면의 다른 표현들이 또한, 본 발명의 범위를 벗어나지 않고 사용될 수 있다.
[0042]일 실시예에서, 3D 저작 툴은, 알려지지 않은 오브젝트를 위한 모델을 나타내는 개발자에게 오브젝트 템플릿들을 제공한다. 개발자는, 오브젝트 템플릿에 대해, 그래픽스 및 애니메이션과 같은 디스플레이 특성들을 정의할 수 있다. 오브젝트 템플릿에 대한 그래픽 특성들은, 색상, 사이즈, 텍스처, 형상, 충돌 검출, 폐색 및/또는 투명성 중 하나 이상의 것을 포함할 수 있지만, 이것으로 제한되지 않는다. 추가로, 상이한 오브젝트 템플릿들이 또한 편집 모드에서 정의될 수 있고 장면 표현에 부가될 수 있다.
[0043]편집 모드에서, 툴은 또한, 런타임 시에 오브젝트 템플릿을 알려지지 오브젝트와 연관시키기 위해 하나 이상의 검증자들을 정의하기 위한 인터페이스를 제공할 수 있다. 예를 들어, 편집 모드에서, 개발자는, 적색으로 된 벽돌로 이루어진 빌딩 구조물처럼 보이는 오브젝트 템플릿에 대한 특성들을 정의할 수 있다. 또한, 개발자는, 런타임 시에 검출되는 알려지지 않은 오브젝트에 오브젝트 템플릿이 적용될 수 있는지 여부에 영향을 줄 수 있는 검증자를 정의할 수 있다. 예를 들어, 검증자는 편집 모드에서 정의될 수 있으므로, 알려지지 않은 오브젝트가 특정 사이즈와 형상인 경우, 적색 벽돌 빌딩에 대한 오브젝트 템플릿이 알려지지 않은 오브젝트에 대해 사용될 수 있다. 일 구현에서, 런타임 시, 오브젝트 템플릿은 또한, 검증자가 오브젝트 탬블릿에 대해 만족되는 경우, 렌더링된 이미지가 실제 알려지지 않은 오브젝트 대신 (일부 경우들에서, 알려지지 않은 오브젝트의 사이즈로 스케일링되는) 오브젝트 템플릿을 디스플레이할 수 있도록 정의될 수 있다.
[0044]전술한 바와 같이, 오브젝트 템플릿의 추가 특성은 콜라이더(collider)일 수 있다. 일반적으로, 충돌 검출은, 장면에서 표현된 각각의 오브젝트에 대해 콜라이더를 정의함으로써 인에이블될 수 있다. 런타임 시, 콜라이더 특성은, 알려지지 않은 오브젝트와 연관된 오브젝트 템플릿의 정의에 기초하여, 알려지지 않은 오브젝트에 자동으로 적응될 수 있다. 예를 들어, 견고한 빌딩을 정의하는 오브젝트 템플릿에 대한 콜라이더 특성들은, 폭포를 정의하는 것과는 다를 수 있다. 일 구현에서, 충돌들은 알려지지 않은 오브젝트의 메시(즉, 지오메트리 정의)를 이용하여 컴퓨팅될 수 있다. 다른 구현에서, 충돌들은, 오브젝트의 형상에 대해 정의된 바운딩 박스를 이용하여 계산될 수 있다.
[0045]런타임 시, 알려지지 않은 오브젝트들이, 편집 툴을 이용한 개발 시 개발된 오브젝트 템플릿들 중 하나와 연관될 수 있다. 상술한 바와 같이, 모바일 디바이스는 알려지지 않은 오브젝트를 위해 식별된 물리적 속성들에 기초하여 알려지지 않은 오브젝트를 오브젝트 템플릿과 연관시킬 수 있다. 일 구현에서, 오브젝트 템플릿들은, 알려지지 않은 오브젝트의 식별된 물리적 속성들에 대해 매칭되는 것들과 연관되는 검증자들을 구비할 수 있다. 알려지지 않은 오브젝트의 물리적 속성은, 알려지지 않은 오브젝트의 형상, 알려지지 않은 오브젝트의 사이즈, 알려지지 않은 오브젝트의 위치, 알려지지 않은 오브젝트의 포즈, 알려지지 않은 오브젝트의 다른 오브젝트들에 대한 출현의 순서, 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 물리적 속성들 중 하나 이상의 것을 포함할 수 있지만, 이것으로 제한되지 않는다. 검증자가 만족되고 오브젝트 템플릿이 알려지지 않은 오브젝트와 연관되는 경우, 그의 가상 콘텐츠를 포함하는 오브젝트 템플릿이 물리적 장면으로부터의 알려지지 않은 오브젝트의 3차원(3D) 포즈로 증강 현실 뷰에서 인에이블되고, 포지셔닝되고, 렌더링될 수 있다.
[0046]일 구현에서, 실제 오브젝트의 형상이 개발 시에 알려지지 않을 수 있기 때문에, 편집 모드에서, 오브젝트 템플릿이 3D 박스 또는 그 사안에 대한 임의의 다른 형상으로서 시각화될 수 있다. 다른 구현에서, 오브젝트 템플릿의 디스플레이 오브젝트 특성들이 정의되면, 오브젝트 템플릿이 미리결정된 형상으로 성형될 수 있다. 예를 들어, 디스플레이 오브젝트 특성이 적색 벽돌 집에 대해서 선택된 경우, 이 오브젝트 템플릿은 적색 벽돌 집을 대표하는 형상과 색상으로 모핑(morph)될 수 있다. 일 구현에서, 런타임 시에, 3D 박스는 실제(그러나 알려지지 않은) 오브젝트의 기하학적 형상으로 대체될 수 있다. 알려지지 않은 오브젝트에 대한 렌더링 셋팅들이 3D 박스 상의 편집기에서 정의되고 미리보여질 수 있다. 가능성 있는 디스플레이 오브젝트 특성은 오브젝트가 전혀 렌더링되지 않는다는 것일 수 있는데, 이는 오브젝트가 오직 충돌들에 대해서만 사용될 수 있기 때문이다.
[0047]일 실시예에서, 각각의 오브젝트 템플릿은, 특정 오브젝트에 대한 모든 가상 콘텐츠가 정의될 수 있는 로컬 좌표계를 이용하여 정의될 수 있다. 런타임 시, 로컬 좌표계는 알려지지 않은 오브젝트의 3D 포즈에 대한 좌표계로 이동되거나 또는 변환될 수 있다. 일부 구현들에서, 알려지지 않은 오브젝트의 사이즈에 기초하여 가상 콘텐츠를 스케일링하거나 또는 원래 스케일을 사용하는 것이 가능할 수 있다.
[0048]일부 실시예들에서, 오브젝트 템플릿을 이용한 디스플레이 오브젝트들은 모바일 디바이스에 연결된 카메라에 의해 인식된 것과 같이 실제 오브젝트 변경의 횟수와 형상에 따라 자동으로 업데이트된다. 예를 들어, 모바일 디바이스의 사용자가 모바일 디바이스를 이동시킴에 따라, 모바일 디바이스의 포즈의 변화에 기초하여, 디스플레이 오브젝트들의 형성과 사이즈가 변할 수 있다. 이외에도, 일부 구현들에서, 애플리케이션은 새로운 오브젝트의 검출 또는 기존 오브젝트의 수정과 같은 특정 트리거들에 기초하여 이벤트를 수신할 수 있다. 이는, 개발자로 하여금, 런타임 인자들의 예측을 기반으로, 개발 과정 동안 상호작용들을 커스터마이징하게 할 수 있다. 예를 들면, AR 게임에서, 새로운 오브젝트는 장애물을 나타낼 수 있으며, 사용자는, 새로운 장애물이 검출될 때마다 사운드 바이트에 의해 경고를 받을 수 있다.
[0049]본 발명의 실시예들은, 개발자로 하여금 알려지지 않은 오브젝트들에 대해 편집 모드에서 증강 현실 콘텐츠를 생성하게 할 수 있다. 런타임 시, 모바일 디바이스 상에서 실행되는 AR 애플리케이션은, 알려지지 않은 오브젝트의 물리적 속성들에 기초하여, 알려지지 않은 오브젝트들을 오브젝트 템블릿과 연관시킬 수 있다. 본 발명의 실시예들은, 런타임 시 애플리케이션이 단지 알려지지 않은 오브젝트들에 대해 적은 수의 물리적 속성들을 검출할 수 있더라도, 증강 현실 애플리케이션에 알려지지 않은 오브젝트들이 아닌 실세계를 포함시키게 한다.
[0050]본 발명의 실시예들을 이용하여 모바일 디바이스 상에서 실행되는 AR 애플리케이션에 대한 비한정적인 예시적인 시나리오는, 테이블 위에 놓인 형상들과 사이즈들이 변하는 다수의 오브젝트들을 지닌 컨퍼런스 테이블과 같은 물리적 장면의 디지털 표현의 변환을 포함할 수 있다. 물리적 장면이 모바일 디바이스의 정면 카메라에 의해 획득되고 모바일 디바이스의 디스플레이 스크린 상에서 본 발명의 실시예들에 따른 프로세서를 이용하여 변경되고 렌더링될 수 있다. 일 실시예에서, 모바일 디바이스 상에서 실행되는 AR 애플리케이션은, 모바일 디바이스로 하여금 모바일 디바이스에 디지털식으로 표현되는 물리적 장면을 변환할 수 있게 한다. AR 애플리케이션의 예는 모바일 디바이스의 스크린 상에 디스플레이된 물리적 장면의 디지털 표현을 통해 자동차 경주를 하는 게임일 수 있다.
[0051]본 발명의 몇몇 실시예들에 따르면, 위의 예에서, 현실 세계로부터의 알려지지 않은 오브젝트들이 모바일 디바이스 스크린 상에 나타내어진 증강 현실에서 빌딩들로서 변환될 수 있다. 본원에 설명된 기술들을 이용하여, 물리적 장면으로부터의 알려지지 않은 오브젝트들은 상이한 물리적 속성들을 이용하여 빌딩들의 렌더링들로 대체될 수 있다. 따라서, 일 예로, 테이블의 상부에 다수의 오브젝트들이 놓여 있는 테이블은, 자동차(가상 오브젝트)가 다수의 빌딩들을 통과하는 경로/도로 상에서 주행 중인, 모바일 디바이스에 의해 디스플레이된 AR의 도시 장면으로 나타내어질 수 있다. 사용자가 모바일 디바이스를 이동시킴에 따라서, 모바일 디바이스 스크린 상에 표현되는 뷰는, 모바일 디바이스에 결합된 카메라에 대한 물리적 장면에서의 다양한 오브젝트들의 포즈 변경에 대해 적응된다.
[0052]일 구현에서, 몇 개의 미리결정된 오브젝트 템플릿들이 이용가능할 수 있다. 각각의 오브젝트 템플릿은, 그와 연관된 다수의 특성들, 이를 테면, 사이즈, 형상, 색상, 폐색 등을 가질 수 있다. 런타임 시, 오브젝트 템플릿은 알려지지 않은 오브젝트들의 물리적 속성들에 기초하여 테이블 상에 놓인 알려지지 않은 오브젝트들과 연관될 수 있다. 예를 들어, 모바일 디바이스는 물리적 장면으로부터 알려지지 않은 오브젝트와 연관되는 형상, 사이즈, 포즈, 색상, 배치 등과 같은 검증자 물리적 속성들을 검출하고 오브젝트들의 물리적 속성들에 기초하여 알려지지 않은 오브젝트의 교체/렌더링에 적합한 오브젝트 템플릿을 선택할 수 있다. 예를 들어, 알려지지 않은 오브젝트의 물리적 속성들에 기초하여, 모바일 디바이스는, 모바일 디바이스 상의 물리적 장면의 렌더링된 디지털 표현에서, 빌딩들, 나무들과 같은 상이한 구조적 특성들과 연관되는 오브젝트 템플릿들, 또는 심지어 애니메이션 능력들을 지닌 생물들을 선택하여 그 알려지지 않은 오브젝트들을 교체시킬 수 있다.
[0053]실시예들의 설명에서, "알려지지 않은 오브젝트들" 및 " 알려지지 않은 오브젝트들의 물리적 속성들"과 같은 용어들이 사용되지만, 어떤 경우들에서, "재구성된 오브젝트"가 본 발명으로부터 벗어나지 않고 대신하여 사용될 수 있다. 일 실시예에서, 재구성된 오브젝트는 물리적 속성들의 연관된 세트를 갖는 알려지지 않은 오브젝트를 지칭할 수 있다. 예를 들어, 모바일 디바이스가 알려지지 않은 오브젝트들에 대한 하나 이상의 물리적 속성들을 결정하고 그러한 물리적 속성들을 알려지지 않은 오브젝트와 연관시키면, 알려지지 않은 오브젝트는 재구성된 오브젝트로 지칭될 수 있다. 일 양상에서, 모바일 디바이스가 이동함에 따라, 재구성된 오브젝트의 형성과 사이즈는 3D 포즈에서의 변화에 따라 변할 수 있다.
[0054]도 1을 참고하면, 예시적인 컴퓨팅 디바이스(100)는 본 개시내용의 하나 이상의 양상들을 구현하도록 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는, 스마트 폰, 태블릿 컴퓨터, 개인 휴대 정보 단말기, 또는 컴퓨팅 디바이스(100)로 하여금 이미지 데이터 또는 다른 데이터를 입력의 형태로 수신하게 하는 하나 이상의 센서들이 장착된 다른 모바일 디바이스일 수 있다. 다른 예에서, 컴퓨팅 디바이스(100)는 헤드-장착형 디바이스 또는 임의의 다른 컴퓨팅 디바이스일 수 있다. 일부 실시예들에서, 컴퓨팅 디바이스(100)는, 모바일 디바이스가 아닐 수 있고, 예를 들어, 무선 또는 유선으로 함께 결합되는 데스크탑 컴퓨터, 게이밍 머신, 고정식 센서 또는 카메라, 또는 머신들의 시스템일 수 있다. 컴퓨팅 디바이스(100)에는, 하나 이상의 정면 카메라(110) 또는 후면 카메라, 모노-렌즈 카메라들, 깊이 카메라들, 레이저 센서들, 음파 센서들, 및/또는 다른 센서들이 장착되고, 이들과 통신가능하게 결합될 수 있고 그리고/또는 그렇지 않으면 이들을 포함할 수 있다. 모바일 디바이스는 또한 디바이스와 상호작용하기 위한 하나 이상의 사용자 인터페이스들을 포함할 수 있다. 예를 들어, 모바일 디바이스는, 사용자가 입력 데이터와 상호작용할 수 있는 터치스크린(120)을 포함할 수 있다. 컴퓨팅 디바이스(100)는 또한, 아래에서 더욱 상세히 설명되는 바와 같이, 하나 이상의 프로세서들, 메모리 유닛들 및/또는 다른 하드웨어 컴포넌트들을 포함할 수 있다. 도 1의 컴퓨팅 디바이스(100)는 도 11에서 보다 상세하게 설명되는 하나 이상의 컴포넌트들을 이용하여 구현될 수 있다.
[0001]하나 이상의 배열들에서, 컴퓨팅 디바이스(100)는, 물리적 경계들을 정의하기 위한 이미지들 또는 다른 수단들에 기초하여, 컴퓨팅 디바이스(100)의 자연 환경들에 대한 데이터를 획득하기 위해서 이러한 센서들 중 임의의 것 및/또는 이러한 센서들 모두를 단독으로 또는 조합하여 사용할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는 컴퓨팅 디바이스(100)의 자연 환경들의 하나 이상의 그래피컬 뷰들을 획득하기 위해 하나 이상의 카메라들을 사용할 수 있다. 구체적인 예에서, 자연 환경들은 테이블 또는 다른 평탄 표면, 및 테이블 상부에 놓인 다수의 오브젝트들을 포함할 수 있다.
[0055]도 2a는 본 발명의 하나 이상의 실시예들에 따른, 편집 모드에서 하나 이상의 오브젝트 템플릿들을 생성하기 위한 인터페이스의 예시적인 시각적 표현을 도시한다. 편집 모드에서 생성된 오브젝트 템플릿들은 나중에, 알려지지 않은 오브젝트의 디스플레이를 디스플레이 오브젝트들로 대체/증강시키기 위해 사용된다. 3D 저작 툴은 도 11에 설명된 디바이스와 유사한 컴퓨팅 디바이스 상에서 실행될 수 있다. 도 2a는 평면 표면의 추상적 개념을 3D 저작 툴의 편집 모드로 나타낸다. 편집 모드에서, 개발자는 오브젝트 템플릿들을 추가, 정의 및 편집할 수 있다. 예를 들어, 도 2a에서, 상이한 색상들을 지닌 두 개의 오브젝트 템플릿들, 적색 상자(202)(음영 1로 나타내어진 적색) 및 청색 상자(204)(음영 2로 나타내어진 청색)가 3D 저작 툴에서 생성되고 이미지 타겟(206)의 어느 한 측에 위치된다. 일 실시예에서, 3D 저작 툴의 적색 및 청색 상자들의 이러한 배치는, 이미지 타겟(206)에 대한 박스의 상대적인 포지션에 기초하여, 디스플레이 특성(즉, 컬러)을 오브젝트 템플릿과 연관시킬 수 있다. 예를 들어, 런타임 중에, 타겟 이미지(206)의 (사용자의 관점에서) 좌측에 있는 알려지지 않은 오브젝트는 적색으로 착색될 수 있으며, 타겟 이미지(206)의 우측에 있는 알려지지 않은 오브젝트는 청색으로 착색될 수 있다.
[0056]도 2b는 본 발명의 하나 이상의 실시예들에 따른, 런타임 시에 렌더링된 디스플레이 오브젝트의 예를 도시한다. 일 실시예에서, 도 2b에서, 컴퓨팅 디바이스(100)는 오브젝트 템플릿들과 AR 애플리케이션의 생성을 위해 사용되는 컴퓨팅 디바이스와 구별될 수 있다. 또한, 컴퓨팅 디바이스(100)는, 도 2a에 설명된 바와 같이, 저작 툴에 의해 생성된 하나 이상의 오브젝트 템플릿들을 사용하도록 구성될 수 있다. 예를 들어, 사용자의 관점에 대하여, 타겟 이미지 왼쪽의 오브젝트들은 사용자의 관점에 대하여 적색 및 오브젝트들을 디스플레이하도록 구성될 수 있고, 타겟 이미지의 우측의 오브젝트들은 청색을 디스플레이하도록 구성될 수 있다. 런타임 시, 컴퓨팅 디바이스(100)는 알려지지 않은 오브젝트들을 발견하고 선택하여 그러한 알려지지 않은 오브젝트들을 2개의 오브젝트 템플릿들 중 하나와 연관시킬 수 있으며, 이는, 이미지 타겟과 관련하여 기준 평면 상에서의 그 포지션에 따라 (도 2a에 도시된 바와 같이) 편집 모드에서 정의된 적색 상자(202) 또는 청색 상자(204)이다. 예를 들어, 이미지 타겟의 우측(예를 들어, 214)에 있는 모든 오브젝트들(오브젝트 214)이 청색 상자 오브젝트 템플릿(204)과 연관되고, 이미지 타겟의 좌측에 있는 모든 오브젝트들(즉, 오브젝트들(210) 및 오브젝트들(212))이 적색 상자 오브젝트 템플릿(202)과 연관된다. 어떤 경우들에서, 210 및 212에 대해서 도 2b에 도시된 바와 같이, 디스플레이 오브젝트에 대한, 높이 및 폭과 같은 몇몇 디스플레이 특성들이, 알려지지 않은 높이와 오브젝트의 사이즈에 기초하여 스케일링될 수 있다.
[0057]도 2b에 도시된 단순한 예에서, 알려지지 않은 오브젝트들이 검출되고 그러한 오브젝트들을 오브젝트 템플릿들과 연관시키기 전에 그들의 속성들이 평가된다. 도 2b에서, 이미지 타겟에 대한 알려지지 않은 오브젝트의 상대적 위치는, 오브젝트 템플릿을 알려지지 않은 오브젝트와 연관시키기 위한 검증자로서 사용된다. 오브젝트 템플릿이 선택되면, 오브젝트 템플릿은 알려지지 않은 오브젝트의 속성들에 따라 변경된다. 예를 들어, 오브젝트(210)는 오브젝트(212)보다 상대적으로 작고, 따라서, 오브젝트 템플릿이 또한 오브젝트의 높이에 따라 스케일링된다. 오브젝트 템플릿의 변경된 인스턴스들은 이후, 물리적 장면의 디지털 표현과 함께 모바일 디바이스 디스플레이 상에 렌더링될 수 있다.
[0058]도 3a는, 본 발명의 일 실시예에 따른, 제 1 시간에서의 물리적 장면의 일 예시적인 디지털 표현을 도시한다. 도 3a는 티 포트(302)와 알려지지 않은 오브젝트(304)인 가상의 오브젝트가 있는 장면을 도시한다. 도 3a에서, 오브젝트 템플릿은 알려지지 않은 오브젝트와 연관된다. 일 구현에서, 오브젝트 템플릿은, 알려지지 않은 오브젝트를 시각적으로 명확한 가상 콘텐츠로 오버레이하기 보다는 알려지지 않은 오브젝트 자체의 렌더링을 가능하게 하도록 정의될 수 있다. 또한, 오브젝트 템플릿은 추가로, 폐색 및 충돌에 대한 오브젝트 디스플레이 특성들을 갖는 것으로 정의될 수 있다. 예를 들어, 오브젝트 템플릿은 깊이 마스크와 함께 렌더링되도록 정의될 수 있으며, 이는, 마스크 뒤에 있는 가상의 오브젝트들이 런타임 시에 폐색될 수 있음을 의미할 수 있다.
[0059]도 3b는, 본 발명의 일 실시예에 따른, 제 2 시간에서의 도 3a로부터의 물리적 장면의 예시적인 디지털 표현을 도시한다. 도 3b에 도시된 바와 같이, 티 컵(302)의 일부가 알려지지 않은 오브젝트(304) 뒤로 폐색되는데, 이는 알려지지 않은 오브젝트(304)가 불투명 폐색 특성들을 갖는 오브젝트 템플릿과 연관되기 때문이다. 마찬가지로, 오브젝트 템플릿이 충돌 특성들을 갖도록 정의될 수 있으므로, 티 포트(302)가 알려지지 않은 오브젝트(304)에 부딪친다면, 티 포트(302)는, 이것이 이동했던 방향으로 진행하는 것이 방지될 것이다. 다른 실시예에서, 티 포트(302)의 특성들 및 충돌 속도에 기초하여, 티 포트가 깨지고 파쇄될 수 있다.
[0060]도 4는 본 발명의 실시예들에 따른 오브젝트 템플릿의 일 예시적인 표현이다. 도 4에서, 오브젝트 템플릿(400)은, 검증자 모듈(402)의 물리적 속성들 및 오브젝트 디스플레이 특성들 모듈(406)을 구비한 것으로 도시된다. 도 4에 도시된 모듈들은, 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 다른 조합을 이용하여 구현될 수 있다. 오브젝트 템플릿(400)은 본 발명의 범위를 벗어나지 않고 추가 모듈들을 구비할 수 있다.
[0061]오브젝트 템플릿(400)은 일 구현에서 데이터-구조로서 저장될 수 있다. 일 구현에서, 개발 시 개발자는, 오브젝트 템플릿(400)을 생성하기 위해 편집 툴을 사용할 수 있다. 개발자는, 런타임 시 알려지지 않은 오브젝트의 몇 개의 상이한 부류들에 맞게 몇 개의 오브젝트 템플릿들을 편집 툴을 이용하여 생성할 수 있다. 개발자는 물리적 속성 검증자(402)(도 5에 도시된 바와 같음)에 대한 물리적 속성들과 오브젝트 디스플레이 특성들(406)(도 6에 도시된 바와 같음)에 대한 디스플레이 특성들을 수동으로 선택할 수 있다.
[0062]물리적 속성 검증자(402)는, 알려지지 않은 오브젝트의 렌더링을 증강시키기 위한 오브젝트 디스플레이 특성들(406)의 선택에 있어서, 모바일 디바이스에 의한 런타임시 필터로서 사용되는 물리적 속성들을 보유한다. 알려지지 않은 오브젝트의 물리적 속성들이 물리적 속성 검증자(402)의 물리적 속성들 특징 하에서 매칭되거나 또는 자격이 있는 경우, 오브젝트 디스플레이 특성들(406)은 알려지지 않은 오브젝트 또는 알려지지 않은 오브젝트 대신 가상의 오브젝트의 렌더링 시에 사용될 수 있다. 예를 들어, 알려지지 않은 오브젝트의 높이와 폭이 특정 범위 이내에 있는 경우, 모바일 디바이스는 알려지지 않은 오브젝트 대신 빌딩을 렌더링할 수 있다. 다른 예에서, 모바일 디바이스는, 알려지지 않은 오브젝트 그 자체를 렌더링할 수 있지만, 오브젝트의 콜라이더 특성들과 같은, 다른 디스플레이 특성들을 사용할 수 있다.
[0063]개발 환경에서, 편집 툴에서, 오브젝트 모듈은 도 2a 및 도 8a에 도시된 바와 같이, 시각적으로 나타내어질 수 있다. 도 4 및 도 5는 오브젝트 모듈들을 생성하고 업데이트하기 위한 메뉴 스타일 방법들을 도시하지만, 일부 구현들에서, 시각적 드래그, 드롭 및 편집 툴은 오브젝트 템플릿을 조작하도록 촉진될 수 있다. 일부 구현들에서, 오브젝트 모듈을 개발하기 위한 몇 개의 기술들이 지원될 수 있다. 예를 들어, 개발자는 도 5 및 도 6으로부터의 예시적인 메뉴들을 이용하는 크루드(crude) 오브젝트 모듈을 먼저 생성한 후, 도 2a 및 도 8a에 도시되는, 시각적 툴들을 이용하여 오브젝트 템플릿을 추가로 미세 튜닝할 수 있다.
[0064]도 5는, 도 4로부터의 물리적 속성 검증자(402)에 대한 물리적 속성들을 선택하기 위한 예시적인 사용자 인터페이스를 도시한다. 도 5는 편집 모드에서 물리적 속성 검증자(402)에 대한 물리적 속성들을 선택하기 위한, 편집 툴에 의해 제공되는 예시적인 메뉴의 사용자 인터페이스(500)를 나타낸다. 도 5에 도시된 사용자 인터페이스(500)는 비제한적이며, 커맨드 라인 인터페이스, 또는 드래그 및 드롭 사용자 인터페이스와 같은 다양한 방식으로 구현될 수 있다.
[0065]메뉴 사용자 인터페이스(500)를 이용하여, 오브젝트 템플릿(400)의 개발자는, 애플리케이션이 런타임 동안 조우할 수 있는 잠재적인 알려지지 않은 오브젝트에 대해, 편집 모드 동안 편집 툴에서 다수의 물리적 속성 검증자들을 선택할 수 있다. 편집 툴을 이용하여 개발자에 의해 선택되는 물리적 속성들이 오브젝트 템플릿(500)의 생성 시에 사용된다. 런타임 시, 애플리케이션이 알려지지 않은 오브젝트의 물리적 속성들을 검출하고 그러한 물리적 속성들을 오브젝트 템플릿(400)의 물리적 속성 검증자(402)에 저장된 물리적 속성들에 대하여 매칭시켜, 알려지지 않은 오브젝트에 대한 디스플레이 특성들을 결정하기 위해서 이러한 특정 오브젝트 템플릿(400)이 선택되어야 하는지를 결정한다.
[0066]도 5에서, 잠재적인 알려지지 않은 오브젝트에 대한 높이(502), 폭(504), 형상(506), 색상(508), 순서(510), 위치(512) 및 포즈(514)와 같은 예시적인 물리적 속성 검증자들이 나타내어진다. 개발자는 다양한 물리적 속성들에 대한 값들을 입력하거나 또는 이를 드롭 다운 메뉴들로부터 선택할 수 있다. 예를 들어, 도 5에서, 개발자는, 알려지지 않은 오브젝트의 높이(502)에 대한 상한으로서 3인치를 그리고 알려지지 않은 오브젝트의 폭(504)에 대한 하한으로서 1인치를 선택했다. 특정 실시예들에서, 알려지지 않은 오브젝트의 사이즈는, 전체 디스플레이 이미지에 대한 디스플레이 비와 관련하여 표현될 수 있다. 다른 실시예들에서, 고정된 사이즈 또는 사이즈들의 범위는 높이(502) 및 폭(504) 파라미터들을 이용하여 표현될 수 있다.
[0067]형상(506)의 경우, 개발자는, 타원형(516)과 같은 드롭 다운 메뉴로부터 형상을 선택할 수 있다. 유사하게, 개발자는 컬러(508), 순서(510), 위치(512) 및 포즈(514)를 선택할 수 있다. 일부 실시예들에서, 알려지지 않은 오브젝트가 나타날 수 있는 순서(510) 또한 중요할 수 있다. 예를 들어, 애플리케이션의 개발자가, 오브젝트 템플릿(400)의 다른 검증자들 모두를 만족하는 제 3의 알려지지 않은 오브젝트를 별 모양으로 바꾸기를 원할 수 있는 반면, 자격이 있는 다른 오브젝트들에 대해서는 '어떠한 액션도 취하지 않는다'. 마찬가지로, 애플리케이션의 개발자는, 애플리케이션이 전체 디스플레이 영역에 대해 그리고 전체 디스플레이 영역이 아닌 것에 대해 검증자를 사용하기 원할 수 있는 특정 위치(예를 들어, 중앙, 상부 우측 코너 등)를 선택할 수 있다.
[0068]런타임 시, 애플리케이션은, 조건들의 서브셋, 조건들 모두를 매칭시키기 위해서, 또는 (예를 들어, 조건 1이 일치하는 경우, 조건 2가 매칭되는) 계층적인 방식으로 조건들을 매칭시키기 위해서, (예를 들어, 이전 버튼(518)을 통해) 오브젝트 템플릿 내 옵션들을 선택함으로써, 또는 개별적으로 구성될 수 있다.
[0069]도 5에 도시된 필드들은 예시 목적을 위한 것이며, 제한되는 것을 의미하는 것은 아니다. 추가적인 또는 더 적은 수의 필드들이 본 발명의 범위를 벗어나지 않고 물리적 속성 검증자들을 표현하기 위해 사용될 수 있다. 추가로, 특정 실시예들에서, 알려지지 않은 오브젝트의 물리적 속성들에 대한 이전 파라미터들이 이전(518) 탭을 이용하여 정의될 수 있다.
[0070]개발자가 물리적 속성들에 대한 오브젝트 템플릿(400)의 구성을 완료하면, 개발자는 다음 옵션(520)을 선택하고 오브젝트 템플릿의 생성을 완료할 수 있다.
[0071]도 6은 알려지지 않은 오브젝트가 있었던 증강 현실 내 이미지 또는 이미지의 부분의 렌더링을 위해 디스플레이 특성들을 선택하기 위한 예시적인 사용자 인터페이스를 도시한다. 런타임 시, 일단 오브젝트 템플릿(400)이 선택되면, 오브젝트 디스플레이 특성들이 이미지 또는 이미지의 일부를 렌더링하는 데에 사용될 수 있다.
[0072]이러한 오브젝트 디스플레이 특성들(600)은, 오브젝트 템플릿(400)의 생성 시 개발자에 의해 선택된다. 예를 들어, 도 6에 도시된 바와 같이, 개발자는, 디스플레이될 디스플레이 오브젝트의 높이(602) 및 폭(604)을 선택할 수 있다. 특정 실시예들에서, 디스플레이 오브젝트의 사이즈는, 전체 디스플레이 이미지에 대한 디스플레이 비와 관련하여 표현될 수 있다. 다른 실시예들에서, 고정된 사이즈 또는 사이즈들의 범위는 높이(602) 및 폭(604) 파라미터들을 이용하여 표현될 수 있다.
[0073]개발자는, 커스텀 버튼(620)을 이용하여, 빌딩, 형상, 오브젝트 등과 같은 구조물을 선택하거나 또는 그 자신의 구조물을 정의할 수 있다. 특정 실시예들에서, 개발자는 드롭 다운 메뉴로부터 컬러(608)를 선택할 수 있다. 도 6에서, 개발자는 드롭 다운 메뉴로부터의 적색(622)을 선택하는 것으로 도시된다. 대신에, 또는 부가적으로, 개발자는, 스케일드(610) 파라미터를 이용하여, 디스플레이 오브젝트를 알려지지 않은 오브젝트의 사이즈와 관련하여 스케일링할 것을 선택할 수 있다. 즉, 디스플레이 오브젝트의 사이즈는 알려지지 않은 오브젝트의 사이즈의 함수일 수 있다. 특정 실시예들에서, 색상 및 텍스처와 같은 디스플레이 오브젝트의 다른 시각적 특징들이 또한 알려지지 않은 오브젝트 그 자체의 기능일 수 있다. 개발자는 또한 디스플레이 오브젝트에 대한 특정 텍스처들(612) 또는 패턴들을 정의할 수 있다.
[0074]추가로, 개발자는 또한 오브젝트에 대한 투명도(618)를 정의할 수 있다. 오브젝트의 투명도는 디스플레이 오브젝트에 의해 오버랩핑된 이미지의 부분들에 대해 볼 수 있는 정보의 양을 지칭할 수 있다. 특정 실시예들에서, 투명도는 백분율 또는 비(ratio) 매트릭스에 의해 나타내어질 수 있으며, 이는, 디스플레이 오브젝트 아래의 계층(또는 계층들)에서의 정보와 연관되는 정보에 대하여, 디스플레이 오브젝트와 연관되는 정보를 디스플레이하기 위한 상대적인 스케일을 제공한다.
[0075]상술된 것과 같은 정적 시각적 오브젝트 디스플레이 특성들 이외에도, 오브젝트 템플릿(400)의 오브젝트 디스플레이 특성들(600)은 또한, 충돌(614) 및 폐색(616)과 같은 동적 시각적 오브젝트 디스플레이 특성들을 기술할 수 있다.
[0076]오브젝트 템플릿(400)의 충돌(614) 특성은 디스플레이 오브젝트의 충돌 특징들을 정의할 수 있다. 예를 들어, 움직이는 가상 오브젝트, 이를 테면, 자동차가 디스플레이 오브젝트에 충돌하는 경우, 디스플레이 오브젝트는, 디스플레이 오브젝트의 오브젝트 표면의 압착가능성(일시적 디프레션(depression)) 또는 가단성(영구적 디프레션)의 시각적 효과를 제공하는 일부 경우들에서 부분적으로 그리고 일시적이거나 또는 영구적으로 디프레스할 수 있다. 특정 실시예들에서, 충돌(614) 속성은, 예를 들어, 디스플레이 오브젝트의 표면이 빌딩의 시멘트 벽을 나타내는 경우, 표면이 전혀 디프레스되지 않도록 하는 것일 수 있다. 특정 실시예들에서, 오브젝트의 충돌(614) 특성은, 이동하는 가상의 오브젝트가 디스플레이 오브젝트의 오브젝트 표면을 완전히 그리고 임시적으로 또는 영구적으로 변형시킬 수 있도록 하는 것일 수 있다. 예를 들어, 폭포(디스플레이 오브젝트)를 통과하여 주행하는 자동차(즉, 가상 오브젝트)는 폭포의 오브젝트 표면을 일시적으로 완전히 변형시킬 수 있다. 충돌(614) 특성들은 또한, 디스플레이 오브젝트의 표면 상에 작용되는 힘의 함수일 수 있다. 예를 들어, 가상 오브젝트의 가단성 및 충돌 특성들, 가상 오브젝트가 디스플레이 오브젝트에 접근하는 속도 및 많은 다른 인자들이, 디스플레이 상에 디스플레이 오브젝트를 렌더링하기 전에, 디스플레이 오브젝트에 대한 충돌의 실제 시각적 효과를 결정하는 데에 고려될 수 있다. 일부 예들에서, 충돌(614) 특성들은 콜라이더 스케일(도시하지 않음)을 이용하여 일반화될 수 있다. 다른 경우들에서, 더 많은 이전 특성들이 이전(624) 버튼을 이용하여 선택될 수 있다.
[0077]폐색(616)은, 디스플레이의 시청자에 의해 지각되는 것으로서 다른 오브젝트의 뷰잉을 시각적으로 방해하거나 또는 차단하는 디스플레이 오브젝트들 능력을 지칭할 수 있다. 일반적으로, 디스플레이 오브젝트가 다른 오브젝트의 뷰를 부분적으로 차단할 경우, 디스플레이의 뷰어는 디스플레이 오브젝트를 가까이 있는 것으로 지각한다. 따라서, 런타임 시, 폐색(616) 특성은, 디스플레이 오브젝트에 적절하게 적용될 경우, 오브젝트로 하여금, 다수의 오브젝트들에 대하여 적절하게 정렬된 것으로 지각되게 한다. 도시하지는 않았지만, 개발자로 하여금, 이전(624) 탭을 통해 개별 플러거블(pluggable) 모듈들 또는 보다 향상된 구성들을 제공하게 함으로써, 몇 개의 다른 구현들 및 구성 옵션들이 표현되고 수용될 수 있다. 예를 들어, 일부 구현들에서, 디스플레이 특성들은, 상술된 바와 같이, 그래피컬 특성들뿐만 아니라 애니메이션 특성들을 포함할 수 있다. 예를 들어, 알려지지 않은 오브젝트와 연관되는 특정 조건들의 검출 시, 알려지지 않은 오브젝트가 몬스터 또는 작은 폭발과 같은 애니메이션으로된 피처로 변할 수 있다. 개발자가 오브젝트 템플릿(400)의 구성을 완료하면, 개발자는 최종 옵션(624)을 선택하고 오브젝트 템플릿의 생성을 완료할 수 있다.
[0078]도 7은, 본 발명의 일 실시예들에 따른, 런타임 시 디스플레이 상에 이미지를 렌더링하기 위해 모바일 디바이스(100)에서 구현되는 예시적인 모듈들에 대한 블록도를 도시한다. 모바일 디바이스(100)는 도 11에 설명된 하나 이상의 컴포넌트들을 이용하여 구현된 컴퓨터 디바이스일 수 있다. 도 7에 설명된 모듈들은, 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 다른 조합을 이용하여 구현될 수 있다. 일 구현에서, 도 7에 설명된 모듈들 중 일부는, 임의의 자기, 전자, 광학, 또는 다른 컴퓨터 판독가능 저장 매체일 수 있는 컴퓨터 판독 가능 매체(700) 상에 소프트웨어 모듈들로서 저장될 수 있다. 일 구현에서, 컴퓨터 판독가능 저장 매체(700)는 이미지 캡처 모듈(704), 알려지지 않은 오브젝트 선택자 모듈(706), 물리적 속성 검출기 모듈(708), 오브젝트 템플릿 선택자 모듈(710), 스케일링 모듈(712) 및 렌더링 모듈(714)을 포함할 수 있다.
[0079]런타임 시, 모바일 디바이스의 사용자는 물리적 장면에서 하나 이상의 카메라들(702)을 포인팅하고 그 장면으로부터 이미지/비디오들을 획득/캡처할 수 있다. 일부 예에서, 선택된 카메라 파라미터들(줌, 셔터 스피드, 노광 등)에 기초한, 카메라의 렌즈는, 감지 기술의 일부로서 또는 아날로그 디지털 변환 로직을 통해 디지털 정보로 변환될 수 있는 미가공 아날로그 정보를 획득한다.
[0080]이미지 캡처 모듈(704)은 획득된/캡처된 이미지/비디오 정보를 택할 수 있고 추가 프로세싱을 위해 메모리 버퍼에 정보를 저장할 수 있다. 일부 경우에, 이미지 캡처 모듈(704)은, 이미지 데이터의 추가 프로세싱 전에 EXIF(Exchangeable image file format), 비트맵, JPEG(Joint Photographic Experts Group) 또는 MPEG-4(Moving Picture Experts Group-4)와 같은 표준에 따른 데이터로 미가공 데이터를 변환할 수 있다.
[0081]알려지지 않은 오브젝트 선택자 모듈(706)이 이미지 캡처 모듈(704)로부터 수신되거나 또는 액세스되는 이미지 데이터로부터, 알려지지 않은 오브젝트들을 검출하고 선택할 수 있다. 일 구현에서, 알려지지 않은 오브젝트의 검출 전에, 알려지지 않은 오브젝트 선택자 모듈(706)이 물리적 장면의 특성들을 검출할 수 있다. 예를 들어, 알려지지 않은 오브젝트 선택자 모듈(706)은, 평면 표면으로서 표면을 검출하고 그리고 그러한 몇 개의 오브젝트들이 평면 표면 상에 배치됨을 검출할 수 있다. 알려지지 않은 오브젝트 선택자 모듈(706)은, 공지된 방법들, 이를 테면, 표면 검출, 에지 검출, 피처 검출 및 오브젝트 검출을 이용함으로써 평면 표면을 검출하고 물리적 장면에서 몇 개의 (알려진 또는 알려지지 않은) 오브젝트들을 묘사할 수 있다. 특정 실시예들에서, 알려지지 않은 오브젝트 선택자 모듈(706)은, 공지된 방법들을 이용하여 장면으로부터 알려지지 않은 또는 물리적 장면으로부터 식별될 수 없는 오브젝트들을 선택할 수 있다. 특정 다른 실시예에서, 평면 표면 위의 물리적 장면에서 검출된 모든 오브젝트이 알려지지 않은 오브젝트로 다루어질 수 있다. 알려지지 않은 오브젝트 선택자 모듈(706)은 다수의 이미지들로부터의 정보를 사용할 수 있다. 알려지지 않은 오브젝트들은, 이들이 검출된 후 시간에 따라 추적될 수 있다.
[0082]하나 이상의 알려지지 않은 오브젝트들이 검출되면, 그러한 알려지지 않은 오브젝트들 중 하나 이상의 것이 물리적 속성 검출기 모듈(708)에 의한 추가 프로세싱을 위해 선택될 수 있다. 물리적 속성 검출기 모듈(708)은 알려지지 않은 오브젝트의 사이즈, 형상, 색상, 순서화, 위치 및 포즈와 같은 알려지지 않은 오브젝트의 하나 이상의 물리적 속성들을 검출할 수 있다.
[0083]오브젝트 템플릿 선택자 모듈(710)은, 물리적 속성 검출기 모듈(708)에 의해 검출되는, 선택된 알려지지 않은 오브젝트의 물리적 속성들을 하나 이상의 오브젝트 템플릿들(400)의 물리적 속성 검증자들(402)에 대하여 비교하고 오브젝트 템플릿을 선택할 수 있다. 편집 모드에서 오브젝트 템플릿(400)에 대한 물리적 속성 검증자(402)의 물리적 속성들을 정의하는 프로세스가 도 4 및 도 5에서 보다 구체적으로 설명된다.
[0084]특정 실시예들에서, 스케일링 모듈(712) 및 렌더링 모듈(714)은, 선택된 알려지지 않은 오브젝트의 위치에서 디스플레이 오브젝트의 렌더링 시 선택된 오브젝트 템플릿(400)으로부터의 오브젝트 디스플레이 특성들(406)을 이용할 수 있다. 예를 들어, 스케일링 모듈(712)은, 디스플레이 오브젝트가, 알려지지 않은 오브젝트의 사이즈에 대하여 사이즈가 스케일링되어야 하는지를 결정하기 위해서 편집 모드에서 개발 시에 개발자에 의해 선택된 스케일링된(610) 파라미터를 사용할 수 있다. 렌더링 모듈(714)은 추가로, 선택된 오브젝트 템플릿(400)으로부터의 선택된 오브젝트 디스플레이 특성들(406), 이를 테면, 디스플레이 오브젝트에 대한 높이(602), 폭(604), 구조(606), 컬러(608), 스케일(610), 텍스처(612), 충돌(614)로, 폐색(616) 및 투명도(618)를 이용하여 디스플레이 오브젝트를 렌더링할 수 있다. 렌더링 모듈(714)은, 런타임 시 모바일 디바이스(100)의 디스플레이(716) 상의 알려지지 않은 오브젝트의 위치에서, 알려지지 않은 오브젝트 대신 또는 알려지지 않은 오브젝트의 디스플레이를 증강시킴으로써 디스플레이 오브젝트를 렌더링할 수 있다.
[0085]도 8a는 본 발명의 하나 이상의 실시예들에 따른, 편집 모드에 시각적으로 표현된 2개의 오브젝트 템플릿들을 도시한다. 도 8a에 도시된 2개의 빌딩 모델들(802 및 804)이 각각 별개의 오브젝트 템플릿을 나타낼 수 있다. 빌딩 모델들의 구조는 시각적인 외관을 정의하는 것의 일부로서 디스플레이 오브젝트들에 대한 구조(606)를 제공할 수 있다. 오브젝트 템플릿들은 편집 모드에서 편집 툴을 이용하여 개발자에 의해 개발된다.
[0086]도 8b는, 모바일 디바이스(100)에 결합된 카메라(702)에 의해 획득된 물리적 장면의 입력 이미지를, 변경하지 않은 상태로 도시한다. 도 8b는 도 8a에 도시된 오브젝트 템플릿의 개발보다 나중에 획득된 이미지를 나타낸다. 도 8b로부터의 이미지는 2개의 알려지지 않은 오브젝트들, 더 키가 큰 오브젝트(806)와 더 짧은 오브젝트(808)를 디스플레이한다. 본 발명의 실시예들은, 오브젝트들의 높이 및 사이즈와 같은 알려지지 않은 오브젝트들과 연관된 속성들을 (물리적 속성 검출기 모듈(708)을 이용하여) 도출한다. 도 8c는 모바일 디바이스(100)의 디스플레이 스크린(716) 상에 디스플레이될 수 있는 증강 현실 렌더링 이미지의 예를 도시한다. 도 8c에서, 오브젝트 템플릿들은 물리적 장면으로부터의 알려지지 않은 오브젝트들에 대해 그들의 높이에 기초하여 (오브젝트 템플릿 선택자 모듈(710)을 이용하여) 선택된다. 예를 들어, 오브젝트 템플릿(804)(도 8a)은 실제 알려지지 않은 오브젝트(806)(도 8b)와 연관되고, 이후, 각각의 오브젝트 템플릿들의 디스플레이 특성들에 기초하여 도 8c의 오브젝트(810)로서 렌더링될 수 있다. 마찬가지로, 오브젝트 템플릿(802)(도 8a)은 실제 알려지지 않은 오브젝트(808)(도 8b)와 연관되고, 이후, 도 8c의 오브젝트(812)로서 렌더링된다. 따라서, 도 8c는, 모바일 디바이스(100)의 디스플레이 스크린(716) 상에 디스플레이될 수 있는 증강 현실 장면의 일례를 나타낸다.
[0087]도 9는 본 발명의 하나 이상의 실시예들에 따른, 편집 모드에서 오브젝트 템플릿을 생성하기 위한 방법에 대한 흐름도를 도시한다. 하나 이상의 양상들에 따르면, 도 9에 도시된 흐름도(900)에 기술된 방법들 및/또는 방법 블록들 중 임의의 것 및/또는 모든 것이 컴퓨팅 디바이스에 의해 및/또는 컴퓨팅 디바이스에서 구현될 수 있으며, 컴퓨팅 디바이스의 컴포넌트들이, 예를 들어, 도 11에서 더욱 구체적으로 설명된다. 일 실시예에서, 도 9에 대하여 아래에 설명된 방법 블록들 중 하나 이상의 것이 프로세서(1110)와 같은 컴퓨팅 디바이스의 프로세서 또는 다른 프로세서에 의해 구현된다. 추가적으로 또는 대안적으로, 본원 설명된 방법들 및/또는 방법 블록들 중 임의의 것 및/또는 모두가, 컴퓨터 판독가능 명령들, 이를 테면, 메모리(1135), 저장소(1125) 또는 다른 컴퓨터 판독가능 매체와 같은 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 판독가능 명령들로 구현될 수 있다.
[0088]특정 실시예들에서, 컴퓨팅 디바이스는 애플리케이션을 위한 하나 이상의 오브젝트 템플릿들을 개발하도록 편집 툴을 이용하는 편집 모드를 촉진시킬 수 있다. 이후의 시점에서, 동일한 디바이스 또는 상이한 디바이스, 예컨대, 모바일 디바이스 상에서 실행되는 애플리케이션은, 물리적인 장면부터 증강 현실 디스플레이 장면까지의 알려지지 않은 오브젝트들 대신 디스플레이 오브젝트들의 렌더링 시 하나 이상의 오브젝트 템플릿들을 사용할 수 있다.
[0089]블록(902)에서, 컴퓨팅 디바이스의 컴포넌트들은 적어도 하나의 사용자 선택 물리적 속성을 수신할 수 있다. 물리적 속성은, 알려지지 않은 오브젝트의 형상, 알려지지 않은 오브젝트의 사이즈, 알려지지 않은 오브젝트의 위치, 알려지지 않은 오브젝트의 포즈, 알려지지 않은 오브젝트의 다른 오브젝트들에 대한 출현의 순서, 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 이상의 것을 포함할 수 있다. 도 5에 도시된 바와 같이, 일례로, 컴퓨팅 디바이스는 사용자-선택 물리적 속성들을 수신하기 위한 사용자 인터페이스를 제공할 수 있다.
[0090]블록(904)에서, 컴퓨팅 디바이스의 컴포넌트들은 적어도 하나의 사용자 선택 디스플레이 특성을 수신할 수 있다. 오브젝트 템플릿의 디스플레이는 그래피컬 및 애니메이션 특성들 중 하나 이상의 것을 포함할 수 있다. 오브젝트 템플릿의 그래피컬 특성들은, 색상, 사이즈, 텍스처, 형상, 충돌 검출, 폐색 및 투명도 중 하나 이상의 것을 포함할 수 있지만, 이것으로 제한되지 않는다. 도 6에 도시된 바와 같이, 일례로, 컴퓨팅 디바이스는 사용자-선택 물리적 속성들을 수신하기 위한 사용자 인터페이스를 제공할 수 있다.
[0091]블록(906)에서, 컴퓨팅 디바이스의 컴포넌트들은 적어도 하나의 사용자-선택 물리적 속성 및 사용자-선택 디스플레이 특성을 포함하는 오브젝트 템플릿을 생성시킬 수 있으며, 런타임 시, 오브젝트 템플릿이, 사용자 선택된 디스플레이 특성에 적어도 기초하여 디스플레이 오브젝트의 렌더링을 위해 사용자-선택 물리적 속성과 매칭되거나 또는 이를 만족하는 물리적 장면으로부터 검출된 알려지지 않은 오브젝트의 물리적 속성을 기초하여 선택된다.
[0092]도 9가 하나의 오브젝트 템플릿을 생성하는 것을 도시하지만, 몇 개의 오브젝트 템플릿들이 런타임 동안 나중의 사용을 위해 편집 모드에서 생성될 수 있다.
[0093]도 9에 도시된 특정 블록들은 본 발명의 일시예에 따른, 동작 모드들 간의 특정 스위칭 방법을 제공한다는 것을 인식해야 한다. 블록들의 다른 시퀀스들이 또한 대안적인 실시예들에 따라 수행될 수 있다. 예를 들어, 본 발명의 대안적인 실시예들이 상이한 순서로 위에서 개략적으로 설명된 블록들을 수행할 수 있다. 예시하자면, 사용자는, 제 3 동작 모드에서 제 1 동작모드로, 제 4 모드에서 제 2 모드로, 또는 이들 간의 임의의 조합으로의 변경을 선택할 수 있다. 또한, 도 9에 도시된 개별 블록들은, 개별 블록에 대해 적절하게 다양한 시퀀스들로 수행될 수 있는 다수의 서브 블록들을 포함할 수 있다. 또한, 추가적인 블록들이 특정 애플리케이션들에 따라 추가되거나 또는 제거될 수 있다. 당업자는 프로세스의 많은 변형들, 변경들 및 대안들을 인지하고 인식할 것이다.
[0094]도 10은, 본 발명의 하나 이상의 실시예들에 따른 방법을 수행함으로써 디스플레이 이미지를 렌더링하기 위한 흐름도를 도시한다. 하나 이상의 양상들에 따르면, 도 10에 도시된 흐름도(1000)에 기술된 방법들 및/또는 방법 블록들 중 임의의 것 및/또는 모든 것이 모바일 디바이스에 의해 및/또는 컴퓨팅 디바이스에서 구현될 수 있으며, 컴퓨팅 디바이스의 컴포넌트들이, 예를 들어, 도 11에 보다 구체적으로 설명된다. 일 실시예에서, 도 10에 대하여 아래에 설명된 방법 블록들 중 하나 이상의 것이 프로세서(1110)와 같은 모바일 디바이스의 프로세서 또는 다른 프로세서에 의해 구현된다. 추가적으로 또는 대안적으로, 본원에 설명된 방법들 및/또는 방법 블록들 중 임의의 것 및/또는 모두가, 컴퓨터 판독가능 명령들, 이를 테면, 메모리(1135), 저장소(1125) 또는 다른 컴퓨터 판독가능 매체와 같은 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 판독가능 명령들로 구현될 수 있다.
[0095]블록(1002)에서, 모바일 디바이스의 컴포넌트들은 물리적 장면에 대한 정보를 획득한다. 예를 들어, 모바일 디바이스(100)는, 장면이 테이블 또는 바닥과 같은 평면 표면을 갖는다는 것을 검출할 수 있다. 블록(1004)에서, 알려지지 않은 오브젝트 선택자 모듈(706)과 같은 모바일 디바이스(100)의 컴포넌트들이 물리적 장면으로부터 알려지지 않은 오브젝트를 선택한다. 특정 실시예들에서, 모바일 디바이스(100)의 컴포넌트들은 또한 알려지지 않은 오브젝트의 포즈를 결정한다.
[0096]블록(1006)에서, 모바일 디바이스(100)의 컴포넌트, 이를 테면, 물리적 속성 검출기 모듈(708)은 알려지지 않은 오브젝트와 연관된 물리적 속성들을 결정한다. 일부 실시예들에서, 알려지지 않은 오브젝트와 연관된 속성들은 알려지지 않은 오브젝트의 형상, 알려지지 않은 오브젝트의 사이즈, 알려지지 않은 오브젝트의 위치, 알려지지 않은 오브젝트의 포즈, 알려지지 않은 오브젝트의 다른 오브젝트들에 대한 출현의 순서, 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 이상의 것을 포함할 수 있다.
[0097]블록(1008)에서, 모바일 디바이스(100)의 컴포넌트, 이를 테면, 오브젝트 템플릿 선택자 모듈(710)은 알려지지 않은 오브젝트와 연관된 물리적 속성들에 기초하여 오브젝트 템플릿을 선택한다. 특정 실시예들에서, 모바일 디바이스(100)의 컴포넌트들은 오브젝트 템플릿의 선택 시 알려지지 않은 오브젝트와 연관된 물리적 속성들 및 오브젝트 템플릿으로부터의 물리적 속성 검증자들을 비교할 수 있다.
[0098]블록(1010)에서, 렌더링 모듈(714)과 같은 모바일 디바이스(100)의 컴포넌트들은, 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성을 이용하여 알려지지 않은 오브젝트의 포즈에서 디스플레이 오브젝트를 렌더링할 수 있다. 일 양상에서, 디스플레이 오브젝트를 렌더링하는 것은 모바일 디바이스의 디스플레이 스크린 상에 디스플레이될 물리적 장면을 나타내는 이미지 상에 디스플레이 오브젝트를 렌더링하는 것을 포함할 수 있다.
[0099]특정 실시예들에서, 오브젝트 템플릿의 적어도 하나의 디스플레이 특성은 그래피컬 및 애니메이션 특성들 중 하나 이상의 것을 포함할 수 있다. 오브젝트 템플릿의 그래피컬 특성들은, 색상, 사이즈, 텍스쳐, 형상, 충돌 검출, 폐색 및/또는 투명도 중 하나 이상의 것을 포함할 수 있다. 일 구현에서, 오브젝트 템플릿의 특성들은 애플리케이션의 개발 시에 편집 인터페이스를 이용하여 개발자에 의해 선택될 수 있다.
[00100]일 실시예에서, 다수의 오브젝트 템플릿들이 정의될 수 있다. 다른 구현에서, 알려지지 않은 오브젝트가 복수의 알려지지 않은 오브젝트들 중 하나일 수 있고 오브젝트 템플릿은 복수의 알려지지 않은 오브젝트들로부터 다수의 알려지지 않은 오브젝트들과 연관될 수 있다.
[00101]도 10에 도시된 특정 블록들은 본 발명의 실시예에 따른, 동작 모드들 간의 특정 스위칭 방법을 제공한다는 것을 인식해야 한다. 블록들의 다른 시퀀스들이 또한 대안적인 실시예들에 따라 수행될 수 있다. 예를 들어, 본 발명의 대안적인 실시예들이 상이한 순서로 위에서 개략적으로 설명된 블록들을 수행할 수 있다. 예시하자면, 사용자는, 제 3 동작 모드에서 제 1 동작모드로, 제 4 모드에서 제 2 모드로, 또는 이들 간의 임의의 조합으로의 변경을 선택할 수 있다. 또한, 도 10에 도시된 개별 블록들은, 개별 블록에 대해 적절하게 다양한 시퀀스들로 수행될 수 있는 다수의 서브 블록들을 포함할 수 있다. 또한, 추가적인 블록들이 특정 애플리케이션들에 따라 추가되거나 또는 제거될 수 있다. 당업자는 프로세스의 많은 변형들, 변경들 및 대안들을 인지하고 인식할 것이다.
[00102]도 11은 본 발명의 실시예들의 실시 시에 사용될 수 있는 디바이스의 부분들을 포함하는 예시적인 컴퓨팅 디바이스를 도시한다. 도 11에 도시된 컴퓨팅 디바이스는, 본원에서 임의의 컴퓨터화된 시스템의 부분으로서 포함될 수 있다. 예를 들어, 컴퓨팅 디바이스(1100)는 모바일 디바이스의 컴포넌트들 또는 3D 편집 툴을 실행시키기 위한 컴퓨팅 디바이스 중 일부를 나타낼 수 있다. 컴퓨팅 디바이스의 예들(1100)은 데스크탑들, 워크스테이션들, 퍼스널 컴퓨터들, 슈퍼컴퓨터들, 비디오 게임 콘솔들, 태블릿들, 스마트폰들, 랩탑들, 넷북들, 또는 다른 휴대용 디바이스들을 포함하지만 이것으로 한정되지 않는다. 도 11는 본 명세서에 기술된 다양한 다른 실시예들에 의해 제공되는 방법들을 수행할 수 있고, 그리고/또는 호스트 컴퓨팅 디바이스, 원격 키오스크/단말, 판매시점관리(point-of-sale) 디바이스, 모바일 다기능 디바이스, 셋톱 박스 및/또는 컴퓨팅 디바이스로서 기능할 수 있는 컴퓨팅 디바이스(1100)의 일 실시예의 개략적 도시를 제공한다. 도 11는 단지 적절하게 활용될 수 있는 임의의 또는 모든 다양한 컴포넌트들의 일반화된 도시를 제공하는 것만을 의미한다. 그러므로, 도 11은 개개의 시스템 구성요소들이 상대적으로 분리된 또는 상대적으로 더 통합된 방식으로 어떻게 구현될 수 있는지를 넓게 도시한다.
[00103]컴퓨팅 디바이스(1100)는 버스(1105)를 통해 전기적으로 연결될 수 있는(또는, 그렇지 않으면 적절하게 통신할 수 있는) 하드웨어 구성요소들을 포함하는 것으로 도시된다. 하드웨어 구성요소들은, 하나 이상의 범용 프로세서들 및/또는 (디지털 신호 처리 칩들, 그래픽 가속 프로세서들, 및/또는 이와 유사한 것들과 같은) 하나 이상의 특수 목적의 프로세서들을 포함할 수 있는(이것으로 제한되지 않음) 하나 이상의 프로세서들(1110); 카메라들, 센서들(1150), 마우스, 키보드 및/또는 이와 유사한 것들을 포함할 수 있는(이것으로 제한되지 않음) 하나 이상의 입력 디바이스들(1115); 및 디스플레이 유닛, 프린터 및/또는 이와 유사한 것들을 포함할 수 있는(이것으로 제한되지 않음) 하나 이상의 출력 디바이스들(1120)을 포함할 수 있다.
[00104]컴퓨팅 디바이스(1100)는 국부적인(local) 및/또는 네트워크 액세스 가능한 저장소를 포함할 수 있고(이것으로 제한되지 않음) 그리고/또는 프로그램 가능하고, 플래시 업데이트 가능하고 그리고/또는 이와 유사할 수 있는 랜덤 액세스 메모리("RAM") 및/또는 판독 전용 메모리("ROM")와 같은 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 솔리드형(solid-form) 저장 디바이스를 포함할 수 있는(이것으로 제한되지 않음) 하나 이상의 비일시적(non-transitory) 저장 디바이스들(1125)을 더 포함(및/또는 통신할 수 있음)할 수 있다. 이러한 저장 디바이스들은 다양한 파일 시스템들, 데이터베이스 구조들, 및/또는 이와 유사한 것들을 포함하는(이것으로 제한되지 않음) 임의의 적절한 데이터 저장소를 구현하도록 구성될 수 있다.
[00105]컴퓨팅 디바이스(1100)는 또한, 통신 서브시스템(1130)을 포함할 수 있다. 통신 서브시스템(1130)은 데이터를 수신하고 송신하기 위한 트랜시버 또는 유선 및/또는 무선 매체를 포함할 수 있다. 통신 서브시스템(1130)은 또한, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, (BluetoothTM 디바이스, 802.11 디바이스, WiFi 디바이스, WiMax 디바이스, 셀룰러 통신 시설들 등과 같은) 무선 통신 디바이스 및/또는 칩셋, 및/또는 이와 유사한 것들을 포함할 수 있다(이것으로 제한되지 않음). 통신 서브시스템(1130)은 데이터가 (한 가지만 예시하자면, 아래에 설명되는 네트워크와 같은) 네트워크, 다른 컴퓨팅 디바이스들, 및/또는 본 명세서에 기술된 임의의 다른 디바이스들과 교환되도록 허용할 수 있다. 많은 실시예들에서, 컴퓨팅 디바이스(1100)는 전술한 바와 같이 RAM 또는 ROM 디바이스를 포함할 수 있는 비일시적 작업 메모리(1135)를 더 포함할 것이다.
[00106]컴퓨팅 디바이스(1100)는 현재, 작업 메모리(1135) 내에 위치하는 것으로 도시된, 운영 시스템(1140), 디바이스 드라이버들, 실행가능한 라이브러리들, 및/또는 다양한 실시예들에 의해 제공되는 컴퓨터 프로그램들을 포함할 수 있고, 그리고/또는 본 명세서에 기술된 바와 같이 다른 실시예들에 의해 제공되는 방법들을 구현하고 그리고/또는 시스템들을 구성하도록 설계될 수 있는 하나 이상의 애플리케이션 프로그램들(1145)과 같은 다른 코드를 포함하는 소프트웨어 엘리먼트들을 또한 포함할 수 있다. 단지 예로서, 앞에서 논의된 방법(들)에 대하여 기술된 하나 이상의 프로시저들은 컴퓨터(및/또는 컴퓨터 내의 프로세서)에 의해 실행가능한 코드 및/또는 명령들로 구현될 수 있고; 그런 다음, 일 양상에서, 이러한 코드 및/또는 명령들은 기술된 방법들에 따라 하나 이상의 동작들을 수행하도록 범용 컴퓨터(또는 다른 디바이스)를 구성 및/또는 적응하기 위해 사용될 수 있다.
[00107]이러한 명령들 및/또는 코드의 세트는 전술한 저장 디바이스(들)(1125)와 같은 컴퓨터 판독가능한 저장 매체 상에 저장될 수 있다. 일부 경우들에서, 저장 매체는 컴퓨팅 디바이스(1100)와 같은 컴퓨팅 디바이스 내에 포함될 수 있다. 다른 실시예들에서, 명령들/코드가 저장되어 있는 범용 컴퓨터를 프로그램, 구성 및/또는 적응시키기 위해 저장 매체가 사용될 수 있도록, 저장 매체는 컴퓨팅 디바이스로부터 분리될 수 있고 (예를 들어, 컴팩트 디스크와 같은 제거가능한 매체) 그리고/또는 설치(installation) 패키지로 제공될 수 있다. 이러한 명령들은, 컴퓨팅 디바이스(1100)에 의해 실행될 수 있는 실행가능한 코드의 형태를 취할 수 있고, 그리고/또는 컴퓨팅 디바이스(1100) 상에서의 컴파일 및/또는 설치(예를 들어, 임의의 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등을 사용함)시 이후 실행가능한 코드의 형태를 취하는 소스 및/또는 설치가능한 코드의 형태를 취할 수 있다.
[00108]특정한 요구사항들에 따라 실질적인 변형들이 이루어질 수 있다. 예를 들어, 커스텀화된(customized) 하드웨어가 또한 사용될 수 있고, 그리고/또는 특정한 구성요소들이 하드웨어, 소프트웨어(애플릿들(applets) 등과 같은 휴대용 소프트웨어를 포함함) 또는 이 둘 다에서 구현될 수 있다. 또한, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들(1100)로의 접속이 이용될 수 있다.
[00109]일부 실시예들은 본 개시에 따른 방법들을 수행하기 위해 (컴퓨팅 디바이스(1100)과 같은) 컴퓨팅 디바이스를 이용할 수 있다. 예를 들어, 프로세서(1110)가 작업 메모리(1135)에 포함된 하나 이상의 명령들(운영 시스템(1140) 및/또는 애플리케이션 프로그램(1145)과 같은 다른 코드 내에 포함될 수 있음)의 하나 이상의 시퀀스들을 실행하는 것에 대한 응답으로, 기술된 방법들의 프로시저들의 일부 또는 전부가 컴퓨팅 디바이스(1100)에 의해 수행될 수 있다. 이러한 명령들은, 하나 이상의 저장 디바이스(들)(1125)와 같은 다른 컴퓨터 판독가능한 매체로부터 작업 메모리(1135)에 입력(read into)될 수 있다. 단지 예로서, 작업 메모리(1135) 내에 포함된 명령들의 시퀀스들의 실행은 프로세서(들)(1110)로 하여금 본 명세서에 기술된 방법들의 하나 이상의 프로시저들을 수행하게 할 수 있다.
[00110]본 명세서에서 사용된 용어들 "머신(machine) 판독가능한 매체" 및 "컴퓨터 판독가능한 매체"는 머신으로 하여금 특정한 방식으로 동작하게 하는 데이터를 제공하는데 참여하는 임의의 매체를 지칭한다. 컴퓨팅 디바이스(1100)를 사용하여 구현된 일부 실시예들에서, 다양한 컴퓨터 판독가능한 매체들은 실행을 위해 프로세서(들)(1110)에 명령들/코드를 제공하는데 관여될 수 있고, 그리고/또는 이러한 명령들/코드를 (예를 들어, 신호들로서) 저장 및/또는 운반하는데 사용될 수 있다. 많은 구현들에서, 컴퓨터 판독가능한 매체는 물리적 및/또는 유형의 저장 매체이다. 이러한 매체는 비휘발성(non-volatile) 매체들 및 휘발성 매체들을 포함하지만 이것으로 제한되지 않는 많은 형태들을 취할 수 있다. 예를 들어, 비휘발성 매체들은 저장 디바이스(들)(1125)와 같은 광학적 및/또는 자기 디스크들을 포함한다. 휘발성 매체들은 작업 메모리(1135)와 같은 동적 메모리를 포함한다(이것으로 제한되지 않음). 전송 매체들은 버스(1105)를 포함하는 와이어들을 비롯하여, 광 섬유들, 구리선 및 동축 케이블들 뿐만 아니라 통신 서브시스템(1130)의 다양한 컴포넌트들(및/또는 통신 서브시스템(1130)이 다른 디바이스들과의 통신을 제공하는 매체들)을 포함한다(이것으로 제한되지 않음). 그러므로, 전송 매체들은 파들(전파 및 적외선 데이터 통신 중에 생성되는 것들과 같은 전파, 음파 및/또는 광파들을 포함하지만 이것으로 제한되지 않음)의 형태를 또한 취할 수 있다. 대안적인 실시예에서, 이벤트-구동식 컴포넌트들 및 디바이스들, 이를 테면, 카메라들이 사용될 수 있으며, 프로세싱 중 일부가 아날로그 도메인에서 수행될 수 있다.
[00111]물리적 및/또는 유형의 컴퓨터 판독가능한 매체들의 통상적인 형태들은 예를 들어, 플로피 디스크(disk), 플렉시블 디스크(disk), 하드 디스크(disk), 자기 테이프 또는 임의의 다른 자기적 매체, CD-ROM, 임의의 다른 광학적 매체, 펀치카드(punchcard)들, 종이 테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 이하에 기술되는 반송파, 또는 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다.
[00112]컴퓨터 판독가능한 매체들의 다양한 형태들은 실행을 위해 프로세서(들)(1110)에 하나 이상의 명령들의 하나 이상의 시퀀스들을 운반하는 것에 관여될 수 있다. 단지 예로서, 명령들은 초기에 원격 컴퓨터의 광학적 디스크(disc) 및/또는 자기적 디스크(disk) 상에서 운반될 수 있다. 원격 컴퓨터는 명령들을 자신의 동적 메모리에 로드할 수 있고, 컴퓨팅 디바이스(1100)에 의해 수신 및/또는 실행될 명령들을 전송 매체를 통해 신호들로서 송신할 수 있다. 전자기적 신호들, 음향 신호들, 광학적 신호들 및/또는 이와 유사한 신호들의 형태일 수 있는 이러한 신호들은 본 발명의 다양한 실시예들에 따라 명령들이 인코딩될 수 있는 반송파들의 모든 예들이다.
[00113]통신 서브시스템(1130)(및/또는 그것의 컴포넌트들)은 일반적으로 신호들을 수신할 것이고, 그러면 버스(1105)는 신호들(및/또는 신호들에 의해 운반되는 데이터, 명령들 등)을 프로세서(들)(1110)이 명령들을 리트리브(retrieve)하고 실행하는 작업 메모리(1135)에 운반할 수 있다. 작업 메모리(1135)에 의해 수신되는 명령들은 프로세서(들)(1110)에 의한 실행 전 또는 후 중 어느 한 시점에 비일시적 저장 디바이스(1125) 상에 선택적으로 저장될 수 있다.
[00114]위에서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 실시예들이 적절할 때 다양한 프로시저들 또는 컴포넌트들을 생략, 치환, 또는 부가할 수 있다. 예컨대, 대안적 구성들에서는, 설명된 방법들이 설명된 것과는 상이한 순서로 수행될 수 있고, 그리고/또는 다양한 단계들이 부가, 생략, 및/또는 결합될 수 있다. 또한, 특정 실시예들에 대하여 설명된 특징들은 다양한 다른 실시예들로 결합될 수 있다. 실시예들의 상이한 양상들 및 엘리먼트들이 유사한 방식으로 결합될 수 있다. 또한, 기술이 진화하며, 그에 따라, 엘리먼트들 중 많은 것이 본 개시내용의 범위를 그러한 특정 예들로 제한되지 않는 예들이다.
[00115]설명에서는, 실시예들의 완전한 이해를 제공하기 위해 구체적인 세부사항들이 제공된다. 그러나, 실시예들은 특정한 구체적인 세부사항들 없이도 실시될 수 있다. 예컨대, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기술들은, 실시예들을 모호하게 하는 것을 회피하기 위하여, 불필요한 세부사항 없이 언급되었다. 이러한 설명은 예시적 실시예들만을 제공하고, 그리고 다양한 실시예들의 범위, 적용가능성, 또는 구성을 제한하는 것으로 의도되지 않는다. 그보다는, 실시예들의 이전 설명은 본 발명의 실시예들을 구현하기 위한 인에이블링 설명을 당업자들에게 제공할 것이다. 본 발명의 사상 및 범위로부터 벗어남 없이, 엘리먼트들의 기능 및 어레인지먼트에서 다양한 변경들이 이루어질 수 있다.
[00116]또한, 일부 실시예들이 흐름도들 또는 블록도들로서 도시된 프로세스들로서 설명되었다. 각각이 동작들을 순차적 프로세스로서 설명할 수 있지만, 동작들 중 많은 동작들이 병렬로 또는 동시에 수행될 수 있다. 부가하여, 동작들의 순서는 재배열될 수 있다. 프로세스는 도면에 포함되지 않은 부가적인 블록들을 가질 수 있다. 또한, 방법들의 실시예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술어들, 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현될 때, 연관된 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 컴퓨터 판독가능 매체에 저장될 수 있다. 프로세서들은 연관된 작업들을 수행할 수 있다.
[00117]몇 가지 실시예들을 설명하였으며, 다양한 변형들, 대안적인 구성들 및 등가물들이 본 개시내용의 정신으로부터 벗어나지 않고 사용될 수 있다. 예를 들어, 위의 엘리먼트들은 단지 더 큰 시스템의 컴포넌트일 수 있고, 여기서 다른 규칙들이 본 발명의 적용보다 우선하거나 또는 그렇지 않으면 본 발명의 적용을 수정할 수 있다. 또한, 다수의 블록들이 위의 엘리먼트들이 고려되기 이전에, 그 동안에, 또는 그 이후에 착수될 수 있다. 따라서, 위의 설명이 본 개시물의 범위를 제한하지 않는다.

Claims (30)

  1. 물리적 장면(physical scene)의 디지털 표현을 구성하기 위한 방법으로서,
    상기 물리적 장면으로부터 알려지지 않은 오브젝트를 선택하는 단계;
    상기 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성(attribute)을 결정하는 단계;
    오브젝트 템플릿의 물리적 속성 검증자(qualifier)에 대해 상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성을 비교하는 단계 ― 상기 오브젝트 템플릿은 상기 알려지지 않은 오브젝트와 상이한 오브젝트를 나타냄 ―;
    프로세서에 의해, 상기 오브젝트 템플릿의 상기 물리적 속성 검증자에 대한 상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성의 비교에 기초하여 상기 오브젝트 템플릿을 선택하는 단계 ― 상기 선택하는 단계는 상기 오브젝트 템플릿의 상기 물리적 속성 검증자가 상기 알려지지 않은 오브젝트와 연관된 상기 물리적 속성에 매칭한다고 결정하는 단계를 포함함 ―; 및
    상기 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성(property)을 이용하여 상기 물리적 장면으로부터 상기 알려지지 않은 오브젝트의 포지션에서 상기 물리적 장면의 상기 디지털 표현에 디스플레이 오브젝트를 렌더링(render)하는 단계를 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성은 상기 알려지지 않은 오브젝트의 형상, 상기 알려지지 않은 오브젝트의 사이즈, 상기 알려지지 않은 오브젝트의 위치, 상기 알려지지 않은 오브젝트의 포즈(pose), 다른 오브젝트들에 대한 상기 알려지지 않은 오브젝트의 출현(appearance)의 순서, 상기 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 또는 그 초과의 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 오브젝트 템플릿과 연관된 상기 적어도 하나의 디스플레이 특성은 그래피컬(graphical) 및 애니메이션(animation) 특성들 중 하나 또는 그 초과의 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 오브젝트 템플릿의 상기 그래피컬 특성들은 컬러, 사이즈, 텍스처(texture), 형상, 충돌 검출, 폐색(occlusion), 및 투명도 중 하나 또는 그 초과의 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 오브젝트 템플릿의 특성들은 애플리케이션의 개발 시에 편집 인터페이스를 이용하여 개발자에 의해 선택되는, 물리적 장면의 디지털 표현을 구성하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 알려지지 않은 오브젝트는 복수의 알려지지 않은 오브젝트들 중 하나이고, 그리고 상기 오브젝트 템플릿은 상기 복수의 알려지지 않은 오브젝트들로부터의 다수의 알려지지 않은 오브젝트들과 연관되는, 물리적 장면의 디지털 표현을 구성하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 오브젝트 템플릿은 복수의 오브젝트 템플릿들 중 하나인, 물리적 장면의 디지털 표현을 구성하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 디스플레이 오브젝트를 렌더링하는 단계는, 모바일 디바이스의 디스플레이 스크린 상에 디스플레이될 상기 물리적 장면을 나타내는 이미지 상에 상기 디스플레이 오브젝트를 렌더링하는 단계를 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 방법.
  9. 물리적 장면의 디지털 표현을 구성하기 위한 모바일 디바이스로서,
    상기 물리적 장면을 나타내는 이미지 데이터를 획득하도록 구성된 카메라; 및
    메모리에 연결된 프로세서를 포함하고,
    상기 프로세서는,
    상기 물리적 장면으로부터 알려지지 않은 오브젝트를 선택하고;
    상기 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성을 결정하고;
    오브젝트 템플릿의 물리적 속성 검증자에 대해 상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성을 비교하고 ― 상기 오브젝트 템플릿은 상기 알려지지 않은 오브젝트와 상이한 오브젝트를 나타냄 ―;
    상기 오브젝트 템플릿의 상기 물리적 속성 검증자에 대한 상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성의 비교에 기초하여 상기 오브젝트 템플릿을 선택하고 ― 상기 선택하는 것은 상기 오브젝트 템플릿의 상기 물리적 속성 검증자가 상기 알려지지 않은 오브젝트와 연관된 상기 물리적 속성에 매칭한다고 결정하는 것을 포함함 ―; 그리고
    상기 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성을 이용하여 상기 물리적 장면으로부터 상기 알려지지 않은 오브젝트의 포지션에서 상기 물리적 장면의 상기 디지털 표현에 디스플레이 오브젝트를 렌더링하도록
    구성되는, 물리적 장면의 디지털 표현을 구성하기 위한 모바일 디바이스.
  10. 제 9 항에 있어서,
    상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성은 상기 알려지지 않은 오브젝트의 형상, 상기 알려지지 않은 오브젝트의 사이즈, 상기 알려지지 않은 오브젝트의 위치, 상기 알려지지 않은 오브젝트의 포즈, 다른 오브젝트들에 대한 상기 알려지지 않은 오브젝트의 출현의 순서, 상기 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 또는 그 초과의 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 모바일 디바이스.
  11. 제 9 항에 있어서,
    상기 오브젝트 템플릿과 연관된 상기 적어도 하나의 디스플레이 특성은 그래피컬 및 애니메이션 특성들 중 하나 또는 그 초과의 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 모바일 디바이스.
  12. 제 11 항에 있어서,
    상기 오브젝트 템플릿의 상기 그래피컬 특성들은 컬러, 사이즈, 텍스처, 형상, 충돌, 폐색, 및 투명도 중 하나 또는 그 초과의 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 모바일 디바이스.
  13. 제 9 항에 있어서,
    상기 오브젝트 템플릿의 특성들은 애플리케이션의 개발 시에 편집 인터페이스를 이용하여 개발자에 의해 선택되는, 물리적 장면의 디지털 표현을 구성하기 위한 모바일 디바이스.
  14. 제 9 항에 있어서,
    상기 알려지지 않은 오브젝트는 복수의 알려지지 않은 오브젝트들 중 하나이고, 그리고 상기 오브젝트 템플릿은 상기 복수의 알려지지 않은 오브젝트들로부터의 다수의 알려지지 않은 오브젝트들과 연관되는, 물리적 장면의 디지털 표현을 구성하기 위한 모바일 디바이스.
  15. 제 9 항에 있어서,
    상기 오브젝트 템플릿은 복수의 오브젝트 템플릿들 중 하나인, 물리적 장면의 디지털 표현을 구성하기 위한 모바일 디바이스.
  16. 제 9 항에 있어서,
    상기 디스플레이 오브젝트를 렌더링하는 것은, 상기 모바일 디바이스의 디스플레이 스크린 상에 디스플레이될 상기 물리적 장면을 나타내는 이미지 상에 상기 디스플레이 오브젝트를 렌더링하는 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 모바일 디바이스.
  17. 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 비일시적 컴퓨터 판독가능 저장 매체는 프로세서에 의해 실행가능한 명령들을 포함하고,
    상기 명령들은,
    물리적 장면으로부터 알려지지 않은 오브젝트를 선택하고;
    상기 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성을 결정하고;
    오브젝트 템플릿의 물리적 속성 검증자에 대해 상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성을 비교하고 ― 상기 오브젝트 템플릿은 상기 알려지지 않은 오브젝트와 상이한 오브젝트를 나타냄 ―;
    상기 오브젝트 템플릿의 상기 물리적 속성 검증자에 대한 상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성의 비교에 기초하여 상기 오브젝트 템플릿을 선택하고 ― 상기 선택하는 것은 상기 오브젝트 템플릿의 상기 물리적 속성 검증자가 상기 알려지지 않은 오브젝트와 연관된 상기 물리적 속성에 매칭한다고 결정하는 것을 포함함 ―; 그리고
    상기 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성을 이용하여 상기 물리적 장면으로부터 상기 알려지지 않은 오브젝트의 포지션에서 상기 물리적 장면의 디지털 표현에 디스플레이 오브젝트를 렌더링하기 위한
    명령들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제 17 항에 있어서,
    상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성은 상기 알려지지 않은 오브젝트의 형상, 상기 알려지지 않은 오브젝트의 사이즈, 상기 알려지지 않은 오브젝트의 위치, 상기 알려지지 않은 오브젝트의 포즈, 다른 오브젝트들에 대한 상기 알려지지 않은 오브젝트의 출현의 순서, 상기 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 또는 그 초과의 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 제 17 항에 있어서,
    상기 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성은 그래피컬 및 애니메이션 특성들 중 하나 또는 그 초과의 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 오브젝트 템플릿의 상기 그래피컬 특성들은 컬러, 사이즈, 텍스처, 형상, 충돌 검출, 폐색, 및 투명도 중 하나 또는 그 초과의 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  21. 제 17 항에 있어서,
    상기 오브젝트 템플릿의 특성들은 애플리케이션의 개발 시에 편집 인터페이스를 이용하여 개발자에 의해 선택되는, 비일시적 컴퓨터 판독가능 저장 매체.
  22. 제 17 항에 있어서,
    상기 알려지지 않은 오브젝트는 복수의 알려지지 않은 오브젝트들 중 하나이고, 그리고 상기 오브젝트 템플릿은 상기 복수의 알려지지 않은 오브젝트들로부터의 다수의 알려지지 않은 오브젝트들과 연관되는, 비일시적 컴퓨터 판독가능 저장 매체.
  23. 제 17 항에 있어서,
    상기 오브젝트 템플릿은 복수의 오브젝트 템플릿들 중 하나인, 비일시적 컴퓨터 판독가능 저장 매체.
  24. 제 17 항에 있어서,
    상기 디스플레이 오브젝트를 렌더링하는 것은, 모바일 디바이스의 디스플레이 스크린 상에 디스플레이될 상기 물리적 장면을 나타내는 이미지 상에 상기 디스플레이 오브젝트를 렌더링하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  25. 물리적 장면의 디지털 표현을 구성하기 위한 장치로서,
    물리적 장면으로부터 알려지지 않은 오브젝트를 선택하기 위한 수단;
    상기 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성을 결정하기 위한 수단;
    오브젝트 템플릿의 물리적 속성 검증자에 대해 상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성을 비교하기 위한 수단 ― 상기 오브젝트 템플릿은 상기 알려지지 않은 오브젝트와 상이한 오브젝트를 나타냄 ―;
    상기 오브젝트 템플릿의 상기 물리적 속성 검증자에 대한 상기 알려지지 않은 오브젝트와 연관된 상기 적어도 하나의 물리적 속성의 비교에 기초하여 상기 오브젝트 템플릿을 선택하기 위한 수단 ― 상기 선택하는 것은 상기 오브젝트 템플릿의 상기 물리적 속성 검증자가 상기 알려지지 않은 오브젝트와 연관된 상기 물리적 속성에 매칭한다고 결정하는 것을 포함함 ―; 및
    상기 오브젝트 템플릿과 연관된 적어도 하나의 디스플레이 특성을 이용하여 상기 물리적 장면으로부터 상기 알려지지 않은 오브젝트의 포지션에서 상기 물리적 장면의 디지털 표현에 디스플레이 오브젝트를 렌더링하기 위한 수단을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 장치.
  26. 제 25 항에 있어서,
    상기 알려지지 않은 오브젝트와 연관된 적어도 하나의 물리적 속성은 상기 알려지지 않은 오브젝트의 형상, 상기 알려지지 않은 오브젝트의 사이즈, 상기 알려지지 않은 오브젝트의 위치, 상기 알려지지 않은 오브젝트의 포즈, 다른 오브젝트들에 대한 상기 알려지지 않은 오브젝트의 출현의 순서, 상기 디스플레이 오브젝트의 렌더링과 연관된 애플리케이션의 모드, 및 다른 알려지지 않은 오브젝트들의 속성들 중 하나 또는 그 초과의 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 장치.
  27. 제 25 항에 있어서,
    상기 오브젝트 템플릿과 연관된 상기 적어도 하나의 디스플레이 특성은 그래피컬 및 애니메이션 특성들 중 하나 또는 그 초과의 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 장치.
  28. 제 27 항에 있어서,
    상기 오브젝트 템플릿의 상기 그래피컬 특성들은 컬러, 사이즈, 텍스처, 형상, 충돌 검출, 폐색, 및 투명도 중 하나 또는 그 초과의 것을 포함하는, 물리적 장면의 디지털 표현을 구성하기 위한 장치.
  29. 제 25 항에 있어서,
    상기 오브젝트 템플릿의 특성들은 애플리케이션의 개발 시에 편집 인터페이스를 이용하여 개발자에 의해 선택되는, 물리적 장면의 디지털 표현을 구성하기 위한 장치.
  30. 제 25 항에 있어서,
    상기 알려지지 않은 오브젝트는 복수의 알려지지 않은 오브젝트들 중 하나이고, 그리고 상기 오브젝트 템플릿은 상기 복수의 알려지지 않은 오브젝트들로부터의 다수의 알려지지 않은 오브젝트들과 연관되는, 물리적 장면의 디지털 표현을 구성하기 위한 장치.
KR1020167011711A 2013-10-04 2014-10-03 알려지지 않은 오브젝트들에 대한 증강 현실 콘텐츠의 생성 KR101842106B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361887218P 2013-10-04 2013-10-04
US61/887,218 2013-10-04
US14/317,018 US9607437B2 (en) 2013-10-04 2014-06-27 Generating augmented reality content for unknown objects
US14/317,018 2014-06-27
PCT/US2014/059090 WO2015051269A2 (en) 2013-10-04 2014-10-03 Generating augmented reality content for unknown objects

Publications (2)

Publication Number Publication Date
KR20160068837A KR20160068837A (ko) 2016-06-15
KR101842106B1 true KR101842106B1 (ko) 2018-03-26

Family

ID=52776595

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167011711A KR101842106B1 (ko) 2013-10-04 2014-10-03 알려지지 않은 오브젝트들에 대한 증강 현실 콘텐츠의 생성

Country Status (6)

Country Link
US (1) US9607437B2 (ko)
EP (2) EP3813025A1 (ko)
JP (1) JP6246914B2 (ko)
KR (1) KR101842106B1 (ko)
CN (1) CN105637564B (ko)
WO (1) WO2015051269A2 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910501B2 (en) * 2014-01-07 2018-03-06 Toshiba Global Commerce Solutions Holdings Corporation Systems and methods for implementing retail processes based on machine-readable images and user gestures
US10019149B2 (en) * 2014-01-07 2018-07-10 Toshiba Global Commerce Solutions Holdings Corporation Systems and methods for implementing retail processes based on machine-readable images and user gestures
WO2015116186A1 (en) * 2014-01-31 2015-08-06 Empire Technology Development, Llc Evaluation of augmented reality skins
WO2015116179A1 (en) 2014-01-31 2015-08-06 Empire Technology Development, Llc Augmented reality skin manager
JP6334715B2 (ja) 2014-01-31 2018-05-30 エンパイア テクノロジー ディベロップメント エルエルシー 拡張現実スキンの評価
EP3100238A4 (en) 2014-01-31 2017-07-05 Empire Technology Development LLC Subject selected augmented reality skin
US11205075B2 (en) * 2018-01-10 2021-12-21 Quantum Interface, Llc Interfaces, systems and apparatuses for constructing 3D AR environment overlays, and methods for making and using same
WO2016153628A2 (en) * 2015-02-25 2016-09-29 Brian Mullins Augmented reality content creation
US20170291261A1 (en) * 2015-06-12 2017-10-12 Ashok Chand Mathur Method And Apparatus Of Very Much Faster 3D Printer
US10380673B2 (en) 2015-08-07 2019-08-13 Ebay Inc. Virtual facility platform
US20170228929A1 (en) * 2015-09-01 2017-08-10 Patrick Dengler System and Method by which combining computer hardware device sensor readings and a camera, provides the best, unencumbered Augmented Reality experience that enables real world objects to be transferred into any digital space, with context, and with contextual relationships.
US10089681B2 (en) 2015-12-04 2018-10-02 Nimbus Visulization, Inc. Augmented reality commercial platform and method
TWI567691B (zh) * 2016-03-07 2017-01-21 粉迷科技股份有限公司 立體空間的場景編輯方法與系統
WO2017156406A1 (en) * 2016-03-11 2017-09-14 Parcell Llc Method and system for managing a parcel in a virtual environment
US10013613B2 (en) 2016-03-23 2018-07-03 International Business Machines Corporation Identifying objects in an image
US10665019B2 (en) * 2016-03-24 2020-05-26 Qualcomm Incorporated Spatial relationships for integration of visual images of physical environment into virtual reality
CN105854296A (zh) * 2016-04-21 2016-08-17 苏州探寻文化科技有限公司 一种基于增强现实的互动体验系统
US10169918B2 (en) * 2016-06-24 2019-01-01 Microsoft Technology Licensing, Llc Relational rendering of holographic objects
US10585939B2 (en) 2016-10-11 2020-03-10 International Business Machines Corporation Real time object description service integrated with knowledge center on augmented reality (AR) and virtual reality (VR) devices
US10127886B2 (en) * 2016-10-14 2018-11-13 Microsoft Technology Licensing, Llc Modifying hand occlusion of holograms based on contextual information
US10181223B2 (en) * 2016-10-24 2019-01-15 Microsoft Technology Licensing, Llc Selecting and transferring material properties in a virtual drawing space
CN108242082A (zh) * 2016-12-26 2018-07-03 粉迷科技股份有限公司 立体空间的场景编辑方法与系统
US10410422B2 (en) 2017-01-09 2019-09-10 Samsung Electronics Co., Ltd. System and method for augmented reality control
JP6538760B2 (ja) * 2017-06-22 2019-07-03 ファナック株式会社 複合現実シミュレーション装置及び複合現実シミュレーションプログラム
KR101981325B1 (ko) * 2017-07-28 2019-08-30 주식회사 렛시 증강현실 구현 장치 및 방법
KR102437456B1 (ko) * 2017-11-14 2022-08-26 애플 인크. 이벤트 카메라-기반 변형가능 물체 추적
US10380803B1 (en) * 2018-03-26 2019-08-13 Verizon Patent And Licensing Inc. Methods and systems for virtualizing a target object within a mixed reality presentation
US11032508B2 (en) * 2018-09-04 2021-06-08 Samsung Electronics Co., Ltd. Display apparatus and method for controlling audio and visual reproduction based on user's position
JP2022051977A (ja) 2019-02-13 2022-04-04 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US11151408B2 (en) * 2019-09-10 2021-10-19 Snap Inc. Occlusion detection system
JP2021162993A (ja) * 2020-03-31 2021-10-11 ソニーグループ株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN113398577B (zh) * 2021-05-13 2024-04-09 杭州易现先进科技有限公司 一种线下空间的多人ar互动方法和系统
GB2619552A (en) * 2022-06-10 2023-12-13 Sony Interactive Entertainment Europe Ltd Computer implemented method and system for providing an augmented reality entertainment environment
US20240087239A1 (en) * 2022-09-09 2024-03-14 Snap Inc. Sculpting augmented reality content using gestures in a messaging system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130141530A1 (en) 2011-12-05 2013-06-06 At&T Intellectual Property I, L.P. System and Method to Digitally Replace Objects in Images or Video

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3436235B2 (ja) * 1999-11-05 2003-08-11 株式会社日立製作所 移動物体画像検索方法、及び、装置
SG119229A1 (en) 2004-07-30 2006-02-28 Agency Science Tech & Res Method and apparatus for insertion of additional content into video
US20090046140A1 (en) * 2005-12-06 2009-02-19 Microvision, Inc. Mobile Virtual Reality Projector
US8413182B2 (en) * 2006-08-04 2013-04-02 Aol Inc. Mechanism for rendering advertising objects into featured content
US8902227B2 (en) * 2007-09-10 2014-12-02 Sony Computer Entertainment America Llc Selective interactive mapping of real-world objects to create interactive virtual-world objects
US8180396B2 (en) 2007-10-18 2012-05-15 Yahoo! Inc. User augmented reality for camera-enabled mobile devices
US8170280B2 (en) * 2007-12-03 2012-05-01 Digital Smiths, Inc. Integrated systems and methods for video-based object modeling, recognition, and tracking
JP5115210B2 (ja) * 2008-01-24 2013-01-09 株式会社ニコン 撮像装置
US8737721B2 (en) * 2008-05-07 2014-05-27 Microsoft Corporation Procedural authoring
EP2521096A4 (en) * 2009-12-28 2013-10-09 Cyber Ai Entertainment Inc IMAGE DISPLAY SYSTEM
JP5799521B2 (ja) * 2011-02-15 2015-10-28 ソニー株式会社 情報処理装置、オーサリング方法及びプログラム
JP5724543B2 (ja) * 2011-03-31 2015-05-27 ソニー株式会社 端末装置、オブジェクト制御方法及びプログラム
US9342610B2 (en) 2011-08-25 2016-05-17 Microsoft Technology Licensing, Llc Portals: registered objects as virtualized, personalized displays
US9454849B2 (en) 2011-11-03 2016-09-27 Microsoft Technology Licensing, Llc Augmented reality playspaces with adaptive game rules
US8606645B1 (en) 2012-02-02 2013-12-10 SeeMore Interactive, Inc. Method, medium, and system for an augmented reality retail application
US9767720B2 (en) * 2012-06-25 2017-09-19 Microsoft Technology Licensing, Llc Object-centric mixed reality space
US10776978B2 (en) * 2013-04-08 2020-09-15 Holcomb Technologies, L.L.C. Method for the automated identification of real world objects
US9269003B2 (en) * 2013-04-30 2016-02-23 Qualcomm Incorporated Diminished and mediated reality effects from reconstruction
US10509533B2 (en) * 2013-05-14 2019-12-17 Qualcomm Incorporated Systems and methods of generating augmented reality (AR) objects
US10139623B2 (en) * 2013-06-18 2018-11-27 Microsoft Technology Licensing, Llc Virtual object orientation and visualization
US9595125B2 (en) * 2013-08-30 2017-03-14 Qualcomm Incorporated Expanding a digital representation of a physical plane

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130141530A1 (en) 2011-12-05 2013-06-06 At&T Intellectual Property I, L.P. System and Method to Digitally Replace Objects in Images or Video

Also Published As

Publication number Publication date
EP3053145B1 (en) 2020-11-18
JP2016539398A (ja) 2016-12-15
WO2015051269A3 (en) 2015-10-29
CN105637564A (zh) 2016-06-01
CN105637564B (zh) 2019-06-28
US9607437B2 (en) 2017-03-28
WO2015051269A2 (en) 2015-04-09
KR20160068837A (ko) 2016-06-15
EP3813025A1 (en) 2021-04-28
JP6246914B2 (ja) 2017-12-13
EP3053145A2 (en) 2016-08-10
US20150097862A1 (en) 2015-04-09

Similar Documents

Publication Publication Date Title
KR101842106B1 (ko) 알려지지 않은 오브젝트들에 대한 증강 현실 콘텐츠의 생성
US20230016490A1 (en) Systems and methods for virtual and augmented reality
US10754531B2 (en) Displaying a three dimensional user interface
KR102433857B1 (ko) 혼합 현실에서 동적 가상 콘텐츠들을 생성하기 위한 디바이스 및 방법
JP5888372B2 (ja) 情報処理システムとその処理方法及びプログラム
TW201814438A (zh) 基於虛擬實境場景的輸入方法及裝置
KR20140145217A (ko) 공간정보를 이용한 3차원 가상 모델링 시스템 및 그 방법
US11625900B2 (en) Broker for instancing
US10726621B2 (en) Traversal selection of components for a geometric model
KR20140078083A (ko) 증강 현실이 구현된 만화책
KR102257442B1 (ko) 사용자의 상황에 반응하는 증강현실 서비스 제공 방법 및 그 시스템
JP6647701B1 (ja) 仮想コンテナを用いてグラフィカルユーザインタフェースを構成する電子装置およびその動作方法
Agarwal et al. Real Time Image Placement Using Augmented Reality on Mobile Devices
CN117839223A (zh) 游戏编辑预览方法、装置、存储介质与电子设备
CN115861509A (zh) 虚拟车展实现方法、计算机装置及存储介质

Legal Events

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