KR20230003388A - Digital supplement association and retrieval for visual search - Google Patents

Digital supplement association and retrieval for visual search Download PDF

Info

Publication number
KR20230003388A
KR20230003388A KR1020227044320A KR20227044320A KR20230003388A KR 20230003388 A KR20230003388 A KR 20230003388A KR 1020227044320 A KR1020227044320 A KR 1020227044320A KR 20227044320 A KR20227044320 A KR 20227044320A KR 20230003388 A KR20230003388 A KR 20230003388A
Authority
KR
South Korea
Prior art keywords
digital
computing device
supplement
digital supplement
image
Prior art date
Application number
KR1020227044320A
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 구글 엘엘씨
Publication of KR20230003388A publication Critical patent/KR20230003388A/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 retrieving 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 creating a data structure instance that specifies the digital supplement and the supplement anchor, and after creating the data structure instance, storing the data structure instance in a database that includes a plurality of other data structure instances. and enabling triggering of the digital supplement by an image based at least on Each of the other data structure instances may specify a digital supplement and one or more supplement anchors.

Figure P1020227044320
Figure P1020227044320

Description

시각적 검색을 위한 디지털 보충물 연관 및 검색{DIGITAL SUPPLEMENT ASSOCIATION AND RETRIEVAL FOR VISUAL SEARCH}Digital Supplement Association and Search for Visual Search {DIGITAL SUPPLEMENT ASSOCIATION AND RETRIEVAL FOR VISUAL SEARCH}

관련 출원에 대한 상호 참조CROSS REFERENCES TO RELATED APPLICATIONS

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

스마트폰과 같은 모바일 컴퓨팅 디바이스는 종종 카메라를 포함한다. 이러한 카메라는 컴퓨팅 디바이스 주변 환경의 엔터티의 이미지를 캡처하는데 사용될 수 있다. 이러한 엔터티와 연관된 다양한 유형의 콘텐츠 또는 경험이 모바일 컴퓨팅 디바이스를 통해 사용자에게 제공될 수 있다.Mobile computing devices, such as smartphones, often include cameras. Such cameras may 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 presented to users via mobile computing devices.

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

또 다른 양태는 적어도 하나의 프로세서 및 명령어를 저장하는 메모리를 포함하는 컴퓨팅 디바이스이다. 명령어는 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 디지털 보충물을 특정하는 데이터를 수신하게 하고, 상기 데이터는 디지털 보충물 및 상기 디지털 보충물을 시각적 콘텐츠와 연관시키기 위한 보충물 앵커 및 컨텍스트 정보를 식별한다. 또한 명령어는 컴퓨팅 디바이스로 하여금 상기 디지털 보충물, 상기 보충물 앵커 및 상기 컨텍스트 정보를 특정하는 데이터 구조 인스턴스를 생성하게 한다. 상기 명령어는 컴퓨터 디바이스로 하여금 상기 데이터 구조 인스턴스를 생성한 후, 복수의 다른 데이터 구조 인스턴스를 포함하는 데이터베이스에 상기 데이터 구조 인스턴스를 저장하는 것에 적어도 기초하여 이미지에 의한 상기 디지털 보충물의 트리거링을 가능하게 한다. 상기 다른 데이터 구조 인스턴스들 각각 디지털 보충물 및 하나 이상의 보충물 앵커를 특정한다.Another aspect is a computing device that includes at least one processor and a memory storing instructions. The instructions, when executed by the at least one processor, cause the computing device to receive data specifying a digital supplement, the data including a digital supplement and a supplement anchor for associating the digital supplement with visual content; Identifies contextual 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 trigger the digital supplement by an image based at least on creating the data structure instance and then 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 supplement 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 following description, drawings and claims.

도 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 example implementation.
FIG. 2 is a third-person view of an exemplary physical space from which an 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 supplement in accordance with implementations described herein.
4 is a diagram of an exemplary method for enabling triggering of digital supplements in accordance with implementations described herein.
5 is a diagram of an exemplary method for retrieving and presenting digital supplements in accordance with implementations described herein.
6 is a diagram of an example method for 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 searches 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 searches 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 searches 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 an embodiment of the client computing device of FIG. 1 for performing a visual content search 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 present invention, examples of which are shown in the accompanying drawings. Examples are described below with reference to the drawings, where like reference numbers refer to like elements. When the same reference number is shown, the corresponding description(s) are not repeated and the interested reader is referred to the above-discussed drawing(s) for description of similar element(s).

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

예를 들어, 스마트폰과 같은 클라이언트 컴퓨팅 디바이스는 엔터티와 같은 보충물 앵커의 이미지를 캡처할 수 있다. 클라이언트 컴퓨팅 디바이스는 식별된 보충물 앵커와 연관된 디지털 보충물을 검색하기 위해 이미지에 기초한 시각적 콘텐츠 쿼리를 서버 컴퓨팅 디바이스에 전송할 수 있다. 일부 구현예에서, 보충물 앵커는 클라이언트 컴퓨팅 디바이스 주변의 물리적 환경에 기초하고, 디지털 보충물은 물리적 환경에서 사용자의 경험을 보충할 수 있는 가상 콘텐츠이다.For example, a client computing device, such as a smartphone, may capture an image of a supplemental anchor, such as an entity. The client computing device may send an image-based visual content query to the server computing device to retrieve the digital supplement associated with the identified supplement anchor. In some implementations, the supplemental anchor is based on the physical environment surrounding 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 supplemental anchor). An example of data determined from an image is text extracted from an image, for example using optical character recognition. Other examples of data extracted from an image are a value read from a barcode, QR code, etc. in the image, an identifier or description of the entity, product or entity type identified in the image.

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

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

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

디지털 보충물에 대한 메타데이터는 다음 중 하나 이상을 포함할 수 있다: 유형 표시자, 앵커 표시자, 이름, 설명, 콘텐츠의 스니펫(즉, 콘텐츠 일부의 발췌 또는 미리보기), 연관 이미지, 디지털 보충물에 대한 URL과 같은 링크 및 디지털 보충물과 연관된 애플리케이션의 식별자. 메타데이터는 또한 디지털 보충물의 퍼블리셔에 관한 정보를 포함할 수 있다. 예를 들어, 메타데이터는 퍼블리셔 이름, 퍼블리셔 설명 및 퍼블리셔와 연관된 이미지 또는 아이콘 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 메타데이터는 디지털 보충물을 제공하는 것과 관련된 컨텍스트 정보를 포함한다. 예를 들어, 메타데이터는 또한 디지털 보충물을 제공하거나 액세스하는 것과 연관된 조건(예를 들어, 지리적 조건, 필수 애플리케이션)을 포함할 수 있다.Metadata for a digital supplement 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 piece of content), associated images, digital Links such as URLs to supplements and identifiers of applications associated with digital supplements. 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, metadata may also include conditions associated with providing or accessing the digital supplement (eg, geographic conditions, required applications).

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

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

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

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

IMU(114)는 클라이언트 컴퓨팅 디바이스의 모션, 이동 및/또는 가속을 검출할 수 있다. IMU(114)는 예를 들어 가속도계, 자이로스코프, 자력계 및 기타 이러한 센서와 같은 다양한 상이한 유형의 센서들을 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(102)의 방향은 IMU(114) 또는 GPS 수신기(116)에 의해 제공되는 데이터에 기초하여 검출 및 추적될 수 있다.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 signals emitted from GPS satellites. The signal includes the time and position of the satellite. Based on receiving signals from several 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)이 디지털 보충물과 연관되거나 디지털 보충물을 제공하기 위해 필요한 특정 애플리케이션을 포함하는 경우에만 이용 가능할 수 있다.Memory 120 may include applications 122 , other applications 140 , and device positioning system 142 . Other applications 140 include any other applications installed or otherwise available for execution on client computing device 102 . In some implementations, application 122 can cause one of the other applications 140 to be launched to provide the digital supplement. In some implementations, some digital supplements may be available only when other applications 140 are associated with the digital supplement or include specific applications needed to provide the digital supplement.

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

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

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

보충물 앵커 식별 엔진(124)은 예를 들어 카메라 어셈블리(112)로 캡처된 이미지에 기초하여 보충물 앵커를 식별한다. 일부 구현예에서, 보충물 앵커 식별 엔진(124)은 텍스트를 식별하기 위해 이미지를 분석한다. 그 다음 텍스트를 사용하여 앵커를 식별할 수 있다. 예를 들어, 텍스트는 지식 그래프의 노드에 매핑될 수 있다. 예를 들어, 텍스트는 사람, 장소, 제품, 건물, 예술품, 영화 또는 기타 유형의 엔터티와 같은 엔터티의 이름으로 인식될 수 있다. 일부 구현예에서, 텍스트는 특정 엔터티와 일반적으로 연관된 문구 또는 특정 엔터티를 설명하는 문구로 인식될 수 있다. 예를 들어, 텍스트는 특정 엔터티와 연관된 앵커로 인식될 수 있다.Supplemental anchor identification engine 124 identifies supplemental anchors based, for example, on images captured with camera assembly 112 . In some implementations, supplement anchor identification engine 124 analyzes the image to identify text. The text can then be used to identify anchors. 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, artwork, movie, or other tangible entity. In some implementations, text can be recognized as a phrase generally associated with a particular entity or a phrase describing a particular entity. For example, text may be recognized as an anchor associated with a particular entity.

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

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

일부 구현예에서, 신경 네트워크 시스템은 컨볼루션 신경 네트워크(CNN)를 포함한다. 컨볼루션 신경 네트워크(CNN)는 신경 네트워크의 계층 중 적어도 하나가 컨볼루션 계층인 신경 네트워크이다. 컨벌루션 계층은 이전 계층 값의 서브세트에 커널 함수를 적용함에 기초하여 계층의 값을 계산하는 계층이다. 신경 네트워크 트레이닝은 트레이닝 예제에 기초하여 커널 함수의 가중치를 조정하는 것을 포함할 수 있다. 일반적으로 컨벌루션 계층의 각 값을 계산하는데 동일한 커널 함수가 사용된다. 따라서, 신경 네트워크에서 완전 연결 계층(예: 계층의 각 값이 이전 계층의 각 값의 독립적으로 조정된 가중치 조합으로 계산되는 계층)보다 컨볼루션 계층을 트레이닝하는 동안 학습해야 하는 가중치가 훨씬 적다. 일반적으로 컨벌루션 계층은 가중치가 적기 때문에 컨볼루션 계층을 트레이닝하고 사용하는데 동등한 완전 연결 계층보다 적은 메모리, 프로세서 사이클 및 시간이 요구될 수 있다.In some implementations, the neural network system includes 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. A convolutional layer is a layer that computes the values of a layer based on applying a kernel function to a subset of the previous layer's values. Neural network training may include adjusting the weights of kernel functions based on training examples. In general, the same kernel function is used to compute each value of the convolutional layer. Thus, in neural networks, convolutional layers require far fewer weights to learn while training than fully connected layers (i.e., layers where each value in a layer is computed as an independently adjusted weight combination of each value in the previous layer). Because convolutional layers generally have fewer weights, training and using convolutional layers may require less memory, processor cycles, and time than equivalent fully-connected layers.

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

일부 구현예에서, 보충물 앵커 식별 엔진(124)은 인식된 앵커에 대한 신뢰도 점수를 결정한다. 더 높은 신뢰도 점수는 이미지로부터의 콘텐츠(예를 들어, 이미지, 추출된 텍스트, 바코드, QR 코드)가 더 낮은 신뢰도 점수가 결정되는 경우보다 결정된 앵커와 연관될 가능성이 더 높다는 것을 나타낼 수 있다.In some implementations, the supplemental anchor identification engine 124 determines confidence scores for recognized anchors. 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)는 이미지 내의 보충물 앵커를 식별할 수 있다.1 shows supplement anchor identification engine 124 as a component of application 122 on client computing device 102 , some implementations include supplement anchor identification engine on search server 152 . . For example, client computing device 102 can transmit an image captured by camera assembly 112 to search server 152, which can then identify supplemental anchors within the image. .

일부 구현예에서, 보충물 앵커 식별 엔진(124)은 잠재적 보충물 앵커를 식별한다. 예를 들어, 보충물 앵커 식별 엔진(124)은 이미지 내의 다양한 엔터티를 식별(인식)할 수 있다. 인식된 엔터티의 식별자는 검색 서버(152)에 전송될 수 있으며, 이는 엔터티 중 어느 것이 임의의 보충물 앵커와 연관되는지를 결정할 수 있다. 일부 구현예에서, 검색 서버(152)는 식별된 엔터티가 보충물 앵커가 아니더라도 식별된 엔터티를 컨텍스트 정보로 사용할 수 있다.In some implementations, supplemental anchor identification engine 124 identifies potential supplemental anchors. For example, supplement anchor identification engine 124 may identify (recognize) various entities within an image. Identifiers of recognized entities may be sent to search server 152, which may determine which of the entities are associated with any supplement anchor. In some implementations, search server 152 may use the identified entity as contextual 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, digital supplement search engine 126 may search for digital supplements associated with supplement anchors identified by supplement anchor identification engine 124 . In some implementations, digital supplement search engine 126 retrieves digital supplements from search server 152 or digital supplement server 172 .

예를 들어, 보충물 앵커가 식별된 후, 디지털 보충물 검색 엔진(126)은 식별된 보충물 앵커와 연관된 하나 이상의 디지털 보충물을 검색할 수 있다. 디지털 보충물 검색 엔진(126)은 이미지(또는 이미지 내의 보충물 앵커 또는 엔터티의 식별자)를 포함하는 시각 콘텐츠 쿼리를 생성하고, 상기 시각 콘텐츠 쿼리를 검색 서버(152)에 전송할 수 있다. 시각적 콘텐츠 쿼리는 또한 클라이언트 컴퓨팅 디바이스(102)의 위치와 같은 컨텍스트 정보를 포함할 수 있다. 일부 구현예에서, 이름, 이미지 또는 설명과 같은 디지털 보충물과 연관된 데이터가 검색되어 사용자에게 제시된다(예를 들어, 사용자 인터페이스 엔진(130)에 의해). 다수의 디지털 보충물이 제시되는 경우, 사용자는 사용자 인터페이스 엔진(130)에 의해 생성된 사용자 인터페이스를 통해 디지털 보충물 중 하나를 선택할 수 있다.For example, after a supplement anchor is identified, digital supplement search engine 126 may retrieve one or more digital supplements associated with the identified supplement anchor. Digital supplemental search engine 126 may generate a visual content query that includes the image (or identifier of a supplemental anchor or entity within the image) and transmit the visual content query to 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 the digital supplement, such as a name, image, or description, is retrieved and presented to the user (eg, by user interface engine 130). If multiple digital supplements are presented, the user may select one of the digital supplements through the user interface generated by 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 or causes the digital supplement 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, digital supplement presentation engine 128 causes information or content to be displayed. For example, digital supplement presentation engine 128 can cause user interface engine 130 to generate a user interface that includes information or content from the digital supplement to be displayed by client computing device 102 . In some implementations, digital supplement presentation engine 128 is triggered by digital supplement search engine 126 to search for digital supplements. The digital supplement presentation engine 128 can trigger the display device 108 to display content associated with the digital supplement. In some implementations, digital supplement presentation engine 128 causes digital supplements to be displayed at a different time than when digital supplement search engine 126 searches for digital supplements. For example, a digital supplement can be retrieved in response to a visual content query a first time and the digital supplement can be presented a second time. For example, to retrieve a digital supplement in response to a visual content query based on home furnishings or images of furniture in a catalog or store at a first time (eg, while the user is viewing a catalog or visiting a store). can A digital supplement comprising 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 a room in which the furniture may be placed).

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

검색 서버(152)는 컴퓨팅 디바이스이다. 검색 서버(152)는 시각적 콘텐츠 쿼리와 같은 검색 요청에 응답할 수 있다. 응답은 시각적 콘텐츠 쿼리와 잠재적으로 관련이 있는 하나 이상의 디지털 보충물을 포함할 수 있다. 일부 구현예에서, 검색 서버(152)는 메모리(160), 프로세서 어셈블리(154) 및 통신 모듈(156)을 포함한다. 메모리(160)는 콘텐츠 크롤러(162), 디지털 보충물 검색 엔진(164) 및 디지털 보충물 데이터 저장소(166)를 포함할 수 있다.Search server 152 is a computing device. Search server 152 may respond to search requests, such as visual content queries. 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 . Memory 160 may include content crawler 162 , digital supplement search engine 164 and 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, content crawler 162 may access webpages accessible over the Internet, such as webpages served by digital supplement server 172 . Crawling network accessible resources may include requesting the resource from a web server and parsing at least a portion of the resource. A digital supplement may be identified based on metadata provided by a network accessible resource, such as XML or JSON data providing information about the digital supplement. In some implementations, the crawler identifies network accessible resources based on extracting links from previously crawled network accessible resources. Content crawler 162 may also identify network accessible resources to crawl based on receiving input submitted by a user. For example, a user may submit a URL (or other information) to a network accessible resource containing a digital supplement via a web form or application programming interface (API). In some implementations, content crawler 162 creates an index of identified digital supplements. Content crawler 162 may also generate a score associated with the digital supplement, such as a relevance score or a popularity (reputation) 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, digital supplement search engine 164 may receive a visual content query from client computing device 102 . Visual content queries can include images. The digital supplement search engine 164 may identify supplement anchors in the image and, based on the identified supplement anchors, may identify related or potentially related digital supplements. The digital supplement search engine 164 can send a response to the client computing device 102 that includes the digital supplement or information that can be used to access the digital supplement. In some implementations, digital supplement search engine 164 may return information associated with multiple digital supplements. For example, a digital supplement list may be included in the response to a query. The list may be ordered based on relevance to the replenishment anchor, popularity, or other attribute of the digital supplement.

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

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

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

디지털 보충물(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. Digital supplement 182 may also include any type of content that may supplement stored images (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. Digital supplement 182 may include one or more images, audio content, text data, videos, 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 supplement 182 may cause an application to be launched and may define parameters for the application. Digital supplement 182 may also cause a request to be sent to a server (eg, an HTTP request) and may define parameters for that request. In some implementations, digital supplement 182 is initiated as a workflow for completing an activity, such as a workflow for completing a purchase. For example, digital supplement 182 may send an HTTP request to a server to add a particular 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: type indicator, anchor indicator, name, description, preview snippet or excerpt, associated image, URL to the digital supplement, and the like. The identifier of the application associated with the link and digital supplement. Metadata may also include information about the publisher of the digital supplement, such as a publisher name, a 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, metadata may include conditions that must be met to access the digital supplement (eg, geographic conditions, client computing device requirements, required applications). Exemplary contextual information includes a location, an entity identified within an image, or multiple entities identified within an image (eg, some digital supplements may require a combination of entities to be recognized within an image). A recognized entity may be a supplemental anchor. In some implementations, a recognized entity provides context information rather than a supplemental anchor. Metadata 184 may also include a supplemental 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)로부터의 검색 요청에 응답하는데 사용되는 데이터를 생성할 수 있다.Metadata 184 may be stored in a variety of formats. In some implementations, metadata 184 is stored in a database. Metadata 184 may also be stored as XML files, JSON files, or other format files. In some implementations, digital supplement server 172 retrieves metadata 184 from a database, and formats metadata 184 in XML, JSON, or otherwise in a request from a client or search server 152. provides a response to For example, search server 152 may access metadata 184 to generate data stored in digital supplement data store 166 and used to respond to search requests from client computing device 102 . there is.

통신 모듈(106)은 검색 서버(152) 또는 디지털 보충물 서버(172)와 같은 다른 컴퓨팅 디바이스와 통신하기 위한 하나 이상의 디바이스들을 포함한다. 통신 모듈(106)은 네트워크(190)와 같은 무선 또는 유선 네트워크를 통해 통신할 수 있다. 검색 서버(152)의 통신 모듈(156) 및 디지털 보충물 서버(172)의 통신 모듈(176)은 통신 모듈(106)과 유사할 수 있다.Communications module 106 includes one or more devices for communicating with other computing devices, such as search server 152 or digital supplement server 172 . Communications module 106 can communicate over a wireless or wired network, such as 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 images or information to a user. can In some implementations, 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 may generate visual content queries based on captured images, send visual content queries, receive responses to visual content, and present identified digital supplements in response to visual content queries. It may store instructions and data usable by the client computing device 102 to implement the techniques described herein. The memory 160 of search server 152 and the memory 180 of digital supplement server 172 may be similar to memory 120, the technology of search server 152 and digital supplement server 172, respectively. can store data instructions 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 supplement association and retrieval for visual retrieval. For example, the processor assembly 104 may include a central processing unit (CPU) and/or a graphics processing unit (GPU). For example, if there is a GPU, some image/video rendering tasks such as user interface creation and display or some display of digital supplements may be offloaded from the CPU to the GPU. In some implementations, some image recognition tasks can 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 FIG. 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 include the HMD. In some implementations, computing device 102 communicates with HMD 104 via a cable. For example, the client computing device 102 can send video signals and/or audio signals to the HMD for display for a user, and the HMD can send motion, position and/or orientation information to the client computing device 102. 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 connected via a wired connection (eg, Universal Serial Bus (USB) cable) or via a wireless communication protocol (eg, any WiFi protocol, any BlueTooth protocol, ZigBee, etc.) ) to communicate with the HMD (not shown). In some implementations, the client computing device 102 is a component of an HMD and can be contained within a housing of the HMD.

네트워크(190)는 인터넷, 근거리 통신망(LAN), 무선 근거리 통신망(WLAN) 및/또는 다른 네트워크일 수 있다. 클라이언트 컴퓨팅 디바이스(102)는 예시적 구현예에서 디지털 보충물의 일부로서 제공될 수 있는 오디오/비디오 신호를 네트워크를 통해 수신할 수 있다.Network 190 may be the Internet, a local area network (LAN), a wireless local area network (WLAN), and/or other networks. Client computing device 102 may receive audio/video signals over a network, which 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 from 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 . Object 222 is included within field of view 204 of camera assembly 112 of client computing device 102 .

예시적 사용자 인터페이스 스크린(206)이 또한 도시된다. 사용자 인터페이스 화면(206)은 예를 들어 클라이언트 컴퓨팅 디바이스(102)의 사용자 인터페이스 엔진(130)에 의해 생성될 수 있다. 사용자 인터페이스 화면(206)은 이미지 디스플레이 패널(208) 및 디지털 보충물 선택 패널(210)을 포함한다. 이미지 디스플레이 패널(208)은 이미지를 보여준다. 예를 들어, 이미지 디스플레이 패널(208)은 클라이언트 컴퓨팅 디바이스(102)의 카메라 어셈블리(112)로부터의 실시간 피드에 대응하는 이미지를 보여줄 수 있다. 일부 구현예에서, 이미지 디스플레이 패널(208)은 이전에 캡처된 이미지 또는 클라이언트 컴퓨팅 디바이스(102)의 메모리(120)로부터 검색된 이미지를 보여준다.An example user interface screen 206 is also shown. User interface screen 206 may be generated, for example, by user interface engine 130 of 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 images. 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, image display panel 208 shows previously captured images or images retrieved from memory 120 of client computing device 102 .

일부 구현예에서, 사용자 인터페이스 화면(206)은 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 디바이스에서 사용자에게 디스플레이된다. 일부 구현예에서, 사용자 인터페이스 화면(206)은 물리적 공간의 이미지(또는 컴퓨팅 디바이스의 카메라에 의해 캡처되는 비디오 피드)에 오버레이될 수 있다. 또한, 사용자 인터페이스 화면(206)은 사용자가 착용한 HMD를 사용하여 사용자의 시야에 AR 콘텐츠로서 디스플레이될 수 있다.In some implementations, user interface screen 206 is displayed to a user on a display device of client computing device 102 . In some implementations, the user interface screen 206 can be overlaid on an image of the physical space (or a video feed captured by a 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 images. For example, image display panel 208 may include an indicator indicating that an object in the image (eg, object 222 ) has been recognized as a supplemental anchor. The indicator may include user-operable controls for accessing or viewing information regarding the digital supplement associated with the identified supplement anchor. In some circumstances, an image displayed on image display panel 208 may include multiple objects that are recognized as supplementary anchors, and image display panel 208 may overlay multiple images to identify such supplemental anchors. may contain comments.

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

디지털 보충물 선택 패널(210)은 사용자가 제시할 디지털 보충물을 선택할 수 있도록 한다. 예를 들어, 디지털 보충물 선택 패널(210)은 디지털 보충물과 각각 연관되는 사용자-작동 가능 제어를 포함하는 메뉴를 포함할 수 있다. 이 예에서, 디지털 보충물 선택 패널(210)은 각각 연관된 디지털 보충물에 대한 정보를 포함하는 사용자 작동 가능 제어(212) 및 사용자 작동 가능 제어(214)를 포함한다. 예를 들어, 사용자 작동 가능 제어는 검색 서버(152)로부터 수신될 수 있는 디지털 보충물과 연관된 이름(또는 제목), 간단한 설명 및 이미지 중 하나 이상을 디스플레이할 수 있다. 사용자 작동 가능 제어(212) 또는 사용자 작동 가능 제어(214)의 작동시, 연관된 디지털 보충물의 콘텐츠가 사용자에게 제시될 수 있다. 사용자에게 디지털 보충물을 제시하는 것은 클라이언트 컴퓨팅 디바이스(102)로 하여금 디지털 보충물로부터의 이미지, 비디오, 텍스트, 기타 콘텐츠 또는 이들의 조합을 포함하는 사용자 인터페이스 화면을 디스플레이하게 하는 것을 포함할 수 있다. 일부 구현예에서, 디지털 보충물 콘텐츠는 이미지 또는 카메라 피드 위에 이미지 디스플레이 패널(208) 상에 오버레이로서 디스플레이된다. 디지털 보충물 콘텐츠는 3차원 증강 현실 콘텐츠일 수 있다.The digital supplement selection panel 210 allows the user to select a digital supplement to present. For example, the digital supplement selection panel 210 may include a menu containing user-operable controls each associated with a digital supplement. In this example, digital supplement selection panel 210 includes user-operable controls 212 and user-operable controls 214 that each contain information about an associated digital supplement. For example, the user-operable control may display one or more of a name (or title), brief description, and image associated with the digital supplement that may be received from search server 152 . Upon actuation 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 that includes images, video, 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 three-dimensional 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 operating an application (eg, one of the other applications 140 ) installed on the client computing device 102 . Presenting the digital supplement may also include sending a 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 along with the request. Images may be provided through APIs associated with digital supplement server 172 . In some implementations, client computing device 102 transmits the image to digital supplement server 172 . In some implementations, search server 152 may transmit images to digital supplement server 172 . For example, in response to a user selecting a digital supplement, client computing device 102 can send an indicator of the selection to search server 152, which retrieves an image of the corresponding digital supplement. can be sent to the server. Client computing device 102 can also send a URL to a location on search server 152 that digital supplement server 172 can use to access the image. Advantageously, such an implementation can reduce the amount of data that a client computing device must transmit.

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

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

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

디지털 보충물에 대한 데이터는 디지털 보충물에 액세스하기 위해 클라이언트 컴퓨팅 디바이스에 의해 사용 가능한 액세스 데이터를 포함할 수 있다. 예를 들어, 액세스 데이터는 디지털 보충물의 URL과 해당 URL로 전달할 파라미터를 포함할 수 있다. 액세스 데이터는 애플리케이션 식별자 및 애플리케이션에 대한 파라미터를 포함할 수 있다. 디지털 보충물에 대한 데이터는 디지털 보충물에 대한 설명 데이터를 포함할 수 있다. 설명 데이터는 (예를 들어, 사용자가 디지털 보충물을 선택할 수 있는 메뉴에서) 디지털 보충물에 관한 정보를 사용자에게 제시하기 위해 클라이언트 컴퓨팅 디바이스에 의해 사용될 수 있다. 설명 데이터는 예를 들어, 이름(또는 제목, 설명, 퍼블리셔 이름 및 이미지)을 포함할 수 있다. 디지털 보충물에 관한 데이터는 또한 보충물 앵커의 식별자를 포함할 수 있다.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 the URL of the digital supplement and parameters to be passed to that URL. 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 from which the user can select the digital supplement). Description data may include, for example, a name (or title, description, publisher name, and image). Data relating to the digital supplement may also include an identifier of the supplement anchor.

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

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

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

동작 402에서, 네트워크 액세스 가능 리소스가 분석된다. 일부 구현예에서, 네트워크 액세스 가능 리소스는 예를 들어 디지털 보충물 서버(172)에 의해 서비스되는 웹페이지이다. 일부 구현예에서, 네트워크 액세스 가능한 리소스의 세트가 분석된다. 네트워크 액세스 가능한 리소스의 세트는 양식 또는 API를 통한 제출을 기반으로 생성될 수 있다. 일부 구현예에서, 네트워크 액세스 가능 리소스의 세트는 URL을 식별하기 위해 다른 네트워크 액세스 가능 리소스를 크롤링함으로써 생성될 수 있다. 이 크롤링 프로세스는 재귀적으로 수행될 수 있다.At operation 402, network accessible resources are analyzed. In some implementations, the network accessible resource is a webpage served by digital supplement server 172, for example. In some implementations, a set of network accessible resources are analyzed. A set of network accessible resources can be created based on submission via a form or 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 태그일 수 있다.At 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, a network accessible resource may include a tag identifying a portion of the network accessible resource that includes metadata. Tags can be XML tags with specific types or attributes. Tags can be HTML tags, such as script tags that contain a JSON data structure containing metadata.

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

동작 408에서, 시각적 콘텐츠 쿼리가 수신된다. 시각적 콘텐츠 쿼리는 예를 들어 클라이언트 컴퓨팅 디바이스(102)와 같은 클라이언트 컴퓨팅 디바이스에 의해 전송될 수 있다. 일부 구현예에서, 시각적 콘텐츠 쿼리는 이미지를 포함한다. 시각적 콘텐츠 쿼리는 이미지를 설명하는 텍스트 데이터를 포함할 수 있다. 예를 들어, 텍스트 데이터는 클라이언트 컴퓨팅 디바이스의 카메라 어셈블리에 의해 캡처된 이미지 내의 보충물 앵커의 식별자를 포함할 수 있다. 일부 구현예에서, 시각적 콘텐츠 쿼리는 또한 클라이언트 컴퓨팅 디바이스의 위치 또는 클라이언트 컴퓨팅 디바이스와 연관된 사용자 계정의 식별자와 같은 다른 정보를 포함한다.At 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. A visual content query may include textual data describing an image. For example, the text data may include an identifier of a supplemental anchor in an image captured by a 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에서, 다수의 디지털 보충물 데이터 구조 인스턴스가 시각적 콘텐츠 쿼리에 기초하여 식별된다. 일부 구현예에서, 보충물 앵커는 시각적 콘텐츠 쿼리에서 제공된 이미지 내에서 식별된다. 보충물 앵커는 관련 디지털 보충물에 대한 인덱스 또는 데이터베이스를 쿼리하는데 사용될 수 있다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스의 위치 또는 사용자 계정과 연관된 정보와 같이, 쿼리와 함께 제공된 다른 데이터도 디지털 보충물을 식별하는데 사용될 수 있다. 일부 구현예에서, 관련 보충물 앵커를 식별하기 위해 다수의 보충물 앵커가 사용된다.At operation 410, multiple digital supplement data structure instances are identified based on the visual content query. In some implementations, supplemental anchors are identified within images provided in the visual content query. Supplement anchors can be used to query an index or database for related digital supplements. In some implementations, other data provided with the query may also be used to identify the digital supplement, such as the location of the client computing device or information associated with the user account. In some embodiments, multiple supplement anchors are used to identify related supplement anchors.

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

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

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

점수는 결정되거나 데이터 저장소 또는 API로부터 검색될 수 있다. 일부 구현예에서, API는 디지털 보충물에 대한 점수를 검색하기 위해 액세스된다. 예를 들어, 점수는 보충물 앵커에 기초한 검색 용어와 관련하여 디지털 리소스에 대한 관련성 및/또는 인기도를 결정한 검색 엔진으로부터 검색될 수 있다.The score can be determined or retrieved from a data store or API. In some implementations, an 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 supplemental anchor.

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

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

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

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

일부 구현예에서, 시각적 콘텐츠 쿼리를 서버로 전송하는 것은 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 a form (eg, submitting a GET or POST request) using the HTTP protocol.

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

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

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

동작 602에서, 이미지가 캡처된다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)의 카메라 어셈블리(112)에 의해 이미지가 캡처될 수 있다. 일부 구현예에서, 이미지의 시퀀스(즉, 비디오)가 카메라 어셈블리(112)에 의해 캡처될 수 있다.At 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 camera assembly 112 .

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

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

동작 608에서, 다수의 디지털 보충물로부터 디지털 보충물을 선택하기 위한 사용자 작동 가능 제어를 포함하는 사용자 인터페이스 화면이 디스플레이된다. 예를 들어, 디지털 보충물 선택 패널이 디스플레이될 수 있다. 디지털 보충물 선택 패널은 각각이 응답에서 식별된 다수의 디지털 보충물 중 하나와 연관된 다수의 사용자 작동 가능 제어를 포함할 수 있다. 디지털 보충물 선택은 서버 컴퓨팅 디바이스에 의해 제공되는 디지털 보충물의 순서 또는 순위에 기초하여 사용자 작동 가능한 제어를 배열할 수 있다. 디지털 보충물 선택 패널은 사용자 작동 가능 제어를 수직, 수평 또는 기타 방식으로 배열할 수 있다. 사용자 작동 가능 제어는 사용자가 디지털 보충물을 선택할지 여부를 결정할 때 고려할 수 있는 연관 디지털 보충물에 대한 정보와 연관되거나 그러한 정보를 포함할 수 있다. 예를 들어, 디스플레이되는 정보는 디지털 보충물에 대한 이름, 설명, 이미지 및 퍼블리셔 이름 중 하나 이상을 포함할 수 있다.At operation 608, a user interface screen is displayed that includes user-operable controls for selecting a digital supplement from a plurality of digital supplements. For example, a digital supplement selection panel may be displayed. The digital supplement selection panel may include multiple user-operable controls each associated with one of the multiple digital supplements identified in the response. The digital supplement selection may arrange a user-operable control based on an order or ranking of digital supplements provided by the server computing device. The digital supplemental selection panel may arrange the user-operable controls vertically, horizontally or otherwise. The user-operable control may be associated with or include information about an 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에서, 디지털 보충물을 선택하기 위한 사용자 입력이 수신된다. 사용자 입력은 마우스 또는 기타 디바이스를 사용한 클릭일 수 있다. 사용자 입력은 스타일러스 또는 손가락의 터치 입력일 수 있다. 사용자 입력의 또 다른 예는 니어 터치 입력(예를 들어, 화면에 근접한 손가락 또는 포인팅 디바이스 잡기)이다. 일부 구현예에서, 사용자 입력은 또한 손 제스처, 머리 모션, 눈을 사용한 액션 또는 음성 입력을 포함할 수 있다.At step 610, user input for selecting a digital supplement is received. The user input may be a click using a mouse or other device. The user input may be a stylus or 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 can also include hand gestures, head motions, eye actions, or voice input.

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

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

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

동작 614에서, 사용자 인터페이스는 선택된 디지털 보충물에 기초하여 업데이트된다. 동작 614은 동작 506와 유사할 수 있다.At 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. 7A shows a user interface screen 700a. 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 you might find in a store). Image display panel 708 also includes indicator 740 and indicator 742 . Each of these indicators indicates that the wine bottle shown in the image below the indicator has been recognized as a supplement anchor (ie, in this case a recognized product). Indicator 740 and indicator 742 are examples of user-operable controls. Information panel 730 is provided with the instruction "Tap the item of interest."

도 7b에서, 사용자가 표시자(740)를 작동시킨 후에 사용자 인터페이스 화면(700b)이 도시된다. 작동 후, 디지털 보충물로부터의 주석(744)이 디스플레이된다. 주석(744)은 와인의 등급에 관한 정보를 포함하며, 이는 사용자가 구매할 와인을 선택하는데 도움이 될 수 있다.In FIG. 7B , user interface screen 700b is shown after the user activates indicator 740 . After operation, annotations 744 from the digital supplement are displayed. Annotation 744 includes information regarding the grade of the wine, which may assist the user in selecting a 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 activates the indicator 740. User interface screen 700c may be displayed in place of or in addition to user interface screen 700b (e.g., after activating annotation 744 or when the user swipes up from information panel 730 in FIG. 7B). if you do). In FIG. 7C, an expanded information panel 732 is shown. The expanded information panel 732 occupies more of the user interface screen 700c than does the information panel 730 in FIGS. 7A and 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 supplement selection panel 710 includes a user-operable control 712, a user-operable control 714, and a user-operable control 716 (only partially visible). 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. A user-operable control 712 is associated with a digital supplement for meal pairing. Upon actuation of the user-operable control 712, a digital supplement displaying food and meal pairing information for the selected wine may be displayed. A user-operable control 714 is associated with a digital supplement that stores photos. Upon operation, the application that stores the picture is activated so that the image can be presented. Additional information may be stored along with the photo, such as identified replenishment anchors.

디지털 보충물 콘텐츠 디스플레이 패널(734)은 디지털 보충물로부터 콘텐츠를 디스플레이할 수 있다. 디지털 보충물 콘텐츠 디스플레이 패널(734)은 디폴트 디지털 보충물 또는 식별된 보충물 앵커와 연관된 가장 높은 순위의 디지털 보충물을 디스플레이할 수 있다. 이 예에서, 디지털 보충물 콘텐츠 디스플레이 패널(734)은 선택된 보충물 앵커와 연관된 제품에 관한 제품 정보를 포함한다. 이 경우 와인 이름, 등급, 원산지, 이미지, 코멘트가 제공된다.The digital supplement content display panel 734 can 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 supplement content display panel 734 includes product information pertaining to a product associated with the selected supplement anchor. In this case, the wine name, grade, country of origin, image and comments 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 searches and displaying digital supplements. In this example, the visual content search 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, the image display panel 808 is displaying an image of the restaurant's receipt. Image display panel 808 also includes indicator 840 , indicator 842 , annotation 844 and highlight overlay 846 . In this case, indicator 840 is associated with the receipt as a document, and indicator 842 is associated with the particular restaurant named on the receipt. The identified receipt document and the identified restaurant name are both examples of supplemental anchors.

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

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

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

도 8c에서, 사용자가 사용자-작동 가능 컨트롤(816)을 작동시킨 후에 사용자 인터페이스 화면(800c)이 도시된다. 작동 후, 사용자가 영수증을 비용 보고서에 저장하는 데 도움이 되는 아이템을 포함하는 확장된 정보 패널(834)이 표시된다. 예를 들어, 사용자는 영수증과 연관되어야 하는 비용 보고서를 선택할 수 있다(예: "Sydney trip 2018"). 비용 보고서가 선택되면 영수증 이미지가 비용 보고서 제출 또는 관리 시스템에 업로드될 수 있다. 일부 구현예에서, 이미지 디스플레이 패널(808)에 표시된 전체 이미지가 업로드된다. 일부 구현예에서, 이미지의 일부가 업로드된다(예를 들어, 영수증만 포함하도록 이미지가 잘림).In FIG. 8C , user interface screen 800c is shown after the user actuates user-activatable control 816 . After activation, an expanded information panel 834 is displayed that includes items to help the user save the receipt to the expense report. For example, a user can select an expense report that should be associated with a receipt (e.g. "Sydney trip 2018"). When 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 image display panel 808 is uploaded. In some implementations, a portion of the image is uploaded (eg, the image is cropped 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. Visual content search in this example is based on face images.

도 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 supplemental anchor. Information panel 930 includes user-operable controls 912 for digital supplements that have been identified for supplemental anchors in an image (ie, face). A user-operable control 912 is associated with a digital supplement for strapping eyeglasses.

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

도 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, visual content retrieval is based on furniture images in a 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, the image display panel 1008 is displaying an image of a portion of a page of a furniture catalog. The image display panel also includes indicator 1040 , indicator 1042 and 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 catalogs are examples of supplementary anchors.

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

디지털 보충물 선택 패널(1010)은 사용자 작동 가능 제어(1012) 및 사용자 작동 가능 제어(1014)를 포함한다. 사용자 작동 가능 제어(1012)는 가정 내 뷰를 제공하는 디지털 보충물과 연관된다. 사용자 작동 가능 제어(1014)은 다른 디지털 보충물(예를 들어, 소셜 미디어 사이트에 게시하기 위한 디지털 보충물)과 연관된다.The digital supplement selection panel 1010 includes a user-operable control 1012 and a user-operable control 1014 . A user-operable control 1012 is associated with a digital supplement that provides an in-home view. 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 , user interface screen 1000c is shown after actuation of 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, when actuated, may cause the information panel to pop up and be displayed.

여기서, 이미지 디스플레이 패널(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 the bed associated with indicator 1040 overlaid on an image panel. The user may adjust the position of the AR content 1060 within the room to see how the bed fits into the room. In some implementations, when a digital supplement for an 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 after a visual content query.

도 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, visual content retrieval 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, the image display panel 1108 is displaying images captured within the store. The image display panel 1108 also includes an indicator 1140 associated with the vase. A vase displayed on the image display panel 1108 is an example of a replenishment anchor. The information panel 1130 displays product information about the vase and digital supplements including a vase purchasing function. For example, a digital supplement may include a workflow that initiates the purchase of a vase. The digital supplement in this example is such that if the client computing device is within the store, the digital supplement published by (or associated with) the store from which the image was captured is identified and presented as a high ranking result to a visual content query and client Identified based on the location of the computing device. In some implementations, another digital supplement is provided for the same image if the location of the client computing device has changed.

도 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, the image display panel 1108 is displaying other images captured within the store. The image display panel 1108 also includes an indicator 1142 associated with the lug. A lug displayed on the image display panel 1108 is an example of a supplemental anchor. The information panel 1130 displays product information about the rug and a digital supplement including the ability to select a size and purchase the 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, the image display panel 1108 is displaying other images captured within the store. The image display panel 1108 also includes an indicator 1144 associated with the vase. A vase displayed on the image display panel 1108 is an example of a replenishment anchor. Information panel 1130 displays a digital supplement containing product information about the vase. The information panel 1130 also includes a coupon indicator 1132 and functionality to use coupons. Redeeming the coupon may include purchasing an item at a discounted price on a website associated with the store. In some implementations, a coupon code is provided that can be used to secure a discount 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 a client computing device 102 during a visual content search. In this example, the visual content search is based on an image of a movie poster (eg, 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, the 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. A movie poster is an example of a supplementary anchor. Indicator 1240 may include a user-operable control that, when actuated, will display the digital supplement or a menu for selecting a digital supplement.

도 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 can be displayed after actuation of indicator 1240 (FIG. 12A) indicator 1240. The preview digital supplement 1242 can overlay an image or video from a 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. Image display panel 1208 also includes rating indicator 1244 and 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 including a movie poster. A digital supplement may, for example, overlay rating information for a movie associated with a movie poster on an image. Rating indicator 1244 and rating indicator 1246 may include user-operable controls that, when activated, cause the rating and additional information about the 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 with the techniques described herein (eg, to implement client computing device 102, search server 152, and digital supplement server 172) and An example mobile computer device 1350 is shown. Computing device 1300 includes processor 1302, memory 1304, storage device 1306, high-speed interface 1308 coupled to memory 1304 and high-speed expansion port 1310 and low-speed bus 1314 and storage device and a low-speed interface 1312 coupled to 1306. Each of the components 1302, 1304, 1306, 1308, 1310 and 1312 are interconnected using various buses and may be mounted on a common motherboard or in other ways suitable. Processor 1302 processes instructions for execution within computing device 1300, including instructions stored in memory 1304 or storage device 1306, such as display 1316 coupled to high-speed interface 1308. Graphical information for the GUI can be displayed on an external input/output device. In another implementation, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Additionally, multiple computing devices 1300 may be coupled with each device providing portions of the necessary 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. Memory 1304 may also 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 mass storage for computing device 1300 . In one implementation, the storage device 1306 is a device comprising 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 of devices. It can be or include a computer readable medium, such as an array. A computer program product may be tangibly embodied in an information carrier. The computer program product may also include instructions that, when executed, perform one or more methods as described above. An 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, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 예를 들어 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.High speed controller 1308 manages bandwidth intensive operations for computing device 1300 , while low speed controller 1312 manages low bandwidth intensive operations. The assignment of these functions is exemplary only. In one implementation, high-speed controller 1308 includes memory 1304, display 1316 (eg, via a graphics processor or accelerator), and a high-speed expansion port (not shown) that can accommodate various expansion cards (not shown). 1310) is connected to. In an implementation, low speed controller 1312 is coupled to storage device 1306 and low speed expansion port 1314 . A low-speed expansion port, which may include various communication ports (eg, USB, Bluetooth, Ethernet, wireless Ethernet), is one or more input/output devices such as keyboards, pointing devices, scanners, or via a network adapter, for example, a switch or It may be coupled to a networking device such as a router.

컴퓨팅 디바이스(1300)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 그것은 표준 서버(1320)로서 또는 그러한 서버들의 그룹에서 다수로 구현될 수 있다. 또한, 랙 서버 시스템(1324)의 일부로서 구현될 수 있다. 또한, 랩톱 컴퓨터(1322)와 같은 퍼스널 컴퓨터에서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(1300)로부터의 컴포넌트들은 디바이스(1350)와 같은 모바일 디바이스(도시되지 않음) 내의 다른 컴포넌트들과 결합될 수 있다. 상기 디바이스들 각각은 컴퓨팅 디바이스(1300, 1350) 중 하나 이상을 포함할 수 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들(1300, 1350)로 구성될 수 있다.Computing device 1300 may 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 multiple in a group of such servers. It can 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 in a mobile device (not shown), such as device 1350 . Each of the devices may include one or more of computing devices 1300 and 1350, and the entire system may be composed of multiple 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 processor 1352 , memory 1364 , input/output devices such as display 1354 , communication interface 1366 and transceiver 1368 , among other components. Device 1350 may also be provided with a storage device such as a microdrive or other device to provide additional storage. Each of 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 other ways suitable.

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

프로세서(1352)는 제어 인터페이스(1358) 및 디스플레이(1354)에 연결된 디스플레이 인터페이스(1356)를 통해 사용자와 통신할 수 있다. 디스플레이(1354)는 예를 들어, TFT LCD(박막 트랜지스터 액정 디스플레이) 및 LCD(발광 다이오드) 또는 OLED(유기 발광 다이오드) 디스플레이 또는 다른 적절한 디스플레이 기술을 포함할 수 있다. 디스플레이 인터페이스(1356)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(1354)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(1358)는 사용자로부터 명령을 수신하고, 프로세서(1352)에 제출하기 위해 그들을 변환할 수 있다. 추가로, 외부 인터페이스(1362)는 프로세서(1352)와의 통신에 제공되어 다른 디바이스들과 디바이스(1350)의 근거리 통신을 가능하게 할 수 있다. 외부 인터페이스(1362)는 예를 들면, 일부 구현예들에서는 유선 통신을 위해 또는 다른 구현예들에서는 무선 통신을 위해 제공될 수 있고, 다수의 인터페이스들도 사용될 수 있다.Processor 1352 can communicate with a user through control interface 1358 and display interface 1356 coupled to display 1354 . Display 1354 may include, for example, TFT LCD (Thin Film Transistor Liquid Crystal Display) and LCD (Light Emitting Diode) or OLED (Organic Light Emitting Diode) displays or other suitable display technologies. Display interface 1356 may include suitable circuitry for driving display 1354 to present graphics and other information to a user. Control interface 1358 may receive commands from a user and transform them for submission to processor 1352 . Additionally, external interface 1362 can be provided for communication with processor 1352 to enable short-range communication of device 1350 with other devices. External interface 1362 can be provided, for example, for wired communication in some implementations or for wireless communication in other implementations, and multiple interfaces can also 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 . Memory 1364 may be implemented as one or more of a computer readable medium or media, a volatile memory unit or units, and a non-volatile memory unit or units. Expansion memory 1374 may also be provided and connected to device 1350 via expansion interface 1372, which may include, for example, a single in line memory module (SIMM) card interface. The expansion memory 1374 may provide additional storage space for device 1350 or may store applications or other information about device 1350 . In particular, expansion memory 1374 may include instructions that perform or supplement the processes described above, and may also include secure information. Thus, for example, expansion memory 1374 can be provided as a secure module for device 1350 and can be programmed with instructions that allow secure use of device 1350 . Additionally, secure applications may be provided with additional information via the SIMM cards, such as placing identification information on the SIMM card in an unhackable 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, a computer program product is tangibly embodied in an information carrier. The computer program product also includes instructions that, when executed, perform one or more methods as described above. An information carrier is a computer or machine readable medium, such as memory 1364, expansion memory 1374, or memory on processor 1352, for example, that can 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 via communication interface 1366, which may include digital signal processing circuitry as needed. Communications interface 1366 may provide 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 occur via radio frequency transceiver 1368, for example. Additionally, short-range communications may occur, such as using Bluetooth, Wi-Fi or other transceivers (not shown). Additionally, Global Positioning System (GPS) receiver module 1370 may provide additional navigation and location related radio data to device 1350 that may be used as appropriate by applications running on device 1350 .

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

컴퓨팅 디바이스(1350)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들면, 그것은 셀룰러 전화(1380)로서 구현될 수 있다. 또한 스마트폰(1382), 개인 휴대 정보 단말기(PDA), 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.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 telephone 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 circuitry, integrated circuitry, specially designed application specific integrated circuits (ASICs), computer hardware, firmware, software, and/or combinations thereof. . These various implementations may include implementation in one or more computer programs executable and/or interpretable on a programmable system including at least one programmable processor, which may be special purpose or general purpose, and may include a storage system , can be coupled to receive data and instructions from and transmit data and instructions to the at least one input device and the at least one output device.

이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그래머블 프로세서에 대한 기계 명령어들을 포함하며, 하이레벨 절차어 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계어에서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 물, 장치 및/또는 디바이스 예를 들어, 자기 디스크, 광학 디스크, 메모리, 프로그래머블 로직 디바이스(PLD)를 지칭한다. 용어 “기계 판독가능 신호”는 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.These computer programs (also known as programs, software, software applications or code) contain machine instructions for a programmable processor and may be implemented in high-level procedural language and/or object oriented programming language and/or assembly/machine language. . As used herein, the terms "machine readable medium", "computer readable medium" include machine readable medium that receives machine instructions as a machine readable signal, such that machine instructions and/or data are programmable. Refers to any computer program product, apparatus and/or device used to provide to a processor, eg magnetic disks, optical disks, memory, programmable logic devices (PLDs). 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) 모니터/스크린) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.To provide interaction with a user, the systems and techniques described herein may use a display device (a light-emitting diode (LED), or organic LED (OLED) or liquid crystal display (LCD) to display information to a user). ) monitor/screen) and a keyboard and pointing device through which the user can provide input to the computer, such as a mouse or trackball. Other types of devices may also be used to provide interaction with the user. 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 input from the user may be received in any form including acoustic, audio, or tactile input. can

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

컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.A computing system can include users and servers. Users and servers are generally remote from each other and typically interact through a communication network. The relationship between user and server arises by means of computer programs running on the respective computers 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 can include sensors that interface with the AR headset/HMD device 1390 to create an augmented environment for viewing content embedded within a physical space. For example, one or more sensors included in computing device 1350 or other computing devices shown in FIG. 13 may provide input to AR headset 1390 or to the AR space in general. Sensors may include, but are not limited to, touch screens, accelerometers, gyroscopes, pressure sensors, biometric sensors, temperature sensors, humidity sensors, and ambient light sensors. Computing device 1350 can use sensors to determine a detected rotation and/or an absolute position of the computing device within AR space, which can be used as an 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, laser pointer, keyboard, weapon, and the like. The positioning of the computing device/virtual object by the user when integrated into the AR space causes the user to position the computing device to view the virtual object in a particular way in the AR space. For example, if the virtual object represents a laser pointer, the user may operate the computing device as if it were a real laser pointer. The user can move the computing device left and right, up and down, in a circle, etc., and can use the device in a similar way 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 in or coupled to computing device 1350 may be used as input to the AR space. Input devices include a touch screen, keyboard, one or more buttons, trackpad, touchpad, pointing device, mouse, trackball, joystick, camera, microphone, earphone or bud with input, game controller, or other connectable input device. You can, and now you are not limited. When the computing device is incorporated into the AR space, a user interacting with an input device included in computing device 1350 can cause certain actions to occur in the AR space.

일부 구현예에서, 컴퓨팅 디바이스(1350)의 터치 스크린은 AR 공간에서 터치 패드로서 렌더링될 수 있다. 사용자는 컴퓨팅 디바이스(1350)의 터치 스크린과 인터렉션할 수 있다. 인터렉션들은 예를 들어 AR 헤드셋(1390)에서 AR 공간에서 렌더링된 터치 패드상의 움직임에 따라 렌더링된다. 렌더링된 움직임은 AR 공간에서 가상 오브젝트들을 제어할 수 있다.In some implementations, the touch screen of computing device 1350 can be rendered as a touch pad in AR space. A user may interact with the touch screen of computing device 1350 . Interactions are rendered according to movement on the touchpad rendered in AR space, for example in the AR headset 1390. The rendered movement 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 can provide output and/or feedback to a user of AR headset 1390 in AR space. Output and feedback can be visual, tactile or audible. Outputs and/or feedbacks may include, but are not limited to, vibrating, turning one or more lights or strobes on or off or blinking and/or flashing, sounding an alarm, striking a chime, playing a song, playing an audio file, and the like. Output devices may include, but are not limited to, vibration motors, vibrating coils, piezoelectric devices, electrostatic devices, light emitting diodes (LEDs), strobes and speakers.

일부 구현예에서, 컴퓨팅 디바이스(1350)는 컴퓨터 생성 3D 환경에서 다른 오브젝트로서 표시될 수 있다. 사용자에 의한 컴퓨팅 디바이스(1350)와의 인터렉션들(예를 들어, 회전, 흔들기, 터치스크린 터치, 터치 스크린을 가로지르는 손가락 스와이핑)은 AR 공간에서 오브젝트와의 인터렉션들로서 해석될 수 있다. AR 공간 내의 레이저 포인터의 예에서, 컴퓨팅 디바이스(1350)는 컴퓨터 생성 3D 환경에서 가상 레이저 포인터로 보여진다. 사용자가 컴퓨팅 디바이스(1350)를 조작함에 따라, AR 공간에서의 사용자는 레이저 포인터의 움직임을 보게된다. 사용자는 컴퓨팅 디바이스(1350)상의 AR 환경 또는 AR 헤드셋(1390)상의 컴퓨팅 디바이스(1350)와의 인터렉션들로부터 피드백을 수신한다. 컴퓨팅 디바이스와 사용자의 인터렉션은 제어가능한 디바이스에 대한 AR 환경에서 생성된 사용자 인터페이스와의 인터렉션으로 변환될 수 있다.In some implementations, computing device 1350 can be represented as another object in a computer-generated 3D environment. Interactions by a user with computing device 1350 (eg, rotation, shaking, touching a touchscreen, swiping a finger across a touchscreen) may be interpreted as interactions with an object 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 interactions with the AR environment on computing device 1350 or with computing device 1350 on AR headset 1390 . A user's interaction with the computing device may be converted into an interaction with a user interface generated in the AR environment for the controllable device.

일부 구현예에서, 컴퓨팅 디바이스(1350)는 터치스크린을 포함할 수 있다. 예를 들어, 사용자는 제어가능한 디바이스에 대한 사용자 인터페이스와 인터렉션하기 위해 터치스크린과 인터렉션할 수 있다. 예를 들어, 터치스크린은 제어가능한 디바이스의 속성을 제어할 수 있는 슬라이더와 같은 사용자 인터페이스 요소를 포함할 수 있다.In some implementations, computing device 1350 can include a touchscreen. For example, a user may interact with a touchscreen to interact with a user interface for a controllable device. For example, a touchscreen can include user interface elements such as sliders that can control properties of a 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 depicted herein, their connections and relationships, and their function are meant to be illustrative only and are not meant to limit implementations 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 depicted in the figures do not necessarily require a specific depicted order, or chronological order, to achieve 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 within the scope of the following claims.

기술된 구현예의 특정 구성들이 본 명세서에 기술된 바와 같이 설명되었지만, 많은 수정, 대체, 변경 및 균등물이 통상의 기술자로 인해 발생할 것이다. 그러므로, 첨부된 청구범위는 구현의 범위 내에 있는 그러한 모든 수정 및 변경을 포함하도록 의도된 것으로 이해되어야 한다. 이들 실시예는 제한적인 것이 아닌 예시일 뿐이며, 형태 및 세부사항의 다양한 변경이 이루어질 수 있음이 이해되어야 한다. 본 명세서에 기술된 장치 및/또는 방법의 임의의 부분은 상호 배타적인 조합을 제외하고는 임의의 조합으로 결합될 수 있다. 본 명세서에 기술된 구현예들은 기재된 다른 구현예들의 기능, 컴포넌트 및/또는 구성들의 다양한 조합 및/또는 서브 조합을 포함할 수 있다.Although specific configurations of the described implementations 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 the implementation. It should be understood that these embodiments are illustrative only and not restrictive, and that various changes in form and detail may be made. Any part of the devices and/or methods described herein may be combined in any combination, except for mutually exclusive combinations. Implementations described herein may include various combinations and/or subcombinations of functions, components and/or configurations of the other implementations described.

Claims (25)

컴퓨터로 구현되는 방법으로서,
클라이언트 컴퓨팅 디바이스에 의해, 시각적 콘텐츠 쿼리를 서버 컴퓨팅 디바이스에 전송하는 단계;
상기 클라이언트 컴퓨팅 디바이스에 의해, 디지털 보충물 및 디지털 보충물 서버를 식별하는 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계;
상기 클라이언트 컴퓨팅 디바이스에 의해, 상기 시각적 콘텐츠 쿼리가 상기 디지털 보충물 서버에 전송되게 하는 단계; 및
상기 클라이언트 컴퓨팅 디바이스에 의해, 상기 디지털 보충물과 연관된 정보를 포함하는 사용자 인터페이스가 디스플레이되게 하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
As a computer-implemented method,
sending, by the client computing device, a visual content query to a server computing device;
receiving, by the client computing device, a response to the visual content query that identifies a digital supplement and a digital supplement server;
causing, by the client computing device, the visual content query to be transmitted to the digital supplement server; and
causing, by the client computing device, a user interface including information associated with the digital supplement to be displayed.
청구항 1에 있어서, 상기 시각적 콘텐츠 쿼리를 전송하는 단계는 상기 서버 컴퓨팅 디바이스에 이미지를 전송하는 것을 포함하는, 컴퓨터로 구현되는 방법.The method of claim 1 , wherein sending the visual content query comprises sending an image to the server computing device. 청구항 1에 있어서, 상기 시각적 콘텐츠 쿼리를 전송하는 단계는 상기 서버 컴퓨팅 디바이스에 이미지 내의 엔터티의 식별자를 전송하는 것을 포함하는, 컴퓨터로 구현되는 방법.The method of claim 1 , wherein sending the visual content query comprises sending an identifier of an entity in an image to the server computing device. 청구항 1에 있어서, 상기 서버 컴퓨팅 디바이스에 컨텍스트 정보를 전송하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.The method of claim 1 , further comprising sending context information to the server computing device. 청구항 4에 있어서,
상기 컨텍스트 정보는 위치를 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 4,
Wherein the context information comprises a location.
청구항 1에 있어서, 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계는 상기 디지털 보충물과 연관된 URL을 수신하는 것을 포함하는, 컴퓨터로 구현되는 방법.The method of claim 1 , wherein receiving a response to the visual content query comprises receiving a URL associated with the digital supplement. 청구항 1에 있어서, 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계는 상기 디지털 보충물과 연관된 애플리케이션의 식별자를 수신하는 것을 포함하는, 컴퓨터로 구현되는 방법.The method of claim 1 , wherein receiving a response to the visual content query comprises receiving an identifier of an application associated with the digital supplement. 청구항 1에 있어서, 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계는 상기 디지털 보충물과 연관된 이름, 설명 및 이미지를 수신하는 것을 포함하는, 컴퓨터로 구현되는 방법.The computer implemented method of claim 1 , wherein receiving a response to the visual content query comprises receiving a name, description and image associated with the digital supplement. 청구항 1에 있어서, 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계는 상기 디지털 보충물을 포함하는, 디지털 보충물의 목록을 수신하는 것을 포함하는, 컴퓨터로 구현되는 방법.The computer-implemented method of claim 1 , wherein receiving a response to the visual content query comprises receiving a list of digital supplements comprising the digital supplements. 청구항 9에 있어서, 상기 사용자 인터페이스는 상기 디지털 보충물의 목록으로부터 다수의 디지털 보충물에 관한 정보를 포함하는, 컴퓨터로 구현되는 방법.10. The method of claim 9, wherein the user interface includes information about a number of digital supplements from the list of digital supplements. 청구항 10에 있어서,
상기 디지털 보충물과 연관된 애플리케이션이 설치되었는지 여부에 기초하여 상기 디지털 보충물의 목록에 대한 정렬을 결정하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 10,
determining an ordering for the list of digital supplements based on whether an application associated with the digital supplement is installed.
청구항 1에 있어서,
이미지를 캡처하는 단계를 더 포함하고,
상기 시각적 콘텐츠 쿼리는 상기 이미지에 기초하는, 컴퓨터로 구현되는 방법.
The method of claim 1,
further comprising the step of capturing an image;
wherein the visual content query is based on the image.
컴퓨팅 디바이스에 있어서,
적어도 하나의 프로세서; 및
명령어를 저장하는 메모리를 포함하며, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금:
이미지를 캡처하게 하고;
상기 이미지에 기초한 시각적 콘텐츠 쿼리를 서버 컴퓨팅 디바이스에 전송하게 하고;
디지털 보충물을 식별하는 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하게 하고, 상기 디지털 보충물은 상기 이미지에 기초하여 사이징되고 포지셔닝된 증강 현실 콘텐츠를 포함하며; 그리고
상기 디지털 보충물과 연관된 정보를 포함하는 사용자 인터페이스가 디스플레이되게 하는, 컴퓨팅 디바이스.
In the computing device,
at least one processor; and
a memory storing instructions, which instructions, when executed by the at least one processor, cause the computing device to:
to capture an image;
send a visual content query based on the image to a server computing device;
receive a response to the visual content query that identifies a digital supplement, the digital supplement comprising augmented reality content that is sized and positioned based on the image; And
A computing device that causes a user interface to be displayed that includes information associated with the digital supplement.
청구항 13에 있어서,
상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하게 하는 것은 상기 디지털 보충물을 포함하는 디지털 보충물의 정렬된 목록을 수신하는 것을 포함하는, 컴퓨팅 디바이스.
The method of claim 13,
Wherein receiving a response to the visual content query comprises receiving an ordered list of digital supplements including the digital supplement.
청구항 14에 있어서,
상기 사용자 인터페이스는 상기 정렬된 목록 중 복수의 디지털 보충물과 연관된 사용자 작동 가능 제어를 포함하는 디지털 보충물 선택 패널을 포함하는, 컴퓨팅 디바이스.
The method of claim 14,
wherein the user interface includes a digital supplement selection panel including user-operable controls associated with a plurality of digital supplements in the ordered list.
청구항 15에 있어서,
상기 사용자 작동 가능 제어는 상기 정렬된 목록에 의해 제공된 순서에 기초하여 상기 디지털 보충물 선택 패널 상에 정렬되는, 컴퓨팅 디바이스.
The method of claim 15
wherein the user-operable controls are ordered on the digital supplement selection panel based on an order provided by the sorted list.
청구항 13에 있어서,
상기 디지털 보충물은 디지털 보충물 서버와 연관되며, 상기 명령어는 상기 컴퓨팅 디바이스로 하여금:
정보를 상기 디지털 보충물 서버에 전송하게 하고; 그리고
상기 디지털 보충물 서버로부터 디지털 보충물 콘텐츠를 수신하게 하고, 상기 디지털 보충물 콘텐츠는 상기 전송된 정보에 기초하는, 컴퓨팅 디바이스.
The method of claim 13,
The digital supplement is associated with a digital supplement server, and the instructions cause the computing device to:
transmit information to the digital supplement server; And
and receive digital supplement content from the digital supplement server, the digital supplement content based on the transmitted information.
청구항 17에 있어서, 상기 전송된 정보는 컨텍스트 정보를 포함하는, 컴퓨팅 디바이스.18. The computing device of claim 17, wherein the transmitted information includes context information. 컴퓨터로 구현되는 방법으로서,
클라이언트 컴퓨팅 디바이스에 의해, 이미지를 캡처하는 단계;
상기 클라이언트 컴퓨팅 디바이스에 의해, 상기 이미지에 기초하여 시각적 콘텐츠 쿼리르 검색 서버에 전송하는 단계;
상기 클라이언트 컴퓨팅 디바이스에 의해, 디지털 보충물 서버를 식별하는 상기 시각적 콘텐츠 쿼리에 대한 응답을 수신하는 단계;
상기 클라이언트 컴퓨팅 디바이스에 의해, 상기 이미지가 상기 디지털 보충물 서버에 전송되게 하는 단계;
상기 클라이언트 컴퓨팅 디바이스에 의해, 상기 디지털 보충물 서버로부터 디지털 보충물 콘텐츠를 수신하는 단계; 및
상기 클라이언트 컴퓨팅 디바이스에 의해, 상기 디지털 보충물 콘텐츠가 디스플레이되게 하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
As a computer-implemented method,
capturing, by the client computing device, an image;
sending, by the client computing device, a visual content query based on the image to a search server;
receiving, by the client computing device, a response to the visual content query that identifies a digital supplement server;
causing, by the client computing device, the image to be transmitted to the digital supplement server;
receiving, by the client computing device, digital supplement content from the digital supplement server; and
causing the digital supplement content to be displayed by the client computing device.
청구항 19에 있어서,
상기 시각적 콘텐츠 쿼리는 상기 이미지를 포함하며, 상기 이미지가 상기 디지털 보충물 서버에 전송되게 하는 단계는 상기 이미지를 상기 디지털 보충물 서버에 제공하기 위한 명령어를 상기 검색 서버에 전송하는 것을 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 19
wherein the visual content query includes the image, and causing the image to be transmitted to the digital supplement server comprises sending instructions to the search server to provide the image to the digital supplement server. How it is implemented with .
청구항 19에 있어서,
상기 이미지가 상기 디지털 보충물 서버에 전송되게 하는 단계는 상기 이미지를 상기 디지털 보충물 서버에 전송하는 것을 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 19
wherein causing the image to be transmitted to the digital supplement server comprises transmitting the image to the digital supplement server.
청구항 19에 있어서,
상기 디지털 보충물은 상기 이미지에 기초하여 사이징되고 포지셔닝된 증강 현실 콘텐츠를 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 19
wherein the digital supplement comprises augmented reality content that is sized and positioned based on the image.
컴퓨팅 디바이스로서,
적어도 하나의 프로세서; 및
명령어를 저장하는 메모리를 포함하며, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 청구항 1 내지 12 또는 19 내지 22 중 어느 한 항의 방법을 수행하게 하는, 컴퓨팅 디바이스.
As a computing device,
at least one processor; and
A computing device comprising a memory that stores instructions, the instructions, when executed by the at least one processor, causing the computing device to perform the method of any one of claims 1-12 or 19-22.
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램을 명령어를 포함하며, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 청구항 1 내지 12 또는 19 내지 22 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 프로그램.A computer program stored on a computer-readable storage medium, the computer program comprising instructions, which, when executed by one or more processors, cause the one or more processors to perform the method of any one of claims 1 to 12 or 19 to 22. A computer program that makes it happen. 명령어를 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 청구항 1 내지 12 또는 19 내지 22 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.A computer-readable storage medium containing instructions, which 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 19-22. media.
KR1020227044320A 2018-06-21 2019-06-21 Digital supplement association and retrieval for visual search KR20230003388A (en)

Applications Claiming Priority (6)

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
KR1020207031107A KR20200136030A (en) 2018-06-21 2019-06-21 Digital replenishment association and search for visual search
PCT/US2019/036542 WO2019245801A1 (en) 2018-06-21 2019-06-21 Digital supplement association and retrieval for visual search

Related Parent Applications (1)

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

Publications (1)

Publication Number Publication Date
KR20230003388A true KR20230003388A (en) 2023-01-05

Family

ID=68983041

Family Applications (2)

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

Family Applications Before (1)

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

Country Status (5)

Country Link
EP (1) EP3811238A1 (en)
JP (2) JP7393361B2 (en)
KR (2) KR20200136030A (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
EP2783304B1 (en) * 2011-11-24 2017-12-20 Microsoft Technology Licensing, LLC 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
WO2019245801A1 (en) 2019-12-26
JP2022110057A (en) 2022-07-28
EP3811238A1 (en) 2021-04-28
JP2021522614A (en) 2021-08-30
JP7393361B2 (en) 2023-12-06
CN112020712A (en) 2020-12-01
KR20200136030A (en) 2020-12-04

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
US9870633B2 (en) Automated highlighting of identified text
JP6220452B2 (en) Object-based context menu control
US10540378B1 (en) Visual search suggestions
JP6502923B2 (en) Recognition interface for computing devices
US9760541B2 (en) Systems and methods for delivery techniques of contextualized services on mobile devices
US9594540B1 (en) Techniques for providing item information by expanding item facets
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
CN107077193A (en) Navigated digital content by inclination attitude
WO2016167930A1 (en) Device dependent search experience
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
A107 Divisional application of patent
E902 Notification of reason for refusal
E90F Notification of reason for final refusal