KR20200136030A - Digital replenishment association and search for visual search - Google Patents

Digital replenishment association and search for visual search Download PDF

Info

Publication number
KR20200136030A
KR20200136030A KR1020207031107A KR20207031107A KR20200136030A KR 20200136030 A KR20200136030 A KR 20200136030A KR 1020207031107 A KR1020207031107 A KR 1020207031107A KR 20207031107 A KR20207031107 A KR 20207031107A KR 20200136030 A KR20200136030 A KR 20200136030A
Authority
KR
South Korea
Prior art keywords
digital
supplement
image
computing device
replenishment
Prior art date
Application number
KR1020207031107A
Other languages
Korean (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
Priority claimed from US16/014,512 external-priority patent/US10579230B2/en
Priority claimed from US16/014,520 external-priority patent/US10878037B2/en
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020227044320A priority Critical patent/KR20230003388A/en
Publication of KR20200136030A publication Critical patent/KR20200136030A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

시각적 검색을 위한 콘텐츠 식별 및 검색하기 위한 시스템 및 방법이 제공된다. 예시적 방법은 디지털 보충물을 특정하는 데이터를 수신하는 단계를 포함한다. 상기 데이터는 디지털 보충물 및 상기 디지털 보충물을 시각적 콘텐츠와 연관시키기 위한 보충물 앵커를 식별할 수 있다. 또한 방법은 상기 디지털 보충물 및 상기 보충물 앵커를 특정하는 데이터 구조 인스턴스를 생성하는 단계 및, 상기 데이터 구조 인스턴스를 생성한 후, 복수의 다른 데이터 구조 인스턴스를 포함하는 데이터베이스에 상기 데이터 구조 인스턴스를 저장하는 것에 적어도 기초하여 이미지에 의한 상기 디지털 보충물의 트리거링을 가능하게 하는 단계를 포함한다. 상기 다른 데이터 구조 인스턴스들 각각 디지털 보충물 및 하나 이상의 보충물 앵커를 특정할 수 있다.Systems and methods for identifying and searching content for visual search are provided. An exemplary method includes receiving data specifying a digital supplement. The data may identify a digital supplement and a supplement anchor for associating the digital supplement with visual content. The method also includes the steps of creating a data structure instance specifying the digital supplement and the supplement anchor, and after creating the data structure instance, storing the data structure instance in a database including a plurality of other data structure instances. And enabling triggering of the digital supplement by an image based at least on what it does. Each of the other data structure instances may specify a digital supplement and one or more supplement anchors.

Figure P1020207031107
Figure P1020207031107

Description

시각적 검색을 위한 디지털 보충물 연관 및 검색Digital replenishment association and search for visual search

관련 출원에 대한 상호 참조Cross-reference to related applications

본 출원은 2018년 6월 21일 출원된 미국 출원 번호 제16/014,520호 "시각적 검색을 위한 디지털 보충물 연관 및 검색"에 대해 우선권을 주장하며, 그 전체가 참조로서 본 명세서에 통합된다.This application claims priority to U.S. Application No. 16/014,520, "Digital Supplement Association and Search for Visual Search," filed June 21, 2018, which is incorporated herein by reference in its entirety.

스마트폰과 같은 모바일 컴퓨팅 디바이스는 종종 카메라를 포함한다. 이러한 카메라는 컴퓨팅 디바이스 주변 환경의 엔터티의 이미지를 캡처하는데 사용될 수 있다. 이러한 엔터티와 연관된 다양한 유형의 콘텐츠 또는 경험이 모바일 컴퓨팅 디바이스를 통해 사용자에게 제공될 수 있다.Mobile computing devices such as smartphones often include cameras. Such cameras can be used to capture images of entities in the environment around the computing device. Various types of content or experiences associated with these entities may be provided to users through mobile computing devices.

본 개시는 시각적 검색을 위한 디지털 보충물 연관 및 검색을 위한 시스템 및 방법을 설명한다. 예를 들어, 여기에 설명된 시스템 및 기법은 시각적 검색에 응답하는 증강 현실(AR) 콘텐츠 또는 경험과 같은 디지털 보충물을 제공하는데 사용될 수 있다. 시각적 검색은 예를 들어 이미지 또는 이미지 내에서 식별된 엔터티에 기초할 수 있다. 예를 들어, 디지털 보충물은 이미지와 연관된 정보 또는 기능을 제공하는 것을 포함할 수 있다.The present disclosure describes a system and method for digital supplement association and retrieval for visual retrieval. For example, the systems and techniques described herein can be used to provide digital supplements such as augmented reality (AR) content or experiences responsive to visual search. The visual search may be based on an image or an entity identified within the image, for example. For example, digital supplements may include providing information or functionality associated with an image.

일 양태는 디지털 보충물을 특정하는 데이터를 수신하는 단계를 포함하는 컴퓨터로 구현되는 방법이며, 상기 데이터는 디지털 보충물 및 상기 디지털 보충물을 시각적 콘텐츠와 연관시키기 위한 보충물 앵커를 식별한다. 또한 방법은 상기 디지털 보충물 및 상기 보충물 앵커를 특정하는 데이터 구조 인스턴스를 생성하는 단계를 포함한다. 상기 방법은 상기 데이터 구조 인스턴스를 생성한 후, 복수의 다른 데이터 구조 인스턴스를 포함하는 데이터베이스에 상기 데이터 구조 인스턴스를 저장하는 것에 적어도 기초하여 이미지에 의한 상기 디지털 보충물의 트리거링을 가능하게 하는 단계를 더 포함한다. 상기 다른 데이터 구조 인스턴스들 각각 디지털 보충물 및 하나 이상의 보충물 앵커를 특정한다.One aspect is a computer-implemented method comprising receiving data specifying a digital supplement, the data identifying a digital supplement and a supplement anchor for associating the digital supplement with visual content. The method also includes creating a data structure instance specifying the digital replenishment and the replenishment anchor. The method further comprises, after creating the data structure instance, enabling triggering of the digital supplement by an image based at least on storing the data structure instance in a database comprising a plurality of other data structure instances. do. Each of the other data structure instances specifies a digital supplement and one or more supplement anchors.

또 다른 양태는 적어도 하나의 프로세서 및 명령어를 저장하는 메모리를 포함하는 컴퓨팅 디바이스이다. 명령어는 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 디지털 보충물을 특정하는 데이터를 수신하게 하고, 상기 데이터는 디지털 보충물 및 상기 디지털 보충물을 시각적 콘텐츠와 연관시키기 위한 보충물 앵커 및 컨텍스트 정보를 식별한다. 또한 명령어는 컴퓨팅 디바이스로 하여금 상기 디지털 보충물, 상기 보충물 앵커 및 상기 컨텍스트 정보를 특정하는 데이터 구조 인스턴스를 생성하게 한다. 상기 명령어는 컴퓨터 디바이스로 하여금 상기 데이터 구조 인스턴스를 생성한 후, 복수의 다른 데이터 구조 인스턴스를 포함하는 데이터베이스에 상기 데이터 구조 인스턴스를 저장하는 것에 적어도 기초하여 이미지에 의한 상기 디지털 보충물의 트리거링을 가능하게 한다. 상기 다른 데이터 구조 인스턴스들 각각 디지털 보충물 및 하나 이상의 보충물 앵커를 특정한다.Yet another aspect is a computing device that includes at least one processor and a memory that stores instructions. The instructions, when executed by at least one processor, cause the computing device to receive data specifying a digital supplement, the data being a digital supplement and a supplement anchor for associating the digital supplement with visual content and Identify context information. The instructions also cause the computing device to create a data structure instance specifying the digital supplement, the supplement anchor, and the context information. The instructions enable a computer device to create the data structure instance and then trigger the digital replenishment by an image based at least on storing the data structure instance in a database containing a plurality of other data structure instances. . Each of the other data structure instances specifies a digital supplement and one or more supplement anchors.

또 다른 양태는 컴퓨팅 디바이스로부터 시각적 콘텐츠 쿼리를 수신하고, 상기 시각적 콘텐츠 쿼리에 기초하여 보충물 앵커를 식별하는 단계를 포함하는 컴퓨터로 구현되는 방법이다. 방법은 또한 식별된 보충물 앵커에 기초하여 디지털 보충물의 정렬된 목록을 생성하고, 클라이언트 컴퓨팅 디바이스에 정렬된 목록을 전송하는 단계를 포함한다.Another aspect is a computer-implemented method comprising receiving a visual content query from a computing device and identifying a replenishment anchor based on the visual content query. The method also includes generating an ordered list of digital supplements based on the identified supplement anchors and transmitting the ordered list to the client computing device.

하나 이상의 구현예들의 세부 내용들이 첨부 도면과 아래의 설명에서 기술된다. 다른 구성들은 아래의 설명, 도면들 및 청구항들로부터 명백해질 것이다.The details of one or more implementations are set forth in the accompanying drawings and the description below. Other configurations will become apparent from the description, drawings and claims below.

도 1은 예시적 구현예에 따른 시스템을 도시하는 블록도이다.
도 2는 도 1의 클라이언트 컴퓨팅 디바이스의 실시예가 디지털 보충물에 액세스하는 예시적 물리적 공간의 3인칭 뷰이다.
도 3은 본 명세서에 기술된 구현예에 따른 디지털 보충물의 트리거링을 가능하게 하는 예시적 방법의 다이어그램이다.
도 4는 본 명세서에 기술된 구현예에 따른 디지털 보충물의 트리거링을 가능하게 하는 예시적 방법의 다이어그램이다.
도 5는 본 명세서에 기술된 구현예에 따른 디지털 보충물을 검색하고 제시하는 예시적 방법의 다이어그램이다.
도 6은 본 명세서에 기술된 구현예에 따라, 이미지에 기초하여 디지털 보충물을 식별하고 제시하는 예시적 방법의 다이어그램이다.
도 7a-7c는 시각적 콘텐츠 검색을 수행하고 디지털 보충물을 디스플레이하기 위한 도 1의 클라이언트 컴퓨팅 디바이스의 실시예에 의해 디스플레이되는 사용자 인터페이스 스크린의 개략도이다.
도 8a-8c는 시각적 콘텐츠 검색을 수행하고 디지털 보충물을 디스플레이하기 위한 도 1의 클라이언트 컴퓨팅 디바이스의 실시예에 의해 디스플레이되는 사용자 인터페이스 화면의 개략도이다.
도 9a-9c는 시각적 콘텐츠 검색을 수행하고 디지털 보충물을 디스플레이하기 위한 도 1의 클라이언트 컴퓨팅 디바이스의 실시예에 의해 디스플레이되는 사용자 인터페이스 화면의 개략도이다.
도 10a-10c는 시각적 콘텐츠 검색을 수행하고 디지털 보충물을 디스플레이하기 위한 도 1의 클라이언트 컴퓨팅 디바이스의 실시예에 의해 디스플레이되는 사용자 인터페이스 스크린의 개략도이다.
도 11a-11c는 저장소 내에서 시각적 콘텐츠 검색을 수행하기 위한 도 1의 클라이언트 컴퓨팅 디바이스의 실시예에 의해 디스플레이되는 사용자 인터페이스 스크린의 개략도이다.
도 12a-12c는 시각적 콘텐츠 검색 동안에 도 1의 클라이언트 컴퓨팅 디바이스의 실시예에 의해 디스플레이되는 사용자 인터페이스 화면의 개략도이다.
도 13은 본 명세서에 기술된 기법을 구현하는데 사용될 수 있는 컴퓨터 디바이스와 모바일 컴퓨터 디바이스의 예시의 개략도이다.
본 발명의 비-한정적 실시예들에 대한 상세한 참조가 이루어질 것이며, 그 예시들은 첨부도면에 도시된다. 예시들은 도면을 참조하여 아래에 설명되며, 동일한 참조 번호는 동일한 요소를 지칭한다. 동일한 참조 번호가 도시될 때, 대응하는 설명(들)은 반복되지 않으며 관심있는 독자는 유사한 요소(들)의 설명을 위해 앞서 논의된 도면(들)을 참조한다.
1 is a block diagram illustrating a system according to an exemplary implementation.
2 is a third person view of an exemplary physical space in which the embodiment of the client computing device of FIG. 1 accesses a digital supplement.
3 is a diagram of an exemplary method for enabling triggering of a digital replenishment according to an implementation described herein.
4 is a diagram of an exemplary method for enabling triggering of digital replenishment in accordance with an implementation described herein.
5 is a diagram of an exemplary method of retrieving and presenting a digital supplement according to an implementation described herein.
6 is a diagram of an exemplary method of identifying and presenting a digital supplement based on an image, in accordance with an implementation described herein.
7A-7C are schematic diagrams of user interface screens displayed by the embodiment of the client computing device of FIG. 1 for performing visual content retrieval and displaying digital supplements.
8A-8C are schematic diagrams of user interface screens displayed by the embodiment of the client computing device of FIG. 1 for performing visual content retrieval and displaying digital supplements.
9A-9C are schematic diagrams of user interface screens displayed by the embodiment of the client computing device of FIG. 1 for performing visual content retrieval and displaying digital supplements.
10A-10C are schematic diagrams of user interface screens displayed by the embodiment of the client computing device of FIG. 1 for performing visual content searches and displaying digital supplements.
11A-11C are schematic diagrams of user interface screens displayed by the embodiment of the client computing device of FIG. 1 for performing visual content retrieval within a repository.
12A-12C are schematic diagrams of user interface screens displayed by the embodiment of the client computing device of FIG. 1 during visual content retrieval.
13 is a schematic diagram of an example of a computer device and a mobile computer device that can be used to implement the techniques described herein.
Detailed reference will be made to non-limiting embodiments of the invention, examples of which are shown in the accompanying drawings. Examples are described below with reference to the drawings, and like reference numerals refer to like elements. When the same reference numerals are shown, the corresponding description(s) are not repeated and the interested reader refers to the drawing(s) discussed above for description of similar element(s).

본 개시는 시각적 콘텐츠에 기초하여 디지털 보충물의 식별 및 제시를 단순화하는 기술 개선을 설명한다. 본 명세서에 기술된 기술의 일부 구현예는 특정한 유형의 시각적 콘텐츠와 관련된 디지털 보충물의 인덱스를 생성하고, 클라이언트 컴퓨팅 디바이스로부터 수신된 시각적 콘텐츠 쿼리에 응답하여 이러한 디지털 보충물을 제공한다. 이 인덱스를 통해 사용자는 전 세계에 배치된 네트워크 액세스 가능한 리소스(예: 웹페이지)에 의해 제공되는 관련 디지털 보충물에 액세스할 수 있다. 이것은 보다 효율적인 정보 검색을 가능하게 하는 기능적 데이터 구조를 제공할 수 있다.This disclosure describes improvements in technology that simplify identification and presentation of digital supplements based on visual content. Some implementations of the techniques described herein generate an index of digital supplements associated with certain types of visual content and provide such digital supplements in response to a visual content query received from a client computing device. This index allows users to access related digital supplements provided by network-accessible resources (e.g. web pages) deployed around the world. This can provide a functional data structure that enables more efficient information retrieval.

예를 들어, 스마트폰과 같은 클라이언트 컴퓨팅 디바이스는 엔터티와 같은 보충물 앵커의 이미지를 캡처할 수 있다. 클라이언트 컴퓨팅 디바이스는 식별된 보충물 앵커와 연관된 디지털 보충물을 검색하기 위해 이미지에 기초한 시각적 콘텐츠 쿼리를 서버 컴퓨팅 디바이스에 전송할 수 있다. 일부 구현예에서, 보충물 앵커는 클라이언트 컴퓨팅 디바이스 주변의 물리적 환경에 기초하고, 디지털 보충물은 물리적 환경에서 사용자의 경험을 보충할 수 있는 가상 콘텐츠이다.For example, a client computing device, such as a smartphone, can capture an image of a replenishment anchor, such as an entity. The client computing device can send a visual content query based on the image to the server computing device to retrieve the digital refill associated with the identified replenishment anchor. In some implementations, the supplement anchor is based on the physical environment around the client computing device, and the digital supplement is virtual content that can supplement the user's experience in the physical environment.

시각적 콘텐츠 쿼리는 이미지 또는 이미지로부터 결정된 데이터(예를 들어, 식별된 보충물 앵커의 표시자)를 포함할 수 있다. 이미지로부터 결정된 데이터의 예는 예를 들어 광학 문자 인식을 사용하여 이미지로부터 추출된 텍스트이다. 이미지로부터 추출된 데이터의 다른 예는 이미지의 바코드, QR 코드 등으로부터 판독된 값, 이미지에서 식별된 엔터티, 제품 또는 엔터티 유형의 식별자 또는 설명이 있다.The visual content query may include an image or data determined from the image (eg, an indicator of an identified supplement anchor). An example of data determined from an image is text extracted from an image using optical character recognition, for example. Other examples of data extracted from an image are a value read from a barcode, a QR code, etc. of an image, an entity identified in the image, an identifier or description of a product or entity type.

예를 들어, 컨볼루션 신경 네트워크 시스템과 같은 신경 네트워크 시스템을 사용하여 이미지에서 엔터티, 제품 또는 엔터티 유형을 식별할 수 있다. 엔터티, 제품 또는 엔터티 유형의 식별자 또는 설명은 엔터티, 제품 또는 엔터티 유형과 관련된 데이터베이스의 기록에 대한 참조 또는 메타데이터를 포함할 수 있다. 엔터티의 비-제한적인 예는 건물, 예술 작품, 제품, 책, 포스터, 사진, 카탈로그, 간판, 문서(예: 명함, 영수증, 쿠폰, 카탈로그), 사람 및 신체 부위를 포함한다.For example, a neural network system, such as a convolutional neural network system, can be used to identify entities, products, or entity types in an image. The identifier or description of an entity, product, or entity type may include metadata or references to records in a database associated with the entity, product, or entity type. Non-limiting examples of entities include buildings, works of art, products, books, posters, photos, catalogs, signs, documents (eg, business cards, receipts, coupons, catalogs), people and body parts.

보충물 앵커와 연관된 다양한 유형의 디지털 보충물을 사용할 수 있다. 디지털 보충물은 인터넷에서 사용할 수 있는 웹페이지와 같은 네트워크 액세스 가능 리소스에 의해 제공될 수 있다. 시각적 콘텐츠 쿼리에 대한 응답으로 이러한 디지털 보충물을 찾아 제공하는 방법이 필요하다. 일부 구현예는 시각적 콘텐츠 쿼리에 응답하는데 사용하기 위해 엔터티와 연관된 디지털 보충물의 인덱스를 생성하고 유지한다. 예를 들어, 인덱스는 네트워크 액세스 가능 리소스가 디지털 보충물을 포함하거나 제공하는지 여부를 결정하고, 이러한 디지털 보충물과 연관된 보충물 앵커를 결정하기 위해 네트워크 액세스 가능 리소스를 크롤링함으로써 채워질 수 있다.Various types of digital refills associated with refill anchors are available. Digital supplements may be provided by network-accessible resources such as web pages available on the Internet. There is a need for a way to find and deliver these digital supplements in response to visual content queries. Some implementations create and maintain an index of digital supplements associated with the entity for use in responding to visual content queries. For example, the index may be populated by determining whether the network accessible resource contains or provides a digital supplement, and crawling the network accessible resource to determine the supplement anchor associated with the digital supplement.

예를 들어, 네트워크 액세스 가능 리소스는 디지털 보충물이 연관되는 보충물 앵커(예를 들어, 텍스트, 코드, 엔터티 또는 엔터티 유형)를 식별하는 메타데이터를 포함할 수 있다. 메타데이터는 HTTP(Hypertext Transfer Protocol) 요청에 대한 응답으로 네트워크 액세스 가능 리소스에 포함될 수 있다. 메타데이터는 XML(Extensible Markup Language), JSON(JavaScript Object Notation) 또는 다른 형식과 같은 다양한 형식으로 제공될 수 있다.For example, a network accessible resource may include metadata that identifies the replenishment anchor (eg, text, code, entity, or entity type) to which the digital replenishment is associated. Metadata may be included in a network accessible resource in response to a Hypertext Transfer Protocol (HTTP) request. Metadata can be provided in various formats such as Extensible Markup Language (XML), JavaScript Object Notation (JSON), or other formats.

디지털 보충물에 대한 메타데이터는 다음 중 하나 이상을 포함할 수 있다: 유형 표시자, 앵커 표시자, 이름, 설명, 콘텐츠의 스니펫(즉, 콘텐츠 일부의 발췌 또는 미리보기), 연관 이미지, 디지털 보충물에 대한 URL과 같은 링크 및 디지털 보충물과 연관된 애플리케이션의 식별자. 메타데이터는 또한 디지털 보충물의 퍼블리셔에 관한 정보를 포함할 수 있다. 예를 들어, 메타데이터는 퍼블리셔 이름, 퍼블리셔 설명 및 퍼블리셔와 연관된 이미지 또는 아이콘 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 메타데이터는 디지털 보충물을 제공하는 것과 관련된 컨텍스트 정보를 포함한다. 예를 들어, 메타데이터는 또한 디지털 보충물을 제공하거나 액세스하는 것과 연관된 조건(예를 들어, 지리적 조건, 필수 애플리케이션)을 포함할 수 있다.Metadata for digital supplements may include one or more of the following: type indicator, anchor indicator, name, description, snippet of content (i.e., an excerpt or preview of a portion of the content), associated image, digital A link, such as a URL to the supplement, and the identifier of the application associated with the digital supplement. The metadata may also include information about the publisher of the digital supplement. For example, the metadata may include one or more of a publisher name, a publisher description, and an image or icon associated with the publisher. In some implementations, the metadata includes contextual information related to providing the digital supplement. For example, the metadata may also include conditions (eg, geographic conditions, required applications) associated with providing or accessing digital supplements.

식별된 디지털 보충물은 메모리에 저장된 인덱스에 추가될 수 있다. 적어도 일부 구현예에서, 디지털 보충물에 대한 연관된 보충물 앵커가 인덱스에 대한 키로 사용된다. 디지털 보충물은 또한 다양한 점수와 연관될 수 있다. 예를 들어, 디지털 보충물은 디지털 보충물 또는 디지털 보충물과 연관된 네트워크 액세스 가능 리소스를 참조하는(예를 들어, 네트워크 액세스 가능한 리소스를 크롤링하는 동안) 얼마나 많은 다른 링크가 발견되었는지 및 이러한 링크를 제공하는 네트워크 액세스 가능한 리소스의 명성(prestige)에 기초한 명성 점수와 연관될 수 있다. 다른 예로서, 디지털 보충물은 특정한 앵커에 대한 디지털 보충물(또는 연관된 네트워크 액세스 가능 리소스)의 관련성에 대응하는 하나 이상의 관련성 점수와 연관될 수 있다. 관련성 점수는 키워드 또는 주제와 연관될 수 있다. 관련성 점수는 디지털 보충물의 콘텐츠, 네트워크에 액세스 가능한 리소스의 콘텐츠, 네트워크 액세스 가능한 리소스에 대한 링크의 콘텐츠(예: 텍스트) 중 하나 이상에 기초하여 결정될 수 있다.The identified digital replenishment can be added to an index stored in memory. In at least some implementations, the associated replenishment anchor for the digital replenishment is used as the key for the index. Digital supplements can also be associated with various scores. For example, a digital replenishment refers to the digital replenishment or a network accessible resource associated with the digital replenishment (e.g., while crawling a network-accessible resource) and how many other links are found and provide these links. May be associated with a prestige score based on the prestige of a network accessible resource. As another example, the digital replenishment may be associated with one or more relevance scores corresponding to the relevance of the digital replenishment (or associated network accessible resource) to a particular anchor. The relevance score can be associated with a keyword or topic. The relevance score may be determined based on one or more of the content of the digital supplement, the content of a resource accessible to the network, and the content of a link to the network accessible resource (eg, text).

도 1은 예시적 구현예에 따른 시스템(100)을 도시하는 블록도이다. 시스템(100)은 디지털 보충물을 엔터티 또는 엔터티 유형과 연관시킬 수 있고, 시각적 검색에 응답하여 디지털 보충물을 검색할 수 있다. 시각적 검색은 시각적 콘텐츠에 기초한 검색이다. 예를 들어, 시각적 콘텐츠 쿼리에 기초하여 시각적 검색이 수행될 수 있다. 시각적 콘텐츠 쿼리는 이미지 또는 기타 시각적 콘텐츠에 기초한 쿼리이다. 예를 들어, 시각적 콘텐츠 쿼리는 이미지를 포함할 수 있다. 일부 구현예에서, 시각적 콘텐츠 쿼리는 이미지에 기초한 텍스트 또는 데이터를 포함할 수 있다. 예를 들어, 텍스트 또는 데이터는 이미지에서 하나 이상의 엔터티를 인식하여 생성될 수 있다. 일부 시각적 콘텐츠 쿼리는 이미지를 포함하지 않는다(예: 시각적 콘텐츠 쿼리는 이미지로부터 생성된 데이터 또는 텍스트만 포함함). 일부 구현예에서, 시스템(100)은 클라이언트 컴퓨팅 디바이스(102), 검색 서버(152) 및 디지털 보충물 서버(172)를 포함한다. 또한 클라이언트 컴퓨팅 디바이스(102), 검색 서버(152) 및 디지털 보충물 서버(172)가 통신할 수 있는 네트워크(190)가 도시된다.1 is a block diagram illustrating a system 100 according to an exemplary implementation. System 100 may associate a digital supplement with an entity or entity type, and may search for a digital supplement in response to a visual search. Visual search is a search based on visual content. For example, a visual search may be performed based on a visual content query. Visual content queries are queries based on images or other visual content. For example, a visual content query can include an image. In some implementations, the visual content query can include text or data based on images. For example, text or data may be generated by recognizing one or more entities in an image. Some visual content queries do not include images (for example, visual content queries contain only text or data generated from images). In some implementations, system 100 includes a client computing device 102, a search server 152 and a digital supplement server 172. Also shown is a network 190 through which the client computing device 102, the search server 152, and the digital supplement server 172 can communicate.

클라이언트 컴퓨팅 디바이스(102)는 프로세서 어셈블리(104), 통신 모듈(106), 센서 시스템(110) 및 메모리(120)를 포함할 수 있다. 센서 시스템(110)은 카메라 어셈블리(112), 관성 운동 유닛(IMU)(114) 및 GPS(Global Positioning System) 수신기(116)와 같은 다양한 센서를 포함할 수 있다. 센서 시스템(110)의 구현예는 예를 들어 광 센서, 오디오 센서, 이미지 센서, 거리 및/또는 근접 센서, 예를 들어 용량성 센서와 같은 접촉 센서, 타이머 및/또는 다른 센서들 및/또는 센서들의 상이한 조합을 포함할 수 있다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스(102)는 모바일 디바이스(예를 들어, 스마트폰)이다.The client computing device 102 may include a processor assembly 104, a communication module 106, a sensor system 110 and a memory 120. The sensor system 110 may include various sensors such as a camera assembly 112, an inertial motion unit (IMU) 114, and a Global Positioning System (GPS) receiver 116. Implementations of the sensor system 110 include, for example, a light sensor, an audio sensor, an image sensor, a distance and/or proximity sensor, for example a contact sensor such as a capacitive sensor, a timer and/or other sensors and/or sensors. Different combinations of them. In some implementations, the client computing device 102 is a mobile device (eg, a smartphone).

카메라 어셈블리(112)는 클라이언트 컴퓨팅 디바이스(102) 주변의 물리적 공간의 이미지 또는 비디오를 캡처한다. 카메라 어셈블리(112)는 하나 이상의 카메라를 포함할 수 있다. 카메라 어셈블리(112)는 또한 적외선 카메라를 포함할 수 있다. 카메라 어셈블리(112)로 캡처된 이미지는 보충물 앵커를 식별하고 시각적 콘텐츠 쿼리를 형성하는데 사용될 수 있다.The camera assembly 112 captures an image or video of a physical space around the client computing device 102. The camera assembly 112 may include one or more cameras. Camera assembly 112 may also include an infrared camera. Images captured with camera assembly 112 can be used to identify replenishment anchors and form visual content queries.

일부 구현예에서, 카메라 어셈블리(112)로 캡처된 이미지는 또한 메모리(120) 또는 외부 컴퓨팅 디바이스로부터 수신된 해당 물리적 공간의 표현에 기초하여, 내부 공간과 같은 물리적 공간 내에서 클라이언트 컴퓨팅 디바이스(102)의 위치 및 방향을 결정하는데 사용될 수 있다. 일부 구현예에서, 물리적 공간의 표현은 물리적 공간의 시각적 피처(예를 들어, 물리적 공간의 이미지로부터 추출된 피처)을 포함할 수 있다. 표현은 또한 물리적 공간의 하나 이상의 이미지에 기초하여 물리적 공간 내의 위치 및/또는 포지션을 결정하기 위해 시각적 포지셔닝 시스템에 의해 사용될 수 있는 해당 피처들과 연관된 위치 결정 데이터를 포함할 수 있다. 표현은 또한 물리적 공간 내의 적어도 일부 구조의 3차원 모델을 포함할 수 있다. 일부 구현예에서, 표현은 물리적 공간의 3차원 모델을 포함하지 않는다.In some implementations, the image captured by camera assembly 112 may also be based on a representation of that physical space received from memory 120 or an external computing device, within a physical space, such as an internal space, of the client computing device 102 Can be used to determine the location and direction of In some implementations, the representation of the physical space may include a visual feature of the physical space (eg, a feature extracted from an image of the physical space). The representation may also include positioning data associated with corresponding features that can be used by the visual positioning system to determine a location and/or position within the physical space based on one or more images of the physical space. The representation may also include a three-dimensional model of at least some structure within the physical space. In some embodiments, the representation does not include a three-dimensional model of physical space.

IMU(114)는 클라이언트 컴퓨팅 디바이스의 모션, 이동 및/또는 가속을 검출할 수 있다. IMU(114)는 예를 들어 가속도계, 자이로스코프, 자력계 및 기타 이러한 센서와 같은 다양한 상이한 유형의 센서들을 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(102)의 방향은 IMU(114) 또는 GPS 수신기(116)에 의해 제공되는 데이터에 기초하여 검출 및 추적될 수 있다.The IMU 114 may detect motion, movement, and/or acceleration of the client computing device. IMU 114 may include a variety of different types of sensors, such as, for example, accelerometers, gyroscopes, magnetometers, and other such sensors. The orientation of the client computing device 102 may be detected and tracked based on data provided by the IMU 114 or GPS receiver 116.

GPS 수신기(116)는 GPS 위성에서 방출되는 신호를 수신할 수 있다. 신호는 위성의 시간과 포지션을 포함한다. 여러 위성(예를 들어, 적어도 4 개)으로부터 신호를 수신하는 것에 기초하여, GPS 수신기(116)는 클라이언트 컴퓨팅 디바이스(102)의 글로벌 포지션을 결정할 수 있다.The GPS receiver 116 may receive a signal emitted from a GPS satellite. The signal contains the time and position of the satellite. Based on receiving signals from multiple satellites (eg, at least four), the GPS receiver 116 can determine the global position of the client computing device 102.

메모리(120)는 애플리케이션(122), 다른 애플리케이션(140) 및 디바이스 포지셔닝 시스템(142)을 포함할 수 있다. 다른 애플리케이션(140)은 클라이언트 컴퓨팅 디바이스(102) 상에서 실행을 위해 설치되거나 달리 이용 가능한 임의의 다른 애플리케이션을 포함한다. 일부 구현예에서, 애플리케이션(122)은 디지털 보충물을 제공하기 위해 다른 애플리케이션(140) 중 하나가 런칭되게 할 수 있다. 일부 구현예에서, 일부 디지털 보충물은 다른 애플리케이션(140)이 디지털 보충물과 연관되거나 디지털 보충물을 제공하기 위해 필요한 특정 애플리케이션을 포함하는 경우에만 이용 가능할 수 있다.The memory 120 may include an application 122, another application 140 and a device positioning system 142. Other applications 140 include any other applications installed or otherwise available for execution on the client computing device 102. In some implementations, application 122 may cause one of the other applications 140 to be launched to provide a digital supplement. In some implementations, some digital supplements may be available only if other applications 140 are associated with the digital supplement or include specific applications required to provide the digital supplement.

디바이스 포지셔닝 시스템(142)은 클라이언트 컴퓨팅 디바이스(102)의 포지션을 결정한다. 디바이스 포지셔닝 시스템(142)은 센서 시스템(110)을 사용하여, 클라이언트 컴퓨팅 디바이스(102)의 위치 및 방향을 글로벌적으로 또는 물리적 공간 내에서 결정할 수 있다. 일부 구현예에서, 디바이스 포지셔닝 시스템(142)은 예를 들어 셀룰러 삼각 측량에 기초하여 클라이언트 컴퓨팅 디바이스(102)의 위치를 결정한다.The device positioning system 142 determines the position of the client computing device 102. The device positioning system 142 may use the sensor system 110 to determine the location and orientation of the client computing device 102 globally or within a physical space. In some implementations, the device positioning system 142 determines the location of the client computing device 102 based on, for example, cellular triangulation.

일부 구현예에서, 클라이언트 컴퓨팅 디바이스(102)는 물리적 공간 내에서 클라이언트 컴퓨팅 디바이스(102)의 6 DOF 포즈(예를 들어, 위치 및 방향)를 결정하기 위해 카메라 어셈블리(112)에 의해 캡처된 이미지(또는 이러한 이미지로부터 추출된 피처)를 물리적 공간의 표현 내의 피처의 알려진 구성과 비교하는 시각적 포지셔닝 시스템을 포함할 수 있다.In some implementations, the client computing device 102 has an image captured by the camera assembly 112 to determine a 6 DOF pose (e.g., position and orientation) of the client computing device 102 within the physical space. Alternatively, it may include a visual positioning system that compares features extracted from such images with known configurations of features in the representation of the physical space.

애플리케이션(122)은 보충물 앵커 식별 엔진(124), 디지털 보충물 검색 엔진(126), 디지털 보충물 제시 엔진(128) 및 사용자 인터페이스 엔진(130)을 포함할 수 있다. 애플리케이션(122)의 일부 구현예는 더 적은, 추가 또는 다른 컴포넌트를 포함할 수 있다.Applications 122 may include replenishment anchor identification engine 124, digital replenishment search engine 126, digital replenishment presentation engine 128 and user interface engine 130. Some implementations of application 122 may include fewer, additional, or other components.

보충물 앵커 식별 엔진(124)은 예를 들어 카메라 어셈블리(112)로 캡처된 이미지에 기초하여 보충물 앵커를 식별한다. 일부 구현예에서, 보충물 앵커 식별 엔진(124)은 텍스트를 식별하기 위해 이미지를 분석한다. 그 다음 텍스트를 사용하여 앵커를 식별할 수 있다. 예를 들어, 텍스트는 지식 그래프의 노드에 매핑될 수 있다. 예를 들어, 텍스트는 사람, 장소, 제품, 건물, 예술품, 영화 또는 기타 유형의 엔터티와 같은 엔터티의 이름으로 인식될 수 있다. 일부 구현예에서, 텍스트는 특정 엔터티와 일반적으로 연관된 문구 또는 특정 엔터티를 설명하는 문구로 인식될 수 있다. 예를 들어, 텍스트는 특정 엔터티와 연관된 앵커로 인식될 수 있다.Refill anchor identification engine 124 identifies replenishment anchors based, for example, on images captured with camera assembly 112. In some implementations, the supplement anchor identification engine 124 analyzes the image to identify the text. You can then use the text to identify the anchor. For example, text can be mapped to nodes in a knowledge graph. For example, text may be recognized as the name of an entity such as a person, place, product, building, work of art, movie, or other type of entity. In some implementations, text may be recognized as phrases generally associated with a particular entity or phrases describing a particular entity. For example, text may be recognized as an anchor associated with a specific entity.

일부 구현예에서, 보충물 앵커 식별 엔진(124)은 이미지 내에서 바코드, QR 코드 또는 다른 유형의 코드와 같은 하나 이상의 코드를 식별한다. 그 다음 코드를 보충물 앵커에 매핑할 수 있다.In some implementations, the supplement anchor identification engine 124 identifies one or more codes within the image, such as barcodes, QR codes, or other types of codes. Then you can map the code to the replenishment anchor.

보충물 앵커 식별 엔진(124)은 이미지 내의 적어도 일부 유형의 엔터티를 인식할 수 있는 기계 학습 모듈을 포함할 수 있다. 예를 들어, 기계 학습 모듈은 신경 네트워크 시스템을 포함할 수 있다. 신경 네트워크는 기계 학습에 사용되는 계산 모델이며, 가중치 연결이 있는 계층으로 구성된 노드로 구성된다. 신경 네트워크 트레이닝은 트레이닝 예제를 사용하며, 각 예제는 일련의 반복적 라운드를 통해 주어진 입력에 대해 원하는 출력을 제공하는 신경 네트워크의 가능성을 증가시키는 계층 간의 연결에 대한 가중치 값을 결정하기 위한 입력 및 원하는 출력이다. 각 트레이닝 라운드 동안 잘못된 출력 값을 해결하기 위해 가중치가 조정된다. 일단 트레이닝되면 신경 네트워크를 사용하여 제공된 입력에 기초하여 출력을 예측할 수 있다.The replenishment anchor identification engine 124 may include a machine learning module capable of recognizing at least some types of entities within an image. For example, the machine learning module may include a neural network system. A neural network is a computational model used in machine learning and consists of nodes organized in layers with weighted connections. Neural network training uses training examples, each of which is an input and a desired output to determine the weighted values for the connections between the layers, increasing the likelihood of the neural network giving the desired output for a given input over a series of iterative rounds. to be. During each training round, the weights are adjusted to correct the wrong output values. Once trained, the neural network can be used to predict the output based on the input provided.

일부 구현예에서, 신경 네트워크 시스템은 컨볼루션 신경 네트워크(CNN)를 포함한다. 컨볼루션 신경 네트워크(CNN)는 신경 네트워크의 계층 중 적어도 하나가 컨볼루션 계층인 신경 네트워크이다. 컨벌루션 계층은 이전 계층 값의 서브세트에 커널 함수를 적용함에 기초하여 계층의 값을 계산하는 계층이다. 신경 네트워크 트레이닝은 트레이닝 예제에 기초하여 커널 함수의 가중치를 조정하는 것을 포함할 수 있다. 일반적으로 컨벌루션 계층의 각 값을 계산하는데 동일한 커널 함수가 사용된다. 따라서, 신경 네트워크에서 완전 연결 계층(예: 계층의 각 값이 이전 계층의 각 값의 독립적으로 조정된 가중치 조합으로 계산되는 계층)보다 컨볼루션 계층을 트레이닝하는 동안 학습해야 하는 가중치가 훨씬 적다. 일반적으로 컨벌루션 계층은 가중치가 적기 때문에 컨볼루션 계층을 트레이닝하고 사용하는데 동등한 완전 연결 계층보다 적은 메모리, 프로세서 사이클 및 시간이 요구될 수 있다.In some embodiments, the neural network system comprises a convolutional neural network (CNN). A convolutional neural network (CNN) is a neural network in which at least one of the layers of the neural network is a convolutional layer. The convolutional layer is a layer that calculates a layer value based on applying a kernel function to a subset of previous layer values. Neural network training may include adjusting the weights of the kernel function based on the training example. In general, the same kernel function is used to calculate each value of the convolutional layer. Thus, in a neural network, there are far fewer weights that must be learned while training a convolutional layer than a fully connected layer (e.g., a layer in which each value of the layer is calculated as an independently adjusted weight combination of each value of the previous layer). In general, the convolutional layer has a low weight, so training and using the convolutional layer may require less memory, processor cycles, and time than an equivalent fully connected layer.

보충물 앵커 식별 엔진(124)이 이미지에서 엔터티 또는 엔터티 유형을 인식한 후, 엔터티 또는 엔터티 유형의 텍스트 설명이 생성될 수 있다. 또한 엔터티 또는 엔터티 유형은 보충물 앵커에 매핑될 수 있다. 일부 구현예에서, 보충물 앵커는 하나 이상의 디지털 보충물과 연관된다.After the replenishment anchor identification engine 124 recognizes the entity or entity type in the image, a textual description of the entity or entity type may be generated. Also, an entity or entity type can be mapped to a supplement anchor. In some implementations, the replenishment anchor is associated with one or more digital replenishments.

일부 구현예에서, 보충물 앵커 식별 엔진(124)은 인식된 앵커에 대한 신뢰도 점수를 결정한다. 더 높은 신뢰도 점수는 이미지로부터의 콘텐츠(예를 들어, 이미지, 추출된 텍스트, 바코드, QR 코드)가 더 낮은 신뢰도 점수가 결정되는 경우보다 결정된 앵커와 연관될 가능성이 더 높다는 것을 나타낼 수 있다.In some implementations, the replenishment anchor identification engine 124 determines a confidence score for the recognized anchor. A higher confidence score may indicate that content from the image (eg, image, extracted text, barcode, QR code) is more likely to be associated with the determined anchor than if a lower confidence score was determined.

도 1의 예는 클라이언트 컴퓨팅 디바이스(102) 상의 애플리케이션(122)의 컴포넌트로서 보충물 앵커 식별 엔진(124)을 도시하지만, 일부 구현예는 검색 서버(152) 상에 보충물 앵커 식별 엔진을 포함한다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)는 카메라 어셈블리(112)에 의해 캡처된 이미지를 검색 서버(152)로 송신할 수 있으며, 그러면 검색 서버(152)는 이미지 내의 보충물 앵커를 식별할 수 있다.The example of FIG. 1 shows the replenishment anchor identification engine 124 as a component of the application 122 on the client computing device 102, but some implementations include the replenishment anchor identification engine on the search server 152. . For example, the client computing device 102 can send the image captured by the camera assembly 112 to the search server 152, which can then identify the replenishment anchor in the image. .

일부 구현예에서, 보충물 앵커 식별 엔진(124)은 잠재적 보충물 앵커를 식별한다. 예를 들어, 보충물 앵커 식별 엔진(124)은 이미지 내의 다양한 엔터티를 식별(인식)할 수 있다. 인식된 엔터티의 식별자는 검색 서버(152)에 전송될 수 있으며, 이는 엔터티 중 어느 것이 임의의 보충물 앵커와 연관되는지를 결정할 수 있다. 일부 구현예에서, 검색 서버(152)는 식별된 엔터티가 보충물 앵커가 아니더라도 식별된 엔터티를 컨텍스트 정보로 사용할 수 있다.In some implementations, the refill anchor identification engine 124 identifies potential refill anchors. For example, the replenishment anchor identification engine 124 can identify (recognize) various entities within the image. The identifier of the recognized entity may be sent to the search server 152, which may determine which of the entities are associated with any supplement anchor. In some implementations, the search server 152 may use the identified entity as context information even if the identified entity is not a supplement anchor.

디지털 보충물 검색 엔진(126)은 디지털 보충물을 검색한다. 예를 들어, 디지털 보충물 검색 엔진(126)은 보충물 앵커 식별 엔진(124)에 의해 식별된 보충물 앵커와 연관된 디지털 보충물을 검색할 수 있다. 일부 구현예에서, 디지털 보충물 검색 엔진(126)은 검색 서버(152) 또는 디지털 보충물 서버(172)로부터 디지털 보충물을 검색한다.The digital supplement search engine 126 searches for digital supplements. For example, the digital replenishment search engine 126 may search for a digital replenishment associated with the replenishment anchor identified by the replenishment anchor identification engine 124. In some implementations, digital supplement search engine 126 searches for digital supplements from search server 152 or digital supplement server 172.

예를 들어, 보충물 앵커가 식별된 후, 디지털 보충물 검색 엔진(126)은 식별된 보충물 앵커와 연관된 하나 이상의 디지털 보충물을 검색할 수 있다. 디지털 보충물 검색 엔진(126)은 이미지(또는 이미지 내의 보충물 앵커 또는 엔터티의 식별자)를 포함하는 시각 콘텐츠 쿼리를 생성하고, 상기 시각 콘텐츠 쿼리를 검색 서버(152)에 전송할 수 있다. 시각적 콘텐츠 쿼리는 또한 클라이언트 컴퓨팅 디바이스(102)의 위치와 같은 컨텍스트 정보를 포함할 수 있다. 일부 구현예에서, 이름, 이미지 또는 설명과 같은 디지털 보충물과 연관된 데이터가 검색되어 사용자에게 제시된다(예를 들어, 사용자 인터페이스 엔진(130)에 의해). 다수의 디지털 보충물이 제시되는 경우, 사용자는 사용자 인터페이스 엔진(130)에 의해 생성된 사용자 인터페이스를 통해 디지털 보충물 중 하나를 선택할 수 있다.For example, after a replenishment anchor has been identified, the digital replenishment search engine 126 may search for one or more digital replenishments associated with the identified replenishment anchor. The digital replenishment search engine 126 may generate a visual content query including an image (or an identifier of a replenishment anchor or entity in the image) and transmit the visual content query to the search server 152. The visual content query may also include contextual information such as the location of the client computing device 102. In some implementations, data associated with a digital supplement, such as a name, image, or description, is retrieved and presented to a user (eg, by user interface engine 130). When multiple digital supplements are presented, the user can select one of the digital supplements through a user interface generated by the user interface engine 130.

디지털 보충물 제시 엔진(128)은 디지털 보충물을 제시하거나 클라이언트 컴퓨팅 디바이스(102)에 의해 제시되도록 한다. 일부 구현예에서, 디지털 보충물 제시 엔진(128)은 클라이언트 컴퓨팅 디바이스가 다른 애플리케이션(140) 중 하나를 개시하게 한다. 일부 구현예에서, 디지털 보충물 제시 엔진(128)은 정보 또는 콘텐츠가 디스플레이되게 한다. 예를 들어, 디지털 보충물 제시 엔진(128)은 사용자 인터페이스 엔진(130)이 클라이언트 컴퓨팅 디바이스(102)에 의해 디스플레이 될 디지털 보충물로부터의 정보 또는 콘텐츠를 포함하는 사용자 인터페이스를 생성하게 할 수 있다. 일부 구현예에서, 디지털 보충물 제시 엔진(128)은 디지털 보충물을 검색하는 디지털 보충물 검색 엔진(126)에 의해 트리거링된다. 디지털 보충물 제시 엔진(128)은 디지털 보충물과 연관된 콘텐츠를 디스플레이하도록 디스플레이 디바이스(108)를 트리거링할 수 있다. 일부 구현예에서, 디지털 보충물 제시 엔진(128)은 디지털 보충물 검색 엔진(126)이 디지털 보충물을 검색할 때와 다른 시간에 디지털 보충물이 디스플레이되게 한다. 예를 들어, 디지털 보충물은 제1 시간에 시각적 콘텐츠 쿼리에 응답하여 검색될 수 있고, 디지털 보충물은 제2 시간에 제시될 수 있다. 예를 들어, 제1 시간에(예를 들어, 사용자가 카탈로그를 보고 있거나 상점을 방문하는 동안) 카탈로그 또는 상점에서 가정용 가구 또는 가구의 이미지에 기초한 시각적 콘텐츠 쿼리에 대한 응답으로 디지털 보충물을 검색할 수 있다. 가정용 가구 또는 가구의 AR 콘텐츠를 포함하는 디지털 보충물이 제2 시간에 제시될 수 있다(예를 들어, 사용자가 가정용 가구 또는 가구가 놓일 수 있는 방에 있는 동안).The digital supplement presentation engine 128 presents the digital supplement or causes it to be presented by the client computing device 102. In some implementations, the digital supplement presentation engine 128 causes the client computing device to launch one of the other applications 140. In some implementations, the digital supplement presentation engine 128 causes information or content to be displayed. For example, the digital supplement presentation engine 128 may cause the user interface engine 130 to create a user interface that includes information or content from the digital supplement to be displayed by the client computing device 102. In some implementations, the digital supplement presentation engine 128 is triggered by the digital supplement search engine 126 that searches for digital supplements. The digital supplement presentation engine 128 may trigger the display device 108 to display content associated with the digital supplement. In some implementations, the digital supplement presentation engine 128 causes the digital supplement to be displayed at a different time than when the digital supplement search engine 126 searches for the digital supplement. For example, a digital supplement may be retrieved in response to a visual content query at a first time, and the digital supplement may be presented at a second time. For example, at the first time (for example, while a user is viewing a catalog or visiting a store), a catalog or store might search for a digital supplement in response to a query for visual content based on the image of the home or furniture. I can. A digital supplement containing the home furniture or AR content of the furniture may be presented at a second time (eg, while the user is in the home furniture or room where the furniture can be placed).

사용자 인터페이스 엔진(130)은 사용자 인터페이스를 생성한다. 사용자 인터페이스 엔진(130)은 또한 클라이언트 컴퓨팅 디바이스(102)가 생성된 사용자 인터페이스를 디스플레이하게 할 수 있다. 생성된 사용자 인터페이스는 예를 들어 디지털 보충물의 정보 또는 콘텐츠를 디스플레이할 수 있다. 일부 구현예에서, 사용자 인터페이스 엔진(130)은 디지털 보충물과 각각 연관된 다수의 사용자 작동가능 제어를 포함하는 사용자 인터페이스를 생성한다. 예를 들어, 사용자는 사용자가 작동가능한 제어 중 하나를 작동시킬 수 있다(예를 들어, 터치 스크린에서 제어를 터치하거나, 마우스 또는 다른 입력 디바이스를 사용하여 제어를 클릭하거나, 그렇지 않으면 제어를 작동시킴으로써).The user interface engine 130 creates a user interface. The user interface engine 130 may also cause the client computing device 102 to display the generated user interface. The generated user interface may, for example, display information or content of a digital supplement. In some implementations, the user interface engine 130 creates a user interface that includes a number of user operable controls each associated with a digital supplement. For example, the user can activate one of the controls that the user can operate (e.g., by touching the control on the touch screen, clicking the control using a mouse or other input device, or otherwise activating the control). ).

검색 서버(152)는 컴퓨팅 디바이스이다. 검색 서버(152)는 시각적 콘텐츠 쿼리와 같은 검색 요청에 응답할 수 있다. 응답은 시각적 콘텐츠 쿼리와 잠재적으로 관련이 있는 하나 이상의 디지털 보충물을 포함할 수 있다. 일부 구현예에서, 검색 서버(152)는 메모리(160), 프로세서 어셈블리(154) 및 통신 모듈(156)을 포함한다. 메모리(160)는 콘텐츠 크롤러(162), 디지털 보충물 검색 엔진(164) 및 디지털 보충물 데이터 저장소(166)를 포함할 수 있다.Search server 152 is a computing device. The search server 152 may respond to a search request, such as a visual content query. The response may include one or more digital supplements potentially related to the visual content query. In some implementations, search server 152 includes memory 160, processor assembly 154 and communication module 156. The memory 160 may include a content crawler 162, a digital supplement search engine 164 and a digital supplement data store 166.

콘텐츠 크롤러(162)는 디지털 보충물을 식별하기 위해 네트워크 액세스 가능한 리소스를 크롤링할 수 있다. 예를 들어, 콘텐츠 크롤러(162)는 디지털 보충물 서버(172)에 의해 제공되는 웹페이지와 같이 인터넷을 통해 액세스 가능한 웹페이지에 액세스할 수 있다. 네트워크 액세스 가능한 리소스를 크롤링하는 것은 웹 서버에서 리소스를 요청하고 리소스의 적어도 일부를 파싱하는 것을 포함할 수 있다. 디지털 보충물은 디지털 보충물에 대한 정보를 제공하는 XML 또는 JSON 데이터와 같이 네트워크 액세스 가능한 리소스에서 제공하는 메타데이터에 기초하여 식별될 수 있다. 일부 구현예에서, 크롤러는 이전에 크롤링된 네트워크 액세스 가능 리소스에서 링크를 추출함에 기초하여 네트워크 액세스 가능 리소스를 식별한다. 콘텐츠 크롤러(162)는 또한 사용자에 의해 제출된 입력 수신에 기초하여 크롤링할 네트워크 액세스 가능한 리소스를 식별할 수 있다. 예를 들어, 사용자는 웹 양식 또는 API(애플리케이션 프로그래밍 인터페이스)를 통해 디지털 보충물을 포함하는 네트워크 액세스 가능 리소스에 URL(또는 기타 정보)을 제출할 수 있다. 일부 구현예에서, 콘텐츠 크롤러(162)는 식별된 디지털 보충물의 인덱스를 생성한다. 콘텐츠 크롤러(162)는 또한 관련성 점수 또는 인기(명성)도 점수와 같은 디지털 보충물과 연관된 점수를 생성할 수 있다.Content crawler 162 may crawl network accessible resources to identify digital supplements. For example, the content crawler 162 may access webpages accessible through the Internet, such as webpages provided by the digital supplement server 172. Crawling the network accessible resource may include requesting the resource from a web server and parsing at least a portion of the resource. Digital supplements can be identified based on metadata provided by network-accessible resources, such as XML or JSON data that provides information about the digital supplement. In some implementations, the crawler identifies network accessible resources based on extracting links from previously crawled network accessible resources. The content crawler 162 may also identify network accessible resources to crawl based on receiving input submitted by the user. For example, a user may submit a URL (or other information) to a network accessible resource, including a digital supplement, through a web form or an application programming interface (API). In some implementations, the content crawler 162 creates an index of the identified digital supplement. The content crawler 162 may also generate a score associated with a digital supplement, such as a relevance score or popularity (fame) score.

디지털 보충물 검색 엔진(164)은 검색 쿼리를 수신하고, 하나 이상의 잠재적으로 관련된 디지털 보충물을 포함할 수 있는 응답을 생성한다. 예를 들어, 디지털 보충물 검색 엔진(164)은 클라이언트 컴퓨팅 디바이스(102)로부터 시각적 콘텐츠 쿼리를 수신할 수 있다. 시각적 콘텐츠 쿼리는 이미지를 포함할 수 있다. 디지털 보충물 검색 엔진(164)은 이미지에서 보충물 앵커를 식별할 수 있고, 식별된 보충물 앵커에 기초하여, 관련되거나 잠재적으로 연관된 디지털 보충물을 식별할 수 있다. 디지털 보충물 검색 엔진(164)은 디지털 보충물 또는 디지털 보충물에 액세스하는데 사용될 수 있는 정보를 포함하는 응답을 클라이언트 컴퓨팅 디바이스(102)에 전송할 수 있다. 일부 구현예에서, 디지털 보충물 검색 엔진(164)은 다수의 디지털 보충물과 연관된 정보를 반환할 수 있다. 예를 들어, 디지털 보충물 목록이 쿼리에 대한 응답에 포함될 수 있다. 목록은 보충물 앵커와의 관련성, 인기도 또는 디지털 보충물의 기타 속성에 기초하여 정렬될 수 있다.The digital supplement search engine 164 receives the search query and generates a response that may include one or more potentially related digital supplements. For example, the digital supplement search engine 164 can receive a visual content query from the client computing device 102. Visual content queries can include images. The digital replenishment search engine 164 can identify the replenishment anchor in the image and, based on the identified replenishment anchor, can identify a related or potentially associated digital replenishment. The digital replenishment search engine 164 can send a response to the client computing device 102 that includes the digital replenishment or information that can be used to access the digital replenishment. In some implementations, digital supplement search engine 164 may return information associated with multiple digital supplements. For example, a list of digital supplements could be included in the response to a query. The list may be sorted based on relevance to the replenishment anchor, popularity, or other attributes of the digital replenishment.

시각적 콘텐츠 쿼리는 예를 들어 카메라 어셈블리(112)에 의해 캡처된 이미지 또는 카메라 어셈블리(112)에 의해 캡처된 이미지와 연관된 텍스트 또는 다른 데이터를 포함할 수 있다. 시각적 콘텐츠 쿼리는 또한 클라이언트 컴퓨팅 디바이스(102)의 위치 또는 클라이언트 컴퓨팅 디바이스(102)의 사용자의 식별자와 같은 다른 정보를 포함할 수 있다. 일부 구현예에서, 검색 서버(152)는 사용자 식별자로부터 클라이언트 컴퓨팅 디바이스(102)의 대략적 위치를 결정할 수 있다(예를 들어, 사용자가 사용자의 위치에 관한 정보를 사용자의 계정과 연관시키는 클라이언트 컴퓨팅 디바이스(102)에서 위치 서비스를 활성화한 경우).The visual content query may include, for example, an image captured by the camera assembly 112 or text or other data associated with an image captured by the camera assembly 112. The visual content query may also include other information such as the location of the client computing device 102 or an identifier of a user of the client computing device 102. In some implementations, the search server 152 may determine the approximate location of the client computing device 102 from the user identifier (e.g., a client computing device where the user associates information about the user's location with the user's account). (If you have enabled location services at 102).

디지털 보충물 데이터 저장소(166)는 디지털 보충물에 대한 정보를 저장한다. 일부 구현예에서, 디지털 보충물 데이터 저장소(166)는 디지털 보충물의 인덱스를 포함한다. 예를 들어, 인덱스는 콘텐츠 크롤러(162)에 의해 생성될 수 있다. 디지털 보충물 검색 엔진(164)은 검색 쿼리에 응답하기 위해 인덱스를 사용할 수 있다.The digital replenishment data store 166 stores information about digital replenishment. In some implementations, the digital supplement data store 166 includes an index of digital supplements. For example, the index may be created by the content crawler 162. The digital supplement search engine 164 may use the index to respond to the search query.

디지털 보충물 서버(172)는 컴퓨팅 디바이스이다. 디지털 보충물 서버(172)는 디지털 보충물을 제공한다. 일부 구현예에서, 디지털 보충물 서버(172)는 메모리(180), 프로세서 어셈블리(174) 및 통신 모듈(176)을 포함한다. 메모리(180)는 디지털 보충물(182) 및 메타데이터(184)를 포함할 수 있다. 일부 구현예에서, 메모리(180)는 반드시 디지털 보충물이 아닌 웹페이지와 같은 다른 네트워크 액세스 가능한 리소스를 포함할 수 있다. 예를 들어, 메모리(180)는 하나 이상의 디지털 보충물에 대한 세부 사항 및 이러한 디지털 보충물에 액세스하는 방법을 제공하기 위해 메타데이터를 포함하는 웹페이지를 저장할 수 있다. 추가적으로, 메모리(180)는 예를 들어 웹페이지 및 디지털 보충물과 같은 네트워크 액세스 가능한 리소스로 HTTP 요청과 같은 요청에 응답하는 웹 서버와 같은 리소스 서비스 엔진을 포함할 수 있다.Digital replenishment server 172 is a computing device. Digital replenishment server 172 provides digital replenishment. In some implementations, digital supplement server 172 includes memory 180, processor assembly 174 and communication module 176. The memory 180 may include a digital supplement 182 and metadata 184. In some implementations, memory 180 may include other network accessible resources such as webpages that are not necessarily digital supplements. For example, memory 180 may store webpages including metadata to provide details about one or more digital supplements and how to access such digital supplements. Additionally, the memory 180 may include a resource service engine such as a web server that responds to requests such as HTTP requests with network accessible resources such as web pages and digital supplements, for example.

디지털 보충물(182)은 사용자 주변의 물리적 환경에 있는 무언가에 대한 보충물로서 제공될 수 있는 모든 유형의 콘텐츠이다. 디지털 보충물(182)은 또한 저장된 이미지(예를 들어, 사용자 주변의 이전 물리적 환경)를 보충할 수 있는 임의의 유형의 콘텐츠를 포함할 수 있다. 예를 들어, 디지털 보충물은 이미지 또는 위치에서 식별된 이미지, 객체 또는 제품과 같은 보충물 앵커와 연관될 수 있다. 디지털 보충물(182)은 하나 이상의 이미지, 오디오 콘텐츠, 텍스트 데이터, 비디오, 게임, 데이터 파일, 애플리케이션 또는 구조화된 텍스트 문서를 포함할 수 있다. 구조화된 텍스트 문서의 예는 HTML(Hypertext Markup Language) 문서, XML 문서 및 기타 유형의 구조화된 텍스트 문서를 포함한다.Digital supplement 182 is any type of content that can be provided as a supplement to something in the physical environment around the user. The digital supplement 182 may also include any type of content that may supplement the stored image (eg, the previous physical environment around the user). For example, a digital supplement may be associated with a supplement anchor, such as an image, object, or product identified in an image or location. The digital supplement 182 may include one or more images, audio content, text data, video, games, data files, applications, or structured text documents. Examples of structured text documents include Hypertext Markup Language (HTML) documents, XML documents, and other types of structured text documents.

디지털 보충물(182)은 애플리케이션이 런칭되게 할 수 있고 그 애플리케이션에 대한 파라미터를 정의할 수 있다. 디지털 보충물(182)은 또한 요청이 서버로 전송되게 할 수 있고(예를 들어, HTTP 요청) 해당 요청에 대한 파라미터를 정의할 수 있다. 일부 구현예에서, 디지털 보충물(182)은 구매를 완료하기 위한 워크플로우와 같은 활동을 완료하기 위한 워크플로우로서 개시된다. 예를 들어, 디지털 보충물(182)은 사용자의 쇼핑 카트에 특정 상품을 추가하고, 쿠폰 코드를 추가하고, 구매 확인 페이지를 검색하는 HTTP 요청을 서버에 전송할 수 있다.Digital replenishment 182 can cause an application to be launched and define parameters for that application. The digital supplement 182 may also cause the request to be sent to the server (eg, HTTP request) and may define parameters for that request. In some implementations, digital replenishment 182 is initiated as a workflow for completing an activity, such as a workflow for completing a purchase. For example, the digital supplement 182 may send an HTTP request to the server to add a specific product to the user's shopping cart, add a coupon code, and retrieve a purchase confirmation page.

메타데이터(184)는 디지털 보충물을 설명하는 데이터이다. 메타데이터(184)는 디지털 보충물 서버(172)에 의해 제공되거나 다른 곳에서 제공되는 하나 이상의 디지털 보충물을 기술할 수 있다. 디지털 보충물에 대한 메타데이터(184)는 다음 중 하나 이상을 포함할 수 있다: 유형 표시자, 앵커 표시자, 이름, 설명, 프리뷰 스니펫 또는 발췌, 연관 이미지, 디지털 보충물에 대한 URL과 같은 링크 및 디지털 보충물과 연관된 애플리케이션의 식별자. 메타데이터는 또한 퍼블리셔 이름, 퍼블리셔 설명 및 퍼블리셔와 연관된 이미지 또는 아이콘과 같은 디지털 보충물의 퍼블리셔에 대한 정보를 포함할 수 있다. 일부 구현예에서, 메타데이터는 또한 디지털 보충물에 관한 컨텍스트 정보 또는 디지털 보충물을 제공하기 위해 충족되어야 하는 컨텍스트 정보를 포함한다. 예를 들어, 메타데이터는 디지털 보충물에 액세스하기 위해 충족되어야 하는 조건(예: 지리적 조건, 클라이언트 컴퓨팅 디바이스 요구사항, 필수 애플리케이션)을 포함할 수 있다. 예시적 컨텍스트 정보는 위치, 이미지 내에서 식별된 엔터티 또는 이미지 내에서 식별된 다수의 엔터티를 포함한다(예를 들어, 일부 디지털 보충물은 이미지 내에서 인식될 엔터티의 조합을 요구할 수 있다). 인식된 엔터티는 보충물 앵커일 수 있다. 일부 구현예에서, 인식된 엔터티는 보충물 앵커가 아니라 컨텍스트 정보를 제공한다. 메타데이터(184)는 또한 디지털 보충물과 연관된 보충물 앵커(예를 들어, 텍스트, 코드, 엔터티 또는 엔터티 유형)를 포함할 수 있다.Metadata 184 is data describing the digital supplement. Metadata 184 may describe one or more digital supplements provided by digital supplement server 172 or provided elsewhere. Metadata 184 for a digital supplement may include one or more of the following: a type indicator, an anchor indicator, a name, a description, a preview snippet or excerpt, an associated image, a URL to the digital supplement, such as The identifier of the application associated with the link and digital supplement. The metadata may also include information about the publisher of the digital supplement, such as the publisher name, publisher description, and an image or icon associated with the publisher. In some implementations, the metadata also includes context information about the digital supplement or context information that must be satisfied to provide the digital supplement. For example, the metadata may include conditions that must be met in order to access the digital supplement (eg, geographic conditions, client computing device requirements, required applications). Exemplary context information includes a location, an entity identified within the image, or multiple entities identified within the image (eg, some digital supplements may require a combination of entities to be recognized within the image). The recognized entity may be a supplement anchor. In some implementations, the recognized entity provides context information rather than a supplement anchor. The metadata 184 may also include a supplement anchor (eg, text, code, entity or entity type) associated with the digital supplement.

메타데이터(184)는 다양한 형식으로 저장될 수 있다. 일부 구현예에서, 메타데이터(184)는 데이터베이스에 저장된다. 메타데이터(184)는 또한 XML 파일, JSON 파일 또는 다른 포맷 파일로 저장될 수 있다. 일부 구현예에서, 디지털 보충물 서버(172)는 데이터베이스로부터 메타데이터(184)를 검색하고, 메타데이터(184)를 XML, JSON, 또는 다른 방식으로 포맷하여 클라이언트 또는 검색 서버(152)로부터의 요청에 대한 응답을 제공한다. 예를 들어, 검색 서버(152)는 메타데이터(184)에 액세스하여, 디지털 보충물 데이터 저장소(166)에 저장되고 클라이언트 컴퓨팅 디바이스(102)로부터의 검색 요청에 응답하는데 사용되는 데이터를 생성할 수 있다.The metadata 184 may be stored in various formats. In some implementations, metadata 184 is stored in a database. Metadata 184 may also be stored as an XML file, a JSON file, or other format file. In some implementations, the digital supplement server 172 retrieves the metadata 184 from the database, and formats the metadata 184 in XML, JSON, or other way to request a request from the client or search server 152. Provides a response to. For example, search server 152 may access metadata 184 to generate data that is stored in digital replenishment data store 166 and used to respond to search requests from client computing device 102. have.

통신 모듈(106)은 검색 서버(152) 또는 디지털 보충물 서버(172)와 같은 다른 컴퓨팅 디바이스와 통신하기 위한 하나 이상의 디바이스들을 포함한다. 통신 모듈(106)은 네트워크(190)와 같은 무선 또는 유선 네트워크를 통해 통신할 수 있다. 검색 서버(152)의 통신 모듈(156) 및 디지털 보충물 서버(172)의 통신 모듈(176)은 통신 모듈(106)과 유사할 수 있다.Communication module 106 includes one or more devices for communicating with another computing device, such as search server 152 or digital supplement server 172. The communication module 106 may communicate through a wireless or wired network such as the network 190. The communication module 156 of the search server 152 and the communication module 176 of the digital supplement server 172 may be similar to the communication module 106.

디스플레이 디바이스(108)는 예를 들어 LCD(액정 디스플레이) 화면, LED(발광 다이오드) 화면, OLED(유기 발광 다이오드) 화면, 터치 스크린 또는 이미지 또는 정보를 사용자에게 디스플레이하기 위한 다른 화면 또는 디스플레이를 포함할 수 있다. 일부 구현예에서, 디스플레이 디바이스(108)는 사용자의 눈의 일부에 광을 투사하도록 배열된 광 프로젝터를 포함한다.The display device 108 may include, for example, a liquid crystal display (LCD) screen, a light emitting diode (LED) screen, an organic light emitting diode (OLED) screen, a touch screen or other screen or display for displaying an image or information to a user. I can. In some implementations, the display device 108 includes a light projector arranged to project light onto a portion of the user's eye.

메모리(120)는 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 메모리(120)는 캡처된 이미지에 기초하여 시각적 콘텐츠 쿼리를 생성하고, 시각적 콘텐츠 쿼리를 전송하고, 시각적 콘텐츠에 대한 응답을 수신하고, 시각적 콘텐츠 쿼리에 응답하여 식별된 디지털 보충물을 제시하는 것과 같이 본 명세서에 설명된 기술을 구현하기 위해 클라이언트 컴퓨팅 디바이스(102)에 의해 사용가능한 명령어 및 데이터를 저장할 수 있다. 검색 서버(152)의 메모리(160) 및 디지털 보충물 서버(172)의 메모리(180)는 메모리(120)와 유사할 수 있으며, 각각 검색 서버(152) 및 디지털 보충물 서버(172)의 기술을 구현하는데 사용할 수 있는 데이터 명령어를 저장할 수 있다.Memory 120 may include one or more non-transitory computer-readable storage media. Memory 120, such as generating a visual content query based on the captured image, sending a visual content query, receiving a response to the visual content, and presenting the identified digital supplement in response to the visual content query. It may store instructions and data usable by the client computing device 102 to implement the techniques described herein. The memory 160 of the search server 152 and the memory 180 of the digital supplement server 172 may be similar to the memory 120, and the description of the search server 152 and the digital supplement server 172, respectively. You can store data commands that can be used to implement.

프로세서 어셈블리(104)는 시각적 검색에 대한 디지털 보충물 연관 및 검색과 연관된 다양한 작업을 수행하기 위해, 메모리(120)에 의해 저장된 명령어들과 같은 명령어들을 실행할 수 있는 하나 이상의 디바이스들을 포함한다. 예를 들어, 프로세서 어셈블리(104)는 중앙 처리 디바이스(CPU) 및/또는 그래픽 처리 디바이스(GPU)를 포함할 수 있다. 예를 들어, GPU가 있는 경우, 사용자 인터페이스 생성 및 디스플레이 또는 디지털 보충물의 일부 디스플레이와 같은 일부 이미지/비디오 렌더링 작업이 CPU로부터 GPU에 오프로딩될 수 있다. 일부 구현예에서, 일부 이미지 인식 작업은 CPU로부터 GPU로 오프로딩될 수 있다.Processor assembly 104 includes one or more devices capable of executing instructions, such as instructions stored by memory 120, to perform various tasks associated with digital replenishment association and retrieval for visual retrieval. For example, the processor assembly 104 may include a central processing device (CPU) and/or a graphics processing device (GPU). For example, if you have a GPU, some image/video rendering tasks, such as creating a user interface and displaying or displaying some of the digital supplements, can be offloaded from the CPU to the GPU. In some implementations, some image recognition tasks may be offloaded from the CPU to the GPU.

비록 도 1은 그것을 도시하지 않았지만, 일부 구현예는 HMD(head-mounted display) 디바이스를 포함한다. HMD는 클라이언트 컴퓨팅 디바이스(102)와는 별개의 디바이스일 수 있거나 클라이언트 컴퓨팅 디바이스(102)가 HMD를 포함할 수 있다. 일부 구현예에서, 컴퓨팅 디바이스(102)는 케이블을 통해 HMD(104)와 통신한다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)는 비디오 신호 및/또는 오디오 신호를 사용자를 위한 디스플레이를 위해 HMD에 전송할 수 있고, HMD는 모션, 위치 및/또는 배향 정보를 클라이언트 컴퓨팅 디바이스(102)에 전송할 수 있다.Although Figure 1 does not show it, some implementations include a head-mounted display (HMD) device. The HMD may be a separate device from the client computing device 102 or the client computing device 102 may comprise an HMD. In some implementations, computing device 102 communicates with HMD 104 via a cable. For example, the client computing device 102 may transmit a video signal and/or an audio signal to the HMD for display for a user, and the HMD may transmit motion, position and/or orientation information to the client computing device 102. I can.

클라이언트 컴퓨팅 디바이스(102)는 또한 무선 통신 프로토콜을 사용하여 클라이언트 컴퓨팅 디바이스(102)와 통신하는 제어기와 같은 다양한 사용자 입력 컴포넌트(도시되지 않음)를 포함할 수 있다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스(102)는 유선 연결(예를 들어, USB(Universal Serial Bus) 케이블)을 통해 또는 무선 통신 프로토콜(예를 들어, 임의의 WiFi 프로토콜, 임의의 BlueTooth 프로토콜, 지그비 등)을 통해 HMD(미도시)와 통신할 수 있다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스(102)는 HMD의 컴포넌트이고 HMD의 하우징 내에 포함될 수 있다.The client computing device 102 may also include various user input components (not shown) such as a controller that communicates with the client computing device 102 using a wireless communication protocol. In some implementations, the client computing device 102 is via a wired connection (e.g., a Universal Serial Bus (USB) cable) or a wireless communication protocol (e.g., any WiFi protocol, any BlueTooth protocol, ZigBee, etc. ) Through the HMD (not shown). In some implementations, the client computing device 102 is a component of the HMD and can be contained within the housing of the HMD.

네트워크(190)는 인터넷, 근거리 통신망(LAN), 무선 근거리 통신망(WLAN) 및/또는 다른 네트워크일 수 있다. 클라이언트 컴퓨팅 디바이스(102)는 예시적 구현예에서 디지털 보충물의 일부로서 제공될 수 있는 오디오/비디오 신호를 네트워크를 통해 수신할 수 있다.The network 190 may be the Internet, a local area network (LAN), a wireless local area network (WLAN), and/or another network. The client computing device 102 may receive audio/video signals over a network that may be provided as part of a digital supplement in an example implementation.

도 2는 클라이언트 컴퓨팅 디바이스(102)의 실시예가 디지털 보충물에 액세스하는 예시적 물리적 공간(200)의 3인칭 뷰이다. 이 예에서, 물리적 공간(200)은 객체(222)를 포함한다. 여기서, 객체(222)는 물리적 공간(200)의 벽에 걸린 작품이다. 객체(222)는 클라이언트 컴퓨팅 디바이스(102)의 카메라 어셈블리(112)의 시야(204) 내에 포함된다.2 is a third person view of an exemplary physical space 200 in which an embodiment of a client computing device 102 accesses a digital supplement. In this example, physical space 200 includes object 222. Here, the object 222 is a work hung on the wall of the physical space 200. The object 222 is contained within the field of view 204 of the camera assembly 112 of the client computing device 102.

예시적 사용자 인터페이스 스크린(206)이 또한 도시된다. 사용자 인터페이스 화면(206)은 예를 들어 클라이언트 컴퓨팅 디바이스(102)의 사용자 인터페이스 엔진(130)에 의해 생성될 수 있다. 사용자 인터페이스 화면(206)은 이미지 디스플레이 패널(208) 및 디지털 보충물 선택 패널(210)을 포함한다. 이미지 디스플레이 패널(208)은 이미지를 보여준다. 예를 들어, 이미지 디스플레이 패널(208)은 클라이언트 컴퓨팅 디바이스(102)의 카메라 어셈블리(112)로부터의 실시간 피드에 대응하는 이미지를 보여줄 수 있다. 일부 구현예에서, 이미지 디스플레이 패널(208)은 이전에 캡처된 이미지 또는 클라이언트 컴퓨팅 디바이스(102)의 메모리(120)로부터 검색된 이미지를 보여준다.An exemplary user interface screen 206 is also shown. The user interface screen 206 may be generated, for example, by the user interface engine 130 of the client computing device 102. The user interface screen 206 includes an image display panel 208 and a digital supplement selection panel 210. The image display panel 208 shows an image. For example, the image display panel 208 can show an image corresponding to a real-time feed from the camera assembly 112 of the client computing device 102. In some implementations, the image display panel 208 shows a previously captured image or an image retrieved from the memory 120 of the client computing device 102.

일부 구현예에서, 사용자 인터페이스 화면(206)은 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 디바이스에서 사용자에게 디스플레이된다. 일부 구현예에서, 사용자 인터페이스 화면(206)은 물리적 공간의 이미지(또는 컴퓨팅 디바이스의 카메라에 의해 캡처되는 비디오 피드)에 오버레이될 수 있다. 또한, 사용자 인터페이스 화면(206)은 사용자가 착용한 HMD를 사용하여 사용자의 시야에 AR 콘텐츠로서 디스플레이될 수 있다.In some implementations, the user interface screen 206 is displayed to the user on a display device of the client computing device 102. In some implementations, the user interface screen 206 may be overlaid on an image of the physical space (or a video feed captured by the camera of the computing device). In addition, the user interface screen 206 may be displayed as AR content in the user's field of view using the HMD worn by the user.

이미지 디스플레이 패널(208)은 또한 이미지와 관련될 수 있는 주석 또는 사용자 인터페이스 요소를 포함할 수 있다. 예를 들어, 이미지 디스플레이 패널(208)은 이미지 내의 객체(예: 객체(222))가 보충물 앵커로 인식되었음을 나타내는 표시자를 포함할 수 있다. 표시자는 식별된 보충물 앵커와 연관된 디지털 보충물에 관한 정보에 액세스하거나 보기 위한 사용자-작동 가능 제어를 포함할 수 있다. 일부 상황에서, 이미지 디스플레이 패널(208)에 디스플레이된 이미지는 보충물 앵커로 인식되는 다수의 객체를 포함할 수 있고, 이미지 디스플레이 패널(208)은 이러한 보충물 앵커를 식별하기 위해 이미지를 오버레이하는 다수의 주석을 포함할 수 있다.The image display panel 208 may also include annotations or user interface elements that may be associated with the image. For example, the image display panel 208 may include an indicator indicating that an object (eg, object 222) in the image has been recognized as a supplement anchor. The indicator may include user-operable controls to access or view information about the digital refill associated with the identified refill anchor. In some situations, the image displayed on the image display panel 208 may include multiple objects that are recognized as replenishment anchors, and the image display panel 208 overlays the image to identify such replenishment anchors. May include comments of.

보충물 앵커는 클라이언트 컴퓨팅 디바이스(102)의 보충물 앵커 식별 엔진에 의해 인식될 수 있다. 일부 구현예에서, 보충물 앵커는 이미지를 검색 서버(152)에 전송함으로써 식별된다. 그 다음, 검색 서버(152)는 이미지를 분석하고 이미지에서 보충물 앵커를 식별할 수 있다. 일부 구현예에서, 검색 서버(152)는 클라이언트 컴퓨팅 디바이스(102)에 보충물 앵커와 연관된 임의의 식별된 객체의 위치(예를 들어, 이미지 좌표) 또는 디멘션 중 하나 이상을 전송할 수 있다. 그 다음, 클라이언트 컴퓨팅 디바이스(102)는 이미지에서 보충물 앵커(또는 연관된 객체)를 식별하는 주석이 보이도록 사용자 인터페이스 화면을 업데이트할 수 있다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스(102)는 카메라 어셈블리(112)(예를 들어, 보충물 앵커 식별 엔진(124)은 검색 서버(152)에 의해 식별된 보충물 앵커를 추적할 수 있다)에 의해 캡처된 비디오 스트림(예를 들어, 시퀀스 순차적으로 캡처된 이미지)에서 보충물 앵커(또는 연관된 객체)의 위치를 추적할 수 있다.The replenishment anchor may be recognized by the replenishment anchor identification engine of the client computing device 102. In some implementations, the replenishment anchor is identified by sending the image to the search server 152. The search server 152 can then analyze the image and identify replenishment anchors in the image. In some implementations, search server 152 may send one or more of a location (eg, image coordinates) or dimension of any identified object associated with the replenishment anchor to the client computing device 102. The client computing device 102 may then update the user interface screen to show the annotation identifying the replenishment anchor (or associated object) in the image. In some implementations, the client computing device 102 is to the camera assembly 112 (e.g., the refill anchor identification engine 124 can track the refill anchor identified by the search server 152). The position of the replenishment anchor (or associated object) in the video stream captured by (eg, sequentially captured images in sequence) can be tracked.

디지털 보충물 선택 패널(210)은 사용자가 제시할 디지털 보충물을 선택할 수 있도록 한다. 예를 들어, 디지털 보충물 선택 패널(210)은 디지털 보충물과 각각 연관되는 사용자-작동 가능 제어를 포함하는 메뉴를 포함할 수 있다. 이 예에서, 디지털 보충물 선택 패널(210)은 각각 연관된 디지털 보충물에 대한 정보를 포함하는 사용자 작동 가능 제어(212) 및 사용자 작동 가능 제어(214)를 포함한다. 예를 들어, 사용자 작동 가능 제어는 검색 서버(152)로부터 수신될 수 있는 디지털 보충물과 연관된 이름(또는 제목), 간단한 설명 및 이미지 중 하나 이상을 디스플레이할 수 있다. 사용자 작동 가능 제어(212) 또는 사용자 작동 가능 제어(214)의 작동시, 연관된 디지털 보충물의 콘텐츠가 사용자에게 제시될 수 있다. 사용자에게 디지털 보충물을 제시하는 것은 클라이언트 컴퓨팅 디바이스(102)로 하여금 디지털 보충물로부터의 이미지, 비디오, 텍스트, 기타 콘텐츠 또는 이들의 조합을 포함하는 사용자 인터페이스 화면을 디스플레이하게 하는 것을 포함할 수 있다. 일부 구현예에서, 디지털 보충물 콘텐츠는 이미지 또는 카메라 피드 위에 이미지 디스플레이 패널(208) 상에 오버레이로서 디스플레이된다. 디지털 보충물 콘텐츠는 3차원 증강 현실 콘텐츠일 수 있다.The digital supplement selection panel 210 allows a user to select a digital supplement to be presented. For example, the digital replenishment selection panel 210 may include a menu including user-operable controls each associated with the digital replenishment. In this example, the digital replenishment selection panel 210 includes a user operable control 212 and a user operable control 214 each containing information about the associated digital replenishment. For example, the user operable control may display one or more of a name (or title), a brief description, and an image associated with the digital supplement that may be received from the search server 152. Upon activation of user operable control 212 or user operable control 214, the content of the associated digital supplement may be presented to the user. Presenting the digital supplement to the user may include causing the client computing device 102 to display a user interface screen comprising images, videos, text, other content, or combinations thereof from the digital supplement. In some implementations, the digital supplement content is displayed as an overlay on the image display panel 208 over the image or camera feed. The digital supplement content may be 3D augmented reality content.

일부 구현예에서, 디지털 보충물을 제시하는 것은 클라이언트 컴퓨팅 디바이스(102)에 설치된 애플리케이션(예를 들어, 다른 애플리케이션(140) 중 하나)을 동작시키는 것을 포함한다. 디지털 보충물을 제시하는 것은 또한 디지털 보충물과 연관된 URL로 요청을 전송하는 것을 포함할 수 있다. 요청은 이미지 내에서 식별된 제품 또는 객체의 식별자와 같은 디지털 보충물과 연관된 파라미터를 포함할 수 있다. 일부 구현예에서, 시각적 콘텐츠 쿼리의 이미지(또는 다른 콘텐츠)는 요청과 함께 파라미터로 전달된다. 이미지는 디지털 보충물 서버(172)와 연관된 API를 통해 제공될 수 있다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스(102)는 이미지를 디지털 보충물 서버(172)에 전송한다. 일부 구현예에서, 검색 서버(152)는 디지털 보충물 서버(172)에 이미지를 전송할 수 있다. 예를 들어, 사용자가 디지털 보충물을 선택하는 것에 응답하여, 클라이언트 컴퓨팅 디바이스(102)는 선택의 표시자를 검색 서버(152)로 전송할 수 있고, 검색 서버(152)는 이미지를 대응하는 디지털 보충물 서버에 전송할 수 있다. 클라이언트 컴퓨팅 디바이스(102)는 또한 디지털 보충물 서버(172)가 이미지에 액세스하기 위해 사용할 수 있는 검색 서버(152) 상의 위치에 URL을 전송할 수 있다. 유익하게, 이러한 구현예는 클라이언트 컴퓨팅 디바이스가 전송해야 하는 데이터의 양을 줄일 수 있다.In some implementations, presenting the digital supplement includes running an application installed on the client computing device 102 (eg, one of the other applications 140). Presenting the digital supplement may also include sending the request to a URL associated with the digital supplement. The request may include parameters associated with the digital supplement, such as the identifier of the product or object identified within the image. In some implementations, the image (or other content) of the visual content query is passed as a parameter with the request. Images may be provided through an API associated with digital supplement server 172. In some implementations, the client computing device 102 transmits the image to the digital supplement server 172. In some implementations, the search server 152 can send the image to the digital supplement server 172. For example, in response to the user selecting a digital supplement, the client computing device 102 may send an indicator of the selection to the search server 152, and the search server 152 may send the image to the corresponding digital supplement. Can be sent to the server. The client computing device 102 can also send the URL to a location on the search server 152 that the digital supplement server 172 can use to access the image. Advantageously, such implementations can reduce the amount of data the client computing device has to transmit.

사용자-작동 가능 제어(212)와 연관된 디지털 보충물은 박물관으로부터의 정보와 같은 객체(222)에 관한 정보가 디스플레이되게 할 수 있다. 사용자-작동 가능 제어(214)와 연관된 디지털 보충물은 박물관 투어와 관련된 정보가 디스플레이되게 할 수 있다. 예를 들어, 디지털 보충물을 제시하면 박물관 투어 상의 스톱(stop)이 완료된 것으로 표시되고, 다음 스톱에 관한 정보가 디스플레이되게 할 수 있다.Digital supplements associated with user-operable controls 212 can cause information about the object 222, such as information from a museum, to be displayed. Digital replenishment associated with user-operable control 214 may cause information related to museum tours to be displayed. For example, presenting a digital supplement may indicate that a stop on a museum tour has been completed and information about the next stop may be displayed.

도 3은 본 명세서에 기술된 구현예에 따른 디지털 보충물의 트리거링을 가능하게 하는 예시적 방법(300)의 다이어그램이다. 이 방법(300)은 예를 들어 검색 서버(152)의 콘텐츠 크롤러(162)에 의해 수행되어 사용자가 시각적 콘텐츠 쿼리에 기초하여 디지털 보충물에 액세스할 수 있게 한다.3 is a diagram of an exemplary method 300 that enables triggering of digital replenishment in accordance with an implementation described herein. This method 300 is performed, for example, by the content crawler 162 of the search server 152 to allow a user to access the digital supplement based on a visual content query.

동작 302에서, 디지털 보충물을 특정하는 데이터가 수신된다. 데이터는 디지털 보충물 및 디지털 보충물이 제공되어야 하는 상황을 식별할 수 있다. 디지털 보충물을 특정하는 데이터는 다양한 방식으로 수신될 수 있다. 예를 들어, 디지털 보충물을 특정하는 데이터는 디지털 보충물에 관한 메타데이터를 포함하는 웹페이지와 같은 네트워크 액세스 가능한 리소스로부터 수신될 수 있다. 디지털 보충물을 특정하는 데이터는 또한 예를 들어 검색 서버(152)에 의해 제공되는 API 또는 양식을 통해 수신될 수 있다. 디지털 보충물을 특정하는 데이터는 메모리 위치 또는 데이터 저장소로부터 수신될 수 있다.In operation 302, data specifying the digital supplement is received. The data can identify digital supplements and situations in which digital supplements should be provided. Data specifying the digital supplement can be received in a variety of ways. For example, data specifying the digital supplement may be received from a network accessible resource, such as a webpage containing metadata about the digital supplement. Data specifying the digital supplement may also be received via an API or form provided by, for example, search server 152. Data specifying the digital supplement can be received from a memory location or data store.

디지털 보충물에 대한 데이터는 디지털 보충물에 액세스하기 위해 클라이언트 컴퓨팅 디바이스에 의해 사용 가능한 액세스 데이터를 포함할 수 있다. 예를 들어, 액세스 데이터는 디지털 보충물의 URL과 해당 URL로 전달할 파라미터를 포함할 수 있다. 액세스 데이터는 애플리케이션 식별자 및 애플리케이션에 대한 파라미터를 포함할 수 있다. 디지털 보충물에 대한 데이터는 디지털 보충물에 대한 설명 데이터를 포함할 수 있다. 설명 데이터는 (예를 들어, 사용자가 디지털 보충물을 선택할 수 있는 메뉴에서) 디지털 보충물에 관한 정보를 사용자에게 제시하기 위해 클라이언트 컴퓨팅 디바이스에 의해 사용될 수 있다. 설명 데이터는 예를 들어, 이름(또는 제목, 설명, 퍼블리셔 이름 및 이미지)을 포함할 수 있다. 디지털 보충물에 관한 데이터는 또한 보충물 앵커의 식별자를 포함할 수 있다.The data for the digital supplement may include access data usable by the client computing device to access the digital supplement. For example, the access data may include a URL of the digital supplement and a parameter to be passed to the URL. The access data may include an application identifier and parameters for the application. The data for the digital supplement may include descriptive data for the digital supplement. The descriptive data can be used by the client computing device to present information about the digital supplement to the user (eg, in a menu where the user can select the digital supplement). The description data may include, for example, a name (or title, description, publisher name and image). Data regarding the digital replenishment may also include the identifier of the replenishment anchor.

동작 304에서, 수신된 데이터에 기초한 데이터 구조 인스턴스가 생성된다. 예를 들어, 데이터 구조는 데이터베이스의 기록일 수 있다. 데이터베이스는 관계형 데이터베이스일 수 있고, 데이터 구조 인스턴스는 보충물 앵커와 연관된 하나 이상의 기록과(예를 들어, 외래 키를 통해) 연결될 수 있다.In operation 304, a data structure instance is created based on the received data. For example, the data structure can be a record of a database. The database may be a relational database, and the data structure instance may be associated with one or more records (eg, via foreign keys) associated with the supplement anchor.

동작 306에서, 데이터 구조 인스턴스를 생성한 후, 시각적 콘텐츠 쿼리에 의한 디지털 보충물의 검색이 가능해진다. 예를 들어, 데이터 구조 인스턴스와 연관된 데이터베이스 필드는 디지털 보충물 검색 엔진(164)이 연관된 디지털 보충물을 액세스하고 반환할 수 있도록 활성으로 설정될 수 있다. 일부 구현예에서, 디지털 보충물의 트리거링은 데이터베이스 기록을 저장하거나 커밋하는 것을 포함할 수 있다. 일부 구현예에서, 디지털 보충물의 검색을 가능하게 하는 것은 클라이언트 컴퓨팅 디바이스에 의한 디지털 보충물의 트리거링을 가능하게 하는 것을 포함한다. 예를 들어, 인스턴스가 생성된 후, 디지털 보충물은 검색에 응답하여 클라이언트 컴퓨팅 디바이스로 반환되고, 클라이언트 컴퓨팅 디바이스에 의해 활성화되거나 제시될 수 있다.In operation 306, after creating the data structure instance, the digital replenishment by visual content query is enabled. For example, a database field associated with a data structure instance can be set to active so that the digital supplement search engine 164 can access and return the associated digital supplement. In some implementations, triggering the digital replenishment may include saving or committing a database record. In some implementations, enabling retrieval of the digital supplement includes enabling triggering of the digital supplement by a client computing device. For example, after the instance is created, the digital replenishment can be returned to the client computing device in response to the search, and activated or presented by the client computing device.

도 4은 본 명세서에 기술된 구현예에 따른 디지털 보충물의 트리거링을 가능하게 하는 예시적 방법(400)의 다이어그램이다. 이 방법(400)은 예를 들어 검색 서버(152)의 콘텐츠 크롤러(162)에 의해 수행되어 사용자가 시각적 콘텐츠 쿼리에 기초하여 디지털 보충물에 액세스할 수 있게 한다.4 is a diagram of an exemplary method 400 for enabling triggering of digital replenishment in accordance with an implementation described herein. This method 400 is performed, for example, by the content crawler 162 of the search server 152 to enable a user to access the digital supplement based on a visual content query.

동작 402에서, 네트워크 액세스 가능 리소스가 분석된다. 일부 구현예에서, 네트워크 액세스 가능 리소스는 예를 들어 디지털 보충물 서버(172)에 의해 서비스되는 웹페이지이다. 일부 구현예에서, 네트워크 액세스 가능한 리소스의 세트가 분석된다. 네트워크 액세스 가능한 리소스의 세트는 양식 또는 API를 통한 제출을 기반으로 생성될 수 있다. 일부 구현예에서, 네트워크 액세스 가능 리소스의 세트는 URL을 식별하기 위해 다른 네트워크 액세스 가능 리소스를 크롤링함으로써 생성될 수 있다. 이 크롤링 프로세스는 재귀적으로 수행될 수 있다.In operation 402, the network accessible resource is analyzed. In some implementations, the network accessible resource is, for example, a webpage served by the digital supplement server 172. In some implementations, a set of network accessible resources is analyzed. The set of network-accessible resources can be created based on a form or submission via API. In some implementations, the set of network accessible resources can be created by crawling other network accessible resources to identify URLs. This crawling process can be performed recursively.

동작 404에서, 네트워크 액세스 가능 리소스 내의 디지털 보충물과 연관된 메타데이터가 식별된다. 일부 구현예에서, 네트워크 액세스 가능 리소스는 디지털 보충물과 연관된 메타데이터의 표시자를 포함할 수 있다. 예를 들어, 네트워크 액세스 가능 리소스는 메타데이터를 포함하는 네트워크 액세스 가능 리소스의 일부를 식별하는 태그를 포함할 수 있다. 태그는 특정 유형 또는 속성을 가진 XML 태그일 수 있다. 태그는 메타데이터를 포함하는 JSON 데이터 구조를 포함하는 스크립트 태그와 같은 HTML 태그일 수 있다.In operation 404, metadata associated with the digital supplement in the network accessible resource is identified. In some implementations, the network accessible resource may include an indicator of metadata associated with the digital supplement. For example, the network accessible resource may include a tag that identifies a portion of the network accessible resource including metadata. Tags can be XML tags with specific types or attributes. The tag may be an HTML tag such as a script tag including a JSON data structure including metadata.

동작 406에서, 메타데이터에 기초한 디지털 보충물 데이터 구조 인스턴스가 생성된다. 동작 406은 동작 304와 유사할 수 있다.In operation 406, a digital supplement data structure instance based on the metadata is created. Operation 406 may be similar to operation 304.

동작 408에서, 시각적 콘텐츠 쿼리가 수신된다. 시각적 콘텐츠 쿼리는 예를 들어 클라이언트 컴퓨팅 디바이스(102)와 같은 클라이언트 컴퓨팅 디바이스에 의해 전송될 수 있다. 일부 구현예에서, 시각적 콘텐츠 쿼리는 이미지를 포함한다. 시각적 콘텐츠 쿼리는 이미지를 설명하는 텍스트 데이터를 포함할 수 있다. 예를 들어, 텍스트 데이터는 클라이언트 컴퓨팅 디바이스의 카메라 어셈블리에 의해 캡처된 이미지 내의 보충물 앵커의 식별자를 포함할 수 있다. 일부 구현예에서, 시각적 콘텐츠 쿼리는 또한 클라이언트 컴퓨팅 디바이스의 위치 또는 클라이언트 컴퓨팅 디바이스와 연관된 사용자 계정의 식별자와 같은 다른 정보를 포함한다.In operation 408, a visual content query is received. The visual content query may be sent by a client computing device such as client computing device 102, for example. In some implementations, the visual content query includes images. The visual content query can include textual data describing the image. For example, the textual data may include an identifier of a replenishment anchor in an image captured by the camera assembly of the client computing device. In some implementations, the visual content query also includes other information, such as the location of the client computing device or an identifier of a user account associated with the client computing device.

동작 410에서, 다수의 디지털 보충물 데이터 구조 인스턴스가 시각적 콘텐츠 쿼리에 기초하여 식별된다. 일부 구현예에서, 보충물 앵커는 시각적 콘텐츠 쿼리에서 제공된 이미지 내에서 식별된다. 보충물 앵커는 관련 디지털 보충물에 대한 인덱스 또는 데이터베이스를 쿼리하는데 사용될 수 있다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스의 위치 또는 사용자 계정과 연관된 정보와 같이, 쿼리와 함께 제공된 다른 데이터도 디지털 보충물을 식별하는데 사용될 수 있다. 일부 구현예에서, 관련 보충물 앵커를 식별하기 위해 다수의 보충물 앵커가 사용된다.In operation 410, multiple instances of the digital supplement data structure are identified based on the visual content query. In some implementations, replenishment anchors are identified within the image provided in the visual content query. Replenishment anchors can be used to query an index or database for a related digital replenishment. In some implementations, other data provided with the query may also be used to identify the digital supplement, such as information associated with the location of the client computing device or user account. In some embodiments, multiple replenishment anchors are used to identify related replenishment anchors.

동작 412에서, 다수의 디지털 보충물 데이터 구조 인스턴스의 정렬이 결정된다. 정렬은 디지털 보충물과 연관된 다양한 점수 또는 시각적 콘텐츠 쿼리에 대한 디지털 보충물의 관련성에 기초할 수 있다. 일부 구현예에서, 시각적 콘텐츠 쿼리에 대한 디지털 보충물의 관련성에 대응하는 관련성 점수는 다수의 디지털 보충물 데이터 구조 인스턴스를 정렬하는데 사용된다.In operation 412, an alignment of multiple instances of the digital supplement data structure is determined. The alignment may be based on various scores associated with the digital supplement or the relevance of the digital supplement to a visual content query. In some implementations, a relevance score corresponding to the relevance of the digital supplement to a visual content query is used to sort multiple instances of the digital supplement data structure.

관련성 점수는 디지털 보충물의 콘텐츠 중 하나 이상, 디지털 보충물에 링크되는 네트워크 액세스가능 리소스의 콘텐츠(또는 디지털 보충물과 연관된 네트워크 액세스 가능 리소스), 다른 네트워크 액세스 가능 리소스의 디지털 보충물에 대한 링크 근처의 링크 텍스트 또는 콘텐츠와 같은 다수의 요인으로부터 결정될 수 있다.The relevance score is based on one or more of the content of the digital supplement, the content of a network accessible resource that is linked to the digital supplement (or a network accessible resource associated with the digital supplement), and a link to the digital supplement of another network accessible resource. It can be determined from a number of factors such as link text or content.

점수는 인기도 메트릭에 기초할 수 있다. 명성 메트릭은 인기 메트릭의 예이다. 명성 메트릭은 얼마나 많은 다른 네트워크 리소스가 디지털 보충물에 링크되는지와 다른 네트워크 액세스 가능 리소스의 명성 점수의 조합에 기초할 수 있다. 일부 구현예에서, 인기도 점수는 디지털 리소스가 얼마나 자주 선택되는지 또는 선택되었는지에 기초할 수 있다. 일부 구현예에서, 인기도 점수는 시각적 콘텐츠 쿼리를 위해 디지털 리소스가 얼마나 자주 선택되는지에 대응할 수 있다.The score can be based on a popularity metric. The reputation metric is an example of a popularity metric. The reputation metric may be based on a combination of how many other network resources are linked to the digital supplement and the reputation score of other network accessible resources. In some implementations, the popularity score may be based on how often or how often the digital resource was selected. In some implementations, the popularity score may correspond to how often digital resources are selected for visual content query.

점수는 결정되거나 데이터 저장소 또는 API로부터 검색될 수 있다. 일부 구현예에서, API는 디지털 보충물에 대한 점수를 검색하기 위해 액세스된다. 예를 들어, 점수는 보충물 앵커에 기초한 검색 용어와 관련하여 디지털 리소스에 대한 관련성 및/또는 인기도를 결정한 검색 엔진으로부터 검색될 수 있다.The score can be determined or retrieved from a data store or API. In some implementations, the API is accessed to retrieve scores for digital supplements. For example, the score may be retrieved from a search engine that has determined relevance and/or popularity to a digital resource in relation to a search term based on a supplement anchor.

다수의 디지털 보충물 데이터 구조는 또한 특정 사용자(예를 들어, 클라이언트 컴퓨팅 디바이스의 사용자)에 의한 사용 빈도 또는 특정 사용자에 의한 최근 사용에 기초하여 정렬될 수 있다. 일부 구현예에서, 다중 디지털 보충물 데이터 구조는 무작위로 정렬된다.The multiple digital supplement data structures may also be ordered based on frequency of use by a particular user (eg, a user of a client computing device) or recent usage by a particular user. In some implementations, multiple digital supplement data structures are randomly ordered.

동작 414에서, 시각적 콘텐츠 쿼리는 다수의 디지털 보충물 데이터 구조 인스턴스에 기초하여 응답된다. 예를 들어, 다수의 디지털 보충물 데이터 구조 인스턴스와 연관된 정보는 동작 412에서 결정된 순서대로 클라이언트 컴퓨팅 디바이스에 전송될 수 있다. 일부 구현예에서, 정보는 디지털 보충물의 사용자 선택을 수신하도록 구성된 메뉴 또는 다른 유형의 사용자 인터페이스에 표시될 수 있는 설명 데이터를 포함한다. 정보는 또한 디지털 보충물에 액세스하거나 제시하기 위해 클라이언트 컴퓨팅 디바이스에 의해 사용될 수 있는 액세스 데이터를 포함할 수 있다.In operation 414, the visual content query is answered based on the number of instances of the digital supplement data structure. For example, information associated with multiple instances of the digital supplement data structure may be transmitted to the client computing device in the order determined in operation 412. In some implementations, the information includes descriptive data that may be displayed in a menu or other type of user interface configured to receive user selections of the digital supplement. The information may also include access data that can be used by the client computing device to access or present the digital supplement.

도 5는 본 명세서에 기술된 구현예에 따른 디지털 보충물을 검색하고 제시하는 예시적 방법(500)의 다이어그램이다. 이 방법(500)은 예를 들어 클라이언트 컴퓨팅 디바이스(102)의 애플리케이션(122)에 의해 수행되어, 시각적 콘텐츠 쿼리에 기초하여 디지털 보충물을 식별하고 액세스할 수 있다.5 is a diagram of an exemplary method 500 of retrieving and presenting digital supplements in accordance with an implementation described herein. The method 500 may be performed, for example, by the application 122 of the client computing device 102 to identify and access the digital supplement based on a visual content query.

동작 502에서, 이미지에 기초한 시각적 콘텐츠 쿼리가 서버 컴퓨팅 디바이스(예: 검색 서버(152))에 전송된다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)의 카메라 어셈블리(112)로 이미지가 캡처될 수 있다. 이미지는 또한 카메라 어셈블리(112)에 의해 이전에 캡처되었던 이미지와 같은 저장된 이미지일 수 있다. 일부 구현예에서, 시각적 콘텐츠 쿼리는 이미지만 포함한다. 일부 구현예에서, 시각적 콘텐츠 쿼리는 추가 정보를 포함한다. 예를 들면, 시각적 콘텐츠 쿼리는 클라이언트 컴퓨팅 디바이스(102)의 위치 또는 클라이언트 컴퓨팅 디바이스(102)의 사용자와 연관된 계정의 식별자와 같은 정보를 포함할 수 있다. 애플리케이션(122)은 또한(예를 들어, 보충물 앵커 식별 엔진(124)을 사용하여) 이미지에서 앵커를 식별할 수 있다. 시각적 콘텐츠 쿼리는 식별된 앵커의 식별자(예를 들어, 텍스트, 숫자 또는 다른 유형의 식별자)를 포함할 수 있다. 적어도 일부 구현예에서, 시각적 콘텐츠 쿼리는 이미지를 포함하지 않는다.In operation 502, a visual content query based on the image is transmitted to a server computing device (eg, search server 152). For example, an image may be captured with the camera assembly 112 of the client computing device 102. The image may also be a stored image, such as an image that was previously captured by the camera assembly 112. In some implementations, the visual content query includes only images. In some implementations, the visual content query includes additional information. For example, the visual content query may include information such as the location of the client computing device 102 or an identifier of an account associated with a user of the client computing device 102. Application 122 can also identify anchors in the image (eg, using replenishment anchor identification engine 124). The visual content query may include the identifier of the identified anchor (eg, text, number, or other type of identifier). In at least some implementations, the visual content query does not include an image.

일부 구현예에서, 시각적 콘텐츠 쿼리를 서버로 전송하는 것은 API 호출을 포함한다. 일부 구현예에서, 시각적 콘텐츠 쿼리를 서버로 전송하는 것은 서버에 의해 제공되는 API를 호출하는 것을 포함한다. 일부 구현예에서, 시각적 콘텐츠 쿼리를 서버로 전송하는 것은 HTTP 프로토콜을 사용하여 양식을 제출하는 것(예를 들어, GET 또는 POST 요청을 제출하는 것)을 포함한다.In some implementations, sending the visual content query to the server includes an API call. In some implementations, sending the visual content query to the server includes calling an API provided by the server. In some implementations, sending the visual content query to the server includes submitting the form (eg, submitting a GET or POST request) using the HTTP protocol.

동작 504에서, 디지털 보충물을 식별하는 시각적 콘텐츠 쿼리에 대한 응답이 수신된다. 응답은 검색 서버(152)로부터 네트워크(190)를 통해 수신될 수 있다. 응답은 검색 서버(152)에 의해 시각적 콘텐츠 쿼리에 기초하여 식별되었던 하나 이상의 디지털 보충물을 포함할 수 있다. 예를 들어, 응답은 디지털 보충물과 연관된 데이터의 배열을 포함할 수 있다. 일부 구현예에서, 디지털 보충물과 연관된 데이터는 사용자가 선택할 수 있는 디지털 보충물 옵션을 제시하는데 사용될 수 있는 설명 데이터를 포함할 수 있다. 예를 들어, 설명 데이터는 이름, 간단한 설명, 퍼블리셔 이름 및 이미지를 포함할 수 있다. 데이터는 URL 또는 애플리케이션 이름 및 연관 파라미터를 통한 요청과 함께 포함할 URL 및 파라미터와 같은 액세스 데이터를 포함할 수 있다. 데이터는 또한(예를 들어, 보충물 앵커가 검색 서버(152)에 의해 식별되는 경우) 시각적 콘텐츠 쿼리와 함께 전송된 이미지에서 보충물 앵커의 위치, 좌표 또는 디멘션을 포함할 수 있다.In operation 504, a response to a visual content query identifying a digital supplement is received. The response may be received from the search server 152 over the network 190. The response may include one or more digital supplements that have been identified based on the visual content query by the search server 152. For example, the response may include an arrangement of data associated with the digital supplement. In some implementations, the data associated with the digital supplement can include descriptive data that can be used to present a user selectable digital supplement option. For example, the description data may include a name, a brief description, a publisher name and an image. The data may include access data such as URLs and parameters to include with requests via URL or application name and associated parameters. The data may also include the location, coordinates, or dimensions of the replenishment anchor in the image sent with the visual content query (eg, if the replenishment anchor is identified by search server 152).

동작 506에서, 디지털 보충물과 연관된 정보를 포함하는 사용자 인터페이스 화면이 디스플레이된다. 일부 구현예에서, 사용자 인터페이스 화면은(예를 들어, 제공된 좌표에 기초하여) 식별된 보충물 앵커를 오버레이하는 주석을 포함한다. 주석은 식별된 보충물 앵커와 연관된 이미지의 객체에 관한 정보를 제공할 수 있다. 주석은 디지털 보충물을 제시하거나 활성화하기 위해 작동될 수 있는 사용자가 작동 가능 제어를 포함할 수 있다. 사용자 인터페이스 화면은 또한 동작 504에서 수신된 응답에서 식별되는 다수의 디지털 보충물로부터 선택하는데 사용될 수 있는 디지털 보충물 선택 패널을 포함할 수 있다. 일부 구현예에서, 사용자 인터페이스 화면은 디지털 보충물에 의해 특정된 URL을 여는 웹브라우저에 의해 생성될 수 있다. 사용자 인터페이스 화면은 디지털 보충물을 제공하기 위해 런칭되는 다른 애플리케이션에 의해 생성될 수 있다.In operation 506, a user interface screen including information associated with the digital supplement is displayed. In some implementations, the user interface screen includes annotations overlaying the identified replenishment anchor (eg, based on the coordinates provided). The annotation may provide information about the object in the image associated with the identified replenishment anchor. Annotations can include user-operable controls that can be activated to present or activate digital supplements. The user interface screen may also include a digital supplement selection panel that can be used to select from a number of digital supplements identified in the response received in operation 504. In some implementations, the user interface screen may be generated by a web browser that opens a URL specified by the digital supplement. User interface screens can be created by other applications launched to provide digital supplements.

도 6은 본 명세서에 기술된 구현예에 따라, 이미지에 기초하여 디지털 보충물을 식별하고 제시하는 예시적 방법(600)의 다이어그램이다. 이 방법(600)은 예를 들어 클라이언트 컴퓨팅 디바이스(102)의 애플리케이션(122)에 의해 수행되어, 시각적 콘텐츠 쿼리에 기초하여 디지털 보충물을 식별하고 액세스할 수 있다.6 is a diagram of an exemplary method 600 of identifying and presenting a digital supplement based on an image, in accordance with an implementation described herein. The method 600 may be performed, for example, by the application 122 of the client computing device 102 to identify and access the digital supplement based on a visual content query.

동작 602에서, 이미지가 캡처된다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)의 카메라 어셈블리(112)에 의해 이미지가 캡처될 수 있다. 일부 구현예에서, 이미지의 시퀀스(즉, 비디오)가 카메라 어셈블리(112)에 의해 캡처될 수 있다.In operation 602, an image is captured. For example, an image may be captured by the camera assembly 112 of the client computing device 102. In some implementations, a sequence of images (ie, video) may be captured by the camera assembly 112.

동작 604에서, 이미지에 기초한 시각적 콘텐츠 쿼리가 검색 서버(152)와 같은 서버 컴퓨팅 디바이스에 전송된다. 동작 604은 동작 502와 유사할 수 있다. 이미지 시퀀스가 캡처되는 구현예에서, 시각적 콘텐츠 쿼리는 다수의 이미지 또는 이미지 시퀀스를 포함할 수 있다. 일부 구현예에서, 이미지 시퀀스는 서버 컴퓨팅 디바이스로 스트리밍될 수 있다.In operation 604, a visual content query based on the image is transmitted to a server computing device, such as search server 152. Operation 604 may be similar to operation 502. In embodiments in which image sequences are captured, the visual content query may include multiple images or image sequences. In some implementations, the sequence of images can be streamed to a server computing device.

동작 606에서, 다수의 디지털 보충물을 식별하는 시각적 콘텐츠 쿼리에 대한 응답이 수신된다. 동작 606은 이전에 설명된 동작 504와 유사할 수 있다.In operation 606, a response to a visual content query identifying a number of digital supplements is received. Operation 606 may be similar to operation 504 previously described.

동작 608에서, 다수의 디지털 보충물로부터 디지털 보충물을 선택하기 위한 사용자 작동 가능 제어를 포함하는 사용자 인터페이스 화면이 디스플레이된다. 예를 들어, 디지털 보충물 선택 패널이 디스플레이될 수 있다. 디지털 보충물 선택 패널은 각각이 응답에서 식별된 다수의 디지털 보충물 중 하나와 연관된 다수의 사용자 작동 가능 제어를 포함할 수 있다. 디지털 보충물 선택은 서버 컴퓨팅 디바이스에 의해 제공되는 디지털 보충물의 순서 또는 순위에 기초하여 사용자 작동 가능한 제어를 배열할 수 있다. 디지털 보충물 선택 패널은 사용자 작동 가능 제어를 수직, 수평 또는 기타 방식으로 배열할 수 있다. 사용자 작동 가능 제어는 사용자가 디지털 보충물을 선택할지 여부를 결정할 때 고려할 수 있는 연관 디지털 보충물에 대한 정보와 연관되거나 그러한 정보를 포함할 수 있다. 예를 들어, 디스플레이되는 정보는 디지털 보충물에 대한 이름, 설명, 이미지 및 퍼블리셔 이름 중 하나 이상을 포함할 수 있다.In operation 608, a user interface screen is displayed including a user operable control for selecting a digital supplement from a plurality of digital supplements. For example, a digital supplement selection panel may be displayed. The digital replenishment selection panel may include a number of user-operable controls each associated with one of the plurality of digital replenishments identified in the response. The digital replenishment selection may arrange user-operable controls based on the order or ranking of the digital replenishments provided by the server computing device. The digital refill selection panel can arrange user-operable controls vertically, horizontally or otherwise. The user operable control may be associated with or include information about the associated digital supplement that the user may consider when deciding whether to select a digital supplement. For example, the displayed information may include one or more of a name, description, image, and publisher name for the digital supplement.

단계 610에서, 디지털 보충물을 선택하기 위한 사용자 입력이 수신된다. 사용자 입력은 마우스 또는 기타 디바이스를 사용한 클릭일 수 있다. 사용자 입력은 스타일러스 또는 손가락의 터치 입력일 수 있다. 사용자 입력의 또 다른 예는 니어 터치 입력(예를 들어, 화면에 근접한 손가락 또는 포인팅 디바이스 잡기)이다. 일부 구현예에서, 사용자 입력은 또한 손 제스처, 머리 모션, 눈을 사용한 액션 또는 음성 입력을 포함할 수 있다.In step 610, a user input for selecting a digital supplement is received. The user input can be a click using a mouse or other device. The user input may be a stylus or a finger touch input. Another example of user input is near touch input (eg, holding a finger or pointing device close to the screen). In some implementations, user input may also include hand gestures, head motion, action using eyes, or voice input.

동작 612에서, 정보는 선택된 디지털 보충물과 연관된 리소스에 제공된다. 예를 들어, 클라이언트 컴퓨팅 디바이스의 사용자에 관한 정보는 디지털 보충물을 제공하는 서버에 전송될 수 있다(정보 제공 권한이 제공된 경우). 정보는 디지털 보충물을 제공하는 애플리케이션에 제공될 수 있다. 다양한 유형의 정보가 제공될 수 있다. 예를 들어, 정보는 사용자 이름, 사용자 선호 또는 위치와 같은 사용자 정보를 포함할 수 있다.In operation 612, the information is provided to the resource associated with the selected digital supplement. For example, information about a user of a client computing device may be transmitted to a server that provides a digital supplement (if the right to provide information is provided). The information can be provided to applications that provide digital supplements. Various types of information can be provided. For example, the information may include user information such as a user name, user preference or location.

정보는 또한 이미지 또는 이미지 시퀀스와 같은 시각적 콘텐츠 쿼리와 관련된 정보를 포함할 수 있다. 정보는 또한 이미지에서 하나 이상의 보충물 앵커의 식별자 및/또는 포지션을 포함할 수 있다. 이 정보는 사용자에게 디지털 보충물을 제공하는데 사용될 수 있다. 예를 들어, 디지털 보충물의 AR 콘텐츠는 이미지에 기초하여 사이징 및 포지셔닝될 수 있다.The information may also include information related to a visual content query, such as an image or sequence of images. The information may also include an identifier and/or position of one or more supplement anchors in the image. This information can be used to provide digital supplements to users. For example, the AR content of a digital supplement can be sized and positioned based on the image.

정보는 클라이언트 컴퓨팅 디바이스(102)에 의해 디지털 보충물과 연관된 리소스(예를 들어, 디지털 보충물 서버(172))에 직접 전송될 수 있다. 일부 구현예에서, 정보는 검색 서버(152)에 의해 디지털 보충물과 연관된 리소스에 제공된다(예를 들어, 클라이언트 컴퓨팅 디바이스는 많은 데이터를 전송할 필요가 없음). 이들 구현예 중 적어도 일부에서, 클라이언트 컴퓨팅 디바이스(102)는 선택된 디지털 보충물을 식별하는 선택 정보를 검색 서버(152)에 전송할 수 있다. 선택을 수신하고 사용자가 정보의 공유를 승인했음을 확인하면, 검색 서버(152)는 디지털 보충물을 제공하는 리소스에 정보를 전송할 수 있다. 클라이언트 컴퓨팅 디바이스(102)는 또한 사용자에게 정보 공유를 허용하도록 프롬프트할 수 있다. 일부 구현예에서, 검색 서버(152)는 디지털 보충물 데이터 구조 인스턴스(디지털 보충물과 연관된 메타데이터에 기초할 수 있음)에 기초하여 리소스에 전송할 정보를 결정할 수 있다.The information may be transmitted directly by the client computing device 102 to a resource associated with the digital supplement (eg, digital supplement server 172 ). In some implementations, the information is provided by search server 152 to a resource associated with the digital supplement (eg, the client computing device does not need to transmit a lot of data). In at least some of these implementations, the client computing device 102 can send selection information to the search server 152 that identifies the selected digital supplement. Upon receiving the selection and confirming that the user has authorized the sharing of the information, the search server 152 may transmit the information to a resource that provides a digital supplement. Client computing device 102 may also prompt the user to allow information sharing. In some implementations, search server 152 may determine the information to send to the resource based on the digital supplement data structure instance (which may be based on metadata associated with the digital supplement).

동작 614에서, 사용자 인터페이스는 선택된 디지털 보충물에 기초하여 업데이트된다. 동작 614은 동작 506와 유사할 수 있다.In operation 614, the user interface is updated based on the selected digital supplement. Operation 614 may be similar to operation 506.

도 7a-7c는 시각적 콘텐츠 검색을 수행하고 디지털 보충물을 디스플레이하기 위한 클라이언트 컴퓨팅 디바이스(102)의 실시예에 의해 디스플레이되는 사용자 인터페이스 스크린의 개략도이다. 도 7a에 사용자 인터페이스 화면(700a)이 도시된다. 사용자 인터페이스 화면(700a)은 이미지 디스플레이 패널(708) 및 정보 패널(730)을 포함한다. 이 예에서, 이미지 디스플레이 패널(708)은 (예를 들어, 상점에서 찾을 수 있는 바와 같이) 와인병으로 가득 찬 선반의 이미지를 디스플레이하고 있다. 이미지 디스플레이 패널(708)은 또한 표시자(740) 및 표시자(742)를 포함한다. 이러한 각 표시자는 표시자 아래 이미지에 표시된 와인 병이 보충물 앵커로서 인식되었음을 나타낸다(예: 이 경우에는 인식된 제품). 표시자(740) 및 표시자(742)는 사용자 작동 가능 제어의 예이다. 정보 패널(730)에는 "관심있는 항목을 탭하십시오."라는 지시가 제공된다.7A-7C are schematic diagrams of user interface screens displayed by an embodiment of a client computing device 102 for performing visual content searches and displaying digital supplements. A user interface screen 700a is shown in FIG. 7A. The user interface screen 700a includes an image display panel 708 and an information panel 730. In this example, image display panel 708 is displaying an image of a shelf full of wine bottles (eg, as found in a store). The image display panel 708 also includes an indicator 740 and an indicator 742. Each of these indicators indicates that the wine bottle shown in the image below the indicator has been recognized as a replenishment anchor (eg, recognized product in this case). Indicator 740 and indicator 742 are examples of user operable controls. The information panel 730 is provided with instructions to "Tap the item of interest."

도 7b에서, 사용자가 표시자(740)를 작동시킨 후에 사용자 인터페이스 화면(700b)이 도시된다. 작동 후, 디지털 보충물로부터의 주석(744)이 디스플레이된다. 주석(744)은 와인의 등급에 관한 정보를 포함하며, 이는 사용자가 구매할 와인을 선택하는데 도움이 될 수 있다.In FIG. 7B, a user interface screen 700b is shown after the user operates the indicator 740. After operation, the annotation 744 from the digital replenishment is displayed. The annotation 744 contains information about the grade of the wine, which can help the user select the wine to purchase.

도 7c에서, 사용자가 표시자(740)를 작동시킨 후에 다른 사용자 인터페이스 화면(700c)이 도시된다. 사용자 인터페이스 화면(700c)은 사용자 인터페이스 화면(700b) 대신에 또는 이에 추가하여 표시될 수 있다(예를 들어, 주석(744)의 작동 후 또는 사용자가 도 7b의 정보 패널(730)에서 위로 스와이프하는 경우). 도 7c에서, 확장된 정보 패널(732)이 도시된다. 확장된 정보 패널(732)은 도 7a 내지 도 7b에서 정보 패널(730)이 차지한 것보다 사용자 인터페이스 화면(700c)을 더 많이 차지한다.In FIG. 7C, another user interface screen 700c is shown after the user operates the indicator 740. The user interface screen 700c may be displayed instead of or in addition to the user interface screen 700b (for example, after the operation of the annotation 744 or the user swipes upward on the information panel 730 of FIG. 7B ). If so). In Fig. 7C, an expanded information panel 732 is shown. The expanded information panel 732 occupies more of the user interface screen 700c than that of the information panel 730 in FIGS. 7A to 7B.

확장 정보 패널(732)은 디지털 보충물 선택 패널(710) 및 디지털 보충물 콘텐츠 디스플레이 패널(734)을 포함한다. 디지털 보충물 선택 패널(710)은 사용자 작동 가능 제어(712), 사용자 작동 가능 제어(714) 및 사용자 작동 가능 제어(716)(부분적으로만 보임)를 포함한다. 일부 구현예에서, 사용자가 디지털 보충물 선택 패널(710)을 스와이프한 경우 추가적인 사용자 작동 가능한 제어가 디스플레이될 수 있다. 디지털 보충물 선택 패널(710)의 사용자 작동 가능 제어는 순위가 매겨진 순서로 배열될 수 있다. 사용자 작동 가능 제어(712)는 식사 페어링을 위한 디지털 보충물과 연관된다. 사용자 작동 가능 제어(712)의 작동시, 선택된 와인에 대한 음식 및 식사 페어링 정보를 디스플레이하는 디지털 보충물이 디스플레이될 수 있다. 사용자 작동 가능 제어(714)는 사진을 저장하는 디지털 보충물과 연관된다. 작동시, 사진을 저장하는 애플리케이션이 활성화되어, 이미지가 제공될 수 있다. 추가 정보가 식별된 보충물 앵커와 같은 사진과 함께 저장될 수 있다.The extended information panel 732 includes a digital supplement selection panel 710 and a digital supplement content display panel 734. The digital replenishment selection panel 710 includes a user operable control 712, a user operable control 714 and a user operable control 716 (shown in part only). In some implementations, additional user operable controls may be displayed when the user swipes the digital supplement selection panel 710. The user operable controls of the digital supplement selection panel 710 may be arranged in a ranked order. The user operable control 712 is associated with a digital supplement for meal pairing. Upon activation of the user operable control 712, a digital supplement may be displayed displaying food and meal pairing information for the selected wine. User operable control 714 is associated with a digital replenishment that stores photos. In operation, an application that stores a photo is activated and an image can be provided. Additional information can be stored along with a picture, such as an identified replenishment anchor.

디지털 보충물 콘텐츠 디스플레이 패널(734)은 디지털 보충물로부터 콘텐츠를 디스플레이할 수 있다. 디지털 보충물 콘텐츠 디스플레이 패널(734)은 디폴트 디지털 보충물 또는 식별된 보충물 앵커와 연관된 가장 높은 순위의 디지털 보충물을 디스플레이할 수 있다. 이 예에서, 디지털 보충물 콘텐츠 디스플레이 패널(734)은 선택된 보충물 앵커와 연관된 제품에 관한 제품 정보를 포함한다. 이 경우 와인 이름, 등급, 원산지, 이미지, 코멘트가 제공된다.The digital supplement content display panel 734 may display content from the digital supplement. The digital supplement content display panel 734 may display the default digital supplement or the highest ranked digital supplement associated with the identified supplement anchor. In this example, digital replenishment content display panel 734 includes product information regarding a product associated with the selected refill anchor. In this case, the wine name, grade, country of origin, image and comment are provided.

도 8a-8c는 시각적 콘텐츠 검색을 수행하고 디지털 보충물을 디스플레이하기 위한 클라이언트 컴퓨팅 디바이스(102)의 실시예에 의해 디스플레이되는 사용자 인터페이스 스크린의 개략도이다. 이 예에서 시각적 콘텐츠 검색은 영수증 이미지에 기초한다.8A-8C are schematic diagrams of user interface screens displayed by an embodiment of a client computing device 102 for performing visual content retrieval and displaying digital supplements. The visual content search in this example is based on the receipt image.

도 8a에 사용자 인터페이스 화면(800a)이 도시된다. 사용자 인터페이스 화면(800a)은 이미지 디스플레이 패널(808) 및 정보 패널(830)을 포함한다. 이 예에서, 이미지 디스플레이 패널(808)은 레스토랑의 영수증 이미지를 디스플레이하고 있다. 이미지 디스플레이 패널(808)은 또한 표시자(840), 표시자(842), 주석(844) 및 하이라이트 오버레이(846)를 포함한다. 이 경우, 표시자(840)는 영수증과 문서로서 연관되고, 표시자(842)는 영수증에 명명된 특정 레스토랑과 연관된다. 식별된 영수증 문서와 식별된 레스토랑 이름은 모두 보충물 앵커의 예이다.A user interface screen 800a is shown in FIG. 8A. The user interface screen 800a includes an image display panel 808 and an information panel 830. In this example, image display panel 808 is displaying an image of the restaurant's receipt. The image display panel 808 also includes an indicator 840, an indicator 842, an annotation 844 and a highlight overlay 846. In this case, the indicator 840 is associated with the receipt as a document, and the indicator 842 is associated with the specific restaurant named in the receipt. Both the identified receipt document and the identified restaurant name are examples of replenishment anchors.

주석(844)은 팁 계산기를 제공하는 디지털 보충물과 연관된다. 이 예에서, 예시적 팁 계산이 주석(844)에 포함되고, 이미지 디스플레이 패널(808) 상의 적절한 포지션에 오버레이된다. 일부 구현예에서, 디지털 보충물은 디폴트로 선택되고 적절한 보충물 앵커를 식별할 때 디스플레이될 수 있다. 하이라이트 오버레이(846)는 팁 계산기 디지털 보충물에 의해 사용되는 정보를 포함하는 영수증 문서의 일부 위에 오버레이된다.Annotation 844 is associated with a digital supplement that provides a tip calculator. In this example, an exemplary tip calculation is included in the annotation 844 and is overlaid at the appropriate position on the image display panel 808. In some implementations, digital replenishment can be selected by default and displayed when identifying an appropriate replenishment anchor. A highlight overlay 846 is overlaid over a portion of the receipt document containing information used by the tip calculator digital supplement.

이 예에서, 정보 패널(830)에 디스플레이된 아이템은 마치 표시자(840)가 작동된 것처럼 영수증과 연관된 문서이다. 일부 구현예에서, 식별된 보충물 앵커는 예를 들어, 사용자의 과거 액션, 유사한 이미지에 대한 다른 사용자의 액션, 보충물 앵커에 대한 신뢰도 점수, 또는 보충물 앵커와 관련된 이미지의 부분의 포지션 또는 크기에 기초하여, 사용자의 관련성 또는 관심에 기초하여 랭킹된다. 그 다음, 정보 패널(830)은 적어도 일부 구현예에서, 가장 높은 순위의 보충물 앵커와 연관된 아이템을 디스플레이할 수 있다. 대신에, 표시자(842)가 작동되었다면, 정보 패널(830)은 특정 레스토랑에 대한 아이템을 포함할 수 있다.In this example, the item displayed on the information panel 830 is a document associated with the receipt as if the indicator 840 had been activated. In some embodiments, the identified replenishment anchor is, for example, a user's past action, another user's action on a similar image, a confidence score for a replenishment anchor, or the position or size of a portion of the image associated with the replenishment anchor. Based on, it is ranked based on the user's relevance or interest. The information panel 830 may then, in at least some implementations, display the item associated with the highest ranked replenishment anchor. Instead, if indicator 842 has been activated, information panel 830 can include items for a particular restaurant.

여기서, 정보 패널(830)은 디지털 보충물 선택 패널(810)을 포함한다. 디지털 보충물 패널은 사용자 작동 가능 제어(812), 사용자 작동 가능 제어(814) 및 사용자 작동 가능 제어(816)를 포함한다. 이 예에서, 사용자-작동 가능 제어(812)는 팁 계산기 디지털 보충물과 연관되고, 사용자-작동 가능 제어(814)는 계산서 분할 디지털 보충물과 연관되고, 사용자-작동 가능 제어(816)는 비용 보고서 디지털 보충물과 연관된다. 예를 들어, 사용자 작동 가능 컨트롤(812)의 작동시, 팁 계산기의 파라미터를 조정하기 위한 사용자 인터페이스 제어가 디스플레이될 수 있다(예를 들어, 백분율을 조정하기 위해).Here, the information panel 830 includes a digital supplement selection panel 810. The digital replenishment panel includes a user operable control 812, a user operable control 814, and a user operable control 816. In this example, user-operable control 812 is associated with a tip calculator digital replenishment, user-operable control 814 is associated with a bill division digital replenishment, and user-operable control 816 is associated with cost. Associated with the report digital supplement. For example, upon actuation of the user operable control 812, a user interface control for adjusting the parameters of the tip calculator may be displayed (eg, to adjust the percentage).

도 8b에서, 사용자가 사용자-작동 가능 컨트롤(814)을 작동시킨 후에 사용자 인터페이스 화면(800b)이 도시된다. 작동 후, 사용자가 계산서 분할을 계산하는데 도움이 되는 아이템을 포함하는 확장된 정보 패널(832)이 도시된다. 예를 들어, 계산서를 분할하는 사람의 수를 입력하여 각자 지불해야 하는 금액을 결정할 수 있다.In FIG. 8B, a user interface screen 800b is shown after the user activates the user-operable control 814. After operation, an expanded information panel 832 is shown containing items that help the user calculate the bill split. For example, you can enter the number of people dividing the bill to determine how much each person should pay.

도 8c에서, 사용자가 사용자-작동 가능 컨트롤(816)을 작동시킨 후에 사용자 인터페이스 화면(800c)이 도시된다. 작동 후, 사용자가 영수증을 비용 보고서에 저장하는 데 도움이 되는 아이템을 포함하는 확장된 정보 패널(834)이 표시된다. 예를 들어, 사용자는 영수증과 연관되어야 하는 비용 보고서를 선택할 수 있다(예: "Sydney trip 2018"). 비용 보고서가 선택되면 영수증 이미지가 비용 보고서 제출 또는 관리 시스템에 업로드될 수 있다. 일부 구현예에서, 이미지 디스플레이 패널(808)에 표시된 전체 이미지가 업로드된다. 일부 구현예에서, 이미지의 일부가 업로드된다(예를 들어, 영수증만 포함하도록 이미지가 잘림).In FIG. 8C, a user interface screen 800c is shown after the user activates the user-operable control 816. After operation, an expanded information panel 834 is displayed containing items that help the user to store receipts in an expense report. For example, a user can select an expense report that should be associated with a receipt (eg "Sydney trip 2018"). Once an expense report is selected, an image of the receipt can be uploaded to the expense report submission or management system. In some implementations, the entire image displayed on the image display panel 808 is uploaded. In some implementations, a portion of the image is uploaded (eg, the image is truncated to contain only the receipt).

도 9a-9c는 시각적 콘텐츠 검색을 수행하고 디지털 보충물을 디스플레이하기 위한 클라이언트 컴퓨팅 디바이스(102)의 실시예에 의해 디스플레이되는 사용자 인터페이스 화면의 개략도이다. 이 예에서 시각적 콘텐츠 검색은 얼굴 이미지에 기초한다.9A-9C are schematic diagrams of user interface screens displayed by an embodiment of a client computing device 102 for performing visual content searches and displaying digital supplements. In this example, the visual content search is based on a face image.

도 9a에 사용자 인터페이스 화면(900a)이 도시된다. 사용자 인터페이스 화면(900a)은 이미지 디스플레이 패널(908) 및 정보 패널(930)을 포함한다. 이 예에서, 이미지 디스플레이 패널(908)은 얼굴의 이미지를 디스플레이하고 있다. 여기서, 얼굴은 보충물 앵커의 예이다. 정보 패널(930)은 이미지(즉, 얼굴)에서 보충물 앵커에 대해 식별되었던 디지털 보충물에 대한 사용자 작동 가능 제어(912)를 포함한다. 사용자 작동 가능 제어(912)는 안경을 묶기 위한 디지털 보충물과 연관된다.A user interface screen 900a is shown in FIG. 9A. The user interface screen 900a includes an image display panel 908 and an information panel 930. In this example, the image display panel 908 is displaying an image of a face. Here, the face is an example of a replenishment anchor. The information panel 930 includes a user operable control 912 for the digital supplement that was identified for the supplement anchor in the image (ie, face). The user operable control 912 is associated with a digital supplement to tie the glasses.

도 9b에서, 사용자가 사용자 작동 가능 제어(912)를 작동시킨 후에 사용자 인터페이스 화면(900b)이 도시된다. 작동 후, 사용자가 이미지에서 얼굴에 안경을 시각적으로 쓰는데 도움이 되는 아이템을 포함하는 확장된 정보 패널(932)이 표시된다. 여기서, 여러 안경 스타일이 디스플레이되며, 사용자는 시도할 쌍을 선택할 수 있다. 한 쌍의 안경을 선택하면, AR 콘텐츠(960)가 이미지 디스플레이 패널(908)에 오버레이된다. 여기서, AR 콘텐츠(960)는 선택된 안경에 대응하며, 이미지에서 얼굴과 일치하도록 크기가 조정된다. 일부 구현예에서, 안경 착용을 위한 디지털 보충물이 선택되면, 이미지 디스플레이 패널(908)에 표시된 이미지가 디지털 보충물을 제공하는 서버에 전송되어 이미지를 분석하여 AR 콘텐츠(960) 포지션과 크기를 어디서 어떻게 할지 결정하거나 써볼 안경을 추천할 수 있다.In FIG. 9B, a user interface screen 900b is shown after the user activates the user operable control 912. After operation, an expanded information panel 932 containing items that help the user visually wear glasses on the face in the image is displayed. Here, several glasses styles are displayed, and the user can select a pair to try. When a pair of glasses is selected, AR content 960 is overlaid on the image display panel 908. Here, the AR content 960 corresponds to the selected glasses and is resized to match the face in the image. In some implementations, when a digital supplement for wearing glasses is selected, the image displayed on the image display panel 908 is sent to the server providing the digital supplement to analyze the image where and where the AR content 960 position and size are determined. You can decide what to do or recommend glasses to wear.

도 10a-10c는 시각적 콘텐츠 검색을 수행하고 디지털 보충물을 디스플레이하기 위한 클라이언트 컴퓨팅 디바이스(102)의 실시예에 의해 디스플레이되는 사용자 인터페이스 스크린의 개략도이다. 이 예에서, 시각적 콘텐츠 검색은 카탈로그의 가구 이미지에 기초한다.10A-10C are schematic diagrams of user interface screens displayed by an embodiment of a client computing device 102 for performing visual content searches and displaying digital supplements. In this example, the visual content search is based on the furniture image in the catalog.

도 10a에서, 사용자 인터페이스 화면(1000a)이 도시된다. 사용자 인터페이스 화면(1000a)은 이미지 디스플레이 패널(1008)을 포함한다. 이 예에서, 이미지 디스플레이 패널(1008)은 가구 카탈로그의 페이지의 일부의 이미지를 디스플레이하고 있다. 이미지 디스플레이 패널은 또한 표시자(1040), 표시자(1042) 및 표시자(1044)를 포함한다. 이 예에서, 표시자(1040)는 침대와 연관되고, 표시자(1042)는 장식용 아이템과 연관되며, 표시자(1044)는 러그와 연관된다. 카탈로그의 침대, 장식 아이템 및 러그는 보충물 앵커의 예이다.In FIG. 10A, a user interface screen 1000a is shown. The user interface screen 1000a includes an image display panel 1008. In this example, image display panel 1008 is displaying images of a portion of a page of a furniture catalog. The image display panel also includes an indicator 1040, an indicator 1042 and an indicator 1044. In this example, indicator 1040 is associated with a bed, indicator 1042 is associated with a decorative item, and indicator 1044 is associated with a rug. Beds, decorative items, and rugs in the catalog are examples of replenishment anchors.

도 10b에서, 사용자 인터페이스 화면(1000b)은 사용자가 표시자(1040)를 선택한 후(예를 들어, 표시자(1040)가 디스플레이되는 곳 또는 그 근처에서 스크린을 터치함으로써) 보여진다. 사용자 인터페이스 화면(1000b)은 디지털 보충물 선택 패널(1010) 및 정보 패널(1030)을 포함한다. 정보 패널(1030)은 선택된 표시자와 연관된 보충물 앵커에 대한 정보(예: 상품명, 설명, 이미지)를 포함한다.In FIG. 10B, the user interface screen 1000b is shown after the user selects the indicator 1040 (eg, by touching the screen at or near where the indicator 1040 is displayed). The user interface screen 1000b includes a digital supplement selection panel 1010 and an information panel 1030. The information panel 1030 includes information (eg, product name, description, image) on a supplement anchor associated with the selected indicator.

디지털 보충물 선택 패널(1010)은 사용자 작동 가능 제어(1012) 및 사용자 작동 가능 제어(1014)를 포함한다. 사용자 작동 가능 제어(1012)는 가정 내 뷰를 제공하는 디지털 보충물과 연관된다. 사용자 작동 가능 제어(1014)은 다른 디지털 보충물(예를 들어, 소셜 미디어 사이트에 게시하기 위한 디지털 보충물)과 연관된다.The digital replenishment selection panel 1010 includes a user operable control 1012 and a user operable control 1014. User operable control 1012 is associated with a digital supplement that provides a view into the home. User-operable controls 1014 are associated with other digital supplements (eg, digital supplements for posting on social media sites).

도 10c에서, 사용자 작동 가능 제어(1012)의 작동 후에 사용자 인터페이스 화면(1000c)이 도시된다. 사용자 인터페이스 화면(1000c)은 이미지 디스플레이 패널(1008), 디지털 보충물 선택 패널(1010) 및 축소 정보 패널(1032)을 포함한다. 축소 정보 패널(1032)은 작동될 때 정보 패널이 팝업되고 디스플레이되게 할 수 있는 사용자 작동 가능 제어를 포함할 수 있다.In FIG. 10C, a user interface screen 1000c is shown after operation of the user operable control 1012. The user interface screen 1000c includes an image display panel 1008, a digital supplement selection panel 1010, and a reduced information panel 1032. The reduced information panel 1032 may include user operable controls that may cause the information panel to pop up and display when activated.

여기서, 이미지 디스플레이 패널(1008)은 이제 방의 이미지를 디스플레이하고 AR 콘텐츠(1060)를 포함한다. AR 콘텐츠(1060)는 이미지 패널에 오버레이된 표시자(1040)와 연관된 침대의 3D 모델을 포함한다. 사용자는 침대가 방에 어떻게 들어가는지 보기 위해 방 내 AR 콘텐츠(1060)의 포지션을 조정할 수 있다. 일부 구현예에서, 가정 내 뷰를 위한 디지털 보충물이 선택될 때, 이미지 디스플레이 패널(1008)에 표시된 이미지는 디지털 보충물을 제공하는 서버에 전송되어 이미지를 분석하여 AR 콘텐츠(1060)의 포지션 및 크기를 어디서 어떻게 할 지 결정한다. 일부 구현예에서, AR 콘텐츠(1060)는 시각적 콘텐츠 쿼리보다 나중에 제공될 수 있다.Here, the image display panel 1008 now displays an image of the room and includes AR content 1060. AR content 1060 includes a 3D model of a bed associated with an indicator 1040 overlaid on an image panel. The user can adjust the position of the AR content 1060 within the room to see how the bed enters the room. In some implementations, when a digital supplement for in-home view is selected, the image displayed on the image display panel 1008 is sent to a server providing the digital supplement to analyze the image to determine the position and position of the AR content 1060. Decide where and how to size. In some implementations, AR content 1060 may be provided later than visual content queries.

도 11a-11c는 저장소 내에서 시각적 콘텐츠 검색을 수행하기 위한 클라이언트 컴퓨팅 디바이스(102)의 실시예에 의해 디스플레이되는 사용자 인터페이스 스크린의 개략도이다. 이 예에서, 시각적 콘텐츠 검색은 상점 내에서 캡처된 제품 이미지에 기초한다.11A-11C are schematic diagrams of user interface screens displayed by an embodiment of a client computing device 102 for performing a visual content search within a repository. In this example, the visual content search is based on product images captured within the store.

도 11a에서, 사용자 인터페이스 화면(1100a)이 도시된다. 사용자 인터페이스 화면(1100a)은 이미지 디스플레이 패널(1108) 및 정보 패널(1130)을 포함한다. 이 예에서, 이미지 디스플레이 패널(1108)은 상점 내에서 캡처된 이미지를 디스플레이하고 있다. 이미지 디스플레이 패널(1108)은 또한 꽃병과 연관된 표시자(1140)를 포함한다. 이미지 디스플레이 패널(1108)에 디스플레이된 꽃병은 보충물 앵커의 일례이다. 정보 패널(1130)은 꽃병에 대한 제품 정보 및 꽃병 구매 기능을 포함하는 디지털 보충물을 디스플레이하고 있다. 예를 들어, 디지털 보충물은 꽃병 구매를 개시하는 워크플로우를 포함할 수 있다. 이 예에서 디지털 보충물은 클라이언트 컴퓨팅 디바이스가 상점 내에 있는 경우 이미지가 캡처되었던 상점에서 퍼블리시한(또는 상점과 연관된) 디지털 보충물이 식별되고 시각적 콘텐츠 쿼리에 높은 랭킹 결과로서 제공되도록 이미지 콘텐츠 및 클라이언트 컴퓨팅 디바이스의 위치에 기초하여 식별된다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스의 위치가 변경되었던 경우, 동일한 이미지에 대해 다른 디지털 보충물이 제공된다.In Fig. 11A, a user interface screen 1100a is shown. The user interface screen 1100a includes an image display panel 1108 and an information panel 1130. In this example, image display panel 1108 is displaying images captured within a store. The image display panel 1108 also includes an indicator 1140 associated with the vase. The vase displayed on the image display panel 1108 is an example of a refill anchor. The information panel 1130 displays product information on a vase and a digital supplement including a vase purchase function. For example, a digital refill may include a workflow to initiate a vase purchase. In this example, the digital replenishment is the image content and client so that if the client computing device is in the store, the digital replenishment published (or associated with the store) from the store where the image was captured is identified and presented as a high ranking result in the visual content query. It is identified based on the location of the computing device. In some implementations, if the location of the client computing device has changed, a different digital supplement is provided for the same image.

도 11b에서, 사용자 인터페이스 화면(1100b)이 도시된다. 사용자 인터페이스 화면(1100b)은 이미지 디스플레이 패널(1108) 및 정보 패널(1130)을 포함한다. 이 예에서, 이미지 디스플레이 패널(1108)은 상점 내에서 캡처된 다른 이미지를 디스플레이하고 있다. 이미지 디스플레이 패널(1108)은 또한 러그와 연관된 표시자(1142)를 포함한다. 이미지 디스플레이 패널(1108)에 디스플레이되는 러그는 보충물 앵커의 일례이다. 정보 패널(1130)은 러그에 대한 제품 정보와 크기를 선택하고 러그를 구매하는 기능을 포함하는 디지털 보충물을 디스플레이하고 있다. 도 11a에서와 같이, 디지털 보충물은 이미지 콘텐츠 및 클라이언트 컴퓨팅 디바이스의 위치에 기초하여 식별된다.In FIG. 11B, a user interface screen 1100b is shown. The user interface screen 1100b includes an image display panel 1108 and an information panel 1130. In this example, image display panel 1108 is displaying another image captured within the store. The image display panel 1108 also includes an indicator 1142 associated with the lug. The lugs displayed on the image display panel 1108 are an example of a replenishment anchor. The information panel 1130 displays a digital supplement that includes product information for the rug and a function of selecting a size and purchasing a rug. As in Fig. 11A, the digital supplement is identified based on the image content and the location of the client computing device.

도 11c에서, 사용자 인터페이스 화면(1100c)이 도시된다. 사용자 인터페이스 화면(1100c)은 이미지 디스플레이 패널(1108) 및 정보 패널(1130)을 포함한다. 이 예에서, 이미지 디스플레이 패널(1108)은 상점 내에서 캡처된 다른 이미지를 디스플레이하고 있다. 이미지 디스플레이 패널(1108)은 또한 꽃병과 연관된 표시자(1144)를 포함한다. 이미지 디스플레이 패널(1108)에 디스플레이된 꽃병은 보충물 앵커의 일례이다. 정보 패널(1130)은 꽃병에 대한 제품 정보를 포함하는 디지털 보충물을 디스플레이하고 있다. 정보 패널(1130)은 또한 쿠폰 표시자(1132) 및 쿠폰을 사용하는 기능을 포함한다. 쿠폰을 사용하는 것은 상점과 연관된 웹사이트에서 할인된 가격으로 아이템을 구매하는 것을 포함할 수 있다. 일부 구현예에서, 체크 아웃 동안 할인을 확보하는데 사용될 수 있는 쿠폰 코드가 제공된다. 도 11a 및 11b에서와 같이, 디지털 보충물은 이미지 콘텐츠 및 클라이언트 컴퓨팅 디바이스의 위치에 기초하여 식별된다.In FIG. 11C, a user interface screen 1100c is shown. The user interface screen 1100c includes an image display panel 1108 and an information panel 1130. In this example, image display panel 1108 is displaying another image captured within the store. The image display panel 1108 also includes an indicator 1144 associated with the vase. The vase displayed on the image display panel 1108 is an example of a refill anchor. The information panel 1130 is displaying a digital supplement including product information for the vase. The information panel 1130 also includes a coupon indicator 1132 and the ability to use the coupon. Using a coupon may include purchasing an item at a discounted price on a website associated with the store. In some implementations, coupon codes are provided that can be used to secure discounts during checkout. As in FIGS. 11A and 11B, the digital supplement is identified based on the image content and the location of the client computing device.

도 12a-12c는 시각적 콘텐츠 검색 동안에 클라이언트 컴퓨팅 디바이스(102)의 실시예에 의해 디스플레이되는 사용자 인터페이스 화면의 개략도이다. 이 예에서, 시각적 콘텐츠 검색은 영화 포스터의 이미지에 기초한다(예를 들어, 영화관에서 캡처될 수 있음).12A-12C are schematic diagrams of user interface screens displayed by an embodiment of the client computing device 102 during visual content retrieval. In this example, the visual content search is based on an image of a movie poster (for example, it may be captured in a movie theater).

도 12a에서, 사용자 인터페이스 화면(1200a)이 도시된다. 사용자 인터페이스 화면(1200a)은 이미지 디스플레이 패널(1208)을 포함한다. 이 예에서, 이미지 디스플레이 패널(1208)은 영화 포스터의 이미지를 디스플레이하고 있다. 이미지 디스플레이 패널(1208)은 또한 이미지에서 식별된 영화 포스터와 연관된 표시자(1240)를 포함한다. 영화 포스터는 보충물 앵커의 예이다. 표시자(1240)는 작동될 때 디지털 보충물 또는 디지털 보충물을 선택하기 위한 메뉴를 디스플레이할 사용자 작동 가능 제어를 포함할 수 있다.In FIG. 12A, a user interface screen 1200a is shown. The user interface screen 1200a includes an image display panel 1208. In this example, image display panel 1208 is displaying an image of a movie poster. The image display panel 1208 also includes an indicator 1240 associated with the movie poster identified in the image. Movie posters are examples of replenishment anchors. Indicator 1240 may include a user operable control to display a digital supplement or a menu for selecting a digital supplement when activated.

도 12b에서, 사용자 인터페이스 화면(1200b)이 도시된다. 이미지 디스플레이 패널(1208)은 또한 이미지에서 식별된 영화 포스터와 연관된 프리뷰 디지털 보충물(1242)을 포함한다. 예를 들어, 프리뷰 디지털 보충물(1242)는 표시자(1240)(도 12a의) 표시자(1240)의 작동 후에 표시될 수 있다. 프리뷰 디지털 보충물(1242)은 식별된 영화 포스터와 연관된 영화로부터의 이미지 또는 비디오를 영화 포스터의 이미지 상에 오버레이할 수 있다.In FIG. 12B, a user interface screen 1200b is shown. The image display panel 1208 also includes a preview digital supplement 1242 associated with the movie poster identified in the image. For example, preview digital supplement 1242 may be displayed after activation of indicator 1240 (of FIG. 12A) indicator 1240. Preview digital supplement 1242 may overlay an image or video from the movie associated with the identified movie poster onto the image of the movie poster.

도 12c에서, 사용자 인터페이스 화면(1200c)이 도시된다. 이미지 디스플레이 패널(1208)은 또한 등급 표시자(1244) 및 등급 표시자(1246)를 포함한다. 등급 표시자(1244) 및 등급 표시자(1246)는 영화 포스터를 포함하는 시각적 콘텐츠 쿼리에 응답하여 하나 이상의 디지털 보충물에 의해 생성될 수 있다. 디지털 보충물은 예를 들어 이미지에서 영화 포스터와 연관된 영화에 대한 등급 정보를 오버레이할 수 있다. 등급 표시자(1244) 및 등급 표시자(1246)는 작동시 등급 및 연관된 영화에 대한 추가 정보가 표시되도록 하는 사용자-작동 가능 제어를 포함할 수 있다.In FIG. 12C, a user interface screen 1200c is shown. The image display panel 1208 also includes a rating indicator 1244 and a rating indicator 1246. Rating indicator 1244 and rating indicator 1246 may be generated by one or more digital supplements in response to a visual content query comprising a movie poster. The digital supplement may, for example, overlay rating information for a movie associated with a movie poster in the image. Rating indicator 1244 and rating indicator 1246 may include user-operable controls that, when activated, allow additional information about the rating and associated movie to be displayed.

도 13은 (예를 들어, 클라이언트 컴퓨팅 디바이스(102), 검색 서버(152) 및 디지털 보충물 서버(172)를 구현하기 위해) 본 명세서에 기술된 기법과 함께 사용될 수 있는 컴퓨터 디바이스(1300) 및 모바일 컴퓨터 디바이스(1350)의 예를 도시한다. 컴퓨팅 디바이스(1300)는 프로세서(1302), 메모리(1304), 저장 디바이스(1306), 메모리(1304) 및 고속 확장 포트(1310)에 연결되는 고속 인터페이스(1308) 및 저속 버스(1314) 및 저장 디바이스(1306)에 연결되는 저속 인터페이스(1312)를 포함한다. 컴포넌트들(1302, 1304, 1306, 1308, 1310 및 1312) 각각은 다양한 버스들을 사용하여 상호 연결되고, 공통 마더 보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(1302)는 메모리(1304) 또는 저장 디바이스(1306)에 저장된 명령어들을 포함하는, 컴퓨팅 디바이스(1300) 내에서 실행하기 위한 명령어들을 프로세싱하여, 고속 인터페이스(1308)에 연결된 디스플레이(1316)와 같은 외부 입/출력 디바이스상에 GUI에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현예에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 다수의 유형의 메모리와 함께, 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(1300)은 필요한 동작의 부분들을 제공하는 각 디바이스와 연결될 수 있다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템).13 illustrates a computer device 1300 that may be used in conjunction with the techniques described herein (e.g., to implement a client computing device 102, a search server 152 and a digital supplement server 172) and An example of a mobile computer device 1350 is shown. The computing device 1300 includes a processor 1302, a memory 1304, a storage device 1306, a high speed interface 1308 and a low speed bus 1314 connected to the memory 1304 and a high speed expansion port 1310, and a storage device. It includes a low speed interface 1312 connected to 1306. Each of the components 1302, 1304, 1306, 1308, 1310 and 1312 may be interconnected using various buses and mounted on a common motherboard or in any other suitable manner. Processor 1302 processes instructions for execution within computing device 1300, including instructions stored in memory 1304 or storage device 1306, such as display 1316 connected to high speed interface 1308. Graphical information for a GUI can be displayed on an external input/output device. In other implementations, multiple processors and/or multiple buses may be used as appropriate, with multiple memories and multiple types of memory. Further, multiple computing devices 1300 may be connected with each device to provide portions of the required operation (eg, a server bank, a group of blade servers, or a multi-processor system).

메모리(1304)는 컴퓨팅 디바이스(1300) 내에 정보를 저장한다. 일 구현예에서, 메모리(1304)는 휘발성 메모리 유닛 또는 유닛들이다. 다른 구현예에서, 메모리(1304)는 비휘발성 메모리 유닛 또는 유닛들이다. 또한, 메모리(1304)는 자기 또는 광학 디스크와 같은 컴퓨터 판독가능 매체의 다른 형태 일 수 있다.Memory 1304 stores information within computing device 1300. In one implementation, memory 1304 is a volatile memory unit or units. In another implementation, memory 1304 is a non-volatile memory unit or units. Further, the memory 1304 may be another form of computer-readable medium such as a magnetic or optical disk.

저장 디바이스(1306)는 컴퓨팅 디바이스(1300)에 대한 대형 스토리지를 제공할 수 있다. 일 구현예에서, 저장 디바이스(1306)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 어레이와 같은 컴퓨터 판독가능 매체이거나 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 수록될 수 있다. 컴퓨터 프로그램 제품은 또한 실행될 때 상기 기술된 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함할 수 있다. 정보 캐리어는 메모리(1304), 저장 디바이스(1306) 또는 프로세서(1302)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.Storage device 1306 can provide large storage for computing device 1300. In one implementation, the storage device 1306 is a device including a floppy disk device, a hard disk device, an optical disk device or tape device, a flash memory or other similar solid state memory device, or a storage area network or other configuration device. It may be a computer-readable medium, such as an array, or may include a computer-readable medium. The computer program product can be tangibly carried on an information carrier. The computer program product may also include instructions that, when executed, perform one or more methods as described above. The information carrier is a computer or machine readable medium such as memory 1304, storage device 1306, or memory on processor 1302.

고속 제어기(1308)는 컴퓨팅 디바이스(1300)에 대한 대역폭 집중 동작들을 관리하는 반면, 저속 제어기(1312)는 낮은 대역폭 집중 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일 구현예에서, 고속 제어기(1308)는 메모리(1304), 디스플레이(1316)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(1310)에 연결된다. 구현예에서, 저속 제어기(1312)는 저장 디바이스(1306) 및 저속 확장 포트(1314)에 결합된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 예를 들어 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.The high speed controller 1308 manages the bandwidth intensive operations for the computing device 1300, while the low speed controller 1312 manages the low bandwidth intensive operations. The assignment of these functions is merely exemplary. In one implementation, the high speed controller 1308 includes a high speed expansion port (not shown) capable of receiving a memory 1304, a display 1316 (e.g., via a graphics processor or accelerator), and various expansion cards (not shown). 1310). In an implementation, low speed controller 1312 is coupled to storage device 1306 and low speed expansion port 1314. Low-speed expansion ports, which may include a variety of communication ports (e.g. USB, Bluetooth, Ethernet, wireless Ethernet), can be used with one or more input/output devices such as keyboards, pointing devices, scanners, or switches or via network adapters, for example. It can be coupled to a networking device such as a router.

컴퓨팅 디바이스(1300)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 그것은 표준 서버(1320)로서 또는 그러한 서버들의 그룹에서 다수로 구현될 수 있다. 또한, 랙 서버 시스템(1324)의 일부로서 구현될 수 있다. 또한, 랩톱 컴퓨터(1322)와 같은 퍼스널 컴퓨터에서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(1300)로부터의 컴포넌트들은 디바이스(1350)와 같은 모바일 디바이스(도시되지 않음) 내의 다른 컴포넌트들과 결합될 수 있다. 상기 디바이스들 각각은 컴퓨팅 디바이스(1300, 1350) 중 하나 이상을 포함할 수 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들(1300, 1350)로 구성될 수 있다.The computing device 1300 can be implemented in a number of different forms as shown in the figure. For example, it may be implemented as a standard server 1320 or in multiples in a group of such servers. It may also be implemented as part of the rack server system 1324. It may also be implemented in a personal computer such as laptop computer 1322. Alternatively, components from computing device 1300 may be combined with other components within a mobile device (not shown) such as device 1350. Each of the devices may include one or more of the computing devices 1300 and 1350, and the entire system may include a plurality of computing devices 1300 and 1350 communicating with each other.

컴퓨팅 디바이스(1350)는 다른 여러 컴포넌트들 중에서도 특히, 프로세서(1352), 메모리(1364), 디스플레이(1354)와 같은 입/출력 디바이스, 통신 인터페이스(1366) 및 송수신기(1368)를 포함한다. 디바이스(1350)에는 또한 추가적 저장을 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 컴포넌트들(1350, 1352, 1364, 1354, 1366 및 1368) 각각은 다양한 버스들을 사용하여 상호 연결되고, 몇몇 컴포넌트들은 공통 마더 보드 상에 또는 적절한 다른 방식으로 장착될 수 있다.Computing device 1350 includes a processor 1352, memory 1364, input/output devices such as display 1354, communication interface 1366, and transceiver 1368, among other various components. Device 1350 may also be provided with a storage device, such as a micro drive or other device, to provide additional storage. Each of the components 1350, 1352, 1364, 1354, 1366 and 1368 are interconnected using various buses, and some components may be mounted on a common motherboard or in any other suitable manner.

프로세서(1352)는 메모리(1364)에 저장된 명령어들을 포함하는 컴퓨팅 디바이스(1350) 내의 명령어들을 실행할 수 있다. 프로세서는 별개의 그리고 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로서 구현될 수 있다. 프로세서는 예를 들어 사용자 인터페이스들, 디바이스(1350)에 의해 실행되는 애플리케이션 및 디바이스(1350)에 의한 무선 통신과 같은 디바이스(1350)의 다른 컴포넌트들의 조정을 제공할 수 있다.The processor 1352 may execute instructions in the computing device 1350 including instructions stored in the memory 1364. The processor may be implemented as a chipset of chips including separate and multiple analog and digital processors. The processor may provide coordination of other components of the device 1350 such as, for example, user interfaces, applications executed by the device 1350 and wireless communication by the device 1350.

프로세서(1352)는 제어 인터페이스(1358) 및 디스플레이(1354)에 연결된 디스플레이 인터페이스(1356)를 통해 사용자와 통신할 수 있다. 디스플레이(1354)는 예를 들어, TFT LCD(박막 트랜지스터 액정 디스플레이) 및 LCD(발광 다이오드) 또는 OLED(유기 발광 다이오드) 디스플레이 또는 다른 적절한 디스플레이 기술을 포함할 수 있다. 디스플레이 인터페이스(1356)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(1354)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(1358)는 사용자로부터 명령을 수신하고, 프로세서(1352)에 제출하기 위해 그들을 변환할 수 있다. 추가로, 외부 인터페이스(1362)는 프로세서(1352)와의 통신에 제공되어 다른 디바이스들과 디바이스(1350)의 근거리 통신을 가능하게 할 수 있다. 외부 인터페이스(1362)는 예를 들면, 일부 구현예들에서는 유선 통신을 위해 또는 다른 구현예들에서는 무선 통신을 위해 제공될 수 있고, 다수의 인터페이스들도 사용될 수 있다.The processor 1352 may communicate with a user through a control interface 1358 and a display interface 1356 connected to the display 1354. The display 1354 may include, for example, a TFT LCD (thin film transistor liquid crystal display) and an LCD (light emitting diode) or OLED (organic light emitting diode) display or other suitable display technology. Display interface 1356 may include suitable circuitry for driving display 1354 to provide graphics and other information to a user. Control interface 1358 can receive commands from a user and transform them for submission to processor 1352. Additionally, an external interface 1362 may be provided for communication with the processor 1352 to enable short-range communication of the device 1350 with other devices. External interface 1362 may be provided, for example, for wired communication in some implementations or for wireless communication in other implementations, and multiple interfaces may be used.

메모리(1364)는 컴퓨팅 디바이스(1350) 내에 정보를 저장한다. 메모리(1364)는 컴퓨터 판독가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 또한 확장 메모리(1374)는 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(1372)를 통해 디바이스(1350)에 제공되고 접속될 수 있다. 상기 확장 메모리(1374)는 디바이스(1350)에 대해 추가 저장 공간을 제공할 수 있거나, 또는 애플리케이션들 또는 디바이스(1350)에 대한 다른 정보를 저장할 수 있다. 특히, 확장 메모리(1374)는 전술한 프로세스들을 수행하거나 보충하는 명령어들을 포함할 수 있으며, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들면, 확장 메모리(1374)는 디바이스(1350)에 대한 보안 모듈로서 제공될 수 있고, 디바이스(1350)의 보안 사용을 허용하는 명령어들로 프로그래밍될 수 있다. 또한, 보안 어플리케이션들은 SIMM 카드 상의 식별 정보를 해킹할 수 없는 방식으로 배치하는 것과 같이, SIMM 카드들을 통해 추가 정보와 함께 제공될 수 있다.Memory 1364 stores information within computing device 1350. The memory 1364 may be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, and a nonvolatile memory unit or units. Further, the expansion memory 1374 may be provided and connected to the device 1350 through an expansion interface 1372, which may include, for example, a single in line memory module (SIM) card interface. The extended memory 1374 may provide additional storage space for the device 1350 or may store applications or other information about the device 1350. In particular, the extended memory 1374 may include instructions for performing or supplementing the above-described processes, and may also include security information. Thus, for example, extended memory 1374 may be provided as a secure module for device 1350 and may be programmed with instructions that allow secure use of device 1350. In addition, security applications can be provided with additional information via SIMM cards, such as placing identification information on the SIMM card in a non-hackable manner.

메모리는 예를 들어, 후술되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 수록된다. 컴퓨터 프로그램 제품은 또한 실행될 때 상기 기술된 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 예를 들어 송수신기(1368) 또는 외부 인터페이스(1362)를 통해 수신될 수 있는 메모리(1364), 확장 메모리(1374) 또는 프로세서(1352)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.The memory may include, for example, flash memory and/or NVRAM memory, as described below. In one implementation, the computer program product is tangibly carried on an information carrier. The computer program product also includes instructions that, when executed, perform one or more methods as described above. The information carrier is, for example, a computer or machine readable medium such as memory 1362, extended memory 1374, or memory on processor 1352, which may be received via transceiver 1368 or external interface 1362.

디바이스(1350)는 필요에 따라 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(1366)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(1366)는 다른 것들 중에서도 GSM 보이스 콜들, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드들 또는 프로토콜들 하에서의 통신을 위해 제공될 수 있다. 이러한 통신은 예를 들어, 무선 주파수 송수신기(1368)를 통해 발생될 수 있다. 추가로, 블루투스, Wi-Fi 또는 다른 트랜시버(도시되지 않음)를 사용하는 것과 같은 단거리 통신이 발생될 수 있다. 추가로, GPS(Global Positioning System) 수신기 모듈(1370)은 디바이스(1350)상에서 실행되는 애플리케이션들에 의해 적절히 사용될 수 있는 추가적인 네비게이션 및 위치 관련 무선 데이터를 디바이스(1350)에 제공할 수 있다.Device 1350 may communicate wirelessly through communication interface 1366, which may include digital signal processing circuitry as needed. The communication interface 1366 may be provided for communication under various modes or protocols such as GSM voice calls, SMS, EMS or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000 or GPRS, among others. Such communication may take place, for example, through a radio frequency transceiver 1368. In addition, short-range communications such as using Bluetooth, Wi-Fi or other transceivers (not shown) may occur. Additionally, the Global Positioning System (GPS) receiver module 1370 may provide additional navigation and location-related wireless data to the device 1350 that can be appropriately used by applications running on the device 1350.

디바이스(1350)는 또한 사용자로부터 발화된 정보를 수신하고 그것을 이용가능한 디지털 정보로 변환할 수 있는 오디오 코덱(1360)을 사용하여 청각적으로 통신할 수 있다. 오디오 코덱(1360)은 마찬가지로, 예를 들어 디바이스(1350)의 핸드셋 내의 스피커를 통하는 것과 같이, 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 보이스 전화 콜들로부터의 사운드 포함할 수 있고, 기록된 사운드(예를 들어, 음성 메시지, 음악 파일 등)를 포함할 수 있고, 또한 디바이스(1350)상에서 동작하는 애플리케이션들에 의해 생성된 사운드를 포함할 수 있다.The device 1350 can also communicate audibly using an audio codec 1360 that can receive spoken information from a user and convert it into usable digital information. The audio codec 1360 may likewise generate an audible sound for the user, such as, for example, through a speaker in the handset of the device 1350. These sounds may include sounds from voice telephone calls, may include recorded sounds (e.g., voice messages, music files, etc.), and may also include sounds generated by applications running on device 1350. It may include.

컴퓨팅 디바이스(1350)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들면, 그것은 셀룰러 전화(1380)로서 구현될 수 있다. 또한 스마트폰(1382), 개인 휴대 정보 단말기(PDA), 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.The computing device 1350 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular phone 1380. It may also be implemented as part of a smartphone 1382, personal digital assistant (PDA), or other similar mobile device.

본 명세서에 기술된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 회로, 집적 회로, 특수하게 설계된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이들 다양한 구현예들은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능하고 및/또는 인터프리트가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있고, 이는 전용 또는 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스으로부터 데이터 및 명령어들을 수신하고 그에 데이터 및 명령어들을 전송하기 위해 연결될 수 있다.Various implementations of the systems and techniques described herein may be implemented in digital electronic circuits, integrated circuits, specially designed application specific integrated circuits (ASICs), computer hardware, firmware, software, and/or combinations thereof. . These various implementations may include implementations in one or more computer programs executable and/or interpretable on a programmable system including at least one programmable processor, which may be dedicated or general purpose, and storage system , Receive data and instructions from at least one input device and at least one output device and may be connected to transmit data and instructions thereto.

이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그래머블 프로세서에 대한 기계 명령어들을 포함하며, 하이레벨 절차어 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계어에서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 물, 장치 및/또는 디바이스 예를 들어, 자기 디스크, 광학 디스크, 메모리, 프로그래머블 로직 디바이스(PLD)를 지칭한다. 용어 “기계 판독가능 신호”는 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.These computer programs (also known as programs, software, software applications or code) contain machine instructions for a programmable processor, and can be implemented in high-level procedural and/or object-oriented programming languages and/or assembly/machine language. . As used herein, the terms "machine-readable medium" and "computer-readable medium" include machine-readable media that receive machine instructions as machine-readable signals, including programmable machine instructions and/or data. Refers to any computer program product, apparatus, and/or device used to provide a processor, such as magnetic disk, optical disk, memory, programmable logic device (PLD). The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.

사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 시스템들 및 기법들은 사용자에게 정보를 디스플레이하기 위해 디스플레이 디바이스(a LED(light-emitting diode), or OLED(organic LED) 또는 LCD(liquid crystal display) 모니터/스크린) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.In order to provide interaction with a user, the systems and techniques described herein include a display device (a light-emitting diode) or OLED (organic LED) or liquid crystal display (LCD) for displaying information to a user. ) Monitor/screen) and a keyboard and pointing device through which the user can provide input to the computer, for example a mouse or a trackball. Other types of devices can also be used to provide user interaction. For example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and the input from the user may be received in any form including acoustic, voice, or tactile input. I can.

본 명세서에서 기술된 시스템들 및 기법들은 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 애플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 시스템들 및 기법들의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예시들은 LAN(local area network), WAN(wide area network) 및 인터넷을 포함한다.The systems and techniques described herein include, for example, a backend component such as a data server, a middleware component such as an application server, or a user computer having a graphical user interface or an implementation of the systems and techniques described herein. It may be implemented in a computing system that includes a frontend component such as an interactive web browser, or any combination of one or more of the backend, middleware, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication, for example a communication network. Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.The computing system can include users and servers. Users and servers are generally far apart from each other and usually interact through a communication network. The relationship between the user and the server arises by computer programs running on each computer and having a user-server relationship with each other.

일부 구현예에서, 도 13에 도시된 컴퓨팅 디바이스는 물리적 공간 내에 삽입된 콘텐츠를 보기 위한 증강 환경을 생성하기 위해 AR 헤드셋/HMD 디바이스(1390)와 인터페이싱하는 센서들을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(1350) 또는 도 13에 도시된 다른 컴퓨팅 디바이스에 포함된 하나 이상의 센서는 AR 헤드셋(1390)에 입력을 제공하거나 일반적으로 AR 공간에 입력을 제공할 수 있다. 센서는 터치 스크린, 가속도계, 자이로스코프, 압력 센서, 생체 센서, 온도 센서, 습도 센서 및 주변광 센서를 포함할 수 있지만 이에 제한되지 않는다. 컴퓨팅 디바이스(1350)는 AR 공간으로의 입력으로서 사용될 수 있는 AR 공간 내의 컴퓨팅 디바이스의 절대 위치 및/또는 검출된 회전을 결정하기 위해 센서들을 사용할 수 있다. 예를 들어, 컴퓨팅 디바이스(1350)는 제어기, 레이저 포인터, 키보드, 무기 등과 같은 가상 오브젝트로서 AR 공간에 통합될 수 있다. AR 공간에 통합된 경우 사용자에 의한 컴퓨팅 디바이스/가상 오브젝트의 위치는 사용자로 하여금 컴퓨팅 디바이스를 위치시켜 AR 공간에서 특정 방식으로 가상 오브젝트를 보게 한다. 예를 들어, 가상 오브젝트가 레이저 포인터를 나타내는 경우, 사용자는 실제 레이저 포인터인 것처럼 컴퓨팅 디바이스를 조작할 수 있다. 사용자는 컴퓨팅 디바이스를 좌우, 위, 아래, 원 등으로 움직일 수 있으며, 레이저 포인터를 사용하는 것과 유사한 방식으로 디바이스를 사용할 수 있다. 일부 구현예에서, 사용자는 가상 레이저 포인터를 사용하여 목표 위치를 조준할 수 있다.In some implementations, the computing device shown in FIG. 13 may include sensors that interface with the AR headset/HMD device 1390 to create an augmented environment for viewing embedded content within a physical space. For example, one or more sensors included in the computing device 1350 or other computing device shown in FIG. 13 may provide input to the AR headset 1390 or, in general, to the AR space. The sensor may include, but is not limited to, a touch screen, an accelerometer, a gyroscope, a pressure sensor, a biometric sensor, a temperature sensor, a humidity sensor, and an ambient light sensor. Computing device 1350 may use sensors to determine the absolute position and/or detected rotation of the computing device within AR space that can be used as input into AR space. For example, the computing device 1350 may be integrated into the AR space as a virtual object such as a controller, a laser pointer, a keyboard, a weapon, and the like. When integrated into the AR space, the location of the computing device/virtual object by the user allows the user to locate the computing device and view the virtual object in a specific manner in the AR space. For example, if the virtual object represents a laser pointer, the user can manipulate the computing device as if it were a real laser pointer. Users can move the computing device left and right, up, down, in a circle, etc., and use the device in a manner similar to using a laser pointer. In some implementations, a user can aim at a target location using a virtual laser pointer.

일부 구현예에서, 컴퓨팅 디바이스(1350)에 포함되거나 연결되는 하나 이상의 입력 디바이스들이 AR 공간에 대한 입력으로 사용될 수 있다. 입력 디바이스들은 터치 스크린, 키보드, 하나 이상의 버튼들, 트랙 패드, 터치 패드, 포인팅 디바이스, 마우스, 트랙볼, 조이스틱, 카메라, 마이크로폰, 이어폰 또는 입력 기능이 있는 버드, 게임 컨트롤러 또는 기타 연결 가능한 입력 디바이스들을 포함할 수 있으며, 이제 한정되지 않는다. 컴퓨팅 디바이스가 AR 공간에 통합될 때 컴퓨팅 디바이스(1350)에 포함된 입력 디바이스와 인터렉션하는 사용자는 특정한 액션이 AR 공간에서 발생하도록 할 수 있다.In some implementations, one or more input devices included or connected to the computing device 1350 may be used as input to the AR space. Input devices include touch screens, keyboards, one or more buttons, track pads, touch pads, pointing devices, mice, trackballs, joysticks, cameras, microphones, earphones or buds with input capabilities, game controllers or other connectable input devices. Can, and is not limited anymore. When the computing device is integrated into the AR space, a user interacting with the input device included in the computing device 1350 may cause a specific action to occur in the AR space.

일부 구현예에서, 컴퓨팅 디바이스(1350)의 터치 스크린은 AR 공간에서 터치 패드로서 렌더링될 수 있다. 사용자는 컴퓨팅 디바이스(1350)의 터치 스크린과 인터렉션할 수 있다. 인터렉션들은 예를 들어 AR 헤드셋(1390)에서 AR 공간에서 렌더링된 터치 패드상의 움직임에 따라 렌더링된다. 렌더링된 움직임은 AR 공간에서 가상 오브젝트들을 제어할 수 있다.In some implementations, the touch screen of computing device 1350 may be rendered as a touch pad in AR space. The user may interact with the touch screen of the computing device 1350. The interactions are rendered according to the motion on the touch pad rendered in AR space in the AR headset 1390, for example. The rendered motion can control virtual objects in AR space.

일부 구현예에서, 컴퓨팅 디바이스(1350)에 포함된 하나 이상의 출력 디바이스들은 AR 공간에서 AR 헤드셋(1390)의 사용자에게 출력 및/또는 피드백을 제공할 수 있다. 출력 및 피드백은 시각적, 촉각적 또는 청각적일 수 있다. 출력 및/또는 피드백은 진동, 하나 이상의 조명 또는 스트로브의 켜고 끄기 또는 깜박임 및/또는 플래시, 알람 울리기, 차임을 치는 것, 노래 연주 및 오디오 파일의 재생 등을 포함할 수 있으며, 이에 한정되지 않는다. 출력 디바이스들은 진동 모터, 진동 코일, 압전 디바이스, 정전기 디바이스, 발광 다이오드(LED), 스트로브 및 스피커를 포함할 수 있으며, 이제 한정되지 않는다.In some implementations, one or more output devices included in computing device 1350 may provide output and/or feedback to a user of AR headset 1390 in AR space. Output and feedback can be visual, tactile or audible. Output and/or feedback may include, but are not limited to, vibration, turning on/off or blinking one or more lights or strobes and/or flashing, ringing an alarm, hitting a chime, playing a song, and playing an audio file. Output devices can include, but are not limited to, a vibration motor, a vibration coil, a piezoelectric device, an electrostatic device, a light emitting diode (LED), a strobe and a speaker.

일부 구현예에서, 컴퓨팅 디바이스(1350)는 컴퓨터 생성 3D 환경에서 다른 오브젝트로서 표시될 수 있다. 사용자에 의한 컴퓨팅 디바이스(1350)와의 인터렉션들(예를 들어, 회전, 흔들기, 터치스크린 터치, 터치 스크린을 가로지르는 손가락 스와이핑)은 AR 공간에서 오브젝트와의 인터렉션들로서 해석될 수 있다. AR 공간 내의 레이저 포인터의 예에서, 컴퓨팅 디바이스(1350)는 컴퓨터 생성 3D 환경에서 가상 레이저 포인터로 보여진다. 사용자가 컴퓨팅 디바이스(1350)를 조작함에 따라, AR 공간에서의 사용자는 레이저 포인터의 움직임을 보게된다. 사용자는 컴퓨팅 디바이스(1350)상의 AR 환경 또는 AR 헤드셋(1390)상의 컴퓨팅 디바이스(1350)와의 인터렉션들로부터 피드백을 수신한다. 컴퓨팅 디바이스와 사용자의 인터렉션은 제어가능한 디바이스에 대한 AR 환경에서 생성된 사용자 인터페이스와의 인터렉션으로 변환될 수 있다.In some implementations, computing device 1350 may be displayed as another object in a computer generated 3D environment. Interactions with the computing device 1350 by the user (eg, rotation, shaking, touch screen touch, and finger swiping across the touch screen) may be interpreted as interactions with objects in AR space. In the example of a laser pointer in AR space, computing device 1350 is viewed as a virtual laser pointer in a computer generated 3D environment. As the user manipulates the computing device 1350, the user in the AR space sees the movement of the laser pointer. The user receives feedback from an AR environment on computing device 1350 or interactions with computing device 1350 on AR headset 1390. The interaction between the computing device and the user may be converted into an interaction with a user interface generated in an AR environment for a controllable device.

일부 구현예에서, 컴퓨팅 디바이스(1350)는 터치스크린을 포함할 수 있다. 예를 들어, 사용자는 제어가능한 디바이스에 대한 사용자 인터페이스와 인터렉션하기 위해 터치스크린과 인터렉션할 수 있다. 예를 들어, 터치스크린은 제어가능한 디바이스의 속성을 제어할 수 있는 슬라이더와 같은 사용자 인터페이스 요소를 포함할 수 있다.In some implementations, computing device 1350 may include a touch screen. For example, a user may interact with a touchscreen to interact with a user interface for a controllable device. For example, the touchscreen may include a user interface element such as a slider to control properties of the controllable device.

컴퓨팅 디바이스(1300)는 랩톱, 데스크톱, 워크 스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터를 포함하지만, 이에 한정되지 않는 다양한 형태의 디지털 컴퓨터들을 나타내기 위한 것이다. 컴퓨팅 디바이스(1350)는 개인 휴대 정보 단말기, 셀룰러 전화기, 스마트폰 및 다른 유사한 컴퓨팅 디바이스들과 같은 다양한 형태의 모바일 디바이스들을 나타내기 위한 것이다. 여기에 도시된 컴포넌트들, 그들의 연결 및 관계, 및 그들의 기능은 단지 예시적인 것을 의미하며, 본 명세서에 기술된 및/또는 청구된 발명의 구현을 제한하는 것을 의미하지는 않는다.Computing device 1300 is intended to represent various types of digital computers including, but not limited to, laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Computing device 1350 is intended to represent various types of mobile devices, such as personal digital assistants, cellular telephones, smart phones, and other similar computing devices. The components shown herein, their connections and relationships, and their functionality are meant to be exemplary only and are not meant to limit implementation of the invention described and/or claimed herein.

다수의 실시예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 본 발명의 정신과 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다.A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention.

추가로, 도면들에 도시된 논리 흐름들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 추가로, 다른 단계들이 제공될 수 있거나, 단계들이 기술된 흐름으로부터 생략될 수 있고, 다른 컴포넌트들이 기술된 시스템에 추가되거나 그로부터 제거될 수 있다. 따라서, 다른 실시예들도 다음의 청구항들의 범위 내에 있다.Additionally, the logic flows shown in the figures do not necessarily require a particular depicted order, or a time series order, to achieve the desired results. Additionally, other steps may be provided, or steps may be omitted from the described flow, and other components may be added to or removed from the described system. Accordingly, other embodiments are also within the scope of the following claims.

기술된 구현예의 특정 구성들이 본 명세서에 기술된 바와 같이 설명되었지만, 많은 수정, 대체, 변경 및 균등물이 통상의 기술자로 인해 발생할 것이다. 그러므로, 첨부된 청구범위는 구현의 범위 내에 있는 그러한 모든 수정 및 변경을 포함하도록 의도된 것으로 이해되어야 한다. 이들 실시예는 제한적인 것이 아닌 예시일 뿐이며, 형태 및 세부사항의 다양한 변경이 이루어질 수 있음이 이해되어야 한다. 본 명세서에 기술된 장치 및/또는 방법의 임의의 부분은 상호 배타적인 조합을 제외하고는 임의의 조합으로 결합될 수 있다. 본 명세서에 기술된 구현예들은 기재된 다른 구현예들의 기능, 컴포넌트 및/또는 구성들의 다양한 조합 및/또는 서브 조합을 포함할 수 있다.While certain configurations of the described embodiments have been described as described herein, many modifications, substitutions, changes, and equivalents will occur to those skilled in the art. Therefore, it is to be understood that the appended claims are intended to cover all such modifications and variations that fall within the scope of implementation. It is to be understood that these embodiments are illustrative and not restrictive, and various changes in form and detail may be made. Any portion of the apparatus and/or methods described herein may be combined in any combination, except combinations that are mutually exclusive. Implementations described herein may include various combinations and/or sub-combinations of functions, components, and/or configurations of the other implementations described.

Claims (51)

컴퓨터로 구현되는 방법으로서,
디지털 보충물을 특정하는 데이터를 수신하는 단계, 상기 데이터는 디지털 보충물 및 상기 디지털 보충물을 시각적 콘텐츠와 연관시키기 위한 보충물 앵커를 식별하며;
상기 디지털 보충물 및 상기 보충물 앵커를 특정하는 데이터 구조 인스턴스를 생성하는 단계; 및
상기 데이터 구조 인스턴스를 생성한 후, 복수의 다른 데이터 구조 인스턴스를 포함하는 데이터베이스에 상기 데이터 구조 인스턴스를 저장하는 것에 적어도 기초하여 이미지에 의한 상기 디지털 보충물의 트리거링을 가능하게 하는 단계를 포함하며, 상기 복수의 다른 데이터 구조 인스턴스 각각은 디지털 보충물 및 하나 이상의 보충물 앵커를 특정하는, 컴퓨터로 구현되는 방법.
As a computer-implemented method,
Receiving data specifying a digital supplement, the data identifying a digital supplement and a supplement anchor for associating the digital supplement with visual content;
Creating a data structure instance specifying the digital replenishment and the replenishment anchor; And
After creating the data structure instance, enabling triggering of the digital supplement by an image based at least on storing the data structure instance in a database containing a plurality of other data structure instances, the plurality of Each of the different data structure instances of the computer-implemented method specifies a digital supplement and one or more supplement anchors.
청구항 1에 있어서, 상기 디지털 보충물을 특정하는 데이터를 수신하는 단계는:
웹페이지를 분석하는 단계; 및
상기 웹페이지 내에 표현된 상기 디지털 보충물과 연관된 메타데이터를 식별하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 1, wherein receiving data specifying the digital supplement comprises:
Analyzing the web page; And
And identifying metadata associated with the digital supplement represented within the webpage.
청구항 2에 있어서, 상기 디지털 보충물을 특정하는 데이터를 수신하는 단계는:
상기 웹페이지를 분석하기 전에, 상기 웹페이지를 포함하는 복수의 웹페이지를 크롤링하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 2, wherein receiving data specifying the digital supplement comprises:
Before analyzing the web page, further comprising the step of crawling a plurality of web pages including the web page, computer-implemented method.
청구항 2 또는 청구항 3에 있어서, 상기 디지털 보충물을 특정하는 데이터를 수신하는 단계는:
상기 웹페이지를 분석하기 전에, 상기 웹페이지의 식별자를 수신하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 2 or 3, wherein receiving data specifying the digital supplement comprises:
Prior to analyzing the webpage, receiving an identifier of the webpage.
청구항 2 내지 4 중 어느 한 항에 있어서, 상기 데이터 구조 인스턴스를 상기 웹페이지에 대한 인기도 점수와 연관시키는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.5. The computer-implemented method of any of claims 2-4, further comprising associating the data structure instance with a popularity score for the webpage. 청구항 2 내지 5 중 어느 한 항에 있어서, 상기 데이터 구조 인스턴스를 상기 웹페이지에 기초하여 상기 보충물 앵커에 대한 관련성 점수와 연관시키는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.6. The computer-implemented method of any of claims 2-5, further comprising associating the data structure instance with a relevance score for the replenishment anchor based on the webpage. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 디지털 보충물은 이름, 설명, 이미지 및 URL(uniform resource locator)을 포함하는, 컴퓨터로 구현되는 방법.The computer-implemented method of any of the preceding claims, wherein the digital supplement comprises a name, description, image and uniform resource locator (URL). 선행하는 청구항들 중 어느 한 항에 있어서, 상기 디지털 보충물은 애플리케이션의 식별자를 포함하는, 컴퓨터로 구현되는 방법.The computer-implemented method of any of the preceding claims, wherein the digital supplement comprises an identifier of an application. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 디지털 보충물의 트리거링을 트리거 링을 가능하게 하는 단계 후에:
이미지를 포함하는 시각적 콘텐츠 쿼리를 수신하는 단계;
상기 이미지가 상기 생성된 데이터 구조 인스턴스에 의해 특정된 상기 보충물 앵커와 일치하는지 결정하는 단계; 및
상기 이미지가 상기 보충물 앵커와 일치한다는 결정에 응답하여, 상기 시각적 콘텐츠 쿼리에 대한 응답으로 상기 데이터 구조 인스턴스로부터 상기 디지털 보충물을 제공하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
The method according to any of the preceding claims, after the step of enabling triggering of the triggering of the digital supplement:
Receiving a visual content query including an image;
Determining whether the image matches the replenishment anchor specified by the created data structure instance; And
In response to determining that the image matches the supplement anchor, providing the digital supplement from the data structure instance in response to the visual content query.
청구항 9에 있어서, 상기 이미지가 상기 보충물 앵커와 일치한다고 결정하는 단계는 상기 이미지 내의 엔터티를 식별하는 단계를 포함하는, 컴퓨터로 구현되는 방법.11. The computer-implemented method of claim 9, wherein determining that the image matches the supplement anchor comprises identifying an entity within the image. 청구항 9 또는 청구항 10에 있어서, 상기 데이터 구조 인스턴스는 컨텍스트 정보를 특정하고, 상기 데이터 구조 인스턴스로부터 상기 디지털 보충물을 제공하는 단계는 컨텍스트가 만족되었다는 결정에 기초하여 상기 데이터 구조 인스턴스로부터 상기 데이터를 제공하는 단계를 포함하는, 컴퓨터로 구현되는 방법.11. The method of claim 9 or 10, wherein the data structure instance specifies context information, and the step of providing the digital supplement from the data structure instance provides the data from the data structure instance based on a determination that the context has been satisfied. A computer-implemented method comprising the step of: 선행하는 청구항들 중 어느 한 항에 있어서, 상기 시각적 콘텐츠 쿼리에 응답하여 상기 데이터 구조 인스턴스로부터 상기 디지털 보충물을 제공하는 단계는 디지털 보충물의 목록을 제공하는 단계를 포함하고, 상기 목록은 상기 데이터 구조로부터의 디지털 보충물 및 상기 다른 데이터 구조 인스턴스 중 하나로부터의 디지털 보충물을 포함하고, 그리고 인기도 점수와 관련성 점수 중 하나 이상에 기초하여 정렬되는, 컴퓨터로 구현되는 방법.The method of any preceding claim, wherein providing the digital supplement from the data structure instance in response to the visual content query comprises providing a list of digital supplements, the list comprising the data structure A digital supplement from and a digital supplement from one of the other data structure instances, and are ordered based on one or more of a popularity score and a relevance score. 컴퓨팅 디바이스로서,
적어도 하나의 프로세서; 및
명령어를 저장하는 메모리를 포함하며, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금:
디지털 보충물을 특정하는 데이터를 수신하게 하고, 상기 데이터는 디지털 보충물 및 상기 디지털 보충물을 시각적 콘텐츠와 연관시키기 위한 보충물 앵커 및 컨텍스트 정보를 식별하며;
상기 디지털 보충물, 상기 보충물 앵커 및 상기 컨텍스트 정보를 특정하는 데이터 구조 인스턴스를 생성하게 하고; 그리고
상기 데이터 구조 인스턴스를 생성한 후, 복수의 다른 데이터 구조 인스턴스를 포함하는 데이터베이스에 상기 데이터 구조 인스턴스를 저장하는 것에 적어도 기초하여 이미지에 의한 상기 디지털 보충물의 트리거링을 가능하게 하며, 상기 복수의 다른 데이터 구조 인스턴스 각각은 디지털 보충물 및 하나 이상의 보충물 앵커를 특정하는, 컴퓨팅 디바이스.
As a computing device,
At least one processor; And
A memory for storing instructions, wherein the instructions, when executed by the at least one processor, cause the computing device to:
Receive data specifying the digital supplement, the data identifying the digital supplement and supplement anchor and context information for associating the digital supplement with visual content;
Create a data structure instance specifying the digital replenishment, the replenishment anchor, and the context information; And
After creating the data structure instance, enabling the triggering of the digital supplement by an image based at least on storing the data structure instance in a database containing a plurality of different data structure instances, and the plurality of different data structures Each of the instances specifies a digital replenishment and one or more replenishment anchors.
청구항 13에 있어서, 상기 컨텍스트 정보는 위치를 포함하는, 컴퓨팅 디바이스.The computing device of claim 13, wherein the context information includes a location. 청구항 13 또는 청구항 14에 있어서, 상기 컨텍스트 정보는 상기 이미지 내에서 식별된 엔터티를 포함하는, 컴퓨팅 디바이스.15. The computing device of claim 13 or 14, wherein the context information includes an identified entity within the image. 청구항 13 내지 15 중 어느 한 항에 있어서, 상기 컨텍스트 정보는 상기 이미지 내에서 식별된 다수의 엔터티를 포함하는, 컴퓨팅 디바이스.16. The computing device of any of claims 13-15, wherein the context information includes a number of entities identified within the image. 컴퓨터로 구현되는 방법으로서,
컴퓨팅 디바이스로부터 시각적 콘텐츠 쿼리를 수신하는 단계;
상기 시각적 콘텐츠 쿼리에 기초하여 보충물 앵커를 식별하는 단계;
상기 식별된 보충물 앵커에 기초하여 디지털 보충물의 정렬된 목록을 생성하는 단계; 및
상기 정렬된 목록을 컴퓨팅 디바이스에 전송하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
As a computer-implemented method,
Receiving a visual content query from a computing device;
Identifying a replenishment anchor based on the visual content query;
Generating an ordered list of digital supplements based on the identified supplement anchors; And
Transmitting the ordered list to a computing device.
청구항 17에 있어서, 상기 시각적 콘텐츠 쿼리는 이미지를 포함하고, 상기 디지털 보충물은 상기 이미지에서 식별된 엔터티에 관한 정보를 제시하는 웹페이지에 대한 URL을 포함하는, 컴퓨터로 구현되는 방법.18. The computer-implemented method of claim 17, wherein the visual content query includes an image and the digital supplement includes a URL to a webpage presenting information about the entity identified in the image. 청구항 17 또는 청구항 18에 있어서, 상기 디지털 보충물은 상기 이미지에서 식별된 엔터티에 대한 쿠폰 코드를 제시하는 웹페이지에 대한 URL을 포함하는, 컴퓨터로 구현되는 방법.19. The computer-implemented method of claim 17 or 18, wherein the digital supplement comprises a URL to a webpage presenting a coupon code for the entity identified in the image. 청구항 17 내지 19 중 어느 한 항에 있어서, 상기 디지털 보충물은 상기 이미지에 기초하여 식별된 비디오 콘텐츠를 포함하는, 컴퓨터로 구현되는 방법.20. The computer-implemented method of any of claims 17-19, wherein the digital supplement comprises video content identified based on the image. 청구항 17 내지 20 중 어느 한 항에 있어서, 상기 디지털 보충물은 서버에 대한 요청 및 해당 요청에 대한 파라미터를 포함하는, 컴퓨터로 구현되는 방법.21. The computer-implemented method of any of claims 17-20, wherein the digital supplement comprises a request to a server and parameters for that request. 청구항 21에 있어서, 상기 파라미터는 워크플로우를 개시하는, 컴퓨터로 구현되는 방법.22. The computer-implemented method of claim 21, wherein the parameter initiates a workflow. 청구항 17 내지 22 중 어느 한 항에 있어서, 상기 목록의 디지털 보충물은 인기도 점수 및 관련성 점수 중 하나 이상에 기초하여 정렬되는, 컴퓨터로 구현되는 방법.23. The computer-implemented method of any of claims 17-22, wherein the digital supplement of the list is ordered based on one or more of a popularity score and a relevance score. 컴퓨팅 디바이스로서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 청구항 1 내지 12 또는 17 내지 23 중 어느 한 항의 방법을 수행하게 하는 명령어를 저장하는 메모리를 포함하는, 컴퓨팅 디바이스.
As a computing device,
At least one processor; And
A computing device comprising a memory storing instructions that, when executed by the at least one processor, cause the computing device to perform the method of any one of claims 1-12 or 17-23.
명령어를 포함하는 컴퓨터 프로그램 물로서, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 청구항 1 내지 12 또는 17 내지 23 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 프로그램 물.A computer program product comprising an instruction, wherein the instruction, when executed by one or more processors, causes the one or more processors to perform the method of any one of claims 1 to 12 or 17 to 23. 명령어를 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 청구항 1 내지 12 또는 17 내지 23 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.A computer-readable storage medium containing instructions, wherein the instructions, when executed by one or more processors, cause the one or more processors to perform the method of any one of claims 1-12 or 17-23. media. 컴퓨터로 구현되는 방법으로서,
시각적 콘텐츠 쿼리를 서버 컴퓨팅 디바이스에 전송하는 단계;
디지털 보충물을 식별하는 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계; 및
상기 디지털 보충물과 연관된 정보를 포함하는 사용자 인터페이스가 디스플레이되게 하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
As a computer-implemented method,
Sending a visual content query to the server computing device;
Receiving a response to the visual content query identifying a digital supplement; And
And causing a user interface to be displayed that includes information associated with the digital supplement.
청구항 27에 있어서, 상기 시각적 콘텐츠 쿼리를 전송하는 단계는 상기 서버 컴퓨팅 디바이스에 이미지를 전송하는 것을 포함하는, 컴퓨터로 구현되는 방법.28. The computer-implemented method of claim 27, wherein sending the visual content query comprises sending an image to the server computing device. 청구항 27 또는 청구항 28에 있어서, 상기 시각적 콘텐츠 쿼리를 전송하는 단계는 상기 서버 컴퓨팅 디바이스에 이미지 내의 엔터티의 식별자를 전송하는 것을 포함하는, 컴퓨터로 구현되는 방법.29. The computer-implemented method of claim 27 or 28, wherein transmitting the visual content query comprises transmitting an identifier of an entity in an image to the server computing device. 청구항 27 내지 29 중 어느 한 항에 있어서, 상기 서버 컴퓨팅 디바이스에 컨텍스트 정보를 전송하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.30. The computer-implemented method of any of claims 27-29, further comprising transmitting context information to the server computing device. 청구항 30에 있어서,
상기 컨텍스트 정보는 위치를 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 30,
Wherein the context information includes a location.
청구항 27 내지 31 중 어느 한 항에 있어서, 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계는 상기 디지털 보충물과 연관된 URL을 수신하는 것을 포함하는, 컴퓨터로 구현되는 방법.32. The computer-implemented method of any of claims 27-31, wherein receiving a response to the visual content query comprises receiving a URL associated with the digital supplement. 청구항 27 내지 32 중 어느 한 항에 있어서, 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계는 상기 디지털 보충물과 연관된 애플리케이션의 식별자를 수신하는 것을 포함하는, 컴퓨터로 구현되는 방법.33. The computer-implemented method of any of claims 27-32, wherein receiving a response to the visual content query comprises receiving an identifier of an application associated with the digital supplement. 청구항 27 내지 33 중 어느 한 항에 있어서, 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계는 상기 디지털 보충물과 연관된 이름, 설명 및 이미지를 수신하는 것을 포함하는, 컴퓨터로 구현되는 방법.34. The computer-implemented method of any of claims 27-33, wherein receiving a response to the visual content query comprises receiving a name, description, and image associated with the digital supplement. 청구항 27 내지 34 중 어느 한 항에 있어서, 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계는 상기 디지털 보충물을 포함하는, 디지털 보충물의 목록을 수신하는 것을 포함하는, 컴퓨터로 구현되는 방법.35. The computer-implemented method of any of claims 27-34, wherein receiving a response to the visual content query comprises receiving a list of digital supplements, including the digital supplement. 청구항 35에 있어서, 상기 사용자 인터페이스는 상기 디지털 보충물의 목록으로부터 다수의 디지털 보충물에 관한 정보를 포함하는, 컴퓨터로 구현되는 방법.36. The computer-implemented method of claim 35, wherein the user interface includes information regarding a plurality of digital supplements from the list of digital supplements. 청구항 36에 있어서,
상기 디지털 보충물과 연관된 애플리케이션이 설치되었는지 여부에 기초하여 상기 디지털 보충물의 목록에 대한 정렬을 결정하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 36,
Further comprising determining an alignment for the list of digital supplements based on whether an application associated with the digital supplement has been installed.
청구항 27 내지 37 중 어느 한 항에 있어서,
이미지를 캡처하는 단계를 더 포함하고,
상기 시각적 콘텐츠 쿼리는 상기 이미지에 기초하는, 컴퓨터로 구현되는 방법.
The method according to any one of claims 27 to 37,
Further comprising the step of capturing the image,
The visual content query is based on the image.
컴퓨팅 디바이스에 있어서,
적어도 하나의 프로세서; 및
명령어를 저장하는 메모리를 포함하며, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금:
이미지를 캡처하게 하고;
상기 이미지에 기초한 시각적 콘텐츠 쿼리를 서버 컴퓨팅 디바이스에 전송하게 하고;
디지털 보충물을 식별하는 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하게 하고; 그리고
상기 디지털 보충물과 연관된 정보를 포함하는 사용자 인터페이스가 디스플레이되게 하는, 컴퓨팅 디바이스.
In the computing device,
At least one processor; And
A memory for storing instructions, wherein the instructions, when executed by the at least one processor, cause the computing device to:
Let the image be captured;
Send a visual content query based on the image to a server computing device;
Receive a response to the visual content query identifying a digital supplement; And
And cause a user interface to be displayed including information associated with the digital supplement.
청구항 39에 있어서,
상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하게 하는 것은 상기 디지털 보충물을 포함하는 디지털 보충물의 정렬된 목록을 수신하는 것을 포함하는, 컴퓨팅 디바이스.
The method of claim 39,
The computing device, wherein receiving a response to the visual content query includes receiving an ordered list of digital supplements that include the digital supplement.
청구항 40에 있어서,
상기 사용자 인터페이스는 상기 정렬된 목록 중 복수의 디지털 보충물과 연관된 사용자 작동 가능 제어를 포함하는 디지털 보충물 선택 패널을 포함하는, 컴퓨팅 디바이스.
The method of claim 40,
Wherein the user interface includes a digital replenishment selection panel including user operable controls associated with a plurality of digital replenishments in the sorted list.
청구항 41에 있어서,
상기 사용자 작동 가능 제어는 상기 정렬된 목록에 의해 제공된 순서에 기초하여 상기 디지털 보충물 선택 패널 상에 정렬되는, 컴퓨팅 디바이스.
The method of claim 41,
The user operable control is ordered on the digital replenishment selection panel based on an order provided by the sorted list.
청구항 39 내지 42 중 어느 한 항에 있어서,
상기 디지털 보충물은 디지털 보충물 서버와 연관되며, 상기 명령어는 상기 컴퓨팅 디바이스로 하여금:
정보를 상기 디지털 보충물 서버에 전송하게 하고; 그리고
상기 디지털 보충물 서버로부터 디지털 보충물 콘텐츠를 수신하게 하고, 상기 디지털 보충물 콘텐츠는 상기 전송된 정보에 기초하는, 컴퓨팅 디바이스.
The method according to any one of claims 39 to 42,
The digital replenishment is associated with a digital replenishment server, and the instructions cause the computing device to:
Send information to the digital replenishment server; And
Receive digital replenishment content from the digital replenishment server, the digital replenishment content based on the transmitted information.
청구항 43에 있어서, 상기 전송된 정보는 컨텍스트 정보를 포함하는, 컴퓨팅 디바이스.44. The computing device of claim 43, wherein the transmitted information includes context information. 컴퓨터로 구현되는 방법으로서,
이미지를 캡처하는 단계;
상기 이미지에 기초하여 시각적 콘텐츠 쿼리르 검색 서버에 전송하는 단계;
디지털 보충물 서버를 식별하는 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계;
상기 이미지가 상기 디지털 보충물 서버에 전송되게 하는 단계;
상기 디지털 보충물 서버로부터 디지털 보충물 콘텐츠를 수신하는 단계; 및
상기 디지털 보충물 콘텐츠가 디스플레이되게 하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
As a computer-implemented method,
Capturing an image;
Transmitting a visual content query to a search server based on the image;
Receiving a response to the visual content query identifying a digital supplement server;
Causing the image to be transmitted to the digital supplement server;
Receiving digital supplement content from the digital supplement server; And
Causing the digital supplement content to be displayed.
청구항 45에 있어서,
상기 시각적 콘텐츠 쿼리는 상기 이미지를 포함하며, 상기 이미지가 상기 디지털 보충물 서버에 전송되게 하는 단계는 상기 이미지를 상기 디지털 보충물 서버에 제공하기 위한 명령어를 상기 검색 서버에 전송하는 것을 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 45,
Wherein the visual content query includes the image, and causing the image to be transmitted to the digital replenishment server comprises sending instructions to the search server to provide the image to the digital replenishment server. How to be implemented as.
청구항 45 내지 46 중 어느 한 항에 있어서,
상기 이미지가 상기 디지털 보충물 서버에 전송되게 하는 단계는 상기 이미지를 상기 디지털 보충물 서버에 전송하는 것을 포함하는, 컴퓨터로 구현되는 방법.
The method of any one of claims 45 to 46,
Wherein causing the image to be transmitted to the digital replenishment server comprises transmitting the image to the digital replenishment server.
청구항 45 내지 47 중 어느 한 항에 있어서,
상기 디지털 보충물은 상기 이미지에 기초하여 사이징되고 포지셔닝된 증강 현실 콘텐츠를 포함하는, 컴퓨터로 구현되는 방법.
The method of any one of claims 45 to 47,
The digital supplement comprises augmented reality content sized and positioned based on the image.
컴퓨팅 디바이스로서,
적어도 하나의 프로세서; 및
명령어를 저장하는 메모리를 포함하며, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 청구항 27 내지 38 또는 45 내지 48 중 어느 한 항의 방법을 수행하게 하는, 컴퓨팅 디바이스.
As a computing device,
At least one processor; And
A computing device comprising a memory for storing instructions, wherein the instructions, when executed by the at least one processor, cause the computing device to perform the method of any one of claims 27-38 or 45-48.
명령어를 포함하는 컴퓨터 프로그램 물로서, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 청구항 27 내지 38 또는 45 내지 48 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 프로그램 물.A computer program product comprising an instruction, wherein the instruction, when executed by one or more processors, causes the one or more processors to perform the method of any one of claims 27 to 38 or 45 to 48. 명령어를 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 청구항 27 내지 38 또는 45 내지 48 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.A computer-readable storage medium comprising instructions, wherein the instructions, when executed by one or more processors, cause the one or more processors to perform the method of any one of claims 27 to 38 or 45 to 48. media.
KR1020207031107A 2018-06-21 2019-06-21 Digital replenishment association and search for visual search KR20200136030A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227044320A KR20230003388A (en) 2018-06-21 2019-06-21 Digital supplement association and retrieval for visual search

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/014,512 US10579230B2 (en) 2018-06-21 2018-06-21 Digital supplement association and retrieval for visual search
US16/014,520 US10878037B2 (en) 2018-06-21 2018-06-21 Digital supplement association and retrieval for visual search
US16/014,520 2018-06-21
US16/014,512 2018-06-21
PCT/US2019/036542 WO2019245801A1 (en) 2018-06-21 2019-06-21 Digital supplement association and retrieval for visual search

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227044320A Division KR20230003388A (en) 2018-06-21 2019-06-21 Digital supplement association and retrieval for visual search

Publications (1)

Publication Number Publication Date
KR20200136030A true KR20200136030A (en) 2020-12-04

Family

ID=68983041

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227044320A KR20230003388A (en) 2018-06-21 2019-06-21 Digital supplement association and retrieval for visual search
KR1020207031107A KR20200136030A (en) 2018-06-21 2019-06-21 Digital replenishment association and search for visual search

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227044320A KR20230003388A (en) 2018-06-21 2019-06-21 Digital supplement association and retrieval for visual search

Country Status (5)

Country Link
EP (1) EP3811238A1 (en)
JP (2) JP7393361B2 (en)
KR (2) KR20230003388A (en)
CN (1) CN112020712A (en)
WO (1) WO2019245801A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231385B (en) * 2020-12-11 2021-06-01 湖南新云网科技有限公司 Data collection method, device, equipment and storage medium
US20240037529A1 (en) * 2022-07-27 2024-02-01 Bank Of America Corporation System and methods for detecting and implementing resource allocation in an electronic network based on non-contact instructions

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680324B2 (en) * 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
CN101777064A (en) * 2009-01-12 2010-07-14 鸿富锦精密工业(深圳)有限公司 Image searching system and method
US8429173B1 (en) * 2009-04-20 2013-04-23 Google Inc. Method, system, and computer readable medium for identifying result images based on an image query
US9710491B2 (en) * 2009-11-02 2017-07-18 Microsoft Technology Licensing, Llc Content-based image search
US8811742B2 (en) * 2009-12-02 2014-08-19 Google Inc. Identifying matching canonical documents consistent with visual query structural information
US8903166B2 (en) * 2010-01-20 2014-12-02 Microsoft Corporation Content-aware ranking for visual search
US8489589B2 (en) * 2010-02-05 2013-07-16 Microsoft Corporation Visual search reranking
JP5014494B2 (en) * 2011-01-21 2012-08-29 パナソニック株式会社 Information processing apparatus, augmented reality system, information processing method, and information processing program
US8543521B2 (en) * 2011-03-30 2013-09-24 Microsoft Corporation Supervised re-ranking for visual search
US9036925B2 (en) * 2011-04-14 2015-05-19 Qualcomm Incorporated Robust feature matching for visual search
US20130129142A1 (en) * 2011-11-17 2013-05-23 Microsoft Corporation Automatic tag generation based on image content
WO2013075310A1 (en) * 2011-11-24 2013-05-30 Microsoft Corporation Reranking using confident image samples
US8935246B2 (en) * 2012-08-08 2015-01-13 Google Inc. Identifying textual terms in response to a visual query
US9671941B1 (en) * 2013-05-09 2017-06-06 Amazon Technologies, Inc. Graphical behaviors for recognition interfaces
WO2014184786A2 (en) * 2013-05-16 2014-11-20 Yandex Europe Ag Method and system for presenting image information to a user of a client device
US20160224837A1 (en) * 2013-10-25 2016-08-04 Hyperlayer, Inc. Method And System For Facial And Object Recognition Using Metadata Heuristic Search
US9652543B2 (en) * 2014-12-22 2017-05-16 Microsoft Technology Licensing, Llc Task-oriented presentation of auxiliary content to increase user interaction performance
CN106156063B (en) * 2015-03-30 2019-10-01 阿里巴巴集团控股有限公司 Correlation technique and device for object picture search results ranking
US9489401B1 (en) * 2015-06-16 2016-11-08 My EyeSpy PTY Ltd. Methods and systems for object recognition
US20170161382A1 (en) * 2015-12-08 2017-06-08 Snapchat, Inc. System to correlate video data and contextual data
US10235387B2 (en) * 2016-03-01 2019-03-19 Baidu Usa Llc Method for selecting images for matching with content based on metadata of images and content in real-time in response to search queries
US10459970B2 (en) * 2016-06-07 2019-10-29 Baidu Usa Llc Method and system for evaluating and ranking images with content based on similarity scores in response to a search query

Also Published As

Publication number Publication date
CN112020712A (en) 2020-12-01
JP2021522614A (en) 2021-08-30
KR20230003388A (en) 2023-01-05
EP3811238A1 (en) 2021-04-28
WO2019245801A1 (en) 2019-12-26
JP2022110057A (en) 2022-07-28
JP7393361B2 (en) 2023-12-06

Similar Documents

Publication Publication Date Title
US11023106B2 (en) Digital supplement association and retrieval for visual search
US11227326B2 (en) Augmented reality recommendations
US11640431B2 (en) Digital supplement association and retrieval for visual search
US10839605B2 (en) Sharing links in an augmented reality environment
US10540378B1 (en) Visual search suggestions
JP6220452B2 (en) Object-based context menu control
US9104293B1 (en) User interface points of interest approaches for mapping applications
US9269011B1 (en) Graphical refinement for points of interest
JP6502923B2 (en) Recognition interface for computing devices
US20210042809A1 (en) System and method for intuitive content browsing
US20220335661A1 (en) System and method for playback of augmented reality content triggered by image recognition
US20220155940A1 (en) Dynamic collection-based content presentation
JP2022110057A (en) Digital supplement association and retrieval for visual search
US9600720B1 (en) Using available data to assist in object recognition
US10043069B1 (en) Item recognition using context data
US10621237B1 (en) Contextual overlay for documents
WO2017210610A1 (en) Quick trace navigator
US9529936B1 (en) Search results using query hints
US10437902B1 (en) Extracting product references from unstructured text

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X601 Decision of rejection after re-examination
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2023101002415; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20231108

Effective date: 20240112