KR20210121182A - 증강 현실 시스템 - Google Patents

증강 현실 시스템 Download PDF

Info

Publication number
KR20210121182A
KR20210121182A KR1020217027590A KR20217027590A KR20210121182A KR 20210121182 A KR20210121182 A KR 20210121182A KR 1020217027590 A KR1020217027590 A KR 1020217027590A KR 20217027590 A KR20217027590 A KR 20217027590A KR 20210121182 A KR20210121182 A KR 20210121182A
Authority
KR
South Korea
Prior art keywords
texture
mesh
data
real
image
Prior art date
Application number
KR1020217027590A
Other languages
English (en)
Other versions
KR102534637B1 (ko
Inventor
데이비드 리
Original Assignee
스냅 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 스냅 인코포레이티드 filed Critical 스냅 인코포레이티드
Priority to KR1020237016588A priority Critical patent/KR20230074618A/ko
Publication of KR20210121182A publication Critical patent/KR20210121182A/ko
Application granted granted Critical
Publication of KR102534637B1 publication Critical patent/KR102534637B1/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
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • 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
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • 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/024Multi-user, collaborative environment
    • 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/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 개시내용은 현실 세계 객체, 구조 또는 환경에 관한 시각 정보가 모이고, 현실 세계 객체, 구조 또는 환경의 실시간 캡처된 이미지 콘텐츠 대신에 또는 그에 부가하여 디스플레이될 수 있는 가상 콘텐츠를 생성하기 위해 그 시각 정보에 대해 변형 동작이 수행되는 증강 현실 방법에 관한 것이다. 일부 특정 실시예들은 클라이언트 디바이스들 사이의 변형 동작을 특징짓는 시각적 환경 데이터 및/또는 정보의 공유에 관한 것이다.

Description

증강 현실 시스템
[우선권 주장]
본 출원은 2019년 2월 1일자로 출원된 미국 출원 제16/265,382호의 계속 출원이고 그에 대한 우선권의 이익을 주장하며, 이는 그 전체가 참고로 포함된다.
증강 현실(AR)은 실시간 또는 거의 실시간 방식으로 이미지들에 새로운 정보를 추가하기 위해 컴퓨터로 생성된 강화들을 사용하는 것을 지칭한다. 예를 들어, 디바이스의 디스플레이 상에 출력된 벽의 비디오 이미지는, 벽에 존재하지 않지만 증강 현실 시스템에 의해 벽 상에 있는 것처럼 보이도록 생성되는 디스플레이 상세사항으로 강화될 수 있다. 이러한 시스템은, 이미지 캡처 디바이스에 의해 결정된 관점에서 최종 이미지를 매끄럽게 프리젠팅하려고 시도하는 방식으로, 캡처된 장면에 추가될 증강 현실 정보와 통합되고 정합되는 이미지 캡처 정보의 복잡한 혼합을 요구한다.
첨부된 도면의 다양한 도면들은 본 개시내용의 예시적인 실시예를 나타낼 뿐이고 그 범위를 제한하는 것으로서 간주되어서는 안 된다.
임의의 특정 요소 또는 행위의 논의를 용이하게 식별하기 위해, 참조 번호에서 최상위 숫자 또는 숫자들은 그 요소가 처음 도입되는 도면 번호를 지칭한다.
도 1a는 네트워크를 통해 데이터(예를 들어, 메시지들 및 연관된 콘텐츠)를 교환하기 위한 예시적인 메시징 시스템을 도시하는 블록도이다.
도 1b는 도 1a의 애플리케이션 서버와 같은 애플리케이션 서버에서 호스팅되는 특정 애플리케이션들 및 서브시스템들의 추가 상세사항들을 도시하는 블록도이다.
도 2는 예시적인 실시예들에 따른 클라이언트 디바이스의 특정 동작들을 예시하는 개략도이다.
도 3은 특정 예시적인 실시예들에 따른, 클라이언트 디바이스에서 텍스처 맵 및 3D 메시를 생성하기 위한 예시적인 기법을 예시하는 개략도이다.
도 4는 클라이언트 디바이스의 위치 측정의 변경들을 추적하기 위한 예시적인 기법을 도시한 개략도이다.
도 5는 특정 예시적인 실시예들에 따른 3D 메시 상의 변환의 적용을 예시한다.
도 6a 및 도 6b는 특정한 예시적인 실시예들에 따른 디바이스에서의 캡처된 이미지 뷰들 및 증강된 이미지 뷰들의 디스플레이를 예시한다.
도 7a 및 도 7b는 본 발명의 특정 실시예들에 따른 변환 효과를 예시한다.
도 8a 및 도 8b는 본 발명의 다른 실시예들에 따른 변환 효과를 예시한다.
도 9는 본 명세서에 설명된 다양한 하드웨어 아키텍처들과 함께 사용될 수 있는 대표적인 소프트웨어 아키텍처를 예시하는 블록도이다.
도 10은 일부 예시적인 실시예들에 따라 머신-판독 가능 매체(예를 들어, 머신-판독 가능 저장 매체)로부터의 명령어들을 판독하고 여기서 논의된 방법론들 중 임의의 하나 이상을 수행할 수 있는 머신의 컴포넌트들을 예시하는 블록도이다.
용어집
이러한 맥락에서 "클라이언트 디바이스(CLIENT DEVICE)"는 하나 이상의 서버 시스템 또는 다른 클라이언트 디바이스들로부터 리소스들을 획득하기 위해 통신 네트워크에 인터페이스하는 임의의 머신을 지칭한다. 클라이언트 디바이스는, 모바일 폰, 데스크톱 컴퓨터, 랩톱, PDA들(portable digital assistants), 스마트폰들, 태블릿들, 울트라북들, 넷북들, 랩톱들, 멀티-프로세서 시스템들, 마이크로프로세서-기반 또는 프로그램가능 가전 제품들, 게임 콘솔들, 셋톱 박스들, 또는 사용자가 네트워크에 액세스하기 위해 사용할 수 있는 임의의 다른 통신 디바이스일 수 있지만, 이에 제한되는 것은 아니다.
이러한 맥락에서 "통신 네트워크(COMMUNICATIONS NETWORK)"는 애드 혹(ad hoc) 네트워크, 인트라넷, 엑스트라넷, VPN(virtual private network), LAN(local area network), WLAN(wireless LAN), WAN(wide area network), WWAN(wireless WAN), MAN(metropolitan area network), 인터넷, 인터넷의 일부, PSTN(Public Switched Telephone Network)의 일부, POTS(plain old telephone service) 네트워크, 셀룰러 전화 네트워크, 무선 네트워크, WI-FI®네트워크, 다른 타입의 네트워크, 또는 둘 이상의 이러한 네트워크들의 조합일 수 있는 네트워크의 하나 이상의 부분들을 지칭한다. 예를 들어, 네트워크 또는 네트워크의 일부는 무선 또는 셀룰러 네트워크를 포함할 수 있고 연결은 CDMA(Code Division Multiple Access) 접속, GSM(Global System for Mobile communications) 접속, 또는 다른 타입의 셀룰러 또는 무선 연결을 포함할 수 있다. 이러한 예에서, 연결은, 1xRTT(Single Carrier Radio Transmission Technology), EVDO(Evolution-Data Optimized) 기술, GPRS(General Packet Radio Service) 기술, EDGE(Enhanced Data rates for GSM Evolution) 기술, 3G를 포함하는 3GPP(third Generation Partnership Project), 4G(fourth generation wireless) 네트워크들, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준, 다양한 표준 설정 조직들에 의해 정의되는 다른 것들, 다른 장거리 프로토콜들, 또는 다른 데이터 전송 기술과 같은, 다양한 타입들의 데이터 전송 기술 중 임의의 것을 구현할 수 있다.
이 맥락에서 "단기적 메시지(EPHEMERAL MESSAGE)"는 시간-제한된 지속기간 동안 액세스 가능한 메시지를 지칭한다. 단기적 메시지는 텍스트, 이미지, 증강 현실 콘텐츠, 비디오 등일 수 있다. 단기적 메시지에 대한 액세스 시간은 메시지 전송자에 의해 설정될 수 있다. 대안적으로, 액세스 시간은 디폴트 설정 또는 수신자에 의해 명시되는 설정일 수 있다. 설정 기법에 관계없이, 메시지는 일시적(transitory)이다.
이러한 맥락에서 "캐리어 신호(CARRIER SIGNAL)"는 머신에 의한 실행을 위한 명령어들을 저장, 인코딩, 또는 운반할 수 있는 임의의 무형 매체를 지칭하고, 이러한 명령어들의 통신을 용이하게 하는 디지털 또는 아날로그 통신 신호들 또는 다른 무형 매체를 포함한다. 명령어들은 네트워크 인터페이스 디바이스를 통해 송신 매체를 사용하여 그리고 다수의 잘 알려진 전송 프로토콜들 중 어느 하나를 사용하여 네트워크를 통해 송신 또는 수신될 수 있다.
이러한 맥락에서 "머신-판독 가능 매체(MACHINE-READABLE MEDIUM)"는 명령어들 및 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 컴포넌트, 디바이스 또는 다른 비일시적인 유형의(tangible) 매체를 지칭하고, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 버퍼 메모리, 플래시 메모리, 광학 매체, 자기 매체, 캐시 메모리, 다른 타입들의 스토리지(예를 들어, 소거가능하고 프로그래밍가능한 판독 전용 메모리(EEPROM)) 및/또는 이들의 임의의 적절한 조합을 포함할 수 있지만, 이에 제한되지는 않는다. "머신-판독 가능 매체(machine-readable medium)"라는 용어는, 명령어들을 저장할 수 있는 단일의 매체 또는 복수의 매체(예를 들어, 중앙집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들)를 포함하는 것으로 간주되어야 한다. "머신-판독 가능 매체"라는 용어는 또한, 명령어들이, 머신의 하나 이상의 프로세서에 의해 실행될 때, 머신으로 하여금 본 명세서에 설명된 방법론들 중 임의의 하나 이상을 수행하게 하도록, 머신에 의한 실행을 위한 명령어(예를 들어, 코드)를 저장할 수 있는 임의의 매체 또는 다수의 매체의 조합을 포함하는 것으로 간주되어야 한다. 따라서, "머신-판독 가능 매체"는 다수의 스토리지 장치 또는 디바이스를 포함하는 "클라우드 기반" 스토리지 시스템 또는 스토리지 네트워크뿐만 아니라 단일 스토리지 장치 또는 디바이스를 지칭한다. "비일시적"이라는 용어에 의해 한정되지 않는 한, "머신-판독 가능 매체"라는 용어는 또한 명령어들 및 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 캐리어 신호들 및 다른 일시적 매체들을 포함하는 것으로 간주되어야 한다.
이러한 맥락에서 "컴포넌트(COMPONENT)"는 디바이스, 함수 또는 서브루틴 호출들에 의해 정의되는 경계들을 갖는 물리적 엔티티 또는 로직, 분기 지점들, API들(application program interfaces), 또는 특정 처리 또는 제어 기능들의 분할 또는 모듈화를 제공하는 다른 기술들을 지칭한다. 컴포넌트들은 그들의 인터페이스들을 통해 다른 컴포넌트들과 조합되어 머신 프로세스를 수행할 수 있다. 컴포넌트는, 다른 컴포넌트들 및 일반적으로 관련된 기능들 중 특정 기능을 수행하는 프로그램의 일부와 함께 이용하도록 설계되는 패키징된 기능적 하드웨어 유닛일 수 있다. 컴포넌트들은 소프트웨어 컴포넌트들(예를 들어, 머신-판독 가능 매체 상에 구현되는 코드) 또는 하드웨어 컴포넌트들을 구성할 수 있다. "하드웨어 컴포넌트"는 특정 동작들을 수행할 수 있는 유형적 유닛(tangible unit)이고, 특정 물리적 방식으로 구성되거나 배열될 수 있다. 다양한 예시적인 실시예들에서, 하나 이상의 컴퓨터 시스템들(예를 들어, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 컴포넌트들(예를 들어, 프로세서 또는 프로세서들의 그룹)은 본 명세서에 설명되는 바와 같이 특정 동작들을 수행하기 위해 동작하는 하드웨어 컴포넌트로서 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다. 하드웨어 컴포넌트는 또한, 기계적으로, 전자적으로, 또는 이들의 임의의 적합한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 컴포넌트는 특정 동작들을 수행하도록 영구적으로 구성되는 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 컴포넌트는, FPGA(Field-Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 특수 목적 프로세서일 수 있다. 하드웨어 컴포넌트는 또한, 특정의 동작들을 수행하도록 소프트웨어에 의해 일시적으로 구성된 프로그래밍 가능한 로직 또는 회로를 포함할 수 있다. 예를 들어, 하드웨어 컴포넌트는 범용 프로세서 또는 다른 프로그래밍한 가능 프로세서에 의해 실행되는 소프트웨어를 포함할 수 있다. 일단 이러한 소프트웨어에 의해 구성되면, 하드웨어 컴포넌트들은 구성되는 기능들을 수행하도록 독자적으로 맞춤화된(uniquely tailored) 특정 머신들(또는 머신의 특정 컴포넌트들)이 되고 더 이상 범용 프로세서들이 아니다. 하드웨어 컴포넌트를 기계적으로, 전용의 영구적으로 구성되는 회로에, 또는 일시적으로 구성되는 회로(예를 들어, 소프트웨어에 의해 구성됨)에 구현하기로 하는 결정이 비용 및 시간 고려사항들에 의해 주도될 수 있다는 것을 잘 알 것이다. 따라서, "하드웨어 컴포넌트"(또는 "하드웨어-구현된 컴포넌트")라는 구문은, 유형 엔티티, 즉, 특정 방식으로 동작하거나 본 명세서에 설명된 특정 동작들을 수행하도록 물리적으로 구성되거나, 영구적으로 구성되거나(예를 들어, 하드와이어드) 또는 일시적으로 구성되는(예를 들어, 프로그래밍되는)엔티티를 포괄하는 것으로 이해해야 한다. 하드웨어 컴포넌트들이 일시적으로 구성되는(예를 들어, 프로그래밍되는) 실시예들을 고려할 때, 하드웨어 컴포넌트들 각각은 임의의 한 시점에서 구성되거나 인스턴스화될 필요는 없다. 예를 들어, 하드웨어 컴포넌트가 특수 목적 프로세서가 되도록 소프트웨어에 의해 구성된 범용 프로세서를 포함하는 경우에, 범용 프로세서는 상이한 때에 (예를 들어, 상이한 하드웨어 컴포넌트들을 포함하는) 각각 상이한 특수 목적 프로세서들로서 구성될 수 있다. 소프트웨어는 따라서, 예를 들어, 하나의 시간 인스턴스에서는 특정의 하드웨어 컴포넌트를 구성하고 상이한 시간 인스턴스에서는 상이한 하드웨어 컴포넌트를 구성하도록 특정의 프로세서 또는 프로세서들을 구성한다. 하드웨어 컴포넌트는 다른 하드웨어 컴포넌트들에 정보를 제공하고 이로부터 정보를 수신할 수 있다. 따라서, 설명되는 하드웨어 컴포넌트들은 통신 가능하게 연결되는 것으로서 고려될 수 있다. 다수의 하드웨어 컴포넌트들이 동시에 존재하는 경우에, 하드웨어 컴포넌트들 중 2개 이상 간의 또는 그들 사이의(예를 들어, 적절한 회로들 및 버스들을 통한) 신호 송신을 통해 통신이 달성될 수 있다. 복수의 하드웨어 컴포넌트들이 상이한 시간들에서 구성되거나 인스턴스화되는 실시예에서, 이러한 하드웨어 컴포넌트들 사이의 통신은, 예를 들어, 복수의 하드웨어 컴포넌트들이 액세스하는 메모리 구조 내의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 컴포넌트는 동작을 수행하고, 그에 통신 가능하게 연결되는 메모리 디바이스에 그 동작의 출력을 저장할 수 있다. 추가의 하드웨어 컴포넌트는 이어서, 추후에, 저장된 출력을 검색 및 처리하기 위해 메모리 디바이스에 액세스할 수 있다. 하드웨어 컴포넌트들은 또한 입력 또는 출력 디바이스들과 통신을 개시할 수 있고, 리소스(예를 들어, 정보의 컬렉션)상에서 동작할 수 있다. 본 명세서에 설명된 예시적 방법들의 다양한 동작들은, 관련 동작들을 수행하도록 영구적으로 구성되거나 또는 (예를 들어, 소프트웨어에 의해) 일시적으로 구성되는 하나 이상의 프로세서들에 의해 적어도 부분적으로 수행될 수 있다. 일시적으로 또는 영구적으로 구성되든 간에, 이러한 프로세서들은 본 명세서에 설명되는 하나 이상의 동작들 또는 기능들을 수행하도록 동작하는 프로세서 구현 컴포넌트들을 구성할 수 있다. 본 명세서에서 사용되는 바와 같이, "프로세서 구현 컴포넌트(processor-implemented component)"는 하나 이상의 프로세서들을 사용하여 구현되는 하드웨어 컴포넌트를 지칭한다. 유사하게, 본 명세서에 설명되는 방법들은 적어도 부분적으로 프로세서로 구현될 수 있고, 특정 프로세서 또는 프로세서들은 하드웨어의 예이다. 예를 들어, 방법의 동작들 중 적어도 일부가 하나 이상의 프로세서들 또는 프로세서 구현 컴포넌트들에 의해 수행될 수 있다. 더욱이, 하나 이상의 프로세서는 또한 "클라우드 컴퓨팅(cloud computing)" 환경에서 또는 "SaaS(software as a service)"로서 관련 동작들의 수행을 지원하기 위해 동작할 수 있다. 예를 들어, 동작들의 적어도 일부는 (프로세서들을 포함하는 머신들의 예들로서의) 컴퓨터들의 그룹에 의해 수행될 수도 있고, 이 동작들은 네트워크(예를 들어, 인터넷)를 통해, 그리고 하나 이상의 적절한 인터페이스(예를 들어, 애플리케이션 프로그램 인터페이스(Application Program Interface)(API))를 통해 액세스가능하다. 특정 동작들의 수행은 단일 머신 내에 상주할뿐만 아니라, 다수의 머신에 걸쳐 배치된 프로세서들 사이에 분산될 수 있다. 일부 예시적인 실시예들에서, 프로세서들 또는 프로세서 구현 컴포넌트들은 단일의 지리적 위치에(예를 들어, 가정 환경, 사무실 환경, 또는 서버 팜(server farm) 내에) 위치될 수 있다. 다른 예시적인 실시예들에서, 프로세서들 또는 프로세서 구현 컴포넌트들은 다수의 지리적 위치들에 걸쳐 분산될 수 있다.
이러한 맥락에서 "프로세서(PROCESSOR)"는 제어 신호들(예를 들어, "명령들", "op 코드들", "머신 코드" 등)에 따라 데이터 값들을 조작하고 머신을 동작시키기 위해 인가되는 대응하는 출력 신호들을 생성하는 임의의 회로 또는 가상 회로(실제 프로세서 상에서 실행되는 로직에 의해 에뮬레이트되는 물리 회로)를 지칭한다. 프로세서는, 예를 들어, CPU(Central Processing Unit), RISC(Reduced Instruction Set Computing) 프로세서, CISC(Complex Instruction Set Computing) 프로세서, GPU(Graphics Processing Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), RFIC(Radio-Frequency Integrated Circuit), 또는 이들의 임의의 조합일 수 있다. 프로세서는 추가로, 명령어들을 동시에 실행할 수 있는 2개 이상의 독립적 프로세서들(때때로 "코어들(cores)"이라고 지칭됨)을 갖는 멀티-코어 프로세서일 수 있다.
이러한 맥락에서 "타임스탬프(TIMESTAMP)"는 특정 이벤트가 언제 발생했는지를 식별하는, 예를 들어, 때때로 1초의 소수까지 정확한 날짜 및 시각(time of day)을 제공하는, 문자들 또는 인코딩된 정보의 시퀀스를 지칭한다.
발명의 내용
다음은 증강 현실 콘텐츠의 증강 현실 이미지 처리 및 재현에 관한 것이다. 일부 특정 실시예들은 현실 세계 객체, 구조 또는 환경에 관한 시각 정보를 획득하는 단계, 및 현실 세계 객체, 구조 또는 환경의 실시간 캡처된 이미지 콘텐츠 대신에 또는 그에 부가하여 디스플레이될 수 있는 가상 콘텐츠를 생성하기 위해 그 시각 정보에 변형 동작을 적용하는 단계를 설명한다. 일부 특정한 실시예는, 초기 대략적 위치 추정(initial rough location estimate)을 이용하여 해당 초기 대략적 위치 추정에 국지적인 객체, 건물, 구조물 등을 설명하는, 3D 포인트 클라우드 모델, 텍스처 데이터 및 파사드 데이터를 포함한, 시각적 환경 데이터를 식별하는 것을 설명한다. 일부 특정한 실시예는, 현실 세계 객체, 건물, 구조물 등을 설명하는, 3D 포인트 클라우드 모델, 텍스처 데이터 및 파사드 데이터를 포함한 시각적 환경 데이터를 생성하기 위한, 클라이언트 디바이스에 의해 캡처된 이미지의 처리를 설명한다. 일부 특정 실시예들은 클라이언트 디바이스들 사이의 변형 동작을 특징짓는 시각적 환경 데이터 및/또는 정보의 공유에 관한 것이다.
이하의 설명은 본 개시내용의 실시예들을 나타내는 시스템, 디바이스 및 방법을 포함한다. 이하의 설명에서, 설명의 목적을 위해, 많은 구체적인 상세사항이 본 발명의 주제의 다양한 실시예에 대한 이해를 제공하기 위해 개시된다. 그러나, 본 기술분야의 통상의 기술자에게는, 본 발명의 주제의 실시예들은 이러한 구체적인 상세사항 없이도 실시될 수 있다는 것이 명백할 것이다. 일반적으로, 잘 알려진 명령어 인스턴스들(instances), 프로토콜들(protocols), 구조들 및 기술들이 반드시 상세하게 도시되어 있는 것은 아니다.
증강 현실이란, 여기서 설명되는 바와 같이, 캡처 디바이스 또는 사용자의 시야 내의 현실 세계 객체들 또는 환경들의 이미지들을 캡처하고 이들 이미지들을 추가적인 정보로 강화한 다음, 강화된 정보를 디스플레이 상에 프리젠팅하는 시스템들 및 디바이스들을 지칭한다. 이것은 예를 들어, 사용자가 스마트폰 또는 웨어러블 디바이스의 카메라 기능을 이용하여 장면 또는 환경의 비디오 스트림을 캡처하고, 스마트폰 또는 웨어러블 디바이스의 출력 디스플레이가 추가적인 정보와 함께 사용자에게 가시적인 것으로서 장면을 프리젠팅하는 것을 가능하게 한다. 이 추가적인 정보는 가상 객체들이 장면에 존재하는 것처럼 가상 객체들이 프리젠팅되도록 장면 또는 환경에 가상 객체들을 배치하는 것을 포함할 수 있다. 이러한 가상 객체들의 양태들은, 환경을 캡처하는 이미지 센서의 관점에서 볼 때 또 다른 실제 객체 또는 가상 객체가 그 가상 객체의 앞을 지나가면 그 가상 객체가 가려맵록 처리된다. 이러한 가상 객체들은 또한, 실제 객체들과 가상 객체들 양쪽 모두가 시간에 따라 움직일 때, 및 환경 변경들을 캡처하는 이미지 센서의 관점(즉, 배향, 자세 및/또는 위치)이 변할 때, 실제 객체들과의 관계를 유지하도록 처리된다. 가상 객체들의 예들은 비디오 이미지들, 스틸 콘텐츠, 텍스트 정보, 3차원 애니메이션들 및 홀로그램 표현들, 공백의 현실 세계 벽을 오버레이하는 가상 2차원 표면 상에 디스플레이되는 종래의 멀티미디어 콘텐츠, 및 사용자 디바이스의 출력 디스플레이의 적어도 일부에 적용되는 시각적 효과들을 포함한다.
명료성을 위해, 용어들 "실제의" 및 "현실 세계"는 본 명세서에서 객관적인 물리적 현실을 지칭하기 위해 사용된다. 실제의 물질적인 객체들 및 환경들의 이미지들은 디지털 카메라와 같은 물리적 이미지 캡처 디바이스에서 캡처될 수 있고, 이러한 이미지들은 이러한 객체들 또는 환경들에 대한 사용자 자신의 인식을 복제할 것이다. 용어 "실제"는 "가상"과 대조되고, 후자의 용어는 컴퓨터 시뮬레이션의 동작을 나타낸다. 따라서, 증강 현실(AR)은 객관적 현실과 완전히 시뮬레이션된 또는 "가상" 현실(VR) 사이의 연속체에서 중간 레벨의 추상화를 나타내는 것으로 간주될 수 있다. 따라서, AR은, 본 명세서에서 사용되는 바와 같이, 실제 및 가상 요소들을 다양한 정도로 혼합하는 현실을 지칭한다. 가상 요소들이 우세한 경우, 일부 저자들은 용어 "증강 가상"을 채택할 것이다. 간소화를 위해, 용어 증강 현실은, 특히 (실제 요소 지배적인(real-element dominated)) "증강 현실" 및 "증강 가상"을 포함한 임의의 혼합 현실을 지칭하기 위해 여기서 사용된다.
실제 객체들과 가상 객체들 사이의 밀접한 상관, 실시간 유지, 및 허용가능한 처리 부담에 대한 필요성들을 밸런싱하려고 시도할 때 다수의 쟁점들이 발생한다. 가상 객체들로 현실 세계의 3차원(3D) 구조들을 "드레싱(dressing)"할 때, 3D 구조의 스케일은 가상 객체들을 생성하고 적용할 때 구조를 표현하는 데 사용되는 임의의 상세한 모델이 상당한 레벨들의 계산 능력을 필요로 할 수 있어, 가상 객체를 실시간으로 재현(reproduce)하고 유지하는 능력을 잠재적으로 저하시킬 수 있다는 것을 의미할 수 있다.
가상 콘텐츠가 적용되는 환경으로서의 3D 구조들의 적절한 모델들의 생성은 스마트폰 또는 웨어러블 디바이스와 같은 사용자 디바이스에 의한 가상 콘텐츠의 재현 이전에 수행될 수 있다.
3D 모델링에 대한 하나의 접근법은 이미지들의 큰 세트들(수천 개 정도의 이미지들의 세트들로부터 수천만개의 이미지들을 갖는 대규모 데이터 세트들까지의 범위)의 처리에 의존하며, 이들 모두는 특정 환경, 아키텍처 또는 자연 구조 또는 위치와 관련된다. 구성 이미지들은 복수의 디바이스들(예를 들어, 소비자 스마트폰들 및 디지털 카메라들)에 의해 캡처된 이미지들로부터 콜레이션(collated)될 수 있다. 그러한 "크라우드소싱된(crowdsourced)" 이미지 데이터 세트들은 외관 및 품질 면에서 크게 변할 수 있으며, 다른 그러한 이미지들과 동기화될 가능성이 없다.
다른 이미지 데이터 세트들은 전용 이미지 캡처 디바이스들(예를 들어, 디지털 카메라들 및 무인 공중 운반체(UAV)-탑재 이미지 캡처 장비)의 이미지 캡처 설비들을 활용함으로써 수집될 수 있으며, 이는 원칙적으로 결과적인 데이터 세트에 대해 더 큰 일관성 및 제어를 제공한다.
각각의 경우에, 캡처된 이미지들은 장래의 재배포 및/또는 처리를 위해 저장되고, 전형적으로는, 분산된 저장 디바이스들에 업로드된다(예를 들어, 클라우드 기반 저장 설비 상에 저장됨).
모델러가 직면하는 태스크는 다수의 시점들로부터 캡처된 2D 사진들/비디오들로부터 3D 장면의 3D 지오메트리 및 외관을 복구하는 것이다. 제1 단계는 종종 연관된 데이터-예를 들어, 메타데이터에서의 지오로케이션 또는 이미지의 타겟을 나타내는 이미지 타이틀-에 따라 이미지들을 함께 모으는 것이다. 그 다음, 연관된 이미지들은 다른 카메라 포즈들로부터의 다른 이미지들과의 공간적 관계들을 앵커링하는 데 사용될 수 있는 3D 포인트들을 추출하도록 처리될 수 있다. 명백히, 알려진 위치들, 포즈들 등에서의 전용 이미지 캡처 디바이스들의 사용은 모델러가 쉽게 발견된 데이터 연관성들을 갖는 데이터 자산을 구성하는 것을 허용한다.
SfM(Structure from Motion)으로 알려진 기법에서, 연관된 이미지들(즉, 상이한 관점들로부터의 정적 3D 포인트들인 것으로 가정되는 3D 포인트들의 컬렉션의 복수의 2차원 이미지들)은 이미지들 각각에서 데이터에 매칭될 확률이 가장 큰 3D 지오메트리를 생성하도록 처리된다. 결과적인 3D 지오메트리는 3D 포인트 클라우드(또는 "스파스(sparse) 3D 모델") 또는 꼭지점들(vertices)의 3D 다각형 메시로서 표현될 수 있다.
포인트 클라우드는 좌표계에서의 데이터 포인트들의 세트이다. 좌표계는 예를 들어 데카르트 좌표계(즉, (x,y,z)-좌표들), 원통 좌표계 또는 구형 좌표계일 수 있다.
SfM 기법들의 예들은 데이터 세트 내의 이미지들의 특정 특징들에 대한 디스크립터들의 생성(BRIEF) 및 코너 검출의 적용(ORB)을 포함한다.
필터링 프로세스들은 움직이거나 동적인 표면들 및 제한된 정보를 제공하는 포인트들(예를 들어, 평평한 표면 내의 중복되는 포인트들)에 대응하는 포인트 클라우드의 부분들을 제거하는 데 사용될 수 있다. 3D 포인트 클라우드 데이터의 사용에 더하여, 일부 실시예들은 또한 환경 데이터의 추가적인 타입들을 사용할 수 있다.
3D 메시 내의 각각의 꼭지점(또는 3D 지오메트리를 나타내는 포인트 클라우드 내의 포인트)은 텍스처 맵 내의 텍스처 좌표들에서 각각의 텍스처 데이터에 (맵핑에 의해) 맵핑될 수 있다. 텍스처 맵에서의 좌표들은 통상적으로 "u" 및 "v"로 지칭되기 때문에, 맵핑은 때때로 소위 "UV 맵핑"으로 지칭된다.
적절한 모델이 준비된 환경에서의 디바이스의 등록은, 초기의 대략적 위치 추정을 식별하기 위해 위성-기반의 글로벌 포지셔닝 시스템들(예를 들어, GPS) 또는 다른 위치-기반의 시스템들을 이용하는 것을 포함할 수 있다. 그 다음, 식별된 대략적인 위치 추정에 의해 식별된 특정 위치에서 3D 구조 또는 환경에 적합한 3D 모델이 이미 이용가능한지 여부를 결정하기 위해 맵 데이터베이스들이 조회(look up)될 수 있다.
현실 세계 객체 또는 환경의 준비된 3D 모델이 없는 경우, 디바이스는 디바이스의 이미지 캡처 모듈에 의해 캡처된 하나 이상의 이미지들로부터 그 자신의 모델(즉, 3D 메시, 및 그 메시로부터 채워지지 않은 텍스처 맵(unpopulated texture map)으로의 UV 맵핑)을 구성할 수 있다.
사용자가 실제 공간들/환경들 및/또는 정지된 객체들에 관해 캡처 디바이스를 이동시킬 때, 디바이스의 새로운 위치에 기초하여 가상 콘텐츠를 리프레시할 필요가 있게 된다. 그러나, 디바이스의 공간적 위치(즉, 포즈)가 정확하게 추적되지 않는 경우, 가상 콘텐츠는 올바르게 디스플레이되지 않을 수 있다. 따라서, 실시간의 캡처된 비디오 이미지들과 함께하는 가상 콘텐츠의 효과적인 재현은, 캡처 디바이스의 위치/배향(즉, 공간 내의 증강 현실 디바이스의 위치)의 정확한 추적 및 가상 콘텐츠의 준(near) 실시간 업데이트에 의존한다. 증강 현실 장면들이 실제 객체들과 가상 객체들 둘 다를 포함하는 경우, 이는 실제 객체들과 가상 객체들 사이에 설정되고 유지되는 추적(tracking)을 요구한다. 이 추적은 환경 내에서 가상 객체들의 몰입형 프레젠테이션(immersive presentation)을 유지하고 가상 객체들을 마치 환경 내에 실재하는 것처럼 취급하는 데 있어서 중요하다. 실패한 추적은 장면 내의 가상 객체(들)의 지터 또는 예상치 못한 움직임을 생성하거나, 부자연스러운 방식들로 실제 객체들과 중첩하거나 동기화되지 않는 초기 가상 객체 배치를 설정할 수 있다.
디바이스의 실제 위치를 추적하는 하나의 방법은 환경의 매우 정확한 모델로 시작하고, 그 모델을 디바이스로부터의 이미지 데이터와 프레임 단위로 비교하는 것이다. 적합한 모델들의 예들은 위에서 논의된 3차원(3D) 포인트 클라우드 모델 및 3D 다각형 메시 모델들을 포함한다.
동시적 위치추정 및 맵작성(simultaneous location and mapping)(SLAM) 시스템들은 비디오의 2차원 이미지 프레임들에서 주요 지점들을 추적하고, 이미지 프레임들로부터 3차원 객체들뿐만 아니라 해당 객체들에 대한 카메라의 상대적인 위치를 식별하는 데 사용되는 시스템들이다. 그러나, 3차원 객체들을 식별하는 이러한 처리는 프로세서 및 메모리 집약적이다.
복잡한 환경 표면들의 조밀한 포인트 클라우드를 사용하기보다는, 본 명세서에 설명된 실시예들은 환경의 압축된 또는 단순화된 포인트 클라우드 모델들을 사용할 수 있다. 그러한 단순화된 3D 포인트 클라우드 모델들은 시간 경과에 따라 안정되고 이미지에서 쉽게 식별가능한 섹션을 프리젠팅하는 건물 에지들, 환경 에지들, 및 표면들을 따르는 주요 포인트 데이터의 세트들을 포함할 수 있다. 인접한 표면들 및 다른 고정된 객체들에 비해 높은 컬러 콘트라스트를 갖는 경로 에지들은 그러한 단순화된 포인트 클라우드에서 표현될 수 있는 반면, 전형적으로 나뭇잎들을 갖는 나뭇가지들 또는 깃발들과 같은 동적 객체들은 배제될 수 있다.
점점 더 많은 스마트폰들 및 웨어러블 디바이스들과 같은 사용자 디바이스들은 또한 디바이스의 배향 및 방향을 모니터링하는 하나 이상의 관성 측정 유닛(IMU) 센서들(예를 들어, 가속도계들, 자이로스코프들 등)을 구비한다. 이러한 IMU 센서들로부터의 정보는 주변 환경에서의 실제 객체들과 관련하여 사용자 디바이스의 추적의 정확도를 향상시키기 위해 (SLAM과 같은) 시각적 추적 기법들과 함께 사용될 수 있다.
도면들
도 1a는 네트워크를 통해 데이터(예를 들어, 메시지들 및 연관된 콘텐츠)를 교환하기 위한 예시적인 메시징 시스템(100)을 도시하는 블록도이다. 메시징 시스템(100)은 다수의 클라이언트 디바이스(102)들을 포함하고, 이들 각각은 메시징 클라이언트 애플리케이션(104)을 포함하는 다수의 애플리케이션을 호스팅한다. 각각의 메시징 클라이언트 애플리케이션(104)은 네트워크(106)(예를 들어, 인터넷)를 통해 메시징 클라이언트 애플리케이션(104) 및 메시징 서버 시스템(108)의 다른 인스턴스들에 통신적으로 결합된다. 하나 이상의 클라이언트 동반(companion) 디바이스들(114)(예를 들어, 웨어러블 디바이스)는 클라이언트 디바이스들(102) 중 하나 이상에 통신적으로 접속될 수 있다.
따라서, 각각의 메시징 클라이언트 애플리케이션(104)은 네트워크(106)를 통해 다른 메시징 클라이언트 애플리케이션(104)과, 그리고 메시징 서버 시스템(108)과 통신하고 데이터를 교환할 수 있다. 메시징 클라이언트 애플리케이션들(104) 사이에, 그리고 메시징 클라이언트 애플리케이션(104)과 메시징 서버 시스템(108) 사이에 교환되는 데이터는 기능들(예를 들어, 기능들을 인보크(invoke)하는 커맨드들)뿐만 아니라, 페이로드 데이터(예를 들어, 텍스트, 오디오, 비디오 또는 다른 멀티미디어 데이터)를 포함한다.
메시징 서버 시스템(108)은 네트워크(106)를 통해 특정 메시징 클라이언트 애플리케이션(104)에 서버측 기능성을 제공한다. 메시징 시스템(100)의 특정 기능들이 메시징 클라이언트 애플리케이션(104)에 의해 또는 메시징 서버 시스템(108)에 의해 수행되는 것으로 본 명세서에 설명되지만, 메시징 클라이언트 애플리케이션(104) 또는 메시징 서버 시스템(108) 내의 특정 기능성의 위치는 설계 선택사항이라는 것을 인식할 것이다. 예를 들어, 처음에 메시징 서버 시스템(108) 내에 특정 기술 및 기능성을 배치하지만, 나중에 클라이언트 디바이스(102)가 충분한 처리 용량을 갖는 경우 메시징 클라이언트 애플리케이션(104)으로 이 기술 및 기능성을 이동시키는 것이 기술적으로 바람직할 수 있다.
메시징 서버 시스템(108)은 메시징 클라이언트 애플리케이션(104)에 제공되는 다양한 서비스들 및 동작들을 지원한다. 그러한 동작들은 메시징 클라이언트 애플리케이션(104)에 데이터를 송신하고, 그로부터 데이터를 수신하고, 그에 의해 생성된 데이터를 처리하는 것을 포함한다. 이 데이터는, 예로서, 메시지 콘텐츠, 클라이언트 디바이스 정보, 지오로케이션(geolocation) 정보, 증강 현실 데이터, 미디어 주석 및 오버레이들, 메시지 콘텐츠 지속 조건들, 소셜 네트워크 정보, 및 라이브 이벤트 정보를 포함할 수 있다. 메시징 시스템(100) 내의 데이터 교환들은 메시징 클라이언트 애플리케이션(104)의 사용자 인터페이스(UI)들을 통해 이용가능한 기능들을 통해 인보크되고 제어된다. 메시징 클라이언트 애플리케이션(104)을 이용하여 교환될 수 있는 증강 현실 데이터의 예들은 실제 및 가상 객체들에 대응하는 3D 지오메트리 정보를 포함한다.
이제 구체적으로 메시징 서버 시스템(108)을 참조하면, 애플리케이션 프로그램 인터페이스(API) 서버(110)는 애플리케이션 서버(112)에 결합되고, 애플리케이션 서버(112)에 프로그래밍적 인터페이스를 제공한다. 애플리케이션 서버(112)는 데이터베이스 서버(118)에 통신적으로 결합되고, 이는 애플리케이션 서버(112)에 의해 처리되는 메시지들과 연관된 데이터가 저장되는 데이터베이스(120)에 대한 액세스를 용이하게 한다.
도 1b에 도시된 바와 같이, 애플리케이션 서버(112)는 소셜 네트워크 시스템(122), 참여 추적 시스템(124), 메시징 서버 애플리케이션(126), 이미지 처리 시스템(128), 및 증강 현실 시스템(162)을 포함하는 다수의 애플리케이션들 및 서브시스템들을 호스팅한다.
애플리케이션 프로그램 인터페이스(API) 서버(110)를 구체적으로 다루면, 이 서버는 클라이언트 디바이스(102)와 애플리케이션 서버(112) 사이에서 메시지 데이터(예를 들어, 커맨드들 및 메시지 페이로드들)를 수신하고 전송한다. 구체적으로, 애플리케이션 프로그램 인터페이스(API) 서버(110)는 애플리케이션 서버(112)의 기능성을 인보크하기 위해 메시징 클라이언트 애플리케이션(104)에 의해 호출되거나 쿼리될 수 있는 인터페이스들의 세트(예를 들어, 루틴들 및 프로토콜들)를 제공한다. 애플리케이션 프로그램 인터페이스(API) 서버(110)는 계정 등록, 로그인 기능성, 특정 메시징 클라이언트 애플리케이션(104)으로부터 다른 메시징 클라이언트 애플리케이션(104)으로의 애플리케이션 서버(112)를 통한 메시지들의 전송, 메시징 클라이언트 애플리케이션(104)으로부터 메시징 서버 애플리케이션(126)으로의 미디어 파일들(예를 들어, 이미지들 또는 비디오)의 전송, 및 다른 메시징 클라이언트 애플리케이션(104)에 의한 가능한 액세스를 위한 미디어 데이터의 컬렉션(예를 들어, 스토리)의 설정, 클라이언트 디바이스(102)의 사용자의 친구들의 리스트의 검색, 그러한 컬렉션들의 검색, 메시지들 및 콘텐츠의 검색, 소셜 그래프로의 친구들의 추가 및 삭제, 소셜 그래프 내의 친구들의 위치, (예를 들어, 메시징 클라이언트 애플리케이션(104)에 관련된) 오프닝 및 애플리케이션 이벤트를 포함하는, 애플리케이션 서버(112)에 의해 지원되는 다양한 기능들을 노출시킨다.
메시징 서버 애플리케이션(126)은, 특히 메시징 클라이언트 애플리케이션(104)의 다수의 인스턴스들로부터 수신된 메시지들에 포함된 콘텐츠(예를 들어, 텍스트 및 멀티미디어 콘텐츠)의 집성 및 다른 처리에 관련된, 다수의 메시지 처리 기술들 및 기능들을 구현한다. 다수의 소스들로부터의 텍스트 및 미디어 콘텐츠는 콘텐츠의 컬렉션들로 집성될 수 있다(컬렉션들은 컨텍스트 및/또는 콘텐츠 타입에 따라 "스토리들" 또는 "갤러리들"이라고 지칭될 수 있다). 그 다음, 이들 컬렉션은 메시징 서버 애플리케이션(126)에 의해 메시징 클라이언트 애플리케이션(104)에 이용가능하게 된다. 다른 프로세서 및 메모리 집약적인 데이터의 처리는 또한, 그러한 처리를 위한 하드웨어 요건들을 고려하여, 메시징 서버 애플리케이션(126)에 의해 서버측에서 수행될 수 있다.
애플리케이션 서버(112)는 전형적으로 메시징 서버 애플리케이션(126)에서 메시지의 페이로드 내에서 수신된 이미지들 또는 비디오에 관하여 다양한 이미지 처리 동작들을 수행하는 데 전용되는 이미지 처리 시스템(128)을 또한 포함한다. 이미지 처리 동작들의 예들은 수신 디바이스의 디스플레이 상의 프레젠테이션을 위한 이미지 데이터의 업스케일링 또는 다운스케일링, 및 상호운용성 또는 압축을 위한 이미지 데이터의 트랜스코딩을 포함한다. 이미지 처리 동작들은 이미지화된 객체에 대한 '정준(canonical)' 텍스처를 제공하는 사용자 디바이스들 사이에 가상 이미지 콘텐츠가 공유될 때 개별 사용자들의 카메라들의 상이한 속성들(예로서, 노출)을 보상할 수 있다. 상이한 사용자 디바이스들에서 동일한 가상 콘텐츠의 공유된 프레젠테이션을 수반하는 다른 사례들에서, 가상 콘텐츠는 하나보다 많은 사용자 디바이스로부터의 캡처된 이미지 데이터로부터 유도되고, 이미지 처리 시스템(128)은 건물의 동일한 패치들의 경쟁하는 뷰들을 리졸브(resolve)하도록 동작할 수 있다 -사용자 A와 사용자 B 둘 다 패치를 볼 수 있다면, 서버는 이미지 처리 정책에 따라 (카메라 속성들을 보상한 후에) 그들의 뷰들을 평균화할 수 있거나, 아마도 뷰들 중 하나를 거부할 수 있다.
소셜 네트워크 시스템(122)은 다양한 소셜 네트워킹 기능 서비스들을 지원하고, 이들 기능들 및 서비스들을 메시징 서버 애플리케이션(126)에 이용가능하게 한다.
애플리케이션 서버(112)는 데이터베이스 서버(118)에 통신적으로 결합되고, 이는 메시징 서버 애플리케이션(126)에 의해 처리되는 메시지들과 연관된 데이터가 저장되는 데이터베이스(120)에 대한 액세스를 용이하게 한다.
도 2의 개략도는 특정 예시적인 실시예들에 따라 클라이언트 디바이스의 동작을 예시하는 특정 기능 블록들을 도시한다.
클라이언트 디바이스는 적어도 하나의 프로세서를 포함하고, 프로세서는 현실 세계 객체 또는 환경에 대응하는 UV 맵핑 및 3D 메시에 액세스하도록 동작한다(동작(202)). 이것은 (애플리케이션 서버(112)와 통신적으로 접속되어 있는 데이터베이스(120)와 같은) 저장 수단으로부터 텍스처 맵 및 3D 메시(모두 합하여 3D 지오메트리를 나타냄)를 검색하는 것을 포함할 수 있다. 대안적으로 또는 부가하여, 텍스처 맵 및 3D 메시가 추가의 클라이언트 디바이스로부터 수신될 수 있다. 특정 실시예들에서, 텍스처 맵 및 3D 메시는 클라이언트 디바이스 자체에 의해 생성될 수 있다.
텍스처 맵 및 3D 메시가 클라이언트 디바이스에 의해 생성되는 경우에, 이 동작은 도 3에 예시된 기법을 사용하여 달성될 수 있다.
특정 예시적인 실시예들에서, 프로세서는 현실 세계 객체 또는 환경에 대한 디바이스의 위치 측정(localization)를 결정할 수 있다(동작(204)). 이 초기 위치 측정은 클라이언트 디바이스가 액세스할 필요가 있는 텍스처 맵 및 3D 메시의 범위를 좁히는 데 사용될 수 있다. 초기 위치 측정을 결정하기 위한 기법들의 예들은 디바이스의 포지셔닝 시스템(예를 들어, 저장 매체 및 디바이스의 적어도 하나의 프로세서에 결합된 포지셔닝 하드웨어 모듈, 포지셔닝 모듈은 글로벌 포지셔닝 시스템(GPS) 모듈일 수 있음)에 의한 디바이스의 위치 측정을 포함할 수 있다. 대안적으로, 사용자는 위치 측정을 직접 입력할 수 있다: 예를 들어, 고유 식별자(예를 들어, "국회 의사당"), 우편 주소, 지리적 맵에서의 그리드 위치 또는 위도-경도 쌍. 추가 대안에서, 현실 세계 객체 또는 환경은 텍스트, 사이니지(signage), 1-D 및/또는 2-D 바코드 데이터; 위치 측정을 결정하기 위해 클라이언트 디바이스가 판독할 수 있는 무선 주파수 식별자(RFID); 근거리 통신(NFC) 태그 등이 제공된 정보 패널과 연관될 수 있다
초기 위치 측정을 결정하고 텍스처 맵 및 3D 메시에 액세스한 경우, 프로세서는 초기 위치 측정에 대한(따라서, 현실 세계 객체 또는 환경에 대응하는 3D 메시에 대한) 디바이스의 위치 측정의 변경들을 추적하는 동작을 실행할 수 있다. 위치 측정의 변경들을 추적하기 위한 기법들의 예들은 전술한 SLAM 및 IMU 기법들을 포함한다.
특정 예시적인 실시예들에서, 프로세서는 사용자가 변환 입력을 도입하기 위해 클라이언트 디바이스와 상호작용할 수 있는 창작 모드(creative mode)에 놓일 수 있다. 변환 입력은, 예를 들어, 디바이스로의 사용자 제스처 입력일 수 있다. 입력 제스처는 터치 스크린 입력 제스처, 또는 입력 디바이스가 제스처 입력 모드에서 동작하는 동안에 검출된 입력 디바이스의 배향 변경일 수 있다. 후자의 경우에, 입력 디바이스는 상기 추적 기법들에 의해 추적되는 클라이언트 디바이스의 배향 및 위치의 변경들이 또한 입력 제스처들로서 사용될 수 있도록 클라이언트 디바이스 내에 내장될 수 있다.
특정 실시예들에서, 디바이스의 프로세서는 변환 입력에 대응하는 변환을 3D 메시에 적용함으로써 가상 콘텐츠를 생성할 수 있다(동작(208)). 여기서, 변환은 3D 메시의 복수의 꼭지점들을 변환된 지오메트리 내의 복수의 변환된 꼭지점들에 맵핑한다. 그 다음, 변환된 꼭지점들은 텍스처 맵 내의 맵핑 및 텍스처 데이터에 따라 텍스처 데이터로 채워진다.
마지막으로, 현재 이미지 위에 가상 콘텐츠의 뷰를 중첩시키기 위해, 디바이스의 이미지 센서에 의해 캡처된 현실 세계 객체의 적어도 하나의 현재 이미지가 처리될 수 있다(동작(210)).
현실 세계 객체들의 이미지들 상에 가상 콘텐츠를 중첩시키기 위한 기법들의 예들은 캡처 현실 세계 이미지의 각각의 프레임에 대해 픽셀들을 버퍼링하는 것, 및 각각의 프레임 내의 선택된 픽셀들을 가상 콘텐츠를 묘사하는 대응하는 픽셀들로 대체한 다음 디스플레이를 위해 증강된 버퍼링된 픽셀들을 프리젠팅하는 것을 포함한다. 추가 예에서, 스마트 안경과 같은 웨어러블 클라이언트 디바이스들에 적합하게, 가상 콘텐츠는 웨어러블 디바이스의 디스플레이 모듈을 통해, 그 외에는 투명한 디스플레이 층에 프리젠팅된다.
도 3은 클라이언트 디바이스에서 텍스처 맵 및 3D 메시를 생성하기 위한 예시적인 기법을 예시한다.
디바이스의 프로세서의 제어 하에, 디바이스의 이미지 센서는 현실 세계 객체의 적어도 하나의 이미지를 캡처(즉, 사진 촬영)하도록 제어된다(동작(302)).
그 다음, 프로세서는 종래의 사진 측량 기법을 사용하여 적어도 하나의 캡처된 이미지에 기초하여 현실 세계 객체에 대응하는 3D 지오메트리를 결정한다(동작(304)).
그 다음, 프로세서는 객체의 각각의 패치들에 대한 텍스처 데이터를 추출하기 위해 적어도 하나의 이미지를 처리한다(동작(306)).
마지막으로, 3D 지오메트리로부터 UV 공간 내의 데이터 구조로의 UV 맵핑이 정의된다. 특정 실시예들에서, 데이터 구조는 추출된 텍스처 데이터로 적어도 부분적으로 채워진다(동작(308)). 3D 메시는 현실 세계 오브젝트 내의 각각의 꼭지점들의 3D 표현을 포함한다. 채워진 데이터 구조는 텍스처 맵으로서 유지된다.
도 4는 클라이언트 디바이스의 위치 측정의 변경들을 추적하기 위한 예시적인 기법을 예시한다. 동작(402)에서, 클라이언트 디바이스는 현실 세계 객체의 적어도 하나의 현재 이미지를 캡처하기 위해 이미지 캡처 모듈을 제어하도록 구성된다. 적어도 하나의 현재 이미지가 처리되어 피처들(예를 들어, 직선 에지들, 주변 픽셀들보다 밝은(또는 그보다 어두운) 픽셀들의 패치들 등)을 식별한다(동작(404)).
식별된 피처들의 (각각의 2차원 현재 이미지에서의) 위치 및 배향의 변경들이 추적(즉, 측정 및 저장)된다(동작(406)).
그 다음, 식별된 피처들의 위치 및 배향의 추적된 변경들은, 2차원 평면 상에 투영될 때, 식별된 피처들의 위치 및 배향의 변경들과 가장 잘 일치하는 카메라 포즈(3차원)를 도출하기 위해 처리된다(동작(408)). 캡처된 이미지들에서 식별된 피처들의 추적된 위치들로부터 카메라 포즈를 도출하기 위한 기법들의 예들은 옥스포드 대학의 PTAM(Parallel Tracking and Mapping) 카메라 추적 시스템(http://www.robots.ox.ac.uk/~gk/PTAM/), FAST 코너 검출 기법(https://www.edwardrosten.com/work/fast.html), SIFT 및 Ferns(Wagner, D. 등에 의한 "Pose Tracking from Natural Features on Mobile Phones"에서 두 기술 모두 검토됨 https://data.icg.tugraz.at/~dieter/publications/Schmalstieg_142.pdf)를 포함하며, 그 내용들은 각각 본 명세서에 참고로 포함된다.
도 5는 특정한 예시적인 실시예들에 따른 3D 메시 상의 변환의 적용을 예시한다.
(현실 세계 객체에 대응하는) 3D 지오메트리는 3D 메시(504) 및 대응하는 텍스처 맵(502)으로서 표현된다. 도 5의 3D 지오메트리는 큐브 형상의 현실 세계 객체에 대응한다. 큐브-형상은 일반성의 손실 없이, 단지 예시적인 목적들을 위해 사용된다: 현실 세계 객체들은 통상적으로 큐브들보다 더 복잡하지만, 이 도면에 예시된 기본 원리는 변경되지 않는다.
도 5는 3D 메시(504) 상의 임의의 주어진 포인트가 텍스처 맵(502) 내의 대응하는 좌표에 어떻게 맵핑되는지를 도시한다. 3D 메시(504)와 텍스처 맵(502) 사이의 맵핑(512)은 통상적으로 UV 맵핑으로 지칭된다.
변환(여기서, 예를 들어 변형(deformation))이 3D 메시 내의 꼭지점들에 적용될 때, 결과적인 3D 지오메트리는 변환된(즉, 변형된) 3D 메시(506)로서 표현된다. 변환 맵핑(514)에서, 변형된 3D 메시(506) 상의 각각의 포인트는 변형 되지 않은 메시(504) 상의 포인트에 맵핑된다(따라서, 텍스처 맵(502) 내의 좌표에 간접적으로 맵핑된다).
도 6a는 특정 예시적인 실시예들에 따라 현실 세계 객체(602), 클라이언트 디바이스(600)에 디스플레이된 해당 객체의 캡처된 이미지들의 피드 및 해당 디바이스에 디스플레이된 증강된 이미지 사이의 관계를 예시한다.
(도 5에 도시된 바와 같이) 현실 세계 객체에 대응하는 3D 메시 및 텍스처 맵에 액세스(또는 그를 작성(construct))함으로써, 클라이언트 디바이스는 현실 세계 객체의 현재 이미지를 취하고 변환된 가상 객체를 생성할 수 있다. 변환은 현실 세계 객체로부터 도출된 3D 메시 모델에 대해 동작하고, 3D 메시 상의 임의의 주어진 포인트가 텍스처 맵(502) 내의 대응하는 좌표에 (즉, UV 맵핑(512)에 따라) 맵핑되기 때문에, 변경되지 않은 3D 메시(504)로부터 변환된 3D 메시(506)로의 추가 맵핑(즉, 변환 맵핑(514))은 텍스처 맵으로부터의 텍스처 데이터가 변환된 3D 메시(506) 상에 맵핑되는 것을 효과적으로 허용한다.
클라이언트 디바이스는 상이한 스크린-뷰들을 프리젠팅할 수 있다. 도 6a에서, 이러한 스크린 뷰들은 스마트폰 상에 디스플레이된 스크린들로서 표현된다. 카메라 이미지 뷰(606)는 일체형 디지털 카메라의 관점에서 현실 세계 객체의 현재 캡처된 비디오 이미지를 디스플레이한다. 대응하는 텍스처 맵(502)은 현실 세계 객체의 가시적이고 가려지지 않은 포인트들(즉, 이미지화된 객체의 A, B 및 C 측면들)로부터 추출된 텍스처 데이터를 포함한다.
텍스처 맵(502)은 또한 현재 스마트폰 카메라의 시야 밖에 있는 객체의 일부 또는 모든 포인트들(즉, 이미지화된 객체의 D, E 및 F 측면들)에 대한 기존의 텍스처 데이터를 포함할 수 있다. 주변 환경에서 영구적인 토대(foundation)들을 갖는 객체들(예를 들어, 건물들, 다리들 등)에 대해, 객체의 특정 양태들이 영구적으로 보이지 않는다고 안전하게 가정될 수 있다. 특정 실시예들에서, 객체의 일부 또는 모든 포인트들에 대한 기존의 텍스처 데이터는 현실 세계 객체에 대한 공유된 텍스처 맵 및/또는 객체에 대해 상이한 관점을 갖는 제2 클라이언트 디바이스의 텍스처 맵을 참조함으로써 공급될 수 있다. 객체의 일부 또는 모든 포인트들에 대한 기존의 텍스처 데이터가 도 1a에 예시된 것과 같은 메시징 시스템의 동작을 통해 공유 저장 서버 및/또는 다른 클라이언트 디바이스로부터 액세스될 수 있다.
도 6a의 클라이언트 디바이스는 또한 증강 현실 이미지 뷰(608)를 프리젠팅할 수 있다. 여기서, 클라이언트 디바이스는 변환된 3D 메시(506)의 가상 뷰를 디스플레이하고, 가상 뷰에 있는 변환된 3D 메시(506) 상의 각각의 포인트에 대해, 원래의 3D 메시 상의 포인트들에 대한 UV 맵핑(512), 및 원래의 포인트들로부터 변환된 3D 메시 내의 포인트들로의 변환 맵핑(514)에 따라 텍스처 맵(502)으로부터 텍스처 데이터를 페치(fetch)한다. 변환으로 인해, 카메라 뷰에서 가시적인 객체의 특정 포인트들에 대한 대응부들(counterparts)은 가상 뷰에서 더 이상 가시적이지 않다는 점에 유의한다.
특정 실시예들에서, 변형된 포인트에 대응하는 건물 상의 원래 포인트가 현재 카메라 피드에서 가시적이고 가려지지 않는 경우, 이들 가시적 포인트들에 대한 텍스처 데이터는 카메라 피드로부터 직접 판독될 수 있다. 따라서, 도 6a에서, A, B, 및 C 면들 모두가 보이므로, A, B, 및 C 면들에 대한 텍스처 데이터는 카메라 피드로부터 직접 이용가능하다. 이는 현실 세계 객체에 대한 더 정확한 인지된 매치 및 결과적인 더 높은 품질의 사용자 경험을 제공한다.
카메라 각도 및 위치의 향후 변경들에 대해 보호하기 위해, 현재 캡처된 비디오 프레임 내의 객체의 모든 포인트들에 대한 텍스처 데이터가 텍스처 맵(502)에 캐시(cached)된다. 가시적이고 가려지지 않은 포인트들에 대한 텍스처 데이터는 텍스처 맵(502) 내의 임의의 기존의 텍스처 데이터를 대체한다.
특정 예시적인 실시예들에서, 기존의 텍스처 데이터의 대체는 가중된 혼합(weighted blending) 방식으로 점진적으로 수행된다. 그러므로, 기존의 텍스처 데이터의 정확도는 그 데이터를 새롭게 캡처된 텍스처 데이터와 병합함으로써 개선되고, 그에 의해, 충분한 뷰들이 주어지면, 텍스처 맵(또는 공유된 텍스처 맵) 내의 모든 픽셀은 시간 경과에 따라 그 픽셀에 대한 컨센서스 데이터를 표현하는 결과적인 텍스처 데이터로 본질적으로 수렴한다. 각각의 연속적인 프레임에 대해, 현재 카메라 이미지는 추적 신뢰성 값(tracking reliability value)을 할당받으며, 그 다음 이 값은 혼합을 가중화하는 데 사용된다. 예를 들어, 카메라가 상당한 정도로 움직이고 있고(예를 들어, 통합된 자이로스코프 및/또는 가속도계와 같은 IMU 센서들을 이용하여 검출됨), 따라서 이미지가 정지해 있는 것보다 더 높은 레벨의 모션 블러를 포함할 것으로 예상될 수 있는 프레임들은 (추적이 덜 정확할 가능성이 있으므로) 더 낮은 추적 신뢰성 값들을 부여받고, 그러한 프레임들로부터의 픽셀들은 결과적으로 더 적은 가중치를 부여받는다.
도 6b는 특정 예시적인 실시예들에 따른 현실 세계 객체(602), 클라이언트 디바이스(600)에 디스플레이된 해당 객체의 캡처된 이미지들의 피드 및 해당 디바이스에 디스플레이된 증강된 이미지 사이의 관계의 추가 예시를 제공한다.
도 6b는 측면들 A 및 B가 뷰 내에 있는 카메라 위치로부터, 클라이언트 디바이스(600)의 일체형 디지털 카메라의 관점으로부터 현실 세계 객체의 더 제한된 뷰(주로 측면 C)가 이용가능한 카메라 이미지 뷰(616)로의, 클라이언트 디바이스의 관점에서의 변화(610)의 결과를 예시한다. 클라이언트 디바이스의 위치 측정 및 배향에서의 변경은 전술된 추적 기법들 중 임의의 기법에 의해 추적될 수 있다.
이 경우, 텍스처 맵(502)의 측면 A 및 B에 대한 텍스처 데이터는 또한 측면 A 및 B의 객체의 포인트들이 스마트폰 카메라의 시야를 벗어나기 전에 캡처되었던, 캡처된 비디오의 이전 프레임들로부터 캐시된 텍스처 데이터를 포함할 수 있다.
그 결과, 도 6b의 클라이언트 디바이스(600)는 또한 증강 현실 이미지 뷰(618)를 프리젠팅할 수 있다. 증강 현실 이미지 뷰(618)에서, 클라이언트 디바이스는 변환된 3D 메시(506)의 가상 뷰를 디스플레이한다. 도 6a에서와 같이, 클라이언트 디바이스(600)의 프로세서는, 가상 뷰에 있는 변환된 3D 메시(506) 상의 각각의 포인트에 대해, 원래의 3D 메시(504) 상의 포인트들과 변환된 3D 메시(506) 내의 포인트들 사이의 변환 맵핑(514)에 따라 텍스처 맵(502)으로부터 텍스처 데이터를 페치한다. 그러나, 이 경우, 객체의 특정 포인트들은 카메라 뷰에서 더 이상 가시적이지 않지만, 그러한 포인트들에 대한 대응부들은 가상 뷰에서 여전히 가시적이다. 가상 뷰의 생성은 현재 카메라 뷰 데이터로부터 직접적으로, 현재 카메라 이미지 뷰(616) 및 증강 현실 이미지 뷰(618) 양쪽 모두에서 볼 수 있는 포인트들에 대한 텍스처 데이터에 액세스하는 것, 및 텍스처 맵(502) 내의 대응하는 포인트에서 캐시된 텍스처 데이터를 참조함으로써 증강 현실 이미지 뷰(618)에서만 볼 수 있는 포인트들에 대한 텍스처 데이터에 액세스하는 것을 포함한다. 후자의 경로는 증강 현실 이미지 뷰(618)에서만 볼 수 있는 포인트들에 대한 텍스처 데이터에 대한 u, v-좌표를 제공하기 위해 UV 맵핑, 및 그 다음의 변환 맵핑 양쪽 모두의 적용에 의존한다.
도 5, 도 6a 및 도 6b에 도시된 변환은 수직한 선들을 기울어진 곡선들(skewed curved lines)로 균일하게 변형하는 것이지만, 변환은 많은 다른, 종종 더 복잡한 형태들을 취할 수 있다. 다른 변환들의 예들은 복제들(원래의 3D 메시의 블록들이 가상 콘텐츠 공간 내의 둘 이상의 위치에서 복제되고, 텍스처 맵으로부터의 텍스처 데이터가 복제된 블록들 각각 내의 꼭지점들에 맵핑됨), 반사들(3D 메시 내의 꼭지점들의 일부 또는 전부가 미러링됨) 및 병진 이동들(원래의 3D 메시의 일부 또는 전부가 원래의 현실 세계 객체의 위치로부터 가상 콘텐츠 공간 내의 공간 오프셋에서 왜곡되지 않은 3D 메시에 맵핑됨)을 포함한다. 반사형 변환들은 주변 가상 콘텐츠가 거울 반사되는 동안 가상 콘텐츠 공간에서의 사이니지는 사람이 읽을 수 있게 유지되는 것을 보장하는 데 사용될 수 있다.
텍스처 데이터의 캐싱은 계산 용량을 많이 사용할 필요없이 가상 콘텐츠의 채움을 용이하게 하기 때문에 중요하다.
특정 실시예들에서, 동적 텍스처 맵은 텍스처 캐시로서 유지된다. 텍스처 맵은 건물 또는 다른 현실 세계 객체 또는 환경의 3D 다각형 메시에서의 꼭지점들의 투영에 대응한다. (데카르트 좌표 {x, y, z}에 의해 표현되는) 3D 메시 내의 꼭지점들이 좌표 {u, v}를 갖는 이차원 맵으로 투영되므로, 3D 메시와 텍스처 맵 사이의 맵핑은 대안적으로 "UV 맵핑"으로 지칭될 수 있다. 텍스처 캐시는 디폴트 텍스처 데이터, 예를 들어, RGBA(0, 0, 0, 0)로 초기화될 수 있다.
클라이언트 디바이스의 이미지 캡처 모듈이 비디오 데이터의 프레임들을 캡처함에 따라, 디바이스는 현재 프레임에서 카메라가 본 것을 텍스처 캐시의 각각의 픽셀들에 저장한다.
단일 프레임에 대한 캐싱을 수행하기 위해, 이미지화되는 현실 세계 객체에 대응하는 3D 메시가 액세스된다. 3D 메시는 먼저 UV 공간에서 텍스처 캐시에 맵핑(즉, 렌더링)된다(즉, UV 맵핑이 생성된다). UV 공간에서의 3D 메시의 모든 픽셀에 대해, 대응하는 세계 위치가 계산되고, 이어서 현재 카메라 이미지에서의 대응하는 좌표들이 계산된다.
UV 공간에서의 3D 메시의 임의의 주어진 픽셀에 대한 텍스처 데이터가 (대응하는 u, v 좌표에서) 캐싱되어야 하는지를 결정하기 위해, 그 픽셀이 카메라 프레임 밖에 있는 좌표에 대응하는지가 결정된다. 좌표들이 카메라 프레임의 외부에 있는 경우, 캐싱할 카메라 이미지 텍스처 데이터가 없을 것이고, 따라서 이들 픽셀들은 캐싱되지 않는다.
동일하게, 카메라의 시점으로부터 3D 메시의 임의의 주어진 픽셀이 놓이는 표면이 3D 메시의 다른 표면 뒤에 있는지가 결정된다. 표면이 다른 표면 뒤에 있는(즉, 다른 표면에 의해 가려진) 것으로 결정되면, 대응하는 카메라 이미지 픽셀은 올바른 표면이 아닐 것이고, 다시 그 가려진 표면 상의 픽셀들은 캐싱되지 않는다.
표면이 다른 표면에 의해 가려진 것인지 여부를 결정하는 것은, 먼저, 깊이-버퍼링을 이용하여, 원래의 3D 메시의 뷰-공간 깊이들을 렌더링한 다음, 그 3D 메시 내의 픽셀의 계산된 깊이가 렌더링된 깊이와 동일한지(따라서 그 픽셀이 실제로 카메라에 가장 가까운 표면 상에 있는지) 여부를 체크함으로써 달성될 수 있다.
후보 캐싱된 픽셀이 유효한 경우(즉, 카메라 프레임 내에 및 하나의 가장 가까운 표면 내에 있는 경우), 그 픽셀에 대한 텍스처 데이터가 텍스처 맵에 캐싱된다. 특정 실시예들에서, 텍스처 데이터는 그 u, v 좌표에 대해 현재 저장된 기존의 텍스처 데이터를 단순히 대체할 수 있다. 다른 실시예들에서, 텍스처 데이터는 시간적 평활화(smoothing)를 위해 낮은 불투명도를 갖는 기존의 텍스처 데이터와 병합될 수 있다. 따라서, 텍스처 데이터의 RGBA 표현에서의 알파 채널은 그 픽셀에 대해 얼마나 많은 캐싱이 행해졌는지를 표현할 수 있다.
많은 구현들에서, 이미지 캡처 디바이스들(예를 들어, 사용자들의 스마트폰들에 통합된 디지털 카메라들)은 현재 타겟 이미지에 따라 그들의 노출 설정들을 자주 변경한다. 특정 실시예들에서, 주어진 카메라 이미지의 현재 프레임으로부터의 픽셀이 캐시 텍스처/텍스처 맵에 저장될 때마다, 정규화된 값이 스토리지에 기입되기 전에 현재 카메라 노출을 정규화하기 위해 노출 보상 함수가 적용된다. 결과적으로, 저장된 픽셀은 밝기가 유효하게 정규화된 컬러 값을 갖는다. 픽셀이 캐시 텍스처/텍스처 맵으로부터 검색되어야 할 때마다(즉, 판독될 텍스처 데이터), 현재의 카메라 노출과 매칭하기 위해 역 노출 보상 함수가 정규화된 값에 적용된다.
본원에 설명되는 변환 기법을 사용하는 가상 콘텐츠 효과들의 예들은 현실 세계 건물의 미러 이미지 또는 복제가 가상 공간에 세워지고, 증강 현실 스크린 뷰에서 현실 세계 객체 옆에 디스플레이될 수 있는 효과들을 포함한다.
본 개시내용의 변환 기법은 도시 경관을 모형화(mock-up)하고, 추가적인 층들(levels)을 아파트 블록들에 추가하고, 및/또는 기존의 건물들을 복제하고 추가적인 건물들을 가상 뷰에 배치하기 위하여 이용될 수도 있다. 도 7a 및 도 7b는 본 발명의 특정 실시예들에 따라 새로운 층이 건물의 증강 현실 뷰에 삽입되는 변환 효과를 예시한다. 도 7a의 카메라 이미지 뷰는 4행의 창문들을 갖는 건물을 도시하는 반면, 도 7b의 증강 현실 스크린 뷰는 6행을 갖는 건물을 도시하며, 2행의 창문들을 갖는 아래층들이 복제되고 기존의 층들 사이에 "삽입"된다.
본 개시내용의 변환 기술은 또한 2개의 디바이스들 사이에서 정보를 전달하는 데 사용될 수 있다. 제1 클라이언트 디바이스가 현실 세계 객체의 뷰에 적용될 변환을 정의하는 창작 입력을 수신하고(예를 들어, 제스처, 터치 입력 또는 키보드 입력에 의해 텍스트 또는 이미지 정보를 입력하고), 현실 세계 객체에 대한 상이한 위치에서 다른 사용자와 공유될 수 있는 가상 콘텐츠를 생성한다. 도 8a 및 도 8b는 메시징에 대한 본 발명의 특정 실시예에 따른 변환을 적용을 예시한다. 도 8a는 건물의 카메라 이미지 뷰를 예시한다. 도 8b는 메시지 내의 문자들의 "구조"를 제공하기 위해 이미지화된 건물의 기본구조(fabric)의 요소들을 맵핑하는 것에 의해 구성된 메시지 “I ♥N Y”를 갖는 동일한 건물의 증강 현실 스크린 뷰를 나타낸 것이다.
소프트웨어 아키텍처
도 9는 본 명세서에 설명된 다양한 하드웨어 아키텍처들과 함께 사용될 수 있는 예시적인 소프트웨어 아키텍처(906)를 예시하는 블록도이다. 도 9는 소프트웨어 아키텍처의 비-제한적인 예이고, 많은 다른 아키텍처들이 본원에서 설명된 기능성을 용이하게 하기 위하여 구현될 수도 있다는 것이 인식될 것이다. 소프트웨어 아키텍처(906)는 전술한 클라이언트 디바이스들(102) 중 임의의 하나 이상에 설치될 수 있다.
대표적인 하드웨어 계층(952)이 예시되며, 도 1a에 도시된 것과 같은 클라이언트 디바이스의 하드웨어를 나타낼 수 있다. 대표적인 하드웨어 계층(952)은 연관된 실행가능 명령어들(904)을 갖는 처리 유닛(954)을 포함한다. 실행가능 명령어들(904)은 본 명세서에 설명된 방법들, 컴포넌트들 등의 구현을 포함하는, 소프트웨어 아키텍처(906)의 실행가능 명령어들을 나타낸다. 하드웨어 계층(952)은 메모리 및/또는 스토리지 모듈들인 메모리/스토리지(956)를 또한 포함하고, 이들도 실행가능 명령어들(904)을 갖는다. 하드웨어 계층(952)은 다른 하드웨어(958)를 또한 포함할 수 있다. 하드웨어 계층을 구현하는 머신(1000)의 비제한적 예의 더 상세한 도면이 도 10에 도시되어 있다: 그 머신은 특히 프로세서들(1004), 메모리(1014), 및 I/O 컴포넌트들(1018)을 포함한다.
도 9의 예시적인 아키텍처에서, 소프트웨어 아키텍처(906)는 각각의 계층이 특정의 기능성을 제공하는 계층들의 스택으로서 개념화될 수 있다. 예를 들어, 소프트웨어 아키텍처(906)는 운영 체제(902), 라이브러리들(920)(즉, 데이터 계층), 애플리케이션들(916)(즉, 애플리케이션 계층) 및 프레젠테이션 계층(914)과 같은 계층들을 포함할 수 있다. 동작적으로, 애플리케이션들(916) 및/또는 계층들 내의 다른 컴포넌트들은 소프트웨어 스택을 통해 애플리케이션 프로그래밍 인터페이스(API) API 호출들(908)을 인보크하고 API 호출들(908)(즉, 인터페이스 계층)에 응답하여 응답을 수신할 수 있다. 예시된 계층들은 본질적으로 대표적인 것이며 소프트웨어 아키텍처들 모두가 모든 계층들을 갖는 것은 아니다. 예를 들어, 일부 모바일 또는 특수 목적 운영 체제들은 프레임워크들/미들웨어(918)를 제공하지 않을 수도 있지만, 다른 것들은 그러한 계층을 제공할 수도 있다. 다른 소프트웨어 아키텍처는 추가의 또는 상이한 계층들을 포함할 수 있다.
운영 체제(902)는 하드웨어 리소스들을 관리하고 공통 서비스들을 제공할 수도 있다. 운영 체제(902)는, 예를 들어, 커널(922), 서비스들(924) 및 드라이버들(926)을 포함할 수 있다. 커널(922)은 하드웨어와 다른 소프트웨어 계층들 사이의 추상화 계층(abstraction layer)으로서 기능할 수 있다. 예를 들어, 커널(922)은 메모리 관리, 프로세서 관리(예를 들어, 스케줄링), 컴포넌트 관리, 네트워킹, 보안 설정 등을 담당할 수 있다. 서비스들(924)은 다른 소프트웨어 계층들을 위한 다른 공통 서비스들을 제공할 수 있다. 드라이버들(926)은 기본 하드웨어를 제어하거나 그와 인터페이싱하는 것을 담당한다. 예를 들어, 드라이버들(926)은 하드웨어 구성에 따라 디스플레이 드라이버들, 카메라 드라이버들, 관성 측정 유닛(IMU) 드라이버들, Bluetooth®드라이버들, 플래시 메모리 드라이버들, 직렬 통신 드라이버들(예를 들어, 범용 직렬 버스(USB) 드라이버들), Wi-Fi®드라이버들, 오디오 드라이버들, 전력 관리 드라이버들 등을 포함한다.
라이브러리들(920)은 애플리케이션들(916) 및/또는 다른 컴포넌트들 및/또는 계층들에 의해 사용되는 공통 인프라스트럭처를 제공한다. 라이브러리들(920)은 다른 소프트웨어 컴포넌트들이 기본 운영 체제(902) 기능성(예를 들어, 커널(922), 서비스들(924) 및/또는 드라이버들(926))과 직접 인터페이스하는 것보다 더 쉬운 방식으로 작업들을 수행할 수 있게 하는 기능성을 제공한다. 라이브러리들(920)은 메모리 할당 기능들, 문자열 조작 기능들, 수학 기능들 등과 같은 기능들을 제공할 수 있는 시스템 라이브러리들(944)(예를 들어, C 표준 라이브러리)를 포함할 수 있다. 게다가, 라이브러리들(920)은 미디어 라이브러리들(예를 들어, MPREG4, H.264, MP3, AAC, AMR, JPG, PNG와 같은 다양한 미디어 포맷의 프레젠테이션 및 조작을 지원하기 위한 라이브러리들), 그래픽 라이브러리들(예를 들어, 디스플레이 상의 그래픽 콘텐츠에서 2D 및 3D를 렌더링하는 데 사용될 수 있는 OpenGL 프레임워크), 데이터베이스 라이브러리들(예를 들어, 다양한 관계형 데이터베이스 기능들을 제공할 수 있는 SQLite), 웹 라이브러리들(예를 들어, 웹 브라우징 기능성을 제공할 수 있는 WebKit) 등과 같은 API 라이브러리들(946)을 포함할 수 있다. 라이브러리들(920)은 많은 다른 API들을 애플리케이션(916) 및 다른 소프트웨어 컴포넌트들/모듈들에 제공하는 매우 다양한 다른 라이브러리들(948)을 또한 포함할 수 있다.
프레임워크들/미들웨어(918)(때때로 미들웨어라고도 지칭됨)는 애플리케이션들(916) 및/또는 다른 소프트웨어 컴포넌트들/모듈들에 의해 사용될 수 있는 상위 레벨 공통 인프라스트럭처를 제공한다. 예를 들어, 프레임워크들/미들웨어(918)는 다양한 그래픽 사용자 인터페이스(GUI) 기능들, 하이-레벨 리소스 관리, 하이-레벨 위치 서비스들 등을 제공할 수 있다. 프레임워크들/미들웨어(918)는 애플리케이션들(916) 및/또는 다른 소프트웨어 컴포넌트들/모듈들에 의해 이용될 수 있는 광범위한 스펙트럼의 다른 API들을 제공할 수 있으며, 그 중 일부는 특정 운영 체제(902) 또는 플랫폼에 특정할 수 있다.
애플리케이션들(916)은 빌트인 애플리케이션들(938) 및/또는 제3자 애플리케이션들(940)을 포함한다. 대표적인 빌트인 애플리케이션들(938)의 예들은 연락처 애플리케이션, 브라우저 애플리케이션, 북 리더 애플리케이션, 위치 애플리케이션, 미디어 애플리케이션, 메시징 애플리케이션, 및/또는 게임 애플리케이션을 포함할 수 있지만, 이들로 제한되지 않는다. 제3자 애플리케이션들(940)은 특정 플랫폼의 벤더 이외의 엔티티에 의해 ANDROID™ 또는 IOS™ 소프트웨어 개발 키트(SDK)를 이용하여 개발된 애플리케이션을 포함할 수 있고, IOS™, ANDROID™, WINDOWS®Phone, 또는 다른 모바일 운영 체제들과 같은 모바일 운영 체제 상에서 실행되는 모바일 소프트웨어일 수 있다. 제3자 애플리케이션들(940)은 본 명세서에 설명된 기능성을 용이하게 하기 위해 모바일 운영 체제(예를 들어 운영 체제(902))에 의해 제공되는 API 호출들(908)을 인보크 할 수 있다. 애플리케이션들(916)은 증강 현실 클라이언트 애플리케이션(942)을 포함할 수 있다.
증강 현실 애플리케이션(942)은 맵 정보에 액세스하는 것, 이미지 및 포인트 클라우드 데이터 및 피처 매칭을 처리하는 것, 또는 본 명세서에 설명된 임의의 다른 동작을 포함하여, 본 명세서에 설명된 임의의 시스템 또는 방법을 구현할 수 있다. 추가적으로, 일부 실시예들에서, 메시징 애플리케이션 및 증강 현실 애플리케이션(942)은 단기적 메시징 애플리케이션의 일부로서 함께 동작할 수 있다. 이러한 단기적 메시징 애플리케이션은, 이미지를 생성하고, 사용자가 증강 현실 요소를 이미지에 추가하는 것을 허용하고, 이미지 및/또는 증강 현실 데이터의 일부 또는 전부를 또 다른 시스템 사용자에게 전달하도록 동작할 수 있다. 삭제 트리거가 충족된 후에, 전송된 데이터는 수신 사용자의 시스템으로부터 전달되고, 또한 이미지 및/또는 증강 현실 데이터를 포함하는 단기적 메시지의 전달에 관련된 임의의 서버로부터 이미지 및/또는 증강 현실 데이터를 삭제하도록 동기화될 수 있다. 일부 실시예들에서, 수신 사용자 디바이스로부터 데이터를 삭제하기 위한 트리거는 증강 현실 이미지가 얼마나 오랫동안 디스플레이되는지를 나타내는 타이머일 수 있다. 다른 실시예들에서, 단기적 메시징 시스템은, 삭제를 위한 날짜 및 시간 트리거, 또는 수신 사용자가 데이터에 액세스한 횟수와 연관된 삭제를 설정할 수 있다.
애플리케이션들(916)은 시스템의 사용자들과 상호작용하기 위한 사용자 인터페이스들을 생성하기 위해 빌트인 운영 체제 기능들(예를 들어, 커널(922), 서비스들(924) 및/또는 드라이버들(926)), 라이브러리들(920), 및 프레임워크들/미들웨어(918)를 사용할 수 있다. 대안으로서 또는 추가로, 일부 시스템들에서, 사용자와의 상호작용은 프레젠테이션 계층(914)과 같은 프레젠테이션 계층을 통해 발생할 수 있다. 이러한 시스템들에서, 애플리케이션/컴포넌트 "로직"은 사용자와 상호작용하는 애플리케이션/컴포넌트의 양태들로부터 분리될 수 있다.
도 10은, 머신-판독 가능 매체(예를 들어, 머신-판독 가능 저장 매체)로부터 명령어들을 판독하고 여기서 논의된 방법론들 중 임의의 하나 이상을 수행할 수 있는, 일부 예시적인 실시예에 따른 머신(1000)의 컴포넌트들을 나타내는 블록도이다. 구체적으로, 도 10은 머신(1000)으로 하여금 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하게 하기 위한 명령어들(1010)(예를 들어, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱, 또는 다른 실행가능 코드)이 실행될 수 있는 컴퓨터 시스템의 예시적인 형태로 머신(1000)의 도식적 표현을 도시한다. 이와 같이, 명령어들(1010)은 본 명세서에 설명된 모듈들 또는 컴포넌트들을 구현하기 위해 사용될 수 있다. 명령어들(1010)은, 일반적인 비-프로그래밍된 머신(1000)을, 설명되고 예시된 기능들을 설명된 방식으로 수행하도록 프로그래밍된 특정한 머신(1000)으로 변환한다. 대안적인 실시예들에서, 머신(1000)은 독립형 디바이스로서 동작하거나 다른 머신들에 결합(예를 들어, 네트워킹)될 수 있다. 네트워킹된 배치에서, 머신(1000)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 자격으로 동작하거나, 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신(1000)은, 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, 셋톱 박스(STB), 개인 정보 단말기(PDA), 엔터테인먼트 미디어 시스템, 셀룰러 전화, 스마트폰, 모바일 디바이스, 웨어러블 디바이스(예를 들어, 스마트 시계), 스마트 홈 디바이스(예를 들어, 스마트 어플라이언스), 다른 스마트 디바이스들, 웹 어플라이언스, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 또는 머신(1000)에 의해 취해질 액션들을 특정하는 명령어들(1010)을 순차적으로 또는 다른 방식으로 실행할 수 있는 임의의 머신을 포함할 수 있지만, 이에 제한되지 않는다. 또한, 단일 머신(1000)만이 예시되어 있지만, "머신"이라는 용어는 또한 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 명령어들(1010)을 개별적으로 또는 공동으로 실행하는 머신들의 컬렉션을 포함하는 것으로 간주되어야 한다.
머신(1000)은, 예를 들어 버스(1002)를 통해 서로 통신하도록 구성될 수 있는 프로세서들(1004), 메모리/스토리지(1006), 및 I/O 컴포넌트들(1018)을 포함할 수 있다. 메모리/스토리지(1006)는 메인 메모리, 또는 다른 메모리 스토리지와 같은 메모리(1014), 및 스토리지 유닛(1016)을 포함할 수 있고, 이 둘 다 예를 들어 버스(1002)를 통해 프로세서들(1004)이 액세스할 수 있다. 스토리지 유닛(1016) 및 메모리(1014)는 본 명세서에 설명된 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는 명령어들(1010)을 저장한다. 명령어들(1010)은 또한, 머신(1000)에 의한 그의 실행 동안, 완전히 또는 부분적으로, 메모리(1014) 내에, 스토리지 유닛(1016) 내에, 프로세서들(1004) 중 적어도 하나 내에(예를 들어, 프로세서의 캐시 메모리 내에), 또는 이들의 임의의 적합한 조합으로 존재할 수 있다. 따라서, 메모리(1014), 스토리지 유닛(1016), 및 프로세서들(1004)의 메모리는 머신-판독 가능 매체의 예들이다.
I/O 컴포넌트들(1018)은 입력을 수신하고, 출력을 제공하고, 출력을 생성하고, 정보를 송신하고, 정보를 교환하고, 측정들을 캡처하는 등을 위한 매우 다양한 컴포넌트들을 포함할 수 있다. 특정 머신(1000)에 포함되는 특정 I/O 컴포넌트들(1018)은 머신의 타입에 의존할 것이다. 예를 들어, 모바일 전화 등의 휴대용 머신들(portable machines)은 터치 입력 디바이스 또는 기타의 이러한 입력 메커니즘들을 포함할 가능성이 높은 반면, 헤드리스 서버 머신(headless server machine)은 이러한 터치 입력 디바이스를 포함하지 않을 가능성이 높다. I/O 컴포넌트들(1018)은 도 10에 도시되지 않은 많은 다른 컴포넌트들을 포함할 수 있다는 것을 이해할 것이다. I/O 컴포넌트들(1018)은 단지 이하의 논의를 간소화하기 위해 기능성에 따라 그룹화되어 있고, 이러한 그룹화는 결코 제한적인 것이 아니다. 다양한 예시적인 실시예들에서, I/O 컴포넌트들(1018)은 출력 컴포넌트들(1026) 및 입력 컴포넌트들(1028)을 포함할 수 있다. 출력 컴포넌트들(1026)은, 시각적 컴포넌트들(예를 들어, 플라즈마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 액정 디스플레이(LCD), 프로젝터, 또는 음극선관(CRT)과 같은 디스플레이), 음향 컴포넌트들(예를 들어, 스피커), 햅틱 컴포넌트들(예를 들어, 진동 모터, 저항 메커니즘들), 다른 신호 생성기들 등을 포함할 수 있다. 입력 컴포넌트들(1028)은 영숫자 입력 컴포넌트들(예를 들어, 키보드, 영숫자 입력을 수신하도록 구성된 터치 스크린, 포토-옵티컬 키보드, 또는 다른 영숫자 입력 컴포넌트들), 포인트 기반 입력 컴포넌트들(예를 들어, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 기구), 촉각 입력 컴포넌트들(예를 들어, 물리적 버튼, 터치들 또는 터치 제스처들의 위치 및/또는 힘을 제공하는 터치 스크린, 또는 다른 촉각 입력 컴포넌트들), 오디오 입력 컴포넌트들(예를 들어, 마이크로폰), 그리고 유사한 것들을 포함할 수 있다. 입력 컴포넌트들(1028)은 또한 디지털 이미지들 및/또는 비디오를 생성하기 위한 디지털 카메라와 같은 하나 이상의 이미지 캡처링 디바이스들을 포함할 수 있다.
추가의 예시적인 실시예들에서, I/O 컴포넌트들(1018)은 광범위한 다른 컴포넌트들 중에서 바이오메트릭 컴포넌트들(1030), 모션 컴포넌트들(1034), 환경적인 환경 컴포넌트들(1036), 또는 포지션 컴포넌트들(1038)을 포함할 수 있다. 예를 들어, 바이오메트릭 컴포넌트들(1030)은, 표현들(예를 들어, 손 표현들, 얼굴 표정들, 음성 표현들, 신체 제스처들, 또는 시선 추적)을 검출하고, 생체신호들(예를 들어, 혈압, 심박수, 체온, 땀 또는 뇌파들)을 측정하고, 사람을 식별(예를 들어, 음성 식별, 망막 식별, 얼굴 식별, 지문 식별, 또는 뇌파도 기반 식별)하고, 그 유사한 것을 하기 위한 컴포넌트들을 포함할 수 있다. 모션 컴포넌트들(1034)은 가속도 센서 컴포넌트들(예를 들어, 가속도계), 중력 센서 컴포넌트들, 회전 센서 컴포넌트들(예를 들어, 자이로스코프) 등을 포함할 수 있다. 환경 컴포넌트들(1036)은, 예를 들어, 조명 센서 컴포넌트들(예를 들어, 광도계), 온도 센서 컴포넌트들(예를 들어, 주위 온도를 검출하는 하나 이상의 온도계), 습도 센서 컴포넌트들, 압력 센서 컴포넌트들(예를 들어, 기압계), 음향 센서 컴포넌트들(예를 들어, 배경 노이즈를 검출하는 하나 이상의 마이크로폰들), 근접 센서 컴포넌트들(예를 들어, 인근 객체들을 검출하는 적외선 센서들), 가스 센서들(예를 들어, 안전을 위해 유해성 가스들의 농도들을 검출하거나 대기 내의 오염물질들을 측정하기 위한 가스 검출 센서들), 또는 주변 물리적 환경에 대응하는 표시들, 측정들, 또는 신호들을 제공할 수 있는 다른 컴포넌트들을 포함할 수 있다. 포지션 컴포넌트들(1038)은, 위치 센서 컴포넌트들(예를 들어, GPS(Global Position System) 수신기 컴포넌트), 고도 센서 컴포넌트들(예를 들어, 고도계 또는 고도가 도출될 수 있는 기압을 검출하는 기압계), 방위 센서 컴포넌트들(예를 들어, 자력계) 및 유사한 것들을 포함할 수 있다.
통신은 다양한 기술들을 사용하여 구현될 수 있다. I/O 컴포넌트들(1018)은 머신(1000)을 결합(1022) 및 결합(1024) 각각을 통해 네트워크(1032) 또는 디바이스들(1020)에 결합하도록 동작가능한 통신 컴포넌트들(1040)을 포함할 수 있다. 예를 들어, 통신 컴포넌트들(1040)은 네트워크(1032)와 인터페이스하기 위해 네트워크 인터페이스 컴포넌트, 또는 다른 적합한 디바이스를 포함할 수 있다. 추가 예들에서, 통신 컴포넌트들(1040)은 유선 통신 컴포넌트들, 무선 통신 컴포넌트들, 셀룰러 통신 컴포넌트들, 근거리 무선 통신(NFC) 컴포넌트들, Bluetooth® 컴포넌트들(예를 들어, Bluetooth® 로우 에너지), Wi-Fi® 컴포넌트들, 및 다른 양태들을 통해 통신을 제공하는 다른 통신 컴포넌트들을 포함할 수 있다. 디바이스(1020)는, 또 다른 머신 또는 여러 다양한 주변 디바이스들(예를 들어, USB(Universal Serial Bus)을 통해 결합된 주변 디바이스) 중의 임의의 것일 수 있다.
게다가, 통신 컴포넌트들(1040)은 식별자들을 검출할 수 있거나 식별자들을 검출하도록 동작가능한 컴포넌트들을 포함할 수 있다. 예를 들어, 통신 컴포넌트들(1040)은 RFID(Radio Frequency Identification) 태그 판독기 컴포넌트들, NFC 스마트 태그 검출 컴포넌트들, 광학 판독기 컴포넌트들(예를 들어, UPC(Universal Product Code) 바코드들과 같은 1-차원 바코드들, QR(Quick Response) 코드와 같은 다차원 바코드들, 아즈텍(Aztec) 코드, 데이터 매트릭스(Data Matrix), 데이터글리프(Dataglyph), 맥시코드(MaxiCode), 피디에프417(PDF417), 울트라 코드(Ultra Code), UCC RSS-2D 바코드, 및 다른 광학 코드들을 검출하기 위한 광학 센서), 또는 음향 검출 컴포넌트들(예를 들어, 태깅된 오디오 신호들을 식별하기 위한 마이크로폰들)을 포함할 수 있다. 추가로, 인터넷 프로토콜(IP) 지오-로케이션을 통한 위치, Wi-Fi® 신호 삼각측량을 통한 위치, 특정한 위치를 나타낼 수 있는 NFC 비컨 신호 검출을 통한 위치 등과 같은 다양한 정보가 통신 컴포넌트(1040)들을 통해 도출될 수 있다.
명령어들(1010)은 네트워크 인터페이스 디바이스(예를 들어, 통신 컴포넌트들(1064)에 포함된 네트워크 인터페이스 컴포넌트)를 통해 송신 매체를 사용하여 그리고 다수의 널리 공지된 전송 프로토콜들(예를 들어, HTTP) 중 어느 하나를 이용하여 네트워크(1032)를 통해 송신 또는 수신될 수 있다. 유사하게, 명령어들(1010)은 디바이스들(1020)에 대한 결합(1022)(예를 들어, 피어-투-피어 결합)을 통해 송신 매체를 사용하여 송신 또는 수신될 수 있다. "송신 매체"라는 용어는, 머신(1000)에 의한 실행을 위한 명령어(1010)를 저장, 인코딩 또는 운반할 수 있고, 이러한 소프트웨어의 전달을 가능케하는 디지털 또는 아날로그 통신 신호(즉, 캐리어 신호) 또는 기타의 무형 매체를 포함하는 임의의 무형의 매체를 포함하는 것으로 간주되어야 한다.
본 명세서 전체에 걸쳐, 복수형 인스턴스(plural instance)들은 단일 인스턴스로서 설명된 컴포넌트들, 동작들 또는 구조들을 구현할 수 있다. 하나 이상의 방법의 개별적인 동작들이 별개의 동작들로서 예시 및 설명되어 있지만, 개별적인 동작들 중 하나 이상은 동시에 수행될 수 있으며, 이러한 동작들이 예시된 순서로 수행되는 것이 요구되지는 않는다. 예시적인 구성에서 별개의 컴포넌트들로서 제시된 구조 및 기능은 결합된 구조 또는 컴포넌트로서 구현될 수 있다. 마찬가지로, 단일 컴포넌트로서 제시된 구조들 및 기능은 개별 컴포넌트들로서 구현될 수 있다. 이들 및 다른 변형들, 수정들, 추가들, 및 개선들은 본 명세서의 주제의 범위 내에 있다.
본 발명의 주제에 대한 개요가 특정한 예시적인 실시예들을 참조하여 설명되었지만, 본 개시내용의 실시예들의 더 넓은 범위를 벗어나지 않으면서 이들 실시예들에 대한 다양한 수정들 및 변경들이 이루어질 수 있다. 본 발명의 주제의 이러한 실시예들은 단지 편의를 위해, 그리고 실제로, 두개 이상이 개시된다면 임의의 단일 개시 내용 또는 발명의 개념으로 본 출원의 범위를 자발적으로 제한하도록 의도하지 않고서, "발명(invention)"이라는 용어에 의해 개별적으로 또는 집합적으로 본 명세서에서 지칭될 수 있다.
본 명세서에서 예시된 실시예들은 본 기술분야의 통상의 기술자가 본 명세서에서 개시된 교시들을 실시할 수 있게 하도록 충분히 상세하게 설명되었다. 본 개시내용의 범위로부터 벗어나지 않고 구조적 및 논리적 치환과 변경이 이루어질 수 있도록 하는 다른 실시예들이 이용될 수 있고 본 개시내용으로부터 도출될 수 있다. 따라서, 상세한 설명은 제한적인 의미로 해석되어서는 안 되며, 다양한 실시예들의 범위는 오직 첨부된 청구항들, 및 러한 청구항들에 주어지는 균등물들의 최대 범위(full range of equivalents)에 의해 정의된다.
본 명세서에서 사용되는 바와 같이, "또는(or)"이라는 용어는 포괄적인 또는 배타적인 의미로 해석될 수 있다. 게다가, 여기서 단일 인스턴스로서 설명된 리소스들, 동작들, 또는 구조들에 대해 복수의 인스턴스들이 제공될 수 있다. 추가적으로, 다양한 리소스들, 동작들, 모듈들, 엔진들, 및 데이터 스토리지 사이의 경계들은 다소 임의적이고, 특정한 동작들은 구체적인 예시적인 구성들의 맥락에서 예시된다. 기능의 다른 할당들을 구상해 볼 수 있고 본 개시내용의 다양한 실시예들의 범위 내에 있을 수 있다. 일반적으로, 예시적인 구성에서 별개의 리소스들로서 제시된 구조들 및 기능성은 결합된 구조 또는 리소스로서 구현될 수 있다. 마찬가지로, 단일 리소스로서 제시된 구조들 및 기능성은 별도의 리소스들로서 구현될 수 있다. 이들 및 다른 변형들, 수정들, 추가들, 및 개선들은 첨부된 청구항들에 의해 표현되는 바와 같은 본 개시내용의 실시예들의 범위 내에 있다. 따라서, 명세서 및 도면들은 제한적인 의미보다는 예시적인 의미로 간주되어야 한다.
또한, 본 개시내용이 또한 하기의 번호가 매겨진 조항들에 따른 구성들을 취할 수 있다는 것에 유의해야 한다:
조항 1. 클라이언트 디바이스에서 가상 콘텐츠를 디스플레이하기 위한 컴퓨터 구현 방법으로서, 디바이스의 프로세서에서, 현실 세계 객체 또는 환경에 대응하는 텍스처 맵 및 3D 메시에 액세스하는 단계; 현실 세계 객체 또는 환경에 대한 디바이스의 위치 측정을 결정하는 단계; 디바이스의 위치 측정에서의 변경들을 추적하는 단계; 창작 모드에서, 변환 입력을 수신하는 단계; 변환 입력에 대응하는 변환을 3D 메시에 적용함으로써 가상 콘텐츠를 생성하는 단계 -변환은 3D 메시의 복수의 꼭지점들을 변환된 지오메트리 내의 복수의 변환된 꼭지점들로 맵핑하고, 맵핑 및 텍스처 맵에 따라 변환된 꼭지점들을 텍스처 데이터로 채움- ; 및 디바이스의 이미지 센서에 의해 캡처된 현실 세계 객체의 적어도 하나의 현재 이미지를 처리하여, 현재 이미지 위에 가상 콘텐츠의 뷰를 중첩시키는 단계를 포함하는, 방법.
조항 2. 조항 1에 있어서, 텍스처 맵 및 3D 메시에 액세스하는 단계는, 디바이스의 이미지 센서에 의해 현실 세계 객체의 적어도 하나의 이미지를 캡처하는 단계; 적어도 하나의 캡처된 이미지에 기초하여 객체에 대응하는 3차원(3D) 지오메트리를 결정하는 단계; 객체의 각각의 패치들에 대한 텍스처 데이터를 추출하기 위해 적어도 하나의 이미지를 처리하는 단계; 및 텍스처 데이터를 저장하기 위한 데이터 구조의 적어도 일부를 채우는 단계 - 데이터 구조는 텍스처 데이터를 3D 지오메트리에서의 꼭지점들에 맵핑함 - 를 포함하고, 3D 메시는 3D 지오메트리 내의 각각의 꼭지점들의 3D 표현을 포함하고, 텍스처 맵은 채워진 데이터 구조인, 방법.
조항 3. 조항 2에 있어서, 채워진 데이터 구조를 저장 매체에 저장함으로써 현재 카메라 프레임 내의 모든 꼭지점들에 대한 텍스처 데이터를 캐싱하는 단계를 더 포함하는 방법.
조항 4. 조항 3에 있어서, 변환된 꼭지점들을 텍스처 데이터로 채우는 것은, 각각의 변환된 꼭지점에 대해, 현재 카메라 프레임에서 3D 메시의 꼭지점이 가시적인지를 결정하는 단계; 3D 메시의 꼭지점이 현재 카메라 프레임에서 가시적인 경우, 변환된 꼭지점을 대응하는 가시적 꼭지점에서 추출된 텍스처 데이터로 채우는 단계; 및 3D 메시의 꼭지점이 현재 카메라 프레임에서 가시적이지 않은 경우, 저장 매체 내의 채워진 데이터 구조에 액세스하고, 꼭지점에 대한 캐싱된 텍스처 데이터를 획득하고, 변환된 꼭지점을 캐싱된 텍스처 데이터로 채우는 단계를 포함하는 방법.
조항 5. 조항 1 내지 4 중 어느 하나의 방법으로서, 디바이스의 위치 측정에서의 변경들을 추적하는 단계는, 현실 세계 객체의 적어도 하나의 현재 이미지를 캡처하는 단계; 적어도 하나의 현재 이미지에서 피처들을 식별하는 단계; 식별된 피처들의 위치 및 배향의 변경들을 추적하는 단계; 및 객체에 대한 실시간 카메라 포즈를 생성하기 위해 식별된 피처들의 위치 측정 및 배향의 검출된 변경들을 처리하는 단계를 포함하는 방법.
조항 6. 조항 1 내지 5 중 어느 하나의 방법으로서, 프로세서는 그래픽 프로세서 유닛(GPU)인 방법.
조항 7. 조항 1 내지 6 중 어느 하나에 있어서, 디바이스의 위치 측정은 디바이스의 포지셔닝 시스템에 의해 결정되는 방법.
조항 8. 조항 7에 있어서, 포지셔닝 시스템은 저장 매체 및 디바이스의 적어도 하나의 프로세서에 결합된 적어도 제1 포지셔닝 하드웨어 모듈을 포함하는, 방법.
조항 9. 조항 8에 있어서, 제1 포지셔닝 하드웨어 모듈은 GPS(global positioning system) 모듈인, 방법.
조항 10. 조항 1 내지 9 중 어느 하나에 있어서, 제1 위치 추정을 획득하는 단계는 사용자 입력 위치 추정을 수신하는 단계를 포함하는 방법.
조항 11. 조항 1 내지 10 중 어느 하나에 있어서, 3D 메시 내의 적어도 하나의 꼭지점은 변환된 지오메트리 내의 둘 이상의 변환된 꼭지점들에 맵핑되는 방법.
조항 12. 조항 11에 있어서, 변환은 반사, 변형, 복제, 또는 병진 이동을 포함하는, 방법.
조항 13. 조항 11 또는 조항 12에 있어서, 변환은 디바이스로의 사용자 제스처 입력에 대응하는 방법.
조항 14. 조항 13에 있어서, 입력 제스처는 터치 스크린 입력 제스처인 방법.
조항 15. 조항 13 또는 조항 14에 있어서, 입력 제스처는 입력 디바이스가 제스처 입력 모드에서 동작되는 동안에 입력 디바이스에서의 배향의 변경을 포함하는 방법.
조항 16. 조항 1 내지 15 중 어느 하나에 있어서, 텍스처 맵 및 3D 메시를 획득하는 단계는, 제2 디바이스로부터 텍스처 맵 및 3D 메시를 수신하는 단계를 포함하는 방법.
조항 17. 클라이언트 디바이스에서 가상 콘텐츠를 디스플레이하기 위한 컴퓨터 구현 방법으로서, 디바이스의 프로세서에서, 현실 세계 객체 또는 환경에 대응하는 텍스처 맵 및 3D 메시를 획득하는 단계; 현실 세계 객체 또는 환경에 대한 디바이스의 위치 측정을 결정하는 단계; 디바이스의 위치 측정의 변경들을 추적하는 단계; 공유 모드에서, 소스 디바이스로부터 변환 정보를 수신하는 단계; 변환 정보에 대응하는 공유된 변환을 3D 메시에 적용함으로써 가상 콘텐츠를 생성하는 단계 -공유된 변환은 3D 메시의 꼭지점들 각각을 변환된 지오메트리의 변환된 꼭지점들에 맵핑하고 맵핑 및 텍스처 맵에 따라 변환된 꼭지점들을 텍스처 데이터로 채우는 단계; 및 디바이스의 이미지 센서에 의해 캡처된 현실 세계 객체의 적어도 하나의 현재 이미지를 처리하여, 현재 이미지 위에 가상 콘텐츠의 뷰를 중첩시키는 단계를 포함하는, 방법.
조항 18. 조항 17에 있어서, 텍스처 맵은 디바이스 내의 저장 매체에, 채워진 데이터 구조로서 저장되고, 방법은 텍스처 맵의 꼭지점들에서의 텍스처 데이터를 현재 카메라 프레임에서 가시적인 모든 꼭지점들에 대한 현재 텍스처 데이터로 대체하는 단계를 추가로 포함하는 방법.
조항 19. 조항 17 또는 조항 18에 있어서, 변환된 꼭지점들을 텍스처 데이터로 채우는 것은, 각각의 변환된 꼭지점에 대해, 3D 메시의 꼭지점이 현재 카메라 프레임에서 가시적인지를 결정하는 단계; 3D 메시의 꼭지점이 현재 카메라 프레임에서 가시적인 경우, 변환된 꼭지점을 대응하는 가시적인 꼭지점에서 추출된 텍스처 데이터로 채우는 단계; 및 3D 메시의 꼭지점이 현재 카메라 프레임에서 가시적이지 않은 경우, 저장 매체 내의 채워진 데이터 구조에 액세스하고, 꼭지점에 대한 캐싱된 텍스처 데이터를 획득하고, 변환된 꼭지점을 캐싱된 텍스처 데이터로 채우는 단계를 포함하는 방법.
조항 20. 명령어들을 포함하는 머신-판독 가능 매체로서, 명령어들은, 디바이스에 의해 수행될 때, 디바이스로 하여금, 실제 3D 구조에 대응하는 텍스처 맵 및 3차원(3D) 지오메트리를 획득하는 단계 -텍스처 맵은 텍스처 데이터로 적어도 부분적으로 채워지고, 3D 지오메트리 상의 포인트들과 텍스처 맵 내의 좌표들 사이에 제1 맵핑이 존재함- ; 디바이스의 위치 측정에서의 변경들을 추적하는 단계; 변환 입력 상태에 진입하는 단계; 변환 입력을 수신하는 단계; 변환 입력에 대응하는 변환을 3D 메시에 적용함으로써 가상 콘텐츠를 생성하고 -변환은 3D 지오메트리 내의 복수의 포인트들로부터 변환된 3D 지오메트리 내의 복수의 변환된 포인트들로의 제2 맵핑임-, 제1 및 제2 맵핑들 및 텍스처 맵에 따라 변환된 포인트들을 텍스처 데이터로 채우는 단계; 및 디바이스의 이미지 센서에 의해 캡처된 현실 세계 객체의 적어도 하나의 현재 이미지를 처리하여, 현재 이미지 위에 가상 콘텐츠의 뷰를 중첩시키는 단계를 포함하는 방법을 수행하게 하는, 머신-판독 가능 매체.
조항 21. 조항 20에 있어서, 디바이스에 의해 수행될 때, 디바이스로 하여금, 실제 3D 구조에 대한 디바이스의 위치 측정을 결정하는 단계; 외부 디바이스와의 통신적인 접속을 확립하는 단계; 결정된 위치 측정에 대응하는 정보를 포함하는 요청 메시지를 송신하는 단계; 및 결정된 위치 측정에 따라 외부 디바이스로부터 텍스처 맵 및 3D 지오메트리를 수신하는 단계의 추가 방법 단계들을 수행하게 하는 추가 명령어들을 포함하는, 비일시적 머신-판독 가능 매체.
조항 22. 조항 20 또는 조항 21에 있어서, 텍스처 맵 및 3D 지오메트리를 획득하는 단계는, 디바이스의 이미지 센서로부터, 실제 3D 구조의 적어도 하나의 이미지를 수신하는 단계; 적어도 하나의 캡처된 이미지에 기초하여 3D 구조에 대응하는 3D 지오메트리를 결정하는 단계 -3D 지오메트리는 3D 구조에서의 각자의 포인트들의 3D 표현을 포함함- ; 적어도 하나의 이미지에서 가시적이고 가려지지 않은 3D 구조의 포인트들에 대한 텍스처 데이터를 추출하기 위해 적어도 하나의 이미지를 처리하는 단계; 및 제1 맵핑에 따라 추출된 텍스처 데이터로 데이터 구조의 적어도 일부를 채우는 단계 -채워진 데이터 구조는 텍스처 맵임- 를 포함하는, 비일시적 머신-판독 가능 매체.

Claims (20)

  1. 클라이언트 디바이스에서 가상 콘텐츠를 디스플레이하기 위한 컴퓨터 구현 방법으로서,
    상기 디바이스의 프로세서에서,
    현실 세계 객체 또는 환경에 대응하는 텍스처 맵 및 3D 메시에 액세스하는 단계;
    상기 디바이스의 위치 측정(localization)에서의 변경들을 추적하는 단계;
    창작 모드(creative mode)에서, 변환 입력을 수신하는 단계;
    상기 변환 입력에 대응하는 변환을 상기 3D 메시에 적용함으로써 가상 콘텐츠를 생성하는 단계 - 상기 변환은 상기 3D 메시의 복수의 꼭지점들(vertices)을 변환된 지오메트리 내의 복수의 변환된 꼭지점들로 맵핑하고, 상기 맵핑 및 상기 텍스처 맵에 따라 상기 변환된 꼭지점들을 텍스처 데이터로 채움(populating) - ; 및
    상기 디바이스의 이미지 센서에 의해 캡처된 상기 현실 세계 객체의 적어도 하나의 현재 이미지를 처리하여, 상기 현재 이미지 위에 상기 가상 콘텐츠의 뷰를 중첩시키는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 텍스처 맵 및 3D 메시에 액세스하는 단계는,
    상기 디바이스의 이미지 센서에 의해 현실 세계 객체의 적어도 하나의 이미지를 캡처하는 단계;
    상기 적어도 하나의 캡처된 이미지에 기초하여 상기 객체에 대응하는 3차원(3D) 지오메트리를 결정하는 단계;
    상기 객체의 각각의 패치들에 대한 텍스처 데이터를 추출하기 위해 상기 적어도 하나의 이미지를 처리하는 단계; 및
    텍스처 데이터를 저장하기 위한 데이터 구조의 적어도 일부를 채우는 단계 - 상기 데이터 구조는 상기 텍스처 데이터를 상기 3D 지오메트리에서의 꼭지점들에 맵핑함 -
    를 포함하고,
    상기 3D 메시는 상기 3D 지오메트리 내의 각각의 꼭지점들의 3D 표현을 포함하고, 상기 텍스처 맵은 채워진 데이터 구조인, 방법.
  3. 제2항에 있어서,
    상기 채워진 데이터 구조를 저장 매체에 저장함으로써 현재 카메라 프레임 내의 모든 꼭지점들에 대한 상기 텍스처 데이터를 캐싱하는 단계
    를 더 포함하는, 방법.
  4. 제3항에 있어서,
    상기 변환된 꼭지점들을 텍스처 데이터로 채우는 것은,
    각각의 변환된 꼭지점에 대해, 상기 현재 카메라 프레임에서 상기 3D 메시의 꼭지점이 가시적인지를 결정하는 단계;
    상기 3D 메시의 상기 꼭지점이 상기 현재 카메라 프레임에서 가시적인 경우, 상기 변환된 꼭지점을 대응하는 가시적 꼭지점에서 추출된 상기 텍스처 데이터로 채우는 단계; 및
    상기 3D 메시의 상기 꼭지점이 상기 현재 카메라 프레임에서 가시적이지 않은 경우, 상기 저장 매체 내의 상기 채워진 데이터 구조에 액세스하고, 상기 꼭지점에 대한 캐싱된 텍스처 데이터를 획득하고, 상기 변환된 꼭지점을 상기 캐싱된 텍스처 데이터로 채우는 단계
    를 포함하는, 방법.
  5. 제1항에 있어서,
    상기 텍스처 맵 및 상기 3D 메시에 액세스하는 단계는,
    상기 현실 세계 객체 또는 환경에 대한 상기 디바이스의 위치 측정을 결정하는 단계; 및
    결정된 위치 측정에 따라 외부 디바이스로부터 상기 텍스처 맵 및 상기 3D 메시를 검색하는 단계 - 상기 외부 디바이스는 상기 디바이스와 통신적으로 접속됨 -
    를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 디바이스의 위치 측정은 상기 디바이스의 포지셔닝 시스템에 의해 결정되는, 방법.
  7. 제6항에 있어서,
    상기 포지셔닝 시스템은 저장 매체 및 상기 디바이스의 상기 적어도 하나의 프로세서에 결합된 적어도 제1 포지셔닝 하드웨어 모듈을 포함하는, 방법.
  8. 제7항에 있어서,
    상기 제1 포지셔닝 하드웨어 모듈은 글로벌 포지셔닝 시스템(global positioning system)(GPS) 모듈인, 방법.
  9. 제1항에 있어서,
    상기 디바이스의 위치 측정에서의 변경들을 추적하는 단계는,
    상기 현실 세계 객체의 적어도 하나의 현재 이미지를 캡처하는 단계;
    상기 적어도 하나의 현재 이미지에서 피처들을 식별하는 단계;
    식별된 피처들의 위치 및 배향의 변경들을 추적하는 단계; 및
    상기 객체에 대한 실시간 카메라 포즈를 생성하기 위해 상기 식별된 피처들의 위치 측정 및 배향의 검출된 변화들을 처리하는 단계
    를 포함하는, 방법.
  10. 제1항에 있어서,
    상기 프로세서는 그래픽 프로세서 유닛(GPU)인, 방법.
  11. 제1항에 있어서,
    제1 위치 추정을 획득하는 단계는 사용자 입력 위치 추정을 수신하는 단계를 포함하는, 방법.
  12. 제1항에 있어서,
    상기 3D 메시 내의 적어도 하나의 꼭지점은 상기 변환된 지오메트리 내의 둘 이상의 변환된 꼭지점들에 맵핑되는, 방법.
  13. 제1항에 있어서,
    상기 변환은 반사, 변형(deformation), 복제, 또는 공간 병진(spatial translation) 중 적어도 하나인, 방법.
  14. 제1항에 있어서,
    상기 텍스처 맵 및 3D 메시를 액세스하는 단계는,
    제2 디바이스로부터 상기 텍스처 맵 및 3D 메시를 수신하는 단계를 포함하는, 방법.
  15. 클라이언트 디바이스에서 가상 콘텐츠를 디스플레이하기 위한 컴퓨터 구현 방법으로서,
    상기 디바이스의 프로세서에서,
    현실 세계 객체 또는 환경에 대응하는 3D 메시 및 텍스처 맵을 획득하는 단계;
    상기 현실 세계 객체 또는 환경에 대한 상기 디바이스의 위치 측정을 결정하는 단계;
    상기 디바이스의 위치 측정에서의 변경들을 추적하는 단계;
    공유 모드에서, 소스 디바이스로부터 변환 정보를 수신하는 단계;
    상기 변환 정보에 대응하는 공유된 변환을 상기 3D 메시에 적용함으로써 가상 콘텐츠를 생성하는 단계 - 상기 공유된 변환은 상기 3D 메시의 꼭지점들 각각을 변환된 지오메트리의 변환된 꼭지점들에 맵핑하고, 상기 맵핑 및 상기 텍스처 맵에 따라 상기 변환된 꼭지점들을 텍스처 데이터로 채움 - ; 및
    상기 디바이스의 이미지 센서에 의해 캡처된 상기 현실 세계 객체의 적어도 하나의 현재 이미지를 처리하여, 상기 현재 이미지 위에 상기 가상 콘텐츠의 뷰를 중첩시키는 단계
    를 포함하는, 방법.
  16. 제15항에 있어서,
    상기 텍스처 맵은 상기 디바이스의 저장 매체 내에 채워진 데이터 구조로서 저장되고,
    상기 방법은 상기 텍스처 맵의 꼭지점들에서의 상기 텍스처 데이터를 현재 카메라 프레임에서 가시적인 모든 꼭지점들에 대한 현재 텍스처 데이터로 대체하는 단계를 더 포함하는, 방법.
  17. 제16항에 있어서,
    상기 변환된 꼭지점들을 텍스처 데이터로 채우는 것은,
    각각의 변환된 꼭지점에 대해, 상기 현재 카메라 프레임에서 상기 3D 메시의 꼭지점이 가시적인지를 결정하는 단계;
    상기 3D 메시의 상기 꼭지점이 상기 현재 카메라 프레임에서 가시적인 경우, 상기 변환된 꼭지점을 대응하는 가시적 꼭지점에서 추출된 상기 텍스처 데이터로 채우는 단계; 및
    상기 3D 메시의 상기 꼭지점이 상기 현재 카메라 프레임에서 가시적이지 않은 경우, 상기 저장 매체 내의 상기 채워진 데이터 구조에 액세스하고, 상기 꼭지점에 대한 캐싱된 텍스처 데이터를 획득하고, 상기 변환된 꼭지점을 상기 캐싱된 텍스처 데이터로 채우는 단계
    를 포함하는, 방법.
  18. 명령어들을 포함하는 비일시적 머신-판독 가능 매체로서,
    상기 명령어들은, 디바이스에 의해 수행될 때, 상기 디바이스로 하여금,
    실제 3D 구조에 대응하는 텍스처 맵 및 3차원(3D) 지오메트리를 획득하는 단계 - 상기 텍스처 맵은 텍스처 데이터로 적어도 부분적으로 채워지고, 상기 3D 지오메트리 상의 포인트들과 상기 텍스처 맵 내의 좌표들 사이에 제1 맵핑이 존재함 - ;
    상기 디바이스의 위치 측정에서의 변경들을 추적하는 단계;
    변환 입력 상태에 진입하는 단계;
    변환 입력을 수신하는 단계;
    상기 변환 입력에 대응하는 변환을 상기 3D 지오메트리에 적용함으로써 가상 콘텐츠를 생성하고 - 상기 변환은 상기 3D 지오메트리 내의 복수의 포인트들로부터 변환된 3D 지오메트리 내의 복수의 변환된 포인트들로의 제2 맵핑임 - , 상기 제1 및 제2 맵핑들 및 상기 텍스처 맵에 따라 상기 변환된 포인트들을 텍스처 데이터로 채우는 단계; 및
    상기 디바이스의 이미지 센서에 의해 캡처된 상기 현실 세계 객체의 적어도 하나의 현재 이미지를 처리하여, 상기 현재 이미지 위에 상기 가상 콘텐츠의 뷰를 중첩시키는 단계
    를 포함하는 방법을 수행하게 하는, 비일시적 머신-판독 가능 매체.
  19. 제18항에 있어서,
    디바이스에 의해 수행될 때, 상기 디바이스로 하여금,
    상기 실제 3D 구조에 대한 상기 디바이스의 위치 측정을 결정하는 단계;
    외부 디바이스와의 통신 접속을 확립하는 단계;
    결정된 위치 측정에 대응하는 정보를 포함하는 요청 메시지를 송신하는 단계; 및
    상기 결정된 위치 측정에 따라 상기 외부 디바이스로부터 상기 텍스처 맵 및 상기 3D 지오메트리를 수신하는 단계
    의 추가 방법 단계들을 수행하게 하는, 추가 명령어들을 포함하는 비일시적 머신-판독 가능 매체.
  20. 제18항에 있어서,
    상기 텍스처 맵 및 3D 지오메트리를 획득하는 단계는,
    상기 디바이스의 이미지 센서로부터, 상기 실제 3D 구조의 적어도 하나의 이미지를 수신하는 단계;
    상기 적어도 하나의 캡처된 이미지에 기초하여 상기 3D 구조에 대응하는 3D 지오메트리를 결정하는 단계 - 상기 3D 지오메트리는 상기 3D 구조에서의 각자의 포인트들의 3D 표현을 포함함 - ;
    상기 적어도 하나의 이미지에서 가시적이고 가려지지 않은 상기 3D 구조의 포인트들에 대한 텍스처 데이터를 추출하기 위해 상기 적어도 하나의 이미지를 처리하는 단계; 및
    상기 제1 맵핑에 따라 상기 추출된 텍스처 데이터로 데이터 구조의 적어도 일부를 채우는 단계 - 채워진 데이터 구조는 상기 텍스처 맵임 -
    를 포함하는, 비일시적 머신-판독 가능 매체.
KR1020217027590A 2019-02-01 2020-01-30 증강 현실 시스템 KR102534637B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237016588A KR20230074618A (ko) 2019-02-01 2020-01-30 증강 현실 시스템

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/265,382 US11972529B2 (en) 2019-02-01 2019-02-01 Augmented reality system
US16/265,382 2019-02-01
PCT/US2020/015868 WO2020160261A1 (en) 2019-02-01 2020-01-30 Augmented reality system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237016588A Division KR20230074618A (ko) 2019-02-01 2020-01-30 증강 현실 시스템

Publications (2)

Publication Number Publication Date
KR20210121182A true KR20210121182A (ko) 2021-10-07
KR102534637B1 KR102534637B1 (ko) 2023-05-30

Family

ID=69771057

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237016588A KR20230074618A (ko) 2019-02-01 2020-01-30 증강 현실 시스템
KR1020217027590A KR102534637B1 (ko) 2019-02-01 2020-01-30 증강 현실 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237016588A KR20230074618A (ko) 2019-02-01 2020-01-30 증강 현실 시스템

Country Status (5)

Country Link
US (1) US11972529B2 (ko)
EP (1) EP3918578A1 (ko)
KR (2) KR20230074618A (ko)
CN (1) CN113396443A (ko)
WO (1) WO2020160261A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11949527B2 (en) 2022-04-25 2024-04-02 Snap Inc. Shared augmented reality experience in video chat
WO2024085455A1 (ko) * 2022-10-19 2024-04-25 네이버랩스 주식회사 객체 포즈 보정 방법 및 시스템

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
US11206294B2 (en) * 2020-03-31 2021-12-21 Konica Minolta Business Solutions U.S.A., Inc. Method for separating local and remote content in a camera-projector based collaborative system
US20220051372A1 (en) * 2020-08-12 2022-02-17 Niantic, Inc. Feature matching using features extracted from perspective corrected image
CN111899590B (zh) * 2020-08-25 2022-03-11 成都合纵连横数字科技有限公司 一种仿真操作培训过程的混合现实观摩方法
US11360733B2 (en) 2020-09-10 2022-06-14 Snap Inc. Colocated shared augmented reality without shared backend
US11816801B1 (en) 2020-10-16 2023-11-14 Splunk Inc. Codeless anchor generation for three-dimensional object models
US11170582B1 (en) * 2021-05-04 2021-11-09 Dapper Labs Inc. System and method for creating, managing, and displaying limited edition, serialized 3D digital collectibles with visual indicators of rarity classifications
US11908083B2 (en) 2021-08-31 2024-02-20 Snap Inc. Deforming custom mesh based on body mesh
US11663792B2 (en) 2021-09-08 2023-05-30 Snap Inc. Body fitted accessory with physics simulation
US11798238B2 (en) 2021-09-14 2023-10-24 Snap Inc. Blending body mesh into external mesh
US11836866B2 (en) * 2021-09-20 2023-12-05 Snap Inc. Deforming real-world object using an external mesh
US11790614B2 (en) 2021-10-11 2023-10-17 Snap Inc. Inferring intent from pose and speech input
US11836862B2 (en) 2021-10-11 2023-12-05 Snap Inc. External mesh with vertex attributes
US11763481B2 (en) 2021-10-20 2023-09-19 Snap Inc. Mirror-based augmented reality experience
US20240020935A1 (en) * 2022-07-15 2024-01-18 The Boeing Company Modeling system for 3d virtual model

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120113143A1 (en) * 2010-11-08 2012-05-10 Suranjit Adhikari Augmented reality system for position identification
KR20150107063A (ko) * 2014-03-13 2015-09-23 손우람 얼굴 성형 시뮬레이션을 이용한 3차원 스캔 시스템

Family Cites Families (723)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US666223A (en) 1896-12-01 1901-01-15 Alfred Shedlock Refrigerating apparatus.
US4581634A (en) 1982-11-18 1986-04-08 Williams Jarvis L Security apparatus for controlling access to a predetermined area
US5072412A (en) 1987-03-25 1991-12-10 Xerox Corporation User interface with multiple workspaces for sharing display system objects
US4975690A (en) 1988-11-07 1990-12-04 Ibm Corporation Method for concurrent data entry and manipulation in multiple applications
JP2765665B2 (ja) 1991-08-01 1998-06-18 富士通株式会社 タイポグラフィカル情報付き文書の翻訳装置
JPH0644339A (ja) 1992-03-06 1994-02-18 Hewlett Packard Co <Hp> 図形オブジェクト操作システム及び方法
US5493692A (en) 1993-12-03 1996-02-20 Xerox Corporation Selective delivery of electronic messages in a multiple computer system based on context and environment of a user
FI98694C (fi) 1994-08-23 1997-07-25 Nokia Telecommunications Oy Sijainninpäivitys matkaviestinjärjestelmässä
US8799461B2 (en) 1994-11-29 2014-08-05 Apple Inc. System for collecting, analyzing, and transmitting information relevant to transportation networks
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
AU4902096A (en) 1995-02-01 1996-08-21 Freemark Communications, Inc. System and method for providing end-user free email
US5699444A (en) 1995-03-31 1997-12-16 Synthonics Incorporated Methods and apparatus for using image data to determine camera location and orientation
US5978773A (en) 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
US5913040A (en) 1995-08-22 1999-06-15 Backweb Ltd. Method and apparatus for transmitting and displaying information between a remote network and a local computer
US6049711A (en) 1995-08-23 2000-04-11 Teletrac, Inc. Method and apparatus for providing location-based information services
US5794210A (en) 1995-12-11 1998-08-11 Cybergold, Inc. Attention brokerage
US5757383A (en) 1996-05-10 1998-05-26 Apple Computer, Inc. Method and system for highlighting typography along a geometric path
EP0814611B1 (de) 1996-06-17 2002-08-28 Siemens Aktiengesellschaft Kommunikationssystem und Verfahren zur Aufnahme und Verwaltung digitaler Bilder
US20030164856A1 (en) 1996-06-28 2003-09-04 Randy Prager Desktop, stream-based, information management system
US6216141B1 (en) 1996-12-06 2001-04-10 Microsoft Corporation System and method for integrating a document into a desktop window on a client computer
US6456852B2 (en) 1997-01-08 2002-09-24 Trafficmaster Usa, Inc. Internet distributed real-time wireless location database
US6285987B1 (en) 1997-01-22 2001-09-04 Engage, Inc. Internet advertising system
JP3610718B2 (ja) 1997-01-31 2005-01-19 富士通株式会社 電子会議システム
JPH10268959A (ja) 1997-03-24 1998-10-09 Canon Inc 情報処理装置及びその方法
CA2202106C (en) 1997-04-08 2002-09-17 Mgi Software Corp. A non-timeline, non-linear digital multimedia composition method and system
JP3783331B2 (ja) 1997-05-14 2006-06-07 ブラザー工業株式会社 メール送信システム、メール受信システムおよび記録媒体
US6158044A (en) 1997-05-21 2000-12-05 Epropose, Inc. Proposal based architecture system
BR9806000A (pt) 1997-06-17 2000-01-25 Purdue Pharma Lp Documento autodestrutivo e sistema de envio de mensagens por e-mail.
US6029141A (en) 1997-06-27 2000-02-22 Amazon.Com, Inc. Internet-based customer referral system
US6009190A (en) * 1997-08-01 1999-12-28 Microsoft Corporation Texture map construction method and apparatus for displaying panoramic image mosaics
US6622174B1 (en) 1997-08-15 2003-09-16 Sony Corporation System for sending, converting, and adding advertisements to electronic messages sent across a network
FI973945A (fi) 1997-10-13 1999-04-14 Nokia Telecommunications Oy Lyhytsanomia välittävä tiedonsiirtojärjestelmä
JPH11120487A (ja) 1997-10-21 1999-04-30 Toyota Motor Corp 移動体端末装置、情報提供装置、情報提供システム、情報提供方法及び移動体端末装置のためのプログラムを記録した媒体
JPH11154240A (ja) 1997-11-20 1999-06-08 Nintendo Co Ltd 取込み画像を用いて画像を作成するための画像作成装置
US6014090A (en) 1997-12-22 2000-01-11 At&T Corp. Method and apparatus for delivering local information to travelers
US5999932A (en) 1998-01-13 1999-12-07 Bright Light Technologies, Inc. System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing
US6012098A (en) 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
US6484196B1 (en) 1998-03-20 2002-11-19 Advanced Web Solutions Internet messaging system and method for use in computer networks
US20020106199A1 (en) 1998-05-27 2002-08-08 Osamu Ikeda Image signal recording/reproduction apparatus, method employed therein, and image signal recording apparatus
US7173651B1 (en) 1998-06-02 2007-02-06 Knowles Andrew T Apparatus and system for prompt digital photo delivery and archival
AU4549099A (en) 1998-06-05 1999-12-20 Creative Internet Concepts Llc System for inserting background advertising into web page presentation or e-mailmessages
US6205432B1 (en) 1998-06-05 2001-03-20 Creative Internet Concepts, Llc Background advertising system
US6698020B1 (en) 1998-06-15 2004-02-24 Webtv Networks, Inc. Techniques for intelligent video ad insertion
JP2002524775A (ja) 1998-09-04 2002-08-06 レゴ エー/エス 電子音楽を作曲しグラフィック情報を生成するための方法およびシステム
US6757713B1 (en) 1998-09-23 2004-06-29 John W. L. Ogilvie Method for including a self-removing indicator in a self-removing message
US6701347B1 (en) 1998-09-23 2004-03-02 John W. L. Ogilvie Method for including a self-removing code in a self-removing email message that contains an advertisement
EP1116126A4 (en) 1998-09-23 2002-03-27 John W L Ogilvie SELF-DELETING ELECTRONIC MAIL
US6324569B1 (en) 1998-09-23 2001-11-27 John W. L. Ogilvie Self-removing email verified or designated as such by a message distributor for the convenience of a recipient
US6643684B1 (en) 1998-10-08 2003-11-04 International Business Machines Corporation Sender- specified delivery customization
US6167435A (en) 1998-10-30 2000-12-26 Netcreations, Inc. Double opt-in™ method and system for verifying subscriptions to information distribution services
US6334149B1 (en) 1998-12-22 2001-12-25 International Business Machines Corporation Generic operating system usage in a remote initial program load environment
KR19990073076A (ko) 1999-03-30 1999-10-05 주진용 인터넷전자우편및채팅을이용한광고방법
US6832222B1 (en) 1999-06-24 2004-12-14 International Business Machines Corporation Technique for ensuring authorized access to the content of dynamic web pages stored in a system cache
US7240199B2 (en) 2000-12-06 2007-07-03 Rpost International Limited System and method for verifying delivery and integrity of electronic messages
US6449657B2 (en) 1999-08-06 2002-09-10 Namezero.Com, Inc. Internet hosting system
US6549768B1 (en) 1999-08-24 2003-04-15 Nokia Corp Mobile communications matching system
AU7346800A (en) 1999-09-02 2001-03-26 Automated Business Companies Communication and proximity authorization systems
US7149893B1 (en) 1999-09-07 2006-12-12 Poofaway.Com, Inc. System and method for enabling the originator of an electronic mail message to preset an expiration time, date, and/or event, and to control processing or handling by a recipient
US6487601B1 (en) 1999-09-30 2002-11-26 International Business Machines Corporation Dynamic mac allocation and configuration
US6684257B1 (en) 1999-10-15 2004-01-27 International Business Machines Corporation Systems, methods and computer program products for validating web content tailored for display within pervasive computing devices
DE60010915T2 (de) 1999-10-18 2005-05-25 British Telecommunications P.L.C. Persönliches mobiles kommunikationsgerät
US6724403B1 (en) 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6631463B1 (en) 1999-11-08 2003-10-07 International Business Machines Corporation Method and apparatus for patching problematic instructions in a microprocessor using software interrupts
US6525731B1 (en) * 1999-11-09 2003-02-25 Ibm Corporation Dynamic view-dependent texture mapping
US6836792B1 (en) 1999-12-03 2004-12-28 Trend Micro Incorporated Techniques for providing add-on services for an email system
US6981040B1 (en) 1999-12-28 2005-12-27 Utopy, Inc. Automatic, personalized online information and product services
US20030001846A1 (en) 2000-01-03 2003-01-02 Davis Marc E. Automatic personalized media creation system
US7237002B1 (en) 2000-01-04 2007-06-26 International Business Machines Corporation System and method for dynamic browser management of web site
US8527345B2 (en) 2000-01-06 2013-09-03 Anthony Richard Rothschild System and method for adding an advertisement to a personal communication
US8645211B2 (en) 2000-01-06 2014-02-04 Anthony R. Rothschild System and method for adding an advertisement to a personal communication
US6636247B1 (en) 2000-01-31 2003-10-21 International Business Machines Corporation Modality advertisement viewing system and method
US6523008B1 (en) 2000-02-18 2003-02-18 Adam Avrunin Method and system for truth-enabling internet communications via computer voice stress analysis
NO314530B1 (no) 2000-02-25 2003-03-31 Ericsson Telefon Ab L M Trådlös reservering, innsjekking, tilgangskontroll, utsjekking og betaling
US7728848B2 (en) 2000-03-28 2010-06-01 DG FastChannel, Inc. Tools for 3D mesh and texture manipulation
US6684250B2 (en) 2000-04-03 2004-01-27 Quova, Inc. Method and apparatus for estimating a geographic location of a networked entity
AU2001253161A1 (en) 2000-04-04 2001-10-15 Stick Networks, Inc. Method and apparatus for scheduling presentation of digital content on a personal communication device
US7124164B1 (en) 2001-04-17 2006-10-17 Chemtob Helen J Method and apparatus for providing group interaction via communications networks
US6684238B1 (en) 2000-04-21 2004-01-27 International Business Machines Corporation Method, system, and program for warning an email message sender that the intended recipient's mailbox is unattended
US7663652B1 (en) 2000-05-03 2010-02-16 Morris Reese Enhanced electronic mail delivery system
US6542749B2 (en) 2000-06-10 2003-04-01 Telcontar Method and system for connecting proximately located mobile users based on compatible attributes
US6720860B1 (en) 2000-06-30 2004-04-13 International Business Machines Corporation Password protection using spatial and temporal variation in a high-resolution touch sensitive display
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US6968179B1 (en) 2000-07-27 2005-11-22 Microsoft Corporation Place specific buddy list services
US6618593B1 (en) 2000-09-08 2003-09-09 Rovingradar, Inc. Location dependent user matching system
US6700506B1 (en) 2000-09-14 2004-03-02 Everyday Wireless, Inc. Bus arrival notification system and methods related thereto
US6959324B1 (en) 2000-09-28 2005-10-25 International Business Machines Corporation Method and apparatus for adding data attributes to e-mail messages to enhance the analysis of delivery failures
US6754621B1 (en) 2000-10-06 2004-06-22 Andrew Cunningham Asynchronous hypertext messaging system and method
US8707185B2 (en) 2000-10-10 2014-04-22 Addnclick, Inc. Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content
US6904408B1 (en) 2000-10-19 2005-06-07 Mccarthy John Bionet method, system and personalized web content manager responsive to browser viewers' psychological preferences, behavioral responses and physiological stress indicators
JP2002132647A (ja) 2000-10-19 2002-05-10 Kizna Corp 電子掲示板及び電子掲示板システム
US6970907B1 (en) 2000-11-16 2005-11-29 International Business Machines Corporation Method and system for e-mail chain group discussions
US6774919B2 (en) 2000-12-06 2004-08-10 Microsoft Corporation Interface and related methods for reducing source accesses in a development system
GB0029880D0 (en) 2000-12-07 2001-01-24 Sony Uk Ltd Video and audio information processing
US7870592B2 (en) 2000-12-14 2011-01-11 Intertainer, Inc. Method for interactive video content programming
US6668173B2 (en) 2000-12-15 2003-12-23 Motorola, Inc. Instant message user location tracking system
US20020087631A1 (en) 2001-01-03 2002-07-04 Vikrant Sharma Email-based advertising system
GB2371948B (en) 2001-02-02 2005-09-14 Nokia Mobile Phones Ltd Mobile telecommunications device
US7299416B2 (en) 2001-02-15 2007-11-20 Denny Jaeger Metro for creating and using linear time line and play rectangle
US6529136B2 (en) 2001-02-28 2003-03-04 International Business Machines Corporation Group notification system and method for implementing and indicating the proximity of individuals or groups to other individuals or groups
US6446004B1 (en) 2001-02-28 2002-09-03 International Business Machines Corporation System and method for implementing proximity or location driven activities
US7042470B2 (en) 2001-03-05 2006-05-09 Digimarc Corporation Using embedded steganographic identifiers in segmented areas of geographic images and characteristics corresponding to imagery data derived from aerial platforms
US6636855B2 (en) 2001-03-09 2003-10-21 International Business Machines Corporation Method, system, and program for accessing stored procedures in a message broker
US6782529B2 (en) 2001-03-29 2004-08-24 International Business Machines Corporation Method, apparatus and computer program product for editing in a translation verification test procedure
JP2002351782A (ja) 2001-05-23 2002-12-06 Nec Corp 伝言板システム及びそれに用いる伝言情報蓄積・検索方法
US7280658B2 (en) 2001-06-01 2007-10-09 International Business Machines Corporation Systems, methods, and computer program products for accelerated dynamic protection of data
US8195745B2 (en) 2001-06-07 2012-06-05 International Business Machines Corporation Automatic download of web content in response to an embedded link in an electronic mail message
JP3672245B2 (ja) 2001-06-15 2005-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーション メール発信システム、メールサーバ、メール転送システム、メール転送方法、メール発信方法、メール配信方法、プログラム
US20050064926A1 (en) 2001-06-21 2005-03-24 Walker Jay S. Methods and systems for replaying a player's experience in a casino environment
JP3994692B2 (ja) 2001-07-04 2007-10-24 ヤマハ株式会社 音楽情報提供システム及び方法
US7188143B2 (en) 2001-07-06 2007-03-06 Yahoo! Inc. Messenger-controlled applications in an instant messaging environment
US7133900B1 (en) 2001-07-06 2006-11-07 Yahoo! Inc. Sharing and implementing instant messaging environments
US7380279B2 (en) 2001-07-16 2008-05-27 Lenel Systems International, Inc. System for integrating security and access for facilities and information systems
US6965785B2 (en) 2001-07-17 2005-11-15 Wildseed Ltd. Cooperative wireless luminescent imagery
US7765490B2 (en) 2001-07-18 2010-07-27 International Business Machines Corporation Method and system for software applications using a tiled user interface
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US20030040899A1 (en) 2001-08-13 2003-02-27 Ogilvie John W.L. Tools and techniques for reader-guided incremental immersion in a foreign language text
JP4440503B2 (ja) 2001-09-20 2010-03-24 富士通株式会社 情報一覧作成装置及びそのプログラム
US7363258B2 (en) 2001-10-01 2008-04-22 Qurio Holdings, Inc. Method and system for distributing affiliate images in a peer-to-peer (P2P) photosharing network through affiliate branding
US7068309B2 (en) 2001-10-09 2006-06-27 Microsoft Corp. Image exchange with image annotation
RU2316152C2 (ru) 2001-10-17 2008-01-27 Нокиа Корпорейшн Способ обеспечения информации о местоположении
US20030110503A1 (en) 2001-10-25 2003-06-12 Perkes Ronald M. System, method and computer program product for presenting media to a user in a media on demand framework
US7203380B2 (en) 2001-11-16 2007-04-10 Fuji Xerox Co., Ltd. Video production and compaction with collage picture frame user interface
US7610358B2 (en) 2001-11-26 2009-10-27 Time Warner Cable System and method for effectively presenting multimedia information materials
US20030101044A1 (en) 2001-11-28 2003-05-29 Mark Krasnov Word, expression, and sentence translation management tool
US7240089B2 (en) 2001-12-10 2007-07-03 International Business Machines Corporation Message queuing method, system, and program product with reusable pooling component
US20100098702A1 (en) 2008-09-16 2010-04-22 Longgui Wang Method of treating androgen independent prostate cancer
US7426534B2 (en) 2001-12-19 2008-09-16 International Business Machines Corporation Method and system for caching message fragments using an expansion attribute in a fragment link tag
AU2002366902A1 (en) 2001-12-21 2003-07-09 Nokia Corporation Location-based novelty index value and recommendation system and method
US7356564B2 (en) 2002-01-09 2008-04-08 At&T Delaware Intellectual Property, Inc. Method, system, and apparatus for providing self-destructing electronic mail messages
US7495689B2 (en) 2002-01-15 2009-02-24 Pelco, Inc. Multiple simultaneous language display system and method
US7020494B2 (en) 2002-02-07 2006-03-28 Sap Aktiengesellschaft Integrating contextual information into mobile enterprise applications
US7027124B2 (en) 2002-02-28 2006-04-11 Fuji Xerox Co., Ltd. Method for automatically producing music videos
US7227937B1 (en) 2002-03-19 2007-06-05 Nortel Networks Limited Monitoring natural interaction for presence detection
US6658095B1 (en) 2002-03-19 2003-12-02 Nortel Networks Limited Customized presence information delivery
US7512649B2 (en) 2002-03-22 2009-03-31 Sun Microsytems, Inc. Distributed identities
US20030217106A1 (en) 2002-03-25 2003-11-20 Eytan Adar System and method for profiling clients within a system for harvesting community knowledge
US7305436B2 (en) 2002-05-17 2007-12-04 Sap Aktiengesellschaft User collaboration through discussion forums
US7199793B2 (en) * 2002-05-21 2007-04-03 Mok3, Inc. Image-based modeling and photo editing
US7120622B2 (en) 2002-06-10 2006-10-10 Xerox Corporation Authoring tools, including content-driven treetables, for fluid text
US20060026067A1 (en) 2002-06-14 2006-02-02 Nicholas Frank C Method and system for providing network based target advertising and encapsulation
US7570273B1 (en) 2002-08-29 2009-08-04 Nvidia Corporation Accelerated rotation for displaying an image
US7349921B2 (en) 2002-09-27 2008-03-25 Walgreen Co. Information distribution system
US6970088B2 (en) 2002-10-17 2005-11-29 Compex, Inc. Method for tracking and processing passengers and their transported articles
US7278168B1 (en) 2002-11-27 2007-10-02 Adobe Systems Incorporated Dynamic enabling of functionality in electronic document readers
US7787886B2 (en) 2003-02-24 2010-08-31 Invisitrack, Inc. System and method for locating a target using RFID
US8423042B2 (en) 2004-02-24 2013-04-16 Invisitrack, Inc. Method and system for positional finding using RF, continuous and/or combined movement
US7411493B2 (en) 2003-03-01 2008-08-12 User-Centric Ip, L.P. User-centric event reporting
US6978147B2 (en) 2003-03-19 2005-12-20 Motorola, Inc. Wireless messaging device with selectable scroll display and message pre-fetch
GB2399928A (en) 2003-03-24 2004-09-29 Nec Technologies Baby or child monitor incorporating mobile telephone
US7458081B2 (en) 2003-03-27 2008-11-25 Microsoft Corporation Configurable event handling for an interactive design environment
US6825764B2 (en) 2003-03-28 2004-11-30 Sony Corporation User programmable portable proximity detector
GB0308991D0 (en) 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
US20040243531A1 (en) 2003-04-28 2004-12-02 Dean Michael Anthony Methods and systems for representing, using and displaying time-varying information on the Semantic Web
US20040243688A1 (en) 2003-05-30 2004-12-02 Wugofski Theodore D. Inbox caching of messages on a mobile terminal
US7315832B2 (en) 2003-06-18 2008-01-01 Copart, Inc. Online bidding system
US7085571B2 (en) 2003-08-26 2006-08-01 Kyocera Wireless Corp. System and method for using geographical location to determine when to exit an existing wireless communications coverage network
KR100754704B1 (ko) 2003-08-29 2007-09-03 삼성전자주식회사 위치에 따라 설정 변경이 가능한 이동통신 단말기 및 방법
US20050052339A1 (en) 2003-09-09 2005-03-10 Sprague Linda J. Electroluminescent programmable signs for use onboard an aircraft
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
JP2005115896A (ja) 2003-10-10 2005-04-28 Nec Corp 通信装置及び通信方法
CN1875361A (zh) 2003-10-30 2006-12-06 皇家飞利浦电子股份有限公司 预测输入的方法
US7191221B2 (en) 2003-10-30 2007-03-13 International Business Machines Corporation Method for managing electronic mail receipts using audio-visual notification enhancements
US7797529B2 (en) 2003-11-10 2010-09-14 Yahoo! Inc. Upload security scheme
US20050104976A1 (en) 2003-11-17 2005-05-19 Kevin Currans System and method for applying inference information to digital camera metadata to identify digital picture content
US7451190B2 (en) 2003-11-26 2008-11-11 Yahoo! Inc. Associating multiple visibility profiles with a user of a real-time communication system
US20050119936A1 (en) 2003-12-02 2005-06-02 Robert Buchanan Sponsored media content
US7394345B1 (en) 2003-12-08 2008-07-01 At&T Corp. Arrangement for indicating presence of individual
US20050122405A1 (en) 2003-12-09 2005-06-09 Voss James S. Digital cameras and methods using GPS/time-based and/or location data to provide scene selection, and dynamic illumination and exposure adjustment
US7535890B2 (en) 2003-12-18 2009-05-19 Ayalogic, Inc. System and method for instant VoIP messaging
CN1886753A (zh) 2003-12-19 2006-12-27 富士通株式会社 现状信息处理方法和程序、终端装置、计算机及现状信息管理服务器
US8418067B2 (en) 2004-01-15 2013-04-09 Microsoft Corporation Rich profile communication with notifications
US7478402B2 (en) 2004-02-12 2009-01-13 Microsoft Corporation Configurable message pipelines
US7904510B2 (en) 2004-02-23 2011-03-08 Microsoft Corporation Systems and methods for managing discussion threads based on ratings
US8739071B2 (en) 2004-02-27 2014-05-27 Blackberry Limited System and method for message display and management
US20050193340A1 (en) 2004-03-01 2005-09-01 Amburgey James T. Apparatus and method regarding dynamic icons on a graphical user interface
US7206568B2 (en) 2004-03-15 2007-04-17 Loc-Aid Technologies, Inc. System and method for exchange of geographic location and user profiles over a wireless network
US7720554B2 (en) 2004-03-29 2010-05-18 Evolution Robotics, Inc. Methods and apparatus for position estimation using reflected light sources
US7546554B2 (en) 2004-03-31 2009-06-09 Fuji Xerox Co., Ltd. Systems and methods for browsing multimedia content on small mobile devices
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US7607096B2 (en) 2004-05-01 2009-10-20 Microsoft Corporation System and method for a user interface directed to discovering and publishing presence information on a network
US8041701B2 (en) 2004-05-04 2011-10-18 DG FastChannel, Inc Enhanced graphical interfaces for displaying visual data
US7593740B2 (en) 2004-05-12 2009-09-22 Google, Inc. Location-based social software for mobile devices
US8238947B2 (en) 2004-05-27 2012-08-07 France Telecom Method and installation for transmitting a message with predetermined duration of validity addressed to a subscriber terminal
US8287380B2 (en) 2006-09-01 2012-10-16 Igt Intelligent wireless mobile device for use with casino gaming table systems
US8872843B2 (en) 2004-07-02 2014-10-28 Samsung Electronics Co., Ltd. Method for editing images in a mobile terminal
US7519670B2 (en) 2004-08-12 2009-04-14 International Business Machines Corporation Method for disappearing ink for text messaging
WO2006028108A1 (ja) 2004-09-07 2006-03-16 Nec Corporation 画像処理システム及びその方法と、それに用いられる端末及びサーバ
US20060058953A1 (en) 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US8745132B2 (en) 2004-09-10 2014-06-03 Silver State Intellectual Technologies, Inc. System and method for audio and video portable publishing system
US7496347B2 (en) 2004-11-12 2009-02-24 Velocita Wireless Llc Method and apparatus for providing secure wireless communication
CN101065750A (zh) 2004-11-24 2007-10-31 皇家飞利浦电子股份有限公司 基于音频选择的视频剪辑记录和重放
US7456872B2 (en) 2004-11-29 2008-11-25 Rothschild Trust Holdings, Llc Device and method for embedding and retrieving information in digital images
US7522548B2 (en) 2004-12-08 2009-04-21 Motorola, Inc. Providing presence information in a communication network
US8301159B2 (en) 2004-12-31 2012-10-30 Nokia Corporation Displaying network objects in mobile devices based on geolocation
JP4333599B2 (ja) 2005-02-15 2009-09-16 ソニー株式会社 情報処理装置、情報処理方法
US7801954B2 (en) 2005-02-25 2010-09-21 Microsoft Corporation Method and system for providing expanded presence information when a user is offline
US7424267B2 (en) 2005-03-07 2008-09-09 Broadcom Corporation Automatic resource availability using Bluetooth
US7423580B2 (en) 2005-03-14 2008-09-09 Invisitrack, Inc. Method and system of three-dimensional positional finding
US7650231B2 (en) 2005-04-25 2010-01-19 The Boeing Company AGTM airborne surveillance
US7349768B2 (en) 2005-04-25 2008-03-25 The Boeing Company Evacuation route planning tool
US7454442B2 (en) 2005-04-25 2008-11-18 The Boeing Company Data fusion for advanced ground transportation system
US8204052B2 (en) 2005-05-02 2012-06-19 Tekelec, Inc. Methods, systems, and computer program products for dynamically coordinating collection and distribution of presence information
US20060252438A1 (en) 2005-05-04 2006-11-09 Ansamaa Jarkko H Determining user equipment time zones for time-based service fulfillment
US7848765B2 (en) 2005-05-27 2010-12-07 Where, Inc. Location-based services
US7737965B2 (en) 2005-06-09 2010-06-15 Honeywell International Inc. Handheld synthetic vision device
US20060287878A1 (en) 2005-06-20 2006-12-21 Engage Corporation System and Method for Facilitating the Introduction of Compatible Individuals
US8396456B2 (en) 2005-06-28 2013-03-12 Avaya Integrated Cabinet Solutions Inc. Visual voicemail management
US20070004426A1 (en) 2005-06-30 2007-01-04 Pfleging Gerald W Location information display for cellular device
US8963926B2 (en) 2006-07-11 2015-02-24 Pandoodle Corporation User customized animated video and method for making the same
US8275397B2 (en) 2005-07-14 2012-09-25 Huston Charles D GPS based friend location and identification system and method
US8266219B2 (en) 2005-07-20 2012-09-11 Research In Motion Limited Method and system for instant messaging conversation security
US7610345B2 (en) 2005-07-28 2009-10-27 Vaporstream Incorporated Reduced traceability electronic message system and method
US8600410B2 (en) 2005-07-28 2013-12-03 Unwired Planet, Llc Wireless network with adaptive autonomous location push
CN1794708A (zh) 2005-07-29 2006-06-28 华为技术有限公司 呈现业务系统及发布呈现信息的方法
JP4492481B2 (ja) 2005-08-16 2010-06-30 株式会社ニコン カメラハウジング
WO2007023494A2 (en) 2005-08-22 2007-03-01 Triplay Communications Ltd. Messaging system and method
US7949107B2 (en) 2005-08-24 2011-05-24 International Business Machines Corporation Method, system, and computer program product for providing privacy measures in instant messaging systems
EP1924101B1 (en) 2005-09-06 2013-04-03 Nippon Telegraph And Telephone Corporation Video communication quality estimation device, method, and program
US7933632B2 (en) 2005-09-16 2011-04-26 Microsoft Corporation Tile space user interface for mobile devices
US20070073823A1 (en) 2005-09-29 2007-03-29 International Business Machines Corporation Method and apparatus to secure and retrieve instant messages
CN1863172B (zh) 2005-09-30 2010-08-25 华为技术有限公司 一种发布呈现信息的方法和系统
US8284663B2 (en) 2005-10-14 2012-10-09 Turbine, Inc. Selectively ordered protocol for unreliable channels
CN1859320A (zh) 2005-10-26 2006-11-08 华为技术有限公司 一种提供呈现信息的方法及装置
US20070243887A1 (en) 2005-11-01 2007-10-18 Fonemine, Inc. Platform for telephone-optimized data and voice services
US20070214180A1 (en) 2005-11-14 2007-09-13 Crawford C S L Social network application for processing image or video data from wireless devices of users and methods of operation
US7639943B1 (en) 2005-11-15 2009-12-29 Kalajan Kevin E Computer-implemented system and method for automated image uploading and sharing from camera-enabled mobile devices
WO2007106185A2 (en) 2005-11-22 2007-09-20 Mashlogic, Inc. Personalized content control
ITMI20052290A1 (it) 2005-11-30 2007-06-01 Pasqua Roberto Della Servizio di messaggistica istantanea con interfaccia utente minimizzata
US8732186B2 (en) 2005-12-01 2014-05-20 Peter Warren Computer-implemented method and system for enabling communication between networked users based on common characteristics
US20070136228A1 (en) 2005-12-13 2007-06-14 Petersen Lars H Systems and methods for check-in processing
US7747598B2 (en) 2006-01-27 2010-06-29 Google Inc. Geographic coding for location search queries
US7856360B2 (en) 2006-01-30 2010-12-21 Hoozware, Inc. System for providing a service to venues where people aggregate
DE602006020782D1 (de) 2006-01-31 2011-04-28 Fujitsu Ltd Systemüberwachungseinrichtungssteuerverfahrren, programm und computersystem
US20070210936A1 (en) 2006-01-31 2007-09-13 Hilton Nicholson System and method for arrival alerts
US8254537B2 (en) 2006-02-03 2012-08-28 Motorola Mobility Llc Method and apparatus for updating a presence attribute
US7743009B2 (en) 2006-02-10 2010-06-22 Strands, Inc. System and methods for prioritizing mobile media player files
US20070192128A1 (en) 2006-02-16 2007-08-16 Shoplogix Inc. System and method for managing manufacturing information
US20070198921A1 (en) 2006-02-17 2007-08-23 Derek Collison Facilitating manual user selection of one or more ads for insertion into a document to be made available to another user or users
US8862572B2 (en) 2006-02-17 2014-10-14 Google Inc. Sharing user distributed search results
CN1863175B (zh) 2006-02-25 2010-08-25 华为技术有限公司 一种呈现业务接入装置,呈现业务系统及发布和获取呈现信息的方法
US8112478B2 (en) 2006-03-13 2012-02-07 Oracle International Corporation Email and discussion forum system
US20070233556A1 (en) 2006-03-31 2007-10-04 Ross Koningstein Controlling the serving, with a primary document, of ads from a first source, subject to a first compensation scheme, and ads from a second source, subject to a second compensation scheme
US8255473B2 (en) 2006-04-04 2012-08-28 International Business Machines Corporation Caching message fragments during real-time messaging conversations
GB0606977D0 (en) 2006-04-06 2006-05-17 Freemantle Media Ltd Interactive video medium
US10803468B2 (en) 2006-04-18 2020-10-13 At&T Intellectual Property I, L.P. Method and apparatus for selecting advertising
US8938464B2 (en) 2006-04-25 2015-01-20 Google Inc. Identifying geo-located objects
US20070281690A1 (en) 2006-06-01 2007-12-06 Flipt, Inc Displaying and tagging places of interest on location-aware mobile communication devices in a local area network
US8571580B2 (en) 2006-06-01 2013-10-29 Loopt Llc. Displaying the location of individuals on an interactive map display on a mobile communication device
US8098934B2 (en) 2006-06-29 2012-01-17 Google Inc. Using extracted image text
US7779444B2 (en) 2006-07-23 2010-08-17 William Glad System and method for video on request
US20080032703A1 (en) 2006-08-07 2008-02-07 Microsoft Corporation Location based notification services
US20080049704A1 (en) 2006-08-25 2008-02-28 Skyclix, Inc. Phone-based broadcast audio identification
US7814160B2 (en) 2006-08-31 2010-10-12 Microsoft Corporation Unified communication escalation
US9304675B2 (en) 2006-09-06 2016-04-05 Apple Inc. Portable electronic device for instant messaging
US8564543B2 (en) 2006-09-11 2013-10-22 Apple Inc. Media player with imaged based browsing
TW200820067A (en) 2006-10-19 2008-05-01 Benq Corp Method for controlling power and display parameters of a monitor and monitor for the same
US8077263B2 (en) 2006-10-23 2011-12-13 Sony Corporation Decoding multiple remote control code sets
US20080104503A1 (en) 2006-10-27 2008-05-01 Qlikkit, Inc. System and Method for Creating and Transmitting Multimedia Compilation Data
US7917154B2 (en) 2006-11-01 2011-03-29 Yahoo! Inc. Determining mobile content for a social network based on location and time
US20080109844A1 (en) 2006-11-02 2008-05-08 Adbrite, Inc. Playing video content with advertisement
KR100874109B1 (ko) 2006-11-14 2008-12-15 팅크웨어(주) 친구 위치 정보 제공 시스템 및 방법
US8140566B2 (en) 2006-12-12 2012-03-20 Yahoo! Inc. Open framework for integrating, associating, and interacting with content objects including automatic feed creation
US20080147730A1 (en) 2006-12-18 2008-06-19 Motorola, Inc. Method and system for providing location-specific image information
US8032839B2 (en) 2006-12-18 2011-10-04 Sap Ag User interface experience system
FR2910143B1 (fr) 2006-12-19 2009-04-03 Eastman Kodak Co Procede pour predire automatiquement des mots dans un texte associe a un message multimedia
US7770137B2 (en) 2006-12-20 2010-08-03 Sony Ericsson Mobile Communications Ab Methods, systems and computer program products for enhancing presence services
US20080158230A1 (en) 2006-12-29 2008-07-03 Pictureal Corp. Automatic facial animation using an image of a user
US20080168033A1 (en) 2007-01-05 2008-07-10 Yahoo! Inc. Employing mobile location to refine searches
US20080222545A1 (en) 2007-01-07 2008-09-11 Lemay Stephen O Portable Electronic Device with a Global Setting User Interface
US8572642B2 (en) 2007-01-10 2013-10-29 Steven Schraga Customized program insertion system
JP2008206138A (ja) 2007-01-26 2008-09-04 Matsushita Electric Ind Co Ltd 撮像装置および画像処理装置
US8136028B1 (en) 2007-02-02 2012-03-13 Loeb Enterprises Llc System and method for providing viewers of a digital image information about identifiable objects and scenes within the image
US20080189177A1 (en) 2007-02-02 2008-08-07 Anderton Jared M Systems and methods for providing advertisements
US20080208692A1 (en) 2007-02-26 2008-08-28 Cadence Media, Inc. Sponsored content creation and distribution
US8452655B2 (en) 2007-04-10 2013-05-28 Utbk, Llc Systems and methods to facilitate real time communications and commerce via a social network
JP2008262371A (ja) 2007-04-11 2008-10-30 Sony Ericsson Mobilecommunications Japan Inc 表示制御装置、表示制御方法、表示制御プログラム、及び携帯端末装置
JP4564512B2 (ja) 2007-04-16 2010-10-20 富士通株式会社 表示装置、表示プログラム、および表示方法
WO2008129542A2 (en) 2007-04-23 2008-10-30 Ramot At Tel-Aviv University Ltd System, method and a computer readible medium for providing an output image
US20080270938A1 (en) 2007-04-29 2008-10-30 Elizabeth Marie Carlson System for self-registering visitor information with geographic specificity and searchable fields
US7912289B2 (en) 2007-05-01 2011-03-22 Microsoft Corporation Image text replacement
US7958188B2 (en) 2007-05-04 2011-06-07 International Business Machines Corporation Transaction-initiated batch processing
US8694379B2 (en) 2007-05-14 2014-04-08 Microsoft Corporation One-click posting
US7778973B2 (en) 2007-05-18 2010-08-17 Tat Kuen Choi System, method, and program for sharing photos via the internet
US8463253B2 (en) 2007-06-21 2013-06-11 Verizon Patent And Licensing Inc. Flexible lifestyle portable communications device
US8065628B2 (en) 2007-06-25 2011-11-22 Microsoft Corporation Dynamic user interface for previewing live content
US8661464B2 (en) 2007-06-27 2014-02-25 Google Inc. Targeting in-video advertising
US8312086B2 (en) 2007-06-29 2012-11-13 Verizon Patent And Licensing Inc. Method and apparatus for message customization
KR101373333B1 (ko) 2007-07-11 2014-03-10 엘지전자 주식회사 터치인식을 통한 영상촬영 기능을 구비한 휴대 단말기 및그 촬영방법
JP5184832B2 (ja) 2007-07-17 2013-04-17 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
US20090030999A1 (en) 2007-07-27 2009-01-29 Gatzke Alan D Contact Proximity Notification
US8170957B2 (en) 2007-08-08 2012-05-01 Sinart Points Technology, Inc. System and method for managing digital interactions
JP2009044602A (ja) 2007-08-10 2009-02-26 Olympus Imaging Corp 撮像装置、撮像システム及び撮像方法
US8909714B2 (en) 2007-08-21 2014-12-09 Microsoft Corporation Electronic mail delay adaptation
US7970418B2 (en) 2007-08-31 2011-06-28 Verizon Patent And Licensing Inc. Method and system of providing event content sharing by mobile communication devices
US7956848B2 (en) 2007-09-04 2011-06-07 Apple Inc. Video chapter access and license renewal
CN101399998B (zh) 2007-09-24 2011-06-08 鸿富锦精密工业(深圳)有限公司 白平衡调整系统及方法
WO2009043020A2 (en) 2007-09-28 2009-04-02 The Trustees Of Dartmouth College System and method for injecting sensed presence into social networking applications
US8862690B2 (en) 2007-09-28 2014-10-14 Ebay Inc. System and method for creating topic neighborhood visualizations in a networked system
US8004529B2 (en) 2007-10-01 2011-08-23 Apple Inc. Processing an animation file to provide an animated icon
EP3964797A1 (en) 2007-10-04 2022-03-09 Zos Communications, Llc Location-based messaging system
ATE452504T1 (de) 2007-10-19 2010-01-15 Research In Motion Ltd Mechanismus zur ausgabe von präsenzinformationen innerhalb eines präsenzdienstes und benutzerschnittstelle zu dessen konfiguration
US8472935B1 (en) 2007-10-29 2013-06-25 Iwao Fujisaki Communication device
TWI363993B (en) 2007-10-31 2012-05-11 Ibm Method for auto-deploying an application from a mobile device to a host in a pervasive computing environment and the mobile device implementing the method
US8385950B1 (en) 2007-11-09 2013-02-26 Google Inc. Capturing and automatically uploading media content
EP2223207A2 (en) 2007-11-14 2010-09-01 France Telecom A system and method for managing widges
US20090291672A1 (en) 2007-11-14 2009-11-26 Ron Treves System And Method For Providing Personalized Automated And Autonomously Initiated Information Delivery And Chaperone Service
US20090132341A1 (en) 2007-11-20 2009-05-21 Theresa Klinger Method and System for Monetizing User-Generated Content
US20090132665A1 (en) 2007-11-20 2009-05-21 Evite Llc Method and system for communicating invitations and responses to an event with a mobile device
US8244593B2 (en) 2007-11-20 2012-08-14 Pure Verticals, Inc. Method and system for monetizing content
KR101387527B1 (ko) 2007-12-06 2014-04-23 엘지전자 주식회사 단말기 및 그 메뉴 아이콘 디스플레이 방법
US20090148045A1 (en) 2007-12-07 2009-06-11 Microsoft Corporation Applying image-based contextual advertisements to images
US8212784B2 (en) 2007-12-13 2012-07-03 Microsoft Corporation Selection and display of media associated with a geographic area based on gesture input
US8412579B2 (en) 2007-12-18 2013-04-02 Carlos Gonzalez Recipes management system
US8655718B2 (en) 2007-12-18 2014-02-18 Yahoo! Inc. Methods for augmenting user-generated content using a monetizable feature
US20090160970A1 (en) 2007-12-20 2009-06-25 Fredlund John R Remote determination of image-acquisition settings and opportunities
US8515397B2 (en) 2007-12-24 2013-08-20 Qualcomm Incorporation Time and location based theme of mobile telephones
US8276092B1 (en) 2008-01-31 2012-09-25 Intuit Inc. Method and system for displaying financial reports
US20090199242A1 (en) 2008-02-05 2009-08-06 Johnson Bradley G System and Method for Distributing Video Content via a Packet Based Network
KR100963238B1 (ko) 2008-02-12 2010-06-10 광주과학기술원 개인화 및 협업을 위한 테이블탑-모바일 증강현실 시스템과증강현실을 이용한 상호작용방법
US20090215469A1 (en) 2008-02-27 2009-08-27 Amit Fisher Device, System, and Method of Generating Location-Based Social Networks
US8525825B2 (en) 2008-02-27 2013-09-03 Google Inc. Using image content to facilitate navigation in panoramic image data
US8214443B2 (en) 2008-03-05 2012-07-03 Aol Inc. Electronic mail forwarding service
US8098881B2 (en) 2008-03-11 2012-01-17 Sony Ericsson Mobile Communications Ab Advertisement insertion systems and methods for digital cameras based on object recognition
US20090239552A1 (en) 2008-03-24 2009-09-24 Yahoo! Inc. Location-based opportunistic recommendations
WO2009120301A2 (en) 2008-03-25 2009-10-01 Square Products Corporation System and method for simultaneous media presentation
CA2719794C (en) 2008-03-28 2020-10-27 Celltrust Corporation Systems and methods for secure short messaging service and multimedia messaging service
US8098904B2 (en) 2008-03-31 2012-01-17 Google Inc. Automatic face detection and identity masking in images, and applications thereof
US8645867B2 (en) 2008-04-22 2014-02-04 Apple Inc. Modifying time associated with digital media items
JP2009267526A (ja) 2008-04-22 2009-11-12 Sharp Corp 大量のコンテンツの一覧表示方法及び一覧表示装置
US20090288022A1 (en) 2008-05-15 2009-11-19 Sony Corporation Dynamically changing a user interface based on device location and/or date/time
US20090292608A1 (en) 2008-05-22 2009-11-26 Ruth Polachek Method and system for user interaction with advertisements sharing, rating of and interacting with online advertisements
US8359356B2 (en) 2008-06-20 2013-01-22 At&T Intellectual Property I, Lp Presenting calendar events with presence information
US20090327073A1 (en) 2008-06-27 2009-12-31 Microsoft Corporation Intelligent advertising display
US9305230B2 (en) 2008-07-14 2016-04-05 Jumio Inc. Internet payment system using credit card imaging
US10375244B2 (en) 2008-08-06 2019-08-06 Avaya Inc. Premises enabled mobile kiosk, using customers' mobile communication device
US20100082693A1 (en) 2008-09-25 2010-04-01 Ethan Hugg Organization of a contact list based on social network context
US20100082427A1 (en) 2008-09-30 2010-04-01 Yahoo! Inc. System and Method for Context Enhanced Ad Creation
US8295855B2 (en) 2008-11-04 2012-10-23 International Business Machines Corporation GPS driven architecture for delivery of location based multimedia and method of use
US8082255B1 (en) 2008-11-21 2011-12-20 eMinor Incorporated Branding digital content
US8494560B2 (en) 2008-11-25 2013-07-23 Lansing Arthur Parker System, method and program product for location based services, asset management and tracking
US8527877B2 (en) 2008-11-25 2013-09-03 At&T Intellectual Property I, L.P. Systems and methods to select media content
US20100153144A1 (en) 2008-12-09 2010-06-17 Continental Airlines, Inc. Automated Check-in for Reserved Service
KR101516850B1 (ko) 2008-12-10 2015-05-04 뮤비 테크놀로지스 피티이 엘티디. 여러 개 비디오 클립을 인터커팅하여 새로운 비디오 제작 생성기
US9336178B2 (en) 2008-12-19 2016-05-10 Velocee Ltd. Optimizing content and communication in multiaccess mobile device exhibiting communication functionalities responsive of tempo spatial parameters
US8428626B2 (en) 2008-12-23 2013-04-23 At&T Mobility Ii Llc Selective caching of real time messaging threads
US20100162149A1 (en) 2008-12-24 2010-06-24 At&T Intellectual Property I, L.P. Systems and Methods to Provide Location Information
US20100185552A1 (en) 2009-01-16 2010-07-22 International Business Machines Corporation Providing gps-based location and time information
US8719238B2 (en) 2009-01-22 2014-05-06 Sunstein Kann Murphy & Timbers LLP Office-based notification messaging system
US20100191631A1 (en) 2009-01-29 2010-07-29 Adrian Weidmann Quantitative media valuation method, system and computer program
US20100198694A1 (en) 2009-01-30 2010-08-05 Google Inc. Advertisement Slot Configuration
US8725560B2 (en) 2009-02-02 2014-05-13 Modiface Inc. Method and system for simulated product evaluation via personalizing advertisements based on portrait images
US9397890B2 (en) 2009-02-02 2016-07-19 Waldeck Technology Llc Serving a request for data from a historical record of anonymized user profile data in a mobile environment
WO2010088840A1 (en) 2009-02-06 2010-08-12 The Hong Kong University Of Science And Technology Generating three-dimensional models from images
US9098926B2 (en) 2009-02-06 2015-08-04 The Hong Kong University Of Science And Technology Generating three-dimensional façade models from images
US8791790B2 (en) 2009-02-10 2014-07-29 Yikes Llc System and method for accessing a structure using a mobile device
US20100201536A1 (en) 2009-02-10 2010-08-12 William Benjamin Robertson System and method for accessing a structure using a mobile device
KR101595254B1 (ko) 2009-02-20 2016-02-18 삼성전자주식회사 화이트 밸런스 조정 방법, 상기 방법을 기록한 기록 매체, 화이트 밸런스 조정 장치
US20100223343A1 (en) 2009-02-27 2010-09-02 Sorel Bosan System and Method for Communicating from an Electronic Device
US8860865B2 (en) 2009-03-02 2014-10-14 Burning Moon, Llc Assisted video creation utilizing a camera
US9020745B2 (en) 2009-03-30 2015-04-28 Microsoft Technology Licensing, Llc Business data display and position correction in street-side imagery
US9477368B1 (en) 2009-03-31 2016-10-25 Google Inc. System and method of indicating the distance or the surface of an image of a geographical object
US8264352B2 (en) 2009-04-09 2012-09-11 International Business Machines Corporation System and methods for locating mobile devices using location and presence information
US8428620B2 (en) 2009-04-22 2013-04-23 Centurylink Intellectual Property Llc Mass transportation service delivery platform
US8839121B2 (en) 2009-05-06 2014-09-16 Joseph Bertolami Systems and methods for unifying coordinate systems in augmented reality applications
JP5132629B2 (ja) 2009-05-11 2013-01-30 ソニーモバイルコミュニケーションズ, エービー 情報端末、情報端末の情報提示方法及び情報提示プログラム
US8645164B2 (en) 2009-05-28 2014-02-04 Indiana University Research And Technology Corporation Medical information visualization assistant system and method
US8214446B1 (en) 2009-06-04 2012-07-03 Imdb.Com, Inc. Segmenting access to electronic message boards
WO2011040821A1 (en) 2009-06-23 2011-04-07 Verdict Communications Smart phone crowd enhancement
US20110010205A1 (en) 2009-07-08 2011-01-13 American Express Travel Related Services Company, Inc. Travel fare determination and display in social networks
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US10282481B2 (en) 2009-07-31 2019-05-07 Oath Inc. Providing link to portion of media object in real time in social networking update
US9544379B2 (en) 2009-08-03 2017-01-10 Wolfram K. Gauglitz Systems and methods for event networking and media sharing
US9679311B2 (en) 2009-08-03 2017-06-13 Poynt Inc. System and method for adding advertisements to a location-based advertising system
US8379130B2 (en) 2009-08-07 2013-02-19 Qualcomm Incorporated Apparatus and method of processing images based on an adjusted value of an image processing parameter
US8775472B2 (en) 2009-08-14 2014-07-08 Apple Inc. Dynamic presentation framework
JP5402409B2 (ja) 2009-08-31 2014-01-29 ソニー株式会社 撮影条件設定装置、撮影条件設定方法及び撮影条件設定プログラム
US8228413B2 (en) 2009-09-01 2012-07-24 Geovector Corp. Photographer's guidance systems
US8090351B2 (en) 2009-09-01 2012-01-03 Elliot Klein Geographical location authentication method
WO2011026528A1 (en) 2009-09-07 2011-03-10 Nokia Corporation An apparatus
US8510383B2 (en) 2009-09-14 2013-08-13 Clixtr, Inc. Method for providing event based media streams
US8660793B2 (en) 2009-09-18 2014-02-25 Blackberry Limited Expediting reverse geocoding with a bounding region
US8306922B1 (en) 2009-10-01 2012-11-06 Google Inc. Detecting content on a social network using links
US9119027B2 (en) 2009-10-06 2015-08-25 Facebook, Inc. Sharing of location-based content item in social networking service
US9183544B2 (en) 2009-10-14 2015-11-10 Yahoo! Inc. Generating a relationship history
US20110090253A1 (en) 2009-10-19 2011-04-21 Quest Visual, Inc. Augmented reality language translation system and method
JP2011095797A (ja) 2009-10-27 2011-05-12 Sony Corp 画像処理装置、画像処理方法及びプログラム
US20110099507A1 (en) 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US20110102630A1 (en) 2009-10-30 2011-05-05 Jason Rukes Image capturing devices using device location information to adjust image data during image signal processing
US8161417B1 (en) 2009-11-04 2012-04-17 Sprint Communications Company L.P. Enhancing usability of a moving touch screen
US8396888B2 (en) 2009-12-04 2013-03-12 Google Inc. Location-based searching using a search area that corresponds to a geographical location of a computing device
CN102118419B (zh) 2009-12-30 2014-07-16 华为技术有限公司 一种图片信息的传输方法、装置和通信系统
US8400548B2 (en) 2010-01-05 2013-03-19 Apple Inc. Synchronized, interactive augmented reality displays for multifunction devices
US9129432B2 (en) 2010-01-28 2015-09-08 The Hong Kong University Of Science And Technology Image-based procedural remodeling of buildings
US8856349B2 (en) 2010-02-05 2014-10-07 Sling Media Inc. Connection priority services for data communication between two devices
US9443227B2 (en) 2010-02-16 2016-09-13 Tigertext, Inc. Messaging system apparatuses circuits and methods of operation thereof
US9672332B2 (en) 2010-02-18 2017-06-06 Nokia Technologies Oy Method and apparatus for preventing unauthorized use of media items
US20110238763A1 (en) 2010-02-26 2011-09-29 Momo Networks, Inc. Social Help Network
US20110213845A1 (en) 2010-02-26 2011-09-01 Research In Motion Limited Automatic deletion of electronic messages
JP5573238B2 (ja) 2010-03-04 2014-08-20 ソニー株式会社 情報処理装置、情報処理法方法およびプログラム
US8310394B2 (en) 2010-03-08 2012-11-13 Deutsche Telekom Ag Apparatus, method, manufacture, and system for sensing substitution for location-based applications
US10074094B2 (en) 2010-03-09 2018-09-11 Excalibur Ip, Llc Generating a user profile based on self disclosed public status information
US20110238476A1 (en) 2010-03-23 2011-09-29 Michael Carr Location-based Coupons and Mobile Devices
JP2011203823A (ja) 2010-03-24 2011-10-13 Sony Corp 画像処理装置、画像処理方法及びプログラム
US8570907B2 (en) 2010-04-07 2013-10-29 Apple Inc. Multi-network architecture for media data exchange
US20110255736A1 (en) 2010-04-15 2011-10-20 Pongr, Inc. Networked image recognition methods and systems
US8582727B2 (en) 2010-04-21 2013-11-12 Angel.Com Communication of information during a call
US8990049B2 (en) 2010-05-03 2015-03-24 Honeywell International Inc. Building structure discovery and display from various data artifacts at scene
US8359361B2 (en) 2010-05-06 2013-01-22 Microsoft Corporation Techniques to share media files through messaging
KR101643869B1 (ko) 2010-05-06 2016-07-29 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
US8990732B2 (en) 2010-05-14 2015-03-24 Sap Se Value interval selection on multi-touch devices
US20110279445A1 (en) 2010-05-16 2011-11-17 Nokia Corporation Method and apparatus for presenting location-based content
US20110279453A1 (en) 2010-05-16 2011-11-17 Nokia Corporation Method and apparatus for rendering a location-based user interface
US20110279446A1 (en) 2010-05-16 2011-11-17 Nokia Corporation Method and apparatus for rendering a perspective view of objects and content related thereto for location-based services on mobile device
US10096161B2 (en) 2010-06-15 2018-10-09 Live Nation Entertainment, Inc. Generating augmented reality images using sensor and location data
US20110314419A1 (en) 2010-06-22 2011-12-22 Microsoft Corporation Customizing a search experience using images
US8438226B2 (en) 2010-06-22 2013-05-07 International Business Machines Corporation Dynamic adjustment of user-received communications for a real-time multimedia communications event
US20110320373A1 (en) 2010-06-25 2011-12-29 Microsoft Corporation Product conversations among social groups
EP2589232B1 (en) 2010-07-01 2018-04-18 Absolute Software Corporation Automatic creation and modification of dynamic geofences
CA2745536A1 (en) 2010-07-06 2012-01-06 Omar M. Sheikh Improving the relevancy of advertising material through user-defined preference filters, location and permission information
US8233887B2 (en) 2010-07-28 2012-07-31 Sprint Communications Company L.P. Covert message redaction and recovery in a wireless communication device
US8744523B2 (en) 2010-08-02 2014-06-03 At&T Intellectual Property I, L.P. Method and system for interactive home monitoring
US8301196B2 (en) 2010-08-03 2012-10-30 Honeywell International Inc. Reconfigurable wireless modem adapter including diversity/MIMO modems
KR20120020070A (ko) 2010-08-27 2012-03-07 교세라 가부시키가이샤 휴대 단말, 록 상태 제어 프로그램이 기록된 컴퓨터 판독 가능한 저장 매체 및 록 상태 제어 방법
US8326327B2 (en) 2010-08-27 2012-12-04 Research In Motion Limited System and method for determining action spot locations relative to the location of a mobile device
US8381246B2 (en) 2010-08-27 2013-02-19 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for providing electronic program guides
US8423409B2 (en) 2010-09-02 2013-04-16 Yahoo! Inc. System and method for monetizing user-generated web content
JP2012065263A (ja) 2010-09-17 2012-03-29 Olympus Imaging Corp 撮影機器
EP2619605A1 (en) 2010-09-23 2013-07-31 Telefónica, S.A. Method and system for calculating the geo-location of a personal device
US8732855B2 (en) 2010-09-30 2014-05-20 Google Inc. Launching a cached web application based on authentication status
US9588992B2 (en) 2010-09-30 2017-03-07 Microsoft Technology Licensing, Llc Displaying images interesting to a user
US9317133B2 (en) 2010-10-08 2016-04-19 Nokia Technologies Oy Method and apparatus for generating augmented reality content
EP2439676A1 (en) 2010-10-08 2012-04-11 Research in Motion Limited System and method for displaying text in augmented reality
IL208600A (en) 2010-10-10 2016-07-31 Rafael Advanced Defense Systems Ltd Real-time network-based laminated reality for mobile devices
US20120092329A1 (en) 2010-10-13 2012-04-19 Qualcomm Incorporated Text-based 3d augmented reality
US20140047016A1 (en) 2010-10-21 2014-02-13 Bindu Rama Rao Server infrastructure, mobile client device and app for mobile blogging and sharing
US8660369B2 (en) 2010-10-25 2014-02-25 Disney Enterprises, Inc. Systems and methods using mobile devices for augmented reality
US10102208B2 (en) 2010-10-29 2018-10-16 Microsoft Technology Licensing, Llc Automatic multimedia slideshows for social media-enabled mobile devices
US9531803B2 (en) 2010-11-01 2016-12-27 Google Inc. Content sharing interface for sharing content in social networks
US8195194B1 (en) 2010-11-02 2012-06-05 Google Inc. Alarm for mobile communication device
JP5733952B2 (ja) 2010-11-04 2015-06-10 キヤノン株式会社 撮像装置、撮像システム、及び撮像装置の制御方法
US8543460B2 (en) 2010-11-11 2013-09-24 Teaneck Enterprises, Llc Serving ad requests using user generated photo ads
US9886727B2 (en) 2010-11-11 2018-02-06 Ikorongo Technology, LLC Automatic check-ins and status updates
JP5212448B2 (ja) 2010-11-15 2013-06-19 コニカミノルタビジネステクノロジーズ株式会社 画像処理システム、画像処理装置の制御方法、携帯端末、および制御プログラム
US20120124126A1 (en) 2010-11-17 2012-05-17 Microsoft Corporation Contextual and task focused computing
US20120124458A1 (en) 2010-11-17 2012-05-17 Nazareno Brier Cruzada Social networking website & web-based system for collecting & presenting real-time user generated information on parties & events.
US8676623B2 (en) 2010-11-18 2014-03-18 Navteq B.V. Building directory aided navigation
JP5706137B2 (ja) 2010-11-22 2015-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数の投稿(データのグループ)を複数の軸に沿ってリアルタイムにコンピュータ画面に表示する方法およびコンピュータ・プログラム
US20120131507A1 (en) 2010-11-24 2012-05-24 General Electric Company Patient information timeline viewer
US8619074B2 (en) 2010-12-10 2013-12-31 Xerox Corporation Rendering personalized text on curved image surfaces
US20120165100A1 (en) 2010-12-23 2012-06-28 Alcatel-Lucent Canada Inc. Crowd mobile synchronization
US8566325B1 (en) 2010-12-23 2013-10-22 Google Inc. Building search by contents
US20120166971A1 (en) 2010-12-28 2012-06-28 Thomas Sachson Social Networking Timeline System And Method
US20120169855A1 (en) 2010-12-30 2012-07-05 Electronics And Telecommunications Research Institute System and method for real-sense acquisition
US8683349B2 (en) 2010-12-31 2014-03-25 Verizon Patent And Licensing Inc. Media content user interface systems and methods
US8717381B2 (en) 2011-01-11 2014-05-06 Apple Inc. Gesture mapping for image filter input parameters
WO2012102907A2 (en) 2011-01-14 2012-08-02 CHANG, John S.M. Systems and methods for an augmented experience of products and marketing materials using barcodes
US8457668B2 (en) 2011-01-18 2013-06-04 Claremont Speede Mobile sender initiated SMS message deletion method and system
US20120197724A1 (en) 2011-02-01 2012-08-02 Timothy Kendall Ad-Based Location Ranking for Geo-Social Networking System
US8488011B2 (en) 2011-02-08 2013-07-16 Longsand Limited System to augment a visual data stream based on a combination of geographical and visual information
US20120209921A1 (en) 2011-02-10 2012-08-16 International Business Machines Corporation Instant Message Management Method and Apparatus
US20120210244A1 (en) 2011-02-10 2012-08-16 Alcatel-Lucent Usa Inc. Cross-Domain Privacy Management Service For Social Networking Sites
US8594680B2 (en) 2011-02-16 2013-11-26 Nokia Corporation Methods, apparatuses and computer program products for providing a private and efficient geolocation system
US9329469B2 (en) * 2011-02-17 2016-05-03 Microsoft Technology Licensing, Llc Providing an interactive experience using a 3D depth camera and a 3D projector
US8660358B1 (en) 2011-02-18 2014-02-25 Google Inc. Rank-based image piling
US8954503B2 (en) 2011-03-03 2015-02-10 Facebook, Inc. Identify experts and influencers in a social network
WO2012122269A2 (en) 2011-03-07 2012-09-13 Kba2, Inc. Systems and methods for analytic data gathering from image providers at an event or geographic location
US8849931B2 (en) 2011-03-15 2014-09-30 Idt Messaging, Llc Linking context-based information to text messages
US8601380B2 (en) 2011-03-16 2013-12-03 Nokia Corporation Method and apparatus for displaying interactive preview information in a location-based user interface
JP5136669B2 (ja) 2011-03-18 2013-02-06 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
US9331972B2 (en) 2011-03-31 2016-05-03 Loment, Inc. Automatic expiration of messages communicated to an end user communication device
US9131343B2 (en) 2011-03-31 2015-09-08 Teaneck Enterprises, Llc System and method for automated proximity-based social check-ins
US8744143B2 (en) 2011-04-01 2014-06-03 Yahoo! Inc. Adding privacy protection to photo uploading/ tagging in social networks
US8918463B2 (en) 2011-04-29 2014-12-23 Facebook, Inc. Automated event tagging
US9501699B2 (en) 2011-05-11 2016-11-22 University Of Florida Research Foundation, Inc. Systems and methods for estimating the geographic location at which image data was captured
US20120290637A1 (en) 2011-05-12 2012-11-15 Microsoft Corporation Personalized news feed based on peer and personal activity
US20120304052A1 (en) 2011-05-27 2012-11-29 Wesley Tanaka Systems And Methods For Displaying An Image In A Plurality Of Designs
US9383959B2 (en) 2011-05-27 2016-07-05 Kyocera Corporation Rotatable mobile electronic device and soft key input method
JP5806512B2 (ja) 2011-05-31 2015-11-10 オリンパス株式会社 撮像装置、撮像方法および撮像プログラム
US8854491B2 (en) 2011-06-05 2014-10-07 Apple Inc. Metadata-assisted image filters
WO2012170023A1 (en) 2011-06-08 2012-12-13 Empire Technology Development Llc Two-dimensional image capture for an augmented reality representation
US20120324018A1 (en) 2011-06-16 2012-12-20 Yahoo! Inc. Systems and methods for location based social network
KR101217469B1 (ko) 2011-06-16 2013-01-02 주식회사 네오펄스 다중대역 특성을 갖는 mimo 안테나
US20120323933A1 (en) 2011-06-20 2012-12-20 Microsoft Corporation Displaying notifications based on importance to the user
US9092674B2 (en) 2011-06-23 2015-07-28 International Business Machines Corportion Method for enhanced location based and context sensitive augmented reality translation
US8842909B2 (en) 2011-06-30 2014-09-23 Qualcomm Incorporated Efficient blending methods for AR applications
US20130006759A1 (en) 2011-07-01 2013-01-03 Yahoo! Inc. Monetizing user generated content with embedded advertisements
WO2013008251A2 (en) 2011-07-08 2013-01-17 Hughes Systique India Private Limited Method and system for social networking in a restricted connectivity environment
EP2732383B1 (en) 2011-07-12 2018-04-04 Snap Inc. Methods and systems of providing visual content editing functions
US20130185131A1 (en) 2011-07-18 2013-07-18 Pradeep Sinha System and method for integrating social and loyalty platforms
US9396167B2 (en) 2011-07-21 2016-07-19 Flipboard, Inc. Template-based page layout for hosted social magazines
US8849819B2 (en) 2011-08-05 2014-09-30 Deacon Johnson System and method for controlling and organizing metadata associated with on-line content
US20150040074A1 (en) 2011-08-18 2015-02-05 Layar B.V. Methods and systems for enabling creation of augmented reality content
US8965974B2 (en) 2011-08-19 2015-02-24 Board Of Regents, The University Of Texas System Systems and methods for determining user attribute values by mining user network data and information
WO2013028388A1 (en) 2011-08-19 2013-02-28 30 Second Software Geo-fence entry and exit notification system
WO2013032955A1 (en) 2011-08-26 2013-03-07 Reincloud Corporation Equipment, systems and methods for navigating through multiple reality models
US20130055082A1 (en) 2011-08-26 2013-02-28 Jorge Fino Device, Method, and Graphical User Interface for Navigating and Previewing Content Items
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US8515870B2 (en) 2011-09-06 2013-08-20 Rawllin International Inc. Electronic payment systems and supporting methods and devices
US9591361B2 (en) 2011-09-07 2017-03-07 Qualcomm Incorporated Streaming of multimedia data from multiple sources
KR20130028598A (ko) 2011-09-09 2013-03-19 삼성전자주식회사 장치 및 장치의 이미지 파일의 sns 업로드방법
US20130063369A1 (en) 2011-09-14 2013-03-14 Verizon Patent And Licensing Inc. Method and apparatus for media rendering services using gesture and/or voice control
US9710821B2 (en) 2011-09-15 2017-07-18 Stephan HEATH Systems and methods for mobile and online payment systems for purchases related to mobile and online promotions or offers provided using impressions tracking and analysis, location information, 2D and 3D mapping, mobile mapping, social media, and user behavior and
WO2013040533A1 (en) 2011-09-16 2013-03-21 Umami Co. Second screen interactive platform
US20130071093A1 (en) 2011-09-16 2013-03-21 William Turner Hanks Maintaining viewer activity information of a recorded program for program deletion decisions
US20130080254A1 (en) 2011-09-21 2013-03-28 Jeff Thramann Electric Vehicle Charging Station with Connectivity to Mobile Devices to Provide Local Information
US8797415B2 (en) 2011-09-26 2014-08-05 Google Inc. Device, system and method for image capture device using weather information
WO2013045753A1 (en) 2011-09-28 2013-04-04 Nokia Corporation Method and apparatus for enabling experience based route selection
US20130085790A1 (en) 2011-09-29 2013-04-04 Ebay Inc. Organization of Group Attended Ticketed Event
US9498720B2 (en) 2011-09-30 2016-11-22 Microsoft Technology Licensing, Llc Sharing games using personal audio/visual apparatus
US20130086072A1 (en) 2011-10-03 2013-04-04 Xerox Corporation Method and system for extracting and classifying geolocation information utilizing electronic social media
US20130090171A1 (en) 2011-10-07 2013-04-11 Gregory W. HOLTON Initiating and conducting a competitive social game using a server connected to a plurality of user terminals via a computer network
US8988446B2 (en) 2011-10-07 2015-03-24 Zynga Inc. 2D animation from a 3D mesh
US8725168B2 (en) 2011-10-17 2014-05-13 Facebook, Inc. Content surfacing based on geo-social factors
US9251144B2 (en) 2011-10-19 2016-02-02 Microsoft Technology Licensing, Llc Translating language characters in media content
US20130110885A1 (en) 2011-10-31 2013-05-02 Vox Media, Inc. Story-based data structures
CA2854179C (en) 2011-11-02 2018-04-10 Photopon, Inc. System and method for experience-sharing within a computer network
KR20140093974A (ko) 2011-11-08 2014-07-29 비디노티 에스아 이미지 주석 방법 및 시스템
US9098720B2 (en) 2011-11-21 2015-08-04 Facebook, Inc. Location aware shared spaces
US20130128059A1 (en) 2011-11-22 2013-05-23 Sony Mobile Communications Ab Method for supporting a user taking a photo with a mobile device
US9361283B2 (en) 2011-11-30 2016-06-07 Google Inc. Method and system for projecting text onto surfaces in geographic imagery
US20130141419A1 (en) 2011-12-01 2013-06-06 Brian Mount Augmented reality with realistic occlusion
TWI557630B (zh) 2011-12-06 2016-11-11 宏碁股份有限公司 電子裝置、社群互動磚資料顯示方法及動態圖示磚連結方法
US8352546B1 (en) 2011-12-08 2013-01-08 Google Inc. Contextual and location awareness for device interaction
US9230367B2 (en) 2011-12-13 2016-01-05 Here Global B.V. Augmented reality personalization
US20130159110A1 (en) 2011-12-14 2013-06-20 Giridhar Rajaram Targeting users of a social networking system based on interest intensity
US8234350B1 (en) 2011-12-19 2012-07-31 Seachange International, Inc. Systems and methods for generating targeted manifest files
US20130159919A1 (en) 2011-12-19 2013-06-20 Gabriel Leydon Systems and Methods for Identifying and Suggesting Emoticons
US10354750B2 (en) 2011-12-23 2019-07-16 Iconic Data Inc. System, client device, server and method for providing a cross-facility patient data management and reporting platform
US9286678B2 (en) 2011-12-28 2016-03-15 Pelco, Inc. Camera calibration using feature identification
US9253134B2 (en) 2011-12-30 2016-02-02 Google Inc. Creating real-time conversations
US20130267253A1 (en) 2012-01-12 2013-10-10 Environmental Systems Research Institute, Inc. Trigger zones and dwell time analytics
US20130181971A1 (en) 2012-01-12 2013-07-18 Motorola Mobility, Inc. Automatic Plane Alignment in 3D Environment
JP5890692B2 (ja) 2012-01-13 2016-03-22 キヤノン株式会社 撮像装置、制御方法及びプログラム
US20130191198A1 (en) 2012-01-20 2013-07-25 Visa International Service Association Systems and methods to redeem offers based on a predetermined geographic region
US9344606B2 (en) 2012-01-24 2016-05-17 Radical Switchcam Llc System and method for compiling and playing a multi-channel video
KR101303166B1 (ko) 2012-01-26 2013-09-09 엘지전자 주식회사 이동 단말기 및 그의 사진 검색방법
US8963805B2 (en) 2012-01-27 2015-02-24 Microsoft Corporation Executable virtual objects associated with real objects
US8788680B1 (en) 2012-01-30 2014-07-22 Google Inc. Virtual collaboration session access
US20130194301A1 (en) 2012-01-30 2013-08-01 Burn Note, Inc. System and method for securely transmiting sensitive information
US20130215101A1 (en) 2012-02-21 2013-08-22 Motorola Solutions, Inc. Anamorphic display
US9778706B2 (en) 2012-02-24 2017-10-03 Blackberry Limited Peekable user interface on a portable electronic device
US8972357B2 (en) 2012-02-24 2015-03-03 Placed, Inc. System and method for data collection to validate location data
US8768876B2 (en) 2012-02-24 2014-07-01 Placed, Inc. Inference pipeline system and method
US20130227476A1 (en) 2012-02-24 2013-08-29 Nokia Corporation Method, apparatus and computer program product for management of information on a graphic user interface
US20130232194A1 (en) 2012-03-05 2013-09-05 Myspace Llc Event application
WO2013151759A1 (en) 2012-04-06 2013-10-10 Liveone Group, Ltd. A social media application for a media content providing platform
US9407860B2 (en) 2012-04-06 2016-08-02 Melvin Lee Barnes, JR. System, method and computer program product for processing image data
US20140019264A1 (en) 2012-05-07 2014-01-16 Ditto Labs, Inc. Framework for product promotion and advertising using social networking services
US20130304646A1 (en) 2012-05-14 2013-11-14 Izettle Hardware Ab Method and system for identity and know your customer verification through credit card transactions in combination with internet based social data
US20130311255A1 (en) 2012-05-17 2013-11-21 Mastercard International Incorporated Method and system for displaying and updating limited redemption coupons on a mobile device
JP6261848B2 (ja) 2012-05-17 2018-01-17 任天堂株式会社 プログラム、サーバ装置、携帯端末、情報処理方法、通信システム及び通信方法
WO2013175784A1 (ja) 2012-05-22 2013-11-28 株式会社ニコン 電子カメラ、画像表示装置および画像表示プログラム
US9319470B2 (en) 2012-05-30 2016-04-19 Henry Berberat Location-based social networking system
KR102021050B1 (ko) 2012-06-06 2019-09-11 삼성전자주식회사 내비게이션 정보를 제공하는 방법, 기계로 읽을 수 있는 저장 매체, 이동 단말 및 서버
WO2013187130A1 (ja) 2012-06-12 2013-12-19 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US10127722B2 (en) 2015-06-30 2018-11-13 Matterport, Inc. Mobile capture visualization incorporating three-dimensional and two-dimensional imagery
US9374396B2 (en) 2012-06-24 2016-06-21 Google Inc. Recommended content for an endorsement user interface
US8954092B2 (en) 2012-06-25 2015-02-10 Google Inc. Pre-caching data related to a travel destination
JP6246805B2 (ja) 2012-06-26 2017-12-13 グーグル エルエルシー スライドショーを作成するためのシステムおよび方法
US9439041B2 (en) 2012-06-29 2016-09-06 Lighthouse Signal Systems, Llc Systems and methods for calibration based indoor geolocation
TW201415027A (zh) 2012-07-05 2014-04-16 Brita Professional Gmbh & Co Kg 利用流體處理裝置決定可由流體移除之成分濃度量測値
US9031283B2 (en) 2012-07-12 2015-05-12 Qualcomm Incorporated Sensor-aided wide-area localization on mobile devices
US9495783B1 (en) 2012-07-25 2016-11-15 Sri International Augmented reality vision system for tracking and geolocating objects of interest
US9560006B2 (en) 2012-07-26 2017-01-31 Google Inc. Method and apparatus for expiring messages in electronic communications
US8856924B2 (en) 2012-08-07 2014-10-07 Cloudflare, Inc. Mitigating a denial-of-service attack in a cloud-based proxy service
US9165288B2 (en) 2012-08-09 2015-10-20 Polaris Wirelesss, Inc. Inferring relationships based on geo-temporal data other than telecommunications
US9083414B2 (en) 2012-08-09 2015-07-14 GM Global Technology Operations LLC LTE MIMO-capable multi-functional vehicle antenna
US10198152B2 (en) 2012-08-10 2019-02-05 Oath Inc. Systems and methods for providing and updating live-streaming online content in an interactive web platform
US9047382B2 (en) 2012-08-13 2015-06-02 Facebook, Inc. Customized presentation of event guest lists in a social networking system
WO2014028474A1 (en) 2012-08-13 2014-02-20 Rundavoo, Inc. System and method for on-line event promotion and group planning
US20140052633A1 (en) 2012-08-15 2014-02-20 Ebay Inc. Payment in a chat session
KR101977703B1 (ko) 2012-08-17 2019-05-13 삼성전자 주식회사 단말의 촬영 제어 방법 및 그 단말
KR20180035243A (ko) 2012-08-24 2018-04-05 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 가상 현실 어플리케이션
EP2704055A1 (en) 2012-08-31 2014-03-05 Layar B.V. Determining space to display content in augmented reality
US9767850B2 (en) 2012-09-08 2017-09-19 Michael Brough Method for editing multiple video files and matching them to audio files
US9661361B2 (en) 2012-09-19 2017-05-23 Google Inc. Systems and methods for live media content matching
US9165406B1 (en) 2012-09-21 2015-10-20 A9.Com, Inc. Providing overlays based on text in a live camera view
US9746990B2 (en) 2012-09-28 2017-08-29 Intel Corporation Selectively augmenting communications transmitted by a communication device
US8799756B2 (en) 2012-09-28 2014-08-05 Interactive Memories, Inc. Systems and methods for generating autoflow of content based on image and user analysis as well as use case data for a media-based printable product
US20140096018A1 (en) 2012-09-28 2014-04-03 Interactive Memories, Inc. Methods for Recognizing Digital Images of Persons known to a Customer Creating an Image-Based Project through an Electronic Interface
CN103777852B (zh) 2012-10-18 2018-10-02 腾讯科技(深圳)有限公司 一种获取图像的方法、装置
US20140114565A1 (en) 2012-10-22 2014-04-24 Adnan Aziz Navigation of a vehicle along a path
US20150286371A1 (en) 2012-10-31 2015-10-08 Aniways Advertising Solutions Ltd. Custom emoticon generation
US9032050B2 (en) 2012-10-31 2015-05-12 Vmware, Inc. Systems and methods for accelerating remote data retrieval via peer nodes
US8775972B2 (en) 2012-11-08 2014-07-08 Snapchat, Inc. Apparatus and method for single action control of social network profile access
US20150199082A1 (en) 2012-11-13 2015-07-16 Google Inc. Displaying actionable items in an overscroll area
US20140143143A1 (en) 2012-11-16 2014-05-22 Jonathan David Fasoli Using card image to extract bank account information
US20140149519A1 (en) 2012-11-28 2014-05-29 Linkedln Corporation Meeting room status based on attendee position information
US9459752B2 (en) 2012-12-14 2016-10-04 Microsoft Technology Licensing, Llc Browsing electronic messages displayed as tiles
US9658742B2 (en) 2012-12-28 2017-05-23 Intel Corporation Generating and displaying supplemental information and user interactions on interface tiles of a user interface
US20140201527A1 (en) 2013-01-17 2014-07-17 Zohar KRIVOROT Systems and methods for secure and private delivery of content
KR20140094801A (ko) 2013-01-23 2014-07-31 주식회사 케이티 인스턴트 메신저가 탑재된 이동단말 및 이를 이용한 마일리지 거래 방법
KR101985283B1 (ko) 2013-01-28 2019-06-03 샌더링 매니지먼트 리미티드 동적 홍보 배치 관리와 배포 규칙
US20140214471A1 (en) 2013-01-31 2014-07-31 Donald Raymond Schreiner, III System for Tracking Preparation Time and Attendance at a Meeting
US20140222564A1 (en) 2013-02-07 2014-08-07 KBR IP Holdings, LLC Geo-located social connectivity relating to events and commerce
GB2524442A (en) 2013-02-08 2015-09-23 Motorola Solutions Inc Method and apparatus for managing user interface elements on a touch-screen device
KR102028952B1 (ko) 2013-02-21 2019-10-08 삼성전자주식회사 휴대 단말에 의해 촬영된 이미지들을 합성하는 방법, 기계로 읽을 수 있는 저장 매체 및 휴대 단말
US20140258405A1 (en) 2013-03-05 2014-09-11 Sean Perkin Interactive Digital Content Sharing Among Users
US9450907B2 (en) 2013-03-14 2016-09-20 Facebook, Inc. Bundled event memories
US20140279540A1 (en) 2013-03-15 2014-09-18 Fulcrum Ip Corporation Systems and methods for a private sector monetary authority
US9470018B1 (en) 2013-03-15 2016-10-18 August Home, Inc. Intelligent door lock system with friction detection and deformed door mode operation
US9264463B2 (en) 2013-03-15 2016-02-16 Facebook, Inc. Method and system of managing ephemeral post in a social networking system
US9024753B2 (en) 2013-03-15 2015-05-05 Codex Corporation Automating offender documentation with RFID
US20140279061A1 (en) 2013-03-15 2014-09-18 Rapp Worldwide Inc. Social Media Branding
US9824387B2 (en) 2013-03-15 2017-11-21 Proximity Concepts, LLC Systems and methods involving proximity, mapping, indexing, mobile, advertising and/or other features
US9536232B2 (en) 2013-03-15 2017-01-03 Square, Inc. Transferring money using email
US20170185715A9 (en) 2013-03-15 2017-06-29 Douglas K. Smith Federated Collaborative Medical Records System Utilizing Cloud Computing Network and Methods
US9514381B1 (en) 2013-03-15 2016-12-06 Pandoodle Corporation Method of identifying and replacing an object or area in a digital image with another object or area
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US20140287779A1 (en) 2013-03-22 2014-09-25 aDesignedPath for UsabilitySolutions, LLC System, method and device for providing personalized mobile experiences at multiple locations
JP2014191688A (ja) 2013-03-28 2014-10-06 Sony Corp 情報処理装置、情報処理方法、及び、記憶媒体
US20140301645A1 (en) 2013-04-03 2014-10-09 Nokia Corporation Method and apparatus for mapping a point of interest based on user-captured images
JP6089898B2 (ja) 2013-04-09 2017-03-08 ソニー株式会社 画像処理装置および記憶媒体
US10296933B2 (en) 2013-04-12 2019-05-21 Facebook, Inc. Identifying content in electronic images
US9736218B2 (en) 2013-04-24 2017-08-15 Blackberry Limited Device, system and method for processing character data
CA2913218C (en) 2013-05-24 2022-09-27 Awe Company Limited Systems and methods for a shared mixed reality experience
US9705831B2 (en) 2013-05-30 2017-07-11 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9742713B2 (en) 2013-05-30 2017-08-22 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9152477B1 (en) 2013-06-05 2015-10-06 Jpmorgan Chase Bank, N.A. System and method for communication among mobile applications
US20150002506A1 (en) 2013-06-28 2015-01-01 Here Global B.V. Method and apparatus for providing augmented reality display spaces
US8755824B1 (en) 2013-06-28 2014-06-17 Google Inc. Clustering geofence-based alerts for mobile devices
US20150020086A1 (en) 2013-07-11 2015-01-15 Samsung Electronics Co., Ltd. Systems and methods for obtaining user feedback to media content
US9355123B2 (en) 2013-07-19 2016-05-31 Nant Holdings Ip, Llc Fast recognition algorithm processing, systems and methods
US10679304B2 (en) 2013-08-07 2020-06-09 Microsoft Technology Licensing, Llc System and method for positioning sponsored content in a social network interface
US9465816B2 (en) 2013-08-19 2016-10-11 Globalfoundries Inc. Generating an image of a floor plan
US8914752B1 (en) 2013-08-22 2014-12-16 Snapchat, Inc. Apparatus and method for accelerated display of ephemeral messages
US8825881B2 (en) 2013-09-12 2014-09-02 Bandwidth.Com, Inc. Predictive caching of IP data
US20150087263A1 (en) 2013-09-24 2015-03-26 Bennett Hill Branscomb Methods and Apparatus for Promotions and Large Scale Games in Geo-Fenced Venues
US10546326B2 (en) 2013-09-26 2020-01-28 Mark W. Publicover Providing targeted content based on a user's preferences
GB201317288D0 (en) 2013-09-30 2013-11-13 Nokia Corp Editing image data
US20150096042A1 (en) 2013-10-02 2015-04-02 Innovative Venture, S.A. a Panama Corporation Method and apparatus for improved private messaging
US20150116529A1 (en) 2013-10-28 2015-04-30 Htc Corporation Automatic effect method for photography and electronic apparatus
US9547644B2 (en) 2013-11-08 2017-01-17 Google Inc. Presenting translations of text depicted in images
CN105706077B (zh) 2013-11-08 2018-12-11 谷歌有限责任公司 呈现图像中描绘的文本的翻译
US9083770B1 (en) 2013-11-26 2015-07-14 Snapchat, Inc. Method and system for integrating real time communication features in applications
US20150178260A1 (en) 2013-12-20 2015-06-25 Avaya, Inc. Multi-layered presentation and mechanisms for collaborating with the same
US20150193982A1 (en) 2014-01-03 2015-07-09 Google Inc. Augmented reality overlays using position and orientation to facilitate interactions between electronic devices
CA2863124A1 (en) 2014-01-03 2015-07-03 Investel Capital Corporation User content sharing system and method with automated external content integration
US9628950B1 (en) 2014-01-12 2017-04-18 Investment Asset Holdings Llc Location-based messaging
JP6323040B2 (ja) 2014-02-12 2018-05-16 株式会社リコー 画像処理装置、画像処理方法およびプログラム
US20150227601A1 (en) 2014-02-13 2015-08-13 Actifio, Inc. Virtual data backup
US8909725B1 (en) 2014-03-07 2014-12-09 Snapchat, Inc. Content delivery network for ephemeral objects
US9479909B2 (en) 2014-03-20 2016-10-25 Tigertext, Inc. Method of sending messages to devices not configured to receive them
US9965895B1 (en) 2014-03-20 2018-05-08 A9.Com, Inc. Augmented reality Camera Lucida
CN103942049B (zh) 2014-04-14 2018-09-07 百度在线网络技术(北京)有限公司 增强现实的实现方法、客户端装置和服务器
JP6265027B2 (ja) 2014-04-22 2018-01-24 富士通株式会社 表示装置、位置特定プログラム、および位置特定方法
US9864909B2 (en) 2014-04-25 2018-01-09 Huntington Ingalls Incorporated System and method for using augmented reality display in surface treatment procedures
US10845982B2 (en) 2014-04-28 2020-11-24 Facebook, Inc. Providing intelligent transcriptions of sound messages in a messaging application
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US20150346959A1 (en) 2014-05-28 2015-12-03 Facebook, Inc. Systems and methods for providing responses to and drawings for media content
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
IL232853A (en) 2014-05-28 2015-11-30 Elbit Systems Land & C4I Ltd Imaging Georegistration System and Method
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US10930038B2 (en) 2014-06-10 2021-02-23 Lab Of Misfits Ar, Inc. Dynamic location based digital element
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
CN106937531B (zh) 2014-06-14 2020-11-06 奇跃公司 用于产生虚拟和增强现实的方法和系统
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US9317921B2 (en) 2014-07-10 2016-04-19 Qualcomm Incorporated Speed-up template matching using peripheral information
US10630625B2 (en) 2014-07-13 2020-04-21 Snap Inc. Media object distribution
US10817526B2 (en) 2014-07-16 2020-10-27 Machine Research Corporation Systems and methods for searching a machining knowledge database
US9697235B2 (en) 2014-07-16 2017-07-04 Verizon Patent And Licensing Inc. On device image keyword identification and content overlay
WO2016013893A1 (en) 2014-07-25 2016-01-28 Samsung Electronics Co., Ltd. Displaying method, animation image generating method, and electronic device configured to execute the same
US11783898B2 (en) 2014-09-18 2023-10-10 Jonker Llc Ephemeral storage elements, circuits, and systems
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US11216869B2 (en) 2014-09-23 2022-01-04 Snap Inc. User interface to augment an image using geolocation
US10725533B2 (en) 2014-09-26 2020-07-28 Intel Corporation Systems, apparatuses, and methods for gesture recognition and interaction
EP3210179A1 (en) 2014-10-24 2017-08-30 Snap Inc. Prioritization of messages
US9015285B1 (en) 2014-11-12 2015-04-21 Snapchat, Inc. User interface for accessing media at a geographic location
TWI621097B (zh) 2014-11-20 2018-04-11 財團法人資訊工業策進會 行動裝置、操作方法及非揮發性電腦可讀取記錄媒體
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9854219B2 (en) 2014-12-19 2017-12-26 Snap Inc. Gallery of videos set to an audio time line
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US9111164B1 (en) 2015-01-19 2015-08-18 Snapchat, Inc. Custom functional patterns for optical barcodes
US9659381B2 (en) 2015-01-26 2017-05-23 Daqri, Llc Real time texture mapping for augmented reality system
US9779512B2 (en) 2015-01-29 2017-10-03 Microsoft Technology Licensing, Llc Automatic generation of virtual materials from real-world materials
US9294425B1 (en) 2015-02-06 2016-03-22 Snapchat, Inc. Storage and processing of ephemeral messages
US10156721B2 (en) * 2015-03-09 2018-12-18 Microsoft Technology Licensing, Llc User-based context sensitive hologram reaction
US9148424B1 (en) 2015-03-13 2015-09-29 Snapchat, Inc. Systems and methods for IP-based intrusion detection
KR102217723B1 (ko) 2015-03-18 2021-02-19 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US9482882B1 (en) 2015-04-15 2016-11-01 Snapchat, Inc. Eyewear having selectively exposable feature
US9482883B1 (en) 2015-04-15 2016-11-01 Snapchat, Inc. Eyewear having linkage assembly between a temple and a frame
US9881094B2 (en) 2015-05-05 2018-01-30 Snap Inc. Systems and methods for automated local story generation and curation
CN115412385A (zh) 2015-05-06 2022-11-29 斯纳普公司 用于短暂群组聊天的系统和方法
WO2016191694A1 (en) 2015-05-27 2016-12-01 Google Inc. Streaming spherical video
US20160371884A1 (en) * 2015-06-17 2016-12-22 Microsoft Technology Licensing, Llc Complementary augmented reality
US9954945B2 (en) 2015-06-30 2018-04-24 International Business Machines Corporation Associating contextual information with electronic communications
US10318884B2 (en) 2015-08-25 2019-06-11 Fuji Xerox Co., Ltd. Venue link detection for social media messages
KR20170037424A (ko) 2015-09-25 2017-04-04 엘지전자 주식회사 이동 단말기 및 그 제어방법
US20170103124A1 (en) 2015-10-07 2017-04-13 Abdelrahman Hassan Remote search engine using camera
US9652896B1 (en) * 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US20170161382A1 (en) 2015-12-08 2017-06-08 Snapchat, Inc. System to correlate video data and contextual data
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
CA3193007A1 (en) 2016-01-12 2017-07-20 Esight Corp. Language element vision augmentation methods and devices
WO2017143303A1 (en) 2016-02-17 2017-08-24 Meta Company Apparatuses, methods and systems for sharing virtual elements
US10306315B2 (en) 2016-03-29 2019-05-28 International Business Machines Corporation Video streaming augmenting
US11900418B2 (en) 2016-04-04 2024-02-13 Snap Inc. Mutable geo-fencing system
US10686899B2 (en) 2016-04-06 2020-06-16 Snap Inc. Messaging achievement pictograph display system
US9681265B1 (en) 2016-06-28 2017-06-13 Snap Inc. System to track engagement of media items
US11017601B2 (en) * 2016-07-09 2021-05-25 Doubleme, Inc. Mixed-reality space map creation and mapping format compatibility-enhancing method for a three-dimensional mixed-reality space and experience construction sharing system
US11269480B2 (en) 2016-08-23 2022-03-08 Reavire, Inc. Controlling objects using virtual rays
KR101868855B1 (ko) 2016-09-02 2018-06-19 주식회사 씨앤더블유커뮤니케이션 증강현실을 이용한 음악컨텐츠 서비스 제공방법
US10275925B2 (en) 2016-09-29 2019-04-30 Sony Interactive Entertainment America, LLC Blend shape system with texture coordinate blending
US10573039B2 (en) 2016-10-03 2020-02-25 Netflix, Inc. Techniques for incorporating a text-containing image into a digital image
CN108242082A (zh) 2016-12-26 2018-07-03 粉迷科技股份有限公司 立体空间的场景编辑方法与系统
US11030440B2 (en) 2016-12-30 2021-06-08 Facebook, Inc. Systems and methods for providing augmented reality overlays
KR20230135158A (ko) 2017-01-09 2023-09-22 스냅 인코포레이티드 증강 현실 객체 조작
US20180210628A1 (en) 2017-01-23 2018-07-26 Snap Inc. Three-dimensional interaction system
KR20180087918A (ko) 2017-01-25 2018-08-03 (주)테크모아 실감형 인터랙티브 증강현실 가상체험 학습 서비스 방법
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10497158B2 (en) 2017-03-03 2019-12-03 Adobe Inc. Aligning objects with text
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US10657596B1 (en) 2017-08-31 2020-05-19 United Services Automobile Association (Usaa) Systems and methods for providing currency exchange information via augmented reality
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10460499B2 (en) 2017-09-27 2019-10-29 Whatsapp Inc. Animating digital graphics overlaid on visual media items based on dynamic attributes
US11403796B2 (en) * 2017-11-19 2022-08-02 Max-Planck-Gesellschaft Zur Förderung D. Wissenschaften E.V. GPU-accelerated locally injective shape deformation
US10417829B2 (en) 2017-11-27 2019-09-17 Electronics And Telecommunications Research Institute Method and apparatus for providing realistic 2D/3D AR experience service based on video image
WO2019173672A1 (en) * 2018-03-08 2019-09-12 Simile Inc. Methods and systems for producing content in multiple reality environments
US10579733B2 (en) 2018-05-10 2020-03-03 Google Llc Identifying codemixed text
US20200020173A1 (en) 2018-07-16 2020-01-16 Zohirul Sharif Methods and systems for constructing an animated 3d facial model from a 2d facial image
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US10984284B1 (en) * 2018-11-19 2021-04-20 Automation Anywhere, Inc. Synthetic augmentation of document images
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120113143A1 (en) * 2010-11-08 2012-05-10 Suranjit Adhikari Augmented reality system for position identification
KR20150107063A (ko) * 2014-03-13 2015-09-23 손우람 얼굴 성형 시뮬레이션을 이용한 3차원 스캔 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11949527B2 (en) 2022-04-25 2024-04-02 Snap Inc. Shared augmented reality experience in video chat
WO2024085455A1 (ko) * 2022-10-19 2024-04-25 네이버랩스 주식회사 객체 포즈 보정 방법 및 시스템

Also Published As

Publication number Publication date
KR20230074618A (ko) 2023-05-30
WO2020160261A1 (en) 2020-08-06
KR102534637B1 (ko) 2023-05-30
EP3918578A1 (en) 2021-12-08
CN113396443A (zh) 2021-09-14
US11972529B2 (en) 2024-04-30
US20200250889A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
KR102534637B1 (ko) 증강 현실 시스템
US11361493B2 (en) Semantic texture mapping system
KR102052018B1 (ko) 증강 현실 시스템에서의 이미지 기반 추적
KR20220030263A (ko) 텍스처 메시 빌딩
US11645818B2 (en) Virtual item placement system
KR20210123357A (ko) 신체 자세 추정
US11798243B2 (en) Crowd sourced mapping system
US11810316B2 (en) 3D reconstruction using wide-angle imaging devices
KR20230162987A (ko) 서드 파티 애플리케이션들을 위한 증강 현실 콘텐츠에서의 얼굴 합성
KR20220154816A (ko) 대규모 증강 현실을 위한 위치 매핑
EP4315260A1 (en) Facial synthesis for head turns in augmented reality content
US20220321804A1 (en) Facial synthesis in overlaid augmented reality content
US20230173385A1 (en) Method and system for retargeting a human component of a camera motion
KR20240006669A (ko) 늦은-워핑에서의 동적 오버-렌더링
US11900528B2 (en) Method and system for viewing and manipulating interiors of continuous meshes

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant